From e9a5a7f918c0f9c4a9f1224d25a6d55147953225 Mon Sep 17 00:00:00 2001 From: test262-automation <40212386+test262-automation@users.noreply.github.com> Date: Tue, 3 Jul 2018 15:59:58 -0400 Subject: [PATCH] [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) (#1620) * [javascriptcore-test262-automation] changes from git@github.com:WebKit/webkit.git at sha 949e26452cfa153a7f4afe593da97e2fe9e1b706 on Tue Jul 03 2018 14:35:15 GMT-0400 (Eastern Daylight Time) --- .../curation_logs/javascriptcore.json | 8 +- .../arrowfunction-expression.js | 63 + .../controlFlowProfiler/brace-location.js | 159 + .../conditional-expression.js | 44 + .../controlFlowProfiler/driver/driver.js | 16 + .../controlFlowProfiler/execution-count.js | 72 + .../controlFlowProfiler/if-statement.js | 58 + .../controlFlowProfiler/loop-statements.js | 78 + .../controlFlowProfiler/switch-statements.js | 30 + .../controlFlowProfiler/test-jit.js | 48 + ...type_methods_Array.prototype.copyWithin.js | 9 + ...ototype_methods_Array.prototype.entries.js | 9 + ....prototype_methods_Array.prototype.fill.js | 9 + ....prototype_methods_Array.prototype.find.js | 9 + ...otype_methods_Array.prototype.findIndex.js | 9 + ....prototype_methods_Array.prototype.keys.js | 9 + ...rototype_methods_Array.prototype.values.js | 9 + ...ethods_Array.prototype[Symbol.iterator].js | 9 + ...ods_Array.prototype[Symbol.unscopables].js | 17 + ..._methods_Array_iterator_prototype_chain.js | 19 + .../es6/Array_is_subclassable_Array.from.js | 10 + ...y_is_subclassable_Array.isArray_support.js | 10 + .../es6/Array_is_subclassable_Array.of.js | 10 + ..._is_subclassable_Array.prototype.concat.js | 11 + ..._is_subclassable_Array.prototype.filter.js | 11 + ...ray_is_subclassable_Array.prototype.map.js | 11 + ...y_is_subclassable_Array.prototype.slice.js | 12 + ..._is_subclassable_Array.prototype.splice.js | 12 + ...is_subclassable_correct_prototype_chain.js | 11 + ..._subclassable_length_property_accessing.js | 14 + ...is_subclassable_length_property_setting.js | 13 + ...c_methods_Array.from_array-like_objects.js | 9 + ..._methods_Array.from_generator_instances.js | 10 + ...ic_methods_Array.from_generic_iterables.js | 30 + ...ray.from_instances_of_generic_iterables.js | 30 + ...tic_methods_Array.from_iterator_closing.js | 36 + ...ay.from_map_function_array-like_objects.js | 11 + ...y.from_map_function_generator_instances.js | 12 + ...ray.from_map_function_generic_iterables.js | 32 + ...rom_map_function_instances_of_iterables.js | 32 + .../es6/Array_static_methods_Array.of.js | 10 + ...ay_static_methods_Array[Symbol.species].js | 10 + ...s_subclassable_Function.prototype.apply.js | 11 + ...is_subclassable_Function.prototype.bind.js | 11 + ...is_subclassable_Function.prototype.call.js | 11 + .../Function_is_subclassable_can_be_called.js | 11 + ...on_is_subclassable_can_be_used_with_new.js | 12 + ...is_subclassable_correct_prototype_chain.js | 11 + .../javascriptcore/es6/HTML-style_comments.js | 11 + .../es6/Map_-0_key_converts_to_+0.js | 15 + .../es6/Map_Map.prototype.clear.js | 9 + .../es6/Map_Map.prototype.delete.js | 9 + .../es6/Map_Map.prototype.entries.js | 9 + .../es6/Map_Map.prototype.forEach.js | 9 + .../es6/Map_Map.prototype.keys.js | 9 + .../es6/Map_Map.prototype.set_returns_this.js | 10 + .../es6/Map_Map.prototype.size.js | 14 + .../es6/Map_Map.prototype.values.js | 9 + .../es6/Map_Map.prototype[Symbol.iterator].js | 9 + .../es6/Map_Map[Symbol.species].js | 10 + .../es6/Map_Map_iterator_prototype_chain.js | 19 + .../es6/Map_basic_functionality.js | 14 + .../es6/Map_constructor_accepts_null.js | 10 + .../es6/Map_constructor_arguments.js | 14 + .../es6/Map_constructor_invokes_set.js | 19 + .../es6/Map_constructor_requires_new.js | 15 + .../es6/Map_iterator_closing.js | 36 + .../es6/Math_methods_Math.acosh.js | 9 + .../es6/Math_methods_Math.asinh.js | 9 + .../es6/Math_methods_Math.atanh.js | 9 + .../es6/Math_methods_Math.cbrt.js | 9 + .../es6/Math_methods_Math.clz32.js | 9 + .../es6/Math_methods_Math.cosh.js | 9 + .../es6/Math_methods_Math.expm1.js | 9 + .../es6/Math_methods_Math.fround.js | 9 + .../es6/Math_methods_Math.hypot.js | 12 + .../es6/Math_methods_Math.imul.js | 9 + .../es6/Math_methods_Math.log10.js | 9 + .../es6/Math_methods_Math.log1p.js | 9 + .../es6/Math_methods_Math.log2.js | 9 + .../es6/Math_methods_Math.sign.js | 9 + .../es6/Math_methods_Math.sinh.js | 9 + .../es6/Math_methods_Math.tanh.js | 9 + .../es6/Math_methods_Math.trunc.js | 9 + .../es6/Number_properties_Number.EPSILON.js | 9 + ...mber_properties_Number.MAX_SAFE_INTEGER.js | 9 + ...mber_properties_Number.MIN_SAFE_INTEGER.js | 9 + .../es6/Number_properties_Number.isFinite.js | 9 + .../es6/Number_properties_Number.isInteger.js | 9 + .../es6/Number_properties_Number.isNaN.js | 9 + .../Number_properties_Number.isSafeInteger.js | 9 + ...__proto___absent_from_Object.createnull.js | 11 + ...e.__proto___correct_property_descriptor.js | 16 + ...bject.prototype.__proto___get_prototype.js | 10 + ...__present_in_Object.getOwnPropertyNames.js | 9 + ...ype.__proto___present_in_hasOwnProperty.js | 9 + ...bject.prototype.__proto___set_prototype.js | 11 + .../Object_static_methods_Object.assign.js | 10 + ...ic_methods_Object.getOwnPropertySymbols.js | 17 + .../es6/Object_static_methods_Object.is.js | 11 + ...ct_static_methods_Object.setPrototypeOf.js | 9 + ...methods_accept_primitives_Object.freeze.js | 9 + ...mitives_Object.getOwnPropertyDescriptor.js | 9 + ...t_primitives_Object.getOwnPropertyNames.js | 11 + ...accept_primitives_Object.getPrototypeOf.js | 9 + ...s_accept_primitives_Object.isExtensible.js | 9 + ...thods_accept_primitives_Object.isFrozen.js | 9 + ...thods_accept_primitives_Object.isSealed.js | 9 + ...c_methods_accept_primitives_Object.keys.js | 10 + ...ept_primitives_Object.preventExtensions.js | 9 + ...c_methods_accept_primitives_Object.seal.js | 9 + .../javascriptcore/es6/Promise_Promise.all.js | 29 + .../Promise_Promise.all_generic_iterables.js | 49 + .../es6/Promise_Promise.race.js | 29 + .../Promise_Promise.race_generic_iterables.js | 49 + .../es6/Promise_Promise[Symbol.species].js | 10 + .../es6/Promise_basic_functionality.js | 36 + .../es6/Promise_constructor_requires_new.js | 15 + .../Promise_is_subclassable_Promise.all.js | 30 + .../Promise_is_subclassable_Promise.race.js | 30 + ...ise_is_subclassable_basic_functionality.js | 37 + ...is_subclassable_correct_prototype_chain.js | 11 + .../es6/Proxy_Array.isArray_support.js | 9 + .../es6/Proxy_JSON.stringify_support.js | 9 + .../es6/Proxy_Proxy.revocable.js | 17 + .../javascriptcore/es6/Proxy_apply_handler.js | 19 + .../es6/Proxy_construct_handler.js | 17 + .../es6/Proxy_constructor_requires_new.js | 15 + .../es6/Proxy_defineProperty_handler.js | 21 + .../es6/Proxy_deleteProperty_handler.js | 16 + .../es6/Proxy_enumerate_handler.js | 21 + .../Proxy_getOwnPropertyDescriptor_handler.js | 22 + .../es6/Proxy_getPrototypeOf_handler.js | 16 + .../javascriptcore/es6/Proxy_get_handler.js | 15 + .../Proxy_get_handler_instances_of_proxies.js | 15 + .../javascriptcore/es6/Proxy_has_handler.js | 16 + .../Proxy_has_handler_instances_of_proxies.js | 16 + ..._defineProperty_calls_SetIntegrityLevel.js | 13 + ...y_internal_defineProperty_calls_[[Set]].js | 13 + ...operty_calls_Array.prototype.copyWithin.js | 13 + ...eleteProperty_calls_Array.prototype.pop.js | 13 + ...eProperty_calls_Array.prototype.reverse.js | 13 + ...eteProperty_calls_Array.prototype.shift.js | 13 + ...teProperty_calls_Array.prototype.splice.js | 13 + ...eProperty_calls_Array.prototype.unshift.js | 13 + ...escriptor_calls_Function.prototype.bind.js | 14 + ...nPropertyDescriptor_calls_Object.assign.js | 14 + ...r_calls_Object.prototype.hasOwnProperty.js | 14 + ..._getOwnPropertyDescriptor_calls_[[Set]].js | 14 + .../Proxy_internal_get_calls_Array.from.js | 13 + ...ternal_get_calls_Array.prototype.concat.js | 20 + ..._internal_get_calls_Array.prototype.pop.js | 13 + ...ernal_get_calls_Array.prototype.reverse.js | 13 + ...nternal_get_calls_Array.prototype.shift.js | 13 + ...ternal_get_calls_Array.prototype.splice.js | 14 + ...rnal_get_calls_Array.prototype.toString.js | 13 + ...calls_Array.prototype_iteration_methods.js | 26 + ...nal_get_calls_ClassDefinitionEvaluation.js | 13 + ...nternal_get_calls_CreateDynamicFunction.js | 13 + ...ernal_get_calls_CreateListFromArrayLike.js | 13 + ...nternal_get_calls_Date.prototype.toJSON.js | 14 + ...rnal_get_calls_Error.prototype.toString.js | 13 + ...ernal_get_calls_Function.prototype.bind.js | 13 + .../Proxy_internal_get_calls_HasBinding.js | 16 + ...et_calls_IteratorComplete_IteratorValue.js | 24 + ...Proxy_internal_get_calls_JSON.stringify.js | 13 + .../Proxy_internal_get_calls_Object.assign.js | 13 + ...ernal_get_calls_Object.defineProperties.js | 13 + ...nal_get_calls_Promise_resolve_functions.js | 13 + ...ternal_get_calls_RegExp.prototype.flags.js | 13 + ...nternal_get_calls_RegExp.prototype.test.js | 13 + ...nal_get_calls_RegExp.prototype.toString.js | 10 + ...et_calls_RegExp.prototype[Symbol.match].js | 15 + ..._calls_RegExp.prototype[Symbol.replace].js | 15 + ...t_calls_RegExp.prototype[Symbol.search].js | 13 + ...et_calls_RegExp.prototype[Symbol.split].js | 15 + ...y_internal_get_calls_RegExp_constructor.js | 15 + ...ternal_get_calls_String.prototype.match.js | 15 + ...rnal_get_calls_String.prototype.replace.js | 15 + ...ernal_get_calls_String.prototype.search.js | 15 + ...ternal_get_calls_String.prototype.split.js | 15 + .../Proxy_internal_get_calls_String.raw.js | 14 + .../Proxy_internal_get_calls_ToPrimitive.js | 13 + ...internal_get_calls_ToPropertyDescriptor.js | 21 + ..._internal_get_calls_instanceof_operator.js | 14 + ...ernal_ownKeys_calls_SerializeJSONObject.js | 13 + ...nternal_ownKeys_calls_SetIntegrityLevel.js | 13 + ...ternal_ownKeys_calls_TestIntegrityLevel.js | 13 + .../Proxy_internal_set_calls_Array.from.js | 13 + .../es6/Proxy_internal_set_calls_Array.of.js | 13 + ...al_set_calls_Array.prototype.copyWithin.js | 13 + ...internal_set_calls_Array.prototype.fill.js | 13 + ..._internal_set_calls_Array.prototype.pop.js | 13 + ...internal_set_calls_Array.prototype.push.js | 13 + ...ernal_set_calls_Array.prototype.reverse.js | 13 + ...nternal_set_calls_Array.prototype.shift.js | 13 + ...ternal_set_calls_Array.prototype.splice.js | 13 + ...ernal_set_calls_Array.prototype.unshift.js | 13 + .../Proxy_internal_set_calls_Object.assign.js | 13 + .../es6/Proxy_isExtensible_handler.js | 18 + .../es6/Proxy_ownKeys_duplicates.js | 32 + .../es6/Proxy_ownKeys_handler.js | 18 + .../es6/Proxy_preventExtensions_handler.js | 19 + .../es6/Proxy_setPrototypeOf_handler.js | 21 + .../javascriptcore/es6/Proxy_set_handler.js | 17 + .../Proxy_set_handler_instances_of_proxies.js | 17 + .../es6/Reflect_Reflect.apply.js | 9 + .../es6/Reflect_Reflect.construct.js | 11 + ...reates_instance_from_newTarget_argument.js | 10 + ...construct_sets_new.target_meta_property.js | 13 + .../es6/Reflect_Reflect.defineProperty.js | 12 + .../es6/Reflect_Reflect.deleteProperty.js | 11 + .../es6/Reflect_Reflect.enumerate.js | 21 + .../javascriptcore/es6/Reflect_Reflect.get.js | 9 + ...eflect_Reflect.getOwnPropertyDescriptor.js | 12 + .../es6/Reflect_Reflect.getPrototypeOf.js | 9 + .../javascriptcore/es6/Reflect_Reflect.has.js | 9 + .../es6/Reflect_Reflect.isExtensible.js | 10 + .../Reflect_Reflect.ownKeys_string_keys.js | 13 + .../Reflect_Reflect.ownKeys_symbol_keys.js | 17 + .../es6/Reflect_Reflect.preventExtensions.js | 11 + .../javascriptcore/es6/Reflect_Reflect.set.js | 11 + .../es6/Reflect_Reflect.setPrototypeOf.js | 11 + .../es6/RegExp.prototype.compile.js | 9 + ...otype_properties_RegExp.prototype.flags.js | 9 + ...operties_RegExp.prototype[Symbol.match].js | 9 + ...erties_RegExp.prototype[Symbol.replace].js | 9 + ...perties_RegExp.prototype[Symbol.search].js | 9 + ...operties_RegExp.prototype[Symbol.split].js | 9 + ...otype_properties_RegExp[Symbol.species].js | 10 + ...p_is_subclassable_RegExp.prototype.exec.js | 11 + ...p_is_subclassable_RegExp.prototype.test.js | 11 + ...Exp_is_subclassable_basic_functionality.js | 11 + ...is_subclassable_correct_prototype_chain.js | 11 + ...ax_extensions_hyphens_in_character_sets.js | 9 + ...ons_incomplete_patterns_and_quantifiers.js | 10 + ...ntax_extensions_invalid_Unicode_escapes.js | 10 + ...lid_backreferences_become_octal_escapes.js | 10 + ...ax_extensions_invalid_character_escapes.js | 10 + ...sions_invalid_control-character_escapes.js | 9 + ..._extensions_invalid_hexadecimal_escapes.js | 10 + ...yntax_extensions_octal_escape_sequences.js | 10 + .../es6/RegExp_y_and_u_flags_u_flag.js | 9 + ...flags_u_flag_Unicode_code_point_escapes.js | 9 + .../es6/RegExp_y_and_u_flags_y_flag.js | 11 + .../RegExp_y_and_u_flags_y_flag_lastIndex.js | 12 + .../es6/Set_-0_key_converts_to_+0.js | 15 + .../es6/Set_Set.prototype.add_returns_this.js | 10 + .../es6/Set_Set.prototype.clear.js | 9 + .../es6/Set_Set.prototype.delete.js | 9 + .../es6/Set_Set.prototype.entries.js | 9 + .../es6/Set_Set.prototype.forEach.js | 9 + .../es6/Set_Set.prototype.keys.js | 9 + .../es6/Set_Set.prototype.size.js | 16 + .../es6/Set_Set.prototype.values.js | 9 + .../es6/Set_Set.prototype[Symbol.iterator].js | 9 + .../es6/Set_Set[Symbol.species].js | 10 + .../es6/Set_Set_iterator_prototype_chain.js | 19 + .../es6/Set_basic_functionality.js | 15 + .../es6/Set_constructor_accepts_null.js | 10 + .../es6/Set_constructor_arguments.js | 13 + .../es6/Set_constructor_invokes_add.js | 19 + .../es6/Set_constructor_requires_new.js | 15 + .../es6/Set_iterator_closing.js | 39 + ...String.prototype_HTML_methods_existence.js | 16 + ...methods_quotes_in_arguments_are_escaped.js | 15 + ...e_HTML_methods_tags_names_are_lowercase.js | 16 + ...pe_methods_String.prototype.codePointAt.js | 9 + ...otype_methods_String.prototype.endsWith.js | 10 + ...otype_methods_String.prototype.includes.js | 10 + ...type_methods_String.prototype.normalize.js | 11 + ...ototype_methods_String.prototype.padEnd.js | 119 + ...otype_methods_String.prototype.padStart.js | 119 + ...ototype_methods_String.prototype.repeat.js | 10 + ...ype_methods_String.prototype.startsWith.js | 10 + ...thods_String.prototype[Symbol.iterator].js | 9 + ...methods_String_iterator_prototype_chain.js | 19 + ...ing_static_methods_String.fromCodePoint.js | 9 + .../es6/String_static_methods_String.raw.js | 9 + .../Symbol_JSON.stringify_ignores_symbols.js | 12 + .../Symbol_Object.defineProperty_support.js | 18 + .../javascriptcore/es6/Symbol_Objectsymbol.js | 15 + .../es6/Symbol_basic_functionality.js | 13 + .../es6/Symbol_can_convert_with_String.js | 9 + ...ymbol_cannot_coerce_to_string_or_number.js | 22 + .../es6/Symbol_global_symbol_registry.js | 11 + .../es6/Symbol_new_Symbol_throws.js | 14 + ..._symbol_keys_are_hidden_to_pre-ES6_code.js | 21 + .../es6/Symbol_typeof_support.js | 9 + ...icode_code_point_escapes_in_identifiers.js | 10 + .../Unicode_code_point_escapes_in_strings.js | 9 + .../es6/WeakMap_WeakMap.prototype.delete.js | 9 + ...kMap_WeakMap.prototype.set_returns_this.js | 11 + .../es6/WeakMap_basic_functionality.js | 14 + .../es6/WeakMap_constructor_accepts_null.js | 10 + .../es6/WeakMap_constructor_arguments.js | 14 + .../es6/WeakMap_constructor_invokes_set.js | 19 + .../es6/WeakMap_constructor_requires_new.js | 15 + .../es6/WeakMap_frozen_objects_as_keys.js | 12 + .../es6/WeakMap_iterator_closing.js | 36 + ...akMap_no_WeakMap.prototype.clear_method.js | 16 + ...kSet_WeakSet.prototype.add_returns_this.js | 11 + .../es6/WeakSet_WeakSet.prototype.delete.js | 9 + .../es6/WeakSet_basic_functionality.js | 15 + .../es6/WeakSet_constructor_accepts_null.js | 10 + .../es6/WeakSet_constructor_arguments.js | 12 + .../es6/WeakSet_constructor_invokes_add.js | 19 + .../es6/WeakSet_constructor_requires_new.js | 15 + .../es6/WeakSet_iterator_closing.js | 36 + ...akSet_no_WeakSet.prototype.clear_method.js | 16 + ...roto___in_object_literals_basic_support.js | 10 + ...literals_multiple___proto___is_an_error.js | 14 + ...object_literals_not_a_computed_property.js | 13 + ..._object_literals_not_a_shorthand_method.js | 12 + ...bject_literals_not_a_shorthand_property.js | 13 + .../es6/arrow_functions_0_parameters.js | 9 + ...arrow_functions_1_parameter_no_brackets.js | 10 + ..._functions_cant_be_bound_can_be_curried.js | 11 + .../es6/arrow_functions_correct_precedence.js | 11 + ...row_functions_lexical_arguments_binding.js | 10 + ...ow_functions_lexical_new.target_binding.js | 12 + .../arrow_functions_lexical_super_binding.js | 20 + .../arrow_functions_lexical_this_binding.js | 11 + .../arrow_functions_multiple_parameters.js | 10 + ...ne_break_between_params_and_code_=_code.js | 11 + .../arrow_functions_no_prototype_property.js | 10 + ...nctions_this_unchanged_by_call_or_apply.js | 11 + .../es6/block-level_function_declaration.js | 14 + .../es6/class_accessor_properties.js | 15 + .../es6/class_anonymous_class.js | 9 + .../es6/class_class_expression.js | 9 + .../class_class_name_is_lexically_scoped.js | 14 + .../es6/class_class_statement.js | 10 + .../es6/class_computed_accessor_properties.js | 15 + ...class_computed_names_temporal_dead_zone.js | 15 + .../es6/class_computed_prototype_methods.js | 14 + ...ass_computed_static_accessor_properties.js | 15 + .../es6/class_computed_static_methods.js | 14 + .../javascriptcore/es6/class_constructor.js | 13 + .../es6/class_constructor_requires_new.js | 15 + .../javascriptcore/es6/class_extends.js | 12 + .../es6/class_extends_expressions.js | 12 + .../javascriptcore/es6/class_extends_null.js | 13 + .../es6/class_implicit_strict_mode.js | 12 + .../es6/class_is_block-scoped.js | 15 + .../es6/class_methods_arent_enumerable.js | 13 + .../javascriptcore/es6/class_new.target.js | 21 + .../es6/class_prototype_methods.js | 13 + .../es6/class_static_accessor_properties.js | 15 + .../es6/class_static_methods.js | 13 + .../es6/class_string-keyed_methods.js | 13 + .../javascriptcore/es6/const_basic_support.js | 10 + .../es6/const_basic_support_strict_mode.js | 11 + .../es6/const_is_block-scoped.js | 11 + .../es6/const_is_block-scoped_strict_mode.js | 12 + .../const_redefining_a_const_is_an_error.js | 14 + .../const_redefining_a_const_strict_mode.js | 15 + .../es6/const_temporal_dead_zone.js | 13 + .../const_temporal_dead_zone_strict_mode.js | 14 + ...parameters_arguments_object_interaction.js | 16 + ...function_parameters_basic_functionality.js | 9 + ...s_defaults_can_refer_to_previous_params.js | 9 + ...xplicit_undefined_defers_to_the_default.js | 9 + ...unction_parameters_new_Function_support.js | 11 + ...ault_function_parameters_separate_scope.js | 14 + ..._function_parameters_temporal_dead_zone.js | 19 + ...ucturing_assignment_computed_properties.js | 72 + ...ng_assignment_computed_property_default.js | 8 + ...ing_assignment_computed_property_simple.js | 8 + ...ssignment_nested_cover_initialized_name.js | 17 + ...tructuring_assignment_non_simple_target.js | 16 + ...ucturing_chained_iterable_destructuring.js | 11 + ...tructuring_chained_object_destructuring.js | 11 + .../es6/destructuring_computed_properties.js | 11 + .../es6/destructuring_defaults.js | 12 + .../destructuring_defaults_in_parameters.js | 13 + ...ults_in_parameters_new_Function_support.js | 11 + ...g_defaults_in_parameters_separate_scope.js | 14 + ...cturing_defaults_let_temporal_dead_zone.js | 18 + .../es6/destructuring_empty_patterns.js | 11 + ...tructuring_empty_patterns_in_parameters.js | 11 + .../es6/destructuring_in_catch_heads.js | 17 + .../es6/destructuring_in_for-in_loop_heads.js | 11 + .../es6/destructuring_in_for-of_loop_heads.js | 11 + .../es6/destructuring_in_parameters.js | 12 + ...ing_in_parameters_arguments_interaction.js | 12 + ..._in_parameters_function_length_property.js | 9 + ...ring_in_parameters_new_Function_support.js | 12 + .../es6/destructuring_initializer_scoping.js | 17 + ...uring_iterable_destructuring_expression.js | 10 + .../es6/destructuring_iterator_closing.js | 34 + ...ing_multiples_in_a_single_var_statement.js | 10 + .../es6/destructuring_nested.js | 12 + .../es6/destructuring_nested_rest.js | 11 + ...cturing_object_destructuring_expression.js | 10 + ...ng_object_destructuring_with_primitives.js | 17 + ...esised_left-hand-side_is_a_syntax_error.js | 16 + .../javascriptcore/es6/destructuring_rest.js | 12 + ...tructuring_throws_on_null_and_undefined.js | 17 + ...ng_trailing_commas_in_iterable_patterns.js | 10 + ...ring_trailing_commas_in_object_patterns.js | 10 + .../es6/destructuring_with_arrays.js | 13 + ...destructuring_with_astral_plane_strings.js | 11 + .../destructuring_with_generator_instances.js | 13 + .../destructuring_with_generic_iterables.js | 33 + ...ing_with_instances_of_generic_iterables.js | 33 + .../es6/destructuring_with_objects.js | 13 + .../es6/destructuring_with_sparse_arrays.js | 10 + .../es6/destructuring_with_strings.js | 13 + .../for..of_loops_iterator_closing_break.js | 34 + .../for..of_loops_iterator_closing_throw.js | 36 + .../es6/for..of_loops_with_arrays.js | 11 + ...for..of_loops_with_astral_plane_strings.js | 12 + .../for..of_loops_with_generator_instances.js | 14 + .../for..of_loops_with_generic_iterables.js | 34 + ...ops_with_instances_of_generic_iterables.js | 34 + .../es6/for..of_loops_with_sparse_arrays.js | 13 + .../es6/for..of_loops_with_strings.js | 12 + ...ction_name_property_accessor_properties.js | 12 + .../function_name_property_bound_functions.js | 11 + ...unction_name_property_class_expressions.js | 10 + ...n_name_property_class_prototype_methods.js | 10 + ...function_name_property_class_statements.js | 12 + ...tion_name_property_class_static_methods.js | 10 + ...tion_name_property_function_expressions.js | 10 + ...ction_name_property_function_statements.js | 11 + ..._property_isnt_writable_is_configurable.js | 12 + .../function_name_property_new_Function.js | 9 + ...tion_name_property_object_methods_class.js | 13 + ...n_name_property_object_methods_function.js | 13 + ...unction_name_property_shorthand_methods.js | 10 + ...ty_shorthand_methods_no_lexical_binding.js | 10 + ...tion_name_property_symbol-keyed_methods.js | 17 + .../function_name_property_variables_class.js | 14 + ...nction_name_property_variables_function.js | 11 + ...rators_%GeneratorPrototype%.constructor.js | 19 + .../es6/generators_%GeneratorPrototype%.js | 18 + .../generators_%GeneratorPrototype%.return.js | 19 + .../generators_%GeneratorPrototype%.throw.js | 20 + .../es6/generators_basic_functionality.js | 19 + .../es6/generators_cant_use_this_with_new.js | 17 + ...enerators_computed_shorthand_generators.js | 22 + ...s_computed_shorthand_generators_classes.js | 22 + .../es6/generators_correct_this_binding.js | 19 + ...nerators_generator_function_expressions.js | 19 + .../javascriptcore/es6/generators_sending.js | 17 + .../generators_shorthand_generator_methods.js | 21 + ...ors_shorthand_generator_methods_classes.js | 21 + ...tring-keyed_shorthand_generator_methods.js | 21 + .../generators_yield_operator_precedence.js | 16 + .../es6/generators_yield_star_arrays.js | 18 + ...erators_yield_star_astral_plane_strings.js | 18 + ...nerators_yield_star_generator_instances.js | 20 + ...generators_yield_star_generic_iterables.js | 40 + ...ators_yield_star_instances_of_iterables.js | 41 + .../generators_yield_star_iterator_closing.js | 46 + ...s_yield_star_iterator_closing_via_throw.js | 44 + ...tar_on_non-iterables_is_a_runtime_error.js | 21 + .../generators_yield_star_sparse_arrays.js | 18 + .../es6/generators_yield_star_strings.js | 18 + .../javascriptcore/es6/let_basic_support.js | 10 + .../es6/let_basic_support_strict_mode.js | 11 + .../es6/let_for-loop_iteration_scope.js | 20 + ...et_for-loop_iteration_scope_strict_mode.js | 21 + .../es6/let_for-loop_statement_scope.js | 11 + ...et_for-loop_statement_scope_strict_mode.js | 12 + .../javascriptcore/es6/let_is_block-scoped.js | 11 + .../es6/let_is_block-scoped_strict_mode.js | 12 + .../es6/let_temporal_dead_zone.js | 13 + .../es6/let_temporal_dead_zone_strict_mode.js | 14 + .../es6/miscellaneous_Invalid_Date.js | 9 + ...eous_RegExp_constructor_can_alter_flags.js | 9 + ....prototype_case_methods_Unicode_support.js | 9 + ...cellaneous_accessors_arent_constructors.js | 13 + ...s_built-in_prototypes_are_not_instances.js | 22 + ...duplicate_property_names_in_strict_mode.js | 10 + ...laneous_function_length_is_configurable.js | 17 + ...s_no_assignments_allowed_in_for-in_head.js | 14 + ...o_escaped_reserved_words_as_identifiers.js | 14 + ...eous_no_semicolon_needed_after_do-while.js | 9 + ...s_subclassables_Boolean_is_subclassable.js | 12 + ...neous_subclassables_Map_is_subclassable.js | 15 + ...us_subclassables_Number_is_subclassable.js | 12 + ...neous_subclassables_Set_is_subclassable.js | 16 + ...us_subclassables_String_is_subclassable.js | 14 + ...new.target_assignment_is_an_early_error.js | 18 + .../es6/new.target_in_constructors.js | 16 + ...tion_statements_in_if-statement_clauses.js | 16 + ...oisted_block-level_function_declaration.js | 23 + ...n_semantics_labeled_function_statements.js | 13 + ...t_literal_extensions_computed_accessors.js | 16 + ..._literal_extensions_computed_properties.js | 10 + ...l_extensions_computed_shorthand_methods.js | 10 + ...ct_literal_extensions_shorthand_methods.js | 9 + ...literal_extensions_shorthand_properties.js | 10 + ...tensions_string-keyed_shorthand_methods.js | 9 + ...tal_and_binary_literals_binary_literals.js | 9 + ...ary_literals_binary_supported_by_Number.js | 9 + ...ctal_and_binary_literals_octal_literals.js | 9 + ...nary_literals_octal_supported_by_Number.js | 9 + .../es6/own_property_order_JSON.parse.js | 17 + .../es6/own_property_order_JSON.stringify.js | 27 + .../es6/own_property_order_Object.assign.js | 36 + ...operty_order_Object.getOwnPropertyNames.js | 26 + .../es6/own_property_order_Object.keys.js | 26 + ..._order_Reflect.ownKeys_string_key_order.js | 26 + ..._order_Reflect.ownKeys_symbol_key_order.js | 24 + .../es6/own_property_order_for..in.js | 30 + ...tail_call_optimisation_direct_recursion.js | 15 + ...tail_call_optimisation_mutual_recursion.js | 22 + ...type_of_bound_functions_arrow_functions.js | 22 + ...type_of_bound_functions_basic_functions.js | 22 + .../prototype_of_bound_functions_classes.js | 22 + ..._of_bound_functions_generator_functions.js | 22 + ...prototype_of_bound_functions_subclasses.js | 20 + ...parameters_arguments_object_interaction.js | 17 + .../rest_parameters_basic_functionality.js | 11 + ...rest_parameters_cant_be_used_in_setters.js | 15 + ...est_parameters_function_length_property.js | 9 + .../rest_parameters_new_Function_support.js | 11 + ...eading_non-iterables_is_a_runtime_error.js | 13 + ..._operator_with_arrays_in_array_literals.js | 9 + ..._operator_with_arrays_in_function_calls.js | 9 + ..._astral_plane_strings_in_array_literals.js | 9 + ..._astral_plane_strings_in_function_calls.js | 9 + ...ator_with_generator_instances_in_arrays.js | 10 + ...rator_with_generator_instances_in_calls.js | 10 + ...erator_with_generic_iterables_in_arrays.js | 30 + ...perator_with_generic_iterables_in_calls.js | 30 + ...r_with_instances_of_iterables_in_arrays.js | 30 + ...or_with_instances_of_iterables_in_calls.js | 30 + ...or_with_sparse_arrays_in_array_literals.js | 10 + ...or_with_sparse_arrays_in_function_calls.js | 10 + ...operator_with_strings_in_array_literals.js | 9 + ...operator_with_strings_in_function_calls.js | 9 + ...or_calls_use_correct_new.target_binding.js | 17 + .../es6/super_expression_in_constructors.js | 15 + .../es6/super_in_methods_method_calls.js | 15 + .../es6/super_in_methods_property_access.js | 16 + .../es6/super_is_statically_bound.js | 19 + ...r_method_calls_use_correct_this_binding.js | 17 + .../es6/super_statement_in_constructors.js | 17 + .../template_strings_basic_functionality.js | 11 + ...mplate_strings_line_break_normalisation.js | 14 + ...template_strings_passed_array_is_frozen.js | 11 + ...emplate_strings_tagged_template_strings.js | 20 + .../template_strings_toString_conversion.js | 13 + .../es6/typed_arrays_%TypedArray%.from.js | 17 + .../es6/typed_arrays_%TypedArray%.of.js | 17 + ...rrays_%TypedArray%.prototype.copyWithin.js | 17 + ...d_arrays_%TypedArray%.prototype.entries.js | 17 + ...ped_arrays_%TypedArray%.prototype.every.js | 17 + ...yped_arrays_%TypedArray%.prototype.fill.js | 17 + ...ed_arrays_%TypedArray%.prototype.filter.js | 17 + ...yped_arrays_%TypedArray%.prototype.find.js | 17 + ...arrays_%TypedArray%.prototype.findIndex.js | 17 + ...d_arrays_%TypedArray%.prototype.forEach.js | 17 + ...d_arrays_%TypedArray%.prototype.indexOf.js | 17 + ...yped_arrays_%TypedArray%.prototype.join.js | 17 + ...yped_arrays_%TypedArray%.prototype.keys.js | 17 + ...rays_%TypedArray%.prototype.lastIndexOf.js | 17 + ...typed_arrays_%TypedArray%.prototype.map.js | 17 + ...ed_arrays_%TypedArray%.prototype.reduce.js | 17 + ...rays_%TypedArray%.prototype.reduceRight.js | 17 + ...d_arrays_%TypedArray%.prototype.reverse.js | 17 + ...ped_arrays_%TypedArray%.prototype.slice.js | 17 + ...yped_arrays_%TypedArray%.prototype.some.js | 17 + ...yped_arrays_%TypedArray%.prototype.sort.js | 17 + ..._arrays_%TypedArray%.prototype.subarray.js | 17 + ...ed_arrays_%TypedArray%.prototype.values.js | 17 + ...%TypedArray%.prototype[Symbol.iterator].js | 17 + ...ped_arrays_%TypedArray%[Symbol.species].js | 17 + ...yped_arrays_ArrayBuffer[Symbol.species].js | 9 + .../es6/typed_arrays_DataView_Float32.js | 12 + .../es6/typed_arrays_DataView_Float64.js | 12 + .../es6/typed_arrays_DataView_Int16.js | 12 + .../es6/typed_arrays_DataView_Int32.js | 12 + .../es6/typed_arrays_DataView_Int8.js | 12 + .../es6/typed_arrays_DataView_Uint16.js | 12 + .../es6/typed_arrays_DataView_Uint32.js | 12 + .../es6/typed_arrays_DataView_Uint8.js | 12 + .../es6/typed_arrays_Float32Array.js | 11 + .../es6/typed_arrays_Float64Array.js | 11 + .../es6/typed_arrays_Int16Array.js | 11 + .../es6/typed_arrays_Int32Array.js | 11 + .../es6/typed_arrays_Int8Array.js | 11 + .../es6/typed_arrays_Uint16Array.js | 11 + .../es6/typed_arrays_Uint32Array.js | 11 + .../es6/typed_arrays_Uint8Array.js | 11 + .../es6/typed_arrays_Uint8ClampedArray.js | 11 + .../typed_arrays_constructors_require_new.js | 32 + .../typed_arrays_correct_prototype_chains.js | 31 + .../well-known_symbols_Symbol.hasInstance.js | 16 + ...known_symbols_Symbol.isConcatSpreadable.js | 12 + ...ymbols_Symbol.iterator_arguments_object.js | 12 + ...known_symbols_Symbol.iterator_existence.js | 9 + .../es6/well-known_symbols_Symbol.match.js | 13 + ..._Symbol.match_String.prototype.endsWith.js | 12 + ..._Symbol.match_String.prototype.includes.js | 12 + ...ymbol.match_String.prototype.startsWith.js | 12 + .../es6/well-known_symbols_Symbol.replace.js | 13 + .../es6/well-known_symbols_Symbol.search.js | 13 + ...s_Symbol.species_Array.prototype.concat.js | 14 + ...s_Symbol.species_Array.prototype.filter.js | 14 + ...bols_Symbol.species_Array.prototype.map.js | 14 + ...ls_Symbol.species_Array.prototype.slice.js | 14 + ...s_Symbol.species_Array.prototype.splice.js | 14 + ....species_RegExp.prototype[Symbol.split].js | 17 + ...-known_symbols_Symbol.species_existence.js | 9 + .../es6/well-known_symbols_Symbol.split.js | 13 + .../well-known_symbols_Symbol.toPrimitive.js | 18 + .../well-known_symbols_Symbol.toStringTag.js | 11 + ...bols_Symbol.toStringTag_misc._built-ins.js | 11 + ...ymbols_Symbol.toStringTag_new_built-ins.js | 32 + .../well-known_symbols_Symbol.unscopables.js | 13 + .../javascriptcore/exceptionFuzz/3d-cube.js | 365 + .../exceptionFuzz/date-format-xparb.js | 431 + .../exceptionFuzz/earley-boyer.js | 4693 +++ .../executableAllocationFuzz/v8-raytrace.js | 902 + .../heapProfiler/basic-edges.js | 61 + .../heapProfiler/basic-nodes.js | 78 + .../heapProfiler/driver/driver.js | 280 + .../heapProfiler/property-edge-types.js | 101 + .../heapProfiler/typed-array-sizes.js | 28 + .../heapProfiler/variable-edge-types.js | 69 + .../javascriptcore/modules/aliased-names.js | 8 + .../modules/aliased-names/main.js | 10 + .../javascriptcore/modules/aliasing.js | 18 + .../modules/aliasing/drink-2.js | 5 + .../javascriptcore/modules/aliasing/drink.js | 7 + .../modules/async-function-export.js | 5 + .../caching-should-not-make-ambiguous.js | 5 + .../caching-should-not-make-ambiguous/A.js | 2 + .../caching-should-not-make-ambiguous/B.js | 1 + .../caching-should-not-make-ambiguous/C.js | 1 + .../caching-should-not-make-ambiguous/D.js | 1 + .../caching-should-not-make-ambiguous/main.js | 1 + .../modules/cyclic-may-produce-tdz.js | 7 + .../modules/cyclic-may-produce-tdz/1.js | 12 + .../modules/cyclic-may-produce-tdz/2.js | 15 + .../modules/default-error/main.js | 1 + .../default-value-case-should-be-copied.js | 11 + .../module.js | 7 + .../javascriptcore/modules/defaults.js | 10 + .../modules/defaults/Cappuccino.js | 4 + .../javascriptcore/modules/defaults/Cocoa.js | 5 + .../javascriptcore/modules/defaults/Matcha.js | 1 + .../modules/destructuring-export.js | 10 + .../modules/destructuring-export/array.js | 3 + .../modules/destructuring-export/main.js | 16 + .../javascriptcore/modules/different-view.js | 7 + .../modules/different-view/A.js | 2 + .../modules/different-view/B.js | 2 + .../modules/different-view/C.js | 1 + .../modules/different-view/D.js | 1 + .../modules/different-view/E.js | 1 + .../modules/different-view/main.js | 1 + .../modules/execution-order-cyclic.js | 5 + .../modules/execution-order-cyclic/1.js | 5 + .../modules/execution-order-cyclic/10.js | 7 + .../modules/execution-order-cyclic/11.js | 7 + .../modules/execution-order-cyclic/2.js | 8 + .../modules/execution-order-cyclic/3.js | 7 + .../modules/execution-order-cyclic/4.js | 6 + .../modules/execution-order-cyclic/5.js | 7 + .../modules/execution-order-cyclic/6.js | 7 + .../modules/execution-order-cyclic/7.js | 7 + .../modules/execution-order-cyclic/8.js | 6 + .../modules/execution-order-cyclic/9.js | 8 + .../modules/execution-order-dag.js | 7 + .../modules/execution-order-dag/1.js | 4 + .../modules/execution-order-dag/10.js | 7 + .../modules/execution-order-dag/2.js | 6 + .../modules/execution-order-dag/3.js | 6 + .../modules/execution-order-dag/4.js | 6 + .../modules/execution-order-dag/5.js | 7 + .../modules/execution-order-dag/6.js | 6 + .../modules/execution-order-dag/7.js | 6 + .../modules/execution-order-dag/8.js | 7 + .../modules/execution-order-dag/9.js | 6 + .../modules/execution-order-depth.js | 5 + .../modules/execution-order-depth/1.js | 4 + .../modules/execution-order-depth/2.js | 6 + .../modules/execution-order-depth/3.js | 6 + .../modules/execution-order-self.js | 6 + .../modules/execution-order-sibling.js | 7 + .../modules/execution-order-sibling/1.js | 4 + .../modules/execution-order-sibling/2.js | 4 + .../modules/execution-order-sibling/3.js | 4 + .../modules/execution-order-tree.js | 7 + .../modules/execution-order-tree/1.js | 4 + .../modules/execution-order-tree/10.js | 4 + .../modules/execution-order-tree/11.js | 7 + .../modules/execution-order-tree/2.js | 6 + .../modules/execution-order-tree/3.js | 7 + .../modules/execution-order-tree/4.js | 4 + .../modules/execution-order-tree/5.js | 7 + .../modules/execution-order-tree/6.js | 4 + .../modules/execution-order-tree/7.js | 6 + .../modules/execution-order-tree/8.js | 4 + .../modules/execution-order-tree/9.js | 6 + .../modules/export-conflict-ok.js | 5 + .../modules/export-conflict-ok/A.js | 2 + .../modules/export-conflict-ok/B.js | 2 + .../modules/export-conflict-ok/main.js | 2 + .../export-default-function-hoisting.js | 5 + .../cappuccino.js | 6 + .../export-default-function-hoisting/cocoa.js | 9 + ...-function-name-in-assignment-expression.js | 8 + ...ault-function-name-in-class-declaration.js | 8 + ...t-function-name-in-function-declaration.js | 8 + ...-function-name-in-generator-declaration.js | 8 + .../javascriptcore/modules/export-from.js | 8 + .../modules/export-from/main.js | 6 + .../modules/export-from/second.js | 9 + .../modules/export-with-declarations-list.js | 9 + .../export-with-declarations-list/main.js | 3 + ...may-be-called-before-module-is-executed.js | 1 + .../1.js | 15 + .../2.js | 13 + .../modules/fallback-ambiguous.js | 12 + .../modules/fallback-ambiguous/A.js | 2 + .../modules/fallback-ambiguous/B.js | 1 + .../modules/fallback-ambiguous/C.js | 1 + .../modules/fallback-ambiguous/D.js | 2 + .../modules/fallback-ambiguous/E.js | 1 + .../modules/fallback-ambiguous/main.js | 1 + .../javascriptcore/modules/html-comments.js | 45 + .../javascriptcore/modules/import-call.js | 5 + .../modules/import-call/main.js | 1 + .../modules/import-default-async.js | 6 + .../javascriptcore/modules/import-error.js | 13 + .../import-error/export-ambiguous-1.js | 1 + .../import-error/export-ambiguous-2.js | 1 + .../modules/import-error/export-ambiguous.js | 4 + .../export-default-from-star-2.js | 2 + .../import-error/export-default-from-star.js | 1 + .../modules/import-error/export-not-found.js | 2 + .../modules/import-error/import-ambiguous.js | 1 + .../import-error/import-default-from-star.js | 1 + .../modules/import-error/import-not-found.js | 1 + .../modules/import-meta-assignment.js | 25 + .../modules/import-meta-syntax.js | 25 + .../javascriptcore/modules/import-meta.js | 11 + .../modules/import-meta/cocoa.js | 4 + .../modules/import-named-async-as.js | 6 + .../modules/import-named-async.js | 4 + .../modules/import-named-async/target.js | 1 + .../modules/import-namespace-async.js | 5 + .../imported-bindings-are-immutable.js | 43 + .../bindings.js | 11 + ...dings-can-be-changed-in-original-module.js | 17 + .../bindings.js | 16 + .../modules/indirect-export-error.js | 13 + .../indirect-export-ambiguous-2.js | 2 + .../indirect-export-ambiguous-3.js | 2 + .../indirect-export-ambiguous-4.js | 1 + .../indirect-export-ambiguous.js | 1 + .../indirect-export-default-2.js | 1 + .../indirect-export-default-3.js | 2 + .../indirect-export-default.js | 2 + .../indirect-export-not-found-2.js | 1 + .../indirect-export-not-found.js | 1 + .../modules/module-assert-access-binding.js | 10 + .../modules/module-assert-access-namespace.js | 10 + .../javascriptcore/modules/module-eval.js | 11 + .../javascriptcore/modules/module-eval/A.js | 8 + .../javascriptcore/modules/module-eval/B.js | 3 + .../modules/module-eval/drink.js | 3 + .../modules/module-is-strict-code.js | 19 + .../modules/module-jit-reachability.js | 20010 +++++++++++ .../modules/module-namespace-is-frozen.js | 9 + .../modules/module-namespace-is-sealed.js | 9 + .../modules/namespace-ambiguous.js | 6 + .../namespace-ambiguous/ambiguous-2.js | 2 + .../namespace-ambiguous/ambiguous-3.js | 1 + .../namespace-ambiguous/ambiguous-4.js | 1 + .../modules/namespace-ambiguous/ambiguous.js | 1 + .../javascriptcore/modules/namespace-empty.js | 17 + .../javascriptcore/modules/namespace-error.js | 5 + ...al-error-should-hide-global-ambiguity-2.js | 3 + ...al-error-should-hide-global-ambiguity-3.js | 1 + ...al-error-should-hide-global-ambiguity-4.js | 3 + ...al-error-should-hide-global-ambiguity-5.js | 1 + ...al-error-should-hide-global-ambiguity-6.js | 1 + ...al-error-should-hide-global-ambiguity-7.js | 2 + ...ocal-error-should-hide-global-ambiguity.js | 1 + .../modules/namespace-object-get-property.js | 9 + .../modules/namespace-object-has-property.js | 7 + .../namespace-object-inline-caching.js | 37 + .../namespace-object-inline-caching/a.js | 1 + .../namespace-object-inline-caching/b.js | 1 + .../namespace-object-symbol-iterator-name.js | 4 + .../modules/namespace-object-try-get.js | 25 + .../namespace-object-typed-array-fast-path.js | 7 + .../modules/namespace-prototype-assignment.js | 389 + .../modules/namespace-re-export.js | 1 + .../namespace-re-export-fixture.js | 2 + .../namespace-re-export.js | 11 + .../modules/namespace-set-prototype-of.js | 10 + .../javascriptcore/modules/namespace-tdz.js | 1 + .../javascriptcore/modules/namespace-tdz/A.js | 10 + .../javascriptcore/modules/namespace-tdz/B.js | 20 + .../modules/namespace-tdz/main.js | 1 + .../javascriptcore/modules/namespace.js | 81 + .../modules/namespace/additional-drink.js | 4 + .../javascriptcore/modules/namespace/drink.js | 10 + .../namespace/more-additional-drink.js | 1 + .../modules/resources/assert.js | 28 + .../javascriptcore/modules/scopes-eval.js | 24 + .../javascriptcore/modules/scopes.js | 37 + .../modules/scopes/additional-drink.js | 4 + .../javascriptcore/modules/scopes/drink.js | 10 + .../modules/scopes/more-additional-drink.js | 1 + .../javascriptcore/modules/self-star-link.js | 15 + .../modules/self-star-link/A.js | 2 + .../modules/self-star-link/B.js | 1 + .../modules/self-star-link/C.js | 2 + .../modules/self-star-link/D.js | 1 + .../modules/self-star-link/E.js | 1 + .../modules/string-prototype-module-scope.js | 15 + .../modules/this-should-be-undefined.js | 3 + .../modules/uncacheable-when-see-star.js | 13 + .../uncacheable-when-see-star/A-pre.js | 1 + .../modules/uncacheable-when-see-star/A.js | 2 + .../modules/uncacheable-when-see-star/B.js | 1 + .../modules/uncacheable-when-see-star/C.js | 2 + .../modules/uncacheable-when-see-star/D.js | 1 + .../uncacheable-when-see-star/E-pre.js | 1 + .../modules/uncacheable-when-see-star/E.js | 1 + .../uncacheable-when-see-star/main1.js | 1 + .../uncacheable-when-see-star/main2.js | 1 + .../perf/bench-allocate-nonretained.js | 6 + .../perf/bench-allocate-retained.js | 10 + .../javascriptcore/regexp/RegExpTest.data | 1045 + .../javascriptcore/slowMicrobenchmarks/README | 6 + .../slowMicrobenchmarks/array-push-3.js | 9 + .../bigswitch-indirect-symbol-or-undefined.js | 279 + .../default-derived-constructor.js | 18 + .../slowMicrobenchmarks/dense-set.js | 29 + .../slowMicrobenchmarks/double-to-int32.js | 30 + ...fake-iterators-that-throw-when-finished.js | 78 + .../ftl-polymorphic-bitand.js | 52 + .../ftl-polymorphic-bitor.js | 52 + .../ftl-polymorphic-bitxor.js | 52 + .../ftl-polymorphic-div.js | 55 + .../ftl-polymorphic-lshift.js | 52 + .../ftl-polymorphic-mul.js | 50 + .../ftl-polymorphic-rshift.js | 52 + .../ftl-polymorphic-sub.js | 54 + .../ftl-polymorphic-urshift.js | 52 + .../function-bind-inlining.js | 28 + .../function-bind-no-inlining.js | 31 + .../large-map-iteration-with-additions.js | 25 + .../large-map-iteration-with-mutation.js | 25 + .../slowMicrobenchmarks/map-constant-key.js | 49 + .../slowMicrobenchmarks/map-get-get-cse.js | 27 + .../misc-bugs-847389-jpeg2000.js | 1985 + .../nested-function-parsing.js | 21 + .../rest-parameter-allocation-elimination.js | 613 + .../slowMicrobenchmarks/spread-large-array.js | 39 + .../slowMicrobenchmarks/spread-small-array.js | 19 + .../string-add-constant-folding.js | 145 + .../slowMicrobenchmarks/to-lower-case.js | 36 + .../undefined-property-access.js | 48 + ...ce-with-try-catch-high-frequency-throws.js | 1101 + .../stress/IIFE-es6-default-parameters.js | 35 + .../stress/IIFE-function-name-captured.js | 38 + .../JSON-parse-should-cache-array-lengths.js | 100 + .../stress/Number-isNaN-basics.js | 221 + ..._Object.getOwnPropertyDescriptors-proxy.js | 113 + ...ethods_Object.getOwnPropertyDescriptors.js | 153 + ...-not-branch-across-register-allocations.js | 16 + .../stress/SharedArrayBuffer-opt.js | 134 + .../stress/SharedArrayBuffer.js | 134 + .../stress/accessors-get-set-prefix.js | 34 + ...activation-sink-default-value-tdz-error.js | 45 + .../stress/activation-sink-default-value.js | 31 + ...on-sink-osrexit-default-value-tdz-error.js | 46 + .../activation-sink-osrexit-default-value.js | 37 + .../stress/activation-sink-osrexit.js | 25 + .../javascriptcore/stress/activation-sink.js | 24 + .../stress/activation-test-loop.js | 24 + .../stress/add-constant-overflow-recovery.js | 15 + ...ferred-type-table-to-existing-structure.js | 31 + .../add-int52-constant-overflow-recovery.js | 15 + ...-int52-large-constant-overflow-recovery.js | 15 + .../stress/add-overflow-recovery.js | 15 + .../stress/add-overflows-after-not-equal.js | 16 + .../add-small-constant-overflow-recovery.js | 15 + .../stress/addition-order-evaluation.js | 23 + .../stress/ai-consistency-filter-cells.js | 30 + .../ai-create-this-to-new-object-fire.js | 61 + .../stress/ai-create-this-to-new-object.js | 41 + .../ai-needs-to-model-spreads-effects.js | 33 + ...tion-sinking-defs-may-have-replacements.js | 31 + ...tion-sinking-new-object-with-poly-proto.js | 53 + ...allocation-sinking-puthint-control-flow.js | 41 + .../allow-math-ic-b3-code-duplication.js | 35 + ...er-dictionary-indexing-mode-with-getter.js | 29 + .../stress/any-int-as-double-add.js | 43 + ...pply-second-argument-must-be-array-like.js | 49 + .../stress/argument-count-bytecode.js | 40 + .../stress/argument-intrinsic-basic.js | 20 + ...ument-intrinsic-inlining-use-caller-arg.js | 33 + ...t-intrinsic-inlining-with-result-escape.js | 23 + ...ining-with-vararg-with-enough-arguments.js | 27 + ...argument-intrinsic-inlining-with-vararg.js | 27 + .../argument-intrinsic-nested-inlining.js | 33 + ...t-intrinsic-not-convert-to-get-argument.js | 17 + .../argument-intrinsic-with-stack-write.js | 21 + .../stress/arguments-bizarre-behavior.js | 25 + ...bizarre-behaviour-disable-enumerability.js | 28 + .../stress/arguments-callee-uninitialized.js | 11 + .../stress/arguments-captured.js | 23 + ...ments-copy-register-array-backing-store.js | 32 + .../stress/arguments-custom-properties-gc.js | 36 + .../stress/arguments-define-property.js | 34 + ...istings-should-respect-pseudo-terminals.js | 28 + .../arguments-elimination-force-exit.js | 29 + .../stress/arguments-elimination-throw.js | 51 + ...ination-varargs-too-many-args-arg-count.js | 30 + .../stress/arguments-exit-fixed.js | 16 + .../arguments-exit-strict-mode-fixed.js | 18 + .../stress/arguments-exit-strict-mode.js | 18 + .../javascriptcore/stress/arguments-exit.js | 16 + ...rguments-inlined-exit-strict-mode-fixed.js | 22 + .../arguments-inlined-exit-strict-mode.js | 22 + .../stress/arguments-inlined-exit.js | 20 + .../stress/arguments-interference-cfg.js | 24 + .../stress/arguments-interference.js | 18 + .../stress/arguments-iterator.js | 70 + .../arguments-length-always-dont-enum.js | 15 + .../stress/arguments-non-configurable.js | 27 + .../arith-abs-integer-range-optimization.js | 139 + .../stress/arith-abs-on-various-types.js | 240 + .../stress/arith-abs-overflow.js | 22 + ...h-abs-to-arith-negate-range-optimizaton.js | 427 + .../stress/arith-abs-with-bitwise-or-zero.js | 54 + .../stress/arith-acos-on-various-types.js | 237 + .../stress/arith-acosh-on-various-types.js | 236 + .../arith-add-on-double-array-with-holes.js | 100 + .../arith-add-with-constant-overflow.js | 21 + .../stress/arith-add-with-constants.js | 271 + .../stress/arith-asin-on-various-types.js | 237 + .../stress/arith-asinh-on-various-types.js | 236 + .../stress/arith-atan-on-various-types.js | 236 + .../stress/arith-atanh-on-various-types.js | 237 + .../stress/arith-cbrt-on-various-types.js | 238 + .../stress/arith-ceil-on-various-types.js | 308 + .../stress/arith-clz32-effects.js | 30 + .../stress/arith-clz32-on-various-types.js | 234 + .../stress/arith-cos-on-various-types.js | 236 + .../stress/arith-cosh-on-various-types.js | 236 + .../stress/arith-expm1-on-various-types.js | 237 + .../stress/arith-floor-on-various-types.js | 308 + .../stress/arith-fround-on-various-types.js | 238 + .../stress/arith-log-on-various-types.js | 240 + .../stress/arith-log10-on-various-types.js | 237 + .../stress/arith-log2-on-various-types.js | 237 + .../stress/arith-modulo-node-behaviors.js | 106 + .../stress/arith-modulo-twice.js | 61 + .../stress/arith-mul-with-constants.js | 222 + .../stress/arith-negate-on-various-types.js | 284 + ...h-nodes-abstract-interpreter-untypeduse.js | 373 + ...on-number-due-to-dfg-osr-exit-profiling.js | 32 + .../stress/arith-round-on-various-types.js | 308 + .../stress/arith-sin-on-various-types.js | 236 + .../stress/arith-sinh-on-various-types.js | 236 + .../stress/arith-sqrt-on-various-types.js | 230 + .../arith-sub-on-double-array-with-holes.js | 98 + .../stress/arith-tan-on-various-types.js | 236 + .../stress/arith-tanh-on-various-types.js | 236 + .../stress/arith-trunc-on-various-types.js | 308 + .../stress/arity-check-ftl-throw-more-args.js | 23 + .../stress/arity-check-ftl-throw.js | 35 + ...ixup-inlining-dont-generate-invalid-use.js | 26 + ...up-should-not-touch-stack-area-below-sp.js | 3 + .../stress/arity-mismatch-arguments-length.js | 50 + .../stress/arity-mismatch-get-argument.js | 23 + .../arity-mismatch-inlining-extra-slots.js | 17 + .../stress/arity-mismatch-inlining.js | 24 + .../stress/arity-mismatch-rest.js | 65 + .../stress/array-buffer-byte-length.js | 66 + .../stress/array-concat-fast-spread-proxy.js | 41 + .../stress/array-concat-on-frozen-object.js | 72 + .../stress/array-concat-spread-object.js | 48 + ...ray-concat-spread-proxy-exception-check.js | 34 + .../stress/array-concat-spread-proxy.js | 40 + .../array-concat-with-slow-indexingtypes.js | 35 + .../stress/array-constructor-no-result.js | 13 + .../javascriptcore/stress/array-copywithin.js | 281 + .../stress/array-fill-put-by-val.js | 44 + .../stress/array-filter-put-by-val-direct.js | 27 + .../array-find-does-not-lookup-twice.js | 47 + .../javascriptcore/stress/array-flatmap.js | 97 + .../javascriptcore/stress/array-flatten.js | 108 + .../stress/array-from-abs-and-floor.js | 42 + .../stress/array-from-put-by-val-direct.js | 25 + .../stress/array-from-set-length.js | 45 + .../stress/array-from-with-accessors.js | 22 + .../stress/array-from-with-iterable.js | 69 + .../stress/array-from-with-iterator.js | 129 + .../array-indexof-array-prototype-change.js | 24 + .../stress/array-indexof-arraystorage.js | 85 + .../stress/array-indexof-constant-folding.js | 72 + .../array-indexof-have-a-bad-time-getter.js | 28 + .../stress/array-indexof-have-a-bad-time.js | 35 + .../stress/array-indexof-hole-and-other.js | 38 + .../array-indexof-hole-with-prototype.js | 35 + .../stress/array-indexof-hole.js | 33 + .../stress/array-indexof-index.js | 63 + .../stress/array-indexof-negative-index.js | 72 + .../array-indexof-non-int32-start-index.js | 21 + .../array-indexof-object-prototype-change.js | 24 + .../stress/array-indexof-object.js | 42 + .../stress/array-indexof-original-array.js | 46 + .../stress/array-indexof-other.js | 50 + .../stress/array-indexof-string.js | 37 + .../array-indexof-structure-change-convert.js | 32 + .../stress/array-indexof-structure-change.js | 20 + .../stress/array-indexof-symbol.js | 52 + .../javascriptcore/stress/array-indexof.js | 35 + .../array-iterators-next-error-messages.js | 18 + .../stress/array-iterators-next-with-call.js | 117 + .../stress/array-iterators-next.js | 108 + ...ay-join-on-strings-need-overflow-checks.js | 33 + ...array-length-array-storage-plain-object.js | 16 + .../stress/array-length-not-writable.js | 22 + .../stress/array-length-plain-object.js | 15 + .../stress/array-map-put-by-val-direct.js | 27 + .../stress/array-message-passing.js | 251 + .../stress/array-pop-array-storage.js | 65 + .../stress/array-pop-contiguous.js | 11 + .../stress/array-pop-double-hole.js | 14 + .../javascriptcore/stress/array-pop-double.js | 11 + .../javascriptcore/stress/array-pop-int32.js | 11 + ...prototype-concat-of-long-spliced-arrays.js | 36 + ...rototype-concat-of-long-spliced-arrays2.js | 26 + ...-prototype-slow-put-having-a-bad-time-2.js | 14 + ...ay-prototype-slow-put-having-a-bad-time.js | 15 + ...ray-prototype-splice-making-typed-array.js | 66 + .../array-push-array-storage-beyond-int32.js | 27 + .../stress/array-push-array-storage.js | 40 + .../stress/array-push-contiguous.js | 18 + .../stress/array-push-double-then-nan.js | 23 + .../stress/array-push-double.js | 18 + ...ush-multiple-array-storage-beyond-int32.js | 29 + .../stress/array-push-multiple-contiguous.js | 19 + .../stress/array-push-multiple-double-nan.js | 25 + .../stress/array-push-multiple-double.js | 32 + .../stress/array-push-multiple-int32.js | 24 + .../array-push-multiple-many-contiguous.js | 20 + .../stress/array-push-multiple-many-double.js | 20 + .../stress/array-push-multiple-many-int32.js | 20 + .../array-push-multiple-many-storage.js | 21 + .../array-push-multiple-storage-continuous.js | 31 + .../stress/array-push-multiple-storage.js | 29 + ...-double-array-cse-sane-and-insane-chain.js | 23 + .../stress/array-push-nan-to-double-array.js | 20 + .../stress/array-push-with-force-exit.js | 12 + .../javascriptcore/stress/array-push.js | 18 + .../stress/array-reverse-doesnt-clobber.js | 63 + .../stress/array-reverse-proxy.js | 221 + ...tLength-on-ArrayClass-with-large-length.js | 19 + ...tLength-on-ArrayClass-with-small-length.js | 19 + .../javascriptcore/stress/array-slice-cow.js | 31 + .../stress/array-slice-intrinsic.js | 49 + ...ay-slice-jettison-on-constructor-change.js | 72 + .../stress/array-slice-on-frozen-object.js | 64 + .../stress/array-slice-osr-exit-2.js | 76 + .../stress/array-slice-osr-exit.js | 74 + .../stress/array-slice-with-zero.js | 34 + .../stress/array-slice-zero-args.js | 19 + .../stress/array-sort-bad-comparator.js | 28 + .../array-species-config-array-constructor.js | 49 + .../stress/array-species-functions.js | 83 + .../stress/array-storage-array-unshift.js | 8 + .../stress/array-storage-get-by-val.js | 76 + .../stress/array-storage-length.js | 60 + .../array-symbol-species-lazy-watchpoints.js | 47 + .../stress/array-to-locale-string.js | 7 + .../array-unshift-zero-property-storage.js | 34 + .../stress/arrayify-array-storage-array.js | 29 + .../arrayify-array-storage-non-array.js | 28 + .../arrayify-array-storage-typed-array.js | 36 + .../stress/arrayify-array-storage.js | 25 + .../stress/arrayify-fires-watchpoint.js | 28 + .../stress/arrayify-int32-typed-array.js | 34 + ...ow-put-array-storage-pass-array-storage.js | 40 + .../stress/arrayify-slow-put-array-storage.js | 31 + .../stress/arrayify-structure-bad-test.js | 22 + .../arrayify-to-structure-contradiction.js | 16 + .../javascriptcore/stress/arrayify.js | 41 + ...ofile-should-not-convert-get-by-val-cow.js | 57 + .../arrow-function-needs-its-own-structure.js | 23 + .../arrow-function-token-is-not-keyword.js | 15 + ...w-functions-as-default-parameter-values.js | 203 + ...on-sink-osrexit-default-value-tdz-error.js | 46 + ...n-activation-sink-osrexit-default-value.js | 37 + .../arrowfunction-activation-sink-osrexit.js | 25 + .../stress/arrowfunction-activation-sink.js | 24 + .../stress/arrowfunction-bound.js | 18 + .../stress/arrowfunction-call.js | 18 + .../stress/arrowfunction-constructor.js | 22 + ...ion-lexical-bind-arguments-non-strict-1.js | 252 + ...ion-lexical-bind-arguments-non-strict-2.js | 100 + ...wfunction-lexical-bind-arguments-strict.js | 169 + .../arrowfunction-lexical-bind-newtarget.js | 194 + .../arrowfunction-lexical-bind-supercall-1.js | 67 + .../arrowfunction-lexical-bind-supercall-2.js | 176 + .../arrowfunction-lexical-bind-supercall-3.js | 52 + .../arrowfunction-lexical-bind-supercall-4.js | 198 + ...rrowfunction-lexical-bind-superproperty.js | 290 + .../arrowfunction-lexical-bind-this-1.js | 21 + .../arrowfunction-lexical-bind-this-2.js | 92 + .../arrowfunction-lexical-bind-this-3.js | 28 + .../arrowfunction-lexical-bind-this-4.js | 26 + .../arrowfunction-lexical-bind-this-5.js | 48 + .../arrowfunction-lexical-bind-this-6.js | 24 + .../arrowfunction-lexical-bind-this-7.js | 24 + .../arrowfunction-lexical-bind-this-8.js | 104 + ...on-lexical-this-activation-sink-osrexit.js | 34 + ...owfunction-lexical-this-activation-sink.js | 38 + ...lexical-this-sinking-no-double-allocate.js | 37 + ...owfunction-lexical-this-sinking-osrexit.js | 36 + .../arrowfunction-lexical-this-sinking-put.js | 45 + .../stress/arrowfunction-name.js | 15 + .../stress/arrowfunction-others.js | 27 + .../stress/arrowfunction-prototype.js | 22 + .../stress/arrowfunction-run-10-1.js | 24 + .../stress/arrowfunction-run-10-2.js | 25 + .../stress/arrowfunction-run-10000-1.js | 23 + .../stress/arrowfunction-run-10000-2.js | 23 + ...rrowfunction-sinking-no-double-allocate.js | 28 + .../stress/arrowfunction-sinking-osrexit.js | 21 + .../stress/arrowfunction-sinking-put.js | 28 + .../stress/arrowfunction-tdz-1.js | 31 + .../stress/arrowfunction-tdz-2.js | 32 + .../stress/arrowfunction-tdz-3.js | 177 + .../stress/arrowfunction-tdz-4.js | 46 + .../stress/arrowfunction-tostring.js | 20 + .../stress/arrowfunction-typeof.js | 27 + .../stress/assign-argument-in-inlined-call.js | 27 + ...ssign-captured-argument-in-inlined-call.js | 21 + ...ssignment-in-function-call-bracket-node.js | 126 + .../async-arrow-function-in-class-heritage.js | 25 + ...row-functions-lexical-arguments-binding.js | 50 + ...rrow-functions-lexical-binding-in-class.js | 264 + ...ow-functions-lexical-new.target-binding.js | 43 + ...c-arrow-functions-lexical-super-binding.js | 206 + ...nc-arrow-functions-lexical-this-binding.js | 27 + .../stress/async-await-basic.js | 348 + .../stress/async-await-long-loop.js | 26 + .../async-await-module-reserved-word.js | 69 + .../stress/async-await-mozilla.js | 302 + .../stress/async-await-reserved-word.js | 163 + .../stress/async-await-syntax.js | 582 + .../stress/async-await-throw-loop.js | 32 + .../async-function-create-nobaseline.js | 13 + .../stress/async-function-create-optimized.js | 44 + ...-declaration-sinking-no-double-allocate.js | 38 + ...nc-function-declaration-sinking-osrexit.js | 42 + .../async-function-declaration-sinking-put.js | 49 + ...n-expression-sinking-no-double-allocate.js | 36 + ...ync-function-expression-sinking-osrexit.js | 40 + .../async-function-expression-sinking-put.js | 46 + .../stress/async-generator-assertion.js | 36 + .../stress/async-iteration-async-from-sync.js | 468 + .../stress/async-iteration-basic.js | 955 + .../stress/async-iteration-evaluation.js | 20 + .../async-iteration-for-await-of-syntax.js | 118 + .../stress/async-iteration-for-await-of.js | 280 + .../stress/async-iteration-syntax.js | 122 + .../stress/async-iteration-yield-promise.js | 470 + .../async-iteration-yield-star-interface.js | 490 + .../stress/async-iteration-yield-star.js | 684 + .../stress/atomics-add-uint32.js | 14 + .../stress/atomics-known-int-use.js | 32 + .../javascriptcore/stress/atomics-neg-zero.js | 4 + .../stress/atomics-store-return.js | 27 + ...ould-neutralize-upsilons-with-dead-phis.js | 9 + .../baseline-osrentry-catch-is-reachable.js | 17 + .../stress/basic-eden-gc-test.js | 4 + .../javascriptcore/stress/basic-weakmap.js | 45 + .../javascriptcore/stress/basic-weakset.js | 43 + .../stress/big-int-add-wrapped-value.js | 37 + .../stress/big-int-addition-basic.js | 170 + .../stress/big-int-addition-jit.js | 19 + .../stress/big-int-addition-memory-stress.js | 14 + .../big-int-addition-string-coercion.js | 25 + ...ig-int-addition-to-primitive-precedence.js | 39 + .../stress/big-int-addition-to-primitive.js | 39 + .../stress/big-int-addition-type-error.js | 104 + .../javascriptcore/stress/big-int-as-key.js | 14 + .../stress/big-int-constructor-gc.js | 19 + .../stress/big-int-constructor-oom.js | 21 + .../stress/big-int-constructor-properties.js | 23 + ...t-constructor-prototype-prop-descriptor.js | 13 + .../stress/big-int-constructor-prototype.js | 10 + .../stress/big-int-constructor.js | 276 + .../javascriptcore/stress/big-int-div-jit.js | 19 + .../stress/big-int-div-memory-stress.js | 15 + .../stress/big-int-div-to-primitive.js | 34 + .../stress/big-int-div-type-error.js | 106 + .../stress/big-int-div-wrapped-value.js | 46 + .../javascriptcore/stress/big-int-division.js | 131 + .../stress/big-int-equals-basic.js | 124 + .../big-int-equals-to-primitive-precedence.js | 39 + .../stress/big-int-equals-wrapped-value.js | 37 + .../stress/big-int-function-apply.js | 18 + .../stress/big-int-greater-than-general.js | 140 + .../stress/big-int-greater-than-jit.js | 24 + .../big-int-greater-than-or-equal-jit.js | 24 + ...eater-than-or-equal-order-of-evaluation.js | 55 + ...nt-greater-than-or-equal-wrapped-values.js | 63 + .../stress/big-int-greater-than-or-equal.js | 140 + ...ig-int-greater-than-order-of-evaluation.js | 55 + .../big-int-greater-than-wrapped-values.js | 63 + .../javascriptcore/stress/big-int-length.js | 13 + .../stress/big-int-less-than-general.js | 148 + .../stress/big-int-less-than-jit.js | 24 + .../big-int-less-than-or-equal-general.js | 148 + .../stress/big-int-less-than-or-equal-jit.js | 24 + ...-less-than-or-equal-order-of-evaluation.js | 55 + ...g-int-less-than-or-equal-wrapped-values.js | 63 + .../big-int-less-than-order-of-evaluation.js | 55 + .../big-int-less-than-wrapped-values.js | 63 + .../stress/big-int-literal-line-terminator.js | 33 + .../javascriptcore/stress/big-int-literals.js | 113 + .../javascriptcore/stress/big-int-mod-jit.js | 33 + .../stress/big-int-mod-memory-stress.js | 15 + .../big-int-mod-to-primitive-precedence.js | 38 + .../stress/big-int-mod-to-primitive.js | 34 + .../stress/big-int-mod-type-error.js | 117 + .../stress/big-int-mod-wrapped-value.js | 36 + .../javascriptcore/stress/big-int-mod.js | 276 + .../javascriptcore/stress/big-int-mul-jit.js | 19 + .../big-int-mul-to-primitive-precedence.js | 39 + .../stress/big-int-mul-to-primitive.js | 35 + .../stress/big-int-mul-type-error.js | 106 + .../stress/big-int-mul-wrapped-value.js | 37 + .../stress/big-int-multiplication.js | 83 + .../stress/big-int-multiply-memory-stress.js | 15 + .../stress/big-int-negate-basic.js | 71 + .../stress/big-int-negate-jit.js | 48 + .../stress/big-int-no-conversion-to-number.js | 12 + .../stress/big-int-operations-error.js | 44 + .../stress/big-int-prop-descriptor.js | 12 + .../stress/big-int-proto-constructor.js | 14 + .../stress/big-int-proto-name.js | 13 + .../stress/big-int-prototype-properties.js | 39 + .../stress/big-int-prototype-proto.js | 11 + .../big-int-prototype-symbol-to-string-tag.js | 30 + .../big-int-prototype-to-string-apply.js | 24 + ...g-int-prototype-to-string-cast-overflow.js | 20 + .../big-int-prototype-to-string-exception.js | 22 + ...ig-int-prototype-to-string-wrong-values.js | 31 + .../stress/big-int-prototype-value-of.js | 22 + .../stress/big-int-spec-to-primitive.js | 17 + .../stress/big-int-spec-to-this.js | 23 + .../stress/big-int-strict-equals-jit.js | 37 + .../stress/big-int-strict-spec-to-this.js | 23 + .../stress/big-int-sub-wrapped-value.js | 36 + .../stress/big-int-subtraction-basic.js | 303 + .../stress/big-int-subtraction-jit.js | 19 + .../stress/big-int-subtraction-type-error.js | 125 + .../stress/big-int-to-object.js | 13 + .../stress/big-int-to-string.js | 33 + .../stress/big-int-type-of-proven-type.js | 18 + .../javascriptcore/stress/big-int-type-of.js | 10 + .../stress/big-int-unary-plus.js | 51 + .../big-int-white-space-trailing-leading.js | 111 + .../javascriptcore/stress/big-match.js | 20 + .../stress/big-split-captures.js | 27 + .../javascriptcore/stress/big-split.js | 21 + .../bit-op-value-to-int32-input-liveness.js | 20 + .../block-scoped-function-declarations.js | 227 + ...tion-does-not-have-caller-and-arguments.js | 15 + .../bound-function-lazy-name-generation.js | 23 + ...bound-function-tail-call-with-exception.js | 23 + .../stress/bound-function-uses-prototype.js | 31 + .../bounds-check-not-eliminated-by-licm.js | 30 + ...heck-int32-on-boolean-to-number-untyped.js | 23 + ...eck-number-on-boolean-to-number-untyped.js | 23 + ...ay-exit-due-to-object-or-other-use-kind.js | 46 + ...-bad-time-with-arguments-for-gc-testing.js | 140 + .../javascriptcore/stress/bug-131764.js | 22 + .../javascriptcore/stress/bug-165091.js | 14 + .../javascriptcore/stress/bug-171786.js | 15 + ...builtin-function-is-construct-type-none.js | 18 + .../stress/builtin-function-length.js | 47 + .../stress/builtin-function-name.js | 45 + ...terfly-zero-unused-butterfly-properties.js | 9 + .../stress/cached-prototype-setter.js | 45 + ...ly-builtin-functions-dont-use-iterators.js | 27 + .../call-apply-exponential-bytecode-size.js | 109 + ...d-varargs-for-inlined-escaped-arguments.js | 23 + ...-non-calleable-constructors-as-function.js | 59 + .../stress/call-object-constructor.js | 18 + .../call-varargs-double-new-array-buffer.js | 33 + ...lined-code-with-odd-number-of-arguments.js | 30 + .../stress/call-varargs-from-inlined-code.js | 30 + .../stress/call-varargs-length-effects.js | 24 + .../call-varargs-spread-new-array-buffer.js | 29 + .../call-varargs-spread-new-array-buffer2.js | 33 + .../stress/call-varargs-spread.js | 28 + ...different-arguments-length-after-warmup.js | 91 + ...rties-for-functions-that-dont-have-them.js | 74 + .../stress/caller-native-code.js | 25 + .../stress/capture-escape-and-throw.js | 28 + .../stress/captured-arguments-variable.js | 17 + .../catch-clause-should-be-under-tdz1.js | 10 + .../catch-clause-should-be-under-tdz2.js | 10 + .../catch-clause-should-be-under-tdz3.js | 10 + .../catch-clause-should-be-under-tdz4.js | 11 + .../catch-clause-should-be-under-tdz5.js | 10 + .../stress/catch-parameter-destructuring.js | 146 + .../stress/catch-parameter-syntax.js | 171 + .../catch-set-argument-speculation-failure.js | 53 + .../stress/catch-variables-under-tdz.js | 21 + .../stress/check-dom-with-signature.js | 22 + .../stress/check-string-ident.js | 16 + ...-ir-ensures-empty-does-not-flow-through.js | 26 + .../javascriptcore/stress/check-sub-class.js | 54 + .../stress/chill-mod-chill-mod.js | 10 + .../stress/class-derived-from-null.js | 130 + .../class-expression-generates-environment.js | 64 + ...ss-expression-should-be-tdz-in-heritage.js | 20 + ...oes-not-declare-variable-to-upper-scope.js | 29 + .../stress/class-static-get-weird.js | 19 + .../stress/class-subclassing-array.js | 35 + .../stress/class-subclassing-function.js | 37 + .../stress/class-subclassing-misc.js | 59 + .../stress/class-subclassing-string.js | 38 + .../stress/class-subclassing-typedarray.js | 19 + .../stress/class-syntax-block-scoping.js | 49 + .../class-syntax-definition-semantics.js | 36 + ...lass-syntax-derived-default-constructor.js | 26 + .../stress/class-syntax-double-constructor.js | 183 + .../stress/class-syntax-no-loop-tdz.js | 20 + .../stress/class-syntax-no-tdz-in-catch.js | 19 + .../class-syntax-no-tdz-in-conditional.js | 18 + .../stress/class-syntax-no-tdz-in-eval.js | 18 + ...s-syntax-no-tdz-in-loop-no-inline-super.js | 25 + .../stress/class-syntax-no-tdz-in-loop.js | 23 + .../stress/class-syntax-no-tdz.js | 16 + .../stress/class-syntax-super-in-eval.js | 93 + .../stress/class-syntax-tdz-in-catch.js | 30 + .../stress/class-syntax-tdz-in-conditional.js | 28 + .../stress/class-syntax-tdz-in-eval.js | 26 + .../stress/class-syntax-tdz-in-loop.js | 30 + .../class-syntax-tdz-osr-entry-in-loop.js | 58 + .../javascriptcore/stress/class-syntax-tdz.js | 80 + .../javascriptcore/stress/class_elements.js | 24 + ...lobberize-needs-to-model-spread-effects.js | 23 + .../stress/cloned-arguments-elimination.js | 33 + ...loned-arguments-get-by-val-double-array.js | 13 + .../stress/cloned-arguments-modification.js | 37 + ...arguments-should-visit-callee-during-gc.js | 34 + .../stress/closure-call-exit.js | 15 + ...osure-recursive-tail-call-infinite-loop.js | 29 + .../stress/closure-recursive-tail-call.js | 21 + .../stress/code-cache-incorrect-caching.js | 92 + ...iveness-needs-to-say-arguments-are-live.js | 24 + .../stress/compare-clobber-untypeduse.js | 12 + .../stress/compare-eq-incomplete-profile.js | 12 + .../compare-eq-object-or-other-to-object.js | 24 + .../compare-eq-object-to-object-or-other.js | 24 + ...e-eq-on-null-and-undefined-non-peephole.js | 45 + ...undefined-optimized-in-constant-folding.js | 70 + .../compare-eq-on-null-and-undefined.js | 174 + .../stress/compare-number-and-other.js | 75 + ...egate-method-of-getting-a-value-profile.js | 18 + .../compare-strict-eq-integer-to-misc.js | 25 + .../compare-strict-eq-on-various-types.js | 242 + .../stress/comparison-ignore-negative-zero.js | 65 + .../javascriptcore/stress/completion-value.js | 288 + .../stress/computed-accessor-parsing.js | 112 + .../stress/computed-accessor.js | 522 + .../stress/computed-function-names.js | 68 + .../concat-append-one-with-sparse-array.js | 6 + ...concat-with-holesMustForwardToPrototype.js | 19 + .../stress/const-and-with-statement.js | 115 + .../stress/const-exception-handling.js | 204 + .../stress/const-loop-semantics.js | 130 + .../stress/const-not-strict-mode.js | 147 + .../javascriptcore/stress/const-semantics.js | 274 + .../javascriptcore/stress/const-tdz.js | 450 + ...t-closure-var-with-dynamic-invalidation.js | 17 + ...offset-on-prototype-and-sink-allocation.js | 38 + .../stress/constant-folding-osr-exit.js | 132 + ...lding-phase-insert-check-handle-varargs.js | 151 + ...hould-fold-make-rope-with-empty-strings.js | 61 + ...d-varargs-for-inlined-escaped-arguments.js | 23 + .../stress/construct-overwritten-variable.js | 6 + ...construct-spread-overwritten-variable-2.js | 6 + .../construct-spread-overwritten-variable.js | 7 + .../construct-varargs-inline-smaller-Foo.js | 35 + .../stress/construct-varargs-inline.js | 39 + .../stress/construct-varargs-no-inline.js | 41 + .../stress/constructor-with-return.js | 41 + .../stress/contiguous-array-unshift.js | 6 + ...cow-convert-contiguous-to-array-storage.js | 25 + .../cow-convert-double-to-array-storage.js | 25 + .../cow-convert-double-to-contiguous.js | 28 + .../cow-convert-int32-to-array-storage.js | 25 + .../stress/cow-convert-int32-to-contiguous.js | 28 + .../stress/cow-convert-int32-to-double.js | 28 + .../stress/cow-define-length-as-value.js | 19 + ...s-in-osr-should-initialize-to-undefined.js | 17 + .../create-rest-while-having-a-bad-time.js | 16 + ...-throw-exception-when-getting-prototype.js | 44 + .../create-subclass-structure-might-throw.js | 34 + .../stress/create-this-property-change.js | 49 + ...reate-this-structure-change-without-cse.js | 51 + .../stress/create-this-structure-change.js | 51 + .../create-this-with-callee-variants.js | 18 + .../cse-multi-get-by-offset-remove-checks.js | 55 + ...inline-caching-one-level-up-proto-chain.js | 69 + .../javascriptcore/stress/custom-iterators.js | 322 + ...m-prototype-may-be-same-to-original-one.js | 11 + .../stress/dataview-construct.js | 76 + .../stress/dataview-prototype-accessors.js | 24 + .../stress/dataview-typedarray-toindex.js | 121 + .../stress/date-negative-zero.js | 7 + .../stress/date-parse-ranges.js | 145 + .../javascriptcore/stress/date-relaxed.js | 64 + .../stress/date-symbol-toprimitive.js | 6 + ...-in-function-with-multiple-basic-blocks.js | 26 + ...tured-variable-preceded-by-a-live-store.js | 17 + ...iat-double-to-int52-then-exit-not-int52.js | 15 + .../stress/dead-fiat-double-to-int52.js | 12 + .../stress/dead-fiat-int32-to-int52.js | 11 + .../dead-fiat-value-to-int52-double-path.js | 19 + ...iat-value-to-int52-then-exit-not-double.js | 21 + ...fiat-value-to-int52-then-exit-not-int52.js | 21 + .../stress/dead-fiat-value-to-int52.js | 16 + .../stress/dead-get-closure-var.js | 23 + .../stress/dead-int32-to-double.js | 16 + .../stress/dead-osr-entry-value.js | 16 + .../stress/dead-speculating-argument-use.js | 17 + .../stress/dead-uint32-to-number.js | 16 + ...ad-value-with-mov-hint-in-another-block.js | 17 + ...ClearingWatchpoint-destructor-recursion.js | 8 + .../stress/deeply-nested-finallys.js | 78 + ...lt-value-parsing-should-propagate-error.js | 21 + .../javascriptcore/stress/delete-by-id.js | 28 + .../stress/delete-by-val-ftl.js | 28 + .../javascriptcore/stress/delete-by-val.js | 15 + .../stress/delete-to-object-exception.js | 24 + ...tructuring-assignment-accepts-iterables.js | 441 + ...ing-assignment-require-object-coercible.js | 68 + .../stress/destructuring-assignment-syntax.js | 72 + .../stress/destructuring-rest-element.js | 107 + .../stress/dfg-call-class-constructor.js | 14 + .../dfg-create-arguments-inline-alloc.js | 19 + .../javascriptcore/stress/dfg-del-by-id.js | 14 + ...catch-in-constructor-with-inlined-throw.js | 27 + ...d-should-not-assert-non-null-prediction.js | 18 + .../stress/dfg-internal-function-call.js | 14 + .../stress/dfg-internal-function-construct.js | 14 + ...rt-to-constant-must-clear-varargs-flags.js | 14 + .../stress/dfg-object-proto-accessor.js | 115 + .../stress/dfg-object-proto-getter.js | 117 + .../stress/dfg-object-prototype-of.js | 115 + .../stress/dfg-put-accessors-by-id-class.js | 82 + .../stress/dfg-put-accessors-by-id.js | 75 + ...dfg-put-by-val-direct-with-edge-numbers.js | 104 + .../stress/dfg-put-getter-by-id-class.js | 45 + .../stress/dfg-put-getter-by-id.js | 39 + .../stress/dfg-put-getter-by-val-class.js | 42 + .../stress/dfg-put-getter-by-val.js | 39 + .../stress/dfg-put-setter-by-id-class.js | 46 + .../stress/dfg-put-setter-by-id.js | 41 + .../stress/dfg-put-setter-by-val-class.js | 44 + .../stress/dfg-put-setter-by-val.js | 41 + .../javascriptcore/stress/dfg-rare-data.js | 9 + .../stress/dfg-reflect-get-prototype-of.js | 58 + .../javascriptcore/stress/dfg-ssa-swap.js | 8 + .../javascriptcore/stress/dfg-tail-calls.js | 56 + .../stress/dfg-to-primitive-pass-symbol.js | 35 + ...y-catch-wrong-value-recovery-on-ic-miss.js | 50 + ...ct-arguments-in-bounds-to-out-of-bounds.js | 17 + .../stress/direct-arguments-osr-entry.js | 22 + ...rguments-out-of-bounds-change-structure.js | 30 + ...rect-arguments-out-of-bounds-watchpoint.js | 19 + ...erride-length-then-access-normal-length.js | 25 + .../stress/direct-binding-return-result.js | 17 + .../direct-eval-in-object-literal-methods.js | 62 + ...ect-tail-call-arity-mismatch-count-args.js | 20 + ...azy-materializing-error-property-on-put.js | 27 + .../stress/disable-function-dot-arguments.js | 20 + .../stress/disable-gigacage-arrays.js | 24 + .../stress/disable-gigacage-strings.js | 25 + .../stress/disable-gigacage-typed-arrays.js | 25 + .../stress/do-eval-virtual-call-correctly.js | 29 + .../stress/dom-jit-with-poly-proto.js | 41 + .../stress/domjit-exception-ic.js | 39 + .../javascriptcore/stress/domjit-exception.js | 69 + ...it-getter-complex-with-incorrect-object.js | 30 + .../stress/domjit-getter-complex.js | 16 + .../stress/domjit-getter-poly.js | 21 + .../stress/domjit-getter-proto.js | 19 + .../stress/domjit-getter-super-poly.js | 20 + ...etter-as-get-by-id-register-restoration.js | 54 + .../stress/domjit-getter-type-check.js | 28 + .../javascriptcore/stress/domjit-getter.js | 20 + ...-fold-check-type-info-on-bound-function.js | 17 + .../stress/dont-crash-ftl-osr-entry.js | 26 + .../dont-crash-in-cfg-simplification.js | 17 + .../dont-crash-on-bad-invalidation-point.js | 16 + ...-on-stack-overflow-when-parsing-builtin.js | 13 + ...erflow-when-parsing-default-constructor.js | 17 + ...crash-when-hoist-check-structure-on-tdz.js | 28 + .../dont-dead-lock-put-by-val-as-put-by-id.js | 17 + .../dont-reserve-huge-capacity-lexer.js | 17 + .../stress/dont-run-cleanup-after-licm.js | 14 + ...t-strength-reduce-valuerep-of-doublerep.js | 15 + .../stress/dont-unwind-past-vm-entry-frame.js | 39 + ...use-it-might-be-guarded-by-control-flow.js | 26 + .../stress/double-array-to-array-storage.js | 33 + .../stress/double-array-unshift.js | 6 + .../javascriptcore/stress/double-as-int32.js | 22 + .../stress/double-compare-to-float.js | 49 + .../double-rep-real-number-use-on-nan.js | 46 + .../stress/double-rep-with-non-cell.js | 32 + .../stress/double-rep-with-null.js | 107 + .../stress/double-rep-with-undefined.js | 131 + .../javascriptcore/stress/double-to-float.js | 157 + .../double-to-string-in-loop-removed.js | 8 + .../stress/duplicate-computed-accessors.js | 402 + ...ymorphic-call-inlining-should-be-exitOK.js | 19 + .../stress/eden-gc-with-retired-blocks.js | 24 + ...y-get-should-not-handled-with-get-by-id.js | 18 + ...lidable-new-object-roflcopter-then-exit.js | 23 + .../stress/elide-new-object-dag-then-exit.js | 43 + .../javascriptcore/stress/empty-function.js | 10 + .../stress/empty_eos_regex_split.js | 3 + .../stress/encode-decode-ascii.js | 11 + .../stress/encode-decode-unicode.js | 28 + .../encode-decode-uri-component-surrogates.js | 21 + .../stress/encode-decode-uri-surrogates.js | 21 + .../stress/encode-decode-zero.js | 20 + .../ensure-proper-strict-mode-parsing.js | 90 + .../stress/equality-type-checking.js | 34 + .../stress/equals-masquerader.js | 131 + ...description-on-symbols-should-not-crash.js | 17 + ...ror-message-for-function-base-not-found.js | 30 + ...ssages-for-in-operator-should-not-crash.js | 30 + .../stress/error-stack-trace-limit.js | 90 + ...s-or-messages-should-not-crash-toString.js | 12 + .../stress/es6-default-parameters.js | 393 + .../stress/es6-for-of-loop-exception.js | 29 + .../escape-object-in-diamond-then-exit.js | 40 + .../stress/escape-unescape-surrogates.js | 21 + .../javascriptcore/stress/eval-and-super.js | 37 + .../javascriptcore/stress/eval-cached.js | 79 + .../eval-func-decl-block-scoping-reassign.js | 18 + .../eval-func-decl-block-with-remove.js | 17 + ...val-func-decl-block-with-var-and-remove.js | 84 + ...val-func-decl-block-with-var-sinthesize.js | 90 + ...-block-scope-and-bind-to-top-eval-scope.js | 14 + ...func-decl-in-eval-within-block-with-let.js | 61 + ...val-func-decl-in-eval-within-with-scope.js | 111 + .../stress/eval-func-decl-in-frozen-global.js | 48 + .../eval-func-decl-in-global-of-eval.js | 66 + .../stress/eval-func-decl-in-global.js | 37 + .../stress/eval-func-decl-in-if.js | 20 + .../eval-func-decl-with-let-const-class.js | 160 + ...c-decl-within-eval-with-reassign-to-var.js | 137 + ...ecl-within-eval-without-reassign-to-let.js | 60 + .../stress/eval-in-arrow-function.js | 20 + .../eval-script-contains-null-character.js | 13 + .../stress/eval-that-is-not-eval.js | 14 + ...tion-dfg-inlined-frame-not-strict-equal.js | 39 + .../stress/exception-dfg-not-strict-equal.js | 71 + .../exception-dfg-operation-read-value.js | 35 + .../exception-dfg-throw-from-catch-block.js | 40 + .../stress/exception-effect-strcat.js | 42 + .../exception-in-strcat-string-overflow.js | 37 + .../stress/exception-in-strcat.js | 24 + ...ould-be-handled-early-in-object-methods.js | 73 + ...to-property-key-should-be-handled-early.js | 139 + .../stress/exit-after-int32-to-double.js | 15 + .../stress/exit-after-int52-to-double.js | 16 + .../stress/exit-after-int52-to-value.js | 25 + ...xit-after-llvm-folds-large-int-constant.js | 18 + ...nlined-arity-fixup-recover-proper-frame.js | 33 + ...ra-args-then-use-function-dot-arguments.js | 37 + .../exit-from-ftl-with-arity-check-fail.js | 18 + .../javascriptcore/stress/exit-from-getter.js | 23 + .../javascriptcore/stress/exit-from-setter.js | 23 + .../javascriptcore/stress/exit-then-eval.js | 17 + ...iat-double-to-int52-then-exit-not-int52.js | 19 + .../fiat-double-to-int52-then-fail-to-fold.js | 11 + .../stress/fiat-double-to-int52-then-fold.js | 11 + .../stress/fiat-double-to-int52.js | 14 + .../stress/fiat-int32-to-int52.js | 13 + .../stress/fiat-value-to-int52-double-path.js | 19 + ...iat-value-to-int52-then-exit-not-double.js | 24 + ...fiat-value-to-int52-then-exit-not-int52.js | 24 + .../fiat-value-to-int52-then-fail-to-fold.js | 11 + .../stress/fiat-value-to-int52-then-fold.js | 11 + .../stress/fiat-value-to-int52.js | 16 + .../javascriptcore/stress/finally-for-in.js | 38 + ...en-object-zero-unused-inline-properties.js | 7 + .../flatten-oversize-dictionary-object.js | 37 + .../flattening-prototype-remove-butterfly.js | 23 + .../stress/float32-array-nan-inlined.js | 20 + .../stress/float32-array-nan.js | 20 + .../stress/float32-array-out-of-bounds.js | 23 + .../stress/float32-repeat-out-of-bounds.js | 17 + .../stress/float32array-out-of-bounds.js | 29 + .../stress/float64-array-nan-inlined.js | 37 + .../stress/float64-array-nan.js | 34 + .../stress/floating-point-div-to-mul.js | 216 + ...rser-needs-to-update-argument-positions.js | 32 + .../fold-based-on-int32-proof-mul-branch.js | 17 + .../stress/fold-based-on-int32-proof-mul.js | 14 + .../fold-based-on-int32-proof-or-zero.js | 15 + .../stress/fold-based-on-int32-proof.js | 14 + ...ld-load-varargs-arity-check-fail-barely.js | 28 + .../fold-load-varargs-arity-check-fail.js | 29 + ...offset-to-get-by-offset-with-watchpoint.js | 26 + ...without-folding-the-structure-check-new.js | 42 + ...set-without-folding-the-structure-check.js | 50 + ...ld-multi-get-by-offset-to-get-by-offset.js | 26 + ...set-without-folding-the-structure-check.js | 56 + ...ld-multi-put-by-offset-to-put-by-offset.js | 40 + .../stress/fold-profiled-call-to-call.js | 24 + .../fold-to-double-constant-then-exit.js | 17 + .../fold-to-int52-constant-then-exit.js | 17 + .../stress/fold-to-primitive-in-cfa.js | 14 + .../fold-to-primitive-to-identity-in-cfa.js | 14 + .../stress/fold-typed-array-properties.js | 35 + .../stress/for-in-array-mode.js | 89 + ...e-reassigned-later-and-change-structure.js | 18 + .../stress/for-in-base-reassigned-later.js | 18 + .../stress/for-in-base-reassigned.js | 17 + .../stress/for-in-capture-string-loop-var.js | 22 + .../stress/for-in-delete-during-iteration.js | 69 + ...in-invalidate-context-weird-assignments.js | 82 + .../for-in-invalidation-for-any-write.js | 146 + .../stress/for-in-modify-int-loop-var.js | 21 + .../stress/for-in-modify-string-loop-var.js | 19 + .../javascriptcore/stress/for-in-of-const.js | 49 + .../stress/for-in-postfix-ignored-index.js | 14 + .../stress/for-in-postfix-index.js | 15 + .../stress/for-in-prefix-index.js | 12 + ...dexed-properties-should-prevent-caching.js | 77 + .../javascriptcore/stress/for-in-prototype.js | 57 + .../for-in-proxy-target-changed-structure.js | 34 + .../javascriptcore/stress/for-in-proxy.js | 18 + .../for-in-shadow-prototype-property.js | 22 + .../stress/for-in-side-effects.js | 79 + .../javascriptcore/stress/for-in-string.js | 16 + .../javascriptcore/stress/for-in-tests.js | 211 + .../stress/for-in-typed-array.js | 18 + .../javascriptcore/stress/for-let-comma.js | 16 + .../stress/force-exit-then-eval-dfg.js | 14 + .../stress/force-exit-then-eval.js | 23 + ...forward-varargs-double-new-array-buffer.js | 33 + ...d-varargs-for-inlined-escaped-arguments.js | 21 + ...eeze-and-seal-should-prevent-extensions.js | 51 + .../javascriptcore/stress/freeze-setter.js | 20 + .../javascriptcore/stress/freeze_leek.js | 41 + .../stress/fromCharCode-exception-check.js | 8 + .../javascriptcore/stress/ftl-arithcos.js | 15 + .../javascriptcore/stress/ftl-arithsin.js | 13 + .../javascriptcore/stress/ftl-arithsqrt.js | 13 + .../javascriptcore/stress/ftl-arithtan.js | 14 + .../ftl-bit-xor-right-result-interference.js | 31 + ...callee-exception-interesting-live-state.js | 57 + ...l-call-exception-interesting-live-state.js | 60 + .../stress/ftl-call-exception-no-catch.js | 51 + .../stress/ftl-call-exception.js | 59 + ...d-args-exception-interesting-live-state.js | 60 + ...callee-exception-interesting-live-state.js | 57 + ...arargs-exception-interesting-live-state.js | 60 + .../ftl-call-varargs-exception-no-catch.js | 51 + .../stress/ftl-call-varargs-exception.js | 59 + .../stress/ftl-checkin-variable.js | 17 + .../javascriptcore/stress/ftl-checkin.js | 17 + .../stress/ftl-force-osr-exit.js | 21 + ...unction-dot-arguments-with-callee-saves.js | 23 + ...getter-exception-interesting-live-state.js | 61 + ...ftl-get-by-id-getter-exception-no-catch.js | 53 + .../stress/ftl-get-by-id-getter-exception.js | 60 + ...d-slow-exception-interesting-live-state.js | 58 + .../ftl-get-by-id-slow-exception-no-catch.js | 49 + .../stress/ftl-get-by-id-slow-exception.js | 57 + ...argument-by-val-inlined-and-not-inlined.js | 27 + .../ftl-get-my-argument-by-val-inlined.js | 16 + .../stress/ftl-get-my-argument-by-val.js | 12 + .../stress/ftl-getmyargumentslength-inline.js | 9 + .../stress/ftl-getmyargumentslength.js | 11 + .../stress/ftl-gettypedarrayoffset-simple.js | 12 + .../ftl-gettypedarrayoffset-wasteful.js | 12 + .../stress/ftl-has-a-bad-time.js | 18 + .../javascriptcore/stress/ftl-in-overflow.js | 13 + .../stress/ftl-library-exception.js | 21 + .../ftl-library-inline-gettimezoneoffset.js | 16 + ...tl-library-inlining-exceptions-dataview.js | 26 + .../stress/ftl-library-inlining-exceptions.js | 19 + .../stress/ftl-library-inlining-loops.js | 28 + .../stress/ftl-library-inlining-random.js | 11 + .../stress/ftl-library-substring.js | 15 + .../javascriptcore/stress/ftl-negate-zero.js | 12 + .../stress/ftl-new-negative-array-size.js | 20 + ...ration-exception-interesting-live-state.js | 63 + .../ftl-operation-exception-no-catch.js | 52 + .../stress/ftl-operation-exception.js | 62 + ...setter-exception-interesting-live-state.js | 61 + ...ftl-put-by-id-setter-exception-no-catch.js | 54 + .../stress/ftl-put-by-id-setter-exception.js | 60 + ...d-slow-exception-interesting-live-state.js | 56 + .../ftl-put-by-id-slow-exception-no-catch.js | 51 + .../stress/ftl-put-by-id-slow-exception.js | 55 + .../javascriptcore/stress/ftl-putbyid.js | 13 + .../stress/ftl-putbyiddirect.js | 12 + .../stress/ftl-reallocatepropertystorage.js | 28 + .../javascriptcore/stress/ftl-regexp-exec.js | 17 + .../javascriptcore/stress/ftl-regexp-test.js | 12 + .../stress/ftl-shr-exception.js | 19 + .../stress/ftl-string-equality.js | 35 + .../stress/ftl-string-ident-equality.js | 18 + .../stress/ftl-string-strict-equality.js | 35 + .../stress/ftl-sub-exception.js | 19 + .../ftl-switch-string-slow-duplicate-cases.js | 31 + ...ion-from-slow-path-recover-stack-values.js | 31 + .../javascriptcore/stress/ftl-tail-call.js | 20 + .../stress/ftl-to-ftl-arity-fixup.js | 36 + .../ftl-try-catch-arith-sub-exception.js | 59 + ...r-ic-fail-to-call-operation-throw-error.js | 49 + ...getter-throw-interesting-value-recovery.js | 65 + .../stress/ftl-try-catch-getter-throw.js | 57 + .../ftl-try-catch-oom-error-lazy-slow-path.js | 69 + ...atch-patchpoint-with-volatile-registers.js | 73 + .../stress/ftl-try-catch-setter-throw.js | 46 + .../ftl-try-catch-tail-call-inilned-caller.js | 60 + .../ftl-try-catch-varargs-call-throws.js | 32 + .../stress/ftl-xor-exception.js | 19 + ...nction-caller-async-arrow-function-body.js | 26 + .../function-caller-async-function-body.js | 27 + .../function-caller-async-generator-body.js | 27 + .../stress/function-caller-generator-body.js | 24 + .../function-caller-generator-method-body.js | 26 + .../function-configurable-properties.js | 79 + ...reading-from-global-lexical-environment.js | 133 + .../stress/function-constructor-semantics.js | 64 + .../stress/function-expression-exit.js | 16 + .../stress/function-name-scope.js | 40 + .../stress/function-reentry-infer-on-self.js | 28 + .../function-sinking-no-double-allocate.js | 28 + .../stress/function-sinking-osrexit.js | 21 + .../stress/function-sinking-put.js | 28 + .../stress/function-toString-arrow.js | 1 + .../stress/function-with-defaults-inlining.js | 24 + .../function-with-defaults-non-inlining.js | 25 + .../javascriptcore/stress/fused-jeq-slow.js | 91 + .../javascriptcore/stress/fused-jeq.js | 69 + .../stress/fused-jstricteq-slow.js | 91 + .../javascriptcore/stress/fused-jstricteq.js | 69 + .../stress/fuzz-bug-16399949.js | 9 + .../stress/generational-opaque-roots.js | 40 + .../stress/generator-and-super.js | 42 + .../generator-arguments-from-function.js | 18 + .../stress/generator-arguments.js | 107 + .../stress/generator-class-methods-syntax.js | 48 + .../stress/generator-class-methods.js | 62 + .../stress/generator-eval-this.js | 65 + .../stress/generator-fib-ftl-and-array.js | 23 + .../stress/generator-fib-ftl-and-object.js | 23 + .../stress/generator-fib-ftl-and-string.js | 22 + .../stress/generator-fib-ftl.js | 21 + .../stress/generator-frame-empty.js | 34 + ...or-function-constructor-is-subclassible.js | 24 + .../stress/generator-function-constructor.js | 31 + .../generator-function-create-optimized.js | 33 + ...-declaration-sinking-no-double-allocate.js | 36 + ...or-function-declaration-sinking-osrexit.js | 30 + ...erator-function-declaration-sinking-put.js | 38 + ...n-expression-sinking-no-double-allocate.js | 36 + ...tor-function-expression-sinking-osrexit.js | 29 + ...nerator-function-expression-sinking-put.js | 37 + .../stress/generator-function-name.js | 19 + .../stress/generator-is-not-constructible.js | 41 + .../generator-methods-with-non-generator.js | 31 + .../stress/generator-methods.js | 60 + .../stress/generator-prototype-copy.js | 12 + ...nerator-reduced-save-point-put-to-scope.js | 28 + .../stress/generator-relations.js | 30 + .../generator-return-before-first-call.js | 23 + .../javascriptcore/stress/generator-return.js | 133 + .../javascriptcore/stress/generator-syntax.js | 166 + .../javascriptcore/stress/generator-this.js | 67 + .../generator-throw-before-first-call.js | 20 + .../javascriptcore/stress/generator-throw.js | 132 + ...transfer-register-beyond-mutiple-yields.js | 18 + .../stress/generator-type-check.js | 54 + .../stress/generator-with-new-target.js | 31 + .../stress/generator-with-super.js | 80 + .../stress/generator-with-this-strict.js | 20 + .../stress/generator-with-this.js | 20 + .../stress/generator-yield-star.js | 329 + ...neric-arguments-correct-delete-behavior.js | 47 + ...l-in-inlined-varargs-call-out-of-bounds.js | 31 + ...e-in-inlined-varargs-call-out-of-bounds.js | 35 + .../stress/get-array-length-on-undecided.js | 76 + ...t-array-length-phantom-new-array-buffer.js | 14 + .../stress/get-array-length-undecided.js | 10 + .../stress/get-by-id-direct-getter.js | 112 + .../javascriptcore/stress/get-by-id-direct.js | 110 + .../stress/get-by-id-strict-arguments.js | 28 + .../stress/get-by-id-strict-callee.js | 24 + .../stress/get-by-id-strict-caller.js | 28 + .../get-by-id-strict-nested-arguments-2.js | 42 + .../get-by-id-strict-nested-arguments.js | 27 + ...hrow-from-getter-through-optimized-code.js | 37 + ...rough-optimized-code-that-does-not-exit.js | 35 + ...nexpected-getter-through-optimized-code.js | 35 + .../stress/get-by-id-untyped.js | 21 + .../stress/get-by-offset-double.js | 25 + .../get-by-pname-only-prototype-properties.js | 50 + .../stress/get-by-val-double-predicted-int.js | 16 + .../get-by-val-on-undecided-array-type.js | 358 + .../get-by-val-on-undecided-out-of-bounds.js | 20 + .../get-by-val-on-undecided-sane-chain-1.js | 63 + .../get-by-val-on-undecided-sane-chain-2.js | 52 + .../get-by-val-on-undecided-sane-chain-3.js | 51 + .../get-by-val-on-undecided-sane-chain-4.js | 53 + .../get-by-val-on-undecided-sane-chain-5.js | 53 + .../get-by-val-on-undecided-sane-chain-6.js | 54 + .../stress/get-by-val-on-undecided-trivial.js | 37 + .../stress/get-by-val-out-of-bounds-basics.js | 221 + .../stress/get-by-val-string.js | 66 + .../stress/get-by-val-to-id-with-getter.js | 25 + .../get-by-val-with-string-constructor.js | 23 + .../stress/get-by-val-with-string-exit.js | 34 + .../get-by-val-with-string-generated.js | 33 + .../stress/get-by-val-with-string-getter.js | 16 + .../stress/get-by-val-with-string.js | 31 + .../get-by-val-with-symbol-constructor.js | 23 + .../stress/get-by-val-with-symbol-exit.js | 38 + .../stress/get-by-val-with-symbol-getter.js | 23 + .../stress/get-by-val-with-symbol.js | 33 + ...d-unpassed-argument-in-direct-arguments.js | 13 + ...d-unpassed-argument-in-scoped-arguments.js | 15 + .../get-from-scope-dynamic-onto-proxy.js | 106 + .../stress/get-local-elimination.js | 15 + ...get-my-argument-by-val-constant-folding.js | 14 + ...et-my-argument-by-val-creates-arguments.js | 42 + ...nt-by-val-for-inlined-escaped-arguments.js | 18 + ...ent-by-val-inlined-no-formal-parameters.js | 33 + ...rgument-by-val-out-of-bounds-no-warm-up.js | 9 + .../get-my-argument-by-val-out-of-bounds.js | 15 + ...t-my-argument-by-val-safe-out-of-bounds.js | 17 + ...get-my-argument-by-val-safe-wrap-around.js | 17 + ...-argument-by-val-wrap-around-no-warm-up.js | 9 + .../get-my-argument-by-val-wrap-around.js | 15 + .../get-prototype-create-this-effectful.js | 40 + .../get-stack-identity-due-to-sinking.js | 18 + .../get-stack-mapping-with-dead-get-stack.js | 27 + .../stress/get-stack-mapping.js | 26 + .../javascriptcore/stress/getter-arity.js | 7 + .../javascriptcore/stress/getter.js | 18 + .../global-const-redeclaration-setting-2.js | 15 + .../global-const-redeclaration-setting-3.js | 20 + .../global-const-redeclaration-setting-4.js | 20 + .../global-const-redeclaration-setting-5.js | 20 + .../global-const-redeclaration-setting.js | 13 + .../first.js | 1 + .../global-const-redeclaration-setting/let.js | 1 + .../second.js | 1 + .../strict.js | 2 + ...l-environment-does-not-trap-unscopables.js | 19 + .../javascriptcore/stress/global-is-finite.js | 18 + .../javascriptcore/stress/global-is-nan.js | 19 + .../stress/global-isNaN-basics.js | 260 + .../global-lexical-environment-to-this.js | 22 + .../stress/global-lexical-let-no-rhs.js | 14 + .../global-lexical-redeclare-variable.js | 115 + .../stress/global-lexical-redefine-const.js | 2 + .../stress/global-lexical-var-injection.js | 57 + .../stress/global-lexical-variable-tdz.js | 2 + ...al-lexical-variable-unresolved-property.js | 2 + .../global-lexical-variable-with-statement.js | 33 + ...l-property-into-variable-get-from-scope.js | 13 + ...fy-function-reentry-incorrect-inference.js | 25 + .../stress/has-custom-properties.js | 13 + .../has-indexed-property-array-storage-ftl.js | 48 + .../has-indexed-property-array-storage.js | 38 + ...xed-property-slow-put-array-storage-ftl.js | 61 + ...indexed-property-slow-put-array-storage.js | 51 + .../stress/has-instance-exception-check.js | 17 + .../stress/has-own-property-cache-basics.js | 31 + .../has-own-property-called-on-non-object.js | 21 + ...has-own-property-name-cache-string-keys.js | 39 + ...has-own-property-name-cache-symbol-keys.js | 36 + ...property-name-cache-symbols-and-strings.js | 45 + .../stress/have-a-bad-time-with-arguments.js | 140 + .../having-a-bad-time-with-derived-arrays.js | 48 + ...allocates-incorrect-size-for-activation.js | 41 + ...et-with-control-dependent-inferred-type.js | 14 + .../stress/ic-throw-through-optimized-code.js | 29 + .../stress/ignore-promise-species.js | 13 + .../javascriptcore/stress/import-basic.js | 55 + .../javascriptcore/stress/import-from-eval.js | 38 + .../stress/import-reject-with-exception.js | 17 + .../javascriptcore/stress/import-syntax.js | 66 + .../stress/import-tests/cocoa.js | 7 + .../stress/import-tests/multiple.js | 4 + .../stress/import-tests/multiple2.js | 4 + .../stress/import-tests/should.js | 19 + .../stress/import-with-empty-string.js | 2 + ...pure-get-own-property-slot-inline-cache.js | 19 + .../stress/in-by-id-accessors.js | 41 + .../javascriptcore/stress/in-by-id-ai.js | 26 + .../stress/in-by-id-constant.js | 33 + .../stress/in-by-id-custom-accessors.js | 25 + .../stress/in-by-id-custom-values.js | 17 + .../stress/in-by-id-match-invalid.js | 30 + .../javascriptcore/stress/in-by-id-match.js | 32 + .../stress/in-by-id-operation.js | 42 + .../javascriptcore/stress/in-by-id-proxy.js | 44 + .../stress/in-ftl-exception-check.js | 19 + .../stress/incomplete-unicode-locale.js | 3 + ...ll-object-constructor-with-no-arguments.js | 9 + .../stress/infer-constant-global-property.js | 18 + .../stress/infer-constant-property.js | 22 + .../stress/infer-uninitialized-closure-var.js | 26 + ...inite-loop-that-uses-captured-variables.js | 27 + .../javascriptcore/stress/inferred-names.js | 152 + .../inferred-type-table-stale-identifiers.js | 220 + ...uses-captured-variables-before-throwing.js | 34 + ...ptured-variables-but-they-do-not-escape.js | 33 + ...-uses-captured-variables-with-osr-entry.js | 26 + ...inite-loop-that-uses-captured-variables.js | 25 + .../initialize_functions_after_arguments.js | 8 + .../injected-numeric-setter-on-prototype.js | 36 + .../inline-call-that-doesnt-use-all-args.js | 27 + .../inline-call-to-recursive-tail-call.js | 94 + .../stress/inline-call-varargs-and-call.js | 25 + .../stress/inline-call-varargs.js | 23 + .../stress/inline-closure-call.js | 16 + .../stress/inline-llint-with-switch.js | 43 + .../stress/inline-varargs-get-arguments.js | 23 + .../inlined-constructor-this-liveness.js | 24 + ...ts-correct-codeblock-for-bytecodeoffset.js | 32 + .../stress/inlined-function-this-liveness.js | 26 + ...ld-not-crash-when-getting-value-profile.js | 13 + .../stress/inlining-unreachable-non-tail.js | 13 + .../stress/inlining-unreachable.js | 9 + .../inserted-recovery-with-set-last-index.js | 28 + ...e-of-on-poly-proto-opc-should-not-crash.js | 28 + .../instanceof-custom-hasinstancesymbol.js | 24 + ...nstanceof-dynamic-proxy-check-structure.js | 159 + .../stress/instanceof-dynamic-proxy-loop.js | 159 + .../stress/instanceof-dynamic-proxy.js | 150 + .../instanceof-hit-one-object-then-another.js | 19 + ...instanceof-hit-two-objects-then-another.js | 23 + .../instanceof-late-constant-folding.js | 19 + .../stress/instanceof-non-object-prototype.js | 21 + .../stress/instanceof-not-cell.js | 44 + .../instanceof-prototype-change-to-hit.js | 27 + .../instanceof-prototype-change-to-null.js | 25 + ...tanceof-prototype-change-watchpointable.js | 22 + .../stress/instanceof-prototype-change.js | 25 + .../instanceof-proxy-check-structure.js | 59 + .../stress/instanceof-proxy-loop.js | 59 + .../javascriptcore/stress/instanceof-proxy.js | 47 + .../javascriptcore/stress/instanceof.js | 39 + .../int16-put-by-val-in-and-out-of-bounds.js | 18 + ...y-val-in-bounds-then-exit-out-of-bounds.js | 19 + ...-out-of-bounds-bounds-then-do-in-bounds.js | 19 + .../stress/int32-array-unshift.js | 6 + .../stress/int32-min-to-string.js | 43 + .../stress/int32-object-out-of-bounds.js | 37 + .../stress/int32-out-of-bounds.js | 31 + .../stress/int32-to-string-in-loop-removed.js | 8 + .../stress/int32array-transition-on-nan.js | 88 + .../stress/int52-ai-add-then-filter-int32.js | 15 + ...ul-and-clean-neg-zero-then-filter-int32.js | 15 + ...int52-ai-mul-then-filter-int32-directly.js | 14 + .../stress/int52-ai-mul-then-filter-int32.js | 15 + .../stress/int52-ai-neg-then-filter-int32.js | 15 + .../stress/int52-ai-sub-then-filter-int32.js | 15 + .../javascriptcore/stress/int52-argument.js | 18 + .../stress/int52-force-osr-exit-path.js | 15 + .../stress/int52-inlined-call-argument.js | 19 + .../stress/int52-to-string-in-loop-removed.js | 8 + .../javascriptcore/stress/int52-variable.js | 18 + .../stress/int8-repeat-out-of-bounds.js | 17 + ...-optimization-constant-representation-1.js | 46 + ...-optimization-constant-representation-2.js | 43 + .../stress/internal-function-call.js | 9 + .../stress/internal-function-construct.js | 12 + .../stress/intl-constructors-with-proxy.js | 38 + ...ic-getter-with-poly-proto-getter-change.js | 33 + ...sic-getter-with-poly-proto-proto-change.js | 32 + .../intrinsic-getter-with-poly-proto.js | 31 + .../stress/invalidation-point.js | 24 + .../stress/inverted-additive-subsumption.js | 15 + .../javascriptcore/stress/is-constructor.js | 101 + .../is-undefined-exit-on-masquerader.js | 33 + .../is-undefined-jettison-on-masquerader.js | 21 + .../stress/is-undefined-masquerader.js | 20 + .../isInteger-doesnt-overwrite-argument.js | 13 + .../javascriptcore/stress/isLockFree.js | 75 + .../stress/istypedarrayview-intrinsic.js | 77 + .../stress/iterator-functions.js | 33 + .../javascriptcore/stress/iterator-names.js | 35 + .../stress/iterator-prototype.js | 53 + ...return-beyond-multiple-iteration-scopes.js | 172 + .../javascriptcore/stress/iterators-shape.js | 63 + ...then-cache-get-and-fold-then-invalidate.js | 33 + ...then-cache-get-and-fold-then-invalidate.js | 30 + ...ndle-double-constants-in-math-operators.js | 25 + ...cope-global-cache-watchpoint-invalidate.js | 26 + ...ngs-should-not-exceed-max-string-length.js | 30 + .../stress/js-fixed-array-out-of-memory.js | 25 + .../javascriptcore/stress/jsc-read.js | 36 + ...jsc-setImpureGetterDelegate-on-bad-type.js | 23 + ...sc-test-functions-should-be-more-robust.js | 28 + .../stress/json-parse-on-frozen-object.js | 75 + .../stress/json-stringified-overflow-2.js | 10 + .../stress/json-stringified-overflow.js | 9 + .../json-stringify-with-non-jsarray-array.js | 36 + ...eral-parser-semicolon-is-not-assignment.js | 4 + ...ust-consider-global-lexical-environment.js | 53 + ...-lazy-js-constant-in-strength-reduction.js | 7 + .../javascriptcore/stress/large-regexp.js | 11 + .../stress/large-unshift-splice.js | 18 + .../javascriptcore/stress/lars-sab-workers.js | 127 + .../stress/length-of-new-array-with-spread.js | 31 + .../stress/lexical-let-and-with-statement.js | 78 + .../stress/lexical-let-exception-handling.js | 202 + ...xical-let-global-not-captured-variables.js | 31 + .../stress/lexical-let-loop-semantics.js | 381 + .../stress/lexical-let-not-strict-mode.js | 128 + .../stress/lexical-let-semantics.js | 412 + .../javascriptcore/stress/lexical-let-tdz.js | 473 + .../stress/lexical-scoping-break-continue.js | 216 + .../stress/lexical-scoping-for-loop.js | 61 + .../stress/licm-no-pre-header-nested.js | 23 + .../stress/licm-no-pre-header.js | 17 + .../licm-pre-header-cannot-exit-nested.js | 21 + .../stress/licm-pre-header-cannot-exit.js | 19 + .../stress/lift-tdz-bypass-catch.js | 10 + .../stress/lift-template-literal.js | 69 + ...uning-needed-for-osr-availability-eager.js | 16 + ...ess-pruning-needed-for-osr-availability.js | 15 + ...then-cache-get-and-fold-then-invalidate.js | 26 + ...id-cache-prototype-load-from-dictionary.js | 19 + ...-proto-get-by-id-cache-change-prototype.js | 19 + ...t-proto-get-by-id-cache-intercept-value.js | 17 + ...cope-global-cache-watchpoint-invalidate.js | 22 + .../llint-stack-overflow-debugging-opcodes.js | 8 + .../stress/llint-stack-overflow-location.js | 35 + .../load-hole-from-scope-into-live-var.js | 14 + ...varargs-elimination-bounds-check-barely.js | 35 + .../load-varargs-elimination-bounds-check.js | 35 + ...ray-with-spread-convert-to-static-loads.js | 28 + ...rargs-then-inlined-call-and-exit-strict.js | 43 + ...load-varargs-then-inlined-call-and-exit.js | 41 + ...d-varargs-then-inlined-call-exit-in-foo.js | 46 + .../load-varargs-then-inlined-call-inlined.js | 43 + .../stress/load-varargs-then-inlined-call.js | 39 + .../logical-not-masquerades-as-undefined.js | 35 + .../stress/logical-not-masquerades.js | 33 + .../javascriptcore/stress/logical-not.js | 34 + .../stress/make-dictionary-repatch.js | 36 + .../stress/make-large-string-jit-strcat.js | 25 + .../stress/make-large-string-jit.js | 24 + .../stress/make-large-string-strcat.js | 14 + .../stress/make-large-string.js | 14 + .../javascriptcore/stress/make-rope-2.js | 16 + .../javascriptcore/stress/make-rope-3.js | 16 + .../stress/many-sunken-locals.js | 27 + .../map-clone-instance-iterator-change.js | 20 + .../stress/map-clone-iterator-change.js | 20 + .../stress/map-clone-next-change.js | 21 + .../javascriptcore/stress/map-clone.js | 20 + .../stress/map-constructor-adder.js | 46 + .../javascriptcore/stress/map-constructor.js | 133 + .../stress/map-cse-correctness.js | 66 + .../javascriptcore/stress/map-delete.js | 19 + .../javascriptcore/stress/map-inherit-set.js | 31 + .../javascriptcore/stress/map-iteration.js | 395 + ...rator-result-should-have-expected-shape.js | 33 + .../stress/map-iterators-next.js | 111 + .../javascriptcore/stress/map-rehash-2.js | 13 + .../javascriptcore/stress/map-rehash.js | 26 + .../stress/map-set-change-get.js | 21 + .../stress/map-set-check-failure.js | 35 + .../stress/map-set-clobber-map-get.js | 18 + .../stress/map-set-create-bucket.js | 23 + .../javascriptcore/stress/map-set-cse.js | 21 + .../map-set-does-not-clobber-set-has.js | 19 + .../map-set-does-not-clobber-weak-map-get.js | 26 + .../stress/map-untyped-normalize-cse.js | 46 + .../stress/map-untyped-normalize.js | 44 + .../stress/marked-argument-buffer.js | 96 + ...vation-referenced-from-phantom-function.js | 42 + ...e-object-referenced-from-phantom-object.js | 37 + .../materialize-past-butterfly-allocation.js | 89 + .../stress/materialize-past-put-structure.js | 14 + .../stress/materialize-regexp-at-osr-exit.js | 24 + ...ialize-regexp-cyclic-regexp-at-osr-exit.js | 28 + .../materialize-regexp-cyclic-regexp.js | 46 + .../stress/materialize-regexp-cyclic.js | 39 + ...p-referenced-from-phantom-regexp-cyclic.js | 43 + ...e-regexp-referenced-from-phantom-regexp.js | 40 + .../stress/materialize-regexp.js | 24 + ...ect-last-index-set-by-match-at-osr-exit.js | 41 + ...exp-has-correct-last-index-set-by-match.js | 28 + .../stress/math-abs-positive.js | 11 + .../stress/math-ceil-arith-rounding-mode.js | 85 + .../javascriptcore/stress/math-ceil-basics.js | 257 + .../stress/math-clz32-basics.js | 222 + .../javascriptcore/stress/math-exceptions.js | 47 + .../stress/math-floor-arith-rounding-mode.js | 85 + .../stress/math-floor-basics.js | 257 + .../javascriptcore/stress/math-log-basics.js | 128 + .../stress/math-log-with-constants.js | 128 + .../stress/math-max-min-no-arguments.js | 20 + .../javascriptcore/stress/math-pow-basics.js | 286 + .../math-pow-becomes-custom-function.js | 18 + .../stress/math-pow-coherency.js | 95 + .../math-pow-integer-exponent-fastpath.js | 56 + .../stress/math-pow-nan-behaviors.js | 209 + .../stress/math-pow-stable-results.js | 85 + .../stress/math-pow-with-constants.js | 285 + .../math-pow-with-never-NaN-exponent.js | 24 + .../stress/math-round-arith-rounding-mode.js | 44 + .../stress/math-round-basics.js | 257 + .../math-round-should-not-use-truncate.js | 12 + .../stress/math-rounding-infinity.js | 39 + .../stress/math-rounding-nan.js | 35 + .../stress/math-rounding-negative-zero.js | 79 + ...ble-architecture-specific-optimizations.js | 48 + .../javascriptcore/stress/math-sqrt-basics.js | 45 + .../stress/math-trunc-arith-rounding-mode.js | 85 + .../stress/math-trunc-basics.js | 256 + .../stress/math-trunc-should-be-truncate.js | 12 + .../stress/math-unary-no-arg.js | 38 + .../javascriptcore/stress/max-boolean-exit.js | 22 + .../javascriptcore/stress/method-name.js | 46 + .../misaligned-int8-view-byte-offset.js | 25 + .../stress/misaligned-int8-view-read.js | 26 + .../stress/misaligned-int8-view-write.js | 30 + .../stress/misc-is-object-or-null.js | 13 + ...erly-of-spread-over-phantom-create-rest.js | 25 + .../stress/modify-map-during-iteration.js | 97 + .../stress/modify-set-during-iteration.js | 91 + .../stress/module-namespace-access-change.js | 19 + .../module-namespace-access-non-constant.js | 13 + .../stress/module-namespace-access-poly.js | 24 + ...ule-namespace-access-transitive-exports.js | 12 + .../stress/module-namespace-access.js | 12 + .../stress/modules-syntax-error-with-names.js | 255 + .../stress/modules-syntax-error.js | 318 + .../javascriptcore/stress/modules-syntax.js | 312 + .../javascriptcore/stress/mul-boolean-exit.js | 30 + .../stress/multi-get-by-offset-dce.js | 22 + ...-by-offset-hoist-around-structure-check.js | 30 + .../multi-get-by-offset-proto-and-self.js | 20 + .../multi-get-by-offset-proto-or-unset.js | 30 + ...multi-get-by-offset-proto-self-or-unset.js | 42 + .../multi-get-by-offset-self-or-proto.js | 35 + .../multi-get-by-offset-self-or-unset.js | 30 + ...ulti-put-by-offset-multiple-transitions.js | 30 + ...ut-by-offset-reallocation-butterfly-cse.js | 102 + .../multi-put-by-offset-reallocation-cases.js | 100 + .../eighth.js | 2 + .../fifth.js | 2 + .../first.js | 2 + .../fourth.js | 2 + .../ninth.js | 2 + .../second.js | 2 + .../seventh.js | 2 + .../sixth.js | 2 + .../tenth.js | 2 + .../third.js | 2 + .../global-lexical-redefine-const/first.js | 21 + .../global-lexical-redefine-const/second.js | 22 + .../global-lexical-variable-tdz/first.js | 29 + .../global-lexical-variable-tdz/second.js | 12 + .../first.js | 27 + .../second.js | 14 + .../multiply-typed-double-and-object.js | 63 + .../mutual-tail-call-no-stack-overflow.js | 73 + .../stress/nan-equal-untyped.js | 24 + .../javascriptcore/stress/nan-equal.js | 12 + .../stress/native-constructors-length.js | 41 + .../stress/native-error-properties.js | 79 + ...ness-for-unreachable-blocks-at-dfg-time.js | 31 + .../new-array-buffer-sinking-osrexit.js | 17 + .../javascriptcore/stress/new-array-dead.js | 42 + .../new-array-having-a-bad-time-double.js | 25 + .../new-array-storage-array-with-size.js | 29 + .../stress/new-array-then-exit.js | 14 + .../stress/new-array-with-size-div.js | 22 + ...-throw-exception-and-tear-off-arguments.js | 26 + .../new-array-with-size-with-bad-time.js | 34 + ...ray-with-spread-double-new-array-buffer.js | 18 + ...d-with-normal-spread-and-phantom-spread.js | 33 + ...th-spread-with-phantom-new-array-buffer.js | 28 + .../stress/new-contiguous-array-with-size.js | 31 + .../stress/new-double-array-with-size.js | 25 + .../new-function-expression-has-structures.js | 11 + .../stress/new-int32-array-with-size.js | 25 + ...new-largeish-contiguous-array-with-size.js | 47 + ...omise-capabilities-requires-constructor.js | 18 + .../javascriptcore/stress/new-regex-inline.js | 82 + .../stress/new-string-object.js | 16 + .../stress/new-target-syntax-errors.js | 184 + .../javascriptcore/stress/new-target.js | 201 + .../stress/new-typed-array-cse-effects.js | 28 + .../stress/new-undecided-array-with-size.js | 22 + .../stress/no-abc-skippy-loop.js | 24 + .../stress/no-abc-skippy-paired-loop.js | 20 + .../javascriptcore/stress/non-constructors.js | 116 + .../normalize-map-key-constant-folding.js | 13 + .../javascriptcore/stress/not-cell-use.js | 29 + .../javascriptcore/stress/number-is-finite.js | 37 + .../stress/number-is-integer-intrinsic.js | 72 + .../javascriptcore/stress/number-is-nan.js | 38 + ...umber-prototype-to-string-cast-overflow.js | 18 + .../number-prototype-to-string-exception.js | 20 + ...number-prototype-to-string-wrong-values.js | 29 + ...ng-should-accept-strange-number-objects.js | 11 + .../number-to-string-abstract-operation.js | 80 + .../stress/number-to-string-radix.js | 80 + .../number-to-string-strength-reduction.js | 14 + .../stress/number-to-string-with-add.js | 40 + .../stress/number-to-string-with-radix-10.js | 15 + .../stress/number-to-string-with-radix-cse.js | 21 + .../number-to-string-with-radix-invalid.js | 24 + .../number-to-string-with-radix-watchpoint.js | 27 + .../stress/number-to-string-with-radix.js | 21 + .../javascriptcore/stress/number-to-string.js | 80 + ...ric-setter-on-prototype-non-blank-array.js | 36 + .../stress/numeric-setter-on-prototype.js | 32 + .../stress/numeric-setter-on-self.js | 32 + .../stress/obj-rest-destructuring-order.js | 45 + .../javascriptcore/stress/obj-spread-order.js | 45 + .../javascriptcore/stress/object-add.js | 16 + ...with-uninitialized-property-on-one-path.js | 53 + .../object-assign-changing-properties.js | 80 + .../stress/object-assign-correctness.js | 180 + .../stress/object-assign-enumerable.js | 14 + .../stress/object-assign-fast-path.js | 161 + .../stress/object-assign-order.js | 40 + .../stress/object-assign-proxy.js | 31 + .../stress/object-assign-string-first.js | 32 + .../stress/object-assign-symbols.js | 38 + .../javascriptcore/stress/object-assign.js | 26 + .../javascriptcore/stress/object-bit-and.js | 16 + .../javascriptcore/stress/object-bit-or.js | 16 + .../javascriptcore/stress/object-bit-xor.js | 16 + .../stress/object-constructor-boolean-edge.js | 18 + .../stress/object-constructor-global.js | 22 + .../stress/object-constructor-null-edge.js | 17 + .../stress/object-constructor-number-edge.js | 22 + .../stress/object-constructor-object-edge.js | 26 + ...-constructor-should-be-new-target-aware.js | 18 + .../stress/object-constructor-string-edge.js | 18 + .../stress/object-constructor-symbol-edge.js | 18 + .../object-constructor-undefined-edge.js | 17 + .../stress/object-create-define.js | 31 + .../stress/object-create-null-external.js | 16 + .../stress/object-create-null.js | 16 + .../stress/object-create-prototype.js | 17 + .../stress/object-create-undefined.js | 26 + .../javascriptcore/stress/object-div.js | 16 + .../javascriptcore/stress/object-entries.js | 123 + .../stress/object-escapes-in-loop.js | 17 + .../stress/object-freeze-accept-non-object.js | 15 + ...ect-freeze-with-proxy-preventExtensions.js | 29 + ...n-property-descriptor-perform-to-object.js | 43 + ...et-own-property-names-perform-to-object.js | 39 + ...-own-property-symbols-perform-to-object.js | 39 + .../stress/object-get-own-property-symbols.js | 35 + .../object-get-prototype-of-filtered.js | 64 + .../object-get-prototype-of-mono-proto.js | 34 + ...ject-get-prototype-of-perform-to-object.js | 29 + ...object-get-prototype-of-poly-mono-proto.js | 33 + .../object-get-prototype-of-poly-proto.js | 30 + .../object-is-extensible-accept-non-object.js | 15 + .../object-is-frozen-accept-non-object.js | 15 + .../object-is-sealed-accept-non-object.js | 15 + .../javascriptcore/stress/object-is.js | 72 + .../stress/object-iterate-symbols.js | 32 + .../javascriptcore/stress/object-iterate.js | 26 + .../stress/object-keys-perform-to-object.js | 39 + .../stress/object-literal-methods.js | 105 + .../javascriptcore/stress/object-lshift.js | 16 + .../javascriptcore/stress/object-mul.js | 16 + .../stress/object-number-properties.js | 148 + .../stress/object-own-property-keys.js | 45 + ...ct-prevent-extensions-accept-non-object.js | 15 + .../stress/object-proto-getter-filtered.js | 62 + .../object-proto-getter-poly-mono-proto.js | 34 + .../stress/object-proto-getter-poly-proto.js | 29 + ...ccessors-should-throw-on-undefined-this.js | 38 + .../stress/object-rest-deconstruct.js | 216 + .../javascriptcore/stress/object-rshift.js | 16 + .../stress/object-seal-accept-non-object.js | 15 + ...bject-seal-with-proxy-preventExtensions.js | 29 + .../javascriptcore/stress/object-spread.js | 313 + .../javascriptcore/stress/object-sub.js | 16 + .../stress/object-toString-with-proxy.js | 29 + .../javascriptcore/stress/object-urshift.js | 16 + .../object-values-changing-properties.js | 96 + .../javascriptcore/stress/object-values.js | 113 + .../obscure-error-message-dont-crash.js | 13 + ...obviously-elidable-new-object-then-exit.js | 23 + .../stress/op-add-exceptions.js | 79 + .../stress/op-negate-inline-cache.js | 300 + .../op-push-name-scope-crashes-profiler.js | 17 + .../javascriptcore/stress/op_add.js | 63 + .../javascriptcore/stress/op_bitand.js | 69 + .../javascriptcore/stress/op_bitor.js | 69 + .../javascriptcore/stress/op_bitxor.js | 69 + .../javascriptcore/stress/op_div-ConstVar.js | 19 + .../javascriptcore/stress/op_div-VarConst.js | 19 + .../javascriptcore/stress/op_div-VarVar.js | 19 + .../stress/op_lshift-ConstVar.js | 19 + .../stress/op_lshift-VarConst.js | 19 + .../javascriptcore/stress/op_lshift-VarVar.js | 19 + .../javascriptcore/stress/op_mod-ConstVar.js | 19 + .../javascriptcore/stress/op_mod-VarConst.js | 19 + .../javascriptcore/stress/op_mod-VarVar.js | 19 + .../javascriptcore/stress/op_mul-ConstVar.js | 19 + .../javascriptcore/stress/op_mul-VarConst.js | 19 + .../javascriptcore/stress/op_mul-VarVar.js | 19 + .../javascriptcore/stress/op_negate.js | 75 + .../javascriptcore/stress/op_postdec.js | 75 + .../javascriptcore/stress/op_postinc.js | 75 + .../javascriptcore/stress/op_predec.js | 75 + .../javascriptcore/stress/op_preinc.js | 75 + .../stress/op_rshift-ConstVar.js | 19 + .../stress/op_rshift-VarConst.js | 19 + .../javascriptcore/stress/op_rshift-VarVar.js | 19 + .../javascriptcore/stress/op_sub-ConstVar.js | 19 + .../javascriptcore/stress/op_sub-VarConst.js | 19 + .../javascriptcore/stress/op_sub-VarVar.js | 19 + .../stress/op_urshift-ConstVar.js | 19 + .../stress/op_urshift-VarConst.js | 19 + .../stress/op_urshift-VarVar.js | 19 + ...d-not-called-for-already-optimized-site.js | 12 + ...n-may-have-negative-int32-array-storage.js | 19 + ...ay-have-negative-int32-contiguous-array.js | 18 + ...in-may-have-negative-int32-double-array.js | 18 + ...n-may-have-negative-int32-generic-array.js | 18 + ...-in-may-have-negative-int32-int32-array.js | 18 + .../operation-in-may-have-negative-int32.js | 32 + .../operation-in-negative-int32-cast.js | 20 + .../stress/operation-in-throw-error.js | 28 + .../stress/optional-catch-binding-syntax.js | 30 + .../stress/optional-catch-binding.js | 50 + .../stress/ordinary-set-exceptions.js | 100 + ...catch-with-set-local-type-check-failure.js | 38 + ...-on-op-negate-should-no-fail-assertions.js | 22 + .../stress/other-is-object-or-null.js | 13 + .../stress/override-map-constructor.js | 4 + ...tart-calls-repeat-character-with-double.js | 43 + .../stress/parameter-scoping.js | 236 + .../parse-int-intrinsic-dfg-backend-flush.js | 14 + .../stress/parse-int-intrinsic.js | 97 + .../stress/parse-regexp-as-token.js | 7 + .../stress/path-sensitive-known-cell-crash.js | 21 + .../javascriptcore/stress/pathname-resolve.js | 64 + ...ments-set-local-then-exit-in-same-block.js | 17 + ...direct-arguments-clobber-argument-count.js | 20 + ...phantom-direct-arguments-clobber-callee.js | 21 + .../stress/phantom-inadequacy.js | 33 + ...m-local-captured-but-not-flushed-to-ssa.js | 21 + ...hantom-new-array-buffer-forward-varargs.js | 97 + ...antom-new-array-buffer-forward-varargs2.js | 33 + .../phantom-new-array-buffer-osr-exit.js | 46 + .../phantom-new-array-with-spread-osr-exit.js | 45 + .../stress/phantom-regexp-regexp-exec.js | 26 + .../stress/phantom-regexp-string-match.js | 26 + .../stress/phantom-spread-forward-varargs.js | 117 + .../stress/phantom-spread-osr-exit.js | 43 + .../stress/plus-boolean-exit.js | 22 + .../stress/plus-boolean-or-double.js | 24 + .../stress/plus-boolean-or-int.js | 24 + .../stress/poly-call-exit-this.js | 29 + .../javascriptcore/stress/poly-call-exit.js | 29 + .../stress/poly-call-stub-in-getter-stub.js | 37 + .../stress/poly-chain-getter.js | 30 + .../stress/poly-chain-setter.js | 32 + .../stress/poly-chain-then-getter.js | 31 + .../stress/poly-chain-then-setter.js | 33 + .../stress/poly-getter-combo.js | 40 + .../stress/poly-getter-then-chain.js | 31 + .../stress/poly-getter-then-self.js | 26 + .../stress/poly-proto-clear-stub.js | 101 + .../poly-proto-custom-value-and-accessor.js | 95 + ...poly-proto-intrinsic-getter-correctness.js | 37 + .../javascriptcore/stress/poly-proto-miss.js | 51 + .../stress/poly-proto-op-in-caching.js | 64 + ...y-proto-prototype-map-having-a-bad-time.js | 30 + .../stress/poly-proto-put-transition.js | 52 + .../stress/poly-proto-set-prototype.js | 65 + .../stress/poly-proto-setter.js | 71 + .../stress/poly-proto-using-inheritance.js | 51 + .../javascriptcore/stress/poly-self-getter.js | 31 + .../stress/poly-self-then-getter.js | 26 + .../stress/poly-setter-combo.js | 77 + .../stress/poly-setter-then-self.js | 28 + .../stress/polymorphic-prototype-accesses.js | 28 + .../javascriptcore/stress/pow-basics.js | 286 + .../javascriptcore/stress/pow-coherency.js | 95 + .../stress/pow-evaluation-order.js | 40 + .../pow-expects-update-expression-on-lhs.js | 96 + .../stress/pow-integer-exponent-fastpath.js | 56 + .../stress/pow-nan-behaviors.js | 209 + .../javascriptcore/stress/pow-no-result.js | 13 + .../javascriptcore/stress/pow-simple.js | 39 + .../stress/pow-stable-results.js | 85 + ...-number-should-be-executed-in-code-side.js | 77 + .../stress/pow-with-constants.js | 285 + .../stress/pow-with-never-NaN-exponent.js | 24 + .../stress/primitive-poly-proto.js | 53 + .../private-name-as-anonymous-builtin.js | 17 + .../stress/promise-cannot-be-called.js | 44 + .../javascriptcore/stress/promise-finally.js | 387 + ...ise-infinite-recursion-should-not-crash.js | 14 + .../stress/promise-species-functions.js | 72 + .../stress/prop-type-boolean-then-string.js | 29 + .../stress/prop-type-int32-then-string.js | 25 + .../stress/prop-type-number-then-string.js | 25 + .../prop-type-object-or-other-then-string.js | 33 + .../stress/prop-type-object-then-string.js | 25 + .../stress/prop-type-other-then-string.js | 25 + .../stress/prop-type-string-then-object.js | 25 + .../prop-type-struct-or-other-then-string.js | 36 + .../prop-type-struct-then-object-opt-fold.js | 34 + .../prop-type-struct-then-object-opt-multi.js | 30 + .../prop-type-struct-then-object-opt.js | 28 + .../stress/prop-type-struct-then-object.js | 25 + .../stress/prop-type-symbol-then-object.js | 25 + .../stress/prop-type-symbol-then-string.js | 26 + ...ble-after-force-exit-in-bytecode-parser.js | 27 + ...prototype-property-that-is-not-writable.js | 13 + ...-indexed-values-when-it-is-a-dictionary.js | 38 + ...called-for-bound-arguments-list-entries.js | 8 + .../javascriptcore/stress/proto-setter.js | 8 + ...has-dictionary-structure-for-in-caching.js | 36 + .../javascriptcore/stress/prototype-getter.js | 21 + .../stress/prototype-is-not-js-object.js | 32 + .../stress/proxy-all-the-parameters.js | 68 + .../stress/proxy-and-json-stringify.js | 28 + .../stress/proxy-and-typed-array.js | 17 + .../stress/proxy-array-prototype-methods.js | 204 + .../javascriptcore/stress/proxy-basic.js | 335 + .../proxy-call-apply-handler-to-this.js | 39 + .../javascriptcore/stress/proxy-call.js | 394 + .../javascriptcore/stress/proxy-class.js | 34 + .../javascriptcore/stress/proxy-construct.js | 263 + .../stress/proxy-define-own-property.js | 614 + .../javascriptcore/stress/proxy-delete.js | 277 + ...xy-get-and-set-recursion-stack-overflow.js | 67 + .../stress/proxy-get-own-property.js | 451 + .../stress/proxy-get-prototype-of.js | 428 + .../stress/proxy-get-set-correct-receiver.js | 117 + .../proxy-get-with-primitive-receiver.js | 22 + .../stress/proxy-has-property.js | 465 + .../stress/proxy-in-proto-chain.js | 28 + .../stress/proxy-inline-cache.js | 76 + .../javascriptcore/stress/proxy-instanceof.js | 39 + .../javascriptcore/stress/proxy-is-array.js | 61 + .../stress/proxy-is-extensible.js | 340 + .../javascriptcore/stress/proxy-json.js | 161 + .../javascriptcore/stress/proxy-of-a-proxy.js | 34 + .../javascriptcore/stress/proxy-own-keys.js | 664 + .../stress/proxy-prevent-extensions.js | 265 + .../stress/proxy-property-descriptor.js | 83 + ...eturning-incomplete-property-descriptor.js | 36 + .../javascriptcore/stress/proxy-revoke.js | 193 + .../stress/proxy-set-prototype-of.js | 371 + .../javascriptcore/stress/proxy-set.js | 656 + .../stress/proxy-stack-overflow-exceptions.js | 161 + .../stress/proxy-underscore-proto.js | 110 + .../stress/proxy-with-private-symbols.js | 88 + .../stress/proxy-with-statement.js | 26 + .../proxy-with-unbalanced-getter-setter.js | 70 + ...by-offset-replace-or-transition-variant.js | 58 + .../put-by-id-build-list-order-recurse.js | 35 + ...t-should-be-done-for-non-index-property.js | 41 + .../put-by-id-direct-strict-transition.js | 13 + .../stress/put-by-id-direct-transition.js | 11 + .../javascriptcore/stress/put-by-id-direct.js | 23 + ...t-after-prototype-transition-non-strict.js | 31 + ...bject-after-prototype-transition-strict.js | 33 + .../put-by-id-strict-build-list-order.js | 16 + .../put-by-id-throw-through-optimized-code.js | 33 + .../put-by-id-transition-null-prototype.js | 13 + .../stress/put-by-val-array-storage.js | 40 + .../put-by-val-direct-out-of-bounds-setter.js | 26 + .../stress/put-by-val-out-of-bounds-basics.js | 87 + .../put-by-val-slow-put-array-storage.js | 67 + .../stress/put-by-val-with-string-break.js | 25 + .../put-by-val-with-string-generated.js | 34 + .../stress/put-by-val-with-string-generic.js | 25 + .../stress/put-by-val-with-symbol-break.js | 25 + .../stress/put-by-val-with-symbol-generic.js | 25 + .../stress/put-direct-index-broken-2.js | 248 + .../stress/put-direct-index-broken.js | 25 + ...t-getter-setter-by-id-strict-transition.js | 13 + .../put-getter-setter-by-id-transition.js | 11 + .../stress/put-indexed-getter-setter.js | 18 + .../stress/put-inline-cache-side-effects.js | 30 + .../stress/put-local-conservative.js | 47 + .../stress/put-on-cow-prototype.js | 18 + .../stress/raise-error-in-iterator-close.js | 118 + .../javascriptcore/stress/random-53bit.js | 28 + .../javascriptcore/stress/random-in-range.js | 14 + .../stress/re-execute-error-module.js | 28 + ...d-varargs-for-inlined-escaped-arguments.js | 25 + .../stress/recurse-infinitely-on-getter.js | 23 + ...tail-call-with-different-argument-count.js | 25 + .../stress/recursive-try-catch.js | 89 + ...property_redefine_during_inline_caching.js | 23 + .../stress/redundant-add-overflow-checks.js | 18 + ...array-bounds-checks-addition-skip-first.js | 50 + .../redundant-array-bounds-checks-addition.js | 50 + ...-array-bounds-checks-unchecked-addition.js | 50 + .../stress/redundant-array-bounds-checks.js | 46 + .../javascriptcore/stress/reflect-apply.js | 91 + .../stress/reflect-construct.js | 228 + .../stress/reflect-define-property.js | 286 + .../stress/reflect-delete-property.js | 56 + .../stress/reflect-get-own-property.js | 147 + .../stress/reflect-get-prototype-of.js | 50 + .../javascriptcore/stress/reflect-get.js | 91 + .../javascriptcore/stress/reflect-has.js | 65 + .../stress/reflect-is-extensible.js | 28 + .../javascriptcore/stress/reflect-own-keys.js | 46 + .../stress/reflect-prevent-extensions.js | 31 + .../stress/reflect-set-prototype-of.js | 75 + .../stress/reflect-set-proxy-set.js | 671 + .../stress/reflect-set-receiver-proxy-set.js | 704 + .../stress/reflect-set-with-global-proxy.js | 206 + .../javascriptcore/stress/reflect-set.js | 1225 + .../javascriptcore/stress/reflect.js | 9 + .../regexp-exec-effect-after-exception.js | 26 + .../regexp-exec-test-effectful-last-index.js | 50 + .../stress/regexp-large-quantifier.js | 16 + .../stress/regexp-last-index-sinking.js | 23 + .../stress/regexp-last-index-writable.js | 52 + ...regexp-match-in-other-realm-should-work.js | 10 + .../stress/regexp-match-proxy.js | 166 + ...objects-not-inheriting-object-prototype.js | 11 + .../javascriptcore/stress/regexp-match.js | 102 + .../stress/regexp-matches-array-bad-time.js | 19 + .../stress/regexp-matches-array-slow-put.js | 15 + .../stress/regexp-matches-array.js | 14 + .../regexp-prototype-exec-on-too-long-rope.js | 33 + ...regexp-prototype-match-on-too-long-rope.js | 33 + ...e-replace-builtin-should-not-use-for-of.js | 6 + .../regexp-prototype-test-on-too-long-rope.js | 33 + .../stress/regexp-prototype-tostring.js | 90 + ...gexp-replace-in-other-realm-should-work.js | 10 + .../stress/regexp-replace-proxy.js | 154 + ...objects-not-inheriting-object-prototype.js | 11 + .../javascriptcore/stress/regexp-search.js | 104 + .../regexp-syntax-error-invalid-flags.js | 23 + .../regexp-with-runtime-syntax-errors.js | 66 + .../javascriptcore/stress/regress-132147.js | 28 + .../javascriptcore/stress/regress-135155.js | 9 + .../javascriptcore/stress/regress-141489.js | 34 + .../javascriptcore/stress/regress-141883.js | 15 + .../javascriptcore/stress/regress-148564.js | 72 + .../javascriptcore/stress/regress-150532.js | 43 + .../javascriptcore/stress/regress-151324.js | 1700 + .../javascriptcore/stress/regress-153486.js | 48 + .../javascriptcore/stress/regress-153816.js | 11 + .../javascriptcore/stress/regress-156765.js | 27 + .../javascriptcore/stress/regress-156992.js | 35 + .../javascriptcore/stress/regress-157322.js | 43 + .../javascriptcore/stress/regress-157595.js | 28 + .../javascriptcore/stress/regress-158411.js | 11 + .../javascriptcore/stress/regress-158437.js | 11 + .../javascriptcore/stress/regress-159537.js | 62 + .../javascriptcore/stress/regress-159744.js | 14 + .../javascriptcore/stress/regress-159779-1.js | 4889 +++ .../javascriptcore/stress/regress-159779-2.js | 5450 +++ .../javascriptcore/stress/regress-159883.js | 5 + .../javascriptcore/stress/regress-159954.js | 23 + .../javascriptcore/stress/regress-160329.js | 17 + .../javascriptcore/stress/regress-160749.js | 91 + .../javascriptcore/stress/regress-161995.js | 14 + .../javascriptcore/stress/regress-163748.js | 24 + .../javascriptcore/stress/regress-164081.js | 34 + .../javascriptcore/stress/regress-166812.js | 17 + .../javascriptcore/stress/regress-168546.js | 14 + .../javascriptcore/stress/regress-169783.js | 20 + .../javascriptcore/stress/regress-169941.js | 19 + .../javascriptcore/stress/regress-170412.js | 8 + .../javascriptcore/stress/regress-170473.js | 15 + .../javascriptcore/stress/regress-170661.js | 18 + .../javascriptcore/stress/regress-170732.js | 4 + ...ss-170896-with-contiguous-shape-profile.js | 13 + ...egress-170896-with-double-shape-profile.js | 13 + ...regress-170896-with-int32-shape-profile.js | 13 + .../javascriptcore/stress/regress-170973.js | 16 + .../javascriptcore/stress/regress-170989.js | 7 + .../javascriptcore/stress/regress-170990.js | 15 + .../javascriptcore/stress/regress-171079.js | 38 + .../javascriptcore/stress/regress-172346.js | 16 + .../javascriptcore/stress/regress-172383.js | 40 + .../stress/regress-172548.patch | 43 + .../javascriptcore/stress/regress-173035.js | 6 + .../javascriptcore/stress/regress-173053.js | 19 + .../javascriptcore/stress/regress-173321.js | 56 + .../javascriptcore/stress/regress-174044.js | 37 + .../javascriptcore/stress/regress-174948.js | 5 + .../javascriptcore/stress/regress-176485.js | 11 + .../javascriptcore/stress/regress-177423.js | 14 + .../javascriptcore/stress/regress-177570.js | 4 + .../javascriptcore/stress/regress-177584.js | 18 + .../javascriptcore/stress/regress-177600.js | 5 + .../javascriptcore/stress/regress-178385.js | 16 + .../javascriptcore/stress/regress-178386.js | 12 + .../javascriptcore/stress/regress-178420.js | 17 + .../javascriptcore/stress/regress-178890.js | 4 + .../javascriptcore/stress/regress-179140.js | 38 + .../javascriptcore/stress/regress-179185.js | 3 + .../javascriptcore/stress/regress-179355.js | 25 + .../javascriptcore/stress/regress-179562.js | 33 + .../javascriptcore/stress/regress-179619.js | 67 + .../javascriptcore/stress/regress-179634.js | 23 + .../javascriptcore/stress/regress-180219.js | 3 + .../javascriptcore/stress/regress-180761.js | 6 + .../javascriptcore/stress/regress-181388.js | 71 + .../javascriptcore/stress/regress-182419.js | 28 + .../javascriptcore/stress/regress-185786.js | 22 + .../javascriptcore/stress/regress-185888.js | 11 + .../javascriptcore/stress/regress-185896.js | 14 + .../javascriptcore/stress/regress-185995.js | 13 + .../javascriptcore/stress/regress-186943.js | 5 + .../javascriptcore/stress/regress-187006.js | 16 + .../javascriptcore/stress/regress-187010.js | 7 + .../javascriptcore/stress/regress-187060.js | 9 + .../javascriptcore/stress/regress-187074.js | 20 + .../javascriptcore/stress/regress-187091.js | 20 + .../javascriptcore/stress/regress-187211.js | 80 + .../relaxed-line-terminators-in-string.js | 14 + .../stress/remove-phantom-after-setlocal.js | 18 + ...l-with-same-value-watchpoint-invalidate.js | 23 + .../stress/repeated-arity-check-fail.js | 8 + ...eated-put-by-id-reallocating-transition.js | 87 + .../replacement-watchpoint-dictionary.js | 27 + .../stress/replacement-watchpoint.js | 22 + .../stress/reserved-word-with-escape.js | 152 + .../stress/resources/binary-op-test.js | 135 + .../stress/resources/binary-op-values.js | 73 + .../stress/resources/error-module.js | 1 + .../resources/literal-parser-test-case.js | 1 + ...e-namespace-access-transitive-exports-2.js | 10 + ...ule-namespace-access-transitive-exports.js | 1 + .../resources/module-namespace-access.js | 10 + .../resources/shadow-chicken-support.js | 67 + .../stress/resources/standalone-pre.js | 336 + ...typedarray-constructor-helper-functions.js | 60 + .../typedarray-test-helper-functions.js | 105 + .../stress/resources/unary-op-test.js | 134 + .../javascriptcore/stress/rest-elements.js | 193 + ...er-allocation-elimination-watchpoints-2.js | 19 + ...er-allocation-elimination-watchpoints-3.js | 22 + ...er-allocation-elimination-watchpoints-4.js | 20 + ...er-allocation-elimination-watchpoints-5.js | 25 + ...eter-allocation-elimination-watchpoints.js | 22 + .../rest-parameter-and-default-arguments.js | 36 + .../stress/rest-parameter-basics.js | 103 + .../rest-parameter-having-a-bad-time.js | 68 + .../stress/rest-parameter-inlined.js | 38 + .../stress/rest-parameter-is-destructuring.js | 88 + .../stress/rest-parameter-many-arguments.js | 51 + .../stress/rest-parameter-negative.js | 21 + .../stress/rest-parameter-various-types.js | 98 + .../stress/retry-cache-later.js | 18 + ...right-left-context-invalidated-by-input.js | 25 + .../stress/ropes-symbol-toprimitive.js | 28 + .../javascriptcore/stress/runtime-array.js | 15 + .../runtime-throw-through-optimized-code.js | 33 + .../sampling-profiler-anonymous-function.js | 22 + .../stress/sampling-profiler-basic.js | 44 + .../sampling-profiler-bound-function-name.js | 28 + .../stress/sampling-profiler-deep-stack.js | 33 + .../stress/sampling-profiler-display-name.js | 49 + ...ampling-profiler-internal-function-name.js | 17 + .../stress/sampling-profiler-microtasks.js | 56 + .../sampling-profiler/samplingProfiler.js | 90 + .../stress/scoped-arguments-array-length.js | 17 + ...rguments-out-of-bounds-change-structure.js | 30 + .../stress/scoped-arguments-test.js | 16 + ...write-barrier-should-be-on-scope-object.js | 35 + ...direct-arguments-get-by-val-in-baseline.js | 30 + .../stress/set-add-check-failure.js | 35 + .../stress/set-add-clobber-set-has.js | 20 + .../stress/set-add-create-bucket.js | 26 + .../javascriptcore/stress/set-add-cse.js | 21 + .../set-add-does-not-clobber-map-get.js | 19 + .../set-clone-instance-iterator-change.js | 17 + .../stress/set-clone-iterator-change.js | 17 + .../stress/set-clone-next-change.js | 17 + .../javascriptcore/stress/set-clone.js | 16 + .../stress/set-constructor-adder.js | 34 + .../javascriptcore/stress/set-constructor.js | 69 + .../javascriptcore/stress/set-inherit-add.js | 28 + ...rator-result-should-have-expected-shape.js | 33 + .../stress/set-iterators-next.js | 115 + .../stress/set-same-prototype.js | 38 + .../stress/set-untyped-normalize-cse.js | 44 + .../stress/set-untyped-normalize.js | 44 + ...hs-invalid-assertion-inside-access-case.js | 17 + .../javascriptcore/stress/setter.js | 47 + .../stress/shadow-chicken-disabled.js | 56 + .../stress/shadow-chicken-enabled.js | 210 + ...pe-after-ftl-osr-exit-bytecode-liveness.js | 17 + .../javascriptcore/stress/simple-ai-effect.js | 39 + ...imple-polyvariant-call-inlining-example.js | 32 + ...-polyvariant-get-by-id-inlining-example.js | 24 + ...-polyvariant-put-by-id-inlining-example.js | 26 + .../stress/simple-prototype-accesses.js | 20 + .../stress/simple-regexp-exec-folding-fail.js | 11 + .../stress/simple-regexp-exec-folding.js | 19 + .../stress/simple-regexp-test-folding-fail.js | 11 + .../stress/simple-regexp-test-folding.js | 11 + ...gs-mandatory-minimum-smaller-than-limit.js | 15 + .../stress/singleton-scope-then-overwrite.js | 20 + ...gleton-scope-then-realloc-and-overwrite.js | 20 + .../stress/singleton-scope-then-realloc.js | 20 + .../sink-arguments-past-invalid-check-dfg.js | 17 + ...-arguments-past-invalid-check-int32-dfg.js | 12 + ...sink-arguments-past-invalid-check-int32.js | 24 + ...k-arguments-past-invalid-check-sneakier.js | 37 + .../sink-arguments-past-invalid-check.js | 23 + ...nk-function-past-invalid-check-sneakier.js | 35 + ...sink-function-past-invalid-check-sneaky.js | 13 + .../stress/sink-multigetbyoffset.js | 27 + .../sink-object-past-invalid-check-int32.js | 24 + ...sink-object-past-invalid-check-sneakier.js | 32 + .../sink-object-past-invalid-check-sneaky.js | 20 + .../stress/sink-object-past-invalid-check.js | 20 + .../sink-phantom-new-array-buffer-exit-ok.js | 8 + .../stress/sink-put-stack-over-kill-stack.js | 16 + ...sible-multi-get-by-offset-on-prototypes.js | 41 + .../stress/sink_checkstructure.js | 17 + ...ult-to-fold-reflective-arguments-access.js | 16 + .../stress/sloppy-mode-function-hoisting.js | 743 + ...ents-function-non-simple-parameter-list.js | 158 + ...ath-generator-updating-current-node-dfg.js | 27 + .../stress/sort-array-with-undecided.js | 1 + .../sorting-boolean-result-comparator.js | 15 + .../javascriptcore/stress/source-origin.js | 11 + .../sparse-array-entry-update-144067.js | 56 + .../stress/sparse-define-empty-descriptor.js | 6 + .../stress/sparse-map-non-overlapping.js | 26 + .../sparse-map-non-skip-getter-overriding.js | 21 + .../stress/sparse-map-non-skip.js | 44 + .../javascriptcore/stress/sparse_splice.js | 12 + .../spec-empty-flows-through-cell-checks.js | 24 + .../stress/splay-flash-access-1ms.js | 903 + .../stress/splay-flash-access.js | 904 + .../spread-array-iterator-watchpoint-2.js | 22 + .../spread-array-iterator-watchpoint.js | 25 + .../spread-call-convert-to-static-call.js | 29 + .../javascriptcore/stress/spread-calling.js | 83 + .../stress/spread-capture-rest.js | 80 + .../spread-consults-correct-global-object.js | 18 + ...read-correct-global-object-on-exception.js | 45 + ...spread-escapes-but-create-rest-does-not.js | 35 + ...es-but-new-array-buffer-does-not-double.js | 35 + ...d-escapes-but-new-array-buffer-does-not.js | 35 + ...ead-forward-call-varargs-stack-overflow.js | 58 + ...st-parameter-change-iterator-protocol-2.js | 46 + ...rest-parameter-change-iterator-protocol.js | 49 + .../spread-forward-varargs-stack-overflow.js | 52 + .../javascriptcore/stress/spread-in-tail.js | 18 + .../stress/spread-multi-layers.js | 47 + .../javascriptcore/stress/spread-non-array.js | 62 + .../stress/spread-non-varargs.js | 35 + .../stress/spread-optimized-properly.js | 155 + .../stress/spread-outer-create-rest.js | 22 + .../stress/static-function-delete.js | 10 + .../stress/static-function-put.js | 11 + .../stress/static-getter-delete.js | 47 + .../stress/static-getter-descriptors.js | 12 + .../stress/static-getter-enumeration.js | 8 + .../stress/static-getter-get.js | 22 + .../stress/static-getter-in-names.js | 7 + .../stress/static-getter-names.js | 16 + .../stress/static-getter-put.js | 38 + .../javascriptcore/stress/strcat-emtpy.js | 14 + .../stress/strict-function-structure.js | 8 + .../stress/strict-mode-arguments-caller.js | 13 + .../strict-nested-function-structure.js | 12 + .../stress/strict-to-this-int.js | 25 + .../javascriptcore/stress/string-compare.js | 78 + ...rom-char-code-change-structure-not-dead.js | 31 + .../string-from-char-code-change-structure.js | 29 + .../stress/string-from-char-code-slow.js | 10 + .../stress/string-from-code-point.js | 135 + ...string-ident-to-not-string-var-equality.js | 32 + .../stress/string-instanceof.js | 13 + .../javascriptcore/stress/string-iterators.js | 212 + ...g-joining-long-strings-should-not-crash.js | 16 + .../javascriptcore/stress/string-normalize.js | 120 + .../string-object-define-own-property.js | 69 + .../stress/string-object-put-by-index.js | 41 + ...ring-out-of-bounds-negative-proto-value.js | 14 + .../javascriptcore/stress/string-proto.js | 12 + ...g-prototype-charCodeAt-on-too-long-rope.js | 33 + ...ndsWith-startsWith-includes-correctness.js | 180 + ...memory-error-when-using-too-much-memory.js | 23 + ...copes-global-lexical-environment-strict.js | 15 + ...otype-scopes-global-lexical-environment.js | 13 + .../stress/string-prototype-scopes-strict.js | 51 + .../stress/string-prototype-scopes.js | 54 + .../javascriptcore/stress/string-raw.js | 154 + .../stress/string-repeat-copy-chars-crash.js | 8 + .../stress/string-repeat-edge-cases.js | 57 + ...ce-constant-folding-replacer-not-string.js | 13 + .../stress/string-replace-proxy.js | 50 + .../stress/string-rope-with-custom-valueof.js | 61 + .../stress/string-symbol-customization.js | 108 + .../stress/sub-order-evaluation.js | 27 + .../stress/sub-overflows-after-not-equal.js | 16 + ...super-call-does-not-look-up-constructor.js | 20 + .../stress/super-call-function-subclass.js | 15 + .../stress/super-dot-call-and-apply.js | 50 + .../stress/super-force-ic-fail.js | 56 + .../javascriptcore/stress/super-get-by-id.js | 207 + .../stress/super-getter-reset-ic.js | 33 + .../stress/super-in-lexical-scope.js | 63 + .../stress/super-method-calls-check-tdz.js | 25 + .../super-property-access-exceptions.js | 153 + ...roperty-access-object-literal-to-this-2.js | 58 + ...-property-access-object-literal-to-this.js | 108 + .../stress/super-property-access-tdz.js | 92 + .../stress/super-property-access-to-this.js | 48 + .../stress/super-property-access.js | 586 + .../stress/switch-typeof-indirect.js | 41 + .../stress/switch-typeof-slightly-indirect.js | 39 + .../javascriptcore/stress/switch-typeof.js | 36 + .../stress/symbol-and-string-constructor.js | 10 + .../stress/symbol-array-from.js | 26 + .../stress/symbol-define-property.js | 33 + .../stress/symbol-description.js | 83 + .../stress/symbol-equality-over-gc.js | 23 + .../javascriptcore/stress/symbol-equality.js | 34 + .../stress/symbol-error-messages.js | 46 + .../stress/symbol-get-own-property.js | 14 + .../stress/symbol-hasInstance.js | 54 + .../stress/symbol-instanceof.js | 13 + .../javascriptcore/stress/symbol-registry.js | 125 + .../stress/symbol-seal-and-freeze.js | 26 + .../stress/symbol-should-not-break-for-in.js | 29 + .../javascriptcore/stress/symbol-species.js | 15 + .../stress/symbol-toprimitive-errors.js | 46 + .../stress/symbol-toprimitive.js | 18 + .../stress/symbol-tostringtag-watchpoints.js | 62 + .../stress/symbol-tostringtag.js | 48 + .../javascriptcore/stress/symbol-with-json.js | 29 + .../stress/tagged-template-object-collect.js | 16 + .../stress/tagged-template-object.js | 25 + .../stress/tagged-template-tdz.js | 51 + .../stress/tagged-templates-identity.js | 141 + .../stress/tagged-templates-raw-strings.js | 63 + .../stress/tagged-templates-syntax.js | 70 + .../tagged-templates-template-object.js | 43 + .../stress/tagged-templates-this.js | 26 + .../javascriptcore/stress/tagged-templates.js | 67 + .../stress/tail-call-host-call-throw.js | 36 + .../stress/tail-call-in-inline-cache.js | 10 + .../stress/tail-call-no-stack-overflow.js | 45 + .../stress/tail-call-profiler.js | 29 + .../stress/tail-call-recognize.js | 183 + .../tail-call-varargs-no-stack-overflow.js | 28 + .../tail-calls-dont-overwrite-live-stack.js | 30 + .../stress/tailCallForwardArguments.js | 163 + .../stress/tdz-this-in-try-catch.js | 22 + .../template-literal-line-terminators.js | 57 + .../stress/template-literal-syntax.js | 111 + .../javascriptcore/stress/template-literal.js | 239 + .../stress/template-string-tags-eval.js | 17 + .../javascriptcore/stress/test-finally.js | 1446 + .../javascriptcore/stress/test-spec-misc.js | 43 + .../throw-from-ftl-call-ic-slow-path-cells.js | 192 + ...ow-from-ftl-call-ic-slow-path-undefined.js | 192 + .../throw-from-ftl-call-ic-slow-path.js | 192 + .../stress/throw-from-ftl-in-loop.js | 13 + .../javascriptcore/stress/throw-from-ftl.js | 25 + .../stress/throw-through-optimized-code.js | 30 + ...tier-up-in-loop-with-cfg-simplification.js | 24 + .../stress/to-int32-sensible.js | 40 + .../stress/to-int32-sensible2.js | 55 + .../to-lower-case-intrinsic-on-empty-rope.js | 26 + .../javascriptcore/stress/to-lower-case.js | 30 + .../javascriptcore/stress/to-number-basics.js | 22 + ...mber-convert-identity-without-execution.js | 26 + .../javascriptcore/stress/to-number-int52.js | 29 + ...c-convert-to-identity-without-execution.js | 22 + .../stress/to-number-intrinsic-int52.js | 29 + ...mber-intrinsic-object-without-execution.js | 18 + .../to-number-intrinsic-value-profiling.js | 18 + .../to-number-object-without-execution.js | 20 + .../javascriptcore/stress/to-number-object.js | 70 + .../to-number-throws-correct-exception.js | 121 + .../stress/to-number-value-profiling.js | 19 + .../to-object-intrinsic-boolean-edge.js | 19 + ...object-intrinsic-null-or-undefined-edge.js | 36 + .../stress/to-object-intrinsic-number-edge.js | 23 + .../stress/to-object-intrinsic-object-edge.js | 27 + .../stress/to-object-intrinsic-string-edge.js | 19 + .../stress/to-object-intrinsic-symbol-edge.js | 19 + .../stress/to-object-intrinsic.js | 53 + .../stress/to-property-key-correctness.js | 130 + .../javascriptcore/stress/to-string-int32.js | 59 + .../javascriptcore/stress/to-string-int52.js | 59 + .../stress/to-string-non-cell-use.js | 43 + .../stress/to-string-on-object-or-string.js | 27 + .../stress/to-string-on-object.js | 19 + .../stress/to-string-on-string-object.js | 15 + ...-on-string-or-string-object-then-object.js | 35 + .../to-string-on-string-or-string-object.js | 23 + .../stress/to-string-on-value-or-string.js | 23 + .../stress/to-string-on-value.js | 15 + .../stress/to-string-with-int52.js | 15 + ...this-that-starts-as-lexical-environment.js | 58 + .../javascriptcore/stress/to-this-boolean.js | 22 + .../javascriptcore/stress/to-this-double.js | 8 + .../stress/to-this-global-object.js | 25 + .../javascriptcore/stress/to-this-int32.js | 8 + .../javascriptcore/stress/to-this-int52.js | 8 + .../javascriptcore/stress/to-this-number.js | 20 + .../javascriptcore/stress/to-this-numbers.js | 19 + ...to-this-on-constant-lexical-environment.js | 19 + .../stress/to-this-polymorphic.js | 25 + .../javascriptcore/stress/to-this-string.js | 27 + .../javascriptcore/stress/to-this-symbol.js | 18 + .../stress/toprimitive-speculated-types.js | 27 + .../trailing-comma-in-function-parameters.js | 63 + .../stress/trailing-comma-in-patterns.js | 157 + .../stress/tricky-array-bounds-checks.js | 28 + ...creates-the-activation-outside-the-loop.js | 36 + ...creates-the-activation-outside-the-loop.js | 33 + ...creates-the-activation-outside-the-loop.js | 31 + ...inite-loop-that-uses-captured-variables.js | 30 + .../javascriptcore/stress/trim.js | 53 + ...ly-foldable-reflective-arguments-access.js | 15 + .../try-catch-custom-getter-as-get-by-id.js | 55 + ...etter-as-get-by-id-register-restoration.js | 57 + .../stress/try-catch-getter-as-get-by-id.js | 53 + .../stress/try-catch-setter-as-put-by-id.js | 54 + .../stress/try-catch-stub-routine-replaced.js | 87 + .../stress/try-get-by-id-poly-proto.js | 41 + ...ry-get-by-id-should-spill-registers-dfg.js | 12 + .../javascriptcore/stress/try-get-by-id.js | 175 + ...hoist-check-structure-on-tdz-this-value.js | 51 + .../stress/type-of-functions-and-objects.js | 86 + .../stress/typed-array-byte-offset.js | 17 + .../typed-array-get-by-val-profiling.js | 91 + .../typed-array-put-by-val-profiling.js | 98 + ...-view-set-should-not-crash-on-exception.js | 27 + .../typedarray-access-monomorphic-neutered.js | 54 + .../stress/typedarray-access-neutered.js | 30 + .../typedarray-add-property-to-base-object.js | 21 + .../stress/typedarray-bad-getter.js | 36 + .../stress/typedarray-configure-index.js | 57 + .../stress/typedarray-construct-iterator.js | 66 + .../stress/typedarray-constructor.js | 69 + .../stress/typedarray-copyWithin.js | 16 + .../javascriptcore/stress/typedarray-every.js | 56 + .../javascriptcore/stress/typedarray-fill.js | 49 + .../stress/typedarray-filter.js | 103 + .../javascriptcore/stress/typedarray-find.js | 53 + .../stress/typedarray-findIndex.js | 53 + .../stress/typedarray-forEach.js | 91 + .../javascriptcore/stress/typedarray-from.js | 47 + .../typedarray-functions-with-neutered.js | 169 + ...edarray-getownproperty-not-configurable.js | 20 + .../stress/typedarray-getter-on-self.js | 43 + .../stress/typedarray-includes.js | 10 + .../stress/typedarray-indexOf.js | 67 + ...rray-intrinsic-getters-change-prototype.js | 39 + .../stress/typedarray-lastIndexOf.js | 64 + .../stress/typedarray-length-dictionary.js | 19 + .../javascriptcore/stress/typedarray-map.js | 102 + .../javascriptcore/stress/typedarray-of.js | 21 + .../stress/typedarray-reduce.js | 59 + .../stress/typedarray-reduceRight.js | 59 + .../javascriptcore/stress/typedarray-set.js | 27 + .../javascriptcore/stress/typedarray-slice.js | 172 + .../javascriptcore/stress/typedarray-some.js | 56 + .../javascriptcore/stress/typedarray-sort.js | 57 + .../stress/typedarray-subarray.js | 78 + ...edarray-view-string-properties-neutered.js | 49 + .../stress/typeof-dfg-function-or-object.js | 25 + .../javascriptcore/stress/typeof-symbol.js | 16 + .../stress/uint32-comparison-jump.js | 141 + .../stress/uint32-comparison.js | 88 + .../uint32-to-number-constant-folding.js | 84 + ...o-number-fold-constant-with-do-overflow.js | 27 + .../uint32-to-number-overflows-to-uint52.js | 50 + .../stress/uint32array-unsigned-load.js | 15 + .../javascriptcore/stress/undecided-concat.js | 8 + .../javascriptcore/stress/undecided-length.js | 25 + ...ned-access-dictionary-then-proto-change.js | 17 + .../undefined-access-then-proto-change.js | 19 + .../undefined-access-then-self-change.js | 18 + .../javascriptcore/stress/unescape.js | 7 + .../javascriptcore/stress/unscopables.js | 239 + .../stress/unshift-array-storage.js | 13 + ...shiftCountSlowCase-correct-postCapacity.js | 26 + .../javascriptcore/stress/untyped-add.js | 16 + .../javascriptcore/stress/untyped-bit-and.js | 16 + .../javascriptcore/stress/untyped-bit-or.js | 16 + .../javascriptcore/stress/untyped-bit-xor.js | 16 + .../javascriptcore/stress/untyped-div.js | 16 + .../javascriptcore/stress/untyped-equality.js | 20 + .../stress/untyped-less-than.js | 23 + .../javascriptcore/stress/untyped-lshift.js | 16 + .../javascriptcore/stress/untyped-mul.js | 16 + .../javascriptcore/stress/untyped-rshift.js | 16 + .../javascriptcore/stress/untyped-sub.js | 16 + .../javascriptcore/stress/untyped-urshift.js | 16 + .../stress/use-arguments-as-object-pointer.js | 13 + .../javascriptcore/stress/v8-crypto-strict.js | 1697 + .../stress/v8-deltablue-strict.js | 878 + .../stress/v8-earley-boyer-strict.js | 4592 +++ .../stress/v8-parameter-scoping.js | 103 + .../stress/v8-raytrace-strict.js | 904 + .../javascriptcore/stress/v8-regexp-strict.js | 1615 + .../stress/v8-richards-strict.js | 539 + .../javascriptcore/stress/v8-splay-strict.js | 395 + .../value-add-on-double-array-with-holes.js | 100 + .../javascriptcore/stress/value-to-boolean.js | 67 + .../value-to-int32-undefined-constant.js | 12 + .../stress/value-to-int32-undefined.js | 12 + .../stress/values-unscopables.js | 53 + .../var-injection-cache-invalidation.js | 21 + ...arargs-closure-inlined-exit-strict-mode.js | 26 + .../stress/varargs-closure-inlined-exit.js | 24 + .../javascriptcore/stress/varargs-exit.js | 21 + .../stress/varargs-inlined-exit.js | 25 + ...imple-exit-aliasing-weird-reversed-args.js | 42 + ...args-inlined-simple-exit-aliasing-weird.js | 42 + .../varargs-inlined-simple-exit-aliasing.js | 41 + .../stress/varargs-inlined-simple-exit.js | 28 + .../stress/varargs-inlining-underflow.js | 18 + .../stress/varargs-no-forward.js | 18 + .../javascriptcore/stress/varargs-simple.js | 18 + .../stress/varargs-then-slow-call.js | 40 + .../stress/varargs-too-few-arguments.js | 16 + .../stress/varargs-two-level.js | 22 + .../varargs-varargs-closure-inlined-exit.js | 24 + ...arargs-varargs-inlined-exit-strict-mode.js | 27 + .../stress/varargs-varargs-inlined-exit.js | 25 + .../stress/varargs-with-unused-count.js | 23 + .../stress/variable-named-eval-under-tdz.js | 87 + .../stress/variable-under-tdz-eval-tricky.js | 60 + .../vector-length-hint-array-constructor.js | 18 + .../stress/vector-length-hint-new-array.js | 18 + .../watchdog-dont-malloc-when-in-c-code.js | 5 + .../stress/weak-map-constructor-adder.js | 51 + .../stress/weak-map-constructor.js | 144 + .../stress/weak-set-constructor-adder.js | 51 + .../stress/weak-set-constructor.js | 146 + .../stress/weakmap-cse-set-break.js | 24 + .../javascriptcore/stress/weakmap-cse.js | 21 + .../javascriptcore/stress/weakmap-gc.js | 11 + .../stress/weakmap-set-change-get.js | 27 + .../javascriptcore/stress/weakmap-set-cse.js | 22 + .../stress/weakset-add-change-get.js | 24 + .../javascriptcore/stress/weakset-add-cse.js | 22 + .../stress/weakset-cse-add-break.js | 24 + .../javascriptcore/stress/weakset-cse.js | 21 + .../javascriptcore/stress/weakset-gc.js | 11 + .../stress/weird-equality-folding-cases.js | 13 + .../stress/weird-getter-counter.js | 24 + .../stress/weird-put-stack-varargs.js | 26 + .../stress/weird-setter-counter-syntactic.js | 29 + .../stress/weird-setter-counter.js | 26 + .../javascriptcore/stress/with.js | 24 + .../javascriptcore/stress/with_and_arith.js | 6 + .../stress/yield-and-line-terminator.js | 36 + .../stress/yield-label-generator.js | 58 + .../javascriptcore/stress/yield-label.js | 64 + .../stress/yield-named-accessors-generator.js | 17 + .../stress/yield-named-accessors.js | 17 + .../stress/yield-named-variable-generator.js | 112 + .../stress/yield-named-variable.js | 198 + .../stress/yield-out-of-generator.js | 166 + .../stress/yield-reserved-word.js | 196 + .../stress/yield-star-throw-continue.js | 73 + .../javascriptcore/stress/zero-to-string.js | 43 + .../typeProfiler/arrow-functions.js | 42 + .../javascriptcore/typeProfiler/basic.js | 44 + .../javascriptcore/typeProfiler/captured.js | 34 + .../javascriptcore/typeProfiler/classes.js | 31 + .../typeProfiler/deltablue-for-of.js | 872 + .../typeProfiler/dfg-jit-optimizations.js | 54 + .../typeProfiler/dictionary-mode.js | 29 + .../typeProfiler/driver/driver.js | 27 + .../typeProfiler/es6-block-scoping.js | 85 + .../typeProfiler/es6-classes.js | 41 + .../typeProfiler/getter-richards.js | 595 + .../typeProfiler/inheritance.js | 53 + .../javascriptcore/typeProfiler/int52-dfg.js | 19 + .../javascriptcore/typeProfiler/loop.js | 59 + .../typeProfiler/optional-fields.js | 54 + .../javascriptcore/typeProfiler/overflow.js | 42 + .../javascriptcore/typeProfiler/return.js | 36 + .../javascriptcore/typeProfiler/symbol.js | 46 + .../typeProfiler/type-profiler-gc.js | 25 + .../typeProfiler/weird-prototype-chain.js | 23 + .../javascriptcore/wasm/Builder.js | 779 + .../wasm/Builder_WebAssemblyBinary.js | 261 + .../javascriptcore/wasm/LowLevelBinary.js | 339 + .../javascriptcore/wasm/README.md | 98 + .../javascriptcore/wasm/WASM.js | 76 + .../javascriptcore/wasm/assert.js | 197 + .../wasm/function-tests/add-12.js | 72 + .../wasm/function-tests/basic-element.js | 34 + .../wasm/function-tests/br-as-return.js | 31 + .../wasm/function-tests/br-if-as-return.js | 32 + .../function-tests/br-if-loop-less-than.js | 65 + .../wasm/function-tests/br-table-as-return.js | 52 + .../wasm/function-tests/brTableAsIf.js | 38 + .../wasm/function-tests/brTableManyValues.js | 56 + .../wasm/function-tests/brTableWithLoop.js | 42 + .../wasm/function-tests/context-switch.js | 277 + .../wasm/function-tests/dead-call.js | 29 + .../wasm/function-tests/double-instance.js | 64 + .../wasm/function-tests/exceptions.js | 67 + .../wasm/function-tests/f32-const.js | 26 + .../wasm/function-tests/f64-const.js | 26 + .../wasm/function-tests/factorial.js | 36 + .../wasm/function-tests/float-sub.js | 42 + .../function-import-return-value.js | 247 + .../wasm/function-tests/grow-memory-2.js | 82 + .../wasm/function-tests/grow-memory-3.js | 34 + .../wasm/function-tests/grow-memory-4.js | 34 + .../function-tests/grow-memory-cause-gc.js | 61 + .../wasm/function-tests/grow-memory.js | 207 + .../wasm/function-tests/i32-const.js | 32 + .../wasm/function-tests/i32-load.js | 35 + .../wasm/function-tests/i32-load8-s.js | 24 + .../function-tests/i64-from-js-exceptions.js | 40 + .../function-tests/if-no-else-non-void.js | 16 + .../invalid-duplicate-export.js | 19 + .../wasm/function-tests/load-offset.js | 165 + .../wasm/function-tests/loop-mult.js | 43 + .../wasm/function-tests/loop-sum.js | 43 + .../many-args-tail-call-sp-restored.js | 72 + .../many-arguments-to-function.js | 186 + .../function-tests/memory-access-past-4gib.js | 130 + .../wasm/function-tests/memory-alignment.js | 48 + .../function-tests/memory-grow-invalid.js | 29 + .../function-tests/memory-import-and-grow.js | 131 + .../wasm/function-tests/memory-many.js | 18 + .../wasm/function-tests/memory-multiagent.js | 125 + .../wasm/function-tests/memory-reuse.js | 113 + .../memory-section-and-import.js | 31 + .../wasm/function-tests/nameSection.js | 72 + .../wasm/function-tests/nameSection.wasm | Bin 0 -> 13409 bytes .../wasm/function-tests/ret5.js | 21 + .../wasm/function-tests/rotl.js | 32 + .../wasm/function-tests/rotr.js | 31 + .../javascriptcore/wasm/function-tests/shl.js | 32 + .../wasm/function-tests/shr-s.js | 32 + .../wasm/function-tests/shr-u.js | 32 + .../wasm/function-tests/stack-overflow.js | 221 + .../wasm/function-tests/stack-trace.js | 53 + .../wasm/function-tests/struct.js | 28 + .../wasm/function-tests/table-basic-2.js | 57 + .../wasm/function-tests/table-basic.js | 58 + .../trap-after-cross-instance-call.js | 64 + .../function-tests/trap-from-start-async.js | 83 + .../wasm/function-tests/trap-from-start.js | 80 + .../wasm/function-tests/trap-load-2.js | 75 + .../wasm/function-tests/trap-load.js | 34 + .../wasm/function-tests/trap-store-2.js | 50 + .../wasm/function-tests/trap-store.js | 29 + ...ument-type-should-be-a-validation-error.js | 22 + .../wasm/fuzz/export-function.js | 80 + .../javascriptcore/wasm/fuzz/memory.js | 301 + .../javascriptcore/wasm/import-spec-tests.rb | 93 + .../Instance.imports.exports.unicode.js | 96 + .../wasm/js-api/Module-compile.js | 60 + .../wasm/js-api/Module.customSection.js | 77 + .../wasm/js-api/Module.exports.js | 43 + .../wasm/js-api/Module.imports.js | 38 + .../wasm/js-api/call-indirect.js | 106 + .../wasm/js-api/dont-mmap-zero-byte-memory.js | 54 + .../wasm/js-api/element-data.js | 47 + .../javascriptcore/wasm/js-api/element.js | 219 + .../wasm/js-api/export-arity.js | 65 + .../wasm/js-api/export-void-is-undef.js | 19 + .../wasm/js-api/extension-MemoryMode.js | 117 + .../wasm/js-api/global-error.js | 212 + .../global-external-init-from-import.js | 30 + .../global-internal-init-from-import.js | 26 + .../wasm/js-api/global-mutate.js | 39 + .../wasm/js-api/globals-export.js | 28 + .../wasm/js-api/globals-import.js | 29 + .../javascriptcore/wasm/js-api/memory-grow.js | 51 + .../wasm/js-api/neutered-inputs.js | 30 + .../wasm/js-api/promise-stack-overflow.js | 37 + .../javascriptcore/wasm/js-api/table.js | 322 + .../javascriptcore/wasm/js-api/test_Data.js | 180 + .../wasm/js-api/test_Instance.js | 162 + .../javascriptcore/wasm/js-api/test_Module.js | 19 + .../javascriptcore/wasm/js-api/test_Start.js | 35 + .../wasm/js-api/test_basic_api.js | 128 + .../javascriptcore/wasm/js-api/test_memory.js | 401 + .../wasm/js-api/test_memory_constructor.js | 83 + .../wasm/js-api/unique-signature.js | 49 + .../javascriptcore/wasm/js-api/validate.js | 47 + .../javascriptcore/wasm/js-api/version.js | 9 + .../wasm/js-api/wasm-to-wasm-bad-signature.js | 105 + .../wasm/js-api/wasm-to-wasm.js | 72 + .../js-api/web-assembly-compile-parallel.js | 58 + .../wasm/js-api/web-assembly-function.js | 25 + .../web-assembly-instantiate-parallel.js | 75 + .../wasm/js-api/web-assembly-instantiate.js | 192 + .../wasm/js-api/wrapper-function.js | 151 + .../executable-memory-oom.js | 121 + .../wasm/lowExecutableMemory/exports-oom.js | 107 + .../wasm/lowExecutableMemory/imports-oom.js | 124 + .../javascriptcore/wasm/modules/constant.wasm | Bin 0 -> 30 bytes .../javascriptcore/wasm/modules/constant.wat | 2 + .../wasm/modules/default-import-star-error.js | 4 + .../default-import-star-error/entry.wasm | Bin 0 -> 48 bytes .../default-import-star-error/entry.wat | 7 + .../modules/default-import-star-error/t0.js | 1 + .../modules/default-import-star-error/t1.js | 1 + .../modules/default-import-star-error/t2.js | 1 + .../wasm/modules/js-wasm-cycle.js | 4 + .../wasm/modules/js-wasm-cycle/entry.js | 4 + .../wasm/modules/js-wasm-cycle/sum.wasm | Bin 0 -> 70 bytes .../wasm/modules/js-wasm-cycle/sum.wat | 7 + .../modules/js-wasm-function-namespace.js | 11 + .../wasm/modules/js-wasm-function.js | 10 + .../wasm/modules/js-wasm-global-namespace.js | 8 + .../wasm/modules/js-wasm-global.js | 8 + .../wasm/modules/js-wasm-memory-namespace.js | 12 + .../wasm/modules/js-wasm-memory.js | 12 + .../wasm/modules/js-wasm-start.js | 9 + .../wasm/modules/js-wasm-table-namespace.js | 15 + .../wasm/modules/js-wasm-table.js | 15 + .../javascriptcore/wasm/modules/memory.wasm | Bin 0 -> 37 bytes .../javascriptcore/wasm/modules/memory.wat | 3 + .../wasm/modules/run-from-wasm.wasm | Bin 0 -> 71 bytes .../wasm/modules/run-from-wasm.wat | 7 + .../wasm/modules/run-from-wasm/check.js | 6 + .../javascriptcore/wasm/modules/start.wasm | Bin 0 -> 61 bytes .../javascriptcore/wasm/modules/start.wat | 12 + .../javascriptcore/wasm/modules/sum.wasm | Bin 0 -> 41 bytes .../javascriptcore/wasm/modules/sum.wat | 6 + .../javascriptcore/wasm/modules/table.wasm | Bin 0 -> 61 bytes .../javascriptcore/wasm/modules/table.wat | 5 + .../wasm-import-wasm-export-i64-error.js | 4 + .../wasm/modules/wasm-imports-js-exports.js | 7 + .../wasm-imports-js-exports/imports.wasm | Bin 0 -> 68 bytes .../wasm-imports-js-exports/imports.wat | 7 + .../modules/wasm-imports-js-exports/sum.js | 4 + ...wasm-imports-js-re-exports-wasm-exports.js | 15 + .../imports.wasm | Bin 0 -> 163 bytes .../imports.wat | 14 + .../re-export.js | 1 + .../sum.wasm | Bin 0 -> 81 bytes .../sum.wat | 9 + .../answer.wasm | Bin 0 -> 28 bytes .../answer.wat | 2 + .../imports.wasm | Bin 0 -> 35 bytes .../imports.wat | 2 + .../wasm/modules/wasm-imports-wasm-exports.js | 22 + .../wasm-imports-wasm-exports/imports.wasm | Bin 0 -> 326 bytes .../wasm-imports-wasm-exports/imports.wat | 28 + .../wasm-imports-wasm-exports/sum.wasm | Bin 0 -> 161 bytes .../modules/wasm-imports-wasm-exports/sum.wat | 13 + .../wasm/modules/wasm-js-cycle.js | 4 + .../wasm/modules/wasm-js-cycle/entry.wasm | Bin 0 -> 69 bytes .../wasm/modules/wasm-js-cycle/entry.wat | 7 + .../wasm/modules/wasm-js-cycle/sum.js | 4 + .../wasm/modules/wasm-wasm-cycle.js | 4 + .../wasm/modules/wasm-wasm-cycle/entry.wasm | Bin 0 -> 71 bytes .../wasm/modules/wasm-wasm-cycle/entry.wat | 7 + .../wasm/modules/wasm-wasm-cycle/sum.wasm | Bin 0 -> 72 bytes .../wasm/modules/wasm-wasm-cycle/sum.wat | 7 + .../javascriptcore/wasm/noJIT/noJIT.js | 2 + .../javascriptcore/wasm/regress/175693.js | 46 + .../javascriptcore/wasm/regress/175693.wasm | Bin 0 -> 456 bytes .../javascriptcore/wasm/regress/183342.js | 57 + .../wasm/self-test/test_BuilderJSON.js | 673 + .../wasm/self-test/test_BuilderWebAssembly.js | 31 + .../self-test/test_LowLevelBinary_encode.js | 11 + .../self-test/test_LowLevelBinary_string.js | 20 + .../self-test/test_LowLevelBinary_uint16.js | 12 + .../self-test/test_LowLevelBinary_uint24.js | 13 + .../self-test/test_LowLevelBinary_uint32.js | 13 + .../self-test/test_LowLevelBinary_uint8.js | 12 + .../self-test/test_LowLevelBinary_varint32.js | 30 + .../self-test/test_LowLevelBinary_varuint1.js | 14 + .../test_LowLevelBinary_varuint32.js | 29 + .../self-test/test_LowLevelBinary_varuint7.js | 14 + .../wasm/self-test/test_WASM.js | 41 + .../javascriptcore/wasm/spec-harness.js | 33 + .../javascriptcore/wasm/spec-harness/index.js | 344 + .../wasm/spec-harness/wasm-constants.js | 377 + .../wasm/spec-harness/wasm-module-builder.js | 583 + .../javascriptcore/wasm/spec-harness/wast.js | 29777 ++++++++++++++++ .../wasm/spec-tests/address.wast.js | 21 + .../wasm/spec-tests/align.wast.js | 18 + .../wasm/spec-tests/binary.wast.js | 98 + .../wasm/spec-tests/block.wast.js | 117 + .../javascriptcore/wasm/spec-tests/br.wast.js | 207 + .../wasm/spec-tests/br_if.wast.js | 177 + .../wasm/spec-tests/br_table.wast.js | 480 + .../wasm/spec-tests/break-drop.wast.js | 12 + .../wasm/spec-tests/call.wast.js | 144 + .../wasm/spec-tests/call_indirect.wast.js | 204 + .../wasm/spec-tests/comments.wast.js | 12 + .../wasm/spec-tests/const.wast.js | 156 + .../wasm/spec-tests/conversions.wast.js | 1206 + .../wasm/spec-tests/custom_section.wast.js | 27 + .../wasm/spec-tests/endianness.wast.js | 207 + .../wasm/spec-tests/exports.wast.js | 250 + .../wasm/spec-tests/f32.wast.js | 7503 ++++ .../wasm/spec-tests/f32_bitwise.wast.js | 1083 + .../wasm/spec-tests/f32_cmp.wast.js | 7203 ++++ .../wasm/spec-tests/f64.wast.js | 7503 ++++ .../wasm/spec-tests/f64_bitwise.wast.js | 1083 + .../wasm/spec-tests/f64_cmp.wast.js | 7203 ++++ .../wasm/spec-tests/fac.wast.js | 21 + .../wasm/spec-tests/float_exprs.wast.js | 2700 ++ .../wasm/spec-tests/float_literals.wast.js | 183 + .../wasm/spec-tests/float_memory.wast.js | 270 + .../wasm/spec-tests/float_misc.wast.js | 1323 + .../wasm/spec-tests/forward.wast.js | 15 + .../wasm/spec-tests/func.wast.js | 309 + .../wasm/spec-tests/func_ptrs.wast.js | 108 + .../wasm/spec-tests/get_local.wast.js | 69 + .../wasm/spec-tests/globals.wast.js | 114 + .../wasm/spec-tests/i32.wast.js | 1080 + .../wasm/spec-tests/i64.wast.js | 1080 + .../javascriptcore/wasm/spec-tests/if.wast.js | 249 + .../wasm/spec-tests/imports.wast.js | 435 + .../wasm/spec-tests/inline-module.wast.js | 3 + .../wasm/spec-tests/int_exprs.wast.js | 324 + .../wasm/spec-tests/int_literals.wast.js | 69 + .../javascriptcore/wasm/spec-tests/jsapi.js | 792 + .../wasm/spec-tests/labels.wast.js | 84 + .../wasm/spec-tests/left-to-right.wast.js | 288 + .../wasm/spec-tests/linking.wast.js | 305 + .../wasm/spec-tests/loop.wast.js | 162 + .../wasm/spec-tests/memory.wast.js | 390 + .../wasm/spec-tests/memory_redundancy.wast.js | 24 + .../wasm/spec-tests/memory_trap.wast.js | 519 + .../wasm/spec-tests/names.wast.js | 1437 + .../wasm/spec-tests/nop.wast.js | 165 + .../wasm/spec-tests/resizing.wast.js | 111 + .../wasm/spec-tests/return.wast.js | 183 + .../wasm/spec-tests/select.wast.js | 90 + .../wasm/spec-tests/set_local.wast.js | 102 + .../spec-tests/skip-stack-guard-page.wast.js | 33 + .../wasm/spec-tests/stack.wast.js | 12 + .../wasm/spec-tests/start.wast.js | 57 + .../wasm/spec-tests/store_retval.wast.js | 39 + .../wasm/spec-tests/switch.wast.js | 84 + .../wasm/spec-tests/tee_local.wast.js | 105 + .../wasm/spec-tests/token.wast.js | 6 + .../wasm/spec-tests/traps.wast.js | 102 + .../wasm/spec-tests/type.wast.js | 15 + .../wasm/spec-tests/typecheck.wast.js | 579 + .../wasm/spec-tests/unreachable.wast.js | 180 + .../wasm/spec-tests/unreached-invalid.wast.js | 300 + .../wasm/spec-tests/unwind.wast.js | 117 + .../spec-tests/utf8-custom-section-id.wast.js | 528 + .../wasm/spec-tests/utf8-import-field.wast.js | 528 + .../spec-tests/utf8-import-module.wast.js | 528 + .../javascriptcore/wasm/stress/oom.js | 25 + .../javascriptcore/wasm/test.sh | 11 + .../javascriptcore/wasm/tier-up/js-to-wasm.js | 25 + .../wasm/tier-up/wasm-to-wasm.js | 47 + .../javascriptcore/wasm/utilities.js | 96 + .../javascriptcore/wasm/wasm.json | 217 + 3397 files changed, 289665 insertions(+), 5 deletions(-) create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/arrowfunction-expression.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/brace-location.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/conditional-expression.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/driver/driver.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/execution-count.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/if-statement.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/loop-statements.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/switch-statements.js create mode 100644 implementation-contributed/javascriptcore/controlFlowProfiler/test-jit.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.copyWithin.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.entries.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.fill.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.find.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.findIndex.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.keys.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.values.js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.iterator].js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.unscopables].js create mode 100644 implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array_iterator_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.from.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.isArray_support.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.of.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.concat.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.filter.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.map.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.slice.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.splice.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_correct_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_accessing.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_setting.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_array-like_objects.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generator_instances.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_instances_of_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_array-like_objects.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generator_instances.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_instances_of_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array.of.js create mode 100644 implementation-contributed/javascriptcore/es6/Array_static_methods_Array[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.apply.js create mode 100644 implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.bind.js create mode 100644 implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.call.js create mode 100644 implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_called.js create mode 100644 implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_used_with_new.js create mode 100644 implementation-contributed/javascriptcore/es6/Function_is_subclassable_correct_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/HTML-style_comments.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_-0_key_converts_to_+0.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.clear.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.delete.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.entries.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.forEach.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.keys.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.set_returns_this.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.size.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype.values.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map.prototype[Symbol.iterator].js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/Map_Map_iterator_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_constructor_accepts_null.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_constructor_arguments.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_constructor_invokes_set.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/Map_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.acosh.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.asinh.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.atanh.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.cbrt.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.clz32.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.cosh.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.expm1.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.fround.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.hypot.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.imul.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.log10.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.log1p.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.log2.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.sign.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.sinh.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.tanh.js create mode 100644 implementation-contributed/javascriptcore/es6/Math_methods_Math.trunc.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.EPSILON.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.MAX_SAFE_INTEGER.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.MIN_SAFE_INTEGER.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.isFinite.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.isInteger.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.isNaN.js create mode 100644 implementation-contributed/javascriptcore/es6/Number_properties_Number.isSafeInteger.js create mode 100644 implementation-contributed/javascriptcore/es6/Object.prototype.__proto___absent_from_Object.createnull.js create mode 100644 implementation-contributed/javascriptcore/es6/Object.prototype.__proto___correct_property_descriptor.js create mode 100644 implementation-contributed/javascriptcore/es6/Object.prototype.__proto___get_prototype.js create mode 100644 implementation-contributed/javascriptcore/es6/Object.prototype.__proto___present_in_Object.getOwnPropertyNames.js create mode 100644 implementation-contributed/javascriptcore/es6/Object.prototype.__proto___present_in_hasOwnProperty.js create mode 100644 implementation-contributed/javascriptcore/es6/Object.prototype.__proto___set_prototype.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_Object.assign.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_Object.getOwnPropertySymbols.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_Object.is.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_Object.setPrototypeOf.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.freeze.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.getOwnPropertyDescriptor.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.getOwnPropertyNames.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.getPrototypeOf.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.isExtensible.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.isFrozen.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.isSealed.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.keys.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.preventExtensions.js create mode 100644 implementation-contributed/javascriptcore/es6/Object_static_methods_accept_primitives_Object.seal.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_Promise.all.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_Promise.all_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_Promise.race.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_Promise.race_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_Promise[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_is_subclassable_Promise.all.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_is_subclassable_Promise.race.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_is_subclassable_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/Promise_is_subclassable_correct_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_Array.isArray_support.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_JSON.stringify_support.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_Proxy.revocable.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_apply_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_construct_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_defineProperty_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_deleteProperty_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_enumerate_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_getOwnPropertyDescriptor_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_getPrototypeOf_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_get_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_get_handler_instances_of_proxies.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_has_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_has_handler_instances_of_proxies.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_defineProperty_calls_SetIntegrityLevel.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_defineProperty_calls_[[Set]].js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_deleteProperty_calls_Array.prototype.copyWithin.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_deleteProperty_calls_Array.prototype.pop.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_deleteProperty_calls_Array.prototype.reverse.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_deleteProperty_calls_Array.prototype.shift.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_deleteProperty_calls_Array.prototype.splice.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_deleteProperty_calls_Array.prototype.unshift.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_getOwnPropertyDescriptor_calls_Function.prototype.bind.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_getOwnPropertyDescriptor_calls_Object.assign.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_getOwnPropertyDescriptor_calls_Object.prototype.hasOwnProperty.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_getOwnPropertyDescriptor_calls_[[Set]].js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.from.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype.concat.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype.pop.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype.reverse.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype.shift.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype.splice.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype.toString.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Array.prototype_iteration_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_ClassDefinitionEvaluation.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_CreateDynamicFunction.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_CreateListFromArrayLike.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Date.prototype.toJSON.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Error.prototype.toString.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Function.prototype.bind.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_HasBinding.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_IteratorComplete_IteratorValue.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_JSON.stringify.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Object.assign.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Object.defineProperties.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_Promise_resolve_functions.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype.flags.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype.test.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype.toString.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.match].js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.replace].js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.search].js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp.prototype[Symbol.split].js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_RegExp_constructor.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_String.prototype.match.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_String.prototype.replace.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_String.prototype.search.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_String.prototype.split.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_String.raw.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_ToPrimitive.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_ToPropertyDescriptor.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_get_calls_instanceof_operator.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_ownKeys_calls_SerializeJSONObject.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_ownKeys_calls_SetIntegrityLevel.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_ownKeys_calls_TestIntegrityLevel.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.from.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.of.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.copyWithin.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.fill.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.pop.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.push.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.reverse.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.shift.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.splice.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Array.prototype.unshift.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_internal_set_calls_Object.assign.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_isExtensible_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_ownKeys_duplicates.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_ownKeys_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_preventExtensions_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_setPrototypeOf_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_set_handler.js create mode 100644 implementation-contributed/javascriptcore/es6/Proxy_set_handler_instances_of_proxies.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.apply.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.construct.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.construct_creates_instance_from_newTarget_argument.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.construct_sets_new.target_meta_property.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.defineProperty.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.deleteProperty.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.enumerate.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.get.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.getOwnPropertyDescriptor.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.getPrototypeOf.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.has.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.isExtensible.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.ownKeys_string_keys.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.ownKeys_symbol_keys.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.preventExtensions.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.set.js create mode 100644 implementation-contributed/javascriptcore/es6/Reflect_Reflect.setPrototypeOf.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype.compile.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype_properties_RegExp.prototype.flags.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.match].js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.replace].js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.search].js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype_properties_RegExp.prototype[Symbol.split].js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp.prototype_properties_RegExp[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_is_subclassable_RegExp.prototype.exec.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_is_subclassable_RegExp.prototype.test.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_is_subclassable_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_is_subclassable_correct_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_hyphens_in_character_sets.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_incomplete_patterns_and_quantifiers.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_invalid_Unicode_escapes.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_invalid_backreferences_become_octal_escapes.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_invalid_character_escapes.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_invalid_control-character_escapes.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_invalid_hexadecimal_escapes.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_syntax_extensions_octal_escape_sequences.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_y_and_u_flags_u_flag.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_y_and_u_flags_u_flag_Unicode_code_point_escapes.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_y_and_u_flags_y_flag.js create mode 100644 implementation-contributed/javascriptcore/es6/RegExp_y_and_u_flags_y_flag_lastIndex.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_-0_key_converts_to_+0.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.add_returns_this.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.clear.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.delete.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.entries.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.forEach.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.keys.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.size.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype.values.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set.prototype[Symbol.iterator].js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/Set_Set_iterator_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_constructor_accepts_null.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_constructor_arguments.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_constructor_invokes_add.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/Set_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_HTML_methods_existence.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_HTML_methods_quotes_in_arguments_are_escaped.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_HTML_methods_tags_names_are_lowercase.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.codePointAt.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.endsWith.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.includes.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.normalize.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.padEnd.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.padStart.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.repeat.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype.startsWith.js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String.prototype[Symbol.iterator].js create mode 100644 implementation-contributed/javascriptcore/es6/String.prototype_methods_String_iterator_prototype_chain.js create mode 100644 implementation-contributed/javascriptcore/es6/String_static_methods_String.fromCodePoint.js create mode 100644 implementation-contributed/javascriptcore/es6/String_static_methods_String.raw.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_JSON.stringify_ignores_symbols.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_Object.defineProperty_support.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_Objectsymbol.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_can_convert_with_String.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_cannot_coerce_to_string_or_number.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_global_symbol_registry.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_new_Symbol_throws.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_symbol_keys_are_hidden_to_pre-ES6_code.js create mode 100644 implementation-contributed/javascriptcore/es6/Symbol_typeof_support.js create mode 100644 implementation-contributed/javascriptcore/es6/Unicode_code_point_escapes_in_identifiers.js create mode 100644 implementation-contributed/javascriptcore/es6/Unicode_code_point_escapes_in_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_WeakMap.prototype.delete.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_WeakMap.prototype.set_returns_this.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_constructor_accepts_null.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_constructor_arguments.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_constructor_invokes_set.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_frozen_objects_as_keys.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakMap_no_WeakMap.prototype.clear_method.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_WeakSet.prototype.add_returns_this.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_WeakSet.prototype.delete.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_constructor_accepts_null.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_constructor_arguments.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_constructor_invokes_add.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/WeakSet_no_WeakSet.prototype.clear_method.js create mode 100644 implementation-contributed/javascriptcore/es6/__proto___in_object_literals_basic_support.js create mode 100644 implementation-contributed/javascriptcore/es6/__proto___in_object_literals_multiple___proto___is_an_error.js create mode 100644 implementation-contributed/javascriptcore/es6/__proto___in_object_literals_not_a_computed_property.js create mode 100644 implementation-contributed/javascriptcore/es6/__proto___in_object_literals_not_a_shorthand_method.js create mode 100644 implementation-contributed/javascriptcore/es6/__proto___in_object_literals_not_a_shorthand_property.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_0_parameters.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_1_parameter_no_brackets.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_cant_be_bound_can_be_curried.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_correct_precedence.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_lexical_arguments_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_lexical_new.target_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_lexical_super_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_lexical_this_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_multiple_parameters.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_no_line_break_between_params_and_code_=_code.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_no_prototype_property.js create mode 100644 implementation-contributed/javascriptcore/es6/arrow_functions_this_unchanged_by_call_or_apply.js create mode 100644 implementation-contributed/javascriptcore/es6/block-level_function_declaration.js create mode 100644 implementation-contributed/javascriptcore/es6/class_accessor_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/class_anonymous_class.js create mode 100644 implementation-contributed/javascriptcore/es6/class_class_expression.js create mode 100644 implementation-contributed/javascriptcore/es6/class_class_name_is_lexically_scoped.js create mode 100644 implementation-contributed/javascriptcore/es6/class_class_statement.js create mode 100644 implementation-contributed/javascriptcore/es6/class_computed_accessor_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/class_computed_names_temporal_dead_zone.js create mode 100644 implementation-contributed/javascriptcore/es6/class_computed_prototype_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/class_computed_static_accessor_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/class_computed_static_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/class_constructor.js create mode 100644 implementation-contributed/javascriptcore/es6/class_constructor_requires_new.js create mode 100644 implementation-contributed/javascriptcore/es6/class_extends.js create mode 100644 implementation-contributed/javascriptcore/es6/class_extends_expressions.js create mode 100644 implementation-contributed/javascriptcore/es6/class_extends_null.js create mode 100644 implementation-contributed/javascriptcore/es6/class_implicit_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/class_is_block-scoped.js create mode 100644 implementation-contributed/javascriptcore/es6/class_methods_arent_enumerable.js create mode 100644 implementation-contributed/javascriptcore/es6/class_new.target.js create mode 100644 implementation-contributed/javascriptcore/es6/class_prototype_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/class_static_accessor_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/class_static_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/class_string-keyed_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/const_basic_support.js create mode 100644 implementation-contributed/javascriptcore/es6/const_basic_support_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/const_is_block-scoped.js create mode 100644 implementation-contributed/javascriptcore/es6/const_is_block-scoped_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/const_redefining_a_const_is_an_error.js create mode 100644 implementation-contributed/javascriptcore/es6/const_redefining_a_const_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/const_temporal_dead_zone.js create mode 100644 implementation-contributed/javascriptcore/es6/const_temporal_dead_zone_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_arguments_object_interaction.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_defaults_can_refer_to_previous_params.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_explicit_undefined_defers_to_the_default.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_new_Function_support.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_separate_scope.js create mode 100644 implementation-contributed/javascriptcore/es6/default_function_parameters_temporal_dead_zone.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_assignment_computed_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_assignment_computed_property_default.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_assignment_computed_property_simple.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_assignment_nested_cover_initialized_name.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_assignment_non_simple_target.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_chained_iterable_destructuring.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_chained_object_destructuring.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_computed_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_defaults.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_defaults_in_parameters.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_defaults_in_parameters_new_Function_support.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_defaults_in_parameters_separate_scope.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_defaults_let_temporal_dead_zone.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_empty_patterns.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_empty_patterns_in_parameters.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_catch_heads.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_for-in_loop_heads.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_for-of_loop_heads.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_parameters.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_parameters_arguments_interaction.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_parameters_function_length_property.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_in_parameters_new_Function_support.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_initializer_scoping.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_iterable_destructuring_expression.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_multiples_in_a_single_var_statement.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_nested.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_nested_rest.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_object_destructuring_expression.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_object_destructuring_with_primitives.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_parenthesised_left-hand-side_is_a_syntax_error.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_rest.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_throws_on_null_and_undefined.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_trailing_commas_in_iterable_patterns.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_trailing_commas_in_object_patterns.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_astral_plane_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_generator_instances.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_instances_of_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_objects.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_sparse_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/destructuring_with_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_iterator_closing_break.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_iterator_closing_throw.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_astral_plane_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_generator_instances.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_instances_of_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_sparse_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/for..of_loops_with_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_accessor_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_bound_functions.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_class_expressions.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_class_prototype_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_class_statements.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_class_static_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_function_expressions.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_function_statements.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_isnt_writable_is_configurable.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_new_Function.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_object_methods_class.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_object_methods_function.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_shorthand_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_shorthand_methods_no_lexical_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_symbol-keyed_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_variables_class.js create mode 100644 implementation-contributed/javascriptcore/es6/function_name_property_variables_function.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_%GeneratorPrototype%.constructor.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_%GeneratorPrototype%.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_%GeneratorPrototype%.return.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_%GeneratorPrototype%.throw.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_cant_use_this_with_new.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_computed_shorthand_generators.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_computed_shorthand_generators_classes.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_correct_this_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_generator_function_expressions.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_sending.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_shorthand_generator_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_shorthand_generator_methods_classes.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_string-keyed_shorthand_generator_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_operator_precedence.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_astral_plane_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_generator_instances.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_generic_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_instances_of_iterables.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_iterator_closing.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_iterator_closing_via_throw.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_on_non-iterables_is_a_runtime_error.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_sparse_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/generators_yield_star_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/let_basic_support.js create mode 100644 implementation-contributed/javascriptcore/es6/let_basic_support_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/let_for-loop_iteration_scope.js create mode 100644 implementation-contributed/javascriptcore/es6/let_for-loop_iteration_scope_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/let_for-loop_statement_scope.js create mode 100644 implementation-contributed/javascriptcore/es6/let_for-loop_statement_scope_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/let_is_block-scoped.js create mode 100644 implementation-contributed/javascriptcore/es6/let_is_block-scoped_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/let_temporal_dead_zone.js create mode 100644 implementation-contributed/javascriptcore/es6/let_temporal_dead_zone_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_Invalid_Date.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_RegExp_constructor_can_alter_flags.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_String.prototype_case_methods_Unicode_support.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_accessors_arent_constructors.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_built-in_prototypes_are_not_instances.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_duplicate_property_names_in_strict_mode.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_function_length_is_configurable.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_no_assignments_allowed_in_for-in_head.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_no_escaped_reserved_words_as_identifiers.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_no_semicolon_needed_after_do-while.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_subclassables_Boolean_is_subclassable.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_subclassables_Map_is_subclassable.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_subclassables_Number_is_subclassable.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_subclassables_Set_is_subclassable.js create mode 100644 implementation-contributed/javascriptcore/es6/miscellaneous_subclassables_String_is_subclassable.js create mode 100644 implementation-contributed/javascriptcore/es6/new.target_assignment_is_an_early_error.js create mode 100644 implementation-contributed/javascriptcore/es6/new.target_in_constructors.js create mode 100644 implementation-contributed/javascriptcore/es6/non-strict_function_semantics_function_statements_in_if-statement_clauses.js create mode 100644 implementation-contributed/javascriptcore/es6/non-strict_function_semantics_hoisted_block-level_function_declaration.js create mode 100644 implementation-contributed/javascriptcore/es6/non-strict_function_semantics_labeled_function_statements.js create mode 100644 implementation-contributed/javascriptcore/es6/object_literal_extensions_computed_accessors.js create mode 100644 implementation-contributed/javascriptcore/es6/object_literal_extensions_computed_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/object_literal_extensions_computed_shorthand_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/object_literal_extensions_shorthand_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/object_literal_extensions_shorthand_properties.js create mode 100644 implementation-contributed/javascriptcore/es6/object_literal_extensions_string-keyed_shorthand_methods.js create mode 100644 implementation-contributed/javascriptcore/es6/octal_and_binary_literals_binary_literals.js create mode 100644 implementation-contributed/javascriptcore/es6/octal_and_binary_literals_binary_supported_by_Number.js create mode 100644 implementation-contributed/javascriptcore/es6/octal_and_binary_literals_octal_literals.js create mode 100644 implementation-contributed/javascriptcore/es6/octal_and_binary_literals_octal_supported_by_Number.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_JSON.parse.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_JSON.stringify.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_Object.assign.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_Object.getOwnPropertyNames.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_Object.keys.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_Reflect.ownKeys_string_key_order.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_Reflect.ownKeys_symbol_key_order.js create mode 100644 implementation-contributed/javascriptcore/es6/own_property_order_for..in.js create mode 100644 implementation-contributed/javascriptcore/es6/proper_tail_calls_tail_call_optimisation_direct_recursion.js create mode 100644 implementation-contributed/javascriptcore/es6/proper_tail_calls_tail_call_optimisation_mutual_recursion.js create mode 100644 implementation-contributed/javascriptcore/es6/prototype_of_bound_functions_arrow_functions.js create mode 100644 implementation-contributed/javascriptcore/es6/prototype_of_bound_functions_basic_functions.js create mode 100644 implementation-contributed/javascriptcore/es6/prototype_of_bound_functions_classes.js create mode 100644 implementation-contributed/javascriptcore/es6/prototype_of_bound_functions_generator_functions.js create mode 100644 implementation-contributed/javascriptcore/es6/prototype_of_bound_functions_subclasses.js create mode 100644 implementation-contributed/javascriptcore/es6/rest_parameters_arguments_object_interaction.js create mode 100644 implementation-contributed/javascriptcore/es6/rest_parameters_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/rest_parameters_cant_be_used_in_setters.js create mode 100644 implementation-contributed/javascriptcore/es6/rest_parameters_function_length_property.js create mode 100644 implementation-contributed/javascriptcore/es6/rest_parameters_new_Function_support.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_spreading_non-iterables_is_a_runtime_error.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_arrays_in_array_literals.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_arrays_in_function_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_astral_plane_strings_in_array_literals.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_astral_plane_strings_in_function_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_generator_instances_in_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_generator_instances_in_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_generic_iterables_in_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_generic_iterables_in_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_instances_of_iterables_in_arrays.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_instances_of_iterables_in_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_sparse_arrays_in_array_literals.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_sparse_arrays_in_function_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_strings_in_array_literals.js create mode 100644 implementation-contributed/javascriptcore/es6/spread_..._operator_with_strings_in_function_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/super_constructor_calls_use_correct_new.target_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/super_expression_in_constructors.js create mode 100644 implementation-contributed/javascriptcore/es6/super_in_methods_method_calls.js create mode 100644 implementation-contributed/javascriptcore/es6/super_in_methods_property_access.js create mode 100644 implementation-contributed/javascriptcore/es6/super_is_statically_bound.js create mode 100644 implementation-contributed/javascriptcore/es6/super_method_calls_use_correct_this_binding.js create mode 100644 implementation-contributed/javascriptcore/es6/super_statement_in_constructors.js create mode 100644 implementation-contributed/javascriptcore/es6/template_strings_basic_functionality.js create mode 100644 implementation-contributed/javascriptcore/es6/template_strings_line_break_normalisation.js create mode 100644 implementation-contributed/javascriptcore/es6/template_strings_passed_array_is_frozen.js create mode 100644 implementation-contributed/javascriptcore/es6/template_strings_tagged_template_strings.js create mode 100644 implementation-contributed/javascriptcore/es6/template_strings_toString_conversion.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.from.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.of.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.copyWithin.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.entries.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.every.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.fill.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.filter.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.find.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.findIndex.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.forEach.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.indexOf.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.join.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.keys.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.lastIndexOf.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.map.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.reduce.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.reduceRight.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.reverse.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.slice.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.some.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.sort.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.subarray.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype.values.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%.prototype[Symbol.iterator].js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_%TypedArray%[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_ArrayBuffer[Symbol.species].js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Float32.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Float64.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Int16.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Int32.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Int8.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Uint16.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Uint32.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_DataView_Uint8.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Float32Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Float64Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Int16Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Int32Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Int8Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Uint16Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Uint32Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Uint8Array.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_Uint8ClampedArray.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_constructors_require_new.js create mode 100644 implementation-contributed/javascriptcore/es6/typed_arrays_correct_prototype_chains.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.hasInstance.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.isConcatSpreadable.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.iterator_arguments_object.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.iterator_existence.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.match.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.match_String.prototype.endsWith.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.match_String.prototype.includes.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.match_String.prototype.startsWith.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.replace.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.search.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_Array.prototype.concat.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_Array.prototype.filter.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_Array.prototype.map.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_Array.prototype.slice.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_Array.prototype.splice.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_RegExp.prototype[Symbol.split].js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.species_existence.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.split.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.toPrimitive.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.toStringTag.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.toStringTag_misc._built-ins.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.toStringTag_new_built-ins.js create mode 100644 implementation-contributed/javascriptcore/es6/well-known_symbols_Symbol.unscopables.js create mode 100644 implementation-contributed/javascriptcore/exceptionFuzz/3d-cube.js create mode 100644 implementation-contributed/javascriptcore/exceptionFuzz/date-format-xparb.js create mode 100644 implementation-contributed/javascriptcore/exceptionFuzz/earley-boyer.js create mode 100644 implementation-contributed/javascriptcore/executableAllocationFuzz/v8-raytrace.js create mode 100644 implementation-contributed/javascriptcore/heapProfiler/basic-edges.js create mode 100644 implementation-contributed/javascriptcore/heapProfiler/basic-nodes.js create mode 100644 implementation-contributed/javascriptcore/heapProfiler/driver/driver.js create mode 100644 implementation-contributed/javascriptcore/heapProfiler/property-edge-types.js create mode 100644 implementation-contributed/javascriptcore/heapProfiler/typed-array-sizes.js create mode 100644 implementation-contributed/javascriptcore/heapProfiler/variable-edge-types.js create mode 100644 implementation-contributed/javascriptcore/modules/aliased-names.js create mode 100644 implementation-contributed/javascriptcore/modules/aliased-names/main.js create mode 100644 implementation-contributed/javascriptcore/modules/aliasing.js create mode 100644 implementation-contributed/javascriptcore/modules/aliasing/drink-2.js create mode 100644 implementation-contributed/javascriptcore/modules/aliasing/drink.js create mode 100644 implementation-contributed/javascriptcore/modules/async-function-export.js create mode 100644 implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/A.js create mode 100644 implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/B.js create mode 100644 implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/C.js create mode 100644 implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/D.js create mode 100644 implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/main.js create mode 100644 implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz.js create mode 100644 implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/1.js create mode 100644 implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/2.js create mode 100644 implementation-contributed/javascriptcore/modules/default-error/main.js create mode 100644 implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied.js create mode 100644 implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied/module.js create mode 100644 implementation-contributed/javascriptcore/modules/defaults.js create mode 100644 implementation-contributed/javascriptcore/modules/defaults/Cappuccino.js create mode 100644 implementation-contributed/javascriptcore/modules/defaults/Cocoa.js create mode 100644 implementation-contributed/javascriptcore/modules/defaults/Matcha.js create mode 100644 implementation-contributed/javascriptcore/modules/destructuring-export.js create mode 100644 implementation-contributed/javascriptcore/modules/destructuring-export/array.js create mode 100644 implementation-contributed/javascriptcore/modules/destructuring-export/main.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view/A.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view/B.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view/C.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view/D.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view/E.js create mode 100644 implementation-contributed/javascriptcore/modules/different-view/main.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/1.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/10.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/11.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/2.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/3.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/4.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/5.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/6.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/7.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/8.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-cyclic/9.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/1.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/10.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/2.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/3.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/4.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/5.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/6.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/7.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/8.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-dag/9.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-depth.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-depth/1.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-depth/2.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-depth/3.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-self.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-sibling.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-sibling/1.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-sibling/2.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-sibling/3.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/1.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/10.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/11.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/2.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/3.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/4.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/5.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/6.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/7.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/8.js create mode 100644 implementation-contributed/javascriptcore/modules/execution-order-tree/9.js create mode 100644 implementation-contributed/javascriptcore/modules/export-conflict-ok.js create mode 100644 implementation-contributed/javascriptcore/modules/export-conflict-ok/A.js create mode 100644 implementation-contributed/javascriptcore/modules/export-conflict-ok/B.js create mode 100644 implementation-contributed/javascriptcore/modules/export-conflict-ok/main.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-hoisting.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cappuccino.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cocoa.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-name-in-assignment-expression.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-name-in-class-declaration.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-name-in-function-declaration.js create mode 100644 implementation-contributed/javascriptcore/modules/export-default-function-name-in-generator-declaration.js create mode 100644 implementation-contributed/javascriptcore/modules/export-from.js create mode 100644 implementation-contributed/javascriptcore/modules/export-from/main.js create mode 100644 implementation-contributed/javascriptcore/modules/export-from/second.js create mode 100644 implementation-contributed/javascriptcore/modules/export-with-declarations-list.js create mode 100644 implementation-contributed/javascriptcore/modules/export-with-declarations-list/main.js create mode 100644 implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed.js create mode 100644 implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/1.js create mode 100644 implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/2.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous/A.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous/B.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous/C.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous/D.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous/E.js create mode 100644 implementation-contributed/javascriptcore/modules/fallback-ambiguous/main.js create mode 100644 implementation-contributed/javascriptcore/modules/html-comments.js create mode 100644 implementation-contributed/javascriptcore/modules/import-call.js create mode 100644 implementation-contributed/javascriptcore/modules/import-call/main.js create mode 100644 implementation-contributed/javascriptcore/modules/import-default-async.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-1.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-2.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/export-ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/export-default-from-star-2.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/export-default-from-star.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/export-not-found.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/import-ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/import-default-from-star.js create mode 100644 implementation-contributed/javascriptcore/modules/import-error/import-not-found.js create mode 100644 implementation-contributed/javascriptcore/modules/import-meta-assignment.js create mode 100644 implementation-contributed/javascriptcore/modules/import-meta-syntax.js create mode 100644 implementation-contributed/javascriptcore/modules/import-meta.js create mode 100644 implementation-contributed/javascriptcore/modules/import-meta/cocoa.js create mode 100644 implementation-contributed/javascriptcore/modules/import-named-async-as.js create mode 100644 implementation-contributed/javascriptcore/modules/import-named-async.js create mode 100644 implementation-contributed/javascriptcore/modules/import-named-async/target.js create mode 100644 implementation-contributed/javascriptcore/modules/import-namespace-async.js create mode 100644 implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable.js create mode 100644 implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable/bindings.js create mode 100644 implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module.js create mode 100644 implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module/bindings.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-2.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-3.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-4.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-2.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-3.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found-2.js create mode 100644 implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found.js create mode 100644 implementation-contributed/javascriptcore/modules/module-assert-access-binding.js create mode 100644 implementation-contributed/javascriptcore/modules/module-assert-access-namespace.js create mode 100644 implementation-contributed/javascriptcore/modules/module-eval.js create mode 100644 implementation-contributed/javascriptcore/modules/module-eval/A.js create mode 100644 implementation-contributed/javascriptcore/modules/module-eval/B.js create mode 100644 implementation-contributed/javascriptcore/modules/module-eval/drink.js create mode 100644 implementation-contributed/javascriptcore/modules/module-is-strict-code.js create mode 100644 implementation-contributed/javascriptcore/modules/module-jit-reachability.js create mode 100644 implementation-contributed/javascriptcore/modules/module-namespace-is-frozen.js create mode 100644 implementation-contributed/javascriptcore/modules/module-namespace-is-sealed.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-2.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-3.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-4.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-empty.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-2.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-3.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-4.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-5.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-6.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-7.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-get-property.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-has-property.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-inline-caching.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/a.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/b.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-symbol-iterator-name.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-try-get.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-object-typed-array-fast-path.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-prototype-assignment.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-re-export.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export-fixture.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-set-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-tdz.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-tdz/A.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-tdz/B.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace-tdz/main.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace/additional-drink.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace/drink.js create mode 100644 implementation-contributed/javascriptcore/modules/namespace/more-additional-drink.js create mode 100644 implementation-contributed/javascriptcore/modules/resources/assert.js create mode 100644 implementation-contributed/javascriptcore/modules/scopes-eval.js create mode 100644 implementation-contributed/javascriptcore/modules/scopes.js create mode 100644 implementation-contributed/javascriptcore/modules/scopes/additional-drink.js create mode 100644 implementation-contributed/javascriptcore/modules/scopes/drink.js create mode 100644 implementation-contributed/javascriptcore/modules/scopes/more-additional-drink.js create mode 100644 implementation-contributed/javascriptcore/modules/self-star-link.js create mode 100644 implementation-contributed/javascriptcore/modules/self-star-link/A.js create mode 100644 implementation-contributed/javascriptcore/modules/self-star-link/B.js create mode 100644 implementation-contributed/javascriptcore/modules/self-star-link/C.js create mode 100644 implementation-contributed/javascriptcore/modules/self-star-link/D.js create mode 100644 implementation-contributed/javascriptcore/modules/self-star-link/E.js create mode 100644 implementation-contributed/javascriptcore/modules/string-prototype-module-scope.js create mode 100644 implementation-contributed/javascriptcore/modules/this-should-be-undefined.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A-pre.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/B.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/C.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/D.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E-pre.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main1.js create mode 100644 implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main2.js create mode 100644 implementation-contributed/javascriptcore/perf/bench-allocate-nonretained.js create mode 100644 implementation-contributed/javascriptcore/perf/bench-allocate-retained.js create mode 100644 implementation-contributed/javascriptcore/regexp/RegExpTest.data create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/README create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/array-push-3.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/default-derived-constructor.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/dense-set.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/double-to-int32.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitand.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitor.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitxor.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-div.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-lshift.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-mul.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-rshift.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-sub.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-urshift.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-inlining.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-no-inlining.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-additions.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-mutation.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/map-constant-key.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/map-get-get-cse.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/nested-function-parsing.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/rest-parameter-allocation-elimination.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-large-array.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-small-array.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/string-add-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/to-lower-case.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/undefined-property-access.js create mode 100644 implementation-contributed/javascriptcore/slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js create mode 100644 implementation-contributed/javascriptcore/stress/IIFE-es6-default-parameters.js create mode 100644 implementation-contributed/javascriptcore/stress/IIFE-function-name-captured.js create mode 100644 implementation-contributed/javascriptcore/stress/JSON-parse-should-cache-array-lengths.js create mode 100644 implementation-contributed/javascriptcore/stress/Number-isNaN-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors.js create mode 100644 implementation-contributed/javascriptcore/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js create mode 100644 implementation-contributed/javascriptcore/stress/SharedArrayBuffer-opt.js create mode 100644 implementation-contributed/javascriptcore/stress/SharedArrayBuffer.js create mode 100644 implementation-contributed/javascriptcore/stress/accessors-get-set-prefix.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-sink-default-value-tdz-error.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-sink-default-value.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value-tdz-error.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-sink-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-sink.js create mode 100644 implementation-contributed/javascriptcore/stress/activation-test-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/add-constant-overflow-recovery.js create mode 100644 implementation-contributed/javascriptcore/stress/add-inferred-type-table-to-existing-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/add-int52-constant-overflow-recovery.js create mode 100644 implementation-contributed/javascriptcore/stress/add-int52-large-constant-overflow-recovery.js create mode 100644 implementation-contributed/javascriptcore/stress/add-overflow-recovery.js create mode 100644 implementation-contributed/javascriptcore/stress/add-overflows-after-not-equal.js create mode 100644 implementation-contributed/javascriptcore/stress/add-small-constant-overflow-recovery.js create mode 100644 implementation-contributed/javascriptcore/stress/addition-order-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/ai-consistency-filter-cells.js create mode 100644 implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object-fire.js create mode 100644 implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object.js create mode 100644 implementation-contributed/javascriptcore/stress/ai-needs-to-model-spreads-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/allocation-sinking-defs-may-have-replacements.js create mode 100644 implementation-contributed/javascriptcore/stress/allocation-sinking-new-object-with-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/allocation-sinking-puthint-control-flow.js create mode 100644 implementation-contributed/javascriptcore/stress/allow-math-ic-b3-code-duplication.js create mode 100644 implementation-contributed/javascriptcore/stress/always-enter-dictionary-indexing-mode-with-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/any-int-as-double-add.js create mode 100644 implementation-contributed/javascriptcore/stress/apply-second-argument-must-be-array-like.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-count-bytecode.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-use-caller-arg.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-result-escape.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-nested-inlining.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-not-convert-to-get-argument.js create mode 100644 implementation-contributed/javascriptcore/stress/argument-intrinsic-with-stack-write.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-bizarre-behavior.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-bizarre-behaviour-disable-enumerability.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-callee-uninitialized.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-captured.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-copy-register-array-backing-store.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-custom-properties-gc.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-define-property.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-elimination-force-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-elimination-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-elimination-varargs-too-many-args-arg-count.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-exit-fixed.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode-fixed.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode-fixed.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-inlined-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-interference-cfg.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-interference.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-iterator.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-length-always-dont-enum.js create mode 100644 implementation-contributed/javascriptcore/stress/arguments-non-configurable.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-abs-integer-range-optimization.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-abs-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-abs-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-abs-to-arith-negate-range-optimizaton.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-abs-with-bitwise-or-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-acos-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-acosh-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-add-on-double-array-with-holes.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-add-with-constant-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-add-with-constants.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-asin-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-asinh-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-atan-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-atanh-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-cbrt-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-ceil-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-clz32-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-clz32-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-cos-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-cosh-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-expm1-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-floor-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-fround-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-log-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-log10-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-log2-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-modulo-node-behaviors.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-modulo-twice.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-mul-with-constants.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-negate-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-nodes-abstract-interpreter-untypeduse.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-round-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-sin-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-sinh-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-sqrt-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-sub-on-double-array-with-holes.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-tan-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-tanh-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arith-trunc-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-check-ftl-throw-more-args.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-check-ftl-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-fixup-inlining-dont-generate-invalid-use.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-fixup-should-not-touch-stack-area-below-sp.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-mismatch-arguments-length.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-mismatch-get-argument.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-mismatch-inlining-extra-slots.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-mismatch-inlining.js create mode 100644 implementation-contributed/javascriptcore/stress/arity-mismatch-rest.js create mode 100644 implementation-contributed/javascriptcore/stress/array-buffer-byte-length.js create mode 100644 implementation-contributed/javascriptcore/stress/array-concat-fast-spread-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/array-concat-on-frozen-object.js create mode 100644 implementation-contributed/javascriptcore/stress/array-concat-spread-object.js create mode 100644 implementation-contributed/javascriptcore/stress/array-concat-spread-proxy-exception-check.js create mode 100644 implementation-contributed/javascriptcore/stress/array-concat-spread-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/array-concat-with-slow-indexingtypes.js create mode 100644 implementation-contributed/javascriptcore/stress/array-constructor-no-result.js create mode 100644 implementation-contributed/javascriptcore/stress/array-copywithin.js create mode 100644 implementation-contributed/javascriptcore/stress/array-fill-put-by-val.js create mode 100644 implementation-contributed/javascriptcore/stress/array-filter-put-by-val-direct.js create mode 100644 implementation-contributed/javascriptcore/stress/array-find-does-not-lookup-twice.js create mode 100644 implementation-contributed/javascriptcore/stress/array-flatmap.js create mode 100644 implementation-contributed/javascriptcore/stress/array-flatten.js create mode 100644 implementation-contributed/javascriptcore/stress/array-from-abs-and-floor.js create mode 100644 implementation-contributed/javascriptcore/stress/array-from-put-by-val-direct.js create mode 100644 implementation-contributed/javascriptcore/stress/array-from-set-length.js create mode 100644 implementation-contributed/javascriptcore/stress/array-from-with-accessors.js create mode 100644 implementation-contributed/javascriptcore/stress/array-from-with-iterable.js create mode 100644 implementation-contributed/javascriptcore/stress/array-from-with-iterator.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-array-prototype-change.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-arraystorage.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-hole-and-other.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-hole-with-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-hole.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-index.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-negative-index.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-non-int32-start-index.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-object-prototype-change.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-object.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-original-array.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-other.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-string.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-structure-change-convert.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-structure-change.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof-symbol.js create mode 100644 implementation-contributed/javascriptcore/stress/array-indexof.js create mode 100644 implementation-contributed/javascriptcore/stress/array-iterators-next-error-messages.js create mode 100644 implementation-contributed/javascriptcore/stress/array-iterators-next-with-call.js create mode 100644 implementation-contributed/javascriptcore/stress/array-iterators-next.js create mode 100644 implementation-contributed/javascriptcore/stress/array-join-on-strings-need-overflow-checks.js create mode 100644 implementation-contributed/javascriptcore/stress/array-length-array-storage-plain-object.js create mode 100644 implementation-contributed/javascriptcore/stress/array-length-not-writable.js create mode 100644 implementation-contributed/javascriptcore/stress/array-length-plain-object.js create mode 100644 implementation-contributed/javascriptcore/stress/array-map-put-by-val-direct.js create mode 100644 implementation-contributed/javascriptcore/stress/array-message-passing.js create mode 100644 implementation-contributed/javascriptcore/stress/array-pop-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/array-pop-contiguous.js create mode 100644 implementation-contributed/javascriptcore/stress/array-pop-double-hole.js create mode 100644 implementation-contributed/javascriptcore/stress/array-pop-double.js create mode 100644 implementation-contributed/javascriptcore/stress/array-pop-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays.js create mode 100644 implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays2.js create mode 100644 implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time-2.js create mode 100644 implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/array-prototype-splice-making-typed-array.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-array-storage-beyond-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-contiguous.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-double-then-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-double.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-array-storage-beyond-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-contiguous.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-double-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-double.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-many-contiguous.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-many-double.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-many-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-many-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-storage-continuous.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-multiple-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push-with-force-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/array-push.js create mode 100644 implementation-contributed/javascriptcore/stress/array-reverse-doesnt-clobber.js create mode 100644 implementation-contributed/javascriptcore/stress/array-reverse-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-large-length.js create mode 100644 implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-small-length.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-cow.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-intrinsic.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-jettison-on-constructor-change.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-on-frozen-object.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-osr-exit-2.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-with-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/array-slice-zero-args.js create mode 100644 implementation-contributed/javascriptcore/stress/array-sort-bad-comparator.js create mode 100644 implementation-contributed/javascriptcore/stress/array-species-config-array-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/array-species-functions.js create mode 100644 implementation-contributed/javascriptcore/stress/array-storage-array-unshift.js create mode 100644 implementation-contributed/javascriptcore/stress/array-storage-get-by-val.js create mode 100644 implementation-contributed/javascriptcore/stress/array-storage-length.js create mode 100644 implementation-contributed/javascriptcore/stress/array-symbol-species-lazy-watchpoints.js create mode 100644 implementation-contributed/javascriptcore/stress/array-to-locale-string.js create mode 100644 implementation-contributed/javascriptcore/stress/array-unshift-zero-property-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-array-storage-array.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-array-storage-non-array.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-array-storage-typed-array.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-fires-watchpoint.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-int32-typed-array.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage-pass-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-structure-bad-test.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify-to-structure-contradiction.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayify.js create mode 100644 implementation-contributed/javascriptcore/stress/arrayprofile-should-not-convert-get-by-val-cow.js create mode 100644 implementation-contributed/javascriptcore/stress/arrow-function-needs-its-own-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/arrow-function-token-is-not-keyword.js create mode 100644 implementation-contributed/javascriptcore/stress/arrow-functions-as-default-parameter-values.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value-tdz-error.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-bound.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-call.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-newtarget.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-1.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-2.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-3.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-4.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-superproperty.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-1.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-2.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-3.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-4.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-5.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-6.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-7.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-8.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-name.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-others.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-run-10-1.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-run-10-2.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-1.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-2.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-tdz-1.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-tdz-2.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-tdz-3.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-tdz-4.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-tostring.js create mode 100644 implementation-contributed/javascriptcore/stress/arrowfunction-typeof.js create mode 100644 implementation-contributed/javascriptcore/stress/assign-argument-in-inlined-call.js create mode 100644 implementation-contributed/javascriptcore/stress/assign-captured-argument-in-inlined-call.js create mode 100644 implementation-contributed/javascriptcore/stress/assignment-in-function-call-bracket-node.js create mode 100644 implementation-contributed/javascriptcore/stress/async-arrow-function-in-class-heritage.js create mode 100644 implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-arguments-binding.js create mode 100644 implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-binding-in-class.js create mode 100644 implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-new.target-binding.js create mode 100644 implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-super-binding.js create mode 100644 implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-this-binding.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-long-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-module-reserved-word.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-mozilla.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-reserved-word.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/async-await-throw-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-create-nobaseline.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-create-optimized.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-expression-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-expression-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/async-function-expression-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/async-generator-assertion.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-async-from-sync.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-for-await-of-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-for-await-of.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-yield-promise.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-yield-star-interface.js create mode 100644 implementation-contributed/javascriptcore/stress/async-iteration-yield-star.js create mode 100644 implementation-contributed/javascriptcore/stress/atomics-add-uint32.js create mode 100644 implementation-contributed/javascriptcore/stress/atomics-known-int-use.js create mode 100644 implementation-contributed/javascriptcore/stress/atomics-neg-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/atomics-store-return.js create mode 100644 implementation-contributed/javascriptcore/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js create mode 100644 implementation-contributed/javascriptcore/stress/baseline-osrentry-catch-is-reachable.js create mode 100644 implementation-contributed/javascriptcore/stress/basic-eden-gc-test.js create mode 100644 implementation-contributed/javascriptcore/stress/basic-weakmap.js create mode 100644 implementation-contributed/javascriptcore/stress/basic-weakset.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-add-wrapped-value.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-memory-stress.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-string-coercion.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive-precedence.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-addition-type-error.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-as-key.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-constructor-gc.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-constructor-oom.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-constructor-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-constructor-prototype-prop-descriptor.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-constructor-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-div-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-div-memory-stress.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-div-to-primitive.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-div-type-error.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-div-wrapped-value.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-division.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-equals-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-equals-to-primitive-precedence.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-equals-wrapped-value.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-function-apply.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-general.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-order-of-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-wrapped-values.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-order-of-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-greater-than-wrapped-values.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-length.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-general.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-general.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-order-of-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-wrapped-values.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-order-of-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-less-than-wrapped-values.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-literal-line-terminator.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-literals.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod-memory-stress.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive-precedence.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod-type-error.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod-wrapped-value.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mod.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mul-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive-precedence.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mul-type-error.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-mul-wrapped-value.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-multiplication.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-multiply-memory-stress.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-negate-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-negate-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-no-conversion-to-number.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-operations-error.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prop-descriptor.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-proto-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-proto-name.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-symbol-to-string-tag.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-apply.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-cast-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-wrong-values.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-prototype-value-of.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-spec-to-primitive.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-spec-to-this.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-strict-equals-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-strict-spec-to-this.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-sub-wrapped-value.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-subtraction-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-subtraction-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-subtraction-type-error.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-to-string.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-type-of-proven-type.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-type-of.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-unary-plus.js create mode 100644 implementation-contributed/javascriptcore/stress/big-int-white-space-trailing-leading.js create mode 100644 implementation-contributed/javascriptcore/stress/big-match.js create mode 100644 implementation-contributed/javascriptcore/stress/big-split-captures.js create mode 100644 implementation-contributed/javascriptcore/stress/big-split.js create mode 100644 implementation-contributed/javascriptcore/stress/bit-op-value-to-int32-input-liveness.js create mode 100644 implementation-contributed/javascriptcore/stress/block-scoped-function-declarations.js create mode 100644 implementation-contributed/javascriptcore/stress/bound-function-does-not-have-caller-and-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/bound-function-lazy-name-generation.js create mode 100644 implementation-contributed/javascriptcore/stress/bound-function-tail-call-with-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/bound-function-uses-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/bounds-check-not-eliminated-by-licm.js create mode 100644 implementation-contributed/javascriptcore/stress/branch-check-int32-on-boolean-to-number-untyped.js create mode 100644 implementation-contributed/javascriptcore/stress/branch-check-number-on-boolean-to-number-untyped.js create mode 100644 implementation-contributed/javascriptcore/stress/branch-may-exit-due-to-object-or-other-use-kind.js create mode 100644 implementation-contributed/javascriptcore/stress/broken-have-a-bad-time-with-arguments-for-gc-testing.js create mode 100644 implementation-contributed/javascriptcore/stress/bug-131764.js create mode 100644 implementation-contributed/javascriptcore/stress/bug-165091.js create mode 100644 implementation-contributed/javascriptcore/stress/bug-171786.js create mode 100644 implementation-contributed/javascriptcore/stress/builtin-function-is-construct-type-none.js create mode 100644 implementation-contributed/javascriptcore/stress/builtin-function-length.js create mode 100644 implementation-contributed/javascriptcore/stress/builtin-function-name.js create mode 100644 implementation-contributed/javascriptcore/stress/butterfly-zero-unused-butterfly-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/cached-prototype-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/call-apply-builtin-functions-dont-use-iterators.js create mode 100644 implementation-contributed/javascriptcore/stress/call-apply-exponential-bytecode-size.js create mode 100644 implementation-contributed/javascriptcore/stress/call-forward-varargs-for-inlined-escaped-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/call-non-calleable-constructors-as-function.js create mode 100644 implementation-contributed/javascriptcore/stress/call-object-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-double-new-array-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-length-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer2.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-spread.js create mode 100644 implementation-contributed/javascriptcore/stress/call-varargs-with-different-arguments-length-after-warmup.js create mode 100644 implementation-contributed/javascriptcore/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js create mode 100644 implementation-contributed/javascriptcore/stress/caller-native-code.js create mode 100644 implementation-contributed/javascriptcore/stress/capture-escape-and-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/captured-arguments-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz1.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz2.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz3.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz4.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz5.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-parameter-destructuring.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-parameter-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-set-argument-speculation-failure.js create mode 100644 implementation-contributed/javascriptcore/stress/catch-variables-under-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/check-dom-with-signature.js create mode 100644 implementation-contributed/javascriptcore/stress/check-string-ident.js create mode 100644 implementation-contributed/javascriptcore/stress/check-structure-ir-ensures-empty-does-not-flow-through.js create mode 100644 implementation-contributed/javascriptcore/stress/check-sub-class.js create mode 100644 implementation-contributed/javascriptcore/stress/chill-mod-chill-mod.js create mode 100644 implementation-contributed/javascriptcore/stress/class-derived-from-null.js create mode 100644 implementation-contributed/javascriptcore/stress/class-expression-generates-environment.js create mode 100644 implementation-contributed/javascriptcore/stress/class-expression-should-be-tdz-in-heritage.js create mode 100644 implementation-contributed/javascriptcore/stress/class-method-does-not-declare-variable-to-upper-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/class-static-get-weird.js create mode 100644 implementation-contributed/javascriptcore/stress/class-subclassing-array.js create mode 100644 implementation-contributed/javascriptcore/stress/class-subclassing-function.js create mode 100644 implementation-contributed/javascriptcore/stress/class-subclassing-misc.js create mode 100644 implementation-contributed/javascriptcore/stress/class-subclassing-string.js create mode 100644 implementation-contributed/javascriptcore/stress/class-subclassing-typedarray.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-block-scoping.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-definition-semantics.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-derived-default-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-double-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-loop-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-conditional.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop-no-inline-super.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-no-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-super-in-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-conditional.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-tdz-osr-entry-in-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/class-syntax-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/class_elements.js create mode 100644 implementation-contributed/javascriptcore/stress/clobberize-needs-to-model-spread-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/cloned-arguments-elimination.js create mode 100644 implementation-contributed/javascriptcore/stress/cloned-arguments-get-by-val-double-array.js create mode 100644 implementation-contributed/javascriptcore/stress/cloned-arguments-modification.js create mode 100644 implementation-contributed/javascriptcore/stress/cloned-arguments-should-visit-callee-during-gc.js create mode 100644 implementation-contributed/javascriptcore/stress/closure-call-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/closure-recursive-tail-call-infinite-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/closure-recursive-tail-call.js create mode 100644 implementation-contributed/javascriptcore/stress/code-cache-incorrect-caching.js create mode 100644 implementation-contributed/javascriptcore/stress/combined-liveness-needs-to-say-arguments-are-live.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-clobber-untypeduse.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-eq-incomplete-profile.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-eq-object-or-other-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-eq-object-to-object-or-other.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-non-peephole.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-optimized-in-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-number-and-other.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-strict-eq-integer-to-misc.js create mode 100644 implementation-contributed/javascriptcore/stress/compare-strict-eq-on-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/comparison-ignore-negative-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/completion-value.js create mode 100644 implementation-contributed/javascriptcore/stress/computed-accessor-parsing.js create mode 100644 implementation-contributed/javascriptcore/stress/computed-accessor.js create mode 100644 implementation-contributed/javascriptcore/stress/computed-function-names.js create mode 100644 implementation-contributed/javascriptcore/stress/concat-append-one-with-sparse-array.js create mode 100644 implementation-contributed/javascriptcore/stress/concat-with-holesMustForwardToPrototype.js create mode 100644 implementation-contributed/javascriptcore/stress/const-and-with-statement.js create mode 100644 implementation-contributed/javascriptcore/stress/const-exception-handling.js create mode 100644 implementation-contributed/javascriptcore/stress/const-loop-semantics.js create mode 100644 implementation-contributed/javascriptcore/stress/const-not-strict-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/const-semantics.js create mode 100644 implementation-contributed/javascriptcore/stress/const-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/constant-closure-var-with-dynamic-invalidation.js create mode 100644 implementation-contributed/javascriptcore/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js create mode 100644 implementation-contributed/javascriptcore/stress/constant-folding-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/constant-folding-phase-insert-check-handle-varargs.js create mode 100644 implementation-contributed/javascriptcore/stress/constant-folding-should-fold-make-rope-with-empty-strings.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-forward-varargs-for-inlined-escaped-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-overwritten-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable-2.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-varargs-inline-smaller-Foo.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-varargs-inline.js create mode 100644 implementation-contributed/javascriptcore/stress/construct-varargs-no-inline.js create mode 100644 implementation-contributed/javascriptcore/stress/constructor-with-return.js create mode 100644 implementation-contributed/javascriptcore/stress/contiguous-array-unshift.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-convert-contiguous-to-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-convert-double-to-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-convert-double-to-contiguous.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-convert-int32-to-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-convert-int32-to-contiguous.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-convert-int32-to-double.js create mode 100644 implementation-contributed/javascriptcore/stress/cow-define-length-as-value.js create mode 100644 implementation-contributed/javascriptcore/stress/create-direct-arguments-in-osr-should-initialize-to-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/create-rest-while-having-a-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/create-subclass-structure-may-throw-exception-when-getting-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/create-subclass-structure-might-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/create-this-property-change.js create mode 100644 implementation-contributed/javascriptcore/stress/create-this-structure-change-without-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/create-this-structure-change.js create mode 100644 implementation-contributed/javascriptcore/stress/create-this-with-callee-variants.js create mode 100644 implementation-contributed/javascriptcore/stress/cse-multi-get-by-offset-remove-checks.js create mode 100644 implementation-contributed/javascriptcore/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js create mode 100644 implementation-contributed/javascriptcore/stress/custom-iterators.js create mode 100644 implementation-contributed/javascriptcore/stress/custom-prototype-may-be-same-to-original-one.js create mode 100644 implementation-contributed/javascriptcore/stress/dataview-construct.js create mode 100644 implementation-contributed/javascriptcore/stress/dataview-prototype-accessors.js create mode 100644 implementation-contributed/javascriptcore/stress/dataview-typedarray-toindex.js create mode 100644 implementation-contributed/javascriptcore/stress/date-negative-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/date-parse-ranges.js create mode 100644 implementation-contributed/javascriptcore/stress/date-relaxed.js create mode 100644 implementation-contributed/javascriptcore/stress/date-symbol-toprimitive.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52-then-exit-not-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-int32-to-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-double-path.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-double.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-get-closure-var.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-int32-to-double.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-osr-entry-value.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-speculating-argument-use.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-uint32-to-number.js create mode 100644 implementation-contributed/javascriptcore/stress/dead-value-with-mov-hint-in-another-block.js create mode 100644 implementation-contributed/javascriptcore/stress/deep-StructureStubClearingWatchpoint-destructor-recursion.js create mode 100644 implementation-contributed/javascriptcore/stress/deeply-nested-finallys.js create mode 100644 implementation-contributed/javascriptcore/stress/default-value-parsing-should-propagate-error.js create mode 100644 implementation-contributed/javascriptcore/stress/delete-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/delete-by-val-ftl.js create mode 100644 implementation-contributed/javascriptcore/stress/delete-by-val.js create mode 100644 implementation-contributed/javascriptcore/stress/delete-to-object-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/destructuring-assignment-accepts-iterables.js create mode 100644 implementation-contributed/javascriptcore/stress/destructuring-assignment-require-object-coercible.js create mode 100644 implementation-contributed/javascriptcore/stress/destructuring-assignment-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/destructuring-rest-element.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-call-class-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-create-arguments-inline-alloc.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-del-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-internal-function-call.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-internal-function-construct.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-object-proto-accessor.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-object-proto-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-object-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id-class.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-by-val-direct-with-edge-numbers.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id-class.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val-class.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id-class.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val-class.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-rare-data.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-reflect-get-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-ssa-swap.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-tail-calls.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-to-primitive-pass-symbol.js create mode 100644 implementation-contributed/javascriptcore/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-arguments-in-bounds-to-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-arguments-osr-entry.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-change-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-watchpoint.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-arguments-override-length-then-access-normal-length.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-binding-return-result.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-eval-in-object-literal-methods.js create mode 100644 implementation-contributed/javascriptcore/stress/direct-tail-call-arity-mismatch-count-args.js create mode 100644 implementation-contributed/javascriptcore/stress/disable-caching-when-lazy-materializing-error-property-on-put.js create mode 100644 implementation-contributed/javascriptcore/stress/disable-function-dot-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/disable-gigacage-arrays.js create mode 100644 implementation-contributed/javascriptcore/stress/disable-gigacage-strings.js create mode 100644 implementation-contributed/javascriptcore/stress/disable-gigacage-typed-arrays.js create mode 100644 implementation-contributed/javascriptcore/stress/do-eval-virtual-call-correctly.js create mode 100644 implementation-contributed/javascriptcore/stress/dom-jit-with-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-exception-ic.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-complex-with-incorrect-object.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-complex.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-poly.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-super-poly.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter-type-check.js create mode 100644 implementation-contributed/javascriptcore/stress/domjit-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-constant-fold-check-type-info-on-bound-function.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-crash-ftl-osr-entry.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-crash-in-cfg-simplification.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-crash-on-bad-invalidation-point.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-builtin.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-default-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-crash-when-hoist-check-structure-on-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-dead-lock-put-by-val-as-put-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-reserve-huge-capacity-lexer.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-run-cleanup-after-licm.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-strength-reduce-valuerep-of-doublerep.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-unwind-past-vm-entry-frame.js create mode 100644 implementation-contributed/javascriptcore/stress/dont-validate-stack-offset-in-b3-because-it-might-be-guarded-by-control-flow.js create mode 100644 implementation-contributed/javascriptcore/stress/double-array-to-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/double-array-unshift.js create mode 100644 implementation-contributed/javascriptcore/stress/double-as-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/double-compare-to-float.js create mode 100644 implementation-contributed/javascriptcore/stress/double-rep-real-number-use-on-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/double-rep-with-non-cell.js create mode 100644 implementation-contributed/javascriptcore/stress/double-rep-with-null.js create mode 100644 implementation-contributed/javascriptcore/stress/double-rep-with-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/double-to-float.js create mode 100644 implementation-contributed/javascriptcore/stress/double-to-string-in-loop-removed.js create mode 100644 implementation-contributed/javascriptcore/stress/duplicate-computed-accessors.js create mode 100644 implementation-contributed/javascriptcore/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js create mode 100644 implementation-contributed/javascriptcore/stress/eden-gc-with-retired-blocks.js create mode 100644 implementation-contributed/javascriptcore/stress/element-property-get-should-not-handled-with-get-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/elidable-new-object-roflcopter-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/elide-new-object-dag-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/empty-function.js create mode 100644 implementation-contributed/javascriptcore/stress/empty_eos_regex_split.js create mode 100644 implementation-contributed/javascriptcore/stress/encode-decode-ascii.js create mode 100644 implementation-contributed/javascriptcore/stress/encode-decode-unicode.js create mode 100644 implementation-contributed/javascriptcore/stress/encode-decode-uri-component-surrogates.js create mode 100644 implementation-contributed/javascriptcore/stress/encode-decode-uri-surrogates.js create mode 100644 implementation-contributed/javascriptcore/stress/encode-decode-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/ensure-proper-strict-mode-parsing.js create mode 100644 implementation-contributed/javascriptcore/stress/equality-type-checking.js create mode 100644 implementation-contributed/javascriptcore/stress/equals-masquerader.js create mode 100644 implementation-contributed/javascriptcore/stress/error-description-on-symbols-should-not-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/error-message-for-function-base-not-found.js create mode 100644 implementation-contributed/javascriptcore/stress/error-messages-for-in-operator-should-not-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/error-stack-trace-limit.js create mode 100644 implementation-contributed/javascriptcore/stress/errors-with-simple-names-or-messages-should-not-crash-toString.js create mode 100644 implementation-contributed/javascriptcore/stress/es6-default-parameters.js create mode 100644 implementation-contributed/javascriptcore/stress/es6-for-of-loop-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/escape-object-in-diamond-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/escape-unescape-surrogates.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-and-super.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-cached.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-block-scoping-reassign.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-remove.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-and-remove.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-sinthesize.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-block-with-let.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-with-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-frozen-global.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-global-of-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-global.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-in-if.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-with-let-const-class.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-with-reassign-to-var.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-without-reassign-to-let.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-in-arrow-function.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-script-contains-null-character.js create mode 100644 implementation-contributed/javascriptcore/stress/eval-that-is-not-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-dfg-inlined-frame-not-strict-equal.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-dfg-not-strict-equal.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-dfg-operation-read-value.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-dfg-throw-from-catch-block.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-effect-strcat.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-in-strcat-string-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-in-strcat.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early-in-object-methods.js create mode 100644 implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-after-int32-to-double.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-after-int52-to-double.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-after-int52-to-value.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-after-llvm-folds-large-int-constant.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-from-ftl-with-arity-check-fail.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-from-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-from-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/exit-then-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-exit-not-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fail-to-fold.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fold.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-double-to-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-int32-to-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-value-to-int52-double-path.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-double.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fail-to-fold.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fold.js create mode 100644 implementation-contributed/javascriptcore/stress/fiat-value-to-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/finally-for-in.js create mode 100644 implementation-contributed/javascriptcore/stress/flatten-object-zero-unused-inline-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/flatten-oversize-dictionary-object.js create mode 100644 implementation-contributed/javascriptcore/stress/flattening-prototype-remove-butterfly.js create mode 100644 implementation-contributed/javascriptcore/stress/float32-array-nan-inlined.js create mode 100644 implementation-contributed/javascriptcore/stress/float32-array-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/float32-array-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/float32-repeat-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/float32array-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/float64-array-nan-inlined.js create mode 100644 implementation-contributed/javascriptcore/stress/float64-array-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/floating-point-div-to-mul.js create mode 100644 implementation-contributed/javascriptcore/stress/flush-after-force-exit-in-bytecodeparser-needs-to-update-argument-positions.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul-branch.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-or-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail-barely.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-profiled-call-to-call.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-to-double-constant-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-to-int52-constant-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-to-primitive-in-cfa.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-to-primitive-to-identity-in-cfa.js create mode 100644 implementation-contributed/javascriptcore/stress/fold-typed-array-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-array-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later-and-change-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-base-reassigned.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-capture-string-loop-var.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-delete-during-iteration.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-invalidate-context-weird-assignments.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-invalidation-for-any-write.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-modify-int-loop-var.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-modify-string-loop-var.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-of-const.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-postfix-ignored-index.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-postfix-index.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-prefix-index.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-prototype-with-indexed-properties-should-prevent-caching.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-proxy-target-changed-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-shadow-prototype-property.js create mode 100755 implementation-contributed/javascriptcore/stress/for-in-side-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-string.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-tests.js create mode 100644 implementation-contributed/javascriptcore/stress/for-in-typed-array.js create mode 100644 implementation-contributed/javascriptcore/stress/for-let-comma.js create mode 100644 implementation-contributed/javascriptcore/stress/force-exit-then-eval-dfg.js create mode 100644 implementation-contributed/javascriptcore/stress/force-exit-then-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/forward-varargs-double-new-array-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/forward-varargs-for-inlined-escaped-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/freeze-and-seal-should-prevent-extensions.js create mode 100644 implementation-contributed/javascriptcore/stress/freeze-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/freeze_leek.js create mode 100644 implementation-contributed/javascriptcore/stress/fromCharCode-exception-check.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-arithcos.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-arithsin.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-arithsqrt.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-arithtan.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-bit-xor-right-result-interference.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-bad-callee-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-checkin-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-checkin.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-force-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-function-dot-arguments-with-callee-saves.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength-inline.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-simple.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-wasteful.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-has-a-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-in-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-inline-gettimezoneoffset.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions-dataview.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-inlining-loops.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-inlining-random.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-library-substring.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-negate-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-new-negative-array-size.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-operation-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-operation-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-operation-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-interesting-live-state.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-no-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-putbyid.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-putbyiddirect.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-reallocatepropertystorage.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-regexp-exec.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-regexp-test.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-shr-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-string-equality.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-string-ident-equality.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-string-strict-equality.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-sub-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-switch-string-slow-duplicate-cases.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-tail-call.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-to-ftl-arity-fixup.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-arith-sub-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-oom-error-lazy-slow-path.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-patchpoint-with-volatile-registers.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-setter-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-tail-call-inilned-caller.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-try-catch-varargs-call-throws.js create mode 100644 implementation-contributed/javascriptcore/stress/ftl-xor-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/function-caller-async-arrow-function-body.js create mode 100644 implementation-contributed/javascriptcore/stress/function-caller-async-function-body.js create mode 100644 implementation-contributed/javascriptcore/stress/function-caller-async-generator-body.js create mode 100644 implementation-contributed/javascriptcore/stress/function-caller-generator-body.js create mode 100644 implementation-contributed/javascriptcore/stress/function-caller-generator-method-body.js create mode 100644 implementation-contributed/javascriptcore/stress/function-configurable-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/function-constructor-reading-from-global-lexical-environment.js create mode 100644 implementation-contributed/javascriptcore/stress/function-constructor-semantics.js create mode 100644 implementation-contributed/javascriptcore/stress/function-expression-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/function-name-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/function-reentry-infer-on-self.js create mode 100644 implementation-contributed/javascriptcore/stress/function-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/function-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/function-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/function-toString-arrow.js create mode 100644 implementation-contributed/javascriptcore/stress/function-with-defaults-inlining.js create mode 100644 implementation-contributed/javascriptcore/stress/function-with-defaults-non-inlining.js create mode 100644 implementation-contributed/javascriptcore/stress/fused-jeq-slow.js create mode 100644 implementation-contributed/javascriptcore/stress/fused-jeq.js create mode 100644 implementation-contributed/javascriptcore/stress/fused-jstricteq-slow.js create mode 100644 implementation-contributed/javascriptcore/stress/fused-jstricteq.js create mode 100644 implementation-contributed/javascriptcore/stress/fuzz-bug-16399949.js create mode 100644 implementation-contributed/javascriptcore/stress/generational-opaque-roots.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-and-super.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-arguments-from-function.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-class-methods-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-class-methods.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-eval-this.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-array.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-object.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-string.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-fib-ftl.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-frame-empty.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-constructor-is-subclassible.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-create-optimized.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-no-double-allocate.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-put.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-function-name.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-is-not-constructible.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-methods-with-non-generator.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-methods.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-prototype-copy.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-reduced-save-point-put-to-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-relations.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-return-before-first-call.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-return.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-this.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-throw-before-first-call.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-transfer-register-beyond-mutiple-yields.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-type-check.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-with-new-target.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-with-super.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-with-this-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-with-this.js create mode 100644 implementation-contributed/javascriptcore/stress/generator-yield-star.js create mode 100644 implementation-contributed/javascriptcore/stress/generic-arguments-correct-delete-behavior.js create mode 100644 implementation-contributed/javascriptcore/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/get-array-length-on-undecided.js create mode 100644 implementation-contributed/javascriptcore/stress/get-array-length-phantom-new-array-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/get-array-length-undecided.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-direct-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-direct.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-strict-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-strict-callee.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-strict-caller.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments-2.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-throw-from-getter-through-optimized-code.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-id-untyped.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-offset-double.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-pname-only-prototype-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-double-predicted-int.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-array-type.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-1.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-2.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-3.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-4.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-5.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-6.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-trivial.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-out-of-bounds-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-string.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-to-id-with-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-string-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-string-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-string-generated.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-string-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-string.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/get-by-val-with-symbol.js create mode 100644 implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-direct-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-scoped-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/get-from-scope-dynamic-onto-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/get-local-elimination.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-creates-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-inlined-no-formal-parameters.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds-no-warm-up.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-wrap-around.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around-no-warm-up.js create mode 100644 implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around.js create mode 100644 implementation-contributed/javascriptcore/stress/get-prototype-create-this-effectful.js create mode 100644 implementation-contributed/javascriptcore/stress/get-stack-identity-due-to-sinking.js create mode 100644 implementation-contributed/javascriptcore/stress/get-stack-mapping-with-dead-get-stack.js create mode 100644 implementation-contributed/javascriptcore/stress/get-stack-mapping.js create mode 100644 implementation-contributed/javascriptcore/stress/getter-arity.js create mode 100644 implementation-contributed/javascriptcore/stress/getter.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-2.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-3.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-4.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-5.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/first.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/let.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/second.js create mode 100644 implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/strict.js create mode 100644 implementation-contributed/javascriptcore/stress/global-environment-does-not-trap-unscopables.js create mode 100644 implementation-contributed/javascriptcore/stress/global-is-finite.js create mode 100644 implementation-contributed/javascriptcore/stress/global-is-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/global-isNaN-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-environment-to-this.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-let-no-rhs.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-redeclare-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-redefine-const.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-var-injection.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-variable-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-variable-unresolved-property.js create mode 100644 implementation-contributed/javascriptcore/stress/global-lexical-variable-with-statement.js create mode 100644 implementation-contributed/javascriptcore/stress/global-property-into-variable-get-from-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/goofy-function-reentry-incorrect-inference.js create mode 100644 implementation-contributed/javascriptcore/stress/has-custom-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage-ftl.js create mode 100644 implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage-ftl.js create mode 100644 implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/has-instance-exception-check.js create mode 100644 implementation-contributed/javascriptcore/stress/has-own-property-cache-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/has-own-property-called-on-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/has-own-property-name-cache-string-keys.js create mode 100644 implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbol-keys.js create mode 100644 implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbols-and-strings.js create mode 100644 implementation-contributed/javascriptcore/stress/have-a-bad-time-with-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/having-a-bad-time-with-derived-arrays.js create mode 100644 implementation-contributed/javascriptcore/stress/heap-allocator-allocates-incorrect-size-for-activation.js create mode 100644 implementation-contributed/javascriptcore/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js create mode 100644 implementation-contributed/javascriptcore/stress/ic-throw-through-optimized-code.js create mode 100644 implementation-contributed/javascriptcore/stress/ignore-promise-species.js create mode 100644 implementation-contributed/javascriptcore/stress/import-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/import-from-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/import-reject-with-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/import-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/import-tests/cocoa.js create mode 100644 implementation-contributed/javascriptcore/stress/import-tests/multiple.js create mode 100644 implementation-contributed/javascriptcore/stress/import-tests/multiple2.js create mode 100644 implementation-contributed/javascriptcore/stress/import-tests/should.js create mode 100644 implementation-contributed/javascriptcore/stress/import-with-empty-string.js create mode 100644 implementation-contributed/javascriptcore/stress/impure-get-own-property-slot-inline-cache.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-accessors.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-ai.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-constant.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-custom-accessors.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-custom-values.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-match-invalid.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-match.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-operation.js create mode 100644 implementation-contributed/javascriptcore/stress/in-by-id-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/in-ftl-exception-check.js create mode 100644 implementation-contributed/javascriptcore/stress/incomplete-unicode-locale.js create mode 100644 implementation-contributed/javascriptcore/stress/indirect-call-object-constructor-with-no-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/infer-constant-global-property.js create mode 100644 implementation-contributed/javascriptcore/stress/infer-constant-property.js create mode 100644 implementation-contributed/javascriptcore/stress/infer-uninitialized-closure-var.js create mode 100644 implementation-contributed/javascriptcore/stress/inferred-infinite-loop-that-uses-captured-variables.js create mode 100644 implementation-contributed/javascriptcore/stress/inferred-names.js create mode 100644 implementation-contributed/javascriptcore/stress/inferred-type-table-stale-identifiers.js create mode 100644 implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-before-throwing.js create mode 100644 implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js create mode 100644 implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js create mode 100644 implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables.js create mode 100644 implementation-contributed/javascriptcore/stress/initialize_functions_after_arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/injected-numeric-setter-on-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-call-that-doesnt-use-all-args.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-call-to-recursive-tail-call.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-call-varargs-and-call.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-call-varargs.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-closure-call.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-llint-with-switch.js create mode 100644 implementation-contributed/javascriptcore/stress/inline-varargs-get-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/inlined-constructor-this-liveness.js create mode 100644 implementation-contributed/javascriptcore/stress/inlined-error-gets-correct-codeblock-for-bytecodeoffset.js create mode 100644 implementation-contributed/javascriptcore/stress/inlined-function-this-liveness.js create mode 100644 implementation-contributed/javascriptcore/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js create mode 100644 implementation-contributed/javascriptcore/stress/inlining-unreachable-non-tail.js create mode 100644 implementation-contributed/javascriptcore/stress/inlining-unreachable.js create mode 100644 implementation-contributed/javascriptcore/stress/inserted-recovery-with-set-last-index.js create mode 100644 implementation-contributed/javascriptcore/stress/instance-of-on-poly-proto-opc-should-not-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-custom-hasinstancesymbol.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-check-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-hit-one-object-then-another.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-hit-two-objects-then-another.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-late-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-non-object-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-not-cell.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-hit.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-null.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-prototype-change-watchpointable.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-prototype-change.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-proxy-check-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-proxy-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/instanceof.js create mode 100644 implementation-contributed/javascriptcore/stress/int16-put-by-val-in-and-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/int32-array-unshift.js create mode 100644 implementation-contributed/javascriptcore/stress/int32-min-to-string.js create mode 100644 implementation-contributed/javascriptcore/stress/int32-object-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/int32-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/int32-to-string-in-loop-removed.js create mode 100644 implementation-contributed/javascriptcore/stress/int32array-transition-on-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-ai-add-then-filter-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32-directly.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-ai-neg-then-filter-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-ai-sub-then-filter-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-argument.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-force-osr-exit-path.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-inlined-call-argument.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-to-string-in-loop-removed.js create mode 100644 implementation-contributed/javascriptcore/stress/int52-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/int8-repeat-out-of-bounds.js create mode 100644 implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-1.js create mode 100644 implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-2.js create mode 100644 implementation-contributed/javascriptcore/stress/internal-function-call.js create mode 100644 implementation-contributed/javascriptcore/stress/internal-function-construct.js create mode 100644 implementation-contributed/javascriptcore/stress/intl-constructors-with-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-getter-change.js create mode 100644 implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-proto-change.js create mode 100644 implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/invalidation-point.js create mode 100644 implementation-contributed/javascriptcore/stress/inverted-additive-subsumption.js create mode 100644 implementation-contributed/javascriptcore/stress/is-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/is-undefined-exit-on-masquerader.js create mode 100644 implementation-contributed/javascriptcore/stress/is-undefined-jettison-on-masquerader.js create mode 100644 implementation-contributed/javascriptcore/stress/is-undefined-masquerader.js create mode 100644 implementation-contributed/javascriptcore/stress/isInteger-doesnt-overwrite-argument.js create mode 100644 implementation-contributed/javascriptcore/stress/isLockFree.js create mode 100644 implementation-contributed/javascriptcore/stress/istypedarrayview-intrinsic.js create mode 100644 implementation-contributed/javascriptcore/stress/iterator-functions.js create mode 100644 implementation-contributed/javascriptcore/stress/iterator-names.js create mode 100644 implementation-contributed/javascriptcore/stress/iterator-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/iterator-return-beyond-multiple-iteration-scopes.js create mode 100644 implementation-contributed/javascriptcore/stress/iterators-shape.js create mode 100644 implementation-contributed/javascriptcore/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js create mode 100644 implementation-contributed/javascriptcore/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js create mode 100644 implementation-contributed/javascriptcore/stress/jit-gracefully-handle-double-constants-in-math-operators.js create mode 100644 implementation-contributed/javascriptcore/stress/jit-put-to-scope-global-cache-watchpoint-invalidate.js create mode 100644 implementation-contributed/javascriptcore/stress/joined-strings-should-not-exceed-max-string-length.js create mode 100644 implementation-contributed/javascriptcore/stress/js-fixed-array-out-of-memory.js create mode 100644 implementation-contributed/javascriptcore/stress/jsc-read.js create mode 100644 implementation-contributed/javascriptcore/stress/jsc-setImpureGetterDelegate-on-bad-type.js create mode 100644 implementation-contributed/javascriptcore/stress/jsc-test-functions-should-be-more-robust.js create mode 100644 implementation-contributed/javascriptcore/stress/json-parse-on-frozen-object.js create mode 100644 implementation-contributed/javascriptcore/stress/json-stringified-overflow-2.js create mode 100644 implementation-contributed/javascriptcore/stress/json-stringified-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/json-stringify-with-non-jsarray-array.js create mode 100644 implementation-contributed/javascriptcore/stress/jsonp-literal-parser-semicolon-is-not-assignment.js create mode 100644 implementation-contributed/javascriptcore/stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js create mode 100644 implementation-contributed/javascriptcore/stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js create mode 100644 implementation-contributed/javascriptcore/stress/large-regexp.js create mode 100644 implementation-contributed/javascriptcore/stress/large-unshift-splice.js create mode 100644 implementation-contributed/javascriptcore/stress/lars-sab-workers.js create mode 100644 implementation-contributed/javascriptcore/stress/length-of-new-array-with-spread.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-and-with-statement.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-exception-handling.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-global-not-captured-variables.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-loop-semantics.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-not-strict-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-semantics.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-let-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-scoping-break-continue.js create mode 100644 implementation-contributed/javascriptcore/stress/lexical-scoping-for-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/licm-no-pre-header-nested.js create mode 100644 implementation-contributed/javascriptcore/stress/licm-no-pre-header.js create mode 100644 implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit-nested.js create mode 100644 implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/lift-tdz-bypass-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/lift-template-literal.js create mode 100644 implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability-eager.js create mode 100644 implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-get-by-id-cache-prototype-load-from-dictionary.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-change-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-intercept-value.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-put-to-scope-global-cache-watchpoint-invalidate.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-stack-overflow-debugging-opcodes.js create mode 100644 implementation-contributed/javascriptcore/stress/llint-stack-overflow-location.js create mode 100644 implementation-contributed/javascriptcore/stress/load-hole-from-scope-into-live-var.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check-barely.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-exit-in-foo.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-inlined.js create mode 100644 implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call.js create mode 100644 implementation-contributed/javascriptcore/stress/logical-not-masquerades-as-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/logical-not-masquerades.js create mode 100644 implementation-contributed/javascriptcore/stress/logical-not.js create mode 100644 implementation-contributed/javascriptcore/stress/make-dictionary-repatch.js create mode 100644 implementation-contributed/javascriptcore/stress/make-large-string-jit-strcat.js create mode 100644 implementation-contributed/javascriptcore/stress/make-large-string-jit.js create mode 100644 implementation-contributed/javascriptcore/stress/make-large-string-strcat.js create mode 100644 implementation-contributed/javascriptcore/stress/make-large-string.js create mode 100644 implementation-contributed/javascriptcore/stress/make-rope-2.js create mode 100644 implementation-contributed/javascriptcore/stress/make-rope-3.js create mode 100644 implementation-contributed/javascriptcore/stress/many-sunken-locals.js create mode 100644 implementation-contributed/javascriptcore/stress/map-clone-instance-iterator-change.js create mode 100644 implementation-contributed/javascriptcore/stress/map-clone-iterator-change.js create mode 100644 implementation-contributed/javascriptcore/stress/map-clone-next-change.js create mode 100644 implementation-contributed/javascriptcore/stress/map-clone.js create mode 100644 implementation-contributed/javascriptcore/stress/map-constructor-adder.js create mode 100644 implementation-contributed/javascriptcore/stress/map-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/map-cse-correctness.js create mode 100644 implementation-contributed/javascriptcore/stress/map-delete.js create mode 100644 implementation-contributed/javascriptcore/stress/map-inherit-set.js create mode 100644 implementation-contributed/javascriptcore/stress/map-iteration.js create mode 100644 implementation-contributed/javascriptcore/stress/map-iterator-result-should-have-expected-shape.js create mode 100644 implementation-contributed/javascriptcore/stress/map-iterators-next.js create mode 100644 implementation-contributed/javascriptcore/stress/map-rehash-2.js create mode 100644 implementation-contributed/javascriptcore/stress/map-rehash.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-change-get.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-check-failure.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-clobber-map-get.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-create-bucket.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-set-has.js create mode 100644 implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-weak-map-get.js create mode 100644 implementation-contributed/javascriptcore/stress/map-untyped-normalize-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/map-untyped-normalize.js create mode 100644 implementation-contributed/javascriptcore/stress/marked-argument-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-activation-referenced-from-phantom-function.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-object-referenced-from-phantom-object.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-past-butterfly-allocation.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-past-put-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp-at-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp-at-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp.js create mode 100644 implementation-contributed/javascriptcore/stress/materialize-regexp.js create mode 100644 implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match-at-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match.js create mode 100644 implementation-contributed/javascriptcore/stress/math-abs-positive.js create mode 100644 implementation-contributed/javascriptcore/stress/math-ceil-arith-rounding-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/math-ceil-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-clz32-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-exceptions.js create mode 100644 implementation-contributed/javascriptcore/stress/math-floor-arith-rounding-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/math-floor-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-log-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-log-with-constants.js create mode 100644 implementation-contributed/javascriptcore/stress/math-max-min-no-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-becomes-custom-function.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-coherency.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-integer-exponent-fastpath.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-nan-behaviors.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-stable-results.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-with-constants.js create mode 100644 implementation-contributed/javascriptcore/stress/math-pow-with-never-NaN-exponent.js create mode 100644 implementation-contributed/javascriptcore/stress/math-round-arith-rounding-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/math-round-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-round-should-not-use-truncate.js create mode 100644 implementation-contributed/javascriptcore/stress/math-rounding-infinity.js create mode 100644 implementation-contributed/javascriptcore/stress/math-rounding-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/math-rounding-negative-zero.js create mode 100644 implementation-contributed/javascriptcore/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js create mode 100644 implementation-contributed/javascriptcore/stress/math-sqrt-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-trunc-arith-rounding-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/math-trunc-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/math-trunc-should-be-truncate.js create mode 100644 implementation-contributed/javascriptcore/stress/math-unary-no-arg.js create mode 100644 implementation-contributed/javascriptcore/stress/max-boolean-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/method-name.js create mode 100644 implementation-contributed/javascriptcore/stress/misaligned-int8-view-byte-offset.js create mode 100644 implementation-contributed/javascriptcore/stress/misaligned-int8-view-read.js create mode 100644 implementation-contributed/javascriptcore/stress/misaligned-int8-view-write.js create mode 100644 implementation-contributed/javascriptcore/stress/misc-is-object-or-null.js create mode 100644 implementation-contributed/javascriptcore/stress/model-effects-properly-of-spread-over-phantom-create-rest.js create mode 100644 implementation-contributed/javascriptcore/stress/modify-map-during-iteration.js create mode 100644 implementation-contributed/javascriptcore/stress/modify-set-during-iteration.js create mode 100644 implementation-contributed/javascriptcore/stress/module-namespace-access-change.js create mode 100644 implementation-contributed/javascriptcore/stress/module-namespace-access-non-constant.js create mode 100644 implementation-contributed/javascriptcore/stress/module-namespace-access-poly.js create mode 100644 implementation-contributed/javascriptcore/stress/module-namespace-access-transitive-exports.js create mode 100644 implementation-contributed/javascriptcore/stress/module-namespace-access.js create mode 100644 implementation-contributed/javascriptcore/stress/modules-syntax-error-with-names.js create mode 100644 implementation-contributed/javascriptcore/stress/modules-syntax-error.js create mode 100644 implementation-contributed/javascriptcore/stress/modules-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/mul-boolean-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-dce.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-hoist-around-structure-check.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-and-self.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-or-unset.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-self-or-unset.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-unset.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-put-by-offset-multiple-transitions.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-butterfly-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-cases.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/eighth.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fifth.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/first.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fourth.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/ninth.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/second.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/seventh.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/sixth.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/tenth.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/third.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/first.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/second.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/first.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/second.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/first.js create mode 100644 implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js create mode 100644 implementation-contributed/javascriptcore/stress/multiply-typed-double-and-object.js create mode 100644 implementation-contributed/javascriptcore/stress/mutual-tail-call-no-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/nan-equal-untyped.js create mode 100644 implementation-contributed/javascriptcore/stress/nan-equal.js create mode 100644 implementation-contributed/javascriptcore/stress/native-constructors-length.js create mode 100644 implementation-contributed/javascriptcore/stress/native-error-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-buffer-sinking-osrexit.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-dead.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-having-a-bad-time-double.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-storage-array-with-size.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-with-size-div.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-with-size-with-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-with-spread-double-new-array-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js create mode 100644 implementation-contributed/javascriptcore/stress/new-array-with-spread-with-phantom-new-array-buffer.js create mode 100644 implementation-contributed/javascriptcore/stress/new-contiguous-array-with-size.js create mode 100644 implementation-contributed/javascriptcore/stress/new-double-array-with-size.js create mode 100644 implementation-contributed/javascriptcore/stress/new-function-expression-has-structures.js create mode 100644 implementation-contributed/javascriptcore/stress/new-int32-array-with-size.js create mode 100644 implementation-contributed/javascriptcore/stress/new-largeish-contiguous-array-with-size.js create mode 100644 implementation-contributed/javascriptcore/stress/new-promise-capabilities-requires-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/new-regex-inline.js create mode 100644 implementation-contributed/javascriptcore/stress/new-string-object.js create mode 100644 implementation-contributed/javascriptcore/stress/new-target-syntax-errors.js create mode 100644 implementation-contributed/javascriptcore/stress/new-target.js create mode 100644 implementation-contributed/javascriptcore/stress/new-typed-array-cse-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/new-undecided-array-with-size.js create mode 100644 implementation-contributed/javascriptcore/stress/no-abc-skippy-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/no-abc-skippy-paired-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/non-constructors.js create mode 100644 implementation-contributed/javascriptcore/stress/normalize-map-key-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/not-cell-use.js create mode 100644 implementation-contributed/javascriptcore/stress/number-is-finite.js create mode 100644 implementation-contributed/javascriptcore/stress/number-is-integer-intrinsic.js create mode 100644 implementation-contributed/javascriptcore/stress/number-is-nan.js create mode 100644 implementation-contributed/javascriptcore/stress/number-prototype-to-string-cast-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/number-prototype-to-string-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/number-prototype-to-string-wrong-values.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-locale-string-should-accept-strange-number-objects.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-abstract-operation.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-radix.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-strength-reduction.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-with-add.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-with-radix-10.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-with-radix-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-with-radix-invalid.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-with-radix-watchpoint.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string-with-radix.js create mode 100644 implementation-contributed/javascriptcore/stress/number-to-string.js create mode 100644 implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype-non-blank-array.js create mode 100644 implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/numeric-setter-on-self.js create mode 100644 implementation-contributed/javascriptcore/stress/obj-rest-destructuring-order.js create mode 100644 implementation-contributed/javascriptcore/stress/obj-spread-order.js create mode 100644 implementation-contributed/javascriptcore/stress/object-add.js create mode 100644 implementation-contributed/javascriptcore/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-changing-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-correctness.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-enumerable.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-fast-path.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-order.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-string-first.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign-symbols.js create mode 100644 implementation-contributed/javascriptcore/stress/object-assign.js create mode 100644 implementation-contributed/javascriptcore/stress/object-bit-and.js create mode 100644 implementation-contributed/javascriptcore/stress/object-bit-or.js create mode 100644 implementation-contributed/javascriptcore/stress/object-bit-xor.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-boolean-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-global.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-null-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-number-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-object-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-should-be-new-target-aware.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-string-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-symbol-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-constructor-undefined-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/object-create-define.js create mode 100644 implementation-contributed/javascriptcore/stress/object-create-null-external.js create mode 100644 implementation-contributed/javascriptcore/stress/object-create-null.js create mode 100644 implementation-contributed/javascriptcore/stress/object-create-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/object-create-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/object-div.js create mode 100644 implementation-contributed/javascriptcore/stress/object-entries.js create mode 100644 implementation-contributed/javascriptcore/stress/object-escapes-in-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/object-freeze-accept-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-freeze-with-proxy-preventExtensions.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-own-property-descriptor-perform-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-own-property-names-perform-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-own-property-symbols-perform-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-own-property-symbols.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-prototype-of-filtered.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-prototype-of-mono-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-prototype-of-perform-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-mono-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/object-is-extensible-accept-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-is-frozen-accept-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-is-sealed-accept-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-is.js create mode 100644 implementation-contributed/javascriptcore/stress/object-iterate-symbols.js create mode 100644 implementation-contributed/javascriptcore/stress/object-iterate.js create mode 100644 implementation-contributed/javascriptcore/stress/object-keys-perform-to-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-literal-methods.js create mode 100644 implementation-contributed/javascriptcore/stress/object-lshift.js create mode 100644 implementation-contributed/javascriptcore/stress/object-mul.js create mode 100644 implementation-contributed/javascriptcore/stress/object-number-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/object-own-property-keys.js create mode 100644 implementation-contributed/javascriptcore/stress/object-prevent-extensions-accept-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-proto-getter-filtered.js create mode 100644 implementation-contributed/javascriptcore/stress/object-proto-getter-poly-mono-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/object-proto-getter-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js create mode 100644 implementation-contributed/javascriptcore/stress/object-rest-deconstruct.js create mode 100644 implementation-contributed/javascriptcore/stress/object-rshift.js create mode 100644 implementation-contributed/javascriptcore/stress/object-seal-accept-non-object.js create mode 100644 implementation-contributed/javascriptcore/stress/object-seal-with-proxy-preventExtensions.js create mode 100644 implementation-contributed/javascriptcore/stress/object-spread.js create mode 100644 implementation-contributed/javascriptcore/stress/object-sub.js create mode 100644 implementation-contributed/javascriptcore/stress/object-toString-with-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/object-urshift.js create mode 100644 implementation-contributed/javascriptcore/stress/object-values-changing-properties.js create mode 100644 implementation-contributed/javascriptcore/stress/object-values.js create mode 100644 implementation-contributed/javascriptcore/stress/obscure-error-message-dont-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/obviously-elidable-new-object-then-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/op-add-exceptions.js create mode 100644 implementation-contributed/javascriptcore/stress/op-negate-inline-cache.js create mode 100644 implementation-contributed/javascriptcore/stress/op-push-name-scope-crashes-profiler.js create mode 100644 implementation-contributed/javascriptcore/stress/op_add.js create mode 100644 implementation-contributed/javascriptcore/stress/op_bitand.js create mode 100644 implementation-contributed/javascriptcore/stress/op_bitor.js create mode 100644 implementation-contributed/javascriptcore/stress/op_bitxor.js create mode 100644 implementation-contributed/javascriptcore/stress/op_div-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_div-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_div-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_lshift-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_lshift-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_lshift-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_mod-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_mod-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_mod-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_mul-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_mul-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_mul-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_negate.js create mode 100644 implementation-contributed/javascriptcore/stress/op_postdec.js create mode 100644 implementation-contributed/javascriptcore/stress/op_postinc.js create mode 100644 implementation-contributed/javascriptcore/stress/op_predec.js create mode 100644 implementation-contributed/javascriptcore/stress/op_preinc.js create mode 100644 implementation-contributed/javascriptcore/stress/op_rshift-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_rshift-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_rshift-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_sub-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_sub-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_sub-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_urshift-ConstVar.js create mode 100644 implementation-contributed/javascriptcore/stress/op_urshift-VarConst.js create mode 100644 implementation-contributed/javascriptcore/stress/op_urshift-VarVar.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-contiguous-array.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-double-array.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-generic-array.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-int32-array.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-negative-int32-cast.js create mode 100644 implementation-contributed/javascriptcore/stress/operation-in-throw-error.js create mode 100644 implementation-contributed/javascriptcore/stress/optional-catch-binding-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/optional-catch-binding.js create mode 100644 implementation-contributed/javascriptcore/stress/ordinary-set-exceptions.js create mode 100644 implementation-contributed/javascriptcore/stress/osr-enter-to-catch-with-set-local-type-check-failure.js create mode 100644 implementation-contributed/javascriptcore/stress/osr-exit-on-op-negate-should-no-fail-assertions.js create mode 100644 implementation-contributed/javascriptcore/stress/other-is-object-or-null.js create mode 100644 implementation-contributed/javascriptcore/stress/override-map-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/pad-start-calls-repeat-character-with-double.js create mode 100644 implementation-contributed/javascriptcore/stress/parameter-scoping.js create mode 100644 implementation-contributed/javascriptcore/stress/parse-int-intrinsic-dfg-backend-flush.js create mode 100644 implementation-contributed/javascriptcore/stress/parse-int-intrinsic.js create mode 100644 implementation-contributed/javascriptcore/stress/parse-regexp-as-token.js create mode 100644 implementation-contributed/javascriptcore/stress/path-sensitive-known-cell-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/pathname-resolve.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-arguments-set-local-then-exit-in-same-block.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-argument-count.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-callee.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-inadequacy.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-local-captured-but-not-flushed-to-ssa.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs2.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-new-array-with-spread-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-regexp-regexp-exec.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-regexp-string-match.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-spread-forward-varargs.js create mode 100644 implementation-contributed/javascriptcore/stress/phantom-spread-osr-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/plus-boolean-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/plus-boolean-or-double.js create mode 100644 implementation-contributed/javascriptcore/stress/plus-boolean-or-int.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-call-exit-this.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-call-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-call-stub-in-getter-stub.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-chain-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-chain-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-chain-then-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-chain-then-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-getter-combo.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-getter-then-chain.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-getter-then-self.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-clear-stub.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-custom-value-and-accessor.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-intrinsic-getter-correctness.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-miss.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-op-in-caching.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-prototype-map-having-a-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-put-transition.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-set-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-proto-using-inheritance.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-self-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-self-then-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-setter-combo.js create mode 100644 implementation-contributed/javascriptcore/stress/poly-setter-then-self.js create mode 100644 implementation-contributed/javascriptcore/stress/polymorphic-prototype-accesses.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-coherency.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-evaluation-order.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-expects-update-expression-on-lhs.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-integer-exponent-fastpath.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-nan-behaviors.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-no-result.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-simple.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-stable-results.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-to-number-should-be-executed-in-code-side.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-with-constants.js create mode 100644 implementation-contributed/javascriptcore/stress/pow-with-never-NaN-exponent.js create mode 100644 implementation-contributed/javascriptcore/stress/primitive-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/private-name-as-anonymous-builtin.js create mode 100644 implementation-contributed/javascriptcore/stress/promise-cannot-be-called.js create mode 100644 implementation-contributed/javascriptcore/stress/promise-finally.js create mode 100644 implementation-contributed/javascriptcore/stress/promise-infinite-recursion-should-not-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/promise-species-functions.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-boolean-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-int32-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-number-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-object-or-other-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-object-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-other-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-string-then-object.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-struct-or-other-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-fold.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-multi.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-struct-then-object.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-symbol-then-object.js create mode 100644 implementation-contributed/javascriptcore/stress/prop-type-symbol-then-string.js create mode 100644 implementation-contributed/javascriptcore/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js create mode 100644 implementation-contributed/javascriptcore/stress/proper-property-store-with-prototype-property-that-is-not-writable.js create mode 100644 implementation-contributed/javascriptcore/stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js create mode 100644 implementation-contributed/javascriptcore/stress/property-setters-should-not-be-called-for-bound-arguments-list-entries.js create mode 100644 implementation-contributed/javascriptcore/stress/proto-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/prototype-chain-has-dictionary-structure-for-in-caching.js create mode 100644 implementation-contributed/javascriptcore/stress/prototype-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/prototype-is-not-js-object.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-all-the-parameters.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-and-json-stringify.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-and-typed-array.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-array-prototype-methods.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-call-apply-handler-to-this.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-call.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-class.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-construct.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-define-own-property.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-delete.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-get-and-set-recursion-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-get-own-property.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-get-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-get-set-correct-receiver.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-get-with-primitive-receiver.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-has-property.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-in-proto-chain.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-inline-cache.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-instanceof.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-is-array.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-is-extensible.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-json.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-of-a-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-own-keys.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-prevent-extensions.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-property-descriptor.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-returning-incomplete-property-descriptor.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-revoke.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-set-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-set.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-stack-overflow-exceptions.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-underscore-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-with-private-symbols.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-with-statement.js create mode 100644 implementation-contributed/javascriptcore/stress/proxy-with-unbalanced-getter-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/prune-multi-put-by-offset-replace-or-transition-variant.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-build-list-order-recurse.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-direct-should-be-done-for-non-index-property.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-direct-strict-transition.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-direct-transition.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-direct.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-non-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-strict-build-list-order.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-throw-through-optimized-code.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-id-transition-null-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-direct-out-of-bounds-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-out-of-bounds-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-slow-put-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-with-string-break.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-with-string-generated.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-with-string-generic.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-break.js create mode 100644 implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-generic.js create mode 100644 implementation-contributed/javascriptcore/stress/put-direct-index-broken-2.js create mode 100644 implementation-contributed/javascriptcore/stress/put-direct-index-broken.js create mode 100644 implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-strict-transition.js create mode 100644 implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-transition.js create mode 100644 implementation-contributed/javascriptcore/stress/put-indexed-getter-setter.js create mode 100644 implementation-contributed/javascriptcore/stress/put-inline-cache-side-effects.js create mode 100644 implementation-contributed/javascriptcore/stress/put-local-conservative.js create mode 100644 implementation-contributed/javascriptcore/stress/put-on-cow-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/raise-error-in-iterator-close.js create mode 100644 implementation-contributed/javascriptcore/stress/random-53bit.js create mode 100644 implementation-contributed/javascriptcore/stress/random-in-range.js create mode 100644 implementation-contributed/javascriptcore/stress/re-execute-error-module.js create mode 100644 implementation-contributed/javascriptcore/stress/real-forward-varargs-for-inlined-escaped-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/recurse-infinitely-on-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/recursive-tail-call-with-different-argument-count.js create mode 100644 implementation-contributed/javascriptcore/stress/recursive-try-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/recursive_property_redefine_during_inline_caching.js create mode 100644 implementation-contributed/javascriptcore/stress/redundant-add-overflow-checks.js create mode 100644 implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition-skip-first.js create mode 100644 implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition.js create mode 100644 implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-unchecked-addition.js create mode 100644 implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-apply.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-construct.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-define-property.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-delete-property.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-get-own-property.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-get-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-get.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-has.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-is-extensible.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-own-keys.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-prevent-extensions.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-set-prototype-of.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-set-proxy-set.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-set-receiver-proxy-set.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-set-with-global-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect-set.js create mode 100644 implementation-contributed/javascriptcore/stress/reflect.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-exec-effect-after-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-exec-test-effectful-last-index.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-large-quantifier.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-last-index-sinking.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-last-index-writable.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-match-in-other-realm-should-work.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-match-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-match-should-work-with-objects-not-inheriting-object-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-match.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-matches-array-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-matches-array-slow-put.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-matches-array.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-prototype-exec-on-too-long-rope.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-prototype-match-on-too-long-rope.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-prototype-replace-builtin-should-not-use-for-of.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-prototype-test-on-too-long-rope.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-prototype-tostring.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-replace-in-other-realm-should-work.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-replace-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-replace-should-work-with-objects-not-inheriting-object-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-search.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-syntax-error-invalid-flags.js create mode 100644 implementation-contributed/javascriptcore/stress/regexp-with-runtime-syntax-errors.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-132147.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-135155.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-141489.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-141883.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-148564.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-150532.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-151324.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-153486.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-153816.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-156765.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-156992.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-157322.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-157595.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-158411.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-158437.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-159537.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-159744.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-159779-1.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-159779-2.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-159883.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-159954.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-160329.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-160749.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-161995.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-163748.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-164081.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-166812.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-168546.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-169783.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-169941.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170412.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170473.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170661.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170732.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170896-with-contiguous-shape-profile.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170896-with-double-shape-profile.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170896-with-int32-shape-profile.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170973.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170989.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-170990.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-171079.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-172346.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-172383.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-172548.patch create mode 100644 implementation-contributed/javascriptcore/stress/regress-173035.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-173053.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-173321.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-174044.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-174948.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-176485.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-177423.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-177570.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-177584.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-177600.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-178385.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-178386.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-178420.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-178890.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-179140.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-179185.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-179355.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-179562.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-179619.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-179634.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-180219.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-180761.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-181388.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-182419.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-185786.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-185888.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-185896.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-185995.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-186943.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-187006.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-187010.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-187060.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-187074.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-187091.js create mode 100644 implementation-contributed/javascriptcore/stress/regress-187211.js create mode 100644 implementation-contributed/javascriptcore/stress/relaxed-line-terminators-in-string.js create mode 100644 implementation-contributed/javascriptcore/stress/remove-phantom-after-setlocal.js create mode 100644 implementation-contributed/javascriptcore/stress/repeat-put-to-scope-global-with-same-value-watchpoint-invalidate.js create mode 100644 implementation-contributed/javascriptcore/stress/repeated-arity-check-fail.js create mode 100644 implementation-contributed/javascriptcore/stress/repeated-put-by-id-reallocating-transition.js create mode 100644 implementation-contributed/javascriptcore/stress/replacement-watchpoint-dictionary.js create mode 100644 implementation-contributed/javascriptcore/stress/replacement-watchpoint.js create mode 100644 implementation-contributed/javascriptcore/stress/reserved-word-with-escape.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/binary-op-test.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/binary-op-values.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/error-module.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/literal-parser-test-case.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports-2.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/module-namespace-access.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/shadow-chicken-support.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/standalone-pre.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/typedarray-constructor-helper-functions.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/typedarray-test-helper-functions.js create mode 100644 implementation-contributed/javascriptcore/stress/resources/unary-op-test.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-elements.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-2.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-3.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-4.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-5.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-and-default-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-having-a-bad-time.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-inlined.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-is-destructuring.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-many-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-negative.js create mode 100644 implementation-contributed/javascriptcore/stress/rest-parameter-various-types.js create mode 100644 implementation-contributed/javascriptcore/stress/retry-cache-later.js create mode 100644 implementation-contributed/javascriptcore/stress/right-left-context-invalidated-by-input.js create mode 100644 implementation-contributed/javascriptcore/stress/ropes-symbol-toprimitive.js create mode 100644 implementation-contributed/javascriptcore/stress/runtime-array.js create mode 100644 implementation-contributed/javascriptcore/stress/runtime-throw-through-optimized-code.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-anonymous-function.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-basic.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-bound-function-name.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-deep-stack.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-display-name.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-internal-function-name.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler-microtasks.js create mode 100644 implementation-contributed/javascriptcore/stress/sampling-profiler/samplingProfiler.js create mode 100644 implementation-contributed/javascriptcore/stress/scoped-arguments-array-length.js create mode 100644 implementation-contributed/javascriptcore/stress/scoped-arguments-out-of-bounds-change-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/scoped-arguments-test.js create mode 100644 implementation-contributed/javascriptcore/stress/scoped-arguments-write-barrier-should-be-on-scope-object.js create mode 100644 implementation-contributed/javascriptcore/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js create mode 100644 implementation-contributed/javascriptcore/stress/set-add-check-failure.js create mode 100644 implementation-contributed/javascriptcore/stress/set-add-clobber-set-has.js create mode 100644 implementation-contributed/javascriptcore/stress/set-add-create-bucket.js create mode 100644 implementation-contributed/javascriptcore/stress/set-add-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/set-add-does-not-clobber-map-get.js create mode 100644 implementation-contributed/javascriptcore/stress/set-clone-instance-iterator-change.js create mode 100644 implementation-contributed/javascriptcore/stress/set-clone-iterator-change.js create mode 100644 implementation-contributed/javascriptcore/stress/set-clone-next-change.js create mode 100644 implementation-contributed/javascriptcore/stress/set-clone.js create mode 100644 implementation-contributed/javascriptcore/stress/set-constructor-adder.js create mode 100644 implementation-contributed/javascriptcore/stress/set-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/set-inherit-add.js create mode 100644 implementation-contributed/javascriptcore/stress/set-iterator-result-should-have-expected-shape.js create mode 100644 implementation-contributed/javascriptcore/stress/set-iterators-next.js create mode 100644 implementation-contributed/javascriptcore/stress/set-same-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/set-untyped-normalize-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/set-untyped-normalize.js create mode 100644 implementation-contributed/javascriptcore/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js create mode 100644 implementation-contributed/javascriptcore/stress/setter.js create mode 100644 implementation-contributed/javascriptcore/stress/shadow-chicken-disabled.js create mode 100644 implementation-contributed/javascriptcore/stress/shadow-chicken-enabled.js create mode 100644 implementation-contributed/javascriptcore/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-ai-effect.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-polyvariant-call-inlining-example.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-polyvariant-get-by-id-inlining-example.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-polyvariant-put-by-id-inlining-example.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-prototype-accesses.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding-fail.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-regexp-test-folding-fail.js create mode 100644 implementation-contributed/javascriptcore/stress/simple-regexp-test-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js create mode 100644 implementation-contributed/javascriptcore/stress/singleton-scope-then-overwrite.js create mode 100644 implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc-and-overwrite.js create mode 100644 implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-dfg.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32-dfg.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-sneakier.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneakier.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneaky.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-multigetbyoffset.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneakier.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneaky.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-phantom-new-array-buffer-exit-ok.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-put-stack-over-kill-stack.js create mode 100644 implementation-contributed/javascriptcore/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js create mode 100644 implementation-contributed/javascriptcore/stress/sink_checkstructure.js create mode 100644 implementation-contributed/javascriptcore/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js create mode 100644 implementation-contributed/javascriptcore/stress/sloppy-mode-function-hoisting.js create mode 100644 implementation-contributed/javascriptcore/stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js create mode 100644 implementation-contributed/javascriptcore/stress/slow-path-generator-updating-current-node-dfg.js create mode 100644 implementation-contributed/javascriptcore/stress/sort-array-with-undecided.js create mode 100644 implementation-contributed/javascriptcore/stress/sorting-boolean-result-comparator.js create mode 100644 implementation-contributed/javascriptcore/stress/source-origin.js create mode 100644 implementation-contributed/javascriptcore/stress/sparse-array-entry-update-144067.js create mode 100644 implementation-contributed/javascriptcore/stress/sparse-define-empty-descriptor.js create mode 100644 implementation-contributed/javascriptcore/stress/sparse-map-non-overlapping.js create mode 100644 implementation-contributed/javascriptcore/stress/sparse-map-non-skip-getter-overriding.js create mode 100644 implementation-contributed/javascriptcore/stress/sparse-map-non-skip.js create mode 100644 implementation-contributed/javascriptcore/stress/sparse_splice.js create mode 100644 implementation-contributed/javascriptcore/stress/spec-empty-flows-through-cell-checks.js create mode 100644 implementation-contributed/javascriptcore/stress/splay-flash-access-1ms.js create mode 100644 implementation-contributed/javascriptcore/stress/splay-flash-access.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint-2.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-call-convert-to-static-call.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-calling.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-capture-rest.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-consults-correct-global-object.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-correct-global-object-on-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-escapes-but-create-rest-does-not.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not-double.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-forward-call-varargs-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-forward-varargs-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-in-tail.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-multi-layers.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-non-array.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-non-varargs.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-optimized-properly.js create mode 100644 implementation-contributed/javascriptcore/stress/spread-outer-create-rest.js create mode 100644 implementation-contributed/javascriptcore/stress/static-function-delete.js create mode 100644 implementation-contributed/javascriptcore/stress/static-function-put.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-delete.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-descriptors.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-enumeration.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-get.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-in-names.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-names.js create mode 100644 implementation-contributed/javascriptcore/stress/static-getter-put.js create mode 100644 implementation-contributed/javascriptcore/stress/strcat-emtpy.js create mode 100644 implementation-contributed/javascriptcore/stress/strict-function-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/strict-mode-arguments-caller.js create mode 100644 implementation-contributed/javascriptcore/stress/strict-nested-function-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/strict-to-this-int.js create mode 100644 implementation-contributed/javascriptcore/stress/string-compare.js create mode 100644 implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure-not-dead.js create mode 100644 implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure.js create mode 100644 implementation-contributed/javascriptcore/stress/string-from-char-code-slow.js create mode 100644 implementation-contributed/javascriptcore/stress/string-from-code-point.js create mode 100644 implementation-contributed/javascriptcore/stress/string-ident-to-not-string-var-equality.js create mode 100644 implementation-contributed/javascriptcore/stress/string-instanceof.js create mode 100644 implementation-contributed/javascriptcore/stress/string-iterators.js create mode 100644 implementation-contributed/javascriptcore/stress/string-joining-long-strings-should-not-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/string-normalize.js create mode 100644 implementation-contributed/javascriptcore/stress/string-object-define-own-property.js create mode 100644 implementation-contributed/javascriptcore/stress/string-object-put-by-index.js create mode 100644 implementation-contributed/javascriptcore/stress/string-out-of-bounds-negative-proto-value.js create mode 100644 implementation-contributed/javascriptcore/stress/string-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-charCodeAt-on-too-long-rope.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-methods-endsWith-startsWith-includes-correctness.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-scopes-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/string-prototype-scopes.js create mode 100644 implementation-contributed/javascriptcore/stress/string-raw.js create mode 100644 implementation-contributed/javascriptcore/stress/string-repeat-copy-chars-crash.js create mode 100644 implementation-contributed/javascriptcore/stress/string-repeat-edge-cases.js create mode 100644 implementation-contributed/javascriptcore/stress/string-replace-constant-folding-replacer-not-string.js create mode 100644 implementation-contributed/javascriptcore/stress/string-replace-proxy.js create mode 100644 implementation-contributed/javascriptcore/stress/string-rope-with-custom-valueof.js create mode 100644 implementation-contributed/javascriptcore/stress/string-symbol-customization.js create mode 100644 implementation-contributed/javascriptcore/stress/sub-order-evaluation.js create mode 100644 implementation-contributed/javascriptcore/stress/sub-overflows-after-not-equal.js create mode 100644 implementation-contributed/javascriptcore/stress/super-call-does-not-look-up-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/super-call-function-subclass.js create mode 100644 implementation-contributed/javascriptcore/stress/super-dot-call-and-apply.js create mode 100644 implementation-contributed/javascriptcore/stress/super-force-ic-fail.js create mode 100644 implementation-contributed/javascriptcore/stress/super-get-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/super-getter-reset-ic.js create mode 100644 implementation-contributed/javascriptcore/stress/super-in-lexical-scope.js create mode 100644 implementation-contributed/javascriptcore/stress/super-method-calls-check-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/super-property-access-exceptions.js create mode 100644 implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this-2.js create mode 100644 implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this.js create mode 100644 implementation-contributed/javascriptcore/stress/super-property-access-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/super-property-access-to-this.js create mode 100644 implementation-contributed/javascriptcore/stress/super-property-access.js create mode 100644 implementation-contributed/javascriptcore/stress/switch-typeof-indirect.js create mode 100644 implementation-contributed/javascriptcore/stress/switch-typeof-slightly-indirect.js create mode 100644 implementation-contributed/javascriptcore/stress/switch-typeof.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-and-string-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-array-from.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-define-property.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-description.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-equality-over-gc.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-equality.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-error-messages.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-get-own-property.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-hasInstance.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-instanceof.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-registry.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-seal-and-freeze.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-should-not-break-for-in.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-species.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-toprimitive-errors.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-toprimitive.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-tostringtag-watchpoints.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-tostringtag.js create mode 100644 implementation-contributed/javascriptcore/stress/symbol-with-json.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-template-object-collect.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-template-object.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-template-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-templates-identity.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-templates-raw-strings.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-templates-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-templates-template-object.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-templates-this.js create mode 100644 implementation-contributed/javascriptcore/stress/tagged-templates.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-call-host-call-throw.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-call-in-inline-cache.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-call-no-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-call-profiler.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-call-recognize.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-call-varargs-no-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/tail-calls-dont-overwrite-live-stack.js create mode 100644 implementation-contributed/javascriptcore/stress/tailCallForwardArguments.js create mode 100644 implementation-contributed/javascriptcore/stress/tdz-this-in-try-catch.js create mode 100644 implementation-contributed/javascriptcore/stress/template-literal-line-terminators.js create mode 100644 implementation-contributed/javascriptcore/stress/template-literal-syntax.js create mode 100644 implementation-contributed/javascriptcore/stress/template-literal.js create mode 100644 implementation-contributed/javascriptcore/stress/template-string-tags-eval.js create mode 100644 implementation-contributed/javascriptcore/stress/test-finally.js create mode 100644 implementation-contributed/javascriptcore/stress/test-spec-misc.js create mode 100644 implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-cells.js create mode 100644 implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path.js create mode 100644 implementation-contributed/javascriptcore/stress/throw-from-ftl-in-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/throw-from-ftl.js create mode 100644 implementation-contributed/javascriptcore/stress/throw-through-optimized-code.js create mode 100644 implementation-contributed/javascriptcore/stress/tier-up-in-loop-with-cfg-simplification.js create mode 100644 implementation-contributed/javascriptcore/stress/to-int32-sensible.js create mode 100644 implementation-contributed/javascriptcore/stress/to-int32-sensible2.js create mode 100644 implementation-contributed/javascriptcore/stress/to-lower-case-intrinsic-on-empty-rope.js create mode 100644 implementation-contributed/javascriptcore/stress/to-lower-case.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-basics.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-convert-identity-without-execution.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-intrinsic-convert-to-identity-without-execution.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-intrinsic-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-intrinsic-object-without-execution.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-intrinsic-value-profiling.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-object-without-execution.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-object.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-throws-correct-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/to-number-value-profiling.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic-boolean-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic-null-or-undefined-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic-number-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic-object-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic-string-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic-symbol-edge.js create mode 100644 implementation-contributed/javascriptcore/stress/to-object-intrinsic.js create mode 100644 implementation-contributed/javascriptcore/stress/to-property-key-correctness.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-non-cell-use.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-object-or-string.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-object.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-string-object.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object-then-object.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-value-or-string.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-on-value.js create mode 100644 implementation-contributed/javascriptcore/stress/to-string-with-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-before-arrow-function-closes-over-this-that-starts-as-lexical-environment.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-boolean.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-double.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-global-object.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-int32.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-int52.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-number.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-numbers.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-on-constant-lexical-environment.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-polymorphic.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-string.js create mode 100644 implementation-contributed/javascriptcore/stress/to-this-symbol.js create mode 100644 implementation-contributed/javascriptcore/stress/toprimitive-speculated-types.js create mode 100644 implementation-contributed/javascriptcore/stress/trailing-comma-in-function-parameters.js create mode 100644 implementation-contributed/javascriptcore/stress/trailing-comma-in-patterns.js create mode 100644 implementation-contributed/javascriptcore/stress/tricky-array-bounds-checks.js create mode 100644 implementation-contributed/javascriptcore/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js create mode 100644 implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables.js create mode 100644 implementation-contributed/javascriptcore/stress/trim.js create mode 100644 implementation-contributed/javascriptcore/stress/trivially-foldable-reflective-arguments-access.js create mode 100644 implementation-contributed/javascriptcore/stress/try-catch-custom-getter-as-get-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id-register-restoration.js create mode 100644 implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/try-catch-setter-as-put-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/try-catch-stub-routine-replaced.js create mode 100644 implementation-contributed/javascriptcore/stress/try-get-by-id-poly-proto.js create mode 100644 implementation-contributed/javascriptcore/stress/try-get-by-id-should-spill-registers-dfg.js create mode 100644 implementation-contributed/javascriptcore/stress/try-get-by-id.js create mode 100644 implementation-contributed/javascriptcore/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js create mode 100644 implementation-contributed/javascriptcore/stress/type-of-functions-and-objects.js create mode 100644 implementation-contributed/javascriptcore/stress/typed-array-byte-offset.js create mode 100644 implementation-contributed/javascriptcore/stress/typed-array-get-by-val-profiling.js create mode 100644 implementation-contributed/javascriptcore/stress/typed-array-put-by-val-profiling.js create mode 100644 implementation-contributed/javascriptcore/stress/typed-array-view-set-should-not-crash-on-exception.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-access-monomorphic-neutered.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-access-neutered.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-add-property-to-base-object.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-bad-getter.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-configure-index.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-construct-iterator.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-copyWithin.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-every.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-fill.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-filter.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-find.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-findIndex.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-forEach.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-from.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-functions-with-neutered.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-getownproperty-not-configurable.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-getter-on-self.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-includes.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-indexOf.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-intrinsic-getters-change-prototype.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-lastIndexOf.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-length-dictionary.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-map.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-of.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-reduce.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-reduceRight.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-set.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-slice.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-some.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-sort.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-subarray.js create mode 100644 implementation-contributed/javascriptcore/stress/typedarray-view-string-properties-neutered.js create mode 100644 implementation-contributed/javascriptcore/stress/typeof-dfg-function-or-object.js create mode 100644 implementation-contributed/javascriptcore/stress/typeof-symbol.js create mode 100644 implementation-contributed/javascriptcore/stress/uint32-comparison-jump.js create mode 100644 implementation-contributed/javascriptcore/stress/uint32-comparison.js create mode 100644 implementation-contributed/javascriptcore/stress/uint32-to-number-constant-folding.js create mode 100644 implementation-contributed/javascriptcore/stress/uint32-to-number-fold-constant-with-do-overflow.js create mode 100644 implementation-contributed/javascriptcore/stress/uint32-to-number-overflows-to-uint52.js create mode 100644 implementation-contributed/javascriptcore/stress/uint32array-unsigned-load.js create mode 100644 implementation-contributed/javascriptcore/stress/undecided-concat.js create mode 100644 implementation-contributed/javascriptcore/stress/undecided-length.js create mode 100644 implementation-contributed/javascriptcore/stress/undefined-access-dictionary-then-proto-change.js create mode 100644 implementation-contributed/javascriptcore/stress/undefined-access-then-proto-change.js create mode 100644 implementation-contributed/javascriptcore/stress/undefined-access-then-self-change.js create mode 100644 implementation-contributed/javascriptcore/stress/unescape.js create mode 100644 implementation-contributed/javascriptcore/stress/unscopables.js create mode 100644 implementation-contributed/javascriptcore/stress/unshift-array-storage.js create mode 100644 implementation-contributed/javascriptcore/stress/unshiftCountSlowCase-correct-postCapacity.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-add.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-bit-and.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-bit-or.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-bit-xor.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-div.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-equality.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-less-than.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-lshift.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-mul.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-rshift.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-sub.js create mode 100644 implementation-contributed/javascriptcore/stress/untyped-urshift.js create mode 100644 implementation-contributed/javascriptcore/stress/use-arguments-as-object-pointer.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-crypto-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-deltablue-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-earley-boyer-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-parameter-scoping.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-raytrace-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-regexp-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-richards-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/v8-splay-strict.js create mode 100644 implementation-contributed/javascriptcore/stress/value-add-on-double-array-with-holes.js create mode 100644 implementation-contributed/javascriptcore/stress/value-to-boolean.js create mode 100644 implementation-contributed/javascriptcore/stress/value-to-int32-undefined-constant.js create mode 100644 implementation-contributed/javascriptcore/stress/value-to-int32-undefined.js create mode 100644 implementation-contributed/javascriptcore/stress/values-unscopables.js create mode 100644 implementation-contributed/javascriptcore/stress/var-injection-cache-invalidation.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit-strict-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-inlined-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-inlining-underflow.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-no-forward.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-simple.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-then-slow-call.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-too-few-arguments.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-two-level.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-varargs-closure-inlined-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit-strict-mode.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit.js create mode 100644 implementation-contributed/javascriptcore/stress/varargs-with-unused-count.js create mode 100644 implementation-contributed/javascriptcore/stress/variable-named-eval-under-tdz.js create mode 100644 implementation-contributed/javascriptcore/stress/variable-under-tdz-eval-tricky.js create mode 100644 implementation-contributed/javascriptcore/stress/vector-length-hint-array-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/vector-length-hint-new-array.js create mode 100644 implementation-contributed/javascriptcore/stress/watchdog-dont-malloc-when-in-c-code.js create mode 100644 implementation-contributed/javascriptcore/stress/weak-map-constructor-adder.js create mode 100644 implementation-contributed/javascriptcore/stress/weak-map-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/weak-set-constructor-adder.js create mode 100644 implementation-contributed/javascriptcore/stress/weak-set-constructor.js create mode 100644 implementation-contributed/javascriptcore/stress/weakmap-cse-set-break.js create mode 100644 implementation-contributed/javascriptcore/stress/weakmap-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/weakmap-gc.js create mode 100644 implementation-contributed/javascriptcore/stress/weakmap-set-change-get.js create mode 100644 implementation-contributed/javascriptcore/stress/weakmap-set-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/weakset-add-change-get.js create mode 100644 implementation-contributed/javascriptcore/stress/weakset-add-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/weakset-cse-add-break.js create mode 100644 implementation-contributed/javascriptcore/stress/weakset-cse.js create mode 100644 implementation-contributed/javascriptcore/stress/weakset-gc.js create mode 100644 implementation-contributed/javascriptcore/stress/weird-equality-folding-cases.js create mode 100644 implementation-contributed/javascriptcore/stress/weird-getter-counter.js create mode 100644 implementation-contributed/javascriptcore/stress/weird-put-stack-varargs.js create mode 100644 implementation-contributed/javascriptcore/stress/weird-setter-counter-syntactic.js create mode 100644 implementation-contributed/javascriptcore/stress/weird-setter-counter.js create mode 100644 implementation-contributed/javascriptcore/stress/with.js create mode 100644 implementation-contributed/javascriptcore/stress/with_and_arith.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-and-line-terminator.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-label-generator.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-label.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-named-accessors-generator.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-named-accessors.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-named-variable-generator.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-named-variable.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-out-of-generator.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-reserved-word.js create mode 100644 implementation-contributed/javascriptcore/stress/yield-star-throw-continue.js create mode 100644 implementation-contributed/javascriptcore/stress/zero-to-string.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/arrow-functions.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/basic.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/captured.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/classes.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/deltablue-for-of.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/dfg-jit-optimizations.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/dictionary-mode.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/driver/driver.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/es6-block-scoping.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/es6-classes.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/getter-richards.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/inheritance.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/int52-dfg.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/loop.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/optional-fields.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/overflow.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/return.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/symbol.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/type-profiler-gc.js create mode 100644 implementation-contributed/javascriptcore/typeProfiler/weird-prototype-chain.js create mode 100644 implementation-contributed/javascriptcore/wasm/Builder.js create mode 100644 implementation-contributed/javascriptcore/wasm/Builder_WebAssemblyBinary.js create mode 100644 implementation-contributed/javascriptcore/wasm/LowLevelBinary.js create mode 100644 implementation-contributed/javascriptcore/wasm/README.md create mode 100644 implementation-contributed/javascriptcore/wasm/WASM.js create mode 100644 implementation-contributed/javascriptcore/wasm/assert.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/add-12.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/basic-element.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/br-as-return.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/br-if-as-return.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/br-if-loop-less-than.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/br-table-as-return.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/brTableAsIf.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/brTableManyValues.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/brTableWithLoop.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/context-switch.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/dead-call.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/double-instance.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/exceptions.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/f32-const.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/f64-const.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/factorial.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/float-sub.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/function-import-return-value.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-2.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-3.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-4.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-cause-gc.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/grow-memory.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/i32-const.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/i32-load.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/i32-load8-s.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/i64-from-js-exceptions.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/if-no-else-non-void.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/invalid-duplicate-export.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/load-offset.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/loop-mult.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/loop-sum.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/many-args-tail-call-sp-restored.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/many-arguments-to-function.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-access-past-4gib.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-alignment.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-grow-invalid.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-import-and-grow.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-many.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-multiagent.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-reuse.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/memory-section-and-import.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/nameSection.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/nameSection.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/ret5.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/rotl.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/rotr.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/shl.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/shr-s.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/shr-u.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/stack-trace.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/struct.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/table-basic-2.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/table-basic.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-after-cross-instance-call.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start-async.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-load-2.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-load.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-store-2.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/trap-store.js create mode 100644 implementation-contributed/javascriptcore/wasm/function-tests/void-argument-type-should-be-a-validation-error.js create mode 100644 implementation-contributed/javascriptcore/wasm/fuzz/export-function.js create mode 100644 implementation-contributed/javascriptcore/wasm/fuzz/memory.js create mode 100755 implementation-contributed/javascriptcore/wasm/import-spec-tests.rb create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/Instance.imports.exports.unicode.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/Module-compile.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/Module.customSection.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/Module.exports.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/Module.imports.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/call-indirect.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/dont-mmap-zero-byte-memory.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/element-data.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/element.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/export-arity.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/export-void-is-undef.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/extension-MemoryMode.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/global-error.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/global-external-init-from-import.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/global-internal-init-from-import.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/global-mutate.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/globals-export.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/globals-import.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/memory-grow.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/neutered-inputs.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/promise-stack-overflow.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/table.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_Data.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_Instance.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_Module.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_Start.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_basic_api.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_memory.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/test_memory_constructor.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/unique-signature.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/validate.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/version.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm-bad-signature.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/web-assembly-compile-parallel.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/web-assembly-function.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate-parallel.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate.js create mode 100644 implementation-contributed/javascriptcore/wasm/js-api/wrapper-function.js create mode 100644 implementation-contributed/javascriptcore/wasm/lowExecutableMemory/executable-memory-oom.js create mode 100644 implementation-contributed/javascriptcore/wasm/lowExecutableMemory/exports-oom.js create mode 100644 implementation-contributed/javascriptcore/wasm/lowExecutableMemory/imports-oom.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/constant.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/constant.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/default-import-star-error.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/default-import-star-error/entry.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/default-import-star-error/entry.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/default-import-star-error/t0.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/default-import-star-error/t1.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/default-import-star-error/t2.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle/entry.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle/sum.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle/sum.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-function-namespace.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-function.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-global-namespace.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-global.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory-namespace.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-start.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-table-namespace.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/js-wasm-table.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/memory.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/memory.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/run-from-wasm.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/run-from-wasm.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/run-from-wasm/check.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/start.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/start.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/sum.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/sum.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/table.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/table.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-import-wasm-export-i64-error.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/sum.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports-i64-error/answer.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports-i64-error/answer.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports-i64-error/imports.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports-i64-error/imports.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/imports.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/imports.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/sum.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/sum.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-js-cycle.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-js-cycle/entry.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-js-cycle/entry.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-js-cycle/sum.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle.js create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/entry.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/entry.wat create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/sum.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/sum.wat create mode 100644 implementation-contributed/javascriptcore/wasm/noJIT/noJIT.js create mode 100644 implementation-contributed/javascriptcore/wasm/regress/175693.js create mode 100644 implementation-contributed/javascriptcore/wasm/regress/175693.wasm create mode 100644 implementation-contributed/javascriptcore/wasm/regress/183342.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_BuilderJSON.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_BuilderWebAssembly.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_encode.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_string.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint16.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint24.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint32.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint8.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varint32.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint1.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint32.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint7.js create mode 100644 implementation-contributed/javascriptcore/wasm/self-test/test_WASM.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-harness.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-harness/index.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-harness/wasm-constants.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-harness/wasm-module-builder.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-harness/wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/address.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/align.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/binary.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/block.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/br.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/br_if.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/br_table.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/break-drop.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/call.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/call_indirect.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/comments.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/const.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/conversions.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/custom_section.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/endianness.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/exports.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/f32.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/f32_bitwise.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/f32_cmp.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/f64.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/f64_bitwise.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/f64_cmp.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/fac.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/float_exprs.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/float_literals.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/float_memory.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/float_misc.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/forward.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/func.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/func_ptrs.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/get_local.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/globals.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/i32.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/i64.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/if.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/imports.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/inline-module.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/int_exprs.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/int_literals.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/jsapi.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/labels.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/left-to-right.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/linking.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/loop.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/memory.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/memory_redundancy.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/memory_trap.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/names.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/nop.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/resizing.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/return.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/select.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/set_local.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/skip-stack-guard-page.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/stack.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/start.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/store_retval.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/switch.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/tee_local.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/token.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/traps.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/type.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/typecheck.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/unreachable.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/unreached-invalid.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/unwind.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/utf8-custom-section-id.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-field.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-module.wast.js create mode 100644 implementation-contributed/javascriptcore/wasm/stress/oom.js create mode 100755 implementation-contributed/javascriptcore/wasm/test.sh create mode 100644 implementation-contributed/javascriptcore/wasm/tier-up/js-to-wasm.js create mode 100644 implementation-contributed/javascriptcore/wasm/tier-up/wasm-to-wasm.js create mode 100644 implementation-contributed/javascriptcore/wasm/utilities.js create mode 100644 implementation-contributed/javascriptcore/wasm/wasm.json diff --git a/implementation-contributed/curation_logs/javascriptcore.json b/implementation-contributed/curation_logs/javascriptcore.json index e30c45c117..c0e6f2bed1 100644 --- a/implementation-contributed/curation_logs/javascriptcore.json +++ b/implementation-contributed/curation_logs/javascriptcore.json @@ -1,7 +1,5 @@ { - "targetRevisionAtLastExport": "master", - "sourceRevisionAtLastExport": "949e26452cfa153a7f4afe593da97e2fe9e1b706", - "curatedFiles": { - - } + "sourceRevisionAtLastExport": "8bfa53d50", + "targetRevisionAtLastExport": "8bc4e38a", + "curatedFiles": {} } diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/arrowfunction-expression.js b/implementation-contributed/javascriptcore/controlFlowProfiler/arrowfunction-expression.js new file mode 100644 index 0000000000..613560e118 --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/arrowfunction-expression.js @@ -0,0 +1,63 @@ +load("./driver/driver.js"); + +var afSimple = y => y + 1, + afBlock = y => { y++; return y + 1;}, + afBlockWithCondition = x => { x > 0 ? x++ : x--; return x;}; + +checkBasicBlock(afSimple, "y + 1", ShouldNotHaveExecuted); +afSimple(1); +checkBasicBlock(afSimple, "y + 1", ShouldHaveExecuted); + + +checkBasicBlock(afBlock, "y++", ShouldNotHaveExecuted); +afBlock(2); +checkBasicBlock(afBlock, "y++", ShouldHaveExecuted); +checkBasicBlock(afBlock, "return y + 1", ShouldHaveExecuted); + + +checkBasicBlock(afBlockWithCondition,'x++', ShouldNotHaveExecuted); +afBlockWithCondition(10); +checkBasicBlock(afBlockWithCondition,'x++', ShouldHaveExecuted); +checkBasicBlock(afBlockWithCondition,'return x', ShouldHaveExecuted); +checkBasicBlock(afBlockWithCondition,'x--', ShouldNotHaveExecuted); + + +afBlockWithCondition(-10); +checkBasicBlock(afBlockWithCondition,'x--', ShouldHaveExecuted); + +function foo1(test) { + var f1 = () => { "hello"; } + if (test) + f1(); +} +foo1(false); +checkBasicBlock(foo1, '() =>', ShouldNotHaveExecuted); +checkBasicBlock(foo1, '; }', ShouldNotHaveExecuted); +foo1(true); +checkBasicBlock(foo1, '() =>', ShouldHaveExecuted); +checkBasicBlock(foo1, '; }', ShouldHaveExecuted); + +function foo2(test) { + var f1 = x => { "hello"; } + if (test) + f1(); +} +foo2(false); +checkBasicBlock(foo2, 'x =>', ShouldNotHaveExecuted); +checkBasicBlock(foo2, '; }', ShouldNotHaveExecuted); +foo2(true); +checkBasicBlock(foo2, 'x =>', ShouldHaveExecuted); +checkBasicBlock(foo2, '; }', ShouldHaveExecuted); + + +function foo3(test) { + var f1 = (xyz) => { "hello"; } + if (test) + f1(); +} +foo3(false); +checkBasicBlock(foo3, '(xyz) =>', ShouldNotHaveExecuted); +checkBasicBlock(foo3, '; }', ShouldNotHaveExecuted); +foo3(true); +checkBasicBlock(foo3, '(xyz) =>', ShouldHaveExecuted); +checkBasicBlock(foo3, '; }', ShouldHaveExecuted); diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/brace-location.js b/implementation-contributed/javascriptcore/controlFlowProfiler/brace-location.js new file mode 100644 index 0000000000..8663cb8e8d --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/brace-location.js @@ -0,0 +1,159 @@ +load("./driver/driver.js"); + +function foo() {} +function bar() {} +function baz() {} + +function testIf(x) { + if (x < 10) { foo(); } else if (x < 20) { bar(); } else { baz() } +} +testIf(9); +// Note, the check will be against the basic block that contains the first matched character. +// So in this following case, the block that contains the '{'. +checkBasicBlock(testIf, "{ foo", ShouldHaveExecuted); +// In this case, it will test the basic block that contains the ' ' character. +checkBasicBlock(testIf, " foo", ShouldHaveExecuted); +checkBasicBlock(testIf, "} else if", ShouldHaveExecuted); +checkBasicBlock(testIf, "else if", ShouldNotHaveExecuted); +checkBasicBlock(testIf, "{ bar", ShouldNotHaveExecuted); +checkBasicBlock(testIf, " bar", ShouldNotHaveExecuted); +checkBasicBlock(testIf, "else {", ShouldNotHaveExecuted); +checkBasicBlock(testIf, "{ baz", ShouldNotHaveExecuted); +checkBasicBlock(testIf, " baz", ShouldNotHaveExecuted); +testIf(21); +checkBasicBlock(testIf, "else if (x < 20)", ShouldHaveExecuted); +checkBasicBlock(testIf, "{ bar", ShouldNotHaveExecuted); +checkBasicBlock(testIf, " bar", ShouldNotHaveExecuted); +checkBasicBlock(testIf, "else {", ShouldHaveExecuted); +checkBasicBlock(testIf, "{ baz", ShouldHaveExecuted); +checkBasicBlock(testIf, " baz", ShouldHaveExecuted); +testIf(11); +checkBasicBlock(testIf, "{ bar", ShouldHaveExecuted); +checkBasicBlock(testIf, " bar", ShouldHaveExecuted); + +function testForRegular(x) { + for (var i = 0; i < x; i++) { foo(); } bar(); +} +testForRegular(0); +checkBasicBlock(testForRegular, "{ foo", ShouldNotHaveExecuted); +checkBasicBlock(testForRegular, "} bar", ShouldNotHaveExecuted); +checkBasicBlock(testForRegular, " bar", ShouldHaveExecuted); +testForRegular(1); +checkBasicBlock(testForRegular, "{ foo", ShouldHaveExecuted); +checkBasicBlock(testForRegular, "} bar", ShouldHaveExecuted); + +function testForIn(x) { + for (var i in x) { foo(); } bar(); +} +testForIn({}); +checkBasicBlock(testForIn, "{ foo", ShouldNotHaveExecuted); +checkBasicBlock(testForIn, "} bar", ShouldNotHaveExecuted); +checkBasicBlock(testForIn, " bar", ShouldHaveExecuted); +testForIn({foo: 20}); +checkBasicBlock(testForIn, "{ foo", ShouldHaveExecuted); +checkBasicBlock(testForIn, "} bar", ShouldHaveExecuted); + +function testForOf(x) { + for (var i of x) { foo(); } bar(); +} +testForOf([]); +checkBasicBlock(testForOf, "{ foo", ShouldNotHaveExecuted); +checkBasicBlock(testForOf, " foo", ShouldNotHaveExecuted); +checkBasicBlock(testForOf, "} bar", ShouldNotHaveExecuted); +checkBasicBlock(testForOf, " bar", ShouldHaveExecuted); +testForOf([20]); +checkBasicBlock(testForOf, "{ foo", ShouldHaveExecuted); +checkBasicBlock(testForOf, "} bar", ShouldHaveExecuted); + +function testWhile(x) { + var i = 0; while (i++ < x) { foo(); } bar(); +} +testWhile(0); +checkBasicBlock(testWhile, "{ foo", ShouldNotHaveExecuted); +checkBasicBlock(testWhile, " foo", ShouldNotHaveExecuted); +checkBasicBlock(testWhile, "} bar", ShouldNotHaveExecuted); +checkBasicBlock(testWhile, " bar", ShouldHaveExecuted); +testWhile(1); +checkBasicBlock(testWhile, "{ foo", ShouldHaveExecuted); +checkBasicBlock(testWhile, "} bar", ShouldHaveExecuted); + + +// No braces tests. + +function testIfNoBraces(x) { + if (x < 10) foo(); else if (x < 20) bar(); else baz(); +} +testIfNoBraces(9); +checkBasicBlock(testIfNoBraces, "foo", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, "; else if", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, " else if", ShouldNotHaveExecuted); +checkBasicBlock(testIfNoBraces, " bar", ShouldNotHaveExecuted); +checkBasicBlock(testIfNoBraces, "bar", ShouldNotHaveExecuted); +checkBasicBlock(testIfNoBraces, "else baz", ShouldNotHaveExecuted); +checkBasicBlock(testIfNoBraces, "baz", ShouldNotHaveExecuted); +testIfNoBraces(21); +checkBasicBlock(testIfNoBraces, "else baz", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, "baz", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, "; else baz", ShouldNotHaveExecuted); +checkBasicBlock(testIfNoBraces, "else if (x < 20)", ShouldHaveExecuted); +// Note that the whitespace preceding bar is part of the previous basic block. +// An if statement's if-true basic block text offset begins at the start offset +// of the if-true block, in this case, just the expression "bar()". +checkBasicBlock(testIfNoBraces, " bar", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, "bar", ShouldNotHaveExecuted); +testIfNoBraces(11); +checkBasicBlock(testIfNoBraces, " bar", ShouldHaveExecuted); +checkBasicBlock(testIfNoBraces, "bar", ShouldHaveExecuted); + +function testForRegularNoBraces(x) { + for (var i = 0; i < x; i++) foo(); bar(); +} +testForRegularNoBraces(0); +checkBasicBlock(testForRegularNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testForRegularNoBraces, "foo", ShouldNotHaveExecuted); +checkBasicBlock(testForRegularNoBraces, "; bar", ShouldNotHaveExecuted); +checkBasicBlock(testForRegularNoBraces, " bar", ShouldHaveExecuted); +testForRegularNoBraces(1); +checkBasicBlock(testForRegularNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testForRegularNoBraces, "foo", ShouldHaveExecuted); +checkBasicBlock(testForRegularNoBraces, " bar", ShouldHaveExecuted); + +function testForInNoBraces(x) { + for (var i in x) foo(); bar(); +} +testForInNoBraces({}); +checkBasicBlock(testForInNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testForInNoBraces, "foo", ShouldNotHaveExecuted); +checkBasicBlock(testForInNoBraces, "; bar", ShouldNotHaveExecuted); +checkBasicBlock(testForInNoBraces, " bar", ShouldHaveExecuted); +testForInNoBraces({foo: 20}); +checkBasicBlock(testForInNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testForInNoBraces, "foo", ShouldHaveExecuted); +checkBasicBlock(testForInNoBraces, "; bar", ShouldHaveExecuted); + +function testForOfNoBraces(x) { + for (var i of x) foo(); bar(); +} +testForOfNoBraces([]); +checkBasicBlock(testForOfNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testForOfNoBraces, "foo", ShouldNotHaveExecuted); +checkBasicBlock(testForOfNoBraces, "; bar", ShouldNotHaveExecuted); +checkBasicBlock(testForOfNoBraces, " bar", ShouldHaveExecuted); +testForOfNoBraces([20]); +checkBasicBlock(testForOfNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testForOfNoBraces, "foo", ShouldHaveExecuted); +checkBasicBlock(testForOfNoBraces, "; bar", ShouldHaveExecuted); + +function testWhileNoBraces(x) { + var i = 0; while (i++ < x) foo(); bar(); +} +testWhileNoBraces(0); +checkBasicBlock(testWhileNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testWhileNoBraces, "foo", ShouldNotHaveExecuted); +checkBasicBlock(testWhileNoBraces, "; bar", ShouldNotHaveExecuted); +checkBasicBlock(testWhileNoBraces, " bar", ShouldHaveExecuted); +testWhileNoBraces(1); +checkBasicBlock(testWhileNoBraces, " foo", ShouldHaveExecuted); +checkBasicBlock(testWhileNoBraces, "foo", ShouldHaveExecuted); +checkBasicBlock(testWhileNoBraces, "; bar", ShouldHaveExecuted); diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/conditional-expression.js b/implementation-contributed/javascriptcore/controlFlowProfiler/conditional-expression.js new file mode 100644 index 0000000000..ecb0ffac02 --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/conditional-expression.js @@ -0,0 +1,44 @@ +load("./driver/driver.js"); + +function foo(){ } +function bar(){ } +function baz(){ } + +function testConditionalBasic(x) { + return x ? 10 : 20; +} + + +testConditionalBasic(false); +checkBasicBlock(testConditionalBasic, "x", ShouldHaveExecuted); +checkBasicBlock(testConditionalBasic, "20", ShouldHaveExecuted); +checkBasicBlock(testConditionalBasic, "10", ShouldNotHaveExecuted); + +testConditionalBasic(true); +checkBasicBlock(testConditionalBasic, "10", ShouldHaveExecuted); + + +function testConditionalFunctionCall(x, y) { + x ? y ? foo() + : baz() + : bar() +} +testConditionalFunctionCall(false, false); +checkBasicBlock(testConditionalFunctionCall, "x ?", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "? y", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "bar", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, ": bar", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "y ?", ShouldNotHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "? foo", ShouldNotHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "foo", ShouldNotHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "baz", ShouldNotHaveExecuted); + +testConditionalFunctionCall(true, false); +checkBasicBlock(testConditionalFunctionCall, "y ?", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "? foo", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, ": baz", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "baz", ShouldHaveExecuted); +checkBasicBlock(testConditionalFunctionCall, "foo", ShouldNotHaveExecuted); + +testConditionalFunctionCall(true, true); +checkBasicBlock(testConditionalFunctionCall, "foo", ShouldHaveExecuted); diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/driver/driver.js b/implementation-contributed/javascriptcore/controlFlowProfiler/driver/driver.js new file mode 100644 index 0000000000..d0f93efc2c --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/driver/driver.js @@ -0,0 +1,16 @@ +var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted; + +function assert(condition, reason) { + if (!condition) + throw new Error(reason); +} + +var ShouldHaveExecuted = true; +var ShouldNotHaveExecuted = false; + +function checkBasicBlock(func, expr, expectation) { + if (expectation === ShouldHaveExecuted) + assert(hasBasicBlockExecuted(func, expr, "should have executed")); + else + assert(!hasBasicBlockExecuted(func, expr, "should not have executed")); +} diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/execution-count.js b/implementation-contributed/javascriptcore/controlFlowProfiler/execution-count.js new file mode 100644 index 0000000000..6fe1886be9 --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/execution-count.js @@ -0,0 +1,72 @@ +var basicBlockExecutionCount = $vm.basicBlockExecutionCount; + +load("./driver/driver.js"); + +function noop() { ; } +function foo(num) { + for (let i = 0; i < num; i++) { + noop(); + } +} + +function a() { ; } +function b() { ; } + +function baz(num) { + for (let i = 0; i < num; i++) { + i % 2 ? a() : b(); + } +} + +function jaz(num) { + for (let i = 0; i < num; i++) { + if (i % 2) + a(); + else + b(); + } +} + +function testWhile(num) { + let i = num; + while (i--) { + noop(); + if (i % 2) + a(); + else + b(); + } +} + +foo(120); +assert(basicBlockExecutionCount(foo, "noop()") === 120); +noop(); +assert(basicBlockExecutionCount(noop, ";") === 121); + +baz(140); +assert(basicBlockExecutionCount(baz, "a()") === 140/2); +assert(basicBlockExecutionCount(baz, "b()") === 140/2); +assert(basicBlockExecutionCount(a, ";") === 140/2); +assert(basicBlockExecutionCount(b, ";") === 140/2); + +jaz(140); +assert(basicBlockExecutionCount(jaz, "a()") === 140/2); +assert(basicBlockExecutionCount(jaz, "b()") === 140/2); + +testWhile(140); +assert(basicBlockExecutionCount(testWhile, "noop()") === 140); +assert(basicBlockExecutionCount(testWhile, "a()") === 140/2); +assert(basicBlockExecutionCount(testWhile, "b()") === 140/2); + +if (is32BitPlatform()) { + function testMax() { + let j = 0; + let numIters = Math.pow(2, 32) + 10; + for (let i = 0; i < numIters; i++) { + j++; + } + } + + testMax(); + assert(basicBlockExecutionCount(testMax, "j++") === Math.pow(2, 32) - 1); +} diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/if-statement.js b/implementation-contributed/javascriptcore/controlFlowProfiler/if-statement.js new file mode 100644 index 0000000000..2600f6388a --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/if-statement.js @@ -0,0 +1,58 @@ +var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted; + +load("./driver/driver.js"); + +var a, b, c, d; + +function testIf(x) { + if (x > 10 && x < 20) { + return a; + } else if (x > 20 && x < 30) { + return b; + } else if (x > 30 && x < 40) { + return c; + } else { + return d; + } + + return null; +} + +function noMatches(x) { + if (x > 10 && x < 20) { + return a; + } else if (x > 20 && x < 30) { + return b; + } else { + return c; + } +} + +assert(!hasBasicBlockExecuted(testIf, "return a"), "should not have executed yet."); +assert(!hasBasicBlockExecuted(testIf, "return b"), "should not have executed yet."); +assert(!hasBasicBlockExecuted(testIf, "return c"), "should not have executed yet."); +assert(!hasBasicBlockExecuted(testIf, "return d"), "should not have executed yet."); + +testIf(11); +assert(hasBasicBlockExecuted(testIf, "return a"), "should have executed."); +assert(hasBasicBlockExecuted(testIf, "x > 10"), "should have executed."); +assert(!hasBasicBlockExecuted(testIf, "return b"), "should not have executed yet."); + +testIf(21); +assert(hasBasicBlockExecuted(testIf, "return b"), "should have executed."); +assert(!hasBasicBlockExecuted(testIf, "return c"), "should not have executed yet."); + +testIf(31); +assert(hasBasicBlockExecuted(testIf, "return c"), "should have executed."); +assert(!hasBasicBlockExecuted(testIf, "return d"), "should not have executed yet."); + +testIf(0); +assert(hasBasicBlockExecuted(testIf, "return d"), "should have executed."); + + +noMatches(0); +assert(!hasBasicBlockExecuted(noMatches, "return a"), "should not have executed yet."); +assert(hasBasicBlockExecuted(noMatches, "x > 10"), "should have executed."); +assert(!hasBasicBlockExecuted(noMatches, "return b"), "should not have executed yet."); +assert(hasBasicBlockExecuted(noMatches, "x > 20"), "should have executed."); +assert(hasBasicBlockExecuted(noMatches, "return c"), "should have executed."); diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/loop-statements.js b/implementation-contributed/javascriptcore/controlFlowProfiler/loop-statements.js new file mode 100644 index 0000000000..7a6265bdbf --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/loop-statements.js @@ -0,0 +1,78 @@ +var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted; + +load("./driver/driver.js"); + +function forRegular(limit) { + var sum = 0; + for (var i = 0; i < limit; i++) { + sum += i; + } + + return sum; +} + +function forIn(o) { + var s = ""; + var p; + for (p in o) { + s += p; + } +} + +function forOf(a) { + var s = ""; + var p; + for (p of a) { + s += p; + } +} + +function whileLoop(limit) { + var i = 0; + var sum = 0; + while (i < limit) { + sum += i; + i++; + } + + return sum; +} + +assert(!hasBasicBlockExecuted(forRegular, "var sum"), "should not have executed yet."); + +forRegular(0); +assert(hasBasicBlockExecuted(forRegular, "var sum"), "should have executed."); +assert(!hasBasicBlockExecuted(forRegular, "sum += i"), "should not have executed yet."); + +forRegular(1); +assert(hasBasicBlockExecuted(forRegular, "sum += i"), "should have executed."); + + +assert(!hasBasicBlockExecuted(forIn, "var s"), "should not have executed yet."); + +forIn({}); +assert(hasBasicBlockExecuted(forIn, "var s"), "should have executed."); +assert(!hasBasicBlockExecuted(forIn, "s += p"), "should not have executed yet."); + +forIn({foo: "bar"}); +assert(hasBasicBlockExecuted(forIn, "s += p"), "should have executed."); + + +assert(!hasBasicBlockExecuted(forOf, "var s"), "should not have executed yet."); + +forOf([]); +assert(hasBasicBlockExecuted(forOf, "var s"), "should have executed."); +assert(!hasBasicBlockExecuted(forOf, "s += p"), "should not have executed yet."); + +forOf(["a"]); +assert(hasBasicBlockExecuted(forOf, "s += p"), "should have executed."); + + +assert(!hasBasicBlockExecuted(whileLoop, "var sum"), "should not have executed yet."); + +whileLoop(0); +assert(hasBasicBlockExecuted(whileLoop, "var sum"), "should have executed."); +assert(!hasBasicBlockExecuted(whileLoop, "sum += i"), "should not have executed yet."); + +whileLoop(1); +assert(hasBasicBlockExecuted(whileLoop, "sum += i"), "should have executed."); diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/switch-statements.js b/implementation-contributed/javascriptcore/controlFlowProfiler/switch-statements.js new file mode 100644 index 0000000000..fd8e6bfd52 --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/switch-statements.js @@ -0,0 +1,30 @@ +var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted; + +load("./driver/driver.js"); + +var a, b, c; +function testSwitch(s) { + switch (s) { + case "foo": + return a; + case "bar": + return b; + default: + return c; + } +} + +assert(!hasBasicBlockExecuted(testSwitch, "switch"), "should not have executed yet."); + +testSwitch("foo"); +assert(hasBasicBlockExecuted(testSwitch, "switch"), "should have executed."); +assert(hasBasicBlockExecuted(testSwitch, "return a"), "should have executed."); +assert(!hasBasicBlockExecuted(testSwitch, "return b"), "should not have executed yet."); +assert(!hasBasicBlockExecuted(testSwitch, "return c"), "should not have executed yet."); + +testSwitch("bar"); +assert(hasBasicBlockExecuted(testSwitch, "return b"), "should have executed."); +assert(!hasBasicBlockExecuted(testSwitch, "return c"), "should not have executed yet."); + +testSwitch(""); +assert(hasBasicBlockExecuted(testSwitch, "return c"), "should have executed."); diff --git a/implementation-contributed/javascriptcore/controlFlowProfiler/test-jit.js b/implementation-contributed/javascriptcore/controlFlowProfiler/test-jit.js new file mode 100644 index 0000000000..732caa5cf0 --- /dev/null +++ b/implementation-contributed/javascriptcore/controlFlowProfiler/test-jit.js @@ -0,0 +1,48 @@ +var hasBasicBlockExecuted = $vm.hasBasicBlockExecuted; + +load("./driver/driver.js"); + +function tierUpToBaseline(func, arg) +{ + for (var i = 0; i < 50; i++) + func(arg); +} + +function tierUpToDFG(func, arg) +{ + for (var i = 0; i < 50; i++) + func(arg); +} + +function baselineTest(arg) { + if (arg > 20) { + return 20; + } else { + return 30; + } +} + +function dfgTest(arg) { + if (arg > 20) { + return 20; + } else { + return 30; + } +} + +noInline(baselineTest); +noInline(dfgTest); + +tierUpToBaseline(baselineTest, 10); +tierUpToDFG(dfgTest, 10); + +assert(!hasBasicBlockExecuted(baselineTest, "return 20"), "should not have executed yet."); +assert(hasBasicBlockExecuted(baselineTest, "return 30"), "should have executed."); +baselineTest(25); +assert(hasBasicBlockExecuted(baselineTest, "return 20"), "should have executed."); + +assert(!hasBasicBlockExecuted(dfgTest, "return 20"), "should not have executed yet."); +assert(hasBasicBlockExecuted(dfgTest, "return 30"), "should have executed."); +dfgTest(25); +assert(hasBasicBlockExecuted(dfgTest, "return 20"), "should have executed."); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.copyWithin.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.copyWithin.js new file mode 100644 index 0000000000..0cdc8caec6 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.copyWithin.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.copyWithin === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.entries.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.entries.js new file mode 100644 index 0000000000..4a67ae3db6 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.entries.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.entries === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.fill.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.fill.js new file mode 100644 index 0000000000..cf27ffe295 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.fill.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.fill === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.find.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.find.js new file mode 100644 index 0000000000..961de57318 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.find.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.find === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.findIndex.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.findIndex.js new file mode 100644 index 0000000000..15eac9e18b --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.findIndex.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.findIndex === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.keys.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.keys.js new file mode 100644 index 0000000000..2e3577e3d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.keys.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.keys === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.values.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.values.js new file mode 100644 index 0000000000..e4c4f03137 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype.values.js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype.values === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.iterator].js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.iterator].js new file mode 100644 index 0000000000..18afba577a --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.iterator].js @@ -0,0 +1,9 @@ +function test() { + +return typeof Array.prototype[Symbol.iterator] === 'function'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.unscopables].js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.unscopables].js new file mode 100644 index 0000000000..d00a5c6530 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array.prototype[Symbol.unscopables].js @@ -0,0 +1,17 @@ +function test() { + +var unscopables = Array.prototype[Symbol.unscopables]; +if (!unscopables) { + return false; +} +var ns = "find,findIndex,fill,copyWithin,entries,keys,values".split(","); +for (var i = 0; i < ns.length; i++) { + if (Array.prototype[ns[i]] && !unscopables[ns[i]]) return false; +} +return true; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array_iterator_prototype_chain.js b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array_iterator_prototype_chain.js new file mode 100644 index 0000000000..4122dd188a --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array.prototype_methods_Array_iterator_prototype_chain.js @@ -0,0 +1,19 @@ +function test() { + +// Iterator instance +var iterator = [][Symbol.iterator](); +// %ArrayIteratorPrototype% +var proto1 = Object.getPrototypeOf(iterator); +// %IteratorPrototype% +var proto2 = Object.getPrototypeOf(proto1); + +return proto2.hasOwnProperty(Symbol.iterator) && + !proto1 .hasOwnProperty(Symbol.iterator) && + !iterator .hasOwnProperty(Symbol.iterator) && + iterator[Symbol.iterator]() === iterator; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.from.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.from.js new file mode 100644 index 0000000000..3a98548e8c --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.from.js @@ -0,0 +1,10 @@ +function test() { + +class C extends Array {} +return C.from({ length: 0 }) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.isArray_support.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.isArray_support.js new file mode 100644 index 0000000000..792c8b190d --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.isArray_support.js @@ -0,0 +1,10 @@ +function test() { + +class C extends Array {} +return Array.isArray(new C()); + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.of.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.of.js new file mode 100644 index 0000000000..86692b2a0d --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.of.js @@ -0,0 +1,10 @@ +function test() { + +class C extends Array {} +return C.of(0) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.concat.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.concat.js new file mode 100644 index 0000000000..3d3eb96ff7 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.concat.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Array {} +var c = new C(); +return c.concat(1) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.filter.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.filter.js new file mode 100644 index 0000000000..7b75b0b60b --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.filter.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Array {} +var c = new C(); +return c.filter(Boolean) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.map.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.map.js new file mode 100644 index 0000000000..0acea18cd7 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.map.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Array {} +var c = new C(); +return c.map(Boolean) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.slice.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.slice.js new file mode 100644 index 0000000000..a3362ca401 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.slice.js @@ -0,0 +1,12 @@ +function test() { + +class C extends Array {} +var c = new C(); +c.push(2,4,6); +return c.slice(1,2) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.splice.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.splice.js new file mode 100644 index 0000000000..6dbad9bf68 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_Array.prototype.splice.js @@ -0,0 +1,12 @@ +function test() { + +class C extends Array {} +var c = new C(); +c.push(2,4,6); +return c.splice(1,2) instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_correct_prototype_chain.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_correct_prototype_chain.js new file mode 100644 index 0000000000..d1df1499b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_correct_prototype_chain.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Array {} +var c = new C(); +return c instanceof C && c instanceof Array && Object.getPrototypeOf(C) === Array; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_accessing.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_accessing.js new file mode 100644 index 0000000000..9782375337 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_accessing.js @@ -0,0 +1,14 @@ +function test() { + +class C extends Array {} +var c = new C(); +var len1 = c.length; +c[2] = 'foo'; +var len2 = c.length; +return len1 === 0 && len2 === 3; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_setting.js b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_setting.js new file mode 100644 index 0000000000..a8216a75ec --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_is_subclassable_length_property_setting.js @@ -0,0 +1,13 @@ +function test() { + +class C extends Array {} +var c = new C(); +c[2] = 'foo'; +c.length = 1; +return c.length === 1 && !(2 in c); + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_array-like_objects.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_array-like_objects.js new file mode 100644 index 0000000000..bee9b89148 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_array-like_objects.js @@ -0,0 +1,9 @@ +function test() { + +return Array.from({ 0: "foo", 1: "bar", length: 2 }) + '' === "foo,bar"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generator_instances.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generator_instances.js new file mode 100644 index 0000000000..78ca4a7c32 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generator_instances.js @@ -0,0 +1,10 @@ +function test() { + +var iterable = (function*(){ yield 1; yield 2; yield 3; }()); +return Array.from(iterable) + '' === "1,2,3"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generic_iterables.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generic_iterables.js new file mode 100644 index 0000000000..8989eb9544 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_generic_iterables.js @@ -0,0 +1,30 @@ +var global = this; + +function __createIterableObject(arr, methods) { + methods = methods || {}; + if (typeof Symbol !== 'function' || !Symbol.iterator) { + return {}; + } + arr.length++; + var iterator = { + next: function() { + return { value: arr.shift(), done: arr.length <= 0 }; + }, + 'return': methods['return'], + 'throw': methods['throw'] + }; + var iterable = {}; + iterable[Symbol.iterator] = function(){ return iterator; } + return iterable; +} + +function test() { + +var iterable = global.__createIterableObject([1, 2, 3]); +return Array.from(iterable) + '' === "1,2,3"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_instances_of_generic_iterables.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_instances_of_generic_iterables.js new file mode 100644 index 0000000000..15681ef39b --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_instances_of_generic_iterables.js @@ -0,0 +1,30 @@ +var global = this; + +function __createIterableObject(arr, methods) { + methods = methods || {}; + if (typeof Symbol !== 'function' || !Symbol.iterator) { + return {}; + } + arr.length++; + var iterator = { + next: function() { + return { value: arr.shift(), done: arr.length <= 0 }; + }, + 'return': methods['return'], + 'throw': methods['throw'] + }; + var iterable = {}; + iterable[Symbol.iterator] = function(){ return iterator; } + return iterable; +} + +function test() { + +var iterable = global.__createIterableObject([1, 2, 3]); +return Array.from(Object.create(iterable)) + '' === "1,2,3"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_iterator_closing.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_iterator_closing.js new file mode 100644 index 0000000000..37ecd2280c --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_iterator_closing.js @@ -0,0 +1,36 @@ +var global = this; + +function __createIterableObject(arr, methods) { + methods = methods || {}; + if (typeof Symbol !== 'function' || !Symbol.iterator) { + return {}; + } + arr.length++; + var iterator = { + next: function() { + return { value: arr.shift(), done: arr.length <= 0 }; + }, + 'return': methods['return'], + 'throw': methods['throw'] + }; + var iterable = {}; + iterable[Symbol.iterator] = function(){ return iterator; } + return iterable; +} + +function test() { + +var closed = false; +var iter = global.__createIterableObject([1, 2, 3], { + 'return': function(){ closed = true; return {}; } +}); +try { + Array.from(iter, function() { throw 42 }); +} catch(e){} +return closed; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_array-like_objects.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_array-like_objects.js new file mode 100644 index 0000000000..1db3057110 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_array-like_objects.js @@ -0,0 +1,11 @@ +function test() { + +return Array.from({ 0: "foo", 1: "bar", length: 2 }, function(e, i) { + return e + this.baz + i; +}, { baz: "d" }) + '' === "food0,bard1"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generator_instances.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generator_instances.js new file mode 100644 index 0000000000..e5d566283e --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generator_instances.js @@ -0,0 +1,12 @@ +function test() { + +var iterable = (function*(){ yield "foo"; yield "bar"; yield "bal"; }()); +return Array.from(iterable, function(e, i) { + return e + this.baz + i; +}, { baz: "d" }) + '' === "food0,bard1,bald2"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generic_iterables.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generic_iterables.js new file mode 100644 index 0000000000..232a84d5e8 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_generic_iterables.js @@ -0,0 +1,32 @@ +var global = this; + +function __createIterableObject(arr, methods) { + methods = methods || {}; + if (typeof Symbol !== 'function' || !Symbol.iterator) { + return {}; + } + arr.length++; + var iterator = { + next: function() { + return { value: arr.shift(), done: arr.length <= 0 }; + }, + 'return': methods['return'], + 'throw': methods['throw'] + }; + var iterable = {}; + iterable[Symbol.iterator] = function(){ return iterator; } + return iterable; +} + +function test() { + +var iterable = global.__createIterableObject(["foo", "bar", "bal"]); +return Array.from(iterable, function(e, i) { + return e + this.baz + i; +}, { baz: "d" }) + '' === "food0,bard1,bald2"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_instances_of_iterables.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_instances_of_iterables.js new file mode 100644 index 0000000000..74d277b4d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.from_map_function_instances_of_iterables.js @@ -0,0 +1,32 @@ +var global = this; + +function __createIterableObject(arr, methods) { + methods = methods || {}; + if (typeof Symbol !== 'function' || !Symbol.iterator) { + return {}; + } + arr.length++; + var iterator = { + next: function() { + return { value: arr.shift(), done: arr.length <= 0 }; + }, + 'return': methods['return'], + 'throw': methods['throw'] + }; + var iterable = {}; + iterable[Symbol.iterator] = function(){ return iterator; } + return iterable; +} + +function test() { + +var iterable = global.__createIterableObject(["foo", "bar", "bal"]); +return Array.from(Object.create(iterable), function(e, i) { + return e + this.baz + i; +}, { baz: "d" }) + '' === "food0,bard1,bald2"; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.of.js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.of.js new file mode 100644 index 0000000000..040d4ca84d --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array.of.js @@ -0,0 +1,10 @@ +function test() { + +return typeof Array.of === 'function' && + Array.of(2)[0] === 2; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Array_static_methods_Array[Symbol.species].js b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array[Symbol.species].js new file mode 100644 index 0000000000..65fb6e0ccd --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Array_static_methods_Array[Symbol.species].js @@ -0,0 +1,10 @@ +function test() { + +var prop = Object.getOwnPropertyDescriptor(Array, Symbol.species); +return 'get' in prop && Array[Symbol.species] === Array; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.apply.js b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.apply.js new file mode 100644 index 0000000000..311dee30f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.apply.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Function {} +var c = new C("x", "return this.bar + x;"); +return c.apply({bar:1}, [2]) === 3; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.bind.js b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.bind.js new file mode 100644 index 0000000000..fce6c012c8 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.bind.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Function {} +var c = new C("x", "y", "return this.bar + x + y;").bind({bar:1}, 2); +return c(6) === 9 && c instanceof C; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.call.js b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.call.js new file mode 100644 index 0000000000..77ed438114 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_Function.prototype.call.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Function {} +var c = new C("x", "return this.bar + x;"); +return c.call({bar:1}, 2) === 3; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_called.js b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_called.js new file mode 100644 index 0000000000..d662d77cb7 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_called.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Function {} +var c = new C("return 'foo';"); +return c() === 'foo'; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_used_with_new.js b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_used_with_new.js new file mode 100644 index 0000000000..9c7839870c --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_can_be_used_with_new.js @@ -0,0 +1,12 @@ +function test() { + +class C extends Function {} +var c = new C("this.bar = 2;"); +c.prototype.baz = 3; +return new c().bar === 2 && new c().baz === 3; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/Function_is_subclassable_correct_prototype_chain.js b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_correct_prototype_chain.js new file mode 100644 index 0000000000..caaee439d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/Function_is_subclassable_correct_prototype_chain.js @@ -0,0 +1,11 @@ +function test() { + +class C extends Function {} +var c = new C("return 'foo';"); +return c instanceof C && c instanceof Function && Object.getPrototypeOf(C) === Function; + +} + +if (!test()) + throw new Error("Test failed"); + diff --git a/implementation-contributed/javascriptcore/es6/HTML-style_comments.js b/implementation-contributed/javascriptcore/es6/HTML-style_comments.js new file mode 100644 index 0000000000..b4763850c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/es6/HTML-style_comments.js @@ -0,0 +1,11 @@ +function test() { + +--> A comment + (D) ------+ +// | | +// | v +// @-> (A) *----+----> (B) ---> [C] +import { A } from "caching-should-not-make-ambiguous/main.js" diff --git a/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/A.js b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/A.js new file mode 100644 index 0000000000..a366e37c52 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/A.js @@ -0,0 +1,2 @@ +export * from "./D.js" +export * from "./B.js" diff --git a/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/B.js b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/B.js new file mode 100644 index 0000000000..672bccf05b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/B.js @@ -0,0 +1 @@ +export { A } from "./C.js" diff --git a/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/C.js b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/C.js new file mode 100644 index 0000000000..d308e2cae9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/C.js @@ -0,0 +1 @@ +export let A = 42; diff --git a/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/D.js b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/D.js new file mode 100644 index 0000000000..672bccf05b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/D.js @@ -0,0 +1 @@ +export { A } from "./C.js" diff --git a/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/main.js b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/main.js new file mode 100644 index 0000000000..e90b535f87 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/caching-should-not-make-ambiguous/main.js @@ -0,0 +1 @@ +export { A } from "./A.js" diff --git a/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz.js b/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz.js new file mode 100644 index 0000000000..12bad60a5a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz.js @@ -0,0 +1,7 @@ +import { Cocoa, Cappuccino, Matcha } from "./cyclic-may-produce-tdz/2.js" +import { shouldBe } from "./resources/assert.js"; + +// All things are already set. +shouldBe(Cocoa, "Cocoa"); +shouldBe(Cappuccino, "Cappuccino"); +shouldBe(Matcha, "Matcha"); diff --git a/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/1.js b/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/1.js new file mode 100644 index 0000000000..40c26f61bb --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/1.js @@ -0,0 +1,12 @@ +import { Cappuccino, Matcha } from "./2.js" +import { shouldThrow, shouldBe } from "../resources/assert.js"; + +export let Cocoa = "Cocoa"; + +// module "2" is not loaded yet, TDZ. +shouldThrow(() => { + Cappuccino; +}, `ReferenceError: Cannot access uninitialized variable.`); + +// But "Matcha" is variable (not lexical variable). It is already initialized as undefined. +shouldBe(Matcha, undefined); diff --git a/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/2.js b/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/2.js new file mode 100644 index 0000000000..20f1639b5b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/cyclic-may-produce-tdz/2.js @@ -0,0 +1,15 @@ +import { Cocoa } from "./1.js" +import { shouldBe } from "../resources/assert.js"; + +export let Cappuccino = "Cappuccino"; + +export var Matcha = "Matcha"; + +// 1 is already loaded. +shouldBe(Cocoa, "Cocoa"); + +shouldBe(Cappuccino, "Cappuccino"); +shouldBe(Matcha, "Matcha"); + +// Indirectly export "Cocoa" +export { Cocoa }; diff --git a/implementation-contributed/javascriptcore/modules/default-error/main.js b/implementation-contributed/javascriptcore/modules/default-error/main.js new file mode 100644 index 0000000000..daab135918 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/default-error/main.js @@ -0,0 +1 @@ +import "A"; diff --git a/implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied.js b/implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied.js new file mode 100644 index 0000000000..65c50e5b9d --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied.js @@ -0,0 +1,11 @@ +import * as namespace from "./default-value-case-should-be-copied/module.js" +import value from "./default-value-case-should-be-copied/module.js" +import { shouldBe } from "./resources/assert.js"; + +shouldBe(value, 42); +shouldBe(namespace.default, 42); + +namespace.changeValue(5000); + +shouldBe(value, 42); +shouldBe(namespace.default, 42); diff --git a/implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied/module.js b/implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied/module.js new file mode 100644 index 0000000000..fcee3383db --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/default-value-case-should-be-copied/module.js @@ -0,0 +1,7 @@ +let value = 42; + +export default value; + +export function changeValue(v) { + value = v; +} diff --git a/implementation-contributed/javascriptcore/modules/defaults.js b/implementation-contributed/javascriptcore/modules/defaults.js new file mode 100644 index 0000000000..6bf727d9ea --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/defaults.js @@ -0,0 +1,10 @@ +import Cocoa from "./defaults/Cocoa.js" +import { default as Cappuccino } from "./defaults/Cappuccino.js" +import C2 from "./defaults/Cappuccino.js" +import Matcha from "./defaults/Matcha.js" +import { shouldBe } from "./resources/assert.js"; + +shouldBe(new Cocoa().taste, 'awesome'); +shouldBe(Cappuccino, 'Cappuccino'); +shouldBe(C2 === Cappuccino, true); +shouldBe(Matcha, 'Matcha'); diff --git a/implementation-contributed/javascriptcore/modules/defaults/Cappuccino.js b/implementation-contributed/javascriptcore/modules/defaults/Cappuccino.js new file mode 100644 index 0000000000..de92671e00 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/defaults/Cappuccino.js @@ -0,0 +1,4 @@ + +var Cappuccino = 'Cappuccino'; + +export { Cappuccino as default } diff --git a/implementation-contributed/javascriptcore/modules/defaults/Cocoa.js b/implementation-contributed/javascriptcore/modules/defaults/Cocoa.js new file mode 100644 index 0000000000..f94a96c1f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/defaults/Cocoa.js @@ -0,0 +1,5 @@ +export default class Cocoa { + constructor() { + this.taste = 'awesome'; + } +} diff --git a/implementation-contributed/javascriptcore/modules/defaults/Matcha.js b/implementation-contributed/javascriptcore/modules/defaults/Matcha.js new file mode 100644 index 0000000000..a26f2aa1cf --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/defaults/Matcha.js @@ -0,0 +1 @@ +export default 'Matcha'; diff --git a/implementation-contributed/javascriptcore/modules/destructuring-export.js b/implementation-contributed/javascriptcore/modules/destructuring-export.js new file mode 100644 index 0000000000..161d6310fc --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/destructuring-export.js @@ -0,0 +1,10 @@ +import * as namespace from "./destructuring-export/main.js" +import { array } from "./destructuring-export/array.js" +import { shouldBe } from "./resources/assert.js"; + +shouldBe(JSON.stringify(Object.getOwnPropertyNames(namespace)), `["Cappuccino","Cocoa","Matcha"]`); +shouldBe(namespace.Cocoa, 'Cocoa'); +shouldBe(namespace.Cappuccino, 'Cappuccino'); +shouldBe(namespace.Matcha, 'Matcha'); + +shouldBe(JSON.stringify(array), `[1,2,3,4,5,6,7,8,9]`); diff --git a/implementation-contributed/javascriptcore/modules/destructuring-export/array.js b/implementation-contributed/javascriptcore/modules/destructuring-export/array.js new file mode 100644 index 0000000000..509d98b35d --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/destructuring-export/array.js @@ -0,0 +1,3 @@ +var value = [1,2,3,4,5,6,7,8,9]; + +export const [...array] = value.values(); diff --git a/implementation-contributed/javascriptcore/modules/destructuring-export/main.js b/implementation-contributed/javascriptcore/modules/destructuring-export/main.js new file mode 100644 index 0000000000..f2d94795b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/destructuring-export/main.js @@ -0,0 +1,16 @@ + +const drinks = { + Cocoa: 'Cocoa', + inner: { + current: [ 'Matcha' ] + }, + hello: 'Cappuccino' +}; + +export const { + Cocoa, + inner: { + current: [ Matcha ] + }, + hello: Cappuccino +} = drinks; diff --git a/implementation-contributed/javascriptcore/modules/different-view.js b/implementation-contributed/javascriptcore/modules/different-view.js new file mode 100644 index 0000000000..f81e89c25f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view.js @@ -0,0 +1,7 @@ +import { shouldBe, shouldThrow } from "./resources/assert.js" + +shouldThrow(() => { + loadModule('./different-view/main.js'); +}, `SyntaxError: Importing binding name 'A' cannot be resolved due to ambiguous multiple bindings.`); + + diff --git a/implementation-contributed/javascriptcore/modules/different-view/A.js b/implementation-contributed/javascriptcore/modules/different-view/A.js new file mode 100644 index 0000000000..3fdbb604d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view/A.js @@ -0,0 +1,2 @@ +export * from "./B.js"; +export * from "./E.js"; diff --git a/implementation-contributed/javascriptcore/modules/different-view/B.js b/implementation-contributed/javascriptcore/modules/different-view/B.js new file mode 100644 index 0000000000..386dd71ee6 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view/B.js @@ -0,0 +1,2 @@ +export * from "./C.js" +export * from "./D.js" diff --git a/implementation-contributed/javascriptcore/modules/different-view/C.js b/implementation-contributed/javascriptcore/modules/different-view/C.js new file mode 100644 index 0000000000..ce80935d6e --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view/C.js @@ -0,0 +1 @@ +export * from "./A.js" diff --git a/implementation-contributed/javascriptcore/modules/different-view/D.js b/implementation-contributed/javascriptcore/modules/different-view/D.js new file mode 100644 index 0000000000..d308e2cae9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view/D.js @@ -0,0 +1 @@ +export let A = 42; diff --git a/implementation-contributed/javascriptcore/modules/different-view/E.js b/implementation-contributed/javascriptcore/modules/different-view/E.js new file mode 100644 index 0000000000..210cb0e612 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view/E.js @@ -0,0 +1 @@ +export let A = 50; diff --git a/implementation-contributed/javascriptcore/modules/different-view/main.js b/implementation-contributed/javascriptcore/modules/different-view/main.js new file mode 100644 index 0000000000..c24f972f63 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/different-view/main.js @@ -0,0 +1 @@ +import { A } from "./A.js" diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic.js new file mode 100644 index 0000000000..fe529dd611 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic.js @@ -0,0 +1,5 @@ +import "./execution-order-cyclic/11.js" + +var global = (Function("return this"))(); +if (global.count !== 11) + throw new Error(`bad value ${global.count}`); diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/1.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/1.js new file mode 100644 index 0000000000..790fd8e3fb --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/1.js @@ -0,0 +1,5 @@ +import "./11.js" +var global = (Function("return this"))(); +if (typeof global.count !== 'undefined') + throw new Error(`bad value ${global.count}`); +global.count = 1; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/10.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/10.js new file mode 100644 index 0000000000..9dce5d3b9a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/10.js @@ -0,0 +1,7 @@ +import "./11.js" +import "./9.js" + +var global = (Function("return this"))(); +if (global.count !== 9) + throw new Error(`bad value ${global.count}`); +global.count = 10; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/11.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/11.js new file mode 100644 index 0000000000..20f3cedae1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/11.js @@ -0,0 +1,7 @@ +import "./10.js" +import "./4.js" + +var global = (Function("return this"))(); +if (global.count !== 10) + throw new Error(`bad value ${global.count}`); +global.count = 11; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/2.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/2.js new file mode 100644 index 0000000000..7868e6f6af --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/2.js @@ -0,0 +1,8 @@ +import "./11.js" +import "./9.js" +import "./5.js" + +var global = (Function("return this"))(); +if (global.count !== 1) + throw new Error(`bad value ${global.count}`); +global.count = 2; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/3.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/3.js new file mode 100644 index 0000000000..73c105403e --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/3.js @@ -0,0 +1,7 @@ +import "./1.js" +import "./2.js" + +var global = (Function("return this"))(); +if (global.count !== 2) + throw new Error(`bad value ${global.count}`); +global.count = 3; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/4.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/4.js new file mode 100644 index 0000000000..5fd1a89171 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/4.js @@ -0,0 +1,6 @@ +import "./2.js" + +var global = (Function("return this"))(); +if (global.count !== 3) + throw new Error(`bad value ${global.count}`); +global.count = 4; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/5.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/5.js new file mode 100644 index 0000000000..a1deef92d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/5.js @@ -0,0 +1,7 @@ +import "3.js" +import "4.js" + +var global = (Function("return this"))(); +if (global.count !== 4) + throw new Error(`bad value ${global.count}`); +global.count = 5; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/6.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/6.js new file mode 100644 index 0000000000..b05c59317b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/6.js @@ -0,0 +1,7 @@ +import "./5.js" +import "./9.js" + +var global = (Function("return this"))(); +if (global.count !== 5) + throw new Error(`bad value ${global.count}`); +global.count = 6; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/7.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/7.js new file mode 100644 index 0000000000..bae6c0599a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/7.js @@ -0,0 +1,7 @@ +import "./6.js"; +import "./9.js"; + +var global = (Function("return this"))(); +if (global.count !== 6) + throw new Error(`bad value ${global.count}`); +global.count = 7; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/8.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/8.js new file mode 100644 index 0000000000..a3b0da5dfb --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/8.js @@ -0,0 +1,6 @@ +import "./7.js" + +var global = (Function("return this"))(); +if (global.count !== 7) + throw new Error(`bad value ${global.count}`); +global.count = 8; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-cyclic/9.js b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/9.js new file mode 100644 index 0000000000..77ecdc9e23 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-cyclic/9.js @@ -0,0 +1,8 @@ +import "./11.js"; +import "./8.js"; +import "./6.js"; + +var global = (Function("return this"))(); +if (global.count !== 8) + throw new Error(`bad value ${global.count}`); +global.count = 9; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag.js b/implementation-contributed/javascriptcore/modules/execution-order-dag.js new file mode 100644 index 0000000000..7e7ac7ff9f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag.js @@ -0,0 +1,7 @@ +// This tests the DAG. +import "./execution-order-dag/9.js" +import "./execution-order-dag/10.js" + +var global = (Function("return this"))(); +if (global.count !== 10) + throw new Error(`bad value ${global.count}`); diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/1.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/1.js new file mode 100644 index 0000000000..4b1c3cc5d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/1.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (typeof global.count !== 'undefined') + throw new Error(`bad value ${global.count}`); +global.count = 1; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/10.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/10.js new file mode 100644 index 0000000000..128049de6e --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/10.js @@ -0,0 +1,7 @@ +import "./8.js" +import "./7.js" + +var global = (Function("return this"))(); +if (global.count !== 9) + throw new Error(`bad value ${global.count}`); +global.count = 10; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/2.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/2.js new file mode 100644 index 0000000000..cf53bd8507 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/2.js @@ -0,0 +1,6 @@ +import "./1.js"; + +var global = (Function("return this"))(); +if (global.count !== 1) + throw new Error(`bad value ${global.count}`); +global.count = 2; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/3.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/3.js new file mode 100644 index 0000000000..b25eb4868a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/3.js @@ -0,0 +1,6 @@ +import "./2.js"; + +var global = (Function("return this"))(); +if (global.count !== 2) + throw new Error(`bad value ${global.count}`); +global.count = 3; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/4.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/4.js new file mode 100644 index 0000000000..9bdae49d9d --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/4.js @@ -0,0 +1,6 @@ +import "./1.js" + +var global = (Function("return this"))(); +if (global.count !== 3) + throw new Error(`bad value ${global.count}`); +global.count = 4; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/5.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/5.js new file mode 100644 index 0000000000..a33b63cf54 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/5.js @@ -0,0 +1,7 @@ +import "4.js" +import "1.js" + +var global = (Function("return this"))(); +if (global.count !== 4) + throw new Error(`bad value ${global.count}`); +global.count = 5; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/6.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/6.js new file mode 100644 index 0000000000..8613e712b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/6.js @@ -0,0 +1,6 @@ +import "./5.js" + +var global = (Function("return this"))(); +if (global.count !== 5) + throw new Error(`bad value ${global.count}`); +global.count = 6; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/7.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/7.js new file mode 100644 index 0000000000..2b8e9a063f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/7.js @@ -0,0 +1,6 @@ +import "./6.js"; + +var global = (Function("return this"))(); +if (global.count !== 6) + throw new Error(`bad value ${global.count}`); +global.count = 7; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/8.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/8.js new file mode 100644 index 0000000000..b3e3b5f499 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/8.js @@ -0,0 +1,7 @@ +import "./3.js" +import "./7.js"; + +var global = (Function("return this"))(); +if (global.count !== 7) + throw new Error(`bad value ${global.count}`); +global.count = 8; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-dag/9.js b/implementation-contributed/javascriptcore/modules/execution-order-dag/9.js new file mode 100644 index 0000000000..232e425a22 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-dag/9.js @@ -0,0 +1,6 @@ +import "./8.js"; + +var global = (Function("return this"))(); +if (global.count !== 8) + throw new Error(`bad value ${global.count}`); +global.count = 9; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-depth.js b/implementation-contributed/javascriptcore/modules/execution-order-depth.js new file mode 100644 index 0000000000..82e89fd8b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-depth.js @@ -0,0 +1,5 @@ +import "./execution-order-depth/3.js" + +var global = (Function("return this"))(); +if (global.count !== 3) + throw new Error(`bad value ${global.count}`); diff --git a/implementation-contributed/javascriptcore/modules/execution-order-depth/1.js b/implementation-contributed/javascriptcore/modules/execution-order-depth/1.js new file mode 100644 index 0000000000..4b1c3cc5d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-depth/1.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (typeof global.count !== 'undefined') + throw new Error(`bad value ${global.count}`); +global.count = 1; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-depth/2.js b/implementation-contributed/javascriptcore/modules/execution-order-depth/2.js new file mode 100644 index 0000000000..cf53bd8507 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-depth/2.js @@ -0,0 +1,6 @@ +import "./1.js"; + +var global = (Function("return this"))(); +if (global.count !== 1) + throw new Error(`bad value ${global.count}`); +global.count = 2; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-depth/3.js b/implementation-contributed/javascriptcore/modules/execution-order-depth/3.js new file mode 100644 index 0000000000..b25eb4868a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-depth/3.js @@ -0,0 +1,6 @@ +import "./2.js"; + +var global = (Function("return this"))(); +if (global.count !== 2) + throw new Error(`bad value ${global.count}`); +global.count = 3; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-self.js b/implementation-contributed/javascriptcore/modules/execution-order-self.js new file mode 100644 index 0000000000..665d903d05 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-self.js @@ -0,0 +1,6 @@ +import "./execution-order-self.js" + +var global = (Function("return this"))(); +if (typeof global.count !== 'undefined') + throw new Error(`bad value ${global.count}`); +global.count = 1; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-sibling.js b/implementation-contributed/javascriptcore/modules/execution-order-sibling.js new file mode 100644 index 0000000000..952edb1054 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-sibling.js @@ -0,0 +1,7 @@ +import "./execution-order-sibling/1.js" +import "./execution-order-sibling/2.js" +import "./execution-order-sibling/3.js" + +var global = (Function("return this"))(); +if (global.count !== 3) + throw new Error(`bad value ${global.count}`); diff --git a/implementation-contributed/javascriptcore/modules/execution-order-sibling/1.js b/implementation-contributed/javascriptcore/modules/execution-order-sibling/1.js new file mode 100644 index 0000000000..4b1c3cc5d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-sibling/1.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (typeof global.count !== 'undefined') + throw new Error(`bad value ${global.count}`); +global.count = 1; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-sibling/2.js b/implementation-contributed/javascriptcore/modules/execution-order-sibling/2.js new file mode 100644 index 0000000000..dece661964 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-sibling/2.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (global.count !== 1) + throw new Error(`bad value ${global.count}`); +global.count = 2; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-sibling/3.js b/implementation-contributed/javascriptcore/modules/execution-order-sibling/3.js new file mode 100644 index 0000000000..4500c5b4e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-sibling/3.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (global.count !== 2) + throw new Error(`bad value ${global.count}`); +global.count = 3; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree.js b/implementation-contributed/javascriptcore/modules/execution-order-tree.js new file mode 100644 index 0000000000..da8ae590af --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree.js @@ -0,0 +1,7 @@ +import "./execution-order-tree/5.js" +import "./execution-order-tree/7.js" +import "./execution-order-tree/11.js" + +var global = (Function("return this"))(); +if (global.count !== 11) + throw new Error(`bad value ${global.count}`); diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/1.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/1.js new file mode 100644 index 0000000000..4b1c3cc5d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/1.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (typeof global.count !== 'undefined') + throw new Error(`bad value ${global.count}`); +global.count = 1; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/10.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/10.js new file mode 100644 index 0000000000..e96c324d7b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/10.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (global.count !== 9) + throw new Error(`bad value ${global.count}`); +global.count = 10; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/11.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/11.js new file mode 100644 index 0000000000..84bb2533f2 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/11.js @@ -0,0 +1,7 @@ +import "./9.js"; +import "./10.js"; + +var global = (Function("return this"))(); +if (global.count !== 10) + throw new Error(`bad value ${global.count}`); +global.count = 11; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/2.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/2.js new file mode 100644 index 0000000000..cf53bd8507 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/2.js @@ -0,0 +1,6 @@ +import "./1.js"; + +var global = (Function("return this"))(); +if (global.count !== 1) + throw new Error(`bad value ${global.count}`); +global.count = 2; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/3.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/3.js new file mode 100644 index 0000000000..e079c612ac --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/3.js @@ -0,0 +1,7 @@ +import "./1.js"; +import "./2.js"; + +var global = (Function("return this"))(); +if (global.count !== 2) + throw new Error(`bad value ${global.count}`); +global.count = 3; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/4.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/4.js new file mode 100644 index 0000000000..a76becb605 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/4.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (global.count !== 3) + throw new Error(`bad value ${global.count}`); +global.count = 4; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/5.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/5.js new file mode 100644 index 0000000000..a1deef92d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/5.js @@ -0,0 +1,7 @@ +import "3.js" +import "4.js" + +var global = (Function("return this"))(); +if (global.count !== 4) + throw new Error(`bad value ${global.count}`); +global.count = 5; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/6.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/6.js new file mode 100644 index 0000000000..118d474c1a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/6.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (global.count !== 5) + throw new Error(`bad value ${global.count}`); +global.count = 6; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/7.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/7.js new file mode 100644 index 0000000000..2b8e9a063f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/7.js @@ -0,0 +1,6 @@ +import "./6.js"; + +var global = (Function("return this"))(); +if (global.count !== 6) + throw new Error(`bad value ${global.count}`); +global.count = 7; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/8.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/8.js new file mode 100644 index 0000000000..47c6f47032 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/8.js @@ -0,0 +1,4 @@ +var global = (Function("return this"))(); +if (global.count !== 7) + throw new Error(`bad value ${global.count}`); +global.count = 8; diff --git a/implementation-contributed/javascriptcore/modules/execution-order-tree/9.js b/implementation-contributed/javascriptcore/modules/execution-order-tree/9.js new file mode 100644 index 0000000000..232e425a22 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/execution-order-tree/9.js @@ -0,0 +1,6 @@ +import "./8.js"; + +var global = (Function("return this"))(); +if (global.count !== 8) + throw new Error(`bad value ${global.count}`); +global.count = 9; diff --git a/implementation-contributed/javascriptcore/modules/export-conflict-ok.js b/implementation-contributed/javascriptcore/modules/export-conflict-ok.js new file mode 100644 index 0000000000..79e6965eb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-conflict-ok.js @@ -0,0 +1,5 @@ +import { A, B } from "./export-conflict-ok/main.js" // C is conflict, but not looked up. +import { shouldBe } from "./resources/assert.js"; + +shouldBe(A, 42); +shouldBe(B, 50); diff --git a/implementation-contributed/javascriptcore/modules/export-conflict-ok/A.js b/implementation-contributed/javascriptcore/modules/export-conflict-ok/A.js new file mode 100644 index 0000000000..8a84d643b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-conflict-ok/A.js @@ -0,0 +1,2 @@ +export const A = 42; +export const C = 50; diff --git a/implementation-contributed/javascriptcore/modules/export-conflict-ok/B.js b/implementation-contributed/javascriptcore/modules/export-conflict-ok/B.js new file mode 100644 index 0000000000..f1a65d783f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-conflict-ok/B.js @@ -0,0 +1,2 @@ +export const B = 50; +export const C = 50; diff --git a/implementation-contributed/javascriptcore/modules/export-conflict-ok/main.js b/implementation-contributed/javascriptcore/modules/export-conflict-ok/main.js new file mode 100644 index 0000000000..86c6f1f164 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-conflict-ok/main.js @@ -0,0 +1,2 @@ +export * from "./A.js" +export * from "./B.js" diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-hoisting.js b/implementation-contributed/javascriptcore/modules/export-default-function-hoisting.js new file mode 100644 index 0000000000..f71e7f37b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-hoisting.js @@ -0,0 +1,5 @@ +import { shouldBe } from "./resources/assert.js"; +import drinkCocoa from './export-default-function-hoisting/cocoa.js' + +shouldBe(drinkCocoa(), 42); + diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cappuccino.js b/implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cappuccino.js new file mode 100644 index 0000000000..3bf4a3974b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cappuccino.js @@ -0,0 +1,6 @@ +import drinkCocoa from './cocoa.js' + +export default function drinkCappuccino() +{ + return drinkCocoa(); +} diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cocoa.js b/implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cocoa.js new file mode 100644 index 0000000000..d19f9fc126 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-hoisting/cocoa.js @@ -0,0 +1,9 @@ +import drinkCappuccino from './cappuccino.js' +import { shouldBe } from "../resources/assert.js"; + +shouldBe(drinkCappuccino(), 42); + +export default function drinkCocoa() +{ + return 42; +} diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-name-in-assignment-expression.js b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-assignment-expression.js new file mode 100644 index 0000000000..aac0729ffc --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-assignment-expression.js @@ -0,0 +1,8 @@ +import func from "./export-default-function-name-in-assignment-expression.js" +import { shouldBe } from "./resources/assert.js"; + +export default (function () { }); + +// https://tc39.github.io/ecma262/#sec-exports-runtime-semantics-evaluation +shouldBe(func.name, 'default'); +shouldBe(func.toString(), `function () { }`); diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-name-in-class-declaration.js b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-class-declaration.js new file mode 100644 index 0000000000..1a882e2c12 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-class-declaration.js @@ -0,0 +1,8 @@ +import cls from "./export-default-function-name-in-class-declaration.js" +import { shouldBe } from "./resources/assert.js"; + +export default class { } + +// https://tc39.github.io/ecma262/#sec-exports-runtime-semantics-evaluation +shouldBe(cls.name, 'default'); +shouldBe(cls.toString(), `class { }`); diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-name-in-function-declaration.js b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-function-declaration.js new file mode 100644 index 0000000000..c990adb2de --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-function-declaration.js @@ -0,0 +1,8 @@ +import func from "./export-default-function-name-in-function-declaration.js" +import { shouldBe } from "./resources/assert.js"; + +export default function () { } + +// https://tc39.github.io/ecma262/#sec-exports-runtime-semantics-evaluation +shouldBe(func.name, 'default'); +shouldBe(func.toString(), `function () { }`); diff --git a/implementation-contributed/javascriptcore/modules/export-default-function-name-in-generator-declaration.js b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-generator-declaration.js new file mode 100644 index 0000000000..12891dbd8a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-default-function-name-in-generator-declaration.js @@ -0,0 +1,8 @@ +import func from "./export-default-function-name-in-generator-declaration.js" +import { shouldBe } from "./resources/assert.js"; + +export default function * () { } + +// https://tc39.github.io/ecma262/#sec-exports-runtime-semantics-evaluation +shouldBe(func.name, 'default'); +// shouldBe(func.toString(), `function * () { }`); diff --git a/implementation-contributed/javascriptcore/modules/export-from.js b/implementation-contributed/javascriptcore/modules/export-from.js new file mode 100644 index 0000000000..aa6d011815 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-from.js @@ -0,0 +1,8 @@ +import * as namespace from "./export-from/main.js" +import { shouldBe } from "./resources/assert.js"; + +shouldBe(JSON.stringify(Object.getOwnPropertyNames(namespace)), `["Cappuccino","Cocoa","default","enum"]`); +shouldBe(namespace.Cocoa, "Cocoa"); +shouldBe(namespace.Cappuccino, "Cappuccino"); +shouldBe(namespace.default, "Mocha"); +shouldBe(namespace.enum, "Matcha"); diff --git a/implementation-contributed/javascriptcore/modules/export-from/main.js b/implementation-contributed/javascriptcore/modules/export-from/main.js new file mode 100644 index 0000000000..22f3b49730 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-from/main.js @@ -0,0 +1,6 @@ +export { + First as Cocoa, + Second as Cappuccino, + default as enum, + enum as default +} from "./second.js" diff --git a/implementation-contributed/javascriptcore/modules/export-from/second.js b/implementation-contributed/javascriptcore/modules/export-from/second.js new file mode 100644 index 0000000000..7c0bc516a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-from/second.js @@ -0,0 +1,9 @@ +export let First = "Cocoa"; + +export var Second = "Cappuccino" + +export default "Matcha"; + +var Mocha = 'Mocha'; + +export { Mocha as enum }; diff --git a/implementation-contributed/javascriptcore/modules/export-with-declarations-list.js b/implementation-contributed/javascriptcore/modules/export-with-declarations-list.js new file mode 100644 index 0000000000..3f365e4d51 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-with-declarations-list.js @@ -0,0 +1,9 @@ +import * as namespace from "./export-with-declarations-list/main.js" +import { shouldBe } from "./resources/assert.js"; + +shouldBe(JSON.stringify(Object.getOwnPropertyNames(namespace)), `["Cappuccino","Cocoa","Matcha","Mocha"]`); +shouldBe(namespace.Cocoa, 'Cocoa'); +shouldBe(namespace.Cappuccino, 'Cappuccino'); +shouldBe(namespace.Matcha, 'Matcha'); +shouldBe(namespace.Mocha, 'Mocha'); + diff --git a/implementation-contributed/javascriptcore/modules/export-with-declarations-list/main.js b/implementation-contributed/javascriptcore/modules/export-with-declarations-list/main.js new file mode 100644 index 0000000000..d0e8fd2866 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/export-with-declarations-list/main.js @@ -0,0 +1,3 @@ +export let Cocoa = "Cocoa", Cappuccino = "Cappuccino"; + +export const Matcha = "Matcha", Mocha = "Mocha"; diff --git a/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed.js b/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed.js new file mode 100644 index 0000000000..2328043bc2 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed.js @@ -0,0 +1 @@ +import "./exported-function-may-be-called-before-module-is-executed/2.js" diff --git a/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/1.js b/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/1.js new file mode 100644 index 0000000000..6a4b9427f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/1.js @@ -0,0 +1,15 @@ +import { add, raise } from "./2.js" +import { shouldBe, shouldThrow } from "../resources/assert.js"; + +shouldBe(typeof add, 'function'); +shouldBe(typeof raise, 'function'); + +shouldBe(add(10, 32), 42); + +shouldThrow(() => { + // add, and raise functions are exported and can be used. + // But module "2"'s body is not executed yet!!!! + // raise function touches the lexical variable in the module "2", so TDZ + // error should be raised. + raise(); +}, `ReferenceError: Cannot access uninitialized variable.`); diff --git a/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/2.js b/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/2.js new file mode 100644 index 0000000000..4ae5c2b64e --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/exported-function-may-be-called-before-module-is-executed/2.js @@ -0,0 +1,13 @@ +import "./1.js" + +let value = 42; + +export function add(a, b) +{ + return a + b; +} + +export function raise() +{ + return value; +} diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous.js new file mode 100644 index 0000000000..36b60fe4d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous.js @@ -0,0 +1,12 @@ +// +-----------------+ +// | | +// v | +// (A) -> (C) -> (D) *+-> [E] +// * ^ +// | | +// v @ +// (B) +import { shouldThrow } from "./resources/assert.js" +shouldThrow(() => { + loadModule("./fallback-ambiguous/main.js"); +}, `SyntaxError: Indirectly exported binding name 'A' cannot be resolved due to ambiguous multiple bindings.`); diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous/A.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/A.js new file mode 100644 index 0000000000..1ca4822d0f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/A.js @@ -0,0 +1,2 @@ +export { A } from "./C.js" +export * from "./B.js" diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous/B.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/B.js new file mode 100644 index 0000000000..210cb0e612 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/B.js @@ -0,0 +1 @@ +export let A = 50; diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous/C.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/C.js new file mode 100644 index 0000000000..6af0588e14 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/C.js @@ -0,0 +1 @@ +export { A } from "./D.js" diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous/D.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/D.js new file mode 100644 index 0000000000..c2516328dc --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/D.js @@ -0,0 +1,2 @@ +export * from "./A.js" +export * from "./E.js" diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous/E.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/E.js new file mode 100644 index 0000000000..d308e2cae9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/E.js @@ -0,0 +1 @@ +export let A = 42; diff --git a/implementation-contributed/javascriptcore/modules/fallback-ambiguous/main.js b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/main.js new file mode 100644 index 0000000000..672bccf05b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/fallback-ambiguous/main.js @@ -0,0 +1 @@ +export { A } from "./C.js" diff --git a/implementation-contributed/javascriptcore/modules/html-comments.js b/implementation-contributed/javascriptcore/modules/html-comments.js new file mode 100644 index 0000000000..20c5c1d46a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/html-comments.js @@ -0,0 +1,45 @@ +import { shouldBe, shouldThrow } from "./resources/assert.js"; + +// Eval's goal symbol is Script, not Module. +shouldBe(eval(` + ok +42 +`), 42); + +// Function's goal symbol is not Module. +shouldBe(new Function(` + ok +return 42 +`)(), 42); + +shouldThrow(() => { + checkModuleSyntax(` + + `) +}, `SyntaxError: Unexpected token '<':2`); + +shouldThrow(() => { + checkModuleSyntax(` +--> + `) +}, `SyntaxError: Unexpected token '>':2`); + +shouldThrow(() => { + checkModuleSyntax(` + function hello() + { + + } + `) +}, `SyntaxError: Unexpected token '<':4`); + +shouldThrow(() => { + checkModuleSyntax(` + function hello() + { +--> + } + `) +}, `SyntaxError: Unexpected token '>':4`); diff --git a/implementation-contributed/javascriptcore/modules/import-call.js b/implementation-contributed/javascriptcore/modules/import-call.js new file mode 100644 index 0000000000..eb523e78cb --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-call.js @@ -0,0 +1,5 @@ +import { shouldBe } from "./resources/assert.js" + +import("./import-call/main.js").then((result) => { + shouldBe(result.Cocoa, 42); +}); diff --git a/implementation-contributed/javascriptcore/modules/import-call/main.js b/implementation-contributed/javascriptcore/modules/import-call/main.js new file mode 100644 index 0000000000..6b67122d5b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-call/main.js @@ -0,0 +1 @@ +export let Cocoa = 42; diff --git a/implementation-contributed/javascriptcore/modules/import-default-async.js b/implementation-contributed/javascriptcore/modules/import-default-async.js new file mode 100644 index 0000000000..eac598ee2e --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-default-async.js @@ -0,0 +1,6 @@ +import { shouldBe } from "./resources/assert.js"; +import async from "./import-default-async.js" + +export default 42; + +shouldBe(async, 42); diff --git a/implementation-contributed/javascriptcore/modules/import-error.js b/implementation-contributed/javascriptcore/modules/import-error.js new file mode 100644 index 0000000000..0237472ccf --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error.js @@ -0,0 +1,13 @@ +import { shouldBe, shouldThrow } from "./resources/assert.js" + +shouldThrow(() => { + loadModule('./import-error/import-not-found.js'); +}, `SyntaxError: Importing binding name 'B' is not found.`); + +shouldThrow(() => { + loadModule('./import-error/import-ambiguous.js'); +}, `SyntaxError: Importing binding name 'B' cannot be resolved due to ambiguous multiple bindings.`); + +shouldThrow(() => { + loadModule('./import-error/import-default-from-star.js'); +}, `SyntaxError: Importing binding name 'default' cannot be resolved by star export entries.`); diff --git a/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-1.js b/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-1.js new file mode 100644 index 0000000000..48d7f9a2c2 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-1.js @@ -0,0 +1 @@ +export const B = 42; diff --git a/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-2.js b/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-2.js new file mode 100644 index 0000000000..bae1d1767f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous-2.js @@ -0,0 +1 @@ +export const B = 50; diff --git a/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous.js b/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous.js new file mode 100644 index 0000000000..69c120dbc1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/export-ambiguous.js @@ -0,0 +1,4 @@ +export const A = 42; + +export * from "./export-ambiguous-1.js" +export * from "./export-ambiguous-2.js" diff --git a/implementation-contributed/javascriptcore/modules/import-error/export-default-from-star-2.js b/implementation-contributed/javascriptcore/modules/import-error/export-default-from-star-2.js new file mode 100644 index 0000000000..035709adc6 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/export-default-from-star-2.js @@ -0,0 +1,2 @@ +export default function Cocoa() { +} diff --git a/implementation-contributed/javascriptcore/modules/import-error/export-default-from-star.js b/implementation-contributed/javascriptcore/modules/import-error/export-default-from-star.js new file mode 100644 index 0000000000..4f86ebce0b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/export-default-from-star.js @@ -0,0 +1 @@ +export * from "./export-default-from-star-2.js" diff --git a/implementation-contributed/javascriptcore/modules/import-error/export-not-found.js b/implementation-contributed/javascriptcore/modules/import-error/export-not-found.js new file mode 100644 index 0000000000..c50866ab46 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/export-not-found.js @@ -0,0 +1,2 @@ + +export const A = 20; diff --git a/implementation-contributed/javascriptcore/modules/import-error/import-ambiguous.js b/implementation-contributed/javascriptcore/modules/import-error/import-ambiguous.js new file mode 100644 index 0000000000..dd6c584152 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/import-ambiguous.js @@ -0,0 +1 @@ +import { A, B } from "./export-ambiguous.js" diff --git a/implementation-contributed/javascriptcore/modules/import-error/import-default-from-star.js b/implementation-contributed/javascriptcore/modules/import-error/import-default-from-star.js new file mode 100644 index 0000000000..f7f9e63132 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/import-default-from-star.js @@ -0,0 +1 @@ +import A from "./export-default-from-star.js" diff --git a/implementation-contributed/javascriptcore/modules/import-error/import-not-found.js b/implementation-contributed/javascriptcore/modules/import-error/import-not-found.js new file mode 100644 index 0000000000..04568d2513 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-error/import-not-found.js @@ -0,0 +1 @@ +import { A, B } from "./export-not-found.js" diff --git a/implementation-contributed/javascriptcore/modules/import-meta-assignment.js b/implementation-contributed/javascriptcore/modules/import-meta-assignment.js new file mode 100644 index 0000000000..3e6b93fd53 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-meta-assignment.js @@ -0,0 +1,25 @@ +import { shouldThrow } from "./resources/assert.js"; + +shouldThrow(() => { + checkModuleSyntax(`import.meta = 42`); +}, `SyntaxError: import.meta can't be the left hand side of an assignment expression.:1`); + +shouldThrow(() => { + checkModuleSyntax(`import.meta += 42`); +}, `SyntaxError: import.meta can't be the left hand side of an assignment expression.:1`); + +shouldThrow(() => { + checkModuleSyntax(`++import.meta`); +}, `SyntaxError: import.meta can't come after a prefix operator.:1`); + +shouldThrow(() => { + checkModuleSyntax(`--import.meta`); +}, `SyntaxError: import.meta can't come after a prefix operator.:1`); + +shouldThrow(() => { + checkModuleSyntax(`import.meta++`); +}, `SyntaxError: import.meta can't come before a postfix operator.:1`); + +shouldThrow(() => { + checkModuleSyntax(`import.meta--`); +}, `SyntaxError: import.meta can't come before a postfix operator.:1`); diff --git a/implementation-contributed/javascriptcore/modules/import-meta-syntax.js b/implementation-contributed/javascriptcore/modules/import-meta-syntax.js new file mode 100644 index 0000000000..3edf4e5120 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-meta-syntax.js @@ -0,0 +1,25 @@ +import { shouldThrow, shouldNotThrow } from "./resources/assert.js"; + +shouldThrow(() => { + new Function(`import.meta`); +}, `SyntaxError: import.meta is only valid inside modules.`); + +shouldNotThrow(() => { + checkModuleSyntax(`import.meta`); +}); + +shouldThrow(() => { + checkModuleSyntax(`(import.cocoa)`); +}, `SyntaxError: Unexpected identifier 'cocoa'. "import." can only followed with meta.:1`); + +shouldThrow(() => { + checkModuleSyntax(`(import["Cocoa"])`); +}, `SyntaxError: Unexpected token '['. import call expects exactly one argument.:1`); + +shouldThrow(() => { + checkModuleSyntax(`import.cocoa`); +}, `SyntaxError: Unexpected identifier 'cocoa'. "import." can only followed with meta.:1`); + +shouldThrow(() => { + checkModuleSyntax(`import["Cocoa"]`); +}, `SyntaxError: Unexpected token '['. Expected namespace import or import list.:1`); diff --git a/implementation-contributed/javascriptcore/modules/import-meta.js b/implementation-contributed/javascriptcore/modules/import-meta.js new file mode 100644 index 0000000000..02fd14edcf --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-meta.js @@ -0,0 +1,11 @@ +import { shouldBe, shouldNotBe } from "./resources/assert.js"; +import { cocoa } from "./import-meta/cocoa.js" + +shouldNotBe(cocoa, import.meta); +shouldBe(typeof cocoa, "object"); +shouldBe(typeof import.meta, "object"); +shouldBe(import.meta.filename.endsWith("import-meta.js"), true); +shouldBe(cocoa.filename.endsWith("cocoa.js"), true); + +shouldBe(Reflect.getPrototypeOf(cocoa), null); +shouldBe(Reflect.getPrototypeOf(import.meta), null); diff --git a/implementation-contributed/javascriptcore/modules/import-meta/cocoa.js b/implementation-contributed/javascriptcore/modules/import-meta/cocoa.js new file mode 100644 index 0000000000..96d12056ec --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-meta/cocoa.js @@ -0,0 +1,4 @@ +let meta = import.meta; +export { + meta as cocoa +} diff --git a/implementation-contributed/javascriptcore/modules/import-named-async-as.js b/implementation-contributed/javascriptcore/modules/import-named-async-as.js new file mode 100644 index 0000000000..854b2b2530 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-named-async-as.js @@ -0,0 +1,6 @@ +import { shouldBe } from "./resources/assert.js"; +import { Cocoa as async } from "./import-named-async-as.js" + +export let Cocoa = 42; +shouldBe(async, 42); +shouldBe(Cocoa, 42); diff --git a/implementation-contributed/javascriptcore/modules/import-named-async.js b/implementation-contributed/javascriptcore/modules/import-named-async.js new file mode 100644 index 0000000000..9e30dca681 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-named-async.js @@ -0,0 +1,4 @@ +import { shouldBe } from "./resources/assert.js"; +import { async } from "./import-named-async/target.js" + +shouldBe(async, 42); diff --git a/implementation-contributed/javascriptcore/modules/import-named-async/target.js b/implementation-contributed/javascriptcore/modules/import-named-async/target.js new file mode 100644 index 0000000000..a7944c61dc --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-named-async/target.js @@ -0,0 +1 @@ +export let async = 42; diff --git a/implementation-contributed/javascriptcore/modules/import-namespace-async.js b/implementation-contributed/javascriptcore/modules/import-namespace-async.js new file mode 100644 index 0000000000..1e27767b0f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/import-namespace-async.js @@ -0,0 +1,5 @@ +import { shouldBe } from "./resources/assert.js"; +import * as async from "./import-namespace-async.js" + +export let Cocoa = 42; +shouldBe(async.Cocoa, 42); diff --git a/implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable.js b/implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable.js new file mode 100644 index 0000000000..4515e29be6 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable.js @@ -0,0 +1,43 @@ +import { variable, constVariable, letVariable, functionDeclaration, classDeclaration } from "./imported-bindings-are-immutable/bindings.js" +import { shouldBe, shouldThrow } from "./resources/assert.js" + +shouldBe(variable, 'Cocoa'); +shouldThrow(() => { + variable = 42; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(constVariable, 'Cocoa'); +shouldThrow(() => { + constVariable = 42; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(letVariable, 'Cocoa'); +shouldThrow(() => { + letVariable = 42; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(typeof functionDeclaration, 'function'); +shouldThrow(() => { + functionDeclaration = 42; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(typeof classDeclaration, 'function'); +shouldThrow(() => { + classDeclaration = 42; +}, `TypeError: Attempted to assign to readonly property.`); + + +function reference(read) { + if (read) + return letVariable; + else + letVariable = "Cocoa"; +} +noInline(reference); + +for (var i = 0; i < 10000; ++i) + reference(true); + +shouldThrow(() => { + reference(false); +}, `TypeError: Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable/bindings.js b/implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable/bindings.js new file mode 100644 index 0000000000..ed645cdf95 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/imported-bindings-are-immutable/bindings.js @@ -0,0 +1,11 @@ +export var variable = 'Cocoa'; + +export const constVariable = 'Cocoa'; + +export let letVariable = 'Cocoa'; + +export function functionDeclaration() { +} + +export class classDeclaration { +} diff --git a/implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module.js b/implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module.js new file mode 100644 index 0000000000..ab8b6c4844 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module.js @@ -0,0 +1,17 @@ +import { + Cocoa, + Cappuccino, + Matcha, + Modifier +} from "./imported-bindings-can-be-changed-in-original-module/bindings.js" +import { shouldBe, shouldThrow } from "./resources/assert.js" + +shouldBe(Cocoa, "Cocoa"); +shouldBe(Cappuccino, "Cappuccino"); +shouldBe(Matcha, "Matcha"); + +Modifier.change("Cocoa"); + +shouldBe(Cocoa, "Cocoa"); +shouldBe(Cappuccino, "Cocoa"); +shouldBe(Matcha, "Cocoa"); diff --git a/implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module/bindings.js b/implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module/bindings.js new file mode 100644 index 0000000000..824288cc3c --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/imported-bindings-can-be-changed-in-original-module/bindings.js @@ -0,0 +1,16 @@ +let Cocoa = "Cocoa", Cappuccino = "Cappuccino", Matcha = "Matcha"; + +export let Modifier = { + change(value) + { + Cocoa = value; + Cappuccino = value; + Matcha = value; + } +}; + +export { + Cocoa, + Cappuccino, + Matcha +}; diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error.js b/implementation-contributed/javascriptcore/modules/indirect-export-error.js new file mode 100644 index 0000000000..a3cfc77d4f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error.js @@ -0,0 +1,13 @@ +import { shouldBe, shouldThrow } from "./resources/assert.js" + +shouldThrow(() => { + loadModule('./indirect-export-error/indirect-export-not-found.js'); +}, `SyntaxError: Indirectly exported binding name 'B' is not found.`); + +shouldThrow(() => { + loadModule('./indirect-export-error/indirect-export-ambiguous.js'); +}, `SyntaxError: Indirectly exported binding name 'B' cannot be resolved due to ambiguous multiple bindings.`); + +shouldThrow(() => { + loadModule('./indirect-export-error/indirect-export-default.js'); +}, `SyntaxError: Indirectly exported binding name 'default' cannot be resolved by star export entries.`); diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-2.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-2.js new file mode 100644 index 0000000000..e6390571c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-2.js @@ -0,0 +1,2 @@ +export * from "./indirect-export-ambiguous-3.js" +export * from "./indirect-export-ambiguous-4.js" diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-3.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-3.js new file mode 100644 index 0000000000..4c445a4b31 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-3.js @@ -0,0 +1,2 @@ +export const A = 42; +export const B = 50 diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-4.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-4.js new file mode 100644 index 0000000000..4f22722a35 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous-4.js @@ -0,0 +1 @@ +export const B = 50 diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous.js new file mode 100644 index 0000000000..ef626d914c --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-ambiguous.js @@ -0,0 +1 @@ +export { A, B } from "./indirect-export-ambiguous-2.js" diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-2.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-2.js new file mode 100644 index 0000000000..c177b14394 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-2.js @@ -0,0 +1 @@ +export * from "indirect-export-default-3.js" diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-3.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-3.js new file mode 100644 index 0000000000..035709adc6 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default-3.js @@ -0,0 +1,2 @@ +export default function Cocoa() { +} diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default.js new file mode 100644 index 0000000000..6de14254a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-default.js @@ -0,0 +1,2 @@ +import A from "./indirect-export-default-2.js" +export { A } diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found-2.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found-2.js new file mode 100644 index 0000000000..83c665fee9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found-2.js @@ -0,0 +1 @@ +export const A = 42; diff --git a/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found.js b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found.js new file mode 100644 index 0000000000..5dd4879e14 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/indirect-export-error/indirect-export-not-found.js @@ -0,0 +1 @@ +export { A, B } from "./indirect-export-not-found-2.js"; diff --git a/implementation-contributed/javascriptcore/modules/module-assert-access-binding.js b/implementation-contributed/javascriptcore/modules/module-assert-access-binding.js new file mode 100644 index 0000000000..563cc9db87 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-assert-access-binding.js @@ -0,0 +1,10 @@ +import {shouldBe} from "./resources/assert.js"; + +let array = []; +for (let i = 0; i < 4000000; i++) { + array.push(i); +} + +for (let i = 0; i < 4000000; i++) { + shouldBe(array[i], i); +} diff --git a/implementation-contributed/javascriptcore/modules/module-assert-access-namespace.js b/implementation-contributed/javascriptcore/modules/module-assert-access-namespace.js new file mode 100644 index 0000000000..fe090bdaf0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-assert-access-namespace.js @@ -0,0 +1,10 @@ +import * as assert from "./resources/assert.js"; + +let array = []; +for (let i = 0; i < 4000000; i++) { + array.push(i); +} + +for (let i = 0; i < 4000000; i++) { + assert.shouldBe(array[i], i); +} diff --git a/implementation-contributed/javascriptcore/modules/module-eval.js b/implementation-contributed/javascriptcore/modules/module-eval.js new file mode 100644 index 0000000000..5971e7e1b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-eval.js @@ -0,0 +1,11 @@ +import { Cappuccino, Cocoa } from "./module-eval/drink.js" +import * as B from "./module-eval/B.js" +import { shouldThrow, shouldBe } from "./resources/assert.js" + +shouldBe(eval("Cappuccino"), "Cappuccino"); + +(function () { + let Cappuccino = "Cocoa"; + shouldBe(eval("Cappuccino"), "Cocoa"); + shouldBe(eval("Cocoa"), "Cocoa"); +}()); diff --git a/implementation-contributed/javascriptcore/modules/module-eval/A.js b/implementation-contributed/javascriptcore/modules/module-eval/A.js new file mode 100644 index 0000000000..8cc42d1acc --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-eval/A.js @@ -0,0 +1,8 @@ +import { B } from "./B.js" +import { shouldThrow } from "../resources/assert.js" + +export let A = "A"; + +shouldThrow(() => { + eval("B"); +}, `ReferenceError: Cannot access uninitialized variable.`); diff --git a/implementation-contributed/javascriptcore/modules/module-eval/B.js b/implementation-contributed/javascriptcore/modules/module-eval/B.js new file mode 100644 index 0000000000..1d5ba286f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-eval/B.js @@ -0,0 +1,3 @@ +import { A } from "./A.js" + +export let B = "B"; diff --git a/implementation-contributed/javascriptcore/modules/module-eval/drink.js b/implementation-contributed/javascriptcore/modules/module-eval/drink.js new file mode 100644 index 0000000000..ca837f77d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-eval/drink.js @@ -0,0 +1,3 @@ +export const Cocoa = "Cocoa"; + +export let Cappuccino = "Cappuccino"; diff --git a/implementation-contributed/javascriptcore/modules/module-is-strict-code.js b/implementation-contributed/javascriptcore/modules/module-is-strict-code.js new file mode 100644 index 0000000000..fcc3b33e72 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-is-strict-code.js @@ -0,0 +1,19 @@ +import { shouldThrow, shouldBe } from "./resources/assert.js"; + +// Module code is always strict code. +shouldThrow(() => { + eval("with(value) { }"); +}, `SyntaxError: 'with' statements are not valid in strict mode.`); + +// When calling the indirect eval / Function constructor, its scope is not the module scope. +var moduleVariable = 42; + +shouldBe(eval("moduleVariable"), 42); + +shouldThrow(() => { + (0, eval)("moduleVariable"); +}, `ReferenceError: Can't find variable: moduleVariable`); + +shouldThrow(() => { + (Function("moduleVariable"))(); +}, `ReferenceError: Can't find variable: moduleVariable`); diff --git a/implementation-contributed/javascriptcore/modules/module-jit-reachability.js b/implementation-contributed/javascriptcore/modules/module-jit-reachability.js new file mode 100644 index 0000000000..90b0d7d55c --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-jit-reachability.js @@ -0,0 +1,20010 @@ +//@ noNoLLIntRunModules if $architecture == "arm" + +var points = [ + { x: 0, y: 0 }, + { x: 1, y: 1 }, + { x: 2, y: 2 }, + { x: 3, y: 3 }, + { x: 4, y: 4 }, + { x: 5, y: 5 }, + { x: 6, y: 6 }, + { x: 7, y: 7 }, + { x: 8, y: 8 }, + { x: 9, y: 9 }, + { x: 10, y: 10 }, + { x: 11, y: 11 }, + { x: 12, y: 12 }, + { x: 13, y: 13 }, + { x: 14, y: 14 }, + { x: 15, y: 15 }, + { x: 16, y: 16 }, + { x: 17, y: 17 }, + { x: 18, y: 18 }, + { x: 19, y: 19 }, + { x: 20, y: 20 }, + { x: 21, y: 21 }, + { x: 22, y: 22 }, + { x: 23, y: 23 }, + { x: 24, y: 24 }, + { x: 25, y: 25 }, + { x: 26, y: 26 }, + { x: 27, y: 27 }, + { x: 28, y: 28 }, + { x: 29, y: 29 }, + { x: 30, y: 30 }, + { x: 31, y: 31 }, + { x: 32, y: 32 }, + { x: 33, y: 33 }, + { x: 34, y: 34 }, + { x: 35, y: 35 }, + { x: 36, y: 36 }, + { x: 37, y: 37 }, + { x: 38, y: 38 }, + { x: 39, y: 39 }, + { x: 40, y: 40 }, + { x: 41, y: 41 }, + { x: 42, y: 42 }, + { x: 43, y: 43 }, + { x: 44, y: 44 }, + { x: 45, y: 45 }, + { x: 46, y: 46 }, + { x: 47, y: 47 }, + { x: 48, y: 48 }, + { x: 49, y: 49 }, + { x: 50, y: 50 }, + { x: 51, y: 51 }, + { x: 52, y: 52 }, + { x: 53, y: 53 }, + { x: 54, y: 54 }, + { x: 55, y: 55 }, + { x: 56, y: 56 }, + { x: 57, y: 57 }, + { x: 58, y: 58 }, + { x: 59, y: 59 }, + { x: 60, y: 60 }, + { x: 61, y: 61 }, + { x: 62, y: 62 }, + { x: 63, y: 63 }, + { x: 64, y: 64 }, + { x: 65, y: 65 }, + { x: 66, y: 66 }, + { x: 67, y: 67 }, + { x: 68, y: 68 }, + { x: 69, y: 69 }, + { x: 70, y: 70 }, + { x: 71, y: 71 }, + { x: 72, y: 72 }, + { x: 73, y: 73 }, + { x: 74, y: 74 }, + { x: 75, y: 75 }, + { x: 76, y: 76 }, + { x: 77, y: 77 }, + { x: 78, y: 78 }, + { x: 79, y: 79 }, + { x: 80, y: 80 }, + { x: 81, y: 81 }, + { x: 82, y: 82 }, + { x: 83, y: 83 }, + { x: 84, y: 84 }, + { x: 85, y: 85 }, + { x: 86, y: 86 }, + { x: 87, y: 87 }, + { x: 88, y: 88 }, + { x: 89, y: 89 }, + { x: 90, y: 90 }, + { x: 91, y: 91 }, + { x: 92, y: 92 }, + { x: 93, y: 93 }, + { x: 94, y: 94 }, + { x: 95, y: 95 }, + { x: 96, y: 96 }, + { x: 97, y: 97 }, + { x: 98, y: 98 }, + { x: 99, y: 99 }, + { x: 100, y: 100 }, + { x: 101, y: 101 }, + { x: 102, y: 102 }, + { x: 103, y: 103 }, + { x: 104, y: 104 }, + { x: 105, y: 105 }, + { x: 106, y: 106 }, + { x: 107, y: 107 }, + { x: 108, y: 108 }, + { x: 109, y: 109 }, + { x: 110, y: 110 }, + { x: 111, y: 111 }, + { x: 112, y: 112 }, + { x: 113, y: 113 }, + { x: 114, y: 114 }, + { x: 115, y: 115 }, + { x: 116, y: 116 }, + { x: 117, y: 117 }, + { x: 118, y: 118 }, + { x: 119, y: 119 }, + { x: 120, y: 120 }, + { x: 121, y: 121 }, + { x: 122, y: 122 }, + { x: 123, y: 123 }, + { x: 124, y: 124 }, + { x: 125, y: 125 }, + { x: 126, y: 126 }, + { x: 127, y: 127 }, + { x: 128, y: 128 }, + { x: 129, y: 129 }, + { x: 130, y: 130 }, + { x: 131, y: 131 }, + { x: 132, y: 132 }, + { x: 133, y: 133 }, + { x: 134, y: 134 }, + { x: 135, y: 135 }, + { x: 136, y: 136 }, + { x: 137, y: 137 }, + { x: 138, y: 138 }, + { x: 139, y: 139 }, + { x: 140, y: 140 }, + { x: 141, y: 141 }, + { x: 142, y: 142 }, + { x: 143, y: 143 }, + { x: 144, y: 144 }, + { x: 145, y: 145 }, + { x: 146, y: 146 }, + { x: 147, y: 147 }, + { x: 148, y: 148 }, + { x: 149, y: 149 }, + { x: 150, y: 150 }, + { x: 151, y: 151 }, + { x: 152, y: 152 }, + { x: 153, y: 153 }, + { x: 154, y: 154 }, + { x: 155, y: 155 }, + { x: 156, y: 156 }, + { x: 157, y: 157 }, + { x: 158, y: 158 }, + { x: 159, y: 159 }, + { x: 160, y: 160 }, + { x: 161, y: 161 }, + { x: 162, y: 162 }, + { x: 163, y: 163 }, + { x: 164, y: 164 }, + { x: 165, y: 165 }, + { x: 166, y: 166 }, + { x: 167, y: 167 }, + { x: 168, y: 168 }, + { x: 169, y: 169 }, + { x: 170, y: 170 }, + { x: 171, y: 171 }, + { x: 172, y: 172 }, + { x: 173, y: 173 }, + { x: 174, y: 174 }, + { x: 175, y: 175 }, + { x: 176, y: 176 }, + { x: 177, y: 177 }, + { x: 178, y: 178 }, + { x: 179, y: 179 }, + { x: 180, y: 180 }, + { x: 181, y: 181 }, + { x: 182, y: 182 }, + { x: 183, y: 183 }, + { x: 184, y: 184 }, + { x: 185, y: 185 }, + { x: 186, y: 186 }, + { x: 187, y: 187 }, + { x: 188, y: 188 }, + { x: 189, y: 189 }, + { x: 190, y: 190 }, + { x: 191, y: 191 }, + { x: 192, y: 192 }, + { x: 193, y: 193 }, + { x: 194, y: 194 }, + { x: 195, y: 195 }, + { x: 196, y: 196 }, + { x: 197, y: 197 }, + { x: 198, y: 198 }, + { x: 199, y: 199 }, + { x: 200, y: 200 }, + { x: 201, y: 201 }, + { x: 202, y: 202 }, + { x: 203, y: 203 }, + { x: 204, y: 204 }, + { x: 205, y: 205 }, + { x: 206, y: 206 }, + { x: 207, y: 207 }, + { x: 208, y: 208 }, + { x: 209, y: 209 }, + { x: 210, y: 210 }, + { x: 211, y: 211 }, + { x: 212, y: 212 }, + { x: 213, y: 213 }, + { x: 214, y: 214 }, + { x: 215, y: 215 }, + { x: 216, y: 216 }, + { x: 217, y: 217 }, + { x: 218, y: 218 }, + { x: 219, y: 219 }, + { x: 220, y: 220 }, + { x: 221, y: 221 }, + { x: 222, y: 222 }, + { x: 223, y: 223 }, + { x: 224, y: 224 }, + { x: 225, y: 225 }, + { x: 226, y: 226 }, + { x: 227, y: 227 }, + { x: 228, y: 228 }, + { x: 229, y: 229 }, + { x: 230, y: 230 }, + { x: 231, y: 231 }, + { x: 232, y: 232 }, + { x: 233, y: 233 }, + { x: 234, y: 234 }, + { x: 235, y: 235 }, + { x: 236, y: 236 }, + { x: 237, y: 237 }, + { x: 238, y: 238 }, + { x: 239, y: 239 }, + { x: 240, y: 240 }, + { x: 241, y: 241 }, + { x: 242, y: 242 }, + { x: 243, y: 243 }, + { x: 244, y: 244 }, + { x: 245, y: 245 }, + { x: 246, y: 246 }, + { x: 247, y: 247 }, + { x: 248, y: 248 }, + { x: 249, y: 249 }, + { x: 250, y: 250 }, + { x: 251, y: 251 }, + { x: 252, y: 252 }, + { x: 253, y: 253 }, + { x: 254, y: 254 }, + { x: 255, y: 255 }, + { x: 256, y: 256 }, + { x: 257, y: 257 }, + { x: 258, y: 258 }, + { x: 259, y: 259 }, + { x: 260, y: 260 }, + { x: 261, y: 261 }, + { x: 262, y: 262 }, + { x: 263, y: 263 }, + { x: 264, y: 264 }, + { x: 265, y: 265 }, + { x: 266, y: 266 }, + { x: 267, y: 267 }, + { x: 268, y: 268 }, + { x: 269, y: 269 }, + { x: 270, y: 270 }, + { x: 271, y: 271 }, + { x: 272, y: 272 }, + { x: 273, y: 273 }, + { x: 274, y: 274 }, + { x: 275, y: 275 }, + { x: 276, y: 276 }, + { x: 277, y: 277 }, + { x: 278, y: 278 }, + { x: 279, y: 279 }, + { x: 280, y: 280 }, + { x: 281, y: 281 }, + { x: 282, y: 282 }, + { x: 283, y: 283 }, + { x: 284, y: 284 }, + { x: 285, y: 285 }, + { x: 286, y: 286 }, + { x: 287, y: 287 }, + { x: 288, y: 288 }, + { x: 289, y: 289 }, + { x: 290, y: 290 }, + { x: 291, y: 291 }, + { x: 292, y: 292 }, + { x: 293, y: 293 }, + { x: 294, y: 294 }, + { x: 295, y: 295 }, + { x: 296, y: 296 }, + { x: 297, y: 297 }, + { x: 298, y: 298 }, + { x: 299, y: 299 }, + { x: 300, y: 300 }, + { x: 301, y: 301 }, + { x: 302, y: 302 }, + { x: 303, y: 303 }, + { x: 304, y: 304 }, + { x: 305, y: 305 }, + { x: 306, y: 306 }, + { x: 307, y: 307 }, + { x: 308, y: 308 }, + { x: 309, y: 309 }, + { x: 310, y: 310 }, + { x: 311, y: 311 }, + { x: 312, y: 312 }, + { x: 313, y: 313 }, + { x: 314, y: 314 }, + { x: 315, y: 315 }, + { x: 316, y: 316 }, + { x: 317, y: 317 }, + { x: 318, y: 318 }, + { x: 319, y: 319 }, + { x: 320, y: 320 }, + { x: 321, y: 321 }, + { x: 322, y: 322 }, + { x: 323, y: 323 }, + { x: 324, y: 324 }, + { x: 325, y: 325 }, + { x: 326, y: 326 }, + { x: 327, y: 327 }, + { x: 328, y: 328 }, + { x: 329, y: 329 }, + { x: 330, y: 330 }, + { x: 331, y: 331 }, + { x: 332, y: 332 }, + { x: 333, y: 333 }, + { x: 334, y: 334 }, + { x: 335, y: 335 }, + { x: 336, y: 336 }, + { x: 337, y: 337 }, + { x: 338, y: 338 }, + { x: 339, y: 339 }, + { x: 340, y: 340 }, + { x: 341, y: 341 }, + { x: 342, y: 342 }, + { x: 343, y: 343 }, + { x: 344, y: 344 }, + { x: 345, y: 345 }, + { x: 346, y: 346 }, + { x: 347, y: 347 }, + { x: 348, y: 348 }, + { x: 349, y: 349 }, + { x: 350, y: 350 }, + { x: 351, y: 351 }, + { x: 352, y: 352 }, + { x: 353, y: 353 }, + { x: 354, y: 354 }, + { x: 355, y: 355 }, + { x: 356, y: 356 }, + { x: 357, y: 357 }, + { x: 358, y: 358 }, + { x: 359, y: 359 }, + { x: 360, y: 360 }, + { x: 361, y: 361 }, + { x: 362, y: 362 }, + { x: 363, y: 363 }, + { x: 364, y: 364 }, + { x: 365, y: 365 }, + { x: 366, y: 366 }, + { x: 367, y: 367 }, + { x: 368, y: 368 }, + { x: 369, y: 369 }, + { x: 370, y: 370 }, + { x: 371, y: 371 }, + { x: 372, y: 372 }, + { x: 373, y: 373 }, + { x: 374, y: 374 }, + { x: 375, y: 375 }, + { x: 376, y: 376 }, + { x: 377, y: 377 }, + { x: 378, y: 378 }, + { x: 379, y: 379 }, + { x: 380, y: 380 }, + { x: 381, y: 381 }, + { x: 382, y: 382 }, + { x: 383, y: 383 }, + { x: 384, y: 384 }, + { x: 385, y: 385 }, + { x: 386, y: 386 }, + { x: 387, y: 387 }, + { x: 388, y: 388 }, + { x: 389, y: 389 }, + { x: 390, y: 390 }, + { x: 391, y: 391 }, + { x: 392, y: 392 }, + { x: 393, y: 393 }, + { x: 394, y: 394 }, + { x: 395, y: 395 }, + { x: 396, y: 396 }, + { x: 397, y: 397 }, + { x: 398, y: 398 }, + { x: 399, y: 399 }, + { x: 400, y: 400 }, + { x: 401, y: 401 }, + { x: 402, y: 402 }, + { x: 403, y: 403 }, + { x: 404, y: 404 }, + { x: 405, y: 405 }, + { x: 406, y: 406 }, + { x: 407, y: 407 }, + { x: 408, y: 408 }, + { x: 409, y: 409 }, + { x: 410, y: 410 }, + { x: 411, y: 411 }, + { x: 412, y: 412 }, + { x: 413, y: 413 }, + { x: 414, y: 414 }, + { x: 415, y: 415 }, + { x: 416, y: 416 }, + { x: 417, y: 417 }, + { x: 418, y: 418 }, + { x: 419, y: 419 }, + { x: 420, y: 420 }, + { x: 421, y: 421 }, + { x: 422, y: 422 }, + { x: 423, y: 423 }, + { x: 424, y: 424 }, + { x: 425, y: 425 }, + { x: 426, y: 426 }, + { x: 427, y: 427 }, + { x: 428, y: 428 }, + { x: 429, y: 429 }, + { x: 430, y: 430 }, + { x: 431, y: 431 }, + { x: 432, y: 432 }, + { x: 433, y: 433 }, + { x: 434, y: 434 }, + { x: 435, y: 435 }, + { x: 436, y: 436 }, + { x: 437, y: 437 }, + { x: 438, y: 438 }, + { x: 439, y: 439 }, + { x: 440, y: 440 }, + { x: 441, y: 441 }, + { x: 442, y: 442 }, + { x: 443, y: 443 }, + { x: 444, y: 444 }, + { x: 445, y: 445 }, + { x: 446, y: 446 }, + { x: 447, y: 447 }, + { x: 448, y: 448 }, + { x: 449, y: 449 }, + { x: 450, y: 450 }, + { x: 451, y: 451 }, + { x: 452, y: 452 }, + { x: 453, y: 453 }, + { x: 454, y: 454 }, + { x: 455, y: 455 }, + { x: 456, y: 456 }, + { x: 457, y: 457 }, + { x: 458, y: 458 }, + { x: 459, y: 459 }, + { x: 460, y: 460 }, + { x: 461, y: 461 }, + { x: 462, y: 462 }, + { x: 463, y: 463 }, + { x: 464, y: 464 }, + { x: 465, y: 465 }, + { x: 466, y: 466 }, + { x: 467, y: 467 }, + { x: 468, y: 468 }, + { x: 469, y: 469 }, + { x: 470, y: 470 }, + { x: 471, y: 471 }, + { x: 472, y: 472 }, + { x: 473, y: 473 }, + { x: 474, y: 474 }, + { x: 475, y: 475 }, + { x: 476, y: 476 }, + { x: 477, y: 477 }, + { x: 478, y: 478 }, + { x: 479, y: 479 }, + { x: 480, y: 480 }, + { x: 481, y: 481 }, + { x: 482, y: 482 }, + { x: 483, y: 483 }, + { x: 484, y: 484 }, + { x: 485, y: 485 }, + { x: 486, y: 486 }, + { x: 487, y: 487 }, + { x: 488, y: 488 }, + { x: 489, y: 489 }, + { x: 490, y: 490 }, + { x: 491, y: 491 }, + { x: 492, y: 492 }, + { x: 493, y: 493 }, + { x: 494, y: 494 }, + { x: 495, y: 495 }, + { x: 496, y: 496 }, + { x: 497, y: 497 }, + { x: 498, y: 498 }, + { x: 499, y: 499 }, + { x: 500, y: 500 }, + { x: 501, y: 501 }, + { x: 502, y: 502 }, + { x: 503, y: 503 }, + { x: 504, y: 504 }, + { x: 505, y: 505 }, + { x: 506, y: 506 }, + { x: 507, y: 507 }, + { x: 508, y: 508 }, + { x: 509, y: 509 }, + { x: 510, y: 510 }, + { x: 511, y: 511 }, + { x: 512, y: 512 }, + { x: 513, y: 513 }, + { x: 514, y: 514 }, + { x: 515, y: 515 }, + { x: 516, y: 516 }, + { x: 517, y: 517 }, + { x: 518, y: 518 }, + { x: 519, y: 519 }, + { x: 520, y: 520 }, + { x: 521, y: 521 }, + { x: 522, y: 522 }, + { x: 523, y: 523 }, + { x: 524, y: 524 }, + { x: 525, y: 525 }, + { x: 526, y: 526 }, + { x: 527, y: 527 }, + { x: 528, y: 528 }, + { x: 529, y: 529 }, + { x: 530, y: 530 }, + { x: 531, y: 531 }, + { x: 532, y: 532 }, + { x: 533, y: 533 }, + { x: 534, y: 534 }, + { x: 535, y: 535 }, + { x: 536, y: 536 }, + { x: 537, y: 537 }, + { x: 538, y: 538 }, + { x: 539, y: 539 }, + { x: 540, y: 540 }, + { x: 541, y: 541 }, + { x: 542, y: 542 }, + { x: 543, y: 543 }, + { x: 544, y: 544 }, + { x: 545, y: 545 }, + { x: 546, y: 546 }, + { x: 547, y: 547 }, + { x: 548, y: 548 }, + { x: 549, y: 549 }, + { x: 550, y: 550 }, + { x: 551, y: 551 }, + { x: 552, y: 552 }, + { x: 553, y: 553 }, + { x: 554, y: 554 }, + { x: 555, y: 555 }, + { x: 556, y: 556 }, + { x: 557, y: 557 }, + { x: 558, y: 558 }, + { x: 559, y: 559 }, + { x: 560, y: 560 }, + { x: 561, y: 561 }, + { x: 562, y: 562 }, + { x: 563, y: 563 }, + { x: 564, y: 564 }, + { x: 565, y: 565 }, + { x: 566, y: 566 }, + { x: 567, y: 567 }, + { x: 568, y: 568 }, + { x: 569, y: 569 }, + { x: 570, y: 570 }, + { x: 571, y: 571 }, + { x: 572, y: 572 }, + { x: 573, y: 573 }, + { x: 574, y: 574 }, + { x: 575, y: 575 }, + { x: 576, y: 576 }, + { x: 577, y: 577 }, + { x: 578, y: 578 }, + { x: 579, y: 579 }, + { x: 580, y: 580 }, + { x: 581, y: 581 }, + { x: 582, y: 582 }, + { x: 583, y: 583 }, + { x: 584, y: 584 }, + { x: 585, y: 585 }, + { x: 586, y: 586 }, + { x: 587, y: 587 }, + { x: 588, y: 588 }, + { x: 589, y: 589 }, + { x: 590, y: 590 }, + { x: 591, y: 591 }, + { x: 592, y: 592 }, + { x: 593, y: 593 }, + { x: 594, y: 594 }, + { x: 595, y: 595 }, + { x: 596, y: 596 }, + { x: 597, y: 597 }, + { x: 598, y: 598 }, + { x: 599, y: 599 }, + { x: 600, y: 600 }, + { x: 601, y: 601 }, + { x: 602, y: 602 }, + { x: 603, y: 603 }, + { x: 604, y: 604 }, + { x: 605, y: 605 }, + { x: 606, y: 606 }, + { x: 607, y: 607 }, + { x: 608, y: 608 }, + { x: 609, y: 609 }, + { x: 610, y: 610 }, + { x: 611, y: 611 }, + { x: 612, y: 612 }, + { x: 613, y: 613 }, + { x: 614, y: 614 }, + { x: 615, y: 615 }, + { x: 616, y: 616 }, + { x: 617, y: 617 }, + { x: 618, y: 618 }, + { x: 619, y: 619 }, + { x: 620, y: 620 }, + { x: 621, y: 621 }, + { x: 622, y: 622 }, + { x: 623, y: 623 }, + { x: 624, y: 624 }, + { x: 625, y: 625 }, + { x: 626, y: 626 }, + { x: 627, y: 627 }, + { x: 628, y: 628 }, + { x: 629, y: 629 }, + { x: 630, y: 630 }, + { x: 631, y: 631 }, + { x: 632, y: 632 }, + { x: 633, y: 633 }, + { x: 634, y: 634 }, + { x: 635, y: 635 }, + { x: 636, y: 636 }, + { x: 637, y: 637 }, + { x: 638, y: 638 }, + { x: 639, y: 639 }, + { x: 640, y: 640 }, + { x: 641, y: 641 }, + { x: 642, y: 642 }, + { x: 643, y: 643 }, + { x: 644, y: 644 }, + { x: 645, y: 645 }, + { x: 646, y: 646 }, + { x: 647, y: 647 }, + { x: 648, y: 648 }, + { x: 649, y: 649 }, + { x: 650, y: 650 }, + { x: 651, y: 651 }, + { x: 652, y: 652 }, + { x: 653, y: 653 }, + { x: 654, y: 654 }, + { x: 655, y: 655 }, + { x: 656, y: 656 }, + { x: 657, y: 657 }, + { x: 658, y: 658 }, + { x: 659, y: 659 }, + { x: 660, y: 660 }, + { x: 661, y: 661 }, + { x: 662, y: 662 }, + { x: 663, y: 663 }, + { x: 664, y: 664 }, + { x: 665, y: 665 }, + { x: 666, y: 666 }, + { x: 667, y: 667 }, + { x: 668, y: 668 }, + { x: 669, y: 669 }, + { x: 670, y: 670 }, + { x: 671, y: 671 }, + { x: 672, y: 672 }, + { x: 673, y: 673 }, + { x: 674, y: 674 }, + { x: 675, y: 675 }, + { x: 676, y: 676 }, + { x: 677, y: 677 }, + { x: 678, y: 678 }, + { x: 679, y: 679 }, + { x: 680, y: 680 }, + { x: 681, y: 681 }, + { x: 682, y: 682 }, + { x: 683, y: 683 }, + { x: 684, y: 684 }, + { x: 685, y: 685 }, + { x: 686, y: 686 }, + { x: 687, y: 687 }, + { x: 688, y: 688 }, + { x: 689, y: 689 }, + { x: 690, y: 690 }, + { x: 691, y: 691 }, + { x: 692, y: 692 }, + { x: 693, y: 693 }, + { x: 694, y: 694 }, + { x: 695, y: 695 }, + { x: 696, y: 696 }, + { x: 697, y: 697 }, + { x: 698, y: 698 }, + { x: 699, y: 699 }, + { x: 700, y: 700 }, + { x: 701, y: 701 }, + { x: 702, y: 702 }, + { x: 703, y: 703 }, + { x: 704, y: 704 }, + { x: 705, y: 705 }, + { x: 706, y: 706 }, + { x: 707, y: 707 }, + { x: 708, y: 708 }, + { x: 709, y: 709 }, + { x: 710, y: 710 }, + { x: 711, y: 711 }, + { x: 712, y: 712 }, + { x: 713, y: 713 }, + { x: 714, y: 714 }, + { x: 715, y: 715 }, + { x: 716, y: 716 }, + { x: 717, y: 717 }, + { x: 718, y: 718 }, + { x: 719, y: 719 }, + { x: 720, y: 720 }, + { x: 721, y: 721 }, + { x: 722, y: 722 }, + { x: 723, y: 723 }, + { x: 724, y: 724 }, + { x: 725, y: 725 }, + { x: 726, y: 726 }, + { x: 727, y: 727 }, + { x: 728, y: 728 }, + { x: 729, y: 729 }, + { x: 730, y: 730 }, + { x: 731, y: 731 }, + { x: 732, y: 732 }, + { x: 733, y: 733 }, + { x: 734, y: 734 }, + { x: 735, y: 735 }, + { x: 736, y: 736 }, + { x: 737, y: 737 }, + { x: 738, y: 738 }, + { x: 739, y: 739 }, + { x: 740, y: 740 }, + { x: 741, y: 741 }, + { x: 742, y: 742 }, + { x: 743, y: 743 }, + { x: 744, y: 744 }, + { x: 745, y: 745 }, + { x: 746, y: 746 }, + { x: 747, y: 747 }, + { x: 748, y: 748 }, + { x: 749, y: 749 }, + { x: 750, y: 750 }, + { x: 751, y: 751 }, + { x: 752, y: 752 }, + { x: 753, y: 753 }, + { x: 754, y: 754 }, + { x: 755, y: 755 }, + { x: 756, y: 756 }, + { x: 757, y: 757 }, + { x: 758, y: 758 }, + { x: 759, y: 759 }, + { x: 760, y: 760 }, + { x: 761, y: 761 }, + { x: 762, y: 762 }, + { x: 763, y: 763 }, + { x: 764, y: 764 }, + { x: 765, y: 765 }, + { x: 766, y: 766 }, + { x: 767, y: 767 }, + { x: 768, y: 768 }, + { x: 769, y: 769 }, + { x: 770, y: 770 }, + { x: 771, y: 771 }, + { x: 772, y: 772 }, + { x: 773, y: 773 }, + { x: 774, y: 774 }, + { x: 775, y: 775 }, + { x: 776, y: 776 }, + { x: 777, y: 777 }, + { x: 778, y: 778 }, + { x: 779, y: 779 }, + { x: 780, y: 780 }, + { x: 781, y: 781 }, + { x: 782, y: 782 }, + { x: 783, y: 783 }, + { x: 784, y: 784 }, + { x: 785, y: 785 }, + { x: 786, y: 786 }, + { x: 787, y: 787 }, + { x: 788, y: 788 }, + { x: 789, y: 789 }, + { x: 790, y: 790 }, + { x: 791, y: 791 }, + { x: 792, y: 792 }, + { x: 793, y: 793 }, + { x: 794, y: 794 }, + { x: 795, y: 795 }, + { x: 796, y: 796 }, + { x: 797, y: 797 }, + { x: 798, y: 798 }, + { x: 799, y: 799 }, + { x: 800, y: 800 }, + { x: 801, y: 801 }, + { x: 802, y: 802 }, + { x: 803, y: 803 }, + { x: 804, y: 804 }, + { x: 805, y: 805 }, + { x: 806, y: 806 }, + { x: 807, y: 807 }, + { x: 808, y: 808 }, + { x: 809, y: 809 }, + { x: 810, y: 810 }, + { x: 811, y: 811 }, + { x: 812, y: 812 }, + { x: 813, y: 813 }, + { x: 814, y: 814 }, + { x: 815, y: 815 }, + { x: 816, y: 816 }, + { x: 817, y: 817 }, + { x: 818, y: 818 }, + { x: 819, y: 819 }, + { x: 820, y: 820 }, + { x: 821, y: 821 }, + { x: 822, y: 822 }, + { x: 823, y: 823 }, + { x: 824, y: 824 }, + { x: 825, y: 825 }, + { x: 826, y: 826 }, + { x: 827, y: 827 }, + { x: 828, y: 828 }, + { x: 829, y: 829 }, + { x: 830, y: 830 }, + { x: 831, y: 831 }, + { x: 832, y: 832 }, + { x: 833, y: 833 }, + { x: 834, y: 834 }, + { x: 835, y: 835 }, + { x: 836, y: 836 }, + { x: 837, y: 837 }, + { x: 838, y: 838 }, + { x: 839, y: 839 }, + { x: 840, y: 840 }, + { x: 841, y: 841 }, + { x: 842, y: 842 }, + { x: 843, y: 843 }, + { x: 844, y: 844 }, + { x: 845, y: 845 }, + { x: 846, y: 846 }, + { x: 847, y: 847 }, + { x: 848, y: 848 }, + { x: 849, y: 849 }, + { x: 850, y: 850 }, + { x: 851, y: 851 }, + { x: 852, y: 852 }, + { x: 853, y: 853 }, + { x: 854, y: 854 }, + { x: 855, y: 855 }, + { x: 856, y: 856 }, + { x: 857, y: 857 }, + { x: 858, y: 858 }, + { x: 859, y: 859 }, + { x: 860, y: 860 }, + { x: 861, y: 861 }, + { x: 862, y: 862 }, + { x: 863, y: 863 }, + { x: 864, y: 864 }, + { x: 865, y: 865 }, + { x: 866, y: 866 }, + { x: 867, y: 867 }, + { x: 868, y: 868 }, + { x: 869, y: 869 }, + { x: 870, y: 870 }, + { x: 871, y: 871 }, + { x: 872, y: 872 }, + { x: 873, y: 873 }, + { x: 874, y: 874 }, + { x: 875, y: 875 }, + { x: 876, y: 876 }, + { x: 877, y: 877 }, + { x: 878, y: 878 }, + { x: 879, y: 879 }, + { x: 880, y: 880 }, + { x: 881, y: 881 }, + { x: 882, y: 882 }, + { x: 883, y: 883 }, + { x: 884, y: 884 }, + { x: 885, y: 885 }, + { x: 886, y: 886 }, + { x: 887, y: 887 }, + { x: 888, y: 888 }, + { x: 889, y: 889 }, + { x: 890, y: 890 }, + { x: 891, y: 891 }, + { x: 892, y: 892 }, + { x: 893, y: 893 }, + { x: 894, y: 894 }, + { x: 895, y: 895 }, + { x: 896, y: 896 }, + { x: 897, y: 897 }, + { x: 898, y: 898 }, + { x: 899, y: 899 }, + { x: 900, y: 900 }, + { x: 901, y: 901 }, + { x: 902, y: 902 }, + { x: 903, y: 903 }, + { x: 904, y: 904 }, + { x: 905, y: 905 }, + { x: 906, y: 906 }, + { x: 907, y: 907 }, + { x: 908, y: 908 }, + { x: 909, y: 909 }, + { x: 910, y: 910 }, + { x: 911, y: 911 }, + { x: 912, y: 912 }, + { x: 913, y: 913 }, + { x: 914, y: 914 }, + { x: 915, y: 915 }, + { x: 916, y: 916 }, + { x: 917, y: 917 }, + { x: 918, y: 918 }, + { x: 919, y: 919 }, + { x: 920, y: 920 }, + { x: 921, y: 921 }, + { x: 922, y: 922 }, + { x: 923, y: 923 }, + { x: 924, y: 924 }, + { x: 925, y: 925 }, + { x: 926, y: 926 }, + { x: 927, y: 927 }, + { x: 928, y: 928 }, + { x: 929, y: 929 }, + { x: 930, y: 930 }, + { x: 931, y: 931 }, + { x: 932, y: 932 }, + { x: 933, y: 933 }, + { x: 934, y: 934 }, + { x: 935, y: 935 }, + { x: 936, y: 936 }, + { x: 937, y: 937 }, + { x: 938, y: 938 }, + { x: 939, y: 939 }, + { x: 940, y: 940 }, + { x: 941, y: 941 }, + { x: 942, y: 942 }, + { x: 943, y: 943 }, + { x: 944, y: 944 }, + { x: 945, y: 945 }, + { x: 946, y: 946 }, + { x: 947, y: 947 }, + { x: 948, y: 948 }, + { x: 949, y: 949 }, + { x: 950, y: 950 }, + { x: 951, y: 951 }, + { x: 952, y: 952 }, + { x: 953, y: 953 }, + { x: 954, y: 954 }, + { x: 955, y: 955 }, + { x: 956, y: 956 }, + { x: 957, y: 957 }, + { x: 958, y: 958 }, + { x: 959, y: 959 }, + { x: 960, y: 960 }, + { x: 961, y: 961 }, + { x: 962, y: 962 }, + { x: 963, y: 963 }, + { x: 964, y: 964 }, + { x: 965, y: 965 }, + { x: 966, y: 966 }, + { x: 967, y: 967 }, + { x: 968, y: 968 }, + { x: 969, y: 969 }, + { x: 970, y: 970 }, + { x: 971, y: 971 }, + { x: 972, y: 972 }, + { x: 973, y: 973 }, + { x: 974, y: 974 }, + { x: 975, y: 975 }, + { x: 976, y: 976 }, + { x: 977, y: 977 }, + { x: 978, y: 978 }, + { x: 979, y: 979 }, + { x: 980, y: 980 }, + { x: 981, y: 981 }, + { x: 982, y: 982 }, + { x: 983, y: 983 }, + { x: 984, y: 984 }, + { x: 985, y: 985 }, + { x: 986, y: 986 }, + { x: 987, y: 987 }, + { x: 988, y: 988 }, + { x: 989, y: 989 }, + { x: 990, y: 990 }, + { x: 991, y: 991 }, + { x: 992, y: 992 }, + { x: 993, y: 993 }, + { x: 994, y: 994 }, + { x: 995, y: 995 }, + { x: 996, y: 996 }, + { x: 997, y: 997 }, + { x: 998, y: 998 }, + { x: 999, y: 999 }, + { x: 1000, y: 1000 }, + { x: 1001, y: 1001 }, + { x: 1002, y: 1002 }, + { x: 1003, y: 1003 }, + { x: 1004, y: 1004 }, + { x: 1005, y: 1005 }, + { x: 1006, y: 1006 }, + { x: 1007, y: 1007 }, + { x: 1008, y: 1008 }, + { x: 1009, y: 1009 }, + { x: 1010, y: 1010 }, + { x: 1011, y: 1011 }, + { x: 1012, y: 1012 }, + { x: 1013, y: 1013 }, + { x: 1014, y: 1014 }, + { x: 1015, y: 1015 }, + { x: 1016, y: 1016 }, + { x: 1017, y: 1017 }, + { x: 1018, y: 1018 }, + { x: 1019, y: 1019 }, + { x: 1020, y: 1020 }, + { x: 1021, y: 1021 }, + { x: 1022, y: 1022 }, + { x: 1023, y: 1023 }, + { x: 1024, y: 1024 }, + { x: 1025, y: 1025 }, + { x: 1026, y: 1026 }, + { x: 1027, y: 1027 }, + { x: 1028, y: 1028 }, + { x: 1029, y: 1029 }, + { x: 1030, y: 1030 }, + { x: 1031, y: 1031 }, + { x: 1032, y: 1032 }, + { x: 1033, y: 1033 }, + { x: 1034, y: 1034 }, + { x: 1035, y: 1035 }, + { x: 1036, y: 1036 }, + { x: 1037, y: 1037 }, + { x: 1038, y: 1038 }, + { x: 1039, y: 1039 }, + { x: 1040, y: 1040 }, + { x: 1041, y: 1041 }, + { x: 1042, y: 1042 }, + { x: 1043, y: 1043 }, + { x: 1044, y: 1044 }, + { x: 1045, y: 1045 }, + { x: 1046, y: 1046 }, + { x: 1047, y: 1047 }, + { x: 1048, y: 1048 }, + { x: 1049, y: 1049 }, + { x: 1050, y: 1050 }, + { x: 1051, y: 1051 }, + { x: 1052, y: 1052 }, + { x: 1053, y: 1053 }, + { x: 1054, y: 1054 }, + { x: 1055, y: 1055 }, + { x: 1056, y: 1056 }, + { x: 1057, y: 1057 }, + { x: 1058, y: 1058 }, + { x: 1059, y: 1059 }, + { x: 1060, y: 1060 }, + { x: 1061, y: 1061 }, + { x: 1062, y: 1062 }, + { x: 1063, y: 1063 }, + { x: 1064, y: 1064 }, + { x: 1065, y: 1065 }, + { x: 1066, y: 1066 }, + { x: 1067, y: 1067 }, + { x: 1068, y: 1068 }, + { x: 1069, y: 1069 }, + { x: 1070, y: 1070 }, + { x: 1071, y: 1071 }, + { x: 1072, y: 1072 }, + { x: 1073, y: 1073 }, + { x: 1074, y: 1074 }, + { x: 1075, y: 1075 }, + { x: 1076, y: 1076 }, + { x: 1077, y: 1077 }, + { x: 1078, y: 1078 }, + { x: 1079, y: 1079 }, + { x: 1080, y: 1080 }, + { x: 1081, y: 1081 }, + { x: 1082, y: 1082 }, + { x: 1083, y: 1083 }, + { x: 1084, y: 1084 }, + { x: 1085, y: 1085 }, + { x: 1086, y: 1086 }, + { x: 1087, y: 1087 }, + { x: 1088, y: 1088 }, + { x: 1089, y: 1089 }, + { x: 1090, y: 1090 }, + { x: 1091, y: 1091 }, + { x: 1092, y: 1092 }, + { x: 1093, y: 1093 }, + { x: 1094, y: 1094 }, + { x: 1095, y: 1095 }, + { x: 1096, y: 1096 }, + { x: 1097, y: 1097 }, + { x: 1098, y: 1098 }, + { x: 1099, y: 1099 }, + { x: 1100, y: 1100 }, + { x: 1101, y: 1101 }, + { x: 1102, y: 1102 }, + { x: 1103, y: 1103 }, + { x: 1104, y: 1104 }, + { x: 1105, y: 1105 }, + { x: 1106, y: 1106 }, + { x: 1107, y: 1107 }, + { x: 1108, y: 1108 }, + { x: 1109, y: 1109 }, + { x: 1110, y: 1110 }, + { x: 1111, y: 1111 }, + { x: 1112, y: 1112 }, + { x: 1113, y: 1113 }, + { x: 1114, y: 1114 }, + { x: 1115, y: 1115 }, + { x: 1116, y: 1116 }, + { x: 1117, y: 1117 }, + { x: 1118, y: 1118 }, + { x: 1119, y: 1119 }, + { x: 1120, y: 1120 }, + { x: 1121, y: 1121 }, + { x: 1122, y: 1122 }, + { x: 1123, y: 1123 }, + { x: 1124, y: 1124 }, + { x: 1125, y: 1125 }, + { x: 1126, y: 1126 }, + { x: 1127, y: 1127 }, + { x: 1128, y: 1128 }, + { x: 1129, y: 1129 }, + { x: 1130, y: 1130 }, + { x: 1131, y: 1131 }, + { x: 1132, y: 1132 }, + { x: 1133, y: 1133 }, + { x: 1134, y: 1134 }, + { x: 1135, y: 1135 }, + { x: 1136, y: 1136 }, + { x: 1137, y: 1137 }, + { x: 1138, y: 1138 }, + { x: 1139, y: 1139 }, + { x: 1140, y: 1140 }, + { x: 1141, y: 1141 }, + { x: 1142, y: 1142 }, + { x: 1143, y: 1143 }, + { x: 1144, y: 1144 }, + { x: 1145, y: 1145 }, + { x: 1146, y: 1146 }, + { x: 1147, y: 1147 }, + { x: 1148, y: 1148 }, + { x: 1149, y: 1149 }, + { x: 1150, y: 1150 }, + { x: 1151, y: 1151 }, + { x: 1152, y: 1152 }, + { x: 1153, y: 1153 }, + { x: 1154, y: 1154 }, + { x: 1155, y: 1155 }, + { x: 1156, y: 1156 }, + { x: 1157, y: 1157 }, + { x: 1158, y: 1158 }, + { x: 1159, y: 1159 }, + { x: 1160, y: 1160 }, + { x: 1161, y: 1161 }, + { x: 1162, y: 1162 }, + { x: 1163, y: 1163 }, + { x: 1164, y: 1164 }, + { x: 1165, y: 1165 }, + { x: 1166, y: 1166 }, + { x: 1167, y: 1167 }, + { x: 1168, y: 1168 }, + { x: 1169, y: 1169 }, + { x: 1170, y: 1170 }, + { x: 1171, y: 1171 }, + { x: 1172, y: 1172 }, + { x: 1173, y: 1173 }, + { x: 1174, y: 1174 }, + { x: 1175, y: 1175 }, + { x: 1176, y: 1176 }, + { x: 1177, y: 1177 }, + { x: 1178, y: 1178 }, + { x: 1179, y: 1179 }, + { x: 1180, y: 1180 }, + { x: 1181, y: 1181 }, + { x: 1182, y: 1182 }, + { x: 1183, y: 1183 }, + { x: 1184, y: 1184 }, + { x: 1185, y: 1185 }, + { x: 1186, y: 1186 }, + { x: 1187, y: 1187 }, + { x: 1188, y: 1188 }, + { x: 1189, y: 1189 }, + { x: 1190, y: 1190 }, + { x: 1191, y: 1191 }, + { x: 1192, y: 1192 }, + { x: 1193, y: 1193 }, + { x: 1194, y: 1194 }, + { x: 1195, y: 1195 }, + { x: 1196, y: 1196 }, + { x: 1197, y: 1197 }, + { x: 1198, y: 1198 }, + { x: 1199, y: 1199 }, + { x: 1200, y: 1200 }, + { x: 1201, y: 1201 }, + { x: 1202, y: 1202 }, + { x: 1203, y: 1203 }, + { x: 1204, y: 1204 }, + { x: 1205, y: 1205 }, + { x: 1206, y: 1206 }, + { x: 1207, y: 1207 }, + { x: 1208, y: 1208 }, + { x: 1209, y: 1209 }, + { x: 1210, y: 1210 }, + { x: 1211, y: 1211 }, + { x: 1212, y: 1212 }, + { x: 1213, y: 1213 }, + { x: 1214, y: 1214 }, + { x: 1215, y: 1215 }, + { x: 1216, y: 1216 }, + { x: 1217, y: 1217 }, + { x: 1218, y: 1218 }, + { x: 1219, y: 1219 }, + { x: 1220, y: 1220 }, + { x: 1221, y: 1221 }, + { x: 1222, y: 1222 }, + { x: 1223, y: 1223 }, + { x: 1224, y: 1224 }, + { x: 1225, y: 1225 }, + { x: 1226, y: 1226 }, + { x: 1227, y: 1227 }, + { x: 1228, y: 1228 }, + { x: 1229, y: 1229 }, + { x: 1230, y: 1230 }, + { x: 1231, y: 1231 }, + { x: 1232, y: 1232 }, + { x: 1233, y: 1233 }, + { x: 1234, y: 1234 }, + { x: 1235, y: 1235 }, + { x: 1236, y: 1236 }, + { x: 1237, y: 1237 }, + { x: 1238, y: 1238 }, + { x: 1239, y: 1239 }, + { x: 1240, y: 1240 }, + { x: 1241, y: 1241 }, + { x: 1242, y: 1242 }, + { x: 1243, y: 1243 }, + { x: 1244, y: 1244 }, + { x: 1245, y: 1245 }, + { x: 1246, y: 1246 }, + { x: 1247, y: 1247 }, + { x: 1248, y: 1248 }, + { x: 1249, y: 1249 }, + { x: 1250, y: 1250 }, + { x: 1251, y: 1251 }, + { x: 1252, y: 1252 }, + { x: 1253, y: 1253 }, + { x: 1254, y: 1254 }, + { x: 1255, y: 1255 }, + { x: 1256, y: 1256 }, + { x: 1257, y: 1257 }, + { x: 1258, y: 1258 }, + { x: 1259, y: 1259 }, + { x: 1260, y: 1260 }, + { x: 1261, y: 1261 }, + { x: 1262, y: 1262 }, + { x: 1263, y: 1263 }, + { x: 1264, y: 1264 }, + { x: 1265, y: 1265 }, + { x: 1266, y: 1266 }, + { x: 1267, y: 1267 }, + { x: 1268, y: 1268 }, + { x: 1269, y: 1269 }, + { x: 1270, y: 1270 }, + { x: 1271, y: 1271 }, + { x: 1272, y: 1272 }, + { x: 1273, y: 1273 }, + { x: 1274, y: 1274 }, + { x: 1275, y: 1275 }, + { x: 1276, y: 1276 }, + { x: 1277, y: 1277 }, + { x: 1278, y: 1278 }, + { x: 1279, y: 1279 }, + { x: 1280, y: 1280 }, + { x: 1281, y: 1281 }, + { x: 1282, y: 1282 }, + { x: 1283, y: 1283 }, + { x: 1284, y: 1284 }, + { x: 1285, y: 1285 }, + { x: 1286, y: 1286 }, + { x: 1287, y: 1287 }, + { x: 1288, y: 1288 }, + { x: 1289, y: 1289 }, + { x: 1290, y: 1290 }, + { x: 1291, y: 1291 }, + { x: 1292, y: 1292 }, + { x: 1293, y: 1293 }, + { x: 1294, y: 1294 }, + { x: 1295, y: 1295 }, + { x: 1296, y: 1296 }, + { x: 1297, y: 1297 }, + { x: 1298, y: 1298 }, + { x: 1299, y: 1299 }, + { x: 1300, y: 1300 }, + { x: 1301, y: 1301 }, + { x: 1302, y: 1302 }, + { x: 1303, y: 1303 }, + { x: 1304, y: 1304 }, + { x: 1305, y: 1305 }, + { x: 1306, y: 1306 }, + { x: 1307, y: 1307 }, + { x: 1308, y: 1308 }, + { x: 1309, y: 1309 }, + { x: 1310, y: 1310 }, + { x: 1311, y: 1311 }, + { x: 1312, y: 1312 }, + { x: 1313, y: 1313 }, + { x: 1314, y: 1314 }, + { x: 1315, y: 1315 }, + { x: 1316, y: 1316 }, + { x: 1317, y: 1317 }, + { x: 1318, y: 1318 }, + { x: 1319, y: 1319 }, + { x: 1320, y: 1320 }, + { x: 1321, y: 1321 }, + { x: 1322, y: 1322 }, + { x: 1323, y: 1323 }, + { x: 1324, y: 1324 }, + { x: 1325, y: 1325 }, + { x: 1326, y: 1326 }, + { x: 1327, y: 1327 }, + { x: 1328, y: 1328 }, + { x: 1329, y: 1329 }, + { x: 1330, y: 1330 }, + { x: 1331, y: 1331 }, + { x: 1332, y: 1332 }, + { x: 1333, y: 1333 }, + { x: 1334, y: 1334 }, + { x: 1335, y: 1335 }, + { x: 1336, y: 1336 }, + { x: 1337, y: 1337 }, + { x: 1338, y: 1338 }, + { x: 1339, y: 1339 }, + { x: 1340, y: 1340 }, + { x: 1341, y: 1341 }, + { x: 1342, y: 1342 }, + { x: 1343, y: 1343 }, + { x: 1344, y: 1344 }, + { x: 1345, y: 1345 }, + { x: 1346, y: 1346 }, + { x: 1347, y: 1347 }, + { x: 1348, y: 1348 }, + { x: 1349, y: 1349 }, + { x: 1350, y: 1350 }, + { x: 1351, y: 1351 }, + { x: 1352, y: 1352 }, + { x: 1353, y: 1353 }, + { x: 1354, y: 1354 }, + { x: 1355, y: 1355 }, + { x: 1356, y: 1356 }, + { x: 1357, y: 1357 }, + { x: 1358, y: 1358 }, + { x: 1359, y: 1359 }, + { x: 1360, y: 1360 }, + { x: 1361, y: 1361 }, + { x: 1362, y: 1362 }, + { x: 1363, y: 1363 }, + { x: 1364, y: 1364 }, + { x: 1365, y: 1365 }, + { x: 1366, y: 1366 }, + { x: 1367, y: 1367 }, + { x: 1368, y: 1368 }, + { x: 1369, y: 1369 }, + { x: 1370, y: 1370 }, + { x: 1371, y: 1371 }, + { x: 1372, y: 1372 }, + { x: 1373, y: 1373 }, + { x: 1374, y: 1374 }, + { x: 1375, y: 1375 }, + { x: 1376, y: 1376 }, + { x: 1377, y: 1377 }, + { x: 1378, y: 1378 }, + { x: 1379, y: 1379 }, + { x: 1380, y: 1380 }, + { x: 1381, y: 1381 }, + { x: 1382, y: 1382 }, + { x: 1383, y: 1383 }, + { x: 1384, y: 1384 }, + { x: 1385, y: 1385 }, + { x: 1386, y: 1386 }, + { x: 1387, y: 1387 }, + { x: 1388, y: 1388 }, + { x: 1389, y: 1389 }, + { x: 1390, y: 1390 }, + { x: 1391, y: 1391 }, + { x: 1392, y: 1392 }, + { x: 1393, y: 1393 }, + { x: 1394, y: 1394 }, + { x: 1395, y: 1395 }, + { x: 1396, y: 1396 }, + { x: 1397, y: 1397 }, + { x: 1398, y: 1398 }, + { x: 1399, y: 1399 }, + { x: 1400, y: 1400 }, + { x: 1401, y: 1401 }, + { x: 1402, y: 1402 }, + { x: 1403, y: 1403 }, + { x: 1404, y: 1404 }, + { x: 1405, y: 1405 }, + { x: 1406, y: 1406 }, + { x: 1407, y: 1407 }, + { x: 1408, y: 1408 }, + { x: 1409, y: 1409 }, + { x: 1410, y: 1410 }, + { x: 1411, y: 1411 }, + { x: 1412, y: 1412 }, + { x: 1413, y: 1413 }, + { x: 1414, y: 1414 }, + { x: 1415, y: 1415 }, + { x: 1416, y: 1416 }, + { x: 1417, y: 1417 }, + { x: 1418, y: 1418 }, + { x: 1419, y: 1419 }, + { x: 1420, y: 1420 }, + { x: 1421, y: 1421 }, + { x: 1422, y: 1422 }, + { x: 1423, y: 1423 }, + { x: 1424, y: 1424 }, + { x: 1425, y: 1425 }, + { x: 1426, y: 1426 }, + { x: 1427, y: 1427 }, + { x: 1428, y: 1428 }, + { x: 1429, y: 1429 }, + { x: 1430, y: 1430 }, + { x: 1431, y: 1431 }, + { x: 1432, y: 1432 }, + { x: 1433, y: 1433 }, + { x: 1434, y: 1434 }, + { x: 1435, y: 1435 }, + { x: 1436, y: 1436 }, + { x: 1437, y: 1437 }, + { x: 1438, y: 1438 }, + { x: 1439, y: 1439 }, + { x: 1440, y: 1440 }, + { x: 1441, y: 1441 }, + { x: 1442, y: 1442 }, + { x: 1443, y: 1443 }, + { x: 1444, y: 1444 }, + { x: 1445, y: 1445 }, + { x: 1446, y: 1446 }, + { x: 1447, y: 1447 }, + { x: 1448, y: 1448 }, + { x: 1449, y: 1449 }, + { x: 1450, y: 1450 }, + { x: 1451, y: 1451 }, + { x: 1452, y: 1452 }, + { x: 1453, y: 1453 }, + { x: 1454, y: 1454 }, + { x: 1455, y: 1455 }, + { x: 1456, y: 1456 }, + { x: 1457, y: 1457 }, + { x: 1458, y: 1458 }, + { x: 1459, y: 1459 }, + { x: 1460, y: 1460 }, + { x: 1461, y: 1461 }, + { x: 1462, y: 1462 }, + { x: 1463, y: 1463 }, + { x: 1464, y: 1464 }, + { x: 1465, y: 1465 }, + { x: 1466, y: 1466 }, + { x: 1467, y: 1467 }, + { x: 1468, y: 1468 }, + { x: 1469, y: 1469 }, + { x: 1470, y: 1470 }, + { x: 1471, y: 1471 }, + { x: 1472, y: 1472 }, + { x: 1473, y: 1473 }, + { x: 1474, y: 1474 }, + { x: 1475, y: 1475 }, + { x: 1476, y: 1476 }, + { x: 1477, y: 1477 }, + { x: 1478, y: 1478 }, + { x: 1479, y: 1479 }, + { x: 1480, y: 1480 }, + { x: 1481, y: 1481 }, + { x: 1482, y: 1482 }, + { x: 1483, y: 1483 }, + { x: 1484, y: 1484 }, + { x: 1485, y: 1485 }, + { x: 1486, y: 1486 }, + { x: 1487, y: 1487 }, + { x: 1488, y: 1488 }, + { x: 1489, y: 1489 }, + { x: 1490, y: 1490 }, + { x: 1491, y: 1491 }, + { x: 1492, y: 1492 }, + { x: 1493, y: 1493 }, + { x: 1494, y: 1494 }, + { x: 1495, y: 1495 }, + { x: 1496, y: 1496 }, + { x: 1497, y: 1497 }, + { x: 1498, y: 1498 }, + { x: 1499, y: 1499 }, + { x: 1500, y: 1500 }, + { x: 1501, y: 1501 }, + { x: 1502, y: 1502 }, + { x: 1503, y: 1503 }, + { x: 1504, y: 1504 }, + { x: 1505, y: 1505 }, + { x: 1506, y: 1506 }, + { x: 1507, y: 1507 }, + { x: 1508, y: 1508 }, + { x: 1509, y: 1509 }, + { x: 1510, y: 1510 }, + { x: 1511, y: 1511 }, + { x: 1512, y: 1512 }, + { x: 1513, y: 1513 }, + { x: 1514, y: 1514 }, + { x: 1515, y: 1515 }, + { x: 1516, y: 1516 }, + { x: 1517, y: 1517 }, + { x: 1518, y: 1518 }, + { x: 1519, y: 1519 }, + { x: 1520, y: 1520 }, + { x: 1521, y: 1521 }, + { x: 1522, y: 1522 }, + { x: 1523, y: 1523 }, + { x: 1524, y: 1524 }, + { x: 1525, y: 1525 }, + { x: 1526, y: 1526 }, + { x: 1527, y: 1527 }, + { x: 1528, y: 1528 }, + { x: 1529, y: 1529 }, + { x: 1530, y: 1530 }, + { x: 1531, y: 1531 }, + { x: 1532, y: 1532 }, + { x: 1533, y: 1533 }, + { x: 1534, y: 1534 }, + { x: 1535, y: 1535 }, + { x: 1536, y: 1536 }, + { x: 1537, y: 1537 }, + { x: 1538, y: 1538 }, + { x: 1539, y: 1539 }, + { x: 1540, y: 1540 }, + { x: 1541, y: 1541 }, + { x: 1542, y: 1542 }, + { x: 1543, y: 1543 }, + { x: 1544, y: 1544 }, + { x: 1545, y: 1545 }, + { x: 1546, y: 1546 }, + { x: 1547, y: 1547 }, + { x: 1548, y: 1548 }, + { x: 1549, y: 1549 }, + { x: 1550, y: 1550 }, + { x: 1551, y: 1551 }, + { x: 1552, y: 1552 }, + { x: 1553, y: 1553 }, + { x: 1554, y: 1554 }, + { x: 1555, y: 1555 }, + { x: 1556, y: 1556 }, + { x: 1557, y: 1557 }, + { x: 1558, y: 1558 }, + { x: 1559, y: 1559 }, + { x: 1560, y: 1560 }, + { x: 1561, y: 1561 }, + { x: 1562, y: 1562 }, + { x: 1563, y: 1563 }, + { x: 1564, y: 1564 }, + { x: 1565, y: 1565 }, + { x: 1566, y: 1566 }, + { x: 1567, y: 1567 }, + { x: 1568, y: 1568 }, + { x: 1569, y: 1569 }, + { x: 1570, y: 1570 }, + { x: 1571, y: 1571 }, + { x: 1572, y: 1572 }, + { x: 1573, y: 1573 }, + { x: 1574, y: 1574 }, + { x: 1575, y: 1575 }, + { x: 1576, y: 1576 }, + { x: 1577, y: 1577 }, + { x: 1578, y: 1578 }, + { x: 1579, y: 1579 }, + { x: 1580, y: 1580 }, + { x: 1581, y: 1581 }, + { x: 1582, y: 1582 }, + { x: 1583, y: 1583 }, + { x: 1584, y: 1584 }, + { x: 1585, y: 1585 }, + { x: 1586, y: 1586 }, + { x: 1587, y: 1587 }, + { x: 1588, y: 1588 }, + { x: 1589, y: 1589 }, + { x: 1590, y: 1590 }, + { x: 1591, y: 1591 }, + { x: 1592, y: 1592 }, + { x: 1593, y: 1593 }, + { x: 1594, y: 1594 }, + { x: 1595, y: 1595 }, + { x: 1596, y: 1596 }, + { x: 1597, y: 1597 }, + { x: 1598, y: 1598 }, + { x: 1599, y: 1599 }, + { x: 1600, y: 1600 }, + { x: 1601, y: 1601 }, + { x: 1602, y: 1602 }, + { x: 1603, y: 1603 }, + { x: 1604, y: 1604 }, + { x: 1605, y: 1605 }, + { x: 1606, y: 1606 }, + { x: 1607, y: 1607 }, + { x: 1608, y: 1608 }, + { x: 1609, y: 1609 }, + { x: 1610, y: 1610 }, + { x: 1611, y: 1611 }, + { x: 1612, y: 1612 }, + { x: 1613, y: 1613 }, + { x: 1614, y: 1614 }, + { x: 1615, y: 1615 }, + { x: 1616, y: 1616 }, + { x: 1617, y: 1617 }, + { x: 1618, y: 1618 }, + { x: 1619, y: 1619 }, + { x: 1620, y: 1620 }, + { x: 1621, y: 1621 }, + { x: 1622, y: 1622 }, + { x: 1623, y: 1623 }, + { x: 1624, y: 1624 }, + { x: 1625, y: 1625 }, + { x: 1626, y: 1626 }, + { x: 1627, y: 1627 }, + { x: 1628, y: 1628 }, + { x: 1629, y: 1629 }, + { x: 1630, y: 1630 }, + { x: 1631, y: 1631 }, + { x: 1632, y: 1632 }, + { x: 1633, y: 1633 }, + { x: 1634, y: 1634 }, + { x: 1635, y: 1635 }, + { x: 1636, y: 1636 }, + { x: 1637, y: 1637 }, + { x: 1638, y: 1638 }, + { x: 1639, y: 1639 }, + { x: 1640, y: 1640 }, + { x: 1641, y: 1641 }, + { x: 1642, y: 1642 }, + { x: 1643, y: 1643 }, + { x: 1644, y: 1644 }, + { x: 1645, y: 1645 }, + { x: 1646, y: 1646 }, + { x: 1647, y: 1647 }, + { x: 1648, y: 1648 }, + { x: 1649, y: 1649 }, + { x: 1650, y: 1650 }, + { x: 1651, y: 1651 }, + { x: 1652, y: 1652 }, + { x: 1653, y: 1653 }, + { x: 1654, y: 1654 }, + { x: 1655, y: 1655 }, + { x: 1656, y: 1656 }, + { x: 1657, y: 1657 }, + { x: 1658, y: 1658 }, + { x: 1659, y: 1659 }, + { x: 1660, y: 1660 }, + { x: 1661, y: 1661 }, + { x: 1662, y: 1662 }, + { x: 1663, y: 1663 }, + { x: 1664, y: 1664 }, + { x: 1665, y: 1665 }, + { x: 1666, y: 1666 }, + { x: 1667, y: 1667 }, + { x: 1668, y: 1668 }, + { x: 1669, y: 1669 }, + { x: 1670, y: 1670 }, + { x: 1671, y: 1671 }, + { x: 1672, y: 1672 }, + { x: 1673, y: 1673 }, + { x: 1674, y: 1674 }, + { x: 1675, y: 1675 }, + { x: 1676, y: 1676 }, + { x: 1677, y: 1677 }, + { x: 1678, y: 1678 }, + { x: 1679, y: 1679 }, + { x: 1680, y: 1680 }, + { x: 1681, y: 1681 }, + { x: 1682, y: 1682 }, + { x: 1683, y: 1683 }, + { x: 1684, y: 1684 }, + { x: 1685, y: 1685 }, + { x: 1686, y: 1686 }, + { x: 1687, y: 1687 }, + { x: 1688, y: 1688 }, + { x: 1689, y: 1689 }, + { x: 1690, y: 1690 }, + { x: 1691, y: 1691 }, + { x: 1692, y: 1692 }, + { x: 1693, y: 1693 }, + { x: 1694, y: 1694 }, + { x: 1695, y: 1695 }, + { x: 1696, y: 1696 }, + { x: 1697, y: 1697 }, + { x: 1698, y: 1698 }, + { x: 1699, y: 1699 }, + { x: 1700, y: 1700 }, + { x: 1701, y: 1701 }, + { x: 1702, y: 1702 }, + { x: 1703, y: 1703 }, + { x: 1704, y: 1704 }, + { x: 1705, y: 1705 }, + { x: 1706, y: 1706 }, + { x: 1707, y: 1707 }, + { x: 1708, y: 1708 }, + { x: 1709, y: 1709 }, + { x: 1710, y: 1710 }, + { x: 1711, y: 1711 }, + { x: 1712, y: 1712 }, + { x: 1713, y: 1713 }, + { x: 1714, y: 1714 }, + { x: 1715, y: 1715 }, + { x: 1716, y: 1716 }, + { x: 1717, y: 1717 }, + { x: 1718, y: 1718 }, + { x: 1719, y: 1719 }, + { x: 1720, y: 1720 }, + { x: 1721, y: 1721 }, + { x: 1722, y: 1722 }, + { x: 1723, y: 1723 }, + { x: 1724, y: 1724 }, + { x: 1725, y: 1725 }, + { x: 1726, y: 1726 }, + { x: 1727, y: 1727 }, + { x: 1728, y: 1728 }, + { x: 1729, y: 1729 }, + { x: 1730, y: 1730 }, + { x: 1731, y: 1731 }, + { x: 1732, y: 1732 }, + { x: 1733, y: 1733 }, + { x: 1734, y: 1734 }, + { x: 1735, y: 1735 }, + { x: 1736, y: 1736 }, + { x: 1737, y: 1737 }, + { x: 1738, y: 1738 }, + { x: 1739, y: 1739 }, + { x: 1740, y: 1740 }, + { x: 1741, y: 1741 }, + { x: 1742, y: 1742 }, + { x: 1743, y: 1743 }, + { x: 1744, y: 1744 }, + { x: 1745, y: 1745 }, + { x: 1746, y: 1746 }, + { x: 1747, y: 1747 }, + { x: 1748, y: 1748 }, + { x: 1749, y: 1749 }, + { x: 1750, y: 1750 }, + { x: 1751, y: 1751 }, + { x: 1752, y: 1752 }, + { x: 1753, y: 1753 }, + { x: 1754, y: 1754 }, + { x: 1755, y: 1755 }, + { x: 1756, y: 1756 }, + { x: 1757, y: 1757 }, + { x: 1758, y: 1758 }, + { x: 1759, y: 1759 }, + { x: 1760, y: 1760 }, + { x: 1761, y: 1761 }, + { x: 1762, y: 1762 }, + { x: 1763, y: 1763 }, + { x: 1764, y: 1764 }, + { x: 1765, y: 1765 }, + { x: 1766, y: 1766 }, + { x: 1767, y: 1767 }, + { x: 1768, y: 1768 }, + { x: 1769, y: 1769 }, + { x: 1770, y: 1770 }, + { x: 1771, y: 1771 }, + { x: 1772, y: 1772 }, + { x: 1773, y: 1773 }, + { x: 1774, y: 1774 }, + { x: 1775, y: 1775 }, + { x: 1776, y: 1776 }, + { x: 1777, y: 1777 }, + { x: 1778, y: 1778 }, + { x: 1779, y: 1779 }, + { x: 1780, y: 1780 }, + { x: 1781, y: 1781 }, + { x: 1782, y: 1782 }, + { x: 1783, y: 1783 }, + { x: 1784, y: 1784 }, + { x: 1785, y: 1785 }, + { x: 1786, y: 1786 }, + { x: 1787, y: 1787 }, + { x: 1788, y: 1788 }, + { x: 1789, y: 1789 }, + { x: 1790, y: 1790 }, + { x: 1791, y: 1791 }, + { x: 1792, y: 1792 }, + { x: 1793, y: 1793 }, + { x: 1794, y: 1794 }, + { x: 1795, y: 1795 }, + { x: 1796, y: 1796 }, + { x: 1797, y: 1797 }, + { x: 1798, y: 1798 }, + { x: 1799, y: 1799 }, + { x: 1800, y: 1800 }, + { x: 1801, y: 1801 }, + { x: 1802, y: 1802 }, + { x: 1803, y: 1803 }, + { x: 1804, y: 1804 }, + { x: 1805, y: 1805 }, + { x: 1806, y: 1806 }, + { x: 1807, y: 1807 }, + { x: 1808, y: 1808 }, + { x: 1809, y: 1809 }, + { x: 1810, y: 1810 }, + { x: 1811, y: 1811 }, + { x: 1812, y: 1812 }, + { x: 1813, y: 1813 }, + { x: 1814, y: 1814 }, + { x: 1815, y: 1815 }, + { x: 1816, y: 1816 }, + { x: 1817, y: 1817 }, + { x: 1818, y: 1818 }, + { x: 1819, y: 1819 }, + { x: 1820, y: 1820 }, + { x: 1821, y: 1821 }, + { x: 1822, y: 1822 }, + { x: 1823, y: 1823 }, + { x: 1824, y: 1824 }, + { x: 1825, y: 1825 }, + { x: 1826, y: 1826 }, + { x: 1827, y: 1827 }, + { x: 1828, y: 1828 }, + { x: 1829, y: 1829 }, + { x: 1830, y: 1830 }, + { x: 1831, y: 1831 }, + { x: 1832, y: 1832 }, + { x: 1833, y: 1833 }, + { x: 1834, y: 1834 }, + { x: 1835, y: 1835 }, + { x: 1836, y: 1836 }, + { x: 1837, y: 1837 }, + { x: 1838, y: 1838 }, + { x: 1839, y: 1839 }, + { x: 1840, y: 1840 }, + { x: 1841, y: 1841 }, + { x: 1842, y: 1842 }, + { x: 1843, y: 1843 }, + { x: 1844, y: 1844 }, + { x: 1845, y: 1845 }, + { x: 1846, y: 1846 }, + { x: 1847, y: 1847 }, + { x: 1848, y: 1848 }, + { x: 1849, y: 1849 }, + { x: 1850, y: 1850 }, + { x: 1851, y: 1851 }, + { x: 1852, y: 1852 }, + { x: 1853, y: 1853 }, + { x: 1854, y: 1854 }, + { x: 1855, y: 1855 }, + { x: 1856, y: 1856 }, + { x: 1857, y: 1857 }, + { x: 1858, y: 1858 }, + { x: 1859, y: 1859 }, + { x: 1860, y: 1860 }, + { x: 1861, y: 1861 }, + { x: 1862, y: 1862 }, + { x: 1863, y: 1863 }, + { x: 1864, y: 1864 }, + { x: 1865, y: 1865 }, + { x: 1866, y: 1866 }, + { x: 1867, y: 1867 }, + { x: 1868, y: 1868 }, + { x: 1869, y: 1869 }, + { x: 1870, y: 1870 }, + { x: 1871, y: 1871 }, + { x: 1872, y: 1872 }, + { x: 1873, y: 1873 }, + { x: 1874, y: 1874 }, + { x: 1875, y: 1875 }, + { x: 1876, y: 1876 }, + { x: 1877, y: 1877 }, + { x: 1878, y: 1878 }, + { x: 1879, y: 1879 }, + { x: 1880, y: 1880 }, + { x: 1881, y: 1881 }, + { x: 1882, y: 1882 }, + { x: 1883, y: 1883 }, + { x: 1884, y: 1884 }, + { x: 1885, y: 1885 }, + { x: 1886, y: 1886 }, + { x: 1887, y: 1887 }, + { x: 1888, y: 1888 }, + { x: 1889, y: 1889 }, + { x: 1890, y: 1890 }, + { x: 1891, y: 1891 }, + { x: 1892, y: 1892 }, + { x: 1893, y: 1893 }, + { x: 1894, y: 1894 }, + { x: 1895, y: 1895 }, + { x: 1896, y: 1896 }, + { x: 1897, y: 1897 }, + { x: 1898, y: 1898 }, + { x: 1899, y: 1899 }, + { x: 1900, y: 1900 }, + { x: 1901, y: 1901 }, + { x: 1902, y: 1902 }, + { x: 1903, y: 1903 }, + { x: 1904, y: 1904 }, + { x: 1905, y: 1905 }, + { x: 1906, y: 1906 }, + { x: 1907, y: 1907 }, + { x: 1908, y: 1908 }, + { x: 1909, y: 1909 }, + { x: 1910, y: 1910 }, + { x: 1911, y: 1911 }, + { x: 1912, y: 1912 }, + { x: 1913, y: 1913 }, + { x: 1914, y: 1914 }, + { x: 1915, y: 1915 }, + { x: 1916, y: 1916 }, + { x: 1917, y: 1917 }, + { x: 1918, y: 1918 }, + { x: 1919, y: 1919 }, + { x: 1920, y: 1920 }, + { x: 1921, y: 1921 }, + { x: 1922, y: 1922 }, + { x: 1923, y: 1923 }, + { x: 1924, y: 1924 }, + { x: 1925, y: 1925 }, + { x: 1926, y: 1926 }, + { x: 1927, y: 1927 }, + { x: 1928, y: 1928 }, + { x: 1929, y: 1929 }, + { x: 1930, y: 1930 }, + { x: 1931, y: 1931 }, + { x: 1932, y: 1932 }, + { x: 1933, y: 1933 }, + { x: 1934, y: 1934 }, + { x: 1935, y: 1935 }, + { x: 1936, y: 1936 }, + { x: 1937, y: 1937 }, + { x: 1938, y: 1938 }, + { x: 1939, y: 1939 }, + { x: 1940, y: 1940 }, + { x: 1941, y: 1941 }, + { x: 1942, y: 1942 }, + { x: 1943, y: 1943 }, + { x: 1944, y: 1944 }, + { x: 1945, y: 1945 }, + { x: 1946, y: 1946 }, + { x: 1947, y: 1947 }, + { x: 1948, y: 1948 }, + { x: 1949, y: 1949 }, + { x: 1950, y: 1950 }, + { x: 1951, y: 1951 }, + { x: 1952, y: 1952 }, + { x: 1953, y: 1953 }, + { x: 1954, y: 1954 }, + { x: 1955, y: 1955 }, + { x: 1956, y: 1956 }, + { x: 1957, y: 1957 }, + { x: 1958, y: 1958 }, + { x: 1959, y: 1959 }, + { x: 1960, y: 1960 }, + { x: 1961, y: 1961 }, + { x: 1962, y: 1962 }, + { x: 1963, y: 1963 }, + { x: 1964, y: 1964 }, + { x: 1965, y: 1965 }, + { x: 1966, y: 1966 }, + { x: 1967, y: 1967 }, + { x: 1968, y: 1968 }, + { x: 1969, y: 1969 }, + { x: 1970, y: 1970 }, + { x: 1971, y: 1971 }, + { x: 1972, y: 1972 }, + { x: 1973, y: 1973 }, + { x: 1974, y: 1974 }, + { x: 1975, y: 1975 }, + { x: 1976, y: 1976 }, + { x: 1977, y: 1977 }, + { x: 1978, y: 1978 }, + { x: 1979, y: 1979 }, + { x: 1980, y: 1980 }, + { x: 1981, y: 1981 }, + { x: 1982, y: 1982 }, + { x: 1983, y: 1983 }, + { x: 1984, y: 1984 }, + { x: 1985, y: 1985 }, + { x: 1986, y: 1986 }, + { x: 1987, y: 1987 }, + { x: 1988, y: 1988 }, + { x: 1989, y: 1989 }, + { x: 1990, y: 1990 }, + { x: 1991, y: 1991 }, + { x: 1992, y: 1992 }, + { x: 1993, y: 1993 }, + { x: 1994, y: 1994 }, + { x: 1995, y: 1995 }, + { x: 1996, y: 1996 }, + { x: 1997, y: 1997 }, + { x: 1998, y: 1998 }, + { x: 1999, y: 1999 }, + { x: 2000, y: 2000 }, + { x: 2001, y: 2001 }, + { x: 2002, y: 2002 }, + { x: 2003, y: 2003 }, + { x: 2004, y: 2004 }, + { x: 2005, y: 2005 }, + { x: 2006, y: 2006 }, + { x: 2007, y: 2007 }, + { x: 2008, y: 2008 }, + { x: 2009, y: 2009 }, + { x: 2010, y: 2010 }, + { x: 2011, y: 2011 }, + { x: 2012, y: 2012 }, + { x: 2013, y: 2013 }, + { x: 2014, y: 2014 }, + { x: 2015, y: 2015 }, + { x: 2016, y: 2016 }, + { x: 2017, y: 2017 }, + { x: 2018, y: 2018 }, + { x: 2019, y: 2019 }, + { x: 2020, y: 2020 }, + { x: 2021, y: 2021 }, + { x: 2022, y: 2022 }, + { x: 2023, y: 2023 }, + { x: 2024, y: 2024 }, + { x: 2025, y: 2025 }, + { x: 2026, y: 2026 }, + { x: 2027, y: 2027 }, + { x: 2028, y: 2028 }, + { x: 2029, y: 2029 }, + { x: 2030, y: 2030 }, + { x: 2031, y: 2031 }, + { x: 2032, y: 2032 }, + { x: 2033, y: 2033 }, + { x: 2034, y: 2034 }, + { x: 2035, y: 2035 }, + { x: 2036, y: 2036 }, + { x: 2037, y: 2037 }, + { x: 2038, y: 2038 }, + { x: 2039, y: 2039 }, + { x: 2040, y: 2040 }, + { x: 2041, y: 2041 }, + { x: 2042, y: 2042 }, + { x: 2043, y: 2043 }, + { x: 2044, y: 2044 }, + { x: 2045, y: 2045 }, + { x: 2046, y: 2046 }, + { x: 2047, y: 2047 }, + { x: 2048, y: 2048 }, + { x: 2049, y: 2049 }, + { x: 2050, y: 2050 }, + { x: 2051, y: 2051 }, + { x: 2052, y: 2052 }, + { x: 2053, y: 2053 }, + { x: 2054, y: 2054 }, + { x: 2055, y: 2055 }, + { x: 2056, y: 2056 }, + { x: 2057, y: 2057 }, + { x: 2058, y: 2058 }, + { x: 2059, y: 2059 }, + { x: 2060, y: 2060 }, + { x: 2061, y: 2061 }, + { x: 2062, y: 2062 }, + { x: 2063, y: 2063 }, + { x: 2064, y: 2064 }, + { x: 2065, y: 2065 }, + { x: 2066, y: 2066 }, + { x: 2067, y: 2067 }, + { x: 2068, y: 2068 }, + { x: 2069, y: 2069 }, + { x: 2070, y: 2070 }, + { x: 2071, y: 2071 }, + { x: 2072, y: 2072 }, + { x: 2073, y: 2073 }, + { x: 2074, y: 2074 }, + { x: 2075, y: 2075 }, + { x: 2076, y: 2076 }, + { x: 2077, y: 2077 }, + { x: 2078, y: 2078 }, + { x: 2079, y: 2079 }, + { x: 2080, y: 2080 }, + { x: 2081, y: 2081 }, + { x: 2082, y: 2082 }, + { x: 2083, y: 2083 }, + { x: 2084, y: 2084 }, + { x: 2085, y: 2085 }, + { x: 2086, y: 2086 }, + { x: 2087, y: 2087 }, + { x: 2088, y: 2088 }, + { x: 2089, y: 2089 }, + { x: 2090, y: 2090 }, + { x: 2091, y: 2091 }, + { x: 2092, y: 2092 }, + { x: 2093, y: 2093 }, + { x: 2094, y: 2094 }, + { x: 2095, y: 2095 }, + { x: 2096, y: 2096 }, + { x: 2097, y: 2097 }, + { x: 2098, y: 2098 }, + { x: 2099, y: 2099 }, + { x: 2100, y: 2100 }, + { x: 2101, y: 2101 }, + { x: 2102, y: 2102 }, + { x: 2103, y: 2103 }, + { x: 2104, y: 2104 }, + { x: 2105, y: 2105 }, + { x: 2106, y: 2106 }, + { x: 2107, y: 2107 }, + { x: 2108, y: 2108 }, + { x: 2109, y: 2109 }, + { x: 2110, y: 2110 }, + { x: 2111, y: 2111 }, + { x: 2112, y: 2112 }, + { x: 2113, y: 2113 }, + { x: 2114, y: 2114 }, + { x: 2115, y: 2115 }, + { x: 2116, y: 2116 }, + { x: 2117, y: 2117 }, + { x: 2118, y: 2118 }, + { x: 2119, y: 2119 }, + { x: 2120, y: 2120 }, + { x: 2121, y: 2121 }, + { x: 2122, y: 2122 }, + { x: 2123, y: 2123 }, + { x: 2124, y: 2124 }, + { x: 2125, y: 2125 }, + { x: 2126, y: 2126 }, + { x: 2127, y: 2127 }, + { x: 2128, y: 2128 }, + { x: 2129, y: 2129 }, + { x: 2130, y: 2130 }, + { x: 2131, y: 2131 }, + { x: 2132, y: 2132 }, + { x: 2133, y: 2133 }, + { x: 2134, y: 2134 }, + { x: 2135, y: 2135 }, + { x: 2136, y: 2136 }, + { x: 2137, y: 2137 }, + { x: 2138, y: 2138 }, + { x: 2139, y: 2139 }, + { x: 2140, y: 2140 }, + { x: 2141, y: 2141 }, + { x: 2142, y: 2142 }, + { x: 2143, y: 2143 }, + { x: 2144, y: 2144 }, + { x: 2145, y: 2145 }, + { x: 2146, y: 2146 }, + { x: 2147, y: 2147 }, + { x: 2148, y: 2148 }, + { x: 2149, y: 2149 }, + { x: 2150, y: 2150 }, + { x: 2151, y: 2151 }, + { x: 2152, y: 2152 }, + { x: 2153, y: 2153 }, + { x: 2154, y: 2154 }, + { x: 2155, y: 2155 }, + { x: 2156, y: 2156 }, + { x: 2157, y: 2157 }, + { x: 2158, y: 2158 }, + { x: 2159, y: 2159 }, + { x: 2160, y: 2160 }, + { x: 2161, y: 2161 }, + { x: 2162, y: 2162 }, + { x: 2163, y: 2163 }, + { x: 2164, y: 2164 }, + { x: 2165, y: 2165 }, + { x: 2166, y: 2166 }, + { x: 2167, y: 2167 }, + { x: 2168, y: 2168 }, + { x: 2169, y: 2169 }, + { x: 2170, y: 2170 }, + { x: 2171, y: 2171 }, + { x: 2172, y: 2172 }, + { x: 2173, y: 2173 }, + { x: 2174, y: 2174 }, + { x: 2175, y: 2175 }, + { x: 2176, y: 2176 }, + { x: 2177, y: 2177 }, + { x: 2178, y: 2178 }, + { x: 2179, y: 2179 }, + { x: 2180, y: 2180 }, + { x: 2181, y: 2181 }, + { x: 2182, y: 2182 }, + { x: 2183, y: 2183 }, + { x: 2184, y: 2184 }, + { x: 2185, y: 2185 }, + { x: 2186, y: 2186 }, + { x: 2187, y: 2187 }, + { x: 2188, y: 2188 }, + { x: 2189, y: 2189 }, + { x: 2190, y: 2190 }, + { x: 2191, y: 2191 }, + { x: 2192, y: 2192 }, + { x: 2193, y: 2193 }, + { x: 2194, y: 2194 }, + { x: 2195, y: 2195 }, + { x: 2196, y: 2196 }, + { x: 2197, y: 2197 }, + { x: 2198, y: 2198 }, + { x: 2199, y: 2199 }, + { x: 2200, y: 2200 }, + { x: 2201, y: 2201 }, + { x: 2202, y: 2202 }, + { x: 2203, y: 2203 }, + { x: 2204, y: 2204 }, + { x: 2205, y: 2205 }, + { x: 2206, y: 2206 }, + { x: 2207, y: 2207 }, + { x: 2208, y: 2208 }, + { x: 2209, y: 2209 }, + { x: 2210, y: 2210 }, + { x: 2211, y: 2211 }, + { x: 2212, y: 2212 }, + { x: 2213, y: 2213 }, + { x: 2214, y: 2214 }, + { x: 2215, y: 2215 }, + { x: 2216, y: 2216 }, + { x: 2217, y: 2217 }, + { x: 2218, y: 2218 }, + { x: 2219, y: 2219 }, + { x: 2220, y: 2220 }, + { x: 2221, y: 2221 }, + { x: 2222, y: 2222 }, + { x: 2223, y: 2223 }, + { x: 2224, y: 2224 }, + { x: 2225, y: 2225 }, + { x: 2226, y: 2226 }, + { x: 2227, y: 2227 }, + { x: 2228, y: 2228 }, + { x: 2229, y: 2229 }, + { x: 2230, y: 2230 }, + { x: 2231, y: 2231 }, + { x: 2232, y: 2232 }, + { x: 2233, y: 2233 }, + { x: 2234, y: 2234 }, + { x: 2235, y: 2235 }, + { x: 2236, y: 2236 }, + { x: 2237, y: 2237 }, + { x: 2238, y: 2238 }, + { x: 2239, y: 2239 }, + { x: 2240, y: 2240 }, + { x: 2241, y: 2241 }, + { x: 2242, y: 2242 }, + { x: 2243, y: 2243 }, + { x: 2244, y: 2244 }, + { x: 2245, y: 2245 }, + { x: 2246, y: 2246 }, + { x: 2247, y: 2247 }, + { x: 2248, y: 2248 }, + { x: 2249, y: 2249 }, + { x: 2250, y: 2250 }, + { x: 2251, y: 2251 }, + { x: 2252, y: 2252 }, + { x: 2253, y: 2253 }, + { x: 2254, y: 2254 }, + { x: 2255, y: 2255 }, + { x: 2256, y: 2256 }, + { x: 2257, y: 2257 }, + { x: 2258, y: 2258 }, + { x: 2259, y: 2259 }, + { x: 2260, y: 2260 }, + { x: 2261, y: 2261 }, + { x: 2262, y: 2262 }, + { x: 2263, y: 2263 }, + { x: 2264, y: 2264 }, + { x: 2265, y: 2265 }, + { x: 2266, y: 2266 }, + { x: 2267, y: 2267 }, + { x: 2268, y: 2268 }, + { x: 2269, y: 2269 }, + { x: 2270, y: 2270 }, + { x: 2271, y: 2271 }, + { x: 2272, y: 2272 }, + { x: 2273, y: 2273 }, + { x: 2274, y: 2274 }, + { x: 2275, y: 2275 }, + { x: 2276, y: 2276 }, + { x: 2277, y: 2277 }, + { x: 2278, y: 2278 }, + { x: 2279, y: 2279 }, + { x: 2280, y: 2280 }, + { x: 2281, y: 2281 }, + { x: 2282, y: 2282 }, + { x: 2283, y: 2283 }, + { x: 2284, y: 2284 }, + { x: 2285, y: 2285 }, + { x: 2286, y: 2286 }, + { x: 2287, y: 2287 }, + { x: 2288, y: 2288 }, + { x: 2289, y: 2289 }, + { x: 2290, y: 2290 }, + { x: 2291, y: 2291 }, + { x: 2292, y: 2292 }, + { x: 2293, y: 2293 }, + { x: 2294, y: 2294 }, + { x: 2295, y: 2295 }, + { x: 2296, y: 2296 }, + { x: 2297, y: 2297 }, + { x: 2298, y: 2298 }, + { x: 2299, y: 2299 }, + { x: 2300, y: 2300 }, + { x: 2301, y: 2301 }, + { x: 2302, y: 2302 }, + { x: 2303, y: 2303 }, + { x: 2304, y: 2304 }, + { x: 2305, y: 2305 }, + { x: 2306, y: 2306 }, + { x: 2307, y: 2307 }, + { x: 2308, y: 2308 }, + { x: 2309, y: 2309 }, + { x: 2310, y: 2310 }, + { x: 2311, y: 2311 }, + { x: 2312, y: 2312 }, + { x: 2313, y: 2313 }, + { x: 2314, y: 2314 }, + { x: 2315, y: 2315 }, + { x: 2316, y: 2316 }, + { x: 2317, y: 2317 }, + { x: 2318, y: 2318 }, + { x: 2319, y: 2319 }, + { x: 2320, y: 2320 }, + { x: 2321, y: 2321 }, + { x: 2322, y: 2322 }, + { x: 2323, y: 2323 }, + { x: 2324, y: 2324 }, + { x: 2325, y: 2325 }, + { x: 2326, y: 2326 }, + { x: 2327, y: 2327 }, + { x: 2328, y: 2328 }, + { x: 2329, y: 2329 }, + { x: 2330, y: 2330 }, + { x: 2331, y: 2331 }, + { x: 2332, y: 2332 }, + { x: 2333, y: 2333 }, + { x: 2334, y: 2334 }, + { x: 2335, y: 2335 }, + { x: 2336, y: 2336 }, + { x: 2337, y: 2337 }, + { x: 2338, y: 2338 }, + { x: 2339, y: 2339 }, + { x: 2340, y: 2340 }, + { x: 2341, y: 2341 }, + { x: 2342, y: 2342 }, + { x: 2343, y: 2343 }, + { x: 2344, y: 2344 }, + { x: 2345, y: 2345 }, + { x: 2346, y: 2346 }, + { x: 2347, y: 2347 }, + { x: 2348, y: 2348 }, + { x: 2349, y: 2349 }, + { x: 2350, y: 2350 }, + { x: 2351, y: 2351 }, + { x: 2352, y: 2352 }, + { x: 2353, y: 2353 }, + { x: 2354, y: 2354 }, + { x: 2355, y: 2355 }, + { x: 2356, y: 2356 }, + { x: 2357, y: 2357 }, + { x: 2358, y: 2358 }, + { x: 2359, y: 2359 }, + { x: 2360, y: 2360 }, + { x: 2361, y: 2361 }, + { x: 2362, y: 2362 }, + { x: 2363, y: 2363 }, + { x: 2364, y: 2364 }, + { x: 2365, y: 2365 }, + { x: 2366, y: 2366 }, + { x: 2367, y: 2367 }, + { x: 2368, y: 2368 }, + { x: 2369, y: 2369 }, + { x: 2370, y: 2370 }, + { x: 2371, y: 2371 }, + { x: 2372, y: 2372 }, + { x: 2373, y: 2373 }, + { x: 2374, y: 2374 }, + { x: 2375, y: 2375 }, + { x: 2376, y: 2376 }, + { x: 2377, y: 2377 }, + { x: 2378, y: 2378 }, + { x: 2379, y: 2379 }, + { x: 2380, y: 2380 }, + { x: 2381, y: 2381 }, + { x: 2382, y: 2382 }, + { x: 2383, y: 2383 }, + { x: 2384, y: 2384 }, + { x: 2385, y: 2385 }, + { x: 2386, y: 2386 }, + { x: 2387, y: 2387 }, + { x: 2388, y: 2388 }, + { x: 2389, y: 2389 }, + { x: 2390, y: 2390 }, + { x: 2391, y: 2391 }, + { x: 2392, y: 2392 }, + { x: 2393, y: 2393 }, + { x: 2394, y: 2394 }, + { x: 2395, y: 2395 }, + { x: 2396, y: 2396 }, + { x: 2397, y: 2397 }, + { x: 2398, y: 2398 }, + { x: 2399, y: 2399 }, + { x: 2400, y: 2400 }, + { x: 2401, y: 2401 }, + { x: 2402, y: 2402 }, + { x: 2403, y: 2403 }, + { x: 2404, y: 2404 }, + { x: 2405, y: 2405 }, + { x: 2406, y: 2406 }, + { x: 2407, y: 2407 }, + { x: 2408, y: 2408 }, + { x: 2409, y: 2409 }, + { x: 2410, y: 2410 }, + { x: 2411, y: 2411 }, + { x: 2412, y: 2412 }, + { x: 2413, y: 2413 }, + { x: 2414, y: 2414 }, + { x: 2415, y: 2415 }, + { x: 2416, y: 2416 }, + { x: 2417, y: 2417 }, + { x: 2418, y: 2418 }, + { x: 2419, y: 2419 }, + { x: 2420, y: 2420 }, + { x: 2421, y: 2421 }, + { x: 2422, y: 2422 }, + { x: 2423, y: 2423 }, + { x: 2424, y: 2424 }, + { x: 2425, y: 2425 }, + { x: 2426, y: 2426 }, + { x: 2427, y: 2427 }, + { x: 2428, y: 2428 }, + { x: 2429, y: 2429 }, + { x: 2430, y: 2430 }, + { x: 2431, y: 2431 }, + { x: 2432, y: 2432 }, + { x: 2433, y: 2433 }, + { x: 2434, y: 2434 }, + { x: 2435, y: 2435 }, + { x: 2436, y: 2436 }, + { x: 2437, y: 2437 }, + { x: 2438, y: 2438 }, + { x: 2439, y: 2439 }, + { x: 2440, y: 2440 }, + { x: 2441, y: 2441 }, + { x: 2442, y: 2442 }, + { x: 2443, y: 2443 }, + { x: 2444, y: 2444 }, + { x: 2445, y: 2445 }, + { x: 2446, y: 2446 }, + { x: 2447, y: 2447 }, + { x: 2448, y: 2448 }, + { x: 2449, y: 2449 }, + { x: 2450, y: 2450 }, + { x: 2451, y: 2451 }, + { x: 2452, y: 2452 }, + { x: 2453, y: 2453 }, + { x: 2454, y: 2454 }, + { x: 2455, y: 2455 }, + { x: 2456, y: 2456 }, + { x: 2457, y: 2457 }, + { x: 2458, y: 2458 }, + { x: 2459, y: 2459 }, + { x: 2460, y: 2460 }, + { x: 2461, y: 2461 }, + { x: 2462, y: 2462 }, + { x: 2463, y: 2463 }, + { x: 2464, y: 2464 }, + { x: 2465, y: 2465 }, + { x: 2466, y: 2466 }, + { x: 2467, y: 2467 }, + { x: 2468, y: 2468 }, + { x: 2469, y: 2469 }, + { x: 2470, y: 2470 }, + { x: 2471, y: 2471 }, + { x: 2472, y: 2472 }, + { x: 2473, y: 2473 }, + { x: 2474, y: 2474 }, + { x: 2475, y: 2475 }, + { x: 2476, y: 2476 }, + { x: 2477, y: 2477 }, + { x: 2478, y: 2478 }, + { x: 2479, y: 2479 }, + { x: 2480, y: 2480 }, + { x: 2481, y: 2481 }, + { x: 2482, y: 2482 }, + { x: 2483, y: 2483 }, + { x: 2484, y: 2484 }, + { x: 2485, y: 2485 }, + { x: 2486, y: 2486 }, + { x: 2487, y: 2487 }, + { x: 2488, y: 2488 }, + { x: 2489, y: 2489 }, + { x: 2490, y: 2490 }, + { x: 2491, y: 2491 }, + { x: 2492, y: 2492 }, + { x: 2493, y: 2493 }, + { x: 2494, y: 2494 }, + { x: 2495, y: 2495 }, + { x: 2496, y: 2496 }, + { x: 2497, y: 2497 }, + { x: 2498, y: 2498 }, + { x: 2499, y: 2499 }, + { x: 2500, y: 2500 }, + { x: 2501, y: 2501 }, + { x: 2502, y: 2502 }, + { x: 2503, y: 2503 }, + { x: 2504, y: 2504 }, + { x: 2505, y: 2505 }, + { x: 2506, y: 2506 }, + { x: 2507, y: 2507 }, + { x: 2508, y: 2508 }, + { x: 2509, y: 2509 }, + { x: 2510, y: 2510 }, + { x: 2511, y: 2511 }, + { x: 2512, y: 2512 }, + { x: 2513, y: 2513 }, + { x: 2514, y: 2514 }, + { x: 2515, y: 2515 }, + { x: 2516, y: 2516 }, + { x: 2517, y: 2517 }, + { x: 2518, y: 2518 }, + { x: 2519, y: 2519 }, + { x: 2520, y: 2520 }, + { x: 2521, y: 2521 }, + { x: 2522, y: 2522 }, + { x: 2523, y: 2523 }, + { x: 2524, y: 2524 }, + { x: 2525, y: 2525 }, + { x: 2526, y: 2526 }, + { x: 2527, y: 2527 }, + { x: 2528, y: 2528 }, + { x: 2529, y: 2529 }, + { x: 2530, y: 2530 }, + { x: 2531, y: 2531 }, + { x: 2532, y: 2532 }, + { x: 2533, y: 2533 }, + { x: 2534, y: 2534 }, + { x: 2535, y: 2535 }, + { x: 2536, y: 2536 }, + { x: 2537, y: 2537 }, + { x: 2538, y: 2538 }, + { x: 2539, y: 2539 }, + { x: 2540, y: 2540 }, + { x: 2541, y: 2541 }, + { x: 2542, y: 2542 }, + { x: 2543, y: 2543 }, + { x: 2544, y: 2544 }, + { x: 2545, y: 2545 }, + { x: 2546, y: 2546 }, + { x: 2547, y: 2547 }, + { x: 2548, y: 2548 }, + { x: 2549, y: 2549 }, + { x: 2550, y: 2550 }, + { x: 2551, y: 2551 }, + { x: 2552, y: 2552 }, + { x: 2553, y: 2553 }, + { x: 2554, y: 2554 }, + { x: 2555, y: 2555 }, + { x: 2556, y: 2556 }, + { x: 2557, y: 2557 }, + { x: 2558, y: 2558 }, + { x: 2559, y: 2559 }, + { x: 2560, y: 2560 }, + { x: 2561, y: 2561 }, + { x: 2562, y: 2562 }, + { x: 2563, y: 2563 }, + { x: 2564, y: 2564 }, + { x: 2565, y: 2565 }, + { x: 2566, y: 2566 }, + { x: 2567, y: 2567 }, + { x: 2568, y: 2568 }, + { x: 2569, y: 2569 }, + { x: 2570, y: 2570 }, + { x: 2571, y: 2571 }, + { x: 2572, y: 2572 }, + { x: 2573, y: 2573 }, + { x: 2574, y: 2574 }, + { x: 2575, y: 2575 }, + { x: 2576, y: 2576 }, + { x: 2577, y: 2577 }, + { x: 2578, y: 2578 }, + { x: 2579, y: 2579 }, + { x: 2580, y: 2580 }, + { x: 2581, y: 2581 }, + { x: 2582, y: 2582 }, + { x: 2583, y: 2583 }, + { x: 2584, y: 2584 }, + { x: 2585, y: 2585 }, + { x: 2586, y: 2586 }, + { x: 2587, y: 2587 }, + { x: 2588, y: 2588 }, + { x: 2589, y: 2589 }, + { x: 2590, y: 2590 }, + { x: 2591, y: 2591 }, + { x: 2592, y: 2592 }, + { x: 2593, y: 2593 }, + { x: 2594, y: 2594 }, + { x: 2595, y: 2595 }, + { x: 2596, y: 2596 }, + { x: 2597, y: 2597 }, + { x: 2598, y: 2598 }, + { x: 2599, y: 2599 }, + { x: 2600, y: 2600 }, + { x: 2601, y: 2601 }, + { x: 2602, y: 2602 }, + { x: 2603, y: 2603 }, + { x: 2604, y: 2604 }, + { x: 2605, y: 2605 }, + { x: 2606, y: 2606 }, + { x: 2607, y: 2607 }, + { x: 2608, y: 2608 }, + { x: 2609, y: 2609 }, + { x: 2610, y: 2610 }, + { x: 2611, y: 2611 }, + { x: 2612, y: 2612 }, + { x: 2613, y: 2613 }, + { x: 2614, y: 2614 }, + { x: 2615, y: 2615 }, + { x: 2616, y: 2616 }, + { x: 2617, y: 2617 }, + { x: 2618, y: 2618 }, + { x: 2619, y: 2619 }, + { x: 2620, y: 2620 }, + { x: 2621, y: 2621 }, + { x: 2622, y: 2622 }, + { x: 2623, y: 2623 }, + { x: 2624, y: 2624 }, + { x: 2625, y: 2625 }, + { x: 2626, y: 2626 }, + { x: 2627, y: 2627 }, + { x: 2628, y: 2628 }, + { x: 2629, y: 2629 }, + { x: 2630, y: 2630 }, + { x: 2631, y: 2631 }, + { x: 2632, y: 2632 }, + { x: 2633, y: 2633 }, + { x: 2634, y: 2634 }, + { x: 2635, y: 2635 }, + { x: 2636, y: 2636 }, + { x: 2637, y: 2637 }, + { x: 2638, y: 2638 }, + { x: 2639, y: 2639 }, + { x: 2640, y: 2640 }, + { x: 2641, y: 2641 }, + { x: 2642, y: 2642 }, + { x: 2643, y: 2643 }, + { x: 2644, y: 2644 }, + { x: 2645, y: 2645 }, + { x: 2646, y: 2646 }, + { x: 2647, y: 2647 }, + { x: 2648, y: 2648 }, + { x: 2649, y: 2649 }, + { x: 2650, y: 2650 }, + { x: 2651, y: 2651 }, + { x: 2652, y: 2652 }, + { x: 2653, y: 2653 }, + { x: 2654, y: 2654 }, + { x: 2655, y: 2655 }, + { x: 2656, y: 2656 }, + { x: 2657, y: 2657 }, + { x: 2658, y: 2658 }, + { x: 2659, y: 2659 }, + { x: 2660, y: 2660 }, + { x: 2661, y: 2661 }, + { x: 2662, y: 2662 }, + { x: 2663, y: 2663 }, + { x: 2664, y: 2664 }, + { x: 2665, y: 2665 }, + { x: 2666, y: 2666 }, + { x: 2667, y: 2667 }, + { x: 2668, y: 2668 }, + { x: 2669, y: 2669 }, + { x: 2670, y: 2670 }, + { x: 2671, y: 2671 }, + { x: 2672, y: 2672 }, + { x: 2673, y: 2673 }, + { x: 2674, y: 2674 }, + { x: 2675, y: 2675 }, + { x: 2676, y: 2676 }, + { x: 2677, y: 2677 }, + { x: 2678, y: 2678 }, + { x: 2679, y: 2679 }, + { x: 2680, y: 2680 }, + { x: 2681, y: 2681 }, + { x: 2682, y: 2682 }, + { x: 2683, y: 2683 }, + { x: 2684, y: 2684 }, + { x: 2685, y: 2685 }, + { x: 2686, y: 2686 }, + { x: 2687, y: 2687 }, + { x: 2688, y: 2688 }, + { x: 2689, y: 2689 }, + { x: 2690, y: 2690 }, + { x: 2691, y: 2691 }, + { x: 2692, y: 2692 }, + { x: 2693, y: 2693 }, + { x: 2694, y: 2694 }, + { x: 2695, y: 2695 }, + { x: 2696, y: 2696 }, + { x: 2697, y: 2697 }, + { x: 2698, y: 2698 }, + { x: 2699, y: 2699 }, + { x: 2700, y: 2700 }, + { x: 2701, y: 2701 }, + { x: 2702, y: 2702 }, + { x: 2703, y: 2703 }, + { x: 2704, y: 2704 }, + { x: 2705, y: 2705 }, + { x: 2706, y: 2706 }, + { x: 2707, y: 2707 }, + { x: 2708, y: 2708 }, + { x: 2709, y: 2709 }, + { x: 2710, y: 2710 }, + { x: 2711, y: 2711 }, + { x: 2712, y: 2712 }, + { x: 2713, y: 2713 }, + { x: 2714, y: 2714 }, + { x: 2715, y: 2715 }, + { x: 2716, y: 2716 }, + { x: 2717, y: 2717 }, + { x: 2718, y: 2718 }, + { x: 2719, y: 2719 }, + { x: 2720, y: 2720 }, + { x: 2721, y: 2721 }, + { x: 2722, y: 2722 }, + { x: 2723, y: 2723 }, + { x: 2724, y: 2724 }, + { x: 2725, y: 2725 }, + { x: 2726, y: 2726 }, + { x: 2727, y: 2727 }, + { x: 2728, y: 2728 }, + { x: 2729, y: 2729 }, + { x: 2730, y: 2730 }, + { x: 2731, y: 2731 }, + { x: 2732, y: 2732 }, + { x: 2733, y: 2733 }, + { x: 2734, y: 2734 }, + { x: 2735, y: 2735 }, + { x: 2736, y: 2736 }, + { x: 2737, y: 2737 }, + { x: 2738, y: 2738 }, + { x: 2739, y: 2739 }, + { x: 2740, y: 2740 }, + { x: 2741, y: 2741 }, + { x: 2742, y: 2742 }, + { x: 2743, y: 2743 }, + { x: 2744, y: 2744 }, + { x: 2745, y: 2745 }, + { x: 2746, y: 2746 }, + { x: 2747, y: 2747 }, + { x: 2748, y: 2748 }, + { x: 2749, y: 2749 }, + { x: 2750, y: 2750 }, + { x: 2751, y: 2751 }, + { x: 2752, y: 2752 }, + { x: 2753, y: 2753 }, + { x: 2754, y: 2754 }, + { x: 2755, y: 2755 }, + { x: 2756, y: 2756 }, + { x: 2757, y: 2757 }, + { x: 2758, y: 2758 }, + { x: 2759, y: 2759 }, + { x: 2760, y: 2760 }, + { x: 2761, y: 2761 }, + { x: 2762, y: 2762 }, + { x: 2763, y: 2763 }, + { x: 2764, y: 2764 }, + { x: 2765, y: 2765 }, + { x: 2766, y: 2766 }, + { x: 2767, y: 2767 }, + { x: 2768, y: 2768 }, + { x: 2769, y: 2769 }, + { x: 2770, y: 2770 }, + { x: 2771, y: 2771 }, + { x: 2772, y: 2772 }, + { x: 2773, y: 2773 }, + { x: 2774, y: 2774 }, + { x: 2775, y: 2775 }, + { x: 2776, y: 2776 }, + { x: 2777, y: 2777 }, + { x: 2778, y: 2778 }, + { x: 2779, y: 2779 }, + { x: 2780, y: 2780 }, + { x: 2781, y: 2781 }, + { x: 2782, y: 2782 }, + { x: 2783, y: 2783 }, + { x: 2784, y: 2784 }, + { x: 2785, y: 2785 }, + { x: 2786, y: 2786 }, + { x: 2787, y: 2787 }, + { x: 2788, y: 2788 }, + { x: 2789, y: 2789 }, + { x: 2790, y: 2790 }, + { x: 2791, y: 2791 }, + { x: 2792, y: 2792 }, + { x: 2793, y: 2793 }, + { x: 2794, y: 2794 }, + { x: 2795, y: 2795 }, + { x: 2796, y: 2796 }, + { x: 2797, y: 2797 }, + { x: 2798, y: 2798 }, + { x: 2799, y: 2799 }, + { x: 2800, y: 2800 }, + { x: 2801, y: 2801 }, + { x: 2802, y: 2802 }, + { x: 2803, y: 2803 }, + { x: 2804, y: 2804 }, + { x: 2805, y: 2805 }, + { x: 2806, y: 2806 }, + { x: 2807, y: 2807 }, + { x: 2808, y: 2808 }, + { x: 2809, y: 2809 }, + { x: 2810, y: 2810 }, + { x: 2811, y: 2811 }, + { x: 2812, y: 2812 }, + { x: 2813, y: 2813 }, + { x: 2814, y: 2814 }, + { x: 2815, y: 2815 }, + { x: 2816, y: 2816 }, + { x: 2817, y: 2817 }, + { x: 2818, y: 2818 }, + { x: 2819, y: 2819 }, + { x: 2820, y: 2820 }, + { x: 2821, y: 2821 }, + { x: 2822, y: 2822 }, + { x: 2823, y: 2823 }, + { x: 2824, y: 2824 }, + { x: 2825, y: 2825 }, + { x: 2826, y: 2826 }, + { x: 2827, y: 2827 }, + { x: 2828, y: 2828 }, + { x: 2829, y: 2829 }, + { x: 2830, y: 2830 }, + { x: 2831, y: 2831 }, + { x: 2832, y: 2832 }, + { x: 2833, y: 2833 }, + { x: 2834, y: 2834 }, + { x: 2835, y: 2835 }, + { x: 2836, y: 2836 }, + { x: 2837, y: 2837 }, + { x: 2838, y: 2838 }, + { x: 2839, y: 2839 }, + { x: 2840, y: 2840 }, + { x: 2841, y: 2841 }, + { x: 2842, y: 2842 }, + { x: 2843, y: 2843 }, + { x: 2844, y: 2844 }, + { x: 2845, y: 2845 }, + { x: 2846, y: 2846 }, + { x: 2847, y: 2847 }, + { x: 2848, y: 2848 }, + { x: 2849, y: 2849 }, + { x: 2850, y: 2850 }, + { x: 2851, y: 2851 }, + { x: 2852, y: 2852 }, + { x: 2853, y: 2853 }, + { x: 2854, y: 2854 }, + { x: 2855, y: 2855 }, + { x: 2856, y: 2856 }, + { x: 2857, y: 2857 }, + { x: 2858, y: 2858 }, + { x: 2859, y: 2859 }, + { x: 2860, y: 2860 }, + { x: 2861, y: 2861 }, + { x: 2862, y: 2862 }, + { x: 2863, y: 2863 }, + { x: 2864, y: 2864 }, + { x: 2865, y: 2865 }, + { x: 2866, y: 2866 }, + { x: 2867, y: 2867 }, + { x: 2868, y: 2868 }, + { x: 2869, y: 2869 }, + { x: 2870, y: 2870 }, + { x: 2871, y: 2871 }, + { x: 2872, y: 2872 }, + { x: 2873, y: 2873 }, + { x: 2874, y: 2874 }, + { x: 2875, y: 2875 }, + { x: 2876, y: 2876 }, + { x: 2877, y: 2877 }, + { x: 2878, y: 2878 }, + { x: 2879, y: 2879 }, + { x: 2880, y: 2880 }, + { x: 2881, y: 2881 }, + { x: 2882, y: 2882 }, + { x: 2883, y: 2883 }, + { x: 2884, y: 2884 }, + { x: 2885, y: 2885 }, + { x: 2886, y: 2886 }, + { x: 2887, y: 2887 }, + { x: 2888, y: 2888 }, + { x: 2889, y: 2889 }, + { x: 2890, y: 2890 }, + { x: 2891, y: 2891 }, + { x: 2892, y: 2892 }, + { x: 2893, y: 2893 }, + { x: 2894, y: 2894 }, + { x: 2895, y: 2895 }, + { x: 2896, y: 2896 }, + { x: 2897, y: 2897 }, + { x: 2898, y: 2898 }, + { x: 2899, y: 2899 }, + { x: 2900, y: 2900 }, + { x: 2901, y: 2901 }, + { x: 2902, y: 2902 }, + { x: 2903, y: 2903 }, + { x: 2904, y: 2904 }, + { x: 2905, y: 2905 }, + { x: 2906, y: 2906 }, + { x: 2907, y: 2907 }, + { x: 2908, y: 2908 }, + { x: 2909, y: 2909 }, + { x: 2910, y: 2910 }, + { x: 2911, y: 2911 }, + { x: 2912, y: 2912 }, + { x: 2913, y: 2913 }, + { x: 2914, y: 2914 }, + { x: 2915, y: 2915 }, + { x: 2916, y: 2916 }, + { x: 2917, y: 2917 }, + { x: 2918, y: 2918 }, + { x: 2919, y: 2919 }, + { x: 2920, y: 2920 }, + { x: 2921, y: 2921 }, + { x: 2922, y: 2922 }, + { x: 2923, y: 2923 }, + { x: 2924, y: 2924 }, + { x: 2925, y: 2925 }, + { x: 2926, y: 2926 }, + { x: 2927, y: 2927 }, + { x: 2928, y: 2928 }, + { x: 2929, y: 2929 }, + { x: 2930, y: 2930 }, + { x: 2931, y: 2931 }, + { x: 2932, y: 2932 }, + { x: 2933, y: 2933 }, + { x: 2934, y: 2934 }, + { x: 2935, y: 2935 }, + { x: 2936, y: 2936 }, + { x: 2937, y: 2937 }, + { x: 2938, y: 2938 }, + { x: 2939, y: 2939 }, + { x: 2940, y: 2940 }, + { x: 2941, y: 2941 }, + { x: 2942, y: 2942 }, + { x: 2943, y: 2943 }, + { x: 2944, y: 2944 }, + { x: 2945, y: 2945 }, + { x: 2946, y: 2946 }, + { x: 2947, y: 2947 }, + { x: 2948, y: 2948 }, + { x: 2949, y: 2949 }, + { x: 2950, y: 2950 }, + { x: 2951, y: 2951 }, + { x: 2952, y: 2952 }, + { x: 2953, y: 2953 }, + { x: 2954, y: 2954 }, + { x: 2955, y: 2955 }, + { x: 2956, y: 2956 }, + { x: 2957, y: 2957 }, + { x: 2958, y: 2958 }, + { x: 2959, y: 2959 }, + { x: 2960, y: 2960 }, + { x: 2961, y: 2961 }, + { x: 2962, y: 2962 }, + { x: 2963, y: 2963 }, + { x: 2964, y: 2964 }, + { x: 2965, y: 2965 }, + { x: 2966, y: 2966 }, + { x: 2967, y: 2967 }, + { x: 2968, y: 2968 }, + { x: 2969, y: 2969 }, + { x: 2970, y: 2970 }, + { x: 2971, y: 2971 }, + { x: 2972, y: 2972 }, + { x: 2973, y: 2973 }, + { x: 2974, y: 2974 }, + { x: 2975, y: 2975 }, + { x: 2976, y: 2976 }, + { x: 2977, y: 2977 }, + { x: 2978, y: 2978 }, + { x: 2979, y: 2979 }, + { x: 2980, y: 2980 }, + { x: 2981, y: 2981 }, + { x: 2982, y: 2982 }, + { x: 2983, y: 2983 }, + { x: 2984, y: 2984 }, + { x: 2985, y: 2985 }, + { x: 2986, y: 2986 }, + { x: 2987, y: 2987 }, + { x: 2988, y: 2988 }, + { x: 2989, y: 2989 }, + { x: 2990, y: 2990 }, + { x: 2991, y: 2991 }, + { x: 2992, y: 2992 }, + { x: 2993, y: 2993 }, + { x: 2994, y: 2994 }, + { x: 2995, y: 2995 }, + { x: 2996, y: 2996 }, + { x: 2997, y: 2997 }, + { x: 2998, y: 2998 }, + { x: 2999, y: 2999 }, + { x: 3000, y: 3000 }, + { x: 3001, y: 3001 }, + { x: 3002, y: 3002 }, + { x: 3003, y: 3003 }, + { x: 3004, y: 3004 }, + { x: 3005, y: 3005 }, + { x: 3006, y: 3006 }, + { x: 3007, y: 3007 }, + { x: 3008, y: 3008 }, + { x: 3009, y: 3009 }, + { x: 3010, y: 3010 }, + { x: 3011, y: 3011 }, + { x: 3012, y: 3012 }, + { x: 3013, y: 3013 }, + { x: 3014, y: 3014 }, + { x: 3015, y: 3015 }, + { x: 3016, y: 3016 }, + { x: 3017, y: 3017 }, + { x: 3018, y: 3018 }, + { x: 3019, y: 3019 }, + { x: 3020, y: 3020 }, + { x: 3021, y: 3021 }, + { x: 3022, y: 3022 }, + { x: 3023, y: 3023 }, + { x: 3024, y: 3024 }, + { x: 3025, y: 3025 }, + { x: 3026, y: 3026 }, + { x: 3027, y: 3027 }, + { x: 3028, y: 3028 }, + { x: 3029, y: 3029 }, + { x: 3030, y: 3030 }, + { x: 3031, y: 3031 }, + { x: 3032, y: 3032 }, + { x: 3033, y: 3033 }, + { x: 3034, y: 3034 }, + { x: 3035, y: 3035 }, + { x: 3036, y: 3036 }, + { x: 3037, y: 3037 }, + { x: 3038, y: 3038 }, + { x: 3039, y: 3039 }, + { x: 3040, y: 3040 }, + { x: 3041, y: 3041 }, + { x: 3042, y: 3042 }, + { x: 3043, y: 3043 }, + { x: 3044, y: 3044 }, + { x: 3045, y: 3045 }, + { x: 3046, y: 3046 }, + { x: 3047, y: 3047 }, + { x: 3048, y: 3048 }, + { x: 3049, y: 3049 }, + { x: 3050, y: 3050 }, + { x: 3051, y: 3051 }, + { x: 3052, y: 3052 }, + { x: 3053, y: 3053 }, + { x: 3054, y: 3054 }, + { x: 3055, y: 3055 }, + { x: 3056, y: 3056 }, + { x: 3057, y: 3057 }, + { x: 3058, y: 3058 }, + { x: 3059, y: 3059 }, + { x: 3060, y: 3060 }, + { x: 3061, y: 3061 }, + { x: 3062, y: 3062 }, + { x: 3063, y: 3063 }, + { x: 3064, y: 3064 }, + { x: 3065, y: 3065 }, + { x: 3066, y: 3066 }, + { x: 3067, y: 3067 }, + { x: 3068, y: 3068 }, + { x: 3069, y: 3069 }, + { x: 3070, y: 3070 }, + { x: 3071, y: 3071 }, + { x: 3072, y: 3072 }, + { x: 3073, y: 3073 }, + { x: 3074, y: 3074 }, + { x: 3075, y: 3075 }, + { x: 3076, y: 3076 }, + { x: 3077, y: 3077 }, + { x: 3078, y: 3078 }, + { x: 3079, y: 3079 }, + { x: 3080, y: 3080 }, + { x: 3081, y: 3081 }, + { x: 3082, y: 3082 }, + { x: 3083, y: 3083 }, + { x: 3084, y: 3084 }, + { x: 3085, y: 3085 }, + { x: 3086, y: 3086 }, + { x: 3087, y: 3087 }, + { x: 3088, y: 3088 }, + { x: 3089, y: 3089 }, + { x: 3090, y: 3090 }, + { x: 3091, y: 3091 }, + { x: 3092, y: 3092 }, + { x: 3093, y: 3093 }, + { x: 3094, y: 3094 }, + { x: 3095, y: 3095 }, + { x: 3096, y: 3096 }, + { x: 3097, y: 3097 }, + { x: 3098, y: 3098 }, + { x: 3099, y: 3099 }, + { x: 3100, y: 3100 }, + { x: 3101, y: 3101 }, + { x: 3102, y: 3102 }, + { x: 3103, y: 3103 }, + { x: 3104, y: 3104 }, + { x: 3105, y: 3105 }, + { x: 3106, y: 3106 }, + { x: 3107, y: 3107 }, + { x: 3108, y: 3108 }, + { x: 3109, y: 3109 }, + { x: 3110, y: 3110 }, + { x: 3111, y: 3111 }, + { x: 3112, y: 3112 }, + { x: 3113, y: 3113 }, + { x: 3114, y: 3114 }, + { x: 3115, y: 3115 }, + { x: 3116, y: 3116 }, + { x: 3117, y: 3117 }, + { x: 3118, y: 3118 }, + { x: 3119, y: 3119 }, + { x: 3120, y: 3120 }, + { x: 3121, y: 3121 }, + { x: 3122, y: 3122 }, + { x: 3123, y: 3123 }, + { x: 3124, y: 3124 }, + { x: 3125, y: 3125 }, + { x: 3126, y: 3126 }, + { x: 3127, y: 3127 }, + { x: 3128, y: 3128 }, + { x: 3129, y: 3129 }, + { x: 3130, y: 3130 }, + { x: 3131, y: 3131 }, + { x: 3132, y: 3132 }, + { x: 3133, y: 3133 }, + { x: 3134, y: 3134 }, + { x: 3135, y: 3135 }, + { x: 3136, y: 3136 }, + { x: 3137, y: 3137 }, + { x: 3138, y: 3138 }, + { x: 3139, y: 3139 }, + { x: 3140, y: 3140 }, + { x: 3141, y: 3141 }, + { x: 3142, y: 3142 }, + { x: 3143, y: 3143 }, + { x: 3144, y: 3144 }, + { x: 3145, y: 3145 }, + { x: 3146, y: 3146 }, + { x: 3147, y: 3147 }, + { x: 3148, y: 3148 }, + { x: 3149, y: 3149 }, + { x: 3150, y: 3150 }, + { x: 3151, y: 3151 }, + { x: 3152, y: 3152 }, + { x: 3153, y: 3153 }, + { x: 3154, y: 3154 }, + { x: 3155, y: 3155 }, + { x: 3156, y: 3156 }, + { x: 3157, y: 3157 }, + { x: 3158, y: 3158 }, + { x: 3159, y: 3159 }, + { x: 3160, y: 3160 }, + { x: 3161, y: 3161 }, + { x: 3162, y: 3162 }, + { x: 3163, y: 3163 }, + { x: 3164, y: 3164 }, + { x: 3165, y: 3165 }, + { x: 3166, y: 3166 }, + { x: 3167, y: 3167 }, + { x: 3168, y: 3168 }, + { x: 3169, y: 3169 }, + { x: 3170, y: 3170 }, + { x: 3171, y: 3171 }, + { x: 3172, y: 3172 }, + { x: 3173, y: 3173 }, + { x: 3174, y: 3174 }, + { x: 3175, y: 3175 }, + { x: 3176, y: 3176 }, + { x: 3177, y: 3177 }, + { x: 3178, y: 3178 }, + { x: 3179, y: 3179 }, + { x: 3180, y: 3180 }, + { x: 3181, y: 3181 }, + { x: 3182, y: 3182 }, + { x: 3183, y: 3183 }, + { x: 3184, y: 3184 }, + { x: 3185, y: 3185 }, + { x: 3186, y: 3186 }, + { x: 3187, y: 3187 }, + { x: 3188, y: 3188 }, + { x: 3189, y: 3189 }, + { x: 3190, y: 3190 }, + { x: 3191, y: 3191 }, + { x: 3192, y: 3192 }, + { x: 3193, y: 3193 }, + { x: 3194, y: 3194 }, + { x: 3195, y: 3195 }, + { x: 3196, y: 3196 }, + { x: 3197, y: 3197 }, + { x: 3198, y: 3198 }, + { x: 3199, y: 3199 }, + { x: 3200, y: 3200 }, + { x: 3201, y: 3201 }, + { x: 3202, y: 3202 }, + { x: 3203, y: 3203 }, + { x: 3204, y: 3204 }, + { x: 3205, y: 3205 }, + { x: 3206, y: 3206 }, + { x: 3207, y: 3207 }, + { x: 3208, y: 3208 }, + { x: 3209, y: 3209 }, + { x: 3210, y: 3210 }, + { x: 3211, y: 3211 }, + { x: 3212, y: 3212 }, + { x: 3213, y: 3213 }, + { x: 3214, y: 3214 }, + { x: 3215, y: 3215 }, + { x: 3216, y: 3216 }, + { x: 3217, y: 3217 }, + { x: 3218, y: 3218 }, + { x: 3219, y: 3219 }, + { x: 3220, y: 3220 }, + { x: 3221, y: 3221 }, + { x: 3222, y: 3222 }, + { x: 3223, y: 3223 }, + { x: 3224, y: 3224 }, + { x: 3225, y: 3225 }, + { x: 3226, y: 3226 }, + { x: 3227, y: 3227 }, + { x: 3228, y: 3228 }, + { x: 3229, y: 3229 }, + { x: 3230, y: 3230 }, + { x: 3231, y: 3231 }, + { x: 3232, y: 3232 }, + { x: 3233, y: 3233 }, + { x: 3234, y: 3234 }, + { x: 3235, y: 3235 }, + { x: 3236, y: 3236 }, + { x: 3237, y: 3237 }, + { x: 3238, y: 3238 }, + { x: 3239, y: 3239 }, + { x: 3240, y: 3240 }, + { x: 3241, y: 3241 }, + { x: 3242, y: 3242 }, + { x: 3243, y: 3243 }, + { x: 3244, y: 3244 }, + { x: 3245, y: 3245 }, + { x: 3246, y: 3246 }, + { x: 3247, y: 3247 }, + { x: 3248, y: 3248 }, + { x: 3249, y: 3249 }, + { x: 3250, y: 3250 }, + { x: 3251, y: 3251 }, + { x: 3252, y: 3252 }, + { x: 3253, y: 3253 }, + { x: 3254, y: 3254 }, + { x: 3255, y: 3255 }, + { x: 3256, y: 3256 }, + { x: 3257, y: 3257 }, + { x: 3258, y: 3258 }, + { x: 3259, y: 3259 }, + { x: 3260, y: 3260 }, + { x: 3261, y: 3261 }, + { x: 3262, y: 3262 }, + { x: 3263, y: 3263 }, + { x: 3264, y: 3264 }, + { x: 3265, y: 3265 }, + { x: 3266, y: 3266 }, + { x: 3267, y: 3267 }, + { x: 3268, y: 3268 }, + { x: 3269, y: 3269 }, + { x: 3270, y: 3270 }, + { x: 3271, y: 3271 }, + { x: 3272, y: 3272 }, + { x: 3273, y: 3273 }, + { x: 3274, y: 3274 }, + { x: 3275, y: 3275 }, + { x: 3276, y: 3276 }, + { x: 3277, y: 3277 }, + { x: 3278, y: 3278 }, + { x: 3279, y: 3279 }, + { x: 3280, y: 3280 }, + { x: 3281, y: 3281 }, + { x: 3282, y: 3282 }, + { x: 3283, y: 3283 }, + { x: 3284, y: 3284 }, + { x: 3285, y: 3285 }, + { x: 3286, y: 3286 }, + { x: 3287, y: 3287 }, + { x: 3288, y: 3288 }, + { x: 3289, y: 3289 }, + { x: 3290, y: 3290 }, + { x: 3291, y: 3291 }, + { x: 3292, y: 3292 }, + { x: 3293, y: 3293 }, + { x: 3294, y: 3294 }, + { x: 3295, y: 3295 }, + { x: 3296, y: 3296 }, + { x: 3297, y: 3297 }, + { x: 3298, y: 3298 }, + { x: 3299, y: 3299 }, + { x: 3300, y: 3300 }, + { x: 3301, y: 3301 }, + { x: 3302, y: 3302 }, + { x: 3303, y: 3303 }, + { x: 3304, y: 3304 }, + { x: 3305, y: 3305 }, + { x: 3306, y: 3306 }, + { x: 3307, y: 3307 }, + { x: 3308, y: 3308 }, + { x: 3309, y: 3309 }, + { x: 3310, y: 3310 }, + { x: 3311, y: 3311 }, + { x: 3312, y: 3312 }, + { x: 3313, y: 3313 }, + { x: 3314, y: 3314 }, + { x: 3315, y: 3315 }, + { x: 3316, y: 3316 }, + { x: 3317, y: 3317 }, + { x: 3318, y: 3318 }, + { x: 3319, y: 3319 }, + { x: 3320, y: 3320 }, + { x: 3321, y: 3321 }, + { x: 3322, y: 3322 }, + { x: 3323, y: 3323 }, + { x: 3324, y: 3324 }, + { x: 3325, y: 3325 }, + { x: 3326, y: 3326 }, + { x: 3327, y: 3327 }, + { x: 3328, y: 3328 }, + { x: 3329, y: 3329 }, + { x: 3330, y: 3330 }, + { x: 3331, y: 3331 }, + { x: 3332, y: 3332 }, + { x: 3333, y: 3333 }, + { x: 3334, y: 3334 }, + { x: 3335, y: 3335 }, + { x: 3336, y: 3336 }, + { x: 3337, y: 3337 }, + { x: 3338, y: 3338 }, + { x: 3339, y: 3339 }, + { x: 3340, y: 3340 }, + { x: 3341, y: 3341 }, + { x: 3342, y: 3342 }, + { x: 3343, y: 3343 }, + { x: 3344, y: 3344 }, + { x: 3345, y: 3345 }, + { x: 3346, y: 3346 }, + { x: 3347, y: 3347 }, + { x: 3348, y: 3348 }, + { x: 3349, y: 3349 }, + { x: 3350, y: 3350 }, + { x: 3351, y: 3351 }, + { x: 3352, y: 3352 }, + { x: 3353, y: 3353 }, + { x: 3354, y: 3354 }, + { x: 3355, y: 3355 }, + { x: 3356, y: 3356 }, + { x: 3357, y: 3357 }, + { x: 3358, y: 3358 }, + { x: 3359, y: 3359 }, + { x: 3360, y: 3360 }, + { x: 3361, y: 3361 }, + { x: 3362, y: 3362 }, + { x: 3363, y: 3363 }, + { x: 3364, y: 3364 }, + { x: 3365, y: 3365 }, + { x: 3366, y: 3366 }, + { x: 3367, y: 3367 }, + { x: 3368, y: 3368 }, + { x: 3369, y: 3369 }, + { x: 3370, y: 3370 }, + { x: 3371, y: 3371 }, + { x: 3372, y: 3372 }, + { x: 3373, y: 3373 }, + { x: 3374, y: 3374 }, + { x: 3375, y: 3375 }, + { x: 3376, y: 3376 }, + { x: 3377, y: 3377 }, + { x: 3378, y: 3378 }, + { x: 3379, y: 3379 }, + { x: 3380, y: 3380 }, + { x: 3381, y: 3381 }, + { x: 3382, y: 3382 }, + { x: 3383, y: 3383 }, + { x: 3384, y: 3384 }, + { x: 3385, y: 3385 }, + { x: 3386, y: 3386 }, + { x: 3387, y: 3387 }, + { x: 3388, y: 3388 }, + { x: 3389, y: 3389 }, + { x: 3390, y: 3390 }, + { x: 3391, y: 3391 }, + { x: 3392, y: 3392 }, + { x: 3393, y: 3393 }, + { x: 3394, y: 3394 }, + { x: 3395, y: 3395 }, + { x: 3396, y: 3396 }, + { x: 3397, y: 3397 }, + { x: 3398, y: 3398 }, + { x: 3399, y: 3399 }, + { x: 3400, y: 3400 }, + { x: 3401, y: 3401 }, + { x: 3402, y: 3402 }, + { x: 3403, y: 3403 }, + { x: 3404, y: 3404 }, + { x: 3405, y: 3405 }, + { x: 3406, y: 3406 }, + { x: 3407, y: 3407 }, + { x: 3408, y: 3408 }, + { x: 3409, y: 3409 }, + { x: 3410, y: 3410 }, + { x: 3411, y: 3411 }, + { x: 3412, y: 3412 }, + { x: 3413, y: 3413 }, + { x: 3414, y: 3414 }, + { x: 3415, y: 3415 }, + { x: 3416, y: 3416 }, + { x: 3417, y: 3417 }, + { x: 3418, y: 3418 }, + { x: 3419, y: 3419 }, + { x: 3420, y: 3420 }, + { x: 3421, y: 3421 }, + { x: 3422, y: 3422 }, + { x: 3423, y: 3423 }, + { x: 3424, y: 3424 }, + { x: 3425, y: 3425 }, + { x: 3426, y: 3426 }, + { x: 3427, y: 3427 }, + { x: 3428, y: 3428 }, + { x: 3429, y: 3429 }, + { x: 3430, y: 3430 }, + { x: 3431, y: 3431 }, + { x: 3432, y: 3432 }, + { x: 3433, y: 3433 }, + { x: 3434, y: 3434 }, + { x: 3435, y: 3435 }, + { x: 3436, y: 3436 }, + { x: 3437, y: 3437 }, + { x: 3438, y: 3438 }, + { x: 3439, y: 3439 }, + { x: 3440, y: 3440 }, + { x: 3441, y: 3441 }, + { x: 3442, y: 3442 }, + { x: 3443, y: 3443 }, + { x: 3444, y: 3444 }, + { x: 3445, y: 3445 }, + { x: 3446, y: 3446 }, + { x: 3447, y: 3447 }, + { x: 3448, y: 3448 }, + { x: 3449, y: 3449 }, + { x: 3450, y: 3450 }, + { x: 3451, y: 3451 }, + { x: 3452, y: 3452 }, + { x: 3453, y: 3453 }, + { x: 3454, y: 3454 }, + { x: 3455, y: 3455 }, + { x: 3456, y: 3456 }, + { x: 3457, y: 3457 }, + { x: 3458, y: 3458 }, + { x: 3459, y: 3459 }, + { x: 3460, y: 3460 }, + { x: 3461, y: 3461 }, + { x: 3462, y: 3462 }, + { x: 3463, y: 3463 }, + { x: 3464, y: 3464 }, + { x: 3465, y: 3465 }, + { x: 3466, y: 3466 }, + { x: 3467, y: 3467 }, + { x: 3468, y: 3468 }, + { x: 3469, y: 3469 }, + { x: 3470, y: 3470 }, + { x: 3471, y: 3471 }, + { x: 3472, y: 3472 }, + { x: 3473, y: 3473 }, + { x: 3474, y: 3474 }, + { x: 3475, y: 3475 }, + { x: 3476, y: 3476 }, + { x: 3477, y: 3477 }, + { x: 3478, y: 3478 }, + { x: 3479, y: 3479 }, + { x: 3480, y: 3480 }, + { x: 3481, y: 3481 }, + { x: 3482, y: 3482 }, + { x: 3483, y: 3483 }, + { x: 3484, y: 3484 }, + { x: 3485, y: 3485 }, + { x: 3486, y: 3486 }, + { x: 3487, y: 3487 }, + { x: 3488, y: 3488 }, + { x: 3489, y: 3489 }, + { x: 3490, y: 3490 }, + { x: 3491, y: 3491 }, + { x: 3492, y: 3492 }, + { x: 3493, y: 3493 }, + { x: 3494, y: 3494 }, + { x: 3495, y: 3495 }, + { x: 3496, y: 3496 }, + { x: 3497, y: 3497 }, + { x: 3498, y: 3498 }, + { x: 3499, y: 3499 }, + { x: 3500, y: 3500 }, + { x: 3501, y: 3501 }, + { x: 3502, y: 3502 }, + { x: 3503, y: 3503 }, + { x: 3504, y: 3504 }, + { x: 3505, y: 3505 }, + { x: 3506, y: 3506 }, + { x: 3507, y: 3507 }, + { x: 3508, y: 3508 }, + { x: 3509, y: 3509 }, + { x: 3510, y: 3510 }, + { x: 3511, y: 3511 }, + { x: 3512, y: 3512 }, + { x: 3513, y: 3513 }, + { x: 3514, y: 3514 }, + { x: 3515, y: 3515 }, + { x: 3516, y: 3516 }, + { x: 3517, y: 3517 }, + { x: 3518, y: 3518 }, + { x: 3519, y: 3519 }, + { x: 3520, y: 3520 }, + { x: 3521, y: 3521 }, + { x: 3522, y: 3522 }, + { x: 3523, y: 3523 }, + { x: 3524, y: 3524 }, + { x: 3525, y: 3525 }, + { x: 3526, y: 3526 }, + { x: 3527, y: 3527 }, + { x: 3528, y: 3528 }, + { x: 3529, y: 3529 }, + { x: 3530, y: 3530 }, + { x: 3531, y: 3531 }, + { x: 3532, y: 3532 }, + { x: 3533, y: 3533 }, + { x: 3534, y: 3534 }, + { x: 3535, y: 3535 }, + { x: 3536, y: 3536 }, + { x: 3537, y: 3537 }, + { x: 3538, y: 3538 }, + { x: 3539, y: 3539 }, + { x: 3540, y: 3540 }, + { x: 3541, y: 3541 }, + { x: 3542, y: 3542 }, + { x: 3543, y: 3543 }, + { x: 3544, y: 3544 }, + { x: 3545, y: 3545 }, + { x: 3546, y: 3546 }, + { x: 3547, y: 3547 }, + { x: 3548, y: 3548 }, + { x: 3549, y: 3549 }, + { x: 3550, y: 3550 }, + { x: 3551, y: 3551 }, + { x: 3552, y: 3552 }, + { x: 3553, y: 3553 }, + { x: 3554, y: 3554 }, + { x: 3555, y: 3555 }, + { x: 3556, y: 3556 }, + { x: 3557, y: 3557 }, + { x: 3558, y: 3558 }, + { x: 3559, y: 3559 }, + { x: 3560, y: 3560 }, + { x: 3561, y: 3561 }, + { x: 3562, y: 3562 }, + { x: 3563, y: 3563 }, + { x: 3564, y: 3564 }, + { x: 3565, y: 3565 }, + { x: 3566, y: 3566 }, + { x: 3567, y: 3567 }, + { x: 3568, y: 3568 }, + { x: 3569, y: 3569 }, + { x: 3570, y: 3570 }, + { x: 3571, y: 3571 }, + { x: 3572, y: 3572 }, + { x: 3573, y: 3573 }, + { x: 3574, y: 3574 }, + { x: 3575, y: 3575 }, + { x: 3576, y: 3576 }, + { x: 3577, y: 3577 }, + { x: 3578, y: 3578 }, + { x: 3579, y: 3579 }, + { x: 3580, y: 3580 }, + { x: 3581, y: 3581 }, + { x: 3582, y: 3582 }, + { x: 3583, y: 3583 }, + { x: 3584, y: 3584 }, + { x: 3585, y: 3585 }, + { x: 3586, y: 3586 }, + { x: 3587, y: 3587 }, + { x: 3588, y: 3588 }, + { x: 3589, y: 3589 }, + { x: 3590, y: 3590 }, + { x: 3591, y: 3591 }, + { x: 3592, y: 3592 }, + { x: 3593, y: 3593 }, + { x: 3594, y: 3594 }, + { x: 3595, y: 3595 }, + { x: 3596, y: 3596 }, + { x: 3597, y: 3597 }, + { x: 3598, y: 3598 }, + { x: 3599, y: 3599 }, + { x: 3600, y: 3600 }, + { x: 3601, y: 3601 }, + { x: 3602, y: 3602 }, + { x: 3603, y: 3603 }, + { x: 3604, y: 3604 }, + { x: 3605, y: 3605 }, + { x: 3606, y: 3606 }, + { x: 3607, y: 3607 }, + { x: 3608, y: 3608 }, + { x: 3609, y: 3609 }, + { x: 3610, y: 3610 }, + { x: 3611, y: 3611 }, + { x: 3612, y: 3612 }, + { x: 3613, y: 3613 }, + { x: 3614, y: 3614 }, + { x: 3615, y: 3615 }, + { x: 3616, y: 3616 }, + { x: 3617, y: 3617 }, + { x: 3618, y: 3618 }, + { x: 3619, y: 3619 }, + { x: 3620, y: 3620 }, + { x: 3621, y: 3621 }, + { x: 3622, y: 3622 }, + { x: 3623, y: 3623 }, + { x: 3624, y: 3624 }, + { x: 3625, y: 3625 }, + { x: 3626, y: 3626 }, + { x: 3627, y: 3627 }, + { x: 3628, y: 3628 }, + { x: 3629, y: 3629 }, + { x: 3630, y: 3630 }, + { x: 3631, y: 3631 }, + { x: 3632, y: 3632 }, + { x: 3633, y: 3633 }, + { x: 3634, y: 3634 }, + { x: 3635, y: 3635 }, + { x: 3636, y: 3636 }, + { x: 3637, y: 3637 }, + { x: 3638, y: 3638 }, + { x: 3639, y: 3639 }, + { x: 3640, y: 3640 }, + { x: 3641, y: 3641 }, + { x: 3642, y: 3642 }, + { x: 3643, y: 3643 }, + { x: 3644, y: 3644 }, + { x: 3645, y: 3645 }, + { x: 3646, y: 3646 }, + { x: 3647, y: 3647 }, + { x: 3648, y: 3648 }, + { x: 3649, y: 3649 }, + { x: 3650, y: 3650 }, + { x: 3651, y: 3651 }, + { x: 3652, y: 3652 }, + { x: 3653, y: 3653 }, + { x: 3654, y: 3654 }, + { x: 3655, y: 3655 }, + { x: 3656, y: 3656 }, + { x: 3657, y: 3657 }, + { x: 3658, y: 3658 }, + { x: 3659, y: 3659 }, + { x: 3660, y: 3660 }, + { x: 3661, y: 3661 }, + { x: 3662, y: 3662 }, + { x: 3663, y: 3663 }, + { x: 3664, y: 3664 }, + { x: 3665, y: 3665 }, + { x: 3666, y: 3666 }, + { x: 3667, y: 3667 }, + { x: 3668, y: 3668 }, + { x: 3669, y: 3669 }, + { x: 3670, y: 3670 }, + { x: 3671, y: 3671 }, + { x: 3672, y: 3672 }, + { x: 3673, y: 3673 }, + { x: 3674, y: 3674 }, + { x: 3675, y: 3675 }, + { x: 3676, y: 3676 }, + { x: 3677, y: 3677 }, + { x: 3678, y: 3678 }, + { x: 3679, y: 3679 }, + { x: 3680, y: 3680 }, + { x: 3681, y: 3681 }, + { x: 3682, y: 3682 }, + { x: 3683, y: 3683 }, + { x: 3684, y: 3684 }, + { x: 3685, y: 3685 }, + { x: 3686, y: 3686 }, + { x: 3687, y: 3687 }, + { x: 3688, y: 3688 }, + { x: 3689, y: 3689 }, + { x: 3690, y: 3690 }, + { x: 3691, y: 3691 }, + { x: 3692, y: 3692 }, + { x: 3693, y: 3693 }, + { x: 3694, y: 3694 }, + { x: 3695, y: 3695 }, + { x: 3696, y: 3696 }, + { x: 3697, y: 3697 }, + { x: 3698, y: 3698 }, + { x: 3699, y: 3699 }, + { x: 3700, y: 3700 }, + { x: 3701, y: 3701 }, + { x: 3702, y: 3702 }, + { x: 3703, y: 3703 }, + { x: 3704, y: 3704 }, + { x: 3705, y: 3705 }, + { x: 3706, y: 3706 }, + { x: 3707, y: 3707 }, + { x: 3708, y: 3708 }, + { x: 3709, y: 3709 }, + { x: 3710, y: 3710 }, + { x: 3711, y: 3711 }, + { x: 3712, y: 3712 }, + { x: 3713, y: 3713 }, + { x: 3714, y: 3714 }, + { x: 3715, y: 3715 }, + { x: 3716, y: 3716 }, + { x: 3717, y: 3717 }, + { x: 3718, y: 3718 }, + { x: 3719, y: 3719 }, + { x: 3720, y: 3720 }, + { x: 3721, y: 3721 }, + { x: 3722, y: 3722 }, + { x: 3723, y: 3723 }, + { x: 3724, y: 3724 }, + { x: 3725, y: 3725 }, + { x: 3726, y: 3726 }, + { x: 3727, y: 3727 }, + { x: 3728, y: 3728 }, + { x: 3729, y: 3729 }, + { x: 3730, y: 3730 }, + { x: 3731, y: 3731 }, + { x: 3732, y: 3732 }, + { x: 3733, y: 3733 }, + { x: 3734, y: 3734 }, + { x: 3735, y: 3735 }, + { x: 3736, y: 3736 }, + { x: 3737, y: 3737 }, + { x: 3738, y: 3738 }, + { x: 3739, y: 3739 }, + { x: 3740, y: 3740 }, + { x: 3741, y: 3741 }, + { x: 3742, y: 3742 }, + { x: 3743, y: 3743 }, + { x: 3744, y: 3744 }, + { x: 3745, y: 3745 }, + { x: 3746, y: 3746 }, + { x: 3747, y: 3747 }, + { x: 3748, y: 3748 }, + { x: 3749, y: 3749 }, + { x: 3750, y: 3750 }, + { x: 3751, y: 3751 }, + { x: 3752, y: 3752 }, + { x: 3753, y: 3753 }, + { x: 3754, y: 3754 }, + { x: 3755, y: 3755 }, + { x: 3756, y: 3756 }, + { x: 3757, y: 3757 }, + { x: 3758, y: 3758 }, + { x: 3759, y: 3759 }, + { x: 3760, y: 3760 }, + { x: 3761, y: 3761 }, + { x: 3762, y: 3762 }, + { x: 3763, y: 3763 }, + { x: 3764, y: 3764 }, + { x: 3765, y: 3765 }, + { x: 3766, y: 3766 }, + { x: 3767, y: 3767 }, + { x: 3768, y: 3768 }, + { x: 3769, y: 3769 }, + { x: 3770, y: 3770 }, + { x: 3771, y: 3771 }, + { x: 3772, y: 3772 }, + { x: 3773, y: 3773 }, + { x: 3774, y: 3774 }, + { x: 3775, y: 3775 }, + { x: 3776, y: 3776 }, + { x: 3777, y: 3777 }, + { x: 3778, y: 3778 }, + { x: 3779, y: 3779 }, + { x: 3780, y: 3780 }, + { x: 3781, y: 3781 }, + { x: 3782, y: 3782 }, + { x: 3783, y: 3783 }, + { x: 3784, y: 3784 }, + { x: 3785, y: 3785 }, + { x: 3786, y: 3786 }, + { x: 3787, y: 3787 }, + { x: 3788, y: 3788 }, + { x: 3789, y: 3789 }, + { x: 3790, y: 3790 }, + { x: 3791, y: 3791 }, + { x: 3792, y: 3792 }, + { x: 3793, y: 3793 }, + { x: 3794, y: 3794 }, + { x: 3795, y: 3795 }, + { x: 3796, y: 3796 }, + { x: 3797, y: 3797 }, + { x: 3798, y: 3798 }, + { x: 3799, y: 3799 }, + { x: 3800, y: 3800 }, + { x: 3801, y: 3801 }, + { x: 3802, y: 3802 }, + { x: 3803, y: 3803 }, + { x: 3804, y: 3804 }, + { x: 3805, y: 3805 }, + { x: 3806, y: 3806 }, + { x: 3807, y: 3807 }, + { x: 3808, y: 3808 }, + { x: 3809, y: 3809 }, + { x: 3810, y: 3810 }, + { x: 3811, y: 3811 }, + { x: 3812, y: 3812 }, + { x: 3813, y: 3813 }, + { x: 3814, y: 3814 }, + { x: 3815, y: 3815 }, + { x: 3816, y: 3816 }, + { x: 3817, y: 3817 }, + { x: 3818, y: 3818 }, + { x: 3819, y: 3819 }, + { x: 3820, y: 3820 }, + { x: 3821, y: 3821 }, + { x: 3822, y: 3822 }, + { x: 3823, y: 3823 }, + { x: 3824, y: 3824 }, + { x: 3825, y: 3825 }, + { x: 3826, y: 3826 }, + { x: 3827, y: 3827 }, + { x: 3828, y: 3828 }, + { x: 3829, y: 3829 }, + { x: 3830, y: 3830 }, + { x: 3831, y: 3831 }, + { x: 3832, y: 3832 }, + { x: 3833, y: 3833 }, + { x: 3834, y: 3834 }, + { x: 3835, y: 3835 }, + { x: 3836, y: 3836 }, + { x: 3837, y: 3837 }, + { x: 3838, y: 3838 }, + { x: 3839, y: 3839 }, + { x: 3840, y: 3840 }, + { x: 3841, y: 3841 }, + { x: 3842, y: 3842 }, + { x: 3843, y: 3843 }, + { x: 3844, y: 3844 }, + { x: 3845, y: 3845 }, + { x: 3846, y: 3846 }, + { x: 3847, y: 3847 }, + { x: 3848, y: 3848 }, + { x: 3849, y: 3849 }, + { x: 3850, y: 3850 }, + { x: 3851, y: 3851 }, + { x: 3852, y: 3852 }, + { x: 3853, y: 3853 }, + { x: 3854, y: 3854 }, + { x: 3855, y: 3855 }, + { x: 3856, y: 3856 }, + { x: 3857, y: 3857 }, + { x: 3858, y: 3858 }, + { x: 3859, y: 3859 }, + { x: 3860, y: 3860 }, + { x: 3861, y: 3861 }, + { x: 3862, y: 3862 }, + { x: 3863, y: 3863 }, + { x: 3864, y: 3864 }, + { x: 3865, y: 3865 }, + { x: 3866, y: 3866 }, + { x: 3867, y: 3867 }, + { x: 3868, y: 3868 }, + { x: 3869, y: 3869 }, + { x: 3870, y: 3870 }, + { x: 3871, y: 3871 }, + { x: 3872, y: 3872 }, + { x: 3873, y: 3873 }, + { x: 3874, y: 3874 }, + { x: 3875, y: 3875 }, + { x: 3876, y: 3876 }, + { x: 3877, y: 3877 }, + { x: 3878, y: 3878 }, + { x: 3879, y: 3879 }, + { x: 3880, y: 3880 }, + { x: 3881, y: 3881 }, + { x: 3882, y: 3882 }, + { x: 3883, y: 3883 }, + { x: 3884, y: 3884 }, + { x: 3885, y: 3885 }, + { x: 3886, y: 3886 }, + { x: 3887, y: 3887 }, + { x: 3888, y: 3888 }, + { x: 3889, y: 3889 }, + { x: 3890, y: 3890 }, + { x: 3891, y: 3891 }, + { x: 3892, y: 3892 }, + { x: 3893, y: 3893 }, + { x: 3894, y: 3894 }, + { x: 3895, y: 3895 }, + { x: 3896, y: 3896 }, + { x: 3897, y: 3897 }, + { x: 3898, y: 3898 }, + { x: 3899, y: 3899 }, + { x: 3900, y: 3900 }, + { x: 3901, y: 3901 }, + { x: 3902, y: 3902 }, + { x: 3903, y: 3903 }, + { x: 3904, y: 3904 }, + { x: 3905, y: 3905 }, + { x: 3906, y: 3906 }, + { x: 3907, y: 3907 }, + { x: 3908, y: 3908 }, + { x: 3909, y: 3909 }, + { x: 3910, y: 3910 }, + { x: 3911, y: 3911 }, + { x: 3912, y: 3912 }, + { x: 3913, y: 3913 }, + { x: 3914, y: 3914 }, + { x: 3915, y: 3915 }, + { x: 3916, y: 3916 }, + { x: 3917, y: 3917 }, + { x: 3918, y: 3918 }, + { x: 3919, y: 3919 }, + { x: 3920, y: 3920 }, + { x: 3921, y: 3921 }, + { x: 3922, y: 3922 }, + { x: 3923, y: 3923 }, + { x: 3924, y: 3924 }, + { x: 3925, y: 3925 }, + { x: 3926, y: 3926 }, + { x: 3927, y: 3927 }, + { x: 3928, y: 3928 }, + { x: 3929, y: 3929 }, + { x: 3930, y: 3930 }, + { x: 3931, y: 3931 }, + { x: 3932, y: 3932 }, + { x: 3933, y: 3933 }, + { x: 3934, y: 3934 }, + { x: 3935, y: 3935 }, + { x: 3936, y: 3936 }, + { x: 3937, y: 3937 }, + { x: 3938, y: 3938 }, + { x: 3939, y: 3939 }, + { x: 3940, y: 3940 }, + { x: 3941, y: 3941 }, + { x: 3942, y: 3942 }, + { x: 3943, y: 3943 }, + { x: 3944, y: 3944 }, + { x: 3945, y: 3945 }, + { x: 3946, y: 3946 }, + { x: 3947, y: 3947 }, + { x: 3948, y: 3948 }, + { x: 3949, y: 3949 }, + { x: 3950, y: 3950 }, + { x: 3951, y: 3951 }, + { x: 3952, y: 3952 }, + { x: 3953, y: 3953 }, + { x: 3954, y: 3954 }, + { x: 3955, y: 3955 }, + { x: 3956, y: 3956 }, + { x: 3957, y: 3957 }, + { x: 3958, y: 3958 }, + { x: 3959, y: 3959 }, + { x: 3960, y: 3960 }, + { x: 3961, y: 3961 }, + { x: 3962, y: 3962 }, + { x: 3963, y: 3963 }, + { x: 3964, y: 3964 }, + { x: 3965, y: 3965 }, + { x: 3966, y: 3966 }, + { x: 3967, y: 3967 }, + { x: 3968, y: 3968 }, + { x: 3969, y: 3969 }, + { x: 3970, y: 3970 }, + { x: 3971, y: 3971 }, + { x: 3972, y: 3972 }, + { x: 3973, y: 3973 }, + { x: 3974, y: 3974 }, + { x: 3975, y: 3975 }, + { x: 3976, y: 3976 }, + { x: 3977, y: 3977 }, + { x: 3978, y: 3978 }, + { x: 3979, y: 3979 }, + { x: 3980, y: 3980 }, + { x: 3981, y: 3981 }, + { x: 3982, y: 3982 }, + { x: 3983, y: 3983 }, + { x: 3984, y: 3984 }, + { x: 3985, y: 3985 }, + { x: 3986, y: 3986 }, + { x: 3987, y: 3987 }, + { x: 3988, y: 3988 }, + { x: 3989, y: 3989 }, + { x: 3990, y: 3990 }, + { x: 3991, y: 3991 }, + { x: 3992, y: 3992 }, + { x: 3993, y: 3993 }, + { x: 3994, y: 3994 }, + { x: 3995, y: 3995 }, + { x: 3996, y: 3996 }, + { x: 3997, y: 3997 }, + { x: 3998, y: 3998 }, + { x: 3999, y: 3999 }, + { x: 4000, y: 4000 }, + { x: 4001, y: 4001 }, + { x: 4002, y: 4002 }, + { x: 4003, y: 4003 }, + { x: 4004, y: 4004 }, + { x: 4005, y: 4005 }, + { x: 4006, y: 4006 }, + { x: 4007, y: 4007 }, + { x: 4008, y: 4008 }, + { x: 4009, y: 4009 }, + { x: 4010, y: 4010 }, + { x: 4011, y: 4011 }, + { x: 4012, y: 4012 }, + { x: 4013, y: 4013 }, + { x: 4014, y: 4014 }, + { x: 4015, y: 4015 }, + { x: 4016, y: 4016 }, + { x: 4017, y: 4017 }, + { x: 4018, y: 4018 }, + { x: 4019, y: 4019 }, + { x: 4020, y: 4020 }, + { x: 4021, y: 4021 }, + { x: 4022, y: 4022 }, + { x: 4023, y: 4023 }, + { x: 4024, y: 4024 }, + { x: 4025, y: 4025 }, + { x: 4026, y: 4026 }, + { x: 4027, y: 4027 }, + { x: 4028, y: 4028 }, + { x: 4029, y: 4029 }, + { x: 4030, y: 4030 }, + { x: 4031, y: 4031 }, + { x: 4032, y: 4032 }, + { x: 4033, y: 4033 }, + { x: 4034, y: 4034 }, + { x: 4035, y: 4035 }, + { x: 4036, y: 4036 }, + { x: 4037, y: 4037 }, + { x: 4038, y: 4038 }, + { x: 4039, y: 4039 }, + { x: 4040, y: 4040 }, + { x: 4041, y: 4041 }, + { x: 4042, y: 4042 }, + { x: 4043, y: 4043 }, + { x: 4044, y: 4044 }, + { x: 4045, y: 4045 }, + { x: 4046, y: 4046 }, + { x: 4047, y: 4047 }, + { x: 4048, y: 4048 }, + { x: 4049, y: 4049 }, + { x: 4050, y: 4050 }, + { x: 4051, y: 4051 }, + { x: 4052, y: 4052 }, + { x: 4053, y: 4053 }, + { x: 4054, y: 4054 }, + { x: 4055, y: 4055 }, + { x: 4056, y: 4056 }, + { x: 4057, y: 4057 }, + { x: 4058, y: 4058 }, + { x: 4059, y: 4059 }, + { x: 4060, y: 4060 }, + { x: 4061, y: 4061 }, + { x: 4062, y: 4062 }, + { x: 4063, y: 4063 }, + { x: 4064, y: 4064 }, + { x: 4065, y: 4065 }, + { x: 4066, y: 4066 }, + { x: 4067, y: 4067 }, + { x: 4068, y: 4068 }, + { x: 4069, y: 4069 }, + { x: 4070, y: 4070 }, + { x: 4071, y: 4071 }, + { x: 4072, y: 4072 }, + { x: 4073, y: 4073 }, + { x: 4074, y: 4074 }, + { x: 4075, y: 4075 }, + { x: 4076, y: 4076 }, + { x: 4077, y: 4077 }, + { x: 4078, y: 4078 }, + { x: 4079, y: 4079 }, + { x: 4080, y: 4080 }, + { x: 4081, y: 4081 }, + { x: 4082, y: 4082 }, + { x: 4083, y: 4083 }, + { x: 4084, y: 4084 }, + { x: 4085, y: 4085 }, + { x: 4086, y: 4086 }, + { x: 4087, y: 4087 }, + { x: 4088, y: 4088 }, + { x: 4089, y: 4089 }, + { x: 4090, y: 4090 }, + { x: 4091, y: 4091 }, + { x: 4092, y: 4092 }, + { x: 4093, y: 4093 }, + { x: 4094, y: 4094 }, + { x: 4095, y: 4095 }, + { x: 4096, y: 4096 }, + { x: 4097, y: 4097 }, + { x: 4098, y: 4098 }, + { x: 4099, y: 4099 }, + { x: 4100, y: 4100 }, + { x: 4101, y: 4101 }, + { x: 4102, y: 4102 }, + { x: 4103, y: 4103 }, + { x: 4104, y: 4104 }, + { x: 4105, y: 4105 }, + { x: 4106, y: 4106 }, + { x: 4107, y: 4107 }, + { x: 4108, y: 4108 }, + { x: 4109, y: 4109 }, + { x: 4110, y: 4110 }, + { x: 4111, y: 4111 }, + { x: 4112, y: 4112 }, + { x: 4113, y: 4113 }, + { x: 4114, y: 4114 }, + { x: 4115, y: 4115 }, + { x: 4116, y: 4116 }, + { x: 4117, y: 4117 }, + { x: 4118, y: 4118 }, + { x: 4119, y: 4119 }, + { x: 4120, y: 4120 }, + { x: 4121, y: 4121 }, + { x: 4122, y: 4122 }, + { x: 4123, y: 4123 }, + { x: 4124, y: 4124 }, + { x: 4125, y: 4125 }, + { x: 4126, y: 4126 }, + { x: 4127, y: 4127 }, + { x: 4128, y: 4128 }, + { x: 4129, y: 4129 }, + { x: 4130, y: 4130 }, + { x: 4131, y: 4131 }, + { x: 4132, y: 4132 }, + { x: 4133, y: 4133 }, + { x: 4134, y: 4134 }, + { x: 4135, y: 4135 }, + { x: 4136, y: 4136 }, + { x: 4137, y: 4137 }, + { x: 4138, y: 4138 }, + { x: 4139, y: 4139 }, + { x: 4140, y: 4140 }, + { x: 4141, y: 4141 }, + { x: 4142, y: 4142 }, + { x: 4143, y: 4143 }, + { x: 4144, y: 4144 }, + { x: 4145, y: 4145 }, + { x: 4146, y: 4146 }, + { x: 4147, y: 4147 }, + { x: 4148, y: 4148 }, + { x: 4149, y: 4149 }, + { x: 4150, y: 4150 }, + { x: 4151, y: 4151 }, + { x: 4152, y: 4152 }, + { x: 4153, y: 4153 }, + { x: 4154, y: 4154 }, + { x: 4155, y: 4155 }, + { x: 4156, y: 4156 }, + { x: 4157, y: 4157 }, + { x: 4158, y: 4158 }, + { x: 4159, y: 4159 }, + { x: 4160, y: 4160 }, + { x: 4161, y: 4161 }, + { x: 4162, y: 4162 }, + { x: 4163, y: 4163 }, + { x: 4164, y: 4164 }, + { x: 4165, y: 4165 }, + { x: 4166, y: 4166 }, + { x: 4167, y: 4167 }, + { x: 4168, y: 4168 }, + { x: 4169, y: 4169 }, + { x: 4170, y: 4170 }, + { x: 4171, y: 4171 }, + { x: 4172, y: 4172 }, + { x: 4173, y: 4173 }, + { x: 4174, y: 4174 }, + { x: 4175, y: 4175 }, + { x: 4176, y: 4176 }, + { x: 4177, y: 4177 }, + { x: 4178, y: 4178 }, + { x: 4179, y: 4179 }, + { x: 4180, y: 4180 }, + { x: 4181, y: 4181 }, + { x: 4182, y: 4182 }, + { x: 4183, y: 4183 }, + { x: 4184, y: 4184 }, + { x: 4185, y: 4185 }, + { x: 4186, y: 4186 }, + { x: 4187, y: 4187 }, + { x: 4188, y: 4188 }, + { x: 4189, y: 4189 }, + { x: 4190, y: 4190 }, + { x: 4191, y: 4191 }, + { x: 4192, y: 4192 }, + { x: 4193, y: 4193 }, + { x: 4194, y: 4194 }, + { x: 4195, y: 4195 }, + { x: 4196, y: 4196 }, + { x: 4197, y: 4197 }, + { x: 4198, y: 4198 }, + { x: 4199, y: 4199 }, + { x: 4200, y: 4200 }, + { x: 4201, y: 4201 }, + { x: 4202, y: 4202 }, + { x: 4203, y: 4203 }, + { x: 4204, y: 4204 }, + { x: 4205, y: 4205 }, + { x: 4206, y: 4206 }, + { x: 4207, y: 4207 }, + { x: 4208, y: 4208 }, + { x: 4209, y: 4209 }, + { x: 4210, y: 4210 }, + { x: 4211, y: 4211 }, + { x: 4212, y: 4212 }, + { x: 4213, y: 4213 }, + { x: 4214, y: 4214 }, + { x: 4215, y: 4215 }, + { x: 4216, y: 4216 }, + { x: 4217, y: 4217 }, + { x: 4218, y: 4218 }, + { x: 4219, y: 4219 }, + { x: 4220, y: 4220 }, + { x: 4221, y: 4221 }, + { x: 4222, y: 4222 }, + { x: 4223, y: 4223 }, + { x: 4224, y: 4224 }, + { x: 4225, y: 4225 }, + { x: 4226, y: 4226 }, + { x: 4227, y: 4227 }, + { x: 4228, y: 4228 }, + { x: 4229, y: 4229 }, + { x: 4230, y: 4230 }, + { x: 4231, y: 4231 }, + { x: 4232, y: 4232 }, + { x: 4233, y: 4233 }, + { x: 4234, y: 4234 }, + { x: 4235, y: 4235 }, + { x: 4236, y: 4236 }, + { x: 4237, y: 4237 }, + { x: 4238, y: 4238 }, + { x: 4239, y: 4239 }, + { x: 4240, y: 4240 }, + { x: 4241, y: 4241 }, + { x: 4242, y: 4242 }, + { x: 4243, y: 4243 }, + { x: 4244, y: 4244 }, + { x: 4245, y: 4245 }, + { x: 4246, y: 4246 }, + { x: 4247, y: 4247 }, + { x: 4248, y: 4248 }, + { x: 4249, y: 4249 }, + { x: 4250, y: 4250 }, + { x: 4251, y: 4251 }, + { x: 4252, y: 4252 }, + { x: 4253, y: 4253 }, + { x: 4254, y: 4254 }, + { x: 4255, y: 4255 }, + { x: 4256, y: 4256 }, + { x: 4257, y: 4257 }, + { x: 4258, y: 4258 }, + { x: 4259, y: 4259 }, + { x: 4260, y: 4260 }, + { x: 4261, y: 4261 }, + { x: 4262, y: 4262 }, + { x: 4263, y: 4263 }, + { x: 4264, y: 4264 }, + { x: 4265, y: 4265 }, + { x: 4266, y: 4266 }, + { x: 4267, y: 4267 }, + { x: 4268, y: 4268 }, + { x: 4269, y: 4269 }, + { x: 4270, y: 4270 }, + { x: 4271, y: 4271 }, + { x: 4272, y: 4272 }, + { x: 4273, y: 4273 }, + { x: 4274, y: 4274 }, + { x: 4275, y: 4275 }, + { x: 4276, y: 4276 }, + { x: 4277, y: 4277 }, + { x: 4278, y: 4278 }, + { x: 4279, y: 4279 }, + { x: 4280, y: 4280 }, + { x: 4281, y: 4281 }, + { x: 4282, y: 4282 }, + { x: 4283, y: 4283 }, + { x: 4284, y: 4284 }, + { x: 4285, y: 4285 }, + { x: 4286, y: 4286 }, + { x: 4287, y: 4287 }, + { x: 4288, y: 4288 }, + { x: 4289, y: 4289 }, + { x: 4290, y: 4290 }, + { x: 4291, y: 4291 }, + { x: 4292, y: 4292 }, + { x: 4293, y: 4293 }, + { x: 4294, y: 4294 }, + { x: 4295, y: 4295 }, + { x: 4296, y: 4296 }, + { x: 4297, y: 4297 }, + { x: 4298, y: 4298 }, + { x: 4299, y: 4299 }, + { x: 4300, y: 4300 }, + { x: 4301, y: 4301 }, + { x: 4302, y: 4302 }, + { x: 4303, y: 4303 }, + { x: 4304, y: 4304 }, + { x: 4305, y: 4305 }, + { x: 4306, y: 4306 }, + { x: 4307, y: 4307 }, + { x: 4308, y: 4308 }, + { x: 4309, y: 4309 }, + { x: 4310, y: 4310 }, + { x: 4311, y: 4311 }, + { x: 4312, y: 4312 }, + { x: 4313, y: 4313 }, + { x: 4314, y: 4314 }, + { x: 4315, y: 4315 }, + { x: 4316, y: 4316 }, + { x: 4317, y: 4317 }, + { x: 4318, y: 4318 }, + { x: 4319, y: 4319 }, + { x: 4320, y: 4320 }, + { x: 4321, y: 4321 }, + { x: 4322, y: 4322 }, + { x: 4323, y: 4323 }, + { x: 4324, y: 4324 }, + { x: 4325, y: 4325 }, + { x: 4326, y: 4326 }, + { x: 4327, y: 4327 }, + { x: 4328, y: 4328 }, + { x: 4329, y: 4329 }, + { x: 4330, y: 4330 }, + { x: 4331, y: 4331 }, + { x: 4332, y: 4332 }, + { x: 4333, y: 4333 }, + { x: 4334, y: 4334 }, + { x: 4335, y: 4335 }, + { x: 4336, y: 4336 }, + { x: 4337, y: 4337 }, + { x: 4338, y: 4338 }, + { x: 4339, y: 4339 }, + { x: 4340, y: 4340 }, + { x: 4341, y: 4341 }, + { x: 4342, y: 4342 }, + { x: 4343, y: 4343 }, + { x: 4344, y: 4344 }, + { x: 4345, y: 4345 }, + { x: 4346, y: 4346 }, + { x: 4347, y: 4347 }, + { x: 4348, y: 4348 }, + { x: 4349, y: 4349 }, + { x: 4350, y: 4350 }, + { x: 4351, y: 4351 }, + { x: 4352, y: 4352 }, + { x: 4353, y: 4353 }, + { x: 4354, y: 4354 }, + { x: 4355, y: 4355 }, + { x: 4356, y: 4356 }, + { x: 4357, y: 4357 }, + { x: 4358, y: 4358 }, + { x: 4359, y: 4359 }, + { x: 4360, y: 4360 }, + { x: 4361, y: 4361 }, + { x: 4362, y: 4362 }, + { x: 4363, y: 4363 }, + { x: 4364, y: 4364 }, + { x: 4365, y: 4365 }, + { x: 4366, y: 4366 }, + { x: 4367, y: 4367 }, + { x: 4368, y: 4368 }, + { x: 4369, y: 4369 }, + { x: 4370, y: 4370 }, + { x: 4371, y: 4371 }, + { x: 4372, y: 4372 }, + { x: 4373, y: 4373 }, + { x: 4374, y: 4374 }, + { x: 4375, y: 4375 }, + { x: 4376, y: 4376 }, + { x: 4377, y: 4377 }, + { x: 4378, y: 4378 }, + { x: 4379, y: 4379 }, + { x: 4380, y: 4380 }, + { x: 4381, y: 4381 }, + { x: 4382, y: 4382 }, + { x: 4383, y: 4383 }, + { x: 4384, y: 4384 }, + { x: 4385, y: 4385 }, + { x: 4386, y: 4386 }, + { x: 4387, y: 4387 }, + { x: 4388, y: 4388 }, + { x: 4389, y: 4389 }, + { x: 4390, y: 4390 }, + { x: 4391, y: 4391 }, + { x: 4392, y: 4392 }, + { x: 4393, y: 4393 }, + { x: 4394, y: 4394 }, + { x: 4395, y: 4395 }, + { x: 4396, y: 4396 }, + { x: 4397, y: 4397 }, + { x: 4398, y: 4398 }, + { x: 4399, y: 4399 }, + { x: 4400, y: 4400 }, + { x: 4401, y: 4401 }, + { x: 4402, y: 4402 }, + { x: 4403, y: 4403 }, + { x: 4404, y: 4404 }, + { x: 4405, y: 4405 }, + { x: 4406, y: 4406 }, + { x: 4407, y: 4407 }, + { x: 4408, y: 4408 }, + { x: 4409, y: 4409 }, + { x: 4410, y: 4410 }, + { x: 4411, y: 4411 }, + { x: 4412, y: 4412 }, + { x: 4413, y: 4413 }, + { x: 4414, y: 4414 }, + { x: 4415, y: 4415 }, + { x: 4416, y: 4416 }, + { x: 4417, y: 4417 }, + { x: 4418, y: 4418 }, + { x: 4419, y: 4419 }, + { x: 4420, y: 4420 }, + { x: 4421, y: 4421 }, + { x: 4422, y: 4422 }, + { x: 4423, y: 4423 }, + { x: 4424, y: 4424 }, + { x: 4425, y: 4425 }, + { x: 4426, y: 4426 }, + { x: 4427, y: 4427 }, + { x: 4428, y: 4428 }, + { x: 4429, y: 4429 }, + { x: 4430, y: 4430 }, + { x: 4431, y: 4431 }, + { x: 4432, y: 4432 }, + { x: 4433, y: 4433 }, + { x: 4434, y: 4434 }, + { x: 4435, y: 4435 }, + { x: 4436, y: 4436 }, + { x: 4437, y: 4437 }, + { x: 4438, y: 4438 }, + { x: 4439, y: 4439 }, + { x: 4440, y: 4440 }, + { x: 4441, y: 4441 }, + { x: 4442, y: 4442 }, + { x: 4443, y: 4443 }, + { x: 4444, y: 4444 }, + { x: 4445, y: 4445 }, + { x: 4446, y: 4446 }, + { x: 4447, y: 4447 }, + { x: 4448, y: 4448 }, + { x: 4449, y: 4449 }, + { x: 4450, y: 4450 }, + { x: 4451, y: 4451 }, + { x: 4452, y: 4452 }, + { x: 4453, y: 4453 }, + { x: 4454, y: 4454 }, + { x: 4455, y: 4455 }, + { x: 4456, y: 4456 }, + { x: 4457, y: 4457 }, + { x: 4458, y: 4458 }, + { x: 4459, y: 4459 }, + { x: 4460, y: 4460 }, + { x: 4461, y: 4461 }, + { x: 4462, y: 4462 }, + { x: 4463, y: 4463 }, + { x: 4464, y: 4464 }, + { x: 4465, y: 4465 }, + { x: 4466, y: 4466 }, + { x: 4467, y: 4467 }, + { x: 4468, y: 4468 }, + { x: 4469, y: 4469 }, + { x: 4470, y: 4470 }, + { x: 4471, y: 4471 }, + { x: 4472, y: 4472 }, + { x: 4473, y: 4473 }, + { x: 4474, y: 4474 }, + { x: 4475, y: 4475 }, + { x: 4476, y: 4476 }, + { x: 4477, y: 4477 }, + { x: 4478, y: 4478 }, + { x: 4479, y: 4479 }, + { x: 4480, y: 4480 }, + { x: 4481, y: 4481 }, + { x: 4482, y: 4482 }, + { x: 4483, y: 4483 }, + { x: 4484, y: 4484 }, + { x: 4485, y: 4485 }, + { x: 4486, y: 4486 }, + { x: 4487, y: 4487 }, + { x: 4488, y: 4488 }, + { x: 4489, y: 4489 }, + { x: 4490, y: 4490 }, + { x: 4491, y: 4491 }, + { x: 4492, y: 4492 }, + { x: 4493, y: 4493 }, + { x: 4494, y: 4494 }, + { x: 4495, y: 4495 }, + { x: 4496, y: 4496 }, + { x: 4497, y: 4497 }, + { x: 4498, y: 4498 }, + { x: 4499, y: 4499 }, + { x: 4500, y: 4500 }, + { x: 4501, y: 4501 }, + { x: 4502, y: 4502 }, + { x: 4503, y: 4503 }, + { x: 4504, y: 4504 }, + { x: 4505, y: 4505 }, + { x: 4506, y: 4506 }, + { x: 4507, y: 4507 }, + { x: 4508, y: 4508 }, + { x: 4509, y: 4509 }, + { x: 4510, y: 4510 }, + { x: 4511, y: 4511 }, + { x: 4512, y: 4512 }, + { x: 4513, y: 4513 }, + { x: 4514, y: 4514 }, + { x: 4515, y: 4515 }, + { x: 4516, y: 4516 }, + { x: 4517, y: 4517 }, + { x: 4518, y: 4518 }, + { x: 4519, y: 4519 }, + { x: 4520, y: 4520 }, + { x: 4521, y: 4521 }, + { x: 4522, y: 4522 }, + { x: 4523, y: 4523 }, + { x: 4524, y: 4524 }, + { x: 4525, y: 4525 }, + { x: 4526, y: 4526 }, + { x: 4527, y: 4527 }, + { x: 4528, y: 4528 }, + { x: 4529, y: 4529 }, + { x: 4530, y: 4530 }, + { x: 4531, y: 4531 }, + { x: 4532, y: 4532 }, + { x: 4533, y: 4533 }, + { x: 4534, y: 4534 }, + { x: 4535, y: 4535 }, + { x: 4536, y: 4536 }, + { x: 4537, y: 4537 }, + { x: 4538, y: 4538 }, + { x: 4539, y: 4539 }, + { x: 4540, y: 4540 }, + { x: 4541, y: 4541 }, + { x: 4542, y: 4542 }, + { x: 4543, y: 4543 }, + { x: 4544, y: 4544 }, + { x: 4545, y: 4545 }, + { x: 4546, y: 4546 }, + { x: 4547, y: 4547 }, + { x: 4548, y: 4548 }, + { x: 4549, y: 4549 }, + { x: 4550, y: 4550 }, + { x: 4551, y: 4551 }, + { x: 4552, y: 4552 }, + { x: 4553, y: 4553 }, + { x: 4554, y: 4554 }, + { x: 4555, y: 4555 }, + { x: 4556, y: 4556 }, + { x: 4557, y: 4557 }, + { x: 4558, y: 4558 }, + { x: 4559, y: 4559 }, + { x: 4560, y: 4560 }, + { x: 4561, y: 4561 }, + { x: 4562, y: 4562 }, + { x: 4563, y: 4563 }, + { x: 4564, y: 4564 }, + { x: 4565, y: 4565 }, + { x: 4566, y: 4566 }, + { x: 4567, y: 4567 }, + { x: 4568, y: 4568 }, + { x: 4569, y: 4569 }, + { x: 4570, y: 4570 }, + { x: 4571, y: 4571 }, + { x: 4572, y: 4572 }, + { x: 4573, y: 4573 }, + { x: 4574, y: 4574 }, + { x: 4575, y: 4575 }, + { x: 4576, y: 4576 }, + { x: 4577, y: 4577 }, + { x: 4578, y: 4578 }, + { x: 4579, y: 4579 }, + { x: 4580, y: 4580 }, + { x: 4581, y: 4581 }, + { x: 4582, y: 4582 }, + { x: 4583, y: 4583 }, + { x: 4584, y: 4584 }, + { x: 4585, y: 4585 }, + { x: 4586, y: 4586 }, + { x: 4587, y: 4587 }, + { x: 4588, y: 4588 }, + { x: 4589, y: 4589 }, + { x: 4590, y: 4590 }, + { x: 4591, y: 4591 }, + { x: 4592, y: 4592 }, + { x: 4593, y: 4593 }, + { x: 4594, y: 4594 }, + { x: 4595, y: 4595 }, + { x: 4596, y: 4596 }, + { x: 4597, y: 4597 }, + { x: 4598, y: 4598 }, + { x: 4599, y: 4599 }, + { x: 4600, y: 4600 }, + { x: 4601, y: 4601 }, + { x: 4602, y: 4602 }, + { x: 4603, y: 4603 }, + { x: 4604, y: 4604 }, + { x: 4605, y: 4605 }, + { x: 4606, y: 4606 }, + { x: 4607, y: 4607 }, + { x: 4608, y: 4608 }, + { x: 4609, y: 4609 }, + { x: 4610, y: 4610 }, + { x: 4611, y: 4611 }, + { x: 4612, y: 4612 }, + { x: 4613, y: 4613 }, + { x: 4614, y: 4614 }, + { x: 4615, y: 4615 }, + { x: 4616, y: 4616 }, + { x: 4617, y: 4617 }, + { x: 4618, y: 4618 }, + { x: 4619, y: 4619 }, + { x: 4620, y: 4620 }, + { x: 4621, y: 4621 }, + { x: 4622, y: 4622 }, + { x: 4623, y: 4623 }, + { x: 4624, y: 4624 }, + { x: 4625, y: 4625 }, + { x: 4626, y: 4626 }, + { x: 4627, y: 4627 }, + { x: 4628, y: 4628 }, + { x: 4629, y: 4629 }, + { x: 4630, y: 4630 }, + { x: 4631, y: 4631 }, + { x: 4632, y: 4632 }, + { x: 4633, y: 4633 }, + { x: 4634, y: 4634 }, + { x: 4635, y: 4635 }, + { x: 4636, y: 4636 }, + { x: 4637, y: 4637 }, + { x: 4638, y: 4638 }, + { x: 4639, y: 4639 }, + { x: 4640, y: 4640 }, + { x: 4641, y: 4641 }, + { x: 4642, y: 4642 }, + { x: 4643, y: 4643 }, + { x: 4644, y: 4644 }, + { x: 4645, y: 4645 }, + { x: 4646, y: 4646 }, + { x: 4647, y: 4647 }, + { x: 4648, y: 4648 }, + { x: 4649, y: 4649 }, + { x: 4650, y: 4650 }, + { x: 4651, y: 4651 }, + { x: 4652, y: 4652 }, + { x: 4653, y: 4653 }, + { x: 4654, y: 4654 }, + { x: 4655, y: 4655 }, + { x: 4656, y: 4656 }, + { x: 4657, y: 4657 }, + { x: 4658, y: 4658 }, + { x: 4659, y: 4659 }, + { x: 4660, y: 4660 }, + { x: 4661, y: 4661 }, + { x: 4662, y: 4662 }, + { x: 4663, y: 4663 }, + { x: 4664, y: 4664 }, + { x: 4665, y: 4665 }, + { x: 4666, y: 4666 }, + { x: 4667, y: 4667 }, + { x: 4668, y: 4668 }, + { x: 4669, y: 4669 }, + { x: 4670, y: 4670 }, + { x: 4671, y: 4671 }, + { x: 4672, y: 4672 }, + { x: 4673, y: 4673 }, + { x: 4674, y: 4674 }, + { x: 4675, y: 4675 }, + { x: 4676, y: 4676 }, + { x: 4677, y: 4677 }, + { x: 4678, y: 4678 }, + { x: 4679, y: 4679 }, + { x: 4680, y: 4680 }, + { x: 4681, y: 4681 }, + { x: 4682, y: 4682 }, + { x: 4683, y: 4683 }, + { x: 4684, y: 4684 }, + { x: 4685, y: 4685 }, + { x: 4686, y: 4686 }, + { x: 4687, y: 4687 }, + { x: 4688, y: 4688 }, + { x: 4689, y: 4689 }, + { x: 4690, y: 4690 }, + { x: 4691, y: 4691 }, + { x: 4692, y: 4692 }, + { x: 4693, y: 4693 }, + { x: 4694, y: 4694 }, + { x: 4695, y: 4695 }, + { x: 4696, y: 4696 }, + { x: 4697, y: 4697 }, + { x: 4698, y: 4698 }, + { x: 4699, y: 4699 }, + { x: 4700, y: 4700 }, + { x: 4701, y: 4701 }, + { x: 4702, y: 4702 }, + { x: 4703, y: 4703 }, + { x: 4704, y: 4704 }, + { x: 4705, y: 4705 }, + { x: 4706, y: 4706 }, + { x: 4707, y: 4707 }, + { x: 4708, y: 4708 }, + { x: 4709, y: 4709 }, + { x: 4710, y: 4710 }, + { x: 4711, y: 4711 }, + { x: 4712, y: 4712 }, + { x: 4713, y: 4713 }, + { x: 4714, y: 4714 }, + { x: 4715, y: 4715 }, + { x: 4716, y: 4716 }, + { x: 4717, y: 4717 }, + { x: 4718, y: 4718 }, + { x: 4719, y: 4719 }, + { x: 4720, y: 4720 }, + { x: 4721, y: 4721 }, + { x: 4722, y: 4722 }, + { x: 4723, y: 4723 }, + { x: 4724, y: 4724 }, + { x: 4725, y: 4725 }, + { x: 4726, y: 4726 }, + { x: 4727, y: 4727 }, + { x: 4728, y: 4728 }, + { x: 4729, y: 4729 }, + { x: 4730, y: 4730 }, + { x: 4731, y: 4731 }, + { x: 4732, y: 4732 }, + { x: 4733, y: 4733 }, + { x: 4734, y: 4734 }, + { x: 4735, y: 4735 }, + { x: 4736, y: 4736 }, + { x: 4737, y: 4737 }, + { x: 4738, y: 4738 }, + { x: 4739, y: 4739 }, + { x: 4740, y: 4740 }, + { x: 4741, y: 4741 }, + { x: 4742, y: 4742 }, + { x: 4743, y: 4743 }, + { x: 4744, y: 4744 }, + { x: 4745, y: 4745 }, + { x: 4746, y: 4746 }, + { x: 4747, y: 4747 }, + { x: 4748, y: 4748 }, + { x: 4749, y: 4749 }, + { x: 4750, y: 4750 }, + { x: 4751, y: 4751 }, + { x: 4752, y: 4752 }, + { x: 4753, y: 4753 }, + { x: 4754, y: 4754 }, + { x: 4755, y: 4755 }, + { x: 4756, y: 4756 }, + { x: 4757, y: 4757 }, + { x: 4758, y: 4758 }, + { x: 4759, y: 4759 }, + { x: 4760, y: 4760 }, + { x: 4761, y: 4761 }, + { x: 4762, y: 4762 }, + { x: 4763, y: 4763 }, + { x: 4764, y: 4764 }, + { x: 4765, y: 4765 }, + { x: 4766, y: 4766 }, + { x: 4767, y: 4767 }, + { x: 4768, y: 4768 }, + { x: 4769, y: 4769 }, + { x: 4770, y: 4770 }, + { x: 4771, y: 4771 }, + { x: 4772, y: 4772 }, + { x: 4773, y: 4773 }, + { x: 4774, y: 4774 }, + { x: 4775, y: 4775 }, + { x: 4776, y: 4776 }, + { x: 4777, y: 4777 }, + { x: 4778, y: 4778 }, + { x: 4779, y: 4779 }, + { x: 4780, y: 4780 }, + { x: 4781, y: 4781 }, + { x: 4782, y: 4782 }, + { x: 4783, y: 4783 }, + { x: 4784, y: 4784 }, + { x: 4785, y: 4785 }, + { x: 4786, y: 4786 }, + { x: 4787, y: 4787 }, + { x: 4788, y: 4788 }, + { x: 4789, y: 4789 }, + { x: 4790, y: 4790 }, + { x: 4791, y: 4791 }, + { x: 4792, y: 4792 }, + { x: 4793, y: 4793 }, + { x: 4794, y: 4794 }, + { x: 4795, y: 4795 }, + { x: 4796, y: 4796 }, + { x: 4797, y: 4797 }, + { x: 4798, y: 4798 }, + { x: 4799, y: 4799 }, + { x: 4800, y: 4800 }, + { x: 4801, y: 4801 }, + { x: 4802, y: 4802 }, + { x: 4803, y: 4803 }, + { x: 4804, y: 4804 }, + { x: 4805, y: 4805 }, + { x: 4806, y: 4806 }, + { x: 4807, y: 4807 }, + { x: 4808, y: 4808 }, + { x: 4809, y: 4809 }, + { x: 4810, y: 4810 }, + { x: 4811, y: 4811 }, + { x: 4812, y: 4812 }, + { x: 4813, y: 4813 }, + { x: 4814, y: 4814 }, + { x: 4815, y: 4815 }, + { x: 4816, y: 4816 }, + { x: 4817, y: 4817 }, + { x: 4818, y: 4818 }, + { x: 4819, y: 4819 }, + { x: 4820, y: 4820 }, + { x: 4821, y: 4821 }, + { x: 4822, y: 4822 }, + { x: 4823, y: 4823 }, + { x: 4824, y: 4824 }, + { x: 4825, y: 4825 }, + { x: 4826, y: 4826 }, + { x: 4827, y: 4827 }, + { x: 4828, y: 4828 }, + { x: 4829, y: 4829 }, + { x: 4830, y: 4830 }, + { x: 4831, y: 4831 }, + { x: 4832, y: 4832 }, + { x: 4833, y: 4833 }, + { x: 4834, y: 4834 }, + { x: 4835, y: 4835 }, + { x: 4836, y: 4836 }, + { x: 4837, y: 4837 }, + { x: 4838, y: 4838 }, + { x: 4839, y: 4839 }, + { x: 4840, y: 4840 }, + { x: 4841, y: 4841 }, + { x: 4842, y: 4842 }, + { x: 4843, y: 4843 }, + { x: 4844, y: 4844 }, + { x: 4845, y: 4845 }, + { x: 4846, y: 4846 }, + { x: 4847, y: 4847 }, + { x: 4848, y: 4848 }, + { x: 4849, y: 4849 }, + { x: 4850, y: 4850 }, + { x: 4851, y: 4851 }, + { x: 4852, y: 4852 }, + { x: 4853, y: 4853 }, + { x: 4854, y: 4854 }, + { x: 4855, y: 4855 }, + { x: 4856, y: 4856 }, + { x: 4857, y: 4857 }, + { x: 4858, y: 4858 }, + { x: 4859, y: 4859 }, + { x: 4860, y: 4860 }, + { x: 4861, y: 4861 }, + { x: 4862, y: 4862 }, + { x: 4863, y: 4863 }, + { x: 4864, y: 4864 }, + { x: 4865, y: 4865 }, + { x: 4866, y: 4866 }, + { x: 4867, y: 4867 }, + { x: 4868, y: 4868 }, + { x: 4869, y: 4869 }, + { x: 4870, y: 4870 }, + { x: 4871, y: 4871 }, + { x: 4872, y: 4872 }, + { x: 4873, y: 4873 }, + { x: 4874, y: 4874 }, + { x: 4875, y: 4875 }, + { x: 4876, y: 4876 }, + { x: 4877, y: 4877 }, + { x: 4878, y: 4878 }, + { x: 4879, y: 4879 }, + { x: 4880, y: 4880 }, + { x: 4881, y: 4881 }, + { x: 4882, y: 4882 }, + { x: 4883, y: 4883 }, + { x: 4884, y: 4884 }, + { x: 4885, y: 4885 }, + { x: 4886, y: 4886 }, + { x: 4887, y: 4887 }, + { x: 4888, y: 4888 }, + { x: 4889, y: 4889 }, + { x: 4890, y: 4890 }, + { x: 4891, y: 4891 }, + { x: 4892, y: 4892 }, + { x: 4893, y: 4893 }, + { x: 4894, y: 4894 }, + { x: 4895, y: 4895 }, + { x: 4896, y: 4896 }, + { x: 4897, y: 4897 }, + { x: 4898, y: 4898 }, + { x: 4899, y: 4899 }, + { x: 4900, y: 4900 }, + { x: 4901, y: 4901 }, + { x: 4902, y: 4902 }, + { x: 4903, y: 4903 }, + { x: 4904, y: 4904 }, + { x: 4905, y: 4905 }, + { x: 4906, y: 4906 }, + { x: 4907, y: 4907 }, + { x: 4908, y: 4908 }, + { x: 4909, y: 4909 }, + { x: 4910, y: 4910 }, + { x: 4911, y: 4911 }, + { x: 4912, y: 4912 }, + { x: 4913, y: 4913 }, + { x: 4914, y: 4914 }, + { x: 4915, y: 4915 }, + { x: 4916, y: 4916 }, + { x: 4917, y: 4917 }, + { x: 4918, y: 4918 }, + { x: 4919, y: 4919 }, + { x: 4920, y: 4920 }, + { x: 4921, y: 4921 }, + { x: 4922, y: 4922 }, + { x: 4923, y: 4923 }, + { x: 4924, y: 4924 }, + { x: 4925, y: 4925 }, + { x: 4926, y: 4926 }, + { x: 4927, y: 4927 }, + { x: 4928, y: 4928 }, + { x: 4929, y: 4929 }, + { x: 4930, y: 4930 }, + { x: 4931, y: 4931 }, + { x: 4932, y: 4932 }, + { x: 4933, y: 4933 }, + { x: 4934, y: 4934 }, + { x: 4935, y: 4935 }, + { x: 4936, y: 4936 }, + { x: 4937, y: 4937 }, + { x: 4938, y: 4938 }, + { x: 4939, y: 4939 }, + { x: 4940, y: 4940 }, + { x: 4941, y: 4941 }, + { x: 4942, y: 4942 }, + { x: 4943, y: 4943 }, + { x: 4944, y: 4944 }, + { x: 4945, y: 4945 }, + { x: 4946, y: 4946 }, + { x: 4947, y: 4947 }, + { x: 4948, y: 4948 }, + { x: 4949, y: 4949 }, + { x: 4950, y: 4950 }, + { x: 4951, y: 4951 }, + { x: 4952, y: 4952 }, + { x: 4953, y: 4953 }, + { x: 4954, y: 4954 }, + { x: 4955, y: 4955 }, + { x: 4956, y: 4956 }, + { x: 4957, y: 4957 }, + { x: 4958, y: 4958 }, + { x: 4959, y: 4959 }, + { x: 4960, y: 4960 }, + { x: 4961, y: 4961 }, + { x: 4962, y: 4962 }, + { x: 4963, y: 4963 }, + { x: 4964, y: 4964 }, + { x: 4965, y: 4965 }, + { x: 4966, y: 4966 }, + { x: 4967, y: 4967 }, + { x: 4968, y: 4968 }, + { x: 4969, y: 4969 }, + { x: 4970, y: 4970 }, + { x: 4971, y: 4971 }, + { x: 4972, y: 4972 }, + { x: 4973, y: 4973 }, + { x: 4974, y: 4974 }, + { x: 4975, y: 4975 }, + { x: 4976, y: 4976 }, + { x: 4977, y: 4977 }, + { x: 4978, y: 4978 }, + { x: 4979, y: 4979 }, + { x: 4980, y: 4980 }, + { x: 4981, y: 4981 }, + { x: 4982, y: 4982 }, + { x: 4983, y: 4983 }, + { x: 4984, y: 4984 }, + { x: 4985, y: 4985 }, + { x: 4986, y: 4986 }, + { x: 4987, y: 4987 }, + { x: 4988, y: 4988 }, + { x: 4989, y: 4989 }, + { x: 4990, y: 4990 }, + { x: 4991, y: 4991 }, + { x: 4992, y: 4992 }, + { x: 4993, y: 4993 }, + { x: 4994, y: 4994 }, + { x: 4995, y: 4995 }, + { x: 4996, y: 4996 }, + { x: 4997, y: 4997 }, + { x: 4998, y: 4998 }, + { x: 4999, y: 4999 }, + { x: 5000, y: 5000 }, + { x: 5001, y: 5001 }, + { x: 5002, y: 5002 }, + { x: 5003, y: 5003 }, + { x: 5004, y: 5004 }, + { x: 5005, y: 5005 }, + { x: 5006, y: 5006 }, + { x: 5007, y: 5007 }, + { x: 5008, y: 5008 }, + { x: 5009, y: 5009 }, + { x: 5010, y: 5010 }, + { x: 5011, y: 5011 }, + { x: 5012, y: 5012 }, + { x: 5013, y: 5013 }, + { x: 5014, y: 5014 }, + { x: 5015, y: 5015 }, + { x: 5016, y: 5016 }, + { x: 5017, y: 5017 }, + { x: 5018, y: 5018 }, + { x: 5019, y: 5019 }, + { x: 5020, y: 5020 }, + { x: 5021, y: 5021 }, + { x: 5022, y: 5022 }, + { x: 5023, y: 5023 }, + { x: 5024, y: 5024 }, + { x: 5025, y: 5025 }, + { x: 5026, y: 5026 }, + { x: 5027, y: 5027 }, + { x: 5028, y: 5028 }, + { x: 5029, y: 5029 }, + { x: 5030, y: 5030 }, + { x: 5031, y: 5031 }, + { x: 5032, y: 5032 }, + { x: 5033, y: 5033 }, + { x: 5034, y: 5034 }, + { x: 5035, y: 5035 }, + { x: 5036, y: 5036 }, + { x: 5037, y: 5037 }, + { x: 5038, y: 5038 }, + { x: 5039, y: 5039 }, + { x: 5040, y: 5040 }, + { x: 5041, y: 5041 }, + { x: 5042, y: 5042 }, + { x: 5043, y: 5043 }, + { x: 5044, y: 5044 }, + { x: 5045, y: 5045 }, + { x: 5046, y: 5046 }, + { x: 5047, y: 5047 }, + { x: 5048, y: 5048 }, + { x: 5049, y: 5049 }, + { x: 5050, y: 5050 }, + { x: 5051, y: 5051 }, + { x: 5052, y: 5052 }, + { x: 5053, y: 5053 }, + { x: 5054, y: 5054 }, + { x: 5055, y: 5055 }, + { x: 5056, y: 5056 }, + { x: 5057, y: 5057 }, + { x: 5058, y: 5058 }, + { x: 5059, y: 5059 }, + { x: 5060, y: 5060 }, + { x: 5061, y: 5061 }, + { x: 5062, y: 5062 }, + { x: 5063, y: 5063 }, + { x: 5064, y: 5064 }, + { x: 5065, y: 5065 }, + { x: 5066, y: 5066 }, + { x: 5067, y: 5067 }, + { x: 5068, y: 5068 }, + { x: 5069, y: 5069 }, + { x: 5070, y: 5070 }, + { x: 5071, y: 5071 }, + { x: 5072, y: 5072 }, + { x: 5073, y: 5073 }, + { x: 5074, y: 5074 }, + { x: 5075, y: 5075 }, + { x: 5076, y: 5076 }, + { x: 5077, y: 5077 }, + { x: 5078, y: 5078 }, + { x: 5079, y: 5079 }, + { x: 5080, y: 5080 }, + { x: 5081, y: 5081 }, + { x: 5082, y: 5082 }, + { x: 5083, y: 5083 }, + { x: 5084, y: 5084 }, + { x: 5085, y: 5085 }, + { x: 5086, y: 5086 }, + { x: 5087, y: 5087 }, + { x: 5088, y: 5088 }, + { x: 5089, y: 5089 }, + { x: 5090, y: 5090 }, + { x: 5091, y: 5091 }, + { x: 5092, y: 5092 }, + { x: 5093, y: 5093 }, + { x: 5094, y: 5094 }, + { x: 5095, y: 5095 }, + { x: 5096, y: 5096 }, + { x: 5097, y: 5097 }, + { x: 5098, y: 5098 }, + { x: 5099, y: 5099 }, + { x: 5100, y: 5100 }, + { x: 5101, y: 5101 }, + { x: 5102, y: 5102 }, + { x: 5103, y: 5103 }, + { x: 5104, y: 5104 }, + { x: 5105, y: 5105 }, + { x: 5106, y: 5106 }, + { x: 5107, y: 5107 }, + { x: 5108, y: 5108 }, + { x: 5109, y: 5109 }, + { x: 5110, y: 5110 }, + { x: 5111, y: 5111 }, + { x: 5112, y: 5112 }, + { x: 5113, y: 5113 }, + { x: 5114, y: 5114 }, + { x: 5115, y: 5115 }, + { x: 5116, y: 5116 }, + { x: 5117, y: 5117 }, + { x: 5118, y: 5118 }, + { x: 5119, y: 5119 }, + { x: 5120, y: 5120 }, + { x: 5121, y: 5121 }, + { x: 5122, y: 5122 }, + { x: 5123, y: 5123 }, + { x: 5124, y: 5124 }, + { x: 5125, y: 5125 }, + { x: 5126, y: 5126 }, + { x: 5127, y: 5127 }, + { x: 5128, y: 5128 }, + { x: 5129, y: 5129 }, + { x: 5130, y: 5130 }, + { x: 5131, y: 5131 }, + { x: 5132, y: 5132 }, + { x: 5133, y: 5133 }, + { x: 5134, y: 5134 }, + { x: 5135, y: 5135 }, + { x: 5136, y: 5136 }, + { x: 5137, y: 5137 }, + { x: 5138, y: 5138 }, + { x: 5139, y: 5139 }, + { x: 5140, y: 5140 }, + { x: 5141, y: 5141 }, + { x: 5142, y: 5142 }, + { x: 5143, y: 5143 }, + { x: 5144, y: 5144 }, + { x: 5145, y: 5145 }, + { x: 5146, y: 5146 }, + { x: 5147, y: 5147 }, + { x: 5148, y: 5148 }, + { x: 5149, y: 5149 }, + { x: 5150, y: 5150 }, + { x: 5151, y: 5151 }, + { x: 5152, y: 5152 }, + { x: 5153, y: 5153 }, + { x: 5154, y: 5154 }, + { x: 5155, y: 5155 }, + { x: 5156, y: 5156 }, + { x: 5157, y: 5157 }, + { x: 5158, y: 5158 }, + { x: 5159, y: 5159 }, + { x: 5160, y: 5160 }, + { x: 5161, y: 5161 }, + { x: 5162, y: 5162 }, + { x: 5163, y: 5163 }, + { x: 5164, y: 5164 }, + { x: 5165, y: 5165 }, + { x: 5166, y: 5166 }, + { x: 5167, y: 5167 }, + { x: 5168, y: 5168 }, + { x: 5169, y: 5169 }, + { x: 5170, y: 5170 }, + { x: 5171, y: 5171 }, + { x: 5172, y: 5172 }, + { x: 5173, y: 5173 }, + { x: 5174, y: 5174 }, + { x: 5175, y: 5175 }, + { x: 5176, y: 5176 }, + { x: 5177, y: 5177 }, + { x: 5178, y: 5178 }, + { x: 5179, y: 5179 }, + { x: 5180, y: 5180 }, + { x: 5181, y: 5181 }, + { x: 5182, y: 5182 }, + { x: 5183, y: 5183 }, + { x: 5184, y: 5184 }, + { x: 5185, y: 5185 }, + { x: 5186, y: 5186 }, + { x: 5187, y: 5187 }, + { x: 5188, y: 5188 }, + { x: 5189, y: 5189 }, + { x: 5190, y: 5190 }, + { x: 5191, y: 5191 }, + { x: 5192, y: 5192 }, + { x: 5193, y: 5193 }, + { x: 5194, y: 5194 }, + { x: 5195, y: 5195 }, + { x: 5196, y: 5196 }, + { x: 5197, y: 5197 }, + { x: 5198, y: 5198 }, + { x: 5199, y: 5199 }, + { x: 5200, y: 5200 }, + { x: 5201, y: 5201 }, + { x: 5202, y: 5202 }, + { x: 5203, y: 5203 }, + { x: 5204, y: 5204 }, + { x: 5205, y: 5205 }, + { x: 5206, y: 5206 }, + { x: 5207, y: 5207 }, + { x: 5208, y: 5208 }, + { x: 5209, y: 5209 }, + { x: 5210, y: 5210 }, + { x: 5211, y: 5211 }, + { x: 5212, y: 5212 }, + { x: 5213, y: 5213 }, + { x: 5214, y: 5214 }, + { x: 5215, y: 5215 }, + { x: 5216, y: 5216 }, + { x: 5217, y: 5217 }, + { x: 5218, y: 5218 }, + { x: 5219, y: 5219 }, + { x: 5220, y: 5220 }, + { x: 5221, y: 5221 }, + { x: 5222, y: 5222 }, + { x: 5223, y: 5223 }, + { x: 5224, y: 5224 }, + { x: 5225, y: 5225 }, + { x: 5226, y: 5226 }, + { x: 5227, y: 5227 }, + { x: 5228, y: 5228 }, + { x: 5229, y: 5229 }, + { x: 5230, y: 5230 }, + { x: 5231, y: 5231 }, + { x: 5232, y: 5232 }, + { x: 5233, y: 5233 }, + { x: 5234, y: 5234 }, + { x: 5235, y: 5235 }, + { x: 5236, y: 5236 }, + { x: 5237, y: 5237 }, + { x: 5238, y: 5238 }, + { x: 5239, y: 5239 }, + { x: 5240, y: 5240 }, + { x: 5241, y: 5241 }, + { x: 5242, y: 5242 }, + { x: 5243, y: 5243 }, + { x: 5244, y: 5244 }, + { x: 5245, y: 5245 }, + { x: 5246, y: 5246 }, + { x: 5247, y: 5247 }, + { x: 5248, y: 5248 }, + { x: 5249, y: 5249 }, + { x: 5250, y: 5250 }, + { x: 5251, y: 5251 }, + { x: 5252, y: 5252 }, + { x: 5253, y: 5253 }, + { x: 5254, y: 5254 }, + { x: 5255, y: 5255 }, + { x: 5256, y: 5256 }, + { x: 5257, y: 5257 }, + { x: 5258, y: 5258 }, + { x: 5259, y: 5259 }, + { x: 5260, y: 5260 }, + { x: 5261, y: 5261 }, + { x: 5262, y: 5262 }, + { x: 5263, y: 5263 }, + { x: 5264, y: 5264 }, + { x: 5265, y: 5265 }, + { x: 5266, y: 5266 }, + { x: 5267, y: 5267 }, + { x: 5268, y: 5268 }, + { x: 5269, y: 5269 }, + { x: 5270, y: 5270 }, + { x: 5271, y: 5271 }, + { x: 5272, y: 5272 }, + { x: 5273, y: 5273 }, + { x: 5274, y: 5274 }, + { x: 5275, y: 5275 }, + { x: 5276, y: 5276 }, + { x: 5277, y: 5277 }, + { x: 5278, y: 5278 }, + { x: 5279, y: 5279 }, + { x: 5280, y: 5280 }, + { x: 5281, y: 5281 }, + { x: 5282, y: 5282 }, + { x: 5283, y: 5283 }, + { x: 5284, y: 5284 }, + { x: 5285, y: 5285 }, + { x: 5286, y: 5286 }, + { x: 5287, y: 5287 }, + { x: 5288, y: 5288 }, + { x: 5289, y: 5289 }, + { x: 5290, y: 5290 }, + { x: 5291, y: 5291 }, + { x: 5292, y: 5292 }, + { x: 5293, y: 5293 }, + { x: 5294, y: 5294 }, + { x: 5295, y: 5295 }, + { x: 5296, y: 5296 }, + { x: 5297, y: 5297 }, + { x: 5298, y: 5298 }, + { x: 5299, y: 5299 }, + { x: 5300, y: 5300 }, + { x: 5301, y: 5301 }, + { x: 5302, y: 5302 }, + { x: 5303, y: 5303 }, + { x: 5304, y: 5304 }, + { x: 5305, y: 5305 }, + { x: 5306, y: 5306 }, + { x: 5307, y: 5307 }, + { x: 5308, y: 5308 }, + { x: 5309, y: 5309 }, + { x: 5310, y: 5310 }, + { x: 5311, y: 5311 }, + { x: 5312, y: 5312 }, + { x: 5313, y: 5313 }, + { x: 5314, y: 5314 }, + { x: 5315, y: 5315 }, + { x: 5316, y: 5316 }, + { x: 5317, y: 5317 }, + { x: 5318, y: 5318 }, + { x: 5319, y: 5319 }, + { x: 5320, y: 5320 }, + { x: 5321, y: 5321 }, + { x: 5322, y: 5322 }, + { x: 5323, y: 5323 }, + { x: 5324, y: 5324 }, + { x: 5325, y: 5325 }, + { x: 5326, y: 5326 }, + { x: 5327, y: 5327 }, + { x: 5328, y: 5328 }, + { x: 5329, y: 5329 }, + { x: 5330, y: 5330 }, + { x: 5331, y: 5331 }, + { x: 5332, y: 5332 }, + { x: 5333, y: 5333 }, + { x: 5334, y: 5334 }, + { x: 5335, y: 5335 }, + { x: 5336, y: 5336 }, + { x: 5337, y: 5337 }, + { x: 5338, y: 5338 }, + { x: 5339, y: 5339 }, + { x: 5340, y: 5340 }, + { x: 5341, y: 5341 }, + { x: 5342, y: 5342 }, + { x: 5343, y: 5343 }, + { x: 5344, y: 5344 }, + { x: 5345, y: 5345 }, + { x: 5346, y: 5346 }, + { x: 5347, y: 5347 }, + { x: 5348, y: 5348 }, + { x: 5349, y: 5349 }, + { x: 5350, y: 5350 }, + { x: 5351, y: 5351 }, + { x: 5352, y: 5352 }, + { x: 5353, y: 5353 }, + { x: 5354, y: 5354 }, + { x: 5355, y: 5355 }, + { x: 5356, y: 5356 }, + { x: 5357, y: 5357 }, + { x: 5358, y: 5358 }, + { x: 5359, y: 5359 }, + { x: 5360, y: 5360 }, + { x: 5361, y: 5361 }, + { x: 5362, y: 5362 }, + { x: 5363, y: 5363 }, + { x: 5364, y: 5364 }, + { x: 5365, y: 5365 }, + { x: 5366, y: 5366 }, + { x: 5367, y: 5367 }, + { x: 5368, y: 5368 }, + { x: 5369, y: 5369 }, + { x: 5370, y: 5370 }, + { x: 5371, y: 5371 }, + { x: 5372, y: 5372 }, + { x: 5373, y: 5373 }, + { x: 5374, y: 5374 }, + { x: 5375, y: 5375 }, + { x: 5376, y: 5376 }, + { x: 5377, y: 5377 }, + { x: 5378, y: 5378 }, + { x: 5379, y: 5379 }, + { x: 5380, y: 5380 }, + { x: 5381, y: 5381 }, + { x: 5382, y: 5382 }, + { x: 5383, y: 5383 }, + { x: 5384, y: 5384 }, + { x: 5385, y: 5385 }, + { x: 5386, y: 5386 }, + { x: 5387, y: 5387 }, + { x: 5388, y: 5388 }, + { x: 5389, y: 5389 }, + { x: 5390, y: 5390 }, + { x: 5391, y: 5391 }, + { x: 5392, y: 5392 }, + { x: 5393, y: 5393 }, + { x: 5394, y: 5394 }, + { x: 5395, y: 5395 }, + { x: 5396, y: 5396 }, + { x: 5397, y: 5397 }, + { x: 5398, y: 5398 }, + { x: 5399, y: 5399 }, + { x: 5400, y: 5400 }, + { x: 5401, y: 5401 }, + { x: 5402, y: 5402 }, + { x: 5403, y: 5403 }, + { x: 5404, y: 5404 }, + { x: 5405, y: 5405 }, + { x: 5406, y: 5406 }, + { x: 5407, y: 5407 }, + { x: 5408, y: 5408 }, + { x: 5409, y: 5409 }, + { x: 5410, y: 5410 }, + { x: 5411, y: 5411 }, + { x: 5412, y: 5412 }, + { x: 5413, y: 5413 }, + { x: 5414, y: 5414 }, + { x: 5415, y: 5415 }, + { x: 5416, y: 5416 }, + { x: 5417, y: 5417 }, + { x: 5418, y: 5418 }, + { x: 5419, y: 5419 }, + { x: 5420, y: 5420 }, + { x: 5421, y: 5421 }, + { x: 5422, y: 5422 }, + { x: 5423, y: 5423 }, + { x: 5424, y: 5424 }, + { x: 5425, y: 5425 }, + { x: 5426, y: 5426 }, + { x: 5427, y: 5427 }, + { x: 5428, y: 5428 }, + { x: 5429, y: 5429 }, + { x: 5430, y: 5430 }, + { x: 5431, y: 5431 }, + { x: 5432, y: 5432 }, + { x: 5433, y: 5433 }, + { x: 5434, y: 5434 }, + { x: 5435, y: 5435 }, + { x: 5436, y: 5436 }, + { x: 5437, y: 5437 }, + { x: 5438, y: 5438 }, + { x: 5439, y: 5439 }, + { x: 5440, y: 5440 }, + { x: 5441, y: 5441 }, + { x: 5442, y: 5442 }, + { x: 5443, y: 5443 }, + { x: 5444, y: 5444 }, + { x: 5445, y: 5445 }, + { x: 5446, y: 5446 }, + { x: 5447, y: 5447 }, + { x: 5448, y: 5448 }, + { x: 5449, y: 5449 }, + { x: 5450, y: 5450 }, + { x: 5451, y: 5451 }, + { x: 5452, y: 5452 }, + { x: 5453, y: 5453 }, + { x: 5454, y: 5454 }, + { x: 5455, y: 5455 }, + { x: 5456, y: 5456 }, + { x: 5457, y: 5457 }, + { x: 5458, y: 5458 }, + { x: 5459, y: 5459 }, + { x: 5460, y: 5460 }, + { x: 5461, y: 5461 }, + { x: 5462, y: 5462 }, + { x: 5463, y: 5463 }, + { x: 5464, y: 5464 }, + { x: 5465, y: 5465 }, + { x: 5466, y: 5466 }, + { x: 5467, y: 5467 }, + { x: 5468, y: 5468 }, + { x: 5469, y: 5469 }, + { x: 5470, y: 5470 }, + { x: 5471, y: 5471 }, + { x: 5472, y: 5472 }, + { x: 5473, y: 5473 }, + { x: 5474, y: 5474 }, + { x: 5475, y: 5475 }, + { x: 5476, y: 5476 }, + { x: 5477, y: 5477 }, + { x: 5478, y: 5478 }, + { x: 5479, y: 5479 }, + { x: 5480, y: 5480 }, + { x: 5481, y: 5481 }, + { x: 5482, y: 5482 }, + { x: 5483, y: 5483 }, + { x: 5484, y: 5484 }, + { x: 5485, y: 5485 }, + { x: 5486, y: 5486 }, + { x: 5487, y: 5487 }, + { x: 5488, y: 5488 }, + { x: 5489, y: 5489 }, + { x: 5490, y: 5490 }, + { x: 5491, y: 5491 }, + { x: 5492, y: 5492 }, + { x: 5493, y: 5493 }, + { x: 5494, y: 5494 }, + { x: 5495, y: 5495 }, + { x: 5496, y: 5496 }, + { x: 5497, y: 5497 }, + { x: 5498, y: 5498 }, + { x: 5499, y: 5499 }, + { x: 5500, y: 5500 }, + { x: 5501, y: 5501 }, + { x: 5502, y: 5502 }, + { x: 5503, y: 5503 }, + { x: 5504, y: 5504 }, + { x: 5505, y: 5505 }, + { x: 5506, y: 5506 }, + { x: 5507, y: 5507 }, + { x: 5508, y: 5508 }, + { x: 5509, y: 5509 }, + { x: 5510, y: 5510 }, + { x: 5511, y: 5511 }, + { x: 5512, y: 5512 }, + { x: 5513, y: 5513 }, + { x: 5514, y: 5514 }, + { x: 5515, y: 5515 }, + { x: 5516, y: 5516 }, + { x: 5517, y: 5517 }, + { x: 5518, y: 5518 }, + { x: 5519, y: 5519 }, + { x: 5520, y: 5520 }, + { x: 5521, y: 5521 }, + { x: 5522, y: 5522 }, + { x: 5523, y: 5523 }, + { x: 5524, y: 5524 }, + { x: 5525, y: 5525 }, + { x: 5526, y: 5526 }, + { x: 5527, y: 5527 }, + { x: 5528, y: 5528 }, + { x: 5529, y: 5529 }, + { x: 5530, y: 5530 }, + { x: 5531, y: 5531 }, + { x: 5532, y: 5532 }, + { x: 5533, y: 5533 }, + { x: 5534, y: 5534 }, + { x: 5535, y: 5535 }, + { x: 5536, y: 5536 }, + { x: 5537, y: 5537 }, + { x: 5538, y: 5538 }, + { x: 5539, y: 5539 }, + { x: 5540, y: 5540 }, + { x: 5541, y: 5541 }, + { x: 5542, y: 5542 }, + { x: 5543, y: 5543 }, + { x: 5544, y: 5544 }, + { x: 5545, y: 5545 }, + { x: 5546, y: 5546 }, + { x: 5547, y: 5547 }, + { x: 5548, y: 5548 }, + { x: 5549, y: 5549 }, + { x: 5550, y: 5550 }, + { x: 5551, y: 5551 }, + { x: 5552, y: 5552 }, + { x: 5553, y: 5553 }, + { x: 5554, y: 5554 }, + { x: 5555, y: 5555 }, + { x: 5556, y: 5556 }, + { x: 5557, y: 5557 }, + { x: 5558, y: 5558 }, + { x: 5559, y: 5559 }, + { x: 5560, y: 5560 }, + { x: 5561, y: 5561 }, + { x: 5562, y: 5562 }, + { x: 5563, y: 5563 }, + { x: 5564, y: 5564 }, + { x: 5565, y: 5565 }, + { x: 5566, y: 5566 }, + { x: 5567, y: 5567 }, + { x: 5568, y: 5568 }, + { x: 5569, y: 5569 }, + { x: 5570, y: 5570 }, + { x: 5571, y: 5571 }, + { x: 5572, y: 5572 }, + { x: 5573, y: 5573 }, + { x: 5574, y: 5574 }, + { x: 5575, y: 5575 }, + { x: 5576, y: 5576 }, + { x: 5577, y: 5577 }, + { x: 5578, y: 5578 }, + { x: 5579, y: 5579 }, + { x: 5580, y: 5580 }, + { x: 5581, y: 5581 }, + { x: 5582, y: 5582 }, + { x: 5583, y: 5583 }, + { x: 5584, y: 5584 }, + { x: 5585, y: 5585 }, + { x: 5586, y: 5586 }, + { x: 5587, y: 5587 }, + { x: 5588, y: 5588 }, + { x: 5589, y: 5589 }, + { x: 5590, y: 5590 }, + { x: 5591, y: 5591 }, + { x: 5592, y: 5592 }, + { x: 5593, y: 5593 }, + { x: 5594, y: 5594 }, + { x: 5595, y: 5595 }, + { x: 5596, y: 5596 }, + { x: 5597, y: 5597 }, + { x: 5598, y: 5598 }, + { x: 5599, y: 5599 }, + { x: 5600, y: 5600 }, + { x: 5601, y: 5601 }, + { x: 5602, y: 5602 }, + { x: 5603, y: 5603 }, + { x: 5604, y: 5604 }, + { x: 5605, y: 5605 }, + { x: 5606, y: 5606 }, + { x: 5607, y: 5607 }, + { x: 5608, y: 5608 }, + { x: 5609, y: 5609 }, + { x: 5610, y: 5610 }, + { x: 5611, y: 5611 }, + { x: 5612, y: 5612 }, + { x: 5613, y: 5613 }, + { x: 5614, y: 5614 }, + { x: 5615, y: 5615 }, + { x: 5616, y: 5616 }, + { x: 5617, y: 5617 }, + { x: 5618, y: 5618 }, + { x: 5619, y: 5619 }, + { x: 5620, y: 5620 }, + { x: 5621, y: 5621 }, + { x: 5622, y: 5622 }, + { x: 5623, y: 5623 }, + { x: 5624, y: 5624 }, + { x: 5625, y: 5625 }, + { x: 5626, y: 5626 }, + { x: 5627, y: 5627 }, + { x: 5628, y: 5628 }, + { x: 5629, y: 5629 }, + { x: 5630, y: 5630 }, + { x: 5631, y: 5631 }, + { x: 5632, y: 5632 }, + { x: 5633, y: 5633 }, + { x: 5634, y: 5634 }, + { x: 5635, y: 5635 }, + { x: 5636, y: 5636 }, + { x: 5637, y: 5637 }, + { x: 5638, y: 5638 }, + { x: 5639, y: 5639 }, + { x: 5640, y: 5640 }, + { x: 5641, y: 5641 }, + { x: 5642, y: 5642 }, + { x: 5643, y: 5643 }, + { x: 5644, y: 5644 }, + { x: 5645, y: 5645 }, + { x: 5646, y: 5646 }, + { x: 5647, y: 5647 }, + { x: 5648, y: 5648 }, + { x: 5649, y: 5649 }, + { x: 5650, y: 5650 }, + { x: 5651, y: 5651 }, + { x: 5652, y: 5652 }, + { x: 5653, y: 5653 }, + { x: 5654, y: 5654 }, + { x: 5655, y: 5655 }, + { x: 5656, y: 5656 }, + { x: 5657, y: 5657 }, + { x: 5658, y: 5658 }, + { x: 5659, y: 5659 }, + { x: 5660, y: 5660 }, + { x: 5661, y: 5661 }, + { x: 5662, y: 5662 }, + { x: 5663, y: 5663 }, + { x: 5664, y: 5664 }, + { x: 5665, y: 5665 }, + { x: 5666, y: 5666 }, + { x: 5667, y: 5667 }, + { x: 5668, y: 5668 }, + { x: 5669, y: 5669 }, + { x: 5670, y: 5670 }, + { x: 5671, y: 5671 }, + { x: 5672, y: 5672 }, + { x: 5673, y: 5673 }, + { x: 5674, y: 5674 }, + { x: 5675, y: 5675 }, + { x: 5676, y: 5676 }, + { x: 5677, y: 5677 }, + { x: 5678, y: 5678 }, + { x: 5679, y: 5679 }, + { x: 5680, y: 5680 }, + { x: 5681, y: 5681 }, + { x: 5682, y: 5682 }, + { x: 5683, y: 5683 }, + { x: 5684, y: 5684 }, + { x: 5685, y: 5685 }, + { x: 5686, y: 5686 }, + { x: 5687, y: 5687 }, + { x: 5688, y: 5688 }, + { x: 5689, y: 5689 }, + { x: 5690, y: 5690 }, + { x: 5691, y: 5691 }, + { x: 5692, y: 5692 }, + { x: 5693, y: 5693 }, + { x: 5694, y: 5694 }, + { x: 5695, y: 5695 }, + { x: 5696, y: 5696 }, + { x: 5697, y: 5697 }, + { x: 5698, y: 5698 }, + { x: 5699, y: 5699 }, + { x: 5700, y: 5700 }, + { x: 5701, y: 5701 }, + { x: 5702, y: 5702 }, + { x: 5703, y: 5703 }, + { x: 5704, y: 5704 }, + { x: 5705, y: 5705 }, + { x: 5706, y: 5706 }, + { x: 5707, y: 5707 }, + { x: 5708, y: 5708 }, + { x: 5709, y: 5709 }, + { x: 5710, y: 5710 }, + { x: 5711, y: 5711 }, + { x: 5712, y: 5712 }, + { x: 5713, y: 5713 }, + { x: 5714, y: 5714 }, + { x: 5715, y: 5715 }, + { x: 5716, y: 5716 }, + { x: 5717, y: 5717 }, + { x: 5718, y: 5718 }, + { x: 5719, y: 5719 }, + { x: 5720, y: 5720 }, + { x: 5721, y: 5721 }, + { x: 5722, y: 5722 }, + { x: 5723, y: 5723 }, + { x: 5724, y: 5724 }, + { x: 5725, y: 5725 }, + { x: 5726, y: 5726 }, + { x: 5727, y: 5727 }, + { x: 5728, y: 5728 }, + { x: 5729, y: 5729 }, + { x: 5730, y: 5730 }, + { x: 5731, y: 5731 }, + { x: 5732, y: 5732 }, + { x: 5733, y: 5733 }, + { x: 5734, y: 5734 }, + { x: 5735, y: 5735 }, + { x: 5736, y: 5736 }, + { x: 5737, y: 5737 }, + { x: 5738, y: 5738 }, + { x: 5739, y: 5739 }, + { x: 5740, y: 5740 }, + { x: 5741, y: 5741 }, + { x: 5742, y: 5742 }, + { x: 5743, y: 5743 }, + { x: 5744, y: 5744 }, + { x: 5745, y: 5745 }, + { x: 5746, y: 5746 }, + { x: 5747, y: 5747 }, + { x: 5748, y: 5748 }, + { x: 5749, y: 5749 }, + { x: 5750, y: 5750 }, + { x: 5751, y: 5751 }, + { x: 5752, y: 5752 }, + { x: 5753, y: 5753 }, + { x: 5754, y: 5754 }, + { x: 5755, y: 5755 }, + { x: 5756, y: 5756 }, + { x: 5757, y: 5757 }, + { x: 5758, y: 5758 }, + { x: 5759, y: 5759 }, + { x: 5760, y: 5760 }, + { x: 5761, y: 5761 }, + { x: 5762, y: 5762 }, + { x: 5763, y: 5763 }, + { x: 5764, y: 5764 }, + { x: 5765, y: 5765 }, + { x: 5766, y: 5766 }, + { x: 5767, y: 5767 }, + { x: 5768, y: 5768 }, + { x: 5769, y: 5769 }, + { x: 5770, y: 5770 }, + { x: 5771, y: 5771 }, + { x: 5772, y: 5772 }, + { x: 5773, y: 5773 }, + { x: 5774, y: 5774 }, + { x: 5775, y: 5775 }, + { x: 5776, y: 5776 }, + { x: 5777, y: 5777 }, + { x: 5778, y: 5778 }, + { x: 5779, y: 5779 }, + { x: 5780, y: 5780 }, + { x: 5781, y: 5781 }, + { x: 5782, y: 5782 }, + { x: 5783, y: 5783 }, + { x: 5784, y: 5784 }, + { x: 5785, y: 5785 }, + { x: 5786, y: 5786 }, + { x: 5787, y: 5787 }, + { x: 5788, y: 5788 }, + { x: 5789, y: 5789 }, + { x: 5790, y: 5790 }, + { x: 5791, y: 5791 }, + { x: 5792, y: 5792 }, + { x: 5793, y: 5793 }, + { x: 5794, y: 5794 }, + { x: 5795, y: 5795 }, + { x: 5796, y: 5796 }, + { x: 5797, y: 5797 }, + { x: 5798, y: 5798 }, + { x: 5799, y: 5799 }, + { x: 5800, y: 5800 }, + { x: 5801, y: 5801 }, + { x: 5802, y: 5802 }, + { x: 5803, y: 5803 }, + { x: 5804, y: 5804 }, + { x: 5805, y: 5805 }, + { x: 5806, y: 5806 }, + { x: 5807, y: 5807 }, + { x: 5808, y: 5808 }, + { x: 5809, y: 5809 }, + { x: 5810, y: 5810 }, + { x: 5811, y: 5811 }, + { x: 5812, y: 5812 }, + { x: 5813, y: 5813 }, + { x: 5814, y: 5814 }, + { x: 5815, y: 5815 }, + { x: 5816, y: 5816 }, + { x: 5817, y: 5817 }, + { x: 5818, y: 5818 }, + { x: 5819, y: 5819 }, + { x: 5820, y: 5820 }, + { x: 5821, y: 5821 }, + { x: 5822, y: 5822 }, + { x: 5823, y: 5823 }, + { x: 5824, y: 5824 }, + { x: 5825, y: 5825 }, + { x: 5826, y: 5826 }, + { x: 5827, y: 5827 }, + { x: 5828, y: 5828 }, + { x: 5829, y: 5829 }, + { x: 5830, y: 5830 }, + { x: 5831, y: 5831 }, + { x: 5832, y: 5832 }, + { x: 5833, y: 5833 }, + { x: 5834, y: 5834 }, + { x: 5835, y: 5835 }, + { x: 5836, y: 5836 }, + { x: 5837, y: 5837 }, + { x: 5838, y: 5838 }, + { x: 5839, y: 5839 }, + { x: 5840, y: 5840 }, + { x: 5841, y: 5841 }, + { x: 5842, y: 5842 }, + { x: 5843, y: 5843 }, + { x: 5844, y: 5844 }, + { x: 5845, y: 5845 }, + { x: 5846, y: 5846 }, + { x: 5847, y: 5847 }, + { x: 5848, y: 5848 }, + { x: 5849, y: 5849 }, + { x: 5850, y: 5850 }, + { x: 5851, y: 5851 }, + { x: 5852, y: 5852 }, + { x: 5853, y: 5853 }, + { x: 5854, y: 5854 }, + { x: 5855, y: 5855 }, + { x: 5856, y: 5856 }, + { x: 5857, y: 5857 }, + { x: 5858, y: 5858 }, + { x: 5859, y: 5859 }, + { x: 5860, y: 5860 }, + { x: 5861, y: 5861 }, + { x: 5862, y: 5862 }, + { x: 5863, y: 5863 }, + { x: 5864, y: 5864 }, + { x: 5865, y: 5865 }, + { x: 5866, y: 5866 }, + { x: 5867, y: 5867 }, + { x: 5868, y: 5868 }, + { x: 5869, y: 5869 }, + { x: 5870, y: 5870 }, + { x: 5871, y: 5871 }, + { x: 5872, y: 5872 }, + { x: 5873, y: 5873 }, + { x: 5874, y: 5874 }, + { x: 5875, y: 5875 }, + { x: 5876, y: 5876 }, + { x: 5877, y: 5877 }, + { x: 5878, y: 5878 }, + { x: 5879, y: 5879 }, + { x: 5880, y: 5880 }, + { x: 5881, y: 5881 }, + { x: 5882, y: 5882 }, + { x: 5883, y: 5883 }, + { x: 5884, y: 5884 }, + { x: 5885, y: 5885 }, + { x: 5886, y: 5886 }, + { x: 5887, y: 5887 }, + { x: 5888, y: 5888 }, + { x: 5889, y: 5889 }, + { x: 5890, y: 5890 }, + { x: 5891, y: 5891 }, + { x: 5892, y: 5892 }, + { x: 5893, y: 5893 }, + { x: 5894, y: 5894 }, + { x: 5895, y: 5895 }, + { x: 5896, y: 5896 }, + { x: 5897, y: 5897 }, + { x: 5898, y: 5898 }, + { x: 5899, y: 5899 }, + { x: 5900, y: 5900 }, + { x: 5901, y: 5901 }, + { x: 5902, y: 5902 }, + { x: 5903, y: 5903 }, + { x: 5904, y: 5904 }, + { x: 5905, y: 5905 }, + { x: 5906, y: 5906 }, + { x: 5907, y: 5907 }, + { x: 5908, y: 5908 }, + { x: 5909, y: 5909 }, + { x: 5910, y: 5910 }, + { x: 5911, y: 5911 }, + { x: 5912, y: 5912 }, + { x: 5913, y: 5913 }, + { x: 5914, y: 5914 }, + { x: 5915, y: 5915 }, + { x: 5916, y: 5916 }, + { x: 5917, y: 5917 }, + { x: 5918, y: 5918 }, + { x: 5919, y: 5919 }, + { x: 5920, y: 5920 }, + { x: 5921, y: 5921 }, + { x: 5922, y: 5922 }, + { x: 5923, y: 5923 }, + { x: 5924, y: 5924 }, + { x: 5925, y: 5925 }, + { x: 5926, y: 5926 }, + { x: 5927, y: 5927 }, + { x: 5928, y: 5928 }, + { x: 5929, y: 5929 }, + { x: 5930, y: 5930 }, + { x: 5931, y: 5931 }, + { x: 5932, y: 5932 }, + { x: 5933, y: 5933 }, + { x: 5934, y: 5934 }, + { x: 5935, y: 5935 }, + { x: 5936, y: 5936 }, + { x: 5937, y: 5937 }, + { x: 5938, y: 5938 }, + { x: 5939, y: 5939 }, + { x: 5940, y: 5940 }, + { x: 5941, y: 5941 }, + { x: 5942, y: 5942 }, + { x: 5943, y: 5943 }, + { x: 5944, y: 5944 }, + { x: 5945, y: 5945 }, + { x: 5946, y: 5946 }, + { x: 5947, y: 5947 }, + { x: 5948, y: 5948 }, + { x: 5949, y: 5949 }, + { x: 5950, y: 5950 }, + { x: 5951, y: 5951 }, + { x: 5952, y: 5952 }, + { x: 5953, y: 5953 }, + { x: 5954, y: 5954 }, + { x: 5955, y: 5955 }, + { x: 5956, y: 5956 }, + { x: 5957, y: 5957 }, + { x: 5958, y: 5958 }, + { x: 5959, y: 5959 }, + { x: 5960, y: 5960 }, + { x: 5961, y: 5961 }, + { x: 5962, y: 5962 }, + { x: 5963, y: 5963 }, + { x: 5964, y: 5964 }, + { x: 5965, y: 5965 }, + { x: 5966, y: 5966 }, + { x: 5967, y: 5967 }, + { x: 5968, y: 5968 }, + { x: 5969, y: 5969 }, + { x: 5970, y: 5970 }, + { x: 5971, y: 5971 }, + { x: 5972, y: 5972 }, + { x: 5973, y: 5973 }, + { x: 5974, y: 5974 }, + { x: 5975, y: 5975 }, + { x: 5976, y: 5976 }, + { x: 5977, y: 5977 }, + { x: 5978, y: 5978 }, + { x: 5979, y: 5979 }, + { x: 5980, y: 5980 }, + { x: 5981, y: 5981 }, + { x: 5982, y: 5982 }, + { x: 5983, y: 5983 }, + { x: 5984, y: 5984 }, + { x: 5985, y: 5985 }, + { x: 5986, y: 5986 }, + { x: 5987, y: 5987 }, + { x: 5988, y: 5988 }, + { x: 5989, y: 5989 }, + { x: 5990, y: 5990 }, + { x: 5991, y: 5991 }, + { x: 5992, y: 5992 }, + { x: 5993, y: 5993 }, + { x: 5994, y: 5994 }, + { x: 5995, y: 5995 }, + { x: 5996, y: 5996 }, + { x: 5997, y: 5997 }, + { x: 5998, y: 5998 }, + { x: 5999, y: 5999 }, + { x: 6000, y: 6000 }, + { x: 6001, y: 6001 }, + { x: 6002, y: 6002 }, + { x: 6003, y: 6003 }, + { x: 6004, y: 6004 }, + { x: 6005, y: 6005 }, + { x: 6006, y: 6006 }, + { x: 6007, y: 6007 }, + { x: 6008, y: 6008 }, + { x: 6009, y: 6009 }, + { x: 6010, y: 6010 }, + { x: 6011, y: 6011 }, + { x: 6012, y: 6012 }, + { x: 6013, y: 6013 }, + { x: 6014, y: 6014 }, + { x: 6015, y: 6015 }, + { x: 6016, y: 6016 }, + { x: 6017, y: 6017 }, + { x: 6018, y: 6018 }, + { x: 6019, y: 6019 }, + { x: 6020, y: 6020 }, + { x: 6021, y: 6021 }, + { x: 6022, y: 6022 }, + { x: 6023, y: 6023 }, + { x: 6024, y: 6024 }, + { x: 6025, y: 6025 }, + { x: 6026, y: 6026 }, + { x: 6027, y: 6027 }, + { x: 6028, y: 6028 }, + { x: 6029, y: 6029 }, + { x: 6030, y: 6030 }, + { x: 6031, y: 6031 }, + { x: 6032, y: 6032 }, + { x: 6033, y: 6033 }, + { x: 6034, y: 6034 }, + { x: 6035, y: 6035 }, + { x: 6036, y: 6036 }, + { x: 6037, y: 6037 }, + { x: 6038, y: 6038 }, + { x: 6039, y: 6039 }, + { x: 6040, y: 6040 }, + { x: 6041, y: 6041 }, + { x: 6042, y: 6042 }, + { x: 6043, y: 6043 }, + { x: 6044, y: 6044 }, + { x: 6045, y: 6045 }, + { x: 6046, y: 6046 }, + { x: 6047, y: 6047 }, + { x: 6048, y: 6048 }, + { x: 6049, y: 6049 }, + { x: 6050, y: 6050 }, + { x: 6051, y: 6051 }, + { x: 6052, y: 6052 }, + { x: 6053, y: 6053 }, + { x: 6054, y: 6054 }, + { x: 6055, y: 6055 }, + { x: 6056, y: 6056 }, + { x: 6057, y: 6057 }, + { x: 6058, y: 6058 }, + { x: 6059, y: 6059 }, + { x: 6060, y: 6060 }, + { x: 6061, y: 6061 }, + { x: 6062, y: 6062 }, + { x: 6063, y: 6063 }, + { x: 6064, y: 6064 }, + { x: 6065, y: 6065 }, + { x: 6066, y: 6066 }, + { x: 6067, y: 6067 }, + { x: 6068, y: 6068 }, + { x: 6069, y: 6069 }, + { x: 6070, y: 6070 }, + { x: 6071, y: 6071 }, + { x: 6072, y: 6072 }, + { x: 6073, y: 6073 }, + { x: 6074, y: 6074 }, + { x: 6075, y: 6075 }, + { x: 6076, y: 6076 }, + { x: 6077, y: 6077 }, + { x: 6078, y: 6078 }, + { x: 6079, y: 6079 }, + { x: 6080, y: 6080 }, + { x: 6081, y: 6081 }, + { x: 6082, y: 6082 }, + { x: 6083, y: 6083 }, + { x: 6084, y: 6084 }, + { x: 6085, y: 6085 }, + { x: 6086, y: 6086 }, + { x: 6087, y: 6087 }, + { x: 6088, y: 6088 }, + { x: 6089, y: 6089 }, + { x: 6090, y: 6090 }, + { x: 6091, y: 6091 }, + { x: 6092, y: 6092 }, + { x: 6093, y: 6093 }, + { x: 6094, y: 6094 }, + { x: 6095, y: 6095 }, + { x: 6096, y: 6096 }, + { x: 6097, y: 6097 }, + { x: 6098, y: 6098 }, + { x: 6099, y: 6099 }, + { x: 6100, y: 6100 }, + { x: 6101, y: 6101 }, + { x: 6102, y: 6102 }, + { x: 6103, y: 6103 }, + { x: 6104, y: 6104 }, + { x: 6105, y: 6105 }, + { x: 6106, y: 6106 }, + { x: 6107, y: 6107 }, + { x: 6108, y: 6108 }, + { x: 6109, y: 6109 }, + { x: 6110, y: 6110 }, + { x: 6111, y: 6111 }, + { x: 6112, y: 6112 }, + { x: 6113, y: 6113 }, + { x: 6114, y: 6114 }, + { x: 6115, y: 6115 }, + { x: 6116, y: 6116 }, + { x: 6117, y: 6117 }, + { x: 6118, y: 6118 }, + { x: 6119, y: 6119 }, + { x: 6120, y: 6120 }, + { x: 6121, y: 6121 }, + { x: 6122, y: 6122 }, + { x: 6123, y: 6123 }, + { x: 6124, y: 6124 }, + { x: 6125, y: 6125 }, + { x: 6126, y: 6126 }, + { x: 6127, y: 6127 }, + { x: 6128, y: 6128 }, + { x: 6129, y: 6129 }, + { x: 6130, y: 6130 }, + { x: 6131, y: 6131 }, + { x: 6132, y: 6132 }, + { x: 6133, y: 6133 }, + { x: 6134, y: 6134 }, + { x: 6135, y: 6135 }, + { x: 6136, y: 6136 }, + { x: 6137, y: 6137 }, + { x: 6138, y: 6138 }, + { x: 6139, y: 6139 }, + { x: 6140, y: 6140 }, + { x: 6141, y: 6141 }, + { x: 6142, y: 6142 }, + { x: 6143, y: 6143 }, + { x: 6144, y: 6144 }, + { x: 6145, y: 6145 }, + { x: 6146, y: 6146 }, + { x: 6147, y: 6147 }, + { x: 6148, y: 6148 }, + { x: 6149, y: 6149 }, + { x: 6150, y: 6150 }, + { x: 6151, y: 6151 }, + { x: 6152, y: 6152 }, + { x: 6153, y: 6153 }, + { x: 6154, y: 6154 }, + { x: 6155, y: 6155 }, + { x: 6156, y: 6156 }, + { x: 6157, y: 6157 }, + { x: 6158, y: 6158 }, + { x: 6159, y: 6159 }, + { x: 6160, y: 6160 }, + { x: 6161, y: 6161 }, + { x: 6162, y: 6162 }, + { x: 6163, y: 6163 }, + { x: 6164, y: 6164 }, + { x: 6165, y: 6165 }, + { x: 6166, y: 6166 }, + { x: 6167, y: 6167 }, + { x: 6168, y: 6168 }, + { x: 6169, y: 6169 }, + { x: 6170, y: 6170 }, + { x: 6171, y: 6171 }, + { x: 6172, y: 6172 }, + { x: 6173, y: 6173 }, + { x: 6174, y: 6174 }, + { x: 6175, y: 6175 }, + { x: 6176, y: 6176 }, + { x: 6177, y: 6177 }, + { x: 6178, y: 6178 }, + { x: 6179, y: 6179 }, + { x: 6180, y: 6180 }, + { x: 6181, y: 6181 }, + { x: 6182, y: 6182 }, + { x: 6183, y: 6183 }, + { x: 6184, y: 6184 }, + { x: 6185, y: 6185 }, + { x: 6186, y: 6186 }, + { x: 6187, y: 6187 }, + { x: 6188, y: 6188 }, + { x: 6189, y: 6189 }, + { x: 6190, y: 6190 }, + { x: 6191, y: 6191 }, + { x: 6192, y: 6192 }, + { x: 6193, y: 6193 }, + { x: 6194, y: 6194 }, + { x: 6195, y: 6195 }, + { x: 6196, y: 6196 }, + { x: 6197, y: 6197 }, + { x: 6198, y: 6198 }, + { x: 6199, y: 6199 }, + { x: 6200, y: 6200 }, + { x: 6201, y: 6201 }, + { x: 6202, y: 6202 }, + { x: 6203, y: 6203 }, + { x: 6204, y: 6204 }, + { x: 6205, y: 6205 }, + { x: 6206, y: 6206 }, + { x: 6207, y: 6207 }, + { x: 6208, y: 6208 }, + { x: 6209, y: 6209 }, + { x: 6210, y: 6210 }, + { x: 6211, y: 6211 }, + { x: 6212, y: 6212 }, + { x: 6213, y: 6213 }, + { x: 6214, y: 6214 }, + { x: 6215, y: 6215 }, + { x: 6216, y: 6216 }, + { x: 6217, y: 6217 }, + { x: 6218, y: 6218 }, + { x: 6219, y: 6219 }, + { x: 6220, y: 6220 }, + { x: 6221, y: 6221 }, + { x: 6222, y: 6222 }, + { x: 6223, y: 6223 }, + { x: 6224, y: 6224 }, + { x: 6225, y: 6225 }, + { x: 6226, y: 6226 }, + { x: 6227, y: 6227 }, + { x: 6228, y: 6228 }, + { x: 6229, y: 6229 }, + { x: 6230, y: 6230 }, + { x: 6231, y: 6231 }, + { x: 6232, y: 6232 }, + { x: 6233, y: 6233 }, + { x: 6234, y: 6234 }, + { x: 6235, y: 6235 }, + { x: 6236, y: 6236 }, + { x: 6237, y: 6237 }, + { x: 6238, y: 6238 }, + { x: 6239, y: 6239 }, + { x: 6240, y: 6240 }, + { x: 6241, y: 6241 }, + { x: 6242, y: 6242 }, + { x: 6243, y: 6243 }, + { x: 6244, y: 6244 }, + { x: 6245, y: 6245 }, + { x: 6246, y: 6246 }, + { x: 6247, y: 6247 }, + { x: 6248, y: 6248 }, + { x: 6249, y: 6249 }, + { x: 6250, y: 6250 }, + { x: 6251, y: 6251 }, + { x: 6252, y: 6252 }, + { x: 6253, y: 6253 }, + { x: 6254, y: 6254 }, + { x: 6255, y: 6255 }, + { x: 6256, y: 6256 }, + { x: 6257, y: 6257 }, + { x: 6258, y: 6258 }, + { x: 6259, y: 6259 }, + { x: 6260, y: 6260 }, + { x: 6261, y: 6261 }, + { x: 6262, y: 6262 }, + { x: 6263, y: 6263 }, + { x: 6264, y: 6264 }, + { x: 6265, y: 6265 }, + { x: 6266, y: 6266 }, + { x: 6267, y: 6267 }, + { x: 6268, y: 6268 }, + { x: 6269, y: 6269 }, + { x: 6270, y: 6270 }, + { x: 6271, y: 6271 }, + { x: 6272, y: 6272 }, + { x: 6273, y: 6273 }, + { x: 6274, y: 6274 }, + { x: 6275, y: 6275 }, + { x: 6276, y: 6276 }, + { x: 6277, y: 6277 }, + { x: 6278, y: 6278 }, + { x: 6279, y: 6279 }, + { x: 6280, y: 6280 }, + { x: 6281, y: 6281 }, + { x: 6282, y: 6282 }, + { x: 6283, y: 6283 }, + { x: 6284, y: 6284 }, + { x: 6285, y: 6285 }, + { x: 6286, y: 6286 }, + { x: 6287, y: 6287 }, + { x: 6288, y: 6288 }, + { x: 6289, y: 6289 }, + { x: 6290, y: 6290 }, + { x: 6291, y: 6291 }, + { x: 6292, y: 6292 }, + { x: 6293, y: 6293 }, + { x: 6294, y: 6294 }, + { x: 6295, y: 6295 }, + { x: 6296, y: 6296 }, + { x: 6297, y: 6297 }, + { x: 6298, y: 6298 }, + { x: 6299, y: 6299 }, + { x: 6300, y: 6300 }, + { x: 6301, y: 6301 }, + { x: 6302, y: 6302 }, + { x: 6303, y: 6303 }, + { x: 6304, y: 6304 }, + { x: 6305, y: 6305 }, + { x: 6306, y: 6306 }, + { x: 6307, y: 6307 }, + { x: 6308, y: 6308 }, + { x: 6309, y: 6309 }, + { x: 6310, y: 6310 }, + { x: 6311, y: 6311 }, + { x: 6312, y: 6312 }, + { x: 6313, y: 6313 }, + { x: 6314, y: 6314 }, + { x: 6315, y: 6315 }, + { x: 6316, y: 6316 }, + { x: 6317, y: 6317 }, + { x: 6318, y: 6318 }, + { x: 6319, y: 6319 }, + { x: 6320, y: 6320 }, + { x: 6321, y: 6321 }, + { x: 6322, y: 6322 }, + { x: 6323, y: 6323 }, + { x: 6324, y: 6324 }, + { x: 6325, y: 6325 }, + { x: 6326, y: 6326 }, + { x: 6327, y: 6327 }, + { x: 6328, y: 6328 }, + { x: 6329, y: 6329 }, + { x: 6330, y: 6330 }, + { x: 6331, y: 6331 }, + { x: 6332, y: 6332 }, + { x: 6333, y: 6333 }, + { x: 6334, y: 6334 }, + { x: 6335, y: 6335 }, + { x: 6336, y: 6336 }, + { x: 6337, y: 6337 }, + { x: 6338, y: 6338 }, + { x: 6339, y: 6339 }, + { x: 6340, y: 6340 }, + { x: 6341, y: 6341 }, + { x: 6342, y: 6342 }, + { x: 6343, y: 6343 }, + { x: 6344, y: 6344 }, + { x: 6345, y: 6345 }, + { x: 6346, y: 6346 }, + { x: 6347, y: 6347 }, + { x: 6348, y: 6348 }, + { x: 6349, y: 6349 }, + { x: 6350, y: 6350 }, + { x: 6351, y: 6351 }, + { x: 6352, y: 6352 }, + { x: 6353, y: 6353 }, + { x: 6354, y: 6354 }, + { x: 6355, y: 6355 }, + { x: 6356, y: 6356 }, + { x: 6357, y: 6357 }, + { x: 6358, y: 6358 }, + { x: 6359, y: 6359 }, + { x: 6360, y: 6360 }, + { x: 6361, y: 6361 }, + { x: 6362, y: 6362 }, + { x: 6363, y: 6363 }, + { x: 6364, y: 6364 }, + { x: 6365, y: 6365 }, + { x: 6366, y: 6366 }, + { x: 6367, y: 6367 }, + { x: 6368, y: 6368 }, + { x: 6369, y: 6369 }, + { x: 6370, y: 6370 }, + { x: 6371, y: 6371 }, + { x: 6372, y: 6372 }, + { x: 6373, y: 6373 }, + { x: 6374, y: 6374 }, + { x: 6375, y: 6375 }, + { x: 6376, y: 6376 }, + { x: 6377, y: 6377 }, + { x: 6378, y: 6378 }, + { x: 6379, y: 6379 }, + { x: 6380, y: 6380 }, + { x: 6381, y: 6381 }, + { x: 6382, y: 6382 }, + { x: 6383, y: 6383 }, + { x: 6384, y: 6384 }, + { x: 6385, y: 6385 }, + { x: 6386, y: 6386 }, + { x: 6387, y: 6387 }, + { x: 6388, y: 6388 }, + { x: 6389, y: 6389 }, + { x: 6390, y: 6390 }, + { x: 6391, y: 6391 }, + { x: 6392, y: 6392 }, + { x: 6393, y: 6393 }, + { x: 6394, y: 6394 }, + { x: 6395, y: 6395 }, + { x: 6396, y: 6396 }, + { x: 6397, y: 6397 }, + { x: 6398, y: 6398 }, + { x: 6399, y: 6399 }, + { x: 6400, y: 6400 }, + { x: 6401, y: 6401 }, + { x: 6402, y: 6402 }, + { x: 6403, y: 6403 }, + { x: 6404, y: 6404 }, + { x: 6405, y: 6405 }, + { x: 6406, y: 6406 }, + { x: 6407, y: 6407 }, + { x: 6408, y: 6408 }, + { x: 6409, y: 6409 }, + { x: 6410, y: 6410 }, + { x: 6411, y: 6411 }, + { x: 6412, y: 6412 }, + { x: 6413, y: 6413 }, + { x: 6414, y: 6414 }, + { x: 6415, y: 6415 }, + { x: 6416, y: 6416 }, + { x: 6417, y: 6417 }, + { x: 6418, y: 6418 }, + { x: 6419, y: 6419 }, + { x: 6420, y: 6420 }, + { x: 6421, y: 6421 }, + { x: 6422, y: 6422 }, + { x: 6423, y: 6423 }, + { x: 6424, y: 6424 }, + { x: 6425, y: 6425 }, + { x: 6426, y: 6426 }, + { x: 6427, y: 6427 }, + { x: 6428, y: 6428 }, + { x: 6429, y: 6429 }, + { x: 6430, y: 6430 }, + { x: 6431, y: 6431 }, + { x: 6432, y: 6432 }, + { x: 6433, y: 6433 }, + { x: 6434, y: 6434 }, + { x: 6435, y: 6435 }, + { x: 6436, y: 6436 }, + { x: 6437, y: 6437 }, + { x: 6438, y: 6438 }, + { x: 6439, y: 6439 }, + { x: 6440, y: 6440 }, + { x: 6441, y: 6441 }, + { x: 6442, y: 6442 }, + { x: 6443, y: 6443 }, + { x: 6444, y: 6444 }, + { x: 6445, y: 6445 }, + { x: 6446, y: 6446 }, + { x: 6447, y: 6447 }, + { x: 6448, y: 6448 }, + { x: 6449, y: 6449 }, + { x: 6450, y: 6450 }, + { x: 6451, y: 6451 }, + { x: 6452, y: 6452 }, + { x: 6453, y: 6453 }, + { x: 6454, y: 6454 }, + { x: 6455, y: 6455 }, + { x: 6456, y: 6456 }, + { x: 6457, y: 6457 }, + { x: 6458, y: 6458 }, + { x: 6459, y: 6459 }, + { x: 6460, y: 6460 }, + { x: 6461, y: 6461 }, + { x: 6462, y: 6462 }, + { x: 6463, y: 6463 }, + { x: 6464, y: 6464 }, + { x: 6465, y: 6465 }, + { x: 6466, y: 6466 }, + { x: 6467, y: 6467 }, + { x: 6468, y: 6468 }, + { x: 6469, y: 6469 }, + { x: 6470, y: 6470 }, + { x: 6471, y: 6471 }, + { x: 6472, y: 6472 }, + { x: 6473, y: 6473 }, + { x: 6474, y: 6474 }, + { x: 6475, y: 6475 }, + { x: 6476, y: 6476 }, + { x: 6477, y: 6477 }, + { x: 6478, y: 6478 }, + { x: 6479, y: 6479 }, + { x: 6480, y: 6480 }, + { x: 6481, y: 6481 }, + { x: 6482, y: 6482 }, + { x: 6483, y: 6483 }, + { x: 6484, y: 6484 }, + { x: 6485, y: 6485 }, + { x: 6486, y: 6486 }, + { x: 6487, y: 6487 }, + { x: 6488, y: 6488 }, + { x: 6489, y: 6489 }, + { x: 6490, y: 6490 }, + { x: 6491, y: 6491 }, + { x: 6492, y: 6492 }, + { x: 6493, y: 6493 }, + { x: 6494, y: 6494 }, + { x: 6495, y: 6495 }, + { x: 6496, y: 6496 }, + { x: 6497, y: 6497 }, + { x: 6498, y: 6498 }, + { x: 6499, y: 6499 }, + { x: 6500, y: 6500 }, + { x: 6501, y: 6501 }, + { x: 6502, y: 6502 }, + { x: 6503, y: 6503 }, + { x: 6504, y: 6504 }, + { x: 6505, y: 6505 }, + { x: 6506, y: 6506 }, + { x: 6507, y: 6507 }, + { x: 6508, y: 6508 }, + { x: 6509, y: 6509 }, + { x: 6510, y: 6510 }, + { x: 6511, y: 6511 }, + { x: 6512, y: 6512 }, + { x: 6513, y: 6513 }, + { x: 6514, y: 6514 }, + { x: 6515, y: 6515 }, + { x: 6516, y: 6516 }, + { x: 6517, y: 6517 }, + { x: 6518, y: 6518 }, + { x: 6519, y: 6519 }, + { x: 6520, y: 6520 }, + { x: 6521, y: 6521 }, + { x: 6522, y: 6522 }, + { x: 6523, y: 6523 }, + { x: 6524, y: 6524 }, + { x: 6525, y: 6525 }, + { x: 6526, y: 6526 }, + { x: 6527, y: 6527 }, + { x: 6528, y: 6528 }, + { x: 6529, y: 6529 }, + { x: 6530, y: 6530 }, + { x: 6531, y: 6531 }, + { x: 6532, y: 6532 }, + { x: 6533, y: 6533 }, + { x: 6534, y: 6534 }, + { x: 6535, y: 6535 }, + { x: 6536, y: 6536 }, + { x: 6537, y: 6537 }, + { x: 6538, y: 6538 }, + { x: 6539, y: 6539 }, + { x: 6540, y: 6540 }, + { x: 6541, y: 6541 }, + { x: 6542, y: 6542 }, + { x: 6543, y: 6543 }, + { x: 6544, y: 6544 }, + { x: 6545, y: 6545 }, + { x: 6546, y: 6546 }, + { x: 6547, y: 6547 }, + { x: 6548, y: 6548 }, + { x: 6549, y: 6549 }, + { x: 6550, y: 6550 }, + { x: 6551, y: 6551 }, + { x: 6552, y: 6552 }, + { x: 6553, y: 6553 }, + { x: 6554, y: 6554 }, + { x: 6555, y: 6555 }, + { x: 6556, y: 6556 }, + { x: 6557, y: 6557 }, + { x: 6558, y: 6558 }, + { x: 6559, y: 6559 }, + { x: 6560, y: 6560 }, + { x: 6561, y: 6561 }, + { x: 6562, y: 6562 }, + { x: 6563, y: 6563 }, + { x: 6564, y: 6564 }, + { x: 6565, y: 6565 }, + { x: 6566, y: 6566 }, + { x: 6567, y: 6567 }, + { x: 6568, y: 6568 }, + { x: 6569, y: 6569 }, + { x: 6570, y: 6570 }, + { x: 6571, y: 6571 }, + { x: 6572, y: 6572 }, + { x: 6573, y: 6573 }, + { x: 6574, y: 6574 }, + { x: 6575, y: 6575 }, + { x: 6576, y: 6576 }, + { x: 6577, y: 6577 }, + { x: 6578, y: 6578 }, + { x: 6579, y: 6579 }, + { x: 6580, y: 6580 }, + { x: 6581, y: 6581 }, + { x: 6582, y: 6582 }, + { x: 6583, y: 6583 }, + { x: 6584, y: 6584 }, + { x: 6585, y: 6585 }, + { x: 6586, y: 6586 }, + { x: 6587, y: 6587 }, + { x: 6588, y: 6588 }, + { x: 6589, y: 6589 }, + { x: 6590, y: 6590 }, + { x: 6591, y: 6591 }, + { x: 6592, y: 6592 }, + { x: 6593, y: 6593 }, + { x: 6594, y: 6594 }, + { x: 6595, y: 6595 }, + { x: 6596, y: 6596 }, + { x: 6597, y: 6597 }, + { x: 6598, y: 6598 }, + { x: 6599, y: 6599 }, + { x: 6600, y: 6600 }, + { x: 6601, y: 6601 }, + { x: 6602, y: 6602 }, + { x: 6603, y: 6603 }, + { x: 6604, y: 6604 }, + { x: 6605, y: 6605 }, + { x: 6606, y: 6606 }, + { x: 6607, y: 6607 }, + { x: 6608, y: 6608 }, + { x: 6609, y: 6609 }, + { x: 6610, y: 6610 }, + { x: 6611, y: 6611 }, + { x: 6612, y: 6612 }, + { x: 6613, y: 6613 }, + { x: 6614, y: 6614 }, + { x: 6615, y: 6615 }, + { x: 6616, y: 6616 }, + { x: 6617, y: 6617 }, + { x: 6618, y: 6618 }, + { x: 6619, y: 6619 }, + { x: 6620, y: 6620 }, + { x: 6621, y: 6621 }, + { x: 6622, y: 6622 }, + { x: 6623, y: 6623 }, + { x: 6624, y: 6624 }, + { x: 6625, y: 6625 }, + { x: 6626, y: 6626 }, + { x: 6627, y: 6627 }, + { x: 6628, y: 6628 }, + { x: 6629, y: 6629 }, + { x: 6630, y: 6630 }, + { x: 6631, y: 6631 }, + { x: 6632, y: 6632 }, + { x: 6633, y: 6633 }, + { x: 6634, y: 6634 }, + { x: 6635, y: 6635 }, + { x: 6636, y: 6636 }, + { x: 6637, y: 6637 }, + { x: 6638, y: 6638 }, + { x: 6639, y: 6639 }, + { x: 6640, y: 6640 }, + { x: 6641, y: 6641 }, + { x: 6642, y: 6642 }, + { x: 6643, y: 6643 }, + { x: 6644, y: 6644 }, + { x: 6645, y: 6645 }, + { x: 6646, y: 6646 }, + { x: 6647, y: 6647 }, + { x: 6648, y: 6648 }, + { x: 6649, y: 6649 }, + { x: 6650, y: 6650 }, + { x: 6651, y: 6651 }, + { x: 6652, y: 6652 }, + { x: 6653, y: 6653 }, + { x: 6654, y: 6654 }, + { x: 6655, y: 6655 }, + { x: 6656, y: 6656 }, + { x: 6657, y: 6657 }, + { x: 6658, y: 6658 }, + { x: 6659, y: 6659 }, + { x: 6660, y: 6660 }, + { x: 6661, y: 6661 }, + { x: 6662, y: 6662 }, + { x: 6663, y: 6663 }, + { x: 6664, y: 6664 }, + { x: 6665, y: 6665 }, + { x: 6666, y: 6666 }, + { x: 6667, y: 6667 }, + { x: 6668, y: 6668 }, + { x: 6669, y: 6669 }, + { x: 6670, y: 6670 }, + { x: 6671, y: 6671 }, + { x: 6672, y: 6672 }, + { x: 6673, y: 6673 }, + { x: 6674, y: 6674 }, + { x: 6675, y: 6675 }, + { x: 6676, y: 6676 }, + { x: 6677, y: 6677 }, + { x: 6678, y: 6678 }, + { x: 6679, y: 6679 }, + { x: 6680, y: 6680 }, + { x: 6681, y: 6681 }, + { x: 6682, y: 6682 }, + { x: 6683, y: 6683 }, + { x: 6684, y: 6684 }, + { x: 6685, y: 6685 }, + { x: 6686, y: 6686 }, + { x: 6687, y: 6687 }, + { x: 6688, y: 6688 }, + { x: 6689, y: 6689 }, + { x: 6690, y: 6690 }, + { x: 6691, y: 6691 }, + { x: 6692, y: 6692 }, + { x: 6693, y: 6693 }, + { x: 6694, y: 6694 }, + { x: 6695, y: 6695 }, + { x: 6696, y: 6696 }, + { x: 6697, y: 6697 }, + { x: 6698, y: 6698 }, + { x: 6699, y: 6699 }, + { x: 6700, y: 6700 }, + { x: 6701, y: 6701 }, + { x: 6702, y: 6702 }, + { x: 6703, y: 6703 }, + { x: 6704, y: 6704 }, + { x: 6705, y: 6705 }, + { x: 6706, y: 6706 }, + { x: 6707, y: 6707 }, + { x: 6708, y: 6708 }, + { x: 6709, y: 6709 }, + { x: 6710, y: 6710 }, + { x: 6711, y: 6711 }, + { x: 6712, y: 6712 }, + { x: 6713, y: 6713 }, + { x: 6714, y: 6714 }, + { x: 6715, y: 6715 }, + { x: 6716, y: 6716 }, + { x: 6717, y: 6717 }, + { x: 6718, y: 6718 }, + { x: 6719, y: 6719 }, + { x: 6720, y: 6720 }, + { x: 6721, y: 6721 }, + { x: 6722, y: 6722 }, + { x: 6723, y: 6723 }, + { x: 6724, y: 6724 }, + { x: 6725, y: 6725 }, + { x: 6726, y: 6726 }, + { x: 6727, y: 6727 }, + { x: 6728, y: 6728 }, + { x: 6729, y: 6729 }, + { x: 6730, y: 6730 }, + { x: 6731, y: 6731 }, + { x: 6732, y: 6732 }, + { x: 6733, y: 6733 }, + { x: 6734, y: 6734 }, + { x: 6735, y: 6735 }, + { x: 6736, y: 6736 }, + { x: 6737, y: 6737 }, + { x: 6738, y: 6738 }, + { x: 6739, y: 6739 }, + { x: 6740, y: 6740 }, + { x: 6741, y: 6741 }, + { x: 6742, y: 6742 }, + { x: 6743, y: 6743 }, + { x: 6744, y: 6744 }, + { x: 6745, y: 6745 }, + { x: 6746, y: 6746 }, + { x: 6747, y: 6747 }, + { x: 6748, y: 6748 }, + { x: 6749, y: 6749 }, + { x: 6750, y: 6750 }, + { x: 6751, y: 6751 }, + { x: 6752, y: 6752 }, + { x: 6753, y: 6753 }, + { x: 6754, y: 6754 }, + { x: 6755, y: 6755 }, + { x: 6756, y: 6756 }, + { x: 6757, y: 6757 }, + { x: 6758, y: 6758 }, + { x: 6759, y: 6759 }, + { x: 6760, y: 6760 }, + { x: 6761, y: 6761 }, + { x: 6762, y: 6762 }, + { x: 6763, y: 6763 }, + { x: 6764, y: 6764 }, + { x: 6765, y: 6765 }, + { x: 6766, y: 6766 }, + { x: 6767, y: 6767 }, + { x: 6768, y: 6768 }, + { x: 6769, y: 6769 }, + { x: 6770, y: 6770 }, + { x: 6771, y: 6771 }, + { x: 6772, y: 6772 }, + { x: 6773, y: 6773 }, + { x: 6774, y: 6774 }, + { x: 6775, y: 6775 }, + { x: 6776, y: 6776 }, + { x: 6777, y: 6777 }, + { x: 6778, y: 6778 }, + { x: 6779, y: 6779 }, + { x: 6780, y: 6780 }, + { x: 6781, y: 6781 }, + { x: 6782, y: 6782 }, + { x: 6783, y: 6783 }, + { x: 6784, y: 6784 }, + { x: 6785, y: 6785 }, + { x: 6786, y: 6786 }, + { x: 6787, y: 6787 }, + { x: 6788, y: 6788 }, + { x: 6789, y: 6789 }, + { x: 6790, y: 6790 }, + { x: 6791, y: 6791 }, + { x: 6792, y: 6792 }, + { x: 6793, y: 6793 }, + { x: 6794, y: 6794 }, + { x: 6795, y: 6795 }, + { x: 6796, y: 6796 }, + { x: 6797, y: 6797 }, + { x: 6798, y: 6798 }, + { x: 6799, y: 6799 }, + { x: 6800, y: 6800 }, + { x: 6801, y: 6801 }, + { x: 6802, y: 6802 }, + { x: 6803, y: 6803 }, + { x: 6804, y: 6804 }, + { x: 6805, y: 6805 }, + { x: 6806, y: 6806 }, + { x: 6807, y: 6807 }, + { x: 6808, y: 6808 }, + { x: 6809, y: 6809 }, + { x: 6810, y: 6810 }, + { x: 6811, y: 6811 }, + { x: 6812, y: 6812 }, + { x: 6813, y: 6813 }, + { x: 6814, y: 6814 }, + { x: 6815, y: 6815 }, + { x: 6816, y: 6816 }, + { x: 6817, y: 6817 }, + { x: 6818, y: 6818 }, + { x: 6819, y: 6819 }, + { x: 6820, y: 6820 }, + { x: 6821, y: 6821 }, + { x: 6822, y: 6822 }, + { x: 6823, y: 6823 }, + { x: 6824, y: 6824 }, + { x: 6825, y: 6825 }, + { x: 6826, y: 6826 }, + { x: 6827, y: 6827 }, + { x: 6828, y: 6828 }, + { x: 6829, y: 6829 }, + { x: 6830, y: 6830 }, + { x: 6831, y: 6831 }, + { x: 6832, y: 6832 }, + { x: 6833, y: 6833 }, + { x: 6834, y: 6834 }, + { x: 6835, y: 6835 }, + { x: 6836, y: 6836 }, + { x: 6837, y: 6837 }, + { x: 6838, y: 6838 }, + { x: 6839, y: 6839 }, + { x: 6840, y: 6840 }, + { x: 6841, y: 6841 }, + { x: 6842, y: 6842 }, + { x: 6843, y: 6843 }, + { x: 6844, y: 6844 }, + { x: 6845, y: 6845 }, + { x: 6846, y: 6846 }, + { x: 6847, y: 6847 }, + { x: 6848, y: 6848 }, + { x: 6849, y: 6849 }, + { x: 6850, y: 6850 }, + { x: 6851, y: 6851 }, + { x: 6852, y: 6852 }, + { x: 6853, y: 6853 }, + { x: 6854, y: 6854 }, + { x: 6855, y: 6855 }, + { x: 6856, y: 6856 }, + { x: 6857, y: 6857 }, + { x: 6858, y: 6858 }, + { x: 6859, y: 6859 }, + { x: 6860, y: 6860 }, + { x: 6861, y: 6861 }, + { x: 6862, y: 6862 }, + { x: 6863, y: 6863 }, + { x: 6864, y: 6864 }, + { x: 6865, y: 6865 }, + { x: 6866, y: 6866 }, + { x: 6867, y: 6867 }, + { x: 6868, y: 6868 }, + { x: 6869, y: 6869 }, + { x: 6870, y: 6870 }, + { x: 6871, y: 6871 }, + { x: 6872, y: 6872 }, + { x: 6873, y: 6873 }, + { x: 6874, y: 6874 }, + { x: 6875, y: 6875 }, + { x: 6876, y: 6876 }, + { x: 6877, y: 6877 }, + { x: 6878, y: 6878 }, + { x: 6879, y: 6879 }, + { x: 6880, y: 6880 }, + { x: 6881, y: 6881 }, + { x: 6882, y: 6882 }, + { x: 6883, y: 6883 }, + { x: 6884, y: 6884 }, + { x: 6885, y: 6885 }, + { x: 6886, y: 6886 }, + { x: 6887, y: 6887 }, + { x: 6888, y: 6888 }, + { x: 6889, y: 6889 }, + { x: 6890, y: 6890 }, + { x: 6891, y: 6891 }, + { x: 6892, y: 6892 }, + { x: 6893, y: 6893 }, + { x: 6894, y: 6894 }, + { x: 6895, y: 6895 }, + { x: 6896, y: 6896 }, + { x: 6897, y: 6897 }, + { x: 6898, y: 6898 }, + { x: 6899, y: 6899 }, + { x: 6900, y: 6900 }, + { x: 6901, y: 6901 }, + { x: 6902, y: 6902 }, + { x: 6903, y: 6903 }, + { x: 6904, y: 6904 }, + { x: 6905, y: 6905 }, + { x: 6906, y: 6906 }, + { x: 6907, y: 6907 }, + { x: 6908, y: 6908 }, + { x: 6909, y: 6909 }, + { x: 6910, y: 6910 }, + { x: 6911, y: 6911 }, + { x: 6912, y: 6912 }, + { x: 6913, y: 6913 }, + { x: 6914, y: 6914 }, + { x: 6915, y: 6915 }, + { x: 6916, y: 6916 }, + { x: 6917, y: 6917 }, + { x: 6918, y: 6918 }, + { x: 6919, y: 6919 }, + { x: 6920, y: 6920 }, + { x: 6921, y: 6921 }, + { x: 6922, y: 6922 }, + { x: 6923, y: 6923 }, + { x: 6924, y: 6924 }, + { x: 6925, y: 6925 }, + { x: 6926, y: 6926 }, + { x: 6927, y: 6927 }, + { x: 6928, y: 6928 }, + { x: 6929, y: 6929 }, + { x: 6930, y: 6930 }, + { x: 6931, y: 6931 }, + { x: 6932, y: 6932 }, + { x: 6933, y: 6933 }, + { x: 6934, y: 6934 }, + { x: 6935, y: 6935 }, + { x: 6936, y: 6936 }, + { x: 6937, y: 6937 }, + { x: 6938, y: 6938 }, + { x: 6939, y: 6939 }, + { x: 6940, y: 6940 }, + { x: 6941, y: 6941 }, + { x: 6942, y: 6942 }, + { x: 6943, y: 6943 }, + { x: 6944, y: 6944 }, + { x: 6945, y: 6945 }, + { x: 6946, y: 6946 }, + { x: 6947, y: 6947 }, + { x: 6948, y: 6948 }, + { x: 6949, y: 6949 }, + { x: 6950, y: 6950 }, + { x: 6951, y: 6951 }, + { x: 6952, y: 6952 }, + { x: 6953, y: 6953 }, + { x: 6954, y: 6954 }, + { x: 6955, y: 6955 }, + { x: 6956, y: 6956 }, + { x: 6957, y: 6957 }, + { x: 6958, y: 6958 }, + { x: 6959, y: 6959 }, + { x: 6960, y: 6960 }, + { x: 6961, y: 6961 }, + { x: 6962, y: 6962 }, + { x: 6963, y: 6963 }, + { x: 6964, y: 6964 }, + { x: 6965, y: 6965 }, + { x: 6966, y: 6966 }, + { x: 6967, y: 6967 }, + { x: 6968, y: 6968 }, + { x: 6969, y: 6969 }, + { x: 6970, y: 6970 }, + { x: 6971, y: 6971 }, + { x: 6972, y: 6972 }, + { x: 6973, y: 6973 }, + { x: 6974, y: 6974 }, + { x: 6975, y: 6975 }, + { x: 6976, y: 6976 }, + { x: 6977, y: 6977 }, + { x: 6978, y: 6978 }, + { x: 6979, y: 6979 }, + { x: 6980, y: 6980 }, + { x: 6981, y: 6981 }, + { x: 6982, y: 6982 }, + { x: 6983, y: 6983 }, + { x: 6984, y: 6984 }, + { x: 6985, y: 6985 }, + { x: 6986, y: 6986 }, + { x: 6987, y: 6987 }, + { x: 6988, y: 6988 }, + { x: 6989, y: 6989 }, + { x: 6990, y: 6990 }, + { x: 6991, y: 6991 }, + { x: 6992, y: 6992 }, + { x: 6993, y: 6993 }, + { x: 6994, y: 6994 }, + { x: 6995, y: 6995 }, + { x: 6996, y: 6996 }, + { x: 6997, y: 6997 }, + { x: 6998, y: 6998 }, + { x: 6999, y: 6999 }, + { x: 7000, y: 7000 }, + { x: 7001, y: 7001 }, + { x: 7002, y: 7002 }, + { x: 7003, y: 7003 }, + { x: 7004, y: 7004 }, + { x: 7005, y: 7005 }, + { x: 7006, y: 7006 }, + { x: 7007, y: 7007 }, + { x: 7008, y: 7008 }, + { x: 7009, y: 7009 }, + { x: 7010, y: 7010 }, + { x: 7011, y: 7011 }, + { x: 7012, y: 7012 }, + { x: 7013, y: 7013 }, + { x: 7014, y: 7014 }, + { x: 7015, y: 7015 }, + { x: 7016, y: 7016 }, + { x: 7017, y: 7017 }, + { x: 7018, y: 7018 }, + { x: 7019, y: 7019 }, + { x: 7020, y: 7020 }, + { x: 7021, y: 7021 }, + { x: 7022, y: 7022 }, + { x: 7023, y: 7023 }, + { x: 7024, y: 7024 }, + { x: 7025, y: 7025 }, + { x: 7026, y: 7026 }, + { x: 7027, y: 7027 }, + { x: 7028, y: 7028 }, + { x: 7029, y: 7029 }, + { x: 7030, y: 7030 }, + { x: 7031, y: 7031 }, + { x: 7032, y: 7032 }, + { x: 7033, y: 7033 }, + { x: 7034, y: 7034 }, + { x: 7035, y: 7035 }, + { x: 7036, y: 7036 }, + { x: 7037, y: 7037 }, + { x: 7038, y: 7038 }, + { x: 7039, y: 7039 }, + { x: 7040, y: 7040 }, + { x: 7041, y: 7041 }, + { x: 7042, y: 7042 }, + { x: 7043, y: 7043 }, + { x: 7044, y: 7044 }, + { x: 7045, y: 7045 }, + { x: 7046, y: 7046 }, + { x: 7047, y: 7047 }, + { x: 7048, y: 7048 }, + { x: 7049, y: 7049 }, + { x: 7050, y: 7050 }, + { x: 7051, y: 7051 }, + { x: 7052, y: 7052 }, + { x: 7053, y: 7053 }, + { x: 7054, y: 7054 }, + { x: 7055, y: 7055 }, + { x: 7056, y: 7056 }, + { x: 7057, y: 7057 }, + { x: 7058, y: 7058 }, + { x: 7059, y: 7059 }, + { x: 7060, y: 7060 }, + { x: 7061, y: 7061 }, + { x: 7062, y: 7062 }, + { x: 7063, y: 7063 }, + { x: 7064, y: 7064 }, + { x: 7065, y: 7065 }, + { x: 7066, y: 7066 }, + { x: 7067, y: 7067 }, + { x: 7068, y: 7068 }, + { x: 7069, y: 7069 }, + { x: 7070, y: 7070 }, + { x: 7071, y: 7071 }, + { x: 7072, y: 7072 }, + { x: 7073, y: 7073 }, + { x: 7074, y: 7074 }, + { x: 7075, y: 7075 }, + { x: 7076, y: 7076 }, + { x: 7077, y: 7077 }, + { x: 7078, y: 7078 }, + { x: 7079, y: 7079 }, + { x: 7080, y: 7080 }, + { x: 7081, y: 7081 }, + { x: 7082, y: 7082 }, + { x: 7083, y: 7083 }, + { x: 7084, y: 7084 }, + { x: 7085, y: 7085 }, + { x: 7086, y: 7086 }, + { x: 7087, y: 7087 }, + { x: 7088, y: 7088 }, + { x: 7089, y: 7089 }, + { x: 7090, y: 7090 }, + { x: 7091, y: 7091 }, + { x: 7092, y: 7092 }, + { x: 7093, y: 7093 }, + { x: 7094, y: 7094 }, + { x: 7095, y: 7095 }, + { x: 7096, y: 7096 }, + { x: 7097, y: 7097 }, + { x: 7098, y: 7098 }, + { x: 7099, y: 7099 }, + { x: 7100, y: 7100 }, + { x: 7101, y: 7101 }, + { x: 7102, y: 7102 }, + { x: 7103, y: 7103 }, + { x: 7104, y: 7104 }, + { x: 7105, y: 7105 }, + { x: 7106, y: 7106 }, + { x: 7107, y: 7107 }, + { x: 7108, y: 7108 }, + { x: 7109, y: 7109 }, + { x: 7110, y: 7110 }, + { x: 7111, y: 7111 }, + { x: 7112, y: 7112 }, + { x: 7113, y: 7113 }, + { x: 7114, y: 7114 }, + { x: 7115, y: 7115 }, + { x: 7116, y: 7116 }, + { x: 7117, y: 7117 }, + { x: 7118, y: 7118 }, + { x: 7119, y: 7119 }, + { x: 7120, y: 7120 }, + { x: 7121, y: 7121 }, + { x: 7122, y: 7122 }, + { x: 7123, y: 7123 }, + { x: 7124, y: 7124 }, + { x: 7125, y: 7125 }, + { x: 7126, y: 7126 }, + { x: 7127, y: 7127 }, + { x: 7128, y: 7128 }, + { x: 7129, y: 7129 }, + { x: 7130, y: 7130 }, + { x: 7131, y: 7131 }, + { x: 7132, y: 7132 }, + { x: 7133, y: 7133 }, + { x: 7134, y: 7134 }, + { x: 7135, y: 7135 }, + { x: 7136, y: 7136 }, + { x: 7137, y: 7137 }, + { x: 7138, y: 7138 }, + { x: 7139, y: 7139 }, + { x: 7140, y: 7140 }, + { x: 7141, y: 7141 }, + { x: 7142, y: 7142 }, + { x: 7143, y: 7143 }, + { x: 7144, y: 7144 }, + { x: 7145, y: 7145 }, + { x: 7146, y: 7146 }, + { x: 7147, y: 7147 }, + { x: 7148, y: 7148 }, + { x: 7149, y: 7149 }, + { x: 7150, y: 7150 }, + { x: 7151, y: 7151 }, + { x: 7152, y: 7152 }, + { x: 7153, y: 7153 }, + { x: 7154, y: 7154 }, + { x: 7155, y: 7155 }, + { x: 7156, y: 7156 }, + { x: 7157, y: 7157 }, + { x: 7158, y: 7158 }, + { x: 7159, y: 7159 }, + { x: 7160, y: 7160 }, + { x: 7161, y: 7161 }, + { x: 7162, y: 7162 }, + { x: 7163, y: 7163 }, + { x: 7164, y: 7164 }, + { x: 7165, y: 7165 }, + { x: 7166, y: 7166 }, + { x: 7167, y: 7167 }, + { x: 7168, y: 7168 }, + { x: 7169, y: 7169 }, + { x: 7170, y: 7170 }, + { x: 7171, y: 7171 }, + { x: 7172, y: 7172 }, + { x: 7173, y: 7173 }, + { x: 7174, y: 7174 }, + { x: 7175, y: 7175 }, + { x: 7176, y: 7176 }, + { x: 7177, y: 7177 }, + { x: 7178, y: 7178 }, + { x: 7179, y: 7179 }, + { x: 7180, y: 7180 }, + { x: 7181, y: 7181 }, + { x: 7182, y: 7182 }, + { x: 7183, y: 7183 }, + { x: 7184, y: 7184 }, + { x: 7185, y: 7185 }, + { x: 7186, y: 7186 }, + { x: 7187, y: 7187 }, + { x: 7188, y: 7188 }, + { x: 7189, y: 7189 }, + { x: 7190, y: 7190 }, + { x: 7191, y: 7191 }, + { x: 7192, y: 7192 }, + { x: 7193, y: 7193 }, + { x: 7194, y: 7194 }, + { x: 7195, y: 7195 }, + { x: 7196, y: 7196 }, + { x: 7197, y: 7197 }, + { x: 7198, y: 7198 }, + { x: 7199, y: 7199 }, + { x: 7200, y: 7200 }, + { x: 7201, y: 7201 }, + { x: 7202, y: 7202 }, + { x: 7203, y: 7203 }, + { x: 7204, y: 7204 }, + { x: 7205, y: 7205 }, + { x: 7206, y: 7206 }, + { x: 7207, y: 7207 }, + { x: 7208, y: 7208 }, + { x: 7209, y: 7209 }, + { x: 7210, y: 7210 }, + { x: 7211, y: 7211 }, + { x: 7212, y: 7212 }, + { x: 7213, y: 7213 }, + { x: 7214, y: 7214 }, + { x: 7215, y: 7215 }, + { x: 7216, y: 7216 }, + { x: 7217, y: 7217 }, + { x: 7218, y: 7218 }, + { x: 7219, y: 7219 }, + { x: 7220, y: 7220 }, + { x: 7221, y: 7221 }, + { x: 7222, y: 7222 }, + { x: 7223, y: 7223 }, + { x: 7224, y: 7224 }, + { x: 7225, y: 7225 }, + { x: 7226, y: 7226 }, + { x: 7227, y: 7227 }, + { x: 7228, y: 7228 }, + { x: 7229, y: 7229 }, + { x: 7230, y: 7230 }, + { x: 7231, y: 7231 }, + { x: 7232, y: 7232 }, + { x: 7233, y: 7233 }, + { x: 7234, y: 7234 }, + { x: 7235, y: 7235 }, + { x: 7236, y: 7236 }, + { x: 7237, y: 7237 }, + { x: 7238, y: 7238 }, + { x: 7239, y: 7239 }, + { x: 7240, y: 7240 }, + { x: 7241, y: 7241 }, + { x: 7242, y: 7242 }, + { x: 7243, y: 7243 }, + { x: 7244, y: 7244 }, + { x: 7245, y: 7245 }, + { x: 7246, y: 7246 }, + { x: 7247, y: 7247 }, + { x: 7248, y: 7248 }, + { x: 7249, y: 7249 }, + { x: 7250, y: 7250 }, + { x: 7251, y: 7251 }, + { x: 7252, y: 7252 }, + { x: 7253, y: 7253 }, + { x: 7254, y: 7254 }, + { x: 7255, y: 7255 }, + { x: 7256, y: 7256 }, + { x: 7257, y: 7257 }, + { x: 7258, y: 7258 }, + { x: 7259, y: 7259 }, + { x: 7260, y: 7260 }, + { x: 7261, y: 7261 }, + { x: 7262, y: 7262 }, + { x: 7263, y: 7263 }, + { x: 7264, y: 7264 }, + { x: 7265, y: 7265 }, + { x: 7266, y: 7266 }, + { x: 7267, y: 7267 }, + { x: 7268, y: 7268 }, + { x: 7269, y: 7269 }, + { x: 7270, y: 7270 }, + { x: 7271, y: 7271 }, + { x: 7272, y: 7272 }, + { x: 7273, y: 7273 }, + { x: 7274, y: 7274 }, + { x: 7275, y: 7275 }, + { x: 7276, y: 7276 }, + { x: 7277, y: 7277 }, + { x: 7278, y: 7278 }, + { x: 7279, y: 7279 }, + { x: 7280, y: 7280 }, + { x: 7281, y: 7281 }, + { x: 7282, y: 7282 }, + { x: 7283, y: 7283 }, + { x: 7284, y: 7284 }, + { x: 7285, y: 7285 }, + { x: 7286, y: 7286 }, + { x: 7287, y: 7287 }, + { x: 7288, y: 7288 }, + { x: 7289, y: 7289 }, + { x: 7290, y: 7290 }, + { x: 7291, y: 7291 }, + { x: 7292, y: 7292 }, + { x: 7293, y: 7293 }, + { x: 7294, y: 7294 }, + { x: 7295, y: 7295 }, + { x: 7296, y: 7296 }, + { x: 7297, y: 7297 }, + { x: 7298, y: 7298 }, + { x: 7299, y: 7299 }, + { x: 7300, y: 7300 }, + { x: 7301, y: 7301 }, + { x: 7302, y: 7302 }, + { x: 7303, y: 7303 }, + { x: 7304, y: 7304 }, + { x: 7305, y: 7305 }, + { x: 7306, y: 7306 }, + { x: 7307, y: 7307 }, + { x: 7308, y: 7308 }, + { x: 7309, y: 7309 }, + { x: 7310, y: 7310 }, + { x: 7311, y: 7311 }, + { x: 7312, y: 7312 }, + { x: 7313, y: 7313 }, + { x: 7314, y: 7314 }, + { x: 7315, y: 7315 }, + { x: 7316, y: 7316 }, + { x: 7317, y: 7317 }, + { x: 7318, y: 7318 }, + { x: 7319, y: 7319 }, + { x: 7320, y: 7320 }, + { x: 7321, y: 7321 }, + { x: 7322, y: 7322 }, + { x: 7323, y: 7323 }, + { x: 7324, y: 7324 }, + { x: 7325, y: 7325 }, + { x: 7326, y: 7326 }, + { x: 7327, y: 7327 }, + { x: 7328, y: 7328 }, + { x: 7329, y: 7329 }, + { x: 7330, y: 7330 }, + { x: 7331, y: 7331 }, + { x: 7332, y: 7332 }, + { x: 7333, y: 7333 }, + { x: 7334, y: 7334 }, + { x: 7335, y: 7335 }, + { x: 7336, y: 7336 }, + { x: 7337, y: 7337 }, + { x: 7338, y: 7338 }, + { x: 7339, y: 7339 }, + { x: 7340, y: 7340 }, + { x: 7341, y: 7341 }, + { x: 7342, y: 7342 }, + { x: 7343, y: 7343 }, + { x: 7344, y: 7344 }, + { x: 7345, y: 7345 }, + { x: 7346, y: 7346 }, + { x: 7347, y: 7347 }, + { x: 7348, y: 7348 }, + { x: 7349, y: 7349 }, + { x: 7350, y: 7350 }, + { x: 7351, y: 7351 }, + { x: 7352, y: 7352 }, + { x: 7353, y: 7353 }, + { x: 7354, y: 7354 }, + { x: 7355, y: 7355 }, + { x: 7356, y: 7356 }, + { x: 7357, y: 7357 }, + { x: 7358, y: 7358 }, + { x: 7359, y: 7359 }, + { x: 7360, y: 7360 }, + { x: 7361, y: 7361 }, + { x: 7362, y: 7362 }, + { x: 7363, y: 7363 }, + { x: 7364, y: 7364 }, + { x: 7365, y: 7365 }, + { x: 7366, y: 7366 }, + { x: 7367, y: 7367 }, + { x: 7368, y: 7368 }, + { x: 7369, y: 7369 }, + { x: 7370, y: 7370 }, + { x: 7371, y: 7371 }, + { x: 7372, y: 7372 }, + { x: 7373, y: 7373 }, + { x: 7374, y: 7374 }, + { x: 7375, y: 7375 }, + { x: 7376, y: 7376 }, + { x: 7377, y: 7377 }, + { x: 7378, y: 7378 }, + { x: 7379, y: 7379 }, + { x: 7380, y: 7380 }, + { x: 7381, y: 7381 }, + { x: 7382, y: 7382 }, + { x: 7383, y: 7383 }, + { x: 7384, y: 7384 }, + { x: 7385, y: 7385 }, + { x: 7386, y: 7386 }, + { x: 7387, y: 7387 }, + { x: 7388, y: 7388 }, + { x: 7389, y: 7389 }, + { x: 7390, y: 7390 }, + { x: 7391, y: 7391 }, + { x: 7392, y: 7392 }, + { x: 7393, y: 7393 }, + { x: 7394, y: 7394 }, + { x: 7395, y: 7395 }, + { x: 7396, y: 7396 }, + { x: 7397, y: 7397 }, + { x: 7398, y: 7398 }, + { x: 7399, y: 7399 }, + { x: 7400, y: 7400 }, + { x: 7401, y: 7401 }, + { x: 7402, y: 7402 }, + { x: 7403, y: 7403 }, + { x: 7404, y: 7404 }, + { x: 7405, y: 7405 }, + { x: 7406, y: 7406 }, + { x: 7407, y: 7407 }, + { x: 7408, y: 7408 }, + { x: 7409, y: 7409 }, + { x: 7410, y: 7410 }, + { x: 7411, y: 7411 }, + { x: 7412, y: 7412 }, + { x: 7413, y: 7413 }, + { x: 7414, y: 7414 }, + { x: 7415, y: 7415 }, + { x: 7416, y: 7416 }, + { x: 7417, y: 7417 }, + { x: 7418, y: 7418 }, + { x: 7419, y: 7419 }, + { x: 7420, y: 7420 }, + { x: 7421, y: 7421 }, + { x: 7422, y: 7422 }, + { x: 7423, y: 7423 }, + { x: 7424, y: 7424 }, + { x: 7425, y: 7425 }, + { x: 7426, y: 7426 }, + { x: 7427, y: 7427 }, + { x: 7428, y: 7428 }, + { x: 7429, y: 7429 }, + { x: 7430, y: 7430 }, + { x: 7431, y: 7431 }, + { x: 7432, y: 7432 }, + { x: 7433, y: 7433 }, + { x: 7434, y: 7434 }, + { x: 7435, y: 7435 }, + { x: 7436, y: 7436 }, + { x: 7437, y: 7437 }, + { x: 7438, y: 7438 }, + { x: 7439, y: 7439 }, + { x: 7440, y: 7440 }, + { x: 7441, y: 7441 }, + { x: 7442, y: 7442 }, + { x: 7443, y: 7443 }, + { x: 7444, y: 7444 }, + { x: 7445, y: 7445 }, + { x: 7446, y: 7446 }, + { x: 7447, y: 7447 }, + { x: 7448, y: 7448 }, + { x: 7449, y: 7449 }, + { x: 7450, y: 7450 }, + { x: 7451, y: 7451 }, + { x: 7452, y: 7452 }, + { x: 7453, y: 7453 }, + { x: 7454, y: 7454 }, + { x: 7455, y: 7455 }, + { x: 7456, y: 7456 }, + { x: 7457, y: 7457 }, + { x: 7458, y: 7458 }, + { x: 7459, y: 7459 }, + { x: 7460, y: 7460 }, + { x: 7461, y: 7461 }, + { x: 7462, y: 7462 }, + { x: 7463, y: 7463 }, + { x: 7464, y: 7464 }, + { x: 7465, y: 7465 }, + { x: 7466, y: 7466 }, + { x: 7467, y: 7467 }, + { x: 7468, y: 7468 }, + { x: 7469, y: 7469 }, + { x: 7470, y: 7470 }, + { x: 7471, y: 7471 }, + { x: 7472, y: 7472 }, + { x: 7473, y: 7473 }, + { x: 7474, y: 7474 }, + { x: 7475, y: 7475 }, + { x: 7476, y: 7476 }, + { x: 7477, y: 7477 }, + { x: 7478, y: 7478 }, + { x: 7479, y: 7479 }, + { x: 7480, y: 7480 }, + { x: 7481, y: 7481 }, + { x: 7482, y: 7482 }, + { x: 7483, y: 7483 }, + { x: 7484, y: 7484 }, + { x: 7485, y: 7485 }, + { x: 7486, y: 7486 }, + { x: 7487, y: 7487 }, + { x: 7488, y: 7488 }, + { x: 7489, y: 7489 }, + { x: 7490, y: 7490 }, + { x: 7491, y: 7491 }, + { x: 7492, y: 7492 }, + { x: 7493, y: 7493 }, + { x: 7494, y: 7494 }, + { x: 7495, y: 7495 }, + { x: 7496, y: 7496 }, + { x: 7497, y: 7497 }, + { x: 7498, y: 7498 }, + { x: 7499, y: 7499 }, + { x: 7500, y: 7500 }, + { x: 7501, y: 7501 }, + { x: 7502, y: 7502 }, + { x: 7503, y: 7503 }, + { x: 7504, y: 7504 }, + { x: 7505, y: 7505 }, + { x: 7506, y: 7506 }, + { x: 7507, y: 7507 }, + { x: 7508, y: 7508 }, + { x: 7509, y: 7509 }, + { x: 7510, y: 7510 }, + { x: 7511, y: 7511 }, + { x: 7512, y: 7512 }, + { x: 7513, y: 7513 }, + { x: 7514, y: 7514 }, + { x: 7515, y: 7515 }, + { x: 7516, y: 7516 }, + { x: 7517, y: 7517 }, + { x: 7518, y: 7518 }, + { x: 7519, y: 7519 }, + { x: 7520, y: 7520 }, + { x: 7521, y: 7521 }, + { x: 7522, y: 7522 }, + { x: 7523, y: 7523 }, + { x: 7524, y: 7524 }, + { x: 7525, y: 7525 }, + { x: 7526, y: 7526 }, + { x: 7527, y: 7527 }, + { x: 7528, y: 7528 }, + { x: 7529, y: 7529 }, + { x: 7530, y: 7530 }, + { x: 7531, y: 7531 }, + { x: 7532, y: 7532 }, + { x: 7533, y: 7533 }, + { x: 7534, y: 7534 }, + { x: 7535, y: 7535 }, + { x: 7536, y: 7536 }, + { x: 7537, y: 7537 }, + { x: 7538, y: 7538 }, + { x: 7539, y: 7539 }, + { x: 7540, y: 7540 }, + { x: 7541, y: 7541 }, + { x: 7542, y: 7542 }, + { x: 7543, y: 7543 }, + { x: 7544, y: 7544 }, + { x: 7545, y: 7545 }, + { x: 7546, y: 7546 }, + { x: 7547, y: 7547 }, + { x: 7548, y: 7548 }, + { x: 7549, y: 7549 }, + { x: 7550, y: 7550 }, + { x: 7551, y: 7551 }, + { x: 7552, y: 7552 }, + { x: 7553, y: 7553 }, + { x: 7554, y: 7554 }, + { x: 7555, y: 7555 }, + { x: 7556, y: 7556 }, + { x: 7557, y: 7557 }, + { x: 7558, y: 7558 }, + { x: 7559, y: 7559 }, + { x: 7560, y: 7560 }, + { x: 7561, y: 7561 }, + { x: 7562, y: 7562 }, + { x: 7563, y: 7563 }, + { x: 7564, y: 7564 }, + { x: 7565, y: 7565 }, + { x: 7566, y: 7566 }, + { x: 7567, y: 7567 }, + { x: 7568, y: 7568 }, + { x: 7569, y: 7569 }, + { x: 7570, y: 7570 }, + { x: 7571, y: 7571 }, + { x: 7572, y: 7572 }, + { x: 7573, y: 7573 }, + { x: 7574, y: 7574 }, + { x: 7575, y: 7575 }, + { x: 7576, y: 7576 }, + { x: 7577, y: 7577 }, + { x: 7578, y: 7578 }, + { x: 7579, y: 7579 }, + { x: 7580, y: 7580 }, + { x: 7581, y: 7581 }, + { x: 7582, y: 7582 }, + { x: 7583, y: 7583 }, + { x: 7584, y: 7584 }, + { x: 7585, y: 7585 }, + { x: 7586, y: 7586 }, + { x: 7587, y: 7587 }, + { x: 7588, y: 7588 }, + { x: 7589, y: 7589 }, + { x: 7590, y: 7590 }, + { x: 7591, y: 7591 }, + { x: 7592, y: 7592 }, + { x: 7593, y: 7593 }, + { x: 7594, y: 7594 }, + { x: 7595, y: 7595 }, + { x: 7596, y: 7596 }, + { x: 7597, y: 7597 }, + { x: 7598, y: 7598 }, + { x: 7599, y: 7599 }, + { x: 7600, y: 7600 }, + { x: 7601, y: 7601 }, + { x: 7602, y: 7602 }, + { x: 7603, y: 7603 }, + { x: 7604, y: 7604 }, + { x: 7605, y: 7605 }, + { x: 7606, y: 7606 }, + { x: 7607, y: 7607 }, + { x: 7608, y: 7608 }, + { x: 7609, y: 7609 }, + { x: 7610, y: 7610 }, + { x: 7611, y: 7611 }, + { x: 7612, y: 7612 }, + { x: 7613, y: 7613 }, + { x: 7614, y: 7614 }, + { x: 7615, y: 7615 }, + { x: 7616, y: 7616 }, + { x: 7617, y: 7617 }, + { x: 7618, y: 7618 }, + { x: 7619, y: 7619 }, + { x: 7620, y: 7620 }, + { x: 7621, y: 7621 }, + { x: 7622, y: 7622 }, + { x: 7623, y: 7623 }, + { x: 7624, y: 7624 }, + { x: 7625, y: 7625 }, + { x: 7626, y: 7626 }, + { x: 7627, y: 7627 }, + { x: 7628, y: 7628 }, + { x: 7629, y: 7629 }, + { x: 7630, y: 7630 }, + { x: 7631, y: 7631 }, + { x: 7632, y: 7632 }, + { x: 7633, y: 7633 }, + { x: 7634, y: 7634 }, + { x: 7635, y: 7635 }, + { x: 7636, y: 7636 }, + { x: 7637, y: 7637 }, + { x: 7638, y: 7638 }, + { x: 7639, y: 7639 }, + { x: 7640, y: 7640 }, + { x: 7641, y: 7641 }, + { x: 7642, y: 7642 }, + { x: 7643, y: 7643 }, + { x: 7644, y: 7644 }, + { x: 7645, y: 7645 }, + { x: 7646, y: 7646 }, + { x: 7647, y: 7647 }, + { x: 7648, y: 7648 }, + { x: 7649, y: 7649 }, + { x: 7650, y: 7650 }, + { x: 7651, y: 7651 }, + { x: 7652, y: 7652 }, + { x: 7653, y: 7653 }, + { x: 7654, y: 7654 }, + { x: 7655, y: 7655 }, + { x: 7656, y: 7656 }, + { x: 7657, y: 7657 }, + { x: 7658, y: 7658 }, + { x: 7659, y: 7659 }, + { x: 7660, y: 7660 }, + { x: 7661, y: 7661 }, + { x: 7662, y: 7662 }, + { x: 7663, y: 7663 }, + { x: 7664, y: 7664 }, + { x: 7665, y: 7665 }, + { x: 7666, y: 7666 }, + { x: 7667, y: 7667 }, + { x: 7668, y: 7668 }, + { x: 7669, y: 7669 }, + { x: 7670, y: 7670 }, + { x: 7671, y: 7671 }, + { x: 7672, y: 7672 }, + { x: 7673, y: 7673 }, + { x: 7674, y: 7674 }, + { x: 7675, y: 7675 }, + { x: 7676, y: 7676 }, + { x: 7677, y: 7677 }, + { x: 7678, y: 7678 }, + { x: 7679, y: 7679 }, + { x: 7680, y: 7680 }, + { x: 7681, y: 7681 }, + { x: 7682, y: 7682 }, + { x: 7683, y: 7683 }, + { x: 7684, y: 7684 }, + { x: 7685, y: 7685 }, + { x: 7686, y: 7686 }, + { x: 7687, y: 7687 }, + { x: 7688, y: 7688 }, + { x: 7689, y: 7689 }, + { x: 7690, y: 7690 }, + { x: 7691, y: 7691 }, + { x: 7692, y: 7692 }, + { x: 7693, y: 7693 }, + { x: 7694, y: 7694 }, + { x: 7695, y: 7695 }, + { x: 7696, y: 7696 }, + { x: 7697, y: 7697 }, + { x: 7698, y: 7698 }, + { x: 7699, y: 7699 }, + { x: 7700, y: 7700 }, + { x: 7701, y: 7701 }, + { x: 7702, y: 7702 }, + { x: 7703, y: 7703 }, + { x: 7704, y: 7704 }, + { x: 7705, y: 7705 }, + { x: 7706, y: 7706 }, + { x: 7707, y: 7707 }, + { x: 7708, y: 7708 }, + { x: 7709, y: 7709 }, + { x: 7710, y: 7710 }, + { x: 7711, y: 7711 }, + { x: 7712, y: 7712 }, + { x: 7713, y: 7713 }, + { x: 7714, y: 7714 }, + { x: 7715, y: 7715 }, + { x: 7716, y: 7716 }, + { x: 7717, y: 7717 }, + { x: 7718, y: 7718 }, + { x: 7719, y: 7719 }, + { x: 7720, y: 7720 }, + { x: 7721, y: 7721 }, + { x: 7722, y: 7722 }, + { x: 7723, y: 7723 }, + { x: 7724, y: 7724 }, + { x: 7725, y: 7725 }, + { x: 7726, y: 7726 }, + { x: 7727, y: 7727 }, + { x: 7728, y: 7728 }, + { x: 7729, y: 7729 }, + { x: 7730, y: 7730 }, + { x: 7731, y: 7731 }, + { x: 7732, y: 7732 }, + { x: 7733, y: 7733 }, + { x: 7734, y: 7734 }, + { x: 7735, y: 7735 }, + { x: 7736, y: 7736 }, + { x: 7737, y: 7737 }, + { x: 7738, y: 7738 }, + { x: 7739, y: 7739 }, + { x: 7740, y: 7740 }, + { x: 7741, y: 7741 }, + { x: 7742, y: 7742 }, + { x: 7743, y: 7743 }, + { x: 7744, y: 7744 }, + { x: 7745, y: 7745 }, + { x: 7746, y: 7746 }, + { x: 7747, y: 7747 }, + { x: 7748, y: 7748 }, + { x: 7749, y: 7749 }, + { x: 7750, y: 7750 }, + { x: 7751, y: 7751 }, + { x: 7752, y: 7752 }, + { x: 7753, y: 7753 }, + { x: 7754, y: 7754 }, + { x: 7755, y: 7755 }, + { x: 7756, y: 7756 }, + { x: 7757, y: 7757 }, + { x: 7758, y: 7758 }, + { x: 7759, y: 7759 }, + { x: 7760, y: 7760 }, + { x: 7761, y: 7761 }, + { x: 7762, y: 7762 }, + { x: 7763, y: 7763 }, + { x: 7764, y: 7764 }, + { x: 7765, y: 7765 }, + { x: 7766, y: 7766 }, + { x: 7767, y: 7767 }, + { x: 7768, y: 7768 }, + { x: 7769, y: 7769 }, + { x: 7770, y: 7770 }, + { x: 7771, y: 7771 }, + { x: 7772, y: 7772 }, + { x: 7773, y: 7773 }, + { x: 7774, y: 7774 }, + { x: 7775, y: 7775 }, + { x: 7776, y: 7776 }, + { x: 7777, y: 7777 }, + { x: 7778, y: 7778 }, + { x: 7779, y: 7779 }, + { x: 7780, y: 7780 }, + { x: 7781, y: 7781 }, + { x: 7782, y: 7782 }, + { x: 7783, y: 7783 }, + { x: 7784, y: 7784 }, + { x: 7785, y: 7785 }, + { x: 7786, y: 7786 }, + { x: 7787, y: 7787 }, + { x: 7788, y: 7788 }, + { x: 7789, y: 7789 }, + { x: 7790, y: 7790 }, + { x: 7791, y: 7791 }, + { x: 7792, y: 7792 }, + { x: 7793, y: 7793 }, + { x: 7794, y: 7794 }, + { x: 7795, y: 7795 }, + { x: 7796, y: 7796 }, + { x: 7797, y: 7797 }, + { x: 7798, y: 7798 }, + { x: 7799, y: 7799 }, + { x: 7800, y: 7800 }, + { x: 7801, y: 7801 }, + { x: 7802, y: 7802 }, + { x: 7803, y: 7803 }, + { x: 7804, y: 7804 }, + { x: 7805, y: 7805 }, + { x: 7806, y: 7806 }, + { x: 7807, y: 7807 }, + { x: 7808, y: 7808 }, + { x: 7809, y: 7809 }, + { x: 7810, y: 7810 }, + { x: 7811, y: 7811 }, + { x: 7812, y: 7812 }, + { x: 7813, y: 7813 }, + { x: 7814, y: 7814 }, + { x: 7815, y: 7815 }, + { x: 7816, y: 7816 }, + { x: 7817, y: 7817 }, + { x: 7818, y: 7818 }, + { x: 7819, y: 7819 }, + { x: 7820, y: 7820 }, + { x: 7821, y: 7821 }, + { x: 7822, y: 7822 }, + { x: 7823, y: 7823 }, + { x: 7824, y: 7824 }, + { x: 7825, y: 7825 }, + { x: 7826, y: 7826 }, + { x: 7827, y: 7827 }, + { x: 7828, y: 7828 }, + { x: 7829, y: 7829 }, + { x: 7830, y: 7830 }, + { x: 7831, y: 7831 }, + { x: 7832, y: 7832 }, + { x: 7833, y: 7833 }, + { x: 7834, y: 7834 }, + { x: 7835, y: 7835 }, + { x: 7836, y: 7836 }, + { x: 7837, y: 7837 }, + { x: 7838, y: 7838 }, + { x: 7839, y: 7839 }, + { x: 7840, y: 7840 }, + { x: 7841, y: 7841 }, + { x: 7842, y: 7842 }, + { x: 7843, y: 7843 }, + { x: 7844, y: 7844 }, + { x: 7845, y: 7845 }, + { x: 7846, y: 7846 }, + { x: 7847, y: 7847 }, + { x: 7848, y: 7848 }, + { x: 7849, y: 7849 }, + { x: 7850, y: 7850 }, + { x: 7851, y: 7851 }, + { x: 7852, y: 7852 }, + { x: 7853, y: 7853 }, + { x: 7854, y: 7854 }, + { x: 7855, y: 7855 }, + { x: 7856, y: 7856 }, + { x: 7857, y: 7857 }, + { x: 7858, y: 7858 }, + { x: 7859, y: 7859 }, + { x: 7860, y: 7860 }, + { x: 7861, y: 7861 }, + { x: 7862, y: 7862 }, + { x: 7863, y: 7863 }, + { x: 7864, y: 7864 }, + { x: 7865, y: 7865 }, + { x: 7866, y: 7866 }, + { x: 7867, y: 7867 }, + { x: 7868, y: 7868 }, + { x: 7869, y: 7869 }, + { x: 7870, y: 7870 }, + { x: 7871, y: 7871 }, + { x: 7872, y: 7872 }, + { x: 7873, y: 7873 }, + { x: 7874, y: 7874 }, + { x: 7875, y: 7875 }, + { x: 7876, y: 7876 }, + { x: 7877, y: 7877 }, + { x: 7878, y: 7878 }, + { x: 7879, y: 7879 }, + { x: 7880, y: 7880 }, + { x: 7881, y: 7881 }, + { x: 7882, y: 7882 }, + { x: 7883, y: 7883 }, + { x: 7884, y: 7884 }, + { x: 7885, y: 7885 }, + { x: 7886, y: 7886 }, + { x: 7887, y: 7887 }, + { x: 7888, y: 7888 }, + { x: 7889, y: 7889 }, + { x: 7890, y: 7890 }, + { x: 7891, y: 7891 }, + { x: 7892, y: 7892 }, + { x: 7893, y: 7893 }, + { x: 7894, y: 7894 }, + { x: 7895, y: 7895 }, + { x: 7896, y: 7896 }, + { x: 7897, y: 7897 }, + { x: 7898, y: 7898 }, + { x: 7899, y: 7899 }, + { x: 7900, y: 7900 }, + { x: 7901, y: 7901 }, + { x: 7902, y: 7902 }, + { x: 7903, y: 7903 }, + { x: 7904, y: 7904 }, + { x: 7905, y: 7905 }, + { x: 7906, y: 7906 }, + { x: 7907, y: 7907 }, + { x: 7908, y: 7908 }, + { x: 7909, y: 7909 }, + { x: 7910, y: 7910 }, + { x: 7911, y: 7911 }, + { x: 7912, y: 7912 }, + { x: 7913, y: 7913 }, + { x: 7914, y: 7914 }, + { x: 7915, y: 7915 }, + { x: 7916, y: 7916 }, + { x: 7917, y: 7917 }, + { x: 7918, y: 7918 }, + { x: 7919, y: 7919 }, + { x: 7920, y: 7920 }, + { x: 7921, y: 7921 }, + { x: 7922, y: 7922 }, + { x: 7923, y: 7923 }, + { x: 7924, y: 7924 }, + { x: 7925, y: 7925 }, + { x: 7926, y: 7926 }, + { x: 7927, y: 7927 }, + { x: 7928, y: 7928 }, + { x: 7929, y: 7929 }, + { x: 7930, y: 7930 }, + { x: 7931, y: 7931 }, + { x: 7932, y: 7932 }, + { x: 7933, y: 7933 }, + { x: 7934, y: 7934 }, + { x: 7935, y: 7935 }, + { x: 7936, y: 7936 }, + { x: 7937, y: 7937 }, + { x: 7938, y: 7938 }, + { x: 7939, y: 7939 }, + { x: 7940, y: 7940 }, + { x: 7941, y: 7941 }, + { x: 7942, y: 7942 }, + { x: 7943, y: 7943 }, + { x: 7944, y: 7944 }, + { x: 7945, y: 7945 }, + { x: 7946, y: 7946 }, + { x: 7947, y: 7947 }, + { x: 7948, y: 7948 }, + { x: 7949, y: 7949 }, + { x: 7950, y: 7950 }, + { x: 7951, y: 7951 }, + { x: 7952, y: 7952 }, + { x: 7953, y: 7953 }, + { x: 7954, y: 7954 }, + { x: 7955, y: 7955 }, + { x: 7956, y: 7956 }, + { x: 7957, y: 7957 }, + { x: 7958, y: 7958 }, + { x: 7959, y: 7959 }, + { x: 7960, y: 7960 }, + { x: 7961, y: 7961 }, + { x: 7962, y: 7962 }, + { x: 7963, y: 7963 }, + { x: 7964, y: 7964 }, + { x: 7965, y: 7965 }, + { x: 7966, y: 7966 }, + { x: 7967, y: 7967 }, + { x: 7968, y: 7968 }, + { x: 7969, y: 7969 }, + { x: 7970, y: 7970 }, + { x: 7971, y: 7971 }, + { x: 7972, y: 7972 }, + { x: 7973, y: 7973 }, + { x: 7974, y: 7974 }, + { x: 7975, y: 7975 }, + { x: 7976, y: 7976 }, + { x: 7977, y: 7977 }, + { x: 7978, y: 7978 }, + { x: 7979, y: 7979 }, + { x: 7980, y: 7980 }, + { x: 7981, y: 7981 }, + { x: 7982, y: 7982 }, + { x: 7983, y: 7983 }, + { x: 7984, y: 7984 }, + { x: 7985, y: 7985 }, + { x: 7986, y: 7986 }, + { x: 7987, y: 7987 }, + { x: 7988, y: 7988 }, + { x: 7989, y: 7989 }, + { x: 7990, y: 7990 }, + { x: 7991, y: 7991 }, + { x: 7992, y: 7992 }, + { x: 7993, y: 7993 }, + { x: 7994, y: 7994 }, + { x: 7995, y: 7995 }, + { x: 7996, y: 7996 }, + { x: 7997, y: 7997 }, + { x: 7998, y: 7998 }, + { x: 7999, y: 7999 }, + { x: 8000, y: 8000 }, + { x: 8001, y: 8001 }, + { x: 8002, y: 8002 }, + { x: 8003, y: 8003 }, + { x: 8004, y: 8004 }, + { x: 8005, y: 8005 }, + { x: 8006, y: 8006 }, + { x: 8007, y: 8007 }, + { x: 8008, y: 8008 }, + { x: 8009, y: 8009 }, + { x: 8010, y: 8010 }, + { x: 8011, y: 8011 }, + { x: 8012, y: 8012 }, + { x: 8013, y: 8013 }, + { x: 8014, y: 8014 }, + { x: 8015, y: 8015 }, + { x: 8016, y: 8016 }, + { x: 8017, y: 8017 }, + { x: 8018, y: 8018 }, + { x: 8019, y: 8019 }, + { x: 8020, y: 8020 }, + { x: 8021, y: 8021 }, + { x: 8022, y: 8022 }, + { x: 8023, y: 8023 }, + { x: 8024, y: 8024 }, + { x: 8025, y: 8025 }, + { x: 8026, y: 8026 }, + { x: 8027, y: 8027 }, + { x: 8028, y: 8028 }, + { x: 8029, y: 8029 }, + { x: 8030, y: 8030 }, + { x: 8031, y: 8031 }, + { x: 8032, y: 8032 }, + { x: 8033, y: 8033 }, + { x: 8034, y: 8034 }, + { x: 8035, y: 8035 }, + { x: 8036, y: 8036 }, + { x: 8037, y: 8037 }, + { x: 8038, y: 8038 }, + { x: 8039, y: 8039 }, + { x: 8040, y: 8040 }, + { x: 8041, y: 8041 }, + { x: 8042, y: 8042 }, + { x: 8043, y: 8043 }, + { x: 8044, y: 8044 }, + { x: 8045, y: 8045 }, + { x: 8046, y: 8046 }, + { x: 8047, y: 8047 }, + { x: 8048, y: 8048 }, + { x: 8049, y: 8049 }, + { x: 8050, y: 8050 }, + { x: 8051, y: 8051 }, + { x: 8052, y: 8052 }, + { x: 8053, y: 8053 }, + { x: 8054, y: 8054 }, + { x: 8055, y: 8055 }, + { x: 8056, y: 8056 }, + { x: 8057, y: 8057 }, + { x: 8058, y: 8058 }, + { x: 8059, y: 8059 }, + { x: 8060, y: 8060 }, + { x: 8061, y: 8061 }, + { x: 8062, y: 8062 }, + { x: 8063, y: 8063 }, + { x: 8064, y: 8064 }, + { x: 8065, y: 8065 }, + { x: 8066, y: 8066 }, + { x: 8067, y: 8067 }, + { x: 8068, y: 8068 }, + { x: 8069, y: 8069 }, + { x: 8070, y: 8070 }, + { x: 8071, y: 8071 }, + { x: 8072, y: 8072 }, + { x: 8073, y: 8073 }, + { x: 8074, y: 8074 }, + { x: 8075, y: 8075 }, + { x: 8076, y: 8076 }, + { x: 8077, y: 8077 }, + { x: 8078, y: 8078 }, + { x: 8079, y: 8079 }, + { x: 8080, y: 8080 }, + { x: 8081, y: 8081 }, + { x: 8082, y: 8082 }, + { x: 8083, y: 8083 }, + { x: 8084, y: 8084 }, + { x: 8085, y: 8085 }, + { x: 8086, y: 8086 }, + { x: 8087, y: 8087 }, + { x: 8088, y: 8088 }, + { x: 8089, y: 8089 }, + { x: 8090, y: 8090 }, + { x: 8091, y: 8091 }, + { x: 8092, y: 8092 }, + { x: 8093, y: 8093 }, + { x: 8094, y: 8094 }, + { x: 8095, y: 8095 }, + { x: 8096, y: 8096 }, + { x: 8097, y: 8097 }, + { x: 8098, y: 8098 }, + { x: 8099, y: 8099 }, + { x: 8100, y: 8100 }, + { x: 8101, y: 8101 }, + { x: 8102, y: 8102 }, + { x: 8103, y: 8103 }, + { x: 8104, y: 8104 }, + { x: 8105, y: 8105 }, + { x: 8106, y: 8106 }, + { x: 8107, y: 8107 }, + { x: 8108, y: 8108 }, + { x: 8109, y: 8109 }, + { x: 8110, y: 8110 }, + { x: 8111, y: 8111 }, + { x: 8112, y: 8112 }, + { x: 8113, y: 8113 }, + { x: 8114, y: 8114 }, + { x: 8115, y: 8115 }, + { x: 8116, y: 8116 }, + { x: 8117, y: 8117 }, + { x: 8118, y: 8118 }, + { x: 8119, y: 8119 }, + { x: 8120, y: 8120 }, + { x: 8121, y: 8121 }, + { x: 8122, y: 8122 }, + { x: 8123, y: 8123 }, + { x: 8124, y: 8124 }, + { x: 8125, y: 8125 }, + { x: 8126, y: 8126 }, + { x: 8127, y: 8127 }, + { x: 8128, y: 8128 }, + { x: 8129, y: 8129 }, + { x: 8130, y: 8130 }, + { x: 8131, y: 8131 }, + { x: 8132, y: 8132 }, + { x: 8133, y: 8133 }, + { x: 8134, y: 8134 }, + { x: 8135, y: 8135 }, + { x: 8136, y: 8136 }, + { x: 8137, y: 8137 }, + { x: 8138, y: 8138 }, + { x: 8139, y: 8139 }, + { x: 8140, y: 8140 }, + { x: 8141, y: 8141 }, + { x: 8142, y: 8142 }, + { x: 8143, y: 8143 }, + { x: 8144, y: 8144 }, + { x: 8145, y: 8145 }, + { x: 8146, y: 8146 }, + { x: 8147, y: 8147 }, + { x: 8148, y: 8148 }, + { x: 8149, y: 8149 }, + { x: 8150, y: 8150 }, + { x: 8151, y: 8151 }, + { x: 8152, y: 8152 }, + { x: 8153, y: 8153 }, + { x: 8154, y: 8154 }, + { x: 8155, y: 8155 }, + { x: 8156, y: 8156 }, + { x: 8157, y: 8157 }, + { x: 8158, y: 8158 }, + { x: 8159, y: 8159 }, + { x: 8160, y: 8160 }, + { x: 8161, y: 8161 }, + { x: 8162, y: 8162 }, + { x: 8163, y: 8163 }, + { x: 8164, y: 8164 }, + { x: 8165, y: 8165 }, + { x: 8166, y: 8166 }, + { x: 8167, y: 8167 }, + { x: 8168, y: 8168 }, + { x: 8169, y: 8169 }, + { x: 8170, y: 8170 }, + { x: 8171, y: 8171 }, + { x: 8172, y: 8172 }, + { x: 8173, y: 8173 }, + { x: 8174, y: 8174 }, + { x: 8175, y: 8175 }, + { x: 8176, y: 8176 }, + { x: 8177, y: 8177 }, + { x: 8178, y: 8178 }, + { x: 8179, y: 8179 }, + { x: 8180, y: 8180 }, + { x: 8181, y: 8181 }, + { x: 8182, y: 8182 }, + { x: 8183, y: 8183 }, + { x: 8184, y: 8184 }, + { x: 8185, y: 8185 }, + { x: 8186, y: 8186 }, + { x: 8187, y: 8187 }, + { x: 8188, y: 8188 }, + { x: 8189, y: 8189 }, + { x: 8190, y: 8190 }, + { x: 8191, y: 8191 }, + { x: 8192, y: 8192 }, + { x: 8193, y: 8193 }, + { x: 8194, y: 8194 }, + { x: 8195, y: 8195 }, + { x: 8196, y: 8196 }, + { x: 8197, y: 8197 }, + { x: 8198, y: 8198 }, + { x: 8199, y: 8199 }, + { x: 8200, y: 8200 }, + { x: 8201, y: 8201 }, + { x: 8202, y: 8202 }, + { x: 8203, y: 8203 }, + { x: 8204, y: 8204 }, + { x: 8205, y: 8205 }, + { x: 8206, y: 8206 }, + { x: 8207, y: 8207 }, + { x: 8208, y: 8208 }, + { x: 8209, y: 8209 }, + { x: 8210, y: 8210 }, + { x: 8211, y: 8211 }, + { x: 8212, y: 8212 }, + { x: 8213, y: 8213 }, + { x: 8214, y: 8214 }, + { x: 8215, y: 8215 }, + { x: 8216, y: 8216 }, + { x: 8217, y: 8217 }, + { x: 8218, y: 8218 }, + { x: 8219, y: 8219 }, + { x: 8220, y: 8220 }, + { x: 8221, y: 8221 }, + { x: 8222, y: 8222 }, + { x: 8223, y: 8223 }, + { x: 8224, y: 8224 }, + { x: 8225, y: 8225 }, + { x: 8226, y: 8226 }, + { x: 8227, y: 8227 }, + { x: 8228, y: 8228 }, + { x: 8229, y: 8229 }, + { x: 8230, y: 8230 }, + { x: 8231, y: 8231 }, + { x: 8232, y: 8232 }, + { x: 8233, y: 8233 }, + { x: 8234, y: 8234 }, + { x: 8235, y: 8235 }, + { x: 8236, y: 8236 }, + { x: 8237, y: 8237 }, + { x: 8238, y: 8238 }, + { x: 8239, y: 8239 }, + { x: 8240, y: 8240 }, + { x: 8241, y: 8241 }, + { x: 8242, y: 8242 }, + { x: 8243, y: 8243 }, + { x: 8244, y: 8244 }, + { x: 8245, y: 8245 }, + { x: 8246, y: 8246 }, + { x: 8247, y: 8247 }, + { x: 8248, y: 8248 }, + { x: 8249, y: 8249 }, + { x: 8250, y: 8250 }, + { x: 8251, y: 8251 }, + { x: 8252, y: 8252 }, + { x: 8253, y: 8253 }, + { x: 8254, y: 8254 }, + { x: 8255, y: 8255 }, + { x: 8256, y: 8256 }, + { x: 8257, y: 8257 }, + { x: 8258, y: 8258 }, + { x: 8259, y: 8259 }, + { x: 8260, y: 8260 }, + { x: 8261, y: 8261 }, + { x: 8262, y: 8262 }, + { x: 8263, y: 8263 }, + { x: 8264, y: 8264 }, + { x: 8265, y: 8265 }, + { x: 8266, y: 8266 }, + { x: 8267, y: 8267 }, + { x: 8268, y: 8268 }, + { x: 8269, y: 8269 }, + { x: 8270, y: 8270 }, + { x: 8271, y: 8271 }, + { x: 8272, y: 8272 }, + { x: 8273, y: 8273 }, + { x: 8274, y: 8274 }, + { x: 8275, y: 8275 }, + { x: 8276, y: 8276 }, + { x: 8277, y: 8277 }, + { x: 8278, y: 8278 }, + { x: 8279, y: 8279 }, + { x: 8280, y: 8280 }, + { x: 8281, y: 8281 }, + { x: 8282, y: 8282 }, + { x: 8283, y: 8283 }, + { x: 8284, y: 8284 }, + { x: 8285, y: 8285 }, + { x: 8286, y: 8286 }, + { x: 8287, y: 8287 }, + { x: 8288, y: 8288 }, + { x: 8289, y: 8289 }, + { x: 8290, y: 8290 }, + { x: 8291, y: 8291 }, + { x: 8292, y: 8292 }, + { x: 8293, y: 8293 }, + { x: 8294, y: 8294 }, + { x: 8295, y: 8295 }, + { x: 8296, y: 8296 }, + { x: 8297, y: 8297 }, + { x: 8298, y: 8298 }, + { x: 8299, y: 8299 }, + { x: 8300, y: 8300 }, + { x: 8301, y: 8301 }, + { x: 8302, y: 8302 }, + { x: 8303, y: 8303 }, + { x: 8304, y: 8304 }, + { x: 8305, y: 8305 }, + { x: 8306, y: 8306 }, + { x: 8307, y: 8307 }, + { x: 8308, y: 8308 }, + { x: 8309, y: 8309 }, + { x: 8310, y: 8310 }, + { x: 8311, y: 8311 }, + { x: 8312, y: 8312 }, + { x: 8313, y: 8313 }, + { x: 8314, y: 8314 }, + { x: 8315, y: 8315 }, + { x: 8316, y: 8316 }, + { x: 8317, y: 8317 }, + { x: 8318, y: 8318 }, + { x: 8319, y: 8319 }, + { x: 8320, y: 8320 }, + { x: 8321, y: 8321 }, + { x: 8322, y: 8322 }, + { x: 8323, y: 8323 }, + { x: 8324, y: 8324 }, + { x: 8325, y: 8325 }, + { x: 8326, y: 8326 }, + { x: 8327, y: 8327 }, + { x: 8328, y: 8328 }, + { x: 8329, y: 8329 }, + { x: 8330, y: 8330 }, + { x: 8331, y: 8331 }, + { x: 8332, y: 8332 }, + { x: 8333, y: 8333 }, + { x: 8334, y: 8334 }, + { x: 8335, y: 8335 }, + { x: 8336, y: 8336 }, + { x: 8337, y: 8337 }, + { x: 8338, y: 8338 }, + { x: 8339, y: 8339 }, + { x: 8340, y: 8340 }, + { x: 8341, y: 8341 }, + { x: 8342, y: 8342 }, + { x: 8343, y: 8343 }, + { x: 8344, y: 8344 }, + { x: 8345, y: 8345 }, + { x: 8346, y: 8346 }, + { x: 8347, y: 8347 }, + { x: 8348, y: 8348 }, + { x: 8349, y: 8349 }, + { x: 8350, y: 8350 }, + { x: 8351, y: 8351 }, + { x: 8352, y: 8352 }, + { x: 8353, y: 8353 }, + { x: 8354, y: 8354 }, + { x: 8355, y: 8355 }, + { x: 8356, y: 8356 }, + { x: 8357, y: 8357 }, + { x: 8358, y: 8358 }, + { x: 8359, y: 8359 }, + { x: 8360, y: 8360 }, + { x: 8361, y: 8361 }, + { x: 8362, y: 8362 }, + { x: 8363, y: 8363 }, + { x: 8364, y: 8364 }, + { x: 8365, y: 8365 }, + { x: 8366, y: 8366 }, + { x: 8367, y: 8367 }, + { x: 8368, y: 8368 }, + { x: 8369, y: 8369 }, + { x: 8370, y: 8370 }, + { x: 8371, y: 8371 }, + { x: 8372, y: 8372 }, + { x: 8373, y: 8373 }, + { x: 8374, y: 8374 }, + { x: 8375, y: 8375 }, + { x: 8376, y: 8376 }, + { x: 8377, y: 8377 }, + { x: 8378, y: 8378 }, + { x: 8379, y: 8379 }, + { x: 8380, y: 8380 }, + { x: 8381, y: 8381 }, + { x: 8382, y: 8382 }, + { x: 8383, y: 8383 }, + { x: 8384, y: 8384 }, + { x: 8385, y: 8385 }, + { x: 8386, y: 8386 }, + { x: 8387, y: 8387 }, + { x: 8388, y: 8388 }, + { x: 8389, y: 8389 }, + { x: 8390, y: 8390 }, + { x: 8391, y: 8391 }, + { x: 8392, y: 8392 }, + { x: 8393, y: 8393 }, + { x: 8394, y: 8394 }, + { x: 8395, y: 8395 }, + { x: 8396, y: 8396 }, + { x: 8397, y: 8397 }, + { x: 8398, y: 8398 }, + { x: 8399, y: 8399 }, + { x: 8400, y: 8400 }, + { x: 8401, y: 8401 }, + { x: 8402, y: 8402 }, + { x: 8403, y: 8403 }, + { x: 8404, y: 8404 }, + { x: 8405, y: 8405 }, + { x: 8406, y: 8406 }, + { x: 8407, y: 8407 }, + { x: 8408, y: 8408 }, + { x: 8409, y: 8409 }, + { x: 8410, y: 8410 }, + { x: 8411, y: 8411 }, + { x: 8412, y: 8412 }, + { x: 8413, y: 8413 }, + { x: 8414, y: 8414 }, + { x: 8415, y: 8415 }, + { x: 8416, y: 8416 }, + { x: 8417, y: 8417 }, + { x: 8418, y: 8418 }, + { x: 8419, y: 8419 }, + { x: 8420, y: 8420 }, + { x: 8421, y: 8421 }, + { x: 8422, y: 8422 }, + { x: 8423, y: 8423 }, + { x: 8424, y: 8424 }, + { x: 8425, y: 8425 }, + { x: 8426, y: 8426 }, + { x: 8427, y: 8427 }, + { x: 8428, y: 8428 }, + { x: 8429, y: 8429 }, + { x: 8430, y: 8430 }, + { x: 8431, y: 8431 }, + { x: 8432, y: 8432 }, + { x: 8433, y: 8433 }, + { x: 8434, y: 8434 }, + { x: 8435, y: 8435 }, + { x: 8436, y: 8436 }, + { x: 8437, y: 8437 }, + { x: 8438, y: 8438 }, + { x: 8439, y: 8439 }, + { x: 8440, y: 8440 }, + { x: 8441, y: 8441 }, + { x: 8442, y: 8442 }, + { x: 8443, y: 8443 }, + { x: 8444, y: 8444 }, + { x: 8445, y: 8445 }, + { x: 8446, y: 8446 }, + { x: 8447, y: 8447 }, + { x: 8448, y: 8448 }, + { x: 8449, y: 8449 }, + { x: 8450, y: 8450 }, + { x: 8451, y: 8451 }, + { x: 8452, y: 8452 }, + { x: 8453, y: 8453 }, + { x: 8454, y: 8454 }, + { x: 8455, y: 8455 }, + { x: 8456, y: 8456 }, + { x: 8457, y: 8457 }, + { x: 8458, y: 8458 }, + { x: 8459, y: 8459 }, + { x: 8460, y: 8460 }, + { x: 8461, y: 8461 }, + { x: 8462, y: 8462 }, + { x: 8463, y: 8463 }, + { x: 8464, y: 8464 }, + { x: 8465, y: 8465 }, + { x: 8466, y: 8466 }, + { x: 8467, y: 8467 }, + { x: 8468, y: 8468 }, + { x: 8469, y: 8469 }, + { x: 8470, y: 8470 }, + { x: 8471, y: 8471 }, + { x: 8472, y: 8472 }, + { x: 8473, y: 8473 }, + { x: 8474, y: 8474 }, + { x: 8475, y: 8475 }, + { x: 8476, y: 8476 }, + { x: 8477, y: 8477 }, + { x: 8478, y: 8478 }, + { x: 8479, y: 8479 }, + { x: 8480, y: 8480 }, + { x: 8481, y: 8481 }, + { x: 8482, y: 8482 }, + { x: 8483, y: 8483 }, + { x: 8484, y: 8484 }, + { x: 8485, y: 8485 }, + { x: 8486, y: 8486 }, + { x: 8487, y: 8487 }, + { x: 8488, y: 8488 }, + { x: 8489, y: 8489 }, + { x: 8490, y: 8490 }, + { x: 8491, y: 8491 }, + { x: 8492, y: 8492 }, + { x: 8493, y: 8493 }, + { x: 8494, y: 8494 }, + { x: 8495, y: 8495 }, + { x: 8496, y: 8496 }, + { x: 8497, y: 8497 }, + { x: 8498, y: 8498 }, + { x: 8499, y: 8499 }, + { x: 8500, y: 8500 }, + { x: 8501, y: 8501 }, + { x: 8502, y: 8502 }, + { x: 8503, y: 8503 }, + { x: 8504, y: 8504 }, + { x: 8505, y: 8505 }, + { x: 8506, y: 8506 }, + { x: 8507, y: 8507 }, + { x: 8508, y: 8508 }, + { x: 8509, y: 8509 }, + { x: 8510, y: 8510 }, + { x: 8511, y: 8511 }, + { x: 8512, y: 8512 }, + { x: 8513, y: 8513 }, + { x: 8514, y: 8514 }, + { x: 8515, y: 8515 }, + { x: 8516, y: 8516 }, + { x: 8517, y: 8517 }, + { x: 8518, y: 8518 }, + { x: 8519, y: 8519 }, + { x: 8520, y: 8520 }, + { x: 8521, y: 8521 }, + { x: 8522, y: 8522 }, + { x: 8523, y: 8523 }, + { x: 8524, y: 8524 }, + { x: 8525, y: 8525 }, + { x: 8526, y: 8526 }, + { x: 8527, y: 8527 }, + { x: 8528, y: 8528 }, + { x: 8529, y: 8529 }, + { x: 8530, y: 8530 }, + { x: 8531, y: 8531 }, + { x: 8532, y: 8532 }, + { x: 8533, y: 8533 }, + { x: 8534, y: 8534 }, + { x: 8535, y: 8535 }, + { x: 8536, y: 8536 }, + { x: 8537, y: 8537 }, + { x: 8538, y: 8538 }, + { x: 8539, y: 8539 }, + { x: 8540, y: 8540 }, + { x: 8541, y: 8541 }, + { x: 8542, y: 8542 }, + { x: 8543, y: 8543 }, + { x: 8544, y: 8544 }, + { x: 8545, y: 8545 }, + { x: 8546, y: 8546 }, + { x: 8547, y: 8547 }, + { x: 8548, y: 8548 }, + { x: 8549, y: 8549 }, + { x: 8550, y: 8550 }, + { x: 8551, y: 8551 }, + { x: 8552, y: 8552 }, + { x: 8553, y: 8553 }, + { x: 8554, y: 8554 }, + { x: 8555, y: 8555 }, + { x: 8556, y: 8556 }, + { x: 8557, y: 8557 }, + { x: 8558, y: 8558 }, + { x: 8559, y: 8559 }, + { x: 8560, y: 8560 }, + { x: 8561, y: 8561 }, + { x: 8562, y: 8562 }, + { x: 8563, y: 8563 }, + { x: 8564, y: 8564 }, + { x: 8565, y: 8565 }, + { x: 8566, y: 8566 }, + { x: 8567, y: 8567 }, + { x: 8568, y: 8568 }, + { x: 8569, y: 8569 }, + { x: 8570, y: 8570 }, + { x: 8571, y: 8571 }, + { x: 8572, y: 8572 }, + { x: 8573, y: 8573 }, + { x: 8574, y: 8574 }, + { x: 8575, y: 8575 }, + { x: 8576, y: 8576 }, + { x: 8577, y: 8577 }, + { x: 8578, y: 8578 }, + { x: 8579, y: 8579 }, + { x: 8580, y: 8580 }, + { x: 8581, y: 8581 }, + { x: 8582, y: 8582 }, + { x: 8583, y: 8583 }, + { x: 8584, y: 8584 }, + { x: 8585, y: 8585 }, + { x: 8586, y: 8586 }, + { x: 8587, y: 8587 }, + { x: 8588, y: 8588 }, + { x: 8589, y: 8589 }, + { x: 8590, y: 8590 }, + { x: 8591, y: 8591 }, + { x: 8592, y: 8592 }, + { x: 8593, y: 8593 }, + { x: 8594, y: 8594 }, + { x: 8595, y: 8595 }, + { x: 8596, y: 8596 }, + { x: 8597, y: 8597 }, + { x: 8598, y: 8598 }, + { x: 8599, y: 8599 }, + { x: 8600, y: 8600 }, + { x: 8601, y: 8601 }, + { x: 8602, y: 8602 }, + { x: 8603, y: 8603 }, + { x: 8604, y: 8604 }, + { x: 8605, y: 8605 }, + { x: 8606, y: 8606 }, + { x: 8607, y: 8607 }, + { x: 8608, y: 8608 }, + { x: 8609, y: 8609 }, + { x: 8610, y: 8610 }, + { x: 8611, y: 8611 }, + { x: 8612, y: 8612 }, + { x: 8613, y: 8613 }, + { x: 8614, y: 8614 }, + { x: 8615, y: 8615 }, + { x: 8616, y: 8616 }, + { x: 8617, y: 8617 }, + { x: 8618, y: 8618 }, + { x: 8619, y: 8619 }, + { x: 8620, y: 8620 }, + { x: 8621, y: 8621 }, + { x: 8622, y: 8622 }, + { x: 8623, y: 8623 }, + { x: 8624, y: 8624 }, + { x: 8625, y: 8625 }, + { x: 8626, y: 8626 }, + { x: 8627, y: 8627 }, + { x: 8628, y: 8628 }, + { x: 8629, y: 8629 }, + { x: 8630, y: 8630 }, + { x: 8631, y: 8631 }, + { x: 8632, y: 8632 }, + { x: 8633, y: 8633 }, + { x: 8634, y: 8634 }, + { x: 8635, y: 8635 }, + { x: 8636, y: 8636 }, + { x: 8637, y: 8637 }, + { x: 8638, y: 8638 }, + { x: 8639, y: 8639 }, + { x: 8640, y: 8640 }, + { x: 8641, y: 8641 }, + { x: 8642, y: 8642 }, + { x: 8643, y: 8643 }, + { x: 8644, y: 8644 }, + { x: 8645, y: 8645 }, + { x: 8646, y: 8646 }, + { x: 8647, y: 8647 }, + { x: 8648, y: 8648 }, + { x: 8649, y: 8649 }, + { x: 8650, y: 8650 }, + { x: 8651, y: 8651 }, + { x: 8652, y: 8652 }, + { x: 8653, y: 8653 }, + { x: 8654, y: 8654 }, + { x: 8655, y: 8655 }, + { x: 8656, y: 8656 }, + { x: 8657, y: 8657 }, + { x: 8658, y: 8658 }, + { x: 8659, y: 8659 }, + { x: 8660, y: 8660 }, + { x: 8661, y: 8661 }, + { x: 8662, y: 8662 }, + { x: 8663, y: 8663 }, + { x: 8664, y: 8664 }, + { x: 8665, y: 8665 }, + { x: 8666, y: 8666 }, + { x: 8667, y: 8667 }, + { x: 8668, y: 8668 }, + { x: 8669, y: 8669 }, + { x: 8670, y: 8670 }, + { x: 8671, y: 8671 }, + { x: 8672, y: 8672 }, + { x: 8673, y: 8673 }, + { x: 8674, y: 8674 }, + { x: 8675, y: 8675 }, + { x: 8676, y: 8676 }, + { x: 8677, y: 8677 }, + { x: 8678, y: 8678 }, + { x: 8679, y: 8679 }, + { x: 8680, y: 8680 }, + { x: 8681, y: 8681 }, + { x: 8682, y: 8682 }, + { x: 8683, y: 8683 }, + { x: 8684, y: 8684 }, + { x: 8685, y: 8685 }, + { x: 8686, y: 8686 }, + { x: 8687, y: 8687 }, + { x: 8688, y: 8688 }, + { x: 8689, y: 8689 }, + { x: 8690, y: 8690 }, + { x: 8691, y: 8691 }, + { x: 8692, y: 8692 }, + { x: 8693, y: 8693 }, + { x: 8694, y: 8694 }, + { x: 8695, y: 8695 }, + { x: 8696, y: 8696 }, + { x: 8697, y: 8697 }, + { x: 8698, y: 8698 }, + { x: 8699, y: 8699 }, + { x: 8700, y: 8700 }, + { x: 8701, y: 8701 }, + { x: 8702, y: 8702 }, + { x: 8703, y: 8703 }, + { x: 8704, y: 8704 }, + { x: 8705, y: 8705 }, + { x: 8706, y: 8706 }, + { x: 8707, y: 8707 }, + { x: 8708, y: 8708 }, + { x: 8709, y: 8709 }, + { x: 8710, y: 8710 }, + { x: 8711, y: 8711 }, + { x: 8712, y: 8712 }, + { x: 8713, y: 8713 }, + { x: 8714, y: 8714 }, + { x: 8715, y: 8715 }, + { x: 8716, y: 8716 }, + { x: 8717, y: 8717 }, + { x: 8718, y: 8718 }, + { x: 8719, y: 8719 }, + { x: 8720, y: 8720 }, + { x: 8721, y: 8721 }, + { x: 8722, y: 8722 }, + { x: 8723, y: 8723 }, + { x: 8724, y: 8724 }, + { x: 8725, y: 8725 }, + { x: 8726, y: 8726 }, + { x: 8727, y: 8727 }, + { x: 8728, y: 8728 }, + { x: 8729, y: 8729 }, + { x: 8730, y: 8730 }, + { x: 8731, y: 8731 }, + { x: 8732, y: 8732 }, + { x: 8733, y: 8733 }, + { x: 8734, y: 8734 }, + { x: 8735, y: 8735 }, + { x: 8736, y: 8736 }, + { x: 8737, y: 8737 }, + { x: 8738, y: 8738 }, + { x: 8739, y: 8739 }, + { x: 8740, y: 8740 }, + { x: 8741, y: 8741 }, + { x: 8742, y: 8742 }, + { x: 8743, y: 8743 }, + { x: 8744, y: 8744 }, + { x: 8745, y: 8745 }, + { x: 8746, y: 8746 }, + { x: 8747, y: 8747 }, + { x: 8748, y: 8748 }, + { x: 8749, y: 8749 }, + { x: 8750, y: 8750 }, + { x: 8751, y: 8751 }, + { x: 8752, y: 8752 }, + { x: 8753, y: 8753 }, + { x: 8754, y: 8754 }, + { x: 8755, y: 8755 }, + { x: 8756, y: 8756 }, + { x: 8757, y: 8757 }, + { x: 8758, y: 8758 }, + { x: 8759, y: 8759 }, + { x: 8760, y: 8760 }, + { x: 8761, y: 8761 }, + { x: 8762, y: 8762 }, + { x: 8763, y: 8763 }, + { x: 8764, y: 8764 }, + { x: 8765, y: 8765 }, + { x: 8766, y: 8766 }, + { x: 8767, y: 8767 }, + { x: 8768, y: 8768 }, + { x: 8769, y: 8769 }, + { x: 8770, y: 8770 }, + { x: 8771, y: 8771 }, + { x: 8772, y: 8772 }, + { x: 8773, y: 8773 }, + { x: 8774, y: 8774 }, + { x: 8775, y: 8775 }, + { x: 8776, y: 8776 }, + { x: 8777, y: 8777 }, + { x: 8778, y: 8778 }, + { x: 8779, y: 8779 }, + { x: 8780, y: 8780 }, + { x: 8781, y: 8781 }, + { x: 8782, y: 8782 }, + { x: 8783, y: 8783 }, + { x: 8784, y: 8784 }, + { x: 8785, y: 8785 }, + { x: 8786, y: 8786 }, + { x: 8787, y: 8787 }, + { x: 8788, y: 8788 }, + { x: 8789, y: 8789 }, + { x: 8790, y: 8790 }, + { x: 8791, y: 8791 }, + { x: 8792, y: 8792 }, + { x: 8793, y: 8793 }, + { x: 8794, y: 8794 }, + { x: 8795, y: 8795 }, + { x: 8796, y: 8796 }, + { x: 8797, y: 8797 }, + { x: 8798, y: 8798 }, + { x: 8799, y: 8799 }, + { x: 8800, y: 8800 }, + { x: 8801, y: 8801 }, + { x: 8802, y: 8802 }, + { x: 8803, y: 8803 }, + { x: 8804, y: 8804 }, + { x: 8805, y: 8805 }, + { x: 8806, y: 8806 }, + { x: 8807, y: 8807 }, + { x: 8808, y: 8808 }, + { x: 8809, y: 8809 }, + { x: 8810, y: 8810 }, + { x: 8811, y: 8811 }, + { x: 8812, y: 8812 }, + { x: 8813, y: 8813 }, + { x: 8814, y: 8814 }, + { x: 8815, y: 8815 }, + { x: 8816, y: 8816 }, + { x: 8817, y: 8817 }, + { x: 8818, y: 8818 }, + { x: 8819, y: 8819 }, + { x: 8820, y: 8820 }, + { x: 8821, y: 8821 }, + { x: 8822, y: 8822 }, + { x: 8823, y: 8823 }, + { x: 8824, y: 8824 }, + { x: 8825, y: 8825 }, + { x: 8826, y: 8826 }, + { x: 8827, y: 8827 }, + { x: 8828, y: 8828 }, + { x: 8829, y: 8829 }, + { x: 8830, y: 8830 }, + { x: 8831, y: 8831 }, + { x: 8832, y: 8832 }, + { x: 8833, y: 8833 }, + { x: 8834, y: 8834 }, + { x: 8835, y: 8835 }, + { x: 8836, y: 8836 }, + { x: 8837, y: 8837 }, + { x: 8838, y: 8838 }, + { x: 8839, y: 8839 }, + { x: 8840, y: 8840 }, + { x: 8841, y: 8841 }, + { x: 8842, y: 8842 }, + { x: 8843, y: 8843 }, + { x: 8844, y: 8844 }, + { x: 8845, y: 8845 }, + { x: 8846, y: 8846 }, + { x: 8847, y: 8847 }, + { x: 8848, y: 8848 }, + { x: 8849, y: 8849 }, + { x: 8850, y: 8850 }, + { x: 8851, y: 8851 }, + { x: 8852, y: 8852 }, + { x: 8853, y: 8853 }, + { x: 8854, y: 8854 }, + { x: 8855, y: 8855 }, + { x: 8856, y: 8856 }, + { x: 8857, y: 8857 }, + { x: 8858, y: 8858 }, + { x: 8859, y: 8859 }, + { x: 8860, y: 8860 }, + { x: 8861, y: 8861 }, + { x: 8862, y: 8862 }, + { x: 8863, y: 8863 }, + { x: 8864, y: 8864 }, + { x: 8865, y: 8865 }, + { x: 8866, y: 8866 }, + { x: 8867, y: 8867 }, + { x: 8868, y: 8868 }, + { x: 8869, y: 8869 }, + { x: 8870, y: 8870 }, + { x: 8871, y: 8871 }, + { x: 8872, y: 8872 }, + { x: 8873, y: 8873 }, + { x: 8874, y: 8874 }, + { x: 8875, y: 8875 }, + { x: 8876, y: 8876 }, + { x: 8877, y: 8877 }, + { x: 8878, y: 8878 }, + { x: 8879, y: 8879 }, + { x: 8880, y: 8880 }, + { x: 8881, y: 8881 }, + { x: 8882, y: 8882 }, + { x: 8883, y: 8883 }, + { x: 8884, y: 8884 }, + { x: 8885, y: 8885 }, + { x: 8886, y: 8886 }, + { x: 8887, y: 8887 }, + { x: 8888, y: 8888 }, + { x: 8889, y: 8889 }, + { x: 8890, y: 8890 }, + { x: 8891, y: 8891 }, + { x: 8892, y: 8892 }, + { x: 8893, y: 8893 }, + { x: 8894, y: 8894 }, + { x: 8895, y: 8895 }, + { x: 8896, y: 8896 }, + { x: 8897, y: 8897 }, + { x: 8898, y: 8898 }, + { x: 8899, y: 8899 }, + { x: 8900, y: 8900 }, + { x: 8901, y: 8901 }, + { x: 8902, y: 8902 }, + { x: 8903, y: 8903 }, + { x: 8904, y: 8904 }, + { x: 8905, y: 8905 }, + { x: 8906, y: 8906 }, + { x: 8907, y: 8907 }, + { x: 8908, y: 8908 }, + { x: 8909, y: 8909 }, + { x: 8910, y: 8910 }, + { x: 8911, y: 8911 }, + { x: 8912, y: 8912 }, + { x: 8913, y: 8913 }, + { x: 8914, y: 8914 }, + { x: 8915, y: 8915 }, + { x: 8916, y: 8916 }, + { x: 8917, y: 8917 }, + { x: 8918, y: 8918 }, + { x: 8919, y: 8919 }, + { x: 8920, y: 8920 }, + { x: 8921, y: 8921 }, + { x: 8922, y: 8922 }, + { x: 8923, y: 8923 }, + { x: 8924, y: 8924 }, + { x: 8925, y: 8925 }, + { x: 8926, y: 8926 }, + { x: 8927, y: 8927 }, + { x: 8928, y: 8928 }, + { x: 8929, y: 8929 }, + { x: 8930, y: 8930 }, + { x: 8931, y: 8931 }, + { x: 8932, y: 8932 }, + { x: 8933, y: 8933 }, + { x: 8934, y: 8934 }, + { x: 8935, y: 8935 }, + { x: 8936, y: 8936 }, + { x: 8937, y: 8937 }, + { x: 8938, y: 8938 }, + { x: 8939, y: 8939 }, + { x: 8940, y: 8940 }, + { x: 8941, y: 8941 }, + { x: 8942, y: 8942 }, + { x: 8943, y: 8943 }, + { x: 8944, y: 8944 }, + { x: 8945, y: 8945 }, + { x: 8946, y: 8946 }, + { x: 8947, y: 8947 }, + { x: 8948, y: 8948 }, + { x: 8949, y: 8949 }, + { x: 8950, y: 8950 }, + { x: 8951, y: 8951 }, + { x: 8952, y: 8952 }, + { x: 8953, y: 8953 }, + { x: 8954, y: 8954 }, + { x: 8955, y: 8955 }, + { x: 8956, y: 8956 }, + { x: 8957, y: 8957 }, + { x: 8958, y: 8958 }, + { x: 8959, y: 8959 }, + { x: 8960, y: 8960 }, + { x: 8961, y: 8961 }, + { x: 8962, y: 8962 }, + { x: 8963, y: 8963 }, + { x: 8964, y: 8964 }, + { x: 8965, y: 8965 }, + { x: 8966, y: 8966 }, + { x: 8967, y: 8967 }, + { x: 8968, y: 8968 }, + { x: 8969, y: 8969 }, + { x: 8970, y: 8970 }, + { x: 8971, y: 8971 }, + { x: 8972, y: 8972 }, + { x: 8973, y: 8973 }, + { x: 8974, y: 8974 }, + { x: 8975, y: 8975 }, + { x: 8976, y: 8976 }, + { x: 8977, y: 8977 }, + { x: 8978, y: 8978 }, + { x: 8979, y: 8979 }, + { x: 8980, y: 8980 }, + { x: 8981, y: 8981 }, + { x: 8982, y: 8982 }, + { x: 8983, y: 8983 }, + { x: 8984, y: 8984 }, + { x: 8985, y: 8985 }, + { x: 8986, y: 8986 }, + { x: 8987, y: 8987 }, + { x: 8988, y: 8988 }, + { x: 8989, y: 8989 }, + { x: 8990, y: 8990 }, + { x: 8991, y: 8991 }, + { x: 8992, y: 8992 }, + { x: 8993, y: 8993 }, + { x: 8994, y: 8994 }, + { x: 8995, y: 8995 }, + { x: 8996, y: 8996 }, + { x: 8997, y: 8997 }, + { x: 8998, y: 8998 }, + { x: 8999, y: 8999 }, + { x: 9000, y: 9000 }, + { x: 9001, y: 9001 }, + { x: 9002, y: 9002 }, + { x: 9003, y: 9003 }, + { x: 9004, y: 9004 }, + { x: 9005, y: 9005 }, + { x: 9006, y: 9006 }, + { x: 9007, y: 9007 }, + { x: 9008, y: 9008 }, + { x: 9009, y: 9009 }, + { x: 9010, y: 9010 }, + { x: 9011, y: 9011 }, + { x: 9012, y: 9012 }, + { x: 9013, y: 9013 }, + { x: 9014, y: 9014 }, + { x: 9015, y: 9015 }, + { x: 9016, y: 9016 }, + { x: 9017, y: 9017 }, + { x: 9018, y: 9018 }, + { x: 9019, y: 9019 }, + { x: 9020, y: 9020 }, + { x: 9021, y: 9021 }, + { x: 9022, y: 9022 }, + { x: 9023, y: 9023 }, + { x: 9024, y: 9024 }, + { x: 9025, y: 9025 }, + { x: 9026, y: 9026 }, + { x: 9027, y: 9027 }, + { x: 9028, y: 9028 }, + { x: 9029, y: 9029 }, + { x: 9030, y: 9030 }, + { x: 9031, y: 9031 }, + { x: 9032, y: 9032 }, + { x: 9033, y: 9033 }, + { x: 9034, y: 9034 }, + { x: 9035, y: 9035 }, + { x: 9036, y: 9036 }, + { x: 9037, y: 9037 }, + { x: 9038, y: 9038 }, + { x: 9039, y: 9039 }, + { x: 9040, y: 9040 }, + { x: 9041, y: 9041 }, + { x: 9042, y: 9042 }, + { x: 9043, y: 9043 }, + { x: 9044, y: 9044 }, + { x: 9045, y: 9045 }, + { x: 9046, y: 9046 }, + { x: 9047, y: 9047 }, + { x: 9048, y: 9048 }, + { x: 9049, y: 9049 }, + { x: 9050, y: 9050 }, + { x: 9051, y: 9051 }, + { x: 9052, y: 9052 }, + { x: 9053, y: 9053 }, + { x: 9054, y: 9054 }, + { x: 9055, y: 9055 }, + { x: 9056, y: 9056 }, + { x: 9057, y: 9057 }, + { x: 9058, y: 9058 }, + { x: 9059, y: 9059 }, + { x: 9060, y: 9060 }, + { x: 9061, y: 9061 }, + { x: 9062, y: 9062 }, + { x: 9063, y: 9063 }, + { x: 9064, y: 9064 }, + { x: 9065, y: 9065 }, + { x: 9066, y: 9066 }, + { x: 9067, y: 9067 }, + { x: 9068, y: 9068 }, + { x: 9069, y: 9069 }, + { x: 9070, y: 9070 }, + { x: 9071, y: 9071 }, + { x: 9072, y: 9072 }, + { x: 9073, y: 9073 }, + { x: 9074, y: 9074 }, + { x: 9075, y: 9075 }, + { x: 9076, y: 9076 }, + { x: 9077, y: 9077 }, + { x: 9078, y: 9078 }, + { x: 9079, y: 9079 }, + { x: 9080, y: 9080 }, + { x: 9081, y: 9081 }, + { x: 9082, y: 9082 }, + { x: 9083, y: 9083 }, + { x: 9084, y: 9084 }, + { x: 9085, y: 9085 }, + { x: 9086, y: 9086 }, + { x: 9087, y: 9087 }, + { x: 9088, y: 9088 }, + { x: 9089, y: 9089 }, + { x: 9090, y: 9090 }, + { x: 9091, y: 9091 }, + { x: 9092, y: 9092 }, + { x: 9093, y: 9093 }, + { x: 9094, y: 9094 }, + { x: 9095, y: 9095 }, + { x: 9096, y: 9096 }, + { x: 9097, y: 9097 }, + { x: 9098, y: 9098 }, + { x: 9099, y: 9099 }, + { x: 9100, y: 9100 }, + { x: 9101, y: 9101 }, + { x: 9102, y: 9102 }, + { x: 9103, y: 9103 }, + { x: 9104, y: 9104 }, + { x: 9105, y: 9105 }, + { x: 9106, y: 9106 }, + { x: 9107, y: 9107 }, + { x: 9108, y: 9108 }, + { x: 9109, y: 9109 }, + { x: 9110, y: 9110 }, + { x: 9111, y: 9111 }, + { x: 9112, y: 9112 }, + { x: 9113, y: 9113 }, + { x: 9114, y: 9114 }, + { x: 9115, y: 9115 }, + { x: 9116, y: 9116 }, + { x: 9117, y: 9117 }, + { x: 9118, y: 9118 }, + { x: 9119, y: 9119 }, + { x: 9120, y: 9120 }, + { x: 9121, y: 9121 }, + { x: 9122, y: 9122 }, + { x: 9123, y: 9123 }, + { x: 9124, y: 9124 }, + { x: 9125, y: 9125 }, + { x: 9126, y: 9126 }, + { x: 9127, y: 9127 }, + { x: 9128, y: 9128 }, + { x: 9129, y: 9129 }, + { x: 9130, y: 9130 }, + { x: 9131, y: 9131 }, + { x: 9132, y: 9132 }, + { x: 9133, y: 9133 }, + { x: 9134, y: 9134 }, + { x: 9135, y: 9135 }, + { x: 9136, y: 9136 }, + { x: 9137, y: 9137 }, + { x: 9138, y: 9138 }, + { x: 9139, y: 9139 }, + { x: 9140, y: 9140 }, + { x: 9141, y: 9141 }, + { x: 9142, y: 9142 }, + { x: 9143, y: 9143 }, + { x: 9144, y: 9144 }, + { x: 9145, y: 9145 }, + { x: 9146, y: 9146 }, + { x: 9147, y: 9147 }, + { x: 9148, y: 9148 }, + { x: 9149, y: 9149 }, + { x: 9150, y: 9150 }, + { x: 9151, y: 9151 }, + { x: 9152, y: 9152 }, + { x: 9153, y: 9153 }, + { x: 9154, y: 9154 }, + { x: 9155, y: 9155 }, + { x: 9156, y: 9156 }, + { x: 9157, y: 9157 }, + { x: 9158, y: 9158 }, + { x: 9159, y: 9159 }, + { x: 9160, y: 9160 }, + { x: 9161, y: 9161 }, + { x: 9162, y: 9162 }, + { x: 9163, y: 9163 }, + { x: 9164, y: 9164 }, + { x: 9165, y: 9165 }, + { x: 9166, y: 9166 }, + { x: 9167, y: 9167 }, + { x: 9168, y: 9168 }, + { x: 9169, y: 9169 }, + { x: 9170, y: 9170 }, + { x: 9171, y: 9171 }, + { x: 9172, y: 9172 }, + { x: 9173, y: 9173 }, + { x: 9174, y: 9174 }, + { x: 9175, y: 9175 }, + { x: 9176, y: 9176 }, + { x: 9177, y: 9177 }, + { x: 9178, y: 9178 }, + { x: 9179, y: 9179 }, + { x: 9180, y: 9180 }, + { x: 9181, y: 9181 }, + { x: 9182, y: 9182 }, + { x: 9183, y: 9183 }, + { x: 9184, y: 9184 }, + { x: 9185, y: 9185 }, + { x: 9186, y: 9186 }, + { x: 9187, y: 9187 }, + { x: 9188, y: 9188 }, + { x: 9189, y: 9189 }, + { x: 9190, y: 9190 }, + { x: 9191, y: 9191 }, + { x: 9192, y: 9192 }, + { x: 9193, y: 9193 }, + { x: 9194, y: 9194 }, + { x: 9195, y: 9195 }, + { x: 9196, y: 9196 }, + { x: 9197, y: 9197 }, + { x: 9198, y: 9198 }, + { x: 9199, y: 9199 }, + { x: 9200, y: 9200 }, + { x: 9201, y: 9201 }, + { x: 9202, y: 9202 }, + { x: 9203, y: 9203 }, + { x: 9204, y: 9204 }, + { x: 9205, y: 9205 }, + { x: 9206, y: 9206 }, + { x: 9207, y: 9207 }, + { x: 9208, y: 9208 }, + { x: 9209, y: 9209 }, + { x: 9210, y: 9210 }, + { x: 9211, y: 9211 }, + { x: 9212, y: 9212 }, + { x: 9213, y: 9213 }, + { x: 9214, y: 9214 }, + { x: 9215, y: 9215 }, + { x: 9216, y: 9216 }, + { x: 9217, y: 9217 }, + { x: 9218, y: 9218 }, + { x: 9219, y: 9219 }, + { x: 9220, y: 9220 }, + { x: 9221, y: 9221 }, + { x: 9222, y: 9222 }, + { x: 9223, y: 9223 }, + { x: 9224, y: 9224 }, + { x: 9225, y: 9225 }, + { x: 9226, y: 9226 }, + { x: 9227, y: 9227 }, + { x: 9228, y: 9228 }, + { x: 9229, y: 9229 }, + { x: 9230, y: 9230 }, + { x: 9231, y: 9231 }, + { x: 9232, y: 9232 }, + { x: 9233, y: 9233 }, + { x: 9234, y: 9234 }, + { x: 9235, y: 9235 }, + { x: 9236, y: 9236 }, + { x: 9237, y: 9237 }, + { x: 9238, y: 9238 }, + { x: 9239, y: 9239 }, + { x: 9240, y: 9240 }, + { x: 9241, y: 9241 }, + { x: 9242, y: 9242 }, + { x: 9243, y: 9243 }, + { x: 9244, y: 9244 }, + { x: 9245, y: 9245 }, + { x: 9246, y: 9246 }, + { x: 9247, y: 9247 }, + { x: 9248, y: 9248 }, + { x: 9249, y: 9249 }, + { x: 9250, y: 9250 }, + { x: 9251, y: 9251 }, + { x: 9252, y: 9252 }, + { x: 9253, y: 9253 }, + { x: 9254, y: 9254 }, + { x: 9255, y: 9255 }, + { x: 9256, y: 9256 }, + { x: 9257, y: 9257 }, + { x: 9258, y: 9258 }, + { x: 9259, y: 9259 }, + { x: 9260, y: 9260 }, + { x: 9261, y: 9261 }, + { x: 9262, y: 9262 }, + { x: 9263, y: 9263 }, + { x: 9264, y: 9264 }, + { x: 9265, y: 9265 }, + { x: 9266, y: 9266 }, + { x: 9267, y: 9267 }, + { x: 9268, y: 9268 }, + { x: 9269, y: 9269 }, + { x: 9270, y: 9270 }, + { x: 9271, y: 9271 }, + { x: 9272, y: 9272 }, + { x: 9273, y: 9273 }, + { x: 9274, y: 9274 }, + { x: 9275, y: 9275 }, + { x: 9276, y: 9276 }, + { x: 9277, y: 9277 }, + { x: 9278, y: 9278 }, + { x: 9279, y: 9279 }, + { x: 9280, y: 9280 }, + { x: 9281, y: 9281 }, + { x: 9282, y: 9282 }, + { x: 9283, y: 9283 }, + { x: 9284, y: 9284 }, + { x: 9285, y: 9285 }, + { x: 9286, y: 9286 }, + { x: 9287, y: 9287 }, + { x: 9288, y: 9288 }, + { x: 9289, y: 9289 }, + { x: 9290, y: 9290 }, + { x: 9291, y: 9291 }, + { x: 9292, y: 9292 }, + { x: 9293, y: 9293 }, + { x: 9294, y: 9294 }, + { x: 9295, y: 9295 }, + { x: 9296, y: 9296 }, + { x: 9297, y: 9297 }, + { x: 9298, y: 9298 }, + { x: 9299, y: 9299 }, + { x: 9300, y: 9300 }, + { x: 9301, y: 9301 }, + { x: 9302, y: 9302 }, + { x: 9303, y: 9303 }, + { x: 9304, y: 9304 }, + { x: 9305, y: 9305 }, + { x: 9306, y: 9306 }, + { x: 9307, y: 9307 }, + { x: 9308, y: 9308 }, + { x: 9309, y: 9309 }, + { x: 9310, y: 9310 }, + { x: 9311, y: 9311 }, + { x: 9312, y: 9312 }, + { x: 9313, y: 9313 }, + { x: 9314, y: 9314 }, + { x: 9315, y: 9315 }, + { x: 9316, y: 9316 }, + { x: 9317, y: 9317 }, + { x: 9318, y: 9318 }, + { x: 9319, y: 9319 }, + { x: 9320, y: 9320 }, + { x: 9321, y: 9321 }, + { x: 9322, y: 9322 }, + { x: 9323, y: 9323 }, + { x: 9324, y: 9324 }, + { x: 9325, y: 9325 }, + { x: 9326, y: 9326 }, + { x: 9327, y: 9327 }, + { x: 9328, y: 9328 }, + { x: 9329, y: 9329 }, + { x: 9330, y: 9330 }, + { x: 9331, y: 9331 }, + { x: 9332, y: 9332 }, + { x: 9333, y: 9333 }, + { x: 9334, y: 9334 }, + { x: 9335, y: 9335 }, + { x: 9336, y: 9336 }, + { x: 9337, y: 9337 }, + { x: 9338, y: 9338 }, + { x: 9339, y: 9339 }, + { x: 9340, y: 9340 }, + { x: 9341, y: 9341 }, + { x: 9342, y: 9342 }, + { x: 9343, y: 9343 }, + { x: 9344, y: 9344 }, + { x: 9345, y: 9345 }, + { x: 9346, y: 9346 }, + { x: 9347, y: 9347 }, + { x: 9348, y: 9348 }, + { x: 9349, y: 9349 }, + { x: 9350, y: 9350 }, + { x: 9351, y: 9351 }, + { x: 9352, y: 9352 }, + { x: 9353, y: 9353 }, + { x: 9354, y: 9354 }, + { x: 9355, y: 9355 }, + { x: 9356, y: 9356 }, + { x: 9357, y: 9357 }, + { x: 9358, y: 9358 }, + { x: 9359, y: 9359 }, + { x: 9360, y: 9360 }, + { x: 9361, y: 9361 }, + { x: 9362, y: 9362 }, + { x: 9363, y: 9363 }, + { x: 9364, y: 9364 }, + { x: 9365, y: 9365 }, + { x: 9366, y: 9366 }, + { x: 9367, y: 9367 }, + { x: 9368, y: 9368 }, + { x: 9369, y: 9369 }, + { x: 9370, y: 9370 }, + { x: 9371, y: 9371 }, + { x: 9372, y: 9372 }, + { x: 9373, y: 9373 }, + { x: 9374, y: 9374 }, + { x: 9375, y: 9375 }, + { x: 9376, y: 9376 }, + { x: 9377, y: 9377 }, + { x: 9378, y: 9378 }, + { x: 9379, y: 9379 }, + { x: 9380, y: 9380 }, + { x: 9381, y: 9381 }, + { x: 9382, y: 9382 }, + { x: 9383, y: 9383 }, + { x: 9384, y: 9384 }, + { x: 9385, y: 9385 }, + { x: 9386, y: 9386 }, + { x: 9387, y: 9387 }, + { x: 9388, y: 9388 }, + { x: 9389, y: 9389 }, + { x: 9390, y: 9390 }, + { x: 9391, y: 9391 }, + { x: 9392, y: 9392 }, + { x: 9393, y: 9393 }, + { x: 9394, y: 9394 }, + { x: 9395, y: 9395 }, + { x: 9396, y: 9396 }, + { x: 9397, y: 9397 }, + { x: 9398, y: 9398 }, + { x: 9399, y: 9399 }, + { x: 9400, y: 9400 }, + { x: 9401, y: 9401 }, + { x: 9402, y: 9402 }, + { x: 9403, y: 9403 }, + { x: 9404, y: 9404 }, + { x: 9405, y: 9405 }, + { x: 9406, y: 9406 }, + { x: 9407, y: 9407 }, + { x: 9408, y: 9408 }, + { x: 9409, y: 9409 }, + { x: 9410, y: 9410 }, + { x: 9411, y: 9411 }, + { x: 9412, y: 9412 }, + { x: 9413, y: 9413 }, + { x: 9414, y: 9414 }, + { x: 9415, y: 9415 }, + { x: 9416, y: 9416 }, + { x: 9417, y: 9417 }, + { x: 9418, y: 9418 }, + { x: 9419, y: 9419 }, + { x: 9420, y: 9420 }, + { x: 9421, y: 9421 }, + { x: 9422, y: 9422 }, + { x: 9423, y: 9423 }, + { x: 9424, y: 9424 }, + { x: 9425, y: 9425 }, + { x: 9426, y: 9426 }, + { x: 9427, y: 9427 }, + { x: 9428, y: 9428 }, + { x: 9429, y: 9429 }, + { x: 9430, y: 9430 }, + { x: 9431, y: 9431 }, + { x: 9432, y: 9432 }, + { x: 9433, y: 9433 }, + { x: 9434, y: 9434 }, + { x: 9435, y: 9435 }, + { x: 9436, y: 9436 }, + { x: 9437, y: 9437 }, + { x: 9438, y: 9438 }, + { x: 9439, y: 9439 }, + { x: 9440, y: 9440 }, + { x: 9441, y: 9441 }, + { x: 9442, y: 9442 }, + { x: 9443, y: 9443 }, + { x: 9444, y: 9444 }, + { x: 9445, y: 9445 }, + { x: 9446, y: 9446 }, + { x: 9447, y: 9447 }, + { x: 9448, y: 9448 }, + { x: 9449, y: 9449 }, + { x: 9450, y: 9450 }, + { x: 9451, y: 9451 }, + { x: 9452, y: 9452 }, + { x: 9453, y: 9453 }, + { x: 9454, y: 9454 }, + { x: 9455, y: 9455 }, + { x: 9456, y: 9456 }, + { x: 9457, y: 9457 }, + { x: 9458, y: 9458 }, + { x: 9459, y: 9459 }, + { x: 9460, y: 9460 }, + { x: 9461, y: 9461 }, + { x: 9462, y: 9462 }, + { x: 9463, y: 9463 }, + { x: 9464, y: 9464 }, + { x: 9465, y: 9465 }, + { x: 9466, y: 9466 }, + { x: 9467, y: 9467 }, + { x: 9468, y: 9468 }, + { x: 9469, y: 9469 }, + { x: 9470, y: 9470 }, + { x: 9471, y: 9471 }, + { x: 9472, y: 9472 }, + { x: 9473, y: 9473 }, + { x: 9474, y: 9474 }, + { x: 9475, y: 9475 }, + { x: 9476, y: 9476 }, + { x: 9477, y: 9477 }, + { x: 9478, y: 9478 }, + { x: 9479, y: 9479 }, + { x: 9480, y: 9480 }, + { x: 9481, y: 9481 }, + { x: 9482, y: 9482 }, + { x: 9483, y: 9483 }, + { x: 9484, y: 9484 }, + { x: 9485, y: 9485 }, + { x: 9486, y: 9486 }, + { x: 9487, y: 9487 }, + { x: 9488, y: 9488 }, + { x: 9489, y: 9489 }, + { x: 9490, y: 9490 }, + { x: 9491, y: 9491 }, + { x: 9492, y: 9492 }, + { x: 9493, y: 9493 }, + { x: 9494, y: 9494 }, + { x: 9495, y: 9495 }, + { x: 9496, y: 9496 }, + { x: 9497, y: 9497 }, + { x: 9498, y: 9498 }, + { x: 9499, y: 9499 }, + { x: 9500, y: 9500 }, + { x: 9501, y: 9501 }, + { x: 9502, y: 9502 }, + { x: 9503, y: 9503 }, + { x: 9504, y: 9504 }, + { x: 9505, y: 9505 }, + { x: 9506, y: 9506 }, + { x: 9507, y: 9507 }, + { x: 9508, y: 9508 }, + { x: 9509, y: 9509 }, + { x: 9510, y: 9510 }, + { x: 9511, y: 9511 }, + { x: 9512, y: 9512 }, + { x: 9513, y: 9513 }, + { x: 9514, y: 9514 }, + { x: 9515, y: 9515 }, + { x: 9516, y: 9516 }, + { x: 9517, y: 9517 }, + { x: 9518, y: 9518 }, + { x: 9519, y: 9519 }, + { x: 9520, y: 9520 }, + { x: 9521, y: 9521 }, + { x: 9522, y: 9522 }, + { x: 9523, y: 9523 }, + { x: 9524, y: 9524 }, + { x: 9525, y: 9525 }, + { x: 9526, y: 9526 }, + { x: 9527, y: 9527 }, + { x: 9528, y: 9528 }, + { x: 9529, y: 9529 }, + { x: 9530, y: 9530 }, + { x: 9531, y: 9531 }, + { x: 9532, y: 9532 }, + { x: 9533, y: 9533 }, + { x: 9534, y: 9534 }, + { x: 9535, y: 9535 }, + { x: 9536, y: 9536 }, + { x: 9537, y: 9537 }, + { x: 9538, y: 9538 }, + { x: 9539, y: 9539 }, + { x: 9540, y: 9540 }, + { x: 9541, y: 9541 }, + { x: 9542, y: 9542 }, + { x: 9543, y: 9543 }, + { x: 9544, y: 9544 }, + { x: 9545, y: 9545 }, + { x: 9546, y: 9546 }, + { x: 9547, y: 9547 }, + { x: 9548, y: 9548 }, + { x: 9549, y: 9549 }, + { x: 9550, y: 9550 }, + { x: 9551, y: 9551 }, + { x: 9552, y: 9552 }, + { x: 9553, y: 9553 }, + { x: 9554, y: 9554 }, + { x: 9555, y: 9555 }, + { x: 9556, y: 9556 }, + { x: 9557, y: 9557 }, + { x: 9558, y: 9558 }, + { x: 9559, y: 9559 }, + { x: 9560, y: 9560 }, + { x: 9561, y: 9561 }, + { x: 9562, y: 9562 }, + { x: 9563, y: 9563 }, + { x: 9564, y: 9564 }, + { x: 9565, y: 9565 }, + { x: 9566, y: 9566 }, + { x: 9567, y: 9567 }, + { x: 9568, y: 9568 }, + { x: 9569, y: 9569 }, + { x: 9570, y: 9570 }, + { x: 9571, y: 9571 }, + { x: 9572, y: 9572 }, + { x: 9573, y: 9573 }, + { x: 9574, y: 9574 }, + { x: 9575, y: 9575 }, + { x: 9576, y: 9576 }, + { x: 9577, y: 9577 }, + { x: 9578, y: 9578 }, + { x: 9579, y: 9579 }, + { x: 9580, y: 9580 }, + { x: 9581, y: 9581 }, + { x: 9582, y: 9582 }, + { x: 9583, y: 9583 }, + { x: 9584, y: 9584 }, + { x: 9585, y: 9585 }, + { x: 9586, y: 9586 }, + { x: 9587, y: 9587 }, + { x: 9588, y: 9588 }, + { x: 9589, y: 9589 }, + { x: 9590, y: 9590 }, + { x: 9591, y: 9591 }, + { x: 9592, y: 9592 }, + { x: 9593, y: 9593 }, + { x: 9594, y: 9594 }, + { x: 9595, y: 9595 }, + { x: 9596, y: 9596 }, + { x: 9597, y: 9597 }, + { x: 9598, y: 9598 }, + { x: 9599, y: 9599 }, + { x: 9600, y: 9600 }, + { x: 9601, y: 9601 }, + { x: 9602, y: 9602 }, + { x: 9603, y: 9603 }, + { x: 9604, y: 9604 }, + { x: 9605, y: 9605 }, + { x: 9606, y: 9606 }, + { x: 9607, y: 9607 }, + { x: 9608, y: 9608 }, + { x: 9609, y: 9609 }, + { x: 9610, y: 9610 }, + { x: 9611, y: 9611 }, + { x: 9612, y: 9612 }, + { x: 9613, y: 9613 }, + { x: 9614, y: 9614 }, + { x: 9615, y: 9615 }, + { x: 9616, y: 9616 }, + { x: 9617, y: 9617 }, + { x: 9618, y: 9618 }, + { x: 9619, y: 9619 }, + { x: 9620, y: 9620 }, + { x: 9621, y: 9621 }, + { x: 9622, y: 9622 }, + { x: 9623, y: 9623 }, + { x: 9624, y: 9624 }, + { x: 9625, y: 9625 }, + { x: 9626, y: 9626 }, + { x: 9627, y: 9627 }, + { x: 9628, y: 9628 }, + { x: 9629, y: 9629 }, + { x: 9630, y: 9630 }, + { x: 9631, y: 9631 }, + { x: 9632, y: 9632 }, + { x: 9633, y: 9633 }, + { x: 9634, y: 9634 }, + { x: 9635, y: 9635 }, + { x: 9636, y: 9636 }, + { x: 9637, y: 9637 }, + { x: 9638, y: 9638 }, + { x: 9639, y: 9639 }, + { x: 9640, y: 9640 }, + { x: 9641, y: 9641 }, + { x: 9642, y: 9642 }, + { x: 9643, y: 9643 }, + { x: 9644, y: 9644 }, + { x: 9645, y: 9645 }, + { x: 9646, y: 9646 }, + { x: 9647, y: 9647 }, + { x: 9648, y: 9648 }, + { x: 9649, y: 9649 }, + { x: 9650, y: 9650 }, + { x: 9651, y: 9651 }, + { x: 9652, y: 9652 }, + { x: 9653, y: 9653 }, + { x: 9654, y: 9654 }, + { x: 9655, y: 9655 }, + { x: 9656, y: 9656 }, + { x: 9657, y: 9657 }, + { x: 9658, y: 9658 }, + { x: 9659, y: 9659 }, + { x: 9660, y: 9660 }, + { x: 9661, y: 9661 }, + { x: 9662, y: 9662 }, + { x: 9663, y: 9663 }, + { x: 9664, y: 9664 }, + { x: 9665, y: 9665 }, + { x: 9666, y: 9666 }, + { x: 9667, y: 9667 }, + { x: 9668, y: 9668 }, + { x: 9669, y: 9669 }, + { x: 9670, y: 9670 }, + { x: 9671, y: 9671 }, + { x: 9672, y: 9672 }, + { x: 9673, y: 9673 }, + { x: 9674, y: 9674 }, + { x: 9675, y: 9675 }, + { x: 9676, y: 9676 }, + { x: 9677, y: 9677 }, + { x: 9678, y: 9678 }, + { x: 9679, y: 9679 }, + { x: 9680, y: 9680 }, + { x: 9681, y: 9681 }, + { x: 9682, y: 9682 }, + { x: 9683, y: 9683 }, + { x: 9684, y: 9684 }, + { x: 9685, y: 9685 }, + { x: 9686, y: 9686 }, + { x: 9687, y: 9687 }, + { x: 9688, y: 9688 }, + { x: 9689, y: 9689 }, + { x: 9690, y: 9690 }, + { x: 9691, y: 9691 }, + { x: 9692, y: 9692 }, + { x: 9693, y: 9693 }, + { x: 9694, y: 9694 }, + { x: 9695, y: 9695 }, + { x: 9696, y: 9696 }, + { x: 9697, y: 9697 }, + { x: 9698, y: 9698 }, + { x: 9699, y: 9699 }, + { x: 9700, y: 9700 }, + { x: 9701, y: 9701 }, + { x: 9702, y: 9702 }, + { x: 9703, y: 9703 }, + { x: 9704, y: 9704 }, + { x: 9705, y: 9705 }, + { x: 9706, y: 9706 }, + { x: 9707, y: 9707 }, + { x: 9708, y: 9708 }, + { x: 9709, y: 9709 }, + { x: 9710, y: 9710 }, + { x: 9711, y: 9711 }, + { x: 9712, y: 9712 }, + { x: 9713, y: 9713 }, + { x: 9714, y: 9714 }, + { x: 9715, y: 9715 }, + { x: 9716, y: 9716 }, + { x: 9717, y: 9717 }, + { x: 9718, y: 9718 }, + { x: 9719, y: 9719 }, + { x: 9720, y: 9720 }, + { x: 9721, y: 9721 }, + { x: 9722, y: 9722 }, + { x: 9723, y: 9723 }, + { x: 9724, y: 9724 }, + { x: 9725, y: 9725 }, + { x: 9726, y: 9726 }, + { x: 9727, y: 9727 }, + { x: 9728, y: 9728 }, + { x: 9729, y: 9729 }, + { x: 9730, y: 9730 }, + { x: 9731, y: 9731 }, + { x: 9732, y: 9732 }, + { x: 9733, y: 9733 }, + { x: 9734, y: 9734 }, + { x: 9735, y: 9735 }, + { x: 9736, y: 9736 }, + { x: 9737, y: 9737 }, + { x: 9738, y: 9738 }, + { x: 9739, y: 9739 }, + { x: 9740, y: 9740 }, + { x: 9741, y: 9741 }, + { x: 9742, y: 9742 }, + { x: 9743, y: 9743 }, + { x: 9744, y: 9744 }, + { x: 9745, y: 9745 }, + { x: 9746, y: 9746 }, + { x: 9747, y: 9747 }, + { x: 9748, y: 9748 }, + { x: 9749, y: 9749 }, + { x: 9750, y: 9750 }, + { x: 9751, y: 9751 }, + { x: 9752, y: 9752 }, + { x: 9753, y: 9753 }, + { x: 9754, y: 9754 }, + { x: 9755, y: 9755 }, + { x: 9756, y: 9756 }, + { x: 9757, y: 9757 }, + { x: 9758, y: 9758 }, + { x: 9759, y: 9759 }, + { x: 9760, y: 9760 }, + { x: 9761, y: 9761 }, + { x: 9762, y: 9762 }, + { x: 9763, y: 9763 }, + { x: 9764, y: 9764 }, + { x: 9765, y: 9765 }, + { x: 9766, y: 9766 }, + { x: 9767, y: 9767 }, + { x: 9768, y: 9768 }, + { x: 9769, y: 9769 }, + { x: 9770, y: 9770 }, + { x: 9771, y: 9771 }, + { x: 9772, y: 9772 }, + { x: 9773, y: 9773 }, + { x: 9774, y: 9774 }, + { x: 9775, y: 9775 }, + { x: 9776, y: 9776 }, + { x: 9777, y: 9777 }, + { x: 9778, y: 9778 }, + { x: 9779, y: 9779 }, + { x: 9780, y: 9780 }, + { x: 9781, y: 9781 }, + { x: 9782, y: 9782 }, + { x: 9783, y: 9783 }, + { x: 9784, y: 9784 }, + { x: 9785, y: 9785 }, + { x: 9786, y: 9786 }, + { x: 9787, y: 9787 }, + { x: 9788, y: 9788 }, + { x: 9789, y: 9789 }, + { x: 9790, y: 9790 }, + { x: 9791, y: 9791 }, + { x: 9792, y: 9792 }, + { x: 9793, y: 9793 }, + { x: 9794, y: 9794 }, + { x: 9795, y: 9795 }, + { x: 9796, y: 9796 }, + { x: 9797, y: 9797 }, + { x: 9798, y: 9798 }, + { x: 9799, y: 9799 }, + { x: 9800, y: 9800 }, + { x: 9801, y: 9801 }, + { x: 9802, y: 9802 }, + { x: 9803, y: 9803 }, + { x: 9804, y: 9804 }, + { x: 9805, y: 9805 }, + { x: 9806, y: 9806 }, + { x: 9807, y: 9807 }, + { x: 9808, y: 9808 }, + { x: 9809, y: 9809 }, + { x: 9810, y: 9810 }, + { x: 9811, y: 9811 }, + { x: 9812, y: 9812 }, + { x: 9813, y: 9813 }, + { x: 9814, y: 9814 }, + { x: 9815, y: 9815 }, + { x: 9816, y: 9816 }, + { x: 9817, y: 9817 }, + { x: 9818, y: 9818 }, + { x: 9819, y: 9819 }, + { x: 9820, y: 9820 }, + { x: 9821, y: 9821 }, + { x: 9822, y: 9822 }, + { x: 9823, y: 9823 }, + { x: 9824, y: 9824 }, + { x: 9825, y: 9825 }, + { x: 9826, y: 9826 }, + { x: 9827, y: 9827 }, + { x: 9828, y: 9828 }, + { x: 9829, y: 9829 }, + { x: 9830, y: 9830 }, + { x: 9831, y: 9831 }, + { x: 9832, y: 9832 }, + { x: 9833, y: 9833 }, + { x: 9834, y: 9834 }, + { x: 9835, y: 9835 }, + { x: 9836, y: 9836 }, + { x: 9837, y: 9837 }, + { x: 9838, y: 9838 }, + { x: 9839, y: 9839 }, + { x: 9840, y: 9840 }, + { x: 9841, y: 9841 }, + { x: 9842, y: 9842 }, + { x: 9843, y: 9843 }, + { x: 9844, y: 9844 }, + { x: 9845, y: 9845 }, + { x: 9846, y: 9846 }, + { x: 9847, y: 9847 }, + { x: 9848, y: 9848 }, + { x: 9849, y: 9849 }, + { x: 9850, y: 9850 }, + { x: 9851, y: 9851 }, + { x: 9852, y: 9852 }, + { x: 9853, y: 9853 }, + { x: 9854, y: 9854 }, + { x: 9855, y: 9855 }, + { x: 9856, y: 9856 }, + { x: 9857, y: 9857 }, + { x: 9858, y: 9858 }, + { x: 9859, y: 9859 }, + { x: 9860, y: 9860 }, + { x: 9861, y: 9861 }, + { x: 9862, y: 9862 }, + { x: 9863, y: 9863 }, + { x: 9864, y: 9864 }, + { x: 9865, y: 9865 }, + { x: 9866, y: 9866 }, + { x: 9867, y: 9867 }, + { x: 9868, y: 9868 }, + { x: 9869, y: 9869 }, + { x: 9870, y: 9870 }, + { x: 9871, y: 9871 }, + { x: 9872, y: 9872 }, + { x: 9873, y: 9873 }, + { x: 9874, y: 9874 }, + { x: 9875, y: 9875 }, + { x: 9876, y: 9876 }, + { x: 9877, y: 9877 }, + { x: 9878, y: 9878 }, + { x: 9879, y: 9879 }, + { x: 9880, y: 9880 }, + { x: 9881, y: 9881 }, + { x: 9882, y: 9882 }, + { x: 9883, y: 9883 }, + { x: 9884, y: 9884 }, + { x: 9885, y: 9885 }, + { x: 9886, y: 9886 }, + { x: 9887, y: 9887 }, + { x: 9888, y: 9888 }, + { x: 9889, y: 9889 }, + { x: 9890, y: 9890 }, + { x: 9891, y: 9891 }, + { x: 9892, y: 9892 }, + { x: 9893, y: 9893 }, + { x: 9894, y: 9894 }, + { x: 9895, y: 9895 }, + { x: 9896, y: 9896 }, + { x: 9897, y: 9897 }, + { x: 9898, y: 9898 }, + { x: 9899, y: 9899 }, + { x: 9900, y: 9900 }, + { x: 9901, y: 9901 }, + { x: 9902, y: 9902 }, + { x: 9903, y: 9903 }, + { x: 9904, y: 9904 }, + { x: 9905, y: 9905 }, + { x: 9906, y: 9906 }, + { x: 9907, y: 9907 }, + { x: 9908, y: 9908 }, + { x: 9909, y: 9909 }, + { x: 9910, y: 9910 }, + { x: 9911, y: 9911 }, + { x: 9912, y: 9912 }, + { x: 9913, y: 9913 }, + { x: 9914, y: 9914 }, + { x: 9915, y: 9915 }, + { x: 9916, y: 9916 }, + { x: 9917, y: 9917 }, + { x: 9918, y: 9918 }, + { x: 9919, y: 9919 }, + { x: 9920, y: 9920 }, + { x: 9921, y: 9921 }, + { x: 9922, y: 9922 }, + { x: 9923, y: 9923 }, + { x: 9924, y: 9924 }, + { x: 9925, y: 9925 }, + { x: 9926, y: 9926 }, + { x: 9927, y: 9927 }, + { x: 9928, y: 9928 }, + { x: 9929, y: 9929 }, + { x: 9930, y: 9930 }, + { x: 9931, y: 9931 }, + { x: 9932, y: 9932 }, + { x: 9933, y: 9933 }, + { x: 9934, y: 9934 }, + { x: 9935, y: 9935 }, + { x: 9936, y: 9936 }, + { x: 9937, y: 9937 }, + { x: 9938, y: 9938 }, + { x: 9939, y: 9939 }, + { x: 9940, y: 9940 }, + { x: 9941, y: 9941 }, + { x: 9942, y: 9942 }, + { x: 9943, y: 9943 }, + { x: 9944, y: 9944 }, + { x: 9945, y: 9945 }, + { x: 9946, y: 9946 }, + { x: 9947, y: 9947 }, + { x: 9948, y: 9948 }, + { x: 9949, y: 9949 }, + { x: 9950, y: 9950 }, + { x: 9951, y: 9951 }, + { x: 9952, y: 9952 }, + { x: 9953, y: 9953 }, + { x: 9954, y: 9954 }, + { x: 9955, y: 9955 }, + { x: 9956, y: 9956 }, + { x: 9957, y: 9957 }, + { x: 9958, y: 9958 }, + { x: 9959, y: 9959 }, + { x: 9960, y: 9960 }, + { x: 9961, y: 9961 }, + { x: 9962, y: 9962 }, + { x: 9963, y: 9963 }, + { x: 9964, y: 9964 }, + { x: 9965, y: 9965 }, + { x: 9966, y: 9966 }, + { x: 9967, y: 9967 }, + { x: 9968, y: 9968 }, + { x: 9969, y: 9969 }, + { x: 9970, y: 9970 }, + { x: 9971, y: 9971 }, + { x: 9972, y: 9972 }, + { x: 9973, y: 9973 }, + { x: 9974, y: 9974 }, + { x: 9975, y: 9975 }, + { x: 9976, y: 9976 }, + { x: 9977, y: 9977 }, + { x: 9978, y: 9978 }, + { x: 9979, y: 9979 }, + { x: 9980, y: 9980 }, + { x: 9981, y: 9981 }, + { x: 9982, y: 9982 }, + { x: 9983, y: 9983 }, + { x: 9984, y: 9984 }, + { x: 9985, y: 9985 }, + { x: 9986, y: 9986 }, + { x: 9987, y: 9987 }, + { x: 9988, y: 9988 }, + { x: 9989, y: 9989 }, + { x: 9990, y: 9990 }, + { x: 9991, y: 9991 }, + { x: 9992, y: 9992 }, + { x: 9993, y: 9993 }, + { x: 9994, y: 9994 }, + { x: 9995, y: 9995 }, + { x: 9996, y: 9996 }, + { x: 9997, y: 9997 }, + { x: 9998, y: 9998 }, + { x: 9999, y: 9999 }, + { x: 10000, y: 10000 }, + { x: 10001, y: 10001 }, + { x: 10002, y: 10002 }, + { x: 10003, y: 10003 }, + { x: 10004, y: 10004 }, + { x: 10005, y: 10005 }, + { x: 10006, y: 10006 }, + { x: 10007, y: 10007 }, + { x: 10008, y: 10008 }, + { x: 10009, y: 10009 }, + { x: 10010, y: 10010 }, + { x: 10011, y: 10011 }, + { x: 10012, y: 10012 }, + { x: 10013, y: 10013 }, + { x: 10014, y: 10014 }, + { x: 10015, y: 10015 }, + { x: 10016, y: 10016 }, + { x: 10017, y: 10017 }, + { x: 10018, y: 10018 }, + { x: 10019, y: 10019 }, + { x: 10020, y: 10020 }, + { x: 10021, y: 10021 }, + { x: 10022, y: 10022 }, + { x: 10023, y: 10023 }, + { x: 10024, y: 10024 }, + { x: 10025, y: 10025 }, + { x: 10026, y: 10026 }, + { x: 10027, y: 10027 }, + { x: 10028, y: 10028 }, + { x: 10029, y: 10029 }, + { x: 10030, y: 10030 }, + { x: 10031, y: 10031 }, + { x: 10032, y: 10032 }, + { x: 10033, y: 10033 }, + { x: 10034, y: 10034 }, + { x: 10035, y: 10035 }, + { x: 10036, y: 10036 }, + { x: 10037, y: 10037 }, + { x: 10038, y: 10038 }, + { x: 10039, y: 10039 }, + { x: 10040, y: 10040 }, + { x: 10041, y: 10041 }, + { x: 10042, y: 10042 }, + { x: 10043, y: 10043 }, + { x: 10044, y: 10044 }, + { x: 10045, y: 10045 }, + { x: 10046, y: 10046 }, + { x: 10047, y: 10047 }, + { x: 10048, y: 10048 }, + { x: 10049, y: 10049 }, + { x: 10050, y: 10050 }, + { x: 10051, y: 10051 }, + { x: 10052, y: 10052 }, + { x: 10053, y: 10053 }, + { x: 10054, y: 10054 }, + { x: 10055, y: 10055 }, + { x: 10056, y: 10056 }, + { x: 10057, y: 10057 }, + { x: 10058, y: 10058 }, + { x: 10059, y: 10059 }, + { x: 10060, y: 10060 }, + { x: 10061, y: 10061 }, + { x: 10062, y: 10062 }, + { x: 10063, y: 10063 }, + { x: 10064, y: 10064 }, + { x: 10065, y: 10065 }, + { x: 10066, y: 10066 }, + { x: 10067, y: 10067 }, + { x: 10068, y: 10068 }, + { x: 10069, y: 10069 }, + { x: 10070, y: 10070 }, + { x: 10071, y: 10071 }, + { x: 10072, y: 10072 }, + { x: 10073, y: 10073 }, + { x: 10074, y: 10074 }, + { x: 10075, y: 10075 }, + { x: 10076, y: 10076 }, + { x: 10077, y: 10077 }, + { x: 10078, y: 10078 }, + { x: 10079, y: 10079 }, + { x: 10080, y: 10080 }, + { x: 10081, y: 10081 }, + { x: 10082, y: 10082 }, + { x: 10083, y: 10083 }, + { x: 10084, y: 10084 }, + { x: 10085, y: 10085 }, + { x: 10086, y: 10086 }, + { x: 10087, y: 10087 }, + { x: 10088, y: 10088 }, + { x: 10089, y: 10089 }, + { x: 10090, y: 10090 }, + { x: 10091, y: 10091 }, + { x: 10092, y: 10092 }, + { x: 10093, y: 10093 }, + { x: 10094, y: 10094 }, + { x: 10095, y: 10095 }, + { x: 10096, y: 10096 }, + { x: 10097, y: 10097 }, + { x: 10098, y: 10098 }, + { x: 10099, y: 10099 }, + { x: 10100, y: 10100 }, + { x: 10101, y: 10101 }, + { x: 10102, y: 10102 }, + { x: 10103, y: 10103 }, + { x: 10104, y: 10104 }, + { x: 10105, y: 10105 }, + { x: 10106, y: 10106 }, + { x: 10107, y: 10107 }, + { x: 10108, y: 10108 }, + { x: 10109, y: 10109 }, + { x: 10110, y: 10110 }, + { x: 10111, y: 10111 }, + { x: 10112, y: 10112 }, + { x: 10113, y: 10113 }, + { x: 10114, y: 10114 }, + { x: 10115, y: 10115 }, + { x: 10116, y: 10116 }, + { x: 10117, y: 10117 }, + { x: 10118, y: 10118 }, + { x: 10119, y: 10119 }, + { x: 10120, y: 10120 }, + { x: 10121, y: 10121 }, + { x: 10122, y: 10122 }, + { x: 10123, y: 10123 }, + { x: 10124, y: 10124 }, + { x: 10125, y: 10125 }, + { x: 10126, y: 10126 }, + { x: 10127, y: 10127 }, + { x: 10128, y: 10128 }, + { x: 10129, y: 10129 }, + { x: 10130, y: 10130 }, + { x: 10131, y: 10131 }, + { x: 10132, y: 10132 }, + { x: 10133, y: 10133 }, + { x: 10134, y: 10134 }, + { x: 10135, y: 10135 }, + { x: 10136, y: 10136 }, + { x: 10137, y: 10137 }, + { x: 10138, y: 10138 }, + { x: 10139, y: 10139 }, + { x: 10140, y: 10140 }, + { x: 10141, y: 10141 }, + { x: 10142, y: 10142 }, + { x: 10143, y: 10143 }, + { x: 10144, y: 10144 }, + { x: 10145, y: 10145 }, + { x: 10146, y: 10146 }, + { x: 10147, y: 10147 }, + { x: 10148, y: 10148 }, + { x: 10149, y: 10149 }, + { x: 10150, y: 10150 }, + { x: 10151, y: 10151 }, + { x: 10152, y: 10152 }, + { x: 10153, y: 10153 }, + { x: 10154, y: 10154 }, + { x: 10155, y: 10155 }, + { x: 10156, y: 10156 }, + { x: 10157, y: 10157 }, + { x: 10158, y: 10158 }, + { x: 10159, y: 10159 }, + { x: 10160, y: 10160 }, + { x: 10161, y: 10161 }, + { x: 10162, y: 10162 }, + { x: 10163, y: 10163 }, + { x: 10164, y: 10164 }, + { x: 10165, y: 10165 }, + { x: 10166, y: 10166 }, + { x: 10167, y: 10167 }, + { x: 10168, y: 10168 }, + { x: 10169, y: 10169 }, + { x: 10170, y: 10170 }, + { x: 10171, y: 10171 }, + { x: 10172, y: 10172 }, + { x: 10173, y: 10173 }, + { x: 10174, y: 10174 }, + { x: 10175, y: 10175 }, + { x: 10176, y: 10176 }, + { x: 10177, y: 10177 }, + { x: 10178, y: 10178 }, + { x: 10179, y: 10179 }, + { x: 10180, y: 10180 }, + { x: 10181, y: 10181 }, + { x: 10182, y: 10182 }, + { x: 10183, y: 10183 }, + { x: 10184, y: 10184 }, + { x: 10185, y: 10185 }, + { x: 10186, y: 10186 }, + { x: 10187, y: 10187 }, + { x: 10188, y: 10188 }, + { x: 10189, y: 10189 }, + { x: 10190, y: 10190 }, + { x: 10191, y: 10191 }, + { x: 10192, y: 10192 }, + { x: 10193, y: 10193 }, + { x: 10194, y: 10194 }, + { x: 10195, y: 10195 }, + { x: 10196, y: 10196 }, + { x: 10197, y: 10197 }, + { x: 10198, y: 10198 }, + { x: 10199, y: 10199 }, + { x: 10200, y: 10200 }, + { x: 10201, y: 10201 }, + { x: 10202, y: 10202 }, + { x: 10203, y: 10203 }, + { x: 10204, y: 10204 }, + { x: 10205, y: 10205 }, + { x: 10206, y: 10206 }, + { x: 10207, y: 10207 }, + { x: 10208, y: 10208 }, + { x: 10209, y: 10209 }, + { x: 10210, y: 10210 }, + { x: 10211, y: 10211 }, + { x: 10212, y: 10212 }, + { x: 10213, y: 10213 }, + { x: 10214, y: 10214 }, + { x: 10215, y: 10215 }, + { x: 10216, y: 10216 }, + { x: 10217, y: 10217 }, + { x: 10218, y: 10218 }, + { x: 10219, y: 10219 }, + { x: 10220, y: 10220 }, + { x: 10221, y: 10221 }, + { x: 10222, y: 10222 }, + { x: 10223, y: 10223 }, + { x: 10224, y: 10224 }, + { x: 10225, y: 10225 }, + { x: 10226, y: 10226 }, + { x: 10227, y: 10227 }, + { x: 10228, y: 10228 }, + { x: 10229, y: 10229 }, + { x: 10230, y: 10230 }, + { x: 10231, y: 10231 }, + { x: 10232, y: 10232 }, + { x: 10233, y: 10233 }, + { x: 10234, y: 10234 }, + { x: 10235, y: 10235 }, + { x: 10236, y: 10236 }, + { x: 10237, y: 10237 }, + { x: 10238, y: 10238 }, + { x: 10239, y: 10239 }, + { x: 10240, y: 10240 }, + { x: 10241, y: 10241 }, + { x: 10242, y: 10242 }, + { x: 10243, y: 10243 }, + { x: 10244, y: 10244 }, + { x: 10245, y: 10245 }, + { x: 10246, y: 10246 }, + { x: 10247, y: 10247 }, + { x: 10248, y: 10248 }, + { x: 10249, y: 10249 }, + { x: 10250, y: 10250 }, + { x: 10251, y: 10251 }, + { x: 10252, y: 10252 }, + { x: 10253, y: 10253 }, + { x: 10254, y: 10254 }, + { x: 10255, y: 10255 }, + { x: 10256, y: 10256 }, + { x: 10257, y: 10257 }, + { x: 10258, y: 10258 }, + { x: 10259, y: 10259 }, + { x: 10260, y: 10260 }, + { x: 10261, y: 10261 }, + { x: 10262, y: 10262 }, + { x: 10263, y: 10263 }, + { x: 10264, y: 10264 }, + { x: 10265, y: 10265 }, + { x: 10266, y: 10266 }, + { x: 10267, y: 10267 }, + { x: 10268, y: 10268 }, + { x: 10269, y: 10269 }, + { x: 10270, y: 10270 }, + { x: 10271, y: 10271 }, + { x: 10272, y: 10272 }, + { x: 10273, y: 10273 }, + { x: 10274, y: 10274 }, + { x: 10275, y: 10275 }, + { x: 10276, y: 10276 }, + { x: 10277, y: 10277 }, + { x: 10278, y: 10278 }, + { x: 10279, y: 10279 }, + { x: 10280, y: 10280 }, + { x: 10281, y: 10281 }, + { x: 10282, y: 10282 }, + { x: 10283, y: 10283 }, + { x: 10284, y: 10284 }, + { x: 10285, y: 10285 }, + { x: 10286, y: 10286 }, + { x: 10287, y: 10287 }, + { x: 10288, y: 10288 }, + { x: 10289, y: 10289 }, + { x: 10290, y: 10290 }, + { x: 10291, y: 10291 }, + { x: 10292, y: 10292 }, + { x: 10293, y: 10293 }, + { x: 10294, y: 10294 }, + { x: 10295, y: 10295 }, + { x: 10296, y: 10296 }, + { x: 10297, y: 10297 }, + { x: 10298, y: 10298 }, + { x: 10299, y: 10299 }, + { x: 10300, y: 10300 }, + { x: 10301, y: 10301 }, + { x: 10302, y: 10302 }, + { x: 10303, y: 10303 }, + { x: 10304, y: 10304 }, + { x: 10305, y: 10305 }, + { x: 10306, y: 10306 }, + { x: 10307, y: 10307 }, + { x: 10308, y: 10308 }, + { x: 10309, y: 10309 }, + { x: 10310, y: 10310 }, + { x: 10311, y: 10311 }, + { x: 10312, y: 10312 }, + { x: 10313, y: 10313 }, + { x: 10314, y: 10314 }, + { x: 10315, y: 10315 }, + { x: 10316, y: 10316 }, + { x: 10317, y: 10317 }, + { x: 10318, y: 10318 }, + { x: 10319, y: 10319 }, + { x: 10320, y: 10320 }, + { x: 10321, y: 10321 }, + { x: 10322, y: 10322 }, + { x: 10323, y: 10323 }, + { x: 10324, y: 10324 }, + { x: 10325, y: 10325 }, + { x: 10326, y: 10326 }, + { x: 10327, y: 10327 }, + { x: 10328, y: 10328 }, + { x: 10329, y: 10329 }, + { x: 10330, y: 10330 }, + { x: 10331, y: 10331 }, + { x: 10332, y: 10332 }, + { x: 10333, y: 10333 }, + { x: 10334, y: 10334 }, + { x: 10335, y: 10335 }, + { x: 10336, y: 10336 }, + { x: 10337, y: 10337 }, + { x: 10338, y: 10338 }, + { x: 10339, y: 10339 }, + { x: 10340, y: 10340 }, + { x: 10341, y: 10341 }, + { x: 10342, y: 10342 }, + { x: 10343, y: 10343 }, + { x: 10344, y: 10344 }, + { x: 10345, y: 10345 }, + { x: 10346, y: 10346 }, + { x: 10347, y: 10347 }, + { x: 10348, y: 10348 }, + { x: 10349, y: 10349 }, + { x: 10350, y: 10350 }, + { x: 10351, y: 10351 }, + { x: 10352, y: 10352 }, + { x: 10353, y: 10353 }, + { x: 10354, y: 10354 }, + { x: 10355, y: 10355 }, + { x: 10356, y: 10356 }, + { x: 10357, y: 10357 }, + { x: 10358, y: 10358 }, + { x: 10359, y: 10359 }, + { x: 10360, y: 10360 }, + { x: 10361, y: 10361 }, + { x: 10362, y: 10362 }, + { x: 10363, y: 10363 }, + { x: 10364, y: 10364 }, + { x: 10365, y: 10365 }, + { x: 10366, y: 10366 }, + { x: 10367, y: 10367 }, + { x: 10368, y: 10368 }, + { x: 10369, y: 10369 }, + { x: 10370, y: 10370 }, + { x: 10371, y: 10371 }, + { x: 10372, y: 10372 }, + { x: 10373, y: 10373 }, + { x: 10374, y: 10374 }, + { x: 10375, y: 10375 }, + { x: 10376, y: 10376 }, + { x: 10377, y: 10377 }, + { x: 10378, y: 10378 }, + { x: 10379, y: 10379 }, + { x: 10380, y: 10380 }, + { x: 10381, y: 10381 }, + { x: 10382, y: 10382 }, + { x: 10383, y: 10383 }, + { x: 10384, y: 10384 }, + { x: 10385, y: 10385 }, + { x: 10386, y: 10386 }, + { x: 10387, y: 10387 }, + { x: 10388, y: 10388 }, + { x: 10389, y: 10389 }, + { x: 10390, y: 10390 }, + { x: 10391, y: 10391 }, + { x: 10392, y: 10392 }, + { x: 10393, y: 10393 }, + { x: 10394, y: 10394 }, + { x: 10395, y: 10395 }, + { x: 10396, y: 10396 }, + { x: 10397, y: 10397 }, + { x: 10398, y: 10398 }, + { x: 10399, y: 10399 }, + { x: 10400, y: 10400 }, + { x: 10401, y: 10401 }, + { x: 10402, y: 10402 }, + { x: 10403, y: 10403 }, + { x: 10404, y: 10404 }, + { x: 10405, y: 10405 }, + { x: 10406, y: 10406 }, + { x: 10407, y: 10407 }, + { x: 10408, y: 10408 }, + { x: 10409, y: 10409 }, + { x: 10410, y: 10410 }, + { x: 10411, y: 10411 }, + { x: 10412, y: 10412 }, + { x: 10413, y: 10413 }, + { x: 10414, y: 10414 }, + { x: 10415, y: 10415 }, + { x: 10416, y: 10416 }, + { x: 10417, y: 10417 }, + { x: 10418, y: 10418 }, + { x: 10419, y: 10419 }, + { x: 10420, y: 10420 }, + { x: 10421, y: 10421 }, + { x: 10422, y: 10422 }, + { x: 10423, y: 10423 }, + { x: 10424, y: 10424 }, + { x: 10425, y: 10425 }, + { x: 10426, y: 10426 }, + { x: 10427, y: 10427 }, + { x: 10428, y: 10428 }, + { x: 10429, y: 10429 }, + { x: 10430, y: 10430 }, + { x: 10431, y: 10431 }, + { x: 10432, y: 10432 }, + { x: 10433, y: 10433 }, + { x: 10434, y: 10434 }, + { x: 10435, y: 10435 }, + { x: 10436, y: 10436 }, + { x: 10437, y: 10437 }, + { x: 10438, y: 10438 }, + { x: 10439, y: 10439 }, + { x: 10440, y: 10440 }, + { x: 10441, y: 10441 }, + { x: 10442, y: 10442 }, + { x: 10443, y: 10443 }, + { x: 10444, y: 10444 }, + { x: 10445, y: 10445 }, + { x: 10446, y: 10446 }, + { x: 10447, y: 10447 }, + { x: 10448, y: 10448 }, + { x: 10449, y: 10449 }, + { x: 10450, y: 10450 }, + { x: 10451, y: 10451 }, + { x: 10452, y: 10452 }, + { x: 10453, y: 10453 }, + { x: 10454, y: 10454 }, + { x: 10455, y: 10455 }, + { x: 10456, y: 10456 }, + { x: 10457, y: 10457 }, + { x: 10458, y: 10458 }, + { x: 10459, y: 10459 }, + { x: 10460, y: 10460 }, + { x: 10461, y: 10461 }, + { x: 10462, y: 10462 }, + { x: 10463, y: 10463 }, + { x: 10464, y: 10464 }, + { x: 10465, y: 10465 }, + { x: 10466, y: 10466 }, + { x: 10467, y: 10467 }, + { x: 10468, y: 10468 }, + { x: 10469, y: 10469 }, + { x: 10470, y: 10470 }, + { x: 10471, y: 10471 }, + { x: 10472, y: 10472 }, + { x: 10473, y: 10473 }, + { x: 10474, y: 10474 }, + { x: 10475, y: 10475 }, + { x: 10476, y: 10476 }, + { x: 10477, y: 10477 }, + { x: 10478, y: 10478 }, + { x: 10479, y: 10479 }, + { x: 10480, y: 10480 }, + { x: 10481, y: 10481 }, + { x: 10482, y: 10482 }, + { x: 10483, y: 10483 }, + { x: 10484, y: 10484 }, + { x: 10485, y: 10485 }, + { x: 10486, y: 10486 }, + { x: 10487, y: 10487 }, + { x: 10488, y: 10488 }, + { x: 10489, y: 10489 }, + { x: 10490, y: 10490 }, + { x: 10491, y: 10491 }, + { x: 10492, y: 10492 }, + { x: 10493, y: 10493 }, + { x: 10494, y: 10494 }, + { x: 10495, y: 10495 }, + { x: 10496, y: 10496 }, + { x: 10497, y: 10497 }, + { x: 10498, y: 10498 }, + { x: 10499, y: 10499 }, + { x: 10500, y: 10500 }, + { x: 10501, y: 10501 }, + { x: 10502, y: 10502 }, + { x: 10503, y: 10503 }, + { x: 10504, y: 10504 }, + { x: 10505, y: 10505 }, + { x: 10506, y: 10506 }, + { x: 10507, y: 10507 }, + { x: 10508, y: 10508 }, + { x: 10509, y: 10509 }, + { x: 10510, y: 10510 }, + { x: 10511, y: 10511 }, + { x: 10512, y: 10512 }, + { x: 10513, y: 10513 }, + { x: 10514, y: 10514 }, + { x: 10515, y: 10515 }, + { x: 10516, y: 10516 }, + { x: 10517, y: 10517 }, + { x: 10518, y: 10518 }, + { x: 10519, y: 10519 }, + { x: 10520, y: 10520 }, + { x: 10521, y: 10521 }, + { x: 10522, y: 10522 }, + { x: 10523, y: 10523 }, + { x: 10524, y: 10524 }, + { x: 10525, y: 10525 }, + { x: 10526, y: 10526 }, + { x: 10527, y: 10527 }, + { x: 10528, y: 10528 }, + { x: 10529, y: 10529 }, + { x: 10530, y: 10530 }, + { x: 10531, y: 10531 }, + { x: 10532, y: 10532 }, + { x: 10533, y: 10533 }, + { x: 10534, y: 10534 }, + { x: 10535, y: 10535 }, + { x: 10536, y: 10536 }, + { x: 10537, y: 10537 }, + { x: 10538, y: 10538 }, + { x: 10539, y: 10539 }, + { x: 10540, y: 10540 }, + { x: 10541, y: 10541 }, + { x: 10542, y: 10542 }, + { x: 10543, y: 10543 }, + { x: 10544, y: 10544 }, + { x: 10545, y: 10545 }, + { x: 10546, y: 10546 }, + { x: 10547, y: 10547 }, + { x: 10548, y: 10548 }, + { x: 10549, y: 10549 }, + { x: 10550, y: 10550 }, + { x: 10551, y: 10551 }, + { x: 10552, y: 10552 }, + { x: 10553, y: 10553 }, + { x: 10554, y: 10554 }, + { x: 10555, y: 10555 }, + { x: 10556, y: 10556 }, + { x: 10557, y: 10557 }, + { x: 10558, y: 10558 }, + { x: 10559, y: 10559 }, + { x: 10560, y: 10560 }, + { x: 10561, y: 10561 }, + { x: 10562, y: 10562 }, + { x: 10563, y: 10563 }, + { x: 10564, y: 10564 }, + { x: 10565, y: 10565 }, + { x: 10566, y: 10566 }, + { x: 10567, y: 10567 }, + { x: 10568, y: 10568 }, + { x: 10569, y: 10569 }, + { x: 10570, y: 10570 }, + { x: 10571, y: 10571 }, + { x: 10572, y: 10572 }, + { x: 10573, y: 10573 }, + { x: 10574, y: 10574 }, + { x: 10575, y: 10575 }, + { x: 10576, y: 10576 }, + { x: 10577, y: 10577 }, + { x: 10578, y: 10578 }, + { x: 10579, y: 10579 }, + { x: 10580, y: 10580 }, + { x: 10581, y: 10581 }, + { x: 10582, y: 10582 }, + { x: 10583, y: 10583 }, + { x: 10584, y: 10584 }, + { x: 10585, y: 10585 }, + { x: 10586, y: 10586 }, + { x: 10587, y: 10587 }, + { x: 10588, y: 10588 }, + { x: 10589, y: 10589 }, + { x: 10590, y: 10590 }, + { x: 10591, y: 10591 }, + { x: 10592, y: 10592 }, + { x: 10593, y: 10593 }, + { x: 10594, y: 10594 }, + { x: 10595, y: 10595 }, + { x: 10596, y: 10596 }, + { x: 10597, y: 10597 }, + { x: 10598, y: 10598 }, + { x: 10599, y: 10599 }, + { x: 10600, y: 10600 }, + { x: 10601, y: 10601 }, + { x: 10602, y: 10602 }, + { x: 10603, y: 10603 }, + { x: 10604, y: 10604 }, + { x: 10605, y: 10605 }, + { x: 10606, y: 10606 }, + { x: 10607, y: 10607 }, + { x: 10608, y: 10608 }, + { x: 10609, y: 10609 }, + { x: 10610, y: 10610 }, + { x: 10611, y: 10611 }, + { x: 10612, y: 10612 }, + { x: 10613, y: 10613 }, + { x: 10614, y: 10614 }, + { x: 10615, y: 10615 }, + { x: 10616, y: 10616 }, + { x: 10617, y: 10617 }, + { x: 10618, y: 10618 }, + { x: 10619, y: 10619 }, + { x: 10620, y: 10620 }, + { x: 10621, y: 10621 }, + { x: 10622, y: 10622 }, + { x: 10623, y: 10623 }, + { x: 10624, y: 10624 }, + { x: 10625, y: 10625 }, + { x: 10626, y: 10626 }, + { x: 10627, y: 10627 }, + { x: 10628, y: 10628 }, + { x: 10629, y: 10629 }, + { x: 10630, y: 10630 }, + { x: 10631, y: 10631 }, + { x: 10632, y: 10632 }, + { x: 10633, y: 10633 }, + { x: 10634, y: 10634 }, + { x: 10635, y: 10635 }, + { x: 10636, y: 10636 }, + { x: 10637, y: 10637 }, + { x: 10638, y: 10638 }, + { x: 10639, y: 10639 }, + { x: 10640, y: 10640 }, + { x: 10641, y: 10641 }, + { x: 10642, y: 10642 }, + { x: 10643, y: 10643 }, + { x: 10644, y: 10644 }, + { x: 10645, y: 10645 }, + { x: 10646, y: 10646 }, + { x: 10647, y: 10647 }, + { x: 10648, y: 10648 }, + { x: 10649, y: 10649 }, + { x: 10650, y: 10650 }, + { x: 10651, y: 10651 }, + { x: 10652, y: 10652 }, + { x: 10653, y: 10653 }, + { x: 10654, y: 10654 }, + { x: 10655, y: 10655 }, + { x: 10656, y: 10656 }, + { x: 10657, y: 10657 }, + { x: 10658, y: 10658 }, + { x: 10659, y: 10659 }, + { x: 10660, y: 10660 }, + { x: 10661, y: 10661 }, + { x: 10662, y: 10662 }, + { x: 10663, y: 10663 }, + { x: 10664, y: 10664 }, + { x: 10665, y: 10665 }, + { x: 10666, y: 10666 }, + { x: 10667, y: 10667 }, + { x: 10668, y: 10668 }, + { x: 10669, y: 10669 }, + { x: 10670, y: 10670 }, + { x: 10671, y: 10671 }, + { x: 10672, y: 10672 }, + { x: 10673, y: 10673 }, + { x: 10674, y: 10674 }, + { x: 10675, y: 10675 }, + { x: 10676, y: 10676 }, + { x: 10677, y: 10677 }, + { x: 10678, y: 10678 }, + { x: 10679, y: 10679 }, + { x: 10680, y: 10680 }, + { x: 10681, y: 10681 }, + { x: 10682, y: 10682 }, + { x: 10683, y: 10683 }, + { x: 10684, y: 10684 }, + { x: 10685, y: 10685 }, + { x: 10686, y: 10686 }, + { x: 10687, y: 10687 }, + { x: 10688, y: 10688 }, + { x: 10689, y: 10689 }, + { x: 10690, y: 10690 }, + { x: 10691, y: 10691 }, + { x: 10692, y: 10692 }, + { x: 10693, y: 10693 }, + { x: 10694, y: 10694 }, + { x: 10695, y: 10695 }, + { x: 10696, y: 10696 }, + { x: 10697, y: 10697 }, + { x: 10698, y: 10698 }, + { x: 10699, y: 10699 }, + { x: 10700, y: 10700 }, + { x: 10701, y: 10701 }, + { x: 10702, y: 10702 }, + { x: 10703, y: 10703 }, + { x: 10704, y: 10704 }, + { x: 10705, y: 10705 }, + { x: 10706, y: 10706 }, + { x: 10707, y: 10707 }, + { x: 10708, y: 10708 }, + { x: 10709, y: 10709 }, + { x: 10710, y: 10710 }, + { x: 10711, y: 10711 }, + { x: 10712, y: 10712 }, + { x: 10713, y: 10713 }, + { x: 10714, y: 10714 }, + { x: 10715, y: 10715 }, + { x: 10716, y: 10716 }, + { x: 10717, y: 10717 }, + { x: 10718, y: 10718 }, + { x: 10719, y: 10719 }, + { x: 10720, y: 10720 }, + { x: 10721, y: 10721 }, + { x: 10722, y: 10722 }, + { x: 10723, y: 10723 }, + { x: 10724, y: 10724 }, + { x: 10725, y: 10725 }, + { x: 10726, y: 10726 }, + { x: 10727, y: 10727 }, + { x: 10728, y: 10728 }, + { x: 10729, y: 10729 }, + { x: 10730, y: 10730 }, + { x: 10731, y: 10731 }, + { x: 10732, y: 10732 }, + { x: 10733, y: 10733 }, + { x: 10734, y: 10734 }, + { x: 10735, y: 10735 }, + { x: 10736, y: 10736 }, + { x: 10737, y: 10737 }, + { x: 10738, y: 10738 }, + { x: 10739, y: 10739 }, + { x: 10740, y: 10740 }, + { x: 10741, y: 10741 }, + { x: 10742, y: 10742 }, + { x: 10743, y: 10743 }, + { x: 10744, y: 10744 }, + { x: 10745, y: 10745 }, + { x: 10746, y: 10746 }, + { x: 10747, y: 10747 }, + { x: 10748, y: 10748 }, + { x: 10749, y: 10749 }, + { x: 10750, y: 10750 }, + { x: 10751, y: 10751 }, + { x: 10752, y: 10752 }, + { x: 10753, y: 10753 }, + { x: 10754, y: 10754 }, + { x: 10755, y: 10755 }, + { x: 10756, y: 10756 }, + { x: 10757, y: 10757 }, + { x: 10758, y: 10758 }, + { x: 10759, y: 10759 }, + { x: 10760, y: 10760 }, + { x: 10761, y: 10761 }, + { x: 10762, y: 10762 }, + { x: 10763, y: 10763 }, + { x: 10764, y: 10764 }, + { x: 10765, y: 10765 }, + { x: 10766, y: 10766 }, + { x: 10767, y: 10767 }, + { x: 10768, y: 10768 }, + { x: 10769, y: 10769 }, + { x: 10770, y: 10770 }, + { x: 10771, y: 10771 }, + { x: 10772, y: 10772 }, + { x: 10773, y: 10773 }, + { x: 10774, y: 10774 }, + { x: 10775, y: 10775 }, + { x: 10776, y: 10776 }, + { x: 10777, y: 10777 }, + { x: 10778, y: 10778 }, + { x: 10779, y: 10779 }, + { x: 10780, y: 10780 }, + { x: 10781, y: 10781 }, + { x: 10782, y: 10782 }, + { x: 10783, y: 10783 }, + { x: 10784, y: 10784 }, + { x: 10785, y: 10785 }, + { x: 10786, y: 10786 }, + { x: 10787, y: 10787 }, + { x: 10788, y: 10788 }, + { x: 10789, y: 10789 }, + { x: 10790, y: 10790 }, + { x: 10791, y: 10791 }, + { x: 10792, y: 10792 }, + { x: 10793, y: 10793 }, + { x: 10794, y: 10794 }, + { x: 10795, y: 10795 }, + { x: 10796, y: 10796 }, + { x: 10797, y: 10797 }, + { x: 10798, y: 10798 }, + { x: 10799, y: 10799 }, + { x: 10800, y: 10800 }, + { x: 10801, y: 10801 }, + { x: 10802, y: 10802 }, + { x: 10803, y: 10803 }, + { x: 10804, y: 10804 }, + { x: 10805, y: 10805 }, + { x: 10806, y: 10806 }, + { x: 10807, y: 10807 }, + { x: 10808, y: 10808 }, + { x: 10809, y: 10809 }, + { x: 10810, y: 10810 }, + { x: 10811, y: 10811 }, + { x: 10812, y: 10812 }, + { x: 10813, y: 10813 }, + { x: 10814, y: 10814 }, + { x: 10815, y: 10815 }, + { x: 10816, y: 10816 }, + { x: 10817, y: 10817 }, + { x: 10818, y: 10818 }, + { x: 10819, y: 10819 }, + { x: 10820, y: 10820 }, + { x: 10821, y: 10821 }, + { x: 10822, y: 10822 }, + { x: 10823, y: 10823 }, + { x: 10824, y: 10824 }, + { x: 10825, y: 10825 }, + { x: 10826, y: 10826 }, + { x: 10827, y: 10827 }, + { x: 10828, y: 10828 }, + { x: 10829, y: 10829 }, + { x: 10830, y: 10830 }, + { x: 10831, y: 10831 }, + { x: 10832, y: 10832 }, + { x: 10833, y: 10833 }, + { x: 10834, y: 10834 }, + { x: 10835, y: 10835 }, + { x: 10836, y: 10836 }, + { x: 10837, y: 10837 }, + { x: 10838, y: 10838 }, + { x: 10839, y: 10839 }, + { x: 10840, y: 10840 }, + { x: 10841, y: 10841 }, + { x: 10842, y: 10842 }, + { x: 10843, y: 10843 }, + { x: 10844, y: 10844 }, + { x: 10845, y: 10845 }, + { x: 10846, y: 10846 }, + { x: 10847, y: 10847 }, + { x: 10848, y: 10848 }, + { x: 10849, y: 10849 }, + { x: 10850, y: 10850 }, + { x: 10851, y: 10851 }, + { x: 10852, y: 10852 }, + { x: 10853, y: 10853 }, + { x: 10854, y: 10854 }, + { x: 10855, y: 10855 }, + { x: 10856, y: 10856 }, + { x: 10857, y: 10857 }, + { x: 10858, y: 10858 }, + { x: 10859, y: 10859 }, + { x: 10860, y: 10860 }, + { x: 10861, y: 10861 }, + { x: 10862, y: 10862 }, + { x: 10863, y: 10863 }, + { x: 10864, y: 10864 }, + { x: 10865, y: 10865 }, + { x: 10866, y: 10866 }, + { x: 10867, y: 10867 }, + { x: 10868, y: 10868 }, + { x: 10869, y: 10869 }, + { x: 10870, y: 10870 }, + { x: 10871, y: 10871 }, + { x: 10872, y: 10872 }, + { x: 10873, y: 10873 }, + { x: 10874, y: 10874 }, + { x: 10875, y: 10875 }, + { x: 10876, y: 10876 }, + { x: 10877, y: 10877 }, + { x: 10878, y: 10878 }, + { x: 10879, y: 10879 }, + { x: 10880, y: 10880 }, + { x: 10881, y: 10881 }, + { x: 10882, y: 10882 }, + { x: 10883, y: 10883 }, + { x: 10884, y: 10884 }, + { x: 10885, y: 10885 }, + { x: 10886, y: 10886 }, + { x: 10887, y: 10887 }, + { x: 10888, y: 10888 }, + { x: 10889, y: 10889 }, + { x: 10890, y: 10890 }, + { x: 10891, y: 10891 }, + { x: 10892, y: 10892 }, + { x: 10893, y: 10893 }, + { x: 10894, y: 10894 }, + { x: 10895, y: 10895 }, + { x: 10896, y: 10896 }, + { x: 10897, y: 10897 }, + { x: 10898, y: 10898 }, + { x: 10899, y: 10899 }, + { x: 10900, y: 10900 }, + { x: 10901, y: 10901 }, + { x: 10902, y: 10902 }, + { x: 10903, y: 10903 }, + { x: 10904, y: 10904 }, + { x: 10905, y: 10905 }, + { x: 10906, y: 10906 }, + { x: 10907, y: 10907 }, + { x: 10908, y: 10908 }, + { x: 10909, y: 10909 }, + { x: 10910, y: 10910 }, + { x: 10911, y: 10911 }, + { x: 10912, y: 10912 }, + { x: 10913, y: 10913 }, + { x: 10914, y: 10914 }, + { x: 10915, y: 10915 }, + { x: 10916, y: 10916 }, + { x: 10917, y: 10917 }, + { x: 10918, y: 10918 }, + { x: 10919, y: 10919 }, + { x: 10920, y: 10920 }, + { x: 10921, y: 10921 }, + { x: 10922, y: 10922 }, + { x: 10923, y: 10923 }, + { x: 10924, y: 10924 }, + { x: 10925, y: 10925 }, + { x: 10926, y: 10926 }, + { x: 10927, y: 10927 }, + { x: 10928, y: 10928 }, + { x: 10929, y: 10929 }, + { x: 10930, y: 10930 }, + { x: 10931, y: 10931 }, + { x: 10932, y: 10932 }, + { x: 10933, y: 10933 }, + { x: 10934, y: 10934 }, + { x: 10935, y: 10935 }, + { x: 10936, y: 10936 }, + { x: 10937, y: 10937 }, + { x: 10938, y: 10938 }, + { x: 10939, y: 10939 }, + { x: 10940, y: 10940 }, + { x: 10941, y: 10941 }, + { x: 10942, y: 10942 }, + { x: 10943, y: 10943 }, + { x: 10944, y: 10944 }, + { x: 10945, y: 10945 }, + { x: 10946, y: 10946 }, + { x: 10947, y: 10947 }, + { x: 10948, y: 10948 }, + { x: 10949, y: 10949 }, + { x: 10950, y: 10950 }, + { x: 10951, y: 10951 }, + { x: 10952, y: 10952 }, + { x: 10953, y: 10953 }, + { x: 10954, y: 10954 }, + { x: 10955, y: 10955 }, + { x: 10956, y: 10956 }, + { x: 10957, y: 10957 }, + { x: 10958, y: 10958 }, + { x: 10959, y: 10959 }, + { x: 10960, y: 10960 }, + { x: 10961, y: 10961 }, + { x: 10962, y: 10962 }, + { x: 10963, y: 10963 }, + { x: 10964, y: 10964 }, + { x: 10965, y: 10965 }, + { x: 10966, y: 10966 }, + { x: 10967, y: 10967 }, + { x: 10968, y: 10968 }, + { x: 10969, y: 10969 }, + { x: 10970, y: 10970 }, + { x: 10971, y: 10971 }, + { x: 10972, y: 10972 }, + { x: 10973, y: 10973 }, + { x: 10974, y: 10974 }, + { x: 10975, y: 10975 }, + { x: 10976, y: 10976 }, + { x: 10977, y: 10977 }, + { x: 10978, y: 10978 }, + { x: 10979, y: 10979 }, + { x: 10980, y: 10980 }, + { x: 10981, y: 10981 }, + { x: 10982, y: 10982 }, + { x: 10983, y: 10983 }, + { x: 10984, y: 10984 }, + { x: 10985, y: 10985 }, + { x: 10986, y: 10986 }, + { x: 10987, y: 10987 }, + { x: 10988, y: 10988 }, + { x: 10989, y: 10989 }, + { x: 10990, y: 10990 }, + { x: 10991, y: 10991 }, + { x: 10992, y: 10992 }, + { x: 10993, y: 10993 }, + { x: 10994, y: 10994 }, + { x: 10995, y: 10995 }, + { x: 10996, y: 10996 }, + { x: 10997, y: 10997 }, + { x: 10998, y: 10998 }, + { x: 10999, y: 10999 }, + { x: 11000, y: 11000 }, + { x: 11001, y: 11001 }, + { x: 11002, y: 11002 }, + { x: 11003, y: 11003 }, + { x: 11004, y: 11004 }, + { x: 11005, y: 11005 }, + { x: 11006, y: 11006 }, + { x: 11007, y: 11007 }, + { x: 11008, y: 11008 }, + { x: 11009, y: 11009 }, + { x: 11010, y: 11010 }, + { x: 11011, y: 11011 }, + { x: 11012, y: 11012 }, + { x: 11013, y: 11013 }, + { x: 11014, y: 11014 }, + { x: 11015, y: 11015 }, + { x: 11016, y: 11016 }, + { x: 11017, y: 11017 }, + { x: 11018, y: 11018 }, + { x: 11019, y: 11019 }, + { x: 11020, y: 11020 }, + { x: 11021, y: 11021 }, + { x: 11022, y: 11022 }, + { x: 11023, y: 11023 }, + { x: 11024, y: 11024 }, + { x: 11025, y: 11025 }, + { x: 11026, y: 11026 }, + { x: 11027, y: 11027 }, + { x: 11028, y: 11028 }, + { x: 11029, y: 11029 }, + { x: 11030, y: 11030 }, + { x: 11031, y: 11031 }, + { x: 11032, y: 11032 }, + { x: 11033, y: 11033 }, + { x: 11034, y: 11034 }, + { x: 11035, y: 11035 }, + { x: 11036, y: 11036 }, + { x: 11037, y: 11037 }, + { x: 11038, y: 11038 }, + { x: 11039, y: 11039 }, + { x: 11040, y: 11040 }, + { x: 11041, y: 11041 }, + { x: 11042, y: 11042 }, + { x: 11043, y: 11043 }, + { x: 11044, y: 11044 }, + { x: 11045, y: 11045 }, + { x: 11046, y: 11046 }, + { x: 11047, y: 11047 }, + { x: 11048, y: 11048 }, + { x: 11049, y: 11049 }, + { x: 11050, y: 11050 }, + { x: 11051, y: 11051 }, + { x: 11052, y: 11052 }, + { x: 11053, y: 11053 }, + { x: 11054, y: 11054 }, + { x: 11055, y: 11055 }, + { x: 11056, y: 11056 }, + { x: 11057, y: 11057 }, + { x: 11058, y: 11058 }, + { x: 11059, y: 11059 }, + { x: 11060, y: 11060 }, + { x: 11061, y: 11061 }, + { x: 11062, y: 11062 }, + { x: 11063, y: 11063 }, + { x: 11064, y: 11064 }, + { x: 11065, y: 11065 }, + { x: 11066, y: 11066 }, + { x: 11067, y: 11067 }, + { x: 11068, y: 11068 }, + { x: 11069, y: 11069 }, + { x: 11070, y: 11070 }, + { x: 11071, y: 11071 }, + { x: 11072, y: 11072 }, + { x: 11073, y: 11073 }, + { x: 11074, y: 11074 }, + { x: 11075, y: 11075 }, + { x: 11076, y: 11076 }, + { x: 11077, y: 11077 }, + { x: 11078, y: 11078 }, + { x: 11079, y: 11079 }, + { x: 11080, y: 11080 }, + { x: 11081, y: 11081 }, + { x: 11082, y: 11082 }, + { x: 11083, y: 11083 }, + { x: 11084, y: 11084 }, + { x: 11085, y: 11085 }, + { x: 11086, y: 11086 }, + { x: 11087, y: 11087 }, + { x: 11088, y: 11088 }, + { x: 11089, y: 11089 }, + { x: 11090, y: 11090 }, + { x: 11091, y: 11091 }, + { x: 11092, y: 11092 }, + { x: 11093, y: 11093 }, + { x: 11094, y: 11094 }, + { x: 11095, y: 11095 }, + { x: 11096, y: 11096 }, + { x: 11097, y: 11097 }, + { x: 11098, y: 11098 }, + { x: 11099, y: 11099 }, + { x: 11100, y: 11100 }, + { x: 11101, y: 11101 }, + { x: 11102, y: 11102 }, + { x: 11103, y: 11103 }, + { x: 11104, y: 11104 }, + { x: 11105, y: 11105 }, + { x: 11106, y: 11106 }, + { x: 11107, y: 11107 }, + { x: 11108, y: 11108 }, + { x: 11109, y: 11109 }, + { x: 11110, y: 11110 }, + { x: 11111, y: 11111 }, + { x: 11112, y: 11112 }, + { x: 11113, y: 11113 }, + { x: 11114, y: 11114 }, + { x: 11115, y: 11115 }, + { x: 11116, y: 11116 }, + { x: 11117, y: 11117 }, + { x: 11118, y: 11118 }, + { x: 11119, y: 11119 }, + { x: 11120, y: 11120 }, + { x: 11121, y: 11121 }, + { x: 11122, y: 11122 }, + { x: 11123, y: 11123 }, + { x: 11124, y: 11124 }, + { x: 11125, y: 11125 }, + { x: 11126, y: 11126 }, + { x: 11127, y: 11127 }, + { x: 11128, y: 11128 }, + { x: 11129, y: 11129 }, + { x: 11130, y: 11130 }, + { x: 11131, y: 11131 }, + { x: 11132, y: 11132 }, + { x: 11133, y: 11133 }, + { x: 11134, y: 11134 }, + { x: 11135, y: 11135 }, + { x: 11136, y: 11136 }, + { x: 11137, y: 11137 }, + { x: 11138, y: 11138 }, + { x: 11139, y: 11139 }, + { x: 11140, y: 11140 }, + { x: 11141, y: 11141 }, + { x: 11142, y: 11142 }, + { x: 11143, y: 11143 }, + { x: 11144, y: 11144 }, + { x: 11145, y: 11145 }, + { x: 11146, y: 11146 }, + { x: 11147, y: 11147 }, + { x: 11148, y: 11148 }, + { x: 11149, y: 11149 }, + { x: 11150, y: 11150 }, + { x: 11151, y: 11151 }, + { x: 11152, y: 11152 }, + { x: 11153, y: 11153 }, + { x: 11154, y: 11154 }, + { x: 11155, y: 11155 }, + { x: 11156, y: 11156 }, + { x: 11157, y: 11157 }, + { x: 11158, y: 11158 }, + { x: 11159, y: 11159 }, + { x: 11160, y: 11160 }, + { x: 11161, y: 11161 }, + { x: 11162, y: 11162 }, + { x: 11163, y: 11163 }, + { x: 11164, y: 11164 }, + { x: 11165, y: 11165 }, + { x: 11166, y: 11166 }, + { x: 11167, y: 11167 }, + { x: 11168, y: 11168 }, + { x: 11169, y: 11169 }, + { x: 11170, y: 11170 }, + { x: 11171, y: 11171 }, + { x: 11172, y: 11172 }, + { x: 11173, y: 11173 }, + { x: 11174, y: 11174 }, + { x: 11175, y: 11175 }, + { x: 11176, y: 11176 }, + { x: 11177, y: 11177 }, + { x: 11178, y: 11178 }, + { x: 11179, y: 11179 }, + { x: 11180, y: 11180 }, + { x: 11181, y: 11181 }, + { x: 11182, y: 11182 }, + { x: 11183, y: 11183 }, + { x: 11184, y: 11184 }, + { x: 11185, y: 11185 }, + { x: 11186, y: 11186 }, + { x: 11187, y: 11187 }, + { x: 11188, y: 11188 }, + { x: 11189, y: 11189 }, + { x: 11190, y: 11190 }, + { x: 11191, y: 11191 }, + { x: 11192, y: 11192 }, + { x: 11193, y: 11193 }, + { x: 11194, y: 11194 }, + { x: 11195, y: 11195 }, + { x: 11196, y: 11196 }, + { x: 11197, y: 11197 }, + { x: 11198, y: 11198 }, + { x: 11199, y: 11199 }, + { x: 11200, y: 11200 }, + { x: 11201, y: 11201 }, + { x: 11202, y: 11202 }, + { x: 11203, y: 11203 }, + { x: 11204, y: 11204 }, + { x: 11205, y: 11205 }, + { x: 11206, y: 11206 }, + { x: 11207, y: 11207 }, + { x: 11208, y: 11208 }, + { x: 11209, y: 11209 }, + { x: 11210, y: 11210 }, + { x: 11211, y: 11211 }, + { x: 11212, y: 11212 }, + { x: 11213, y: 11213 }, + { x: 11214, y: 11214 }, + { x: 11215, y: 11215 }, + { x: 11216, y: 11216 }, + { x: 11217, y: 11217 }, + { x: 11218, y: 11218 }, + { x: 11219, y: 11219 }, + { x: 11220, y: 11220 }, + { x: 11221, y: 11221 }, + { x: 11222, y: 11222 }, + { x: 11223, y: 11223 }, + { x: 11224, y: 11224 }, + { x: 11225, y: 11225 }, + { x: 11226, y: 11226 }, + { x: 11227, y: 11227 }, + { x: 11228, y: 11228 }, + { x: 11229, y: 11229 }, + { x: 11230, y: 11230 }, + { x: 11231, y: 11231 }, + { x: 11232, y: 11232 }, + { x: 11233, y: 11233 }, + { x: 11234, y: 11234 }, + { x: 11235, y: 11235 }, + { x: 11236, y: 11236 }, + { x: 11237, y: 11237 }, + { x: 11238, y: 11238 }, + { x: 11239, y: 11239 }, + { x: 11240, y: 11240 }, + { x: 11241, y: 11241 }, + { x: 11242, y: 11242 }, + { x: 11243, y: 11243 }, + { x: 11244, y: 11244 }, + { x: 11245, y: 11245 }, + { x: 11246, y: 11246 }, + { x: 11247, y: 11247 }, + { x: 11248, y: 11248 }, + { x: 11249, y: 11249 }, + { x: 11250, y: 11250 }, + { x: 11251, y: 11251 }, + { x: 11252, y: 11252 }, + { x: 11253, y: 11253 }, + { x: 11254, y: 11254 }, + { x: 11255, y: 11255 }, + { x: 11256, y: 11256 }, + { x: 11257, y: 11257 }, + { x: 11258, y: 11258 }, + { x: 11259, y: 11259 }, + { x: 11260, y: 11260 }, + { x: 11261, y: 11261 }, + { x: 11262, y: 11262 }, + { x: 11263, y: 11263 }, + { x: 11264, y: 11264 }, + { x: 11265, y: 11265 }, + { x: 11266, y: 11266 }, + { x: 11267, y: 11267 }, + { x: 11268, y: 11268 }, + { x: 11269, y: 11269 }, + { x: 11270, y: 11270 }, + { x: 11271, y: 11271 }, + { x: 11272, y: 11272 }, + { x: 11273, y: 11273 }, + { x: 11274, y: 11274 }, + { x: 11275, y: 11275 }, + { x: 11276, y: 11276 }, + { x: 11277, y: 11277 }, + { x: 11278, y: 11278 }, + { x: 11279, y: 11279 }, + { x: 11280, y: 11280 }, + { x: 11281, y: 11281 }, + { x: 11282, y: 11282 }, + { x: 11283, y: 11283 }, + { x: 11284, y: 11284 }, + { x: 11285, y: 11285 }, + { x: 11286, y: 11286 }, + { x: 11287, y: 11287 }, + { x: 11288, y: 11288 }, + { x: 11289, y: 11289 }, + { x: 11290, y: 11290 }, + { x: 11291, y: 11291 }, + { x: 11292, y: 11292 }, + { x: 11293, y: 11293 }, + { x: 11294, y: 11294 }, + { x: 11295, y: 11295 }, + { x: 11296, y: 11296 }, + { x: 11297, y: 11297 }, + { x: 11298, y: 11298 }, + { x: 11299, y: 11299 }, + { x: 11300, y: 11300 }, + { x: 11301, y: 11301 }, + { x: 11302, y: 11302 }, + { x: 11303, y: 11303 }, + { x: 11304, y: 11304 }, + { x: 11305, y: 11305 }, + { x: 11306, y: 11306 }, + { x: 11307, y: 11307 }, + { x: 11308, y: 11308 }, + { x: 11309, y: 11309 }, + { x: 11310, y: 11310 }, + { x: 11311, y: 11311 }, + { x: 11312, y: 11312 }, + { x: 11313, y: 11313 }, + { x: 11314, y: 11314 }, + { x: 11315, y: 11315 }, + { x: 11316, y: 11316 }, + { x: 11317, y: 11317 }, + { x: 11318, y: 11318 }, + { x: 11319, y: 11319 }, + { x: 11320, y: 11320 }, + { x: 11321, y: 11321 }, + { x: 11322, y: 11322 }, + { x: 11323, y: 11323 }, + { x: 11324, y: 11324 }, + { x: 11325, y: 11325 }, + { x: 11326, y: 11326 }, + { x: 11327, y: 11327 }, + { x: 11328, y: 11328 }, + { x: 11329, y: 11329 }, + { x: 11330, y: 11330 }, + { x: 11331, y: 11331 }, + { x: 11332, y: 11332 }, + { x: 11333, y: 11333 }, + { x: 11334, y: 11334 }, + { x: 11335, y: 11335 }, + { x: 11336, y: 11336 }, + { x: 11337, y: 11337 }, + { x: 11338, y: 11338 }, + { x: 11339, y: 11339 }, + { x: 11340, y: 11340 }, + { x: 11341, y: 11341 }, + { x: 11342, y: 11342 }, + { x: 11343, y: 11343 }, + { x: 11344, y: 11344 }, + { x: 11345, y: 11345 }, + { x: 11346, y: 11346 }, + { x: 11347, y: 11347 }, + { x: 11348, y: 11348 }, + { x: 11349, y: 11349 }, + { x: 11350, y: 11350 }, + { x: 11351, y: 11351 }, + { x: 11352, y: 11352 }, + { x: 11353, y: 11353 }, + { x: 11354, y: 11354 }, + { x: 11355, y: 11355 }, + { x: 11356, y: 11356 }, + { x: 11357, y: 11357 }, + { x: 11358, y: 11358 }, + { x: 11359, y: 11359 }, + { x: 11360, y: 11360 }, + { x: 11361, y: 11361 }, + { x: 11362, y: 11362 }, + { x: 11363, y: 11363 }, + { x: 11364, y: 11364 }, + { x: 11365, y: 11365 }, + { x: 11366, y: 11366 }, + { x: 11367, y: 11367 }, + { x: 11368, y: 11368 }, + { x: 11369, y: 11369 }, + { x: 11370, y: 11370 }, + { x: 11371, y: 11371 }, + { x: 11372, y: 11372 }, + { x: 11373, y: 11373 }, + { x: 11374, y: 11374 }, + { x: 11375, y: 11375 }, + { x: 11376, y: 11376 }, + { x: 11377, y: 11377 }, + { x: 11378, y: 11378 }, + { x: 11379, y: 11379 }, + { x: 11380, y: 11380 }, + { x: 11381, y: 11381 }, + { x: 11382, y: 11382 }, + { x: 11383, y: 11383 }, + { x: 11384, y: 11384 }, + { x: 11385, y: 11385 }, + { x: 11386, y: 11386 }, + { x: 11387, y: 11387 }, + { x: 11388, y: 11388 }, + { x: 11389, y: 11389 }, + { x: 11390, y: 11390 }, + { x: 11391, y: 11391 }, + { x: 11392, y: 11392 }, + { x: 11393, y: 11393 }, + { x: 11394, y: 11394 }, + { x: 11395, y: 11395 }, + { x: 11396, y: 11396 }, + { x: 11397, y: 11397 }, + { x: 11398, y: 11398 }, + { x: 11399, y: 11399 }, + { x: 11400, y: 11400 }, + { x: 11401, y: 11401 }, + { x: 11402, y: 11402 }, + { x: 11403, y: 11403 }, + { x: 11404, y: 11404 }, + { x: 11405, y: 11405 }, + { x: 11406, y: 11406 }, + { x: 11407, y: 11407 }, + { x: 11408, y: 11408 }, + { x: 11409, y: 11409 }, + { x: 11410, y: 11410 }, + { x: 11411, y: 11411 }, + { x: 11412, y: 11412 }, + { x: 11413, y: 11413 }, + { x: 11414, y: 11414 }, + { x: 11415, y: 11415 }, + { x: 11416, y: 11416 }, + { x: 11417, y: 11417 }, + { x: 11418, y: 11418 }, + { x: 11419, y: 11419 }, + { x: 11420, y: 11420 }, + { x: 11421, y: 11421 }, + { x: 11422, y: 11422 }, + { x: 11423, y: 11423 }, + { x: 11424, y: 11424 }, + { x: 11425, y: 11425 }, + { x: 11426, y: 11426 }, + { x: 11427, y: 11427 }, + { x: 11428, y: 11428 }, + { x: 11429, y: 11429 }, + { x: 11430, y: 11430 }, + { x: 11431, y: 11431 }, + { x: 11432, y: 11432 }, + { x: 11433, y: 11433 }, + { x: 11434, y: 11434 }, + { x: 11435, y: 11435 }, + { x: 11436, y: 11436 }, + { x: 11437, y: 11437 }, + { x: 11438, y: 11438 }, + { x: 11439, y: 11439 }, + { x: 11440, y: 11440 }, + { x: 11441, y: 11441 }, + { x: 11442, y: 11442 }, + { x: 11443, y: 11443 }, + { x: 11444, y: 11444 }, + { x: 11445, y: 11445 }, + { x: 11446, y: 11446 }, + { x: 11447, y: 11447 }, + { x: 11448, y: 11448 }, + { x: 11449, y: 11449 }, + { x: 11450, y: 11450 }, + { x: 11451, y: 11451 }, + { x: 11452, y: 11452 }, + { x: 11453, y: 11453 }, + { x: 11454, y: 11454 }, + { x: 11455, y: 11455 }, + { x: 11456, y: 11456 }, + { x: 11457, y: 11457 }, + { x: 11458, y: 11458 }, + { x: 11459, y: 11459 }, + { x: 11460, y: 11460 }, + { x: 11461, y: 11461 }, + { x: 11462, y: 11462 }, + { x: 11463, y: 11463 }, + { x: 11464, y: 11464 }, + { x: 11465, y: 11465 }, + { x: 11466, y: 11466 }, + { x: 11467, y: 11467 }, + { x: 11468, y: 11468 }, + { x: 11469, y: 11469 }, + { x: 11470, y: 11470 }, + { x: 11471, y: 11471 }, + { x: 11472, y: 11472 }, + { x: 11473, y: 11473 }, + { x: 11474, y: 11474 }, + { x: 11475, y: 11475 }, + { x: 11476, y: 11476 }, + { x: 11477, y: 11477 }, + { x: 11478, y: 11478 }, + { x: 11479, y: 11479 }, + { x: 11480, y: 11480 }, + { x: 11481, y: 11481 }, + { x: 11482, y: 11482 }, + { x: 11483, y: 11483 }, + { x: 11484, y: 11484 }, + { x: 11485, y: 11485 }, + { x: 11486, y: 11486 }, + { x: 11487, y: 11487 }, + { x: 11488, y: 11488 }, + { x: 11489, y: 11489 }, + { x: 11490, y: 11490 }, + { x: 11491, y: 11491 }, + { x: 11492, y: 11492 }, + { x: 11493, y: 11493 }, + { x: 11494, y: 11494 }, + { x: 11495, y: 11495 }, + { x: 11496, y: 11496 }, + { x: 11497, y: 11497 }, + { x: 11498, y: 11498 }, + { x: 11499, y: 11499 }, + { x: 11500, y: 11500 }, + { x: 11501, y: 11501 }, + { x: 11502, y: 11502 }, + { x: 11503, y: 11503 }, + { x: 11504, y: 11504 }, + { x: 11505, y: 11505 }, + { x: 11506, y: 11506 }, + { x: 11507, y: 11507 }, + { x: 11508, y: 11508 }, + { x: 11509, y: 11509 }, + { x: 11510, y: 11510 }, + { x: 11511, y: 11511 }, + { x: 11512, y: 11512 }, + { x: 11513, y: 11513 }, + { x: 11514, y: 11514 }, + { x: 11515, y: 11515 }, + { x: 11516, y: 11516 }, + { x: 11517, y: 11517 }, + { x: 11518, y: 11518 }, + { x: 11519, y: 11519 }, + { x: 11520, y: 11520 }, + { x: 11521, y: 11521 }, + { x: 11522, y: 11522 }, + { x: 11523, y: 11523 }, + { x: 11524, y: 11524 }, + { x: 11525, y: 11525 }, + { x: 11526, y: 11526 }, + { x: 11527, y: 11527 }, + { x: 11528, y: 11528 }, + { x: 11529, y: 11529 }, + { x: 11530, y: 11530 }, + { x: 11531, y: 11531 }, + { x: 11532, y: 11532 }, + { x: 11533, y: 11533 }, + { x: 11534, y: 11534 }, + { x: 11535, y: 11535 }, + { x: 11536, y: 11536 }, + { x: 11537, y: 11537 }, + { x: 11538, y: 11538 }, + { x: 11539, y: 11539 }, + { x: 11540, y: 11540 }, + { x: 11541, y: 11541 }, + { x: 11542, y: 11542 }, + { x: 11543, y: 11543 }, + { x: 11544, y: 11544 }, + { x: 11545, y: 11545 }, + { x: 11546, y: 11546 }, + { x: 11547, y: 11547 }, + { x: 11548, y: 11548 }, + { x: 11549, y: 11549 }, + { x: 11550, y: 11550 }, + { x: 11551, y: 11551 }, + { x: 11552, y: 11552 }, + { x: 11553, y: 11553 }, + { x: 11554, y: 11554 }, + { x: 11555, y: 11555 }, + { x: 11556, y: 11556 }, + { x: 11557, y: 11557 }, + { x: 11558, y: 11558 }, + { x: 11559, y: 11559 }, + { x: 11560, y: 11560 }, + { x: 11561, y: 11561 }, + { x: 11562, y: 11562 }, + { x: 11563, y: 11563 }, + { x: 11564, y: 11564 }, + { x: 11565, y: 11565 }, + { x: 11566, y: 11566 }, + { x: 11567, y: 11567 }, + { x: 11568, y: 11568 }, + { x: 11569, y: 11569 }, + { x: 11570, y: 11570 }, + { x: 11571, y: 11571 }, + { x: 11572, y: 11572 }, + { x: 11573, y: 11573 }, + { x: 11574, y: 11574 }, + { x: 11575, y: 11575 }, + { x: 11576, y: 11576 }, + { x: 11577, y: 11577 }, + { x: 11578, y: 11578 }, + { x: 11579, y: 11579 }, + { x: 11580, y: 11580 }, + { x: 11581, y: 11581 }, + { x: 11582, y: 11582 }, + { x: 11583, y: 11583 }, + { x: 11584, y: 11584 }, + { x: 11585, y: 11585 }, + { x: 11586, y: 11586 }, + { x: 11587, y: 11587 }, + { x: 11588, y: 11588 }, + { x: 11589, y: 11589 }, + { x: 11590, y: 11590 }, + { x: 11591, y: 11591 }, + { x: 11592, y: 11592 }, + { x: 11593, y: 11593 }, + { x: 11594, y: 11594 }, + { x: 11595, y: 11595 }, + { x: 11596, y: 11596 }, + { x: 11597, y: 11597 }, + { x: 11598, y: 11598 }, + { x: 11599, y: 11599 }, + { x: 11600, y: 11600 }, + { x: 11601, y: 11601 }, + { x: 11602, y: 11602 }, + { x: 11603, y: 11603 }, + { x: 11604, y: 11604 }, + { x: 11605, y: 11605 }, + { x: 11606, y: 11606 }, + { x: 11607, y: 11607 }, + { x: 11608, y: 11608 }, + { x: 11609, y: 11609 }, + { x: 11610, y: 11610 }, + { x: 11611, y: 11611 }, + { x: 11612, y: 11612 }, + { x: 11613, y: 11613 }, + { x: 11614, y: 11614 }, + { x: 11615, y: 11615 }, + { x: 11616, y: 11616 }, + { x: 11617, y: 11617 }, + { x: 11618, y: 11618 }, + { x: 11619, y: 11619 }, + { x: 11620, y: 11620 }, + { x: 11621, y: 11621 }, + { x: 11622, y: 11622 }, + { x: 11623, y: 11623 }, + { x: 11624, y: 11624 }, + { x: 11625, y: 11625 }, + { x: 11626, y: 11626 }, + { x: 11627, y: 11627 }, + { x: 11628, y: 11628 }, + { x: 11629, y: 11629 }, + { x: 11630, y: 11630 }, + { x: 11631, y: 11631 }, + { x: 11632, y: 11632 }, + { x: 11633, y: 11633 }, + { x: 11634, y: 11634 }, + { x: 11635, y: 11635 }, + { x: 11636, y: 11636 }, + { x: 11637, y: 11637 }, + { x: 11638, y: 11638 }, + { x: 11639, y: 11639 }, + { x: 11640, y: 11640 }, + { x: 11641, y: 11641 }, + { x: 11642, y: 11642 }, + { x: 11643, y: 11643 }, + { x: 11644, y: 11644 }, + { x: 11645, y: 11645 }, + { x: 11646, y: 11646 }, + { x: 11647, y: 11647 }, + { x: 11648, y: 11648 }, + { x: 11649, y: 11649 }, + { x: 11650, y: 11650 }, + { x: 11651, y: 11651 }, + { x: 11652, y: 11652 }, + { x: 11653, y: 11653 }, + { x: 11654, y: 11654 }, + { x: 11655, y: 11655 }, + { x: 11656, y: 11656 }, + { x: 11657, y: 11657 }, + { x: 11658, y: 11658 }, + { x: 11659, y: 11659 }, + { x: 11660, y: 11660 }, + { x: 11661, y: 11661 }, + { x: 11662, y: 11662 }, + { x: 11663, y: 11663 }, + { x: 11664, y: 11664 }, + { x: 11665, y: 11665 }, + { x: 11666, y: 11666 }, + { x: 11667, y: 11667 }, + { x: 11668, y: 11668 }, + { x: 11669, y: 11669 }, + { x: 11670, y: 11670 }, + { x: 11671, y: 11671 }, + { x: 11672, y: 11672 }, + { x: 11673, y: 11673 }, + { x: 11674, y: 11674 }, + { x: 11675, y: 11675 }, + { x: 11676, y: 11676 }, + { x: 11677, y: 11677 }, + { x: 11678, y: 11678 }, + { x: 11679, y: 11679 }, + { x: 11680, y: 11680 }, + { x: 11681, y: 11681 }, + { x: 11682, y: 11682 }, + { x: 11683, y: 11683 }, + { x: 11684, y: 11684 }, + { x: 11685, y: 11685 }, + { x: 11686, y: 11686 }, + { x: 11687, y: 11687 }, + { x: 11688, y: 11688 }, + { x: 11689, y: 11689 }, + { x: 11690, y: 11690 }, + { x: 11691, y: 11691 }, + { x: 11692, y: 11692 }, + { x: 11693, y: 11693 }, + { x: 11694, y: 11694 }, + { x: 11695, y: 11695 }, + { x: 11696, y: 11696 }, + { x: 11697, y: 11697 }, + { x: 11698, y: 11698 }, + { x: 11699, y: 11699 }, + { x: 11700, y: 11700 }, + { x: 11701, y: 11701 }, + { x: 11702, y: 11702 }, + { x: 11703, y: 11703 }, + { x: 11704, y: 11704 }, + { x: 11705, y: 11705 }, + { x: 11706, y: 11706 }, + { x: 11707, y: 11707 }, + { x: 11708, y: 11708 }, + { x: 11709, y: 11709 }, + { x: 11710, y: 11710 }, + { x: 11711, y: 11711 }, + { x: 11712, y: 11712 }, + { x: 11713, y: 11713 }, + { x: 11714, y: 11714 }, + { x: 11715, y: 11715 }, + { x: 11716, y: 11716 }, + { x: 11717, y: 11717 }, + { x: 11718, y: 11718 }, + { x: 11719, y: 11719 }, + { x: 11720, y: 11720 }, + { x: 11721, y: 11721 }, + { x: 11722, y: 11722 }, + { x: 11723, y: 11723 }, + { x: 11724, y: 11724 }, + { x: 11725, y: 11725 }, + { x: 11726, y: 11726 }, + { x: 11727, y: 11727 }, + { x: 11728, y: 11728 }, + { x: 11729, y: 11729 }, + { x: 11730, y: 11730 }, + { x: 11731, y: 11731 }, + { x: 11732, y: 11732 }, + { x: 11733, y: 11733 }, + { x: 11734, y: 11734 }, + { x: 11735, y: 11735 }, + { x: 11736, y: 11736 }, + { x: 11737, y: 11737 }, + { x: 11738, y: 11738 }, + { x: 11739, y: 11739 }, + { x: 11740, y: 11740 }, + { x: 11741, y: 11741 }, + { x: 11742, y: 11742 }, + { x: 11743, y: 11743 }, + { x: 11744, y: 11744 }, + { x: 11745, y: 11745 }, + { x: 11746, y: 11746 }, + { x: 11747, y: 11747 }, + { x: 11748, y: 11748 }, + { x: 11749, y: 11749 }, + { x: 11750, y: 11750 }, + { x: 11751, y: 11751 }, + { x: 11752, y: 11752 }, + { x: 11753, y: 11753 }, + { x: 11754, y: 11754 }, + { x: 11755, y: 11755 }, + { x: 11756, y: 11756 }, + { x: 11757, y: 11757 }, + { x: 11758, y: 11758 }, + { x: 11759, y: 11759 }, + { x: 11760, y: 11760 }, + { x: 11761, y: 11761 }, + { x: 11762, y: 11762 }, + { x: 11763, y: 11763 }, + { x: 11764, y: 11764 }, + { x: 11765, y: 11765 }, + { x: 11766, y: 11766 }, + { x: 11767, y: 11767 }, + { x: 11768, y: 11768 }, + { x: 11769, y: 11769 }, + { x: 11770, y: 11770 }, + { x: 11771, y: 11771 }, + { x: 11772, y: 11772 }, + { x: 11773, y: 11773 }, + { x: 11774, y: 11774 }, + { x: 11775, y: 11775 }, + { x: 11776, y: 11776 }, + { x: 11777, y: 11777 }, + { x: 11778, y: 11778 }, + { x: 11779, y: 11779 }, + { x: 11780, y: 11780 }, + { x: 11781, y: 11781 }, + { x: 11782, y: 11782 }, + { x: 11783, y: 11783 }, + { x: 11784, y: 11784 }, + { x: 11785, y: 11785 }, + { x: 11786, y: 11786 }, + { x: 11787, y: 11787 }, + { x: 11788, y: 11788 }, + { x: 11789, y: 11789 }, + { x: 11790, y: 11790 }, + { x: 11791, y: 11791 }, + { x: 11792, y: 11792 }, + { x: 11793, y: 11793 }, + { x: 11794, y: 11794 }, + { x: 11795, y: 11795 }, + { x: 11796, y: 11796 }, + { x: 11797, y: 11797 }, + { x: 11798, y: 11798 }, + { x: 11799, y: 11799 }, + { x: 11800, y: 11800 }, + { x: 11801, y: 11801 }, + { x: 11802, y: 11802 }, + { x: 11803, y: 11803 }, + { x: 11804, y: 11804 }, + { x: 11805, y: 11805 }, + { x: 11806, y: 11806 }, + { x: 11807, y: 11807 }, + { x: 11808, y: 11808 }, + { x: 11809, y: 11809 }, + { x: 11810, y: 11810 }, + { x: 11811, y: 11811 }, + { x: 11812, y: 11812 }, + { x: 11813, y: 11813 }, + { x: 11814, y: 11814 }, + { x: 11815, y: 11815 }, + { x: 11816, y: 11816 }, + { x: 11817, y: 11817 }, + { x: 11818, y: 11818 }, + { x: 11819, y: 11819 }, + { x: 11820, y: 11820 }, + { x: 11821, y: 11821 }, + { x: 11822, y: 11822 }, + { x: 11823, y: 11823 }, + { x: 11824, y: 11824 }, + { x: 11825, y: 11825 }, + { x: 11826, y: 11826 }, + { x: 11827, y: 11827 }, + { x: 11828, y: 11828 }, + { x: 11829, y: 11829 }, + { x: 11830, y: 11830 }, + { x: 11831, y: 11831 }, + { x: 11832, y: 11832 }, + { x: 11833, y: 11833 }, + { x: 11834, y: 11834 }, + { x: 11835, y: 11835 }, + { x: 11836, y: 11836 }, + { x: 11837, y: 11837 }, + { x: 11838, y: 11838 }, + { x: 11839, y: 11839 }, + { x: 11840, y: 11840 }, + { x: 11841, y: 11841 }, + { x: 11842, y: 11842 }, + { x: 11843, y: 11843 }, + { x: 11844, y: 11844 }, + { x: 11845, y: 11845 }, + { x: 11846, y: 11846 }, + { x: 11847, y: 11847 }, + { x: 11848, y: 11848 }, + { x: 11849, y: 11849 }, + { x: 11850, y: 11850 }, + { x: 11851, y: 11851 }, + { x: 11852, y: 11852 }, + { x: 11853, y: 11853 }, + { x: 11854, y: 11854 }, + { x: 11855, y: 11855 }, + { x: 11856, y: 11856 }, + { x: 11857, y: 11857 }, + { x: 11858, y: 11858 }, + { x: 11859, y: 11859 }, + { x: 11860, y: 11860 }, + { x: 11861, y: 11861 }, + { x: 11862, y: 11862 }, + { x: 11863, y: 11863 }, + { x: 11864, y: 11864 }, + { x: 11865, y: 11865 }, + { x: 11866, y: 11866 }, + { x: 11867, y: 11867 }, + { x: 11868, y: 11868 }, + { x: 11869, y: 11869 }, + { x: 11870, y: 11870 }, + { x: 11871, y: 11871 }, + { x: 11872, y: 11872 }, + { x: 11873, y: 11873 }, + { x: 11874, y: 11874 }, + { x: 11875, y: 11875 }, + { x: 11876, y: 11876 }, + { x: 11877, y: 11877 }, + { x: 11878, y: 11878 }, + { x: 11879, y: 11879 }, + { x: 11880, y: 11880 }, + { x: 11881, y: 11881 }, + { x: 11882, y: 11882 }, + { x: 11883, y: 11883 }, + { x: 11884, y: 11884 }, + { x: 11885, y: 11885 }, + { x: 11886, y: 11886 }, + { x: 11887, y: 11887 }, + { x: 11888, y: 11888 }, + { x: 11889, y: 11889 }, + { x: 11890, y: 11890 }, + { x: 11891, y: 11891 }, + { x: 11892, y: 11892 }, + { x: 11893, y: 11893 }, + { x: 11894, y: 11894 }, + { x: 11895, y: 11895 }, + { x: 11896, y: 11896 }, + { x: 11897, y: 11897 }, + { x: 11898, y: 11898 }, + { x: 11899, y: 11899 }, + { x: 11900, y: 11900 }, + { x: 11901, y: 11901 }, + { x: 11902, y: 11902 }, + { x: 11903, y: 11903 }, + { x: 11904, y: 11904 }, + { x: 11905, y: 11905 }, + { x: 11906, y: 11906 }, + { x: 11907, y: 11907 }, + { x: 11908, y: 11908 }, + { x: 11909, y: 11909 }, + { x: 11910, y: 11910 }, + { x: 11911, y: 11911 }, + { x: 11912, y: 11912 }, + { x: 11913, y: 11913 }, + { x: 11914, y: 11914 }, + { x: 11915, y: 11915 }, + { x: 11916, y: 11916 }, + { x: 11917, y: 11917 }, + { x: 11918, y: 11918 }, + { x: 11919, y: 11919 }, + { x: 11920, y: 11920 }, + { x: 11921, y: 11921 }, + { x: 11922, y: 11922 }, + { x: 11923, y: 11923 }, + { x: 11924, y: 11924 }, + { x: 11925, y: 11925 }, + { x: 11926, y: 11926 }, + { x: 11927, y: 11927 }, + { x: 11928, y: 11928 }, + { x: 11929, y: 11929 }, + { x: 11930, y: 11930 }, + { x: 11931, y: 11931 }, + { x: 11932, y: 11932 }, + { x: 11933, y: 11933 }, + { x: 11934, y: 11934 }, + { x: 11935, y: 11935 }, + { x: 11936, y: 11936 }, + { x: 11937, y: 11937 }, + { x: 11938, y: 11938 }, + { x: 11939, y: 11939 }, + { x: 11940, y: 11940 }, + { x: 11941, y: 11941 }, + { x: 11942, y: 11942 }, + { x: 11943, y: 11943 }, + { x: 11944, y: 11944 }, + { x: 11945, y: 11945 }, + { x: 11946, y: 11946 }, + { x: 11947, y: 11947 }, + { x: 11948, y: 11948 }, + { x: 11949, y: 11949 }, + { x: 11950, y: 11950 }, + { x: 11951, y: 11951 }, + { x: 11952, y: 11952 }, + { x: 11953, y: 11953 }, + { x: 11954, y: 11954 }, + { x: 11955, y: 11955 }, + { x: 11956, y: 11956 }, + { x: 11957, y: 11957 }, + { x: 11958, y: 11958 }, + { x: 11959, y: 11959 }, + { x: 11960, y: 11960 }, + { x: 11961, y: 11961 }, + { x: 11962, y: 11962 }, + { x: 11963, y: 11963 }, + { x: 11964, y: 11964 }, + { x: 11965, y: 11965 }, + { x: 11966, y: 11966 }, + { x: 11967, y: 11967 }, + { x: 11968, y: 11968 }, + { x: 11969, y: 11969 }, + { x: 11970, y: 11970 }, + { x: 11971, y: 11971 }, + { x: 11972, y: 11972 }, + { x: 11973, y: 11973 }, + { x: 11974, y: 11974 }, + { x: 11975, y: 11975 }, + { x: 11976, y: 11976 }, + { x: 11977, y: 11977 }, + { x: 11978, y: 11978 }, + { x: 11979, y: 11979 }, + { x: 11980, y: 11980 }, + { x: 11981, y: 11981 }, + { x: 11982, y: 11982 }, + { x: 11983, y: 11983 }, + { x: 11984, y: 11984 }, + { x: 11985, y: 11985 }, + { x: 11986, y: 11986 }, + { x: 11987, y: 11987 }, + { x: 11988, y: 11988 }, + { x: 11989, y: 11989 }, + { x: 11990, y: 11990 }, + { x: 11991, y: 11991 }, + { x: 11992, y: 11992 }, + { x: 11993, y: 11993 }, + { x: 11994, y: 11994 }, + { x: 11995, y: 11995 }, + { x: 11996, y: 11996 }, + { x: 11997, y: 11997 }, + { x: 11998, y: 11998 }, + { x: 11999, y: 11999 }, + { x: 12000, y: 12000 }, + { x: 12001, y: 12001 }, + { x: 12002, y: 12002 }, + { x: 12003, y: 12003 }, + { x: 12004, y: 12004 }, + { x: 12005, y: 12005 }, + { x: 12006, y: 12006 }, + { x: 12007, y: 12007 }, + { x: 12008, y: 12008 }, + { x: 12009, y: 12009 }, + { x: 12010, y: 12010 }, + { x: 12011, y: 12011 }, + { x: 12012, y: 12012 }, + { x: 12013, y: 12013 }, + { x: 12014, y: 12014 }, + { x: 12015, y: 12015 }, + { x: 12016, y: 12016 }, + { x: 12017, y: 12017 }, + { x: 12018, y: 12018 }, + { x: 12019, y: 12019 }, + { x: 12020, y: 12020 }, + { x: 12021, y: 12021 }, + { x: 12022, y: 12022 }, + { x: 12023, y: 12023 }, + { x: 12024, y: 12024 }, + { x: 12025, y: 12025 }, + { x: 12026, y: 12026 }, + { x: 12027, y: 12027 }, + { x: 12028, y: 12028 }, + { x: 12029, y: 12029 }, + { x: 12030, y: 12030 }, + { x: 12031, y: 12031 }, + { x: 12032, y: 12032 }, + { x: 12033, y: 12033 }, + { x: 12034, y: 12034 }, + { x: 12035, y: 12035 }, + { x: 12036, y: 12036 }, + { x: 12037, y: 12037 }, + { x: 12038, y: 12038 }, + { x: 12039, y: 12039 }, + { x: 12040, y: 12040 }, + { x: 12041, y: 12041 }, + { x: 12042, y: 12042 }, + { x: 12043, y: 12043 }, + { x: 12044, y: 12044 }, + { x: 12045, y: 12045 }, + { x: 12046, y: 12046 }, + { x: 12047, y: 12047 }, + { x: 12048, y: 12048 }, + { x: 12049, y: 12049 }, + { x: 12050, y: 12050 }, + { x: 12051, y: 12051 }, + { x: 12052, y: 12052 }, + { x: 12053, y: 12053 }, + { x: 12054, y: 12054 }, + { x: 12055, y: 12055 }, + { x: 12056, y: 12056 }, + { x: 12057, y: 12057 }, + { x: 12058, y: 12058 }, + { x: 12059, y: 12059 }, + { x: 12060, y: 12060 }, + { x: 12061, y: 12061 }, + { x: 12062, y: 12062 }, + { x: 12063, y: 12063 }, + { x: 12064, y: 12064 }, + { x: 12065, y: 12065 }, + { x: 12066, y: 12066 }, + { x: 12067, y: 12067 }, + { x: 12068, y: 12068 }, + { x: 12069, y: 12069 }, + { x: 12070, y: 12070 }, + { x: 12071, y: 12071 }, + { x: 12072, y: 12072 }, + { x: 12073, y: 12073 }, + { x: 12074, y: 12074 }, + { x: 12075, y: 12075 }, + { x: 12076, y: 12076 }, + { x: 12077, y: 12077 }, + { x: 12078, y: 12078 }, + { x: 12079, y: 12079 }, + { x: 12080, y: 12080 }, + { x: 12081, y: 12081 }, + { x: 12082, y: 12082 }, + { x: 12083, y: 12083 }, + { x: 12084, y: 12084 }, + { x: 12085, y: 12085 }, + { x: 12086, y: 12086 }, + { x: 12087, y: 12087 }, + { x: 12088, y: 12088 }, + { x: 12089, y: 12089 }, + { x: 12090, y: 12090 }, + { x: 12091, y: 12091 }, + { x: 12092, y: 12092 }, + { x: 12093, y: 12093 }, + { x: 12094, y: 12094 }, + { x: 12095, y: 12095 }, + { x: 12096, y: 12096 }, + { x: 12097, y: 12097 }, + { x: 12098, y: 12098 }, + { x: 12099, y: 12099 }, + { x: 12100, y: 12100 }, + { x: 12101, y: 12101 }, + { x: 12102, y: 12102 }, + { x: 12103, y: 12103 }, + { x: 12104, y: 12104 }, + { x: 12105, y: 12105 }, + { x: 12106, y: 12106 }, + { x: 12107, y: 12107 }, + { x: 12108, y: 12108 }, + { x: 12109, y: 12109 }, + { x: 12110, y: 12110 }, + { x: 12111, y: 12111 }, + { x: 12112, y: 12112 }, + { x: 12113, y: 12113 }, + { x: 12114, y: 12114 }, + { x: 12115, y: 12115 }, + { x: 12116, y: 12116 }, + { x: 12117, y: 12117 }, + { x: 12118, y: 12118 }, + { x: 12119, y: 12119 }, + { x: 12120, y: 12120 }, + { x: 12121, y: 12121 }, + { x: 12122, y: 12122 }, + { x: 12123, y: 12123 }, + { x: 12124, y: 12124 }, + { x: 12125, y: 12125 }, + { x: 12126, y: 12126 }, + { x: 12127, y: 12127 }, + { x: 12128, y: 12128 }, + { x: 12129, y: 12129 }, + { x: 12130, y: 12130 }, + { x: 12131, y: 12131 }, + { x: 12132, y: 12132 }, + { x: 12133, y: 12133 }, + { x: 12134, y: 12134 }, + { x: 12135, y: 12135 }, + { x: 12136, y: 12136 }, + { x: 12137, y: 12137 }, + { x: 12138, y: 12138 }, + { x: 12139, y: 12139 }, + { x: 12140, y: 12140 }, + { x: 12141, y: 12141 }, + { x: 12142, y: 12142 }, + { x: 12143, y: 12143 }, + { x: 12144, y: 12144 }, + { x: 12145, y: 12145 }, + { x: 12146, y: 12146 }, + { x: 12147, y: 12147 }, + { x: 12148, y: 12148 }, + { x: 12149, y: 12149 }, + { x: 12150, y: 12150 }, + { x: 12151, y: 12151 }, + { x: 12152, y: 12152 }, + { x: 12153, y: 12153 }, + { x: 12154, y: 12154 }, + { x: 12155, y: 12155 }, + { x: 12156, y: 12156 }, + { x: 12157, y: 12157 }, + { x: 12158, y: 12158 }, + { x: 12159, y: 12159 }, + { x: 12160, y: 12160 }, + { x: 12161, y: 12161 }, + { x: 12162, y: 12162 }, + { x: 12163, y: 12163 }, + { x: 12164, y: 12164 }, + { x: 12165, y: 12165 }, + { x: 12166, y: 12166 }, + { x: 12167, y: 12167 }, + { x: 12168, y: 12168 }, + { x: 12169, y: 12169 }, + { x: 12170, y: 12170 }, + { x: 12171, y: 12171 }, + { x: 12172, y: 12172 }, + { x: 12173, y: 12173 }, + { x: 12174, y: 12174 }, + { x: 12175, y: 12175 }, + { x: 12176, y: 12176 }, + { x: 12177, y: 12177 }, + { x: 12178, y: 12178 }, + { x: 12179, y: 12179 }, + { x: 12180, y: 12180 }, + { x: 12181, y: 12181 }, + { x: 12182, y: 12182 }, + { x: 12183, y: 12183 }, + { x: 12184, y: 12184 }, + { x: 12185, y: 12185 }, + { x: 12186, y: 12186 }, + { x: 12187, y: 12187 }, + { x: 12188, y: 12188 }, + { x: 12189, y: 12189 }, + { x: 12190, y: 12190 }, + { x: 12191, y: 12191 }, + { x: 12192, y: 12192 }, + { x: 12193, y: 12193 }, + { x: 12194, y: 12194 }, + { x: 12195, y: 12195 }, + { x: 12196, y: 12196 }, + { x: 12197, y: 12197 }, + { x: 12198, y: 12198 }, + { x: 12199, y: 12199 }, + { x: 12200, y: 12200 }, + { x: 12201, y: 12201 }, + { x: 12202, y: 12202 }, + { x: 12203, y: 12203 }, + { x: 12204, y: 12204 }, + { x: 12205, y: 12205 }, + { x: 12206, y: 12206 }, + { x: 12207, y: 12207 }, + { x: 12208, y: 12208 }, + { x: 12209, y: 12209 }, + { x: 12210, y: 12210 }, + { x: 12211, y: 12211 }, + { x: 12212, y: 12212 }, + { x: 12213, y: 12213 }, + { x: 12214, y: 12214 }, + { x: 12215, y: 12215 }, + { x: 12216, y: 12216 }, + { x: 12217, y: 12217 }, + { x: 12218, y: 12218 }, + { x: 12219, y: 12219 }, + { x: 12220, y: 12220 }, + { x: 12221, y: 12221 }, + { x: 12222, y: 12222 }, + { x: 12223, y: 12223 }, + { x: 12224, y: 12224 }, + { x: 12225, y: 12225 }, + { x: 12226, y: 12226 }, + { x: 12227, y: 12227 }, + { x: 12228, y: 12228 }, + { x: 12229, y: 12229 }, + { x: 12230, y: 12230 }, + { x: 12231, y: 12231 }, + { x: 12232, y: 12232 }, + { x: 12233, y: 12233 }, + { x: 12234, y: 12234 }, + { x: 12235, y: 12235 }, + { x: 12236, y: 12236 }, + { x: 12237, y: 12237 }, + { x: 12238, y: 12238 }, + { x: 12239, y: 12239 }, + { x: 12240, y: 12240 }, + { x: 12241, y: 12241 }, + { x: 12242, y: 12242 }, + { x: 12243, y: 12243 }, + { x: 12244, y: 12244 }, + { x: 12245, y: 12245 }, + { x: 12246, y: 12246 }, + { x: 12247, y: 12247 }, + { x: 12248, y: 12248 }, + { x: 12249, y: 12249 }, + { x: 12250, y: 12250 }, + { x: 12251, y: 12251 }, + { x: 12252, y: 12252 }, + { x: 12253, y: 12253 }, + { x: 12254, y: 12254 }, + { x: 12255, y: 12255 }, + { x: 12256, y: 12256 }, + { x: 12257, y: 12257 }, + { x: 12258, y: 12258 }, + { x: 12259, y: 12259 }, + { x: 12260, y: 12260 }, + { x: 12261, y: 12261 }, + { x: 12262, y: 12262 }, + { x: 12263, y: 12263 }, + { x: 12264, y: 12264 }, + { x: 12265, y: 12265 }, + { x: 12266, y: 12266 }, + { x: 12267, y: 12267 }, + { x: 12268, y: 12268 }, + { x: 12269, y: 12269 }, + { x: 12270, y: 12270 }, + { x: 12271, y: 12271 }, + { x: 12272, y: 12272 }, + { x: 12273, y: 12273 }, + { x: 12274, y: 12274 }, + { x: 12275, y: 12275 }, + { x: 12276, y: 12276 }, + { x: 12277, y: 12277 }, + { x: 12278, y: 12278 }, + { x: 12279, y: 12279 }, + { x: 12280, y: 12280 }, + { x: 12281, y: 12281 }, + { x: 12282, y: 12282 }, + { x: 12283, y: 12283 }, + { x: 12284, y: 12284 }, + { x: 12285, y: 12285 }, + { x: 12286, y: 12286 }, + { x: 12287, y: 12287 }, + { x: 12288, y: 12288 }, + { x: 12289, y: 12289 }, + { x: 12290, y: 12290 }, + { x: 12291, y: 12291 }, + { x: 12292, y: 12292 }, + { x: 12293, y: 12293 }, + { x: 12294, y: 12294 }, + { x: 12295, y: 12295 }, + { x: 12296, y: 12296 }, + { x: 12297, y: 12297 }, + { x: 12298, y: 12298 }, + { x: 12299, y: 12299 }, + { x: 12300, y: 12300 }, + { x: 12301, y: 12301 }, + { x: 12302, y: 12302 }, + { x: 12303, y: 12303 }, + { x: 12304, y: 12304 }, + { x: 12305, y: 12305 }, + { x: 12306, y: 12306 }, + { x: 12307, y: 12307 }, + { x: 12308, y: 12308 }, + { x: 12309, y: 12309 }, + { x: 12310, y: 12310 }, + { x: 12311, y: 12311 }, + { x: 12312, y: 12312 }, + { x: 12313, y: 12313 }, + { x: 12314, y: 12314 }, + { x: 12315, y: 12315 }, + { x: 12316, y: 12316 }, + { x: 12317, y: 12317 }, + { x: 12318, y: 12318 }, + { x: 12319, y: 12319 }, + { x: 12320, y: 12320 }, + { x: 12321, y: 12321 }, + { x: 12322, y: 12322 }, + { x: 12323, y: 12323 }, + { x: 12324, y: 12324 }, + { x: 12325, y: 12325 }, + { x: 12326, y: 12326 }, + { x: 12327, y: 12327 }, + { x: 12328, y: 12328 }, + { x: 12329, y: 12329 }, + { x: 12330, y: 12330 }, + { x: 12331, y: 12331 }, + { x: 12332, y: 12332 }, + { x: 12333, y: 12333 }, + { x: 12334, y: 12334 }, + { x: 12335, y: 12335 }, + { x: 12336, y: 12336 }, + { x: 12337, y: 12337 }, + { x: 12338, y: 12338 }, + { x: 12339, y: 12339 }, + { x: 12340, y: 12340 }, + { x: 12341, y: 12341 }, + { x: 12342, y: 12342 }, + { x: 12343, y: 12343 }, + { x: 12344, y: 12344 }, + { x: 12345, y: 12345 }, + { x: 12346, y: 12346 }, + { x: 12347, y: 12347 }, + { x: 12348, y: 12348 }, + { x: 12349, y: 12349 }, + { x: 12350, y: 12350 }, + { x: 12351, y: 12351 }, + { x: 12352, y: 12352 }, + { x: 12353, y: 12353 }, + { x: 12354, y: 12354 }, + { x: 12355, y: 12355 }, + { x: 12356, y: 12356 }, + { x: 12357, y: 12357 }, + { x: 12358, y: 12358 }, + { x: 12359, y: 12359 }, + { x: 12360, y: 12360 }, + { x: 12361, y: 12361 }, + { x: 12362, y: 12362 }, + { x: 12363, y: 12363 }, + { x: 12364, y: 12364 }, + { x: 12365, y: 12365 }, + { x: 12366, y: 12366 }, + { x: 12367, y: 12367 }, + { x: 12368, y: 12368 }, + { x: 12369, y: 12369 }, + { x: 12370, y: 12370 }, + { x: 12371, y: 12371 }, + { x: 12372, y: 12372 }, + { x: 12373, y: 12373 }, + { x: 12374, y: 12374 }, + { x: 12375, y: 12375 }, + { x: 12376, y: 12376 }, + { x: 12377, y: 12377 }, + { x: 12378, y: 12378 }, + { x: 12379, y: 12379 }, + { x: 12380, y: 12380 }, + { x: 12381, y: 12381 }, + { x: 12382, y: 12382 }, + { x: 12383, y: 12383 }, + { x: 12384, y: 12384 }, + { x: 12385, y: 12385 }, + { x: 12386, y: 12386 }, + { x: 12387, y: 12387 }, + { x: 12388, y: 12388 }, + { x: 12389, y: 12389 }, + { x: 12390, y: 12390 }, + { x: 12391, y: 12391 }, + { x: 12392, y: 12392 }, + { x: 12393, y: 12393 }, + { x: 12394, y: 12394 }, + { x: 12395, y: 12395 }, + { x: 12396, y: 12396 }, + { x: 12397, y: 12397 }, + { x: 12398, y: 12398 }, + { x: 12399, y: 12399 }, + { x: 12400, y: 12400 }, + { x: 12401, y: 12401 }, + { x: 12402, y: 12402 }, + { x: 12403, y: 12403 }, + { x: 12404, y: 12404 }, + { x: 12405, y: 12405 }, + { x: 12406, y: 12406 }, + { x: 12407, y: 12407 }, + { x: 12408, y: 12408 }, + { x: 12409, y: 12409 }, + { x: 12410, y: 12410 }, + { x: 12411, y: 12411 }, + { x: 12412, y: 12412 }, + { x: 12413, y: 12413 }, + { x: 12414, y: 12414 }, + { x: 12415, y: 12415 }, + { x: 12416, y: 12416 }, + { x: 12417, y: 12417 }, + { x: 12418, y: 12418 }, + { x: 12419, y: 12419 }, + { x: 12420, y: 12420 }, + { x: 12421, y: 12421 }, + { x: 12422, y: 12422 }, + { x: 12423, y: 12423 }, + { x: 12424, y: 12424 }, + { x: 12425, y: 12425 }, + { x: 12426, y: 12426 }, + { x: 12427, y: 12427 }, + { x: 12428, y: 12428 }, + { x: 12429, y: 12429 }, + { x: 12430, y: 12430 }, + { x: 12431, y: 12431 }, + { x: 12432, y: 12432 }, + { x: 12433, y: 12433 }, + { x: 12434, y: 12434 }, + { x: 12435, y: 12435 }, + { x: 12436, y: 12436 }, + { x: 12437, y: 12437 }, + { x: 12438, y: 12438 }, + { x: 12439, y: 12439 }, + { x: 12440, y: 12440 }, + { x: 12441, y: 12441 }, + { x: 12442, y: 12442 }, + { x: 12443, y: 12443 }, + { x: 12444, y: 12444 }, + { x: 12445, y: 12445 }, + { x: 12446, y: 12446 }, + { x: 12447, y: 12447 }, + { x: 12448, y: 12448 }, + { x: 12449, y: 12449 }, + { x: 12450, y: 12450 }, + { x: 12451, y: 12451 }, + { x: 12452, y: 12452 }, + { x: 12453, y: 12453 }, + { x: 12454, y: 12454 }, + { x: 12455, y: 12455 }, + { x: 12456, y: 12456 }, + { x: 12457, y: 12457 }, + { x: 12458, y: 12458 }, + { x: 12459, y: 12459 }, + { x: 12460, y: 12460 }, + { x: 12461, y: 12461 }, + { x: 12462, y: 12462 }, + { x: 12463, y: 12463 }, + { x: 12464, y: 12464 }, + { x: 12465, y: 12465 }, + { x: 12466, y: 12466 }, + { x: 12467, y: 12467 }, + { x: 12468, y: 12468 }, + { x: 12469, y: 12469 }, + { x: 12470, y: 12470 }, + { x: 12471, y: 12471 }, + { x: 12472, y: 12472 }, + { x: 12473, y: 12473 }, + { x: 12474, y: 12474 }, + { x: 12475, y: 12475 }, + { x: 12476, y: 12476 }, + { x: 12477, y: 12477 }, + { x: 12478, y: 12478 }, + { x: 12479, y: 12479 }, + { x: 12480, y: 12480 }, + { x: 12481, y: 12481 }, + { x: 12482, y: 12482 }, + { x: 12483, y: 12483 }, + { x: 12484, y: 12484 }, + { x: 12485, y: 12485 }, + { x: 12486, y: 12486 }, + { x: 12487, y: 12487 }, + { x: 12488, y: 12488 }, + { x: 12489, y: 12489 }, + { x: 12490, y: 12490 }, + { x: 12491, y: 12491 }, + { x: 12492, y: 12492 }, + { x: 12493, y: 12493 }, + { x: 12494, y: 12494 }, + { x: 12495, y: 12495 }, + { x: 12496, y: 12496 }, + { x: 12497, y: 12497 }, + { x: 12498, y: 12498 }, + { x: 12499, y: 12499 }, + { x: 12500, y: 12500 }, + { x: 12501, y: 12501 }, + { x: 12502, y: 12502 }, + { x: 12503, y: 12503 }, + { x: 12504, y: 12504 }, + { x: 12505, y: 12505 }, + { x: 12506, y: 12506 }, + { x: 12507, y: 12507 }, + { x: 12508, y: 12508 }, + { x: 12509, y: 12509 }, + { x: 12510, y: 12510 }, + { x: 12511, y: 12511 }, + { x: 12512, y: 12512 }, + { x: 12513, y: 12513 }, + { x: 12514, y: 12514 }, + { x: 12515, y: 12515 }, + { x: 12516, y: 12516 }, + { x: 12517, y: 12517 }, + { x: 12518, y: 12518 }, + { x: 12519, y: 12519 }, + { x: 12520, y: 12520 }, + { x: 12521, y: 12521 }, + { x: 12522, y: 12522 }, + { x: 12523, y: 12523 }, + { x: 12524, y: 12524 }, + { x: 12525, y: 12525 }, + { x: 12526, y: 12526 }, + { x: 12527, y: 12527 }, + { x: 12528, y: 12528 }, + { x: 12529, y: 12529 }, + { x: 12530, y: 12530 }, + { x: 12531, y: 12531 }, + { x: 12532, y: 12532 }, + { x: 12533, y: 12533 }, + { x: 12534, y: 12534 }, + { x: 12535, y: 12535 }, + { x: 12536, y: 12536 }, + { x: 12537, y: 12537 }, + { x: 12538, y: 12538 }, + { x: 12539, y: 12539 }, + { x: 12540, y: 12540 }, + { x: 12541, y: 12541 }, + { x: 12542, y: 12542 }, + { x: 12543, y: 12543 }, + { x: 12544, y: 12544 }, + { x: 12545, y: 12545 }, + { x: 12546, y: 12546 }, + { x: 12547, y: 12547 }, + { x: 12548, y: 12548 }, + { x: 12549, y: 12549 }, + { x: 12550, y: 12550 }, + { x: 12551, y: 12551 }, + { x: 12552, y: 12552 }, + { x: 12553, y: 12553 }, + { x: 12554, y: 12554 }, + { x: 12555, y: 12555 }, + { x: 12556, y: 12556 }, + { x: 12557, y: 12557 }, + { x: 12558, y: 12558 }, + { x: 12559, y: 12559 }, + { x: 12560, y: 12560 }, + { x: 12561, y: 12561 }, + { x: 12562, y: 12562 }, + { x: 12563, y: 12563 }, + { x: 12564, y: 12564 }, + { x: 12565, y: 12565 }, + { x: 12566, y: 12566 }, + { x: 12567, y: 12567 }, + { x: 12568, y: 12568 }, + { x: 12569, y: 12569 }, + { x: 12570, y: 12570 }, + { x: 12571, y: 12571 }, + { x: 12572, y: 12572 }, + { x: 12573, y: 12573 }, + { x: 12574, y: 12574 }, + { x: 12575, y: 12575 }, + { x: 12576, y: 12576 }, + { x: 12577, y: 12577 }, + { x: 12578, y: 12578 }, + { x: 12579, y: 12579 }, + { x: 12580, y: 12580 }, + { x: 12581, y: 12581 }, + { x: 12582, y: 12582 }, + { x: 12583, y: 12583 }, + { x: 12584, y: 12584 }, + { x: 12585, y: 12585 }, + { x: 12586, y: 12586 }, + { x: 12587, y: 12587 }, + { x: 12588, y: 12588 }, + { x: 12589, y: 12589 }, + { x: 12590, y: 12590 }, + { x: 12591, y: 12591 }, + { x: 12592, y: 12592 }, + { x: 12593, y: 12593 }, + { x: 12594, y: 12594 }, + { x: 12595, y: 12595 }, + { x: 12596, y: 12596 }, + { x: 12597, y: 12597 }, + { x: 12598, y: 12598 }, + { x: 12599, y: 12599 }, + { x: 12600, y: 12600 }, + { x: 12601, y: 12601 }, + { x: 12602, y: 12602 }, + { x: 12603, y: 12603 }, + { x: 12604, y: 12604 }, + { x: 12605, y: 12605 }, + { x: 12606, y: 12606 }, + { x: 12607, y: 12607 }, + { x: 12608, y: 12608 }, + { x: 12609, y: 12609 }, + { x: 12610, y: 12610 }, + { x: 12611, y: 12611 }, + { x: 12612, y: 12612 }, + { x: 12613, y: 12613 }, + { x: 12614, y: 12614 }, + { x: 12615, y: 12615 }, + { x: 12616, y: 12616 }, + { x: 12617, y: 12617 }, + { x: 12618, y: 12618 }, + { x: 12619, y: 12619 }, + { x: 12620, y: 12620 }, + { x: 12621, y: 12621 }, + { x: 12622, y: 12622 }, + { x: 12623, y: 12623 }, + { x: 12624, y: 12624 }, + { x: 12625, y: 12625 }, + { x: 12626, y: 12626 }, + { x: 12627, y: 12627 }, + { x: 12628, y: 12628 }, + { x: 12629, y: 12629 }, + { x: 12630, y: 12630 }, + { x: 12631, y: 12631 }, + { x: 12632, y: 12632 }, + { x: 12633, y: 12633 }, + { x: 12634, y: 12634 }, + { x: 12635, y: 12635 }, + { x: 12636, y: 12636 }, + { x: 12637, y: 12637 }, + { x: 12638, y: 12638 }, + { x: 12639, y: 12639 }, + { x: 12640, y: 12640 }, + { x: 12641, y: 12641 }, + { x: 12642, y: 12642 }, + { x: 12643, y: 12643 }, + { x: 12644, y: 12644 }, + { x: 12645, y: 12645 }, + { x: 12646, y: 12646 }, + { x: 12647, y: 12647 }, + { x: 12648, y: 12648 }, + { x: 12649, y: 12649 }, + { x: 12650, y: 12650 }, + { x: 12651, y: 12651 }, + { x: 12652, y: 12652 }, + { x: 12653, y: 12653 }, + { x: 12654, y: 12654 }, + { x: 12655, y: 12655 }, + { x: 12656, y: 12656 }, + { x: 12657, y: 12657 }, + { x: 12658, y: 12658 }, + { x: 12659, y: 12659 }, + { x: 12660, y: 12660 }, + { x: 12661, y: 12661 }, + { x: 12662, y: 12662 }, + { x: 12663, y: 12663 }, + { x: 12664, y: 12664 }, + { x: 12665, y: 12665 }, + { x: 12666, y: 12666 }, + { x: 12667, y: 12667 }, + { x: 12668, y: 12668 }, + { x: 12669, y: 12669 }, + { x: 12670, y: 12670 }, + { x: 12671, y: 12671 }, + { x: 12672, y: 12672 }, + { x: 12673, y: 12673 }, + { x: 12674, y: 12674 }, + { x: 12675, y: 12675 }, + { x: 12676, y: 12676 }, + { x: 12677, y: 12677 }, + { x: 12678, y: 12678 }, + { x: 12679, y: 12679 }, + { x: 12680, y: 12680 }, + { x: 12681, y: 12681 }, + { x: 12682, y: 12682 }, + { x: 12683, y: 12683 }, + { x: 12684, y: 12684 }, + { x: 12685, y: 12685 }, + { x: 12686, y: 12686 }, + { x: 12687, y: 12687 }, + { x: 12688, y: 12688 }, + { x: 12689, y: 12689 }, + { x: 12690, y: 12690 }, + { x: 12691, y: 12691 }, + { x: 12692, y: 12692 }, + { x: 12693, y: 12693 }, + { x: 12694, y: 12694 }, + { x: 12695, y: 12695 }, + { x: 12696, y: 12696 }, + { x: 12697, y: 12697 }, + { x: 12698, y: 12698 }, + { x: 12699, y: 12699 }, + { x: 12700, y: 12700 }, + { x: 12701, y: 12701 }, + { x: 12702, y: 12702 }, + { x: 12703, y: 12703 }, + { x: 12704, y: 12704 }, + { x: 12705, y: 12705 }, + { x: 12706, y: 12706 }, + { x: 12707, y: 12707 }, + { x: 12708, y: 12708 }, + { x: 12709, y: 12709 }, + { x: 12710, y: 12710 }, + { x: 12711, y: 12711 }, + { x: 12712, y: 12712 }, + { x: 12713, y: 12713 }, + { x: 12714, y: 12714 }, + { x: 12715, y: 12715 }, + { x: 12716, y: 12716 }, + { x: 12717, y: 12717 }, + { x: 12718, y: 12718 }, + { x: 12719, y: 12719 }, + { x: 12720, y: 12720 }, + { x: 12721, y: 12721 }, + { x: 12722, y: 12722 }, + { x: 12723, y: 12723 }, + { x: 12724, y: 12724 }, + { x: 12725, y: 12725 }, + { x: 12726, y: 12726 }, + { x: 12727, y: 12727 }, + { x: 12728, y: 12728 }, + { x: 12729, y: 12729 }, + { x: 12730, y: 12730 }, + { x: 12731, y: 12731 }, + { x: 12732, y: 12732 }, + { x: 12733, y: 12733 }, + { x: 12734, y: 12734 }, + { x: 12735, y: 12735 }, + { x: 12736, y: 12736 }, + { x: 12737, y: 12737 }, + { x: 12738, y: 12738 }, + { x: 12739, y: 12739 }, + { x: 12740, y: 12740 }, + { x: 12741, y: 12741 }, + { x: 12742, y: 12742 }, + { x: 12743, y: 12743 }, + { x: 12744, y: 12744 }, + { x: 12745, y: 12745 }, + { x: 12746, y: 12746 }, + { x: 12747, y: 12747 }, + { x: 12748, y: 12748 }, + { x: 12749, y: 12749 }, + { x: 12750, y: 12750 }, + { x: 12751, y: 12751 }, + { x: 12752, y: 12752 }, + { x: 12753, y: 12753 }, + { x: 12754, y: 12754 }, + { x: 12755, y: 12755 }, + { x: 12756, y: 12756 }, + { x: 12757, y: 12757 }, + { x: 12758, y: 12758 }, + { x: 12759, y: 12759 }, + { x: 12760, y: 12760 }, + { x: 12761, y: 12761 }, + { x: 12762, y: 12762 }, + { x: 12763, y: 12763 }, + { x: 12764, y: 12764 }, + { x: 12765, y: 12765 }, + { x: 12766, y: 12766 }, + { x: 12767, y: 12767 }, + { x: 12768, y: 12768 }, + { x: 12769, y: 12769 }, + { x: 12770, y: 12770 }, + { x: 12771, y: 12771 }, + { x: 12772, y: 12772 }, + { x: 12773, y: 12773 }, + { x: 12774, y: 12774 }, + { x: 12775, y: 12775 }, + { x: 12776, y: 12776 }, + { x: 12777, y: 12777 }, + { x: 12778, y: 12778 }, + { x: 12779, y: 12779 }, + { x: 12780, y: 12780 }, + { x: 12781, y: 12781 }, + { x: 12782, y: 12782 }, + { x: 12783, y: 12783 }, + { x: 12784, y: 12784 }, + { x: 12785, y: 12785 }, + { x: 12786, y: 12786 }, + { x: 12787, y: 12787 }, + { x: 12788, y: 12788 }, + { x: 12789, y: 12789 }, + { x: 12790, y: 12790 }, + { x: 12791, y: 12791 }, + { x: 12792, y: 12792 }, + { x: 12793, y: 12793 }, + { x: 12794, y: 12794 }, + { x: 12795, y: 12795 }, + { x: 12796, y: 12796 }, + { x: 12797, y: 12797 }, + { x: 12798, y: 12798 }, + { x: 12799, y: 12799 }, + { x: 12800, y: 12800 }, + { x: 12801, y: 12801 }, + { x: 12802, y: 12802 }, + { x: 12803, y: 12803 }, + { x: 12804, y: 12804 }, + { x: 12805, y: 12805 }, + { x: 12806, y: 12806 }, + { x: 12807, y: 12807 }, + { x: 12808, y: 12808 }, + { x: 12809, y: 12809 }, + { x: 12810, y: 12810 }, + { x: 12811, y: 12811 }, + { x: 12812, y: 12812 }, + { x: 12813, y: 12813 }, + { x: 12814, y: 12814 }, + { x: 12815, y: 12815 }, + { x: 12816, y: 12816 }, + { x: 12817, y: 12817 }, + { x: 12818, y: 12818 }, + { x: 12819, y: 12819 }, + { x: 12820, y: 12820 }, + { x: 12821, y: 12821 }, + { x: 12822, y: 12822 }, + { x: 12823, y: 12823 }, + { x: 12824, y: 12824 }, + { x: 12825, y: 12825 }, + { x: 12826, y: 12826 }, + { x: 12827, y: 12827 }, + { x: 12828, y: 12828 }, + { x: 12829, y: 12829 }, + { x: 12830, y: 12830 }, + { x: 12831, y: 12831 }, + { x: 12832, y: 12832 }, + { x: 12833, y: 12833 }, + { x: 12834, y: 12834 }, + { x: 12835, y: 12835 }, + { x: 12836, y: 12836 }, + { x: 12837, y: 12837 }, + { x: 12838, y: 12838 }, + { x: 12839, y: 12839 }, + { x: 12840, y: 12840 }, + { x: 12841, y: 12841 }, + { x: 12842, y: 12842 }, + { x: 12843, y: 12843 }, + { x: 12844, y: 12844 }, + { x: 12845, y: 12845 }, + { x: 12846, y: 12846 }, + { x: 12847, y: 12847 }, + { x: 12848, y: 12848 }, + { x: 12849, y: 12849 }, + { x: 12850, y: 12850 }, + { x: 12851, y: 12851 }, + { x: 12852, y: 12852 }, + { x: 12853, y: 12853 }, + { x: 12854, y: 12854 }, + { x: 12855, y: 12855 }, + { x: 12856, y: 12856 }, + { x: 12857, y: 12857 }, + { x: 12858, y: 12858 }, + { x: 12859, y: 12859 }, + { x: 12860, y: 12860 }, + { x: 12861, y: 12861 }, + { x: 12862, y: 12862 }, + { x: 12863, y: 12863 }, + { x: 12864, y: 12864 }, + { x: 12865, y: 12865 }, + { x: 12866, y: 12866 }, + { x: 12867, y: 12867 }, + { x: 12868, y: 12868 }, + { x: 12869, y: 12869 }, + { x: 12870, y: 12870 }, + { x: 12871, y: 12871 }, + { x: 12872, y: 12872 }, + { x: 12873, y: 12873 }, + { x: 12874, y: 12874 }, + { x: 12875, y: 12875 }, + { x: 12876, y: 12876 }, + { x: 12877, y: 12877 }, + { x: 12878, y: 12878 }, + { x: 12879, y: 12879 }, + { x: 12880, y: 12880 }, + { x: 12881, y: 12881 }, + { x: 12882, y: 12882 }, + { x: 12883, y: 12883 }, + { x: 12884, y: 12884 }, + { x: 12885, y: 12885 }, + { x: 12886, y: 12886 }, + { x: 12887, y: 12887 }, + { x: 12888, y: 12888 }, + { x: 12889, y: 12889 }, + { x: 12890, y: 12890 }, + { x: 12891, y: 12891 }, + { x: 12892, y: 12892 }, + { x: 12893, y: 12893 }, + { x: 12894, y: 12894 }, + { x: 12895, y: 12895 }, + { x: 12896, y: 12896 }, + { x: 12897, y: 12897 }, + { x: 12898, y: 12898 }, + { x: 12899, y: 12899 }, + { x: 12900, y: 12900 }, + { x: 12901, y: 12901 }, + { x: 12902, y: 12902 }, + { x: 12903, y: 12903 }, + { x: 12904, y: 12904 }, + { x: 12905, y: 12905 }, + { x: 12906, y: 12906 }, + { x: 12907, y: 12907 }, + { x: 12908, y: 12908 }, + { x: 12909, y: 12909 }, + { x: 12910, y: 12910 }, + { x: 12911, y: 12911 }, + { x: 12912, y: 12912 }, + { x: 12913, y: 12913 }, + { x: 12914, y: 12914 }, + { x: 12915, y: 12915 }, + { x: 12916, y: 12916 }, + { x: 12917, y: 12917 }, + { x: 12918, y: 12918 }, + { x: 12919, y: 12919 }, + { x: 12920, y: 12920 }, + { x: 12921, y: 12921 }, + { x: 12922, y: 12922 }, + { x: 12923, y: 12923 }, + { x: 12924, y: 12924 }, + { x: 12925, y: 12925 }, + { x: 12926, y: 12926 }, + { x: 12927, y: 12927 }, + { x: 12928, y: 12928 }, + { x: 12929, y: 12929 }, + { x: 12930, y: 12930 }, + { x: 12931, y: 12931 }, + { x: 12932, y: 12932 }, + { x: 12933, y: 12933 }, + { x: 12934, y: 12934 }, + { x: 12935, y: 12935 }, + { x: 12936, y: 12936 }, + { x: 12937, y: 12937 }, + { x: 12938, y: 12938 }, + { x: 12939, y: 12939 }, + { x: 12940, y: 12940 }, + { x: 12941, y: 12941 }, + { x: 12942, y: 12942 }, + { x: 12943, y: 12943 }, + { x: 12944, y: 12944 }, + { x: 12945, y: 12945 }, + { x: 12946, y: 12946 }, + { x: 12947, y: 12947 }, + { x: 12948, y: 12948 }, + { x: 12949, y: 12949 }, + { x: 12950, y: 12950 }, + { x: 12951, y: 12951 }, + { x: 12952, y: 12952 }, + { x: 12953, y: 12953 }, + { x: 12954, y: 12954 }, + { x: 12955, y: 12955 }, + { x: 12956, y: 12956 }, + { x: 12957, y: 12957 }, + { x: 12958, y: 12958 }, + { x: 12959, y: 12959 }, + { x: 12960, y: 12960 }, + { x: 12961, y: 12961 }, + { x: 12962, y: 12962 }, + { x: 12963, y: 12963 }, + { x: 12964, y: 12964 }, + { x: 12965, y: 12965 }, + { x: 12966, y: 12966 }, + { x: 12967, y: 12967 }, + { x: 12968, y: 12968 }, + { x: 12969, y: 12969 }, + { x: 12970, y: 12970 }, + { x: 12971, y: 12971 }, + { x: 12972, y: 12972 }, + { x: 12973, y: 12973 }, + { x: 12974, y: 12974 }, + { x: 12975, y: 12975 }, + { x: 12976, y: 12976 }, + { x: 12977, y: 12977 }, + { x: 12978, y: 12978 }, + { x: 12979, y: 12979 }, + { x: 12980, y: 12980 }, + { x: 12981, y: 12981 }, + { x: 12982, y: 12982 }, + { x: 12983, y: 12983 }, + { x: 12984, y: 12984 }, + { x: 12985, y: 12985 }, + { x: 12986, y: 12986 }, + { x: 12987, y: 12987 }, + { x: 12988, y: 12988 }, + { x: 12989, y: 12989 }, + { x: 12990, y: 12990 }, + { x: 12991, y: 12991 }, + { x: 12992, y: 12992 }, + { x: 12993, y: 12993 }, + { x: 12994, y: 12994 }, + { x: 12995, y: 12995 }, + { x: 12996, y: 12996 }, + { x: 12997, y: 12997 }, + { x: 12998, y: 12998 }, + { x: 12999, y: 12999 }, + { x: 13000, y: 13000 }, + { x: 13001, y: 13001 }, + { x: 13002, y: 13002 }, + { x: 13003, y: 13003 }, + { x: 13004, y: 13004 }, + { x: 13005, y: 13005 }, + { x: 13006, y: 13006 }, + { x: 13007, y: 13007 }, + { x: 13008, y: 13008 }, + { x: 13009, y: 13009 }, + { x: 13010, y: 13010 }, + { x: 13011, y: 13011 }, + { x: 13012, y: 13012 }, + { x: 13013, y: 13013 }, + { x: 13014, y: 13014 }, + { x: 13015, y: 13015 }, + { x: 13016, y: 13016 }, + { x: 13017, y: 13017 }, + { x: 13018, y: 13018 }, + { x: 13019, y: 13019 }, + { x: 13020, y: 13020 }, + { x: 13021, y: 13021 }, + { x: 13022, y: 13022 }, + { x: 13023, y: 13023 }, + { x: 13024, y: 13024 }, + { x: 13025, y: 13025 }, + { x: 13026, y: 13026 }, + { x: 13027, y: 13027 }, + { x: 13028, y: 13028 }, + { x: 13029, y: 13029 }, + { x: 13030, y: 13030 }, + { x: 13031, y: 13031 }, + { x: 13032, y: 13032 }, + { x: 13033, y: 13033 }, + { x: 13034, y: 13034 }, + { x: 13035, y: 13035 }, + { x: 13036, y: 13036 }, + { x: 13037, y: 13037 }, + { x: 13038, y: 13038 }, + { x: 13039, y: 13039 }, + { x: 13040, y: 13040 }, + { x: 13041, y: 13041 }, + { x: 13042, y: 13042 }, + { x: 13043, y: 13043 }, + { x: 13044, y: 13044 }, + { x: 13045, y: 13045 }, + { x: 13046, y: 13046 }, + { x: 13047, y: 13047 }, + { x: 13048, y: 13048 }, + { x: 13049, y: 13049 }, + { x: 13050, y: 13050 }, + { x: 13051, y: 13051 }, + { x: 13052, y: 13052 }, + { x: 13053, y: 13053 }, + { x: 13054, y: 13054 }, + { x: 13055, y: 13055 }, + { x: 13056, y: 13056 }, + { x: 13057, y: 13057 }, + { x: 13058, y: 13058 }, + { x: 13059, y: 13059 }, + { x: 13060, y: 13060 }, + { x: 13061, y: 13061 }, + { x: 13062, y: 13062 }, + { x: 13063, y: 13063 }, + { x: 13064, y: 13064 }, + { x: 13065, y: 13065 }, + { x: 13066, y: 13066 }, + { x: 13067, y: 13067 }, + { x: 13068, y: 13068 }, + { x: 13069, y: 13069 }, + { x: 13070, y: 13070 }, + { x: 13071, y: 13071 }, + { x: 13072, y: 13072 }, + { x: 13073, y: 13073 }, + { x: 13074, y: 13074 }, + { x: 13075, y: 13075 }, + { x: 13076, y: 13076 }, + { x: 13077, y: 13077 }, + { x: 13078, y: 13078 }, + { x: 13079, y: 13079 }, + { x: 13080, y: 13080 }, + { x: 13081, y: 13081 }, + { x: 13082, y: 13082 }, + { x: 13083, y: 13083 }, + { x: 13084, y: 13084 }, + { x: 13085, y: 13085 }, + { x: 13086, y: 13086 }, + { x: 13087, y: 13087 }, + { x: 13088, y: 13088 }, + { x: 13089, y: 13089 }, + { x: 13090, y: 13090 }, + { x: 13091, y: 13091 }, + { x: 13092, y: 13092 }, + { x: 13093, y: 13093 }, + { x: 13094, y: 13094 }, + { x: 13095, y: 13095 }, + { x: 13096, y: 13096 }, + { x: 13097, y: 13097 }, + { x: 13098, y: 13098 }, + { x: 13099, y: 13099 }, + { x: 13100, y: 13100 }, + { x: 13101, y: 13101 }, + { x: 13102, y: 13102 }, + { x: 13103, y: 13103 }, + { x: 13104, y: 13104 }, + { x: 13105, y: 13105 }, + { x: 13106, y: 13106 }, + { x: 13107, y: 13107 }, + { x: 13108, y: 13108 }, + { x: 13109, y: 13109 }, + { x: 13110, y: 13110 }, + { x: 13111, y: 13111 }, + { x: 13112, y: 13112 }, + { x: 13113, y: 13113 }, + { x: 13114, y: 13114 }, + { x: 13115, y: 13115 }, + { x: 13116, y: 13116 }, + { x: 13117, y: 13117 }, + { x: 13118, y: 13118 }, + { x: 13119, y: 13119 }, + { x: 13120, y: 13120 }, + { x: 13121, y: 13121 }, + { x: 13122, y: 13122 }, + { x: 13123, y: 13123 }, + { x: 13124, y: 13124 }, + { x: 13125, y: 13125 }, + { x: 13126, y: 13126 }, + { x: 13127, y: 13127 }, + { x: 13128, y: 13128 }, + { x: 13129, y: 13129 }, + { x: 13130, y: 13130 }, + { x: 13131, y: 13131 }, + { x: 13132, y: 13132 }, + { x: 13133, y: 13133 }, + { x: 13134, y: 13134 }, + { x: 13135, y: 13135 }, + { x: 13136, y: 13136 }, + { x: 13137, y: 13137 }, + { x: 13138, y: 13138 }, + { x: 13139, y: 13139 }, + { x: 13140, y: 13140 }, + { x: 13141, y: 13141 }, + { x: 13142, y: 13142 }, + { x: 13143, y: 13143 }, + { x: 13144, y: 13144 }, + { x: 13145, y: 13145 }, + { x: 13146, y: 13146 }, + { x: 13147, y: 13147 }, + { x: 13148, y: 13148 }, + { x: 13149, y: 13149 }, + { x: 13150, y: 13150 }, + { x: 13151, y: 13151 }, + { x: 13152, y: 13152 }, + { x: 13153, y: 13153 }, + { x: 13154, y: 13154 }, + { x: 13155, y: 13155 }, + { x: 13156, y: 13156 }, + { x: 13157, y: 13157 }, + { x: 13158, y: 13158 }, + { x: 13159, y: 13159 }, + { x: 13160, y: 13160 }, + { x: 13161, y: 13161 }, + { x: 13162, y: 13162 }, + { x: 13163, y: 13163 }, + { x: 13164, y: 13164 }, + { x: 13165, y: 13165 }, + { x: 13166, y: 13166 }, + { x: 13167, y: 13167 }, + { x: 13168, y: 13168 }, + { x: 13169, y: 13169 }, + { x: 13170, y: 13170 }, + { x: 13171, y: 13171 }, + { x: 13172, y: 13172 }, + { x: 13173, y: 13173 }, + { x: 13174, y: 13174 }, + { x: 13175, y: 13175 }, + { x: 13176, y: 13176 }, + { x: 13177, y: 13177 }, + { x: 13178, y: 13178 }, + { x: 13179, y: 13179 }, + { x: 13180, y: 13180 }, + { x: 13181, y: 13181 }, + { x: 13182, y: 13182 }, + { x: 13183, y: 13183 }, + { x: 13184, y: 13184 }, + { x: 13185, y: 13185 }, + { x: 13186, y: 13186 }, + { x: 13187, y: 13187 }, + { x: 13188, y: 13188 }, + { x: 13189, y: 13189 }, + { x: 13190, y: 13190 }, + { x: 13191, y: 13191 }, + { x: 13192, y: 13192 }, + { x: 13193, y: 13193 }, + { x: 13194, y: 13194 }, + { x: 13195, y: 13195 }, + { x: 13196, y: 13196 }, + { x: 13197, y: 13197 }, + { x: 13198, y: 13198 }, + { x: 13199, y: 13199 }, + { x: 13200, y: 13200 }, + { x: 13201, y: 13201 }, + { x: 13202, y: 13202 }, + { x: 13203, y: 13203 }, + { x: 13204, y: 13204 }, + { x: 13205, y: 13205 }, + { x: 13206, y: 13206 }, + { x: 13207, y: 13207 }, + { x: 13208, y: 13208 }, + { x: 13209, y: 13209 }, + { x: 13210, y: 13210 }, + { x: 13211, y: 13211 }, + { x: 13212, y: 13212 }, + { x: 13213, y: 13213 }, + { x: 13214, y: 13214 }, + { x: 13215, y: 13215 }, + { x: 13216, y: 13216 }, + { x: 13217, y: 13217 }, + { x: 13218, y: 13218 }, + { x: 13219, y: 13219 }, + { x: 13220, y: 13220 }, + { x: 13221, y: 13221 }, + { x: 13222, y: 13222 }, + { x: 13223, y: 13223 }, + { x: 13224, y: 13224 }, + { x: 13225, y: 13225 }, + { x: 13226, y: 13226 }, + { x: 13227, y: 13227 }, + { x: 13228, y: 13228 }, + { x: 13229, y: 13229 }, + { x: 13230, y: 13230 }, + { x: 13231, y: 13231 }, + { x: 13232, y: 13232 }, + { x: 13233, y: 13233 }, + { x: 13234, y: 13234 }, + { x: 13235, y: 13235 }, + { x: 13236, y: 13236 }, + { x: 13237, y: 13237 }, + { x: 13238, y: 13238 }, + { x: 13239, y: 13239 }, + { x: 13240, y: 13240 }, + { x: 13241, y: 13241 }, + { x: 13242, y: 13242 }, + { x: 13243, y: 13243 }, + { x: 13244, y: 13244 }, + { x: 13245, y: 13245 }, + { x: 13246, y: 13246 }, + { x: 13247, y: 13247 }, + { x: 13248, y: 13248 }, + { x: 13249, y: 13249 }, + { x: 13250, y: 13250 }, + { x: 13251, y: 13251 }, + { x: 13252, y: 13252 }, + { x: 13253, y: 13253 }, + { x: 13254, y: 13254 }, + { x: 13255, y: 13255 }, + { x: 13256, y: 13256 }, + { x: 13257, y: 13257 }, + { x: 13258, y: 13258 }, + { x: 13259, y: 13259 }, + { x: 13260, y: 13260 }, + { x: 13261, y: 13261 }, + { x: 13262, y: 13262 }, + { x: 13263, y: 13263 }, + { x: 13264, y: 13264 }, + { x: 13265, y: 13265 }, + { x: 13266, y: 13266 }, + { x: 13267, y: 13267 }, + { x: 13268, y: 13268 }, + { x: 13269, y: 13269 }, + { x: 13270, y: 13270 }, + { x: 13271, y: 13271 }, + { x: 13272, y: 13272 }, + { x: 13273, y: 13273 }, + { x: 13274, y: 13274 }, + { x: 13275, y: 13275 }, + { x: 13276, y: 13276 }, + { x: 13277, y: 13277 }, + { x: 13278, y: 13278 }, + { x: 13279, y: 13279 }, + { x: 13280, y: 13280 }, + { x: 13281, y: 13281 }, + { x: 13282, y: 13282 }, + { x: 13283, y: 13283 }, + { x: 13284, y: 13284 }, + { x: 13285, y: 13285 }, + { x: 13286, y: 13286 }, + { x: 13287, y: 13287 }, + { x: 13288, y: 13288 }, + { x: 13289, y: 13289 }, + { x: 13290, y: 13290 }, + { x: 13291, y: 13291 }, + { x: 13292, y: 13292 }, + { x: 13293, y: 13293 }, + { x: 13294, y: 13294 }, + { x: 13295, y: 13295 }, + { x: 13296, y: 13296 }, + { x: 13297, y: 13297 }, + { x: 13298, y: 13298 }, + { x: 13299, y: 13299 }, + { x: 13300, y: 13300 }, + { x: 13301, y: 13301 }, + { x: 13302, y: 13302 }, + { x: 13303, y: 13303 }, + { x: 13304, y: 13304 }, + { x: 13305, y: 13305 }, + { x: 13306, y: 13306 }, + { x: 13307, y: 13307 }, + { x: 13308, y: 13308 }, + { x: 13309, y: 13309 }, + { x: 13310, y: 13310 }, + { x: 13311, y: 13311 }, + { x: 13312, y: 13312 }, + { x: 13313, y: 13313 }, + { x: 13314, y: 13314 }, + { x: 13315, y: 13315 }, + { x: 13316, y: 13316 }, + { x: 13317, y: 13317 }, + { x: 13318, y: 13318 }, + { x: 13319, y: 13319 }, + { x: 13320, y: 13320 }, + { x: 13321, y: 13321 }, + { x: 13322, y: 13322 }, + { x: 13323, y: 13323 }, + { x: 13324, y: 13324 }, + { x: 13325, y: 13325 }, + { x: 13326, y: 13326 }, + { x: 13327, y: 13327 }, + { x: 13328, y: 13328 }, + { x: 13329, y: 13329 }, + { x: 13330, y: 13330 }, + { x: 13331, y: 13331 }, + { x: 13332, y: 13332 }, + { x: 13333, y: 13333 }, + { x: 13334, y: 13334 }, + { x: 13335, y: 13335 }, + { x: 13336, y: 13336 }, + { x: 13337, y: 13337 }, + { x: 13338, y: 13338 }, + { x: 13339, y: 13339 }, + { x: 13340, y: 13340 }, + { x: 13341, y: 13341 }, + { x: 13342, y: 13342 }, + { x: 13343, y: 13343 }, + { x: 13344, y: 13344 }, + { x: 13345, y: 13345 }, + { x: 13346, y: 13346 }, + { x: 13347, y: 13347 }, + { x: 13348, y: 13348 }, + { x: 13349, y: 13349 }, + { x: 13350, y: 13350 }, + { x: 13351, y: 13351 }, + { x: 13352, y: 13352 }, + { x: 13353, y: 13353 }, + { x: 13354, y: 13354 }, + { x: 13355, y: 13355 }, + { x: 13356, y: 13356 }, + { x: 13357, y: 13357 }, + { x: 13358, y: 13358 }, + { x: 13359, y: 13359 }, + { x: 13360, y: 13360 }, + { x: 13361, y: 13361 }, + { x: 13362, y: 13362 }, + { x: 13363, y: 13363 }, + { x: 13364, y: 13364 }, + { x: 13365, y: 13365 }, + { x: 13366, y: 13366 }, + { x: 13367, y: 13367 }, + { x: 13368, y: 13368 }, + { x: 13369, y: 13369 }, + { x: 13370, y: 13370 }, + { x: 13371, y: 13371 }, + { x: 13372, y: 13372 }, + { x: 13373, y: 13373 }, + { x: 13374, y: 13374 }, + { x: 13375, y: 13375 }, + { x: 13376, y: 13376 }, + { x: 13377, y: 13377 }, + { x: 13378, y: 13378 }, + { x: 13379, y: 13379 }, + { x: 13380, y: 13380 }, + { x: 13381, y: 13381 }, + { x: 13382, y: 13382 }, + { x: 13383, y: 13383 }, + { x: 13384, y: 13384 }, + { x: 13385, y: 13385 }, + { x: 13386, y: 13386 }, + { x: 13387, y: 13387 }, + { x: 13388, y: 13388 }, + { x: 13389, y: 13389 }, + { x: 13390, y: 13390 }, + { x: 13391, y: 13391 }, + { x: 13392, y: 13392 }, + { x: 13393, y: 13393 }, + { x: 13394, y: 13394 }, + { x: 13395, y: 13395 }, + { x: 13396, y: 13396 }, + { x: 13397, y: 13397 }, + { x: 13398, y: 13398 }, + { x: 13399, y: 13399 }, + { x: 13400, y: 13400 }, + { x: 13401, y: 13401 }, + { x: 13402, y: 13402 }, + { x: 13403, y: 13403 }, + { x: 13404, y: 13404 }, + { x: 13405, y: 13405 }, + { x: 13406, y: 13406 }, + { x: 13407, y: 13407 }, + { x: 13408, y: 13408 }, + { x: 13409, y: 13409 }, + { x: 13410, y: 13410 }, + { x: 13411, y: 13411 }, + { x: 13412, y: 13412 }, + { x: 13413, y: 13413 }, + { x: 13414, y: 13414 }, + { x: 13415, y: 13415 }, + { x: 13416, y: 13416 }, + { x: 13417, y: 13417 }, + { x: 13418, y: 13418 }, + { x: 13419, y: 13419 }, + { x: 13420, y: 13420 }, + { x: 13421, y: 13421 }, + { x: 13422, y: 13422 }, + { x: 13423, y: 13423 }, + { x: 13424, y: 13424 }, + { x: 13425, y: 13425 }, + { x: 13426, y: 13426 }, + { x: 13427, y: 13427 }, + { x: 13428, y: 13428 }, + { x: 13429, y: 13429 }, + { x: 13430, y: 13430 }, + { x: 13431, y: 13431 }, + { x: 13432, y: 13432 }, + { x: 13433, y: 13433 }, + { x: 13434, y: 13434 }, + { x: 13435, y: 13435 }, + { x: 13436, y: 13436 }, + { x: 13437, y: 13437 }, + { x: 13438, y: 13438 }, + { x: 13439, y: 13439 }, + { x: 13440, y: 13440 }, + { x: 13441, y: 13441 }, + { x: 13442, y: 13442 }, + { x: 13443, y: 13443 }, + { x: 13444, y: 13444 }, + { x: 13445, y: 13445 }, + { x: 13446, y: 13446 }, + { x: 13447, y: 13447 }, + { x: 13448, y: 13448 }, + { x: 13449, y: 13449 }, + { x: 13450, y: 13450 }, + { x: 13451, y: 13451 }, + { x: 13452, y: 13452 }, + { x: 13453, y: 13453 }, + { x: 13454, y: 13454 }, + { x: 13455, y: 13455 }, + { x: 13456, y: 13456 }, + { x: 13457, y: 13457 }, + { x: 13458, y: 13458 }, + { x: 13459, y: 13459 }, + { x: 13460, y: 13460 }, + { x: 13461, y: 13461 }, + { x: 13462, y: 13462 }, + { x: 13463, y: 13463 }, + { x: 13464, y: 13464 }, + { x: 13465, y: 13465 }, + { x: 13466, y: 13466 }, + { x: 13467, y: 13467 }, + { x: 13468, y: 13468 }, + { x: 13469, y: 13469 }, + { x: 13470, y: 13470 }, + { x: 13471, y: 13471 }, + { x: 13472, y: 13472 }, + { x: 13473, y: 13473 }, + { x: 13474, y: 13474 }, + { x: 13475, y: 13475 }, + { x: 13476, y: 13476 }, + { x: 13477, y: 13477 }, + { x: 13478, y: 13478 }, + { x: 13479, y: 13479 }, + { x: 13480, y: 13480 }, + { x: 13481, y: 13481 }, + { x: 13482, y: 13482 }, + { x: 13483, y: 13483 }, + { x: 13484, y: 13484 }, + { x: 13485, y: 13485 }, + { x: 13486, y: 13486 }, + { x: 13487, y: 13487 }, + { x: 13488, y: 13488 }, + { x: 13489, y: 13489 }, + { x: 13490, y: 13490 }, + { x: 13491, y: 13491 }, + { x: 13492, y: 13492 }, + { x: 13493, y: 13493 }, + { x: 13494, y: 13494 }, + { x: 13495, y: 13495 }, + { x: 13496, y: 13496 }, + { x: 13497, y: 13497 }, + { x: 13498, y: 13498 }, + { x: 13499, y: 13499 }, + { x: 13500, y: 13500 }, + { x: 13501, y: 13501 }, + { x: 13502, y: 13502 }, + { x: 13503, y: 13503 }, + { x: 13504, y: 13504 }, + { x: 13505, y: 13505 }, + { x: 13506, y: 13506 }, + { x: 13507, y: 13507 }, + { x: 13508, y: 13508 }, + { x: 13509, y: 13509 }, + { x: 13510, y: 13510 }, + { x: 13511, y: 13511 }, + { x: 13512, y: 13512 }, + { x: 13513, y: 13513 }, + { x: 13514, y: 13514 }, + { x: 13515, y: 13515 }, + { x: 13516, y: 13516 }, + { x: 13517, y: 13517 }, + { x: 13518, y: 13518 }, + { x: 13519, y: 13519 }, + { x: 13520, y: 13520 }, + { x: 13521, y: 13521 }, + { x: 13522, y: 13522 }, + { x: 13523, y: 13523 }, + { x: 13524, y: 13524 }, + { x: 13525, y: 13525 }, + { x: 13526, y: 13526 }, + { x: 13527, y: 13527 }, + { x: 13528, y: 13528 }, + { x: 13529, y: 13529 }, + { x: 13530, y: 13530 }, + { x: 13531, y: 13531 }, + { x: 13532, y: 13532 }, + { x: 13533, y: 13533 }, + { x: 13534, y: 13534 }, + { x: 13535, y: 13535 }, + { x: 13536, y: 13536 }, + { x: 13537, y: 13537 }, + { x: 13538, y: 13538 }, + { x: 13539, y: 13539 }, + { x: 13540, y: 13540 }, + { x: 13541, y: 13541 }, + { x: 13542, y: 13542 }, + { x: 13543, y: 13543 }, + { x: 13544, y: 13544 }, + { x: 13545, y: 13545 }, + { x: 13546, y: 13546 }, + { x: 13547, y: 13547 }, + { x: 13548, y: 13548 }, + { x: 13549, y: 13549 }, + { x: 13550, y: 13550 }, + { x: 13551, y: 13551 }, + { x: 13552, y: 13552 }, + { x: 13553, y: 13553 }, + { x: 13554, y: 13554 }, + { x: 13555, y: 13555 }, + { x: 13556, y: 13556 }, + { x: 13557, y: 13557 }, + { x: 13558, y: 13558 }, + { x: 13559, y: 13559 }, + { x: 13560, y: 13560 }, + { x: 13561, y: 13561 }, + { x: 13562, y: 13562 }, + { x: 13563, y: 13563 }, + { x: 13564, y: 13564 }, + { x: 13565, y: 13565 }, + { x: 13566, y: 13566 }, + { x: 13567, y: 13567 }, + { x: 13568, y: 13568 }, + { x: 13569, y: 13569 }, + { x: 13570, y: 13570 }, + { x: 13571, y: 13571 }, + { x: 13572, y: 13572 }, + { x: 13573, y: 13573 }, + { x: 13574, y: 13574 }, + { x: 13575, y: 13575 }, + { x: 13576, y: 13576 }, + { x: 13577, y: 13577 }, + { x: 13578, y: 13578 }, + { x: 13579, y: 13579 }, + { x: 13580, y: 13580 }, + { x: 13581, y: 13581 }, + { x: 13582, y: 13582 }, + { x: 13583, y: 13583 }, + { x: 13584, y: 13584 }, + { x: 13585, y: 13585 }, + { x: 13586, y: 13586 }, + { x: 13587, y: 13587 }, + { x: 13588, y: 13588 }, + { x: 13589, y: 13589 }, + { x: 13590, y: 13590 }, + { x: 13591, y: 13591 }, + { x: 13592, y: 13592 }, + { x: 13593, y: 13593 }, + { x: 13594, y: 13594 }, + { x: 13595, y: 13595 }, + { x: 13596, y: 13596 }, + { x: 13597, y: 13597 }, + { x: 13598, y: 13598 }, + { x: 13599, y: 13599 }, + { x: 13600, y: 13600 }, + { x: 13601, y: 13601 }, + { x: 13602, y: 13602 }, + { x: 13603, y: 13603 }, + { x: 13604, y: 13604 }, + { x: 13605, y: 13605 }, + { x: 13606, y: 13606 }, + { x: 13607, y: 13607 }, + { x: 13608, y: 13608 }, + { x: 13609, y: 13609 }, + { x: 13610, y: 13610 }, + { x: 13611, y: 13611 }, + { x: 13612, y: 13612 }, + { x: 13613, y: 13613 }, + { x: 13614, y: 13614 }, + { x: 13615, y: 13615 }, + { x: 13616, y: 13616 }, + { x: 13617, y: 13617 }, + { x: 13618, y: 13618 }, + { x: 13619, y: 13619 }, + { x: 13620, y: 13620 }, + { x: 13621, y: 13621 }, + { x: 13622, y: 13622 }, + { x: 13623, y: 13623 }, + { x: 13624, y: 13624 }, + { x: 13625, y: 13625 }, + { x: 13626, y: 13626 }, + { x: 13627, y: 13627 }, + { x: 13628, y: 13628 }, + { x: 13629, y: 13629 }, + { x: 13630, y: 13630 }, + { x: 13631, y: 13631 }, + { x: 13632, y: 13632 }, + { x: 13633, y: 13633 }, + { x: 13634, y: 13634 }, + { x: 13635, y: 13635 }, + { x: 13636, y: 13636 }, + { x: 13637, y: 13637 }, + { x: 13638, y: 13638 }, + { x: 13639, y: 13639 }, + { x: 13640, y: 13640 }, + { x: 13641, y: 13641 }, + { x: 13642, y: 13642 }, + { x: 13643, y: 13643 }, + { x: 13644, y: 13644 }, + { x: 13645, y: 13645 }, + { x: 13646, y: 13646 }, + { x: 13647, y: 13647 }, + { x: 13648, y: 13648 }, + { x: 13649, y: 13649 }, + { x: 13650, y: 13650 }, + { x: 13651, y: 13651 }, + { x: 13652, y: 13652 }, + { x: 13653, y: 13653 }, + { x: 13654, y: 13654 }, + { x: 13655, y: 13655 }, + { x: 13656, y: 13656 }, + { x: 13657, y: 13657 }, + { x: 13658, y: 13658 }, + { x: 13659, y: 13659 }, + { x: 13660, y: 13660 }, + { x: 13661, y: 13661 }, + { x: 13662, y: 13662 }, + { x: 13663, y: 13663 }, + { x: 13664, y: 13664 }, + { x: 13665, y: 13665 }, + { x: 13666, y: 13666 }, + { x: 13667, y: 13667 }, + { x: 13668, y: 13668 }, + { x: 13669, y: 13669 }, + { x: 13670, y: 13670 }, + { x: 13671, y: 13671 }, + { x: 13672, y: 13672 }, + { x: 13673, y: 13673 }, + { x: 13674, y: 13674 }, + { x: 13675, y: 13675 }, + { x: 13676, y: 13676 }, + { x: 13677, y: 13677 }, + { x: 13678, y: 13678 }, + { x: 13679, y: 13679 }, + { x: 13680, y: 13680 }, + { x: 13681, y: 13681 }, + { x: 13682, y: 13682 }, + { x: 13683, y: 13683 }, + { x: 13684, y: 13684 }, + { x: 13685, y: 13685 }, + { x: 13686, y: 13686 }, + { x: 13687, y: 13687 }, + { x: 13688, y: 13688 }, + { x: 13689, y: 13689 }, + { x: 13690, y: 13690 }, + { x: 13691, y: 13691 }, + { x: 13692, y: 13692 }, + { x: 13693, y: 13693 }, + { x: 13694, y: 13694 }, + { x: 13695, y: 13695 }, + { x: 13696, y: 13696 }, + { x: 13697, y: 13697 }, + { x: 13698, y: 13698 }, + { x: 13699, y: 13699 }, + { x: 13700, y: 13700 }, + { x: 13701, y: 13701 }, + { x: 13702, y: 13702 }, + { x: 13703, y: 13703 }, + { x: 13704, y: 13704 }, + { x: 13705, y: 13705 }, + { x: 13706, y: 13706 }, + { x: 13707, y: 13707 }, + { x: 13708, y: 13708 }, + { x: 13709, y: 13709 }, + { x: 13710, y: 13710 }, + { x: 13711, y: 13711 }, + { x: 13712, y: 13712 }, + { x: 13713, y: 13713 }, + { x: 13714, y: 13714 }, + { x: 13715, y: 13715 }, + { x: 13716, y: 13716 }, + { x: 13717, y: 13717 }, + { x: 13718, y: 13718 }, + { x: 13719, y: 13719 }, + { x: 13720, y: 13720 }, + { x: 13721, y: 13721 }, + { x: 13722, y: 13722 }, + { x: 13723, y: 13723 }, + { x: 13724, y: 13724 }, + { x: 13725, y: 13725 }, + { x: 13726, y: 13726 }, + { x: 13727, y: 13727 }, + { x: 13728, y: 13728 }, + { x: 13729, y: 13729 }, + { x: 13730, y: 13730 }, + { x: 13731, y: 13731 }, + { x: 13732, y: 13732 }, + { x: 13733, y: 13733 }, + { x: 13734, y: 13734 }, + { x: 13735, y: 13735 }, + { x: 13736, y: 13736 }, + { x: 13737, y: 13737 }, + { x: 13738, y: 13738 }, + { x: 13739, y: 13739 }, + { x: 13740, y: 13740 }, + { x: 13741, y: 13741 }, + { x: 13742, y: 13742 }, + { x: 13743, y: 13743 }, + { x: 13744, y: 13744 }, + { x: 13745, y: 13745 }, + { x: 13746, y: 13746 }, + { x: 13747, y: 13747 }, + { x: 13748, y: 13748 }, + { x: 13749, y: 13749 }, + { x: 13750, y: 13750 }, + { x: 13751, y: 13751 }, + { x: 13752, y: 13752 }, + { x: 13753, y: 13753 }, + { x: 13754, y: 13754 }, + { x: 13755, y: 13755 }, + { x: 13756, y: 13756 }, + { x: 13757, y: 13757 }, + { x: 13758, y: 13758 }, + { x: 13759, y: 13759 }, + { x: 13760, y: 13760 }, + { x: 13761, y: 13761 }, + { x: 13762, y: 13762 }, + { x: 13763, y: 13763 }, + { x: 13764, y: 13764 }, + { x: 13765, y: 13765 }, + { x: 13766, y: 13766 }, + { x: 13767, y: 13767 }, + { x: 13768, y: 13768 }, + { x: 13769, y: 13769 }, + { x: 13770, y: 13770 }, + { x: 13771, y: 13771 }, + { x: 13772, y: 13772 }, + { x: 13773, y: 13773 }, + { x: 13774, y: 13774 }, + { x: 13775, y: 13775 }, + { x: 13776, y: 13776 }, + { x: 13777, y: 13777 }, + { x: 13778, y: 13778 }, + { x: 13779, y: 13779 }, + { x: 13780, y: 13780 }, + { x: 13781, y: 13781 }, + { x: 13782, y: 13782 }, + { x: 13783, y: 13783 }, + { x: 13784, y: 13784 }, + { x: 13785, y: 13785 }, + { x: 13786, y: 13786 }, + { x: 13787, y: 13787 }, + { x: 13788, y: 13788 }, + { x: 13789, y: 13789 }, + { x: 13790, y: 13790 }, + { x: 13791, y: 13791 }, + { x: 13792, y: 13792 }, + { x: 13793, y: 13793 }, + { x: 13794, y: 13794 }, + { x: 13795, y: 13795 }, + { x: 13796, y: 13796 }, + { x: 13797, y: 13797 }, + { x: 13798, y: 13798 }, + { x: 13799, y: 13799 }, + { x: 13800, y: 13800 }, + { x: 13801, y: 13801 }, + { x: 13802, y: 13802 }, + { x: 13803, y: 13803 }, + { x: 13804, y: 13804 }, + { x: 13805, y: 13805 }, + { x: 13806, y: 13806 }, + { x: 13807, y: 13807 }, + { x: 13808, y: 13808 }, + { x: 13809, y: 13809 }, + { x: 13810, y: 13810 }, + { x: 13811, y: 13811 }, + { x: 13812, y: 13812 }, + { x: 13813, y: 13813 }, + { x: 13814, y: 13814 }, + { x: 13815, y: 13815 }, + { x: 13816, y: 13816 }, + { x: 13817, y: 13817 }, + { x: 13818, y: 13818 }, + { x: 13819, y: 13819 }, + { x: 13820, y: 13820 }, + { x: 13821, y: 13821 }, + { x: 13822, y: 13822 }, + { x: 13823, y: 13823 }, + { x: 13824, y: 13824 }, + { x: 13825, y: 13825 }, + { x: 13826, y: 13826 }, + { x: 13827, y: 13827 }, + { x: 13828, y: 13828 }, + { x: 13829, y: 13829 }, + { x: 13830, y: 13830 }, + { x: 13831, y: 13831 }, + { x: 13832, y: 13832 }, + { x: 13833, y: 13833 }, + { x: 13834, y: 13834 }, + { x: 13835, y: 13835 }, + { x: 13836, y: 13836 }, + { x: 13837, y: 13837 }, + { x: 13838, y: 13838 }, + { x: 13839, y: 13839 }, + { x: 13840, y: 13840 }, + { x: 13841, y: 13841 }, + { x: 13842, y: 13842 }, + { x: 13843, y: 13843 }, + { x: 13844, y: 13844 }, + { x: 13845, y: 13845 }, + { x: 13846, y: 13846 }, + { x: 13847, y: 13847 }, + { x: 13848, y: 13848 }, + { x: 13849, y: 13849 }, + { x: 13850, y: 13850 }, + { x: 13851, y: 13851 }, + { x: 13852, y: 13852 }, + { x: 13853, y: 13853 }, + { x: 13854, y: 13854 }, + { x: 13855, y: 13855 }, + { x: 13856, y: 13856 }, + { x: 13857, y: 13857 }, + { x: 13858, y: 13858 }, + { x: 13859, y: 13859 }, + { x: 13860, y: 13860 }, + { x: 13861, y: 13861 }, + { x: 13862, y: 13862 }, + { x: 13863, y: 13863 }, + { x: 13864, y: 13864 }, + { x: 13865, y: 13865 }, + { x: 13866, y: 13866 }, + { x: 13867, y: 13867 }, + { x: 13868, y: 13868 }, + { x: 13869, y: 13869 }, + { x: 13870, y: 13870 }, + { x: 13871, y: 13871 }, + { x: 13872, y: 13872 }, + { x: 13873, y: 13873 }, + { x: 13874, y: 13874 }, + { x: 13875, y: 13875 }, + { x: 13876, y: 13876 }, + { x: 13877, y: 13877 }, + { x: 13878, y: 13878 }, + { x: 13879, y: 13879 }, + { x: 13880, y: 13880 }, + { x: 13881, y: 13881 }, + { x: 13882, y: 13882 }, + { x: 13883, y: 13883 }, + { x: 13884, y: 13884 }, + { x: 13885, y: 13885 }, + { x: 13886, y: 13886 }, + { x: 13887, y: 13887 }, + { x: 13888, y: 13888 }, + { x: 13889, y: 13889 }, + { x: 13890, y: 13890 }, + { x: 13891, y: 13891 }, + { x: 13892, y: 13892 }, + { x: 13893, y: 13893 }, + { x: 13894, y: 13894 }, + { x: 13895, y: 13895 }, + { x: 13896, y: 13896 }, + { x: 13897, y: 13897 }, + { x: 13898, y: 13898 }, + { x: 13899, y: 13899 }, + { x: 13900, y: 13900 }, + { x: 13901, y: 13901 }, + { x: 13902, y: 13902 }, + { x: 13903, y: 13903 }, + { x: 13904, y: 13904 }, + { x: 13905, y: 13905 }, + { x: 13906, y: 13906 }, + { x: 13907, y: 13907 }, + { x: 13908, y: 13908 }, + { x: 13909, y: 13909 }, + { x: 13910, y: 13910 }, + { x: 13911, y: 13911 }, + { x: 13912, y: 13912 }, + { x: 13913, y: 13913 }, + { x: 13914, y: 13914 }, + { x: 13915, y: 13915 }, + { x: 13916, y: 13916 }, + { x: 13917, y: 13917 }, + { x: 13918, y: 13918 }, + { x: 13919, y: 13919 }, + { x: 13920, y: 13920 }, + { x: 13921, y: 13921 }, + { x: 13922, y: 13922 }, + { x: 13923, y: 13923 }, + { x: 13924, y: 13924 }, + { x: 13925, y: 13925 }, + { x: 13926, y: 13926 }, + { x: 13927, y: 13927 }, + { x: 13928, y: 13928 }, + { x: 13929, y: 13929 }, + { x: 13930, y: 13930 }, + { x: 13931, y: 13931 }, + { x: 13932, y: 13932 }, + { x: 13933, y: 13933 }, + { x: 13934, y: 13934 }, + { x: 13935, y: 13935 }, + { x: 13936, y: 13936 }, + { x: 13937, y: 13937 }, + { x: 13938, y: 13938 }, + { x: 13939, y: 13939 }, + { x: 13940, y: 13940 }, + { x: 13941, y: 13941 }, + { x: 13942, y: 13942 }, + { x: 13943, y: 13943 }, + { x: 13944, y: 13944 }, + { x: 13945, y: 13945 }, + { x: 13946, y: 13946 }, + { x: 13947, y: 13947 }, + { x: 13948, y: 13948 }, + { x: 13949, y: 13949 }, + { x: 13950, y: 13950 }, + { x: 13951, y: 13951 }, + { x: 13952, y: 13952 }, + { x: 13953, y: 13953 }, + { x: 13954, y: 13954 }, + { x: 13955, y: 13955 }, + { x: 13956, y: 13956 }, + { x: 13957, y: 13957 }, + { x: 13958, y: 13958 }, + { x: 13959, y: 13959 }, + { x: 13960, y: 13960 }, + { x: 13961, y: 13961 }, + { x: 13962, y: 13962 }, + { x: 13963, y: 13963 }, + { x: 13964, y: 13964 }, + { x: 13965, y: 13965 }, + { x: 13966, y: 13966 }, + { x: 13967, y: 13967 }, + { x: 13968, y: 13968 }, + { x: 13969, y: 13969 }, + { x: 13970, y: 13970 }, + { x: 13971, y: 13971 }, + { x: 13972, y: 13972 }, + { x: 13973, y: 13973 }, + { x: 13974, y: 13974 }, + { x: 13975, y: 13975 }, + { x: 13976, y: 13976 }, + { x: 13977, y: 13977 }, + { x: 13978, y: 13978 }, + { x: 13979, y: 13979 }, + { x: 13980, y: 13980 }, + { x: 13981, y: 13981 }, + { x: 13982, y: 13982 }, + { x: 13983, y: 13983 }, + { x: 13984, y: 13984 }, + { x: 13985, y: 13985 }, + { x: 13986, y: 13986 }, + { x: 13987, y: 13987 }, + { x: 13988, y: 13988 }, + { x: 13989, y: 13989 }, + { x: 13990, y: 13990 }, + { x: 13991, y: 13991 }, + { x: 13992, y: 13992 }, + { x: 13993, y: 13993 }, + { x: 13994, y: 13994 }, + { x: 13995, y: 13995 }, + { x: 13996, y: 13996 }, + { x: 13997, y: 13997 }, + { x: 13998, y: 13998 }, + { x: 13999, y: 13999 }, + { x: 14000, y: 14000 }, + { x: 14001, y: 14001 }, + { x: 14002, y: 14002 }, + { x: 14003, y: 14003 }, + { x: 14004, y: 14004 }, + { x: 14005, y: 14005 }, + { x: 14006, y: 14006 }, + { x: 14007, y: 14007 }, + { x: 14008, y: 14008 }, + { x: 14009, y: 14009 }, + { x: 14010, y: 14010 }, + { x: 14011, y: 14011 }, + { x: 14012, y: 14012 }, + { x: 14013, y: 14013 }, + { x: 14014, y: 14014 }, + { x: 14015, y: 14015 }, + { x: 14016, y: 14016 }, + { x: 14017, y: 14017 }, + { x: 14018, y: 14018 }, + { x: 14019, y: 14019 }, + { x: 14020, y: 14020 }, + { x: 14021, y: 14021 }, + { x: 14022, y: 14022 }, + { x: 14023, y: 14023 }, + { x: 14024, y: 14024 }, + { x: 14025, y: 14025 }, + { x: 14026, y: 14026 }, + { x: 14027, y: 14027 }, + { x: 14028, y: 14028 }, + { x: 14029, y: 14029 }, + { x: 14030, y: 14030 }, + { x: 14031, y: 14031 }, + { x: 14032, y: 14032 }, + { x: 14033, y: 14033 }, + { x: 14034, y: 14034 }, + { x: 14035, y: 14035 }, + { x: 14036, y: 14036 }, + { x: 14037, y: 14037 }, + { x: 14038, y: 14038 }, + { x: 14039, y: 14039 }, + { x: 14040, y: 14040 }, + { x: 14041, y: 14041 }, + { x: 14042, y: 14042 }, + { x: 14043, y: 14043 }, + { x: 14044, y: 14044 }, + { x: 14045, y: 14045 }, + { x: 14046, y: 14046 }, + { x: 14047, y: 14047 }, + { x: 14048, y: 14048 }, + { x: 14049, y: 14049 }, + { x: 14050, y: 14050 }, + { x: 14051, y: 14051 }, + { x: 14052, y: 14052 }, + { x: 14053, y: 14053 }, + { x: 14054, y: 14054 }, + { x: 14055, y: 14055 }, + { x: 14056, y: 14056 }, + { x: 14057, y: 14057 }, + { x: 14058, y: 14058 }, + { x: 14059, y: 14059 }, + { x: 14060, y: 14060 }, + { x: 14061, y: 14061 }, + { x: 14062, y: 14062 }, + { x: 14063, y: 14063 }, + { x: 14064, y: 14064 }, + { x: 14065, y: 14065 }, + { x: 14066, y: 14066 }, + { x: 14067, y: 14067 }, + { x: 14068, y: 14068 }, + { x: 14069, y: 14069 }, + { x: 14070, y: 14070 }, + { x: 14071, y: 14071 }, + { x: 14072, y: 14072 }, + { x: 14073, y: 14073 }, + { x: 14074, y: 14074 }, + { x: 14075, y: 14075 }, + { x: 14076, y: 14076 }, + { x: 14077, y: 14077 }, + { x: 14078, y: 14078 }, + { x: 14079, y: 14079 }, + { x: 14080, y: 14080 }, + { x: 14081, y: 14081 }, + { x: 14082, y: 14082 }, + { x: 14083, y: 14083 }, + { x: 14084, y: 14084 }, + { x: 14085, y: 14085 }, + { x: 14086, y: 14086 }, + { x: 14087, y: 14087 }, + { x: 14088, y: 14088 }, + { x: 14089, y: 14089 }, + { x: 14090, y: 14090 }, + { x: 14091, y: 14091 }, + { x: 14092, y: 14092 }, + { x: 14093, y: 14093 }, + { x: 14094, y: 14094 }, + { x: 14095, y: 14095 }, + { x: 14096, y: 14096 }, + { x: 14097, y: 14097 }, + { x: 14098, y: 14098 }, + { x: 14099, y: 14099 }, + { x: 14100, y: 14100 }, + { x: 14101, y: 14101 }, + { x: 14102, y: 14102 }, + { x: 14103, y: 14103 }, + { x: 14104, y: 14104 }, + { x: 14105, y: 14105 }, + { x: 14106, y: 14106 }, + { x: 14107, y: 14107 }, + { x: 14108, y: 14108 }, + { x: 14109, y: 14109 }, + { x: 14110, y: 14110 }, + { x: 14111, y: 14111 }, + { x: 14112, y: 14112 }, + { x: 14113, y: 14113 }, + { x: 14114, y: 14114 }, + { x: 14115, y: 14115 }, + { x: 14116, y: 14116 }, + { x: 14117, y: 14117 }, + { x: 14118, y: 14118 }, + { x: 14119, y: 14119 }, + { x: 14120, y: 14120 }, + { x: 14121, y: 14121 }, + { x: 14122, y: 14122 }, + { x: 14123, y: 14123 }, + { x: 14124, y: 14124 }, + { x: 14125, y: 14125 }, + { x: 14126, y: 14126 }, + { x: 14127, y: 14127 }, + { x: 14128, y: 14128 }, + { x: 14129, y: 14129 }, + { x: 14130, y: 14130 }, + { x: 14131, y: 14131 }, + { x: 14132, y: 14132 }, + { x: 14133, y: 14133 }, + { x: 14134, y: 14134 }, + { x: 14135, y: 14135 }, + { x: 14136, y: 14136 }, + { x: 14137, y: 14137 }, + { x: 14138, y: 14138 }, + { x: 14139, y: 14139 }, + { x: 14140, y: 14140 }, + { x: 14141, y: 14141 }, + { x: 14142, y: 14142 }, + { x: 14143, y: 14143 }, + { x: 14144, y: 14144 }, + { x: 14145, y: 14145 }, + { x: 14146, y: 14146 }, + { x: 14147, y: 14147 }, + { x: 14148, y: 14148 }, + { x: 14149, y: 14149 }, + { x: 14150, y: 14150 }, + { x: 14151, y: 14151 }, + { x: 14152, y: 14152 }, + { x: 14153, y: 14153 }, + { x: 14154, y: 14154 }, + { x: 14155, y: 14155 }, + { x: 14156, y: 14156 }, + { x: 14157, y: 14157 }, + { x: 14158, y: 14158 }, + { x: 14159, y: 14159 }, + { x: 14160, y: 14160 }, + { x: 14161, y: 14161 }, + { x: 14162, y: 14162 }, + { x: 14163, y: 14163 }, + { x: 14164, y: 14164 }, + { x: 14165, y: 14165 }, + { x: 14166, y: 14166 }, + { x: 14167, y: 14167 }, + { x: 14168, y: 14168 }, + { x: 14169, y: 14169 }, + { x: 14170, y: 14170 }, + { x: 14171, y: 14171 }, + { x: 14172, y: 14172 }, + { x: 14173, y: 14173 }, + { x: 14174, y: 14174 }, + { x: 14175, y: 14175 }, + { x: 14176, y: 14176 }, + { x: 14177, y: 14177 }, + { x: 14178, y: 14178 }, + { x: 14179, y: 14179 }, + { x: 14180, y: 14180 }, + { x: 14181, y: 14181 }, + { x: 14182, y: 14182 }, + { x: 14183, y: 14183 }, + { x: 14184, y: 14184 }, + { x: 14185, y: 14185 }, + { x: 14186, y: 14186 }, + { x: 14187, y: 14187 }, + { x: 14188, y: 14188 }, + { x: 14189, y: 14189 }, + { x: 14190, y: 14190 }, + { x: 14191, y: 14191 }, + { x: 14192, y: 14192 }, + { x: 14193, y: 14193 }, + { x: 14194, y: 14194 }, + { x: 14195, y: 14195 }, + { x: 14196, y: 14196 }, + { x: 14197, y: 14197 }, + { x: 14198, y: 14198 }, + { x: 14199, y: 14199 }, + { x: 14200, y: 14200 }, + { x: 14201, y: 14201 }, + { x: 14202, y: 14202 }, + { x: 14203, y: 14203 }, + { x: 14204, y: 14204 }, + { x: 14205, y: 14205 }, + { x: 14206, y: 14206 }, + { x: 14207, y: 14207 }, + { x: 14208, y: 14208 }, + { x: 14209, y: 14209 }, + { x: 14210, y: 14210 }, + { x: 14211, y: 14211 }, + { x: 14212, y: 14212 }, + { x: 14213, y: 14213 }, + { x: 14214, y: 14214 }, + { x: 14215, y: 14215 }, + { x: 14216, y: 14216 }, + { x: 14217, y: 14217 }, + { x: 14218, y: 14218 }, + { x: 14219, y: 14219 }, + { x: 14220, y: 14220 }, + { x: 14221, y: 14221 }, + { x: 14222, y: 14222 }, + { x: 14223, y: 14223 }, + { x: 14224, y: 14224 }, + { x: 14225, y: 14225 }, + { x: 14226, y: 14226 }, + { x: 14227, y: 14227 }, + { x: 14228, y: 14228 }, + { x: 14229, y: 14229 }, + { x: 14230, y: 14230 }, + { x: 14231, y: 14231 }, + { x: 14232, y: 14232 }, + { x: 14233, y: 14233 }, + { x: 14234, y: 14234 }, + { x: 14235, y: 14235 }, + { x: 14236, y: 14236 }, + { x: 14237, y: 14237 }, + { x: 14238, y: 14238 }, + { x: 14239, y: 14239 }, + { x: 14240, y: 14240 }, + { x: 14241, y: 14241 }, + { x: 14242, y: 14242 }, + { x: 14243, y: 14243 }, + { x: 14244, y: 14244 }, + { x: 14245, y: 14245 }, + { x: 14246, y: 14246 }, + { x: 14247, y: 14247 }, + { x: 14248, y: 14248 }, + { x: 14249, y: 14249 }, + { x: 14250, y: 14250 }, + { x: 14251, y: 14251 }, + { x: 14252, y: 14252 }, + { x: 14253, y: 14253 }, + { x: 14254, y: 14254 }, + { x: 14255, y: 14255 }, + { x: 14256, y: 14256 }, + { x: 14257, y: 14257 }, + { x: 14258, y: 14258 }, + { x: 14259, y: 14259 }, + { x: 14260, y: 14260 }, + { x: 14261, y: 14261 }, + { x: 14262, y: 14262 }, + { x: 14263, y: 14263 }, + { x: 14264, y: 14264 }, + { x: 14265, y: 14265 }, + { x: 14266, y: 14266 }, + { x: 14267, y: 14267 }, + { x: 14268, y: 14268 }, + { x: 14269, y: 14269 }, + { x: 14270, y: 14270 }, + { x: 14271, y: 14271 }, + { x: 14272, y: 14272 }, + { x: 14273, y: 14273 }, + { x: 14274, y: 14274 }, + { x: 14275, y: 14275 }, + { x: 14276, y: 14276 }, + { x: 14277, y: 14277 }, + { x: 14278, y: 14278 }, + { x: 14279, y: 14279 }, + { x: 14280, y: 14280 }, + { x: 14281, y: 14281 }, + { x: 14282, y: 14282 }, + { x: 14283, y: 14283 }, + { x: 14284, y: 14284 }, + { x: 14285, y: 14285 }, + { x: 14286, y: 14286 }, + { x: 14287, y: 14287 }, + { x: 14288, y: 14288 }, + { x: 14289, y: 14289 }, + { x: 14290, y: 14290 }, + { x: 14291, y: 14291 }, + { x: 14292, y: 14292 }, + { x: 14293, y: 14293 }, + { x: 14294, y: 14294 }, + { x: 14295, y: 14295 }, + { x: 14296, y: 14296 }, + { x: 14297, y: 14297 }, + { x: 14298, y: 14298 }, + { x: 14299, y: 14299 }, + { x: 14300, y: 14300 }, + { x: 14301, y: 14301 }, + { x: 14302, y: 14302 }, + { x: 14303, y: 14303 }, + { x: 14304, y: 14304 }, + { x: 14305, y: 14305 }, + { x: 14306, y: 14306 }, + { x: 14307, y: 14307 }, + { x: 14308, y: 14308 }, + { x: 14309, y: 14309 }, + { x: 14310, y: 14310 }, + { x: 14311, y: 14311 }, + { x: 14312, y: 14312 }, + { x: 14313, y: 14313 }, + { x: 14314, y: 14314 }, + { x: 14315, y: 14315 }, + { x: 14316, y: 14316 }, + { x: 14317, y: 14317 }, + { x: 14318, y: 14318 }, + { x: 14319, y: 14319 }, + { x: 14320, y: 14320 }, + { x: 14321, y: 14321 }, + { x: 14322, y: 14322 }, + { x: 14323, y: 14323 }, + { x: 14324, y: 14324 }, + { x: 14325, y: 14325 }, + { x: 14326, y: 14326 }, + { x: 14327, y: 14327 }, + { x: 14328, y: 14328 }, + { x: 14329, y: 14329 }, + { x: 14330, y: 14330 }, + { x: 14331, y: 14331 }, + { x: 14332, y: 14332 }, + { x: 14333, y: 14333 }, + { x: 14334, y: 14334 }, + { x: 14335, y: 14335 }, + { x: 14336, y: 14336 }, + { x: 14337, y: 14337 }, + { x: 14338, y: 14338 }, + { x: 14339, y: 14339 }, + { x: 14340, y: 14340 }, + { x: 14341, y: 14341 }, + { x: 14342, y: 14342 }, + { x: 14343, y: 14343 }, + { x: 14344, y: 14344 }, + { x: 14345, y: 14345 }, + { x: 14346, y: 14346 }, + { x: 14347, y: 14347 }, + { x: 14348, y: 14348 }, + { x: 14349, y: 14349 }, + { x: 14350, y: 14350 }, + { x: 14351, y: 14351 }, + { x: 14352, y: 14352 }, + { x: 14353, y: 14353 }, + { x: 14354, y: 14354 }, + { x: 14355, y: 14355 }, + { x: 14356, y: 14356 }, + { x: 14357, y: 14357 }, + { x: 14358, y: 14358 }, + { x: 14359, y: 14359 }, + { x: 14360, y: 14360 }, + { x: 14361, y: 14361 }, + { x: 14362, y: 14362 }, + { x: 14363, y: 14363 }, + { x: 14364, y: 14364 }, + { x: 14365, y: 14365 }, + { x: 14366, y: 14366 }, + { x: 14367, y: 14367 }, + { x: 14368, y: 14368 }, + { x: 14369, y: 14369 }, + { x: 14370, y: 14370 }, + { x: 14371, y: 14371 }, + { x: 14372, y: 14372 }, + { x: 14373, y: 14373 }, + { x: 14374, y: 14374 }, + { x: 14375, y: 14375 }, + { x: 14376, y: 14376 }, + { x: 14377, y: 14377 }, + { x: 14378, y: 14378 }, + { x: 14379, y: 14379 }, + { x: 14380, y: 14380 }, + { x: 14381, y: 14381 }, + { x: 14382, y: 14382 }, + { x: 14383, y: 14383 }, + { x: 14384, y: 14384 }, + { x: 14385, y: 14385 }, + { x: 14386, y: 14386 }, + { x: 14387, y: 14387 }, + { x: 14388, y: 14388 }, + { x: 14389, y: 14389 }, + { x: 14390, y: 14390 }, + { x: 14391, y: 14391 }, + { x: 14392, y: 14392 }, + { x: 14393, y: 14393 }, + { x: 14394, y: 14394 }, + { x: 14395, y: 14395 }, + { x: 14396, y: 14396 }, + { x: 14397, y: 14397 }, + { x: 14398, y: 14398 }, + { x: 14399, y: 14399 }, + { x: 14400, y: 14400 }, + { x: 14401, y: 14401 }, + { x: 14402, y: 14402 }, + { x: 14403, y: 14403 }, + { x: 14404, y: 14404 }, + { x: 14405, y: 14405 }, + { x: 14406, y: 14406 }, + { x: 14407, y: 14407 }, + { x: 14408, y: 14408 }, + { x: 14409, y: 14409 }, + { x: 14410, y: 14410 }, + { x: 14411, y: 14411 }, + { x: 14412, y: 14412 }, + { x: 14413, y: 14413 }, + { x: 14414, y: 14414 }, + { x: 14415, y: 14415 }, + { x: 14416, y: 14416 }, + { x: 14417, y: 14417 }, + { x: 14418, y: 14418 }, + { x: 14419, y: 14419 }, + { x: 14420, y: 14420 }, + { x: 14421, y: 14421 }, + { x: 14422, y: 14422 }, + { x: 14423, y: 14423 }, + { x: 14424, y: 14424 }, + { x: 14425, y: 14425 }, + { x: 14426, y: 14426 }, + { x: 14427, y: 14427 }, + { x: 14428, y: 14428 }, + { x: 14429, y: 14429 }, + { x: 14430, y: 14430 }, + { x: 14431, y: 14431 }, + { x: 14432, y: 14432 }, + { x: 14433, y: 14433 }, + { x: 14434, y: 14434 }, + { x: 14435, y: 14435 }, + { x: 14436, y: 14436 }, + { x: 14437, y: 14437 }, + { x: 14438, y: 14438 }, + { x: 14439, y: 14439 }, + { x: 14440, y: 14440 }, + { x: 14441, y: 14441 }, + { x: 14442, y: 14442 }, + { x: 14443, y: 14443 }, + { x: 14444, y: 14444 }, + { x: 14445, y: 14445 }, + { x: 14446, y: 14446 }, + { x: 14447, y: 14447 }, + { x: 14448, y: 14448 }, + { x: 14449, y: 14449 }, + { x: 14450, y: 14450 }, + { x: 14451, y: 14451 }, + { x: 14452, y: 14452 }, + { x: 14453, y: 14453 }, + { x: 14454, y: 14454 }, + { x: 14455, y: 14455 }, + { x: 14456, y: 14456 }, + { x: 14457, y: 14457 }, + { x: 14458, y: 14458 }, + { x: 14459, y: 14459 }, + { x: 14460, y: 14460 }, + { x: 14461, y: 14461 }, + { x: 14462, y: 14462 }, + { x: 14463, y: 14463 }, + { x: 14464, y: 14464 }, + { x: 14465, y: 14465 }, + { x: 14466, y: 14466 }, + { x: 14467, y: 14467 }, + { x: 14468, y: 14468 }, + { x: 14469, y: 14469 }, + { x: 14470, y: 14470 }, + { x: 14471, y: 14471 }, + { x: 14472, y: 14472 }, + { x: 14473, y: 14473 }, + { x: 14474, y: 14474 }, + { x: 14475, y: 14475 }, + { x: 14476, y: 14476 }, + { x: 14477, y: 14477 }, + { x: 14478, y: 14478 }, + { x: 14479, y: 14479 }, + { x: 14480, y: 14480 }, + { x: 14481, y: 14481 }, + { x: 14482, y: 14482 }, + { x: 14483, y: 14483 }, + { x: 14484, y: 14484 }, + { x: 14485, y: 14485 }, + { x: 14486, y: 14486 }, + { x: 14487, y: 14487 }, + { x: 14488, y: 14488 }, + { x: 14489, y: 14489 }, + { x: 14490, y: 14490 }, + { x: 14491, y: 14491 }, + { x: 14492, y: 14492 }, + { x: 14493, y: 14493 }, + { x: 14494, y: 14494 }, + { x: 14495, y: 14495 }, + { x: 14496, y: 14496 }, + { x: 14497, y: 14497 }, + { x: 14498, y: 14498 }, + { x: 14499, y: 14499 }, + { x: 14500, y: 14500 }, + { x: 14501, y: 14501 }, + { x: 14502, y: 14502 }, + { x: 14503, y: 14503 }, + { x: 14504, y: 14504 }, + { x: 14505, y: 14505 }, + { x: 14506, y: 14506 }, + { x: 14507, y: 14507 }, + { x: 14508, y: 14508 }, + { x: 14509, y: 14509 }, + { x: 14510, y: 14510 }, + { x: 14511, y: 14511 }, + { x: 14512, y: 14512 }, + { x: 14513, y: 14513 }, + { x: 14514, y: 14514 }, + { x: 14515, y: 14515 }, + { x: 14516, y: 14516 }, + { x: 14517, y: 14517 }, + { x: 14518, y: 14518 }, + { x: 14519, y: 14519 }, + { x: 14520, y: 14520 }, + { x: 14521, y: 14521 }, + { x: 14522, y: 14522 }, + { x: 14523, y: 14523 }, + { x: 14524, y: 14524 }, + { x: 14525, y: 14525 }, + { x: 14526, y: 14526 }, + { x: 14527, y: 14527 }, + { x: 14528, y: 14528 }, + { x: 14529, y: 14529 }, + { x: 14530, y: 14530 }, + { x: 14531, y: 14531 }, + { x: 14532, y: 14532 }, + { x: 14533, y: 14533 }, + { x: 14534, y: 14534 }, + { x: 14535, y: 14535 }, + { x: 14536, y: 14536 }, + { x: 14537, y: 14537 }, + { x: 14538, y: 14538 }, + { x: 14539, y: 14539 }, + { x: 14540, y: 14540 }, + { x: 14541, y: 14541 }, + { x: 14542, y: 14542 }, + { x: 14543, y: 14543 }, + { x: 14544, y: 14544 }, + { x: 14545, y: 14545 }, + { x: 14546, y: 14546 }, + { x: 14547, y: 14547 }, + { x: 14548, y: 14548 }, + { x: 14549, y: 14549 }, + { x: 14550, y: 14550 }, + { x: 14551, y: 14551 }, + { x: 14552, y: 14552 }, + { x: 14553, y: 14553 }, + { x: 14554, y: 14554 }, + { x: 14555, y: 14555 }, + { x: 14556, y: 14556 }, + { x: 14557, y: 14557 }, + { x: 14558, y: 14558 }, + { x: 14559, y: 14559 }, + { x: 14560, y: 14560 }, + { x: 14561, y: 14561 }, + { x: 14562, y: 14562 }, + { x: 14563, y: 14563 }, + { x: 14564, y: 14564 }, + { x: 14565, y: 14565 }, + { x: 14566, y: 14566 }, + { x: 14567, y: 14567 }, + { x: 14568, y: 14568 }, + { x: 14569, y: 14569 }, + { x: 14570, y: 14570 }, + { x: 14571, y: 14571 }, + { x: 14572, y: 14572 }, + { x: 14573, y: 14573 }, + { x: 14574, y: 14574 }, + { x: 14575, y: 14575 }, + { x: 14576, y: 14576 }, + { x: 14577, y: 14577 }, + { x: 14578, y: 14578 }, + { x: 14579, y: 14579 }, + { x: 14580, y: 14580 }, + { x: 14581, y: 14581 }, + { x: 14582, y: 14582 }, + { x: 14583, y: 14583 }, + { x: 14584, y: 14584 }, + { x: 14585, y: 14585 }, + { x: 14586, y: 14586 }, + { x: 14587, y: 14587 }, + { x: 14588, y: 14588 }, + { x: 14589, y: 14589 }, + { x: 14590, y: 14590 }, + { x: 14591, y: 14591 }, + { x: 14592, y: 14592 }, + { x: 14593, y: 14593 }, + { x: 14594, y: 14594 }, + { x: 14595, y: 14595 }, + { x: 14596, y: 14596 }, + { x: 14597, y: 14597 }, + { x: 14598, y: 14598 }, + { x: 14599, y: 14599 }, + { x: 14600, y: 14600 }, + { x: 14601, y: 14601 }, + { x: 14602, y: 14602 }, + { x: 14603, y: 14603 }, + { x: 14604, y: 14604 }, + { x: 14605, y: 14605 }, + { x: 14606, y: 14606 }, + { x: 14607, y: 14607 }, + { x: 14608, y: 14608 }, + { x: 14609, y: 14609 }, + { x: 14610, y: 14610 }, + { x: 14611, y: 14611 }, + { x: 14612, y: 14612 }, + { x: 14613, y: 14613 }, + { x: 14614, y: 14614 }, + { x: 14615, y: 14615 }, + { x: 14616, y: 14616 }, + { x: 14617, y: 14617 }, + { x: 14618, y: 14618 }, + { x: 14619, y: 14619 }, + { x: 14620, y: 14620 }, + { x: 14621, y: 14621 }, + { x: 14622, y: 14622 }, + { x: 14623, y: 14623 }, + { x: 14624, y: 14624 }, + { x: 14625, y: 14625 }, + { x: 14626, y: 14626 }, + { x: 14627, y: 14627 }, + { x: 14628, y: 14628 }, + { x: 14629, y: 14629 }, + { x: 14630, y: 14630 }, + { x: 14631, y: 14631 }, + { x: 14632, y: 14632 }, + { x: 14633, y: 14633 }, + { x: 14634, y: 14634 }, + { x: 14635, y: 14635 }, + { x: 14636, y: 14636 }, + { x: 14637, y: 14637 }, + { x: 14638, y: 14638 }, + { x: 14639, y: 14639 }, + { x: 14640, y: 14640 }, + { x: 14641, y: 14641 }, + { x: 14642, y: 14642 }, + { x: 14643, y: 14643 }, + { x: 14644, y: 14644 }, + { x: 14645, y: 14645 }, + { x: 14646, y: 14646 }, + { x: 14647, y: 14647 }, + { x: 14648, y: 14648 }, + { x: 14649, y: 14649 }, + { x: 14650, y: 14650 }, + { x: 14651, y: 14651 }, + { x: 14652, y: 14652 }, + { x: 14653, y: 14653 }, + { x: 14654, y: 14654 }, + { x: 14655, y: 14655 }, + { x: 14656, y: 14656 }, + { x: 14657, y: 14657 }, + { x: 14658, y: 14658 }, + { x: 14659, y: 14659 }, + { x: 14660, y: 14660 }, + { x: 14661, y: 14661 }, + { x: 14662, y: 14662 }, + { x: 14663, y: 14663 }, + { x: 14664, y: 14664 }, + { x: 14665, y: 14665 }, + { x: 14666, y: 14666 }, + { x: 14667, y: 14667 }, + { x: 14668, y: 14668 }, + { x: 14669, y: 14669 }, + { x: 14670, y: 14670 }, + { x: 14671, y: 14671 }, + { x: 14672, y: 14672 }, + { x: 14673, y: 14673 }, + { x: 14674, y: 14674 }, + { x: 14675, y: 14675 }, + { x: 14676, y: 14676 }, + { x: 14677, y: 14677 }, + { x: 14678, y: 14678 }, + { x: 14679, y: 14679 }, + { x: 14680, y: 14680 }, + { x: 14681, y: 14681 }, + { x: 14682, y: 14682 }, + { x: 14683, y: 14683 }, + { x: 14684, y: 14684 }, + { x: 14685, y: 14685 }, + { x: 14686, y: 14686 }, + { x: 14687, y: 14687 }, + { x: 14688, y: 14688 }, + { x: 14689, y: 14689 }, + { x: 14690, y: 14690 }, + { x: 14691, y: 14691 }, + { x: 14692, y: 14692 }, + { x: 14693, y: 14693 }, + { x: 14694, y: 14694 }, + { x: 14695, y: 14695 }, + { x: 14696, y: 14696 }, + { x: 14697, y: 14697 }, + { x: 14698, y: 14698 }, + { x: 14699, y: 14699 }, + { x: 14700, y: 14700 }, + { x: 14701, y: 14701 }, + { x: 14702, y: 14702 }, + { x: 14703, y: 14703 }, + { x: 14704, y: 14704 }, + { x: 14705, y: 14705 }, + { x: 14706, y: 14706 }, + { x: 14707, y: 14707 }, + { x: 14708, y: 14708 }, + { x: 14709, y: 14709 }, + { x: 14710, y: 14710 }, + { x: 14711, y: 14711 }, + { x: 14712, y: 14712 }, + { x: 14713, y: 14713 }, + { x: 14714, y: 14714 }, + { x: 14715, y: 14715 }, + { x: 14716, y: 14716 }, + { x: 14717, y: 14717 }, + { x: 14718, y: 14718 }, + { x: 14719, y: 14719 }, + { x: 14720, y: 14720 }, + { x: 14721, y: 14721 }, + { x: 14722, y: 14722 }, + { x: 14723, y: 14723 }, + { x: 14724, y: 14724 }, + { x: 14725, y: 14725 }, + { x: 14726, y: 14726 }, + { x: 14727, y: 14727 }, + { x: 14728, y: 14728 }, + { x: 14729, y: 14729 }, + { x: 14730, y: 14730 }, + { x: 14731, y: 14731 }, + { x: 14732, y: 14732 }, + { x: 14733, y: 14733 }, + { x: 14734, y: 14734 }, + { x: 14735, y: 14735 }, + { x: 14736, y: 14736 }, + { x: 14737, y: 14737 }, + { x: 14738, y: 14738 }, + { x: 14739, y: 14739 }, + { x: 14740, y: 14740 }, + { x: 14741, y: 14741 }, + { x: 14742, y: 14742 }, + { x: 14743, y: 14743 }, + { x: 14744, y: 14744 }, + { x: 14745, y: 14745 }, + { x: 14746, y: 14746 }, + { x: 14747, y: 14747 }, + { x: 14748, y: 14748 }, + { x: 14749, y: 14749 }, + { x: 14750, y: 14750 }, + { x: 14751, y: 14751 }, + { x: 14752, y: 14752 }, + { x: 14753, y: 14753 }, + { x: 14754, y: 14754 }, + { x: 14755, y: 14755 }, + { x: 14756, y: 14756 }, + { x: 14757, y: 14757 }, + { x: 14758, y: 14758 }, + { x: 14759, y: 14759 }, + { x: 14760, y: 14760 }, + { x: 14761, y: 14761 }, + { x: 14762, y: 14762 }, + { x: 14763, y: 14763 }, + { x: 14764, y: 14764 }, + { x: 14765, y: 14765 }, + { x: 14766, y: 14766 }, + { x: 14767, y: 14767 }, + { x: 14768, y: 14768 }, + { x: 14769, y: 14769 }, + { x: 14770, y: 14770 }, + { x: 14771, y: 14771 }, + { x: 14772, y: 14772 }, + { x: 14773, y: 14773 }, + { x: 14774, y: 14774 }, + { x: 14775, y: 14775 }, + { x: 14776, y: 14776 }, + { x: 14777, y: 14777 }, + { x: 14778, y: 14778 }, + { x: 14779, y: 14779 }, + { x: 14780, y: 14780 }, + { x: 14781, y: 14781 }, + { x: 14782, y: 14782 }, + { x: 14783, y: 14783 }, + { x: 14784, y: 14784 }, + { x: 14785, y: 14785 }, + { x: 14786, y: 14786 }, + { x: 14787, y: 14787 }, + { x: 14788, y: 14788 }, + { x: 14789, y: 14789 }, + { x: 14790, y: 14790 }, + { x: 14791, y: 14791 }, + { x: 14792, y: 14792 }, + { x: 14793, y: 14793 }, + { x: 14794, y: 14794 }, + { x: 14795, y: 14795 }, + { x: 14796, y: 14796 }, + { x: 14797, y: 14797 }, + { x: 14798, y: 14798 }, + { x: 14799, y: 14799 }, + { x: 14800, y: 14800 }, + { x: 14801, y: 14801 }, + { x: 14802, y: 14802 }, + { x: 14803, y: 14803 }, + { x: 14804, y: 14804 }, + { x: 14805, y: 14805 }, + { x: 14806, y: 14806 }, + { x: 14807, y: 14807 }, + { x: 14808, y: 14808 }, + { x: 14809, y: 14809 }, + { x: 14810, y: 14810 }, + { x: 14811, y: 14811 }, + { x: 14812, y: 14812 }, + { x: 14813, y: 14813 }, + { x: 14814, y: 14814 }, + { x: 14815, y: 14815 }, + { x: 14816, y: 14816 }, + { x: 14817, y: 14817 }, + { x: 14818, y: 14818 }, + { x: 14819, y: 14819 }, + { x: 14820, y: 14820 }, + { x: 14821, y: 14821 }, + { x: 14822, y: 14822 }, + { x: 14823, y: 14823 }, + { x: 14824, y: 14824 }, + { x: 14825, y: 14825 }, + { x: 14826, y: 14826 }, + { x: 14827, y: 14827 }, + { x: 14828, y: 14828 }, + { x: 14829, y: 14829 }, + { x: 14830, y: 14830 }, + { x: 14831, y: 14831 }, + { x: 14832, y: 14832 }, + { x: 14833, y: 14833 }, + { x: 14834, y: 14834 }, + { x: 14835, y: 14835 }, + { x: 14836, y: 14836 }, + { x: 14837, y: 14837 }, + { x: 14838, y: 14838 }, + { x: 14839, y: 14839 }, + { x: 14840, y: 14840 }, + { x: 14841, y: 14841 }, + { x: 14842, y: 14842 }, + { x: 14843, y: 14843 }, + { x: 14844, y: 14844 }, + { x: 14845, y: 14845 }, + { x: 14846, y: 14846 }, + { x: 14847, y: 14847 }, + { x: 14848, y: 14848 }, + { x: 14849, y: 14849 }, + { x: 14850, y: 14850 }, + { x: 14851, y: 14851 }, + { x: 14852, y: 14852 }, + { x: 14853, y: 14853 }, + { x: 14854, y: 14854 }, + { x: 14855, y: 14855 }, + { x: 14856, y: 14856 }, + { x: 14857, y: 14857 }, + { x: 14858, y: 14858 }, + { x: 14859, y: 14859 }, + { x: 14860, y: 14860 }, + { x: 14861, y: 14861 }, + { x: 14862, y: 14862 }, + { x: 14863, y: 14863 }, + { x: 14864, y: 14864 }, + { x: 14865, y: 14865 }, + { x: 14866, y: 14866 }, + { x: 14867, y: 14867 }, + { x: 14868, y: 14868 }, + { x: 14869, y: 14869 }, + { x: 14870, y: 14870 }, + { x: 14871, y: 14871 }, + { x: 14872, y: 14872 }, + { x: 14873, y: 14873 }, + { x: 14874, y: 14874 }, + { x: 14875, y: 14875 }, + { x: 14876, y: 14876 }, + { x: 14877, y: 14877 }, + { x: 14878, y: 14878 }, + { x: 14879, y: 14879 }, + { x: 14880, y: 14880 }, + { x: 14881, y: 14881 }, + { x: 14882, y: 14882 }, + { x: 14883, y: 14883 }, + { x: 14884, y: 14884 }, + { x: 14885, y: 14885 }, + { x: 14886, y: 14886 }, + { x: 14887, y: 14887 }, + { x: 14888, y: 14888 }, + { x: 14889, y: 14889 }, + { x: 14890, y: 14890 }, + { x: 14891, y: 14891 }, + { x: 14892, y: 14892 }, + { x: 14893, y: 14893 }, + { x: 14894, y: 14894 }, + { x: 14895, y: 14895 }, + { x: 14896, y: 14896 }, + { x: 14897, y: 14897 }, + { x: 14898, y: 14898 }, + { x: 14899, y: 14899 }, + { x: 14900, y: 14900 }, + { x: 14901, y: 14901 }, + { x: 14902, y: 14902 }, + { x: 14903, y: 14903 }, + { x: 14904, y: 14904 }, + { x: 14905, y: 14905 }, + { x: 14906, y: 14906 }, + { x: 14907, y: 14907 }, + { x: 14908, y: 14908 }, + { x: 14909, y: 14909 }, + { x: 14910, y: 14910 }, + { x: 14911, y: 14911 }, + { x: 14912, y: 14912 }, + { x: 14913, y: 14913 }, + { x: 14914, y: 14914 }, + { x: 14915, y: 14915 }, + { x: 14916, y: 14916 }, + { x: 14917, y: 14917 }, + { x: 14918, y: 14918 }, + { x: 14919, y: 14919 }, + { x: 14920, y: 14920 }, + { x: 14921, y: 14921 }, + { x: 14922, y: 14922 }, + { x: 14923, y: 14923 }, + { x: 14924, y: 14924 }, + { x: 14925, y: 14925 }, + { x: 14926, y: 14926 }, + { x: 14927, y: 14927 }, + { x: 14928, y: 14928 }, + { x: 14929, y: 14929 }, + { x: 14930, y: 14930 }, + { x: 14931, y: 14931 }, + { x: 14932, y: 14932 }, + { x: 14933, y: 14933 }, + { x: 14934, y: 14934 }, + { x: 14935, y: 14935 }, + { x: 14936, y: 14936 }, + { x: 14937, y: 14937 }, + { x: 14938, y: 14938 }, + { x: 14939, y: 14939 }, + { x: 14940, y: 14940 }, + { x: 14941, y: 14941 }, + { x: 14942, y: 14942 }, + { x: 14943, y: 14943 }, + { x: 14944, y: 14944 }, + { x: 14945, y: 14945 }, + { x: 14946, y: 14946 }, + { x: 14947, y: 14947 }, + { x: 14948, y: 14948 }, + { x: 14949, y: 14949 }, + { x: 14950, y: 14950 }, + { x: 14951, y: 14951 }, + { x: 14952, y: 14952 }, + { x: 14953, y: 14953 }, + { x: 14954, y: 14954 }, + { x: 14955, y: 14955 }, + { x: 14956, y: 14956 }, + { x: 14957, y: 14957 }, + { x: 14958, y: 14958 }, + { x: 14959, y: 14959 }, + { x: 14960, y: 14960 }, + { x: 14961, y: 14961 }, + { x: 14962, y: 14962 }, + { x: 14963, y: 14963 }, + { x: 14964, y: 14964 }, + { x: 14965, y: 14965 }, + { x: 14966, y: 14966 }, + { x: 14967, y: 14967 }, + { x: 14968, y: 14968 }, + { x: 14969, y: 14969 }, + { x: 14970, y: 14970 }, + { x: 14971, y: 14971 }, + { x: 14972, y: 14972 }, + { x: 14973, y: 14973 }, + { x: 14974, y: 14974 }, + { x: 14975, y: 14975 }, + { x: 14976, y: 14976 }, + { x: 14977, y: 14977 }, + { x: 14978, y: 14978 }, + { x: 14979, y: 14979 }, + { x: 14980, y: 14980 }, + { x: 14981, y: 14981 }, + { x: 14982, y: 14982 }, + { x: 14983, y: 14983 }, + { x: 14984, y: 14984 }, + { x: 14985, y: 14985 }, + { x: 14986, y: 14986 }, + { x: 14987, y: 14987 }, + { x: 14988, y: 14988 }, + { x: 14989, y: 14989 }, + { x: 14990, y: 14990 }, + { x: 14991, y: 14991 }, + { x: 14992, y: 14992 }, + { x: 14993, y: 14993 }, + { x: 14994, y: 14994 }, + { x: 14995, y: 14995 }, + { x: 14996, y: 14996 }, + { x: 14997, y: 14997 }, + { x: 14998, y: 14998 }, + { x: 14999, y: 14999 }, + { x: 15000, y: 15000 }, + { x: 15001, y: 15001 }, + { x: 15002, y: 15002 }, + { x: 15003, y: 15003 }, + { x: 15004, y: 15004 }, + { x: 15005, y: 15005 }, + { x: 15006, y: 15006 }, + { x: 15007, y: 15007 }, + { x: 15008, y: 15008 }, + { x: 15009, y: 15009 }, + { x: 15010, y: 15010 }, + { x: 15011, y: 15011 }, + { x: 15012, y: 15012 }, + { x: 15013, y: 15013 }, + { x: 15014, y: 15014 }, + { x: 15015, y: 15015 }, + { x: 15016, y: 15016 }, + { x: 15017, y: 15017 }, + { x: 15018, y: 15018 }, + { x: 15019, y: 15019 }, + { x: 15020, y: 15020 }, + { x: 15021, y: 15021 }, + { x: 15022, y: 15022 }, + { x: 15023, y: 15023 }, + { x: 15024, y: 15024 }, + { x: 15025, y: 15025 }, + { x: 15026, y: 15026 }, + { x: 15027, y: 15027 }, + { x: 15028, y: 15028 }, + { x: 15029, y: 15029 }, + { x: 15030, y: 15030 }, + { x: 15031, y: 15031 }, + { x: 15032, y: 15032 }, + { x: 15033, y: 15033 }, + { x: 15034, y: 15034 }, + { x: 15035, y: 15035 }, + { x: 15036, y: 15036 }, + { x: 15037, y: 15037 }, + { x: 15038, y: 15038 }, + { x: 15039, y: 15039 }, + { x: 15040, y: 15040 }, + { x: 15041, y: 15041 }, + { x: 15042, y: 15042 }, + { x: 15043, y: 15043 }, + { x: 15044, y: 15044 }, + { x: 15045, y: 15045 }, + { x: 15046, y: 15046 }, + { x: 15047, y: 15047 }, + { x: 15048, y: 15048 }, + { x: 15049, y: 15049 }, + { x: 15050, y: 15050 }, + { x: 15051, y: 15051 }, + { x: 15052, y: 15052 }, + { x: 15053, y: 15053 }, + { x: 15054, y: 15054 }, + { x: 15055, y: 15055 }, + { x: 15056, y: 15056 }, + { x: 15057, y: 15057 }, + { x: 15058, y: 15058 }, + { x: 15059, y: 15059 }, + { x: 15060, y: 15060 }, + { x: 15061, y: 15061 }, + { x: 15062, y: 15062 }, + { x: 15063, y: 15063 }, + { x: 15064, y: 15064 }, + { x: 15065, y: 15065 }, + { x: 15066, y: 15066 }, + { x: 15067, y: 15067 }, + { x: 15068, y: 15068 }, + { x: 15069, y: 15069 }, + { x: 15070, y: 15070 }, + { x: 15071, y: 15071 }, + { x: 15072, y: 15072 }, + { x: 15073, y: 15073 }, + { x: 15074, y: 15074 }, + { x: 15075, y: 15075 }, + { x: 15076, y: 15076 }, + { x: 15077, y: 15077 }, + { x: 15078, y: 15078 }, + { x: 15079, y: 15079 }, + { x: 15080, y: 15080 }, + { x: 15081, y: 15081 }, + { x: 15082, y: 15082 }, + { x: 15083, y: 15083 }, + { x: 15084, y: 15084 }, + { x: 15085, y: 15085 }, + { x: 15086, y: 15086 }, + { x: 15087, y: 15087 }, + { x: 15088, y: 15088 }, + { x: 15089, y: 15089 }, + { x: 15090, y: 15090 }, + { x: 15091, y: 15091 }, + { x: 15092, y: 15092 }, + { x: 15093, y: 15093 }, + { x: 15094, y: 15094 }, + { x: 15095, y: 15095 }, + { x: 15096, y: 15096 }, + { x: 15097, y: 15097 }, + { x: 15098, y: 15098 }, + { x: 15099, y: 15099 }, + { x: 15100, y: 15100 }, + { x: 15101, y: 15101 }, + { x: 15102, y: 15102 }, + { x: 15103, y: 15103 }, + { x: 15104, y: 15104 }, + { x: 15105, y: 15105 }, + { x: 15106, y: 15106 }, + { x: 15107, y: 15107 }, + { x: 15108, y: 15108 }, + { x: 15109, y: 15109 }, + { x: 15110, y: 15110 }, + { x: 15111, y: 15111 }, + { x: 15112, y: 15112 }, + { x: 15113, y: 15113 }, + { x: 15114, y: 15114 }, + { x: 15115, y: 15115 }, + { x: 15116, y: 15116 }, + { x: 15117, y: 15117 }, + { x: 15118, y: 15118 }, + { x: 15119, y: 15119 }, + { x: 15120, y: 15120 }, + { x: 15121, y: 15121 }, + { x: 15122, y: 15122 }, + { x: 15123, y: 15123 }, + { x: 15124, y: 15124 }, + { x: 15125, y: 15125 }, + { x: 15126, y: 15126 }, + { x: 15127, y: 15127 }, + { x: 15128, y: 15128 }, + { x: 15129, y: 15129 }, + { x: 15130, y: 15130 }, + { x: 15131, y: 15131 }, + { x: 15132, y: 15132 }, + { x: 15133, y: 15133 }, + { x: 15134, y: 15134 }, + { x: 15135, y: 15135 }, + { x: 15136, y: 15136 }, + { x: 15137, y: 15137 }, + { x: 15138, y: 15138 }, + { x: 15139, y: 15139 }, + { x: 15140, y: 15140 }, + { x: 15141, y: 15141 }, + { x: 15142, y: 15142 }, + { x: 15143, y: 15143 }, + { x: 15144, y: 15144 }, + { x: 15145, y: 15145 }, + { x: 15146, y: 15146 }, + { x: 15147, y: 15147 }, + { x: 15148, y: 15148 }, + { x: 15149, y: 15149 }, + { x: 15150, y: 15150 }, + { x: 15151, y: 15151 }, + { x: 15152, y: 15152 }, + { x: 15153, y: 15153 }, + { x: 15154, y: 15154 }, + { x: 15155, y: 15155 }, + { x: 15156, y: 15156 }, + { x: 15157, y: 15157 }, + { x: 15158, y: 15158 }, + { x: 15159, y: 15159 }, + { x: 15160, y: 15160 }, + { x: 15161, y: 15161 }, + { x: 15162, y: 15162 }, + { x: 15163, y: 15163 }, + { x: 15164, y: 15164 }, + { x: 15165, y: 15165 }, + { x: 15166, y: 15166 }, + { x: 15167, y: 15167 }, + { x: 15168, y: 15168 }, + { x: 15169, y: 15169 }, + { x: 15170, y: 15170 }, + { x: 15171, y: 15171 }, + { x: 15172, y: 15172 }, + { x: 15173, y: 15173 }, + { x: 15174, y: 15174 }, + { x: 15175, y: 15175 }, + { x: 15176, y: 15176 }, + { x: 15177, y: 15177 }, + { x: 15178, y: 15178 }, + { x: 15179, y: 15179 }, + { x: 15180, y: 15180 }, + { x: 15181, y: 15181 }, + { x: 15182, y: 15182 }, + { x: 15183, y: 15183 }, + { x: 15184, y: 15184 }, + { x: 15185, y: 15185 }, + { x: 15186, y: 15186 }, + { x: 15187, y: 15187 }, + { x: 15188, y: 15188 }, + { x: 15189, y: 15189 }, + { x: 15190, y: 15190 }, + { x: 15191, y: 15191 }, + { x: 15192, y: 15192 }, + { x: 15193, y: 15193 }, + { x: 15194, y: 15194 }, + { x: 15195, y: 15195 }, + { x: 15196, y: 15196 }, + { x: 15197, y: 15197 }, + { x: 15198, y: 15198 }, + { x: 15199, y: 15199 }, + { x: 15200, y: 15200 }, + { x: 15201, y: 15201 }, + { x: 15202, y: 15202 }, + { x: 15203, y: 15203 }, + { x: 15204, y: 15204 }, + { x: 15205, y: 15205 }, + { x: 15206, y: 15206 }, + { x: 15207, y: 15207 }, + { x: 15208, y: 15208 }, + { x: 15209, y: 15209 }, + { x: 15210, y: 15210 }, + { x: 15211, y: 15211 }, + { x: 15212, y: 15212 }, + { x: 15213, y: 15213 }, + { x: 15214, y: 15214 }, + { x: 15215, y: 15215 }, + { x: 15216, y: 15216 }, + { x: 15217, y: 15217 }, + { x: 15218, y: 15218 }, + { x: 15219, y: 15219 }, + { x: 15220, y: 15220 }, + { x: 15221, y: 15221 }, + { x: 15222, y: 15222 }, + { x: 15223, y: 15223 }, + { x: 15224, y: 15224 }, + { x: 15225, y: 15225 }, + { x: 15226, y: 15226 }, + { x: 15227, y: 15227 }, + { x: 15228, y: 15228 }, + { x: 15229, y: 15229 }, + { x: 15230, y: 15230 }, + { x: 15231, y: 15231 }, + { x: 15232, y: 15232 }, + { x: 15233, y: 15233 }, + { x: 15234, y: 15234 }, + { x: 15235, y: 15235 }, + { x: 15236, y: 15236 }, + { x: 15237, y: 15237 }, + { x: 15238, y: 15238 }, + { x: 15239, y: 15239 }, + { x: 15240, y: 15240 }, + { x: 15241, y: 15241 }, + { x: 15242, y: 15242 }, + { x: 15243, y: 15243 }, + { x: 15244, y: 15244 }, + { x: 15245, y: 15245 }, + { x: 15246, y: 15246 }, + { x: 15247, y: 15247 }, + { x: 15248, y: 15248 }, + { x: 15249, y: 15249 }, + { x: 15250, y: 15250 }, + { x: 15251, y: 15251 }, + { x: 15252, y: 15252 }, + { x: 15253, y: 15253 }, + { x: 15254, y: 15254 }, + { x: 15255, y: 15255 }, + { x: 15256, y: 15256 }, + { x: 15257, y: 15257 }, + { x: 15258, y: 15258 }, + { x: 15259, y: 15259 }, + { x: 15260, y: 15260 }, + { x: 15261, y: 15261 }, + { x: 15262, y: 15262 }, + { x: 15263, y: 15263 }, + { x: 15264, y: 15264 }, + { x: 15265, y: 15265 }, + { x: 15266, y: 15266 }, + { x: 15267, y: 15267 }, + { x: 15268, y: 15268 }, + { x: 15269, y: 15269 }, + { x: 15270, y: 15270 }, + { x: 15271, y: 15271 }, + { x: 15272, y: 15272 }, + { x: 15273, y: 15273 }, + { x: 15274, y: 15274 }, + { x: 15275, y: 15275 }, + { x: 15276, y: 15276 }, + { x: 15277, y: 15277 }, + { x: 15278, y: 15278 }, + { x: 15279, y: 15279 }, + { x: 15280, y: 15280 }, + { x: 15281, y: 15281 }, + { x: 15282, y: 15282 }, + { x: 15283, y: 15283 }, + { x: 15284, y: 15284 }, + { x: 15285, y: 15285 }, + { x: 15286, y: 15286 }, + { x: 15287, y: 15287 }, + { x: 15288, y: 15288 }, + { x: 15289, y: 15289 }, + { x: 15290, y: 15290 }, + { x: 15291, y: 15291 }, + { x: 15292, y: 15292 }, + { x: 15293, y: 15293 }, + { x: 15294, y: 15294 }, + { x: 15295, y: 15295 }, + { x: 15296, y: 15296 }, + { x: 15297, y: 15297 }, + { x: 15298, y: 15298 }, + { x: 15299, y: 15299 }, + { x: 15300, y: 15300 }, + { x: 15301, y: 15301 }, + { x: 15302, y: 15302 }, + { x: 15303, y: 15303 }, + { x: 15304, y: 15304 }, + { x: 15305, y: 15305 }, + { x: 15306, y: 15306 }, + { x: 15307, y: 15307 }, + { x: 15308, y: 15308 }, + { x: 15309, y: 15309 }, + { x: 15310, y: 15310 }, + { x: 15311, y: 15311 }, + { x: 15312, y: 15312 }, + { x: 15313, y: 15313 }, + { x: 15314, y: 15314 }, + { x: 15315, y: 15315 }, + { x: 15316, y: 15316 }, + { x: 15317, y: 15317 }, + { x: 15318, y: 15318 }, + { x: 15319, y: 15319 }, + { x: 15320, y: 15320 }, + { x: 15321, y: 15321 }, + { x: 15322, y: 15322 }, + { x: 15323, y: 15323 }, + { x: 15324, y: 15324 }, + { x: 15325, y: 15325 }, + { x: 15326, y: 15326 }, + { x: 15327, y: 15327 }, + { x: 15328, y: 15328 }, + { x: 15329, y: 15329 }, + { x: 15330, y: 15330 }, + { x: 15331, y: 15331 }, + { x: 15332, y: 15332 }, + { x: 15333, y: 15333 }, + { x: 15334, y: 15334 }, + { x: 15335, y: 15335 }, + { x: 15336, y: 15336 }, + { x: 15337, y: 15337 }, + { x: 15338, y: 15338 }, + { x: 15339, y: 15339 }, + { x: 15340, y: 15340 }, + { x: 15341, y: 15341 }, + { x: 15342, y: 15342 }, + { x: 15343, y: 15343 }, + { x: 15344, y: 15344 }, + { x: 15345, y: 15345 }, + { x: 15346, y: 15346 }, + { x: 15347, y: 15347 }, + { x: 15348, y: 15348 }, + { x: 15349, y: 15349 }, + { x: 15350, y: 15350 }, + { x: 15351, y: 15351 }, + { x: 15352, y: 15352 }, + { x: 15353, y: 15353 }, + { x: 15354, y: 15354 }, + { x: 15355, y: 15355 }, + { x: 15356, y: 15356 }, + { x: 15357, y: 15357 }, + { x: 15358, y: 15358 }, + { x: 15359, y: 15359 }, + { x: 15360, y: 15360 }, + { x: 15361, y: 15361 }, + { x: 15362, y: 15362 }, + { x: 15363, y: 15363 }, + { x: 15364, y: 15364 }, + { x: 15365, y: 15365 }, + { x: 15366, y: 15366 }, + { x: 15367, y: 15367 }, + { x: 15368, y: 15368 }, + { x: 15369, y: 15369 }, + { x: 15370, y: 15370 }, + { x: 15371, y: 15371 }, + { x: 15372, y: 15372 }, + { x: 15373, y: 15373 }, + { x: 15374, y: 15374 }, + { x: 15375, y: 15375 }, + { x: 15376, y: 15376 }, + { x: 15377, y: 15377 }, + { x: 15378, y: 15378 }, + { x: 15379, y: 15379 }, + { x: 15380, y: 15380 }, + { x: 15381, y: 15381 }, + { x: 15382, y: 15382 }, + { x: 15383, y: 15383 }, + { x: 15384, y: 15384 }, + { x: 15385, y: 15385 }, + { x: 15386, y: 15386 }, + { x: 15387, y: 15387 }, + { x: 15388, y: 15388 }, + { x: 15389, y: 15389 }, + { x: 15390, y: 15390 }, + { x: 15391, y: 15391 }, + { x: 15392, y: 15392 }, + { x: 15393, y: 15393 }, + { x: 15394, y: 15394 }, + { x: 15395, y: 15395 }, + { x: 15396, y: 15396 }, + { x: 15397, y: 15397 }, + { x: 15398, y: 15398 }, + { x: 15399, y: 15399 }, + { x: 15400, y: 15400 }, + { x: 15401, y: 15401 }, + { x: 15402, y: 15402 }, + { x: 15403, y: 15403 }, + { x: 15404, y: 15404 }, + { x: 15405, y: 15405 }, + { x: 15406, y: 15406 }, + { x: 15407, y: 15407 }, + { x: 15408, y: 15408 }, + { x: 15409, y: 15409 }, + { x: 15410, y: 15410 }, + { x: 15411, y: 15411 }, + { x: 15412, y: 15412 }, + { x: 15413, y: 15413 }, + { x: 15414, y: 15414 }, + { x: 15415, y: 15415 }, + { x: 15416, y: 15416 }, + { x: 15417, y: 15417 }, + { x: 15418, y: 15418 }, + { x: 15419, y: 15419 }, + { x: 15420, y: 15420 }, + { x: 15421, y: 15421 }, + { x: 15422, y: 15422 }, + { x: 15423, y: 15423 }, + { x: 15424, y: 15424 }, + { x: 15425, y: 15425 }, + { x: 15426, y: 15426 }, + { x: 15427, y: 15427 }, + { x: 15428, y: 15428 }, + { x: 15429, y: 15429 }, + { x: 15430, y: 15430 }, + { x: 15431, y: 15431 }, + { x: 15432, y: 15432 }, + { x: 15433, y: 15433 }, + { x: 15434, y: 15434 }, + { x: 15435, y: 15435 }, + { x: 15436, y: 15436 }, + { x: 15437, y: 15437 }, + { x: 15438, y: 15438 }, + { x: 15439, y: 15439 }, + { x: 15440, y: 15440 }, + { x: 15441, y: 15441 }, + { x: 15442, y: 15442 }, + { x: 15443, y: 15443 }, + { x: 15444, y: 15444 }, + { x: 15445, y: 15445 }, + { x: 15446, y: 15446 }, + { x: 15447, y: 15447 }, + { x: 15448, y: 15448 }, + { x: 15449, y: 15449 }, + { x: 15450, y: 15450 }, + { x: 15451, y: 15451 }, + { x: 15452, y: 15452 }, + { x: 15453, y: 15453 }, + { x: 15454, y: 15454 }, + { x: 15455, y: 15455 }, + { x: 15456, y: 15456 }, + { x: 15457, y: 15457 }, + { x: 15458, y: 15458 }, + { x: 15459, y: 15459 }, + { x: 15460, y: 15460 }, + { x: 15461, y: 15461 }, + { x: 15462, y: 15462 }, + { x: 15463, y: 15463 }, + { x: 15464, y: 15464 }, + { x: 15465, y: 15465 }, + { x: 15466, y: 15466 }, + { x: 15467, y: 15467 }, + { x: 15468, y: 15468 }, + { x: 15469, y: 15469 }, + { x: 15470, y: 15470 }, + { x: 15471, y: 15471 }, + { x: 15472, y: 15472 }, + { x: 15473, y: 15473 }, + { x: 15474, y: 15474 }, + { x: 15475, y: 15475 }, + { x: 15476, y: 15476 }, + { x: 15477, y: 15477 }, + { x: 15478, y: 15478 }, + { x: 15479, y: 15479 }, + { x: 15480, y: 15480 }, + { x: 15481, y: 15481 }, + { x: 15482, y: 15482 }, + { x: 15483, y: 15483 }, + { x: 15484, y: 15484 }, + { x: 15485, y: 15485 }, + { x: 15486, y: 15486 }, + { x: 15487, y: 15487 }, + { x: 15488, y: 15488 }, + { x: 15489, y: 15489 }, + { x: 15490, y: 15490 }, + { x: 15491, y: 15491 }, + { x: 15492, y: 15492 }, + { x: 15493, y: 15493 }, + { x: 15494, y: 15494 }, + { x: 15495, y: 15495 }, + { x: 15496, y: 15496 }, + { x: 15497, y: 15497 }, + { x: 15498, y: 15498 }, + { x: 15499, y: 15499 }, + { x: 15500, y: 15500 }, + { x: 15501, y: 15501 }, + { x: 15502, y: 15502 }, + { x: 15503, y: 15503 }, + { x: 15504, y: 15504 }, + { x: 15505, y: 15505 }, + { x: 15506, y: 15506 }, + { x: 15507, y: 15507 }, + { x: 15508, y: 15508 }, + { x: 15509, y: 15509 }, + { x: 15510, y: 15510 }, + { x: 15511, y: 15511 }, + { x: 15512, y: 15512 }, + { x: 15513, y: 15513 }, + { x: 15514, y: 15514 }, + { x: 15515, y: 15515 }, + { x: 15516, y: 15516 }, + { x: 15517, y: 15517 }, + { x: 15518, y: 15518 }, + { x: 15519, y: 15519 }, + { x: 15520, y: 15520 }, + { x: 15521, y: 15521 }, + { x: 15522, y: 15522 }, + { x: 15523, y: 15523 }, + { x: 15524, y: 15524 }, + { x: 15525, y: 15525 }, + { x: 15526, y: 15526 }, + { x: 15527, y: 15527 }, + { x: 15528, y: 15528 }, + { x: 15529, y: 15529 }, + { x: 15530, y: 15530 }, + { x: 15531, y: 15531 }, + { x: 15532, y: 15532 }, + { x: 15533, y: 15533 }, + { x: 15534, y: 15534 }, + { x: 15535, y: 15535 }, + { x: 15536, y: 15536 }, + { x: 15537, y: 15537 }, + { x: 15538, y: 15538 }, + { x: 15539, y: 15539 }, + { x: 15540, y: 15540 }, + { x: 15541, y: 15541 }, + { x: 15542, y: 15542 }, + { x: 15543, y: 15543 }, + { x: 15544, y: 15544 }, + { x: 15545, y: 15545 }, + { x: 15546, y: 15546 }, + { x: 15547, y: 15547 }, + { x: 15548, y: 15548 }, + { x: 15549, y: 15549 }, + { x: 15550, y: 15550 }, + { x: 15551, y: 15551 }, + { x: 15552, y: 15552 }, + { x: 15553, y: 15553 }, + { x: 15554, y: 15554 }, + { x: 15555, y: 15555 }, + { x: 15556, y: 15556 }, + { x: 15557, y: 15557 }, + { x: 15558, y: 15558 }, + { x: 15559, y: 15559 }, + { x: 15560, y: 15560 }, + { x: 15561, y: 15561 }, + { x: 15562, y: 15562 }, + { x: 15563, y: 15563 }, + { x: 15564, y: 15564 }, + { x: 15565, y: 15565 }, + { x: 15566, y: 15566 }, + { x: 15567, y: 15567 }, + { x: 15568, y: 15568 }, + { x: 15569, y: 15569 }, + { x: 15570, y: 15570 }, + { x: 15571, y: 15571 }, + { x: 15572, y: 15572 }, + { x: 15573, y: 15573 }, + { x: 15574, y: 15574 }, + { x: 15575, y: 15575 }, + { x: 15576, y: 15576 }, + { x: 15577, y: 15577 }, + { x: 15578, y: 15578 }, + { x: 15579, y: 15579 }, + { x: 15580, y: 15580 }, + { x: 15581, y: 15581 }, + { x: 15582, y: 15582 }, + { x: 15583, y: 15583 }, + { x: 15584, y: 15584 }, + { x: 15585, y: 15585 }, + { x: 15586, y: 15586 }, + { x: 15587, y: 15587 }, + { x: 15588, y: 15588 }, + { x: 15589, y: 15589 }, + { x: 15590, y: 15590 }, + { x: 15591, y: 15591 }, + { x: 15592, y: 15592 }, + { x: 15593, y: 15593 }, + { x: 15594, y: 15594 }, + { x: 15595, y: 15595 }, + { x: 15596, y: 15596 }, + { x: 15597, y: 15597 }, + { x: 15598, y: 15598 }, + { x: 15599, y: 15599 }, + { x: 15600, y: 15600 }, + { x: 15601, y: 15601 }, + { x: 15602, y: 15602 }, + { x: 15603, y: 15603 }, + { x: 15604, y: 15604 }, + { x: 15605, y: 15605 }, + { x: 15606, y: 15606 }, + { x: 15607, y: 15607 }, + { x: 15608, y: 15608 }, + { x: 15609, y: 15609 }, + { x: 15610, y: 15610 }, + { x: 15611, y: 15611 }, + { x: 15612, y: 15612 }, + { x: 15613, y: 15613 }, + { x: 15614, y: 15614 }, + { x: 15615, y: 15615 }, + { x: 15616, y: 15616 }, + { x: 15617, y: 15617 }, + { x: 15618, y: 15618 }, + { x: 15619, y: 15619 }, + { x: 15620, y: 15620 }, + { x: 15621, y: 15621 }, + { x: 15622, y: 15622 }, + { x: 15623, y: 15623 }, + { x: 15624, y: 15624 }, + { x: 15625, y: 15625 }, + { x: 15626, y: 15626 }, + { x: 15627, y: 15627 }, + { x: 15628, y: 15628 }, + { x: 15629, y: 15629 }, + { x: 15630, y: 15630 }, + { x: 15631, y: 15631 }, + { x: 15632, y: 15632 }, + { x: 15633, y: 15633 }, + { x: 15634, y: 15634 }, + { x: 15635, y: 15635 }, + { x: 15636, y: 15636 }, + { x: 15637, y: 15637 }, + { x: 15638, y: 15638 }, + { x: 15639, y: 15639 }, + { x: 15640, y: 15640 }, + { x: 15641, y: 15641 }, + { x: 15642, y: 15642 }, + { x: 15643, y: 15643 }, + { x: 15644, y: 15644 }, + { x: 15645, y: 15645 }, + { x: 15646, y: 15646 }, + { x: 15647, y: 15647 }, + { x: 15648, y: 15648 }, + { x: 15649, y: 15649 }, + { x: 15650, y: 15650 }, + { x: 15651, y: 15651 }, + { x: 15652, y: 15652 }, + { x: 15653, y: 15653 }, + { x: 15654, y: 15654 }, + { x: 15655, y: 15655 }, + { x: 15656, y: 15656 }, + { x: 15657, y: 15657 }, + { x: 15658, y: 15658 }, + { x: 15659, y: 15659 }, + { x: 15660, y: 15660 }, + { x: 15661, y: 15661 }, + { x: 15662, y: 15662 }, + { x: 15663, y: 15663 }, + { x: 15664, y: 15664 }, + { x: 15665, y: 15665 }, + { x: 15666, y: 15666 }, + { x: 15667, y: 15667 }, + { x: 15668, y: 15668 }, + { x: 15669, y: 15669 }, + { x: 15670, y: 15670 }, + { x: 15671, y: 15671 }, + { x: 15672, y: 15672 }, + { x: 15673, y: 15673 }, + { x: 15674, y: 15674 }, + { x: 15675, y: 15675 }, + { x: 15676, y: 15676 }, + { x: 15677, y: 15677 }, + { x: 15678, y: 15678 }, + { x: 15679, y: 15679 }, + { x: 15680, y: 15680 }, + { x: 15681, y: 15681 }, + { x: 15682, y: 15682 }, + { x: 15683, y: 15683 }, + { x: 15684, y: 15684 }, + { x: 15685, y: 15685 }, + { x: 15686, y: 15686 }, + { x: 15687, y: 15687 }, + { x: 15688, y: 15688 }, + { x: 15689, y: 15689 }, + { x: 15690, y: 15690 }, + { x: 15691, y: 15691 }, + { x: 15692, y: 15692 }, + { x: 15693, y: 15693 }, + { x: 15694, y: 15694 }, + { x: 15695, y: 15695 }, + { x: 15696, y: 15696 }, + { x: 15697, y: 15697 }, + { x: 15698, y: 15698 }, + { x: 15699, y: 15699 }, + { x: 15700, y: 15700 }, + { x: 15701, y: 15701 }, + { x: 15702, y: 15702 }, + { x: 15703, y: 15703 }, + { x: 15704, y: 15704 }, + { x: 15705, y: 15705 }, + { x: 15706, y: 15706 }, + { x: 15707, y: 15707 }, + { x: 15708, y: 15708 }, + { x: 15709, y: 15709 }, + { x: 15710, y: 15710 }, + { x: 15711, y: 15711 }, + { x: 15712, y: 15712 }, + { x: 15713, y: 15713 }, + { x: 15714, y: 15714 }, + { x: 15715, y: 15715 }, + { x: 15716, y: 15716 }, + { x: 15717, y: 15717 }, + { x: 15718, y: 15718 }, + { x: 15719, y: 15719 }, + { x: 15720, y: 15720 }, + { x: 15721, y: 15721 }, + { x: 15722, y: 15722 }, + { x: 15723, y: 15723 }, + { x: 15724, y: 15724 }, + { x: 15725, y: 15725 }, + { x: 15726, y: 15726 }, + { x: 15727, y: 15727 }, + { x: 15728, y: 15728 }, + { x: 15729, y: 15729 }, + { x: 15730, y: 15730 }, + { x: 15731, y: 15731 }, + { x: 15732, y: 15732 }, + { x: 15733, y: 15733 }, + { x: 15734, y: 15734 }, + { x: 15735, y: 15735 }, + { x: 15736, y: 15736 }, + { x: 15737, y: 15737 }, + { x: 15738, y: 15738 }, + { x: 15739, y: 15739 }, + { x: 15740, y: 15740 }, + { x: 15741, y: 15741 }, + { x: 15742, y: 15742 }, + { x: 15743, y: 15743 }, + { x: 15744, y: 15744 }, + { x: 15745, y: 15745 }, + { x: 15746, y: 15746 }, + { x: 15747, y: 15747 }, + { x: 15748, y: 15748 }, + { x: 15749, y: 15749 }, + { x: 15750, y: 15750 }, + { x: 15751, y: 15751 }, + { x: 15752, y: 15752 }, + { x: 15753, y: 15753 }, + { x: 15754, y: 15754 }, + { x: 15755, y: 15755 }, + { x: 15756, y: 15756 }, + { x: 15757, y: 15757 }, + { x: 15758, y: 15758 }, + { x: 15759, y: 15759 }, + { x: 15760, y: 15760 }, + { x: 15761, y: 15761 }, + { x: 15762, y: 15762 }, + { x: 15763, y: 15763 }, + { x: 15764, y: 15764 }, + { x: 15765, y: 15765 }, + { x: 15766, y: 15766 }, + { x: 15767, y: 15767 }, + { x: 15768, y: 15768 }, + { x: 15769, y: 15769 }, + { x: 15770, y: 15770 }, + { x: 15771, y: 15771 }, + { x: 15772, y: 15772 }, + { x: 15773, y: 15773 }, + { x: 15774, y: 15774 }, + { x: 15775, y: 15775 }, + { x: 15776, y: 15776 }, + { x: 15777, y: 15777 }, + { x: 15778, y: 15778 }, + { x: 15779, y: 15779 }, + { x: 15780, y: 15780 }, + { x: 15781, y: 15781 }, + { x: 15782, y: 15782 }, + { x: 15783, y: 15783 }, + { x: 15784, y: 15784 }, + { x: 15785, y: 15785 }, + { x: 15786, y: 15786 }, + { x: 15787, y: 15787 }, + { x: 15788, y: 15788 }, + { x: 15789, y: 15789 }, + { x: 15790, y: 15790 }, + { x: 15791, y: 15791 }, + { x: 15792, y: 15792 }, + { x: 15793, y: 15793 }, + { x: 15794, y: 15794 }, + { x: 15795, y: 15795 }, + { x: 15796, y: 15796 }, + { x: 15797, y: 15797 }, + { x: 15798, y: 15798 }, + { x: 15799, y: 15799 }, + { x: 15800, y: 15800 }, + { x: 15801, y: 15801 }, + { x: 15802, y: 15802 }, + { x: 15803, y: 15803 }, + { x: 15804, y: 15804 }, + { x: 15805, y: 15805 }, + { x: 15806, y: 15806 }, + { x: 15807, y: 15807 }, + { x: 15808, y: 15808 }, + { x: 15809, y: 15809 }, + { x: 15810, y: 15810 }, + { x: 15811, y: 15811 }, + { x: 15812, y: 15812 }, + { x: 15813, y: 15813 }, + { x: 15814, y: 15814 }, + { x: 15815, y: 15815 }, + { x: 15816, y: 15816 }, + { x: 15817, y: 15817 }, + { x: 15818, y: 15818 }, + { x: 15819, y: 15819 }, + { x: 15820, y: 15820 }, + { x: 15821, y: 15821 }, + { x: 15822, y: 15822 }, + { x: 15823, y: 15823 }, + { x: 15824, y: 15824 }, + { x: 15825, y: 15825 }, + { x: 15826, y: 15826 }, + { x: 15827, y: 15827 }, + { x: 15828, y: 15828 }, + { x: 15829, y: 15829 }, + { x: 15830, y: 15830 }, + { x: 15831, y: 15831 }, + { x: 15832, y: 15832 }, + { x: 15833, y: 15833 }, + { x: 15834, y: 15834 }, + { x: 15835, y: 15835 }, + { x: 15836, y: 15836 }, + { x: 15837, y: 15837 }, + { x: 15838, y: 15838 }, + { x: 15839, y: 15839 }, + { x: 15840, y: 15840 }, + { x: 15841, y: 15841 }, + { x: 15842, y: 15842 }, + { x: 15843, y: 15843 }, + { x: 15844, y: 15844 }, + { x: 15845, y: 15845 }, + { x: 15846, y: 15846 }, + { x: 15847, y: 15847 }, + { x: 15848, y: 15848 }, + { x: 15849, y: 15849 }, + { x: 15850, y: 15850 }, + { x: 15851, y: 15851 }, + { x: 15852, y: 15852 }, + { x: 15853, y: 15853 }, + { x: 15854, y: 15854 }, + { x: 15855, y: 15855 }, + { x: 15856, y: 15856 }, + { x: 15857, y: 15857 }, + { x: 15858, y: 15858 }, + { x: 15859, y: 15859 }, + { x: 15860, y: 15860 }, + { x: 15861, y: 15861 }, + { x: 15862, y: 15862 }, + { x: 15863, y: 15863 }, + { x: 15864, y: 15864 }, + { x: 15865, y: 15865 }, + { x: 15866, y: 15866 }, + { x: 15867, y: 15867 }, + { x: 15868, y: 15868 }, + { x: 15869, y: 15869 }, + { x: 15870, y: 15870 }, + { x: 15871, y: 15871 }, + { x: 15872, y: 15872 }, + { x: 15873, y: 15873 }, + { x: 15874, y: 15874 }, + { x: 15875, y: 15875 }, + { x: 15876, y: 15876 }, + { x: 15877, y: 15877 }, + { x: 15878, y: 15878 }, + { x: 15879, y: 15879 }, + { x: 15880, y: 15880 }, + { x: 15881, y: 15881 }, + { x: 15882, y: 15882 }, + { x: 15883, y: 15883 }, + { x: 15884, y: 15884 }, + { x: 15885, y: 15885 }, + { x: 15886, y: 15886 }, + { x: 15887, y: 15887 }, + { x: 15888, y: 15888 }, + { x: 15889, y: 15889 }, + { x: 15890, y: 15890 }, + { x: 15891, y: 15891 }, + { x: 15892, y: 15892 }, + { x: 15893, y: 15893 }, + { x: 15894, y: 15894 }, + { x: 15895, y: 15895 }, + { x: 15896, y: 15896 }, + { x: 15897, y: 15897 }, + { x: 15898, y: 15898 }, + { x: 15899, y: 15899 }, + { x: 15900, y: 15900 }, + { x: 15901, y: 15901 }, + { x: 15902, y: 15902 }, + { x: 15903, y: 15903 }, + { x: 15904, y: 15904 }, + { x: 15905, y: 15905 }, + { x: 15906, y: 15906 }, + { x: 15907, y: 15907 }, + { x: 15908, y: 15908 }, + { x: 15909, y: 15909 }, + { x: 15910, y: 15910 }, + { x: 15911, y: 15911 }, + { x: 15912, y: 15912 }, + { x: 15913, y: 15913 }, + { x: 15914, y: 15914 }, + { x: 15915, y: 15915 }, + { x: 15916, y: 15916 }, + { x: 15917, y: 15917 }, + { x: 15918, y: 15918 }, + { x: 15919, y: 15919 }, + { x: 15920, y: 15920 }, + { x: 15921, y: 15921 }, + { x: 15922, y: 15922 }, + { x: 15923, y: 15923 }, + { x: 15924, y: 15924 }, + { x: 15925, y: 15925 }, + { x: 15926, y: 15926 }, + { x: 15927, y: 15927 }, + { x: 15928, y: 15928 }, + { x: 15929, y: 15929 }, + { x: 15930, y: 15930 }, + { x: 15931, y: 15931 }, + { x: 15932, y: 15932 }, + { x: 15933, y: 15933 }, + { x: 15934, y: 15934 }, + { x: 15935, y: 15935 }, + { x: 15936, y: 15936 }, + { x: 15937, y: 15937 }, + { x: 15938, y: 15938 }, + { x: 15939, y: 15939 }, + { x: 15940, y: 15940 }, + { x: 15941, y: 15941 }, + { x: 15942, y: 15942 }, + { x: 15943, y: 15943 }, + { x: 15944, y: 15944 }, + { x: 15945, y: 15945 }, + { x: 15946, y: 15946 }, + { x: 15947, y: 15947 }, + { x: 15948, y: 15948 }, + { x: 15949, y: 15949 }, + { x: 15950, y: 15950 }, + { x: 15951, y: 15951 }, + { x: 15952, y: 15952 }, + { x: 15953, y: 15953 }, + { x: 15954, y: 15954 }, + { x: 15955, y: 15955 }, + { x: 15956, y: 15956 }, + { x: 15957, y: 15957 }, + { x: 15958, y: 15958 }, + { x: 15959, y: 15959 }, + { x: 15960, y: 15960 }, + { x: 15961, y: 15961 }, + { x: 15962, y: 15962 }, + { x: 15963, y: 15963 }, + { x: 15964, y: 15964 }, + { x: 15965, y: 15965 }, + { x: 15966, y: 15966 }, + { x: 15967, y: 15967 }, + { x: 15968, y: 15968 }, + { x: 15969, y: 15969 }, + { x: 15970, y: 15970 }, + { x: 15971, y: 15971 }, + { x: 15972, y: 15972 }, + { x: 15973, y: 15973 }, + { x: 15974, y: 15974 }, + { x: 15975, y: 15975 }, + { x: 15976, y: 15976 }, + { x: 15977, y: 15977 }, + { x: 15978, y: 15978 }, + { x: 15979, y: 15979 }, + { x: 15980, y: 15980 }, + { x: 15981, y: 15981 }, + { x: 15982, y: 15982 }, + { x: 15983, y: 15983 }, + { x: 15984, y: 15984 }, + { x: 15985, y: 15985 }, + { x: 15986, y: 15986 }, + { x: 15987, y: 15987 }, + { x: 15988, y: 15988 }, + { x: 15989, y: 15989 }, + { x: 15990, y: 15990 }, + { x: 15991, y: 15991 }, + { x: 15992, y: 15992 }, + { x: 15993, y: 15993 }, + { x: 15994, y: 15994 }, + { x: 15995, y: 15995 }, + { x: 15996, y: 15996 }, + { x: 15997, y: 15997 }, + { x: 15998, y: 15998 }, + { x: 15999, y: 15999 }, + { x: 16000, y: 16000 }, + { x: 16001, y: 16001 }, + { x: 16002, y: 16002 }, + { x: 16003, y: 16003 }, + { x: 16004, y: 16004 }, + { x: 16005, y: 16005 }, + { x: 16006, y: 16006 }, + { x: 16007, y: 16007 }, + { x: 16008, y: 16008 }, + { x: 16009, y: 16009 }, + { x: 16010, y: 16010 }, + { x: 16011, y: 16011 }, + { x: 16012, y: 16012 }, + { x: 16013, y: 16013 }, + { x: 16014, y: 16014 }, + { x: 16015, y: 16015 }, + { x: 16016, y: 16016 }, + { x: 16017, y: 16017 }, + { x: 16018, y: 16018 }, + { x: 16019, y: 16019 }, + { x: 16020, y: 16020 }, + { x: 16021, y: 16021 }, + { x: 16022, y: 16022 }, + { x: 16023, y: 16023 }, + { x: 16024, y: 16024 }, + { x: 16025, y: 16025 }, + { x: 16026, y: 16026 }, + { x: 16027, y: 16027 }, + { x: 16028, y: 16028 }, + { x: 16029, y: 16029 }, + { x: 16030, y: 16030 }, + { x: 16031, y: 16031 }, + { x: 16032, y: 16032 }, + { x: 16033, y: 16033 }, + { x: 16034, y: 16034 }, + { x: 16035, y: 16035 }, + { x: 16036, y: 16036 }, + { x: 16037, y: 16037 }, + { x: 16038, y: 16038 }, + { x: 16039, y: 16039 }, + { x: 16040, y: 16040 }, + { x: 16041, y: 16041 }, + { x: 16042, y: 16042 }, + { x: 16043, y: 16043 }, + { x: 16044, y: 16044 }, + { x: 16045, y: 16045 }, + { x: 16046, y: 16046 }, + { x: 16047, y: 16047 }, + { x: 16048, y: 16048 }, + { x: 16049, y: 16049 }, + { x: 16050, y: 16050 }, + { x: 16051, y: 16051 }, + { x: 16052, y: 16052 }, + { x: 16053, y: 16053 }, + { x: 16054, y: 16054 }, + { x: 16055, y: 16055 }, + { x: 16056, y: 16056 }, + { x: 16057, y: 16057 }, + { x: 16058, y: 16058 }, + { x: 16059, y: 16059 }, + { x: 16060, y: 16060 }, + { x: 16061, y: 16061 }, + { x: 16062, y: 16062 }, + { x: 16063, y: 16063 }, + { x: 16064, y: 16064 }, + { x: 16065, y: 16065 }, + { x: 16066, y: 16066 }, + { x: 16067, y: 16067 }, + { x: 16068, y: 16068 }, + { x: 16069, y: 16069 }, + { x: 16070, y: 16070 }, + { x: 16071, y: 16071 }, + { x: 16072, y: 16072 }, + { x: 16073, y: 16073 }, + { x: 16074, y: 16074 }, + { x: 16075, y: 16075 }, + { x: 16076, y: 16076 }, + { x: 16077, y: 16077 }, + { x: 16078, y: 16078 }, + { x: 16079, y: 16079 }, + { x: 16080, y: 16080 }, + { x: 16081, y: 16081 }, + { x: 16082, y: 16082 }, + { x: 16083, y: 16083 }, + { x: 16084, y: 16084 }, + { x: 16085, y: 16085 }, + { x: 16086, y: 16086 }, + { x: 16087, y: 16087 }, + { x: 16088, y: 16088 }, + { x: 16089, y: 16089 }, + { x: 16090, y: 16090 }, + { x: 16091, y: 16091 }, + { x: 16092, y: 16092 }, + { x: 16093, y: 16093 }, + { x: 16094, y: 16094 }, + { x: 16095, y: 16095 }, + { x: 16096, y: 16096 }, + { x: 16097, y: 16097 }, + { x: 16098, y: 16098 }, + { x: 16099, y: 16099 }, + { x: 16100, y: 16100 }, + { x: 16101, y: 16101 }, + { x: 16102, y: 16102 }, + { x: 16103, y: 16103 }, + { x: 16104, y: 16104 }, + { x: 16105, y: 16105 }, + { x: 16106, y: 16106 }, + { x: 16107, y: 16107 }, + { x: 16108, y: 16108 }, + { x: 16109, y: 16109 }, + { x: 16110, y: 16110 }, + { x: 16111, y: 16111 }, + { x: 16112, y: 16112 }, + { x: 16113, y: 16113 }, + { x: 16114, y: 16114 }, + { x: 16115, y: 16115 }, + { x: 16116, y: 16116 }, + { x: 16117, y: 16117 }, + { x: 16118, y: 16118 }, + { x: 16119, y: 16119 }, + { x: 16120, y: 16120 }, + { x: 16121, y: 16121 }, + { x: 16122, y: 16122 }, + { x: 16123, y: 16123 }, + { x: 16124, y: 16124 }, + { x: 16125, y: 16125 }, + { x: 16126, y: 16126 }, + { x: 16127, y: 16127 }, + { x: 16128, y: 16128 }, + { x: 16129, y: 16129 }, + { x: 16130, y: 16130 }, + { x: 16131, y: 16131 }, + { x: 16132, y: 16132 }, + { x: 16133, y: 16133 }, + { x: 16134, y: 16134 }, + { x: 16135, y: 16135 }, + { x: 16136, y: 16136 }, + { x: 16137, y: 16137 }, + { x: 16138, y: 16138 }, + { x: 16139, y: 16139 }, + { x: 16140, y: 16140 }, + { x: 16141, y: 16141 }, + { x: 16142, y: 16142 }, + { x: 16143, y: 16143 }, + { x: 16144, y: 16144 }, + { x: 16145, y: 16145 }, + { x: 16146, y: 16146 }, + { x: 16147, y: 16147 }, + { x: 16148, y: 16148 }, + { x: 16149, y: 16149 }, + { x: 16150, y: 16150 }, + { x: 16151, y: 16151 }, + { x: 16152, y: 16152 }, + { x: 16153, y: 16153 }, + { x: 16154, y: 16154 }, + { x: 16155, y: 16155 }, + { x: 16156, y: 16156 }, + { x: 16157, y: 16157 }, + { x: 16158, y: 16158 }, + { x: 16159, y: 16159 }, + { x: 16160, y: 16160 }, + { x: 16161, y: 16161 }, + { x: 16162, y: 16162 }, + { x: 16163, y: 16163 }, + { x: 16164, y: 16164 }, + { x: 16165, y: 16165 }, + { x: 16166, y: 16166 }, + { x: 16167, y: 16167 }, + { x: 16168, y: 16168 }, + { x: 16169, y: 16169 }, + { x: 16170, y: 16170 }, + { x: 16171, y: 16171 }, + { x: 16172, y: 16172 }, + { x: 16173, y: 16173 }, + { x: 16174, y: 16174 }, + { x: 16175, y: 16175 }, + { x: 16176, y: 16176 }, + { x: 16177, y: 16177 }, + { x: 16178, y: 16178 }, + { x: 16179, y: 16179 }, + { x: 16180, y: 16180 }, + { x: 16181, y: 16181 }, + { x: 16182, y: 16182 }, + { x: 16183, y: 16183 }, + { x: 16184, y: 16184 }, + { x: 16185, y: 16185 }, + { x: 16186, y: 16186 }, + { x: 16187, y: 16187 }, + { x: 16188, y: 16188 }, + { x: 16189, y: 16189 }, + { x: 16190, y: 16190 }, + { x: 16191, y: 16191 }, + { x: 16192, y: 16192 }, + { x: 16193, y: 16193 }, + { x: 16194, y: 16194 }, + { x: 16195, y: 16195 }, + { x: 16196, y: 16196 }, + { x: 16197, y: 16197 }, + { x: 16198, y: 16198 }, + { x: 16199, y: 16199 }, + { x: 16200, y: 16200 }, + { x: 16201, y: 16201 }, + { x: 16202, y: 16202 }, + { x: 16203, y: 16203 }, + { x: 16204, y: 16204 }, + { x: 16205, y: 16205 }, + { x: 16206, y: 16206 }, + { x: 16207, y: 16207 }, + { x: 16208, y: 16208 }, + { x: 16209, y: 16209 }, + { x: 16210, y: 16210 }, + { x: 16211, y: 16211 }, + { x: 16212, y: 16212 }, + { x: 16213, y: 16213 }, + { x: 16214, y: 16214 }, + { x: 16215, y: 16215 }, + { x: 16216, y: 16216 }, + { x: 16217, y: 16217 }, + { x: 16218, y: 16218 }, + { x: 16219, y: 16219 }, + { x: 16220, y: 16220 }, + { x: 16221, y: 16221 }, + { x: 16222, y: 16222 }, + { x: 16223, y: 16223 }, + { x: 16224, y: 16224 }, + { x: 16225, y: 16225 }, + { x: 16226, y: 16226 }, + { x: 16227, y: 16227 }, + { x: 16228, y: 16228 }, + { x: 16229, y: 16229 }, + { x: 16230, y: 16230 }, + { x: 16231, y: 16231 }, + { x: 16232, y: 16232 }, + { x: 16233, y: 16233 }, + { x: 16234, y: 16234 }, + { x: 16235, y: 16235 }, + { x: 16236, y: 16236 }, + { x: 16237, y: 16237 }, + { x: 16238, y: 16238 }, + { x: 16239, y: 16239 }, + { x: 16240, y: 16240 }, + { x: 16241, y: 16241 }, + { x: 16242, y: 16242 }, + { x: 16243, y: 16243 }, + { x: 16244, y: 16244 }, + { x: 16245, y: 16245 }, + { x: 16246, y: 16246 }, + { x: 16247, y: 16247 }, + { x: 16248, y: 16248 }, + { x: 16249, y: 16249 }, + { x: 16250, y: 16250 }, + { x: 16251, y: 16251 }, + { x: 16252, y: 16252 }, + { x: 16253, y: 16253 }, + { x: 16254, y: 16254 }, + { x: 16255, y: 16255 }, + { x: 16256, y: 16256 }, + { x: 16257, y: 16257 }, + { x: 16258, y: 16258 }, + { x: 16259, y: 16259 }, + { x: 16260, y: 16260 }, + { x: 16261, y: 16261 }, + { x: 16262, y: 16262 }, + { x: 16263, y: 16263 }, + { x: 16264, y: 16264 }, + { x: 16265, y: 16265 }, + { x: 16266, y: 16266 }, + { x: 16267, y: 16267 }, + { x: 16268, y: 16268 }, + { x: 16269, y: 16269 }, + { x: 16270, y: 16270 }, + { x: 16271, y: 16271 }, + { x: 16272, y: 16272 }, + { x: 16273, y: 16273 }, + { x: 16274, y: 16274 }, + { x: 16275, y: 16275 }, + { x: 16276, y: 16276 }, + { x: 16277, y: 16277 }, + { x: 16278, y: 16278 }, + { x: 16279, y: 16279 }, + { x: 16280, y: 16280 }, + { x: 16281, y: 16281 }, + { x: 16282, y: 16282 }, + { x: 16283, y: 16283 }, + { x: 16284, y: 16284 }, + { x: 16285, y: 16285 }, + { x: 16286, y: 16286 }, + { x: 16287, y: 16287 }, + { x: 16288, y: 16288 }, + { x: 16289, y: 16289 }, + { x: 16290, y: 16290 }, + { x: 16291, y: 16291 }, + { x: 16292, y: 16292 }, + { x: 16293, y: 16293 }, + { x: 16294, y: 16294 }, + { x: 16295, y: 16295 }, + { x: 16296, y: 16296 }, + { x: 16297, y: 16297 }, + { x: 16298, y: 16298 }, + { x: 16299, y: 16299 }, + { x: 16300, y: 16300 }, + { x: 16301, y: 16301 }, + { x: 16302, y: 16302 }, + { x: 16303, y: 16303 }, + { x: 16304, y: 16304 }, + { x: 16305, y: 16305 }, + { x: 16306, y: 16306 }, + { x: 16307, y: 16307 }, + { x: 16308, y: 16308 }, + { x: 16309, y: 16309 }, + { x: 16310, y: 16310 }, + { x: 16311, y: 16311 }, + { x: 16312, y: 16312 }, + { x: 16313, y: 16313 }, + { x: 16314, y: 16314 }, + { x: 16315, y: 16315 }, + { x: 16316, y: 16316 }, + { x: 16317, y: 16317 }, + { x: 16318, y: 16318 }, + { x: 16319, y: 16319 }, + { x: 16320, y: 16320 }, + { x: 16321, y: 16321 }, + { x: 16322, y: 16322 }, + { x: 16323, y: 16323 }, + { x: 16324, y: 16324 }, + { x: 16325, y: 16325 }, + { x: 16326, y: 16326 }, + { x: 16327, y: 16327 }, + { x: 16328, y: 16328 }, + { x: 16329, y: 16329 }, + { x: 16330, y: 16330 }, + { x: 16331, y: 16331 }, + { x: 16332, y: 16332 }, + { x: 16333, y: 16333 }, + { x: 16334, y: 16334 }, + { x: 16335, y: 16335 }, + { x: 16336, y: 16336 }, + { x: 16337, y: 16337 }, + { x: 16338, y: 16338 }, + { x: 16339, y: 16339 }, + { x: 16340, y: 16340 }, + { x: 16341, y: 16341 }, + { x: 16342, y: 16342 }, + { x: 16343, y: 16343 }, + { x: 16344, y: 16344 }, + { x: 16345, y: 16345 }, + { x: 16346, y: 16346 }, + { x: 16347, y: 16347 }, + { x: 16348, y: 16348 }, + { x: 16349, y: 16349 }, + { x: 16350, y: 16350 }, + { x: 16351, y: 16351 }, + { x: 16352, y: 16352 }, + { x: 16353, y: 16353 }, + { x: 16354, y: 16354 }, + { x: 16355, y: 16355 }, + { x: 16356, y: 16356 }, + { x: 16357, y: 16357 }, + { x: 16358, y: 16358 }, + { x: 16359, y: 16359 }, + { x: 16360, y: 16360 }, + { x: 16361, y: 16361 }, + { x: 16362, y: 16362 }, + { x: 16363, y: 16363 }, + { x: 16364, y: 16364 }, + { x: 16365, y: 16365 }, + { x: 16366, y: 16366 }, + { x: 16367, y: 16367 }, + { x: 16368, y: 16368 }, + { x: 16369, y: 16369 }, + { x: 16370, y: 16370 }, + { x: 16371, y: 16371 }, + { x: 16372, y: 16372 }, + { x: 16373, y: 16373 }, + { x: 16374, y: 16374 }, + { x: 16375, y: 16375 }, + { x: 16376, y: 16376 }, + { x: 16377, y: 16377 }, + { x: 16378, y: 16378 }, + { x: 16379, y: 16379 }, + { x: 16380, y: 16380 }, + { x: 16381, y: 16381 }, + { x: 16382, y: 16382 }, + { x: 16383, y: 16383 }, + { x: 16384, y: 16384 }, + { x: 16385, y: 16385 }, + { x: 16386, y: 16386 }, + { x: 16387, y: 16387 }, + { x: 16388, y: 16388 }, + { x: 16389, y: 16389 }, + { x: 16390, y: 16390 }, + { x: 16391, y: 16391 }, + { x: 16392, y: 16392 }, + { x: 16393, y: 16393 }, + { x: 16394, y: 16394 }, + { x: 16395, y: 16395 }, + { x: 16396, y: 16396 }, + { x: 16397, y: 16397 }, + { x: 16398, y: 16398 }, + { x: 16399, y: 16399 }, + { x: 16400, y: 16400 }, + { x: 16401, y: 16401 }, + { x: 16402, y: 16402 }, + { x: 16403, y: 16403 }, + { x: 16404, y: 16404 }, + { x: 16405, y: 16405 }, + { x: 16406, y: 16406 }, + { x: 16407, y: 16407 }, + { x: 16408, y: 16408 }, + { x: 16409, y: 16409 }, + { x: 16410, y: 16410 }, + { x: 16411, y: 16411 }, + { x: 16412, y: 16412 }, + { x: 16413, y: 16413 }, + { x: 16414, y: 16414 }, + { x: 16415, y: 16415 }, + { x: 16416, y: 16416 }, + { x: 16417, y: 16417 }, + { x: 16418, y: 16418 }, + { x: 16419, y: 16419 }, + { x: 16420, y: 16420 }, + { x: 16421, y: 16421 }, + { x: 16422, y: 16422 }, + { x: 16423, y: 16423 }, + { x: 16424, y: 16424 }, + { x: 16425, y: 16425 }, + { x: 16426, y: 16426 }, + { x: 16427, y: 16427 }, + { x: 16428, y: 16428 }, + { x: 16429, y: 16429 }, + { x: 16430, y: 16430 }, + { x: 16431, y: 16431 }, + { x: 16432, y: 16432 }, + { x: 16433, y: 16433 }, + { x: 16434, y: 16434 }, + { x: 16435, y: 16435 }, + { x: 16436, y: 16436 }, + { x: 16437, y: 16437 }, + { x: 16438, y: 16438 }, + { x: 16439, y: 16439 }, + { x: 16440, y: 16440 }, + { x: 16441, y: 16441 }, + { x: 16442, y: 16442 }, + { x: 16443, y: 16443 }, + { x: 16444, y: 16444 }, + { x: 16445, y: 16445 }, + { x: 16446, y: 16446 }, + { x: 16447, y: 16447 }, + { x: 16448, y: 16448 }, + { x: 16449, y: 16449 }, + { x: 16450, y: 16450 }, + { x: 16451, y: 16451 }, + { x: 16452, y: 16452 }, + { x: 16453, y: 16453 }, + { x: 16454, y: 16454 }, + { x: 16455, y: 16455 }, + { x: 16456, y: 16456 }, + { x: 16457, y: 16457 }, + { x: 16458, y: 16458 }, + { x: 16459, y: 16459 }, + { x: 16460, y: 16460 }, + { x: 16461, y: 16461 }, + { x: 16462, y: 16462 }, + { x: 16463, y: 16463 }, + { x: 16464, y: 16464 }, + { x: 16465, y: 16465 }, + { x: 16466, y: 16466 }, + { x: 16467, y: 16467 }, + { x: 16468, y: 16468 }, + { x: 16469, y: 16469 }, + { x: 16470, y: 16470 }, + { x: 16471, y: 16471 }, + { x: 16472, y: 16472 }, + { x: 16473, y: 16473 }, + { x: 16474, y: 16474 }, + { x: 16475, y: 16475 }, + { x: 16476, y: 16476 }, + { x: 16477, y: 16477 }, + { x: 16478, y: 16478 }, + { x: 16479, y: 16479 }, + { x: 16480, y: 16480 }, + { x: 16481, y: 16481 }, + { x: 16482, y: 16482 }, + { x: 16483, y: 16483 }, + { x: 16484, y: 16484 }, + { x: 16485, y: 16485 }, + { x: 16486, y: 16486 }, + { x: 16487, y: 16487 }, + { x: 16488, y: 16488 }, + { x: 16489, y: 16489 }, + { x: 16490, y: 16490 }, + { x: 16491, y: 16491 }, + { x: 16492, y: 16492 }, + { x: 16493, y: 16493 }, + { x: 16494, y: 16494 }, + { x: 16495, y: 16495 }, + { x: 16496, y: 16496 }, + { x: 16497, y: 16497 }, + { x: 16498, y: 16498 }, + { x: 16499, y: 16499 }, + { x: 16500, y: 16500 }, + { x: 16501, y: 16501 }, + { x: 16502, y: 16502 }, + { x: 16503, y: 16503 }, + { x: 16504, y: 16504 }, + { x: 16505, y: 16505 }, + { x: 16506, y: 16506 }, + { x: 16507, y: 16507 }, + { x: 16508, y: 16508 }, + { x: 16509, y: 16509 }, + { x: 16510, y: 16510 }, + { x: 16511, y: 16511 }, + { x: 16512, y: 16512 }, + { x: 16513, y: 16513 }, + { x: 16514, y: 16514 }, + { x: 16515, y: 16515 }, + { x: 16516, y: 16516 }, + { x: 16517, y: 16517 }, + { x: 16518, y: 16518 }, + { x: 16519, y: 16519 }, + { x: 16520, y: 16520 }, + { x: 16521, y: 16521 }, + { x: 16522, y: 16522 }, + { x: 16523, y: 16523 }, + { x: 16524, y: 16524 }, + { x: 16525, y: 16525 }, + { x: 16526, y: 16526 }, + { x: 16527, y: 16527 }, + { x: 16528, y: 16528 }, + { x: 16529, y: 16529 }, + { x: 16530, y: 16530 }, + { x: 16531, y: 16531 }, + { x: 16532, y: 16532 }, + { x: 16533, y: 16533 }, + { x: 16534, y: 16534 }, + { x: 16535, y: 16535 }, + { x: 16536, y: 16536 }, + { x: 16537, y: 16537 }, + { x: 16538, y: 16538 }, + { x: 16539, y: 16539 }, + { x: 16540, y: 16540 }, + { x: 16541, y: 16541 }, + { x: 16542, y: 16542 }, + { x: 16543, y: 16543 }, + { x: 16544, y: 16544 }, + { x: 16545, y: 16545 }, + { x: 16546, y: 16546 }, + { x: 16547, y: 16547 }, + { x: 16548, y: 16548 }, + { x: 16549, y: 16549 }, + { x: 16550, y: 16550 }, + { x: 16551, y: 16551 }, + { x: 16552, y: 16552 }, + { x: 16553, y: 16553 }, + { x: 16554, y: 16554 }, + { x: 16555, y: 16555 }, + { x: 16556, y: 16556 }, + { x: 16557, y: 16557 }, + { x: 16558, y: 16558 }, + { x: 16559, y: 16559 }, + { x: 16560, y: 16560 }, + { x: 16561, y: 16561 }, + { x: 16562, y: 16562 }, + { x: 16563, y: 16563 }, + { x: 16564, y: 16564 }, + { x: 16565, y: 16565 }, + { x: 16566, y: 16566 }, + { x: 16567, y: 16567 }, + { x: 16568, y: 16568 }, + { x: 16569, y: 16569 }, + { x: 16570, y: 16570 }, + { x: 16571, y: 16571 }, + { x: 16572, y: 16572 }, + { x: 16573, y: 16573 }, + { x: 16574, y: 16574 }, + { x: 16575, y: 16575 }, + { x: 16576, y: 16576 }, + { x: 16577, y: 16577 }, + { x: 16578, y: 16578 }, + { x: 16579, y: 16579 }, + { x: 16580, y: 16580 }, + { x: 16581, y: 16581 }, + { x: 16582, y: 16582 }, + { x: 16583, y: 16583 }, + { x: 16584, y: 16584 }, + { x: 16585, y: 16585 }, + { x: 16586, y: 16586 }, + { x: 16587, y: 16587 }, + { x: 16588, y: 16588 }, + { x: 16589, y: 16589 }, + { x: 16590, y: 16590 }, + { x: 16591, y: 16591 }, + { x: 16592, y: 16592 }, + { x: 16593, y: 16593 }, + { x: 16594, y: 16594 }, + { x: 16595, y: 16595 }, + { x: 16596, y: 16596 }, + { x: 16597, y: 16597 }, + { x: 16598, y: 16598 }, + { x: 16599, y: 16599 }, + { x: 16600, y: 16600 }, + { x: 16601, y: 16601 }, + { x: 16602, y: 16602 }, + { x: 16603, y: 16603 }, + { x: 16604, y: 16604 }, + { x: 16605, y: 16605 }, + { x: 16606, y: 16606 }, + { x: 16607, y: 16607 }, + { x: 16608, y: 16608 }, + { x: 16609, y: 16609 }, + { x: 16610, y: 16610 }, + { x: 16611, y: 16611 }, + { x: 16612, y: 16612 }, + { x: 16613, y: 16613 }, + { x: 16614, y: 16614 }, + { x: 16615, y: 16615 }, + { x: 16616, y: 16616 }, + { x: 16617, y: 16617 }, + { x: 16618, y: 16618 }, + { x: 16619, y: 16619 }, + { x: 16620, y: 16620 }, + { x: 16621, y: 16621 }, + { x: 16622, y: 16622 }, + { x: 16623, y: 16623 }, + { x: 16624, y: 16624 }, + { x: 16625, y: 16625 }, + { x: 16626, y: 16626 }, + { x: 16627, y: 16627 }, + { x: 16628, y: 16628 }, + { x: 16629, y: 16629 }, + { x: 16630, y: 16630 }, + { x: 16631, y: 16631 }, + { x: 16632, y: 16632 }, + { x: 16633, y: 16633 }, + { x: 16634, y: 16634 }, + { x: 16635, y: 16635 }, + { x: 16636, y: 16636 }, + { x: 16637, y: 16637 }, + { x: 16638, y: 16638 }, + { x: 16639, y: 16639 }, + { x: 16640, y: 16640 }, + { x: 16641, y: 16641 }, + { x: 16642, y: 16642 }, + { x: 16643, y: 16643 }, + { x: 16644, y: 16644 }, + { x: 16645, y: 16645 }, + { x: 16646, y: 16646 }, + { x: 16647, y: 16647 }, + { x: 16648, y: 16648 }, + { x: 16649, y: 16649 }, + { x: 16650, y: 16650 }, + { x: 16651, y: 16651 }, + { x: 16652, y: 16652 }, + { x: 16653, y: 16653 }, + { x: 16654, y: 16654 }, + { x: 16655, y: 16655 }, + { x: 16656, y: 16656 }, + { x: 16657, y: 16657 }, + { x: 16658, y: 16658 }, + { x: 16659, y: 16659 }, + { x: 16660, y: 16660 }, + { x: 16661, y: 16661 }, + { x: 16662, y: 16662 }, + { x: 16663, y: 16663 }, + { x: 16664, y: 16664 }, + { x: 16665, y: 16665 }, + { x: 16666, y: 16666 }, + { x: 16667, y: 16667 }, + { x: 16668, y: 16668 }, + { x: 16669, y: 16669 }, + { x: 16670, y: 16670 }, + { x: 16671, y: 16671 }, + { x: 16672, y: 16672 }, + { x: 16673, y: 16673 }, + { x: 16674, y: 16674 }, + { x: 16675, y: 16675 }, + { x: 16676, y: 16676 }, + { x: 16677, y: 16677 }, + { x: 16678, y: 16678 }, + { x: 16679, y: 16679 }, + { x: 16680, y: 16680 }, + { x: 16681, y: 16681 }, + { x: 16682, y: 16682 }, + { x: 16683, y: 16683 }, + { x: 16684, y: 16684 }, + { x: 16685, y: 16685 }, + { x: 16686, y: 16686 }, + { x: 16687, y: 16687 }, + { x: 16688, y: 16688 }, + { x: 16689, y: 16689 }, + { x: 16690, y: 16690 }, + { x: 16691, y: 16691 }, + { x: 16692, y: 16692 }, + { x: 16693, y: 16693 }, + { x: 16694, y: 16694 }, + { x: 16695, y: 16695 }, + { x: 16696, y: 16696 }, + { x: 16697, y: 16697 }, + { x: 16698, y: 16698 }, + { x: 16699, y: 16699 }, + { x: 16700, y: 16700 }, + { x: 16701, y: 16701 }, + { x: 16702, y: 16702 }, + { x: 16703, y: 16703 }, + { x: 16704, y: 16704 }, + { x: 16705, y: 16705 }, + { x: 16706, y: 16706 }, + { x: 16707, y: 16707 }, + { x: 16708, y: 16708 }, + { x: 16709, y: 16709 }, + { x: 16710, y: 16710 }, + { x: 16711, y: 16711 }, + { x: 16712, y: 16712 }, + { x: 16713, y: 16713 }, + { x: 16714, y: 16714 }, + { x: 16715, y: 16715 }, + { x: 16716, y: 16716 }, + { x: 16717, y: 16717 }, + { x: 16718, y: 16718 }, + { x: 16719, y: 16719 }, + { x: 16720, y: 16720 }, + { x: 16721, y: 16721 }, + { x: 16722, y: 16722 }, + { x: 16723, y: 16723 }, + { x: 16724, y: 16724 }, + { x: 16725, y: 16725 }, + { x: 16726, y: 16726 }, + { x: 16727, y: 16727 }, + { x: 16728, y: 16728 }, + { x: 16729, y: 16729 }, + { x: 16730, y: 16730 }, + { x: 16731, y: 16731 }, + { x: 16732, y: 16732 }, + { x: 16733, y: 16733 }, + { x: 16734, y: 16734 }, + { x: 16735, y: 16735 }, + { x: 16736, y: 16736 }, + { x: 16737, y: 16737 }, + { x: 16738, y: 16738 }, + { x: 16739, y: 16739 }, + { x: 16740, y: 16740 }, + { x: 16741, y: 16741 }, + { x: 16742, y: 16742 }, + { x: 16743, y: 16743 }, + { x: 16744, y: 16744 }, + { x: 16745, y: 16745 }, + { x: 16746, y: 16746 }, + { x: 16747, y: 16747 }, + { x: 16748, y: 16748 }, + { x: 16749, y: 16749 }, + { x: 16750, y: 16750 }, + { x: 16751, y: 16751 }, + { x: 16752, y: 16752 }, + { x: 16753, y: 16753 }, + { x: 16754, y: 16754 }, + { x: 16755, y: 16755 }, + { x: 16756, y: 16756 }, + { x: 16757, y: 16757 }, + { x: 16758, y: 16758 }, + { x: 16759, y: 16759 }, + { x: 16760, y: 16760 }, + { x: 16761, y: 16761 }, + { x: 16762, y: 16762 }, + { x: 16763, y: 16763 }, + { x: 16764, y: 16764 }, + { x: 16765, y: 16765 }, + { x: 16766, y: 16766 }, + { x: 16767, y: 16767 }, + { x: 16768, y: 16768 }, + { x: 16769, y: 16769 }, + { x: 16770, y: 16770 }, + { x: 16771, y: 16771 }, + { x: 16772, y: 16772 }, + { x: 16773, y: 16773 }, + { x: 16774, y: 16774 }, + { x: 16775, y: 16775 }, + { x: 16776, y: 16776 }, + { x: 16777, y: 16777 }, + { x: 16778, y: 16778 }, + { x: 16779, y: 16779 }, + { x: 16780, y: 16780 }, + { x: 16781, y: 16781 }, + { x: 16782, y: 16782 }, + { x: 16783, y: 16783 }, + { x: 16784, y: 16784 }, + { x: 16785, y: 16785 }, + { x: 16786, y: 16786 }, + { x: 16787, y: 16787 }, + { x: 16788, y: 16788 }, + { x: 16789, y: 16789 }, + { x: 16790, y: 16790 }, + { x: 16791, y: 16791 }, + { x: 16792, y: 16792 }, + { x: 16793, y: 16793 }, + { x: 16794, y: 16794 }, + { x: 16795, y: 16795 }, + { x: 16796, y: 16796 }, + { x: 16797, y: 16797 }, + { x: 16798, y: 16798 }, + { x: 16799, y: 16799 }, + { x: 16800, y: 16800 }, + { x: 16801, y: 16801 }, + { x: 16802, y: 16802 }, + { x: 16803, y: 16803 }, + { x: 16804, y: 16804 }, + { x: 16805, y: 16805 }, + { x: 16806, y: 16806 }, + { x: 16807, y: 16807 }, + { x: 16808, y: 16808 }, + { x: 16809, y: 16809 }, + { x: 16810, y: 16810 }, + { x: 16811, y: 16811 }, + { x: 16812, y: 16812 }, + { x: 16813, y: 16813 }, + { x: 16814, y: 16814 }, + { x: 16815, y: 16815 }, + { x: 16816, y: 16816 }, + { x: 16817, y: 16817 }, + { x: 16818, y: 16818 }, + { x: 16819, y: 16819 }, + { x: 16820, y: 16820 }, + { x: 16821, y: 16821 }, + { x: 16822, y: 16822 }, + { x: 16823, y: 16823 }, + { x: 16824, y: 16824 }, + { x: 16825, y: 16825 }, + { x: 16826, y: 16826 }, + { x: 16827, y: 16827 }, + { x: 16828, y: 16828 }, + { x: 16829, y: 16829 }, + { x: 16830, y: 16830 }, + { x: 16831, y: 16831 }, + { x: 16832, y: 16832 }, + { x: 16833, y: 16833 }, + { x: 16834, y: 16834 }, + { x: 16835, y: 16835 }, + { x: 16836, y: 16836 }, + { x: 16837, y: 16837 }, + { x: 16838, y: 16838 }, + { x: 16839, y: 16839 }, + { x: 16840, y: 16840 }, + { x: 16841, y: 16841 }, + { x: 16842, y: 16842 }, + { x: 16843, y: 16843 }, + { x: 16844, y: 16844 }, + { x: 16845, y: 16845 }, + { x: 16846, y: 16846 }, + { x: 16847, y: 16847 }, + { x: 16848, y: 16848 }, + { x: 16849, y: 16849 }, + { x: 16850, y: 16850 }, + { x: 16851, y: 16851 }, + { x: 16852, y: 16852 }, + { x: 16853, y: 16853 }, + { x: 16854, y: 16854 }, + { x: 16855, y: 16855 }, + { x: 16856, y: 16856 }, + { x: 16857, y: 16857 }, + { x: 16858, y: 16858 }, + { x: 16859, y: 16859 }, + { x: 16860, y: 16860 }, + { x: 16861, y: 16861 }, + { x: 16862, y: 16862 }, + { x: 16863, y: 16863 }, + { x: 16864, y: 16864 }, + { x: 16865, y: 16865 }, + { x: 16866, y: 16866 }, + { x: 16867, y: 16867 }, + { x: 16868, y: 16868 }, + { x: 16869, y: 16869 }, + { x: 16870, y: 16870 }, + { x: 16871, y: 16871 }, + { x: 16872, y: 16872 }, + { x: 16873, y: 16873 }, + { x: 16874, y: 16874 }, + { x: 16875, y: 16875 }, + { x: 16876, y: 16876 }, + { x: 16877, y: 16877 }, + { x: 16878, y: 16878 }, + { x: 16879, y: 16879 }, + { x: 16880, y: 16880 }, + { x: 16881, y: 16881 }, + { x: 16882, y: 16882 }, + { x: 16883, y: 16883 }, + { x: 16884, y: 16884 }, + { x: 16885, y: 16885 }, + { x: 16886, y: 16886 }, + { x: 16887, y: 16887 }, + { x: 16888, y: 16888 }, + { x: 16889, y: 16889 }, + { x: 16890, y: 16890 }, + { x: 16891, y: 16891 }, + { x: 16892, y: 16892 }, + { x: 16893, y: 16893 }, + { x: 16894, y: 16894 }, + { x: 16895, y: 16895 }, + { x: 16896, y: 16896 }, + { x: 16897, y: 16897 }, + { x: 16898, y: 16898 }, + { x: 16899, y: 16899 }, + { x: 16900, y: 16900 }, + { x: 16901, y: 16901 }, + { x: 16902, y: 16902 }, + { x: 16903, y: 16903 }, + { x: 16904, y: 16904 }, + { x: 16905, y: 16905 }, + { x: 16906, y: 16906 }, + { x: 16907, y: 16907 }, + { x: 16908, y: 16908 }, + { x: 16909, y: 16909 }, + { x: 16910, y: 16910 }, + { x: 16911, y: 16911 }, + { x: 16912, y: 16912 }, + { x: 16913, y: 16913 }, + { x: 16914, y: 16914 }, + { x: 16915, y: 16915 }, + { x: 16916, y: 16916 }, + { x: 16917, y: 16917 }, + { x: 16918, y: 16918 }, + { x: 16919, y: 16919 }, + { x: 16920, y: 16920 }, + { x: 16921, y: 16921 }, + { x: 16922, y: 16922 }, + { x: 16923, y: 16923 }, + { x: 16924, y: 16924 }, + { x: 16925, y: 16925 }, + { x: 16926, y: 16926 }, + { x: 16927, y: 16927 }, + { x: 16928, y: 16928 }, + { x: 16929, y: 16929 }, + { x: 16930, y: 16930 }, + { x: 16931, y: 16931 }, + { x: 16932, y: 16932 }, + { x: 16933, y: 16933 }, + { x: 16934, y: 16934 }, + { x: 16935, y: 16935 }, + { x: 16936, y: 16936 }, + { x: 16937, y: 16937 }, + { x: 16938, y: 16938 }, + { x: 16939, y: 16939 }, + { x: 16940, y: 16940 }, + { x: 16941, y: 16941 }, + { x: 16942, y: 16942 }, + { x: 16943, y: 16943 }, + { x: 16944, y: 16944 }, + { x: 16945, y: 16945 }, + { x: 16946, y: 16946 }, + { x: 16947, y: 16947 }, + { x: 16948, y: 16948 }, + { x: 16949, y: 16949 }, + { x: 16950, y: 16950 }, + { x: 16951, y: 16951 }, + { x: 16952, y: 16952 }, + { x: 16953, y: 16953 }, + { x: 16954, y: 16954 }, + { x: 16955, y: 16955 }, + { x: 16956, y: 16956 }, + { x: 16957, y: 16957 }, + { x: 16958, y: 16958 }, + { x: 16959, y: 16959 }, + { x: 16960, y: 16960 }, + { x: 16961, y: 16961 }, + { x: 16962, y: 16962 }, + { x: 16963, y: 16963 }, + { x: 16964, y: 16964 }, + { x: 16965, y: 16965 }, + { x: 16966, y: 16966 }, + { x: 16967, y: 16967 }, + { x: 16968, y: 16968 }, + { x: 16969, y: 16969 }, + { x: 16970, y: 16970 }, + { x: 16971, y: 16971 }, + { x: 16972, y: 16972 }, + { x: 16973, y: 16973 }, + { x: 16974, y: 16974 }, + { x: 16975, y: 16975 }, + { x: 16976, y: 16976 }, + { x: 16977, y: 16977 }, + { x: 16978, y: 16978 }, + { x: 16979, y: 16979 }, + { x: 16980, y: 16980 }, + { x: 16981, y: 16981 }, + { x: 16982, y: 16982 }, + { x: 16983, y: 16983 }, + { x: 16984, y: 16984 }, + { x: 16985, y: 16985 }, + { x: 16986, y: 16986 }, + { x: 16987, y: 16987 }, + { x: 16988, y: 16988 }, + { x: 16989, y: 16989 }, + { x: 16990, y: 16990 }, + { x: 16991, y: 16991 }, + { x: 16992, y: 16992 }, + { x: 16993, y: 16993 }, + { x: 16994, y: 16994 }, + { x: 16995, y: 16995 }, + { x: 16996, y: 16996 }, + { x: 16997, y: 16997 }, + { x: 16998, y: 16998 }, + { x: 16999, y: 16999 }, + { x: 17000, y: 17000 }, + { x: 17001, y: 17001 }, + { x: 17002, y: 17002 }, + { x: 17003, y: 17003 }, + { x: 17004, y: 17004 }, + { x: 17005, y: 17005 }, + { x: 17006, y: 17006 }, + { x: 17007, y: 17007 }, + { x: 17008, y: 17008 }, + { x: 17009, y: 17009 }, + { x: 17010, y: 17010 }, + { x: 17011, y: 17011 }, + { x: 17012, y: 17012 }, + { x: 17013, y: 17013 }, + { x: 17014, y: 17014 }, + { x: 17015, y: 17015 }, + { x: 17016, y: 17016 }, + { x: 17017, y: 17017 }, + { x: 17018, y: 17018 }, + { x: 17019, y: 17019 }, + { x: 17020, y: 17020 }, + { x: 17021, y: 17021 }, + { x: 17022, y: 17022 }, + { x: 17023, y: 17023 }, + { x: 17024, y: 17024 }, + { x: 17025, y: 17025 }, + { x: 17026, y: 17026 }, + { x: 17027, y: 17027 }, + { x: 17028, y: 17028 }, + { x: 17029, y: 17029 }, + { x: 17030, y: 17030 }, + { x: 17031, y: 17031 }, + { x: 17032, y: 17032 }, + { x: 17033, y: 17033 }, + { x: 17034, y: 17034 }, + { x: 17035, y: 17035 }, + { x: 17036, y: 17036 }, + { x: 17037, y: 17037 }, + { x: 17038, y: 17038 }, + { x: 17039, y: 17039 }, + { x: 17040, y: 17040 }, + { x: 17041, y: 17041 }, + { x: 17042, y: 17042 }, + { x: 17043, y: 17043 }, + { x: 17044, y: 17044 }, + { x: 17045, y: 17045 }, + { x: 17046, y: 17046 }, + { x: 17047, y: 17047 }, + { x: 17048, y: 17048 }, + { x: 17049, y: 17049 }, + { x: 17050, y: 17050 }, + { x: 17051, y: 17051 }, + { x: 17052, y: 17052 }, + { x: 17053, y: 17053 }, + { x: 17054, y: 17054 }, + { x: 17055, y: 17055 }, + { x: 17056, y: 17056 }, + { x: 17057, y: 17057 }, + { x: 17058, y: 17058 }, + { x: 17059, y: 17059 }, + { x: 17060, y: 17060 }, + { x: 17061, y: 17061 }, + { x: 17062, y: 17062 }, + { x: 17063, y: 17063 }, + { x: 17064, y: 17064 }, + { x: 17065, y: 17065 }, + { x: 17066, y: 17066 }, + { x: 17067, y: 17067 }, + { x: 17068, y: 17068 }, + { x: 17069, y: 17069 }, + { x: 17070, y: 17070 }, + { x: 17071, y: 17071 }, + { x: 17072, y: 17072 }, + { x: 17073, y: 17073 }, + { x: 17074, y: 17074 }, + { x: 17075, y: 17075 }, + { x: 17076, y: 17076 }, + { x: 17077, y: 17077 }, + { x: 17078, y: 17078 }, + { x: 17079, y: 17079 }, + { x: 17080, y: 17080 }, + { x: 17081, y: 17081 }, + { x: 17082, y: 17082 }, + { x: 17083, y: 17083 }, + { x: 17084, y: 17084 }, + { x: 17085, y: 17085 }, + { x: 17086, y: 17086 }, + { x: 17087, y: 17087 }, + { x: 17088, y: 17088 }, + { x: 17089, y: 17089 }, + { x: 17090, y: 17090 }, + { x: 17091, y: 17091 }, + { x: 17092, y: 17092 }, + { x: 17093, y: 17093 }, + { x: 17094, y: 17094 }, + { x: 17095, y: 17095 }, + { x: 17096, y: 17096 }, + { x: 17097, y: 17097 }, + { x: 17098, y: 17098 }, + { x: 17099, y: 17099 }, + { x: 17100, y: 17100 }, + { x: 17101, y: 17101 }, + { x: 17102, y: 17102 }, + { x: 17103, y: 17103 }, + { x: 17104, y: 17104 }, + { x: 17105, y: 17105 }, + { x: 17106, y: 17106 }, + { x: 17107, y: 17107 }, + { x: 17108, y: 17108 }, + { x: 17109, y: 17109 }, + { x: 17110, y: 17110 }, + { x: 17111, y: 17111 }, + { x: 17112, y: 17112 }, + { x: 17113, y: 17113 }, + { x: 17114, y: 17114 }, + { x: 17115, y: 17115 }, + { x: 17116, y: 17116 }, + { x: 17117, y: 17117 }, + { x: 17118, y: 17118 }, + { x: 17119, y: 17119 }, + { x: 17120, y: 17120 }, + { x: 17121, y: 17121 }, + { x: 17122, y: 17122 }, + { x: 17123, y: 17123 }, + { x: 17124, y: 17124 }, + { x: 17125, y: 17125 }, + { x: 17126, y: 17126 }, + { x: 17127, y: 17127 }, + { x: 17128, y: 17128 }, + { x: 17129, y: 17129 }, + { x: 17130, y: 17130 }, + { x: 17131, y: 17131 }, + { x: 17132, y: 17132 }, + { x: 17133, y: 17133 }, + { x: 17134, y: 17134 }, + { x: 17135, y: 17135 }, + { x: 17136, y: 17136 }, + { x: 17137, y: 17137 }, + { x: 17138, y: 17138 }, + { x: 17139, y: 17139 }, + { x: 17140, y: 17140 }, + { x: 17141, y: 17141 }, + { x: 17142, y: 17142 }, + { x: 17143, y: 17143 }, + { x: 17144, y: 17144 }, + { x: 17145, y: 17145 }, + { x: 17146, y: 17146 }, + { x: 17147, y: 17147 }, + { x: 17148, y: 17148 }, + { x: 17149, y: 17149 }, + { x: 17150, y: 17150 }, + { x: 17151, y: 17151 }, + { x: 17152, y: 17152 }, + { x: 17153, y: 17153 }, + { x: 17154, y: 17154 }, + { x: 17155, y: 17155 }, + { x: 17156, y: 17156 }, + { x: 17157, y: 17157 }, + { x: 17158, y: 17158 }, + { x: 17159, y: 17159 }, + { x: 17160, y: 17160 }, + { x: 17161, y: 17161 }, + { x: 17162, y: 17162 }, + { x: 17163, y: 17163 }, + { x: 17164, y: 17164 }, + { x: 17165, y: 17165 }, + { x: 17166, y: 17166 }, + { x: 17167, y: 17167 }, + { x: 17168, y: 17168 }, + { x: 17169, y: 17169 }, + { x: 17170, y: 17170 }, + { x: 17171, y: 17171 }, + { x: 17172, y: 17172 }, + { x: 17173, y: 17173 }, + { x: 17174, y: 17174 }, + { x: 17175, y: 17175 }, + { x: 17176, y: 17176 }, + { x: 17177, y: 17177 }, + { x: 17178, y: 17178 }, + { x: 17179, y: 17179 }, + { x: 17180, y: 17180 }, + { x: 17181, y: 17181 }, + { x: 17182, y: 17182 }, + { x: 17183, y: 17183 }, + { x: 17184, y: 17184 }, + { x: 17185, y: 17185 }, + { x: 17186, y: 17186 }, + { x: 17187, y: 17187 }, + { x: 17188, y: 17188 }, + { x: 17189, y: 17189 }, + { x: 17190, y: 17190 }, + { x: 17191, y: 17191 }, + { x: 17192, y: 17192 }, + { x: 17193, y: 17193 }, + { x: 17194, y: 17194 }, + { x: 17195, y: 17195 }, + { x: 17196, y: 17196 }, + { x: 17197, y: 17197 }, + { x: 17198, y: 17198 }, + { x: 17199, y: 17199 }, + { x: 17200, y: 17200 }, + { x: 17201, y: 17201 }, + { x: 17202, y: 17202 }, + { x: 17203, y: 17203 }, + { x: 17204, y: 17204 }, + { x: 17205, y: 17205 }, + { x: 17206, y: 17206 }, + { x: 17207, y: 17207 }, + { x: 17208, y: 17208 }, + { x: 17209, y: 17209 }, + { x: 17210, y: 17210 }, + { x: 17211, y: 17211 }, + { x: 17212, y: 17212 }, + { x: 17213, y: 17213 }, + { x: 17214, y: 17214 }, + { x: 17215, y: 17215 }, + { x: 17216, y: 17216 }, + { x: 17217, y: 17217 }, + { x: 17218, y: 17218 }, + { x: 17219, y: 17219 }, + { x: 17220, y: 17220 }, + { x: 17221, y: 17221 }, + { x: 17222, y: 17222 }, + { x: 17223, y: 17223 }, + { x: 17224, y: 17224 }, + { x: 17225, y: 17225 }, + { x: 17226, y: 17226 }, + { x: 17227, y: 17227 }, + { x: 17228, y: 17228 }, + { x: 17229, y: 17229 }, + { x: 17230, y: 17230 }, + { x: 17231, y: 17231 }, + { x: 17232, y: 17232 }, + { x: 17233, y: 17233 }, + { x: 17234, y: 17234 }, + { x: 17235, y: 17235 }, + { x: 17236, y: 17236 }, + { x: 17237, y: 17237 }, + { x: 17238, y: 17238 }, + { x: 17239, y: 17239 }, + { x: 17240, y: 17240 }, + { x: 17241, y: 17241 }, + { x: 17242, y: 17242 }, + { x: 17243, y: 17243 }, + { x: 17244, y: 17244 }, + { x: 17245, y: 17245 }, + { x: 17246, y: 17246 }, + { x: 17247, y: 17247 }, + { x: 17248, y: 17248 }, + { x: 17249, y: 17249 }, + { x: 17250, y: 17250 }, + { x: 17251, y: 17251 }, + { x: 17252, y: 17252 }, + { x: 17253, y: 17253 }, + { x: 17254, y: 17254 }, + { x: 17255, y: 17255 }, + { x: 17256, y: 17256 }, + { x: 17257, y: 17257 }, + { x: 17258, y: 17258 }, + { x: 17259, y: 17259 }, + { x: 17260, y: 17260 }, + { x: 17261, y: 17261 }, + { x: 17262, y: 17262 }, + { x: 17263, y: 17263 }, + { x: 17264, y: 17264 }, + { x: 17265, y: 17265 }, + { x: 17266, y: 17266 }, + { x: 17267, y: 17267 }, + { x: 17268, y: 17268 }, + { x: 17269, y: 17269 }, + { x: 17270, y: 17270 }, + { x: 17271, y: 17271 }, + { x: 17272, y: 17272 }, + { x: 17273, y: 17273 }, + { x: 17274, y: 17274 }, + { x: 17275, y: 17275 }, + { x: 17276, y: 17276 }, + { x: 17277, y: 17277 }, + { x: 17278, y: 17278 }, + { x: 17279, y: 17279 }, + { x: 17280, y: 17280 }, + { x: 17281, y: 17281 }, + { x: 17282, y: 17282 }, + { x: 17283, y: 17283 }, + { x: 17284, y: 17284 }, + { x: 17285, y: 17285 }, + { x: 17286, y: 17286 }, + { x: 17287, y: 17287 }, + { x: 17288, y: 17288 }, + { x: 17289, y: 17289 }, + { x: 17290, y: 17290 }, + { x: 17291, y: 17291 }, + { x: 17292, y: 17292 }, + { x: 17293, y: 17293 }, + { x: 17294, y: 17294 }, + { x: 17295, y: 17295 }, + { x: 17296, y: 17296 }, + { x: 17297, y: 17297 }, + { x: 17298, y: 17298 }, + { x: 17299, y: 17299 }, + { x: 17300, y: 17300 }, + { x: 17301, y: 17301 }, + { x: 17302, y: 17302 }, + { x: 17303, y: 17303 }, + { x: 17304, y: 17304 }, + { x: 17305, y: 17305 }, + { x: 17306, y: 17306 }, + { x: 17307, y: 17307 }, + { x: 17308, y: 17308 }, + { x: 17309, y: 17309 }, + { x: 17310, y: 17310 }, + { x: 17311, y: 17311 }, + { x: 17312, y: 17312 }, + { x: 17313, y: 17313 }, + { x: 17314, y: 17314 }, + { x: 17315, y: 17315 }, + { x: 17316, y: 17316 }, + { x: 17317, y: 17317 }, + { x: 17318, y: 17318 }, + { x: 17319, y: 17319 }, + { x: 17320, y: 17320 }, + { x: 17321, y: 17321 }, + { x: 17322, y: 17322 }, + { x: 17323, y: 17323 }, + { x: 17324, y: 17324 }, + { x: 17325, y: 17325 }, + { x: 17326, y: 17326 }, + { x: 17327, y: 17327 }, + { x: 17328, y: 17328 }, + { x: 17329, y: 17329 }, + { x: 17330, y: 17330 }, + { x: 17331, y: 17331 }, + { x: 17332, y: 17332 }, + { x: 17333, y: 17333 }, + { x: 17334, y: 17334 }, + { x: 17335, y: 17335 }, + { x: 17336, y: 17336 }, + { x: 17337, y: 17337 }, + { x: 17338, y: 17338 }, + { x: 17339, y: 17339 }, + { x: 17340, y: 17340 }, + { x: 17341, y: 17341 }, + { x: 17342, y: 17342 }, + { x: 17343, y: 17343 }, + { x: 17344, y: 17344 }, + { x: 17345, y: 17345 }, + { x: 17346, y: 17346 }, + { x: 17347, y: 17347 }, + { x: 17348, y: 17348 }, + { x: 17349, y: 17349 }, + { x: 17350, y: 17350 }, + { x: 17351, y: 17351 }, + { x: 17352, y: 17352 }, + { x: 17353, y: 17353 }, + { x: 17354, y: 17354 }, + { x: 17355, y: 17355 }, + { x: 17356, y: 17356 }, + { x: 17357, y: 17357 }, + { x: 17358, y: 17358 }, + { x: 17359, y: 17359 }, + { x: 17360, y: 17360 }, + { x: 17361, y: 17361 }, + { x: 17362, y: 17362 }, + { x: 17363, y: 17363 }, + { x: 17364, y: 17364 }, + { x: 17365, y: 17365 }, + { x: 17366, y: 17366 }, + { x: 17367, y: 17367 }, + { x: 17368, y: 17368 }, + { x: 17369, y: 17369 }, + { x: 17370, y: 17370 }, + { x: 17371, y: 17371 }, + { x: 17372, y: 17372 }, + { x: 17373, y: 17373 }, + { x: 17374, y: 17374 }, + { x: 17375, y: 17375 }, + { x: 17376, y: 17376 }, + { x: 17377, y: 17377 }, + { x: 17378, y: 17378 }, + { x: 17379, y: 17379 }, + { x: 17380, y: 17380 }, + { x: 17381, y: 17381 }, + { x: 17382, y: 17382 }, + { x: 17383, y: 17383 }, + { x: 17384, y: 17384 }, + { x: 17385, y: 17385 }, + { x: 17386, y: 17386 }, + { x: 17387, y: 17387 }, + { x: 17388, y: 17388 }, + { x: 17389, y: 17389 }, + { x: 17390, y: 17390 }, + { x: 17391, y: 17391 }, + { x: 17392, y: 17392 }, + { x: 17393, y: 17393 }, + { x: 17394, y: 17394 }, + { x: 17395, y: 17395 }, + { x: 17396, y: 17396 }, + { x: 17397, y: 17397 }, + { x: 17398, y: 17398 }, + { x: 17399, y: 17399 }, + { x: 17400, y: 17400 }, + { x: 17401, y: 17401 }, + { x: 17402, y: 17402 }, + { x: 17403, y: 17403 }, + { x: 17404, y: 17404 }, + { x: 17405, y: 17405 }, + { x: 17406, y: 17406 }, + { x: 17407, y: 17407 }, + { x: 17408, y: 17408 }, + { x: 17409, y: 17409 }, + { x: 17410, y: 17410 }, + { x: 17411, y: 17411 }, + { x: 17412, y: 17412 }, + { x: 17413, y: 17413 }, + { x: 17414, y: 17414 }, + { x: 17415, y: 17415 }, + { x: 17416, y: 17416 }, + { x: 17417, y: 17417 }, + { x: 17418, y: 17418 }, + { x: 17419, y: 17419 }, + { x: 17420, y: 17420 }, + { x: 17421, y: 17421 }, + { x: 17422, y: 17422 }, + { x: 17423, y: 17423 }, + { x: 17424, y: 17424 }, + { x: 17425, y: 17425 }, + { x: 17426, y: 17426 }, + { x: 17427, y: 17427 }, + { x: 17428, y: 17428 }, + { x: 17429, y: 17429 }, + { x: 17430, y: 17430 }, + { x: 17431, y: 17431 }, + { x: 17432, y: 17432 }, + { x: 17433, y: 17433 }, + { x: 17434, y: 17434 }, + { x: 17435, y: 17435 }, + { x: 17436, y: 17436 }, + { x: 17437, y: 17437 }, + { x: 17438, y: 17438 }, + { x: 17439, y: 17439 }, + { x: 17440, y: 17440 }, + { x: 17441, y: 17441 }, + { x: 17442, y: 17442 }, + { x: 17443, y: 17443 }, + { x: 17444, y: 17444 }, + { x: 17445, y: 17445 }, + { x: 17446, y: 17446 }, + { x: 17447, y: 17447 }, + { x: 17448, y: 17448 }, + { x: 17449, y: 17449 }, + { x: 17450, y: 17450 }, + { x: 17451, y: 17451 }, + { x: 17452, y: 17452 }, + { x: 17453, y: 17453 }, + { x: 17454, y: 17454 }, + { x: 17455, y: 17455 }, + { x: 17456, y: 17456 }, + { x: 17457, y: 17457 }, + { x: 17458, y: 17458 }, + { x: 17459, y: 17459 }, + { x: 17460, y: 17460 }, + { x: 17461, y: 17461 }, + { x: 17462, y: 17462 }, + { x: 17463, y: 17463 }, + { x: 17464, y: 17464 }, + { x: 17465, y: 17465 }, + { x: 17466, y: 17466 }, + { x: 17467, y: 17467 }, + { x: 17468, y: 17468 }, + { x: 17469, y: 17469 }, + { x: 17470, y: 17470 }, + { x: 17471, y: 17471 }, + { x: 17472, y: 17472 }, + { x: 17473, y: 17473 }, + { x: 17474, y: 17474 }, + { x: 17475, y: 17475 }, + { x: 17476, y: 17476 }, + { x: 17477, y: 17477 }, + { x: 17478, y: 17478 }, + { x: 17479, y: 17479 }, + { x: 17480, y: 17480 }, + { x: 17481, y: 17481 }, + { x: 17482, y: 17482 }, + { x: 17483, y: 17483 }, + { x: 17484, y: 17484 }, + { x: 17485, y: 17485 }, + { x: 17486, y: 17486 }, + { x: 17487, y: 17487 }, + { x: 17488, y: 17488 }, + { x: 17489, y: 17489 }, + { x: 17490, y: 17490 }, + { x: 17491, y: 17491 }, + { x: 17492, y: 17492 }, + { x: 17493, y: 17493 }, + { x: 17494, y: 17494 }, + { x: 17495, y: 17495 }, + { x: 17496, y: 17496 }, + { x: 17497, y: 17497 }, + { x: 17498, y: 17498 }, + { x: 17499, y: 17499 }, + { x: 17500, y: 17500 }, + { x: 17501, y: 17501 }, + { x: 17502, y: 17502 }, + { x: 17503, y: 17503 }, + { x: 17504, y: 17504 }, + { x: 17505, y: 17505 }, + { x: 17506, y: 17506 }, + { x: 17507, y: 17507 }, + { x: 17508, y: 17508 }, + { x: 17509, y: 17509 }, + { x: 17510, y: 17510 }, + { x: 17511, y: 17511 }, + { x: 17512, y: 17512 }, + { x: 17513, y: 17513 }, + { x: 17514, y: 17514 }, + { x: 17515, y: 17515 }, + { x: 17516, y: 17516 }, + { x: 17517, y: 17517 }, + { x: 17518, y: 17518 }, + { x: 17519, y: 17519 }, + { x: 17520, y: 17520 }, + { x: 17521, y: 17521 }, + { x: 17522, y: 17522 }, + { x: 17523, y: 17523 }, + { x: 17524, y: 17524 }, + { x: 17525, y: 17525 }, + { x: 17526, y: 17526 }, + { x: 17527, y: 17527 }, + { x: 17528, y: 17528 }, + { x: 17529, y: 17529 }, + { x: 17530, y: 17530 }, + { x: 17531, y: 17531 }, + { x: 17532, y: 17532 }, + { x: 17533, y: 17533 }, + { x: 17534, y: 17534 }, + { x: 17535, y: 17535 }, + { x: 17536, y: 17536 }, + { x: 17537, y: 17537 }, + { x: 17538, y: 17538 }, + { x: 17539, y: 17539 }, + { x: 17540, y: 17540 }, + { x: 17541, y: 17541 }, + { x: 17542, y: 17542 }, + { x: 17543, y: 17543 }, + { x: 17544, y: 17544 }, + { x: 17545, y: 17545 }, + { x: 17546, y: 17546 }, + { x: 17547, y: 17547 }, + { x: 17548, y: 17548 }, + { x: 17549, y: 17549 }, + { x: 17550, y: 17550 }, + { x: 17551, y: 17551 }, + { x: 17552, y: 17552 }, + { x: 17553, y: 17553 }, + { x: 17554, y: 17554 }, + { x: 17555, y: 17555 }, + { x: 17556, y: 17556 }, + { x: 17557, y: 17557 }, + { x: 17558, y: 17558 }, + { x: 17559, y: 17559 }, + { x: 17560, y: 17560 }, + { x: 17561, y: 17561 }, + { x: 17562, y: 17562 }, + { x: 17563, y: 17563 }, + { x: 17564, y: 17564 }, + { x: 17565, y: 17565 }, + { x: 17566, y: 17566 }, + { x: 17567, y: 17567 }, + { x: 17568, y: 17568 }, + { x: 17569, y: 17569 }, + { x: 17570, y: 17570 }, + { x: 17571, y: 17571 }, + { x: 17572, y: 17572 }, + { x: 17573, y: 17573 }, + { x: 17574, y: 17574 }, + { x: 17575, y: 17575 }, + { x: 17576, y: 17576 }, + { x: 17577, y: 17577 }, + { x: 17578, y: 17578 }, + { x: 17579, y: 17579 }, + { x: 17580, y: 17580 }, + { x: 17581, y: 17581 }, + { x: 17582, y: 17582 }, + { x: 17583, y: 17583 }, + { x: 17584, y: 17584 }, + { x: 17585, y: 17585 }, + { x: 17586, y: 17586 }, + { x: 17587, y: 17587 }, + { x: 17588, y: 17588 }, + { x: 17589, y: 17589 }, + { x: 17590, y: 17590 }, + { x: 17591, y: 17591 }, + { x: 17592, y: 17592 }, + { x: 17593, y: 17593 }, + { x: 17594, y: 17594 }, + { x: 17595, y: 17595 }, + { x: 17596, y: 17596 }, + { x: 17597, y: 17597 }, + { x: 17598, y: 17598 }, + { x: 17599, y: 17599 }, + { x: 17600, y: 17600 }, + { x: 17601, y: 17601 }, + { x: 17602, y: 17602 }, + { x: 17603, y: 17603 }, + { x: 17604, y: 17604 }, + { x: 17605, y: 17605 }, + { x: 17606, y: 17606 }, + { x: 17607, y: 17607 }, + { x: 17608, y: 17608 }, + { x: 17609, y: 17609 }, + { x: 17610, y: 17610 }, + { x: 17611, y: 17611 }, + { x: 17612, y: 17612 }, + { x: 17613, y: 17613 }, + { x: 17614, y: 17614 }, + { x: 17615, y: 17615 }, + { x: 17616, y: 17616 }, + { x: 17617, y: 17617 }, + { x: 17618, y: 17618 }, + { x: 17619, y: 17619 }, + { x: 17620, y: 17620 }, + { x: 17621, y: 17621 }, + { x: 17622, y: 17622 }, + { x: 17623, y: 17623 }, + { x: 17624, y: 17624 }, + { x: 17625, y: 17625 }, + { x: 17626, y: 17626 }, + { x: 17627, y: 17627 }, + { x: 17628, y: 17628 }, + { x: 17629, y: 17629 }, + { x: 17630, y: 17630 }, + { x: 17631, y: 17631 }, + { x: 17632, y: 17632 }, + { x: 17633, y: 17633 }, + { x: 17634, y: 17634 }, + { x: 17635, y: 17635 }, + { x: 17636, y: 17636 }, + { x: 17637, y: 17637 }, + { x: 17638, y: 17638 }, + { x: 17639, y: 17639 }, + { x: 17640, y: 17640 }, + { x: 17641, y: 17641 }, + { x: 17642, y: 17642 }, + { x: 17643, y: 17643 }, + { x: 17644, y: 17644 }, + { x: 17645, y: 17645 }, + { x: 17646, y: 17646 }, + { x: 17647, y: 17647 }, + { x: 17648, y: 17648 }, + { x: 17649, y: 17649 }, + { x: 17650, y: 17650 }, + { x: 17651, y: 17651 }, + { x: 17652, y: 17652 }, + { x: 17653, y: 17653 }, + { x: 17654, y: 17654 }, + { x: 17655, y: 17655 }, + { x: 17656, y: 17656 }, + { x: 17657, y: 17657 }, + { x: 17658, y: 17658 }, + { x: 17659, y: 17659 }, + { x: 17660, y: 17660 }, + { x: 17661, y: 17661 }, + { x: 17662, y: 17662 }, + { x: 17663, y: 17663 }, + { x: 17664, y: 17664 }, + { x: 17665, y: 17665 }, + { x: 17666, y: 17666 }, + { x: 17667, y: 17667 }, + { x: 17668, y: 17668 }, + { x: 17669, y: 17669 }, + { x: 17670, y: 17670 }, + { x: 17671, y: 17671 }, + { x: 17672, y: 17672 }, + { x: 17673, y: 17673 }, + { x: 17674, y: 17674 }, + { x: 17675, y: 17675 }, + { x: 17676, y: 17676 }, + { x: 17677, y: 17677 }, + { x: 17678, y: 17678 }, + { x: 17679, y: 17679 }, + { x: 17680, y: 17680 }, + { x: 17681, y: 17681 }, + { x: 17682, y: 17682 }, + { x: 17683, y: 17683 }, + { x: 17684, y: 17684 }, + { x: 17685, y: 17685 }, + { x: 17686, y: 17686 }, + { x: 17687, y: 17687 }, + { x: 17688, y: 17688 }, + { x: 17689, y: 17689 }, + { x: 17690, y: 17690 }, + { x: 17691, y: 17691 }, + { x: 17692, y: 17692 }, + { x: 17693, y: 17693 }, + { x: 17694, y: 17694 }, + { x: 17695, y: 17695 }, + { x: 17696, y: 17696 }, + { x: 17697, y: 17697 }, + { x: 17698, y: 17698 }, + { x: 17699, y: 17699 }, + { x: 17700, y: 17700 }, + { x: 17701, y: 17701 }, + { x: 17702, y: 17702 }, + { x: 17703, y: 17703 }, + { x: 17704, y: 17704 }, + { x: 17705, y: 17705 }, + { x: 17706, y: 17706 }, + { x: 17707, y: 17707 }, + { x: 17708, y: 17708 }, + { x: 17709, y: 17709 }, + { x: 17710, y: 17710 }, + { x: 17711, y: 17711 }, + { x: 17712, y: 17712 }, + { x: 17713, y: 17713 }, + { x: 17714, y: 17714 }, + { x: 17715, y: 17715 }, + { x: 17716, y: 17716 }, + { x: 17717, y: 17717 }, + { x: 17718, y: 17718 }, + { x: 17719, y: 17719 }, + { x: 17720, y: 17720 }, + { x: 17721, y: 17721 }, + { x: 17722, y: 17722 }, + { x: 17723, y: 17723 }, + { x: 17724, y: 17724 }, + { x: 17725, y: 17725 }, + { x: 17726, y: 17726 }, + { x: 17727, y: 17727 }, + { x: 17728, y: 17728 }, + { x: 17729, y: 17729 }, + { x: 17730, y: 17730 }, + { x: 17731, y: 17731 }, + { x: 17732, y: 17732 }, + { x: 17733, y: 17733 }, + { x: 17734, y: 17734 }, + { x: 17735, y: 17735 }, + { x: 17736, y: 17736 }, + { x: 17737, y: 17737 }, + { x: 17738, y: 17738 }, + { x: 17739, y: 17739 }, + { x: 17740, y: 17740 }, + { x: 17741, y: 17741 }, + { x: 17742, y: 17742 }, + { x: 17743, y: 17743 }, + { x: 17744, y: 17744 }, + { x: 17745, y: 17745 }, + { x: 17746, y: 17746 }, + { x: 17747, y: 17747 }, + { x: 17748, y: 17748 }, + { x: 17749, y: 17749 }, + { x: 17750, y: 17750 }, + { x: 17751, y: 17751 }, + { x: 17752, y: 17752 }, + { x: 17753, y: 17753 }, + { x: 17754, y: 17754 }, + { x: 17755, y: 17755 }, + { x: 17756, y: 17756 }, + { x: 17757, y: 17757 }, + { x: 17758, y: 17758 }, + { x: 17759, y: 17759 }, + { x: 17760, y: 17760 }, + { x: 17761, y: 17761 }, + { x: 17762, y: 17762 }, + { x: 17763, y: 17763 }, + { x: 17764, y: 17764 }, + { x: 17765, y: 17765 }, + { x: 17766, y: 17766 }, + { x: 17767, y: 17767 }, + { x: 17768, y: 17768 }, + { x: 17769, y: 17769 }, + { x: 17770, y: 17770 }, + { x: 17771, y: 17771 }, + { x: 17772, y: 17772 }, + { x: 17773, y: 17773 }, + { x: 17774, y: 17774 }, + { x: 17775, y: 17775 }, + { x: 17776, y: 17776 }, + { x: 17777, y: 17777 }, + { x: 17778, y: 17778 }, + { x: 17779, y: 17779 }, + { x: 17780, y: 17780 }, + { x: 17781, y: 17781 }, + { x: 17782, y: 17782 }, + { x: 17783, y: 17783 }, + { x: 17784, y: 17784 }, + { x: 17785, y: 17785 }, + { x: 17786, y: 17786 }, + { x: 17787, y: 17787 }, + { x: 17788, y: 17788 }, + { x: 17789, y: 17789 }, + { x: 17790, y: 17790 }, + { x: 17791, y: 17791 }, + { x: 17792, y: 17792 }, + { x: 17793, y: 17793 }, + { x: 17794, y: 17794 }, + { x: 17795, y: 17795 }, + { x: 17796, y: 17796 }, + { x: 17797, y: 17797 }, + { x: 17798, y: 17798 }, + { x: 17799, y: 17799 }, + { x: 17800, y: 17800 }, + { x: 17801, y: 17801 }, + { x: 17802, y: 17802 }, + { x: 17803, y: 17803 }, + { x: 17804, y: 17804 }, + { x: 17805, y: 17805 }, + { x: 17806, y: 17806 }, + { x: 17807, y: 17807 }, + { x: 17808, y: 17808 }, + { x: 17809, y: 17809 }, + { x: 17810, y: 17810 }, + { x: 17811, y: 17811 }, + { x: 17812, y: 17812 }, + { x: 17813, y: 17813 }, + { x: 17814, y: 17814 }, + { x: 17815, y: 17815 }, + { x: 17816, y: 17816 }, + { x: 17817, y: 17817 }, + { x: 17818, y: 17818 }, + { x: 17819, y: 17819 }, + { x: 17820, y: 17820 }, + { x: 17821, y: 17821 }, + { x: 17822, y: 17822 }, + { x: 17823, y: 17823 }, + { x: 17824, y: 17824 }, + { x: 17825, y: 17825 }, + { x: 17826, y: 17826 }, + { x: 17827, y: 17827 }, + { x: 17828, y: 17828 }, + { x: 17829, y: 17829 }, + { x: 17830, y: 17830 }, + { x: 17831, y: 17831 }, + { x: 17832, y: 17832 }, + { x: 17833, y: 17833 }, + { x: 17834, y: 17834 }, + { x: 17835, y: 17835 }, + { x: 17836, y: 17836 }, + { x: 17837, y: 17837 }, + { x: 17838, y: 17838 }, + { x: 17839, y: 17839 }, + { x: 17840, y: 17840 }, + { x: 17841, y: 17841 }, + { x: 17842, y: 17842 }, + { x: 17843, y: 17843 }, + { x: 17844, y: 17844 }, + { x: 17845, y: 17845 }, + { x: 17846, y: 17846 }, + { x: 17847, y: 17847 }, + { x: 17848, y: 17848 }, + { x: 17849, y: 17849 }, + { x: 17850, y: 17850 }, + { x: 17851, y: 17851 }, + { x: 17852, y: 17852 }, + { x: 17853, y: 17853 }, + { x: 17854, y: 17854 }, + { x: 17855, y: 17855 }, + { x: 17856, y: 17856 }, + { x: 17857, y: 17857 }, + { x: 17858, y: 17858 }, + { x: 17859, y: 17859 }, + { x: 17860, y: 17860 }, + { x: 17861, y: 17861 }, + { x: 17862, y: 17862 }, + { x: 17863, y: 17863 }, + { x: 17864, y: 17864 }, + { x: 17865, y: 17865 }, + { x: 17866, y: 17866 }, + { x: 17867, y: 17867 }, + { x: 17868, y: 17868 }, + { x: 17869, y: 17869 }, + { x: 17870, y: 17870 }, + { x: 17871, y: 17871 }, + { x: 17872, y: 17872 }, + { x: 17873, y: 17873 }, + { x: 17874, y: 17874 }, + { x: 17875, y: 17875 }, + { x: 17876, y: 17876 }, + { x: 17877, y: 17877 }, + { x: 17878, y: 17878 }, + { x: 17879, y: 17879 }, + { x: 17880, y: 17880 }, + { x: 17881, y: 17881 }, + { x: 17882, y: 17882 }, + { x: 17883, y: 17883 }, + { x: 17884, y: 17884 }, + { x: 17885, y: 17885 }, + { x: 17886, y: 17886 }, + { x: 17887, y: 17887 }, + { x: 17888, y: 17888 }, + { x: 17889, y: 17889 }, + { x: 17890, y: 17890 }, + { x: 17891, y: 17891 }, + { x: 17892, y: 17892 }, + { x: 17893, y: 17893 }, + { x: 17894, y: 17894 }, + { x: 17895, y: 17895 }, + { x: 17896, y: 17896 }, + { x: 17897, y: 17897 }, + { x: 17898, y: 17898 }, + { x: 17899, y: 17899 }, + { x: 17900, y: 17900 }, + { x: 17901, y: 17901 }, + { x: 17902, y: 17902 }, + { x: 17903, y: 17903 }, + { x: 17904, y: 17904 }, + { x: 17905, y: 17905 }, + { x: 17906, y: 17906 }, + { x: 17907, y: 17907 }, + { x: 17908, y: 17908 }, + { x: 17909, y: 17909 }, + { x: 17910, y: 17910 }, + { x: 17911, y: 17911 }, + { x: 17912, y: 17912 }, + { x: 17913, y: 17913 }, + { x: 17914, y: 17914 }, + { x: 17915, y: 17915 }, + { x: 17916, y: 17916 }, + { x: 17917, y: 17917 }, + { x: 17918, y: 17918 }, + { x: 17919, y: 17919 }, + { x: 17920, y: 17920 }, + { x: 17921, y: 17921 }, + { x: 17922, y: 17922 }, + { x: 17923, y: 17923 }, + { x: 17924, y: 17924 }, + { x: 17925, y: 17925 }, + { x: 17926, y: 17926 }, + { x: 17927, y: 17927 }, + { x: 17928, y: 17928 }, + { x: 17929, y: 17929 }, + { x: 17930, y: 17930 }, + { x: 17931, y: 17931 }, + { x: 17932, y: 17932 }, + { x: 17933, y: 17933 }, + { x: 17934, y: 17934 }, + { x: 17935, y: 17935 }, + { x: 17936, y: 17936 }, + { x: 17937, y: 17937 }, + { x: 17938, y: 17938 }, + { x: 17939, y: 17939 }, + { x: 17940, y: 17940 }, + { x: 17941, y: 17941 }, + { x: 17942, y: 17942 }, + { x: 17943, y: 17943 }, + { x: 17944, y: 17944 }, + { x: 17945, y: 17945 }, + { x: 17946, y: 17946 }, + { x: 17947, y: 17947 }, + { x: 17948, y: 17948 }, + { x: 17949, y: 17949 }, + { x: 17950, y: 17950 }, + { x: 17951, y: 17951 }, + { x: 17952, y: 17952 }, + { x: 17953, y: 17953 }, + { x: 17954, y: 17954 }, + { x: 17955, y: 17955 }, + { x: 17956, y: 17956 }, + { x: 17957, y: 17957 }, + { x: 17958, y: 17958 }, + { x: 17959, y: 17959 }, + { x: 17960, y: 17960 }, + { x: 17961, y: 17961 }, + { x: 17962, y: 17962 }, + { x: 17963, y: 17963 }, + { x: 17964, y: 17964 }, + { x: 17965, y: 17965 }, + { x: 17966, y: 17966 }, + { x: 17967, y: 17967 }, + { x: 17968, y: 17968 }, + { x: 17969, y: 17969 }, + { x: 17970, y: 17970 }, + { x: 17971, y: 17971 }, + { x: 17972, y: 17972 }, + { x: 17973, y: 17973 }, + { x: 17974, y: 17974 }, + { x: 17975, y: 17975 }, + { x: 17976, y: 17976 }, + { x: 17977, y: 17977 }, + { x: 17978, y: 17978 }, + { x: 17979, y: 17979 }, + { x: 17980, y: 17980 }, + { x: 17981, y: 17981 }, + { x: 17982, y: 17982 }, + { x: 17983, y: 17983 }, + { x: 17984, y: 17984 }, + { x: 17985, y: 17985 }, + { x: 17986, y: 17986 }, + { x: 17987, y: 17987 }, + { x: 17988, y: 17988 }, + { x: 17989, y: 17989 }, + { x: 17990, y: 17990 }, + { x: 17991, y: 17991 }, + { x: 17992, y: 17992 }, + { x: 17993, y: 17993 }, + { x: 17994, y: 17994 }, + { x: 17995, y: 17995 }, + { x: 17996, y: 17996 }, + { x: 17997, y: 17997 }, + { x: 17998, y: 17998 }, + { x: 17999, y: 17999 }, + { x: 18000, y: 18000 }, + { x: 18001, y: 18001 }, + { x: 18002, y: 18002 }, + { x: 18003, y: 18003 }, + { x: 18004, y: 18004 }, + { x: 18005, y: 18005 }, + { x: 18006, y: 18006 }, + { x: 18007, y: 18007 }, + { x: 18008, y: 18008 }, + { x: 18009, y: 18009 }, + { x: 18010, y: 18010 }, + { x: 18011, y: 18011 }, + { x: 18012, y: 18012 }, + { x: 18013, y: 18013 }, + { x: 18014, y: 18014 }, + { x: 18015, y: 18015 }, + { x: 18016, y: 18016 }, + { x: 18017, y: 18017 }, + { x: 18018, y: 18018 }, + { x: 18019, y: 18019 }, + { x: 18020, y: 18020 }, + { x: 18021, y: 18021 }, + { x: 18022, y: 18022 }, + { x: 18023, y: 18023 }, + { x: 18024, y: 18024 }, + { x: 18025, y: 18025 }, + { x: 18026, y: 18026 }, + { x: 18027, y: 18027 }, + { x: 18028, y: 18028 }, + { x: 18029, y: 18029 }, + { x: 18030, y: 18030 }, + { x: 18031, y: 18031 }, + { x: 18032, y: 18032 }, + { x: 18033, y: 18033 }, + { x: 18034, y: 18034 }, + { x: 18035, y: 18035 }, + { x: 18036, y: 18036 }, + { x: 18037, y: 18037 }, + { x: 18038, y: 18038 }, + { x: 18039, y: 18039 }, + { x: 18040, y: 18040 }, + { x: 18041, y: 18041 }, + { x: 18042, y: 18042 }, + { x: 18043, y: 18043 }, + { x: 18044, y: 18044 }, + { x: 18045, y: 18045 }, + { x: 18046, y: 18046 }, + { x: 18047, y: 18047 }, + { x: 18048, y: 18048 }, + { x: 18049, y: 18049 }, + { x: 18050, y: 18050 }, + { x: 18051, y: 18051 }, + { x: 18052, y: 18052 }, + { x: 18053, y: 18053 }, + { x: 18054, y: 18054 }, + { x: 18055, y: 18055 }, + { x: 18056, y: 18056 }, + { x: 18057, y: 18057 }, + { x: 18058, y: 18058 }, + { x: 18059, y: 18059 }, + { x: 18060, y: 18060 }, + { x: 18061, y: 18061 }, + { x: 18062, y: 18062 }, + { x: 18063, y: 18063 }, + { x: 18064, y: 18064 }, + { x: 18065, y: 18065 }, + { x: 18066, y: 18066 }, + { x: 18067, y: 18067 }, + { x: 18068, y: 18068 }, + { x: 18069, y: 18069 }, + { x: 18070, y: 18070 }, + { x: 18071, y: 18071 }, + { x: 18072, y: 18072 }, + { x: 18073, y: 18073 }, + { x: 18074, y: 18074 }, + { x: 18075, y: 18075 }, + { x: 18076, y: 18076 }, + { x: 18077, y: 18077 }, + { x: 18078, y: 18078 }, + { x: 18079, y: 18079 }, + { x: 18080, y: 18080 }, + { x: 18081, y: 18081 }, + { x: 18082, y: 18082 }, + { x: 18083, y: 18083 }, + { x: 18084, y: 18084 }, + { x: 18085, y: 18085 }, + { x: 18086, y: 18086 }, + { x: 18087, y: 18087 }, + { x: 18088, y: 18088 }, + { x: 18089, y: 18089 }, + { x: 18090, y: 18090 }, + { x: 18091, y: 18091 }, + { x: 18092, y: 18092 }, + { x: 18093, y: 18093 }, + { x: 18094, y: 18094 }, + { x: 18095, y: 18095 }, + { x: 18096, y: 18096 }, + { x: 18097, y: 18097 }, + { x: 18098, y: 18098 }, + { x: 18099, y: 18099 }, + { x: 18100, y: 18100 }, + { x: 18101, y: 18101 }, + { x: 18102, y: 18102 }, + { x: 18103, y: 18103 }, + { x: 18104, y: 18104 }, + { x: 18105, y: 18105 }, + { x: 18106, y: 18106 }, + { x: 18107, y: 18107 }, + { x: 18108, y: 18108 }, + { x: 18109, y: 18109 }, + { x: 18110, y: 18110 }, + { x: 18111, y: 18111 }, + { x: 18112, y: 18112 }, + { x: 18113, y: 18113 }, + { x: 18114, y: 18114 }, + { x: 18115, y: 18115 }, + { x: 18116, y: 18116 }, + { x: 18117, y: 18117 }, + { x: 18118, y: 18118 }, + { x: 18119, y: 18119 }, + { x: 18120, y: 18120 }, + { x: 18121, y: 18121 }, + { x: 18122, y: 18122 }, + { x: 18123, y: 18123 }, + { x: 18124, y: 18124 }, + { x: 18125, y: 18125 }, + { x: 18126, y: 18126 }, + { x: 18127, y: 18127 }, + { x: 18128, y: 18128 }, + { x: 18129, y: 18129 }, + { x: 18130, y: 18130 }, + { x: 18131, y: 18131 }, + { x: 18132, y: 18132 }, + { x: 18133, y: 18133 }, + { x: 18134, y: 18134 }, + { x: 18135, y: 18135 }, + { x: 18136, y: 18136 }, + { x: 18137, y: 18137 }, + { x: 18138, y: 18138 }, + { x: 18139, y: 18139 }, + { x: 18140, y: 18140 }, + { x: 18141, y: 18141 }, + { x: 18142, y: 18142 }, + { x: 18143, y: 18143 }, + { x: 18144, y: 18144 }, + { x: 18145, y: 18145 }, + { x: 18146, y: 18146 }, + { x: 18147, y: 18147 }, + { x: 18148, y: 18148 }, + { x: 18149, y: 18149 }, + { x: 18150, y: 18150 }, + { x: 18151, y: 18151 }, + { x: 18152, y: 18152 }, + { x: 18153, y: 18153 }, + { x: 18154, y: 18154 }, + { x: 18155, y: 18155 }, + { x: 18156, y: 18156 }, + { x: 18157, y: 18157 }, + { x: 18158, y: 18158 }, + { x: 18159, y: 18159 }, + { x: 18160, y: 18160 }, + { x: 18161, y: 18161 }, + { x: 18162, y: 18162 }, + { x: 18163, y: 18163 }, + { x: 18164, y: 18164 }, + { x: 18165, y: 18165 }, + { x: 18166, y: 18166 }, + { x: 18167, y: 18167 }, + { x: 18168, y: 18168 }, + { x: 18169, y: 18169 }, + { x: 18170, y: 18170 }, + { x: 18171, y: 18171 }, + { x: 18172, y: 18172 }, + { x: 18173, y: 18173 }, + { x: 18174, y: 18174 }, + { x: 18175, y: 18175 }, + { x: 18176, y: 18176 }, + { x: 18177, y: 18177 }, + { x: 18178, y: 18178 }, + { x: 18179, y: 18179 }, + { x: 18180, y: 18180 }, + { x: 18181, y: 18181 }, + { x: 18182, y: 18182 }, + { x: 18183, y: 18183 }, + { x: 18184, y: 18184 }, + { x: 18185, y: 18185 }, + { x: 18186, y: 18186 }, + { x: 18187, y: 18187 }, + { x: 18188, y: 18188 }, + { x: 18189, y: 18189 }, + { x: 18190, y: 18190 }, + { x: 18191, y: 18191 }, + { x: 18192, y: 18192 }, + { x: 18193, y: 18193 }, + { x: 18194, y: 18194 }, + { x: 18195, y: 18195 }, + { x: 18196, y: 18196 }, + { x: 18197, y: 18197 }, + { x: 18198, y: 18198 }, + { x: 18199, y: 18199 }, + { x: 18200, y: 18200 }, + { x: 18201, y: 18201 }, + { x: 18202, y: 18202 }, + { x: 18203, y: 18203 }, + { x: 18204, y: 18204 }, + { x: 18205, y: 18205 }, + { x: 18206, y: 18206 }, + { x: 18207, y: 18207 }, + { x: 18208, y: 18208 }, + { x: 18209, y: 18209 }, + { x: 18210, y: 18210 }, + { x: 18211, y: 18211 }, + { x: 18212, y: 18212 }, + { x: 18213, y: 18213 }, + { x: 18214, y: 18214 }, + { x: 18215, y: 18215 }, + { x: 18216, y: 18216 }, + { x: 18217, y: 18217 }, + { x: 18218, y: 18218 }, + { x: 18219, y: 18219 }, + { x: 18220, y: 18220 }, + { x: 18221, y: 18221 }, + { x: 18222, y: 18222 }, + { x: 18223, y: 18223 }, + { x: 18224, y: 18224 }, + { x: 18225, y: 18225 }, + { x: 18226, y: 18226 }, + { x: 18227, y: 18227 }, + { x: 18228, y: 18228 }, + { x: 18229, y: 18229 }, + { x: 18230, y: 18230 }, + { x: 18231, y: 18231 }, + { x: 18232, y: 18232 }, + { x: 18233, y: 18233 }, + { x: 18234, y: 18234 }, + { x: 18235, y: 18235 }, + { x: 18236, y: 18236 }, + { x: 18237, y: 18237 }, + { x: 18238, y: 18238 }, + { x: 18239, y: 18239 }, + { x: 18240, y: 18240 }, + { x: 18241, y: 18241 }, + { x: 18242, y: 18242 }, + { x: 18243, y: 18243 }, + { x: 18244, y: 18244 }, + { x: 18245, y: 18245 }, + { x: 18246, y: 18246 }, + { x: 18247, y: 18247 }, + { x: 18248, y: 18248 }, + { x: 18249, y: 18249 }, + { x: 18250, y: 18250 }, + { x: 18251, y: 18251 }, + { x: 18252, y: 18252 }, + { x: 18253, y: 18253 }, + { x: 18254, y: 18254 }, + { x: 18255, y: 18255 }, + { x: 18256, y: 18256 }, + { x: 18257, y: 18257 }, + { x: 18258, y: 18258 }, + { x: 18259, y: 18259 }, + { x: 18260, y: 18260 }, + { x: 18261, y: 18261 }, + { x: 18262, y: 18262 }, + { x: 18263, y: 18263 }, + { x: 18264, y: 18264 }, + { x: 18265, y: 18265 }, + { x: 18266, y: 18266 }, + { x: 18267, y: 18267 }, + { x: 18268, y: 18268 }, + { x: 18269, y: 18269 }, + { x: 18270, y: 18270 }, + { x: 18271, y: 18271 }, + { x: 18272, y: 18272 }, + { x: 18273, y: 18273 }, + { x: 18274, y: 18274 }, + { x: 18275, y: 18275 }, + { x: 18276, y: 18276 }, + { x: 18277, y: 18277 }, + { x: 18278, y: 18278 }, + { x: 18279, y: 18279 }, + { x: 18280, y: 18280 }, + { x: 18281, y: 18281 }, + { x: 18282, y: 18282 }, + { x: 18283, y: 18283 }, + { x: 18284, y: 18284 }, + { x: 18285, y: 18285 }, + { x: 18286, y: 18286 }, + { x: 18287, y: 18287 }, + { x: 18288, y: 18288 }, + { x: 18289, y: 18289 }, + { x: 18290, y: 18290 }, + { x: 18291, y: 18291 }, + { x: 18292, y: 18292 }, + { x: 18293, y: 18293 }, + { x: 18294, y: 18294 }, + { x: 18295, y: 18295 }, + { x: 18296, y: 18296 }, + { x: 18297, y: 18297 }, + { x: 18298, y: 18298 }, + { x: 18299, y: 18299 }, + { x: 18300, y: 18300 }, + { x: 18301, y: 18301 }, + { x: 18302, y: 18302 }, + { x: 18303, y: 18303 }, + { x: 18304, y: 18304 }, + { x: 18305, y: 18305 }, + { x: 18306, y: 18306 }, + { x: 18307, y: 18307 }, + { x: 18308, y: 18308 }, + { x: 18309, y: 18309 }, + { x: 18310, y: 18310 }, + { x: 18311, y: 18311 }, + { x: 18312, y: 18312 }, + { x: 18313, y: 18313 }, + { x: 18314, y: 18314 }, + { x: 18315, y: 18315 }, + { x: 18316, y: 18316 }, + { x: 18317, y: 18317 }, + { x: 18318, y: 18318 }, + { x: 18319, y: 18319 }, + { x: 18320, y: 18320 }, + { x: 18321, y: 18321 }, + { x: 18322, y: 18322 }, + { x: 18323, y: 18323 }, + { x: 18324, y: 18324 }, + { x: 18325, y: 18325 }, + { x: 18326, y: 18326 }, + { x: 18327, y: 18327 }, + { x: 18328, y: 18328 }, + { x: 18329, y: 18329 }, + { x: 18330, y: 18330 }, + { x: 18331, y: 18331 }, + { x: 18332, y: 18332 }, + { x: 18333, y: 18333 }, + { x: 18334, y: 18334 }, + { x: 18335, y: 18335 }, + { x: 18336, y: 18336 }, + { x: 18337, y: 18337 }, + { x: 18338, y: 18338 }, + { x: 18339, y: 18339 }, + { x: 18340, y: 18340 }, + { x: 18341, y: 18341 }, + { x: 18342, y: 18342 }, + { x: 18343, y: 18343 }, + { x: 18344, y: 18344 }, + { x: 18345, y: 18345 }, + { x: 18346, y: 18346 }, + { x: 18347, y: 18347 }, + { x: 18348, y: 18348 }, + { x: 18349, y: 18349 }, + { x: 18350, y: 18350 }, + { x: 18351, y: 18351 }, + { x: 18352, y: 18352 }, + { x: 18353, y: 18353 }, + { x: 18354, y: 18354 }, + { x: 18355, y: 18355 }, + { x: 18356, y: 18356 }, + { x: 18357, y: 18357 }, + { x: 18358, y: 18358 }, + { x: 18359, y: 18359 }, + { x: 18360, y: 18360 }, + { x: 18361, y: 18361 }, + { x: 18362, y: 18362 }, + { x: 18363, y: 18363 }, + { x: 18364, y: 18364 }, + { x: 18365, y: 18365 }, + { x: 18366, y: 18366 }, + { x: 18367, y: 18367 }, + { x: 18368, y: 18368 }, + { x: 18369, y: 18369 }, + { x: 18370, y: 18370 }, + { x: 18371, y: 18371 }, + { x: 18372, y: 18372 }, + { x: 18373, y: 18373 }, + { x: 18374, y: 18374 }, + { x: 18375, y: 18375 }, + { x: 18376, y: 18376 }, + { x: 18377, y: 18377 }, + { x: 18378, y: 18378 }, + { x: 18379, y: 18379 }, + { x: 18380, y: 18380 }, + { x: 18381, y: 18381 }, + { x: 18382, y: 18382 }, + { x: 18383, y: 18383 }, + { x: 18384, y: 18384 }, + { x: 18385, y: 18385 }, + { x: 18386, y: 18386 }, + { x: 18387, y: 18387 }, + { x: 18388, y: 18388 }, + { x: 18389, y: 18389 }, + { x: 18390, y: 18390 }, + { x: 18391, y: 18391 }, + { x: 18392, y: 18392 }, + { x: 18393, y: 18393 }, + { x: 18394, y: 18394 }, + { x: 18395, y: 18395 }, + { x: 18396, y: 18396 }, + { x: 18397, y: 18397 }, + { x: 18398, y: 18398 }, + { x: 18399, y: 18399 }, + { x: 18400, y: 18400 }, + { x: 18401, y: 18401 }, + { x: 18402, y: 18402 }, + { x: 18403, y: 18403 }, + { x: 18404, y: 18404 }, + { x: 18405, y: 18405 }, + { x: 18406, y: 18406 }, + { x: 18407, y: 18407 }, + { x: 18408, y: 18408 }, + { x: 18409, y: 18409 }, + { x: 18410, y: 18410 }, + { x: 18411, y: 18411 }, + { x: 18412, y: 18412 }, + { x: 18413, y: 18413 }, + { x: 18414, y: 18414 }, + { x: 18415, y: 18415 }, + { x: 18416, y: 18416 }, + { x: 18417, y: 18417 }, + { x: 18418, y: 18418 }, + { x: 18419, y: 18419 }, + { x: 18420, y: 18420 }, + { x: 18421, y: 18421 }, + { x: 18422, y: 18422 }, + { x: 18423, y: 18423 }, + { x: 18424, y: 18424 }, + { x: 18425, y: 18425 }, + { x: 18426, y: 18426 }, + { x: 18427, y: 18427 }, + { x: 18428, y: 18428 }, + { x: 18429, y: 18429 }, + { x: 18430, y: 18430 }, + { x: 18431, y: 18431 }, + { x: 18432, y: 18432 }, + { x: 18433, y: 18433 }, + { x: 18434, y: 18434 }, + { x: 18435, y: 18435 }, + { x: 18436, y: 18436 }, + { x: 18437, y: 18437 }, + { x: 18438, y: 18438 }, + { x: 18439, y: 18439 }, + { x: 18440, y: 18440 }, + { x: 18441, y: 18441 }, + { x: 18442, y: 18442 }, + { x: 18443, y: 18443 }, + { x: 18444, y: 18444 }, + { x: 18445, y: 18445 }, + { x: 18446, y: 18446 }, + { x: 18447, y: 18447 }, + { x: 18448, y: 18448 }, + { x: 18449, y: 18449 }, + { x: 18450, y: 18450 }, + { x: 18451, y: 18451 }, + { x: 18452, y: 18452 }, + { x: 18453, y: 18453 }, + { x: 18454, y: 18454 }, + { x: 18455, y: 18455 }, + { x: 18456, y: 18456 }, + { x: 18457, y: 18457 }, + { x: 18458, y: 18458 }, + { x: 18459, y: 18459 }, + { x: 18460, y: 18460 }, + { x: 18461, y: 18461 }, + { x: 18462, y: 18462 }, + { x: 18463, y: 18463 }, + { x: 18464, y: 18464 }, + { x: 18465, y: 18465 }, + { x: 18466, y: 18466 }, + { x: 18467, y: 18467 }, + { x: 18468, y: 18468 }, + { x: 18469, y: 18469 }, + { x: 18470, y: 18470 }, + { x: 18471, y: 18471 }, + { x: 18472, y: 18472 }, + { x: 18473, y: 18473 }, + { x: 18474, y: 18474 }, + { x: 18475, y: 18475 }, + { x: 18476, y: 18476 }, + { x: 18477, y: 18477 }, + { x: 18478, y: 18478 }, + { x: 18479, y: 18479 }, + { x: 18480, y: 18480 }, + { x: 18481, y: 18481 }, + { x: 18482, y: 18482 }, + { x: 18483, y: 18483 }, + { x: 18484, y: 18484 }, + { x: 18485, y: 18485 }, + { x: 18486, y: 18486 }, + { x: 18487, y: 18487 }, + { x: 18488, y: 18488 }, + { x: 18489, y: 18489 }, + { x: 18490, y: 18490 }, + { x: 18491, y: 18491 }, + { x: 18492, y: 18492 }, + { x: 18493, y: 18493 }, + { x: 18494, y: 18494 }, + { x: 18495, y: 18495 }, + { x: 18496, y: 18496 }, + { x: 18497, y: 18497 }, + { x: 18498, y: 18498 }, + { x: 18499, y: 18499 }, + { x: 18500, y: 18500 }, + { x: 18501, y: 18501 }, + { x: 18502, y: 18502 }, + { x: 18503, y: 18503 }, + { x: 18504, y: 18504 }, + { x: 18505, y: 18505 }, + { x: 18506, y: 18506 }, + { x: 18507, y: 18507 }, + { x: 18508, y: 18508 }, + { x: 18509, y: 18509 }, + { x: 18510, y: 18510 }, + { x: 18511, y: 18511 }, + { x: 18512, y: 18512 }, + { x: 18513, y: 18513 }, + { x: 18514, y: 18514 }, + { x: 18515, y: 18515 }, + { x: 18516, y: 18516 }, + { x: 18517, y: 18517 }, + { x: 18518, y: 18518 }, + { x: 18519, y: 18519 }, + { x: 18520, y: 18520 }, + { x: 18521, y: 18521 }, + { x: 18522, y: 18522 }, + { x: 18523, y: 18523 }, + { x: 18524, y: 18524 }, + { x: 18525, y: 18525 }, + { x: 18526, y: 18526 }, + { x: 18527, y: 18527 }, + { x: 18528, y: 18528 }, + { x: 18529, y: 18529 }, + { x: 18530, y: 18530 }, + { x: 18531, y: 18531 }, + { x: 18532, y: 18532 }, + { x: 18533, y: 18533 }, + { x: 18534, y: 18534 }, + { x: 18535, y: 18535 }, + { x: 18536, y: 18536 }, + { x: 18537, y: 18537 }, + { x: 18538, y: 18538 }, + { x: 18539, y: 18539 }, + { x: 18540, y: 18540 }, + { x: 18541, y: 18541 }, + { x: 18542, y: 18542 }, + { x: 18543, y: 18543 }, + { x: 18544, y: 18544 }, + { x: 18545, y: 18545 }, + { x: 18546, y: 18546 }, + { x: 18547, y: 18547 }, + { x: 18548, y: 18548 }, + { x: 18549, y: 18549 }, + { x: 18550, y: 18550 }, + { x: 18551, y: 18551 }, + { x: 18552, y: 18552 }, + { x: 18553, y: 18553 }, + { x: 18554, y: 18554 }, + { x: 18555, y: 18555 }, + { x: 18556, y: 18556 }, + { x: 18557, y: 18557 }, + { x: 18558, y: 18558 }, + { x: 18559, y: 18559 }, + { x: 18560, y: 18560 }, + { x: 18561, y: 18561 }, + { x: 18562, y: 18562 }, + { x: 18563, y: 18563 }, + { x: 18564, y: 18564 }, + { x: 18565, y: 18565 }, + { x: 18566, y: 18566 }, + { x: 18567, y: 18567 }, + { x: 18568, y: 18568 }, + { x: 18569, y: 18569 }, + { x: 18570, y: 18570 }, + { x: 18571, y: 18571 }, + { x: 18572, y: 18572 }, + { x: 18573, y: 18573 }, + { x: 18574, y: 18574 }, + { x: 18575, y: 18575 }, + { x: 18576, y: 18576 }, + { x: 18577, y: 18577 }, + { x: 18578, y: 18578 }, + { x: 18579, y: 18579 }, + { x: 18580, y: 18580 }, + { x: 18581, y: 18581 }, + { x: 18582, y: 18582 }, + { x: 18583, y: 18583 }, + { x: 18584, y: 18584 }, + { x: 18585, y: 18585 }, + { x: 18586, y: 18586 }, + { x: 18587, y: 18587 }, + { x: 18588, y: 18588 }, + { x: 18589, y: 18589 }, + { x: 18590, y: 18590 }, + { x: 18591, y: 18591 }, + { x: 18592, y: 18592 }, + { x: 18593, y: 18593 }, + { x: 18594, y: 18594 }, + { x: 18595, y: 18595 }, + { x: 18596, y: 18596 }, + { x: 18597, y: 18597 }, + { x: 18598, y: 18598 }, + { x: 18599, y: 18599 }, + { x: 18600, y: 18600 }, + { x: 18601, y: 18601 }, + { x: 18602, y: 18602 }, + { x: 18603, y: 18603 }, + { x: 18604, y: 18604 }, + { x: 18605, y: 18605 }, + { x: 18606, y: 18606 }, + { x: 18607, y: 18607 }, + { x: 18608, y: 18608 }, + { x: 18609, y: 18609 }, + { x: 18610, y: 18610 }, + { x: 18611, y: 18611 }, + { x: 18612, y: 18612 }, + { x: 18613, y: 18613 }, + { x: 18614, y: 18614 }, + { x: 18615, y: 18615 }, + { x: 18616, y: 18616 }, + { x: 18617, y: 18617 }, + { x: 18618, y: 18618 }, + { x: 18619, y: 18619 }, + { x: 18620, y: 18620 }, + { x: 18621, y: 18621 }, + { x: 18622, y: 18622 }, + { x: 18623, y: 18623 }, + { x: 18624, y: 18624 }, + { x: 18625, y: 18625 }, + { x: 18626, y: 18626 }, + { x: 18627, y: 18627 }, + { x: 18628, y: 18628 }, + { x: 18629, y: 18629 }, + { x: 18630, y: 18630 }, + { x: 18631, y: 18631 }, + { x: 18632, y: 18632 }, + { x: 18633, y: 18633 }, + { x: 18634, y: 18634 }, + { x: 18635, y: 18635 }, + { x: 18636, y: 18636 }, + { x: 18637, y: 18637 }, + { x: 18638, y: 18638 }, + { x: 18639, y: 18639 }, + { x: 18640, y: 18640 }, + { x: 18641, y: 18641 }, + { x: 18642, y: 18642 }, + { x: 18643, y: 18643 }, + { x: 18644, y: 18644 }, + { x: 18645, y: 18645 }, + { x: 18646, y: 18646 }, + { x: 18647, y: 18647 }, + { x: 18648, y: 18648 }, + { x: 18649, y: 18649 }, + { x: 18650, y: 18650 }, + { x: 18651, y: 18651 }, + { x: 18652, y: 18652 }, + { x: 18653, y: 18653 }, + { x: 18654, y: 18654 }, + { x: 18655, y: 18655 }, + { x: 18656, y: 18656 }, + { x: 18657, y: 18657 }, + { x: 18658, y: 18658 }, + { x: 18659, y: 18659 }, + { x: 18660, y: 18660 }, + { x: 18661, y: 18661 }, + { x: 18662, y: 18662 }, + { x: 18663, y: 18663 }, + { x: 18664, y: 18664 }, + { x: 18665, y: 18665 }, + { x: 18666, y: 18666 }, + { x: 18667, y: 18667 }, + { x: 18668, y: 18668 }, + { x: 18669, y: 18669 }, + { x: 18670, y: 18670 }, + { x: 18671, y: 18671 }, + { x: 18672, y: 18672 }, + { x: 18673, y: 18673 }, + { x: 18674, y: 18674 }, + { x: 18675, y: 18675 }, + { x: 18676, y: 18676 }, + { x: 18677, y: 18677 }, + { x: 18678, y: 18678 }, + { x: 18679, y: 18679 }, + { x: 18680, y: 18680 }, + { x: 18681, y: 18681 }, + { x: 18682, y: 18682 }, + { x: 18683, y: 18683 }, + { x: 18684, y: 18684 }, + { x: 18685, y: 18685 }, + { x: 18686, y: 18686 }, + { x: 18687, y: 18687 }, + { x: 18688, y: 18688 }, + { x: 18689, y: 18689 }, + { x: 18690, y: 18690 }, + { x: 18691, y: 18691 }, + { x: 18692, y: 18692 }, + { x: 18693, y: 18693 }, + { x: 18694, y: 18694 }, + { x: 18695, y: 18695 }, + { x: 18696, y: 18696 }, + { x: 18697, y: 18697 }, + { x: 18698, y: 18698 }, + { x: 18699, y: 18699 }, + { x: 18700, y: 18700 }, + { x: 18701, y: 18701 }, + { x: 18702, y: 18702 }, + { x: 18703, y: 18703 }, + { x: 18704, y: 18704 }, + { x: 18705, y: 18705 }, + { x: 18706, y: 18706 }, + { x: 18707, y: 18707 }, + { x: 18708, y: 18708 }, + { x: 18709, y: 18709 }, + { x: 18710, y: 18710 }, + { x: 18711, y: 18711 }, + { x: 18712, y: 18712 }, + { x: 18713, y: 18713 }, + { x: 18714, y: 18714 }, + { x: 18715, y: 18715 }, + { x: 18716, y: 18716 }, + { x: 18717, y: 18717 }, + { x: 18718, y: 18718 }, + { x: 18719, y: 18719 }, + { x: 18720, y: 18720 }, + { x: 18721, y: 18721 }, + { x: 18722, y: 18722 }, + { x: 18723, y: 18723 }, + { x: 18724, y: 18724 }, + { x: 18725, y: 18725 }, + { x: 18726, y: 18726 }, + { x: 18727, y: 18727 }, + { x: 18728, y: 18728 }, + { x: 18729, y: 18729 }, + { x: 18730, y: 18730 }, + { x: 18731, y: 18731 }, + { x: 18732, y: 18732 }, + { x: 18733, y: 18733 }, + { x: 18734, y: 18734 }, + { x: 18735, y: 18735 }, + { x: 18736, y: 18736 }, + { x: 18737, y: 18737 }, + { x: 18738, y: 18738 }, + { x: 18739, y: 18739 }, + { x: 18740, y: 18740 }, + { x: 18741, y: 18741 }, + { x: 18742, y: 18742 }, + { x: 18743, y: 18743 }, + { x: 18744, y: 18744 }, + { x: 18745, y: 18745 }, + { x: 18746, y: 18746 }, + { x: 18747, y: 18747 }, + { x: 18748, y: 18748 }, + { x: 18749, y: 18749 }, + { x: 18750, y: 18750 }, + { x: 18751, y: 18751 }, + { x: 18752, y: 18752 }, + { x: 18753, y: 18753 }, + { x: 18754, y: 18754 }, + { x: 18755, y: 18755 }, + { x: 18756, y: 18756 }, + { x: 18757, y: 18757 }, + { x: 18758, y: 18758 }, + { x: 18759, y: 18759 }, + { x: 18760, y: 18760 }, + { x: 18761, y: 18761 }, + { x: 18762, y: 18762 }, + { x: 18763, y: 18763 }, + { x: 18764, y: 18764 }, + { x: 18765, y: 18765 }, + { x: 18766, y: 18766 }, + { x: 18767, y: 18767 }, + { x: 18768, y: 18768 }, + { x: 18769, y: 18769 }, + { x: 18770, y: 18770 }, + { x: 18771, y: 18771 }, + { x: 18772, y: 18772 }, + { x: 18773, y: 18773 }, + { x: 18774, y: 18774 }, + { x: 18775, y: 18775 }, + { x: 18776, y: 18776 }, + { x: 18777, y: 18777 }, + { x: 18778, y: 18778 }, + { x: 18779, y: 18779 }, + { x: 18780, y: 18780 }, + { x: 18781, y: 18781 }, + { x: 18782, y: 18782 }, + { x: 18783, y: 18783 }, + { x: 18784, y: 18784 }, + { x: 18785, y: 18785 }, + { x: 18786, y: 18786 }, + { x: 18787, y: 18787 }, + { x: 18788, y: 18788 }, + { x: 18789, y: 18789 }, + { x: 18790, y: 18790 }, + { x: 18791, y: 18791 }, + { x: 18792, y: 18792 }, + { x: 18793, y: 18793 }, + { x: 18794, y: 18794 }, + { x: 18795, y: 18795 }, + { x: 18796, y: 18796 }, + { x: 18797, y: 18797 }, + { x: 18798, y: 18798 }, + { x: 18799, y: 18799 }, + { x: 18800, y: 18800 }, + { x: 18801, y: 18801 }, + { x: 18802, y: 18802 }, + { x: 18803, y: 18803 }, + { x: 18804, y: 18804 }, + { x: 18805, y: 18805 }, + { x: 18806, y: 18806 }, + { x: 18807, y: 18807 }, + { x: 18808, y: 18808 }, + { x: 18809, y: 18809 }, + { x: 18810, y: 18810 }, + { x: 18811, y: 18811 }, + { x: 18812, y: 18812 }, + { x: 18813, y: 18813 }, + { x: 18814, y: 18814 }, + { x: 18815, y: 18815 }, + { x: 18816, y: 18816 }, + { x: 18817, y: 18817 }, + { x: 18818, y: 18818 }, + { x: 18819, y: 18819 }, + { x: 18820, y: 18820 }, + { x: 18821, y: 18821 }, + { x: 18822, y: 18822 }, + { x: 18823, y: 18823 }, + { x: 18824, y: 18824 }, + { x: 18825, y: 18825 }, + { x: 18826, y: 18826 }, + { x: 18827, y: 18827 }, + { x: 18828, y: 18828 }, + { x: 18829, y: 18829 }, + { x: 18830, y: 18830 }, + { x: 18831, y: 18831 }, + { x: 18832, y: 18832 }, + { x: 18833, y: 18833 }, + { x: 18834, y: 18834 }, + { x: 18835, y: 18835 }, + { x: 18836, y: 18836 }, + { x: 18837, y: 18837 }, + { x: 18838, y: 18838 }, + { x: 18839, y: 18839 }, + { x: 18840, y: 18840 }, + { x: 18841, y: 18841 }, + { x: 18842, y: 18842 }, + { x: 18843, y: 18843 }, + { x: 18844, y: 18844 }, + { x: 18845, y: 18845 }, + { x: 18846, y: 18846 }, + { x: 18847, y: 18847 }, + { x: 18848, y: 18848 }, + { x: 18849, y: 18849 }, + { x: 18850, y: 18850 }, + { x: 18851, y: 18851 }, + { x: 18852, y: 18852 }, + { x: 18853, y: 18853 }, + { x: 18854, y: 18854 }, + { x: 18855, y: 18855 }, + { x: 18856, y: 18856 }, + { x: 18857, y: 18857 }, + { x: 18858, y: 18858 }, + { x: 18859, y: 18859 }, + { x: 18860, y: 18860 }, + { x: 18861, y: 18861 }, + { x: 18862, y: 18862 }, + { x: 18863, y: 18863 }, + { x: 18864, y: 18864 }, + { x: 18865, y: 18865 }, + { x: 18866, y: 18866 }, + { x: 18867, y: 18867 }, + { x: 18868, y: 18868 }, + { x: 18869, y: 18869 }, + { x: 18870, y: 18870 }, + { x: 18871, y: 18871 }, + { x: 18872, y: 18872 }, + { x: 18873, y: 18873 }, + { x: 18874, y: 18874 }, + { x: 18875, y: 18875 }, + { x: 18876, y: 18876 }, + { x: 18877, y: 18877 }, + { x: 18878, y: 18878 }, + { x: 18879, y: 18879 }, + { x: 18880, y: 18880 }, + { x: 18881, y: 18881 }, + { x: 18882, y: 18882 }, + { x: 18883, y: 18883 }, + { x: 18884, y: 18884 }, + { x: 18885, y: 18885 }, + { x: 18886, y: 18886 }, + { x: 18887, y: 18887 }, + { x: 18888, y: 18888 }, + { x: 18889, y: 18889 }, + { x: 18890, y: 18890 }, + { x: 18891, y: 18891 }, + { x: 18892, y: 18892 }, + { x: 18893, y: 18893 }, + { x: 18894, y: 18894 }, + { x: 18895, y: 18895 }, + { x: 18896, y: 18896 }, + { x: 18897, y: 18897 }, + { x: 18898, y: 18898 }, + { x: 18899, y: 18899 }, + { x: 18900, y: 18900 }, + { x: 18901, y: 18901 }, + { x: 18902, y: 18902 }, + { x: 18903, y: 18903 }, + { x: 18904, y: 18904 }, + { x: 18905, y: 18905 }, + { x: 18906, y: 18906 }, + { x: 18907, y: 18907 }, + { x: 18908, y: 18908 }, + { x: 18909, y: 18909 }, + { x: 18910, y: 18910 }, + { x: 18911, y: 18911 }, + { x: 18912, y: 18912 }, + { x: 18913, y: 18913 }, + { x: 18914, y: 18914 }, + { x: 18915, y: 18915 }, + { x: 18916, y: 18916 }, + { x: 18917, y: 18917 }, + { x: 18918, y: 18918 }, + { x: 18919, y: 18919 }, + { x: 18920, y: 18920 }, + { x: 18921, y: 18921 }, + { x: 18922, y: 18922 }, + { x: 18923, y: 18923 }, + { x: 18924, y: 18924 }, + { x: 18925, y: 18925 }, + { x: 18926, y: 18926 }, + { x: 18927, y: 18927 }, + { x: 18928, y: 18928 }, + { x: 18929, y: 18929 }, + { x: 18930, y: 18930 }, + { x: 18931, y: 18931 }, + { x: 18932, y: 18932 }, + { x: 18933, y: 18933 }, + { x: 18934, y: 18934 }, + { x: 18935, y: 18935 }, + { x: 18936, y: 18936 }, + { x: 18937, y: 18937 }, + { x: 18938, y: 18938 }, + { x: 18939, y: 18939 }, + { x: 18940, y: 18940 }, + { x: 18941, y: 18941 }, + { x: 18942, y: 18942 }, + { x: 18943, y: 18943 }, + { x: 18944, y: 18944 }, + { x: 18945, y: 18945 }, + { x: 18946, y: 18946 }, + { x: 18947, y: 18947 }, + { x: 18948, y: 18948 }, + { x: 18949, y: 18949 }, + { x: 18950, y: 18950 }, + { x: 18951, y: 18951 }, + { x: 18952, y: 18952 }, + { x: 18953, y: 18953 }, + { x: 18954, y: 18954 }, + { x: 18955, y: 18955 }, + { x: 18956, y: 18956 }, + { x: 18957, y: 18957 }, + { x: 18958, y: 18958 }, + { x: 18959, y: 18959 }, + { x: 18960, y: 18960 }, + { x: 18961, y: 18961 }, + { x: 18962, y: 18962 }, + { x: 18963, y: 18963 }, + { x: 18964, y: 18964 }, + { x: 18965, y: 18965 }, + { x: 18966, y: 18966 }, + { x: 18967, y: 18967 }, + { x: 18968, y: 18968 }, + { x: 18969, y: 18969 }, + { x: 18970, y: 18970 }, + { x: 18971, y: 18971 }, + { x: 18972, y: 18972 }, + { x: 18973, y: 18973 }, + { x: 18974, y: 18974 }, + { x: 18975, y: 18975 }, + { x: 18976, y: 18976 }, + { x: 18977, y: 18977 }, + { x: 18978, y: 18978 }, + { x: 18979, y: 18979 }, + { x: 18980, y: 18980 }, + { x: 18981, y: 18981 }, + { x: 18982, y: 18982 }, + { x: 18983, y: 18983 }, + { x: 18984, y: 18984 }, + { x: 18985, y: 18985 }, + { x: 18986, y: 18986 }, + { x: 18987, y: 18987 }, + { x: 18988, y: 18988 }, + { x: 18989, y: 18989 }, + { x: 18990, y: 18990 }, + { x: 18991, y: 18991 }, + { x: 18992, y: 18992 }, + { x: 18993, y: 18993 }, + { x: 18994, y: 18994 }, + { x: 18995, y: 18995 }, + { x: 18996, y: 18996 }, + { x: 18997, y: 18997 }, + { x: 18998, y: 18998 }, + { x: 18999, y: 18999 }, + { x: 19000, y: 19000 }, + { x: 19001, y: 19001 }, + { x: 19002, y: 19002 }, + { x: 19003, y: 19003 }, + { x: 19004, y: 19004 }, + { x: 19005, y: 19005 }, + { x: 19006, y: 19006 }, + { x: 19007, y: 19007 }, + { x: 19008, y: 19008 }, + { x: 19009, y: 19009 }, + { x: 19010, y: 19010 }, + { x: 19011, y: 19011 }, + { x: 19012, y: 19012 }, + { x: 19013, y: 19013 }, + { x: 19014, y: 19014 }, + { x: 19015, y: 19015 }, + { x: 19016, y: 19016 }, + { x: 19017, y: 19017 }, + { x: 19018, y: 19018 }, + { x: 19019, y: 19019 }, + { x: 19020, y: 19020 }, + { x: 19021, y: 19021 }, + { x: 19022, y: 19022 }, + { x: 19023, y: 19023 }, + { x: 19024, y: 19024 }, + { x: 19025, y: 19025 }, + { x: 19026, y: 19026 }, + { x: 19027, y: 19027 }, + { x: 19028, y: 19028 }, + { x: 19029, y: 19029 }, + { x: 19030, y: 19030 }, + { x: 19031, y: 19031 }, + { x: 19032, y: 19032 }, + { x: 19033, y: 19033 }, + { x: 19034, y: 19034 }, + { x: 19035, y: 19035 }, + { x: 19036, y: 19036 }, + { x: 19037, y: 19037 }, + { x: 19038, y: 19038 }, + { x: 19039, y: 19039 }, + { x: 19040, y: 19040 }, + { x: 19041, y: 19041 }, + { x: 19042, y: 19042 }, + { x: 19043, y: 19043 }, + { x: 19044, y: 19044 }, + { x: 19045, y: 19045 }, + { x: 19046, y: 19046 }, + { x: 19047, y: 19047 }, + { x: 19048, y: 19048 }, + { x: 19049, y: 19049 }, + { x: 19050, y: 19050 }, + { x: 19051, y: 19051 }, + { x: 19052, y: 19052 }, + { x: 19053, y: 19053 }, + { x: 19054, y: 19054 }, + { x: 19055, y: 19055 }, + { x: 19056, y: 19056 }, + { x: 19057, y: 19057 }, + { x: 19058, y: 19058 }, + { x: 19059, y: 19059 }, + { x: 19060, y: 19060 }, + { x: 19061, y: 19061 }, + { x: 19062, y: 19062 }, + { x: 19063, y: 19063 }, + { x: 19064, y: 19064 }, + { x: 19065, y: 19065 }, + { x: 19066, y: 19066 }, + { x: 19067, y: 19067 }, + { x: 19068, y: 19068 }, + { x: 19069, y: 19069 }, + { x: 19070, y: 19070 }, + { x: 19071, y: 19071 }, + { x: 19072, y: 19072 }, + { x: 19073, y: 19073 }, + { x: 19074, y: 19074 }, + { x: 19075, y: 19075 }, + { x: 19076, y: 19076 }, + { x: 19077, y: 19077 }, + { x: 19078, y: 19078 }, + { x: 19079, y: 19079 }, + { x: 19080, y: 19080 }, + { x: 19081, y: 19081 }, + { x: 19082, y: 19082 }, + { x: 19083, y: 19083 }, + { x: 19084, y: 19084 }, + { x: 19085, y: 19085 }, + { x: 19086, y: 19086 }, + { x: 19087, y: 19087 }, + { x: 19088, y: 19088 }, + { x: 19089, y: 19089 }, + { x: 19090, y: 19090 }, + { x: 19091, y: 19091 }, + { x: 19092, y: 19092 }, + { x: 19093, y: 19093 }, + { x: 19094, y: 19094 }, + { x: 19095, y: 19095 }, + { x: 19096, y: 19096 }, + { x: 19097, y: 19097 }, + { x: 19098, y: 19098 }, + { x: 19099, y: 19099 }, + { x: 19100, y: 19100 }, + { x: 19101, y: 19101 }, + { x: 19102, y: 19102 }, + { x: 19103, y: 19103 }, + { x: 19104, y: 19104 }, + { x: 19105, y: 19105 }, + { x: 19106, y: 19106 }, + { x: 19107, y: 19107 }, + { x: 19108, y: 19108 }, + { x: 19109, y: 19109 }, + { x: 19110, y: 19110 }, + { x: 19111, y: 19111 }, + { x: 19112, y: 19112 }, + { x: 19113, y: 19113 }, + { x: 19114, y: 19114 }, + { x: 19115, y: 19115 }, + { x: 19116, y: 19116 }, + { x: 19117, y: 19117 }, + { x: 19118, y: 19118 }, + { x: 19119, y: 19119 }, + { x: 19120, y: 19120 }, + { x: 19121, y: 19121 }, + { x: 19122, y: 19122 }, + { x: 19123, y: 19123 }, + { x: 19124, y: 19124 }, + { x: 19125, y: 19125 }, + { x: 19126, y: 19126 }, + { x: 19127, y: 19127 }, + { x: 19128, y: 19128 }, + { x: 19129, y: 19129 }, + { x: 19130, y: 19130 }, + { x: 19131, y: 19131 }, + { x: 19132, y: 19132 }, + { x: 19133, y: 19133 }, + { x: 19134, y: 19134 }, + { x: 19135, y: 19135 }, + { x: 19136, y: 19136 }, + { x: 19137, y: 19137 }, + { x: 19138, y: 19138 }, + { x: 19139, y: 19139 }, + { x: 19140, y: 19140 }, + { x: 19141, y: 19141 }, + { x: 19142, y: 19142 }, + { x: 19143, y: 19143 }, + { x: 19144, y: 19144 }, + { x: 19145, y: 19145 }, + { x: 19146, y: 19146 }, + { x: 19147, y: 19147 }, + { x: 19148, y: 19148 }, + { x: 19149, y: 19149 }, + { x: 19150, y: 19150 }, + { x: 19151, y: 19151 }, + { x: 19152, y: 19152 }, + { x: 19153, y: 19153 }, + { x: 19154, y: 19154 }, + { x: 19155, y: 19155 }, + { x: 19156, y: 19156 }, + { x: 19157, y: 19157 }, + { x: 19158, y: 19158 }, + { x: 19159, y: 19159 }, + { x: 19160, y: 19160 }, + { x: 19161, y: 19161 }, + { x: 19162, y: 19162 }, + { x: 19163, y: 19163 }, + { x: 19164, y: 19164 }, + { x: 19165, y: 19165 }, + { x: 19166, y: 19166 }, + { x: 19167, y: 19167 }, + { x: 19168, y: 19168 }, + { x: 19169, y: 19169 }, + { x: 19170, y: 19170 }, + { x: 19171, y: 19171 }, + { x: 19172, y: 19172 }, + { x: 19173, y: 19173 }, + { x: 19174, y: 19174 }, + { x: 19175, y: 19175 }, + { x: 19176, y: 19176 }, + { x: 19177, y: 19177 }, + { x: 19178, y: 19178 }, + { x: 19179, y: 19179 }, + { x: 19180, y: 19180 }, + { x: 19181, y: 19181 }, + { x: 19182, y: 19182 }, + { x: 19183, y: 19183 }, + { x: 19184, y: 19184 }, + { x: 19185, y: 19185 }, + { x: 19186, y: 19186 }, + { x: 19187, y: 19187 }, + { x: 19188, y: 19188 }, + { x: 19189, y: 19189 }, + { x: 19190, y: 19190 }, + { x: 19191, y: 19191 }, + { x: 19192, y: 19192 }, + { x: 19193, y: 19193 }, + { x: 19194, y: 19194 }, + { x: 19195, y: 19195 }, + { x: 19196, y: 19196 }, + { x: 19197, y: 19197 }, + { x: 19198, y: 19198 }, + { x: 19199, y: 19199 }, + { x: 19200, y: 19200 }, + { x: 19201, y: 19201 }, + { x: 19202, y: 19202 }, + { x: 19203, y: 19203 }, + { x: 19204, y: 19204 }, + { x: 19205, y: 19205 }, + { x: 19206, y: 19206 }, + { x: 19207, y: 19207 }, + { x: 19208, y: 19208 }, + { x: 19209, y: 19209 }, + { x: 19210, y: 19210 }, + { x: 19211, y: 19211 }, + { x: 19212, y: 19212 }, + { x: 19213, y: 19213 }, + { x: 19214, y: 19214 }, + { x: 19215, y: 19215 }, + { x: 19216, y: 19216 }, + { x: 19217, y: 19217 }, + { x: 19218, y: 19218 }, + { x: 19219, y: 19219 }, + { x: 19220, y: 19220 }, + { x: 19221, y: 19221 }, + { x: 19222, y: 19222 }, + { x: 19223, y: 19223 }, + { x: 19224, y: 19224 }, + { x: 19225, y: 19225 }, + { x: 19226, y: 19226 }, + { x: 19227, y: 19227 }, + { x: 19228, y: 19228 }, + { x: 19229, y: 19229 }, + { x: 19230, y: 19230 }, + { x: 19231, y: 19231 }, + { x: 19232, y: 19232 }, + { x: 19233, y: 19233 }, + { x: 19234, y: 19234 }, + { x: 19235, y: 19235 }, + { x: 19236, y: 19236 }, + { x: 19237, y: 19237 }, + { x: 19238, y: 19238 }, + { x: 19239, y: 19239 }, + { x: 19240, y: 19240 }, + { x: 19241, y: 19241 }, + { x: 19242, y: 19242 }, + { x: 19243, y: 19243 }, + { x: 19244, y: 19244 }, + { x: 19245, y: 19245 }, + { x: 19246, y: 19246 }, + { x: 19247, y: 19247 }, + { x: 19248, y: 19248 }, + { x: 19249, y: 19249 }, + { x: 19250, y: 19250 }, + { x: 19251, y: 19251 }, + { x: 19252, y: 19252 }, + { x: 19253, y: 19253 }, + { x: 19254, y: 19254 }, + { x: 19255, y: 19255 }, + { x: 19256, y: 19256 }, + { x: 19257, y: 19257 }, + { x: 19258, y: 19258 }, + { x: 19259, y: 19259 }, + { x: 19260, y: 19260 }, + { x: 19261, y: 19261 }, + { x: 19262, y: 19262 }, + { x: 19263, y: 19263 }, + { x: 19264, y: 19264 }, + { x: 19265, y: 19265 }, + { x: 19266, y: 19266 }, + { x: 19267, y: 19267 }, + { x: 19268, y: 19268 }, + { x: 19269, y: 19269 }, + { x: 19270, y: 19270 }, + { x: 19271, y: 19271 }, + { x: 19272, y: 19272 }, + { x: 19273, y: 19273 }, + { x: 19274, y: 19274 }, + { x: 19275, y: 19275 }, + { x: 19276, y: 19276 }, + { x: 19277, y: 19277 }, + { x: 19278, y: 19278 }, + { x: 19279, y: 19279 }, + { x: 19280, y: 19280 }, + { x: 19281, y: 19281 }, + { x: 19282, y: 19282 }, + { x: 19283, y: 19283 }, + { x: 19284, y: 19284 }, + { x: 19285, y: 19285 }, + { x: 19286, y: 19286 }, + { x: 19287, y: 19287 }, + { x: 19288, y: 19288 }, + { x: 19289, y: 19289 }, + { x: 19290, y: 19290 }, + { x: 19291, y: 19291 }, + { x: 19292, y: 19292 }, + { x: 19293, y: 19293 }, + { x: 19294, y: 19294 }, + { x: 19295, y: 19295 }, + { x: 19296, y: 19296 }, + { x: 19297, y: 19297 }, + { x: 19298, y: 19298 }, + { x: 19299, y: 19299 }, + { x: 19300, y: 19300 }, + { x: 19301, y: 19301 }, + { x: 19302, y: 19302 }, + { x: 19303, y: 19303 }, + { x: 19304, y: 19304 }, + { x: 19305, y: 19305 }, + { x: 19306, y: 19306 }, + { x: 19307, y: 19307 }, + { x: 19308, y: 19308 }, + { x: 19309, y: 19309 }, + { x: 19310, y: 19310 }, + { x: 19311, y: 19311 }, + { x: 19312, y: 19312 }, + { x: 19313, y: 19313 }, + { x: 19314, y: 19314 }, + { x: 19315, y: 19315 }, + { x: 19316, y: 19316 }, + { x: 19317, y: 19317 }, + { x: 19318, y: 19318 }, + { x: 19319, y: 19319 }, + { x: 19320, y: 19320 }, + { x: 19321, y: 19321 }, + { x: 19322, y: 19322 }, + { x: 19323, y: 19323 }, + { x: 19324, y: 19324 }, + { x: 19325, y: 19325 }, + { x: 19326, y: 19326 }, + { x: 19327, y: 19327 }, + { x: 19328, y: 19328 }, + { x: 19329, y: 19329 }, + { x: 19330, y: 19330 }, + { x: 19331, y: 19331 }, + { x: 19332, y: 19332 }, + { x: 19333, y: 19333 }, + { x: 19334, y: 19334 }, + { x: 19335, y: 19335 }, + { x: 19336, y: 19336 }, + { x: 19337, y: 19337 }, + { x: 19338, y: 19338 }, + { x: 19339, y: 19339 }, + { x: 19340, y: 19340 }, + { x: 19341, y: 19341 }, + { x: 19342, y: 19342 }, + { x: 19343, y: 19343 }, + { x: 19344, y: 19344 }, + { x: 19345, y: 19345 }, + { x: 19346, y: 19346 }, + { x: 19347, y: 19347 }, + { x: 19348, y: 19348 }, + { x: 19349, y: 19349 }, + { x: 19350, y: 19350 }, + { x: 19351, y: 19351 }, + { x: 19352, y: 19352 }, + { x: 19353, y: 19353 }, + { x: 19354, y: 19354 }, + { x: 19355, y: 19355 }, + { x: 19356, y: 19356 }, + { x: 19357, y: 19357 }, + { x: 19358, y: 19358 }, + { x: 19359, y: 19359 }, + { x: 19360, y: 19360 }, + { x: 19361, y: 19361 }, + { x: 19362, y: 19362 }, + { x: 19363, y: 19363 }, + { x: 19364, y: 19364 }, + { x: 19365, y: 19365 }, + { x: 19366, y: 19366 }, + { x: 19367, y: 19367 }, + { x: 19368, y: 19368 }, + { x: 19369, y: 19369 }, + { x: 19370, y: 19370 }, + { x: 19371, y: 19371 }, + { x: 19372, y: 19372 }, + { x: 19373, y: 19373 }, + { x: 19374, y: 19374 }, + { x: 19375, y: 19375 }, + { x: 19376, y: 19376 }, + { x: 19377, y: 19377 }, + { x: 19378, y: 19378 }, + { x: 19379, y: 19379 }, + { x: 19380, y: 19380 }, + { x: 19381, y: 19381 }, + { x: 19382, y: 19382 }, + { x: 19383, y: 19383 }, + { x: 19384, y: 19384 }, + { x: 19385, y: 19385 }, + { x: 19386, y: 19386 }, + { x: 19387, y: 19387 }, + { x: 19388, y: 19388 }, + { x: 19389, y: 19389 }, + { x: 19390, y: 19390 }, + { x: 19391, y: 19391 }, + { x: 19392, y: 19392 }, + { x: 19393, y: 19393 }, + { x: 19394, y: 19394 }, + { x: 19395, y: 19395 }, + { x: 19396, y: 19396 }, + { x: 19397, y: 19397 }, + { x: 19398, y: 19398 }, + { x: 19399, y: 19399 }, + { x: 19400, y: 19400 }, + { x: 19401, y: 19401 }, + { x: 19402, y: 19402 }, + { x: 19403, y: 19403 }, + { x: 19404, y: 19404 }, + { x: 19405, y: 19405 }, + { x: 19406, y: 19406 }, + { x: 19407, y: 19407 }, + { x: 19408, y: 19408 }, + { x: 19409, y: 19409 }, + { x: 19410, y: 19410 }, + { x: 19411, y: 19411 }, + { x: 19412, y: 19412 }, + { x: 19413, y: 19413 }, + { x: 19414, y: 19414 }, + { x: 19415, y: 19415 }, + { x: 19416, y: 19416 }, + { x: 19417, y: 19417 }, + { x: 19418, y: 19418 }, + { x: 19419, y: 19419 }, + { x: 19420, y: 19420 }, + { x: 19421, y: 19421 }, + { x: 19422, y: 19422 }, + { x: 19423, y: 19423 }, + { x: 19424, y: 19424 }, + { x: 19425, y: 19425 }, + { x: 19426, y: 19426 }, + { x: 19427, y: 19427 }, + { x: 19428, y: 19428 }, + { x: 19429, y: 19429 }, + { x: 19430, y: 19430 }, + { x: 19431, y: 19431 }, + { x: 19432, y: 19432 }, + { x: 19433, y: 19433 }, + { x: 19434, y: 19434 }, + { x: 19435, y: 19435 }, + { x: 19436, y: 19436 }, + { x: 19437, y: 19437 }, + { x: 19438, y: 19438 }, + { x: 19439, y: 19439 }, + { x: 19440, y: 19440 }, + { x: 19441, y: 19441 }, + { x: 19442, y: 19442 }, + { x: 19443, y: 19443 }, + { x: 19444, y: 19444 }, + { x: 19445, y: 19445 }, + { x: 19446, y: 19446 }, + { x: 19447, y: 19447 }, + { x: 19448, y: 19448 }, + { x: 19449, y: 19449 }, + { x: 19450, y: 19450 }, + { x: 19451, y: 19451 }, + { x: 19452, y: 19452 }, + { x: 19453, y: 19453 }, + { x: 19454, y: 19454 }, + { x: 19455, y: 19455 }, + { x: 19456, y: 19456 }, + { x: 19457, y: 19457 }, + { x: 19458, y: 19458 }, + { x: 19459, y: 19459 }, + { x: 19460, y: 19460 }, + { x: 19461, y: 19461 }, + { x: 19462, y: 19462 }, + { x: 19463, y: 19463 }, + { x: 19464, y: 19464 }, + { x: 19465, y: 19465 }, + { x: 19466, y: 19466 }, + { x: 19467, y: 19467 }, + { x: 19468, y: 19468 }, + { x: 19469, y: 19469 }, + { x: 19470, y: 19470 }, + { x: 19471, y: 19471 }, + { x: 19472, y: 19472 }, + { x: 19473, y: 19473 }, + { x: 19474, y: 19474 }, + { x: 19475, y: 19475 }, + { x: 19476, y: 19476 }, + { x: 19477, y: 19477 }, + { x: 19478, y: 19478 }, + { x: 19479, y: 19479 }, + { x: 19480, y: 19480 }, + { x: 19481, y: 19481 }, + { x: 19482, y: 19482 }, + { x: 19483, y: 19483 }, + { x: 19484, y: 19484 }, + { x: 19485, y: 19485 }, + { x: 19486, y: 19486 }, + { x: 19487, y: 19487 }, + { x: 19488, y: 19488 }, + { x: 19489, y: 19489 }, + { x: 19490, y: 19490 }, + { x: 19491, y: 19491 }, + { x: 19492, y: 19492 }, + { x: 19493, y: 19493 }, + { x: 19494, y: 19494 }, + { x: 19495, y: 19495 }, + { x: 19496, y: 19496 }, + { x: 19497, y: 19497 }, + { x: 19498, y: 19498 }, + { x: 19499, y: 19499 }, + { x: 19500, y: 19500 }, + { x: 19501, y: 19501 }, + { x: 19502, y: 19502 }, + { x: 19503, y: 19503 }, + { x: 19504, y: 19504 }, + { x: 19505, y: 19505 }, + { x: 19506, y: 19506 }, + { x: 19507, y: 19507 }, + { x: 19508, y: 19508 }, + { x: 19509, y: 19509 }, + { x: 19510, y: 19510 }, + { x: 19511, y: 19511 }, + { x: 19512, y: 19512 }, + { x: 19513, y: 19513 }, + { x: 19514, y: 19514 }, + { x: 19515, y: 19515 }, + { x: 19516, y: 19516 }, + { x: 19517, y: 19517 }, + { x: 19518, y: 19518 }, + { x: 19519, y: 19519 }, + { x: 19520, y: 19520 }, + { x: 19521, y: 19521 }, + { x: 19522, y: 19522 }, + { x: 19523, y: 19523 }, + { x: 19524, y: 19524 }, + { x: 19525, y: 19525 }, + { x: 19526, y: 19526 }, + { x: 19527, y: 19527 }, + { x: 19528, y: 19528 }, + { x: 19529, y: 19529 }, + { x: 19530, y: 19530 }, + { x: 19531, y: 19531 }, + { x: 19532, y: 19532 }, + { x: 19533, y: 19533 }, + { x: 19534, y: 19534 }, + { x: 19535, y: 19535 }, + { x: 19536, y: 19536 }, + { x: 19537, y: 19537 }, + { x: 19538, y: 19538 }, + { x: 19539, y: 19539 }, + { x: 19540, y: 19540 }, + { x: 19541, y: 19541 }, + { x: 19542, y: 19542 }, + { x: 19543, y: 19543 }, + { x: 19544, y: 19544 }, + { x: 19545, y: 19545 }, + { x: 19546, y: 19546 }, + { x: 19547, y: 19547 }, + { x: 19548, y: 19548 }, + { x: 19549, y: 19549 }, + { x: 19550, y: 19550 }, + { x: 19551, y: 19551 }, + { x: 19552, y: 19552 }, + { x: 19553, y: 19553 }, + { x: 19554, y: 19554 }, + { x: 19555, y: 19555 }, + { x: 19556, y: 19556 }, + { x: 19557, y: 19557 }, + { x: 19558, y: 19558 }, + { x: 19559, y: 19559 }, + { x: 19560, y: 19560 }, + { x: 19561, y: 19561 }, + { x: 19562, y: 19562 }, + { x: 19563, y: 19563 }, + { x: 19564, y: 19564 }, + { x: 19565, y: 19565 }, + { x: 19566, y: 19566 }, + { x: 19567, y: 19567 }, + { x: 19568, y: 19568 }, + { x: 19569, y: 19569 }, + { x: 19570, y: 19570 }, + { x: 19571, y: 19571 }, + { x: 19572, y: 19572 }, + { x: 19573, y: 19573 }, + { x: 19574, y: 19574 }, + { x: 19575, y: 19575 }, + { x: 19576, y: 19576 }, + { x: 19577, y: 19577 }, + { x: 19578, y: 19578 }, + { x: 19579, y: 19579 }, + { x: 19580, y: 19580 }, + { x: 19581, y: 19581 }, + { x: 19582, y: 19582 }, + { x: 19583, y: 19583 }, + { x: 19584, y: 19584 }, + { x: 19585, y: 19585 }, + { x: 19586, y: 19586 }, + { x: 19587, y: 19587 }, + { x: 19588, y: 19588 }, + { x: 19589, y: 19589 }, + { x: 19590, y: 19590 }, + { x: 19591, y: 19591 }, + { x: 19592, y: 19592 }, + { x: 19593, y: 19593 }, + { x: 19594, y: 19594 }, + { x: 19595, y: 19595 }, + { x: 19596, y: 19596 }, + { x: 19597, y: 19597 }, + { x: 19598, y: 19598 }, + { x: 19599, y: 19599 }, + { x: 19600, y: 19600 }, + { x: 19601, y: 19601 }, + { x: 19602, y: 19602 }, + { x: 19603, y: 19603 }, + { x: 19604, y: 19604 }, + { x: 19605, y: 19605 }, + { x: 19606, y: 19606 }, + { x: 19607, y: 19607 }, + { x: 19608, y: 19608 }, + { x: 19609, y: 19609 }, + { x: 19610, y: 19610 }, + { x: 19611, y: 19611 }, + { x: 19612, y: 19612 }, + { x: 19613, y: 19613 }, + { x: 19614, y: 19614 }, + { x: 19615, y: 19615 }, + { x: 19616, y: 19616 }, + { x: 19617, y: 19617 }, + { x: 19618, y: 19618 }, + { x: 19619, y: 19619 }, + { x: 19620, y: 19620 }, + { x: 19621, y: 19621 }, + { x: 19622, y: 19622 }, + { x: 19623, y: 19623 }, + { x: 19624, y: 19624 }, + { x: 19625, y: 19625 }, + { x: 19626, y: 19626 }, + { x: 19627, y: 19627 }, + { x: 19628, y: 19628 }, + { x: 19629, y: 19629 }, + { x: 19630, y: 19630 }, + { x: 19631, y: 19631 }, + { x: 19632, y: 19632 }, + { x: 19633, y: 19633 }, + { x: 19634, y: 19634 }, + { x: 19635, y: 19635 }, + { x: 19636, y: 19636 }, + { x: 19637, y: 19637 }, + { x: 19638, y: 19638 }, + { x: 19639, y: 19639 }, + { x: 19640, y: 19640 }, + { x: 19641, y: 19641 }, + { x: 19642, y: 19642 }, + { x: 19643, y: 19643 }, + { x: 19644, y: 19644 }, + { x: 19645, y: 19645 }, + { x: 19646, y: 19646 }, + { x: 19647, y: 19647 }, + { x: 19648, y: 19648 }, + { x: 19649, y: 19649 }, + { x: 19650, y: 19650 }, + { x: 19651, y: 19651 }, + { x: 19652, y: 19652 }, + { x: 19653, y: 19653 }, + { x: 19654, y: 19654 }, + { x: 19655, y: 19655 }, + { x: 19656, y: 19656 }, + { x: 19657, y: 19657 }, + { x: 19658, y: 19658 }, + { x: 19659, y: 19659 }, + { x: 19660, y: 19660 }, + { x: 19661, y: 19661 }, + { x: 19662, y: 19662 }, + { x: 19663, y: 19663 }, + { x: 19664, y: 19664 }, + { x: 19665, y: 19665 }, + { x: 19666, y: 19666 }, + { x: 19667, y: 19667 }, + { x: 19668, y: 19668 }, + { x: 19669, y: 19669 }, + { x: 19670, y: 19670 }, + { x: 19671, y: 19671 }, + { x: 19672, y: 19672 }, + { x: 19673, y: 19673 }, + { x: 19674, y: 19674 }, + { x: 19675, y: 19675 }, + { x: 19676, y: 19676 }, + { x: 19677, y: 19677 }, + { x: 19678, y: 19678 }, + { x: 19679, y: 19679 }, + { x: 19680, y: 19680 }, + { x: 19681, y: 19681 }, + { x: 19682, y: 19682 }, + { x: 19683, y: 19683 }, + { x: 19684, y: 19684 }, + { x: 19685, y: 19685 }, + { x: 19686, y: 19686 }, + { x: 19687, y: 19687 }, + { x: 19688, y: 19688 }, + { x: 19689, y: 19689 }, + { x: 19690, y: 19690 }, + { x: 19691, y: 19691 }, + { x: 19692, y: 19692 }, + { x: 19693, y: 19693 }, + { x: 19694, y: 19694 }, + { x: 19695, y: 19695 }, + { x: 19696, y: 19696 }, + { x: 19697, y: 19697 }, + { x: 19698, y: 19698 }, + { x: 19699, y: 19699 }, + { x: 19700, y: 19700 }, + { x: 19701, y: 19701 }, + { x: 19702, y: 19702 }, + { x: 19703, y: 19703 }, + { x: 19704, y: 19704 }, + { x: 19705, y: 19705 }, + { x: 19706, y: 19706 }, + { x: 19707, y: 19707 }, + { x: 19708, y: 19708 }, + { x: 19709, y: 19709 }, + { x: 19710, y: 19710 }, + { x: 19711, y: 19711 }, + { x: 19712, y: 19712 }, + { x: 19713, y: 19713 }, + { x: 19714, y: 19714 }, + { x: 19715, y: 19715 }, + { x: 19716, y: 19716 }, + { x: 19717, y: 19717 }, + { x: 19718, y: 19718 }, + { x: 19719, y: 19719 }, + { x: 19720, y: 19720 }, + { x: 19721, y: 19721 }, + { x: 19722, y: 19722 }, + { x: 19723, y: 19723 }, + { x: 19724, y: 19724 }, + { x: 19725, y: 19725 }, + { x: 19726, y: 19726 }, + { x: 19727, y: 19727 }, + { x: 19728, y: 19728 }, + { x: 19729, y: 19729 }, + { x: 19730, y: 19730 }, + { x: 19731, y: 19731 }, + { x: 19732, y: 19732 }, + { x: 19733, y: 19733 }, + { x: 19734, y: 19734 }, + { x: 19735, y: 19735 }, + { x: 19736, y: 19736 }, + { x: 19737, y: 19737 }, + { x: 19738, y: 19738 }, + { x: 19739, y: 19739 }, + { x: 19740, y: 19740 }, + { x: 19741, y: 19741 }, + { x: 19742, y: 19742 }, + { x: 19743, y: 19743 }, + { x: 19744, y: 19744 }, + { x: 19745, y: 19745 }, + { x: 19746, y: 19746 }, + { x: 19747, y: 19747 }, + { x: 19748, y: 19748 }, + { x: 19749, y: 19749 }, + { x: 19750, y: 19750 }, + { x: 19751, y: 19751 }, + { x: 19752, y: 19752 }, + { x: 19753, y: 19753 }, + { x: 19754, y: 19754 }, + { x: 19755, y: 19755 }, + { x: 19756, y: 19756 }, + { x: 19757, y: 19757 }, + { x: 19758, y: 19758 }, + { x: 19759, y: 19759 }, + { x: 19760, y: 19760 }, + { x: 19761, y: 19761 }, + { x: 19762, y: 19762 }, + { x: 19763, y: 19763 }, + { x: 19764, y: 19764 }, + { x: 19765, y: 19765 }, + { x: 19766, y: 19766 }, + { x: 19767, y: 19767 }, + { x: 19768, y: 19768 }, + { x: 19769, y: 19769 }, + { x: 19770, y: 19770 }, + { x: 19771, y: 19771 }, + { x: 19772, y: 19772 }, + { x: 19773, y: 19773 }, + { x: 19774, y: 19774 }, + { x: 19775, y: 19775 }, + { x: 19776, y: 19776 }, + { x: 19777, y: 19777 }, + { x: 19778, y: 19778 }, + { x: 19779, y: 19779 }, + { x: 19780, y: 19780 }, + { x: 19781, y: 19781 }, + { x: 19782, y: 19782 }, + { x: 19783, y: 19783 }, + { x: 19784, y: 19784 }, + { x: 19785, y: 19785 }, + { x: 19786, y: 19786 }, + { x: 19787, y: 19787 }, + { x: 19788, y: 19788 }, + { x: 19789, y: 19789 }, + { x: 19790, y: 19790 }, + { x: 19791, y: 19791 }, + { x: 19792, y: 19792 }, + { x: 19793, y: 19793 }, + { x: 19794, y: 19794 }, + { x: 19795, y: 19795 }, + { x: 19796, y: 19796 }, + { x: 19797, y: 19797 }, + { x: 19798, y: 19798 }, + { x: 19799, y: 19799 }, + { x: 19800, y: 19800 }, + { x: 19801, y: 19801 }, + { x: 19802, y: 19802 }, + { x: 19803, y: 19803 }, + { x: 19804, y: 19804 }, + { x: 19805, y: 19805 }, + { x: 19806, y: 19806 }, + { x: 19807, y: 19807 }, + { x: 19808, y: 19808 }, + { x: 19809, y: 19809 }, + { x: 19810, y: 19810 }, + { x: 19811, y: 19811 }, + { x: 19812, y: 19812 }, + { x: 19813, y: 19813 }, + { x: 19814, y: 19814 }, + { x: 19815, y: 19815 }, + { x: 19816, y: 19816 }, + { x: 19817, y: 19817 }, + { x: 19818, y: 19818 }, + { x: 19819, y: 19819 }, + { x: 19820, y: 19820 }, + { x: 19821, y: 19821 }, + { x: 19822, y: 19822 }, + { x: 19823, y: 19823 }, + { x: 19824, y: 19824 }, + { x: 19825, y: 19825 }, + { x: 19826, y: 19826 }, + { x: 19827, y: 19827 }, + { x: 19828, y: 19828 }, + { x: 19829, y: 19829 }, + { x: 19830, y: 19830 }, + { x: 19831, y: 19831 }, + { x: 19832, y: 19832 }, + { x: 19833, y: 19833 }, + { x: 19834, y: 19834 }, + { x: 19835, y: 19835 }, + { x: 19836, y: 19836 }, + { x: 19837, y: 19837 }, + { x: 19838, y: 19838 }, + { x: 19839, y: 19839 }, + { x: 19840, y: 19840 }, + { x: 19841, y: 19841 }, + { x: 19842, y: 19842 }, + { x: 19843, y: 19843 }, + { x: 19844, y: 19844 }, + { x: 19845, y: 19845 }, + { x: 19846, y: 19846 }, + { x: 19847, y: 19847 }, + { x: 19848, y: 19848 }, + { x: 19849, y: 19849 }, + { x: 19850, y: 19850 }, + { x: 19851, y: 19851 }, + { x: 19852, y: 19852 }, + { x: 19853, y: 19853 }, + { x: 19854, y: 19854 }, + { x: 19855, y: 19855 }, + { x: 19856, y: 19856 }, + { x: 19857, y: 19857 }, + { x: 19858, y: 19858 }, + { x: 19859, y: 19859 }, + { x: 19860, y: 19860 }, + { x: 19861, y: 19861 }, + { x: 19862, y: 19862 }, + { x: 19863, y: 19863 }, + { x: 19864, y: 19864 }, + { x: 19865, y: 19865 }, + { x: 19866, y: 19866 }, + { x: 19867, y: 19867 }, + { x: 19868, y: 19868 }, + { x: 19869, y: 19869 }, + { x: 19870, y: 19870 }, + { x: 19871, y: 19871 }, + { x: 19872, y: 19872 }, + { x: 19873, y: 19873 }, + { x: 19874, y: 19874 }, + { x: 19875, y: 19875 }, + { x: 19876, y: 19876 }, + { x: 19877, y: 19877 }, + { x: 19878, y: 19878 }, + { x: 19879, y: 19879 }, + { x: 19880, y: 19880 }, + { x: 19881, y: 19881 }, + { x: 19882, y: 19882 }, + { x: 19883, y: 19883 }, + { x: 19884, y: 19884 }, + { x: 19885, y: 19885 }, + { x: 19886, y: 19886 }, + { x: 19887, y: 19887 }, + { x: 19888, y: 19888 }, + { x: 19889, y: 19889 }, + { x: 19890, y: 19890 }, + { x: 19891, y: 19891 }, + { x: 19892, y: 19892 }, + { x: 19893, y: 19893 }, + { x: 19894, y: 19894 }, + { x: 19895, y: 19895 }, + { x: 19896, y: 19896 }, + { x: 19897, y: 19897 }, + { x: 19898, y: 19898 }, + { x: 19899, y: 19899 }, + { x: 19900, y: 19900 }, + { x: 19901, y: 19901 }, + { x: 19902, y: 19902 }, + { x: 19903, y: 19903 }, + { x: 19904, y: 19904 }, + { x: 19905, y: 19905 }, + { x: 19906, y: 19906 }, + { x: 19907, y: 19907 }, + { x: 19908, y: 19908 }, + { x: 19909, y: 19909 }, + { x: 19910, y: 19910 }, + { x: 19911, y: 19911 }, + { x: 19912, y: 19912 }, + { x: 19913, y: 19913 }, + { x: 19914, y: 19914 }, + { x: 19915, y: 19915 }, + { x: 19916, y: 19916 }, + { x: 19917, y: 19917 }, + { x: 19918, y: 19918 }, + { x: 19919, y: 19919 }, + { x: 19920, y: 19920 }, + { x: 19921, y: 19921 }, + { x: 19922, y: 19922 }, + { x: 19923, y: 19923 }, + { x: 19924, y: 19924 }, + { x: 19925, y: 19925 }, + { x: 19926, y: 19926 }, + { x: 19927, y: 19927 }, + { x: 19928, y: 19928 }, + { x: 19929, y: 19929 }, + { x: 19930, y: 19930 }, + { x: 19931, y: 19931 }, + { x: 19932, y: 19932 }, + { x: 19933, y: 19933 }, + { x: 19934, y: 19934 }, + { x: 19935, y: 19935 }, + { x: 19936, y: 19936 }, + { x: 19937, y: 19937 }, + { x: 19938, y: 19938 }, + { x: 19939, y: 19939 }, + { x: 19940, y: 19940 }, + { x: 19941, y: 19941 }, + { x: 19942, y: 19942 }, + { x: 19943, y: 19943 }, + { x: 19944, y: 19944 }, + { x: 19945, y: 19945 }, + { x: 19946, y: 19946 }, + { x: 19947, y: 19947 }, + { x: 19948, y: 19948 }, + { x: 19949, y: 19949 }, + { x: 19950, y: 19950 }, + { x: 19951, y: 19951 }, + { x: 19952, y: 19952 }, + { x: 19953, y: 19953 }, + { x: 19954, y: 19954 }, + { x: 19955, y: 19955 }, + { x: 19956, y: 19956 }, + { x: 19957, y: 19957 }, + { x: 19958, y: 19958 }, + { x: 19959, y: 19959 }, + { x: 19960, y: 19960 }, + { x: 19961, y: 19961 }, + { x: 19962, y: 19962 }, + { x: 19963, y: 19963 }, + { x: 19964, y: 19964 }, + { x: 19965, y: 19965 }, + { x: 19966, y: 19966 }, + { x: 19967, y: 19967 }, + { x: 19968, y: 19968 }, + { x: 19969, y: 19969 }, + { x: 19970, y: 19970 }, + { x: 19971, y: 19971 }, + { x: 19972, y: 19972 }, + { x: 19973, y: 19973 }, + { x: 19974, y: 19974 }, + { x: 19975, y: 19975 }, + { x: 19976, y: 19976 }, + { x: 19977, y: 19977 }, + { x: 19978, y: 19978 }, + { x: 19979, y: 19979 }, + { x: 19980, y: 19980 }, + { x: 19981, y: 19981 }, + { x: 19982, y: 19982 }, + { x: 19983, y: 19983 }, + { x: 19984, y: 19984 }, + { x: 19985, y: 19985 }, + { x: 19986, y: 19986 }, + { x: 19987, y: 19987 }, + { x: 19988, y: 19988 }, + { x: 19989, y: 19989 }, + { x: 19990, y: 19990 }, + { x: 19991, y: 19991 }, + { x: 19992, y: 19992 }, + { x: 19993, y: 19993 }, + { x: 19994, y: 19994 }, + { x: 19995, y: 19995 }, + { x: 19996, y: 19996 }, + { x: 19997, y: 19997 }, + { x: 19998, y: 19998 }, + { x: 19999, y: 19999 }, +]; + +var sum = 0; +for (var i = 0; i < points.length; ++i) { + var point = points[i]; + sum = point.x + point.y; +} diff --git a/implementation-contributed/javascriptcore/modules/module-namespace-is-frozen.js b/implementation-contributed/javascriptcore/modules/module-namespace-is-frozen.js new file mode 100644 index 0000000000..2e12710e84 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-namespace-is-frozen.js @@ -0,0 +1,9 @@ +import * as ns from "./module-namespace-is-frozen.js" +import {shouldThrow} from "./resources/assert.js" + +shouldThrow(() => { + Object.isFrozen(ns); +}, `ReferenceError: Cannot access uninitialized variable.`); + +export let a; +export function b () { } diff --git a/implementation-contributed/javascriptcore/modules/module-namespace-is-sealed.js b/implementation-contributed/javascriptcore/modules/module-namespace-is-sealed.js new file mode 100644 index 0000000000..47a0def00a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/module-namespace-is-sealed.js @@ -0,0 +1,9 @@ +import * as ns from "./module-namespace-is-sealed.js" +import {shouldThrow} from "./resources/assert.js" + +shouldThrow(() => { + Object.isSealed(ns); +}, `ReferenceError: Cannot access uninitialized variable.`); + +export let a; +export function b () { } diff --git a/implementation-contributed/javascriptcore/modules/namespace-ambiguous.js b/implementation-contributed/javascriptcore/modules/namespace-ambiguous.js new file mode 100644 index 0000000000..e496cd2922 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-ambiguous.js @@ -0,0 +1,6 @@ +import * as namespace from "./namespace-ambiguous/ambiguous.js" +import { shouldBe, shouldThrow } from "./resources/assert.js" + +// Ambiguous name is omitted from the namespace. +shouldBe(namespace.Cocoa, undefined); +shouldBe('Cocoa' in namespace, false); diff --git a/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-2.js b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-2.js new file mode 100644 index 0000000000..78093d466d --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-2.js @@ -0,0 +1,2 @@ +export * from "ambiguous-3.js" +export * from "ambiguous-4.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-3.js b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-3.js new file mode 100644 index 0000000000..c765164173 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-3.js @@ -0,0 +1 @@ +export const Cocoa = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-4.js b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-4.js new file mode 100644 index 0000000000..c765164173 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous-4.js @@ -0,0 +1 @@ +export const Cocoa = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous.js b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous.js new file mode 100644 index 0000000000..d2892eb9f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-ambiguous/ambiguous.js @@ -0,0 +1 @@ +import * as namespace from "ambiguous-2.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace-empty.js b/implementation-contributed/javascriptcore/modules/namespace-empty.js new file mode 100644 index 0000000000..398048cc93 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-empty.js @@ -0,0 +1,17 @@ +import * as ns from "./namespace-empty.js" +import {shouldThrow} from "./resources/assert.js" + +function access(ns) +{ + return ns.test; +} +noInline(access); + +for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => { + access(ns); + }, `ReferenceError: Cannot access uninitialized variable.`); +} + + +export let test = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-error.js b/implementation-contributed/javascriptcore/modules/namespace-error.js new file mode 100644 index 0000000000..e47817a7b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error.js @@ -0,0 +1,5 @@ +import { shouldThrow } from "./resources/assert.js" + +shouldThrow(() => { + loadModule('./namespace-error/namespace-local-error-should-hide-global-ambiguity.js'); +}, `SyntaxError: Indirectly exported binding name 'default' cannot be resolved by star export entries.`); diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-2.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-2.js new file mode 100644 index 0000000000..443a47a7d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-2.js @@ -0,0 +1,3 @@ +export * from "./namespace-local-error-should-hide-global-ambiguity-3.js" +export * from "./namespace-local-error-should-hide-global-ambiguity-4.js" +export * from "./namespace-local-error-should-hide-global-ambiguity-5.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-3.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-3.js new file mode 100644 index 0000000000..c765164173 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-3.js @@ -0,0 +1 @@ +export const Cocoa = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-4.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-4.js new file mode 100644 index 0000000000..82cbcce957 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-4.js @@ -0,0 +1,3 @@ +export * from "./namespace-local-error-should-hide-global-ambiguity-6.js" +import Hello from "./namespace-local-error-should-hide-global-ambiguity-7.js" +export { Hello } diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-5.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-5.js new file mode 100644 index 0000000000..c765164173 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-5.js @@ -0,0 +1 @@ +export const Cocoa = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-6.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-6.js new file mode 100644 index 0000000000..c765164173 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-6.js @@ -0,0 +1 @@ +export const Cocoa = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-7.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-7.js new file mode 100644 index 0000000000..139597f9cb --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity-7.js @@ -0,0 +1,2 @@ + + diff --git a/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity.js b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity.js new file mode 100644 index 0000000000..c0e0063837 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-error/namespace-local-error-should-hide-global-ambiguity.js @@ -0,0 +1 @@ +import * as namespace from "./namespace-local-error-should-hide-global-ambiguity-2.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-get-property.js b/implementation-contributed/javascriptcore/modules/namespace-object-get-property.js new file mode 100644 index 0000000000..2692012dd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-get-property.js @@ -0,0 +1,9 @@ +import { shouldThrow, shouldBe } from "./resources/assert.js"; +import * as ns from "./namespace-object-get-property.js" + +shouldThrow(() => { + Reflect.get(ns, 'empty'); +}, `ReferenceError: Cannot access uninitialized variable.`); +shouldBe(Reflect.get(ns, 'undefined'), undefined); + +export let empty; diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-has-property.js b/implementation-contributed/javascriptcore/modules/namespace-object-has-property.js new file mode 100644 index 0000000000..686885aaff --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-has-property.js @@ -0,0 +1,7 @@ +import { shouldBe } from "./resources/assert.js"; +import * as ns from "./namespace-object-has-property.js" + +shouldBe(Reflect.has(ns, 'empty'), true); +shouldBe(Reflect.has(ns, 'undefined'), false); + +export let empty; diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching.js b/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching.js new file mode 100644 index 0000000000..5cef5ac0dd --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching.js @@ -0,0 +1,37 @@ +import { shouldBe } from "./resources/assert.js"; +import * as A from "./namespace-object-inline-caching/a.js" +import * as B from "./namespace-object-inline-caching/b.js" + +// unset caching should be disabled for namespace object. +{ + function lookup(ns) + { + return ns.hello; + } + noInline(lookup); + + shouldBe(A.hello, undefined); + shouldBe(B.hello, 42); + + for (let i = 0; i < 1e4; ++i) + shouldBe(lookup(A), undefined); + + shouldBe(lookup(B), 42); +} + +// usual caching should be disabled for namespace object. +{ + function lookup(ns) + { + return ns.goodbye; + } + noInline(lookup); + + shouldBe(A.goodbye, 0); + shouldBe(B.goodbye, undefined); + + for (let i = 0; i < 1e4; ++i) + shouldBe(lookup(A), 0); + + shouldBe(lookup(B), undefined); +} diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/a.js b/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/a.js new file mode 100644 index 0000000000..731873a014 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/a.js @@ -0,0 +1 @@ +export let goodbye = 0; diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/b.js b/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/b.js new file mode 100644 index 0000000000..5b7d90f0ef --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-inline-caching/b.js @@ -0,0 +1 @@ +export let hello = 42; diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-symbol-iterator-name.js b/implementation-contributed/javascriptcore/modules/namespace-object-symbol-iterator-name.js new file mode 100644 index 0000000000..2e2319fdc5 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-symbol-iterator-name.js @@ -0,0 +1,4 @@ +import { shouldBe } from "./resources/assert.js"; +import * as ns from "./namespace-object-symbol-iterator-name.js"; + +shouldBe(ns[Symbol.iterator], undefined); diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-try-get.js b/implementation-contributed/javascriptcore/modules/namespace-object-try-get.js new file mode 100644 index 0000000000..84fd161104 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-try-get.js @@ -0,0 +1,25 @@ +var createBuiltin = $vm.createBuiltin; + +import { shouldBe } from "./resources/assert.js"; +import * as ns from "./namespace-object-try-get.js" + +function tryGetByIdText(propertyName) { return `(function (base) { return @tryGetById(base, '${propertyName}'); })`; } + +function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use strict"; return @tryGetById(base, '${propertyName}'); })`; } + +{ + let get = createBuiltin(tryGetByIdText("empty")); + noInline(get); + + // Do not throw. + shouldBe(get(ns), null); + + let getStrict = createBuiltin(tryGetByIdTextStrict("empty")); + noInline(getStrict); + + // Do not throw. + shouldBe(getStrict(ns), null); + +} + +export let empty; diff --git a/implementation-contributed/javascriptcore/modules/namespace-object-typed-array-fast-path.js b/implementation-contributed/javascriptcore/modules/namespace-object-typed-array-fast-path.js new file mode 100644 index 0000000000..de2432985f --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-object-typed-array-fast-path.js @@ -0,0 +1,7 @@ +import { shouldBe } from "./resources/assert.js"; +import * as ns from "./namespace-object-typed-array-fast-path.js" +export let length = 42; +export let hello = 44; + +let array = new Uint8Array(ns); +shouldBe(array.length, 0); diff --git a/implementation-contributed/javascriptcore/modules/namespace-prototype-assignment.js b/implementation-contributed/javascriptcore/modules/namespace-prototype-assignment.js new file mode 100644 index 0000000000..d9381332a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-prototype-assignment.js @@ -0,0 +1,389 @@ +// This test suite compares the behavior of setting the prototype on various values +// (using Object.setPrototypeOf(), obj.__proto__ assignment, and Reflect.setPrototypeOf()) +// against what is specified in the ES spec. The expected behavior specified according +// to the spec is expressed in expectationsForObjectSetPrototypeOf, +// expectationsForSetUnderscoreProto, and expectationsForReflectSetPrototypeOf. + +import * as namespace from "./namespace-prototype-assignment.js" + +var inBrowser = (typeof window != "undefined"); + +// Test configuration options: +var verbose = false; +var maxIterations = 1; +var throwOnEachError = true; + +var testUndefined = true; +var testNull = true; +var testTrue = true; +var testFalse = true; +var testNumbers = true; +var testString = true; +var testSymbol = true; +var testObject = true; +var testGlobal = true; +var testWindowProtos = inBrowser; + +var engine; + +//==================================================================================== +// Error messages: + +if (inBrowser) { + let userAgent = navigator.userAgent; + if (userAgent.match(/ Chrome\/[0-9]+/)) engine = "chrome"; + else if (userAgent.match(/ Firefox\/[0-9]+/)) engine = "default"; + else engine = "safari"; +} else + engine = "jsc"; + +// Set default error messages and then override with engine specific ones below. +var DefaultTypeError = "TypeError: "; +var CannotSetPrototypeOfImmutablePrototypeObject = DefaultTypeError; +var CannotSetPrototypeOfThisObject = DefaultTypeError; +var CannotSetPrototypeOfUndefinedOrNull = DefaultTypeError; +var CannotSetPrototypeOfNonObject = DefaultTypeError; +var PrototypeValueCanOnlyBeAnObjectOrNull = DefaultTypeError; +var ObjectProtoCalledOnNullOrUndefinedError = DefaultTypeError; +var ReflectSetPrototypeOfRequiresTheFirstArgumentBeAnObject = DefaultTypeError; +var ReflectSetPrototypeOfRequiresTheSecondArgumentBeAnObjectOrNull = DefaultTypeError; + +if (engine == "jsc" || engine === "safari") { + CannotSetPrototypeOfImmutablePrototypeObject = "TypeError: Cannot set prototype of immutable prototype object"; + CannotSetPrototypeOfThisObject = "TypeError: Cannot set prototype of this object"; + CannotSetPrototypeOfUndefinedOrNull = "TypeError: Cannot set prototype of undefined or null"; + CannotSetPrototypeOfNonObject = "TypeError: Cannot set prototype of non-object"; + PrototypeValueCanOnlyBeAnObjectOrNull = "TypeError: Prototype value can only be an object or null"; + ObjectProtoCalledOnNullOrUndefinedError = "TypeError: Object.prototype.__proto__ called on null or undefined"; + ReflectSetPrototypeOfRequiresTheFirstArgumentBeAnObject = "TypeError: Reflect.setPrototypeOf requires the first argument be an object"; + ReflectSetPrototypeOfRequiresTheSecondArgumentBeAnObjectOrNull = "TypeError: Reflect.setPrototypeOf requires the second argument be either an object or null"; +} else if (engine === "chrome") { + CannotSetPrototypeOfImmutablePrototypeObject = "TypeError: Immutable prototype object "; +} + +//==================================================================================== +// Utility functions: + +if (inBrowser) + print = console.log; + +function reportError(errorMessage) { + if (throwOnEachError) + throw errorMessage; + else + print(errorMessage); +} + +function shouldEqual(testID, resultType, actual, expected) { + if (actual != expected) + reportError("ERROR in " + resultType + + ": expect " + stringify(expected) + ", actual " + stringify(actual) + + " in test: " + testID.signature + " on iteration " + testID.iteration); +} + +function shouldThrow(testID, resultType, actual, expected) { + let actualStr = "" + actual; + if (!actualStr.startsWith(expected)) + reportError("ERROR in " + resultType + + ": expect " + expected + ", actual " + actual + + " in test: " + testID.signature + " on iteration " + testID.iteration); +} + +function stringify(value) { + if (typeof value == "string") return '"' + value + '"'; + if (typeof value == "symbol") return value.toString(); + + if (value === origGlobalProto) return "origGlobalProto"; + if (value === origObjectProto) return "origObjectProto"; + if (value === newObjectProto) return "newObjectProto"; + if (value === proxyObject) return "proxyObject"; + + if (value === null) return "null"; + if (typeof value == "object") return "object"; + return "" + value; +} + +function makeTestID(index, iteration, targetName, protoToSet, protoSetter, expected) { + let testID = {}; + testID.signature = "[" + index + "] " + + protoSetter.actionName + "|" + + targetName + "|" + + stringify(protoToSet) + "|" + + stringify(expected.result) + "|" + + stringify(expected.proto) + "|" + + stringify(expected.exception); + testID.iteration = iteration; + return testID; +} + +//==================================================================================== +// Functions to express the expectations of the ES specification: + +function doInternalSetPrototypeOf(result, target, origProto, newProto) { + if (!target.setPrototypeOf) { + result.success = true; + result.exception = undefined; + return; + } + target.setPrototypeOf(result, origProto, newProto); +} + +// 9.1.2.1 OrdinarySetPrototypeOf ( O, V ) +// https://tc39.github.io/ecma262/#sec-ordinarysetprototypeof +function ordinarySetPrototypeOf(result, currentProto, newProto) { + // 9.1.2.1-4 If SameValue(V, current) is true, return true. + if (newProto === currentProto) { + result.success = true; + return; + } + // 9.1.2.1-5 [extensibility check not tested here] + // 9.1.2.1-8 [cycle check not tested here] + result.success = true; +} + +// 9.4.7.2 SetImmutablePrototype ( O, V ) +// https://tc39.github.io/ecma262/#sec-set-immutable-prototype +function setImmutablePrototype(result, currentProto, newProto) { + if (newProto === currentProto) { + result.success = true; + return; + } + result.success = false; + result.exception = CannotSetPrototypeOfImmutablePrototypeObject; +} + +// HTML spec: 7.4.2 [[SetPrototypeOf]] ( V ) +// https://html.spec.whatwg.org/#windowproxy-setprototypeof +function windowProxySetPrototypeOf(result, currentProto, newProto) { + result.success = false; + result.exception = CannotSetPrototypeOfThisObject; +} + + +var count = 0; +function initSetterExpectation(target, newProto) { + var targetValue = target.value(); + var origProto = undefined; + if (targetValue != null && targetValue != undefined) + origProto = targetValue.__proto__; // Default to old proto. + + var expected = {}; + expected.targetValue = targetValue; + expected.origProto = origProto; + expected.exception = undefined; + expected.proto = origProto; + expected.result = undefined; + + return expected; +} + +// 19.1.2.21 Object.setPrototypeOf ( O, proto ) +// https://tc39.github.io/ecma262/#sec-object.setprototypeof +function objectSetPrototypeOf(target, newProto) { + let expected = initSetterExpectation(target, newProto); + var targetValue = expected.targetValue; + var origProto = expected.origProto; + + function throwIfNoExceptionPending(e) { + if (!expected.exception) + expected.exception = e; + } + + // 19.1.2.21-1 Let O be ? RequireObjectCoercible(O). + if (targetValue == undefined || targetValue == null) + throwIfNoExceptionPending(CannotSetPrototypeOfUndefinedOrNull); + + // 19.1.2.21-2 If Type(proto) is neither Object nor Null, throw a TypeError exception. + if (typeof newProto != "object") + throwIfNoExceptionPending(PrototypeValueCanOnlyBeAnObjectOrNull); + + // 19.1.2.21-3 If Type(O) is not Object, return O. + else if (typeof targetValue != "object") + expected.result = targetValue; + + // 19.1.2.21-4 Let status be ? O.[[SetPrototypeOf]](proto). + else { + // 19.1.2.21-5 If status is false, throw a TypeError exception. + let result = {}; + doInternalSetPrototypeOf(result, target, origProto, newProto); + if (result.success) + expected.proto = newProto; + else + throwIfNoExceptionPending(result.exception); + + // 19.1.2.21-6 Return O. + expected.result = targetValue; + } + + return expected; +} +objectSetPrototypeOf.action = (obj, newProto) => Object.setPrototypeOf(obj, newProto); +objectSetPrototypeOf.actionName = "Object.setPrototypeOf"; + + +// B.2.2.1.2 set Object.prototype.__proto__ +// https://tc39.github.io/ecma262/#sec-set-object.prototype.__proto__ +function setUnderscoreProto(target, newProto) { + let expected = initSetterExpectation(target, newProto); + var targetValue = expected.targetValue; + var origProto = expected.origProto; + + function throwIfNoExceptionPending(e) { + if (!expected.exception) + expected.exception = e; + } + + // B.2.2.1.2-1 Let O be ? RequireObjectCoercible(this value). + if (targetValue == undefined || targetValue == null) + throwIfNoExceptionPending(DefaultTypeError); + + // B.2.2.1.2-2 If Type(proto) is neither Object nor Null, return undefined. + if (typeof newProto != "object") + expected.result = undefined; + + // B.2.2.1.2-3 If Type(O) is not Object, return undefined. + else if (typeof targetValue != "object") + expected.result = undefined; + + // B.2.2.1.2-4 Let status be ? O.[[SetPrototypeOf]](proto). + else { + // B.2.2.1.2-5 If status is false, throw a TypeError exception. + let result = {}; + doInternalSetPrototypeOf(result, target, origProto, newProto); + if (result.success) + expected.proto = newProto; + else + throwIfNoExceptionPending(result.exception); + + // B.2.2.1.2-6 Return undefined. + expected.result = undefined; + } + + // Override the result to be the newProto value because the statement obj.__proto__ = value + // will produce the rhs value, not the result of the obj.__proto__ setter. + expected.result = newProto; + return expected; +} +setUnderscoreProto.action = (obj, newProto) => (obj.__proto__ = newProto); +setUnderscoreProto.actionName = "obj.__proto__"; + + +// 26.1.13 Reflect.setPrototypeOf ( target, proto ) +// https://tc39.github.io/ecma262/#sec-reflect.setprototypeof +// function expectationsForReflectSetPrototypeOf(target, newProto, targetExpectation) { +function reflectSetPrototypeOf(target, newProto) { + let expected = initSetterExpectation(target, newProto); + var targetValue = expected.targetValue; + var origProto = expected.origProto; + + function throwIfNoExceptionPending(e) { + if (!expected.exception) + expected.exception = e; + } + + // 26.1.13-1 If Type(target) is not Object, throw a TypeError exception. + if (targetValue === null || typeof targetValue != "object") + throwIfNoExceptionPending(ReflectSetPrototypeOfRequiresTheFirstArgumentBeAnObject); + + // 26.1.13-2 If Type(proto) is not Object and proto is not null, throw a TypeError exception. + if (typeof newProto != "object") + throwIfNoExceptionPending(ReflectSetPrototypeOfRequiresTheSecondArgumentBeAnObjectOrNull); + + // 26.1.13-3 Return ? target.[[SetPrototypeOf]](proto). + let result = {}; + doInternalSetPrototypeOf(result, target, origProto, newProto); + expected.result = result.success; + if (result.success) + expected.proto = newProto; + + return expected; +} +reflectSetPrototypeOf.action = (obj, newProto) => Reflect.setPrototypeOf(obj, newProto); +reflectSetPrototypeOf.actionName = "Reflect.setPrototypeOf"; + + +//==================================================================================== +// Test Data: + +var global = new Function('return this')(); +var origGlobalProto = global.__proto__; +var origObjectProto = {}.__proto__; +var proxyObject = new Proxy({ }, { + setPrototypeOf(target, value) { + throw "Thrown from proxy"; + } +}); +var newObjectProto = { toString() { return "newObjectProto"; } }; +var origNamespaceProto = namespace.__proto__; + +var targets = []; + +targets.push({ + name: "namespace", + value: () => origNamespaceProto, + setPrototypeOf: setImmutablePrototype +}); + +var newProtos = [ + undefined, + null, + true, + false, + 0, + 11, + 123.456, + "doh", + Symbol("doh"), + {}, + origObjectProto, + origGlobalProto, + newObjectProto +]; + +var protoSetters = [ + objectSetPrototypeOf, + setUnderscoreProto, + reflectSetPrototypeOf, +]; + + +//==================================================================================== +// Test driver functions: + +function test(testID, targetValue, newProto, setterAction, expected) { + let exception = undefined; + let result = undefined; + try { + result = setterAction(targetValue, newProto); + } catch (e) { + exception = e; + } + shouldThrow(testID, "exception", exception, expected.exception); + if (!expected.exception) { + shouldEqual(testID, "__proto__", targetValue.__proto__, expected.proto); + shouldEqual(testID, "result", result, expected.result); + } +} + +function runTests() { + let testIndex = 0; + for (let protoSetter of protoSetters) { + for (let target of targets) { + for (let newProto of newProtos) { + let currentTestIndex = testIndex++; + for (var i = 0; i < maxIterations; i++) { + let expected = protoSetter(target, newProto); + let targetValue = expected.targetValue; + + let testID = makeTestID(currentTestIndex, i, target.name, newProto, protoSetter, expected); + if (verbose && i == 0) + print("test: " + testID.signature); + + test(testID, targetValue, newProto, protoSetter.action, expected); + } + } + } + } +} + +runTests(); diff --git a/implementation-contributed/javascriptcore/modules/namespace-re-export.js b/implementation-contributed/javascriptcore/modules/namespace-re-export.js new file mode 100644 index 0000000000..9c74e612d4 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-re-export.js @@ -0,0 +1 @@ +import "namespace-re-export/namespace-re-export.js"; diff --git a/implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export-fixture.js b/implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export-fixture.js new file mode 100644 index 0000000000..9c71bcc4d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export-fixture.js @@ -0,0 +1,2 @@ +import * as namespace from './namespace-re-export.js'; +export { namespace }; diff --git a/implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export.js b/implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export.js new file mode 100644 index 0000000000..4e24963e8a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-re-export/namespace-re-export.js @@ -0,0 +1,11 @@ +import { shouldBe, shouldNotBe } from "../resources/assert.js"; +import * as self1 from './namespace-re-export.js'; +import * as other1 from './namespace-re-export-fixture.js'; +import { namespace } from './namespace-re-export-fixture.js'; + +// Re-exported namespace objects +shouldBe(self1, namespace); +shouldNotBe(self1, other1); + +// Re-exported namespace binding should reside in the namespace-re-export-fixture's namespace object. +shouldBe('namespace' in other1, true); diff --git a/implementation-contributed/javascriptcore/modules/namespace-set-prototype-of.js b/implementation-contributed/javascriptcore/modules/namespace-set-prototype-of.js new file mode 100644 index 0000000000..2c1ece3799 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-set-prototype-of.js @@ -0,0 +1,10 @@ +import * as namespace from "./namespace-set-prototype-of.js" +import { shouldBe, shouldThrow } from "./resources/assert.js"; + +shouldThrow(() => { + Object.setPrototypeOf(namespace, {}); +}, `TypeError: Cannot set prototype of immutable prototype object`); + +shouldBe(Reflect.setPrototypeOf(namespace, {}), false); +shouldBe(Reflect.setPrototypeOf(namespace, null), true); +shouldBe(Object.setPrototypeOf(namespace, null), namespace); diff --git a/implementation-contributed/javascriptcore/modules/namespace-tdz.js b/implementation-contributed/javascriptcore/modules/namespace-tdz.js new file mode 100644 index 0000000000..16f2b0c903 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-tdz.js @@ -0,0 +1 @@ +import * as namespace from "./namespace-tdz/main.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace-tdz/A.js b/implementation-contributed/javascriptcore/modules/namespace-tdz/A.js new file mode 100644 index 0000000000..62491c148a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-tdz/A.js @@ -0,0 +1,10 @@ +import * as namespace from "./B.js" +import { shouldBe, shouldThrow } from "../resources/assert.js"; + +export const A = 42; + +shouldBe(JSON.stringify(Reflect.getOwnPropertyDescriptor(namespace, 'B')), `{"value":256,"writable":true,"enumerable":true,"configurable":false}`); + +shouldBe(namespace.B, 256); +namespace.later(); + diff --git a/implementation-contributed/javascriptcore/modules/namespace-tdz/B.js b/implementation-contributed/javascriptcore/modules/namespace-tdz/B.js new file mode 100644 index 0000000000..d8f77e1783 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-tdz/B.js @@ -0,0 +1,20 @@ +import * as namespace from "./A.js" +import { shouldBe, shouldThrow } from "../resources/assert.js"; + +export const B = 256; + +shouldThrow(() => { + print(namespace.A); +}, `ReferenceError: Cannot access uninitialized variable.`); + +shouldThrow(() => { + Reflect.getOwnPropertyDescriptor(namespace, 'A'); +}, `ReferenceError: Cannot access uninitialized variable.`); + +// Not throw any errors even if the field is not initialized yet. +shouldBe('A' in namespace, true); +shouldBe('hello' in namespace, false); + +export function later() { + shouldBe(namespace.A, 42); +} diff --git a/implementation-contributed/javascriptcore/modules/namespace-tdz/main.js b/implementation-contributed/javascriptcore/modules/namespace-tdz/main.js new file mode 100644 index 0000000000..c24f972f63 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace-tdz/main.js @@ -0,0 +1 @@ +import { A } from "./A.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace.js b/implementation-contributed/javascriptcore/modules/namespace.js new file mode 100644 index 0000000000..3f9f0601b1 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace.js @@ -0,0 +1,81 @@ +import changeCappuccino, * as namespace from "./namespace/drink.js" +import { shouldBe, shouldThrow } from "./resources/assert.js"; + +shouldBe(typeof namespace, 'object'); +shouldBe(typeof changeCappuccino, 'function'); +shouldBe(namespace.Cocoa, 'Cocoa'); +shouldBe(namespace.Cappuccino, 'Cappuccino'); +shouldBe(namespace.Matcha, 'Matcha'); +shouldBe(namespace.Mocha, 'Mocha'); +shouldBe(namespace.default, changeCappuccino); + +changeCappuccino('Cocoa'); +shouldBe(namespace.Cocoa, 'Cocoa'); +shouldBe(namespace.Cappuccino, 'Cocoa'); +shouldBe(namespace.Matcha, 'Matcha'); +shouldBe(namespace.Mocha, 'Mocha'); +shouldBe(namespace.default, changeCappuccino); + +shouldBe('Cocoa' in namespace, true); +shouldBe('Cappuccino' in namespace, true); +shouldBe('Matcha' in namespace, true); +shouldBe('Mocha' in namespace, true); +shouldBe('default' in namespace, true); +shouldBe(Symbol.iterator in namespace, false); +shouldBe('Tea' in namespace, false); + +shouldBe(namespace.__proto__, undefined); +shouldBe(Reflect.isExtensible(namespace), false); + +shouldBe(Reflect.set(namespace, 'Extended', 42), false); +shouldBe('Extended' in namespace, false); + +shouldBe(Reflect.set(namespace, 42, 42), false); +shouldBe(42 in namespace, false); + +shouldThrow(() => { + namespace.value = 20; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldThrow(() => { + namespace[20] = 20; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldThrow(() => { + namespace[Symbol.unscopables] = 20; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldThrow(() => { + Object.defineProperty(namespace, 'Cookie', { + value: 42 + }); +}, `TypeError: Attempting to define property on object that is not extensible.`); + +shouldThrow(() => { + namespace.__proto__ = Object.prototype; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(Reflect.setPrototypeOf(namespace, Object.prototype), false); +shouldBe(namespace.__proto__, undefined); +shouldBe(Reflect.getPrototypeOf(namespace), null); + +// These names should be shown in the code point order. +shouldBe(JSON.stringify(Object.getOwnPropertyNames(namespace)), `["Cappuccino","Cocoa","Matcha","Mocha","default"]`); +shouldBe(Object.getOwnPropertySymbols(namespace).length, 1); +shouldBe(Object.getOwnPropertySymbols(namespace)[0], Symbol.toStringTag); + +// The imported binding properties of the namespace object seen as writable, but, it does not mean that it is writable by users. +shouldBe(JSON.stringify(Reflect.getOwnPropertyDescriptor(namespace, "Cocoa")), `{"value":"Cocoa","writable":true,"enumerable":true,"configurable":false}`); +shouldBe(JSON.stringify(Reflect.getOwnPropertyDescriptor(namespace, "Matcha")), `{"value":"Matcha","writable":true,"enumerable":true,"configurable":false}`); +shouldBe(JSON.stringify(Reflect.getOwnPropertyDescriptor(namespace, "Mocha")), `{"value":"Mocha","writable":true,"enumerable":true,"configurable":false}`); +shouldThrow(() => { + // Throw an error even if the same value. + namespace.Cocoa = 'Cocoa'; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(JSON.stringify(Reflect.getOwnPropertyDescriptor(namespace, Symbol.toStringTag)), `{"value":"Module","writable":false,"enumerable":false,"configurable":false}`); +shouldThrow(() => { + namespace[Symbol.toStringTag] = 42; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldBe(Reflect.deleteProperty(namespace, Symbol.toStringTag), false); diff --git a/implementation-contributed/javascriptcore/modules/namespace/additional-drink.js b/implementation-contributed/javascriptcore/modules/namespace/additional-drink.js new file mode 100644 index 0000000000..59daa53f8a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace/additional-drink.js @@ -0,0 +1,4 @@ +export const Matcha = 'Matcha'; + +import { Mocha } from "./more-additional-drink.js" +export { Mocha } diff --git a/implementation-contributed/javascriptcore/modules/namespace/drink.js b/implementation-contributed/javascriptcore/modules/namespace/drink.js new file mode 100644 index 0000000000..621fd22902 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace/drink.js @@ -0,0 +1,10 @@ + +export const Cocoa = "Cocoa"; + +export let Cappuccino = "Cappuccino"; + +export default function changeCappuccino(value) { + Cappuccino = value; +} + +export * from "./additional-drink.js" diff --git a/implementation-contributed/javascriptcore/modules/namespace/more-additional-drink.js b/implementation-contributed/javascriptcore/modules/namespace/more-additional-drink.js new file mode 100644 index 0000000000..fcc3622004 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/namespace/more-additional-drink.js @@ -0,0 +1 @@ +export const Mocha = 'Mocha'; diff --git a/implementation-contributed/javascriptcore/modules/resources/assert.js b/implementation-contributed/javascriptcore/modules/resources/assert.js new file mode 100644 index 0000000000..6d94fb04a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/resources/assert.js @@ -0,0 +1,28 @@ +export function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +export function shouldNotBe(actual, expected) { + if (actual === expected) + throw new Error(`bad value: ${String(actual)}`); +} + +export function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +export function shouldNotThrow(func) { + func(); +} diff --git a/implementation-contributed/javascriptcore/modules/scopes-eval.js b/implementation-contributed/javascriptcore/modules/scopes-eval.js new file mode 100644 index 0000000000..b50da3dedc --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/scopes-eval.js @@ -0,0 +1,24 @@ +import { Cappuccino } from "./scopes/drink.js" +import { shouldBe } from "./resources/assert.js"; + +// Separate test from scopes.js since direct eval can taint variables. +var global = Function("return this")(); +var globalEval = (0, eval); +global.Cappuccino = 'Global Scope'; +shouldBe(Cappuccino, 'Cappuccino'); + +(function () { + let Cappuccino = 'Function Scope'; + shouldBe(Cappuccino, 'Function Scope'); + { + let Cappuccino = 'Block Scope'; + { + (function () { + shouldBe(Cappuccino, 'Block Scope'); + shouldBe(eval(`Cappuccino`), 'Block Scope'); + }()); + } + } + shouldBe(Object, global.Object); +}()); +shouldBe(Object, global.Object) diff --git a/implementation-contributed/javascriptcore/modules/scopes.js b/implementation-contributed/javascriptcore/modules/scopes.js new file mode 100644 index 0000000000..d6794796de --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/scopes.js @@ -0,0 +1,37 @@ +import { Cocoa, Cappuccino, Matcha } from "./scopes/drink.js" +import { shouldBe } from "./resources/assert.js"; + +var global = Function("return this")(); +var globalEval = (0, eval); +global.Cappuccino = 'Global Scope'; + +{ + let Cocoa = 42; + shouldBe(Cocoa, 42); +} +shouldBe(Cocoa, 'Cocoa'); +shouldBe(Cappuccino, 'Cappuccino'); // Module Scope. +shouldBe(Matcha, 'Matcha'); + +(function () { + var Cocoa = 42; + let Cappuccino = 'Function Scope'; + shouldBe(Cocoa, 42); + shouldBe(Cappuccino, 'Function Scope'); + shouldBe(Matcha, 'Matcha'); + { + let Cappuccino = 'Block Scope'; + const Matcha = 50; + shouldBe(Matcha, 50); + shouldBe(Object, global.Object); + { + (function () { + shouldBe(Cappuccino, 'Block Scope'); + shouldBe(globalEval(`Cappuccino`), 'Global Scope'); + shouldBe(Function(`return Cappuccino`)(), 'Global Scope'); + }()); + } + } + shouldBe(Object, global.Object); +}()); +shouldBe(Object, global.Object); diff --git a/implementation-contributed/javascriptcore/modules/scopes/additional-drink.js b/implementation-contributed/javascriptcore/modules/scopes/additional-drink.js new file mode 100644 index 0000000000..59daa53f8a --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/scopes/additional-drink.js @@ -0,0 +1,4 @@ +export const Matcha = 'Matcha'; + +import { Mocha } from "./more-additional-drink.js" +export { Mocha } diff --git a/implementation-contributed/javascriptcore/modules/scopes/drink.js b/implementation-contributed/javascriptcore/modules/scopes/drink.js new file mode 100644 index 0000000000..621fd22902 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/scopes/drink.js @@ -0,0 +1,10 @@ + +export const Cocoa = "Cocoa"; + +export let Cappuccino = "Cappuccino"; + +export default function changeCappuccino(value) { + Cappuccino = value; +} + +export * from "./additional-drink.js" diff --git a/implementation-contributed/javascriptcore/modules/scopes/more-additional-drink.js b/implementation-contributed/javascriptcore/modules/scopes/more-additional-drink.js new file mode 100644 index 0000000000..fcc3622004 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/scopes/more-additional-drink.js @@ -0,0 +1 @@ +export const Mocha = 'Mocha'; diff --git a/implementation-contributed/javascriptcore/modules/self-star-link.js b/implementation-contributed/javascriptcore/modules/self-star-link.js new file mode 100644 index 0000000000..d5e337632b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/self-star-link.js @@ -0,0 +1,15 @@ +// +-------------+ +// | | +// v | +// @-> (A) -> (B) -> (C) *-> [E] +// * +// | +// v +// [D] +import { A } from "./self-star-link/A.js" +import { shouldBe } from "./resources/assert.js" +import { A as AfromC } from "./self-star-link/C.js" +import { A as AfromB } from "./self-star-link/B.js" +shouldBe(A, 'E'); +shouldBe(AfromC, 'D'); +shouldBe(AfromB, 'D'); diff --git a/implementation-contributed/javascriptcore/modules/self-star-link/A.js b/implementation-contributed/javascriptcore/modules/self-star-link/A.js new file mode 100644 index 0000000000..a79e928e2b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/self-star-link/A.js @@ -0,0 +1,2 @@ +export { A } from "./B.js" +export * from "./D.js" diff --git a/implementation-contributed/javascriptcore/modules/self-star-link/B.js b/implementation-contributed/javascriptcore/modules/self-star-link/B.js new file mode 100644 index 0000000000..672bccf05b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/self-star-link/B.js @@ -0,0 +1 @@ +export { A } from "./C.js" diff --git a/implementation-contributed/javascriptcore/modules/self-star-link/C.js b/implementation-contributed/javascriptcore/modules/self-star-link/C.js new file mode 100644 index 0000000000..6cc6194a5c --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/self-star-link/C.js @@ -0,0 +1,2 @@ +export { A } from "./A.js" +export * from "./E.js" diff --git a/implementation-contributed/javascriptcore/modules/self-star-link/D.js b/implementation-contributed/javascriptcore/modules/self-star-link/D.js new file mode 100644 index 0000000000..5c938f5a98 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/self-star-link/D.js @@ -0,0 +1 @@ +export let A = 'D'; diff --git a/implementation-contributed/javascriptcore/modules/self-star-link/E.js b/implementation-contributed/javascriptcore/modules/self-star-link/E.js new file mode 100644 index 0000000000..4315381181 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/self-star-link/E.js @@ -0,0 +1 @@ +export let A = 'E'; diff --git a/implementation-contributed/javascriptcore/modules/string-prototype-module-scope.js b/implementation-contributed/javascriptcore/modules/string-prototype-module-scope.js new file mode 100644 index 0000000000..d04b858587 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/string-prototype-module-scope.js @@ -0,0 +1,15 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var error = null; +try { + var charAt = String.prototype.charAt; + charAt(); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +function refer() { charAt; } diff --git a/implementation-contributed/javascriptcore/modules/this-should-be-undefined.js b/implementation-contributed/javascriptcore/modules/this-should-be-undefined.js new file mode 100644 index 0000000000..88453e2cf8 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/this-should-be-undefined.js @@ -0,0 +1,3 @@ +import { shouldBe } from "./resources/assert.js"; + +shouldBe(this, undefined); diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star.js new file mode 100644 index 0000000000..4192b517fa --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star.js @@ -0,0 +1,13 @@ +// (A) *--> [B] +// | ^ +// | | +// +-> (C) *-> (D) +// ^ +// | +// (E) +// ^ +// | +// @ + +import "uncacheable-when-see-star/main1.js" +import "uncacheable-when-see-star/main2.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A-pre.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A-pre.js new file mode 100644 index 0000000000..e90b535f87 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A-pre.js @@ -0,0 +1 @@ +export { A } from "./A.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A.js new file mode 100644 index 0000000000..61247645ee --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/A.js @@ -0,0 +1,2 @@ +export * from "./B.js" +export * from "./C.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/B.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/B.js new file mode 100644 index 0000000000..5dc929f3ff --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/B.js @@ -0,0 +1 @@ +export let A = 40; diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/C.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/C.js new file mode 100644 index 0000000000..a79e928e2b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/C.js @@ -0,0 +1,2 @@ +export { A } from "./B.js" +export * from "./D.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/D.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/D.js new file mode 100644 index 0000000000..8b13789179 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/D.js @@ -0,0 +1 @@ + diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E-pre.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E-pre.js new file mode 100644 index 0000000000..7d3aa04b7b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E-pre.js @@ -0,0 +1 @@ +export { A } from "./E.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E.js new file mode 100644 index 0000000000..672bccf05b --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/E.js @@ -0,0 +1 @@ +export { A } from "./C.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main1.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main1.js new file mode 100644 index 0000000000..f2373b9bf5 --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main1.js @@ -0,0 +1 @@ +import { A } from "./E-pre.js" diff --git a/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main2.js b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main2.js new file mode 100644 index 0000000000..597376aa6c --- /dev/null +++ b/implementation-contributed/javascriptcore/modules/uncacheable-when-see-star/main2.js @@ -0,0 +1 @@ +import { A } from "./A-pre.js" diff --git a/implementation-contributed/javascriptcore/perf/bench-allocate-nonretained.js b/implementation-contributed/javascriptcore/perf/bench-allocate-nonretained.js new file mode 100644 index 0000000000..d493416beb --- /dev/null +++ b/implementation-contributed/javascriptcore/perf/bench-allocate-nonretained.js @@ -0,0 +1,6 @@ +(function () { + for (var i = 0; i < 500; ++i) { + for (var j = 0; j < 100000; ++j) + var a = {}; + } +})(); diff --git a/implementation-contributed/javascriptcore/perf/bench-allocate-retained.js b/implementation-contributed/javascriptcore/perf/bench-allocate-retained.js new file mode 100644 index 0000000000..4e6a4bd1b2 --- /dev/null +++ b/implementation-contributed/javascriptcore/perf/bench-allocate-retained.js @@ -0,0 +1,10 @@ +(function () { + var a = new Array(100000); + for (var i = 0; i < 100000; ++i) + a[i] = {}; + + for (var i = 0; i < 500; ++i) { + for (var j = 0; j < 100000; ++j) + var b = {}; + } +})(); diff --git a/implementation-contributed/javascriptcore/regexp/RegExpTest.data b/implementation-contributed/javascriptcore/regexp/RegExpTest.data new file mode 100644 index 0000000000..a9f43c57b9 --- /dev/null +++ b/implementation-contributed/javascriptcore/regexp/RegExpTest.data @@ -0,0 +1,1045 @@ +# Test data file for JavaScriptCore::RegExp functional test. +# The format of this file is: +# # comment line +# /{pattern}/{flags} +# "{string}", {offset}, {return-value}, {match-offset-vector} +# Both the pattern and string accept backslash escapes. +# +/A/ + "A", 0, 0, (0, 1) + "A2", 0, 0, (0, 1) +/A2/ + "A2", 0, 0, (0, 2) +/\\u0041/ + "A", 0, 0, (0, 1) +/\\u00412/ + "A2", 0, 0, (0, 2) +/abc/ + "abc", 0, 0, (0, 3) + "xabcy", 0, 1, (1, 4) + "ababc", 0, 2, (2, 5) + "xbc", 0, -1, (-1, -1) + "axc", 0, -1, (-1, -1) + "abx", 0, -1, (-1, -1) + "b", 0, -1, (-1, -1) +/a|ab/ + "abc", 0, 0, (0, 1) +/(a|d|q|)x/i + "bcaDxqy", 0, 3, (3, 5, 3, 4) +/(a|(e|q))(x|y)/ + "bcaddxqy", 0, 6, (6, 8, 6, 7, 6, 7, 7, 8) +/a*b/ + "aaadaabaaa", 0, 4, (4, 7) + "xxx", 0, -1, (4, 4) +/[^abc]def[abc]+/ + "abxdefbb", 0, 2, (2, 8) +/(a*)baa/ + "ccdaaabaxaabaa", 0, 9, (9, 14, 9, 11) + "aabaa", 0, 0, (0, 5, 0, 2) +/q(a|b)*q/ + "xxqababqyy", 0, 2, (2, 8, 6, 7) +/(a(.|[^d])c)*/ + "adcaxc", 0, 0, (0, 6, 3, 6, 4, 5) +/(a*)b\\1/ + "abaaaxaabaayy", 0, 0, (0, 3, 0, 1) + "cccdaaabaxaabaayy", 0, 6, (6, 9, 6, 7) + "cccdaaabqxaabaayy", 0, 7, (7, 8, 7, 7) +/x1g/ + "x1g", 0, 0, (0, 3) +/^x/ + "x412", 0, 0, (0, 1) +/\\u001g/ + "u001g", 0, 0, (0, 5) +/34/g + "343443444", 0, 0, (0, 2) + "343443444", 2, 2, (2, 4) + "343443444", 4, 5, (5, 7) + "343443444", 7, -1, (-1, -1) +/\\d{1}/g + "123456abcde7890", 0, 0, (0, 1) + "123456abcde7890", 1, 1, (1, 2) + "123456abcde7890", 2, 2, (2, 3) + "123456abcde7890", 3, 3, (3, 4) + "123456abcde7890", 4, 4, (4, 5) + "123456abcde7890", 5, 5, (5, 6) + "123456abcde7890", 6, 11, (11, 12) + "123456abcde7890", 12, 12, (12, 13) + "123456abcde7890", 13, 13, (13, 14) + "123456abcde7890", 14, 14, (14, 15) + "123456abcde7890", 15, -1, (-1, -1) +/\\d{2}/g + "123456abcde7890", 0, 0, (0, 2) + "123456abcde7890", 2, 2, (2, 4) + "123456abcde7890", 4, 4, (4, 6) + "123456abcde7890", 6, 11, (11, 13) + "123456abcde7890", 13, 13, (13, 15) + "123456abcde7890", 15, -1, (-1, -1) +/\\D{2}/g + "123456abcde7890", 0, 6, (6, 8) + "123456abcde7890", 8, 8, (8, 10) + "123456abcde7890", 10, -1, (-1, -1) +/([\\d]{5})([-\\ ]?[\\d]{4})?$/ + "Boston, Mass. 02134", 0, 14, (14, 19, 14, 19, -1, -1) +/l/ + "hello", 0, 2, (2, 3) + "hello", 3, 3, (3, 4) + "hello", 4, -1, (-1, -1) +/\\s/g + "x, x, x, x", 0, 2, (2, 3) + "x, x, x, x", 3, 5, (5, 6) + "x, x, x, x", 6, 8, (8, 9) + "x, x, x, x", 9, -1, (-1, -1) +/((a)|(ab))((c)|(bc))/ + "abc", 0, 0, (0, 3, 0, 1, 0, 1, -1, -1, 1, 3, -1, -1, 1, 3) +/a[a-z]{2,4}/ + "abcdefghi", 0, 0, (0, 5) +/a[a-z]{2,4}?/ + "abcdefghi", 0, 0, (0, 3) +/(aa|aabaac|ba|b|c)*/ + "aabaac", 0, 0, (0, 4, 2, 4) +/^(a+)\\1*,\\1+$/ + "aaaaaaaaaa,aaaaaaaaaaaaaaa", 0, 0, (0, 26, 0, 5) +/(z)((a+)?(b+)?(c))*/ + "zaacbbbcac", 0, 0, (0, 10, 0, 1, 8, 10, 8, 9, -1, -1, 9, 10) +/(a*)*/ + "b", 0, 0, (0, 0, -1, -1) + "ab", 0, 0, (0, 1, 0, 1) +/(a*)b\\1+/ + "baaaac", 0, 0, (0, 1, 0, 0) +/(?=(a+))/ + "baaabac", 0, 1, (1, 1, 1, 4) +/(?=(a+))a*b\\1/ + "baaabac", 0, 3, (3, 6, 3, 4) +/(.*?)a(?!(a+)b\\2c)\\2(.*)/ + "baaabaac", 0, 0, (0, 8, 0, 2, -1, -1, 3, 8) +/\\w\\s\\w/g + "a b c d e", 0, 0, (0, 3) + "a b c d e", 3, 4, (4, 7) + "a b c d e", 7, -1, (-1, -1) +/\\d\\d\\d/g + "12345678", 0, 0, (0, 3) + "12345678", 3, 3, (3, 6) + "12345678", 6, -1, (-1, -1) +/abc/gi + "AbcaBcabC", 0, 0, (0, 3) + "AbcaBcabC", 3, 3, (3, 6) + "AbcaBcabC", 6, 6, (6, 9) + "AbcaBcabC", 9, -1, (-1, -1) +/abc/i + "AbcaBcabC", 0, 0, (0, 3) + "ABC", 0, 0, (0, 3) + "XABCY", 0, 1, (1, 4) + "ABABC", 0, 2, (2, 5) + "XBC", 0, -1, (-1, -1) + "AXC", 0, -1, (-1, -1) + "ABX", 0, -1, (-1, -1) + "aaxabxbaxbbx", 0, -1, (-1, -1) +/ab*c/ + "abc", 0, 0, (0, 3) +/ab*bc/ + "abc", 0, 0, (0, 3) + "abbc", 0, 0, (0, 4) + "abbbbc", 0, 0, (0, 6) +/.{1}/ + "abbbbc", 0, 0, (0, 1) +/.{3,4}/ + "abbbbc", 0, 0, (0, 4) +/ab{0,}bc/ + "abbbbc", 0, 0, (0, 6) +/ab+bc/ + "abbc", 0, 0, (0, 4) + "abbbbc", 0, 0, (0, 6) + "abc", 0, -1, (0, 9) + "abq", 0, -1, (0, 9) + "abc", 0, -1, (0, -1) + "abq", 0, -1, (0, -1) +/ab{1,}bc/ + "abbbbc", 0, 0, (0, 6) + "abq", 0, -1, (0, 9) +/ab{1,3}bc/ + "abbbbc", 0, 0, (0, 6) + "abbbc", 0, 0, (0, 5) + "abbc", 0, 0, (0, 4) + "abc", 0, -1, (0, -1) + "abbbbbc", 0, -1, (4, -1) +/ab{3,4}bc/ + "abbbbc", 0, 0, (0, 6) +/ab?bc/ + "abbc", 0, 0, (0, 4) + "abc", 0, 0, (0, 3) + "abbbbc", 0, -1, (4, 9) +/ab{0,1}bc/ + "abc", 0, 0, (0, 3) +/ab?c/ + "abc", 0, 0, (0, 3) +/ab{0,1}c/ + "abc", 0, 0, (0, 3) +/^abc$/ + "abc", 0, 0, (0, 3) + "abcc", 0, -1, (-1, -1) + "aabc", 0, -1, (-1, -1) + "abbbbc", 0, -1, (-1, -1) + "qqq\nabc", 0, -1, (-1, -1) + "abc\nzzz", 0, -1, (-1, -1) + "qqq\nabc\nzzz", 0, -1, (-1, -1) +/^abc/ + "abcc", 0, 0, (0, 3) + "abcdefghi", 0, 0, (0, 3) + "abc", 0, 0, (0, 3) + "xyzabc", 0, -1, (-1, -1) +/abc$/ + "aabc", 0, 1, (1, 4) + "aabcd", 0, -1, (-1, -1) + "abc", 0, 0, (0, 3) + "abc\n", 0, -1, (-1, -1) + "abc\ndef", 0, -1, (-1, -1) +/^/ + "abc", 0, 0, (0, 0) + "test", 0, 0, (0, 0) +/$/ + "abc", 0, 3, (3, 3) + "a\nb\n", 0, 4, (4, 4) + "b\na\n", 0, 4, (4, 4) + "b\na", 0, 3, (3, 3) + "xxx", 0, 3, (3, 3) + "xxxx", 0, 4, (4, 4) +/a.c/ + "abc", 0, 0, (0, 3) + "axc", 0, 0, (0, 3) +/a.*c/ + "axyzc", 0, 0, (0, 5) + "axyzd", 0, -1, (4, 10) +/a[bc]d/ + "abd", 0, 0, (0, 3) + "abc", 0, -1, (-1, -1) + "axyzd", 0, -1, (-1, -1) +/a[b-d]e/ + "ace", 0, 0, (0, 3) + "abd", 0, -1, (-1, -1) +/a[b-d]/ + "aac", 0, 1, (1, 3) +/a[-b]/ + "a-", 0, 0, (0, 2) +/a[b-]/ + "a-", 0, 0, (0, 2) +/a]/ + "a]", 0, 0, (0, 2) +/a[^bc]d/ + "aed", 0, 0, (0, 3) + "abd", 0, -1, (-1, -1) +/a[^-b]c/ + "adc", 0, 0, (0, 3) + "a-c", 0, -1, (-1, -1) +/\\ba\\b/ + "a-", 0, 0, (0, 1) + "-a", 0, 1, (1, 2) + "-a-", 0, 1, (1, 2) +/\\By\\b/ + "xy", 0, 1, (1, 2) +/\\by\\B/ + "yz", 0, 0, (0, 1) +/\\By\\B/ + "xyz", 0, 1, (1, 2) +/a\\Sb/ + "a-b", 0, 0, (0, 3) + "a\tb a b a-b", 0, 8, (8, 11) + "a b", 0, -1, (-1, -1) +/\\d/ + "1", 0, 0, (0, 1) + "-", 0, -1, (-1, -1) + "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ\f\n\r\t\v~`!@#$%^&*()-+={[}]|\\:;'<,>./? \"", 0, -1, (-1, -1) + "ab1cd", 0, 2, (2, 3) + "ab2cd", 0, 2, (2, 3) + "ab3cd", 0, 2, (2, 3) + "ab4cd", 0, 2, (2, 3) + "ab5cd", 0, 2, (2, 3) + "ab6cd", 0, 2, (2, 3) + "ab7cd", 0, 2, (2, 3) + "ab8cd", 0, 2, (2, 3) + "ab9cd", 0, 2, (2, 3) + "ab0cd", 0, 2, (2, 3) + "\u01003", 0, 1, (1, 2) +/\\D/ + "-", 0, 0, (0, 1) + "1", 0, -1, (-1, -1) + "1234567890", 0, -1, (-1, -1) + "12_34", 0, 2, (2, 3) + "12a34", 0, 2, (2, 3) + "12b34", 0, 2, (2, 3) + "1X2", 0, 1, (1, 2) + "1\u01002", 0, 1, (1, 2) +/[\\w]/ + "a", 0, 0, (0, 1) + "-", 0, -1, (-1, -1) +/[\\W]/ + "-", 0, 0, (0, 1) + "a", 0, -1, (-1, -1) +/a[\\S]b/ + "a-b", 0, 0, (0, 3) + "a b", 0, -1, (-1, -1) +/[\\d]/ + "1", 0, 0, (0, 1) + "-", 0, -1, (-1, -1) +/[\\D]/ + "-", 0, 0, (0, 1) + "1", 0, -1, (-1, -1) +/ab|cd/ + "abc", 0, 0, (0, 2) + "abcd", 0, 0, (0, 2) +/()ef/ + "def", 0, 1, (1, 3, 1, 1) +/a\\(b/ + "a(b", 0, 0, (0, 3) +/a\\(*b/ + "ab", 0, 0, (0, 2) + "a((b", 0, 0, (0, 4) +/a\\\\b/ + "a\\b", 0, 0, (0, 3) + "a\b", 0, -1, (-1, -1) +/((a))/ + "abc", 0, 0, (0, 1, 0, 1, 0, 1) +/(a)b(c)/ + "abc", 0, 0, (0, 3, 0, 1, 2, 3) +/a+b+c/ + "aabbabc", 0, 4, (4, 7) +/a{1,}b{1,}c/ + "aabbabc", 0, 4, (4, 7) +/a.+?c/ + "abcabc", 0, 0, (0, 3) +/(a+|b)*/ + "ab", 0, 0, (0, 2, 1, 2) +/(a+|b){0,}/ + "ab", 0, 0, (0, 2, 1, 2) +/(a+|b)+/ + "ab", 0, 0, (0, 2, 1, 2) +/(a+|b){1,}/ + "ab", 0, 0, (0, 2, 1, 2) +/(a+|b)?/ + "ab", 0, 0, (0, 1, 0, 1) +/(a+|b){0,1}/ + "ab", 0, 0, (0, 1, 0, 1) +/[^ab]*/ + "cde", 0, 0, (0, 3) +/([abc])*d/ + "abbbcd", 0, 0, (0, 6, 4, 5) +/([abc])*bcd/ + "abcd", 0, 0, (0, 4, 0, 1) +/a|b|c|d|e/ + "e", 0, 0, (0, 1) +/(a|b|c|d|e)f/ + "ef", 0, 0, (0, 2, 0, 1) +/abcd*efg/ + "abcdefg", 0, 0, (0, 7) +/ab*/ + "xabyabbbz", 0, 1, (1, 3) + "xayabbbz", 0, 1, (1, 2) +/(ab|cd)e/ + "abcde", 0, 2, (2, 5, 2, 4) +/[abhgefdc]ij/ + "hij", 0, 0, (0, 3) +/(abc|)ef/ + "abcdef", 0, 4, (4, 6, 4, 4) +/(a|b)c*d/ + "abcd", 0, 1, (1, 4, 1, 2) +/(ab|ab*)bc/ + "abc", 0, 0, (0, 3, 0, 1) +/a([bc]*)c*/ + "abc", 0, 0, (0, 3, 1, 3) +/a([bc]*)(c*d)/ + "abcd", 0, 0, (0, 4, 1, 3, 3, 4) +/a([bc]+)(c*d)/ + "abcd", 0, 0, (0, 4, 1, 3, 3, 4) +/a([bc]*)(c+d)/ + "abcd", 0, 0, (0, 4, 1, 2, 2, 4) +/a[bcd]*dcdcde/ + "adcdcde", 0, 0, (0, 7) +/(ab|a)b*c/ + "abc", 0, 0, (0, 3, 0, 2) +/((a)(b)c)(d)/ + "abcd", 0, 0, (0, 4, 0, 3, 0, 1, 1, 2, 3, 4) +/[a-zA-Z_][a-zA-Z0-9_]*/ + "alpha", 0, 0, (0, 5) +/^a(bc+|b[eh])g|.h$/ + "abh", 0, 1, (1, 3, -1, -1) +/(bc+d$|ef*g.|h?i(j|k))/ + "effgz", 0, 0, (0, 5, 0, 5, -1, -1) + "ij", 0, 0, (0, 2, 0, 2, 1, 2) + "reffgz", 0, 1, (1, 6, 1, 6, -1, -1) + "effg", 0, -1, (3, 10, -1, -1, -1, -1) + "bcdd", 0, -1, (3, 10, -1, -1, -1, -1) + "effg", 0, -1, (3, -1, -1, -1, -1, -1) + "bcdd", 0, -1, (3, -1, -1, -1, -1, -1) +/((((((((((a))))))))))/ + "a", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) + "a!", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) +/((((((((((a))))))))))\\10/ + "aa", 0, 0, (0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) +/(((((((((a)))))))))/ + "a", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) +/(.*)c(.*)/ + "abcde", 0, 0, (0, 5, 0, 2, 3, 5) +/abcd/ + "abcd", 0, 0, (0, 4) +/a(bc)d/ + "abcd", 0, 0, (0, 4, 1, 3) +/a[-]?c/ + "ac", 0, 0, (0, 2) +/(abc)\\1/ + "abcabc", 0, 0, (0, 6, 0, 3) +/([a-c]*)\\1/ + "abcabc", 0, 0, (0, 6, 0, 3) +/(a)|\\1/ + "a", 0, 0, (0, 1, 0, 1) + "x", 0, 0, (0, 0, -1, -1) + "ab", 0, 0, (0, 1, 0, 1) +/(([a-c])b*?\\2)*/ + "ababbbcbc", 0, 0, (0, 5, 3, 5, 3, 4) +/(([a-c])b*?\\2){3}/ + "ababbbcbc", 0, 0, (0, 9, 6, 9, 6, 7) +/ab*c/i + "ABC", 0, 0, (0, 3) +/ab*bc/i + "ABC", 0, 0, (0, 3) + "ABBC", 0, 0, (0, 4) +/ab*?bc/i + "ABBBBC", 0, 0, (0, 6) +/ab{0,}?bc/i + "ABBBBC", 0, 0, (0, 6) +/ab+?bc/i + "ABBC", 0, 0, (0, 4) +/ab+bc/i + "ABBBBC", 0, 0, (0, 6) + "ABC", 0, -1, (0, 10) + "ABQ", 0, -1, (0, 10) + "ABC", 0, -1, (0, -1) + "ABQ", 0, -1, (0, -1) +/ab{1,}?bc/i + "ABBBBC", 0, 0, (0, 6) +/ab{1,3}?bc/i + "ABBBBC", 0, 0, (0, 6) +/ab{3,4}?bc/i + "ABBBBC", 0, 0, (0, 6) +/ab??bc/i + "ABBC", 0, 0, (0, 4) + "ABC", 0, 0, (0, 3) + "ABBBBC", 0, -1, (4, 10) +/ab{0,1}?bc/i + "ABC", 0, 0, (0, 3) +/ab??c/i + "ABC", 0, 0, (0, 3) +/ab{0,1}?c/i + "ABC", 0, 0, (0, 3) +/^abc$/i + "ABC", 0, 0, (0, 3) + "ABCC", 0, -1, (-1, -1) + "AABC", 0, -1, (-1, -1) + "ABBBBC", 0, -1, (-1, -1) +/^abc/i + "ABCC", 0, 0, (0, 3) +/abc$/i + "AABC", 0, 1, (1, 4) +/^/i + "ABC", 0, 0, (0, 0) +/$/i + "ABC", 0, 3, (3, 3) +/a.c/i + "ABC", 0, 0, (0, 3) + "AXC", 0, 0, (0, 3) +/a.*?c/i + "AXYZC", 0, 0, (0, 5) + "ABCABC", 0, 0, (0, 3) +/a[bc]d/i + "ABD", 0, 0, (0, 3) + "ABC", 0, -1, (-1, -1) +/a[b-d]e/i + "ACE", 0, 0, (0, 3) + "ABD", 0, -1, (-1, -1) + "ABC", 0, -1, (-1, -1) +/a[b-d]/i + "AAC", 0, 1, (1, 3) +/a[-b]/i + "A-", 0, 0, (0, 2) +/a[b-]/i + "A-", 0, 0, (0, 2) +/a]/i + "A]", 0, 0, (0, 2) +/a[^bc]d/i + "AED", 0, 0, (0, 3) + "ABD", 0, -1, (-1, -1) +/a[^-b]c/i + "ADC", 0, 0, (0, 3) + "A-C", 0, -1, (-1, -1) + "ABD", 0, -1, (-1, -1) +/ab|cd/i + "ABC", 0, 0, (0, 2) + "ABCD", 0, 0, (0, 2) +/()ef/i + "DEF", 0, 1, (1, 3, 1, 1) +/a\\(b/i + "A(B", 0, 0, (0, 3) +/a\\(*b/i + "AB", 0, 0, (0, 2) + "A((B", 0, 0, (0, 4) +/a\\\\b/i + "A\\B", 0, 0, (0, 3) + "AB", 0, -1, (-1, -1) +/((a))/i + "ABC", 0, 0, (0, 1, 0, 1, 0, 1) +/(a)b(c)/i + "ABC", 0, 0, (0, 3, 0, 1, 2, 3) +/a+b+c/i + "AABBABC", 0, 4, (4, 7) +/a{1,}b{1,}c/i + "AABBABC", 0, 4, (4, 7) +/a.+?c/i + "ABCABC", 0, 0, (0, 3) +/a.{0,5}?c/i + "ABCABC", 0, 0, (0, 3) +/(a+|b)*/i + "AB", 0, 0, (0, 2, 1, 2) +/(a+|b){0,}/i + "AB", 0, 0, (0, 2, 1, 2) +/(a+|b)+/i + "AB", 0, 0, (0, 2, 1, 2) +/(a+|b){1,}/i + "AB", 0, 0, (0, 2, 1, 2) +/(a+|b)?/i + "AB", 0, 0, (0, 1, 0, 1) +/(a+|b){0,1}/i + "AB", 0, 0, (0, 1, 0, 1) +/(a+|b){0,1}?/i + "AB", 0, 0, (0, 0, -1, -1) +/[^ab]*/i + "CDE", 0, 0, (0, 3) +/([abc])*d/i + "ABBBCD", 0, 0, (0, 6, 4, 5) +/([abc])*bcd/i + "ABCD", 0, 0, (0, 4, 0, 1) +/a|b|c|d|e/i + "E", 0, 0, (0, 1) +/(a|b|c|d|e)f/i + "EF", 0, 0, (0, 2, 0, 1) +/abcd*efg/i + "ABCDEFG", 0, 0, (0, 7) +/ab*/i + "XABYABBBZ", 0, 1, (1, 3) + "XAYABBBZ", 0, 1, (1, 2) +/(ab|cd)e/i + "ABCDE", 0, 2, (2, 5, 2, 4) +/[abhgefdc]ij/i + "HIJ", 0, 0, (0, 3) +/(abc|)ef/i + "ABCDEF", 0, 4, (4, 6, 4, 4) +/(a|b)c*d/i + "ABCD", 0, 1, (1, 4, 1, 2) +/(ab|ab*)bc/i + "ABC", 0, 0, (0, 3, 0, 1) +/a([bc]*)c*/i + "ABC", 0, 0, (0, 3, 1, 3) +/a([bc]*)(c*d)/i + "ABCD", 0, 0, (0, 4, 1, 3, 3, 4) +/a([bc]+)(c*d)/i + "ABCD", 0, 0, (0, 4, 1, 3, 3, 4) +/a([bc]*)(c+d)/i + "ABCD", 0, 0, (0, 4, 1, 2, 2, 4) +/a[bcd]*dcdcde/i + "ADCDCDE", 0, 0, (0, 7) +/(ab|a)b*c/i + "ABC", 0, 0, (0, 3, 0, 2) +/((a)(b)c)(d)/i + "ABCD", 0, 0, (0, 4, 0, 3, 0, 1, 1, 2, 3, 4) +/[a-zA-Z_][a-zA-Z0-9_]*/i + "ALPHA", 0, 0, (0, 5) +/^a(bc+|b[eh])g|.h$/i + "ABH", 0, 1, (1, 3, -1, -1) +/(bc+d$|ef*g.|h?i(j|k))/i + "EFFGZ", 0, 0, (0, 5, 0, 5, -1, -1) + "IJ", 0, 0, (0, 2, 0, 2, 1, 2) + "REFFGZ", 0, 1, (1, 6, 1, 6, -1, -1) + "EFFG", 0, -1, (3, 10, -1, -1, -1, -1) + "BCDD", 0, -1, (3, 10, -1, -1, -1, -1) + "ADCDCDE", 0, -1, (6, -1, -1, -1, -1, -1) + "EFFG", 0, -1, (3, -1, -1, -1, -1, -1) + "BCDD", 0, -1, (3, -1, -1, -1, -1, -1) +/((((((((((a))))))))))/i + "A", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) + "A!", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) +/((((((((((a))))))))))\\10/i + "AA", 0, 0, (0, 2, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) +/(((((((((a)))))))))/i + "A", 0, 0, (0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1) +/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a))))))))))/i + "A", 0, 0, (0, 1, 0, 1) +/(?:(?:(?:(?:(?:(?:(?:(?:(?:(a|b|c))))))))))/i + "C", 0, 0, (0, 1, 0, 1) +/(.*)c(.*)/i + "ABCDE", 0, 0, (0, 5, 0, 2, 3, 5) +/abcd/i + "ABCD", 0, 0, (0, 4) +/a(bc)d/i + "ABCD", 0, 0, (0, 4, 1, 3) +/a[-]?c/i + "AC", 0, 0, (0, 2) +/(abc)\\1/i + "ABCABC", 0, 0, (0, 6, 0, 3) + "abcabc", 0, 0, (0, 6, 0, 3) + "ABCabc", 0, 0, (0, 6, 0, 3) + "abcABC", 0, 0, (0, 6, 0, 3) +/([a-c]*)\\1/i + "ABCABC", 0, 0, (0, 6, 0, 3) +/a(?!b)./ + "abad", 0, 2, (2, 4) +/a(?=d)./ + "abad", 0, 2, (2, 4) +/a(?=c|d)./ + "abad", 0, 2, (2, 4) +/a(?:b|c|d)(.)/ + "ace", 0, 0, (0, 3, 2, 3) +/a(?:b|c|d)*(.)/ + "ace", 0, 0, (0, 3, 2, 3) +/a(?:b|c|d)+?(.)/ + "ace", 0, 0, (0, 3, 2, 3) + "acdbcdbe", 0, 0, (0, 3, 2, 3) +/a(?:b|c|d)+(.)/ + "acdbcdbe", 0, 0, (0, 8, 7, 8) +/a(?:b|c|d){2}(.)/ + "acdbcdbe", 0, 0, (0, 4, 3, 4) +/a(?:b|c|d){4,5}(.)/ + "acdbcdbe", 0, 0, (0, 7, 6, 7) +/a(?:b|c|d){4,5}?(.)/ + "acdbcdbe", 0, 0, (0, 6, 5, 6) +/((foo)|(bar))*/ + "foobar", 0, 0, (0, 6, 3, 6, -1, -1, 3, 6) +/a(?:b|c|d){6,7}(.)/ + "acdbcdbe", 0, 0, (0, 8, 7, 8) +/a(?:b|c|d){6,7}?(.)/ + "acdbcdbe", 0, 0, (0, 8, 7, 8) +/a(?:b|c|d){5,6}(.)/ + "acdbcdbe", 0, 0, (0, 8, 7, 8) +/a(?:b|c|d){5,6}?(.)/ + "acdbcdbe", 0, 0, (0, 7, 6, 7) +/a(?:b|c|d){5,7}(.)/ + "acdbcdbe", 0, 0, (0, 8, 7, 8) +/a(?:b|c|d){5,7}?(.)/ + "acdbcdbe", 0, 0, (0, 7, 6, 7) +/a(?:b|(c|e){1,2}?|d)+?(.)/ + "ace", 0, 0, (0, 3, 1, 2, 2, 3) +/^(.+)?B/ + "AB", 0, 0, (0, 2, 0, 1) +/^([^a-z])|(\\^)$/ + ".", 0, 0, (0, 1, 0, 1, -1, -1) +/^[<>]&/ + "<&OUT", 0, 0, (0, 2) +/((a{4})+)/ + "aaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8) +/(((aa){2})+)/ + "aaaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8, 6, 8) +/(((a{2}){2})+)/ + "aaaaaaaaaa", 0, 0, (0, 8, 0, 8, 4, 8, 6, 8) +/(?:(f)(o)(o)|(b)(a)(r))*/ + "foobar", 0, 0, (0, 6, -1, -1, -1, -1, -1, -1, 3, 4, 4, 5, 5, 6) +/(?:..)*a/ + "aba", 0, 0, (0, 3) +/(?:..)*?a/ + "aba", 0, 0, (0, 1) +/^(?:b|a(?=(.)))*\\1/ + "abc", 0, 0, (0, 2, -1, -1) +/^(){3,5}/ + "abc", 0, 0, (0, 0, 0, 0) +/^(a+)*ax/ + "aax", 0, 0, (0, 3, 0, 1) +/^((a|b)+)*ax/ + "aax", 0, 0, (0, 3, 0, 1, 0, 1) +/^((a|bc)+)*ax/ + "aax", 0, 0, (0, 3, 0, 1, 0, 1) +/(a|x)*ab/ + "cab", 0, 1, (1, 3, -1, -1) +/(a)*ab/ + "cab", 0, 1, (1, 3, -1, -1) +/(?:c|d)(?:)(?:a(?:)(?:b)(?:b(?:))(?:b(?:)(?:b)))/ + "cabbbb", 0, 0, (0, 6) +/(?:c|d)(?:)(?:aaaaaaaa(?:)(?:bbbbbbbb)(?:bbbbbbbb(?:))(?:bbbbbbbb(?:)(?:bbbbbbbb)))/ + "caaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb", 0, 0, (0, 41) +/(ab)\\d\\1/i + "Ab4ab", 0, 0, (0, 5, 0, 2) + "ab4Ab", 0, 0, (0, 5, 0, 2) +/foo\\w*\\d{4}baz/ + "foobar1234baz", 0, 0, (0, 13) +/x(~~)*(?:(?:F)?)?/ + "x~~", 0, 0, (0, 3, 1, 3) +/(?=(a+?))(\\1ab)/ + "aaab", 0, 1, (1, 4, 1, 2, 1, 4) +/(\\w+:)+/ + "one:", 0, 0, (0, 4, 0, 4) +/([\\w:]+::)?(\\w+)$/ + "abcd", 0, 0, (0, 4, -1, -1, 0, 4) + "xy:z:::abcd", 0, 0, (0, 11, 0, 7, 7, 11) + "abcd:", 0, -1, (6, 11, -1, -1, -1, -1) + "abcd:", 0, -1, (6, -1, -1, -1, -1, -1) +/^[^bcd]*(c+)/ + "aexycd", 0, 0, (0, 5, 4, 5) +/(a*)b+/ + "caab", 0, 1, (1, 4, 1, 3) +/([[:]+)/ + "a:[b]:", 0, 1, (1, 3, 1, 3) +/([[=]+)/ + "a=[b]=", 0, 1, (1, 3, 1, 3) +/([[.]+)/ + "a.[b].", 0, 1, (1, 3, 1, 3) +/$/m + "a\nb\n", 0, 1, (1, 1) + "b\na\n", 0, 1, (1, 1) + "b\na", 0, 1, (1, 1) +/a$/ + "b\na", 0, 2, (2, 3) + "a\nb\n", 0, -1, (-1, -1) + "aaab", 0, -1, (-1, -1) +/a$/m + "a\nb\n", 0, 0, (0, 1) + "b\na\n", 0, 2, (2, 3) + "b\na", 0, 2, (2, 3) +/aa$/ + "b\naa", 0, 2, (2, 4) + "aa\nb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/aa$/m + "aa\nb\n", 0, 0, (0, 2) + "b\naa\n", 0, 2, (2, 4) + "b\naa", 0, 2, (2, 4) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/ab$/ + "b\nab", 0, 2, (2, 4) + "ab\nb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/ab$/m + "ab\nb\n", 0, 0, (0, 2) + "b\nab\n", 0, 2, (2, 4) + "b\nab", 0, 2, (2, 4) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/abb$/ + "b\nabb", 0, 2, (2, 5) + "abb\nb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/abb$/m + "abb\nb\n", 0, 0, (0, 3) + "b\nabb\n", 0, 2, (2, 5) + "b\nabb", 0, 2, (2, 5) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/(^|x)(c)/ + "ca", 0, 0, (0, 1, 0, 0, 0, 1) +/foo.bart/ + "foo.bart", 0, 0, (0, 8) +/^d[x][x][x]/m + "abcd\ndxxx", 0, 5, (5, 9) +/tt+$/ + "xxxtt", 0, 3, (3, 5) +/(\\d+\\.\\d+)/ + "3.1415926", 0, 0, (0, 9, 0, 9) +/\\.c(pp|xx|c)?$/i + "IO.c", 0, 2, (2, 4, -1, -1) + "Changes", 0, -1, (6, 11, -1, -1) +/(\\.c(pp|xx|c)?$)/i + "IO.c", 0, 2, (2, 4, 2, 4, -1, -1) +/(^|a)b/ + "ab", 0, 0, (0, 2, 0, 1) +/^([ab]*?)(b)?(c)$/ + "abac", 0, 0, (0, 4, 0, 3, -1, -1, 3, 4) +/^(?:.,){2}c/i + "a,b,c", 0, 0, (0, 5) +/^(.,){2}c/i + "a,b,c", 0, 0, (0, 5, 2, 4) +/^(?:[^,]*,){2}c/ + "a,b,c", 0, 0, (0, 5) +/^([^,]*,){2}c/ + "a,b,c", 0, 0, (0, 5, 2, 4) +/^([^,]*,){3}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]*,){3,}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]*,){0,3}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{1,3},){3}d/i + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{1,3},){3,}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{1,3},){0,3}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{1,},){3}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{1,},){3,}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{1,},){0,3}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{0,3},){3}d/i + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{0,3},){3,}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^([^,]{0,3},){0,3}d/ + "aaa,b,c,d", 0, 0, (0, 9, 6, 8) +/^(a(b)?)+$/ + "aba", 0, 0, (0, 3, 2, 3, -1, -1) +/^(aa(bb)?)+$/ + "aabbaa", 0, 0, (0, 6, 4, 6, -1, -1) +/^.{9}abc.*\\n/m + "123\nabcabcabcabc\n", 0, 4, (4, 17) +/^(a)?a$/ + "a", 0, 0, (0, 1, -1, -1) +/^(a\\1?)(a\\1?)(a\\2?)(a\\3?)$/ + "aaaaaa", 0, 0, (0, 6, 0, 1, 1, 3, 3, 4, 4, 6) + "a", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaa", 0, 0, (0, 4, 0, 1, 1, 2, 2, 3, 3, 4) + "aaaaa", 0, 0, (0, 5, 0, 1, 1, 3, 3, 4, 4, 5) + "aaaaaaa", 0, 0, (0, 7, 0, 1, 1, 3, 3, 6, 6, 7) + "aaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaaa", 0, 0, (0, 10, 0, 1, 1, 3, 3, 6, 6, 10) + "aaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) + "aaaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1, -1, -1, -1, -1, -1, -1) +/^(0+)?(?:x(1))?/ + "x1", 0, 0, (0, 2, -1, -1, 1, 2) +/^([0-9a-fA-F]+)(?:x([0-9a-fA-F]+)?)(?:x([0-9a-fA-F]+))?/ + "012cxx0190", 0, 0, (0, 10, 0, 4, -1, -1, 6, 10) +/^(b+?|a){1,2}c/ + "bbbac", 0, 0, (0, 5, 3, 4) + "bbbbac", 0, 0, (0, 6, 4, 5) +/((?:aaaa|bbbb)cccc)?/ + "aaaacccc", 0, 0, (0, 8, 0, 8) + "bbbbcccc", 0, 0, (0, 8, 0, 8) +/ab{4,5}bc/ + "abbbbc", 0, -1, (0, 9) + "abq", 0, -1, (0, -1) + "abbbbc", 0, -1, (0, -1) +/a[^]b]c/ + "a]c", 0, -1, (-1, -1) +/\\by\\b/ + "xy", 0, -1, (-1, -1) + "yz", 0, -1, (-1, -1) + "xyz", 0, -1, (-1, -1) +/\\Ba\\B/ + "a-", 0, -1, (-1, -1) + "-a", 0, -1, (-1, -1) + "-a-", 0, -1, (-1, -1) +/a\\sb/ + "a-b", 0, -1, (-1, -1) + "a b", 0, 0, (0, 3) +/a[\\s]b/ + "a-b", 0, -1, (-1, -1) + "a b", 0, 0, (0, 3) +/$b/ + "b", 0, -1, (-1, -1) +/^(ab|cd)e/ + "abcde", 0, -1, (0, 10, -1, -1) +/a[bcd]+dcdcde/ + "adcdcde", 0, -1, (0, 10) + "abcde", 0, -1, (0, -1) + "adcdcde", 0, -1, (0, -1) +/[k]/ + "ab", 0, -1, (-1, -1) +/((\\3|b)\\2(a)x)+/ + "aaxabxbaxbbx", 0, 1, (1, 3, 1, 3, 1, 1, 1, 2) + "aaaxabaxbaaxbbax", 0, 2, (2, 4, 2, 4, 2, 2, 2, 3) +/ab{1,}bc/i + "ABQ", 0, -1, (0, 10) +/ab{4,5}?bc/i + "ABBBBC", 0, -1, (0, 10) + "ABQ", 0, -1, (0, -1) + "ABBBBC", 0, -1, (0, -1) +/a.*c/i + "AXYZD", 0, -1, (4, 10) + "AABC", 0, 0, (0, 4) + "AXYZD", 0, -1, (4, -1) +/a[^]b]c/i + "A]C", 0, -1, (-1, -1) +/$b/i + "B", 0, -1, (-1, -1) + "A]C", 0, -1, (-1, -1) +/^(ab|cd)e/i + "ABCDE", 0, -1, (0, 10, -1, -1) + "ABCDE", 0, -1, (0, -1, -1, -1) +/a[bcd]+dcdcde/i + "ADCDCDE", 0, -1, (0, 10) +/[k]/i + "AB", 0, -1, (-1, -1) +/^(a\\1?){4}$/ + "aaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "a", 0, -1, (-1, -1, -1, -1) + "aa", 0, -1, (-1, -1, -1, -1) + "aaa", 0, -1, (-1, -1, -1, -1) + "aaaa", 0, 0, (0, 4, 3, 4) + "aaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "aaaaaaaaaaaaaaaa", 0, -1, (-1, -1, -1, -1) + "AB", 0, -1, (-1, -1, -1, -1) +/^(?:a?b?)*$/ + "a--", 0, -1, (-1, -1) + "", 0, 0, (0, 0) + "a", 0, 0, (0, 1) + "ab", 0, 0, (0, 2) + "aaa", 0, 0, (0, 3) + "dbcb", 0, -1, (-1, -1) + "aa--", 0, -1, (-1, -1) +/^b/ + "a\nb\nc\n", 0, -1, (-1, -1) +/()^b/ + "a\nb\nc\n", 0, -1, (7, 10, -1, -1) + "a\nb\nc\n", 0, -1, (7, -1, -1, -1) +/^(?=(a+?))\\1ab/ + "aaab", 0, -1, (-1, -1, 0, 1) +/(>a+)ab/ + "aaab", 0, -1, (1, 11, -1, -1) +/a\\Z/ + "a\nb\n", 0, -1, (-1, -1) +/a\\z/ + "a\nb\n", 0, -1, (-1, -1) + "b\na\n", 0, -1, (-1, -1) + "az", 0, 0, (0, 2) +/a\\z/m + "a\nb\n", 0, -1, (-1, -1) + "b\na\n", 0, -1, (-1, -1) +/aa\\Z/ + "aa\nb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/aa\\z/ + "aa\nb\n", 0, -1, (-1, -1) + "b\naa\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/aa\\z/m + "aa\nb\n", 0, -1, (-1, -1) + "b\naa\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/aa\\Z/m + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/ab\\Z/ + "ab\nb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/ab\\z/ + "ab\nb\n", 0, -1, (-1, -1) + "b\nab\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/ab\\z/m + "ab\nb\n", 0, -1, (-1, -1) + "b\nab\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/ab\\Z/m + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/abb\\Z/ + "abb\nb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/abb\\z/ + "abb\nb\n", 0, -1, (-1, -1) + "b\nabb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/abb\\z/m + "abb\nb\n", 0, -1, (-1, -1) + "b\nabb\n", 0, -1, (-1, -1) + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) +/abb\\Z/m + "ac\nb\n", 0, -1, (-1, -1) + "b\nac\n", 0, -1, (-1, -1) + "b\nac", 0, -1, (-1, -1) + "ca\nb\n", 0, -1, (-1, -1) + "b\nca\n", 0, -1, (-1, -1) + "b\nca", 0, -1, (-1, -1) + +-/asd +-?? +-*+ + diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/README b/implementation-contributed/javascriptcore/slowMicrobenchmarks/README new file mode 100644 index 0000000000..85986135ba --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/README @@ -0,0 +1,6 @@ +This directory contains tests that were once found in JSTests/microbenchmarks, but were pulled from there +because they are too slow to run regularly. Now they run only for JSC testing, and only with +defaultQuickRun. + +Only move benchmarks back into JSTests/microbenchmarks if you get them to run in under 100ms on a modern +Mac. diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/array-push-3.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/array-push-3.js new file mode 100644 index 0000000000..8c3694db0b --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/array-push-3.js @@ -0,0 +1,9 @@ +function arrayPush3() { + var ret = [1]; + ret.push(1, 2, 3); + return ret; +} +noInline(arrayPush3); + +for (var i = 0; i < 1e7; ++i) + arrayPush3(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js new file mode 100644 index 0000000000..50f5e8f129 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/bigswitch-indirect-symbol-or-undefined.js @@ -0,0 +1,279 @@ +var thing0 = Symbol(); +var thing1 = Symbol(); +var thing2 = Symbol(); +var thing3 = Symbol(); +var thing4 = Symbol(); +var thing5 = Symbol(); +var thing6 = Symbol(); +var thing7 = Symbol(); +var thing8 = Symbol(); +var thing9 = Symbol(); +var thing10 = Symbol(); +var thing11 = Symbol(); +var thing12 = Symbol(); +var thing13 = Symbol(); +var thing14 = Symbol(); +var thing15 = Symbol(); +var thing16 = Symbol(); +var thing17 = Symbol(); +var thing18 = Symbol(); +var thing19 = Symbol(); +var thing20 = Symbol(); +var thing21 = Symbol(); +var thing22 = Symbol(); +var thing23 = Symbol(); +var thing24 = Symbol(); +var thing25 = Symbol(); +var thing26 = Symbol(); +var thing27 = Symbol(); +var thing28 = Symbol(); +var thing29 = Symbol(); +var thing30 = Symbol(); +var thing31 = Symbol(); +var thing32 = Symbol(); +var thing33 = Symbol(); +var thing34 = Symbol(); +var thing35 = Symbol(); +var thing36 = Symbol(); +var thing37 = Symbol(); +var thing38 = Symbol(); +var thing39 = Symbol(); +var thing40 = Symbol(); +var thing41 = Symbol(); +var thing42 = Symbol(); +var thing43 = Symbol(); +var thing44 = Symbol(); +var thing45 = Symbol(); +var thing46 = Symbol(); +var thing47 = Symbol(); +var thing48 = Symbol(); +var thing49 = Symbol(); +var thing50 = Symbol(); +var thing51 = Symbol(); +var thing52 = Symbol(); +var thing53 = Symbol(); +var thing54 = Symbol(); +var thing55 = Symbol(); +var thing56 = Symbol(); +var thing57 = Symbol(); +var thing58 = Symbol(); +var thing59 = Symbol(); +var thing60 = Symbol(); +var thing61 = Symbol(); +var thing62 = Symbol(); + +var things = []; +for (var i = 0; i < 63; ++i) + things.push(eval("thing" + i)); + +function foo(o) { + var result = 0; + for (var i = 0; i < 1000; ++i) { + var value = things[i & 63]; + switch (value) { + case thing0: + result += o.a; + break; + case thing1: + result += o.b; + break; + case thing2: + result += o.c; + break; + case thing3: + result += o.d; + break; + case thing4: + result += o.e; + break; + case thing5: + result += o.f; + break; + case thing6: + result += o.g; + break; + case thing7: + result += o.h; + break; + case thing8: + result += o.i; + break; + case thing9: + result += o.j; + break; + case thing10: + result += o.k; + break; + case thing11: + result += o.a; + break; + case thing12: + result += o.b; + break; + case thing13: + result += o.c; + break; + case thing14: + result += o.d; + break; + case thing15: + result += o.e; + break; + case thing16: + result += o.f; + break; + case thing17: + result += o.g; + break; + case thing18: + result += o.h; + break; + case thing19: + result += o.i; + break; + case thing20: + result += o.j; + break; + case thing21: + result += o.k; + break; + case thing22: + result += o.k; + break; + case thing23: + result += o.a; + break; + case thing24: + result += o.b; + break; + case thing25: + result += o.c; + break; + case thing26: + result += o.d; + break; + case thing27: + result += o.e; + break; + case thing28: + result += o.f; + break; + case thing29: + result += o.g; + break; + case thing30: + result += o.h; + break; + case thing31: + result += o.i; + break; + case thing32: + result += o.j; + break; + case thing33: + result += o.k; + break; + case thing34: + result += o.k; + break; + case thing35: + result += o.k; + break; + case thing36: + result += o.a; + break; + case thing37: + result += o.b; + break; + case thing38: + result += o.c; + break; + case thing39: + result += o.d; + break; + case thing40: + result += o.e; + break; + case thing41: + result += o.f; + break; + case thing42: + result += o.g; + break; + case thing43: + result += o.h; + break; + case thing44: + result += o.i; + break; + case thing45: + result += o.j; + break; + case thing46: + result += o.k; + break; + case thing47: + result += o.i; + break; + case thing48: + result += o.j; + break; + case thing49: + result += o.k; + break; + case thing50: + result += o.k; + break; + case thing51: + result += o.k; + break; + case thing52: + result += o.a; + break; + case thing53: + result += o.b; + break; + case thing54: + result += o.c; + break; + case thing55: + result += o.d; + break; + case thing56: + result += o.e; + break; + case thing57: + result += o.f; + break; + case thing58: + result += o.g; + break; + case thing59: + result += o.h; + break; + case thing60: + result += o.i; + break; + case thing61: + result += o.j; + break; + case thing62: + result += o.k; + break; + default: + result += o.z; + break; + } + } + return result; +} + +(function() { + var o = {a:1, b:2, c:3, d:4, e:5, f:6, g:7, h:8, i:9, j:10, k:11, z:100}; + var result = 0; + for (var i = 0; i < 1000; ++i) + result += foo(o); + if (result != 7966000) + throw "Error: bad result: " + result; +})(); + diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/default-derived-constructor.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/default-derived-constructor.js new file mode 100644 index 0000000000..cf6511990d --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/default-derived-constructor.js @@ -0,0 +1,18 @@ +//@ skip if $architecture == "x86" +function createClassHierarchy(depth) { + let currentClass = class Base { }; + for (let i = 0; i < depth; i++) { + currentClass = class extends currentClass {}; + } + return currentClass; +} + +let ctor = createClassHierarchy(10); +let start = Date.now(); +for (let i = 0; i < 500000; i++) { + let x = new ctor({}, {}, 20, 30, 40, 50, 60, {}, 80, true, false); +} + +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/dense-set.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/dense-set.js new file mode 100644 index 0000000000..dffcefa18d --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/dense-set.js @@ -0,0 +1,29 @@ +//@ skip if $memoryLimited +(function() { + + function bench(name, f, arg) { + var start = new Date; + var result = f(arg); + var end = new Date; + const verbose = false; + if (verbose) + print(name + " " + result + " " + (end-start) + "ms"); + } + + var denseSet = new Set; + var excludeSet = [123, 1230, 12300, 123000, 234, 2340, 23400]; + for (var idx = 0; idx < 5e6; ++idx) { + if (excludeSet.includes(idx)) + continue; + denseSet.add(idx); + } + + bench("Dense Set Property Existence", function(s) { + var count = 0; + for (var i = 0; i < 5e6; ++i) + if (s.has(i)) + count++ + return count; + }, denseSet); + +})(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/double-to-int32.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/double-to-int32.js new file mode 100644 index 0000000000..c85c2d34cb --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/double-to-int32.js @@ -0,0 +1,30 @@ +// This microbenchmarks validates that the fix in https://webkit.org/b/170961 +// does not regress the performance gains from r211670: . +// r211670 reduces the size of operationToInt32SensibleSlow() for handling double numbers with +// binary exponent 31. Hence, this microbenchmark stresses doubleToIn32 conversion on +// numbers with binary exponents in the vicinity of 31. + +let doubleValues = [ + 2.147483648e8, // exp = 27 + 2.147483648e9, // exp = 31 + 2.147483648e10, // exp = 34 +]; + +function test(q, r, s, t, u, v, w, x, y, z) { + // Do a lot of double to int32 conversions to weigh more on the conversion. + return q|0 + r|0 + s|0 + t|0 + u|0 + v|0 + w|0 + x|0 + y|0 + z|0; +} +noInline(test); + +var result = 0; +let length = doubleValues.length; +for (var i = 0; i < 1000000; ++i) { + for (var j = 0; j < length; j++) { + var value = doubleValues[j]; + result |= test(value, value, value, value, value, value, value, value, value, value); + } +} + +if (result != -1932735284) { + throw "Bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js new file mode 100644 index 0000000000..a5c653449f --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/fake-iterators-that-throw-when-finished.js @@ -0,0 +1,78 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +class Numbers { + constructor(limit = 100) { + this.limit = limit; + this.item = 0; + } + + next() { + if (this.item >= this.limit) + throw "done"; + return this.item++; + } +} + +function transpose(I, f) { + return class Transpose { + constructor(...args) { + this.iterator = new I(...args); + } + + next() { + return f(this.iterator.next()); + } + }; +} + +let EvenNumbers = transpose(Numbers, (x)=>x*2); +function verifyEven(prev, cur) { + assert(cur.value % 2 === 0); + assert(!prev.value || prev.value+2 === cur.value); +} + +let StringNumbers = transpose(Numbers, (x)=>`${x}`); +function verifyString(_, cur) { + assert(cur.value === `${cur.value}`); +} + +let iterators = [ + [Numbers, function() {}], + [Numbers, function() {}], + [StringNumbers, verifyString], + [EvenNumbers, verifyEven], + [EvenNumbers, verifyEven], +]; + +function foo(i) {} +noInline(foo); + +function runIterators() { + for (let [iterator, verify] of iterators) { + let i = new iterator; + let prev = {}; + while (true) { + let cur = {}; + try { + cur.value = i.next(); + verify(prev, cur); + } catch(e) { + if (e !== "done") + throw new Error("Bad: " + e); + break; + } + prev = cur; + } + } +} + +{ + let start = Date.now(); + for (let i = 0; i < 5000; ++i) + runIterators(); + if (false) + print(Date.now() - start); +} diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitand.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitand.js new file mode 100644 index 0000000000..e14ca01757 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitand.js @@ -0,0 +1,52 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a & b; + else + temp = b & 1; + result += temp; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result & i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 499660; +} else { + iterations = 100000; + expectedResult = 4999660; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitor.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitor.js new file mode 100644 index 0000000000..bc570b9843 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitor.js @@ -0,0 +1,52 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a | b; + else + temp = b | 1; + result += temp; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result | i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 505700591; +} else { + iterations = 100000; + expectedResult = 50056912223; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitxor.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitxor.js new file mode 100644 index 0000000000..c3d237c1be --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-bitxor.js @@ -0,0 +1,52 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a ^ b; + else + temp = b ^ 1; + result += temp; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result ^ i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 500050340; +} else { + iterations = 100000; + expectedResult = 50000500340; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-div.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-div.js new file mode 100644 index 0000000000..fc671dd44c --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-div.js @@ -0,0 +1,55 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a / b; + else + temp = b / 1; + result += temp; + } + + // Remove rounding errors so we can have a predictable test result. + result = result | 0; + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result / i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 50002814; +} else { + iterations = 100000; + expectedResult = 5000017595; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-lshift.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-lshift.js new file mode 100644 index 0000000000..1e45b18c2b --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-lshift.js @@ -0,0 +1,52 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a << b; + else + temp = b << 1; + result += temp; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result << i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 512050639000; +} else { + iterations = 100000; + expectedResult = 51200511439000; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-mul.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-mul.js new file mode 100644 index 0000000000..0117b8e8e5 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-mul.js @@ -0,0 +1,50 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + if (a > b) + result += a * b; + else + result += b * 1; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result * i; + result = origResult < result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 5000495600; +} else { + iterations = 100000; + expectedResult = 500004995600; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-rshift.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-rshift.js new file mode 100644 index 0000000000..a0a9d2c443 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-rshift.js @@ -0,0 +1,52 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a >> b; + else + temp = b >> 1; + result += temp; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result >> i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 439840; +} else { + iterations = 100000; + expectedResult = 48330800; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-sub.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-sub.js new file mode 100644 index 0000000000..1267752e7b --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-sub.js @@ -0,0 +1,54 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; +var o2 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + if (a > b) + result += a - b; + else + result += b - 1; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result - i; + result = origResult < result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = -4496448060; +} else { + iterations = 100000; + expectedResult = 40001940; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-urshift.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-urshift.js new file mode 100644 index 0000000000..9835dfb114 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/ftl-polymorphic-urshift.js @@ -0,0 +1,52 @@ +//@ runFTLNoCJIT +var o1 = { + i: 0, + valueOf: function() { return this.i; } +}; + +result = 0; +function foo(a, b) { + var result = 0; + for (var j = 0; j < 10; j++) { + var temp; + if (a > b) + temp = a >>> b; + else + temp = b >>> 1; + result += temp; + } + + // Busy work just to allow the DFG and FTL to optimize this out. If the above causes + // us to speculation fail out to the baseline, this busy work will take a lot longer + // to run. + // This loop below also gets the DFG to compile this function sooner. + var origResult = result; + for (var i = 1; i < 1000; i++) + result = result >>> i; + result = origResult > result ? origResult : result; + return result; +} +noInline(foo); + +var iterations; +var expectedResult; +if (this.window) { + // The layout test doesn't like too many iterations and may time out. + iterations = 10000; + expectedResult = 439840; +} else { + iterations = 100000; + expectedResult = 48330800; +} + + +for (var i = 0; i <= iterations; i++) { + o1.i = i; + if (i % 2) + result += foo(o1, 10); + else + result += foo(i, 10); +} + +if (result != expectedResult) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-inlining.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-inlining.js new file mode 100644 index 0000000000..f60900bba0 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-inlining.js @@ -0,0 +1,28 @@ +function assert(b) { + if (!b) + throw new Error("Bad") +} +noInline(assert); + +function test(f, v, c, d) { + return f.bind(v, c, d); +} + +function test2(f, v) { + return f.bind(v); +} + +function foo(a,b,c,d,e,f) { return this; } +let thisValue = {}; +let start = Date.now(); +for (let i = 0; i < 1000000; i++) { + let f = test(foo, thisValue, 20, 30); + assert(f(foo, thisValue, 20, 30) === thisValue); +} +for (let i = 0; i < 1000000; i++) { + let f = test2(foo, thisValue); + assert(f(foo, thisValue, 20, 30) === thisValue); +} +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-no-inlining.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-no-inlining.js new file mode 100644 index 0000000000..0f6ba2235c --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/function-bind-no-inlining.js @@ -0,0 +1,31 @@ + +function assert(b) { + if (!b) + throw new Error("Bad") +} +noInline(assert); + +function test(f, v, c, d) { + return f.bind(v, c, d); +} +noInline(test); + +function test2(f, v) { + return f.bind(v); +} +noInline(test); + +function foo(a,b,c,d,e,f) { return this; } +let thisValue = {}; +let start = Date.now(); +for (let i = 0; i < 1000000; i++) { + let f = test(foo, thisValue, 20, 30); + assert(f(foo, thisValue, 20, 30) === thisValue); +} +for (let i = 0; i < 1000000; i++) { + let f = test2(foo, thisValue); + assert(f(foo, thisValue, 20, 30) === thisValue); +} +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-additions.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-additions.js new file mode 100644 index 0000000000..fa2d35e442 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-additions.js @@ -0,0 +1,25 @@ +let counter = 0; +function bar(map) { + for (let [key, value] of map) { + if (Math.random() > 0.95) { + map.set("" + counter, counter); + ++counter; + } + } +} +noInline(bar); + +function foo() { + let map = new Map; + for (let i = 0; i < 1000; i++) + map.set(i, i+1); + + let start = Date.now(); + for (let i = 0; i < 100; i++) + bar(map); + const verbose = false; + if (verbose) + print(Date.now() - start); + +} +foo(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-mutation.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-mutation.js new file mode 100644 index 0000000000..5b4e51ab85 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/large-map-iteration-with-mutation.js @@ -0,0 +1,25 @@ +function bar(map) { + for (let [key, value] of map) { + if (value - 1 !== key) + throw new Error("Bad iteration!"); + if (Math.random() > 0.95) { + map.delete(key); + } + } +} +noInline(bar); + +function foo() { + let map = new Map; + for (let i = 0; i < 80000; i++) + map.set(i, i+1); + + let start = Date.now(); + for (let i = 0; i < 100; i++) + bar(map); + const verbose = false; + if (verbose) + print(Date.now() - start); + +} +foo(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/map-constant-key.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/map-constant-key.js new file mode 100644 index 0000000000..a022f74669 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/map-constant-key.js @@ -0,0 +1,49 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); +function test(map, key, value) { + let loadValue = eval(`${Math.random()}; let k = key; (function getValue() { return map.get(k); });`); + noInline(loadValue); + for (let i = 0; i < 1000000; i++) { + assert(loadValue() === value); + } +} + +let reallyLongString = ""; +for (let i = 0; i < 60000; i++) { + reallyLongString += "i"; +} +reallyLongString.toString(); + +let keys = [ + "foo", + "fdashfdsahfdashfdsh", + "rope" + "string", + reallyLongString, + 259243, + 1238231.2138321, + -92138.328, + {foo: 25}, + Symbol("Hello world"), + true, + false, + undefined, + null, + NaN, + -0, + function foo() {} +]; + +let start = Date.now(); +let map = new Map; +let i = 0; +for (let key of keys) { + let value = {i: i++}; + map.set(key, value); + test(map, key, value); +} +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/map-get-get-cse.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/map-get-get-cse.js new file mode 100644 index 0000000000..32f1f4fdd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/map-get-get-cse.js @@ -0,0 +1,27 @@ +function bar(map, p) { + return map.get(p) + map.get(p); +} +noInline(bar); + +function foo() { + let map = new Map; + let items = [ + [10, 50], + ["450", 78], + [{}, {}], + [Symbol(), true], + [undefined, null], + [true, null], + [false, true], + [45.87, {}] + ]; + for (let [key, value] of items) + map.set(key, value); + let start = Date.now(); + for (let i = 0; i < 5000000; i++) + bar(map, items[i % items.length][0]); + const verbose = false; + if (verbose) + print(Date.now() - start); +} +foo(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js new file mode 100644 index 0000000000..e774381d8f --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/misc-bugs-847389-jpeg2000.js @@ -0,0 +1,1985 @@ +// Skip in run-jsc-stress-tests. +//@ skip +/* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */ +/* Copyright 2012 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/* globals error, globalScope, warn */ + +'use strict'; + +var error = function(e) { print(e); } +var warn = function(e) { print(e); } + + +var JpxImage = (function JpxImageClosure() { + // Table E.1 + var SubbandsGainLog2 = { + 'LL': 0, + 'LH': 1, + 'HL': 1, + 'HH': 2 + }; + function JpxImage() { + this.failOnCorruptedImage = false; + } + JpxImage.prototype = { + load: function JpxImage_load(url) { + var xhr = new XMLHttpRequest(); + xhr.open('GET', url, true); + xhr.responseType = 'arraybuffer'; + xhr.onload = (function() { + // TODO catch parse error + var data = new Uint8Array(xhr.response || xhr.mozResponseArrayBuffer); + this.parse(data); + if (this.onload) + this.onload(); + }).bind(this); + xhr.send(null); + }, + parse: function JpxImage_parse(data) { + function readUint(data, offset, bytes) { + var n = 0; + for (var i = 0; i < bytes; i++) + n = n * 256 + (data[offset + i] & 0xFF); + return n; + } + var position = 0, length = data.length; + while (position < length) { + var headerSize = 8; + var lbox = readUint(data, position, 4); + var tbox = readUint(data, position + 4, 4); + position += headerSize; + if (lbox == 1) { + lbox = readUint(data, position, 8); + position += 8; + headerSize += 8; + } + if (lbox === 0) + lbox = length - position + headerSize; + if (lbox < headerSize) + error('JPX error: Invalid box field size'); + var dataLength = lbox - headerSize; + var jumpDataLength = true; + switch (tbox) { + case 0x6A501A1A: // 'jP\032\032' + // TODO + break; + case 0x6A703268: // 'jp2h' + jumpDataLength = false; // parsing child boxes + break; + case 0x636F6C72: // 'colr' + // TODO + break; + case 0x6A703263: // 'jp2c' + this.parseCodestream(data, position, position + dataLength); + break; + } + if (jumpDataLength) + position += dataLength; + } + }, + parseCodestream: function JpxImage_parseCodestream(data, start, end) { + var context = {}; + try { + var position = start; + while (position < end) { + var code = readUint16(data, position); + position += 2; + + var length = 0, j; + switch (code) { + case 0xFF4F: // Start of codestream (SOC) + context.mainHeader = true; + break; + case 0xFFD9: // End of codestream (EOC) + break; + case 0xFF51: // Image and tile size (SIZ) + length = readUint16(data, position); + var siz = {}; + siz.Xsiz = readUint32(data, position + 4); + siz.Ysiz = readUint32(data, position + 8); + siz.XOsiz = readUint32(data, position + 12); + siz.YOsiz = readUint32(data, position + 16); + siz.XTsiz = readUint32(data, position + 20); + siz.YTsiz = readUint32(data, position + 24); + siz.XTOsiz = readUint32(data, position + 28); + siz.YTOsiz = readUint32(data, position + 32); + var componentsCount = readUint16(data, position + 36); + siz.Csiz = componentsCount; + var components = []; + j = position + 38; + for (var i = 0; i < componentsCount; i++) { + var component = { + precision: (data[j] & 0x7F) + 1, + isSigned: !!(data[j] & 0x80), + XRsiz: data[j + 1], + YRsiz: data[j + 1] + }; + calculateComponentDimensions(component, siz); + components.push(component); + } + context.SIZ = siz; + context.components = components; + calculateTileGrids(context, components); + context.QCC = []; + context.COC = []; + break; + case 0xFF5C: // Quantization default (QCD) + length = readUint16(data, position); + var qcd = {}; + j = position + 2; + var sqcd = data[j++]; + var spqcdSize, scalarExpounded; + switch (sqcd & 0x1F) { + case 0: + spqcdSize = 8; + scalarExpounded = true; + break; + case 1: + spqcdSize = 16; + scalarExpounded = false; + break; + case 2: + spqcdSize = 16; + scalarExpounded = true; + break; + default: + throw 'Invalid SQcd value ' + sqcd; + } + qcd.noQuantization = spqcdSize == 8; + qcd.scalarExpounded = scalarExpounded; + qcd.guardBits = sqcd >> 5; + var spqcds = []; + while (j < length + position) { + var spqcd = {}; + if (spqcdSize == 8) { + spqcd.epsilon = data[j++] >> 3; + spqcd.mu = 0; + } else { + spqcd.epsilon = data[j] >> 3; + spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1]; + j += 2; + } + spqcds.push(spqcd); + } + qcd.SPqcds = spqcds; + if (context.mainHeader) + context.QCD = qcd; + else { + context.currentTile.QCD = qcd; + context.currentTile.QCC = []; + } + break; + case 0xFF5D: // Quantization component (QCC) + length = readUint16(data, position); + var qcc = {}; + j = position + 2; + var cqcc; + if (context.SIZ.Csiz < 257) + cqcc = data[j++]; + else { + cqcc = readUint16(data, j); + j += 2; + } + var sqcd = data[j++]; + var spqcdSize, scalarExpounded; + switch (sqcd & 0x1F) { + case 0: + spqcdSize = 8; + scalarExpounded = true; + break; + case 1: + spqcdSize = 16; + scalarExpounded = false; + break; + case 2: + spqcdSize = 16; + scalarExpounded = true; + break; + default: + throw 'Invalid SQcd value ' + sqcd; + } + qcc.noQuantization = spqcdSize == 8; + qcc.scalarExpounded = scalarExpounded; + qcc.guardBits = sqcd >> 5; + var spqcds = []; + while (j < length + position) { + var spqcd = {}; + if (spqcdSize == 8) { + spqcd.epsilon = data[j++] >> 3; + spqcd.mu = 0; + } else { + spqcd.epsilon = data[j] >> 3; + spqcd.mu = ((data[j] & 0x7) << 8) | data[j + 1]; + j += 2; + } + spqcds.push(spqcd); + } + qcc.SPqcds = spqcds; + if (context.mainHeader) + context.QCC[cqcc] = qcc; + else + context.currentTile.QCC[cqcc] = qcc; + break; + case 0xFF52: // Coding style default (COD) + length = readUint16(data, position); + var cod = {}; + j = position + 2; + var scod = data[j++]; + cod.entropyCoderWithCustomPrecincts = !!(scod & 1); + cod.sopMarkerUsed = !!(scod & 2); + cod.ephMarkerUsed = !!(scod & 4); + var codingStyle = {}; + cod.progressionOrder = data[j++]; + cod.layersCount = readUint16(data, j); + j += 2; + cod.multipleComponentTransform = data[j++]; + + cod.decompositionLevelsCount = data[j++]; + cod.xcb = (data[j++] & 0xF) + 2; + cod.ycb = (data[j++] & 0xF) + 2; + var blockStyle = data[j++]; + cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1); + cod.resetContextProbabilities = !!(blockStyle & 2); + cod.terminationOnEachCodingPass = !!(blockStyle & 4); + cod.verticalyStripe = !!(blockStyle & 8); + cod.predictableTermination = !!(blockStyle & 16); + cod.segmentationSymbolUsed = !!(blockStyle & 32); + cod.transformation = data[j++]; + if (cod.entropyCoderWithCustomPrecincts) { + var precinctsSizes = {}; + while (j < length + position) { + var precinctsSize = data[j]; + precinctsSizes.push({ + PPx: precinctsSize & 0xF, + PPy: precinctsSize >> 4 + }); + } + cod.precinctsSizes = precinctsSizes; + } + + if (cod.sopMarkerUsed || cod.ephMarkerUsed || + cod.selectiveArithmeticCodingBypass || + cod.resetContextProbabilities || + cod.terminationOnEachCodingPass || + cod.verticalyStripe || cod.predictableTermination) + throw 'Unsupported COD options: ' + + globalScope.JSON.stringify(cod); + + if (context.mainHeader) + context.COD = cod; + else { + context.currentTile.COD = cod; + context.currentTile.COC = []; + } + break; + case 0xFF90: // Start of tile-part (SOT) + length = readUint16(data, position); + var tile = {}; + tile.index = readUint16(data, position + 2); + tile.length = readUint32(data, position + 4); + tile.dataEnd = tile.length + position - 2; + tile.partIndex = data[position + 8]; + tile.partsCount = data[position + 9]; + + context.mainHeader = false; + if (tile.partIndex === 0) { + // reset component specific settings + tile.COD = context.COD; + tile.COC = context.COC.slice(0); // clone of the global COC + tile.QCD = context.QCD; + tile.QCC = context.QCC.slice(0); // clone of the global COC + } + context.currentTile = tile; + break; + case 0xFF93: // Start of data (SOD) + var tile = context.currentTile; + if (tile.partIndex === 0) { + initializeTile(context, tile.index); + buildPackets(context); + } + + // moving to the end of the data + length = tile.dataEnd - position; + + parseTilePackets(context, data, position, length); + break; + case 0xFF64: // Comment (COM) + length = readUint16(data, position); + // skipping content + break; + default: + throw 'Unknown codestream code: ' + code.toString(16); + } + position += length; + } + } catch (e) { + if (this.failOnCorruptedImage) + error('JPX error: ' + e); + else + warn('JPX error: ' + e + '. Trying to recover'); + } + this.tiles = transformComponents(context); + this.width = context.SIZ.Xsiz - context.SIZ.XOsiz; + this.height = context.SIZ.Ysiz - context.SIZ.YOsiz; + this.componentsCount = context.SIZ.Csiz; + } + }; + function readUint32(data, offset) { + return (data[offset] << 24) | (data[offset + 1] << 16) | + (data[offset + 2] << 8) | data[offset + 3]; + } + function readUint16(data, offset) { + return (data[offset] << 8) | data[offset + 1]; + } + function log2(x) { + var n = 1, i = 0; + while (x > n) { + n <<= 1; + i++; + } + return i; + } + function calculateComponentDimensions(component, siz) { + // Section B.2 Component mapping + component.x0 = Math.ceil(siz.XOsiz / component.XRsiz); + component.x1 = Math.ceil(siz.Xsiz / component.XRsiz); + component.y0 = Math.ceil(siz.YOsiz / component.YRsiz); + component.y1 = Math.ceil(siz.Ysiz / component.YRsiz); + component.width = component.x1 - component.x0; + component.height = component.y1 - component.y0; + } + function calculateTileGrids(context, components) { + var siz = context.SIZ; + // Section B.3 Division into tile and tile-components + var tiles = []; + var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz); + var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz); + for (var q = 0; q < numYtiles; q++) { + for (var p = 0; p < numXtiles; p++) { + var tile = {}; + tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz); + tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz); + tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz); + tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz); + tile.width = tile.tx1 - tile.tx0; + tile.height = tile.ty1 - tile.ty0; + tile.components = []; + tiles.push(tile); + } + } + context.tiles = tiles; + + var componentsCount = siz.Csiz; + for (var i = 0, ii = componentsCount; i < ii; i++) { + var component = components[i]; + var tileComponents = []; + for (var j = 0, jj = tiles.length; j < jj; j++) { + var tileComponent = {}, tile = tiles[j]; + tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz); + tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz); + tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz); + tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz); + tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0; + tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0; + tile.components[i] = tileComponent; + } + } + } + function getBlocksDimensions(context, component, r) { + var codOrCoc = component.codingStyleParameters; + var result = {}; + if (!codOrCoc.entropyCoderWithCustomPrecincts) { + result.PPx = 15; + result.PPy = 15; + } else { + result.PPx = codOrCoc.precinctsSizes[r].PPx; + result.PPy = codOrCoc.precinctsSizes[r].PPy; + } + // calculate codeblock size as described in section B.7 + result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : + Math.min(codOrCoc.xcb, result.PPx); + result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : + Math.min(codOrCoc.ycb, result.PPy); + return result; + } + function buildPrecincts(context, resolution, dimensions) { + // Section B.6 Division resolution to precincts + var precinctWidth = 1 << dimensions.PPx; + var precinctHeight = 1 << dimensions.PPy; + var numprecinctswide = resolution.trx1 > resolution.trx0 ? + Math.ceil(resolution.trx1 / precinctWidth) - + Math.floor(resolution.trx0 / precinctWidth) : 0; + var numprecinctshigh = resolution.try1 > resolution.try0 ? + Math.ceil(resolution.try1 / precinctHeight) - + Math.floor(resolution.try0 / precinctHeight) : 0; + var numprecincts = numprecinctswide * numprecinctshigh; + var precinctXOffset = Math.floor(resolution.trx0 / precinctWidth) * + precinctWidth; + var precinctYOffset = Math.floor(resolution.try0 / precinctHeight) * + precinctHeight; + resolution.precinctParameters = { + precinctXOffset: precinctXOffset, + precinctYOffset: precinctYOffset, + precinctWidth: precinctWidth, + precinctHeight: precinctHeight, + numprecinctswide: numprecinctswide, + numprecinctshigh: numprecinctshigh, + numprecincts: numprecincts + }; + } + function buildCodeblocks(context, subband, dimensions) { + // Section B.7 Division sub-band into code-blocks + var xcb_ = dimensions.xcb_; + var ycb_ = dimensions.ycb_; + var codeblockWidth = 1 << xcb_; + var codeblockHeight = 1 << ycb_; + var cbx0 = Math.floor(subband.tbx0 / codeblockWidth); + var cby0 = Math.floor(subband.tby0 / codeblockHeight); + var cbx1 = Math.ceil(subband.tbx1 / codeblockWidth); + var cby1 = Math.ceil(subband.tby1 / codeblockHeight); + var precinctParameters = subband.resolution.precinctParameters; + var codeblocks = []; + var precincts = []; + for (var j = cby0; j < cby1; j++) { + for (var i = cbx0; i < cbx1; i++) { + var codeblock = { + cbx: i, + cby: j, + tbx0: codeblockWidth * i, + tby0: codeblockHeight * j, + tbx1: codeblockWidth * (i + 1), + tby1: codeblockHeight * (j + 1) + }; + // calculate precinct number + var pi = Math.floor((codeblock.tbx0 - + precinctParameters.precinctXOffset) / + precinctParameters.precinctWidth); + var pj = Math.floor((codeblock.tby0 - + precinctParameters.precinctYOffset) / + precinctParameters.precinctHeight); + var precinctNumber = pj + + pi * precinctParameters.numprecinctswide; + codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0); + codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0); + codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1); + codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1); + codeblock.precinctNumber = precinctNumber; + codeblock.subbandType = subband.type; + var coefficientsLength = (codeblock.tbx1_ - codeblock.tbx0_) * + (codeblock.tby1_ - codeblock.tby0_); + codeblock.Lblock = 3; + codeblocks.push(codeblock); + // building precinct for the sub-band + var precinct; + if (precinctNumber in precincts) { + precinct = precincts[precinctNumber]; + precinct.cbxMin = Math.min(precinct.cbxMin, i); + precinct.cbyMin = Math.min(precinct.cbyMin, j); + precinct.cbxMax = Math.max(precinct.cbxMax, i); + precinct.cbyMax = Math.max(precinct.cbyMax, j); + } else { + precincts[precinctNumber] = precinct = { + cbxMin: i, + cbyMin: j, + cbxMax: i, + cbyMax: j + }; + } + codeblock.precinct = precinct; + } + } + subband.codeblockParameters = { + codeblockWidth: xcb_, + codeblockHeight: ycb_, + numcodeblockwide: cbx1 - cbx0 + 1, + numcodeblockhigh: cby1 - cby1 + 1 + }; + subband.codeblocks = codeblocks; + for (var i = 0, ii = codeblocks.length; i < ii; i++) { + var codeblock = codeblocks[i]; + var precinctNumber = codeblock.precinctNumber; + } + subband.precincts = precincts; + } + function createPacket(resolution, precinctNumber, layerNumber) { + var precinctCodeblocks = []; + // Section B.10.8 Order of info in packet + var subbands = resolution.subbands; + // sub-bands already ordered in 'LL', 'HL', 'LH', and 'HH' sequence + for (var i = 0, ii = subbands.length; i < ii; i++) { + var subband = subbands[i]; + var codeblocks = subband.codeblocks; + for (var j = 0, jj = codeblocks.length; j < jj; j++) { + var codeblock = codeblocks[j]; + if (codeblock.precinctNumber != precinctNumber) + continue; + precinctCodeblocks.push(codeblock); + } + } + return { + layerNumber: layerNumber, + codeblocks: precinctCodeblocks + }; + } + function LayerResolutionComponentPositionIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var maxDecompositionLevelsCount = 0; + for (var q = 0; q < componentsCount; q++) { + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, + tile.components[q].codingStyleParameters.decompositionLevelsCount); + } + + var l = 0, r = 0, i = 0, k = 0; + + this.nextPacket = function JpxImage_nextPacket() { + // Section B.12.1.1 Layer-resolution-component-position + for (; l < layersCount; l++) { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; i < componentsCount; i++) { + var component = tile.components[i]; + if (r > component.codingStyleParameters.decompositionLevelsCount) + continue; + + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + for (; k < numprecincts;) { + var packet = createPacket(resolution, k, l); + k++; + return packet; + } + k = 0; + } + i = 0; + } + r = 0; + } + throw 'Out of packets'; + }; + } + function ResolutionLayerComponentPositionIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var maxDecompositionLevelsCount = 0; + for (var q = 0; q < componentsCount; q++) { + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, + tile.components[q].codingStyleParameters.decompositionLevelsCount); + } + + var r = 0, l = 0, i = 0, k = 0; + + this.nextPacket = function JpxImage_nextPacket() { + // Section B.12.1.2 Resolution-layer-component-position + for (; r <= maxDecompositionLevelsCount; r++) { + for (; l < layersCount; l++) { + for (; i < componentsCount; i++) { + var component = tile.components[i]; + if (r > component.codingStyleParameters.decompositionLevelsCount) + continue; + + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + for (; k < numprecincts;) { + var packet = createPacket(resolution, k, l); + k++; + return packet; + } + k = 0; + } + i = 0; + } + l = 0; + } + throw 'Out of packets'; + }; + } + function buildPackets(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var componentsCount = siz.Csiz; + // Creating resolutions and sub-bands for each component + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = + component.codingStyleParameters.decompositionLevelsCount; + // Section B.5 Resolution levels and sub-bands + var resolutions = []; + var subbands = []; + for (var r = 0; r <= decompositionLevelsCount; r++) { + var blocksDimensions = getBlocksDimensions(context, component, r); + var resolution = {}; + var scale = 1 << (decompositionLevelsCount - r); + resolution.trx0 = Math.ceil(component.tcx0 / scale); + resolution.try0 = Math.ceil(component.tcy0 / scale); + resolution.trx1 = Math.ceil(component.tcx1 / scale); + resolution.try1 = Math.ceil(component.tcy1 / scale); + buildPrecincts(context, resolution, blocksDimensions); + resolutions.push(resolution); + + var subband; + if (r === 0) { + // one sub-band (LL) with last decomposition + subband = {}; + subband.type = 'LL'; + subband.tbx0 = Math.ceil(component.tcx0 / scale); + subband.tby0 = Math.ceil(component.tcy0 / scale); + subband.tbx1 = Math.ceil(component.tcx1 / scale); + subband.tby1 = Math.ceil(component.tcy1 / scale); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolution.subbands = [subband]; + } else { + var bscale = 1 << (decompositionLevelsCount - r + 1); + var resolutionSubbands = []; + // three sub-bands (HL, LH and HH) with rest of decompositions + subband = {}; + subband.type = 'HL'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5); + subband.tby0 = Math.ceil(component.tcy0 / bscale); + subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5); + subband.tby1 = Math.ceil(component.tcy1 / bscale); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + + subband = {}; + subband.type = 'LH'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale); + subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5); + subband.tbx1 = Math.ceil(component.tcx1 / bscale); + subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + + subband = {}; + subband.type = 'HH'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5); + subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5); + subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5); + subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + + resolution.subbands = resolutionSubbands; + } + } + component.resolutions = resolutions; + component.subbands = subbands; + } + // Generate the packets sequence + var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder; + var packetsIterator; + switch (progressionOrder) { + case 0: + tile.packetsIterator = + new LayerResolutionComponentPositionIterator(context); + break; + case 1: + tile.packetsIterator = + new ResolutionLayerComponentPositionIterator(context); + break; + default: + throw 'Unsupported progression order ' + progressionOrder; + } + } + function parseTilePackets(context, data, offset, dataLength) { + var position = 0; + var buffer, bufferSize = 0, skipNextBit = false; + function readBits(count) { + while (bufferSize < count) { + var b = data[offset + position]; + position++; + if (skipNextBit) { + buffer = (buffer << 7) | b; + bufferSize += 7; + skipNextBit = false; + } else { + buffer = (buffer << 8) | b; + bufferSize += 8; + } + if (b == 0xFF) { + skipNextBit = true; + } + } + bufferSize -= count; + return (buffer >>> bufferSize) & ((1 << count) - 1); + } + function alignToByte() { + bufferSize = 0; + if (skipNextBit) { + position++; + skipNextBit = false; + } + } + function readCodingpasses() { + var value = readBits(1); + if (value === 0) + return 1; + value = (value << 1) | readBits(1); + if (value == 0x02) + return 2; + value = (value << 2) | readBits(2); + if (value <= 0x0E) + return (value & 0x03) + 3; + value = (value << 5) | readBits(5); + if (value <= 0x1FE) + return (value & 0x1F) + 6; + value = (value << 7) | readBits(7); + return (value & 0x7F) + 37; + } + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var packetsIterator = tile.packetsIterator; + while (position < dataLength) { + var packet = packetsIterator.nextPacket(); + if (!readBits(1)) { + alignToByte(); + continue; + } + var layerNumber = packet.layerNumber; + var queue = []; + for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) { + var codeblock = packet.codeblocks[i]; + var precinct = codeblock.precinct; + var codeblockColumn = codeblock.cbx - precinct.cbxMin; + var codeblockRow = codeblock.cby - precinct.cbyMin; + var codeblockIncluded = false; + var firstTimeInclusion = false; + if ('included' in codeblock) { + codeblockIncluded = !!readBits(1); + } else { + // reading inclusion tree + var precinct = codeblock.precinct; + var inclusionTree, zeroBitPlanesTree; + if ('inclusionTree' in precinct) { + inclusionTree = precinct.inclusionTree; + } else { + // building inclusion and zero bit-planes trees + var width = precinct.cbxMax - precinct.cbxMin + 1; + var height = precinct.cbyMax - precinct.cbyMin + 1; + inclusionTree = new InclusionTree(width, height, layerNumber); + zeroBitPlanesTree = new TagTree(width, height); + precinct.inclusionTree = inclusionTree; + precinct.zeroBitPlanesTree = zeroBitPlanesTree; + } + + if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) { + while (true) { + if (readBits(1)) { + var valueReady = !inclusionTree.nextLevel(); + if (valueReady) { + codeblock.included = true; + codeblockIncluded = firstTimeInclusion = true; + break; + } + } else { + inclusionTree.incrementValue(layerNumber); + break; + } + } + } + } + if (!codeblockIncluded) + continue; + if (firstTimeInclusion) { + zeroBitPlanesTree = precinct.zeroBitPlanesTree; + zeroBitPlanesTree.reset(codeblockColumn, codeblockRow); + while (true) { + if (readBits(1)) { + var valueReady = !zeroBitPlanesTree.nextLevel(); + if (valueReady) + break; + } else + zeroBitPlanesTree.incrementValue(); + } + codeblock.zeroBitPlanes = zeroBitPlanesTree.value; + } + var codingpasses = readCodingpasses(); + while (readBits(1)) + codeblock.Lblock++; + var codingpassesLog2 = log2(codingpasses); + // rounding down log2 + var bits = ((codingpasses < (1 << codingpassesLog2)) ? + codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock; + var codedDataLength = readBits(bits); + queue.push({ + codeblock: codeblock, + codingpasses: codingpasses, + dataLength: codedDataLength + }); + } + alignToByte(); + while (queue.length > 0) { + var packetItem = queue.shift(); + var codeblock = packetItem.codeblock; + if (!('data' in codeblock)) + codeblock.data = []; + codeblock.data.push({ + data: data, + start: offset + position, + end: offset + position + packetItem.dataLength, + codingpasses: packetItem.codingpasses + }); + position += packetItem.dataLength; + } + } + return position; + } + function copyCoefficients(coefficients, x0, y0, width, height, + delta, mb, codeblocks, transformation, + segmentationSymbolUsed) { + var r = 0.5; // formula (E-6) + for (var i = 0, ii = codeblocks.length; i < ii; ++i) { + var codeblock = codeblocks[i]; + var blockWidth = codeblock.tbx1_ - codeblock.tbx0_; + var blockHeight = codeblock.tby1_ - codeblock.tby0_; + if (blockWidth === 0 || blockHeight === 0) + continue; + if (!('data' in codeblock)) + continue; + + var bitModel, currentCodingpassType; + bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, + codeblock.zeroBitPlanes); + currentCodingpassType = 2; // first bit plane starts from cleanup + + // collect data + var data = codeblock.data, totalLength = 0, codingpasses = 0; + for (var q = 0, qq = data.length; q < qq; q++) { + var dataItem = data[q]; + totalLength += dataItem.end - dataItem.start; + codingpasses += dataItem.codingpasses; + } + var encodedData = new Uint8Array(totalLength), k = 0; + for (var q = 0, qq = data.length; q < qq; q++) { + var dataItem = data[q]; + var chunk = dataItem.data.subarray(dataItem.start, dataItem.end); + encodedData.set(chunk, k); + k += chunk.length; + } + // decoding the item + var decoder = new ArithmeticDecoder(encodedData, 0, totalLength); + bitModel.setDecoder(decoder); + + for (var q = 0; q < codingpasses; q++) { + switch (currentCodingpassType) { + case 0: + bitModel.runSignificancePropogationPass(); + break; + case 1: + bitModel.runMagnitudeRefinementPass(); + break; + case 2: + bitModel.runCleanupPass(); + if (segmentationSymbolUsed) + bitModel.checkSegmentationSymbol(); + break; + } + currentCodingpassType = (currentCodingpassType + 1) % 3; + } + + var offset = (codeblock.tbx0_ - x0) + (codeblock.tby0_ - y0) * width; + var position = 0; + for (var j = 0; j < blockHeight; j++) { + for (var k = 0; k < blockWidth; k++) { + var n = (bitModel.coefficentsSign[position] ? -1 : 1) * + bitModel.coefficentsMagnitude[position]; + var nb = bitModel.bitsDecoded[position], correction; + if (transformation === 0 || mb > nb) { + // use r only if transformation is irreversible or + // not all bitplanes were decoded for reversible transformation + n += n < 0 ? n - r : n > 0 ? n + r : 0; + correction = 1 << (mb - nb); + } else + correction = 1; + coefficients[offset++] = n * correction * delta; + position++; + } + offset += width - blockWidth; + } + } + } + function transformTile(context, tile, c) { + var component = tile.components[c]; + var codingStyleParameters = component.codingStyleParameters; + var quantizationParameters = component.quantizationParameters; + var decompositionLevelsCount = + codingStyleParameters.decompositionLevelsCount; + var spqcds = quantizationParameters.SPqcds; + var scalarExpounded = quantizationParameters.scalarExpounded; + var guardBits = quantizationParameters.guardBits; + var transformation = codingStyleParameters.transformation; + var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed; + var precision = context.components[c].precision; + + var subbandCoefficients = []; + var k = 0, b = 0; + for (var i = 0; i <= decompositionLevelsCount; i++) { + var resolution = component.resolutions[i]; + + for (var j = 0, jj = resolution.subbands.length; j < jj; j++) { + var mu, epsilon; + if (!scalarExpounded) { + // formula E-5 + mu = spqcds[0].mu; + epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0); + } else { + mu = spqcds[b].mu; + epsilon = spqcds[b].epsilon; + } + + var subband = resolution.subbands[j]; + var width = subband.tbx1 - subband.tbx0; + var height = subband.tby1 - subband.tby0; + var gainLog2 = SubbandsGainLog2[subband.type]; + + // calulate quantization coefficient (Section E.1.1.1) + var delta = Math.pow(2, (precision + gainLog2) - epsilon) * + (1 + mu / 2048); + var mb = (guardBits + epsilon - 1); + + var coefficients = new Float32Array(width * height); + copyCoefficients(coefficients, subband.tbx0, subband.tby0, + width, height, delta, mb, subband.codeblocks, transformation, + segmentationSymbolUsed); + + subbandCoefficients.push({ + width: width, + height: height, + items: coefficients + }); + + b++; + } + } + + var transformation = codingStyleParameters.transformation; + var transform = transformation === 0 ? new IrreversibleTransform() : + new ReversibleTransform(); + var result = transform.calculate(subbandCoefficients, + component.tcx0, component.tcy0); + return { + left: component.tcx0, + top: component.tcy0, + width: result.width, + height: result.height, + items: result.items + }; + } + function transformComponents(context) { + var siz = context.SIZ; + var components = context.components; + var componentsCount = siz.Csiz; + var resultImages = []; + for (var i = 0, ii = context.tiles.length; i < ii; i++) { + var tile = context.tiles[i]; + var result = []; + for (var c = 0; c < componentsCount; c++) { + var image = transformTile(context, tile, c); + result.push(image); + } + + // Section G.2.2 Inverse multi component transform + if (tile.codingStyleDefaultParameters.multipleComponentTransform) { + var y0items = result[0].items; + var y1items = result[1].items; + var y2items = result[2].items; + for (var j = 0, jj = y0items.length; j < jj; j++) { + var y0 = y0items[j], y1 = y1items[j], y2 = y2items[j]; + var i1 = y0 - ((y2 + y1) >> 2); + y1items[j] = i1; + y0items[j] = y2 + i1; + y2items[j] = y1 + i1; + } + } + + // Section G.1 DC level shifting to unsigned component values + for (var c = 0; c < componentsCount; c++) { + var component = components[c]; + if (component.isSigned) + continue; + + var offset = 1 << (component.precision - 1); + var tileImage = result[c]; + var items = tileImage.items; + for (var j = 0, jj = items.length; j < jj; j++) + items[j] += offset; + } + + // To simplify things: shift and clamp output to 8 bit unsigned + for (var c = 0; c < componentsCount; c++) { + var component = components[c]; + var offset = component.isSigned ? 128 : 0; + var shift = component.precision - 8; + var tileImage = result[c]; + var items = tileImage.items; + var data = new Uint8Array(items.length); + for (var j = 0, jj = items.length; j < jj; j++) { + var value = (items[j] >> shift) + offset; + data[j] = value < 0 ? 0 : value > 255 ? 255 : value; + } + result[c].items = data; + } + + resultImages.push(result); + } + return resultImages; + } + function initializeTile(context, tileIndex) { + var siz = context.SIZ; + var componentsCount = siz.Csiz; + var tile = context.tiles[tileIndex]; + var resultTiles = []; + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var qcdOrQcc = c in context.currentTile.QCC ? + context.currentTile.QCC[c] : context.currentTile.QCD; + component.quantizationParameters = qcdOrQcc; + var codOrCoc = c in context.currentTile.COC ? + context.currentTile.COC[c] : context.currentTile.COD; + component.codingStyleParameters = codOrCoc; + } + tile.codingStyleDefaultParameters = context.currentTile.COD; + } + + // Section B.10.2 Tag trees + var TagTree = (function TagTreeClosure() { + function TagTree(width, height) { + var levelsLength = log2(Math.max(width, height)) + 1; + this.levels = []; + for (var i = 0; i < levelsLength; i++) { + var level = { + width: width, + height: height, + items: [] + }; + this.levels.push(level); + width = Math.ceil(width / 2); + height = Math.ceil(height / 2); + } + } + TagTree.prototype = { + reset: function TagTree_reset(i, j) { + var currentLevel = 0, value = 0; + while (currentLevel < this.levels.length) { + var level = this.levels[currentLevel]; + var index = i + j * level.width; + if (index in level.items) { + value = level.items[index]; + break; + } + level.index = index; + i >>= 1; + j >>= 1; + currentLevel++; + } + currentLevel--; + var level = this.levels[currentLevel]; + level.items[level.index] = value; + this.currentLevel = currentLevel; + delete this.value; + }, + incrementValue: function TagTree_incrementValue() { + var level = this.levels[this.currentLevel]; + level.items[level.index]++; + }, + nextLevel: function TagTree_nextLevel() { + var currentLevel = this.currentLevel; + var level = this.levels[currentLevel]; + var value = level.items[level.index]; + currentLevel--; + if (currentLevel < 0) { + this.value = value; + return false; + } + + this.currentLevel = currentLevel; + var level = this.levels[currentLevel]; + level.items[level.index] = value; + return true; + } + }; + return TagTree; + })(); + + var InclusionTree = (function InclusionTreeClosure() { + function InclusionTree(width, height, defaultValue) { + var levelsLength = log2(Math.max(width, height)) + 1; + this.levels = []; + for (var i = 0; i < levelsLength; i++) { + var items = new Uint8Array(width * height); + for (var j = 0, jj = items.length; j < jj; j++) + items[j] = defaultValue; + + var level = { + width: width, + height: height, + items: items + }; + this.levels.push(level); + + width = Math.ceil(width / 2); + height = Math.ceil(height / 2); + } + } + InclusionTree.prototype = { + reset: function InclusionTree_reset(i, j, stopValue) { + var currentLevel = 0; + while (currentLevel < this.levels.length) { + var level = this.levels[currentLevel]; + var index = i + j * level.width; + level.index = index; + var value = level.items[index]; + + if (value == 0xFF) + break; + + if (value > stopValue) { + this.currentLevel = currentLevel; + // already know about this one, propagating the value to top levels + this.propagateValues(); + return false; + } + + i >>= 1; + j >>= 1; + currentLevel++; + } + this.currentLevel = currentLevel - 1; + return true; + }, + incrementValue: function InclusionTree_incrementValue(stopValue) { + var level = this.levels[this.currentLevel]; + level.items[level.index] = stopValue + 1; + this.propagateValues(); + }, + propagateValues: function InclusionTree_propagateValues() { + var levelIndex = this.currentLevel; + var level = this.levels[levelIndex]; + var currentValue = level.items[level.index]; + while (--levelIndex >= 0) { + var level = this.levels[levelIndex]; + level.items[level.index] = currentValue; + } + }, + nextLevel: function InclusionTree_nextLevel() { + var currentLevel = this.currentLevel; + var level = this.levels[currentLevel]; + var value = level.items[level.index]; + level.items[level.index] = 0xFF; + currentLevel--; + if (currentLevel < 0) + return false; + + this.currentLevel = currentLevel; + var level = this.levels[currentLevel]; + level.items[level.index] = value; + return true; + } + }; + return InclusionTree; + })(); + + // Implements C.3. Arithmetic decoding procedures + var ArithmeticDecoder = (function ArithmeticDecoderClosure() { + var QeTable = [ + {qe: 0x5601, nmps: 1, nlps: 1, switchFlag: 1}, + {qe: 0x3401, nmps: 2, nlps: 6, switchFlag: 0}, + {qe: 0x1801, nmps: 3, nlps: 9, switchFlag: 0}, + {qe: 0x0AC1, nmps: 4, nlps: 12, switchFlag: 0}, + {qe: 0x0521, nmps: 5, nlps: 29, switchFlag: 0}, + {qe: 0x0221, nmps: 38, nlps: 33, switchFlag: 0}, + {qe: 0x5601, nmps: 7, nlps: 6, switchFlag: 1}, + {qe: 0x5401, nmps: 8, nlps: 14, switchFlag: 0}, + {qe: 0x4801, nmps: 9, nlps: 14, switchFlag: 0}, + {qe: 0x3801, nmps: 10, nlps: 14, switchFlag: 0}, + {qe: 0x3001, nmps: 11, nlps: 17, switchFlag: 0}, + {qe: 0x2401, nmps: 12, nlps: 18, switchFlag: 0}, + {qe: 0x1C01, nmps: 13, nlps: 20, switchFlag: 0}, + {qe: 0x1601, nmps: 29, nlps: 21, switchFlag: 0}, + {qe: 0x5601, nmps: 15, nlps: 14, switchFlag: 1}, + {qe: 0x5401, nmps: 16, nlps: 14, switchFlag: 0}, + {qe: 0x5101, nmps: 17, nlps: 15, switchFlag: 0}, + {qe: 0x4801, nmps: 18, nlps: 16, switchFlag: 0}, + {qe: 0x3801, nmps: 19, nlps: 17, switchFlag: 0}, + {qe: 0x3401, nmps: 20, nlps: 18, switchFlag: 0}, + {qe: 0x3001, nmps: 21, nlps: 19, switchFlag: 0}, + {qe: 0x2801, nmps: 22, nlps: 19, switchFlag: 0}, + {qe: 0x2401, nmps: 23, nlps: 20, switchFlag: 0}, + {qe: 0x2201, nmps: 24, nlps: 21, switchFlag: 0}, + {qe: 0x1C01, nmps: 25, nlps: 22, switchFlag: 0}, + {qe: 0x1801, nmps: 26, nlps: 23, switchFlag: 0}, + {qe: 0x1601, nmps: 27, nlps: 24, switchFlag: 0}, + {qe: 0x1401, nmps: 28, nlps: 25, switchFlag: 0}, + {qe: 0x1201, nmps: 29, nlps: 26, switchFlag: 0}, + {qe: 0x1101, nmps: 30, nlps: 27, switchFlag: 0}, + {qe: 0x0AC1, nmps: 31, nlps: 28, switchFlag: 0}, + {qe: 0x09C1, nmps: 32, nlps: 29, switchFlag: 0}, + {qe: 0x08A1, nmps: 33, nlps: 30, switchFlag: 0}, + {qe: 0x0521, nmps: 34, nlps: 31, switchFlag: 0}, + {qe: 0x0441, nmps: 35, nlps: 32, switchFlag: 0}, + {qe: 0x02A1, nmps: 36, nlps: 33, switchFlag: 0}, + {qe: 0x0221, nmps: 37, nlps: 34, switchFlag: 0}, + {qe: 0x0141, nmps: 38, nlps: 35, switchFlag: 0}, + {qe: 0x0111, nmps: 39, nlps: 36, switchFlag: 0}, + {qe: 0x0085, nmps: 40, nlps: 37, switchFlag: 0}, + {qe: 0x0049, nmps: 41, nlps: 38, switchFlag: 0}, + {qe: 0x0025, nmps: 42, nlps: 39, switchFlag: 0}, + {qe: 0x0015, nmps: 43, nlps: 40, switchFlag: 0}, + {qe: 0x0009, nmps: 44, nlps: 41, switchFlag: 0}, + {qe: 0x0005, nmps: 45, nlps: 42, switchFlag: 0}, + {qe: 0x0001, nmps: 45, nlps: 43, switchFlag: 0}, + {qe: 0x5601, nmps: 46, nlps: 46, switchFlag: 0} + ]; + + function ArithmeticDecoder(data, start, end) { + this.data = data; + this.bp = start; + this.dataEnd = end; + + this.chigh = data[start]; + this.clow = 0; + + this.byteIn(); + + this.chigh = ((this.chigh << 7) & 0xFFFF) | ((this.clow >> 9) & 0x7F); + this.clow = (this.clow << 7) & 0xFFFF; + this.ct -= 7; + this.a = 0x8000; + } + + ArithmeticDecoder.prototype = { + byteIn: function ArithmeticDecoder_byteIn() { + var data = this.data; + var bp = this.bp; + if (data[bp] == 0xFF) { + var b1 = data[bp + 1]; + if (b1 > 0x8F) { + this.clow += 0xFF00; + this.ct = 8; + } else { + bp++; + this.clow += (data[bp] << 9); + this.ct = 7; + this.bp = bp; + } + } else { + bp++; + this.clow += bp < this.dataEnd ? (data[bp] << 8) : 0xFF00; + this.ct = 8; + this.bp = bp; + } + if (this.clow > 0xFFFF) { + this.chigh += (this.clow >> 16); + this.clow &= 0xFFFF; + } + }, + readBit: function ArithmeticDecoder_readBit(cx) { + var qeIcx = QeTable[cx.index].qe; + this.a -= qeIcx; + + if (this.chigh < qeIcx) { + var d = this.exchangeLps(cx); + this.renormD(); + return d; + } else { + this.chigh -= qeIcx; + if ((this.a & 0x8000) === 0) { + var d = this.exchangeMps(cx); + this.renormD(); + return d; + } else { + return cx.mps; + } + } + }, + renormD: function ArithmeticDecoder_renormD() { + do { + if (this.ct === 0) + this.byteIn(); + + this.a <<= 1; + this.chigh = ((this.chigh << 1) & 0xFFFF) | ((this.clow >> 15) & 1); + this.clow = (this.clow << 1) & 0xFFFF; + this.ct--; + } while ((this.a & 0x8000) === 0); + }, + exchangeMps: function ArithmeticDecoder_exchangeMps(cx) { + var d; + var qeTableIcx = QeTable[cx.index]; + if (this.a < qeTableIcx.qe) { + d = 1 - cx.mps; + + if (qeTableIcx.switchFlag == 1) { + cx.mps = 1 - cx.mps; + } + cx.index = qeTableIcx.nlps; + } else { + d = cx.mps; + cx.index = qeTableIcx.nmps; + } + return d; + }, + exchangeLps: function ArithmeticDecoder_exchangeLps(cx) { + var d; + var qeTableIcx = QeTable[cx.index]; + if (this.a < qeTableIcx.qe) { + this.a = qeTableIcx.qe; + d = cx.mps; + cx.index = qeTableIcx.nmps; + } else { + this.a = qeTableIcx.qe; + d = 1 - cx.mps; + + if (qeTableIcx.switchFlag == 1) { + cx.mps = 1 - cx.mps; + } + cx.index = qeTableIcx.nlps; + } + return d; + } + }; + + return ArithmeticDecoder; + })(); + + // Section D. Coefficient bit modeling + var BitModel = (function BitModelClosure() { + // Table D-1 + // The index is binary presentation: 0dddvvhh, ddd - sum of Di (0..4), + // vv - sum of Vi (0..2), and hh - sum of Hi (0..2) + var LLAndLHContextsLabel = new Uint8Array([ + 0, 5, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 1, 6, 8, 0, 3, 7, 8, 0, 4, + 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, + 8, 0, 3, 7, 8, 0, 4, 7, 8, 0, 0, 0, 0, 0, 2, 6, 8, 0, 3, 7, 8, 0, 4, 7, 8 + ]); + var HLContextLabel = new Uint8Array([ + 0, 3, 4, 0, 5, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 1, 3, 4, 0, 6, 7, 7, 0, 8, + 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, + 4, 0, 6, 7, 7, 0, 8, 8, 8, 0, 0, 0, 0, 0, 2, 3, 4, 0, 6, 7, 7, 0, 8, 8, 8 + ]); + var HHContextLabel = new Uint8Array([ + 0, 1, 2, 0, 1, 2, 2, 0, 2, 2, 2, 0, 0, 0, 0, 0, 3, 4, 5, 0, 4, 5, 5, 0, 5, + 5, 5, 0, 0, 0, 0, 0, 6, 7, 7, 0, 7, 7, 7, 0, 7, 7, 7, 0, 0, 0, 0, 0, 8, 8, + 8, 0, 8, 8, 8, 0, 8, 8, 8, 0, 0, 0, 0, 0, 8, 8, 8, 0, 8, 8, 8, 0, 8, 8, 8 + ]); + + // Table D-2 + function calcSignContribution(significance0, sign0, significance1, sign1) { + if (significance1) { + if (!sign1) + return significance0 ? (!sign0 ? 1 : 0) : 1; + else + return significance0 ? (!sign0 ? 0 : -1) : -1; + } else + return significance0 ? (!sign0 ? 1 : -1) : 0; + } + // Table D-3 + var SignContextLabels = [ + {contextLabel: 13, xorBit: 0}, + {contextLabel: 12, xorBit: 0}, + {contextLabel: 11, xorBit: 0}, + {contextLabel: 10, xorBit: 0}, + {contextLabel: 9, xorBit: 0}, + {contextLabel: 10, xorBit: 1}, + {contextLabel: 11, xorBit: 1}, + {contextLabel: 12, xorBit: 1}, + {contextLabel: 13, xorBit: 1} + ]; + + function BitModel(width, height, subband, zeroBitPlanes) { + this.width = width; + this.height = height; + + this.contextLabelTable = subband == 'HH' ? HHContextLabel : + subband == 'HL' ? HLContextLabel : LLAndLHContextsLabel; + + var coefficientCount = width * height; + + // coefficients outside the encoding region treated as insignificant + // add border state cells for significanceState + this.neighborsSignificance = new Uint8Array(coefficientCount); + this.coefficentsSign = new Uint8Array(coefficientCount); + this.coefficentsMagnitude = new Uint32Array(coefficientCount); + this.processingFlags = new Uint8Array(coefficientCount); + + var bitsDecoded = new Uint8Array(this.width * this.height); + for (var i = 0, ii = bitsDecoded.length; i < ii; i++) + bitsDecoded[i] = zeroBitPlanes; + this.bitsDecoded = bitsDecoded; + + this.reset(); + } + + BitModel.prototype = { + setDecoder: function BitModel_setDecoder(decoder) { + this.decoder = decoder; + }, + reset: function BitModel_reset() { + this.uniformContext = {index: 46, mps: 0}; + this.runLengthContext = {index: 3, mps: 0}; + this.contexts = []; + this.contexts.push({index: 4, mps: 0}); + for (var i = 1; i <= 16; i++) + this.contexts.push({index: 0, mps: 0}); + }, + setNeighborsSignificance: + function BitModel_setNeighborsSignificance(row, column) { + var neighborsSignificance = this.neighborsSignificance; + var width = this.width, height = this.height; + var index = row * width + column; + if (row > 0) { + if (column > 0) + neighborsSignificance[index - width - 1] += 0x10; + if (column + 1 < width) + neighborsSignificance[index - width + 1] += 0x10; + neighborsSignificance[index - width] += 0x04; + } + if (row + 1 < height) { + if (column > 0) + neighborsSignificance[index + width - 1] += 0x10; + if (column + 1 < width) + neighborsSignificance[index + width + 1] += 0x10; + neighborsSignificance[index + width] += 0x04; + } + if (column > 0) + neighborsSignificance[index - 1] += 0x01; + if (column + 1 < width) + neighborsSignificance[index + 1] += 0x01; + neighborsSignificance[index] |= 0x80; + }, + runSignificancePropogationPass: + function BitModel_runSignificancePropogationPass() { + var decoder = this.decoder; + var width = this.width, height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var contextLabels = this.contextLabels; + var neighborsSignificance = this.neighborsSignificance; + var processingFlags = this.processingFlags; + var contexts = this.contexts; + var labels = this.contextLabelTable; + var bitsDecoded = this.bitsDecoded; + // clear processed flag + var processedInverseMask = ~1; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + for (var q = 0, qq = width * height; q < qq; q++) + processingFlags[q] &= processedInverseMask; + + for (var i0 = 0; i0 < height; i0 += 4) { + for (var j = 0; j < width; j++) { + var index = i0 * width + j; + for (var i1 = 0; i1 < 4; i1++, index += width) { + var i = i0 + i1; + if (i >= height) + break; + + if (coefficentsMagnitude[index] || !neighborsSignificance[index]) + continue; + + var contextLabel = labels[neighborsSignificance[index]]; + var cx = contexts[contextLabel]; + var decision = decoder.readBit(cx); + if (decision) { + var sign = this.decodeSignBit(i, j); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j); + processingFlags[index] |= firstMagnitudeBitMask; + } + bitsDecoded[index]++; + processingFlags[index] |= processedMask; + } + } + } + }, + decodeSignBit: function BitModel_decodeSignBit(row, column) { + var width = this.width, height = this.height; + var index = row * width + column; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var horizontalContribution = calcSignContribution( + column > 0 && coefficentsMagnitude[index - 1], + coefficentsSign[index - 1], + column + 1 < width && coefficentsMagnitude[index + 1], + coefficentsSign[index + 1]); + var verticalContribution = calcSignContribution( + row > 0 && coefficentsMagnitude[index - width], + coefficentsSign[index - width], + row + 1 < height && coefficentsMagnitude[index + width], + coefficentsSign[index + width]); + + var contextLabelAndXor = SignContextLabels[ + 3 * (1 - horizontalContribution) + (1 - verticalContribution)]; + var contextLabel = contextLabelAndXor.contextLabel; + var cx = this.contexts[contextLabel]; + var decoded = this.decoder.readBit(cx); + return decoded ^ contextLabelAndXor.xorBit; + }, + runMagnitudeRefinementPass: + function BitModel_runMagnitudeRefinementPass() { + var decoder = this.decoder; + var width = this.width, height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var neighborsSignificance = this.neighborsSignificance; + var contexts = this.contexts; + var bitsDecoded = this.bitsDecoded; + var processingFlags = this.processingFlags; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + for (var i0 = 0; i0 < height; i0 += 4) { + for (var j = 0; j < width; j++) { + for (var i1 = 0; i1 < 4; i1++) { + var i = i0 + i1; + if (i >= height) + break; + var index = i * width + j; + + // significant but not those that have just become + if (!coefficentsMagnitude[index] || + (processingFlags[index] & processedMask) !== 0) + continue; + + var contextLabel = 16; + if ((processingFlags[index] & + firstMagnitudeBitMask) !== 0) { + processingFlags[i * width + j] ^= firstMagnitudeBitMask; + // first refinement + var significance = neighborsSignificance[index]; + var sumOfSignificance = (significance & 3) + + ((significance >> 2) & 3) + ((significance >> 4) & 7); + contextLabel = sumOfSignificance >= 1 ? 15 : 14; + } + + var cx = contexts[contextLabel]; + var bit = decoder.readBit(cx); + coefficentsMagnitude[index] = + (coefficentsMagnitude[index] << 1) | bit; + bitsDecoded[index]++; + processingFlags[index] |= processedMask; + } + } + } + }, + runCleanupPass: function BitModel_runCleanupPass() { + var decoder = this.decoder; + var width = this.width, height = this.height; + var neighborsSignificance = this.neighborsSignificance; + var significanceState = this.significanceState; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var contexts = this.contexts; + var labels = this.contextLabelTable; + var bitsDecoded = this.bitsDecoded; + var processingFlags = this.processingFlags; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + var oneRowDown = width; + var twoRowsDown = width * 2; + var threeRowsDown = width * 3; + for (var i0 = 0; i0 < height; i0 += 4) { + for (var j = 0; j < width; j++) { + var index0 = i0 * width + j; + // using the property: labels[neighborsSignificance[index]] == 0 + // when neighborsSignificance[index] == 0 + var allEmpty = i0 + 3 < height && + processingFlags[index0] === 0 && + processingFlags[index0 + oneRowDown] === 0 && + processingFlags[index0 + twoRowsDown] === 0 && + processingFlags[index0 + threeRowsDown] === 0 && + neighborsSignificance[index0] === 0 && + neighborsSignificance[index0 + oneRowDown] === 0 && + neighborsSignificance[index0 + twoRowsDown] === 0 && + neighborsSignificance[index0 + threeRowsDown] === 0; + var i1 = 0, index = index0; + var cx, i; + if (allEmpty) { + cx = this.runLengthContext; + var hasSignificantCoefficent = decoder.readBit(cx); + if (!hasSignificantCoefficent) { + bitsDecoded[index0]++; + bitsDecoded[index0 + oneRowDown]++; + bitsDecoded[index0 + twoRowsDown]++; + bitsDecoded[index0 + threeRowsDown]++; + continue; // next column + } + cx = this.uniformContext; + i1 = (decoder.readBit(cx) << 1) | decoder.readBit(cx); + i = i0 + i1; + index += i1 * width; + + var sign = this.decodeSignBit(i, j); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j); + processingFlags[index] |= firstMagnitudeBitMask; + + index = index0; + for (var i2 = i0; i2 <= i; i2++, index += width) + bitsDecoded[index]++; + + i1++; + } + for (; i1 < 4; i1++, index += width) { + i = i0 + i1; + if (i >= height) + break; + + if (coefficentsMagnitude[index] || + (processingFlags[index] & processedMask) !== 0) + continue; + + var contextLabel = labels[neighborsSignificance[index]]; + cx = contexts[contextLabel]; + var decision = decoder.readBit(cx); + if (decision == 1) { + var sign = this.decodeSignBit(i, j); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j); + processingFlags[index] |= firstMagnitudeBitMask; + } + bitsDecoded[index]++; + } + } + } + }, + checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() { + var decoder = this.decoder; + var cx = this.uniformContext; + var symbol = (decoder.readBit(cx) << 3) | (decoder.readBit(cx) << 2) | + (decoder.readBit(cx) << 1) | decoder.readBit(cx); + if (symbol != 0xA) + throw 'Invalid segmentation symbol'; + } + }; + + return BitModel; + })(); + + // Section F, Discrete wavelet transofrmation + var Transform = (function TransformClosure() { + function Transform() { + } + Transform.prototype.calculate = + function transformCalculate(subbands, u0, v0) { + var ll = subbands[0]; + for (var i = 1, ii = subbands.length, j = 1; i < ii; i += 3, j++) { + ll = this.iterate(ll, subbands[i], subbands[i + 1], + subbands[i + 2], u0, v0); + } + return ll; + }; + Transform.prototype.iterate = function Transform_iterate(ll, hl, lh, hh, + u0, v0) { + var llWidth = ll.width, llHeight = ll.height, llItems = ll.items; + var hlWidth = hl.width, hlHeight = hl.height, hlItems = hl.items; + var lhWidth = lh.width, lhHeight = lh.height, lhItems = lh.items; + var hhWidth = hh.width, hhHeight = hh.height, hhItems = hh.items; + + // Section F.3.3 interleave + var width = llWidth + hlWidth; + var height = llHeight + lhHeight; + var items = new Float32Array(width * height); + for (var i = 0, ii = llHeight; i < ii; i++) { + var k = i * llWidth, l = i * 2 * width; + for (var j = 0, jj = llWidth; j < jj; j++, k++, l += 2) + items[l] = llItems[k]; + } + for (var i = 0, ii = hlHeight; i < ii; i++) { + var k = i * hlWidth, l = i * 2 * width + 1; + for (var j = 0, jj = hlWidth; j < jj; j++, k++, l += 2) + items[l] = hlItems[k]; + } + for (var i = 0, ii = lhHeight; i < ii; i++) { + var k = i * lhWidth, l = (i * 2 + 1) * width; + for (var j = 0, jj = lhWidth; j < jj; j++, k++, l += 2) + items[l] = lhItems[k]; + } + for (var i = 0, ii = hhHeight; i < ii; i++) { + var k = i * hhWidth, l = (i * 2 + 1) * width + 1; + for (var j = 0, jj = hhWidth; j < jj; j++, k++, l += 2) + items[l] = hhItems[k]; + } + + var bufferPadding = 4; + var bufferLength = new Float32Array(Math.max(width, height) + + 2 * bufferPadding); + var buffer = new Float32Array(bufferLength); + var bufferOut = new Float32Array(bufferLength); + + // Section F.3.4 HOR_SR + for (var v = 0; v < height; v++) { + if (width == 1) { + // if width = 1, when u0 even keep items as is, when odd divide by 2 + if ((u0 % 1) !== 0) { + items[v * width] /= 2; + } + continue; + } + + var k = v * width; + var l = bufferPadding; + for (var u = 0; u < width; u++, k++, l++) + buffer[l] = items[k]; + + // Section F.3.7 extending... using max extension of 4 + var i1 = bufferPadding - 1, j1 = bufferPadding + 1; + var i2 = bufferPadding + width - 2, j2 = bufferPadding + width; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + + this.filter(buffer, bufferPadding, width, u0, bufferOut); + + k = v * width; + l = bufferPadding; + for (var u = 0; u < width; u++, k++, l++) + items[k] = bufferOut[l]; + } + + // Section F.3.5 VER_SR + for (var u = 0; u < width; u++) { + if (height == 1) { + // if height = 1, when v0 even keep items as is, when odd divide by 2 + if ((v0 % 1) !== 0) { + items[u] /= 2; + } + continue; + } + + var k = u; + var l = bufferPadding; + for (var v = 0; v < height; v++, k += width, l++) + buffer[l] = items[k]; + + // Section F.3.7 extending... using max extension of 4 + var i1 = bufferPadding - 1, j1 = bufferPadding + 1; + var i2 = bufferPadding + height - 2, j2 = bufferPadding + height; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + + this.filter(buffer, bufferPadding, height, v0, bufferOut); + + k = u; + l = bufferPadding; + for (var v = 0; v < height; v++, k += width, l++) + items[k] = bufferOut[l]; + } + return { + width: width, + height: height, + items: items + }; + }; + return Transform; + })(); + + // Section 3.8.2 Irreversible 9-7 filter + var IrreversibleTransform = (function IrreversibleTransformClosure() { + function IrreversibleTransform() { + Transform.call(this); + } + + IrreversibleTransform.prototype = Object.create(Transform.prototype); + IrreversibleTransform.prototype.filter = + function irreversibleTransformFilter(y, offset, length, i0, x) { + var i0_ = Math.floor(i0 / 2); + var i1_ = Math.floor((i0 + length) / 2); + var offset_ = offset - (i0 % 1); + + var alpha = -1.586134342059924; + var beta = -0.052980118572961; + var gamma = 0.882911075530934; + var delta = 0.443506852043971; + var K = 1.230174104914001; + var K_ = 1 / K; + + // step 1 + var j = offset_ - 2; + for (var n = i0_ - 1, nn = i1_ + 2; n < nn; n++, j += 2) + x[j] = K * y[j]; + + // step 2 + var j = offset_ - 3; + for (var n = i0_ - 2, nn = i1_ + 2; n < nn; n++, j += 2) + x[j] = K_ * y[j]; + + // step 3 + var j = offset_ - 2; + for (var n = i0_ - 1, nn = i1_ + 2; n < nn; n++, j += 2) + x[j] -= delta * (x[j - 1] + x[j + 1]); + + // step 4 + var j = offset_ - 1; + for (var n = i0_ - 1, nn = i1_ + 1; n < nn; n++, j += 2) + x[j] -= gamma * (x[j - 1] + x[j + 1]); + + // step 5 + var j = offset_; + for (var n = i0_, nn = i1_ + 1; n < nn; n++, j += 2) + x[j] -= beta * (x[j - 1] + x[j + 1]); + + // step 6 + var j = offset_ + 1; + for (var n = i0_, nn = i1_; n < nn; n++, j += 2) + x[j] -= alpha * (x[j - 1] + x[j + 1]); + }; + + return IrreversibleTransform; + })(); + + // Section 3.8.1 Reversible 5-3 filter + var ReversibleTransform = (function ReversibleTransformClosure() { + function ReversibleTransform() { + Transform.call(this); + } + + ReversibleTransform.prototype = Object.create(Transform.prototype); + ReversibleTransform.prototype.filter = + function reversibleTransformFilter(y, offset, length, i0, x) { + var i0_ = Math.floor(i0 / 2); + var i1_ = Math.floor((i0 + length) / 2); + var offset_ = offset - (i0 % 1); + + for (var n = i0_, nn = i1_ + 1, j = offset_; n < nn; n++, j += 2) + x[j] = y[j] - Math.floor((y[j - 1] + y[j + 1] + 2) / 4); + + for (var n = i0_, nn = i1_, j = offset_ + 1; n < nn; n++, j += 2) + x[j] = y[j] + Math.floor((x[j - 1] + x[j + 1]) / 2); + }; + + return ReversibleTransform; + })(); + + return JpxImage; +})(); + + + +function atob(s) { + var e={},i,k,v=[],r='',w=String.fromCharCode; + var n=[[65,91],[97,123],[48,58],[43,44],[47,48]]; + + for(z in n){for(i=n[z][0];i=8){r+=w((b>>>(l-=8))%256);} + } + } + return r; +} +function atob (data) { + // http://kevin.vanzonneveld.net + // + original by: Tyler Akins (http://rumkin.com) + // + improved by: Thunder.m + // + input by: Aman Gupta + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + bugfixed by: Onno Marsman + // + bugfixed by: Pellentesque Malesuada + // + improved by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // + input by: Brett Zamir (http://brett-zamir.me) + // + bugfixed by: Kevin van Zonneveld (http://kevin.vanzonneveld.net) + // * example 1: base64_decode('S2V2aW4gdmFuIFpvbm5ldmVsZA=='); + // * returns 1: 'Kevin van Zonneveld' + // mozilla has this native + // - but breaks in 2.0.0.12! + //if (typeof this.window['atob'] == 'function') { + // return atob(data); + //} + var b64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; + var o1, o2, o3, h1, h2, h3, h4, bits, i = 0, + ac = 0, + dec = "", + tmp_arr = []; + + if (!data) { + return data; + } + + data += ''; + + do { // unpack four hexets into three octets using index points in b64 + h1 = b64.indexOf(data.charAt(i++)); + h2 = b64.indexOf(data.charAt(i++)); + h3 = b64.indexOf(data.charAt(i++)); + h4 = b64.indexOf(data.charAt(i++)); + + bits = h1 << 18 | h2 << 12 | h3 << 6 | h4; + + o1 = bits >> 16 & 0xff; + o2 = bits >> 8 & 0xff; + o3 = bits & 0xff; + + if (h3 == 64) { + tmp_arr[ac++] = String.fromCharCode(o1); + } else if (h4 == 64) { + tmp_arr[ac++] = String.fromCharCode(o1, o2); + } else { + tmp_arr[ac++] = String.fromCharCode(o1, o2, o3); + } + } while (i < data.length); + + dec = tmp_arr.join(''); + + return dec; +} + + + + + +var jpxData = atob("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"); + + + var input = new Uint8Array(jpxData.length); + for (var i = 0; i < jpxData.length; i++) + input[i] = jpxData.charCodeAt(i); + + var jpxImage = new JpxImage(); + jpxImage.parse(input); + + diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/nested-function-parsing.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/nested-function-parsing.js new file mode 100644 index 0000000000..19f7b0b6a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/nested-function-parsing.js @@ -0,0 +1,21 @@ +//@ skip + +(function() { + var result = 0; + + for (var i = 0; i < 100; ++i) { + var program = "(function f" + i + "() {\n"; + for (var j = 0; j < 1000; ++j) { + program += "function f" + j + "() { return 0 && 1 && 2 && 3 && 4 && 5 && 6 && 7 && 8 && 9 && 10; }\n"; + } + program += "})();\n"; + program += "return 0;\n"; + + result += new Function(program)(); + } + + if (result != 0) { + print("Bad result: " + result); + throw "Error"; + } +})(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/rest-parameter-allocation-elimination.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/rest-parameter-allocation-elimination.js new file mode 100644 index 0000000000..d369e33bd7 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/rest-parameter-allocation-elimination.js @@ -0,0 +1,613 @@ +function assert(b, m = "") { + if (!b) + throw new Error("Bad assertion: " + m); +} +noInline(assert); + +const iterations = 20000; + +function test1() { + function bar(a, b, ...args) { + return args.length; + } + noInline(bar); + for (let i = 0; i < iterations; i++) { + assert(bar() === 0, bar()); + assert(bar(i) === 0); + assert(bar(i, i) === 0); + assert(bar(i, i, i) === 1); + assert(bar(i, i, i, i, i) === 3); + } +} + +function shallowEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a.length !== b.length) + return false; + } + return true; +} +noInline(shallowEq); + +function test2() { + function jaz(a, b, ...args) { + let result = []; + for (let i = 0; i < args.length; i++) { + result.push(args[i]); + } + return result; + } + noInline(jaz); + + function jaz2(...args) { + function kaz(a, b, ...args) { + let result = []; + for (let i = 0; i < args.length; i++) { + result.push(args[i]); + } + return result; + } + return kaz.apply(null, args); + } + noInline(jaz2); + + for (let f of [jaz, jaz2]) { + for (let i = 0; i < iterations; i++) { + let r = f(); + assert(!r.length); + + r = f(i); + assert(!r.length); + + r = f(i, i) + assert(!r.length); + + r = f(i, i, i) + assert(r.length === 1); + assert(shallowEq(r, [i])); + + r = f(i, i, i) + assert(r.length === 1); + assert(shallowEq(r, [i])); + + r = f(i, i, i, i*2, i*4) + assert(r.length === 3); + assert(shallowEq(r, [i, i*2, i*4])); + } + } +} + +function test3() { + function foo(...args) { + return args; + } + function baz(a, b, c, ...args) { + return foo.apply(null, args); + } + function jaz(a, b, c, d, e, f) { + return baz(a, b, c, d, e, f); + } + noInline(jaz); + + for (let i = 0; i < iterations; i++) { + let r = jaz(); + assert(r.length === 3); + assert(shallowEq(r, [undefined, undefined, undefined])); + + r = jaz(i, i); + assert(r.length === 3); + assert(shallowEq(r, [undefined, undefined, undefined])); + + r = jaz(i, i, i); + assert(r.length === 3); + assert(shallowEq(r, [undefined, undefined, undefined])); + + r = jaz(i, i, i, i); + assert(r.length === 3); + assert(shallowEq(r, [i, undefined, undefined])); + + r = jaz(i, i, i, i, i, i); + assert(r.length === 3); + assert(shallowEq(r, [i, i, i])); + } +} + +function test4() { + function baz(...args) { + return args; + } + function jaz(a, b, ...args) { + return baz.apply(null, args); + } + noInline(jaz); + + for (let i = 0; i < iterations; i++) { + let r = jaz(); + assert(r.length === 0); + + r = jaz(i); + assert(r.length === 0); + + r = jaz(i, i); + assert(r.length === 0); + + r = jaz(i, i, i); + assert(r.length === 1); + assert(shallowEq(r, [i])); + + r = jaz(i, i, i, i*10); + assert(r.length === 2); + assert(shallowEq(r, [i, i*10])); + + let o = {}; + r = jaz(i, i, i, i*10, o); + assert(r.length === 3); + assert(shallowEq(r, [i, i*10, o])); + } +} + +function test5() { + function baz(...args) { + return args; + } + noInline(baz); + function jaz(a, b, ...args) { + return baz.apply(null, args); + } + noInline(jaz); + + for (let i = 0; i < iterations; i++) { + let r = jaz(); + assert(r.length === 0); + + r = jaz(i); + assert(r.length === 0); + + r = jaz(i, i); + assert(r.length === 0); + + r = jaz(i, i, i); + assert(r.length === 1); + assert(shallowEq(r, [i])); + + r = jaz(i, i, i, i*10); + assert(r.length === 2); + assert(shallowEq(r, [i, i*10])); + + let o = {}; + r = jaz(i, i, i, i*10, o); + assert(r.length === 3); + assert(shallowEq(r, [i, i*10, o])); + } +} + +function test6() { + "use strict"; + function baz(...args) { + return args; + } + noInline(baz); + function jaz(a, b, ...args) { + return baz.apply(null, args); + } + noInline(jaz); + + for (let i = 0; i < iterations; i++) { + let r = jaz(); + assert(r.length === 0); + + r = jaz(i); + assert(r.length === 0); + + r = jaz(i, i); + assert(r.length === 0); + + r = jaz(i, i, i); + assert(r.length === 1); + assert(shallowEq(r, [i])); + + r = jaz(i, i, i, i*10); + assert(r.length === 2); + assert(shallowEq(r, [i, i*10])); + + let o = {}; + r = jaz(i, i, i, i*10, o); + assert(r.length === 3); + assert(shallowEq(r, [i, i*10, o])); + } +} + +function test7() { + let shouldExit = false; + function baz(...args) { + if (shouldExit) { + OSRExit(); + return [args.length, args[0], args[1], args[2]]; + } + return [args.length, args[0], args[1], args[2]]; + } + function jaz(a, b, ...args) { + return baz.apply(null, args); + } + noInline(jaz); + + function check(i) { + let [length, a, b, c] = jaz(); + assert(length === 0); + assert(a === undefined); + assert(b === undefined); + assert(c === undefined); + + [length, a, b, c] = jaz(i); + assert(length === 0); + assert(a === undefined); + assert(b === undefined); + assert(c === undefined); + + [length, a, b, c] = jaz(i, i); + assert(length === 0); + assert(a === undefined); + assert(b === undefined); + assert(c === undefined); + + [length, a, b, c] = jaz(i, i, i); + assert(length === 1); + assert(a === i, JSON.stringify(a)); + assert(b === undefined); + assert(c === undefined); + + [length, a, b, c] = jaz(i, i, i, i*10); + assert(length === 2); + assert(a === i); + assert(b === i*10); + assert(c === undefined); + + let o = {oooo:20}; + [length, a, b, c] = jaz(i, i, i, i*10, o); + assert(length === 3); + assert(a === i); + assert(b === i*10); + assert(c === o); + } + + shouldExit = true; + for (let i = 0; i < 400; i++) { + check(i); + } + + shouldExit = false; + for (let i = 0; i < iterations; i++) { + check(i); + } + + shouldExit = false; + check(10); +} + +function test8() { + let shouldExit = false; + function baz(...args) { + if (shouldExit) { + OSRExit(); + return args; + } + return args; + } + function jaz(a, b, ...args) { + return baz.apply(null, args); + } + noInline(jaz); + + function check(i) { + let args = jaz(); + assert(args.length === 0); + + args = jaz(i); + assert(args.length === 0); + + args = jaz(i, i); + assert(args.length === 0); + + args = jaz(i, i, i); + assert(args.length === 1); + assert(args[0] === i); + + args = jaz(i, i, i, i*10); + assert(args.length === 2); + assert(args[0] === i); + assert(args[1] === i*10); + + let o = {oooo:20}; + args = jaz(i, i, i, i*10, o); + assert(args.length === 3); + assert(args[0] === i); + assert(args[1] === i*10); + assert(args[2] === o); + } + + shouldExit = true; + for (let i = 0; i < 400; i++) { + check(i); + } + + shouldExit = false; + for (let i = 0; i < iterations; i++) { + check(i); + } + + shouldExit = false; + check(10); +} + +function test9() { + let shouldExit = false; + function baz(a, ...args) { + if (shouldExit) { + OSRExit(); + return [args.length, args[0], args[1]]; + } + return [args.length, args[0], args[1]]; + } + function jaz(...args) { + return baz.apply(null, args); + } + noInline(jaz); + + function check(i) { + let [length, a, b] = jaz(); + assert(length === 0); + + [length, a, b] = jaz(i); + assert(length === 0); + assert(a === undefined); + assert(b === undefined); + + [length, a, b] = jaz(i, i + 1); + assert(length === 1); + assert(a === i+1); + assert(b === undefined); + + [length, a, b] = jaz(i, i+1, i+2); + assert(length === 2); + assert(a === i+1); + assert(b === i+2); + + let o = {oooo:20}; + [length, a, b] = jaz(i, i+1, o); + assert(length === 2); + assert(a === i+1); + assert(b === o); + } + + shouldExit = true; + for (let i = 0; i < 400; i++) { + check(i); + } + + shouldExit = false; + for (let i = 0; i < iterations; i++) { + check(i); + } + + shouldExit = false; + check(10); +} + +function test10() { + function baz(a, b, c, ...args) { + return [args.length, args[0], args[1], args[2], args[3]]; + } + function jaz(a, b, c, d, e, f) { + return baz(a, b, c, d, e, f); + } + noInline(jaz); + + for (let i = 0; i < iterations; i++) { + let [length, a, b, c, d] = jaz(1, 2, 3, 4, 5, 6); + assert(length === 3); + assert(a === 4); + assert(b === 5); + assert(c === 6); + assert(d === undefined); + } +} + +function test11() { + function bar(...args) { + return args; + } + noInline(bar); + + function foo(a, b, c, d, ...args) { + return bar.apply(null, args); + } + noInline(foo); + + function makeArguments(args) { + return [1,2,3,4, ...args]; + } + for (let i = 0; i < iterations; i++) { + function test() { assert(shallowEq(a, foo.apply(null, makeArguments(a)))); } + let a = [{}, 25, 50]; + test(); + + a = []; + test(); + + a = [{foo: 20}]; + test(); + + a = [10, 20, 30, 40, 50, 60, 70, 80]; + test(); + } +} + +function test12() { + "use strict"; + let thisValue = {}; + function getThisValue() { return thisValue; } + noInline(getThisValue); + + function bar(...args) { + assert(this === thisValue); + return args; + } + noInline(bar); + + function foo(a, b, c, d, ...args) { + return bar.apply(getThisValue(), args); + } + noInline(foo); + + function makeArguments(args) { + return [1,2,3,4, ...args]; + } + for (let i = 0; i < iterations; i++) { + function test() { assert(shallowEq(a, foo.apply(null, makeArguments(a)))); } + let a = [{}, 25, 50]; + test(); + + a = []; + test(); + + a = [{foo: 20}]; + test(); + + a = [10, 20, 30, 40, 50, 60, 70, 80]; + test(); + } +} + +function test13() { + "use strict"; + function bar(...args) { + return args; + } + noInline(bar); + + function top(a, b, c, d, ...args) { + return bar.apply(null, args); + } + function foo(...args) { + let r = top.apply(null, args); + return r; + } + noInline(foo); + + function makeArguments(args) { + return [1,2,3,4, ...args]; + } + for (let i = 0; i < iterations; i++) { + function test() { assert(shallowEq(a, foo.apply(null, makeArguments(a)))); } + let a = [{}, 25, 50]; + test(); + + a = []; + test(); + + a = [10, 20, 30, 40, 50, 60, 70, 80]; + test(); + } +} + +function test14() { + "use strict"; + function bar(...args) { + return args; + } + noInline(bar); + + function top(a, b, c, d, ...args) { + return bar.apply(null, args); + } + function foo(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) { + return top(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); + } + noInline(foo); + + function makeArguments(args) { + let r = [1,2,3,4, ...args]; + while (r.length < foo.length) + r.push(undefined); + return r; + } + for (let i = 0; i < iterations; i++) { + function test() + { + let args = makeArguments(a); + assert(shallowEq(args.slice(4), foo.apply(null, args))); + } + + let a = [{}, 25, 50]; + test(); + + a = []; + test(); + + a = [10, 20, 30, 40, 50, 60, 70, 80]; + test(); + } +} + +function test15() { + "use strict"; + function bar(...args) { + return args; + } + noInline(bar); + + function top(a, b, c, d, ...args) { + return bar.apply(null, args); + } + function foo(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17) { + let r = top(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17); + return r; + } + noInline(foo); + + function makeArguments(args) { + let r = [1,2,3,4, ...args]; + while (r.length < foo.length) + r.push(undefined); + return r; + } + for (let i = 0; i < iterations; i++) { + function test() + { + let args = makeArguments(a); + assert(shallowEq(args.slice(4), foo.apply(null, args))); + } + + let a = [{}, 25, 50]; + test(); + + a = []; + test(); + + a = [10, 20, 30, 40, 50, 60, 70, 80]; + test(); + } +} + +let start = Date.now(); +test1(); +test2(); +test3(); +test4(); +test5(); +test6(); +test7(); +test8(); +test9(); +test10(); +test11(); +test12(); +test13(); +test14(); +test15(); +const verbose = false; +if (verbose) + print(Date.now() - start); + diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-large-array.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-large-array.js new file mode 100644 index 0000000000..d6efa52d23 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-large-array.js @@ -0,0 +1,39 @@ +function foo(arg) { + return [...arg]; +} +noInline(foo); + +let arrays = [ ]; +const size = 500; +{ + let arr = []; + for (let i = 0; i < size; i++) { + arr.push(i); + } + arrays.push(arr); +} + +{ + let arr = []; + for (let i = 0; i < size; i++) { + arr.push(i + 0.5); + } + arrays.push(arr); +} + +{ + let arr = []; + for (let i = 0; i < size; i++) { + arr.push({i: i}); + } + arrays.push(arr); +} + +let start = Date.now(); +for (let i = 0; i < 100000; i++) { + let array = arrays[i % arrays.length]; + foo(array); +} +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-small-array.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-small-array.js new file mode 100644 index 0000000000..a68ee6cdbe --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/spread-small-array.js @@ -0,0 +1,19 @@ +function foo(arg) { + return [...arg]; +} +noInline(foo); + +let arrays = [ + [10, 20, 40], + [10.5, 20.5, 40.5], + [20, {}, 8], +]; + +let start = Date.now(); +for (let i = 0; i < 10000000; i++) { + let array = arrays[i % arrays.length]; + foo(array); +} +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/string-add-constant-folding.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/string-add-constant-folding.js new file mode 100644 index 0000000000..6a2039e571 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/string-add-constant-folding.js @@ -0,0 +1,145 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +let tests = []; +function test(f) { + noInline(f); + tests.push(f); +} + +function runTests() { + let start = Date.now(); + for (let f of tests) { + for (let i = 0; i < 40000; i++) + f(); + } + const verbose = false; + if (verbose) + print(Date.now() - start); +} + +function add(a,b) { return a + b; } +noInline(add); + +test(function() { + let a = "foo"; + let b = 20; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = null; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = undefined; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 20.81239012821; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = true; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = false; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = NaN; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = -0; + let b = "foo"; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 0.0; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = Infinity; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = -Infinity; + let b = "foo"; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 1e10; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 1e-10; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 1e5; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 1e-5; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 1e-40; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +test(function() { + let a = "foo"; + let b = 1e40; + assert(a + b === add(a, b)); + assert(b + a === add(b, a)); +}); + +runTests(); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/to-lower-case.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/to-lower-case.js new file mode 100644 index 0000000000..25e633a9ef --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/to-lower-case.js @@ -0,0 +1,36 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + +let tests = [ + ["foo", "foo"], + ["foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"], +]; + +function foo(a) { + return a.toLowerCase(); +} +noInline(foo); + +function bar(a) { + a.toLowerCase(); + assert(true); // side effects + a.toLowerCase(); +} +noInline(bar); + +let start = Date.now(); +for (let i = 0; i < 500000; i++) { + for (let i = 0; i < tests.length; i++) { + let test = tests[i][0]; + let result = tests[i][1]; + assert(foo(test) === result); + bar(test); + } +} + +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/undefined-property-access.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/undefined-property-access.js new file mode 100644 index 0000000000..c9765bc13f --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/undefined-property-access.js @@ -0,0 +1,48 @@ +var someGlobal; + +// This is a simple speed test. It should go fast. + +function foo() { + var myObject = {}; + for (var i = 0; i < 10000000; ++i) { + someGlobal = myObject.undefinedProperty; + } + return someGlobal; +} +result = foo(); +if (result != undefined) + throw new Error("Bad result: " + result); + +// This test checks that a cached property lookup miss doesn't continue to fire when the property suddenly appears on the object. + +function bar() { + var myObject = {}; + for (var i = 0; i < 100000000; ++i) { + someGlobal = myObject.someProperty; + if (i == 50000000) + myObject.someProperty = 1; + } + return someGlobal; +} +var result = bar(); +if (result != 1) + throw new Error("Bad result: " + result); +someGlobal = undefined; + +// This test checks that a cached property lookup miss doesn't continue to fire when the property suddenly appears on the object's prototype. + +function baz() { + var myPrototype = {} + var myObject = {}; + myObject.__proto__ = myPrototype; + for (var i = 0; i < 100000000; ++i) { + someGlobal = myObject.someProperty; + if (i == 50000000) + myPrototype.someProperty = 2; + } + return someGlobal; +} +var result = baz(); +if (result != 2) + throw new Error("Bad result: " + result); + diff --git a/implementation-contributed/javascriptcore/slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js b/implementation-contributed/javascriptcore/slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js new file mode 100644 index 0000000000..00e2963bd0 --- /dev/null +++ b/implementation-contributed/javascriptcore/slowMicrobenchmarks/v8-raytrace-with-try-catch-high-frequency-throws.js @@ -0,0 +1,1101 @@ +// The ray tracer code in this file is written by Adam Burmister. It +// is available in its original form from: +// +// http://labs.flog.nz.co/raytracer/ +// +// It has been modified slightly by Google to work as a standalone +// benchmark, but the all the computational code remains +// untouched. This file also contains a copy of parts of the Prototype +// JavaScript framework which is used by the ray tracer. + +// Variable used to hold a number that can be used to verify that +// the scene was ray traced correctly. +var checkNumber; + + +// ------------------------------------------------------------------------ +// ------------------------------------------------------------------------ + +// The following is a copy of parts of the Prototype JavaScript library: + +// Prototype JavaScript framework, version 1.5.0 +// (c) 2005-2007 Sam Stephenson +// +// Prototype is freely distributable under the terms of an MIT-style license. +// For details, see the Prototype web site: http://prototype.conio.net/ + +let __exceptionCounter = 0; +function randomException() { + __exceptionCounter++; + if (__exceptionCounter % 35 === 0) { + throw new Error("rando"); + } +} +noInline(randomException); + +var Class = { + create: function() { + return function() { + try { + this.initialize.apply(this, arguments); + randomException(); + } catch(e) { } + } + } +}; + + +Object.extend = function(destination, source) { + for (var property in source) { + try { + destination[property] = source[property]; + randomException(); + } catch(e) { } + } + return destination; +}; + + +// ------------------------------------------------------------------------ +// ------------------------------------------------------------------------ + +// The rest of this file is the actual ray tracer written by Adam +// Burmister. It's a concatenation of the following files: +// +// flog/color.js +// flog/light.js +// flog/vector.js +// flog/ray.js +// flog/scene.js +// flog/material/basematerial.js +// flog/material/solid.js +// flog/material/chessboard.js +// flog/shape/baseshape.js +// flog/shape/sphere.js +// flog/shape/plane.js +// flog/intersectioninfo.js +// flog/camera.js +// flog/background.js +// flog/engine.js + + +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Color = Class.create(); + +Flog.RayTracer.Color.prototype = { + red : 0.0, + green : 0.0, + blue : 0.0, + + initialize : function(r, g, b) { + try { + if(!r) r = 0.0; + if(!g) g = 0.0; + if(!b) b = 0.0; + + this.red = r; + this.green = g; + this.blue = b; + randomException(); + } catch(e) { } + }, + + add : function(c1, c2){ + try { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red + c2.red; + result.green = c1.green + c2.green; + result.blue = c1.blue + c2.blue; + + randomException(); + } catch(e) { } + + return result; + }, + + addScalar: function(c1, s){ + try { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red + s; + result.green = c1.green + s; + result.blue = c1.blue + s; + + result.limit(); + + randomException(); + } catch(e) { } + + return result; + }, + + subtract: function(c1, c2){ + try { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red - c2.red; + result.green = c1.green - c2.green; + result.blue = c1.blue - c2.blue; + + randomException(); + } catch(e) { } + + return result; + }, + + multiply : function(c1, c2) { + try { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red * c2.red; + result.green = c1.green * c2.green; + result.blue = c1.blue * c2.blue; + + randomException(); + } catch(e) { } + + return result; + }, + + multiplyScalar : function(c1, f) { + try { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red * f; + result.green = c1.green * f; + result.blue = c1.blue * f; + + randomException(); + } catch(e) { } + + return result; + }, + + divideFactor : function(c1, f) { + try { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red / f; + result.green = c1.green / f; + result.blue = c1.blue / f; + + randomException(); + } catch(e) { } + + return result; + }, + + limit: function(){ + try { + this.red = (this.red > 0.0) ? ( (this.red > 1.0) ? 1.0 : this.red ) : 0.0; + this.green = (this.green > 0.0) ? ( (this.green > 1.0) ? 1.0 : this.green ) : 0.0; + this.blue = (this.blue > 0.0) ? ( (this.blue > 1.0) ? 1.0 : this.blue ) : 0.0; + + randomException(); + } catch(e) { } + }, + + distance : function(color) { + try { + var d = Math.abs(this.red - color.red) + Math.abs(this.green - color.green) + Math.abs(this.blue - color.blue); + randomException(); + } catch(e) { } + return d; + }, + + blend: function(c1, c2, w){ + try { + var result = new Flog.RayTracer.Color(0,0,0); + result = Flog.RayTracer.Color.prototype.add( + Flog.RayTracer.Color.prototype.multiplyScalar(c1, 1 - w), + Flog.RayTracer.Color.prototype.multiplyScalar(c2, w) + ); + randomException(); + } catch(e) { } + return result; + }, + + brightness : function() { + try { + var r = Math.floor(this.red*255); + var g = Math.floor(this.green*255); + var b = Math.floor(this.blue*255); + randomException(); + } catch(e) { } + return (r * 77 + g * 150 + b * 29) >> 8; + }, + + toString : function () { + try { + var r = Math.floor(this.red*255); + var g = Math.floor(this.green*255); + var b = Math.floor(this.blue*255); + randomException(); + } catch(e) { } + + return "rgb("+ r +","+ g +","+ b +")"; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Light = Class.create(); + +Flog.RayTracer.Light.prototype = { + position: null, + color: null, + intensity: 10.0, + + initialize : function(pos, color, intensity) { + try { + this.position = pos; + this.color = color; + this.intensity = (intensity ? intensity : 10.0); + + randomException(); + } catch(e) { } + }, + + toString : function () { + try { + var result = 'Light [' + this.position.x + ',' + this.position.y + ',' + this.position.z + ']'; + randomException(); + } catch(e) { } + return result; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Vector = Class.create(); + +Flog.RayTracer.Vector.prototype = { + x : 0.0, + y : 0.0, + z : 0.0, + + initialize : function(x, y, z) { + try { + this.x = (x ? x : 0); + this.y = (y ? y : 0); + this.z = (z ? z : 0); + randomException(); + } catch(e) { } + }, + + copy: function(vector){ + try { + this.x = vector.x; + this.y = vector.y; + this.z = vector.z; + randomException(); + } catch(e) { } + }, + + normalize : function() { + try { + var m = this.magnitude(); + var result = new Flog.RayTracer.Vector(this.x / m, this.y / m, this.z / m); + randomException(); + } catch(e) { } + return result; + }, + + magnitude : function() { + try { + return Math.sqrt((this.x * this.x) + (this.y * this.y) + (this.z * this.z)); + } catch(e) { } + }, + + cross : function(w) { + try { + return new Flog.RayTracer.Vector( + -this.z * w.y + this.y * w.z, + this.z * w.x - this.x * w.z, + -this.y * w.x + this.x * w.y); + } catch(e) { } + }, + + dot : function(w) { + try { + return this.x * w.x + this.y * w.y + this.z * w.z; + } catch(e) { } + }, + + add : function(v, w) { + try { + return new Flog.RayTracer.Vector(w.x + v.x, w.y + v.y, w.z + v.z); + } catch(e) { } + }, + + subtract : function(v, w) { + try { + if(!w || !v) throw 'Vectors must be defined [' + v + ',' + w + ']'; + return new Flog.RayTracer.Vector(v.x - w.x, v.y - w.y, v.z - w.z); + } catch(e) { } + }, + + multiplyVector : function(v, w) { + try { + return new Flog.RayTracer.Vector(v.x * w.x, v.y * w.y, v.z * w.z); + } catch(e) { } + }, + + multiplyScalar : function(v, w) { + try { + return new Flog.RayTracer.Vector(v.x * w, v.y * w, v.z * w); + } catch(e) { } + }, + + toString : function () { + try { + return 'Vector [' + this.x + ',' + this.y + ',' + this.z + ']'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Ray = Class.create(); + +Flog.RayTracer.Ray.prototype = { + position : null, + direction : null, + initialize : function(pos, dir) { + try { + this.position = pos; + this.direction = dir; + randomException(); + } catch(e) { } + }, + + toString : function () { + try { + return 'Ray [' + this.position + ',' + this.direction + ']'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Scene = Class.create(); + +Flog.RayTracer.Scene.prototype = { + camera : null, + shapes : [], + lights : [], + background : null, + + initialize : function() { + try { + this.camera = new Flog.RayTracer.Camera( + new Flog.RayTracer.Vector(0,0,-5), + new Flog.RayTracer.Vector(0,0,1), + new Flog.RayTracer.Vector(0,1,0) + ); + this.shapes = new Array(); + this.lights = new Array(); + this.background = new Flog.RayTracer.Background(new Flog.RayTracer.Color(0,0,0.5), 0.2); + + randomException(); + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Material) == 'undefined') Flog.RayTracer.Material = {}; + +Flog.RayTracer.Material.BaseMaterial = Class.create(); + +Flog.RayTracer.Material.BaseMaterial.prototype = { + + gloss: 2.0, // [0...infinity] 0 = matt + transparency: 0.0, // 0=opaque + reflection: 0.0, // [0...infinity] 0 = no reflection + refraction: 0.50, + hasTexture: false, + + initialize : function() { + + }, + + getColor: function(u, v){ + + }, + + wrapUp: function(t){ + try { + t = t % 2.0; + if(t < -1) t += 2.0; + if(t >= 1) t -= 2.0; + randomException(); + } catch(e) { } + return t; + }, + + toString : function () { + try { + return 'Material [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Material.Solid = Class.create(); + +Flog.RayTracer.Material.Solid.prototype = Object.extend( + new Flog.RayTracer.Material.BaseMaterial(), { + initialize : function(color, reflection, refraction, transparency, gloss) { + try { + this.color = color; + this.reflection = reflection; + this.transparency = transparency; + this.gloss = gloss; + this.hasTexture = false; + randomException(); + } catch(e) { } + }, + + getColor: function(u, v){ + try { + return this.color; + } catch(e) { } + }, + + toString : function () { + try { + return 'SolidMaterial [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } catch(e) { } + } + } + ); +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Material.Chessboard = Class.create(); + +Flog.RayTracer.Material.Chessboard.prototype = Object.extend( + new Flog.RayTracer.Material.BaseMaterial(), { + colorEven: null, + colorOdd: null, + density: 0.5, + + initialize : function(colorEven, colorOdd, reflection, transparency, gloss, density) { + try { + this.colorEven = colorEven; + this.colorOdd = colorOdd; + this.reflection = reflection; + this.transparency = transparency; + this.gloss = gloss; + this.density = density; + this.hasTexture = true; + randomException(); + } catch(e) { } + }, + + getColor: function(u, v){ + try { + var t = this.wrapUp(u * this.density) * this.wrapUp(v * this.density); + randomException(); + } catch(e) { } + + if(t < 0.0) + return this.colorEven; + else + return this.colorOdd; + }, + + toString : function () { + try { + return 'ChessMaterial [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } catch(e) { } + } + } +); +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Shape) == 'undefined') Flog.RayTracer.Shape = {}; + +Flog.RayTracer.Shape.Sphere = Class.create(); + +Flog.RayTracer.Shape.Sphere.prototype = { + initialize : function(pos, radius, material) { + try { + this.radius = radius; + this.position = pos; + this.material = material; + + randomException(); + } catch(e) { } + }, + + intersect: function(ray){ + try { + var info = new Flog.RayTracer.IntersectionInfo(); + info.shape = this; + + var dst = Flog.RayTracer.Vector.prototype.subtract(ray.position, this.position); + + var B = dst.dot(ray.direction); + var C = dst.dot(dst) - (this.radius * this.radius); + var D = (B * B) - C; + + if(D > 0){ // intersection! + info.isHit = true; + info.distance = (-B) - Math.sqrt(D); + info.position = Flog.RayTracer.Vector.prototype.add( + ray.position, + Flog.RayTracer.Vector.prototype.multiplyScalar( + ray.direction, + info.distance + ) + ); + info.normal = Flog.RayTracer.Vector.prototype.subtract( + info.position, + this.position + ).normalize(); + + info.color = this.material.getColor(0,0); + } else { + info.isHit = false; + } + + randomException(); + } catch(e) { } + return info; + }, + + toString : function () { + try { + return 'Sphere [position=' + this.position + ', radius=' + this.radius + ']'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Shape) == 'undefined') Flog.RayTracer.Shape = {}; + +Flog.RayTracer.Shape.Plane = Class.create(); + +Flog.RayTracer.Shape.Plane.prototype = { + d: 0.0, + + initialize : function(pos, d, material) { + try { + this.position = pos; + this.d = d; + this.material = material; + randomException(); + } catch(e) { } + }, + + intersect: function(ray){ + try { + var info = new Flog.RayTracer.IntersectionInfo(); + + var Vd = this.position.dot(ray.direction); + if(Vd == 0) return info; // no intersection + + var t = -(this.position.dot(ray.position) + this.d) / Vd; + if(t <= 0) return info; + + info.shape = this; + info.isHit = true; + info.position = Flog.RayTracer.Vector.prototype.add( + ray.position, + Flog.RayTracer.Vector.prototype.multiplyScalar( + ray.direction, + t + ) + ); + info.normal = this.position; + info.distance = t; + + if(this.material.hasTexture){ + var vU = new Flog.RayTracer.Vector(this.position.y, this.position.z, -this.position.x); + var vV = vU.cross(this.position); + var u = info.position.dot(vU); + var v = info.position.dot(vV); + info.color = this.material.getColor(u,v); + } else { + info.color = this.material.getColor(0,0); + } + + randomException(); + } catch(e) { } + return info; + }, + + toString : function () { + try { + return 'Plane [' + this.position + ', d=' + this.d + ']'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.IntersectionInfo = Class.create(); + +Flog.RayTracer.IntersectionInfo.prototype = { + isHit: false, + hitCount: 0, + shape: null, + position: null, + normal: null, + color: null, + distance: null, + + initialize : function() { + try { + this.color = new Flog.RayTracer.Color(0,0,0); + randomException(); + } catch(e) { } + }, + + toString : function () { + try { + return 'Intersection [' + this.position + ']'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Camera = Class.create(); + +Flog.RayTracer.Camera.prototype = { + position: null, + lookAt: null, + equator: null, + up: null, + screen: null, + + initialize : function(pos, lookAt, up) { + try { + this.position = pos; + this.lookAt = lookAt; + this.up = up; + this.equator = lookAt.normalize().cross(this.up); + this.screen = Flog.RayTracer.Vector.prototype.add(this.position, this.lookAt); + randomException(); + } catch(e) { } + }, + + getRay: function(vx, vy){ + try { + var pos = Flog.RayTracer.Vector.prototype.subtract( + this.screen, + Flog.RayTracer.Vector.prototype.subtract( + Flog.RayTracer.Vector.prototype.multiplyScalar(this.equator, vx), + Flog.RayTracer.Vector.prototype.multiplyScalar(this.up, vy) + ) + ); + pos.y = pos.y * -1; + var dir = Flog.RayTracer.Vector.prototype.subtract( + pos, + this.position + ); + + var ray = new Flog.RayTracer.Ray(pos, dir.normalize()); + + randomException(); + } catch(e) { } + return ray; + }, + + toString : function () { + try { + return 'Ray []'; + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Background = Class.create(); + +Flog.RayTracer.Background.prototype = { + color : null, + ambience : 0.0, + + initialize : function(color, ambience) { + try { + this.color = color; + this.ambience = ambience; + randomException(); + } catch(e) { } + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Engine = Class.create(); + +Flog.RayTracer.Engine.prototype = { + canvas: null, /* 2d context we can render to */ + + initialize: function(options){ + try { + this.options = Object.extend({ + canvasHeight: 100, + canvasWidth: 100, + pixelWidth: 2, + pixelHeight: 2, + renderDiffuse: false, + renderShadows: false, + renderHighlights: false, + renderReflections: false, + rayDepth: 2 + }, options || {}); + + this.options.canvasHeight /= this.options.pixelHeight; + this.options.canvasWidth /= this.options.pixelWidth; + + randomException(); + } catch(e) { } + + /* TODO: dynamically include other scripts */ + }, + + setPixel: function(x, y, color){ + try { + var pxW, pxH; + pxW = this.options.pixelWidth; + pxH = this.options.pixelHeight; + + if (this.canvas) { + this.canvas.fillStyle = color.toString(); + this.canvas.fillRect (x * pxW, y * pxH, pxW, pxH); + } else { + if (x === y) { + checkNumber += color.brightness(); + } + // print(x * pxW, y * pxH, pxW, pxH); + } + + randomException(); + } catch(e) { } + }, + + renderScene: function(scene, canvas){ + try { + checkNumber = 0; + /* Get canvas */ + if (canvas) { + this.canvas = canvas.getContext("2d"); + } else { + this.canvas = null; + } + + var canvasHeight = this.options.canvasHeight; + var canvasWidth = this.options.canvasWidth; + + for(var y=0; y < canvasHeight; y++){ + for(var x=0; x < canvasWidth; x++){ + try { + var yp = y * 1.0 / canvasHeight * 2 - 1; + var xp = x * 1.0 / canvasWidth * 2 - 1; + + var ray = scene.camera.getRay(xp, yp); + + var color = this.getPixelColor(ray, scene); + + this.setPixel(x, y, color); + + randomException(); + } catch(e) { } + } + } + } catch(e) { } + if (checkNumber !== 2321) { + throw new Error("Scene rendered incorrectly"); + } + }, + + getPixelColor: function(ray, scene){ + try { + var info = this.testIntersection(ray, scene, null); + if(info.isHit){ + var color = this.rayTrace(info, ray, scene, 0); + return color; + } + return scene.background.color; + } catch(e) { } + }, + + testIntersection: function(ray, scene, exclude){ + try { + var hits = 0; + var best = new Flog.RayTracer.IntersectionInfo(); + best.distance = 2000; + + for(var i=0; i= 0 && info.distance < best.distance){ + best = info; + hits++; + } + } + + randomException(); + } catch(e) { } + } + best.hitCount = hits; + + randomException(); + } catch(e) { } + return best; + }, + + getReflectionRay: function(P,N,V){ + try { + var c1 = -N.dot(V); + var R1 = Flog.RayTracer.Vector.prototype.add( + Flog.RayTracer.Vector.prototype.multiplyScalar(N, 2*c1), + V + ); + + randomException(); + } catch(e) { } + return new Flog.RayTracer.Ray(P, R1); + }, + + rayTrace: function(info, ray, scene, depth){ + // Calc ambient + try { + var color = Flog.RayTracer.Color.prototype.multiplyScalar(info.color, scene.background.ambience); + var oldColor = color; + var shininess = Math.pow(10, info.shape.material.gloss + 1); + + for(var i=0; i 0.0){ + color = Flog.RayTracer.Color.prototype.add( + color, + Flog.RayTracer.Color.prototype.multiply( + info.color, + Flog.RayTracer.Color.prototype.multiplyScalar( + light.color, + L + ) + ) + ); + } + } + + randomException(); + } catch(e) { } + + try { + // The greater the depth the more accurate the colours, but + // this is exponentially (!) expensive + if(depth <= this.options.rayDepth){ + // calculate reflection ray + if(this.options.renderReflections && info.shape.material.reflection > 0) + { + var reflectionRay = this.getReflectionRay(info.position, info.normal, ray.direction); + var refl = this.testIntersection(reflectionRay, scene, info.shape); + + if (refl.isHit && refl.distance > 0){ + refl.color = this.rayTrace(refl, reflectionRay, scene, depth + 1); + } else { + refl.color = scene.background.color; + } + + color = Flog.RayTracer.Color.prototype.blend( + color, + refl.color, + info.shape.material.reflection + ); + } + + // Refraction + /* TODO */ + } + randomException(); + } catch(e) { } + + /* Render shadows and highlights */ + + var shadowInfo = new Flog.RayTracer.IntersectionInfo(); + + if(this.options.renderShadows){ + var shadowRay = new Flog.RayTracer.Ray(info.position, v); + + shadowInfo = this.testIntersection(shadowRay, scene, info.shape); + if(shadowInfo.isHit && shadowInfo.shape != info.shape /*&& shadowInfo.shape.type != 'PLANE'*/){ + var vA = Flog.RayTracer.Color.prototype.multiplyScalar(color, 0.5); + var dB = (0.5 * Math.pow(shadowInfo.shape.material.transparency, 0.5)); + color = Flog.RayTracer.Color.prototype.addScalar(vA,dB); + } + } + + try { + // Phong specular highlights + if(this.options.renderHighlights && !shadowInfo.isHit && info.shape.material.gloss > 0){ + var Lv = Flog.RayTracer.Vector.prototype.subtract( + info.shape.position, + light.position + ).normalize(); + + var E = Flog.RayTracer.Vector.prototype.subtract( + scene.camera.position, + info.shape.position + ).normalize(); + + var H = Flog.RayTracer.Vector.prototype.subtract( + E, + Lv + ).normalize(); + + var glossWeight = Math.pow(Math.max(info.normal.dot(H), 0), shininess); + color = Flog.RayTracer.Color.prototype.add( + Flog.RayTracer.Color.prototype.multiplyScalar(light.color, glossWeight), + color + ); + } + randomException(); + } catch(e) { } + } + color.limit(); + + randomException(); + } catch(e) { } + return color; + } +}; + + +function renderScene(){ + try { + var scene = new Flog.RayTracer.Scene(); + + scene.camera = new Flog.RayTracer.Camera( + new Flog.RayTracer.Vector(0, 0, -15), + new Flog.RayTracer.Vector(-0.2, 0, 5), + new Flog.RayTracer.Vector(0, 1, 0) + ); + + scene.background = new Flog.RayTracer.Background( + new Flog.RayTracer.Color(0.5, 0.5, 0.5), + 0.4 + ); + + var sphere = new Flog.RayTracer.Shape.Sphere( + new Flog.RayTracer.Vector(-1.5, 1.5, 2), + 1.5, + new Flog.RayTracer.Material.Solid( + new Flog.RayTracer.Color(0,0.5,0.5), + 0.3, + 0.0, + 0.0, + 2.0 + ) + ); + + var sphere1 = new Flog.RayTracer.Shape.Sphere( + new Flog.RayTracer.Vector(1, 0.25, 1), + 0.5, + new Flog.RayTracer.Material.Solid( + new Flog.RayTracer.Color(0.9,0.9,0.9), + 0.1, + 0.0, + 0.0, + 1.5 + ) + ); + + var plane = new Flog.RayTracer.Shape.Plane( + new Flog.RayTracer.Vector(0.1, 0.9, -0.5).normalize(), + 1.2, + new Flog.RayTracer.Material.Chessboard( + new Flog.RayTracer.Color(1,1,1), + new Flog.RayTracer.Color(0,0,0), + 0.2, + 0.0, + 1.0, + 0.7 + ) + ); + + scene.shapes.push(plane); + scene.shapes.push(sphere); + scene.shapes.push(sphere1); + + var light = new Flog.RayTracer.Light( + new Flog.RayTracer.Vector(5, 10, -1), + new Flog.RayTracer.Color(0.8, 0.8, 0.8) + ); + + var light1 = new Flog.RayTracer.Light( + new Flog.RayTracer.Vector(-3, 5, -15), + new Flog.RayTracer.Color(0.8, 0.8, 0.8), + 100 + ); + + scene.lights.push(light); + scene.lights.push(light1); + + var imageWidth = 100; // $F('imageWidth'); + var imageHeight = 100; // $F('imageHeight'); + var pixelSize = "5,5".split(','); // $F('pixelSize').split(','); + var renderDiffuse = true; // $F('renderDiffuse'); + var renderShadows = true; // $F('renderShadows'); + var renderHighlights = true; // $F('renderHighlights'); + var renderReflections = true; // $F('renderReflections'); + var rayDepth = 2;//$F('rayDepth'); + + var raytracer = new Flog.RayTracer.Engine( + { + canvasWidth: imageWidth, + canvasHeight: imageHeight, + pixelWidth: pixelSize[0], + pixelHeight: pixelSize[1], + "renderDiffuse": renderDiffuse, + "renderHighlights": renderHighlights, + "renderShadows": renderShadows, + "renderReflections": renderReflections, + "rayDepth": rayDepth + } + ); + + raytracer.renderScene(scene, null, 0); + randomException(); + } catch(e) { } +} + +for (var i = 0; i < 6; ++i) + renderScene(); diff --git a/implementation-contributed/javascriptcore/stress/IIFE-es6-default-parameters.js b/implementation-contributed/javascriptcore/stress/IIFE-es6-default-parameters.js new file mode 100644 index 0000000000..113bd76f78 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/IIFE-es6-default-parameters.js @@ -0,0 +1,35 @@ + +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +for (var i = 0; i < 1000; i++) { + + ;(function foo(x = 20) { + assert(typeof foo === "function"); + })(); + + ;(function foo(x = 20) { + function bar() { return foo; } + assert(typeof foo === "function"); + })(); + + ;(function foo(x = foo) { + var foo = 20; + assert(foo === 20); + assert(typeof x === "function"); + })(); + + ;(function foo(capFoo = function() { return foo; }) { + var foo = 20; + assert(foo === 20); + assert(typeof capFoo() === "function"); + })(); + + ;(function foo(x = eval("foo")) { + var foo = 20; + assert(foo === 20); + assert(typeof x === "function"); + })(); +} diff --git a/implementation-contributed/javascriptcore/stress/IIFE-function-name-captured.js b/implementation-contributed/javascriptcore/stress/IIFE-function-name-captured.js new file mode 100644 index 0000000000..9b0722c206 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/IIFE-function-name-captured.js @@ -0,0 +1,38 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +for (var i = 0; i < 1000; i++) { + ;(function foo() { + foo = 20; + assert(foo !== 20); + assert(typeof foo === "function"); + })(); + + ;(function foo() { + var bar = function() { return foo; } + foo = 20; + assert(foo !== 20); + assert(bar() !== 20); + assert(typeof foo === "function"); + assert(typeof bar() === "function"); + })(); + + ;(function foo() { + eval("foo = 20;"); + assert(foo !== 20); + assert(typeof foo === "function"); + })(); + + ;(function foo() { + eval("var foo = 20;"); + assert(foo === 20); + })(); + + ;(function foo() { + "use strict"; + assert(foo !== 20); + assert(typeof foo === "function"); + })(); +} diff --git a/implementation-contributed/javascriptcore/stress/JSON-parse-should-cache-array-lengths.js b/implementation-contributed/javascriptcore/stress/JSON-parse-should-cache-array-lengths.js new file mode 100644 index 0000000000..d04163dbee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/JSON-parse-should-cache-array-lengths.js @@ -0,0 +1,100 @@ +// This test should not hang, and should call the reviver function the expected number of times. + +function shouldBe(actualExpr, expectedExpr) { + function toString(x) { + return "" + x; + } + + let actual = eval(actualExpr); + let expected = eval(expectedExpr); + if (typeof actual != typeof expected) + throw Error("expected type " + typeof expected + " actual type " + typeof actual); + if (toString(actual) != toString(expected)) + throw Error("expected: " + expected + " actual: " + actual); +} + +let result; +let visited; + +function test(parseString, clearLength) { + visited = []; + var result = JSON.parse(parseString, function (key, value) { + visited.push('{' + key + ':' + value + '}'); + if (clearLength) + this.length = 0; + return; // returning undefined deletes the value. + }); + return result; +} + +result = test('[10]', false); +shouldBe("result", "undefined"); +shouldBe("visited", "['{0:10}','{:}']"); +shouldBe("visited.length", "2"); + +result = test('[10]', true); +shouldBe("result", "undefined"); +shouldBe("visited", "['{0:10}','{:}']"); +shouldBe("visited.length", "2"); + +result = test('[ [ 10, 11 ], 12, [13, 14, 15], 16, 17]', false); +shouldBe("result", "undefined"); +shouldBe("visited", "['{0:10}','{1:11}','{0:,}','{1:12}','{0:13}','{1:14}','{2:15}','{2:,,}','{3:16}','{4:17}','{:,,,,}']"); +shouldBe("visited.length", "11"); + +result = test('[ [ 10, 11 ], 12, [13, 14, 15], 16, 17]', true); +shouldBe("result", "undefined"); +shouldBe("visited", "['{0:10}','{1:undefined}','{0:}','{1:undefined}','{2:undefined}','{3:undefined}','{4:undefined}','{:}']"); +shouldBe("visited.length", "8"); + +result = test('[ { "a": [ 10, 11 ], "b": 12 } , [ 13, { "c": 14 }, 15], 16, 17]', false); +shouldBe("result", "undefined"); +shouldBe("visited", "['{0:10}','{1:11}','{a:,}','{b:12}','{0:[object Object]}','{0:13}','{c:14}','{1:[object Object]}','{2:15}','{1:,,}','{2:16}','{3:17}','{:,,,}']"); +shouldBe("visited.length", "13"); + +result = test('[ { "a": [ 10, 11 ], "b": 12 } , [ 13, { "c": 14 }, 15], 16, 17]', true); +shouldBe("result", "undefined"); +shouldBe("visited", "['{0:10}','{1:undefined}','{a:}','{b:12}','{0:[object Object]}','{1:undefined}','{2:undefined}','{3:undefined}','{:}']"); +shouldBe("visited.length", "9"); + + +function test2(parseString, clearLength) { + visited = []; + var result = JSON.parse(parseString, function (key, value) { + visited.push('{' + key + ':' + value + '}'); + if (clearLength) + this.length = 0; + return (typeof value === "number") ? value * 2 : value; + }); + return result; +} + +result = test2('[10]', false); +shouldBe("result", "[20]"); +shouldBe("visited", "['{0:10}','{:20}']"); +shouldBe("visited.length", "2"); + +result = test2('[10]', true); +shouldBe("result", "[20]"); +shouldBe("visited", "['{0:10}','{:20}']"); +shouldBe("visited.length", "2"); + +result = test2('[ [ 10, 11 ], 12, [13, 14, 15], 16, 17]', false); +shouldBe("result", "[20,22,24,26,28,30,32,34]"); +shouldBe("visited", "['{0:10}','{1:11}','{0:20,22}','{1:12}','{0:13}','{1:14}','{2:15}','{2:26,28,30}','{3:16}','{4:17}','{:20,22,24,26,28,30,32,34}']"); +shouldBe("visited.length", "11"); + +result = test2('[ [ 10, 11 ], 12, [13, 14, 15], 16, 17]', true); +shouldBe("result", "[]"); +shouldBe("visited", "['{0:10}','{1:undefined}','{0:}','{1:undefined}','{2:undefined}','{3:undefined}','{4:undefined}','{:}']"); +shouldBe("visited.length", "8"); + +result = test2('[ { "a": [ 10, 11 ], "b": 12 } , [ 13, { "c": 14 }, 15], 16, 17]', false); +shouldBe("result", "['[object Object]',26,'[object Object]',30,32,34]"); +shouldBe("visited", "['{0:10}','{1:11}','{a:20,22}','{b:12}','{0:[object Object]}','{0:13}','{c:14}','{1:[object Object]}','{2:15}','{1:26,[object Object],30}','{2:16}','{3:17}','{:[object Object],26,[object Object],30,32,34}']"); +shouldBe("visited.length", "13"); + +result = test2('[ { "a": [ 10, 11 ], "b": 12 } , [ 13, { "c": 14 }, 15], 16, 17]', true); +shouldBe("result", "[]"); +shouldBe("visited", "['{0:10}','{1:undefined}','{a:}','{b:12}','{0:[object Object]}','{1:undefined}','{2:undefined}','{3:undefined}','{:}']"); +shouldBe("visited.length", "9"); diff --git a/implementation-contributed/javascriptcore/stress/Number-isNaN-basics.js b/implementation-contributed/javascriptcore/stress/Number-isNaN-basics.js new file mode 100644 index 0000000000..77abe201fc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/Number-isNaN-basics.js @@ -0,0 +1,221 @@ +function numberIsNaNOnInteger(value) +{ + return Number.isNaN(value); +} +noInline(numberIsNaNOnInteger); + +// *** Test simple cases on integers. *** +function testNumberIsNaNOnIntegers() +{ + // Bounds. + var value = numberIsNaNOnInteger(0); + if (value) + throw "numberIsNaNOnInteger(0) = " + value; + + var value = numberIsNaNOnInteger(-2147483648); + if (value) + throw "numberIsNaNOnInteger(-2147483648) = " + value; + + var value = numberIsNaNOnInteger(2147483647); + if (value) + throw "numberIsNaNOnInteger(2147483647) = " + value; + + // Simple values. + var value = numberIsNaNOnInteger(-1); + if (value) + throw "numberIsNaNOnInteger(-1) = " + value; + + var value = numberIsNaNOnInteger(42); + if (value) + throw "numberIsNaNOnInteger(42) = " + value; + + var value = numberIsNaNOnInteger(-42); + if (value) + throw "numberIsNaNOnInteger(-42) = " + value; +} +noInline(testNumberIsNaNOnIntegers); + +for (var i = 0; i < 1e4; ++i) { + testNumberIsNaNOnIntegers(); +} + +// Make sure we don't do anything stupid when the type is unexpected. +function verifyNumberIsNaNOnIntegerWithOtherTypes() +{ + var value = numberIsNaNOnInteger(Math.PI); + if (value) + throw "numberIsNaNOnInteger(Math.PI) = " + value; + + var value = numberIsNaNOnInteger("42"); + if (value) + throw "numberIsNaNOnInteger(\"42\") = " + value; + + var value = numberIsNaNOnInteger("WebKit"); + if (value) + throw "numberIsNaNOnInteger(\"WebKit\") = " + value; + + var value = numberIsNaNOnInteger(-0); + if (value) + throw "numberIsNaNOnInteger(-0) = " + value; +} +noInline(verifyNumberIsNaNOnIntegerWithOtherTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyNumberIsNaNOnIntegerWithOtherTypes(); +} + + +// *** Test simple cases on doubles. *** +function numberIsNaNOnDouble(value) +{ + return Number.isNaN(value); +} +noInline(numberIsNaNOnDouble); + +// Test simple cases on doubles. +function testNumberIsNaNOnDoubles() +{ + var value = numberIsNaNOnDouble(Math.PI); + if (value) + throw "numberIsNaNOnDouble(Math.PI) = " + value; + + var value = numberIsNaNOnDouble(Math.E); + if (value) + throw "numberIsNaNOnDouble(Math.E) = " + value; + + var value = numberIsNaNOnDouble(Math.LN2); + if (value) + throw "numberIsNaNOnDouble(Math.LN2) = " + value; + + var value = numberIsNaNOnDouble(-0); + if (value) + throw "numberIsNaNOnDouble(-0) = " + value; + + var value = numberIsNaNOnDouble(NaN); + if (!value) + throw "numberIsNaNOnDouble(NaN) = " + value; + + var value = numberIsNaNOnDouble(Number.POSITIVE_INFINITY); + if (value) + throw "numberIsNaNOnDouble(Number.POSITIVE_INFINITY) = " + value; + + var value = numberIsNaNOnDouble(Number.NEGATIVE_INFINITY); + if (value) + throw "numberIsNaNOnDouble(Number.NEGATIVE_INFINITY) = " + value; +} +noInline(testNumberIsNaNOnDoubles); + +for (var i = 0; i < 1e4; ++i) { + testNumberIsNaNOnDoubles(); +} + +// Make sure we don't do anything stupid when the type is unexpected. +function verifyNumberIsNaNOnDoublesWithOtherTypes() +{ + var value = numberIsNaNOnDouble(1); + if (value) + throw "numberIsNaNOnDouble(1) = " + value; + + var value = numberIsNaNOnDouble("42"); + if (value) + throw "numberIsNaNOnDouble(\"42\") = " + value; + + var value = numberIsNaNOnDouble("WebKit"); + if (value) + throw "numberIsNaNOnDouble(\"WebKit\") = " + value; + + var value = numberIsNaNOnDouble({}); + if (value) + throw "numberIsNaNOnDouble({}) = " + value; +} +noInline(verifyNumberIsNaNOnDoublesWithOtherTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyNumberIsNaNOnDoublesWithOtherTypes(); +} + + +// *** Unusual arguments. *** +function numberIsNaNNoArguments() +{ + return Number.isNaN(); +} +noInline(numberIsNaNNoArguments); + +function numberIsNaNTooManyArguments(a, b, c) +{ + return Number.isNaN(a, b, c); +} +noInline(numberIsNaNTooManyArguments); + + +for (var i = 0; i < 1e4; ++i) { + var value = numberIsNaNNoArguments(); + if (value) + throw "numberIsNaNNoArguments() = " + value; + + value = numberIsNaNTooManyArguments(2, 3, 5); + if (value) + throw "numberIsNaNTooManyArguments() = " + value; +} + + +// *** Constant as arguments. *** +function testNumberIsNaNOnConstants() +{ + var value = Number.isNaN(0); + if (value) + throw "Number.isNaN(0) = " + value; + var value = Number.isNaN(-0); + if (value) + throw "Number.isNaN(-0) = " + value; + var value = Number.isNaN(1); + if (value) + throw "Number.isNaN(1) = " + value; + var value = Number.isNaN(-1); + if (value) + throw "Number.isNaN(-1) = " + value; + var value = Number.isNaN(42); + if (value) + throw "Number.isNaN(42) = " + value; + var value = Number.isNaN(-42); + if (value) + throw "Number.isNaN(-42) = " + value; + var value = Number.isNaN(Number.POSITIVE_INFINITY); + if (value) + throw "Number.isNaN(Number.POSITIVE_INFINITY) = " + value; + var value = Number.isNaN(Number.NEGATIVE_INFINITY); + if (value) + throw "Number.isNaN(Number.NEGATIVE_INFINITY) = " + value; + var value = Number.isNaN(Math.E); + if (value) + throw "Number.isNaN(Math.E) = " + value; + var value = Number.isNaN(NaN); + if (!value) + throw "Number.isNaN(NaN) = " + value; +} +noInline(testNumberIsNaNOnConstants); + +for (var i = 0; i < 1e4; ++i) { + testNumberIsNaNOnConstants(); +} + + +// *** Struct transition. *** +function numberIsNaNStructTransition(value) +{ + return Number.isNaN(value); +} +noInline(numberIsNaNStructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = numberIsNaNStructTransition(42); + if (value) + throw "numberIsNaNStructTransition(42) = " + value; +} + +Number.isNaN = function() { return 123; } + +var value = numberIsNaNStructTransition(42); +if (value !== 123) + throw "numberIsNaNStructTransition(42) after transition = " + value; diff --git a/implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js b/implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js new file mode 100644 index 0000000000..1d09086dab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors-proxy.js @@ -0,0 +1,113 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ''; + else + msg = ' for ' + msg; + if (actual !== expected) + throw new Error('bad value' + msg + ': ' + actual + '. Expected ' + expected); +} + +function shouldBeDataProperty(expected, value, name) { + if (name === void 0) + name = ''; + shouldBe(value, expected.value, name + '.value'); + shouldBe(true, expected.enumerable, name + '.enumerable'); + shouldBe(true, expected.configurable, name + '.configurable'); + shouldBe(true, expected.writable, name + '.writable'); + shouldBe(undefined, expected.get, name + '.get'); + shouldBe(undefined, expected.set, name + '.set'); +} + +(function testPropertyFilteringAndOrder() { + var log = []; + var sym = Symbol('test'); + var O = { + 0: 0, + [sym]: 3, + 'a': 2, + 1: 1 + }; + + var P = new Proxy(O, { + ownKeys(target) { + log.push('ownKeys()'); + return Reflect.ownKeys(target); + }, + getOwnPropertyDescriptor(target, name) { + log.push(`getOwnPropertyDescriptor(${String(name)})`); + return Reflect.getOwnPropertyDescriptor(target, name); + }, + get() { throw new Error('[[Get]] trap should be unreachable'); }, + set() { throw new Error('[[Set]] trap should be unreachable'); }, + deleteProperty() { throw new Error('[[Delete]] trap should be unreachable'); }, + defineProperty() { throw new Error('[[DefineOwnProperty]] trap should be unreachable'); } + }); + + var result = Object.getOwnPropertyDescriptors(P); + shouldBe('ownKeys()|getOwnPropertyDescriptor(0)|getOwnPropertyDescriptor(1)|getOwnPropertyDescriptor(a)|getOwnPropertyDescriptor(Symbol(test))', log.join('|')); + shouldBeDataProperty(result[0], 0, 'result[0]'); + shouldBeDataProperty(result[1], 1, 'result[1]'); + shouldBeDataProperty(result.a, 2, 'result["a"]'); + shouldBeDataProperty(result[sym], 3, 'result[Symbol(test)]'); + + var result2 = Object.getOwnPropertyDescriptors(O); + shouldBeDataProperty(result2[0], 0, 'result2[0]'); + shouldBeDataProperty(result2[1], 1, 'result2[1]'); + shouldBeDataProperty(result2.a, 2, 'result2["a"]'); + shouldBeDataProperty(result2[sym], 3, 'result2[Symbol(test)]'); +})(); + +(function testDuplicatePropertyNames() { + var i = 0; + var log = []; + var P = new Proxy({}, { + ownKeys() { + log.push(`ownKeys()`); + return [ 'A', 'A' ]; + }, + getOwnPropertyDescriptor(t, name) { + log.push(`getOwnPropertyDescriptor(${name})`); + if (i++) return; + return { + configurable: true, + writable: false, + value: 'VALUE' + }; + }, + get() { throw new Error('[[Get]] trap should be unreachable'); }, + set() { throw new Error('[[Set]] trap should be unreachable'); }, + deleteProperty() { throw new Error('[[Delete]] trap should be unreachable'); }, + defineProperty() { throw new Error('[[DefineOwnProperty]] trap should be unreachable'); } + }); + + var result = Object.getOwnPropertyDescriptors(P); + shouldBe(true, result.A.configurable, 'for result.A.configurable'); + shouldBe(false, result.A.writable, 'for result.A.writable'); + shouldBe('VALUE', result.A.value, 'for result.A.value'); + shouldBe(false, result.A.enumerable, 'for result.A.enumerable'); + shouldBe(true, Object.hasOwnProperty.call(result, 'A')); + shouldBe('ownKeys()|getOwnPropertyDescriptor(A)|getOwnPropertyDescriptor(A)', log.join('|')); +})(); + +(function testUndefinedPropertyDescriptor() { + var log = []; + var P = new Proxy({}, { + ownKeys() { + log.push(`ownKeys()`); + return ['fakeProperty']; + }, + getOwnPropertyDescriptor(t, name) { + log.push(`getOwnPropertyDescriptor(${name})`); + return undefined; + }, + get() { throw new Error('[[Get]] trap should be unreachable'); }, + set() { throw new Error('[[Set]] trap should be unreachable'); }, + deleteProperty() { throw new Error('[[Delete]] trap should be unreachable'); }, + defineProperty() { throw new Error('[[DefineOwnProperty]] trap should be unreachable'); } + }); + + var result = Object.getOwnPropertyDescriptors(P); + shouldBe(false, result.hasOwnProperty('fakeProperty')); + shouldBe(false, 'fakeProperty' in result); + shouldBe('ownKeys()|getOwnPropertyDescriptor(fakeProperty)', log.join('|')); +})(); diff --git a/implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors.js b/implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors.js new file mode 100644 index 0000000000..ff30e7e0e7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/Object_static_methods_Object.getOwnPropertyDescriptors.js @@ -0,0 +1,153 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ''; + else + msg = ' for ' + msg; + if (actual !== expected) + throw new Error('bad value' + msg + ': ' + actual + '. Expected ' + expected); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function shouldBeDataProperty(expected, value, name) { + if (name === void 0) + name = ''; + shouldBe(value, expected.value, name + '.value'); + shouldBe(true, expected.enumerable, name + '.enumerable'); + shouldBe(true, expected.configurable, name + '.configurable'); + shouldBe(true, expected.writable, name + '.writable'); + shouldBe(undefined, expected.get, name + '.get'); + shouldBe(undefined, expected.set, name + '.set'); +} + +(function testMeta() { + shouldBe(1, Object.getOwnPropertyDescriptors.length); + + shouldBe('getOwnPropertyDescriptors', Object.getOwnPropertyDescriptors.name); + + var propertyDescriptor = Reflect.getOwnPropertyDescriptor(Object, 'getOwnPropertyDescriptors'); + shouldBe(false, propertyDescriptor.enumerable); + shouldBe(true, propertyDescriptor.writable); + shouldBe(true, propertyDescriptor.configurable); + + shouldThrow(() => new Object.getOwnPropertyDescriptors({}), "TypeError: function is not a constructor (evaluating 'new Object.getOwnPropertyDescriptors({})')"); +})(); + +(function testToObject() { + shouldThrow(() => Object.getOwnPropertyDescriptors(null), "TypeError: null is not an object (evaluating 'Object.getOwnPropertyDescriptors(null)')"); + shouldThrow(() => Object.getOwnPropertyDescriptors(undefined), "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptors(undefined)')"); + shouldThrow(() => Object.getOwnPropertyDescriptors(), "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptors()')"); +})(); + +(function testPrototypeProperties() { + function F() {}; + F.prototype.a = 'A'; + F.prototype.b = 'B'; + F.prototype[9999] = '0'; + F.prototype[0] = '0'; + + var F2 = new F(); + Object.defineProperties(F2, { + 'b': { + enumerable: false, + configurable: true, + writable: false, + value: 'Shadowed "B"' + }, + 'c': { + enumerable: false, + configurable: true, + writable: false, + value: 'C' + }, + 9998: { + enumerable: true, + configurable: true, + writable: true, + value: 'X' + } + }); + + var result = Object.getOwnPropertyDescriptors(F2); + + shouldBe(undefined, result[0]); + + shouldBe(result[9998].enumerable, true); + shouldBe(result[9998].configurable, true); + shouldBe(result[9998].writable, true); + shouldBe(result[9998].value, 'X') + + shouldBe(undefined, result[9999]); + + shouldBe(undefined, result.a); + + shouldBe(result.b.enumerable, false); + shouldBe(result.b.configurable, true); + shouldBe(result.b.writable, false); + shouldBe(result.b.value, 'Shadowed "B"'); + + shouldBe(result.c.enumerable, false); + shouldBe(result.c.configurable, true); + shouldBe(result.c.writable, false); + shouldBe(result.c.value, 'C'); +})(); + +(function testGlobalProxy(global) { + var symbol = Symbol('test'); + global[symbol] = 'Symbol(test)'; + + var result = Object.getOwnPropertyDescriptors(global); + + shouldBeDataProperty(result[symbol], 'Symbol(test)', 'global[Symbol(test)]'); + delete global[symbol]; +})(this); + +(function testIndexedProperties() { + var object = { 0: 'test' }; + var result = Object.getOwnPropertyDescriptors(object); + shouldBeDataProperty(result[0], 'test', 'result[0]'); + shouldBeDataProperty(result['0'], 'test', 'result["0"]'); + shouldBe(result[0], result['0']); +})(); + + +(function testPropertiesIndexedSetterOnPrototypeThrows() { + var symbol = Symbol('test'); + Object.defineProperties(Object.prototype, { + 0: { + configurable: true, + get() { return; }, + set(v) { throw new Error("Setter on prototype should be unreachable!"); } + }, + a: { + configurable: true, + get() { return; }, + set(v) { throw new Error("Setter on prototype should be unreachable!"); } + }, + [symbol]: { + configurable: true, + get() { return; }, + set(v) { throw new Error("Setter on prototype should be unreachable!"); } + } + }); + var result = Object.getOwnPropertyDescriptors({ 0: 1, a: 2, [symbol]: 3 }) + delete Object.prototype[0]; + delete Object.prototype.a; + delete Object.prototype[symbol]; + shouldBeDataProperty(result[0], 1, 'result[0]'); + shouldBeDataProperty(result.a, 2, 'result["a"]'); + shouldBeDataProperty(result[symbol], 3, 'result[symbol]'); +})(); diff --git a/implementation-contributed/javascriptcore/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js b/implementation-contributed/javascriptcore/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js new file mode 100644 index 0000000000..aecdd2bc50 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/OverrideHasInstance-should-not-branch-across-register-allocations.js @@ -0,0 +1,16 @@ +//@ runDefault + +// This test should not crash. + +delete this.Function; + +var test = function() { + Math.cos("0" instanceof arguments) +} + +for (var k = 0; k < 10000; ++k) { + try { + test(); + } catch (e) { + } +} diff --git a/implementation-contributed/javascriptcore/stress/SharedArrayBuffer-opt.js b/implementation-contributed/javascriptcore/stress/SharedArrayBuffer-opt.js new file mode 100644 index 0000000000..7b2c27ff9e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/SharedArrayBuffer-opt.js @@ -0,0 +1,134 @@ +//@ skip +var dv = new DataView(new SharedArrayBuffer(128)); +var i8a = new Int8Array(new SharedArrayBuffer(128)); +var i16a = new Int16Array(new SharedArrayBuffer(128)); +var i32a = new Int32Array(new SharedArrayBuffer(128)); +var u8a = new Uint8Array(new SharedArrayBuffer(128)); +var u8ca = new Uint8ClampedArray(new SharedArrayBuffer(128)); +var u16a = new Uint16Array(new SharedArrayBuffer(128)); +var u32a = new Uint32Array(new SharedArrayBuffer(128)); +var f32a = new Float32Array(new SharedArrayBuffer(128)); +var f64a = new Float64Array(new SharedArrayBuffer(128)); + +var arrays = [i8a, i16a, i32a, u8a, u16a, u32a]; + +var atomics = new Map(); +var genericAtomics = new Map(); +for (var a of arrays) { + var map = new Map(); + atomics.set(a, map); +} +var count = 0; +for (var op of ["add", "and", "compareExchange", "exchange", "load", "or", "store", "sub", "xor"]) { + var numExtraArgs; + switch (op) { + case "compareExchange": + numExtraArgs = 2; + break; + case "load": + numExtraArgs = 0; + break; + default: + numExtraArgs = 1; + break; + } + + function str() { + var str = "(function (array" + count + ", index"; + for (var i = 0; i < numExtraArgs; ++i) + str += ", a" + i; + str += ") { return Atomics." + op + "(array" + count + ", index"; + for (var i = 0; i < numExtraArgs; ++i) + str += ", a" + i; + str += "); })"; + count++; + return str; + } + + var f = eval(str()); + noInline(f); + // Warm it up on crazy. + for (var i = 0; i < 10000; ++i) + f(arrays[i % arrays.length], 0, 0, 0); + genericAtomics.set(op, f); + + for (var a of arrays) { + var map = atomics.get(a); + + var f = eval(str()); + noInline(f); + + // Warm it up on something easy. + for (var i = 0; i < 10000; ++i) + f(a, 0, 0, 0); + + map.set(op, f); + } +} + +function runAtomic(array, index, init, name, args, expectedResult, expectedOutcome) +{ + for (var f of [{name: "specialized", func: atomics.get(array).get(name)}, + {name: "generic", func: genericAtomics.get(name)}]) { + array[index] = init; + var result = f.func(array, index, ...args); + if (result != expectedResult) + throw new Error("Expected Atomics." + name + "(array, " + index + ", " + args.join(", ") + ") to return " + expectedResult + " but returned " + result + " for " + Object.prototype.toString.apply(array) + " and " + f.name); + if (array[index] !== expectedOutcome) + throw new Error("Expected Atomics." + name + "(array, " + index + ", " + args.join(", ") + ") to result in array[" + index + "] = " + expectedOutcome + " but got " + array[index] + " for " + Object.prototype.toString.apply(array) + " and " + f.name); + } +} + +for (var a of arrays) { + runAtomic(a, 0, 13, "add", [42], 13, 55); + runAtomic(a, 0, 13, "and", [42], 13, 8); + runAtomic(a, 0, 13, "compareExchange", [25, 42], 13, 13); + runAtomic(a, 0, 13, "compareExchange", [13, 42], 13, 42); + runAtomic(a, 0, 13, "exchange", [42], 13, 42); + runAtomic(a, 0, 13, "load", [], 13, 13); + runAtomic(a, 0, 13, "or", [42], 13, 47); + runAtomic(a, 0, 13, "store", [42], 42, 42); + runAtomic(a, 0, 42, "sub", [13], 42, 29); + runAtomic(a, 0, 13, "xor", [42], 13, 39); +} + +function shouldFail(f, name) +{ + try { + f(); + } catch (e) { + if (e.name == name.name) + return; + throw new Error(f + " threw the wrong error: " + e); + } + throw new Error(f + " succeeded!"); +} + +for (var bad of [void 0, null, false, true, 1, 0.5, Symbol(), {}, "hello", dv, u8ca, f32a, f64a]) { + shouldFail(() => genericAtomics.get("add")(bad, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("and")(bad, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("compareExchange")(bad, 0, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("exchange")(bad, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("load")(bad, 0), TypeError); + shouldFail(() => genericAtomics.get("or")(bad, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("store")(bad, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("sub")(bad, 0, 0), TypeError); + shouldFail(() => genericAtomics.get("xor")(bad, 0, 0), TypeError); +} + +for (var idx of [-1, -1000000000000, 10000, 10000000000000, "hello"]) { + for (var a of arrays) { + for (var m of [atomics.get(a), genericAtomics]) { + shouldFail(() => m.get("add")(a, idx, 0), RangeError); + shouldFail(() => m.get("and")(a, idx, 0), RangeError); + shouldFail(() => m.get("compareExchange")(a, idx, 0, 0), RangeError); + shouldFail(() => m.get("exchange")(a, idx, 0), RangeError); + shouldFail(() => m.get("load")(a, idx), RangeError); + shouldFail(() => m.get("or")(a, idx, 0), RangeError); + shouldFail(() => m.get("store")(a, idx, 0), RangeError); + shouldFail(() => m.get("sub")(a, idx, 0), RangeError); + shouldFail(() => m.get("xor")(a, idx, 0), RangeError); + } + } +} + diff --git a/implementation-contributed/javascriptcore/stress/SharedArrayBuffer.js b/implementation-contributed/javascriptcore/stress/SharedArrayBuffer.js new file mode 100644 index 0000000000..3b269a7650 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/SharedArrayBuffer.js @@ -0,0 +1,134 @@ +//@ skip +// This is a basic test of SharedArrayBuffer API as we understand it. + +if (SharedArrayBuffer == ArrayBuffer) + throw new Error("SharedArrayBuffer and ArrayBuffer should be distinct"); + +if (SharedArrayBuffer.prototype == ArrayBuffer.prototype) + throw new Error("SharedArrayBuffer.prototype and ArrayBuffer.prototype should be distinct"); + +if (SharedArrayBuffer.prototype.__proto__ != Object.prototype) + throw new Error("SharedArrayBuffer.prototype.__proto__ should be Object.prototype"); + +if (!(new SharedArrayBuffer(100) instanceof SharedArrayBuffer)) + throw new Error("SharedArrayBuffer should be an instance of SharedArrayBuffer"); + +if (!(new ArrayBuffer(100) instanceof ArrayBuffer)) + throw new Error("ArrayBuffer should be an instance of ArrayBuffer"); + +if (new SharedArrayBuffer(100) instanceof ArrayBuffer) + throw new Error("SharedArrayBuffer should not be an instance of ArrayBuffer"); + +if (new ArrayBuffer(100) instanceof SharedArrayBuffer) + throw new Error("ArrayBuffer should not be an instance of SharedArrayBuffer"); + +function checkAtomics(name, count) +{ + if (!Atomics[name]) + throw new Error("Missing Atomics." + name); + if (Atomics[name].length != count) + throw new Error("Atomics." + name + " should have length " + count + " but has length " + Atomics[name].length); +} +checkAtomics("add", 3); +checkAtomics("and", 3); +checkAtomics("compareExchange", 4); +checkAtomics("exchange", 3); +checkAtomics("isLockFree", 1); +checkAtomics("load", 2); +checkAtomics("or", 3); +checkAtomics("store", 3); +checkAtomics("sub", 3); +checkAtomics("wait", 4); +checkAtomics("wake", 3); +checkAtomics("xor", 3); + +// These should all succeed. +var dv = new DataView(new SharedArrayBuffer(128)); +var i8a = new Int8Array(new SharedArrayBuffer(128)); +var i16a = new Int16Array(new SharedArrayBuffer(128)); +var i32a = new Int32Array(new SharedArrayBuffer(128)); +var u8a = new Uint8Array(new SharedArrayBuffer(128)); +var u8ca = new Uint8ClampedArray(new SharedArrayBuffer(128)); +var u16a = new Uint16Array(new SharedArrayBuffer(128)); +var u32a = new Uint32Array(new SharedArrayBuffer(128)); +var f32a = new Float32Array(new SharedArrayBuffer(128)); +var f64a = new Float64Array(new SharedArrayBuffer(128)); + +function shouldFail(f, name) +{ + try { + f(); + } catch (e) { + if (e.name == name.name) + return; + throw new Error(f + " threw the wrong error: " + e); + } + throw new Error(f + " succeeded!"); +} + +for (bad of [void 0, null, false, true, 1, 0.5, Symbol(), {}, "hello", dv, u8ca, f32a, f64a]) { + shouldFail(() => Atomics.add(bad, 0, 0), TypeError); + shouldFail(() => Atomics.and(bad, 0, 0), TypeError); + shouldFail(() => Atomics.compareExchange(bad, 0, 0, 0), TypeError); + shouldFail(() => Atomics.exchange(bad, 0, 0), TypeError); + shouldFail(() => Atomics.load(bad, 0), TypeError); + shouldFail(() => Atomics.or(bad, 0, 0), TypeError); + shouldFail(() => Atomics.store(bad, 0, 0), TypeError); + shouldFail(() => Atomics.sub(bad, 0, 0), TypeError); + shouldFail(() => Atomics.xor(bad, 0, 0), TypeError); +} + +for (bad of [void 0, null, false, true, 1, 0.5, Symbol(), {}, "hello", dv, i8a, i16a, u8a, u8ca, u16a, u32a, f32a, f64a]) { + shouldFail(() => Atomics.wait(bad, 0, 0), TypeError); + shouldFail(() => Atomics.wake(bad, 0, 0), TypeError); +} + +for (idx of [-1, -1000000000000, 10000, 10000000000000, "hello"]) { + for (a of [i8a, i16a, i32a, u8a, u16a, u32a]) { + shouldFail(() => Atomics.add(a, idx, 0), RangeError); + shouldFail(() => Atomics.and(a, idx, 0), RangeError); + shouldFail(() => Atomics.compareExchange(a, idx, 0, 0), RangeError); + shouldFail(() => Atomics.exchange(a, idx, 0), RangeError); + shouldFail(() => Atomics.load(a, idx), RangeError); + shouldFail(() => Atomics.or(a, idx, 0), RangeError); + shouldFail(() => Atomics.store(a, idx, 0), RangeError); + shouldFail(() => Atomics.sub(a, idx, 0), RangeError); + shouldFail(() => Atomics.xor(a, idx, 0), RangeError); + } + shouldFail(() => Atomics.wait(i32a, idx, 0), RangeError); + shouldFail(() => Atomics.wake(i32a, idx, 0), RangeError); +} + +function runAtomic(array, index, init, name, args, expectedResult, expectedOutcome) +{ + array[index] = init; + var result = Atomics[name](array, index, ...args); + if (result != expectedResult) + throw new Error("Expected Atomics." + name + "(array, " + index + ", " + args.join(", ") + ") to return " + expectedResult + " but returned " + result + " for " + Object.prototype.toString.apply(array)); + if (array[index] !== expectedOutcome) + throw new Error("Expected Atomics." + name + "(array, " + index + ", " + args.join(", ") + ") to result in array[" + index + "] = " + expectedOutcome + " but got " + array[index] + " for " + Object.prototype.toString.apply(array)); +} + +for (a of [i8a, i16a, i32a, u8a, u16a, u32a]) { + runAtomic(a, 0, 13, "add", [42], 13, 55); + runAtomic(a, 0, 13, "and", [42], 13, 8); + runAtomic(a, 0, 13, "compareExchange", [25, 42], 13, 13); + runAtomic(a, 0, 13, "compareExchange", [13, 42], 13, 42); + runAtomic(a, 0, 13, "exchange", [42], 13, 42); + runAtomic(a, 0, 13, "load", [], 13, 13); + runAtomic(a, 0, 13, "or", [42], 13, 47); + runAtomic(a, 0, 13, "store", [42], 42, 42); + runAtomic(a, 0, 42, "sub", [13], 42, 29); + runAtomic(a, 0, 13, "xor", [42], 13, 39); +} + +i32a[0] = 0; +var result = Atomics.wait(i32a, 0, 1); +if (result != "not-equal") + throw "Error: bad result from Atomics.wait: " + result; +for (timeout of [0, 1, 10]) { + var result = Atomics.wait(i32a, 0, 0, timeout); + if (result != "timed-out") + throw "Error: bad result from Atomics.wait: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/accessors-get-set-prefix.js b/implementation-contributed/javascriptcore/stress/accessors-get-set-prefix.js new file mode 100644 index 0000000000..655bc6c9e4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/accessors-get-set-prefix.js @@ -0,0 +1,34 @@ +function tryGetOwnPropertyDescriptorGetName(obj, property, expectedName) +{ + let descriptor = Object.getOwnPropertyDescriptor(obj, property); + if (!descriptor) + throw "Couldn't find property descriptor on object " + obj.toString() + " for property " + property.toString(); + + let getter = descriptor.get; + if (!getter) + throw "Property " + property.toString() + " on object " + obj.toString() + " is not a getter"; + + let getterName = getter.name; + if (getterName !== expectedName) + throw "Wrong getter name for property " + property.toString() + " on object " + obj.toString() + " expected " + expectedName + " got " + getterName; +} + +tryGetOwnPropertyDescriptorGetName(Array, Symbol.species, "get [Symbol.species]"); +tryGetOwnPropertyDescriptorGetName(Map, Symbol.species, "get [Symbol.species]"); +tryGetOwnPropertyDescriptorGetName(Set, Symbol.species, "get [Symbol.species]"); +tryGetOwnPropertyDescriptorGetName(RegExp, Symbol.species, "get [Symbol.species]"); +tryGetOwnPropertyDescriptorGetName(Promise, Symbol.species, "get [Symbol.species]"); +tryGetOwnPropertyDescriptorGetName(Map.prototype, "size", "get size"); +tryGetOwnPropertyDescriptorGetName(Set.prototype, "size", "get size"); +tryGetOwnPropertyDescriptorGetName(RegExp.prototype, "flags", "get flags"); +tryGetOwnPropertyDescriptorGetName(RegExp.prototype, "sticky", "get sticky"); +tryGetOwnPropertyDescriptorGetName(RegExp.prototype, "source", "get source"); + +if (Object.__lookupGetter__("__proto__").name !== "get __proto__") + throw "Expected Object __proto__ getter to be named \"get __proto\""; + +if (Object.__lookupSetter__("__proto__").name !== "set __proto__") + throw "Expected Object __proto__ setter to be named \"set __proto\""; + +if (Int32Array.prototype.__lookupGetter__("byteOffset").name !== "get byteOffset") + throw "Expected TypedArray.prototype byteOffset getter to be named \"get byteOffset\""; diff --git a/implementation-contributed/javascriptcore/stress/activation-sink-default-value-tdz-error.js b/implementation-contributed/javascriptcore/stress/activation-sink-default-value-tdz-error.js new file mode 100644 index 0000000000..cc8b280671 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-sink-default-value-tdz-error.js @@ -0,0 +1,45 @@ +//@ skip if $buildType == "debug" +"use strict"; + +var n = 10000000; + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + if (!hasThrown) + throw new Error("Did not throw TDZ error"); +} +noInline(shouldThrowTDZ); + +function bar(f) { f(10); } + +function foo(b) { + let result = 0; + var set = function (x) { result = x; } + var cap = function() { return tdzPerpetrator; } + if (b) { + bar(set); + return tdzPerpetrator; + } + let tdzPerpetrator; + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var bool = !(i % 100); + if (bool) + shouldThrowTDZ(function() { foo(bool); }); + else { + var result = foo(bool); + if (result != 0) + throw "Error: bad result: " + result; + } +} diff --git a/implementation-contributed/javascriptcore/stress/activation-sink-default-value.js b/implementation-contributed/javascriptcore/stress/activation-sink-default-value.js new file mode 100644 index 0000000000..0e660d5bcd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-sink-default-value.js @@ -0,0 +1,31 @@ +var n = 10000000; + +function bar(f) { f(10); } + +function foo(b) { + var result = 0; + var imUndefined; + var baz; + var set = function (x) { result = x; return (imUndefined, baz); } + baz = 40; + if (b) { + bar(set); + if (result != 10) + throw "Error: bad: " + result; + if (baz !== 40) + throw "Error: bad: " + baz; + if (imUndefined !== void 0) + throw "Error: bad value: " + imUndefined; + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value-tdz-error.js b/implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value-tdz-error.js new file mode 100644 index 0000000000..9df1bd109e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value-tdz-error.js @@ -0,0 +1,46 @@ +"use strict"; + +var n = 10000000; + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + if (!hasThrown) + throw new Error("Did not throw TDZ error"); +} + +function bar(f) { } + +function foo(b) { + let result = 0; + var set = function (x) { result = x; return tdzPerpetrator; } + if (b) { + OSRExit(); + if (b) { + bar(set); + return tdzPerpetrator; + } + } + let tdzPerpetrator; + return result; +} + +noInline(bar); +noInline(foo); +noInline(shouldThrowTDZ); + +for (var i = 0; i < n; i++) { + var bool = !(i % 100); + if (bool) + shouldThrowTDZ(function() { foo(bool); }); + else { + var result = foo(bool); + if (result != 0) + throw "Error: bad result: " + result; + } +} diff --git a/implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value.js b/implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value.js new file mode 100644 index 0000000000..85e9dbc32e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-sink-osrexit-default-value.js @@ -0,0 +1,37 @@ +var n = 10000000; + +function bar(set) { + var result = set(0); + if (result !== void 0) + throw "Error: bad value: " + result; +} + +function foo(b) { + var result = 0; + var imUndefined; + var baz; + var set = function (x) { + result = x; + if (baz !== 50) + throw "Error: bad value: " + baz; + return imUndefined; + } + baz = 50; + if (b) { + OSRExit(); + if (b) { + bar(set); + } + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/activation-sink-osrexit.js b/implementation-contributed/javascriptcore/stress/activation-sink-osrexit.js new file mode 100644 index 0000000000..9d3c4d36bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-sink-osrexit.js @@ -0,0 +1,25 @@ +var n = 10000000; + +function bar() { } + +function foo(b) { + var result = 0; + var set = function (x) { result = x; } + if (b) { + OSRExit(); + if (b) { + bar(set); + } + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/activation-sink.js b/implementation-contributed/javascriptcore/stress/activation-sink.js new file mode 100644 index 0000000000..bf00022cdb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-sink.js @@ -0,0 +1,24 @@ +var n = 10000000; + +function bar(f) { f(10); } + +function foo(b) { + var result = 0; + var set = function (x) { result = x; } + if (b) { + bar(set); + if (result != 10) + throw "Error: bad: " + result; + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/activation-test-loop.js b/implementation-contributed/javascriptcore/stress/activation-test-loop.js new file mode 100644 index 0000000000..a640834c64 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/activation-test-loop.js @@ -0,0 +1,24 @@ +function Inner() { + this.i = 0; + this.doStuff = function() { + this.i++; + if (this.i > 10000) + this.isDone(); + } +} + +var foo = function() { + var inner = new Inner(); + var done = false; + inner.isDone = function() { + done = true; + } + + while (true) { + var val = inner.doStuff(); + if (done) + break; + } +} + +foo(); diff --git a/implementation-contributed/javascriptcore/stress/add-constant-overflow-recovery.js b/implementation-contributed/javascriptcore/stress/add-constant-overflow-recovery.js new file mode 100644 index 0000000000..24bb2cbe3c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-constant-overflow-recovery.js @@ -0,0 +1,15 @@ +function foo(a) { + return a.f + 2000000000; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:1}); + if (result != 2000000001) + throw "Error: bad result: " + result; +} + +var result = foo({f:2000000000}); +if (result != 4000000000) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/add-inferred-type-table-to-existing-structure.js b/implementation-contributed/javascriptcore/stress/add-inferred-type-table-to-existing-structure.js new file mode 100644 index 0000000000..9ad5a2d599 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-inferred-type-table-to-existing-structure.js @@ -0,0 +1,31 @@ +function foo(o) { + return o.f + 1; +} + +function bar(o, i, v) { + o[i] = v; +} + +function baz() { + return {}; +} + +noInline(foo); +noInline(bar); +noInline(baz); + +var o0 = baz(); +bar(o0, "f", "hello"); + +for (var i = 0; i < 10000; ++i) { + var o = baz(); + o.f = 42; + var result = foo(o); + if (result != 43) + throw "Error: bad result in loop: " + result; +} + +var result = foo(o0); +if (result != "hello1") + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/add-int52-constant-overflow-recovery.js b/implementation-contributed/javascriptcore/stress/add-int52-constant-overflow-recovery.js new file mode 100644 index 0000000000..7548d34fc1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-int52-constant-overflow-recovery.js @@ -0,0 +1,15 @@ +function foo(a) { + return a * 2097144 + 1073745920; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1073736383); + if (result != 2251780886936072) + throw "Error: bad result: " + result; +} + +var result = foo(1073745919); +if (result != 2251800885301256) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/add-int52-large-constant-overflow-recovery.js b/implementation-contributed/javascriptcore/stress/add-int52-large-constant-overflow-recovery.js new file mode 100644 index 0000000000..c64bc3fe52 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-int52-large-constant-overflow-recovery.js @@ -0,0 +1,15 @@ +function foo(a) { + return a * 2097144 + 10000000000; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1073741151); + if (result != 2251799812372744) + throw "Error: bad result: " + result; +} + +var result = foo(1073741152); +if (result != 2251799814469888) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/add-overflow-recovery.js b/implementation-contributed/javascriptcore/stress/add-overflow-recovery.js new file mode 100644 index 0000000000..8e1718c5c2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-overflow-recovery.js @@ -0,0 +1,15 @@ +function foo(a, b) { + return a.f + b.f; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:1}, {f:2}); + if (result != 3) + throw "Error: bad result: " + result; +} + +var result = foo({f:2000000000}, {f:2000000000}); +if (result != 4000000000) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/add-overflows-after-not-equal.js b/implementation-contributed/javascriptcore/stress/add-overflows-after-not-equal.js new file mode 100644 index 0000000000..181566fcf4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-overflows-after-not-equal.js @@ -0,0 +1,16 @@ +function foo(a) { + if (a != 0) + return a + 1; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42); + if (result != 43) + throw "Error: bad result in loop: " + result; +} + +var result = foo(2147483647); +if (result != 2147483648) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/add-small-constant-overflow-recovery.js b/implementation-contributed/javascriptcore/stress/add-small-constant-overflow-recovery.js new file mode 100644 index 0000000000..64d9f04f68 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/add-small-constant-overflow-recovery.js @@ -0,0 +1,15 @@ +function foo(a) { + return a.f + 1000; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:1}); + if (result != 1001) + throw "Error: bad result: " + result; +} + +var result = foo({f:2147483148}); +if (result != 2147484148) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/addition-order-evaluation.js b/implementation-contributed/javascriptcore/stress/addition-order-evaluation.js new file mode 100644 index 0000000000..d06f1aa70c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/addition-order-evaluation.js @@ -0,0 +1,23 @@ +function assert(a, message) { + if (!a) + throw new Error(message); +} + +let o = { + valueOf: function () { throw new Error("Oops"); } +}; + +try { + let n = Symbol("3") + o; + assert(false, message + ": Should throw Error, but executed without exception"); +} catch (e) { + assert(e.message === "Oops","Expected Error('Oops'), got: " + e); +} + +try { + let n = o + Symbol("3"); + assert(false, message + ": Should throw Error, but executed without exception"); +} catch (e) { + assert(e.message === "Oops","Expected Error('Oops'), got: " + e); +} + diff --git a/implementation-contributed/javascriptcore/stress/ai-consistency-filter-cells.js b/implementation-contributed/javascriptcore/stress/ai-consistency-filter-cells.js new file mode 100644 index 0000000000..ce2fab6f61 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ai-consistency-filter-cells.js @@ -0,0 +1,30 @@ +function get(value, prop) { return value[prop]; } +noInline(get); + +function foo(record, key, attribute) { + var attrs = get(this, 'attrs'); + var value = get(record, key), type = attribute.type; + + if (type) { + var transform = this.transformFor(type); + value = transform.serialize(value); + } + + key = attrs && attrs[key] || (this.keyForAttribute ? this.keyForAttribute(key) : key); + + return {key:key, value:value}; +} +noInline(foo); + +let i = 0; +let thisValue = {transformFor: function() { return {serialize: function() { return {} }}}}; +let record = {key: "hello"}; +let record2 = {key: true}; +let key = "key"; +let attribute = {type: "type"}; +for (; i < 100000; i++) { + if (i % 2 === 0) + foo.call(thisValue, record, key, attribute); + else + foo.call(thisValue, record2, key, attribute); +} diff --git a/implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object-fire.js b/implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object-fire.js new file mode 100644 index 0000000000..5adf00862b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object-fire.js @@ -0,0 +1,61 @@ +function assert(b, m = "Bad!") { + if (!b) { + throw new Error(m); + } +} + +function test(f, iters = 1000) { + for (let i = 0; i < iters; i++) + f(i); +} + +function func(x) { + return x; +} +noInline(func); + +var n = 2; +var prototype = {}; +function prep(index, i, A, B) +{ + if (index === (n - 1) && i === 5000) { + // Fire watchpoint! + A.prototype = prototype; + } +} + +function check(index, arr, A, B, originalPrototype) +{ + if (index === (n - 1)) { + assert(originalPrototype !== prototype); + for (let i = 0; i < 5000; i++) + assert(arr[i].__proto__ === originalPrototype); + for (let i = 5000; i < 10000; i++) + assert(arr[i].__proto__ === prototype); + } else { + for (let i = 0; i < 10000; i++) + assert(arr[i].__proto__ === originalPrototype); + } +} +noInline(check); + +test(function body(index) { + function A(x, f = func) { + this._value = x; + this._func = f; + } + + function B(n) + { + return new A(n); + } + + var originalPrototype = A.prototype; + let arr = []; + for (let i = 0; i < 10000; i++) { + prep(index, i, A, B); + arr.push(B(20)); + } + + check(index, arr, A, B, originalPrototype); +}, n); diff --git a/implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object.js b/implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object.js new file mode 100644 index 0000000000..c89fb1884e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ai-create-this-to-new-object.js @@ -0,0 +1,41 @@ +function assert(b, m = "Bad!") { + if (!b) { + throw new Error(m); + } +} + +function test(f, iters = 1000) { + for (let i = 0; i < iters; i++) + f(i); +} + +function func(x) { + return x; +} +noInline(func); + +function check(index, arr, B) +{ + for (let i = 0; i < 1000; i++) + assert(arr[i] instanceof B); +} +noInline(check); + +test(function body(index) { + class A { + constructor(x, f = func) + { + this._value = x; + this._func = f; + } + } + + class B extends A { + } + + let arr = []; + for (let i = 0; i < 1000; i++) + arr.push(new B(20)); + + check(index, arr, B); +}, 8); diff --git a/implementation-contributed/javascriptcore/stress/ai-needs-to-model-spreads-effects.js b/implementation-contributed/javascriptcore/stress/ai-needs-to-model-spreads-effects.js new file mode 100644 index 0000000000..71e3c7008f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ai-needs-to-model-spreads-effects.js @@ -0,0 +1,33 @@ +try { + var ary_1 = [1.1,2.2,3.3] + var ary_2 = [1.1,2.2,3.3] + var ary_3 = [1.1,2.2,3.3] + ary_3['www'] = 1 + var f64_1 = new Float64Array(0x10) + f64_1['0x7a'] = 0xffffffff + + var flag = 0; + var p = {"a":{}}; + p[Symbol.iterator] = function* () { + if (flag == 1) { + ary_2[0] = {} + } + yield 1; + yield 2; + }; + var go = function(a,b,c){ + a[0] = 1.1; + a[1] = 2.2; + [...c]; + b[0] = a[0]; + a[2] = 2.3023e-320 + } + + for (var i = 0; i < 0x100000; i++) { + go(ary_1, f64_1, p) + } + + flag = 1; + + go(ary_2, f64_1, p); +} catch(e) { } diff --git a/implementation-contributed/javascriptcore/stress/allocation-sinking-defs-may-have-replacements.js b/implementation-contributed/javascriptcore/stress/allocation-sinking-defs-may-have-replacements.js new file mode 100644 index 0000000000..1437107ebf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/allocation-sinking-defs-may-have-replacements.js @@ -0,0 +1,31 @@ +function dontCSE() { } +noInline(dontCSE); + +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + +function foo(a1) { + let o1 = {x: 20, y: 50}; + let o2 = {y: 40, o1: o1}; + let o3 = {}; + + o3.field = o1.y; + + dontCSE(); + + if (a1) { + a1 = true; + } else { + a1 = false; + } + + let value = o3.field; + assert(value === 50); +} +noInline(foo); + +for (let i = 0; i < 100000; i++) + foo(i); diff --git a/implementation-contributed/javascriptcore/stress/allocation-sinking-new-object-with-poly-proto.js b/implementation-contributed/javascriptcore/stress/allocation-sinking-new-object-with-poly-proto.js new file mode 100644 index 0000000000..eea3040fa8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/allocation-sinking-new-object-with-poly-proto.js @@ -0,0 +1,53 @@ +function foo() { + class A { + constructor() { + } + }; + return A; +} +let A = foo(); +let B = foo(); + +function makePolyProto(o) { + return o.x; +} +noInline(makePolyProto); + +for (let i = 0; i < 1000; ++i) { + makePolyProto(i % 2 ? new A : new B); +} + +function bar(b) { + let o = new A; + if (b) { + if (isFinalTier()) + OSRExit(); + return o; + } +} +noInline(bar); + +function baz(b) { + let o = new A; + if (b) + return o; +} +noInline(baz); + +for (let i = 0; i < 100000; ++i) { + let b = i % 10 === 0; + let r = bar(b); + if (b) { + if (r.__proto__ !== A.prototype) + throw new Error("Bad!"); + } +} + +for (let i = 0; i < 100000; ++i) { + let b = i % 10 === 0; + let r = baz(b); + if (b) { + if (r.__proto__ !== A.prototype) + throw new Error("Bad!"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/allocation-sinking-puthint-control-flow.js b/implementation-contributed/javascriptcore/stress/allocation-sinking-puthint-control-flow.js new file mode 100644 index 0000000000..7d01461c88 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/allocation-sinking-puthint-control-flow.js @@ -0,0 +1,41 @@ +function e() { } +noInline(e); + +function foo(b, c, d) { + let x; + function bar() { return x; } + if (b) { + let y = function() { return x; } + } else { + let y = function() { return x; } + } + + if (c) { + function baz() { } + if (b) { + let y = function() { return x; } + e(y); + } else { + let y = function() { return x; } + e(y); + } + if (d) + d(); + e(baz); + } + +} +noInline(foo); + +for (let i = 0; i < 100000; i++) { + foo(!!(i % 2), true, false); +} + +let threw = false; +try { + foo(true, true, true); +} catch(e) { + threw = true; +} +if (!threw) + throw new Error("Bad test") diff --git a/implementation-contributed/javascriptcore/stress/allow-math-ic-b3-code-duplication.js b/implementation-contributed/javascriptcore/stress/allow-math-ic-b3-code-duplication.js new file mode 100644 index 0000000000..2059b18281 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/allow-math-ic-b3-code-duplication.js @@ -0,0 +1,35 @@ +function test1() { + var o1; + for (let i = 0; i < 1000000; ++i) { + var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; + } + return -o2; +} +test1(); + +function test2() { + var o1; + for (let i = 0; i < 1000000; ++i) { + var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; + } + return o1 - o2; +} +test2(); + +function test3() { + var o1; + for (let i = 0; i < 1000000; ++i) { + var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; + } + return o1 + o2; +} +test3(); + +function test4() { + var o1; + for (let i = 0; i < 1000000; ++i) { + var o2 = { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { f: { } } } } } } } } } } } } }; + } + return o1 * o2; +} +test4(); diff --git a/implementation-contributed/javascriptcore/stress/always-enter-dictionary-indexing-mode-with-getter.js b/implementation-contributed/javascriptcore/stress/always-enter-dictionary-indexing-mode-with-getter.js new file mode 100644 index 0000000000..3cc7c366ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/always-enter-dictionary-indexing-mode-with-getter.js @@ -0,0 +1,29 @@ +function test1(item) { + var o = { + 10000: item, + get 10005() { }, + }; + let arr = new Array(10008); + for (let key of arr.keys()) { + let o2 = {}; + o[key] = o2; + } +} +test1({}); +test1(10); +test1(10.5); + +function test2(item) { + var o = { + 0: item, + get 1000() { }, + }; + let arr = new Array(1000); + for (let key of arr.keys()) { + let o2 = {}; + o[key] = o2; + } +} +test2({}); +test2(10); +test2(10.5); diff --git a/implementation-contributed/javascriptcore/stress/any-int-as-double-add.js b/implementation-contributed/javascriptcore/stress/any-int-as-double-add.js new file mode 100644 index 0000000000..98e9da7079 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/any-int-as-double-add.js @@ -0,0 +1,43 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = []; + +for (var i = 0; i < 100; ++i) + array.push(1024 * 1024 * 1024 * 1024 + i); +for (var i = 0; i < 100; ++i) + array.push(-(1024 * 1024 * 1024 * 1024 + i)); + +array.push(2251799813685248); +array.push(0.5); + +function test(array, index, value) +{ + return array[index] + fiatInt52(value); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + for (var index = 0; index < 100; ++index) + shouldBe(test(array, index, 20), 1024 * 1024 * 1024 * 1024 + index + 20); + for (var index = 0; index < 100; ++index) + shouldBe(test(array, index + 100, 20), -(1024 * 1024 * 1024 * 1024 + index) + 20); +} + +// Int52Overflow. +shouldBe(test(array, 200, 200), 2251799813685448); + +// Not AnyIntAsDouble, Int52Overflow. +shouldBe(test(array, 201, 200), 200.5); + +// Recompile the code as ArithAdd(Double, Double). +for (var i = 0; i < 1e4; ++i) + shouldBe(test(array, 201, 200), 200.5); + +shouldBe(test(array, 200, 200), 2251799813685448); +shouldBe(test(array, 201, 200), 200.5); + + diff --git a/implementation-contributed/javascriptcore/stress/apply-second-argument-must-be-array-like.js b/implementation-contributed/javascriptcore/stress/apply-second-argument-must-be-array-like.js new file mode 100644 index 0000000000..15fa972555 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/apply-second-argument-must-be-array-like.js @@ -0,0 +1,49 @@ +//@ runDefault + +function assert(x) { + if (!x) + throw Error("Bad"); +} + +function shouldThrow(expr) { + let testFunc = new Function(expr); + for (let i = 0; i < 10000; i++) { + let error; + try { + testFunc(); + } catch (e) { + error = e; + } + assert(error); + } +} + +function shouldNotThrow(expr) { + let testFunc = new Function(expr); + for (let i = 0; i < 10000; i++) { + let error; + try { + testFunc(); + } catch (e) { + error = e; + } + assert(!error); + } +} + +function foo() { } + +shouldThrow("foo.apply(undefined, true)"); +shouldThrow("foo.apply(undefined, false)"); +shouldThrow("foo.apply(undefined, 100)"); +shouldThrow("foo.apply(undefined, 123456789.12345)"); +shouldThrow("foo.apply(undefined, 1.0/1.0)"); +shouldThrow("foo.apply(undefined, 1.0/0)"); +shouldThrow("foo.apply(undefined, 'hello')"); +shouldThrow("foo.apply(undefined, Symbol())"); + +shouldNotThrow("foo.apply(undefined, undefined)"); +shouldNotThrow("foo.apply(undefined, null)"); +shouldNotThrow("foo.apply(undefined, {})"); +shouldNotThrow("foo.apply(undefined, [])"); +shouldNotThrow("foo.apply(undefined, function(){})"); diff --git a/implementation-contributed/javascriptcore/stress/argument-count-bytecode.js b/implementation-contributed/javascriptcore/stress/argument-count-bytecode.js new file mode 100644 index 0000000000..59a1385425 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-count-bytecode.js @@ -0,0 +1,40 @@ +var createBuiltin = $vm.createBuiltin; + +count = createBuiltin("(function () { return @argumentCount(); })"); +countNoInline = createBuiltin("(function () { return @argumentCount(); })"); +noInline(countNoInline); + + +function inlineCount() { return count(); } +noInline(inlineCount); + +function inlineCount1() { return count(1); } +noInline(inlineCount1); + +function inlineCount2() { return count(1,2); } +noInline(inlineCount2); + +function inlineCountVarArgs(list) { return count(...list); } +noInline(inlineCountVarArgs); + +function assert(condition, message) { + if (!condition) + throw new Error(message); +} + +for (i = 0; i < 1000000; i++) { + assert(count(1,1,2) === 3, i); + assert(count() === 0, i); + assert(count(1) === 1, i); + assert(count(...[1,2,3,4,5]) === 5, i); + assert(count(...[]) === 0, i); + assert(inlineCount() === 0, i); + assert(inlineCount1() === 1, i); + assert(inlineCount2() === 2, i); + assert(inlineCountVarArgs([1,2,3,4]) === 4, i); + assert(inlineCountVarArgs([]) === 0, i); + // Insert extra junk so that inlineCountVarArgs.arguments.length !== count.arguments.length + assert(inlineCountVarArgs([1], 2, 4) === 1, i); + assert(countNoInline(4) === 1, i) + assert(countNoInline() === 0, i); +} diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-basic.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-basic.js new file mode 100644 index 0000000000..27e5a78f9c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-basic.js @@ -0,0 +1,20 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + return @argument(1); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(), undefined); + shouldBe(builtin(1), undefined); + shouldBe(builtin(1, 2), 2); + shouldBe(builtin(1, 2, 3), 2); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-use-caller-arg.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-use-caller-arg.js new file mode 100644 index 0000000000..5e8419a144 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-use-caller-arg.js @@ -0,0 +1,33 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + return 42; +} +noInline(test); + +var builtin = createBuiltin(`(function (a) { + return @argument(2); +})`); + +function inlining(a, b, c) +{ + return builtin(1, 2, test(), 4, 5, 6, 7); +} +noInline(inlining); + +function escape(value) +{ + return value; +} +noInline(escape); + +(function () { + for (var i = 0; i < 1e4; ++i) + shouldBe(escape(inlining(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), 42); +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-result-escape.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-result-escape.js new file mode 100644 index 0000000000..21e3a45e26 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-result-escape.js @@ -0,0 +1,23 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + return @argument(0); +})`); + +function escape(value) +{ + return value; +} +noInline(escape); + +(function () { + for (var i = 0; i < 1e4; ++i) { + shouldBe(escape(builtin()), undefined); + shouldBe(escape(builtin(42)), 42); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js new file mode 100644 index 0000000000..7c23c20f83 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg-with-enough-arguments.js @@ -0,0 +1,27 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + return @argument(5); +})`); + +function inlining(a, b, c) +{ + return builtin.call(this, ...[1, 2, 3, 4, 5, 6, 7]); +} +noInline(inlining); + +function escape(value) +{ + return value; +} +noInline(escape); + +(function () { + for (var i = 0; i < 1e4; ++i) + shouldBe(escape(inlining(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), 6); +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg.js new file mode 100644 index 0000000000..f69f4e52a9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-inlining-with-vararg.js @@ -0,0 +1,27 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + return @argument(5); +})`); + +function inlining(a, b, c) +{ + return builtin.call(this, ...[1, 2, 3, 4, 5, 6, 7]); +} +noInline(inlining); + +function escape(value) +{ + return value; +} +noInline(escape); + +(function () { + for (var i = 0; i < 1e4; ++i) + shouldBe(escape(inlining(0)), 6); +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-nested-inlining.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-nested-inlining.js new file mode 100644 index 0000000000..071691c9af --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-nested-inlining.js @@ -0,0 +1,33 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + return @argument(0); +})`); + +function builtinCaller1() +{ + return builtin(); +} + +function builtinCaller2() +{ + return builtin(42); +} + +function escape(value) +{ + return value; +} +noInline(escape); + +(function () { + for (var i = 0; i < 1e4; ++i) { + shouldBe(escape(builtinCaller1()), undefined); + shouldBe(escape(builtinCaller2()), 42); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-not-convert-to-get-argument.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-not-convert-to-get-argument.js new file mode 100644 index 0000000000..5cee5e2687 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-not-convert-to-get-argument.js @@ -0,0 +1,17 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + return @argument(0); +})`); + +(function () { + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(), undefined); + shouldBe(builtin(42), 42); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/argument-intrinsic-with-stack-write.js b/implementation-contributed/javascriptcore/stress/argument-intrinsic-with-stack-write.js new file mode 100644 index 0000000000..688c687dfa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/argument-intrinsic-with-stack-write.js @@ -0,0 +1,21 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (a) { + a = 42; + return @argument(0); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(), undefined); + shouldBe(builtin(1), 42); + shouldBe(builtin(1, 2), 42); + shouldBe(builtin(1, 2, 3), 42); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/arguments-bizarre-behavior.js b/implementation-contributed/javascriptcore/stress/arguments-bizarre-behavior.js new file mode 100644 index 0000000000..fdc4447bad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-bizarre-behavior.js @@ -0,0 +1,25 @@ +function foo(x) { + Object.defineProperty(arguments, 0, {configurable: true, enumerable: true, writable:true, value:42}); + return [x, arguments[0], arguments] +} + +var result = foo(1); + +if (result[0] !== 42) + throw new Error(); + +if (result[1] !== 42) + throw new Error(); + +if (Array.prototype.join.call(result[2], ",") != "42") + throw new Error(); + +var array = []; +for (var s in result[2]) + array.push(s); + +if (array.join(",") != "0") + throw new Error(); + +if (Object.keys(result[2]).join(",") != "0") + throw new Error(); diff --git a/implementation-contributed/javascriptcore/stress/arguments-bizarre-behaviour-disable-enumerability.js b/implementation-contributed/javascriptcore/stress/arguments-bizarre-behaviour-disable-enumerability.js new file mode 100644 index 0000000000..ab5735f3d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-bizarre-behaviour-disable-enumerability.js @@ -0,0 +1,28 @@ +function foo(x) { + Object.defineProperty(arguments, 0, {configurable: true, enumerable: false, writable:true, value:42}); + return [x, arguments[0], arguments] +} + +var result = foo(1); + +if (result[0] !== 42) + throw new Error(); + +if (result[1] !== 42) + throw new Error(); + +if (Array.prototype.join.call(result[2], ",") != "42") + throw new Error(); + +var array = []; +for (var s in result[2]) + array.push(s); + +if (array.join(",") != "0") + throw new Error(); + +if (Object.keys(result[2]).join(",") != "0") + throw new Error(); + +if (Object.getOwnPropertyDescriptor(result[2], 0).enumerable === true) + throw new Error(); diff --git a/implementation-contributed/javascriptcore/stress/arguments-callee-uninitialized.js b/implementation-contributed/javascriptcore/stress/arguments-callee-uninitialized.js new file mode 100644 index 0000000000..68650423ed --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-callee-uninitialized.js @@ -0,0 +1,11 @@ +function foo(e) { + if (e) { + arguments[0]--; + return arguments.callee.apply(this, arguments); + } +} +noInline(foo); + +for (var i = 0; i < 10000; i++) + foo(1); + diff --git a/implementation-contributed/javascriptcore/stress/arguments-captured.js b/implementation-contributed/javascriptcore/stress/arguments-captured.js new file mode 100644 index 0000000000..0b1e1ab062 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-captured.js @@ -0,0 +1,23 @@ +function foo(o) { + o[0] = 42; +} + +function bar(a) { + var o = {}; + o.f = a; + foo(arguments); + o.g = a; + return o; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000; ++i) { + var result = bar(i); + if (result.f != i) + throw "Error: bad value of f: " + result.f; + if (result.g != 42) + throw "Error: bad value of g: " + result.g; +} + diff --git a/implementation-contributed/javascriptcore/stress/arguments-copy-register-array-backing-store.js b/implementation-contributed/javascriptcore/stress/arguments-copy-register-array-backing-store.js new file mode 100644 index 0000000000..1e64f7b460 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-copy-register-array-backing-store.js @@ -0,0 +1,32 @@ +var foo = function(o) { + return arguments; +}; + +var bar = function() { + var a = Array.prototype.slice.call(arguments); + var sum = 0; + for (var i = 0; i < a.length; ++i) + sum += a[i]; + return sum; +}; + +var args = foo({}, 1, 2, 3); +var expectedArgs = Array.prototype.slice.call(args); + +edenGC(); + +var expectedResult = 0; +var result = 0; +for (var i = 0; i < 10000; ++i) { + expectedResult += i + i + 1 + i + 2; + result += bar(i, i + 1, i + 2); +} + +if (result != expectedResult) + throw new Error("Incorrect result: " + result + " != " + expectedResult); + +for (var i = 0; i < expectedArgs.length; ++i) { + if (args[i] !== expectedArgs[i]) + throw new Error("Incorrect arg result"); +} + diff --git a/implementation-contributed/javascriptcore/stress/arguments-custom-properties-gc.js b/implementation-contributed/javascriptcore/stress/arguments-custom-properties-gc.js new file mode 100644 index 0000000000..86e44d5fa7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-custom-properties-gc.js @@ -0,0 +1,36 @@ +function makeBaseArguments() { + return arguments; +} + +noInline(makeBaseArguments); + +function makeArray(length) { + var array = new Array(length); + for (var i = 0; i < length; ++i) + array[i] = 99999; + return array; +} + +noInline(makeArray); + +function cons(f) { + var result = makeBaseArguments(); + result.f = f; + return result; +} + +var array = []; +for (var i = 0; i < 100000; ++i) + array.push(cons(i)); + +for (var i = 0; i < 1000000; ++i) { + var j = (i * 3) % array.length; + array[j] = cons(j); + + makeArray(i % 7); +} + +for (var i = 0; i < array.length; ++i) { + if (array[i].f != i) + throw "Error: bad value of f at " + i + ": " + array[i].f; +} diff --git a/implementation-contributed/javascriptcore/stress/arguments-define-property.js b/implementation-contributed/javascriptcore/stress/arguments-define-property.js new file mode 100644 index 0000000000..b8d9ba8489 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-define-property.js @@ -0,0 +1,34 @@ +function assert(a) { + if (!a) + throw Error("Bad assertion!"); +} + +function testProperties(o, initProperty, testProperty, shouldThrow) { + Object.defineProperty(arguments, 0, initProperty); + + if (shouldThrow) { + try { + Object.defineProperty(arguments, 0, testProperty); + assert(false); + } catch(e) { + assert(e instanceof TypeError); + } + } else { + assert(Object.defineProperty(arguments, 0, testProperty)); + } +} + +testProperties("foo", {configurable: false}, {writable: true}, false); +testProperties("foo", {configurable: false}, {configurable: true}, true); +testProperties("foo", {configurable: false, enumareble: true}, {enumerable: false}, true); +testProperties("foo", {configurable: false, writable: false}, {writable: false}, false); +testProperties("foo", {configurable: false, writable: false}, {writable: true}, true); +testProperties("foo", {configurable: false, writable: false, value: 50}, {value: 30}, true); +testProperties("foo", {configurable: false, writable: false, value: 30}, {value: 30}, false); +testProperties("foo", {configurable: false, get: () => {return 0}}, {get: () => {return 10}}, true); +let getterFoo = () => {return 0}; +testProperties("foo", {configurable: false, get: getterFoo}, {get: getterFoo}, false); +testProperties("foo", {configurable: false, set: (x) => {return 0}}, {get: (x) => {return 10}}, true); +let setterFoo = (x) => {return 0}; +testProperties("foo", {configurable: false, set: setterFoo}, {set: setterFoo}, false); + diff --git a/implementation-contributed/javascriptcore/stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js b/implementation-contributed/javascriptcore/stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js new file mode 100644 index 0000000000..b3e675f469 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-elimination-candidate-listings-should-respect-pseudo-terminals.js @@ -0,0 +1,28 @@ +var index = 0; +function sideEffect() +{ + return index++ === 0; +} +noInline(sideEffect); + +function args(flag) +{ + var a = arguments; + if (flag) { + return a[4] + a[5]; + } + return a.length; +} + +function test(flag) +{ + args(flag, 0, 1, 2); + if (sideEffect()) { + OSRExit(); + args(sideEffect(), 0, 1, 2); + } +} +noInline(test); + +for (var i = 0; i < 1e3; ++i) + test(false); diff --git a/implementation-contributed/javascriptcore/stress/arguments-elimination-force-exit.js b/implementation-contributed/javascriptcore/stress/arguments-elimination-force-exit.js new file mode 100644 index 0000000000..a50b46a9f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-elimination-force-exit.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function strict(flag) +{ + "use strict"; + if (flag) + return arguments.length + 42; + return arguments.length; +} +noInline(strict); + +function sloppy(flag) +{ + if (flag) + return arguments.length + 42; + return arguments.length; +} +noInline(sloppy); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(strict(false), 1); + shouldBe(sloppy(false), 1); +} +shouldBe(strict(true), 43); +shouldBe(sloppy(true), 43); diff --git a/implementation-contributed/javascriptcore/stress/arguments-elimination-throw.js b/implementation-contributed/javascriptcore/stress/arguments-elimination-throw.js new file mode 100644 index 0000000000..3b5119a9de --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-elimination-throw.js @@ -0,0 +1,51 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorCondition) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (!errorCondition(error)) + throw new Error(`bad error: ${String(error)}`); +} + +function strict(flag) +{ + "use strict"; + if (flag) + throw arguments; + return arguments.length; +} +noInline(strict); + +function sloppy(flag) +{ + if (flag) + throw arguments; + return arguments.length; +} +noInline(sloppy); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(strict(false), 1); + shouldBe(sloppy(false), 1); +} +function isArguments(arg) +{ + shouldBe(String(arg), `[object Arguments]`); + shouldBe(arg.length, 1); + shouldBe(arg[0], true); + return true; +} +shouldThrow(() => strict(true), isArguments); +shouldThrow(() => sloppy(true), isArguments); diff --git a/implementation-contributed/javascriptcore/stress/arguments-elimination-varargs-too-many-args-arg-count.js b/implementation-contributed/javascriptcore/stress/arguments-elimination-varargs-too-many-args-arg-count.js new file mode 100644 index 0000000000..c2b6859551 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-elimination-varargs-too-many-args-arg-count.js @@ -0,0 +1,30 @@ +function foo() +{ + return arguments.length; +} + +function bar(...args) +{ + var a = [42]; + if (isFinalTier()) + a = args; + return {ftl: isFinalTier(), result: foo(...a)}; +} + +function baz() +{ + return bar(1, 2, 3, 4); +} + +noInline(baz); + +for (var i = 0; i < 100000; ++i) { + var result = baz(); + if (result.ftl) { + if (result.result != 4) + throw "Error: bad result in loop in DFG: " + result.result; + } else { + if (result.result != 1) + throw "Error: bad result in loop before DFG: " + result.result; + } +} diff --git a/implementation-contributed/javascriptcore/stress/arguments-exit-fixed.js b/implementation-contributed/javascriptcore/stress/arguments-exit-fixed.js new file mode 100644 index 0000000000..4d107a8d21 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-exit-fixed.js @@ -0,0 +1,16 @@ +function foo(x) { + var tmp = x.f + 1; + return tmp + arguments[0].f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:i}); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = foo({f:4.5}); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode-fixed.js b/implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode-fixed.js new file mode 100644 index 0000000000..fa816f2eb3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode-fixed.js @@ -0,0 +1,18 @@ +"use strict"; + +function foo(x) { + var tmp = x.f + 1; + return tmp + arguments[0].f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:i}); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = foo({f:4.5}); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode.js b/implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode.js new file mode 100644 index 0000000000..04c714ee00 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-exit-strict-mode.js @@ -0,0 +1,18 @@ +"use strict"; + +function foo(x) { + var tmp = x + 1; + return tmp + arguments[0]; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(i); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = foo(4.5); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-exit.js b/implementation-contributed/javascriptcore/stress/arguments-exit.js new file mode 100644 index 0000000000..8580820c74 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-exit.js @@ -0,0 +1,16 @@ +function foo(x) { + var tmp = x + 1; + return tmp + arguments[0]; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(i); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = foo(4.5); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode-fixed.js b/implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode-fixed.js new file mode 100644 index 0000000000..d08251f18b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode-fixed.js @@ -0,0 +1,22 @@ +"use strict"; + +function foo(x) { + var tmp = x.f + 1; + return tmp + arguments[0].f; +} + +function bar(x) { + return foo(x); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar({f:i}); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = bar({f:4.5}); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode.js b/implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode.js new file mode 100644 index 0000000000..748251d1f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-inlined-exit-strict-mode.js @@ -0,0 +1,22 @@ +"use strict"; + +function foo(x) { + var tmp = x + 1; + return tmp + arguments[0]; +} + +function bar(x) { + return foo(x); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(i); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = bar(4.5); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-inlined-exit.js b/implementation-contributed/javascriptcore/stress/arguments-inlined-exit.js new file mode 100644 index 0000000000..43470d9336 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-inlined-exit.js @@ -0,0 +1,20 @@ +function foo(x) { + var tmp = x + 1; + return tmp + arguments[0]; +} + +function bar(x) { + return foo(x); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(i); + if (result != i + i + 1) + throw "Error: bad result: " + result; +} + +var result = bar(4.5); +if (result != 4.5 + 4.5 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/arguments-interference-cfg.js b/implementation-contributed/javascriptcore/stress/arguments-interference-cfg.js new file mode 100644 index 0000000000..6904160d0f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-interference-cfg.js @@ -0,0 +1,24 @@ +function bar() { + return arguments; +} + +function foo(p) { + var a = bar(1, 2, 3); + var b; + if (p) + b = bar(4, 5, 6); + else + b = [7, 8, 9]; + return (a[0] << 0) + (a[1] << 1) + (a[2] << 2) + (b[0] << 3) + (b[1] << 4) + (b[2] << 5); +} + +noInline(foo); + +for (var i = 0; i < 20000; ++i) { + var p = i & 1; + var q = (!p) * 3; + var result = foo(p); + if (result != (1 << 0) + (2 << 1) + (3 << 2) + ((4 + q) << 3) + ((5 + q) << 4) + ((6 + q) << 5)) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/arguments-interference.js b/implementation-contributed/javascriptcore/stress/arguments-interference.js new file mode 100644 index 0000000000..d66f365b1b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-interference.js @@ -0,0 +1,18 @@ +function bar() { + return arguments; +} + +function foo() { + var a = bar(1, 2, 3); + var b = bar(4, 5, 6); + return (a[0] << 0) + (a[1] << 1) + (a[2] << 2) + (b[0] << 3) + (b[1] << 4) + (b[2] << 5); +} + +noInline(foo); + +for (var i = 0; i < 20000; ++i) { + var result = foo(); + if (result != (1 << 0) + (2 << 1) + (3 << 2) + (4 << 3) + (5 << 4) + (6 << 5)) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/arguments-iterator.js b/implementation-contributed/javascriptcore/stress/arguments-iterator.js new file mode 100644 index 0000000000..1980532107 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-iterator.js @@ -0,0 +1,70 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testArguments(check) { + (function () { + check(arguments, []); + }()); + + (function (a, b, c) { + check(arguments, [a, b, c]); + }()); + + (function () { + 'use strict'; + check(arguments, []); + }()); + + (function (a, b, c) { + 'use strict'; + check(arguments, [a, b, c]); + }()); +} + +testArguments(function (args) { + var iteratorMethod = args[Symbol.iterator]; + test(iteratorMethod, Array.prototype.values); + var descriptor = Object.getOwnPropertyDescriptor(args, Symbol.iterator); + test(descriptor.writable, true); + test(descriptor.configurable, true); + test(descriptor.enumerable, false); + test(descriptor.value, iteratorMethod); +}); + +testArguments(function (args, expected) { + var iterator = args[Symbol.iterator](); + test(iterator.toString(), '[object Array Iterator]'); + var index = 0; + for (var value of iterator) { + test(value, expected[index++]); + } + test(args.length, index); + + var index = 0; + for (var value of args) { + test(value, expected[index++]); + } + test(args.length, index); +}); + +testArguments(function (args) { + var symbols = Object.getOwnPropertySymbols(args); + test(symbols.length, 1); + test(symbols[0], Symbol.iterator); +}); + +testArguments(function (args) { + 'use strict'; + args[Symbol.iterator] = 'not throw error'; +}); + +testArguments(function (args) { + 'use strict'; + delete args[Symbol.iterator]; + test(args[Symbol.iterator], undefined); + + var symbols = Object.getOwnPropertySymbols(args); + test(symbols.length, 0); +}); diff --git a/implementation-contributed/javascriptcore/stress/arguments-length-always-dont-enum.js b/implementation-contributed/javascriptcore/stress/arguments-length-always-dont-enum.js new file mode 100644 index 0000000000..c63c16686e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-length-always-dont-enum.js @@ -0,0 +1,15 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + + +var argsSloppy = (function () { return arguments; }(1,2,3)); +var argsStrict = (function () { 'use strict'; return arguments; }(1,2,3)); + +shouldBe(Object.prototype.propertyIsEnumerable(argsSloppy, 'length'), false); +shouldBe(Object.prototype.propertyIsEnumerable(argsStrict, 'length'), false); + +shouldBe(Object.keys(argsSloppy).length === Object.keys(argsStrict).length, true); +shouldBe(Object.keys(argsSloppy).indexOf('length'), -1) +shouldBe(Object.keys(argsStrict).indexOf('length'), -1); diff --git a/implementation-contributed/javascriptcore/stress/arguments-non-configurable.js b/implementation-contributed/javascriptcore/stress/arguments-non-configurable.js new file mode 100644 index 0000000000..c5a055fcc8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arguments-non-configurable.js @@ -0,0 +1,27 @@ +function assert(a) { + if (!a) + throw Error("Bad assertion!"); +} + +function tryChangeNonConfigurableDescriptor(x) { + Object.defineProperty(arguments, 0, {configurable: false}); + try { + Object.defineProperty(arguments, 0, x); + assert(false); + } catch(e) { + assert(e instanceof TypeError); + } +} + +tryChangeNonConfigurableDescriptor({get: () => {return 50;} }); +tryChangeNonConfigurableDescriptor({set: (x) => {}}); +tryChangeNonConfigurableDescriptor({writable: true, enumerable: false}); + +function tryChangeWritableOfNonConfigurableDescriptor(x) { + Object.defineProperty(arguments, 0, {configurable: false}); + Object.defineProperty(arguments, 0, {writable: true}); + assert(Object.defineProperty(arguments, 0, {writable: false})); +} + +tryChangeWritableOfNonConfigurableDescriptor("foo"); + diff --git a/implementation-contributed/javascriptcore/stress/arith-abs-integer-range-optimization.js b/implementation-contributed/javascriptcore/stress/arith-abs-integer-range-optimization.js new file mode 100644 index 0000000000..5be96f75f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-abs-integer-range-optimization.js @@ -0,0 +1,139 @@ +function negativeRange(results) +{ + for (var i = -1; i > -10; --i) { + results[Math.abs(i)] = i; + } +} +noInline(negativeRange); + +for (var i = 0; i < 1e4; ++i) { + var results = []; + negativeRange(results); + if (results.length != 10) + throw "Wrong result length: " + results.length; + for (var j = 0; j < 10; ++j) { + if (j < 1) { + if (results[j] !== undefined) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + continue; + } + if (results[j] !== -j) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} + +function negativeRangeIncludingZero(results) +{ + for (var i = 0; i > -10; --i) { + results[Math.abs(i)] = i; + } +} +noInline(negativeRangeIncludingZero); + +for (var i = 0; i < 1e4; ++i) { + var results = []; + negativeRangeIncludingZero(results); + if (results.length != 10) + throw "Wrong result length: " + results.length; + for (var j = 0; j < 10; ++j) { + if (results[j] !== -j) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} + +function negativeRangeWithOverflow(results, limit) +{ + var i = -2147483648 + 10; + do { + results.push(Math.abs(i)); + --i; + } while (i !== limit); +} +noInline(negativeRangeWithOverflow); + +// First, we warm up without overflow. +for (var i = 0; i < 1e4; ++i) { + var results = []; + negativeRangeWithOverflow(results, -2147483647); + if (results.length != 9) + throw "Wrong result length: " + results.length; + for (var j = 0; j < 9; ++j) { + if (results[j] !== 2147483638 + j) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} + +// Then we overflow. +for (var i = 0; i < 1e4; ++i) { + var results = []; + negativeRangeWithOverflow(results, -2147483648); + if (results.length != 10) + throw "Wrong result length: " + results.length; + for (var j = 0; j < 10; ++j) { + if (results[j] !== 2147483638 + j) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} + +function positiveRange(results) +{ + for (var i = 1; i < 10; ++i) { + results[Math.abs(i)] = i; + } +} +noInline(positiveRange); + +for (var i = 0; i < 1e4; ++i) { + var results = []; + positiveRange(results); + if (results.length != 10) + throw "Wrong result length: " + results.length; + for (var j = 0; j < 10; ++j) { + if (j < 1) { + if (results[j] !== undefined) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + continue; + } + if (results[j] !== j) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} + +function positiveRangeIncludingZero(results) +{ + for (var i = 0; i < 10; ++i) { + results[Math.abs(i)] = i; + } +} +noInline(positiveRangeIncludingZero); + +for (var i = 0; i < 1e4; ++i) { + var results = []; + positiveRangeIncludingZero(results); + if (results.length != 10) + throw "Wrong result length: " + results.length; + for (var j = 0; j < 10; ++j) { + if (results[j] !== j) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} + +function rangeWithoutOverflow(results) +{ + for (var i = -10; i < 10; ++i) { + results[i] = Math.abs(i); + } +} +noInline(rangeWithoutOverflow); + +for (var i = 0; i < 1e4; ++i) { + var results = []; + rangeWithoutOverflow(results); + if (results.length != 10) + throw "Wrong result length: " + results.length; + for (var j = -10; j < 10; ++j) { + var expected = (j < 0) ? -j : j; + if (results[j] !== expected) + throw "Wrong result, results[j] = " + results[j] + " at j = " + j; + } +} diff --git a/implementation-contributed/javascriptcore/stress/arith-abs-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-abs-on-various-types.js new file mode 100644 index 0000000000..4e67f173d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-abs-on-various-types.js @@ -0,0 +1,240 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "0"], + ["1.", "1"], + ["42", "42"], + ["-42", "42"], + ["Math.E", "Math.E"], + ["Infinity", "Infinity"], + ["-Infinity", "Infinity"], + ["NaN", "NaN"], + ["-NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "4"], + ["\"-4\"", "4"], + ["{ valueOf: () => { return Math.E; } }", "Math.E"], + ["{ valueOf: () => { return 4; } }", "4"], + ["{ valueOf: () => { return -4; } }", "4"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.abs() without arguments. +function opaqueAbsNoArgument() { + return Math.abs(); +} +noInline(opaqueAbsNoArgument); +noOSRExitFuzzing(opaqueAbsNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueAbsNoArgument(); + if (output === output) { + throw "Failed opaqueAbsNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueAbsNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.abs() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesAbs(argument) { + return Math.abs(argument); +} +noInline(opaqueAllTypesAbs); +noOSRExitFuzzing(opaqueAllTypesAbs); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesAbs(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesAbs) > 3) + throw "We should have detected abs() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.abs() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueAbs(argument) { + return Math.abs(argument); + } + noInline(opaqueAbs); + noOSRExitFuzzing(opaqueAbs); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueAbs(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueAbs) > 1) + throw "We should have compiled a single abs for the expected type. The argument was " + ${testCaseInput[0]}; + `); + } +} +testSingleTypeCall(); + + +// Test Math.abs() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueAbsOnConstant() { + return Math.abs(${testCaseInput[0]}); + } + noInline(opaqueAbsOnConstant); + noOSRExitFuzzing(opaqueAbsOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueAbsOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueAbsOnConstant) > 1) + throw "We should have compiled a single abs for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueAbsForSideEffects(argument) { + return Math.abs(argument); +} +noInline(opaqueAbsForSideEffects); +noOSRExitFuzzing(opaqueAbsForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let abs16 = Math.abs(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueAbsForSideEffects(testObject) !== abs16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueAbsForSideEffects) > 1) + throw "opaqueAbsForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify abs() is not subject to CSE if the argument has side effects. +function opaqueAbsForCSE(argument) { + return Math.abs(argument) + Math.abs(argument) + Math.abs(argument); +} +noInline(opaqueAbsForCSE); +noOSRExitFuzzing(opaqueAbsForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let abs16 = Math.abs(16); + let threeAbs16 = abs16 + abs16 + abs16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueAbsForCSE(testObject) !== threeAbs16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueAbsForCSE) > 1) + throw "opaqueAbsForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify abs() is not subject to DCE if the argument has side effects. +function opaqueAbsForDCE(argument) { + Math.abs(argument); +} +noInline(opaqueAbsForDCE); +noOSRExitFuzzing(opaqueAbsForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueAbsForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueAbsForDCE) > 1) + throw "opaqueAbsForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueAbsWithException(argument) { + let result = Math.abs(argument); + ++counter; + return result; + } + noInline(opaqueAbsWithException); + + let testObject = { valueOf: () => { return 64; } }; + let abs64 = Math.abs(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueAbsWithException(testObject) !== abs64) + throw "Incorrect result in opaqueAbsWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueAbsWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueAbsWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-abs-overflow.js b/implementation-contributed/javascriptcore/stress/arith-abs-overflow.js new file mode 100644 index 0000000000..ba2ad28f60 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-abs-overflow.js @@ -0,0 +1,22 @@ +function opaqueAbs(value) +{ + return Math.abs(value); +} +noInline(opaqueAbs); + +// Warmup. +for (let i = 0; i < 1e4; ++i) { + var positiveResult = opaqueAbs(i); + if (positiveResult !== i) + throw "Incorrect positive result at i = " + i + " result = " + positiveResult; + var negativeResult = opaqueAbs(-i); + if (negativeResult !== i) + throw "Incorrect negative result at -i = " + -i + " result = " + negativeResult; +} + +// Overflow. +for (let i = 0; i < 1e4; ++i) { + var overflowResult = opaqueAbs(-2147483648); + if (overflowResult !== 2147483648) + throw "Incorrect overflow result at i = " + i + " result = " + overflowResult; +} diff --git a/implementation-contributed/javascriptcore/stress/arith-abs-to-arith-negate-range-optimizaton.js b/implementation-contributed/javascriptcore/stress/arith-abs-to-arith-negate-range-optimizaton.js new file mode 100644 index 0000000000..be22972180 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-abs-to-arith-negate-range-optimizaton.js @@ -0,0 +1,427 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +// Checked int_min < value < 0 +function opaqueCheckedBetweenIntMinAndZeroExclusive(arg) { + if (arg < 0) { + if (arg > (0x80000000|0)) { + return Math.abs(arg); + } + } + throw "We should not be here"; +} +noInline(opaqueCheckedBetweenIntMinAndZeroExclusive); + +function testCheckedBetweenIntMinAndZeroExclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedBetweenIntMinAndZeroExclusive(-i) !== i) { + throw "Failed testCheckedBetweenIntMinAndZeroExclusive()"; + } + if (opaqueCheckedBetweenIntMinAndZeroExclusive(-2147483647) !== 2147483647) { + throw "Failed testCheckedBetweenIntMinAndZeroExclusive() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueCheckedBetweenIntMinAndZeroExclusive) > 1) { + throw "Failed optimizing testCheckedBetweenIntMinAndZeroExclusive(). None of the tested case need to OSR Exit."; + } +} +testCheckedBetweenIntMinAndZeroExclusive(); + + +// Checked int_min < value <= 0 +function opaqueCheckedBetweenIntMinExclusiveAndZeroInclusive(arg) { + if (arg <= 0) { + if (arg > (0x80000000|0)) { + return Math.abs(arg); + } + } + throw "We should not be here"; +} +noInline(opaqueCheckedBetweenIntMinExclusiveAndZeroInclusive); + +function testCheckedBetweenIntMinExclusiveAndZeroInclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedBetweenIntMinExclusiveAndZeroInclusive(-i) !== i) { + throw "Failed testCheckedBetweenIntMinExclusiveAndZeroInclusive()"; + } + if (opaqueCheckedBetweenIntMinExclusiveAndZeroInclusive(0) !== 0) { + throw "Failed testCheckedBetweenIntMinExclusiveAndZeroInclusive() on 0"; + } + if (opaqueCheckedBetweenIntMinExclusiveAndZeroInclusive(-2147483647) !== 2147483647) { + throw "Failed testCheckedBetweenIntMinExclusiveAndZeroInclusive() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueCheckedBetweenIntMinExclusiveAndZeroInclusive) > 1) { + throw "Failed optimizing testCheckedBetweenIntMinExclusiveAndZeroInclusive(). None of the tested case need to OSR Exit."; + } +} +testCheckedBetweenIntMinExclusiveAndZeroInclusive(); + + +// Checked int_min <= value < 0 +function opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive(arg) { + if (arg < 0) { + if (arg >= (0x80000000|0)) { + return Math.abs(arg); + } + } + throw "We should not be here"; +} +noInline(opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive); + +function testCheckedBetweenIntMinInclusiveAndZeroExclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive(-i) !== i) { + throw "Failed testCheckedBetweenIntMinInclusiveAndZeroExclusive()"; + } + if (opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive(-2147483647) !== 2147483647) { + throw "Failed testCheckedBetweenIntMinInclusiveAndZeroExclusive() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive) > 1) { + throw "Failed optimizing testCheckedBetweenIntMinInclusiveAndZeroExclusive(). None of the tested case need to OSR Exit."; + } + + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive(-i) !== i) { + throw "Failed testCheckedBetweenIntMinInclusiveAndZeroExclusive()"; + } + let result = opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive(-2147483648); + if (result !== 2147483648) { + throw "Failed testCheckedBetweenIntMinInclusiveAndZeroExclusive() on -2147483648, got " + result; + } + } + + if (numberOfDFGCompiles(opaqueCheckedBetweenIntMinInclusiveAndZeroExclusive) > 2) { + throw "Math.abs() on IntMin can OSR Exit but we should quickly settle on double."; + } +} +testCheckedBetweenIntMinInclusiveAndZeroExclusive(); + + +// Checked int_min <= value <= 0 +function opaqueCheckedBetweenIntMinAndZeroInclusive(arg) { + if (arg <= 0) { + if (arg >= (0x80000000|0)) { + return Math.abs(arg); + } + } + throw "We should not be here"; +} +noInline(opaqueCheckedBetweenIntMinAndZeroInclusive); + +function testCheckedBetweenIntMinAndZeroInclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedBetweenIntMinAndZeroInclusive(-i) !== i) { + throw "Failed testCheckedBetweenIntMinAndZeroInclusive()"; + } + if (opaqueCheckedBetweenIntMinAndZeroInclusive(0) !== 0) { + throw "Failed testCheckedBetweenIntMinAndZeroInclusive()"; + } + if (opaqueCheckedBetweenIntMinAndZeroInclusive(-2147483647) !== 2147483647) { + throw "Failed testCheckedBetweenIntMinAndZeroInclusive() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueCheckedBetweenIntMinAndZeroInclusive) > 1) { + throw "Failed optimizing testCheckedBetweenIntMinAndZeroInclusive(). None of the tested case need to OSR Exit."; + } + + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedBetweenIntMinAndZeroInclusive(-i) !== i) { + throw "Failed testCheckedBetweenIntMinAndZeroInclusive()"; + } + if (opaqueCheckedBetweenIntMinAndZeroInclusive(0) !== 0) { + throw "Failed testCheckedBetweenIntMinAndZeroInclusive()"; + } + if (opaqueCheckedBetweenIntMinAndZeroInclusive(-2147483648) !== 2147483648) { + throw "Failed testCheckedBetweenIntMinAndZeroInclusive() on -2147483648"; + } + } + + if (numberOfDFGCompiles(opaqueCheckedBetweenIntMinAndZeroInclusive) > 2) { + throw "Math.abs() on IntMin can OSR Exit but we should quickly settle on double."; + } +} +testCheckedBetweenIntMinAndZeroInclusive(); + + +// Unchecked int_min < value < 0 +function opaqueUncheckedBetweenIntMinAndZeroExclusive(arg) { + if (arg < 0) { + if (arg > (0x80000000|0)) { + return Math.abs(arg)|0; + } + } + throw "We should not be here"; +} +noInline(opaqueUncheckedBetweenIntMinAndZeroExclusive); + +function testUncheckedBetweenIntMinAndZeroExclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedBetweenIntMinAndZeroExclusive(-i) !== i) { + throw "Failed testUncheckedBetweenIntMinAndZeroExclusive()"; + } + if (opaqueUncheckedBetweenIntMinAndZeroExclusive(-2147483647) !== 2147483647) { + throw "Failed testUncheckedBetweenIntMinAndZeroExclusive() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedBetweenIntMinAndZeroExclusive) > 1) { + throw "Failed optimizing testUncheckedBetweenIntMinAndZeroExclusive(). None of the tested case need to OSR Exit."; + } +} +testUncheckedBetweenIntMinAndZeroExclusive(); + + +// Unchecked int_min < value <= 0 +function opaqueUncheckedBetweenIntMinExclusiveAndZeroInclusive(arg) { + if (arg <= 0) { + if (arg > (0x80000000|0)) { + return Math.abs(arg)|0; + } + } + throw "We should not be here"; +} +noInline(opaqueUncheckedBetweenIntMinExclusiveAndZeroInclusive); + +function testUncheckedBetweenIntMinExclusiveAndZeroInclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedBetweenIntMinExclusiveAndZeroInclusive(-i) !== i) { + throw "Failed testUncheckedBetweenIntMinExclusiveAndZeroInclusive()"; + } + if (opaqueUncheckedBetweenIntMinExclusiveAndZeroInclusive(0) !== 0) { + throw "Failed testUncheckedBetweenIntMinExclusiveAndZeroInclusive() on 0"; + } + if (opaqueUncheckedBetweenIntMinExclusiveAndZeroInclusive(-2147483647) !== 2147483647) { + throw "Failed testUncheckedBetweenIntMinExclusiveAndZeroInclusive() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedBetweenIntMinExclusiveAndZeroInclusive) > 1) { + throw "Failed optimizing testUncheckedBetweenIntMinExclusiveAndZeroInclusive(). None of the tested case need to OSR Exit."; + } +} +testUncheckedBetweenIntMinExclusiveAndZeroInclusive(); + + +// Unchecked int_min <= value < 0 +function opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive(arg) { + if (arg < 0) { + if (arg >= (0x80000000|0)) { + return Math.abs(arg)|0; + } + } + throw "We should not be here"; +} +noInline(opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive); + +function testUncheckedBetweenIntMinInclusiveAndZeroExclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive(-i) !== i) { + throw "Failed testUncheckedBetweenIntMinInclusiveAndZeroExclusive()"; + } + if (opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive(-2147483647) !== 2147483647) { + throw "Failed testUncheckedBetweenIntMinInclusiveAndZeroExclusive() on -2147483647"; + } + if (opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive(-2147483648) !== -2147483648) { + throw "Failed testUncheckedBetweenIntMinInclusiveAndZeroExclusive() on -2147483648"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive) > 1) { + throw "Failed optimizing testUncheckedBetweenIntMinInclusiveAndZeroExclusive(). None of the tested case need to OSR Exit."; + } +} +testUncheckedBetweenIntMinInclusiveAndZeroExclusive(); + + +// Unchecked int_min <= value <= 0 +function opaqueUncheckedBetweenIntMinAndZeroInclusive(arg) { + if (arg <= 0) { + if (arg >= (0x80000000|0)) { + return Math.abs(arg)|0; + } + } + throw "We should not be here"; +} +noInline(opaqueUncheckedBetweenIntMinAndZeroInclusive); + +function testUncheckedBetweenIntMinAndZeroInclusive() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedBetweenIntMinAndZeroInclusive(-i) !== i) { + throw "Failed testUncheckedBetweenIntMinAndZeroInclusive()"; + } + if (opaqueUncheckedBetweenIntMinAndZeroInclusive(0) !== 0) { + throw "Failed testUncheckedBetweenIntMinAndZeroInclusive()"; + } + if (opaqueUncheckedBetweenIntMinAndZeroInclusive(-2147483647) !== 2147483647) { + throw "Failed testUncheckedBetweenIntMinAndZeroInclusive() on -2147483647"; + } + if (opaqueUncheckedBetweenIntMinInclusiveAndZeroExclusive(-2147483648) !== -2147483648) { + throw "Failed testUncheckedBetweenIntMinInclusiveAndZeroExclusive() on -2147483648"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedBetweenIntMinAndZeroInclusive) > 1) { + throw "Failed optimizing testUncheckedBetweenIntMinAndZeroInclusive(). None of the tested case need to OSR Exit."; + } +} +testUncheckedBetweenIntMinAndZeroInclusive(); + + +// Checked value < 0 +function opaqueCheckedLessThanZero(arg) { + if (arg < 0) { + return Math.abs(arg); + } + throw "We should not be here"; +} +noInline(opaqueCheckedLessThanZero); + +function testCheckedLessThanZero() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedLessThanZero(-i) !== i) { + throw "Failed testCheckedLessThanZero()"; + } + if (opaqueCheckedLessThanZero(-2147483647) !== 2147483647) { + throw "Failed testCheckedLessThanZero() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueCheckedLessThanZero) > 1) { + throw "Failed optimizing testCheckedLessThanZero(). None of the tested case need to OSR Exit."; + } + + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedLessThanZero(-i) !== i) { + throw "Failed testCheckedLessThanZero()"; + } + let result = opaqueCheckedLessThanZero(-2147483648); + if (result !== 2147483648) { + throw "Failed testCheckedLessThanZero() on -2147483648, got " + result; + } + } + if (numberOfDFGCompiles(opaqueCheckedLessThanZero) > 2) { + throw "Math.abs() on IntMin can OSR Exit but we should quickly settle on double."; + } +} +testCheckedLessThanZero(); + + +// Checked value <= 0 +function opaqueCheckedLessThanOrEqualZero(arg) { + if (arg <= 0) { + return Math.abs(arg); + } + throw "We should not be here"; +} +noInline(opaqueCheckedLessThanOrEqualZero); + +function testCheckedLessThanOrEqualZero() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedLessThanOrEqualZero(-i) !== i) { + throw "Failed testCheckedLessThanOrEqualZero()"; + } + if (opaqueCheckedLessThanOrEqualZero(0) !== 0) { + throw "Failed testCheckedLessThanOrEqualZero() on 0"; + } + if (opaqueCheckedLessThanOrEqualZero(-2147483647) !== 2147483647) { + throw "Failed testCheckedLessThanOrEqualZero() on -2147483647"; + } + } + if (numberOfDFGCompiles(opaqueCheckedLessThanOrEqualZero) > 1) { + throw "Failed optimizing testCheckedLessThanOrEqualZero(). None of the tested case need to OSR Exit."; + } + + for (let i = 1; i < 1e5; ++i) { + if (opaqueCheckedLessThanOrEqualZero(-i) !== i) { + throw "Failed testCheckedLessThanOrEqualZero()"; + } + if (opaqueCheckedLessThanOrEqualZero(-2147483648) !== 2147483648) { + throw "Failed testCheckedLessThanOrEqualZero() on -2147483648"; + } + } + if (numberOfDFGCompiles(opaqueCheckedLessThanOrEqualZero) > 2) { + throw "Math.abs() on IntMin can OSR Exit but we should quickly settle on double."; + } +} +testCheckedLessThanOrEqualZero(); + + +// Unchecked value < 0 +function opaqueUncheckedLessThanZero(arg) { + if (arg < 0) { + return Math.abs(arg)|0; + } + throw "We should not be here"; +} +noInline(opaqueUncheckedLessThanZero); + +function testUncheckedLessThanZero() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedLessThanZero(-i) !== i) { + throw "Failed testUncheckedLessThanZero()"; + } + if (opaqueUncheckedLessThanZero(-2147483647) !== 2147483647) { + throw "Failed testUncheckedLessThanZero() on -2147483647"; + } + if (opaqueUncheckedLessThanZero(-2147483648) !== -2147483648) { + throw "Failed testUncheckedLessThanOrEqualZero() on -2147483648"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedLessThanZero) > 1) { + throw "Failed optimizing testUncheckedLessThanZero(). None of the tested case need to OSR Exit."; + } + + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedLessThanZero(-i) !== i) { + throw "Failed testUncheckedLessThanZero()"; + } + if (opaqueUncheckedLessThanZero(-2147483648) !== -2147483648) { + throw "Failed testUncheckedLessThanZero() on -2147483648"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedLessThanZero) > 2) { + throw "Math.abs() on IntMin can OSR Exit but we should quickly settle on double."; + } +} +testUncheckedLessThanZero(); + + +// Unchecked value <= 0 +function opaqueUncheckedLessThanOrEqualZero(arg) { + if (arg <= 0) { + return Math.abs(arg)|0; + } + throw "We should not be here"; +} +noInline(opaqueUncheckedLessThanOrEqualZero); + +function testUncheckedLessThanOrEqualZero() +{ + for (let i = 1; i < 1e5; ++i) { + if (opaqueUncheckedLessThanOrEqualZero(-i) !== i) { + throw "Failed testUncheckedLessThanOrEqualZero()"; + } + if (opaqueUncheckedLessThanOrEqualZero(0) !== 0) { + throw "Failed testUncheckedLessThanOrEqualZero() on 0"; + } + if (opaqueUncheckedLessThanOrEqualZero(-2147483647) !== 2147483647) { + throw "Failed testUncheckedLessThanOrEqualZero() on -2147483647"; + } + if (opaqueUncheckedLessThanOrEqualZero(-2147483648) !== -2147483648) { + throw "Failed testUncheckedLessThanOrEqualZero() on -2147483648"; + } + } + if (numberOfDFGCompiles(opaqueUncheckedLessThanOrEqualZero) > 1) { + throw "Failed optimizing testUncheckedLessThanOrEqualZero(). None of the tested case need to OSR Exit."; + } +} +testUncheckedLessThanOrEqualZero(); diff --git a/implementation-contributed/javascriptcore/stress/arith-abs-with-bitwise-or-zero.js b/implementation-contributed/javascriptcore/stress/arith-abs-with-bitwise-or-zero.js new file mode 100644 index 0000000000..0f2450f4eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-abs-with-bitwise-or-zero.js @@ -0,0 +1,54 @@ +function opaqueAbs(value) +{ + return Math.abs(value)|0; +} +noInline(opaqueAbs); + +for (let i = 0; i < 1e4; ++i) { + var positiveResult = opaqueAbs(i); + if (positiveResult !== i) + throw "Incorrect result at i = " + i + " result = " + positiveResult; + var negativeResult = opaqueAbs(-i); + if (negativeResult !== i) + throw "Incorrect result at -i = " + -i + " result = " + negativeResult; +} + + +var intMax = 2147483647; +var intMin = 2147483647; + +var intMaxResult = opaqueAbs(intMax); +if (intMaxResult !== intMax) + throw "Incorrect result at intMax result = " + intMaxResult; +var intMaxResult = opaqueAbs(intMin); +if (intMaxResult !== intMin) + throw "Incorrect result at intMax result = " + intMaxResult; + +// Numbers around IntMax/IntMin. Numbers outside the bounds are doubles and opaqueAbs() +// has to OSR Exit to handle them correctly. +for (let i = intMax - 1e4; i < intMax + 1e4; ++i) { + var positiveResult = opaqueAbs(i); + if (positiveResult !== (i|0)) + throw "Incorrect result at i = " + i + " result = " + positiveResult; + var negativeResult = opaqueAbs(-i); + if (negativeResult !== (i|0)) + throw "Incorrect result at -i = " + -i + " result = " + negativeResult; +} + +// Edge cases and exits. +if (opaqueAbs(NaN) !== 0) + throw "opaqueAbs(NaN) failed."; +if (opaqueAbs(Infinity) !== 0) + throw "opaqueAbs(Infinity) failed."; +if (opaqueAbs(-Infinity) !== 0) + throw "opaqueAbs(-Infinity) failed."; +if (opaqueAbs(null) !== 0) + throw "opaqueAbs(null) failed."; +if (opaqueAbs(undefined) !== 0) + throw "opaqueAbs(undefined) failed."; +if (opaqueAbs(true) !== 1) + throw "opaqueAbs(true) failed."; +if (opaqueAbs(false) !== 0) + throw "opaqueAbs(false) failed."; +if (opaqueAbs({foo:"bar"}) !== 0) + throw "opaqueAbs({foo:'bar'}) failed."; diff --git a/implementation-contributed/javascriptcore/stress/arith-acos-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-acos-on-various-types.js new file mode 100644 index 0000000000..f9ac40deb7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-acos-on-various-types.js @@ -0,0 +1,237 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let acosOfHalf = Math.acos(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "" + Math.acos(0)], + ["1", "0"], + ["0", "" + Math.acos(0)], + ["-0.", "" + Math.acos(0)], + ["0.5", "" + acosOfHalf], + ["Math.PI", "" + Math.acos(Math.PI)], + ["Infinity", "NaN"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + acosOfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + acosOfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.acos() without arguments. +function opaqueACosNoArgument() { + return Math.acos(); +} +noInline(opaqueACosNoArgument); +noOSRExitFuzzing(opaqueACosNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueACosNoArgument(); + if (output === output) { + throw "Failed opaqueACosNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueACosNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.acos() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesACos(argument) { + return Math.acos(argument); +} +noInline(opaqueAllTypesACos); +noOSRExitFuzzing(opaqueAllTypesACos); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesACos(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesACos) > 2) + throw "We should have detected acos() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.acos() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueACos(argument) { + return Math.acos(argument); + } + noInline(opaqueACos); + noOSRExitFuzzing(opaqueACos); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueACos(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueACos) > 1) + throw "We should have compiled a single acos for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.acos() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueACosOnConstant() { + return Math.acos(${testCaseInput[0]}); + } + noInline(opaqueACosOnConstant); + noOSRExitFuzzing(opaqueACosOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueACosOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueACosOnConstant) > 1) + throw "We should have compiled a single acos for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueACosForSideEffects(argument) { + return Math.acos(argument); +} +noInline(opaqueACosForSideEffects); +noOSRExitFuzzing(opaqueACosForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let acosResult = Math.acos(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueACosForSideEffects(testObject) !== acosResult) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueACosForSideEffects) > 1) + throw "opaqueACosForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify acos() is not subject to CSE if the argument has side effects. +function opaqueACosForCSE(argument) { + return Math.acos(argument) + Math.acos(argument) + Math.acos(argument); +} +noInline(opaqueACosForCSE); +noOSRExitFuzzing(opaqueACosForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let acosResult = Math.acos(0.2); + let threeacosResult = acosResult + acosResult + acosResult; + for (let i = 0; i < 1e4; ++i) { + if (opaqueACosForCSE(testObject) !== threeacosResult) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueACosForCSE) > 1) + throw "opaqueACosForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify acos() is not subject to DCE if the argument has side effects. +function opaqueACosForDCE(argument) { + Math.acos(argument); +} +noInline(opaqueACosForDCE); +noOSRExitFuzzing(opaqueACosForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueACosForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueACosForDCE) > 1) + throw "opaqueACosForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueACosWithException(argument) { + let result = Math.acos(argument); + ++counter; + return result; + } + noInline(opaqueACosWithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let acosResult = Math.acos(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueACosWithException(testObject) !== acosResult) + throw "Incorrect result in opaqueACosWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueACosWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueACosWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-acosh-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-acosh-on-various-types.js new file mode 100644 index 0000000000..bb06723151 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-acosh-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let acoshOfFour = Math.acosh(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "NaN"], + ["0", "NaN"], + ["-0.", "NaN"], + ["4", "" + acoshOfFour], + ["Math.PI", "" + Math.acosh(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + acoshOfFour], + ["{ valueOf: () => { return 4; } }", "" + acoshOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.acosh() without arguments. +function opaqueACoshNoArgument() { + return Math.acosh(); +} +noInline(opaqueACoshNoArgument); +noOSRExitFuzzing(opaqueACoshNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueACoshNoArgument(); + if (output === output) { + throw "Failed opaqueACoshNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueACoshNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.acosh() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesACosh(argument) { + return Math.acosh(argument); +} +noInline(opaqueAllTypesACosh); +noOSRExitFuzzing(opaqueAllTypesACosh); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesACosh(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesACosh) > 2) + throw "We should have detected acosh() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.acosh() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueACosh(argument) { + return Math.acosh(argument); + } + noInline(opaqueACosh); + noOSRExitFuzzing(opaqueACosh); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueACosh(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueACosh) > 1) + throw "We should have compiled a single acosh for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.acosh() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueACoshOnConstant() { + return Math.acosh(${testCaseInput[0]}); + } + noInline(opaqueACoshOnConstant); + noOSRExitFuzzing(opaqueACoshOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueACoshOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueACoshOnConstant) > 1) + throw "We should have compiled a single acosh for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueACoshForSideEffects(argument) { + return Math.acosh(argument); +} +noInline(opaqueACoshForSideEffects); +noOSRExitFuzzing(opaqueACoshForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let acosh16 = Math.acosh(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueACoshForSideEffects(testObject) !== acosh16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueACoshForSideEffects) > 1) + throw "opaqueACoshForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify acosh() is not subject to CSE if the argument has side effects. +function opaqueACoshForCSE(argument) { + return Math.acosh(argument) + Math.acosh(argument) + Math.acosh(argument); +} +noInline(opaqueACoshForCSE); +noOSRExitFuzzing(opaqueACoshForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let acosh16 = Math.acosh(16); + let threeACosh16 = acosh16 + acosh16 + acosh16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueACoshForCSE(testObject) !== threeACosh16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueACoshForCSE) > 1) + throw "opaqueACoshForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify acosh() is not subject to DCE if the argument has side effects. +function opaqueACoshForDCE(argument) { + Math.acosh(argument); +} +noInline(opaqueACoshForDCE); +noOSRExitFuzzing(opaqueACoshForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueACoshForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueACoshForDCE) > 1) + throw "opaqueACoshForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueACoshWithException(argument) { + let result = Math.acosh(argument); + ++counter; + return result; + } + noInline(opaqueACoshWithException); + + let testObject = { valueOf: () => { return 64; } }; + let acosh64 = Math.acosh(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueACoshWithException(testObject) !== acosh64) + throw "Incorrect result in opaqueACoshWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueACoshWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueACoshWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-add-on-double-array-with-holes.js b/implementation-contributed/javascriptcore/stress/arith-add-on-double-array-with-holes.js new file mode 100644 index 0000000000..f589ffe254 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-add-on-double-array-with-holes.js @@ -0,0 +1,100 @@ +let testCases = [ + // Numbers + ['1', NaN, NaN, 2, 2], + ['1.5', NaN, NaN, 1 + 1.5, 1 + 1.5], + [NaN, NaN, NaN, NaN, NaN], + + // Strings. + ['""', NaN, NaN, 1, 1], + ['new String()', NaN, NaN, 1, 1], + ['"WebKit!"', NaN, NaN, NaN, NaN], + + // Objects. + ['{ }', NaN, NaN, NaN, NaN], + ['{ foo: 1 }', NaN, NaN, NaN, NaN], + ['{ toString: function() { return ""; } }', NaN, NaN, 1, 1], + ['{ toString: function() { return "WebKit"; } }', NaN, NaN, NaN, NaN], + + // Others. + ['null', NaN, NaN, 1, 1], + ['undefined', NaN, NaN, NaN, NaN] +]; + +for (let testCase of testCases) { + let otherOperand = testCase[0]; + let expectedLeftValueWithHole = testCase[1]; + let expectedRightValueWithHole = testCase[2]; + let expectedLeftValue = testCase[3]; + let expectedRightValue = testCase[4]; + eval( + `// Those holes are not observable by arithmetic operation. + // The return value is always going to be NaN. + function nonObservableHoleOnLhs(array, otherValue) { + return Math.min(array[0]) + Math.min(otherValue); + } + noInline(nonObservableHoleOnLhs); + + function observableHoleOnLhs(array, otherValue) { + let value = array[0]; + return [Math.min(value) + Math.min(otherValue), value]; + } + noInline(observableHoleOnLhs); + + function nonObservableHoleOnRhs(array, otherValue) { + return Math.min(otherValue) + Math.min(array[0]); + } + noInline(nonObservableHoleOnRhs); + + function observableHoleOnRhs(array, otherValue) { + let value = array[0]; + return [Math.min(otherValue) + Math.min(value), value]; + } + noInline(observableHoleOnRhs); + + let testArray = new Array; + for (let i = 1; i < 3; ++i) { + testArray[i] = i + 0.5 + } + + let isEqual = function(a, b) { + if (a === a) { + return a === b; + } + return b !== b; + } + + for (let i = 0; i < 1e4; ++i) { + let lhsResult1 = nonObservableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult1, ${expectedLeftValueWithHole})) + throw "Error on nonObservableHoleOnLhs at i = " + i + " with operand " + ${otherOperand} + " expected " + ${expectedLeftValueWithHole} + " got " + lhsResult1; + let lhsResult2 = observableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult2[0], ${expectedLeftValueWithHole}) || lhsResult2[1] !== undefined) + throw "Error on observableHoleOnLhs at i = " + i; + + let rhsResult1 = nonObservableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult1, ${expectedRightValueWithHole})) + throw "Error on nonObservableHoleOnRhs at i = " + i + " with operand " + ${otherOperand} + " expected " + ${expectedRightValueWithHole} + " got " + rhsResult1; + let rhsResult2 = observableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult2[0], ${expectedRightValueWithHole}) || rhsResult2[1] !== undefined) + throw "Error on observableHoleOnRhs at i = " + i; + } + + // Fill the hole, make sure everything still work correctly. + testArray[0] = 1.; + for (let i = 0; i < 1e4; ++i) { + let lhsResult1 = nonObservableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult1, ${expectedLeftValue})) + throw "Error on non hole nonObservableHoleOnLhs at i = " + i + " expected " + ${expectedLeftValue} + " got " + lhsResult1; + let lhsResult2 = observableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult2[0], ${expectedLeftValue}) || lhsResult2[1] !== 1) + throw "Error on non hole observableHoleOnLhs at i = " + i + " expected " + ${expectedLeftValue} + " got " + lhsResult2[0]; + + let rhsResult1 = nonObservableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult1, ${expectedRightValue})) + throw "Error on non hole nonObservableHoleOnRhs at i = " + i + " with operand " + ${otherOperand} + " expected " + ${expectedRightValue} + " got " + rhsResult1; + let rhsResult2 = observableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult2[0], ${expectedRightValue}) || rhsResult2[1] !== 1) + throw "Error on non hole observableHoleOnRhs at i = " + i; + }` + ); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/arith-add-with-constant-overflow.js b/implementation-contributed/javascriptcore/stress/arith-add-with-constant-overflow.js new file mode 100644 index 0000000000..ce5c381237 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-add-with-constant-overflow.js @@ -0,0 +1,21 @@ +function opaqueAdd(a) +{ + return a + 42; +} +noInline(opaqueAdd); + +// Warm up. +for (let i = 0; i < 1e4; ++i) { + let result = opaqueAdd(5); + if (result !== 47) + throw "Invalid opaqueAdd(5) at i = " + i; +} + +// Overflow. +for (let i = 0; i < 1e3; ++i) { + for (let j = -50; j < 50; ++j) { + let result = opaqueAdd(2147483647 + j); + if (result !== 2147483689 + j) + throw "Invalid opaqueAdd(" + 2147483647 + j + ") at i = " + i + " j = " + j; + } +} diff --git a/implementation-contributed/javascriptcore/stress/arith-add-with-constants.js b/implementation-contributed/javascriptcore/stress/arith-add-with-constants.js new file mode 100644 index 0000000000..ffb90dcb76 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-add-with-constants.js @@ -0,0 +1,271 @@ +// Test value + 0. +function arithAddIdentityWrittenAsInteger(x) { + var a = x + 0; + var b = 0 + x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithAddIdentityWrittenAsInteger, a = " + a + " b = " + b; + return a; +} +noInline(arithAddIdentityWrittenAsInteger); + +function testArithAddIdentityWrittenAsInteger() { + for (var i = 0; i < 1e4; ++i) { + var result = arithAddIdentityWrittenAsInteger(i); + if (result !== i) { + throw "arithAddIdentityWrittenAsInteger(i) = " + result + ", expected " + i; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithAddIdentityWrittenAsInteger(-0); + if (result !== -0) { + throw "arithAddIdentityWrittenAsInteger(-0) = " + result + ", expected -0"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var testValue = i + .5; + var result = arithAddIdentityWrittenAsInteger(testValue); + if (result !== testValue) { + throw "arithAddIdentityWrittenAsInteger(i) = " + result + ", expected " + testValue; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAddIdentityWrittenAsInteger(NaN); + if (!isNaN(result)) { + throw "arithAddIdentityWrittenAsInteger(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAddIdentityWrittenAsInteger(Infinity); + if (isFinite(result)) { + throw "arithAddIdentityWrittenAsInteger(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAddIdentityWrittenAsInteger(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithAddIdentityWrittenAsInteger(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithAddIdentityWrittenAsInteger(); + + +function arithAddIdentityWrittenAsDouble(x) { + var a = x + 0.0; + var b = 0. + x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithAddIdentityWrittenAsDouble, a = " + a + " b = " + b; + return a; +} +noInline(arithAddIdentityWrittenAsDouble); + +function testArithAddIdentityWrittenAsDouble() { + for (var i = 0; i < 1e4; ++i) { + var result = arithAddIdentityWrittenAsDouble(i); + if (result !== i) { + throw "arithAddIdentityWrittenAsDouble(i) = " + result + ", expected " + i; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithAddIdentityWrittenAsDouble(-0); + if (result !== -0) { + throw "arithAddIdentityWrittenAsDouble(-0) = " + result + ", expected -0 "; + } + } + + for (var i = 0; i < 1e4; ++i) { + var testValue = i + .5; + var result = arithAddIdentityWrittenAsDouble(testValue); + if (result !== testValue) { + throw "arithAddIdentityWrittenAsDouble(i) = " + result + ", expected " + testValue; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAddIdentityWrittenAsDouble(NaN); + if (!isNaN(result)) { + throw "arithAddIdentityWrittenAsDouble(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAddIdentityWrittenAsDouble(Infinity); + if (isFinite(result)) { + throw "arithAddIdentityWrittenAsDouble(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAddIdentityWrittenAsDouble(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithAddIdentityWrittenAsDouble(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithAddIdentityWrittenAsDouble(); + + +// Test "value + 42". +function arithAdd42WrittenAsInteger(x) { + var a = x + 42; + var b = 42 + x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithAdd42WrittenAsInteger, a = " + a + " b = " + b; + return a; +} +noInline(arithAdd42WrittenAsInteger); + +function testArithAdd42WrittenAsInteger() { + for (var i = 0; i < 1e4; ++i) { + var result = arithAdd42WrittenAsInteger(13); + if (result !== 55) { + throw "arithAdd42WrittenAsInteger(13) = " + result + ", expected 55"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithAdd42WrittenAsInteger(-0); + if (result !== 42) { + throw "arithAdd42WrittenAsInteger(-0) = " + result + ", expected 42"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithAdd42WrittenAsInteger(13.3); + if (result !== 55.3) { + throw "arithAdd42WrittenAsInteger(13.3) = " + result + ", expected 55.3"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAdd42WrittenAsInteger(NaN); + if (!isNaN(result)) { + throw "arithAdd42WrittenAsInteger(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAdd42WrittenAsInteger(Infinity); + if (isFinite(result)) { + throw "arithAdd42WrittenAsInteger(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAdd42WrittenAsInteger(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithAdd42WrittenAsInteger(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithAdd42WrittenAsInteger(); + + + + +// Test "value + 42". +function arithAdd42WrittenAsInteger(x) { + var a = x + 42; + var b = 42 + x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithAdd42WrittenAsInteger, a = " + a + " b = " + b; + return a; +} +noInline(arithAdd42WrittenAsInteger); + +function testArithAdd42WrittenAsInteger() { + for (var i = 0; i < 1e4; ++i) { + var result = arithAdd42WrittenAsInteger(13); + if (result !== 55) { + throw "arithAdd42WrittenAsInteger(13) = " + result + ", expected 55"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithAdd42WrittenAsInteger(-0); + if (result !== 42) { + throw "arithAdd42WrittenAsInteger(-0) = " + result + ", expected 42"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithAdd42WrittenAsInteger(13.3); + if (result !== 55.3) { + throw "arithAdd42WrittenAsInteger(13.3) = " + result + ", expected 55.3"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAdd42WrittenAsInteger(NaN); + if (!isNaN(result)) { + throw "arithAdd42WrittenAsInteger(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAdd42WrittenAsInteger(Infinity); + if (isFinite(result)) { + throw "arithAdd42WrittenAsInteger(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithAdd42WrittenAsInteger(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithAdd42WrittenAsInteger(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithAdd42WrittenAsInteger(); + +function arithSub42WrittenAsDouble(x) { + var a = (x|0) - 42.0; + var b = -42. + (x|0); + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithSub42WrittenAsDouble, a = " + a + " b = " + b; + return a; +} +noInline(arithSub42WrittenAsDouble); + +function testArithSub42WrittenAsDouble() { + for (var i = 0; i < 1e4; ++i) { + var result = arithSub42WrittenAsDouble(13); + if (result !== -29) { + throw "arithSub42WrittenAsDouble(13) = " + result + ", expected -29"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithSub42WrittenAsDouble(-0); + if (result !== -42) { + throw "arithSub42WrittenAsDouble(-0) = " + result + ", expected -42"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithSub42WrittenAsDouble(13.3); + if (result !== -29) { + throw "arithSub42WrittenAsDouble(13.3) = " + result + ", expected -29"; + } + } +} +testArithSub42WrittenAsDouble(); + + +function doubleConstant(){ + Math.min(0.0); + +0.0; +} noInline(doubleConstant); + +function testDoubleConstant(){ + for (var i = 0; i < 1e4; ++i) { + doubleConstant(); + } +} +testDoubleConstant(); diff --git a/implementation-contributed/javascriptcore/stress/arith-asin-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-asin-on-various-types.js new file mode 100644 index 0000000000..70b91931f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-asin-on-various-types.js @@ -0,0 +1,237 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let asinOfHalf = Math.asin(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["1", "" + Math.asin(1)], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "" + asinOfHalf], + ["Math.PI", "" + Math.asin(Math.PI)], + ["Infinity", "NaN"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + asinOfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + asinOfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.asin() without arguments. +function opaqueASinNoArgument() { + return Math.asin(); +} +noInline(opaqueASinNoArgument); +noOSRExitFuzzing(opaqueASinNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueASinNoArgument(); + if (output === output) { + throw "Failed opaqueASinNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueASinNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.asin() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesASin(argument) { + return Math.asin(argument); +} +noInline(opaqueAllTypesASin); +noOSRExitFuzzing(opaqueAllTypesASin); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesASin(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesASin) > 2) + throw "We should have detected asin() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.asin() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueASin(argument) { + return Math.asin(argument); + } + noInline(opaqueASin); + noOSRExitFuzzing(opaqueASin); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueASin(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueASin) > 1) + throw "We should have compiled a single asin for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.asin() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueASinOnConstant() { + return Math.asin(${testCaseInput[0]}); + } + noInline(opaqueASinOnConstant); + noOSRExitFuzzing(opaqueASinOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueASinOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueASinOnConstant) > 1) + throw "We should have compiled a single asin for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueASinForSideEffects(argument) { + return Math.asin(argument); +} +noInline(opaqueASinForSideEffects); +noOSRExitFuzzing(opaqueASinForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let asinResult = Math.asin(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueASinForSideEffects(testObject) !== asinResult) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueASinForSideEffects) > 1) + throw "opaqueASinForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify asin() is not subject to CSE if the argument has side effects. +function opaqueASinForCSE(argument) { + return Math.asin(argument) + Math.asin(argument) + Math.asin(argument); +} +noInline(opaqueASinForCSE); +noOSRExitFuzzing(opaqueASinForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let asinResult = Math.asin(0.2); + let threeasinResult = asinResult + asinResult + asinResult; + for (let i = 0; i < 1e4; ++i) { + if (opaqueASinForCSE(testObject) !== threeasinResult) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueASinForCSE) > 1) + throw "opaqueASinForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify asin() is not subject to DCE if the argument has side effects. +function opaqueASinForDCE(argument) { + Math.asin(argument); +} +noInline(opaqueASinForDCE); +noOSRExitFuzzing(opaqueASinForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueASinForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueASinForDCE) > 1) + throw "opaqueASinForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueASinWithException(argument) { + let result = Math.asin(argument); + ++counter; + return result; + } + noInline(opaqueASinWithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let asinResult = Math.asin(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueASinWithException(testObject) !== asinResult) + throw "Incorrect result in opaqueASinWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueASinWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueASinWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-asinh-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-asinh-on-various-types.js new file mode 100644 index 0000000000..71dcebf50d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-asinh-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let asinhOfFour = Math.asinh(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["4", "" + asinhOfFour], + ["Math.PI", "" + Math.asinh(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + asinhOfFour], + ["{ valueOf: () => { return 4; } }", "" + asinhOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.asinh() without arguments. +function opaqueASinhNoArgument() { + return Math.asinh(); +} +noInline(opaqueASinhNoArgument); +noOSRExitFuzzing(opaqueASinhNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueASinhNoArgument(); + if (output === output) { + throw "Failed opaqueASinhNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueASinhNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.asinh() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesASinh(argument) { + return Math.asinh(argument); +} +noInline(opaqueAllTypesASinh); +noOSRExitFuzzing(opaqueAllTypesASinh); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesASinh(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesASinh) > 2) + throw "We should have detected asinh() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.asinh() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueASinh(argument) { + return Math.asinh(argument); + } + noInline(opaqueASinh); + noOSRExitFuzzing(opaqueASinh); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueASinh(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueASinh) > 1) + throw "We should have compiled a single asinh for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.asinh() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueASinhOnConstant() { + return Math.asinh(${testCaseInput[0]}); + } + noInline(opaqueASinhOnConstant); + noOSRExitFuzzing(opaqueASinhOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueASinhOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueASinhOnConstant) > 1) + throw "We should have compiled a single asinh for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueASinhForSideEffects(argument) { + return Math.asinh(argument); +} +noInline(opaqueASinhForSideEffects); +noOSRExitFuzzing(opaqueASinhForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let asinh16 = Math.asinh(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueASinhForSideEffects(testObject) !== asinh16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueASinhForSideEffects) > 1) + throw "opaqueASinhForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify asinh() is not subject to CSE if the argument has side effects. +function opaqueASinhForCSE(argument) { + return Math.asinh(argument) + Math.asinh(argument) + Math.asinh(argument); +} +noInline(opaqueASinhForCSE); +noOSRExitFuzzing(opaqueASinhForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let asinh16 = Math.asinh(16); + let threeASinh16 = asinh16 + asinh16 + asinh16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueASinhForCSE(testObject) !== threeASinh16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueASinhForCSE) > 1) + throw "opaqueASinhForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify asinh() is not subject to DCE if the argument has side effects. +function opaqueASinhForDCE(argument) { + Math.asinh(argument); +} +noInline(opaqueASinhForDCE); +noOSRExitFuzzing(opaqueASinhForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueASinhForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueASinhForDCE) > 1) + throw "opaqueASinhForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueASinhWithException(argument) { + let result = Math.asinh(argument); + ++counter; + return result; + } + noInline(opaqueASinhWithException); + + let testObject = { valueOf: () => { return 64; } }; + let asinh64 = Math.asinh(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueASinhWithException(testObject) !== asinh64) + throw "Incorrect result in opaqueASinhWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueASinhWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueASinhWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-atan-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-atan-on-various-types.js new file mode 100644 index 0000000000..f46801c06a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-atan-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let atanOfFour = Math.atan(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["4", "" + atanOfFour], + ["Math.PI", "" + Math.atan(Math.PI)], + ["Infinity", "" + Math.atan(Infinity)], + ["-Infinity", "-" + Math.atan(Infinity)], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + atanOfFour], + ["{ valueOf: () => { return 4; } }", "" + atanOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.atan() without arguments. +function opaqueATanNoArgument() { + return Math.atan(); +} +noInline(opaqueATanNoArgument); +noOSRExitFuzzing(opaqueATanNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueATanNoArgument(); + if (output === output) { + throw "Failed opaqueATanNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueATanNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.atan() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesATan(argument) { + return Math.atan(argument); +} +noInline(opaqueAllTypesATan); +noOSRExitFuzzing(opaqueAllTypesATan); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesATan(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesATan) > 2) + throw "We should have detected atan() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.atan() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueATan(argument) { + return Math.atan(argument); + } + noInline(opaqueATan); + noOSRExitFuzzing(opaqueATan); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueATan(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueATan) > 1) + throw "We should have compiled a single atan for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.atan() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueATanOnConstant() { + return Math.atan(${testCaseInput[0]}); + } + noInline(opaqueATanOnConstant); + noOSRExitFuzzing(opaqueATanOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueATanOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueATanOnConstant) > 1) + throw "We should have compiled a single atan for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueATanForSideEffects(argument) { + return Math.atan(argument); +} +noInline(opaqueATanForSideEffects); +noOSRExitFuzzing(opaqueATanForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let AtanResult = Math.atan(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueATanForSideEffects(testObject) !== AtanResult) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueATanForSideEffects) > 1) + throw "opaqueATanForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify atan() is not subject to CSE if the argument has side effects. +function opaqueATanForCSE(argument) { + return Math.atan(argument) + Math.atan(argument) + Math.atan(argument); +} +noInline(opaqueATanForCSE); +noOSRExitFuzzing(opaqueATanForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let AtanResult = Math.atan(16); + let threeAtanResult = AtanResult + AtanResult + AtanResult; + for (let i = 0; i < 1e4; ++i) { + if (opaqueATanForCSE(testObject) !== threeAtanResult) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueATanForCSE) > 1) + throw "opaqueATanForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify atan() is not subject to DCE if the argument has side effects. +function opaqueATanForDCE(argument) { + Math.atan(argument); +} +noInline(opaqueATanForDCE); +noOSRExitFuzzing(opaqueATanForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueATanForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueATanForDCE) > 1) + throw "opaqueATanForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueATanWithException(argument) { + let result = Math.atan(argument); + ++counter; + return result; + } + noInline(opaqueATanWithException); + + let testObject = { valueOf: () => { return 64; } }; + let atanResult = Math.atan(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueATanWithException(testObject) !== atanResult) + throw "Incorrect result in opaqueATanWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueATanWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueATanWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-atanh-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-atanh-on-various-types.js new file mode 100644 index 0000000000..0b21bbb68c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-atanh-on-various-types.js @@ -0,0 +1,237 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let atanhOfHalf = Math.atanh(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["1", "Infinity"], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "" + atanhOfHalf], + ["Math.PI", "" + Math.atanh(Math.PI)], + ["Infinity", "NaN"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + atanhOfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + atanhOfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.atanh() without arguments. +function opaqueATanhNoArgument() { + return Math.atanh(); +} +noInline(opaqueATanhNoArgument); +noOSRExitFuzzing(opaqueATanhNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueATanhNoArgument(); + if (output === output) { + throw "Failed opaqueATanhNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueATanhNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.atanh() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesATanh(argument) { + return Math.atanh(argument); +} +noInline(opaqueAllTypesATanh); +noOSRExitFuzzing(opaqueAllTypesATanh); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesATanh(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesATanh) > 2) + throw "We should have detected atanh() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.atanh() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueATanh(argument) { + return Math.atanh(argument); + } + noInline(opaqueATanh); + noOSRExitFuzzing(opaqueATanh); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueATanh(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueATanh) > 1) + throw "We should have compiled a single atanh for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.atanh() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueATanhOnConstant() { + return Math.atanh(${testCaseInput[0]}); + } + noInline(opaqueATanhOnConstant); + noOSRExitFuzzing(opaqueATanhOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueATanhOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueATanhOnConstant) > 1) + throw "We should have compiled a single atanh for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueATanhForSideEffects(argument) { + return Math.atanh(argument); +} +noInline(opaqueATanhForSideEffects); +noOSRExitFuzzing(opaqueATanhForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let atanhResult = Math.atanh(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueATanhForSideEffects(testObject) !== atanhResult) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueATanhForSideEffects) > 1) + throw "opaqueATanhForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify atanh() is not subject to CSE if the argument has side effects. +function opaqueATanhForCSE(argument) { + return Math.atanh(argument) + Math.atanh(argument) + Math.atanh(argument); +} +noInline(opaqueATanhForCSE); +noOSRExitFuzzing(opaqueATanhForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let atanhResult = Math.atanh(0.2); + let threeatanhResult = atanhResult + atanhResult + atanhResult; + for (let i = 0; i < 1e4; ++i) { + if (opaqueATanhForCSE(testObject) !== threeatanhResult) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueATanhForCSE) > 1) + throw "opaqueATanhForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify atanh() is not subject to DCE if the argument has side effects. +function opaqueATanhForDCE(argument) { + Math.atanh(argument); +} +noInline(opaqueATanhForDCE); +noOSRExitFuzzing(opaqueATanhForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueATanhForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueATanhForDCE) > 1) + throw "opaqueATanhForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueATanhWithException(argument) { + let result = Math.atanh(argument); + ++counter; + return result; + } + noInline(opaqueATanhWithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let atanhResult = Math.atanh(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueATanhWithException(testObject) !== atanhResult) + throw "Incorrect result in opaqueATanhWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueATanhWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueATanhWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-cbrt-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-cbrt-on-various-types.js new file mode 100644 index 0000000000..a62d6d57b5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-cbrt-on-various-types.js @@ -0,0 +1,238 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let cbrtOfHalf = Math.cbrt(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["1", "1"], + ["0", "0"], + ["-0.", "-0"], + ["-42.", "" + Math.cbrt(-42)], + ["0.5", "" + cbrtOfHalf], + ["Math.PI", "" + Math.cbrt(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + cbrtOfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + cbrtOfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.cbrt() without arguments. +function opaqueCbrtNoArgument() { + return Math.cbrt(); +} +noInline(opaqueCbrtNoArgument); +noOSRExitFuzzing(opaqueCbrtNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueCbrtNoArgument(); + if (output === output) { + throw "Failed opaqueCbrtNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueCbrtNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.cbrt() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesCbrt(argument) { + return Math.cbrt(argument); +} +noInline(opaqueAllTypesCbrt); +noOSRExitFuzzing(opaqueAllTypesCbrt); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesCbrt(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesCbrt) > 2) + throw "We should have detected cbrt() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.cbrt() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCbrt(argument) { + return Math.cbrt(argument); + } + noInline(opaqueCbrt); + noOSRExitFuzzing(opaqueCbrt); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCbrt(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueCbrt) > 1) + throw "We should have compiled a single cbrt for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.cbrt() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCbrtOnConstant() { + return Math.cbrt(${testCaseInput[0]}); + } + noInline(opaqueCbrtOnConstant); + noOSRExitFuzzing(opaqueCbrtOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCbrtOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueCbrtOnConstant) > 1) + throw "We should have compiled a single cbrt for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueCbrtForSideEffects(argument) { + return Math.cbrt(argument); +} +noInline(opaqueCbrtForSideEffects); +noOSRExitFuzzing(opaqueCbrtForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let cbrtResult = Math.cbrt(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueCbrtForSideEffects(testObject) !== cbrtResult) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueCbrtForSideEffects) > 1) + throw "opaqueCbrtForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify cbrt() is not subject to CSE if the argument has side effects. +function opaqueCbrtForCSE(argument) { + return Math.cbrt(argument) + Math.cbrt(argument) + Math.cbrt(argument); +} +noInline(opaqueCbrtForCSE); +noOSRExitFuzzing(opaqueCbrtForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let cbrtResult = Math.cbrt(0.2); + let threecbrtResult = cbrtResult + cbrtResult + cbrtResult; + for (let i = 0; i < 1e4; ++i) { + if (opaqueCbrtForCSE(testObject) !== threecbrtResult) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueCbrtForCSE) > 1) + throw "opaqueCbrtForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify cbrt() is not subject to DCE if the argument has side effects. +function opaqueCbrtForDCE(argument) { + Math.cbrt(argument); +} +noInline(opaqueCbrtForDCE); +noOSRExitFuzzing(opaqueCbrtForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueCbrtForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueCbrtForDCE) > 1) + throw "opaqueCbrtForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueCbrtWithException(argument) { + let result = Math.cbrt(argument); + ++counter; + return result; + } + noInline(opaqueCbrtWithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let cbrtResult = Math.cbrt(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueCbrtWithException(testObject) !== cbrtResult) + throw "Incorrect result in opaqueCbrtWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueCbrtWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueCbrtWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-ceil-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-ceil-on-various-types.js new file mode 100644 index 0000000000..29c2e4a682 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-ceil-on-various-types.js @@ -0,0 +1,308 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "1"], + ["-0.5", "-0"], + ["4", "4"], + ["42.1", "43"], + ["42.5", "43"], + ["42.9", "43"], + ["-42.1", "-42"], + ["-42.5", "-42"], + ["-42.9", "-42"], + ["Math.PI", "4"], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "4"], + ["\"42.5\"", "43"], + ["{ valueOf: () => { return 4; } }", "4"], + ["{ valueOf: () => { return 0; } }", "0"], + ["{ valueOf: () => { return -0; } }", "-0"], + ["{ valueOf: () => { return 0.5; } }", "1"], + ["{ valueOf: () => { return -0.5; } }", "-0"], + ["{ valueOf: () => { return Number.MIN_SAFE_INTEGER; } }", "-9007199254740991"], + ["{ valueOf: () => { return Number.MAX_SAFE_INTEGER; } }", "9007199254740991"], + ["{ valueOf: () => { return 0x80000000|0; } }", "-2147483648"], + ["{ valueOf: () => { return 0x7fffffff|0; } }", "2147483647"], + ["{ valueOf: () => { return (0x80000000|0) - 0.5; } }", "-2147483648"], + ["{ valueOf: () => { return (0x7fffffff|0) + 0.5; } }", "2147483648"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && (1 / expected) !== (1 / result)) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.ceil() without arguments. +function opaqueCeilNoArgument() { + return Math.ceil(); +} +noInline(opaqueCeilNoArgument); +noOSRExitFuzzing(opaqueCeilNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueCeilNoArgument(); + if (!isIdentical(output, NaN)) { + throw "Failed opaqueCeilNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueCeilNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.ceil() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesCeil(argument) { + return Math.ceil(argument); +} +noInline(opaqueAllTypesCeil); +noOSRExitFuzzing(opaqueAllTypesCeil); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesCeil(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesCeil) > 3) + throw "We should have detected ceil() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Polymorphic input but negative zero is not observable. +function opaqueAllTypesCeilWithoutNegativeZero(argument) { + return Math.ceil(argument) + 0; +} +noInline(opaqueAllTypesCeilWithoutNegativeZero); +noOSRExitFuzzing(opaqueAllTypesCeilWithoutNegativeZero); + +function testAllTypesWithoutNegativeZeroCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesCeilWithoutNegativeZero(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1] + 0)) + throw "Failed testAllTypesWithoutNegativeZeroCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesCeil) > 3) + throw "We should have detected ceil() was polymorphic and generated a generic version."; +} +testAllTypesWithoutNegativeZeroCall(); + + +// Test Math.ceil() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCeil(argument) { + return Math.ceil(argument); + } + noInline(opaqueCeil); + noOSRExitFuzzing(opaqueCeil); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCeil(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueCeil) > 1) + throw "We should have compiled a single ceil for the expected type."; + `); + } +} +testSingleTypeCall(); + + +function checkCompileCountForUselessNegativeZero(testFunction) +{ + if (jscOptions().useMaximalFlushInsertionPhase) { + // If we forced a flush after the operation, the negative zero becomes + // observable and we may be overly optimistic. + return numberOfDFGCompiles(testFunction) <= 2; + } + return numberOfDFGCompiles(testFunction) <= 1; +} + + +// Test Math.ceil() on a completely typed input, but without negative zero. +function testSingleTypeWithoutNegativeZeroCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCeil(argument) { + return Math.ceil(argument) + 0; + } + noInline(opaqueCeil); + noOSRExitFuzzing(opaqueCeil); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCeil(${testCaseInput[0]}), ${testCaseInput[1]} + 0)) { + throw "Failed testSingleTypeWithoutNegativeZeroCall()"; + } + } + if (!checkCompileCountForUselessNegativeZero(opaqueCeil)) + throw "We should have compiled a single ceil for the expected type."; + `); + } +} +testSingleTypeWithoutNegativeZeroCall(); + + +// Test Math.ceil() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCeilOnConstant() { + return Math.ceil(${testCaseInput[0]}); + } + noInline(opaqueCeilOnConstant); + noOSRExitFuzzing(opaqueCeilOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCeilOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueCeilOnConstant) > 1) + throw "We should have compiled a single ceil for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueCeilForSideEffects(argument) { + return Math.ceil(argument); +} +noInline(opaqueCeilForSideEffects); +noOSRExitFuzzing(opaqueCeilForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let ceil16 = Math.ceil(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueCeilForSideEffects(testObject) !== ceil16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueCeilForSideEffects) > 1) + throw "opaqueCeilForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify ceil() is not subject to CSE if the argument has side effects. +function opaqueCeilForCSE(argument) { + return Math.ceil(argument) + Math.ceil(argument) + Math.ceil(argument); +} +noInline(opaqueCeilForCSE); +noOSRExitFuzzing(opaqueCeilForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let ceil16 = Math.ceil(16); + let threeCeil16 = ceil16 + ceil16 + ceil16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueCeilForCSE(testObject) !== threeCeil16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueCeilForCSE) > 1) + throw "opaqueCeilForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify ceil() is not subject to DCE if the argument has side effects. +function opaqueCeilForDCE(argument) { + Math.ceil(argument); +} +noInline(opaqueCeilForDCE); +noOSRExitFuzzing(opaqueCeilForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueCeilForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueCeilForDCE) > 1) + throw "opaqueCeilForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueCeilWithException(argument) { + let result = Math.ceil(argument); + ++counter; + return result; + } + noInline(opaqueCeilWithException); + + let testObject = { valueOf: () => { return 64; } }; + let ceil64 = Math.ceil(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueCeilWithException(testObject) !== ceil64) + throw "Incorrect result in opaqueCeilWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueCeilWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueCeilWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-clz32-effects.js b/implementation-contributed/javascriptcore/stress/arith-clz32-effects.js new file mode 100644 index 0000000000..b58e428714 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-clz32-effects.js @@ -0,0 +1,30 @@ +function foo(o, v) +{ + var result = o.f; + Math.clz32(v); + return result + o.f; +} + +noInline(foo); + +var o = {f: 42}; +o.g = 43; // Bust the transition watchpoint of {f}. + +for (var i = 0; i < 10000; ++i) { + var result = foo({f: 42}, "42"); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +var o = {f: 43}; +var result = foo(o, { + valueOf: function() + { + delete o.f; + o.__defineGetter__("f", function() { return 44; }); + } +}); + +if (result != 87) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/arith-clz32-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-clz32-on-various-types.js new file mode 100644 index 0000000000..e658e20e7e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-clz32-on-various-types.js @@ -0,0 +1,234 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "32"], + ["null", "32"], + ["0", "32"], + ["-0.", "32"], + ["4", "29"], + ["Math.PI", "30"], + ["Infinity", "32"], + ["-Infinity", "32"], + ["NaN", "32"], + ["\"WebKit\"", "32"], + ["\"4\"", "29"], + ["{ valueOf: () => { return 4; } }", "29"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.clz32() without arguments. +function opaqueClz32NoArgument() { + return Math.clz32(); +} +noInline(opaqueClz32NoArgument); +noOSRExitFuzzing(opaqueClz32NoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueClz32NoArgument(); + if (output !== 32) { + throw "Failed opaqueClz32NoArgument"; + } + } + if (numberOfDFGCompiles(opaqueClz32NoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.clz32() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesClz32(argument) { + return Math.clz32(argument); +} +noInline(opaqueAllTypesClz32); +noOSRExitFuzzing(opaqueAllTypesClz32); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesClz32(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesClz32) > 2) + throw "We should have detected clz32() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.clz32() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueClz32(argument) { + return Math.clz32(argument); + } + noInline(opaqueClz32); + noOSRExitFuzzing(opaqueClz32); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueClz32(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueClz32) > 1) + throw "We should have compiled a single clz32 for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.clz32() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueClz32OnConstant() { + return Math.clz32(${testCaseInput[0]}); + } + noInline(opaqueClz32OnConstant); + noOSRExitFuzzing(opaqueClz32OnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueClz32OnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueClz32OnConstant) > 1) + throw "We should have compiled a single clz32 for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueClz32ForSideEffects(argument) { + return Math.clz32(argument); +} +noInline(opaqueClz32ForSideEffects); +noOSRExitFuzzing(opaqueClz32ForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let clz3216 = Math.clz32(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueClz32ForSideEffects(testObject) !== clz3216) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueClz32ForSideEffects) > 1) + throw "opaqueClz32ForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify clz32() is not subject to CSE if the argument has side effects. +function opaqueClz32ForCSE(argument) { + return Math.clz32(argument) + Math.clz32(argument) + Math.clz32(argument); +} +noInline(opaqueClz32ForCSE); +noOSRExitFuzzing(opaqueClz32ForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let clz3216 = Math.clz32(16); + let threeClz3216 = clz3216 + clz3216 + clz3216; + for (let i = 0; i < 1e4; ++i) { + if (opaqueClz32ForCSE(testObject) !== threeClz3216) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueClz32ForCSE) > 1) + throw "opaqueClz32ForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify clz32() is not subject to DCE if the argument has side effects. +function opaqueClz32ForDCE(argument) { + Math.clz32(argument); +} +noInline(opaqueClz32ForDCE); +noOSRExitFuzzing(opaqueClz32ForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueClz32ForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueClz32ForDCE) > 1) + throw "opaqueClz32ForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueClz32WithException(argument) { + let result = Math.clz32(argument); + ++counter; + return result; + } + noInline(opaqueClz32WithException); + + let testObject = { valueOf: () => { return 64; } }; + let clz3264 = Math.clz32(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueClz32WithException(testObject) !== clz3264) + throw "Incorrect result in opaqueClz32WithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueClz32WithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueClz32WithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-cos-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-cos-on-various-types.js new file mode 100644 index 0000000000..c11049bb21 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-cos-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let cosOfFour = Math.cos(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "1"], + ["0", "1"], + ["-0.", "1"], + ["4", "" + cosOfFour], + ["Math.PI", "-1"], + ["Infinity", "NaN"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + cosOfFour], + ["{ valueOf: () => { return 4; } }", "" + cosOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.cos() without arguments. +function opaqueCosNoArgument() { + return Math.cos(); +} +noInline(opaqueCosNoArgument); +noOSRExitFuzzing(opaqueCosNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueCosNoArgument(); + if (output === output) { + throw "Failed opaqueCosNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueCosNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.cos() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesCos(argument) { + return Math.cos(argument); +} +noInline(opaqueAllTypesCos); +noOSRExitFuzzing(opaqueAllTypesCos); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesCos(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesCos) > 2) + throw "We should have detected cos() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.cos() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCos(argument) { + return Math.cos(argument); + } + noInline(opaqueCos); + noOSRExitFuzzing(opaqueCos); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCos(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueCos) > 1) + throw "We should have compiled a single cos for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.cos() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCosOnConstant() { + return Math.cos(${testCaseInput[0]}); + } + noInline(opaqueCosOnConstant); + noOSRExitFuzzing(opaqueCosOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCosOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueCosOnConstant) > 1) + throw "We should have compiled a single cos for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueCosForSideEffects(argument) { + return Math.cos(argument); +} +noInline(opaqueCosForSideEffects); +noOSRExitFuzzing(opaqueCosForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let cos16 = Math.cos(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueCosForSideEffects(testObject) !== cos16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueCosForSideEffects) > 1) + throw "opaqueCosForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify cos() is not subject to CSE if the argument has side effects. +function opaqueCosForCSE(argument) { + return Math.cos(argument) + Math.cos(argument) + Math.cos(argument); +} +noInline(opaqueCosForCSE); +noOSRExitFuzzing(opaqueCosForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let cos16 = Math.cos(16); + let threeCos16 = cos16 + cos16 + cos16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueCosForCSE(testObject) !== threeCos16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueCosForCSE) > 1) + throw "opaqueCosForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify cos() is not subject to DCE if the argument has side effects. +function opaqueCosForDCE(argument) { + Math.cos(argument); +} +noInline(opaqueCosForDCE); +noOSRExitFuzzing(opaqueCosForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueCosForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueCosForDCE) > 1) + throw "opaqueCosForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueCosWithException(argument) { + let result = Math.cos(argument); + ++counter; + return result; + } + noInline(opaqueCosWithException); + + let testObject = { valueOf: () => { return 64; } }; + let cos64 = Math.cos(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueCosWithException(testObject) !== cos64) + throw "Incorrect result in opaqueCosWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueCosWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueCosWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-cosh-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-cosh-on-various-types.js new file mode 100644 index 0000000000..5f806281e9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-cosh-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let coshOfFour = Math.cosh(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "1"], + ["0", "1"], + ["-0.", "1"], + ["4", "" + coshOfFour], + ["Math.PI", "" + Math.cosh(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + coshOfFour], + ["{ valueOf: () => { return 4; } }", "" + coshOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.cosh() without arguments. +function opaqueCoshNoArgument() { + return Math.cosh(); +} +noInline(opaqueCoshNoArgument); +noOSRExitFuzzing(opaqueCoshNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueCoshNoArgument(); + if (output === output) { + throw "Failed opaqueCoshNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueCoshNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.cosh() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesCosh(argument) { + return Math.cosh(argument); +} +noInline(opaqueAllTypesCosh); +noOSRExitFuzzing(opaqueAllTypesCosh); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesCosh(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesCosh) > 2) + throw "We should have detected cosh() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.cosh() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCosh(argument) { + return Math.cosh(argument); + } + noInline(opaqueCosh); + noOSRExitFuzzing(opaqueCosh); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCosh(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueCosh) > 1) + throw "We should have compiled a single cosh for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.cosh() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueCoshOnConstant() { + return Math.cosh(${testCaseInput[0]}); + } + noInline(opaqueCoshOnConstant); + noOSRExitFuzzing(opaqueCoshOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueCoshOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueCoshOnConstant) > 1) + throw "We should have compiled a single cosh for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueCoshForSideEffects(argument) { + return Math.cosh(argument); +} +noInline(opaqueCoshForSideEffects); +noOSRExitFuzzing(opaqueCoshForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let cosh16 = Math.cosh(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueCoshForSideEffects(testObject) !== cosh16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueCoshForSideEffects) > 1) + throw "opaqueCoshForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify cosh() is not subject to CSE if the argument has side effects. +function opaqueCoshForCSE(argument) { + return Math.cosh(argument) + Math.cosh(argument) + Math.cosh(argument); +} +noInline(opaqueCoshForCSE); +noOSRExitFuzzing(opaqueCoshForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let cosh16 = Math.cosh(16); + let threeCosh16 = cosh16 + cosh16 + cosh16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueCoshForCSE(testObject) !== threeCosh16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueCoshForCSE) > 1) + throw "opaqueCoshForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify cosh() is not subject to DCE if the argument has side effects. +function opaqueCoshForDCE(argument) { + Math.cosh(argument); +} +noInline(opaqueCoshForDCE); +noOSRExitFuzzing(opaqueCoshForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueCoshForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueCoshForDCE) > 1) + throw "opaqueCoshForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueCoshWithException(argument) { + let result = Math.cosh(argument); + ++counter; + return result; + } + noInline(opaqueCoshWithException); + + let testObject = { valueOf: () => { return 64; } }; + let cosh64 = Math.cosh(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueCoshWithException(testObject) !== cosh64) + throw "Incorrect result in opaqueCoshWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueCoshWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueCoshWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-expm1-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-expm1-on-various-types.js new file mode 100644 index 0000000000..314ab19a14 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-expm1-on-various-types.js @@ -0,0 +1,237 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let expm1OfHalf = Math.expm1(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["1", "" + Math.expm1(1)], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "" + expm1OfHalf], + ["Math.PI", "" + Math.expm1(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "-1"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + expm1OfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + expm1OfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.expm1() without arguments. +function opaqueExpm1NoArgument() { + return Math.expm1(); +} +noInline(opaqueExpm1NoArgument); +noOSRExitFuzzing(opaqueExpm1NoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueExpm1NoArgument(); + if (output === output) { + throw "Failed opaqueExpm1NoArgument"; + } + } + if (numberOfDFGCompiles(opaqueExpm1NoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.expm1() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesExpm1(argument) { + return Math.expm1(argument); +} +noInline(opaqueAllTypesExpm1); +noOSRExitFuzzing(opaqueAllTypesExpm1); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesExpm1(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesExpm1) > 2) + throw "We should have detected expm1() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.expm1() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueExpm1(argument) { + return Math.expm1(argument); + } + noInline(opaqueExpm1); + noOSRExitFuzzing(opaqueExpm1); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueExpm1(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueExpm1) > 1) + throw "We should have compiled a single expm1 for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.expm1() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueExpm1OnConstant() { + return Math.expm1(${testCaseInput[0]}); + } + noInline(opaqueExpm1OnConstant); + noOSRExitFuzzing(opaqueExpm1OnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueExpm1OnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueExpm1OnConstant) > 1) + throw "We should have compiled a single expm1 for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueExpm1ForSideEffects(argument) { + return Math.expm1(argument); +} +noInline(opaqueExpm1ForSideEffects); +noOSRExitFuzzing(opaqueExpm1ForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let expm1Result = Math.expm1(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueExpm1ForSideEffects(testObject) !== expm1Result) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueExpm1ForSideEffects) > 1) + throw "opaqueExpm1ForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify expm1() is not subject to CSE if the argument has side effects. +function opaqueExpm1ForCSE(argument) { + return Math.expm1(argument) + Math.expm1(argument) + Math.expm1(argument); +} +noInline(opaqueExpm1ForCSE); +noOSRExitFuzzing(opaqueExpm1ForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let expm1Result = Math.expm1(0.2); + let threeexpm1Result = expm1Result + expm1Result + expm1Result; + for (let i = 0; i < 1e4; ++i) { + if (opaqueExpm1ForCSE(testObject) !== threeexpm1Result) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueExpm1ForCSE) > 1) + throw "opaqueExpm1ForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify expm1() is not subject to DCE if the argument has side effects. +function opaqueExpm1ForDCE(argument) { + Math.expm1(argument); +} +noInline(opaqueExpm1ForDCE); +noOSRExitFuzzing(opaqueExpm1ForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueExpm1ForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueExpm1ForDCE) > 1) + throw "opaqueExpm1ForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueExpm1WithException(argument) { + let result = Math.expm1(argument); + ++counter; + return result; + } + noInline(opaqueExpm1WithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let expm1Result = Math.expm1(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueExpm1WithException(testObject) !== expm1Result) + throw "Incorrect result in opaqueExpm1WithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueExpm1WithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueExpm1WithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-floor-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-floor-on-various-types.js new file mode 100644 index 0000000000..ff740cc377 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-floor-on-various-types.js @@ -0,0 +1,308 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "0"], + ["-0.5", "-1"], + ["4", "4"], + ["42.1", "42"], + ["42.5", "42"], + ["42.9", "42"], + ["-42.1", "-43"], + ["-42.5", "-43"], + ["-42.9", "-43"], + ["Math.PI", "3"], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "4"], + ["\"42.5\"", "42"], + ["{ valueOf: () => { return 4; } }", "4"], + ["{ valueOf: () => { return 0; } }", "0"], + ["{ valueOf: () => { return -0; } }", "-0"], + ["{ valueOf: () => { return 0.5; } }", "0"], + ["{ valueOf: () => { return -0.5; } }", "-1"], + ["{ valueOf: () => { return Number.MIN_SAFE_INTEGER; } }", "-9007199254740991"], + ["{ valueOf: () => { return Number.MAX_SAFE_INTEGER; } }", "9007199254740991"], + ["{ valueOf: () => { return 0x80000000|0; } }", "-2147483648"], + ["{ valueOf: () => { return 0x7fffffff|0; } }", "2147483647"], + ["{ valueOf: () => { return (0x80000000|0) - 0.5; } }", "-2147483649"], + ["{ valueOf: () => { return (0x7fffffff|0) + 0.5; } }", "2147483647"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && (1 / expected) !== (1 / result)) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.floor() without arguments. +function opaqueFloorNoArgument() { + return Math.floor(); +} +noInline(opaqueFloorNoArgument); +noOSRExitFuzzing(opaqueFloorNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueFloorNoArgument(); + if (!isIdentical(output, NaN)) { + throw "Failed opaqueFloorNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueFloorNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.floor() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesFloor(argument) { + return Math.floor(argument); +} +noInline(opaqueAllTypesFloor); +noOSRExitFuzzing(opaqueAllTypesFloor); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesFloor(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesFloor) > 3) + throw "We should have detected floor() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Polymorphic input but negative zero is not observable. +function opaqueAllTypesFloorWithoutNegativeZero(argument) { + return Math.floor(argument) + 0; +} +noInline(opaqueAllTypesFloorWithoutNegativeZero); +noOSRExitFuzzing(opaqueAllTypesFloorWithoutNegativeZero); + +function testAllTypesWithoutNegativeZeroCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesFloorWithoutNegativeZero(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1] + 0)) + throw "Failed testAllTypesWithoutNegativeZeroCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesFloor) > 3) + throw "We should have detected floor() was polymorphic and generated a generic version."; +} +testAllTypesWithoutNegativeZeroCall(); + + +// Test Math.floor() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueFloor(argument) { + return Math.floor(argument); + } + noInline(opaqueFloor); + noOSRExitFuzzing(opaqueFloor); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueFloor(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueFloor) > 1) + throw "We should have compiled a single floor for the expected type."; + `); + } +} +testSingleTypeCall(); + + +function checkCompileCountForUselessNegativeZero(testFunction) +{ + if (jscOptions().useMaximalFlushInsertionPhase) { + // If we forced a flush after the operation, the negative zero becomes + // observable and we may be overly optimistic. + return numberOfDFGCompiles(testFunction) <= 2; + } + return numberOfDFGCompiles(testFunction) <= 1; +} + + +// Test Math.floor() on a completely typed input, but without negative zero. +function testSingleTypeWithoutNegativeZeroCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueFloor(argument) { + return Math.floor(argument) + 0; + } + noInline(opaqueFloor); + noOSRExitFuzzing(opaqueFloor); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueFloor(${testCaseInput[0]}), ${testCaseInput[1]} + 0)) { + throw "Failed testSingleTypeWithoutNegativeZeroCall()"; + } + } + if (!checkCompileCountForUselessNegativeZero(opaqueFloor)) + throw "We should have compiled a single floor for the expected type."; + `); + } +} +testSingleTypeWithoutNegativeZeroCall(); + + +// Test Math.floor() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueFloorOnConstant() { + return Math.floor(${testCaseInput[0]}); + } + noInline(opaqueFloorOnConstant); + noOSRExitFuzzing(opaqueFloorOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueFloorOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueFloorOnConstant) > 1) + throw "We should have compiled a single floor for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueFloorForSideEffects(argument) { + return Math.floor(argument); +} +noInline(opaqueFloorForSideEffects); +noOSRExitFuzzing(opaqueFloorForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let floor16 = Math.floor(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueFloorForSideEffects(testObject) !== floor16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueFloorForSideEffects) > 1) + throw "opaqueFloorForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify floor() is not subject to CSE if the argument has side effects. +function opaqueFloorForCSE(argument) { + return Math.floor(argument) + Math.floor(argument) + Math.floor(argument); +} +noInline(opaqueFloorForCSE); +noOSRExitFuzzing(opaqueFloorForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let floor16 = Math.floor(16); + let threeFloor16 = floor16 + floor16 + floor16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueFloorForCSE(testObject) !== threeFloor16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueFloorForCSE) > 1) + throw "opaqueFloorForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify floor() is not subject to DCE if the argument has side effects. +function opaqueFloorForDCE(argument) { + Math.floor(argument); +} +noInline(opaqueFloorForDCE); +noOSRExitFuzzing(opaqueFloorForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueFloorForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueFloorForDCE) > 1) + throw "opaqueFloorForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueFloorWithException(argument) { + let result = Math.floor(argument); + ++counter; + return result; + } + noInline(opaqueFloorWithException); + + let testObject = { valueOf: () => { return 64; } }; + let floor64 = Math.floor(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueFloorWithException(testObject) !== floor64) + throw "Incorrect result in opaqueFloorWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueFloorWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueFloorWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-fround-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-fround-on-various-types.js new file mode 100644 index 0000000000..9a99e47893 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-fround-on-various-types.js @@ -0,0 +1,238 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let froundOfPi = Math.fround(Math.PI); +let froundOfE = Math.fround(Math.E); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["1.", "1"], + ["Math.PI", "" + froundOfPi], + ["Math.E", "" + froundOfE], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"" + Math.PI + "\"", "" + froundOfPi], + ["{ valueOf: () => { return Math.E; } }", "" + froundOfE], + ["{ valueOf: () => { return 1; } }", "1"], + ["{ valueOf: () => { return Math.PI; } }", "" + froundOfPi], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + +// Test Math.fround() without arguments. +function opaqueFRoundNoArgument() { + return Math.fround(); +} +noInline(opaqueFRoundNoArgument); +noOSRExitFuzzing(opaqueFRoundNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueFRoundNoArgument(); + if (output === output) { + throw "Failed opaqueFRoundNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueFRoundNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + +// Test Math.fround() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesFround(argument) { + return Math.fround(argument); +} +noInline(opaqueAllTypesFround); +noOSRExitFuzzing(opaqueAllTypesFround); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesFround(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesFround) > 2) + throw "We should have detected fround() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.fround() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueFround(argument) { + return Math.fround(argument); + } + noInline(opaqueFround); + noOSRExitFuzzing(opaqueFround); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueFround(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueFround) > 1) + throw "We should have compiled a single fround for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.fround() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueFroundOnConstant() { + return Math.fround(${testCaseInput[0]}); + } + noInline(opaqueFroundOnConstant); + noOSRExitFuzzing(opaqueFroundOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueFroundOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueFroundOnConstant) > 1) + throw "We should have compiled a single fround for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueFroundForSideEffects(argument) { + return Math.fround(argument); +} +noInline(opaqueFroundForSideEffects); +noOSRExitFuzzing(opaqueFroundForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let fround16 = Math.fround(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueFroundForSideEffects(testObject) !== fround16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueFroundForSideEffects) > 1) + throw "opaqueFroundForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify fround() is not subject to CSE if the argument has side effects. +function opaqueFroundForCSE(argument) { + return Math.fround(argument) + Math.fround(argument) + Math.fround(argument); +} +noInline(opaqueFroundForCSE); +noOSRExitFuzzing(opaqueFroundForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let fround16 = Math.fround(16); + let threeFround16 = fround16 + fround16 + fround16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueFroundForCSE(testObject) !== threeFround16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueFroundForCSE) > 1) + throw "opaqueFroundForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify fround() is not subject to DCE if the argument has side effects. +function opaqueFroundForDCE(argument) { + Math.fround(argument); +} +noInline(opaqueFroundForDCE); +noOSRExitFuzzing(opaqueFroundForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueFroundForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueFroundForDCE) > 1) + throw "opaqueFroundForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueFroundWithException(argument) { + let result = Math.fround(argument); + ++counter; + return result; + } + noInline(opaqueFroundWithException); + + let testObject = { valueOf: () => { return 64; } }; + let fround64 = Math.fround(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueFroundWithException(testObject) !== fround64) + throw "Incorrect result in opaqueFroundWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueFroundWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueFroundWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-log-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-log-on-various-types.js new file mode 100644 index 0000000000..c78fbd6481 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-log-on-various-types.js @@ -0,0 +1,240 @@ +//@ skip if not $jitTests +//@ runNoCJITValidatePhases +//@ runFTLNoCJITValidate +"use strict"; + +let logOfFour = Math.log(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "-Infinity"], + ["0", "-Infinity"], + ["-0.", "-Infinity"], + ["1.", "0"], + ["4", "" + logOfFour], + ["Math.E", "1"], + ["Infinity", "Infinity"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + logOfFour], + ["{ valueOf: () => { return Math.E; } }", "1"], + ["{ valueOf: () => { return 1; } }", "0"], + ["{ valueOf: () => { return 4; } }", "" + logOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.log() without arguments. +function opaqueLogNoArgument() { + return Math.log(); +} +noInline(opaqueLogNoArgument); +noOSRExitFuzzing(opaqueLogNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueLogNoArgument(); + if (output === output) { + throw "Failed opaqueLogNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueLogNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.log() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesLog(argument) { + return Math.log(argument); +} +noInline(opaqueAllTypesLog); +noOSRExitFuzzing(opaqueAllTypesLog); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesLog(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesLog) > 2) + throw "We should have detected log() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.log() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueLog(argument) { + return Math.log(argument); + } + noInline(opaqueLog); + noOSRExitFuzzing(opaqueLog); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueLog(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueLog) > 1) + throw "We should have compiled a single log for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.log() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueLogOnConstant() { + return Math.log(${testCaseInput[0]}); + } + noInline(opaqueLogOnConstant); + noOSRExitFuzzing(opaqueLogOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueLogOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueLogOnConstant) > 1) + throw "We should have compiled a single log for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueLogForSideEffects(argument) { + return Math.log(argument); +} +noInline(opaqueLogForSideEffects); +noOSRExitFuzzing(opaqueLogForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let log16 = Math.log(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueLogForSideEffects(testObject) !== log16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueLogForSideEffects) > 1) + throw "opaqueLogForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify log() is not subject to CSE if the argument has side effects. +function opaqueLogForCSE(argument) { + return Math.log(argument) + Math.log(argument) + Math.log(argument); +} +noInline(opaqueLogForCSE); +noOSRExitFuzzing(opaqueLogForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let log16 = Math.log(16); + let threeLog16 = log16 + log16 + log16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueLogForCSE(testObject) !== threeLog16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueLogForCSE) > 1) + throw "opaqueLogForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify log() is not subject to DCE if the argument has side effects. +function opaqueLogForDCE(argument) { + Math.log(argument); +} +noInline(opaqueLogForDCE); +noOSRExitFuzzing(opaqueLogForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueLogForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueLogForDCE) > 1) + throw "opaqueLogForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueLogWithException(argument) { + let result = Math.log(argument); + ++counter; + return result; + } + noInline(opaqueLogWithException); + + let testObject = { valueOf: () => { return 64; } }; + let log64 = Math.log(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueLogWithException(testObject) !== log64) + throw "Incorrect result in opaqueLogWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueLogWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueLogWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-log10-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-log10-on-various-types.js new file mode 100644 index 0000000000..002f543d81 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-log10-on-various-types.js @@ -0,0 +1,237 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let log10OfHalf = Math.log10(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "-Infinity"], + ["1", "0"], + ["0", "-Infinity"], + ["-0.", "-Infinity"], + ["0.5", "" + log10OfHalf], + ["Math.PI", "" + Math.log10(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + log10OfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + log10OfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.log10() without arguments. +function opaqueLog10NoArgument() { + return Math.log10(); +} +noInline(opaqueLog10NoArgument); +noOSRExitFuzzing(opaqueLog10NoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueLog10NoArgument(); + if (output === output) { + throw "Failed opaqueLog10NoArgument"; + } + } + if (numberOfDFGCompiles(opaqueLog10NoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.log10() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesLog10(argument) { + return Math.log10(argument); +} +noInline(opaqueAllTypesLog10); +noOSRExitFuzzing(opaqueAllTypesLog10); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesLog10(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesLog10) > 2) + throw "We should have detected log10() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.log10() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueLog10(argument) { + return Math.log10(argument); + } + noInline(opaqueLog10); + noOSRExitFuzzing(opaqueLog10); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueLog10(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueLog10) > 1) + throw "We should have compiled a single log10 for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.log10() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueLog10OnConstant() { + return Math.log10(${testCaseInput[0]}); + } + noInline(opaqueLog10OnConstant); + noOSRExitFuzzing(opaqueLog10OnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueLog10OnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueLog10OnConstant) > 1) + throw "We should have compiled a single log10 for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueLog10ForSideEffects(argument) { + return Math.log10(argument); +} +noInline(opaqueLog10ForSideEffects); +noOSRExitFuzzing(opaqueLog10ForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let log10Result = Math.log10(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueLog10ForSideEffects(testObject) !== log10Result) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueLog10ForSideEffects) > 1) + throw "opaqueLog10ForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify log10() is not subject to CSE if the argument has side effects. +function opaqueLog10ForCSE(argument) { + return Math.log10(argument) + Math.log10(argument) + Math.log10(argument); +} +noInline(opaqueLog10ForCSE); +noOSRExitFuzzing(opaqueLog10ForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let log10Result = Math.log10(0.2); + let threelog10Result = log10Result + log10Result + log10Result; + for (let i = 0; i < 1e4; ++i) { + if (opaqueLog10ForCSE(testObject) !== threelog10Result) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueLog10ForCSE) > 1) + throw "opaqueLog10ForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify log10() is not subject to DCE if the argument has side effects. +function opaqueLog10ForDCE(argument) { + Math.log10(argument); +} +noInline(opaqueLog10ForDCE); +noOSRExitFuzzing(opaqueLog10ForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueLog10ForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueLog10ForDCE) > 1) + throw "opaqueLog10ForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueLog10WithException(argument) { + let result = Math.log10(argument); + ++counter; + return result; + } + noInline(opaqueLog10WithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let log10Result = Math.log10(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueLog10WithException(testObject) !== log10Result) + throw "Incorrect result in opaqueLog10WithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueLog10WithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueLog10WithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-log2-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-log2-on-various-types.js new file mode 100644 index 0000000000..3a8ab178da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-log2-on-various-types.js @@ -0,0 +1,237 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let log2OfHalf = Math.log2(0.5); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "-Infinity"], + ["1", "0"], + ["0", "-Infinity"], + ["-0.", "-Infinity"], + ["0.5", "" + log2OfHalf], + ["Math.PI", "" + Math.log2(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"0.5\"", "" + log2OfHalf], + ["{ valueOf: () => { return 0.5; } }", "" + log2OfHalf], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.log2() without arguments. +function opaqueLog2NoArgument() { + return Math.log2(); +} +noInline(opaqueLog2NoArgument); +noOSRExitFuzzing(opaqueLog2NoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueLog2NoArgument(); + if (output === output) { + throw "Failed opaqueLog2NoArgument"; + } + } + if (numberOfDFGCompiles(opaqueLog2NoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.log2() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesLog2(argument) { + return Math.log2(argument); +} +noInline(opaqueAllTypesLog2); +noOSRExitFuzzing(opaqueAllTypesLog2); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesLog2(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesLog2) > 2) + throw "We should have detected log2() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.log2() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueLog2(argument) { + return Math.log2(argument); + } + noInline(opaqueLog2); + noOSRExitFuzzing(opaqueLog2); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueLog2(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueLog2) > 1) + throw "We should have compiled a single log2 for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.log2() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueLog2OnConstant() { + return Math.log2(${testCaseInput[0]}); + } + noInline(opaqueLog2OnConstant); + noOSRExitFuzzing(opaqueLog2OnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueLog2OnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueLog2OnConstant) > 1) + throw "We should have compiled a single log2 for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueLog2ForSideEffects(argument) { + return Math.log2(argument); +} +noInline(opaqueLog2ForSideEffects); +noOSRExitFuzzing(opaqueLog2ForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let log2Result = Math.log2(0.2); + for (let i = 0; i < 1e4; ++i) { + if (opaqueLog2ForSideEffects(testObject) !== log2Result) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueLog2ForSideEffects) > 1) + throw "opaqueLog2ForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify log2() is not subject to CSE if the argument has side effects. +function opaqueLog2ForCSE(argument) { + return Math.log2(argument) + Math.log2(argument) + Math.log2(argument); +} +noInline(opaqueLog2ForCSE); +noOSRExitFuzzing(opaqueLog2ForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + let log2Result = Math.log2(0.2); + let threelog2Result = log2Result + log2Result + log2Result; + for (let i = 0; i < 1e4; ++i) { + if (opaqueLog2ForCSE(testObject) !== threelog2Result) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueLog2ForCSE) > 1) + throw "opaqueLog2ForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify log2() is not subject to DCE if the argument has side effects. +function opaqueLog2ForDCE(argument) { + Math.log2(argument); +} +noInline(opaqueLog2ForDCE); +noOSRExitFuzzing(opaqueLog2ForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 0.2; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueLog2ForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueLog2ForDCE) > 1) + throw "opaqueLog2ForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueLog2WithException(argument) { + let result = Math.log2(argument); + ++counter; + return result; + } + noInline(opaqueLog2WithException); + + let testObject = { valueOf: () => { return 0.1; } }; + let log2Result = Math.log2(0.1); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueLog2WithException(testObject) !== log2Result) + throw "Incorrect result in opaqueLog2WithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 0.1; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueLog2WithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueLog2WithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-modulo-node-behaviors.js b/implementation-contributed/javascriptcore/stress/arith-modulo-node-behaviors.js new file mode 100644 index 0000000000..16b9863b36 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-modulo-node-behaviors.js @@ -0,0 +1,106 @@ +//@ skip if $hostOS == "windows" + +// Verify that the dividend propagate the NeedsNegZero if the dividend requires it. +function moduloWithNegativeZeroDividend(a, b, c) +{ + var temp = a * b; + return temp % c; +} +noInline(moduloWithNegativeZeroDividend); + +// Warm up with integers. The test for NegZero should not be eliminated here. +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithNegativeZeroDividend(i, 5, 5); + if (result !== 0) + throw "moduloWithNegativeZeroDividend(i, 5, 5), returned: " + result; +} + +for (var i = 1; i < 1e4; ++i) { + // Produce negative zero in the multiplication. + var result = moduloWithNegativeZeroDividend(-i, 0, 2); + if (!(result === 0 && (1/result) === -Infinity)) + throw "moduloWithNegativeZeroDividend(-i, 0, 2) failed, returned: " + result; + + // A negative dividend can produce negative zero results. + var result = moduloWithNegativeZeroDividend(-i, 5, 5); + if (!(result === 0 && (1/result) === -Infinity)) + throw "moduloWithNegativeZeroDividend(-i, 5, 5) failed, returned: " + result; +} + +// Edge cases. +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithNegativeZeroDividend(-i, 0, Infinity); + if (!(result === 0 && (1/result) === -Infinity)) + throw "moduloWithNegativeZeroDividend(-i, 0, Infinity) failed, returned: " + result; + + var result = moduloWithNegativeZeroDividend(-i, 0, -Infinity); + if (!(result === 0 && (1/result) === -Infinity)) + throw "moduloWithNegativeZeroDividend(-i, 0, -Infinity) failed, returned: " + result; + + var result = moduloWithNegativeZeroDividend(-i, 0, NaN); + if (result === result) + throw "moduloWithNegativeZeroDividend(-i, 0, NaN) failed, returned: " + result; +} + + +// In this case, the negative zero is irrelevant. The Neg Zero check can be eliminated. +function moduloWithUnusedNegativeZeroDividend(a, b, c) +{ + var temp = a * b; + return (temp % c) | 0; +} +noInline(moduloWithUnusedNegativeZeroDividend); + +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithUnusedNegativeZeroDividend(i, 5, 5); + if (result !== 0) + throw "moduloWithUnusedNegativeZeroDividend(i, 5, 5), returned: " + result; +} + +// Produce negative zero in the multiplication. +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithUnusedNegativeZeroDividend(-i, 0, 2); + if (!(result === 0 && (1/result) === Infinity)) + throw "moduloWithUnusedNegativeZeroDividend(-i, 0, 2) failed, returned: " + result; +} + +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithUnusedNegativeZeroDividend(-i, 0, Infinity); + if (!(result === 0 && (1/result) === Infinity)) + throw "moduloWithUnusedNegativeZeroDividend(-i, 0, Infinity) failed, returned: " + result; + + var result = moduloWithUnusedNegativeZeroDividend(-i, 0, -Infinity); + if (!(result === 0 && (1/result) === Infinity)) + throw "moduloWithUnusedNegativeZeroDividend(-i, 0, -Infinity) failed, returned: " + result; + + var result = moduloWithUnusedNegativeZeroDividend(-i, 0, NaN); + if (result !== 0) + throw "moduloWithUnusedNegativeZeroDividend(-i, 0, NaN) failed, returned: " + result; +} + + +// The sign of the divisor is completely irrelevant. This should never fail on negative zero divisors. +function moduloWithNegativeZeroDivisor(a, b, c) +{ + var temp = a * b; + return c % temp; +} +noInline(moduloWithNegativeZeroDivisor); + +// Warm up with integers. +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithNegativeZeroDivisor(i, 2, i); + if (result !== i) + throw "moduloWithNegativeZeroDividend(i, 2, i), returned: " + result; + + var result = moduloWithNegativeZeroDivisor(-i, 2, i); + if (result !== i) + throw "moduloWithNegativeZeroDividend(-i, 2, i), returned: " + result; +} + +// Produce negative zero in the multiplication. +for (var i = 1; i < 1e4; ++i) { + var result = moduloWithNegativeZeroDivisor(-i, 0, 2); + if (result === result) + throw "moduloWithNegativeZeroDivisor(-i, 0, 2) failed, returned: " + result; +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/arith-modulo-twice.js b/implementation-contributed/javascriptcore/stress/arith-modulo-twice.js new file mode 100644 index 0000000000..fdf069ae03 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-modulo-twice.js @@ -0,0 +1,61 @@ +function opaqueModuloSmaller(a) +{ + return (a % 5) % 13; +} +noInline(opaqueModuloSmaller); + +function opaqueModuloEqual(a) +{ + return (a % 5) % 5; +} +noInline(opaqueModuloEqual); + +function opaqueModuloLarger(a) +{ + return (a % 13) % 5; +} +noInline(opaqueModuloLarger); + +function opaqueModuloSmallerNeg(a) +{ + return (a % -5) % -13; +} +noInline(opaqueModuloSmallerNeg); + +function opaqueModuloEqualNeg(a) +{ + return (a % 5) % -5; +} +noInline(opaqueModuloEqualNeg); + +function opaqueModuloLargerNeg(a) +{ + return (a % -13) % 5; +} +noInline(opaqueModuloLargerNeg); + +let testReducibleCases = [opaqueModuloSmaller, opaqueModuloEqual, opaqueModuloSmallerNeg, opaqueModuloEqualNeg]; +let testOtherCases = [opaqueModuloLarger, opaqueModuloLargerNeg]; + +function opaqueExpectedOther(doubleInput) +{ + return (doubleInput - 2147483648) % 13.0 % 5.0; +} +noInline(opaqueExpectedOther); +noDFG(opaqueExpectedOther); + +// Warm up with integers. The test for NegZero should not be eliminated here. +for (let i = 1; i < 1e4; ++i) { + let excpectedReduced = i % 5; + for (let testFunction of testReducibleCases) { + let result = testFunction(i); + if (result !== excpectedReduced) + throw "" + testFunction.name + "(i), returned: " + result + " at i = " + i + " expected " + expectedOther; + } + let expectedOther = opaqueExpectedOther(i + 2147483648); + for (let testFunction of testOtherCases) { + let result = testFunction(i); + if (result !== expectedOther) + throw "" + testFunction.name + "(i), returned: " + result + " at i = " + i + " expected " + expectedOther; + } +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/arith-mul-with-constants.js b/implementation-contributed/javascriptcore/stress/arith-mul-with-constants.js new file mode 100644 index 0000000000..156ab79e4e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-mul-with-constants.js @@ -0,0 +1,222 @@ +// Test value * 1. +function arithMulIdentityWrittenAsInteger(x) { + var a = x * 1; + var b = 1 * x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithMulIdentityWrittenAsInteger, a = " + a + " b = " + b; + return a; +} +noInline(arithMulIdentityWrittenAsInteger); + +function testArithMulIdentityWrittenAsInteger() { + for (var i = 0; i < 1e4; ++i) { + var result = arithMulIdentityWrittenAsInteger(i); + if (result !== i) { + throw "arithMulIdentityWrittenAsInteger(i) = " + result + ", expected " + i; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithMulIdentityWrittenAsInteger(-0); + if (result !== -0) { + throw "arithMulIdentityWrittenAsInteger(-0) = " + result + ", expected -0"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var testValue = i + .5; + var result = arithMulIdentityWrittenAsInteger(testValue); + if (result !== testValue) { + throw "arithMulIdentityWrittenAsInteger(i) = " + result + ", expected " + testValue; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMulIdentityWrittenAsInteger(NaN); + if (!isNaN(result)) { + throw "arithMulIdentityWrittenAsInteger(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMulIdentityWrittenAsInteger(Infinity); + if (isFinite(result)) { + throw "arithMulIdentityWrittenAsInteger(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMulIdentityWrittenAsInteger(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithMulIdentityWrittenAsInteger(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithMulIdentityWrittenAsInteger(); + + +function arithMulIdentityWrittenAsDouble(x) { + var a = x * 1.0; + var b = 1. * x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithMulIdentityWrittenAsDouble, a = " + a + " b = " + b; + return a; +} +noInline(arithMulIdentityWrittenAsDouble); + +function testArithMulIdentityWrittenAsDouble() { + for (var i = 0; i < 1e4; ++i) { + var result = arithMulIdentityWrittenAsDouble(i); + if (result !== i) { + throw "arithMulIdentityWrittenAsDouble(i) = " + result + ", expected " + i; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithMulIdentityWrittenAsDouble(-0); + if (result !== -0) { + throw "arithMulIdentityWrittenAsDouble(-0) = " + result + ", expected -0 "; + } + } + + for (var i = 0; i < 1e4; ++i) { + var testValue = i + .5; + var result = arithMulIdentityWrittenAsDouble(testValue); + if (result !== testValue) { + throw "arithMulIdentityWrittenAsDouble(i) = " + result + ", expected " + testValue; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMulIdentityWrittenAsDouble(NaN); + if (!isNaN(result)) { + throw "arithMulIdentityWrittenAsDouble(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMulIdentityWrittenAsDouble(Infinity); + if (isFinite(result)) { + throw "arithMulIdentityWrittenAsDouble(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMulIdentityWrittenAsDouble(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithMulIdentityWrittenAsDouble(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithMulIdentityWrittenAsDouble(); + + +// Test "value * 42". +function arithMul42WrittenAsInteger(x) { + var a = x * 42; + var b = 42 * x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithMul42WrittenAsInteger, a = " + a + " b = " + b; + return a; +} +noInline(arithMul42WrittenAsInteger); + +function testArithMul42WrittenAsInteger() { + for (var i = 0; i < 1e4; ++i) { + var result = arithMul42WrittenAsInteger(13); + if (result !== 546) { + throw "arithMul42WrittenAsInteger(13) = " + result + ", expected 546"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithMul42WrittenAsInteger(-0); + if (result !== -0) { + throw "arithMul42WrittenAsInteger(-0) = " + result + ", expected -0"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithMul42WrittenAsInteger(13.3); + if (result !== 558.6) { + throw "arithMul42WrittenAsInteger(13.3) = " + result + ", expected 558.6"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMul42WrittenAsInteger(NaN); + if (!isNaN(result)) { + throw "arithMul42WrittenAsInteger(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMul42WrittenAsInteger(Infinity); + if (isFinite(result)) { + throw "arithMul42WrittenAsInteger(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMul42WrittenAsInteger(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithMul42WrittenAsInteger(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithMul42WrittenAsInteger(); + + +function arithMul42WrittenAsDouble(x) { + var a = x * 42.0; + var b = 42. * x; + if (!(isNaN(x) && isNaN(a) && isNaN(b)) && a !== b) + throw "Internal error on arithMul42WrittenAsDouble, a = " + a + " b = " + b; + return a; +} +noInline(arithMul42WrittenAsDouble); + +function testArithMul42WrittenAsDouble() { + for (var i = 0; i < 1e4; ++i) { + var result = arithMul42WrittenAsDouble(13); + if (result !== 546) { + throw "arithMul42WrittenAsDouble(i) = " + result + ", expected 546"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithMul42WrittenAsDouble(-0); + if (result !== -0) { + throw "arithMul42WrittenAsDouble(-0) = " + result + ", expected -0"; + } + } + + for (var i = 0; i < 1e4; ++i) { + var result = arithMul42WrittenAsDouble(13.3); + if (result !== 558.6) { + throw "arithMul42WrittenAsDouble(13.3) = " + result + ", expected 558.6"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMul42WrittenAsDouble(NaN); + if (!isNaN(result)) { + throw "arithMul42WrittenAsDouble(NaN) = " + result + ", expected NaN"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMul42WrittenAsDouble(Infinity); + if (isFinite(result)) { + throw "arithMul42WrittenAsDouble(Infinity) = " + result + ", expected Infinity"; + } + } + + for (var i = 0; i < 1e4; ++i) {; + var result = arithMul42WrittenAsDouble(-Infinity); + if (isFinite(result) || result >= 0) { + throw "arithMul42WrittenAsDouble(-Infinity) = " + result + ", expected -Infinity"; + } + } +} +testArithMul42WrittenAsDouble(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/arith-negate-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-negate-on-various-types.js new file mode 100644 index 0000000000..7d3f19209f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-negate-on-various-types.js @@ -0,0 +1,284 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "-0"], + ["0", "-0"], + ["-0.", "0"], + ["0.5", "-0.5"], + ["-0.5", "0.5"], + ["4", "-4"], + ["42.1", "-42.1"], + ["42.5", "-42.5"], + ["42.9", "-42.9"], + ["-42.1", "42.1"], + ["-42.5", "42.5"], + ["-42.9", "42.9"], + ["Math.PI", "-Math.PI"], + ["Infinity", "-Infinity"], + ["-Infinity", "Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "-4"], + ["\"42.5\"", "-42.5"], + ["{ valueOf: () => { return 4; } }", "-4"], + ["{ valueOf: () => { return 0; } }", "-0"], + ["{ valueOf: () => { return -0; } }", "0"], + ["{ valueOf: () => { return 0.5; } }", "-0.5"], + ["{ valueOf: () => { return -0.5; } }", "0.5"], + ["{ valueOf: () => { return Number.MIN_SAFE_INTEGER; } }", "9007199254740991"], + ["{ valueOf: () => { return Number.MAX_SAFE_INTEGER; } }", "-9007199254740991"], + ["{ valueOf: () => { return 0x80000000|0; } }", "2147483648"], + ["{ valueOf: () => { return 0x7fffffff|0; } }", "-2147483647"], + ["{ valueOf: () => { return (0x80000000|0) - 0.5; } }", "2147483648.5"], + ["{ valueOf: () => { return (0x7fffffff|0) + 0.5; } }", "-2147483647.5"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && (1 / expected) !== (1 / result)) + return false; + + return true; + } + return result !== result; +} + + +// Test negate with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesNegate(argument) { + return -(argument); +} +noInline(opaqueAllTypesNegate); +noOSRExitFuzzing(opaqueAllTypesNegate); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesNegate(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesNegate) > 3) + throw "We should have detected negate was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Polymorphic input but negative zero is not observable. +function opaqueAllTypesNegateWithoutNegativeZero(argument) { + return -(argument) + 0; +} +noInline(opaqueAllTypesNegateWithoutNegativeZero); +noOSRExitFuzzing(opaqueAllTypesNegateWithoutNegativeZero); + +function testAllTypesWithoutNegativeZeroCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesNegateWithoutNegativeZero(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1] + 0)) + throw "Failed testAllTypesWithoutNegativeZeroCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesNegate) > 3) + throw "We should have detected negate was polymorphic and generated a generic version."; +} +testAllTypesWithoutNegativeZeroCall(); + + +// Test negate on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueNegate(argument) { + return -(argument); + } + noInline(opaqueNegate); + noOSRExitFuzzing(opaqueNegate); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueNegate(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueNegate) > 1) + throw "Failed testSingleTypeCall(). We should have compiled a single negate for the expected type."; + `); + } +} +testSingleTypeCall(); + + +function checkCompileCountForUselessNegativeZero(testFunction) +{ + if (jscOptions().useMaximalFlushInsertionPhase) { + // If we forced a flush after the operation, the negative zero becomes + // observable and we may be overly optimistic. + return numberOfDFGCompiles(testFunction) <= 2; + } + return numberOfDFGCompiles(testFunction) <= 1; +} + + +// Test negate on a completely typed input, but without negative zero. +function testSingleTypeWithoutNegativeZeroCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueNegate(argument) { + return -(argument) + 0; + } + noInline(opaqueNegate); + noOSRExitFuzzing(opaqueNegate); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueNegate(${testCaseInput[0]}), ${testCaseInput[1]} + 0)) { + throw "Failed testSingleTypeWithoutNegativeZeroCall()"; + } + } + if (!checkCompileCountForUselessNegativeZero(opaqueNegate)) + throw "Failed testSingleTypeWithoutNegativeZeroCall(). We should have compiled a single negate for the expected type."; + `); + } +} +testSingleTypeWithoutNegativeZeroCall(); + + +// Test negate on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueNegateOnConstant() { + return -(${testCaseInput[0]}); + } + noInline(opaqueNegateOnConstant); + noOSRExitFuzzing(opaqueNegateOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueNegateOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueNegateOnConstant) > 1) + throw "Failed testConstant(). We should have compiled a single negate for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueNegateForSideEffects(argument) { + return -(argument); +} +noInline(opaqueNegateForSideEffects); +noOSRExitFuzzing(opaqueNegateForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + if (opaqueNegateForSideEffects(testObject) !== -16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueNegateForSideEffects) > 1) + throw "opaqueNegateForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify negate is not subject to CSE if the argument has side effects. +function opaqueNegateForCSE(argument) { + return -(argument) + -(argument) + -(argument); +} +noInline(opaqueNegateForCSE); +noOSRExitFuzzing(opaqueNegateForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + if (opaqueNegateForCSE(testObject) !== -48) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueNegateForCSE) > 1) + throw "opaqueNegateForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify negate is not subject to DCE if the argument has side effects. +function opaqueNegateForDCE(argument) { + -(argument); +} +noInline(opaqueNegateForDCE); +noOSRExitFuzzing(opaqueNegateForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueNegateForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueNegateForDCE) > 1) + throw "opaqueNegateForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueNegateWithException(argument) { + let result = -(argument); + ++counter; + return result; + } + noInline(opaqueNegateWithException); + + let testObject = { valueOf: () => { return 64; } }; + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueNegateWithException(testObject) !== -64) + throw "Incorrect result in opaqueNegateWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueNegateWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueNegateWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-nodes-abstract-interpreter-untypeduse.js b/implementation-contributed/javascriptcore/stress/arith-nodes-abstract-interpreter-untypeduse.js new file mode 100644 index 0000000000..fb3715b71e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-nodes-abstract-interpreter-untypeduse.js @@ -0,0 +1,373 @@ +// This test that the DFG Abstract interpreter properly handles UntypedUse for various ArithXXX and CompareXXX nodes. +// This test should run without errors or crashing. + +let errors = 0; +const smallValue = 2.3023e-320; + +function test(functionName, testFunc) { + try{ + var ary_1 = [1.1, 2.2, 3.3]; + var ary_2 = ary_1; + var f64_1 = new Float64Array(0x10); + + for (var i = 0; i < 200000; i++) + testFunc(ary_1, f64_1, '1'); + + testFunc(ary_2, f64_1, { toString:()=>{ ary_2[0] = {}; return "3"}}); + if (ary_2[2] != smallValue) + throw functionName + " returned the wrong value"; + } catch(e) { + errors++; + print("Exception testing " + functionName + ": " + e); + }; +}; + +for (let i = 0; i < 8; i++) { + test("Warmup", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.abs(c); + b[0] = a[0]; + a[2] = smallValue; + }); +} + +test("Unary -", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = -c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Unary +", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = +c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("+", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = a[1] + c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("-", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = a[1] - c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("*", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = a[1] * c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("/", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = a[1] / c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("%", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = a[1] % c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("**", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = c ** a[1]; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("prefix ++", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = ++c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("prefix --", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = --c; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("==", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = c == 7; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("<", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = c < 42; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("<=", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = c <= 7; + b[0] = a[0]; + a[2] = smallValue; +}); + +test(">", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = c > 3; + b[0] = a[0]; + a[2] = smallValue; +}); + +test(">=", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = c >= 12; + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.abs", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.abs(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.acos", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.acos(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.acosh", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.acosh(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.asin", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.asin(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.asinh", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.asinh(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.atan", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.atan(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.atan2", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.atan2(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.atanh", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.atanh(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.ceil", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.ceil(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.cos", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.cos(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.cosh", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.cosh(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.exp", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.exp(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.expm1", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.expm1(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.floor", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.floor(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.fround", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.fround(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.log", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.log(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.log1p", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.log1p(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.log10", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.log10(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.log2", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.log2(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.round", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.round(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.sin", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.sin(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.sign", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.sign(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.sinh", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.sinh(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.sqrt", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.sqrt(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.tan", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.tan(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.tanh", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.tanh(c); + b[0] = a[0]; + a[2] = smallValue; +}); + +test("Math.trunc", function(a, b, c){ + a[0] = 1.1; + a[1] = 2.2; + var tmp = Math.trunc(c); + b[0] = a[0]; + a[2] = smallValue; +}); + + +if (errors) + throw "Failed " + errors + " tests." diff --git a/implementation-contributed/javascriptcore/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js b/implementation-contributed/javascriptcore/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js new file mode 100644 index 0000000000..5d01839867 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-profile-for-negate-can-see-non-number-due-to-dfg-osr-exit-profiling.js @@ -0,0 +1,32 @@ +function runNearStackLimit(f) { + try { + return t(); + } catch (e) { + return f(); + } +} +let flag = false; +function f1() { + return flag ? {} : 10; +} +noInline(f1); + +function f2() { +} + +function f3(arg) { + let r = -(arg ? f1() : f2()); +} + +for (let i = 0; i < 100000; ++i) { + try { + f3(!!(i % 2)); + } catch (e) {} +} + +flag = true; +for (let i = 0; i < 100000; ++i) try { + runNearStackLimit(() => { + return f3(!!(i % 2)); + }); +} catch (e) {} diff --git a/implementation-contributed/javascriptcore/stress/arith-round-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-round-on-various-types.js new file mode 100644 index 0000000000..eb893393e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-round-on-various-types.js @@ -0,0 +1,308 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "1"], + ["-0.5", "-0"], + ["4", "4"], + ["42.1", "42"], + ["42.5", "43"], + ["42.9", "43"], + ["-42.1", "-42"], + ["-42.5", "-42"], + ["-42.9", "-43"], + ["Math.PI", "3"], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "4"], + ["\"42.5\"", "43"], + ["{ valueOf: () => { return 4; } }", "4"], + ["{ valueOf: () => { return 0; } }", "0"], + ["{ valueOf: () => { return -0; } }", "-0"], + ["{ valueOf: () => { return 0.5; } }", "1"], + ["{ valueOf: () => { return -0.5; } }", "-0"], + ["{ valueOf: () => { return Number.MIN_SAFE_INTEGER; } }", "-9007199254740991"], + ["{ valueOf: () => { return Number.MAX_SAFE_INTEGER; } }", "9007199254740991"], + ["{ valueOf: () => { return 0x80000000|0; } }", "-2147483648"], + ["{ valueOf: () => { return 0x7fffffff|0; } }", "2147483647"], + ["{ valueOf: () => { return (0x80000000|0) - 0.5; } }", "-2147483648"], + ["{ valueOf: () => { return (0x7fffffff|0) + 0.5; } }", "2147483648"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && (1 / expected) !== (1 / result)) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.round() without arguments. +function opaqueRoundNoArgument() { + return Math.round(); +} +noInline(opaqueRoundNoArgument); +noOSRExitFuzzing(opaqueRoundNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueRoundNoArgument(); + if (!isIdentical(output, NaN)) { + throw "Failed opaqueRoundNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueRoundNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.round() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesRound(argument) { + return Math.round(argument); +} +noInline(opaqueAllTypesRound); +noOSRExitFuzzing(opaqueAllTypesRound); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesRound(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesRound) > 3) + throw "We should have detected round() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Polymorphic input but negative zero is not observable. +function opaqueAllTypesRoundWithoutNegativeZero(argument) { + return Math.round(argument) + 0; +} +noInline(opaqueAllTypesRoundWithoutNegativeZero); +noOSRExitFuzzing(opaqueAllTypesRoundWithoutNegativeZero); + +function testAllTypesWithoutNegativeZeroCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesRoundWithoutNegativeZero(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1] + 0)) + throw "Failed testAllTypesWithoutNegativeZeroCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesRound) > 3) + throw "We should have detected round() was polymorphic and generated a generic version."; +} +testAllTypesWithoutNegativeZeroCall(); + + +// Test Math.round() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueRound(argument) { + return Math.round(argument); + } + noInline(opaqueRound); + noOSRExitFuzzing(opaqueRound); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueRound(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueRound) > 1) + throw "We should have compiled a single round for the expected type."; + `); + } +} +testSingleTypeCall(); + + +function checkCompileCountForUselessNegativeZero(testFunction) +{ + if (jscOptions().useMaximalFlushInsertionPhase) { + // If we forced a flush after the operation, the negative zero becomes + // observable and we may be overly optimistic. + return numberOfDFGCompiles(testFunction) <= 2; + } + return numberOfDFGCompiles(testFunction) <= 1; +} + + +// Test Math.round() on a completely typed input, but without negative zero. +function testSingleTypeWithoutNegativeZeroCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueRound(argument) { + return Math.round(argument) + 0; + } + noInline(opaqueRound); + noOSRExitFuzzing(opaqueRound); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueRound(${testCaseInput[0]}), ${testCaseInput[1]} + 0)) { + throw "Failed testSingleTypeWithoutNegativeZeroCall()"; + } + } + if (!checkCompileCountForUselessNegativeZero(opaqueRound)) + throw "We should have compiled a single round for the expected type."; + `); + } +} +testSingleTypeWithoutNegativeZeroCall(); + + +// Test Math.round() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueRoundOnConstant() { + return Math.round(${testCaseInput[0]}); + } + noInline(opaqueRoundOnConstant); + noOSRExitFuzzing(opaqueRoundOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueRoundOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueRoundOnConstant) > 1) + throw "We should have compiled a single round for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueRoundForSideEffects(argument) { + return Math.round(argument); +} +noInline(opaqueRoundForSideEffects); +noOSRExitFuzzing(opaqueRoundForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let round16 = Math.round(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueRoundForSideEffects(testObject) !== round16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueRoundForSideEffects) > 1) + throw "opaqueRoundForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify round() is not subject to CSE if the argument has side effects. +function opaqueRoundForCSE(argument) { + return Math.round(argument) + Math.round(argument) + Math.round(argument); +} +noInline(opaqueRoundForCSE); +noOSRExitFuzzing(opaqueRoundForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let round16 = Math.round(16); + let threeRound16 = round16 + round16 + round16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueRoundForCSE(testObject) !== threeRound16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueRoundForCSE) > 1) + throw "opaqueRoundForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify round() is not subject to DCE if the argument has side effects. +function opaqueRoundForDCE(argument) { + Math.round(argument); +} +noInline(opaqueRoundForDCE); +noOSRExitFuzzing(opaqueRoundForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueRoundForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueRoundForDCE) > 1) + throw "opaqueRoundForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueRoundWithException(argument) { + let result = Math.round(argument); + ++counter; + return result; + } + noInline(opaqueRoundWithException); + + let testObject = { valueOf: () => { return 64; } }; + let round64 = Math.round(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueRoundWithException(testObject) !== round64) + throw "Incorrect result in opaqueRoundWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueRoundWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueRoundWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-sin-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-sin-on-various-types.js new file mode 100644 index 0000000000..19417f6fa4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-sin-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let sinOfFour = Math.sin(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["4", "" + sinOfFour], + ["Math.PI", "" + Math.sin(Math.PI)], + ["Infinity", "NaN"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + sinOfFour], + ["{ valueOf: () => { return 4; } }", "" + sinOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.sin() without arguments. +function opaqueSinNoArgument() { + return Math.sin(); +} +noInline(opaqueSinNoArgument); +noOSRExitFuzzing(opaqueSinNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueSinNoArgument(); + if (output === output) { + throw "Failed opaqueSinNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueSinNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.sin() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesSin(argument) { + return Math.sin(argument); +} +noInline(opaqueAllTypesSin); +noOSRExitFuzzing(opaqueAllTypesSin); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesSin(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesSin) > 2) + throw "We should have detected sin() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.sin() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueSin(argument) { + return Math.sin(argument); + } + noInline(opaqueSin); + noOSRExitFuzzing(opaqueSin); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueSin(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueSin) > 1) + throw "We should have compiled a single sin for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.sin() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueSinOnConstant() { + return Math.sin(${testCaseInput[0]}); + } + noInline(opaqueSinOnConstant); + noOSRExitFuzzing(opaqueSinOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueSinOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueSinOnConstant) > 1) + throw "We should have compiled a single sin for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueSinForSideEffects(argument) { + return Math.sin(argument); +} +noInline(opaqueSinForSideEffects); +noOSRExitFuzzing(opaqueSinForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let sin16 = Math.sin(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueSinForSideEffects(testObject) !== sin16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueSinForSideEffects) > 1) + throw "opaqueSinForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify sin() is not subject to CSE if the argument has side effects. +function opaqueSinForCSE(argument) { + return Math.sin(argument) + Math.sin(argument) + Math.sin(argument); +} +noInline(opaqueSinForCSE); +noOSRExitFuzzing(opaqueSinForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let sin16 = Math.sin(16); + let threeSin16 = sin16 + sin16 + sin16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueSinForCSE(testObject) !== threeSin16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueSinForCSE) > 1) + throw "opaqueSinForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify sin() is not subject to DCE if the argument has side effects. +function opaqueSinForDCE(argument) { + Math.sin(argument); +} +noInline(opaqueSinForDCE); +noOSRExitFuzzing(opaqueSinForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueSinForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueSinForDCE) > 1) + throw "opaqueSinForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueSinWithException(argument) { + let result = Math.sin(argument); + ++counter; + return result; + } + noInline(opaqueSinWithException); + + let testObject = { valueOf: () => { return 64; } }; + let sin64 = Math.sin(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueSinWithException(testObject) !== sin64) + throw "Incorrect result in opaqueSinWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueSinWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueSinWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-sinh-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-sinh-on-various-types.js new file mode 100644 index 0000000000..516b932b00 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-sinh-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let sinhOfFour = Math.sinh(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["4", "" + sinhOfFour], + ["Math.PI", "" + Math.sinh(Math.PI)], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + sinhOfFour], + ["{ valueOf: () => { return 4; } }", "" + sinhOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.sinh() without arguments. +function opaqueSinhNoArgument() { + return Math.sinh(); +} +noInline(opaqueSinhNoArgument); +noOSRExitFuzzing(opaqueSinhNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueSinhNoArgument(); + if (output === output) { + throw "Failed opaqueSinhNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueSinhNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.sinh() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesSinh(argument) { + return Math.sinh(argument); +} +noInline(opaqueAllTypesSinh); +noOSRExitFuzzing(opaqueAllTypesSinh); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesSinh(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesSinh) > 2) + throw "We should have detected sinh() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.sinh() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueSinh(argument) { + return Math.sinh(argument); + } + noInline(opaqueSinh); + noOSRExitFuzzing(opaqueSinh); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueSinh(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueSinh) > 1) + throw "We should have compiled a single sinh for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.sinh() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueSinhOnConstant() { + return Math.sinh(${testCaseInput[0]}); + } + noInline(opaqueSinhOnConstant); + noOSRExitFuzzing(opaqueSinhOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueSinhOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueSinhOnConstant) > 1) + throw "We should have compiled a single sinh for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueSinhForSideEffects(argument) { + return Math.sinh(argument); +} +noInline(opaqueSinhForSideEffects); +noOSRExitFuzzing(opaqueSinhForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let sinh16 = Math.sinh(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueSinhForSideEffects(testObject) !== sinh16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueSinhForSideEffects) > 1) + throw "opaqueSinhForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify sinh() is not subject to CSE if the argument has side effects. +function opaqueSinhForCSE(argument) { + return Math.sinh(argument) + Math.sinh(argument) + Math.sinh(argument); +} +noInline(opaqueSinhForCSE); +noOSRExitFuzzing(opaqueSinhForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let sinh16 = Math.sinh(16); + let threeSinh16 = sinh16 + sinh16 + sinh16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueSinhForCSE(testObject) !== threeSinh16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueSinhForCSE) > 1) + throw "opaqueSinhForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify sinh() is not subject to DCE if the argument has side effects. +function opaqueSinhForDCE(argument) { + Math.sinh(argument); +} +noInline(opaqueSinhForDCE); +noOSRExitFuzzing(opaqueSinhForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueSinhForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueSinhForDCE) > 1) + throw "opaqueSinhForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueSinhWithException(argument) { + let result = Math.sinh(argument); + ++counter; + return result; + } + noInline(opaqueSinhWithException); + + let testObject = { valueOf: () => { return 64; } }; + let sinh64 = Math.sinh(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueSinhWithException(testObject) !== sinh64) + throw "Incorrect result in opaqueSinhWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueSinhWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueSinhWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-sqrt-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-sqrt-on-various-types.js new file mode 100644 index 0000000000..6004cd3ea2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-sqrt-on-various-types.js @@ -0,0 +1,230 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0."], + ["4", "2"], + ["42.5", "6.519202405202649"], + ["Infinity", "Infinity"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "2"], + ["{ valueOf: () => { return 4; } }", "2"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.sqrt() without arguments. +function opaqueSqrtNoArgument() { + return Math.sqrt(); +} +noInline(opaqueSqrtNoArgument); +noOSRExitFuzzing(opaqueSqrtNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueSqrtNoArgument(); + if (output === output) { + throw "Failed opaqueSqrtNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueSqrtNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.sqrt() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesSqrt(argument) { + return Math.sqrt(argument); +} +noInline(opaqueAllTypesSqrt); +noOSRExitFuzzing(opaqueAllTypesSqrt); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesSqrt(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesSqrt) > 2) + throw "We should have detected sqrt() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.sqrt() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueSqrt(argument) { + return Math.sqrt(argument); + } + noInline(opaqueSqrt); + noOSRExitFuzzing(opaqueSqrt); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueSqrt(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueSqrt) > 1) + throw "We should have compiled a single sqrt for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.sqrt() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueSqrtOnConstant() { + return Math.sqrt(${testCaseInput[0]}); + } + noInline(opaqueSqrtOnConstant); + noOSRExitFuzzing(opaqueSqrtOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueSqrtOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueSqrtOnConstant) > 1) + throw "We should have compiled a single sqrt for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueSqrtForSideEffects(argument) { + return Math.sqrt(argument); +} +noInline(opaqueSqrtForSideEffects); +noOSRExitFuzzing(opaqueSqrtForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + if (opaqueSqrtForSideEffects(testObject) !== 4) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueSqrtForSideEffects) > 1) + throw "opaqueSqrtForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify sqrt() is not subject to CSE if the argument has side effects. +function opaqueSqrtForCSE(argument) { + return Math.sqrt(argument) + Math.sqrt(argument) + Math.sqrt(argument); +} +noInline(opaqueSqrtForCSE); +noOSRExitFuzzing(opaqueSqrtForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + if (opaqueSqrtForCSE(testObject) !== 12) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueSqrtForCSE) > 1) + throw "opaqueSqrtForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify sqrt() is not subject to DCE if the argument has side effects. +function opaqueSqrtForDCE(argument) { + Math.sqrt(argument); +} +noInline(opaqueSqrtForDCE); +noOSRExitFuzzing(opaqueSqrtForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueSqrtForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueSqrtForDCE) > 1) + throw "opaqueSqrtForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueSqrtWithException(argument) { + let result = Math.sqrt(argument); + ++counter; + return result; + } + noInline(opaqueSqrtWithException); + + let testObject = { valueOf: () => { return 64; } }; + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueSqrtWithException(testObject) !== 8) + throw "Incorrect result in opaqueSqrtWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueSqrtWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueSqrtWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-sub-on-double-array-with-holes.js b/implementation-contributed/javascriptcore/stress/arith-sub-on-double-array-with-holes.js new file mode 100644 index 0000000000..855c78ca84 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-sub-on-double-array-with-holes.js @@ -0,0 +1,98 @@ +let testCases = [ + // Numbers + ['1', 0, 0], + ['1.5', 1 - 1.5, 1.5 - 1], + [NaN, NaN, NaN], + + // Strings. + ['""', 1, -1], + ['new String()', 1, -1], + ['"WebKit!"', NaN, NaN], + + // Objects. + ['{ }', NaN, NaN], + ['{ foo: 1 }', NaN, NaN], + ['{ toString: function() { return ""; } }', 1, -1], + ['{ toString: function() { return "WebKit"; } }', NaN, NaN], + + // Others. + ['null', 1, -1], + ['undefined', NaN, NaN] +]; + +for (let testCase of testCases) { + let otherOperand = testCase[0]; + let expectedLeftValue = testCase[1]; + let expectedRightValue = testCase[2]; + eval( + `// Those holes are not observable by arithmetic operation. + // The return value is always going to be NaN. + function nonObservableHoleOnLhs(array, otherValue) { + return array[0] - otherValue; + } + noInline(nonObservableHoleOnLhs); + + function observableHoleOnLhs(array, otherValue) { + let value = array[0]; + return [value - otherValue, value]; + } + noInline(observableHoleOnLhs); + + function nonObservableHoleOnRhs(array, otherValue) { + return otherValue - array[0]; + } + noInline(nonObservableHoleOnRhs); + + function observableHoleOnRhs(array, otherValue) { + let value = array[0]; + return [otherValue - value, value]; + } + noInline(observableHoleOnRhs); + + let testArray = new Array; + for (let i = 1; i < 3; ++i) { + testArray[i] = i + 0.5 + } + + for (let i = 0; i < 1e4; ++i) { + let lhsResult1 = nonObservableHoleOnLhs(testArray, ${otherOperand}); + if (lhsResult1 == lhsResult1) + throw "Error on nonObservableHoleOnLhs at i = " + i; + let lhsResult2 = observableHoleOnLhs(testArray, ${otherOperand}); + if (lhsResult2[0] == lhsResult2[0] || lhsResult2[1] !== undefined) + throw "Error on observableHoleOnLhs at i = " + i; + + let rhsResult1 = nonObservableHoleOnRhs(testArray, ${otherOperand}); + if (rhsResult1 == rhsResult1) + throw "Error on nonObservableHoleOnRhs at i = " + i; + let rhsResult2 = observableHoleOnRhs(testArray, ${otherOperand}); + if (rhsResult2[0] == rhsResult2[0] || rhsResult2[1] !== undefined) + throw "Error on observableHoleOnRhs at i = " + i; + } + + let isEqual = function(a, b) { + if (a === a) { + return a === b; + } + return b !== b; + } + + // Fill the hole, make sure everything still work correctly. + testArray[0] = 1.; + for (let i = 0; i < 1e4; ++i) { + let lhsResult1 = nonObservableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult1, ${expectedLeftValue})) + throw "Error on non hole nonObservableHoleOnLhs at i = " + i + " expected " + ${expectedLeftValue} + " got " + lhsResult1; + let lhsResult2 = observableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult2[0], ${expectedLeftValue}) || lhsResult2[1] !== 1) + throw "Error on non hole observableHoleOnLhs at i = " + i + " expected " + ${expectedLeftValue} + " got " + lhsResult2[0]; + + let rhsResult1 = nonObservableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult1, ${expectedRightValue})) + throw "Error on non hole nonObservableHoleOnRhs at i = " + i + " expected " + ${expectedRightValue} + " got " + rhsResult1; + let rhsResult2 = observableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult2[0], ${expectedRightValue}) || rhsResult2[1] !== 1) + throw "Error on non hole observableHoleOnRhs at i = " + i; + }` + ); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/arith-tan-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-tan-on-various-types.js new file mode 100644 index 0000000000..cda1456943 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-tan-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let tanOfFour = Math.tan(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["4", "" + tanOfFour], + ["Math.PI", "" + Math.tan(Math.PI)], + ["Infinity", "NaN"], + ["-Infinity", "NaN"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + tanOfFour], + ["{ valueOf: () => { return 4; } }", "" + tanOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.tan() without arguments. +function opaqueTanNoArgument() { + return Math.tan(); +} +noInline(opaqueTanNoArgument); +noOSRExitFuzzing(opaqueTanNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueTanNoArgument(); + if (output === output) { + throw "Failed opaqueTanNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueTanNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.tan() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesTan(argument) { + return Math.tan(argument); +} +noInline(opaqueAllTypesTan); +noOSRExitFuzzing(opaqueAllTypesTan); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesTan(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesTan) > 2) + throw "We should have detected tan() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.tan() on a completely typed input. Every call see only one type. +function testTangleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTan(argument) { + return Math.tan(argument); + } + noInline(opaqueTan); + noOSRExitFuzzing(opaqueTan); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTan(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testTangleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueTan) > 1) + throw "We should have compiled a tangle tan for the expected type."; + `); + } +} +testTangleTypeCall(); + + +// Test Math.tan() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTanOnConstant() { + return Math.tan(${testCaseInput[0]}); + } + noInline(opaqueTanOnConstant); + noOSRExitFuzzing(opaqueTanOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTanOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueTanOnConstant) > 1) + throw "We should have compiled a tangle tan for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueTanForSideEffects(argument) { + return Math.tan(argument); +} +noInline(opaqueTanForSideEffects); +noOSRExitFuzzing(opaqueTanForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let tan16 = Math.tan(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueTanForSideEffects(testObject) !== tan16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueTanForSideEffects) > 1) + throw "opaqueTanForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify tan() is not subject to CSE if the argument has side effects. +function opaqueTanForCSE(argument) { + return Math.tan(argument) + Math.tan(argument) + Math.tan(argument); +} +noInline(opaqueTanForCSE); +noOSRExitFuzzing(opaqueTanForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let tan16 = Math.tan(16); + let threeTan16 = tan16 + tan16 + tan16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueTanForCSE(testObject) !== threeTan16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueTanForCSE) > 1) + throw "opaqueTanForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify tan() is not subject to DCE if the argument has side effects. +function opaqueTanForDCE(argument) { + Math.tan(argument); +} +noInline(opaqueTanForDCE); +noOSRExitFuzzing(opaqueTanForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueTanForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueTanForDCE) > 1) + throw "opaqueTanForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueTanWithException(argument) { + let result = Math.tan(argument); + ++counter; + return result; + } + noInline(opaqueTanWithException); + + let testObject = { valueOf: () => { return 64; } }; + let tan64 = Math.tan(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueTanWithException(testObject) !== tan64) + throw "Incorrect result in opaqueTanWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueTanWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueTanWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-tanh-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-tanh-on-various-types.js new file mode 100644 index 0000000000..4b163bbc6e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-tanh-on-various-types.js @@ -0,0 +1,236 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let tanhOfFour = Math.tanh(4); + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["4", "" + tanhOfFour], + ["Math.PI", "" + Math.tanh(Math.PI)], + ["Infinity", "1"], + ["-Infinity", "-1"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "" + tanhOfFour], + ["{ valueOf: () => { return 4; } }", "" + tanhOfFour], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected) + return (1 / expected) === (1 / result); + + return true; + } + return result !== result; +} + + +// Test Math.tanh() without arguments. +function opaqueTanhNoArgument() { + return Math.tanh(); +} +noInline(opaqueTanhNoArgument); +noOSRExitFuzzing(opaqueTanhNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueTanhNoArgument(); + if (output === output) { + throw "Failed opaqueTanhNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueTanhNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.tanh() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesTanh(argument) { + return Math.tanh(argument); +} +noInline(opaqueAllTypesTanh); +noOSRExitFuzzing(opaqueAllTypesTanh); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesTanh(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesTanh) > 2) + throw "We should have detected tanh() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Test Math.tanh() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTanh(argument) { + return Math.tanh(argument); + } + noInline(opaqueTanh); + noOSRExitFuzzing(opaqueTanh); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTanh(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueTanh) > 1) + throw "We should have compiled a single tanh for the expected type."; + `); + } +} +testSingleTypeCall(); + + +// Test Math.tanh() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTanhOnConstant() { + return Math.tanh(${testCaseInput[0]}); + } + noInline(opaqueTanhOnConstant); + noOSRExitFuzzing(opaqueTanhOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTanhOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueTanhOnConstant) > 1) + throw "We should have compiled a single tanh for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueTanhForSideEffects(argument) { + return Math.tanh(argument); +} +noInline(opaqueTanhForSideEffects); +noOSRExitFuzzing(opaqueTanhForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let tanh16 = Math.tanh(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueTanhForSideEffects(testObject) !== tanh16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueTanhForSideEffects) > 1) + throw "opaqueTanhForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify tanh() is not subject to CSE if the argument has side effects. +function opaqueTanhForCSE(argument) { + return Math.tanh(argument) + Math.tanh(argument) + Math.tanh(argument); +} +noInline(opaqueTanhForCSE); +noOSRExitFuzzing(opaqueTanhForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let tanh16 = Math.tanh(16); + let threeTanh16 = tanh16 + tanh16 + tanh16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueTanhForCSE(testObject) !== threeTanh16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueTanhForCSE) > 1) + throw "opaqueTanhForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify tanh() is not subject to DCE if the argument has side effects. +function opaqueTanhForDCE(argument) { + Math.tanh(argument); +} +noInline(opaqueTanhForDCE); +noOSRExitFuzzing(opaqueTanhForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueTanhForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueTanhForDCE) > 1) + throw "opaqueTanhForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueTanhWithException(argument) { + let result = Math.tanh(argument); + ++counter; + return result; + } + noInline(opaqueTanhWithException); + + let testObject = { valueOf: () => { return 64; } }; + let tanh64 = Math.tanh(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueTanhWithException(testObject) !== tanh64) + throw "Incorrect result in opaqueTanhWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueTanhWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueTanhWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arith-trunc-on-various-types.js b/implementation-contributed/javascriptcore/stress/arith-trunc-on-various-types.js new file mode 100644 index 0000000000..8469846ff9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arith-trunc-on-various-types.js @@ -0,0 +1,308 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +let validInputTestCases = [ + // input as string, expected result as string. + ["undefined", "NaN"], + ["null", "0"], + ["0", "0"], + ["-0.", "-0"], + ["0.5", "0"], + ["-0.5", "-0"], + ["4", "4"], + ["42.1", "42"], + ["42.5", "42"], + ["42.9", "42"], + ["-42.1", "-42"], + ["-42.5", "-42"], + ["-42.9", "-42"], + ["Math.PI", "3"], + ["Infinity", "Infinity"], + ["-Infinity", "-Infinity"], + ["NaN", "NaN"], + ["\"WebKit\"", "NaN"], + ["\"4\"", "4"], + ["\"42.5\"", "42"], + ["{ valueOf: () => { return 4; } }", "4"], + ["{ valueOf: () => { return 0; } }", "0"], + ["{ valueOf: () => { return -0; } }", "-0"], + ["{ valueOf: () => { return 0.5; } }", "0"], + ["{ valueOf: () => { return -0.5; } }", "-0"], + ["{ valueOf: () => { return Number.MIN_SAFE_INTEGER; } }", "-9007199254740991"], + ["{ valueOf: () => { return Number.MAX_SAFE_INTEGER; } }", "9007199254740991"], + ["{ valueOf: () => { return 0x80000000|0; } }", "-2147483648"], + ["{ valueOf: () => { return 0x7fffffff|0; } }", "2147483647"], + ["{ valueOf: () => { return (0x80000000|0) - 0.5; } }", "-2147483648"], + ["{ valueOf: () => { return (0x7fffffff|0) + 0.5; } }", "2147483647"], +]; + +let validInputTypedTestCases = validInputTestCases.map((element) => { return [eval("(" + element[0] + ")"), eval(element[1])] }); + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && (1 / expected) !== (1 / result)) + return false; + + return true; + } + return result !== result; +} + + +// Test Math.trunc() without arguments. +function opaqueTruncNoArgument() { + return Math.trunc(); +} +noInline(opaqueTruncNoArgument); +noOSRExitFuzzing(opaqueTruncNoArgument); + +function testNoArgument() { + for (let i = 0; i < 1e4; ++i) { + let output = opaqueTruncNoArgument(); + if (!isIdentical(output, NaN)) { + throw "Failed opaqueTruncNoArgument"; + } + } + if (numberOfDFGCompiles(opaqueTruncNoArgument) > 1) + throw "The call without arguments should never exit."; +} +testNoArgument(); + + +// Test Math.trunc() with a very polymorphic input. All test cases are seen at each iteration. +function opaqueAllTypesTrunc(argument) { + return Math.trunc(argument); +} +noInline(opaqueAllTypesTrunc); +noOSRExitFuzzing(opaqueAllTypesTrunc); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesTrunc(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1])) + throw "Failed testAllTypesCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesTrunc) > 3) + throw "We should have detected trunc() was polymorphic and generated a generic version."; +} +testAllTypesCall(); + + +// Polymorphic input but negative zero is not observable. +function opaqueAllTypesTruncWithoutNegativeZero(argument) { + return Math.trunc(argument) + 0; +} +noInline(opaqueAllTypesTruncWithoutNegativeZero); +noOSRExitFuzzing(opaqueAllTypesTruncWithoutNegativeZero); + +function testAllTypesWithoutNegativeZeroCall() { + for (let i = 0; i < 1e3; ++i) { + for (let testCaseInput of validInputTypedTestCases) { + let output = opaqueAllTypesTruncWithoutNegativeZero(testCaseInput[0]); + if (!isIdentical(output, testCaseInput[1] + 0)) + throw "Failed testAllTypesWithoutNegativeZeroCall for input " + testCaseInput[0] + " expected " + testCaseInput[1] + " got " + output; + } + } + if (numberOfDFGCompiles(opaqueAllTypesTrunc) > 3) + throw "We should have detected trunc() was polymorphic and generated a generic version."; +} +testAllTypesWithoutNegativeZeroCall(); + + +// Test Math.trunc() on a completely typed input. Every call see only one type. +function testSingleTypeCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTrunc(argument) { + return Math.trunc(argument); + } + noInline(opaqueTrunc); + noOSRExitFuzzing(opaqueTrunc); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTrunc(${testCaseInput[0]}), ${testCaseInput[1]})) { + throw "Failed testSingleTypeCall()"; + } + } + if (numberOfDFGCompiles(opaqueTrunc) > 1) + throw "Failed testSingleTypeCall(). We should have compiled a single trunc for the expected type."; + `); + } +} +testSingleTypeCall(); + + +function checkCompileCountForUselessNegativeZero(testFunction) +{ + if (jscOptions().useMaximalFlushInsertionPhase) { + // If we forced a flush after the operation, the negative zero becomes + // observable and we may be overly optimistic. + return numberOfDFGCompiles(testFunction) <= 2; + } + return numberOfDFGCompiles(testFunction) <= 1; +} + + +// Test Math.trunc() on a completely typed input, but without negative zero. +function testSingleTypeWithoutNegativeZeroCall() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTrunc(argument) { + return Math.trunc(argument) + 0; + } + noInline(opaqueTrunc); + noOSRExitFuzzing(opaqueTrunc); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTrunc(${testCaseInput[0]}), ${testCaseInput[1]} + 0)) { + throw "Failed testSingleTypeWithoutNegativeZeroCall()"; + } + } + if (!checkCompileCountForUselessNegativeZero(opaqueTrunc)) + throw "Failed testSingleTypeWithoutNegativeZeroCall(). We should have compiled a single trunc for the expected type."; + `); + } +} +testSingleTypeWithoutNegativeZeroCall(); + + +// Test Math.trunc() on constants +function testConstant() { + for (let testCaseInput of validInputTestCases) { + eval(` + function opaqueTruncOnConstant() { + return Math.trunc(${testCaseInput[0]}); + } + noInline(opaqueTruncOnConstant); + noOSRExitFuzzing(opaqueTruncOnConstant); + + for (let i = 0; i < 1e4; ++i) { + if (!isIdentical(opaqueTruncOnConstant(), ${testCaseInput[1]})) { + throw "Failed testConstant()"; + } + } + if (numberOfDFGCompiles(opaqueTruncOnConstant) > 1) + throw "Failed testConstant(). We should have compiled a single trunc for the expected type."; + `); + } +} +testConstant(); + + +// Verify we call valueOf() exactly once per call. +function opaqueTruncForSideEffects(argument) { + return Math.trunc(argument); +} +noInline(opaqueTruncForSideEffects); +noOSRExitFuzzing(opaqueTruncForSideEffects); + +function testSideEffect() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let trunc16 = Math.trunc(16); + for (let i = 0; i < 1e4; ++i) { + if (opaqueTruncForSideEffects(testObject) !== trunc16) + throw "Incorrect result in testSideEffect()"; + } + if (testObject.counter !== 1e4) + throw "Failed testSideEffect()"; + if (numberOfDFGCompiles(opaqueTruncForSideEffects) > 1) + throw "opaqueTruncForSideEffects() is predictable, it should only be compiled once."; +} +testSideEffect(); + + +// Verify trunc() is not subject to CSE if the argument has side effects. +function opaqueTruncForCSE(argument) { + return Math.trunc(argument) + Math.trunc(argument) + Math.trunc(argument); +} +noInline(opaqueTruncForCSE); +noOSRExitFuzzing(opaqueTruncForCSE); + +function testCSE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + let trunc16 = Math.trunc(16); + let threeTrunc16 = trunc16 + trunc16 + trunc16; + for (let i = 0; i < 1e4; ++i) { + if (opaqueTruncForCSE(testObject) !== threeTrunc16) + throw "Incorrect result in testCSE()"; + } + if (testObject.counter !== 3e4) + throw "Failed testCSE()"; + if (numberOfDFGCompiles(opaqueTruncForCSE) > 1) + throw "opaqueTruncForCSE() is predictable, it should only be compiled once."; +} +testCSE(); + + +// Verify trunc() is not subject to DCE if the argument has side effects. +function opaqueTruncForDCE(argument) { + Math.trunc(argument); +} +noInline(opaqueTruncForDCE); +noOSRExitFuzzing(opaqueTruncForDCE); + +function testDCE() { + let testObject = { + counter: 0, + valueOf: function() { ++this.counter; return 16; } + }; + for (let i = 0; i < 1e4; ++i) { + opaqueTruncForDCE(testObject); + } + if (testObject.counter !== 1e4) + throw "Failed testDCE()"; + if (numberOfDFGCompiles(opaqueTruncForDCE) > 1) + throw "opaqueTruncForDCE() is predictable, it should only be compiled once."; +} +testDCE(); + + +// Test exceptions in the argument. +function testException() { + let counter = 0; + function opaqueTruncWithException(argument) { + let result = Math.trunc(argument); + ++counter; + return result; + } + noInline(opaqueTruncWithException); + + let testObject = { valueOf: () => { return 64; } }; + let trunc64 = Math.trunc(64); + + // Warm up without exception. + for (let i = 0; i < 1e3; ++i) { + if (opaqueTruncWithException(testObject) !== trunc64) + throw "Incorrect result in opaqueTruncWithException()"; + } + + let testThrowObject = { valueOf: () => { throw testObject; return 64; } }; + + for (let i = 0; i < 1e2; ++i) { + try { + if (opaqueTruncWithException(testThrowObject) !== 8) + throw "This code should not be reached!!"; + } catch (e) { + if (e !== testObject) { + throw "Wrong object thrown from opaqueTruncWithException." + } + } + } + + if (counter !== 1e3) { + throw "Invalid count in testException()"; + } +} +testException(); diff --git a/implementation-contributed/javascriptcore/stress/arity-check-ftl-throw-more-args.js b/implementation-contributed/javascriptcore/stress/arity-check-ftl-throw-more-args.js new file mode 100644 index 0000000000..ee2ed3c297 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-check-ftl-throw-more-args.js @@ -0,0 +1,23 @@ +// Require lots of arguments so that arity fixup will need a lot of stack, making +// it prone to stack overflow. +var script = "recursionCount, "; +for (var i = 0; i < 5000; ++i) + script += "dummy, " +script += "dummy"; +var g = new Function(script, "return recursionCount ? g(recursionCount - 1) : 0;"); // Ensure that arguments are observed. + +noInline(g); + +// Ensure that f and g get optimized. +for (var i = 0; i < 10000; ++i) { + // Recurse once to ensure profiling along all control flow paths. + g(1); +} + +try { + // Recurse enough times to trigger a stack overflow exception. + g(1000000); +} catch(e) { + if (! (e instanceof RangeError)) + throw "bad value for e"; +} diff --git a/implementation-contributed/javascriptcore/stress/arity-check-ftl-throw.js b/implementation-contributed/javascriptcore/stress/arity-check-ftl-throw.js new file mode 100644 index 0000000000..0a336f75d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-check-ftl-throw.js @@ -0,0 +1,35 @@ +// Require lots of arguments so that arity fixup will need a lot of stack, making +// it prone to stack overflow. +var script = ""; +for (var i = 0; i < 128; ++i) + script += "dummy, " +script += "dummy"; +var g = new Function(script, "return arguments;"); // Ensure that arguments are observed. + +function f(recursionCount) +{ + if (!recursionCount) + return; + + // Use too few arguments to force arity fixup. + g(); + + f(--recursionCount); +} + +noInline(g); +noInline(f); + +// Ensure that f and g get optimized. +for (var i = 0; i < 1000000; ++i) { + // Recurse once to ensure profiling along all control flow paths. + f(1); +} + +try { + // Recurse enough times to trigger a stack overflow exception. + f(1000000); +} catch(e) { + if (! (e instanceof RangeError)) + throw "bad value for e"; +} diff --git a/implementation-contributed/javascriptcore/stress/arity-fixup-inlining-dont-generate-invalid-use.js b/implementation-contributed/javascriptcore/stress/arity-fixup-inlining-dont-generate-invalid-use.js new file mode 100644 index 0000000000..17f231185e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-fixup-inlining-dont-generate-invalid-use.js @@ -0,0 +1,26 @@ +function baz() { } +noInline(baz); + +function bar(x, y, z) { + baz(z); + return x + y + 20.2; +} +function foo(x, b) { + let y = x + 10.54; + let z = y; + if (b) { + y += 1.23; + z += 2.199; + } else { + y += 2.27; + z += 2.18; + } + + let r = bar(b ? y : z, !b ? y : z); + + return r; +} +noInline(foo); + +for (let i = 0; i < 1000; ++i) + foo(i+0.5, !!(i%2)); diff --git a/implementation-contributed/javascriptcore/stress/arity-fixup-should-not-touch-stack-area-below-sp.js b/implementation-contributed/javascriptcore/stress/arity-fixup-should-not-touch-stack-area-below-sp.js new file mode 100644 index 0000000000..8d12dc507b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-fixup-should-not-touch-stack-area-below-sp.js @@ -0,0 +1,3 @@ +var args = "y,".repeat(30000); +var g = Function(args, "return 0"); +g(); diff --git a/implementation-contributed/javascriptcore/stress/arity-mismatch-arguments-length.js b/implementation-contributed/javascriptcore/stress/arity-mismatch-arguments-length.js new file mode 100644 index 0000000000..4a89e24bb3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-mismatch-arguments-length.js @@ -0,0 +1,50 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function test1(arg1, arg2, arg3) + { + return arguments.length; + } + + function test() + { + shouldBe(test1(), 0); + shouldBe(test1(0), 1); + shouldBe(test1(0, 1), 2); + shouldBe(test1(0, 1, 2), 3); + shouldBe(test1(0, 1, 2, 3), 4); + } + noInline(test); + + for (var i = 0; i < 1e4; ++i) + test(); +}()); + +(function () { + function test1(flag, arg1, arg2, arg3) + { + if (flag) + OSRExit(); + return arguments; + } + + function test(flag) + { + shouldBe(test1(flag).length, 1); + shouldBe(test1(flag, 0).length, 2); + shouldBe(test1(flag, 0, 1).length, 3); + shouldBe(test1(flag, 0, 1, 2).length, 4); + shouldBe(test1(flag, 0, 1, 2, 3).length, 5); + } + noInline(test); + for (var i = 0; i < 1e5; ++i) + test(false); + + test(true); + test(true); + test(true); +}()); diff --git a/implementation-contributed/javascriptcore/stress/arity-mismatch-get-argument.js b/implementation-contributed/javascriptcore/stress/arity-mismatch-get-argument.js new file mode 100644 index 0000000000..3b746e3428 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-mismatch-get-argument.js @@ -0,0 +1,23 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function () { + return @argument(0); +})`); + +function test() +{ + var result = builtin(); + shouldBe(result, undefined); + var result = builtin(42); + shouldBe(result, 42); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/arity-mismatch-inlining-extra-slots.js b/implementation-contributed/javascriptcore/stress/arity-mismatch-inlining-extra-slots.js new file mode 100644 index 0000000000..eaf374370c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-mismatch-inlining-extra-slots.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function inlineTarget(arg1, arg2) +{ + return [arg1, arg2]; +} + +function test() { + shouldBe(JSON.stringify(inlineTarget(null)), `[null,null]`); +} +noInline(test); +for (var i = 0; i < 3e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/arity-mismatch-inlining.js b/implementation-contributed/javascriptcore/stress/arity-mismatch-inlining.js new file mode 100644 index 0000000000..8081d9f212 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-mismatch-inlining.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function inlineTarget(arg1, arg2, arg3, arg4, arg5) +{ + return [arg1, arg2, arg3, arg4, arg5]; +} + +function test() { + shouldBe(JSON.stringify(inlineTarget()), `[null,null,null,null,null]`); + shouldBe(JSON.stringify(inlineTarget(42)), `[42,null,null,null,null]`); + shouldBe(JSON.stringify(inlineTarget(42, 43)), `[42,43,null,null,null]`); + shouldBe(JSON.stringify(inlineTarget(42, 43, 44)), `[42,43,44,null,null]`); + shouldBe(JSON.stringify(inlineTarget(42, 43, 44, 45)), `[42,43,44,45,null]`); + shouldBe(JSON.stringify(inlineTarget(42, 43, 44, 45, 46)), `[42,43,44,45,46]`); + shouldBe(JSON.stringify(inlineTarget(42, 43, 44, 45, 46, 47)), `[42,43,44,45,46]`); + shouldBe(JSON.stringify(inlineTarget(42, 43, 44, 45, 46, 47, 48)), `[42,43,44,45,46]`); +} +noInline(test); +for (var i = 0; i < 3e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/arity-mismatch-rest.js b/implementation-contributed/javascriptcore/stress/arity-mismatch-rest.js new file mode 100644 index 0000000000..a8584cce29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arity-mismatch-rest.js @@ -0,0 +1,65 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function test2(...rest) + { + return rest; + } + + function test1(arg1, arg2, arg3) + { + return test2(arg1, arg2, arg3); + } + + function test() + { + var result = test1(); + shouldBe(result.length, 3); + shouldBe(result[0], undefined); + shouldBe(result[1], undefined); + shouldBe(result[2], undefined); + } + noInline(test); + + for (var i = 0; i < 1e4; ++i) + test(); +}()); + +(function () { + function test1(...rest) + { + return rest; + } + + function test() + { + var result = test1(); + shouldBe(result.length, 0); + } + noInline(test); + + for (var i = 0; i < 1e4; ++i) + test(); +}()); + +(function () { + function test1(...rest) + { + return rest; + } + noInline(test1); + + function test() + { + var result = test1(); + shouldBe(result.length, 0); + } + noInline(test); + + for (var i = 0; i < 1e4; ++i) + test(); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-buffer-byte-length.js b/implementation-contributed/javascriptcore/stress/array-buffer-byte-length.js new file mode 100644 index 0000000000..78a72f9232 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-buffer-byte-length.js @@ -0,0 +1,66 @@ +//@ skip +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) +{ + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +{ + let arrayBuffer = new ArrayBuffer(42); + let sharedArrayBuffer = new SharedArrayBuffer(500); + shouldBe(arrayBuffer.byteLength, 42); + shouldBe(sharedArrayBuffer.byteLength, 500); + shouldBe(ArrayBuffer.prototype.hasOwnProperty('byteLength'), true); + shouldBe(SharedArrayBuffer.prototype.hasOwnProperty('byteLength'), true); + + shouldBe(arrayBuffer.hasOwnProperty('byteLength'), false); + shouldBe(sharedArrayBuffer.hasOwnProperty('byteLength'), false); + + shouldBe(!!Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get, true); + shouldBe(!!Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').get, true); + + shouldBe(!!Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').set, false); + shouldBe(!!Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').set, false); + + shouldBe(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get !== Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').get, true); + + shouldThrow(() => { + Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get.call(sharedArrayBuffer); + }, `TypeError: Receiver should not be a shared array buffer`); + + shouldThrow(() => { + Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').get.call(arrayBuffer); + }, `TypeError: Receiver should be a shared array buffer`); + + for (let value of [ 0, true, "Cocoa", null, undefined, Symbol("Cappuccino") ]) { + shouldThrow(() => { + Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get.call(value); + }, `TypeError: Receiver should be an array buffer but was not an object`); + shouldThrow(() => { + Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').get.call(value); + }, `TypeError: Receiver should be an array buffer but was not an object`); + } + + shouldThrow(() => { + Object.getOwnPropertyDescriptor(ArrayBuffer.prototype, 'byteLength').get.call({}); + }, `TypeError: Receiver should be an array buffer`); + shouldThrow(() => { + Object.getOwnPropertyDescriptor(SharedArrayBuffer.prototype, 'byteLength').get.call({}); + }, `TypeError: Receiver should be an array buffer`); +} diff --git a/implementation-contributed/javascriptcore/stress/array-concat-fast-spread-proxy.js b/implementation-contributed/javascriptcore/stress/array-concat-fast-spread-proxy.js new file mode 100644 index 0000000000..eb6ee0665e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-concat-fast-spread-proxy.js @@ -0,0 +1,41 @@ +// This file tests is concat spreadable when taking the fast path +// (single argument, JSArray receiver) + +function arrayEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; +} + + +{ + let array = [1,2,3]; + let {proxy:p, revoke} = Proxy.revocable([4, 5], {}); + + // Test it works with proxies by default + for (let i = 0; i < 10000; i++) { + if (!arrayEq(Array.prototype.concat.call(array, p), [1,2,3,4,5])) + throw "failed normally with a proxy" + } + + // Test it works with spreadable false. + p[Symbol.isConcatSpreadable] = false; + for (let i = 0; i < 10000; i++) { + if (!arrayEq(Array.prototype.concat.call(array,p), [1,2,3,p])) + throw "failed with no spread" + } + + p[Symbol.isConcatSpreadable] = undefined; + revoke(); + passed = true; + try { + Array.prototype.concat.call(array,p); + passed = false; + } catch (e) { } + if (!passed) + throw "failed to throw spreading revoked proxy"; +} diff --git a/implementation-contributed/javascriptcore/stress/array-concat-on-frozen-object.js b/implementation-contributed/javascriptcore/stress/array-concat-on-frozen-object.js new file mode 100644 index 0000000000..6b785c03dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-concat-on-frozen-object.js @@ -0,0 +1,72 @@ +//@ runFTLNoCJIT + +let totalFailed = 0; + +function shouldEqual(testId, actual, expected) { + if (actual != expected) { + throw testId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +function makeArray() { + return ['unmodifiable']; +} + +function makeArrayLikeObject() { + var obj = {}; + obj[0] = 'unmodifiable'; + obj.length = 1; + return obj; +} + +function emptyArraySourceMaker() { + return []; +} + +function singleElementArraySourceMaker() { + return ['modified_1']; +} + +// Make test functions with unique codeblocks. +function makeConcatTest(testId) { + return new Function("arr", "return arr.concat(['" + testId + "'])"); +} +function makeConcatOnHoleyArrayTest(testId) { + return new Function("arr", "var other = ['" + testId + "']; other[1000] = '" + testId + "'; return arr.concat(other);"); +} + +let numIterations = 10000; + +function runTest(testId, testMaker, targetMaker, sourceMaker, expectedValue, expectedException) { + var test = testMaker(testId); + noInline(test); + + for (var i = 0; i < numIterations; i++) { + var exception = undefined; + + var obj = targetMaker(); + obj = Object.freeze(obj); + + var arr = sourceMaker(); + arr.constructor = { [Symbol.species]: function() { return obj; } }; + + try { + test(arr); + } catch (e) { + exception = "" + e; + exception = exception.substr(0, 10); // Search for "TypeError:". + } + shouldEqual(testId, exception, expectedException); + shouldEqual(testId, obj[0], expectedValue); + } +} + +runTest(10010, makeConcatTest, makeArray, emptyArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10011, makeConcatTest, makeArray, singleElementArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10020, makeConcatTest, makeArrayLikeObject, emptyArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10021, makeConcatTest, makeArrayLikeObject, singleElementArraySourceMaker, "unmodifiable", "TypeError:"); + +runTest(10110, makeConcatOnHoleyArrayTest, makeArray, emptyArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10111, makeConcatOnHoleyArrayTest, makeArray, singleElementArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10120, makeConcatOnHoleyArrayTest, makeArrayLikeObject, emptyArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10121, makeConcatOnHoleyArrayTest, makeArrayLikeObject, singleElementArraySourceMaker, "unmodifiable", "TypeError:"); diff --git a/implementation-contributed/javascriptcore/stress/array-concat-spread-object.js b/implementation-contributed/javascriptcore/stress/array-concat-spread-object.js new file mode 100644 index 0000000000..13b551eba9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-concat-spread-object.js @@ -0,0 +1,48 @@ +// This file tests is concat spreadable. + +function arrayEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; +} + + +{ + let o = {0:1, 1:2, 2:3, length:3}; + + // Test it works with proxies by default + for (let i = 0; i < 100000; i++) { + if (!arrayEq(Array.prototype.concat.call(o,o), [o,o])) + throw "failed normally with an object" + } + + // Test it works with spreadable true + o[Symbol.isConcatSpreadable] = true; + for (let i = 0; i < 100000; i++) { + let result = Array.prototype.concat.call(o,o) + if (!arrayEq(result, [1,2,3,1,2,3])) + throw "failed with spread got: " + result; + } + + // Test it works with many things + o[Symbol.isConcatSpreadable] = true; + let other = {} + for (let i = 0; i < 100000; i++) { + let result = Array.prototype.concat.call(o,o,true,[1,2],other) + if (!arrayEq(result, [1,2,3,1,2,3,true,1,2,other])) + throw "failed with spread got: " + result; + } + + // Test it works with strings + String.prototype[Symbol.isConcatSpreadable] = true; + for (let i = 0; i < 100000; i++) { + let result = Array.prototype.concat.call("hi","hi") + // This is what the spec says is the correct answer... D: + if (!arrayEq(result, ["h", "i", "hi"])) + throw "failed with string got: " + result + " on iteration " + i; + } +} diff --git a/implementation-contributed/javascriptcore/stress/array-concat-spread-proxy-exception-check.js b/implementation-contributed/javascriptcore/stress/array-concat-spread-proxy-exception-check.js new file mode 100644 index 0000000000..81b06ccbd1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-concat-spread-proxy-exception-check.js @@ -0,0 +1,34 @@ +function arrayEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; +} + +{ + let concat = Array.prototype.concat; + noInline(concat); + let array = [1, 2, 3]; + let {proxy:p, revoke} = Proxy.revocable(array, { get : function(o, k) { return o[k]; } }); + + concat.call(p,p); + + for (let i = 0; i < 100000; i++) { + if (!arrayEq(concat.call(p,p), [1,2,3,1,2,3])) + throw "bad"; + } + revoke(); + failed = true; + try { + concat.call(p,p); + } catch (e) { + failed = false; + } + + if (failed) + throw "bad" + +} diff --git a/implementation-contributed/javascriptcore/stress/array-concat-spread-proxy.js b/implementation-contributed/javascriptcore/stress/array-concat-spread-proxy.js new file mode 100644 index 0000000000..0726f62aee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-concat-spread-proxy.js @@ -0,0 +1,40 @@ +// This file tests is concat spreadable. + +function arrayEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; +} + + +{ + let array = [1,2,3]; + let {proxy:p, revoke} = Proxy.revocable(array, { get : function(o, k) { return o[k]; } }); + + // Test it works with proxies by default + for (let i = 0; i < 100000; i++) { + if (!arrayEq(Array.prototype.concat.call(p,p), [1,2,3,1,2,3])) + throw "failed normally with a proxy" + } + + // Test it works with spreadable false. + p[Symbol.isConcatSpreadable] = false; + for (let i = 0; i < 100000; i++) { + if (!arrayEq(Array.prototype.concat.call(p,p), [p,p])) + throw "failed with no spread" + } + + p[Symbol.isConcatSpreadable] = undefined; + revoke(); + passed = true; + try { + Array.prototype.concat.call(p,[]); + passed = false; + } catch (e) { } + if (!passed) + throw "failed to throw spreading revoked proxy"; +} diff --git a/implementation-contributed/javascriptcore/stress/array-concat-with-slow-indexingtypes.js b/implementation-contributed/javascriptcore/stress/array-concat-with-slow-indexingtypes.js new file mode 100644 index 0000000000..492efb1ff3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-concat-with-slow-indexingtypes.js @@ -0,0 +1,35 @@ +function arrayEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; +} + + +{ + + array = [1,2]; + Object.defineProperty(array, 2, { get: () => { return 1; } }); + + for (let i = 0; i < 100000; i++) { + if (!arrayEq(Array.prototype.concat.call(array,array), [1,2,1,1,2,1])) + throw "failed normally with a getter" + if (!arrayEq(Array.prototype.concat.call([],array), [1,2,1])) + throw "failed with undecided and a getter" + } + + // Test with indexed types on prototype. + array = [1,2]; + array.length = 3; + Array.prototype[2] = 1; + + for (let i = 0; i < 100000; i++) { + if (!arrayEq(Array.prototype.concat.call(array,array), [1,2,1,1,2,1])) + throw "failed normally with an indexed prototype" + if (!arrayEq(Array.prototype.concat.call([],array), [1,2,1])) + throw "failed with undecided and an indexed prototype" + } +} diff --git a/implementation-contributed/javascriptcore/stress/array-constructor-no-result.js b/implementation-contributed/javascriptcore/stress/array-constructor-no-result.js new file mode 100644 index 0000000000..be2df9f5ad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-constructor-no-result.js @@ -0,0 +1,13 @@ +var o = {}; +o.__defineSetter__("foo", Array); + +function foo() +{ + o.foo = 42; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(); + diff --git a/implementation-contributed/javascriptcore/stress/array-copywithin.js b/implementation-contributed/javascriptcore/stress/array-copywithin.js new file mode 100644 index 0000000000..983fed7ecc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-copywithin.js @@ -0,0 +1,281 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldBeArray(actual, expected) { + shouldBe(actual.length, expected.length); + for (var i = 0; i < expected.length; ++i) { + try { + shouldBe(actual[i], expected[i]); + } catch(e) { + print(JSON.stringify(actual)); + throw e; + } + } +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldBe([].copyWithin.name, 'copyWithin'); +shouldBe([].copyWithin.length, 2); +shouldBe(Array.prototype.hasOwnProperty('copyWithin'), true); +shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(Array.prototype, 'copyWithin')), '{"writable":true,"enumerable":false,"configurable":true}'); + +// 0 arguments. (it is equivalent to copyWithin(0)) +shouldBeArray([1, 2, 3, 4, 5].copyWithin(), [1, 2, 3, 4, 5]); +shouldBeArray([].copyWithin(), []); + +// 1 arguments. +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-4), [1, 1, 2, 3, 4]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-2), [1, 2, 3, 1, 2]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-1), [1, 2, 3, 4, 1]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(1), [1, 1, 2, 3, 4]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(2), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(3), [1, 2, 3, 1, 2]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(4), [1, 2, 3, 4, 1]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(6), [1, 2, 3, 4, 5]); + +// 2 arguments. +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 0), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1), [2, 3, 4, 5, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 2), [3, 4, 5, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 3), [4, 5, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 4), [5, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 6), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(1, 3), [1, 4, 5, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(2, 3), [1, 2, 4, 5, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(3, 3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(4, 3), [1, 2, 3, 4, 4]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(5, 3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(6, 3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-1, -2), [1, 2, 3, 4, 4]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-1, -3), [1, 2, 3, 4, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -3), [3, 4, 5, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -8), [1, 2, 3, 4, 5]); + +// 3 arguments. +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 3, 4), [4, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 0, 5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1, 1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1, 2), [2, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1, 3), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1, 4), [2, 3, 4, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1, 5), [2, 3, 4, 5, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 1, 6), [2, 3, 4, 5, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(2, 1, 3), [1, 2, 2, 3, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(6, 1, 3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -0, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 0, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -2, -1), [4, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -3, -1), [3, 4, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -4, -1), [2, 3, 4, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -5, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -6, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, 0, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -2, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -3, -2), [3, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -4, -2), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -5, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -6, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -0, -1), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, 0, -1), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -2, -1), [1, 2, 4, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -3, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -4, -1), [1, 2, 2, 3, 4]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -5, -1), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -6, -1), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, 0, -2), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -1, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -2, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -3, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -4, -2), [1, 2, 2, 3, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -5, -2), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -6, -2), [1, 2, 1, 2, 3]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -4), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(0, -1, -6), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -2, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -2, -3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -2, -4), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-3, -2, -5), [1, 2, 3, 4, 5]); + +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -0, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 0, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 0, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 0, 5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 2), [2, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 3), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 4), [2, 3, 4, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 5), [2, 3, 4, 5, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 6), [2, 3, 4, 5, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 3), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 1, 3), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, 3, 4), [4, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -1), [4, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -3, -1), [3, 4, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -4, -1), [2, 3, 4, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -5, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -6, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -3, -2), [3, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -4, -2), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -5, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -6, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -1), [4, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -3, -1), [3, 4, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -4, -1), [2, 3, 4, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -5, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -6, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -3, -2), [3, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -4, -2), [2, 3, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -5, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -6, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -1), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -4), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -5), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -1, -6), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -2), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -3), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -4), [1, 2, 3, 4, 5]); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-6, -2, -5), [1, 2, 3, 4, 5]); + +shouldBeArray([1, 2, 3, 4, 5].copyWithin(NaN, 1), [1, 2, 3, 4, 5].copyWithin(0, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(NaN, NaN, 1), [1, 2, 3, 4, 5].copyWithin(0, 0, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(NaN, NaN, NaN), [1, 2, 3, 4, 5].copyWithin(0, 0, 0)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(Infinity, 0, 1), [1, 2, 3, 4, 5].copyWithin(5, 0, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(Infinity, Infinity, 1), [1, 2, 3, 4, 5].copyWithin(5, 5, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(1, Infinity, 1), [1, 2, 3, 4, 5].copyWithin(1, 5, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(1, -Infinity, 1), [1, 2, 3, 4, 5].copyWithin(1, 0, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(-Infinity, 0, 1), [1, 2, 3, 4, 5].copyWithin(0, 0, 1)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(1, 0, Infinity), [1, 2, 3, 4, 5].copyWithin(1, 0, 5)); +shouldBeArray([1, 2, 3, 4, 5].copyWithin(1, 0, -Infinity), [1, 2, 3, 4, 5].copyWithin(1, 0, 0)); + +var copyWithin = Array.prototype.copyWithin; + +function arrayToObject(array) { + var object = {}; + for (var [key, value] of array.entries()) { + object[key] = value; + } + object.length = array.length; + return object; +} +var object = arrayToObject([1, 2, 3, 4, 5]); +object.length = -Infinity; +shouldBeArray(copyWithin.call(object, 1), { length: -Infinity }); +shouldBe(JSON.stringify(copyWithin.call(object, 1)), '{"0":1,"1":2,"2":3,"3":4,"4":5,"length":null}'); + +var object = arrayToObject([1, 2, 3, 4, 5]); +object.length = -Infinity; +shouldBe(JSON.stringify(copyWithin.call(object, 1)), '{"0":1,"1":2,"2":3,"3":4,"4":5,"length":null}'); + +var array = [1, 2, 3, 4, 5]; +var same = array.copyWithin(0, 3); +shouldBeArray(same, [4, 5, 3, 4, 5]); +shouldBeArray(array, [4, 5, 3, 4, 5]); +shouldBe(same, array); + +shouldBe(JSON.stringify([].copyWithin.call({length: 5, 3: 1}, 0, 3)), '{"0":1,"3":1,"length":5}'); +shouldBe(JSON.stringify([].copyWithin.call(new Int32Array([1, 2, 3, 4, 5]), 0, 3, 4)), '{"0":4,"1":2,"2":3,"3":4,"4":5}'); + +shouldBe(JSON.stringify([].copyWithin.call({length: 5.5, 3: 1}, 0, 3)), '{"0":1,"3":1,"length":5.5}'); +shouldBe(JSON.stringify([].copyWithin.call({length: 5.5, 3: 1}, 0.1, 3)), '{"0":1,"3":1,"length":5.5}'); +shouldBe(JSON.stringify([].copyWithin.call({length: 5.5, 3: 1}, 0.1, 3.3)), '{"0":1,"3":1,"length":5.5}'); +shouldBe(JSON.stringify([].copyWithin.call({length: 5.5, 3: 1}, 0.1, 3.8)), '{"0":1,"3":1,"length":5.5}'); +shouldBe(JSON.stringify([].copyWithin.call({length: 5.5, 3: 1}, 0.1, 4.1)), '{"3":1,"length":5.5}'); + +var object = arrayToObject([1, 2, 3, 4, 5]); +delete object[2]; +delete object[3]; +delete object[4]; +var result = copyWithin.call(object, 0, 3, 5); +shouldBe(JSON.stringify(result), '{"length":5}'); + +// 'copyWithin' in Array's @unscopables +(function () { + var array = []; + var copyWithin = 42; + var forEach = 42; + with (array) { + shouldBe(copyWithin, 42); + shouldBe(forEach, [].forEach); + } +}()); + +shouldThrow(function () { + Array.prototype.copyWithin.call(undefined); +}, 'TypeError: Array.prototype.copyWithin requires that |this| not be null or undefined'); + +shouldThrow(function () { + Array.prototype.copyWithin.call(null); +}, 'TypeError: Array.prototype.copyWithin requires that |this| not be null or undefined'); + + +function valueOf(code) { + return { + valueOf() { + throw new Error(code); + } + }; +} + +shouldThrow(function () { + var object = arrayToObject([1, 2, 3, 4, 5]); + object.length = valueOf(0); + copyWithin.call(object, valueOf(1), valueOf(2), valueOf(3)); +}, 'Error: 0'); + +shouldThrow(function () { + var object = arrayToObject([1, 2, 3, 4, 5]); + copyWithin.call(object, valueOf(1), valueOf(2), valueOf(3)); +}, 'Error: 1'); + +shouldThrow(function () { + var object = arrayToObject([1, 2, 3, 4, 5]); + copyWithin.call(object, 0, valueOf(2), valueOf(3)); +}, 'Error: 2'); + +shouldThrow(function () { + var object = arrayToObject([1, 2, 3, 4, 5]); + copyWithin.call(object, 0, 1, valueOf(3)); +}, 'Error: 3'); + +shouldThrow(function () { + var object = arrayToObject([1, 2, 3, 4, 5]); + Object.freeze(object); + copyWithin.call(object, 0, 1, 2); +}, 'TypeError: Attempted to assign to readonly property.'); diff --git a/implementation-contributed/javascriptcore/stress/array-fill-put-by-val.js b/implementation-contributed/javascriptcore/stress/array-fill-put-by-val.js new file mode 100644 index 0000000000..29eefef98b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-fill-put-by-val.js @@ -0,0 +1,44 @@ +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +var array = new Array(10); + +for (var i = 0; i < 10; ++i) { + (function (index) { + var seenOnce = false; + var storage = null; + Object.defineProperty(Array.prototype, index, { + get() { + throw new Error('get is called.' + index); + return storage; + }, + set(value) { + if (seenOnce) + throw new Error('set is called.' + index); + seenOnce = true; + storage = value; + return storage; + } + }); + }(i)); +} + +// No error, but all seenOnce becomes true. +array.fill(42); + +// Ensures that all setter is called once. +for (var i = 0; i < 10; ++i) { + shouldThrow(function () { + array[i] = i; + }, "Error: set is called." + i); +} diff --git a/implementation-contributed/javascriptcore/stress/array-filter-put-by-val-direct.js b/implementation-contributed/javascriptcore/stress/array-filter-put-by-val-direct.js new file mode 100644 index 0000000000..0a92d812a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-filter-put-by-val-direct.js @@ -0,0 +1,27 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var i = 0; i < 10; ++i) { + Object.defineProperty(Array.prototype, i, { + get() { + throw new Error('get is called.'); + }, + set(value) { + throw new Error('set is called.'); + } + }); +} + +var original = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + +// Doesn't throw any errors. +var filtered = original.filter(function (value, index) { + return index % 2 == 0; +}); + +shouldBe(filtered.length, 5); +for (var i = 0; i < 5; ++i) { + shouldBe(filtered[i], i * 2); +} diff --git a/implementation-contributed/javascriptcore/stress/array-find-does-not-lookup-twice.js b/implementation-contributed/javascriptcore/stress/array-find-does-not-lookup-twice.js new file mode 100644 index 0000000000..87f767ff59 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-find-does-not-lookup-twice.js @@ -0,0 +1,47 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +var array = new Array(10); + +for (var i = 0; i < 10; ++i) { + (function (index) { + var seenOnce = false; + Object.defineProperty(array, index, { + get() { + if (seenOnce) + throw new Error('get is called.' + index); + seenOnce = true; + return index; + } + }); + }(i)); +} + +shouldBe(array.length, 10); + +// Doesn't throw any errors. +var findValue = array.find(function (value) { + return value === 9; +}); +shouldBe(findValue, 9); + +for (var i = 0; i < 10; ++i) { + shouldThrow(function () { + var value = array[i]; + }, "Error: get is called." + i); +} diff --git a/implementation-contributed/javascriptcore/stress/array-flatmap.js b/implementation-contributed/javascriptcore/stress/array-flatmap.js new file mode 100644 index 0000000000..1d1e4d04c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-flatmap.js @@ -0,0 +1,97 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldBeArray(actual, expected) { + shouldBe(actual.length, expected.length); + for (var i = 0; i < expected.length; ++i) { + try { + if (Array.isArray(expected[i])) { + shouldBe(Array.isArray(actual[i]), true); + shouldBeArray(actual[i], expected[i]); + } else + shouldBe(actual[i], expected[i]); + } catch(e) { + print(JSON.stringify(actual)); + throw e; + } + } +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldThrow(() => { + [].flatMap(); +}, `TypeError: Array.prototype.flatMap callback must be a function`); + +var array = [42]; +shouldBeArray(array.flatMap(function (v) { + "use strict"; + shouldBe(v, 42); + return this; +}, `Cocoa`), [`Cocoa`]); + +shouldBeArray([].flatMap((v) => v), []); +shouldBeArray([42].flatMap((v) => v), [42]); +shouldBeArray([42].flatMap((v) => [v]), [42]); +shouldBeArray([42].flatMap((v) => [[v]]), [[42]]); +shouldBeArray([42].flatMap((v) => [v, v, v]), [42,42,42]); +shouldBeArray([42,[43],44].flatMap((v) => [v, v]), [42,42,[43],[43],44,44]); +shouldBeArray([,,,,,,].flatMap((v) => [v, v]), []); +shouldBeArray([42,43,44].flatMap((v) => []), []); +shouldBeArray([42,[43],44].flatMap((v) => v), [42,43,44]); + +class DerivedArray extends Array { } +shouldBe((new DerivedArray).flatMap(() => {}) instanceof DerivedArray, true); +var flatMap = [].flatMap; +var realm = createGlobalObject(); +shouldBe(flatMap.call({}, () => {}) instanceof Array, true); +shouldBe(flatMap.call(new realm.Array, () => {}) instanceof Array, true); +var array2 = new realm.Array; +array2.constructor = 0; + +shouldThrow(() => { + flatMap.call(array2, () => {}); +}, `TypeError: 0 is not a constructor`); + +var array2 = new realm.Array; +array2.constructor = undefined; +shouldBe(flatMap.call(array2, () => {}) instanceof Array, true); + +var array2 = new realm.Array; +array2.constructor = { + get [Symbol.species]() { + return null; + } +}; +shouldBe(flatMap.call(array2, () => {}) instanceof Array, true); + +var array2 = new realm.Array; +array2.constructor = { + get [Symbol.species]() { + return undefined; + } +}; +shouldBe(flatMap.call(array2, () => {}) instanceof Array, true); + +var array2 = new realm.Array; +array2.constructor = { + get [Symbol.species]() { + return DerivedArray; + } +}; +shouldBe(flatMap.call(array2, () => {}) instanceof DerivedArray, true); diff --git a/implementation-contributed/javascriptcore/stress/array-flatten.js b/implementation-contributed/javascriptcore/stress/array-flatten.js new file mode 100644 index 0000000000..b1a7c085d6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-flatten.js @@ -0,0 +1,108 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldBeArray(actual, expected) { + shouldBe(actual.length, expected.length); + for (var i = 0; i < expected.length; ++i) { + try { + if (Array.isArray(expected[i])) { + shouldBe(Array.isArray(actual[i]), true); + shouldBeArray(actual[i], expected[i]); + } else + shouldBe(actual[i], expected[i]); + } catch(e) { + print(JSON.stringify(actual)); + throw e; + } + } +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldBe([].flat.length, 0); +shouldBe([].flat.name, `flat`); + +shouldBeArray([].flat(), []); +shouldBeArray([0, 1, 2, 3, , 4].flat(), [0, 1, 2, 3, 4]); +shouldBeArray([,,,,,].flat(), []); + +shouldBeArray([].flat(0), []); +shouldBeArray([0, 1, 2, 3, , 4].flat(0), [0, 1, 2, 3, 4]); +shouldBeArray([,,,,,].flat(0), []); + +shouldBeArray([].flat(-1), []); +shouldBeArray([0, 1, 2, 3, , 4].flat(-1), [0, 1, 2, 3, 4]); +shouldBeArray([,,,,,].flat(-1), []); + +shouldBeArray([[],[]].flat(), []); +shouldBeArray([[0],[1]].flat(), [0,1]); +shouldBeArray([[0],[],1].flat(), [0,1]); +shouldBeArray([[0],[[]],1].flat(), [0,[],1]); +shouldBeArray([[0],[[]],1].flat(1), [0,[],1]); +shouldBeArray([[0],[[]],1].flat(2), [0,1]); + +shouldBeArray([[],[]].flat(0), [[],[]]); +shouldBeArray([[0],[1]].flat(0), [[0],[1]]); +shouldBeArray([[0],[],1].flat(0), [[0],[],1]); +shouldBeArray([[0],[[]],1].flat(0), [[0],[[]],1]); + +shouldBeArray([[[[[[[[[[[[[[[[[[[[[42]]]]]]]]]]]]]]]]]]]]].flat(Infinity), [42]); + +var array = []; +shouldBe(array.flat() !== array, true); + +class DerivedArray extends Array { } +shouldBe((new DerivedArray).flat() instanceof DerivedArray, true); +var flat = [].flat; +var realm = createGlobalObject(); +shouldBe(flat.call({}) instanceof Array, true); +shouldBe(flat.call(new realm.Array) instanceof Array, true); +var array2 = new realm.Array; +array2.constructor = 0; + +shouldThrow(() => { + flat.call(array2); +}, `TypeError: 0 is not a constructor`); + +var array2 = new realm.Array; +array2.constructor = undefined; +shouldBe(flat.call(array2) instanceof Array, true); + +var array2 = new realm.Array; +array2.constructor = { + get [Symbol.species]() { + return null; + } +}; +shouldBe(flat.call(array2) instanceof Array, true); + +var array2 = new realm.Array; +array2.constructor = { + get [Symbol.species]() { + return undefined; + } +}; +shouldBe(flat.call(array2) instanceof Array, true); + +var array2 = new realm.Array; +array2.constructor = { + get [Symbol.species]() { + return DerivedArray; + } +}; +shouldBe(flat.call(array2) instanceof DerivedArray, true); diff --git a/implementation-contributed/javascriptcore/stress/array-from-abs-and-floor.js b/implementation-contributed/javascriptcore/stress/array-from-abs-and-floor.js new file mode 100644 index 0000000000..8bbb48a152 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-from-abs-and-floor.js @@ -0,0 +1,42 @@ +function target1() { + return Array.from({ + length: 5, + 0: 0, + 1: 0, + 2: 0, + 3: 0, + 4: 0 + }); +} +noInline(target1); + +function target2() { + return Array.from({ + length: 5.4, + 0: 0, + 1: 0, + 2: 0, + 3: 0, + 4: 0 + }); +} +noInline(target2); + +function target3() { + return Array.from({ + length: -5.4, + 0: 0, + 1: 0, + 2: 0, + 3: 0, + 4: 0 + }); +} +noInline(target3); + +for (var i = 0; i < 10000; ++i) + target1(); +for (var i = 0; i < 10000; ++i) + target2(); +for (var i = 0; i < 10000; ++i) + target3(); diff --git a/implementation-contributed/javascriptcore/stress/array-from-put-by-val-direct.js b/implementation-contributed/javascriptcore/stress/array-from-put-by-val-direct.js new file mode 100644 index 0000000000..fc8792f730 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-from-put-by-val-direct.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var i = 0; i < 10; ++i) { + Object.defineProperty(Array.prototype, i, { + get() { + throw new Error('get is called.'); + }, + set(value) { + throw new Error('set is called.'); + } + }); +} + +var original = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + +// Doesn't throw any errors. +var generated = Array.from(original); + +shouldBe(generated.length, 10); +for (var i = 0; i < 10; ++i) { + shouldBe(generated[i], i); +} diff --git a/implementation-contributed/javascriptcore/stress/array-from-set-length.js b/implementation-contributed/javascriptcore/stress/array-from-set-length.js new file mode 100644 index 0000000000..ab6adeadb0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-from-set-length.js @@ -0,0 +1,45 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var i = 0; i < 10; ++i) { + Object.defineProperty(Array.prototype, i, { + get() { + throw new Error('get is called.'); + }, + set(value) { + throw new Error('set is called.'); + } + }); +} + +class ArrayLike { + constructor(length) { + this.lengthCalled = false; + this._length = length; + } + set length(value) { + this.lengthCalled = true; + this._length = value; + } + get length() { + return this._length; + } +} + +var arrayLike = new ArrayLike(10); +for (var i = 0; i < 10; ++i) { + arrayLike[i] = i; +} +shouldBe(arrayLike.lengthCalled, false); + +var generated = Array.from.call(ArrayLike, arrayLike); + +shouldBe(generated.length, 10); +shouldBe(generated instanceof ArrayLike, true); +for (var i = 0; i < 10; ++i) { + shouldBe(generated[i], i); +} +shouldBe(arrayLike.lengthCalled, false); +shouldBe(generated.lengthCalled, true); diff --git a/implementation-contributed/javascriptcore/stress/array-from-with-accessors.js b/implementation-contributed/javascriptcore/stress/array-from-with-accessors.js new file mode 100644 index 0000000000..cfe65ca063 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-from-with-accessors.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = [0, 1, 2, 3, 4, 5]; +Object.defineProperty(Array.prototype, '0', { + get() { + throw new Error('cannot get to 0 getter'); + }, + set() { + throw new Error('cannot put to 0 setter'); + } +}); + +var result = Array.from(array); +shouldBe(result.length, array.length); +shouldBe(result instanceof Array, true); + +for (var i = 0; i < array.length; ++i) + shouldBe(result[i], array[i]); + diff --git a/implementation-contributed/javascriptcore/stress/array-from-with-iterable.js b/implementation-contributed/javascriptcore/stress/array-from-with-iterable.js new file mode 100644 index 0000000000..67e0a2824b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-from-with-iterable.js @@ -0,0 +1,69 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +// Set is iterable. +var set = new Set([0, 1, 2, 3, 4, 5]); +var array = Array.from(set); + +shouldBe(array.length, set.size); +for (var i = 0; i < array.length; ++i) { + shouldBe(set.has(array[i]), true); +} + +// Map is iterable. +var map = new Map([ + [0, 0], + [1, 0], + [2, 0], + [3, 0], + [4, 0], + [5, 0] +]); +var array = Array.from(map); + +shouldBe(array.length, map.size); +for (var i = 0; i < array.length; ++i) { + shouldBe(array[i][1], 0); + shouldBe(map.has(array[i][0]), true); + shouldBe(map.get(array[i][0]), 0); +} + +// String is iterable +var string = "Cocoa Cappuccino"; +var array = Array.from(string); +shouldBe(array.length, string.length); +for (var i = 0; i < array.length; ++i) { + shouldBe(array[i], string[i]); +} + +// Arguments is iterable +var argumentsGenerators = [ + function () { + return arguments; + }, + + function () { + 'use strict'; + return arguments; + }, + + function (a, b, c) { + return arguments; + }, + + function (a, b, c) { + 'use strict'; + return arguments; + } +]; + +for (var gen of argumentsGenerators) { + var args = gen(1, 2, 3, 4, 5); + var array = Array.from(args); + shouldBe(array.length, args.length); + for (var i = 0; i < array.length; ++i) { + shouldBe(array[i], args[i]); + } +} diff --git a/implementation-contributed/javascriptcore/stress/array-from-with-iterator.js b/implementation-contributed/javascriptcore/stress/array-from-with-iterator.js new file mode 100644 index 0000000000..6d645e4a96 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-from-with-iterator.js @@ -0,0 +1,129 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +var originalArray = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + +var array = Array.from(originalArray.values()); +shouldBe(array.length, originalArray.length); +for (var i = 0; i < array.length; ++i) { + shouldBe(array[i], originalArray[i]); +} + +function createIterator(callback) { + var array = [0,1,2,3,4,5]; + var iterator = array[Symbol.iterator](); + iterator.return = function () { + iterator.returned = true; + if (callback) + return callback(this); + return { done: true, value: undefined }; + }; + iterator.returned = false; + return iterator; +} + +var iterator = createIterator(); +var result = Array.from(iterator); +shouldBe(result.length, 6); +for (var i = 0; i < 6; ++i) { + shouldBe(result[i], i); +} +shouldBe(iterator.returned, false); + +// mapFn raises an error. +var iterator = createIterator(); +shouldThrow(function () { + var result = Array.from(iterator, function () { + throw new Error('map func'); + }); +}, "Error: map func"); +shouldBe(iterator.returned, true); + +// mapFn raises an error and iterator.return also raises an error. +var iterator = createIterator(function () { + throw new Error('iterator.return'); +}); + +// An error raised in iterator.return is discarded. +shouldThrow(function () { + var result = Array.from(iterator, function () { + throw new Error('map func'); + }); +}, "Error: map func"); +shouldBe(iterator.returned, true); + +// iterable[Symbol.iterator] is not a function. +shouldThrow(function () { + var iterator = [].values(); + iterator[Symbol.iterator] = {}; + Array.from(iterator); +}, "TypeError: Array.from requires that the property of the first argument, items[Symbol.iterator], when exists, be a function"); + +// iterable[Symbol.iterator] raises an error. +shouldThrow(function () { + var iterable = []; + iterable[Symbol.iterator] = function () { + throw new Error("iterator"); + }; + Array.from(iterable); +}, "Error: iterator"); + +// iterable[Symbol.iterator] lookup is only once. +(function () { + var iterable = [0, 1, 2, 3, 4, 5]; + var count = 0; + var iteratorCallCount = 0; + Object.defineProperty(iterable, Symbol.iterator, { + get() { + ++count; + return function () { + ++iteratorCallCount; + return this.values(); + }; + } + }); + var generated = Array.from(iterable); + shouldBe(generated.length, iterable.length); + for (var i = 0; i < iterable.length; ++i) { + shouldBe(generated[i], iterable[i]); + } + shouldBe(count, 1); + shouldBe(iteratorCallCount, 1); +}()); + +// The Symbol.iterator method of the iterator generated by iterable[Symbol.iterator] is not looked up. +(function () { + var iterable = [0, 1, 2, 3, 4, 5]; + var count = 0; + iterable[Symbol.iterator] = function () { + ++count; + var iterator = this.values(); + Object.defineProperty(iterator, Symbol.iterator, { + get() { + throw new Error('iterator[@@iterator] is touched'); + } + }); + return iterator; + }; + var generated = Array.from(iterable); + shouldBe(generated.length, iterable.length); + for (var i = 0; i < iterable.length; ++i) { + shouldBe(generated[i], iterable[i]); + } + shouldBe(count, 1); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-array-prototype-change.js b/implementation-contributed/javascriptcore/stress/array-indexof-array-prototype-change.js new file mode 100644 index 0000000000..1280d9b25b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-array-prototype-change.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value) + { + return array.indexOf(value); + } + noInline(indexOfInt32); + var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12]; + + var value = -1; + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 5), value); + shouldBe(indexOfInt32(int32Array, 6), 6); + if (i === 1e4) { + Array.prototype[5] = 5; + value = 5; + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-arraystorage.js b/implementation-contributed/javascriptcore/stress/array-indexof-arraystorage.js new file mode 100644 index 0000000000..0686f04bef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-arraystorage.js @@ -0,0 +1,85 @@ +// ArrayIndexOf intrinsic does not support ArrayStorage. +// Thus, if ArrayStorage comes, we should not use that intrinsic. + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32Other(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32Other); + + function indexOfInt32Cell(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32Cell); + + function indexOfInt32Boolean(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32Boolean); + + function indexOfDoubleOther(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDoubleOther); + + function indexOfDoubleCell(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDoubleCell); + + function indexOfDoubleBoolean(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDoubleBoolean); + + function indexOfInt32(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32); + + function indexOfDouble(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDouble); + + var key = {}; + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + var doubleArray = [0, 1, 2, 3, 4.2, 5, 6, 7, 8, 9, 10.5, 11, 12]; + + ensureArrayStorage(int32Array); + ensureArrayStorage(doubleArray); + + for (var i = 0; i < 1e4; ++i) { + shouldBe(indexOfInt32Other(int32Array, null, 0), -1); + shouldBe(indexOfInt32Other(int32Array, undefined, 0), -1); + shouldBe(indexOfInt32Cell(int32Array, key, 0), -1); + shouldBe(indexOfInt32Cell(int32Array, Symbol("Cocoa"), 0), -1); + shouldBe(indexOfInt32Cell(int32Array, "Cocoa", 0), -1); + shouldBe(indexOfInt32Boolean(int32Array, true, 0), -1); + shouldBe(indexOfInt32Boolean(int32Array, false, 0), -1); + shouldBe(indexOfInt32(int32Array, 12, 0), 12); + + shouldBe(indexOfDoubleOther(doubleArray, null, 0), -1); + shouldBe(indexOfDoubleOther(doubleArray, undefined, 0), -1); + shouldBe(indexOfDoubleCell(doubleArray, key, 0), -1); + shouldBe(indexOfDoubleCell(doubleArray, Symbol("Cocoa"), 0), -1); + shouldBe(indexOfDoubleCell(doubleArray, "Cocoa", 0), -1); + shouldBe(indexOfDoubleBoolean(doubleArray, true, 0), -1); + shouldBe(indexOfDoubleBoolean(doubleArray, false, 0), -1); + shouldBe(indexOfDouble(doubleArray, 12, 0), 12); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-constant-folding.js b/implementation-contributed/javascriptcore/stress/array-indexof-constant-folding.js new file mode 100644 index 0000000000..527880e87d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-constant-folding.js @@ -0,0 +1,72 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32Other(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32Other); + + function indexOfInt32Cell(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32Cell); + + function indexOfInt32Boolean(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32Boolean); + + function indexOfDoubleOther(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDoubleOther); + + function indexOfDoubleCell(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDoubleCell); + + function indexOfDoubleBoolean(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDoubleBoolean); + + var key = {}; + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + var doubleArray = [0, 1, 2, 3, 4.2, 5, 6, 7, 8, 9, 10.5, 11, 12]; + + for (var i = 0; i < 1e4; ++i) { + shouldBe(indexOfInt32Other(int32Array, null, 0), -1); + shouldBe(indexOfInt32Other(int32Array, undefined, 0), -1); + shouldBe(indexOfInt32Cell(int32Array, key, 0), -1); + shouldBe(indexOfInt32Cell(int32Array, Symbol("Cocoa"), 0), -1); + shouldBe(indexOfInt32Cell(int32Array, "Cocoa", 0), -1); + shouldBe(indexOfInt32Boolean(int32Array, true, 0), -1); + shouldBe(indexOfInt32Boolean(int32Array, false, 0), -1); + + shouldBe(indexOfDoubleOther(doubleArray, null, 0), -1); + shouldBe(indexOfDoubleOther(doubleArray, undefined, 0), -1); + shouldBe(indexOfDoubleCell(doubleArray, key, 0), -1); + shouldBe(indexOfDoubleCell(doubleArray, Symbol("Cocoa"), 0), -1); + shouldBe(indexOfDoubleCell(doubleArray, "Cocoa", 0), -1); + shouldBe(indexOfDoubleBoolean(doubleArray, true, 0), -1); + shouldBe(indexOfDoubleBoolean(doubleArray, false, 0), -1); + } + + shouldBe(indexOfInt32Other(int32Array, 1, 0), 1); + shouldBe(indexOfInt32Cell(int32Array, 1, 0), 1); + shouldBe(indexOfInt32Boolean(int32Array, 1, 0), 1); + shouldBe(indexOfDoubleOther(doubleArray, 1, 0), 1); + shouldBe(indexOfDoubleCell(doubleArray, 1, 0), 1); + shouldBe(indexOfDoubleBoolean(doubleArray, 1, 0), 1); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time-getter.js b/implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time-getter.js new file mode 100644 index 0000000000..f5fb88da4f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time-getter.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value) + { + return array.indexOf(value); + } + noInline(indexOfInt32); + var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12]; + + var value = -1; + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 5), value); + shouldBe(indexOfInt32(int32Array, 6), 6); + if (i === 1e4) { + value = 5; + Object.defineProperty(Array.prototype, 5, { + get: function () { + return 5; + } + }); + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time.js b/implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time.js new file mode 100644 index 0000000000..9ed42f6f85 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-have-a-bad-time.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value) + { + return array.indexOf(value); + } + noInline(indexOfInt32); + var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12]; + + var value = -1; + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 5), value); + shouldBe(indexOfInt32(int32Array, 6), 6); + if (i === 1e4) { + Object.defineProperty(Map.prototype, 5, { + get: function () { + return 42; + } + }); + } + if (i === 3e4) { + value = 5; + Object.defineProperty(Array.prototype, 5, { + get: function () { + return 5; + } + }); + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-hole-and-other.js b/implementation-contributed/javascriptcore/stress/array-indexof-hole-and-other.js new file mode 100644 index 0000000000..cb87f12f4f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-hole-and-other.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = new Array(100); + + for (var i = 0; i < 1e4; ++i) { + shouldBe(indexOf(array, undefined), -1); + shouldBe(indexOf(array, null), -1); + } +}()); + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = new Array(100); + array.push({}); + + for (var i = 0; i < 1e4; ++i) { + shouldBe(indexOf(array, undefined), -1); + shouldBe(indexOf(array, null), -1); + } +}()); + + diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-hole-with-prototype.js b/implementation-contributed/javascriptcore/stress/array-indexof-hole-with-prototype.js new file mode 100644 index 0000000000..aa61b81515 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-hole-with-prototype.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +Array.prototype[42] = 0; + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = new Array(100); + array.push(10); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 0), 42); +}()); + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = new Array(100); + array.push(25.5); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 0), 42); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-hole.js b/implementation-contributed/javascriptcore/stress/array-indexof-hole.js new file mode 100644 index 0000000000..fb2aa2b3a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-hole.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = new Array(100); + array.push(10); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 0), -1); +}()); + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = new Array(100); + array.push(25.5); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 0), -1); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-index.js b/implementation-contributed/javascriptcore/stress/array-indexof-index.js new file mode 100644 index 0000000000..a1a56cd0fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-index.js @@ -0,0 +1,63 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32); + + function indexOfDouble(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDouble); + + function indexOfString(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfString); + + function indexOfObject(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfObject); + + function indexOfValue(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfValue); + + var key = {}; + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + var doubleArray = [0, 1, 2, 3, 4.2, 5, 6, 7, 8, 9, 10.5, 11, 12]; + var stringArray = [ "cocoa", "cappuccino", "matcha", "rize", "kilimanjaro" ]; + var objectArray = [ {}, {}, {}, {}, {}, key, {}, {}, {} ]; + var valueArray = [ {}, {}, {}, {}, {}, null, {}, {}, {} ]; + + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 3, 0), 3); + shouldBe(indexOfInt32(int32Array, 3, 8), -1); + shouldBe(indexOfDouble(doubleArray, 3, 0), 3); + shouldBe(indexOfDouble(doubleArray, 3, 20), -1); + shouldBe(indexOfDouble(doubleArray, 4.2, 8), -1); + shouldBe(indexOfDouble(doubleArray, 4.2, 0), 4); + shouldBe(indexOfDouble(doubleArray, 4.2, 20), -1); + shouldBe(indexOfString(stringArray, "cocoa", 0), 0); + shouldBe(indexOfString(stringArray, "cocoa", 4), -1); + shouldBe(indexOfString(stringArray, "cocoa", 20), -1); + shouldBe(indexOfObject(objectArray, key, 0), 5); + shouldBe(indexOfObject(objectArray, key, 6), -1); + shouldBe(indexOfObject(objectArray, key, 20), -1); + shouldBe(indexOfValue(valueArray, null, 0), 5); + shouldBe(indexOfValue(valueArray, null, 6), -1); + shouldBe(indexOfValue(valueArray, null, 20), -1); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-negative-index.js b/implementation-contributed/javascriptcore/stress/array-indexof-negative-index.js new file mode 100644 index 0000000000..6de226be79 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-negative-index.js @@ -0,0 +1,72 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32); + + function indexOfDouble(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDouble); + + function indexOfString(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfString); + + function indexOfObject(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfObject); + + function indexOfValue(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfValue); + + var key = {}; + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + var doubleArray = [0, 1, 2, 3, 4.2, 5, 6, 7, 8, 9, 10.5, 11, 12]; + var stringArray = [ "cocoa", "cappuccino", "matcha", "rize", "kilimanjaro" ]; + var objectArray = [ {}, {}, {}, {}, {}, key, {}, {}, {} ]; + var valueArray = [ {}, {}, {}, {}, {}, null, {}, {}, {} ]; + + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 3, -2), -1); + shouldBe(indexOfInt32(int32Array, 3, -10), 3); + shouldBe(indexOfInt32(int32Array, 3, -20), 3); + shouldBe(indexOfDouble(doubleArray, 3, -1), -1); + shouldBe(indexOfDouble(doubleArray, 3, -10), 3); + shouldBe(indexOfDouble(doubleArray, 3, -20), 3); + shouldBe(indexOfDouble(doubleArray, 4.2, -8), -1); + shouldBe(indexOfDouble(doubleArray, 4.2, -1), -1); + shouldBe(indexOfDouble(doubleArray, 4.2, -10), 4); + shouldBe(indexOfDouble(doubleArray, 4.2, -20), 4); + shouldBe(indexOfString(stringArray, "cocoa", -1), -1); + shouldBe(indexOfString(stringArray, "cocoa", -4), -1); + shouldBe(indexOfString(stringArray, "cocoa", -5), 0); + shouldBe(indexOfString(stringArray, "cocoa", -20), 0); + shouldBe(indexOfObject(objectArray, key, -1), -1); + shouldBe(indexOfObject(objectArray, key, -2), -1); + shouldBe(indexOfObject(objectArray, key, -3), -1); + shouldBe(indexOfObject(objectArray, key, -4), 5); + shouldBe(indexOfObject(objectArray, key, -6), 5); + shouldBe(indexOfObject(objectArray, key, -20), 5); + shouldBe(indexOfValue(valueArray, null, -1), -1); + shouldBe(indexOfValue(valueArray, null, -3), -1); + shouldBe(indexOfValue(valueArray, null, -4), 5); + shouldBe(indexOfValue(valueArray, null, -6), 5); + shouldBe(indexOfValue(valueArray, null, -20), 5); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-non-int32-start-index.js b/implementation-contributed/javascriptcore/stress/array-indexof-non-int32-start-index.js new file mode 100644 index 0000000000..977d0a2462 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-non-int32-start-index.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function indexOf(array, value, index) +{ + return array.indexOf(value, index); +} +noInline(indexOf); + +var object = { + valueOf() + { + return 0; + } +} +var array = [0,1,2,3,4,5,6,7,8,9]; +for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 9, object), 9); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-object-prototype-change.js b/implementation-contributed/javascriptcore/stress/array-indexof-object-prototype-change.js new file mode 100644 index 0000000000..b4c1acc9d4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-object-prototype-change.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value) + { + return array.indexOf(value); + } + noInline(indexOfInt32); + var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12]; + + var value = -1; + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 5), value); + shouldBe(indexOfInt32(int32Array, 6), 6); + if (i === 1e4) { + Object.prototype[5] = 5; + value = 5; + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-object.js b/implementation-contributed/javascriptcore/stress/array-indexof-object.js new file mode 100644 index 0000000000..26bba01543 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-object.js @@ -0,0 +1,42 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = []; + var object = {}; + for (var i = 0; i < 100; ++i) + array.push({}); + array.push(object); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, object), 100); +}()); + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = []; + var object = {}; + for (var i = 0; i < 100; ++i) { + array.push(42); + array.push({}); + array.push(String(i)); + } + array.push(object); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, object), 100 * 3); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-original-array.js b/implementation-contributed/javascriptcore/stress/array-indexof-original-array.js new file mode 100644 index 0000000000..3290927a2c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-original-array.js @@ -0,0 +1,46 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value) + { + return array.indexOf(value); + } + noInline(indexOfInt32); + var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12]; + + var value = -1; + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 5), value); + shouldBe(indexOfInt32(int32Array, 6), 6); + if (i === 1e4) { + int32Array.hello = 42; + } + } +}()); + + +(function () { + function indexOfInt32(array, value) + { + return array.indexOf(value); + } + noInline(indexOfInt32); + var int32Array = [0, 1, 2, 3, 4, , 6, 7, 8, 9, 10, 11, 12]; + + var value = -1; + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, 5), value); + shouldBe(indexOfInt32(int32Array, 6), 6); + if (i === 1e4) { + value = 5; + int32Array.__proto__ = { + __proto__: int32Array.__proto__, + 5: 5 + }; + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-other.js b/implementation-contributed/javascriptcore/stress/array-indexof-other.js new file mode 100644 index 0000000000..422362a22a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-other.js @@ -0,0 +1,50 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32); + + function indexOfDouble(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDouble); + + function indexOfString(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfString); + + function indexOfObject(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfObject); + + var key = {}; + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + var doubleArray = [0, 1, 2, 3, 4.2, 5, 6, 7, 8, 9, 10.5, 11, 12]; + var stringArray = [ "cocoa", "cappuccino", "matcha", "rize", "kilimanjaro" ]; + var objectArray = [ {}, {}, {}, {}, {}, key, {}, {}, {}, null, undefined ]; + + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, null, 0), -1); + shouldBe(indexOfInt32(int32Array, undefined, 0), -1); + shouldBe(indexOfDouble(doubleArray, null, 0), -1); + shouldBe(indexOfDouble(doubleArray, undefined, 0), -1); + shouldBe(indexOfDouble(doubleArray, null, 0), -1); + shouldBe(indexOfDouble(doubleArray, undefined, 0), -1); + shouldBe(indexOfString(stringArray, null, 0), -1); + shouldBe(indexOfString(stringArray, undefined, 0), -1); + shouldBe(indexOfObject(objectArray, null, 0), 9); + shouldBe(indexOfObject(objectArray, undefined, 0), 10); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-string.js b/implementation-contributed/javascriptcore/stress/array-indexof-string.js new file mode 100644 index 0000000000..f0f8804f6c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-string.js @@ -0,0 +1,37 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = []; + for (var i = 0; i < 100; ++i) + array.push(String(i)); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, "42"), 42); +}()); + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = []; + for (var i = 0; i < 100; ++i) { + array.push(String(i + 0.5)); + array.push({}); + } + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, "42.5"), 42 * 2); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-structure-change-convert.js b/implementation-contributed/javascriptcore/stress/array-indexof-structure-change-convert.js new file mode 100644 index 0000000000..d998a73353 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-structure-change-convert.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function indexOf(array, value) +{ + return array.indexOf(value); +} +noInline(indexOf); + +(function () { + var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + var array2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + var array3 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + + array3[9] = 8; + array3[8] = 10.2; + + for (var i = 0; i < 1e6; ++i) + shouldBe(indexOf(array, 8), 8); + + array[9] = 8; + array[8] = 10.2; + + for (var i = 0; i < 1e6; ++i) + shouldBe(indexOf(array, 8), 9); + + for (var i = 0; i < 1e6; ++i) + shouldBe(indexOf(array2, 8), 8); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-structure-change.js b/implementation-contributed/javascriptcore/stress/array-indexof-structure-change.js new file mode 100644 index 0000000000..7d03865a2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-structure-change.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function indexOf(array, value) +{ + return array.indexOf(value); +} +noInline(indexOf); + +var array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; +for (var i = 0; i < 1e6; ++i) { + if (i === 1e6 - 1) { + array[8] = "Hello"; + shouldBe(indexOf(array, 8), -1); + } else + shouldBe(indexOf(array, 8), 8); +} diff --git a/implementation-contributed/javascriptcore/stress/array-indexof-symbol.js b/implementation-contributed/javascriptcore/stress/array-indexof-symbol.js new file mode 100644 index 0000000000..9cc2cac13f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof-symbol.js @@ -0,0 +1,52 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOfInt32(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfInt32); + + function indexOfDouble(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfDouble); + + function indexOfString(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfString); + + function indexOfObject(array, value, index) + { + return array.indexOf(value, index); + } + noInline(indexOfObject); + + var key = {}; + var cocoa = Symbol("Cocoa"); + var cappuccino = Symbol("Cappuccino"); + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]; + var doubleArray = [0, 1, 2, 3, 4.2, 5, 6, 7, 8, 9, 10.5, 11, 12]; + var stringArray = [ "cocoa", "cappuccino", "matcha", "rize", "kilimanjaro" ]; + var objectArray = [ {}, {}, {}, {}, {}, key, {}, {}, {}, cocoa, cappuccino ]; + + for (var i = 0; i < 1e5; ++i) { + shouldBe(indexOfInt32(int32Array, null, 0), -1); + shouldBe(indexOfInt32(int32Array, undefined, 0), -1); + shouldBe(indexOfDouble(doubleArray, null, 0), -1); + shouldBe(indexOfDouble(doubleArray, undefined, 0), -1); + shouldBe(indexOfDouble(doubleArray, null, 0), -1); + shouldBe(indexOfDouble(doubleArray, undefined, 0), -1); + shouldBe(indexOfString(stringArray, null, 0), -1); + shouldBe(indexOfString(stringArray, undefined, 0), -1); + shouldBe(indexOfObject(objectArray, cocoa, 0), 9); + shouldBe(indexOfObject(objectArray, cappuccino, 0), 10); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-indexof.js b/implementation-contributed/javascriptcore/stress/array-indexof.js new file mode 100644 index 0000000000..d530bfe23d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-indexof.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = []; + for (var i = 0; i < 100; ++i) + array.push(i); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 42), 42); +}()); + +(function () { + function indexOf(array, value) + { + return array.indexOf(value); + } + noInline(indexOf); + + var array = []; + for (var i = 0; i < 100; ++i) + array.push(i + 0.5); + + for (var i = 0; i < 1e5; ++i) + shouldBe(indexOf(array, 42 + 0.5), 42); +}()); diff --git a/implementation-contributed/javascriptcore/stress/array-iterators-next-error-messages.js b/implementation-contributed/javascriptcore/stress/array-iterators-next-error-messages.js new file mode 100644 index 0000000000..c0316e60fa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-iterators-next-error-messages.js @@ -0,0 +1,18 @@ +function assert(a, b) { + if (a != b) + throw new Error("assertion failed"); +} + +next = [].values().next; + +try { + next.call(null); +} catch(e) { + assert(e, "TypeError: %ArrayIteratorPrototype%.next requires that |this| not be null or undefined"); +} + +try { + next.call(undefined); +} catch(e) { + assert(e, "TypeError: %ArrayIteratorPrototype%.next requires that |this| not be null or undefined"); +} diff --git a/implementation-contributed/javascriptcore/stress/array-iterators-next-with-call.js b/implementation-contributed/javascriptcore/stress/array-iterators-next-with-call.js new file mode 100644 index 0000000000..ab7f87d237 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-iterators-next-with-call.js @@ -0,0 +1,117 @@ +// This test checks the behavior of the %ArrayIteratorPrototype%.next methods with call. + +var array = [0, 1, 2, 3, 4]; +var arrayIterator = array[Symbol.iterator](); +var arrayIteratorPrototype = arrayIterator.__proto__; +var arrayIteratorPrototypeNext = arrayIteratorPrototype.next; + +if (arrayIterator.hasOwnProperty('next')) + throw "next method should exists on %ArrayIteratorPrototype%"; +if (!arrayIteratorPrototype.hasOwnProperty('next')) + throw "next method should exists on %ArrayIteratorPrototype%"; + +var array1 = [42, 43, 41]; +var array1Iterator = array1[Symbol.iterator](); +var index = 0; +while (true) { + var result = arrayIteratorPrototypeNext.call(array1Iterator); + var value = result.value; + if (result.done) { + break; + } + if (value !== array1[index++]) + throw "Error: bad value: " + value; +} +if (index !== 3) + throw "Error: bad index: " + index; + +function increment(iter) { + return arrayIteratorPrototypeNext.call(iter); +} +var array1 = [42, 43, -20]; +var array2 = [42, 43, -20]; +var array1Iterator = array1[Symbol.iterator](); +var array2Iterator = array2[Symbol.iterator](); +for (var i = 0; i < 3; ++i) { + var value1 = increment(array1Iterator).value; + var value2 = increment(array2Iterator).value; + if (value1 !== value2) + throw "Error: bad value: " + value1 + " " + value2; +} + +var array1 = [ 0, 1, 2, 4, 5, 6 ]; +var array1Iterator = array1[Symbol.iterator](); + +var value = array1Iterator.next().value; +if (value !== 0) + throw "Error: bad value: " + value; +var value = array1Iterator.next().value; +if (value !== 1) + throw "Error: bad value: " + value; +var value = array1Iterator.next().value; +if (value !== 2) + throw "Error: bad value: " + value; +var value = arrayIteratorPrototypeNext.call(array1Iterator).value; +if (value !== 4) + throw "Error: bad value: " + value; +var value = arrayIteratorPrototypeNext.call(array1Iterator).value; +if (value !== 5) + throw "Error: bad value: " + value; +var value = arrayIteratorPrototypeNext.call(array1Iterator).value; +if (value !== 6) + throw "Error: bad value: " + value; +var value = arrayIteratorPrototypeNext.call(array1Iterator).value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var primitives = [ + "string", + 42, + 0.03, + false, + true, + Symbol("Cocoa"), + null, + undefined +]; +for (var primitive of primitives) { + var didThrow = null; + try { + arrayIteratorPrototypeNext.call(primitive); + } catch (e) { + didThrow = e; + } + if (!didThrow) + throw "Error: no error thrown"; + var expectedMessage = 'TypeError: %ArrayIteratorPrototype%.next requires that |this| be an Array Iterator instance'; + if (primitive === null) + expectedMessage = 'TypeError: %ArrayIteratorPrototype%.next requires that |this| not be null or undefined'; + if (primitive === undefined) + expectedMessage = 'TypeError: %ArrayIteratorPrototype%.next requires that |this| not be null or undefined'; + if (String(didThrow) !== expectedMessage) + throw "Error: bad error thrown: " + didThrow; +} + +var nonRelatedObjects = [ + {}, + [], + new Date(), + new Error(), + Object(Symbol()), + new String("Cappuccino"), + new Number(42), + new Boolean(false), + function () { }, +]; +for (var object of nonRelatedObjects) { + var didThrow = null; + try { + arrayIteratorPrototypeNext.call(object); + } catch (e) { + didThrow = e; + } + if (!didThrow) + throw "Error: no error thrown"; + if (String(didThrow) !== 'TypeError: %ArrayIteratorPrototype%.next requires that |this| be an Array Iterator instance') + throw "Error: bad error thrown: " + didThrow; +} diff --git a/implementation-contributed/javascriptcore/stress/array-iterators-next.js b/implementation-contributed/javascriptcore/stress/array-iterators-next.js new file mode 100644 index 0000000000..200e8038e7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-iterators-next.js @@ -0,0 +1,108 @@ +// This test checks the behavior of the iterator.next methods on Array objects + +var testArray = [1,2,3,4,5,6] +var keys = testArray.keys(); +var i = 0; +while (true) { + var {done, value: key} = keys.next(); + if (done) + break; + if (key !== i) + throw "Error: bad value: " + key; + i++; +} + +if (testArray.length !== i) + throw "Error: bad value: " + i; + +var value = keys.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var values = testArray[Symbol.iterator](); +var i = 0; +while (true) { + var {done, value} = values.next(); + if (done) + break; + i++; + if (value !== i) + throw "Error: bad value: " + value; +} + +if (testArray.length !== i) + throw "Error: bad value: " + i; + +var value = values.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var values = testArray.values(); +var i = 0; +while (true) { + var {done, value} = values.next(); + if (done) + break; + i++; + if (value !== i) + throw "Error: bad value: " + value; +} + +if (testArray.length !== i) + throw "Error: bad value: " + i; + +var value = values.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var entries = testArray.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (value !== testArray[key]) + throw "Error: bad value: " + value + " " + testArray[key]; + if (key !== i) + throw "Error: bad value: " + key; + i++ + if (value !== i) + throw "Error: bad value: " + value + " " + i; +} while (!done); + +if (testArray.length !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var entries = testArray.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (value !== testArray[key]) + throw "Error: bad value: " + value + " " + testArray[key]; + if (key !== i) + throw "Error: bad value: " + key; + i++ + if (i % 2 == 0) + testArray[i] *= 2; + if (i < 4) + testArray.push(testArray.length) + if (i == 4) + delete testArray[4] + if (i == 5) + testArray[4] = 5 +} while (!done); + +if (testArray.length !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; diff --git a/implementation-contributed/javascriptcore/stress/array-join-on-strings-need-overflow-checks.js b/implementation-contributed/javascriptcore/stress/array-join-on-strings-need-overflow-checks.js new file mode 100644 index 0000000000..abe5f36e4f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-join-on-strings-need-overflow-checks.js @@ -0,0 +1,33 @@ +function assert(x, y) { + if (x != y) + throw(" Expect: " + y + ", actual: " + x); +} + +s1 = ""; +for (var k = 0; k < 2000; ++k) + s1 += "z"; +var expectedLength = 2000; +assert(s1.length, 2000); + +s2 = 'x'; +expectedLength = 1; +assert(s2.length, expectedLength); + +for (var i = 0; i < 22; ++i) { + expectedLength += expectedLength; + s2 += s2; + assert(s2.length, expectedLength); +} + +var caughtException; +try { + expectedLength = ((s1.length - 1) * s2.length) + 1; + result = Array.prototype.join.apply(s1, [s2]); + assert(result.length, expectedLength); +} catch (e) { + caughtException = e; +} + +if (!caughtException) + throw("Array.prototype.join should have thrown an exception when string length overflows"); +assert(caughtException, "Error: Out of memory"); diff --git a/implementation-contributed/javascriptcore/stress/array-length-array-storage-plain-object.js b/implementation-contributed/javascriptcore/stress/array-length-array-storage-plain-object.js new file mode 100644 index 0000000000..e424933244 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-length-array-storage-plain-object.js @@ -0,0 +1,16 @@ +function foo(o) { + return o.length; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var a = [1]; + a.length = 99999999; + a.f = 42; + foo(a); +} + +var result = foo({}); +if (result !== void 0) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/array-length-not-writable.js b/implementation-contributed/javascriptcore/stress/array-length-not-writable.js new file mode 100644 index 0000000000..4e325a28f2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-length-not-writable.js @@ -0,0 +1,22 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +let arr = []; +assert(arr.length === 0); +Object.freeze(arr); +assert(arr.length === 0); +arr.length = 5; +assert(arr.length === 0); +arr.length = "test"; +assert(arr.length === 0); + +arr = [1]; +assert(arr.length === 1); +Object.defineProperty(arr, "length", {value: 3, writable: false}); +assert(arr.length === 3); +arr.length = 5; +assert(arr.length === 3); +arr.length = "test"; +assert(arr.length === 3); diff --git a/implementation-contributed/javascriptcore/stress/array-length-plain-object.js b/implementation-contributed/javascriptcore/stress/array-length-plain-object.js new file mode 100644 index 0000000000..ed85751727 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-length-plain-object.js @@ -0,0 +1,15 @@ +function foo(o) { + return o.length; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var a = [1]; + a.f = 42; + foo(a); +} + +var result = foo({}); +if (result !== void 0) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/array-map-put-by-val-direct.js b/implementation-contributed/javascriptcore/stress/array-map-put-by-val-direct.js new file mode 100644 index 0000000000..88e5cdef02 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-map-put-by-val-direct.js @@ -0,0 +1,27 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var i = 0; i < 10; ++i) { + Object.defineProperty(Array.prototype, i, { + get() { + throw new Error('get is called.'); + }, + set(value) { + throw new Error('set is called.'); + } + }); +} + +var original = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + +// Doesn't throw any errors. +var mapped = original.map(function (value) { + return value * 2; +}); + +shouldBe(mapped.length, 10); +for (var i = 0; i < 10; ++i) { + shouldBe(mapped[i], i * 2); +} diff --git a/implementation-contributed/javascriptcore/stress/array-message-passing.js b/implementation-contributed/javascriptcore/stress/array-message-passing.js new file mode 100644 index 0000000000..92ae694386 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-message-passing.js @@ -0,0 +1,251 @@ +// This test was originally for message passing of typed arrays. But it turns out that it is a good +// stress of JSC inline caches as well. So, this is a DOMless version of the test. + +var abort = $vm.abort; + +var window; + +(function() { + var listeners = []; + var messages = []; + + window = { + addEventListener: function(type, listener) { + listeners.push(listener); + }, + postMessage: function(message) { + messages.push(message); + }, + _handleEvents: function() { + for (var i = 0; i < messages.length; ++i) { + for (var j = 0; j < listeners.length; ++j) + listeners[j]({data: messages[i]}); + } + messages = []; + } + }; +})(); + +window.jsTestIsAsync = true; + +window.testsComplete = 0; + +function testPassed() { } + +function testFailed(string) { + try { + throw new Error("Test failed: " + string); + } catch (e) { + print(e.message); + print(e.stack); + abort(); + } +} + +function classCompare(testName, got, sent) { + var classString = Object.prototype.toString; + var gotClass = classString.call(got); + var sentClass = classString.call(sent); + if (gotClass !== sentClass) { + testFailed(testName + ": class " + sentClass + " became " + gotClass); + return false; + } else { + testPassed(testName + ": classes are " + sentClass); + return true; + } +} + +function bufferCompare(testName, got, sent) { + if (!classCompare(testName, got, sent)) { + return false; + } + if (got.byteLength !== sent.byteLength) { + testFailed(testName + ": expected byteLength " + sent.byteLength + " bytes, got " + got.byteLength); + return false; + } else { + testPassed(testName + ": buffer lengths are " + sent.byteLength); + } + var gotReader = new Uint8Array(got); + var sentReader = new Uint8Array(sent); + for (var i = 0; i < sent.byteLength; ++i) { + if (gotReader[i] !== sentReader[i]) { + testFailed(testName + ": buffers differ starting at byte " + i); + return false; + } + } + testPassed(testName + ": buffers have the same contents"); + return true; +} + +function viewCompare(testName, got, sent) { + if (!classCompare(testName, got, sent)) { + return false; + } + if (!bufferCompare(testName, got.buffer, sent.buffer)) { + return false; + } + if (got.byteOffset !== sent.byteOffset) { + testFailed(testName + ": offset " + sent.byteOffset + " became " + got.byteOffset); + return false; + } else { + testPassed(testName + ": offset is " + sent.byteOffset); + } + if (got.byteLength !== sent.byteLength) { + testFailed(testName + ": length " + sent.byteLength + " became " + got.byteLength); + return false; + } else { + testPassed(testName + ": length is " + sent.byteLength); + } + return true; +} + +function typedArrayCompare(testName, got, sent) { + if (!viewCompare(testName, got, sent)) { + return false; + } + if (got.BYTES_PER_ELEMENT !== sent.BYTES_PER_ELEMENT) { + // Sanity checking. + testFailed(testName + ": expected BYTES_PER_ELEMENT " + sent.BYTES_PER_ELEMENT + ", saw " + got.BYTES_PER_ELEMENT); + return false; + } + return true; +} + +function dataViewCompare(testName, got, sent) { + return viewCompare(testName, got, sent); +} + +function dataViewCompare2(testName, got, sent) { + for (var i = 0; i < 2; ++i) { + if (!dataViewCompare(testName, got[i], sent[i])) { + return false; + } + } + if (got[0].buffer !== got[1].buffer) { + testFailed(testName + ": expected the same ArrayBuffer for both views"); + return false; + } + return true; +} +function dataViewCompare3(testName, got, sent) { + for (var i = 0; i < 3; i += 2) { + if (!dataViewCompare(testName, got[i], sent[i])) { + return false; + } + } + if (got[1].x !== sent[1].x || got[1].y !== sent[1].y) { + testFailed(testName + ": {x:1, y:1} was not transferred properly"); + return false; + } + if (got[0].buffer !== got[2].buffer) { + testFailed(testName + ": expected the same ArrayBuffer for both views"); + return false; + } + return false; +} + + +function createBuffer(length) { + var buffer = new ArrayBuffer(length); + var view = new Uint8Array(buffer); + for (var i = 0; i < length; ++i) { + view[i] = i + 1; + } + return buffer; +} + +function createTypedArray(typedArrayType, length) { + var view = new typedArrayType(length); + for (var i = 0; i < length; ++i) { + view[i] = i + 1; + } + return view; +} + +function createTypedArrayOverBuffer(typedArrayType, typedArrayElementSize, length, subStart, subLength) { + var buffer = new ArrayBuffer(length * typedArrayElementSize); + if (subStart === undefined) { + subStart = 0; + subLength = length; + } + return new typedArrayType(buffer, subStart * typedArrayElementSize, subLength); +} + +var basicBufferTypes = [ + ["Int32", Int32Array, 4], + ["Uint32", Uint32Array, 4], + ["Int8", Int8Array, 1], + ["Uint8", Uint8Array, 1], + ["Uint8Clamped", Uint8ClampedArray, 1], + ["Int16", Int16Array, 2], + ["Uint16", Uint16Array, 2], + ["Float32", Float32Array, 4], + ["Float64", Float64Array, 8] +]; + +var arrayBuffer1 = createBuffer(1); + +var testList = [ + ['ArrayBuffer0', new ArrayBuffer(0), bufferCompare], + ['ArrayBuffer1', createBuffer(1), bufferCompare], + ['ArrayBuffer128', createBuffer(128), bufferCompare], + ['DataView0', new DataView(new ArrayBuffer(0)), dataViewCompare], + ['DataView1', new DataView(createBuffer(1)), dataViewCompare], + ['DataView1-dup', [new DataView(arrayBuffer1), new DataView(arrayBuffer1)], dataViewCompare2], + ['DataView1-dup2', [new DataView(arrayBuffer1), {x:1, y:1}, new DataView(arrayBuffer1)], dataViewCompare3], + ['DataView128', new DataView(createBuffer(128)), dataViewCompare], + ['DataView1_offset_at_end', new DataView(createBuffer(1), 1, 0), dataViewCompare], + ['DataView128_offset_at_end', new DataView(createBuffer(128), 128, 0), dataViewCompare], + ['DataView128_offset_slice_length_0', new DataView(createBuffer(128), 64, 0), dataViewCompare], + ['DataView128_offset_slice_length_1', new DataView(createBuffer(128), 64, 1), dataViewCompare], + ['DataView128_offset_slice_length_16', new DataView(createBuffer(128), 64, 16), dataViewCompare], + ['DataView128_offset_slice_unaligned', new DataView(createBuffer(128), 63, 15), dataViewCompare] +]; + +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_0", createTypedArray(t[1], 0), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_1", createTypedArray(t[1], 1), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_128", createTypedArray(t[1], 128), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_0_buffer", createTypedArrayOverBuffer(t[1], t[2], 0), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_1_buffer", createTypedArrayOverBuffer(t[1], t[2], 1), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_128_buffer", createTypedArrayOverBuffer(t[1], t[2], 128), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_1_buffer_offset_at_end", createTypedArrayOverBuffer(t[1], t[2], 1, 1, 0), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_128_buffer_offset_at_end", createTypedArrayOverBuffer(t[1], t[2], 128, 128, 0), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_128_buffer_offset_slice_length_0", createTypedArrayOverBuffer(t[1], t[2], 128, 64, 0), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_128_buffer_offset_slice_length_1", createTypedArrayOverBuffer(t[1], t[2], 128, 64, 1), typedArrayCompare];})); +testList = testList.concat(basicBufferTypes.map(function(t) + {return [t[0] + "_128_buffer_offset_slice_length_16", createTypedArrayOverBuffer(t[1], t[2], 128, 64, 16), typedArrayCompare];})); + +function doneTest() { + if (++window.testsComplete == testList.length) { + } +} + +function windowHandleMessage(e) { + var currentTest = testList[e.data.testNum]; + var expectedResult = currentTest[1]; + try { + currentTest[2](currentTest[0], e.data.testData, expectedResult); + } catch(e) { + testFailed(currentTest[0] + ": unexpected exception " + e); + } + doneTest(); +} +window.addEventListener('message', windowHandleMessage); + +for (var t = 0; t < testList.length; ++t) { + var currentTest = testList[t]; + var message = {testNum: t, testData: currentTest[1]}; + window.postMessage(message, '*'); +} + +window._handleEvents(); diff --git a/implementation-contributed/javascriptcore/stress/array-pop-array-storage.js b/implementation-contributed/javascriptcore/stress/array-pop-array-storage.js new file mode 100644 index 0000000000..cb356bc226 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-pop-array-storage.js @@ -0,0 +1,65 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array) { + return [array.pop(), array.pop(), array.pop(), array.pop()]; +} + +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var array = ["foo", "bar", "baz"]; + ensureArrayStorage(array); + var result = test(array); + shouldBe(result[0], "baz"); + shouldBe(result[1], "bar"); + shouldBe(result[2], "foo"); + shouldBe(result[3], undefined); + shouldBe(array.length, 0); +} + +for (var i = 0; i < 1e4; ++i) { + var array = ["foo", "bar", , "baz"]; + ensureArrayStorage(array); + var result = test(array); + shouldBe(result[0], "baz"); + shouldBe(result[1], undefined); + shouldBe(result[2], "bar"); + shouldBe(result[3], "foo"); + shouldBe(array.length, 0); +} + +for (var i = 0; i < 1e4; ++i) { + var array = ["foo", "bar", , "baz", , , "OK"]; + ensureArrayStorage(array); + shouldBe(array.length, 7); + var result = test(array); + shouldBe(result[0], "OK"); + shouldBe(result[1], undefined); + shouldBe(result[2], undefined); + shouldBe(result[3], "baz"); + shouldBe(array.length, 3); + shouldBe(array[0], "foo"); + shouldBe(array[1], "bar"); + shouldBe(array[2], undefined); + shouldBe(array[3], undefined); +} + +for (var i = 0; i < 1e4; ++i) { + var array = ["foo", "bar", "baz"]; + ensureArrayStorage(array); + array.length = 0xffffffff - 1; + shouldBe(array.length, 0xffffffff - 1); + var result = test(array); + shouldBe(result[0], undefined); + shouldBe(result[1], undefined); + shouldBe(result[2], undefined); + shouldBe(result[3], undefined); + shouldBe(array.length, 0xffffffff - 5); + shouldBe(array[0], "foo"); + shouldBe(array[1], "bar"); + shouldBe(array[2], "baz"); + shouldBe(array[3], undefined); +} diff --git a/implementation-contributed/javascriptcore/stress/array-pop-contiguous.js b/implementation-contributed/javascriptcore/stress/array-pop-contiguous.js new file mode 100644 index 0000000000..86333fae12 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-pop-contiguous.js @@ -0,0 +1,11 @@ +function foo(array) { + return [array.pop(), array.pop(), array.pop(), array.pop()]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(["foo", "bar", "baz"]); + if (result.toString() != "baz,bar,foo,") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/array-pop-double-hole.js b/implementation-contributed/javascriptcore/stress/array-pop-double-hole.js new file mode 100644 index 0000000000..6782ea203e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-pop-double-hole.js @@ -0,0 +1,14 @@ +function foo() { + var array = [1.5, 2, 3.5]; + array.pop(); + array[3] = 4.5; + return array; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result.toString() != "1.5,2,,4.5") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/array-pop-double.js b/implementation-contributed/javascriptcore/stress/array-pop-double.js new file mode 100644 index 0000000000..69c36c5cc7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-pop-double.js @@ -0,0 +1,11 @@ +function foo(array) { + return [array.pop(), array.pop(), array.pop(), array.pop()]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo([1.5, 2.5, 3.5]); + if (result.toString() != "3.5,2.5,1.5,") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/array-pop-int32.js b/implementation-contributed/javascriptcore/stress/array-pop-int32.js new file mode 100644 index 0000000000..14075f343c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-pop-int32.js @@ -0,0 +1,11 @@ +function foo(array) { + return [array.pop(), array.pop(), array.pop(), array.pop()]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo([1, 2, 3]); + if (result.toString() != "3,2,1,") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays.js b/implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays.js new file mode 100644 index 0000000000..8658a921a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays.js @@ -0,0 +1,36 @@ +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +function test() { + var exception; + try { + var a = []; + a.length = 0xffffff00; + + var b = a.splice(0, 0x100000); // Undecided array + + var args = []; + args.length = 4094; + args.fill(b); + + var q = []; + q.length = 0x1000; + q.fill(7); + + var c = a.splice(0, 0xfffef); //Shorter undecided array + + args[4094] = c; + args[4095] = q; + + b.concat.apply(b, args); + } catch (e) { + exception = e; + } + + shouldEqual(exception, "RangeError: Length exceeded the maximum array length"); +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays2.js b/implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays2.js new file mode 100644 index 0000000000..49e4c8db0b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-prototype-concat-of-long-spliced-arrays2.js @@ -0,0 +1,26 @@ +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +function test() { + var exception; + try { + var a = []; + a.length = 0xffffff00; + + var b = a.splice(0, 0x100000); // Undecided array + + var args = []; + args.length = 4096; + args.fill(b); + + b.concat.apply(b, args); + } catch (e) { + exception = e; + } + shouldEqual(exception, "RangeError: Length exceeded the maximum array length"); +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time-2.js b/implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time-2.js new file mode 100644 index 0000000000..94abb3e3a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time-2.js @@ -0,0 +1,14 @@ +function assert(b) { + if (!b) + throw new Error; +} + +let result; +Object.defineProperty(Object.prototype, '1', { + get() { return result; }, + set(x) { result = x; } +}); +Array.prototype.length = 0x10000000; +Array.prototype[1] = 42; +assert(result === 42); +assert(Array.prototype[1] === 42); diff --git a/implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time.js b/implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time.js new file mode 100644 index 0000000000..876ac6c0d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-prototype-slow-put-having-a-bad-time.js @@ -0,0 +1,15 @@ +function assert(b) { + if (!b) + throw new Error; +} + +let result; +Object.defineProperty(Object.prototype, '1', { + get() { return result; }, + set(x) { result = x; } +}); + +Array.prototype.length = 5; +Array.prototype[1] = 42; +assert(result === 42); +assert(Array.prototype[1] === 42); diff --git a/implementation-contributed/javascriptcore/stress/array-prototype-splice-making-typed-array.js b/implementation-contributed/javascriptcore/stress/array-prototype-splice-making-typed-array.js new file mode 100644 index 0000000000..7017d6f190 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-prototype-splice-making-typed-array.js @@ -0,0 +1,66 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!") +} + +function test(f, n = 4) { + for (let i = 0; i < n; i++) + f(); +} + +test(function() { + // This should not crash. + let x = [1,2,3,4,5]; + x.constructor = Uint8Array; + delete x[2]; + assert(!(2 in x)); + let err = null; + try { + let removed = x.splice(1,3); + assert(removed instanceof Uint8Array); + assert(removed.length === 3); + assert(removed[0] === 2); + assert(removed[1] === 0); + assert(removed[2] === 4); + } catch(e) { + err = e; + } + assert(err.toString() === "TypeError: Attempting to configure non-configurable property on a typed array at index: 0"); + + assert(x instanceof Array); + assert(x.length === 5); + assert(x[0] === 1); + assert(x[1] === 2); + assert(x[2] === undefined); + assert(x[3] === 4); + assert(x[4] === 5); +}); + +test(function() { + let x = [1,2,3,4,5]; + x.constructor = Uint8Array; + delete x[2]; + assert(!(2 in x)); + Object.defineProperty(Uint8Array, Symbol.species, {value: null}); + assert(Uint8Array[Symbol.species] === null); + x = new Proxy(x, { + get(target, property, receiver) { + if (parseInt(property, 10)) + assert(property !== "2"); + return Reflect.get(target, property, receiver); + } + }); + + let removed = x.splice(1,3); + assert(removed instanceof Array); // We shouldn't make a TypedArray here because Symbol.species is null. + assert(removed.length === 3); + assert(removed[0] === 2); + assert(removed[1] === undefined); + assert(!(1 in removed)); + assert(removed[2] === 4); + + assert(x instanceof Array); + assert(x.length === 2); + assert(x[0] === 1); + assert(x[1] === 5); +}); diff --git a/implementation-contributed/javascriptcore/stress/array-push-array-storage-beyond-int32.js b/implementation-contributed/javascriptcore/stress/array-push-array-storage-beyond-int32.js new file mode 100644 index 0000000000..82f4979d5d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-array-storage-beyond-int32.js @@ -0,0 +1,27 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1) +{ + return array.push(val1); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = ["Cocoa"]; + ensureArrayStorage(array); + array.length = 2; + shouldBe(test(array, "Cocoa"), 3); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], undefined); + shouldBe(array[2], "Cocoa"); +} + +var array = ["Cocoa"]; +ensureArrayStorage(array); +array.length = 0x7fffffff; +shouldBe(test(array, "Cocoa"), 0x7fffffff + 1); +shouldBe(array[0x7fffffff], "Cocoa"); diff --git a/implementation-contributed/javascriptcore/stress/array-push-array-storage.js b/implementation-contributed/javascriptcore/stress/array-push-array-storage.js new file mode 100644 index 0000000000..887aa0d796 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-array-storage.js @@ -0,0 +1,40 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1) +{ + return array.push(val1); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = ["Cocoa"]; + ensureArrayStorage(array); + shouldBe(test(array, "Cocoa"), 2); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cocoa"); + shouldBe(array[2], undefined); + shouldBe(array[3], undefined); + shouldBe(array[4], undefined); + shouldBe(test(array, "Cappuccino"), 3); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cocoa"); + shouldBe(array[2], "Cappuccino"); + shouldBe(array[3], undefined); + shouldBe(array[4], undefined); + shouldBe(test(array, "Matcha"), 4); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cocoa"); + shouldBe(array[2], "Cappuccino"); + shouldBe(array[3], "Matcha"); + shouldBe(array[4], undefined); + shouldBe(test(array, "Matcha"), 5); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cocoa"); + shouldBe(array[2], "Cappuccino"); + shouldBe(array[3], "Matcha"); + shouldBe(array[4], "Matcha"); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-contiguous.js b/implementation-contributed/javascriptcore/stress/array-push-contiguous.js new file mode 100644 index 0000000000..8f5e28512d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-contiguous.js @@ -0,0 +1,18 @@ +function foo() { + var array = []; + var result = []; + for (var i = 0; i < 42; ++i) + result.push(array.push("hello")); + return [array, result]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result[0].toString() != "hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello,hello") + throw "Error: bad array: " + result[0]; + if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") + throw "Error: bad array: " + result[1]; +} + diff --git a/implementation-contributed/javascriptcore/stress/array-push-double-then-nan.js b/implementation-contributed/javascriptcore/stress/array-push-double-then-nan.js new file mode 100644 index 0000000000..fdc6eabf52 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-double-then-nan.js @@ -0,0 +1,23 @@ +function foo(x) { + var array = []; + var result = []; + for (var i = 0; i < 42; ++i) + result.push(array.push(x)); + return [array, result]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(5.5); + if (result[0].toString() != "5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5,5.5") + throw "Error: bad array: " + result[0]; + if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") + throw "Error: bad array: " + result[1]; +} + +var result = foo(0/0); +if (result[0].toString() != "NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN") + throw "Error: bad array: " + result[0]; +if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") + throw "Error: bad array: " + result[1]; diff --git a/implementation-contributed/javascriptcore/stress/array-push-double.js b/implementation-contributed/javascriptcore/stress/array-push-double.js new file mode 100644 index 0000000000..a7065ffc1f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-double.js @@ -0,0 +1,18 @@ +function foo() { + var array = []; + var result = []; + for (var i = 0; i < 42; ++i) + result.push(array.push(7.5 - i)); + return [array, result]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result[0].toString() != "7.5,6.5,5.5,4.5,3.5,2.5,1.5,0.5,-0.5,-1.5,-2.5,-3.5,-4.5,-5.5,-6.5,-7.5,-8.5,-9.5,-10.5,-11.5,-12.5,-13.5,-14.5,-15.5,-16.5,-17.5,-18.5,-19.5,-20.5,-21.5,-22.5,-23.5,-24.5,-25.5,-26.5,-27.5,-28.5,-29.5,-30.5,-31.5,-32.5,-33.5") + throw "Error: bad array: " + result[0]; + if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") + throw "Error: bad array: " + result[1]; +} + diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-array-storage-beyond-int32.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-array-storage-beyond-int32.js new file mode 100644 index 0000000000..7af11983ac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-array-storage-beyond-int32.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2) +{ + return array.push(val1, val2); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = ["Cocoa"]; + ensureArrayStorage(array); + array.length = 2; + shouldBe(test(array, "Cocoa", "Cappuccino"), 4); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], undefined); + shouldBe(array[2], "Cocoa"); + shouldBe(array[3], "Cappuccino"); +} + +var array = ["Cocoa"]; +ensureArrayStorage(array); +array.length = 0x7fffffff - 1; +shouldBe(test(array, "Cocoa", "Cappuccino"), 0x7fffffff + 1); +shouldBe(array[0x7fffffff - 1], "Cocoa"); +shouldBe(array[0x7fffffff - 0], "Cappuccino"); diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-contiguous.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-contiguous.js new file mode 100644 index 0000000000..b336b3d90b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-contiguous.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3) +{ + return array.push(val1, val2, val3); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = []; + shouldBe(test(array, "Cocoa", "Cappuccino", "Matcha"), 3); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cappuccino"); + shouldBe(array[2], "Matcha"); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-double-nan.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-double-nan.js new file mode 100644 index 0000000000..9d16b8fd25 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-double-nan.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3) +{ + return array.push(val1, val2, val3); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = []; + var value = 3.3; + if (i === 1e5 - 1) + value = NaN; + shouldBe(test(array, 1.1, 2.2, value), 3); + shouldBe(array[0], 1.1); + shouldBe(array[1], 2.2); + if (i === 1e5 - 1) + shouldBe(Number.isNaN(array[2]), true); + else + shouldBe(array[2], 3.3); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-double.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-double.js new file mode 100644 index 0000000000..bbeed2602f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-double.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3) +{ + return array.push(val1, val2, val3); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = []; + shouldBe(test(array, 1.1, 2.2, 3.3), 3); + shouldBe(array[0], 1.1); + shouldBe(array[1], 2.2); + shouldBe(array[2], 3.3); +} + +for (var i = 0; i < 1e5; ++i) { + var array = []; + shouldBe(test(array, 1.1, 2.2, 4), 3); + shouldBe(array[0], 1.1); + shouldBe(array[1], 2.2); + shouldBe(array[2], 4); +} +var array = []; +shouldBe(test(array, 1.1, 2.2, "String"), 3); +shouldBe(array[0], 1.1); +shouldBe(array[1], 2.2); +shouldBe(array[2], "String"); diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-int32.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-int32.js new file mode 100644 index 0000000000..553ee58b55 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-int32.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3) +{ + return array.push(val1, val2, val3); +} +noInline(test); + +for (var i = 0; i < 1e7; ++i) { + var array = []; + shouldBe(test(array, 1, 2, 3), 3); + shouldBe(array[0], 1); + shouldBe(array[1], 2); + shouldBe(array[2], 3); +} +var array = []; +shouldBe(test(array, 1, 2, 3.3), 3); +shouldBe(array[0], 1); +shouldBe(array[1], 2); +shouldBe(array[2], 3.3); diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-many-contiguous.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-contiguous.js new file mode 100644 index 0000000000..906be99a2f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-contiguous.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12) +{ + return array.push(val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12); +} +noInline(test); + +var values = [ "AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI", "IJ", "JK", "KL", "LM" ]; +shouldBe(values.length, 12); +for (var i = 0; i < 1e5; ++i) { + var array = []; + shouldBe(test(array, values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], values[9], values[10], values[11]), 12); + for (var j = 0; j < values.length; ++j) + shouldBe(array[j], values[j]); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-many-double.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-double.js new file mode 100644 index 0000000000..3fe89f259b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-double.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12) +{ + return array.push(val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12); +} +noInline(test); + +var values = [ 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0, 2.1, 2.2 ]; +shouldBe(values.length, 12); +for (var i = 0; i < 1e5; ++i) { + var array = []; + shouldBe(test(array, values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], values[9], values[10], values[11]), 12); + for (var j = 0; j < values.length; ++j) + shouldBe(array[j], values[j]); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-many-int32.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-int32.js new file mode 100644 index 0000000000..bc1157339b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-int32.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12) +{ + return array.push(val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12); +} +noInline(test); + +var values = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ]; +shouldBe(values.length, 12); +for (var i = 0; i < 1e5; ++i) { + var array = []; + shouldBe(test(array, values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], values[9], values[10], values[11]), 12); + for (var j = 0; j < values.length; ++j) + shouldBe(array[j], values[j]); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-many-storage.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-storage.js new file mode 100644 index 0000000000..7a2939ff17 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-many-storage.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12) +{ + return array.push(val1, val2, val3, val4, val5, val6, val7, val8, val9, val10, val11, val12); +} +noInline(test); + +var values = [ "AB", "BC", "CD", "DE", "EF", "FG", "GH", "HI", "IJ", "JK", "KL", "LM" ]; +shouldBe(values.length, 12); +for (var i = 0; i < 1e5; ++i) { + var array = []; + ensureArrayStorage(array); + shouldBe(test(array, values[0], values[1], values[2], values[3], values[4], values[5], values[6], values[7], values[8], values[9], values[10], values[11]), 12); + for (var j = 0; j < values.length; ++j) + shouldBe(array[j], values[j]); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-storage-continuous.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-storage-continuous.js new file mode 100644 index 0000000000..663c99928f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-storage-continuous.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3) +{ + return array.push(val1, val2, val3); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = []; + ensureArrayStorage(array); + shouldBe(test(array, "Cocoa", "Cappuccino", "Matcha"), 3); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cappuccino"); + shouldBe(array[2], "Matcha"); +} + +var array = []; +ensureArrayStorage(array); +for (var i = 0; i < 1e3; ++i) { + shouldBe(test(array, "Cocoa", "Cappuccino", "Matcha"), 3 * (i + 1)); +} +for (var i = 0; i < 1e3; ++i) { + shouldBe(array[3 * i + 0], "Cocoa"); + shouldBe(array[3 * i + 1], "Cappuccino"); + shouldBe(array[3 * i + 2], "Matcha"); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-multiple-storage.js b/implementation-contributed/javascriptcore/stress/array-push-multiple-storage.js new file mode 100644 index 0000000000..4efe4450a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-multiple-storage.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array, val1, val2, val3) +{ + return array.push(val1, val2, val3); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = []; + ensureArrayStorage(array); + shouldBe(test(array, "Cocoa", "Cappuccino", "Matcha"), 3); + shouldBe(array[0], "Cocoa"); + shouldBe(array[1], "Cappuccino"); + shouldBe(array[2], "Matcha"); +} +for (var i = 0; i < 1e5; ++i) { + var array = [0]; + ensureArrayStorage(array); + shouldBe(test(array, "Cocoa", "Cappuccino", "Matcha"), 4); + shouldBe(array[0], 0); + shouldBe(array[1], "Cocoa"); + shouldBe(array[2], "Cappuccino"); + shouldBe(array[3], "Matcha"); +} diff --git a/implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js b/implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js new file mode 100644 index 0000000000..510bc53484 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array-cse-sane-and-insane-chain.js @@ -0,0 +1,23 @@ +function foo(array, otherArray, i) +{ + var x = otherArray[i]; + var y = otherArray[i]; + array.push(y); + return x / 42; +} + +function bar() +{ + return []; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10000; ++i) + foo(bar(), [42.5], 0); + +var result = bar(); +foo(result, [,42.5], 0); +if (result[0] !== void 0) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array.js b/implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array.js new file mode 100644 index 0000000000..3322ea7d27 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-nan-to-double-array.js @@ -0,0 +1,20 @@ +function foo(array, num, denum) +{ + array.push(num/denum); +} + +function bar() +{ + return []; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10000; ++i) + foo(bar(), 42.5, 3.1); + +var result = bar(); +foo(result, 0, 0); +if ("" + result[0] !== "NaN") + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/array-push-with-force-exit.js b/implementation-contributed/javascriptcore/stress/array-push-with-force-exit.js new file mode 100644 index 0000000000..3cec3fc7c5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push-with-force-exit.js @@ -0,0 +1,12 @@ +var createBuiltin = $vm.createBuiltin; + +var target = createBuiltin(`(function (array) +{ + if (array) { + @idWithProfile(array, "SpecOther").push(42); + } + return array; +})`); +noInline(target); +for (var i = 0; i < 1e5; ++i) + target([42]); diff --git a/implementation-contributed/javascriptcore/stress/array-push.js b/implementation-contributed/javascriptcore/stress/array-push.js new file mode 100644 index 0000000000..0560987abe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-push.js @@ -0,0 +1,18 @@ +function foo() { + var array = []; + var result = []; + for (var i = 0; i < 42; ++i) + result.push(array.push(7 - i)); + return [array, result]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result[0].toString() != "7,6,5,4,3,2,1,0,-1,-2,-3,-4,-5,-6,-7,-8,-9,-10,-11,-12,-13,-14,-15,-16,-17,-18,-19,-20,-21,-22,-23,-24,-25,-26,-27,-28,-29,-30,-31,-32,-33,-34") + throw "Error: bad array: " + result[0]; + if (result[1].toString() != "1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42") + throw "Error: bad array: " + result[1]; +} + diff --git a/implementation-contributed/javascriptcore/stress/array-reverse-doesnt-clobber.js b/implementation-contributed/javascriptcore/stress/array-reverse-doesnt-clobber.js new file mode 100644 index 0000000000..c98a4b5d1f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-reverse-doesnt-clobber.js @@ -0,0 +1,63 @@ +//@ skip if $memoryLimited + +// This tests that array.Prototype.reverse() doesn't inadvertently clobber indexed properties. +// This test shouldn't throw or crash. + +const outerArrayLength = 10000; +const innerArrayLength = 128; + +function testArrayReverse(createArray) +{ + const limit = 5; + let save = [0, 0]; + + for (let at = 0; at < limit; at++) { + let arr = createArray(); + + let v = []; + for (let i = 0; i < 273; i++) { + for (let j = 0; j < 8; j++) + arr.reverse(); + + v.push(new String("X").repeat(123008)); + } + + for (let i = 0; i < arr.length; i++) { + if (arr[i].length != innerArrayLength) + throw "arr[" + i + "].length has changed from " + innerArrayLength + " to " + arr[i].length; + } + + let f = []; + for (let i = 0; i < 1000; i++) + f.push(new Array(16).fill(0x42424242)); + + save.push(arr); + save.push(v); + save.push(f); + } +} + +function createArrayOfArrays() +{ + let result = new Array(outerArrayLength); + + for (let i = 0; i < result.length; i++) + result[i] = new Array(innerArrayLength).fill(0x41414141); + + return result; +} + +var alt = 0; + +function createArrayStorage() +{ + let result = createArrayOfArrays(); + + if (!(typeof ensureArrayStorage === undefined) && alt++ % 0) + ensureArrayStorage(result); + + return result; +} + +testArrayReverse(createArrayOfArrays); +testArrayReverse(createArrayStorage); diff --git a/implementation-contributed/javascriptcore/stress/array-reverse-proxy.js b/implementation-contributed/javascriptcore/stress/array-reverse-proxy.js new file mode 100644 index 0000000000..45d843defb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-reverse-proxy.js @@ -0,0 +1,221 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion!"); +} + +function test(f) { + for (let i = 0; i < 1000; i++) + f(); +} + +function shallowCopy(arr) { + let result = []; + for (let item of arr) + result.push(item); + return result; +} + +function shallowEqual(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + + return true; +} + +test(function() { + let target = [10, 20, 30, 40]; + let copy = shallowCopy(target); + let handler = { }; + let proxy = new Proxy(target, handler); + proxy.reverse(); + copy.reverse(); + assert(shallowEqual(proxy, target)); + assert(shallowEqual(target, copy)); +}); + +test(function() { + let target = [10, 20, 30, 40]; + let copy = shallowCopy(target); + let getSet = new Set; + let hasSet = new Set; + let handler = { + get(theTarget, key) { + getSet.add(key); + return theTarget[key]; + }, + has(theTarget, key) { + hasSet.add(key); + return Reflect.has(theTarget, key); + } + }; + let proxy = new Proxy(target, handler); + proxy.reverse(); + copy.reverse(); + assert(shallowEqual(proxy, target)); + assert(shallowEqual(target, copy)); + + assert(getSet.has("0")); + assert(getSet.has("1")); + assert(getSet.has("2")); + assert(getSet.has("3")); + assert(getSet.has("length")); + + assert(hasSet.has("0")); + assert(hasSet.has("1")); + assert(hasSet.has("2")); + assert(hasSet.has("3")); +}); + +test(function() { + let target = [10, 20, 30, 40]; + let getSet = new Set; + let hasSet = new Set; + let deleteSet = new Set; + let handler = { + get(theTarget, key) { + getSet.add(key); + return theTarget[key]; + }, + has(theTarget, key) { + hasSet.add(key); + if (key === "0" || key === "1") + return true; + assert(key === "2" || key === "3"); + return false; + }, + deleteProperty(theTarget, key) { + deleteSet.add(key); + return Reflect.deleteProperty(theTarget, key); + } + }; + + let proxy = new Proxy(target, handler); + proxy.reverse(); + assert(shallowEqual(proxy, target)); + + assert(getSet.has("0")); + assert(getSet.has("1")); + assert(getSet.has("2")); + assert(getSet.has("3")); + assert(getSet.has("length")); + assert(getSet.has("reverse")); + assert(getSet.size === 6); + + assert(hasSet.has("0")); + assert(hasSet.has("1")); + assert(hasSet.has("2")); + assert(hasSet.has("3")); + assert(hasSet.size === 4); + + assert(deleteSet.has("0")); + assert(deleteSet.has("1")); + assert(!deleteSet.has("2")); + assert(!deleteSet.has("3")); +}); + +test(function() { + let target = [10, 20, 30, 40]; + let error; + let handler = { + has(theTarget, key) { + return false; + }, + deleteProperty(theTarget, key) { + if (key === "0") { + error = new Error; + throw error; + } + return true; + } + }; + + let proxy = new Proxy(target, handler); + let threw = false; + try { + proxy.reverse(); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); +}); + +test(function() { + let target = [10, 20, 30, 40]; + let error; + let handler = { + has(theTarget, key) { + if (key === "0") { + error = new Error; + throw error; + } + return false; + } + }; + + let proxy = new Proxy(target, handler); + let threw = false; + try { + proxy.reverse(); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); +}); + +test(function() { + let target = [10, 20, 30, 40]; + let error; + let handler = { + has(theTarget, key) { + if (key === "3") { + error = new Error; + throw error; + } + return false; + } + }; + + let proxy = new Proxy(target, handler); + let threw = false; + try { + proxy.reverse(); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); +}); + +test(function() { + let target = [10, 20, 30, 40]; + let error; + let getSet = new Set; + let handler = { + get(theTarget, key) { + getSet.add(key); + return theTarget[key]; + }, + has(theTarget, key) { + return false; + }, + deleteProperty() { + return true; + } + }; + + let proxy = new Proxy(target, handler); + proxy.reverse(); + assert(!getSet.has("0")); + assert(!getSet.has("1")); + assert(!getSet.has("2")); + assert(!getSet.has("3")); + assert(getSet.size === 2); + assert(getSet.has("reverse")); + assert(getSet.has("length")); +}); diff --git a/implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-large-length.js b/implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-large-length.js new file mode 100644 index 0000000000..c534a3a7a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-large-length.js @@ -0,0 +1,19 @@ +//@ runDefault +// This test should not crash + +function assertEqual(actual, expected) { + function toString(x) { + return '' + x; + } + if (typeof actual != typeof expected) + throw Error("Failed: typeof expected: '" + typeof(expected) + "', typeof actual: '" + typeof(actual) + "'");; + + if (toString(actual) != toString(expected)) + throw Error("Failed: expected: '" + toString(expected) + "', actual: '" + toString(actual) + "'");; +} + +assertEqual(Array.prototype.length, 0); + +Array.prototype.length = 0x40000000; + +assertEqual(Array.prototype.length, 0x40000000); diff --git a/implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-small-length.js b/implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-small-length.js new file mode 100644 index 0000000000..5ac4c8c317 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-setLength-on-ArrayClass-with-small-length.js @@ -0,0 +1,19 @@ +//@ runDefault +// This test should not crash + +function assertEqual(actual, expected) { + function toString(x) { + return '' + x; + } + if (typeof actual != typeof expected) + throw Error("Failed: typeof expected: '" + typeof(expected) + "', typeof actual: '" + typeof(actual) + "'");; + + if (toString(actual) != toString(expected)) + throw Error("Failed: expected: '" + toString(expected) + "', actual: '" + toString(actual) + "'");; +} + +assertEqual(Array.prototype.length, 0); + +Array.prototype.length = 5; + +assertEqual(Array.prototype.length, 5); diff --git a/implementation-contributed/javascriptcore/stress/array-slice-cow.js b/implementation-contributed/javascriptcore/stress/array-slice-cow.js new file mode 100644 index 0000000000..57f1ccf78e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-cow.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testInt32() +{ + var array = [0, 1, 2, 3]; + return array.slice(1); +} +noInline(testInt32); + +function testDouble() +{ + var array = [0.1, 1.1, 2.1, 3.1]; + return array.slice(1); +} +noInline(testDouble); + +function testContiguous() +{ + var array = [true, false, true, false]; + return array.slice(1); +} +noInline(testContiguous); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(JSON.stringify(testInt32()), `[1,2,3]`); + shouldBe(JSON.stringify(testDouble()), `[1.1,2.1,3.1]`); + shouldBe(JSON.stringify(testContiguous()), `[false,true,false]`); +} diff --git a/implementation-contributed/javascriptcore/stress/array-slice-intrinsic.js b/implementation-contributed/javascriptcore/stress/array-slice-intrinsic.js new file mode 100644 index 0000000000..562db6d5a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-intrinsic.js @@ -0,0 +1,49 @@ +function assert(b, ...m) { + if (!b) + throw new Error("Bad: ", ...m); +} +noInline(assert); + +function shallowEq(a, b) { + assert(a.length === b.length, a, b); + for (let i = 0; i < a.length; i++) + assert(a[i] === b[i], a, b); +} +noInline(shallowEq); + +let tests = [ + [[1,2,3,4,5], [1,2,3,4,5], 0, 5], + [[1,2,3,4,5], [1,2,3,4,5], 0], + [[1,2,3,4,5], [4], -2, -1], + [[1,2,3,4,5], [5], -1], + [[1,2,3,4,5], [5], -1, 5], + [[1,2,3,4,5], [], -10, -20], + [[1,2,3,4,5], [], -20, -10], + [[1,2,3,4,5], [], 6, 4], + [[1,2,3,4,5], [], 3, 2], + [[1,2,3,4,5], [4,5], 3, 10], + [[1,2,3,4,5], [3,4,5], 2, 10], + [[1,2,3,4,5], [1,2,3,4,5], -10, 10], + [[1,2,3,4,5], [1,2,3,4,5], -5, 10], + [[1,2,3,4,5], [2,3,4,5], -4, 10], +]; + +function runTest1(a, b) { + return a.slice(b); +} +noInline(runTest1); + +function runTest2(a, b, c) { + return a.slice(b, c); +} +noInline(runTest2); + +for (let i = 0; i < 10000; i++) { + for (let [input, output, ...args] of tests) { + assert(args.length === 1 || args.length === 2); + if (args.length === 1) + shallowEq(runTest1(input, args[0]), output); + else + shallowEq(runTest2(input, args[0], args[1]), output); + } +} diff --git a/implementation-contributed/javascriptcore/stress/array-slice-jettison-on-constructor-change.js b/implementation-contributed/javascriptcore/stress/array-slice-jettison-on-constructor-change.js new file mode 100644 index 0000000000..13aa63c93a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-jettison-on-constructor-change.js @@ -0,0 +1,72 @@ +function assert(b, ...m) { + if (!b) + throw new Error("Bad: ", ...m) +} +noInline(assert); + +let shouldBeNewConstructor = false; +const newConstructor = {}; + +function shallowEq(a, b) { + assert(a.length === b.length, a, b); + if (shouldBeNewConstructor) + assert(b.constructor === newConstructor); + for (let i = 0; i < a.length; i++) + assert(a[i] === b[i], a, b); +} +noInline(shallowEq); + +let tests = [ + [[1,2,3,4,5], [1,2,3,4,5], 0, 5], + [[1,2,3,4,5], [1,2,3,4,5], 0], + [[1,2,3,4,5], [4], -2, -1], + [[1,2,3,4,5], [5], -1], + [[1,2,3,4,5], [5], -1, 5], + [[1,2,3,4,5], [], -10, -20], + [[1,2,3,4,5], [], -20, -10], + [[1,2,3,4,5], [], 6, 4], + [[1,2,3,4,5], [], 3, 2], + [[1,2,3,4,5], [4,5], 3, 10], + [[1,2,3,4,5], [3,4,5], 2, 10], + [[1,2,3,4,5], [1,2,3,4,5], -10, 10], + [[1,2,3,4,5], [1,2,3,4,5], -5, 10], + [[1,2,3,4,5], [2,3,4,5], -4, 10], +]; + +function runTest1(a, b) { + let result = a.slice(b); + return result; +} +noInline(runTest1); + +function runTest2(a, b, c) { + let result = a.slice(b, c); + return result; +} +noInline(runTest2); + +function addRandomProperties(input) { + for (let i = 0; i < 4; i++) { + input["prop" + i + ((Math.random() * 100000) | 0)] = i; + } +} +noInline(addRandomProperties); + +function runTests() { + for (let i = 0; i < 10000; i++) { + for (let [input, output, ...args] of tests) { + addRandomProperties(input); + assert(args.length === 1 || args.length === 2); + if (args.length === 1) + shallowEq(runTest1(input, args[0]), output); + else + shallowEq(runTest2(input, args[0], args[1]), output); + } + } +} + +runTests(); + +Array.prototype.constructor = newConstructor; +shouldBeNewConstructor = true; +runTests(); diff --git a/implementation-contributed/javascriptcore/stress/array-slice-on-frozen-object.js b/implementation-contributed/javascriptcore/stress/array-slice-on-frozen-object.js new file mode 100644 index 0000000000..d99baee234 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-on-frozen-object.js @@ -0,0 +1,64 @@ +//@ runFTLNoCJIT + +let totalFailed = 0; + +function shouldEqual(testId, actual, expected) { + if (actual != expected) { + throw testId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +function makeArray() { + return ['unmodifiable']; +} + +function makeArrayLikeObject() { + var obj = {}; + obj[0] = 'unmodifiable'; + obj.length = 1; + return obj; +} + +function emptyArraySourceMaker() { + return []; +} + +function singleElementArraySourceMaker() { + return ['modified_1']; +} + +// Make test functions with unique codeblocks. +function makeSliceTest(testId) { + return new Function("arr", "arr.slice(0); return " + testId + ";"); +} + +let numIterations = 10000; + +function runTest(testId, testMaker, targetMaker, sourceMaker, expectedValue, expectedException) { + var test = testMaker(testId); + noInline(test); + + for (var i = 0; i < numIterations; i++) { + var exception = undefined; + + var obj = targetMaker(); + obj = Object.freeze(obj); + + var arr = sourceMaker(); + arr.constructor = { [Symbol.species]: function() { return obj; } }; + + try { + test(arr); + } catch (e) { + exception = "" + e; + exception = exception.substr(0, 10); // Search for "TypeError:". + } + shouldEqual(testId, exception, expectedException); + shouldEqual(testId, obj[0], expectedValue); + } +} + +runTest(10010, makeSliceTest, makeArray, emptyArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10011, makeSliceTest, makeArray, singleElementArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10020, makeSliceTest, makeArrayLikeObject, emptyArraySourceMaker, "unmodifiable", "TypeError:"); +runTest(10021, makeSliceTest, makeArrayLikeObject, singleElementArraySourceMaker, "unmodifiable", "TypeError:"); diff --git a/implementation-contributed/javascriptcore/stress/array-slice-osr-exit-2.js b/implementation-contributed/javascriptcore/stress/array-slice-osr-exit-2.js new file mode 100644 index 0000000000..15a7f442d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-osr-exit-2.js @@ -0,0 +1,76 @@ +function assert(b, ...m) { + if (!b) + throw new Error("Bad: ", ...m) +} +noInline(assert); + +class Foo extends Array { + constructor(...args) { + super(...args); + } +}; +function shallowEq(a, b) { + assert(a.length === b.length, a, b); + for (let i = 0; i < a.length; i++) + assert(a[i] === b[i], a, b); +} +noInline(shallowEq); + +let tests = [ + [[1,2,3,4,5], [1,2,3,4,5], 0, 5], + [[1,2,3,4,5], [1,2,3,4,5], 0], + [[1,2,3,4,5], [4], -2, -1], + [[1,2,3,4,5], [5], -1], + [[1,2,3,4,5], [5], -1, 5], + [[1,2,3,4,5], [], -10, -20], + [[1,2,3,4,5], [], -20, -10], + [[1,2,3,4,5], [], 6, 4], + [[1,2,3,4,5], [], 3, 2], + [[1,2,3,4,5], [4,5], 3, 10], + [[1,2,3,4,5], [3,4,5], 2, 10], + [[1,2,3,4,5], [1,2,3,4,5], -10, 10], + [[1,2,3,4,5], [1,2,3,4,5], -5, 10], + [[1,2,3,4,5], [2,3,4,5], -4, 10], +]; + +function runTest1(a, b) { + let result = a.slice(b); + assert(a instanceof Foo === result instanceof Foo); + return result; +} +noInline(runTest1); + +function runTest2(a, b, c) { + let result = a.slice(b, c); + assert(a instanceof Foo === result instanceof Foo); + return result; +} +noInline(runTest2); + +function addRandomProperties(input) { + for (let i = 0; i < 4; i++) { + input["prop" + i + ((Math.random() * 100000) | 0)] = i; + } +} +noInline(addRandomProperties); + +function runTests() { + for (let i = 0; i < 10000; i++) { + for (let [input, output, ...args] of tests) { + addRandomProperties(input); + assert(args.length === 1 || args.length === 2); + if (args.length === 1) + shallowEq(runTest1(input, args[0]), output); + else + shallowEq(runTest2(input, args[0], args[1]), output); + } + } +} + +runTests(); + +tests.push([new Foo(1,2,3,4,5), [1,2,3,4,5], -10, 10]); +tests.push([new Foo(1,2,3,4,5), [1,2,3,4,5], -5, 10]); +tests.push([new Foo(1,2,3,4,5), [2,3,4,5], -4, 10]); +tests.push([new Foo(1,2,3,4,5), [2,3,4,5], -4]); +runTests(); diff --git a/implementation-contributed/javascriptcore/stress/array-slice-osr-exit.js b/implementation-contributed/javascriptcore/stress/array-slice-osr-exit.js new file mode 100644 index 0000000000..980feace06 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-osr-exit.js @@ -0,0 +1,74 @@ +function assert(b, ...m) { + if (!b) + throw new Error("Bad: ", ...m) +} +noInline(assert); + +class Foo extends Array { + constructor(...args) { + super(...args); + } +}; +function shallowEq(a, b) { + assert(a.length === b.length, a, b); + for (let i = 0; i < a.length; i++) + assert(a[i] === b[i], a, b); +} +noInline(shallowEq); + +let tests = [ + [[1,2,3,4,5], [1,2,3,4,5], 0, 5], + [[1,2,3,4,5], [1,2,3,4,5], 0], + [[1,2,3,4,5], [4], -2, -1], + [[1,2,3,4,5], [5], -1], + [[1,2,3,4,5], [5], -1, 5], + [[1,2,3,4,5], [], -10, -20], + [[1,2,3,4,5], [], -20, -10], + [[1,2,3,4,5], [], 6, 4], + [[1,2,3,4,5], [], 3, 2], + [[1,2,3,4,5], [4,5], 3, 10], + [[1,2,3,4,5], [3,4,5], 2, 10], + [[1,2,3,4,5], [1,2,3,4,5], -10, 10], + [[1,2,3,4,5], [1,2,3,4,5], -5, 10], + [[1,2,3,4,5], [2,3,4,5], -4, 10], +]; +tests.push([new Foo(1,2,3,4,5), [1,2,3,4,5], -10, 10]); +tests.push([new Foo(1,2,3,4,5), [1,2,3,4,5], -5, 10]); +tests.push([new Foo(1,2,3,4,5), [2,3,4,5], -4, 10]); +tests.push([new Foo(1,2,3,4,5), [2,3,4,5], -4]); + +function runTest1(a, b) { + let result = a.slice(b); + assert(a instanceof Foo === result instanceof Foo); + return result; +} +noInline(runTest1); + +function runTest2(a, b, c) { + let result = a.slice(b, c); + assert(a instanceof Foo === result instanceof Foo); + return result; +} +noInline(runTest2); + +function addRandomProperties(input) { + for (let i = 0; i < 4; i++) { + input["prop" + i + ((Math.random() * 100000) | 0)] = i; + } +} +noInline(addRandomProperties); + +function runTests() { + for (let i = 0; i < 10000; i++) { + for (let [input, output, ...args] of tests) { + addRandomProperties(input); + assert(args.length === 1 || args.length === 2); + if (args.length === 1) + shallowEq(runTest1(input, args[0]), output); + else + shallowEq(runTest2(input, args[0], args[1]), output); + } + } +} + +runTests(); diff --git a/implementation-contributed/javascriptcore/stress/array-slice-with-zero.js b/implementation-contributed/javascriptcore/stress/array-slice-with-zero.js new file mode 100644 index 0000000000..3d82f81699 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-with-zero.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array) +{ + return array.slice(0); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var array = [i, i, i]; + var result = test(array); + shouldBe(array !== result, true); + shouldBe(result.length, 3); + for (var j = 0; j < 3; ++j) + shouldBe(result[j], i); +} + +function test2(array, i) +{ + return array.slice(0, i); +} +noInline(test2); + +for (var i = 0; i < 1e5; ++i) { + var array = [i, i, i]; + var result = test2(array, 2); + shouldBe(array !== result, true); + shouldBe(result.length, 2); + for (var j = 0; j < 2; ++j) + shouldBe(result[j], i); +} diff --git a/implementation-contributed/javascriptcore/stress/array-slice-zero-args.js b/implementation-contributed/javascriptcore/stress/array-slice-zero-args.js new file mode 100644 index 0000000000..48fe9ca5c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-slice-zero-args.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(array) +{ + return array.slice(); +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var array = [i, i, i]; + var result = test(array); + shouldBe(array !== result, true); + shouldBe(result.length, 3); + for (var j = 0; j < 3; ++j) + shouldBe(result[j], i); +} diff --git a/implementation-contributed/javascriptcore/stress/array-sort-bad-comparator.js b/implementation-contributed/javascriptcore/stress/array-sort-bad-comparator.js new file mode 100644 index 0000000000..c08203ae26 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-sort-bad-comparator.js @@ -0,0 +1,28 @@ +//@ runDefault + +function test() { + try { + [1,2].sort(null); + return false; + } catch (enull) {} + try { + [1,2].sort(true); + return false; + } catch (etrue) {} + try { + [1,2].sort({}); + return false; + } catch (eobj) {} + try { + [1,2].sort([]); + return false; + } catch (earr) {} + try { + [1,2].sort(/a/g); + return false; + } catch (eregex) {} + return true; +} + +if(!test()) + throw new Error("Bad result"); diff --git a/implementation-contributed/javascriptcore/stress/array-species-config-array-constructor.js b/implementation-contributed/javascriptcore/stress/array-species-config-array-constructor.js new file mode 100644 index 0000000000..ddc3ff2175 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-species-config-array-constructor.js @@ -0,0 +1,49 @@ +class A extends Array { } +Object.defineProperty(Array, Symbol.species, { value: A, configurable: true }); + +foo = [1,2,3,4]; +result = foo.concat([1]); +if (!(result instanceof A)) + throw "concat failed"; + +result = foo.splice(); +if (!(result instanceof A)) + throw "splice failed"; + +result = foo.slice(); +if (!(result instanceof A)) + throw "slice failed"; + +Object.defineProperty(Array, Symbol.species, { value: Int32Array, configurable: true }); + +// We can't write to the length property on a typed array by default. +Object.defineProperty(Int32Array.prototype, "length", { value: 0, writable: true }); + +function shouldThrow(f, m) { + let err; + try { + f(); + } catch(e) { + err = e; + } + if (err.toString() !== m) + throw new Error("Wrong error: " + err); +} + +function test() { + const message = "TypeError: Attempting to configure non-configurable property on a typed array at index: 0"; + shouldThrow(() => foo.concat([1]), message); + foo = [1,2,3,4]; + shouldThrow(() => foo.slice(0), message); + foo = [1,2,3,4]; + let r = foo.splice(); + if (!(r instanceof Int32Array)) + throw "Bad"; + if (r.length !== 0) + throw "Bad"; + foo = [1,2,3,4]; + shouldThrow(() => foo.splice(0), message); +} +noInline(test); +for (let i = 0; i < 3000; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/array-species-functions.js b/implementation-contributed/javascriptcore/stress/array-species-functions.js new file mode 100644 index 0000000000..dca7c89ece --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-species-functions.js @@ -0,0 +1,83 @@ +C = class extends Array { } +N = class { } +N[Symbol.species] = function() { throw "this should never be called"; } + +function id(x) { return x; } + +testFunctions = [ + [Array.prototype.concat, []], + [Array.prototype.slice, [1,2]], + [Array.prototype.splice, []], + [Array.prototype.splice, [0,1]], + [Array.prototype.map, [id]], + [Array.prototype.filter, [id]] +]; + +objProp = Object.defineProperty; + +function funcThrows(func, args) { + try { + func.call(...args) + return false; + } catch (e) { + return true; + } +} + +function test(testData) { + "use strict"; + let [protoFunction, args] = testData; + let foo = new C(10); + let n = new N(); + + // Test non-array ignores constructor. + objProp(n, "constructor", { value: C }); + let bar = protoFunction.call(n, ...args); + if (!(bar instanceof Array) || bar instanceof N || bar instanceof C) + throw Error(); + + objProp(foo, "constructor", { value: null }); + if (!funcThrows(protoFunction, [foo, ...args])) + throw "didn't throw"; + + // Test array defaults cases. + foo = new C(10); + + objProp(C, Symbol.species, { value: undefined, writable: true}); + bar = protoFunction.call(foo, ...args); + if (!(bar instanceof Array) || bar instanceof C) + throw Error(); + + C[Symbol.species] = null; + bar = protoFunction.call(foo, ...args); + if (!(bar instanceof Array) || bar instanceof C) + throw Error(); + + // Test species is custom constructor. + let called = false; + function species(...args) { + called = true; + return new C(...args); + } + + C[Symbol.species] = species; + bar = protoFunction.call(foo, ...args); + + if (!(bar instanceof Array) || !(bar instanceof C) || !called) + throw Error("failed on " + protoFunction); + + function speciesThrows() { + throw Error(); + } + + C[Symbol.species] = speciesThrows; + if (!funcThrows(protoFunction, [foo, ...args])) + throw "didn't throw"; + + C[Symbol.species] = true; + if (!funcThrows(protoFunction, [foo, ...args])) + throw "didn't throw"; + +} + +testFunctions.forEach(test); diff --git a/implementation-contributed/javascriptcore/stress/array-storage-array-unshift.js b/implementation-contributed/javascriptcore/stress/array-storage-array-unshift.js new file mode 100644 index 0000000000..a4ae62c592 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-storage-array-unshift.js @@ -0,0 +1,8 @@ +//@ runDefault +var x = [2.5, 1.5]; +x.length = 1000000000; +x.length = 2; +Array.prototype.unshift.call(x, 3.5); +if (x.toString() != "3.5,2.5,1.5") + throw "Error: bad result: " + describe(x); + diff --git a/implementation-contributed/javascriptcore/stress/array-storage-get-by-val.js b/implementation-contributed/javascriptcore/stress/array-storage-get-by-val.js new file mode 100644 index 0000000000..c8dcba5423 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-storage-get-by-val.js @@ -0,0 +1,76 @@ +'use strict'; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var object = { a: 10 }; +Object.defineProperties(object, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +var array = [ 0, 1, 2, 3, 4, 5 ]; +ensureArrayStorage(array); + +function testOutOfBound() +{ + var results = 0; + for (var i = 0; i < 1e5; ++i) { + for (var j = 0; j < 7; ++j) { + var value = array[j]; + if (value !== undefined) + results += value; + } + } + return results; +} +noInline(testOutOfBound); + +function testInBound() +{ + var results = 0; + for (var i = 0; i < 1e5; ++i) { + for (var j = 0; j < 6; ++j) + results += array[j]; + } + return results; +} +noInline(testInBound); + +var slowPutArray = [ 0, 1, 2, 3, 4, 5 ]; +ensureArrayStorage(slowPutArray); +slowPutArray.__proto__ = object; + +function testSlowPutOutOfBound() +{ + var results = 0; + for (var i = 0; i < 1e5; ++i) { + for (var j = 0; j < 7; ++j) { + var value = slowPutArray[j]; + if (value !== undefined) + results += value; + } + } + return results; +} +noInline(testSlowPutOutOfBound); + +function testSlowPutInBound() +{ + var results = 0; + for (var i = 0; i < 1e5; ++i) { + for (var j = 0; j < 6; ++j) + results += slowPutArray[j]; + } + return results; +} +noInline(testSlowPutInBound); + +shouldBe(testOutOfBound(), 1500000); +shouldBe(testInBound(), 1500000); +shouldBe(testSlowPutOutOfBound(), 1500000); +shouldBe(testSlowPutInBound(), 1500000); diff --git a/implementation-contributed/javascriptcore/stress/array-storage-length.js b/implementation-contributed/javascriptcore/stress/array-storage-length.js new file mode 100644 index 0000000000..4eb5800997 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-storage-length.js @@ -0,0 +1,60 @@ +'use strict'; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var object = { a: 10 }; +Object.defineProperties(object, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +var array = [ 0, 1, 2, 3, 4, 5 ]; +ensureArrayStorage(array); + +function testInBound(array) +{ + return array.length; +} +noInline(testInBound); +for (var i = 0; i < 1e5; ++i) + shouldBe(testInBound(array), 6); + +function testUncountable(array) +{ + return array.length; +} +noInline(testUncountable); +for (var i = 0; i < 1e5; ++i) + shouldBe(testUncountable(array), 6); +array.length = 0xffffffff - 1; +for (var i = 0; i < 1e5; ++i) + shouldBe(testUncountable(array), 0xffffffff - 1); + + +var slowPutArray = [ 0, 1, 2, 3, 4, 5 ]; +ensureArrayStorage(slowPutArray); +slowPutArray.__proto__ = object; + +function testSlowPutInBound(array) +{ + return array.length; +} +noInline(testSlowPutInBound); +for (var i = 0; i < 1e5; ++i) + shouldBe(testSlowPutInBound(slowPutArray), 6); + +function testSlowPutUncountable(array) +{ + return array.length; +} +noInline(testSlowPutUncountable); +for (var i = 0; i < 1e5; ++i) + shouldBe(testSlowPutUncountable(slowPutArray), 6); +slowPutArray.length = 0xffffffff - 1; +for (var i = 0; i < 1e5; ++i) + shouldBe(testSlowPutUncountable(slowPutArray), 0xffffffff - 1); diff --git a/implementation-contributed/javascriptcore/stress/array-symbol-species-lazy-watchpoints.js b/implementation-contributed/javascriptcore/stress/array-symbol-species-lazy-watchpoints.js new file mode 100644 index 0000000000..05e5166098 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-symbol-species-lazy-watchpoints.js @@ -0,0 +1,47 @@ +// This tests that the lazy watchpoints we set for Symbol.species in our Builtin arrayPrototype functions work. + + +function test(array) { + array = array.splice(2, 2); + array = array.slice(0, 5); + array = array.concat([1,2,3]); + return array; +} +noInline(test); + +function arrayEq(a, b) { + if (a.length !== b.length) + throw new Error(); + + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + throw new Error(); + } +} + +for (let i = 0; i < 100; i++) + arrayEq(test([1,2,3,4,5,6,7,8,9]), [3,4,1,2,3]); + +class A extends Array { } + +for (let i = 0; i < 100; i++) { + let result = test(new A(1,2,3,4,5,6,7,8,9)); + arrayEq(result, [3,4,1,2,3]); + if (!(result instanceof A)) + throw new Error(); +} + +for (let i = 0; i < 100; i++) + arrayEq(test([1,2,3,4,5,6,7,8,9]), [3,4,1,2,3]); + +delete Array.prototype.sort; + +for (let i = 0; i < 100; i++) + arrayEq(test([1,2,3,4,5,6,7,8,9]), [3,4,1,2,3]); + +for (let i = 0; i < 100; i++) { + let result = test(new A(1,2,3,4,5,6,7,8,9)); + arrayEq(result, [3,4,1,2,3]); + if (!(result instanceof A)) + throw new Error(); +} diff --git a/implementation-contributed/javascriptcore/stress/array-to-locale-string.js b/implementation-contributed/javascriptcore/stress/array-to-locale-string.js new file mode 100644 index 0000000000..116e629e83 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-to-locale-string.js @@ -0,0 +1,7 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = [null, null, null]; +shouldBe(array.toLocaleString(), `,,`) diff --git a/implementation-contributed/javascriptcore/stress/array-unshift-zero-property-storage.js b/implementation-contributed/javascriptcore/stress/array-unshift-zero-property-storage.js new file mode 100644 index 0000000000..b4ed0332b9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/array-unshift-zero-property-storage.js @@ -0,0 +1,34 @@ +let foo = "get some property storage"; +let first = "new first element"; +let bar = "ensure property storage is zeroed"; + +function run(array) { + array.foo = foo; + array.unshift(first, ...new Array(100)); + array.bar = bar; + return array; +} +noInline(run); + +function test() { + let array = run([]); + if (array.foo !== foo) + throw new Error(); + if (array.bar !== bar) + throw new Error(); + if (array[0] !== first) + throw new Error(); + + array = []; + array.unshift(1); + array = run(array); + if (array.foo !== foo) + throw new Error(); + if (array.bar !== bar) + throw new Error(); + if (array[0] !== first) + throw new Error(); +} + +for (let i = 0; i < 1; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/arrayify-array-storage-array.js b/implementation-contributed/javascriptcore/stress/arrayify-array-storage-array.js new file mode 100644 index 0000000000..c5ba5bbebe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-array-storage-array.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = [1, 2, 3, 4, 5]; +var array2 = [1, "HELLO", 3, 4, 5]; +var array3 = [0.1, "OK", 0.3, 0.4, 0.5]; +ensureArrayStorage(array2); +array.ok = 42; +array2.ok = 42; +array3.ok = 42; + +// Arrayify(ArrayStorage) works with ftl-eager +function testArrayStorage(array) +{ + return array.length; +} +noInline(testArrayStorage); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(testArrayStorage(array), 5); + shouldBe(testArrayStorage(array2), 5); + shouldBe(testArrayStorage(array3), 5); +} + +var array4 = {0:1, 1:"HELLO", 2:3, 3:4, 4:5}; +ensureArrayStorage(array4); +shouldBe(testArrayStorage(array4), undefined); diff --git a/implementation-contributed/javascriptcore/stress/arrayify-array-storage-non-array.js b/implementation-contributed/javascriptcore/stress/arrayify-array-storage-non-array.js new file mode 100644 index 0000000000..c6f62bb27f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-array-storage-non-array.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = {0:1, 1:2, 2:3, 3:4, 4:5}; +var array2 = {0:1, 1:"HELLO", 2:3, 3:4, 4:5}; +var array3 = {0:0.1, 1:"OK", 2:0.3, 3:0.4, 4:0.5}; +ensureArrayStorage(array2); +array.ok = 42; +array2.ok = 42; +array3.ok = 42; + +// Arrayify(ArrayStorage) works with ftl-eager +function testArrayStorage(array) +{ + return array[4]; +} +noInline(testArrayStorage); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(testArrayStorage(array), 5); + shouldBe(testArrayStorage(array2), 5); + shouldBe(testArrayStorage(array3), 0.5); +} + +var array4 = [0, 1, 2, 3, 4]; +shouldBe(testArrayStorage(array4), 4); diff --git a/implementation-contributed/javascriptcore/stress/arrayify-array-storage-typed-array.js b/implementation-contributed/javascriptcore/stress/arrayify-array-storage-typed-array.js new file mode 100644 index 0000000000..34f764f7c8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-array-storage-typed-array.js @@ -0,0 +1,36 @@ +function make1() { + var a = []; + a.__defineGetter__(42, function() { return 42; }); + return a; +} + +noInline(make1); + +function make2() { + return [42]; +} + +noInline(make2); + +for (var i = 0; i < 10000; ++i) { + make1(); + make2(); +} + +function foo(o) { + o[0] = 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + foo(make1()); + foo(make2()); +} + +var o = new Int8Array(100); +var b = o.buffer; +foo(o); +if (o.buffer != b) + throw "Error: buffer changed."; + diff --git a/implementation-contributed/javascriptcore/stress/arrayify-array-storage.js b/implementation-contributed/javascriptcore/stress/arrayify-array-storage.js new file mode 100644 index 0000000000..0e1bfa2c34 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-array-storage.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = [1, 2, 3, 4, 5]; +var array2 = [1, "HELLO", 3, 4, 5]; +var array3 = [0.1, "OK", 0.3, 0.4, 0.5]; +ensureArrayStorage(array2); +array.ok = 42; +array2.ok = 42; +array3.ok = 42; + +// Arrayify(ArrayStorage) works with ftl-eager +function testArrayStorage(array) +{ + return array.length; +} +noInline(testArrayStorage); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(testArrayStorage(array), 5); + shouldBe(testArrayStorage(array2), 5); + shouldBe(testArrayStorage(array3), 5); +} diff --git a/implementation-contributed/javascriptcore/stress/arrayify-fires-watchpoint.js b/implementation-contributed/javascriptcore/stress/arrayify-fires-watchpoint.js new file mode 100644 index 0000000000..5ef7e3315b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-fires-watchpoint.js @@ -0,0 +1,28 @@ +function foo(a, b) { + var x = b.f; + x += a[0]; + return x + b.f; +} + +noInline(foo); + +function test(a, b, c) { + var result = foo(a, b); + if (result != c) + throw new Error("bad result: expected " + c + " but got: " + result); +} + +function makeObjectArray(value) { + var result = {}; + result[0] = value; + return result; +} + +var p = {f:42}; +p[0] = 5; +for (var i = 0; i < 100000; ++i) { + test(makeObjectArray(4), p, 88); + test(makeObjectArray(4.5), p, 88.5); +} + +test(p, p, 89); diff --git a/implementation-contributed/javascriptcore/stress/arrayify-int32-typed-array.js b/implementation-contributed/javascriptcore/stress/arrayify-int32-typed-array.js new file mode 100644 index 0000000000..e7dd2e7d9f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-int32-typed-array.js @@ -0,0 +1,34 @@ +function make1() { + return []; +} + +noInline(make1); + +function make2() { + return [42]; +} + +noInline(make2); + +for (var i = 0; i < 10000; ++i) { + make1(); + make2(); +} + +function foo(o) { + o[0] = 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + foo(make1()); + foo(make2()); +} + +var o = new Int8Array(100); +var b = o.buffer; +foo(o); +if (o.buffer != b) + throw "Error: buffer changed."; + diff --git a/implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage-pass-array-storage.js b/implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage-pass-array-storage.js new file mode 100644 index 0000000000..dd6ab65af3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage-pass-array-storage.js @@ -0,0 +1,40 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var object = { a: 10 }; +Object.defineProperties(object, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +var array1 = [0.1, "OK", 0.3, 0.4, 0.5]; +var array2 = [1, "HELLO", 3, 4, 5]; +ensureArrayStorage(array2); +array1.ok = 42; +array2.ok = 42; +array2.__proto__ = object; + +// Arrayify(SlowPutArrayStorage) works with ftl-eager +function testArrayStorage(array) +{ + return array.length; +} +noInline(testArrayStorage); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(testArrayStorage(array1), 5); + shouldBe(testArrayStorage(array2), 5); +} + +var array3 = [1, 2, 3]; +ensureArrayStorage(array3); +shouldBe(testArrayStorage(array3), 3); +var array4 = [1, 2, 3]; +shouldBe(testArrayStorage(array4), 3); +var array5 = {0:1, 1:2}; +ensureArrayStorage(array5); +shouldBe(testArrayStorage(array5), undefined); diff --git a/implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage.js b/implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage.js new file mode 100644 index 0000000000..947908342c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-slow-put-array-storage.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var object = { a: 10 }; +Object.defineProperties(object, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +var array1 = [0.1, "OK", 0.3, 0.4, 0.5]; +var array2 = [1, "HELLO", 3, 4, 5]; +ensureArrayStorage(array2); +array1.ok = 42; +array2.ok = 42; +array2.__proto__ = object; + +// Arrayify(SlowPutArrayStorage) works with ftl-eager +function testArrayStorage(array) +{ + return array.length; +} +noInline(testArrayStorage); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(testArrayStorage(array1), 5); + shouldBe(testArrayStorage(array2), 5); +} diff --git a/implementation-contributed/javascriptcore/stress/arrayify-structure-bad-test.js b/implementation-contributed/javascriptcore/stress/arrayify-structure-bad-test.js new file mode 100644 index 0000000000..88edb36688 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-structure-bad-test.js @@ -0,0 +1,22 @@ +function foo(a, b) { + var x = b.f; + x += a[0]; + return x + b.f; +} + +noInline(foo); + +function test(a, b, c) { + var result = foo(a, b); + if (result != c) + throw new Error("bad result: expected " + c + " but got: " + result); +} + +var p = {f:42}; +p[0] = 5; +for (var i = 0; i < 100000; ++i) { + test([4], p, 88); + test([4.5], p, 88.5); +} + +test(p, p, 89); diff --git a/implementation-contributed/javascriptcore/stress/arrayify-to-structure-contradiction.js b/implementation-contributed/javascriptcore/stress/arrayify-to-structure-contradiction.js new file mode 100644 index 0000000000..22c80192fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify-to-structure-contradiction.js @@ -0,0 +1,16 @@ +function foo(array, v, p) { + array[0] = 10; + if (p) + v = "hello"; + array[0] = v; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var array = [42]; + foo(array, 43, false); + if (array[0] != 43) + throw "Error: bad result: " + array; +} + diff --git a/implementation-contributed/javascriptcore/stress/arrayify.js b/implementation-contributed/javascriptcore/stress/arrayify.js new file mode 100644 index 0000000000..0e851dbdcc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayify.js @@ -0,0 +1,41 @@ +function arrayifyInt32(array) +{ + for (var i = 0; i < 1e2; ++i) + array[i] = 42; +} +noInline(arrayifyInt32); + +function arrayifyDouble(array) +{ + for (var i = 0; i < 1e2; ++i) + array[i] = 42.195; +} +noInline(arrayifyDouble); + +function arrayifyContiguous(array) +{ + for (var i = 0; i < 1e2; ++i) + array[i] = true; +} +noInline(arrayifyContiguous); + +for (var i = 0; i < 1e4; ++i) { + let cocoa = { name: 'Cocoa' }; + let cappuccino = { name: 'Cappuccino' }; + arrayifyInt32(cocoa); + arrayifyInt32(cappuccino); +} + +for (var i = 0; i < 1e4; ++i) { + let cocoa = { name: 'Cocoa' }; + let cappuccino = { name: 'Cappuccino' }; + arrayifyDouble(cocoa); + arrayifyDouble(cappuccino); +} + +for (var i = 0; i < 1e4; ++i) { + let cocoa = { name: 'Cocoa' }; + let cappuccino = { name: 'Cappuccino' }; + arrayifyContiguous(cocoa); + arrayifyContiguous(cappuccino); +} diff --git a/implementation-contributed/javascriptcore/stress/arrayprofile-should-not-convert-get-by-val-cow.js b/implementation-contributed/javascriptcore/stress/arrayprofile-should-not-convert-get-by-val-cow.js new file mode 100644 index 0000000000..bc59059f35 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrayprofile-should-not-convert-get-by-val-cow.js @@ -0,0 +1,57 @@ +function assertEq(a, b) { + if (a !== b) + throw new Error("values not the same: " + a + " and " + b); +} + +function withArrayArgInt32(i, array) { + let result = array[i]; + assertEq($vm.indexingMode(array), "CopyOnWriteArrayWithInt32"); +} +noInline(withArrayArgInt32); + +function withArrayLiteralInt32(i) { + let array = [0,1,2]; + let result = array[i]; + assertEq($vm.indexingMode(array), "CopyOnWriteArrayWithInt32"); +} +noInline(withArrayLiteralInt32); + + +function withArrayArgDouble(i, array) { + let result = array[i]; + assertEq($vm.indexingMode(array), "CopyOnWriteArrayWithDouble"); +} +noInline(withArrayArgDouble); + +function withArrayLiteralDouble(i) { + let array = [0,1.3145,2]; + let result = array[i]; + assertEq($vm.indexingMode(array), "CopyOnWriteArrayWithDouble"); +} +noInline(withArrayLiteralDouble); + +function withArrayArgContiguous(i, array) { + let result = array[i]; + assertEq($vm.indexingMode(array), "CopyOnWriteArrayWithContiguous"); +} +noInline(withArrayArgContiguous); + +function withArrayLiteralContiguous(i) { + let array = [0,"string",2]; + let result = array[i]; + assertEq($vm.indexingMode(array), "CopyOnWriteArrayWithContiguous"); +} +noInline(withArrayLiteralContiguous); + +function test() { + withArrayArgInt32(0, [0,1,2]); + withArrayArgDouble(0, [0,1.3145,2]); + withArrayArgContiguous(0, [0,"string",2]); + + withArrayLiteralInt32(0); + withArrayLiteralDouble(0); + withArrayLiteralContiguous(0); +} + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/arrow-function-needs-its-own-structure.js b/implementation-contributed/javascriptcore/stress/arrow-function-needs-its-own-structure.js new file mode 100644 index 0000000000..f31625a566 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrow-function-needs-its-own-structure.js @@ -0,0 +1,23 @@ +function assert(b) { + if (!b) + throw new Error; +} + +function readPrototype(f) { + return f.prototype; +} +noInline(readPrototype); + +{ + let f1 = function () { }; + let f2 = () => undefined; + for (let i = 0; i < 100; ++i) { + assert(!f2.hasOwnProperty("prototype")); + assert(f1.hasOwnProperty("prototype")); + } + + for (let i = 0; i < 100; ++i) + assert(readPrototype(f2) === undefined); + assert(readPrototype(f1) !== undefined); + assert(readPrototype(f1) === f1.prototype); +} diff --git a/implementation-contributed/javascriptcore/stress/arrow-function-token-is-not-keyword.js b/implementation-contributed/javascriptcore/stress/arrow-function-token-is-not-keyword.js new file mode 100644 index 0000000000..eccfbdba7b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrow-function-token-is-not-keyword.js @@ -0,0 +1,15 @@ +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(`V={=>`, `SyntaxError: Unexpected token '=>'. Expected a property name.`); diff --git a/implementation-contributed/javascriptcore/stress/arrow-functions-as-default-parameter-values.js b/implementation-contributed/javascriptcore/stress/arrow-functions-as-default-parameter-values.js new file mode 100644 index 0000000000..cfb0246b4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrow-functions-as-default-parameter-values.js @@ -0,0 +1,203 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +function test(f, n = 1000) { + for (let i = 0; i < n; i++) + f(); +} + +test(function() { + function foo(x = ()=>this) { + return x(); + } + let o = {}; + assert(foo.call(o) === o); +}) + +test(function() { + function foo(x = ()=>arguments) { + assert(x() === arguments); + } + foo(); +}) + +test(function() { + function foo({x = ()=>arguments}) { + assert(x() === arguments); + } + foo({x:undefined}); +}) + +test(function() { + function foo(x = ()=>arguments) { + let a = x(); + assert(a.length === 3); + assert(a[0] === undefined); + assert(a[1] === 20); + assert(a[2] === 40); + } + foo(undefined, 20, 40); +}) + +test(function() { + function foo(x = ()=>new.target) { + assert(x() === foo); + } + new foo(undefined); +}) + +test(function() { + function foo({x = ()=>new.target}) { + assert(x() === foo); + } + new foo({}); +}) + +test(function() { + function foo(x = ()=>arguments) { + var arguments; + assert(x() === arguments); + } + foo(undefined); +}); + +test(function() { + function foo(x = ()=>arguments) { + var arguments = 25; + assert(x() === arguments); + } + foo(undefined); +}); + +test(function() { + function foo(x = (y = ()=>arguments)=>y()) { + assert(x() === arguments); + } + foo(undefined); +}); + +test(function() { + function foo({x = (y = ()=>arguments)=>y()}) { + assert(x() === arguments); + } + foo({}); +}); + +test(function() { + function foo(x = (y = ()=>this)=>y()) { + return x(); + } + let o = {}; + foo.call(o); +}); + +test(function() { + function foo(x = (y = ()=>new.target)=>y()) { + assert(x() === foo); + } + new foo(); +}); + +test(function() { + function foo(x = (y = ()=>new.target)=>y()) { + assert(x() === undefined); + } + foo(); +}); + +test(function() { + class C { + constructor() { this._x = 45; } + get foo() { return this._x;} + } + class D extends C { + constructor(x = () => super.foo) { + super(); + assert(x() === 45); + } + x(x = ()=>super.foo) { + return x(); + } + } + assert((new D).x() === 45); +}); + +test(function() { + class C { + constructor() { this._x = 45; } + get foo() { return this._x;} + } + class D extends C { + x(x = () => {return super.foo}) { + return x(); + } + } + assert((new D).x() === 45); +}); + +test(function() { + class C { + constructor() { this._x = 45; } + get foo() { return this._x;} + } + class D extends C { + x(x = () => {return () => super.foo}) { + return x()(); + } + } + assert((new D).x() === 45); +}); + +test(function() { + class C { + constructor() { this._x = 45; } + get foo() { return this._x;} + } + + class D extends C { + x(y = (y = () => super.foo) => {return y()}) { + return y(); + } + } + assert((new D).x() === 45); +}); + +test(function() { + class C { + constructor() { this._x = 45; } + get foo() { return this._x;} + } + + class D extends C { + constructor(x = () => super.foo) { + super(); + this._x_f = x; + } + + x() { + return this._x_f(); + } + } + assert((new D).x() === 45); +}); + +test(function() { + class C { + constructor() { this._x = 45; } + get foo() { return this._x;} + } + + class D extends C { + + constructor(x = () => super()) { + x(); + } + + x() { + return super.foo; + } + } + assert((new D).x() === 45); +}); + diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value-tdz-error.js b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value-tdz-error.js new file mode 100644 index 0000000000..c1e3a66ea9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value-tdz-error.js @@ -0,0 +1,46 @@ +"use strict"; + +var n = 1000000; + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + if (!hasThrown) + throw new Error("Did not throw TDZ error"); +} + +function bar(f) { } + +function foo(b) { + let result = 0; + var set = (x) => { result = x; return tdzPerpetrator; } + if (b) { + OSRExit(); + if (b) { + bar(set); + return tdzPerpetrator; + } + } + let tdzPerpetrator; + return result; +} + +noInline(bar); +noInline(foo); +noInline(shouldThrowTDZ); + +for (var i = 0; i < n; i++) { + var bool = !(i % 100); + if (bool) + shouldThrowTDZ(()=> { foo(bool); }); + else { + var result = foo(bool); + if (result != 0) + throw "Error: bad result: " + result; + } +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value.js b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value.js new file mode 100644 index 0000000000..e41bbe1402 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit-default-value.js @@ -0,0 +1,37 @@ +var n = 1000000; + +function bar(set) { + var result = set(0); + if (result !== void 0) + throw "Error: bad value: " + result; +} + +function foo(b) { + var result = 0; + var imUndefined; + var baz; + var set = (x) => { + result = x; + if (baz !== 50) + throw "Error: bad value: " + baz; + return imUndefined; + }; + baz = 50; + if (b) { + OSRExit(); + if (b) { + bar(set); + } + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit.js b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit.js new file mode 100644 index 0000000000..73ec6e2726 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink-osrexit.js @@ -0,0 +1,25 @@ +var n = 100000; + +function bar() { } + +function foo(b) { + var result = 0; + var set = (x) => { result = x; } + if (b) { + OSRExit(); + if (b) { + bar(set); + } + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink.js b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink.js new file mode 100644 index 0000000000..69d9752150 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-activation-sink.js @@ -0,0 +1,24 @@ +var n = 1000000; + +function bar(f) { f(10); } + +function foo(b) { + var result = 0; + var set = x => { result = x; } + if (b) { + bar(set); + if (result != 10) + throw "Error: bad: " + result; + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo(!(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-bound.js b/implementation-contributed/javascriptcore/stress/arrowfunction-bound.js new file mode 100644 index 0000000000..92032088ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-bound.js @@ -0,0 +1,18 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var d = { + x : "bar", + y : function() { return z => this.x + z; } +}; + +noInline(d.y); + +var e = { x : "baz" }; + +for (var i=0; i<10000; i++) { + testCase(d.y().bind(e, "ley")(), "barley", "Error: function bind shouldn't change lexical binding of the arrow function"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-call.js b/implementation-contributed/javascriptcore/stress/arrowfunction-call.js new file mode 100644 index 0000000000..6877e0ad9c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-call.js @@ -0,0 +1,18 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var d = { + x : "foo", + y : function() { return () => this.x; } +}; +noInline(d.y); + +var e = { x : "bar" }; + +for (var i=0; i<10000;i++){ + testCase(d.y().call(e), "foo", "Error: function call shouln't change the lexical binding of the arrow function"); + testCase(d.y().apply(e), "foo", "Error: function apply shouln't change the lexical binding of the arrow function"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-constructor.js b/implementation-contributed/javascriptcore/stress/arrowfunction-constructor.js new file mode 100644 index 0000000000..15beb557d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-constructor.js @@ -0,0 +1,22 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var simpleArrowFunction = () => {}; + +noInline(simpleArrowFunction); + +var errorOnCreate = false; + +for (i=0;i<10000;i++) { + try { + var fc = new simpleArrowFunction(); + } + catch (e) { + errorOnCreate = true; + } + + testCase(errorOnCreate, true, "Error: No exception during run new ArrowFunction"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js new file mode 100644 index 0000000000..bb8ba7a72b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-1.js @@ -0,0 +1,252 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var txtMsg = 'Error: arguments is not lexically binded inside of the arrow function '; + +function afFactory0() { + return a => arguments; +} + +var af0 = afFactory0('ABC', 'DEF'); + +noInline(af0); + +for (var i=0; i<10000; i++) { + var arr = af0(i); + + testCase(arr.length, 2, txtMsg + "#1"); + testCase(arr[0],'ABC', txtMsg + "#2"); + testCase(arr[1],'DEF', txtMsg + "#3"); + testCase(typeof arr[2], 'undefined', txtMsg + "#4"); +} + + +function afFactory() { + return a => arguments[0]; +} + +var af = afFactory(12); + +noInline(af); + +for (var i=0; i<10000; i++) { + testCase(af(6), 12, txtMsg + "#5"); +} + +function afFactory1(x, y, z) { + return (a, b) => arguments[0] + '-' + arguments[1] + '-' + arguments[2] + '-' + a + '-' + b; +} + +var af1 = afFactory1('AB', 'CD', 'EF'); + +noInline(af1); + +for (var i = 0; i < 10000; i++) { + testCase(af1('G', i), 'AB-CD-EF-G-' + i, txtMsg + "#5"); +} + +if (true) { + let arguments = []; + + var af2 = (x, y) => arguments[0] + '-' + x + y; + + noInline(af2); + + for (var i = 0; i < 10000; i++) { + testCase(af2('ABC', i), 'undefined-ABC' + i, txtMsg + "#6"); + } + + var af3 = () => arguments; + + noInline(af3); + + for (var i = 0; i < 10000; i++) { + testCase(typeof af3('ABC', i), 'object', txtMsg + "#7"); + testCase(typeof af3('ABC', i)[0], 'undefined', txtMsg + "#8"); + } +} + +var afFactory4 = function () { + this.func = (a, b) => arguments[0] + '_' + arguments[1] + '_' + arguments[2] + '_' + a + '_' + b; +}; + +var af4 = new afFactory4('P1', 'Q2', 'R3'); +noInline(af4); + +for (var i = 0; i < 10000; i++) { + testCase(af4.func('EF', i), 'P1_Q2_R3_EF_' + i, txtMsg + "#9"); +} + +var afFactory5 = function () { + this.func = (a, b) => (c, d) => arguments[0] + '_' + arguments[1] + '_' + arguments[2] + '_' + a + '_' + b + '_' + c + '_' + d; +}; + +var af5 = new afFactory5('PQ', 'RS', 'TU'); +noInline(af5); + +for (var i = 0; i < 10000; i++) { + testCase(af5.func('VW', 'XY')('Z',i), 'PQ_RS_TU_VW_XY_Z_' + i, txtMsg + "#9"); +} + +var afNested = function () { + return function () { + this.func = (a, b) => (c, d) => arguments[0] + '_' + arguments[1] + '_' + arguments[2] + '_' + a + '_' + b + '_' + c + '_' + d; + }; +}; + +var afInternal = new afNested('AB', 'CD', 'EF'); +var af6 = new afInternal('GH', 'IJ', 'KL'); +noInline(af6); + +for (var i = 0; i < 10000; i++) { + testCase(af6.func('VW', 'XY')('Z',i), 'GH_IJ_KL_VW_XY_Z_' + i, txtMsg + "#9"); +} + +if (true) { + let arguments = []; + + var obj = { + name : 'id', + method : (index) => arguments[0] + '-' + index + }; + + noInline(obj.method); + + for (var i = 0; i < 10000; i++) { + testCase(obj.method(i), 'undefined-' + i, txtMsg + "#10"); + } +} + +var objFactory = function () { + return { + name : 'nested', + method : (index) => arguments[0] + '-' + index + }; +}; + +var objInternal = objFactory('ABC', 'DEF'); + +for (var i = 0; i < 10000; i++) { + testCase(objInternal.method(i), 'ABC-' + i, txtMsg + "#11"); +} + +var af_block_scope = function (first, x, y) { + let arr; + if (first) { + let arguments = 'branch-1'; + arr = () => arguments; + } else { + let arguments = 'branch-2'; + arr = () => { + if (true) { + let arguments = 'internal-arrow-block-scope'; + return arguments; + } + }; + } + return arr; +}; + +var af_function_scope = function (first, x, y) { + let arr; + var arguments = 'af_function_scope'; + if (first) { + arr = () => arguments; + } else { + arr = () => { + var arguments = 'internal-arrow-scope'; + return arguments; + }; + } + return arr; +}; + +var af_mixed_scope = function (first, x, y) { + let arr; + var arguments = 'af_mixed_scope'; + if (first) { + let arguments = 'local-scope'; + arr = () => arguments; + } else { + let arguments = 'local-scope-2'; + arr = () => { + let arguments = 'internal-arrow-scope'; + return arguments; + }; + } + return arr; +}; + +for (var i = 0; i < 10000; i++) { + testCase(af_block_scope(true, 'A', 'B')('C'), 'branch-1', txtMsg + "#12"); + testCase(af_block_scope(false, 'A', 'B')('C'), 'internal-arrow-block-scope', txtMsg + "#12"); + testCase(af_function_scope(true, 'D', 'E')('F'), 'af_function_scope', txtMsg + "#13"); + testCase(af_function_scope(false, 'D', 'E')('F'), 'internal-arrow-scope', txtMsg + "#13"); + testCase(af_mixed_scope(true, 'G', 'H')('I'), 'local-scope', txtMsg + "#14"); + testCase(af_mixed_scope(false, 'G', 'H')('I'), 'internal-arrow-scope', txtMsg + "#14"); +} + +function foo() { + var x = (p) => eval(p); + return x; +} + +var foo_arr = foo('A', 'B'); + +for (var i = 0; i < 10000; i++) { + testCase(foo_arr('arguments[0]'), 'A', txtMsg + "#15"); + testCase(foo_arr('arguments[1]'), 'B', txtMsg + "#16"); +} + +function boo() { + return () => { + return () => { + return function () { + return () => arguments; + } + } + } +} + +for (var i = 0; i < 10000; i++) { + testCase(boo('A' + i)('B' + i)('D' + i)('E' + i)('G' + i)[0], 'E' + i, txtMsg + "#17"); +} + +var testValue = 'test-value'; + +function f_args () { + if (true) { + let someValue = ''; + if (true) { + let anotherValue = 'value'; + return () => () => () => arguments[0]; + } + } + + return () => 'no-value'; +} + +for (var i = 0; i < 10000; i++) { + let v = f_args(testValue, 'anotherValue')()()(); + testCase(v, testValue); +} + +function f_args_eval () { + if (true) { + let someValue = ''; + if (true) { + let anotherValue = 'value'; + return () => () => () => eval('arguments[0]'); + } + } + + return () => 'no-value'; +} + +for (var i = 0; i < 10000; i++) { + let v = f_args_eval(testValue, 'anotherValue')()()(); + testCase(v, testValue); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js new file mode 100644 index 0000000000..1b64135cbf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-non-strict-2.js @@ -0,0 +1,100 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var txtMsg = 'Error: arguments is not lexically binded inside of the arrow function '; +var text_value = 'function_global_scope'; +var arguments = text_value; + +var arr = a => arguments; + +noInline(arr); + +for (let i=0; i<10000; i++) { + let value = arr(i); + + testCase(value, text_value, txtMsg + "#1"); +} + +function afFactory0() { + return a => arguments; +} + +var af0 = afFactory0('ABC', 'DEF'); + +noInline(af0); + +for (var i=0; i<10000; i++) { + var arr = af0(i); + + testCase(arr.length, 2, txtMsg + "#2"); + testCase(arr[0],'ABC', txtMsg + "#3"); + testCase(arr[1],'DEF', txtMsg + "#4"); + testCase(typeof arr[2], 'undefined', txtMsg + "#5"); +} + +var innerUseStrict = function () { + 'use strict'; + var createArrow = function (a, b, c) { + return (x, y) => arguments[0] + arguments[1] + arguments[2] + x + y; + }; + + let af = createArrow('A', 'B', 'C'); + noInline(af); + + for (var i=0; i<10000; i++) { + let arr = af('D', 'E'); + testCase(arr, 'ABCDE', txtMsg + "#6"); + } +}; + +innerUseStrict(); + +var obj = function (value) { + this.id = value; +}; + +var arr_nesting = () => () => () => new obj('data'); + +for (var i=0; i<10000; i++) { + testCase(arr_nesting()()().id, 'data'); +} + +class A { + constructor() { + this.list = []; + } +}; + +class B extends A { + addObj(obj) { + this.list.push(obj); + this.result = 0; + } + runAll() { + for (let i = 0; i < this.list.length; i++) { + this.result += this.list[i].operand(1); + } + } +}; + +function test() { + let b = new B(); + + function runTest () { + b.addObj({ operand : (value) => value + value }); + b.addObj({ operand : (value) => value + value }); + } + + for (var i = 0; i < 10000; i++) { + runTest(); + } + + b.runAll(); + + testCase(b.result, 40000, txtMsg + "#7"); +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-strict.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-strict.js new file mode 100644 index 0000000000..86ffeff07a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-arguments-strict.js @@ -0,0 +1,169 @@ +'use strict' +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var txtMsg = 'Error: arguments is not lexically binded inside of the arrow function in strict mode'; +var text_value = 'function_global_scope'; + +function afFactory0() { + return a => arguments; +} + +var af0 = afFactory0('ABC', 'DEF'); + +noInline(af0); + +for (var i=0; i<10000; i++) { + let args = af0(i); + + testCase(args.length, 2, txtMsg + "#2"); + testCase(args[0], 'ABC', txtMsg + "#3"); + testCase(args[1], 'DEF', txtMsg + "#4"); + testCase(typeof args[2], 'undefined', txtMsg + "#5"); +} + +for (var i=0; i<10000; i++) { + let args = af0.call(this, i); + + testCase(args.length, 2, txtMsg + "#2"); + testCase(args[0], 'ABC', txtMsg + "#3"); + testCase(args[1], 'DEF', txtMsg + "#4"); + testCase(typeof args[2], 'undefined', txtMsg + "#5"); +} + +for (var i=0; i<10000; i++) { + var args = af0.apply(this, [i]); + + testCase(args.length, 2, txtMsg + "#2"); + testCase(args[0], 'ABC', txtMsg + "#3"); + testCase(args[1], 'DEF', txtMsg + "#4"); + testCase(typeof args[2], 'undefined', txtMsg + "#5"); +} + +var innerUseStrict = function () { + var createArrow = function (a, b, c) { + return (x, y) => arguments[0] + arguments[1] + arguments[2] + x + y; + }; + + let af = createArrow('A', 'B', 'C'); + noInline(af); + + for (var i=0; i<10000; i++) { + let args = af('D', 'E'); + testCase(args, 'ABCDE', txtMsg + "#6"); + } +}; + +innerUseStrict(); + +var obj = function (value) { + this.id = value; +}; + +var arr_nesting = () => () => () => new obj('data'); + +for (var i=0; i<10000; i++) { + testCase(arr_nesting()()().id, 'data'); +} + +function foo() { + var x = (p) => eval(p); + return x; +} + +var foo_arr = foo('A', 'B'); + +for (var i = 0; i < 10000; i++) { + testCase(foo_arr('arguments[0]'), 'A', txtMsg + "#15"); + testCase(foo_arr('arguments[1]'), 'B', txtMsg + "#16"); +} + +function boo() { + return () => { + return () => { + return function () { + return () => arguments; + } + } + } +} + +for (var i = 0; i < 10000; i++) { + testCase(boo('A' + i)('B' + i)('D' + i)('E' + i)('G' + i)[0], 'E' + i, txtMsg + "#17"); +} + +class A { + constructor() { + this.list = []; + } +}; + +class B extends A { + addObj(obj) { + this.list.push(obj); + this.result = 0; + } + runAll() { + for (let i = 0; i < this.list.length; i++) { + this.result += this.list[i].operand(1); + } + } +}; + +function test() { + let b = new B(); + + function runTest () { + b.addObj({ operand : (value) => value + value }); + b.addObj({ operand : (value) => value + value }); + } + + for (var i = 0; i < 10000; i++) { + runTest(); + } + + b.runAll(); + + testCase(b.result, 40000, txtMsg + "#18"); +} + +test(); + +var testValue = 'test-value'; + +function f_args () { + if (true) { + let someValue = ''; + if (true) { + let anotherValue = 'value'; + return () => () => () => arguments[0]; + } + } + + return () => 'no-value'; +} + +for (var i = 0; i < 10000; i++) { + let v = f_args(testValue, 'anotherValue')()()(); + testCase(v, testValue); +} + +function f_args_eval () { + if (true) { + let someValue = ''; + if (true) { + let anotherValue = 'value'; + return () => () => () => eval('arguments[0]'); + } + } + + return () => 'no-value'; +} + +for (var i = 0; i < 10000; i++) { + let v = f_args_eval(testValue, 'anotherValue')()()(); + testCase(v, testValue); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-newtarget.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-newtarget.js new file mode 100644 index 0000000000..6364017826 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-newtarget.js @@ -0,0 +1,194 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function getTarget(name) { + return x => new.target; +} + +noInline(getTarget) + +for (var i=0; i < 1000; i++) { + var undefinedTarget = getTarget()(); + testCase(undefinedTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #1.0"); +} + +for (var i = 0; i < 1000; i++) { + var newTarget = new getTarget()(); + testCase(newTarget, getTarget, "Error: new.target is not lexically binded inside of the arrow function #2.0"); +} + +function getTargetWithBlock(name) { + return x => { + if (false) + return new.target; + else + return new.target; + } +} + +noInline(getTargetWithBlock); + +for (var i=0; i < 1000; i++) { + var undefinedTarget = getTargetWithBlock()(); + testCase(undefinedTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #1.1"); +} + +for (var i = 0; i < 1000; i++) { + var newTarget = new getTargetWithBlock()(); + testCase(newTarget, getTargetWithBlock, "Error: new.target is not lexically binded inside of the arrow function #2.1"); +} + +var passed = false; +var A = class A { + constructor() { + this.idValue = 123; + passed = passed && new.target === B; + } +}; + +var B = class B extends A { + constructor() { + var f = () => { + passed = new.target === B; + super(); + }; + f(); + } +}; + +for (var i = 0; i < 1000; i++) { + passed = false; + var b = new B(); + + testCase(passed, true, "Error: new.target is not lexically binded inside of the arrow function in constructor #3"); +} + +// newTargetLocal - is hidden variable that emited for arrow function +var C = class C extends A { + constructor(tryToAccessToVarInArrow) { + var f = () => { + super(); + if (tryToAccessToVarInArrow) + this.id2 = newTargetLocal; + }; + + f(); + + if (!tryToAccessToVarInArrow) + this.id = newTargetLocal; + } +}; + +var tryToCreateClass = function (val) { + var result = false; + try { + new C(val); + } + catch (e) { + result = e instanceof ReferenceError; + } + + return result; +}; + +for (var i = 0; i < 1000; i++) { + testCase(tryToCreateClass(true), true, "Error: newTargetLocal should be hided variable"); + testCase(tryToCreateClass(false), true, "Error: newTargetLocal should be hided variable"); +} + +function getTargetBlockScope() { + if (true) { + let someValue = ''; + if (true) + return x => new.target; + } + return ()=>value; +} + +for (var i = 0; i < 1000; i++) { + var undefinedTarget = getTargetBlockScope()() + testCase(undefinedTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #4"); +} + +class D { + getNewTarget() { + var arr = () => { + if (false) { + return new.target; + } else { + return new.target; + } + } + return arr(); + } +}; + +class E extends D { + getParentNewTarget() { + return super.getNewTarget(); + } +} + +var e = new E(); + +for (var i = 0; i < 1000; i++) { + var parentNewTarget = e.getParentNewTarget(); + testCase(parentNewTarget, undefined, "Error: new.target is not lexically binded inside of the arrow function #5"); +} + + +class F { + constructor() { + let c; + eval('c=(()=>new.target===F)()'); + this.result = c; + } + getNewTargetFromEval() { + return eval('(()=>new.target===F)()'); + } +} + +var f = new F(); + +testCase(f.result, true, "Error: new.target is not lexically binded inside of the arrow function #6"); +testCase(f.getNewTargetFromEval(), false, "Error: new.target is not lexically binded inside of the arrow function #7"); + +class G extends A { + constructor() { + var arr; + super(); + eval('arr = () => new.target'); + this.arrow = arr; + } +} + +let g = new G(); + +testCase(g.arrow(), G, "Error: new.target is not lexically binded inside of the arrow function #8"); + +class H extends A { + constructor() { + var arr; + super(); + eval('arr = () => eval("(() => new.target)()")'); + this.arrow = arr; + } +} + +let h = new H(); + +testCase(h.arrow(), H, "Error: new.target is not lexically binded inside of the arrow function #9"); + +class J extends A { + constructor() { + super(); + this.result = eval('eval("(() => new.target)()")'); + } +} + +let j = new J(); + +testCase(j.result, J, "Error: new.target is not lexically binded inside of the arrow function #10"); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-1.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-1.js new file mode 100644 index 0000000000..c247147dfd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-1.js @@ -0,0 +1,67 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var testValue = 'test-value'; + +var A = class A { + constructor() { + this.idValue = testValue; + } +}; + +var B = class B extends A { + constructor (inArrowFuction, inConstructor) { + var arrow = () => { + if (inArrowFuction) { + super(); + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } + } + + if (inArrowFuction) + arrow(); + + if (inConstructor) + super(); + + testCase(this.idValue, testValue, "Error: arrow function should return this to constructor"); + } +}; + +for (var i = 0; i < 1000; i++) { + new B(true, false); + new B(false, true); +} + +var testException = function (value1, value2, index) { + var exception; + try { + new B(value1, value2); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a reference error"; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + index; +} + +for (var i=0; i < 1000; i++) { + testException(false, false, i); +} + +var C = class C extends A { + constructor() { + eval("var x = 20"); + super(); + let f = () => this; + let xf = f(); + xf.id = 'test-id'; + } +}; + +var c = new C(); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-2.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-2.js new file mode 100644 index 0000000000..83c8e37777 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-2.js @@ -0,0 +1,176 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var testValue = 'test-value'; + +var A = class A { + constructor() { + this.idValue = testValue; + } +}; + +var B = class B extends A { + constructor (inArrowFuction, inConstructor, setProtoToNull) { + var arrow = () => () => () => { + if (inArrowFuction) { + super(); + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } + }; + + if (inArrowFuction) + arrow()()(); + + if (inConstructor) + super(); + + testCase(this.idValue, testValue, "Error: arrow function should return this to constructor"); + } +}; + +for (var i=0; i < 1000; i++) { + new B(true, false); + new B(false, true); +} + +var testException = function (index) { + var exception; + try { + new B(false, false); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a correct error. Expected ReferenceError but was " + e.name; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration #" + index; +} + +for (var i = 0; i < 1000; i++) { + testException(i, ReferenceError); +} + +var C = class C extends A { + constructor () { + var arrow = () => { + let __proto__ = 'some-text'; + var arr = () => { + testCase(typeof __proto__, 'string', "Erorr: __proto__ variable has wrong type"); + super(); + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + }; + arr(); + }; + + arrow(); + + testCase(this.idValue, testValue, "Error: arrow function should return this to constructor"); + } +}; + +for (var i = 0; i < 1000; i++) { + new C(); +} + +class D extends A { + constructor(doReplaceProto) { + var arrow = () => super(); + if (doReplaceProto) + D.__proto__ = function () {}; + arrow(); + } +} + +testCase((new D(false)).idValue, testValue, "Error: arrow function bound wrong super"); +testCase(typeof (new D(true)).idValue, "undefined" , "Error: arrow function bound wrong super"); + +class E extends A { + constructor(doReplaceProto) { + var arrow = () => { + if (doReplaceProto) + E.__proto__ = function () {}; + super(); + }; + + arrow(); + } +} + +testCase((new E(false)).idValue, testValue, "Error: arrow function bound wrong super #1"); +testCase(typeof (new E(true)).idValue, "undefined" , "Error: arrow function bound wrong super #1"); + + +class F extends A { + constructor(doReplaceProto) { + var arrow = () => { + F.__proto__ = null; + super(); + }; + + arrow(); + } +} + +var testTypeErrorException = function (index) { + var exception; + try { + new F(); + } catch (e) { + exception = e; + if (!(e instanceof TypeError)) + throw "Exception thrown was not a correct error. Expected TypeError but was " + e.name; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration #" + index; +} + +for (var i = 0; i < 1000; i++) { + testTypeErrorException(i); +} + +var errorStack; + +var ParentClass = class ParentClass { + constructor() { + try { + this.idValue = testValue; + throw new Error('Error'); + } catch (e) { + errorStack = e.stack; + } + } +}; + +var ChildClass = class ChildClass extends ParentClass { + constructor () { + var arrowInChildConstructor = () => { + var nestedArrow = () => { + super(); + } + + nestedArrow(); + }; + + arrowInChildConstructor(); + } +}; + +for (var i = 0; i < 1000; i++) { + errorStack = ''; + let c = new ChildClass(); + + let parentClassIndexOf = errorStack.indexOf('ParentClass'); + let nestedArrowIndexOf = errorStack.indexOf('nestedArrow'); + let arrowInChildConstructorIndexOf = errorStack.indexOf('arrowInChildConstructor'); + let childClassIndexOf = errorStack.indexOf('ChildClass'); + + testCase(parentClassIndexOf > -1 && errorStack.indexOf('ParentClass', parentClassIndexOf + 1) === -1, true, "Error: stack of error should contain ParentClass text"); + testCase(nestedArrowIndexOf > -1 && errorStack.indexOf('nestedArrow', nestedArrowIndexOf + 1) === -1, true, "Error: stack of error should contain nestedArrow text"); + testCase(arrowInChildConstructorIndexOf > -1 && errorStack.indexOf('arrowInChildConstructor', arrowInChildConstructorIndexOf + 1) === -1, true, "Error: stack of error should contain arrowInChildConstructor text"); + testCase(childClassIndexOf > -1 && errorStack.indexOf('ChildClass', childClassIndexOf + 1) === -1, true, "Error: stack of error should contains ChildClass text"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-3.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-3.js new file mode 100644 index 0000000000..6fbb6d5acb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-3.js @@ -0,0 +1,52 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var testValue = 'test-value'; + +var A = class A { + constructor() { + this.idValue = testValue; + } +}; + +var B = class B extends A { + constructor (beforeSuper) { + var arrow = () => eval('(() => this.idValue)()'); + + if (beforeSuper) { + var result = arrow(); + super(); + testCase(result, testValue, "Error: has to be TDZ error"); + } else { + super(); + let result= arrow(); + testCase(result, testValue, "Error: super() should create this and put value into idValue property"); + } + } +}; + +for (var i = 0; i < 1000; i++) { + var b = new B(false); +} + +var testException = function (value, index) { + var exception; + try { + new B(value); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a reference error"; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration #" + index; +} + + +for (var i = 0; i < 1000; i++) { + testException(true, i); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-4.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-4.js new file mode 100644 index 0000000000..fb887c26ae --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-supercall-4.js @@ -0,0 +1,198 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var testValue = 'test-value'; +var testIdValue = 'test-id-value'; + +var A = class A { + constructor() { + this.idValue = testValue; + } +}; + +var B = class B extends A { + constructor (beforeSuper) { + + var arrow = () => eval('(() => super())()'); + + if (beforeSuper) { + arrow(); + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } else { + testCase(this.idValue, testValue, "Error: has to be TDZ error"); + arrow(); + } + } +}; + +var C = class C extends A { + constructor () { + var arrow = () => eval('(() => super())()'); + arrow(); + return { + value : 'constructor-value' + }; + } +}; + +var D = class D extends A { + constructor () { + var arrow = () => eval('(() => super())()'); + arrow(); + eval('this.id="new-value"'); + } +}; + +var E = class E extends A { + constructor () { + var arrow = () => eval("eval('(() => super())()')"); + arrow(); + eval('eval("this.id=\'new-value\'")'); + } +}; + + +for (var i=0; i < 1000; i++) { + new B(true); + var c = new C(); + testCase(c.value, 'constructor-value', 'Error during set value in eval #1.0'); + testCase(typeof c.id, 'undefined', 'Error during set value in eval #1.1'); + var d = new D(); + testCase(d.idValue, testValue, 'Error during set value in eval #2.0'); + testCase(d.id, 'new-value', 'Error during set value in eval #2.1'); + var e = new E(); + testCase(e.idValue, testValue, 'Error during set value in eval #3.0'); + testCase(e.id, 'new-value', 'Error during set value in eval #3.0'); +} + +var testException = function (Klass, value, index) { + var exception; + try { + new Klass(value); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a reference error"; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration #" + index; +} + +for (var i=0; i < 1000; i++) { + testException(B, false, i); +} + +class F extends A { + constructor() { + var arr_after = () => { + this.idValue = 'this-value'; + }; + var arr_before = () => { + return 'not-some-value'; + }; + arr_before(); + super(); + arr_after(); + } +} + +let f = new F(); +testCase(f.idValue, 'this-value', 'Error: not correct binding of this in constructor'); + +class G extends A { + constructor() { + var arr_simple = () => { + return 'not-some-value'; + }; + var arr_super = () => { + super(); + }; + arr_simple(); + arr_super(); + } +} + +let g = new G(); +testCase(g.idValue, testValue, 'Error: not correct binding super&this in constructor'); + +class A_this_Prop extends A { + getValue () { + return this.idValue; + } +} + +class H extends A_this_Prop { + constructor() { + var arr_simple = () => { + return 'not-some-value'; + }; + var arr_super = () => { + super(); + }; + var arr_value = () => super.getValue(); + arr_simple(); + arr_super(); + this.someValue = arr_value(); + } +} + +let h = new H(); +testCase(h.someValue, testValue, 'Error: not correct binding superProperty&this in constructor'); + +class I extends A { + constructor (beforeSuper) { + if (beforeSuper) { + eval('(() => super())()'); + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } else { + this.idValue = 'testValue'; + eval('(() => super())()'); + } + } +}; + +let ic = new I(true); +testCase(ic.idValue, testValue, 'Error: not correct binding superProperty&this in constructor'); + +for (var i=0; i < 1000; i++) { + testException(I, false, i); +} + +class J extends A { + constructor (beforeSuper) { + if (beforeSuper) { + const arr = () => { eval('super()'); this._id = testIdValue; }; + arr(); + } + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } +}; + +let jc = new J(true); +testCase(jc.idValue, testValue, 'Error: not correct binding superProperty&this in constructor'); + +for (var i=0; i < 1000; i++) { + testException(J, false, i); +} + +class K extends A { + constructor (beforeSuper) { + if (beforeSuper) { + const arr = () => { (() => () => eval('super()'))()(); (() => { this._id = testIdValue; })(); }; + arr(); + } + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } +}; + +let kc = new K(true); +testCase(kc.idValue, testValue, 'Error: not correct binding superProperty&this in constructor'); + +for (var i=0; i < 1000; i++) { + testException(K, false, i); +} + diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-superproperty.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-superproperty.js new file mode 100644 index 0000000000..9635c4eebc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-superproperty.js @@ -0,0 +1,290 @@ +//@ defaultNoNoLLIntRun if $architecture == "arm" + +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var testValue = 'test-value'; + +var A = class A { + constructor() { + this.value = testValue; + } + getConstValue () { + return testValue; + } + getValue () { + return this.value; + } + setValue (value) { + this.value = value; + } +}; + +var B = class B extends A { + getParentValue() { + var arrow = () => super.getValue(); + return arrow(); + } +}; + +var C = class C { + constructor() { + this.value = testValue; + } + static getStaticValue() { + return testValue; + } +}; + +var D = class D extends C { + static getParentStaticValue() { + var arrow = () => super.getStaticValue(); + return arrow(); + } +}; + +var E = class E extends A { + constructor() { + super(); + } + get prop() { + var arrow = () => super.getConstValue() + '-' + this.value; + return arrow(); + } + set prop(value) { + var arrow = (newVal) => super.setValue(newVal); + arrow(value); + } + setInitValue() { + this.value = testValue; + } + }; + +var b = new B(); +for (var i = 0; i < 10000; i++) { + testCase(b.getParentValue(), testValue, i); +} + +for (var i = 0; i < 10000; i++) { + testCase(D.getParentStaticValue(), testValue, i); +} + +var e = new E(); +for (var i = 0; i < 10000; i++) { + e.setInitValue(); + testCase(e.prop, testValue+'-'+testValue, i); + e.prop = 'new-test-value'; + testCase(e.prop, testValue+'-new-test-value', i); +} + +var F = class F extends A { + newMethod() { + var arrow = () => eval('super.getValue()'); + var r = arrow(); + return r; + } +}; + +var f = new F(); +for (var i=0; i < 10000; i++) { + try { + var result = f.newMethod(); + testCase(result, testValue, i); + } catch(e) { + if (!(e instanceof SyntaxError)) + throw e; + } +} + +var G = class G extends A { + constructor() { + super(); + } + get prop() { + var arrow = () => () => super.getConstValue() + '-' + this.value; + return arrow()(); + } + set prop(value) { + var arrow = () => (newVal) => this.value = newVal; + arrow()(value); + } + setInitValue() { + this.value = testValue; + } + getValueCB() { + var arrow = () => super.getValue(); + return arrow; + } + setValueCB() { + var arrow = (newVal) => this.value = newVal; + return arrow; + } + getParentValue() { + return super.getValue(); + } + + getValueBlockScope() { + if (true) { + var someValue =''; + if (true) { + return () => { + if (true) { + let internalValue = ''; + return super.getValue(); + } + } + } + } + } + *genGetParentValue() { + let arr = () => super.getValue(); + yield arr(); + } + *genGetParentValueDeepArrow() { + let arr = () => () => () => super.getValue(); + yield arr()()(); + } + }; + + var g = new G(); + for (var i = 0; i < 10000; i++) { + g.setInitValue(); + testCase(g.prop, testValue + '-' + testValue, 'Error: Some problem with using arrow and "super" inside of the method'); + g.prop = 'new-test-value'; + testCase(g.prop, testValue + '-new-test-value', 'Error: Some problem with using arrow and "super" inside of the getter and setter'); + } + +var g1 = new G(); +for (var i = 0; i < 10000; i++) { + g1.setInitValue(); + let getValue = g1.getValueCB(); + testCase(getValue(), testValue, 'Error: Some problem with using arrow and "super" inside of the method that retun arrow function'); + let setValue = g1.setValueCB(); + setValue('new-value'); + testCase(getValue(), 'new-value', 'Error: Some problem with using arrow and "super" inside of the method that retun arrow function'); + getValue = g1.getValueBlockScope(); + testCase(getValue(), 'new-value', 'Error: Some problem with using arrow and "super" with deep nesting inside of the method that retun arrow function'); + testCase(g1.genGetParentValue().next().value, 'new-value', 'Error: Some problem with using arrow and "super" with deep nesting inside of the generator method that retun arrow function'); + testCase(g1.genGetParentValueDeepArrow().next().value, 'new-value', 'Error: Some problem with using arrow and "super" with deep nesting inside of the generator method that retun arrow function'); +} + +var H = class H extends A { + constructor() { + var arrow = () => () => super.getValue(); + super(); + this.newValue = arrow()(); + } +}; + +for (var i = 0; i < 10000; i++) { + let h = new H(); + testCase(h.newValue, testValue, 'Error: Some problem with using "super" inside of the constructor'); +} + +var I = class I extends A { + constructor (beforeSuper) { + var arrow = () => super.getValue(); + if (beforeSuper) { + this._value = arrow(); + super(); + } else { + super(); + this._value = arrow(); + } + } +} + +var J = class J extends A { + constructor (beforeSuper) { + var _value; + var arrow = () => super.getConstValue(); + if (beforeSuper) { + _value = arrow(); + super(); + } else { + super(); + _value = arrow(); + } + this._value = _value; + } +} + +for (var i = 0; i < 10000; i++) { + let i = new I(false); + testCase(i._value, testValue, 'Error: Some problem with using "super" inside of the constructor'); + let j = new J(false); + testCase(j._value, testValue, 'Error: Some problem with using "super" inside of the constructor'); + + // FIXME: Problem with access to the super before super() in constructor + // https://bugs.webkit.org/show_bug.cgi?id=152108 + //let j2 = new J(true); + //testCase(j2._value, testValue, 'Error: Some problem with using "super" inside of the constructor'); + error = false; + try { + new I(true); + } catch (e) { + error = e instanceof ReferenceError; + } + testCase(error, true, 'Error: using "super" property before super() should lead to error'); +} + +class K extends A { + newMethodArrowEval() { + var arrow = () => eval('super.getValue()'); + var r = arrow(); + return r; + } + newMethodArrowDoubleEval() { + var arrow = () => eval("eval('super.getValue()')"); + var r = arrow(); + return r; + } + newMethodArrowEvalEvalArrow() { + var arrow = () => eval("eval('(() => super.getValue())()')"); + var r = arrow(); + return r; + } + newMethodArrowEvalEvalArrowEval() { + var arrow = () => eval("eval('(() => eval(\"super.getValue()\"))()')"); + var r = arrow(); + return r; + } + newMethodEval() { + var r = eval("super.getValue()"); + return r; + } + newMethodEvalEval() { + var r = eval("eval('super.getValue()')"); + return r; + } + newMethodEvalArrow() { + var r = eval("(() => super.getValue())()"); + return r; + } + newMethodEvalEvalArrow() { + var r = eval("eval('(() => super.getValue())()')"); + return r; + } + newMethodEvalEvalArrowEval() { + var r = eval("eval('(() => eval(\"(super.getValue())\"))()')"); + return r; + } +} + +var k = new K(); + +for (var i = 0; i < 1000; i++) { + testCase(k.newMethodArrowEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #1'); + testCase(k.newMethodArrowDoubleEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #2'); + testCase(k.newMethodArrowEvalEvalArrow() , testValue, 'Error: Error in lexical bind with eval and arrow function #3'); + testCase(k.newMethodArrowEvalEvalArrowEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #4'); + + testCase(k.newMethodEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #5'); + testCase(k.newMethodEvalEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #6'); + testCase(k.newMethodEvalArrow() , testValue, 'Error: Error in lexical bind with eval and arrow function #7'); + testCase(k.newMethodEvalEvalArrow() , testValue, 'Error: Error in lexical bind with eval and arrow function 8'); + testCase(k.newMethodEvalEvalArrowEval() , testValue, 'Error: Error in lexical bind with eval and arrow function #9'); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-1.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-1.js new file mode 100644 index 0000000000..69cb8cd8ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-1.js @@ -0,0 +1,21 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function Dog(name) { + this.name = name; + this.getName = () => eval("this.name"); + this.getNameHard = () => eval("(() => this.name)()"); + this.getNameReallyHard = () => eval("eval('(() => this.name)()')"); +} + +noInline(Dog) + +for (var i=0;i<10000; i++) { + var d = new Dog("Max"); + testCase(d.getName(), d.name, "Error: this is not lexically binded inside of the arrow function #1"); + testCase(d.getNameHard(), d.name, "Error: this is not lexically binded inside of the arrow function #2"); + testCase(d.getNameReallyHard(), d.name, "Error: this is not lexically binded inside of the arrow function #3"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-2.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-2.js new file mode 100644 index 0000000000..83e90a86c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-2.js @@ -0,0 +1,92 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var functionConstructor = function () { + this.func = () => this; +}; + +var instance = new functionConstructor(); + +testCase(instance.func() === instance, true, "Error: this is not lexically binded inside of the arrow function #2"); + +var obj = { + method: function () { + return () => this; + } +}; + +noInline(obj.method); + +for (var i=0; i < 10000; i++) { + testCase(obj.method()() === obj, true, "Error: this is not lexically binded inside of the arrow function #3"); +} + +var fake = {steal: obj.method()}; +noInline(fake.steal); + +for (var i=0; i < 10000; i++) { + testCase(fake.steal() === obj, true, "Error: this is not lexically binded inside of the arrow function #4"); +} + +var real = {borrow: obj.method}; +noInline(real.borrow); + +for (var i=0; i < 10000; i++) { + testCase(real.borrow()() === real, true, "Error: this is not lexically binded inside of the arrow function #5"); +} + +// Force create the lexical env inside of arrow function + +var functionConstructorWithEval = function () { + this._id = 'old-value'; + this.func = () => { + var f; + eval('10==10'); + this._id = 'new-value'; + return this._id; + }; +}; + +var arrowWithEval = new functionConstructorWithEval(); + +for (var i=0; i < 10000; i++) { + testCase(arrowWithEval.func() === 'new-value', true, "Error: this is not lexically binded inside of the arrow function #6"); +} + +function foo() { + let arr = () => { + var x = 123; + function bas() { + return x; + }; + this._id = '12345'; + return bas(); + }; + this.arr = arr; +}; + +var fooObject = new foo(); + +function fooDefault() { + let arr = (that = this) => { + var x = 123; + function bas() { + return x; + }; + that._id = '12345'; + return bas(); + }; + this.arr = arr; +}; + +var fooDefaultObject = new fooDefault(); + +for (var i=0; i < 10000; i++) { + testCase(fooObject.arr() === 123, true, "Error: this is not lexically binded inside of the arrow function #7"); + testCase(fooObject._id === '12345', true, "Error: this is not lexically binded inside of the arrow function #8"); + testCase(fooDefaultObject.arr() === 123, true, "Error: this is not lexically binded inside of the arrow function #7"); + testCase(fooDefaultObject._id === '12345', true, "Error: this is not lexically binded inside of the arrow function #8"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-3.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-3.js new file mode 100644 index 0000000000..1019086d58 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-3.js @@ -0,0 +1,28 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + + +var obj = { name:'obj', method: function () { return (value) => this.name + "-name-" + value; }}; + +for (var i=0; i<10000; i++) { + testCase(obj.method()('test' + i.toString()), 'obj-name-test' + i.toString(), "Error: this is not lexically binded inside of the arrow function #1"); +} + +for (var i=0; i<10000; i++) { + var result1 = obj.method()('test' + i.toString()); + testCase(result1, 'obj-name-test' + i.toString(), "Error: this is not lexically binded inside of the arrow function #1"); +} + +obj.name='newObj'; + +for (var i=0; i<10000; i++) { + testCase(obj.method()('test' + i.toString()), 'newObj-name-test' + i.toString(), "Error: this is not lexically binded inside of the arrow function #5"); +} + +for (var i=0; i<10000; i++) { + var result2 = obj.method()('test' + i.toString()); + testCase(result2, 'newObj-name-test' + i.toString(), "Error: this is not lexically binded inside of the arrow function #5"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-4.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-4.js new file mode 100644 index 0000000000..85bd363e4e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-4.js @@ -0,0 +1,26 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + + +var obj = { + name:'obj', + internalObject: { + name :'internalObject', + method: function () { return (value) => this.name + "-name-" + value; } + } +}; + +noInline(obj.internalObject.method); + +for (var i=0; i<10000; i++) { + testCase(obj.internalObject.method()('test' + i.toString()), 'internalObject-name-test' + i.toString(), "Error: this is not lexically binded inside of the arrow function #1"); +} + +obj.internalObject.name='newInternalObject'; + +for (var i=0; i<10000; i++) { + testCase(obj.internalObject.method()('test' + i.toString()), 'newInternalObject-name-test' + i.toString(), "Error: this is not lexically binded inside of the arrow function #5"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-5.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-5.js new file mode 100644 index 0000000000..875494ce6b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-5.js @@ -0,0 +1,48 @@ +var sortedValues; + +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + + +var obj = { + arr: [1, 4, 6, 3, 7, 0], + bubbleSort: function () { + return () => { + var tmp; + var ar = this.arr.slice(); + var _length = ar.length + for (var i = 0; i < _length; i++) { + for (var j = i; j > 0; j--) { + if ((ar[j] - ar[j - 1]) < 0) { + tmp = ar[j]; + ar[j] = ar[j - 1]; + ar[j - 1] = tmp; + } + } + } + return ar; + } + } +}; + +noInline(obj.bubbleSort); + +for (var i=0; i<10000; i++) { + obj.arr = [1, 2, 4, 6, 3, 7, 0]; + testCase(obj.bubbleSort()().length, 7, "Error: this is not lexically binded inside of the arrow function #1"); + + var sortedValues = obj.bubbleSort()(); + testCase(sortedValues[0], 0, "Error: this is not lexically binded inside of the arrow function #6"); + testCase(sortedValues[6], 7, "Error: this is not lexically binded inside of the arrow function #7"); + + obj.arr = [1, 2, 4, 6, 5, 8, 21, 19, 0]; + + testCase(obj.bubbleSort()().length, 9, "Error: this is not lexically binded inside of the arrow function #8"); + + sortedValues = obj.bubbleSort()(); + testCase(sortedValues[1], 1, "Error: this is not lexically binded inside of the arrow function #12"); + testCase(sortedValues[8], 21, "Error: this is not lexically binded inside of the arrow function #13"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-6.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-6.js new file mode 100644 index 0000000000..c417bc7c8f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-6.js @@ -0,0 +1,24 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function Dog(name) { + this.name = name; + this.getName = () => this.name; + this.getNameNestingLevel1 = () => () => this.name; + this.getNameNestingLevel2 = () => () => () => this.name; +} + +var d = new Dog("Max"); + +noInline(d.getName()); +noInline(d.getNameNestingLevel1()()); +noInline(d.getNameNestingLevel2()()()); + +for (var i=0;i<10000; i++) { + testCase(d.getName(), d.name, "Error: this is not lexically binded inside of the arrow function #1"); + testCase(d.getNameNestingLevel1()(), d.name, "Error: this is not lexically binded inside of the arrow function #2"); + testCase(d.getNameNestingLevel2()()(), d.name, "Error: this is not lexically binded inside of the arrow function #3"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-7.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-7.js new file mode 100644 index 0000000000..2f76c9dd6d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-7.js @@ -0,0 +1,24 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var deepScope = function (x, y) { + var _x = x, _y = y; + return ()=> _x + _y + this.val; +}; + +var a = deepScope.call({val:'A'}, 'D', 'E'); +var b = deepScope.call({val:'B'}, 'D', 'F'); +var c = deepScope.call({val:'C'}, 'D', 'G'); + +var anotherScope = function (_af) { + return _af(); +}; + +for (var i = 0; i < 1000; i++) { + testCase(c(), anotherScope.call({val:'I'}, c), "Error: this is not lexically binded inside of the arrow function #1"); + testCase(b(), anotherScope.call({val:'J'}, b), "Error: this is not lexically binded inside of the arrow function #2"); + testCase(a(), anotherScope.call({val:'K'}, a), "Error: this is not lexically binded inside of the arrow function #3"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-8.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-8.js new file mode 100644 index 0000000000..8a497a008a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-bind-this-8.js @@ -0,0 +1,104 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +let testValue = 'test-value'; + +var f_this = function () { + let value = 'value'; + if (true) { + let someValue = 'someValue'; + if (true) { + let = anotherValue = 'value'; + return () => () => () => this.value; + } + } + + return () => value; +} + +for (let i = 0; i < 10000; i++) { + testCase(f_this.call({value : testValue})()()(), testValue); +} + +var f_this_eval = function () { + if (true) { + let someValue = ''; + if (true) { + let = anotherValue = 'value'; + return () => () => () => eval('this.value'); + } + } + + return () => 'no-value'; +} + +for (let i = 0; i < 10000; i++) { + testCase(f_this_eval.call({value : testValue}, false)()()(), testValue); +} + + +function f_this_branches (branch, returnThis) { + let value = 'value'; + if (branch === 'A') { + let someValue = 'someValue'; + if (true) { + let = anotherValue = 'value'; + return () => () => () => { + if (returnThis) + return this.value; + else + return anotherValue; + } + } + } + + return () => value; +} + +for (let i = 0; i < 10000; i++) { + testCase(f_this_branches.call({value : testValue}, 'B')() == testValue, false); + testCase(f_this_branches.call({value : testValue}, 'A', false)()()() == testValue, false); + testCase(f_this_branches.call({value : testValue}, 'A', true)()()(), testValue); +} + +function f_this_eval_branches (branch, returnThis) { + let value = 'value'; + if (branch === 'A') { + let someValue = 'someValue'; + if (true) { + let = anotherValue = 'value'; + return () => () => () => { + if (returnThis) + return eval('this.value'); + else + return anotherValue; + } + } + } + + return () => value; +} + +for (let i = 0; i < 10000; i++) { + testCase(f_this_eval_branches.call({value : testValue}, 'B')() == testValue, false); + testCase(f_this_eval_branches.call({value : testValue}, 'A', false)()()() == testValue, false); + testCase(f_this_eval_branches.call({value : testValue}, 'A', true)()()(), testValue); +} + +let self = this; + +let arrow = () => { + testCase(self, this, "Error: Wrong lexical bind of this"); +}; + +for (let i = 0; i < 10000; i++) { + arrow(); +} + + +for (let i = 0; i < 10000; i++) { + eval("let _self=this;(()=>testCase(self, this, 'Error: Wrong lexical bind of this in eval'))();"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink-osrexit.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink-osrexit.js new file mode 100644 index 0000000000..ad10a31d67 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink-osrexit.js @@ -0,0 +1,34 @@ +var n = 10000000; + +var newContext = { + id : 'new-context' +}; + +function bar() { } + +function foo(b) { + var result = 0; + var set = (x) => { + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function'; + result = x; + } + if (b) { + OSRExit(); + if (b) { + bar(set); + } + return result; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo.call(newContext, !(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink.js new file mode 100644 index 0000000000..ca430637c8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-activation-sink.js @@ -0,0 +1,38 @@ +var n = 10000000; + +var newContext = { + id : 'new-context' +}; + +function bar(f) { + if (this == newContext) + throw 'Wrong context of nesting function'; + f(10); +} + +function foo(b) { + var result = 0; + var set = (x) => { + result = x; + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function'; + }; + + if (b) { + bar(set); + if (result != 10) + throw "Error: bad: " + result; + return 0; + } + return result; +} + +noInline(bar); +noInline(foo); + +for (var i = 0; i < n; i++) { + var result = foo.call(newContext, !(i % 100)); + if (result != 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js new file mode 100644 index 0000000000..869e027139 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-no-double-allocate.js @@ -0,0 +1,37 @@ +var newContext = { + id : 'new-context' +}; + +function call(o) { o.x = 3; } +noInline(call); + +// Should be invoced by call with substitute this by newContext +function sink (p, q) { + var f = () => { + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function #1'; + }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink.call(newContext, true, false); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the arrow function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-osrexit.js new file mode 100644 index 0000000000..7ffcb3fa5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-osrexit.js @@ -0,0 +1,36 @@ +var newContext = { + id : 'new-context' +}; + +// Should be invoced by call with substitute this by newContext +function sink (p, q) { + var g = x => { + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function #1'; + return x; + }; + if (p) { if (q) OSRExit(); return g; } + return x => { + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function #2'; + return x; + }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink.call(newContext, true, false);// Substitute this + var result = f(42); + if (result != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink.call(newContext,true, true);// Substitute this +var result = f(42); +if (result != 42) + throw "Error: expected 42 but got " + result; diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-put.js b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-put.js new file mode 100644 index 0000000000..057ea07635 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-lexical-this-sinking-put.js @@ -0,0 +1,45 @@ +var newContext = { + id : 'new-context' +}; + +// Should be invoced by call with substitute this by newContext +function sink (p, q) { + var g = x => { + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function #1'; + + return x; + }; + if (p) { if (q) g.inner = 42; return g; } + return x => { + // Check if arrow function store context + if (this != newContext || this.id != newContext.id) + throw 'Wrong context of arrow function #2'; + + return x; + }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink.call(newContext, true, true);// use call to substitute context + var result = f(42); + if (result != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the arrow function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink.call(newContext, true, false); +var result = f(12); +if (result != 12) + // This shouldn't matter as it should be either correct or completely crash + throw "Error: expected 12 but got " + result; + +// Check that the allocation did not sink beyond the property assignment +var f = sink.call(newContext, true, true); +var result = f.inner; +if (result != 42) + throw "Error: inner should be 42 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-name.js b/implementation-contributed/javascriptcore/stress/arrowfunction-name.js new file mode 100644 index 0000000000..f4adfddcb9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-name.js @@ -0,0 +1,15 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +// Anonymous +assert((()=>{}).name === ""); + +// Inferred name with global variable. +f = () => {}; +assert(f.name === "f"); + +// Inferred name with variable declaration. +let lf = () => {}; +assert(lf.name === "lf"); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-others.js b/implementation-contributed/javascriptcore/stress/arrowfunction-others.js new file mode 100644 index 0000000000..59e7d9b015 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-others.js @@ -0,0 +1,27 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var simpleArrowFunction = () => {}; + +noInline(simpleArrowFunction); + +function truthy() { return true; } +function falsey() { return false; } +noInline(truthy); +noInline(falsey); + +for (var i=0;i<10000;i++) { + testCase(Object.getPrototypeOf(simpleArrowFunction), Function.prototype, "Error: Not correct getPrototypeOf value for arrow function"); + + testCase(simpleArrowFunction instanceof Function, true, "Error: Not correct result for instanceof method for arrow function"); + + testCase(simpleArrowFunction.constructor == Function, true, "Error: Not correct result for constructor method of arrow functio n"); + + let a1 = truthy() ? ()=>1 : ()=>2; + let a2 = falsey() ? ()=>2 : ()=>1; + testCase(a1(), 1, "Should be 1"); + testCase(a2(), 1, "should be 1"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-prototype.js b/implementation-contributed/javascriptcore/stress/arrowfunction-prototype.js new file mode 100644 index 0000000000..d56437e33c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-prototype.js @@ -0,0 +1,22 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var af1 = () => {}; +var af2 = (a) => {a + 1}; +var af3 = (x) => x + 1; + +noInline(af1); +noInline(af2); +noInline(af3); + +for (var i = 0; i < 10000; ++i) { + testCase(typeof af1.prototype, 'undefined', "Error: Not correct result for prototype of arrow function #1"); + testCase(typeof af2.prototype, 'undefined', "Error: Not correct result for prototype of arrow function #2"); + testCase(typeof af3.prototype, 'undefined', "Error: Not correct result for prototype of arrow function #5"); + testCase(af1.hasOwnProperty("prototype"), false, "Error: Not correct result for prototype of arrow function #3"); + testCase(af2.hasOwnProperty("prototype"), false, "Error: Not correct result for prototype of arrow function #4"); + testCase(af3.hasOwnProperty("prototype"), false, "Error: Not correct result for prototype of arrow function #6"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-run-10-1.js b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10-1.js new file mode 100644 index 0000000000..07a1f0a49c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10-1.js @@ -0,0 +1,24 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function run(count) { + var result = true; + for(var i=0; i this.name; + }; + + var obj = new Obj("Item" + i); + if (obj.name !== obj.getName()) { + result = false; + } + } + return result; +} + +testCase(run(1), true, "Error: Error: during execution of arrow function one time"); +testCase(run(10), true, "Error: Error: during execution of arrow function 10 times"); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-run-10-2.js b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10-2.js new file mode 100644 index 0000000000..5ddcdb3c70 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10-2.js @@ -0,0 +1,25 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function run(count) { + var result = true; + for(var i=0; i eval("this.name");; + }; + + + var obj = new Obj("Item" + i); + if (obj.name !== obj.getName()) { + result = false; + } + } + return result; +} + +testCase(run(1), true, "Error: during execution of arrow function one time"); +testCase(run(10), true, "Error: during execution of arrow function 10 times"); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-1.js b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-1.js new file mode 100644 index 0000000000..0e5f6bc86b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-1.js @@ -0,0 +1,23 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function run(count) { + var result = true; + for(var i=0; i this.name; + }; + + var obj = new Obj("Item" + i); + if (obj.name !== obj.getName()) { + result = false; + } + } + return result; +} + +testCase(run(10000), true, "Error: Error: during execution of arrow function 10000 times"); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-2.js b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-2.js new file mode 100644 index 0000000000..dc4271f4a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-run-10000-2.js @@ -0,0 +1,23 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +function run(count) { + var result = true; + for (var i=0; i eval("this.name");; + }; + + var obj = new Obj("Item" + i); + if (obj.name !== obj.getName()) { + result = false; + } + } + return result; +} + +testCase(run(10000), true, "Error: Error: during execution of arrow function 10000 times"); diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-no-double-allocate.js new file mode 100644 index 0000000000..d2862c628e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-no-double-allocate.js @@ -0,0 +1,28 @@ +function call(o) { o.x = 3; } +noInline(call); + +function sink (p, q) { + var f = () => { }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink(true, false); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-osrexit.js new file mode 100644 index 0000000000..727f3ca3bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-osrexit.js @@ -0,0 +1,21 @@ +function sink (p, q) { + var g = x => x; + if (p) { if (q) OSRExit(); return g; } + return x => x; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, false); + var result = f(42); + if (result != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +var result = f(42); +if (result != 42) + throw "Error: expected 42 but got " + result; diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-put.js b/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-put.js new file mode 100644 index 0000000000..8db70bb9ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-sinking-put.js @@ -0,0 +1,28 @@ +function sink (p, q) { + var g = x => x; + if (p) { if (q) g.inner = 42; return g; } + return x => x; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, true); + var result = f(42); + if (result != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink(true, false); +var result = f(12); +if (result != 12) + // This shouldn't matter as it should be either correct or completely crash + throw "Error: expected 12 but got " + result; + +// Check that the allocation did not sink beyond the property assignment +var f = sink(true, true); +var result = f.inner; +if (result != 42) + throw "Error: inner should be 42 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-1.js b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-1.js new file mode 100644 index 0000000000..8d4d9d439b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-1.js @@ -0,0 +1,31 @@ +var A = class A { }; +var B = class B extends A { + constructor(beforeSuper, returnThis) { + var f = () => returnThis ? this : {}; + if (beforeSuper) { + let val = f(); + super(); + } else { + super(); + let val = f(); + } + } +}; + +var exception = null; +for (var i=0; i < 10000; i++) { + try { + new B(true, true); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a reference error"; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration"; + + var a = new B(false, true); + var b = new B(false, false); + var c = new B(true, false); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-2.js b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-2.js new file mode 100644 index 0000000000..7afccafcb6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-2.js @@ -0,0 +1,32 @@ +var A = class A { }; +var B = class B extends A { + constructor(beforeSuper, returnThis) { + var f = () => returnThis ? (() => this ) : (()=>{}); + let af = f(); + if (beforeSuper) { + let result = af(); + super(); + } else { + super(); + let result = af(); + } + } +}; + +var exception = null; +for (var i = 0; i < 10000; i++) { + try { + new B(true, true); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a reference error"; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration"; + + var a = new B(false, true); + var b = new B(false, false); + var c = new B(true, false); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-3.js b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-3.js new file mode 100644 index 0000000000..ab98309f1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-3.js @@ -0,0 +1,177 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var A = class A { + constructor() { + this.id = 'A' + } +}; + +var B = class B extends A { + constructor(beforeSuper) { + var f = () => { + if (this.id === 'A') { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var C = class C extends A { + constructor(beforeSuper) { + var f = () => { + if (this > 5) { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var D = class D extends A { + constructor(beforeSuper) { + var f = () => { + if (this < 5) { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var E = class E extends A { + constructor(beforeSuper) { + var f = () => { + if (this !== 5) { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var F = class F extends A { + constructor(beforeSuper) { + var f = () => { + if (this <= 5) { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var G = class G extends A { + constructor(beforeSuper) { + var f = () => { + if (this >= 5) { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var G = class G extends A { + constructor(beforeSuper) { + var f = () => { + if (this === 5) { + return 'ok'; + } + return 'ok'; + }; + let val; + if (beforeSuper) { + val = f(); + super(); + } else { + super(); + val = f(); + } + this.res = val; + } +}; + +var tryToCreate = function (classForCreate) { + var result = false; + try { + new classForCreate(true); + } catch (e) { + result = e instanceof ReferenceError; + } + + return result; +} + +var check = function (classForCheck) { + testCase(tryToCreate(classForCheck), true, 'Exception wasn\'t thrown or was not a reference error'); + var result = new classForCheck(false); + testCase(result.res, 'ok', 'Error in setting id '); +} + +for (var i = 0; i < 10000; i++) { + check(B); + check(C); + check(D); + check(E); + check(F); + check(G); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-4.js b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-4.js new file mode 100644 index 0000000000..87c2927a1f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-tdz-4.js @@ -0,0 +1,46 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var testValue = 'test-value'; + +var A = class A { + constructor() { + this.idValue = testValue; + } +}; + +var B = class B extends A { + constructor (doRunSuper) { + var arrow = () => { + if (doRunSuper) { + super(); + testCase(this.idValue, testValue, "Error: super() should create this and put value into idValue property"); + } + } + + if (doRunSuper) { + arrow(); + testCase(this.idValue, testValue, "Error: arrow function should return this to constructor"); + } else { + var value = this.idValue;//force TDZ error + debug(value); + } + } +}; + +for (var i=0; i < 10000; i++) { + var exception; + try { + new B(false); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown was not a reference error"; + } + + if (!exception) + throw "Exception not thrown for an unitialized this at iteration #" + i; +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-tostring.js b/implementation-contributed/javascriptcore/stress/arrowfunction-tostring.js new file mode 100644 index 0000000000..6e949848e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-tostring.js @@ -0,0 +1,20 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var af1 = () => {}; +var af2 = (a) => { a + 1 }; +var af3 = x => x + 1; +var af4 = (x, y) => x + y; + +noInline(af1); +noInline(af2); + +for (var i = 0; i < 10000; ++i) { + testCase(af1.toString(), '() => {}', "Error: Not correct toString in arrow function #1"); + testCase(af2.toString(), '(a) => { a + 1 }', "Error: Not correct toString in arrow function #2"); + testCase(af3.toString(), 'x => x + 1', "Error: Not correct toString in arrow function #3"); + testCase(af4.toString(), '(x, y) => x + y', "Error: Not correct toString in arrow function #4"); +} diff --git a/implementation-contributed/javascriptcore/stress/arrowfunction-typeof.js b/implementation-contributed/javascriptcore/stress/arrowfunction-typeof.js new file mode 100644 index 0000000000..14c03c77dd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/arrowfunction-typeof.js @@ -0,0 +1,27 @@ +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +var af1 = () => {}; +var af2 = (a) => {a + 1}; + +noInline(af1); +noInline(af2); + +for (var i = 0; i < 10000; ++i) { + testCase(typeof af1, "function", "Error: Not correct type of the arrow function #1"); + testCase(typeof af2, "function", "Error: Not correct type of the arrow function #2"); + +//Fixme: Some bug in inlining typeof with following run parameters ftl-no-cjit-no-inline-validate +// --useFTLJIT\=true --useFunctionDotArguments\=true --useConcurrentJIT=false --thresholdForJITAfterWarmUp=100 --validateGraph=true --maximumInliningDepth=1 +// +// for (var i = 0; i < 10000; ++i) { +// if (typeof (function () {}) !== 'function') +// throw 'Wrong type'; +// } +// testCase(typeof ()=>{}, "function", "Error: Not correct type of the arrow function #3-" + i); + +// testCase(typeof ((b) => {b + 1}), "function", "Error: Not correct type of the arrow function #4"); +} diff --git a/implementation-contributed/javascriptcore/stress/assign-argument-in-inlined-call.js b/implementation-contributed/javascriptcore/stress/assign-argument-in-inlined-call.js new file mode 100644 index 0000000000..de2d0010ac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/assign-argument-in-inlined-call.js @@ -0,0 +1,27 @@ +function f1(a) { + return a[0]; +} + +function getF2Arguments() { + return f2.arguments; +} + +noInline(getF2Arguments); + +function f2(a) { + a = f1(getF2Arguments()); + return a; +} + +function f3(a) { + return f2(a); +} + +noInline(f3); + +for (var i = 0; i < 10000; ++i) { + var result = f3(42); + if (result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/assign-captured-argument-in-inlined-call.js b/implementation-contributed/javascriptcore/stress/assign-captured-argument-in-inlined-call.js new file mode 100644 index 0000000000..59912be84c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/assign-captured-argument-in-inlined-call.js @@ -0,0 +1,21 @@ +function f1(a) { + return a[0]; +} + +function f2(a) { + a = f1(arguments); + return a; +} + +function f3(a) { + return f2(a); +} + +noInline(f3); + +for (var i = 0; i < 10000; ++i) { + var result = f3(42); + if (result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/assignment-in-function-call-bracket-node.js b/implementation-contributed/javascriptcore/stress/assignment-in-function-call-bracket-node.js new file mode 100644 index 0000000000..54f70fefd6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/assignment-in-function-call-bracket-node.js @@ -0,0 +1,126 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +// Simple assignment (not FunctionCallBracketNode). + +shouldBe(function () { + var object = { + null: 'ok' + }; + + return object[object = null]; +}(), 'ok'); + +shouldBe(function (value) { + var object = { }; + object.null = 'ok'; + + return object[object = value]; +}(null), 'ok'); + +shouldBe(function () { + var object = { + null: 'ok' + }; + + return object['null']; +}(), 'ok'); + +shouldBe(function (value) { + var object = { }; + object.null = 'ok'; + + return object['null']; +}(null), 'ok'); + +shouldBe(function () { + var object = { + null: 'ok' + }; + + function fill() { + return object = null; + } + + return object[fill()]; +}(), 'ok'); + +shouldBe(function (value) { + var object = { }; + object.null = 'ok'; + + function fill() { + return object = value; + } + + return object[fill()]; +}(null), 'ok'); + +// FunctionCallBracketNode. + +shouldBe(function () { + var object = { + null: function () { + return 'ok'; + } + }; + + return object[object = null](); +}(), 'ok'); + +shouldBe(function (value) { + var object = { }; + object.null = function () { + return 'ok'; + }; + + return object[object = value](); +}(null), 'ok'); + +shouldBe(function () { + var object = { + null: function () { + return 'ok'; + } + }; + + return object['null'](); +}(), 'ok'); + +shouldBe(function (value) { + var object = { }; + object.null = function () { + return 'ok'; + }; + + return object['null'](); +}(null), 'ok'); + +shouldBe(function () { + var object = { + null: function () { + return 'ok'; + } + }; + + function fill() { + return object = null; + } + + return object[fill()](); +}(), 'ok'); + +shouldBe(function (value) { + var object = { }; + object.null = function () { + return 'ok'; + }; + + function fill() { + return object = value; + } + + return object[fill()](); +}(null), 'ok'); diff --git a/implementation-contributed/javascriptcore/stress/async-arrow-function-in-class-heritage.js b/implementation-contributed/javascriptcore/stress/async-arrow-function-in-class-heritage.js new file mode 100644 index 0000000000..3e5c94f3d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-arrow-function-in-class-heritage.js @@ -0,0 +1,25 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(`void class extends async()=>{} {}`, `SyntaxError: Unexpected token '=>'`); +testSyntaxError(`void class extends (async()=>{}) {}`, `TypeError: The value of the superclass's prototype property is not an object.`); diff --git a/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-arguments-binding.js b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-arguments-binding.js new file mode 100644 index 0000000000..052187e7be --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-arguments-binding.js @@ -0,0 +1,50 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ""; + else + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run, msg) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +function shouldThrowAsync(run, errorType, message) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (!hadError) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but did not throw."); + if (!(actual instanceof errorType)) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but threw '" + actual + "'"); + if (message !== void 0 && actual.message !== message) + throw new Error("Expected " + run + "() to throw '" + message + "', but threw '" + actual.message + "'"); +} + +var noArgumentsArrow = async () => await [...arguments]; +shouldThrowAsync(() => noArgumentsArrow(1, 2, 3), ReferenceError); +var noArgumentsArrow2 = async () => { return await [...arguments]; } +shouldThrowAsync(() => noArgumentsArrow2(1, 2, 3), ReferenceError); + +shouldBeAsync("[1,2,3]", () => (function() { return (async () => JSON.stringify([...arguments]))(); })(1, 2, 3)); +shouldBeAsync("[4,5,6]", () => (function() { return (async () => { return JSON.stringify([...await arguments]) })(); })(4, 5, 6)); + +(function testArgumentsBinding() { + var argsBinding; + var promise = (function() { argsBinding = arguments; return (async() => arguments)() })(1, 2, 3); + shouldBeAsync(argsBinding, () => promise); +})(); diff --git a/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-binding-in-class.js b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-binding-in-class.js new file mode 100644 index 0000000000..a4871d8bd9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-binding-in-class.js @@ -0,0 +1,264 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ""; + else + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual); +} + +class BaseWrongClass { + baseClassValue() { + return "wrong #1"; + } + get property() { + return "wrong #2"; + } +} + +function shouldBeAsyncAndStoreBind(expected, run) { + shouldBeAsync(expected, run); + shouldBeAsync(expected, run.bind({})); + shouldBeAsync(expected, run.bind(1)); + shouldBeAsync(expected, run.bind(undefined)); + const obj = { + property : 'wrong value #1', + baseClassValue : () => 'worng value #2' + }; + shouldBeAsync(expected, run.bind(obj)); + shouldBeAsync(expected, run.bind(new BaseWrongClass())); +} + +class BaseClass { + baseClassValue() { + return "BaseClassValue"; + } + get property() { + return "test!"; + } +} + +function runSomething(callback) { + callback(); +} + +class ChildClass extends BaseClass { + classValue() { + return "classValue"; + } + get classProperty() { + return "classProperty"; + } + asyncValueExp() { + return async x => 'value'; + } + asyncValueBody() { + return async x => { return 'value'; }; + } + asyncThisPropExp() { + return async x => this.classProperty; + } + asyncThisPropBody() { + return async x => { return this.classProperty; }; + } + asyncThisPropWithAwaitBody() { + return async x => { + var self = this.classProperty; + self = await 'abc'; + return this.classProperty; + }; + } + asyncThisPropInEvalExp() { + return async x => eval('this.classProperty'); + } + asyncThisPropInEvalBody() { + return async x => { return eval('this.classProperty'); }; + } + asyncThisPropInEvalWithAwaitBody() { + return async x => { + var self = eval('this.classProperty'); + await 'abc'; + return eval('this.classProperty'); + }; + } + asyncThisValueExp() { + return async x => this.classValue(); + } + asyncThisValueBody() { + return async x => { return this.classValue(); }; + } + asyncThisValueBodyWithAwait() { + return async x => { + var self = this.classValue(); + await 'self'; + return this.classValue(); + }; + } + asyncThisValueInEvalExp() { + return async x => eval('this.classValue()'); + } + asyncThisValueInEvalBody() { + return async x => { return eval('this.classValue()'); }; + } + asyncThisValueInEvalWithAwaitBody() { + return async x => { + var self = eval('this.classValue()'); + await 'self'; + return eval('this.classValue()'); + }; + } +} + +shouldBeAsyncAndStoreBind("value", new ChildClass().asyncValueExp()); +shouldBeAsyncAndStoreBind("value", new ChildClass().asyncValueBody()); + +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropExp()); +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropBody()); +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropWithAwaitBody()); +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropWithAwaitBody()); + +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropInEvalExp()); +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropInEvalBody()); +shouldBeAsyncAndStoreBind("classProperty", new ChildClass().asyncThisPropInEvalWithAwaitBody()); + +shouldBeAsyncAndStoreBind("classValue", new ChildClass().asyncThisValueExp()); +shouldBeAsyncAndStoreBind("classValue", new ChildClass().asyncThisValueBody()); +shouldBeAsyncAndStoreBind("classValue", new ChildClass().asyncThisValueBodyWithAwait()); + +shouldBeAsyncAndStoreBind("classValue", new ChildClass().asyncThisValueInEvalExp()); +shouldBeAsyncAndStoreBind("classValue", new ChildClass().asyncThisValueInEvalBody()); +shouldBeAsyncAndStoreBind("classValue", new ChildClass().asyncThisValueInEvalWithAwaitBody()); + +class ChildClass2 extends BaseClass { + constructor() { + super(); + this.value = 'internalValue'; + return async () => this.classValue() + ' ' + this.classProperty; + } + classStaticValue() { + return "classStaticValue"; + } + classValue() { + return this.value; + } + get classProperty() { + return "classProperty"; + } +} + +shouldBeAsyncAndStoreBind("internalValue classProperty", new ChildClass2()); + +class ChildClass3 extends BaseClass { + constructor() { + super(); + this.internalValue = 'internalValue'; + return async () => { + var self = this.classValue() + ' ' + this.classProperty; + await 'self'; + return this.classValue() + ' ' + this.classProperty; + } + } + classValue() { + return "classValue"; + } + get classProperty() { + return "classProperty"; + } +} + +shouldBeAsyncAndStoreBind("classValue classProperty", new ChildClass3()); + +var promiseHolder = {}; +var promise = new Promise((resolve, reject) => { + promiseHolder.resolve = resolve; + promiseHolder.reject = reject; +}); + +class ChildClass4 extends BaseClass { + constructor() { + var arr = async () => { + var doSomeStaff = () => {}; + doSomeStaff(); + await promise; + return this.classValue() + ' ' + this.classProperty; + }; + arr(); + super(); + this.internalValue = 'internalValue'; + return async () => { + await 'await'; + promiseHolder.resolve(); + return this.classValue() + ' ' + this.classProperty;; + }; + } + classValue() { + return "classValue"; + } + get classProperty() { + return "classProperty"; + } +} + +shouldBeAsyncAndStoreBind("classValue classProperty", new ChildClass4()); + +class ChildClass5 extends BaseClass { + constructor(result) { + const arr = async () => this.id; + arr().then(()=>{}, e => { result.error = e; }); + } +} + +class ChildClass6 extends BaseClass { + constructor(result) { + const arr = async () => { + let z = this.id; + }; + arr().then(()=>{}, e => { result.error = e; }); + super(); + } +} + +class ChildClass7 extends BaseClass { + constructor(result) { + const arr = async () => this.id; + arr().then(()=>{}, e => { result.error = e; }); + super(); + } +} + +class ChildClass8 extends BaseClass { + constructor(result) { + const arr = async () => { let i = this.id; super(); }; + arr().then(()=>{}, e => { result.error = e; }); + } +} + +function checkTDZDuringCreate(klass) { + let asyncError = {}; + try { + var c = new klass(asyncError); + } catch(e) { + // We do not care about this error + } + drainMicrotasks(); + const error = asyncError.error instanceof ReferenceError && asyncError.error.toString() === 'ReferenceError: Cannot access uninitialized variable.'; + if (!error) throw new Error('TDZ error is expected, but appeared:' + asyncError.error); +} + +checkTDZDuringCreate(ChildClass5); +checkTDZDuringCreate(ChildClass6); +checkTDZDuringCreate(ChildClass7); +checkTDZDuringCreate(ChildClass8); diff --git a/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-new.target-binding.js b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-new.target-binding.js new file mode 100644 index 0000000000..843a737717 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-new.target-binding.js @@ -0,0 +1,43 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ""; + else + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run, msg) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +function C1() { + return async () => await new.target; +} + +function C2() { + return async () => { return await new.target }; +} + +function C2WithAwait() { + return async () => { + var self = new.target; await new.target; + return new.target; + } +} + +shouldBeAsync(C1, new C1()); +shouldBeAsync(undefined, C1()); +shouldBeAsync(C2, new C2()); +shouldBeAsync(undefined, C2()); +shouldBeAsync(C2WithAwait, new C2WithAwait()); +shouldBeAsync(undefined, C2WithAwait()); diff --git a/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-super-binding.js b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-super-binding.js new file mode 100644 index 0000000000..abfde797b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-super-binding.js @@ -0,0 +1,206 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ""; + else + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run, msg) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +class BaseClass { + baseClassValue() { + return "BaseClassValue"; + } + get property() { + return "test!"; + } +} + +class ChildClass extends BaseClass { + asyncSuperProp() { + return async x => super.baseClassValue(); + } + asyncSuperProp2() { + return async x => { return super.baseClassValue(); } + } +} + +shouldBeAsync("BaseClassValue", new ChildClass().asyncSuperProp()); +shouldBeAsync("BaseClassValue", new ChildClass().asyncSuperProp2()); + +class ChildClass2 extends BaseClass { + constructor() { + return async (self = super()) => self.baseClassValue() + ' ' + super.property; + } +} + +shouldBeAsync("BaseClassValue test!", new ChildClass2()); + +var error = undefined; +var value = undefined; + +class A { + constructor() { + this._id = 'class-id'; + } +} + +const childA1 = new class extends A { + constructor() { + var f = async (a=super()) => { return 'abc'; } + f().then( val => {value = val; }, err => { error = err;}); + } +} + +drainMicrotasks(); + +shouldBe(childA1._id, 'class-id'); +shouldBe(value, 'abc'); +shouldBe(error, undefined); + +value = undefined; +error = undefined; + +const childA2 = new class extends A { + constructor() { + var f = async (a) => { super(); return 'abc'; } + f().then( val => {value = val; }, err => { error = err;}); + } +} + +drainMicrotasks(); + +shouldBe(childA2._id, 'class-id'); +shouldBe(value, 'abc'); +shouldBe(error, undefined); + +value = undefined; +error = undefined; + +const childA3 = new class extends A { + constructor() { + var f = async (a = super()) => { super(); return 'abc'; } + f().then( val => {value = val; }, err => { error = err;}); + } +} + +drainMicrotasks(); + +shouldBe(childA3._id, 'class-id'); +shouldBe(value, undefined); +shouldBe(error.toString(), 'ReferenceError: \'super()\' can\'t be called more than once in a constructor.'); + + +let childA4; +let catchError; +error = undefined; +try { + childA4 = new class extends A { + constructor() { + var f = async (a) => { await 'await value'; super(); return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } + } +} catch (err) { + catchError = err; +} + +drainMicrotasks(); + +shouldBe(childA4, undefined); +shouldBe(value, 'abc'); +shouldBe(error, undefined); +shouldBe(catchError.toString(), 'ReferenceError: Cannot access uninitialized variable.'); + +catchError = undefined; +error = undefined; +value = undefined; + +const childA5 = new class extends A { + constructor() { + var f = async (a) => { super(); await 'await value'; return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +} + +drainMicrotasks(); + +shouldBe(childA5._id, 'class-id'); +shouldBe(value, 'abc'); +shouldBe(error, undefined); +shouldBe(catchError, undefined); + +function checkClass(classSource) { + let base1 = undefined; + let error = undefined; + let value = undefined; + let catchError = undefined; + try { + base1 = eval(classSource); + + drainMicrotasks(); + } catch (err) { + catchError = err; + } + + shouldBe(base1, undefined); + shouldBe(value, undefined); + shouldBe(error, undefined); + shouldBe(catchError.toString(), 'SyntaxError: super is not valid in this context.'); +} + +checkClass(`new class { + constructor() { + var f = async (a) => { super(); return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +}`); + +checkClass(`new class { + constructor() { + var f = async (a) => { await 'p'; super(); return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +}`); + +checkClass(`new class { + constructor() { + var f = async (a) => { super(); await 'p'; return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +}`); + + +checkClass(`new class extends A { + method() { + var f = async (a) => { super(); return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +}`); + +checkClass(`new class extends A { + get prop() { + var f = async (a) => { super(); return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +}`); + +checkClass(`new class extends A { + set prop(_value) { + var f = async (a) => { super(); return 'abc'; } + f().then(val => { value = val; }, err => { error = err; }); + } +}`); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-this-binding.js b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-this-binding.js new file mode 100644 index 0000000000..3d06682b41 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-arrow-functions-lexical-this-binding.js @@ -0,0 +1,27 @@ +function shouldBe(expected, actual, msg) { + if (msg === void 0) + msg = ""; + else + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run, msg) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +var d = ({ x : "bar", y : function() { return async z => this.x + z; }}).y(); +var e = { x : "baz", y : d }; + +shouldBeAsync("barley", () => d("ley")); +shouldBeAsync("barley", () => e.y("ley")); diff --git a/implementation-contributed/javascriptcore/stress/async-await-basic.js b/implementation-contributed/javascriptcore/stress/async-await-basic.js new file mode 100644 index 0000000000..dfeefefb3c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-basic.js @@ -0,0 +1,348 @@ +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run, msg) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +function shouldThrow(run, errorType, message) { + let actual; + var hadError = false; + + try { + actual = run(); + } catch (e) { + hadError = true; + actual = e; + } + + if (!hadError) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but did not throw."); + if (!(actual instanceof errorType)) + throw new Error("Expeced " + run + "() to throw " + errorType.name + " , but threw '" + actual + "'"); + if (message !== void 0 && actual.message !== message) + throw new Error("Expected " + run + "() to throw '" + message + "', but threw '" + actual.message + "'"); +} + +function shouldThrowAsync(run, errorType, message) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (!hadError) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but did not throw."); + if (!(actual instanceof errorType)) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but threw '" + actual + "'"); + if (message !== void 0 && actual.message !== message) + throw new Error("Expected " + run + "() to throw '" + message + "', but threw '" + actual.message + "'"); +} + +function shouldThrowSyntaxError(str, message) { + try { + eval(str); + throw new Error("Expected `" + str + "` to throw a SyntaxError, but did not throw.") + } catch (e) { + if (e.constructor !== SyntaxError) + throw new Error("Expected `" + str + "` to throw a SyntaxError, but threw '" + e + "'"); + if (message !== void 0 && e.message !== message) + throw new Error("Expected `" + str + "` to throw SyntaxError: '" + message + "', but threw '" + e + "'"); + } +} + +// Do not install `AsyncFunction` constructor on global object +shouldBe(undefined, this.AsyncFunction); +let AsyncFunction = (async function() {}).constructor; + +// Let functionPrototype be the intrinsic object %AsyncFunctionPrototype%. +async function asyncFunctionForProto() {} +shouldBe(AsyncFunction.prototype, Object.getPrototypeOf(asyncFunctionForProto)); +shouldBe(AsyncFunction.prototype, Object.getPrototypeOf(async function() {})); +shouldBe(AsyncFunction.prototype, Object.getPrototypeOf(async () => {})); +shouldBe(AsyncFunction.prototype, Object.getPrototypeOf({ async method() {} }.method)); + +// FIXME: AsyncFunction constructor should build functions with correct prototype. +// shouldBe(AsyncFunction.prototype, Object.getPrototypeOf(AsyncFunction())); + +// AsyncFunctionCreate does not produce an object with a Prototype +shouldBe(undefined, asyncFunctionForProto.prototype); +shouldBe(false, asyncFunctionForProto.hasOwnProperty("prototype")); +shouldBe(undefined, (async function() {}).prototype); +shouldBe(false, (async function() {}).hasOwnProperty("prototype")); +shouldBe(undefined, (async() => {}).prototype); +shouldBe(false, (async() => {}).hasOwnProperty("prototype")); +shouldBe(undefined, ({ async method() {} }).method.prototype); +shouldBe(false, ({ async method() {} }).method.hasOwnProperty("prototype")); +shouldBe(undefined, AsyncFunction().prototype); +shouldBe(false, AsyncFunction().hasOwnProperty("prototype")); + +// AsyncFunction.prototype[ @@toStringTag ] +var descriptor = Object.getOwnPropertyDescriptor(AsyncFunction.prototype, Symbol.toStringTag); +shouldBe("AsyncFunction", descriptor.value); +shouldBe(false, descriptor.enumerable); +shouldBe(false, descriptor.writable); +shouldBe(true, descriptor.configurable); + +shouldBe(1, AsyncFunction.length); + +// Let F be ! FunctionAllocate(functionPrototype, Strict, "non-constructor") +async function asyncNonConstructorDecl() {} +shouldThrow(() => new asyncNonConstructorDecl(), TypeError); +shouldThrow(() => new (async function() {}), TypeError); +shouldThrow(() => new ({ async nonConstructor() {} }).nonConstructor(), TypeError); +shouldThrow(() => new (() => "not a constructor!"), TypeError); +shouldThrow(() => new (AsyncFunction()), TypeError); + +// Normal completion +async function asyncDecl() { return "test"; } +shouldBeAsync("test", asyncDecl); +shouldBeAsync("test2", async function() { return "test2"; }); +shouldBeAsync("test3", async () => "test3"); +shouldBeAsync("test4", () => ({ async f() { return "test4"; } }).f()); + +class MyError extends Error {}; + +// Throw completion +async function asyncDeclThrower(e) { throw new MyError(e); } +shouldThrowAsync(() => asyncDeclThrower("boom!"), MyError, "boom!"); +shouldThrowAsync(() => (async function(e) { throw new MyError(e); })("boom!!!"), MyError, "boom!!!"); +shouldThrowAsync(() => (async e => { throw new MyError(e) })("boom!!"), MyError, "boom!!"); +shouldThrowAsync(() => ({ async thrower(e) { throw new MyError(e); } }).thrower("boom!!!!"), MyError, "boom!!!!"); + +function resolveLater(value) { return Promise.resolve(value); } +function rejectLater(error) { return Promise.reject(error); } + +// Resume after Normal completion +var log = []; +async function resumeAfterNormal(value) { + log.push("start:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + return value + 1; +} + +shouldBeAsync(4, () => resumeAfterNormal(1)); +shouldBe("start:1 resume:2 resume:3", log.join(" ")); + +var O = { + async resumeAfterNormal(value) { + log.push("start:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + return value + 1; + } +}; +log = []; +shouldBeAsync(5, () => O.resumeAfterNormal(2)); +shouldBe("start:2 resume:3 resume:4", log.join(" ")); + +var resumeAfterNormalArrow = async (value) => { + log.push("start:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + return value + 1; +}; +log = []; +shouldBeAsync(6, () => resumeAfterNormalArrow(3)); +shouldBe("start:3 resume:4 resume:5", log.join(" ")); + +var resumeAfterNormalEval = AsyncFunction("value", ` + log.push("start:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + value = await resolveLater(value + 1); + log.push("resume:" + value); + return value + 1; +`); +log = []; +shouldBeAsync(7, () => resumeAfterNormalEval(4)); +shouldBe("start:4 resume:5 resume:6", log.join(" ")); + +// Resume after Throw completion +async function resumeAfterThrow(value) { + log.push("start:" + value); + try { + value = await rejectLater("throw1"); + } catch (e) { + log.push("resume:" + e); + } + try { + value = await rejectLater("throw2"); + } catch (e) { + log.push("resume:" + e); + } + return value + 1; +} + +log = []; +shouldBeAsync(2, () => resumeAfterThrow(1)); +shouldBe("start:1 resume:throw1 resume:throw2", log.join(" ")); + +var O = { + async resumeAfterThrow(value) { + log.push("start:" + value); + try { + value = await rejectLater("throw1"); + } catch (e) { + log.push("resume:" + e); + } + try { + value = await rejectLater("throw2"); + } catch (e) { + log.push("resume:" + e); + } + return value + 1; + } +} +log = []; +shouldBeAsync(3, () => O.resumeAfterThrow(2)); +shouldBe("start:2 resume:throw1 resume:throw2", log.join(" ")); + +var resumeAfterThrowArrow = async (value) => { + log.push("start:" + value); + try { + value = await rejectLater("throw1"); + } catch (e) { + log.push("resume:" + e); + } + try { + value = await rejectLater("throw2"); + } catch (e) { + log.push("resume:" + e); + } + return value + 1; +}; +log = []; +shouldBeAsync(4, () => resumeAfterThrowArrow(3)); +shouldBe("start:3 resume:throw1 resume:throw2", log.join(" ")); + +var resumeAfterThrowEval = AsyncFunction("value", ` + log.push("start:" + value); + try { + value = await rejectLater("throw1"); + } catch (e) { + log.push("resume:" + e); + } + try { + value = await rejectLater("throw2"); + } catch (e) { + log.push("resume:" + e); + } + return value + 1; +`); +log = []; +shouldBeAsync(5, () => resumeAfterThrowEval(4)); +shouldBe("start:4 resume:throw1 resume:throw2", log.join(" ")); + +var awaitEpression = async (value) => { + log.push("start:" + value); + if (!await false) + log.push('step 1'); + var t = ~await true; + log.push('step 2 ' + t); + + var t1 = +await Promise.resolve(12345); + log.push('step 3 ' + t1); + + var t2 = -await 54321; + log.push('step 4 ' + t2); + + var t3 = !!!!!await Promise.resolve(true); + log.push('step 5 ' + t3); + + try { + var t4 = ++await 1; + } catch(e) { + if (e instanceof ReferenceError) { + log.push('step 6 '); + } + } + + try { + var t5 = --await 1; + } catch(e) { + if (e instanceof ReferenceError) { + log.push('step 7'); + } + } + + return void await 'test'; +}; +log = []; + +shouldBeAsync(undefined, () => awaitEpression(5)); +shouldBe("start:5 step 1 step 2 -2 step 3 12345 step 4 -54321 step 5 false step 6 step 7", log.join(" ")); + +// MethoodDefinition SyntaxErrors +shouldThrowSyntaxError("var obj = { async foo : true };", "Unexpected token ':'. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async foo = true };", "Unexpected token '='. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async foo , bar };", "Unexpected token ','. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async foo }", "Unexpected token '}'. Expected a parenthesis for argument list."); + +shouldThrowSyntaxError("var obj = { async 0 : true };", "Unexpected token ':'. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async 0 = true };", "Unexpected token '='. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async 0 , bar };", "Unexpected token ','. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async 0 }", "Unexpected token '}'. Expected a parenthesis for argument list."); + +shouldThrowSyntaxError("var obj = { async 'foo' : true };", "Unexpected token ':'. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async 'foo' = true };", "Unexpected token '='. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async 'foo' , bar };", "Unexpected token ','. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async 'foo' }", "Unexpected token '}'. Expected a parenthesis for argument list."); + +shouldThrowSyntaxError("var obj = { async ['foo'] : true };", "Unexpected token ':'. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async ['foo'] = true };", "Unexpected token '='. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async ['foo'] , bar };", "Unexpected token ','. Expected a parenthesis for argument list."); +shouldThrowSyntaxError("var obj = { async ['foo'] }", "Unexpected token '}'. Expected a parenthesis for argument list."); + +shouldThrowSyntaxError("class C { async foo : true };", "Unexpected token ':'. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async foo = true };", "Unexpected token '='. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async foo , bar };", "Unexpected token ','. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async foo }", "Unexpected token '}'. Expected an opening '(' before a async method's parameter list."); + +shouldThrowSyntaxError("class C { async 0 : true };", "Unexpected token ':'. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async 0 = true };", "Unexpected token '='. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async 0 , bar };", "Unexpected token ','. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async 0 }", "Unexpected token '}'. Expected an opening '(' before a async method's parameter list."); + +shouldThrowSyntaxError("class C { async 'foo' : true };", "Unexpected token ':'. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async 'foo' = true };", "Unexpected token '='. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async 'foo' , bar };", "Unexpected token ','. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async 'foo' }", "Unexpected token '}'. Expected an opening '(' before a async method's parameter list."); + +shouldThrowSyntaxError("class C { async ['foo'] : true };", "Unexpected token ':'. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async ['foo'] = true };", "Unexpected token '='. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async ['foo'] , bar };", "Unexpected token ','. Expected an opening '(' before a async method's parameter list."); +shouldThrowSyntaxError("class C { async ['foo'] }", "Unexpected token '}'. Expected an opening '(' before a async method's parameter list."); + +// Ensure awaited builtin Promise objects are themselves wrapped in a new Promise, +// per https://tc39.github.io/ecma262/#sec-async-functions-abstract-operations-async-function-await +log = []; +async function awaitedPromisesAreWrapped() { + log.push("before"); + await Promise.resolve(); + log.push("after"); +} +awaitedPromisesAreWrapped(); +Promise.resolve().then(() => log.push("Promise.resolve()")); +drainMicrotasks(); +shouldBe("before|Promise.resolve()|after", log.join("|")); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/async-await-long-loop.js b/implementation-contributed/javascriptcore/stress/async-await-long-loop.js new file mode 100644 index 0000000000..b21d31c677 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-long-loop.js @@ -0,0 +1,26 @@ +// Copyright (C) Copyright 2016 the v8 project authors. All rights reserved. + +//@ runNoCJIT("--gcMaxHeapSize=2000000") + + +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + + +let out; + +async function longLoop() { + for (let i = 0; i < 10000; i++) + await undefined; + out = 1; +} + +longLoop(); + +drainMicrotasks(); + +shouldBe(out, 1); diff --git a/implementation-contributed/javascriptcore/stress/async-await-module-reserved-word.js b/implementation-contributed/javascriptcore/stress/async-await-module-reserved-word.js new file mode 100644 index 0000000000..f8671b81f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-module-reserved-word.js @@ -0,0 +1,69 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function checkModuleSyntaxError(source, errorMessage) { + shouldThrow(() => checkModuleSyntax(source), errorMessage); +} + +checkModuleSyntaxError(String.raw` +var await; +`, `SyntaxError: Cannot use 'await' as a variable name in a module.:2`); +checkModuleSyntaxError(` +export var await; +`, `SyntaxError: Cannot use 'await' as a variable name in a module.:2`); +checkModuleSyntaxError(String.raw` +let await; +`, `SyntaxError: Cannot use 'await' as a lexical variable name in a module.:2`); +checkModuleSyntaxError(String.raw` +export let await; +`, `SyntaxError: Cannot use 'await' as a lexical variable name in a module.:2`); +checkModuleSyntaxError(String.raw` +const await = 1 +`, `SyntaxError: Cannot use 'await' as a lexical variable name in a module.:2`); +checkModuleSyntaxError(String.raw` +export const await = 1 +`, `SyntaxError: Cannot use 'await' as a lexical variable name in a module.:2`); + +checkModuleSyntaxError(String.raw` +function await() {} +`, `SyntaxError: Cannot declare function named 'await' in a module.:2`); +checkModuleSyntaxError(String.raw` +function* await() {} +`, `SyntaxError: Cannot declare function named 'await' in a module.:2`); +checkModuleSyntaxError(String.raw` +async function await() {} +`, `SyntaxError: Cannot declare function named 'await' in a module.:2`); + +checkModuleSyntaxError(String.raw` +import {await} from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); +checkModuleSyntaxError(String.raw` +import {foo as await} from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); +checkModuleSyntaxError(String.raw` +import * as await from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); +checkModuleSyntaxError(String.raw` +import await, {x, y, z} from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); +checkModuleSyntaxError(String.raw` +import await, {x, y, z,} from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); +checkModuleSyntaxError(String.raw` +import await from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); +checkModuleSyntaxError(String.raw` +import await, * as foo from 'foo'; +`, `SyntaxError: Cannot use 'await' as an imported binding name.:2`); diff --git a/implementation-contributed/javascriptcore/stress/async-await-mozilla.js b/implementation-contributed/javascriptcore/stress/async-await-mozilla.js new file mode 100644 index 0000000000..c4bf7c36da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-mozilla.js @@ -0,0 +1,302 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://moz.org/MPL/2.0/. */ + +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, run, msg) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + if (hadError) + throw actual; + shouldBe(expected, actual, msg); +} + +function shouldThrow(run, errorType, message) { + let actual; + var hadError = false; + try { + actual = run(); + } catch (e) { + hadError = true; + actual = e; + } + if (!hadError) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but did not throw."); + if (!(actual instanceof errorType)) + throw new Error("Expeced " + run + "() to throw " + errorType.name + " , but threw '" + actual + "'"); + if (message !== void 0 && actual.message !== message) + throw new Error("Expected " + run + "() to throw '" + message + "', but threw '" + actual.message + "'"); +} + +function shouldThrowAsync(run, errorType, message) { + let actual; + var hadError = false; + run().then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + if (!hadError) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but did not throw."); + if (!(actual instanceof errorType)) + throw new Error("Expected " + run + "() to throw " + errorType.name + ", but threw '" + actual + "'"); + if (message !== void 0 && actual.message !== message) + throw new Error("Expected " + run + "() to throw '" + message + "', but threw '" + actual.message + "'"); +} + +function assert(cond, msg = "") { + if (!cond) + throw new Error(msg); +} + +function shouldThrowSyntaxError(str, message) { + var hadError = false; + try { + eval(str); + } catch (e) { + if (e instanceof SyntaxError) { + hadError = true; + if (typeof message === "string") + assert(e.message === message, "Expected '" + message + "' but threw '" + e.message + "'"); + } + } + assert(hadError, "Did not throw syntax error"); +} + +// semantics.js +(function mozSemantics() { + +async function empty() { +} + +async function simpleReturn() { + return 1; +} + +async function simpleAwait() { + var result = await 2; + return result; +} + +async function simpleAwaitAsync() { + var result = await simpleReturn(); + return 2 + result; +} + +async function returnOtherAsync() { + return 1 + await simpleAwaitAsync(); +} + +async function simpleThrower() { + throw new Error(); +} + +async function delegatedThrower() { + var val = await simpleThrower(); + return val; +} + +async function tryCatch() { + try { + await delegatedThrower(); + return 'FAILED'; + } catch (_) { + return 5; + } +} + +async function tryCatchThrow() { + try { + await delegatedThrower(); + return 'FAILED'; + } catch (_) { + return delegatedThrower(); + } +} + +async function wellFinally() { + try { + await delegatedThrower(); + } catch (_) { + return 'FAILED'; + } finally { + return 6; + } +} + +async function finallyMayFail() { + try { + await delegatedThrower(); + } catch (_) { + return 5; + } finally { + return delegatedThrower(); + } +} + +async function embedded() { + async function inner() { + return 7; + } + return await inner(); +} + +// recursion, it works! +async function fib(n) { + return (n == 0 || n == 1) ? n : await fib(n - 1) + await fib(n - 2); +} + +// mutual recursion +async function isOdd(n) { + async function isEven(n) { + return n === 0 || await isOdd(n - 1); + } + return n !== 0 && await isEven(n - 1); +} + +// recursion, take three! +var hardcoreFib = async function fib2(n) { + return (n == 0 || n == 1) ? n : await fib2(n - 1) + await fib2(n - 2); +} + +var asyncExpr = async function() { + return 10; +} + +var namedAsyncExpr = async function simple() { + return 11; +} + +async function executionOrder() { + var value = 0; + async function first() { + return (value = value === 0 ? 1 : value); + } + async function second() { + return (value = value === 0 ? 2 : value); + } + async function third() { + return (value = value === 0 ? 3 : value); + } + return await first() + await second() + await third() + 6; +} + +async function miscellaneous() { + if (arguments.length === 3 && + arguments.callee.name === "miscellaneous") + return 14; +} + +function thrower() { + throw 15; +} + +async function defaultArgs(arg = thrower()) { +} + +// Async functions are not constructible +shouldThrow(() => { + async function Person() { + } + new Person(); +}, TypeError); + +shouldBeAsync(undefined, empty); +shouldBeAsync(1, simpleReturn); +shouldBeAsync(2, simpleAwait); +shouldBeAsync(3, simpleAwaitAsync); +shouldBeAsync(4, returnOtherAsync); +shouldThrowAsync(simpleThrower, Error); +shouldBeAsync(5, tryCatch); +shouldBeAsync(6, wellFinally); +shouldThrowAsync(finallyMayFail, Error); +shouldBeAsync(7, embedded); +shouldBeAsync(8, () => fib(6)); +shouldBeAsync(9, executionOrder); +shouldBeAsync(10, asyncExpr); +shouldBeAsync(11, namedAsyncExpr); +shouldBeAsync(12, () => isOdd(12).then(v => v ? "oops" : 12)); +shouldBeAsync(13, () => hardcoreFib(7)); +shouldBeAsync(14, () => miscellaneous(1, 2, 3)); +shouldBeAsync(15, () => defaultArgs().catch(e => e)); + +})(); + +// methods.js +(function mozMethods() { + +class X { + constructor() { + this.value = 42; + } + async getValue() { + return this.value; + } + setValue(value) { + this.value = value; + } + async increment() { + var value = await this.getValue(); + this.setValue(value + 1); + return this.getValue(); + } + async getBaseClassName() { + return 'X'; + } + static async getStaticValue() { + return 44; + } +} + +class Y extends X { + async getBaseClassName() { + return super.getBaseClassName(); + } +} + +var objLiteral = { + async get() { + return 45; + }, + someStuff: 5 +}; + +var x = new X(); +var y = new Y(); + +shouldBeAsync(42, () => x.getValue()); +shouldBeAsync(43, () => x.increment()); +shouldBeAsync(44, () => X.getStaticValue()); +shouldBeAsync(45, () => objLiteral.get()); +shouldBeAsync('X', () => y.getBaseClassName()); + +})(); + +(function mozFunctionNameInferrence() { + +async function test() { } + +var anon = async function() { } + +shouldBe("test", test.name); +shouldBe("anon", anon.name); + +})(); + +(function mozSyntaxErrors() { + +shouldThrowSyntaxError("'use strict'; async function eval() {}"); +shouldThrowSyntaxError("'use strict'; async function arguments() {}"); +shouldThrowSyntaxError("async function a(k = super.prop) { }"); +shouldThrowSyntaxError("async function a() { super.prop(); }"); +shouldThrowSyntaxError("async function a() { super(); }"); +shouldThrowSyntaxError("async function a(k = await 3) {}"); + +})(); diff --git a/implementation-contributed/javascriptcore/stress/async-await-reserved-word.js b/implementation-contributed/javascriptcore/stress/async-await-reserved-word.js new file mode 100644 index 0000000000..415b2bf07d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-reserved-word.js @@ -0,0 +1,163 @@ +function assert(cond, msg = "") { + if (!cond) + throw new Error(msg); +} +noInline(assert); + +function shouldThrowSyntaxError(str, message) { + var hadError = false; + try { + eval(str); + } catch (e) { + if (e instanceof SyntaxError) { + hadError = true; + if (typeof message === "string") + assert(e.message === message, "Expected '" + message + "' but threw '" + e.message + "'"); + } + } + assert(hadError, "Did not throw syntax error"); +} +noInline(shouldThrowSyntaxError); + +var AsyncFunction = (async function() {}).constructor; + +// AsyncFunctionExpression +shouldThrowSyntaxError("(async function() { var await; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("(async function() { var [await] = []; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("(async function() { var [...await] = []; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("(async function() { var {await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("(async function() { var {isAsync: await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("(async function() { var {isAsync: await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("(async function() { let await; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { let [await] = []; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { let [...await] = []; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { let {await} = {}; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { let {isAsync: await} = {}; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { let {isAsync: await} = {}; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { const await; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { const [await] = []; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { const [...await] = []; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { const {await} = {}; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { const {isAsync: await} = {}; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { const {isAsync: await} = {}; })", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("(async function() { function await() {} })", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("(async function() { async function await() {} })", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("(async function(await) {})", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("(async function f([await]) {})", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("(async function f([...await]) {})", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("(async function f(...await) {})", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("(async function f({await}) {})", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("(async function f({isAsync: await}) {})", "Cannot use 'await' as a parameter name in an async function."); + +// AsyncFunctionDeclaration +shouldThrowSyntaxError("async function f() { var await; }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("async function f() { var [await] = []; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("async function f() { var [...await] = []; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("async function f() { var {await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("async function f() { var {isAsync: await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("async function f() { var {isAsync: await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("async function f() { let await; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { let [await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { let [...await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { let {await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { let {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { let {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { const await; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { const [await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { const [...await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { const {await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { const {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { const {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("async function f() { function await() {} }", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("async function f() { async function await() {} }", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("async function f(await) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("async function f([await]) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("async function f([...await]) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("async function f(...await) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("async function f({await}) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("async function f({isAsync: await}) {}", "Cannot use 'await' as a parameter name in an async function."); + +// AsyncArrowFunction +shouldThrowSyntaxError("var f = async () => { var await; }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { var [await] = []; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { var [...await] = []; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { var {await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { var {isAsync: await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { var {isAsync: await} = {}; })", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { let await; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { let [await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { let [...await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { let {await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { let {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { let {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { const await; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { const [await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { const [...await] = []; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { const {await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { const {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { const {isAsync: await} = {}; }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var f = async () => { function await() {} }", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("var f = async () => { async function await() {} }", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("var f = async (await) => {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var f = async ([await]) => {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var f = async ([...await]) => {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var f = async (...await) => {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var f = async ({await}) => {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var f = async ({isAsync: await}) => {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var f = async await => {}", "Cannot use 'await' as a parameter name in an async function."); + +// AsyncMethod +shouldThrowSyntaxError("var O = { async f() { var await; } }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { var [await] = []; } }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { var [...await] = []; } }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { var {await} = {}; } }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { var {isAsync: await} = {}; } }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { var {isAsync: await} = {}; } }", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { let await; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { let [await] = []; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { let [...await] = []; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { let {await} = {}; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { let {isAsync: await} = {}; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { let {isAsync: await} = {}; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { const await; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { const [await] = []; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { const [...await] = []; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { const {await} = {}; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { const {isAsync: await} = {}; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { const {isAsync: await} = {}; } }", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("var O = { async f() { function await() {} }", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("var O = { async f() { async function await() {} } }", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("var O = { async f(await) {} } ", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var O = { async f([await]) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var O = { async f([...await]) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var O = { async f(...await) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var O = { async f({await}) {}", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("var O = { async f({isAsync: await}) {}", "Cannot use 'await' as a parameter name in an async function."); + +// AsyncFunction constructor +shouldThrowSyntaxError("AsyncFunction('var await;')", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('var [await] = [];')", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('var [...await] = [];')", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('var {await} = {};')", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('var {isAsync: await} = {};')", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('var {isAsync: await} = {};')", "Cannot use 'await' as a variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('let await;')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('let [await] = [];')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('let [...await] = [];')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('let {await} = {};')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('let {isAsync: await} = {};')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('let {isAsync: await} = {};')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('const await;')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('const [await] = [];')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('const [...await] = [];')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('const {await} = {};')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('const {isAsync: await} = {};')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('const {isAsync: await} = {};')", "Cannot use 'await' as a lexical variable name in an async function."); +shouldThrowSyntaxError("AsyncFunction('function await() {}')", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("AsyncFunction('async function await() {}')", "Cannot declare function named 'await' in an async function."); +shouldThrowSyntaxError("AsyncFunction('await', '')", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("AsyncFunction('[await]', '')", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("AsyncFunction('[...await]', '')", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("AsyncFunction('...await', '')", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("AsyncFunction('{await}', '')", "Cannot use 'await' as a parameter name in an async function."); +shouldThrowSyntaxError("AsyncFunction('{isAsync: await}', '')", "Cannot use 'await' as a parameter name in an async function."); diff --git a/implementation-contributed/javascriptcore/stress/async-await-syntax.js b/implementation-contributed/javascriptcore/stress/async-await-syntax.js new file mode 100644 index 0000000000..6121d41268 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-syntax.js @@ -0,0 +1,582 @@ +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error) + "\n evaluating `" + script + "`"); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown\n evaluating `" + script + "`"); + + if (typeof message === "string" && String(error) !== message) + throw new Error("Bad error: " + String(error) + "\n evaluating `" + script + "`"); +} + +(function testTopLevelAsyncAwaitSyntaxSloppyMode() { + testSyntax(`({async: 1})`); + testSyntax(`var asyncFn = async function() { await 1; };`); + + testSyntax(`var asyncFn = async function() { var t = !await 1; };`); + testSyntax(`var asyncFn = async function() { var t = ~await 1; };`); + testSyntax(`var asyncFn = async function() { var t = typeof await 1; };`); + testSyntax(`var asyncFn = async function() { var t = void await 1; };`); + testSyntax(`var asyncFn = async function() { var t = !(await 1); };`); + testSyntax(`var asyncFn = async function() { var t = ~(await 1); };`); + testSyntax(`var asyncFn = async function() { var t = typeof (await 1); };`); + testSyntax(`var asyncFn = async function() { var t = void (await 1); };`); + + + testSyntax(`var asyncFn = async function() { var t = !!await 1; };`); + testSyntax(`var asyncFn = async function() { var t = ~~await 1; };`); + testSyntax(`var asyncFn = async function() { var t = typeof typeof await 1; };`); + testSyntax(`var asyncFn = async function() { var t = void void await 1; };`); + + testSyntax(`var asyncFn = async function withName() { await 1; };`); + testSyntax(`var asyncFn = async () => await 'test';`); + + testSyntax(`var asyncFn = async () => !await 'test';`); + testSyntax(`var asyncFn = async () => ~await 'test';`); + testSyntax(`var asyncFn = async () => typeof await 'test';`); + testSyntax(`var asyncFn = async () => void await 'test';`); + testSyntax(`var asyncFn = async () => - await 'test';`); + testSyntax(`var asyncFn = async () => + await 'test';`); + testSyntax(`var asyncFn = async () => delete await 'test';`); + + testSyntax(`var asyncFn = async () => !!await 'test';`); + testSyntax(`var asyncFn = async () => ~~await 'test';`); + testSyntax(`var asyncFn = async () => typeof typeof await 'test';`); + testSyntax(`var asyncFn = async () => void void await 'test';`); + + testSyntax(`var asyncFn = async x => await x + 'test';`); + testSyntax(`function foo(fn) { fn({ async: true }); }`); + testSyntax(`async function asyncFn() { await 1; }`); + testSyntax(`var O = { async method() { await 1; } };`); + testSyntax(`var O = { async ['meth' + 'od']() { await 1; } };`); + testSyntax(`var O = { async 'method'() { await 1; } };`); + testSyntax(`var O = { async 0() { await 1; } };`); + testSyntax(`var O = { async function() {} };`); + testSyntax(`class C { async method() { await 1; } };`); + testSyntax(`class C { async ['meth' + 'od']() { await 1; } };`); + testSyntax(`class C { async 'method'() { await 1; } };`); + testSyntax(`class C { async 0() { await 1; } };`); + testSyntax(`var asyncFn = async({ foo = 1 }) => foo;`); + testSyntax(`var asyncFn = async({ foo = 1 } = {}) => foo;`); + testSyntax(`function* g() { var f = async(yield); }`); + testSyntax(`function* g() { var f = async(x = yield); }`); + testSyntax(`class C { async ['function']() {} }`); + testSyntax(`class C {}; class C2 extends C { async ['function']() {} }`); + testSyntax(`class C { static async ['function']() {} }`); + testSyntax(`class C {}; class C2 extends C { static async ['function']() {} }`); + testSyntax(`class C { async function() {} }`); + testSyntax(`class C {}; class C2 extends C { async function() {} }`); + testSyntax(`class C { static async function() {} }`); + testSyntax(`class C {}; class C2 extends C { static async function() {} }`); + testSyntax(`class C { async 'function'() {} }`); + testSyntax(`class C {}; class C2 extends C { async 'function'() {} }`); + testSyntax(`class C { static async 'function'() {} }`); + testSyntax(`class C {}; class C2 extends C { static async 'function'() {} }`); +})(); + +(function testTopLevelAsyncAwaitSyntaxStrictMode() { + testSyntax(`"use strict"; ({async: 1})`); + testSyntax(`"use strict"; var asyncFn = async function() { await 1; };`); + + testSyntax(`"use strict"; var asyncFn = async function() { var t = !await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = ~await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = +await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = -await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = typeof await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = void await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = !(await 1); };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = ~(await 1); };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = -(await 1); };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = +(await 1); };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = typeof (await 1); };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = void (await 1); };`); + + testSyntax(`"use strict"; var asyncFn = async function() { var t = !!await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = ~~await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = typeof typeof await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = void void await 1; };`); + + testSyntax(`"use strict"; var asyncFn = async function() { var t = !!await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = !~await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = !typeof typeof await 1; };`); + testSyntax(`"use strict"; var asyncFn = async function() { var t = !void void await 1; };`); + + + testSyntax(`"use strict"; var asyncFn = async function withName() { await 1; };`); + testSyntax(`"use strict"; var asyncFn = async () => await 'test';`); + testSyntax(`"use strict"; var asyncFn = async x => await x + 'test';`); + testSyntax(`"use strict"; function foo(fn) { fn({ async: true }); }`); + testSyntax(`"use strict"; async function asyncFn() { await 1; }`); + testSyntax(`"use strict"; var O = { async method() { await 1; } };`); + testSyntax(`"use strict"; var O = { async ['meth' + 'od']() { await 1; } };`); + testSyntax(`"use strict"; var O = { async 'method'() { await 1; } };`); + testSyntax(`"use strict"; var O = { async 0() { await 1; } };`); + testSyntax(`"use strict"; class C { async method() { await 1; } };`); + testSyntax(`"use strict"; class C { async ['meth' + 'od']() { await 1; } };`); + testSyntax(`"use strict"; class C { async 'method'() { await 1; } };`); + testSyntax(`"use strict"; class C { async 0() { await 1; } };`); + testSyntax(`"use strict"; var asyncFn = async({ foo = 1 }) => foo;`); + testSyntax(`"use strict"; var asyncFn = async({ foo = 1 } = {}) => foo;`); + testSyntax(`"use strict"; function* g() { var f = async(yield); }`); + testSyntax(`"use strict"; function* g() { var f = async(x = yield); }`); + testSyntax(`"use strict"; class C { async ['function']() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { async ['function']() {} }`); + testSyntax(`"use strict"; class C { static async ['function']() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { static async ['function']() {} }`); + testSyntax(`"use strict"; class C { async function() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { async function() {} }`); + testSyntax(`"use strict"; class C { async function() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { async function() {} }`); + testSyntax(`"use strict"; class C { static async function() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { static async function() {} }`); + testSyntax(`"use strict"; class C { async 'function'() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { async 'function'() {} }`); + testSyntax(`"use strict"; class C { static async 'function'() {} }`); + testSyntax(`"use strict"; class C {}; class C2 extends C { static async 'function'() {} }`); +})(); + +(function testNestedAsyncAwaitSyntax() { + var contextData = [ + { prefix: "function outerFunction() { ", suffix: " }" }, + { prefix: "function* outerGenerator() { ", suffix: " }" }, + { prefix: "var outerFuncExpr = function() { ", suffix: " };" }, + { prefix: "var outerGenExpr = function*() { ", suffix: " };" }, + { prefix: "var outerObject = { outerMethod() { ", suffix: " } };" }, + { prefix: "var outerObject = { *outerGenMethod() { ", suffix: " } };" }, + { prefix: "var outerClassExpr = class C { outerMethod() { ", suffix: " } };" }, + { prefix: "var outerClassExpr = class C { *outerGenMethod() { ", suffix: " } };" }, + { prefix: "var outerClassExpr = class C { static outerStaticMethod() { ", suffix: " } };" }, + { prefix: "var outerClassExpr = class C { static *outerStaticGenMethod() { ", suffix: " } };" }, + { prefix: "class outerClass { outerMethod() { ", suffix: " } };" }, + { prefix: "class outerClass { *outerGenMethod() { ", suffix: " } };" }, + { prefix: "class outerClass { static outerStaticMethod() { ", suffix: " } };" }, + { prefix: "class outerClass { static *outerStaticGenMethod() { ", suffix: " } };" }, + { prefix: "var outerArrow = () => { ", suffix: " };" }, + { prefix: "async function outerAsyncFunction() { ", suffix: " }" }, + { prefix: "var outerAsyncFuncExpr = async function() { ", suffix: " };" }, + { prefix: "var outerAsyncArrowFunc = async () => { ", suffix: " };" }, + { prefix: "var outerObject = { async outerAsyncMethod() { ", suffix: " } };" }, + { prefix: "var outerClassExpr = class C { async outerAsyncMethod() { ", suffix: " } };" }, + { prefix: "var outerClassExpr = class C { static async outerStaticAsyncMethod() { ", suffix: " } };" }, + { prefix: "class outerClass { async outerAsyncMethod() { ", suffix: " } };" }, + { prefix: "class outerClass { static async outerStaticAsyncMethod() { ", suffix: " } };" }, + ]; + + var testData = [ + `var async = 1; return async;`, + `let async = 1; return async;`, + `const async = 1; return async;`, + `function async() {} return async();`, + `var async = async => async; return async();`, + `function foo() { var await = 1; return await; }`, + `function foo(await) { return await; }`, + `function* foo() { var await = 1; return await; }`, + `function* foo(await) { return await; }`, + `var f = () => { var await = 1; return await; }`, + `var O = { method() { var await = 1; return await; } };`, + `var O = { method(await) { return await; } };`, + `var O = { *method() { var await = 1; return await; } };`, + `var O = { *method(await) { return await; } };`, + + `(function await() {})`, + ]; + + for (let context of contextData) { + for (let test of testData) { + let script = context.prefix + test + context.suffix; + testSyntax(script); + testSyntax(`"use strict"; ${script}`); + } + } +})(); + + +(function testTopLevelAsyncAwaitSyntaxSloppyMode() { + testSyntaxError(`({ async + foo() {} })`); + testSyntaxError(`({async = 1})`); + testSyntaxError(`var asyncFn = async function await() {}`); + testSyntaxError(`var asyncFn = async () => var await = 'test';`); + testSyntaxError(`var asyncFn = async () => { var await = 'test'; };`); + testSyntaxError(`var asyncFn = async await => await + 'test'`); + testSyntaxError(`var asyncFn = async function(await) {}`); + testSyntaxError(`var asyncFn = async function withName(await) {}`); + testSyntaxError(`var asyncFn = async (await) => 'test';`); + testSyntaxError(`async function asyncFunctionDeclaration(await) {}`); + + testSyntaxError(`var outerObject = { async method(a, a) {} }`); + testSyntaxError(`var outerObject = { async ['meth' + 'od'](a, a) {} }`); + testSyntaxError(`var outerObject = { async 'method'(a, a) {} }`); + testSyntaxError(`var outerObject = { async 0(a, a) {} }`); + + testSyntaxError(`var outerObject = { async method(a, {a}) {} }`); + testSyntaxError(`var outerObject = { async method({a}, a) {} }`); + testSyntaxError(`var outerObject = { async method({a}, {a}) {} }`); + testSyntaxError(`var outerObject = { async method(a, ...a) {} }`); + testSyntaxError(`var outerObject = { async method({a}, ...a) {} }`); + testSyntaxError(`var outerObject = { async method(a, ...a) {} }`); + testSyntaxError(`var outerObject = { async method({a, ...a}) {} }`); + testSyntaxError(`var outerObject = { func: async function(a, {a}) {} }`); + testSyntaxError(`var outerObject = { func: async function({a}, a) {} }`); + testSyntaxError(`var outerObject = { func: async function({a}, {a}) {} }`); + testSyntaxError(`var outerObject = { func: async function(a, ...a) {} }`); + testSyntaxError(`var outerObject = { func: async function({a}, ...a) {} }`); + testSyntaxError(`var outerObject = { func: async function(a, ...a) {} }`); + testSyntaxError(`var outerObject = { func: async function({a, ...a}) {} }`); + + testSyntaxError(`var asyncArrowFn = async() => await;`); + + testSyntaxError(`var O = { *async asyncGeneratorMethod() {} };`); + testSyntaxError(`var O = { async asyncGeneratorMethod*() {} };`); + + testSyntaxError(`var asyncFn = async function(x = await 1) { return x; }`); + testSyntaxError(`async function f(x = await 1) { return x; }`); + testSyntaxError(`var f = async(x = await 1) => x;`); + testSyntaxError(`var O = { async method(x = await 1) { return x; } };`); + + testSyntaxError(`function* outerGenerator() { var asyncArrowFn = async yield => 1; }`); + testSyntaxError(`function* outerGenerator() { var asyncArrowFn = async(yield) => 1; }`); + testSyntaxError(`function* outerGenerator() { var asyncArrowFn = async(x = yield) => 1; }`); + testSyntaxError(`function* outerGenerator() { var asyncArrowFn = async({x = yield}) => 1; }`); + + testSyntaxError(`class C { async constructor() {} }`); + testSyntaxError(`class C {}; class C2 extends C { async constructor() {} }`); + testSyntaxError(`class C { static async prototype() {} }`); + testSyntaxError(`class C {}; class C2 extends C { static async prototype() {} }`); + + testSyntaxError(`var f = async() => ((async(x = await 1) => x)();`); + + // Henrique Ferreiro's bug (tm) + testSyntaxError(`(async function foo1() { } foo2 => 1)`); + testSyntaxError(`(async function foo3() { } () => 1)`); + testSyntaxError(`(async function foo4() { } => 1)`); + testSyntaxError(`(async function() { } foo5 => 1)`); + testSyntaxError(`(async function() { } () => 1)`); + testSyntaxError(`(async function() { } => 1)`); + testSyntaxError(`(async.foo6 => 1)`); + testSyntaxError(`(async.foo7 foo8 => 1)`); + testSyntaxError(`(async.foo9 () => 1)`); + testSyntaxError(`(async().foo10 => 1)`); + testSyntaxError(`(async().foo11 foo12 => 1)`); + testSyntaxError(`(async().foo13 () => 1)`); + testSyntaxError(`(async['foo14'] => 1)`); + testSyntaxError(`(async['foo15'] foo16 => 1)`); + testSyntaxError(`(async['foo17'] () => 1)`); + testSyntaxError(`(async()['foo18'] => 1)`); + testSyntaxError(`(async()['foo19'] foo20 => 1)`); + testSyntaxError(`(async()['foo21'] () => 1`); + testSyntaxError("(async`foo22` => 1)"); + testSyntaxError("(async`foo23` foo24 => 1)"); + testSyntaxError("(async`foo25` () => 1)"); + testSyntaxError("(async`foo26`.bar27 => 1)"); + testSyntaxError("(async`foo28`.bar29 foo30 => 1)"); + testSyntaxError("(async`foo31`.bar32 () => 1)"); + + // assert that errors are still thrown for calls that may have been async functions + testSyntaxError(`function async() {} + async({ foo33 = 1 })`); +})(); + +(function testTopLevelAsyncAwaitSyntaxStrictMode() { + testSyntaxError(`"use strict"; ({ async + foo() {} })`); + testSyntaxError(`"use strict"; ({async = 1})`); + testSyntaxError(`"use strict"; var asyncFn = async function await() {}`); + testSyntaxError(`"use strict"; var asyncFn = async () => var await = 'test';`); + testSyntaxError(`"use strict"; var asyncFn = async () => { var await = 'test'; };`); + testSyntaxError(`"use strict"; var asyncFn = async await => await + 'test'`); + testSyntaxError(`"use strict"; var asyncFn = async function(await) {}`); + testSyntaxError(`"use strict"; var asyncFn = async function withName(await) {}`); + testSyntaxError(`"use strict"; var asyncFn = async (await) => 'test';`); + testSyntaxError(`"use strict"; async function asyncFunctionDeclaration(await) {}`); + + testSyntaxError(`"use strict"; var outerObject = { async method(a, a) {} }`); + testSyntaxError(`"use strict"; var outerObject = { async ['meth' + 'od'](a, a) {} }`); + testSyntaxError(`"use strict"; var outerObject = { async 'method'(a, a) {} }`); + testSyntaxError(`"use strict"; var outerObject = { async 0(a, a) {} }`); + + testSyntaxError(`"use strict"; var asyncArrowFn = async() => await;`); + + testSyntaxError(`"use strict"; var O = { *async asyncGeneratorMethod() {} };`); + testSyntaxError(`"use strict"; var O = { async asyncGeneratorMethod*() {} };`); + + testSyntax(`"use strict"; var O = { async function() {} };`); + + testSyntaxError(`"use strict"; var asyncFn = async function(x = await 1) { return x; }`); + testSyntaxError(`"use strict"; async function f(x = await 1) { return x; }`); + testSyntaxError(`"use strict"; var f = async(x = await 1) => x;`); + testSyntaxError(`"use strict"; var O = { async method(x = await 1) { return x; } };`); + + testSyntaxError(`"use strict"; function* outerGenerator() { var asyncArrowFn = async yield => 1; }`); + testSyntaxError(`"use strict"; function* outerGenerator() { var asyncArrowFn = async(yield) => 1; }`); + testSyntaxError(`"use strict"; function* outerGenerator() { var asyncArrowFn = async(x = yield) => 1; }`); + testSyntaxError(`"use strict"; function* outerGenerator() { var asyncArrowFn = async({x = yield}) => 1; }`); + + testSyntaxError(`"use strict"; class C { async constructor() {} }`); + testSyntaxError(`"use strict"; class C {}; class C2 extends C { async constructor() {} }`); + testSyntaxError(`"use strict"; class C { static async prototype() {} }`); + testSyntaxError(`"use strict"; class C {}; class C2 extends C { static async prototype() {} }`); + + testSyntaxError(`"use strict"; var f = async() => ((async(x = await 1) => x)();`); + + // Henrique Ferreiro's bug (tm) + testSyntaxError(`"use strict"; (async function foo1() { } foo2 => 1)`); + testSyntaxError(`"use strict"; (async function foo3() { } () => 1)`); + testSyntaxError(`"use strict"; (async function foo4() { } => 1)`); + testSyntaxError(`"use strict"; (async function() { } foo5 => 1)`); + testSyntaxError(`"use strict"; (async function() { } () => 1)`); + testSyntaxError(`"use strict"; (async function() { } => 1)`); + testSyntaxError(`"use strict"; (async.foo6 => 1)`); + testSyntaxError(`"use strict"; (async.foo7 foo8 => 1)`); + testSyntaxError(`"use strict"; (async.foo9 () => 1)`); + testSyntaxError(`"use strict"; (async().foo10 => 1)`); + testSyntaxError(`"use strict"; (async().foo11 foo12 => 1)`); + testSyntaxError(`"use strict"; (async().foo13 () => 1)`); + testSyntaxError(`"use strict"; (async['foo14'] => 1)`); + testSyntaxError(`"use strict"; (async['foo15'] foo16 => 1)`); + testSyntaxError(`"use strict"; (async['foo17'] () => 1)`); + testSyntaxError(`"use strict"; (async()['foo18'] => 1)`); + testSyntaxError(`"use strict"; (async()['foo19'] foo20 => 1)`); + testSyntaxError(`"use strict"; (async()['foo21'] () => 1)`); + testSyntaxError('"use strict"; (async`foo22` => 1)'); + testSyntaxError('"use strict"; (async`foo23` foo24 => 1)'); + testSyntaxError('"use strict"; (async`foo25` () => 1)'); + testSyntaxError('"use strict"; (async`foo26`.bar27 => 1)'); + testSyntaxError('"use strict"; (async`foo28`.bar29 foo30 => 1)'); + testSyntaxError('"use strict"; (async`foo31`.bar32 () => 1)'); + + // assert that errors are still thrown for calls that may have been async functions + testSyntaxError(`"use strict"; function async() {} + async({ foo33 = 1 })`); + + testSyntaxError(`"use strict"; var O = { async method(eval) {} }`); + testSyntaxError(`"use strict"; var O = { async ['meth' + 'od'](eval) {} }`); + testSyntaxError(`"use strict"; var O = { async 'method'(eval) {} }`); + testSyntaxError(`"use strict"; var O = { async 0(eval) {} }`); + + testSyntaxError(`"use strict"; var O = { async method(arguments) {} }`); + testSyntaxError(`"use strict"; var O = { async ['meth' + 'od'](arguments) {} }`); + testSyntaxError(`"use strict"; var O = { async 'method'(arguments) {} }`); + testSyntaxError(`"use strict"; var O = { async 0(arguments) {} }`); + + testSyntaxError(`"use strict"; var O = { async method(dupe, dupe) {} }`); +})(); + +(function testAwaitInFormalParameters() { + var testData = [ + `async function f(await) {}`, + `async function f(...await) {}`, + `async function f(await = 1) {}`, + `async function f([await]) {}`, + `async function f([await = 1]) {}`, + `async function f({ await }) {}`, + `async function f({ await = 1 }) {}`, + `async function f({ } = await) {}`, + + `(async function(await) {})`, + `(async function(...await) {})`, + `(async function(await = 1) {})`, + `(async function([await]) {})`, + `(async function([await = 1]) {})`, + `(async function({ await }) {})`, + `(async function({ await = 1 }) {})`, + `(async function({ } = await) {})`, + + `var asyncArrow = async(await) => 1;`, + `var asyncArrow = async(await) => {};`, + `var asyncArrow = async(...await) => 1;`, + `var asyncArrow = async(...await) => {};`, + `var asyncArrow = async(await = 1) => 1;`, + `var asyncArrow = async(await = 1) => {};`, + `var asyncArrow = async([await]) => 1;`, + `var asyncArrow = async([await]) => {};`, + `var asyncArrow = async([await = 1]) => 1;`, + `var asyncArrow = async([await = 1]) => {};`, + `var asyncArrow = async([] = await) => 1;`, + `var asyncArrow = async([] = await) => {};`, + `var asyncArrow = async({ await }) => 1;`, + `var asyncArrow = async({ await } ) => {};`, + `var asyncArrow = async({ await = 1}) => 1;`, + `var asyncArrow = async({ await = 1}) => {};`, + `var asyncArrow = async({ } = await) => 1;`, + `var asyncArrow = async({ } = await) => {};`, + + `({ async method(await) {} })`, + `({ async method(...await) {} })`, + `({ async method(await = 1) {} })`, + `({ async method([await]) {} })`, + `({ async method([await = 1]) {} })`, + `({ async method({ await }) {} })`, + `({ async method({ await = 1 }) {} })`, + `({ async method({ } = await) {} })`, + + `(class { async method(await) {} })`, + `(class { async method(...await) {} })`, + `(class { async method(await = 1) {} })`, + `(class { async method([await]) {} })`, + `(class { async method([await = 1]) {} })`, + `(class { async method({ await }) {} })`, + `(class { async method({ await = 1 }) {} })`, + `(class { async method({ } = await) {} })`, + + `(class { static async method(await) {} })`, + `(class { static async method(...await) {} })`, + `(class { static async method(await = 1) {} })`, + `(class { static async method([await]) {} })`, + `(class { static async method([await = 1]) {} })`, + `(class { static async method({ await }) {} })`, + `(class { static async method({ await = 1 }) {} })`, + `(class { static async method({ } = await) {} })`, + ]; + + for (let script of testData) { + testSyntaxError(script); + testSyntaxError(`"use strict"; ${script}`); + + var nested = `var await; var f = (async function() { ${script} });`; + testSyntaxError(nested); + testSyntaxError(`"use strict"; ${nested}`); + } +})(); + +testSyntaxError(` +async function fn(arguments) { + "use strict"; +} +`, `SyntaxError: Invalid parameters or function name in strict mode.`); + +testSyntaxError(` +async function fn(eval) { + "use strict"; +} +`, `SyntaxError: Invalid parameters or function name in strict mode.`); + +testSyntaxError(` +async function arguments() { + "use strict"; +} +`, `SyntaxError: 'arguments' is not a valid function name in strict mode.`); + +testSyntaxError(` +async function eval() { + "use strict"; +} +`, `SyntaxError: 'eval' is not a valid function name in strict mode.`); + +testSyntaxError(` +async function fn(a) { + let a = 1; +} +`, `SyntaxError: Cannot declare a let variable twice: 'a'.`); + +testSyntaxError(` +async function fn(b) { + const b = 1; +} +`, `SyntaxError: Cannot declare a const variable twice: 'b'.`); + +(function testMethodDefinition() { + testSyntax("({ async [foo]() {} })"); + testSyntax("({ async [Symbol.asyncIterator]() {} })"); + testSyntax("({ async 0() {} })"); + testSyntax("({ async 'string'() {} })"); + testSyntax("({ async ident() {} })"); + + testSyntax("(class { async [foo]() {} })"); + testSyntax("(class { async [Symbol.asyncIterator]() {} })"); + testSyntax("(class { async 0() {} })"); + testSyntax("(class { async 'string'() {} })"); + testSyntax("(class { async ident() {} })"); + + testSyntax("(class { static async [foo]() {} })"); + testSyntax("(class { static async [Symbol.asyncIterator]() {} })"); + testSyntax("(class { static async 0() {} })"); + testSyntax("(class { static async 'string'() {} })"); + testSyntax("(class { static async ident() {} })"); +})(); + +(function testLineTerminator() { + let testLineFeedErrors = (prefix, suffix) => { + testSyntaxError(`${prefix}// comment + ${suffix}`); + testSyntaxError(`${prefix}/* comment + */ ${suffix}`); + testSyntaxError(`${prefix} + ${suffix}`); + testSyntaxError(`"use strict";${prefix}// comment + ${suffix}`); + testSyntaxError(`"use strict";${prefix}/* comment + */ ${suffix}`); + testSyntaxError(`"use strict";${prefix} + ${suffix}`); + }; + + let testLineFeeds = (prefix, suffix) => { + testSyntax(`${prefix}// comment + ${suffix}`); + testSyntax(`${prefix}/* comment + */${suffix}`); + testSyntax(`${prefix} + ${suffix}`); + testSyntax(`"use strict";${prefix}// comment + ${suffix}`); + testSyntax(`"use strict";${prefix}/* comment + */${suffix}`); + testSyntax(`"use strict";${prefix} + ${suffix}`); + }; + + let tests = [ + // ObjectLiteral AsyncMethodDefinition + { prefix: "({ async", suffix: "method() {} }).method" }, + + // ClassLiteral AsyncMethodDefinition + { prefix: "(class { async", suffix: "method() {} }).prototype.method" }, + + // AsyncArrowFunctions + { prefix: "(async", suffix: "param => 1)" }, + { prefix: "(async", suffix: "(param) => 1)" }, + { prefix: "(async", suffix: "param => {})" }, + { prefix: "(async", suffix: "(param) => {})" }, + ]; + + for (let { prefix, suffix } of tests) { + testSyntax(`${prefix} ${suffix}`); + testSyntax(`"use strict";${prefix} ${suffix}`); + shouldBe("function", typeof eval(`${prefix} ${suffix}`)); + shouldBe("function", typeof eval(`"use strict";${prefix} ${suffix}`)); + testLineFeedErrors(prefix, suffix); + } + + // AsyncFunctionDeclaration + testSyntax("async function foo() {}"); + testLineFeeds("async", "function foo() {}"); + + // AsyncFunctionExpression + testSyntax("var x = async function foo() {}"); + testSyntax("'use strict';var x = async function foo() {}"); + testLineFeeds("var x = async", "function foo() {}"); + testLineFeedErrors("var x = async", "function() {}"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/async-await-throw-loop.js b/implementation-contributed/javascriptcore/stress/async-await-throw-loop.js new file mode 100644 index 0000000000..2a8f914a82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-await-throw-loop.js @@ -0,0 +1,32 @@ +// Copyright (C) Copyright 2016 the v8 project authors. All rights reserved. + +//@ runNoCJIT("--gcMaxHeapSize=2000000") + +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + + +let out; + +async function thrower() { throw undefined; } + +async function throwLoop() { + for (let i = 0; i < 8000; i++) { + try { + await thrower(); + } catch (error) { + void 0; + } + } + out = 2; +} + +throwLoop(); + +drainMicrotasks(); + +shouldBe(out, 2); diff --git a/implementation-contributed/javascriptcore/stress/async-function-create-nobaseline.js b/implementation-contributed/javascriptcore/stress/async-function-create-nobaseline.js new file mode 100644 index 0000000000..ac70715343 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-create-nobaseline.js @@ -0,0 +1,13 @@ +function test(cond) +{ + if (cond) { + var func = async function () {}; + return func; + } + + return 42; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/async-function-create-optimized.js b/implementation-contributed/javascriptcore/stress/async-function-create-optimized.js new file mode 100644 index 0000000000..ddcf50f3f0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-create-optimized.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var AsyncFunctionPrototype = async function() {}.__proto__; + +function testAsyncFunctionExpression() +{ + return async function() + { + await 42; + return 1; + }; +} +noInline(testAsyncFunctionExpression); + +function testAsyncFunctionDeclaration() +{ + async function asyncFn() + { + await 42; + return 1; + } + + return asyncFn; +} +noInline(testAsyncFunctionDeclaration); + +function testAsyncArrowFunction() +{ + return async() => + { + await 42; + return 1; + }; +} +noInline(testAsyncArrowFunction); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testAsyncFunctionExpression().__proto__, AsyncFunctionPrototype); + shouldBe(testAsyncFunctionDeclaration().__proto__, AsyncFunctionPrototype); + shouldBe(testAsyncArrowFunction().__proto__, AsyncFunctionPrototype); +} diff --git a/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-no-double-allocate.js new file mode 100644 index 0000000000..c1a92ad91d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-no-double-allocate.js @@ -0,0 +1,38 @@ +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} +var AsyncFunctionPrototype = async function(){}.__proto__; + +function call(o) { o.x = 3; } +noInline(call); + +function sink (p, q) { + async function f() { }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink(true, false); + shouldBe(o.__proto__, AsyncFunctionPrototype); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, AsyncFunctionPrototype); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-osrexit.js new file mode 100644 index 0000000000..9e5a569e13 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-osrexit.js @@ -0,0 +1,42 @@ +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, promise, msg) { + let actual; + var hadError = false; + promise.then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +var AsyncFunctionPrototype = async function(){}.__proto__; + +function sink (p, q) { + async function g(x) { return x; }; + if (p) { if (q) OSRExit(); return g; } + async function f(x) { return x; }; + return f; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, false); + shouldBe(f.__proto__, AsyncFunctionPrototype); + shouldBeAsync(42, f(42)); +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, AsyncFunctionPrototype); +shouldBeAsync(42, f(42)); diff --git a/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-put.js b/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-put.js new file mode 100644 index 0000000000..06177e880f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-declaration-sinking-put.js @@ -0,0 +1,49 @@ +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, promise, msg) { + let actual; + var hadError = false; + promise.then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +var AsyncFunctionPrototype = async function(){}.__proto__; + +function sink (p, q) { + async function g(x) { return x; }; + if (p) { if (q) g.inner = 42; return g; } + async function f(x) { return x; }; + return f; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, true); + shouldBe(f.__proto__, AsyncFunctionPrototype); + shouldBeAsync(42, f(42)); +} + +// At this point, the function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink(true, false); +shouldBe(f.__proto__, AsyncFunctionPrototype); +shouldBeAsync(12, f(12)); + +// Check that the allocation did not sink beyond the property assignment +var f = sink(true, true); +shouldBe(f.__proto__, AsyncFunctionPrototype); +var result = f.inner; +if (result !== 42) + throw "Error: inner should be 42 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-no-double-allocate.js new file mode 100644 index 0000000000..c17aa994e9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-no-double-allocate.js @@ -0,0 +1,36 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var AsyncFunctionPrototype = async function(){}.__proto__; + +function call(o) { o.x = 3; } +noInline(call); + +function sink (p, q) { + var f = async function() { }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink(true, false); + shouldBe(o.__proto__, AsyncFunctionPrototype); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, AsyncFunctionPrototype); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-osrexit.js new file mode 100644 index 0000000000..22b14668cb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-osrexit.js @@ -0,0 +1,40 @@ +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} +function shouldBeAsync(expected, promise, msg) { + let actual; + var hadError = false; + promise.then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +var AsyncFunctionPrototype = async function(){}.__proto__; + +function sink (p, q) { + var g = async function (x) { return x; }; + if (p) { if (q) OSRExit(); return g; } + return async function (x) { return x; }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, false); + shouldBe(f.__proto__, AsyncFunctionPrototype); + shouldBeAsync(42, f(42)); +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, AsyncFunctionPrototype); +shouldBeAsync(42, f(42)); diff --git a/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-put.js b/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-put.js new file mode 100644 index 0000000000..5b21d2c35c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-function-expression-sinking-put.js @@ -0,0 +1,46 @@ +function shouldBe(expected, actual, msg = "") { + if (msg) + msg = " for " + msg; + if (actual !== expected) + throw new Error("bad value" + msg + ": " + actual + ". Expected " + expected); +} + +function shouldBeAsync(expected, promise, msg) { + let actual; + var hadError = false; + promise.then(function(value) { actual = value; }, + function(error) { hadError = true; actual = error; }); + drainMicrotasks(); + + if (hadError) + throw actual; + + shouldBe(expected, actual, msg); +} + +var AsyncFunctionPrototype = async function(){}.__proto__; + +function sink (p, q) { + var g = async function(x) { return x; }; + if (p) { if (q) g.inner = 42; return g; } + return async function(x) { return x; }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, true); + shouldBe(f.__proto__, AsyncFunctionPrototype); + shouldBeAsync(42, f(42)); +} + +// At this point, the function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink(true, false); +shouldBe(f.__proto__, AsyncFunctionPrototype); +shouldBeAsync(12, f(12)); + +// Check that the allocation did not sink beyond the property assignment +var f = sink(true, true); +shouldBe(f.__proto__, AsyncFunctionPrototype); +shouldBe(42, f.inner); diff --git a/implementation-contributed/javascriptcore/stress/async-generator-assertion.js b/implementation-contributed/javascriptcore/stress/async-generator-assertion.js new file mode 100644 index 0000000000..26b71c7191 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-generator-assertion.js @@ -0,0 +1,36 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +async function* asyncIterator() { + yield 42; +} + +function test1() { + let p = asyncIterator(); + p.next().then((x) => { + assert(x.value === 42); + assert(x.done === false); + }); + p.__proto__ = {}; + assert(p.next === undefined); +} +test1(); + +let error = null; +async function test2() { + let p2 = asyncIterator(); + p2.__proto__ = {}; + try { + for await (let x of p2) { + throw new Error("Bad!"); + } + } + catch(e) { + error = e; + } +} +test2(); +assert(error instanceof TypeError); +assert(error.message === "undefined is not a function (near '...x of p2...')"); diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-async-from-sync.js b/implementation-contributed/javascriptcore/stress/async-iteration-async-from-sync.js new file mode 100644 index 0000000000..a696aa8351 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-async-from-sync.js @@ -0,0 +1,468 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +const Logger = function () { + var log = []; + + this.logEvent = (type, value, done) => { + log.push({ type, value, done}); + }; + this.logFulfilledEvent = (value, done) => { + this.logEvent('fulfilled', value, done); + }; + this.logRejectEvent = error => { + this.logEvent('reject', error.toString(), true); + }; + this.logCatchEvent = value => { + this.logEvent('catch', value, true); + }; + this.getLogger = () => log; + + this.clear = () => { + log = []; + } +}; + +const fulfillSpy = logger => result => logger.logFulfilledEvent(result.value, result.done); +const rejectSpy = logger => error => logger.logRejectEvent(error); +const catchSpy = logger => error => logger.logCatchEvent(error); + +const assertLogger = function (loggerObject) { + const logger = loggerObject.getLogger(); + + var _assertLogger = function () { + let index = 0; + + const isNotOutOfLength = () => { + assert(index < logger.length, true, `Index is greater then log length`); + } + + this.fullfilled = function (expectedValue, message = 'on fulfill') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.fullfilledDone = function (expectedValue, message = 'on fulfill with done true') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.rejected = function (error, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'reject', msg); + assert(step.value, error.toString(), msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.catched = function (expectedError, message = 'on catch') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'catch', msg); + assert(step.value, expectedError, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.isFinal = function (message = '') { + assert(index, logger.length, `expected final step: ${message}`); + }; + }; + + return new _assertLogger(); +}; + +const getPromise = promiseHolder => { + return new Promise((resolve, reject) => { + promiseHolder.resolve = resolve; + promiseHolder.reject = reject; + }); +}; + +var logger = new Logger(); +const someValue = 'some-value'; +const errorMessage = 'error-message'; + +function * foo(value) { + let re = yield '1:' + value; + re = yield '2:' + re; + re = yield '3:' + re; + return 'end foo:' + re; +} + +async function * boo(value) { + let reply = yield '0:' + value; + reply = yield* foo(reply); + yield '4:' + reply; +} + +var b = boo('init'); +const errorprint = error => print(error); +b.next('0').then(fulfillSpy(logger), errorprint); +b.next('1').then(fulfillSpy(logger), errorprint); +b.next('2').then(fulfillSpy(logger), errorprint); +b.next('3').then(fulfillSpy(logger), errorprint); +b.next('4').then(fulfillSpy(logger), errorprint); +b.next('5').then(fulfillSpy(logger), errorprint); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:init') + .fullfilled('1:1') + .fullfilled('2:2') + .fullfilled('3:3') + .fullfilled('4:end foo:4') + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +var b2 = boo(':value'); + +b2.next(':0').then(fulfillSpy(logger)); +b2.next(':1').then(fulfillSpy(logger), rejectSpy(logger)); +b2.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +b2.next(':2').then(fulfillSpy(logger)); +b2.next(':3').then(fulfillSpy(logger)); +b2.next(':4').then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0::value') + .fullfilled('1::1') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +var b2 = boo('#value'); + +b2.next('#0').then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#1').then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#2').then(fulfillSpy(logger), rejectSpy(logger)); +b2.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#3').then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#4').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:#value') + .fullfilled('1:#1') + .fullfilled('2:#2') + .rejected(new Error(errorMessage)) // TODO: Check if this correct + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +function * bar() { + yield '1'; + yield '2'; + throw new Error(errorMessage); + yield '3'; + return 'end foo'; +} + +async function * baz() { + yield '0'; + yield* bar(); + yield '4'; +} + +logger.clear(); +var bz1 = baz(); + +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +let promiseHolder = {}; + +function *joo() { + yield '1'; + yield getPromise(promiseHolder); +} + +async function *goo () { + yield '0'; + yield* joo(); + yield '3'; +} + +let g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.resolve('2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('2') + .fullfilled('3') + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('#2') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('#2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-basic.js b/implementation-contributed/javascriptcore/stress/async-iteration-basic.js new file mode 100644 index 0000000000..cf694764ba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-basic.js @@ -0,0 +1,955 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +const Logger = function () { + var log = []; + + this.logEvent = (type, value, done) => { + log.push({ type, value, done}); + }; + this.logFulfilledEvent = (value, done) => { + this.logEvent('fulfilled', value, done); + }; + this.logRejectEvent = error => { + this.logEvent('reject', error.toString(), true); + }; + this.logCatchEvent = value => { + this.logEvent('catch', value, true); + }; + this.getLogger = () => log; + + this.clear = () => { + log = []; + } +}; + +const fulfillSpy = logger => result => logger.logFulfilledEvent(result.value, result.done); +const rejectSpy = logger => error => logger.logRejectEvent(error); +const catchSpy = logger => error => logger.logCatchEvent(error); + +const assertLogger = function (loggerObject) { + const logger = loggerObject.getLogger(); + + var _assertLogger = function () { + let index = 0; + + const isNotOutOfLength = () => { + assert(index < logger.length, true, `Index is greater then log length`); + } + + this.fullfilled = function (expectedValue, message = 'on fulfill') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.fullfilledDone = function (expectedValue, message = 'on fulfill with done true') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.rejected = function (error, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'reject', msg); + assert(step.value, error.toString(), msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.catched = function (expectedError, message = 'on catch') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'catch', msg); + assert(step.value, expectedError, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.isFinal = function (message = '') { + assert(index, logger.length, `expected final step: ${message}`); + }; + }; + + return new _assertLogger(); +}; + +const getPromise = promiseHolder => { + return new Promise((resolve, reject) => { + promiseHolder.resolve = resolve; + promiseHolder.reject = reject; + }); +}; + +async function*generator () { + yield 42; +} + +var passed = false; +var iterator = generator(); + +iterator.next().then(function(step) { + if(iterator[Symbol.asyncIterator]() === iterator && step.done === false && step.value === 42) passed = true; +}); + +drainMicrotasks(); + +assert(passed, true, ''); + +assert(generator[Symbol.toStringTag], 'AsyncGeneratorFunction'); +assert(Object.prototype.toString.call(generator), '[object AsyncGeneratorFunction]'); + + +var holder = {}; + +var promise = getPromise(holder); +var logger = new Logger(); + +async function * baz(value) { + var t = await promise; + let reply = yield t + ' data-0' + value; + let last = yield t + ' data-1' + reply; + return 'data-result' + last; +} + +var bz1 = baz(':init'); + +bz1.next(':0').then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next(':1').then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next(':2').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .isFinal(); + +holder.resolve('abcd'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-0:init') + .fullfilled('abcd data-1:1') + .fullfilledDone('data-result:2') + .isFinal(); + +logger.clear(); + +promise = getPromise(holder); + +var bz2 = baz(':init'); + +bz2.next(':0').then(fulfillSpy(logger), rejectSpy(logger)); +bz2.next(':1').then(fulfillSpy(logger), rejectSpy(logger)); +bz2.next(':2').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .isFinal(); + +holder.reject('abcd'); + +drainMicrotasks(); + +assertLogger(logger) + .rejected('abcd') + .fullfilledDone() + .fullfilledDone() + .isFinal(); + +var holder1 = {}; holder2 = {}; +var promise1 = getPromise(holder1); +var promise2 = getPromise(holder2); + +logger.clear(); + +async function *boo() { + var t1 = await promise1; + yield t1 + ' data-1'; + yield t1 + ' data-2'; + var t2 = await promise2; + yield t2 + ' data-3'; + yield t2 + ' data-4'; + return 'data-5'; +}; + +var b = boo(); + +b.next().then(fulfillSpy(logger)); +b.next().then(fulfillSpy(logger)); +b.next().then(fulfillSpy(logger)); +b.next().then(fulfillSpy(logger)); +b.next().then(fulfillSpy(logger)); +b.next().then(fulfillSpy(logger)); + +assertLogger(logger) + .isFinal('async generator should not resolve any promise until await is no resolved'); + +holder1.resolve('abcd'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-1') + .fullfilled('abcd data-2') + .isFinal(); + +holder2.resolve('efgh'); +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-1') + .fullfilled('abcd data-2') + .fullfilled('efgh data-3') + .fullfilled('efgh data-4') + .fullfilledDone('data-5') + .fullfilledDone(undefined, error => print(error)) + .isFinal(); + +holder = {}; + +promise = getPromise(holder); + +async function *foo() { + var t = await 'abcd'; + yield t + ' data-5'; + var t2 = await promise; + yield t2 + ' data-6'; +}; + +logger.clear(); + +var f = foo(); + +f.next().then(fulfillSpy(logger)); +f.next().then(fulfillSpy(logger)); +f.next().then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-5') + .isFinal('async generator should not resolve any promise until await is not resolved'); + +holder.resolve('xyz'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-5') + .fullfilled('xyz data-6') + .fullfilledDone(undefined) + .isFinal('async generator should not resolve any promise until await is not resolved'); + +holder = {}; +promise = getPromise(holder); + +async function *goo() { + yield 'data-5'; + var t = await promise; + yield t + ' data-6'; + yield t + ' data-7'; +}; + +logger.clear(); +var errorText = 'error-reject'; +var g = goo(); + +drainMicrotasks(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('data-5') + .isFinal('async generator should not resolve any promise until await is not resolved'); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +assertLogger(logger) + .fullfilled('data-5') + .isFinal('async generator should not resolve any promise until await is not resolved'); + +holder.reject(errorText); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('data-5') + .rejected(errorText) + .fullfilledDone(undefined, 'After reject all resolved value have undefined') + .isFinal(); + +/* Method in class */ + +const someText = 'foo'; +const resolveText = 'bar'; + +logger.clear(); + +holder = {}; +promise = getPromise(holder); + +class A { + async * foo() { yield someText; } + async * boo() { var text = await promise; yield text + someText; } +} +var a = new A; +var gf = a.foo(); + +gf.next().then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(someText) + .isFinal(); + +const gb = a.boo(); + +gb.next().then(fulfillSpy(logger)); + +assertLogger(logger) + .fullfilled(someText) + .isFinal(); + +holder.resolve(resolveText); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(someText) + .fullfilled(resolveText + someText) + .isFinal(); + +/* Async generator function expression */ +logger.clear(); +holder = {}; +promise = getPromise(holder); + +var asyncGenExp = async function *() { var t = await promise; yield t + someText + someText; }; + +var gAsyncGenExp = asyncGenExp(); + +gAsyncGenExp.next().then(fulfillSpy(logger)); + +holder.resolve(resolveText); +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(resolveText + someText + someText) + .isFinal(); + +logger.clear(); + +/*Test throw*/ +async function *joo() { + yield 'data-1'; + yield 'data-2'; + yield 'data-3'; +}; + +var j = joo(); +var errorTextInFunction = "ErrorInFunction"; +const errorWrongGenerator = "|this| should be an async generator"; +let errorRaised = false; + +j.next() +.then(function(value) { + fulfillSpy(logger)(value); + return j.throw(new Error(errorTextInFunction)); +}) +.then(function (value) { + fulfillSpy(logger)(value); +}, function (error) { + rejectSpy(logger)(error); + return j.next(); +}) +.then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('data-1') + .rejected((new Error(errorTextInFunction)).toString()) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +var j1 = joo(); + +j1.throw(new Error(errorText)).then(fulfillSpy(logger), rejectSpy(logger)); +j1.next().then(fulfillSpy(logger), rejectSpy(logger)); +j1.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new Error(errorText)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +var j2 = joo(); + +const returnValue = 'return-value'; + +j1.return(returnValue).then(fulfillSpy(logger), rejectSpy(logger)); +j1.throw(new Error(errorText)).then(fulfillSpy(logger), rejectSpy(logger)); +j1.next().then(fulfillSpy(logger), rejectSpy(logger)); +j1.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilledDone(returnValue) + .rejected(new Error(errorText)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +let j3 = joo(); + +j3.next.call(undefined).then(fulfillSpy(logger), rejectSpy(logger)); +drainMicrotasks(); + +assertLogger(logger) + .rejected(new TypeError(errorWrongGenerator)) + .isFinal(); + +logger.clear(); +j3 = joo(); + +j3.next.call(undefined).then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new TypeError(errorWrongGenerator)) + .fullfilled('data-1') + .fullfilled('data-2') + .fullfilled('data-3') + .isFinal(); + +logger.clear(); +j3 = joo(); + +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); +j3.next.call(undefined).then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new TypeError(errorWrongGenerator)) + .fullfilled('data-1') + .fullfilled('data-2') + .fullfilled('data-3') + .isFinal(); + +logger.clear(); +j3 = joo(); + +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); +j3.next.call(undefined).then(fulfillSpy(logger), rejectSpy(logger)); +j3.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new TypeError(errorWrongGenerator)) + .fullfilled('data-1') + .fullfilled('data-2') + .fullfilled('data-3') + .isFinal(); + +logger.clear(); +j3 = joo(); + +j3.next.call({}).catch(rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new TypeError(errorWrongGenerator)) + +logger.clear(); +j3 = joo(); +j3.next.call('string').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new TypeError(errorWrongGenerator)) + .isFinal(); + +logger.clear(); +j3 = joo(); +let gen = generator(); +j3.next.call(gen).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(42) + .isFinal(); + +logger.clear(); +holder = {}; +promise = getPromise(holder); + +async function *koo() { + var t = await 'abcd'; + yield t + ' data-first'; + var t2 = await promise; + yield t2 + ' data-second'; + yield t2 + ' data-third'; +}; + +const k1 = koo(); + +k1.next().then(fulfillSpy(logger)); +k1.next().then(fulfillSpy(logger)); + +k1.throw(new Error(errorText)).then(fulfillSpy(logger), rejectSpy(logger)); +k1.next().then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-first') + .isFinal(); + +holder.resolve('xyz'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-first') + .fullfilled('xyz data-second') + .rejected(new Error(errorText)) + .fullfilledDone(undefined) + .isFinal(); + + +logger.clear(); +holder = {}; +promise = getPromise(holder); + +const k2 = koo(); + +k2.next().then(fulfillSpy(logger)); +k2.next().then(fulfillSpy(logger)); + +k2.return(returnValue).then(fulfillSpy(logger)); + +holder.resolve('xyz'); + +k2.throw(new Error(errorText)).then(fulfillSpy(logger), rejectSpy(logger)); +k2.next().then(fulfillSpy(logger)); +k2.next().then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abcd data-first') + .fullfilled('xyz data-second') + .fullfilledDone(returnValue) + .rejected(new Error(errorText)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + + +logger.clear(); +holder = {}; +promise = getPromise(holder); + +async function *loo() { + var t = await promise; + throw new Error(errorText); + yield t + 'data-first'; + yield t + 'data-second'; +}; + +const l1 = loo(); + +l1.next().then(fulfillSpy(logger), rejectSpy(logger)); +l1.next().then(fulfillSpy(logger), rejectSpy(logger)); +l1.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .isFinal(); + +holder.resolve('qwe'); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new Error(errorText)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +holder = {}; +promise = getPromise(holder); + +const l2 = loo(); + +l2.throw(new Error('another error')).then(fulfillSpy(logger), rejectSpy(logger)); +l2.next().then(fulfillSpy(logger), rejectSpy(logger)); +l2.next().then(fulfillSpy(logger), rejectSpy(logger)); + +holder.resolve('abc'); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new Error('another error')) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +holder = {}; +promise = getPromise(holder); + +const l3 = loo(); + +l3.return(someText).then(fulfillSpy(logger), rejectSpy(logger)); +l3.next().then(fulfillSpy(logger), rejectSpy(logger)); +l3.next().then(fulfillSpy(logger), rejectSpy(logger)); + +holder.resolve(resolveText); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilledDone(someText) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +async function *moo() { + throw new Error(errorText); + yield t + 'data-first'; + yield t + 'data-second'; +}; + +const m1 = moo(); + +m1.next().then(fulfillSpy(logger), rejectSpy(logger)); +m1.next().then(fulfillSpy(logger), rejectSpy(logger)); +m1.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new Error(errorText)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +const m2 = moo(); + +m2.throw(new Error('another error')).then(fulfillSpy(logger), rejectSpy(logger)); +m2.next().then(fulfillSpy(logger), rejectSpy(logger)); +m2.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(new Error('another error')) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +const m3 = moo(); + +m3.return(someText).then(fulfillSpy(logger), rejectSpy(logger)); +m3.next().then(fulfillSpy(logger), rejectSpy(logger)); +m3.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilledDone(someText) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +async function* noo() { + const x = Promise.resolve(1); + const y = Promise.resolve(2); + + const fromX = yield x; + return y; +} + +const n1 = noo(); + +let value1 = Promise.resolve("a"); +let value2 = Promise.resolve("b"); + +n1.next(value1).then(fulfillSpy(logger), rejectSpy(logger)); +n1.next(value2).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilledDone(2) + .isFinal(); + +logger.clear(); + +const n2 = noo(); + +value1 = Promise.resolve("a"); +value2 = Promise.resolve("b"); + +n2.return(value1).then(fulfillSpy(logger), rejectSpy(logger)); +n2.next(value2).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilledDone('a') + .fullfilledDone() + .isFinal(); + +logger.clear(); + +promise = getPromise(holder); + +async function *ooo() { + yield promise; +} + +const o1 = ooo(); + +o1.next(value1).then(fulfillSpy(logger), rejectSpy(logger)); + +holder.reject("a"); + +drainMicrotasks(); + +assertLogger(logger) + .rejected('a') + .isFinal(); + +logger.clear(); + +promise = getPromise(holder); + +async function *roo() { + try { + yield promise; + } catch (e) { + yield e; + } +} + +const r1 = roo(); +value1 = 'value-1'; +value2 = 'value-2'; +value3 = 'value-3'; + +r1.next().then(fulfillSpy(logger), rejectSpy(logger)); +r1.next(value1).then(fulfillSpy(logger), rejectSpy(logger)); +r1.next(value1).then(fulfillSpy(logger), rejectSpy(logger)); + +holder.reject("abc"); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('abc') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +holder1 = {}; +holder2 = {}; +promise1 = getPromise(holder1); +promise2 = getPromise(holder2); + +async function *poo() { + try { + yield promise1; + } catch (e) { + yield promise2; + } +} + +const p1 = poo(); + +p1.next().then(fulfillSpy(logger), rejectSpy(logger)); +p1.next(value3).then(fulfillSpy(logger), rejectSpy(logger)); +p1.next(value3).then(fulfillSpy(logger), rejectSpy(logger)); + +holder1.reject(value1); +holder2.reject(value2); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(value2) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +async function *soo() { + yield 1; +} + +const endValue = 'end-value-1'; + +logger.clear(); + +const s1 = soo(); + +s1.next().then(fulfillSpy(logger), rejectSpy(logger)); +s1.next().then(fulfillSpy(logger), rejectSpy(logger)); +s1.return(Promise.resolve(endValue)).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilledDone() + .fullfilledDone(endValue) + .isFinal(); + +logger.clear(); + +const s2 = soo(); + +s2.next().then(fulfillSpy(logger), rejectSpy(logger)); +s2.next().then(fulfillSpy(logger), rejectSpy(logger)); +s2.return(Promise.reject(endValue)).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilledDone() + .rejected(endValue) + .isFinal(); + +logger.clear(); +const s3 = soo(); + +s3.next().then(fulfillSpy(logger), rejectSpy(logger)); +s3.next().then(fulfillSpy(logger), rejectSpy(logger)); +s3.return(endValue).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilledDone() + .fullfilledDone(endValue) + .isFinal(); + +logger.clear(); + +const s4 = soo(); +promise1 = Promise.resolve(endValue); + +s4.next().then(fulfillSpy(logger), rejectSpy(logger)); +s4.next().then(fulfillSpy(logger), rejectSpy(logger)); +s4.throw(promise1).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilledDone() + .rejected(promise1) + .isFinal(); + +logger.clear(); + +const s5 = soo(); + +s5.next().then(fulfillSpy(logger), rejectSpy(logger)); +s5.next().then(fulfillSpy(logger), rejectSpy(logger)); +s5.throw(endValue).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilledDone() + .rejected(endValue) + .isFinal(); + +async function *too() { + return Promise.resolve('abcd'); +} + +logger.clear(); + +const t = too(); + +t.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilledDone('abcd') + .isFinal(); diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-evaluation.js b/implementation-contributed/javascriptcore/stress/async-iteration-evaluation.js new file mode 100644 index 0000000000..2f472ee13b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-evaluation.js @@ -0,0 +1,20 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +let error = false; + +async function * foo(value = obj) { + yield '1'; + return 'end'; +} + +try { + var f = foo(); +} catch(e) { + error = e instanceof ReferenceError; +} + +assert(error, true, 'Error in arguments declaration should to error during evaluation of async generator.'); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-for-await-of-syntax.js b/implementation-contributed/javascriptcore/stress/async-iteration-for-await-of-syntax.js new file mode 100644 index 0000000000..ba1621c11b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-for-await-of-syntax.js @@ -0,0 +1,118 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +function checkSyntax(src) { + try { + eval(src); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Syntax Error: " + String(error) + "\n script: `" + src + "`"); + } +} + +function checkSyntaxError(src, message) { + var bError = false; + try { + eval(src); + } catch (error) { + bError = error instanceof SyntaxError && (String(error) === message || typeof message === 'undefined'); + } + if (!bError) { + throw new Error("Expected syntax Error: " + message + "\n in script: `" + src + "`"); + } +} + +(function checkSimpleAsyncGeneratorSloppyMode() { + checkSyntax('var a1 = async function*asyncGenWithName1(){ for await(const value of foo()) {} }'); + checkSyntax('var a1 = async function asyncWithName1(){ for await(const value of foo()) {} }'); + checkSyntax('var a1 = async function*asyncGenWithName1(){ for await(let value of foo()) {} }'); + checkSyntax('var a1 = async function asyncWithName1(){ for await(let value of foo()) {} }'); +})(); + +(function checkSimpleAsyncGeneratorStrictMode() { + checkSyntax('"use strict"; var a1 = async function*asyncGenWithName1(){ for await(const value of foo()) {} }'); + checkSyntax('"use strict"; var a1 = async function asyncWithName1(){ for await(const value of foo()) {} }'); + checkSyntax('"use strict"; var a1 = async function*asyncGenWithName1(){ for await(let value of foo()) {} }'); + checkSyntax('"use strict"; var a1 = async function asyncWithName1(){ for await(let value of foo()) {} }'); +})(); + + +(function checkNestedAsyncGenerators() { + var wrappers = [ + {start: 'var a1 = async function*asyncGenWithName1(){', finish: '}'}, + {start: 'async function*asyncGenWithName2(){ ', finish: '}'}, + {start: 'async function asyncWithName2(){ ', finish: '}'}, + {start: 'class A { async * method() { ', finish: ' } }'}, + {start: 'var a1 = async () => {', finish: '}'}, + {start: 'var a1 = async () => { try { ', finish: ' } catch (e) {} }'}, + {start: 'var a1 = async () => { { ', finish: ' } }'}, + {start: 'var a1 = async () => { if (true) { ', finish: ' } }'}, + {start: 'var a1 = async () => { if (true) ', finish: ' }'}, + {start: 'var a1 = async () => { if (true) foo(); else { ', finish: ' } }'}, + {start: 'var a1 = async () => { while (true) { ', finish: ' } }'}, + {start: 'var a1 = async () => { for(;;) { ', finish: ' } }'}, + {start: 'var a1 = async () => { switch(e) { case \'1\' : ', finish: ' } }'}, + ]; + + expressions = [ + 'for await(const value of foo()) {}', + 'for await(let value of foo()) {}', + 'for await(var value of foo()) {}', + 'for await(var [a, b] of foo()) {}', + 'for await(let {a, b} of foo()) {}', + 'for await(const [... b] of foo()) {}', + 'for await(const [,,, b] of foo()) {}', + 'for await(const value of boo) {}', + 'for await(let value of boo) {}', + 'for await(const value of foo().boo()) {}', + 'for await(let value of foo.boo()) {}', + 'for await(let value of foo.boo(value)) {}', + 'for await(let value of [1,2,3]) {}', + 'for await(value of [1,2,3]) {}', + 'for await(value of x + x) {}', + 'for await(value of f()) {}', + 'for await(value of (x + x)) {}', + ]; + + wrappers.forEach(wrapper => { + expressions.forEach(exp => { + checkSyntax(wrapper.start + exp + wrapper.finish); + }); + }) +})(); + + +(function checkSimpleAsyncGeneratorSyntaxErrorInSloppyMode() { + checkSyntaxError("var asyncGenFn = function () { for await(const value of foo()) {} }"); + checkSyntaxError("var asyncGenFn = async function () { var arr = () => { for await(const value of foo()) {} } }"); + checkSyntaxError("var asyncGenFn = function* () { for await(const value of foo()) {} }"); + checkSyntaxError("var asyncGenFn = async function* () { var arr = () => { for await(const value of foo()) {} } }"); + checkSyntaxError('var a1 = async function*asyncGenWithName1(){ for await(const value in foo()) {} }'); + checkSyntaxError('var a1 = async function asyncWithName1(){ for await(const value in foo()) {} }'); + checkSyntaxError('var a1 = async function asyncWithName1(){ for await (;;) {} }'); + checkSyntaxError("var a1 = async function asyncWithName1(){ for await (let v = 4;;) {} }"); + checkSyntaxError("var a1 = async function asyncWithName1(){ for await (let v of f();;) {} }"); + checkSyntaxError("var a1 = async function asyncWithName1(){ for await (let v of boo;;) {} }"); + checkSyntaxError("var a1 = async function asyncWithName1(){ for await (let v of boo of) {} }"); + checkSyntaxError("async function asyncWithName1(){ for await (let v of boo in) {} }"); + checkSyntaxError("async function asyncWithName1(){ for await (v in x + x ) {} }"); +})(); + +(function checkSimpleAsyncGeneratorSyntaxErrorInStrictMode() { + checkSyntaxError("'use strict'; var asyncGenFn = function () { for await(const value of foo()) {} }"); + checkSyntaxError("'use strict'; var asyncGenFn = async function () { var arr = () => { for await(const value of foo()) {} } }"); + checkSyntaxError("'use strict'; var asyncGenFn = function* () { for await(const value of foo()) {} }"); + checkSyntaxError("'use strict'; var asyncGenFn = async function* () { var arr = () => { for await(const value of foo()) {} } }"); + checkSyntaxError("'use strict'; var a1 = async function*asyncGenWithName1(){ for await(const value in foo()) {} }"); + checkSyntaxError("'use strict'; var a1 = async function asyncWithName1(){ for await(const value in foo()) {} }"); + checkSyntaxError("'use strict'; var a1 = async function asyncWithName1(){ for await (;;) {} }"); + checkSyntaxError("'use strict'; var a1 = async function asyncWithName1(){ for await (let v = 4;;) {} }"); + checkSyntaxError("'use strict'; var a1 = async function asyncWithName1(){ for await (let v of f();;) {} }"); + checkSyntaxError("'use strict'; var a1 = async function asyncWithName1(){ for await (let v of boo;;) {} }"); + checkSyntaxError("'use strict'; var a1 = async function asyncWithName1(){ for await (let v of boo of) {} }"); + checkSyntaxError("'use strict'; async function asyncWithName1(){ for await (let v of boo in) {} }"); + checkSyntaxError("'use strict'; async function asyncWithName1(){ for await (v in x + x ) {} }"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-for-await-of.js b/implementation-contributed/javascriptcore/stress/async-iteration-for-await-of.js new file mode 100644 index 0000000000..6ecad0f76d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-for-await-of.js @@ -0,0 +1,280 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; +var result = 0; +async function * foo() { yield 1; yield Promise.resolve(2); return 3;}; + +async function boo () { + for await (const value of foo()) { + result = result + value; + } +} + +boo(); + +drainMicrotasks(); + +assert(result, 3); + +result = 0; + +{ + const boo = async function () { + for await (const val of foo()) { + result = result + val; + } + } + + boo(); + + drainMicrotasks(); + + assert(result, 3); +} + +{ + result = 0; + const boo = async function () { + for await (const val of [1, 2, 3]) { + result = result + val; + } + } + + boo(); + + drainMicrotasks(); + + assert(result, 6); +} + +{ + let error = false; + + const boo = async function () { + for await (const val of 1) { + result = result + val; + } + } + + boo().catch(raisedError => error = raisedError instanceof TypeError); + + drainMicrotasks(); + + assert(error, true); +} + +{ + let conter = 0; + const o = { + [Symbol.asyncIterator]() { + return this + }, + next(args) { + return { done: true } + } + } + + result = -1; + const boo = async function () { + for await (const val of o) { + conter++; + result = val; + } + } + + boo(); + + drainMicrotasks(); + + assert(conter, 0); + assert(result, -1); +} + +{ + let conter = 0; + const o = { + [Symbol.asyncIterator]() { + this.index = 0; + return this + }, + next(args) { + this.index++; + if (this.index <= 10) + return { done: false, value: this.index }; + else + return { done: true, value: this.index }; + } + } + + result = 0; + const boo = async function () { + for await (const val of o) { + conter++; + result += val; + } + } + + boo(); + + drainMicrotasks(); + + assert(conter, 10); + assert(result, 55); +} + +{ + let conter = 0; + let error = false; + + const o = { + [Symbol.asyncIterator]() { + this.index = 0; + return this + }, + next(args) { + this.index++; + if (this.index <= 10) + return { done: false, value: this.index }; + else + throw new Error('some error'); + } + } + + result = 0; + const boo = async function () { + for await (const val of o) { + conter++; + result += val; + } + } + + boo().catch(e => { error = e instanceof Error && e.message === 'some error'; }); + + drainMicrotasks(); + + assert(conter, 10); + assert(result, 55); + assert(error, true); +} + +{ + let conter = 0; + let error = false; + let emptyParam = false; + + const o = { + [Symbol.asyncIterator]() { + this.index = 0; + return this + }, + next(args) { + emptyParam = args === undefined; + this.index++; + if (this.index <= 10) + return { done: false, value: this.index }; + else + throw new Error('some error'); + } + } + + result = 0; + const boo = async function () { + try { + for await (const val of o) { + conter++; + result += val; + } + } catch (e) { + error = e instanceof Error && e.message === 'some error'; + } + } + + boo(); + + drainMicrotasks(); + + assert(conter, 10); + assert(result, 55); + assert(error, true); + assert(emptyParam, true); +} + +{ + let conter = 0; + let error = false; + + const o = { + [Symbol.asyncIterator]() { + this.index = 0; + return this + }, + next(args) { + this.index++; + if (this.index <= 10) + return { done: false, value: this.index }; + else + return { done: true, value: this.index }; + } + } + + result = 0; + const boo = async function () { + if (true) { + for await (const val of o) { + conter++; + result += val; + } + } + } + + boo(); + + drainMicrotasks(); + + assert(conter, 10); + assert(result, 55); +} + +{ + let conter = 0; + let error = false; + let emptyParam = false; + + const o = { + [Symbol.iterator]() { + this.index = 0; + return this + }, + next(args) { + emptyParam = args === undefined; + this.index++; + if (this.index <= 10) + return { done: false, value: this.index }; + else + throw new Error('some error'); + } + } + + result = 0; + const boo = async function () { + try { + for await (const val of o) { + conter++; + result += val; + } + } catch (e) { + error = e instanceof Error && e.message === 'some error'; + } + } + + boo(); + + drainMicrotasks(); + + assert(conter, 10); + assert(result, 55); + assert(error, true); + assert(emptyParam, true); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-syntax.js b/implementation-contributed/javascriptcore/stress/async-iteration-syntax.js new file mode 100644 index 0000000000..826277e135 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-syntax.js @@ -0,0 +1,122 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +function checkSyntax(src) { + try { + eval(src); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Syntax Error: " + String(error) + "\n script: `" + src + "`"); + } +} + +function checkSyntaxError(src, message) { + var bError = false; + try { + eval(src); + } catch (error) { + bError = error instanceof SyntaxError && (String(error) === message || typeof message === 'undefined'); + } + if (!bError) { + throw new Error("Expected syntax Error: " + message + "\n in script: `" + src + "`"); + } +} + +(function checkSimpleAsyncGeneratorSloppyMode() { + checkSyntax('var a1 = async function*asyncGenWithName1(){}'); + checkSyntax('var a2 = async function *asyncGenWithName2(){ yield 11; }'); + checkSyntax('var a3 = async function * asyncGenWithName2(){ await p; yield 11; }'); + checkSyntax('var d1 = async function*(){}'); + checkSyntax('var d2 = async function* (){ yield 11; }'); + checkSyntax('var d3 = async function * (){ await p; yield 11; }'); + checkSyntax('async function* withName1(){ }'); + checkSyntax('async function *withName2(){ yield 11; }'); + checkSyntax('async function * withName3(){ await p; yield 11; }'); + checkSyntax('class A { async * method() { } }'); + checkSyntax('class B { async * method() {yield 11;} }'); + checkSyntax('class C { async * method() {yield 11; await p;} }'); + checkSyntax('class D { async * "method"() {yield 11; await p;} }'); + checkSyntax('class F { async * 0() {yield 11; await p;} }'); + checkSyntax('var obj = { async * method() {yield 11; await p;} }'); + checkSyntax('({ async foo() {} })'); + checkSyntax('({ async : 1 })'); +})(); + +(function checkSimpleAsyncGeneratorStrictMode() { + checkSyntax('"use strict"; var a1 = async function*asyncGenWithName1(){}'); + checkSyntax('"use strict"; var a2 = async function *asyncGenWithName2(){ yield 11; }'); + checkSyntax('"use strict"; var a3 = async function * asyncGenWithName2(){ await p; yield 11; }'); + checkSyntax('"use strict"; var d1 = async function*(){}'); + checkSyntax('"use strict"; var d2 = async function* (){ yield 11; }'); + checkSyntax('"use strict"; var d3 = async function * (){ await p; yield 11; }'); + checkSyntax('"use strict"; async function* withName1(){ }'); + checkSyntax('"use strict"; async function *withName2(){ yield 11; }'); + checkSyntax('"use strict"; async function * withName3(){ await p; yield 11; }'); + checkSyntax('"use strict"; class A { async * method() { } }'); + checkSyntax('"use strict"; class B { async * method() {yield 11;} }'); + checkSyntax('"use strict"; class C { async * method() {yield 11; await p;} }'); + checkSyntax('"use strict"; class D { async * "method"() {yield 11; await p;} }'); + checkSyntax('"use strict"; class E { async * ["calc" + "ulate"]() {yield 11; await p;} }'); + checkSyntax('"use strict"; class F { async * 0() {yield 11; await p;} }'); + checkSyntax('"use strict"; var obj = { async * method() {yield 11; await p;} }'); + checkSyntax('"use strict"; ({ async foo() {} })'); + checkSyntax('"use strict"; ({ async : 1 })'); +})(); + + +(function checkNestedAsyncGenerators() { + var wrappers = [ + {start: 'var a1 = async function*asyncGenWithName1(){', finish: '}'}, + {start: 'async function*asyncGenWithName2(){ ', finish: '}'}, + {start: 'class A { async * method() { ', finish: ' } }'} + ]; + + expressions = [ + 'await 10; yield 11; return 12;', + 'var async = 10; yield async;', + 'var async = 10; await async;', + 'var async = 10; return async;', + 'var async = function() {}; return async;', + 'var async = function() {}; return async();', + ]; + + wrappers.forEach(wrapper => { + expressions.forEach(exp => { + checkSyntax(wrapper.start + exp + wrapper.finish); + }); + }) +})(); + + +(function checkSimpleAsyncGeneratorSyntaxErrorInSloppyMode() { + checkSyntaxError("var asyncGenFn = async function *await() {}"); + checkSyntaxError("var asyncGenFn = async function*(await) {}"); + checkSyntaxError("var asyncGenFn = async function *withName(await) {}"); + checkSyntaxError("async function *asyncGeneratorFunctionDeclaration(await) {}"); + checkSyntaxError("var asyncGenFn = *async function () {}"); + checkSyntaxError("var asyncGenFn = *async function withName() {}"); + checkSyntaxError("*async function asyncGeneratorFunctionDeclaration(await) {}"); + checkSyntaxError("var obj = { *async asyncGeneratorMethod() {} };"); + checkSyntaxError("var obj = { async asyncGeneratorMethod*() {} };"); + checkSyntaxError("class A { get async* ttt() {} }"); + checkSyntaxError("class B { get *async ttt() {} }"); + checkSyntaxError('({ async = 1 })'); +})(); + +(function checkSimpleAsyncGeneratorSyntaxErrorInStrictMode() { + checkSyntaxError("'use strict'; var asyncGenFn = async function *await() {}"); + checkSyntaxError("'use strict'; var asyncGenFn = async function*(await) {}"); + checkSyntaxError("'use strict'; var asyncGenFn = async function *withName(await) {}"); + checkSyntaxError("'use strict'; async function *asyncGeneratorFunctionDeclaration(await) {}"); + checkSyntaxError("'use strict'; var asyncGenFn = *async function () {}"); + checkSyntaxError("'use strict'; var asyncGenFn = *async function withName() {}"); + checkSyntaxError("'use strict'; *async function asyncGeneratorFunctionDeclaration(await) {}"); + checkSyntaxError("'use strict'; var obj = { *async asyncGeneratorMethod() {} };"); + checkSyntaxError("'use strict'; var obj = { async asyncGeneratorMethod*() {} };"); + checkSyntaxError("'use strict'; class A { get async* ttt() {} }"); + checkSyntaxError("'use strict'; class B { get *async ttt() {} }"); + checkSyntaxError("'use strict'; ({ async = 1 })"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-yield-promise.js b/implementation-contributed/javascriptcore/stress/async-iteration-yield-promise.js new file mode 100644 index 0000000000..e42a64a4ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-yield-promise.js @@ -0,0 +1,470 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +const Logger = function () { + var log = []; + + this.logEvent = (type, value, done) => { + log.push({ type, value, done}); + }; + this.logFulfilledEvent = (value, done) => { + this.logEvent('fulfilled', value, done); + }; + this.logRejectEvent = error => { + this.logEvent('reject', error.toString(), true); + }; + this.logCatchEvent = value => { + this.logEvent('catch', value, true); + }; + this.getLogger = () => log; + + this.clear = () => { + log = []; + } +}; + +const fulfillSpy = logger => result => logger.logFulfilledEvent(result.value, result.done); +const rejectSpy = logger => error => logger.logRejectEvent(error); +const catchSpy = logger => error => logger.logCatchEvent(error); + +const assertLogger = function (loggerObject) { + const logger = loggerObject.getLogger(); + + var _assertLogger = function () { + let index = 0; + + const isNotOutOfLength = () => { + assert(index < logger.length, true, `Index is greater then log length`); + } + + this.fullfilled = function (expectedValue, message = 'on fulfill') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.fullfilledDone = function (expectedValue, message = 'on fulfill with done true') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.rejected = function (error, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'reject', msg); + assert(step.value, error.toString(), msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.catched = function (expectedError, message = 'on catch') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'catch', msg); + assert(step.value, expectedError, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.isFinal = function (message = '') { + assert(index, logger.length, `expected final step: ${message}`); + }; + }; + + return new _assertLogger(); +}; + +const getPromise = promiseHolder => { + return new Promise((resolve, reject) => { + promiseHolder.resolve = resolve; + promiseHolder.reject = reject; + }); +}; + +var logger = new Logger(); +const someValue = 'some-value'; +const errorMessage = 'error-message'; +const promiseHolder = {}; + +async function * foo(val) { + let reply = yield '0:' + val; + reply = yield getPromise(promiseHolder); + return 'end foo:' + reply; +} + +let f = foo(someValue); + +f.next(someValue + ':0').then(fulfillSpy(logger)); +f.next(someValue + ':1').then(fulfillSpy(logger)); +f.next(someValue + ':2').then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:' + someValue) + .isFinal(); + +promiseHolder.resolve('1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:' + someValue) + .fullfilled('1') + .fullfilledDone('end foo:' + someValue + ':2') + .isFinal(); + +logger.clear(); + +f = foo('init'); + +f.next('0').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('1').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('2').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:init') + .isFinal(); + +promiseHolder.reject('1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:init') + .rejected('1') + .fullfilledDone() + .isFinal(); + +logger.clear(); + +f = foo('init'); + +f.next('0').then(fulfillSpy(logger)).catch(catchSpy(logger)); +f.next('1').then(fulfillSpy(logger)).catch(catchSpy(logger)); +f.next('2').then(fulfillSpy(logger)).catch(catchSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:init') + .isFinal(); + +promiseHolder.reject('1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:init') + .fullfilledDone(undefined) + .catched('1') + .isFinal(); + +logger.clear(); + +const promiseHolder1 = {}; +const promiseHolder2 = {}; + +async function * boo() { + const promise1 = getPromise(promiseHolder1); + const promise2 = getPromise(promiseHolder2); + yield '0'; + yield promise1; + yield '1'; + yield promise2; + return 'end foo'; +} + +let b = boo(); + +b.next().then(fulfillSpy(logger)).catch(catchSpy(logger)); +b.next().then(fulfillSpy(logger)).catch(catchSpy(logger)); +b.next().then(fulfillSpy(logger)).catch(catchSpy(logger)); +b.next().then(fulfillSpy(logger)).catch(catchSpy(logger)); +b.next().then(fulfillSpy(logger)).catch(catchSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder1.resolve('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('#1') + .fullfilled('1') + .isFinal(); + +promiseHolder2.resolve('#2'); +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('#1') + .fullfilled('1') + .fullfilled('#2') + .fullfilledDone('end foo') + .isFinal(); + + +logger.clear(); + +b = boo(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder1.resolve('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('#1') + .fullfilled('1') + .isFinal(); + +promiseHolder2.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('#1') + .fullfilled('1') + .rejected('#2') + .fullfilledDone() + .isFinal(); + +logger.clear(); + +b = boo(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder1.reject('#1'); +promiseHolder2.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .rejected('#1') + .fullfilledDone() + .fullfilledDone() + .fullfilledDone() + .isFinal(); + +logger.clear(); + +b = boo(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder2.reject('#2'); +promiseHolder1.reject('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .rejected('#1') + .fullfilledDone() + .fullfilledDone() + .fullfilledDone() + .isFinal(); + +async function * bar() { + yield '0'; + yield getPromise(promiseHolder1); + throw new Error(errorMessage); + yield getPromise(promiseHolder2); + return 'end foo'; +} + +logger.clear(); +b = bar(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + + +promiseHolder1.resolve('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('#1') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +b = bar(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder1.reject('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .rejected('#1') + .fullfilledDone() + .fullfilledDone() + .isFinal(); + +logger.clear(); +b = bar(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .isFinal(); + +promiseHolder1.resolve('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +b = bar(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder1.resolve('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled("#1") + .fullfilledDone(someValue) + .isFinal(); + +logger.clear(); +b = bar(); + +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.next().then(fulfillSpy(logger), rejectSpy(logger)); +b.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .isFinal(); + +promiseHolder1.reject('#1'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .rejected("#1") + .fullfilledDone(someValue) + .isFinal(); diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-yield-star-interface.js b/implementation-contributed/javascriptcore/stress/async-iteration-yield-star-interface.js new file mode 100644 index 0000000000..3bc32e9d6d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-yield-star-interface.js @@ -0,0 +1,490 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +const getPromise = promiseHolder => { + return new Promise((resolve, reject) => { + promiseHolder.resolve = resolve; + promiseHolder.reject = reject; + }); +}; + +const Logger = function () { + var log = []; + + this.logEvent = (type, value, done) => { + log.push({ type, value, done}); + }; + this.logFulfilledEvent = (value, done) => { + this.logEvent('fulfilled', value, done); + }; + this.logRejectEvent = error => { + this.logEvent('reject', error.toString(), true); + }; + this.logCatchEvent = value => { + this.logEvent('catch', value, true); + }; + this.logCustomEvent = event => { + this.logEvent('custom', event, false); + }; + this.getLogger = () => log; + + this.clear = () => { + log = []; + } +}; + +const fulfillSpy = logger => result => logger.logFulfilledEvent(result.value, result.done); +const rejectSpy = logger => error => logger.logRejectEvent(error); +const catchSpy = logger => error => logger.logCatchEvent(error); +const customSpy = logger => event => logger.logCustomEvent(event); + +const assertLogger = function (loggerObject) { + const logger = loggerObject.getLogger(); + + var _assertLogger = function () { + let index = 0; + + const isNotOutOfLength = () => { + assert(index < logger.length, true, `Index is greater then log length`); + } + + this.fullfilled = function (expectedValue, message = 'on fulfill') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.fullfilledDone = function (expectedValue, message = 'on fulfill with done true') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.rejected = function (error, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'reject', msg); + assert(step.value, error.toString(), msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.catched = function (expectedError, message = 'on catch') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'catch', msg); + assert(step.value, expectedError, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.custom = function (expectedValue, message = 'on custom event') { + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'custom', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.isFinal = function (message = '') { + assert(index, logger.length, `expected final step: ${message}`); + }; + }; + + return new _assertLogger(); +}; + +var logger = new Logger(); +const someValue = 'some-value'; +const errorMessage = 'error-message'; + +let asyncIter = { + [Symbol.asyncIterator]() { return this; }, + next (value) { + customSpy(logger)('next:' + value); + return { value: value, done: 'iter:Finish' === value }; + }, + throw (error) { + customSpy(logger)('throw:' + error); + return error; + }, + return(value) { + customSpy(logger)('return:' + value); + return { value: value, done: true }; + } + }; + +async function *foo () { + yield '0'; + yield* asyncIter; + yield '3'; +} + +let f = foo('Init'); + +f.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('C').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('E').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('next:C') + .fullfilled(undefined) + .custom('next:D') + .fullfilled("C") + .custom('next:E') + .fullfilled("D") + .custom('next:iter:Finish') + .fullfilled("E") + .fullfilled("3") + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +f = foo('Init'); + +f.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +f.return('C').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('E').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:C') + .fullfilled(undefined) + .fullfilledDone("C") + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +f = foo('Init'); + +f.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +f.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +f.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('E').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +f.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('throw:' + new Error(errorMessage)) + .fullfilled(undefined) + .custom('next:D') + .fullfilled(undefined) + .custom('next:E') + .fullfilled('D') + .custom('next:iter:Finish') + .fullfilled('E') + .fullfilled('3') + .fullfilledDone(undefined) + .isFinal(); + +asyncIter = { + [Symbol.asyncIterator]() { return this; }, + next (value) { + customSpy(logger)('next:' + value); + return { value: value, done: 'iter:Finish' === value }; + } + }; + +async function *boo () { + yield '0'; + yield* asyncIter; + yield '3'; +} + +let b = boo('Init'); + +logger.clear(); + +b.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('C').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('next:C') + .fullfilled(undefined) + .custom('next:D') + .fullfilled("C") + .custom("next:iter:Finish") + .fullfilled("D") + .fullfilled("3") + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +b = boo('Init'); + +b.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +b.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +b.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .fullfilled(undefined) + .rejected('TypeError: Delegated generator does not have a \'throw\' method.') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +asyncIter = { + [Symbol.asyncIterator]() { return this; }, + next (value) { + customSpy(logger)('next:' + value); + return { value: value, done: 'iter:Finish' === value }; + }, + return (value) { + customSpy(logger)('return:' + value); + return { value: value, done: true }; + } + }; + +async function *bar () { + yield '0'; + yield* asyncIter; + yield '3'; +} + +b = bar('Init'); + +logger.clear(); + +b.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +b.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +b.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .rejected('TypeError: Delegated generator does not have a \'throw\' method.') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +let ph = {}; + +asyncIter = { + [Symbol.asyncIterator]() { return this; }, + next (value) { + customSpy(logger)('next:' + value); + return { value: value, done: 'iter:Finish' === value }; + }, + return (value) { + customSpy(logger)('return:' + value); + return { value: getPromise(ph), done: true }; + } + }; + +async function *baz () { + yield '0'; + yield* asyncIter; + yield '3'; +} + +b = baz('Init'); + +logger.clear(); + +b.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +b.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +b.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +b.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .rejected('TypeError: Delegated generator does not have a \'throw\' method.') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +ph.resolve('accept'); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .rejected('TypeError: Delegated generator does not have a \'throw\' method.') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +ph = {}; + +asyncIter = { + [Symbol.asyncIterator]() { return this; }, + next (value) { + customSpy(logger)('next:' + value); + return { value: value, done: 'iter:Finish' === value }; + }, + return (value) { + customSpy(logger)('return:' + value); + return getPromise(ph); + } + }; + +async function *foobar () { + yield '0'; + yield* asyncIter; + yield '3'; +} + +fb = foobar('Init'); + +logger.clear(); + +fb.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +fb.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .isFinal(); + +ph.resolve({ value: 'value', done: true }); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .rejected('TypeError: Delegated generator does not have a \'throw\' method.') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +fb = foobar('Init'); + +logger.clear(); + +fb.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +fb.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +fb.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .isFinal(); + +ph.resolve('X'); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:undefined') + .fullfilled(undefined) + .rejected('TypeError: Iterator result interface is not an object.') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); diff --git a/implementation-contributed/javascriptcore/stress/async-iteration-yield-star.js b/implementation-contributed/javascriptcore/stress/async-iteration-yield-star.js new file mode 100644 index 0000000000..4ef2117742 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/async-iteration-yield-star.js @@ -0,0 +1,684 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +const Logger = function () { + var log = []; + + this.logEvent = (type, value, done) => { + log.push({ type, value, done}); + }; + this.logFulfilledEvent = (value, done) => { + this.logEvent('fulfilled', value, done); + }; + this.logRejectEvent = error => { + this.logEvent('reject', error.toString(), true); + }; + this.logCatchEvent = value => { + this.logEvent('catch', value, true); + }; + this.logCustomEvent = event => { + this.logEvent('custom', event, false); + }; + this.getLogger = () => log; + + this.clear = () => { + log = []; + } +}; + +const fulfillSpy = logger => result => logger.logFulfilledEvent(result.value, result.done); +const rejectSpy = logger => error => logger.logRejectEvent(error); +const catchSpy = logger => error => logger.logCatchEvent(error); +const customSpy = logger => event => logger.logCustomEvent(event); + +const assertLogger = function (loggerObject) { + const logger = loggerObject.getLogger(); + + var _assertLogger = function () { + let index = 0; + + const isNotOutOfLength = () => { + assert(index < logger.length, true, `Index is greater then log length`); + } + + this.fullfilled = function (expectedValue, message = 'on fulfill') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.fullfilledDone = function (expectedValue, message = 'on fulfill with done true') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.rejected = function (error, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'reject', msg); + assert(step.value, error.toString(), msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.catched = function (expectedError, message = 'on catch') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'catch', msg); + assert(step.value, expectedError, msg); + assert(step.done, true, msg); + + index++; + return this; + }; + + this.custom = function (expectedValue, message = 'on custom event') { + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'custom', msg); + assert(step.value, expectedValue, msg); + assert(step.done, false, msg); + + index++; + return this; + }; + + this.isFinal = function (message = '') { + assert(index, logger.length, `expected final step: ${message}`); + }; + }; + + return new _assertLogger(); +}; + +const getPromise = promiseHolder => { + return new Promise((resolve, reject) => { + promiseHolder.resolve = resolve; + promiseHolder.reject = reject; + }); +}; + +var logger = new Logger(); +const someValue = 'some-value'; +const errorMessage = 'error-message'; + +async function * foo(value) { + let re = yield '1:' + value; + re = yield '2:' + re; + re = yield '3:' + re; + return 'end foo:' + re; +} + +async function * boo(value) { + let reply = yield '0:' + value; + reply = yield* foo(reply); + yield '4:' + reply; +} + +var b = boo('init'); + +b.next('0').then(fulfillSpy(logger)); +b.next('1').then(fulfillSpy(logger)); +b.next('2').then(fulfillSpy(logger)); +b.next('3').then(fulfillSpy(logger)); +b.next('4').then(fulfillSpy(logger)); +b.next('5').then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:init') + .fullfilled('1:1') + .fullfilled('2:2') + .fullfilled('3:3') + .fullfilled('4:end foo:4') + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +var b2 = boo(':value'); + +b2.next(':0').then(fulfillSpy(logger)); +b2.next(':1').then(fulfillSpy(logger), rejectSpy(logger)); +b2.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +b2.next(':2').then(fulfillSpy(logger)); +b2.next(':3').then(fulfillSpy(logger)); +b2.next(':4').then(fulfillSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0::value') + .fullfilled('1::1') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +var b2 = boo('#value'); + +b2.next('#0').then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#1').then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#2').then(fulfillSpy(logger), rejectSpy(logger)); +b2.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#3').then(fulfillSpy(logger), rejectSpy(logger)); +b2.next('#4').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0:#value') + .fullfilled('1:#1') + .fullfilled('2:#2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +async function * bar() { + yield '1'; + yield '2'; + throw new Error(errorMessage); + yield '3'; + return 'end foo'; +} + +async function * baz() { + yield '0'; + yield* bar(); + yield '4'; +} + +logger.clear(); +var bz1 = baz(); + +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); +bz1.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +let promiseHolder = {}; + +async function *joo() { + yield '1'; + yield getPromise(promiseHolder); +} + +async function *goo () { + yield '0'; + yield* joo(); + yield '3'; +} + +let g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.resolve('2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('2') + .fullfilled('3') + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('#2') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.return(someValue).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .fullfilledDone(someValue) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('#2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +g = goo(); + +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); +g.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .rejected(new Error(errorMessage)) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +async function *koo() { + yield '1'; + await getPromise(promiseHolder); +} + +async function *loo () { + yield '0'; + yield* joo(); + yield '3'; +} + +let l = loo(); + +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + + assertLogger(logger) + .fullfilled("0") + .fullfilled("1") + .isFinal(); + +promiseHolder.resolve('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .fullfilled('#2') + .fullfilled("3") + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); +l = loo(); + +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); +l.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled("0") + .fullfilled("1") + .isFinal(); + +promiseHolder.reject('#2'); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled('0') + .fullfilled('1') + .rejected('#2') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +let asyncIter = { + [Symbol.asyncIterator]() { return this; }, + next (value) { + customSpy(logger)('next:' + value); + return { value: value, done: 'iter:Finish' === value }; + }, + throw (error) { + customSpy(logger)('throw:' + error); + return error; + }, + return(value) { + customSpy(logger)('return:' + value); + return { value: value, done: true }; + } + }; + +async function *moo () { + yield '0'; + yield* asyncIter; + yield '3'; +} + +let m = moo('Init'); + +m.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('C').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('E').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('next:C') + .fullfilled(undefined) + .custom('next:D') + .fullfilled('C') + .custom('next:E') + .fullfilled('D') + .custom('next:iter:Finish') + .fullfilled('E') + .fullfilled('3') + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +m = moo('Init'); + +m.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +m.return('C').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('E').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('return:C') + .fullfilled(undefined) + .fullfilledDone('C') + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +m = moo('Init'); + +m.next('A').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('B').then(fulfillSpy(logger), rejectSpy(logger)); +m.throw(new Error(errorMessage)).then(fulfillSpy(logger), rejectSpy(logger)); +m.next('D').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('E').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('iter:Finish').then(fulfillSpy(logger), rejectSpy(logger)); +m.next('Finish').then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .custom('next:undefined') + .fullfilled('0') + .custom('throw:' + new Error(errorMessage)) + .fullfilled(undefined) + .custom('next:D') + .fullfilled(undefined) + .custom('next:E') + .fullfilled('D') + .custom('next:iter:Finish') + .fullfilled('E') + .fullfilled('3') + .fullfilledDone(undefined) + .isFinal(); + +logger.clear(); + +async function* noo() { + try { + await Promise.reject("doop"); + } finally { + yield* [1, 2, 3]; // Is this line reachable in this implementation? + } +} + +const n = noo(); + +n.next().then(fulfillSpy(logger), rejectSpy(logger)); +n.next().then(fulfillSpy(logger), rejectSpy(logger)); +n.next().then(fulfillSpy(logger), rejectSpy(logger)); +n.next().then(fulfillSpy(logger), rejectSpy(logger)); +n.next().then(fulfillSpy(logger), rejectSpy(logger)); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilled(2) + .fullfilled(3) + .rejected('doop'); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/atomics-add-uint32.js b/implementation-contributed/javascriptcore/stress/atomics-add-uint32.js new file mode 100644 index 0000000000..9b008e1543 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/atomics-add-uint32.js @@ -0,0 +1,14 @@ +//@ skip +var sab = new SharedArrayBuffer(4); +var a = new Uint32Array(sab); +var result = Atomics.add(a, 0, 4000000000); +if (result != 0) + throw new Error("bad result: " + result); +if (a[0] != 4000000000) + throw new Error("bad value read back: " + a[0]); +result = Atomics.sub(a, 0, 4000000000); +if (result != 4000000000) + throw new Error("bad result: " + result); +if (a[0] != 0) + throw new Error("bad value read back: " + a[0]); + diff --git a/implementation-contributed/javascriptcore/stress/atomics-known-int-use.js b/implementation-contributed/javascriptcore/stress/atomics-known-int-use.js new file mode 100644 index 0000000000..80731ea7c8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/atomics-known-int-use.js @@ -0,0 +1,32 @@ +//@ skip +// Break type inference. +var o = {f: 42.5}; + +function foo(a, i) { + return Atomics.exchange(a, i.f, 42); +} + +noInline(foo); + +var array = new Int32Array(new SharedArrayBuffer(4)); + +for (var i = 0; i < 10000; ++i) { + array[0] = 13; + var result = foo(array, {f: 0}); + if (result != 13) + throw "Error in loop: bad result: " + result; + if (array[0] != 42) + throw "Error in loop: bad value in array: " + array[0]; +} + +var success = false; +try { + array[0] = 14; + var result = foo(array, {f: 42.5}); + success = true; +} catch (e) { + if (e.name != "RangeError") + throw "Error: bad error type: " + e; +} +if (success) + throw "Error: expected to fail, but didn't." diff --git a/implementation-contributed/javascriptcore/stress/atomics-neg-zero.js b/implementation-contributed/javascriptcore/stress/atomics-neg-zero.js new file mode 100644 index 0000000000..0a8e52c7bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/atomics-neg-zero.js @@ -0,0 +1,4 @@ +//@ skip +var sab = new SharedArrayBuffer(4); +var a = new Int32Array(sab); +Atomics.add(a, -0, 1); // This should not throw. diff --git a/implementation-contributed/javascriptcore/stress/atomics-store-return.js b/implementation-contributed/javascriptcore/stress/atomics-store-return.js new file mode 100644 index 0000000000..787a1fd243 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/atomics-store-return.js @@ -0,0 +1,27 @@ +//@ skip +var sab = new SharedArrayBuffer(1); +var a = new Int8Array(sab); +var result = Atomics.store(a, 0, 1000); +if (result != 1000) + throw new Error("bad result: " + result); + +sab = new SharedArrayBuffer(4); +a = new Uint32Array(sab); +result = Atomics.store(a, 0, 4000000000); +if (result != 4000000000) + throw new Error("bad result: " + result); +if (a[0] != 4000000000) + throw new Error("bad value read back: " + a[0]); +result = Atomics.store(a, 0, -4000000000); +if (result != -4000000000) + throw new Error("bad result: " + result); +if (a[0] != 294967296) + throw new Error("bad value read back: " + a[0]); + +var count = 0; +result = Atomics.store(a, 0, { valueOf() { count++; return 42; } }); +if (result != 42) + throw new Error("bad result: " + result); +if (count != 1) + throw new Error("bad count: " + count); + diff --git a/implementation-contributed/javascriptcore/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js b/implementation-contributed/javascriptcore/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js new file mode 100644 index 0000000000..f3f6ea7771 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/b3-delete-orphans-should-neutralize-upsilons-with-dead-phis.js @@ -0,0 +1,9 @@ +//@ runFTLNoCJIT + +(function () { + for (var i = 0; i < 1000000; ++i) { + const v = Array & 1 ? v : 1; + } +}()); + + diff --git a/implementation-contributed/javascriptcore/stress/baseline-osrentry-catch-is-reachable.js b/implementation-contributed/javascriptcore/stress/baseline-osrentry-catch-is-reachable.js new file mode 100644 index 0000000000..bef218819a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/baseline-osrentry-catch-is-reachable.js @@ -0,0 +1,17 @@ +// Regression test for bug 185281. This should terminate without throwing. + +// These values are added to increase bytecode count. +let foo = {}; +foo.x = null; +foo.y = null; +let z = null; +let z2 = {}; + +for (var i = 0; i <= 10; i++) { + for (var j = 0; j <= 100; j++) { + try { + xxx; + for (;;) {} + } catch (e) {} + } +} diff --git a/implementation-contributed/javascriptcore/stress/basic-eden-gc-test.js b/implementation-contributed/javascriptcore/stress/basic-eden-gc-test.js new file mode 100644 index 0000000000..7d399e40f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/basic-eden-gc-test.js @@ -0,0 +1,4 @@ +var o = {f:42}; +edenGC(); +var p = {f:42}; +edenGC(); diff --git a/implementation-contributed/javascriptcore/stress/basic-weakmap.js b/implementation-contributed/javascriptcore/stress/basic-weakmap.js new file mode 100644 index 0000000000..df55badab0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/basic-weakmap.js @@ -0,0 +1,45 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new WeakMap(); + var key1 = {}; + var key2 = {}; + var key3 = []; + + var res1 = map.get(key1); + map.set(key1, 42); + var res2 = map.get(key1); + + shouldBe(res1, undefined); + shouldBe(res2, 42); + + var res3 = map.get(key2); + map.set(key3, 43); + var res4 = map.get(key2); + + shouldBe(res3, undefined); + shouldBe(res4, undefined); + + shouldBe(map.get(key3), 43); + + map.delete(key3); + shouldBe(map.get(key3), undefined); + + shouldBe(map.get(key1), 42); + map.delete(key1); + shouldBe(map.get(key1), undefined); + shouldBe(map.has(key1), false); + + map.set(key1, 44); + shouldBe(map.get(key1), 44); + shouldBe(map.has(key1), true); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/basic-weakset.js b/implementation-contributed/javascriptcore/stress/basic-weakset.js new file mode 100644 index 0000000000..36280dab33 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/basic-weakset.js @@ -0,0 +1,43 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var set = new WeakSet(); + var key1 = {}; + var key2 = {}; + var key3 = []; + + var res1 = set.has(key1); + set.add(key1); + var res2 = set.has(key1); + + shouldBe(res1, false); + shouldBe(res2, true); + + var res3 = set.has(key2); + set.add(key3); + var res4 = set.has(key2); + + shouldBe(res3, false); + shouldBe(res4, false); + + shouldBe(set.has(key3), true); + + set.delete(key3); + shouldBe(set.has(key3), false); + + shouldBe(set.has(key1), true); + set.delete(key1); + shouldBe(set.has(key1), false); + + set.add(key1); + shouldBe(set.has(key1), true); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/big-int-add-wrapped-value.js b/implementation-contributed/javascriptcore/stress/big-int-add-wrapped-value.js new file mode 100644 index 0000000000..8a378bfbce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-add-wrapped-value.js @@ -0,0 +1,37 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testAdd(x, y, z, message) { + assert.sameValue(x + y, z, message); + assert.sameValue(y + x, z, message); +} + +testAdd(Object(2n), 1n, 3n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +}; +testAdd(o, 1n, 3n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + } +}; +testAdd(o, 1n, 3n, "ToPrimitive: valueOf"); + +o = { + toString: function() { + return 2n; + } +} +testAdd(o, 1n, 3n, "ToPrimitive: toString"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-basic.js b/implementation-contributed/javascriptcore/stress/big-int-addition-basic.js new file mode 100644 index 0000000000..d10f2a2b83 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-basic.js @@ -0,0 +1,170 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testAdd(x, y, z) { + assert.sameValue(x + y, z, x + " + " + y + " = " + z); + assert.sameValue(y + x, z, y + " + " + x + " = " + z); +} + +testAdd(10n, 239n, 249n); +testAdd(0xFEDCBA9876543210n, 0xFEDCBA9876543210n, 0x1FDB97530ECA86420n); +testAdd(0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, 0x1FDB97530ECA8641Fn); +testAdd(0xFEDCBA9876543210n, 0xFEDCBA98n, 0xFEDCBA997530ECA8n); +testAdd(0xFEDCBA9876543210n, 0xFEDCBA97n, 0xFEDCBA997530ECA7n); +testAdd(0xFEDCBA9876543210n, 0x1234n, 0xFEDCBA9876544444n); +testAdd(0xFEDCBA9876543210n, 0x3n, 0xFEDCBA9876543213n); +testAdd(0xFEDCBA9876543210n, 0x2n, 0xFEDCBA9876543212n); +testAdd(0xFEDCBA9876543210n, 0x1n, 0xFEDCBA9876543211n); +testAdd(0xFEDCBA9876543210n, 0x0n, 0xFEDCBA9876543210n); +testAdd(0xFEDCBA9876543210n, -0x1n, 0xFEDCBA987654320Fn); +testAdd(0xFEDCBA9876543210n, -0x2n, 0xFEDCBA987654320En); +testAdd(0xFEDCBA9876543210n, -0x3n, 0xFEDCBA987654320Dn); +testAdd(0xFEDCBA9876543210n, -0x1234n, 0xFEDCBA9876541FDCn); +testAdd(0xFEDCBA9876543210n, -0xFEDCBA97n, 0xFEDCBA9777777779n); +testAdd(0xFEDCBA9876543210n, -0xFEDCBA98n, 0xFEDCBA9777777778n); +testAdd(0xFEDCBA9876543210n, -0xFEDCBA987654320Fn, 0x1n); +testAdd(0xFEDCBA9876543210n, -0xFEDCBA9876543210n, 0x0n); +testAdd(0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, 0x1FDB97530ECA8641En); +testAdd(0xFEDCBA987654320Fn, 0xFEDCBA98n, 0xFEDCBA997530ECA7n); +testAdd(0xFEDCBA987654320Fn, 0xFEDCBA97n, 0xFEDCBA997530ECA6n); +testAdd(0xFEDCBA987654320Fn, 0x1234n, 0xFEDCBA9876544443n); +testAdd(0xFEDCBA987654320Fn, 0x3n, 0xFEDCBA9876543212n); +testAdd(0xFEDCBA987654320Fn, 0x2n, 0xFEDCBA9876543211n); +testAdd(0xFEDCBA987654320Fn, 0x1n, 0xFEDCBA9876543210n); +testAdd(0xFEDCBA987654320Fn, 0x0n, 0xFEDCBA987654320Fn); +testAdd(0xFEDCBA987654320Fn, -0x1n, 0xFEDCBA987654320En); +testAdd(0xFEDCBA987654320Fn, -0x2n, 0xFEDCBA987654320Dn); +testAdd(0xFEDCBA987654320Fn, -0x3n, 0xFEDCBA987654320Cn); +testAdd(0xFEDCBA987654320Fn, -0x1234n, 0xFEDCBA9876541FDBn); +testAdd(0xFEDCBA987654320Fn, -0xFEDCBA97n, 0xFEDCBA9777777778n); +testAdd(0xFEDCBA987654320Fn, -0xFEDCBA98n, 0xFEDCBA9777777777n); +testAdd(0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn, 0x0n); +testAdd(0xFEDCBA987654320Fn, -0xFEDCBA9876543210n, -0x1n); +testAdd(0xFEDCBA98n, 0xFEDCBA98n, 0x1FDB97530n); +testAdd(0xFEDCBA98n, 0xFEDCBA97n, 0x1FDB9752Fn); +testAdd(0xFEDCBA98n, 0x1234n, 0xFEDCCCCCn); +testAdd(0xFEDCBA98n, 0x3n, 0xFEDCBA9Bn); +testAdd(0xFEDCBA98n, 0x2n, 0xFEDCBA9An); +testAdd(0xFEDCBA98n, 0x1n, 0xFEDCBA99n); +testAdd(0xFEDCBA98n, 0x0n, 0xFEDCBA98n); +testAdd(0xFEDCBA98n, -0x1n, 0xFEDCBA97n); +testAdd(0xFEDCBA98n, -0x2n, 0xFEDCBA96n); +testAdd(0xFEDCBA98n, -0x3n, 0xFEDCBA95n); +testAdd(0xFEDCBA98n, -0x1234n, 0xFEDCA864n); +testAdd(0xFEDCBA98n, -0xFEDCBA97n, 0x1n); +testAdd(0xFEDCBA98n, -0xFEDCBA98n, 0x0n); +testAdd(0xFEDCBA98n, -0xFEDCBA987654320Fn, -0xFEDCBA9777777777n); +testAdd(0xFEDCBA98n, -0xFEDCBA9876543210n, -0xFEDCBA9777777778n); +testAdd(0xFEDCBA97n, 0xFEDCBA97n, 0x1FDB9752En); +testAdd(0xFEDCBA97n, 0x1234n, 0xFEDCCCCBn); +testAdd(0xFEDCBA97n, 0x3n, 0xFEDCBA9An); +testAdd(0xFEDCBA97n, 0x2n, 0xFEDCBA99n); +testAdd(0xFEDCBA97n, 0x1n, 0xFEDCBA98n); +testAdd(0xFEDCBA97n, 0x0n, 0xFEDCBA97n); +testAdd(0xFEDCBA97n, -0x1n, 0xFEDCBA96n); +testAdd(0xFEDCBA97n, -0x2n, 0xFEDCBA95n); +testAdd(0xFEDCBA97n, -0x3n, 0xFEDCBA94n); +testAdd(0xFEDCBA97n, -0x1234n, 0xFEDCA863n); +testAdd(0xFEDCBA97n, -0xFEDCBA97n, 0x0n); +testAdd(0xFEDCBA97n, -0xFEDCBA98n, -0x1n); +testAdd(0xFEDCBA97n, -0xFEDCBA987654320Fn, -0xFEDCBA9777777778n); +testAdd(0xFEDCBA97n, -0xFEDCBA9876543210n, -0xFEDCBA9777777779n); +testAdd(0x1234n, 0x1234n, 0x2468n); +testAdd(0x1234n, 0x3n, 0x1237n); +testAdd(0x1234n, 0x2n, 0x1236n); +testAdd(0x1234n, 0x1n, 0x1235n); +testAdd(0x1234n, 0x0n, 0x1234n); +testAdd(0x1234n, -0x1n, 0x1233n); +testAdd(0x1234n, -0x2n, 0x1232n); +testAdd(0x1234n, -0x3n, 0x1231n); +testAdd(0x1234n, -0x1234n, 0x0n); +testAdd(0x1234n, -0xFEDCBA97n, -0xFEDCA863n); +testAdd(0x1234n, -0xFEDCBA98n, -0xFEDCA864n); +testAdd(0x1234n, -0xFEDCBA987654320Fn, -0xFEDCBA9876541FDBn); +testAdd(0x1234n, -0xFEDCBA9876543210n, -0xFEDCBA9876541FDCn); +testAdd(0x3n, 0x3n, 0x6n); +testAdd(0x3n, 0x2n, 0x5n); +testAdd(0x3n, 0x1n, 0x4n); +testAdd(0x3n, 0x0n, 0x3n); +testAdd(0x3n, -0x1n, 0x2n); +testAdd(0x3n, -0x2n, 0x1n); +testAdd(0x3n, -0x3n, 0x0n); +testAdd(0x3n, -0x1234n, -0x1231n); +testAdd(0x3n, -0xFEDCBA97n, -0xFEDCBA94n); +testAdd(0x3n, -0xFEDCBA98n, -0xFEDCBA95n); +testAdd(0x3n, -0xFEDCBA987654320Fn, -0xFEDCBA987654320Cn); +testAdd(0x3n, -0xFEDCBA9876543210n, -0xFEDCBA987654320Dn); +testAdd(0x2n, 0x2n, 0x4n); +testAdd(0x2n, 0x1n, 0x3n); +testAdd(0x2n, 0x0n, 0x2n); +testAdd(0x2n, -0x1n, 0x1n); +testAdd(0x2n, -0x2n, 0x0n); +testAdd(0x2n, -0x3n, -0x1n); +testAdd(0x2n, -0x1234n, -0x1232n); +testAdd(0x2n, -0xFEDCBA97n, -0xFEDCBA95n); +testAdd(0x2n, -0xFEDCBA98n, -0xFEDCBA96n); +testAdd(0x2n, -0xFEDCBA987654320Fn, -0xFEDCBA987654320Dn); +testAdd(0x2n, -0xFEDCBA9876543210n, -0xFEDCBA987654320En); +testAdd(0x1n, 0x1n, 0x2n); +testAdd(0x1n, 0x0n, 0x1n); +testAdd(0x1n, -0x1n, 0x0n); +testAdd(0x1n, -0x2n, -0x1n); +testAdd(0x1n, -0x3n, -0x2n); +testAdd(0x1n, -0x1234n, -0x1233n); +testAdd(0x1n, -0xFEDCBA97n, -0xFEDCBA96n); +testAdd(0x1n, -0xFEDCBA98n, -0xFEDCBA97n); +testAdd(0x1n, -0xFEDCBA987654320Fn, -0xFEDCBA987654320En); +testAdd(0x1n, -0xFEDCBA9876543210n, -0xFEDCBA987654320Fn); +testAdd(0x0n, 0x0n, 0x0n); +testAdd(0x0n, -0x1n, -0x1n); +testAdd(0x0n, -0x2n, -0x2n); +testAdd(0x0n, -0x3n, -0x3n); +testAdd(0x0n, -0x1234n, -0x1234n); +testAdd(0x0n, -0xFEDCBA97n, -0xFEDCBA97n); +testAdd(0x0n, -0xFEDCBA98n, -0xFEDCBA98n); +testAdd(0x0n, -0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn); +testAdd(0x0n, -0xFEDCBA9876543210n, -0xFEDCBA9876543210n); +testAdd(-0x1n, -0x1n, -0x2n); +testAdd(-0x1n, -0x2n, -0x3n); +testAdd(-0x1n, -0x3n, -0x4n); +testAdd(-0x1n, -0x1234n, -0x1235n); +testAdd(-0x1n, -0xFEDCBA97n, -0xFEDCBA98n); +testAdd(-0x1n, -0xFEDCBA98n, -0xFEDCBA99n); +testAdd(-0x1n, -0xFEDCBA987654320Fn, -0xFEDCBA9876543210n); +testAdd(-0x1n, -0xFEDCBA9876543210n, -0xFEDCBA9876543211n); +testAdd(-0x2n, -0x2n, -0x4n); +testAdd(-0x2n, -0x3n, -0x5n); +testAdd(-0x2n, -0x1234n, -0x1236n); +testAdd(-0x2n, -0xFEDCBA97n, -0xFEDCBA99n); +testAdd(-0x2n, -0xFEDCBA98n, -0xFEDCBA9An); +testAdd(-0x2n, -0xFEDCBA987654320Fn, -0xFEDCBA9876543211n); +testAdd(-0x2n, -0xFEDCBA9876543210n, -0xFEDCBA9876543212n); +testAdd(-0x3n, -0x3n, -0x6n); +testAdd(-0x3n, -0x1234n, -0x1237n); +testAdd(-0x3n, -0xFEDCBA97n, -0xFEDCBA9An); +testAdd(-0x3n, -0xFEDCBA98n, -0xFEDCBA9Bn); +testAdd(-0x3n, -0xFEDCBA987654320Fn, -0xFEDCBA9876543212n); +testAdd(-0x3n, -0xFEDCBA9876543210n, -0xFEDCBA9876543213n); +testAdd(-0x1234n, -0x1234n, -0x2468n); +testAdd(-0x1234n, -0xFEDCBA97n, -0xFEDCCCCBn); +testAdd(-0x1234n, -0xFEDCBA98n, -0xFEDCCCCCn); +testAdd(-0x1234n, -0xFEDCBA987654320Fn, -0xFEDCBA9876544443n); +testAdd(-0x1234n, -0xFEDCBA9876543210n, -0xFEDCBA9876544444n); +testAdd(-0xFEDCBA97n, -0xFEDCBA97n, -0x1FDB9752En); +testAdd(-0xFEDCBA97n, -0xFEDCBA98n, -0x1FDB9752Fn); +testAdd(-0xFEDCBA97n, -0xFEDCBA987654320Fn, -0xFEDCBA997530ECA6n); +testAdd(-0xFEDCBA97n, -0xFEDCBA9876543210n, -0xFEDCBA997530ECA7n); +testAdd(-0xFEDCBA98n, -0xFEDCBA98n, -0x1FDB97530n); +testAdd(-0xFEDCBA98n, -0xFEDCBA987654320Fn, -0xFEDCBA997530ECA7n); +testAdd(-0xFEDCBA98n, -0xFEDCBA9876543210n, -0xFEDCBA997530ECA8n); +testAdd(-0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn, -0x1FDB97530ECA8641En); +testAdd(-0xFEDCBA987654320Fn, -0xFEDCBA9876543210n, -0x1FDB97530ECA8641Fn); +testAdd(-0xFEDCBA9876543210n, -0xFEDCBA9876543210n, -0x1FDB97530ECA86420n); +testAdd(18446744073709551617n, -18446744073709551616n, 1n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-jit.js b/implementation-contributed/javascriptcore/stress/big-int-addition-jit.js new file mode 100644 index 0000000000..1158e0a0c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-jit.js @@ -0,0 +1,19 @@ +//@ runBigIntEnabled + +let assert = { + sameValue: function(i, e, m) { + if (i !== e) + throw new Error(m); + } +} + +function bigIntAddition(x, y) { + return x + y; +} +noInline(bigIntAddition); + +for (let i = 0; i < 10000; i++) { + let r = bigIntAddition(3n, 10n); + assert.sameValue(r, 13n, 3n + " + " + 10n + " = " + r); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-memory-stress.js b/implementation-contributed/javascriptcore/stress/big-int-addition-memory-stress.js new file mode 100644 index 0000000000..8b1aeb1975 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-memory-stress.js @@ -0,0 +1,14 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let a = 0n; +for (let i = 0; i < 1000000; i++) { + a += 30n; +} + +assert(a === 30000000n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-string-coercion.js b/implementation-contributed/javascriptcore/stress/big-int-addition-string-coercion.js new file mode 100644 index 0000000000..bbde05a346 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-string-coercion.js @@ -0,0 +1,25 @@ +//@ runBigIntEnabled + +function assert(input, expected) { + if (input !== expected) + throw new Error("Bad!"); +} + +assert(-1n + "", "-1"); +assert("" + -1n, "-1"); +assert(0n + "", "0"); +assert("" + 0n, "0"); +assert(1n + "", "1"); +assert("" + 1n, "1"); +assert(123456789000000000000000n + "", "123456789000000000000000"); +assert("" + 123456789000000000000000n, "123456789000000000000000"); +assert(-123456789000000000000000n + "", "-123456789000000000000000"); +assert("" + -123456789000000000000000n, "-123456789000000000000000"); + +assert([] + -123456789000000000000000n, "-123456789000000000000000"); +assert(-123456789000000000000000n + [], "-123456789000000000000000"); + +let a = {}; +assert(a + 3n, "[object Object]3"); +assert(3n + a, "3[object Object]"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive-precedence.js b/implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive-precedence.js new file mode 100644 index 0000000000..cdedc142fc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive-precedence.js @@ -0,0 +1,39 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testAdd(x, y, z, message) { + assert.sameValue(x + y, z, message); + assert.sameValue(y + x, z, message); +} + +testAdd(Object(2n), 1n, 3n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + valueOf: function () { + throw new Error("Should never execute it"); + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testAdd(o, 1n, 3n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testAdd(o, 1n, 3n, "ToPrimitive: valueOf"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive.js b/implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive.js new file mode 100644 index 0000000000..2f65f9c539 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-to-primitive.js @@ -0,0 +1,39 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert.sameValue = function (input, expected, message) { + if (input !== expected) + throw new Error(message); +} + +function testAdd(x, y, z) { + assert.sameValue(x + y, z, x + " + " + y + " = " + z); + assert.sameValue(y + x, z, y + " + " + x + " = " + z); +} + +let o = { + [Symbol.toPrimitive]: function () { return 300000000000000n; } +} + +testAdd(500000000000438n, o, 800000000000438n); + +o.valueOf = function () { + throw new Error("Should never execute it"); +}; + +testAdd(700000000000438n, o, 1000000000000438n); + +o.toString = function () { + throw new Error("Should never execute it"); +}; + +testAdd(700000000000438n, o, 1000000000000438n); + +delete o.valueOf; + +testAdd(700000000000438n, o, 1000000000000438n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-addition-type-error.js b/implementation-contributed/javascriptcore/stress/big-int-addition-type-error.js new file mode 100644 index 0000000000..e2f824c0d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-addition-type-error.js @@ -0,0 +1,104 @@ +//@ runBigIntEnabled + +function assert(a, message) { + if (!a) + throw new Error(message); +} + +function assertThrowTypeError(a, b, message) { + try { + let n = a + b; + assert(false, message + ": Should throw TypeError, but executed without exception"); + } catch (e) { + assert(e instanceof TypeError, message + ": expected TypeError, got: " + e); + } +} + +assertThrowTypeError(30n, Symbol("foo"), "BigInt + Symbol"); +assertThrowTypeError(Symbol("bar"), 18757382984821n, "Symbol + BigInt"); +assertThrowTypeError(30n, 3320, "BigInt + Int32"); +assertThrowTypeError(33256, 18757382984821n, "Int32 + BigInt"); +assertThrowTypeError(30n, 0.543, "BigInt + Double"); +assertThrowTypeError(230.19293, 18757382984821n, "Double + BigInt"); +assertThrowTypeError(30n, NaN, "BigInt + NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN + BigInt"); +assertThrowTypeError(30n, NaN, "BigInt + NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN + BigInt"); +assertThrowTypeError(30n, +Infinity, "BigInt + NaN"); +assertThrowTypeError(+Infinity, 18757382984821n, "NaN + BigInt"); +assertThrowTypeError(30n, -Infinity, "BigInt + -Infinity"); +assertThrowTypeError(-Infinity, 18757382984821n, "-Infinity + BigInt"); +assertThrowTypeError(30n, null, "BigInt + null"); +assertThrowTypeError(null, 18757382984821n, "null + BigInt"); +assertThrowTypeError(30n, undefined, "BigInt + undefined"); +assertThrowTypeError(undefined, 18757382984821n, "undefined + BigInt"); +assertThrowTypeError(30n, true, "BigInt + true"); +assertThrowTypeError(true, 18757382984821n, "true + BigInt"); +assertThrowTypeError(30n, false, "BigInt + false"); +assertThrowTypeError(false, 18757382984821n, "false + BigInt"); + +// Error when returning from object + +let o = { + valueOf: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.valueOf returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Symbol + BigInt"); + +o = { + valueOf: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.valueOf returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Int32 + BigInt"); + +o = { + valueOf: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.valueOf returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Double + BigInt"); + +o = { + toString: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.toString returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Symbol + BigInt"); + +o = { + toString: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.toString returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Int32 + BigInt"); + +o = { + toString: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.toString returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Double + BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.@@toPrimitive returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Symbol + BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.@@toPrimitive returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Int32 + BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt + Object.@@toPrimitive returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Double + BigInt"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-as-key.js b/implementation-contributed/javascriptcore/stress/big-int-as-key.js new file mode 100644 index 0000000000..eeae472f70 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-as-key.js @@ -0,0 +1,14 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let o = {}; +let n = BigInt(0); + +o[n] = "foo"; +assert(o[n] === "foo"); +assert(o["0"] === "foo"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-constructor-gc.js b/implementation-contributed/javascriptcore/stress/big-int-constructor-gc.js new file mode 100644 index 0000000000..2fd2777099 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-constructor-gc.js @@ -0,0 +1,19 @@ +//@ runBigIntEnabled + +function assert(expected, value) { + if (expected !== value) + throw new Error("Bad assertion. Expected: " + expected + " and value was: " + value); +} + +let arr = []; + +for (let i = 0; i < 1000000; i++) { + arr[i] = BigInt(i.toString()); +} + +gc(); + +for (let i = 0; i < 1000000; i++) { + assert(i.toString(), arr[i].toString()); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-constructor-oom.js b/implementation-contributed/javascriptcore/stress/big-int-constructor-oom.js new file mode 100644 index 0000000000..1afa8108f1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-constructor-oom.js @@ -0,0 +1,21 @@ +//@ if $buildType == "debug" or $memoryLimited then skip else runBigIntEnabled end + +function assert(a) { + if (!a) + throw new Error("Bad"); +} + +var longStr = "f"; +for (var i = 0; i < 30; ++i) + longStr = longStr + longStr; + +let sub = longStr.substring(0, longStr.length - 4) +let sNumber = "0x" + longStr + sub + "f"; + +try { + BigInt(sNumber); + assert(false); +} catch(e) { + assert(e.message == "Out of memory") +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-constructor-properties.js b/implementation-contributed/javascriptcore/stress/big-int-constructor-properties.js new file mode 100644 index 0000000000..11f1fcdc23 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-constructor-properties.js @@ -0,0 +1,23 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +(() => { + let p = Object.getOwnPropertyDescriptor(BigInt, "asUintN"); + + assert(p.enumerable === false); + assert(p.configurable === true); + assert(p.writable === true); +})(); + +(() => { + let p = Object.getOwnPropertyDescriptor(BigInt, "asIntN"); + + assert(p.enumerable === false); + assert(p.configurable === true); + assert(p.writable === true); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-constructor-prototype-prop-descriptor.js b/implementation-contributed/javascriptcore/stress/big-int-constructor-prototype-prop-descriptor.js new file mode 100644 index 0000000000..c8102d9761 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-constructor-prototype-prop-descriptor.js @@ -0,0 +1,13 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let p = Object.getOwnPropertyDescriptor(BigInt, "prototype"); + +assert(p.writable === false); +assert(p.enumerable === false); +assert(p.configurable === false); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-constructor-prototype.js b/implementation-contributed/javascriptcore/stress/big-int-constructor-prototype.js new file mode 100644 index 0000000000..9cd3dcdd44 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-constructor-prototype.js @@ -0,0 +1,10 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let proto = Object.getPrototypeOf(BigInt); +assert(proto === Function.prototype); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-constructor.js b/implementation-contributed/javascriptcore/stress/big-int-constructor.js new file mode 100644 index 0000000000..c76843bf82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-constructor.js @@ -0,0 +1,276 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowSyntaxError(input) { + try { + let n = BigInt(input); + assert(false); + } catch (e) { + assert(e instanceof SyntaxError); + } +} + +function assertThrowRangeError(input) { + try { + let n = BigInt(input); + assert(false); + } catch (e) { + assert(e instanceof RangeError); + } +} + +function assertThrowTypeError(input) { + try { + let n = BigInt(input); + assert(false); + } catch (e) { + assert(e instanceof TypeError); + } +} + +// Test 0 conversions +let n = BigInt(""); +assert(n.toString() === "0"); + +n = BigInt(" "); +assert(n.toString() === "0"); + +n = BigInt("0"); +assert(n.toString() === "0"); + +n = BigInt("+0"); +assert(n.toString() === "0"); + +n = BigInt("-0"); +assert(n.toString() === "0"); + +n = BigInt(" 0"); +assert(n.toString() === "0"); + +n = BigInt("0 "); +assert(n.toString() === "0"); + +n = BigInt(" 0 "); +assert(n.toString() === "0"); + +n = BigInt("00000"); +assert(n.toString() === "0"); + +let giantTrailingString = "0"; +for (let i = 0; i < 10000; i++) + giantTrailingString += " "; + +n = BigInt(giantTrailingString); +assert(n.toString() === "0"); + +// Binary representation + +n = BigInt("0b1111"); +assert(n.toString() === "15"); + +n = BigInt("0b10"); +assert(n.toString() === "2"); + +n = BigInt("0b10"); +assert(n.toString() === "2"); + +let binaryString = "0b1"; +for (let i = 0; i < 128; i++) + binaryString += "0"; + +n = BigInt(binaryString); +assert(n.toString() === "340282366920938463463374607431768211456"); + +n = BigInt("0B1111"); +assert(n.toString() === "15"); + +n = BigInt("0B10"); +assert(n.toString() === "2"); + +n = BigInt("0B10"); +assert(n.toString() === "2"); + +binaryString = "0B1"; +for (let i = 0; i < 128; i++) + binaryString += "0"; + +n = BigInt(binaryString); +assert(n.toString() === "340282366920938463463374607431768211456"); + +// Octal representation + +n = BigInt("0o7"); +assert(n.toString() === "7"); + +n = BigInt("0o10"); +assert(n.toString() === "8"); + +n = BigInt("0o20"); +assert(n.toString() === "16"); + +n = BigInt(" 0o20"); +assert(n.toString() === "16"); + +n = BigInt(" 0o20 "); +assert(n.toString() === "16"); + +n = BigInt("0O7"); +assert(n.toString() === "7"); + +n = BigInt("0O10"); +assert(n.toString() === "8"); + +n = BigInt("0O20"); +assert(n.toString() === "16"); + +n = BigInt(" 0O20"); +assert(n.toString() === "16"); + +n = BigInt(" 0O20 "); +assert(n.toString() === "16"); + +// Hexadecimal representation + +n = BigInt("0xa"); +assert(n.toString() === "10"); + +n = BigInt("0xff"); +assert(n.toString() === "255"); + +n = BigInt(" 0xff "); +assert(n.toString() === "255"); + +n = BigInt(" 0xfabc "); +assert(n.toString() === "64188"); + +// Number conversion + +n = BigInt(3245); +assert(n.toString() === "3245"); + +n = BigInt(-2147483648) +assert(n.toString() === "-2147483648"); + +n = BigInt(0); +assert(n.toString() === "0"); + +n = BigInt(-46781); +assert(n.toString() === "-46781"); + +// Int53 +n = BigInt(4503599627370490); +assert(n.toString() === "4503599627370490"); + +n = BigInt(-4503599627370490); +assert(n.toString() === "-4503599627370490"); + +n = BigInt(-4503599627370496); +assert(n.toString() === "-4503599627370496"); + +// Boolean conversion +n = BigInt(true); +assert(n.toString() === "1"); + +n = BigInt(false); +assert(n.toString() === "0"); + +// Objects +let o = { + valueOf: function () { + return 3; + } +} + +n = BigInt(o); +assert(n.toString() === "3"); + +o = { + valueOf: function () { + return "54"; + } +} + +n = BigInt(o); +assert(n.toString() === "54"); + +o = { + toString: function () { + return "5489543"; + } +} + +n = BigInt(o); +assert(n.toString() === "5489543"); + +o = { + toString: function () { + return 135489543; + } +} + +n = BigInt(o); +assert(n.toString() === "135489543"); + +o = { + valueOf: function () { + return 3256; + }, + + toString: function () { + return "563737"; + } +} + +n = BigInt(o); +assert(n.toString() === "3256"); + +// Assertion thows + +assertThrowSyntaxError("aba"); +assertThrowSyntaxError("-0x1"); +assertThrowSyntaxError("-0XFFab"); +assertThrowSyntaxError("0o78"); +assertThrowSyntaxError("0oa"); +assertThrowSyntaxError("000 12"); +assertThrowSyntaxError("0o"); +assertThrowSyntaxError("0b"); +assertThrowSyntaxError("0x"); +assertThrowSyntaxError("00o"); +assertThrowSyntaxError("00b"); +assertThrowSyntaxError("00x"); +assertThrowTypeError(null); +assertThrowTypeError(undefined); +assertThrowTypeError(Symbol("a")); +assertThrowRangeError(0.5); +assertThrowRangeError(-.5); +assertThrowRangeError(9007199254740992); +assertThrowRangeError(Infinity); +assertThrowRangeError(-Infinity); +assertThrowRangeError(NaN); + +// Object throwing error + +o = { + valueOf: function () { + throw new Error("MyError"); + } +} + +try { + n = BigInt(o); + assert(false); +} catch(e) { + assert(e.message === "MyError"); +} + +try { + n = BigInt(); + assert(false); +} catch(e) { + assert(e instanceof TypeError); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-div-jit.js b/implementation-contributed/javascriptcore/stress/big-int-div-jit.js new file mode 100644 index 0000000000..0e217e8307 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-div-jit.js @@ -0,0 +1,19 @@ +//@ runBigIntEnabled + +let assert = { + sameValue: function(i, e, m) { + if (i !== e) + throw new Error(m); + } +} + +function bigIntDiv(x, y) { + return x / y; +} +noInline(bigIntDiv); + +for (let i = 0; i < 10000; i++) { + let r = bigIntDiv(30n, 10n); + assert.sameValue(r, 3n, 30n + " / " + 10n + " = " + r); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-div-memory-stress.js b/implementation-contributed/javascriptcore/stress/big-int-div-memory-stress.js new file mode 100644 index 0000000000..0cf0b9b6fa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-div-memory-stress.js @@ -0,0 +1,15 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let a = 0n; +let b = 30n; +for (let i = 0; i < 1000000; i++) { + a = b / 2n; +} + +assert(a === 15n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-div-to-primitive.js b/implementation-contributed/javascriptcore/stress/big-int-div-to-primitive.js new file mode 100644 index 0000000000..a2973447ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-div-to-primitive.js @@ -0,0 +1,34 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert.sameValue = function (input, expected, message) { + if (input !== expected) + throw new Error(message); +} + +function testDiv(x, y, z) { + assert.sameValue(x / y, z, x + " / " + y + " = " + z); +} + +let o = { + [Symbol.toPrimitive]: function () { return 300000000000n; } +} + +testDiv(500000000000438n, o, 1666n); + +o.valueOf = function () { + throw new Error("Should never execute it"); +}; + +testDiv(700000000000438n, o, 2333n); + +o.toString = function () { + throw new Error("Should never execute it"); +}; + +testDiv(700000000000438n, o, 2333n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-div-type-error.js b/implementation-contributed/javascriptcore/stress/big-int-div-type-error.js new file mode 100644 index 0000000000..27982cd78e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-div-type-error.js @@ -0,0 +1,106 @@ +//@ runBigIntEnabled + +function assert(a, message) { + if (!a) + throw new Error(message); +} + +function assertThrowTypeError(a, b, message) { + try { + let n = a / b; + assert(false, message + ": Should throw TypeError, but executed without exception"); + } catch (e) { + assert(e instanceof TypeError, message + ": expected TypeError, got: " + e); + } +} + +assertThrowTypeError(30n, "foo", "BigInt / String"); +assertThrowTypeError("bar", 18757382984821n, "String / BigInt"); +assertThrowTypeError(30n, Symbol("foo"), "BigInt / Symbol"); +assertThrowTypeError(Symbol("bar"), 18757382984821n, "Symbol / BigInt"); +assertThrowTypeError(30n, 3320, "BigInt / Int32"); +assertThrowTypeError(33256, 18757382984821n, "Int32 / BigInt"); +assertThrowTypeError(30n, 0.543, "BigInt / Double"); +assertThrowTypeError(230.19293, 18757382984821n, "Double / BigInt"); +assertThrowTypeError(30n, NaN, "BigInt / NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN / BigInt"); +assertThrowTypeError(30n, NaN, "BigInt / NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN / BigInt"); +assertThrowTypeError(30n, +Infinity, "BigInt / NaN"); +assertThrowTypeError(+Infinity, 18757382984821n, "NaN / BigInt"); +assertThrowTypeError(30n, -Infinity, "BigInt / -Infinity"); +assertThrowTypeError(-Infinity, 18757382984821n, "-Infinity / BigInt"); +assertThrowTypeError(30n, null, "BigInt / null"); +assertThrowTypeError(null, 18757382984821n, "null / BigInt"); +assertThrowTypeError(30n, undefined, "BigInt / undefined"); +assertThrowTypeError(undefined, 18757382984821n, "undefined / BigInt"); +assertThrowTypeError(30n, true, "BigInt * true"); +assertThrowTypeError(true, 18757382984821n, "true / BigInt"); +assertThrowTypeError(30n, false, "BigInt / false"); +assertThrowTypeError(false, 18757382984821n, "false / BigInt"); + +// Error when returning from object + +let o = { + valueOf: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.valueOf returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Symbol / BigInt"); + +o = { + valueOf: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.valueOf returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Int32 / BigInt"); + +o = { + valueOf: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.valueOf returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Double / BigInt"); + +o = { + toString: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.toString returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Symbol / BigInt"); + +o = { + toString: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.toString returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Int32 / BigInt"); + +o = { + toString: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.toString returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Double / BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.@@toPrimitive returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Symbol / BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.@@toPrimitive returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Int32 / BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt / Object.@@toPrimitive returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Double / BigInt"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-div-wrapped-value.js b/implementation-contributed/javascriptcore/stress/big-int-div-wrapped-value.js new file mode 100644 index 0000000000..9bb9aee983 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-div-wrapped-value.js @@ -0,0 +1,46 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testDiv(x, y, z, message) { + assert.sameValue(x / y, z, message); +} + +testDiv(Object(2n), 1n, 2n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +}; +testDiv(o, 1n, 2n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + } +}; +testDiv(o, 1n, 2n, "ToPrimitive: valueOf"); + +o = { + toString: function() { + return 2n; + } +} +testDiv(o, 1n, 2n, "ToPrimitive: toString"); + +o = { + valueOf: function() { + return 2n; + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testDiv(o, 1n, 2n, "ToPrimitive: valueOf"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-division.js b/implementation-contributed/javascriptcore/stress/big-int-division.js new file mode 100644 index 0000000000..401890ad63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-division.js @@ -0,0 +1,131 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Robin Templeton. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert.sameValue = function (input, expected, message) { + if (input !== expected) + throw new Error(message); +} + +function testDiv(x, y, z) { + assert.sameValue(x / y, z, x + " / " + y + " = " + z); +} + +testDiv(0xFEDCBA9876543210n, 0xFEDCBA9876543210n, 0x1n); +testDiv(0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, 0x1n); +testDiv(0xFEDCBA9876543210n, 0xFEDCBA98n, 0x100000000n); +testDiv(0xFEDCBA9876543210n, 0xFEDCBA97n, 0x100000001n); +testDiv(0xFEDCBA9876543210n, 0x1234n, 0xE0042813BE5DCn); +testDiv(0xFEDCBA9876543210n, 0x3n, 0x54F43E32D21C10B0n); +testDiv(0xFEDCBA9876543210n, 0x2n, 0x7F6E5D4C3B2A1908n); +testDiv(0xFEDCBA9876543210n, 0x1n, 0xFEDCBA9876543210n); +testDiv(0xFEDCBA9876543210n, BigInt("-1"), BigInt("-18364758544493064720")); +testDiv(0xFEDCBA9876543210n, BigInt("-2"), BigInt("-9182379272246532360")); +testDiv(0xFEDCBA9876543210n, BigInt("-3"), BigInt("-6121586181497688240")); +testDiv(0xFEDCBA9876543210n, BigInt("-4275878551"), BigInt("-4294967297")); +testDiv(0xFEDCBA9876543210n, BigInt("-18364758544493064719"), BigInt("-1")); +testDiv(0xFEDCBA987654320Fn, 0xFEDCBA9876543210n, 0x0n); +testDiv(0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, 0x1n); +testDiv(0xFEDCBA987654320Fn, 0xFEDCBA98n, 0x100000000n); +testDiv(0xFEDCBA987654320Fn, 0xFEDCBA97n, 0x100000001n); +testDiv(0xFEDCBA987654320Fn, 0x1234n, 0xE0042813BE5DCn); +testDiv(0xFEDCBA987654320Fn, 0x3n, 0x54F43E32D21C10AFn); +testDiv(0xFEDCBA987654320Fn, 0x2n, 0x7F6E5D4C3B2A1907n); +testDiv(0xFEDCBA987654320Fn, 0x1n, 0xFEDCBA987654320Fn); +testDiv(0xFEDCBA98n, 0xFEDCBA9876543210n, 0x0n); +testDiv(0xFEDCBA98n, 0xFEDCBA987654320Fn, 0x0n); +testDiv(0xFEDCBA98n, 0xFEDCBA98n, 0x1n); +testDiv(0xFEDCBA98n, 0xFEDCBA97n, 0x1n); +testDiv(0xFEDCBA98n, 0x1234n, 0xE0042n); +testDiv(0xFEDCBA98n, 0x3n, 0x54F43E32n); +testDiv(0xFEDCBA98n, 0x2n, 0x7F6E5D4Cn); +testDiv(0xFEDCBA98n, 0x1n, 0xFEDCBA98n); +testDiv(0xFEDCBA98n, BigInt("-1"), BigInt("-4275878552")); +testDiv(0xFEDCBA98n, BigInt("-2"), BigInt("-2137939276")); +testDiv(0xFEDCBA98n, BigInt("-3"), BigInt("-1425292850")); +testDiv(0xFEDCBA98n, BigInt("-4275878551"), BigInt("-1")); +testDiv(0xFEDCBA98n, BigInt("-18364758544493064719"), 0x0n); +testDiv(0xFEDCBA97n, 0xFEDCBA9876543210n, 0x0n); +testDiv(0xFEDCBA97n, 0xFEDCBA987654320Fn, 0x0n); +testDiv(0xFEDCBA97n, 0xFEDCBA98n, 0x0n); +testDiv(0xFEDCBA97n, 0xFEDCBA97n, 0x1n); +testDiv(0xFEDCBA97n, 0x1234n, 0xE0042n); +testDiv(0xFEDCBA97n, 0x3n, 0x54F43E32n); +testDiv(0xFEDCBA97n, 0x2n, 0x7F6E5D4Bn); +testDiv(0xFEDCBA97n, 0x1n, 0xFEDCBA97n); +testDiv(0x3n, 0xFEDCBA9876543210n, 0x0n); +testDiv(0x3n, 0xFEDCBA98n, 0x0n); +testDiv(0x3n, 0x1234n, 0x0n); +testDiv(0x3n, 0x3n, 0x1n); +testDiv(0x3n, 0x2n, 0x1n); +testDiv(0x3n, 0x1n, 0x3n); +testDiv(0x3n, BigInt("-2"), BigInt("-1")); +testDiv(0x3n, BigInt("-3"), BigInt("-1")); +testDiv(0x3n, BigInt("-4275878551"), 0x0n); +testDiv(0x3n, BigInt("-18364758544493064719"), 0x0n); +testDiv(0x2n, 0xFEDCBA98n, 0x0n); +testDiv(0x2n, 0xFEDCBA97n, 0x0n); +testDiv(0x2n, 0x3n, 0x0n); +testDiv(0x2n, 0x1n, 0x2n); +testDiv(0x2n, BigInt("-1"), BigInt("-2")); +testDiv(0x2n, BigInt("-2"), BigInt("-1")); +testDiv(0x2n, BigInt("-3"), 0x0n); +testDiv(0x1n, 0x1234n, 0x0n); +testDiv(0x1n, 0x3n, 0x0n); +testDiv(0x1n, 0x2n, 0x0n); +testDiv(0x1n, 0x1n, 0x1n); +testDiv(0x1n, BigInt("-1"), BigInt("-1")); +testDiv(0x1n, BigInt("-3"), 0x0n); +testDiv(0x1n, BigInt("-4660"), 0x0n); +testDiv(0x1n, BigInt("-18364758544493064719"), 0x0n); +testDiv(BigInt("-1"), 0xFEDCBA9876543210n, 0x0n); +testDiv(BigInt("-1"), 0xFEDCBA987654320Fn, 0x0n); +testDiv(BigInt("-1"), 0xFEDCBA98n, 0x0n); +testDiv(BigInt("-1"), 0xFEDCBA97n, 0x0n); +testDiv(BigInt("-1"), 0x3n, 0x0n); +testDiv(BigInt("-1"), 0x1n, BigInt("-1")); +testDiv(BigInt("-1"), BigInt("-3"), 0x0n); +testDiv(BigInt("-1"), BigInt("-4660"), 0x0n); +testDiv(BigInt("-1"), BigInt("-18364758544493064719"), 0x0n); +testDiv(BigInt("-2"), 0xFEDCBA9876543210n, 0x0n); +testDiv(BigInt("-3"), 0x3n, BigInt("-1")); +testDiv(BigInt("-3"), 0x2n, BigInt("-1")); +testDiv(BigInt("-3"), BigInt("-1"), 0x3n); +testDiv(BigInt("-3"), BigInt("-3"), 0x1n); +testDiv(BigInt("-3"), BigInt("-4660"), 0x0n); +testDiv(BigInt("-3"), BigInt("-4275878551"), 0x0n); +testDiv(BigInt("-3"), BigInt("-4275878552"), 0x0n); +testDiv(BigInt("-3"), BigInt("-18364758544493064720"), 0x0n); +testDiv(BigInt("-18364758544493064719"), 0xFEDCBA97n, BigInt("-4294967297")); +testDiv(BigInt("-18364758544493064719"), 0x1234n, BigInt("-3940935309977052")); +testDiv(BigInt("-18364758544493064719"), 0x3n, BigInt("-6121586181497688239")); +testDiv(BigInt("-18364758544493064719"), 0x2n, BigInt("-9182379272246532359")); +testDiv(BigInt("-18364758544493064719"), 0x1n, BigInt("-18364758544493064719")); +testDiv(BigInt("-18364758544493064719"), BigInt("-1"), 0xFEDCBA987654320Fn); +testDiv(BigInt("-18364758544493064719"), BigInt("-4275878551"), 0x100000001n); +testDiv(BigInt("-18364758544493064719"), BigInt("-18364758544493064719"), 0x1n); +testDiv(BigInt("-18364758544493064720"), 0xFEDCBA9876543210n, BigInt("-1")); +testDiv(BigInt("-18364758544493064720"), 0x1234n, BigInt("-3940935309977052")); +testDiv(BigInt("-18364758544493064720"), 0x3n, BigInt("-6121586181497688240")); +testDiv(BigInt("-18364758544493064720"), 0x2n, BigInt("-9182379272246532360")); +testDiv(BigInt("-18364758544493064720"), 0x1n, BigInt("-18364758544493064720")); +testDiv(BigInt("-18364758544493064720"), BigInt("-1"), 0xFEDCBA9876543210n); +testDiv(BigInt("-18364758544493064720"), BigInt("-3"), 0x54F43E32D21C10B0n); +testDiv(BigInt("-18364758544493064720"), BigInt("-4660"), 0xE0042813BE5DCn); +testDiv(BigInt("-18364758544493064720"), BigInt("-4275878552"), 0x100000000n); +testDiv(BigInt("-18364758544493064720"), BigInt("-18364758544493064720"), 0x1n); + +// Test division by 0 +try { + let a = 102122311n / 0n; +} catch (e) { + assert(e instanceof RangeError); + assert(e.message == "0 is an invalid divisor value."); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-equals-basic.js b/implementation-contributed/javascriptcore/stress/big-int-equals-basic.js new file mode 100644 index 0000000000..59ba0286f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-equals-basic.js @@ -0,0 +1,124 @@ +//@ runBigIntEnabled + +function assert(a, e, m) { + if (a !== e) + throw new Error(m); +} + +function testEquals(a, b, e) { + assert(a == b, e, a + " == " + b + " should be " + e); + assert(b == a, e, b + " == " + a + " should be " + e); +} + +function testEqualsWithMessage(a, b, e, m) { + assert(a == b, e, m); + assert(b == a, e, m); +} + +// BigInt - BigInt +testEquals(1n, 1n, true); +testEquals(1928392129312n, 1n, false); +testEquals(0n, 1n, false); +testEquals(0n, 0n, true); +testEquals(817283912931n, 817283912931n, true); +testEquals(0xFFD817283AF9129E31n, 0xFFD817283AF9129E31n, true); +testEquals(0xAFFD817283AF9129E31n, 0xFFD817283AF9129E31n, false); +testEquals(4719490697266344402481n, BigInt("-4719490697266344402481"), false); +testEquals(BigInt("-4719490697266344402481"), BigInt("4719490697266344402481"), false); +testEquals(BigInt("-4719490697266344402481"), BigInt("-4719490697266344402481"), true); +testEquals(BigInt("-17"), BigInt("-17"), true); + +// BigInt - String + +testEquals(1n, "1", true); +testEquals(1928392129312n, "1", false); +testEquals(0n, "1", false); +testEquals(0n, "0", true); +testEquals(817283912931n, "817283912931", true); +testEquals(0xFFD817283AF9129E31n, "4719490697266344402481", true); +testEquals(0xAFFD817283AF9129E31n, "4719490697266344402481", false); + +// BigInt - Number + +testEquals(0n, 0, true); +testEquals(0n, -0, true); +testEquals(-0, 0n, true); +testEquals(0n, 0.000000000001, false); +testEquals(0n, 1, false); +testEquals(1, 0n, false); +testEquals(1n, 0.999999999999, false); +testEquals(1n, 1, true); +testEquals(0n, Number.MIN_VALUE, false); +testEquals(0n, -Number.MIN_VALUE, false); +testEquals(BigInt("-10"), Number.MIN_VALUE, false); +testEquals(1n, Number.MAX_VALUE, false); +testEquals(1n, -Number.MAX_VALUE, false); +testEquals(0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn, Number.MAX_VALUE, false); +testEquals(0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000n, Number.MAX_VALUE, true); +testEquals(0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, Number.MAX_VALUE, false); +testEquals(230000000000000000000, 230000000000000000000n, true); +testEquals(10n, NaN, false); +testEquals(10n, undefined, false); +testEquals(10n, null, false); +testEquals(10n, Infinity, false); +testEquals(10n, -Infinity, false); +testEquals(BigInt("-2147483648"), -2147483648, true); // Testing INT32_MIN +testEquals(BigInt("-2147483647"), -2147483648, false); +testEquals(BigInt("2147483647"), -2147483648, false); +testEquals(BigInt("2147483648"), -2147483648, false); +testEquals(BigInt("2147483647"), 2147483647, true); +testEquals(BigInt("2147483648"), 2147483647, false); + +// BigInt - Boolean + +testEquals(BigInt("-1"), false, false); +testEquals(BigInt("-1"), true, false); +testEquals(0n, false, true); +testEquals(0n, true, false); +testEquals(1n, false, false); +testEquals(1n, true, true); +testEquals(2n, false, false); +testEquals(2n, true, false); + +// BigInt - Object + +testEquals(0n, Object(0n), true); +testEquals(0n, Object(1n), false); +testEquals(1n, Object(0n), false); +testEquals(1n, Object(1n), true); +testEquals(2n, Object(0n), false); +testEquals(2n, Object(1n), false); +testEquals(2n, Object(2n), true); +testEquals(0n, {}, false); +testEquals(0n, {valueOf: function() { return 0n; }}, true); +testEquals(0n, {valueOf: function() { return 1n; }}, false); +testEquals(0n, {toString: function() { return "0"; }}, true); +testEquals(0n, {toString: function() { return "1"; }}, false); +testEquals(900719925474099101n, {valueOf: function() { return 900719925474099101n; }}, true); +testEquals(900719925474099101n, {valueOf: function() { return 900719925474099102n; }}, false); +testEquals(900719925474099101n, {toString: function() { return "900719925474099101"; }}, true); +testEquals(900719925474099101n, {toString: function() { return "900719925474099102"; }}, false); + +try { + let o = {valueOf: function() { throw new Error("my error"); }}; + o == 1n; + throw new Error("Exception in ToPrimitive not catched"); +} catch(e) { + assert(e.message, "my error", "Wrong exception in ToPrimitive"); +} + +try { + let o = {toString: function() { throw new Error("my error"); }}; + o == 1n; + throw new Error("Exception in ToString not catched"); +} catch(e) { + assert(e.message, "my error", "Wrong exception in ToString"); +} + +// BigInt - Symbol + +testEqualsWithMessage(0n, Symbol("1"), false, "0n == Symbol(1)"); +testEqualsWithMessage(Symbol("1"), 0n, false, "Symbol(1) == 0n"); +testEqualsWithMessage(1n, Symbol("1"), false, "1n == Symbol(1)"); +testEqualsWithMessage(Symbol("1"), 1n, false, "Symbol(1) == 1n"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-equals-to-primitive-precedence.js b/implementation-contributed/javascriptcore/stress/big-int-equals-to-primitive-precedence.js new file mode 100644 index 0000000000..f5ed564dd7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-equals-to-primitive-precedence.js @@ -0,0 +1,39 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testEquals(x, y, z, message) { + assert.sameValue(x == y, z, message); + assert.sameValue(y == x, z, message); +} + +testEquals(Object(2n), 1n, false, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + valueOf: function () { + throw new Error("Should never execute it"); + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testEquals(o, 2n, true, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testEquals(o, 1n, false, "ToPrimitive: valueOf"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-equals-wrapped-value.js b/implementation-contributed/javascriptcore/stress/big-int-equals-wrapped-value.js new file mode 100644 index 0000000000..6ed89be135 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-equals-wrapped-value.js @@ -0,0 +1,37 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testEquals(x, y, z, message) { + assert.sameValue(x == y, z, message); + assert.sameValue(y == x, z, message); +} + +testEquals(Object(2n), 1n, false, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 1n; + } +}; +testEquals(o, 1n, true, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + } +}; +testEquals(o, 2n, true, "ToPrimitive: valueOf"); + +o = { + toString: function() { + return 2n; + } +} +testEquals(o, 1n, false, "ToPrimitive: toString"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-function-apply.js b/implementation-contributed/javascriptcore/stress/big-int-function-apply.js new file mode 100644 index 0000000000..1e875ce8b9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-function-apply.js @@ -0,0 +1,18 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo() { + return 0; +} + +try { + foo.apply({}, 2n); + assert(false); +} catch(e) { + assert(e.message == "second argument to Function.prototype.apply must be an Array-like object (evaluating 'foo.apply({}, 2n)')") +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-general.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-general.js new file mode 100644 index 0000000000..0979dbe36f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-general.js @@ -0,0 +1,140 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Josh Wolfe. All rights reserved. +// Copyright (C) 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(0n > 0n, false, "0n > 0n"); +assert(1n > 1n, false, "1n > 1n"); +assert(BigInt("-1") > BigInt("-1"), false, "-1n > -1n"); +assert(0n > BigInt("-0"), false, "0n > -0n"); +assert(BigInt("-0") > 0n, false, "-0n > 0n"); +assert(0n > 1n, false, "0n > 1n"); +assert(1n > 0n, true, "1n > 0n"); +assert(0n > BigInt("-1"), true, "0n > -1n"); +assert(BigInt("-1") > 0n, false, "-1n > 0n"); +assert(1n > BigInt("-1"), true, "1n > -1n"); +assert(BigInt("-1") > 1n, false, "-1n > 1n"); +assert(0x1fffffffffffff01n > 0x1fffffffffffff02n, false, "0x1fffffffffffff01n > 0x1fffffffffffff02n"); +assert(0x1fffffffffffff02n > 0x1fffffffffffff01n, true, "0x1fffffffffffff02n > 0x1fffffffffffff01n"); +assert(BigInt("-2305843009213693697") > BigInt("-2305843009213693698"), true, "-2305843009213693697n > -2305843009213693698n"); +assert(BigInt("-2305843009213693698") > BigInt("-2305843009213693697"), false, "-2305843009213693698n > -2305843009213693697n"); +assert(0x10000000000000000n > 0n, true, "0x10000000000000000n > 0n"); +assert(0n > 0x10000000000000000n, false, "0n > 0x10000000000000000n"); +assert(0x10000000000000000n > 1n, true, "0x10000000000000000n > 1n"); +assert(1n > 0x10000000000000000n, false, "1n > 0x10000000000000000n"); +assert(0x10000000000000000n > BigInt("-1"), true, "0x10000000000000000n > -1n"); +assert(BigInt("-1") > 0x10000000000000000n, false, "-1n > 0x10000000000000000n"); +assert(0x10000000000000001n > 0n, true, "0x10000000000000001n > 0n"); +assert(0n > 0x10000000000000001n, false, "0n > 0x10000000000000001n"); +assert(BigInt("-18446744073709551616") > 0n, false, "-18446744073709551616n > 0n"); +assert(0n > BigInt("-18446744073709551616"), true, "0n > -18446744073709551616n"); +assert(BigInt("-18446744073709551616") > 1n, false, "-18446744073709551616n > 1n"); +assert(1n > BigInt("-18446744073709551616"), true, "1n > -18446744073709551616n"); +assert(BigInt("-18446744073709551616") > BigInt("-1"), false, "-18446744073709551616n > -1n"); +assert(BigInt("-1") > BigInt("-18446744073709551616"), true, "-1n > -18446744073709551616n"); +assert(BigInt("-18446744073709551617") > 0n, false, "-18446744073709551617n > 0n"); +assert(0n > BigInt("-18446744073709551617"), true, "0n > -18446744073709551617n"); +assert(0x10000000000000000n > 0x100000000n, true, "0x10000000000000000n > 0x100000000n"); +assert(0x100000000n > 0x10000000000000000n, false, "0x100000000n > 0x10000000000000000n"); + +// BigInt - String + +assert(0n > "0", false, "0n > '0'"); +assert("0" > 0n, false, "'0' > 0n"); +assert(0n > "1", false, "0n > '1'"); +assert("0" > 1n, false, "'0' > 1n"); +assert(1n > "0", true, "1n > '0'"); +assert("1" > 0n, true, "'1' > 0n"); +assert(0n > "", false, "0n > ''"); +assert("" > 0n, false, "'' > 0n"); +assert(0n > "1", false, "0n > '1'"); +assert("" > 1n, false, "'' > 1n"); +assert(1n > "", true, "1n > ''"); +assert(1n > "1", false, "1n > '1'"); +assert("1" > 1n, false, "'1' > 1n"); +assert(1n > "-1", true, "1n > '-1'"); +assert("1" > BigInt("-1"), true, "'1' > -1n"); +assert(BigInt("-1") > "1", false, "-1n > '1'"); +assert("-1" > 1n, false, "'-1' > 1n"); +assert(BigInt("-1") > "-1", false, "-1n > '-1'"); +assert("-1" > BigInt("-1"), false, "'-1' > -1n"); +assert(9007199254740993n > "9007199254740992", true, "9007199254740993n > '9007199254740992'"); +assert("9007199254740993" > 9007199254740992n, true, "'9007199254740993' > 9007199254740992n"); +assert(BigInt("-9007199254740992") > "-9007199254740993", true, "-9007199254740992n > '-9007199254740993'"); +assert("-9007199254740992" > BigInt("-9007199254740993"), true, "'-9007199254740992' > -9007199254740993n"); +assert("0x10" > 14n, true, "'0x10' > 3n"); +assert("0b10" > 2n, false, "'0b10' > 2n"); +assert("0b10" > 1n, true, "'0x10' > 1n"); + +// Invalid String + +assert("b10" > 2n, false, "'b10' > 2n"); +assert("bbb10" > 2n, false, "'bbb10' > 2n"); + +// BigInt - Number + +assert(0n > 0, false, "0n > 0"); +assert(0 > 0n, false, "0 > 0n"); +assert(0n > -0, false, "0n > -0"); +assert(-0 > 0n, false, "-0 > 0n"); +assert(0n > 0.000000000001, false, "0n > 0.000000000001"); +assert(0.000000000001 > 0n, true, "0.000000000001 > 0n"); +assert(0n > 1, false, "0n > 1"); +assert(1 > 0n, true, "1 > 0n"); +assert(1n > 0, true, "1n > 0"); +assert(0 > 1n, false, "0 > 1n"); +assert(1n > 0.999999999999, true, "1n > 0.999999999999"); +assert(0.999999999999 > 1n, false, "0.999999999999 > 1n"); +assert(1n > 1, false, "1n > 1"); +assert(1 > 1n, false, "1 > 1n"); +assert(0n > Number.MIN_VALUE, false, "0n > Number.MIN_VALUE"); +assert(Number.MIN_VALUE > 0n, true, "Number.MIN_VALUE > 0n"); +assert(0n > -Number.MIN_VALUE, true, "0n > -Number.MIN_VALUE"); +assert(-Number.MIN_VALUE > 0n, false, "-Number.MIN_VALUE > 0n"); +assert(BigInt("-10") > Number.MIN_VALUE, false, "-10n > Number.MIN_VALUE"); +assert(Number.MIN_VALUE > BigInt("-10"), true, "Number.MIN_VALUE > -10n"); +assert(1n > Number.MAX_VALUE, false, "1n > Number.MAX_VALUE"); +assert(Number.MAX_VALUE > 1n, true, "Number.MAX_VALUE > 1n"); +assert(1n > -Number.MAX_VALUE, true, "1n > -Number.MAX_VALUE"); +assert(-Number.MAX_VALUE > 1n, false, "-Number.MAX_VALUE > 1n"); +assert(0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn > Number.MAX_VALUE, false, "0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn > Number.MAX_VALUE"); +assert(Number.MAX_VALUE > 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn, true, "Number.MAX_VALUE > 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn"); +assert(0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n > Number.MAX_VALUE, true, "0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n > Number.MAX_VALUE"); +assert(Number.MAX_VALUE > 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, false, "Number.MAX_VALUE > 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n"); +assert(1n > Infinity, false, "1n > Infinity"); +assert(Infinity > 1n, true, "Infinity > 1n"); +assert(BigInt("-1") > Infinity, false, "-1n > Infinity"); +assert(Infinity > BigInt("-1"), true, "Infinity > -1n"); +assert(1n > -Infinity, true, "1n > -Infinity"); +assert(-Infinity > 1n, false, "-Infinity > 1n"); +assert(BigInt("-1") > -Infinity, true, "-1n > -Infinity"); +assert(-Infinity > BigInt("-1"), false, "-Infinity > -1n"); +assert(0n > NaN, false, "0n > NaN"); +assert(NaN > 0n, false, "NaN > 0n"); + +// BigInt - Boolean + +assert(false > 1n, false, "false > 1n"); +assert(1n > false, true, "1n > false"); +assert(false > 0n, false, "false > 0n"); +assert(0n > false, false, "0n > false"); +assert(true > 1n, false, "true > 1n"); +assert(1n > true, false, "1n > true"); +assert(true > 2n, false, "true > 2n"); +assert(2n > true, true, "2n > true"); + +// BigInt - Symbol + +try { + 1n > Symbol("1"); + assert(false, true, "Comparison with Symbol shoud throw TypeError, but executed without exception"); +} catch(e) { + assert(e instanceof TypeError, true, "Comparison with Symbol shoud throw TypeError, but throwed something else"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-jit.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-jit.js new file mode 100644 index 0000000000..f03ada2bd9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-jit.js @@ -0,0 +1,24 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function greaterThanTest(a, b) { + return a > b; +} +noInline(greaterThanTest); + +for (let i = 0; i < 100000; i++) { + assert(greaterThanTest(3n, 4) === false); +} + +for (let i = 0; i < 100000; i++) { + assert(greaterThanTest(3n, 4n) === false); +} + +for (let i = 0; i < 100000; i++) { + assert(greaterThanTest(3n, "4") === false); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-jit.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-jit.js new file mode 100644 index 0000000000..d37fe517aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-jit.js @@ -0,0 +1,24 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function greaterThanOrEqualTest(a, b) { + return a >= b; +} +noInline(greaterThanOrEqualTest); + +for (let i = 0; i < 100000; i++) { + assert(greaterThanOrEqualTest(3n, 4) === false); +} + +for (let i = 0; i < 100000; i++) { + assert(greaterThanOrEqualTest(3n, 4n) === false); +} + +for (let i = 0; i < 100000; i++) { + assert(greaterThanOrEqualTest(3n, "4") === false); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-order-of-evaluation.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-order-of-evaluation.js new file mode 100644 index 0000000000..0e8ac85af7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-order-of-evaluation.js @@ -0,0 +1,55 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +let o = { + [Symbol.toPrimitive]: function() { + throw new Error("Calling @toPrimitive"); + } +} + +try { + o >= Symbol(2); + assert(true, false, "") +} catch(e) { + assert(e.message, "Calling @toPrimitive", "Bad Exception when object is left operand"); +} + +try { + Symbol(2) >= o; + assert(true, false, "") +} catch(e) { + assert(e instanceof TypeError, true, "Bad Exception when Symbol is left operand"); +} + +o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + throw new Error("Should never call valueOf"); + } +} + +assert(o >= 3n, false, "ToPrimitive(2n) > 3n"); + +o = { + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + return 2n; + } +} + +assert(o >= 3n, false, "valueOf(2n) > 3n"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-wrapped-values.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-wrapped-values.js new file mode 100644 index 0000000000..597b2cfd6e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal-wrapped-values.js @@ -0,0 +1,63 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(Object(2n) >= 1n, true, "Object(2n) >= 1n"); +assert(1n >= Object(2n), false, "1n >= Object(2n)"); +assert(Object(2n) >= Object(1n), true, "Object(2n) >= Object(1n)"); +assert(Object(1n) >= Object(2n), false, "Object(1n) >= Object(2n)"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +} + +let o2 = { + [Symbol.toPrimitive]: function() { + return 1n; + } +} + +assert(o >= 1n, true, "ToPrimitive(2n) >= 1n"); +assert(1n >= o, false, "1n >= ToPrimitive(2n)"); +assert(o >= o2, true, "ToPrimitive(2n) >= ToPrimitive(1n)"); +assert(o2 >= o, false, "ToPrimitive(1n) >= ToPrimitive(2n)"); + +o = { + valueOf: function() { + return 2n; + } +} + +o2 = { + valueOf: function() { + return 1n; + } +} + +assert(o >= 1n, true, "valueOf(2n) >= 1n"); +assert(1n >= o, false, "1n >= valueOf(2n)"); +assert(o >= o2, true, "valueOf(2n) >= valueOf(1n)"); +assert(o2 >= o, false, "valueOf(1n) >= valueOf(2n)"); + +o = { + toString: function() { + return 2n; + } +} + +o2 = { + toString: function() { + return 1n; + } +} + +assert(o >= 1n, true, "toString(2n) >= 1n"); +assert(1n >= o, false, "1n >= ToPrimitive(2n)"); +assert(o >= o2, true, "toString(2n) < toString(1n)"); +assert(o2 >= o, false, "toString(1n) < toString(2n)"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal.js new file mode 100644 index 0000000000..7fb523ae2c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-or-equal.js @@ -0,0 +1,140 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Josh Wolfe. All rights reserved. +// Copyright (C) 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(0n >= 0n, true, "0n >= 0n"); +assert(1n >= 1n, true, "1n >= 1n"); +assert(BigInt("-1") >= BigInt("-1"), true, "-1n >= -1n"); +assert(0n >= BigInt("-0"), true, "0n >= -0n"); +assert(BigInt("-0") >= 0n, true, "-0n >= 0n"); +assert(0n >= 1n, false, "0n >= 1n"); +assert(1n >= 0n, true, "1n >= 0n"); +assert(0n >= BigInt("-1"), true, "0n >= -1n"); +assert(BigInt("-1") >= 0n, false, "-1n >= 0n"); +assert(1n >= BigInt("-1"), true, "1n >= -1n"); +assert(BigInt("-1") >= 1n, false, "-1n >= 1n"); +assert(0x1fffffffffffff01n >= 0x1fffffffffffff02n, false, "0x1fffffffffffff01n >= 0x1fffffffffffff02n"); +assert(0x1fffffffffffff02n >= 0x1fffffffffffff01n, true, "0x1fffffffffffff02n >= 0x1fffffffffffff01n"); +assert(BigInt("-2305843009213693697") >= BigInt("-2305843009213693698"), true, "-2305843009213693697n >= -2305843009213693698n"); +assert(BigInt("-2305843009213693698") >= BigInt("-2305843009213693697"), false, "-2305843009213693698n >= -2305843009213693697n"); +assert(0x10000000000000000n >= 0n, true, "0x10000000000000000n >= 0n"); +assert(0n >= 0x10000000000000000n, false, "0n >= 0x10000000000000000n"); +assert(0x10000000000000000n >= 1n, true, "0x10000000000000000n >= 1n"); +assert(1n >= 0x10000000000000000n, false, "1n >= 0x10000000000000000n"); +assert(0x10000000000000000n >= BigInt("-1"), true, "0x10000000000000000n >= -1n"); +assert(BigInt("-1") >= 0x10000000000000000n, false, "-1n >= 0x10000000000000000n"); +assert(0x10000000000000001n >= 0n, true, "0x10000000000000001n >= 0n"); +assert(0n >= 0x10000000000000001n, false, "0n >= 0x10000000000000001n"); +assert(BigInt("-18446744073709551616") >= 0n, false, "-18446744073709551616n >= 0n"); +assert(0n >= BigInt("-18446744073709551616"), true, "0n >= -18446744073709551616n"); +assert(BigInt("-18446744073709551616") >= 1n, false, "-18446744073709551616n >= 1n"); +assert(1n >= BigInt("-18446744073709551616"), true, "1n >= -18446744073709551616n"); +assert(BigInt("-18446744073709551616") >= BigInt("-1"), false, "-18446744073709551616n >= -1n"); +assert(BigInt("-1") >= BigInt("-18446744073709551616"), true, "-1n >= -18446744073709551616n"); +assert(BigInt("-18446744073709551617") >= 0n, false, "-18446744073709551617n >= 0n"); +assert(0n >= BigInt("-18446744073709551617"), true, "0n >= -18446744073709551617n"); +assert(0x10000000000000000n >= 0x100000000n, true, "0x10000000000000000n >= 0x100000000n"); +assert(0x100000000n >= 0x10000000000000000n, false, "0x100000000n >= 0x10000000000000000n"); + +// BigInt - String + +assert(0n >= "0", true, "0n >= '0'"); +assert("0" >= 0n, true, "'0' >= 0n"); +assert(0n >= "1", false, "0n >= '1'"); +assert("0" >= 1n, false, "'0' >= 1n"); +assert(1n >= "0", true, "1n >= '0'"); +assert("1" >= 0n, true, "'1' >= 0n"); +assert(0n >= "", true, "0n >= ''"); +assert("" >= 0n, true, "'' >= 0n"); +assert(0n >= "1", false, "0n >= '1'"); +assert("" >= 1n, false, "'' >= 1n"); +assert(1n >= "", true, "1n >= ''"); +assert(1n >= "1", true, "1n >= '1'"); +assert("1" >= 1n, true, "'1' >= 1n"); +assert(1n >= "-1", true, "1n >= '-1'"); +assert("1" >= BigInt("-1"), true, "'1' >= -1n"); +assert(BigInt("-1") >= "1", false, "-1n >= '1'"); +assert("-1" >= 1n, false, "'-1' >= 1n"); +assert(BigInt("-1") >= "-1", true, "-1n >= '-1'"); +assert("-1" >= BigInt("-1"), true, "'-1' >= -1n"); +assert(9007199254740993n >= "9007199254740992", true, "9007199254740993n >= '9007199254740992'"); +assert("9007199254740993" >= 9007199254740992n, true, "'9007199254740993' >= 9007199254740992n"); +assert(BigInt("-9007199254740992") >= "-9007199254740993", true, "-9007199254740992n >= '-9007199254740993'"); +assert("-9007199254740992" >= BigInt("-9007199254740993"), true, "'-9007199254740992' >= -9007199254740993n"); +assert("0x10" >= 14n, true, "'0x10' >= 3n"); +assert("0b10" >= 2n, true, "'0b10' >= 2n"); +assert("0b10" >= 1n, true, "'0b10' >= 1n"); + +// Invalid String + +assert("b10" >= 2n, false, "'b10' >= 2n"); +assert("bbb10" >= 2n, false, "'bbb10' >= 2n"); + +// BigInt - Number + +assert(0n >= 0, true, "0n >= 0"); +assert(0 >= 0n, true, "0 >= 0n"); +assert(0n >= -0, true, "0n >= -0"); +assert(-0 >= 0n, true, "-0 >= 0n"); +assert(0n >= 0.000000000001, false, "0n >= 0.000000000001"); +assert(0.000000000001 >= 0n, true, "0.000000000001 >= 0n"); +assert(0n >= 1, false, "0n >= 1"); +assert(1 >= 0n, true, "1 >= 0n"); +assert(1n >= 0, true, "1n >= 0"); +assert(0 >= 1n, false, "0 >= 1n"); +assert(1n >= 0.999999999999, true, "1n >= 0.999999999999"); +assert(0.999999999999 >= 1n, false, "0.999999999999 >= 1n"); +assert(1n >= 1, true, "1n >= 1"); +assert(1 >= 1n, true, "1 >= 1n"); +assert(0n >= Number.MIN_VALUE, false, "0n >= Number.MIN_VALUE"); +assert(Number.MIN_VALUE >= 0n, true, "Number.MIN_VALUE >= 0n"); +assert(0n >= -Number.MIN_VALUE, true, "0n >= -Number.MIN_VALUE"); +assert(-Number.MIN_VALUE >= 0n, false, "-Number.MIN_VALUE >= 0n"); +assert(BigInt("-10") >= Number.MIN_VALUE, false, "-10n >= Number.MIN_VALUE"); +assert(Number.MIN_VALUE >= BigInt("-10"), true, "Number.MIN_VALUE >= -10n"); +assert(1n >= Number.MAX_VALUE, false, "1n >= Number.MAX_VALUE"); +assert(Number.MAX_VALUE >= 1n, true, "Number.MAX_VALUE >= 1n"); +assert(1n >= -Number.MAX_VALUE, true, "1n >= -Number.MAX_VALUE"); +assert(-Number.MAX_VALUE >= 1n, false, "-Number.MAX_VALUE >= 1n"); +assert(0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn >= Number.MAX_VALUE, false, "0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn >= Number.MAX_VALUE"); +assert(Number.MAX_VALUE >= 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn, true, "Number.MAX_VALUE >= 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn"); +assert(0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n >= Number.MAX_VALUE, true, "0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n >= Number.MAX_VALUE"); +assert(Number.MAX_VALUE >= 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, false, "Number.MAX_VALUE >= 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n"); +assert(1n >= Infinity, false, "1n >= Infinity"); +assert(Infinity >= 1n, true, "Infinity >= 1n"); +assert(BigInt("-1") >= Infinity, false, "-1n >= Infinity"); +assert(Infinity >= BigInt("-1"), true, "Infinity >= -1n"); +assert(1n >= -Infinity, true, "1n >= -Infinity"); +assert(-Infinity >= 1n, false, "-Infinity >= 1n"); +assert(BigInt("-1") >= -Infinity, true, "-1n >= -Infinity"); +assert(-Infinity >= BigInt("-1"), false, "-Infinity >= -1n"); +assert(0n >= NaN, false, "0n >= NaN"); +assert(NaN >= 0n, false, "NaN >= 0n"); + +// BigInt - Boolean + +assert(false >= 1n, false, "false >= 1n"); +assert(1n >= false, true, "1n >= false"); +assert(false >= 0n, true, "false >= 0n"); +assert(0n >= false, true, "0n >= false"); +assert(true >= 1n, true, "true >= 1n"); +assert(1n >= true, true, "1n >= true"); +assert(true >= 2n, false, "true >= 2n"); +assert(2n >= true, true, "2n >= true"); + +// BigInt - Symbol + +try { + 1n >= Symbol("1"); + assert(false, true, "Comparison with Symbol shoud throw TypeError, but executed without exception"); +} catch(e) { + assert(e instanceof TypeError, true, "Comparison with Symbol shoud throw TypeError, but throwed something else"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-order-of-evaluation.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-order-of-evaluation.js new file mode 100644 index 0000000000..b961ba5c45 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-order-of-evaluation.js @@ -0,0 +1,55 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +let o = { + [Symbol.toPrimitive]: function() { + throw new Error("Calling @toPrimitive"); + } +} + +try { + o > Symbol(2); + assert(true, false, "") +} catch(e) { + assert(e.message, "Calling @toPrimitive", "Bad Exception when object is left operand"); +} + +try { + Symbol(2) > o; + assert(true, false, "") +} catch(e) { + assert(e instanceof TypeError, true, "Bad Exception when Symbol is left operand"); +} + +o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + throw new Error("Should never call valueOf"); + } +} + +assert(o > 3n, false, "ToPrimitive(2n) > 3n"); + +o = { + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + return 2n; + } +} + +assert(o > 3n, false, "valueOf(2n) > 3n"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-greater-than-wrapped-values.js b/implementation-contributed/javascriptcore/stress/big-int-greater-than-wrapped-values.js new file mode 100644 index 0000000000..4f45f1f229 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-greater-than-wrapped-values.js @@ -0,0 +1,63 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(Object(2n) > 1n, true, "Object(2n) > 1n"); +assert(1n > Object(2n), false, "1n > Object(2n)"); +assert(Object(2n) > Object(1n), true, "Object(2n) > Object(1n)"); +assert(Object(1n) > Object(2n), false, "Object(1n) > Object(2n)"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +} + +let o2 = { + [Symbol.toPrimitive]: function() { + return 1n; + } +} + +assert(o > 1n, true, "ToPrimitive(2n) > 1n"); +assert(1n > o, false, "1n > ToPrimitive(2n)"); +assert(o > o2, true, "ToPrimitive(2n) > ToPrimitive(1n)"); +assert(o2 > o, false, "ToPrimitive(1n) > ToPrimitive(2n)"); + +o = { + valueOf: function() { + return 2n; + } +} + +o2 = { + valueOf: function() { + return 1n; + } +} + +assert(o > 1n, true, "valueOf(2n) > 1n"); +assert(1n > o, false, "1n > valueOf(2n)"); +assert(o > o2, true, "valueOf(2n) > valueOf(1n)"); +assert(o2 > o, false, "valueOf(1n) > valueOf(2n)"); + +o = { + toString: function() { + return 2n; + } +} + +o2 = { + toString: function() { + return 1n; + } +} + +assert(o > 1n, true, "toString(2n) > 1n"); +assert(1n > o, false, "1n > ToPrimitive(2n)"); +assert(o > o2, true, "toString(2n) < toString(1n)"); +assert(o2 > o, false, "toString(1n) < toString(2n)"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-length.js b/implementation-contributed/javascriptcore/stress/big-int-length.js new file mode 100644 index 0000000000..f004383bfb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-length.js @@ -0,0 +1,13 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let p = Object.getOwnPropertyDescriptor(BigInt, "length"); +assert(p.enumerable === false); +assert(p.writable === false); +assert(p.configurable === true); +assert(p.value === 1); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-general.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-general.js new file mode 100644 index 0000000000..afa191c92e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-general.js @@ -0,0 +1,148 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Josh Wolfe. All rights reserved. +// Copyright (C) 2017 Robin Templeton. All rights reserved. +// Copyright (C) 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(0n < 0n, false, "0n < 0n"); +assert(1n < 1n, false, "1n < 1n"); +assert(BigInt("-1") < BigInt("-1"), false, "-1n < -1n"); +assert(0n < BigInt("-0"), false, "0n < -0n"); +assert(BigInt("-0") < 0n, false, "-0n < 0n"); +assert(0n < 1n, true, "0n < 1n"); +assert(1n < 0n, false, "1n < 0n"); +assert(0n < BigInt("-1"), false, "0n < -1n"); +assert(BigInt("-1") < 0n, true, "-1n < 0n"); +assert(1n < BigInt("-1"), false, "1n < -1n"); +assert(BigInt("-1") < 1n, true, "-1n < 1n"); +assert(0x1fffffffffffff01n < 0x1fffffffffffff02n, true, "0x1fffffffffffff01n < 0x1fffffffffffff02n"); +assert(0x1fffffffffffff02n < 0x1fffffffffffff01n, false, "0x1fffffffffffff02n < 0x1fffffffffffff01n"); +assert(BigInt("-2305843009213693697") < BigInt("-2305843009213693698"), false, "-2305843009213693697n < -2305843009213693698n"); +assert(BigInt("-2305843009213693698") < BigInt("-2305843009213693697"), true, "-2305843009213693698n < -2305843009213693697n"); +assert(0x10000000000000000n < 0n, false, "0x10000000000000000n < 0n"); +assert(0n < 0x10000000000000000n, true, "0n < 0x10000000000000000n"); +assert(0x10000000000000000n < 1n, false, "0x10000000000000000n < 1n"); +assert(1n < 0x10000000000000000n, true, "1n < 0x10000000000000000n"); +assert(0x10000000000000000n < BigInt("-1"), false, "0x10000000000000000n < -1n"); +assert(BigInt("-1") < 0x10000000000000000n, true, "-1n < 0x10000000000000000n"); +assert(0x10000000000000001n < 0n, false, "0x10000000000000001n < 0n"); +assert(0n < 0x10000000000000001n, true, "0n < 0x10000000000000001n"); +assert(BigInt("-18446744073709551616") < 0n, true, "-18446744073709551616n < 0n"); +assert(0n < BigInt("-18446744073709551616"), false, "0n < -18446744073709551616n"); +assert(BigInt("-18446744073709551616") < 1n, true, "-18446744073709551616n < 1n"); +assert(1n < BigInt("-18446744073709551616"), false, "1n < -18446744073709551616n"); +assert(BigInt("-18446744073709551616") < BigInt("-1"), true, "-18446744073709551616n < -1n"); +assert(BigInt("-1") < BigInt("-18446744073709551616"), false, "-1n < -18446744073709551616n"); +assert(BigInt("-18446744073709551617") < 0n, true, "-18446744073709551617n < 0n"); +assert(0n < BigInt("-18446744073709551617"), false, "0n < -18446744073709551617n"); +assert(0x10000000000000000n < 0x100000000n, false, "0x10000000000000000n < 0x100000000n"); +assert(0x100000000n < 0x10000000000000000n, true, "0x100000000n < 0x10000000000000000n"); + +// BigInt - String + +assert(0n < "0", false, "0n < '0'"); +assert("0" < 0n, false, "'0' < 0n"); +assert(0n < "1", true, "0n < '1'"); +assert("0" < 1n, true, "'0' < 1n"); +assert(1n < "0", false, "1n < '0'"); +assert("1" < 0n, false, "'1' < 0n"); +assert(0n < "", false, "0n < ''"); +assert("" < 0n, false, "'' < 0n"); +assert(0n < "1", true, "0n < '1'"); +assert("" < 1n, true, "'' < 1n"); +assert(1n < "", false, "1n < ''"); +assert("1" < 0n, false, "'1' < 0n"); +assert(1n < "1", false, "1n < '1'"); +assert("1" < 1n, false, "'1' < 1n"); +assert(1n < "-1", false, "1n < '-1'"); +assert("1" < BigInt("-1"), false, "'1' < -1n"); +assert(BigInt("-1") < "1", true, "-1n < '1'"); +assert("-1" < 1n, true, "'-1' < 1n"); +assert(BigInt("-1") < "-1", false, "-1n < '-1'"); +assert("-1" < BigInt("-1"), false, "'-1' < -1n"); +assert(9007199254740993n < "9007199254740992", false, "9007199254740993n < '9007199254740992'"); +assert("9007199254740993" < 9007199254740992n, false, "'9007199254740993' < 9007199254740992n"); +assert(BigInt("-9007199254740992") < "-9007199254740993", false, "-9007199254740992n < '-9007199254740993'"); +assert("-9007199254740992" < BigInt("-9007199254740993"), false, "'-9007199254740992' < -9007199254740993n"); +assert("0x10" < 3n, false, "'0x10' < 3n"); +assert("0x10" < 2n, false, "'0x10' < 2n"); +assert("0x10" < 1n, false, "'0x10' < 1n"); +assert("0o10" < 9n, true, "'0o10' < 9n"); +assert("0o10" < 8n, false, "'0o10' < 8n"); +assert("0o10" < 7n, false, "'0o10' < 7n"); +assert("0b10" < 3n, true, "'0o10' < 3n"); +assert("0b10" < 2n, false, "'0o10' < 2n"); +assert("0b10" < 1n, false, "'0o10' < 1n"); + +// Invalid String + +assert("b10" < 2n, false, "'b10' > 2n"); +assert("bbb10" < 2n, false, "'bbb10' > 2n"); + +// BigInt - Number + +assert(0n < 0, false, "0n < 0"); +assert(0 < 0n, false, "0 < 0n"); +assert(0n < -0, false, "0n < -0"); +assert(-0 < 0n, false, "-0 < 0n"); +assert(0n < 0.000000000001, true, "0n < 0.000000000001"); +assert(0.000000000001 < 0n, false, "0.000000000001 < 0n"); +assert(0n < 1, true, "0n < 1"); +assert(1 < 0n, false, "1 < 0n"); +assert(1n < 0, false, "1n < 0"); +assert(0 < 1n, true, "0 < 1n"); +assert(1n < 0.999999999999, false, "1n < 0.999999999999"); +assert(0.999999999999 < 1n, true, "0.999999999999 < 1n"); +assert(1n < 1, false, "1n < 1"); +assert(1 < 1n, false, "1 < 1n"); +assert(0n < Number.MIN_VALUE, true, "0n < Number.MIN_VALUE"); +assert(Number.MIN_VALUE < 0n, false, "Number.MIN_VALUE < 0n"); +assert(0n < -Number.MIN_VALUE, false, "0n < -Number.MIN_VALUE"); +assert(-Number.MIN_VALUE < 0n, true, "-Number.MIN_VALUE < 0n"); +assert(BigInt("-10") < Number.MIN_VALUE, true, "-10n < Number.MIN_VALUE"); +assert(Number.MIN_VALUE < BigInt("-10"), false, "Number.MIN_VALUE < -10n"); +assert(1n < Number.MAX_VALUE, true, "1n < Number.MAX_VALUE"); +assert(Number.MAX_VALUE < 1n, false, "Number.MAX_VALUE < 1n"); +assert(1n < -Number.MAX_VALUE, false, "1n < -Number.MAX_VALUE"); +assert(-Number.MAX_VALUE < 1n, true, "-Number.MAX_VALUE < 1n"); +assert(0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn < Number.MAX_VALUE, true, "0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn < Number.MAX_VALUE"); +assert(Number.MAX_VALUE < 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn, false, "Number.MAX_VALUE < 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn"); +assert(0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n < Number.MAX_VALUE, false, "0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n < Number.MAX_VALUE"); +assert(Number.MAX_VALUE < 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, true, "Number.MAX_VALUE < 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n"); +assert(1n < Infinity, true, "1n < Infinity"); +assert(Infinity < 1n, false, "Infinity < 1n"); +assert(BigInt("-1") < Infinity, true, "-1n < Infinity"); +assert(Infinity < BigInt("-1"), false, "Infinity < -1n"); +assert(1n < -Infinity, false, "1n < -Infinity"); +assert(-Infinity < 1n, true, "-Infinity < 1n"); +assert(BigInt("-1") < -Infinity, false, "-1n < -Infinity"); +assert(-Infinity < BigInt("-1"), true, "-Infinity < -1n"); +assert(0n < NaN, false, "0n < NaN"); +assert(NaN < 0n, false, "NaN < 0n"); + +// BigInt - Boolean + +assert(false < 1n, true, "false < 1n"); +assert(1n < false, false, "1n < false"); +assert(false < 0n, false, "false < 0n"); +assert(0n < false, false, "0n < false"); +assert(true < 1n, false, "true < 1n"); +assert(1n < true, false, "1n < true"); +assert(true < 2n, true, "true < 2n"); +assert(2n < true, false, "2n < true"); + +// BigInt - Symbol + +try { + 1n < Symbol("1"); + assert(false, true, "Comparison with Symbol shoud throw TypeError, but executed without exception"); +} catch(e) { + assert(e instanceof TypeError, true, "Comparison with Symbol shoud throw TypeError, but throwed something else"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-jit.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-jit.js new file mode 100644 index 0000000000..0e80addc11 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-jit.js @@ -0,0 +1,24 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function lessThanTest(a, b) { + return a < b; +} +noInline(lessThanTest); + +for (let i = 0; i < 100000; i++) { + assert(lessThanTest(3n, 4) === true); +} + +for (let i = 0; i < 100000; i++) { + assert(lessThanTest(3n, 4n) === true); +} + +for (let i = 0; i < 100000; i++) { + assert(lessThanTest(3n, "4") === true); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-general.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-general.js new file mode 100644 index 0000000000..44ffa577b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-general.js @@ -0,0 +1,148 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Josh Wolfe. All rights reserved. +// Copyright (C) 2017 Robin Templeton. All rights reserved. +// Copyright (C) 2018 Igalia, S.L. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(0n <= 0n, true, "0n <= 0n"); +assert(1n <= 1n, true, "1n <= 1n"); +assert(BigInt("-1") <= BigInt("-1"), true, "-1n <= -1n"); +assert(0n <= BigInt("-0"), true, "0n <= -0n"); +assert(BigInt("-0") <= 0n, true, "-0n <= 0n"); +assert(0n <= 1n, true, "0n <= 1n"); +assert(1n <= 0n, false, "1n <= 0n"); +assert(0n <= BigInt("-1"), false, "0n <= -1n"); +assert(BigInt("-1") <= 0n, true, "-1n <= 0n"); +assert(1n <= BigInt("-1"), false, "1n <= -1n"); +assert(BigInt("-1") <= 1n, true, "-1n <= 1n"); +assert(0x1fffffffffffff01n <= 0x1fffffffffffff02n, true, "0x1fffffffffffff01n <= 0x1fffffffffffff02n"); +assert(0x1fffffffffffff02n <= 0x1fffffffffffff01n, false, "0x1fffffffffffff02n <= 0x1fffffffffffff01n"); +assert(BigInt("-2305843009213693697") <= BigInt("-2305843009213693698"), false, "-2305843009213693697n <= -2305843009213693698n"); +assert(BigInt("-2305843009213693698") <= BigInt("-2305843009213693697"), true, "-2305843009213693698n <= -2305843009213693697n"); +assert(0x10000000000000000n <= 0n, false, "0x10000000000000000n <= 0n"); +assert(0n <= 0x10000000000000000n, true, "0n <= 0x10000000000000000n"); +assert(0x10000000000000000n <= 1n, false, "0x10000000000000000n <= 1n"); +assert(1n <= 0x10000000000000000n, true, "1n <= 0x10000000000000000n"); +assert(0x10000000000000000n <= BigInt("-1"), false, "0x10000000000000000n <= -1n"); +assert(BigInt("-1") <= 0x10000000000000000n, true, "-1n <= 0x10000000000000000n"); +assert(0x10000000000000001n <= 0n, false, "0x10000000000000001n <= 0n"); +assert(0n <= 0x10000000000000001n, true, "0n <= 0x10000000000000001n"); +assert(BigInt("-18446744073709551616") <= 0n, true, "-18446744073709551616n <= 0n"); +assert(0n <= BigInt("-18446744073709551616"), false, "0n <= -18446744073709551616n"); +assert(BigInt("-18446744073709551616") <= 1n, true, "-18446744073709551616n <= 1n"); +assert(1n <= BigInt("-18446744073709551616"), false, "1n <= -18446744073709551616n"); +assert(BigInt("-18446744073709551616") <= BigInt("-1"), true, "-18446744073709551616n <= -1n"); +assert(BigInt("-1") <= BigInt("-18446744073709551616"), false, "-1n <= -18446744073709551616n"); +assert(BigInt("-18446744073709551617") <= 0n, true, "-18446744073709551617n <= 0n"); +assert(0n <= BigInt("-18446744073709551617"), false, "0n <= -18446744073709551617n"); +assert(0x10000000000000000n <= 0x100000000n, false, "0x10000000000000000n <= 0x100000000n"); +assert(0x100000000n <= 0x10000000000000000n, true, "0x100000000n <= 0x10000000000000000n"); + +// BigInt - String + +assert(0n <= "0", true, "0n <= '0'"); +assert("0" <= 0n, true, "'0' <= 0n"); +assert(0n <= "1", true, "0n <= '1'"); +assert("0" <= 1n, true, "'0' <= 1n"); +assert(1n <= "0", false, "1n <= '0'"); +assert("1" <= 0n, false, "'1' <= 0n"); +assert(0n <= "", true, "0n <= ''"); +assert("" <= 0n, true, "'' <= 0n"); +assert(0n <= "1", true, "0n <= '1'"); +assert("" <= 1n, true, "'' <= 1n"); +assert(1n <= "", false, "1n <= ''"); +assert("1" <= 0n, false, "'1' <= 0n"); +assert(1n <= "1", true, "1n <= '1'"); +assert("1" <= 1n, true, "'1' <= 1n"); +assert(1n <= "-1", false, "1n <= '-1'"); +assert("1" <= BigInt("-1"), false, "'1' <= -1n"); +assert(BigInt("-1") <= "1", true, "-1n <= '1'"); +assert("-1" <= 1n, true, "'-1' <= 1n"); +assert(BigInt("-1") <= "-1", true, "-1n <= '-1'"); +assert("-1" <= BigInt("-1"), true, "'-1' <= -1n"); +assert(9007199254740993n <= "9007199254740992", false, "9007199254740993n <= '9007199254740992'"); +assert("9007199254740993" <= 9007199254740992n, false, "'9007199254740993' <= 9007199254740992n"); +assert(BigInt("-9007199254740992") <= "-9007199254740993", false, "-9007199254740992n <= '-9007199254740993'"); +assert("-9007199254740992" <= BigInt("-9007199254740993"), false, "'-9007199254740992' <= -9007199254740993n"); +assert("0x10" <= 3n, false, "'0x10' <= 3n"); +assert("0x10" <= 2n, false, "'0x10' <= 2n"); +assert("0x10" <= 1n, false, "'0x10' <= 1n"); +assert("0o10" <= 7n, false, "'0o10' <= 7n"); +assert("0o10" <= 8n, true, "'0o10' <= 8n"); +assert("0o10" <= 9n, true, "'0o10' <= 9n"); +assert("0b10" <= 3n, true, "'0b10' <= 3n"); +assert("0b10" <= 2n, true, "'0b10' <= 2n"); +assert("0b10" <= 1n, false, "'0b10' <= 1n"); + +// Invalid String + +assert("b10" <= 2n, false, "'b10' > 2n"); +assert("bbb10" <= 2n, false, "'bbb10' > 2n"); + +// BigInt - Number + +assert(0n <= 0, true, "0n <= 0"); +assert(0 <= 0n, true, "0 <= 0n"); +assert(0n <= -0, true, "0n <= -0"); +assert(-0 <= 0n, true, "-0 <= 0n"); +assert(0n <= 0.000000000001, true, "0n <= 0.000000000001"); +assert(0.000000000001 <= 0n, false, "0.000000000001 <= 0n"); +assert(0n <= 1, true, "0n <= 1"); +assert(1 <= 0n, false, "1 <= 0n"); +assert(1n <= 0, false, "1n <= 0"); +assert(0 <= 1n, true, "0 <= 1n"); +assert(1n <= 0.999999999999, false, "1n <= 0.999999999999"); +assert(0.999999999999 <= 1n, true, "0.999999999999 <= 1n"); +assert(1n <= 1, true, "1n <= 1"); +assert(1 <= 1n, true, "1 <= 1n"); +assert(0n <= Number.MIN_VALUE, true, "0n <= Number.MIN_VALUE"); +assert(Number.MIN_VALUE <= 0n, false, "Number.MIN_VALUE <= 0n"); +assert(0n <= -Number.MIN_VALUE, false, "0n <= -Number.MIN_VALUE"); +assert(-Number.MIN_VALUE <= 0n, true, "-Number.MIN_VALUE <= 0n"); +assert(BigInt("-10") <= Number.MIN_VALUE, true, "-10n <= Number.MIN_VALUE"); +assert(Number.MIN_VALUE <= BigInt("-10"), false, "Number.MIN_VALUE <= -10n"); +assert(1n <= Number.MAX_VALUE, true, "1n <= Number.MAX_VALUE"); +assert(Number.MAX_VALUE <= 1n, false, "Number.MAX_VALUE <= 1n"); +assert(1n <= -Number.MAX_VALUE, false, "1n <= -Number.MAX_VALUE"); +assert(-Number.MAX_VALUE <= 1n, true, "-Number.MAX_VALUE <= 1n"); +assert(0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn <= Number.MAX_VALUE, true, "0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn <= Number.MAX_VALUE"); +assert(Number.MAX_VALUE <= 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn, false, "Number.MAX_VALUE <= 0xfffffffffffff7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffn"); +assert(0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n <= Number.MAX_VALUE, false, "0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n <= Number.MAX_VALUE"); +assert(Number.MAX_VALUE <= 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n, true, "Number.MAX_VALUE <= 0xfffffffffffff800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001n"); +assert(1n <= Infinity, true, "1n <= Infinity"); +assert(Infinity <= 1n, false, "Infinity <= 1n"); +assert(BigInt("-1") <= Infinity, true, "-1n <= Infinity"); +assert(Infinity <= BigInt("-1"), false, "Infinity <= -1n"); +assert(1n <= -Infinity, false, "1n <= -Infinity"); +assert(-Infinity <= 1n, true, "-Infinity <= 1n"); +assert(BigInt("-1") <= -Infinity, false, "-1n <= -Infinity"); +assert(-Infinity <= BigInt("-1"), true, "-Infinity <= -1n"); +assert(0n <= NaN, false, "0n <= NaN"); +assert(NaN <= 0n, false, "NaN <= 0n"); + +// BigInt - Boolean + +assert(false <= 1n, true, "false <= 1n"); +assert(1n <= false, false, "1n <= false"); +assert(false <= 0n, true, "false <= 0n"); +assert(0n <= false, true, "0n <= false"); +assert(true <= 1n, true, "true <= 1n"); +assert(1n <= true, true, "1n <= true"); +assert(true <= 2n, true, "true <= 2n"); +assert(2n <= true, false, "2n <= true"); + +// BigInt - Symbol + +try { + 1n <= Symbol("1"); + assert(false, true, "Comparison with Symbol shoud throw TypeError, but executed without exception"); +} catch(e) { + assert(e instanceof TypeError, true, "Comparison with Symbol shoud throw TypeError, but throwed something else"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-jit.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-jit.js new file mode 100644 index 0000000000..f356844050 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-jit.js @@ -0,0 +1,24 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function lessThanOrEqualTest(a, b) { + return a <= b; +} +noInline(lessThanOrEqualTest); + +for (let i = 0; i < 100000; i++) { + assert(lessThanOrEqualTest(3n, 4) === true); +} + +for (let i = 0; i < 100000; i++) { + assert(lessThanOrEqualTest(3n, 4n) === true); +} + +for (let i = 0; i < 100000; i++) { + assert(lessThanOrEqualTest(3n, "4") === true); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-order-of-evaluation.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-order-of-evaluation.js new file mode 100644 index 0000000000..64ea754110 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-order-of-evaluation.js @@ -0,0 +1,55 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +let o = { + [Symbol.toPrimitive]: function() { + throw new Error("Calling @toPrimitive"); + } +} + +try { + o <= Symbol(2); + assert(true, false, "") +} catch(e) { + assert(e.message, "Calling @toPrimitive", "Bad Exception when object is left operand"); +} + +try { + Symbol(2) <= o; + assert(true, false, "") +} catch(e) { + assert(e instanceof TypeError, true, "Bad Exception when Symbol is left operand"); +} + +o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + throw new Error("Should never call valueOf"); + } +} + +assert(o <= 3n, true, "ToPrimitive(2n) <= 3n"); + +o = { + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + return 2n; + } +} + +assert(o <= 3n, true, "valueOf(2n) <= 3n"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-wrapped-values.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-wrapped-values.js new file mode 100644 index 0000000000..237c56a46b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-or-equal-wrapped-values.js @@ -0,0 +1,63 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(Object(2n) <= 1n, false, "Object(2n) <= 1n"); +assert(1n <= Object(2n), true, "1n <= Object(2n)"); +assert(Object(2n) <= Object(1n), false, "Object(2n) <= Object(1n)"); +assert(Object(1n) <= Object(2n), true, "Object(1n) <= Object(2n)"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +} + +let o2 = { + [Symbol.toPrimitive]: function() { + return 1n; + } +} + +assert(o <= 1n, false, "ToPrimitive(2n) <= 1n"); +assert(1n <= o, true, "1n <= ToPrimitive(2n)"); +assert(o <= o2, false, "ToPrimitive(2n) <= ToPrimitive(1n)"); +assert(o2 <= o, true, "ToPrimitive(1n) <= ToPrimitive(2n)"); + +o = { + valueOf: function() { + return 2n; + } +} + +o2 = { + valueOf: function() { + return 1n; + } +} + +assert(o <= 1n, false, "ToPrimitive(2n) <= 1n"); +assert(1n <= o, true, "1n <= ToPrimitive(2n)"); +assert(o <= o2, false, "ToPrimitive(2n) <= ToPrimitive(1n)"); +assert(o2 <= o, true, "ToPrimitive(1n) <= ToPrimitive(2n)"); + +o = { + toString: function() { + return 2n; + } +} + +o2 = { + toString: function() { + return 1n; + } +} + +assert(o <= 1n, false, "ToPrimitive(2n) <= 1n"); +assert(1n <= o, true, "1n <= ToPrimitive(2n)"); +assert(o <= o2, false, "ToPrimitive(2n) <= ToPrimitive(1n)"); +assert(o2 <= o, true, "ToPrimitive(1n) <= ToPrimitive(2n)"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-order-of-evaluation.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-order-of-evaluation.js new file mode 100644 index 0000000000..b7efe433ef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-order-of-evaluation.js @@ -0,0 +1,55 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +let o = { + [Symbol.toPrimitive]: function() { + throw new Error("Calling @toPrimitive"); + } +} + +try { + o < Symbol(2); + assert(true, false, "") +} catch(e) { + assert(e.message, "Calling @toPrimitive", "Bad Exception when object is left operand"); +} + +try { + Symbol(2) < o; + assert(true, false, "") +} catch(e) { + assert(e instanceof TypeError, true, "Bad Exception when Symbol is left operand"); +} + +o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + throw new Error("Should never call valueOf"); + } +} + +assert(o < 3n, true, "ToPrimitive(2n) < 3n"); + +o = { + toString: function() { + throw new Error("Should never call toString"); + }, + + valueOf: function() { + return 2n; + } +} + +assert(o < 3n, true, "valueOf(2n) < 3n"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-less-than-wrapped-values.js b/implementation-contributed/javascriptcore/stress/big-int-less-than-wrapped-values.js new file mode 100644 index 0000000000..67a2e0ba87 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-less-than-wrapped-values.js @@ -0,0 +1,63 @@ +//@ runBigIntEnabled + +function assert(v, e, m) { + if (v !== e) + throw new Error(m); +} + +assert(Object(2n) < 1n, false, "Object(2n) < 1n"); +assert(1n < Object(2n), true, "1n < Object(2n)"); +assert(Object(2n) < Object(1n), false, "Object(2n) < Object(1n)"); +assert(Object(1n) < Object(2n), true, "Object(1n) < Object(2n)"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +} + +let o2 = { + [Symbol.toPrimitive]: function() { + return 1n; + } +} + +assert(o < 1n, false, "ToPrimitive(2n) < 1n"); +assert(1n < o, true, "1n < ToPrimitive(2n)"); +assert(o < o2, false, "ToPrimitive(2n) < ToPrimitive(1n)"); +assert(o2 < o, true, "ToPrimitive(1n) < ToPrimitive(2n)"); + +o = { + valueOf: function() { + return 2n; + } +} + +o2 = { + valueOf: function() { + return 1n; + } +} + +assert(o < 1n, false, "ToPrimitive(2n) < 1n"); +assert(1n < o, true, "1n < ToPrimitive(2n)"); +assert(o < o2, false, "ToPrimitive(2n) < ToPrimitive(1n)"); +assert(o2 < o, true, "ToPrimitive(1n) < ToPrimitive(2n)"); + +o = { + toString: function() { + return 2n; + } +} + +o2 = { + toString: function() { + return 1n; + } +} + +assert(o < 1n, false, "ToPrimitive(2n) < 1n"); +assert(1n < o, true, "1n < ToPrimitive(2n)"); +assert(o < o2, false, "ToPrimitive(2n) < ToPrimitive(1n)"); +assert(o2 < o, true, "ToPrimitive(1n) < ToPrimitive(2n)"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-literal-line-terminator.js b/implementation-contributed/javascriptcore/stress/big-int-literal-line-terminator.js new file mode 100644 index 0000000000..dafb4999ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-literal-line-terminator.js @@ -0,0 +1,33 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +var d; + +assert(eval("d=5n\u000A") === 5n); +assert(d === 5n); + +assert(eval("d=15n\u000D") === 15n); +assert(d === 15n); + +assert(eval("d=19n\u2028;") === 19n); +assert(d === 19n); + +assert(eval("d=95n\u2029;") === 95n); +assert(d === 95n); + +assert(eval("d=\u000A5n") === 5n); +assert(d === 5n); + +assert(eval("d=\u000D15n") === 15n); +assert(d === 15n); + +assert(eval("d=\u202819n;") === 19n); +assert(d === 19n); + +assert(eval("d=\u202995n;") === 95n); +assert(d === 95n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-literals.js b/implementation-contributed/javascriptcore/stress/big-int-literals.js new file mode 100644 index 0000000000..6c48090bec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-literals.js @@ -0,0 +1,113 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowSyntaxError(input) { + try { + eval(input); + assert(false); + } catch (e) { + assert(e instanceof SyntaxError); + } +} + +// Test 0 conversions +let n = 0n; +assert(n === 0n); + +n = 00n; +assert(n === 0n); + +// Binary representation + +n = 0b1111n; +assert(n === 15n); + +n = 0b10n; +assert(n === 2n); + +n = 0b010n; +assert(n === 2n); + +let binaryString = "0b1"; +for (let i = 0; i < 128; i++) + binaryString += "0"; + +n = eval(binaryString + "n"); +assert(n === 340282366920938463463374607431768211456n); + +n = 0B1111n; +assert(n === 15n); + +n = 0B10n; +assert(n === 2n); + +binaryString = "0B1"; +for (let i = 0; i < 128; i++) + binaryString += "0"; + +n = eval(binaryString + "n"); +assert(n === 340282366920938463463374607431768211456n); + +// Octal representation + +n = 0o7n; +assert(n === 7n); + +n = 0o10n; +assert(n === 8n); + +n = 0o20n; +assert(n === 16n); + +n = 0o00020n; +assert(n === 16n); + +n = 0O7n; +assert(n === 7n); + +n = 0O10n; +assert(n === 8n); + +n = 0O20n; +assert(n === 16n); + +n = 0O20n; +assert(n === 16n); + +// Hexadecimal representation + +n = 0xan; +assert(n === 10n); + +n = 0xffn; +assert(n === 255n); + +n = 0x000ffn; +assert(n === 255n); + +n = 0xfabcn; +assert(n === 64188n); + +assertThrowSyntaxError("0b2n"); +assertThrowSyntaxError("0b02n"); +assertThrowSyntaxError("0b1nn"); +assertThrowSyntaxError("0o89n"); +assertThrowSyntaxError("0o08n"); +assertThrowSyntaxError("0o7nn"); +assertThrowSyntaxError("0xgn"); +assertThrowSyntaxError("0x0gn"); +assertThrowSyntaxError("0xfnn"); +assertThrowSyntaxError("100nn"); +assertThrowSyntaxError("1a0nn"); +assertThrowSyntaxError("10E20n"); + +try { + eval("--10n"); + assert(false); +} catch(e) { + assert(e instanceof ReferenceError); +} diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod-jit.js b/implementation-contributed/javascriptcore/stress/big-int-mod-jit.js new file mode 100644 index 0000000000..81c5da7c5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod-jit.js @@ -0,0 +1,33 @@ +//@ runBigIntEnabled + +let assert = { + sameValue: function(i, e, m) { + if (i !== e) + throw new Error(m); + } +} + +function bigIntMod(x, y) { + return x % y; +} +noInline(bigIntMod); + +for (let i = 0; i < 10000; i++) { + let r = bigIntMod(30n, 10n); + assert.sameValue(r, 0n, 30n + " % " + 10n + " = " + r); +} + +function bigIntModFolding(x, y) { + let r = x % y; + return -r; +} +noInline(bigIntModFolding); + +for (let i = 0; i < 10000; i++) { + let r = bigIntModFolding(10, 30); + assert.sameValue(r, -10, "-(" + 10 + " % " + 30 + ") = " + r); +} + +let r = bigIntModFolding(10n, 30n); +assert.sameValue(r, -10n, "-(" + 10n + " % " + 30n + ") = " + r); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod-memory-stress.js b/implementation-contributed/javascriptcore/stress/big-int-mod-memory-stress.js new file mode 100644 index 0000000000..9b67d718f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod-memory-stress.js @@ -0,0 +1,15 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let a = 0n; +let b = 30n; +for (let i = 0; i < 1000000; i++) { + a = b % 2n; +} + +assert(a === 0n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive-precedence.js b/implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive-precedence.js new file mode 100644 index 0000000000..9a36a62d3b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive-precedence.js @@ -0,0 +1,38 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testMod(x, y, z, message) { + assert.sameValue(x % y, z, message); +} + +testMod(Object(33n), 10n, 3n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 33n; + }, + valueOf: function () { + throw new Error("Should never execute it"); + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testMod(o, 10n, 3n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 33n; + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testMod(o, 10n, 3n, "ToPrimitive: valueOf"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive.js b/implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive.js new file mode 100644 index 0000000000..95d36f30eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod-to-primitive.js @@ -0,0 +1,34 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert.sameValue = function (input, expected, message) { + if (input !== expected) + throw new Error(message); +} + +function testMod(x, y, z) { + assert.sameValue(x % y, z, x + " % " + y + " = " + z); +} + +let o = { + [Symbol.toPrimitive]: function () { return 3000n; } +} + +testMod(500000000000438n, o, 2438n); + +o.valueOf = function () { + throw new Error("Should never execute it"); +}; + +testMod(700000000000438n, o, 1438n); + +o.toString = function () { + throw new Error("Should never execute it"); +}; + +testMod(700000000000438n, o, 1438n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod-type-error.js b/implementation-contributed/javascriptcore/stress/big-int-mod-type-error.js new file mode 100644 index 0000000000..75079cc2b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod-type-error.js @@ -0,0 +1,117 @@ +//@ runBigIntEnabled + +function assert(a, message) { + if (!a) + throw new Error(message); +} + +function assertThrowTypeError(a, b, message) { + try { + let n = a % b; + assert(false, message + ": Should throw TypeError, but executed without exception"); + } catch (e) { + assert(e instanceof TypeError, message + ": expected TypeError, got: " + e); + } +} + +assertThrowTypeError(30n, "foo", "BigInt % String"); +assertThrowTypeError("bar", 18757382984821n, "String % BigInt"); +assertThrowTypeError(30n, Symbol("foo"), "BigInt % Symbol"); +assertThrowTypeError(Symbol("bar"), 18757382984821n, "Symbol % BigInt"); +assertThrowTypeError(30n, 3320, "BigInt % Int32"); +assertThrowTypeError(33256, 18757382984821n, "Int32 % BigInt"); +assertThrowTypeError(30n, 0.543, "BigInt % Double"); +assertThrowTypeError(230.19293, 18757382984821n, "Double % BigInt"); +assertThrowTypeError(30n, NaN, "BigInt % NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN % BigInt"); +assertThrowTypeError(30n, NaN, "BigInt % NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN % BigInt"); +assertThrowTypeError(30n, +Infinity, "BigInt % NaN"); +assertThrowTypeError(+Infinity, 18757382984821n, "NaN % BigInt"); +assertThrowTypeError(30n, -Infinity, "BigInt % -Infinity"); +assertThrowTypeError(-Infinity, 18757382984821n, "-Infinity % BigInt"); +assertThrowTypeError(30n, null, "BigInt % null"); +assertThrowTypeError(null, 18757382984821n, "null % BigInt"); +assertThrowTypeError(30n, undefined, "BigInt % undefined"); +assertThrowTypeError(undefined, 18757382984821n, "undefined % BigInt"); +assertThrowTypeError(30n, true, "BigInt * true"); +assertThrowTypeError(true, 18757382984821n, "true % BigInt"); +assertThrowTypeError(30n, false, "BigInt % false"); +assertThrowTypeError(false, 18757382984821n, "false % BigInt"); + +// Error when returning from object + +let o = { + valueOf: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.valueOf returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Symbol % BigInt"); + +o = { + valueOf: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.valueOf returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Int32 % BigInt"); + +o = { + valueOf: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.valueOf returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Double % BigInt"); + +o = { + toString: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.toString returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Symbol % BigInt"); + +o = { + toString: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.toString returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Int32 % BigInt"); + +o = { + toString: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.toString returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Double % BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.@@toPrimitive returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Symbol % BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.@@toPrimitive returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Int32 % BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt % Object.@@toPrimitive returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Double % BigInt"); + +o = { + [Symbol.toPrimitive]: function () { throw new Error("Bad"); } +}; + +assertThrowTypeError(Symbol("30"), o, "Symbol % object should result in TypeError"); +try { + o % Symbol("30"); +} catch (e) { + assert(e.message === "Bad", "Erro message expected is 'Bad'"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod-wrapped-value.js b/implementation-contributed/javascriptcore/stress/big-int-mod-wrapped-value.js new file mode 100644 index 0000000000..849194ba08 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod-wrapped-value.js @@ -0,0 +1,36 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testDiv(x, y, z, message) { + assert.sameValue(x % y, z, message); +} + +testDiv(Object(33n), 10n, 3n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 33n; + } +}; +testDiv(o, 10n, 3n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 33n; + } +}; +testDiv(o, 10n, 3n, "ToPrimitive: valueOf"); + +o = { + toString: function() { + return 33n; + } +} +testDiv(o, 10n, 3n, "ToPrimitive: toString"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mod.js b/implementation-contributed/javascriptcore/stress/big-int-mod.js new file mode 100644 index 0000000000..fc9c72468c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mod.js @@ -0,0 +1,276 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Robin Templeton. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert.sameValue = function (input, expected, message) { + if (input !== expected) + throw new Error(message); +} + +function testMod(x, y, z) { + assert.sameValue(x % y, z, x + " % " + y + " = " + z); +} + +testMod(0xFEDCBA9876543210n, 0xFEDCBA9876543210n, 0x0n); +testMod(0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, 0x1n); +testMod(0xFEDCBA9876543210n, 0xFEDCBA98n, 0x76543210n); +testMod(0xFEDCBA9876543210n, 0xFEDCBA97n, 0x77777779n); +testMod(0xFEDCBA9876543210n, 0x1234n, 0x960n); +testMod(0xFEDCBA9876543210n, 0x3n, 0x0n); +testMod(0xFEDCBA9876543210n, 0x2n, 0x0n); +testMod(0xFEDCBA9876543210n, 0x1n, 0x0n); +testMod(0xFEDCBA9876543210n, BigInt("-1"), 0x0n); +testMod(0xFEDCBA9876543210n, BigInt("-2"), 0x0n); +testMod(0xFEDCBA9876543210n, BigInt("-3"), 0x0n); +testMod(0xFEDCBA9876543210n, BigInt("-4660"), 0x960n); +testMod(0xFEDCBA9876543210n, BigInt("-4275878551"), 0x77777779n); +testMod(0xFEDCBA9876543210n, BigInt("-4275878552"), 0x76543210n); +testMod(0xFEDCBA9876543210n, BigInt("-18364758544493064719"), 0x1n); +testMod(0xFEDCBA987654320Fn, 0xFEDCBA9876543210n, 0xFEDCBA987654320Fn); +testMod(0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, 0x0n); +testMod(0xFEDCBA987654320Fn, 0xFEDCBA98n, 0x7654320Fn); +testMod(0xFEDCBA987654320Fn, 0xFEDCBA97n, 0x77777778n); +testMod(0xFEDCBA987654320Fn, 0x1234n, 0x95Fn); +testMod(0xFEDCBA987654320Fn, 0x3n, 0x2n); +testMod(0xFEDCBA987654320Fn, 0x2n, 0x1n); +testMod(0xFEDCBA987654320Fn, 0x1n, 0x0n); +testMod(0xFEDCBA987654320Fn, BigInt("-1"), 0x0n); +testMod(0xFEDCBA987654320Fn, BigInt("-3"), 0x2n); +testMod(0xFEDCBA987654320Fn, BigInt("-4660"), 0x95Fn); +testMod(0xFEDCBA987654320Fn, BigInt("-4275878551"), 0x77777778n); +testMod(0xFEDCBA987654320Fn, BigInt("-18364758544493064720"), 0xFEDCBA987654320Fn); +testMod(0xFEDCBA98n, 0xFEDCBA9876543210n, 0xFEDCBA98n); +testMod(0xFEDCBA98n, 0xFEDCBA987654320Fn, 0xFEDCBA98n); +testMod(0xFEDCBA98n, 0xFEDCBA98n, 0x0n); +testMod(0xFEDCBA98n, 0xFEDCBA97n, 0x1n); +testMod(0xFEDCBA98n, 0x1234n, 0x930n); +testMod(0xFEDCBA98n, 0x3n, 0x2n); +testMod(0xFEDCBA98n, 0x2n, 0x0n); +testMod(0xFEDCBA98n, 0x1n, 0x0n); +testMod(0xFEDCBA98n, BigInt("-1"), 0x0n); +testMod(0xFEDCBA98n, BigInt("-2"), 0x0n); +testMod(0xFEDCBA98n, BigInt("-3"), 0x2n); +testMod(0xFEDCBA98n, BigInt("-4660"), 0x930n); +testMod(0xFEDCBA98n, BigInt("-4275878551"), 0x1n); +testMod(0xFEDCBA98n, BigInt("-4275878552"), 0x0n); +testMod(0xFEDCBA98n, BigInt("-18364758544493064719"), 0xFEDCBA98n); +testMod(0xFEDCBA98n, BigInt("-18364758544493064720"), 0xFEDCBA98n); +testMod(0xFEDCBA97n, 0xFEDCBA9876543210n, 0xFEDCBA97n); +testMod(0xFEDCBA97n, 0xFEDCBA987654320Fn, 0xFEDCBA97n); +testMod(0xFEDCBA97n, 0xFEDCBA98n, 0xFEDCBA97n); +testMod(0xFEDCBA97n, 0xFEDCBA97n, 0x0n); +testMod(0xFEDCBA97n, 0x1234n, 0x92Fn); +testMod(0xFEDCBA97n, 0x3n, 0x1n); +testMod(0xFEDCBA97n, 0x2n, 0x1n); +testMod(0xFEDCBA97n, 0x1n, 0x0n); +testMod(0xFEDCBA97n, BigInt("-1"), 0x0n); +testMod(0xFEDCBA97n, BigInt("-2"), 0x1n); +testMod(0xFEDCBA97n, BigInt("-3"), 0x1n); +testMod(0xFEDCBA97n, BigInt("-4660"), 0x92Fn); +testMod(0xFEDCBA97n, BigInt("-4275878551"), 0x0n); +testMod(0xFEDCBA97n, BigInt("-4275878552"), 0xFEDCBA97n); +testMod(0xFEDCBA97n, BigInt("-18364758544493064719"), 0xFEDCBA97n); +testMod(0xFEDCBA97n, BigInt("-18364758544493064720"), 0xFEDCBA97n); +testMod(0x1234n, 0xFEDCBA9876543210n, 0x1234n); +testMod(0x1234n, 0xFEDCBA987654320Fn, 0x1234n); +testMod(0x1234n, 0xFEDCBA98n, 0x1234n); +testMod(0x1234n, 0xFEDCBA97n, 0x1234n); +testMod(0x1234n, 0x1234n, 0x0n); +testMod(0x1234n, 0x3n, 0x1n); +testMod(0x1234n, 0x2n, 0x0n); +testMod(0x1234n, 0x1n, 0x0n); +testMod(0x1234n, BigInt("-1"), 0x0n); +testMod(0x1234n, BigInt("-2"), 0x0n); +testMod(0x1234n, BigInt("-3"), 0x1n); +testMod(0x1234n, BigInt("-4660"), 0x0n); +testMod(0x1234n, BigInt("-4275878551"), 0x1234n); +testMod(0x1234n, BigInt("-4275878552"), 0x1234n); +testMod(0x1234n, BigInt("-18364758544493064719"), 0x1234n); +testMod(0x1234n, BigInt("-18364758544493064720"), 0x1234n); +testMod(0x3n, 0xFEDCBA9876543210n, 0x3n); +testMod(0x3n, 0xFEDCBA987654320Fn, 0x3n); +testMod(0x3n, 0xFEDCBA98n, 0x3n); +testMod(0x3n, 0xFEDCBA97n, 0x3n); +testMod(0x3n, 0x1234n, 0x3n); +testMod(0x3n, 0x3n, 0x0n); +testMod(0x3n, 0x2n, 0x1n); +testMod(0x3n, 0x1n, 0x0n); +testMod(0x3n, BigInt("-1"), 0x0n); +testMod(0x3n, BigInt("-2"), 0x1n); +testMod(0x3n, BigInt("-3"), 0x0n); +testMod(0x3n, BigInt("-4660"), 0x3n); +testMod(0x3n, BigInt("-4275878551"), 0x3n); +testMod(0x3n, BigInt("-4275878552"), 0x3n); +testMod(0x3n, BigInt("-18364758544493064719"), 0x3n); +testMod(0x3n, BigInt("-18364758544493064720"), 0x3n); +testMod(0x2n, 0xFEDCBA9876543210n, 0x2n); +testMod(0x2n, 0xFEDCBA987654320Fn, 0x2n); +testMod(0x2n, 0xFEDCBA98n, 0x2n); +testMod(0x2n, 0xFEDCBA97n, 0x2n); +testMod(0x2n, 0x1234n, 0x2n); +testMod(0x2n, 0x3n, 0x2n); +testMod(0x2n, 0x2n, 0x0n); +testMod(0x2n, 0x1n, 0x0n); +testMod(0x2n, BigInt("-1"), 0x0n); +testMod(0x2n, BigInt("-2"), 0x0n); +testMod(0x2n, BigInt("-3"), 0x2n); +testMod(0x2n, BigInt("-4660"), 0x2n); +testMod(0x2n, BigInt("-4275878551"), 0x2n); +testMod(0x2n, BigInt("-4275878552"), 0x2n); +testMod(0x2n, BigInt("-18364758544493064719"), 0x2n); +testMod(0x2n, BigInt("-18364758544493064720"), 0x2n); +testMod(0x1n, 0xFEDCBA9876543210n, 0x1n); +testMod(0x1n, 0xFEDCBA987654320Fn, 0x1n); +testMod(0x1n, 0xFEDCBA98n, 0x1n); +testMod(0x1n, 0xFEDCBA97n, 0x1n); +testMod(0x1n, 0x1234n, 0x1n); +testMod(0x1n, 0x3n, 0x1n); +testMod(0x1n, 0x2n, 0x1n); +testMod(0x1n, 0x1n, 0x0n); +testMod(0x1n, BigInt("-1"), 0x0n); +testMod(0x1n, BigInt("-2"), 0x1n); +testMod(0x1n, BigInt("-3"), 0x1n); +testMod(0x1n, BigInt("-4660"), 0x1n); +testMod(0x1n, BigInt("-4275878551"), 0x1n); +testMod(0x1n, BigInt("-4275878552"), 0x1n); +testMod(0x1n, BigInt("-18364758544493064719"), 0x1n); +testMod(0x1n, BigInt("-18364758544493064720"), 0x1n); +testMod(BigInt("-1"), 0xFEDCBA9876543210n, BigInt("-1")); +testMod(BigInt("-1"), 0xFEDCBA987654320Fn, BigInt("-1")); +testMod(BigInt("-1"), 0xFEDCBA98n, BigInt("-1")); +testMod(BigInt("-1"), 0xFEDCBA97n, BigInt("-1")); +testMod(BigInt("-1"), 0x1234n, BigInt("-1")); +testMod(BigInt("-1"), 0x3n, BigInt("-1")); +testMod(BigInt("-1"), 0x2n, BigInt("-1")); +testMod(BigInt("-1"), 0x1n, 0x0n); +testMod(BigInt("-1"), BigInt("-1"), 0x0n); +testMod(BigInt("-1"), BigInt("-2"), BigInt("-1")); +testMod(BigInt("-1"), BigInt("-3"), BigInt("-1")); +testMod(BigInt("-1"), BigInt("-4660"), BigInt("-1")); +testMod(BigInt("-1"), BigInt("-4275878551"), BigInt("-1")); +testMod(BigInt("-1"), BigInt("-4275878552"), BigInt("-1")); +testMod(BigInt("-1"), BigInt("-18364758544493064719"), BigInt("-1")); +testMod(BigInt("-1"), BigInt("-18364758544493064720"), BigInt("-1")); +testMod(BigInt("-2"), 0xFEDCBA9876543210n, BigInt("-2")); +testMod(BigInt("-2"), 0xFEDCBA987654320Fn, BigInt("-2")); +testMod(BigInt("-2"), 0xFEDCBA98n, BigInt("-2")); +testMod(BigInt("-2"), 0xFEDCBA97n, BigInt("-2")); +testMod(BigInt("-2"), 0x1234n, BigInt("-2")); +testMod(BigInt("-2"), 0x3n, BigInt("-2")); +testMod(BigInt("-2"), 0x2n, 0x0n); +testMod(BigInt("-2"), 0x1n, 0x0n); +testMod(BigInt("-2"), BigInt("-1"), 0x0n); +testMod(BigInt("-2"), BigInt("-2"), 0x0n); +testMod(BigInt("-2"), BigInt("-3"), BigInt("-2")); +testMod(BigInt("-2"), BigInt("-4660"), BigInt("-2")); +testMod(BigInt("-2"), BigInt("-4275878551"), BigInt("-2")); +testMod(BigInt("-2"), BigInt("-4275878552"), BigInt("-2")); +testMod(BigInt("-2"), BigInt("-18364758544493064719"), BigInt("-2")); +testMod(BigInt("-2"), BigInt("-18364758544493064720"), BigInt("-2")); +testMod(BigInt("-3"), 0xFEDCBA9876543210n, BigInt("-3")); +testMod(BigInt("-3"), 0xFEDCBA987654320Fn, BigInt("-3")); +testMod(BigInt("-3"), 0xFEDCBA98n, BigInt("-3")); +testMod(BigInt("-3"), 0xFEDCBA97n, BigInt("-3")); +testMod(BigInt("-3"), 0x1234n, BigInt("-3")); +testMod(BigInt("-3"), 0x3n, 0x0n); +testMod(BigInt("-3"), 0x2n, BigInt("-1")); +testMod(BigInt("-3"), 0x1n, 0x0n); +testMod(BigInt("-3"), BigInt("-1"), 0x0n); +testMod(BigInt("-3"), BigInt("-2"), BigInt("-1")); +testMod(BigInt("-3"), BigInt("-3"), 0x0n); +testMod(BigInt("-3"), BigInt("-4660"), BigInt("-3")); +testMod(BigInt("-3"), BigInt("-4275878551"), BigInt("-3")); +testMod(BigInt("-3"), BigInt("-4275878552"), BigInt("-3")); +testMod(BigInt("-3"), BigInt("-18364758544493064719"), BigInt("-3")); +testMod(BigInt("-3"), BigInt("-18364758544493064720"), BigInt("-3")); +testMod(BigInt("-4660"), 0xFEDCBA9876543210n, BigInt("-4660")); +testMod(BigInt("-4660"), 0xFEDCBA987654320Fn, BigInt("-4660")); +testMod(BigInt("-4660"), 0xFEDCBA98n, BigInt("-4660")); +testMod(BigInt("-4660"), 0xFEDCBA97n, BigInt("-4660")); +testMod(BigInt("-4660"), 0x1234n, 0x0n); +testMod(BigInt("-4660"), 0x3n, BigInt("-1")); +testMod(BigInt("-4660"), 0x2n, 0x0n); +testMod(BigInt("-4660"), 0x1n, 0x0n); +testMod(BigInt("-4660"), BigInt("-1"), 0x0n); +testMod(BigInt("-4660"), BigInt("-2"), 0x0n); +testMod(BigInt("-4660"), BigInt("-3"), BigInt("-1")); +testMod(BigInt("-4660"), BigInt("-4660"), 0x0n); +testMod(BigInt("-4660"), BigInt("-4275878551"), BigInt("-4660")); +testMod(BigInt("-4660"), BigInt("-4275878552"), BigInt("-4660")); +testMod(BigInt("-4660"), BigInt("-18364758544493064719"), BigInt("-4660")); +testMod(BigInt("-4660"), BigInt("-18364758544493064720"), BigInt("-4660")); +testMod(BigInt("-4275878551"), 0xFEDCBA9876543210n, BigInt("-4275878551")); +testMod(BigInt("-4275878551"), 0xFEDCBA987654320Fn, BigInt("-4275878551")); +testMod(BigInt("-4275878551"), 0xFEDCBA98n, BigInt("-4275878551")); +testMod(BigInt("-4275878551"), 0xFEDCBA97n, 0x0n); +testMod(BigInt("-4275878551"), 0x1234n, BigInt("-2351")); +testMod(BigInt("-4275878551"), 0x3n, BigInt("-1")); +testMod(BigInt("-4275878551"), 0x2n, BigInt("-1")); +testMod(BigInt("-4275878551"), 0x1n, 0x0n); +testMod(BigInt("-4275878551"), BigInt("-1"), 0x0n); +testMod(BigInt("-4275878551"), BigInt("-2"), BigInt("-1")); +testMod(BigInt("-4275878551"), BigInt("-3"), BigInt("-1")); +testMod(BigInt("-4275878551"), BigInt("-4660"), BigInt("-2351")); +testMod(BigInt("-4275878551"), BigInt("-4275878551"), 0x0n); +testMod(BigInt("-4275878551"), BigInt("-4275878552"), BigInt("-4275878551")); +testMod(BigInt("-4275878551"), BigInt("-18364758544493064719"), BigInt("-4275878551")); +testMod(BigInt("-4275878551"), BigInt("-18364758544493064720"), BigInt("-4275878551")); +testMod(BigInt("-4275878552"), 0xFEDCBA9876543210n, BigInt("-4275878552")); +testMod(BigInt("-4275878552"), 0xFEDCBA987654320Fn, BigInt("-4275878552")); +testMod(BigInt("-4275878552"), 0xFEDCBA98n, 0x0n); +testMod(BigInt("-4275878552"), 0xFEDCBA97n, BigInt("-1")); +testMod(BigInt("-4275878552"), 0x1234n, BigInt("-2352")); +testMod(BigInt("-4275878552"), 0x3n, BigInt("-2")); +testMod(BigInt("-4275878552"), 0x2n, 0x0n); +testMod(BigInt("-4275878552"), 0x1n, 0x0n); +testMod(BigInt("-4275878552"), BigInt("-1"), 0x0n); +testMod(BigInt("-4275878552"), BigInt("-2"), 0x0n); +testMod(BigInt("-4275878552"), BigInt("-3"), BigInt("-2")); +testMod(BigInt("-4275878552"), BigInt("-4660"), BigInt("-2352")); +testMod(BigInt("-4275878552"), BigInt("-4275878551"), BigInt("-1")); +testMod(BigInt("-4275878552"), BigInt("-4275878552"), 0x0n); +testMod(BigInt("-4275878552"), BigInt("-18364758544493064719"), BigInt("-4275878552")); +testMod(BigInt("-4275878552"), BigInt("-18364758544493064720"), BigInt("-4275878552")); +testMod(BigInt("-18364758544493064719"), 0xFEDCBA9876543210n, BigInt("-18364758544493064719")); +testMod(BigInt("-18364758544493064719"), 0xFEDCBA987654320Fn, 0x0n); +testMod(BigInt("-18364758544493064719"), 0xFEDCBA97n, BigInt("-2004318072")); +testMod(BigInt("-18364758544493064719"), 0x1234n, BigInt("-2399")); +testMod(BigInt("-18364758544493064719"), 0x3n, BigInt("-2")); +testMod(BigInt("-18364758544493064719"), 0x2n, BigInt("-1")); +testMod(BigInt("-18364758544493064719"), 0x1n, 0x0n); +testMod(BigInt("-18364758544493064719"), BigInt("-1"), 0x0n); +testMod(BigInt("-18364758544493064719"), BigInt("-2"), BigInt("-1")); +testMod(BigInt("-18364758544493064719"), BigInt("-3"), BigInt("-2")); +testMod(BigInt("-18364758544493064719"), BigInt("-4660"), BigInt("-2399")); +testMod(BigInt("-18364758544493064719"), BigInt("-4275878551"), BigInt("-2004318072")); +testMod(BigInt("-18364758544493064719"), BigInt("-4275878552"), BigInt("-1985229327")); +testMod(BigInt("-18364758544493064719"), BigInt("-18364758544493064719"), 0x0n); +testMod(BigInt("-18364758544493064719"), BigInt("-18364758544493064720"), BigInt("-18364758544493064719")); +testMod(BigInt("-18364758544493064720"), 0xFEDCBA9876543210n, 0x0n); +testMod(BigInt("-18364758544493064720"), 0xFEDCBA987654320Fn, BigInt("-1")); +testMod(BigInt("-18364758544493064720"), 0xFEDCBA98n, BigInt("-1985229328")); +testMod(BigInt("-18364758544493064720"), 0xFEDCBA97n, BigInt("-2004318073")); +testMod(BigInt("-18364758544493064720"), 0x1234n, BigInt("-2400")); +testMod(BigInt("-18364758544493064720"), 0x3n, 0x0n); +testMod(BigInt("-18364758544493064720"), 0x2n, 0x0n); +testMod(BigInt("-18364758544493064720"), 0x1n, 0x0n); +testMod(BigInt("-18364758544493064720"), BigInt("-1"), 0x0n); +testMod(BigInt("-18364758544493064720"), BigInt("-2"), 0x0n); +testMod(BigInt("-18364758544493064720"), BigInt("-3"), 0x0n); +testMod(BigInt("-18364758544493064720"), BigInt("-4660"), BigInt("-2400")); +testMod(BigInt("-18364758544493064720"), BigInt("-4275878551"), BigInt("-2004318073")); +testMod(BigInt("-18364758544493064720"), BigInt("-4275878552"), BigInt("-1985229328")); +testMod(BigInt("-18364758544493064720"), BigInt("-18364758544493064719"), BigInt("-1")); +testMod(BigInt("-18364758544493064720"), BigInt("-18364758544493064720"), 0x0n); + +// Test rightTrim when result is zero, but m_length and m_sign are not canonical +testMod(340282366920938463463374607431768211456n, 340282366920938463463374607431768211456n, 0n); +testMod(BigInt("-340282366920938463463374607431768211456"), 340282366920938463463374607431768211456n, 0n); +testMod(340282366920938463463374607431768211456n, BigInt("-340282366920938463463374607431768211456"), 0n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mul-jit.js b/implementation-contributed/javascriptcore/stress/big-int-mul-jit.js new file mode 100644 index 0000000000..0cbede3187 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mul-jit.js @@ -0,0 +1,19 @@ +//@ runBigIntEnabled + +let assert = { + sameValue: function(i, e, m) { + if (i !== e) + throw new Error(m); + } +} + +function bigIntMul(x, y) { + return x * y; +} +noInline(bigIntMul); + +for (let i = 0; i < 10000; i++) { + let r = bigIntMul(3n, 10n); + assert.sameValue(r, 30n, 3n + " * " + 10n + " = " + r); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive-precedence.js b/implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive-precedence.js new file mode 100644 index 0000000000..7149a19687 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive-precedence.js @@ -0,0 +1,39 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testMul(x, y, z, message) { + assert.sameValue(x * y, z, message); + assert.sameValue(y * x, z, message); +} + +testMul(Object(2n), 1n, 2n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + }, + valueOf: function () { + throw new Error("Should never execute it"); + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testMul(o, 1n, 2n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + }, + toString: function () { + throw new Error("Should never execute it"); + } +}; +testMul(o, 1n, 2n, "ToPrimitive: valueOf"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive.js b/implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive.js new file mode 100644 index 0000000000..642e2e8e29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mul-to-primitive.js @@ -0,0 +1,35 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert.sameValue = function (input, expected, message) { + if (input !== expected) + throw new Error(message); +} + +function testMul(x, y, z) { + assert.sameValue(x * y, z, x + " * " + y + " = " + z); + assert.sameValue(y * x, z, y + " * " + x + " = " + z); +} + +let o = { + [Symbol.toPrimitive]: function () { return 300000000000000n; } +} + +testMul(500000000000438n, o, 150000000000131400000000000000n); + +o.valueOf = function () { + throw new Error("Should never execute it"); +}; + +testMul(700000000000438n, o, 210000000000131400000000000000n); + +o.toString = function () { + throw new Error("Should never execute it"); +}; + +testMul(700000000000438n, o, 210000000000131400000000000000n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mul-type-error.js b/implementation-contributed/javascriptcore/stress/big-int-mul-type-error.js new file mode 100644 index 0000000000..b5178457fb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mul-type-error.js @@ -0,0 +1,106 @@ +//@ runBigIntEnabled + +function assert(a, message) { + if (!a) + throw new Error(message); +} + +function assertThrowTypeError(a, b, message) { + try { + let n = a * b; + assert(false, message + ": Should throw TypeError, but executed without exception"); + } catch (e) { + assert(e instanceof TypeError, message + ": expected TypeError, got: " + e); + } +} + +assertThrowTypeError(30n, "foo", "BigInt * String"); +assertThrowTypeError("bar", 18757382984821n, "String * BigInt"); +assertThrowTypeError(30n, Symbol("foo"), "BigInt * Symbol"); +assertThrowTypeError(Symbol("bar"), 18757382984821n, "Symbol * BigInt"); +assertThrowTypeError(30n, 3320, "BigInt * Int32"); +assertThrowTypeError(33256, 18757382984821n, "Int32 * BigInt"); +assertThrowTypeError(30n, 0.543, "BigInt * Double"); +assertThrowTypeError(230.19293, 18757382984821n, "Double * BigInt"); +assertThrowTypeError(30n, NaN, "BigInt * NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN * BigInt"); +assertThrowTypeError(30n, NaN, "BigInt * NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN * BigInt"); +assertThrowTypeError(30n, +Infinity, "BigInt * NaN"); +assertThrowTypeError(+Infinity, 18757382984821n, "NaN * BigInt"); +assertThrowTypeError(30n, -Infinity, "BigInt * -Infinity"); +assertThrowTypeError(-Infinity, 18757382984821n, "-Infinity * BigInt"); +assertThrowTypeError(30n, null, "BigInt * null"); +assertThrowTypeError(null, 18757382984821n, "null * BigInt"); +assertThrowTypeError(30n, undefined, "BigInt * undefined"); +assertThrowTypeError(undefined, 18757382984821n, "undefined * BigInt"); +assertThrowTypeError(30n, true, "BigInt * true"); +assertThrowTypeError(true, 18757382984821n, "true * BigInt"); +assertThrowTypeError(30n, false, "BigInt * false"); +assertThrowTypeError(false, 18757382984821n, "false * BigInt"); + +// Error when returning from object + +let o = { + valueOf: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.valueOf returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Symbol * BigInt"); + +o = { + valueOf: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.valueOf returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Int32 * BigInt"); + +o = { + valueOf: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.valueOf returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Double * BigInt"); + +o = { + toString: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.toString returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Symbol * BigInt"); + +o = { + toString: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.toString returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Int32 * BigInt"); + +o = { + toString: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.toString returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Double * BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.@@toPrimitive returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Symbol * BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.@@toPrimitive returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Int32 * BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BigInt * Object.@@toPrimitive returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Double * BigInt"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-mul-wrapped-value.js b/implementation-contributed/javascriptcore/stress/big-int-mul-wrapped-value.js new file mode 100644 index 0000000000..b673d8a603 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-mul-wrapped-value.js @@ -0,0 +1,37 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testMul(x, y, z, message) { + assert.sameValue(x * y, z, message); + assert.sameValue(y * x, z, message); +} + +testMul(Object(2n), 1n, 2n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +}; +testMul(o, 1n, 2n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + } +}; +testMul(o, 1n, 2n, "ToPrimitive: valueOf"); + +o = { + toString: function() { + return 2n; + } +} +testMul(o, 1n, 2n, "ToPrimitive: toString"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-multiplication.js b/implementation-contributed/javascriptcore/stress/big-int-multiplication.js new file mode 100644 index 0000000000..3ecd636d7f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-multiplication.js @@ -0,0 +1,83 @@ +//@ runBigIntEnabled + +// Copyright (C) 2017 Robin Templeton. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testMul(x, y, z) { + assert.sameValue(x * y, z, x + " * " + y + " = " + z); + assert.sameValue(y * x, z, y + " * " + x + " = " + z); +} + +testMul(0xFEDCBA9876543210n, 0xFEDCBA9876543210n, 0xFDBAC097C8DC5ACCDEEC6CD7A44A4100n); +testMul(0xFEDCBA9876543210n, 0xFEDCBA98n, 0xFDBAC097530ECA86541D5980n); +testMul(0xFEDCBA9876543210n, 0x1234n, 0x121F49F49F49F49F4B40n); +testMul(0xFEDCBA9876543210n, 0x3n, 0x2FC962FC962FC9630n); +testMul(0xFEDCBA9876543210n, 0x2n, 0x1FDB97530ECA86420n); +testMul(0xFEDCBA9876543210n, 0x1n, 0xFEDCBA9876543210n); +testMul(0xFEDCBA9876543210n, 0x0n, 0x0n); +testMul(0xFEDCBA9876543210n, BigInt("-1"), BigInt("-18364758544493064720")); +testMul(0xFEDCBA9876543210n, BigInt("-2"), BigInt("-36729517088986129440")); +testMul(0xFEDCBA9876543210n, BigInt("-3"), BigInt("-55094275633479194160")); +testMul(0xFEDCBA9876543210n, BigInt("-4660"), BigInt("-85579774817337681595200")); +testMul(0xFEDCBA9876543210n, BigInt("-4275878551"), BigInt("-78525477154691874604502820720")); +testMul(0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, 0xFDBAC097C8DC5ACAE132F7A6B7A1DCE1n); +testMul(0xFEDCBA987654320Fn, 0xFEDCBA97n, 0xFDBAC09654320FECDEEC6CD9n); +testMul(0xFEDCBA987654320Fn, 0x3n, 0x2FC962FC962FC962Dn); +testMul(0xFEDCBA987654320Fn, 0x2n, 0x1FDB97530ECA8641En); +testMul(0xFEDCBA987654320Fn, 0x1n, 0xFEDCBA987654320Fn); +testMul(0xFEDCBA987654320Fn, 0x0n, 0x0n); +testMul(0xFEDCBA987654320Fn, BigInt("-1"), BigInt("-18364758544493064719")); +testMul(0xFEDCBA987654320Fn, BigInt("-2"), BigInt("-36729517088986129438")); +testMul(0xFEDCBA987654320Fn, BigInt("-3"), BigInt("-55094275633479194157")); +testMul(0xFEDCBA987654320Fn, BigInt("-4275878551"), BigInt("-78525477154691874600226942169")); +testMul(0xFEDCBA987654320Fn, BigInt("-18364758544493064720"), BigInt("-337264356397531028976608289633615613680")); +testMul(0xFEDCBA98n, 0xFEDCBA98n, 0xFDBAC096DD413A40n); +testMul(0xFEDCBA98n, 0x1234n, 0x121F49F496E0n); +testMul(0xFEDCBA98n, 0x3n, 0x2FC962FC8n); +testMul(0xFEDCBA98n, 0x2n, 0x1FDB97530n); +testMul(0xFEDCBA98n, 0x1n, 0xFEDCBA98n); +testMul(0xFEDCBA98n, 0x0n, 0x0n); +testMul(0xFEDCBA98n, BigInt("-1"), BigInt("-4275878552")); +testMul(0xFEDCBA98n, BigInt("-2"), BigInt("-8551757104")); +testMul(0xFEDCBA98n, BigInt("-3"), BigInt("-12827635656")); +testMul(0xFEDCBA98n, BigInt("-4275878551"), BigInt("-18283137387177738152")); +testMul(0xFEDCBA98n, BigInt("-18364758544493064720"), BigInt("-78525477173056633148995885440")); +testMul(0x3n, 0x3n, 0x9n); +testMul(0x3n, 0x2n, 0x6n); +testMul(0x3n, 0x1n, 0x3n); +testMul(0x3n, 0x0n, 0x0n); +testMul(0x3n, BigInt("-1"), BigInt("-3")); +testMul(0x3n, BigInt("-2"), BigInt("-6")); +testMul(0x3n, BigInt("-3"), BigInt("-9")); +testMul(0x3n, BigInt("-4660"), BigInt("-13980")); +testMul(0x3n, BigInt("-4275878552"), BigInt("-12827635656")); +testMul(0x3n, BigInt("-18364758544493064720"), BigInt("-55094275633479194160")); +testMul(0x0n, 0x0n, 0x0n); +testMul(0x0n, BigInt("-1"), 0x0n); +testMul(0x0n, BigInt("-2"), 0x0n); +testMul(0x0n, BigInt("-3"), 0x0n); +testMul(0x0n, BigInt("-4275878551"), 0x0n); +testMul(0x0n, BigInt("-18364758544493064719"), 0x0n); +testMul(BigInt("-1"), BigInt("-1"), 0x1n); +testMul(BigInt("-1"), BigInt("-2"), 0x2n); +testMul(BigInt("-1"), BigInt("-3"), 0x3n); +testMul(BigInt("-1"), BigInt("-4660"), 0x1234n); +testMul(BigInt("-1"), BigInt("-4275878551"), 0xFEDCBA97n); +testMul(BigInt("-1"), BigInt("-4275878552"), 0xFEDCBA98n); +testMul(BigInt("-1"), BigInt("-18364758544493064719"), 0xFEDCBA987654320Fn); +testMul(BigInt("-1"), BigInt("-18364758544493064720"), 0xFEDCBA9876543210n); +testMul(BigInt("-3"), BigInt("-3"), 0x9n); +testMul(BigInt("-3"), BigInt("-4660"), 0x369Cn); +testMul(BigInt("-3"), BigInt("-4275878551"), 0x2FC962FC5n); +testMul(BigInt("-3"), BigInt("-4275878552"), 0x2FC962FC8n); +testMul(BigInt("-3"), BigInt("-18364758544493064719"), 0x2FC962FC962FC962Dn); +testMul(BigInt("-3"), BigInt("-18364758544493064720"), 0x2FC962FC962FC9630n); +testMul(BigInt("-18364758544493064720"), BigInt("-18364758544493064720"), 0xFDBAC097C8DC5ACCDEEC6CD7A44A4100n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-multiply-memory-stress.js b/implementation-contributed/javascriptcore/stress/big-int-multiply-memory-stress.js new file mode 100644 index 0000000000..1abaa7e28f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-multiply-memory-stress.js @@ -0,0 +1,15 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let a = 0n; +let b = 1n; +for (let i = 0; i < 1000000; i++) { + a = b * 30n; +} + +assert(a === 30n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-negate-basic.js b/implementation-contributed/javascriptcore/stress/big-int-negate-basic.js new file mode 100644 index 0000000000..59ba3c4724 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-negate-basic.js @@ -0,0 +1,71 @@ +//@ runBigIntEnabled +// Original tests from https://github.com/tc39/test262/blob/master/test/language/expressions/unary-minus/bigint.js + +function assert(a, b, message) { + if (a !== b) + throw new Error(message); +} + +function assertNotEqual(a, b, message) { + if (a === b) + throw new Error(message); +} + +assert(-0n, 0n, "-0n === 0n"); +assert(-(0n), 0n, "-(0n) === 0n"); +assertNotEqual(-1n, 1n, "-1n !== 1n"); +assert(-(1n), -1n, "-(1n) === -1n"); +assertNotEqual(-(1n), 1n, "-(1n) !== 1n"); +assert(-(-1n), 1n, "-(-1n) === 1n"); +assertNotEqual(-(-1n), -1n, "-(-1n) !== -1n"); +assert(- - 1n, 1n, "- - 1n === 1n"); +assertNotEqual(- - 1n, -1n, "- - 1n !== -1n"); +assert(-(0x1fffffffffffff01n), -0x1fffffffffffff01n, "-(0x1fffffffffffff01n) === -0x1fffffffffffff01n"); +assertNotEqual(-(0x1fffffffffffff01n), 0x1fffffffffffff01n, "-(0x1fffffffffffff01n) !== 0x1fffffffffffff01n"); +assertNotEqual(-(0x1fffffffffffff01n), -0x1fffffffffffff00n, "-(0x1fffffffffffff01n) !== -0x1fffffffffffff00n"); + +// Non-primitive cases + +assert(-Object(1n), -1n, "-Object(1n) === -1n"); +assertNotEqual(-Object(1n), 1n, "-Object(1n) !== 1n"); +assertNotEqual(-Object(1n), Object(-1n), "-Object(1n) !== Object(-1n)"); +assert(-Object(-1n), 1n, "-Object(-1n) === 1n"); +assertNotEqual(-Object(-1n), -1n, "-Object(-1n) !== -1n"); +assertNotEqual(-Object(-1n), Object(1n), "-Object(-1n) !== Object(1n)"); + +let obj = { + [Symbol.toPrimitive]: function() { + return 1n; + }, + valueOf: function() { + throw new Error("Should never be called"); + }, + toString: function() { + throw new Error("Should never be called"); + } +}; +assert(-obj, -1n, "@@toPrimitive not called properly"); + +obj = { + valueOf: function() { + return 1n; + }, + toString: function() { + throw new Error("Should never be called"); + } +} +assert(-obj, -1n, "valueOf not called properly"); + +obj = { + toString: function() { + return 1n; + } +}; + +assert(-obj, -1n, "-{toString: function() { return 1n; }} === -1n"); + +let x = 1n; +let y = -x; +let z = -y; +assert(x, z, "-(-x) !== z"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-negate-jit.js b/implementation-contributed/javascriptcore/stress/big-int-negate-jit.js new file mode 100644 index 0000000000..ab497831c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-negate-jit.js @@ -0,0 +1,48 @@ +//@ skip if not $jitTests +//@ runBigIntEnabled + +function assert(a, b) { + if (a !== b) + throw new Error("Bad!"); +} + +function negateBigInt(n) { + return -n; +} +noInline(negateBigInt); + +for (let i = 0; i < 100000; i++) { + assert(negateBigInt(100n), -100n); + assert(negateBigInt(-0x1fffffffffffff01n), 0x1fffffffffffff01n); +} + +if (numberOfDFGCompiles(negateBigInt) > 1) + throw "Failed negateBigInt(). We should have compiled a single negate for the BigInt type."; + +function negateBigIntSpecializedToInt(n) { + return -n; +} +noInline(negateBigIntSpecializedToInt); + +for (let i = 0; i < 100000; i++) { + negateBigIntSpecializedToInt(100); +} + +assert(negateBigIntSpecializedToInt(100n), -100n); + +// Testing case mixing int and BigInt speculations +function mixedSpeculationNegateBigInt(n, arr) { + return -(-(-n)); +} +noInline(mixedSpeculationNegateBigInt); + +for (let i = 0; i < 100000; i++) { + if (i % 2) + assert(mixedSpeculationNegateBigInt(100), -100); + else + assert(mixedSpeculationNegateBigInt(-0x1fffffffffffff01n), 0x1fffffffffffff01n); +} + +if (numberOfDFGCompiles(mixedSpeculationNegateBigInt) > 1) + throw "Failed negateBigInt(). We should have compiled a single negate for the BigInt type."; + diff --git a/implementation-contributed/javascriptcore/stress/big-int-no-conversion-to-number.js b/implementation-contributed/javascriptcore/stress/big-int-no-conversion-to-number.js new file mode 100644 index 0000000000..1406128d1d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-no-conversion-to-number.js @@ -0,0 +1,12 @@ +//@ runBigIntEnabled + +let message; +try { + 1n + 1; +} catch (error) { + message = error.message; +} + +if (message !== "Invalid mix of BigInt and other type in addition.") { + throw new Error("Error message has changed to something unexpected"); +} diff --git a/implementation-contributed/javascriptcore/stress/big-int-operations-error.js b/implementation-contributed/javascriptcore/stress/big-int-operations-error.js new file mode 100644 index 0000000000..90e47b7cf7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-operations-error.js @@ -0,0 +1,44 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowTypeError(input) { + try { + eval(input); + assert(false); + } catch (e) { + assert(e instanceof TypeError); + } +} + +assert("a" + 100n, "a100"); +assert(128n + "baba", "128baba"); + +assertThrowTypeError("10n + 30"); +assertThrowTypeError("36 + 15n"); +assertThrowTypeError("120n + 30.5"); +assertThrowTypeError("44.5 + 112034n"); + +assertThrowTypeError("10n - 30"); +assertThrowTypeError("36 - 15n"); +assertThrowTypeError("120n - 30.5"); +assertThrowTypeError("44.5 - 112034n"); + +assertThrowTypeError("10n * 30"); +assertThrowTypeError("36 * 15n"); +assertThrowTypeError("120n * 30.5"); +assertThrowTypeError("44.5 * 112034n"); + +assertThrowTypeError("10n / 30"); +assertThrowTypeError("36 / 15n"); +assertThrowTypeError("120n / 30.5"); +assertThrowTypeError("44.5 / 112034n"); + +assertThrowTypeError("10n ** 30"); +assertThrowTypeError("36 ** 15n"); +assertThrowTypeError("120n ** 30.5"); +assertThrowTypeError("44.5 ** 112034n"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prop-descriptor.js b/implementation-contributed/javascriptcore/stress/big-int-prop-descriptor.js new file mode 100644 index 0000000000..d680b8e2fb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prop-descriptor.js @@ -0,0 +1,12 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let p = Object.getOwnPropertyDescriptor(this, "BigInt"); +assert(p.writable === true); +assert(p.enumerable === false); +assert(p.configurable === true); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-proto-constructor.js b/implementation-contributed/javascriptcore/stress/big-int-proto-constructor.js new file mode 100644 index 0000000000..0490c6f567 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-proto-constructor.js @@ -0,0 +1,14 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let p = Object.getOwnPropertyDescriptor(BigInt.prototype, "constructor"); + +assert(p.writable === true); +assert(p.enumerable === false); +assert(p.configurable === true); +assert(p.value === BigInt); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-proto-name.js b/implementation-contributed/javascriptcore/stress/big-int-proto-name.js new file mode 100644 index 0000000000..816c181bbf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-proto-name.js @@ -0,0 +1,13 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let p = Object.getOwnPropertyDescriptor(BigInt, "name"); +assert(p.enumerable === false); +assert(p.writable === false); +assert(p.configurable === true); +assert(p.value === "BigInt"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-properties.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-properties.js new file mode 100644 index 0000000000..e53efa53be --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-properties.js @@ -0,0 +1,39 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +(() => { + let p = Object.getOwnPropertyDescriptor(BigInt.prototype, "toString"); + + assert(p.enumerable === false); + assert(p.configurable === true); + assert(p.writable === true); +})(); + +(() => { + let p = Object.getOwnPropertyDescriptor(BigInt.prototype, "toLocaleString"); + + assert(p.enumerable === false); + assert(p.configurable === true); + assert(p.writable === true); +})(); + +(() => { + let p = Object.getOwnPropertyDescriptor(BigInt.prototype, "valueOf"); + + assert(p.enumerable === false); + assert(p.configurable === true); + assert(p.writable === true); +})(); + +(() => { + let p = Object.getOwnPropertyDescriptor(BigInt.prototype, Symbol.toStringTag); + + assert(p.enumerable === false); + assert(p.configurable === true); + assert(p.writable === false); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-proto.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-proto.js new file mode 100644 index 0000000000..d35be7ee73 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-proto.js @@ -0,0 +1,11 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let proto = Object.getPrototypeOf(BigInt.prototype); + +assert(proto === Object.prototype); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-symbol-to-string-tag.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-symbol-to-string-tag.js new file mode 100644 index 0000000000..8dbea22dac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-symbol-to-string-tag.js @@ -0,0 +1,30 @@ +//@ runBigIntEnabled +// Original test from test262/test/built-ins/BigInt/prototype/Symbol.toStringTag.js + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let p = Object.getOwnPropertyDescriptor(BigInt.prototype, Symbol.toStringTag); + +assert(p.writable === false); +assert(p.enumerable === false); +assert(p.configurable === true); +assert(p.value === "BigInt"); + +assert(Object.prototype.toString.call(3n) === "[object BigInt]"); +assert(Object.prototype.toString.call(Object(3n)) === "[object BigInt]"); + +// Verify that Object.prototype.toString does not have special casing for BigInt +// as it does for most other primitive types +Object.defineProperty(BigInt.prototype, Symbol.toStringTag, { + value: "FooBar", + writable: false, + enumerable: false, + configurable: true +}); + +assert(Object.prototype.toString.call(3n) === "[object FooBar]"); +assert(Object.prototype.toString.call(Object(3n)) === "[object FooBar]"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-apply.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-apply.js new file mode 100644 index 0000000000..c73154dec4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-apply.js @@ -0,0 +1,24 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function throwsTypeError(v) { + try { + BigInt.prototype.toString.apply(v); + assert(false); + } catch (e) { + assert(e instanceof TypeError); + } +} + +throwsTypeError(3); +throwsTypeError(3.5); +throwsTypeError("ABC"); +throwsTypeError(Symbol("test")); +throwsTypeError({}); +throwsTypeError(true); +throwsTypeError([3n]); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-cast-overflow.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-cast-overflow.js new file mode 100644 index 0000000000..a9fa302374 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-cast-overflow.js @@ -0,0 +1,20 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowRangeError(input) { + try { + let number = 3n; + number.toString(input); + assert(false); + } catch (e) { + assert(e instanceof RangeError); + } +} + +assertThrowRangeError(1e100); +assertThrowRangeError(-1e101); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-exception.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-exception.js new file mode 100644 index 0000000000..6c1d3c0335 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-exception.js @@ -0,0 +1,22 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let o = { + valueOf: () => { + throw new Error("Bad"); + return 2; + } +} + +let a = 20n; +try { + a.toString(o); + assert(false); +} catch (e) { + assert(e.message == "Bad"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-wrong-values.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-wrong-values.js new file mode 100644 index 0000000000..79e51d5075 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-to-string-wrong-values.js @@ -0,0 +1,31 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertRangeError(v) { + let a = 456n; + try { + a.toString(v); + assert(false); + } catch (e) { + assert(e instanceof RangeError); + } +} + +assertRangeError(1); +assertRangeError(37); +assertRangeError(37.1); +assertRangeError(37.2); +assertRangeError(0); +assertRangeError(-1); +assertRangeError(1.999999); +assertRangeError(37.00000000000000001); +assertRangeError(NaN); +assertRangeError(null); +assertRangeError(+Infinity); +assertRangeError(-Infinity); +assertRangeError(-0); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-prototype-value-of.js b/implementation-contributed/javascriptcore/stress/big-int-prototype-value-of.js new file mode 100644 index 0000000000..2b5f626adb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-prototype-value-of.js @@ -0,0 +1,22 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowTypeError(input) { + try { + let n = BigInt.prototype.valueOf(input); + assert(false); + } catch (e) { + assert(e instanceof TypeError); + } +} + +assertThrowTypeError(10); +assertThrowTypeError("abc"); +assertThrowTypeError(Symbol("a")); +assertThrowTypeError(10.5); +assertThrowTypeError({}); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-spec-to-primitive.js b/implementation-contributed/javascriptcore/stress/big-int-spec-to-primitive.js new file mode 100644 index 0000000000..37f8790d68 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-spec-to-primitive.js @@ -0,0 +1,17 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo(input) { + let a = ""; + return "" + input + ""; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + assert(foo(10n) === "10"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-spec-to-this.js b/implementation-contributed/javascriptcore/stress/big-int-spec-to-this.js new file mode 100644 index 0000000000..f03bf680fd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-spec-to-this.js @@ -0,0 +1,23 @@ +//@ skip if not $jitTests +//@ runDefault("--useBigInt=true", "--useConcurrentJIT=false") + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo() { + return typeof this; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + assert(foo.apply(10n) === "object"); +} + +for (let i = 0; i < 10000; i++) { + assert(foo.apply(300) === "object"); +} + +assert(numberOfDFGCompiles(foo) === 1); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-strict-equals-jit.js b/implementation-contributed/javascriptcore/stress/big-int-strict-equals-jit.js new file mode 100644 index 0000000000..8457d4a067 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-strict-equals-jit.js @@ -0,0 +1,37 @@ +//@ runDefault("--useBigInt=true", "--useConcurrentJIT=false") + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo(a, b) { + return a === b; +} +noInline(foo); + +for (let i = 0; i < 100000; i++) { + assert(!foo(2n, 3n)); + assert(foo(3n, 3n)); +} + +assert(!foo(3, 3n)); +assert(!foo(0.33, 3n)); +assert(!foo("3", 3n)); +assert(!foo(Symbol("3"), 3n)); +assert(!foo(true, 3n)); +assert(!foo(false, 3n)); +assert(!foo(NaN, 3n)); +assert(!foo(null, 3n)); +assert(!foo(undefined, 3n)); +assert(!foo(+Infinity, 3n)); +assert(!foo(-Infinity, 3n)); + +function bar() { + return 3n; +} +noInline(bar); + +for (let i = 0; i < 100000; i++) + assert(bar() === bar()); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-strict-spec-to-this.js b/implementation-contributed/javascriptcore/stress/big-int-strict-spec-to-this.js new file mode 100644 index 0000000000..b5d03bd27b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-strict-spec-to-this.js @@ -0,0 +1,23 @@ +//@ runDefault("--useBigInt=true", "--useConcurrentJIT=false") + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo() { + "use strict"; + return typeof this; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + assert(foo.apply(10n) === "bigint"); +} + +for (let i = 0; i < 10000; i++) { + assert(foo.apply(300) === "number"); +} + +assert(numberOfDFGCompiles(foo) > 1); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-sub-wrapped-value.js b/implementation-contributed/javascriptcore/stress/big-int-sub-wrapped-value.js new file mode 100644 index 0000000000..5b18880f8a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-sub-wrapped-value.js @@ -0,0 +1,36 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testSub(x, y, z, message) { + assert.sameValue(x - y, z, message); +} + +testSub(Object(2n), 1n, 1n, "ToPrimitive: unbox object with internal slot"); + +let o = { + [Symbol.toPrimitive]: function() { + return 2n; + } +}; +testSub(o, 1n, 1n, "ToPrimitive: @@toPrimitive"); + +o = { + valueOf: function() { + return 2n; + } +}; +testSub(o, 1n, 1n, "ToPrimitive: valueOf"); + +o = { + toString: function() { + return 2n; + } +} +testSub(o, 1n, 1n, "ToPrimitive: toString"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-subtraction-basic.js b/implementation-contributed/javascriptcore/stress/big-int-subtraction-basic.js new file mode 100644 index 0000000000..90213242b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-subtraction-basic.js @@ -0,0 +1,303 @@ +//@ runBigIntEnabled + +assert = { + sameValue: function (input, expected, message) { + if (input !== expected) + throw new Error(message); + } +}; + +function testSub(x, y, z) { + assert.sameValue(x - y, z, x + " - " + y + " = " + z); +} + +testSub(0xFEDCBA9876543210n, 0xFEDCBA9876543210n, 0x0n); +testSub(0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, 0x1n); +testSub(0xFEDCBA9876543210n, 0xFEDCBA98n, 0xFEDCBA9777777778n); +testSub(0xFEDCBA9876543210n, 0xFEDCBA97n, 0xFEDCBA9777777779n); +testSub(0xFEDCBA9876543210n, 0x1234n, 0xFEDCBA9876541FDCn); +testSub(0xFEDCBA9876543210n, 0x3n, 0xFEDCBA987654320Dn); +testSub(0xFEDCBA9876543210n, 0x2n, 0xFEDCBA987654320En); +testSub(0xFEDCBA9876543210n, 0x1n, 0xFEDCBA987654320Fn); +testSub(0xFEDCBA9876543210n, 0x0n, 0xFEDCBA9876543210n); +testSub(0xFEDCBA9876543210n, -0x1n, 0xFEDCBA9876543211n); +testSub(0xFEDCBA9876543210n, -0x2n, 0xFEDCBA9876543212n); +testSub(0xFEDCBA9876543210n, -0x3n, 0xFEDCBA9876543213n); +testSub(0xFEDCBA9876543210n, -0x1234n, 0xFEDCBA9876544444n); +testSub(0xFEDCBA9876543210n, -0xFEDCBA97n, 0xFEDCBA997530ECA7n); +testSub(0xFEDCBA9876543210n, -0xFEDCBA98n, 0xFEDCBA997530ECA8n); +testSub(0xFEDCBA9876543210n, -0xFEDCBA987654320Fn, 0x1FDB97530ECA8641Fn); +testSub(0xFEDCBA9876543210n, -0xFEDCBA9876543210n, 0x1FDB97530ECA86420n); +testSub(0xFEDCBA987654320Fn, 0xFEDCBA9876543210n, -0x1n); +testSub(0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, 0x0n); +testSub(0xFEDCBA987654320Fn, 0xFEDCBA98n, 0xFEDCBA9777777777n); +testSub(0xFEDCBA987654320Fn, 0xFEDCBA97n, 0xFEDCBA9777777778n); +testSub(0xFEDCBA987654320Fn, 0x1234n, 0xFEDCBA9876541FDBn); +testSub(0xFEDCBA987654320Fn, 0x3n, 0xFEDCBA987654320Cn); +testSub(0xFEDCBA987654320Fn, 0x2n, 0xFEDCBA987654320Dn); +testSub(0xFEDCBA987654320Fn, 0x1n, 0xFEDCBA987654320En); +testSub(0xFEDCBA987654320Fn, 0x0n, 0xFEDCBA987654320Fn); +testSub(0xFEDCBA987654320Fn, -0x1n, 0xFEDCBA9876543210n); +testSub(0xFEDCBA987654320Fn, -0x2n, 0xFEDCBA9876543211n); +testSub(0xFEDCBA987654320Fn, -0x3n, 0xFEDCBA9876543212n); +testSub(0xFEDCBA987654320Fn, -0x1234n, 0xFEDCBA9876544443n); +testSub(0xFEDCBA987654320Fn, -0xFEDCBA97n, 0xFEDCBA997530ECA6n); +testSub(0xFEDCBA987654320Fn, -0xFEDCBA98n, 0xFEDCBA997530ECA7n); +testSub(0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn, 0x1FDB97530ECA8641En); +testSub(0xFEDCBA987654320Fn, -0xFEDCBA9876543210n, 0x1FDB97530ECA8641Fn); +testSub(0xFEDCBA98n, 0xFEDCBA9876543210n, -0xFEDCBA9777777778n); +testSub(0xFEDCBA98n, 0xFEDCBA987654320Fn, -0xFEDCBA9777777777n); +testSub(0xFEDCBA98n, 0xFEDCBA98n, 0x0n); +testSub(0xFEDCBA98n, 0xFEDCBA97n, 0x1n); +testSub(0xFEDCBA98n, 0x1234n, 0xFEDCA864n); +testSub(0xFEDCBA98n, 0x3n, 0xFEDCBA95n); +testSub(0xFEDCBA98n, 0x2n, 0xFEDCBA96n); +testSub(0xFEDCBA98n, 0x1n, 0xFEDCBA97n); +testSub(0xFEDCBA98n, 0x0n, 0xFEDCBA98n); +testSub(0xFEDCBA98n, -0x1n, 0xFEDCBA99n); +testSub(0xFEDCBA98n, -0x2n, 0xFEDCBA9An); +testSub(0xFEDCBA98n, -0x3n, 0xFEDCBA9Bn); +testSub(0xFEDCBA98n, -0x1234n, 0xFEDCCCCCn); +testSub(0xFEDCBA98n, -0xFEDCBA97n, 0x1FDB9752Fn); +testSub(0xFEDCBA98n, -0xFEDCBA98n, 0x1FDB97530n); +testSub(0xFEDCBA98n, -0xFEDCBA987654320Fn, 0xFEDCBA997530ECA7n); +testSub(0xFEDCBA98n, -0xFEDCBA9876543210n, 0xFEDCBA997530ECA8n); +testSub(0xFEDCBA97n, 0xFEDCBA9876543210n, -0xFEDCBA9777777779n); +testSub(0xFEDCBA97n, 0xFEDCBA987654320Fn, -0xFEDCBA9777777778n); +testSub(0xFEDCBA97n, 0xFEDCBA98n, -0x1n); +testSub(0xFEDCBA97n, 0xFEDCBA97n, 0x0n); +testSub(0xFEDCBA97n, 0x1234n, 0xFEDCA863n); +testSub(0xFEDCBA97n, 0x3n, 0xFEDCBA94n); +testSub(0xFEDCBA97n, 0x2n, 0xFEDCBA95n); +testSub(0xFEDCBA97n, 0x1n, 0xFEDCBA96n); +testSub(0xFEDCBA97n, 0x0n, 0xFEDCBA97n); +testSub(0xFEDCBA97n, -0x1n, 0xFEDCBA98n); +testSub(0xFEDCBA97n, -0x2n, 0xFEDCBA99n); +testSub(0xFEDCBA97n, -0x3n, 0xFEDCBA9An); +testSub(0xFEDCBA97n, -0x1234n, 0xFEDCCCCBn); +testSub(0xFEDCBA97n, -0xFEDCBA97n, 0x1FDB9752En); +testSub(0xFEDCBA97n, -0xFEDCBA98n, 0x1FDB9752Fn); +testSub(0xFEDCBA97n, -0xFEDCBA987654320Fn, 0xFEDCBA997530ECA6n); +testSub(0xFEDCBA97n, -0xFEDCBA9876543210n, 0xFEDCBA997530ECA7n); +testSub(0x1234n, 0xFEDCBA9876543210n, -0xFEDCBA9876541FDCn); +testSub(0x1234n, 0xFEDCBA987654320Fn, -0xFEDCBA9876541FDBn); +testSub(0x1234n, 0xFEDCBA98n, -0xFEDCA864n); +testSub(0x1234n, 0xFEDCBA97n, -0xFEDCA863n); +testSub(0x1234n, 0x1234n, 0x0n); +testSub(0x1234n, 0x3n, 0x1231n); +testSub(0x1234n, 0x2n, 0x1232n); +testSub(0x1234n, 0x1n, 0x1233n); +testSub(0x1234n, 0x0n, 0x1234n); +testSub(0x1234n, -0x1n, 0x1235n); +testSub(0x1234n, -0x2n, 0x1236n); +testSub(0x1234n, -0x3n, 0x1237n); +testSub(0x1234n, -0x1234n, 0x2468n); +testSub(0x1234n, -0xFEDCBA97n, 0xFEDCCCCBn); +testSub(0x1234n, -0xFEDCBA98n, 0xFEDCCCCCn); +testSub(0x1234n, -0xFEDCBA987654320Fn, 0xFEDCBA9876544443n); +testSub(0x1234n, -0xFEDCBA9876543210n, 0xFEDCBA9876544444n); +testSub(0x3n, 0xFEDCBA9876543210n, -0xFEDCBA987654320Dn); +testSub(0x3n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320Cn); +testSub(0x3n, 0xFEDCBA98n, -0xFEDCBA95n); +testSub(0x3n, 0xFEDCBA97n, -0xFEDCBA94n); +testSub(0x3n, 0x1234n, -0x1231n); +testSub(0x3n, 0x3n, 0x0n); +testSub(0x3n, 0x2n, 0x1n); +testSub(0x3n, 0x1n, 0x2n); +testSub(0x3n, 0x0n, 0x3n); +testSub(0x3n, -0x1n, 0x4n); +testSub(0x3n, -0x2n, 0x5n); +testSub(0x3n, -0x3n, 0x6n); +testSub(0x3n, -0x1234n, 0x1237n); +testSub(0x3n, -0xFEDCBA97n, 0xFEDCBA9An); +testSub(0x3n, -0xFEDCBA98n, 0xFEDCBA9Bn); +testSub(0x3n, -0xFEDCBA987654320Fn, 0xFEDCBA9876543212n); +testSub(0x3n, -0xFEDCBA9876543210n, 0xFEDCBA9876543213n); +testSub(0x2n, 0xFEDCBA9876543210n, -0xFEDCBA987654320En); +testSub(0x2n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320Dn); +testSub(0x2n, 0xFEDCBA98n, -0xFEDCBA96n); +testSub(0x2n, 0xFEDCBA97n, -0xFEDCBA95n); +testSub(0x2n, 0x1234n, -0x1232n); +testSub(0x2n, 0x3n, -0x1n); +testSub(0x2n, 0x2n, 0x0n); +testSub(0x2n, 0x1n, 0x1n); +testSub(0x2n, 0x0n, 0x2n); +testSub(0x2n, -0x1n, 0x3n); +testSub(0x2n, -0x2n, 0x4n); +testSub(0x2n, -0x3n, 0x5n); +testSub(0x2n, -0x1234n, 0x1236n); +testSub(0x2n, -0xFEDCBA97n, 0xFEDCBA99n); +testSub(0x2n, -0xFEDCBA98n, 0xFEDCBA9An); +testSub(0x2n, -0xFEDCBA987654320Fn, 0xFEDCBA9876543211n); +testSub(0x2n, -0xFEDCBA9876543210n, 0xFEDCBA9876543212n); +testSub(0x1n, 0xFEDCBA9876543210n, -0xFEDCBA987654320Fn); +testSub(0x1n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320En); +testSub(0x1n, 0xFEDCBA98n, -0xFEDCBA97n); +testSub(0x1n, 0xFEDCBA97n, -0xFEDCBA96n); +testSub(0x1n, 0x1234n, -0x1233n); +testSub(0x1n, 0x3n, -0x2n); +testSub(0x1n, 0x2n, -0x1n); +testSub(0x1n, 0x1n, 0x0n); +testSub(0x1n, 0x0n, 0x1n); +testSub(0x1n, -0x1n, 0x2n); +testSub(0x1n, -0x2n, 0x3n); +testSub(0x1n, -0x3n, 0x4n); +testSub(0x1n, -0x1234n, 0x1235n); +testSub(0x1n, -0xFEDCBA97n, 0xFEDCBA98n); +testSub(0x1n, -0xFEDCBA98n, 0xFEDCBA99n); +testSub(0x1n, -0xFEDCBA987654320Fn, 0xFEDCBA9876543210n); +testSub(0x1n, -0xFEDCBA9876543210n, 0xFEDCBA9876543211n); +testSub(0x0n, 0xFEDCBA9876543210n, -0xFEDCBA9876543210n); +testSub(0x0n, 0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn); +testSub(0x0n, 0xFEDCBA98n, -0xFEDCBA98n); +testSub(0x0n, 0xFEDCBA97n, -0xFEDCBA97n); +testSub(0x0n, 0x1234n, -0x1234n); +testSub(0x0n, 0x3n, -0x3n); +testSub(0x0n, 0x2n, -0x2n); +testSub(0x0n, 0x1n, -0x1n); +testSub(0x0n, 0x0n, 0x0n); +testSub(0x0n, -0x1n, 0x1n); +testSub(0x0n, -0x2n, 0x2n); +testSub(0x0n, -0x3n, 0x3n); +testSub(0x0n, -0x1234n, 0x1234n); +testSub(0x0n, -0xFEDCBA97n, 0xFEDCBA97n); +testSub(0x0n, -0xFEDCBA98n, 0xFEDCBA98n); +testSub(0x0n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn); +testSub(0x0n, -0xFEDCBA9876543210n, 0xFEDCBA9876543210n); +testSub(-0x1n, 0xFEDCBA9876543210n, -0xFEDCBA9876543211n); +testSub(-0x1n, 0xFEDCBA987654320Fn, -0xFEDCBA9876543210n); +testSub(-0x1n, 0xFEDCBA98n, -0xFEDCBA99n); +testSub(-0x1n, 0xFEDCBA97n, -0xFEDCBA98n); +testSub(-0x1n, 0x1234n, -0x1235n); +testSub(-0x1n, 0x3n, -0x4n); +testSub(-0x1n, 0x2n, -0x3n); +testSub(-0x1n, 0x1n, -0x2n); +testSub(-0x1n, 0x0n, -0x1n); +testSub(-0x1n, -0x1n, 0x0n); +testSub(-0x1n, -0x2n, 0x1n); +testSub(-0x1n, -0x3n, 0x2n); +testSub(-0x1n, -0x1234n, 0x1233n); +testSub(-0x1n, -0xFEDCBA97n, 0xFEDCBA96n); +testSub(-0x1n, -0xFEDCBA98n, 0xFEDCBA97n); +testSub(-0x1n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320En); +testSub(-0x1n, -0xFEDCBA9876543210n, 0xFEDCBA987654320Fn); +testSub(-0x2n, 0xFEDCBA9876543210n, -0xFEDCBA9876543212n); +testSub(-0x2n, 0xFEDCBA987654320Fn, -0xFEDCBA9876543211n); +testSub(-0x2n, 0xFEDCBA98n, -0xFEDCBA9An); +testSub(-0x2n, 0xFEDCBA97n, -0xFEDCBA99n); +testSub(-0x2n, 0x1234n, -0x1236n); +testSub(-0x2n, 0x3n, -0x5n); +testSub(-0x2n, 0x2n, -0x4n); +testSub(-0x2n, 0x1n, -0x3n); +testSub(-0x2n, 0x0n, -0x2n); +testSub(-0x2n, -0x1n, -0x1n); +testSub(-0x2n, -0x2n, 0x0n); +testSub(-0x2n, -0x3n, 0x1n); +testSub(-0x2n, -0x1234n, 0x1232n); +testSub(-0x2n, -0xFEDCBA97n, 0xFEDCBA95n); +testSub(-0x2n, -0xFEDCBA98n, 0xFEDCBA96n); +testSub(-0x2n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320Dn); +testSub(-0x2n, -0xFEDCBA9876543210n, 0xFEDCBA987654320En); +testSub(-0x3n, 0xFEDCBA9876543210n, -0xFEDCBA9876543213n); +testSub(-0x3n, 0xFEDCBA987654320Fn, -0xFEDCBA9876543212n); +testSub(-0x3n, 0xFEDCBA98n, -0xFEDCBA9Bn); +testSub(-0x3n, 0xFEDCBA97n, -0xFEDCBA9An); +testSub(-0x3n, 0x1234n, -0x1237n); +testSub(-0x3n, 0x3n, -0x6n); +testSub(-0x3n, 0x2n, -0x5n); +testSub(-0x3n, 0x1n, -0x4n); +testSub(-0x3n, 0x0n, -0x3n); +testSub(-0x3n, -0x1n, -0x2n); +testSub(-0x3n, -0x2n, -0x1n); +testSub(-0x3n, -0x3n, 0x0n); +testSub(-0x3n, -0x1234n, 0x1231n); +testSub(-0x3n, -0xFEDCBA97n, 0xFEDCBA94n); +testSub(-0x3n, -0xFEDCBA98n, 0xFEDCBA95n); +testSub(-0x3n, -0xFEDCBA987654320Fn, 0xFEDCBA987654320Cn); +testSub(-0x3n, -0xFEDCBA9876543210n, 0xFEDCBA987654320Dn); +testSub(-0x1234n, 0xFEDCBA9876543210n, -0xFEDCBA9876544444n); +testSub(-0x1234n, 0xFEDCBA987654320Fn, -0xFEDCBA9876544443n); +testSub(-0x1234n, 0xFEDCBA98n, -0xFEDCCCCCn); +testSub(-0x1234n, 0xFEDCBA97n, -0xFEDCCCCBn); +testSub(-0x1234n, 0x1234n, -0x2468n); +testSub(-0x1234n, 0x3n, -0x1237n); +testSub(-0x1234n, 0x2n, -0x1236n); +testSub(-0x1234n, 0x1n, -0x1235n); +testSub(-0x1234n, 0x0n, -0x1234n); +testSub(-0x1234n, -0x1n, -0x1233n); +testSub(-0x1234n, -0x2n, -0x1232n); +testSub(-0x1234n, -0x3n, -0x1231n); +testSub(-0x1234n, -0x1234n, 0x0n); +testSub(-0x1234n, -0xFEDCBA97n, 0xFEDCA863n); +testSub(-0x1234n, -0xFEDCBA98n, 0xFEDCA864n); +testSub(-0x1234n, -0xFEDCBA987654320Fn, 0xFEDCBA9876541FDBn); +testSub(-0x1234n, -0xFEDCBA9876543210n, 0xFEDCBA9876541FDCn); +testSub(-0xFEDCBA97n, 0xFEDCBA9876543210n, -0xFEDCBA997530ECA7n); +testSub(-0xFEDCBA97n, 0xFEDCBA987654320Fn, -0xFEDCBA997530ECA6n); +testSub(-0xFEDCBA97n, 0xFEDCBA98n, -0x1FDB9752Fn); +testSub(-0xFEDCBA97n, 0xFEDCBA97n, -0x1FDB9752En); +testSub(-0xFEDCBA97n, 0x1234n, -0xFEDCCCCBn); +testSub(-0xFEDCBA97n, 0x3n, -0xFEDCBA9An); +testSub(-0xFEDCBA97n, 0x2n, -0xFEDCBA99n); +testSub(-0xFEDCBA97n, 0x1n, -0xFEDCBA98n); +testSub(-0xFEDCBA97n, 0x0n, -0xFEDCBA97n); +testSub(-0xFEDCBA97n, -0x1n, -0xFEDCBA96n); +testSub(-0xFEDCBA97n, -0x2n, -0xFEDCBA95n); +testSub(-0xFEDCBA97n, -0x3n, -0xFEDCBA94n); +testSub(-0xFEDCBA97n, -0x1234n, -0xFEDCA863n); +testSub(-0xFEDCBA97n, -0xFEDCBA97n, 0x0n); +testSub(-0xFEDCBA97n, -0xFEDCBA98n, 0x1n); +testSub(-0xFEDCBA97n, -0xFEDCBA987654320Fn, 0xFEDCBA9777777778n); +testSub(-0xFEDCBA97n, -0xFEDCBA9876543210n, 0xFEDCBA9777777779n); +testSub(-0xFEDCBA98n, 0xFEDCBA9876543210n, -0xFEDCBA997530ECA8n); +testSub(-0xFEDCBA98n, 0xFEDCBA987654320Fn, -0xFEDCBA997530ECA7n); +testSub(-0xFEDCBA98n, 0xFEDCBA98n, -0x1FDB97530n); +testSub(-0xFEDCBA98n, 0xFEDCBA97n, -0x1FDB9752Fn); +testSub(-0xFEDCBA98n, 0x1234n, -0xFEDCCCCCn); +testSub(-0xFEDCBA98n, 0x3n, -0xFEDCBA9Bn); +testSub(-0xFEDCBA98n, 0x2n, -0xFEDCBA9An); +testSub(-0xFEDCBA98n, 0x1n, -0xFEDCBA99n); +testSub(-0xFEDCBA98n, 0x0n, -0xFEDCBA98n); +testSub(-0xFEDCBA98n, -0x1n, -0xFEDCBA97n); +testSub(-0xFEDCBA98n, -0x2n, -0xFEDCBA96n); +testSub(-0xFEDCBA98n, -0x3n, -0xFEDCBA95n); +testSub(-0xFEDCBA98n, -0x1234n, -0xFEDCA864n); +testSub(-0xFEDCBA98n, -0xFEDCBA97n, -0x1n); +testSub(-0xFEDCBA98n, -0xFEDCBA98n, 0x0n); +testSub(-0xFEDCBA98n, -0xFEDCBA987654320Fn, 0xFEDCBA9777777777n); +testSub(-0xFEDCBA98n, -0xFEDCBA9876543210n, 0xFEDCBA9777777778n); +testSub(-0xFEDCBA987654320Fn, 0xFEDCBA9876543210n, -0x1FDB97530ECA8641Fn); +testSub(-0xFEDCBA987654320Fn, 0xFEDCBA987654320Fn, -0x1FDB97530ECA8641En); +testSub(-0xFEDCBA987654320Fn, 0xFEDCBA98n, -0xFEDCBA997530ECA7n); +testSub(-0xFEDCBA987654320Fn, 0xFEDCBA97n, -0xFEDCBA997530ECA6n); +testSub(-0xFEDCBA987654320Fn, 0x1234n, -0xFEDCBA9876544443n); +testSub(-0xFEDCBA987654320Fn, 0x3n, -0xFEDCBA9876543212n); +testSub(-0xFEDCBA987654320Fn, 0x2n, -0xFEDCBA9876543211n); +testSub(-0xFEDCBA987654320Fn, 0x1n, -0xFEDCBA9876543210n); +testSub(-0xFEDCBA987654320Fn, 0x0n, -0xFEDCBA987654320Fn); +testSub(-0xFEDCBA987654320Fn, -0x1n, -0xFEDCBA987654320En); +testSub(-0xFEDCBA987654320Fn, -0x2n, -0xFEDCBA987654320Dn); +testSub(-0xFEDCBA987654320Fn, -0x3n, -0xFEDCBA987654320Cn); +testSub(-0xFEDCBA987654320Fn, -0x1234n, -0xFEDCBA9876541FDBn); +testSub(-0xFEDCBA987654320Fn, -0xFEDCBA97n, -0xFEDCBA9777777778n); +testSub(-0xFEDCBA987654320Fn, -0xFEDCBA98n, -0xFEDCBA9777777777n); +testSub(-0xFEDCBA987654320Fn, -0xFEDCBA987654320Fn, 0x0n); +testSub(-0xFEDCBA987654320Fn, -0xFEDCBA9876543210n, 0x1n); +testSub(-0xFEDCBA9876543210n, 0xFEDCBA9876543210n, -0x1FDB97530ECA86420n); +testSub(-0xFEDCBA9876543210n, 0xFEDCBA987654320Fn, -0x1FDB97530ECA8641Fn); +testSub(-0xFEDCBA9876543210n, 0xFEDCBA98n, -0xFEDCBA997530ECA8n); +testSub(-0xFEDCBA9876543210n, 0xFEDCBA97n, -0xFEDCBA997530ECA7n); +testSub(-0xFEDCBA9876543210n, 0x1234n, -0xFEDCBA9876544444n); +testSub(-0xFEDCBA9876543210n, 0x3n, -0xFEDCBA9876543213n); +testSub(-0xFEDCBA9876543210n, 0x2n, -0xFEDCBA9876543212n); +testSub(-0xFEDCBA9876543210n, 0x1n, -0xFEDCBA9876543211n); +testSub(-0xFEDCBA9876543210n, 0x0n, -0xFEDCBA9876543210n); +testSub(-0xFEDCBA9876543210n, -0x1n, -0xFEDCBA987654320Fn); +testSub(-0xFEDCBA9876543210n, -0x2n, -0xFEDCBA987654320En); +testSub(-0xFEDCBA9876543210n, -0x3n, -0xFEDCBA987654320Dn); +testSub(-0xFEDCBA9876543210n, -0x1234n, -0xFEDCBA9876541FDCn); +testSub(-0xFEDCBA9876543210n, -0xFEDCBA97n, -0xFEDCBA9777777779n); +testSub(-0xFEDCBA9876543210n, -0xFEDCBA98n, -0xFEDCBA9777777778n); +testSub(-0xFEDCBA9876543210n, -0xFEDCBA987654320Fn, -0x1n); +testSub(-0xFEDCBA9876543210n, -0xFEDCBA9876543210n, 0x0n); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-subtraction-jit.js b/implementation-contributed/javascriptcore/stress/big-int-subtraction-jit.js new file mode 100644 index 0000000000..cb081aafb8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-subtraction-jit.js @@ -0,0 +1,19 @@ +//@ runBigIntEnabled + +let assert = { + sameValue: function(i, e, m) { + if (i !== e) + throw new Error(m); + } +} + +function bigIntAddition(x, y) { + return x - y; +} +noInline(bigIntAddition); + +for (let i = 0; i < 10000; i++) { + let r = bigIntAddition(3n, 10n); + assert.sameValue(r, -7n, 3n + " - " + 10n + " = " + r); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-subtraction-type-error.js b/implementation-contributed/javascriptcore/stress/big-int-subtraction-type-error.js new file mode 100644 index 0000000000..74ac48a589 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-subtraction-type-error.js @@ -0,0 +1,125 @@ +//@ runBigIntEnabled + +function assert(a, message) { + if (!a) + throw new Error(message); +} + +function assertThrowTypeError(a, b, message) { + try { + let n = a - b; + assert(false, message + ": Should throw TypeError, but executed without exception"); + } catch (e) { + assert(e instanceof TypeError, message + ": expected TypeError, got: " + e); + } +} + +assertThrowTypeError(30n, Symbol("foo"), "BingInt - Symbol"); +assertThrowTypeError(Symbol("bar"), 18757382984821n, "Symbol - BigInt"); +assertThrowTypeError(30n, 3320, "BingInt - Int32"); +assertThrowTypeError(33256, 18757382984821n, "Int32 - BigInt"); +assertThrowTypeError(30n, 0.543, "BingInt - Double"); +assertThrowTypeError(230.19293, 18757382984821n, "Double - BigInt"); +assertThrowTypeError(18757382984821n, "abc", "BigInt - String"); +assertThrowTypeError("def", 18757382984821n, "String - BigInt"); +assertThrowTypeError(18757382984821n, "", "BigInt - Empty String"); +assertThrowTypeError("", 18757382984821n, "Empty - BigInt"); +assertThrowTypeError(18757382984821n, NaN, "BigInt - NaN"); +assertThrowTypeError(NaN, 18757382984821n, "NaN - BigInt"); +assertThrowTypeError(18757382984821n, undefined, "BigInt - undefined"); +assertThrowTypeError(undefined, 18757382984821n, "undefined - BigInt"); +assertThrowTypeError(18757382984821n, true, "BigInt - true"); +assertThrowTypeError(true, 18757382984821n, "true - BigInt"); +assertThrowTypeError(18757382984821n, false, "BigInt - false"); +assertThrowTypeError(false, 18757382984821n, "false - BigInt"); +assertThrowTypeError(18757382984821n, +Infinity, "BigInt - Infinity"); +assertThrowTypeError(+Infinity, 18757382984821n, "Infinity - BigInt"); +assertThrowTypeError(18757382984821n, -Infinity, "BigInt - -Infinity"); +assertThrowTypeError(-Infinity, 18757382984821n, "-Infinity - BigInt"); + +// Error when returning from object + +let o = { + valueOf: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.valueOf returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Symbol - BigInt"); + +o = { + valueOf: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.valueOf returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Int32 - BigInt"); + +o = { + valueOf: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.valueOf returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning Double - BigInt"); + +o = { + valueOf: function () { return ""; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.valueOf returning String"); +assertThrowTypeError(o, 18757382984821n, "Object.valueOf returning String - BigInt"); + +o = { + toString: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.toString returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Symbol - BigInt"); + +o = { + toString: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.toString returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Int32 - BigInt"); + +o = { + toString: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.toString returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning Double - BigInt"); + +o = { + toString: function () { return "abc"; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.toString returning String"); +assertThrowTypeError(o, 18757382984821n, "Object.toString returning String - BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return Symbol("Foo"); } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.@@toPrimitive returning Symbol"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Symbol - BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 33256; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.@@toPrimitive returning Int32"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Int32 - BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return 0.453; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.@@toPrimitive returning Double"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning Double - BigInt"); + +o = { + [Symbol.toPrimitive]: function () { return "Abc"; } +}; + +assertThrowTypeError(30n, o, "BingInt - Object.@@toPrimitive returning String"); +assertThrowTypeError(o, 18757382984821n, "Object.@@toPrimitive returning String - BigInt"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-to-object.js b/implementation-contributed/javascriptcore/stress/big-int-to-object.js new file mode 100644 index 0000000000..2d7a039d55 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-to-object.js @@ -0,0 +1,13 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo() { + assert(typeof this === "object") +} + +foo.apply(BigInt(1)); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-to-string.js b/implementation-contributed/javascriptcore/stress/big-int-to-string.js new file mode 100644 index 0000000000..d7878a9fe6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-to-string.js @@ -0,0 +1,33 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let v = 10n; +assert(v.toString() === "10"); +assert(v.toString(2) === "1010"); +assert(v.toString(3) === "101"); +assert(v.toString(8) === "12"); +assert(v.toString(16) === "a"); +assert(v.toString(32) === "a"); + +// Invaid radix + +function testInvalidRadix(radix) { + try { + v.toString(radix); + assert(false); + } catch(e) { + assert(e instanceof RangeError); + } +} + +testInvalidRadix(-10); +testInvalidRadix(-1); +testInvalidRadix(0); +testInvalidRadix(1); +testInvalidRadix(37); +testInvalidRadix(4294967312); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-type-of-proven-type.js b/implementation-contributed/javascriptcore/stress/big-int-type-of-proven-type.js new file mode 100644 index 0000000000..d2f539798c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-type-of-proven-type.js @@ -0,0 +1,18 @@ +//@ runDefault("--useBigInt=true", "--useConcurrentJIT=false") + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function foo(o) { + let newString = o.toString(); + if (typeof o === "bigint") + return newString; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + assert(foo(3n) === "3"); +} + diff --git a/implementation-contributed/javascriptcore/stress/big-int-type-of.js b/implementation-contributed/javascriptcore/stress/big-int-type-of.js new file mode 100644 index 0000000000..e53cd30124 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-type-of.js @@ -0,0 +1,10 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +assert(typeof 0n === "bigint"); +assert(typeof 1n !== "object"); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-unary-plus.js b/implementation-contributed/javascriptcore/stress/big-int-unary-plus.js new file mode 100644 index 0000000000..4d4ac37b9e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-unary-plus.js @@ -0,0 +1,51 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad!") +} + +function assertTypeError(input) { + try { + let a = +input; + assert(false); + } catch(e) { + assert(e instanceof TypeError); + } +} + +assertTypeError(10n); +assertTypeError(-10n); +assertTypeError(Object(10n)); +assertTypeError(Object(-10n)); + +let obj = { + [Symbol.toPrimitive]: function() { + return 1n; + }, + valueOf: function() { + throw new Error("Should never be called"); + }, + toString: function() { + throw new Error("Should never be called"); + } +}; +assertTypeError(obj); + +obj = { + valueOf: function() { + return 1n; + }, + toString: function() { + throw new Error("Should never be called"); + } +}; +assertTypeError(obj); + +obj = { + toString: function() { + return 1n; + } +}; +assertTypeError(obj); + diff --git a/implementation-contributed/javascriptcore/stress/big-int-white-space-trailing-leading.js b/implementation-contributed/javascriptcore/stress/big-int-white-space-trailing-leading.js new file mode 100644 index 0000000000..521a77615b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-int-white-space-trailing-leading.js @@ -0,0 +1,111 @@ +//@ runBigIntEnabled + +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowSyntaxError(input) { + try { + eval(input); + assert(false); + } catch (e) { + assert(e instanceof SyntaxError); + } +} + +var d; + +assert(eval("d=\u000C5n") === 5n); +assert(d === 5n); + +assert(eval("d=\u000915n") === 15n); +assert(d === 15n); + +assert(eval("d=\u000B19n\u000B;") === 19n); +assert(d === 19n); + +assert(eval("d=\u000C119n;") === 119n); +assert(d === 119n); + +assert(eval("d=\u002095n;") === 95n); +assert(d === 95n); + +assert(eval("d=\u00A053n;") === 53n); +assert(d === 53n); + +assert(eval("d=\uFEFF39n;") === 39n); +assert(d === 39n); + +assert(eval("d=5n\u000C") === 5n); +assert(d === 5n); + +assert(eval("d=15n\u0009") === 15n); +assert(d === 15n); + +assert(eval("d=19n\u000B;") === 19n); +assert(d === 19n); + +assert(eval("d=119n\u000C;") === 119n); +assert(d === 119n); + +assert(eval("d=95n\u0020;") === 95n); +assert(d === 95n); + +assert(eval("d=53n\u00A0;") === 53n); +assert(d === 53n); + +assert(eval("d=39n\uFEFF;") === 39n); +assert(d === 39n); + +assert(eval("\u000C\u000Cd\u000C\u000C=\u000C\u000C5n\u000C;\u000C") === 5n); +assert(d === 5n); + +assert(eval("\u0009\u0009d\u0009\u0009=\u0009\u000915n\u0009;") === 15n); +assert(d === 15n); + +assert(eval("\u000B\u000Bd\u000B\u000B=\u000B\u000B19n\u000B;") === 19n); +assert(d === 19n); + +assert(eval("\u000C\u000Cd\u000C=\u000C\u000C119n;") === 119n); +assert(d === 119n); + +assert(eval("\u0020d\u0020=\u0020\u002095n;") === 95n); +assert(d === 95n); + +assert(eval("\u00A0d\u00A0=\u00A0\u00A053n;") === 53n); +assert(d === 53n); + +assert(eval("\uFEFFd\uFEFF=\uFEFF\uFEFF39n;") === 39n); +assert(d === 39n); + +// Assert errors + +assertThrowSyntaxError("0b\u000C2n"); +assertThrowSyntaxError("0b\u000B1101n"); +assertThrowSyntaxError("0b\u0009111111n"); +assertThrowSyntaxError("0b\u002010101n"); +assertThrowSyntaxError("0b\u00A01011n"); +assertThrowSyntaxError("0b\uFEFF111000n"); + +assertThrowSyntaxError("0o\u000C2n"); +assertThrowSyntaxError("0o\u000B45n"); +assertThrowSyntaxError("0o\u000977n"); +assertThrowSyntaxError("0o\u0020777n"); +assertThrowSyntaxError("0o\u00A01777n"); +assertThrowSyntaxError("0o\uFEFF17361n"); + +assertThrowSyntaxError("0x\u000C2n"); +assertThrowSyntaxError("0x\u000B45n"); +assertThrowSyntaxError("0x\u000977n"); +assertThrowSyntaxError("0x\u0020777n"); +assertThrowSyntaxError("0x\u00A01777n"); +assertThrowSyntaxError("0x\uFEFF17361n"); + +assertThrowSyntaxError("2\u000Cn"); +assertThrowSyntaxError("45\u000Bn"); +assertThrowSyntaxError("77\u0009n"); +assertThrowSyntaxError("777\u0020n"); +assertThrowSyntaxError("1777\u00A0n"); +assertThrowSyntaxError("17361\uFEFFn"); + diff --git a/implementation-contributed/javascriptcore/stress/big-match.js b/implementation-contributed/javascriptcore/stress/big-match.js new file mode 100644 index 0000000000..4eb441c7a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-match.js @@ -0,0 +1,20 @@ +"use strict"; + +var bigString = "x"; +while (bigString.length < 200000) + bigString = bigString + bigString; + +if (bigString.length != 262144) + throw "Error: bad string length: " + bigString.length; + +var result = /x/g[Symbol.match](bigString); + +if (result.length != 262144) + throw "Error: bad result array length: " + result.length; + +for (var i = 0; i < result.length; ++i) { + if (result[i] != "x") + throw "Error: array does not contain \"x\" at i = " + i + ": " + result[i]; +} + + diff --git a/implementation-contributed/javascriptcore/stress/big-split-captures.js b/implementation-contributed/javascriptcore/stress/big-split-captures.js new file mode 100644 index 0000000000..5a2f49a3e5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-split-captures.js @@ -0,0 +1,27 @@ +"use strict"; + +var bigString = "xyz"; +while (bigString.length < 200000) + bigString = bigString + bigString; + +if (bigString.length != 393216) + throw "Error: bad string length: " + bigString.length; + +var result = /(x)(y)(z)/[Symbol.split](bigString); + +if (result.length != 524289) + throw "Error: bad result array length: " + result.length; + +if (result[0] != "") + throw "Error: array does not start with an empty string."; + +for (var i = 1; i < result.length; i += 4) { + if (result[i + 0] != "x") + throw "Error: array does not contain \"x\" at i = " + i + " + 0: " + result[i + 0]; + if (result[i + 1] != "y") + throw "Error: array does not contain \"y\" at i = " + i + " + 1: " + result[i + 1]; + if (result[i + 2] != "z") + throw "Error: array does not contain \"z\" at i = " + i + " + 2: " + result[i + 2]; + if (result[i + 3] != "") + throw "Error: array does not contain \"\" at i = " + i + " + 3: " + result[i + 3]; +} diff --git a/implementation-contributed/javascriptcore/stress/big-split.js b/implementation-contributed/javascriptcore/stress/big-split.js new file mode 100644 index 0000000000..e4ee783a48 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/big-split.js @@ -0,0 +1,21 @@ +"use strict"; + +var bigString = "xy"; +while (bigString.length < 200000) + bigString = bigString + bigString; + +if (bigString.length != 262144) + throw "Error: bad string length: " + bigString.length; + +var result = /x/[Symbol.split](bigString); + +if (result.length != 131073) + throw "Error: bad result array length: " + result.length; + +if (result[0] != "") + throw "Error: array does not start with an empty string."; + +for (var i = 1; i < result.length; ++i) { + if (result[i] != "y") + throw "Error: array does not contain \"y\" at i = " + i + ": " + result[i]; +} diff --git a/implementation-contributed/javascriptcore/stress/bit-op-value-to-int32-input-liveness.js b/implementation-contributed/javascriptcore/stress/bit-op-value-to-int32-input-liveness.js new file mode 100644 index 0000000000..d614db2cd0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bit-op-value-to-int32-input-liveness.js @@ -0,0 +1,20 @@ +function foo(a, b) { + return a.f ^ b.f; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:5.5}, {f:6.5}); + if (result != 3) + throw "Error: bad result: " + result; +} + +var result = foo({f:"5.5"}, {f:6.5}); +if (result != 3) + throw "Error: bad result: " + result; + +var result = foo({f:5.5}, {f:"6.5"}); +if (result != 3) + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/block-scoped-function-declarations.js b/implementation-contributed/javascriptcore/stress/block-scoped-function-declarations.js new file mode 100644 index 0000000000..60de29dfbf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/block-scoped-function-declarations.js @@ -0,0 +1,227 @@ +"use strict"; + +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function test(f) { + for (let i = 0; i < 500; i++) + f(); +} + +{ + let called = false; + function foo() { + called = true; + function bar() { return 25; } + assert(bar() === 25); + { + function bar() { return 30; } + assert(bar() === 30); + } + assert(bar() === 25); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + assert(bar() === 25); + { + assert(bar() === 30); + function bar() { return 30; } + } + assert(bar() === 25); + + function bar() { return 25; } + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + function foo() { return bar(); } + function bar() { return 25; } + assert(bar() === 25); + assert(foo() === 25); + { + function bar() { return 30; } + function foo() { return 25; } + assert(bar() === 30); + assert(foo() === 25); + } + assert(bar() === 25); + assert(foo() === 25); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + assert(bar() === 25); + assert(foo() === 25); + { + function bar() { return 30; } + function foo() { return 25; } + assert(bar() === 30); + assert(foo() === 25); + } + assert(bar() === 25); + assert(foo() === 25); + + function foo() { return bar(); } + function bar() { return 25; } + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + let isDefault = false; + switch ('foo') { + case 1: + function foo() { return 25; } + break; + case 2: + function bar() { return 30; } + break; + default: + isDefault = true; + assert(foo() === 25); + assert(bar() === 30); + break; + } + assert(isDefault); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + let is1 = false; + switch (1) { + case 1: + is1 = true; + function foo() { return 25; } + assert(foo() === 25); + assert(bar() === 30); + break; + case 2: + function bar() { return 30; } + break; + } + assert(is1); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + function foo() { return 25; } + function bar() { return "bar"; } + let is2 = false; + switch (2) { + case 1: { + function foo() { return 30; } + break; + } + case 2: + is2 = true; + function bar() { return 30; } + assert(bar() === 30); + assert(foo() === 25); + break; + } + assert(is2); + assert(bar() === "bar"); + assert(foo() === 25); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + function foo() { return 25; } + function bar() { return "bar"; } + let capture = () => foo + "" + bar; + let is2 = false; + switch (2) { + case 1: { + function foo() { return 30; } + break; + } + case 2: + is2 = true; + function bar() { return 30; } + let capture = () => bar; + assert(bar() === 30); + assert(foo() === 25); + break; + } + assert(is2); + assert(bar() === "bar"); + assert(foo() === 25); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + let f1; + let f2 = foo; + function foo() { } + if (true) { + f1 = foo; + function foo() { } + } + assert(!!f1 && !!f2); + assert(f1 !== f2); + } + test(foo); + assert(called); +} + +{ + let called = false; + function foo() { + called = true; + let f1; + let f2 = foo; + function foo() { } + let capture = () => foo; + if (true) { + f1 = foo; + function foo() { } + let capture = () => foo; + } + assert(!!f1 && !!f2); + assert(f1 !== f2); + } + test(foo); + assert(called); +} diff --git a/implementation-contributed/javascriptcore/stress/bound-function-does-not-have-caller-and-arguments.js b/implementation-contributed/javascriptcore/stress/bound-function-does-not-have-caller-and-arguments.js new file mode 100644 index 0000000000..97cc76f6c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bound-function-does-not-have-caller-and-arguments.js @@ -0,0 +1,15 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testFunction(func) { + var array = Object.getOwnPropertyNames(func); + shouldBe(array.indexOf("arguments"), -1); + shouldBe(array.indexOf("caller"), -1); +} + +testFunction((() => { }).bind()); +testFunction((() => { "use strict"; }).bind()); +testFunction((function () { }).bind()); +testFunction((function () { "use strict"; }).bind()); diff --git a/implementation-contributed/javascriptcore/stress/bound-function-lazy-name-generation.js b/implementation-contributed/javascriptcore/stress/bound-function-lazy-name-generation.js new file mode 100644 index 0000000000..be1a747e3f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bound-function-lazy-name-generation.js @@ -0,0 +1,23 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} + +function test() { + let f = function foo() { }.bind({}); + assert(f.name === "bound foo"); + + f = function () { }.bind({}); + assert(f.name === "bound "); + + f = function foo() { }.bind({}); + assert(Reflect.ownKeys(f).includes("name")); + assert(f.name === "bound foo"); + assert(Reflect.ownKeys(f).includes("name")); + + f = function foo() { }.bind({}); + assert(f.name === "bound foo"); + assert(Reflect.ownKeys(f).includes("name")); +} +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/bound-function-tail-call-with-exception.js b/implementation-contributed/javascriptcore/stress/bound-function-tail-call-with-exception.js new file mode 100644 index 0000000000..f3ce6f7aa0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bound-function-tail-call-with-exception.js @@ -0,0 +1,23 @@ +//@ runNoJIT + +function bar(a, idx) +{ + "use strict"; + if (idx > 0) + throw "Hello"; + return a; +} + +boundBar = bar.bind(null, 42); + +function foo(a, idx) +{ + "use strict"; + return boundBar(idx); +} + +boundFoo = foo.bind(null, 41); + +try { + boundFoo(1); +} catch(e) {} diff --git a/implementation-contributed/javascriptcore/stress/bound-function-uses-prototype.js b/implementation-contributed/javascriptcore/stress/bound-function-uses-prototype.js new file mode 100644 index 0000000000..19dba2c71c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bound-function-uses-prototype.js @@ -0,0 +1,31 @@ +// Test ES6 feature of using the bindee's prototype when binding a function. + +bind = Function.prototype.bind; + +function testChangeProto() { + function foo() { } + + foo.__proto__ = Object.prototype; + + let bar = bind.call(foo); + if (bar.__proto__ !== foo.__proto__) + throw "incorrect prototype"; + + foo.__proto__ = null; + bar = bind.call(foo); + if (bar.__proto__ !== foo.__proto__) + throw "cached prototype incorrectly" +} +testChangeProto(); + +function testBuiltins() { + let bar = bind.call(Array); + if (bar.__proto__ !== Array.__proto__) + throw "builtin prototype incorrect"; + + Array.__proto__ = null; + bar = bind.call(Array); + if (bar.__proto__ !== Array.__proto__) + throw "builtin prototype did not change correctly."; +} +testBuiltins(); diff --git a/implementation-contributed/javascriptcore/stress/bounds-check-not-eliminated-by-licm.js b/implementation-contributed/javascriptcore/stress/bounds-check-not-eliminated-by-licm.js new file mode 100644 index 0000000000..0b3141e393 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bounds-check-not-eliminated-by-licm.js @@ -0,0 +1,30 @@ +function testInLoopTests(array, index) +{ + let arrayLength = array.length; + let sum = 0; + for (let i = 0; i < 10; ++i) { + if (index >= 0 && index < arrayLength) { + sum += array[index]; + } + } + return sum; +} +noInline(testInLoopTests); + + +let testArray = [1, 2, 3]; + +// Warmup "in-bounds" up to FTL. +for (let i = 0; i < 1e5; ++i) { + if (testInLoopTests(testArray, 1) !== 20) + throw "Failed testInLoopTests(testArray, 1)" + if (testInLoopTests(testArray, 2) !== 30) + throw "Failed testInLoopTests(testArray, 2)" +} + +let largeIntResult = testInLoopTests(testArray, 2147483647); +if (largeIntResult !== 0) + throw "Failed testInLoopTests(testArray, 2147483647)"; +let smallIntResult = testInLoopTests(testArray, -2147483647); +if (smallIntResult !== 0) + throw "Failed testInLoopTests(testArray, -2147483647)"; diff --git a/implementation-contributed/javascriptcore/stress/branch-check-int32-on-boolean-to-number-untyped.js b/implementation-contributed/javascriptcore/stress/branch-check-int32-on-boolean-to-number-untyped.js new file mode 100644 index 0000000000..8f4af0b3cf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/branch-check-int32-on-boolean-to-number-untyped.js @@ -0,0 +1,23 @@ +function foo(o) { + if (o.f) + return "yes"; + else + return "no"; +} + +noInline(foo); + +function test(value, expected) { + var result = foo({f:value}); + if (result != expected) + throw "Error: bad result for " + value + ": " + result; +} + +for (var i = 0; i < 10000; ++i) { + test(1, "yes"); + test(0, "no"); + test(true, "yes"); + test(false, "no"); +} + +test("yes", "yes"); diff --git a/implementation-contributed/javascriptcore/stress/branch-check-number-on-boolean-to-number-untyped.js b/implementation-contributed/javascriptcore/stress/branch-check-number-on-boolean-to-number-untyped.js new file mode 100644 index 0000000000..d6099a9a94 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/branch-check-number-on-boolean-to-number-untyped.js @@ -0,0 +1,23 @@ +function foo(o) { + if (o.f) + return "yes"; + else + return "no"; +} + +noInline(foo); + +function test(value, expected) { + var result = foo({f:value}); + if (result != expected) + throw "Error: bad result for " + value + ": " + result; +} + +for (var i = 0; i < 10000; ++i) { + test(1.5, "yes"); + test(0.0, "no"); + test(true, "yes"); + test(false, "no"); +} + +test("yes", "yes"); diff --git a/implementation-contributed/javascriptcore/stress/branch-may-exit-due-to-object-or-other-use-kind.js b/implementation-contributed/javascriptcore/stress/branch-may-exit-due-to-object-or-other-use-kind.js new file mode 100644 index 0000000000..aee19edc1f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/branch-may-exit-due-to-object-or-other-use-kind.js @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2015 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=144152 + +// The bug in 144152 needs 3 conditions to manifest: +// 1. The branch test value in the inlined function is of useKind ObjectOrOtherUse. +// 2. The branch test value is proven to be a known useKind. +// 3. The masqueradesAsUndefined watchpoint is no longer valid. +// With the bug fixed, this test should not crash on debug builds. + +function inlinedFunction(x) { + if (x) // Conditional branch that will assert on a debug build if the bug is present. + new Object; +} + +function foo(x) { + if (x) // Testing x before calling the inlined function sets up condition 2. + inlinedFunction(x); +} + +makeMasquerader(); // Invalidates the masqueradesAsUndefined watchpoint for condition 3. +for (var i = 0; i < 10000; i++) + foo({}); // Pass an object argument to set up condition 1. diff --git a/implementation-contributed/javascriptcore/stress/broken-have-a-bad-time-with-arguments-for-gc-testing.js b/implementation-contributed/javascriptcore/stress/broken-have-a-bad-time-with-arguments-for-gc-testing.js new file mode 100644 index 0000000000..2857b04638 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/broken-have-a-bad-time-with-arguments-for-gc-testing.js @@ -0,0 +1,140 @@ +//@ runFTLNoCJIT + +// Tests accessing an element in arguments before and after having a bad time. +// This test should not crash. + +let verbose = false; + +var utilities = 'function shouldEqual(testId, actual, expected) {' + '\n' + + ' if (actual != expected)' + '\n' + + ' throw testId + ": ERROR: expect " + expected + ", actual " + actual;' + '\n' + + '}' + '\n'; + +var haveABadTime = 'Object.defineProperty(Object.prototype, 20, { get() { return 20; } });' + '\n'; + +var directArgumentsDecl = ' var args = arguments;' + '\n'; + +var scopedArgumentsDecl = ' var args = arguments;' + '\n' + + ' function closure() { return x; }' + '\n'; + +var clonedArgumentsDecl = ' "use strict";' + '\n' + + ' var args = arguments;' + '\n'; + +function testFunction(argsDecl, insertElementAction, indexToReturn) { + var script = 'function test(x) {' + '\n' + + argsDecl + + insertElementAction + + ' return args[' + indexToReturn + '];' + '\n' + + '}' + '\n' + + 'noInline(test);' + '\n'; + return script; +} + +function warmupFunction(tierWarmupCount, testArgs) { + var script = 'function warmup() {' + '\n' + + ' for (var i = 0; i < ' + tierWarmupCount + '; i++) {' + '\n' + + ' test(' + testArgs + ');' + '\n' + + ' }' + '\n' + + '}' + '\n'; + return script; +} + +let argumentsDecls = { + direct: directArgumentsDecl, + scoped: scopedArgumentsDecl, + cloned: clonedArgumentsDecl +}; + +let indicesToReturn = { + inBounds: 0, + outOfBoundsInsertedElement: 10, + outOfBoundsInPrototype: 20 +}; + +let tierWarmupCounts = { + llint: 1, + baseline: 50, + dfg: 1000, + ftl: 10000 +}; + +let testArgsList = { + noArgs: { + args: '', + result: { + inBounds: { beforeBadTime: 'undefined', afterBadTime: 'undefined', }, + outOfBoundsInsertedElement: { beforeBadTime: '10', afterBadTime: '10', }, + outOfBoundsInPrototype: { beforeBadTime: 'undefined', afterBadTime: '20', }, + } + }, + someArgs: { + args: '1, 2, 3', + result: { + inBounds: { beforeBadTime: '1', afterBadTime: '1', }, + outOfBoundsInsertedElement: { beforeBadTime: '10', afterBadTime: '10', }, + outOfBoundsInPrototype: { beforeBadTime: 'undefined', afterBadTime: '20', }, + } + } +}; + +let insertElementActions = { + insertElement: ' args[10] = 10;' + '\n', + dontInsertElement: '' +}; + +for (let argsDeclIndex in argumentsDecls) { + let argsDecl = argumentsDecls[argsDeclIndex]; + + for (let indexToReturnIndex in indicesToReturn) { + let indexToReturn = indicesToReturn[indexToReturnIndex]; + + for (let insertElementActionIndex in insertElementActions) { + let insertElementAction = insertElementActions[insertElementActionIndex]; + + for (let tierWarmupCountIndex in tierWarmupCounts) { + let tierWarmupCount = tierWarmupCounts[tierWarmupCountIndex]; + + for (let testArgsIndex in testArgsList) { + let testArgs = testArgsList[testArgsIndex].args; + let expectedResult = testArgsList[testArgsIndex].result[indexToReturnIndex]; + + if (indexToReturnIndex == 'outOfBoundsInsertedElement' + && insertElementActionIndex == 'dontInsertElement') + expectedResult = 'undefined'; + + let testName = + argsDeclIndex + '-' + + indexToReturnIndex + '-' + + insertElementActionIndex + '-' + + tierWarmupCountIndex + '-' + + testArgsIndex; + + + let script = utilities + + testFunction(argsDecl, insertElementAction, indexToReturn) + + warmupFunction(tierWarmupCount, testArgs) + + 'warmup()' + '\n' + + 'shouldEqual(10000, test(' + testArgs + '), ' + expectedResult['beforeBadTime'] + ');' + '\n'; + haveABadTime + + 'shouldEqual(20000, test(' + testArgs + '), ' + expectedResult['afterBadTime'] + ');' + '\n'; + + if (verbose) { + print('Running test configuration: ' + testName); + print( + 'Test script: ====================================================\n' + + script + + '=== END script =================================================='); + } + + try { + runString(script); + } catch (e) { + print('FAILED test configuration: ' + testName); + print('FAILED test script:\n' + script); + throw e; + } + } + } + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/bug-131764.js b/implementation-contributed/javascriptcore/stress/bug-131764.js new file mode 100644 index 0000000000..c740c4256a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bug-131764.js @@ -0,0 +1,22 @@ +var result = 0; +function test1(arr) { + return Array.of(...arr); +} +function test2() { + return Array(...arguments); +} + +var result = 0; +if (this.noInline) { + noInline(test1) + noInline(test2) +} + +var array = [1,2,3,4,5]; + +for (var i = 0; i < 10000; i++) { + result ^= test2(1,2,3,4,5,6,7).length; +} + +if (result != 0) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/bug-165091.js b/implementation-contributed/javascriptcore/stress/bug-165091.js new file mode 100644 index 0000000000..8b0ea4ba21 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bug-165091.js @@ -0,0 +1,14 @@ +function shouldThrowSyntaxError(str, message) { + try { + eval(str); + throw new Error("Expected `" + str + "` to throw a SyntaxError, but did not throw.") + } catch (e) { + if (e.constructor !== SyntaxError) + throw new Error("Expected `" + str + "` to throw a SyntaxError, but threw '" + e + "'"); + if (message !== void 0 && e.message !== message) + throw new Error("Expected `" + str + "` to throw SyntaxError: '" + message + "', but threw '" + e + "'"); + } +} + +shouldThrowSyntaxError("0/-async J", "Unexpected identifier 'J'") + diff --git a/implementation-contributed/javascriptcore/stress/bug-171786.js b/implementation-contributed/javascriptcore/stress/bug-171786.js new file mode 100644 index 0000000000..2e467557e7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/bug-171786.js @@ -0,0 +1,15 @@ + +function foo(i, x) { + return String.prototype.big.call(x); +} +noInline(foo); + +for (var i = 0; i < 1000; i++) { + try { + if (i < 200) + foo(i, "hello"); + else + foo(i, undefined); + } catch(e) { + } +} diff --git a/implementation-contributed/javascriptcore/stress/builtin-function-is-construct-type-none.js b/implementation-contributed/javascriptcore/stress/builtin-function-is-construct-type-none.js new file mode 100644 index 0000000000..626248dea0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/builtin-function-is-construct-type-none.js @@ -0,0 +1,18 @@ +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +for (var i = 0; i < 10000; ++i) { + shouldThrow(function () { + new Array.prototype.forEach(function () { }); + }, "TypeError: function is not a constructor (evaluating 'new Array.prototype.forEach(function () { })')"); +} diff --git a/implementation-contributed/javascriptcore/stress/builtin-function-length.js b/implementation-contributed/javascriptcore/stress/builtin-function-length.js new file mode 100644 index 0000000000..f2ea00801f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/builtin-function-length.js @@ -0,0 +1,47 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +{ + shouldBe(JSON.stringify(Object.getOwnPropertyNames(Array.prototype.filter).sort()), `["length","name"]`); + shouldBe(Array.prototype.filter.length, 1); + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(Array.prototype.filter, 'length')), `{"value":1,"writable":false,"enumerable":false,"configurable":true}`); + shouldBe(delete Array.prototype.filter.length, true); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(Array.prototype.filter).sort()), `["name"]`); +} + +{ + shouldThrow(function () { + "use strict"; + Array.prototype.forEach.length = 42; + }, `TypeError: Attempted to assign to readonly property.`); +} + +{ + var resolve = null; + var reject = null; + new Promise(function (arg0, arg1) { + resolve = arg0; + reject = arg1; + }); + shouldBe(resolve.length, 1); + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(resolve, 'length')), `{"value":1,"writable":false,"enumerable":false,"configurable":true}`); + shouldBe(reject.length, 1); + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(reject, 'length')), `{"value":1,"writable":false,"enumerable":false,"configurable":true}`); +} diff --git a/implementation-contributed/javascriptcore/stress/builtin-function-name.js b/implementation-contributed/javascriptcore/stress/builtin-function-name.js new file mode 100644 index 0000000000..ed4993e732 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/builtin-function-name.js @@ -0,0 +1,45 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +{ + shouldBe(JSON.stringify(Object.getOwnPropertyNames(Array.prototype.filter).sort()), `["length","name"]`); + shouldBe(Array.prototype.filter.name, "filter"); + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(Array.prototype.filter, 'name')), `{"value":"filter","writable":false,"enumerable":false,"configurable":true}`); + shouldBe(delete Array.prototype.filter.name, true); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(Array.prototype.filter).sort()), `["length"]`); +} + +{ + shouldThrow(function () { + "use strict"; + Array.prototype.forEach.name = 42; + }, `TypeError: Attempted to assign to readonly property.`); +} + +{ + var resolve = null; + var reject = null; + new Promise(function (arg0, arg1) { + resolve = arg0; + reject = arg1; + }); + shouldBe(Object.getOwnPropertyDescriptor(resolve, 'name'), undefined); + shouldBe(Object.getOwnPropertyDescriptor(reject, 'name'), undefined); +} diff --git a/implementation-contributed/javascriptcore/stress/butterfly-zero-unused-butterfly-properties.js b/implementation-contributed/javascriptcore/stress/butterfly-zero-unused-butterfly-properties.js new file mode 100644 index 0000000000..da3faa65a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/butterfly-zero-unused-butterfly-properties.js @@ -0,0 +1,9 @@ +//@ runDefault("--jitPolicyScale=0", "--gcMaxHeapSize=2000") + +// This test happened to catch a case where we failed to zero the space in the butterfly before m_lastOffset when reallocating. + +var array = Array(1000); +for (var i = 0; i < 100000; ++i) { + array[i - array.length] = ''; + array[i ^ array.length] = ''; +} diff --git a/implementation-contributed/javascriptcore/stress/cached-prototype-setter.js b/implementation-contributed/javascriptcore/stress/cached-prototype-setter.js new file mode 100644 index 0000000000..ed27108eb3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cached-prototype-setter.js @@ -0,0 +1,45 @@ +// [ARM] stress/cached-prototype-setter.js.no-llint fails intermittently on Aarch64 Linux +// https://bugs.webkit.org/show_bug.cgi?id=142277 +//@ skip if $architecture == "arm64" and $hostOS == "linux" + +(function() { + var xSetterCalled = false; + + function MyConstructor() + { + this.x = 1; + } + + new MyConstructor; + new MyConstructor; + function setter() { + xSetterCalled = true; + } + Object.prototype.__defineSetter__("x", setter); + new MyConstructor; + + if (!xSetterCalled) + throw new Error("FAIL: 'x' setter was not called."); +})(); + +(function() { + var xSetterCalled = false; + + function makeO() + { + var o = { }; + o.x = 1; + return o; + } + + makeO(); + makeO(); + function setter(x) { + xSetterCalled = true; + } + Object.prototype.__defineSetter__("x", setter); + makeO(); + + if (!xSetterCalled) + throw new Error("FAIL: 'x' setter was not called."); +})(); diff --git a/implementation-contributed/javascriptcore/stress/call-apply-builtin-functions-dont-use-iterators.js b/implementation-contributed/javascriptcore/stress/call-apply-builtin-functions-dont-use-iterators.js new file mode 100644 index 0000000000..c4d33edca7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-apply-builtin-functions-dont-use-iterators.js @@ -0,0 +1,27 @@ +(function(){ + "use strict"; + var it = [][Symbol.iterator](); + while (it) { + if (it.hasOwnProperty('next')) + delete it.next; + it = Object.getPrototypeOf(it); + } + + var bind = Function.prototype.bind; + var uncurryThis = bind.bind(bind.call); + + var bindFn = uncurryThis(bind); + var applyFn = uncurryThis(bind.apply); + function test() { print("here"); } + var sliceFn = uncurryThis([].slice); + function addAll(var_args) { + var args = sliceFn(arguments, 0); + var result = this; + for (var i = 0; i < args.length; i++) + result += args[i]; + return result; + } + if (applyFn(addAll, 3, [4, 5, 6]) !== 18) + throw "incorrect result"; + +})(); diff --git a/implementation-contributed/javascriptcore/stress/call-apply-exponential-bytecode-size.js b/implementation-contributed/javascriptcore/stress/call-apply-exponential-bytecode-size.js new file mode 100644 index 0000000000..3ab699c73c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-apply-exponential-bytecode-size.js @@ -0,0 +1,109 @@ +// This test seems to require 64 MB for the executable memory pool. As per +// jit/ExecutableAllocator.cpp, it is 64 MB or above only for arm64 and +// x86-64. +//@skip if $architecture != "arm64" and $architecture != "x86-64" +"use strict"; + +function assert(b) { + if (!b) + throw new Error(); +} + +const inc = (x, y) => { return x + 1; } +const inc2 = (x, y) => { return y ? y + 1 : x + 1; } +function bar() { + return inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, 1))))))))))))))))))))); +} +assert(bar() === 22); + +function randomApplyOrCall(bias, size, dontSpreadBias = 0) { + let cur = `1`; + for (let i = 0; i < size; ++i) { + if (Math.random() >= bias) { + if (Math.random() >= dontSpreadBias) + cur = `inc.call(null, ${cur})`; + else + cur = `inc.call(...[null, ${cur}])`; + } else { + if (Math.random() >= dontSpreadBias) + cur = `inc.apply(null, [${cur}])`; + else + cur = `inc.apply(...[null, [${cur}]])`; + } + } + + if (bias > 0.85) { + cur = `let random = ${Math.random()}; ${cur}`; + } + + return eval(cur); +} + +const depth = 100; +assert(randomApplyOrCall(0, depth) === depth + 1); +assert(randomApplyOrCall(1, depth) === depth + 1); +assert(randomApplyOrCall(0, depth, 0) === depth + 1); +assert(randomApplyOrCall(1, depth, 1) === depth + 1); +for (let i = 0; i < 1000; ++i) { + assert(randomApplyOrCall(Math.random(), depth) === depth + 1); + assert(randomApplyOrCall(Math.random(), depth + 1, Math.random()) === depth + 2); +} + +function baz() { + return inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, 1)))))))))))))))))))), + inc.call(null, inc.call(null, 1))); +} +assert(baz() === 22); + +function jaz() { + return inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.apply(null, [inc.call(null, inc.call(null, + inc.call(null, 1)))]))))))))))))))))), + inc.call(null, inc.call(null, inc.apply(null, [1])))); +} +assert(jaz() === 22); + +function haz() { + return inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.apply(null, [inc.call(null, inc.call(null, + inc.call(null, 1)))]))))))))))))))))), + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.call(null, inc.call(null, inc.call(null, + inc.call(null, inc.apply(null, [inc.call(null, inc.call(null, + inc.call(null, 1)))]))))))))))))))))))); +} +assert(haz() === 22); + +function foo() { + return inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.apply(null, [inc2.call(null, inc2.call(null, + inc2.call(null, 1)))]))))))))))))))))), + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc2.call(null, inc2.call(null, + inc2.call(null, inc2.apply(null, [inc2.call(null, inc2.call(null, + inc2.call(null, inc2.call(null, inc.call(null, 1)))))]))))))))))))))))))); +} +assert(foo() === 25); diff --git a/implementation-contributed/javascriptcore/stress/call-forward-varargs-for-inlined-escaped-arguments.js b/implementation-contributed/javascriptcore/stress/call-forward-varargs-for-inlined-escaped-arguments.js new file mode 100644 index 0000000000..475850681e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-forward-varargs-for-inlined-escaped-arguments.js @@ -0,0 +1,23 @@ +function foo() { + return arguments; +} + +function baz(a, b, c) { + return a + b + c; +} + +noInline(baz); + +function bar(a, b, c) { + var args = foo(b, c, 42); + return baz.apply(void 0, args); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(1, 2, 3); + if (result != 47) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/call-non-calleable-constructors-as-function.js b/implementation-contributed/javascriptcore/stress/call-non-calleable-constructors-as-function.js new file mode 100644 index 0000000000..e921b7e4b2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-non-calleable-constructors-as-function.js @@ -0,0 +1,59 @@ +var errors = ""; +var numTests = 0; + +function test(type) { + var didThrow = false; + try { + var bad = type(10); + } catch(e) { + didThrow = true; + } + + if (!didThrow) { + errors += ("bad result: calling " + type.name + " as a function did not throw\n"); + } + numTests++; + + if (typeof type !== "function") + errors += ("bad result: typeof " + type.name + " is not function. Was " + (typeof type) + "\n"); + numTests++; +} + +// According to the spec, the constructors of the following types "are not intended to be +// called as a function and will throw an exception". However, as constructors, their +// type should be "function". + +// https://tc39.github.io/ecma262/#sec-typedarray-constructors +test(Int8Array); +test(Uint8Array); +test(Uint8ClampedArray); +test(Int16Array); +test(Uint16Array); +test(Int32Array); +test(Uint32Array); +test(Float32Array); +test(Float64Array); + +// https://tc39.github.io/ecma262/#sec-map-constructor +test(Map); +// https://tc39.github.io/ecma262/#sec-set-constructor +test(Set); +// https://tc39.github.io/ecma262/#sec-weakmap-constructor +test(WeakMap); +// https://tc39.github.io/ecma262/#sec-weakset-constructor +test(WeakSet); +// https://tc39.github.io/ecma262/#sec-arraybuffer-constructor +test(ArrayBuffer); +// https://tc39.github.io/ecma262/#sec-dataview-constructor +test(DataView); +// https://tc39.github.io/ecma262/#sec-promise-constructor +test(Promise); +// https://tc39.github.io/ecma262/#sec-proxy-constructor +test(Proxy); + +let expectedNumTests = 34; +if (numTests != expectedNumTests) { + errors += "Not all tests were run: ran " + numTests + " out of " + expectedNumTests + " \n"; +} +if (errors.length) + throw new Error(errors); diff --git a/implementation-contributed/javascriptcore/stress/call-object-constructor.js b/implementation-contributed/javascriptcore/stress/call-object-constructor.js new file mode 100644 index 0000000000..ee1fea19bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-object-constructor.js @@ -0,0 +1,18 @@ +function test(n) { + return n === Object(n); +} +noInline(test); + +function assert(condition) { + if (!condition) + throw new Error("assertion failed"); +} + +for (i = 0; i < 100000; i++) { + assert(!test(null)); + assert(!test(undefined)); + assert(!test(1)); + assert(!test("")); + assert(!test(Symbol.iterator)); + assert(test({})); +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-double-new-array-buffer.js b/implementation-contributed/javascriptcore/stress/call-varargs-double-new-array-buffer.js new file mode 100644 index 0000000000..156030b7d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-double-new-array-buffer.js @@ -0,0 +1,33 @@ +function assert(b, m = "") { + if (!b) + throw new Error("Bad assert: " + m); +} +noInline(assert); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo(a, ...args) { + let x = bar(...args, 42, ...[0.5, 1.5, 2.5, 3.5, 4.5], ...args); + return x; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 12); + assert(r[0] === i+1, JSON.stringify(r)); + assert(r[1] === i+2, JSON.stringify(r)); + assert(r[2] === i+3, JSON.stringify(r)); + assert(r[3] === 42, JSON.stringify(r)); + assert(r[4] === 0.5, JSON.stringify(r)); + assert(r[5] === 1.5, JSON.stringify(r)); + assert(r[6] === 2.5, JSON.stringify(r)); + assert(r[7] === 3.5, JSON.stringify(r)); + assert(r[8] === 4.5, JSON.stringify(r)); + assert(r[9] === i+1, JSON.stringify(r)); + assert(r[10] === i+2, JSON.stringify(r)); + assert(r[11] === i+3, JSON.stringify(r)); +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js b/implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js new file mode 100644 index 0000000000..b8d4395ccd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code-with-odd-number-of-arguments.js @@ -0,0 +1,30 @@ +// [DFG] call-varargs-from-inlined-code-with-odd-number-of-arguments.js fails in POSIX environment if SamplingProfiler is enabled +// https://bugs.webkit.org/show_bug.cgi?id=153704 +//@ if $hostOS == "linux" then defaultNoSamplingProfilerRun else defaultRun end + +function foo(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y) { + return a * 2 + b * 3 + c * 5 + d * 7 + e * 11 + f * 13 + g * 17 + h * 19 + i * 23 + j * 29 + k * 31 + l * 37 + m * 41 + n * 43 + o * 47 + p * 53 + q * 59 + r * 61 + s * 67 + t * 71 + u * 73 + v * 79 + w * 83 + x * 89 + y * 97; +} + +function bar() { + return foo.apply(this, arguments); +} + +function baz(x) { + return bar(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25) + x; +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(0); + if (result != 21586 - 26 * 101) + throw "Error: bad result: " + result; +} + +// Force recompilation. +for (var i = 0; i < 10000; ++i) { + var result = baz(2147483646); + if (result != 2147502606) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code.js b/implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code.js new file mode 100644 index 0000000000..3484bdacd0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-from-inlined-code.js @@ -0,0 +1,30 @@ +// [DFG] call-varargs-from-inlined-code-with-odd-number-of-arguments.js fails in POSIX environment if SamplingProfiler is enabled +// https://bugs.webkit.org/show_bug.cgi?id=153704 +//@ if $hostOS == "linux" then defaultNoSamplingProfilerRun else defaultRun end + +function foo(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) { + return a * 2 + b * 3 + c * 5 + d * 7 + e * 11 + f * 13 + g * 17 + h * 19 + i * 23 + j * 29 + k * 31 + l * 37 + m * 41 + n * 43 + o * 47 + p * 53 + q * 59 + r * 61 + s * 67 + t * 71 + u * 73 + v * 79 + w * 83 + x * 89 + y * 97 + z * 101; +} + +function bar() { + return foo.apply(this, arguments); +} + +function baz(x) { + return bar(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26) + x; +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(0); + if (result != 21586) + throw "Error: bad result: " + result; +} + +// Force recompilation. +for (var i = 0; i < 10000; ++i) { + var result = baz(2147483646); + if (result != 2147505232) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-length-effects.js b/implementation-contributed/javascriptcore/stress/call-varargs-length-effects.js new file mode 100644 index 0000000000..03bcfd7eed --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-length-effects.js @@ -0,0 +1,24 @@ +function foo() { return arguments.length; } + +var o = {}; +o[0] = 42; +var callCount = 0; +o.__defineGetter__("length", function() { + callCount++; + return 1; +}); + +function bar() { + callCount = 0; + var result = foo.apply(this, o); + if (result != 1) + throw "Error: bad result: " + result; + if (callCount != 1) + throw "Error: bad call count: " + callCount; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10000; ++i) + bar(); diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer.js b/implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer.js new file mode 100644 index 0000000000..6a5c8d3985 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer.js @@ -0,0 +1,29 @@ +function assert(b, m = "") { + if (!b) + throw new Error("Bad assert: " + m); +} +noInline(assert); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo() { + let args = [1, 2, 3]; + let x = bar(...args, 42, ...args); + return x; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let r = foo(); + assert(r.length === 7); + assert(r[0] === 1, JSON.stringify(r)); + assert(r[1] === 2, JSON.stringify(r)); + assert(r[2] === 3, JSON.stringify(r)); + assert(r[3] === 42, JSON.stringify(r)); + assert(r[4] === 1, JSON.stringify(r)); + assert(r[5] === 2, JSON.stringify(r)); + assert(r[6] === 3, JSON.stringify(r)); +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer2.js b/implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer2.js new file mode 100644 index 0000000000..d2f8ad8da4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-spread-new-array-buffer2.js @@ -0,0 +1,33 @@ +function assert(b, m = "") { + if (!b) + throw new Error("Bad assert: " + m); +} +noInline(assert); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo(a, ...args) { + let x = bar(...args, 42, ...[0, 1, 2, 3, 4], ...args); + return x; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 12); + assert(r[0] === i+1, JSON.stringify(r)); + assert(r[1] === i+2, JSON.stringify(r)); + assert(r[2] === i+3, JSON.stringify(r)); + assert(r[3] === 42, JSON.stringify(r)); + assert(r[4] === 0, JSON.stringify(r)); + assert(r[5] === 1, JSON.stringify(r)); + assert(r[6] === 2, JSON.stringify(r)); + assert(r[7] === 3, JSON.stringify(r)); + assert(r[8] === 4, JSON.stringify(r)); + assert(r[9] === i+1, JSON.stringify(r)); + assert(r[10] === i+2, JSON.stringify(r)); + assert(r[11] === i+3, JSON.stringify(r)); +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-spread.js b/implementation-contributed/javascriptcore/stress/call-varargs-spread.js new file mode 100644 index 0000000000..0e19c88854 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-spread.js @@ -0,0 +1,28 @@ +function assert(b, m = "") { + if (!b) + throw new Error("Bad assert: " + m); +} +noInline(assert); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo(a, ...args) { + let x = bar(...args, 42, ...args); + return x; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 7); + assert(r[0] === i+1, JSON.stringify(r)); + assert(r[1] === i+2, JSON.stringify(r)); + assert(r[2] === i+3, JSON.stringify(r)); + assert(r[3] === 42, JSON.stringify(r)); + assert(r[4] === i+1, JSON.stringify(r)); + assert(r[5] === i+2, JSON.stringify(r)); + assert(r[6] === i+3, JSON.stringify(r)); +} diff --git a/implementation-contributed/javascriptcore/stress/call-varargs-with-different-arguments-length-after-warmup.js b/implementation-contributed/javascriptcore/stress/call-varargs-with-different-arguments-length-after-warmup.js new file mode 100644 index 0000000000..a96e254d32 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/call-varargs-with-different-arguments-length-after-warmup.js @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2015 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=143407. + +var verbose = false; + +function foo() { + return arguments.length; +} + +function Foo() { + this.length = arguments.length; +} + +var callTestBodyStr = +" var result = this.method.apply(this, arguments);" + "\n" + +" return result + 1;"; + +var constructTestBodyStr = +" return new this.constructor(...arguments);"; + +var tiers = [ + { name: "LLint", iterations: 10 }, + { name: "BaselineJIT", iterations: 50 }, + { name: "DFG", iterations: 500 }, + { name: "FTL", iterations: 10000 }, +]; + +function doTest(testCategory, testBodyStr, tier) { + try { + var iterations = tiers[tier].iterations; + if (verbose) + print("Testing " + testCategory + " tier " + tiers[tier].name + " by iterating " + iterations + " times"); + + var o = {} + o.method = foo; + o.constructor = Foo; + o.trigger = new Function(testBodyStr); + + for (var i = 0; i < iterations; i++) + o.trigger(o, 1); + o.trigger(o, 1, 2); + + } catch (e) { + print("FAILED " + testCategory + " in tier " + tiers[tier].name + ": " + e); + return false; + } + return true; +} + +var failureFound = 0; + +for (var tier = 0; tier < tiers.length; tier++) { + if (!doTest("op_call_varargs", callTestBodyStr, tier)) + failureFound++; +} + +for (var tier = 0; tier < tiers.length; tier++) { + if (!doTest("op_construct_varargs", constructTestBodyStr, tier)) + failureFound++; +} + +if (failureFound == 1) + throw "ERROR: test has 1 failure"; +else if (failureFound > 1) + throw "ERROR: test has " + failureFound + " failures"; +else if (verbose) + print("No failures"); diff --git a/implementation-contributed/javascriptcore/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js b/implementation-contributed/javascriptcore/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js new file mode 100644 index 0000000000..c9b119ebe7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/caller-and-arguments-properties-for-functions-that-dont-have-them.js @@ -0,0 +1,74 @@ +function assert(b) { + if (!b) + throw new Error; +} + +function test1(f) { + f.__proto__ = {}; + Object.defineProperty(f, "caller", {value:42}); + assert(f.caller === 42); + Object.defineProperty(f, "arguments", {value:32}); + assert(f.arguments === 32); +} +for (let i = 0; i < 1000; ++i) { + test1(function () { "use strict"; }); + test1(class C { }); + test1(() => undefined); + test1(async function foo(){}); + test1(function* foo() { }); +} + +function test2(f, p = {}) { + f.__proto__ = p; + f.caller = 42; + assert(f.caller === 42); + f.arguments = 44; + assert(f.arguments === 44); +} + +{ + let proxy = new Proxy({}, { + has(...args) { + throw new Error("Should not be called!"); + } + }); + for (let i = 0; i < 1000; ++i) { + test2(function () { "use strict"; }, proxy); + test2(class C { }, proxy); + test2(() => undefined, proxy); + test2(async function foo(){}, proxy); + test2(function* foo() { }, proxy); + } +} + +for (let i = 0; i < 1000; ++i) { + test2(function () { "use strict"; }); + test2(class C { }); + test2(() => undefined); + test2(async function foo(){}); + test2(function* foo() { }); +} + +function test3(f) { + f.__proto__ = {}; + f.caller = 42; + assert(f.caller === 42); + assert(f.hasOwnProperty("caller")); + assert(delete f.caller === true); + assert(f.caller === undefined); + assert(!f.hasOwnProperty("caller")); + + f.arguments = 44; + assert(f.arguments === 44); + assert(f.hasOwnProperty("arguments")); + assert(delete f.arguments === true); + assert(f.arguments === undefined); + assert(!f.hasOwnProperty("arguments")); +} +for (let i = 0; i < 1000; ++i) { + test3(function () { "use strict"; }); + test3(class C { }); + test3(() => undefined); + test3(async function foo(){}); + test3(function* foo() { }); +} diff --git a/implementation-contributed/javascriptcore/stress/caller-native-code.js b/implementation-contributed/javascriptcore/stress/caller-native-code.js new file mode 100644 index 0000000000..132305c045 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/caller-native-code.js @@ -0,0 +1,25 @@ +function f() { + foo = f.caller; +} + +// Test C++ code constructor +new Number({ valueOf: f }); + +if (foo !== null) + throw new Error(foo); + +foo = 1; + +// Test C++ function. +[1].slice({ valueOf: f }); + +if (foo !== null) + throw new Error(foo); + +foo = 1; + +// Test builtin js code +[1].map(f) + +if (foo !== null) + throw new Error(foo); diff --git a/implementation-contributed/javascriptcore/stress/capture-escape-and-throw.js b/implementation-contributed/javascriptcore/stress/capture-escape-and-throw.js new file mode 100644 index 0000000000..c77497c536 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/capture-escape-and-throw.js @@ -0,0 +1,28 @@ +var f; + +function foo(s) { + var x = 1; + f = function() { return x; }; + x = 2; + new Array(s); + x = 3; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(1); + +var didThrow = false; +try { + foo(-1); +} catch (e) { + didThrow = e; +} + +if (("" + didThrow).indexOf("RangeError") != 0) + throw "Error: did not throw right exception: " + didThrow; + +var result = f(); +if (result != 2) + throw "Error: bad result from f(): " + result; diff --git a/implementation-contributed/javascriptcore/stress/captured-arguments-variable.js b/implementation-contributed/javascriptcore/stress/captured-arguments-variable.js new file mode 100644 index 0000000000..a0e68e4ef8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/captured-arguments-variable.js @@ -0,0 +1,17 @@ +function foo(a) { + return arguments[1] + (function() { return a * 101; })(); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42, 97); + if (result != 4339) + throw "Error: bad result: " + result; +} + +Object.prototype[1] = 111; + +var result = foo(42); +if (result != 4353) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz1.js b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz1.js new file mode 100644 index 0000000000..64b9bc34b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz1.js @@ -0,0 +1,10 @@ +// This test should not crash. +var caughtReferenceError = false; +try { + try { throw [void 0]; } catch ([{constructor} = new constructor]) { } +} catch (e) { + caughtReferenceError = true; +} + +if (!caughtReferenceError) + throw Error("Missing ReferenceError"); diff --git a/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz2.js b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz2.js new file mode 100644 index 0000000000..39a573acaf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz2.js @@ -0,0 +1,10 @@ +// This test should not crash. +var caughtReferenceError = false; +try { + try { throw []; } catch ({c = new class extends C {}, constructor: C}) { } +} catch (e) { + caughtReferenceError = true; +} + +if (!caughtReferenceError) + throw Error("Missing ReferenceError"); diff --git a/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz3.js b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz3.js new file mode 100644 index 0000000000..fe33f3945d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz3.js @@ -0,0 +1,10 @@ +// This test should not crash. +var caughtReferenceError = false; +try { + try { throw {}; } catch ({a = (print(a), b), b}) { } +} catch (e) { + caughtReferenceError = true; +} + +if (!caughtReferenceError) + throw Error("Missing ReferenceError"); diff --git a/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz4.js b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz4.js new file mode 100644 index 0000000000..5d6b2cc65b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz4.js @@ -0,0 +1,11 @@ +// This test should not crash. +var caughtReferenceError = false; +try { + function* m(){ try {throw [void 0]} catch ([c = (yield c)]) {} } + [...m()] +} catch (e) { + caughtReferenceError = true; +} + +if (!caughtReferenceError) + throw Error("Missing ReferenceError"); diff --git a/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz5.js b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz5.js new file mode 100644 index 0000000000..02462bc13f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-clause-should-be-under-tdz5.js @@ -0,0 +1,10 @@ +// This test should not crash. +var caughtReferenceError = false; +try { + while(1) try {throw {}} catch({a=({}={__proto__}), __proto__}){} +} catch (e) { + caughtReferenceError = true; +} + +if (!caughtReferenceError) + throw Error("Missing ReferenceError"); diff --git a/implementation-contributed/javascriptcore/stress/catch-parameter-destructuring.js b/implementation-contributed/javascriptcore/stress/catch-parameter-destructuring.js new file mode 100644 index 0000000000..50d225e1e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-parameter-destructuring.js @@ -0,0 +1,146 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +class CallGuard { + constructor() + { + this.called = false; + } + + call() + { + this.called = true; + } +} + +(function () { + let guard = new CallGuard(); + try { + throw { value: 42, done: false }; + } catch ({ value, done }) { + shouldBe(value, 42); + shouldBe(done, false); + guard.call(); + } + shouldBe(guard.called, true); +}()); + +(function () { + let guard = new CallGuard(); + try { + throw { value: 42, done: false }; + } catch ({ value: v, done: d }) { + shouldBe(v, 42); + shouldBe(d, false); + guard.call(); + } + shouldBe(guard.called, true); + // lexical + shouldBe(typeof v, "undefined"); + shouldBe(typeof d, "undefined"); +}()); + +shouldThrow(function () { + try { + throw { get error() { throw new Error("OK"); } }; + } catch ({ error }) { + } +}, `Error: OK`); + +let guard = new CallGuard(); +shouldThrow(function () { + try { + throw { get error() { throw new Error("OK"); } }; + } catch ({ error }) { + } finally { + guard.call(); + } +}, `Error: OK`); +shouldBe(guard.called, true); + +(function initialize() { + let guard = new CallGuard(); + try { + throw { value: 42, done: false }; + } catch ({ value, done, hello = 44 }) { + shouldBe(value, 42); + shouldBe(done, false); + shouldBe(hello, 44); + guard.call(); + } + shouldBe(guard.called, true); +}()); + +(function array() { + let guard = new CallGuard(); + try { + throw [0, 1, 2, 3, 4, 5]; + } catch ([ a, b, c, ...d ]) { + shouldBe(a, 0); + shouldBe(b, 1); + shouldBe(c, 2); + shouldBe(JSON.stringify(d), `[3,4,5]`); + guard.call(); + } + shouldBe(guard.called, true); +}()); + +(function generator() { + function *gen(v) { + try { + throw v; + } catch ({ value = yield 42 }) { + yield value; + } + } + + { + let g = gen({}); + { + let { value, done } = g.next(); + shouldBe(value, 42); + shouldBe(done, false); + } + { + let { value, done } = g.next("OK"); + shouldBe(value, "OK"); + shouldBe(done, false); + } + { + let { value, done } = g.next("OK"); + shouldBe(value, undefined); + shouldBe(done, true); + } + } + + { + let g = gen({value: 400}); + { + let { value, done } = g.next(); + shouldBe(value, 400); + shouldBe(done, false); + } + { + let { value, done } = g.next("OK"); + shouldBe(value, undefined); + shouldBe(done, true); + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/catch-parameter-syntax.js b/implementation-contributed/javascriptcore/stress/catch-parameter-syntax.js new file mode 100644 index 0000000000..68f855fa43 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-parameter-syntax.js @@ -0,0 +1,171 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +(function () { + try { + } catch ([a, a]) { + } +}) +`, `SyntaxError: Unexpected identifier 'a'. Cannot declare a lexical variable twice: 'a'.`); + +testSyntaxError(` +(function () { + try { + } catch ({ a, b:a }) { + } +}) +`, `SyntaxError: Unexpected identifier 'a'. Cannot declare a lexical variable twice: 'a'.`); + +testSyntax(` +(function () { + try { + } catch (let) { + } +}) +`, ``); + +testSyntax(` +(function () { + try { + } catch ([let]) { + } +}) +`, ``); + +testSyntaxError(` +(function () { + 'use strict'; + try { + } catch (let) { + } +}) +`, `SyntaxError: Cannot use 'let' as a catch parameter name in strict mode.`); + +testSyntaxError(` +(function () { + 'use strict'; + try { + } catch ([let]) { + } +}) +`, `SyntaxError: Cannot use 'let' as a catch parameter name in strict mode.`); + + +testSyntax(` +(function () { + try { + } catch (yield) { + } +}) +`); + +testSyntax(` +(function () { + try { + } catch ([yield]) { + } +}) +`); + +testSyntaxError(` +(function () { + 'use strict'; + try { + } catch (yield) { + } +}) +`, `SyntaxError: Cannot use 'yield' as a catch parameter name in strict mode.`); + +testSyntaxError(` +(function () { + 'use strict'; + try { + } catch ([yield]) { + } +}) +`, `SyntaxError: Cannot use 'yield' as a catch parameter name in strict mode.`); + +testSyntaxError(` +(function () { + try { + } catch (yield = 20) { + } +}) +`, `SyntaxError: Unexpected token '='. Expected ')' to end a 'catch' target.`); + +testSyntax(` +(function () { + try { + } catch ([...yield]) { + } +}) +`); + +testSyntax(` +(function () { + try { + } catch ([yield = 30]) { + } +}) +`); + +testSyntax(` +(function () { + try { + } catch ({ yield = 30 }) { + } +}) +`); + +testSyntaxError(` +(function () { + try { + } catch (...Hello) { + } +}) +`, `SyntaxError: Unexpected token '...'. Expected a parameter pattern or a ')' in parameter list.`); + +testSyntaxError(` +(function *() { + try { + } catch (yield) { + } +}) +`, `SyntaxError: Cannot use 'yield' as a catch parameter name in a generator function.`); + +testSyntax(` +(function *() { + try { + } catch ({ value = yield 42 }) { + } +}) +`); + +testSyntax(` +(function *() { + try { + } catch ({ value = yield }) { + } +}) +`); diff --git a/implementation-contributed/javascriptcore/stress/catch-set-argument-speculation-failure.js b/implementation-contributed/javascriptcore/stress/catch-set-argument-speculation-failure.js new file mode 100644 index 0000000000..12f939d9bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-set-argument-speculation-failure.js @@ -0,0 +1,53 @@ +"use strict"; + +let flag = true; +function o() { + if (flag) + return {x:20}; + return {y:20, x:20}; +} +noInline(o); + +let counter = 0; +function e() { + if ((++counter) % 50 === 0) + throw new Error; +} +noInline(e); + +let counter2 = 0; +function e2() { + if ((++counter2) % 2 === 0) + throw new Error; +} +noInline(e2); + +function escape(){ } +noInline(escape); + +function baz(o) { + try { + e(); + escape(o.x); + } catch(e) { + escape(o.x); + e2(); + } finally { + o.x; + } +} +noInline(baz); + +{ + let o = {x:20}; + function run() { + for (let i = 0; i < 1000; ++i) { + try { + baz(o); + } catch { } + } + } + run(); + o = {y:40, x:20}; + run(); +} diff --git a/implementation-contributed/javascriptcore/stress/catch-variables-under-tdz.js b/implementation-contributed/javascriptcore/stress/catch-variables-under-tdz.js new file mode 100644 index 0000000000..0f9838508f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/catch-variables-under-tdz.js @@ -0,0 +1,21 @@ +function test(s) { + for (let i = 0; i < 100; i++) { + let threw = false; + try { + let evalString = `try { throw new Error } catch(${s}) { }`; + eval(evalString); + } catch(e) { + threw = e instanceof ReferenceError; + } + if (!threw) + throw new Error("Bad test!"); + } +} + +test("{a = a}"); +test("{a = eval('a')}"); +test("{a = eval('a + a')}"); +test("{a = eval('b'), b}"); +test("{a = eval('b + b'), b}"); +test("{a = eval('b + b'), b = 20}"); +test("{a = b+b, b = 20}"); diff --git a/implementation-contributed/javascriptcore/stress/check-dom-with-signature.js b/implementation-contributed/javascriptcore/stress/check-dom-with-signature.js new file mode 100644 index 0000000000..26dac7a3ba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/check-dom-with-signature.js @@ -0,0 +1,22 @@ +var createDOMJITFunctionObject = $vm.createDOMJITFunctionObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = []; +for (var i = 0; i < 100; ++i) + array.push(createDOMJITFunctionObject()); + +function calling(dom) +{ + return dom.func(); +} +noInline(calling); + +for (var i = 0; i < 1e3; ++i) { + array.forEach((obj) => { + shouldBe(calling(obj), 42); + }); +} diff --git a/implementation-contributed/javascriptcore/stress/check-string-ident.js b/implementation-contributed/javascriptcore/stress/check-string-ident.js new file mode 100644 index 0000000000..fc17421798 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/check-string-ident.js @@ -0,0 +1,16 @@ +// Skipped due to flakiness, used defaultNoEagerRun before. +//@ skip + +const o = { baz: 20 }; +function foo(p) { + o[p] = 20; +} +noInline(foo); +noOSRExitFuzzing(foo); + +for (let i = 0; i < 1000000; i++) { + foo("baz"); +} + +if (numberOfDFGCompiles(foo) > 1) + throw new Error("We should not have to compile this function more than once."); diff --git a/implementation-contributed/javascriptcore/stress/check-structure-ir-ensures-empty-does-not-flow-through.js b/implementation-contributed/javascriptcore/stress/check-structure-ir-ensures-empty-does-not-flow-through.js new file mode 100644 index 0000000000..5f906d0f99 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/check-structure-ir-ensures-empty-does-not-flow-through.js @@ -0,0 +1,26 @@ +function runNearStackLimit(f) { + function t() { + try { + return t(); + } catch (e) { + return f(); + } + } + return t() +} + +function test() { + function f(arg) { + let loc = arg; + try { + loc.p = 0; + } catch (e) {} + arg.p = 1; + } + let obj = {}; + runNearStackLimit(() => { + return f(obj); + }); +} +for (let i = 0; i < 50; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/check-sub-class.js b/implementation-contributed/javascriptcore/stress/check-sub-class.js new file mode 100644 index 0000000000..4b4b1d466c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/check-sub-class.js @@ -0,0 +1,54 @@ +var createDOMJITNodeObject = $vm.createDOMJITNodeObject; +var createDOMJITCheckSubClassObject = $vm.createDOMJITCheckSubClassObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var array = []; +for (var i = 0; i < 100; ++i) + array.push(createDOMJITCheckSubClassObject()); + +// DOMJITNode is an instance of a super class (DOMJITNode) of DOMJITCheckSubClassObject. +var node = createDOMJITNodeObject(); +node.func = createDOMJITCheckSubClassObject().func; + +function calling(dom) +{ + return dom.func(); +} +noInline(calling); + +array.forEach((obj) => { + shouldBe(calling(obj), 42); +}); + +shouldThrow(() => { + calling(node); +}, `TypeError: Type error`); + +for (var i = 0; i < 1e3; ++i) { + array.forEach((obj) => { + shouldBe(calling(obj), 42); + }); +} + +shouldThrow(() => { + calling(node); +}, `TypeError: Type error`); diff --git a/implementation-contributed/javascriptcore/stress/chill-mod-chill-mod.js b/implementation-contributed/javascriptcore/stress/chill-mod-chill-mod.js new file mode 100644 index 0000000000..e5e770f83c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/chill-mod-chill-mod.js @@ -0,0 +1,10 @@ +function foo(a, b) +{ + return (~~(a % b)) + (~~(b % a)); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(1, 2); + diff --git a/implementation-contributed/javascriptcore/stress/class-derived-from-null.js b/implementation-contributed/javascriptcore/stress/class-derived-from-null.js new file mode 100644 index 0000000000..a1053c03e0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-derived-from-null.js @@ -0,0 +1,130 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} + +function assertThrow(cb, errorMessage) { + let error; + try { + cb(); + } catch (e) { + error = e; + } + if (!error || !(error instanceof Error)) + throw new Error("Error is expected!"); + + if (error.toString() !== errorMessage) + throw new Error("Error: `" + errorMessage + "` is expected, but was `" + error.toString() + "`"); +} + +function test(f, count = 1000) { + for (let i = 0; i < count; i++) + f(); +} + +function test1() { + class C extends null { } + assertThrow(() => (new C), 'TypeError: function is not a constructor (evaluating \'super(...args)\')'); + assert(Reflect.getPrototypeOf(C.prototype) === null); + + let o = {} + class D extends null { + constructor() { + return o; + } + } + assert(new D === o); + assert(Reflect.getPrototypeOf(D.prototype) === null); + + class E extends null { + constructor() { + return this; + } + } + assertThrow(()=>(new E), 'ReferenceError: Cannot access uninitialized variable.'); + assert(Reflect.getPrototypeOf(E.prototype) === null); +} +test(test1); + +function jsNull() { return null; } +function test2() { + class C extends jsNull() { } + assertThrow(() => (new C), 'TypeError: function is not a constructor (evaluating \'super(...args)\')'); + assert(Reflect.getPrototypeOf(C.prototype) === null); + + let o = {} + class D extends jsNull() { + constructor() { + return o; + } + } + assert(new D === o); + assert(Reflect.getPrototypeOf(D.prototype) === null); + + class E extends jsNull() { + constructor() { + return this; + } + } + assert(() => (new E), 'ReferenceError: Cannot access uninitialized variable.'); + assert(Reflect.getPrototypeOf(E.prototype) === null); +} +test(test2); + +function test3() { + class C extends jsNull() { constructor() { super(); } } + let threw = false; + try { + new C; + } catch(e) { + threw = e.toString() === "TypeError: function is not a constructor (evaluating 'super()')"; + } + assert(threw); + + class D extends jsNull() { constructor() { let arr = ()=>super(); arr(); } } + threw = false; + try { + new D; + } catch(e) { + threw = e.toString() === "TypeError: function is not a constructor (evaluating 'super()')"; + } + assert(threw); + + class E extends jsNull() { constructor() { let arr = ()=>super(); return this; } } + assert(()=>(new E), 'ReferenceError: Cannot access uninitialized variable.'); + assert(Reflect.getPrototypeOf(E.prototype) === null); +} +test(test3); + +function test4() { + class E extends jsNull() { constructor() { return 25; } } + assert(() => (new E), 'ReferenceError: Cannot access uninitialized variable.'); + assert(Reflect.getPrototypeOf(E.prototype) === null); +} +test(test4); + +function test5() { + class E extends jsNull() { constructor() { let arr = ()=>this; return arr(); } } + assert(()=>(new E), 'ReferenceError: Cannot access uninitialized variable.'); + assert(Reflect.getPrototypeOf(E.prototype) === null); +} +test(test5); + +function test6() { + class Base { } + class D extends Base { } + class E extends jsNull() { constructor() { let ret = this; return ret; } } + class F extends jsNull() { constructor() { return 25; } } + class G extends jsNull() { constructor() { super(); } } + assertThrow(() => Reflect.construct(E, [], D), 'ReferenceError: Cannot access uninitialized variable.'); + assertThrow(() => Reflect.construct(F, [], D), 'TypeError: Cannot return a non-object type in the constructor of a derived class.'); + + let threw = false; + try { + Reflect.construct(G, [], D); + } catch(e) { + threw = e.toString() === "TypeError: function is not a constructor (evaluating 'super()')"; + } + assert(threw); +} +test(test6); diff --git a/implementation-contributed/javascriptcore/stress/class-expression-generates-environment.js b/implementation-contributed/javascriptcore/stress/class-expression-generates-environment.js new file mode 100644 index 0000000000..d59170631f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-expression-generates-environment.js @@ -0,0 +1,64 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + class A { + method() { + shouldBe(typeof A, 'function'); + } + + static staticMethod() { + shouldBe(typeof A, 'function'); + } + } + + let originalA = A; + + originalA.staticMethod(); + (new originalA()).method(); + A = undefined; + originalA.staticMethod(); + (new originalA()).method(); +}()); + + +(function () { + class A { + method() { + shouldThrow(() => { + A = 42; + }, `TypeError: Attempted to assign to readonly property.`); + } + + static staticMethod() { + shouldThrow(() => { + A = 42; + }, `TypeError: Attempted to assign to readonly property.`); + } + } + + let originalA = A; + + originalA.staticMethod(); + (new originalA()).method(); + A = undefined; + originalA.staticMethod(); + (new originalA()).method(); +}()); diff --git a/implementation-contributed/javascriptcore/stress/class-expression-should-be-tdz-in-heritage.js b/implementation-contributed/javascriptcore/stress/class-expression-should-be-tdz-in-heritage.js new file mode 100644 index 0000000000..0f140ae17c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-expression-should-be-tdz-in-heritage.js @@ -0,0 +1,20 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + + +shouldThrow(function () { + class A extends A { + } +}, `ReferenceError: Cannot access uninitialized variable.`); diff --git a/implementation-contributed/javascriptcore/stress/class-method-does-not-declare-variable-to-upper-scope.js b/implementation-contributed/javascriptcore/stress/class-method-does-not-declare-variable-to-upper-scope.js new file mode 100644 index 0000000000..5fc6a1bb9d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-method-does-not-declare-variable-to-upper-scope.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +// This is the minimized test case for the crash. +// https://bugs.webkit.org/show_bug.cgi?id=150115 +(function () { + eval("class A { static 1() { return 405 } };"); +}()); + +(function () { + class A { + method() { + shouldBe(typeof staticMethod, 'undefined'); + } + + static staticMethod() { + shouldBe(typeof method, 'undefined'); + } + } + + shouldBe(typeof method, 'undefined'); + shouldBe(typeof staticMethod, 'undefined'); + + let a = new A(); + a.method(); + A.staticMethod(); +}()); diff --git a/implementation-contributed/javascriptcore/stress/class-static-get-weird.js b/implementation-contributed/javascriptcore/stress/class-static-get-weird.js new file mode 100644 index 0000000000..02f967e688 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-static-get-weird.js @@ -0,0 +1,19 @@ +{ + class c { static get name() { return 42; } } + if (c.name !== 42) throw "Fail"; +} + +{ + class c { static get arguments() { return 42; } } + if (c.arguments !== 42) throw "Fail"; +} + +{ + class c { static get caller() { return 42; } } + if (c.caller !== 42) throw "Fail"; +} + +{ + class c { static get length() { return 42; } } + if (c.length !== 42) throw "Fail"; +} diff --git a/implementation-contributed/javascriptcore/stress/class-subclassing-array.js b/implementation-contributed/javascriptcore/stress/class-subclassing-array.js new file mode 100644 index 0000000000..2868796bd4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-subclassing-array.js @@ -0,0 +1,35 @@ +// This file tests subclassing arrays. + +class A extends Array { } +class B extends A { get 1() { return 1; } } +class C extends B { } + +function test() { + + a = new A(); + b = new B(); + c = new C(); + + if (!Array.isArray(a) || !Array.isArray(b) || !Array.isArray(c)) + throw "subclasses are not arrays"; + + if (!(a instanceof Array && a instanceof A)) + throw "b has incorrect prototype chain"; + + if (!(b instanceof Array && b instanceof A && b instanceof B)) + throw "b has incorrect prototype chain"; + + if (!(c instanceof Array && c instanceof A && c instanceof B && c instanceof C)) + throw "c has incorrect prototype chain"; + + a[1] = 2; + b[1] = 2; + c[1] = 2; + + if (a[1] !== 2 || b[1] !== 1 || c[1] !== 1) + throw "bad indexing type"; +} +noInline(test); + +for(i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/class-subclassing-function.js b/implementation-contributed/javascriptcore/stress/class-subclassing-function.js new file mode 100644 index 0000000000..b26f1783b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-subclassing-function.js @@ -0,0 +1,37 @@ +F = class extends Function { } +N = class extends null { } + +function test(i) { + + let f = new F("x", "return x + " + i + ";"); + let C = new F("x", "this.x = x; this.i = " + i); + + if (!(f instanceof Function && f instanceof F)) + throw "bad chain"; + + if (f(1) !== i+1) + throw "function was not called correctly"; + + let o = new C("hello"); + if (o.x !== "hello" || o.i !== i) + throw "function as constructor was not correct"; + + let g = new F("x", "y", "return this.foo + x + y"); + if (g.call({foo:1}, 1, 1) !== 3) + throw "function was not .callable"; + + let g2 = g.bind({foo:1}, 1); + if (!(g2 instanceof F)) + throw "the binding of a subclass should inherit from the bound function's class"; + + if (g2(1) !== 3) + throw "binding didn't work"; + + let bound = C.bind(null) + if (bound.__proto__ !== C.__proto__) + throw "binding with null as prototype didn't work"; +} +noInline(test); + +for (i = 0; i < 10000; i++) + test(i); diff --git a/implementation-contributed/javascriptcore/stress/class-subclassing-misc.js b/implementation-contributed/javascriptcore/stress/class-subclassing-misc.js new file mode 100644 index 0000000000..c37482032d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-subclassing-misc.js @@ -0,0 +1,59 @@ +// This file tests subclassing various misc constructors. + +class A extends ArrayBuffer { } +class B extends Boolean { } +class D extends Date { } +class E extends Error { } +class N extends Number { } +class M extends Map { } +class R extends RegExp { } +class S extends Set { } +class WM extends WeakMap { } +class WS extends WeakSet { } + +function test() { + + a = new A(10); + if (!(a instanceof ArrayBuffer && a instanceof A)) + throw "a has incorrect prototype chain"; + + b = new B(true); + if (!(b instanceof Boolean && b instanceof B)) + throw "b has incorrect prototype chain"; + + d = new D(); + if (!(d instanceof Date && d instanceof D)) + throw "d has incorrect prototype chain"; + + e = new E(); + if (!(e instanceof Error && e instanceof E)) + throw "e has incorrect prototype chain"; + + n = new N(10); + if (!(n instanceof Number && n instanceof N)) + throw "n has incorrect prototype chain"; + + m = new M(); + if (!(m instanceof Map && m instanceof M)) + throw "m has incorrect prototype chain"; + + r = new R("foo"); + if (!(r instanceof RegExp && r instanceof R)) + throw "r has incorrect prototype chain"; + + s = new S(); + if (!(s instanceof Set && s instanceof S)) + throw "s has incorrect prototype chain"; + + wm = new WM(); + if (!(wm instanceof WeakMap && wm instanceof WM)) + throw "wm has incorrect prototype chain"; + + ws = new WS(); + if (!(ws instanceof WeakSet && ws instanceof WS)) + throw "ws has incorrect prototype chain"; +} +noInline(test); + +for(i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/class-subclassing-string.js b/implementation-contributed/javascriptcore/stress/class-subclassing-string.js new file mode 100644 index 0000000000..bd9b37729b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-subclassing-string.js @@ -0,0 +1,38 @@ +A = class extends String { } +B = class extends A { get 4() { return 1; } } +C = class extends B { } + +A.prototype[3] = 1; + +function test() { + let a = new A("foo"); + let b = new B("baz"); + let c = new C("bar"); + + // String objects have a non-writable length property + a.length = 1; + b.length = 1; + c.length = 1; + + if (a.length !== 3 || b.length !== 3 || c.length !== 3) + throw "not string objects"; + + if (!(a instanceof A && a instanceof String)) + throw "a has incorrect prototype chain"; + + if (!(b instanceof B && b instanceof A && b instanceof String)) + throw "b has incorrect prototype chain"; + + if (!(c instanceof C && c instanceof B && c instanceof A && c instanceof String)) + throw "c has incorrect prototype chain"; + + if (a[4] !== undefined || b[4] !== 1 || c[4] !== 1) + throw "bad indexing type with accessors on chain"; + + if (a[3] !== 1 || b[3] !== 1 || c[3] !== 1) + throw "bad indexing type with values on chain"; +} +noInline(test); + +for (i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/class-subclassing-typedarray.js b/implementation-contributed/javascriptcore/stress/class-subclassing-typedarray.js new file mode 100644 index 0000000000..328669870c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-subclassing-typedarray.js @@ -0,0 +1,19 @@ +"use strict"; + +let typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +let subclasses = typedArrays.map(constructor => class extends constructor { }); + +function checkSubclass(constructor) { + let inst = new constructor(10); + inst[11] = 10; + if (!(inst instanceof constructor && inst instanceof constructor.__proto__ && inst[11] === undefined)) + throw "subclass of " + constructor.__proto__ + " was incorrect"; +} + +function test() { + subclasses.forEach(checkSubclass); +} + +for (var i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-block-scoping.js b/implementation-contributed/javascriptcore/stress/class-syntax-block-scoping.js new file mode 100644 index 0000000000..f3526f9bab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-block-scoping.js @@ -0,0 +1,49 @@ +function assert(b) { + if (!b) + throw new Error("Assertion failure"); +} +noInline(assert); + +function truth() { return true; } +noInline(truth); + +const NUM_LOOPS = 1000; + +;(function() { + function foo() { + let first; + let second; + class A {}; + first = A; + if (truth()) { + class A {}; + second = A; + } + assert(first !== second); + } + function baz() { + class A { static hello() { return 10; } }; + assert(A.hello() === 10); + if (truth()) { + class A { static hello() { return 20; } }; + assert(A.hello() === 20); + } + assert(A.hello() === 10); + } + function bar() { + class A { static hello() { return 10; } }; + let capA = function() { return A; } + assert(A.hello() === 10); + if (truth()) { + class A { static hello() { return 20; } }; + let capA = function() { return A; } + assert(A.hello() === 20); + } + assert(A.hello() === 10); + } + for (let i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + baz(); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-definition-semantics.js b/implementation-contributed/javascriptcore/stress/class-syntax-definition-semantics.js new file mode 100644 index 0000000000..c925283943 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-definition-semantics.js @@ -0,0 +1,36 @@ + +function shouldBeSyntaxError(s) { + let isSyntaxError = false; + try { + eval(s); + } catch(e) { + if (e instanceof SyntaxError) + isSyntaxError = true; + } + if (!isSyntaxError) + throw new Error("expected a syntax error"); +} +noInline(shouldBeSyntaxError); + +function shouldNotBeSyntaxError(s) { + let isSyntaxError = false; + try { + eval(s); + } catch(e) { + if (e instanceof SyntaxError) + isSyntaxError = true; + } + if (isSyntaxError) + throw new Error("did not expect a syntax error"); +} + +function truth() { return true; } +noInline(truth); + +shouldBeSyntaxError("class A { }; class A { };"); +shouldBeSyntaxError("function foo() { class A { }; class A { }; }"); +shouldBeSyntaxError("function foo() { if (truth()) { class A { }; class A { }; } }"); +shouldBeSyntaxError("switch(10) { case 10: class A { }; break; case 20: class A { } }"); +shouldBeSyntaxError("if (truth()) class A { }"); +shouldNotBeSyntaxError("switch(10) { case 10: { class A { }; break; } case 20: class A { } }"); +shouldNotBeSyntaxError("class A { } if (truth()) { class A { } }"); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-derived-default-constructor.js b/implementation-contributed/javascriptcore/stress/class-syntax-derived-default-constructor.js new file mode 100644 index 0000000000..f0c477e5f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-derived-default-constructor.js @@ -0,0 +1,26 @@ + +var A = class A { }; +var B = class B extends A { }; +var C = class C extends B { constructor() { super(); } }; + +noInline(C); + +(function() { + var x; + for (var i = 0; i < 1e5; ++i) + x = new C(false); +})(); + +var D = class D extends A { constructor() { + super(...arguments); + return function () { return arguments; } +} }; +var E = class E extends D { constructor() { super(); } }; + +noInline(E); + +(function() { + var x; + for (var i = 0; i < 1e5; ++i) + x = new C(false); +})(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-double-constructor.js b/implementation-contributed/javascriptcore/stress/class-syntax-double-constructor.js new file mode 100644 index 0000000000..71fac0403d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-double-constructor.js @@ -0,0 +1,183 @@ +const oneCallOfParentConstructor = 1; +const twoCallOfParentConstructor = 2; + +function tryCatch(klass) { + let result = false; + try { + new klass(); + } catch(e) { + result = e instanceof ReferenceError; + } + return result; +} + +var testCase = function (actual, expected, message) { + if (actual !== expected) { + throw message + ". Expected '" + expected + "', but was '" + actual + "'"; + } +}; + +let count = 0; +class A { + constructor() { + this.id = 0; + count++; + } +} + +class B extends A { + constructor() { + super(); + super(); + super(); + } +} + +testCase(tryCatch(B), true, 'Error: ReferenceError was not raised in case of two or more call super() #1'); +testCase(count, twoCallOfParentConstructor, 'Excpected two call of parent constructor #1'); + +count = 0; +class C extends A { + constructor() { + (()=>super())(); + (()=>super())(); + (()=>super())(); + } +} + +testCase(tryCatch(C), true, 'Error: ReferenceError was not raised in case of two or more call super() in arrrow function #2'); +testCase(count, twoCallOfParentConstructor, 'Excpected two call of parent constructor in arrow function #2'); + +count = 0; +class D extends A { + constructor() { + eval('super()'); + eval('super()'); + eval('super()'); + } +} + +testCase(tryCatch(D), true, 'Error: ReferenceError was not raised in case of two or more call super() in eval #3'); +testCase(count, twoCallOfParentConstructor, 'Excpected two call of parent constructor in eval #3'); + +count = 0; +class E extends A { + constructor() { + (()=>eval('super()'))(); + (()=>eval('super()'))(); + (()=>eval('super()'))(); + } +} + +testCase(tryCatch(E), true, 'Error: ReferenceError was not raised in case of two or more call super() in eval within arrow function #4'); +testCase(count, twoCallOfParentConstructor, 'Excpected two call of parent constructor in eval within arrow function #4'); + +count = 0; +class F extends A { + constructor() { + super(); + var arrow = () => 'testValue'; + arrow(); + } +} + +testCase(tryCatch(F), false, 'Error: ReferenceError was raised but should not be #5'); +testCase(count, oneCallOfParentConstructor, 'Excpected two call of parent constructor #5'); + +count = 0; +class G extends A { + constructor() { + super(); + eval('(()=>"abc")()'); + } +} + +testCase(tryCatch(G), false, 'Error: ReferenceError was raised but should not be #6'); +testCase(count, oneCallOfParentConstructor, 'Excpected two call of parent constructor #6'); + +count = 0; +class H extends A { + constructor() { + eval('(()=>eval("super()"))()'); + try { + eval('(()=>eval("super()"))()'); + } catch(e) { + let result = e instanceof ReferenceError; + if (!result) throw new Error('Wrong type error'); + } + try { + eval('(()=>eval("super()"))()'); + } catch(e) { + let result = e instanceof ReferenceError; + if (!result) throw new Error('Wrong type error'); + } + try { + eval('(()=>eval("super()"))()'); + } catch(e) { + let result = e instanceof ReferenceError; + if (!result) throw new Error('Wrong type error'); + } + } +} + +testCase(tryCatch(H), false, 'Error: ReferenceError was raised but should not be #7'); +testCase(count, 4, 'Excpected two call of parent constructor #7'); + +noInline(B); +for (var i = 0; i < 10000; i++) { + count = 0; + let result = false; + try { + new B(); + } catch(e) { + result = e instanceof ReferenceError; + } + + testCase(result, true, ''); + testCase(count, 2, ''); +} + +count = 0; +class I extends A { + constructor() { + super(); + (()=>super())(); + } +} + +testCase(tryCatch(I), true, 'Error: ReferenceError was not raised in case of two or more call super() #8'); +testCase(count, 2, 'Excpected two call of parent constructor #8'); + +count = 0; +class J extends A { + constructor() { + super(); + eval('super()'); + } +} + +testCase(tryCatch(J), true, 'Error: ReferenceError was not raised in case of two or more call super() #9'); +testCase(count, 2, 'Excpected two call of parent constructor #9'); + +let maxCount = 150000; +class K extends A { + constructor(i) { + if (i % 2 === 0 ) + super(); + if (i % 2 !== 0 || maxCount === i) + super(); + } +} + +noInline(K); +let result = false; +try { + count = 0; + for (var i = 1; i <= maxCount; i++) { + new K(i); + } +} catch (e) { + result = e instanceof ReferenceError; +} +testCase(result, true, 'Error: ReferenceError was not raised in case of two or more call super() #10'); +testCase(count, maxCount + 1, 'Excpected a lot of calls of parent constructor #10'); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-loop-tdz.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-loop-tdz.js new file mode 100644 index 0000000000..87a65cb73e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-loop-tdz.js @@ -0,0 +1,20 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + for (var j = 0; j < 10; j++) { + if (!j) + super(); + else + this; + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) + new B(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-catch.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-catch.js new file mode 100644 index 0000000000..05d144a4b5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-catch.js @@ -0,0 +1,19 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + try { + this; + } catch (e) { + super(); + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) + new B(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-conditional.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-conditional.js new file mode 100644 index 0000000000..71276b17ba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-conditional.js @@ -0,0 +1,18 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor(accessThisBeforeSuper) { + if (accessThisBeforeSuper) + this; + else + super(); + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) + new B(false); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-eval.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-eval.js new file mode 100644 index 0000000000..93bcd31b4c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-eval.js @@ -0,0 +1,18 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor(shouldAccessThis) { + var evalFunction = eval; + evalFunction("this"); + eval("shouldAccessThis ? this : null"); + super(); + } +} + +noInline(B); + +for (var i = 0; i < 1e4; ++i) + new B(false); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop-no-inline-super.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop-no-inline-super.js new file mode 100644 index 0000000000..533a4adf4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop-no-inline-super.js @@ -0,0 +1,25 @@ + +class A { + constructor() { } +} + +noInline(A); + +class B extends A { + constructor() { + var values = []; + for (var j = 0; j < 100; j++) { + if (j == 1) + super(); + else if (j > 2) + this; + else + values.push(i); + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) + new B(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop.js new file mode 100644 index 0000000000..574bc1076e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz-in-loop.js @@ -0,0 +1,23 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + var values = []; + for (var j = 0; j < 100; j++) { + if (j == 1) + super(); + else if (j > 2) + this; + else + values.push(i); + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) + new B(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz.js b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz.js new file mode 100644 index 0000000000..b0c7c310e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-no-tdz.js @@ -0,0 +1,16 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + super(); + this; + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) + new B(); diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-super-in-eval.js b/implementation-contributed/javascriptcore/stress/class-syntax-super-in-eval.js new file mode 100644 index 0000000000..3c3552ef00 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-super-in-eval.js @@ -0,0 +1,93 @@ +var testValue = 'test-value'; + +class A { + constructor() { + this.value = testValue; + } +} + +class B extends A { + constructor(tdz) { + if (tdz) + this.id = 'id'; + eval('super()'); + } +} + +var b = new B(false); +if (b.value !== testValue) + throw new Error("wrong value"); + +noInline(B); + +let checkTDZ = function (klass, i) { + var exception; + try { + new klass(true); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} + +for (var i = 0; i < 1e4; ++i) { + checkTDZ(B); +} + +class C extends A { + constructor(tdz) { + if (tdz) + this.id = 'id'; + eval("eval('super()')"); + } +} + +var c = new C(false); +if (c.value !== testValue) + throw new Error("wrong value"); + +for (var i = 0; i < 1e4; ++i) { + checkTDZ(C); +} + +class D extends A { + constructor(tdz) { + if (tdz) + this.id = 'id'; + eval("eval(\"eval('super()')\")"); + } +} + +var d = new D(false); +if (d.value !== testValue) + throw new Error("wrong value"); + +for (var i = 0; i < 1e4; ++i) { + checkTDZ(D); +} + +var getEval = function (count) { + var newCount = count - 1; + return newCount === 0 + ? 'super()' + : 'eval(getEval(' + newCount + '))'; +}; + +class E extends A { + constructor(tdz) { + if (tdz) + this.id = 'id'; + eval(getEval(10)); + } +} + +var e = new E(false); +if (e.value !== testValue) + throw new Error("wrong value"); + +for (var i = 0; i < 1000; ++i) { + checkTDZ(E); +} diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-catch.js b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-catch.js new file mode 100644 index 0000000000..3704bcfcd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-catch.js @@ -0,0 +1,30 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + try { + this; + } catch (e) { + this; + super(); + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) { + var exception = null; + try { + new B(false); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-conditional.js b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-conditional.js new file mode 100644 index 0000000000..27d0bcba84 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-conditional.js @@ -0,0 +1,28 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor(accessThisBeforeSuper) { + if (accessThisBeforeSuper) + this; + else { + this; + super(); + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) { + var exception = null; + try { + new B(false); + } catch (e) { + exception = e; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-eval.js b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-eval.js new file mode 100644 index 0000000000..e0c965be7e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-eval.js @@ -0,0 +1,26 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + eval("this"); + super(); + } +} + +noInline(B); + +for (var i = 0; i < 1e4; ++i) { + var exception; + try { + new B(); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-loop.js b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-loop.js new file mode 100644 index 0000000000..6ab5e6da7a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-in-loop.js @@ -0,0 +1,30 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + for (var j = 0; j < 100; j++) { + if (j) + super(); + else + this; + } + } +} + +noInline(B); + +for (var i = 0; i < 10000; ++i) { + var exception = null; + try { + new B(); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-tdz-osr-entry-in-loop.js b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-osr-entry-in-loop.js new file mode 100644 index 0000000000..12da75973f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-tdz-osr-entry-in-loop.js @@ -0,0 +1,58 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor(iterationCount) { + let values = []; + + for (let i = 2; i < iterationCount; ++i) { + // Let's keep the loop busy. + let divided = false; + for (let j = i - 1; j > 1; --j) { + if (!(i % j)) { + divided = true; + break; + } + } + if (!divided) + values.push(i); + + if (!(i % (iterationCount - 2))) + print(this); + else if (values.length == iterationCount) + super(values); + } + } +} + +noInline(B); + +// Small warm up with small iteration count. Try to get to DFG. +for (var i = 0; i < 30; ++i) { + var exception = null; + try { + new B(10); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} + +// Now try to go to FTL in the constructor. +for (var i = 0; i < 2; ++i) { + var exception = null; + try { + new B(7e3); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} diff --git a/implementation-contributed/javascriptcore/stress/class-syntax-tdz.js b/implementation-contributed/javascriptcore/stress/class-syntax-tdz.js new file mode 100644 index 0000000000..c14c66739e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class-syntax-tdz.js @@ -0,0 +1,80 @@ + +class A { + constructor() { } +} + +class B extends A { + constructor() { + this; + super(); + } +} + +noInline(B); + +function assert(b) { + if (!b) + throw new Error("Assertion failure"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + +function truth() { return true; } +noInline(truth); + +for (var i = 0; i < 100; ++i) { + var exception; + try { + new B(); + } catch (e) { + exception = e; + if (!(e instanceof ReferenceError)) + throw "Exception thrown in iteration " + i + " was not a reference error"; + } + if (!exception) + throw "Exception not thrown for an unitialized this at iteration " + i; +} + + + +;(function() { + function foo() { + return A; + class A { } + } + function bar() { + shouldThrowTDZ(function() { return A; }); + class A { } + } + function baz() { + class C { static m() { return "m"; } } + if (truth()) { + class B extends C { } + assert(B.m() === "m"); + } + class B extends A { } + class A { } + } + function taz() { + function f(x) { return x; } + class C extends f(C) { } + } + + for (var i = 0; i < 100; i++) { + shouldThrowTDZ(foo); + bar(); + shouldThrowTDZ(baz); + shouldThrowTDZ(taz); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/class_elements.js b/implementation-contributed/javascriptcore/stress/class_elements.js new file mode 100644 index 0000000000..0c9ace37bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/class_elements.js @@ -0,0 +1,24 @@ +function test() { + +let log = []; +function effect(desc) { log.push(desc); return desc; } + +class C { + [effect("instance#1")]() {} + static [effect("static#2")]() {} + get [effect("instanceGetter#3")]() {} + static get [effect("staticGetter#4")]() {} + set [effect("instanceSetter#5")](v) {} + static [effect("staticSetter#6")](v) {} +} + +return log[0] === "instance#1" && + log[1] === "static#2" && + log[2] === "instanceGetter#3" && + log[3] === "staticGetter#4" && + log[4] === "instanceSetter#5" && + log[5] === "staticSetter#6"; +} + +if (!test()) + throw new Error("Test failed"); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/clobberize-needs-to-model-spread-effects.js b/implementation-contributed/javascriptcore/stress/clobberize-needs-to-model-spread-effects.js new file mode 100644 index 0000000000..76218dda2f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/clobberize-needs-to-model-spread-effects.js @@ -0,0 +1,23 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function foo(a, b) { + let r1 = b[0]; + let x = [...a]; + let r2 = b[0]; + assert(r1 + r2 === 43); +} +noInline(foo); + +let b = [42]; +let a = []; +a[Symbol.iterator] = function* () { + b[0] = 1; +}; +for (let i = 0; i < 10000; ++i) { + b[0] = 42; + foo(a, b); +} diff --git a/implementation-contributed/javascriptcore/stress/cloned-arguments-elimination.js b/implementation-contributed/javascriptcore/stress/cloned-arguments-elimination.js new file mode 100644 index 0000000000..0e4e381cc0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cloned-arguments-elimination.js @@ -0,0 +1,33 @@ +function testModifyLength() { + "use strict"; + + arguments.length = 10; + return arguments.length; +} +noInline(testModifyLength); + +function testAddOtherProperty() { + "use strict"; + + arguments.foo = 1; + return arguments.length; +} +noInline(testAddOtherProperty); + +function testAddOtherPropertyInBranch() { + "use strict"; + + if (arguments[0] % 2) + arguments.foo = 1; + return arguments.length; +} +noInline(testAddOtherPropertyInBranch); + +for (i = 0; i < 100000; i++) { + if (testModifyLength(1) !== 10) + throw "bad"; + if (testAddOtherProperty(1) !== 1) + throw "bad"; + if (testAddOtherPropertyInBranch(i) !== 1) + throw "bad"; +} diff --git a/implementation-contributed/javascriptcore/stress/cloned-arguments-get-by-val-double-array.js b/implementation-contributed/javascriptcore/stress/cloned-arguments-get-by-val-double-array.js new file mode 100644 index 0000000000..a026aff358 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cloned-arguments-get-by-val-double-array.js @@ -0,0 +1,13 @@ +function foo() { + "use strict"; + return arguments[0] + 1.5; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(4.2); + if (result != 5.7) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/cloned-arguments-modification.js b/implementation-contributed/javascriptcore/stress/cloned-arguments-modification.js new file mode 100644 index 0000000000..fdc261a267 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cloned-arguments-modification.js @@ -0,0 +1,37 @@ +function foo() { + "use strict"; + + if (arguments[Symbol.iterator] !== Array.prototype.values) + throw "Symbol.iterator is wrong"; + + arguments[Symbol.iterator] = 1; + + if (arguments[Symbol.iterator] !== 1) + throw "Symbol.iterator did not update"; + + let failed = true; + try { + arguments.callee; + } catch (e) { + failed = false; + } + if (failed) + throw "one property stopped another from showing up"; + + delete arguments[Symbol.iterator]; + + if (Symbol.iterator in arguments) + throw "Symbol.iterator did not get deleted"; + + failed = true; + try { + arguments.callee; + } catch (e) { + failed = false; + } + if (failed) + throw "one property stopped another from showing up"; +} + +for (i = 0; i < 10000; i++) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/cloned-arguments-should-visit-callee-during-gc.js b/implementation-contributed/javascriptcore/stress/cloned-arguments-should-visit-callee-during-gc.js new file mode 100644 index 0000000000..3ba0f16bd5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cloned-arguments-should-visit-callee-during-gc.js @@ -0,0 +1,34 @@ +// Test that the ClonedArguments created by the Function.arguments will properly +// keep its callee alive. This test should not crash and should not print any error +// messages. + +var cachedArguments = []; +var numberOfEntries = 1000; + +function makeTransientFunction(i) { + function transientFunc() { + cachedArguments[i] = transientFunc.arguments; + } + return transientFunc; +} + +for (i = 0; i < numberOfEntries; i++) { + var transientFunc = makeTransientFunction(i); + transientFunc(); + // At this point, the only reference to the transient function is from + // cachedArguments[i].callee. +} + +gc(); + +// Allocate a bunch of memory to stomp over the transient functions that may have been +// erroneously collected. webkit.org/b/145709 +for (i = 0; i < numberOfEntries; i++) { + new Object(); +} + +for (i = 0; i < numberOfEntries; i++) { + var callee = cachedArguments[i].callee; + if (typeof callee != "function") + print("ERROR: callee is " + callee); +} diff --git a/implementation-contributed/javascriptcore/stress/closure-call-exit.js b/implementation-contributed/javascriptcore/stress/closure-call-exit.js new file mode 100644 index 0000000000..3133cb0d20 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/closure-call-exit.js @@ -0,0 +1,15 @@ +function foo(o, i) { + return o[i](); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo([function() { return 42; }], 0); + if (result != 42) + throw "Error: bad result: " + result; +} + +var result = foo([function() { return 43; }], 0); +if (result != 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/closure-recursive-tail-call-infinite-loop.js b/implementation-contributed/javascriptcore/stress/closure-recursive-tail-call-infinite-loop.js new file mode 100644 index 0000000000..dfd96a0148 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/closure-recursive-tail-call-infinite-loop.js @@ -0,0 +1,29 @@ +"use strict"; + +function Foo() {} + +function second(next, cp) { + return 100; +} + +function first(next, cp) { + return cp < 60 ? new Foo() : next(cp); +} + +function createClosure(next, strategy) { + return function closure(cp) { + return strategy(next, cp); + }; +} + +var tmp = createClosure(null, second); +var bar = createClosure(tmp, first); + +noInline(bar); + +for (var i=0; i<50000; i++) { + bar(32); + bar(32); + bar(32); + bar(100); +} diff --git a/implementation-contributed/javascriptcore/stress/closure-recursive-tail-call.js b/implementation-contributed/javascriptcore/stress/closure-recursive-tail-call.js new file mode 100644 index 0000000000..e70c9ae679 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/closure-recursive-tail-call.js @@ -0,0 +1,21 @@ +"use strict"; + +function makeClosure(x) +{ + return (f) => { + if (x == 42) { + x = 0; + return f(f); + } + else + return x; + } +} + +for (var i = 0; i < 1000; ++i) { + var g = makeClosure(42); + var h = makeClosure(41); + var value = g(h); + if (value != 41) + throw "Wrong result, got: " + value; +} diff --git a/implementation-contributed/javascriptcore/stress/code-cache-incorrect-caching.js b/implementation-contributed/javascriptcore/stress/code-cache-incorrect-caching.js new file mode 100644 index 0000000000..9e51af78cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/code-cache-incorrect-caching.js @@ -0,0 +1,92 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} +var globalEval = eval; +var global = this; + +// EvalContextType. +{ + function hello() + { + return eval('new.target'); + } + shouldBe(hello(), undefined); + shouldBe(hello(), undefined); + shouldBe(hello(), undefined); + globalEval(` + var thrown = false; + try { + eval('new.target'); + } catch (e) { + thrown = true; + shouldBe(String(e), "SyntaxError: new.target is only valid inside functions."); + } + shouldBe(thrown, true); + `); + + var thrown = false; + try { + globalEval('new.target'); + } catch (e) { + thrown = true; + shouldBe(String(e), "SyntaxError: new.target is only valid inside functions."); + } + shouldBe(thrown, true); +} + +// DerivedContextType. +{ + var object = { + hello() + { + return eval('super.ok'); + } + }; + object.__proto__ = { ok: 42 }; + shouldBe(object.hello(), 42); + + var test = { + hello: function () { + return eval('super.ok'); + } + }; + test.__proto__ = { ok: 42 }; + shouldThrow(function () { + test.hello(); + }, `SyntaxError: super is not valid in this context.`); +} + +// isArrowFunctionContext. +{ +globalEval(` + function ok() + { + return eval('this'); + } + shouldBe(ok(), global) + var hello = { + hello() + { + var arrow = () => eval('this'); + shouldBe(arrow(), hello); + } + }; + hello.hello(); +`); +} diff --git a/implementation-contributed/javascriptcore/stress/combined-liveness-needs-to-say-arguments-are-live.js b/implementation-contributed/javascriptcore/stress/combined-liveness-needs-to-say-arguments-are-live.js new file mode 100644 index 0000000000..780b4326b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/combined-liveness-needs-to-say-arguments-are-live.js @@ -0,0 +1,24 @@ +//@ runDefault("--jitPolicyScale=0", "--validateFTLOSRExitLiveness=1", "--useConcurrentJIT=0") + +// This should not crash in liveness validation. + +function baz() { } +noInline(baz); + +function foo() { + let i, j; + let a0 = [0, 1]; + let a1 = []; + for (i = 0; i < a0.length; i++) { + a1.push(); + for (j = 0; j < 6; j++) { + } + for (j = 0; j < 4; j++) { + baz(); + } + } + throw new Error(); +} +try { + new foo(); +} catch { } diff --git a/implementation-contributed/javascriptcore/stress/compare-clobber-untypeduse.js b/implementation-contributed/javascriptcore/stress/compare-clobber-untypeduse.js new file mode 100644 index 0000000000..a1642161c5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-clobber-untypeduse.js @@ -0,0 +1,12 @@ +// Test that we properly clobber untyped uses. This test should throw or crash. + +let val; + +for (var i = 0; i < 100000; i++) + val = 42; + +for (let i = 0; i < 1e6; i++) { + if (val != null && val == 2) { + throw "Val should be 42, but is 2"; + } +} diff --git a/implementation-contributed/javascriptcore/stress/compare-eq-incomplete-profile.js b/implementation-contributed/javascriptcore/stress/compare-eq-incomplete-profile.js new file mode 100644 index 0000000000..48442da8ca --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-eq-incomplete-profile.js @@ -0,0 +1,12 @@ +var createBuiltin = $vm.createBuiltin; + +const test = createBuiltin(`(function (arg) { + let other = @undefined; + @idWithProfile(other, "SpecObject"); + return arg == other; +})`); + +for (let i = 0; i < 10000; i++) { + test({}); + test(null); +} diff --git a/implementation-contributed/javascriptcore/stress/compare-eq-object-or-other-to-object.js b/implementation-contributed/javascriptcore/stress/compare-eq-object-or-other-to-object.js new file mode 100644 index 0000000000..a6e1e6d66a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-eq-object-or-other-to-object.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a == b; +} + +noInline(foo); + +function test(a, b, expected) { + var result = foo(a, b); + if (result != expected) + throw new Error("Unexpected result: " + result); +} + +for (var i = 0; i < 100000; ++i) { + var o = {f:42}; + var p = {g:43}; + test(o, o, true); + test(o, p, false); + test(p, o, false); + test(p, p, true); + test(null, o, false); + test(null, p, false); + test(void 0, o, false); + test(void 0, p, false); +} diff --git a/implementation-contributed/javascriptcore/stress/compare-eq-object-to-object-or-other.js b/implementation-contributed/javascriptcore/stress/compare-eq-object-to-object-or-other.js new file mode 100644 index 0000000000..2064839173 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-eq-object-to-object-or-other.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a == b; +} + +noInline(foo); + +function test(a, b, expected) { + var result = foo(a, b); + if (result != expected) + throw new Error("Unexpected result: " + result); +} + +for (var i = 0; i < 100000; ++i) { + var o = {f:42}; + var p = {g:43}; + test(o, o, true); + test(o, p, false); + test(p, o, false); + test(p, p, true); + test(o, null, false); + test(p, null, false); + test(o, void 0, false); + test(p, void 0, false); +} diff --git a/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-non-peephole.js b/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-non-peephole.js new file mode 100644 index 0000000000..20ff95feb7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-non-peephole.js @@ -0,0 +1,45 @@ +"use strict" + +function useForMath(undefinedArgument, nullArgument, polymorphicArgument) { + var a = (null == undefinedArgument) + (undefinedArgument == null) + (undefined == undefinedArgument) + (undefinedArgument == undefined); + var b = (null == nullArgument) + (nullArgument == null) + (undefined == nullArgument) + (nullArgument == undefined); + var c = (null == polymorphicArgument) + (polymorphicArgument == null) + (undefined == polymorphicArgument) + (polymorphicArgument == undefined); + var d = (5 == null) + (null == true) + (undefined == Math.LN2) + ("const" == undefined); + var e = (5 == undefinedArgument) + (nullArgument == true) + (nullArgument == Math.LN2) + ("const" == undefinedArgument); + + return a + b - c + d - e; +} +noInline(useForMath); + +function testUseForMath() { + for (let i = 0; i < 1e4; ++i) { + var value = useForMath(undefined, null, 5); + if (value != 8) + throw "Failed useForMath(undefined, null, 5), value = " + value + " with i = " + i; + + var value = useForMath(undefined, null, null); + if (value != 4) + throw "Failed useForMath(undefined, null, null), value = " + value + " with i = " + i; + + var value = useForMath(undefined, null, undefined); + if (value != 4) + throw "Failed useForMath(undefined, null, undefined), value = " + value + " with i = " + i; + + var value = useForMath(undefined, null, { foo: "bar" }); + if (value != 8) + throw "Failed useForMath(undefined, null, { foo: \"bar\" }), value = " + value + " with i = " + i; + + var value = useForMath(undefined, null, true); + if (value != 8) + throw "Failed useForMath(undefined, null, true), value = " + value + " with i = " + i; + + var value = useForMath(undefined, null, [1, 2, 3]); + if (value != 8) + throw "Failed useForMath(undefined, null, true), value = " + value + " with i = " + i; + + var value = useForMath(undefined, null, "WebKit!"); + if (value != 8) + throw "Failed useForMath(undefined, null, true), value = " + value + " with i = " + i; + } +} +testUseForMath(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-optimized-in-constant-folding.js b/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-optimized-in-constant-folding.js new file mode 100644 index 0000000000..b714e0c796 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined-optimized-in-constant-folding.js @@ -0,0 +1,70 @@ +"use strict" + +function unreachableCodeTest() { + var a; + + var b = null; + if (b) { + a = 5; + } + return a == b; +} +noInline(unreachableCodeTest); + +for (let i = 0; i < 1e4; ++i) { + if (!unreachableCodeTest()) + throw "Failed unreachableCodeTest() with i = " + i; +} + + +function inlinedCompareToNull(a) { + return a == null; +} + +function inlinedComparedToUndefined(a) { + return a == undefined; +} + +// Warmup. Litter the profile with every types. +function warmupInlineFunctions() { + let returnValue = 0; + for (let i = 0; i < 1e4; ++i) { + returnValue += inlinedCompareToNull("foo"); + returnValue += inlinedCompareToNull(null); + returnValue += inlinedCompareToNull(Math); + returnValue += inlinedCompareToNull(5); + returnValue += inlinedCompareToNull(5.5); + + returnValue += inlinedComparedToUndefined("foo"); + returnValue += inlinedComparedToUndefined(null); + returnValue += inlinedComparedToUndefined(Math); + returnValue += inlinedComparedToUndefined(5); + returnValue += inlinedComparedToUndefined(5.5); + } + return returnValue; +} +noInline(warmupInlineFunctions); +warmupInlineFunctions(); + +function testInlineFunctions(undefinedArg, nullArg) { + if (inlinedCompareToNull("foo")) + throw "Failed inlinedCompareToNull(\"foo\")"; + + if (!inlinedCompareToNull(null)) + throw "Failed !inlinedCompareToNull(null)"; + + if (!inlinedCompareToNull(undefined)) + throw "Failed !inlinedCompareToNull(undefined)"; + + if (!inlinedCompareToNull(undefinedArg)) + throw "Failed !inlinedCompareToNull(undefinedArg)"; + + if (!inlinedCompareToNull(nullArg)) + throw "Failed !inlinedCompareToNull(nullArg)"; + +} +noInline(testInlineFunctions); + +for (let i = 0; i < 1e4; ++i) { + testInlineFunctions(undefined, null); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined.js b/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined.js new file mode 100644 index 0000000000..e4e92c49d4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-eq-on-null-and-undefined.js @@ -0,0 +1,174 @@ +"use strict" + +// Trivial cases: everything is monomorphic and super predictable. +function compareConstants() +{ + return (null == null) && (null == undefined) && (undefined == null); +} +noInline(compareConstants); + +for (let i = 0; i < 1e4; ++i) { + if (!compareConstants()) + throw "Failed to compareConstants()."; +} + + +function opaqueNull() { + return null; +} +noInline(opaqueNull); + +function opaqueUndefined() { + return undefined; +} +noInline(opaqueUndefined); + +function compareConstantsAndDynamicValues() +{ + return ((null == opaqueNull()) + && (opaqueNull() == null) + && (undefined == opaqueNull()) + && (opaqueNull() == undefined) + && (null == opaqueUndefined()) + && (opaqueUndefined() == null) + && (undefined == opaqueUndefined()) + && (opaqueUndefined() == undefined)); +} +noInline(compareConstantsAndDynamicValues); + +for (let i = 1e4; i--;) { + if (!compareConstantsAndDynamicValues()) + throw "Failed compareConstantsAndDynamicValues()"; +} + + +function compareDynamicValues() +{ + return ((opaqueNull() == opaqueNull()) + && (opaqueUndefined() == opaqueUndefined()) + && (opaqueNull() == opaqueUndefined()) + && (opaqueUndefined() == opaqueNull())); +} +noInline(compareDynamicValues); + +for (let i = 0; i < 1e4; ++i) { + if (!compareDynamicValues()) + throw "Failed compareDynamicValues()"; +} + + +function compareDynamicValueToItself() +{ + const value1 = opaqueNull(); + const value2 = opaqueUndefined(); + return value1 == value1 && value2 == value2; +} +noInline(compareDynamicValueToItself); + +for (let i = 0; i < 1e4; ++i) { + if (!compareDynamicValueToItself()) + throw "Failed compareDynamicValueToItself()"; +} + + +// The case that interested us in the first place. +// Accessing an array with undecided shape always return undefined. + +function arrayTesting() +{ + let returnValue = true; + + const array1 = new Array(2); + for (let i = 0; i < 3; ++i) { + returnValue = returnValue && (array1[i] == null); + returnValue = returnValue && (null == array1[i]); + returnValue = returnValue && (array1[i] == undefined); + returnValue = returnValue && (undefined == array1[i]); + } + + const array2 = new Array(2); + for (let i = 0; i < 2; ++i) { + returnValue = returnValue && (array2[i] == opaqueNull()); + returnValue = returnValue && (opaqueNull() == array2[i]); + returnValue = returnValue && (array2[i] == opaqueUndefined()); + returnValue = returnValue && (opaqueUndefined() == array2[i]); + } + + const array3 = new Array(2); + for (let i = 0; i < 3; ++i) { + returnValue = returnValue && (array3[i] == array3[i]); + returnValue = returnValue && (array1[i] == array3[i]); + returnValue = returnValue && (array3[i] == array1[i]); + returnValue = returnValue && (array2[i] == array3[i]); + returnValue = returnValue && (array3[i] == array2[i]); + + } + + return returnValue; +} +noInline(arrayTesting); + +for (let i = 0; i < 1e4; ++i) { + if (!arrayTesting()) + throw "Failed arrayTesting()"; +} + + +// Let's make it polymorphic after optimization. We should fallback to a generic compare operation. + +function opaqueCompare1(a, b) { + return a == b; +} +noInline(opaqueCompare1); + +function testNullComparatorUpdate() { + for (let i = 0; i < 1e4; ++i) { + if (!opaqueCompare1(null, null)) + throw "Failed opaqueCompare1(null, null)" + } + + // Let's change types + for (let i = 0; i < 1e4; ++i) { + if (opaqueCompare1("foo", null)) + throw "Failed opaqueCompare1(\"foo\", null)" + } +} +testNullComparatorUpdate(); + +function opaqueCompare2(a, b) { + return a == b; +} +noInline(opaqueCompare2); + +function testUndefinedComparatorUpdate() { + for (let i = 0; i < 1e4; ++i) { + if (!opaqueCompare2(undefined, undefined)) + throw "Failed opaqueCompare2(undefined, undefined)" + } + + // Let's change types + for (let i = 0; i < 1e4; ++i) { + if (!opaqueCompare2("bar", "bar")) + throw "Failed opaqueCompare2(\"bar\", \"bar\")" + } +} +testUndefinedComparatorUpdate(); + +function opaqueCompare3(a, b) { + return a == b; +} +noInline(opaqueCompare3); + +function testNullAndUndefinedComparatorUpdate() { + for (let i = 0; i < 1e4; ++i) { + if (!opaqueCompare3(undefined, null) || !opaqueCompare2(null, undefined)) + throw "Failed opaqueCompare2(undefined/null, undefined/null)" + } + + // Let's change types + for (let i = 0; i < 1e4; ++i) { + if (opaqueCompare3(undefined, "bar")) + throw "Failed opaqueCompare3(undefined, \"bar\")" + } +} +testNullAndUndefinedComparatorUpdate(); diff --git a/implementation-contributed/javascriptcore/stress/compare-number-and-other.js b/implementation-contributed/javascriptcore/stress/compare-number-and-other.js new file mode 100644 index 0000000000..8546bf37ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-number-and-other.js @@ -0,0 +1,75 @@ +let typeCases = [ + "1", + "Math.PI", + "NaN", + "undefined", + "null", + "true", + "false", +]; + +let operators = ["<", "<=", ">", ">=", "==", "!=", "===", "!=="]; + +function opaqueSideEffect() +{ +} +noInline(opaqueSideEffect); + +let testCaseIndex = 0; +for (let operator of operators) { + eval(` + function testPolymorphic(a, b) { + if (a ${operator} b) { + opaqueSideEffect() + return true; + } + return false; + } + noInline(testPolymorphic)`); + + for (let left of typeCases) { + for (let right of typeCases) { + let llintResult = eval(left + operator + right); + eval(` + function testMonomorphic${testCaseIndex}(a, b) { + if (a ${operator} b) { + opaqueSideEffect() + return true; + } + return false; + } + noInline(testMonomorphic${testCaseIndex}); + + function testMonomorphicLeftConstant${testCaseIndex}(b) { + if (${left} ${operator} b) { + opaqueSideEffect() + return true; + } + return false; + } + noInline(testMonomorphicLeftConstant${testCaseIndex}); + + function testMonomorphicRightConstant${testCaseIndex}(a) { + if (a ${operator} ${right}) { + opaqueSideEffect() + return true; + } + return false; + } + noInline(testMonomorphicRightConstant${testCaseIndex}); + + for (let i = 0; i < 500; ++i) { + if (testMonomorphic${testCaseIndex}(${left}, ${right}) != ${llintResult}) + throw "Failed testMonomorphic${testCaseIndex}(${left}, ${right})"; + if (testMonomorphicLeftConstant${testCaseIndex}(${right}) != ${llintResult}) + throw "Failed testMonomorphicLeftConstant${testCaseIndex}(${right})"; + if (testMonomorphicRightConstant${testCaseIndex}(${left}) != ${llintResult}) + throw "Failed testMonomorphicLeftConstant${testCaseIndex}(${left})"; + if (testPolymorphic(${left}, ${right}) !== ${llintResult}) + throw "Failed polymorphicVersion(${left})"; + } + `); + ++testCaseIndex; + } + } +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js b/implementation-contributed/javascriptcore/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js new file mode 100644 index 0000000000..dd608682ae --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-semantic-origin-op-negate-method-of-getting-a-value-profile.js @@ -0,0 +1,18 @@ +let flag = false; +function a() { return flag ? {} : 10; } +noInline(a); +function b() { return 10.2; } +noInline(b); + +function foo(x) { + let r = -(x ? a() : b()); + return r; +} +noInline(foo); + +for (let i = 0; i < 100000; ++i) + foo(!!(i%2)); + +flag = true; +for (let i = 0; i < 100000; ++i) + foo(!!(i%2)); diff --git a/implementation-contributed/javascriptcore/stress/compare-strict-eq-integer-to-misc.js b/implementation-contributed/javascriptcore/stress/compare-strict-eq-integer-to-misc.js new file mode 100644 index 0000000000..e4d7c9a50d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-strict-eq-integer-to-misc.js @@ -0,0 +1,25 @@ +function foo(thingy) { + if (thingy.length === void 0 || thingy.charAt !== void 0) + return "yes"; + return "no"; +} + +noInline(foo); + +function test(object, expected) { + var result = foo(object); + if (result != expected) + throw new Error("Bad result: " + result); +} + +for (var i = 0; i < 1000; ++i) { + test({}, "yes"); + test([], "no"); + test("hello", "yes"); + test((function(){return arguments;})(), "no"); + var array = []; + for (var j = 0; j < 100; ++j) { + test(array, "no"); + array.push(42); + } +} diff --git a/implementation-contributed/javascriptcore/stress/compare-strict-eq-on-various-types.js b/implementation-contributed/javascriptcore/stress/compare-strict-eq-on-various-types.js new file mode 100644 index 0000000000..af2283f8ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/compare-strict-eq-on-various-types.js @@ -0,0 +1,242 @@ +//@ skip if not $jitTests +//@ defaultNoEagerRun +"use strict"; + +function opaqueKitString() { + return "Kit"; +} +noInline(opaqueKitString); + +let someObject = new Object; +let validInputTestCases = [ + "undefined", + "Symbol(\"WebKit\")", + "null", + "true", + "false", + "0", + "{ valueOf: () => { return Math.E; } }", + "-0", + "42", + "-42", + "Math.PI", + "NaN", + "\"WebKit\"", + "\"Web\" + opaqueKitString()", + "new String(\"WebKit\")", + "someObject", + "validInputTestCases", +]; + +let leftCases = validInputTestCases.map((element) => { return eval("(" + element + ")"); }); +let rightCases = validInputTestCases.map((element) => { return eval("(" + element + ")"); }); + +// Baseline results. +let expectedEqualResults = []; +let expectedNotEqualResults = []; +for (let testCaseInputLeft of leftCases) { + let equalResultRow = []; + let notEqualResultRow = []; + for (let testCaseInputRight of rightCases) { + equalResultRow.push(testCaseInputLeft === testCaseInputRight); + notEqualResultRow.push(testCaseInputLeft !== testCaseInputRight); + } + expectedEqualResults.push(equalResultRow); + expectedNotEqualResults.push(notEqualResultRow); +} + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + + +// Very polymorphic compare. +function opaqueStrictEqualAllTypes(left, right) { + return left === right; +} +noInline(opaqueStrictEqualAllTypes); +noOSRExitFuzzing(opaqueStrictEqualAllTypes); + +function opaqueStrictNotEqualAllTypes(left, right) { + return left !== right; +} +noInline(opaqueStrictNotEqualAllTypes); +noOSRExitFuzzing(opaqueStrictNotEqualAllTypes); + +function testAllTypesCall() { + for (let i = 0; i < 1e3; ++i) { + for (let leftCaseIndex = 0; leftCaseIndex < leftCases.length; ++leftCaseIndex) { + for (let rightCaseIndex = 0; rightCaseIndex < rightCases.length; ++rightCaseIndex) { + let strictEqualOutput = opaqueStrictEqualAllTypes(leftCases[leftCaseIndex], rightCases[rightCaseIndex]); + if (!isIdentical(strictEqualOutput, expectedEqualResults[leftCaseIndex][rightCaseIndex])) { + throw "Failed testAllTypesCall for equality. Left = " + + leftCases[leftCaseIndex] + + ", Right = " + + rightCases[rightCaseIndex] + + ", Result = " + + strictEqualOutput; + } + + let strictNotEqualOutput = opaqueStrictNotEqualAllTypes(leftCases[leftCaseIndex], rightCases[rightCaseIndex]); + if (!isIdentical(strictNotEqualOutput, expectedNotEqualResults[leftCaseIndex][rightCaseIndex])) { + throw "Failed testAllTypesCall for !equality. Left = " + + leftCases[leftCaseIndex] + + ", Right = " + + rightCases[rightCaseIndex] + + ", Result = " + + strictEqualOutput; + } + } + } + } + if (numberOfDFGCompiles(opaqueStrictEqualAllTypes) > 5) + throw "opaqueStrictEqualAllTypes() should have been quickly compiled as fully polymorphic."; + if (opaqueStrictNotEqualAllTypes(opaqueStrictEqualAllTypes) > 5) + throw "opaqueStrictEqualAllTypes() should have been quickly compiled as fully polymorphic."; +} +testAllTypesCall(); + + +// Comparing String to every type. +function opaqueStrictEqualStringToAllTypes(left, right) { + return left === right; +} +noInline(opaqueStrictEqualStringToAllTypes); +noOSRExitFuzzing(opaqueStrictEqualStringToAllTypes); + +function opaqueStrictEqualAllTypesToString(left, right) { + return left === right; +} +noInline(opaqueStrictEqualAllTypesToString); +noOSRExitFuzzing(opaqueStrictEqualAllTypesToString); + +function opaqueStrictNotEqualStringToAllTypes(left, right) { + return left !== right; +} +noInline(opaqueStrictNotEqualStringToAllTypes); +noOSRExitFuzzing(opaqueStrictNotEqualStringToAllTypes); + +function opaqueStrictNotEqualAllTypesToString(left, right) { + return left !== right; +} +noInline(opaqueStrictNotEqualAllTypesToString); +noOSRExitFuzzing(opaqueStrictNotEqualAllTypesToString); + +function testStringToAllCompare() { + const leftStringIndex = leftCases.indexOf("WebKit"); + for (let i = 0; i < 1e3; ++i) { + for (let rightCaseIndex = 0; rightCaseIndex < rightCases.length; ++rightCaseIndex) { + let rightCase = rightCases[rightCaseIndex]; + let strictEqualOutput = opaqueStrictEqualStringToAllTypes("Web" + opaqueKitString(), rightCase); + if (!isIdentical(strictEqualOutput, expectedEqualResults[leftStringIndex][rightCaseIndex])) { + throw "Failed opaqueStrictEqualStringToAllTypes() with right = " + rightCase; + } + let strictNotEqualOutput = opaqueStrictNotEqualStringToAllTypes("Web" + opaqueKitString(), rightCase); + if (!isIdentical(strictNotEqualOutput, expectedNotEqualResults[leftStringIndex][rightCaseIndex])) { + throw "Failed opaqueStrictNotEqualStringToAllTypes() with right = " + rightCase; + } + } + } + + const rightStringIndex = leftCases.lastIndexOf("WebKit"); + for (let i = 0; i < 1e3; ++i) { + for (let leftCaseIndex = 0; leftCaseIndex < leftCases.length; ++leftCaseIndex) { + let leftCase = leftCases[leftCaseIndex]; + let strictEqualOutput = opaqueStrictEqualAllTypesToString(leftCase, "Web" + opaqueKitString()); + if (!isIdentical(strictEqualOutput, expectedEqualResults[leftCaseIndex][rightStringIndex])) { + throw "Failed opaqueStrictEqualAllTypesToString() with left = " + leftCase; + } + let strictNotEqualOutput = opaqueStrictNotEqualAllTypesToString(leftCase, "Web" + opaqueKitString()); + if (!isIdentical(strictNotEqualOutput, expectedNotEqualResults[leftCaseIndex][rightStringIndex])) { + throw "Failed opaqueStrictNotEqualAllTypesToString() with left = " + leftCase; + } + } + } + + if (numberOfDFGCompiles(opaqueStrictEqualStringToAllTypes) > 2) + throw "opaqueStrictEqualStringToAllTypes() should quickly converge its types."; + if (numberOfDFGCompiles(opaqueStrictEqualAllTypesToString) > 2) + throw "opaqueStrictEqualAllTypesToString() should quickly converge its types."; + if (numberOfDFGCompiles(opaqueStrictNotEqualStringToAllTypes) > 2) + throw "opaqueStrictNotEqualStringToAllTypes() should quickly converge its types."; + if (numberOfDFGCompiles(opaqueStrictNotEqualAllTypesToString) > 2) + throw "opaqueStrictNotEqualAllTypesToString() should quickly converge its types."; +} +testStringToAllCompare(); + + +// Compare one type to all the others. +function compareOneTypeToAll() { + for (let leftCaseIndex = 0; leftCaseIndex < validInputTestCases.length; ++leftCaseIndex) { + let leftCase = validInputTestCases[leftCaseIndex]; + eval(` + function opaqueStrictEqualOneTypeToAll(left, right) { + return left === right; + } + noInline(opaqueStrictEqualOneTypeToAll); + noOSRExitFuzzing(opaqueStrictEqualOneTypeToAll); + + function opaqueStrictNotEqualOneTypeToAll(left, right) { + return left !== right; + } + noInline(opaqueStrictNotEqualOneTypeToAll); + noOSRExitFuzzing(opaqueStrictNotEqualOneTypeToAll); + + for (let i = 0; i < 1e3; ++i) { + for (let rightCaseIndex = 0; rightCaseIndex < rightCases.length; ++rightCaseIndex) { + let strictEqualOutput = opaqueStrictEqualOneTypeToAll(${leftCase}, rightCases[rightCaseIndex]); + if (!isIdentical(strictEqualOutput, expectedEqualResults[${leftCaseIndex}][rightCaseIndex])) { + throw "Failed opaqueStrictEqualOneTypeToAll() with left case = " + ${leftCase} + ", right case = " + rightCases[rightCaseIndex]; + } + let strictNotEqualOutput = opaqueStrictNotEqualOneTypeToAll(${leftCase}, rightCases[rightCaseIndex]); + if (!isIdentical(strictNotEqualOutput, expectedNotEqualResults[${leftCaseIndex}][rightCaseIndex])) { + throw "Failed opaqueStrictNotEqualOneTypeToAll() with left case = " + ${leftCase} + ", right case = " + rightCases[rightCaseIndex]; + } + } + } + `); + } +} +compareOneTypeToAll(); + +function compareAllTypesToOne() { + for (let rightCaseIndex = 0; rightCaseIndex < validInputTestCases.length; ++rightCaseIndex) { + let rightCase = validInputTestCases[rightCaseIndex]; + eval(` + function opaqueStrictEqualAllToOne(left, right) { + return left === right; + } + noInline(opaqueStrictEqualAllToOne); + noOSRExitFuzzing(opaqueStrictEqualAllToOne); + + function opaqueStrictNotEqualAllToOne(left, right) { + return left !== right; + } + noInline(opaqueStrictNotEqualAllToOne); + noOSRExitFuzzing(opaqueStrictNotEqualAllToOne); + + for (let i = 0; i < 1e3; ++i) { + for (let leftCaseIndex = 0; leftCaseIndex < leftCases.length; ++leftCaseIndex) { + let strictEqualOutput = opaqueStrictEqualAllToOne(leftCases[leftCaseIndex], ${rightCase}); + if (!isIdentical(strictEqualOutput, expectedEqualResults[leftCaseIndex][${rightCaseIndex}])) { + throw "Failed opaqueStrictEqualAllToOne() with left case = " + leftCases[leftCaseIndex] + ", right case = " + ${rightCase}; + } + let strictNotEqualOutput = opaqueStrictNotEqualAllToOne(leftCases[leftCaseIndex], ${rightCase}); + if (!isIdentical(strictNotEqualOutput, expectedNotEqualResults[leftCaseIndex][${rightCaseIndex}])) { + throw "Failed opaqueStrictNotEqualAllToOne() with left case = " + leftCases[leftCaseIndex] + ", right case = " + ${rightCase}; + } + } + } + `); + } +} +compareAllTypesToOne(); diff --git a/implementation-contributed/javascriptcore/stress/comparison-ignore-negative-zero.js b/implementation-contributed/javascriptcore/stress/comparison-ignore-negative-zero.js new file mode 100644 index 0000000000..ffd09e3488 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/comparison-ignore-negative-zero.js @@ -0,0 +1,65 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + String(actual) + ' ' + String(expected)); +} +noInline(shouldBe); + +function zero() +{ + return 0; +} +noInline(zero); + +function negativeZero() +{ + return -0; +} +noInline(negativeZero); + +var object = { + valueOf() + { + return -0; + } +}; + +function test() +{ + shouldBe(0 < zero(), false); + shouldBe(0 < (-zero()), false); + shouldBe(0 <= zero(), true); + shouldBe(0 <= (-zero()), true); + shouldBe(0 > zero(), false); + shouldBe(0 > (-zero()), false); + shouldBe(0 >= zero(), true); + shouldBe(0 >= (-zero()), true); + shouldBe(0 == zero(), true); + shouldBe(0 == (-zero()), true); + shouldBe(0 === zero(), true); + shouldBe(0 === (-zero()), true); + shouldBe(0 != zero(), false); + shouldBe(0 != (-zero()), false); + shouldBe(0 !== zero(), false); + shouldBe(0 !== (-zero()), false); + + shouldBe(0 < object, false); + shouldBe(0 < -object, false); + shouldBe(0 <= object, true); + shouldBe(0 <= -object, true); + shouldBe(0 > object, false); + shouldBe(0 > -object, false); + shouldBe(0 >= object, true); + shouldBe(0 >= -object, true); + shouldBe(0 == object, true); + shouldBe(0 == -object, true); + shouldBe(0 === object, false); + shouldBe(0 === -object, true); + shouldBe(0 != object, false); + shouldBe(0 != -object, false); + shouldBe(0 !== object, true); + shouldBe(0 !== -object, false); +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/completion-value.js b/implementation-contributed/javascriptcore/stress/completion-value.js new file mode 100644 index 0000000000..c75526e803 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/completion-value.js @@ -0,0 +1,288 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldBeWithValueCheck(actual, callback) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +// Basic. +shouldBe(eval(), undefined); +shouldBe(eval(""), undefined); +shouldBe(eval(`1`), 1); +shouldBe(eval(`1; 2`), 2); + +// Types of statements: +// https://tc39.github.io/ecma262/#prod-Statement + +// Statements that produce an (empty) completion value do not affect results: +// - EmptyStatement +// - DebuggerStatement +// - BlockStatement (with no substatement) +// - DeclarationStatements (variables, functions, classes) +// - LabelledStatement (with an empty statement) +// - ContinueStatement / BreakStatement (tested below) +shouldBe(eval(`42;`), 42); +shouldBe(eval(`42;;;;;`), 42); +shouldBe(eval(`42; var x;`), 42); +shouldBe(eval(`42; let x;`), 42); +shouldBe(eval(`42; const x = 1;`), 42); +shouldBe(eval(`42; var x = 1;`), 42); +shouldBe(eval(`42; var x = 1, y = 2;`), 42); +shouldBe(eval(`42; debugger;`), 42); +shouldBe(eval(`42; { }`), 42); +shouldBe(eval(`42; class foo {}`), 42); +shouldBe(eval(`42; function foo() {}`), 42); +shouldBe(eval(`42; function* foo() {}`), 42); +shouldBe(eval(`42; async function foo() {}`), 42); +shouldBe(eval(`42; label: {}`), 42); +shouldBe(eval(`42; { { var x; } var y; { { debugger } ;; } function foo() {} }`), 42); + +// ExpressionStatement +shouldBe(eval(`99; 42`), 42); +shouldBe(eval(`99; { 42 }`), 42); +shouldBe(eval(`99; label: { 42 }`), 42); +shouldBe(eval(`99; x = 42`), 42); +shouldBe(eval(`99; x = 42; x`), 42); +shouldBe(eval(`99; 1, 2, 3, 42`), 42); +shouldBe(eval(`99; x = 41; ++x`), 42); +shouldBe(eval(`99; x = 42; x++`), 42); +shouldBe(eval(`99; true ? 42 : -1`), 42); +shouldBe(eval(`99; false ? -1 : 42`), 42); +shouldBe(Array.isArray(eval(`99; [x,y] = [1,2]`)), true); +shouldBe(typeof eval(`99; ({})`), "object"); +shouldBe(typeof eval(`99; (function foo() {})`), "function"); +shouldBe(typeof eval(`99; (function* foo() {})`), "function"); +shouldBe(typeof eval(`99; (async function foo() {})`), "function"); +shouldBe(typeof eval(`99; (class foo {})`), "function"); + +// IfStatement +shouldBe(eval(`99; if (true);`), undefined); +shouldBe(eval(`99; if (false);`), undefined); +shouldBe(eval(`99; if (true) 42;`), 42); +shouldBe(eval(`99; if (false) -1;`), undefined); +shouldBe(eval(`99; if (true) {}`), undefined); +shouldBe(eval(`99; if (true) {42}`), 42); +shouldBe(eval(`99; if (false) {}`), undefined); +shouldBe(eval(`99; if (false) {42}`), undefined); +shouldBe(eval(`99; if (false) {-1} else {}`), undefined); +shouldBe(eval(`99; if (false) {-1} else {42}`), 42); +shouldBe(eval(`99; if (false) {-1} else if (true) {}`), undefined); +shouldBe(eval(`99; if (false) {-1} else if (true) {42}`), 42); +shouldBe(eval(`99; if (false) {-1} else if (true) {} else {-2}`), undefined); +shouldBe(eval(`99; if (false) {-1} else if (true) {42} else {-2}`), 42); +shouldBe(eval(`99; if (false) {-1} else if (false) {-2} else {}`), undefined); +shouldBe(eval(`99; if (false) {-1} else if (false) {-2} else {42}`), 42); + +// DoWhile +shouldBe(eval(`99; do; while (false);`), undefined); +shouldBe(eval(`99; do 42; while (false);`), 42); +shouldBe(eval(`99; do {} while (false);`), undefined); +shouldBe(eval(`99; do break; while (true);`), undefined); +shouldBe(eval(`99; do { break } while (true);`), undefined); +shouldBe(eval(`99; do { 42 } while (false);`), 42); +shouldBe(eval(`let x = 1; do { x } while (x++ !== (5+5));`), 10); +shouldBe(eval(`let x = 1; do { x; 42 } while (x++ !== (5+5));`), 42); +shouldBe(eval(`let x = 1; do { x; break } while (x++ !== (5+5));`), 1); +shouldBe(eval(`let x = 1; do { x; continue } while (x++ !== (5+5));`), 10); + +// While +shouldBe(eval(`99; while (false);`), undefined); +shouldBe(eval(`99; while (false) {};`), undefined); +shouldBe(eval(`99; while (true) break;`), undefined); +shouldBe(eval(`99; while (true) { break };`), undefined); +shouldBe(eval(`99; while (true) { 42; break };`), 42); +shouldBe(eval(`let x = 1; while (x++ !== (5+5)) ;`), undefined); +shouldBe(eval(`let x = 1; while (x++ !== (5+5)) { }`), undefined); +shouldBe(eval(`let x = 1; while (x++ !== (5+5)) { x }`), 10); +shouldBe(eval(`let x = 1; while (x++ !== (5+5)) { x; 42 }`), 42); +shouldBe(eval(`let x = 1; while (x++ !== (5+5)) { x; break }`), 2); +shouldBe(eval(`let x = 1; while (x++ !== (5+5)) { x; continue }`), 10); + +// For +shouldBe(eval(`99; for (;false;);`), undefined); +shouldBe(eval(`99; for (;false;) {}`), undefined); +shouldBe(eval(`99; for (var x = 1;false;);`), undefined); +shouldBe(eval(`99; for (x = 1;false;) {}`), undefined); +shouldBe(eval(`99; for (;;) break;`), undefined); +shouldBe(eval(`99; for (;;) { break }`), undefined); +shouldBe(eval(`99; for (;;) { 42; break }`), 42); +shouldBe(eval(`99; for (;;) { 42; break; 3 }`), 42); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) x;`), 9); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) { x; }`), 9); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) { x; 42 }`), 42); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) { x; break }`), 1); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) { x; break; 3 }`), 1); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) { x; continue }`), 9); +shouldBe(eval(`99; for (x = 1; x !== (5+5); x++) { x; continue; 3 }`), 9); + +// ForOf +shouldBe(eval(`99; for (var x of []) -1;`), undefined); +shouldBe(eval(`99; for (x of []) -1;`), undefined); +shouldBe(eval(`99; for (var x of [1,2]);`), undefined); +shouldBe(eval(`99; for (x of [1,2]);`), undefined); +shouldBe(eval(`99; for (x of [1,2]) {}`), undefined); +shouldBe(eval(`99; for (x of [1,2]) break;`), undefined); +shouldBe(eval(`99; for (x of [1,2]) { break; }`), undefined); +shouldBe(eval(`99; for (x of [1,2]) { break; 3; }`), undefined); +shouldBe(eval(`99; for (x of [1,2]) x`), 2); +shouldBe(eval(`99; for (x of [1,2]) { x }`), 2); +shouldBe(eval(`99; for (x of [1,2]) { x; break }`), 1); +shouldBe(eval(`99; for (x of [1,2]) { x; break; 3 }`), 1); +shouldBe(eval(`99; for (x of [1,2]) { x; continue }`), 2); +shouldBe(eval(`99; for (x of [1,2]) { x; continue; 3 }`), 2); + +// ForIn +shouldBe(eval(`99; for (var x in {}) -1;`), undefined); +shouldBe(eval(`99; for (x in {}) -1;`), undefined); +shouldBe(eval(`99; for (var x in {a:1,b:2});`), undefined); +shouldBe(eval(`99; for (x in {a:1,b:2});`), undefined); +shouldBe(eval(`99; for (x in {a:1,b:2}) {}`), undefined); +shouldBe(eval(`99; for (x in {a:1,b:2}) break;`), undefined); +shouldBe(eval(`99; for (x in {a:1,b:2}) { break; }`), undefined); +shouldBe(eval(`99; for (x in {a:1,b:2}) { break; 3; }`), undefined); +shouldBe(eval(`99; for (x in {a:1,b:2}) x`), "b"); +shouldBe(eval(`99; for (x in {a:1,b:2}) { x }`), "b"); +shouldBe(eval(`99; for (x in {a:1,b:2}) { x; break }`), "a"); +shouldBe(eval(`99; for (x in {a:1,b:2}) { x; break; 3 }`), "a"); +shouldBe(eval(`99; for (x in {a:1,b:2}) { x; continue }`), "b"); +shouldBe(eval(`99; for (x in {a:1,b:2}) { x; continue; 3 }`), "b"); + +// SwitchStatement +shouldBe(eval(`99; switch (1) { }`), undefined); +shouldBe(eval(`99; switch (1) { default:}`), undefined); +shouldBe(eval(`99; switch (1) { default:42}`), 42); +shouldBe(eval(`99; switch (1) { default:break;}`), undefined); +shouldBe(eval(`99; switch (1) { case 1: /* empty */ }`), undefined); +shouldBe(eval(`99; switch (1) { case 1: 42 }`), 42); +shouldBe(eval(`99; switch (1) { case 1: break; }`), undefined); +shouldBe(eval(`99; switch (1) { case 1: break; }`), undefined); +shouldBe(eval(`99; switch (1) { case 2: case 1: /* empty */ }`), undefined); +shouldBe(eval(`99; switch (1) { case 2: case 1: 42 }`), 42); +shouldBe(eval(`99; switch (1) { case 2: case 1: break; }`), undefined); +shouldBe(eval(`99; switch (1) { case 2: case 1: 42; break; }`), 42); +shouldBe(eval(`99; switch (1) { case 1: case 2: /* empty */ }`), undefined); +shouldBe(eval(`99; switch (1) { case 1: case 2: 42 }`), 42); +shouldBe(eval(`99; switch (1) { case 1: case 2: break; }`), undefined); +shouldBe(eval(`99; switch (1) { case 1: case 2: 42; break; }`), 42); +shouldBe(eval(`99; switch (1) { case 1: 42; case 2: /* empty */ }`), 42); +shouldBe(eval(`99; switch (1) { case 1: -1; case 2: 42 }`), 42); +shouldBe(eval(`99; switch (1) { case 1: 42; case 2: break; }`), 42); +shouldBe(eval(`99; switch (1) { case 1: -1; case 2: 42; break; }`), 42); +shouldBe(eval(`99; switch (1) { case 0: -1; break; case 1: 42; break; default: -1; break; }`), 42); +shouldBe(eval(`99; switch (1) { case 0: -1; break; case 1: /* empty */; break; default: -1; break; }`), undefined); +shouldBe(eval(`99; switch (1) { case 0: -1; break; case 1: 42; break; default: -1; break; }`), 42); + +// WithStatement +shouldBe(eval(`99; with (true);`), undefined); +shouldBe(eval(`99; with (true) {}`), undefined); +shouldBe(eval(`99; with (true) 42;`), 42); +shouldBe(eval(`99; with (true) { 42 }`), 42); + +// TryCatchFinally / ThrowStatement +shouldBe(eval(`99; try {} catch (e) {-1};`), undefined); +shouldBe(eval(`99; try {} catch (e) {-1} finally {-2};`), undefined); +shouldBe(eval(`99; try {42} catch (e) {-1};`), 42); +shouldBe(eval(`99; try {42} catch (e) {-1} finally {-2};`), 42); +shouldBe(eval(`99; try { [].x.x } catch (e) {};`), undefined); +shouldBe(eval(`99; try { [].x.x } catch (e) {42} finally {-2};`), 42); +shouldBe(eval(`99; try { throw 42 } catch (e) {e};`), 42); +shouldBe(eval(`99; try { throw 42 } catch (e) {e} finally {-2};`), 42); + +// Break Statement where it is not normally available. +shouldBe(eval(`99; do { -99; if (true) { break; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (true) { 42; break; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; if (false) { } else { break; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (false) { } else { 42; break; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; with (true) { break; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; with (true) { 42; break; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { break; } catch (e) { -1 }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; break; } catch (e) { -1 }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { break; } catch (e) {-1} finally {-2}; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; break; } catch (e) {-1} finally {-2}; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { break; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; break; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { break; } finally {-2}; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; break; } finally {-2}; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { 42 } catch (e) { -1 } finally { -2; break; -3 }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; } finally { -2; break; -3 }; } while (false);`), 42); + +// Break Statement where it is not normally available with other surrounding statements. +shouldBe(eval(`99; do { -99; if (true) { break; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (true) { 42; break; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; if (false) { } else { break; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (false) { } else { 42; break; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; with (true) { break; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; with (true) { 42; break; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { break; } catch (e) { -1 }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; break; } catch (e) { -1 }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { break; } catch (e) {-1} finally {-2}; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; break; } catch (e) {-1} finally {-2}; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { break; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; break; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { break; } finally {-2}; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; break; } finally {-2}; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { 42 } catch (e) { -1 } finally { -2; break; -3 }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; } finally { -2; break; -3 }; -77 } while (false);`), 42); + +// Continue Statement where it is not normally available. +shouldBe(eval(`99; do { -99; if (true) { continue; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (true) { 42; continue; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; if (false) { } else { continue; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (false) { } else { 42; continue; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; with (true) { continue; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; with (true) { 42; continue; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { continue; } catch (e) { -1 }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; continue; } catch (e) { -1 }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { continue; } catch (e) {-1} finally {-2}; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; continue; } catch (e) {-1} finally {-2}; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { continue; }; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; continue; }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { continue; } finally {-2}; } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; continue; } finally {-2}; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { 42 } catch (e) { -1 } finally { -2; continue; -3 }; } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; } finally { -2; continue; -3 }; } while (false);`), 42); + +// Continue Statement where it is not normally available with other surrounding statements. +shouldBe(eval(`99; do { -99; if (true) { continue; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (true) { 42; continue; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; if (false) { } else { continue; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; if (false) { } else { 42; continue; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; with (true) { continue; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; with (true) { 42; continue; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { continue; } catch (e) { -1 }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; continue; } catch (e) { -1 }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { continue; } catch (e) {-1} finally {-2}; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { 42; continue; } catch (e) {-1} finally {-2}; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { continue; }; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; continue; }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { continue; } finally {-2}; -77 } while (false);`), undefined); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; continue; } finally {-2}; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { 42 } catch (e) { -1 } finally { -2; continue; -3 }; -77 } while (false);`), 42); +shouldBe(eval(`99; do { -99; try { [].x.x } catch (e) { 42; } finally { -2; continue; -3 }; -77 } while (false);`), 42); + +// Early break to a label. +shouldBe(eval(`99; label: do { 1; if (true) { break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; if (true) { break label; 2; }; 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; with (true) { break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; with (true) { break label; 2; }; 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; do { break label; 2; } while (false); } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; do { break label; 2; } while (false); 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; try { break label; 2; } catch (e) {-1;} while (false); } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; try { break label; 2; } catch (e) {-1;} while (false); 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; while (true) { break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; while (true) { break label; 2; }; 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; for (;;) { break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; for (;;) { break label; 2; }; 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; for (var x in {a:77}) { break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; for (var x in {a:77}) { break label; 2; }; 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; for (var x of [77]) { break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; for (var x of [77]) { break label; 2; }; 3; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; switch (true) { default: break label; 2; }; } while (false);`), undefined); +shouldBe(eval(`99; label: do { 1; switch (true) { default: break label; 2; }; 3; } while (false);`), undefined); + +// FIXME: Module Only Statements: +// FIXME: ImportStatement +// FIXME: ExportStatement diff --git a/implementation-contributed/javascriptcore/stress/computed-accessor-parsing.js b/implementation-contributed/javascriptcore/stress/computed-accessor-parsing.js new file mode 100644 index 0000000000..3be9184b21 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/computed-accessor-parsing.js @@ -0,0 +1,112 @@ +function testShouldNotThrow(str) { + eval("function foo(){ var obj = {"+str+", x : 5 };}"); +} + +function testShouldThrow(str) { + var didThrow = false; + + try { + eval("var obj = {"+str+"};"); + } catch(e) { + didThrow = true; + } + + if (!didThrow) throw new Error("Should Throw");; +} + +testShouldNotThrow("get [x] () { return 1 }"); + +testShouldNotThrow("get [x] () { return 1 }"); +testShouldNotThrow("set [x] (value) { valueSet = value }"); + +testShouldNotThrow("get[x] () { return 1 }"); +testShouldNotThrow("set[x] (value) { valueSet = value }"); + +testShouldNotThrow("get [x]() { return 1 }"); +testShouldNotThrow("set [x](value) { valueSet = value }"); + +testShouldNotThrow("get[x]() { return 1 }"); +testShouldNotThrow("set[x](value) { valueSet = value }"); + +testShouldNotThrow("get [1] () { return 1 }"); +testShouldNotThrow("set [1] (value) { valueSet = value }"); + +testShouldNotThrow("get[1] () { return 1 }"); +testShouldNotThrow("set[1] (value) { valueSet = value }"); + +testShouldNotThrow("get [1]() { return 1 }"); +testShouldNotThrow("set [1](value) { valueSet = value }"); + +testShouldNotThrow("get[1]() { return 1 }"); +testShouldNotThrow("set[1](value) { valueSet = value }"); + +testShouldNotThrow("get [{ a : 'hi'}] () { return 1 }"); +testShouldNotThrow("set [{ b : 'ho'}] (value) { valueSet = value }"); + +testShouldNotThrow("get[{ a : 'hi'}] () { return 1 }"); +testShouldNotThrow("set[{ b : 'hi'}] (value) { valueSet = value }"); + +testShouldNotThrow("get [{ a : 'hi'}]() { return 1 }"); +testShouldNotThrow("set [{ b : 'hi'}](value) { valueSet = value }"); + +testShouldNotThrow("get[{ a : 'hi'}]() { return 1 }"); +testShouldNotThrow("set[{ b : 'hi'}](value) { valueSet = value }"); + +testShouldNotThrow("get [ { a : 'hi'} ] () { return 1 }"); +testShouldNotThrow("set [ { b : 'hi'} ] (value) { valueSet = value }"); + +testShouldNotThrow("get [{ a : 'hi'} ] () { return 1 }"); +testShouldNotThrow("set [{ b : 'hi'} ] (value) { valueSet = value }"); + +testShouldNotThrow("get [ { a : 'hi'}] () { return 1 }"); +testShouldNotThrow("set [ { b : 'hi'}] (value) { valueSet = value }"); + +testShouldNotThrow("get[ { a : 'hi'}] () { return 1 }"); +testShouldNotThrow("set[ { b : 'hi'}] (value) { valueSet = value }"); + +testShouldNotThrow("get[ { a : 'hi'}]() { return 1 }"); +testShouldNotThrow("set[ { b : 'hi'}](value) { valueSet = value }"); + +testShouldNotThrow("get [{ a : 'hi'} ]() { return 1 }"); +testShouldNotThrow("set [{ b : 'hi'} ](value) { valueSet = value }"); + +testShouldNotThrow("get[{ [\"goats\"] : 'hi'} ]() { return 1 }"); +testShouldNotThrow("set[{ [1] : 'hi'}] (value) { valueSet = value }"); + +testShouldNotThrow("get[{ [\"goats\"] : 'hi'} ]() { return 1 }"); +testShouldNotThrow("set[{ get [1]() { return 'hi' } }] (value) { valueSet = value }"); + + +testShouldThrow("get [] () { return 1 }"); +testShouldThrow("set [] (value) { valueSet = value }"); + +testShouldThrow("get [ () { return 1 }"); +testShouldThrow("set [ (value) { valueSet = value }"); + + +testShouldThrow("get [ () { return 1 }]"); +testShouldThrow("set [ (value) { valueSet = value }]"); + +testShouldThrow("geting [1] () { return 1 }"); +testShouldThrow("seting [2] (value) { valueSet = value }"); + +testShouldThrow("geting [1] () { return 1 }"); +testShouldThrow("seting [2] (value) { valueSet = value }"); + +testShouldThrow("g [1] () { return 1 }"); +testShouldThrow("s [2] (value) { valueSet = value }"); + + +testShouldThrow("get [1] (), a : 5"); +testShouldThrow("set [2] (value), a : 5"); + +testShouldThrow("get [1]{ return 5}, a : 5"); +testShouldThrow("set [2]{ return 4; }, a : 5"); + +// getters and setters work in classes. +testShouldNotThrow("x : class Val { get x() { return 4; } }"); +testShouldNotThrow("x : class Val { get [2] () { return 4; } }"); + +class Val{ + get ['hi']() { return 4; } +}; diff --git a/implementation-contributed/javascriptcore/stress/computed-accessor.js b/implementation-contributed/javascriptcore/stress/computed-accessor.js new file mode 100644 index 0000000000..8f50a61593 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/computed-accessor.js @@ -0,0 +1,522 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +// Class. +(function () { + { + class A { + get ['a' + 'b']() { + return 42; + } + } + let a = new A(); + shouldBe(a.ab, 42); + a.ab = 20000; + shouldBe(a.ab, 42); + } + + { + class A { + get ['a' + '0']() { + return 42; + } + } + let a = new A(); + shouldBe(a.a0, 42); + a.a0 = 20000; + shouldBe(a.a0, 42); + } + + { + class A { + get ['1' + '0']() { + return 42; + } + } + let a = new A(); + shouldBe(a[10], 42); + a[10] = 20000; + shouldBe(a[10], 42); + } + + { + class A { + get [0.1]() { + return 42; + } + } + let a = new A(); + shouldBe(a[0.1], 42); + a[0.1] = 20000; + shouldBe(a[0.1], 42); + } + + { + class A { + get [10.50]() { + return 42; + } + } + let a = new A(); + shouldBe(a[10.5], 42); + a[10.5] = 20000; + shouldBe(a[10.5], 42); + } + + { + function hello() { + return 'ok'; + } + class A { + get [hello()]() { + return 42; + } + } + let a = new A(); + shouldBe(a.ok, 42); + a.ok = 20000; + shouldBe(a.ok, 42); + } + + { + function hello() { + return 'ok'; + } + class A { + get [hello()]() { + return 42; + } + } + class Derived extends A { } + + let a = new Derived(); + shouldBe(a.ok, 42); + a.ok = 20000; + shouldBe(a.ok, 42); + } + + { + class A { + set ['a' + 'b'](value) { + this.value = value; + } + } + let a = new A(); + a.ab = 42; + shouldBe(a.value, 42); + shouldBe(a.ab, undefined); + } + + { + class A { + set ['a' + '0'](value) { + this.value = value; + } + } + let a = new A(); + a.a0 = 42; + shouldBe(a.value, 42); + shouldBe(a.a0, undefined); + } + + { + class A { + set ['1' + '0'](value) { + this.value = value; + } + } + let a = new A(); + a[10] = 42; + shouldBe(a.value, 42); + shouldBe(a[10], undefined); + } + + { + class A { + set [0.1](value) { + this.value = value; + } + } + let a = new A(); + a[0.1] = 42; + shouldBe(a.value, 42); + shouldBe(a[0.1], undefined); + } + + { + class A { + set [10.50](value) { + this.value = value; + } + } + let a = new A(); + a[10.5] = 42; + shouldBe(a.value, 42); + shouldBe(a[10.5], undefined); + } + + { + function hello() { + return 'ok'; + } + class A { + set [hello()](value) { + this.value = value; + } + } + let a = new A(); + a.ok = 42; + shouldBe(a.value, 42); + shouldBe(a.ok, undefined); + } + + { + function hello() { + return 'ok'; + } + class A { + set [hello()](value) { + this.value = value; + } + } + class Derived extends A { } + + let a = new Derived(); + a.ok = 42; + shouldBe(a.value, 42); + shouldBe(a.ok, undefined); + } +}()); + +// Class static. +(function () { + { + class A { + static get ['a' + 'b']() { + return 42; + } + } + shouldBe(A.ab, 42); + A.ab = 20000; + shouldBe(A.ab, 42); + } + + { + class A { + static get ['a' + '0']() { + return 42; + } + } + shouldBe(A.a0, 42); + A.a0 = 20000; + shouldBe(A.a0, 42); + } + + { + class A { + static get ['1' + '0']() { + return 42; + } + } + shouldBe(A[10], 42); + A[10] = 20000; + shouldBe(A[10], 42); + } + + { + class A { + static get [0.1]() { + return 42; + } + } + shouldBe(A[0.1], 42); + A[0.1] = 20000; + shouldBe(A[0.1], 42); + } + + { + class A { + static get [10.50]() { + return 42; + } + } + shouldBe(A[10.5], 42); + A[10.5] = 20000; + shouldBe(A[10.5], 42); + } + + { + function hello() { + return 'ok'; + } + class A { + static get [hello()]() { + return 42; + } + } + shouldBe(A.ok, 42); + A.ok = 20000; + shouldBe(A.ok, 42); + } + + { + function hello() { + return 'ok'; + } + class A { + static get [hello()]() { + return 42; + } + } + class Derived extends A { } + + shouldBe(Derived.ok, 42); + Derived.ok = 20000; + shouldBe(Derived.ok, 42); + } + + { + function hello() { + return 'ok'; + } + class A { + static get [hello()]() { + return 42; + } + } + class Derived extends A { } + + shouldBe(Derived.ok, 42); + Derived.ok = 20000; + shouldBe(Derived.ok, 42); + } + + { + class A { + static set ['a' + 'b'](value) { + this.value = value; + } + } + A.ab = 42; + shouldBe(A.value, 42); + shouldBe(A.ab, undefined); + } + + { + class A { + static set ['a' + '0'](value) { + this.value = value; + } + } + A.a0 = 42; + shouldBe(A.value, 42); + shouldBe(A.a0, undefined); + } + + { + class A { + static set ['1' + '0'](value) { + this.value = value; + } + } + A[10] = 42; + shouldBe(A.value, 42); + shouldBe(A[10], undefined); + } + + { + class A { + static set [0.1](value) { + this.value = value; + } + } + A[0.1] = 42; + shouldBe(A.value, 42); + shouldBe(A[0.1], undefined); + } + + { + class A { + static set [10.50](value) { + this.value = value; + } + } + A[10.5] = 42; + shouldBe(A.value, 42); + shouldBe(A[10.5], undefined); + } + + { + function hello() { + return 'ok'; + } + class A { + static set [hello()](value) { + this.value = value; + } + } + A.ok = 42; + shouldBe(A.value, 42); + shouldBe(A.ok, undefined); + } + + { + function hello() { + return 'ok'; + } + class A { + static set [hello()](value) { + this.value = value; + } + } + class Derived extends A { } + + Derived.ok = 42; + shouldBe(Derived.value, 42); + shouldBe(Derived.ok, undefined); + } +}()); + + +// Object. +(function () { + { + var a = { + get ['a' + 'b']() { + return 42; + } + } + shouldBe(a.ab, 42); + a.ab = 20000; + shouldBe(a.ab, 42); + } + + { + var a = { + get ['a' + '0']() { + return 42; + } + } + shouldBe(a.a0, 42); + a.a0 = 20000; + shouldBe(a.a0, 42); + } + + { + var a = { + get ['1' + '0']() { + return 42; + } + } + shouldBe(a[10], 42); + a[10] = 20000; + shouldBe(a[10], 42); + } + + { + var a = { + get [0.1]() { + return 42; + } + } + shouldBe(a[0.1], 42); + a[0.1] = 20000; + shouldBe(a[0.1], 42); + } + + { + var a = { + get [10.50]() { + return 42; + } + } + shouldBe(a[10.5], 42); + a[10.5] = 20000; + shouldBe(a[10.5], 42); + } + + { + function hello() { + return 'ok'; + } + var a = { + get [hello()]() { + return 42; + } + } + shouldBe(a.ok, 42); + a.ok = 20000; + shouldBe(a.ok, 42); + } + + { + var a = { + set ['a' + 'b'](value) { + this.value = value; + } + } + a.ab = 42; + shouldBe(a.value, 42); + shouldBe(a.ab, undefined); + } + + { + var a = { + set ['a' + '0'](value) { + this.value = value; + } + } + a.a0 = 42; + shouldBe(a.value, 42); + shouldBe(a.a0, undefined); + } + + { + var a = { + set ['1' + '0'](value) { + this.value = value; + } + } + a[10] = 42; + shouldBe(a.value, 42); + shouldBe(a[10], undefined); + } + + { + var a = { + set [0.1](value) { + this.value = value; + } + } + a[0.1] = 42; + shouldBe(a.value, 42); + shouldBe(a[0.1], undefined); + } + + { + var a = { + set [10.50](value) { + this.value = value; + } + } + a[10.5] = 42; + shouldBe(a.value, 42); + shouldBe(a[10.5], undefined); + } + + { + function hello() { + return 'ok'; + } + var a = { + set [hello()](value) { + this.value = value; + } + } + a.ok = 42; + shouldBe(a.value, 42); + shouldBe(a.ok, undefined); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/computed-function-names.js b/implementation-contributed/javascriptcore/stress/computed-function-names.js new file mode 100644 index 0000000000..960553e2f0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/computed-function-names.js @@ -0,0 +1,68 @@ +let nullSymbol = Symbol(); + +let propKeys = [ + "foo", "", undefined, null, true, false, 0, 10, 1234.567, + Symbol("foo"), Symbol(""), nullSymbol, +]; + +function toKeyString(x) { + if (typeof x === "string") + return '"' + x + '"'; + if (typeof x === "symbol") + return x.toString(); + return "" + x; +} + +function toFuncName(x) { + if (typeof x === "symbol") { + if (x !== nullSymbol) { + let str = x.toString(); + let key = str.slice(7, str.length - 1); + return "[" + key + "]"; + } + return ""; + } + return "" + x; +} + +function shouldBe(title, actual, expected) { + if (actual !== expected) + throw Error(title + ": actual:" + actual + " expected:" + expected); +} + +function makeObj(propKey, classMethodName) { + return { + [propKey]: class { static [classMethodName](){} }, + }; +} +noInline(makeObj); + +for (var i = 0; i < 1000; i++) { + for (var k = 0; k < propKeys.length; k++) { + let key = propKeys[k]; + let o = makeObj(key, "prop"); + shouldBe("typeof o[" + toKeyString(key) + "].name", typeof o[key].name, "string"); + shouldBe("o[" + toKeyString(key) + "].name", o[key].name, toFuncName(key)); + } + + for (var k = 0; k < propKeys.length; k++) { + let key = propKeys[k]; + let o = makeObj(key, "name"); + shouldBe("typeof o[" + toKeyString(key) + "].name", typeof o[key], "function"); + } + + for (var k = 0; k < propKeys.length; k++) { + let key = propKeys[k]; + let prop = { toString() { return "prop" } }; + let o = makeObj(key, prop); + shouldBe("typeof o[" + toKeyString(key) + "].name", typeof o[key].name, "string"); + shouldBe("o[" + toKeyString(key) + "].name", o[key].name, toFuncName(key)); + } + + for (var k = 0; k < propKeys.length; k++) { + let key = propKeys[k]; + let prop = { toString() { return "name" } }; + let o = makeObj(key, prop); + shouldBe("typeof o[" + toKeyString(key) + "].name", typeof o[key], "function"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/concat-append-one-with-sparse-array.js b/implementation-contributed/javascriptcore/stress/concat-append-one-with-sparse-array.js new file mode 100644 index 0000000000..2451330fa4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/concat-append-one-with-sparse-array.js @@ -0,0 +1,6 @@ +//@ skip + +let length = 0x10001000; + +let foo = new Array(length); +foo.concat(1); diff --git a/implementation-contributed/javascriptcore/stress/concat-with-holesMustForwardToPrototype.js b/implementation-contributed/javascriptcore/stress/concat-with-holesMustForwardToPrototype.js new file mode 100644 index 0000000000..3a02dcacb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/concat-with-holesMustForwardToPrototype.js @@ -0,0 +1,19 @@ +Array.prototype[1] = 5; + +function arrayEq(a, b) { + if (a.length !== b.length) + throw new Error([a, "\n\n", b]); + + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + throw new Error([a, "\n\n", b]); + } +} + + +let obj = {}; +arrayEq([1,2,3].concat(4), [1,2,3,4]); +arrayEq([1,2,3].concat(1.34), [1,2,3,1.34]); +arrayEq([1.35,2,3].concat(1.34), [1.35,2,3,1.34]); +arrayEq([1.35,2,3].concat(obj), [1.35,2,3,obj]); +arrayEq([1,2,3].concat(obj), [1,2,3,obj]); diff --git a/implementation-contributed/javascriptcore/stress/const-and-with-statement.js b/implementation-contributed/javascriptcore/stress/const-and-with-statement.js new file mode 100644 index 0000000000..0b25865adc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/const-and-with-statement.js @@ -0,0 +1,115 @@ +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowInvalidConstAssignment(f) { + var threw = false; + try { + f(); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); +} +noInline(shouldThrowInvalidConstAssignment); + + +// Tests + +const NUM_LOOPS = 100; + +;(function() { + function foo() { + const x = 40; + with ({x : 100}) { + assert(x === 100); + } + with ({y : 100}) { + assert(x === 40); + } + } + noInline(foo); + + function bar() { + const x = 40; + function capX() { return x; } + with ({x : 100}) { + if (truth()) { + const x = 50; + const capX = function() { return x; } + assert(x === 50); + assert(capX() === x); + } + assert(x === 100); + assert(capX() === 40); + } + with ({y : 100}) { + if (truth()) { + const x = 50; + const capX = function() { return x; } + assert(x === 50); + assert(capX() === x); + } + assert(x === 40); + assert(capX() === 40); + } + } + noInline(bar); + + function baz() { + const x = 40; + function capX() { return x; } + with ({x : 100}) { + if (truth()) { + const x = 50; + assert(x === 50); + } + assert(x === 100); + assert(capX() === 40); + } + with ({y : 100}) { + if (truth()) { + const x = 50; + assert(x === 50); + } + assert(x === 40); + assert(capX() === 40); + } + } + noInline(baz); + + for (let i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + baz(); + } +})(); + + +;(function() { + function foo() { + const x = 40; + with ({x : 100}) { + assert(x === 100); + x = 20; + assert(x === 20); + } + assert(x === 40); + with ({y : 100}) { + assert(x === 40); + x = 100; + } + } + for (let i = 0; i < NUM_LOOPS; ++i) { + shouldThrowInvalidConstAssignment(foo); + } + +})(); diff --git a/implementation-contributed/javascriptcore/stress/const-exception-handling.js b/implementation-contributed/javascriptcore/stress/const-exception-handling.js new file mode 100644 index 0000000000..da43430647 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/const-exception-handling.js @@ -0,0 +1,204 @@ +"use strict"; + +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +// Tests + + +const NUM_LOOPS = 100; + +;(function () { +function foo() { + const x = 20; + const y = "y"; + try { + assert(x === 20); + assert(y === "y"); + throw "error"; + } catch(e) { + assert(x === 20); + } finally { + assert(x === 20); + assert(y === "y"); + } + + for (let i = 0; i < 1; i++) { + let numFinally = 0; + try { + let a = 40; + let capA = function() { return a; } + assert(capA() === 40); + try { + const b = 41; + const capB = function() { return b; } + assert(capB() === 41); + assert(capA() === 40); + try { + return 20; + } catch(e){ + } finally { + const c = 42; + const capC = function() { return c; } + assert(capC() === 42); + assert(capB() === 41); + assert(capA() === 40); + if (i === 0) { + numFinally++; + } + return 22; + } + } catch(e) { + } finally { + if (i === 0) { + numFinally++; + } + return 23; + } + } catch(e) { + } finally { + if (i === 0) { + numFinally++; + } + assert(numFinally === 3); + return 24; + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 24); +} + +})(); + + +;(function () { +function foo() { + for (let i = 0; i < 1; i++) { + let numFinally = 0; + let numErrors = 0; + try { + let a = 40; + let capA = function() { return a; } + assert(capA() === 40); + try { + const b = 41; + const capB = function() { return b; } + assert(capB() === 41); + assert(capA() === 40); + try { + throw "e"; + } catch(e) { + assert(i === 0); + assert(capB() === 41); + assert(capA() === 40); + numErrors++; + throw e; + } finally { + const c = 42; + const capC = function() { return c; } + const local = "local"; + assert(local === "local"); + assert(capC() === 42); + assert(capB() === 41); + assert(capA() === 40); + if (i === 0) { + numFinally++; + } + } + } catch(e) { + assert(i === 0); + assert(capA() === 40); + numErrors++; + const local = "local"; + assert(local === "local"); + } finally { + assert(capA() === 40); + if (i === 0) { + numFinally++; + } + const local = "local"; + assert(local === "local"); + return 23; + } + } catch(e) { + //assert(i === 0); + } finally { + if (i === 0) { + numFinally++; + } + + assert(numFinally === 3); + assert(numErrors === 2); + return 24; + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 24); +} + +})(); + + +var d = 100; +;(function (){ +function foo() { + assert(d === 100); + for (let i = 0; i < 1; i++) { + let numFinally = 0; + let numErrors = 0; + const c = 44; + assert(d === 100); + try { + const d = 45; + if (truth()) { + const a = 20; + const capA = function() { return a; } + assert(capA() === 20); + if (truth()) { + const b = 21; + const e = 48; + const capB = function() { return b; } + assert(capB() === 21); + assert(d === 45); + try { + throw "e"; + } catch(e) { + assert(capA() === 20); + assert(a === 20); + numErrors++; + } finally { + assert(capA() === 20); + assert(e === 48); + numFinally++; + return 30; + } + } + } + } finally { + assert(c === 44); + assert(d === 100); + numFinally++; + assert(numFinally === 2); + assert(numErrors === 1); + return 40; + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 40); +} + +})(); diff --git a/implementation-contributed/javascriptcore/stress/const-loop-semantics.js b/implementation-contributed/javascriptcore/stress/const-loop-semantics.js new file mode 100644 index 0000000000..9ac1a668af --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/const-loop-semantics.js @@ -0,0 +1,130 @@ +"use strict"; +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); +function shouldThrowInvalidConstAssignment(f) { + var threw = false; + try { + f(); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); +} +noInline(shouldThrowInvalidConstAssignment); + + +// ========== tests below =========== + +const NUM_LOOPS = 1000; + +;(function() { + function foo() { + const obj = {a: 20, b: 40, c: 50}; + const props = []; + for (const p in obj) + props.push(p); + assert(props.length === 3); + for (const p of props) + assert(!!obj[p]); + assert(props.indexOf("a") !== -1); + assert(props.indexOf("b") !== -1); + assert(props.indexOf("c") !== -1); + } + + function bar() { + const funcs = []; + for (const item of [1, 2, 3]) + funcs.push(function() { return item; }); + let i = 1; + assert(funcs.length === 3); + for (const f of funcs) { + assert(f() === i); + i++; + } + } + function baz() { + const funcs = []; + const obj = {a:1, b:2, c:3}; + for (const p in obj) + funcs.push(function() { return p; }); + let i = 1; + assert(funcs.length === 3); + for (const f of funcs) { + assert(obj[f()] === i); + i++; + } + } + function taz() { + for (const item of [1,2,3]) { + const item = 20; + assert(item === 20); + } + } + function jaz() { + let i = 0; + for (const x = 40; i < 10; i++) { + assert(x === 40); + } + } + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + baz(); + taz(); + jaz(); + } +})(); + +;(function() { + function foo() { + for (const item of [1,2,3]) + item = 20; + } + function bar() { + for (const item of [1,2,3]) + eval("item = 20") + } + function baz() { + for (const p in {a: 20, b: 40}) + p = 20; + } + function taz() { + for (const p in {a: 20, b: 40}) + eval("p = 20") + } + function jaz() { + for (const x = 0; x < 10; x++) { } + } + function raz() { + for (const x = 0; x < 10; ++x) { } + } + function paz() { + for (const x = 0; x < 10; x++) { + let f = function() { return x; } + } + } + function maz() { + for (const x = 0; x < 10; ++x) { + let f = function() { return x; } + } + } + for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowInvalidConstAssignment(foo); + shouldThrowInvalidConstAssignment(bar); + shouldThrowInvalidConstAssignment(baz); + shouldThrowInvalidConstAssignment(taz); + shouldThrowInvalidConstAssignment(jaz); + shouldThrowInvalidConstAssignment(raz); + shouldThrowInvalidConstAssignment(paz); + shouldThrowInvalidConstAssignment(maz); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/const-not-strict-mode.js b/implementation-contributed/javascriptcore/stress/const-not-strict-mode.js new file mode 100644 index 0000000000..79cdaefbce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/const-not-strict-mode.js @@ -0,0 +1,147 @@ +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + + +// Tests + + +const NUM_LOOPS = 1000; + +;(function() { +function foo() { + delete x; + const x = 20; +} +function bar() { + delete x; + const x = 20; + function capX() { return x; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} + +})(); + + +;(function() { + +function foo() { + var hadError = false; + try { + x; + } catch(e) { + hadError = true; + } + assert(hadError); + + if (truth()) { + // This eval is enterpreted as follows: + // eval("var x; x = 20"); + // We first assign undefined to the "var x". + // Then, we interperet an assignment expression + // into the resolved variable x. x resolves to the lexical "const x;" + // Look at ECMA section 13.3.2.4 of the ES6 spec: + // http://www.ecma-international.org/ecma-262/6.0/index.html#sec-variable-statement-runtime-semantics-evaluation + // And also look at section 8.3.1 ResolveBinding: + // http://www.ecma-international.org/ecma-262/6.0/index.html#sec-resolvebinding + const x = 40; + let threw = false; + try { + eval("var x = 20;"); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); + assert(x === 40); + } + assert(x === undefined); +} + +function bar() { + var hadError = false; + try { + x; + } catch(e) { + hadError = true; + } + assert(hadError); + + if (truth()) { + const x = 40; + function capX() { return x; } + let threw = false; + try { + eval("var x = 20;"); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); + assert(x === 40); + } + assert(x === undefined); +} + +function baz() { + if (truth()) { + const x = 40; + eval("const x = 20; assert(x === 20);"); + assert(x === 40); + } + if (truth()) { + const x = 40; + function capX() { return x; } + eval("const x = 20; assert(x === 20);"); + assert(x === 40); + } +} + +function baz() { + // Test eval() caching. + const x = 20; + const evalString = "x;"; + + assert(eval(evalString) === 20); + if (truth()) { + const y = 60; + assert(eval(evalString) === 20); + assert(y === 60); + if (truth()) { + const y = 50, z = 70, x = 40; + assert(eval(evalString) === 40); + assert(y === 50 && z === 70); + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + baz(); +} + +})(); diff --git a/implementation-contributed/javascriptcore/stress/const-semantics.js b/implementation-contributed/javascriptcore/stress/const-semantics.js new file mode 100644 index 0000000000..d24e066664 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/const-semantics.js @@ -0,0 +1,274 @@ +"use strict"; +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); +function shouldThrowInvalidConstAssignment(f) { + var threw = false; + try { + f(); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); +} +noInline(shouldThrowInvalidConstAssignment); + + +// ========== tests below =========== + +const NUM_LOOPS = 1000; + + +;(function() { + function foo() { + const x = 40; + const {y} = {y: 50}, [z] = [60]; + assert(x === 40); + assert(y === 50); + assert(z === 60); + } + function bar() { + const x = 40; + const {y} = {y: 50}, [z] = [60]; + function capture() { return x + y + z; } + assert(x === 40); + assert(y === 50); + assert(z === 60); + assert(capture() === 150); + if (truth()) { + const x = "x"; + assert(x === "x"); + if (truth()) { + let x = 100; + const y = 200; + assert(x === 100); + assert(y === 200); + + x = 10; + assert(x === 10); + } + assert(x === "x"); + } + assert(x === 40); + } + function baz() { + let y = 10; + function sideEffects() { + y = 20; + } + + const x = 10; + try { + x = sideEffects(); + } catch(e) {} + assert(y === 20); + assert(x === 10); + + try { + x = y = 30; + } catch(e) {} + assert(y === 30); + assert(x === 10); + } + function taz() { + let y = 10; + let z; + function sideEffects() { + y = 20; + return ["hello", "world"]; + } + + const x = 10; + try { + [z, x] = sideEffects(); + } catch(e) {} + assert(y === 20); + assert(x === 10); + assert(z === "hello"); + } + function jaz() { + const x = "x"; + function capX() { return x; } + assert(x === "x"); + assert(capX() === "x"); + if (truth()) { + let y = 40; + let capY = function() { return y; } + assert(x === "x"); + assert(capX() === "x"); + } + assert(x === "x"); + assert(capX() === "x"); + } + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + baz(); + jaz(); + } +})(); + + +;(function() { + function foo() { + const x = 40; + x = 30; + } + function bar() { + const x = 40; + function capX() { return x; } + x = 30; + } + function baz() { + const x = 40; + assert(x === 40); + function bad() { x = 10; } + bad(); + } + function jaz() { + const x = 40; + assert(x === 40); + function bad() { eval("x = 10"); } + bad(); + } + function faz() { + const x = 40; + assert(x === 40); + eval("x = 10"); + } + function raz() { + const x = 40; + assert(x === 40); + ;({x} = {x: 20}); + } + function taz() { + const x = 40; + function capX() { return x; } + assert(capX() === 40); + ;({x} = {x: 20}); + } + function paz() { + const x = 20; + const y = x = 20; + } + for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowInvalidConstAssignment(foo); + shouldThrowInvalidConstAssignment(bar); + shouldThrowInvalidConstAssignment(baz); + shouldThrowInvalidConstAssignment(jaz); + shouldThrowInvalidConstAssignment(faz); + shouldThrowInvalidConstAssignment(raz); + shouldThrowInvalidConstAssignment(taz); + shouldThrowInvalidConstAssignment(paz); + } +})(); + + +;(function() { + function foo() { + const x = 40; + eval("x = 30;"); + } + function bar() { + const x = 20; + x += 20; + } + function baz() { + const x = 20; + x -= 20; + } + function taz() { + const x = 20; + shouldThrowInvalidConstAssignment(function() { x = 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x += 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x -= 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x *= 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x /= 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x >>= 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x <<= 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x ^= 20; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x++; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { x--; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { ++x; }); + assert(x === 20); + shouldThrowInvalidConstAssignment(function() { --x; }); + assert(x === 20); + } + function jaz() { + const x = 20; + let threw = false; + try { x = 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x += 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x -= 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x *= 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x /= 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x >>= 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x <<= 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x ^= 20; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { x++; } catch(e) { threw = true} + assert(threw); + + + threw = false; + try { x--; } catch(e) { threw = true} + assert(threw); + + + threw = false; + try { ++x; } catch(e) { threw = true} + assert(threw); + + threw = false; + try { --x; } catch(e) { threw = true}; + assert(threw); + } + for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowInvalidConstAssignment(foo); + shouldThrowInvalidConstAssignment(bar); + shouldThrowInvalidConstAssignment(baz); + taz(); + jaz(); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/const-tdz.js b/implementation-contributed/javascriptcore/stress/const-tdz.js new file mode 100644 index 0000000000..cdf1a57a5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/const-tdz.js @@ -0,0 +1,450 @@ +"use strict"; + +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + +// Test cases + +const NUM_LOOPS = 1000; +const SHORT_LOOPS = 100; + +;(function() { +function foo() { + x; + const x = 20; +} +function bar() { + const x = x; +} +function baz() { + const {x: prop, y: prop2} = {x: prop}; +} +function jaz() { + const {x: prop, y: prop2} = {x: 20, y: prop}; +} +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(jaz); +} +})(); + + +;(function() { +function foo() { + x; + const x = 20; + function captureX() { return x; } +} +function bar() { + captureX(); + const x = 20; + function captureX() { return x; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +;(function() { +function foo() { + if (truth()) { + const x = 20; + assert(x === 20); + } + x; + const x = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + + +;(function() { +function foo() { + if (truth()) { + const y = 20; + const captureY = function() { return y; } + assert(y === 20); + x; + } + const x = 20; + const y = 40; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + if (truth()) { + const y = 20; + const x = 40; + const captureAll = function() { return x + y; } + assert(y === 20); + assert(x === 40); + assert(captureAll() === 60); + } + tdz; + const tdz = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + if (truth()) { + const y = 20; + const x = 40; + const captureAll = function() { return x + y + tdz; } + assert(y === 20); + assert(x === 40); + } + tdz; + const tdz = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + x = 10; + const x = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + x = 10; + const x = 20; + function cap() { return x; } +} +function bar() { + captureX(); + const x = 20; + function captureX() { return x; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +;(function() { +function foo() { + if (!truth()) { + y; + assert(false); + } + const y = undefined; + assert(y === undefined); + if (truth()) { + x; + } + const x = undefined; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + eval("x;"); + const x = 20; +} +function bar() { + function captureX() { return x; } + eval("captureX();"); + const x = 20; +} +function baz() { + function captureX() { return x; } + function other() { return captureX; } + other()(); + const x = 20; +} + +for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); +} +})(); + + +;(function() { +function foo() { + const y = 40; + eval("y; x;"); + const x = 20; +} + +for (var i = 0; i < 1; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + const x = 20; + const y = 40; + assert(eval("x;") === 20); + if (truth()) { + assert(eval("eval('y');") === 40); + eval("eval('x');"); + const x = 40; + } +} + +for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +// FunctionResolveNode +;(function() { +function foo() { + function captureX() { return x; } + x(); + const x = function() { return 20; }; +} + +function bar() { + x(); + let x = function() { return 20; }; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +// TypeofResolveNode +;(function() { +function foo() { + function captureX() { return x; } + typeof x; + const x = function() { return 20; }; +} + +function bar() { + typeof x; + const x = function() { return 20; }; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +// ReadModifyResolveNode +;(function() { +function foo() { + function captureX() { return x; } + x++; + const x = 20; +} + +function bar() { + x--; + const x = 30; +} + +function baz() { + x *= 40; + const x = 30; +} + +function kaz() { + function captureX() { return x; } + x /= 20; + const x = 20; +} + +function haz() { + function captureX() { return x; } + --x; + const x = 20; +} + +function jaz() { + --x; + const x = 30; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(kaz); + shouldThrowTDZ(haz); + shouldThrowTDZ(jaz); +} +})(); + + +;(function() { +function foo(x) { + const y = 50; + let result = null; + switch(x) { + case 10: + const y = 40; + assert(y === 40); + case 20: + y += 1; + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} +function bar(x) { + const y = 50; + let result = null; + switch(x) { + case 10: + const y = 40; + assert(y === 40); + case 20: + const capY = function() { return y; } + y += 1; + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} +function baz(x) { + const y = 50; + let result = null; + switch(x) { + case 10: + const y = 40; + assert(y === 40); + case 20: + let inc = function() { y += 1; } + inc(); + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(function() { foo(20); }); + shouldThrowTDZ(function() { bar(20); }); + shouldThrowTDZ(function() { baz(20); }); +} +})(); + + +;(function() { +function foo() { + [x] = [1]; + const x = null; +} + +function boo() { + [x] = [1]; + const x = 20; + function capX() { return x; } +} + +function bar() { + ({a, p: y} = {a: 100, p: 40}); + const y = 40; +} + +function zar() { + ({a, p: y} = {a: 100, p: 40}); + const y = 10; + function capY() { return y; } +} + +function baz() { + ({a, p: {y}} = {a: 100, p: {p: {y: 40}}}); + const y = 100; +} + +function jaz() { + ({y} = {}); + const y = null; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(boo); + shouldThrowTDZ(bar); + shouldThrowTDZ(zar); + shouldThrowTDZ(baz); + shouldThrowTDZ(jaz); +} +})(); diff --git a/implementation-contributed/javascriptcore/stress/constant-closure-var-with-dynamic-invalidation.js b/implementation-contributed/javascriptcore/stress/constant-closure-var-with-dynamic-invalidation.js new file mode 100644 index 0000000000..42ae9e1d5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/constant-closure-var-with-dynamic-invalidation.js @@ -0,0 +1,17 @@ +(function() { + var x = 42; + var result = 0; + var n = 100000; + var m = 100; + for (var i = 0; i < n; ++i) { + result += x; + (function() { + with ({}) { + if (i == n - m - 1) + x = 53; + } + })(); + } + if (result != 42 * (n - m) + 53 * m) + throw "Error: bad result: " + result; +})(); diff --git a/implementation-contributed/javascriptcore/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js b/implementation-contributed/javascriptcore/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js new file mode 100644 index 0000000000..c233d601d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/constant-fold-multi-get-by-offset-to-get-by-offset-on-prototype-and-sink-allocation.js @@ -0,0 +1,38 @@ +function ThingA() { +} + +ThingA.prototype = {f:1}; + +function ThingB() { +} + +ThingB.prototype = {f:2}; + +function foo(o, p) { + return p ? o.f : -1; +} + +for (var i = 0; i < 10000; ++i) { + foo(new ThingA(), true); + foo(new ThingB(), true); + ThingA.prototype.f = i; + ThingB.prototype.f = i + 1; +} + +function bar(p) { + return foo(new ThingA(), p); +} + +ThingA.prototype.f = 42; + +for (var i = 0; i < 10000; ++i) { + var result = bar(false); + if (result != -1) + throw new Error("Bad result in loop: " + result); +} + +var result = bar(true); +if (result != 42) + throw new Error("Bad result: " + result); + + diff --git a/implementation-contributed/javascriptcore/stress/constant-folding-osr-exit.js b/implementation-contributed/javascriptcore/stress/constant-folding-osr-exit.js new file mode 100644 index 0000000000..12bbe18d07 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/constant-folding-osr-exit.js @@ -0,0 +1,132 @@ +var foo = [ + function(o) { + var x = true; + o.f.f; + if (x) + return; + throw new Error(); + }, + function(o) { + var x = true; + o.f.f; + if (!x) + throw new Error(); + return; + }, + function(o) { + var x = 0; + var y = 1; + o.f.f; + if (x < y) + return; + throw new Error(); + }, + function(o) { + var x = 1; + var y = 0; + o.f.f; + if (x > y) + return; + throw new Error(); + }, + function(o) { + var x = 0; + var y = 1; + o.f.f; + if (x <= y) + return; + throw new Error(); + }, + function(o) { + var x = 1; + var y = 0; + o.f.f; + if (x >= y) + return; + throw new Error(); + }, + function(o) { + var x = 0; + var y = 1; + o.f.f; + if (x >= y) + throw new Error(); + return; + }, + function(o) { + var x = 1; + var y = 0; + o.f.f; + if (x <= y) + throw new Error(); + return; + }, + function(o) { + var x = 0; + var y = 1; + o.f.f; + if (x > y) + throw new Error(); + return; + }, + function(o) { + var x = 1; + var y = 0; + o.f.f; + if (x < y) + throw new Error(); + return; + }, + function(o) { + var x = 42; + o.f.f; + if (x == 42) + return; + throw new Error(); + }, + function(o) { + var x = 42; + o.f.f; + if (x != 42) + throw new Error(); + return; + }, + function(o) { + var x = 42; + o.f.f; + if (x === 42) + return; + throw new Error(); + }, + function(o) { + var x = 42; + o.f.f; + if (x !== 42) + throw new Error(); + return; + }, +]; +for (var i = 0; i < foo.length; ++i) + noInline(foo[i]); + +function test(o) { + var failed = []; + for (var i = 0; i < foo.length; ++i) { + try { + foo[i](o); + } catch (e) { + failed.push("Failed " + foo[i] + " with " + e); + } + } + if (failed.length) + throw failed; +} + +var object = {f:{f:42}}; + +for (var i = 0; i < 10000; ++i) { + test(object); +} + +test({f:{g:43}}); + diff --git a/implementation-contributed/javascriptcore/stress/constant-folding-phase-insert-check-handle-varargs.js b/implementation-contributed/javascriptcore/stress/constant-folding-phase-insert-check-handle-varargs.js new file mode 100644 index 0000000000..0d30a95da9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/constant-folding-phase-insert-check-handle-varargs.js @@ -0,0 +1,151 @@ +function __getRandomObject() { + for (let obj of __getObjects()) { + } +} +function __getRandomProperty() { + let properties = __getproperties(obj); + return properties[seed % properties.length]; +} +try { +} catch (e) { + this.WScript = new Proxy({}, { }); +} +(function () { function ValueOf() { switch (value) { } } })(this); + +(function (global) { })(this); + +function f1() { + v = v.map(() => { }) +} + +try { + f1(); +} catch (e) {} + +try { + f1(); +} catch (e) {} + +try { + __getRandomObject(983831)[__getRandomProperty(__getRandomObject(983831))](); +} catch (e) {} + +if (!'next') throw "Error: iterator prototype should have next method."; + +function f2() { + var v = a[0]; + if (v.next !== a[randoF2].next) throw "Error: next method is not the same."; +} +var a1 = []; +var sym = a1[Symbol.iterator](); +try { + __callRandomFunction(keys, 457796, keys, __getRandomObject(860068), keys, true, __getRandomObject(32567), -1073741825, null); + Object.defineProperty(keys, __getRandomProperty(), { }); + f2([a1[Symbol.iterator](), + keys.keys(), a1.entries()]); +} catch (e) {} + +var set1 = new Set([]); +var sym = set1[Symbol.iterator](); +var keys = set1.keys(); +var entries = set1.entries(); +try { + f2([set1[Symbol.iterator](), set1.keys(), set1.entries()]); +} catch (e) {} + +var map1 = new Map(); +try { + [[][ -10], [][ 2][ 1]].forEach(); +} catch (e) {} +var sym = map1[Symbol.iterator](); +var keys = map1.keys(); +var entries = map1.entries(); +try { + f2([map1[Symbol.iterator](), map1.keys(), map1.entries()]); +} catch (e) {} + +function f3() { + if (vl !== vl) throw new Error('bad value: ' + JSON.stringify(__v_19176)); +} + +var arr2 = []; +function f4() { + arr2.push(randov) + arr2.push(randov) +} +try { + f4`Hello`; +} catch (e) {} +try { + f4`World`; + f4`Hello`; +} catch (e) {} +try { + __callRandomFunction(arr2, 247938, set1, new Boolean(true), __getRandomObject(692620), -1e-15, __getRandomObject(276888)); +} catch (e) {} +if (set1 != null && typeof set1 == "object") try { + Object.defineProperty(set1, __getRandomProperty(), { + }); + f3(); + f3(arr2[0] !== arr2[1]); + f3(arr2[0] !== arr2[2]); + f4`Hello\n`; + f4`Hello\r`; +} catch (e) {} +try { + f3(arr2[1] !== arr2[2]); +} catch (e) {} +if (a1 != null && typeof a1 == "object") try { + Object.defineProperty(a1, __getRandomProperty(), { + }); +} catch (e) {} +try { + f3(arr2[1] !== arr2[3]); +} catch (e) {} +try { + f3(arr2[2] !== arr2[3]); +} catch (e) {} +try { + eval("tag`Hello\n${v}world`"); + eval("tag`Hello\n${v}world`"); + f3(); + f3(arr2[0] !== arr2[1]); +} catch (e) {} +try { + arr10[1][1] = set1 * 100 + 1 * 10 + 1; +} catch (e) {} +try { + arr10[1][1] = set1 * 100 + 1 * 10 + 1; +} catch (e) {} +try { + eval("tag`Hello${v}\nworld`"); + eval("tag`Hello${v}\nworld`"); + eval("tag`Hello\n${v}world`"); + delete a1[__getRandomProperty()](); +} catch (e) {} +try { + 106779[__getRandomProperty()](); +} catch (e) {} +try { + entries[__getRandomProperty()](); +} catch (e) {} +try { + set1[__getRandomProperty()](); +} catch (e) {} +try { + f3(); +} catch (e) {} +arr2[0] !== arr2[1] +gc(); +for (arr10 = 0; arr10 < 3; ++arr10) { + try { + } catch (e) {} + +} +try { + f4`Hello${ + 4}world`; +} catch (e) {} +for (var counter = 0x10000; counter < 0x10ffff; ++counter) { + var charCode = String.fromCharCode(); +} diff --git a/implementation-contributed/javascriptcore/stress/constant-folding-should-fold-make-rope-with-empty-strings.js b/implementation-contributed/javascriptcore/stress/constant-folding-should-fold-make-rope-with-empty-strings.js new file mode 100644 index 0000000000..953862ebfb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/constant-folding-should-fold-make-rope-with-empty-strings.js @@ -0,0 +1,61 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function unknown() +{ + return "OK"; +} +noInline(unknown); + +function readWord1(flag) +{ + var word = ""; + if (flag) { + word += unknown(); + } + return word + "HelloWorld"; +} +noInline(readWord1); + +function readWord2(flag) +{ + var word = ""; + if (flag) { + word += unknown(); + } + return "HelloWorld" + word; +} +noInline(readWord2); + +function readWord3(flag) +{ + var word = ""; + if (flag) { + word += unknown(); + } + return "" + word; +} +noInline(readWord3); + +function readWord4(flag) +{ + var word = ""; + if (flag) { + word += unknown(); + } + return "HelloWorld" + word + word; +} +noInline(readWord4); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(readWord1(false), "HelloWorld"); + shouldBe(readWord2(false), "HelloWorld"); + shouldBe(readWord3(false), ""); + shouldBe(readWord4(false), "HelloWorld"); +} +shouldBe(readWord1(true), "OKHelloWorld"); +shouldBe(readWord2(true), "HelloWorldOK"); +shouldBe(readWord3(true), "OK"); +shouldBe(readWord4(true), "HelloWorldOKOK"); diff --git a/implementation-contributed/javascriptcore/stress/construct-forward-varargs-for-inlined-escaped-arguments.js b/implementation-contributed/javascriptcore/stress/construct-forward-varargs-for-inlined-escaped-arguments.js new file mode 100644 index 0000000000..3c17f4239d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-forward-varargs-for-inlined-escaped-arguments.js @@ -0,0 +1,23 @@ +function foo() { + return arguments; +} + +function Baz(a, b, c) { + this.f = a + b + c; +} + +noInline(Baz); + +function bar(a, b, c) { + var args = foo(b, c, 42); + return new Baz(...args); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(1, 2, 3); + if (result.f != 47) + throw "Error: bad result: " + result.f; +} + diff --git a/implementation-contributed/javascriptcore/stress/construct-overwritten-variable.js b/implementation-contributed/javascriptcore/stress/construct-overwritten-variable.js new file mode 100644 index 0000000000..11e28d9c2f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-overwritten-variable.js @@ -0,0 +1,6 @@ +//@ runDefault + +(function(){ + var x = 42; + new x(x = function(){ }); +})(); diff --git a/implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable-2.js b/implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable-2.js new file mode 100644 index 0000000000..4d7976219c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable-2.js @@ -0,0 +1,6 @@ +//@ runDefault + +(function(){ + var x = 42; + new x(...[x = function(){ }]); +})(); diff --git a/implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable.js b/implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable.js new file mode 100644 index 0000000000..0a5b9b0d2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-spread-overwritten-variable.js @@ -0,0 +1,7 @@ +//@ runDefault + +(function(){ + var x = 42; + var a = [1, 2, 3]; + new x(x = function(){ }, ...a); +})(); diff --git a/implementation-contributed/javascriptcore/stress/construct-varargs-inline-smaller-Foo.js b/implementation-contributed/javascriptcore/stress/construct-varargs-inline-smaller-Foo.js new file mode 100644 index 0000000000..77b5b3df0b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-varargs-inline-smaller-Foo.js @@ -0,0 +1,35 @@ +function Foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + this.f = array; +} + +function bar(array) { + return new Foo(...array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.length != b.length) + throw "Error: bad value of c, length mismatch: " + a + " versus " + b; + for (var i = a.length; i--;) { + if (a[i] != b[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a + " versus " + b; + } +} + +function test(array) { + var expected = array; + var actual = bar(array).f; + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} + diff --git a/implementation-contributed/javascriptcore/stress/construct-varargs-inline.js b/implementation-contributed/javascriptcore/stress/construct-varargs-inline.js new file mode 100644 index 0000000000..ff4ccce952 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-varargs-inline.js @@ -0,0 +1,39 @@ +function Foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + this.f = {a:a, b:b, c:array}; +} + +function bar(array) { + return new Foo(...array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0], b:array[1], c:array}; + var actual = bar(array).f; + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} + diff --git a/implementation-contributed/javascriptcore/stress/construct-varargs-no-inline.js b/implementation-contributed/javascriptcore/stress/construct-varargs-no-inline.js new file mode 100644 index 0000000000..333646eedf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/construct-varargs-no-inline.js @@ -0,0 +1,41 @@ +function Foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + this.f = {a:a, b:b, c:array}; +} + +noInline(Foo); + +function bar(array) { + return new Foo(...array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0], b:array[1], c:array}; + var actual = bar(array).f; + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} + diff --git a/implementation-contributed/javascriptcore/stress/constructor-with-return.js b/implementation-contributed/javascriptcore/stress/constructor-with-return.js new file mode 100644 index 0000000000..d0a895b073 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/constructor-with-return.js @@ -0,0 +1,41 @@ +function Test(value, returnIt) { + this.value = value; + this.returnIt = returnIt; +} + +var tests = [ + new Test("string", false), + new Test(5, false), + new Test(6.5, false), + new Test(void(0), false), + new Test(null, false), + new Test(true, false), + new Test(false, false), + new Test(Symbol.iterator, false), + new Test({f:42}, true), + new Test([1, 2, 3], true), + new Test(new String("string"), true), + new Test(new Number(42), true), + new Test(new Boolean(false), true), + new Test(new Boolean(false), true), + new Test(Object(Symbol.iterator), true), +]; + +for (let i = 0; i < 1000; ++i) { + tests.forEach(function (test) { + function Constructor() { + return test.value; + } + + var result = new Constructor(); + if (test.returnIt) { + if (test.value !== result) { + throw "Bad result: " + result; + } + } else { + if (!(result instanceof Constructor)) { + throw "Bad result: " + result; + } + } + }); +} diff --git a/implementation-contributed/javascriptcore/stress/contiguous-array-unshift.js b/implementation-contributed/javascriptcore/stress/contiguous-array-unshift.js new file mode 100644 index 0000000000..2509d9c3a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/contiguous-array-unshift.js @@ -0,0 +1,6 @@ +//@ runDefault +var x = ['b', 'a']; +Array.prototype.unshift.call(x, 'c'); +if (x.toString() != "c,b,a") + throw "Error: bad result: " + describe(x); + diff --git a/implementation-contributed/javascriptcore/stress/cow-convert-contiguous-to-array-storage.js b/implementation-contributed/javascriptcore/stress/cow-convert-contiguous-to-array-storage.js new file mode 100644 index 0000000000..03c6170663 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-convert-contiguous-to-array-storage.js @@ -0,0 +1,25 @@ +function createBuffer() { + return [NaN, 2.0585345]; +} +noInline(createBuffer); + +function shouldBe(a, b) { + if (a !== b) + throw new Error(a + " should be === to " + b); +} + +function test() { + let array = createBuffer(); + array[1000000] = "test"; + shouldBe(createBuffer()[1000000], undefined); + array = createBuffer(); + let o = Object.create(array); + o[1000000] = "test"; + shouldBe(array[1000000], undefined); + shouldBe(createBuffer()[1000000], undefined); + shouldBe(Object.create(createBuffer())[1000000], undefined); +} +noInline(test); + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/cow-convert-double-to-array-storage.js b/implementation-contributed/javascriptcore/stress/cow-convert-double-to-array-storage.js new file mode 100644 index 0000000000..9782c09f9d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-convert-double-to-array-storage.js @@ -0,0 +1,25 @@ +function createBuffer() { + return [3.90295335646, 2.0585345]; +} +noInline(createBuffer); + +function shouldBe(a, b) { + if (a !== b) + throw new Error(a + " should be === to " + b); +} + +function test() { + let array = createBuffer(); + array[1000000] = "test"; + shouldBe(createBuffer()[1000000], undefined); + array = createBuffer(); + let o = Object.create(array); + o[1000000] = "test"; + shouldBe(array[1000000], undefined); + shouldBe(createBuffer()[1000000], undefined); + shouldBe(Object.create(createBuffer())[1000000], undefined); +} +noInline(test); + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/cow-convert-double-to-contiguous.js b/implementation-contributed/javascriptcore/stress/cow-convert-double-to-contiguous.js new file mode 100644 index 0000000000..55896b1aff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-convert-double-to-contiguous.js @@ -0,0 +1,28 @@ +function createBuffer() { + return [23.23421684, 2.0585345]; +} +noInline(createBuffer); + +function shouldBe(a, b) { + if (a !== b) + throw new Error(a + " should be === to " + b); +} + +function test() { + let array = createBuffer(); + array[-1] = "test"; + shouldBe(createBuffer()[-1], undefined); + array = createBuffer(); + array[1] = "test"; + shouldBe(createBuffer()[1], 2.0585345); + array = createBuffer(); + let o = Object.create(array); + o[1] = "test"; + shouldBe(array[1], 2.0585345); + shouldBe(createBuffer()[1], 2.0585345); + shouldBe(Object.create(createBuffer())[1], 2.0585345); +} +noInline(test); + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-array-storage.js b/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-array-storage.js new file mode 100644 index 0000000000..90a744da75 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-array-storage.js @@ -0,0 +1,25 @@ +function createBuffer() { + return [1, 2]; +} +noInline(createBuffer); + +function shouldBe(a, b) { + if (a !== b) + throw new Error(a + " should be === to " + b); +} + +function test() { + let array = createBuffer(); + array[100000000] = "test"; + shouldBe(createBuffer()[100000000], undefined); + array = createBuffer(); + let o = Object.create(array); + o[100000000] = "test"; + shouldBe(array[100000000], undefined); + shouldBe(createBuffer()[100000000], undefined); + shouldBe(Object.create(createBuffer())[100000000], undefined); +} +noInline(test); + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-contiguous.js b/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-contiguous.js new file mode 100644 index 0000000000..62e321b00a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-contiguous.js @@ -0,0 +1,28 @@ +function createBuffer() { + return [1, 2]; +} +noInline(createBuffer); + +function shouldBe(a, b) { + if (a !== b) + throw new Error(a + " should be === to " + b); +} + +function test() { + let array = createBuffer(); + array[-1] = "test"; + shouldBe(createBuffer()[-1], undefined); + array = createBuffer(); + array[1] = "test"; + shouldBe(createBuffer()[1], 2); + array = createBuffer(); + let o = Object.create(array); + o[1] = "test"; + shouldBe(array[1], 2); + shouldBe(createBuffer()[1], 2); + shouldBe(Object.create(createBuffer())[1], 2); +} +noInline(test); + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-double.js b/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-double.js new file mode 100644 index 0000000000..4dd378729f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-convert-int32-to-double.js @@ -0,0 +1,28 @@ +function createBuffer() { + return [1, 2]; +} +noInline(createBuffer); + +function shouldBe(a, b) { + if (a !== b) + throw new Error(a + " should be === to " + b); +} + +function test() { + let array = createBuffer(); + array[-1] = 7.43; + shouldBe(createBuffer()[-1], undefined); + array = createBuffer(); + array[1] = 6.9023; + shouldBe(createBuffer()[1], 2); + array = createBuffer(); + let o = Object.create(array); + o[1] = 5.43; + shouldBe(array[1], 2); + shouldBe(createBuffer()[1], 2); + shouldBe(Object.create(createBuffer())[1], 2); +} +noInline(test); + +for (let i = 0; i < 10000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/cow-define-length-as-value.js b/implementation-contributed/javascriptcore/stress/cow-define-length-as-value.js new file mode 100644 index 0000000000..0de9fcd86d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cow-define-length-as-value.js @@ -0,0 +1,19 @@ +function test(create) { + // Set length to be smaller. + Object.defineProperty(create(), "length", { value: 1 }); + + // Set length to be bigger. + Object.defineProperty(create(), "length", { value: 4 }); + + // Set length to be the same size + Object.defineProperty(create(), "length", { value: 3 }); +} + +// Test Int32. +test(() => [1, 2]); +// Test double +test(() => [1.123, 2.50934]); +// Test contiguous via NaN +test(() => [NaN, 2.50934]); +// Test contiguous via string +test(() => ["test", "42"]); diff --git a/implementation-contributed/javascriptcore/stress/create-direct-arguments-in-osr-should-initialize-to-undefined.js b/implementation-contributed/javascriptcore/stress/create-direct-arguments-in-osr-should-initialize-to-undefined.js new file mode 100644 index 0000000000..6c7904836c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-direct-arguments-in-osr-should-initialize-to-undefined.js @@ -0,0 +1,17 @@ +// This should not crash. + +function foo(a, b) { + let x = arguments; + OSRExit(); + return a + b; +} + +function bar(b) { + if (b) + foo(); +} +noInline(bar); + +for (let i = 0; i < 1000; ++i) { + bar(true); +} diff --git a/implementation-contributed/javascriptcore/stress/create-rest-while-having-a-bad-time.js b/implementation-contributed/javascriptcore/stress/create-rest-while-having-a-bad-time.js new file mode 100644 index 0000000000..e599681bec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-rest-while-having-a-bad-time.js @@ -0,0 +1,16 @@ +"use strict"; +function f(...v) { + return g(v); +} +function g() { + return h(); +} +function h() { +} + +for (let i = 0; i < 10000; ++i) { + f(0); + f(0, 0); +} + +Object.defineProperty(Array.prototype, "42", {}); diff --git a/implementation-contributed/javascriptcore/stress/create-subclass-structure-may-throw-exception-when-getting-prototype.js b/implementation-contributed/javascriptcore/stress/create-subclass-structure-may-throw-exception-when-getting-prototype.js new file mode 100644 index 0000000000..f78d1b378c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-subclass-structure-may-throw-exception-when-getting-prototype.js @@ -0,0 +1,44 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var bf = (function(){}).bind(); +Object.defineProperty(bf, "prototype", { + get() { throw Error("OK") } +}); + +[ + Array, + Date, + Boolean, + Function, + Number, + String, + RegExp, + Error, + Uint8Array, + ArrayBuffer, + Promise, + Map, + WeakMap, + Set, + WeakSet, +].forEach(function (constructor) { + shouldThrow(() => { + Reflect.construct(constructor, [], bf); + }, `Error: OK`); +}); + +// Proxy constructor is not aware of new.target. +Reflect.construct(Proxy, [{}, {}], bf); diff --git a/implementation-contributed/javascriptcore/stress/create-subclass-structure-might-throw.js b/implementation-contributed/javascriptcore/stress/create-subclass-structure-might-throw.js new file mode 100644 index 0000000000..ef8640fa6c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-subclass-structure-might-throw.js @@ -0,0 +1,34 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion."); +} + +let targets = [Function, String, Array, Set, Map, WeakSet, WeakMap, RegExp, Number, Promise, Date, Boolean, Error, TypeError, SyntaxError, ArrayBuffer, Int32Array, Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Uint32Array, Float32Array, Float64Array, DataView]; +for (let target of targets) { + let error = null; + let called = false; + let handler = { + get: function(theTarget, propName) { + assert(propName === "prototype"); + error = new Error; + called = true; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e === error); + error = null; + } + assert(threw); + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/create-this-property-change.js b/implementation-contributed/javascriptcore/stress/create-this-property-change.js new file mode 100644 index 0000000000..6a0e8d3962 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-this-property-change.js @@ -0,0 +1,49 @@ +var globalO; + +function Foo() +{ + this.g = 42; +} + +class RealBar extends Foo { + constructor() + { + var o = globalO; + var result = o.f; + super(); + result += o.f; + this.result = result; + } +} + +var doIntercept = false; +var didExecuteFGetter = false; +var Bar = new Proxy(RealBar, { + get: function(target, property, receiver) { + if (property == "prototype" && doIntercept) { + globalO.f = 666; + didExecuteFGetter = true; + } + return Reflect.get(target, property, receiver); + } +}); + +noInline(RealBar); + +for (var i = 0; i < 10000; ++i) { + (function() { + globalO = {f:43}; + var result = new Bar().result; + if (result != 86) + throw "bad result in loop: " + result; + })(); +} + +doIntercept = true; +globalO = {f:43}; +var result = new Bar().result; +if (result != 709) + throw "bad result at end: " + result; +if (!didExecuteFGetter) + throw "did not execute f getter"; + diff --git a/implementation-contributed/javascriptcore/stress/create-this-structure-change-without-cse.js b/implementation-contributed/javascriptcore/stress/create-this-structure-change-without-cse.js new file mode 100644 index 0000000000..08642b51bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-this-structure-change-without-cse.js @@ -0,0 +1,51 @@ +var globalO; + +function Foo() +{ + this.f = 42; +} + +class RealBar extends Foo { + constructor() + { + var o = globalO; + var result = o.f; + super(); + result += o.f; + this.result = result; + } +} + +var doIntercept = false; +var didExecuteFGetter = false; +var Bar = new Proxy(RealBar, { + get: function(target, property, receiver) { + if (property == "prototype" && doIntercept) { + globalO.__defineGetter__("f", function() { + didExecuteFGetter = true; + return 666; + }); + } + return Reflect.get(target, property, receiver); + } +}); + +noInline(RealBar); + +for (var i = 0; i < 10000; ++i) { + (function() { + globalO = {f:43}; + var result = new Bar().result; + if (result != 86) + throw "bad result in loop: " + result; + })(); +} + +doIntercept = true; +globalO = {f:43}; +var result = new Bar().result; +if (result != 709) + throw "bad result at end: " + result; +if (!didExecuteFGetter) + throw "did not execute f getter"; + diff --git a/implementation-contributed/javascriptcore/stress/create-this-structure-change.js b/implementation-contributed/javascriptcore/stress/create-this-structure-change.js new file mode 100644 index 0000000000..68a9816613 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-this-structure-change.js @@ -0,0 +1,51 @@ +var globalO; + +function Foo() +{ + this.g = 42; +} + +class RealBar extends Foo { + constructor() + { + var o = globalO; + var result = o.f; + super(); + result += o.f; + this.result = result; + } +} + +var doIntercept = false; +var didExecuteFGetter = false; +var Bar = new Proxy(RealBar, { + get: function(target, property, receiver) { + if (property == "prototype" && doIntercept) { + globalO.__defineGetter__("f", function() { + didExecuteFGetter = true; + return 666; + }); + } + return Reflect.get(target, property, receiver); + } +}); + +noInline(RealBar); + +for (var i = 0; i < 10000; ++i) { + (function() { + globalO = {f:43}; + var result = new Bar().result; + if (result != 86) + throw "bad result in loop: " + result; + })(); +} + +doIntercept = true; +globalO = {f:43}; +var result = new Bar().result; +if (result != 709) + throw "bad result at end: " + result; +if (!didExecuteFGetter) + throw "did not execute f getter"; + diff --git a/implementation-contributed/javascriptcore/stress/create-this-with-callee-variants.js b/implementation-contributed/javascriptcore/stress/create-this-with-callee-variants.js new file mode 100644 index 0000000000..a7368ae03c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/create-this-with-callee-variants.js @@ -0,0 +1,18 @@ +function createInLoop(x, count) { + noInline(x) + for (var i = 0; i < 5000; i++) { + var obj = new x; + if (!(obj instanceof x)) + throw "Failed to instantiate the right object"; + } +} + +function y() { return function () {} } + +createInLoop(y()); + +function z() { return function () {} } + +createInLoop(z()); +createInLoop(z()); +createInLoop(z()); diff --git a/implementation-contributed/javascriptcore/stress/cse-multi-get-by-offset-remove-checks.js b/implementation-contributed/javascriptcore/stress/cse-multi-get-by-offset-remove-checks.js new file mode 100644 index 0000000000..5eaa6c9604 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/cse-multi-get-by-offset-remove-checks.js @@ -0,0 +1,55 @@ +function Cons1() +{ + this.e = 1; + this.f = 2; +} + +Cons1.prototype.g = 1; + +function Cons2() +{ + this.f = 1; + this.h = 2; +} + +Cons2.prototype.g = 2; + +function Cons3() +{ + this.d = 1; + this.e = 2; + this.f = 3; +} + +Cons3.prototype = Cons2.prototype; + +function foo(o, p, q) +{ + var x = 0, y = 0; + if (p) + x = o.f; + if (q) + y = o.f; + return x + y; +} + +for (var i = 0; i < 10000; ++i) { + foo(new Cons1(), true, false); + foo(new Cons2(), false, true); + foo(new Cons3(), false, true); +} + +function bar(o, p) +{ + return foo(o, true, p); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) + bar(new Cons1(), false); + +var result = bar(new Cons1(), true); +if (result != 4) + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js b/implementation-contributed/javascriptcore/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js new file mode 100644 index 0000000000..11283a289a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/custom-get-set-inline-caching-one-level-up-proto-chain.js @@ -0,0 +1,69 @@ +var createCustomTestGetterSetter = $vm.createCustomTestGetterSetter; + +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +class Class { }; + +let items = [ + new Class, + new Class, + new Class, + new Class, +]; + +let customGetterSetter = createCustomTestGetterSetter(); +items.forEach((x) => { + x.__proto__ = customGetterSetter; + assert(x.__proto__ === customGetterSetter); +}); + +function validate(x, valueResult, accessorResult) { + assert(x.customValue === valueResult); + + assert(x.customAccessor === accessorResult); + + let o = {}; + x.customValue = o; + assert(o.result === valueResult); + + o = {}; + x.customAccessor = o; + assert(o.result === accessorResult); + + assert(x.randomProp === 42 || x.randomProp === undefined); +} +noInline(validate); + + +let start = Date.now(); +for (let i = 0; i < 10000; ++i) { + for (let i = 0; i < items.length; ++i) { + validate(items[i], customGetterSetter, items[i]); + } +} + +customGetterSetter.randomProp = 42; + +for (let i = 0; i < 10000; ++i) { + for (let i = 0; i < items.length; ++i) { + validate(items[i], customGetterSetter, items[i]); + } +} + +items.forEach((x) => { + Reflect.setPrototypeOf(x, { + get customValue() { return 42; }, + get customAccessor() { return 22; }, + set customValue(x) { x.result = 42; }, + set customAccessor(x) { x.result = 22; }, + }); +}); + +for (let i = 0; i < 10000; ++i) { + for (let i = 0; i < items.length; ++i) { + validate(items[i], 42, 22); + } +} diff --git a/implementation-contributed/javascriptcore/stress/custom-iterators.js b/implementation-contributed/javascriptcore/stress/custom-iterators.js new file mode 100644 index 0000000000..fd6413fe3b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/custom-iterators.js @@ -0,0 +1,322 @@ +// This test checks the behavior of custom iterable objects. + +var returnCalled = false; +var iter = { + __key: 0, + next: function () { + return { + done: this.__key === 42, + value: this.__key++ + }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + } +}; +var expected = 0; +for (var value of iter) { + if (value !== expected++) + throw "Error: bad value: " + value; +} +if (returnCalled) + throw "Error: return is called."; + + + +var returnCalled = false; +var iter = { + __key: 0, + next: function () { + return { + done: this.__key === 42, + value: this.__key++ + }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + return { + done: true, + value: undefined + }; + } +}; + +try { + for (var value of iter) { + throw "Error: Terminate iteration."; + } +} catch (e) { + if (String(e) !== "Error: Terminate iteration.") + throw "Error: bad error thrown: " + e; +} +if (!returnCalled) + throw "Error: return is not called."; + + + +var returnCalled = false; +var iter = { + __key: 0, + next: function () { + return { + done: this.__key === 42, + value: this.__key++ + }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + return { + done: true, + value: undefined + }; + } +}; + +for (var value of iter) { + break; +} +if (!returnCalled) + throw "Error: return is not called."; + + + +var returnCalled = false; +var iter = { + __key: 0, + get next() { + throw "Error: looking up next."; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + } +}; +try { + for (var value of iter) { + throw "Error: Iteration should not occur."; + } +} catch (e) { + if (String(e) !== "Error: looking up next.") + throw "Error: bad error thrown: " + e; +} +if (returnCalled) + throw "Error: return is called."; + + + +var iter = { + __key: 0, + next: function () { + return { + done: this.__key === 42, + value: this.__key++ + }; + }, + [Symbol.iterator]: function () { + return this; + }, + get return() { + throw "Error: looking up return." + } +}; +try { + for (var value of iter) { + throw "Error: Terminate iteration."; + } +} catch (e) { + if (String(e) !== "Error: looking up return.") + throw "Error: bad error thrown: " + e; +} + + + +var returnCalled = false; +var iter = { + __key: 0, + next: function () { + throw "Error: next is called." + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + return { + done: true, + value: undefined + }; + } +}; + +try { + for (var value of iter) { + throw "Error: Terminate iteration."; + } +} catch (e) { + if (String(e) !== "Error: next is called.") + throw "Error: bad error thrown: " + e; +} +if (returnCalled) + throw "Error: return is called."; + + + +var returnCalled = false; +var iter = { + __key: 0, + next: function () { + return { done: false, value: 42 }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + throw "Error: return is called."; + } +}; + +try { + for (var value of iter) { + throw "Error: Terminate iteration."; + } +} catch (e) { + if (String(e) !== "Error: Terminate iteration.") + throw "Error: bad error thrown: " + e; +} +if (!returnCalled) + throw "Error: return is not called."; + + +var returnCalled = false; +var iter = { + __key: 0, + next: function () { + return { done: false, value: 42 }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + throw "Error: return is called."; + } +}; +try { + for (var value of iter) { + break; + } +} catch (e) { + if (String(e) !== "Error: return is called.") + throw "Error: bad error thrown: " + e; +} +if (!returnCalled) + throw "Error: return is not called."; + + +var primitives = [ + undefined, + null, + 42, + "string", + true, + Symbol("Cocoa") +]; + +function iteratorInterfaceErrorTest(notIteratorResult) { + var returnCalled = false; + var iter = { + __key: 0, + next: function () { + return notIteratorResult; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + return undefined; + } + }; + try { + for (var value of iter) { + throw "Error: Iteration should not occur."; + } + } catch (e) { + if (String(e) !== "TypeError: Iterator result interface is not an object.") + throw "Error: bad error thrown: " + e; + } + if (returnCalled) + throw "Error: return is called."; +} + +function iteratorInterfaceErrorTestReturn(notIteratorResult) { + var returnCalled = false; + var iter = { + __key: 0, + next: function () { + return { done: false, value: 42 }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + return notIteratorResult; + } + }; + try { + for (var value of iter) { + throw "Error: Terminate iteration."; + } + } catch (e) { + if (String(e) !== "Error: Terminate iteration.") + throw "Error: bad error thrown: " + e; + } + if (!returnCalled) + throw "Error: return is not called."; +} + +primitives.forEach(iteratorInterfaceErrorTest); +primitives.forEach(iteratorInterfaceErrorTestReturn); + + +function iteratorInterfaceBreakTestReturn(notIteratorResult) { + var returnCalled = false; + var iter = { + __key: 0, + next: function () { + return { done: false, value: 42 }; + }, + [Symbol.iterator]: function () { + return this; + }, + return: function () { + returnCalled = true; + return notIteratorResult; + } + }; + try { + for (var value of iter) { + break; + } + } catch (e) { + if (String(e) !== "TypeError: Iterator result interface is not an object.") + throw "Error: bad error thrown: " + e; + } + if (!returnCalled) + throw "Error: return is not called."; +} + +primitives.forEach(iteratorInterfaceBreakTestReturn); diff --git a/implementation-contributed/javascriptcore/stress/custom-prototype-may-be-same-to-original-one.js b/implementation-contributed/javascriptcore/stress/custom-prototype-may-be-same-to-original-one.js new file mode 100644 index 0000000000..2d0d46595f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/custom-prototype-may-be-same-to-original-one.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var boundFunction = function(){}.bind(); +Object.defineProperty(boundFunction, "prototype", { + value: Array.prototype +}); +var result = Reflect.construct(Array, [], boundFunction); +shouldBe(result.__proto__, Array.prototype); diff --git a/implementation-contributed/javascriptcore/stress/dataview-construct.js b/implementation-contributed/javascriptcore/stress/dataview-construct.js new file mode 100644 index 0000000000..54f9f050ae --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dataview-construct.js @@ -0,0 +1,76 @@ +function assert(condition) { + if (!condition) + throw new Error("Bad assertion"); +} + +function shouldThrow(func, message) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +var buffer = new ArrayBuffer(128); +var dataView = null; + +dataView = new DataView(buffer); +assert(dataView.byteOffset === 0); +assert(dataView.byteLength === 128); + +dataView = new DataView(buffer, undefined); +assert(dataView.byteOffset === 0); +assert(dataView.byteLength === 128); + +dataView = new DataView(buffer, 10); +assert(dataView.byteOffset === 10); +assert(dataView.byteLength === 118); + +dataView = new DataView(buffer, 10, undefined); +assert(dataView.byteOffset === 10); +assert(dataView.byteLength === 118); + +dataView = new DataView(buffer, 10, 20); +assert(dataView.byteOffset === 10); +assert(dataView.byteLength === 20); + +assert(new DataView(buffer, 10).byteLength === new DataView(buffer, 10, undefined).byteLength); + +shouldThrow(() => { + new DataView; +}, "TypeError: DataView constructor requires at least one argument."); + +shouldThrow(() => { + new DataView(1); +}, "TypeError: Expected ArrayBuffer for the first argument."); + +shouldThrow(() => { + new DataView(buffer, 256); +}, "RangeError: Length out of range of buffer"); + +shouldThrow(() => { + new DataView(buffer, -1); +}, "RangeError: byteOffset cannot be negative"); + +shouldThrow(() => { + new DataView(buffer, Infinity); +}, "RangeError: byteOffset too large"); + +shouldThrow(() => { + new DataView(buffer, 0, 256); +}, "RangeError: Length out of range of buffer"); + +shouldThrow(() => { + new DataView(buffer, 0, -1); +}, "RangeError: byteLength cannot be negative"); + +shouldThrow(() => { + new DataView(buffer, 0, Infinity); +}, "RangeError: byteLength too large"); diff --git a/implementation-contributed/javascriptcore/stress/dataview-prototype-accessors.js b/implementation-contributed/javascriptcore/stress/dataview-prototype-accessors.js new file mode 100644 index 0000000000..a302f4856d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dataview-prototype-accessors.js @@ -0,0 +1,24 @@ +{ + let buffer = new ArrayBuffer(10); + let view = new DataView(buffer); + + if (view.byteOffset !== 0) + throw "byteoffest should be 0"; + + if (view.byteLength !== 10) + throw "byteLength should be 0" + + if (view.buffer !== buffer) + throw "buffer should be the incomming buffer" + + view = new DataView(buffer, 1, 1) + + if (view.byteOffset !== 1) + throw "byteoffest should be 0"; + + if (view.byteLength !== 1) + throw "byteLength should be 0" + + if (view.buffer !== buffer) + throw "buffer should be the incomming buffer" +} diff --git a/implementation-contributed/javascriptcore/stress/dataview-typedarray-toindex.js b/implementation-contributed/javascriptcore/stress/dataview-typedarray-toindex.js new file mode 100644 index 0000000000..5e1a41bbe1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dataview-typedarray-toindex.js @@ -0,0 +1,121 @@ +function assert(condition) { + if (!condition) + throw new Error("Bad assertion"); +} + +function shouldThrowRangeError(func) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (!(error instanceof RangeError)) + throw new Error(`bad error: ${String(error)}`); +} + +// ToIndex (value) https://tc39.github.io/ecma262/#sec-toindex +// - Convert undefined to 0. +// - Convert value to Integer, and throws a RangeError if negative. +// - JavaScriptCore also throws a TypeError for Infinity because that would convert tp 2^53 - 1 which is too large for all cases. + +let buffer = new ArrayBuffer(128); +let dataView = new DataView(buffer); +let rangeErrorValues = [-1, -Infinity, Infinity]; +let typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +// ArrayBuffer(length*) https://tc39.github.io/ecma262/#sec-arraybuffer-length +assert((new ArrayBuffer).byteLength === 0); +assert((new ArrayBuffer(undefined)).byteLength === 0); +assert((new ArrayBuffer(-0.9)).byteLength === 0); +assert((new ArrayBuffer(2.5)).byteLength === 2); +for (let badValue of rangeErrorValues) + shouldThrowRangeError(() => { new ArrayBuffer(badValue); }); + +// TypedArray(length*) https://tc39.github.io/ecma262/#sec-typedarray-length +// TypedArray(buffer, byteOffset*, length*) https://tc39.github.io/ecma262/#sec-typedarray-buffer-byteoffset-length +for (let typedArray of typedArrays) { + assert((new typedArray).length === 0); + assert((new typedArray(2.5)).length === 2); + assert((new typedArray(-0.9)).length === 0); + assert((new typedArray(buffer, typedArray.BYTES_PER_ELEMENT + 0.5)).byteOffset === typedArray.BYTES_PER_ELEMENT); + assert((new typedArray(buffer, 0, typedArray.BYTES_PER_ELEMENT + 0.5)).byteLength / typedArray.BYTES_PER_ELEMENT === typedArray.BYTES_PER_ELEMENT); + + for (let badValue of rangeErrorValues) { + shouldThrowRangeError(() => { new typedArray(badValue); }); + shouldThrowRangeError(() => { new typedArray(buffer, badValue); }); + shouldThrowRangeError(() => { new typedArray(buffer, 0, badValue); }); + } +} + +// DataView(buffer, byteOffset*, byteLength*) https://tc39.github.io/ecma262/#sec-dataview-buffer-byteoffset-bytelength +assert((new DataView(buffer)).byteOffset === 0); +assert((new DataView(buffer, undefined)).byteOffset === 0); +assert((new DataView(buffer, 2.5)).byteOffset === 2); +assert((new DataView(buffer, -0.9)).byteOffset === 0); +assert((new DataView(buffer, 0, 4.5)).byteLength === 4); +for (let badValue of rangeErrorValues) { + shouldThrowRangeError(() => { new DataView(buffer, badValue); }); + shouldThrowRangeError(() => { new DataView(buffer, 0, badValue); }); +} + +// GetViewValue(view, index*, ...) https://tc39.github.io/ecma262/#sec-getviewvalue +// SetViewValue(view, index*, ...) https://tc39.github.io/ecma262/#sec-setviewvalue +dataView.setInt8(undefined, 42); +assert(dataView.getInt8(0) === 42); +dataView.setInt16(undefined, 42); +assert(dataView.getInt16(0) === 42); +dataView.setInt32(undefined, 42); +assert(dataView.getInt32(0) === 42); +dataView.setUint8(undefined, 42); +assert(dataView.getUint8(0) === 42); +dataView.setUint16(undefined, 42); +assert(dataView.getUint16(0) === 42); +dataView.setUint32(undefined, 42); +assert(dataView.getUint32(0) === 42); +dataView.setFloat32(undefined, 42); +assert(dataView.getFloat32(0) === 42); +dataView.setFloat64(undefined, 42); +assert(dataView.getFloat64(0) === 42); + +dataView.setInt8(2.5, 42); +assert(dataView.getInt8(2) === 42); +dataView.setInt16(2.5, 42); +assert(dataView.getInt16(2) === 42); +dataView.setInt32(2.5, 42); +assert(dataView.getInt32(2) === 42); +dataView.setUint8(2.5, 42); +assert(dataView.getUint8(2) === 42); +dataView.setUint16(2.5, 42); +assert(dataView.getUint16(2) === 42); +dataView.setUint32(2.5, 42); +assert(dataView.getUint32(2) === 42); +dataView.setFloat32(2.5, 42); +assert(dataView.getFloat32(2) === 42); +dataView.setFloat64(2.5, 42); +assert(dataView.getFloat64(2) === 42); + +for (let badValue of rangeErrorValues) { + shouldThrowRangeError(() => { new DataView(buffer, badValue); }); + shouldThrowRangeError(() => { new DataView(buffer, 0, badValue); }); + shouldThrowRangeError(() => { dataView.getInt8(badValue); }); + shouldThrowRangeError(() => { dataView.getInt16(badValue); }); + shouldThrowRangeError(() => { dataView.getInt32(badValue); }); + shouldThrowRangeError(() => { dataView.getUint8(badValue); }); + shouldThrowRangeError(() => { dataView.getUint16(badValue); }); + shouldThrowRangeError(() => { dataView.getUint32(badValue); }); + shouldThrowRangeError(() => { dataView.getFloat32(badValue); }); + shouldThrowRangeError(() => { dataView.getFloat64(badValue); }); + shouldThrowRangeError(() => { dataView.setInt8(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setInt16(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setInt32(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setUint8(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setUint16(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setUint32(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setFloat32(badValue, 42); }); + shouldThrowRangeError(() => { dataView.setFloat64(badValue, 42); }); +} diff --git a/implementation-contributed/javascriptcore/stress/date-negative-zero.js b/implementation-contributed/javascriptcore/stress/date-negative-zero.js new file mode 100644 index 0000000000..08b71e37a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/date-negative-zero.js @@ -0,0 +1,7 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var date = new Date(-0); +shouldBe(Object.is(date.getTime(), 0), true); diff --git a/implementation-contributed/javascriptcore/stress/date-parse-ranges.js b/implementation-contributed/javascriptcore/stress/date-parse-ranges.js new file mode 100644 index 0000000000..11772ffe02 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/date-parse-ranges.js @@ -0,0 +1,145 @@ +// This test checks that dates follow the range described in ecma262/#sec-date-time-string-format + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} + +function shouldBeNaN(actual) +{ + if (!Number.isNaN(actual)) + throw new Error(`bad value: ${actual}`); +} + +{ + let dateValue = Date.parse("275760-09-13T00:00:00.000Z"); + shouldBe(dateValue, 8640000000000000); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), 275760); + shouldBe(date.getUTCMonth(), 8); + shouldBe(date.getUTCDate(), 13); + shouldBe(date.getUTCHours(), 0); + shouldBe(date.getUTCMinutes(), 0); + shouldBe(date.getUTCSeconds(), 0); + shouldBe(date.getUTCMilliseconds(), 0); +} + +{ + let dateValue = Date.UTC(275760, 8, 13, 0, 0, 0, 0); + shouldBe(dateValue, 8640000000000000); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), 275760); + shouldBe(date.getUTCMonth(), 8); + shouldBe(date.getUTCDate(), 13); + shouldBe(date.getUTCHours(), 0); + shouldBe(date.getUTCMinutes(), 0); + shouldBe(date.getUTCSeconds(), 0); + shouldBe(date.getUTCMilliseconds(), 0); +} + +{ + let dateValue = Date.parse("275760-09-12T23:59:59.999Z"); + shouldBe(dateValue, 8639999999999999); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), 275760); + shouldBe(date.getUTCMonth(), 8); + shouldBe(date.getUTCDate(), 12); + shouldBe(date.getUTCHours(), 23); + shouldBe(date.getUTCMinutes(), 59); + shouldBe(date.getUTCSeconds(), 59); + shouldBe(date.getUTCMilliseconds(), 999); +} + +{ + let dateValue = Date.UTC(275760, 8, 12, 23, 59, 59, 999); + shouldBe(dateValue, 8639999999999999); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), 275760); + shouldBe(date.getUTCMonth(), 8); + shouldBe(date.getUTCDate(), 12); + shouldBe(date.getUTCHours(), 23); + shouldBe(date.getUTCMinutes(), 59); + shouldBe(date.getUTCSeconds(), 59); + shouldBe(date.getUTCMilliseconds(), 999); +} + +{ + let dateValue = Date.parse("275760-09-13T00:00:00.001Z"); + shouldBeNaN(dateValue); +} + +{ + let dateValue = Date.UTC(275760, 8, 13, 0, 0, 0, 1); + shouldBeNaN(dateValue); +} + +{ + let dateValue = Date.parse("-271821-04-20T00:00:00.000Z"); + shouldBe(dateValue, -8640000000000000); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), -271821); + shouldBe(date.getUTCMonth(), 3); + shouldBe(date.getUTCDate(), 20); + shouldBe(date.getUTCHours(), 0); + shouldBe(date.getUTCMinutes(), 0); + shouldBe(date.getUTCSeconds(), 0); + shouldBe(date.getUTCMilliseconds(), 0); +} + +{ + let dateValue = Date.UTC(-271821, 3, 20, 0, 0, 0, 0); + shouldBe(dateValue, -8640000000000000); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), -271821); + shouldBe(date.getUTCMonth(), 3); + shouldBe(date.getUTCDate(), 20); + shouldBe(date.getUTCHours(), 0); + shouldBe(date.getUTCMinutes(), 0); + shouldBe(date.getUTCSeconds(), 0); + shouldBe(date.getUTCMilliseconds(), 0); +} + +{ + let dateValue = Date.parse("-271821-04-20T00:00:00.001Z"); + shouldBe(dateValue, -8639999999999999); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), -271821); + shouldBe(date.getUTCMonth(), 3); + shouldBe(date.getUTCDate(), 20); + shouldBe(date.getUTCHours(), 0); + shouldBe(date.getUTCMinutes(), 0); + shouldBe(date.getUTCSeconds(), 0); + shouldBe(date.getUTCMilliseconds(), 1); +} + +{ + let dateValue = Date.UTC(-271821, 3, 20, 0, 0, 0, 1); + shouldBe(dateValue, -8639999999999999); + + let date = new Date(dateValue); + shouldBe(date.getUTCFullYear(), -271821); + shouldBe(date.getUTCMonth(), 3); + shouldBe(date.getUTCDate(), 20); + shouldBe(date.getUTCHours(), 0); + shouldBe(date.getUTCMinutes(), 0); + shouldBe(date.getUTCSeconds(), 0); + shouldBe(date.getUTCMilliseconds(), 1); +} + +{ + let dateValue = Date.parse("-271821-04-19T23:59:59.999Z"); + shouldBeNaN(dateValue); +} + +{ + let dateValue = Date.UTC(-271821, 3, 19, 23, 59, 59, 999); + shouldBeNaN(dateValue); +} diff --git a/implementation-contributed/javascriptcore/stress/date-relaxed.js b/implementation-contributed/javascriptcore/stress/date-relaxed.js new file mode 100644 index 0000000000..06bb0d5b35 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/date-relaxed.js @@ -0,0 +1,64 @@ +//@ skip if $hostOS == "windows" +// FIXME: unskip this test when https://bugs.webkit.org/show_bug.cgi?id=176538 is fixed. + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} + +{ + let date = new Date("May 8"); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 4); + shouldBe(date.getDate(), 8); +} +{ + let date = new Date("Feb 29"); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 1); + shouldBe(date.getDate(), 29); +} +{ + let date = new Date(" May 8 "); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 4); + shouldBe(date.getDate(), 8); +} +{ + let date = new Date(" Feb 29 "); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 1); + shouldBe(date.getDate(), 29); +} +{ + let date = new Date("May/8"); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 4); + shouldBe(date.getDate(), 8); +} +{ + let date = new Date("Feb/29"); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 1); + shouldBe(date.getDate(), 29); +} +{ + let date = new Date("May8"); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 4); + shouldBe(date.getDate(), 8); +} +{ + let date = new Date("Feb29"); + shouldBe(date.getFullYear(), 2000); + shouldBe(date.getMonth(), 1); + shouldBe(date.getDate(), 29); +} + +{ + let date = new Date("May 8 -1"); + shouldBe(date.getFullYear(), -1); + shouldBe(date.getMonth(), 4); + shouldBe(date.getDate(), 8); +} diff --git a/implementation-contributed/javascriptcore/stress/date-symbol-toprimitive.js b/implementation-contributed/javascriptcore/stress/date-symbol-toprimitive.js new file mode 100644 index 0000000000..fb5ea3d574 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/date-symbol-toprimitive.js @@ -0,0 +1,6 @@ +delete Date.prototype[Symbol.toPrimitive] + +let date = new Date(); + +if (typeof (date + 1) !== "number") + throw "symbol was not deleted"; diff --git a/implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js b/implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js new file mode 100644 index 0000000000..ab8e3f3a7b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store-in-function-with-multiple-basic-blocks.js @@ -0,0 +1,26 @@ +function foo(p) { + if (p) { + var x = 42; + (function() { x = 43; })(); + x++; + var realResult = x; + (function() { x = 44; })(); + var fakeResult = x; + return realResult; + } + var y = 45; + (function() { y = 46; })(); + y++; + var realResult2 = y; + (function() { y = 47; })(); + var fakeResult2 = y; + return realResult2; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(i & 1); + if (result != ((i & 1) ? 44 : 47)) + throw "Error: bad result with i = " + i + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js b/implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js new file mode 100644 index 0000000000..effa6f2a69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-access-to-captured-variable-preceded-by-a-live-store.js @@ -0,0 +1,17 @@ +function foo() { + var x = 42; + (function() { x = 43; })(); + x++; + var realResult = x; + (function() { x = 44; })(); + var fakeResult = x; + return realResult; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result != 44) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52-then-exit-not-int52.js b/implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52-then-exit-not-int52.js new file mode 100644 index 0000000000..b422c1b4d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52-then-exit-not-int52.js @@ -0,0 +1,15 @@ +var array = new Float64Array(1); +array[0] = 42; + +function foo() { + fiatInt52(array[0]); + fiatInt52(array[0]); +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) + foo(); + +array[0] = 5.5; +foo(); diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52.js b/implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52.js new file mode 100644 index 0000000000..fc5e60566a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-double-to-int52.js @@ -0,0 +1,12 @@ +var array = new Float64Array(1); +array[0] = 42; + +function foo() { + fiatInt52(array[0]); + fiatInt52(array[0]); +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-int32-to-int52.js b/implementation-contributed/javascriptcore/stress/dead-fiat-int32-to-int52.js new file mode 100644 index 0000000000..5c154f44e9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-int32-to-int52.js @@ -0,0 +1,11 @@ +function foo(o) { + fiatInt52(o.f); + fiatInt52(o.f); +} + +noInline(foo); + +var o = {f:42}; + +for (var i = 0; i < 1000000; ++i) + foo(o); diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-double-path.js b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-double-path.js new file mode 100644 index 0000000000..083a5f63c7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-double-path.js @@ -0,0 +1,19 @@ +var array = new Float64Array(1); +array[0] = 42; + +function foo() { + var value = bar(); + fiatInt52(value); + fiatInt52(value); +} + +function bar() { + return array[0]; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) + foo(); + diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-double.js b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-double.js new file mode 100644 index 0000000000..c737a43c0a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-double.js @@ -0,0 +1,21 @@ +function foo() { + var value = bar($vm.dfgTrue()); + fiatInt52(value); + fiatInt52(value); +} + +var thingy = false; +function bar(p) { + if (thingy) + return "hello"; + return p ? 42 : 5.5; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) + foo(); + +thingy = true; +foo(); diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-int52.js b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-int52.js new file mode 100644 index 0000000000..4d29e7f629 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52-then-exit-not-int52.js @@ -0,0 +1,21 @@ +function foo() { + var value = bar($vm.dfgTrue()); + fiatInt52(value); + fiatInt52(value); +} + +var thingy = false; +function bar(p) { + if (thingy) + return 5.5; + return p ? 42 : 5.5; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) + foo(); + +thingy = true; +foo(); diff --git a/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52.js b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52.js new file mode 100644 index 0000000000..fbde20195a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-fiat-value-to-int52.js @@ -0,0 +1,16 @@ +function foo() { + var value = bar($vm.dfgTrue()); + fiatInt52(value); + fiatInt52(value); +} + +function bar(p) { + return p ? 42 : 5.5; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) + foo(); + diff --git a/implementation-contributed/javascriptcore/stress/dead-get-closure-var.js b/implementation-contributed/javascriptcore/stress/dead-get-closure-var.js new file mode 100644 index 0000000000..7622fb0841 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-get-closure-var.js @@ -0,0 +1,23 @@ +var global; + +function foo(a) { + var x = a.f; + var f = function() { global = x; }; + noInline(f); + f(); + var tmp1 = a.g + 1; + var tmp2 = x; + return global; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:i, g:i + 1}); + if (result != i) + throw "Error: bad result: " + result; +} + +var result = foo({f:42, g:4.2}); +if (result != 42) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/dead-int32-to-double.js b/implementation-contributed/javascriptcore/stress/dead-int32-to-double.js new file mode 100644 index 0000000000..0713fd6781 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-int32-to-double.js @@ -0,0 +1,16 @@ +function foo(int, o) { + var x = int; + o.f = x; + for (var i = 0; i < 100; ++i) + x += 0.5; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) + foo(42, {}); + +var o = {g: 43}; +foo(47, o); +if (o.f != 47) + throw "Error: o.f is " + o.f; diff --git a/implementation-contributed/javascriptcore/stress/dead-osr-entry-value.js b/implementation-contributed/javascriptcore/stress/dead-osr-entry-value.js new file mode 100644 index 0000000000..db6639cb22 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-osr-entry-value.js @@ -0,0 +1,16 @@ +function foo() { + var o = {f:42}; + var result = 0; + OSRExit(); + for (var i = 0; i < 10000; ++i) { + if (!$vm.dfgTrue()) + result += o.f; + } + return result; +} + +for (var i = 0; i < 1000; ++i) { + foo(); + fullGC(); +} + diff --git a/implementation-contributed/javascriptcore/stress/dead-speculating-argument-use.js b/implementation-contributed/javascriptcore/stress/dead-speculating-argument-use.js new file mode 100644 index 0000000000..5f3ebfcb52 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-speculating-argument-use.js @@ -0,0 +1,17 @@ +function foo(x) { + var tmp = x + 1; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(i); + +var didCall = false; +var o = { + valueOf: function() { didCall = true; } +}; + +foo(o); +if (!didCall) + throw "Error: didn't call valueOf"; diff --git a/implementation-contributed/javascriptcore/stress/dead-uint32-to-number.js b/implementation-contributed/javascriptcore/stress/dead-uint32-to-number.js new file mode 100644 index 0000000000..4e3987868f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-uint32-to-number.js @@ -0,0 +1,16 @@ +function foo(a, o) { + var x = a >>> 0; + o.f = x | 0; + for (var i = 0; i < 100; ++i) + x++; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) + foo(42, {}); + +var o = {g: 43}; +foo(47, o); +if (o.f != 47) + throw "Error: o.f is " + o.f; diff --git a/implementation-contributed/javascriptcore/stress/dead-value-with-mov-hint-in-another-block.js b/implementation-contributed/javascriptcore/stress/dead-value-with-mov-hint-in-another-block.js new file mode 100644 index 0000000000..ae745077df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dead-value-with-mov-hint-in-another-block.js @@ -0,0 +1,17 @@ +function foo(a, b, p, o) { + var x = a + b; + if (p) { + var y = x; + var result = o.f.f; + var z = y + 1; + return result; + } +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 2, true, {f:{f:42}}); + if (result != 42) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/deep-StructureStubClearingWatchpoint-destructor-recursion.js b/implementation-contributed/javascriptcore/stress/deep-StructureStubClearingWatchpoint-destructor-recursion.js new file mode 100644 index 0000000000..e07f31db35 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/deep-StructureStubClearingWatchpoint-destructor-recursion.js @@ -0,0 +1,8 @@ +//@ skip +// This test should not crash. Note: it takes about 14 minutes to run on a debug build. + +C = class {}; +for (var i = 0; i < 50000; ++i) + C = class extends C {}; +gc(); + diff --git a/implementation-contributed/javascriptcore/stress/deeply-nested-finallys.js b/implementation-contributed/javascriptcore/stress/deeply-nested-finallys.js new file mode 100644 index 0000000000..f7ff5fea29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/deeply-nested-finallys.js @@ -0,0 +1,78 @@ +// This test should finish almost instantly. + +function exp() { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + try { + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally { return 1; } + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally {return 1;} + } finally { return 1; } +} + +exp(); diff --git a/implementation-contributed/javascriptcore/stress/default-value-parsing-should-propagate-error.js b/implementation-contributed/javascriptcore/stress/default-value-parsing-should-propagate-error.js new file mode 100644 index 0000000000..6bc7ad99c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/default-value-parsing-should-propagate-error.js @@ -0,0 +1,21 @@ +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + + +testSyntaxError(` +function f() +{ + ({v = (++new.target)} = {}) +} +`, `SyntaxError: Unexpected token '='. Expected a ':' following the property name 'v'.`); diff --git a/implementation-contributed/javascriptcore/stress/delete-by-id.js b/implementation-contributed/javascriptcore/stress/delete-by-id.js new file mode 100644 index 0000000000..516f01be74 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/delete-by-id.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(object) +{ + return delete object.cocoa; +} +noInline(test1); + +function test2(object) +{ + return delete object.cappuccino; +} +noInline(test2); + +for (var i = 0; i < 1e5; ++i) { + var object = { + cocoa: 42 + }; + Object.defineProperty(object, "cappuccino", { + value: 42 + }); + shouldBe(test1(object), true); + shouldBe(test2(object), false); +} diff --git a/implementation-contributed/javascriptcore/stress/delete-by-val-ftl.js b/implementation-contributed/javascriptcore/stress/delete-by-val-ftl.js new file mode 100644 index 0000000000..674eab9f82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/delete-by-val-ftl.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(object, key) +{ + return delete object[key]; +} +noInline(test1); + +function test2(object, key) +{ + return delete object[key]; +} +noInline(test2); + +for (var i = 0; i < 1e5; ++i) { + var object = { + cocoa: 42 + }; + Object.defineProperty(object, "cappuccino", { + value: 42 + }); + shouldBe(test1(object, "cocoa"), true); + shouldBe(test2(object, "cappuccino"), false); +} diff --git a/implementation-contributed/javascriptcore/stress/delete-by-val.js b/implementation-contributed/javascriptcore/stress/delete-by-val.js new file mode 100644 index 0000000000..327d889b39 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/delete-by-val.js @@ -0,0 +1,15 @@ +function assert(condition) { + if (!condition) + throw new Error("assertion failed"); +} + +function test(i) { + let foo = {}; + foo["bar" + i] = 1; + assert(foo["bar" + i] === 1) + assert(delete foo["bar" + i]); + assert(!("bar" + i in foo)); +} + +for (let i = 0; i < 100000; ++i) + test(i); diff --git a/implementation-contributed/javascriptcore/stress/delete-to-object-exception.js b/implementation-contributed/javascriptcore/stress/delete-to-object-exception.js new file mode 100644 index 0000000000..3421003c12 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/delete-to-object-exception.js @@ -0,0 +1,24 @@ +function assert(condition) { + if (!condition) + throw new Error("assertion failed"); +} + +function test(i) { + let value = null; + let passed = true; + + try { + delete value.bar; + passed = false; + } catch(e) {} + try { + delete value["bar" + i]; + passed = false; + } catch(e) {} + if (!passed) + throw new Error("didn't throw"); +} +noInline(test); + +for (let i = 0; i < 10000; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/destructuring-assignment-accepts-iterables.js b/implementation-contributed/javascriptcore/stress/destructuring-assignment-accepts-iterables.js new file mode 100644 index 0000000000..cd32492e28 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/destructuring-assignment-accepts-iterables.js @@ -0,0 +1,441 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + var [a, b, c] = [1, 2, 3]; + shouldBe(a, 1); + shouldBe(b, 2); + shouldBe(c, 3); +}()); + +(function () { + var [a, b, c] = [1, 2, 3].keys(); + shouldBe(a, 0); + shouldBe(b, 1); + shouldBe(c, 2); +}()); + +(function () { + var [a, b, c] = [1, 2, 3].values(); + shouldBe(a, 1); + shouldBe(b, 2); + shouldBe(c, 3); +}()); + +(function () { + var [a, , c] = [1, 2, 3].values(); + shouldBe(a, 1); + shouldBe(c, 3); +}()); + +(function () { + var [a, b, c] = [1, , 3].values(); + shouldBe(a, 1); + shouldBe(b, undefined); + shouldBe(c, 3); +}()); + +(function () { + var [, b, c] = [1, 2, 3, 4, 5, 6].values(); + shouldBe(b, 2); + shouldBe(c, 3); +}()); + +(function () { + var [a, b, c] = [1].values(); + shouldBe(a, 1); + shouldBe(b, undefined); + shouldBe(c, undefined); +}()); + +(function ([a, b, c]) { + shouldBe(a, 1); + shouldBe(b, undefined); + shouldBe(c, undefined); +}([1].values())); + +(function () { + var [a = 0, b = 2, c = 3] = [1].values(); + shouldBe(a, 1); + shouldBe(b, 2); + shouldBe(c, 3); +}()); + +(function () { + var [a = 1, b = 2, c = 3] = [undefined, undefined, undefined]; + shouldBe(a, 1); + shouldBe(b, 2); + shouldBe(c, 3); +}()); + +// String with a surrogate pair. +(function () { + var string = "𠮷野家"; + var [a, b, c] = string; + shouldBe(string.length, 4); + shouldBe(a, '𠮷'); + shouldBe(b, '野'); + shouldBe(c, '家'); +}()); + +(function () { + var set = new Set([1, 2, 3]); + var [a, b, c] = set; + shouldBe(set.has(a), true); + shouldBe(set.has(b), true); + shouldBe(set.has(c), true); +}()); + +(function () { + var map = new Map([[1, 1], [2, 2], [3, 3]]); + var [a, b, c] = map; + shouldBe(Array.isArray(a), true); + shouldBe(Array.isArray(b), true); + shouldBe(Array.isArray(c), true); + shouldBe(map.has(a[0]), true); + shouldBe(map.has(b[0]), true); + shouldBe(map.has(c[0]), true); +}()); + +// Errors + +shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return 42; + } + }; +}, "TypeError: undefined is not a function (near '...[a, b, c]...')"); + +shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return {}; + } + }; +}, "TypeError: undefined is not a function (near '...[a, b, c]...')"); + +shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + next() { + throw new Error('out'); + } + }; +}, 'Error: out'); + +shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + next() { + return 42; + } + }; +}, 'TypeError: Iterator result interface is not an object.'); + +(function () { + var ok = 0; + shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ok++; + }, + + next() { + return 42; + } + }; + }, 'TypeError: Iterator result interface is not an object.'); + + shouldBe(ok, 0); +}()); + +(function () { + var ok = 0; + shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ok++; + }, + + next() { + return { value: 20, done: false }; + } + }; + }, 'TypeError: Iterator result interface is not an object.'); + + shouldBe(ok, 1); +}()); + +(function () { + var ok = 0; + + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ok++; + }, + + next() { + return { value: 20, done: true }; + } + }; + + shouldBe(a, undefined); + shouldBe(b, undefined); + shouldBe(c, undefined); + shouldBe(ok, 0); +}()); + +(function () { + var ok = 0; + var n = 0; + + var done = false; + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ok++; + }, + + next() { + var prev = done; + done = true; + ++n; + return { value: 20, done: prev }; + } + }; + + shouldBe(a, 20); + shouldBe(b, undefined); + shouldBe(c, undefined); + shouldBe(n, 2); + shouldBe(ok, 0); +}()); + +(function () { + var ok = 0; + var n = 0; + + var done = false; + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ++ok; + return { done: true }; + }, + + next() { + ++n; + return { value: 20, done: false }; + } + }; + + shouldBe(a, 20); + shouldBe(b, 20); + shouldBe(c, 20); + shouldBe(n, 3); + shouldBe(ok, 1); +}()); + +(function () { + var ok = 0; + var n = 0; + + var done = false; + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ++ok; + return { done: true }; + }, + + count: 0, + + next() { + ++n; + var done = ++this.count === 3; + return { value: 20, done }; + } + }; + + shouldBe(a, 20); + shouldBe(b, 20); + shouldBe(c, undefined); + shouldBe(n, 3); + shouldBe(ok, 0); +}()); + +(function () { + var ok = 0; + var n = 0; + + var done = false; + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ++ok; + return { done: true }; + }, + + count: 0, + + next() { + ++n; + var done = ++this.count === 4; + return { value: 20, done }; + } + }; + + shouldBe(a, 20); + shouldBe(b, 20); + shouldBe(c, 20); + shouldBe(n, 3); + shouldBe(ok, 1); +}()); + +(function () { + var ok = 0; + var n = 0; + shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + return() { + ok++; + throw new Error('out'); + }, + + next() { + n++; + return { value: 20, done: false }; + } + }; + }, 'Error: out'); + + shouldBe(n, 3); + shouldBe(ok, 1); +}()); + +(function () { + var ok = 0; + var n = 0; + shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + get return() { + ok++; + throw new Error('out'); + }, + + next() { + n++; + return { value: 20, done: false }; + } + }; + }, 'Error: out'); + + shouldBe(n, 3); + shouldBe(ok, 1); +}()); + +(function () { + var ok = 0; + var n = 0; + shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + get return() { + ok++; + throw new Error('ng'); + }, + + next() { + n++; + throw new Error('out'); + } + }; + }, 'Error: out'); + + shouldBe(n, 1); + shouldBe(ok, 0); +}()); + +(function () { + var ok = 0; + var n = 0; + shouldThrow(function () { + var [a, b, c] = { + [Symbol.iterator]() { + return this; + }, + + get return() { + ok++; + throw new Error('ng'); + }, + + get next() { + ++n; + throw new Error('out'); + } + }; + }, 'Error: out'); + + shouldBe(n, 1); + shouldBe(ok, 0); +}()); diff --git a/implementation-contributed/javascriptcore/stress/destructuring-assignment-require-object-coercible.js b/implementation-contributed/javascriptcore/stress/destructuring-assignment-require-object-coercible.js new file mode 100644 index 0000000000..c25bb1b572 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/destructuring-assignment-require-object-coercible.js @@ -0,0 +1,68 @@ +function testTypeError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected type error not thrown by `" + script + "`"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +function testOK(script) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (error) + throw new Error("Bad error: " + String(error)); +} + +testTypeError(`({ } = null)`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ a } = null)`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ a: { b } = null } = { })`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ a: { b } } = { a: null })`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ } = undefined)`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ a } = undefined)`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ a: { b } = undefined } = { })`, "TypeError: Right side of assignment cannot be destructured"); +testTypeError(`({ a: { b } } = { a: undefined })`, "TypeError: Right side of assignment cannot be destructured"); + +testOK(`({ } = 123)`); +testOK(`({ a } = 123)`); +testOK(`({ a: { b } = 123 } = { })`); +testOK(`({ a: { b } } = { a: 123 })`); + +testOK(`({ } = 0.5)`); +testOK(`({ a } = 0.5)`); +testOK(`({ a: { b } = 0.5 } = { })`); +testOK(`({ a: { b } } = { a: 0.5 })`); + +testOK(`({ } = NaN)`); +testOK(`({ a } = NaN)`); +testOK(`({ a: { b } = NaN } = { })`); +testOK(`({ a: { b } } = { a: NaN })`); + +testOK(`({ } = true)`); +testOK(`({ a } = true)`); +testOK(`({ a: { b } = true } = { })`); +testOK(`({ a: { b } } = { a: true })`); + +testOK(`({ } = {})`); +testOK(`({ a } = {})`); +testOK(`({ a: { b } = {} } = { })`); +testOK(`({ a: { b } } = { a: {} })`); + +testOK(`({ } = [])`); +testOK(`({ a } = [])`); +testOK(`({ a: { b } = [] } = { })`); +testOK(`({ a: { b } } = { a: [] })`); + +testOK(`({ } = /1/)`); +testOK(`({ a } = /1/)`); +testOK(`({ a: { b } = /1/ } = { })`); +testOK(`({ a: { b } } = { a: /1/ })`); diff --git a/implementation-contributed/javascriptcore/stress/destructuring-assignment-syntax.js b/implementation-contributed/javascriptcore/stress/destructuring-assignment-syntax.js new file mode 100644 index 0000000000..4567da25e2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/destructuring-assignment-syntax.js @@ -0,0 +1,72 @@ + +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax("({ a: this.a } = {})"); +testSyntax("({ a: this['a'] } = {})"); +testSyntax("({ a: this[\"a\"] } = {})"); +testSyntax("[this.a ] = []"); +testSyntax("[this['a']] = []"); +testSyntax("[this[0]] = []"); +testSyntax("[...this[0]] = []"); +testSyntax("[...[function f() {}.prop]] = []"); +testSyntax("[...[{prop: 1}.prop]] = []"); +testSyntax("[...[this[0], ...this[1]]] = []"); +testSyntax("({ a: obj.a } = {})"); +testSyntax("({ a: obj['a'] } = {})"); +testSyntax("({ a: obj[\"a\"] } = {})"); +testSyntax("({ a: function() {}['prop'] } = {})"); +testSyntax("({ a: {prop: 1}.prop } = {})"); +testSyntax("[obj.a ] = []"); +testSyntax("[obj['a']] = []"); +testSyntax("[obj[0]] = []"); +testSyntax("[function(){}.prop] = []"); +testSyntax("[{prop: 1}.prop] = []"); + + +testSyntaxError("[...c = 1] = []", "SyntaxError: Unexpected token '='. Expected a closing ']' following a rest element destructuring pattern."); +testSyntaxError("[...c, d] = []", "SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern."); +testSyntaxError("[this] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("[th\\u{69}s] = []", "SyntaxError: Unexpected escaped characters in keyword token: 'th\\u{69}s'"); +testSyntaxError("[function() {}] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("['string'] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("[123] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("[true] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("[tru\\u0065] = []", "SyntaxError: Unexpected escaped characters in keyword token: 'tru\\u0065'"); +testSyntaxError("[false] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("[f\\u0061lse] = []", "SyntaxError: Unexpected escaped characters in keyword token: 'f\\u0061lse'"); +testSyntaxError("[null] = []", "SyntaxError: Invalid destructuring assignment target."); +testSyntaxError("[n\\u{75}ll] = []", "SyntaxError: Unexpected escaped characters in keyword token: 'n\\u{75}ll'"); + +testSyntaxError("'use strict'; ({ eval } = {})", "SyntaxError: Cannot modify 'eval' in strict mode."); +testSyntaxError("'use strict'; ({ eval = 0 } = {})", "SyntaxError: Cannot modify 'eval' in strict mode."); +testSyntaxError("'use strict'; ({ a: eval } = {})", "SyntaxError: Cannot modify 'eval' in strict mode."); +testSyntaxError("'use strict'; ({ a: eval = 0 } = {})", "SyntaxError: Cannot modify 'eval' in strict mode."); +testSyntaxError("'use strict'; ({ arguments } = {})", "SyntaxError: Cannot modify 'arguments' in strict mode."); +testSyntaxError("'use strict'; ({ arguments = 0 } = {})", "SyntaxError: Cannot modify 'arguments' in strict mode."); +testSyntaxError("'use strict'; ({ a: arguments } = {})", "SyntaxError: Cannot modify 'arguments' in strict mode."); +testSyntaxError("'use strict'; ({ a: arguments = 0 } = {})", "SyntaxError: Cannot modify 'arguments' in strict mode."); +testSyntaxError("'use strict'; ([ eval ] = [])", "SyntaxError: Cannot modify 'eval' in strict mode."); +testSyntaxError("'use strict'; ([ eval = 0 ] = [])", "SyntaxError: Cannot modify 'eval' in strict mode."); +testSyntaxError("'use strict'; ([ arguments ] = [])", "SyntaxError: Cannot modify 'arguments' in strict mode."); +testSyntaxError("'use strict'; ([ arguments = 0 ] = [])", "SyntaxError: Cannot modify 'arguments' in strict mode."); diff --git a/implementation-contributed/javascriptcore/stress/destructuring-rest-element.js b/implementation-contributed/javascriptcore/stress/destructuring-rest-element.js new file mode 100644 index 0000000000..7784e4a37a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/destructuring-rest-element.js @@ -0,0 +1,107 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +function test(f, count = 1000) { + for (let i = 0; i < count; i++) + f(); +} + +function arr() { + return [10, 20, 30, 40]; +} +noInline(arr); + +let o = {}; +function arr2() { + return [10, 20, 30, [40, 50, o]]; +} +noInline(arr); + +function eq(a, b) { + // This only works for arrays with nested arrays in them, and numbers or anything else strict equal to each other. + if (!(a instanceof Array)) + return a === b; + + if (a.length !== b.length) + return false; + + for (let i = 0; i < a.length; i++) { + let e1 = a[i]; + let e2 = b[i]; + if (!eq(e1, e2)) + return false; + } + + return true; +} + +test(function() { + let [...[...x]] = arr(); + assert(eq(x, arr())); +}); + +test(function() { + let [ , , , [...e]] = arr2(); + assert(eq(e, [40, 50, o])); +}); + +test(function() { + let [ , , , ...e] = arr2(); + assert(eq(e[0], [40, 50, o])); +}); + +test(function() { + let [ , , , ...e] = arr2(); + assert(eq(e[0], [40, 50, o])); +}); + +function* gen() { + yield [1,2,3]; + yield 20; + yield 30; + yield 40; +} + +test(function() { + let [a, b, ...[...c]] = gen(); + assert(eq(a, [1,2,3])); + assert(b === 20); + assert(eq(c, [30, 40])); +}); + +test(function() { + let [[a, ...d], b, ...[...c]] = gen(); + assert(a === 1); + assert(eq(d, [2,3])); + assert(b === 20); + assert(eq(c, [30, 40])); +}); + +let called = false; +function fakeGen() { + return { + [Symbol.iterator]: function() { + let count = 0; + return { + next() { + called = true; + count++; + if (count === 1) + return {done: false, value: 50}; + return {done: true}; + } + }; + } + }; +} + +test(function() { + called = false; + let [...x] = fakeGen(); + assert(eq(x, [50])); + assert(called); + called = false; +}); diff --git a/implementation-contributed/javascriptcore/stress/dfg-call-class-constructor.js b/implementation-contributed/javascriptcore/stress/dfg-call-class-constructor.js new file mode 100644 index 0000000000..6db3c51b58 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-call-class-constructor.js @@ -0,0 +1,14 @@ +class Foo extends Promise { } + +noInline(Foo); + +for (var i = 0; i < 10000; ++i) { + var completed = false; + try { + Foo(); + completed = true; + } catch (e) { + } + if (completed) + throw "Error: completed without throwing"; +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-create-arguments-inline-alloc.js b/implementation-contributed/javascriptcore/stress/dfg-create-arguments-inline-alloc.js new file mode 100644 index 0000000000..175a2f21d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-create-arguments-inline-alloc.js @@ -0,0 +1,19 @@ +var foo = function(o) { + var a = Array.prototype.slice.call(arguments); + var sum = 0; + for (var i = 0; i < a.length; ++i) + sum += a[i].x; + return sum; +}; + +noInline(foo); + +var niters = 10000; +var total = 0; +var o = {x: 42}; +for (var i = 0; i < niters; ++i) { + total += foo(o, o, o); +} + +if (total != 42 * 3 * niters) + throw new Error("Incorrect result!"); diff --git a/implementation-contributed/javascriptcore/stress/dfg-del-by-id.js b/implementation-contributed/javascriptcore/stress/dfg-del-by-id.js new file mode 100644 index 0000000000..66f2f0bd15 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-del-by-id.js @@ -0,0 +1,14 @@ +function foo(o) { + return delete o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var o = {f:42}; + var result = foo(o); + if (result !== true) + throw "Error: bad result: " + result; + if ("f" in o) + throw "Error: \"f\" still in ok"; +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js b/implementation-contributed/javascriptcore/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js new file mode 100644 index 0000000000..1346cefe3c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-exception-try-catch-in-constructor-with-inlined-throw.js @@ -0,0 +1,27 @@ +function f() { + return 20; +} +noInline(f); + +function bar(b) { + if (b) + throw new Error("blah!"); +} + +function Foo(b) { + try { + this.value = bar(b); + } catch(e) { + this.value = e.toString(); + } + + f(this.value, b); +} +noInline(Foo); + + +for (var i = 1; i < 1000; i++) { + let value = new Foo(i % 3 === 0); + if (i % 3 === 0 && value.value !== "Error: blah!") + throw new Error("bad value: " + value.value); +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js b/implementation-contributed/javascriptcore/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js new file mode 100644 index 0000000000..b6fac0243b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-get-by-id-should-not-assert-non-null-prediction.js @@ -0,0 +1,18 @@ +//@ runDefault +// This test should not crash. + +function foo() { + "use strict"; + return --arguments["callee"]; +}; + +function test() { + for (var i = 0; i < 10000; i++) { + try { + foo(); + } catch(e) { + } + } +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/dfg-internal-function-call.js b/implementation-contributed/javascriptcore/stress/dfg-internal-function-call.js new file mode 100644 index 0000000000..d04852aaea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-internal-function-call.js @@ -0,0 +1,14 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +noInline(shouldBe); + +function target(func) +{ + return func(); +} +noInline(target); + +for (var i = 0; i < 1e4; ++i) + shouldBe(target(Array).length, 0); diff --git a/implementation-contributed/javascriptcore/stress/dfg-internal-function-construct.js b/implementation-contributed/javascriptcore/stress/dfg-internal-function-construct.js new file mode 100644 index 0000000000..671942efbb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-internal-function-construct.js @@ -0,0 +1,14 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +noInline(shouldBe); + +function target(func) +{ + return new func(); +} +noInline(target); + +for (var i = 0; i < 1e4; ++i) + shouldBe(target(Array).length, 0); diff --git a/implementation-contributed/javascriptcore/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js b/implementation-contributed/javascriptcore/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js new file mode 100644 index 0000000000..dab790b87c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-node-convert-to-constant-must-clear-varargs-flags.js @@ -0,0 +1,14 @@ +function doIndexOf(a) { + a.indexOf(a); +} + +function bar(f) { + f(); +} + +let array = [20]; +for (let i = 0; i < 100000; ++i) { + bar(() => { + return doIndexOf(array.concat()); + }); +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-object-proto-accessor.js b/implementation-contributed/javascriptcore/stress/dfg-object-proto-accessor.js new file mode 100644 index 0000000000..0f6db7b74e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-object-proto-accessor.js @@ -0,0 +1,115 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target({}), Object.prototype); +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => target(null), `TypeError: null is not an object (evaluating 'object.__proto__')`); + shouldThrow(() => target(undefined), `TypeError: undefined is not an object (evaluating 'object.__proto__')`); + } +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target("Cocoa"), String.prototype); +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(42), Number.prototype); +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(42.195), Number.prototype); +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(true), Boolean.prototype); +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(Symbol("Cocoa")), Symbol.prototype); +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(target("Cocoa"), String.prototype); + shouldBe(target(42), Number.prototype); + shouldBe(target(42.195), Number.prototype); + shouldBe(target(true), Boolean.prototype); + shouldBe(target(Symbol("Cocoa")), Symbol.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/dfg-object-proto-getter.js b/implementation-contributed/javascriptcore/stress/dfg-object-proto-getter.js new file mode 100644 index 0000000000..9a0716d5aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-object-proto-getter.js @@ -0,0 +1,117 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var protoFunction = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").get; + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target({}), Object.prototype); +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => target(null), `TypeError: null is not an object (evaluating 'protoFunction.call(object)')`); + shouldThrow(() => target(undefined), `TypeError: undefined is not an object (evaluating 'protoFunction.call(object)')`); + } +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target("Cocoa"), String.prototype); +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(42), Number.prototype); +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(42.195), Number.prototype); +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(true), Boolean.prototype); +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(Symbol("Cocoa")), Symbol.prototype); +}()); + +(function () { + function target(object) + { + return protoFunction.call(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(target("Cocoa"), String.prototype); + shouldBe(target(42), Number.prototype); + shouldBe(target(42.195), Number.prototype); + shouldBe(target(true), Boolean.prototype); + shouldBe(target(Symbol("Cocoa")), Symbol.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/dfg-object-prototype-of.js b/implementation-contributed/javascriptcore/stress/dfg-object-prototype-of.js new file mode 100644 index 0000000000..4e2684d798 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-object-prototype-of.js @@ -0,0 +1,115 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target({}), Object.prototype); +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => target(null), `TypeError: null is not an object (evaluating 'Object.getPrototypeOf(object)')`); + shouldThrow(() => target(undefined), `TypeError: undefined is not an object (evaluating 'Object.getPrototypeOf(object)')`); + } +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target("Cocoa"), String.prototype); +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(42), Number.prototype); +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(42.195), Number.prototype); +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(true), Boolean.prototype); +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target(Symbol("Cocoa")), Symbol.prototype); +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(target("Cocoa"), String.prototype); + shouldBe(target(42), Number.prototype); + shouldBe(target(42.195), Number.prototype); + shouldBe(target(true), Boolean.prototype); + shouldBe(target(Symbol("Cocoa")), Symbol.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id-class.js b/implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id-class.js new file mode 100644 index 0000000000..3b7ac5b53f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id-class.js @@ -0,0 +1,82 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, false); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter() +{ + class Cocoa { + get hello() { + return 42; + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'get'); + return object.hello; +} +noInline(getter); + +function setter() +{ + class Cocoa { + constructor() { + this.value = 0; + } + set hello(value) { + this.value = value; + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'set'); + object.hello = 42; + return object.value; + +} +noInline(setter); + +function accessors() +{ + class Cocoa { + constructor() { + this.value = 0; + } + get hello() { + return this.value; + } + set hello(value) { + this.value = value; + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'getset'); + object.hello = 42; + return object.hello; +} +noInline(accessors); + +for (var i = 0; i < 10000; ++i) { + shouldBe(getter(), 42); + shouldBe(setter(), 42); + shouldBe(accessors(), 42); +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id.js b/implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id.js new file mode 100644 index 0000000000..b46dc78d59 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-accessors-by-id.js @@ -0,0 +1,75 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, true); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter() +{ + var object = { + get hello() { + return 42; + } + }; + + testAttribute(object, 'hello', 'get'); + return object.hello; +} +noInline(getter); + +function setter() +{ + var object = { + value: 0, + set hello(value) { + this.value = value; + } + }; + + testAttribute(object, 'hello', 'set'); + object.hello = 42; + return object.value; + +} +noInline(setter); + +function accessors() +{ + var object = { + value: 0, + get hello() { + return this.value; + }, + set hello(value) { + this.value = value; + } + }; + + testAttribute(object, 'hello', 'getset'); + object.hello = 42; + return object.hello; +} +noInline(accessors); + +for (var i = 0; i < 10000; ++i) { + shouldBe(getter(), 42); + shouldBe(setter(), 42); + shouldBe(accessors(), 42); +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-by-val-direct-with-edge-numbers.js b/implementation-contributed/javascriptcore/stress/dfg-put-by-val-direct-with-edge-numbers.js new file mode 100644 index 0000000000..ebf21e2334 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-by-val-direct-with-edge-numbers.js @@ -0,0 +1,104 @@ +// Test that a object accepts DFG PutByValueDirect operation with edge numbers. + +function lookupWithKey(key) { + var object = { + [key]: 42 + }; + return object[key]; +} +noInline(lookupWithKey); + +for (var i = 0; i < 10000; ++i) { + [ + // integers + -0x80000001, // out of int32_t + -0x80000000, // int32_t min + -1, // negative + 0, // zero + 1, // positive + 0x7fffffff, // int32_t max + 0x80000000, // out of int32_t + 0xfffffffd, // less than array max in JSObject + 0xfffffffe, // array max in JSObject + 0xffffffff, // uint32_t max, not array index + 0x100000000, // out of uint32_t + + // stringified integers + (-0x80000001).toString(), // out of int32_t + (-0x80000000).toString(), // int32_t min + (-1).toString(), // negative + (0).toString(), // zero + (1).toString(), // positive + (0x7fffffff).toString(), // int32_t max + (0x80000000).toString(), // out of int32_t + (0xfffffffd).toString(), // less than array max in JSObject + (0xfffffffe).toString(), // array max in JSObject + (0xffffffff).toString(), // (uint32_t max).toString() + (0x100000000).toString(), // out of uint32_t + + // doubles + Number.MIN_VALUE, + Number.MAX_VALUE, + Number.MIN_SAFE_INTEGER, + Number.MAX_SAFE_INTEGER, + Number.POSITIVE_INFINITY, + Number.NEGATIVE_INFINITY, + Number.NaN, + Number.EPSILON, + +0.0, + -0.0, + 0.1, + -0.1, + 4.2, + -4.2, + 0x80000000 + 0.5, // out of int32_t, double + + // stringified doules + (Number.MIN_VALUE).toString(), + (Number.MAX_VALUE).toString(), + (Number.MIN_SAFE_INTEGER).toString(), + (Number.MAX_SAFE_INTEGER).toString(), + (Number.POSITIVE_INFINITY).toString(), + (Number.NEGATIVE_INFINITY).toString(), + "NaN", + (Number.EPSILON).toString(), + "+0.0", + "-0.0", + "0.1", + "-0.1", + "4.2", + "-4.2", + (0x80000000 + 0.5).toString() + ].forEach(function (key) { + var value = lookupWithKey(key); + if (value !== 42) + throw new Error('bad value: ' + value); + }); +} + +function lookupWithKey2(key) { + var object = { + [key]: 42 + }; + return object[key]; +} +noInline(lookupWithKey2); + +var toStringThrowsError = { + toString: function () { + throw new Error('ng'); + } +}; + +for (var i = 0; i < 10000; ++i) { + var error = null; + try { + lookupWithKey2(toStringThrowsError); + } catch (e) { + error = e; + } + if (!error) + throw new Error('not thrown'); + if (String(error) !== 'Error: ng') + throw new Error('bad error: ' + String(error)); +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id-class.js b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id-class.js new file mode 100644 index 0000000000..7f4d6e6eea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id-class.js @@ -0,0 +1,45 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, false); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter(name) +{ + class Cocoa { + constructor() { + this.ok = 42; + } + get hello() { + return this.ok; + } + get [name]() { + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'get'); + testAttribute(object.__proto__, 'dummy', 'get'); + return object.hello; +} +noInline(getter); + +for (var i = 0; i < 10000; ++i) + shouldBe(getter('dummy'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id.js b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id.js new file mode 100644 index 0000000000..45893e7441 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-id.js @@ -0,0 +1,39 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, true); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter(name) +{ + var object = { + get hello() { + return this.ok; + }, + [name]: 42 + }; + + testAttribute(object, 'hello', 'get'); + return object.hello; +} +noInline(getter); + +for (var i = 0; i < 10000; ++i) + shouldBe(getter('ok'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val-class.js b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val-class.js new file mode 100644 index 0000000000..0eb5c4185d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val-class.js @@ -0,0 +1,42 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, false); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter(name) +{ + class Cocoa { + constructor() { + this.ok = 42; + } + get [name]() { + return this.ok; + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'get'); + return object.hello; +} +noInline(getter); + +for (var i = 0; i < 10000; ++i) + shouldBe(getter('hello'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val.js b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val.js new file mode 100644 index 0000000000..74b614a8cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-getter-by-val.js @@ -0,0 +1,39 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, true); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter(name) +{ + var object = { + ok: 42, + get [name]() { + return this.ok; + } + }; + + testAttribute(object, 'hello', 'get'); + return object.hello; +} +noInline(getter); + +for (var i = 0; i < 10000; ++i) + shouldBe(getter('hello'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id-class.js b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id-class.js new file mode 100644 index 0000000000..bb5b79d992 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id-class.js @@ -0,0 +1,46 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, false); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function getter(name) +{ + class Cocoa { + constructor() { + this.ok = 0; + } + set hello(value) { + this.ok = value; + } + get [name]() { + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'set'); + testAttribute(object.__proto__, 'dummy', 'get'); + object.hello = 42; + return object.ok; +} +noInline(getter); + +for (var i = 0; i < 10000; ++i) + shouldBe(getter('dummy'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id.js b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id.js new file mode 100644 index 0000000000..8f6f3b98cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-id.js @@ -0,0 +1,41 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, true); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function setter(name) +{ + var object = { + set hello(value) { + this.ok = value; + }, + [name]: 0 + }; + + testAttribute(object, 'hello', 'set'); + object.hello = 42; + return object.ok; + +} +noInline(setter); + +for (var i = 0; i < 10000; ++i) + shouldBe(setter('ok'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val-class.js b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val-class.js new file mode 100644 index 0000000000..f29c9ecfd4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val-class.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, false); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function setter(name) +{ + class Cocoa { + constructor() { + this.ok = 0; + } + set [name](value) { + this.ok = value; + } + } + + let object = new Cocoa(); + testAttribute(object.__proto__, 'hello', 'set'); + object.hello = 42; + return object.ok; + +} +noInline(setter); + +for (var i = 0; i < 10000; ++i) + shouldBe(setter('hello'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val.js b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val.js new file mode 100644 index 0000000000..2a3546b62f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-put-setter-by-val.js @@ -0,0 +1,41 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testAttribute(object, name, type) { + shouldBe(Reflect.has(object, name), true); + let desc = Reflect.getOwnPropertyDescriptor(object, name); + shouldBe(desc.configurable, true); + shouldBe(desc.enumerable, true); + if (type === 'get') { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'undefined'); + } else if (type === 'set') { + shouldBe(typeof desc.get, 'undefined'); + shouldBe(typeof desc.set, 'function'); + } else { + shouldBe(typeof desc.get, 'function'); + shouldBe(typeof desc.set, 'function'); + } +} +noInline(testAttribute); + +function setter(name) +{ + var object = { + ok: 0, + set [name](value) { + this.ok = value; + } + }; + + testAttribute(object, 'hello', 'set'); + object.hello = 42; + return object.ok; + +} +noInline(setter); + +for (var i = 0; i < 10000; ++i) + shouldBe(setter('hello'), 42); diff --git a/implementation-contributed/javascriptcore/stress/dfg-rare-data.js b/implementation-contributed/javascriptcore/stress/dfg-rare-data.js new file mode 100644 index 0000000000..45a3f0e154 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-rare-data.js @@ -0,0 +1,9 @@ +function F () { this.inner = 42; }; + +for (var i = 0; i < 10000; ++i) { + var x = new F(false); + F.prototype = Object; // Force clearing of the function's rare data + var result = x.inner; + if (result !== 42) + throw "Expected 42, got: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/dfg-reflect-get-prototype-of.js b/implementation-contributed/javascriptcore/stress/dfg-reflect-get-prototype-of.js new file mode 100644 index 0000000000..7c888ff902 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-reflect-get-prototype-of.js @@ -0,0 +1,58 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + function target(object) + { + return Reflect.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) + shouldBe(target({}), Object.prototype); +}()); + +(function () { + function target(object) + { + return Reflect.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => target(null), `TypeError: Reflect.getPrototypeOf requires the first argument be an object`); + shouldThrow(() => target(undefined), `TypeError: Reflect.getPrototypeOf requires the first argument be an object`); + } +}()); + +(function () { + function target(object) + { + return Reflect.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => target("Cocoa"), `TypeError: Reflect.getPrototypeOf requires the first argument be an object`); + shouldThrow(() => target(42), `TypeError: Reflect.getPrototypeOf requires the first argument be an object`); + shouldThrow(() => target(true), `TypeError: Reflect.getPrototypeOf requires the first argument be an object`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/dfg-ssa-swap.js b/implementation-contributed/javascriptcore/stress/dfg-ssa-swap.js new file mode 100644 index 0000000000..2c0ad68a2c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-ssa-swap.js @@ -0,0 +1,8 @@ +var i,c=0; +function foo() +{ + var a=1,b;for(i=0;i<2;++i){[a,b]=[b,a];c++}if(!a^b)throw c +} +noInline(foo); +for(var k = 0; k < 10000; ++k) + foo() diff --git a/implementation-contributed/javascriptcore/stress/dfg-tail-calls.js b/implementation-contributed/javascriptcore/stress/dfg-tail-calls.js new file mode 100644 index 0000000000..ef51c0ca82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-tail-calls.js @@ -0,0 +1,56 @@ +(function nonInlinedTailCall() { + function callee() { if (callee.caller != nonInlinedTailCall) throw new Error(); } + noInline(callee); + + function caller() { "use strict"; return callee(); } + + for (var i = 0; i < 10000; ++i) + caller(); + + function loop(n) { "use strict"; if (n > 0) return loop(n - 1); } + noInline(loop); + + loop(1000000); +})(); + +(function inlinedTailCall() { + function callee() { if (callee.caller != inlinedTailCall) throw new Error(); } + function caller() { "use strict"; return callee(); } + + for (var i = 0; i < 10000; ++i) + caller(); + + function loop(n) { "use strict"; if (n > 0) return loop(n - 1); } + + loop(1000000); +})(); + +(function nonInlinedEmulatedTailCall() { + function emulator() { caller(); } + function callee() { if (callee.caller != emulator) throw new Error(); } + noInline(callee); + function caller() { "use strict"; return callee(); } + + for (var i = 0; i < 10000; ++i) + emulator(); + + function pad(n) { "use strict"; return loop(n); } + function loop(n) { "use strict"; if (n > 0) return pad(n - 1); } + noInline(loop); + + loop(1000000); +})(); + +(function inlinedEmulatedTailCall() { + function emulator() { caller(); } + function callee() { if (callee.caller != emulator) throw new Error(); } + function caller() { "use strict"; return callee(); } + + for (var i = 0; i < 10000; ++i) + emulator(); + + function pad(n) { "use strict"; return loop(n); } + function loop(n) { "use strict"; if (n > 0) return pad(n - 1); } + + loop(1000000); +})(); diff --git a/implementation-contributed/javascriptcore/stress/dfg-to-primitive-pass-symbol.js b/implementation-contributed/javascriptcore/stress/dfg-to-primitive-pass-symbol.js new file mode 100644 index 0000000000..5d265743e0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-to-primitive-pass-symbol.js @@ -0,0 +1,35 @@ +var shouldThrow = false; + +// str concat generates op_to_primitive. +function toPrimitiveTarget() { + if (shouldThrow) { + return Symbol('Cocoa'); + } + return 'Cocoa'; +} +noInline(toPrimitiveTarget); + +function doToPrimitive() { + var value = toPrimitiveTarget(); + return value + "Cappuccino" + value; +} +noInline(doToPrimitive); + +for (var i = 0; i < 10000; ++i) { + var result = doToPrimitive(); + if (result !== "CocoaCappuccinoCocoa") + throw "Error: bad result: " + result; +} + +shouldThrow = true; + +var didThrow; +try { + shouldThrow = true; + doToPrimitive(); +} catch (e) { + didThrow = e; +} + +if (String(didThrow) !== "TypeError: Cannot convert a symbol to a string") + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js b/implementation-contributed/javascriptcore/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js new file mode 100644 index 0000000000..0d75b233c5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dfg-try-catch-wrong-value-recovery-on-ic-miss.js @@ -0,0 +1,50 @@ +function assert(b) { + if (!b) + throw new Error("bad value") +} +noInline(assert); + +let oThrow = { + x: 20, + y: 40, + z: 50, + get f() { throw new Error("Hello World!"); } +}; + +let o1 = { + x: 20, + f: 40 +}; + +let o2 = { + x: 20, + y: 50, + f: 500, + get f() { return 20; } +}; + +function foo(f) { + let o = f(); + try { + o = o.f; + } catch(e) { + assert(o === oThrow); // Make sure this is not undefined. + } +} +noInline(foo); + +let i; +let flag = false; +function f() { + if (flag) + return oThrow; + if (i % 2) + return o1; + return o2; +} +noInline(f); +for (i = 0; i < 10000; i++) { + foo(f); +} +flag = true; +foo(f); diff --git a/implementation-contributed/javascriptcore/stress/direct-arguments-in-bounds-to-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/direct-arguments-in-bounds-to-out-of-bounds.js new file mode 100644 index 0000000000..2dac7d291f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-arguments-in-bounds-to-out-of-bounds.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function args() +{ + return arguments[1]; +} +noInline(args); + +for (var i = 0; i < 1e6; ++i) + shouldBe(args(0, 1, 2), 1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(args(0), undefined); diff --git a/implementation-contributed/javascriptcore/stress/direct-arguments-osr-entry.js b/implementation-contributed/javascriptcore/stress/direct-arguments-osr-entry.js new file mode 100644 index 0000000000..97d1ab4f85 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-arguments-osr-entry.js @@ -0,0 +1,22 @@ +// This tests that arguments elimination works with OSR entry. +// We need to have an inner call so that arguments elimination +// sees there are potential candidates. + +var args; + +function foo(a) +{ + args = arguments; + var result = 0; + for (var i = 0; i < 1000000; ++i) { + (function() { + return arguments[0]; + })(42); + result += a; + } + return result; +} + +noInline(foo); + +foo(42); diff --git a/implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-change-structure.js b/implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-change-structure.js new file mode 100644 index 0000000000..6e9e177988 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-change-structure.js @@ -0,0 +1,30 @@ +function foo(o) +{ + var theO = o; + var x = theO.f; + arguments[42]; + return x + theO.f; +} + +// Break some watchpoints. +var o = {f:24}; +o.g = 43; + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}); + if (result != 84) + throw "Error: bad result: " + result; +} + +var globalO = {f:42}; +Object.prototype.__defineGetter__(42, function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { return 75; }); + return 33; +}); +var result = foo(globalO); +if (result != 42 + 75) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-watchpoint.js b/implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-watchpoint.js new file mode 100644 index 0000000000..7169141b9b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-arguments-out-of-bounds-watchpoint.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function args() +{ + return arguments[1]; +} +noInline(args); + +shouldBe(args(), undefined); +shouldBe(args(0), undefined); +shouldBe(args(0, 1), 1); +for (var i = 0; i < 1e6; ++i) + shouldBe(args(), undefined); +Object.prototype[1] = 42; +shouldBe(args(), 42); diff --git a/implementation-contributed/javascriptcore/stress/direct-arguments-override-length-then-access-normal-length.js b/implementation-contributed/javascriptcore/stress/direct-arguments-override-length-then-access-normal-length.js new file mode 100644 index 0000000000..fd3a7bfe24 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-arguments-override-length-then-access-normal-length.js @@ -0,0 +1,25 @@ +(function() { + var args = (function() { + var result = arguments; + result.length = 6; + return result; + })(1, 2, 3, 4, 5); + + var array = [args, [1, 2, 3]]; + + function foo(thing) { + return thing.length; + } + noInline(foo); + + var result = 0; + for (var i = 0; i < 10000; ++i) + result += foo(array[i % array.length]); + + if (result != 45000) + throw "Error: bad result: " + result; + + var result = foo((function() { return arguments; })(1, 2, 3, 4)); + if (result != 4) + throw "Error: bad result: " + result; +})(); diff --git a/implementation-contributed/javascriptcore/stress/direct-binding-return-result.js b/implementation-contributed/javascriptcore/stress/direct-binding-return-result.js new file mode 100644 index 0000000000..93bb2d7b08 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-binding-return-result.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() { + var a, b; + return ([a, b] = [1, 2]); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var result = test(); + shouldBe(result.length, 2); + shouldBe(result[0], 1); + shouldBe(result[1], 2); +} diff --git a/implementation-contributed/javascriptcore/stress/direct-eval-in-object-literal-methods.js b/implementation-contributed/javascriptcore/stress/direct-eval-in-object-literal-methods.js new file mode 100644 index 0000000000..8c62f876d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-eval-in-object-literal-methods.js @@ -0,0 +1,62 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let object = { + n() + { + return 42; + } + }; + + let derived = { + m() + { + return eval("super.n()"); + } + }; + Object.setPrototypeOf(derived, object); + shouldBe(derived.m(), 42); + // Cached. + shouldBe(derived.m(), 42); +} + +{ + let object = { + l() + { + return 42; + } + }; + + let derived = { + m() + { + return eval("super.l()"); + } + }; + Object.setPrototypeOf(derived, object); + shouldBe(derived.m(), 42); + // Cached. + shouldBe(derived.m(), 42); + + class Parent { + l() + { + return 55; + } + } + + class Derived extends Parent { + m() + { + return eval("super.l()"); + } + } + let instance = new Derived(); + // Under the strict code, not cached. + shouldBe(instance.l(), 55); + shouldBe(instance.l(), 55); +} diff --git a/implementation-contributed/javascriptcore/stress/direct-tail-call-arity-mismatch-count-args.js b/implementation-contributed/javascriptcore/stress/direct-tail-call-arity-mismatch-count-args.js new file mode 100644 index 0000000000..a2478cf93d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/direct-tail-call-arity-mismatch-count-args.js @@ -0,0 +1,20 @@ +"use strict"; + +function foo(a, b, c, d, e, f) { + return arguments.length; +} + +noInline(foo); + +function bar() { + return foo(1, 2, 3); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(); + if (result != 3) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/disable-caching-when-lazy-materializing-error-property-on-put.js b/implementation-contributed/javascriptcore/stress/disable-caching-when-lazy-materializing-error-property-on-put.js new file mode 100644 index 0000000000..6b08e71156 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/disable-caching-when-lazy-materializing-error-property-on-put.js @@ -0,0 +1,27 @@ +function assert(b) { + if (!b) + throw new Error; +} + +function makeError() { return new Error; } +noInline(makeError); + +function storeToStack(e) { + e.stack = "foo"; +} +noInline(storeToStack); + +function storeToStackAlreadyMaterialized(e) { + e.stack = "bar"; +} +noInline(storeToStackAlreadyMaterialized); + +for (let i = 0; i < 10000; ++i) { + let e = makeError(); + storeToStack(e); + assert(e.stack === "foo"); + if (!!(i % 2)) + e.fooBar = 25; + storeToStackAlreadyMaterialized(e); + assert(e.stack === "bar"); +} diff --git a/implementation-contributed/javascriptcore/stress/disable-function-dot-arguments.js b/implementation-contributed/javascriptcore/stress/disable-function-dot-arguments.js new file mode 100644 index 0000000000..1996ce110b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/disable-function-dot-arguments.js @@ -0,0 +1,20 @@ +//@ run("function-dot-arguments", "--useFunctionDotArguments=false") + +function foo() { + var a = bar.arguments; + if (a.length != 0) + throw "Error: arguments have non-zero length"; + for (var i = 0; i < 100; ++i) { + if (a[i] !== void 0) + throw "Error: argument " + i + " has non-undefined value"; + } +} + +function bar() { + foo(); +} + +bar(); +bar(1); +bar(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); + diff --git a/implementation-contributed/javascriptcore/stress/disable-gigacage-arrays.js b/implementation-contributed/javascriptcore/stress/disable-gigacage-arrays.js new file mode 100644 index 0000000000..212fb1ee71 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/disable-gigacage-arrays.js @@ -0,0 +1,24 @@ +//@ runNoisyTestWithEnv "disable-gigacage", "GIGACAGE_ENABLED=0" + +(function() { + function foo(array, i) + { + return array[i]; + } + + noInline(foo); + + var array = new Array(1000); + for (var i = 0; i < array.length; ++i) + array[i] = 5 - i; + for (var i = 0; i < 1000; ++i) { + var result = 0; + var expectedResult = 0; + for (var j = 0; j < array.length; ++j) { + result += foo(array, j); + expectedResult += 5 - j; + } + if (result != expectedResult) + throw new Error("Bad result: " + result); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/disable-gigacage-strings.js b/implementation-contributed/javascriptcore/stress/disable-gigacage-strings.js new file mode 100644 index 0000000000..761d06769f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/disable-gigacage-strings.js @@ -0,0 +1,25 @@ +//@ runNoisyTestWithEnv "disable-gigacage", "GIGACAGE_ENABLED=0" + +(function() { + function foo(array, i) + { + return array.charCodeAt(i); + } + + noInline(foo); + + var array = ""; + for (var i = 0; i < array.length; ++i) + array += String.fromCharCode(5 - i); + for (var i = 0; i < 1000; ++i) { + var result = 0; + var expectedResult = 0; + for (var j = 0; j < array.length; ++j) { + result += foo(array, j); + expectedResult += 5 - j; + } + if (result != expectedResult) + throw new Error("Bad result: " + result); + } +})(); + diff --git a/implementation-contributed/javascriptcore/stress/disable-gigacage-typed-arrays.js b/implementation-contributed/javascriptcore/stress/disable-gigacage-typed-arrays.js new file mode 100644 index 0000000000..3663c1e59c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/disable-gigacage-typed-arrays.js @@ -0,0 +1,25 @@ +//@ runNoisyTestWithEnv "disable-gigacage", "GIGACAGE_ENABLED=0" + +(function() { + function foo(array, i) + { + return array[i]; + } + + noInline(foo); + + var array = new Int32Array(1000); + for (var i = 0; i < array.length; ++i) + array[i] = 5 - i; + for (var i = 0; i < 1000; ++i) { + var result = 0; + var expectedResult = 0; + for (var j = 0; j < array.length; ++j) { + result += foo(array, j); + expectedResult += 5 - j; + } + if (result != expectedResult) + throw new Error("Bad result: " + result); + } +})(); + diff --git a/implementation-contributed/javascriptcore/stress/do-eval-virtual-call-correctly.js b/implementation-contributed/javascriptcore/stress/do-eval-virtual-call-correctly.js new file mode 100644 index 0000000000..ecc12fb42c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/do-eval-virtual-call-correctly.js @@ -0,0 +1,29 @@ +var abort = $vm.abort; + +function assert(b) { + if (!b) { + abort(); + } +} +noInline(assert); + +let test; + +function f(eval) { + assert(eval === test); + eval(0x0); + f(test); +} + +for (let i = 0; i < 20; ++i) { + test = function test() { return i; } +} + +let error; +try { + f(test); +} catch(e) { + error = e; +} +assert(!!error); +assert(error instanceof RangeError); diff --git a/implementation-contributed/javascriptcore/stress/dom-jit-with-poly-proto.js b/implementation-contributed/javascriptcore/stress/dom-jit-with-poly-proto.js new file mode 100644 index 0000000000..b8ee62f0c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dom-jit-with-poly-proto.js @@ -0,0 +1,41 @@ +var createDOMJITGetterBaseJSObject = $vm.createDOMJITGetterBaseJSObject; + +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 25; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +let proto = createDOMJITGetterBaseJSObject(); +let obj = makePolyProtoObject(); +obj.__proto__ = proto; + +function validate(x, v) { + assert(x.customGetter === v, x.customGetter); +} +noInline(validate); + +for (let i = 0; i < 1000; ++i) + validate(obj, proto); + +proto.foo = 25; +for (let i = 0; i < 1000; ++i) + validate(obj, proto); + +Reflect.setPrototypeOf(obj, {}); +for (let i = 0; i < 1000; ++i) { + validate(obj, undefined); +} diff --git a/implementation-contributed/javascriptcore/stress/domjit-exception-ic.js b/implementation-contributed/javascriptcore/stress/domjit-exception-ic.js new file mode 100644 index 0000000000..9022bd36b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-exception-ic.js @@ -0,0 +1,39 @@ +var createDOMJITGetterComplexObject = $vm.createDOMJITGetterComplexObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + let domjit = createDOMJITGetterComplexObject(); + function access(object) + { + return object.customGetter; + } + noInline(access); + let normal = { + customGetter: 42 + }; + for (let i = 0; i < 1e4; ++i) { + shouldBe(access(domjit), 42); + shouldBe(access(normal), 42); + } + domjit.enableException(); + shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/domjit-exception.js b/implementation-contributed/javascriptcore/stress/domjit-exception.js new file mode 100644 index 0000000000..93f61c832c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-exception.js @@ -0,0 +1,69 @@ +var createDOMJITGetterComplexObject = $vm.createDOMJITGetterComplexObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} +(function () { + let domjit = createDOMJITGetterComplexObject(); + function access(object) + { + return object.customGetter; + } + noInline(access); + for (var i = 0; i < 1e4; ++i) + shouldBe(access(domjit), 42); + domjit.enableException(); + shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`); +}()); +(function () { + let domjit = createDOMJITGetterComplexObject(); + function access(object) + { + return object.customGetter; + } + noInline(access); + for (let i = 0; i < 1e2; ++i) + shouldBe(access(domjit), 42); + domjit.enableException(); + shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`); +}()); +(function () { + let domjit = createDOMJITGetterComplexObject(); + function access(object) + { + return object.customGetter; + } + noInline(access); + for (let i = 0; i < 50; ++i) + shouldBe(access(domjit), 42); + domjit.enableException(); + shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`); +}()); +(function () { + let domjit = createDOMJITGetterComplexObject(); + function access(object) + { + return object.customGetter; + } + noInline(access); + for (let i = 0; i < 10; ++i) + shouldBe(access(domjit), 42); + domjit.enableException(); + shouldThrow(() => access(domjit), `Error: DOMJITGetterComplex slow call exception`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-complex-with-incorrect-object.js b/implementation-contributed/javascriptcore/stress/domjit-getter-complex-with-incorrect-object.js new file mode 100644 index 0000000000..17789356a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-complex-with-incorrect-object.js @@ -0,0 +1,30 @@ +var createDOMJITGetterComplexObject = $vm.createDOMJITGetterComplexObject; + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var complex = createDOMJITGetterComplexObject(); +var object = {}; +object.__proto__ = complex; +function access(object) +{ + return object.customGetter; +} +noInline(access); +for (var i = 0; i < 1e4; ++i) { + shouldThrow(() => { + access(object); + }, `TypeError: The DOMJITGetterComplex.customGetter getter can only be used on instances of DOMJITGetterComplex`); +} diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-complex.js b/implementation-contributed/javascriptcore/stress/domjit-getter-complex.js new file mode 100644 index 0000000000..7e28aa2a32 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-complex.js @@ -0,0 +1,16 @@ +var createDOMJITGetterComplexObject = $vm.createDOMJITGetterComplexObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var complex = createDOMJITGetterComplexObject(); +function access(complex) +{ + return complex.customGetter; +} +noInline(access); +for (var i = 0; i < 1e4; ++i) { + shouldBe(access(complex), 42); +} diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-poly.js b/implementation-contributed/javascriptcore/stress/domjit-getter-poly.js new file mode 100644 index 0000000000..f7d4785e46 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-poly.js @@ -0,0 +1,21 @@ +var createDOMJITGetterObject = $vm.createDOMJITGetterObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var domjit1 = createDOMJITGetterObject(); +var domjit2 = createDOMJITGetterObject(); + +function access(domjit) +{ + return domjit.customGetter + domjit.customGetter; +} + +for (var i = 0; i < 1e4; ++i) + shouldBe(access((i & 0x1) ? domjit1 : domjit2), 84); + +shouldBe(access({ customGetter: 42 }), 84); +domjit1.test = 44; +shouldBe(access(domjit1), 84); diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-proto.js b/implementation-contributed/javascriptcore/stress/domjit-getter-proto.js new file mode 100644 index 0000000000..cda0cc100f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-proto.js @@ -0,0 +1,19 @@ +var createDOMJITNodeObject = $vm.createDOMJITNodeObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var domjit = createDOMJITNodeObject(); +function access(domjit) +{ + return domjit.customGetter + domjit.customGetter; +} + +for (var i = 0; i < 1e4; ++i) + shouldBe(access(domjit), 84); + +shouldBe(access({ customGetter: 42 }), 84); +domjit.test = 44; +shouldBe(access(domjit), 84); diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-super-poly.js b/implementation-contributed/javascriptcore/stress/domjit-getter-super-poly.js new file mode 100644 index 0000000000..b6f21ddbfb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-super-poly.js @@ -0,0 +1,20 @@ +var createDOMJITGetterObject = $vm.createDOMJITGetterObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var domjits = []; +for (var i = 0; i < 100; ++i) + domjits.push(createDOMJITGetterObject()); + +function access(domjit) +{ + return domjit.customGetter + domjit.customGetter; +} + +for (var i = 0; i < 1e2; ++i) { + for (var j = 0; j < domjits.length; ++j) + shouldBe(access(domjits[j]), 84); +} diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js b/implementation-contributed/javascriptcore/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js new file mode 100644 index 0000000000..b6ec24d0b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-try-catch-getter-as-get-by-id-register-restoration.js @@ -0,0 +1,54 @@ +var createDOMJITGetterComplexObject = $vm.createDOMJITGetterComplexObject; + +function assert(b) { + if (!b) throw new Error("bad value"); +} +noInline(assert); + +let i; +var o1 = createDOMJITGetterComplexObject(); +o1.x = "x"; + +var o2 = { + customGetter: 40 +} + +var o3 = { + x: 100, + customGetter: "f" +} + +function bar(i) { + if (i === -1000) + return o1; + + if (i % 2) + return o3; + else + return o2; +} +noInline(bar); + +function foo(i) { + var o = bar(i); + let v; + let v2; + let v3; + try { + v2 = o.x; + v = o.customGetter + v2; + } catch(e) { + assert(v2 === "x"); + assert(o === o1); + } +} +noInline(foo); + +foo(i); +for (i = 0; i < 1000; i++) + foo(i); + +o1.enableException(); +i = -1000; +for (let j = 0; j < 1000; j++) + foo(i); diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter-type-check.js b/implementation-contributed/javascriptcore/stress/domjit-getter-type-check.js new file mode 100644 index 0000000000..e060a92c9a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter-type-check.js @@ -0,0 +1,28 @@ +var createDOMJITGetterObject = $vm.createDOMJITGetterObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var domjit = createDOMJITGetterObject(); +for (var i = 0; i < 1e3; ++i) { + shouldThrow(() => { + Reflect.get(domjit, 'customGetter', { customGetter: 42 }); + }, `TypeError: The DOMJITNode.customGetter getter can only be used on instances of DOMJITNode`); +} diff --git a/implementation-contributed/javascriptcore/stress/domjit-getter.js b/implementation-contributed/javascriptcore/stress/domjit-getter.js new file mode 100644 index 0000000000..7da39075a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/domjit-getter.js @@ -0,0 +1,20 @@ +var createDOMJITGetterObject = $vm.createDOMJITGetterObject; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var domjit = createDOMJITGetterObject(); + +function access(domjit) +{ + return domjit.customGetter + domjit.customGetter; +} + +for (var i = 0; i < 1e4; ++i) + shouldBe(access(domjit), 84); + +shouldBe(access({ customGetter: 42 }), 84); +domjit.test = 44; +shouldBe(access(domjit), 84); diff --git a/implementation-contributed/javascriptcore/stress/dont-constant-fold-check-type-info-on-bound-function.js b/implementation-contributed/javascriptcore/stress/dont-constant-fold-check-type-info-on-bound-function.js new file mode 100644 index 0000000000..5c119b9011 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-constant-fold-check-type-info-on-bound-function.js @@ -0,0 +1,17 @@ +"use strict"; + +class C { } +let x = new C; +C = C.bind(this); + +function foo(x) { + x.foo; + return x instanceof C; +} +noInline(foo); + +for (let i = 0; i < 1000; ++i) { + let r = foo(x); + if (r !== true) + throw new Error("Bad") +} diff --git a/implementation-contributed/javascriptcore/stress/dont-crash-ftl-osr-entry.js b/implementation-contributed/javascriptcore/stress/dont-crash-ftl-osr-entry.js new file mode 100644 index 0000000000..50b29c8150 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-crash-ftl-osr-entry.js @@ -0,0 +1,26 @@ +//@ runDefault("--jitPolicyScale=0--jitPolicyScale=0") + +// This test should not crash. + +function f_0() { + var v_4 = 1; + var v_5 = 'a'; + while (v_4 < 256) { + v_4 <<= 1; + } + return v_4; +} +function f_1(v_1) { + var sum = 0; + for (var i = 0; i < 1000; i++) { + for (var j = 0; j < 4; j++) { + sum += v_1(); + } + } + return sum; +} + +let hello; +for (var i=0; i<1000; i++) { + hello = f_1(f_0); +} diff --git a/implementation-contributed/javascriptcore/stress/dont-crash-in-cfg-simplification.js b/implementation-contributed/javascriptcore/stress/dont-crash-in-cfg-simplification.js new file mode 100644 index 0000000000..c7687bf0e0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-crash-in-cfg-simplification.js @@ -0,0 +1,17 @@ +function bar() {} +noInline(bar); + +function baz() { } + +function foo() { + if (typeof baz !== "undefined") { + } else { + // The test here is to make sure that we don't merge this basic block + // with itself. If we did, we'd infinite loop in the compiler and eventually + // crash due to OOM when growing a Vector. + while (true) bar(); + } +} +noInline(foo); +for (let i = 0; i < 10000; ++i) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/dont-crash-on-bad-invalidation-point.js b/implementation-contributed/javascriptcore/stress/dont-crash-on-bad-invalidation-point.js new file mode 100644 index 0000000000..720cd259ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-crash-on-bad-invalidation-point.js @@ -0,0 +1,16 @@ +var A = 8000; +var B = 8000; +var C = 100; +var Iters = 0; +function dontCrash() { + for (a = 0; a < A; ++a) { + for (b = 0; b < B; ++b) { + for (c = 0; c < C; ++c) { + if (++Iters > 10000000) + return; + } + } + } + +} +dontCrash(); diff --git a/implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-builtin.js b/implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-builtin.js new file mode 100644 index 0000000000..606ef4bf6b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-builtin.js @@ -0,0 +1,13 @@ +//@ runDefault("--softReservedZoneSize=16384", "--reservedZoneSize=0", "--useJIT=0", "--validateBytecode=1", "--maxPerThreadStackUsage=500000") + +function f() { + try { + f(); + } catch (e) { + try { + Map.prototype.forEach.call('', {}); + } catch (e) {} + } +} + +f() diff --git a/implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-default-constructor.js b/implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-default-constructor.js new file mode 100644 index 0000000000..4f91cbe996 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-crash-on-stack-overflow-when-parsing-default-constructor.js @@ -0,0 +1,17 @@ +//@ runDefault("--softReservedZoneSize=16384", "--reservedZoneSize=0", "--useJIT=0", "--validateBytecode=1", "--maxPerThreadStackUsage=500000") + +function runNearStackLimit(f) { + function t() { + try { + return t(); + } catch (e) { + new class extends (class {}) {}(); + return f(); + } + } + return t(); +} +function foo() { + new class extends (class {}) {}(); +} +runNearStackLimit(() => { return foo(); }); diff --git a/implementation-contributed/javascriptcore/stress/dont-crash-when-hoist-check-structure-on-tdz.js b/implementation-contributed/javascriptcore/stress/dont-crash-when-hoist-check-structure-on-tdz.js new file mode 100644 index 0000000000..86ea6d4bf3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-crash-when-hoist-check-structure-on-tdz.js @@ -0,0 +1,28 @@ +class Foo extends Object { + constructor(c1, c2) { + if (c1) + super(); + let arrow = () => { + if (c2) + this.foo = 20; + else + this.foo = 40; + }; + noInline(arrow); + arrow(); + } +} +noInline(Foo); + +for (let i = 0; i < 1000; ++i) + new Foo(true, !!(i%2)); + +let threw = false; +try { + new Foo(false, true); +} catch { + threw = true; +} finally { + if (!threw) + throw new Error("Bad") +} diff --git a/implementation-contributed/javascriptcore/stress/dont-dead-lock-put-by-val-as-put-by-id.js b/implementation-contributed/javascriptcore/stress/dont-dead-lock-put-by-val-as-put-by-id.js new file mode 100644 index 0000000000..5bfdd39711 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-dead-lock-put-by-val-as-put-by-id.js @@ -0,0 +1,17 @@ +function ident() { return "foo"; } +noInline(ident); + +let o = { + set foo(x) { + foo(false); + } +}; + +function foo(cond) { + if (cond) + o[ident()] = 20; +} + +for (let i = 0; i < 10000; i++) { + foo(true); +} diff --git a/implementation-contributed/javascriptcore/stress/dont-reserve-huge-capacity-lexer.js b/implementation-contributed/javascriptcore/stress/dont-reserve-huge-capacity-lexer.js new file mode 100644 index 0000000000..6b56962a9f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-reserve-huge-capacity-lexer.js @@ -0,0 +1,17 @@ +//@ if ($architecture != "x86-64") or $memoryLimited then skip else runDefault end + +var fe="f"; +try +{ + for (i=0; i<25; i++) + fe += fe; + + var fu=new Function( + fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, + fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, + fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, + fe, fe, fe, fe, fe, fe, fe, fe, fe, fe, + "done" + ); +} catch(e) { +} diff --git a/implementation-contributed/javascriptcore/stress/dont-run-cleanup-after-licm.js b/implementation-contributed/javascriptcore/stress/dont-run-cleanup-after-licm.js new file mode 100644 index 0000000000..d03849e61d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-run-cleanup-after-licm.js @@ -0,0 +1,14 @@ +function foo(string) { + var result1, result2; + for (var i = 0; i < 1000; ++i) { + result1 = string[0]; + for (var j = 0; j < 10; ++j) + result2 = 1; + } + return [result1, result2]; +} +noInline(foo); + +foo(" "); +for (var i = 0; i < 1000; i++) + foo(new Error()); diff --git a/implementation-contributed/javascriptcore/stress/dont-strength-reduce-valuerep-of-doublerep.js b/implementation-contributed/javascriptcore/stress/dont-strength-reduce-valuerep-of-doublerep.js new file mode 100644 index 0000000000..bb9783b344 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-strength-reduce-valuerep-of-doublerep.js @@ -0,0 +1,15 @@ +let a2 = []; +let thingy = {length: 2**55, __proto__: []}; +let func = (x) => x; + +noInline(Array.prototype.map); + +// This test should not crash. +for (let i = 0; i < 100000; ++i) { + try { + if (i > 0 && (i % 1000) === 0) + thingy.map(func) + a2.map(func); + } catch(e) { + } +} diff --git a/implementation-contributed/javascriptcore/stress/dont-unwind-past-vm-entry-frame.js b/implementation-contributed/javascriptcore/stress/dont-unwind-past-vm-entry-frame.js new file mode 100644 index 0000000000..d0d9fbb6ff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-unwind-past-vm-entry-frame.js @@ -0,0 +1,39 @@ +"use strict"; + +// This test passes when JSC doesn't crash. + +let p = new Proxy(function() { }, { + apply: function() { + return bar(); + } +}); + +function bar() { + let item = getItem(); + return item.foo; +} + +let i; +let shouldReturnBad = false; +let good = [function() {return 1}, {b: 20}, {c: 40}, {d:50}] +let bad = [{asdfhasf: 20}, {e:50}, {j:70}, {k:100}, null]; +function getItem() { + if (shouldReturnBad) + return bad[i % bad.length]; + return good[i % good.length]; +} +noInline(getItem); + +function start() { + for (i = 0; i < 1000; i++) { + p(); + } + + shouldReturnBad = true; + for (i = 0; i < 10000; i++) { + try { + p(); + } catch(e) { } + } +} +start(); diff --git a/implementation-contributed/javascriptcore/stress/dont-validate-stack-offset-in-b3-because-it-might-be-guarded-by-control-flow.js b/implementation-contributed/javascriptcore/stress/dont-validate-stack-offset-in-b3-because-it-might-be-guarded-by-control-flow.js new file mode 100644 index 0000000000..0a8af3377b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/dont-validate-stack-offset-in-b3-because-it-might-be-guarded-by-control-flow.js @@ -0,0 +1,26 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function test() { + function a(a1, a2, a3, ...rest) { + return [rest.length, rest[0], rest[10]]; + } + + function b(...rest) { + return a.apply(null, rest); + } + noInline(b); + + for (let i = 0; i < 12000; i++) { + b(); + let r = a(undefined, 0); + assert(r[0] === 0); + assert(r[1] === undefined); + assert(r[2] === undefined); + } +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/double-array-to-array-storage.js b/implementation-contributed/javascriptcore/stress/double-array-to-array-storage.js new file mode 100644 index 0000000000..9f3b7925c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-array-to-array-storage.js @@ -0,0 +1,33 @@ +"use strict"; + +function assert(b, msg) { + if (!b) + throw new Error(msg); +} + +var arr = []; + +function test() +{ + arr = [0, 2147483648]; // NOTE: the second number is greater than INT_MAX + + assert(arr[0] === 0, "arr[0] should be 0, but is " + arr[0]); + assert(arr[1] === 2147483648, "arr[1] should be 2147483648, but is " + arr[1]); + assert(arr.length === 2, "Length should be 2, but is " + arr.length); + + arr.shift(); + + assert(arr[0] === 2147483648, "arr[0] should be 2147483648, but is " + arr[0]); + assert(arr[1] === undefined, "arr[1] should be undefined, but is " + arr[1]); + assert(arr.length === 1, "Length should be 2, but is " + arr.length); + + arr[1] = 1; + + assert(arr[0] === 2147483648, "arr[0] should be 2147483648, but is " + arr[0]); + assert(arr[1] === 1, "arr[1] should be 1, but is " + arr[1]); + assert(arr.length === 2, "Length should be 2, but is " + arr.length); +} + +for (let i = 0; i < 10000; i++) + test(); + diff --git a/implementation-contributed/javascriptcore/stress/double-array-unshift.js b/implementation-contributed/javascriptcore/stress/double-array-unshift.js new file mode 100644 index 0000000000..fc9aeb874b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-array-unshift.js @@ -0,0 +1,6 @@ +//@ runDefault +var x = [2.5, 1.5]; +Array.prototype.unshift.call(x, 3.5); +if (x.toString() != "3.5,2.5,1.5") + throw "Error: bad result: " + describe(x); + diff --git a/implementation-contributed/javascriptcore/stress/double-as-int32.js b/implementation-contributed/javascriptcore/stress/double-as-int32.js new file mode 100644 index 0000000000..1939823a71 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-as-int32.js @@ -0,0 +1,22 @@ +//@ defaultRun; runNoCJITNoASO + +function foo(a, b) { + return a.f / b.f; +} + +noInline(foo); + +function test(a, b, e) { + var result = foo({f:a}, {f:b}); + if (result != e) + throw "Error: " + a + " / " + b + " should be " + e + " but was " + result; +} + +for (var i = 1; i < 101; ++i) + test(i * 2, i, 2); + +test(9, 3, 3); +test(12, 4, 3); +test(-32, 8, -4); +test(-21, 7, -3); +test(7, 2, 3.5); diff --git a/implementation-contributed/javascriptcore/stress/double-compare-to-float.js b/implementation-contributed/javascriptcore/stress/double-compare-to-float.js new file mode 100644 index 0000000000..428d4054f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-compare-to-float.js @@ -0,0 +1,49 @@ +function canSimplifyToFloat(a, b) +{ + return Math.fround(a) === Math.fround(b); +} +noInline(canSimplifyToFloat); + +function canSimplifyToFloatWithConstant(a) +{ + return Math.fround(a) === 1.0; +} +noInline(canSimplifyToFloatWithConstant); + +function cannotSimplifyA(a, b) +{ + return a === Math.fround(b); +} +noInline(cannotSimplifyA); + +function cannotSimplifyB(a, b) +{ + return Math.fround(a) === b; +} +noInline(cannotSimplifyB); + +for (let i = 1; i < 1e4; ++i) { + if (canSimplifyToFloat(Math.PI, Math.PI) !== true) + throw "Failed canSimplifyToFloat(Math.PI, Math.PI)"; + if (canSimplifyToFloat(Math.LN2, Math.PI) !== false) + throw "Failed canSimplifyToFloat(Math.LN2, Math.PI)"; + + if (canSimplifyToFloatWithConstant(Math.PI) !== false) + throw "Failed canSimplifyToFloatWithConstant(Math.PI)"; + if (canSimplifyToFloatWithConstant(1) !== true) + throw "Failed canSimplifyToFloatWithConstant(1)"; + + if (cannotSimplifyA(Math.PI, Math.PI) !== false) + throw "Failed cannotSimplifyA(Math.PI, Math.PI)"; + if (cannotSimplifyA(Math.fround(Math.PI), Math.PI) !== true) + throw "Failed cannotSimplifyA(Math.round(Math.PI), Math.PI)"; + if (cannotSimplifyA(Math.LN2, Math.PI) !== false) + throw "Failed cannotSimplifyA(Math.LN2, Math.PI)"; + + if (cannotSimplifyB(Math.PI, Math.PI) !== false) + throw "Failed cannotSimplifyA(Math.PI, Math.PI)"; + if (cannotSimplifyB(Math.PI, Math.fround(Math.PI)) !== true) + throw "Failed cannotSimplifyA(Math.round(Math.PI), Math.PI)"; + if (cannotSimplifyB(Math.LN2, Math.PI) !== false) + throw "Failed cannotSimplifyA(Math.LN2, Math.PI)"; +} diff --git a/implementation-contributed/javascriptcore/stress/double-rep-real-number-use-on-nan.js b/implementation-contributed/javascriptcore/stress/double-rep-real-number-use-on-nan.js new file mode 100644 index 0000000000..96efc543f4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-rep-real-number-use-on-nan.js @@ -0,0 +1,46 @@ +// Original test case. +function isNaNOnDouble(value) +{ + return (+value) !== value; +} +noInline(isNaNOnDouble); + +function testIsNaNOnDoubles() +{ + var value = isNaNOnDouble(-0); + if (value) + throw "isNaNOnDouble(-0) = " + value; + + var value = isNaNOnDouble(NaN); + if (!value) + throw "isNaNOnDouble(NaN) = " + value; + + var value = isNaNOnDouble(Number.POSITIVE_INFINITY); + if (value) + throw "isNaNOnDouble(Number.POSITIVE_INFINITY) = " + value; +} +noInline(testIsNaNOnDoubles); + +for (let i = 0; i < 1e6; ++i) { + testIsNaNOnDoubles(); +} + +// Simplified test case. +function isNaNOnDouble2(value) +{ + let valueToNumber = (+value); + return valueToNumber !== valueToNumber; +} +noInline(isNaNOnDouble2); + +// Warm up without NaN. +for (let i = 0; i < 1e6; ++i) { + if (isNaNOnDouble2(1.5)) + throw "Failed isNaNOnDouble(1.5)"; +} + +// Then pass some NaNs. +for (let i = 0; i < 1e6; ++i) { + if (!isNaNOnDouble2(NaN)) + throw "Failed isNaNOnDouble(NaN)"; +} diff --git a/implementation-contributed/javascriptcore/stress/double-rep-with-non-cell.js b/implementation-contributed/javascriptcore/stress/double-rep-with-non-cell.js new file mode 100644 index 0000000000..bc6a1928b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-rep-with-non-cell.js @@ -0,0 +1,32 @@ +// Only bool, undefined and null +function addNullBoolUndefined(a, b) { + return a + b; +} +noInline(addNullBoolUndefined); + +for (var i = 0; i < 1e4; ++i) { + var value = addNullBoolUndefined(0.5, null); + if (value !== 0.5) + throw "addNullBoolUndefined(0.5, null) failed with i = " + i + " returned value = " + value; + + var value = addNullBoolUndefined(null, undefined); + if (value === value) + throw "addNullBoolUndefined(null, undefined) failed with i = " + i + " returned value = " + value; + + var value = addNullBoolUndefined(true, null); + if (value !== 1) + throw "addNullBoolUndefined(true, null) failed with i = " + i + " returned value = " + value; + + var value = addNullBoolUndefined(undefined, false); + if (value === value) + throw "addNullBoolUndefined(undefined, false) failed with i = " + i + " returned value = " + value; + + var value = addNullBoolUndefined(false, true); + if (value !== 1) + throw "addNullBoolUndefined(false, true) failed with i = " + i + " returned value = " + value; + + var value = addNullBoolUndefined(null, 42); + if (value !== 42) + throw "addNullBoolUndefined(null, 42) failed with i = " + i + " returned value = " + value; + +} diff --git a/implementation-contributed/javascriptcore/stress/double-rep-with-null.js b/implementation-contributed/javascriptcore/stress/double-rep-with-null.js new file mode 100644 index 0000000000..01b6259df4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-rep-with-null.js @@ -0,0 +1,107 @@ +// Using full number + null for math. +function addArgsNumberAndNull(a, b) { + return a + b; +} +noInline(addArgsNumberAndNull); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsNumberAndNull(i, 1); + if (value !== (i + 1)) + throw "addArgsNumberAndNull(i, 1) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndNull(0.5, i); + if (value !== (i + 0.5)) + throw "addArgsNumberAndNull(0.5, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndNull(null, i); + if (value !== i) + throw "addArgsNumberAndNull(null, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndNull(i, null); + if (value !== i) + throw "addArgsNumberAndNull(i, null) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndNull(null, null); + if (value !== 0) + throw "addArgsNumberAndNull(null, null) failed with i = " + i + " returned value = " + value; +} + + +// Using int32 + null for math. +function addArgsInt32AndNull(a, b) { + return a + b; +} +noInline(addArgsInt32AndNull); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsInt32AndNull(i, 1); + if (value !== (i + 1)) + throw "addArgsInt32AndNull(i, 1) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndNull(null, i); + if (value !== i) + throw "addArgsInt32AndNull(null, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndNull(i, null); + if (value !== i) + throw "addArgsInt32AndNull(i, null) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndNull(null, null); + if (value !== 0) + throw "addArgsInt32AndNull(null, null) failed with i = " + i + " returned value = " + value; +} + +function testFallbackWithDouble() { + var value = addArgsNumberAndNull(Math.PI, Math.PI); + if (value !== 2 * Math.PI) + throw "addArgsNumberAndNull(Math.PI, Math.PI) failed with i = " + i + " returned value = " + value; +} +testFallbackWithDouble(); + + +// Using full number + null for math. +function addArgsDoubleAndNull(a, b) { + return a + b; +} +noInline(addArgsDoubleAndNull); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsDoubleAndNull(0.5, i); + if (value !== (i + 0.5)) + throw "addArgsDoubleAndNull(0.5, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsDoubleAndNull(null, 0.1); + if (value !== 0.1) + throw "addArgsDoubleAndNull(null, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsDoubleAndNull(0.6, null); + if (value !== 0.6) + throw "addArgsDoubleAndNull(i, null) failed with i = " + i + " returned value = " + value; +} + +function testFallbackWithObject() { + var value = addArgsDoubleAndNull(Math.PI, { valueOf: function() { return 5; }}); + if (value !== 5 + Math.PI) + throw "addArgsDoubleAndNull(Math.PI, { valueOf: function() { return 5; }}) failed with i = " + i + " returned value = " + value; +} +testFallbackWithObject(); + + +// Using only null +function addArgsOnlyNull(a, b) { + return a + b; +} +noInline(addArgsOnlyNull); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsOnlyNull(null, null); + if (value !== 0) + throw "addArgsOnlyNull(null, null) failed with i = " + i + " returned value = " + value; +} + +function testFallbackWithString() { + var value = addArgsOnlyNull("foo", "bar"); + if (value !== "foobar") + throw "addArgsOnlyNull(\"foo\", \"bar\") failed with i = " + i + " returned value = " + value; +} +testFallbackWithString(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/double-rep-with-undefined.js b/implementation-contributed/javascriptcore/stress/double-rep-with-undefined.js new file mode 100644 index 0000000000..d41fba6059 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-rep-with-undefined.js @@ -0,0 +1,131 @@ +// Using full number + undefined for math. +function addArgsNumberAndUndefined(a, b) { + return a + b; +} +noInline(addArgsNumberAndUndefined); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsNumberAndUndefined(i, 1); + if (value !== (i + 1)) + throw "addArgsNumberAndUndefined(i, 1) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndUndefined(0.5, i); + if (value !== (i + 0.5)) + throw "addArgsNumberAndUndefined(0.5, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndUndefined(undefined, i); + if (value === value) + throw "addArgsNumberAndUndefined(undefined, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndUndefined(i, undefined); + if (value === value) + throw "addArgsNumberAndUndefined(i, undefined) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndUndefined(i); + if (value === value) + throw "addArgsNumberAndUndefined(i) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndUndefined(undefined, undefined); + if (value === value) + throw "addArgsNumberAndUndefined(undefined, undefined) failed with i = " + i + " returned value = " + value; + + var value = addArgsNumberAndUndefined(); + if (value === value) + throw "addArgsNumberAndUndefined() failed with i = " + i + " returned value = " + value; +} + + +// Using int32 + undefined for math. +function addArgsInt32AndUndefined(a, b) { + return a + b; +} +noInline(addArgsInt32AndUndefined); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsInt32AndUndefined(i, 1); + if (value !== (i + 1)) + throw "addArgsInt32AndUndefined(i, 1) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndUndefined(undefined, i); + if (value === value) + throw "addArgsInt32AndUndefined(undefined, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndUndefined(i, undefined); + if (value === value) + throw "addArgsInt32AndUndefined(i, undefined) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndUndefined(i); + if (value === value) + throw "addArgsInt32AndUndefined(i) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndUndefined(undefined, undefined); + if (value === value) + throw "addArgsInt32AndUndefined(undefined, undefined) failed with i = " + i + " returned value = " + value; + + var value = addArgsInt32AndUndefined(); + if (value === value) + throw "addArgsInt32AndUndefined() failed with i = " + i + " returned value = " + value; +} + +function testFallbackWithDouble() { + var value = addArgsNumberAndUndefined(Math.PI, Math.PI); + if (value !== 2 * Math.PI) + throw "addArgsNumberAndUndefined(Math.PI, Math.PI) failed with i = " + i + " returned value = " + value; +} +testFallbackWithDouble(); + + +// Using full number + undefined for math. +function addArgsDoubleAndUndefined(a, b) { + return a + b; +} +noInline(addArgsDoubleAndUndefined); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsDoubleAndUndefined(0.5, i); + if (value !== (i + 0.5)) + throw "addArgsDoubleAndUndefined(0.5, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsDoubleAndUndefined(undefined, 0.1); + if (value === value) + throw "addArgsDoubleAndUndefined(undefined, i) failed with i = " + i + " returned value = " + value; + + var value = addArgsDoubleAndUndefined(0.6, undefined); + if (value === value) + throw "addArgsDoubleAndUndefined(i, undefined) failed with i = " + i + " returned value = " + value; + + var value = addArgsDoubleAndUndefined(42.8); + if (value === value) + throw "addArgsDoubleAndUndefined(i) failed with i = " + i + " returned value = " + value; +} + +function testFallbackWithObject() { + var value = addArgsDoubleAndUndefined(Math.PI, { valueOf: function() { return 5; }}); + if (value !== 5 + Math.PI) + throw "addArgsDoubleAndUndefined(Math.PI, { valueOf: function() { return 5; }}) failed with i = " + i + " returned value = " + value; +} +testFallbackWithObject(); + + +// Using full number + undefined for math. +function addArgsOnlyUndefined(a, b) { + return a + b; +} +noInline(addArgsOnlyUndefined); + +for (var i = 0; i < 1e4; ++i) { + var value = addArgsOnlyUndefined(undefined, undefined); + if (value === value) + throw "addArgsOnlyUndefined(undefined, undefined) failed with i = " + i + " returned value = " + value; + + var value = addArgsOnlyUndefined(); + if (value === value) + throw "addArgsOnlyUndefined() failed with i = " + i + " returned value = " + value; +} + +function testFallbackWithString() { + var value = addArgsOnlyUndefined("foo", "bar"); + if (value !== "foobar") + throw "addArgsOnlyUndefined(\"foo\", \"bar\") failed with i = " + i + " returned value = " + value; +} +testFallbackWithString(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/double-to-float.js b/implementation-contributed/javascriptcore/stress/double-to-float.js new file mode 100644 index 0000000000..adcc377c6b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-to-float.js @@ -0,0 +1,157 @@ +function upsilonReferencingItsPhi(index, input) +{ + // All uses of "outputDouble" are converted to float. + // Inside the loop, the Upsilon is referencing its own Phi. This should + // not prevent the conversion. + let outputDouble = input; + while (index) { + if (index & 0x4) + outputDouble = Math.fround(outputDouble) + Math.PI; + index = index >>> 1; + } + return Math.fround(outputDouble); +} +noInline(upsilonReferencingItsPhi); + +let expectedNotTaken = Math.fround(Math.LN2); +let expectedTaken = Math.fround(Math.fround(Math.LN2) + Math.PI); +for (let i = 0; i < 1e6; ++i) { + let branchNotTakenResult = upsilonReferencingItsPhi(3, Math.LN2); + if (branchNotTakenResult !== expectedNotTaken) + throw "Failed upsilonReferencingItsPhi(3, Math.LN2) at i = " + i + " result = " + branchNotTakenResult; + + let branchTakenResult = upsilonReferencingItsPhi(7, Math.LN2); + if (branchTakenResult !== expectedTaken) + throw "Failed upsilonReferencingItsPhi(7, Math.LN2) at i = " + i + " result = " + branchTakenResult; +} + +// Same as above, but this time it is always better to convert the outside Phi-Upsilon. +function upsilonReferencingItsPhiAllFloat(index, input) +{ + let outputDouble = Math.fround(input); + while (index) { + if (index & 0x4) + outputDouble = Math.fround(outputDouble) + Math.PI; + index = index >>> 1; + } + return Math.fround(outputDouble); +} +noInline(upsilonReferencingItsPhiAllFloat); + +for (let i = 0; i < 1e6; ++i) { + let branchNotTakenResult = upsilonReferencingItsPhiAllFloat(3, Math.LN2); + if (branchNotTakenResult !== expectedNotTaken) + throw "Failed upsilonReferencingItsPhiAllFloat(3, Math.LN2) at i = " + i + " result = " + branchNotTakenResult; + + let branchTakenResult = upsilonReferencingItsPhiAllFloat(7, Math.LN2); + if (branchTakenResult !== expectedTaken) + throw "Failed upsilonReferencingItsPhiAllFloat(7, Math.LN2) at i = " + i + " result = " + branchTakenResult; +} + +// This time, converting to float would be a mistake because one of the Phi +// is not converted. +function upsilonReferencingItsPhiWithoutConversion(index, input) +{ + let outputDouble = input; + while (index) { + if (index & 0x4) + outputDouble = Math.fround(outputDouble) + Math.PI; + index = index >>> 1; + } + return outputDouble; +} +noInline(upsilonReferencingItsPhiWithoutConversion); + +let expectedNotTakenWithoutConversion = Math.LN2; +let expectedTakenWithoutConversion = Math.fround(Math.LN2) + Math.PI; +for (let i = 0; i < 1e6; ++i) { + let branchNotTakenResult = upsilonReferencingItsPhiWithoutConversion(3, Math.LN2); + if (branchNotTakenResult !== expectedNotTakenWithoutConversion) + throw "Failed upsilonReferencingItsPhiWithoutConversion(3, Math.LN2) at i = " + i + " result = " + branchNotTakenResult; + + let branchTakenResult = upsilonReferencingItsPhiWithoutConversion(7, Math.LN2); + if (branchTakenResult !== expectedTakenWithoutConversion) + throw "Failed upsilonReferencingItsPhiWithoutConversion(7, Math.LN2) at i = " + i + " result = " + branchTakenResult; +} + +function conversionPropagages(flags, a, b) +{ + let result = 0.5; + if (flags & 0x1) { + if (flags & 0x2) { + if (flags & 0x4) { + if (flags & 0x8) { + result = Math.fround(a) + Math.fround(b); + } else { + result = 6.5; + } + } else { + result = 4.5; + } + } else { + result = 2.5; + } + } else { + result = 1.5; + } + return Math.fround(result); +} +noInline(conversionPropagages); + +let conversionPropagageExpectedResult = Math.fround(Math.fround(Math.LN2) + Math.fround(Math.PI)); +for (let i = 0; i < 1e6; ++i) { + let result = conversionPropagages(0xf, Math.LN2, Math.PI); + if (result !== conversionPropagageExpectedResult) + throw "Failed conversionPropagages(0xf, Math.LN2, Math.PI)"; +} + + +function chainedUpsilonBothConvert(condition1, condition2, a, b) +{ + let firstPhi; + if (condition1) + firstPhi = Math.fround(a); + else + firstPhi = Math.fround(b); + + let secondPhi; + if (condition2) + secondPhi = firstPhi + 2; + else + secondPhi = firstPhi + 1; + return Math.fround(secondPhi); +} +noInline(chainedUpsilonBothConvert); + +let expectedChainedUpsilonBothConvert = Math.fround(Math.fround(Math.PI) + Math.fround(1)); +for (let i = 0; i < 1e6; ++i) { + if (chainedUpsilonBothConvert(1, 0, Math.PI, Math.LN2) !== expectedChainedUpsilonBothConvert) + throw "Failed chainedUpsilonBothConvert(1, 0, Math.PI, Math.LN2)"; +} + +function chainedUpsilonFirstConvert(condition1, condition2, a, b) +{ + // This first phi is trivially simplified by the fround() + // of the second if-else. + let firstPhi; + if (condition1) + firstPhi = Math.fround(a); + else + firstPhi = Math.fround(b); + + // This second one cannot ever be converted because the + // result is not rounded to float. + let secondPhi; + if (condition2) + secondPhi = Math.fround(firstPhi) + Math.fround(1/3); + else + secondPhi = Math.fround(firstPhi) - Math.fround(1/3); + return secondPhi; +} +noInline(chainedUpsilonFirstConvert); + +let expectedChainedUpsilonFirstConvert = Math.fround(Math.PI) - Math.fround(1/3); +for (let i = 0; i < 1e6; ++i) { + if (chainedUpsilonFirstConvert(1, 0, Math.PI, Math.LN2) !== expectedChainedUpsilonFirstConvert) + throw "Failed chainedUpsilonFirstConvert(1, 0, Math.PI, Math.LN2)"; +} diff --git a/implementation-contributed/javascriptcore/stress/double-to-string-in-loop-removed.js b/implementation-contributed/javascriptcore/stress/double-to-string-in-loop-removed.js new file mode 100644 index 0000000000..06efd2a16c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/double-to-string-in-loop-removed.js @@ -0,0 +1,8 @@ +function test() +{ + for (var i = 0; i < 1e6; ++i) + (i * 0.1).toString(); +} +noInline(test); + +test(); diff --git a/implementation-contributed/javascriptcore/stress/duplicate-computed-accessors.js b/implementation-contributed/javascriptcore/stress/duplicate-computed-accessors.js new file mode 100644 index 0000000000..663313e04b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/duplicate-computed-accessors.js @@ -0,0 +1,402 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +// Class methods. +(function () { + var method1 = 'taste'; + var method2 = 'taste'; + + class Cocoa { + get [method1]() { + return 'awesome'; + } + + get [method2]() { + return 'great'; + } + } + + var cocoa = new Cocoa(); + shouldBe(cocoa.taste, "great"); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + get [method1()]() { + return 'awesome'; + } + + get [method2()]() { + return 'great'; + } + } + + var cocoa = new Cocoa(); + shouldBe(cocoa.taste, "great"); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + get [method1()]() { + return this.value; + } + + set [method2()](value) { + this.value = value; + } + } + + var cocoa = new Cocoa(); + shouldBe(cocoa.taste, undefined); + cocoa.taste = 'great'; + shouldBe(cocoa.taste, 'great'); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + get 'taste'() { + return 'bad'; + } + + get [method1()]() { + return this.value; + } + + set [method2()](value) { + this.value = value; + } + } + + var cocoa = new Cocoa(); + shouldBe(cocoa.taste, undefined); + cocoa.taste = 'great'; + shouldBe(cocoa.taste, 'great'); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + get [method1()]() { + return this.value; + } + + set [method2()](value) { + this.value = value; + } + + get 'taste'() { + return 'awesome'; + } + + set taste(value) { + } + } + + var cocoa = new Cocoa(); + shouldBe(cocoa.taste, 'awesome'); + cocoa.taste = 'great'; + shouldBe(cocoa.taste, 'awesome'); +}()); + +// Class static methods. +(function () { + var method1 = 'taste'; + var method2 = 'taste'; + + class Cocoa { + static get [method1]() { + return 'awesome'; + } + + static get [method2]() { + return 'great'; + } + } + + shouldBe(Cocoa.taste, "great"); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + static get [method1()]() { + return 'awesome'; + } + + static get [method2()]() { + return 'great'; + } + } + + shouldBe(Cocoa.taste, "great"); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + static get [method1()]() { + return this.value; + } + + static set [method2()](value) { + this.value = value; + } + } + + shouldBe(Cocoa.taste, undefined); + Cocoa.taste = 'great'; + shouldBe(Cocoa.taste, 'great'); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + static get 'taste'() { + return 'bad'; + } + + static get [method1()]() { + return this.value; + } + + static set [method2()](value) { + this.value = value; + } + } + + shouldBe(Cocoa.taste, undefined); + Cocoa.taste = 'great'; + shouldBe(Cocoa.taste, 'great'); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + class Cocoa { + static get [method1()]() { + return this.value; + } + + static set [method2()](value) { + this.value = value; + } + + static get 'taste'() { + return 'awesome'; + } + + static set taste(value) { + } + } + + shouldBe(Cocoa.taste, 'awesome'); + Cocoa.taste = 'great'; + shouldBe(Cocoa.taste, 'awesome'); +}()); + +// Object. +(function () { + var method1 = 'taste'; + var method2 = 'taste'; + + let Cocoa = { + get [method1]() { + return 'awesome'; + }, + + get [method2]() { + return 'great'; + } + } + + shouldBe(Cocoa.taste, "great"); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + let Cocoa = { + get [method1()]() { + return 'awesome'; + }, + + get [method2()]() { + return 'great'; + } + } + + shouldBe(Cocoa.taste, "great"); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + let Cocoa = { + get [method1()]() { + return this.value; + }, + + set [method2()](value) { + this.value = value; + } + } + + shouldBe(Cocoa.taste, undefined); + Cocoa.taste = 'great'; + shouldBe(Cocoa.taste, 'great'); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + let Cocoa = { + get 'taste'() { + return 'bad'; + }, + + get [method1()]() { + return this.value; + }, + + set [method2()](value) { + this.value = value; + } + } + + shouldBe(Cocoa.taste, undefined); + Cocoa.taste = 'great'; + shouldBe(Cocoa.taste, 'great'); +}()); + +(function () { + var counter = 0; + function method1() { + shouldBe(counter++, 0); + return 'taste'; + } + function method2() { + shouldBe(counter++, 1); + return 'taste'; + } + + let Cocoa = { + get [method1()]() { + return this.value; + }, + + set [method2()](value) { + this.value = value; + }, + + get 'taste'() { + return 'awesome'; + }, + + set taste(value) { + } + } + + shouldBe(Cocoa.taste, 'awesome'); + Cocoa.taste = 'great'; + shouldBe(Cocoa.taste, 'awesome'); +}()); diff --git a/implementation-contributed/javascriptcore/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js b/implementation-contributed/javascriptcore/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js new file mode 100644 index 0000000000..607ee3253d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/each-block-at-top-of-polymorphic-call-inlining-should-be-exitOK.js @@ -0,0 +1,19 @@ +"use strict"; + +function f() { }; +noInline(f); + +function foo(o, x) { + return o.get(x); +} +noInline(foo); + +let objs = [ + new Map, + { get() { return f(); } }, +]; + + +for (let i = 0; i < 1000000; ++i) { + foo(objs[i % objs.length], i); +} diff --git a/implementation-contributed/javascriptcore/stress/eden-gc-with-retired-blocks.js b/implementation-contributed/javascriptcore/stress/eden-gc-with-retired-blocks.js new file mode 100644 index 0000000000..9cfaf2529a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eden-gc-with-retired-blocks.js @@ -0,0 +1,24 @@ +//@ runDefault +// This test should not crash. + +var objs; + +for (let i = 0; i < 500; i += 100) { + objs = []; + gc(); + + // Make "Retired" blocks. + for (let j = 0; j < i; j++) { + let o; + switch (i % 6) { + case 0: o = { }; + case 1: o = { a: i }; + case 2: o = { a: i, b: i}; + case 3: o = { a: i, b: i, c: i }; + case 4: o = { a: i, b: i, c: i, d: i }; + case 5: o = { a: i, b: i, c: i, d: i, e: i }; + } + objs[j] = o; + } + edenGC(); +} diff --git a/implementation-contributed/javascriptcore/stress/element-property-get-should-not-handled-with-get-by-id.js b/implementation-contributed/javascriptcore/stress/element-property-get-should-not-handled-with-get-by-id.js new file mode 100644 index 0000000000..da2ad72899 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/element-property-get-should-not-handled-with-get-by-id.js @@ -0,0 +1,18 @@ +(function () { + function getOne(a) + { + return a['1']; + } + + for (var i = 0; i < 36; ++i) + getOne({2: true}); + + if (!getOne({1: true})) + throw new Error("OUT"); + + for (var i = 0; i < 1e4; ++i) + getOne({2: true}); + + if (!getOne({1: true})) + throw new Error("OUT"); +}()); diff --git a/implementation-contributed/javascriptcore/stress/elidable-new-object-roflcopter-then-exit.js b/implementation-contributed/javascriptcore/stress/elidable-new-object-roflcopter-then-exit.js new file mode 100644 index 0000000000..00bd91b724 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/elidable-new-object-roflcopter-then-exit.js @@ -0,0 +1,23 @@ +function sumOfArithSeries(limit) { + return limit * (limit + 1) / 2; +} + +var n = 1000000; + +var array = [42, "hello"]; + +function foo() { + var result = 0; + var q; + for (var i = 0; i < n; ++i) { + var o = {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: i}}}}}}}}}}}}}}}}}}}; + var p = {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: {f: i + 1}}}}}}}}}}}}}}}}}}}; + q = array[(i > n - 100) | 0] + 1; + result += o.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f + p.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f.f; + } + return q + result; +} + +var result = foo(); +if (result != "hello" + 1 + (sumOfArithSeries(n - 1) + sumOfArithSeries(n))) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/elide-new-object-dag-then-exit.js b/implementation-contributed/javascriptcore/stress/elide-new-object-dag-then-exit.js new file mode 100644 index 0000000000..fbe99a5f7d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/elide-new-object-dag-then-exit.js @@ -0,0 +1,43 @@ +function sumOfArithSeries(limit) { + return limit * (limit + 1) / 2; +} + +var n = 10000000; + +function bar() { } + +function verify(q, i) { + if (q.f == q.g) + throw "Error: q.f == q.g"; + if (q.f.f != q.g.f) + throw "Error: q.f.f != q.g.f"; + if (q.f.f.f != i) + throw "Error: q.f.f.f != i"; +} + +function foo() { + var result = 0; + for (var i = 0; i < n; ++i) { + var leaf = {f:i}; + var o = {f:leaf}; + var p = {f:leaf}; + var q = {f:o, g:p}; + result += q.f.f.f; + if (i >= n - 100) { + // We want the materialization to happen in the exit. So, before calling the thing that + // causes the materialization, we call bar(). We've never profiled this call at the time + // of FTL compilation, so this should be an exit. + bar(); + verify(q, i); + } + } + return result; +} + +noInline(foo); +noInline(verify); +noInline(bar); + +var result = foo(); +if (result != sumOfArithSeries(n - 1)) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/empty-function.js b/implementation-contributed/javascriptcore/stress/empty-function.js new file mode 100644 index 0000000000..612e5105ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/empty-function.js @@ -0,0 +1,10 @@ +function foo() { } + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result !== void 0) + throw "You broke JSC so hard that even the empty function doesn't work: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/empty_eos_regex_split.js b/implementation-contributed/javascriptcore/stress/empty_eos_regex_split.js new file mode 100644 index 0000000000..05b2796e40 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/empty_eos_regex_split.js @@ -0,0 +1,3 @@ +var splited = "a".split(/$/); +if (splited.length != 1 || splited[0] != "a") + throw "Error: " + splited.length + " = " + splited; diff --git a/implementation-contributed/javascriptcore/stress/encode-decode-ascii.js b/implementation-contributed/javascriptcore/stress/encode-decode-ascii.js new file mode 100644 index 0000000000..0a5e698945 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/encode-decode-ascii.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var i = 0; i < 256; ++i) { + var ch = String.fromCharCode(i); + shouldBe(decodeURIComponent(encodeURIComponent(ch)), ch); + shouldBe(decodeURI(encodeURI(ch)), ch); + shouldBe(unescape(escape(ch)), ch); +} diff --git a/implementation-contributed/javascriptcore/stress/encode-decode-unicode.js b/implementation-contributed/javascriptcore/stress/encode-decode-unicode.js new file mode 100644 index 0000000000..0f0fc1e9b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/encode-decode-unicode.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function isLowSurrogate(code) +{ + return code >= 0xDC00 && code <= 0xDFFF; +} + +function isHighSurrogate(code) +{ + return code >= 0xD800 && code <= 0xDBFF; +} + +function isSurrogate(code) +{ + return isLowSurrogate(code) || isHighSurrogate(code); +} + +for (var i = 256; i < 0xffff; ++i) { + if (isSurrogate(i)) + continue; + var ch = String.fromCharCode(i); + shouldBe(decodeURIComponent(encodeURIComponent(ch)), ch); + shouldBe(decodeURI(encodeURI(ch)), ch); + shouldBe(unescape(escape(ch)), ch); +} diff --git a/implementation-contributed/javascriptcore/stress/encode-decode-uri-component-surrogates.js b/implementation-contributed/javascriptcore/stress/encode-decode-uri-component-surrogates.js new file mode 100644 index 0000000000..adb6cbe454 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/encode-decode-uri-component-surrogates.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function toHighSurrogate(code) +{ + return (code >> 10) + (0xD800 - (0x10000 >> 10)); +} + +function toLowSurrogate(code) +{ + return (code & ((1 << 10) - 1)) + 0xDC00; +} + +for (var i = 0x10000; i < 0x10ffff; ++i) { + var high = toHighSurrogate(i); + var low = toLowSurrogate(i); + var str = String.fromCharCode(high, low); + shouldBe(decodeURIComponent(encodeURIComponent(str)), str); +} diff --git a/implementation-contributed/javascriptcore/stress/encode-decode-uri-surrogates.js b/implementation-contributed/javascriptcore/stress/encode-decode-uri-surrogates.js new file mode 100644 index 0000000000..6e639bc488 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/encode-decode-uri-surrogates.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function toHighSurrogate(code) +{ + return (code >> 10) + (0xD800 - (0x10000 >> 10)); +} + +function toLowSurrogate(code) +{ + return (code & ((1 << 10) - 1)) + 0xDC00; +} + +for (var i = 0x10000; i < 0x10ffff; ++i) { + var high = toHighSurrogate(i); + var low = toLowSurrogate(i); + var str = String.fromCharCode(high, low); + shouldBe(decodeURI(encodeURI(str)), str); +} diff --git a/implementation-contributed/javascriptcore/stress/encode-decode-zero.js b/implementation-contributed/javascriptcore/stress/encode-decode-zero.js new file mode 100644 index 0000000000..d17316b591 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/encode-decode-zero.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(encodeURIComponent('\0'), `%00`); +shouldBe(encodeURI('\0'), `%00`); +shouldBe(escape('\0'), `%00`); + +shouldBe(decodeURIComponent('%00'), `\0`); +shouldBe(decodeURI('%00'), `\0`); +shouldBe(unescape('%00'), `\0`); + +shouldBe(encodeURIComponent('%00'), `%2500`); +shouldBe(encodeURI('%00'), `%2500`); +shouldBe(escape('%00'), `%2500`); + +shouldBe(decodeURIComponent('%2500'), `%00`); +shouldBe(decodeURI('%2500'), `%00`); +shouldBe(unescape('%2500'), `%00`); diff --git a/implementation-contributed/javascriptcore/stress/ensure-proper-strict-mode-parsing.js b/implementation-contributed/javascriptcore/stress/ensure-proper-strict-mode-parsing.js new file mode 100644 index 0000000000..954614283c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ensure-proper-strict-mode-parsing.js @@ -0,0 +1,90 @@ + +function foo() { + "hello world i'm not use strict."; + function bar() { + return 25; + } + bar(); + "use strict"; + return this; +} +if (foo.call(undefined) !== this) + throw new Error("Bad parsing strict mode."); + +function bar() { + "hello world i'm not use strict."; + function foo() { + return this; + } + "use strict"; + return foo.call(undefined); +} +if (bar.call(undefined) !== this) + throw new Error("Bad parsing strict mode.") + +function baz() { + "foo"; + "bar"; + "baz"; + "foo"; + "bar"; + "baz"; + "foo"; + "bar"; + "baz"; + "use strict"; + return this; +} +if (baz.call(undefined) !== undefined) + throw new Error("Bad parsing strict mode.") + +function jaz() { + "foo"; + `bar`; + "use strict"; + return this; +} +if (jaz.call(undefined) !== this) + throw new Error("Bad parsing strict mode.") + +function vaz() { + "foo"; + "use strict"; + `bar`; + return this; +} +if (vaz.call(undefined) !== undefined) + throw new Error("Bad parsing strict mode.") + +function hello() { + "foo"; + 2 + 2 + "use strict"; + return this; +} +if (hello.call(undefined) !== this) + throw new Error("Bad parsing strict mode.") + +function world() { + "foo"; + let x; + "use strict"; + return this; +} +if (world.call(undefined) !== this) + throw new Error("Bad parsing strict mode.") + +function a() { + "foo"; + world; + "use strict"; + return this; +} +if (a.call(undefined) !== this) + throw new Error("Bad parsing strict mode.") + +if (eval("'foo'; 'use strict'; 'bar';") !== "bar") + throw new Error("Bad parsing strict mode."); + +if (eval("'foo'; 'use strict'; 'bar'; this;") !== this) + throw new Error("Bad parsing strict mode."); diff --git a/implementation-contributed/javascriptcore/stress/equality-type-checking.js b/implementation-contributed/javascriptcore/stress/equality-type-checking.js new file mode 100644 index 0000000000..5c1bf75739 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/equality-type-checking.js @@ -0,0 +1,34 @@ +/*** + * There was a bug on 32-bit builds where === with objects would not check the tag + * when determining equality via pointer comparison. + */ + +"use strict"; + +function Foo() {} + +function checkStrictEq(a, b) { + return a === b; +} +noInline(checkStrictEq); + +function checkStrictEqOther(a, b) { + return a === b; +} +noInline(checkStrictEqOther); + +var foo = new Foo(); +var address = addressOf(foo); + +if (address === undefined) + throw "Error: address should not be undefined"; + +if (foo === address || address === foo) + throw "Error: an address should not be equal to it's object"; + +for (var i = 0; i < 10000000; i++) { + if (checkStrictEq(foo, address)) + throw "Error: an address should not be equal to it's object"; + if (checkStrictEqOther(address,foo)) + throw "Error: an address should not be equal to it's object"; +} diff --git a/implementation-contributed/javascriptcore/stress/equals-masquerader.js b/implementation-contributed/javascriptcore/stress/equals-masquerader.js new file mode 100644 index 0000000000..30bc430687 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/equals-masquerader.js @@ -0,0 +1,131 @@ +function equalsNull(o) { + return o == null; +} + +noInline(equalsNull); + +function notEqualsNull(o) { + return o != null; +} + +noInline(notEqualsNull); + +function strictEqualsNull(o) { + return o === null; +} + +noInline(strictEqualsNull); + +function strictNotEqualsNull(o) { + return o !== null; +} + +noInline(strictNotEqualsNull); + +function equalsUndefined(o) { + return o == void 0; +} + +noInline(equalsUndefined); + +function notEqualsUndefined(o) { + return o != void 0; +} + +noInline(notEqualsUndefined); + +function strictEqualsUndefined(o) { + return o === void 0; +} + +noInline(strictEqualsUndefined); + +function strictNotEqualsUndefined(o) { + return o !== void 0; +} + +noInline(strictNotEqualsNull); + +function isFalsey(o) { + return !o; +} + +noInline(isFalsey); + +function test(func, iteration, object, outcome) { + var result = func(object); + if (result != outcome) + throw new Error("Bad result: " + result + " on iteration " + iteration); +} + +for (var i = 0; i < 10000; ++i) { + test(equalsNull, i, null, true); + test(equalsNull, i, undefined, true); + test(equalsNull, i, void 0, true); + test(equalsNull, i, {}, false); + test(equalsNull, i, makeMasquerader(), true); +} + +for (var i = 0; i < 10000; ++i) { + test(notEqualsNull, i, null, false); + test(notEqualsNull, i, undefined, false); + test(notEqualsNull, i, void 0, false); + test(notEqualsNull, i, {}, true); + test(notEqualsNull, i, makeMasquerader(), false); +} + +for (var i = 0; i < 10000; ++i) { + test(strictEqualsNull, i, null, true); + test(strictEqualsNull, i, undefined, false); + test(strictEqualsNull, i, void 0, false); + test(strictEqualsNull, i, {}, false); + test(strictEqualsNull, i, makeMasquerader(), false); +} + +for (var i = 0; i < 10000; ++i) { + test(strictNotEqualsNull, i, null, false); + test(strictNotEqualsNull, i, undefined, true); + test(strictNotEqualsNull, i, void 0, true); + test(strictNotEqualsNull, i, {}, true); + test(strictNotEqualsNull, i, makeMasquerader(), true); +} + +for (var i = 0; i < 10000; ++i) { + test(equalsUndefined, i, null, true); + test(equalsUndefined, i, undefined, true); + test(equalsUndefined, i, void 0, true); + test(equalsUndefined, i, {}, false); + test(equalsUndefined, i, makeMasquerader(), true); +} + +for (var i = 0; i < 10000; ++i) { + test(notEqualsUndefined, i, null, false); + test(notEqualsUndefined, i, undefined, false); + test(notEqualsUndefined, i, void 0, false); + test(notEqualsUndefined, i, {}, true); + test(notEqualsUndefined, i, makeMasquerader(), false); +} + +for (var i = 0; i < 10000; ++i) { + test(strictEqualsUndefined, i, null, false); + test(strictEqualsUndefined, i, undefined, true); + test(strictEqualsUndefined, i, void 0, true); + test(strictEqualsUndefined, i, {}, false); + test(strictEqualsUndefined, i, makeMasquerader(), false); +} + +for (var i = 0; i < 10000; ++i) { + test(strictNotEqualsUndefined, i, null, true); + test(strictNotEqualsUndefined, i, undefined, false); + test(strictNotEqualsUndefined, i, void 0, false); + test(strictNotEqualsUndefined, i, {}, true); + test(strictNotEqualsUndefined, i, makeMasquerader(), true); +} + +for (var i = 0; i < 10000; ++i) { + test(isFalsey, i, null, true); + test(isFalsey, i, undefined, true); + test(isFalsey, i, void 0, true); + test(isFalsey, i, {}, false); + test(isFalsey, i, makeMasquerader(), true); +} diff --git a/implementation-contributed/javascriptcore/stress/error-description-on-symbols-should-not-crash.js b/implementation-contributed/javascriptcore/stress/error-description-on-symbols-should-not-crash.js new file mode 100644 index 0000000000..d8c85b92ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/error-description-on-symbols-should-not-crash.js @@ -0,0 +1,17 @@ +//@ runFTLNoCJIT + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +var exception; + +try { + Symbol(1)(); +} catch (e) { + exception = e; +} + +shouldEqual(exception, "TypeError: Symbol(1) is not a function. (In 'Symbol(1)()', 'Symbol(1)' is a Symbol)"); diff --git a/implementation-contributed/javascriptcore/stress/error-message-for-function-base-not-found.js b/implementation-contributed/javascriptcore/stress/error-message-for-function-base-not-found.js new file mode 100644 index 0000000000..23e7bb4503 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/error-message-for-function-base-not-found.js @@ -0,0 +1,30 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +{ + let error; + try { + let foo = {}; + foo.bar("/abc\)*/"); + } catch(e) { + error = e; + } + assert(error); + assert(error.message === "undefined is not a function (near '...foo.bar(\"/abc\\)*/\")...')"); +} + +{ + let error; + try { + let blah = {}; + let x, y; + blah("((("); + } catch(e) { + error = e; + } + + // This is less than ideal, but let's be aware if we ever fix it. + assert(error.message === "blah(\"(( is not a function. (In 'blah(\"(((\")', 'blah(\"((' is an instance of Object)"); +} diff --git a/implementation-contributed/javascriptcore/stress/error-messages-for-in-operator-should-not-crash.js b/implementation-contributed/javascriptcore/stress/error-messages-for-in-operator-should-not-crash.js new file mode 100644 index 0000000000..424e6c5fcb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/error-messages-for-in-operator-should-not-crash.js @@ -0,0 +1,30 @@ +let error = null; +try { + eval('let r = "prop" i\\u{006E} 20'); +} catch(e) { + error = e; +} + +if (!error || error.message !== "Unexpected escaped characters in keyword token: 'i\\u{006E}'") + throw new Error("Bad"); + +error = null; +try { + eval('let r = "prop" i\\u006E 20'); +} catch(e) { + error = e; +} + +if (!error || error.message !== "Unexpected escaped characters in keyword token: 'i\\u006E'") + throw new Error("Bad"); + +// This test should not crash. +error = null; +try { + eval('let r = "prop" i\u006E 20'); +} catch(e) { + error = e; +} + +if (!error || error.message !== "20 is not an Object. (evaluating \'\"prop\" in 20\')") + throw new Error("Bad"); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/error-stack-trace-limit.js b/implementation-contributed/javascriptcore/stress/error-stack-trace-limit.js new file mode 100644 index 0000000000..b6fb41fb75 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/error-stack-trace-limit.js @@ -0,0 +1,90 @@ +function assertEquals(testID, a, b) { + if (a != b) + throw new Error("FAILED test " + testID + " got: " + a); +} + +var desc = Object.getOwnPropertyDescriptor(Error, "stackTraceLimit"); + +assertEquals(100, typeof desc.value, "number"); +assertEquals(200, desc.writable, true); +assertEquals(300, desc.enumerable, true); +assertEquals(400, desc.configurable, true); +assertEquals(500, desc.get, undefined); +assertEquals(600, desc.set, undefined); + +function recurse(x) { + if (x) + recurse(x - 1); + else + throw Error(); +} + +function numberOfFrames(str) { + if (str === undefined || str === "") + return 0; + var lines = str.split(/\r\n|\r|\n/); + // note: Chrome always prints a header line. So, for Chrome, use lines.length - 1. + return lines.length; +} + +var exception = undefined; + +function testLimit(testID, updateLimit, reentryCount, expectedLimit, expectedNumberOfFrames) { + exception = undefined; + updateLimit(); + assertEquals(testID, Error.stackTraceLimit, expectedLimit); + + try { + recurse(reentryCount); + } catch (e) { + exception = e; + } + + assertEquals(testID + 1, exception, "Error"); + if (typeof expectedNumberOfFrames == "undefined") + assertEquals(testID + 2, exception.stack, undefined); + else + assertEquals(testID + 3, numberOfFrames(exception.stack), expectedNumberOfFrames); +} + +testLimit(1000, () => { Error.stackTraceLimit = 0 }, 1000, 0, 0); +// note: Chrome always prints a header line. So, Chrome expects "Error" here. +assertEquals(1100, exception.stack, undefined); + +testLimit(2000, () => { Error.stackTraceLimit = 10 }, 1000, 10, 10); +testLimit(3000, () => { Error.stackTraceLimit = 100 }, 1000, 100, 100); +testLimit(4000, () => { Error.stackTraceLimit = 1000 }, 1000, 1000, 1000); + +// expectedNumberOfFrames includes (1) global + (2) testLimit + (3) 1000 recursion of +// recurse() + (4) recurse() which discovered x == 0 i.e. expectedNumberOfFrames == 1003. +testLimit(5000, () => { Error.stackTraceLimit = 2000 }, 1000, 2000, 1003); + +var value = { }; +testLimit(6000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = { valueOf() { return 5 } }; +testLimit(7000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = [ 1, 2, 3 ]; +testLimit(8000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = "hello"; +testLimit(9000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = Symbol("hello"); +testLimit(10000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = true; +testLimit(11000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = false; +testLimit(12000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +var value = undefined; +testLimit(13000, () => { Error.stackTraceLimit = value }, 1000, value, undefined); + +testLimit(14000, () => { Error.stackTraceLimit = 10 }, 1000, 10, 10); + +testLimit(15000, () => { delete Error.stackTraceLimit; }, 1000, undefined, undefined); + +testLimit(16000, () => { Error.stackTraceLimit = 10 }, 1000, 10, 10); diff --git a/implementation-contributed/javascriptcore/stress/errors-with-simple-names-or-messages-should-not-crash-toString.js b/implementation-contributed/javascriptcore/stress/errors-with-simple-names-or-messages-should-not-crash-toString.js new file mode 100644 index 0000000000..b0f912bd5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/errors-with-simple-names-or-messages-should-not-crash-toString.js @@ -0,0 +1,12 @@ +//@ runDefault +// This test should not crash. + +Error.prototype.name = 0 +Error().toString(); +Error("1").toString(); +Error(0).toString(); + +Error.prototype.name = "" +Error().toString(); +Error("1").toString(); +Error(0).toString(); diff --git a/implementation-contributed/javascriptcore/stress/es6-default-parameters.js b/implementation-contributed/javascriptcore/stress/es6-default-parameters.js new file mode 100644 index 0000000000..160d185593 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/es6-default-parameters.js @@ -0,0 +1,393 @@ +function assert(cond, msg = "") { + if (!cond) + throw new Error(msg); +} +noInline(assert); + +function shouldThrow(func) { + var hadError = false; + try { + func() + } catch (e) { + hadError = true; + } + assert(hadError, "Did not throw"); +} +noInline(shouldThrow); + +function shouldThrowSyntaxError(str) { + var hadError = false; + try { + eval(str); + } catch (e) { + if (e instanceof SyntaxError) + hadError = true; + } + assert(hadError, "Did not throw syntax error"); +} +noInline(shouldThrowSyntaxError); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + +function basic(x, y=x) { + assert(y === x, "basics don't work.") +} +basic(20); +basic("hello"); +basic({foo: 20}); +basic(undefined); + +;(function(){ + var scopeVariable = {hello: "world"}; + function basicScope(x = scopeVariable) { + assert(x === scopeVariable); + } + basicScope(); +})(); + +function basicFunctionCaptureInDefault(theArg = 20, y = function() {return theArg}) { + assert(theArg === y(), "y should return x."); + theArg = {}; + assert(theArg === y(), "y should return x."); +} +basicFunctionCaptureInDefault() +basicFunctionCaptureInDefault(undefined) + +function basicCaptured(x = 20, y = x) { + assert(x === y, "y should equal x"); + function mutate() { x = "mutation"; } + mutate() + assert(x !== y, "y should not equal x"); +} +basicCaptured() +basicCaptured(undefined) + +function tricky(globalX = (globalX = "x"), y = (globalX = 20)) { + assert(globalX === 20); + assert(globalX === y); +} +shouldThrow(tricky); + +function strict(x, y = x) { + assert(x === y); +} +strict(20); +strict(undefined); + +function playground(x = "foo", y = "bar") { + return {x, y} +} +assert(playground().x === "foo") +assert(playground(undefined).x === "foo") +assert(playground(undefined, 20).x === "foo") +assert(playground(null).x === null) +assert(playground().y === "bar") +assert(playground(undefined, undefined).y === "bar") +assert(playground("hello", undefined).y === "bar") +assert(playground("bar").x === playground(undefined, undefined).y) +assert(playground(10).x === 10) +assert(playground(undefined, 20).y === 20) +assert(playground(undefined, null).y === null) + +function scoping(f = function() { return local;}) { + shouldThrow(f); + var local = 10; + shouldThrow(f); +} +scoping(); + +function augmentsArguments1(x = 20) { + assert(x === 20); + + arguments[0] = 10; + assert(x === 20); + + x = 15; + assert(x === 15); + assert(arguments[0] === 10); +} +augmentsArguments1(undefined); + +function augmentsArguments2(x = 20) { + assert(x === 20); + + arguments[0] = 10; + assert(x === 20); + assert(arguments[0] === 10); + + x = 15; + assert(x === 15); + assert(arguments[0] === 10); + + function augment() { x = 40 } + augment() + assert(x === 40); + assert(arguments[0] === 10); +} +augmentsArguments2(undefined); + +function augmentsArguments3(x = 10) { + assert(x === 10); + + assert(arguments[0] === undefined); + x = 20; + assert(arguments[0] === undefined); +} +augmentsArguments3(); + +function augmentsArguments4(x) { + "use strict"; + function inner(x = 10) { + assert(x === 10); + + assert(arguments[0] === undefined); + x = 20; + assert(arguments[0] === undefined); + } + inner(x); +} +augmentsArguments4(); +augmentsArguments4(undefined); + +function augmentsArguments5(x) { + "use strict"; + function inner(x = 10) { + assert(x === 20); + + assert(arguments[0] === 20); + x = 20; + assert(arguments[0] === 20); + } + inner(x); +} +augmentsArguments5(20); + +;(function () { + var outer = "outer"; + function foo(a = outer, b = function() { return a; }, c = function(v) { a = v; }) { + var a; + assert(a === "outer"); + a = 20; + assert(a === 20); + assert(b() === "outer"); + c("hello"); + assert(b() === "hello"); + } + + function bar(a = outer, b = function() { return a; }, c = function(v) { a = v; }) { + with({}) { + var a; + assert(a === "outer"); + a = 20; + assert(a === 20); + assert(b() === "outer"); + c("hello"); + assert(b() === "hello"); + } + } + + function baz(x = function() { return y; }, y = "y") { + assert(x() === "y"); + assert(x() === y); + assert(y === y); + } + + function jaz(x = function() { return y; }, y = "y") { + return x; + } + + function taz(x = 10, y = eval("x + 1")) { + assert(y === 11); + } + + for (var i = 0; i < 1000; i++) { + foo(); + bar(); + baz(); + assert(jaz(undefined, 20)() === 20); + assert(jaz(undefined, undefined)() === "y"); + assert(jaz(undefined, {x: "x"})().x === "x"); + taz(); + } +})(); + +// Length + +function named1(a){}; +function named2(a=1){}; +function named3(a,b){}; +function named4(a,b=1){}; +function named5(a=1,b=1){}; +function named6(a,b,c){}; +function named7(a=1,b,c){}; +function named8(a,b=1,c){}; +function named9(a,b,c=1){}; +function named10(a,...b){}; +function named11(a=1,...b){}; +function named12(a=10,b,c=20,...r){}; + +assert( named1.length === 1 ); +assert( named2.length === 0 ); +assert( named3.length === 2 ); +assert( named4.length === 1 ); +assert( named5.length === 0 ); +assert( named6.length === 3 ); +assert( named7.length === 0 ); +assert( named8.length === 1 ); +assert( named9.length === 2 ); +assert( named10.length === 1 ); +assert( named11.length === 0 ); +assert( named12.length === 0 ); + +assert( (function(a){}).length === 1 ); +assert( (function(a=1){}).length === 0 ); +assert( (function(a,b){}).length === 2 ); +assert( (function(a,b=1){}).length === 1 ); +assert( (function(a=1,b=1){}).length === 0 ); +assert( (function(a,b,c){}).length === 3 ); +assert( (function(a=1,b,c){}).length === 0 ); +assert( (function(a,b=1,c){}).length === 1 ); +assert( (function(a,b,c=1){}).length === 2 ); +assert( (function(a,...b){}).length === 1 ); +assert( (function(a=1,...b){}).length === 0 ); +assert( (function(a=10,b,c=20,...r){}).length === 0 ); + +assert( (function*(a){}).length === 1 ); +assert( (function*(a=1){}).length === 0 ); +assert( (function*(a,b){}).length === 2 ); +assert( (function*(a,b=1){}).length === 1 ); +assert( (function*(a=1,b=1){}).length === 0 ); +assert( (function*(a,b,c){}).length === 3 ); +assert( (function*(a=1,b,c){}).length === 0 ); +assert( (function*(a,b=1,c){}).length === 1 ); +assert( (function*(a,b,c=1){}).length === 2 ); +assert( (function*(a,...b){}).length === 1 ); +assert( (function*(a=1,...b){}).length === 0 ); +assert( (function*(a=10,b,c=20,...r){}).length === 0 ); + +assert( ((a)=>{}).length === 1 ); +assert( ((a=1)=>{}).length === 0 ); +assert( ((a,b)=>{}).length === 2 ); +assert( ((a,b=1)=>{}).length === 1 ); +assert( ((a=1,b=1)=>{}).length === 0 ); +assert( ((a,b,c)=>{}).length === 3 ); +assert( ((a=1,b,c)=>{}).length === 0 ); +assert( ((a,b=1,c)=>{}).length === 1 ); +assert( ((a,b,c=1)=>{}).length === 2 ); +assert( ((a,...b)=>{}).length === 1 ); +assert( ((a=1,...b)=>{}).length === 0 ); +assert( ((a=10,b,c=20,...r)=>{}).length === 0 ); + +assert( Object.getOwnPropertyDescriptor({set setter(a){}}, "setter").set.length === 1 ); +assert( Object.getOwnPropertyDescriptor({set setter(a=1){}}, "setter").set.length === 0 ); + +assert( ({method(a){}}).method.length === 1 ); +assert( ({method(a=1){}}).method.length === 0 ); +assert( ({method(a,b){}}).method.length === 2 ); +assert( ({method(a,b=1){}}).method.length === 1 ); +assert( ({method(a=1,b=1){}}).method.length === 0 ); +assert( ({method(a,b,c){}}).method.length === 3 ); +assert( ({method(a=1,b,c){}}).method.length === 0 ); +assert( ({method(a,b=1,c){}}).method.length === 1 ); +assert( ({method(a,b,c=1){}}).method.length === 2 ); +assert( ({method(a,...b){}}).method.length === 1 ); +assert( ({method(a=1,...b){}}).method.length === 0 ); +assert( ({method(a=10,b,c=20,...r){}}).method.length === 0 ); + +assert( ({*method(a){}}).method.length === 1 ); +assert( ({*method(a=1){}}).method.length === 0 ); +assert( ({*method(a,b){}}).method.length === 2 ); +assert( ({*method(a,b=1){}}).method.length === 1 ); +assert( ({*method(a=1,b=1){}}).method.length === 0 ); +assert( ({*method(a,b,c){}}).method.length === 3 ); +assert( ({*method(a=1,b,c){}}).method.length === 0 ); +assert( ({*method(a,b=1,c){}}).method.length === 1 ); +assert( ({*method(a,b,c=1){}}).method.length === 2 ); +assert( ({*method(a,...b){}}).method.length === 1 ); +assert( ({*method(a=1,...b){}}).method.length === 0 ); +assert( ({*method(a=10,b,c=20,...r){}}).method.length === 0 ); + +assert( (class {static method(a){}}).method.length === 1 ); +assert( (class {static method(a=1){}}).method.length === 0 ); +assert( (class {static method(a,b){}}).method.length === 2 ); +assert( (class {static method(a,b=1){}}).method.length === 1 ); +assert( (class {static method(a=1,b=1){}}).method.length === 0 ); +assert( (class {static method(a,b,c){}}).method.length === 3 ); +assert( (class {static method(a=1,b,c){}}).method.length === 0 ); +assert( (class {static method(a,b=1,c){}}).method.length === 1 ); +assert( (class {static method(a,b,c=1){}}).method.length === 2 ); +assert( (class {static method(a,...b){}}).method.length === 1 ); +assert( (class {static method(a=1,...b){}}).method.length === 0 ); +assert( (class {static method(a=10,b,c=20,...r){}}).method.length === 0 ); + +// TDZ errors. +;(function() { + function basicError(x = y, y) { } + function basicError2(x = x) { } + function baz(z = {p: x}, x = z) {} + function bar(x = {p: [x]}) {} + function jaz(x = eval("y"), y) { } + function kaz(x = eval(";(function() { return y})();"), y) { } + for (var i = 0; i < 1000; i++) { + shouldThrowTDZ(basicError); + shouldThrowTDZ(basicError2); + shouldThrowTDZ(baz); + shouldThrowTDZ(bar); + shouldThrowTDZ(jaz); + shouldThrowTDZ(kaz); + } +})(); + + +// Test proper variable binding. +;(function() { + function foo(a = function() { return b; }, {b}) { + assert(a() === 34); + assert(b === 34); + b = 50; + assert(a() === 50); + assert(b === 50); + } + function bar(a = function(x) { b = x; }, {b}) { + assert(b === 34); + a(50); + assert(b === 50); + } + function baz(f1 = function(x) { b = x; }, f2 = function() { return b; }, {b}) { + var b; + assert(b === 34); + assert(f2() === 34); + f1(50); + assert(b === 34); + assert(f2() === 50); + } + noInline(foo); + noInline(bar); + noInline(baz); + for (let i = 0; i < 1000; i++) { + foo(undefined, {b: 34}); + bar(undefined, {b: 34}); + baz(undefined, undefined, {b: 34}); + } +})(); + + +// Syntax errors. +shouldThrowSyntaxError("function b(a = 20, a = 40) {}"); +shouldThrowSyntaxError("function b(aaaaa = 20,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v, aaaaa = 40) {}"); +shouldThrowSyntaxError("function b(a = 20, {a}) {}"); +shouldThrowSyntaxError("function b(a = 20, a) {}"); +shouldThrowSyntaxError("function b(a, a = 20) {}"); +shouldThrowSyntaxError("function b(a, a, b = 20) {}"); +shouldThrowSyntaxError("function b({a, a} = 20) {}"); +shouldThrowSyntaxError("function b({a, a} = 20) {}"); diff --git a/implementation-contributed/javascriptcore/stress/es6-for-of-loop-exception.js b/implementation-contributed/javascriptcore/stress/es6-for-of-loop-exception.js new file mode 100644 index 0000000000..093b756fbb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/es6-for-of-loop-exception.js @@ -0,0 +1,29 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowInvalidConstAssignment(f) { + var threw = false; + try { + f(); + } catch(e) { + //print(e); + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); +} +noInline(shouldThrowInvalidConstAssignment); + +function baz(){} +noInline(baz); + +function foo() { + for (const item of [1,2,3]) { + item = 20; + } +} +for (var i = 0; i < 1000; i++) + shouldThrowInvalidConstAssignment(foo); diff --git a/implementation-contributed/javascriptcore/stress/escape-object-in-diamond-then-exit.js b/implementation-contributed/javascriptcore/stress/escape-object-in-diamond-then-exit.js new file mode 100644 index 0000000000..fbb903dd91 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/escape-object-in-diamond-then-exit.js @@ -0,0 +1,40 @@ +var global = null; + +function foo(p, q) { + var o = {f:42}; + if (p) + global = o; + var tmp = q + 1; + return o.f + tmp; +} + +noInline(foo); + +var lastObject = null; + +function validateEscape(when) { + if (global === lastObject) + throw "Error: bad value in global " + when + ", identical to lastObject."; + if (global === null || !(typeof global == "object")) + throw "Error: bad value in global " + when + ": it's not an object."; + if (global.f != 42) + throw "Error: bad value in global " + when + ": f isn't 42, it's: " + global.f; + lastObject = global; + global = null; +} + +for (var i = 0; i < 10000; ++i) { + var escape = !!(i & 1); + var result = foo(escape, 42); + if (result != 42 + 42 + 1) + throw "Error: bad result: " + result; + if (escape) + validateEscape("in loop"); + else if (global !== null) + throw "Error: bad value in global: " + global; +} + +var result = foo(true, 2147483647); +if (result != 42 + 2147483647 + 1) + throw "Error: bad result at end: " + result; +validateEscape("at end"); diff --git a/implementation-contributed/javascriptcore/stress/escape-unescape-surrogates.js b/implementation-contributed/javascriptcore/stress/escape-unescape-surrogates.js new file mode 100644 index 0000000000..928db94493 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/escape-unescape-surrogates.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function toHighSurrogate(code) +{ + return (code >> 10) + (0xD800 - (0x10000 >> 10)); +} + +function toLowSurrogate(code) +{ + return (code & ((1 << 10) - 1)) + 0xDC00; +} + +for (var i = 0x10000; i < 0x10ffff; ++i) { + var high = toHighSurrogate(i); + var low = toLowSurrogate(i); + var str = String.fromCharCode(high, low); + shouldBe(unescape(escape(str)), str); +} diff --git a/implementation-contributed/javascriptcore/stress/eval-and-super.js b/implementation-contributed/javascriptcore/stress/eval-and-super.js new file mode 100644 index 0000000000..e09da931af --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-and-super.js @@ -0,0 +1,37 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + + + +class Hello { + m() + { + return eval("super()"); + } + + n() + { + return (0, eval)("super()"); + } +}; + +var hello = new Hello(); +shouldThrow(() => hello.m(), `SyntaxError: super is not valid in this context.`); +shouldThrow(() => hello.n(), `SyntaxError: super is not valid in this context.`); diff --git a/implementation-contributed/javascriptcore/stress/eval-cached.js b/implementation-contributed/javascriptcore/stress/eval-cached.js new file mode 100644 index 0000000000..6393d4ba20 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-cached.js @@ -0,0 +1,79 @@ +(function () { + "use strict"; + + function verify() { + for (var i = 0; i < counter; ++i) { + if (results[i] != i) + throw "strict mode verify() failed for item " + i + "." + } + } + + let results = [ ]; + let counter = 0; + + let x = counter++; + results.push(eval("x")); + + { + let x = counter++; + results.push(eval("x")); + } + + try { + throw counter++; + } catch (x) { + results.push(eval("x")); + } + + (() => { + var x = counter++; + results.push(eval("x")); + })(); + + (function (x) { + results.push(eval("x")); + })(counter++); + + verify(); +})(); + +(function () { + function verify() { + for (var i = 0; i < counter; ++i) { + if (results[i] != i) + throw "non-strict mode verify() failed for item " + i + "." + } + } + + let results = [ ]; + let counter = 0; + + let x = counter++; + results.push(eval("x")); + + { + let x = counter++; + results.push(eval("x")); + } + + try { + throw counter++; + } catch (x) { + results.push(eval("x")); + } + + (() => { + var x = counter++; + results.push(eval("x")); + })(); + + (function (x) { + results.push(eval("x")); + })(counter++); + + with ({ x : counter++ }) { + results.push(eval("x")); + } + + verify(); +})(); diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-block-scoping-reassign.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-scoping-reassign.js new file mode 100644 index 0000000000..4da1c78de8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-scoping-reassign.js @@ -0,0 +1,18 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +{ + function f() { + return 'first declaration'; + } +} + +eval( + '{ function f() { return "second declaration"; } }' +); + +assert(typeof f, 'function', ' #1'); +assert(f(), 'second declaration', ' #2'); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-remove.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-remove.js new file mode 100644 index 0000000000..03aa6b0163 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-remove.js @@ -0,0 +1,17 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +function foo() { + function boo() { + return typeof a; + } + eval("{ assert(boo(), 'undefined'); delete a; assert(boo(), 'undefined'); function a() { return 'text-a'; } assert(boo(), 'function');} "); +} +foo(); + +for (let i = 0; i < 10000; i++) { + foo(); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-and-remove.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-and-remove.js new file mode 100644 index 0000000000..443a395139 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-and-remove.js @@ -0,0 +1,84 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +function foo() { + { + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + eval('eval(" { function f() { }; } ")'); + assert(typeof f, "function"); + } + assert(typeof f, "function", "#1"); + delete f; + assertThrow(() => f, "ReferenceError: Can't find variable: f", "#1"); +} + +for (var i = 0; i < 10000; i++) { + foo(); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function boo() { + { + assert(typeof l, "undefined", "#5"); + eval('{ var l = 15; eval(" { function l() { }; } ")}'); + assert(typeof l, "function", "#3"); + } + assert(typeof l, 'function', "#4"); + delete l; + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +for (var i = 0; i < 10000; i++){ + boo(); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function joo() { + { + assert(typeof h, "undefined" ); + eval('eval(" if (true){ function h() { }; } ")'); + assert(typeof h, "function" ); + } + assert(typeof h, "function", "#10"); + delete h; + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +for (var i = 0; i < 10000; i++){ + joo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +function koo() { + { + var k = 20; + eval('var k = 15; eval(" if (true){ function k() { }; } ")'); + assert(typeof k, "function" ); + } + assert(typeof k, "function", "#12"); + delete k; + assert(typeof k, "function", "#12"); +} + +for (var i = 0; i < 10000; i++){ + koo(); + assertThrow(() => k, "ReferenceError: Can't find variable: k"); +} diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-sinthesize.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-sinthesize.js new file mode 100644 index 0000000000..2a92ce8d6e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-block-with-var-sinthesize.js @@ -0,0 +1,90 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +function foo() { + { + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + eval('eval(" { function f() { }; } ")'); + assert(typeof f, "function"); + } + assert(typeof f, "function"); +} + +for (var i = 0; i < 10000; i++){ + foo(); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function boo() { + { + assertThrow(() => l, "ReferenceError: Can't find variable: l"); + eval('{ var l = 15; eval(" { function l() { }; } ")}'); + assert(typeof l, "function", "#3"); + } + assert(typeof l, 'function', "#4"); +} + +for (var i = 0; i < 10000; i++){ + boo(); + assertThrow(() => l, "ReferenceError: Can't find variable: l"); +} + +function hoo() { + { + assertThrow(() => h, "ReferenceError: Can't find variable: h"); + eval('eval(" if (false){ function h() { }; } ");'); + assert(h, undefined, ''); + } + assert(h, undefined, ''); +} + +for (var i = 0; i < 10000; i++){ + hoo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +function joo() { + { + assertThrow(() => h, "ReferenceError: Can't find variable: h"); + eval('eval(" if (true){ function h() { }; } ")'); + assert(typeof h, "function" ); + } + assert(typeof h, "function", "#10"); +} + +for (var i = 0; i < 10000; i++){ + joo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +function koo() { + { + var k = 20; + eval('var k = 15; eval(" if (true){ function k() { }; } ")'); + assert(typeof k, "function" ); + } + assert(typeof k, "function", "#12"); +} + +for (var i = 0; i < 10000; i++){ + koo(); + assertThrow(() => k, "ReferenceError: Can't find variable: k"); +} diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js new file mode 100644 index 0000000000..f97ee3ab5d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-block-scope-and-bind-to-top-eval-scope.js @@ -0,0 +1,14 @@ +var init1; + +(function() { + eval( + '\ + init1 = f;\ + {\ + function f() {}\ + }{ function f() { } }' + ); +}()); + +if (init1 !== undefined) + throw new Error('Wrong binding of the function.'); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-block-with-let.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-block-with-let.js new file mode 100644 index 0000000000..a378fb9710 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-block-with-let.js @@ -0,0 +1,61 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +} + +function foo() { + { + let f = 20; + eval(" { function f() { value = 20; }; }"); + assert(f, 20); + } + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + + +for (var i = 0; i < 10000; i++){ + foo(); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function boo() { + { + var l = 20; + eval(" { function l() { value = 20; }; }"); + assert(typeof l, 'function'); + } + assert(typeof l, 'function'); +} + +for (var i = 0; i < 10000; i++){ + boo(); + assertThrow(() => l, "ReferenceError: Can't find variable: l"); +} + +function goo() { + { + let g = 20; + eval(" for(var j=0; j < 10000; j++){ function g() { }; } "); + assert(typeof g, 'number'); + } + assertThrow(() => g, "ReferenceError: Can't find variable: g"); +} + +goo(); +assertThrow(() => g, "ReferenceError: Can't find variable: g"); diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-with-scope.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-with-scope.js new file mode 100644 index 0000000000..b47b27811b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-eval-within-with-scope.js @@ -0,0 +1,111 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +function foo(withScope, firstAssertValue, secondAssertValue) { + with (withScope) { + eval("{ function f() { } }"); + assert(typeof f, firstAssertValue, f); + } + assert(typeof f, secondAssertValue); +} + +function boo(withScope, firstAssertValue, secondAssertValue) { + with (withScope) { + eval(" for(var i = 0; i < 10000; i++ ){ if (i > 0) { function f() { }; } } "); + assert(typeof f, firstAssertValue); + } + assert(typeof f, secondAssertValue); +} +{ + for (var i = 0; i < 10000; i++) { + foo({}, 'function', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + + boo({}, 'function', 'function'); +} +{ + for (var i = 0; i < 10000; i++) { + foo({f : 10}, 'number', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + boo({f : 10}, 'number', 'function'); + + for (var i = 0; i < 10000; i++) { + foo({f : {}}, 'object', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + boo({f : {}}, 'object', 'function'); +} +{ + for (var i = 0; i < 10000; i++) { + foo(12345, 'function', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + boo(12345, 'function', 'function'); + + for (var i = 0; i < 10000; i++) { + let val = 12345; + val.f = 10; + foo(val, 'function', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + let x = 12345; + x.f = 10; + boo(x, 'function', 'function'); +} +{ + + for (var i = 0; i < 10000; i++) { + foo('12345', 'function', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + boo('12345', 'function', 'function'); + + for (var i = 0; i < 10000; i++) { + let val = '12345'; + val.f = 10; + foo(val, 'function', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + let z = '12345'; + z.f = 10; + boo(z, 'function', 'function'); +} +{ + for (var i = 0; i < 10000; i++) { + foo(function () {}, 'function', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + + boo(function () {}, 'function', 'function'); + + for (var i = 0; i < 10000; i++) { + let val2 = function () {}; + val2.f = 10; + foo(val2, 'number', 'function'); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); + } + + let val3 = function () {}; + val3.f = 10; + boo(val3, 'number', 'function'); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-frozen-global.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-frozen-global.js new file mode 100644 index 0000000000..961a448114 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-frozen-global.js @@ -0,0 +1,48 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, errorText) { + var error = null; + try { + cb(); + } catch (e) { + error = e.toString(); + } + if (error === null) + throw new Error('Expected error'); + if (error !== errorText) + throw new Error('Expected error ' + errorText + ' but was ' + error); +}; + +{ + eval('{ function foo() {} }'); + assert(this.hasOwnProperty("foo"), true); + assert(typeof foo, 'function'); +} + +Object.defineProperty(this, "globalNonWritable", { + value: false, + configurable: true, + writable: false, + enumerable: true +}); +eval("{function globalNonWritable() { return 1; }}"); +var globalNonWritableDescriptor + = Object.getOwnPropertyDescriptor(this, "globalNonWritable"); +assert(globalNonWritableDescriptor.enumerable, true); + +Object.freeze(this); +{ + var error = false; + try { + eval('{ function boo() {} }'); + } catch (e) { + error = true; + } + assert(this.hasOwnProperty("boo"), false); + assert(error, false); + assertThrow(() => boo, 'ReferenceError: Can\'t find variable: boo'); +} diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-global-of-eval.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-global-of-eval.js new file mode 100644 index 0000000000..fe193461b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-global-of-eval.js @@ -0,0 +1,66 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +} + + +function bar() { + { + let f = 20; + let value = 10; + eval("function f() { value = 20; }; f();"); + } +} + + +for (var i = 0; i < 10000; i++){ + assertThrow(() => bar(), "SyntaxError: Can't create duplicate variable in eval: 'f'"); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function baz() { + { + var l = 20; + var value = 10; + eval("function l() { value = 20; }; l();"); + assert(typeof l, 'function'); + assert(value, 20); + } + assert(typeof l, 'function'); +} + +for (var i = 0; i < 10000; i++){ + baz(); + assertThrow(() => l, "ReferenceError: Can't find variable: l"); +} + +function foobar() { + { + let g = 20; + let value = 10; + eval("function l() { value = 30; }; l();"); + assert(typeof g, 'number'); + assert(value, 30); + } + assertThrow(() => g, "ReferenceError: Can't find variable: g"); +} + +foobar(); +assertThrow(() => g, "ReferenceError: Can't find variable: g"); + diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-global.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-global.js new file mode 100644 index 0000000000..36e1f48cb8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-global.js @@ -0,0 +1,37 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +var foo = 'foo'; +var success = false; +// FIXME: According to spec foo should have value 'undefined', +// but possible it would be changed https://github.com/tc39/ecma262/issues/753 +eval("success = foo === 'foo'; { function foo(){} }"); + +assert(success, true); + +success = false; + +let boo = 'boo'; +eval("success = boo === 'boo'; { function boo(){} } success = success && boo === 'boo';"); + +success = success && boo === 'boo'; + +assert(success, true); diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-in-if.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-if.js new file mode 100644 index 0000000000..42b515a10b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-in-if.js @@ -0,0 +1,20 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected-' + expected + ' but was' + result + ':' + message ); + } +}; + +var updated; + +(function() { + eval( + '{\ + function f() {\ + return "first declaration";\ + }\ + }if (true) function f() { return "second declaration"; } else function _f() {}updated = f;' + ); +}()); + +assert(typeof updated, 'function', "#1"); +assert(updated(), 'second declaration', "#2"); diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-with-let-const-class.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-with-let-const-class.js new file mode 100644 index 0000000000..e53faa61eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-with-let-const-class.js @@ -0,0 +1,160 @@ +var assert = function (result, expected) { + if (result !== expected) { + throw new Error('Error in assert. Expected-' + expected + ' but was ' + result); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +var assertNotThrow = function (cb) { + try { + cb(); + } catch (e) { + throw new Error('Error is not expected. But was throw error: "' + e + '"'); + } +} + +var result = 0; + +eval("'use strict'; let y = 5; function f() { result = y;} f()"); +assert(result, 5); + +eval("'use strict'; const x = 10; function f() { result = x;} f()"); +assert(result, 10); + +eval("'use strict'; class A { constructor() { this.id = 'foo'; } }; function foo() { return (new A).id; }; result = foo();"); +assert(result, 'foo'); + + +eval("let y = 15; function f() { result = y;} f()"); +assert(result, 15); + +eval("const x = 20; function f() { result = x;} f()"); +assert(result, 20); + +eval("class B { constructor() { this.id = 'boo'; } }; function foo() { return (new B).id; }; result = foo();"); +assert(result, 'boo'); + +function foo () { + var res = 0; + + eval("'use strict'; let y = 5; function f() { res = y;} f()"); + assert(res, 5); + + eval("'use strict'; const x = 10; function f() { result = x;} f()"); + assert(res, 10); + + eval("'use strict'; class C { constructor() { this.id = 'foo'; } }; function foo() { return (new C).id; }; result = foo();"); + assert(res, 'foo'); + + + eval("let y = 15; function f() { result = y;} f()"); + assert(res, 15); + + eval("const x = 20; function f() { result = x;} f()"); + assert(res, 20); + + eval("class D { constructor() { this.id = 'boo'; } }; function foo() { return (new D).id; }; result = foo();"); + assert(res, 'boo'); +} + +foo(); + +function boo () { + { + let f; + eval("'use strict'; let y = 5; function f() { result = y;} f()"); + assert(typeof f, 'undefined'); + + eval("'use strict'; const x = 10; function f() { result = x;} f()"); + assert(typeof f, 'undefined'); + + eval("'use strict'; class E { constructor() { this.id = 'foo'; } }; function f() { return (new E).id; }; result = f();"); + assert(typeof f, 'undefined'); + } +} + +function bar () { + { + let f; + eval("let y = 15; function f() { result = y;} f()"); + } +} + +function foobar () { + { + let f; + eval("const x = 20; function f() { result = x; } f()"); + } +} + +function baz() { + { + let f; + eval("var x = 20; function f() { result = x; } f()"); + } +} + +function barWithTry () { + var error; + { + let f; + try { + eval("let y = 15; function f() { result = y;} f()"); + } catch (err) { + error = err; + } + assert(typeof f, 'undefined'); + } + assert(error.toString(), 'SyntaxError: Can\'t create duplicate variable in eval: \'f\''); +} + +function foobarWithTry () { + var error; + { + let f; + try { + eval("const x = 20; function f() { result = x; } f()"); + } catch (err) { + error = err; + } + assert(typeof f, 'undefined'); + } + assert(error.toString(), 'SyntaxError: Can\'t create duplicate variable in eval: \'f\''); +} + +function bazWithTry () { + var error; + { + let f; + try { + eval("var x = 20; function f() { result = x; } f()"); + } catch (err) { + error = err; + } + assert(typeof f, 'undefined'); + } + assert(error.toString(), 'SyntaxError: Can\'t create duplicate variable in eval: \'f\''); +} + +assertNotThrow(() => boo()); +assertThrow(() => bar(), 'SyntaxError: Can\'t create duplicate variable in eval: \'f\''); +assertThrow(() => foobar(), 'SyntaxError: Can\'t create duplicate variable in eval: \'f\''); +assertThrow(() => baz(), 'SyntaxError: Can\'t create duplicate variable in eval: \'f\''); + +barWithTry(); +foobarWithTry(); +bazWithTry(); diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-with-reassign-to-var.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-with-reassign-to-var.js new file mode 100644 index 0000000000..dfd892f7d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-with-reassign-to-var.js @@ -0,0 +1,137 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +function foo() { + { + var f = 20; + eval('var f = 15; eval(" { function f() { }; } ")'); + assert(typeof f, "function"); + } + assert(typeof f, "function", "#1"); +} + +for (var i = 0; i < 10000; i++) { + foo(); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function boo() { + { + var l = 20; + eval('{ let l = 15; eval(" { function l() { }; } ")}'); + assert(l, 20, "#3"); + } + assert(typeof l, 'number', "#4"); +} + +for (var i = 0; i < 10000; i++){ + boo(); + assertThrow(() => l, "ReferenceError: Can't find variable: l"); +} + +function foobar() { + eval("if (false) { function _bar() { } }"); + assert(_bar, undefined); +} + +for (var i = 0; i < 10000; i++){ + foobar(); + assertThrow(() => _bar, "ReferenceError: Can't find variable: _bar"); +} + +// Fixme: https://bugs.webkit.org/show_bug.cgi?id=167837 +// Current test does not work because it should raise exception +// that f could not be redeclared +/* +function goo() { + { + var error = false; + try { + let f = 20; + eval('var f = 15; eval(" { function f() { }; } ")'); + } catch (e) { + error = e instanceof SyntaxError; + } + assert(error, true, "syntax error should be raisen"); + } + assert(typeof f, "undefined", "#6"); +} + +for (var i = 0; i < 10000; i++) { + goo(); + assert(typeof f, "undefined", "#7"); +} +*/ + +function hoo() { + { + let h = 20; + eval('var h = 15; eval(" if (false){ function h() { }; } ");'); + assert(h, 15); + } + assert(typeof h, "undefined"); +} + +for (var i = 0; i < 10000; i++) { + hoo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +function joo() { + { + var h = 20; + eval('var h = 15; eval(" if (false){ function h() { }; } ")'); + assert(typeof h, "number"); + } + assert(typeof h, "number", "#10"); +} + +for (var i = 0; i < 10000; i++){ + joo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +function koo() { + { + var k = 20; + eval('var k = 15; eval(" if (true){ function k() { }; } ")'); + assert(typeof k, "function" ); + } + assert(typeof k, "function", "#12"); +} + +for (var i = 0; i < 10000; i++){ + koo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} + +function loo() { + let h = 20; + eval("var h; if (false) { function h() { } }"); + return h; +} + +assert(loo(), 20); + +for (var i = 0; i < 10000; i++) { + loo(); + assertThrow(() => h, "ReferenceError: Can't find variable: h"); +} diff --git a/implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-without-reassign-to-let.js b/implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-without-reassign-to-let.js new file mode 100644 index 0000000000..74dfd8f12e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-func-decl-within-eval-without-reassign-to-let.js @@ -0,0 +1,60 @@ +var assert = function (result, expected, message) { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +var assertThrow = function (cb, expected) { + let error = null; + try { + cb(); + } catch(e) { + error = e; + } + if (error === null) { + throw new Error('Error is expected. Expected "' + expected + '" but error was not thrown."'); + } + if (error.toString() !== expected) { + throw new Error('Error is expected. Expected "' + expected + '" but error was "' + error + '"'); + } +}; + +function foo() { + { + let f = 20; + eval('eval(" { function f() { }; } ")'); + assert(f, 20); + } + assert(typeof f, "undefined", "#1"); +} + +for (var i = 0; i < 10000; i++){ + foo(); + assertThrow(() => f, "ReferenceError: Can't find variable: f"); +} + +function boo() { + { + var l = 20; + eval('eval(" { function l() { }; } ")'); + assert(typeof l, 'function', "#3"); + } + assert(typeof l, 'function', "#4"); +} + +for (var i = 0; i < 10000; i++){ + boo(); + assertThrow(() => l, "ReferenceError: Can't find variable: l"); +} + +function goo() { + { + let g = 20; + eval('eval(" for(var j=0; j < 10000; j++){ function g() { }; } ")'); + assert(typeof g, 'number', "#6"); + } + assertThrow(() => g, "ReferenceError: Can't find variable: g"); +} + +goo(); +assertThrow(() => g, "ReferenceError: Can't find variable: g"); diff --git a/implementation-contributed/javascriptcore/stress/eval-in-arrow-function.js b/implementation-contributed/javascriptcore/stress/eval-in-arrow-function.js new file mode 100644 index 0000000000..4047286737 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-in-arrow-function.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var global = this; +for (var i = 0; i < 100; ++i) { + (() => { + // |this| should reference to the global one. + shouldBe(eval("this"), global); + })(); +} + +for (var i = 0; i < 100; ++i) { + var THIS = {}; + (function test() { + // |this| should reference to the function's one. + shouldBe(eval("this"), THIS); + }).call(THIS); +} diff --git a/implementation-contributed/javascriptcore/stress/eval-script-contains-null-character.js b/implementation-contributed/javascriptcore/stress/eval-script-contains-null-character.js new file mode 100644 index 0000000000..419215da49 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-script-contains-null-character.js @@ -0,0 +1,13 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error("bad value: " + actual); +} + +function test() { + shouldBe(eval("(`\0`)"), "\0"); + shouldBe(eval("('\0')"), "\0"); +} +noInline(test); + +for (var i = 0; i < 10000; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/eval-that-is-not-eval.js b/implementation-contributed/javascriptcore/stress/eval-that-is-not-eval.js new file mode 100644 index 0000000000..c6c3064488 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/eval-that-is-not-eval.js @@ -0,0 +1,14 @@ +function foo(a) { + return eval(a); +} + +noInline(foo); + +eval = function(a) { return a + 1; } + +for (var i = 0; i < 10000; ++i) { + var result = foo(42); + if (result != 43) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/exception-dfg-inlined-frame-not-strict-equal.js b/implementation-contributed/javascriptcore/stress/exception-dfg-inlined-frame-not-strict-equal.js new file mode 100644 index 0000000000..415b15d3f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-dfg-inlined-frame-not-strict-equal.js @@ -0,0 +1,39 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); +var o = { + valueOf: function() { return {}; }, + toString: function() { return {}; } +}; +function read() { + return "read"; +} +noInline(read); + +function bar(a, b) { + return a == b; +} + +function foo(a, b) { + var result = null; + var value = read(); + try { + result = bar(a, b); + } catch(e) { + assert("" + value === "read"); + } + return value; +} +noInline(foo); + +for (var i = 0; i < 1000; i++) { + foo(10, 20); + foo({}, {}); + foo(10, 10.0); + foo("hello", "hello"); + foo(null, undefined); + foo(false, 0); +} +foo(o, "hello"); diff --git a/implementation-contributed/javascriptcore/stress/exception-dfg-not-strict-equal.js b/implementation-contributed/javascriptcore/stress/exception-dfg-not-strict-equal.js new file mode 100644 index 0000000000..e4dd480dba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-dfg-not-strict-equal.js @@ -0,0 +1,71 @@ +;(function () { +function foo(a, b) { + var result = null; + try { + result = a == b; + } catch(e) { + } +} +noInline(foo); + +for (var i = 0; i < 1000; i++) { + foo(10, 20); + foo({}, {}); + foo(10, 10.0); + foo("hello", "hello"); + foo(null, undefined); + foo(false, 0); +} + +var o = { + valueOf: function() { return {}; }, + toString: function() { return {}; } +}; +foo(o, "hello"); +})(); + + +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + + +;(function() { + +var _shouldDoSomethingInFinally = false; +function shouldDoSomethingInFinally() { return _shouldDoSomethingInFinally; } +noInline(shouldDoSomethingInFinally); + +function foo(a, b) { + var result = null; + try { + result = a == b; + } finally { + if (shouldDoSomethingInFinally()) + assert(result === null); + } + return result; +} +noInline(foo); + +for (var i = 0; i < 1000; i++) { + foo(10, 20); + foo({}, {}); + foo(10, 10.0); + foo("hello", "hello"); + foo(null, undefined); + foo(false, 0); +} + +var o = { + valueOf: function() { return {}; }, + toString: function() { return {}; } +}; +try { + _shouldDoSomethingInFinally = true; + foo(o, "hello"); +} catch(e) {} + +})(); diff --git a/implementation-contributed/javascriptcore/stress/exception-dfg-operation-read-value.js b/implementation-contributed/javascriptcore/stress/exception-dfg-operation-read-value.js new file mode 100644 index 0000000000..f3835a06da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-dfg-operation-read-value.js @@ -0,0 +1,35 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); +var o = { + valueOf: function() { return {}; }, + toString: function() { return {}; } +}; +function read() { + return "read"; +} +noInline(read); + +function foo(a, b) { + var result = null; + var value = read(); + try { + result = a == b; + } catch(e) { + assert("" + value === "read"); + } + return value; +} +noInline(foo); + +for (var i = 0; i < 1000; i++) { + foo(10, 20); + foo({}, {}); + foo(10, 10.0); + foo("hello", "hello"); + foo(null, undefined); + foo(false, 0); +} +foo(o, "hello"); diff --git a/implementation-contributed/javascriptcore/stress/exception-dfg-throw-from-catch-block.js b/implementation-contributed/javascriptcore/stress/exception-dfg-throw-from-catch-block.js new file mode 100644 index 0000000000..9464545b4f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-dfg-throw-from-catch-block.js @@ -0,0 +1,40 @@ +"use strict"; +function assert(cond, m) { + if (!cond) + throw new Error("broke assertion: '" + m + "'"); +} +noInline(assert); + +function baz(b) { + if (b) + throw new Error("Baz"); +} + +function bar(b) { + var exception = null; + try { + baz(b); + } catch(e) { + exception = e; + baz(b); + } finally { + if (b) + assert(exception); + } +} + +function foo(b) { + var exception = null; + try { + bar(b); + } catch(e) { + exception = e; + } + if (b) + assert(exception); +} + +const NUM_LOOPS = 1000; +for (var i = 0; i < NUM_LOOPS; i++) { + foo(i === NUM_LOOPS - 1); +} diff --git a/implementation-contributed/javascriptcore/stress/exception-effect-strcat.js b/implementation-contributed/javascriptcore/stress/exception-effect-strcat.js new file mode 100644 index 0000000000..92772b9cf0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-effect-strcat.js @@ -0,0 +1,42 @@ +function foo(a, b) { + return a + b; +} + +noInline(foo); + +var bStr = "b"; +for (var i = 0; i < 30; ++i) + bStr = bStr + bStr; + +var effects = 0; +var b = {toString: function() { effects++; return bStr; }}; + +for (var i = 0; i < 10000; ++i) { + effects = 0; + var result = foo("a", b); + if (result.length != "a".length + bStr.length) + throw "Error: bad result in loop: " + result; + if (effects != 1) + throw "Error: bad number of effects: " + effects; +} + +// Create a large string. +var a = "a"; +for (var i = 0; i < 30; ++i) + a = a + a; + +effects = 0; +var result = null; +var didThrow = false; +try { + result = foo(a, b); +} catch (e) { + didThrow = true; +} + +if (!didThrow) + throw "Error: did not throw."; +if (result !== null) + throw "Error: did set result to something: " + result; +if (effects != 1) + throw "Error: bad number of effects at end: " + effects; diff --git a/implementation-contributed/javascriptcore/stress/exception-in-strcat-string-overflow.js b/implementation-contributed/javascriptcore/stress/exception-in-strcat-string-overflow.js new file mode 100644 index 0000000000..26c48fc08b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-in-strcat-string-overflow.js @@ -0,0 +1,37 @@ +function foo(a, b) { + return a + "x" + b; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var b; + var expected; + if (i & 1) { + b = 42; + expected = "ax42"; + } else { + b = "b"; + expected = "axb"; + } + var result = foo("a", b); + if (result != expected) + throw "Error: bad result: " + result; +} + +var longStr = "l"; +for (var i = 0; i < 30; ++i) + longStr = longStr + longStr; + +var result = null; +var didThrow = false; +try { + result = foo(longStr, longStr); +} catch (e) { + didThrow = true; +} + +if (!didThrow) + throw "Error: did not throw"; +if (result !== null) + throw "Error: did set result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/exception-in-strcat.js b/implementation-contributed/javascriptcore/stress/exception-in-strcat.js new file mode 100644 index 0000000000..3306c4d464 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-in-strcat.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a + "x" + b; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({toString: function() { return "a"; }}, 42); + if (result != "ax42") + throw "Error: bad result: " + result; +} + +var result = null; +var didThrow = false; +try { + result = foo({toString: function() { throw "error"; }}, 42); +} catch (e) { + didThrow = true; +} + +if (!didThrow) + throw "Error: did not throw"; +if (result !== null) + throw "Error: did set result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early-in-object-methods.js b/implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early-in-object-methods.js new file mode 100644 index 0000000000..f7cc01d04d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early-in-object-methods.js @@ -0,0 +1,73 @@ + +var propertyKey = { + toString() { + throw new Error("propertyKey.toString is called."); + } +}; + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +var object = {}; + +shouldThrow(function () { + object.hasOwnProperty(propertyKey); +}, "Error: propertyKey.toString is called."); + +shouldThrow(function () { + Object.prototype.hasOwnProperty.call(null, propertyKey); +}, "Error: propertyKey.toString is called."); + +shouldThrow(function () { + Object.prototype.hasOwnProperty.call(null, 'ok'); +}, "TypeError: null is not an object (evaluating 'Object.prototype.hasOwnProperty.call(null, 'ok')')"); + +shouldThrow(function () { + object.propertyIsEnumerable(propertyKey); +}, "Error: propertyKey.toString is called."); + +// ToPropertyKey is first, ToObject is following. +shouldThrow(function () { + Object.prototype.propertyIsEnumerable.call(null, propertyKey); +}, "Error: propertyKey.toString is called."); + +shouldThrow(function () { + // ToPropertyKey is first, ToObject is following. + Object.prototype.propertyIsEnumerable.call(null, 'ok'); +}, "TypeError: null is not an object (evaluating 'Object.prototype.propertyIsEnumerable.call(null, 'ok')')"); + +shouldThrow(function () { + object.__defineGetter__(propertyKey, function () { + return 'NG'; + }); +}, "Error: propertyKey.toString is called."); + +if (Object.getOwnPropertyDescriptor(object, '')) + throw new Error("bad descriptor"); + +shouldThrow(function () { + object.__defineSetter__(propertyKey, function () { + return 'NG'; + }); +}, "Error: propertyKey.toString is called."); + +if (Object.getOwnPropertyDescriptor(object, '')) + throw new Error("bad descriptor"); + +shouldThrow(function () { + object.__lookupGetter__(propertyKey); +}, "Error: propertyKey.toString is called."); + +shouldThrow(function () { + object.__lookupSetter__(propertyKey); +}, "Error: propertyKey.toString is called."); diff --git a/implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early.js b/implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early.js new file mode 100644 index 0000000000..ad153355b9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exception-in-to-property-key-should-be-handled-early.js @@ -0,0 +1,139 @@ + +var propertyKey = { + toString() { + throw new Error("propertyKey.toString is called."); + } +}; + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +// GetByVal. +(function () { + var called = null; + var toStringCalled = false; + var property = { + toString() { + toStringCalled = true; + return "value"; + } + }; + var object = { + get value() { + }, + set value(val) { + } + }; + Object.defineProperty(object, '', { + get: function () { + called = "getter for '' is called."; + } + }); + + function test(object, property) { + object[property]; + } + noInline(test); + + shouldThrow(function () { test(object, propertyKey); }, "Error: propertyKey.toString is called."); + if (called) + throw new Error(called); + toStringCalled = false; + shouldThrow(function () { test(null, propertyKey); }, "TypeError: null is not an object (evaluating 'object[property]')"); + if (toStringCalled) + throw new Error("toString is called."); +}()); + +// GetByVal DFG. +(function () { + var called = null; + var toStringCalled = false; + var property = { + toString() { + toStringCalled = true; + return "value"; + } + }; + var object = { + get ""() { + called = "getter for '' is called."; + }, + set ""(val) { + called = "setter for '' is called."; + }, + + get value() { + }, + set value(val) { + } + }; + + function test(object, property) { + object[property]; + } + noInline(test); + + for (var i = 0; i < 10000; ++i) + test(object, property); + + shouldThrow(function () { test(object, propertyKey); }, "Error: propertyKey.toString is called."); + if (called) + throw new Error(called); + toStringCalled = false; + shouldThrow(function () { test(null, propertyKey); }, "TypeError: null is not an object (evaluating 'object[property]')"); + if (toStringCalled) + throw new Error("toString is called."); +}()); + + +// GetByValString. +(function () { + var called; + var toStringCalled = false; + var property = { + toString() { + toStringCalled = true; + return "value"; + } + }; + function test(array, length, property) { + var result = 0; + for (var i = 0; i < length; ++i) + result += array[property]; + return result; + } + noInline(test); + + Object.defineProperty(String.prototype, "", { + get: function () { + called = "getter for '' is called."; + } + }); + + var array = [1, 2, 3]; + for (var i = 0; i < 100000; ++i) + test(array, array.length, 0); + + var array = [1, false, 3]; + for (var i = 0; i < 100000; ++i) + test(array, array.length, 1); + + test("hello", "hello".length, 2); + shouldThrow(function () { test("hello", "hello".length, propertyKey); }, "Error: propertyKey.toString is called."); + if (called) + throw new Error(called); + toStringCalled = false; + shouldThrow(function () { test(null, 20, propertyKey); }, "TypeError: null is not an object (evaluating 'array[property]')"); + if (toStringCalled) + throw new Error("toString is called."); +}()); diff --git a/implementation-contributed/javascriptcore/stress/exit-after-int32-to-double.js b/implementation-contributed/javascriptcore/stress/exit-after-int32-to-double.js new file mode 100644 index 0000000000..580c5a9b72 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-after-int32-to-double.js @@ -0,0 +1,15 @@ +function foo(x, o) { + return o.f + x; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(42.5, {f:5}); + if (result != 47.5) + throw "Error: bad result: " + result; +} + +var result = foo("42", {f:5}); +if (result != "542") + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/exit-after-int52-to-double.js b/implementation-contributed/javascriptcore/stress/exit-after-int52-to-double.js new file mode 100644 index 0000000000..06bab3b1da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-after-int52-to-double.js @@ -0,0 +1,16 @@ +function foo(a, b, c) { + return a.f + b.f + c.f; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:2000000000}, {f:2000000000}, {f:0.5}); + if (result != 4000000000.5) + throw "Error: bad result: " + result; +} + +var result = foo({f:2000000000}, {f:2000000000}, {f:"42"}); +if (result != "400000000042") + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/exit-after-int52-to-value.js b/implementation-contributed/javascriptcore/stress/exit-after-int52-to-value.js new file mode 100644 index 0000000000..92ed1f8535 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-after-int52-to-value.js @@ -0,0 +1,25 @@ +function foo(a, b, c) { + c.f.f = a.f + b.f; +} + +noInline(foo); + +var counter = 0; +function makeWeirdObject() { + var result = {}; + result["blah" + (counter++)] = 42; + return result; +} + +for (var i = 0; i < 100000; ++i) { + var o = makeWeirdObject(); + foo({f:2000000000}, {f:2000000000}, {f:o}); + if (o.f != 4000000000) + throw "Error: bad result: " + result; +} + +var thingy; +Number.prototype.__defineSetter__("f", function(value) { thingy = value; }); +foo({f:2000000000}, {f:2000000000}, {f:42}); +if (thingy != 4000000000) + throw "Error: bad result: " + thingy; diff --git a/implementation-contributed/javascriptcore/stress/exit-after-llvm-folds-large-int-constant.js b/implementation-contributed/javascriptcore/stress/exit-after-llvm-folds-large-int-constant.js new file mode 100644 index 0000000000..48d35fe5bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-after-llvm-folds-large-int-constant.js @@ -0,0 +1,18 @@ +function foo(o, io) { + var i = io.f; + if (i != 92160) + o.g = 42; + return o.f.f + i; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:{f:42}}, {f:92160}); + if (result != 92202) + throw "Error: bad result: " + result; +} + +var result = foo({f:{g:20, f:21}}, {f:92160}); +if (result != 92181) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js b/implementation-contributed/javascriptcore/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js new file mode 100644 index 0000000000..7bcbc554ed --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-during-inlined-arity-fixup-recover-proper-frame.js @@ -0,0 +1,33 @@ +var createBuiltin = $vm.createBuiltin; + +let i; +function verify(a, b, c, d, e, f) { + function assert(b, m) { + if (!b) + throw new Error(m); + } + assert(a === i); + assert(b === i+1); + assert(c === i+2); + assert(d === null); + assert(e === undefined); + assert(f === undefined); +} +noInline(verify); + +function func(a, b, c, d, e, f) +{ + verify(a, b, c, d, e, f); + return !!(a%2) ? a + b + c + d : a + b + c + d; +} + +const bar = createBuiltin(`(function (f, a, b, c, d) { + let y = @idWithProfile(null, "SpecInt32Only"); + return f(a, b, c, y); +})`); + +noInline(bar); + +for (i = 0; i < 1000; ++i) { + bar(func, i, i+1, i+2, i+3); +} diff --git a/implementation-contributed/javascriptcore/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js b/implementation-contributed/javascriptcore/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js new file mode 100644 index 0000000000..d0682ab3bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-from-ftl-when-caller-passed-extra-args-then-use-function-dot-arguments.js @@ -0,0 +1,37 @@ +function foo(a, b) { + var result = a + b; + bar(); + return result; +} + +var capturedArgs; +function bar() { + capturedArgs = foo.arguments; +} + +noInline(foo); +noInline(bar); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 10000; ++i) { + var result = foo(1, 2, 3, 4, 5, 6); + if (result != 3) + throw "Error: bad result in loop: " + result; + if (!arraycmp(capturedArgs, [1, 2, 3, 4, 5, 6])) + throw "Error: bad captured arguments in loop: " + capturedArgs; +} + +var result = foo(2000000000, 2000000000, 3, 4, 5, 6); +if (result != 4000000000) + throw "Error: bad result at end: " + result; +if (!arraycmp(capturedArgs, [2000000000, 2000000000, 3, 4, 5, 6])) + throw "Error: bad captured arguments at end: " + Array.prototype.join.apply(capturedArgs, ","); diff --git a/implementation-contributed/javascriptcore/stress/exit-from-ftl-with-arity-check-fail.js b/implementation-contributed/javascriptcore/stress/exit-from-ftl-with-arity-check-fail.js new file mode 100644 index 0000000000..6be3b210a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-from-ftl-with-arity-check-fail.js @@ -0,0 +1,18 @@ +function foo(o, a, b, c, d, e, f, g, h, i, j) { + return o.f; +} + +function bar(o) { + return foo(o); +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) + bar({f:42}); + +var result = bar({g:24, f:43}); +if (result != 43) + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/exit-from-getter.js b/implementation-contributed/javascriptcore/stress/exit-from-getter.js new file mode 100644 index 0000000000..11830b8ca2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-from-getter.js @@ -0,0 +1,23 @@ +(function() { + var o = {_f:42}; + o.__defineGetter__("f", function() { return this._f * 100; }); + var result = 0; + var n = 50000; + function foo(o) { + return o.f + 11; + } + noInline(foo); + for (var i = 0; i < n; ++i) { + result += foo(o); + } + if (result != n * (42 * 100 + 11)) + throw "Error: bad result: " + result; + o._f = 1000000000; + result = 0; + for (var i = 0; i < n; ++i) { + result += foo(o); + } + if (result != n * (1000000000 * 100 + 11)) + throw "Error: bad result (2): " + result; +})(); + diff --git a/implementation-contributed/javascriptcore/stress/exit-from-setter.js b/implementation-contributed/javascriptcore/stress/exit-from-setter.js new file mode 100644 index 0000000000..fc84c6b74e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-from-setter.js @@ -0,0 +1,23 @@ +(function() { + var o = {_f:42}; + o.__defineSetter__("f", function(value) { this._f = value * 100; }); + var n = 50000; + function foo(o_, v_) { + var o = o_.f; + var v = v_.f; + o.f = v; + o.f = v + 1; + } + noInline(foo); + for (var i = 0; i < n; ++i) { + foo({f:o}, {f:11}); + } + if (o._f != (11 + 1) * 100) + throw "Error: bad o._f: " + o._f; + for (var i = 0; i < n; ++i) { + foo({f:o}, {f:1000000000}); + } + if (o._f != 100 * (1000000000 + 1)) + throw "Error: bad o._f (2): " + o._f; +})(); + diff --git a/implementation-contributed/javascriptcore/stress/exit-then-eval.js b/implementation-contributed/javascriptcore/stress/exit-then-eval.js new file mode 100644 index 0000000000..df3dacc517 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/exit-then-eval.js @@ -0,0 +1,17 @@ +function foo(a, b, string) +{ + var x = a + b; + return eval(string); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 2, "x + 1"); + if (result != 1 + 2 + 1) + throw "Error: bad result in loop: " + result; +} + +var result = foo(2000000000, 2000000000, "x - 1"); +if (result != 2000000000 + 2000000000 - 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-exit-not-int52.js b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-exit-not-int52.js new file mode 100644 index 0000000000..cc25bbf35d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-exit-not-int52.js @@ -0,0 +1,19 @@ +var array = new Float64Array(1); +array[0] = 42; + +function foo() { + return fiatInt52(array[0]) + 1; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43) + throw "Error: bad result: " + result; +} + +array[0] = 5.5; +var result = foo(); +if (result != 6.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fail-to-fold.js b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fail-to-fold.js new file mode 100644 index 0000000000..b6e5277929 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fail-to-fold.js @@ -0,0 +1,11 @@ +function foo() { + return fiatInt52(Math.sqrt(2)) + 1; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != Math.sqrt(2) + 1) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fold.js b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fold.js new file mode 100644 index 0000000000..d2259a1047 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52-then-fold.js @@ -0,0 +1,11 @@ +function foo() { + return fiatInt52(Math.fround(42)) + 1; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 42 + 1) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-double-to-int52.js b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52.js new file mode 100644 index 0000000000..0697b60568 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-double-to-int52.js @@ -0,0 +1,14 @@ +var array = new Float64Array(1); +array[0] = 42; + +function foo() { + return fiatInt52(array[0]) + 1; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-int32-to-int52.js b/implementation-contributed/javascriptcore/stress/fiat-int32-to-int52.js new file mode 100644 index 0000000000..3e3ef8ac47 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-int32-to-int52.js @@ -0,0 +1,13 @@ +function foo(o) { + return fiatInt52(o.f) + 1; +} + +noInline(foo); + +var o = {f:42}; + +for (var i = 0; i < 1000000; ++i) { + var result = foo(o); + if (result != 43) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-double-path.js b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-double-path.js new file mode 100644 index 0000000000..235c5676a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-double-path.js @@ -0,0 +1,19 @@ +var array = new Float64Array(1); +array[0] = 42; + +function foo() { + return fiatInt52(bar()) + 1; +} + +function bar() { + return array[0]; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-double.js b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-double.js new file mode 100644 index 0000000000..a20a5f8b06 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-double.js @@ -0,0 +1,24 @@ +function foo() { + return fiatInt52(bar($vm.dfgTrue())) + 1; +} + +var thingy = false; +function bar(p) { + if (thingy) + return "hello"; + return p ? 42 : 5.5; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43 && result != 6.5) + throw "Error: bad result: " + result; +} + +thingy = true; +var result = foo(); +if (result != "hello1") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-int52.js b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-int52.js new file mode 100644 index 0000000000..e477a10b3b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-exit-not-int52.js @@ -0,0 +1,24 @@ +function foo() { + return fiatInt52(bar($vm.dfgTrue())) + 1; +} + +var thingy = false; +function bar(p) { + if (thingy) + return 5.5; + return p ? 42 : 5.5; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43 && result != 6.5) + throw "Error: bad result: " + result; +} + +thingy = true; +var result = foo(); +if (result != 6.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fail-to-fold.js b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fail-to-fold.js new file mode 100644 index 0000000000..fde0a28a79 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fail-to-fold.js @@ -0,0 +1,11 @@ +function foo() { + return fiatInt52($vm.dfgTrue() ? 5.5 : 42) + 1; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43 && result != 6.5) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fold.js b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fold.js new file mode 100644 index 0000000000..380240c75b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52-then-fold.js @@ -0,0 +1,11 @@ +function foo() { + return fiatInt52($vm.dfgTrue() ? 42 : 5.5) + 1; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43 && result != 6.5) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/fiat-value-to-int52.js b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52.js new file mode 100644 index 0000000000..9833582d3e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fiat-value-to-int52.js @@ -0,0 +1,16 @@ +function foo() { + return fiatInt52(bar($vm.dfgTrue())) + 1; +} + +function bar(p) { + return p ? 42 : 5.5; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result != 43 && result != 6.5) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/finally-for-in.js b/implementation-contributed/javascriptcore/stress/finally-for-in.js new file mode 100644 index 0000000000..82ffcb47bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/finally-for-in.js @@ -0,0 +1,38 @@ +function repeat(count, thunk) { + let result = ""; + for (let i = 0; i < count; i++) + result += thunk(i); + return result; +} + +function createSimple(outerDepth, innerDepth, returnDepth) { + return Function( + ` + return (function(arg) { + ${repeat(outerDepth, (i) => `for (let a${i} in arg) ` + "{\n" )} + try { + ${repeat(innerDepth, (i) => `for (let b${i} in arg) ` + "{\n" )} + return {}; + ${repeat(innerDepth, () => "}")} + } + finally { return a${returnDepth}} + ${repeat(outerDepth, () => "}")} + }) + ` + )(); +} + +function test(result, argument, ...args) { + let f = createSimple(...args); + + let r = f(argument); + if (r !== result) { + throw new Error(r); + } +} + + +test("0", [1,2], 1, 1, 0); +test("0", [1,2], 2, 1, 0); +test("0", [1,2], 2, 4, 1); +test("0", [1,2], 1, 0, 0); diff --git a/implementation-contributed/javascriptcore/stress/flatten-object-zero-unused-inline-properties.js b/implementation-contributed/javascriptcore/stress/flatten-object-zero-unused-inline-properties.js new file mode 100644 index 0000000000..6fe5a14c49 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/flatten-object-zero-unused-inline-properties.js @@ -0,0 +1,7 @@ +let o = { foo: 1, bar: 2, baz: 3 }; +if ($vm.inlineCapacity(o) <= 3) + throw new Error("There should be inline capacity"); + +delete o.foo; +$vm.flattenDictionaryObject(o); +o.foo = 1; diff --git a/implementation-contributed/javascriptcore/stress/flatten-oversize-dictionary-object.js b/implementation-contributed/javascriptcore/stress/flatten-oversize-dictionary-object.js new file mode 100644 index 0000000000..d912b2f902 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/flatten-oversize-dictionary-object.js @@ -0,0 +1,37 @@ +var foo = function(o) { + return o.baa; +}; + +noInline(foo); + +(function() { + var letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; + var properties = []; + var o = {}; + for (var i = 0; i < letters.length; ++i) { + for (var j = 0; j < letters.length; ++j) { + for (var k = 0; k < letters.length; ++k) { + var property = letters[i] + letters[j] + letters[k]; + o[property] = i; + } + } + } + + var keys = Object.keys(o); + keys.sort(); + for (var i = keys.length - 1; i >= keys.length - 8000; i--) { + delete o[keys[i]]; + } + + var sum = 0; + var iVal = letters.indexOf("b"); + var niters = 1000; + for (var i = 0; i < niters; ++i) { + sum += foo(o); + } + + if (sum != iVal * niters) + throw new Error("incorrect result: " + sum); + + fullGC(); +})(); diff --git a/implementation-contributed/javascriptcore/stress/flattening-prototype-remove-butterfly.js b/implementation-contributed/javascriptcore/stress/flattening-prototype-remove-butterfly.js new file mode 100644 index 0000000000..47f6310d6d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/flattening-prototype-remove-butterfly.js @@ -0,0 +1,23 @@ +// Create an object with inline capacity 1. +let obj = { foo: 1 }; + +// Make it into a dictionary. +delete obj.foo; + +// Get us to allocate out of line capacity. +obj.foo = 1; +obj.bar = 2; + +// Delete the inline property. +delete obj.foo; + +let o = Object.create(obj); + +function foo() { + return o.toString(); +} +noInline(foo); + +// Flatten into an empty butterfly. +for (let i = 0; i < 10000; i++) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/float32-array-nan-inlined.js b/implementation-contributed/javascriptcore/stress/float32-array-nan-inlined.js new file mode 100644 index 0000000000..53ec2d1376 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float32-array-nan-inlined.js @@ -0,0 +1,20 @@ +function foo(o) { + return o[0]; +} + +function test(a, x) { + var intArray = new Int32Array(1); + intArray[0] = a; + var floatArray = new Float32Array(intArray.buffer); + var element = foo(floatArray); + var result = element + 1; + if (("" + result) != ("" + x)) + throw "Error: bad result for " + a + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array"; +} + +noInline(test); + +for (var i = 0; i < 100000; ++i) + test(0, 1); + +test(0xFFFF0000, 0/0); diff --git a/implementation-contributed/javascriptcore/stress/float32-array-nan.js b/implementation-contributed/javascriptcore/stress/float32-array-nan.js new file mode 100644 index 0000000000..f74add8b32 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float32-array-nan.js @@ -0,0 +1,20 @@ +function foo(o) { + return o[0]; +} + +noInline(foo); + +function test(a, x) { + var intArray = new Int32Array(1); + intArray[0] = a; + var floatArray = new Float32Array(intArray.buffer); + var element = foo(floatArray); + var result = element + 1; + if (("" + result) != ("" + x)) + throw "Error: bad result for " + a + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array"; +} + +for (var i = 0; i < 100000; ++i) + test(0, 1); + +test(0xFFFF0000, 0/0); diff --git a/implementation-contributed/javascriptcore/stress/float32-array-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/float32-array-out-of-bounds.js new file mode 100644 index 0000000000..b50765d7c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float32-array-out-of-bounds.js @@ -0,0 +1,23 @@ +function foo(a) { + return a[42]; +} + +noInline(foo); + +var shortArray = new Float32Array(10); +var longArray = new Float32Array(100); + +function test(array, expected) { + var result = foo(array); + if (result != expected) + throw new Error("bad result: " + result); +} + +for (var i = 0; i < 1000; ++i) + test(shortArray, void 0); + +for (var i = 0; i < 100000; ++i) + test(longArray, 0); + +test(shortArray, void 0); + diff --git a/implementation-contributed/javascriptcore/stress/float32-repeat-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/float32-repeat-out-of-bounds.js new file mode 100644 index 0000000000..92f81c6368 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float32-repeat-out-of-bounds.js @@ -0,0 +1,17 @@ +//@ defaultNoEagerRun + +function foo(a) { + a[0] = 1; + a[1] = 2; + a[2] = 3; +} + +noInline(foo); + +var array = new Float32Array(1); + +for (var i = 0; i < 100000; ++i) + foo(array); + +if (reoptimizationRetryCount(foo)) + throw "Error: unexpected retry count: " + reoptimizationRetryCount(foo); diff --git a/implementation-contributed/javascriptcore/stress/float32array-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/float32array-out-of-bounds.js new file mode 100644 index 0000000000..02a02dda7d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float32array-out-of-bounds.js @@ -0,0 +1,29 @@ +function make(value) { + var result = new Float32Array(1); + result[0] = value; + return result; +} + +function foo(a, i) { + return a[i]; +} + +noInline(foo); + +function test(value) { + var result = foo(make(value), 0); + if (result != value) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(42); + +var result = foo(make(42), 1); +if (result !== void 0) + throw "Error: bad result: " + result; + +Float32Array.prototype[1] = 23; +result = foo(make(42), 1); +if (result !== 23) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/float64-array-nan-inlined.js b/implementation-contributed/javascriptcore/stress/float64-array-nan-inlined.js new file mode 100644 index 0000000000..582d0389a8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float64-array-nan-inlined.js @@ -0,0 +1,37 @@ +//@ defaultRun +//@ runNoJIT + +function foo(o) { + return o[0]; +} + +function isBigEndian() { + var word = new Int16Array(1); + word[0] = 1; + var bytes = new Int8Array(word.buffer); + return !bytes[0]; +} + +function test(a, b, x) { + var intArray = new Int32Array(2); + intArray[0] = a; + intArray[1] = b; + var floatArray = new Float64Array(intArray.buffer); + var element = foo(floatArray); + var result = element + 1; + if (("" + result) != ("" + x)) + throw "Error: bad result for " + a + ", " + b + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array"; +} + +noInline(test); + +for (var i = 0; i < 100000; ++i) + test(0, 0, 1); + +if (isBigEndian()) { + test(0xFFFF0000, 0, 0/0); + test(0, 0xFFFF0000, 1); +} else { + test(0xFFFF0000, 0, 1); + test(0, 0xFFFF0000, 0/0); +} diff --git a/implementation-contributed/javascriptcore/stress/float64-array-nan.js b/implementation-contributed/javascriptcore/stress/float64-array-nan.js new file mode 100644 index 0000000000..fd91baf81f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/float64-array-nan.js @@ -0,0 +1,34 @@ +function foo(o) { + return o[0]; +} + +noInline(foo); + +function isBigEndian() { + var word = new Int16Array(1); + word[0] = 1; + var bytes = new Int8Array(word.buffer); + return !bytes[0]; +} + +function test(a, b, x) { + var intArray = new Int32Array(2); + intArray[0] = a; + intArray[1] = b; + var floatArray = new Float64Array(intArray.buffer); + var element = foo(floatArray); + var result = element + 1; + if (("" + result) != ("" + x)) + throw "Error: bad result for " + a + ", " + b + ": " + result + ", but expected: " + x + "; loaded " + element + " from the array"; +} + +for (var i = 0; i < 100000; ++i) + test(0, 0, 1); + +if (isBigEndian()) { + test(0xFFFF0000, 0, 0/0); + test(0, 0xFFFF0000, 1); +} else { + test(0xFFFF0000, 0, 1); + test(0, 0xFFFF0000, 0/0); +} diff --git a/implementation-contributed/javascriptcore/stress/floating-point-div-to-mul.js b/implementation-contributed/javascriptcore/stress/floating-point-div-to-mul.js new file mode 100644 index 0000000000..6ce0503e03 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/floating-point-div-to-mul.js @@ -0,0 +1,216 @@ +function opaqueDivBy2(a) +{ + return a / 2; +} +noInline(opaqueDivBy2); + +function opaqueDivBy3(a) +{ + return a / 3; +} +noInline(opaqueDivBy3); + +function opaqueDivBy4(a) +{ + return a / 4; +} +noInline(opaqueDivBy4); + +function opaqueDivBySafeMaxMinusOne(a) +{ + // 2^1022 + return a / 44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304; +} +noInline(opaqueDivBySafeMaxMinusOne); + +function opaqueDivBySafeMax(a) +{ + // 2^1023 + return a / 89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608; +} +noInline(opaqueDivBySafeMax); + +function opaqueDivBySafeMaxPlusOne(a) +{ + // 2^1024 + return a / 179769313486231590772930519078902473361797697894230657273430081157732675805500963132708477322407536021120113879871393357658789768814416622492847430639474124377767893424865485276302219601246094119453082952085005768838150682342462881473913110540827237163350510684586298239947245938479716304835356329624224137216; +} +noInline(opaqueDivBySafeMaxPlusOne); + +function opaqueDivBySafeMin(a) +{ + // 2^-1022 + return a / (1 / 44942328371557897693232629769725618340449424473557664318357520289433168951375240783177119330601884005280028469967848339414697442203604155623211857659868531094441973356216371319075554900311523529863270738021251442209537670585615720368478277635206809290837627671146574559986811484619929076208839082406056034304); +} +noInline(opaqueDivBySafeMin); + +function opaqueDivBySafeMinMinusOne(a) +{ + // 2^-1023 + return a / (1 / 89884656743115795386465259539451236680898848947115328636715040578866337902750481566354238661203768010560056939935696678829394884407208311246423715319737062188883946712432742638151109800623047059726541476042502884419075341171231440736956555270413618581675255342293149119973622969239858152417678164812112068608); +} +noInline(opaqueDivBySafeMinMinusOne); + + +for (let i = 0; i < 1e4; ++i) { + let result = opaqueDivBy2(Math.PI); + if (result !== 1.5707963267948966) + throw "Failed opaqueDivBy2(Math.PI). Result = " + result; + result = opaqueDivBy2(NaN); + if (result === result) + throw "Failed opaqueDivBy2(NaN). Result = " + result; + result = opaqueDivBy2(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBy2(Infinity). Result = " + result; + result = opaqueDivBy2(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBy2(-Infinity). Result = " + result; + result = opaqueDivBy2(Math.E); + if (result !== 1.3591409142295225) + throw "Failed opaqueDivBy2(Math.E). Result = " + result; + + result = opaqueDivBy3(Math.PI); + if (result !== 1.0471975511965976) + throw "Failed opaqueDivBy3(Math.PI). Result = " + result; + result = opaqueDivBy3(NaN); + if (result === result) + throw "Failed opaqueDivBy3(NaN). Result = " + result; + result = opaqueDivBy3(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBy3(Infinity). Result = " + result; + result = opaqueDivBy3(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBy3(-Infinity). Result = " + result; + result = opaqueDivBy3(Math.E); + if (result !== 0.9060939428196817) + throw "Failed opaqueDivBy3(Math.E). Result = " + result; + + result = opaqueDivBy4(Math.PI); + if (result !== 0.7853981633974483) + throw "Failed opaqueDivBy4(Math.PI). Result = " + result; + result = opaqueDivBy4(NaN); + if (result === result) + throw "Failed opaqueDivBy4(NaN). Result = " + result; + result = opaqueDivBy4(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBy4(Infinity). Result = " + result; + result = opaqueDivBy4(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBy4(-Infinity). Result = " + result; + result = opaqueDivBy4(Math.E); + if (result !== 0.6795704571147613) + throw "Failed opaqueDivBy4(Math.E). Result = " + result; + + result = opaqueDivBySafeMaxMinusOne(Math.PI); + if (result !== 6.990275687580919e-308) + throw "Failed opaqueDivBySafeMaxMinusOne(Math.PI). Result = " + result; + result = opaqueDivBySafeMaxMinusOne(NaN); + if (result === result) + throw "Failed opaqueDivBySafeMaxMinusOne(NaN). Result = " + result; + result = opaqueDivBySafeMaxMinusOne(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMaxMinusOne(Infinity). Result = " + result; + result = opaqueDivBySafeMaxMinusOne(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBySafeMaxMinusOne(-Infinity). Result = " + result; + result = opaqueDivBySafeMaxMinusOne(Math.E); + if (result !== 6.048377836559378e-308) + throw "Failed opaqueDivBySafeMaxMinusOne(Math.E). Result = " + result; + + result = opaqueDivBySafeMax(Math.PI); + if (result !== 3.4951378437904593e-308) + throw "Failed opaqueDivBySafeMax(Math.PI). Result = " + result; + result = opaqueDivBySafeMax(NaN); + if (result === result) + throw "Failed opaqueDivBySafeMax(NaN). Result = " + result; + result = opaqueDivBySafeMax(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMax(Infinity). Result = " + result; + result = opaqueDivBySafeMax(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBySafeMax(-Infinity). Result = " + result; + result = opaqueDivBySafeMax(Math.E); + if (result !== 3.024188918279689e-308) + throw "Failed opaqueDivBySafeMax(Math.E). Result = " + result; + + result = opaqueDivBySafeMaxPlusOne(Math.PI); + if (result !== 0) + throw "Failed opaqueDivBySafeMaxPlusOne(Math.PI). Result = " + result; + result = opaqueDivBySafeMaxPlusOne(NaN); + if (result === result) + throw "Failed opaqueDivBySafeMaxPlusOne(NaN). Result = " + result; + result = opaqueDivBySafeMaxPlusOne(Infinity); + if (result === result) + throw "Failed opaqueDivBySafeMaxPlusOne(Infinity). Result = " + result; + result = opaqueDivBySafeMaxPlusOne(-Infinity); + if (result === result) + throw "Failed opaqueDivBySafeMaxPlusOne(-Infinity). Result = " + result; + result = opaqueDivBySafeMaxPlusOne(Math.E); + if (result !== 0) + throw "Failed opaqueDivBySafeMaxPlusOne(Math.E). Result = " + result; + + result = opaqueDivBySafeMin(Math.PI); + if (result !== 1.4119048864730642e+308) + throw "Failed opaqueDivBySafeMin(Math.PI). Result = " + result; + result = opaqueDivBySafeMin(NaN); + if (result === result) + throw "Failed opaqueDivBySafeMin(NaN). Result = " + result; + result = opaqueDivBySafeMin(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMin(Infinity). Result = " + result; + result = opaqueDivBySafeMin(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBySafeMin(-Infinity). Result = " + result; + result = opaqueDivBySafeMin(Math.E); + if (result !== 1.2216591454104522e+308) + throw "Failed opaqueDivBySafeMin(Math.E). Result = " + result; + + result = opaqueDivBySafeMinMinusOne(Math.PI); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMinMinusOne(Math.PI). Result = " + result; + result = opaqueDivBySafeMinMinusOne(NaN); + if (result === result) + throw "Failed opaqueDivBySafeMinMinusOne(NaN). Result = " + result; + result = opaqueDivBySafeMinMinusOne(Infinity); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMinMinusOne(Infinity). Result = " + result; + result = opaqueDivBySafeMinMinusOne(-Infinity); + if (result !== -Infinity) + throw "Failed opaqueDivBySafeMinMinusOne(-Infinity). Result = " + result; + result = opaqueDivBySafeMinMinusOne(Math.E); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMinMinusOne(Math.E). Result = " + result; +} + + +// Check that we don't do anything crazy with crazy types. +for (let i = 0; i < 1e3; ++i) { + let result = opaqueDivBy2(); + if (result === result) + throw "Failed opaqueDivBy2()"; + result = opaqueDivBy4(null); + if (result !== 0) + throw "Failed opaqueDivBy4(null)"; + result = opaqueDivBySafeMaxMinusOne("WebKit!"); + if (result === result) + throw "Failed opaqueDivBy4(null)"; + result = opaqueDivBySafeMin(""); + if (result !== 0) + throw "Failed opaqueDivBySafeMin('')"; + try { + result = opaqueDivBy2(Symbol()); + throw "Failed opaqueDivBy2(Symbol())"; + } catch (exception) { + if (exception != "TypeError: Cannot convert a symbol to a number") + throw "Wrong exception: " + exception; + } + result = opaqueDivBy4(true); + if (result !== 0.25) + throw "Failed opaqueDivBy4(true)"; + result = opaqueDivBySafeMaxMinusOne(false); + if (result !== 0) + throw "Failed opaqueDivBySafeMaxMinusOne(false)"; + result = opaqueDivBySafeMin({ valueOf: function() { return 42; }}); + if (result !== Infinity) + throw "Failed opaqueDivBySafeMin({ valueOf: function() { return 42; }})"; +} diff --git a/implementation-contributed/javascriptcore/stress/flush-after-force-exit-in-bytecodeparser-needs-to-update-argument-positions.js b/implementation-contributed/javascriptcore/stress/flush-after-force-exit-in-bytecodeparser-needs-to-update-argument-positions.js new file mode 100644 index 0000000000..a1e99ff8e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/flush-after-force-exit-in-bytecodeparser-needs-to-update-argument-positions.js @@ -0,0 +1,32 @@ +//@ runDefault("--useConcurrentGC=0", "--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20", "--maximumEvalCacheableSourceLength=150000", "--maxPerThreadStackUsage=1048576") + +function runNearStackLimit(f) { + function t() { + try { + return t(); + } catch (e) { + return f(); + } + } + return t(); +}; + +runNearStackLimit(() => { }); +runNearStackLimit(() => { }); + +function f2(a, b) { + 'use strict'; + try { + a.push(arguments[0] + arguments[2] + a + undefinedVariable); + } catch (e) { } +} + +try { + runNearStackLimit(() => { + return f2(1, 2, 3); + }); +} catch (e) {} + +try { + runNearStackLimit(); +} catch { } diff --git a/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul-branch.js b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul-branch.js new file mode 100644 index 0000000000..a9c6f01886 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul-branch.js @@ -0,0 +1,17 @@ +function foo(a, b) { + var value = $vm.dfgTrue() ? -0 : "foo"; + if (a * b == value) + return [$vm.dfgTrue(), true]; + return [$vm.dfgTrue(), false]; +} +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(1, 1); + if (result[1] !== false) + throw "Error: bad result: " + result; +} + +var result = foo(-1, 0); +if (result[1] !== true && result[0]) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul.js b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul.js new file mode 100644 index 0000000000..94fa137f16 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-mul.js @@ -0,0 +1,14 @@ +function foo(a, b) { + return a * b === -0; +} +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(1, 1); + if (result !== false) + throw "Error: bad result: " + result; +} + +var result = foo(-1, 0); +if (result !== true) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-or-zero.js b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-or-zero.js new file mode 100644 index 0000000000..b28ed691db --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof-or-zero.js @@ -0,0 +1,15 @@ +function foo(a, b) { + var c = a + b; + return (c | 0) == c; +} +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(1, 1); + if (result !== true) + throw "Error: bad result: " + result; +} + +var result = foo(1073741824, 1073741824); +if (result !== false) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof.js b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof.js new file mode 100644 index 0000000000..f9a2ee54b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-based-on-int32-proof.js @@ -0,0 +1,14 @@ +function foo(a, b) { + return a + b === 2147483648; +} +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(1, 1); + if (result !== false) + throw "Error: bad result: " + result; +} + +var result = foo(1073741824, 1073741824); +if (result !== true) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail-barely.js b/implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail-barely.js new file mode 100644 index 0000000000..f1a1398290 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail-barely.js @@ -0,0 +1,28 @@ +function foo(a, b) { + return [a, b]; +} + +function bar() { + return foo.apply(this, arguments); +} + +function baz() { + return bar(42); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(); + if (!(result instanceof Array)) + throw "Error: result is not an array."; + if (result.length != 2) + throw "Error: result doesn't have length 4."; + if (result[0] != 42) + throw "Error: first element is not 42: " + result[0]; + for (var j = 1; j < 2; ++j) { + if (result[j] !== void 0) + throw "Error: element " + j + " is not undefined: " + result[j]; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail.js b/implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail.js new file mode 100644 index 0000000000..f166f0f2ff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-load-varargs-arity-check-fail.js @@ -0,0 +1,29 @@ +function foo(a, b, c, d) { + return [a, b, c, d]; +} + +function bar() { + return foo.apply(this, arguments); +} + +function baz() { + return bar(42); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(); + if (!(result instanceof Array)) + throw "Error: result is not an array."; + if (result.length != 4) + throw "Error: result doesn't have length 4."; + if (result[0] != 42) + throw "Error: first element is not 42: " + result[0]; + for (var j = 1; j < 4; ++j) { + if (result[j] !== void 0) + throw "Error: element " + j + " is not undefined: " + result[j]; + } +} + + diff --git a/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js new file mode 100644 index 0000000000..0973369af1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-with-watchpoint.js @@ -0,0 +1,26 @@ +//@ defaultNoEagerRun + +function foo(o) { + return o.f; +} + +for (var i = 0; i < 100; ++i) { + var result = foo((i & 1) ? {f:1, g:2} : {g:1, f:2}); + if (result != 2 - (i & 1)) + throw "Error: bad result in warm-up loop for i = " + i + ": " + result; +} + +function bar(o) { + return o.g + effectful42() + foo(o); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar({f:i, g:i * 3}); + if (result != i * 4 + 42) + throw "Error: bad result for i = " + i + ": " + result; +} + +if (reoptimizationRetryCount(bar)) + throw "Error: reoptimized bar unexpectedly: " + reoptimizationRetryCount(bar); diff --git a/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js new file mode 100644 index 0000000000..e406102391 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check-new.js @@ -0,0 +1,42 @@ +function foo(o) { + return o.f; +} + +function bar(o) { + return o.g; +} + +function baz(o, p, q) { + var result = 0; + if (isFinalTier()) { + p = o; + q = o; + result += 10000; + } + result += foo(p); + result += bar(q); + return result; +} + +noInline(baz); + +for (var i = 0; i < 100000; ++i) { + var o, p, q; + var expected1; + var expected2; + o = {f:100, g:101}; + expected2 = 10000 + 100 + 101; + if (i & 1) { + p = {e:1, f:2, g:3}; + q = {e:4, f:5, g:6}; + expected1 = 2 + 6; + } else { + p = {f:7, g:8}; + q = {g:9, f:10}; + expected1 = 7 + 9; + } + var result = baz(o, p, q); + if (result != expected1 && result != expected2) + throw "Error: bad result: " + result + " (expected " + expected1 + " or " + expected2 + ")"; +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js new file mode 100644 index 0000000000..56c35a005e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset-without-folding-the-structure-check.js @@ -0,0 +1,50 @@ +function foo(o) { + return o.f; +} + +function fu(o) { + return o.e; +} + +function bar(f, o) { + return f(o); +} + +function baz(f, o) { + return f(o); +} + +for (var i = 0; i < 100; ++i) { + foo({f:1, e:2}); + foo({e:1, f:2}); + foo({d:1, e:2, f:3}); + fu({f:1, e:2}); + fu({e:1, f:2, g:3}); + fu({d:1, e:2, f:3, g:4}); +} + +for (var i = 0; i < 100; ++i) { + bar(foo, {f:1}); + bar(function() { }, null); + bar(function() { return 42; }, null); + baz(fu, {e:1}); + baz(function() { }, null); + baz(function() { return 42; }, null); +} + +(function(f, g, o, p) { + var result = 0; + var n = 1000000; + for (var i = 0; i < n; ++i) { + var q; + if (i == n - 1) + q = p; + else + q = o; + result += baz(g, q); + result += bar(f, q); + } + if (result != (n - 1) * (o.f + o.e) + 12 + 13) + throw "Error: bad result: " + result; +})(foo, fu, {f:42, e:2}, {e:12, f:13, g:14}); + diff --git a/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset.js b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset.js new file mode 100644 index 0000000000..34be8e9c8e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-multi-get-by-offset-to-get-by-offset.js @@ -0,0 +1,26 @@ +//@ defaultNoEagerRun + +function foo(o) { + return o.f; +} + +for (var i = 0; i < 100; ++i) { + var result = foo((i & 1) ? {f:1, g:2} : {g:1, f:2}); + if (result != 2 - (i & 1)) + throw "Error: bad result in warm-up loop for i = " + i + ": " + result; +} + +function bar(o) { + return o.g + foo(o); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar({f:i, g:i * 3}); + if (result != i * 4) + throw "Error: bad result for i = " + i + ": " + result; +} + +if (reoptimizationRetryCount(bar)) + throw "Error: reoptimized bar unexpectedly: " + reoptimizationRetryCount(bar); diff --git a/implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js b/implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js new file mode 100644 index 0000000000..0f3b8a1a0c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset-without-folding-the-structure-check.js @@ -0,0 +1,56 @@ +function foo(o) { + o.f = 1; +} + +function fu(o) { + o.e = 2; +} + +function bar(f, o) { + f(o); +} + +function baz(f, o) { + f(o); +} + +for (var i = 0; i < 100; ++i) { + foo({f:1, e:2}); + foo({e:1, f:2}); + foo({d:1, e:2, f:3}); + fu({f:1, e:2}); + fu({e:1, f:2, g:3}); + fu({d:1, e:2, f:3, g:4}); +} + +for (var i = 0; i < 100; ++i) { + bar(foo, {f:1}); + bar(function() { }, null); + bar(function() { return 42; }, null); + baz(fu, {e:1}); + baz(function() { }, null); + baz(function() { return 42; }, null); +} + +(function(f, g, o, p) { + var result = 0; + var n = 1000000; + for (var i = 0; i < n; ++i) { + var q; + if (i == n - 1) + q = p; + else + q = o; + baz(g, q); + bar(f, q); + } + if (o.e != 2) + throw "Error: bad value in o.e: " + o.e; + if (o.f != 1) + throw "Error: bad value in o.f: " + o.f; + if (p.e != 2) + throw "Error: bad value in p.e: " + p.e; + if (p.f != 1) + throw "Error: bad value in p.f: " + p.f; +})(foo, fu, {f:42, e:2}, {e:12, f:13, g:14}); + diff --git a/implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset.js b/implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset.js new file mode 100644 index 0000000000..8da82cf18c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-multi-put-by-offset-to-put-by-offset.js @@ -0,0 +1,40 @@ +function foo(o) { + o.f = (o.f | 0) + 42; +} + +function callFoo(o) { + return foo(o); +} + +noInline(callFoo); + +for (var i = 0; i < 10000; ++i) { + var object; + if ((i % 3) == 0) + object = {g:3}; + else if ((i % 3) == 1) + object = {f:1, g:2}; + else if ((i % 3) == 2) + object = {g:1, f:2}; + callFoo(object); + if (object.f != 42 + (i % 3)) + throw "Error: bad result for i = " + i + ": " + object.f; +} + +function bar(o) { + var result = o.f; + foo(o); + return result; +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var o = {f:42}; + var result = bar(o); + if (result != 42) + throw "Error: bad result at end: " + result; + if (o.f != 42 + 42) + throw "Error: bad o.f: " + o.f; +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-profiled-call-to-call.js b/implementation-contributed/javascriptcore/stress/fold-profiled-call-to-call.js new file mode 100644 index 0000000000..0ca898e318 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-profiled-call-to-call.js @@ -0,0 +1,24 @@ +function foo(f) { + if ($vm.dfgTrue()) + f = bar; + return f().f; +} + +noInline(foo); + +var object; +function bar() { + return object; +} + +function baz() { return {f:42}; }; + +object = {f:42}; +for (var i = 0; i < 1000; ++i) + foo((i & 1) ? bar : baz); + +object = {e:1, f:2}; +var result = foo(bar); +if (result != 2) + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/fold-to-double-constant-then-exit.js b/implementation-contributed/javascriptcore/stress/fold-to-double-constant-then-exit.js new file mode 100644 index 0000000000..8fa2327153 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-to-double-constant-then-exit.js @@ -0,0 +1,17 @@ +function foo(a, b) { + if ($vm.dfgTrue()) + a = b = 5.4; + var c = a + b; + if (isFinalTier()) + OSRExit(); + return c + 0.5; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1.4, 1.3); + if (result != 1.4 + 1.3 + 0.5 && result != 5.4 + 5.4 + 0.5) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-to-int52-constant-then-exit.js b/implementation-contributed/javascriptcore/stress/fold-to-int52-constant-then-exit.js new file mode 100644 index 0000000000..e3b4753766 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-to-int52-constant-then-exit.js @@ -0,0 +1,17 @@ +function foo(a, b) { + if ($vm.dfgTrue()) + a = b = 2000000000; + var c = a + b; + if (isFinalTier()) + OSRExit(); + return c + 42; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(2000000001, 2000000001); + if (result != 2000000001 + 2000000001 + 42 && result != 2000000000 + 2000000000 + 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-to-primitive-in-cfa.js b/implementation-contributed/javascriptcore/stress/fold-to-primitive-in-cfa.js new file mode 100644 index 0000000000..899a171203 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-to-primitive-in-cfa.js @@ -0,0 +1,14 @@ +function foo(x) { + if ($vm.dfgTrue()) + x = "hello"; + return x + " world"; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({toString:function() { return "foo" }}); + if (result != "foo world" && result != "hello world") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-to-primitive-to-identity-in-cfa.js b/implementation-contributed/javascriptcore/stress/fold-to-primitive-to-identity-in-cfa.js new file mode 100644 index 0000000000..277488ca97 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-to-primitive-to-identity-in-cfa.js @@ -0,0 +1,14 @@ +function foo(x, p) { + if ($vm.dfgTrue()) + x = p ? "hello" : "bar"; + return x + " world"; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({toString:function() { return "foo" }}, i & 1); + if (result != "foo world" && result != "hello world" && result != "bar world") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/fold-typed-array-properties.js b/implementation-contributed/javascriptcore/stress/fold-typed-array-properties.js new file mode 100644 index 0000000000..2d17d778bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fold-typed-array-properties.js @@ -0,0 +1,35 @@ +var a = new Int32Array(new ArrayBuffer(100), 4, 1); + +if (a.length != 1) + throw "Error: bad length (start): " + a.length; +if (a.byteOffset != 4) + throw "Error: bad offset (start): " + a.byteOffset; +if (a.byteLength != 4) + throw "Error: bad byte length (start): " + a.byteLength; + +function foo(when) { + var tmp = a.length; + if (tmp != 1) + throw "Error: bad length (" + when + "): " + tmp; + tmp = a.byteOffset; + if (tmp != 4) + throw "Error: bad offset (" + when + "): " + tmp; + tmp = a.byteLength; + if (tmp != 4) + throw "Error: bad byte length (" + when + "): " + tmp; +} + +for (var i = 0; i < 1000000; ++i) + foo("loop"); + +transferArrayBuffer(a.buffer); + +var didThrow = false; +try { + foo("after transfer"); +} catch (e) { + didThrow = true; +} + +if (!didThrow) + throw "Should have thrown."; diff --git a/implementation-contributed/javascriptcore/stress/for-in-array-mode.js b/implementation-contributed/javascriptcore/stress/for-in-array-mode.js new file mode 100644 index 0000000000..9002b940ad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-array-mode.js @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2015 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +var funcArgAndBodyStr = +"(arr) {" + "\n" + +" var sum = 0;" + "\n" + +" for (var i in arr)" + "\n" + +" sum += arr[i];" + "\n" + +" return sum;" + "\n" + +"}"; + +var testData = { + "ArrayWithUndecided": { in: [], out: 0 }, + "ArrayWithInt32": { in: [ 1, 2, 3 ], out: 6 }, + "ArrayWithContiguous": { in: [ "a", "b", "c" ], out: "0abc" }, + "ArrayWithDouble": { in: [10.25, 20.25, 30.25 ], out: 60.75 }, + "ArrayWithArrayStorage": { in: [ "a", "b", "c" ], out: "0abc1000" }, // The in array will be augmented below. + "ArrayWithSlowPutArrayStorage": { in: [ "a", "b", "c" ], out: "0abc10" }, // the in array will be augmented below. + + "NonArrayWithUndecided": { in: {}, out: 0 }, + "NonArrayWithInt32": { in: { "0":1, "1":2, "2":3 }, out: 6 }, + "NonArrayWithContiguous": { in: { "0":"a", "1":"b", "2":"c" }, out: "0abc" }, + "NonArrayWithDouble": { in: { "0":10.25, "1":20.25, "2":30.25 }, out: 60.75 }, + "NonArrayWithArrayStorage": { in: { "0":"a", "1":"b", "2":"c" }, out: "0abc1000" }, // The in obj will be augmented below. + "NonArrayWithSlowPutArrayStorage": { in: { "0":"a", "1":"b", "2":"c" }, out: "0abc10" }, // the in obj will be augmented below. +}; + + +var o = { a: 10 }; +Object.defineProperties(o, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +testData["ArrayWithArrayStorage"].in[1000] = 1000; +testData["ArrayWithSlowPutArrayStorage"].in.__proto__ = o; +testData["NonArrayWithArrayStorage"].in["1000"] = 1000; +testData["NonArrayWithSlowPutArrayStorage"].in.__proto__ = o; + +var numberOfFailures = 0; + +function test(name, data) { + eval("function " + name + funcArgAndBodyStr); + noInline(name); + + var failed = false; + var previousResult; + for (var i = 0; i < 10000; ++i) { + var expected = data.out; + var actual = eval(name + "(data.in)"); + + if ((actual != expected) && (actual != previousResult)) { + print("FAIL: " + name + ": expected: " + expected + ", actual: " + actual + ", starting @ loop iteration " + i); + previousResult = actual; + failed = true; + numberOfFailures++; + } + } +} + +for (name in testData) + test(name, testData[name]); + +if (numberOfFailures) + throw "Error: number of failures found: " + numberOfFailures; diff --git a/implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later-and-change-structure.js b/implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later-and-change-structure.js new file mode 100644 index 0000000000..1b087d52d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later-and-change-structure.js @@ -0,0 +1,18 @@ +function foo(o_) { + var o = o_; + var result = 0; + for (var s in o) { + result += o[s]; + if (result >= 3) + o = {0:1, 1:2, b:4, a:3}; + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({0:0, 1:1, a:2, b:3}); + if (result != 7) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later.js b/implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later.js new file mode 100644 index 0000000000..83115b4973 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-base-reassigned-later.js @@ -0,0 +1,18 @@ +function foo(o_) { + var o = o_; + var result = 0; + for (var s in o) { + result += o[s]; + if (result >= 3) + o = {0:1, 1:2, a:3, b:4}; + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({0:0, 1:1, a:2, b:3}); + if (result != 7) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/for-in-base-reassigned.js b/implementation-contributed/javascriptcore/stress/for-in-base-reassigned.js new file mode 100644 index 0000000000..09c87953b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-base-reassigned.js @@ -0,0 +1,17 @@ +function foo(o_) { + var o = o_; + var result = 0; + for (var s in o) { + result += o[s]; + o = {0:1, 1:2, a:3, b:4}; + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({0:0, 1:1, a:2, b:3}); + if (result != 9) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/for-in-capture-string-loop-var.js b/implementation-contributed/javascriptcore/stress/for-in-capture-string-loop-var.js new file mode 100644 index 0000000000..c92bf686f1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-capture-string-loop-var.js @@ -0,0 +1,22 @@ +(function() { + // Capture the loop variable and modify it inside the loop. + var foo = function() { + var captured; + var g = function() { + captured = "foo"; + }; + var sum = 0; + var o = {"foo": 1, "bar": 2}; + for (captured in o) { + g(); + sum += o[captured]; + } + return sum; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() != 2) + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-delete-during-iteration.js b/implementation-contributed/javascriptcore/stress/for-in-delete-during-iteration.js new file mode 100644 index 0000000000..5ad3566fd0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-delete-during-iteration.js @@ -0,0 +1,69 @@ +(function() { + // Remove a yet-to-be-visited indexed property during iteration. + var foo = function() { + var a = [1, 2, 3, 4, 5]; + var result = ""; + for (var p in a) { + if (p == 2) + delete a[3]; + result += a[p]; + } + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "1235") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + // Remove a yet-to-be-visited non-indexed property during iteration. + var foo = function() { + var o = {}; + o.x = "x"; + o.y = "y"; + o.z = "z"; + var result = ""; + for (var p in o) { + if (p == "x") { + delete o.y; + o.a = "a"; + } + result += o[p]; + } + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "xz") + throw new Error("bad result"); + } +})(); +(function() { + // Remove then re-add a property during iteration. + var foo = function() { + var A = function() {}; + A.prototype.x = "A.x"; + A.prototype.y = "A.y"; + var o = new A(); + o.z = "o.z"; + o.y = "o.y"; + o.x = "o.x"; + var result = ""; + for (var p in o) { + if (p == "z") + delete o.x; + if (p == "y") + o.x = "o.x"; + result += o[p]; + } + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "o.zo.yo.x") + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-invalidate-context-weird-assignments.js b/implementation-contributed/javascriptcore/stress/for-in-invalidate-context-weird-assignments.js new file mode 100644 index 0000000000..d111a75203 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-invalidate-context-weird-assignments.js @@ -0,0 +1,82 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +function test(f) { + noInline(f); + for (let i = 0; i < 1000; ++i) + f(); +} + +test(function() { + let o = {xx: 0}; + for (let i in o) { + for (i in [0, 1, 2]) { } + assert(typeof i === "string"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + for (var i of [0]) { } + assert(typeof i === "number"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + for ({i} of [{i: 0}]) { } + assert(typeof i === "number"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + ;({i} = {i: 0}); + assert(typeof i === "number"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + ;([i] = [0]); + assert(typeof i === "number"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + ;({...i} = {a:20, b:30}); + assert(typeof i === "object"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + eval("i = 0;"); + assert(typeof i === "number"); + assert(o[i] === undefined); + } +}); + +test(function() { + let o = {xx: 0}; + for (let i in o) { + var i = 0; + assert(typeof i === "number"); + assert(o[i] === undefined); + } +}); diff --git a/implementation-contributed/javascriptcore/stress/for-in-invalidation-for-any-write.js b/implementation-contributed/javascriptcore/stress/for-in-invalidation-for-any-write.js new file mode 100644 index 0000000000..7cbbbf2b2c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-invalidation-for-any-write.js @@ -0,0 +1,146 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + +function test(f) { + noInline(f); + for (let i = 0; i < 1000; ++i) + f(); +} + +test(function() { + let o = {xx: 42}; + for (let i in o) { + for (let j = 0; j < 2; j++) { + let r = o[i]; + if (i === "xx") + assert(r === 42); + i = function() { } + } + } +}); + +test(function() { + let o = {xx: 42}; + for (let i in {xx: 0}) { + for (let j = 0; j < 2; j++) { + let r = o[i]; + if (i === "xx") + assert(r === 42); + i = new Uint32Array([0, 1, 0x777777, 0, 0]); + } + } +}); + +test(function() { + let o = {xx: 42}; + for (let i in {xx: 0}) { + for (let j = 0; j < 2; j++) { + let r = o[i]; + if (i === "xx") + assert(r === 42); + ([i] = [new Uint32Array([0, 1, 0x777777, 0, 0])]); + } + } +}); + +test(function() { + let o = {xx: 42}; + for (let i in {xx: 0}) { + for (let j = 0; j < 2; j++) { + let r = o[i]; + if (i === "xx") + assert(r === 42); + ({xyz: i} = {xyz: new Uint32Array([0, 1, 0x777777, 0, 0])}); + } + } +}); + +test(function() { + let o = [1,2,3]; + let toStringCalls = 0; + let first; + let num = 0; + let total = 0; + for (let i in o) { + first = true; + for (let j = 0; j < 3; j++) { + let r = o[i]; + if (first) + assert(r === o[num]); + else + assert(r === undefined); + first = false; + i = { + toString() { + ++toStringCalls; + return "hello!"; + } + } + } + ++num; + } + + // Should be called twice per outer for-in loop. + assert(toStringCalls === o.length * 2); +}); + +test(function() { + let o = [1,2,3]; + let toStringCalls = 0; + let first; + let num = 0; + let total = 0; + for (let i in o) { + first = true; + for (let j = 0; j < 3; j++) { + let r = o[i]; + if (first) + assert(r === o[num]); + else + assert(r === undefined); + first = false; + ([i] = [{ + toString() { + ++toStringCalls; + return "hello!"; + } + }]); + } + ++num; + } + + // Should be called twice per outer for-in loop. + assert(toStringCalls === o.length * 2); +}); + +test(function() { + let o = [1,2,3]; + let toStringCalls = 0; + let first; + let num = 0; + let total = 0; + for (let i in o) { + first = true; + for (let j = 0; j < 3; j++) { + let r = o[i]; + if (first) + assert(r === o[num]); + else + assert(r === undefined); + first = false; + ({xyz: i} = {xyz: { + toString() { + ++toStringCalls; + return "hello!"; + } + }}); + } + ++num; + } + + // Should be called twice per outer for-in loop. + assert(toStringCalls === o.length * 2); +}); diff --git a/implementation-contributed/javascriptcore/stress/for-in-modify-int-loop-var.js b/implementation-contributed/javascriptcore/stress/for-in-modify-int-loop-var.js new file mode 100644 index 0000000000..82397bc264 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-modify-int-loop-var.js @@ -0,0 +1,21 @@ +(function() { + // Change integer value of the loop variable in the loop. + var foo = function() { + var a = [1, 2, 3]; + var sum = 0; + for (var i in a) { + i += 10; + sum += i; + } + return sum; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (typeof result !== "string") + throw new Error("result should have type string"); + if (result !== "0010110210") + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-modify-string-loop-var.js b/implementation-contributed/javascriptcore/stress/for-in-modify-string-loop-var.js new file mode 100644 index 0000000000..071a0860f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-modify-string-loop-var.js @@ -0,0 +1,19 @@ +(function() { + // Change string value of the loop variable in the loop. + var foo = function() { + var sum = 0; + var a = [1, 2, 3]; + a.foo = 42; + for (var i in a) { + i = "foo"; + sum += a[i]; + } + return sum; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() != 42 * 4) + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-of-const.js b/implementation-contributed/javascriptcore/stress/for-in-of-const.js new file mode 100644 index 0000000000..cead58f085 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-of-const.js @@ -0,0 +1,49 @@ +// Check that const variables can't be assigned to from for-in/for-of. +// https://bugs.webkit.org/show_bug.cgi?id=156673 + +expect_nothrow = function(why, f) { + f(); +} + +expect_throw = function(why, f) { + threw = false; + try { + f(); + } catch (e) { + if (e.toString() != "TypeError: Attempted to assign to readonly property.") + throw Error("expected a TypeError, got " + e.toString()); + threw = true; + } + if (!threw) + throw Error("expected to throw"); +} + +// for-in + +expect_nothrow("regular for-in", function() { for (x in [1,2,3]) x; }); +expect_nothrow("var for-in", function() { for (var x in [1,2,3]) x; }); +expect_nothrow("let for-in", function() { for (let x in [1,2,3]) x; }); +expect_nothrow("for-in with const variable", function() { for (const x in [1,2,3]) x; }); +expect_nothrow("for-in which never iterates", function() { const x = 20; for (x in []) x; }); + +expect_throw("for-in on const from func's scope", function() { const x = 20; for (x in [1,2,3]) x; }); +expect_throw("same, with intervening capture", function() { const x = 20; capture = function() { x; }; for (x in [1,2,3]) x; }); +expect_throw("same, iterating in capture", function() { const x = 20; capture = function() { for (x in [1,2,3]) x; }; capture(); }); + +// for-of + +expect_nothrow("regular for-of", function() { for (x of [1,2,3]) x; }); +expect_nothrow("var for-of", function() { for (var x of [1,2,3]) x; }); +expect_nothrow("let for-of", function() { for (let x of [1,2,3]) x; }); +expect_nothrow("for-of with const variable", function() { for (const x of [1,2,3]) x; }); +expect_nothrow("for-of which never iterates", function() { const x = 20; for (x of []) x; }); + +expect_throw("for-of on const from func's scope", function() { const x = 20; for (x of [1,2,3]) x; }); +expect_throw("same, with intervening capture", function() { const x = 20; capture = function() { x; }; for (x of [1,2,3]) x; }); +expect_throw("same, iterating in capture", function() { const x = 20; capture = function() { for (x of [1,2,3]) x; }; capture(); }); + +expect_throw("bad destructuring", function() { let arr = [{x:20}]; const x = 50; for ({x} of arr) x; }); +expect_nothrow("good destructuring", function() { let arr = [{x:20}]; const x = 50; for ({x : foo} of arr) x; }); +expect_nothrow("const good destructuring", function() { let arr = [{x:20}]; const x = 50; for (const {x} of arr) x; }); +expect_nothrow("let good destructuring", function() { let arr = [{x:20}]; const x = 50; for (let {x} of arr) x; }); +// Note: `var {x}` would shadow `const x` and therefore fail. diff --git a/implementation-contributed/javascriptcore/stress/for-in-postfix-ignored-index.js b/implementation-contributed/javascriptcore/stress/for-in-postfix-ignored-index.js new file mode 100644 index 0000000000..b7947eadde --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-postfix-ignored-index.js @@ -0,0 +1,14 @@ +//@ runDefault + +function foo(o) { + var result = 0; + for (var s in o) { + s++; + result += o[s]; + } + return result; +} + +var result = foo({f:42}); +if ("" + result != "NaN") + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/for-in-postfix-index.js b/implementation-contributed/javascriptcore/stress/for-in-postfix-index.js new file mode 100644 index 0000000000..0d59240f53 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-postfix-index.js @@ -0,0 +1,15 @@ +//@ runDefault + +function foo(o) { + var result = 0; + for (var s in o) { + var tmp = s++; + result += o[s]; + result += tmp; + } + return result; +} + +var result = foo({f:42}); +if ("" + result != "NaN") + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/for-in-prefix-index.js b/implementation-contributed/javascriptcore/stress/for-in-prefix-index.js new file mode 100644 index 0000000000..4f700fd0e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-prefix-index.js @@ -0,0 +1,12 @@ +//@ runDefault + +function foo(o) { + var result = 0; + for (var s in o) + result += o[--s]; + return result; +} + +var result = foo({f:42}); +if ("" + result != "NaN") + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/for-in-prototype-with-indexed-properties-should-prevent-caching.js b/implementation-contributed/javascriptcore/stress/for-in-prototype-with-indexed-properties-should-prevent-caching.js new file mode 100644 index 0000000000..8c3bfa6471 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-prototype-with-indexed-properties-should-prevent-caching.js @@ -0,0 +1,77 @@ +"use strict"; + +function assert(b) { + if (!b) + throw new Error; +} + + +function test1() { + function foo(o) { + let result = []; + for (let p in o) + result.push(p); + return result; + } + noInline(foo); + + let p = {}; + let x = {__proto__: p}; + p[0] = 25; + for (let i = 0; i < 20; ++i) { + let result = foo(x); + assert(result.length === 1); + assert(result[0] === "0"); + } + + p[1] = 30; + for (let i = 0; i < 20; ++i) { + let result = foo(x); + assert(result.length === 2); + assert(result[0] === "0"); + assert(result[1] === "1"); + } + + p[2] = {}; + for (let i = 0; i < 20; ++i) { + let result = foo(x); + assert(result.length === 3); + assert(result[0] === "0"); + assert(result[1] === "1"); + assert(result[2] === "2"); + } +} +test1(); + +function test2() { + function foo(o) { + let result = []; + for (let p in o) + result.push(p); + return result; + } + noInline(foo); + + let p = {}; + let x = {__proto__: p}; + for (let i = 0; i < 20; ++i) { + let result = foo(x); + assert(result.length === 0); + } + + p[0] = 30; + for (let i = 0; i < 20; ++i) { + let result = foo(x); + assert(result.length === 1); + assert(result[0] === "0"); + } + + p[1] = {}; + for (let i = 0; i < 20; ++i) { + let result = foo(x); + assert(result.length === 2); + assert(result[0] === "0"); + assert(result[1] === "1"); + } +} +test2(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-prototype.js b/implementation-contributed/javascriptcore/stress/for-in-prototype.js new file mode 100644 index 0000000000..d12a1bdd50 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-prototype.js @@ -0,0 +1,57 @@ +(function() { + // Iterate when the base object's properties shadow properties in the prototype chain. + var foo = function() { + var A = function() { }; + A.prototype.x = 42; + var o = new A(); + o.x = 43; + var result = ""; + for (var p in o) + result += o[p]; + return result; + }; + for (var i = 0; i < 10000; ++i) { + if (foo() !== "43") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + // Iterate when the prototype has the same range of indexed properties as the base object. + var foo = function() { + var A = function() {}; + A.prototype[0] = 42; + var a = new A(); + a[0] = 43; + var result = ""; + for (var p in a) + result += a[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "43") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + // Iterate when the prototype has indexed properties beyond the range of the base object. + var foo = function() { + var A = function() {}; + A.prototype[0] = 42; + A.prototype[1] = 3; + var a = new A(); + a[0] = 43; + var result = ""; + for (var p in a) + result += a[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "433") + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-proxy-target-changed-structure.js b/implementation-contributed/javascriptcore/stress/for-in-proxy-target-changed-structure.js new file mode 100644 index 0000000000..332755334a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-proxy-target-changed-structure.js @@ -0,0 +1,34 @@ +var createProxy = $vm.createProxy; + +var theO; + +function deleteAll() { + delete theO.a; + delete theO.b; + delete theO.c; + delete theO.d; + for (var i = 0; i < 10; ++i) + theO["i" + i] = 42; + theO.a = 11; + theO.b = 12; + theO.c = 13; + theO.d = 14; +} + +function foo(o_) { + var o = o_; + var result = 0; + for (var s in o) { + result += o[s]; + deleteAll(); + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(createProxy(theO = {a:1, b:2, c:3, d:4})); + if (result != 1 + 12 + 13 + 14) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/for-in-proxy.js b/implementation-contributed/javascriptcore/stress/for-in-proxy.js new file mode 100644 index 0000000000..81b5e27760 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-proxy.js @@ -0,0 +1,18 @@ +var createProxy = $vm.createProxy; + +function foo(o_) { + var o = o_; + var result = 0; + for (var s in o) { + result += o[s]; + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(createProxy({a:1, b:2, c:3, d:4})); + if (result != 1 + 2 + 3 + 4) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/for-in-shadow-prototype-property.js b/implementation-contributed/javascriptcore/stress/for-in-shadow-prototype-property.js new file mode 100644 index 0000000000..855ab085cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-shadow-prototype-property.js @@ -0,0 +1,22 @@ +(function() { + // Add a property to the base object that shadows a property in the prototype during iteration. + var foo = function() { + var A = function() {}; + A.prototype.x = "A.x"; + A.prototype.y = "A.y"; + var o = new A(); + var result = ""; + for (var p in o) { + if (p == "x") + o.y = "o.y"; + result += o[p]; + } + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "A.xo.y") + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-side-effects.js b/implementation-contributed/javascriptcore/stress/for-in-side-effects.js new file mode 100755 index 0000000000..f822eba881 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-side-effects.js @@ -0,0 +1,79 @@ +// Regression test for bug 179212 + +var p = { "a": {} }; + +var flag = 0; +var data = []; +var copy = []; + +var z = new Proxy({}, { + getPrototypeOf: function() { + if (flag == 2) { + data[0] = { "x": "I changed" }; + } + + if (flag == 1) { + flag = 2; + } + + return {"a": 1, "b": 2} + } +}); + +p.__proto__ = z; + +function reset() +{ + flag = 0; + data = [1.1, 2.2, 3.3]; + copy = []; +} + +function runTest(func) +{ + reset(); + + for (var i = 0; i < 0x10000; i++) + func(); + + flag = 1; + func(); + + if (copy[0].x != "I changed") + throw "Expected updated value for copy[0]"; +} + +function testWithoutFTL() +{ + function f() + { + data[0] = 2.2; + for(var d in p) { + copy[0] = data[0]; + copy[1] = data[1]; + copy[2] = data[2]; + } + } + + noFTL(f); + + runTest(f); +} + +function testWithFTL() +{ + function f() + { + data[0] = 2.2; + for(var d in p) { + copy[0] = data[0]; + copy[1] = data[1]; + copy[2] = data[2]; + } + } + + runTest(f); +} + +testWithoutFTL(); +testWithFTL(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-string.js b/implementation-contributed/javascriptcore/stress/for-in-string.js new file mode 100644 index 0000000000..44640e6c7f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-string.js @@ -0,0 +1,16 @@ +(function() { + // Iterate over characters in a string. + var o = "hello"; + var foo = function(o) { + var result = ""; + for (var s in o) + result += o[s]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo("hello") !== "hello") + throw new Error("incorrect result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-tests.js b/implementation-contributed/javascriptcore/stress/for-in-tests.js new file mode 100644 index 0000000000..a685489a2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-tests.js @@ -0,0 +1,211 @@ +(function() { + // Iterate over an array with normal indexed properties. + var foo = function() { + var a = [1, 2, 3, 4, 5]; + var sum = 0; + var result = ""; + for (var p in a) + result += a[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "12345") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + // Iterate over an object with normal non-indexed properties. + var foo = function() { + var o = {}; + o.x = 1; + o.y = 2; + o.z = 3; + var result = ""; + for (var p in o) + result += o[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "123") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + // Iterate over an object with both indexed and non-indexed properties. + var foo = function() { + var o = {}; + o.x = 1; + o.y = 2; + o.z = 3; + o[0] = 4; + o[1] = 5; + o[2] = 6; + var result = ""; + for (var p in o) + result += o[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() != "456123") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + // Iterate over an array with both indexed and non-indexed properties. + var foo = function() { + var a = [4, 5, 6]; + a.x = 1; + a.y = 2; + a.z = 3; + var result = ""; + for (var p in a) + result += a[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "456123") + throw new Error("bad result"); + } + foo(null); +})(); +(function() { + var foo = function(a, b) { + for (var p in b) { + var f1 = a[p]; + var f2 = b[p]; + if (f1 === f2) + continue; + a[p] = b[p]; + } + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + var o1 = {}; + var o2 = {}; + o2.x = 42; + o2.y = 53; + foo(o1, o2); + if (o1.x !== o2.x) + throw new Error("bad result: " + o1.x + "!==" + o2.x); + if (o1.y !== o2.y) + throw new Error("bad result: " + o1.y + "!==" + o2.y); + } +})(); + +(function() { + var foo = function(a, b) { + for (var p = b in a) {} + return p; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + var expected = 'expected-result'; + var result = foo({}, expected); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } + for (var i = 0; i < 10000; ++i) { + var expected = 'a'; + var result = foo({a:'abcd'}, expected); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } + for (var i = 0; i < 10000; ++i) { + var expected = 'b'; + var result = foo({a:'abcd', b: 'bcde'}, expected); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } + + for (var i = 0; i < 10000; ++i) { + var expected = 'c'; + var o = {a:'abcd', b: 'bcde'}; + o.c = 'cdef'; + var result = foo(o, expected); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } +})(); + +(function() { + var boo = function () { return 'expected-result'; }; + var foo = function(a) { + for (var p = boo() in a) {} + return p; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + var expected = 'expected-result'; + var result = foo({}); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } +})(); + +(function() { + var foo = function(a, b, first) { + { + let p = 'some-value'; + for (var p = b in a) {} + if (first) + return p; + } + return p; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + var expected = 'expected-result'; + var result = foo({}, expected, true); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } + for (var i = 0; i < 10000; ++i) { + var expected = 'expected-result'; + var result = foo({}, expected, false); + if (typeof result !== 'undefined') + throw new Error("bad result: " + result + "!== undefined"); + } +})(); + +(function() { + var foo = function(a, b, c) { + for (var p = b + c in a) {} + return p; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + var expected = 'expected-result'; + var result = foo({}, 'expected', '-result'); + if (expected !== result) + throw new Error("bad result: " + result + "!==" + expected); + } +})(); + +(function() { + var error = false; + try { + eval("(function() { 'use strict'; for (var i = 0 in {}) {}})()"); + } catch(e) { + error = e instanceof SyntaxError; + } + if (!error) + throw new Error("Expected SyntaxError error"); +})(); + +(function() { + var error = false; + try { + eval("(function() { const i = 10; for (var i = 0 in {}) {}})()"); + } catch(e) { + error = e instanceof SyntaxError; + } + if (!error) + throw new Error("Expected SyntaxError error"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-in-typed-array.js b/implementation-contributed/javascriptcore/stress/for-in-typed-array.js new file mode 100644 index 0000000000..08f8828b96 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-in-typed-array.js @@ -0,0 +1,18 @@ +(function() { + // Iterate over typed arrays. + var foo = function() { + var a = new Uint8Array(5); + for (var i = 0; i < a.length; ++i) + a[i] = i; + var result = ""; + for (var p in a) + result += a[p]; + return result; + }; + noInline(foo); + for (var i = 0; i < 10000; ++i) { + if (foo() !== "01234") + throw new Error("bad result"); + } + foo(null); +})(); diff --git a/implementation-contributed/javascriptcore/stress/for-let-comma.js b/implementation-contributed/javascriptcore/stress/for-let-comma.js new file mode 100644 index 0000000000..73c2e7c246 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/for-let-comma.js @@ -0,0 +1,16 @@ +function foo() { + var array = []; + for (let x = 0, []; x < 10; ++x) { array.push(x); } + return array; +} + +var result = foo(); +if (result.length != 10) + throw "Error: bad length: " + result.length; +for (var i = 0; i < 10; ++i) { + if (result[i] != i) + throw "Error: bad entry at i = " + i + ": " + result[i]; +} +if (result.length != 10) + throw "Error: bad length: " + result.length; + diff --git a/implementation-contributed/javascriptcore/stress/force-exit-then-eval-dfg.js b/implementation-contributed/javascriptcore/stress/force-exit-then-eval-dfg.js new file mode 100644 index 0000000000..5798086cc3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/force-exit-then-eval-dfg.js @@ -0,0 +1,14 @@ +function foo(a, b, string) +{ + OSRExit(); + return eval(string); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 2, "a + b + 1"); + if (result != 1 + 2 + 1) + throw "Error: bad result in loop: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/force-exit-then-eval.js b/implementation-contributed/javascriptcore/stress/force-exit-then-eval.js new file mode 100644 index 0000000000..b3fd93d378 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/force-exit-then-eval.js @@ -0,0 +1,23 @@ +var flag = true; +flag = false; + +function foo(a, b, string) +{ + var x = a + b; + if (flag) + return eval(string); + return 42; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 2, "x + 1"); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +flag = true; +var result = foo(1, 2, "x - 1"); +if (result != 1 + 2 - 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/forward-varargs-double-new-array-buffer.js b/implementation-contributed/javascriptcore/stress/forward-varargs-double-new-array-buffer.js new file mode 100644 index 0000000000..48fd783f9f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/forward-varargs-double-new-array-buffer.js @@ -0,0 +1,33 @@ +"use strict"; + +function assert(b, m="") { + if (!b) + throw new Error("Bad assertion: " + m); +} +noInline(assert); + +function test() { + function baz(...args) { + return args; + } + function bar(...args) { + return baz(...args); + } + function foo(a, b, c, ...args) { + return bar(...args, a, ...[0.5, 1.5, 2.5]); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 5); + let [a, b, c, d, e] = r; + assert(a === i+3); + assert(b === i); + assert(c === 0.5); + assert(d === 1.5); + assert(e === 2.5); + } +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/forward-varargs-for-inlined-escaped-arguments.js b/implementation-contributed/javascriptcore/stress/forward-varargs-for-inlined-escaped-arguments.js new file mode 100644 index 0000000000..6d2aed01fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/forward-varargs-for-inlined-escaped-arguments.js @@ -0,0 +1,21 @@ +function foo() { + return arguments; +} + +function baz(a, b, c) { + return a + b + c; +} + +function bar(a, b, c) { + var args = foo(b, c, 42); + return baz.apply(void 0, args); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(1, 2, 3); + if (result != 47) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/freeze-and-seal-should-prevent-extensions.js b/implementation-contributed/javascriptcore/stress/freeze-and-seal-should-prevent-extensions.js new file mode 100644 index 0000000000..6fc6c6dd41 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/freeze-and-seal-should-prevent-extensions.js @@ -0,0 +1,51 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + "use strict"; + + var object = { + Cocoa: 'Cocoa', + Cappuccino: 'Cappuccino' + }; + + object.Matcha = 'Matcha'; + shouldBe(object.Matcha, 'Matcha'); + Object.freeze(object); + shouldBe(object.Matcha, 'Matcha'); + shouldBe(Reflect.isExtensible(object), false); + shouldThrow(() => object.Mocha = 'Mocha', `TypeError: Attempted to assign to readonly property.`); +}()); + +(function () { + "use strict"; + + var object = { + Cocoa: 'Cocoa', + Cappuccino: 'Cappuccino' + }; + + object.Matcha = 'Matcha'; + shouldBe(object.Matcha, 'Matcha'); + Object.seal(object); + shouldBe(object.Matcha, 'Matcha'); + shouldBe(Reflect.isExtensible(object), false); + shouldThrow(() => object.Mocha = 'Mocha', `TypeError: Attempted to assign to readonly property.`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/freeze-setter.js b/implementation-contributed/javascriptcore/stress/freeze-setter.js new file mode 100644 index 0000000000..e43caf1d26 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/freeze-setter.js @@ -0,0 +1,20 @@ +//@ runDefault + +"use strict"; + +let x; + +let o = { + set foo(value) + { + x = value; + } +}; + +Object.freeze(o); + +o.foo = 42; + +if (x != 42) + throw "Error: bad result: " + x; + diff --git a/implementation-contributed/javascriptcore/stress/freeze_leek.js b/implementation-contributed/javascriptcore/stress/freeze_leek.js new file mode 100644 index 0000000000..a171e496f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/freeze_leek.js @@ -0,0 +1,41 @@ +var o = Object.freeze([]), + leak = {}; + +try { + throw o; +} catch (ex) {} + +if(o.stack !== undefined) + throw new Error("the stack was leaked."); + +o.stack = leak; + +if(o.stack === leak) + throw new Error("the object wasn't frozen."); + +o.other = "wrong"; + +if(o.other === "wrong") + throw new Error("the object wasn't frozen."); + + +o = Object.freeze({"hi": "other"}); + +try { + throw o; +} catch (ex) {} +o.stack = leak; + + +if(o.stack !== undefined) + throw new Error("the stack was leaked."); + +o.stack = leak; + +if(o.stack === leak) + throw new Error("the object wasn't frozen."); + +o.other = "wrong"; + +if(o.other === "wrong") + throw new Error("the object wasn't frozen."); diff --git a/implementation-contributed/javascriptcore/stress/fromCharCode-exception-check.js b/implementation-contributed/javascriptcore/stress/fromCharCode-exception-check.js new file mode 100644 index 0000000000..328c06ed64 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fromCharCode-exception-check.js @@ -0,0 +1,8 @@ +// This shouldn't crash. + +try { + String.fromCharCode(Symbol(), new Proxy({}, { get() { } })); +} catch (e) { + if (!(e instanceof TypeError) || e.message !== "Cannot convert a symbol to a number") + throw new Error("bad error type or message" + e); +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-arithcos.js b/implementation-contributed/javascriptcore/stress/ftl-arithcos.js new file mode 100644 index 0000000000..3c3ced7457 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-arithcos.js @@ -0,0 +1,15 @@ +//@ skip if $hostOS == "windows" + +function foo(x) { + return Math.cos(x); +} + +noInline(foo); + +var j = 0; +for (var i = 0; i < 100000; ++i) + j = foo(i); + +if (-0.5098753724179009 != j){ + throw "Error" +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-arithsin.js b/implementation-contributed/javascriptcore/stress/ftl-arithsin.js new file mode 100644 index 0000000000..b559f4d490 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-arithsin.js @@ -0,0 +1,13 @@ +function foo(x) { + return Math.sin(x); +} + +noInline(foo); + +var j = 0; +for (var i = 0; i < 100000; ++i) + j = foo(i); + +if (0.860248280789742 != j){ + throw "Error" +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-arithsqrt.js b/implementation-contributed/javascriptcore/stress/ftl-arithsqrt.js new file mode 100644 index 0000000000..dbe01ce4b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-arithsqrt.js @@ -0,0 +1,13 @@ +function foo(x) { + return Math.sqrt(x); +} + +noInline(foo); + +var j = 0; +for (var i = 0; i < 100000; ++i) + j = foo(i); + +if ( 316.226184874055 != j){ + throw "Error" +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-arithtan.js b/implementation-contributed/javascriptcore/stress/ftl-arithtan.js new file mode 100644 index 0000000000..b936c6eccd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-arithtan.js @@ -0,0 +1,14 @@ +function foo(x) { + return Math.tan(x); +} + +noInline(foo); + +var expected = foo(100000 - 1); +var j = 0; +for (var i = 0; i < 100000; ++i) + j = foo(i); + +if (expected != j){ + throw `Error: ${j}`; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-bit-xor-right-result-interference.js b/implementation-contributed/javascriptcore/stress/ftl-bit-xor-right-result-interference.js new file mode 100644 index 0000000000..467bc11cae --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-bit-xor-right-result-interference.js @@ -0,0 +1,31 @@ +var toggle = 0; + +function bar() +{ + if (toggle ^= 1) + return 42; + else + return {valueOf: function() { return 42; }}; +} + +noInline(bar); + +function baz() +{ + return 7; +} + +noInline(baz); + +function foo() +{ + return bar() ^ baz(); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result != 45) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-bad-callee-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-call-bad-callee-exception-interesting-live-state.js new file mode 100644 index 0000000000..48ed5dc9cb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-bad-callee-exception-interesting-live-state.js @@ -0,0 +1,57 @@ +function foo(f, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = f(); + f = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, pf, x, result]}; + } + return {outcome: "return", values: [f, pf, x, result]}; +} + +noInline(foo); + +function bar() { + return 107; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result = foo("hello", {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== "hello") + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-call-exception-interesting-live-state.js new file mode 100644 index 0000000000..61a8a6e595 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-exception-interesting-live-state.js @@ -0,0 +1,60 @@ +function foo(f, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = f(); + f = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, pf, x, result]}; + } + return {outcome: "return", values: [f, pf, x, result]}; +} + +noInline(foo); + +function bar() { + return 107; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +bar = function() { + throw "Error42"; +} +var result = foo(bar, {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== bar) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-call-exception-no-catch.js new file mode 100644 index 0000000000..1b795fbd3d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-exception-no-catch.js @@ -0,0 +1,51 @@ +function foo(f, p) { + var x = 100; + var result = 101; + x = 102; + p = 103; + result = f(); + f = 104; + p = 105; + x = 106; + return {outcome: "return", values: [f, p, x, result]}; +} + +noInline(foo); + +function bar() { + return 107; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result; +try { + bar = function() { + throw "Error42"; + } + var result = foo(bar, 108); +} catch (e) { + if (e != "Error42") + throw "Error at end: bad exception: " + e; + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-exception.js b/implementation-contributed/javascriptcore/stress/ftl-call-exception.js new file mode 100644 index 0000000000..6893aa7fe3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-exception.js @@ -0,0 +1,59 @@ +function foo(f, p, args) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + result = f.apply(this, args); + f = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, p, x, result]}; + } + return {outcome: "return", values: [f, p, x, result]}; +} + +noInline(foo); + +function bar(a, b, c) { + return a + b + c; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, null, [105, 1, 1]); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +bar = function() { + throw "Error42"; +} +var result = foo(bar, 108, [105, 1, 1]); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== bar) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js new file mode 100644 index 0000000000..7b6d41e5b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-args-exception-interesting-live-state.js @@ -0,0 +1,60 @@ +// This failure will be resolved by https://bugs.webkit.org/show_bug.cgi?id=150279. +//@ skip + +function foo(f, p, args) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = f.apply(this, args); + f = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, pf, x, result]}; + } + return {outcome: "return", values: [f, pf, x, result]}; +} + +noInline(foo); + +function bar(a, b, c) { + return a + b + c; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, {g:200}, [105, 1, 1]); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result = foo(bar, {g:300}, 42); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== bar) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js new file mode 100644 index 0000000000..f60ac24af1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-bad-callee-exception-interesting-live-state.js @@ -0,0 +1,57 @@ +function foo(f, p, args) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = f.apply(this, args); + f = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, pf, x, result]}; + } + return {outcome: "return", values: [f, pf, x, result]}; +} + +noInline(foo); + +function bar(a, b, c) { + return a + b + c; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, {g:200}, [105, 1, 1]); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result = foo("hello", {g:300}, [105, 1, 1]); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== "hello") + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-interesting-live-state.js new file mode 100644 index 0000000000..35770c4be0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-interesting-live-state.js @@ -0,0 +1,60 @@ +function foo(f, p, args) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = f.apply(this, args); + f = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, pf, x, result]}; + } + return {outcome: "return", values: [f, pf, x, result]}; +} + +noInline(foo); + +function bar(a, b, c) { + return a + b + c; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, {g:200}, [105, 1, 1]); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +bar = function() { + throw "Error42"; +} +var result = foo(bar, {g:300}, [105, 1, 1]); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== bar) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-no-catch.js new file mode 100644 index 0000000000..6cac2c9a23 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception-no-catch.js @@ -0,0 +1,51 @@ +function foo(f, p, args) { + var x = 100; + var result = 101; + x = 102; + p = 103; + result = f.apply(this, args); + f = 104; + p = 105; + x = 106; + return {outcome: "return", values: [f, p, x, result]}; +} + +noInline(foo); + +function bar(a, b, c) { + return a + b + c; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar, null, [105, 1, 1]); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result; +try { + bar = function() { + throw "Error42"; + } + var result = foo(bar, 108, [105, 1, 1]); +} catch (e) { + if (e != "Error42") + throw "Error at end: bad exception: " + e; + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; diff --git a/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception.js b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception.js new file mode 100644 index 0000000000..76973eb992 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-call-varargs-exception.js @@ -0,0 +1,59 @@ +function foo(f, p) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + result = f(); + f = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [f, p, x, result]}; + } + return {outcome: "return", values: [f, p, x, result]}; +} + +noInline(foo); + +function bar() { + return 107; +} + +noInline(bar); + +// Warm up foo(). +for (var i = 0; i < 100000; ++i) { + var result = foo(bar); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +bar = function() { + throw "Error42"; +} +var result = foo(bar, 108); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== bar) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-checkin-variable.js b/implementation-contributed/javascriptcore/stress/ftl-checkin-variable.js new file mode 100644 index 0000000000..275f6b42c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-checkin-variable.js @@ -0,0 +1,17 @@ +function foo(l,x){ + var t = l in x; + return t; +} + +noInline(foo); + +var r; +for (var i = 0; i < 1000000; ++i) { + var z = { 'y' : i, 's' : i + 1 }; + z.s = 10; + r = foo("s",z); +} + +if (!r) { + print ("Error: " + r); +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-checkin.js b/implementation-contributed/javascriptcore/stress/ftl-checkin.js new file mode 100644 index 0000000000..8cbde8b1b2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-checkin.js @@ -0,0 +1,17 @@ +function foo(x){ + var t = "s" in x; + return t; +} + +noInline(foo); + +var r; +for (var i = 0; i < 1000000; ++i) { + var z = { 'y' : i, 's' : i + 1 }; + z.s = 10; + r = foo(z); +} + +if (!r) { + print ("Error: " + r); +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-force-osr-exit.js b/implementation-contributed/javascriptcore/stress/ftl-force-osr-exit.js new file mode 100644 index 0000000000..6fcfe53b43 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-force-osr-exit.js @@ -0,0 +1,21 @@ +function foo(p, o) { + var q = o.q; + if (p) + return q.f; + return q.g; +} + +noInline(foo); + +var o = {q: {f: 41, g: 42}}; + +for (var i = 0; i < 100000; ++i) { + var result = foo(false, o); + if (result != 42) + throw "Error: bad result: " + result; +} + +var result = foo(true, o); +if (result != 41) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-function-dot-arguments-with-callee-saves.js b/implementation-contributed/javascriptcore/stress/ftl-function-dot-arguments-with-callee-saves.js new file mode 100644 index 0000000000..89b1d69ada --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-function-dot-arguments-with-callee-saves.js @@ -0,0 +1,23 @@ +function baz() { + return foo.arguments; +} + +noInline(baz); + +function foo() { + return baz(); +} + +function bar(o, i) { + var x = o.f; + return [foo(1, 2, 3), x]; +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var a = bar({f:42}); + if (a.length != 2 || a[0].length != 3 || a[0][0] != 1 || a[0][1] != 2 || a[0][2] != 3 || a[1] != 42) + throw "Error: bad result: " + a; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-interesting-live-state.js new file mode 100644 index 0000000000..a7320ab1bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-interesting-live-state.js @@ -0,0 +1,61 @@ +function foo(o, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = o.f; + o = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, pf, x, result]}; + } + return {outcome: "return", values: [o, pf, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineGetter__("f", function() { + return 107; + }); + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var o = {}; +o.__defineGetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-no-catch.js new file mode 100644 index 0000000000..85f357a26b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception-no-catch.js @@ -0,0 +1,53 @@ +function foo(o, p) { + var x = 100; + var result = 101; + x = 102; + p = 103; + result = o.f; + o = 104; + p = 105; + x = 106; + return {outcome: "return", values: [o, p, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineGetter__("f", function() { + return 107; + }); + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result; +try { + var o = {}; + o.__defineGetter__("f", function() { + throw "Error42"; + }); + result = foo(o, 108); +} catch (e) { + if (e != "Error42") + throw "Error at end: bad exception: " + e; + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception.js b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception.js new file mode 100644 index 0000000000..38e732d916 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-getter-exception.js @@ -0,0 +1,60 @@ +function foo(o, p) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + result = o.f; + o = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, p, x, result]}; + } + return {outcome: "return", values: [o, p, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineGetter__("f", function() { + return 107; + }); + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var o = {}; +o.__defineGetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, 108); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-interesting-live-state.js new file mode 100644 index 0000000000..c8c14bc536 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-interesting-live-state.js @@ -0,0 +1,58 @@ +function foo(o, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = o.f; + o = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, pf, x, result]}; + } + return {outcome: "return", values: [o, pf, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects. +for (var i = 0; i < 100000; ++i) { + var o; + o = {f:107}; + o["i" + i] = i; // Make it polymorphic. + var result = foo(o, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var o = {}; +o.__defineGetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-no-catch.js new file mode 100644 index 0000000000..d19ab2e183 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception-no-catch.js @@ -0,0 +1,49 @@ +function foo(o, p) { + var x = 100; + var result = 101; + x = 102; + p = 103; + result = o.f; + o = 104; + p = 105; + x = 106; + return {outcome: "return", values: [o, p, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects. +for (var i = 0; i < 100000; ++i) { + var o; + o = {f:107}; + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var result; +try { + var o = {}; + o.__defineGetter__("f", function() { + throw "Error42"; + }); + result = foo(o, 108); +} catch (e) { + if (e != "Error42") + throw "Error at end: bad exception: " + e; + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception.js b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception.js new file mode 100644 index 0000000000..8dbfe6df63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-by-id-slow-exception.js @@ -0,0 +1,57 @@ +function foo(o, p) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + result = o.f; + o = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, p, x, result]}; + } + return {outcome: "return", values: [o, p, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects. +for (var i = 0; i < 100000; ++i) { + var o; + o = {f:107}; + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; +} + +// Now throw an exception. +var o = {}; +o.__defineGetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, 108); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js b/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js new file mode 100644 index 0000000000..1d4eeaf285 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined-and-not-inlined.js @@ -0,0 +1,27 @@ +function foo(i) { + return arguments[i]; +} + +function bar(i) { + return [arguments[i], foo(i, "one", 2, "three"), arguments[i]]; +} + +noInline(bar); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 10000; ++i) { + var thingies = [i % 4, "one", 2, "three"]; + var otherThingies = [i % 4, "five", 6, "seven"]; + var result = bar(i % 4, "five", 6, "seven"); + if (!arraycmp(result, [otherThingies[i % 4], thingies[i % 4], otherThingies[i % 4]])) + throw "Error: bad result for i = " + i + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined.js b/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined.js new file mode 100644 index 0000000000..99c82da79d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val-inlined.js @@ -0,0 +1,16 @@ +function foo(i) { + return arguments[i]; +} + +function bar(i) { + return foo(i, "one", 2, "three"); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var thingies = [i % 4, "one", 2, "three"]; + var result = bar(i % 4, "five", 6, "seven"); + if (result != thingies[i % 4]) + throw "Error: bad result for i = " + i + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val.js b/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val.js new file mode 100644 index 0000000000..a17825394e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-get-my-argument-by-val.js @@ -0,0 +1,12 @@ +function foo(i) { + return arguments[i]; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var thingies = [i % 4, "one", 2, "three"]; + var result = foo(i % 4, "one", 2, "three"); + if (result != thingies[i % 4]) + throw "Error: bad result for i = " + i + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength-inline.js b/implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength-inline.js new file mode 100644 index 0000000000..51806340ce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength-inline.js @@ -0,0 +1,9 @@ +function foo(){ + return arguments.length; +} + +for (var i = 0; i < 100000; ++i) { + var r = foo(11, 12, 13, 18, 19, 20); + if (r != 6) throw "Error: "+r; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength.js b/implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength.js new file mode 100644 index 0000000000..8f05ed2bdf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-getmyargumentslength.js @@ -0,0 +1,11 @@ +function foo(){ + return arguments.length; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var r = foo(11, 12, 13, 18, 19, 20); + if (r != 6) throw "Error: "+r; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-simple.js b/implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-simple.js new file mode 100644 index 0000000000..7529fc647e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-simple.js @@ -0,0 +1,12 @@ +function foo(x){ + return x.byteOffset +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var b = new Uint8Array(42, 0); + if (foo(b) != 0) + throw "error" +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-wasteful.js b/implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-wasteful.js new file mode 100644 index 0000000000..0694e4ccc2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-gettypedarrayoffset-wasteful.js @@ -0,0 +1,12 @@ +function foo(x){ + return x.byteOffset +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var b = new Uint8Array(new ArrayBuffer(42), 0); + if (foo(b) != 0) + throw "error" +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-has-a-bad-time.js b/implementation-contributed/javascriptcore/stress/ftl-has-a-bad-time.js new file mode 100644 index 0000000000..698b7e01f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-has-a-bad-time.js @@ -0,0 +1,18 @@ +function foo(p) { + return p ? [42] : null; +} + +noInline(foo); + +// Make sure we think that foo() allocates int arrays. +for (var i = 0; i < 100; ++i) + foo(true); + +// Now have a bad time. +var array = new Array(); +Array.prototype.__defineSetter__("0", function() { }); + +// Finally, get foo() to compile in the FTL. But don't allocate anymore arrays. +for (var i = 0; i < 100000; ++i) + foo(false); + diff --git a/implementation-contributed/javascriptcore/stress/ftl-in-overflow.js b/implementation-contributed/javascriptcore/stress/ftl-in-overflow.js new file mode 100644 index 0000000000..84ecd0385f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-in-overflow.js @@ -0,0 +1,13 @@ +function foo(o) { + return "foo" in o; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var o = {}; + o["i" + i] = 42; + o.foo = 43; + foo(o); +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-exception.js b/implementation-contributed/javascriptcore/stress/ftl-library-exception.js new file mode 100644 index 0000000000..41a9e34c3b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-exception.js @@ -0,0 +1,21 @@ +function foo(d){ + return Date.prototype.getTimezoneOffset.call(d); +} + +noInline(foo); + +var x; +var count = 100000; +var z = 0; +for (var i = 0 ; i < count; i++){ + try { + var q = foo(i < count - 10 ? new Date() : "a"); + x = false; + z = q; + } catch (e) { + x = true; + } +} + +if (!x) + throw "bad result: "+ x; diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-inline-gettimezoneoffset.js b/implementation-contributed/javascriptcore/stress/ftl-library-inline-gettimezoneoffset.js new file mode 100644 index 0000000000..8df8b128ca --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-inline-gettimezoneoffset.js @@ -0,0 +1,16 @@ +function foo(x, d){ + return x + d.getTimezoneOffset(); +} + +noInline(foo); + +var d = new Date(); +var expected = foo(0, d); +var count = 1000000; +var result = 0; +for (var i = 0 ; i < count; i++){ + result += foo(0, d); +} + +if (result != count * expected) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions-dataview.js b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions-dataview.js new file mode 100644 index 0000000000..f41b9ce241 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions-dataview.js @@ -0,0 +1,26 @@ +function foo(d){ + return d.getInt8(42); +} + +noInline(foo); + +var d = new DataView(new ArrayBuffer(43)); +d.setInt8(42, 43); +for (var i = 0; i < 100000; ++i) { + var result = foo(d); + if (result != 43) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 10; ++i) { + var didThrow = false; + try { + foo(new DataView(new ArrayBuffer(42))); + } catch (e) { + didThrow = true; + if (e.message.indexOf("Out of bounds") < 0) + throw "Error: bad exception: " + e.message; + } + if (!didThrow) + throw "Error: did not throw"; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions.js b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions.js new file mode 100644 index 0000000000..0b6516bca0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-exceptions.js @@ -0,0 +1,19 @@ +function foo(d){ + return Date.prototype.getTimezoneOffset.call(d); +} + +noInline(foo); + +var x; +var count = 100000; +for (var i = 0 ; i < count; i++){ + try { + foo(i < count - 1000 ? new Date() : "a"); + x = false; + } catch (e) { + x = true; + } +} + +if (!x) + throw "bad result: "+ x; \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-inlining-loops.js b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-loops.js new file mode 100644 index 0000000000..160fcb954b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-loops.js @@ -0,0 +1,28 @@ +function foo(){ + var count = 100; + var d = new DataView(new ArrayBuffer(count)); + + for (var i = 0; i < count / 4; i++){ + d.setInt32(i, i); + } + + for (var i = 0; i < count; i++){ + d.setInt8(i, i); + } + var result = 0; + for (var i = 0; i < count; i++){ + result += d.getInt8(i); + } + return result; +} + +noInline(foo); + +var r = 0; +for (var i = 0 ; i < 50000; i++){ + r += foo(); +} + +if (r != 247500000) + throw "Bad result: " + r; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-inlining-random.js b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-random.js new file mode 100644 index 0000000000..4b67803702 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-inlining-random.js @@ -0,0 +1,11 @@ +function foo(x){ + return Math.random(x); +} + +noInline(foo); + +var x = 0; + +for (var i = 0 ; i < 100000; i++){ + x = foo(i); +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-library-substring.js b/implementation-contributed/javascriptcore/stress/ftl-library-substring.js new file mode 100644 index 0000000000..2bc0532e1d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-library-substring.js @@ -0,0 +1,15 @@ +function foo(i, x){ + return x.substring( 2 , 5); +} + +noInline(foo); + +var x = ""; + +for (var i = 0 ; i < 100000; i++){ + x = foo(i, "lkajsx"); +} + +if (x != "ajs") + throw "Error: bad substring: "+ x; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-negate-zero.js b/implementation-contributed/javascriptcore/stress/ftl-negate-zero.js new file mode 100644 index 0000000000..516d851efa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-negate-zero.js @@ -0,0 +1,12 @@ +function foo(x) { + return -x; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(0); + if (1 / result != "-Infinity") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-new-negative-array-size.js b/implementation-contributed/javascriptcore/stress/ftl-new-negative-array-size.js new file mode 100644 index 0000000000..16fdc9366b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-new-negative-array-size.js @@ -0,0 +1,20 @@ +function foo(arg) { + try { + return new Array(arg); + } catch (e) { + return "error42"; + } +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1); + if (result.length != 1) + throw "Error: bad result: " + result; +} + +var result = foo(-1); +if (result != "error42") + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-operation-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-operation-exception-interesting-live-state.js new file mode 100644 index 0000000000..6f4ef2caf4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-operation-exception-interesting-live-state.js @@ -0,0 +1,63 @@ +function foo(o, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + result = o.f; + o = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, pf, x, result]}; + } + return {outcome: "return", values: [o, pf, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and non-object types. +for (var i = 0; i < 100000; ++i) { + var o; + var isObject = i & 1; + if (isObject) { + o = {f:107}; + o["i" + i] = i; // Make it polymorphic. + } else + o = 42; + var result = foo(o, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (isObject) { + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; + } else { + if (result.values[3] !== void 0) + throw "Error in loop: bad values[3]: " + result.values[3]; + } +} + +// Now throw an exception. +var result = foo(null, {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== null) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-operation-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-operation-exception-no-catch.js new file mode 100644 index 0000000000..50ec2e4140 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-operation-exception-no-catch.js @@ -0,0 +1,52 @@ +function foo(o, p) { + var x = 100; + var result = 101; + x = 102; + p = 103; + result = o.f; + o = 104; + p = 105; + x = 106; + return {outcome: "return", values: [o, p, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and non-object types. +for (var i = 0; i < 100000; ++i) { + var o; + var isObject = i & 1; + if (isObject) { + o = {f:107}; + o["i" + i] = i; // Make it polymorphic. + } else + o = 42; + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (isObject) { + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; + } else { + if (result.values[3] !== void 0) + throw "Error in loop: bad values[3]: " + result.values[3]; + } +} + +// Now throw an exception. +var result; +try { + result = foo(null, 108); +} catch (e) { + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; diff --git a/implementation-contributed/javascriptcore/stress/ftl-operation-exception.js b/implementation-contributed/javascriptcore/stress/ftl-operation-exception.js new file mode 100644 index 0000000000..a63c33c722 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-operation-exception.js @@ -0,0 +1,62 @@ +function foo(o, p) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + result = o.f; + o = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, p, x, result]}; + } + return {outcome: "return", values: [o, p, x, result]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and non-object types. +for (var i = 0; i < 100000; ++i) { + var o; + var isObject = i & 1; + if (isObject) { + o = {f:107}; + o["i" + i] = i; // Make it polymorphic. + } else + o = 42; + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 4) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (isObject) { + if (result.values[3] !== 107) + throw "Error in loop: bad values[3]: " + result.values[3]; + } else { + if (result.values[3] !== void 0) + throw "Error in loop: bad values[3]: " + result.values[3]; + } +} + +// Now throw an exception. +var result = foo(null, 108); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 4) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== null) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if (result.values[3] !== 101) + throw "Error at end: bad values[3]: " + result.values[3]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-interesting-live-state.js new file mode 100644 index 0000000000..444fc6f408 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-interesting-live-state.js @@ -0,0 +1,61 @@ +function foo(o, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + o.f = x + pf; + o = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, pf, x]}; + } + return {outcome: "return", values: [o, pf, x]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineSetter__("f", function(value) { + this._f = value; + }); + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 3) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (o._f != 102 + 201) + throw "Error in loop: bad value of o._f: " + o._f; +} + +// Now throw an exception. +var o = {}; +o.__defineSetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 3) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if ("_f" in o) + throw "Error at end: o has _f."; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-no-catch.js new file mode 100644 index 0000000000..278dcc9b72 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception-no-catch.js @@ -0,0 +1,54 @@ +function foo(o, p) { + var x = 100; + var result = 101; + x = 102; + p = 103; + o.f = x + p; + o = 104; + p = 105; + x = 106; + return {outcome: "return", values: [o, p, x]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineSetter__("f", function(value) { + this._f = value; + }); + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 3) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (o._f != 102 + 103) + throw "Error in loop: bad value of o._f: " + o._f; +} + +// Now throw an exception. +var result; +try { + var o = {}; + o.__defineSetter__("f", function() { + throw "Error42"; + }); + result = foo(o, 108); +} catch (e) { + if (e != "Error42") + throw "Error at end: bad exception: " + e; + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if ("_f" in o) + throw "Error at end: o has _f"; diff --git a/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception.js b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception.js new file mode 100644 index 0000000000..ea1fa8b5b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-setter-exception.js @@ -0,0 +1,60 @@ +function foo(o, p) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + o.f = x + p; + o = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, p, x]}; + } + return {outcome: "return", values: [o, p, x]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineSetter__("f", function(value) { + this._f = value; + }); + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 3) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (o._f != 102 + 103) + throw "Error in loop: bad value of o._f: " + o._f; +} + +// Now throw an exception. +var o = {}; +o.__defineSetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, 108); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 3) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; +if ("_f" in o) + throw "Error at end: o has _f."; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-interesting-live-state.js b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-interesting-live-state.js new file mode 100644 index 0000000000..6f59ed6c36 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-interesting-live-state.js @@ -0,0 +1,56 @@ +function foo(o, p) { + var x = 100; + var result = 101; + var pf = p.g; + try { + x = 102; + pf++; + o.f = x + pf; + o = 104; + pf++; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, pf, x]}; + } + return {outcome: "return", values: [o, pf, x]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 3) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (o.f != 102 + 201) + throw "Error in loop: bad value of o.f: " + o.f; +} + +// Now throw an exception. +var o = {}; +o.__defineSetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, {g:300}); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 3) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 301) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-no-catch.js b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-no-catch.js new file mode 100644 index 0000000000..ed8d492e96 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception-no-catch.js @@ -0,0 +1,51 @@ +function foo(o, p) { + var x = 100; + var result = 101; + var pf = p.g; + x = 102; + pf++; + o.f = x + pf; + o = 104; + pf++; + x = 106; + return {outcome: "return", values: [o, pf, x]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o, {g:200}); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 3) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 202) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (o.f != 102 + 201) + throw "Error in loop: bad value of o.f: " + o.f; +} + +// Now throw an exception. +var result; +try { + var o = {}; + o.__defineSetter__("f", function() { + throw "Error42"; + }); + result = foo(o, {g:300}); +} catch (e) { + if (e != "Error42") + throw "Error at end: bad exception: " + e; + result = {outcome: "exception"}; +} +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception.js b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception.js new file mode 100644 index 0000000000..3e1bb88a01 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-put-by-id-slow-exception.js @@ -0,0 +1,55 @@ + function foo(o, p) { + var x = 100; + var result = 101; + try { + x = 102; + p = 103; + o.f = x + p; + o = 104; + p = 105; + x = 106; + } catch (e) { + return {outcome: "exception", values: [o, p, x]}; + } + return {outcome: "return", values: [o, p, x]}; +} + +noInline(foo); + +// Warm up foo() with polymorphic objects and getters. +for (var i = 0; i < 100000; ++i) { + var o = {}; + if (i & 1) + o["i" + i] = i; // Make it polymorphic. + var result = foo(o); + if (result.outcome !== "return") + throw "Error in loop: bad outcome: " + result.outcome; + if (result.values.length !== 3) + throw "Error in loop: bad number of values: " + result.values.length; + if (result.values[0] !== 104) + throw "Error in loop: bad values[0]: " + result.values[0]; + if (result.values[1] !== 105) + throw "Error in loop: bad values[1]: " + result.values[1]; + if (result.values[2] !== 106) + throw "Error in loop: bad values[2]: " + result.values[2]; + if (o.f != 102 + 103) + throw "Error in loop: bad value of o.f: " + o.f; +} + +// Now throw an exception. +var o = {}; +o.__defineSetter__("f", function() { + throw "Error42"; +}); +var result = foo(o, 108); +if (result.outcome !== "exception") + throw "Error at end: bad outcome: " + result.outcome; +if (result.values.length !== 3) + throw "Error at end: bad number of values: " + result.values.length; +if (result.values[0] !== o) + throw "Error at end: bad values[0]: " + result.values[0]; +if (result.values[1] !== 103) + throw "Error at end: bad values[1]: " + result.values[1]; +if (result.values[2] !== 102) + throw "Error at end: bad values[2]: " + result.values[2]; + diff --git a/implementation-contributed/javascriptcore/stress/ftl-putbyid.js b/implementation-contributed/javascriptcore/stress/ftl-putbyid.js new file mode 100644 index 0000000000..9dfd9e4be6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-putbyid.js @@ -0,0 +1,13 @@ + +Object.prototype.__defineSetter__("r", function(val){ o = val }) + +function foo(x){ + var n = { } + n.r = x; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) + foo(i); + diff --git a/implementation-contributed/javascriptcore/stress/ftl-putbyiddirect.js b/implementation-contributed/javascriptcore/stress/ftl-putbyiddirect.js new file mode 100644 index 0000000000..b50ad0dcb2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-putbyiddirect.js @@ -0,0 +1,12 @@ +function foo(x){ + return { 0 : 1 , a : x } +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) + o = foo(i); + +if (o.a != 99999 || o[0] != 1) + throw "Error" + diff --git a/implementation-contributed/javascriptcore/stress/ftl-reallocatepropertystorage.js b/implementation-contributed/javascriptcore/stress/ftl-reallocatepropertystorage.js new file mode 100644 index 0000000000..ddebc8e9a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-reallocatepropertystorage.js @@ -0,0 +1,28 @@ +function foo(x){ + x.a0 = 0; + x.a1 = 1; + x.a2 = 2; + x.a3 = 3; + x.a4 = 4; + x.a5 = 5; + x.a6 = 6; + x.a7 = 7; + x.a8 = 8; + x.a9 = 9; + x.a10 = 10; +} + +noInline(foo); + +var c = {}; +for (var i = 0; i < 100000; ++i) { + var b = {}; + foo(b); + c = b; +} + +for (var j = 0; j <= 10 ; ++j) + if (c['a'+j] != j) + throw "Error "+c['a'+j]; + + diff --git a/implementation-contributed/javascriptcore/stress/ftl-regexp-exec.js b/implementation-contributed/javascriptcore/stress/ftl-regexp-exec.js new file mode 100644 index 0000000000..03149a9d71 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-regexp-exec.js @@ -0,0 +1,17 @@ +function foo(s) { + return /foo/.exec(s); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo("foo"); + if (!result) + throw "Error: bad result for foo"; + if (result.length != 1) + throw "Error: bad result for foo: " + result; + if (result[0] != "foo") + throw "Error: bad result for foo: " + result; + if (foo("bar")) + throw "Error: bad result for bar"; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-regexp-test.js b/implementation-contributed/javascriptcore/stress/ftl-regexp-test.js new file mode 100644 index 0000000000..da377a1ad7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-regexp-test.js @@ -0,0 +1,12 @@ +function foo(s) { + return /foo/.test(s); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + if (!foo("foo")) + throw "Error: bad result for foo"; + if (foo("bar")) + throw "Error: bad result for bar"; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-shr-exception.js b/implementation-contributed/javascriptcore/stress/ftl-shr-exception.js new file mode 100644 index 0000000000..5003d7ffd3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-shr-exception.js @@ -0,0 +1,19 @@ +function foo(a, b) { + try { + return a >> b; + } catch (e) { + return e; + } +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo((i & 1) ? 32 : "32", 2); + if (result !== 8) + throw "Error: bad result: " + result; +} + +var result = foo({valueOf: function() { throw "error42"; }}, 2); +if (result !== "error42") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/ftl-string-equality.js b/implementation-contributed/javascriptcore/stress/ftl-string-equality.js new file mode 100644 index 0000000000..3f803e6dce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-string-equality.js @@ -0,0 +1,35 @@ +function makeString(char) { + var result = ""; + for (var i = 0; i < 10; ++i) + result += char; + return result; +} + +var array = [ "a", "b", "c", "d" ]; + +for (var i = 0; i < array.length; ++i) + array[i] = makeString(array[i]); + +function foo(array, s) { + for (var i = 0; i < array.length; ++i) { + if (array[i] == s) + return i; + } + return null; +} + +noInline(foo); + +var array2 = [ "a", "b", "c", "d", "e" ]; + +for (var i = 0; i < array2.length; ++i) + array2[i] = makeString(array2[i]); + +for (var i = 0; i < 100000; ++i) { + var index = i % array2.length; + var result = foo(array, array2[index]); + var expected = index >= array.length ? null : index + if (result !== expected) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-string-ident-equality.js b/implementation-contributed/javascriptcore/stress/ftl-string-ident-equality.js new file mode 100644 index 0000000000..ccb36d839d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-string-ident-equality.js @@ -0,0 +1,18 @@ +var array = [ "a", "b", "c", "d" ]; + +function foo(array, s) { + for (var i = 0; i < array.length; ++i) { + if (array[i] == s) + return true; + } + return false; +} + +noInline(foo); + +var result = 0; +for (var i = 0; i < 100000; ++i) + result += foo(array, "d"); + +if (result != 100000) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/ftl-string-strict-equality.js b/implementation-contributed/javascriptcore/stress/ftl-string-strict-equality.js new file mode 100644 index 0000000000..043a7607a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-string-strict-equality.js @@ -0,0 +1,35 @@ +function makeString(char) { + var result = ""; + for (var i = 0; i < 10; ++i) + result += char; + return result; +} + +var array = [ "a", "b", "c", "d" ]; + +for (var i = 0; i < array.length; ++i) + array[i] = makeString(array[i]); + +function foo(array, s) { + for (var i = 0; i < array.length; ++i) { + if (array[i] === s) + return i; + } + return null; +} + +noInline(foo); + +var array2 = [ "a", "b", "c", "d", "e" ]; + +for (var i = 0; i < array2.length; ++i) + array2[i] = makeString(array2[i]); + +for (var i = 0; i < 100000; ++i) { + var index = i % array2.length; + var result = foo(array, array2[index]); + var expected = index >= array.length ? null : index + if (result !== expected) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-sub-exception.js b/implementation-contributed/javascriptcore/stress/ftl-sub-exception.js new file mode 100644 index 0000000000..6fb3471d9d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-sub-exception.js @@ -0,0 +1,19 @@ +function foo(a, b) { + try { + return a - b; + } catch (e) { + return e; + } +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo((i & 1) ? 32 : "32", 10); + if (result !== 22) + throw "Error: bad result: " + result; +} + +var result = foo({valueOf: function() { throw "error42"; }}, 10); +if (result !== "error42") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/ftl-switch-string-slow-duplicate-cases.js b/implementation-contributed/javascriptcore/stress/ftl-switch-string-slow-duplicate-cases.js new file mode 100644 index 0000000000..ec9db4cdf5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-switch-string-slow-duplicate-cases.js @@ -0,0 +1,31 @@ +function foo(s) { + switch (s) { + case "ƑẦǏŁ": + case "ÌŅ": + case "ṤĻŐⱲ": + case "ṔÄȚĦ": + return 42; + case "due": + case "to": + case "16-bit": + case "strings": + return 43; + default: + return 44; + } +} + +noInline(foo); + +function cat(a, b) { + return a + b; +} + +for (var i = 0; i < 10000; ++i) { + var result = foo(cat("16-", "bit")); + if (result != 43) + throw "Error: bad result (1): " + result; + result = foo("ƑẦǏŁ"); + if (result != 42) + throw "Error: bad result (2): " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js b/implementation-contributed/javascriptcore/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js new file mode 100644 index 0000000000..c2cbaa82da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-tail-call-throw-exception-from-slow-path-recover-stack-values.js @@ -0,0 +1,31 @@ +var theParent = function () { }; + +function test1() { + var base = class C extends theParent { + static getParentStaticValue() { + let arrow = (a,b,c) => super.getStaticValue(a,b,c); + return arrow(1,1,1); + } + }; + + for (let i = 0; i < 10000; i++) { + try { base.getParentStaticValue() } catch (e) {} + try { base.getParentStaticValue() } catch (e) {} + } +} +test1(); + +function test2() { + var base = class C extends theParent { + static getParentStaticValue() { + let arrow = () => super.getStaticValue(); + return arrow(); + } + }; + + for (let i = 0; i < 10000; i++) { + try { base.getParentStaticValue() } catch (e) {} + try { base.getParentStaticValue() } catch (e) {} + } +} +test2(); diff --git a/implementation-contributed/javascriptcore/stress/ftl-tail-call.js b/implementation-contributed/javascriptcore/stress/ftl-tail-call.js new file mode 100644 index 0000000000..c78269e368 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-tail-call.js @@ -0,0 +1,20 @@ +"use strict"; + +function foo(a, b, c) { + return a + b * 2 + c * 3; +} + +noInline(foo); + +function bar(a, b, c) { + return foo(a.f, b.g, c.h); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar({f: 4}, {g: 5}, {h: 6}); + if (result != 4 + 5 * 2 + 6 * 3) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/ftl-to-ftl-arity-fixup.js b/implementation-contributed/javascriptcore/stress/ftl-to-ftl-arity-fixup.js new file mode 100644 index 0000000000..19b9c9a106 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-to-ftl-arity-fixup.js @@ -0,0 +1,36 @@ +function foo(a, b, c) { + return (a|0) + (b|0) + (c|0); +} + +function bar(o) { + // Save a bunch of state in local variables. + var a = o.f; + var b = o.g; + var c = o.h; + var d = o.i; + var e = o.j; + var f = o.k; + var g = o.l; + // Make a call that will be subject to arity fixup and then use the saved state. We're + // counting on LLVM to put those variables in callee-saves, since that's pretty much the + // only sensible choice. + return foo(42) + a + b + c + d + e + f + g; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + // Call bar() in such a way that all of those callee-save variables have fairly unique + // looking values, to maximize the chances of foo() clobbering them in a recognizable + // way. + var result = bar({ + f:i * 3, g:i - 1, h:(i / 2)|0, i:-i, j:13 + ((i / 5)|0), k:14 - ((i / 6)|0), + l:1 - i}); + + var expected = 42 + i * 3 + i - 1 + ((i / 2)|0) - i + 13 + ((i / 5)|0) + 14 - + ((i / 6)|0) + 1 - i; + + if (result != expected) + throw "Error: for iteration " + i + " expected " + expected + " but got " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-arith-sub-exception.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-arith-sub-exception.js new file mode 100644 index 0000000000..c6c7185e59 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-arith-sub-exception.js @@ -0,0 +1,59 @@ +function assert(b) { + if (!b) + throw new Error("uh oh"); +} + +let flag = false; +let o = { + valueOf() { + if (flag) + throw new Error("by by"); + return 13.5; + } +}; +noInline(o.valueOf); + +function baz() { return 1.5; } +noInline(baz); + +function foo(x, o) { + let r = baz(); + try { + r = x - o - r; + } catch(e) { } + return r; +} +noInline(foo); + +let x = 20.5; +for (let i = 0; i < 10000; i++) { + assert(foo(x, o) === 5.5); +} +flag = true; +assert(foo(x, o) === 1.5); + + +function bar(x, o) { + let caughtException = false; + var r = null; + try { + // This tests aliasing of left/right with result register in a SubGenerator + // and ensures that the sub will spill the register properly and that we value + // recover properly. + r = x - o; + } catch(e) { + caughtException = true; + assert(r === null); + } + if (!caughtException) + assert(r === 7); + return caughtException; +} +noInline(bar); + +flag = false; +for (let i = 0; i < 10000; i++) { + assert(bar(x, o) === false); +} +flag = true; +assert(bar(x, o) === true); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js new file mode 100644 index 0000000000..08c99b8b88 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-ic-fail-to-call-operation-throw-error.js @@ -0,0 +1,49 @@ +function assert(b) { + if (!b) + throw new Error("bad value") +} +noInline(assert); + +let oThrow = { + x: 20, + y: 40, + z: 50, + get f() { throw new Error("Hello World!"); } +}; + +let o1 = { + x: 20, + f: 40 +}; + +let o2 = { + x: 20, + y: 50, + get f() { return 20; } +}; + +function foo(f) { + let o = f(); + try { + o = o.f; + } catch(e) { + assert(o === oThrow); // Make sure this is not undefined when we have an IC miss and an exception at the same time. + } +} +noInline(foo); + +let i; +let flag = false; +function f() { + if (flag) + return oThrow; + if (i % 2) + return o1; + return o2; +} +noInline(f); +for (i = 0; i < 100000; i++) { + foo(f); +} +flag = true; +foo(f); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js new file mode 100644 index 0000000000..79014a7d19 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw-interesting-value-recovery.js @@ -0,0 +1,65 @@ +function assert(b) { + if (!b) + throw new Error("bad value") +} +noInline(assert); + +function random() { + return "blah"; +} +noInline(random); + +function identity(x) { + return x; +} +noInline(identity); + +let o1 = { + g: 20, + y: 40, + f: "get f" +}; + +let o2 = { + g: "g", + y: "y", + get f() { + return "get f"; + } +} + +let o4 = {}; + +let o3 = { + get f() { + throw new Error("blah"); + } +} + +function foo(o, a) { + let x = o.g; + let y = o.y; + let oo = identity(o); + let j = random(); + try { + j = o.f; + } catch(e) { + assert(j === "blah"); + assert(oo === o3); + return x + y + 1; + } + return x + y; +} + +noInline(foo); +for (let i = 0; i < 100000; i++) { + if (i % 3 == 0) { + assert(foo(o1) === 60); + } else if (i % 3 === 1) { + assert(foo(o2) === "gy"); + } else { + foo(o4); + } +} + +foo(o3); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw.js new file mode 100644 index 0000000000..586a20a8d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-getter-throw.js @@ -0,0 +1,57 @@ +function assert(b) { + if (!b) + throw new Error("bad value") +} +noInline(assert); + +function random() { + return "blah"; +} +noInline(random); + +function foo(o, a) { + let x = o.g; + let y = o.y; + let j = random(); + try { + j = o.f; + } catch(e) { + assert(j === "blah"); + return x + y + 1; + } + return x + y; +} + +noInline(foo); +var flag = false; +function f(arg1, arg2, arg3) { + if (flag) + throw new Error("blah") + return arg1; +} +noInline(f); +let o1 = { + g: 20, + y: 40, + f: "get f" +}; + +let o2 = { + g: "g", + y: "y", + get f() { + if (flag) + throw new Error("blah"); + return "get f"; + } +} + +for (let i = 0; i < 100000; i++) { + if (i % 2) { + assert(foo(o1) === 60); + } else { + assert(foo(o2) === "gy"); + } +} +flag = true; +assert(foo(o2) === "gy1"); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-oom-error-lazy-slow-path.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-oom-error-lazy-slow-path.js new file mode 100644 index 0000000000..a8f2b18d17 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-oom-error-lazy-slow-path.js @@ -0,0 +1,69 @@ +forceGCSlowPaths(); // Force OOM error in FTL MakeRope to happen in a lazy slow path. + +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function a() { return "a"; } +noInline(a); +function b() { return "b"; } +noInline(b); +function c() { return "c"; } +noInline(c); +function d() { return "d"; } +noInline(d); +function e() { return "e"; } +noInline(e); +function f() { return "f"; } +noInline(f); +function g() { return "g"; } +noInline(g); + +let expString = "a"; +let exponentialBlowup = false; +let shouldBreak = false; +function foo(fun, left, right) { + let x = fun(); + let r = left + right; + + var _a = a(); + var _b = b(); + var _c = c(); + var _d = d(); + var _e = e(); + var _f = f(); + var _g = g(); + try { + expString = expString + expString; + } catch(e) { + shouldBreak = true; + + assert(_b === "b"); + assert(_c === "c"); + assert(_d === "d"); + assert(_e === "e"); + assert(_f === "f"); + assert(_g === "g"); + } + return x + r; +} +noInline(foo); + + + +function blah() { return "blah"; } +noInline(blah); + +for (let i = 0; i < 100000; i++) { + assert(foo(blah, "b", "a") === "blahba"); + if (!exponentialBlowup) + expString = "a"; +} + +exponentialBlowup = true; +while (true) { + assert(foo(blah, "a", "b") === "blahab"); + if (shouldBreak) + break; +} diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-patchpoint-with-volatile-registers.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-patchpoint-with-volatile-registers.js new file mode 100644 index 0000000000..753f21fd5a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-patchpoint-with-volatile-registers.js @@ -0,0 +1,73 @@ +function assert(b) { + if (!b) + throw new Error("Bad value.") +} +noInline(assert); + +var v1 = 100; +var v2 = 200; +var flag = false; +var o1 = { + get f() { + if (flag) + throw new Error("gotcha!"); + return v1; + } +} + +function a() { return "a"; } +noInline(a); +function b() { return "b"; } +noInline(b); +function c() { return "c"; } +noInline(c); +function d() { return "d"; } +noInline(d); +function e() { return "e"; } +noInline(e); +function f() { return "f"; } +noInline(f); +function g() { return "g"; } +noInline(g); + +var o2 = { + get f() { + assert(true); + assert(true); + assert(true); + assert(true); + assert(true); + assert(true); + assert(true); + return v2; + } +} + +function foo(o) { + try { + var _a = a(); + var _b = b(); + var _c = c(); + var _d = d(); + var _e = e(); + var _f = f(); + var _g = g(); + + o = o.f; + + } catch(e) { + assert(o === o1); + assert(_b === "b"); + assert(_c === "c"); + assert(_d === "d"); + assert(_e === "e"); + assert(_f === "f"); + assert(_g === "g"); + } +} +noInline(foo); + +for (var i = 0; i < 1000000; i++) + foo(i % 2 ? o1 : o2); +flag = true; +foo(o1); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-setter-throw.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-setter-throw.js new file mode 100644 index 0000000000..ae347d1792 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-setter-throw.js @@ -0,0 +1,46 @@ +function foo(o, a) { + let x = o.g; + let y = o.y; + try { + o.f = 20; + } catch(e) { + return x + y + 1; + } + return x + y; +} + +function assert(b) { + if (!b) + throw new Error("bad value") +} +noInline(assert); + +noInline(foo); +var flag = false; +function f(arg1, arg2, arg3) { + if (flag) + throw new Error("blah") + return arg1; +} +noInline(f); +let o1 = { + g: 20, + y: 40, + f: null +}; + +let o2 = { + g: "g", + y: "y", + set f(v) { if (flag) throw new Error("blah"); } +} + +for (let i = 0; i < 100000; i++) { + if (i % 2) { + assert(foo(o1) === 60); + } else { + assert(foo(o2) === "gy"); + } +} +flag = true; +assert(foo(o2) === "gy1"); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-tail-call-inilned-caller.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-tail-call-inilned-caller.js new file mode 100644 index 0000000000..3dfd0a66e2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-tail-call-inilned-caller.js @@ -0,0 +1,60 @@ +// This test ensures the TailCallInilnedCaller has the correct +// stack trace in the FTL inside a try block. +// This case arises when you have a situation like this: +// foo makes a call to bar, bar is inlined in foo. bar makes a call +// to baz and baz is inlined in bar. And then baz makes a tail-call to jaz, +// and jaz is inlined in baz. We want the callframe for jaz to appear to +// have caller be bar. + + +"use strict"; +function value() { + return "value"; +} +noInline(value); + +function assert(b) { + if (!b) + throw new Error("bad value"); +} +noInline(assert); + +function validate(stack) { + let arr = stack.split("\n"); + assert(arr[0].indexOf("jaz") !== -1); + assert(arr[1].indexOf("bar") !== -1); + assert(arr[2].indexOf("foo") !== -1); +} + +function foo() { + let v = value(); + try { + return bar() + 1; + } catch(e) { + assert(v === "value"); + validate(e.stack); + } +} +noInline(foo); + +function bar() { + return baz() + 1; +} + +function baz() { + return jaz(); +} + +let flag = false; +function jaz() { + if (flag) + throw new Error("lol"); + return 20; +} +noInline(jaz); + +for (var i = 0; i < 50000; i++) { + foo(); +} +flag = true; +foo(); diff --git a/implementation-contributed/javascriptcore/stress/ftl-try-catch-varargs-call-throws.js b/implementation-contributed/javascriptcore/stress/ftl-try-catch-varargs-call-throws.js new file mode 100644 index 0000000000..6cf84454d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-try-catch-varargs-call-throws.js @@ -0,0 +1,32 @@ +function foo(o, a) { + let resetFlag = false; + if (flag) { + resetFlag = true; + flag = false; + } + let x = o(10); + let y = o(20); + if (resetFlag) + flag = true; + try { + o.apply(null, a); + } catch(e) { + if (x !== 10) + throw new Error("Not 10") + return x + y; + } +} +noInline(foo); +var flag = false; +function f(arg1, arg2, arg3) { + if (flag) + throw new Error("blah") + return arg1; +} +noInline(f); + +for (let i = 0; i < 100000; i++) { + foo(f, [10, 20, 30]); +} +flag = true; +foo(f, [10, 20, 30]); diff --git a/implementation-contributed/javascriptcore/stress/ftl-xor-exception.js b/implementation-contributed/javascriptcore/stress/ftl-xor-exception.js new file mode 100644 index 0000000000..0038b5b8d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ftl-xor-exception.js @@ -0,0 +1,19 @@ +function foo(a, b) { + try { + return a ^ b; + } catch (e) { + return e; + } +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo((i & 1) ? 32 : "32", 10); + if (result !== 42) + throw "Error: bad result: " + result; +} + +var result = foo({valueOf: function() { throw "error42"; }}, 10); +if (result !== "error42") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/function-caller-async-arrow-function-body.js b/implementation-contributed/javascriptcore/stress/function-caller-async-arrow-function-body.js new file mode 100644 index 0000000000..fcaae9650e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-caller-async-arrow-function-body.js @@ -0,0 +1,26 @@ +//@ runDefault + +(function thingy() { + function bar() + { + return bar.caller; + } + + var ok = false; + var badError = null; + var foo = async () => { + try { + bar(); + ok = true; + } catch (e) { + if (e.toString() != "TypeError: Function.caller used to retrieve async function body") + badError = e; + } + } + + foo(); + if (ok) + throw "Error: did not throw error"; + if (badError) + throw "Bad error: " + badError; +})(); diff --git a/implementation-contributed/javascriptcore/stress/function-caller-async-function-body.js b/implementation-contributed/javascriptcore/stress/function-caller-async-function-body.js new file mode 100644 index 0000000000..9e3273c7ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-caller-async-function-body.js @@ -0,0 +1,27 @@ +//@ runDefault + +(function thingy() { + function bar() + { + return bar.caller; + } + + var ok = false; + var badError = null; + async function foo() + { + try { + bar(); + ok = true; + } catch (e) { + if (e.toString() != "TypeError: Function.caller used to retrieve async function body") + badError = e; + } + } + + foo(); + if (ok) + throw "Error: did not throw error"; + if (badError) + throw "Bad error: " + badError; +})(); diff --git a/implementation-contributed/javascriptcore/stress/function-caller-async-generator-body.js b/implementation-contributed/javascriptcore/stress/function-caller-async-generator-body.js new file mode 100644 index 0000000000..6801a2d3cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-caller-async-generator-body.js @@ -0,0 +1,27 @@ +//@ runDefault + +(function thingy() { + function bar() + { + return bar.caller; + } + + var ok = false; + var badError = null; + async function* foo() + { + try { + bar(); + ok = true; + } catch (e) { + if (e.toString() != "TypeError: Function.caller used to retrieve generator body") + badError = e; + } + } + + foo().next(); + if (ok) + throw "Error: did not throw error"; + if (badError) + throw "Bad error: " + badError; +})(); diff --git a/implementation-contributed/javascriptcore/stress/function-caller-generator-body.js b/implementation-contributed/javascriptcore/stress/function-caller-generator-body.js new file mode 100644 index 0000000000..8b9d10febf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-caller-generator-body.js @@ -0,0 +1,24 @@ +//@ runDefault + +(function thingy() { + function bar() + { + return bar.caller; + } + + function* foo() + { + bar(); + } + + var ok = false; + try { + foo().next(); + ok = true; + } catch (e) { + if (e.toString() != "TypeError: Function.caller used to retrieve generator body") + throw "Error: bad error: " + e; + } + if (ok) + throw "Error: did not throw error"; +})(); diff --git a/implementation-contributed/javascriptcore/stress/function-caller-generator-method-body.js b/implementation-contributed/javascriptcore/stress/function-caller-generator-method-body.js new file mode 100644 index 0000000000..1d837ee772 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-caller-generator-method-body.js @@ -0,0 +1,26 @@ +//@ runDefault + +(function thingy() { + function bar() + { + return bar.caller; + } + + class C { + *foo() + { + bar(); + } + } + + var ok = false; + try { + new C().foo().next(); + ok = true; + } catch (e) { + if (e.toString() != "TypeError: Function.caller used to retrieve generator body") + throw "Error: bad error: " + e; + } + if (ok) + throw "Error: did not throw error"; +})(); diff --git a/implementation-contributed/javascriptcore/stress/function-configurable-properties.js b/implementation-contributed/javascriptcore/stress/function-configurable-properties.js new file mode 100644 index 0000000000..1a10ca1588 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-configurable-properties.js @@ -0,0 +1,79 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error("Failed assertion: actual " + actual + " should be " + expected); +} +function shouldNotBe(actual, expected) { + if (actual === expected) + throw new Error("Failed assertion: actual " + actual + " should not be " + expected); +} + +function readX(f) { + return f.x; +} +noInline(readX); + +function readY(f) { + return f.y; +} +noInline(readY); + +var lazyPropNames = [ "name", "length" ]; + +function test(propName, foo) { + foo.x = 20; + for (var i = 0; i < 1000; i++) + shouldBe(readX(foo), 20); + + // Reify the lazy property. + var propValue = foo[propName]; + + // Verify that we can still access the property after the reification of foo.name. + for (var i = 0; i < 1000; i++) + shouldBe(readX(foo), 20); + + foo.y = 25; + for (var i = 0; i < 1000; i++) + shouldBe(readY(foo), 25); + + // Verify that the property has the configurable attribute. + var desc = Object.getOwnPropertyDescriptor(foo, propName); + shouldBe(desc.configurable, true); + shouldBe(desc.writable, false); + shouldBe(desc.enumerable, false); + shouldBe(desc.value, propValue); + + shouldBe(eval("foo[propName] = 5, foo[propName]"), propValue); + shouldBe(eval("foo." + propName + " = 5, foo." + propName), propValue); + for (var prop in foo) + shouldNotBe(prop, propName); + + Object.defineProperty(foo, propName, { + value: propValue, + writable: true, + enumerable: true, + configurable: true + }); + + shouldBe(eval("foo[propName] = 5, foo[propName]"), 5); + shouldBe(eval("foo." + propName + " = 25, foo." + propName), 25); + var found = false; + for (var prop in foo) { + if (prop === propName) { + found = true; + break; + } + } + shouldBe(found, true); + + shouldBe(eval("delete foo." + propName), true); + + delete foo.y; + shouldBe(foo.y, undefined); +} + +function runTest() { + for (var i = 0; i < lazyPropNames.length; i++) + test(lazyPropNames[i], new Function("")); +} + +runTest(); diff --git a/implementation-contributed/javascriptcore/stress/function-constructor-reading-from-global-lexical-environment.js b/implementation-contributed/javascriptcore/stress/function-constructor-reading-from-global-lexical-environment.js new file mode 100644 index 0000000000..8650900dcc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-constructor-reading-from-global-lexical-environment.js @@ -0,0 +1,133 @@ +function assert(b, m) { + if (!b) + throw new Error(m); +} + +function test(f, iters = 1000) { + noInline(f); + for (let i = 0; i < iters; i++) + f(i); +} + +const globalConst = {}; +class GlobalClass { } +let globalLet = {}; +let f = new Function("", "return globalConst;"); +test(function() { + assert(f() === globalConst); +}); + +f = new Function("", "return GlobalClass;"); +test(function() { + let ctor = f(); + assert(ctor === GlobalClass); + assert((new GlobalClass) instanceof GlobalClass); +}); + + +f = new Function("", "return globalLet;"); +test(function() { + assert(f() === globalLet); +}); + +f = new Function("prop", "x", "globalLet[prop] = x;"); +test(function(i) { + f(i, i); + assert(globalLet[i] === i); +}); + +f = new Function("prop", "x", "globalConst[prop] = x;"); +test(function(i) { + f(i, i); + assert(globalConst[i] === i); +}); + +f = new Function("", "globalConst = 25"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Attempted to assign to readonly property.") + } + assert(threw); +}); + +f = new Function("", "globalConst = 25"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Attempted to assign to readonly property.") + } + assert(threw); +}); + +f = new Function("", "constTDZ = 25"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable.") + } + assert(threw); +}); + +f = new Function("", "constTDZ;"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable.") + } + assert(threw); +}); + +f = new Function("", "letTDZ;"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable.") + } + assert(threw); +}); + +f = new Function("", "letTDZ = 20;"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable.") + } + assert(threw); +}); + +f = new Function("", "ClassTDZ"); +test(function() { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable.") + } + assert(threw); +}); + + +const constTDZ = 25; +let letTDZ = 25; +class ClassTDZ { } + diff --git a/implementation-contributed/javascriptcore/stress/function-constructor-semantics.js b/implementation-contributed/javascriptcore/stress/function-constructor-semantics.js new file mode 100644 index 0000000000..8b35be471f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-constructor-semantics.js @@ -0,0 +1,64 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +function hasSyntaxError(f) { + let threw = false; + try { + f(); + } catch(e) { + threw = e instanceof SyntaxError; + } + return threw; +} + +let functions = [ + Function, + (function*foo(){}).__proto__.constructor, + (async function foo(){}).__proto__.constructor, +]; + +function testError(...args) { + for (let f of functions) { + assert(hasSyntaxError(() => (f(...args)))); + } +} + +function testOK(...args) { + for (let f of functions) { + assert(!hasSyntaxError(() => (f(...args)))); + } +} + +testError("a", "b", "/*", ""); +testError("/*", "*/){"); +testError("a=super()", "body;"); +testError("a=super.foo", "body;"); +testError("super();"); +testError("super.foo;"); +testError("a", "b", "/*", ""); +testError("a", "'use strict'; let a;"); +testError("/*", "*/"); +testError("/*", "*/"); +testError("a=20", "'use strict';"); +testError("{a}", "'use strict';"); +testError("...args", "'use strict';"); +testError("...args", "b", ""); +testError("//", "b", ""); + +testOK("/*", "*/", ""); +testOK("a", "/*b", "*/", "'use strict'; let b"); +testOK("{a}", "return a;"); +testOK("a", "...args", ""); +testOK(""); +testOK("let a"); +testOK(undefined); +testOK("//"); + +let str = ""; +testOK({toString() { str += "1"; return "a"}}, {toString() { str += "2"; return "b"}}, {toString() { str += "3"; return "body;"}}); +let target = ""; +for (let i = 0; i < functions.length; ++i) + target += "123"; +assert(str === target); diff --git a/implementation-contributed/javascriptcore/stress/function-expression-exit.js b/implementation-contributed/javascriptcore/stress/function-expression-exit.js new file mode 100644 index 0000000000..e22c4796cd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-expression-exit.js @@ -0,0 +1,16 @@ +function foo(x) { + var tmp = x + 1; + return function() { return 42; } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42)(); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var result = foo(42.5)(); +if (result != 42) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/function-name-scope.js b/implementation-contributed/javascriptcore/stress/function-name-scope.js new file mode 100644 index 0000000000..a93e60f6b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-name-scope.js @@ -0,0 +1,40 @@ +function foo() { + return function bar(str) { + var barBefore = bar; + var result = eval(str); + return [ + barBefore, + bar, + function () { + return bar; + }, + result + ]; + } +} + +function check() { + var bar = foo(); + + function verify(result, barAfter, evalResult) { + if (result[0] !== bar) + throw "Error: bad first entry: " + result[0]; + if (result[1] !== barAfter) + throw "Error: bad first entry: " + result[1]; + var subResult = result[2](); + if (subResult !== barAfter) + throw "Error: bad second entry: " + result[2] + "; returned: " + subResult; + if (result[3] !== evalResult) + throw "Error: bad third entry: " + result[3] + "; expected: " + evalResult; + } + + verify(bar("42"), bar, 42); + verify(bar("bar"), bar, bar); + verify(bar("var bar = 42; function fuzz() { return bar; }; fuzz()"), 42, 42); +} + +// Execute check() more than once. At the time that we wrote this regression test, trunk would fail on +// the second execution. Executing 100 times would also gives us some optimizing JIT coverage. +for (var i = 0; i < 100; ++i) + check(); + diff --git a/implementation-contributed/javascriptcore/stress/function-reentry-infer-on-self.js b/implementation-contributed/javascriptcore/stress/function-reentry-infer-on-self.js new file mode 100644 index 0000000000..893ce91b62 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-reentry-infer-on-self.js @@ -0,0 +1,28 @@ +function thingy(f) { + f(); +} +noInline(thingy); + +function foo(a) { + var x; + if (a) + x = a; + thingy(function() { return x; }); + var result = 0; + for (var i = 0; i < 100000; ++i) + result += x; + return result; +} + +noInline(foo); + +for (var i = 0; i < 10; ++i) { + var result = foo(42); + if (result != 4200000) + throw "Error: bad first result: " + result; +} + +var result = foo(0); +if ("" + result != "NaN") + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/function-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/function-sinking-no-double-allocate.js new file mode 100644 index 0000000000..4f2f551386 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-sinking-no-double-allocate.js @@ -0,0 +1,28 @@ +function call(o) { o.x = 3; } +noInline(call); + +function sink (p, q) { + var f = function () { }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink(true, false); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/function-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/function-sinking-osrexit.js new file mode 100644 index 0000000000..7f33c7dd0c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-sinking-osrexit.js @@ -0,0 +1,21 @@ +function sink (p, q) { + var g = function(x) { return x; }; + if (p) { if (q) OSRExit(); return g; } + return function(x) { return x; }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, false); + var result = f(42); + if (result != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +var result = f(42); +if (result != 42) + throw "Error: expected 42 but got " + result; diff --git a/implementation-contributed/javascriptcore/stress/function-sinking-put.js b/implementation-contributed/javascriptcore/stress/function-sinking-put.js new file mode 100644 index 0000000000..deb9e6f374 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-sinking-put.js @@ -0,0 +1,28 @@ +function sink (p, q) { + var g = function(x) { return x; }; + if (p) { if (q) g.inner = 42; return g; } + return function(x) { return x; }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, true); + var result = f(42); + if (result != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink(true, false); +var result = f(12); +if (result != 12) + // This shouldn't matter as it should be either correct or completely crash + throw "Error: expected 12 but got " + result; + +// Check that the allocation did not sink beyond the property assignment +var f = sink(true, true); +var result = f.inner; +if (result != 42) + throw "Error: inner should be 42 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/function-toString-arrow.js b/implementation-contributed/javascriptcore/stress/function-toString-arrow.js new file mode 100644 index 0000000000..9a0f7d32ef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-toString-arrow.js @@ -0,0 +1 @@ +(async () => {}).toString(); diff --git a/implementation-contributed/javascriptcore/stress/function-with-defaults-inlining.js b/implementation-contributed/javascriptcore/stress/function-with-defaults-inlining.js new file mode 100644 index 0000000000..cb9ea17370 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-with-defaults-inlining.js @@ -0,0 +1,24 @@ +(function () { +'use strict'; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function ok(value) +{ + return value; +} + +function a(b = 42, c = 43, d) +{ + return c + ok(b); +} + +for (var i = 0; i < 1e4; ++i) { + shouldBe(a(), 85); + shouldBe(a(33), 76); + shouldBe(a(33, 22), 55); +} +}()); diff --git a/implementation-contributed/javascriptcore/stress/function-with-defaults-non-inlining.js b/implementation-contributed/javascriptcore/stress/function-with-defaults-non-inlining.js new file mode 100644 index 0000000000..dedcba5585 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/function-with-defaults-non-inlining.js @@ -0,0 +1,25 @@ +(function () { +'use strict'; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function ok(value) +{ + return value; +} + +function a(b = 42, c = 43, d) +{ + return c + ok(b); +} +noInline(a); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(a(), 85); + shouldBe(a(33), 76); + shouldBe(a(33, 22), 55); +} +}()); diff --git a/implementation-contributed/javascriptcore/stress/fused-jeq-slow.js b/implementation-contributed/javascriptcore/stress/fused-jeq-slow.js new file mode 100644 index 0000000000..8b34b3dcba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fused-jeq-slow.js @@ -0,0 +1,91 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)} ${String(expected)}`); +} + +function testJNEQ(a, b) +{ + if (a == b) { + return 42; + } + return 30; +} +noInline(testJNEQ); + +function testJEQ(a, b) +{ + if (a != b) { + return 42; + } + return 30; +} +noInline(testJEQ); + +function testJNEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a == b)); + return i; +} +noInline(testJNEQB); + +function testJEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a != b)); + return i; +} +noInline(testJEQB); + +function testJNEQF(a, b) +{ + var i = 0; + while (!(a == b)) + ++i; + return i; +} +noInline(testJNEQF); + +function testJEQF(a, b) +{ + var i = 0; + while (!(a != b)) + ++i; + return i; +} +noInline(testJEQF); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testJNEQ('hello', 'world'), 30); + shouldBe(testJEQ('hello', 'world'), 42); + shouldBe(testJNEQ('world', 'world'), 42); + shouldBe(testJEQ('world', 'world'), 30); + shouldBe(testJNEQ(20.5, 'world'), 30); + shouldBe(testJEQ(20.5, 'world'), 42); + + shouldBe(testJNEQ(20.5, 21.3), 30); + shouldBe(testJEQ(20.5, 21.3), 42); + shouldBe(testJNEQ(20.5, 20.5), 42); + shouldBe(testJEQ(20.5, 20.5), 30); + + shouldBe(testJNEQB(0, 0), 1); + shouldBe(testJEQB(0, 1), 1); + shouldBe(testJNEQB('hello', 'hello'), 1); + shouldBe(testJEQB('hello', 'world'), 1); + shouldBe(testJNEQB(20.4, 20.4), 1); + shouldBe(testJEQB('hello', 20.4), 1); + shouldBe(testJNEQB(0, -0), 1); + + shouldBe(testJNEQF(0, 0), 0); + shouldBe(testJEQF(0, 1), 0); + shouldBe(testJNEQF(20.4, 20.4), 0); + shouldBe(testJEQF(20.4, 10.5), 0); + shouldBe(testJNEQF(0, -0), 0); + shouldBe(testJEQF('hello', 10.5), 0); + shouldBe(testJNEQF('hello', 'hello'), 0); + shouldBe(testJEQF('hello', 'world'), 0); +} diff --git a/implementation-contributed/javascriptcore/stress/fused-jeq.js b/implementation-contributed/javascriptcore/stress/fused-jeq.js new file mode 100644 index 0000000000..234bf2d411 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fused-jeq.js @@ -0,0 +1,69 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)} ${String(expected)}`); +} + +function testJNEQ(a, b) +{ + if (a == b) { + return 42; + } + return 30; +} +noInline(testJNEQ); + +function testJEQ(a, b) +{ + if (a != b) { + return 42; + } + return 30; +} +noInline(testJEQ); + +function testJNEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a == b)); + return i; +} +noInline(testJNEQB); + +function testJEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a != b)); + return i; +} +noInline(testJEQB); + +function testJNEQF(a, b) +{ + var i = 0; + while (!(a == b)) + ++i; + return i; +} +noInline(testJNEQF); + +function testJEQF(a, b) +{ + var i = 0; + while (!(a != b)) + ++i; + return i; +} +noInline(testJEQF); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testJNEQ(0, 42), 30); + shouldBe(testJEQ(0, 42), 42); + shouldBe(testJNEQB(0, 0), 1); + shouldBe(testJEQB(0, 1), 1); + shouldBe(testJNEQF(0, 0), 0); + shouldBe(testJEQF(0, 1), 0); +} diff --git a/implementation-contributed/javascriptcore/stress/fused-jstricteq-slow.js b/implementation-contributed/javascriptcore/stress/fused-jstricteq-slow.js new file mode 100644 index 0000000000..3b321fec36 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fused-jstricteq-slow.js @@ -0,0 +1,91 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)} ${String(expected)}`); +} + +function testJNSTRICTEQ(a, b) +{ + if (a === b) { + return 42; + } + return 30; +} +noInline(testJNSTRICTEQ); + +function testJSTRICTEQ(a, b) +{ + if (a !== b) { + return 42; + } + return 30; +} +noInline(testJSTRICTEQ); + +function testJNSTRICTEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a === b)); + return i; +} +noInline(testJNSTRICTEQB); + +function testJSTRICTEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a !== b)); + return i; +} +noInline(testJSTRICTEQB); + +function testJNSTRICTEQF(a, b) +{ + var i = 0; + while (!(a === b)) + ++i; + return i; +} +noInline(testJNSTRICTEQF); + +function testJSTRICTEQF(a, b) +{ + var i = 0; + while (!(a !== b)) + ++i; + return i; +} +noInline(testJSTRICTEQF); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testJNSTRICTEQ('hello', 'world'), 30); + shouldBe(testJSTRICTEQ('hello', 'world'), 42); + shouldBe(testJNSTRICTEQ('world', 'world'), 42); + shouldBe(testJSTRICTEQ('world', 'world'), 30); + shouldBe(testJNSTRICTEQ(20.5, 'world'), 30); + shouldBe(testJSTRICTEQ(20.5, 'world'), 42); + + shouldBe(testJNSTRICTEQ(20.5, 21.3), 30); + shouldBe(testJSTRICTEQ(20.5, 21.3), 42); + shouldBe(testJNSTRICTEQ(20.5, 20.5), 42); + shouldBe(testJSTRICTEQ(20.5, 20.5), 30); + + shouldBe(testJNSTRICTEQB(0, 0), 1); + shouldBe(testJSTRICTEQB(0, 1), 1); + shouldBe(testJNSTRICTEQB('hello', 'hello'), 1); + shouldBe(testJSTRICTEQB('hello', 'world'), 1); + shouldBe(testJNSTRICTEQB(20.4, 20.4), 1); + shouldBe(testJSTRICTEQB('hello', 20.4), 1); + shouldBe(testJNSTRICTEQB(0, -0), 1); + + shouldBe(testJNSTRICTEQF(0, 0), 0); + shouldBe(testJSTRICTEQF(0, 1), 0); + shouldBe(testJNSTRICTEQF(20.4, 20.4), 0); + shouldBe(testJSTRICTEQF(20.4, 10.5), 0); + shouldBe(testJNSTRICTEQF(0, -0), 0); + shouldBe(testJSTRICTEQF('hello', 10.5), 0); + shouldBe(testJNSTRICTEQF('hello', 'hello'), 0); + shouldBe(testJSTRICTEQF('hello', 'world'), 0); +} diff --git a/implementation-contributed/javascriptcore/stress/fused-jstricteq.js b/implementation-contributed/javascriptcore/stress/fused-jstricteq.js new file mode 100644 index 0000000000..3e8fe6c25e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fused-jstricteq.js @@ -0,0 +1,69 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)} ${String(expected)}`); +} + +function testJNSTRICTEQ(a, b) +{ + if (a === b) { + return 42; + } + return 30; +} +noInline(testJNSTRICTEQ); + +function testJSTRICTEQ(a, b) +{ + if (a !== b) { + return 42; + } + return 30; +} +noInline(testJSTRICTEQ); + +function testJNSTRICTEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a === b)); + return i; +} +noInline(testJNSTRICTEQB); + +function testJSTRICTEQB(a, b) +{ + var i = 0; + do { + ++i; + } while (!(a !== b)); + return i; +} +noInline(testJSTRICTEQB); + +function testJNSTRICTEQF(a, b) +{ + var i = 0; + while (!(a === b)) + ++i; + return i; +} +noInline(testJNSTRICTEQF); + +function testJSTRICTEQF(a, b) +{ + var i = 0; + while (!(a !== b)) + ++i; + return i; +} +noInline(testJSTRICTEQF); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testJNSTRICTEQ(0, 42), 30); + shouldBe(testJSTRICTEQ(0, 42), 42); + shouldBe(testJNSTRICTEQB(0, 0), 1); + shouldBe(testJSTRICTEQB(0, 1), 1); + shouldBe(testJNSTRICTEQF(0, 0), 0); + shouldBe(testJSTRICTEQF(0, 1), 0); +} diff --git a/implementation-contributed/javascriptcore/stress/fuzz-bug-16399949.js b/implementation-contributed/javascriptcore/stress/fuzz-bug-16399949.js new file mode 100644 index 0000000000..1fe0f1059d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/fuzz-bug-16399949.js @@ -0,0 +1,9 @@ +function tryItOut() +{ + function f() { + Array( /x/.a = this) + ""; + } + for (var i = 0; i < 1000; i++) + f(); +} +tryItOut(); diff --git a/implementation-contributed/javascriptcore/stress/generational-opaque-roots.js b/implementation-contributed/javascriptcore/stress/generational-opaque-roots.js new file mode 100644 index 0000000000..0ea8874504 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generational-opaque-roots.js @@ -0,0 +1,40 @@ +// Tests that opaque roots behave correctly during young generation collections + +var Element = $vm.Element; +var Root = $vm.Root; +var getElement = $vm.getElement; + +try { + // regression test for bug 160773. This should not crash. + new (Element.bind()); +} catch(e) { +} + +// Create the primary Root. +var root = new Root(); +// This secondary root is for allocating a second Element without overriding +// the primary Root's Element. +var otherRoot = new Root(); + +// Run an Eden collection so that the Root will be in the old gen (and won't be rescanned). +edenGC(); + +// Create a new Element and set a custom property on it. +var elem = new Element(root); +elem.customProperty = "hello"; + +// Make the Element unreachable except through the ephemeron with the Root. +elem = null; + +// Create another Element so that we process the weak handles in block of the original Element. +var test = new Element(otherRoot); + +// Run another Eden collection to process the weak handles in the Element's block. If opaque roots +// are cleared then we'll think that the original Element is dead because the Root won't be in the +// set of opaque roots. +edenGC(); + +// Check if the primary Root's Element exists and has our custom property. +var elem = getElement(root); +if (elem.customProperty != "hello") + throw new Error("bad value of customProperty: " + elem.customProperty); diff --git a/implementation-contributed/javascriptcore/stress/generator-and-super.js b/implementation-contributed/javascriptcore/stress/generator-and-super.js new file mode 100644 index 0000000000..5ed52408f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-and-super.js @@ -0,0 +1,42 @@ +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +class Base { + hello() + { + print("Hello"); + } + + *ok() + { + super.hello(); + } +} + +class Hello extends Base { + *gen() + { + super(); + } +} +`, `SyntaxError: super is not valid in this context.`); + + +testSyntaxError(` +function *hello() +{ + super.hello(); +} +`, `SyntaxError: super is not valid in this context.`); diff --git a/implementation-contributed/javascriptcore/stress/generator-arguments-from-function.js b/implementation-contributed/javascriptcore/stress/generator-arguments-from-function.js new file mode 100644 index 0000000000..7ca587907c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-arguments-from-function.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function *gen(a, b, c) +{ + function test() + { + return arguments; + } + + return test; +} + +let g = gen(1, 2, 3); +let {value: func} = g.next(); +shouldBe(func().length, 0); diff --git a/implementation-contributed/javascriptcore/stress/generator-arguments.js b/implementation-contributed/javascriptcore/stress/generator-arguments.js new file mode 100644 index 0000000000..b26478fa23 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-arguments.js @@ -0,0 +1,107 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +(function () { + function *g1(a, b, c) + { + yield arguments; + yield arguments; + } + + var g = g1(0, 1, 2); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + + function *g2(a, b, c) + { + yield arguments; + yield arguments; + a = yield a; + yield arguments; + b = yield b; + yield arguments; + c = yield c; + yield arguments; + } + var g = g2(0, 1, 2); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 0); + shouldBe(JSON.stringify(g.next(42).value), `{"0":42,"1":1,"2":2}`); + shouldBe(g.next().value, 1); + shouldBe(JSON.stringify(g.next(42).value), `{"0":42,"1":42,"2":2}`); + shouldBe(g.next().value, 2); + shouldBe(JSON.stringify(g.next(42).value), `{"0":42,"1":42,"2":42}`); +}()); + +(function () { + function *g1(a, b, c) + { + "use strict"; + yield arguments; + yield arguments; + } + + var g = g1(0, 1, 2); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + + function *g2(a, b, c) + { + "use strict"; + yield arguments; + yield arguments; + a = yield a; + yield arguments; + b = yield b; + yield arguments; + c = yield c; + yield arguments; + } + var g = g2(0, 1, 2); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 0); + shouldBe(JSON.stringify(g.next(42).value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 1); + shouldBe(JSON.stringify(g.next(42).value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 2); + shouldBe(JSON.stringify(g.next(42).value), `{"0":0,"1":1,"2":2}`); +}()); + +(function () { + "use strict"; + function *g1(a, b, c) + { + yield arguments; + yield arguments; + } + + var g = g1(0, 1, 2); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + + function *g2(a, b, c) + { + yield arguments; + yield arguments; + a = yield a; + yield arguments; + b = yield b; + yield arguments; + c = yield c; + yield arguments; + } + var g = g2(0, 1, 2); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(JSON.stringify(g.next().value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 0); + shouldBe(JSON.stringify(g.next(42).value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 1); + shouldBe(JSON.stringify(g.next(42).value), `{"0":0,"1":1,"2":2}`); + shouldBe(g.next().value, 2); + shouldBe(JSON.stringify(g.next(42).value), `{"0":0,"1":1,"2":2}`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-class-methods-syntax.js b/implementation-contributed/javascriptcore/stress/generator-class-methods-syntax.js new file mode 100644 index 0000000000..2a8a0ce9c7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-class-methods-syntax.js @@ -0,0 +1,48 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +class Cocoa { + *constructor() + { + } +} +`, `SyntaxError: Cannot declare a generator function named 'constructor'.`); + +testSyntax(` +class Cocoa { + *ok() + { + yield 42; + } +} +`); + +testSyntax(` +class Cocoa { + static *ok() + { + yield 42; + } +} +`); diff --git a/implementation-contributed/javascriptcore/stress/generator-class-methods.js b/implementation-contributed/javascriptcore/stress/generator-class-methods.js new file mode 100644 index 0000000000..21f5a54a2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-class-methods.js @@ -0,0 +1,62 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +class A { + *gen() + { + yield this; + yield this; + return 42; + } + + static *staticGen() + { + yield this; + yield this; + return 42; + } +} +{ + let a = new A(); + let g = a.gen(); + shouldBe(g.next().value, a); + shouldBe(g.next().value, a); + shouldBe(g.next().value, 42); + shouldBe(g.next().done, true); +} +{ + let a = new A(); + shouldThrow(() => { + let g = new a.gen(); + }, `TypeError: function is not a constructor (evaluating 'new a.gen()')`); +} + +{ + let g = A.staticGen(); + shouldBe(g.next().value, A); + shouldBe(g.next().value, A); + shouldBe(g.next().value, 42); + shouldBe(g.next().done, true); +} +{ + shouldThrow(() => { + let g = new A.staticGen(); + }, `TypeError: function is not a constructor (evaluating 'new A.staticGen()')`); +} diff --git a/implementation-contributed/javascriptcore/stress/generator-eval-this.js b/implementation-contributed/javascriptcore/stress/generator-eval-this.js new file mode 100644 index 0000000000..f5766def74 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-eval-this.js @@ -0,0 +1,65 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function *gen() { + yield eval("this"); +} + +shouldThrow(() => { + var g = new gen(); + g.next().value; +}, `TypeError: function is not a constructor (evaluating 'new gen()')`); + +class B { } + +(function() { + eval('this'); + eval('this'); +}()); + +class A extends B { + constructor() + { + return eval('this'); + } +} + +shouldThrow(() => { + new A(); +}, `ReferenceError: Cannot access uninitialized variable.`); + +class C { + *generator() + { + yield eval('this'); + } +} + +shouldThrow(() => { + let c = new C(); + let g = new c.generator(); + g.next(); +}, `TypeError: function is not a constructor (evaluating 'new c.generator()')`); + +(function () { + let c = new C(); + let g = c.generator(); + shouldBe(g.next().value, c); +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-array.js b/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-array.js new file mode 100644 index 0000000000..fe939812fd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-array.js @@ -0,0 +1,23 @@ +(function () { + function *fib() + { + let a = 1; + let b = 1; + let c = [ 0 ]; + while (true) { + c[0] = a; + yield c; + [a, b] = [b, a + b]; + } + } + + let value = 0; + for (let i = 0; i < 1e4; ++i) { + let f = fib(); + for (let i = 0; i < 100; ++i) { + value = f.next().value; + } + if (value[0] !== 354224848179262000000) + throw new Error(`bad value:${result}`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-object.js b/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-object.js new file mode 100644 index 0000000000..667340f2ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-object.js @@ -0,0 +1,23 @@ +(function () { + function *fib() + { + let a = 1; + let b = 1; + let c = { fib: 0 }; + while (true) { + c.fib = a; + yield c; + [a, b] = [b, a + b]; + } + } + + let value = 0; + for (let i = 0; i < 1e4; ++i) { + let f = fib(); + for (let i = 0; i < 100; ++i) { + value = f.next().value; + } + if (value.fib !== 354224848179262000000) + throw new Error(`bad value:${result}`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-string.js b/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-string.js new file mode 100644 index 0000000000..438ae6ab33 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-fib-ftl-and-string.js @@ -0,0 +1,22 @@ +(function () { + function *fib() + { + let a = 1; + let b = 1; + let c = "Result! "; + while (true) { + yield c + a; + [a, b] = [b, a + b]; + } + } + + let value = 0; + for (let i = 0; i < 1e4; ++i) { + let f = fib(); + for (let i = 0; i < 100; ++i) { + value = f.next().value; + } + if (value !== `Result! 354224848179262000000`) + throw new Error(`bad value:${result}`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-fib-ftl.js b/implementation-contributed/javascriptcore/stress/generator-fib-ftl.js new file mode 100644 index 0000000000..340e33dbc8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-fib-ftl.js @@ -0,0 +1,21 @@ +(function () { + function *fib() + { + let a = 1; + let b = 1; + while (true) { + yield a; + [a, b] = [b, a + b]; + } + } + + let value = 0; + for (let i = 0; i < 1e4; ++i) { + let f = fib(); + for (let i = 0; i < 100; ++i) { + value = f.next().value; + } + if (value !== 354224848179262000000) + throw new Error(`bad value:${result}`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-frame-empty.js b/implementation-contributed/javascriptcore/stress/generator-frame-empty.js new file mode 100644 index 0000000000..59e8855bfa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-frame-empty.js @@ -0,0 +1,34 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldThrow(function () { + function *fib(flag) + { + let a = 1; + let b = 1; + yield 42; + if (flag) + return c; + let c = 500; + } + + let value = 0; + for (let i = 0; i < 1e4; ++i) { + for (let v of fib(false)) { + } + } + for (let v of fib(true)) { + } +}, `ReferenceError: Cannot access uninitialized variable.`); diff --git a/implementation-contributed/javascriptcore/stress/generator-function-constructor-is-subclassible.js b/implementation-contributed/javascriptcore/stress/generator-function-constructor-is-subclassible.js new file mode 100644 index 0000000000..8b13b71140 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-constructor-is-subclassible.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var GeneratorFunction = (function *() { }).constructor; + +class DerivedGeneratorFunction extends GeneratorFunction { + constructor() + { + super("yield 42"); + } + + hello() + { + return 50; + } +} + +let DerivedGenerator = new DerivedGeneratorFunction(); +shouldBe(DerivedGenerator.__proto__, DerivedGeneratorFunction.prototype); +shouldBe(DerivedGenerator.hello(), 50); +let gen = DerivedGenerator(); +shouldBe(gen.next().value, 42); diff --git a/implementation-contributed/javascriptcore/stress/generator-function-constructor.js b/implementation-contributed/javascriptcore/stress/generator-function-constructor.js new file mode 100644 index 0000000000..fb9aaff02d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-constructor.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var global = (new Function("return this"))(); +shouldBe(typeof global.GeneratorFunction, 'undefined'); +var generatorFunctionConstructor = (function *() { }).constructor; +shouldBe(generatorFunctionConstructor.__proto__, Function); +shouldBe(generatorFunctionConstructor.prototype.constructor, generatorFunctionConstructor); +shouldBe(generatorFunctionConstructor() instanceof generatorFunctionConstructor, true); +shouldBe(generatorFunctionConstructor("a") instanceof generatorFunctionConstructor, true); +shouldBe(generatorFunctionConstructor("a", "b") instanceof generatorFunctionConstructor, true); + +// Generator functions created by the GeneratorFunction constructor are not themselves constructors. +shouldThrow(() => new (generatorFunctionConstructor()), "TypeError: function is not a constructor (evaluating 'new (generatorFunctionConstructor())')"); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/generator-function-create-optimized.js b/implementation-contributed/javascriptcore/stress/generator-function-create-optimized.js new file mode 100644 index 0000000000..9f4f409777 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-create-optimized.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + + +function *g() { } +var GeneratorFunctionPrototype = g.__proto__; + +function test() +{ + return function *gen() + { + yield 42; + }; +} +noInline(test); + +function test2() +{ + function *gen() + { + yield 42; + } + + return gen; +} +noInline(test2); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(test().__proto__, GeneratorFunctionPrototype); + shouldBe(test2().__proto__, GeneratorFunctionPrototype); +} diff --git a/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-no-double-allocate.js new file mode 100644 index 0000000000..412bdbfc36 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-no-double-allocate.js @@ -0,0 +1,36 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var GeneratorFunctionPrototype = (function*(){}).__proto__; + +function call(o) { o.x = 3; } +noInline(call); + +function sink (p, q) { + function *f() { }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink(true, false); + shouldBe(o.__proto__, GeneratorFunctionPrototype); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-osrexit.js new file mode 100644 index 0000000000..3be9e31da8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-osrexit.js @@ -0,0 +1,30 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var GeneratorFunctionPrototype = (function*(){}).__proto__; + +function sink (p, q) { + function *g(x) { return x; }; + if (p) { if (q) OSRExit(); return g; } + function *f(x) { return x; }; + return f; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, false); + shouldBe(f.__proto__, GeneratorFunctionPrototype); + var result = f(42); + if (result.next().value != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +var result = f(42); +if (result.next().value != 42) + throw "Error: expected 42 but got " + result; diff --git a/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-put.js b/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-put.js new file mode 100644 index 0000000000..3deca57d3d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-declaration-sinking-put.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var GeneratorFunctionPrototype = (function*(){}).__proto__; + +function sink (p, q) { + function *g(x) { return x; }; + if (p) { if (q) g.inner = 42; return g; } + function *f(x) { return x; }; + return f; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, true); + shouldBe(f.__proto__, GeneratorFunctionPrototype); + var result = f(42); + if (result.next().value != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink(true, false); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +var result = f(12); +if (result.next().value != 12) + // This shouldn't matter as it should be either correct or completely crash + throw "Error: expected 12 but got " + result; + +// Check that the allocation did not sink beyond the property assignment +var f = sink(true, true); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +var result = f.inner; +if (result != 42) + throw "Error: inner should be 42 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-no-double-allocate.js b/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-no-double-allocate.js new file mode 100644 index 0000000000..020e6f0e71 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-no-double-allocate.js @@ -0,0 +1,36 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var GeneratorFunctionPrototype = (function*(){}).__proto__; + +function call(o) { o.x = 3; } +noInline(call); + +function sink (p, q) { + var f = function *() { }; + if (p) { + call(f); // Force allocation of f + if (q) { + OSRExit(); + } + return f; + } + return { 'x': 2 }; +} +noInline(sink); + +for (var i = 0; i < 100000; ++i) { + var o = sink(true, false); + shouldBe(o.__proto__, GeneratorFunctionPrototype); + if (o.x != 3) + throw "Error: expected o.x to be 2 but is " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +if (f.x != 3) + throw "Error: expected o.x to be 3 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-osrexit.js new file mode 100644 index 0000000000..d836581457 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-osrexit.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var GeneratorFunctionPrototype = (function*(){}).__proto__; + +function sink (p, q) { + var g = function *(x) { return x; }; + if (p) { if (q) OSRExit(); return g; } + return function *(x) { return x; }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, false); + shouldBe(f.__proto__, GeneratorFunctionPrototype); + var result = f(42); + if (result.next().value != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Check that the function is properly allocated on OSR exit +var f = sink(true, true); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +var result = f(42); +if (result.next().value != 42) + throw "Error: expected 42 but got " + result; diff --git a/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-put.js b/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-put.js new file mode 100644 index 0000000000..43f50917d8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-expression-sinking-put.js @@ -0,0 +1,37 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var GeneratorFunctionPrototype = (function*(){}).__proto__; + +function sink (p, q) { + var g = function *(x) { return x; }; + if (p) { if (q) g.inner = 42; return g; } + return function *(x) { return x; }; +} +noInline(sink); + +for (var i = 0; i < 10000; ++i) { + var f = sink(true, true); + shouldBe(f.__proto__, GeneratorFunctionPrototype); + var result = f(42); + if (result.next().value != 42) + throw "Error: expected 42 but got " + result; +} + +// At this point, the function should be compiled down to the FTL + +// Test the allocation on the implicit inner else branch +var f = sink(true, false); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +var result = f(12); +if (result.next().value != 12) + // This shouldn't matter as it should be either correct or completely crash + throw "Error: expected 12 but got " + result; + +// Check that the allocation did not sink beyond the property assignment +var f = sink(true, true); +shouldBe(f.__proto__, GeneratorFunctionPrototype); +var result = f.inner; +if (result != 42) + throw "Error: inner should be 42 but is " + result; diff --git a/implementation-contributed/javascriptcore/stress/generator-function-name.js b/implementation-contributed/javascriptcore/stress/generator-function-name.js new file mode 100644 index 0000000000..f4341efadd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-function-name.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var ok = function *generator() +{ + yield generator; +}; + +var g = ok(); +shouldBe(g.next().value, ok); + +function* generator2(factory) +{ + shouldBe(generator2, factory); +}; + +generator2(generator2).next(); diff --git a/implementation-contributed/javascriptcore/stress/generator-is-not-constructible.js b/implementation-contributed/javascriptcore/stress/generator-is-not-constructible.js new file mode 100644 index 0000000000..35736c1427 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-is-not-constructible.js @@ -0,0 +1,41 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function *gen() +{ +} + +shouldThrow(() => { + new gen(); +}, `TypeError: function is not a constructor (evaluating 'new gen()')`); + +class A { + static *staticGen() + { + } + + *gen() + { + } +}; + +shouldThrow(() => { + let a = new A(); + new a.gen(); +}, `TypeError: function is not a constructor (evaluating 'new a.gen()')`); + +shouldThrow(() => { + new A.staticGen(); +}, `TypeError: function is not a constructor (evaluating 'new A.staticGen()')`); diff --git a/implementation-contributed/javascriptcore/stress/generator-methods-with-non-generator.js b/implementation-contributed/javascriptcore/stress/generator-methods-with-non-generator.js new file mode 100644 index 0000000000..4561d93076 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-methods-with-non-generator.js @@ -0,0 +1,31 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function *gen() { +} +var g = gen(); + +shouldThrow(() => { + g.next.call({}); +}, `TypeError: |this| should be a generator`); + + +shouldThrow(() => { + g.throw.call({}); +}, `TypeError: |this| should be a generator`); + +shouldThrow(() => { + g.return.call({}); +}, `TypeError: |this| should be a generator`); diff --git a/implementation-contributed/javascriptcore/stress/generator-methods.js b/implementation-contributed/javascriptcore/stress/generator-methods.js new file mode 100644 index 0000000000..444de6836c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-methods.js @@ -0,0 +1,60 @@ +class Hello { + *gen() { + yield; + } + + static *gen() { + yield; + } + + *get() { + } + + static *get() { + } + + *set() { + } + + static *set() { + } + + *"Hello"() { + } + + static *"Hello"() { + } + + *20() { + } + + static *20() { + } + + *[42]() { + } + + static *[42]() { + } +} + +let object = { + *gen() { + yield; + }, + + *get() { + }, + + *set() { + }, + + *"Hello"() { + }, + + *20() { + }, + + *[42]() { + } +} diff --git a/implementation-contributed/javascriptcore/stress/generator-prototype-copy.js b/implementation-contributed/javascriptcore/stress/generator-prototype-copy.js new file mode 100644 index 0000000000..977308f431 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-prototype-copy.js @@ -0,0 +1,12 @@ +function* gen() { yield; } +let foo = gen(); +let obj = {}; +obj.__proto__ = foo; + +try { + obj.next().value; + throw "bad"; +} catch (e) { + if (!(e instanceof TypeError)) + throw e; +} diff --git a/implementation-contributed/javascriptcore/stress/generator-reduced-save-point-put-to-scope.js b/implementation-contributed/javascriptcore/stress/generator-reduced-save-point-put-to-scope.js new file mode 100644 index 0000000000..c0c75fa491 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-reduced-save-point-put-to-scope.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function error() +{ + throw "ok"; +} + +function* gen() +{ + var value = 42; + try { + yield 300; + value = 500; + error(); + } catch (e) { + yield 42; + return value; + } + return 200; +} + +var g = gen(); +shouldBe(g.next().value, 300); +shouldBe(g.next().value, 42); +shouldBe(g.next().value, 500); diff --git a/implementation-contributed/javascriptcore/stress/generator-relations.js b/implementation-contributed/javascriptcore/stress/generator-relations.js new file mode 100644 index 0000000000..efa4dc8ce0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-relations.js @@ -0,0 +1,30 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function *generatorFunction() { +} +let generator = generatorFunction(); + +shouldBe(generator instanceof generatorFunction, true); +shouldBe(typeof generator.__proto__, 'object'); +shouldBe(generator.__proto__, generatorFunction.prototype); + +let GeneratorPrototype = generator.__proto__.__proto__; + +let GeneratorFunctionPrototype = generatorFunction.__proto__; +let GeneratorFunction = generatorFunction.__proto__.constructor; +shouldBe(GeneratorFunction.prototype, GeneratorFunctionPrototype); +shouldBe(generatorFunction instanceof GeneratorFunction, true); +shouldBe(GeneratorFunction.__proto__, Function); +shouldBe(GeneratorFunctionPrototype.__proto__, Function.prototype); + +shouldBe(GeneratorFunctionPrototype.prototype, GeneratorPrototype); +shouldBe(GeneratorPrototype.constructor, GeneratorFunctionPrototype); + +let arrayIterator = [][Symbol.iterator](); +let ArrayIteratorPrototype = arrayIterator.__proto__; +let IteratorPrototype = ArrayIteratorPrototype.__proto__; + +shouldBe(IteratorPrototype, GeneratorPrototype.__proto__); diff --git a/implementation-contributed/javascriptcore/stress/generator-return-before-first-call.js b/implementation-contributed/javascriptcore/stress/generator-return-before-first-call.js new file mode 100644 index 0000000000..ce6debcb1f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-return-before-first-call.js @@ -0,0 +1,23 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldBeIteratorResult(actual, { value, done }) +{ + shouldBe(actual.value, value); + shouldBe(actual.done, done); +} + +function unreachable() +{ + throw new Error("NG"); +} + +function *gen() +{ + unreachable(); +} + +var g = gen(); +shouldBeIteratorResult(g.return("Hello"), { value: "Hello", done: true }); diff --git a/implementation-contributed/javascriptcore/stress/generator-return.js b/implementation-contributed/javascriptcore/stress/generator-return.js new file mode 100644 index 0000000000..7f569a0f70 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-return.js @@ -0,0 +1,133 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldBeIteratorResult(actual, { value, done }) +{ + shouldBe(actual.value, value); + shouldBe(actual.done, done); +} + +function unreachable() +{ + throw new Error('unreachable'); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + function *gen() { + yield yield 20; + yield 42; + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(0), { value: 20, done: false }); + shouldBeIteratorResult(g.return(20), { value: 20, done: true }); + shouldBeIteratorResult(g.return(20), { value: 20, done: true }); + shouldBeIteratorResult(g.next(42), { value: undefined, done: true }); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + shouldBeIteratorResult(g.next(42), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + } +}()); + +(function () { + function *gen() { + return 42; + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: 42, done: true }); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + } +}()); + +(function () { + function *gen() { + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + } +}()); + +(function () { + function *gen() { + try { + yield 42; + } finally { + return 400; + } + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: 42, done: false }); + shouldBeIteratorResult(g.return(0), { value: 400, done: true }); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + } +}()); + + +(function () { + function *gen() { + try { + yield 42; + } finally { + throw new Error("thrown"); + } + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: 42, done: false }); + shouldThrow(() => g.return(0), `Error: thrown`); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-syntax.js b/implementation-contributed/javascriptcore/stress/generator-syntax.js new file mode 100644 index 0000000000..862c2a5936 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-syntax.js @@ -0,0 +1,166 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +class Hello { + get *gen() { + } +} +`, `SyntaxError: Unexpected token '*'. Expected an opening '(' before a method's parameter list.`); + + +testSyntaxError(` +class Hello { + set *gen(value) { + } +} +`, `SyntaxError: Unexpected token '*'. Expected an opening '(' before a method's parameter list.`); + +testSyntaxError(` +function ** gen() { } +`, `SyntaxError: Unexpected token '**'`); + +// "yield" is never a YieldExpression in a ConciseBody (per http://ecma-international.org/ecma-262/6.0/#sec-arrow-function-definitions +// and https://tc39.github.io/ecma262/#prod-ConciseBody) +testSyntax(` +var value = () => { + yield +} +`); + +testSyntax(` +var value = (val = yield) => { +} +`); + +// Confusingly, FormalParameters[~Yield] does not product a SyntaxError for "yield", even +// inside of a generator (https://tc39.github.io/ecma262/#prod-FunctionDeclaration), +// but instead resolves "yield" as a BindingIdentifier +testSyntax(` +function *gen() { + function ng(val = yield) { + } +} +`); + +// Arrow formal parameters within Generators are parameterized with [+Yield], but are +// still forbidden from including YieldExpressions in ArrowFormalParameters. +// (https://tc39.github.io/ecma262/#prod-ArrowFormalParameters) +testSyntaxError(` +var yield; +function *gen() { + var ng = (val = yield) => { + } +} +`, `SyntaxError: Unexpected keyword 'yield'. Cannot use yield expression out of generator.`); + +(function testYieldBindingIdentifier() { + var yield = "hello!"; + function* gen() { + yield (function(x = yield) { return x; })(); + } + var result = gen().next(); + if (result.value !== "hello!") + throw new Error("Expected BindingIdentifier bound to 'hello!', but found " + JSON.stringify(result)); +})(); + +testSyntax(` +function* gen() { + var ng = (it = function*() { yield 1; }) => { + return it().next(); + } + yield ng(); +} +`); + +testSyntaxError(` +function* gen() { + var ng = (it = function() { yield 1; }) => { + return it().next(); + } + yield ng(); +} +`, `SyntaxError: Unexpected number '1'`); + +testSyntax(` +function gen(val = yield) { +} +`); + +// http://ecma-international.org/ecma-262/6.0/#sec-generator-function-definitions-static-semantics-early-errors +testSyntaxError(` +function *gen(val = yield) { +} +`, `SyntaxError: Unexpected keyword 'yield'. Cannot use yield expression within parameters.`); + +testSyntaxError(` +function *gen(val = yield 20) { +} +`, `SyntaxError: Unexpected keyword 'yield'. Cannot use yield expression within parameters.`); + +testSyntaxError(` +function *gen(val = yield * g) { +} +`, `SyntaxError: Unexpected keyword 'yield'. Cannot use yield expression within parameters.`); + + +testSyntax(` +function *gen(g = function *() { yield }) { +} +`); + +testSyntaxError(` +function* gen(arguments) { + "use strict"; +} +`, `SyntaxError: Invalid parameters or function name in strict mode.`); + +testSyntaxError(` +function* gen(eval) { + "use strict"; +} +`, `SyntaxError: Invalid parameters or function name in strict mode.`); + +testSyntaxError(` +function* arguments() { + "use strict"; +} +`, `SyntaxError: 'arguments' is not a valid function name in strict mode.`); + +testSyntaxError(` +function* eval() { + "use strict"; +} +`, `SyntaxError: 'eval' is not a valid function name in strict mode.`); + +testSyntaxError(` +function* gen(a) { + let a = 1; +} +`, `SyntaxError: Cannot declare a let variable twice: 'a'.`); + +testSyntaxError(` +function* gen(b) { + const b = 1; +} +`, `SyntaxError: Cannot declare a const variable twice: 'b'.`); diff --git a/implementation-contributed/javascriptcore/stress/generator-this.js b/implementation-contributed/javascriptcore/stress/generator-this.js new file mode 100644 index 0000000000..10450a793d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-this.js @@ -0,0 +1,67 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + + +var global = new Function('return this')(); + +(function () { + function *gen() { + yield this; + } + + { + let g = gen(); + shouldBe(g.next().value, global); + } + { + shouldThrow(() => { + let g = new gen(); + g.next(); + }, `TypeError: function is not a constructor (evaluating 'new gen()')`); + } + { + let thisObject = {}; + let g = gen.call(thisObject); + shouldBe(g.next().value, thisObject); + } +}()); + +(function () { + function *gen() { + "use strict"; + yield this; + } + + { + let g = gen(); + shouldBe(g.next().value, undefined); + } + { + shouldThrow(() => { + let g = new gen(); + g.next(); + }, `TypeError: function is not a constructor (evaluating 'new gen()')`); + } + { + let thisObject = {}; + let g = gen.call(thisObject); + shouldBe(g.next().value, thisObject); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-throw-before-first-call.js b/implementation-contributed/javascriptcore/stress/generator-throw-before-first-call.js new file mode 100644 index 0000000000..e46cb4f97e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-throw-before-first-call.js @@ -0,0 +1,20 @@ +function unreachable() +{ + throw new Error("NG"); +} + +function *gen() +{ + unreachable(); +} + +var g = gen(); +var error = new Error("OK"); +var thrown = null; +try { + g.throw(error); +} catch (e) { + thrown = e; +} +if (thrown !== error) + unreachable(); diff --git a/implementation-contributed/javascriptcore/stress/generator-throw.js b/implementation-contributed/javascriptcore/stress/generator-throw.js new file mode 100644 index 0000000000..ce2269f53c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-throw.js @@ -0,0 +1,132 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldBeIteratorResult(actual, { value, done }) +{ + shouldBe(actual.value, value); + shouldBe(actual.done, done); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +class CallSite { + constructor() + { + this.count = 0; + } + + call() + { + return this.count++; + } +} + +(function () { + function *gen() { + yield yield 20; + yield 42; + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(0), { value: 20, done: false }); + shouldThrow(() => g.throw(20), `20`); + shouldThrow(() => g.throw(20), `20`); + shouldBeIteratorResult(g.next(42), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + } + { + let g = gen(); + shouldThrow(() => g.throw(42), `42`); + shouldBeIteratorResult(g.next(42), { value: undefined, done: true }); + shouldBeIteratorResult(g.return(42), { value: 42, done: true }); + shouldThrow(() => g.throw(42), `42`); + } +}()); + +(function () { + function *gen() { + return 42; + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: 42, done: true }); + shouldThrow(() => g.throw(0), `0`); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldThrow(() => g.throw(42), `42`); + } +}()); + +(function () { + function *gen() { + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldThrow(() => g.throw(0), `0`); + } + { + let g = gen(); + shouldBeIteratorResult(g.return(0), { value: 0, done: true }); + shouldBeIteratorResult(g.next(), { value: undefined, done: true }); + shouldThrow(() => g.throw(42), `42`); + } +}()); + +(function () { + let site = new CallSite(); + function *gen() { + try { + yield 42; + } catch (e) { + shouldBe(e, 0); + site.call(); + } + return 42; + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: 42, done: false }); + shouldBeIteratorResult(g.throw(0), { value: 42, done: true }); + shouldBe(site.count, 1); + } +}()); + +(function () { + function *gen() { + try { + yield 42; + } finally { + return 42; + } + } + + { + let g = gen(); + shouldBeIteratorResult(g.next(), { value: 42, done: false }); + shouldBeIteratorResult(g.throw(0), { value: 42, done: true }); + shouldThrow(() => g.throw(0), `0`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-transfer-register-beyond-mutiple-yields.js b/implementation-contributed/javascriptcore/stress/generator-transfer-register-beyond-mutiple-yields.js new file mode 100644 index 0000000000..fe208f5812 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-transfer-register-beyond-mutiple-yields.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + + +function *gen() +{ + var test = 42; + yield 32; + yield 33; + yield test; +} + +var g = gen(); +shouldBe(g.next().value, 32); +shouldBe(g.next().value, 33); +shouldBe(g.next().value, 42); diff --git a/implementation-contributed/javascriptcore/stress/generator-type-check.js b/implementation-contributed/javascriptcore/stress/generator-type-check.js new file mode 100644 index 0000000000..37432c7cf6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-type-check.js @@ -0,0 +1,54 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var iterator; + +var a = []; + +function* foo(index) { + while (1) { + var q = a.pop(); + if(q){ + q.__proto__ = iterator; + q.next(); + } + yield index++; + } +} + +function* foo2(){ + yield; +} + +var temp = foo2(0); + +for(var i = 0; i < 10; i++) { // make a few objects with @generatorState set + var q = {}; + q.__proto__ = temp; + shouldThrow(() => { + q.next(); + }, `TypeError: |this| should be a generator`); + q.__proto__ = {}; + a.push(q); + +} + +iterator = foo(0); + +var q = {}; +q.__proto__ = iterator; +shouldThrow(() => { + q.next(); +}, `TypeError: |this| should be a generator`); diff --git a/implementation-contributed/javascriptcore/stress/generator-with-new-target.js b/implementation-contributed/javascriptcore/stress/generator-with-new-target.js new file mode 100644 index 0000000000..ba5013e179 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-with-new-target.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function *gen() +{ + yield new.target; +} + +var g = gen(); +shouldBe(g.next().value, undefined); + +shouldThrow(() => { + var g2 = new gen(); +}, `TypeError: function is not a constructor (evaluating 'new gen()')`); diff --git a/implementation-contributed/javascriptcore/stress/generator-with-super.js b/implementation-contributed/javascriptcore/stress/generator-with-super.js new file mode 100644 index 0000000000..427e62ee2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-with-super.js @@ -0,0 +1,80 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + function test() { + return eval('super'); + } + + shouldThrow(() => test(), "SyntaxError: super is not valid in this context."); +}()); + +(function () { + class B { + gen() { + return 42; + } + } + + class A extends B { + *gen() { + return eval('super.gen()'); + } + } + + let a = new A(); + shouldBe(a.gen().next().value, 42); +}()); + +(function () { + class B { + gen() { + return 42; + } + } + + class A extends B { + *gen() { + yield super.gen(); + } + } + + let a = new A(); + shouldBe(a.gen().next().value, 42); +}()); + +(function () { + class B { + gen() { + return 42; + } + } + + class A extends B { + *gen() { + yield super.gen(); + } + } + + let a = new A(); + shouldThrow(() => { + new a.gen(); + }, `TypeError: function is not a constructor (evaluating 'new a.gen()')`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/generator-with-this-strict.js b/implementation-contributed/javascriptcore/stress/generator-with-this-strict.js new file mode 100644 index 0000000000..d19cb6044b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-with-this-strict.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function* generator() +{ + 'use strict' + return this; +} + +function target() +{ + var gen = generator(); + return gen.next().value; +} +noInline(target); + +for (var i = 0; i < 1e6; ++i) + shouldBe(target(), undefined); diff --git a/implementation-contributed/javascriptcore/stress/generator-with-this.js b/implementation-contributed/javascriptcore/stress/generator-with-this.js new file mode 100644 index 0000000000..171e174b3c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-with-this.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function* generator() +{ + return this; +} + +function target() +{ + var gen = generator(); + return gen.next().value; +} +noInline(target); + +var result = this; +for (var i = 0; i < 1e6; ++i) + shouldBe(target(), result); diff --git a/implementation-contributed/javascriptcore/stress/generator-yield-star.js b/implementation-contributed/javascriptcore/stress/generator-yield-star.js new file mode 100644 index 0000000000..748a835a37 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generator-yield-star.js @@ -0,0 +1,329 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +class CallSite { + constructor() + { + this.count = 0; + } + + call() + { + return this.count++; + } +} + +(function () { + class Arrays { + constructor() + { + this.first = [ 0, 1, 2, 3 ]; + this.second = [ 4, 5, 6, 7 ]; + } + + *[Symbol.iterator]() + { + yield * this.first; + yield * this.second; + } + } + + var arrays = new Arrays; + let i = 0; + for (let value of arrays) + shouldBe(i++, value); +}()); + +(function () { + // throw should be propagated. + let c1 = new CallSite; + class Iterator { + next(value) + { + return { value, done: false }; + } + + 'throw'(value) { + shouldBe(value, 42); + c1.call(); + throw new Error("OK"); + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + yield * iter; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldThrow(() => { + g.throw(42); + }, `Error: OK`); + shouldThrow(() => { + g.throw(44); + }, `44`); + shouldBe(c1.count, 1); +}()); + +(function () { + // No `throw` method. + let c1 = new CallSite; + class Iterator { + next(value) + { + return { value, done: false }; + } + + 'return'(value) + { + shouldBe(value, undefined); + c1.call(); + return { value, done: true }; + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + yield * iter; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldThrow(() => { + g.throw(42); + }, `TypeError: Delegated generator does not have a 'throw' method.`); + shouldThrow(() => { + g.throw(44); + }, `44`); + shouldBe(c1.count, 1); +}()); + +(function () { + // No `throw` method, `return` returns an incorrect result. + let c1 = new CallSite; + class Iterator { + next(value) + { + return { value, done: false }; + } + + 'return'(value) + { + shouldBe(value, undefined); + c1.call(); + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + yield * iter; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldThrow(() => { + g.throw(42); + }, `TypeError: Iterator result interface is not an object.`); + shouldThrow(() => { + g.throw(44); + }, `44`); + shouldBe(c1.count, 1); +}()); + +(function () { + // No `throw` method, No `return` method. + class Iterator { + next(value) + { + return { value, done: false }; + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + yield * iter; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldThrow(() => { + g.throw(42); + }, `TypeError: Delegated generator does not have a 'throw' method.`); + shouldThrow(() => { + g.throw(44); + }, `44`); +}()); + + +(function () { + // `throw` does not throw. Not returns a object. + class Iterator { + next(value) + { + return { value, done: false }; + } + + 'throw'(value) + { + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + yield * iter; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldThrow(() => { + g.throw(42); + }, `TypeError: Iterator result interface is not an object.`); + shouldThrow(() => { + g.throw(44); + }, `44`); +}()); + +(function () { + // `throw` does not throw. If returned iterator result is marked as done, it becomes `return`. + class Iterator { + next(value) + { + return { value, done: false }; + } + + 'throw'(value) + { + return { value, done: true }; + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + let result = yield * iter; + shouldBe(result, 42); + yield 21; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldBe(g.throw(42).value, 21); + shouldBe(g.next().done, true); + shouldThrow(() => { + g.throw(44); + }, `44`); +}()); + +(function () { + // `return` returns done: false. + class Iterator { + next(value) + { + return { value, done: false }; + } + + 'return'(value) + { + return { value, done: false }; + } + + [Symbol.iterator]() + { + return this; + } + } + + function *gen() + { + let iter = new Iterator(); + let result = yield * iter; + yield result; + yield 42; + } + + let g = gen(); + shouldBe(g.next(0).value, undefined); + shouldBe(g.next(1).value, 1); + shouldBe(g.next(2).value, 2); + shouldBe(g.return(42).value, 42); + shouldBe(g.return(42).done, false); +}()); + +(function () { + function *gen() + { + let result = yield * [ 0, 1, 2 ]; + yield result; + } + + let g = gen(); + shouldBe(g.next().value, 0); + shouldBe(g.next().value, 1); + shouldBe(g.next().value, 2); + shouldBe(g.next().value, undefined); +}()); diff --git a/implementation-contributed/javascriptcore/stress/generic-arguments-correct-delete-behavior.js b/implementation-contributed/javascriptcore/stress/generic-arguments-correct-delete-behavior.js new file mode 100644 index 0000000000..f76813938a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/generic-arguments-correct-delete-behavior.js @@ -0,0 +1,47 @@ +function assert(b) { + if (!b) + throw new Error("Bad") +} + +function makeTest(shouldCaptureArgument, deleteTwice, zeroAsString) { + return eval(` + function foo(x) { + ${shouldCaptureArgument ? `function bar() { return x; }` : ""} + + assert(x === null); + + let prop = ${zeroAsString ? "'0'" : "0"}; + Object.defineProperty(arguments, "0", {enumerable: false, value:45}); + assert(arguments[prop] === 45); + assert(x === 45); + + let result = delete arguments[prop]; + assert(result); + ${deleteTwice ? `assert(delete arguments[prop]);` : ""}; + + assert(arguments[prop] === undefined); // don't crash here. + assert(!(prop in arguments)); + + arguments[prop] = 50; + + assert(arguments[prop] === 50); + assert(x === 45); + }; foo; + `); +} + +let functions = []; +functions.push(makeTest(false, false, true)); +functions.push(makeTest(false, false, false)); +functions.push(makeTest(false, true, false)); +functions.push(makeTest(false, true, true)); +functions.push(makeTest(true, false, true)); +functions.push(makeTest(true, false, false)); +functions.push(makeTest(true, true, false)); +functions.push(makeTest(true, true, true)); + +for (let f of functions) { + noInline(f); + for (let i = 0; i < 1000; ++i) + f(null); +} diff --git a/implementation-contributed/javascriptcore/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js new file mode 100644 index 0000000000..0f210ce724 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-argument-by-val-in-inlined-varargs-call-out-of-bounds.js @@ -0,0 +1,31 @@ +var gi; + +function foo() { + return arguments[gi]; +} + +function bar(array, i) { + gi = i; + return foo.apply(this, array); +} + +noInline(bar); + +var bigArray = []; +for (var i = 0; i < 50; ++i) + bigArray.push(42); + +for (var i = 0; i < 10000; ++i) { + var mi = i % 50; + var result = bar(bigArray, mi); + if (result !== 42) + throw "Bad result in first loop: " + result + "; expected: " + 42; +} + +for (var i = 0; i < 10000; ++i) { + var mi = i % 100; + var result = bar([42], mi); + var expected = mi ? void 0 : 42; + if (result !== expected) + throw "Bad result in second loop: " + result + "; expected: " + expected; +} diff --git a/implementation-contributed/javascriptcore/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js new file mode 100644 index 0000000000..9fb3c1c4a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-argument-by-val-safe-in-inlined-varargs-call-out-of-bounds.js @@ -0,0 +1,35 @@ +var gi; + +function foo() { + if (!effectful42()) + arguments = "hello"; + return arguments[gi]; +} + +function bar(array, i) { + gi = i; + return foo.apply(this, array); +} + +noInline(bar); + +var bigArray = []; +for (var i = 0; i < 50; ++i) + bigArray.push(42); + +for (var i = 0; i < 10000; ++i) { + var mi = i % 50; + var result = bar(bigArray, mi); + if (result !== 42) + throw "Bad result in first loop: " + result + "; expected: " + 42; +} + + +for (var i = 0; i < 10000; ++i) { + var mi = i % 100; + var result = bar([42], mi); + var expected = mi ? void 0 : 42; + if (result !== expected) + throw "Bad result in second loop: " + result + "; expected: " + expected; +} + diff --git a/implementation-contributed/javascriptcore/stress/get-array-length-on-undecided.js b/implementation-contributed/javascriptcore/stress/get-array-length-on-undecided.js new file mode 100644 index 0000000000..943866dffa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-array-length-on-undecided.js @@ -0,0 +1,76 @@ +function forceTransition() { + // We want to test the StructureCheck in testSparseArray(), not this watchpoint. + // We start with the transition so that it's nothing new. + let array = new Array(); + array[100001] = "WebKit!"; +} +forceTransition(); + +function opaqueGetArrayLength(array) +{ + return array.length; +} +noInline(opaqueGetArrayLength); + +function testEmptyArray() +{ + let array = []; + for (let i = 0; i < 1e6; ++i) { + if (opaqueGetArrayLength(array) !== 0) { + throw "Failed testEmptyArray"; + } + } + + array = new Array(); + for (let i = 0; i < 1e6; ++i) { + if (opaqueGetArrayLength(array) !== 0) { + throw "Failed testEmptyArray"; + } + } +} +testEmptyArray(); + + +function testUnitializedArray() +{ + let array = new Array(32); + for (let i = 0; i < 1e6; ++i) { + if (opaqueGetArrayLength(array) !== 32) { + throw "Failed testUnitializedArray"; + } + } + + array = new Array(); + array.length = 64 + for (let i = 0; i < 1e6; ++i) { + if (opaqueGetArrayLength(array) !== 64) { + throw "Failed testUnitializedArray"; + } + } +} +testUnitializedArray(); + +function testOversizedArray() +{ + let array = new Array(100001); + for (let i = 0; i < 1e6; ++i) { + if (opaqueGetArrayLength(array) !== 100001) { + throw "Failed testOversizedArray"; + } + } +} +testOversizedArray(); + +// This should OSR Exit and fallback to GetById to get the length. +function testSparseArray() +{ + let array = new Array(); + array[100001] = "WebKit!"; + for (let i = 0; i < 1e6; ++i) { + if (opaqueGetArrayLength(array) !== 100002) { + throw "Failed testOversizedArray"; + } + } +} +testSparseArray(); + diff --git a/implementation-contributed/javascriptcore/stress/get-array-length-phantom-new-array-buffer.js b/implementation-contributed/javascriptcore/stress/get-array-length-phantom-new-array-buffer.js new file mode 100644 index 0000000000..0810c7822a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-array-length-phantom-new-array-buffer.js @@ -0,0 +1,14 @@ +function effects() {} +noInline(effects); + +function foo() { + let x = [1,2,3]; + effects(); + return x.length; +} +noInline(foo); + +for (let i = 0; i < 100000; ++i) { + if (foo() !== 3) + throw new Error(); +} diff --git a/implementation-contributed/javascriptcore/stress/get-array-length-undecided.js b/implementation-contributed/javascriptcore/stress/get-array-length-undecided.js new file mode 100644 index 0000000000..2ea3943647 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-array-length-undecided.js @@ -0,0 +1,10 @@ +function test(array) { + return array.length; +} +noInline(test); + +let array = new Array(10); +for (let i = 0; i < 10000; i++) { + if (test(array) !== 10) + throw new Error("bad result"); +} diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-direct-getter.js b/implementation-contributed/javascriptcore/stress/get-by-id-direct-getter.js new file mode 100644 index 0000000000..b11a570524 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-direct-getter.js @@ -0,0 +1,112 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + var builtin = createBuiltin(`(function (obj) { + return @getByIdDirect(obj, "hello"); + })`); + noInline(builtin); + + var obj = { get hello() { return 42; }, world:33 }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj), 42); + + var obj2 = { hello: 22 }; + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(obj), 42); + shouldBe(builtin(obj2), 22); + } + + var obj3 = { }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj3), undefined); + + var obj4 = { + __proto__: { hello: 33 } + }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj4), undefined); + + var target5 = "Hello"; + var target6 = 42; + var target7 = false; + var target8 = Symbol("Cocoa"); + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(target5), undefined); + shouldBe(builtin(target6), undefined); + shouldBe(builtin(target7), undefined); + shouldBe(builtin(target8), undefined); + } + + shouldThrow(() => { + builtin(null); + }, `TypeError: null is not an object`); + + shouldThrow(() => { + builtin(undefined); + }, `TypeError: undefined is not an object`); + + shouldBe(builtin(obj), 42); + shouldBe(builtin(obj2), 22); + shouldBe(builtin(obj3), undefined); + shouldBe(builtin(obj4), undefined); + shouldBe(builtin(target5), undefined); + shouldBe(builtin(target6), undefined); + shouldBe(builtin(target7), undefined); + shouldBe(builtin(target8), undefined); +}()); + +(function () { + var builtin = createBuiltin(`(function (obj) { + return @getByIdDirect(obj, "hello"); + })`); + noInline(builtin); + + var obj = { }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj), undefined); + shouldBe(builtin(obj), undefined); + obj.hello = 42; + shouldBe(builtin(obj), 42); +}()); + + +(function () { + var builtin = createBuiltin(`(function (obj) { + return @getByIdDirect(obj, "length"); + })`); + noInline(builtin); + + var array = [0, 1, 2]; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(array), 3); + shouldBe(builtin({}), undefined); + + var obj = { length:2 }; + var obj2 = { get length() { return 2; } }; + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(array), 3); + shouldBe(builtin(obj), 2); + shouldBe(builtin(obj2), 2); + shouldBe(builtin("Cocoa"), 5); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-direct.js b/implementation-contributed/javascriptcore/stress/get-by-id-direct.js new file mode 100644 index 0000000000..e0e48642dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-direct.js @@ -0,0 +1,110 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + var builtin = createBuiltin(`(function (obj) { + return @getByIdDirect(obj, "hello"); + })`); + noInline(builtin); + + var obj = { hello: 42, world:33 }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj), 42); + + var obj2 = { hello: 22 }; + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(obj), 42); + shouldBe(builtin(obj2), 22); + } + + var obj3 = { }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj3), undefined); + + var obj4 = { + __proto__: { hello: 33 } + }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj4), undefined); + + var target5 = "Hello"; + var target6 = 42; + var target7 = false; + var target8 = Symbol("Cocoa"); + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(target5), undefined); + shouldBe(builtin(target6), undefined); + shouldBe(builtin(target7), undefined); + shouldBe(builtin(target8), undefined); + } + + shouldThrow(() => { + builtin(null); + }, `TypeError: null is not an object`); + + shouldThrow(() => { + builtin(undefined); + }, `TypeError: undefined is not an object`); + + shouldBe(builtin(obj), 42); + shouldBe(builtin(obj2), 22); + shouldBe(builtin(obj3), undefined); + shouldBe(builtin(obj4), undefined); + shouldBe(builtin(target5), undefined); + shouldBe(builtin(target6), undefined); + shouldBe(builtin(target7), undefined); + shouldBe(builtin(target8), undefined); +}()); + +(function () { + var builtin = createBuiltin(`(function (obj) { + return @getByIdDirect(obj, "hello"); + })`); + noInline(builtin); + + var obj = { }; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(obj), undefined); + shouldBe(builtin(obj), undefined); + obj.hello = 42; + shouldBe(builtin(obj), 42); +}()); + + +(function () { + var builtin = createBuiltin(`(function (obj) { + return @getByIdDirect(obj, "length"); + })`); + noInline(builtin); + + var array = [0, 1, 2]; + for (var i = 0; i < 1e4; ++i) + shouldBe(builtin(array), 3); + shouldBe(builtin({}), undefined); + + var obj = { length:2 }; + for (var i = 0; i < 1e4; ++i) { + shouldBe(builtin(array), 3); + shouldBe(builtin(obj), 2); + shouldBe(builtin("Cocoa"), 5); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-strict-arguments.js b/implementation-contributed/javascriptcore/stress/get-by-id-strict-arguments.js new file mode 100644 index 0000000000..f5607f4ca4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-strict-arguments.js @@ -0,0 +1,28 @@ +let warm = 1000; + +function foo(f) { + return f.arguments; +} +noInline(foo); + +function bar() { + for (let i = 0; i < warm; ++i) + foo(bar); +} +function baz() { + "use strict"; + foo(baz); +} + +bar(); + +let caught = false; + +try { + baz(); +} catch (e) { + caught = true; +} + +if (!caught) + throw new Error(`bad!`); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-strict-callee.js b/implementation-contributed/javascriptcore/stress/get-by-id-strict-callee.js new file mode 100644 index 0000000000..929d65e782 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-strict-callee.js @@ -0,0 +1,24 @@ +let warm = 1000; + +function bar() { + for (let i = 0; i < warm; ++i) + arguments.callee; +} + +function baz() { + "use strict"; + arguments.callee; +} + +bar(); + +let caught = false; + +try { + baz(); +} catch (e) { + caught = true; +} + +if (!caught) + throw new Error(`bad!`); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-strict-caller.js b/implementation-contributed/javascriptcore/stress/get-by-id-strict-caller.js new file mode 100644 index 0000000000..3462ec070c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-strict-caller.js @@ -0,0 +1,28 @@ +let warm = 1000; + +function foo(f) { + return f.caller; +} +noInline(foo); + +function bar() { + for (let i = 0; i < warm; ++i) + foo(bar); +} +function baz() { + "use strict"; + foo(baz); +} + +bar(); + +let caught = false; + +try { + baz(); +} catch (e) { + caught = true; +} + +if (!caught) + throw new Error(`bad!`); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments-2.js b/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments-2.js new file mode 100644 index 0000000000..fdfc9a8644 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments-2.js @@ -0,0 +1,42 @@ +let warm = 1000; + +function foo(f) { + return f.arguments; +} +noInline(foo); + +let caught = 0; + +function bar() { + for (let i = 0; i < warm; ++i) + foo(bar); + const x = function baz1() { "use strict"; return 42; }; + const y = function baz2() { "use strict"; return 0xc0defefe; }; + return [x, y]; +} + +bar(); +bar(); +const [baz1, baz2] = bar(); + + +if (baz1() !== 42) + throw new Error(`bad!`); + +if (baz2() !== 0xc0defefe) + throw new Error(`bad!`); + +try { + foo(baz1); +} catch (e) { + ++caught; +} + +try { + foo(baz2); +} catch (e) { + ++caught; +} + +if (caught !== 2) + throw new Error(`bad!`); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments.js b/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments.js new file mode 100644 index 0000000000..0d3ceedcc2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-strict-nested-arguments.js @@ -0,0 +1,27 @@ +let warm = 1000; + +function foo(f) { + return f.arguments; +} +noInline(foo); + +let caught = false; + +function bar() { + for (let i = 0; i < warm; ++i) + foo(bar); + function baz() { + "use strict"; + try { + foo(baz); + } catch (e) { + caught = true; + } + } + baz(); +} + +bar(); + +if (!caught) + throw new Error(`bad!`); diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-getter-through-optimized-code.js b/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-getter-through-optimized-code.js new file mode 100644 index 0000000000..1b301d769d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-getter-through-optimized-code.js @@ -0,0 +1,37 @@ +function foo(o) { + return o.f + 1; +} + +noInline(foo); + +var shouldThrow = false; + +function makeWithGetter() { + var o = {}; + o.__defineGetter__("f", function() { + if (shouldThrow) + throw "hello"; + return 42; + }); + return o; +} + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:23}); + if (result != 24) + throw "Error: bad result: " + result; + result = foo(makeWithGetter()); + if (result != 43) + throw "Error: bad result: " + result; +} + +var didThrow; +try { + shouldThrow = true; + foo(makeWithGetter()); +} catch (e) { + didThrow = e; +} + +if (didThrow != "hello") + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js b/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js new file mode 100644 index 0000000000..e14d0ceb6e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code-that-does-not-exit.js @@ -0,0 +1,35 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +function makeWithGetter() { + var o = {}; + o.__defineGetter__("f", function() { + throw "hello"; + }); + return o; +} + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:23}); + if (result != 23) + throw "Error: bad result: " + result; + result = foo({g:12, f:13}); + if (result != 13) + throw "Error: bad result: " + result; + result = foo({g:12, h:13, f:14}); + if (result != 14) + throw "Error: bad result: " + result; +} + +var didThrow; +try { + foo(makeWithGetter()); +} catch (e) { + didThrow = e; +} + +if (didThrow != "hello") + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js b/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js new file mode 100644 index 0000000000..1ef7726a48 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-throw-from-unexpected-getter-through-optimized-code.js @@ -0,0 +1,35 @@ +function foo(o) { + return o.f + 1; +} + +noInline(foo); + +function makeWithGetter() { + var o = {}; + o.__defineGetter__("f", function() { + throw "hello"; + }); + return o; +} + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:23}); + if (result != 24) + throw "Error: bad result: " + result; + result = foo({g:12, f:13}); + if (result != 14) + throw "Error: bad result: " + result; + result = foo({g:12, h:13, f:14}); + if (result != 15) + throw "Error: bad result: " + result; +} + +var didThrow; +try { + foo(makeWithGetter()); +} catch (e) { + didThrow = e; +} + +if (didThrow != "hello") + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/get-by-id-untyped.js b/implementation-contributed/javascriptcore/stress/get-by-id-untyped.js new file mode 100644 index 0000000000..8995d8015d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-id-untyped.js @@ -0,0 +1,21 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +String.prototype.f = 42; +Number.prototype.f = 24; + +for (var i = 0; i < 100000; ++i) { + var result = foo("hello"); + if (result != 42) + throw "Error: bad result for string: " + result; + result = foo(13); + if (result != 24) + throw "Error: bad result for number: " + result; + result = foo({f:84}); + if (result != 84) + throw "Error: bad result for object: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/get-by-offset-double.js b/implementation-contributed/javascriptcore/stress/get-by-offset-double.js new file mode 100644 index 0000000000..402155aa12 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-offset-double.js @@ -0,0 +1,25 @@ +function foo(o, p) { + if (p) + return o.f; + else + return [o * 1.1, o * 1.2, o * 1.3]; +} + +for (var i = 0; i < 100; ++i) + foo({f:42}, true); + +function bar() { + var x = 4.5; + for (var i = 0; i < 10; ++i) { + x *= 1.1; + x += 0.05; + foo(x, false); + } + return x * 1.03; +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) + bar(); + diff --git a/implementation-contributed/javascriptcore/stress/get-by-pname-only-prototype-properties.js b/implementation-contributed/javascriptcore/stress/get-by-pname-only-prototype-properties.js new file mode 100644 index 0000000000..e1d6ce8248 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-pname-only-prototype-properties.js @@ -0,0 +1,50 @@ +var foo = function (C, A) { + for(var B in (A||{})) { + C[B]=A[B]; + } + return C; +} + +var protos = []; +for (var i = 0; i < 256; i++) { + var proto = Object.create(null); + protos.push(proto); + proto.aa = 1; + proto.ab = 1; + proto.ac = 1; + proto.ad = 1; + proto.ae = 1; + proto.af = 1; + proto.ag = 1; + proto.ah = 1; + proto.ai = 1; + proto.aj = 1; + proto.ak = 1; + proto.al = 1; + proto.am = 1; + proto.an = 1; + proto.ao = 1; + proto.ap = 1; + proto.aq = 1; + proto.ar = 1; + proto.as = 1; + proto.at = 1; + proto.au = 1; + proto.av = 1; + proto.aw = 1; + proto.ax = 1; + proto.ay = 1; + proto.az = 1; + proto.ba = 1; + proto.bb = 1; + proto.bc = 1; + proto.bd = 1; + proto.be = 1; + proto.bf = 1; + var weirdObject = Object.create(proto); + var result = foo({}, weirdObject); + for (var p in result) { + if (result[p] !== result["" + p]) + throw new Error("OUT"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-double-predicted-int.js b/implementation-contributed/javascriptcore/stress/get-by-val-double-predicted-int.js new file mode 100644 index 0000000000..6af1fd73c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-double-predicted-int.js @@ -0,0 +1,16 @@ +function foo(a, i) { + var x = a[i]; + predictInt32(x); + return x + 2000000000; +} + +noInline(foo); + +var array = [2000000000.5]; + +for (var i = 0; i < 1000000; ++i) { + var result = foo(array, 0); + if (result != 4000000000.5) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-array-type.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-array-type.js new file mode 100644 index 0000000000..b5b01f2c86 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-array-type.js @@ -0,0 +1,358 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +function testAccessInBounds() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + // Adding non-indexed properties to change the kind of array we are dealing with. + target["webkit"] = "awesome!"; + target[-5] = "Uh?"; + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } + + if (target["webkit"] !== "awesome!") + throw "Failed to retrieve \"webkit\""; + if (opaqueGetByVal1(target, -5) !== "Uh?") + throw "Failed to retrive -5"; +} +testAccessInBounds(); + +// Empty array access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testEmptyArrayAccess() { + const target = new Array(); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value; + } + + // Adding non-indexed properties to change the kind of array we are dealing with. + target["webkit"] = "awesome!"; + target[-5] = "Uh?"; + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal2() case 2 failed for i = " + i + " value = " + value; + } + if (target["webkit"] !== "awesome!") + throw "Failed to retrieve \"webkit\""; + if (opaqueGetByVal2(target, -5) !== "Uh?") + throw "Failed to retrive -5"; +} +testEmptyArrayAccess(); + +// Out of bounds array access. +function opaqueGetByVal3(array, index) { + return array[index]; +} +noInline(opaqueGetByVal3); + +function testOutOfBoundsArrayAccess() { + const target = new Array(42); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal3(target, i + 43); + if (value !== undefined) + throw "opaqueGetByVal3() case 1 failed for i = " + i + " value = " + value; + } + + // Adding non-indexed properties to change the kind of array we are dealing with. + target["webkit"] = "awesome!"; + target[-5] = "Uh?"; + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal3(target, i + 43); + if (value !== undefined) + throw "opaqueGetByVal3() case 2 failed for i = " + i + " value = " + value; + } + if (target["webkit"] !== "awesome!") + throw "Failed to retrieve \"webkit\""; + if (opaqueGetByVal3(target, -5) !== "Uh?") + throw "Failed to retrive -5"; +} +testOutOfBoundsArrayAccess(); + +// In-and-out of bounds. +function opaqueGetByVal4(array, index) { + return array[index]; +} +noInline(opaqueGetByVal4); + +function testInAndOutOfBoundsArrayAccess() { + const target = new Array(71); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal4(target, i); + if (value !== undefined) + throw "opaqueGetByVal4() case 1 failed for i = " + i + " value = " + value; + } + + // Adding non-indexed properties to change the kind of array we are dealing with. + target["webkit"] = "awesome!"; + target[-5] = "Uh?"; + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal4(target, i); + if (value !== undefined) + throw "opaqueGetByVal4() case 2 failed for i = " + i + " value = " + value; + } + if (target["webkit"] !== "awesome!") + throw "Failed to retrieve \"webkit\""; + if (opaqueGetByVal4(target, -5) !== "Uh?") + throw "Failed to retrive -5"; +} +testInAndOutOfBoundsArrayAccess(); + +// Negative index. +function opaqueGetByVal5(array, index) { + return array[index]; +} +noInline(opaqueGetByVal5); + +function testNegativeIndex() { + const target = new Array(); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal5(target, -1 - i); + if (value !== undefined) + throw "opaqueGetByVal5() case 1 failed for i = " + i + " value = " + value; + } + + // Adding non-indexed properties to change the kind of array we are dealing with. + target["webkit"] = "awesome!"; + target[-5] = "Uh?"; + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal5(target, -1 - i); + if (i === 4) { + if (value !== "Uh?") + throw "opaqueGetByVal5() case 2 failed for i = " + i + " value = " + value; + } else if (value !== undefined) + throw "opaqueGetByVal5() case 2 failed for i = " + i + " value = " + value; + } + if (target["webkit"] !== "awesome!") + throw "Failed to retrieve \"webkit\""; + if (opaqueGetByVal5(target, -5) !== "Uh?") + throw "Failed to retrive -5"; +} +testNegativeIndex(); + +// Test integer boundaries. +function opaqueGetByVal6(array, index) { + return array[index]; +} +noInline(opaqueGetByVal6); + +function testIntegerBoundaries() { + const target = new Array(42); + + for (let i = 0; i < 1e4; ++i) { + // 2^31 - 1 + let value = opaqueGetByVal6(target, 2147483647); + if (value !== undefined) + throw "opaqueGetByVal6() case 1 failed for 2147483647 value = " + value; + + // 2^31 + value = opaqueGetByVal6(target, 2147483648); + if (value !== undefined) + throw "opaqueGetByVal6() case 1 failed for 2147483648 value = " + value; + + // 2^32 - 1 + value = opaqueGetByVal6(target, 4294967295); + if (value !== undefined) + throw "opaqueGetByVal6() case 1 failed for 4294967295 value = " + value; + + // 2^32 + value = opaqueGetByVal6(target, 4294967296); + if (value !== undefined) + throw "opaqueGetByVal6() case 1 failed for 4294967296 value = " + value; + + // 2^52 + value = opaqueGetByVal6(target, 4503599627370496); + if (value !== undefined) + throw "opaqueGetByVal6() case 1 failed for 4503599627370496 value = " + value; + } +} +testIntegerBoundaries(); + +// Use a constant index. +function opaqueGetByVal7_zero(array) { + return array[0]; +} +noInline(opaqueGetByVal7_zero); + +function opaqueGetByVal7_doubleZero(array) { + return array[1.5 - 1.5]; +} +noInline(opaqueGetByVal7_doubleZero); + +function opaqueGetByVal7_101(array) { + return array[101]; +} +noInline(opaqueGetByVal7_101); + +function opaqueGetByVal7_double101(array) { + return array[101.0000]; +} +noInline(opaqueGetByVal7_double101); + +function opaqueGetByVal7_1038(array) { + return array[1038]; +} +noInline(opaqueGetByVal7_1038); + +function testContantIndex() { + const emptyArray = new Array(); + + for (let i = 0; i < 1e4; ++i) { + let value = opaqueGetByVal7_zero(emptyArray); + if (value !== undefined) + throw "opaqueGetByVal7() case 1 failed for 0 value = " + value; + + value = opaqueGetByVal7_doubleZero(emptyArray); + if (value !== undefined) + throw "opaqueGetByVal7_doubleZero() case 1 failed for 0 value = " + value; + + value = opaqueGetByVal7_101(emptyArray); + if (value !== undefined) + throw "opaqueGetByVal7() case 1 failed for 101 value = " + value; + + value = opaqueGetByVal7_double101(emptyArray); + if (value !== undefined) + throw "opaqueGetByVal7() case 1 failed for 101 value = " + value; + } + + const uninitializedArray = new Array(1038); + + for (let i = 0; i < 1e4; ++i) { + let value = opaqueGetByVal7_zero(uninitializedArray); + if (value !== undefined) + throw "opaqueGetByVal7() case 2 failed for 0 value = " + value; + + value = opaqueGetByVal7_doubleZero(uninitializedArray); + if (value !== undefined) + throw "opaqueGetByVal7_doubleZero() case 2 failed for 0 value = " + value; + + value = opaqueGetByVal7_101(uninitializedArray); + if (value !== undefined) + throw "opaqueGetByVal7() case 2 failed for 101 value = " + value; + + value = opaqueGetByVal7_double101(uninitializedArray); + if (value !== undefined) + throw "opaqueGetByVal7_double101() case 2 failed for 101 value = " + value; + + value = opaqueGetByVal7_1038(uninitializedArray); + if (value !== undefined) + throw "opaqueGetByVal7() case 2 failed for 1038 value = " + value; + } + +} +testContantIndex(); + +// Test natural integer proggression. +function testValueIsUndefinedInNaturalProgression(value) { + if (value !== undefined) + throw "Invalid value in natural progression test" +} +noInline(testValueIsUndefinedInNaturalProgression); + +function testNaturalProgression() { + const target = new Array(42); + + for (let i = 0; i < 10; ++i) { + const value = target[i]; + testValueIsUndefinedInNaturalProgression(value); + } + + const emptyTarget = new Array(); + for (let i = 10; i--;) { + const value = emptyTarget[i]; + testValueIsUndefinedInNaturalProgression(value); + } +} +noInline(testNaturalProgression); +for (let i = 0; i < 1e4; ++i) + testNaturalProgression(); + +// PutByVal changes the array type. +function getUndecidedArray() +{ + return new Array(50); +} +noInline(getUndecidedArray); + +for (let i = 0; i < 1e4; ++i) { + // Warm up getUndecidedArray() without any useful profiling information. + getUndecidedArray(); +} + +function getByValAfterPutByVal() +{ + const array = getUndecidedArray(); + + for (let i = 0; i < array.length + 1; ++i) { + if (array[i] !== undefined) + throw "Invalid access on the empty array in getByValAfterPutByVal()"; + } + + array[5] = 42; + + for (let i = array.length + 1; i--;) { + if (i === 5) { + if (array[i] !== 42) + throw "array[5] !== 42" + } else if (array[i] !== undefined) + throw "Invalid access on the mostly empty array in getByValAfterPutByVal()"; + } +} +noInline(getByValAfterPutByVal); + +for (let i = 0; i < 1e4; ++i) + getByValAfterPutByVal(); + +// Push changes the array type. +function getByValAfterPush() +{ + const array = getUndecidedArray(); + + for (let i = 0; i < array.length + 1; ++i) { + if (array[i] !== undefined) + throw "Invalid access on the empty array in getByValAfterPush()"; + } + + array.push(43); + + for (let i = array.length + 1; i--;) { + if (i === 50) { + if (array[i] !== 43) + throw "array[50] !== 43" + } else if (array[i] !== undefined) + throw "Invalid access on the mostly empty array in getByValAfterPush()"; + } +} +noInline(getByValAfterPutByVal); + +for (let i = 0; i < 1e4; ++i) + getByValAfterPush(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-out-of-bounds.js new file mode 100644 index 0000000000..a9aa5674e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-out-of-bounds.js @@ -0,0 +1,20 @@ +"use strict" + +function opaqueGetByValKnownArray(value) +{ + let array = []; + return array[value]; +} +noInline(opaqueGetByValKnownArray); + +// Warm up without out-of-bounds access. +for (let i = 0; i < 1e3; ++i) { + if (opaqueGetByValKnownArray(0) !== undefined) + throw "Failed opaqueGetByValKnownArray(0)"; +} + +// Then access out of bounds. +for (let i = 0; i < 1e3; ++i) { + if (opaqueGetByValKnownArray(-1) !== undefined) + throw "Failed opaqueGetByValKnownArray(-1)"; +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-1.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-1.js new file mode 100644 index 0000000000..be3afb1ac4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-1.js @@ -0,0 +1,63 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +function testAccessInBounds() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + Array.prototype[42] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const index = i % 100; + const value = opaqueGetByVal1(target, index); + if (index == 42) { + if (value !== "Uh!") + throw "opaqueGetByVal1() case 2 failed on 42, value = " + value; + } else if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } + + delete Array.prototype[42]; +} +testAccessInBounds(); + +// Test in-bounds access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testAccessOnEmpty() { + const target = new Array(); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value; + } + + Array.prototype[5] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const index = i % 100; + const value = opaqueGetByVal2(target, index); + if (index == 5) { + if (value !== "Uh!") + throw "opaqueGetByVal2() case 2 failed on 42, value = " + value; + } else if (value !== undefined) + throw "opaqueGetByVal2() case 2 failed for i = " + i + " value = " + value; + } +} +testAccessOnEmpty(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-2.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-2.js new file mode 100644 index 0000000000..22450a0290 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-2.js @@ -0,0 +1,52 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +function testAccessInBounds() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i % 100); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + Object.prototype[42] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const index = i % 100; + const value = opaqueGetByVal1(target, index); + if (index == 42) { + if (value !== "Uh!") + throw "opaqueGetByVal1() case 2 failed on 42, value = " + value; + } else if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } +} +testAccessInBounds(); + +// Test in-bounds access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testAccessOnEmpty() { + const target = new Array(); + + for (let i = 0; i < 1e4; ++i) { + const index = i % 100; + const value = opaqueGetByVal2(target, index); + if (index == 42) { + if (value !== "Uh!") + throw "opaqueGetByVal2() case 2 failed on 42, value = " + value; + } else if (value !== undefined) + throw "opaqueGetByVal2() case 2 failed for i = " + i + " value = " + value; + } +} +testAccessOnEmpty(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-3.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-3.js new file mode 100644 index 0000000000..ef1c404d74 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-3.js @@ -0,0 +1,51 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +function testUninitializedArray() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + Array.prototype[-1] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal1(target, -1) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; + +} +testUninitializedArray(); + +// Test in-bounds access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testAccessOnEmpty() { + const target = new Array(); + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i); + if (value !== undefined) + throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal2(target, -1) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; +} +testAccessOnEmpty(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-4.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-4.js new file mode 100644 index 0000000000..f11d9744c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-4.js @@ -0,0 +1,53 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +const IntMax = Math.pow(2, 31) - 1; + +function testUninitializedArray() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + Array.prototype[IntMax] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal1(target, IntMax) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; + +} +testUninitializedArray(); + +// Test in-bounds access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testAccessOnEmpty() { + const target = new Array(); + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i); + if (value !== undefined) + throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal2(target, IntMax) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; +} +testAccessOnEmpty(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-5.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-5.js new file mode 100644 index 0000000000..4334db3584 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-5.js @@ -0,0 +1,53 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +const IntMaxPlusOne = Math.pow(2, 31); + +function testUninitializedArray() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + Array.prototype[IntMaxPlusOne] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal1(target, IntMaxPlusOne) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; + +} +testUninitializedArray(); + +// Test in-bounds access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testAccessOnEmpty() { + const target = new Array(); + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i); + if (value !== undefined) + throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal2(target, IntMaxPlusOne) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; +} +testAccessOnEmpty(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-6.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-6.js new file mode 100644 index 0000000000..e24a7c2258 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-sane-chain-6.js @@ -0,0 +1,54 @@ +"use strict" + +// Test in-bounds access. +function opaqueGetByVal1(array, index) { + return array[index]; +} +noInline(opaqueGetByVal1); + +// The max unsigned 32bits integer is the first integer not considered an indexing property. +const NotIndexInteger = 0xFFFFFFFF; + +function testUninitializedArray() { + const target = new Array(100); + + // We start with an original array. Those GetByVal can be eliminated. + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 1 failed for i = " + i + " value = " + value; + } + + Array.prototype[NotIndexInteger] = "Uh!"; + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal1(target, i); + if (value !== undefined) + throw "opaqueGetByVal1() case 2 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal1(target, NotIndexInteger) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; + +} +testUninitializedArray(); + +// Test in-bounds access. +function opaqueGetByVal2(array, index) { + return array[index]; +} +noInline(opaqueGetByVal2); + +function testAccessOnEmpty() { + const target = new Array(); + + for (let i = 0; i < 1e4; ++i) { + const value = opaqueGetByVal2(target, i); + if (value !== undefined) + throw "opaqueGetByVal2() case 1 failed for i = " + i + " value = " + value; + } + const prototypeValue = opaqueGetByVal2(target, NotIndexInteger) + if (prototypeValue !== "Uh!") + throw "prototypeValue value = " + value; +} +testAccessOnEmpty(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-trivial.js b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-trivial.js new file mode 100644 index 0000000000..22e371c015 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-on-undecided-trivial.js @@ -0,0 +1,37 @@ +"use strict" + +// Trivial case where everything could be eliminated. +function iterateEmptyArray() +{ + const array = new Array(); + for (let i = 0; i < 100; ++i) { + if (array[i] !== undefined) + throw "Unexpected value in empty array at index i = " + i; + } +} +noInline(iterateEmptyArray); + +for (let i = 1e4; i--;) { + iterateEmptyArray(); +} + +// Trivial case but the array needs to be checked. +function getArrayOpaque() +{ + return new Array(10); +} +noInline(getArrayOpaque); + +function iterateOpaqueEmptyArray() +{ + const array = getArrayOpaque(); + for (let i = 0; i < 100; ++i) { + if (array[i] !== undefined) + throw "Unexpected value in empty array at index i = " + i; + } +} +noInline(iterateEmptyArray); + +for (let i = 1e4; i--;) { + iterateOpaqueEmptyArray(); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-out-of-bounds-basics.js b/implementation-contributed/javascriptcore/stress/get-by-val-out-of-bounds-basics.js new file mode 100644 index 0000000000..0d70fd47cd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-out-of-bounds-basics.js @@ -0,0 +1,221 @@ +// Get early out-of-bound data. +function opaqueGetByValOnInt32ArrayEarlyOutOfBounds(array, index) +{ + return array[index]; +} +noInline(opaqueGetByValOnInt32ArrayEarlyOutOfBounds); + +function testInt32ArrayEarlyOutOfBounds() +{ + // Warm up with an immediate out of bounds. + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + for (var i = 0; i <= 10; ++i) { + var value = opaqueGetByValOnInt32ArrayEarlyOutOfBounds(int32Array, i); + if ((i < 10 && value !== i) || (i >= 10 && value !== undefined)) + throw "Failed opaqueGetByValOnInt32ArrayEarlyOutOfBounds(int32Array, i) warmup with i = " + i + " value = " + value; + } + + // We then do plenty of in-bounds accesses. + for (var i = 0; i < 1e4; ++i) { + for (var j = 0; j < 10; ++j) { + var value = opaqueGetByValOnInt32ArrayEarlyOutOfBounds(int32Array, j); + if (j < 10 && value !== j) + throw "Failed opaqueGetByValOnInt32ArrayEarlyOutOfBounds(int32Array, j) in-bounds with j = " + j + " value = " + value; + } + } + + // Followed by plenty of out-of-bounds accesses. + for (var i = 0; i < 1e4; ++i) { + for (var j = 0; j <= 10; ++j) { + var value = opaqueGetByValOnInt32ArrayEarlyOutOfBounds(int32Array, j); + if ((j < 10 && value !== j) || (j >= 10 && value !== undefined)) + throw "Failed opaqueGetByValOnInt32ArrayEarlyOutOfBounds(int32Array, j) out-of-bounds with j = " + j + " value = " + value; + } + } +} +testInt32ArrayEarlyOutOfBounds(); + +// One more access, with a completely different array type. +function testIndexingTypeChangesOnInt32Array() +{ + var doubleArray = [-0, 5.5, -42.1]; + var value = opaqueGetByValOnInt32ArrayEarlyOutOfBounds(doubleArray, 0); + if (value || 1 / value !== -Infinity) + throw "Failed opaqueGetByValOnInt32ArrayEarlyOutOfBounds(doubleArray, 0)"; + var value = opaqueGetByValOnInt32ArrayEarlyOutOfBounds(doubleArray, 1); + if (value !== 5.5) + throw "Failed opaqueGetByValOnInt32ArrayEarlyOutOfBounds(doubleArray, 1)"; + var value = opaqueGetByValOnInt32ArrayEarlyOutOfBounds(doubleArray, 2); + if (value !== -42.1) + throw "Failed opaqueGetByValOnInt32ArrayEarlyOutOfBounds(doubleArray, 2)"; +} +testIndexingTypeChangesOnInt32Array(); + + + +// Get out-of-bound data after a thousand run. +function opaqueGetByValOnStringArrayHotOutOfBounds(array, index) +{ + return array[index]; +} +noInline(opaqueGetByValOnStringArrayHotOutOfBounds); + +function testStringArrayHotOutOfBounds() +{ + // Warm up with in bounds access. + var stringArray = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + for (var i = 0; i < 1e2; ++i) { + for (var j = 0; j < 10; ++j) { + var value = opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, j); + if (value !== "" + j) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, j) in-bounds with j = " + j + " value = " + value; + } + } + + // Do a single out of bounds after warmup. + var value = opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, 10); + if (value !== undefined) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, 10) with i = " + i + " value = " + value; + + // We then do plenty of in-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j < 10; ++j) { + var value = opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, j); + if (value !== "" + j) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, j) in-bounds with j = " + j + " value = " + value; + } + } + + // Followed by plenty of out-of-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j <= 10; ++j) { + var value = opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, j); + if ((j < 10 && value !== "" + j) || (j >= 10 && value !== undefined)) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(stringArray, j) out-of-bounds with j = " + j + " value = " + value; + } + } +} +testStringArrayHotOutOfBounds(); + +function testIndexingTypeChangesOnStringArray() +{ + var doubleArray = [-0, 5.5, -42.1]; + var value = opaqueGetByValOnStringArrayHotOutOfBounds(doubleArray, 0); + if (value || 1 / value !== -Infinity) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(doubleArray, 0)"; + var value = opaqueGetByValOnStringArrayHotOutOfBounds(doubleArray, 1); + if (value !== 5.5) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(doubleArray, 1)"; + var value = opaqueGetByValOnStringArrayHotOutOfBounds(doubleArray, 2); + if (value !== -42.1) + throw "Failed opaqueGetByValOnStringArrayHotOutOfBounds(doubleArray, 2)"; +} +testIndexingTypeChangesOnStringArray(); + + + +// Get out-of-bound data after a thousand run, but from a different array type. +function opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(array, index) +{ + return array[index]; +} +noInline(opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds); + +function testStringAndInt32ArrayHotOutOfBounds() +{ + // Warm up with in bounds access. + var stringArray = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]; + for (var i = 0; i < 1e2; ++i) { + for (var j = 0; j < 10; ++j) { + var value = opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, j); + if (value !== "" + j) + throw "Failed opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, j) in-bounds with j = " + j + " value = " + value; + } + } + + // Do a single out of bounds after warmup. + var int32Array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]; + var value = opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(int32Array, 10); + if (value !== undefined) + throw "Failed opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, 10) with i = " + i + " value = " + value; + + // We then do plenty of in-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j < 10; ++j) { + var value = opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, j); + if (value !== "" + j) + throw "Failed opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, j) in-bounds with j = " + j + " value = " + value; + + var value = opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(int32Array, j); + if (value !== j) + throw "Failed opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(int32Array, j) in-bounds with j = " + j + " value = " + value; + } + } + + // Followed by plenty of out-of-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j <= 10; ++j) { + var value = opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(int32Array, j); + if ((j < 10 && value !== j) || (j >= 10 && value !== undefined)) + throw "Failed opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(int32Array, j) out-of-bounds with j = " + j + " value = " + value; + + var value = opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, j); + if ((j < 10 && value !== "" + j) || (j >= 10 && value !== undefined)) + throw "Failed opaqueGetByValOnStringAndInt32ArrayHotOutOfBounds(stringArray, j) out-of-bounds with j = " + j + " value = " + value; + } + } +} +testStringAndInt32ArrayHotOutOfBounds(); + + +// Get out-of-bound data from a hole after a thousand run. +function opaqueGetByValOnDoubleArrayHotOutOfBounds(array, index) +{ + return array[index]; +} +noInline(opaqueGetByValOnDoubleArrayHotOutOfBounds); + +function testStringArrayHotOutOfBounds() +{ + // Warm up with in bounds access. + var doubleArray = new Array(10); + for (var i = 0; i < 10; ++i) { + if (i !== 5) + doubleArray[i] = i + 0.5; + } + for (var i = 0; i < 1e2; ++i) { + for (var j = 0; j < 10; ++j) { + if (j !== 5) { + var value = opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, j); + if (value !== j + 0.5) + throw "Failed opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, j) in-bounds with j = " + j + " value = " + value; + } + } + } + + // Do a single out of bounds after warmup. + var value = opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, 5); + if (value !== undefined) + throw "Failed opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, 5) with i = " + i + " value = " + value; + + // We then do plenty of in-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j < 10; ++j) { + if (j !== 5) { + var value = opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, j); + if (value !== j + 0.5) + throw "Failed opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, j) in-bounds with j = " + j + " value = " + value; + } + } + } + + // Followed by plenty of out-of-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j < 10; ++j) { + var value = opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, j); + if ((j !== 5 && value !== j + 0.5) || (j === 10 && value !== undefined)) + throw "Failed opaqueGetByValOnDoubleArrayHotOutOfBounds(doubleArray, j) out-of-bounds with j = " + j + " value = " + value; + } + } +} +testStringArrayHotOutOfBounds(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-string.js b/implementation-contributed/javascriptcore/stress/get-by-val-string.js new file mode 100644 index 0000000000..7d77ec02de --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-string.js @@ -0,0 +1,66 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var object = {}; +object[42] = 42; +object[43] = function tag() { return 42; }; + +shouldBe(object['43']`Hello`, 42); + + +class Hello { + constructor() + { + this['44'] = 42; + shouldBe(this['42'], 42); + shouldBe(this['43'](), 42); + shouldBe(this['44'], 42); + } + + get 42() + { + return 42; + } + + 43() + { + return 42; + } +} + +class Derived extends Hello { + constructor() + { + super(); + shouldBe(super['42'], 42); + shouldBe(super['43'](), 42); + shouldBe(this['44']++, 42); + shouldBe(++this['44'], 44); + } +} + +var derived = new Derived(); + +var test = { 42: '' }; + +for (test['42'] in { a: 'a' }) + shouldBe(test['42'], 'a'); +shouldBe(test['42'], 'a'); + +for (test['42'] of [ 'b' ]) + shouldBe(test['42'], 'b'); +shouldBe(test['42'], 'b'); + +{ + let { '42': a } = { '42': '42' }; + shouldBe(a, '42'); +} + +{ + let object = { 42: 42 }; + let objectAlias = object; + object['42'] = (object = 30); + shouldBe(objectAlias['42'], 30); +} diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-to-id-with-getter.js b/implementation-contributed/javascriptcore/stress/get-by-val-to-id-with-getter.js new file mode 100644 index 0000000000..b46c16516e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-to-id-with-getter.js @@ -0,0 +1,25 @@ + +// Test GetByVal => GetById conversion works correctly when inlining a getter in the DFG. +function foo(obj, val) { + if (obj[val]) { + return 1; + } + return 0; +} +noInline(foo); + + +o = { num: 0, + get hello() { + if (this.num === 1) + return true; + return false; + } + }; + +for(i = 0; i < 100000; ++i) { + let num = i % 2; + o.num = num; + if (foo(o, "hello") !== num) + throw new Error("bad result on iteration: " + i); +} diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-string-constructor.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-constructor.js new file mode 100644 index 0000000000..ac5851602e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-constructor.js @@ -0,0 +1,23 @@ +var symbol = "@@species"; +function Hello() { +} + +Object.defineProperty(Hello, symbol, { + get: function () { + return this; + } +}); + +Hello.prototype.generate = function () { + return new this.constructor[symbol](); +}; + +function ok() { + var object = new Hello(); + if (!(object.generate() instanceof Hello)) + throw new Error("bad instance"); +} +noInline(ok); + +for (var i = 0; i < 10000; ++i) + ok(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-string-exit.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-exit.js new file mode 100644 index 0000000000..9aa262d64a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-exit.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function getByVal(object, name) +{ + return object[name]; +} +noInline(getByVal); + +function getStr1() +{ + return "hello"; +} +noInline(getStr1); + +function getStr2() +{ + return "hello"; +} +noInline(getStr2); + +var object = { + hello: 42 +}; + +for (var i = 0; i < 100; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); +shouldBe(getByVal(object, { toString() { return 'hello'; } }), 42); + +for (var i = 0; i < 10000; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); +shouldBe(getByVal(object, { toString() { return 'hello'; } }), 42); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-string-generated.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-generated.js new file mode 100644 index 0000000000..e813a7e140 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-generated.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function getByVal(object, name) +{ + return object[name]; +} +noInline(getByVal); + +var value = 'lo'; + +function getStr1() +{ + return "hel" + value; +} +noInline(getStr1); + +function getStr2() +{ + return "hello"; +} +noInline(getStr2); + +var object = { + hello: 42, + world: 50 +}; + +for (var i = 0; i < 10000; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); +shouldBe(getByVal(object, 'world'), 50); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-string-getter.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-getter.js new file mode 100644 index 0000000000..858ec0a86d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-string-getter.js @@ -0,0 +1,16 @@ + +var object = { + get hello() { + return 42; + } +}; + +function ok() { + var value = 'hello'; + if (object[value] + 20 !== 62) + throw new Error(); +} +noInline(ok); + +for (var i = 0; i < 10000; ++i) + ok(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-string.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-string.js new file mode 100644 index 0000000000..6db33d9bec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-string.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function getByVal(object, name) +{ + return object[name]; +} +noInline(getByVal); + +function getStr1() +{ + return "hello"; +} +noInline(getStr1); + +function getStr2() +{ + return "hello"; +} +noInline(getStr2); + +var object = { + hello: 42, + world: 50 +}; + +for (var i = 0; i < 10000; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getStr1() : getStr2()), 42); +shouldBe(getByVal(object, 'world'), 50); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-constructor.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-constructor.js new file mode 100644 index 0000000000..2895c26451 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-constructor.js @@ -0,0 +1,23 @@ +var symbol = Symbol(); +function Hello() { +} + +Object.defineProperty(Hello, symbol, { + get: function () { + return this; + } +}); + +Hello.prototype.generate = function () { + return new this.constructor[symbol](); +}; + +function ok() { + var object = new Hello(); + if (!(object.generate() instanceof Hello)) + throw new Error("bad instance"); +} +noInline(ok); + +for (var i = 0; i < 10000; ++i) + ok(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-exit.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-exit.js new file mode 100644 index 0000000000..c0cdcb676d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-exit.js @@ -0,0 +1,38 @@ +var symbol1 = Symbol(); +var symbol2 = Object.getOwnPropertySymbols({ [symbol1]: 42 })[0]; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function getByVal(object, name) +{ + return object[name]; +} +noInline(getByVal); + +function getSym1() +{ + return symbol1; +} +noInline(getSym1); + +function getSym2() +{ + return symbol2; +} +noInline(getSym2); + +var object = { + [symbol1]: 42, + hello: 50 +}; + +for (var i = 0; i < 100; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getSym1() : getSym2()), 42); +shouldBe(getByVal(object, 'hello'), 50); + +for (var i = 0; i < 10000; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getSym1() : getSym2()), 42); +shouldBe(getByVal(object, 'hello'), 50); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-getter.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-getter.js new file mode 100644 index 0000000000..7035e4b038 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol-getter.js @@ -0,0 +1,23 @@ + +var object = { + get hello() { + return 42; + } +}; + +var symbol = Symbol(); + +Object.defineProperty(object, symbol, { + get: function () { + return 42; + } +}); + +function ok() { + if (object[symbol] + 20 !== 62) + throw new Error(); +} +noInline(ok); + +for (var i = 0; i < 10000; ++i) + ok(); diff --git a/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol.js b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol.js new file mode 100644 index 0000000000..2c834eb26b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-by-val-with-symbol.js @@ -0,0 +1,33 @@ +var symbol1 = Symbol(); +var symbol2 = Object.getOwnPropertySymbols({ [symbol1]: 42 })[0]; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function getByVal(object, name) +{ + return object[name]; +} +noInline(getByVal); + +function getSym1() +{ + return symbol1; +} +noInline(getSym1); + +function getSym2() +{ + return symbol2; +} +noInline(getSym2); + +var object = { + [symbol1]: 42, + hello: 50 +}; + +for (var i = 0; i < 10000; ++i) + shouldBe(getByVal(object, i % 2 === 0 ? getSym1() : getSym2()), 42); diff --git a/implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-direct-arguments.js b/implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-direct-arguments.js new file mode 100644 index 0000000000..57d380afbb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-direct-arguments.js @@ -0,0 +1,13 @@ +function foo(a) { + if (!effectful42()) + return arguments; + return a; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result !== void 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-scoped-arguments.js b/implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-scoped-arguments.js new file mode 100644 index 0000000000..a85cd9537b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-declared-unpassed-argument-in-scoped-arguments.js @@ -0,0 +1,15 @@ +function foo(a) { + if (!effectful42()) { + (function() { a = 43; })(); + return arguments; + } + return a; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result !== void 0) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/get-from-scope-dynamic-onto-proxy.js b/implementation-contributed/javascriptcore/stress/get-from-scope-dynamic-onto-proxy.js new file mode 100644 index 0000000000..bb9cbca687 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-from-scope-dynamic-onto-proxy.js @@ -0,0 +1,106 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +// LLInt slow path operation. +shouldThrow(function () { + var target = {}; + var handler = { + has: function (receiver, name) + { + return name === 'i'; + }, + get: function (target, name, receiver) + { + if (name === 'i') + throw new Error("NG"); + return 42; + } + }; + var proxy = new Proxy(target, handler); + with (proxy) { + i; + } +}, `Error: NG`); + +// Baseline JIT operation. +shouldThrow(function () { + var flag = false; + var target = {}; + var handler = { + has: function (receiver, name) + { + return name === 'i'; + }, + get: function (target, name, receiver) + { + if (name === 'i' && flag) + throw new Error("NG"); + return 42; + } + }; + var proxy = new Proxy(target, handler); + for (var i = 0; i < 1e4; ++i) { + with (proxy) { + i; + } + if (i === 1e3) + flag = true; + } +}, `Error: NG`); + +// DFG JIT operation. +var thrown = null; +try { + (() => { + var flag = false; + var target = { + __proto__: null + }; + var handler = { + has: function (receiver, name) + { + return name === 'arguments'; + }, + + get: function (target, name, receiver) + { + if (name === 'arguments' && flag) + throw new Error("NG"); + return 42; + } + }; + var proxy = new Proxy(target, handler); + proxy.__proto__ = null; + Object.prototype.__proto__ = { + __proto__: proxy, + }; + (() => { + for (var i = 0; i < 1e4; ++i) { + arguments; + if (i === (1e4 - 2)) + flag = true; + } + })(); + })(); +} catch (e) { + thrown = e; +} +Object.prototype.__proto__ = null; +shouldBe(String(thrown), `TypeError: Cannot set prototype of immutable prototype object`); diff --git a/implementation-contributed/javascriptcore/stress/get-local-elimination.js b/implementation-contributed/javascriptcore/stress/get-local-elimination.js new file mode 100644 index 0000000000..612f9d51a9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-local-elimination.js @@ -0,0 +1,15 @@ +var True = true; + +function foo(a) { + var x = a; + if (True) + return a + x; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42); + if (result != 84) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-constant-folding.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-constant-folding.js new file mode 100644 index 0000000000..1eb8b0372f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-constant-folding.js @@ -0,0 +1,14 @@ +function test() { + for (var i = 0; i < 1000000; ++i) { + try { + (function () { + return arguments[-9]; + })(42); + } catch (e) {} + } +} +noInline(test); + +try { + test(42); +} catch (e) {} diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-creates-arguments.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-creates-arguments.js new file mode 100644 index 0000000000..ec8c0cf3e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-creates-arguments.js @@ -0,0 +1,42 @@ +function blah(args) { + var array = []; + for (var i = 0; i < args.length; ++i) + array.push(args[i]); + return array; +} + +function foo() { + // Force creation of arguments by doing out-of-bounds access. + var tmp = arguments[42]; + + // Use the created arguments object. + return blah(arguments); +} + +function bar(array) { + return foo.apply(this, array); +} + +noInline(blah); +noInline(bar); + +function checkEqual(a, b) { + if (a.length != b.length) + throw "Error: length mismatch: " + a + " versus " + b; + for (var i = a.length; i--;) { + if (a[i] != b[i]) + throw "Error: mismatch at i = " + i + ": " + a + " versus " + b; + } +} + +function test(array) { + var actual = bar(array); + checkEqual(actual, array); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js new file mode 100644 index 0000000000..f5bdd784ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-for-inlined-escaped-arguments.js @@ -0,0 +1,18 @@ +function foo() { + return arguments; +} + +function bar(a, b, c, i) { + var args = foo(b, c, 42); + return args[i]; +} + +noInline(bar); + +var expected = [2, 3, 42]; +for (var i = 0; i < 10000; ++i) { + var result = bar(1, 2, 3, i % 3); + if (result != expected[i % 3]) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-inlined-no-formal-parameters.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-inlined-no-formal-parameters.js new file mode 100644 index 0000000000..eef298f5b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-inlined-no-formal-parameters.js @@ -0,0 +1,33 @@ +var index; + +function foo() { + if (index >= 0) + return arguments[index]; + else + return 13; +} + +function bar() { + return foo(); +} + +noInline(bar); + +for (var i = 0; i < 100; ++i) { + index = i & 1; + var result = foo(42, 53); + if (result != [42, 53][index]) + throw "Error: bad result in first loop: " + result; +} + +for (var i = 0; i < 100000; ++i) { + index = -(i & 1) - 1; + var result = bar(); + if (result !== 13) + throw "Error: bad result in second loop: " + result; +} + +index = 0; +var result = bar(); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds-no-warm-up.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds-no-warm-up.js new file mode 100644 index 0000000000..5058e6bf1a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds-no-warm-up.js @@ -0,0 +1,9 @@ +function foo(index) { + return arguments[index]; +} + +noInline(foo); + +var result = foo(1); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds.js new file mode 100644 index 0000000000..c8ee317044 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-out-of-bounds.js @@ -0,0 +1,15 @@ +function foo(index) { + return arguments[index]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 42); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var result = foo(1); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-out-of-bounds.js new file mode 100644 index 0000000000..3737db6d77 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-out-of-bounds.js @@ -0,0 +1,17 @@ +function foo(index) { + if (index > 1000) + arguments = [1, 2, 3]; + return arguments[index]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 42); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var result = foo(1); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-wrap-around.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-wrap-around.js new file mode 100644 index 0000000000..4a7e3f8f32 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-safe-wrap-around.js @@ -0,0 +1,17 @@ +function foo(index) { + if (index > 1000) + arguments = [1, 2, 3]; + return arguments[index]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 42); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var result = foo(-1); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around-no-warm-up.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around-no-warm-up.js new file mode 100644 index 0000000000..a6a16576cb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around-no-warm-up.js @@ -0,0 +1,9 @@ +function foo(index) { + return arguments[index]; +} + +noInline(foo); + +var result = foo(-1); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around.js b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around.js new file mode 100644 index 0000000000..770b451b8a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-my-argument-by-val-wrap-around.js @@ -0,0 +1,15 @@ +function foo(index) { + return arguments[index]; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1, 42); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var result = foo(-1); +if (result !== void 0) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/get-prototype-create-this-effectful.js b/implementation-contributed/javascriptcore/stress/get-prototype-create-this-effectful.js new file mode 100644 index 0000000000..7b73e676a9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-prototype-create-this-effectful.js @@ -0,0 +1,40 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function test1() { + let boundFunction = function () {}.bind(); + Object.defineProperty(boundFunction, "prototype", { + get() { + throw Error("Hello"); + } + }); + + let threw = false; + try { + Reflect.construct(function() {}, [], boundFunction); + } catch(e) { + threw = true; + assert(e.message === "Hello"); + } + assert(threw); +} +test1(); + +function test2() { + let boundFunction = function () {}.bind(); + let counter = 0; + Object.defineProperty(boundFunction, "prototype", { + get() { + ++counter; + return {}; + } + }); + + const iters = 1000; + for (let i = 0; i < iters; ++i) + Reflect.construct(function() {}, [], boundFunction); + assert(counter === iters); +} +test2(); diff --git a/implementation-contributed/javascriptcore/stress/get-stack-identity-due-to-sinking.js b/implementation-contributed/javascriptcore/stress/get-stack-identity-due-to-sinking.js new file mode 100644 index 0000000000..7f74135446 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-stack-identity-due-to-sinking.js @@ -0,0 +1,18 @@ +function foo(p, a) { + if (p) { + var tmp = arguments; + } + return a; +} + +function bar(p, a) { + return foo(p, a); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(false, 42); + if (result != 42) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/get-stack-mapping-with-dead-get-stack.js b/implementation-contributed/javascriptcore/stress/get-stack-mapping-with-dead-get-stack.js new file mode 100644 index 0000000000..e158ccb6c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-stack-mapping-with-dead-get-stack.js @@ -0,0 +1,27 @@ +function bar() { + if (foo.arguments[0] === void 0) + throw "Error: foo.arguments[0] should not be undefined but is." +} + +noInline(bar); + +function foo(a, p) { + var tmp = a; + effectful42(); + for (var i = 0; i < 10; ++i) { + bar(); + a = i; + } + if (p) { + var tmp = arguments; + } + return a; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(0, false); + if (result != 9) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/get-stack-mapping.js b/implementation-contributed/javascriptcore/stress/get-stack-mapping.js new file mode 100644 index 0000000000..c62f0de736 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/get-stack-mapping.js @@ -0,0 +1,26 @@ +function bar() { + if (foo.arguments[0] === void 0) + throw "Error: foo.arguments[0] should not be undefined but is." +} + +noInline(bar); + +function foo(a, p) { + effectful42(); + for (var i = 0; i < 10; ++i) { + bar(); + a = i; + } + if (p) { + var tmp = arguments; + } + return a; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(0, false); + if (result != 9) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/getter-arity.js b/implementation-contributed/javascriptcore/stress/getter-arity.js new file mode 100644 index 0000000000..eebe954106 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/getter-arity.js @@ -0,0 +1,7 @@ +var o = {}; +o.__defineGetter__("f", function(a, b, c, d, e, f) { return 42; }); +for (var i = 0; i < 10000; ++i) { + var result = o.f; + if (result != 42) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/getter.js b/implementation-contributed/javascriptcore/stress/getter.js new file mode 100644 index 0000000000..cf232a526a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/getter.js @@ -0,0 +1,18 @@ +function foo(o) { + return o.f + o.k * 1000; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) { + var o = {g_: 5}; + o.__defineGetter__("f", function() { return 42 + this.g_; }); + o.__defineGetter__("g", function() { return 43 + this.g_; }); + o.__defineGetter__("h", function() { return 44 + this.g_; }); + o.__defineGetter__("i", function() { return 45 + this.g_; }); + o.__defineGetter__("j", function() { return 46 + this.g_; }); + o.__defineGetter__("k", function() { return 47 + this.g_; }); + var result = foo(o); + if (result != (42 + 5) + 1000 * (47 + 5)) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-2.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-2.js new file mode 100644 index 0000000000..fcfddf4949 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-2.js @@ -0,0 +1,15 @@ +var setGlobalConstRedeclarationShouldNotThrow = $vm.setGlobalConstRedeclarationShouldNotThrow; + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +setGlobalConstRedeclarationShouldNotThrow(); // Allow duplicate const declarations at the global level. + +for (let i = 0; i < 100; i++) { + load("./global-const-redeclaration-setting/first.js"); + assert(foo === 20); + load("./global-const-redeclaration-setting/second.js"); + assert(foo === 40); +} diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-3.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-3.js new file mode 100644 index 0000000000..1177cb9581 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-3.js @@ -0,0 +1,20 @@ +var setGlobalConstRedeclarationShouldNotThrow = $vm.setGlobalConstRedeclarationShouldNotThrow; + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +setGlobalConstRedeclarationShouldNotThrow(); // Allow duplicate const declarations at the global level. + +load("./global-const-redeclaration-setting/first.js"); +assert(foo === 20); +let threw = false; +try { + load("./global-const-redeclaration-setting/strict.js"); // We ignore the setting and always throw an error when in strict mode! +} catch(e) { + threw = true; +} + +assert(threw); +assert(foo === 20); diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-4.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-4.js new file mode 100644 index 0000000000..d96a3d6e2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-4.js @@ -0,0 +1,20 @@ +var setGlobalConstRedeclarationShouldNotThrow = $vm.setGlobalConstRedeclarationShouldNotThrow; + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +setGlobalConstRedeclarationShouldNotThrow(); // Allow duplicate const declarations at the global level. + +load("./global-const-redeclaration-setting/first.js"); +assert(foo === 20); +let threw = false; +try { + load("./global-const-redeclaration-setting/let.js"); // Redeclaration a 'let' variable should throw because this doesn't break backwards compat. +} catch(e) { + threw = true; +} + +assert(threw); +assert(foo === 20); diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-5.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-5.js new file mode 100644 index 0000000000..e3ea091814 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting-5.js @@ -0,0 +1,20 @@ +var setGlobalConstRedeclarationShouldNotThrow = $vm.setGlobalConstRedeclarationShouldNotThrow; + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +setGlobalConstRedeclarationShouldNotThrow(); // Allow duplicate const declarations at the global level. + +load("./global-const-redeclaration-setting/let.js"); +assert(foo === 50); +let threw = false; +try { + load("./global-const-redeclaration-setting/first.js"); // Redeclaration of a 'let' to 'const' should always throw because it isn't breaking backwards compat. +} catch(e) { + threw = true; +} + +assert(threw); +assert(foo === 50); diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting.js new file mode 100644 index 0000000000..aed1b41c4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting.js @@ -0,0 +1,13 @@ +var setGlobalConstRedeclarationShouldNotThrow = $vm.setGlobalConstRedeclarationShouldNotThrow; + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +setGlobalConstRedeclarationShouldNotThrow(); // Allow duplicate const declarations at the global level. + +load("./global-const-redeclaration-setting/first.js"); +assert(foo === 20); +load("./global-const-redeclaration-setting/second.js"); +assert(foo === 40); diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/first.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/first.js new file mode 100644 index 0000000000..48467d69aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/first.js @@ -0,0 +1 @@ +const foo = 20; diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/let.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/let.js new file mode 100644 index 0000000000..edd558aadb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/let.js @@ -0,0 +1 @@ +let foo = 50; diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/second.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/second.js new file mode 100644 index 0000000000..88d1e99010 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/second.js @@ -0,0 +1 @@ +const foo = 40; diff --git a/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/strict.js b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/strict.js new file mode 100644 index 0000000000..43600db922 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-const-redeclaration-setting/strict.js @@ -0,0 +1,2 @@ +"use strict"; +const foo = 45; diff --git a/implementation-contributed/javascriptcore/stress/global-environment-does-not-trap-unscopables.js b/implementation-contributed/javascriptcore/stress/global-environment-does-not-trap-unscopables.js new file mode 100644 index 0000000000..de9660894a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-environment-does-not-trap-unscopables.js @@ -0,0 +1,19 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var global = new Function('return this')(); +var Cocoa = 'Cocoa'; + +global[Symbol.unscopables] = { + Cocoa: true +}; + +test(Cocoa, "Cocoa"); +(function () { + var Cocoa = 'local' + with (global) { + test(Cocoa, "local"); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/global-is-finite.js b/implementation-contributed/javascriptcore/stress/global-is-finite.js new file mode 100644 index 0000000000..bc7f2f7995 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-is-finite.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} +for (var i = -1e4; i < 1e4; ++i) + shouldBe(isFinite(i), true); + +// Emit DoubleRep. +for (var i = 0; i < 1e4; ++i) { + shouldBe(isFinite(Infinity), false); + shouldBe(isFinite(-Infinity), false); + shouldBe(isFinite(NaN), false); +} + +// Emit ToNumber. +for (var i = 0; i < 1e4; ++i) + shouldBe(isFinite("0"), true); +shouldBe(isFinite("Hello"), false); diff --git a/implementation-contributed/javascriptcore/stress/global-is-nan.js b/implementation-contributed/javascriptcore/stress/global-is-nan.js new file mode 100644 index 0000000000..c8408b11ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-is-nan.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} +for (var i = -1e4; i < 1e4; ++i) + shouldBe(isNaN(i), false); + +// Emit DoubleRep. +for (var i = 0; i < 1e4; ++i) { + shouldBe(isNaN(Infinity), false); + shouldBe(isNaN(-Infinity), false); + shouldBe(isNaN(NaN), true); +} + +// Emit ToNumber. +for (var i = 0; i < 1e4; ++i) + shouldBe(isNaN("0"), false); +shouldBe(isNaN("Hello"), true); +shouldBe(isNaN("NaN"), true); diff --git a/implementation-contributed/javascriptcore/stress/global-isNaN-basics.js b/implementation-contributed/javascriptcore/stress/global-isNaN-basics.js new file mode 100644 index 0000000000..87df1ceb30 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-isNaN-basics.js @@ -0,0 +1,260 @@ +function isNaNOnInteger(value) +{ + return isNaN(value); +} +noInline(isNaNOnInteger); + +// *** Test simple cases on integers. *** +function testIsNaNOnIntegers() +{ + // Bounds. + var value = isNaNOnInteger(0); + if (value) + throw "isNaNOnInteger(0) = " + value; + + var value = isNaNOnInteger(-2147483648); + if (value) + throw "isNaNOnInteger(-2147483648) = " + value; + + var value = isNaNOnInteger(2147483647); + if (value) + throw "isNaNOnInteger(2147483647) = " + value; + + // Simple values. + var value = isNaNOnInteger(-1); + if (value) + throw "isNaNOnInteger(-1) = " + value; + + var value = isNaNOnInteger(42); + if (value) + throw "isNaNOnInteger(42) = " + value; + + var value = isNaNOnInteger(-42); + if (value) + throw "isNaNOnInteger(-42) = " + value; +} +noInline(testIsNaNOnIntegers); + +for (var i = 0; i < 1e4; ++i) { + testIsNaNOnIntegers(); +} + +// Make sure we don't do anything stupid when the type is unexpected. +function verifyIsNaNOnIntegerWithOtherTypes() +{ + var value = isNaNOnInteger(Math.PI); + if (value) + throw "isNaNOnInteger(Math.PI) = " + value; + + var value = isNaNOnInteger("42"); + if (value) + throw "isNaNOnInteger(\"42\") = " + value; + + var value = isNaNOnInteger("WebKit"); + if (!value) + throw "isNaNOnInteger(\"WebKit\") = " + value; + + var value = isNaNOnInteger(-0); + if (value) + throw "isNaNOnInteger(-0) = " + value; +} +noInline(verifyIsNaNOnIntegerWithOtherTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyIsNaNOnIntegerWithOtherTypes(); +} + +// *** Test simple cases on doubles. *** +function isNaNOnDouble(value) +{ + return isNaN(value); +} +noInline(isNaNOnDouble); + +// Test simple cases on doubles. +function testIsNaNOnDoubles() +{ + var value = isNaNOnDouble(Math.PI); + if (value) + throw "isNaNOnDouble(Math.PI) = " + value; + + var value = isNaNOnDouble(Math.E); + if (value) + throw "isNaNOnDouble(Math.E) = " + value; + + var value = isNaNOnDouble(Math.LN2); + if (value) + throw "isNaNOnDouble(Math.LN2) = " + value; + + var value = isNaNOnDouble(-0); + if (value) + throw "isNaNOnDouble(-0) = " + value; + + var value = isNaNOnDouble(NaN); + if (!value) + throw "isNaNOnDouble(NaN) = " + value; + + var value = isNaNOnDouble(Number.POSITIVE_INFINITY); + if (value) + throw "isNaNOnDouble(Number.POSITIVE_INFINITY) = " + value; + + var value = isNaNOnDouble(Number.NEGATIVE_INFINITY); + if (value) + throw "isNaNOnDouble(Number.NEGATIVE_INFINITY) = " + value; +} +noInline(testIsNaNOnDoubles); + +for (var i = 0; i < 1e6; ++i) { + testIsNaNOnDoubles(); +} + +// Make sure we don't do anything stupid when the type is unexpected. +function verifyIsNaNOnDoublesWithOtherTypes() +{ + var value = isNaNOnDouble(1); + if (value) + throw "isNaNOnDouble(1) = " + value; + + var value = isNaNOnDouble("42"); + if (value) + throw "isNaNOnDouble(\"42\") = " + value; + + var value = isNaNOnDouble("WebKit"); + if (!value) + throw "isNaNOnDouble(\"WebKit\") = " + value; + + var value = isNaNOnDouble({}); + if (!value) + throw "isNaNOnDouble({}) = " + value; +} +noInline(verifyIsNaNOnDoublesWithOtherTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyIsNaNOnDoublesWithOtherTypes(); +} + +// Make sure we still return NaN for type coerced values for global isNaN. +function verifyIsNaNOnCoercedTypes() +{ + var value = isNaNOnInteger("NaN"); + if (!value) + throw "isNaNOnInteger(\"NaN\") = " + value; + + var value = isNaNOnInteger({ valueOf() { return NaN; } }); + if (!value) + throw "isNaNOnInteger({ valueOf() { return NaN; } }) = " + value; +} +noInline(verifyIsNaNOnCoercedTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyIsNaNOnCoercedTypes(); +} + + +// *** Unusual arguments. *** +function isNaNNoArguments() +{ + return isNaN(); +} +noInline(isNaNNoArguments); + +function isNaNTooManyArguments(a, b, c) +{ + return isNaN(a, b, c); +} +noInline(isNaNTooManyArguments); + + +for (var i = 0; i < 1e4; ++i) { + var value = isNaNNoArguments(); + if (!value) + throw "isNaNNoArguments() = " + value; + + value = isNaNTooManyArguments(2, 3, 5); + if (value) + throw "isNaNTooManyArguments() = " + value; +} + + +// *** Constant as arguments. *** +function testIsNaNOnConstants() +{ + var value = isNaN(0); + if (value) + throw "isNaN(0) = " + value; + var value = isNaN(-0); + if (value) + throw "isNaN(-0) = " + value; + var value = isNaN(1); + if (value) + throw "isNaN(1) = " + value; + var value = isNaN(-1); + if (value) + throw "isNaN(-1) = " + value; + var value = isNaN(42); + if (value) + throw "isNaN(42) = " + value; + var value = isNaN(-42); + if (value) + throw "isNaN(-42) = " + value; + var value = isNaN(Number.POSITIVE_INFINITY); + if (value) + throw "isNaN(Number.POSITIVE_INFINITY) = " + value; + var value = isNaN(Number.NEGATIVE_INFINITY); + if (value) + throw "isNaN(Number.NEGATIVE_INFINITY) = " + value; + var value = isNaN(Math.E); + if (value) + throw "isNaN(Math.E) = " + value; + var value = isNaN(NaN); + if (!value) + throw "isNaN(NaN) = " + value; +} +noInline(testIsNaNOnConstants); + +for (var i = 0; i < 1e4; ++i) { + testIsNaNOnConstants(); +} + + +// *** Type Coercion Side effects. *** +function isNaNTypeCoercionSideEffects(value) +{ + return isNaN(value); +} +noInline(isNaNTypeCoercionSideEffects); + +for (var i = 0; i < 1e4; ++i) { + var value = isNaNTypeCoercionSideEffects(42); + if (value) + throw "isNaNTypeCoercionSideEffects(42) = " + value; +} + +var globalCounter = 0; +for (var i = 0; i < 1e4; ++i) { + var value = isNaNTypeCoercionSideEffects({ valueOf() { return globalCounter++; } }); + if (value) + throw "isNaNTypeCoercionSideEffects({ valueOf() { return globalCounter++; } }) = " + value; +} +if (globalCounter !== 1e4) + throw "globalCounter =" + globalCounter; + + +// *** Struct transition. *** +function isNaNStructTransition(value) +{ + return isNaN(value); +} +noInline(isNaNStructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = isNaNStructTransition(42); + if (value) + throw "isNaNStructTransition(42) = " + value; +} + +isNaN = function() { return 123; } + +var value = isNaNStructTransition(42); +if (value !== 123) + throw "isNaNStructTransition(42) after transition = " + value; diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-environment-to-this.js b/implementation-contributed/javascriptcore/stress/global-lexical-environment-to-this.js new file mode 100644 index 0000000000..a767358aa7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-environment-to-this.js @@ -0,0 +1,22 @@ +function assert(b, i) { + if (!b) + throw new Error("Bad! " + i) +} + +let f = function() { + return this; +} +noInline(f); + +let fStrict = function() { + "use strict"; + return this; +} +noInline(fStrict); + +const globalThis = this; +for (let i = 0; i < 1000; i++) + assert(f() === globalThis, i); + +for (let i = 0; i < 1000; i++) + assert(fStrict() === undefined); diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-let-no-rhs.js b/implementation-contributed/javascriptcore/stress/global-lexical-let-no-rhs.js new file mode 100644 index 0000000000..cd77889207 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-let-no-rhs.js @@ -0,0 +1,14 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +let x; +function foo() { + return x; +} +for (var i = 0; i < 1000; i++) { + assert(x === undefined); + assert(foo() === undefined); +} diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-redeclare-variable.js b/implementation-contributed/javascriptcore/stress/global-lexical-redeclare-variable.js new file mode 100644 index 0000000000..6ec287b6d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-redeclare-variable.js @@ -0,0 +1,115 @@ +let globalLet = "let"; +function globalFunction() { } +class globalClass { } +const globalConst = 20; +var globalVar = 21; +this.globalProperty = 22; + +let sentinel = "__s__"; + +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +function assertExpectations() { + assert(sentinel === "__s__"); +} + + +let errorCount = 0; +function assertProperError(e) { + if (e instanceof SyntaxError && e.message.indexOf("Can't create duplicate variable") !== -1) { + errorCount++; + } else { + assert(false); + } + +} + +assertExpectations(); + +try { + load("./multiple-files-tests/global-lexical-redeclare-variable/first.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +try { + load("./multiple-files-tests/global-lexical-redeclare-variable/second.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +try { + load("./multiple-files-tests/global-lexical-redeclare-variable/third.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +try { + load("./multiple-files-tests/global-lexical-redeclare-variable/fourth.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +try { + load("./multiple-files-tests/global-lexical-redeclare-variable/fifth.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +// Checking if the implementation is following +// ES6 spec 8.1.1.4.14 http://www.ecma-international.org/ecma-262/6.0/index.html#sec-hasrestrictedglobalproperty + +try { + sentinel = "bad"; + assert(Object.getOwnPropertyDescriptor(this, "globalProperty").configurable); + load("./multiple-files-tests/global-lexical-redeclare-variable/sixth.js"); +} catch(e) { + assert(false); +} +assertExpectations(); + +try { + sentinel = "bad"; + assert(Object.getOwnPropertyDescriptor(this, "Array").configurable); + load("./multiple-files-tests/global-lexical-redeclare-variable/seventh.js"); +} catch(e) { + assert(false); +} +assertExpectations(); + +try { + sentinel = "bad"; + Object.defineProperty(this, 'foo', {value: 5, configurable: true, writable: true}); + load("./multiple-files-tests/global-lexical-redeclare-variable/eighth.js"); +} catch(e) { + assert(false); +} +assertExpectations(); + +try { + Object.defineProperty(this, 'bar', {value: 5, configurable: false, writable: true}); + load("./multiple-files-tests/global-lexical-redeclare-variable/ninth.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +assert(errorCount === 6); + +try { + Object.defineProperty(this, 'zoo', {value: undefined, configurable: false, writable: true}); + load("./multiple-files-tests/global-lexical-redeclare-variable/tenth.js"); +} catch(e) { + assertProperError(e); +} +assertExpectations(); + +assert(errorCount === 7); diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-redefine-const.js b/implementation-contributed/javascriptcore/stress/global-lexical-redefine-const.js new file mode 100644 index 0000000000..1c6baf7c37 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-redefine-const.js @@ -0,0 +1,2 @@ +load("./multiple-files-tests/global-lexical-redefine-const/first.js"); +load("./multiple-files-tests/global-lexical-redefine-const/second.js"); diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-var-injection.js b/implementation-contributed/javascriptcore/stress/global-lexical-var-injection.js new file mode 100644 index 0000000000..662eb46bfe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-var-injection.js @@ -0,0 +1,57 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +let foo = "foo"; +const bar = "bar"; + +for (let i = 0; i < 1000; i++) { + assert(foo === "foo"); + assert(bar === "bar"); +} + +eval("var INJECTION = 20"); + +for (let i = 0; i < 100; i++) { + assert(foo === "foo"); + assert(bar === "bar"); + assert(INJECTION === 20); + let threw = false; + try { + eval("var foo;"); + } catch(e) { + threw = true; + assert(e.message.indexOf("Can't create duplicate global variable in eval") !== -1); + } + assert(threw); + threw = false; + try { + eval("var bar;"); + } catch(e) { + threw = true; + assert(e.message.indexOf("Can't create duplicate global variable in eval") !== -1); + } + assert(threw); + + assert(foo === "foo"); + assert(bar === "bar"); + assert(INJECTION === 20); +} + + +var flag = false; +function baz() { + if (flag) eval("var foo = 20;"); + return foo; +} + +for (var i = 0; i < 1000; i++) { + assert(baz() === "foo"); + assert(baz() === foo); +} +flag = true; +for (var i = 0; i < 1000; i++) { + assert(baz() === 20); +} diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-variable-tdz.js b/implementation-contributed/javascriptcore/stress/global-lexical-variable-tdz.js new file mode 100644 index 0000000000..e88cfd6a25 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-variable-tdz.js @@ -0,0 +1,2 @@ +load("./multiple-files-tests/global-lexical-variable-tdz/first.js"); +load("./multiple-files-tests/global-lexical-variable-tdz/second.js"); diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-variable-unresolved-property.js b/implementation-contributed/javascriptcore/stress/global-lexical-variable-unresolved-property.js new file mode 100644 index 0000000000..d622145441 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-variable-unresolved-property.js @@ -0,0 +1,2 @@ +load("./multiple-files-tests/global-lexical-variable-unresolved-property/first.js"); +load("./multiple-files-tests/global-lexical-variable-unresolved-property/second.js"); diff --git a/implementation-contributed/javascriptcore/stress/global-lexical-variable-with-statement.js b/implementation-contributed/javascriptcore/stress/global-lexical-variable-with-statement.js new file mode 100644 index 0000000000..aab0b65bc5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-lexical-variable-with-statement.js @@ -0,0 +1,33 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); +function shouldThrowInvalidConstAssignment(f) { + var threw = false; + try { + f(); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); +} +noInline(shouldThrowInvalidConstAssignment); + + +function makeObj() { + return {foo: 20}; +} +noInline(makeObj); + +let foo = "foo"; +const bar = "bar"; + +for (var i = 0; i < 100; i++) { + with (makeObj()) { + assert(foo === 20); + assert(bar === "bar"); + shouldThrowInvalidConstAssignment(function() { bar = 20; }); + } +} diff --git a/implementation-contributed/javascriptcore/stress/global-property-into-variable-get-from-scope.js b/implementation-contributed/javascriptcore/stress/global-property-into-variable-get-from-scope.js new file mode 100644 index 0000000000..947c4e8f12 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/global-property-into-variable-get-from-scope.js @@ -0,0 +1,13 @@ +// This tests a bug that occured because we have noInline as a global +// property then is set to a global variable in the load of standalone-pre.js. +// Once we get to the DFG we still think that noInline is a global property +// based on an old global object structure. This would cause a crash when we +// attempted to create an equivalence condition for the get_from_scope of +// noInline as the current global object would not have noInline as a property +// at that point and we would attempt to access the value at an invalid offset. + +load("resources/standalone-pre.js"); + +noInline(); + +for (i = 0; i < 100000; i++); diff --git a/implementation-contributed/javascriptcore/stress/goofy-function-reentry-incorrect-inference.js b/implementation-contributed/javascriptcore/stress/goofy-function-reentry-incorrect-inference.js new file mode 100644 index 0000000000..a371347b6b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/goofy-function-reentry-incorrect-inference.js @@ -0,0 +1,25 @@ +function foo(a) { + var x; + if (a) + x = a; + return [function() { + return x; + }, function(a) { + x = a; + }]; +} + +var array = foo(false); +noInline(array[0]); +noInline(array[1]); +array[1](42); +for (var i = 0; i < 10000; ++i) { + var result = array[0](); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +array[1](43); +var result = array[0](); +if (result != 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/has-custom-properties.js b/implementation-contributed/javascriptcore/stress/has-custom-properties.js new file mode 100644 index 0000000000..55775ba441 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-custom-properties.js @@ -0,0 +1,13 @@ +(function() { + for (var i = 0; i < 10000; ++i) { + var o = {}; + + if (hasCustomProperties(o)) + throw "Error: object shouldn't have custom properties yet."; + + o.f = 42; + + if (!hasCustomProperties(o)) + throw "Error: object should have custom properties already."; + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage-ftl.js b/implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage-ftl.js new file mode 100644 index 0000000000..6d937d61bb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage-ftl.js @@ -0,0 +1,48 @@ +//@ if isFTLEnabled then runFTLNoCJIT else skip end + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var didFTLCompile = false; +var ftlTrue = $vm.ftlTrue; +function test1(array) +{ + didFTLCompile = ftlTrue(); + return 2 in array; +} +noInline(test1); + +var array = [1, 2, 3, 4]; +ensureArrayStorage(array); +didFTLCompile = false; +for (var i = 0; i < 1e5; ++i) + shouldBe(test1(array), true); +shouldBe(didFTLCompile, true); + +var array = [1, 2, , 4]; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +var array = []; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +function test2(array) +{ + didFTLCompile = ftlTrue(); + return 13 in array; +} +noInline(test2); + +var array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]; +ensureArrayStorage(array1); +var array2 = [1, 2]; +ensureArrayStorage(array2); +didFTLCompile = false; +for (var i = 0; i < 1e5; ++i) + shouldBe(test2(array2), false); +shouldBe(didFTLCompile, true); +shouldBe(test2(array2), false); +shouldBe(test2(array1), true); diff --git a/implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage.js b/implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage.js new file mode 100644 index 0000000000..276527a553 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-indexed-property-array-storage.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(array) +{ + return 2 in array; +} +noInline(test1); + +var array = [1, 2, 3, 4]; +ensureArrayStorage(array); +for (var i = 0; i < 1e5; ++i) + shouldBe(test1(array), true); + +var array = [1, 2, , 4]; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +var array = []; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +function test2(array) +{ + return 2 in array; +} +noInline(test2); + +var array1 = [1, 2, 3, 4]; +ensureArrayStorage(array1); +var array2 = [1, 2]; +ensureArrayStorage(array2); +for (var i = 0; i < 1e5; ++i) + shouldBe(test2(array2), false); +shouldBe(test2(array2), false); +shouldBe(test2(array1), true); diff --git a/implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage-ftl.js b/implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage-ftl.js new file mode 100644 index 0000000000..828afdbea3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage-ftl.js @@ -0,0 +1,61 @@ +//@ if isFTLEnabled then runFTLNoCJIT else skip end + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var didFTLCompile = false; +var ftlTrue = $vm.ftlTrue; +function test1(array) +{ + didFTLCompile = ftlTrue(); + return 2 in array; +} +noInline(test1); + +var object = { a: 10 }; +Object.defineProperties(object, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +var array = [1, 2, 3, 4]; +array.__proto__ = object; +ensureArrayStorage(array); +didFTLCompile = false; +for (var i = 0; i < 1e5; ++i) + shouldBe(test1(array), true); +shouldBe(didFTLCompile, true); + +var array = [1, 2, , 4]; +array.__proto__ = object; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +var array = []; +array.__proto__ = object; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +function test2(array) +{ + didFTLCompile = ftlTrue(); + return 9 in array; +} +noInline(test2); + +var array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; +array1.__proto__ = object; +ensureArrayStorage(array1); +var array2 = [1, 2]; +array2.__proto__ = object; +ensureArrayStorage(array2); +didFTLCompile = false; +for (var i = 0; i < 1e5; ++i) + shouldBe(test2(array2), false); +shouldBe(didFTLCompile, true); +shouldBe(test2(array2), false); +shouldBe(test2(array1), true); diff --git a/implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage.js b/implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage.js new file mode 100644 index 0000000000..1ae4a92717 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-indexed-property-slow-put-array-storage.js @@ -0,0 +1,51 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(array) +{ + return 2 in array; +} +noInline(test1); + +var object = { a: 10 }; +Object.defineProperties(object, { + "0": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, +}); + +var array = [1, 2, 3, 4]; +array.__proto__ = object; +ensureArrayStorage(array); +for (var i = 0; i < 1e5; ++i) + shouldBe(test1(array), true); + +var array = [1, 2, , 4]; +array.__proto__ = object; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +var array = []; +array.__proto__ = object; +ensureArrayStorage(array); +shouldBe(test1(array), false); + +function test2(array) +{ + return 2 in array; +} +noInline(test2); + +var array1 = [1, 2, 3, 4]; +array1.__proto__ = object; +ensureArrayStorage(array1); +var array2 = [1, 2]; +array2.__proto__ = object; +ensureArrayStorage(array2); +for (var i = 0; i < 1e5; ++i) + shouldBe(test2(array2), false); +shouldBe(test2(array2), false); +shouldBe(test2(array1), true); diff --git a/implementation-contributed/javascriptcore/stress/has-instance-exception-check.js b/implementation-contributed/javascriptcore/stress/has-instance-exception-check.js new file mode 100644 index 0000000000..e4ffdc68da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-instance-exception-check.js @@ -0,0 +1,17 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +let getter = Object.getOwnPropertyDescriptor({get foo(){}}, "foo").get; +Object.defineProperty(getter, Symbol.hasInstance, {value:undefined}); +let y = {}; +Object.defineProperty(getter, "prototype", {get: Uint8Array}); +let error = null; +try { + y instanceof getter; +} catch(e) { + error = e; +} +assert(!!error); +assert(error.toString() === "TypeError: calling Uint8Array constructor without new is invalid"); diff --git a/implementation-contributed/javascriptcore/stress/has-own-property-cache-basics.js b/implementation-contributed/javascriptcore/stress/has-own-property-cache-basics.js new file mode 100644 index 0000000000..717b4814ae --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-own-property-cache-basics.js @@ -0,0 +1,31 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion.") +} +noInline(assert); + +let objs = [ + {f: 50}, + {f: 50, g: 70}, + {g: 50, f: 70}, + {h: 50, f: 70}, + {z: 50, f: 70}, + {k: 50, f: 70}, +]; + +let s1 = Symbol(); +let s2 = Symbol(); +for (let o of objs) + o[s1] = "foo"; + +function foo(o) { + assert(o.hasOwnProperty("f")); + assert(!o.hasOwnProperty("ff")); + assert(o.hasOwnProperty(s1)); + assert(!o.hasOwnProperty(s2)); +} +noInline(foo); + +for (let i = 0; i < 40000; ++i) { + foo(objs[i % objs.length]); +} diff --git a/implementation-contributed/javascriptcore/stress/has-own-property-called-on-non-object.js b/implementation-contributed/javascriptcore/stress/has-own-property-called-on-non-object.js new file mode 100644 index 0000000000..3db514d421 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-own-property-called-on-non-object.js @@ -0,0 +1,21 @@ +"use strict"; + +let objs = [ + function() { }, + new String(), + {foo: 45}, + {bar:50, foo: 45}, + {baz:70, bar:50, foo: 45}, + new Date, +]; + +let has = ({}).hasOwnProperty; +function foo(o) { + return has.call(o, "foo"); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) + foo(objs[i % objs.length]); + +foo("foo"); diff --git a/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-string-keys.js b/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-string-keys.js new file mode 100644 index 0000000000..b366af9bf7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-string-keys.js @@ -0,0 +1,39 @@ +//@ skip if $memoryLimited + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} +noInline(assert); + +let objs = []; +let keyPool = []; +const numKeys = 800; +for (let i = 0; i < numKeys; ++i) + keyPool.push(i + "foo"); + +for (let i = 0; i < 10000; i++) { + let num = (Math.random() * numKeys) | 0; + let o = {}; + for (let i = 0; i < num; ++i) { + o[keyPool[i]] = 25; + } + objs.push(o); +} + +function foo(o) { + let props = Object.getOwnPropertyNames(o); + for (let i = 0; i < props.length; ++i) { + let s = props[i]; + assert(o.hasOwnProperty(s)); + } +} +noInline(foo); + +let start = Date.now(); +for (let o of objs) { + foo(o); +} +const verbose = false; +if (verbose) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbol-keys.js b/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbol-keys.js new file mode 100644 index 0000000000..4e6009fdee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbol-keys.js @@ -0,0 +1,36 @@ +//@ skip if $memoryLimited + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} +noInline(assert); + +let objs = []; +let symbolPool = []; +const numSymbols = 800; +for (let i = 0; i < numSymbols; ++i) + symbolPool.push(Symbol()); + +for (let i = 0; i < 10000; i++) { + let num = (Math.random() * numSymbols) | 0; + let o = {}; + for (let i = 0; i < num; ++i) { + o[symbolPool[i]] = 25; + } + objs.push(o); +} + +function foo(o) { + let props = Object.getOwnPropertySymbols(o); + for (let i = 0; i < props.length; ++i) { + let s = props[i]; + assert(o.hasOwnProperty(s)); + } +} +noInline(foo); + +let start = Date.now(); +for (let o of objs) { + foo(o); +} diff --git a/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbols-and-strings.js b/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbols-and-strings.js new file mode 100644 index 0000000000..2755842f48 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/has-own-property-name-cache-symbols-and-strings.js @@ -0,0 +1,45 @@ + +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} +noInline(assert); + +let objs = []; +let keyPool = []; +let symbolPool = []; +const numKeys = 300; +for (let i = 0; i < numKeys; ++i) { + keyPool.push(i + "foo"); + symbolPool.push(Symbol("Foo")); +} + +for (let i = 0; i < 2000; i++) { + let num = (Math.random() * numKeys) | 0; + let o = {}; + for (let i = 0; i < num; ++i) { + o[keyPool[i]] = 25; + o[symbolPool[i]] = 40; + } + objs.push(o); +} + +let time = 0; +function foo(o) { + let props = Object.getOwnPropertyNames(o); + props.push(...Object.getOwnPropertySymbols(o)); + let start = Date.now(); + for (let i = 0; i < props.length; ++i) { + let s = props[i]; + assert(o.hasOwnProperty(s)); + } + time += Date.now() - start; +} +noInline(foo); + +for (let o of objs) { + foo(o); +} +const verbose = false; +if (verbose) + print(time); diff --git a/implementation-contributed/javascriptcore/stress/have-a-bad-time-with-arguments.js b/implementation-contributed/javascriptcore/stress/have-a-bad-time-with-arguments.js new file mode 100644 index 0000000000..de9a9455f2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/have-a-bad-time-with-arguments.js @@ -0,0 +1,140 @@ +//@ runFTLNoCJIT + +// Tests accessing an element in arguments before and after having a bad time. +// This test should not crash. + +let verbose = false; + +var utilities = 'function shouldEqual(testId, actual, expected) {' + '\n' + + ' if (actual != expected)' + '\n' + + ' throw testId + ": ERROR: expect " + expected + ", actual " + actual;' + '\n' + + '}' + '\n'; + +var haveABadTime = 'Object.defineProperty(Object.prototype, 20, { get() { return 20; } });' + '\n'; + +var directArgumentsDecl = ' var args = arguments;' + '\n'; + +var scopedArgumentsDecl = ' var args = arguments;' + '\n' + + ' function closure() { return x; }' + '\n'; + +var clonedArgumentsDecl = ' "use strict";' + '\n' + + ' var args = arguments;' + '\n'; + +function testFunction(argsDecl, insertElementAction, indexToReturn) { + var script = 'function test(x) {' + '\n' + + argsDecl + + insertElementAction + + ' return args[' + indexToReturn + '];' + '\n' + + '}' + '\n' + + 'noInline(test);' + '\n'; + return script; +} + +function warmupFunction(tierWarmupCount, testArgs) { + var script = 'function warmup() {' + '\n' + + ' for (var i = 0; i < ' + tierWarmupCount + '; i++) {' + '\n' + + ' test(' + testArgs + ');' + '\n' + + ' }' + '\n' + + '}' + '\n'; + return script; +} + +let argumentsDecls = { + direct: directArgumentsDecl, + scoped: scopedArgumentsDecl, + cloned: clonedArgumentsDecl +}; + +let indicesToReturn = { + inBounds: 0, + outOfBoundsInsertedElement: 10, + outOfBoundsInPrototype: 20 +}; + +let tierWarmupCounts = { + llint: 1, + baseline: 50, + dfg: 1000, + ftl: 10000 +}; + +let testArgsList = { + noArgs: { + args: '', + result: { + inBounds: { beforeBadTime: 'undefined', afterBadTime: 'undefined', }, + outOfBoundsInsertedElement: { beforeBadTime: '10', afterBadTime: '10', }, + outOfBoundsInPrototype: { beforeBadTime: 'undefined', afterBadTime: '20', }, + } + }, + someArgs: { + args: '1, 2, 3', + result: { + inBounds: { beforeBadTime: '1', afterBadTime: '1', }, + outOfBoundsInsertedElement: { beforeBadTime: '10', afterBadTime: '10', }, + outOfBoundsInPrototype: { beforeBadTime: 'undefined', afterBadTime: '20', }, + } + } +}; + +let insertElementActions = { + insertElement: ' args[10] = 10;' + '\n', + dontInsertElement: '' +}; + +for (let argsDeclIndex in argumentsDecls) { + let argsDecl = argumentsDecls[argsDeclIndex]; + + for (let indexToReturnIndex in indicesToReturn) { + let indexToReturn = indicesToReturn[indexToReturnIndex]; + + for (let insertElementActionIndex in insertElementActions) { + let insertElementAction = insertElementActions[insertElementActionIndex]; + + for (let tierWarmupCountIndex in tierWarmupCounts) { + let tierWarmupCount = tierWarmupCounts[tierWarmupCountIndex]; + + for (let testArgsIndex in testArgsList) { + let testArgs = testArgsList[testArgsIndex].args; + let expectedResult = testArgsList[testArgsIndex].result[indexToReturnIndex]; + + if (indexToReturnIndex == 'outOfBoundsInsertedElement' + && insertElementActionIndex == 'dontInsertElement') + expectedResult = 'undefined'; + + let testName = + argsDeclIndex + '-' + + indexToReturnIndex + '-' + + insertElementActionIndex + '-' + + tierWarmupCountIndex + '-' + + testArgsIndex; + + + let script = utilities + + testFunction(argsDecl, insertElementAction, indexToReturn) + + warmupFunction(tierWarmupCount, testArgs) + + 'warmup()' + '\n' + + 'shouldEqual(10000, test(' + testArgs + '), ' + expectedResult['beforeBadTime'] + ');' + '\n' + + haveABadTime + + 'shouldEqual(20000, test(' + testArgs + '), ' + expectedResult['afterBadTime'] + ');' + '\n'; + + if (verbose) { + print('Running test configuration: ' + testName); + print( + 'Test script: ====================================================\n' + + script + + '=== END script =================================================='); + } + + try { + runString(script); + } catch (e) { + print('FAILED test configuration: ' + testName); + print('FAILED test script:\n' + script); + throw e; + } + } + } + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/having-a-bad-time-with-derived-arrays.js b/implementation-contributed/javascriptcore/stress/having-a-bad-time-with-derived-arrays.js new file mode 100644 index 0000000000..b316cf5ff6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/having-a-bad-time-with-derived-arrays.js @@ -0,0 +1,48 @@ +function assert(b) { + if (!b) + throw new Error; +} + +let called = false; +function defineSetter() { + Array.prototype.__defineSetter__(0, function (x) { + assert(x === 42); + called = true; + }); +} + +class DerivedArray extends Array { + constructor(...args) { + super() + } +} + +function iterate(a) { + for (let i = 0; i < a.length; i++) { } +} + +let arr = [[[1, 2, 3, 4, 5], [ 2], 5], [[1, 2, 3], [ -4]]]; +let d = new DerivedArray(); +d[1] = 20; +d[2] = 40; +arr.push([d, [2] -9]); + +function doSlice(a) { + let r = a.slice(); + defineSetter(); + return r; +} + +for (let i = 0; i < 10000; i++) { + for (let [a, b, ...c] of arr) { + let s = doSlice(a); + iterate(s); + delete s[0]; + called = false; + s[0] = 42; + if (a === d) { + assert(called); + called = false; + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/heap-allocator-allocates-incorrect-size-for-activation.js b/implementation-contributed/javascriptcore/stress/heap-allocator-allocates-incorrect-size-for-activation.js new file mode 100644 index 0000000000..d48c9c9559 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/heap-allocator-allocates-incorrect-size-for-activation.js @@ -0,0 +1,41 @@ + +// Consider the following scenario: +// - On OS X, WTF::pageSize() is 4*1024 bytes. +// - JSEnvironmentRecord::allocationSizeForScopeSize(6621) == 53000 +// - sizeof(MarkedBlock) == 248 +// - (248 + 53000) is a multiple of 4*1024. +// - (248 + 53000)/(4*1024) == 13 + +// We will allocate a chunk of memory of size 53248 bytes that looks like this: +// 0 248 256 53248 53256 +// [Marked Block | 8 bytes | payload ...... ] 8 bytes | +// ^ ^ +// Our Environment record starts here. ^ +// ^ +// Our last JSValue in the environment record will go from byte 53248 to 53256. But, we don't own this memory. + +var numberOfCapturedVariables = 6621; +function use() { } +function makeFunction() { + var varName; + var outerFunction = ""; + var innerFunction = ""; + + for (var i = 0; i < numberOfCapturedVariables; i++) { + varName = "_" + i; + outerFunction += "var " + varName + ";"; + innerFunction += "use(" + varName + ");"; + } + outerFunction += "function foo() {" + innerFunction + "}"; + var functionString = "(function() { " + outerFunction + "})"; + var result = eval(functionString); + return result; +} + +var arr = []; +for (var i = 0; i < 50; i++) { + var f = makeFunction(); + f(); + fullGC(); +} + diff --git a/implementation-contributed/javascriptcore/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js b/implementation-contributed/javascriptcore/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js new file mode 100644 index 0000000000..a06b7e1ed2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/hoist-get-by-offset-with-control-dependent-inferred-type.js @@ -0,0 +1,14 @@ +function f() { + var a = Array(100).fill(0); + var ta = new Set(a.map((v,k)=>k)); + var xs = [a, ta]; + var q = 0; + var t = Date.now(); + for (var i = 0; i < 100000; ++i) { + for (var x of xs[i&1]) q+=x; + } + return [Date.now()-t,q]; +} +noInline(f); +f(); + diff --git a/implementation-contributed/javascriptcore/stress/ic-throw-through-optimized-code.js b/implementation-contributed/javascriptcore/stress/ic-throw-through-optimized-code.js new file mode 100644 index 0000000000..96404264a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ic-throw-through-optimized-code.js @@ -0,0 +1,29 @@ +function foo(o) { + return o.f + 1; +} + +Number.prototype.f = 42; + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(23); + if (result != 43) + throw "Error: bad result: " + result; + result = foo({f:25}); + if (result != 26) + throw "Error: bad result: " + result; + result = foo({g:12, f:13}); + if (result != 14) + throw "Error: bad result: " + result; +} + +var didThrow; +try { + foo(void 0); +} catch (e) { + didThrow = e; +} + +if (!didThrow || didThrow.toString().indexOf("TypeError:") != 0) + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/ignore-promise-species.js b/implementation-contributed/javascriptcore/stress/ignore-promise-species.js new file mode 100644 index 0000000000..b5b25cf1a5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ignore-promise-species.js @@ -0,0 +1,13 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +class DerivedPromise extends Promise { + static get [Symbol.species]() { + return Promise; + } +} + +shouldBe(DerivedPromise.all([ 1, 2, 3]) instanceof DerivedPromise, true); +shouldBe(DerivedPromise.race([ 1, 2, 3]) instanceof DerivedPromise, true); diff --git a/implementation-contributed/javascriptcore/stress/import-basic.js b/implementation-contributed/javascriptcore/stress/import-basic.js new file mode 100644 index 0000000000..d718b219c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-basic.js @@ -0,0 +1,55 @@ +var abort = $vm.abort; + +(async function () { + const { shouldBe } = await import('./import-tests/should.js'); + { + let a = await import('./import-tests/cocoa.js'); + let b = await import('./import-tests/cocoa.js'); + shouldBe(a, b); + shouldBe(a.hello(), 42); + } + + { + let a = await import('./import-tests/multiple.js'); + let a2 = await a.result(); + shouldBe(a !== a2, true); + shouldBe(a2.ok(), 42); + let a3 = await a.result(); + shouldBe(a2, a3); + } + + { + let error = null; + try { + let a = await import({ toString() { throw new Error('out'); } }); + } catch (e) { + error = e; + } + shouldBe(error !== null, true); + shouldBe(String(error), `Error: out`); + } + + { + async function load(cond) { + if (cond) + return import('./import-tests/cocoa.js'); + return undefined; + } + + let v = await load(false); + shouldBe(v, undefined); + let v2 = await load(true); + let v3 = await import('./import-tests/cocoa.js'); + shouldBe(v2, v2); + } + + { + let value = './import-tests/cocoa.js'; + let v = await import(value); + let v2 = await import('./import-tests/cocoa.js'); + shouldBe(v, v2); + } +}()).catch((error) => { + print(String(error)); + abort(); +}); diff --git a/implementation-contributed/javascriptcore/stress/import-from-eval.js b/implementation-contributed/javascriptcore/stress/import-from-eval.js new file mode 100644 index 0000000000..5f75db00bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-from-eval.js @@ -0,0 +1,38 @@ +var abort = $vm.abort; + +(async function () { + const { shouldBe, shouldThrow } = await import("./import-tests/should.js"); + + { + let cocoa = await eval(`import("./import-tests/cocoa.js")`); + shouldBe(cocoa.hello(), 42); + } + + { + let cocoa = await (0, eval)(`import("./import-tests/cocoa.js")`); + shouldBe(cocoa.hello(), 42); + } + + { + let cocoa = await eval(`eval('import("./import-tests/cocoa.js")')`); + shouldBe(cocoa.hello(), 42); + } + + { + let cocoa = await ((new Function(`return eval('import("./import-tests/cocoa.js")')`))()); + shouldBe(cocoa.hello(), 42); + } + + { + let cocoa = await eval(`(new Function('return import("./import-tests/cocoa.js")'))()`); + shouldBe(cocoa.hello(), 42); + } + + { + let cocoa = await [`import("./import-tests/cocoa.js")`].map(eval)[0]; + shouldBe(cocoa.hello(), 42); + } +}()).catch((error) => { + print(String(error)); + abort(); +}); diff --git a/implementation-contributed/javascriptcore/stress/import-reject-with-exception.js b/implementation-contributed/javascriptcore/stress/import-reject-with-exception.js new file mode 100644 index 0000000000..8a5381a6bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-reject-with-exception.js @@ -0,0 +1,17 @@ +var abort = $vm.abort; + +function shouldBe(actual, expected) +{ + if (actual !== expected) + abort(); +} + +let x = { + get toString() { + throw new Error('bad'); + } +}; + +import(x).then(abort, function (error) { + shouldBe(String(error), `Error: bad`); +}); diff --git a/implementation-contributed/javascriptcore/stress/import-syntax.js b/implementation-contributed/javascriptcore/stress/import-syntax.js new file mode 100644 index 0000000000..25a3fbbf68 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-syntax.js @@ -0,0 +1,66 @@ +var abort = $vm.abort; + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error(`Bad error: ${String(error)}`); +} + +async function testSyntax(script, message) { + var error = null; + try { + await eval(script); + } catch (e) { + error = e; + } + if (error) { + if (error instanceof SyntaxError) + throw new Error("Syntax error thrown"); + } +} + +testSyntaxError(`import)`, `SyntaxError: Unexpected token ')'. import call expects exactly one argument.`); +testSyntaxError(`new import(`, `SyntaxError: Cannot use new with import.`); +testSyntaxError(`import.hello()`, `SyntaxError: Unexpected identifier 'hello'. "import." can only followed with meta.`); +testSyntaxError(`import[`, `SyntaxError: Unexpected token '['. import call expects exactly one argument.`); +testSyntaxError(`import<`, `SyntaxError: Unexpected token '<'. import call expects exactly one argument.`); + +testSyntaxError(`import()`, `SyntaxError: Unexpected token ')'`); +testSyntaxError(`import(a, b)`, `SyntaxError: Unexpected token ','. import call expects exactly one argument.`); +testSyntaxError(`import(a, b, c)`, `SyntaxError: Unexpected token ','. import call expects exactly one argument.`); +testSyntaxError(`import(...a)`, `SyntaxError: Unexpected token '...'`); +testSyntaxError(`import(,a)`, `SyntaxError: Unexpected token ','`); +testSyntaxError(`import(,)`, `SyntaxError: Unexpected token ','`); +testSyntaxError(`import("Hello";`, `SyntaxError: Unexpected token ';'. import call expects exactly one argument.`); +testSyntaxError(`import("Hello"];`, `SyntaxError: Unexpected token ']'. import call expects exactly one argument.`); +testSyntaxError(`import("Hello",;`, `SyntaxError: Unexpected token ','. import call expects exactly one argument.`); +testSyntaxError(`import("Hello", "Hello2";`, `SyntaxError: Unexpected token ','. import call expects exactly one argument.`); + + +testSyntaxError(`import = 42`, `SyntaxError: Unexpected token '='. import call expects exactly one argument.`); +testSyntaxError(`[import] = 42`, `SyntaxError: Unexpected token ']'. import call expects exactly one argument.`); +testSyntaxError(`{import} = 42`, `SyntaxError: Unexpected token '}'. import call expects exactly one argument.`); +testSyntaxError(`let import = 42`, `SyntaxError: Unexpected keyword 'import'`); +testSyntaxError(`var import = 42`, `SyntaxError: Cannot use the keyword 'import' as a variable name.`); +testSyntaxError(`const import = 42`, `SyntaxError: Cannot use the keyword 'import' as a lexical variable name.`); + +(async function () { + await testSyntax(`import("./import-tests/cocoa.js")`); + await testSyntax(`import("./import-tests/../import-tests/cocoa.js")`); + await testSyntax(`import("./import-tests/../import-tests/cocoa.js").then(() => { })`); + await testSyntax(`(import("./import-tests/../import-tests/cocoa.js").then(() => { }))`); + await testSyntax(`(import("./import-tests/../import-tests/cocoa.js"))`); + await testSyntax(`import("./import-tests/../import-tests/cocoa.js").catch(() => { })`); + await testSyntax(`(import("./import-tests/../import-tests/cocoa.js").catch(() => { }))`); +}()).catch((error) => { + print(String(error)); + abort(); +}); diff --git a/implementation-contributed/javascriptcore/stress/import-tests/cocoa.js b/implementation-contributed/javascriptcore/stress/import-tests/cocoa.js new file mode 100644 index 0000000000..910b02c68c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-tests/cocoa.js @@ -0,0 +1,7 @@ +export class Cocoa { +} + +export function hello() +{ + return 42; +} diff --git a/implementation-contributed/javascriptcore/stress/import-tests/multiple.js b/implementation-contributed/javascriptcore/stress/import-tests/multiple.js new file mode 100644 index 0000000000..41805c4032 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-tests/multiple.js @@ -0,0 +1,4 @@ +export function result() +{ + return import('./multiple2.js'); +} diff --git a/implementation-contributed/javascriptcore/stress/import-tests/multiple2.js b/implementation-contributed/javascriptcore/stress/import-tests/multiple2.js new file mode 100644 index 0000000000..ba6f85ab4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-tests/multiple2.js @@ -0,0 +1,4 @@ +export function ok() +{ + return 42; +} diff --git a/implementation-contributed/javascriptcore/stress/import-tests/should.js b/implementation-contributed/javascriptcore/stress/import-tests/should.js new file mode 100644 index 0000000000..a006f84ebd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-tests/should.js @@ -0,0 +1,19 @@ +export function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +export function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} diff --git a/implementation-contributed/javascriptcore/stress/import-with-empty-string.js b/implementation-contributed/javascriptcore/stress/import-with-empty-string.js new file mode 100644 index 0000000000..d174ec9ecf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/import-with-empty-string.js @@ -0,0 +1,2 @@ +import("").then($vm.abort, function () { +}); diff --git a/implementation-contributed/javascriptcore/stress/impure-get-own-property-slot-inline-cache.js b/implementation-contributed/javascriptcore/stress/impure-get-own-property-slot-inline-cache.js new file mode 100644 index 0000000000..b1293bd40c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/impure-get-own-property-slot-inline-cache.js @@ -0,0 +1,19 @@ +var createImpureGetter = $vm.createImpureGetter; +var setImpureGetterDelegate = $vm.setImpureGetterDelegate; + +var ig = createImpureGetter(null); +ig.x = 42; + +var foo = function(o) { + return o.x; +}; + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(ig); + +setImpureGetterDelegate(ig, {x:"x"}); + +if (foo(ig) !== "x") + throw new Error("Incorrect result!"); diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-accessors.js b/implementation-contributed/javascriptcore/stress/in-by-id-accessors.js new file mode 100644 index 0000000000..e38dd6d7a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-accessors.js @@ -0,0 +1,41 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(object) +{ + var name = "hello"; + return name in object; +} +noInline(test); + +var protoGetter = { + __proto__: { + get hello() { + throw new Error("out"); + } + } +}; +var protoSetter = { + __proto__: { + set hello(value) { + throw new Error("out"); + } + } +}; +for (var i = 0; i < 1e5; ++i) { + shouldBe(test({ + get hello() { + throw new Error("out"); + } + }), true); + shouldBe(test({}), false); + shouldBe(test(protoGetter), true); + shouldBe(test({ + set hello(value) { + throw new Error("out"); + } + }), true); + shouldBe(test(protoSetter), true); +} diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-ai.js b/implementation-contributed/javascriptcore/stress/in-by-id-ai.js new file mode 100644 index 0000000000..56a11ac72a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-ai.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(object) +{ + var name = "hello"; + return name in object; +} +noInline(test); + +var proto = { + __proto__: { hello: 2 } +}; +for (var i = 0; i < 1e5; ++i) { + shouldBe(test({ + hello: 42 + }), true); + shouldBe(test({}), false); + shouldBe(test({ + helloworld: 43, + ok: 44 + }), false); + shouldBe(test(proto), true); +} diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-constant.js b/implementation-contributed/javascriptcore/stress/in-by-id-constant.js new file mode 100644 index 0000000000..9319ea83c7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-constant.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(obj) +{ + return "hello" in obj +} +noInline(test1); + +let array = [ + [{ + hello: 42 + }, true], + [{ + hello: 42, + world: 43 + }, true], + [{ + __proto__: { + hello: 44 + } + }, true] +]; +for (let i = 0; i < 1e5; ++i) { + for (let [obj, result] of array) + shouldBe(test1(obj), result); +} + +// OSRExits. +for (let i = 0; i < 1e5; ++i) + shouldBe(test1({}), false); diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-custom-accessors.js b/implementation-contributed/javascriptcore/stress/in-by-id-custom-accessors.js new file mode 100644 index 0000000000..9571ec8eb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-custom-accessors.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(object) +{ + return "customValue" in object; +} +noInline(test1); + +function test2(object) +{ + return "customAccessor" in object; +} +noInline(test2); + +var target1 = $vm.createCustomTestGetterSetter(); +var target2 = { __proto__: target1 }; +for (var i = 0; i < 1e5; ++i) { + shouldBe(test1(target1), true); + shouldBe(test1(target2), true); + shouldBe(test2(target1), true); + shouldBe(test2(target2), true); +} diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-custom-values.js b/implementation-contributed/javascriptcore/stress/in-by-id-custom-values.js new file mode 100644 index 0000000000..684781fc35 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-custom-values.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(object) +{ + return "$1" in object; +} +noInline(test); + +var target1 = RegExp; +var target2 = { __proto__: RegExp }; +for (var i = 0; i < 1e5; ++i) { + shouldBe(test(target1), true); + shouldBe(test(target2), true); +} diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-match-invalid.js b/implementation-contributed/javascriptcore/stress/in-by-id-match-invalid.js new file mode 100644 index 0000000000..51755e212e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-match-invalid.js @@ -0,0 +1,30 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(obj) +{ + return "hello" in obj +} +noInline(test1); + +let object1 = { + hello: 42 +}; +let object2 = { + cocoa: 44 +}; +for (let i = 0; i < 1e5; ++i) { + shouldBe(test1(object1), true); + shouldBe(test1(object2), false); +} +object2.hello = 44; +for (let i = 0; i < 1e5; ++i) { + shouldBe(test1(object1), true); + shouldBe(test1(object2), true); +} + +// OSRExits. +for (let i = 0; i < 1e5; ++i) + shouldBe(test1({}), false); diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-match.js b/implementation-contributed/javascriptcore/stress/in-by-id-match.js new file mode 100644 index 0000000000..62ccc31ccf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-match.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test1(obj) +{ + return "hello" in obj +} +noInline(test1); + +let array = [ + [{ + hello: 42 + }, true], + [{ + world: 43 + }, false], + [{ + __proto__: { + hello: 44 + } + }, true] +]; +for (let i = 0; i < 1e5; ++i) { + for (let [obj, result] of array) + shouldBe(test1(obj), result); +} + +// OSRExits. +for (let i = 0; i < 1e5; ++i) + shouldBe(test1({}), false); diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-operation.js b/implementation-contributed/javascriptcore/stress/in-by-id-operation.js new file mode 100644 index 0000000000..95dd2c40e3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-operation.js @@ -0,0 +1,42 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(object) +{ + return "hello" in object; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + shouldBe(test({ + hello: 42 + }), true); + shouldBe(test({ + hello: undefined, + world: 44 + }), true); + shouldBe(test({ + helloworld: 43, + ok: 44 + }), false); +} + +function selfCache(object) +{ + return "hello" in object; +} +noInline(selfCache); + +var object = {}; +object.hello = 42; +for (var i = 0; i < 1e6; ++i) + shouldBe(selfCache(object), true); +object.world = 43; +shouldBe(selfCache(object), true); +object.world = 43; +shouldBe(selfCache({ __proto__: object }), true); +delete object.hello; +shouldBe(selfCache(object), false); +shouldBe(selfCache({ __proto__: object }), false); diff --git a/implementation-contributed/javascriptcore/stress/in-by-id-proxy.js b/implementation-contributed/javascriptcore/stress/in-by-id-proxy.js new file mode 100644 index 0000000000..1e56bf2f8b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-by-id-proxy.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(object) +{ + return "hello" in object; +} +noInline(test); + +var count = 0; +var target = null; +var key = null; +var handler = { + has(targetArg, keyArg) { + ++count; + target = targetArg; + key = keyArg; + return keyArg in targetArg; + } +}; +var targetObject = {}; +var proxy = new Proxy(targetObject, handler); +for (var i = 0; i < 1e4; ++i) { + shouldBe(count, i); + shouldBe(test(proxy), false); + shouldBe(target, targetObject); + shouldBe(key, "hello"); +} +targetObject.hello = 42; +for (var i = 0; i < 1e4; ++i) { + shouldBe(count, i + 1e4); + shouldBe(test(proxy), true); + shouldBe(target, targetObject); + shouldBe(key, "hello"); +} +delete targetObject.hello; +for (var i = 0; i < 1e4; ++i) { + shouldBe(count, i + 2e4); + shouldBe(test(proxy), false); + shouldBe(target, targetObject); + shouldBe(key, "hello"); +} diff --git a/implementation-contributed/javascriptcore/stress/in-ftl-exception-check.js b/implementation-contributed/javascriptcore/stress/in-ftl-exception-check.js new file mode 100644 index 0000000000..7f5df01e1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/in-ftl-exception-check.js @@ -0,0 +1,19 @@ +function foo(a) { + return bar(a); +} +noFTL(foo); +noInline(foo); + +function bar(a) { + return "bar" in a; +} +noInline(bar); + +for (let i = 0; i < 1000000; i++) { + if (foo({})) + throw new Error("bad"); +} + +try { + foo(""); +} catch (e) { } diff --git a/implementation-contributed/javascriptcore/stress/incomplete-unicode-locale.js b/implementation-contributed/javascriptcore/stress/incomplete-unicode-locale.js new file mode 100644 index 0000000000..c96be83bd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/incomplete-unicode-locale.js @@ -0,0 +1,3 @@ +try { + new Intl.NumberFormat("en-x-u"); +} catch (e) {} diff --git a/implementation-contributed/javascriptcore/stress/indirect-call-object-constructor-with-no-arguments.js b/implementation-contributed/javascriptcore/stress/indirect-call-object-constructor-with-no-arguments.js new file mode 100644 index 0000000000..e2853a5d2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/indirect-call-object-constructor-with-no-arguments.js @@ -0,0 +1,9 @@ +let foo = Object + +function test() { + return foo(); +} +noInline(test); + +for (i = 0; i < 100000; i++) + test(); diff --git a/implementation-contributed/javascriptcore/stress/infer-constant-global-property.js b/implementation-contributed/javascriptcore/stress/infer-constant-global-property.js new file mode 100644 index 0000000000..cc9dbeeeb8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infer-constant-global-property.js @@ -0,0 +1,18 @@ +function foo(p) { + if (p) + Math = {sin: function() { return 42; }, PI: 43, abs: Math.abs}; +} + +noInline(foo); + +(function() { + var n = 100000; + var m = 100; + var result = 0; + for (var i = 0; i < n; ++i) { + foo(i == n - m); + result += Math.sin(Math.PI); + } + if (Math.abs(result - m * 42) > 1e-8) + throw "Error: bad result: " + result; +})(); diff --git a/implementation-contributed/javascriptcore/stress/infer-constant-property.js b/implementation-contributed/javascriptcore/stress/infer-constant-property.js new file mode 100644 index 0000000000..605ae3db70 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infer-constant-property.js @@ -0,0 +1,22 @@ +var o = {f:{f:{f:{f:{f:{f:{f:42}}}}}}}; + +function foo(p) { + if (p) + o.f.f.f.f.f.f = {f:53}; +} + +noInline(foo); + +(function() { + var n = 100000; + var m = 100; + var result = 0; + + for (var i = 0; i < n; ++i) { + foo(i == n - m); + result += o.f.f.f.f.f.f.f; + } + + if (result != (n - m) * 42 + m * 53) + throw "Error: bad result: " + result; +})(); diff --git a/implementation-contributed/javascriptcore/stress/infer-uninitialized-closure-var.js b/implementation-contributed/javascriptcore/stress/infer-uninitialized-closure-var.js new file mode 100644 index 0000000000..aa64af4ae3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infer-uninitialized-closure-var.js @@ -0,0 +1,26 @@ +function foo(p) { + var x; + + noInline(f); + + if (p) { + var f = function() { return x; } + + foo(false); + + for (var i = 0; i < 10000; ++i) { + var result = f(); + if (result !== void 0) + throw "Error: bad result (1): " + result; + } + + x = 43; + + var result = f(); + if (result != 43) + throw "Error: bad result (2): " + result; + } else + x = 42; +} + +foo(true); diff --git a/implementation-contributed/javascriptcore/stress/inferred-infinite-loop-that-uses-captured-variables.js b/implementation-contributed/javascriptcore/stress/inferred-infinite-loop-that-uses-captured-variables.js new file mode 100644 index 0000000000..733dbf1af0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inferred-infinite-loop-that-uses-captured-variables.js @@ -0,0 +1,27 @@ +function bar(f) { + throw f; +} + +noInline(bar); + +var shouldContinue = true; + +function foo(a) { + var x = a + 1; + while (shouldContinue) { + bar(function() { return x; }); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/inferred-names.js b/implementation-contributed/javascriptcore/stress/inferred-names.js new file mode 100644 index 0000000000..aefb7e14a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inferred-names.js @@ -0,0 +1,152 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function funcName() { return "func"; } +function klassName() { return "klass"; } + +// Anonymous. +assert( (function(){}).name === "" ); +assert( (function*(){}).name === "" ); +assert( (()=>{}).name === "" ); +assert( (class{}).name === "" ); + +// Named functions, do not infer name. +let f1 = function namedFunction1(){}; +let f2 = function* namedFunction2(){}; +let k1 = class namedClass{}; +assert(f1.name === "namedFunction1"); +assert(f2.name === "namedFunction2"); +assert(k1.name === "namedClass"); + +// Assignment, infer name. +let func1 = function(){}; +let func2 = function*(){}; +let func3 = ()=>{}; +assert(func1.name === "func1"); +assert(func2.name === "func2"); +assert(func3.name === "func3"); + +// Destructuring assignment default value. +let [ arrFunc1 = function(){} ] = []; +let [ arrFunc2 = function*(){} ] = []; +let [ arrFunc3 = ()=>{} ] = []; +let { objFunc1 = function(){} } = {}; +let { objFunc2 = function*(){} } = {}; +let { objFunc3 = ()=>{} } = {}; +let [ arrClass = class{} ] = []; +let { objClass = class{} } = {}; +assert(arrFunc1.name === "arrFunc1"); +assert(arrFunc2.name === "arrFunc2"); +assert(arrFunc3.name === "arrFunc3"); +assert(objFunc1.name === "objFunc1"); +assert(objFunc2.name === "objFunc2"); +assert(objFunc3.name === "objFunc3"); +assert(arrClass.name === "arrClass"); +assert(objClass.name === "objClass"); + +for ([ forArrFunc1 = function(){} ] of [[]]) + assert(forArrFunc1.name === "forArrFunc1"); +for ([ forArrFunc2 = function*(){} ] of [[]]) + assert(forArrFunc2.name === "forArrFunc2"); +for ([ forArrFunc3 = ()=>{} ] of [[]]) + assert(forArrFunc3.name === "forArrFunc3"); +for ([ forArrClass = class{} ] of [[]]) + assert(forArrClass.name === "forArrClass"); + +for ({ forObjFunc1 = function(){} } of [{}]) + assert(forObjFunc1.name === "forObjFunc1"); +for ({ forObjFunc2 = function*(){} } of [{}]) + assert(forObjFunc2.name === "forObjFunc2"); +for ({ forObjFunc3 = ()=>{} } of [{}]) + assert(forObjFunc3.name === "forObjFunc3"); +for ({ forObjClass = class{} } of [{}]) + assert(forObjClass.name === "forObjClass"); + +// Global variable assignment. +assert( (globalFunc = function(){}).name === "globalFunc" ); +assert( (globalFunc = function*(){}).name === "globalFunc" ); +assert( (globalFunc = ()=>{}).name === "globalFunc" ); +assert( (globalKlass = class{}).name === "globalKlass" ); + +// Named properties. +assert( ({"func": function(){}}).func.name === "func" ); +assert( ({"func": function*(){}}).func.name === "func" ); +assert( ({func: function(){}}).func.name === "func" ); +assert( ({func: function*(){}}).func.name === "func" ); +assert( ({func(){}}).func.name === "func" ); +assert( ({*func(){}}).func.name === "func" ); +assert( ({["func"]: function(){}}).func.name === "func" ); +assert( ({["func"]: function*(){}}).func.name === "func" ); +assert( ({["func"](){}}).func.name === "func" ); +assert( ({*["func"](){}}).func.name === "func" ); +assert( ({[funcName()]: function(){}}).func.name === "func" ); +assert( ({[funcName()]: function*(){}}).func.name === "func" ); +assert( ({[funcName()](){}}).func.name === "func" ); +assert( ({*[funcName()](){}}).func.name === "func" ); + +assert( ({"func": ()=>{}}).func.name === "func" ); +assert( ({func: ()=>{}}).func.name === "func" ); +assert( ({["func"]: ()=>{}}).func.name === "func" ); +assert( ({[funcName()]: ()=>{}}).func.name === "func" ); + +assert( ({"klass": class{}}).klass.name === "klass" ); +assert( ({klass: class{}}).klass.name === "klass" ); +assert( ({["klass"]: class{}}).klass.name === "klass" ); +assert( ({[klassName()]: class{}}).klass.name === "klass" ); + +// Unnamed computed properties. +let sym = Symbol(); +assert( ({[sym]: function(){}})[sym].name === "" ); +assert( ({[sym]: function*(){}})[sym].name === "" ); +assert( ({[sym]: ()=>{}})[sym].name === "" ); +assert( ({[sym](){}})[sym].name === "" ); +assert( ({*[sym](){}})[sym].name === "" ); +assert( ({[sym]: class{}})[sym].name === "" ); + +// Parameter default value. +assert( (function(func = function(){}) { return func.name })() === "func" ); +assert( (function(func = function*(){}) { return func.name })() === "func" ); +assert( (function(func = ()=>{}) { return func.name })() === "func" ); +assert( (function(klass = class{}) { return klass.name })() === "klass" ); + +// Parameter Destructuring default value. +assert( (function({func = function(){}}) { return func.name })({}) === "func" ); +assert( (function({func = function*(){}}) { return func.name })({}) === "func" ); +assert( (function({func = ()=>{}}) { return func.name })({}) === "func" ); +assert( (function([func = function(){}]) { return func.name })([]) === "func" ); +assert( (function([func = function*(){}]) { return func.name })([]) === "func" ); +assert( (function([func = ()=>{}]) { return func.name })([]) === "func" ); +assert( (function({klass = class{}}) { return klass.name })({}) === "klass" ); +assert( (function([klass = class{}]) { return klass.name })([]) === "klass" ); + +assert( (({func = function(){}}) => { return func.name })({}) === "func" ); +assert( (({func = function*(){}}) => { return func.name })({}) === "func" ); +assert( (({func = ()=>{}}) => { return func.name })({}) === "func" ); +assert( (([func = function(){}]) => { return func.name })([]) === "func" ); +assert( (([func = function*(){}]) => { return func.name })([]) === "func" ); +assert( (([func = ()=>{}]) => { return func.name })([]) === "func" ); +assert( (({klass = class{}}) => { return klass.name })({}) === "klass" ); +assert( (([klass = class{}]) => { return klass.name })([]) === "klass" ); + +assert( ({ method({func = function(){}}) { return func.name } }).method({}) === "func" ); +assert( ({ method({func = function*(){}}) { return func.name } }).method({}) === "func" ); +assert( ({ method({func = ()=>{}}) { return func.name } }).method({}) === "func" ); +assert( ({ method([func = function(){}]) { return func.name } }).method([]) === "func" ); +assert( ({ method([func = function*(){}]) { return func.name } }).method([]) === "func" ); +assert( ({ method([func = ()=>{}]) { return func.name } }).method([]) === "func" ); +assert( ({ method({klass = class{}}) { return klass.name } }).method({}) === "klass" ); +assert( ({ method([klass = class{}]) { return klass.name } }).method([]) === "klass" ); + +// B.3.1__proto__ Property Names in Object Initializers + +assert( ({__proto__: function(){}}).__proto__.name === "" ); +assert( ({__proto__: function*(){}}).__proto__.name === "" ); +assert( ({__proto__: ()=>{}}).__proto__.name === "" ); +assert( ({["__proto__"]: function(){}}).__proto__.name === "__proto__" ); +assert( ({["__proto__"]: function*(){}}).__proto__.name === "__proto__" ); +assert( ({["__proto__"]: ()=>{}}).__proto__.name === "__proto__" ); +assert( ({__proto__(){}}).__proto__.name === "__proto__" ); +assert( ({*__proto__(){}}).__proto__.name === "__proto__" ); +assert( ({__proto__(){}}).__proto__.name === "__proto__" ); diff --git a/implementation-contributed/javascriptcore/stress/inferred-type-table-stale-identifiers.js b/implementation-contributed/javascriptcore/stress/inferred-type-table-stale-identifiers.js new file mode 100644 index 0000000000..a1b8c8e1fd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inferred-type-table-stale-identifiers.js @@ -0,0 +1,220 @@ +var o = {}; +o.f = 1; +o.g = 2; + +var p = {}; +p.f = 1; +p.g = 2; + +function foo(o) { + o.i0 = 0 + o.i1 = 1 + o.i2 = 2 + o.i3 = 3 + o.i4 = 4 + o.i5 = 5 + o.i6 = 6 + o.i7 = 7 + o.i8 = 8 + o.i9 = 9 + o.i10 = 10 + o.i11 = 11 + o.i12 = 12 + o.i13 = 13 + o.i14 = 14 + o.i15 = 15 + o.i16 = 16 + o.i17 = 17 + o.i18 = 18 + o.i19 = 19 + o.i20 = 20 + o.i21 = 21 + o.i22 = 22 + o.i23 = 23 + o.i24 = 24 + o.i25 = 25 + o.i26 = 26 + o.i27 = 27 + o.i28 = 28 + o.i29 = 29 + o.i30 = 30 + o.i31 = 31 + o.i32 = 32 + o.i33 = 33 + o.i34 = 34 + o.i35 = 35 + o.i36 = 36 + o.i37 = 37 + o.i38 = 38 + o.i39 = 39 + o.i40 = 40 + o.i41 = 41 + o.i42 = 42 + o.i43 = 43 + o.i44 = 44 + o.i45 = 45 + o.i46 = 46 + o.i47 = 47 + o.i48 = 48 + o.i49 = 49 + o.i50 = 50 + o.i51 = 51 + o.i52 = 52 + o.i53 = 53 + o.i54 = 54 + o.i55 = 55 + o.i56 = 56 + o.i57 = 57 + o.i58 = 58 + o.i59 = 59 + o.i60 = 60 + o.i61 = 61 + o.i62 = 62 + o.i63 = 63 + o.i64 = 64 + o.i65 = 65 + o.i66 = 66 + o.i67 = 67 + o.i68 = 68 + o.i69 = 69 + o.i70 = 70 + o.i71 = 71 + o.i72 = 72 + o.i73 = 73 + o.i74 = 74 + o.i75 = 75 + o.i76 = 76 + o.i77 = 77 + o.i78 = 78 + o.i79 = 79 + o.i80 = 80 + o.i81 = 81 + o.i82 = 82 + o.i83 = 83 + o.i84 = 84 + o.i85 = 85 + o.i86 = 86 + o.i87 = 87 + o.i88 = 88 + o.i89 = 89 + o.i90 = 90 + o.i91 = 91 + o.i92 = 92 + o.i93 = 93 + o.i94 = 94 + o.i95 = 95 + o.i96 = 96 + o.i97 = 97 + o.i98 = 98 + o.i99 = 99 +} + +foo(o); +foo = null; +o = null; +fullGC(); + +function bar(o) { + o.j0 = 0 + o.j1 = 1 + o.j2 = 2 + o.j3 = 3 + o.j4 = 4 + o.j5 = 5 + o.j6 = 6 + o.j7 = 7 + o.j8 = 8 + o.j9 = 9 + o.j10 = 10 + o.j11 = 11 + o.j12 = 12 + o.j13 = 13 + o.j14 = 14 + o.j15 = 15 + o.j16 = 16 + o.j17 = 17 + o.j18 = 18 + o.j19 = 19 + o.j20 = 20 + o.j21 = 21 + o.j22 = 22 + o.j23 = 23 + o.j24 = 24 + o.j25 = 25 + o.j26 = 26 + o.j27 = 27 + o.j28 = 28 + o.j29 = 29 + o.j30 = 30 + o.j31 = 31 + o.j32 = 32 + o.j33 = 33 + o.j34 = 34 + o.j35 = 35 + o.j36 = 36 + o.j37 = 37 + o.j38 = 38 + o.j39 = 39 + o.j40 = 40 + o.j41 = 41 + o.j42 = 42 + o.j43 = 43 + o.j44 = 44 + o.j45 = 45 + o.j46 = 46 + o.j47 = 47 + o.j48 = 48 + o.j49 = 49 + o.j50 = 50 + o.j51 = 51 + o.j52 = 52 + o.j53 = 53 + o.j54 = 54 + o.j55 = 55 + o.j56 = 56 + o.j57 = 57 + o.j58 = 58 + o.j59 = 59 + o.j60 = 60 + o.j61 = 61 + o.j62 = 62 + o.j63 = 63 + o.j64 = 64 + o.j65 = 65 + o.j66 = 66 + o.j67 = 67 + o.j68 = 68 + o.j69 = 69 + o.j70 = 70 + o.j71 = 71 + o.j72 = 72 + o.j73 = 73 + o.j74 = 74 + o.j75 = 75 + o.j76 = 76 + o.j77 = 77 + o.j78 = 78 + o.j79 = 79 + o.j80 = 80 + o.j81 = 81 + o.j82 = 82 + o.j83 = 83 + o.j84 = 84 + o.j85 = 85 + o.j86 = 86 + o.j87 = 87 + o.j88 = 88 + o.j89 = 89 + o.j90 = 90 + o.j91 = 91 + o.j92 = 92 + o.j93 = 93 + o.j94 = 94 + o.j95 = 95 + o.j96 = 96 + o.j97 = 97 + o.j98 = 98 + o.j99 = 99 +} + +bar(p); diff --git a/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-before-throwing.js b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-before-throwing.js new file mode 100644 index 0000000000..2961ada92a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-before-throwing.js @@ -0,0 +1,34 @@ +var count = 0; + +function bar(f) { + if (++count < 10) { + var result = f(); + if (result != i + 1) + throw "Error: bad result insie closure for i = " + i + ": " + result; + return; + } + count = 0; + throw f; +} + +noInline(bar); + +function foo(a) { + var x = a + 1; + for (;;) { + bar(function() { return x; }); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js new file mode 100644 index 0000000000..ebce9fe2c8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-but-they-do-not-escape.js @@ -0,0 +1,33 @@ +var count = 0; + +function bar(f) { + if (++count < 10) { + var result = f(); + if (result != i + 1) + throw "Error: bad result insie closure for i = " + i + ": " + result; + return; + } + count = 0; + throw "done"; +} + +noInline(bar); + +function foo(a) { + var x = a + 1; + for (;;) { + bar(function() { return x; }); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (done) { + if (done != "done") + throw "Error: bad exception: " + done; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js new file mode 100644 index 0000000000..c152e1ce08 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables-with-osr-entry.js @@ -0,0 +1,26 @@ +var count = 0; + +function bar(f) { + if (++count >= 10000) + throw f; +} + +noInline(bar); + +function foo(a) { + var x = a + 1; + for (;;) { + bar(function() { return x; }); + } +} + +noInline(foo); + +try { + foo(42); +} catch (f) { + var result = f(); + if (result != 43) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables.js b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables.js new file mode 100644 index 0000000000..fd614a2b9f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/infinite-loop-that-uses-captured-variables.js @@ -0,0 +1,25 @@ +function bar(f) { + throw f; +} + +noInline(bar); + +function foo(a) { + var x = a + 1; + for (;;) { + bar(function() { return x; }); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/initialize_functions_after_arguments.js b/implementation-contributed/javascriptcore/stress/initialize_functions_after_arguments.js new file mode 100644 index 0000000000..6498a66f47 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/initialize_functions_after_arguments.js @@ -0,0 +1,8 @@ +(function (Thing){ + function Thing() { + } + function other() { + Thing; + } + Thing(); +})(2) diff --git a/implementation-contributed/javascriptcore/stress/injected-numeric-setter-on-prototype.js b/implementation-contributed/javascriptcore/stress/injected-numeric-setter-on-prototype.js new file mode 100644 index 0000000000..594de33746 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/injected-numeric-setter-on-prototype.js @@ -0,0 +1,36 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +class Trace { + constructor() + { + this.__count = 0; + } + + trace() + { + this.__count++; + } + + get count() + { + return this.__count; + } +} + +for (var i = 0; i < 10000; ++i) { + var t0 = new Trace(); + + var object = {}; + shouldBe(t0.count, 0); + var a = {__proto__: object }; + shouldBe(t0.count, 0); + Object.defineProperty(object, 3, { + set: function (x) { t0.trace() } + }); + a[3] = 7; + shouldBe(t0.count, 1); +} diff --git a/implementation-contributed/javascriptcore/stress/inline-call-that-doesnt-use-all-args.js b/implementation-contributed/javascriptcore/stress/inline-call-that-doesnt-use-all-args.js new file mode 100644 index 0000000000..afbb790bb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-call-that-doesnt-use-all-args.js @@ -0,0 +1,27 @@ +function foo(a, b, c) { + return 42; +} + +function bar(a, b, c) { + return a + b + c; +} + +function baz(f, o) { + return f(o[0], o[1], o[2]); +} + +noInline(baz); + +var o = new Float32Array(3); +o[0] = 1; +o[1] = 2; +o[2] = 3; +for (var i = 0; i < 10000; ++i) { + var result = baz(foo, o); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var result = baz(bar, o); +if (result != 6) + throw "Error: bad result in loop: " + result; diff --git a/implementation-contributed/javascriptcore/stress/inline-call-to-recursive-tail-call.js b/implementation-contributed/javascriptcore/stress/inline-call-to-recursive-tail-call.js new file mode 100644 index 0000000000..b00f71853d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-call-to-recursive-tail-call.js @@ -0,0 +1,94 @@ +"use strict"; + +// factorial calls aux that tail-calls back into factorial. +// It is not OK to turn that tail call into a jump back to the top of the function, because the call to aux is not a tail call. +function factorial(n) { + function aux(n) { + if (n == 1) + return 1; + return factorial(n - 1); + } + + return n * aux(n); +} + +// Same, but this time with an irrelevant tail call in factorial. +// This exercises a different code path because the recursive tail call optimization aborts early if the op_enter block is not split, and it is split by the detection of a tail call. +function factorial2(n) { + function aux2(n) { + if (n == 1) + return 1; + return factorial2(n - 1); + } + function id(n) { + return n; + } + + return id(n * aux2(n)); +} + +// This time, aux is tail-calling itself: the optimization is valid but must jump to the start of aux3, not of factorial3. +function factorial3(n) { + function aux3(n, acc) { + if (n == 1) + return acc; + return aux3 (n-1, n*acc); + } + + return n * aux3(n-1, 1); +} + +// In this case, it is valid to jump all the way to the top of factorial4, because all calls are tail calls. +function factorial4(n, acc) { + function aux4(n, acc) { + if (n == 1) + return acc; + return factorial4(n-1, n*acc); + } + + if (acc) + return aux4(n, acc); + return aux4(n, 1); +} + +// This function is used to test that recursing with a different number of arguments doesn't mess up with the stack. +// The first two tail calls should be optimized, but not the last one (no place on the stack for the third argument). +function foo(a, b) { + if (a == 0) + return 42; + if (a == 1) + return foo(a - 1); + if (a == 2) + return foo(b - 1, a); + return foo (b - 1, a, 43); +} + +// Same deal as foo, just with an inlining thrown into the mix. +// Even the first tail call should not be optimized in this case, because some code in the compiler may constant-fold the number of arguments in that case. +function bar(x, y) { + function auxBar(a, b) { + if (a == 0) + return 42; + if (a == 1) + return auxBar(a - 1); + if (a == 2) + return auxBar(b - 1, a); + return auxBar(b - 1, a, 43); + } + + return auxBar(x, y); +} + +function test(result, expected, name) { + if (result != expected) + throw "Wrong result for " + name + ": " + result + " instead of " + expected; +} + +for (var i = 0; i < 10000; ++i) { + test(factorial(20), 2432902008176640000, "factorial"); + test(factorial2(20), 2432902008176640000, "factorial2"); + test(factorial3(20), 2432902008176640000, "factorial3"); + test(factorial4(20), 2432902008176640000, "factorial4"); + test(foo(10, 10), 42, "foo"); + test(bar(10, 10), 42, "bar"); +} diff --git a/implementation-contributed/javascriptcore/stress/inline-call-varargs-and-call.js b/implementation-contributed/javascriptcore/stress/inline-call-varargs-and-call.js new file mode 100644 index 0000000000..e001d25600 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-call-varargs-and-call.js @@ -0,0 +1,25 @@ +function foo(a, b) { + return bar(a, b); +} + +function bar(a, b) { + var x = baz.apply(null, arguments); + var y = baz(a, b) + return x + y * 3; +} + +function baz(a, b) { + return a + b * 2; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(7, 11); + if (result != 116) + throw "Error: bad result: " + result; +} + +var result = foo(5, 2147483646); +if (result != 17179869188) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/inline-call-varargs.js b/implementation-contributed/javascriptcore/stress/inline-call-varargs.js new file mode 100644 index 0000000000..ae7a54509a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-call-varargs.js @@ -0,0 +1,23 @@ +function foo(a, b) { + return bar(a, b); +} + +function bar(a, b) { + return baz.apply(null, arguments); +} + +function baz(a, b) { + return a + b * 2; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(7, 11); + if (result != 29) + throw "Error: bad result: " + result; +} + +var result = foo(5, 2147483646); +if (result != 4294967297) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/inline-closure-call.js b/implementation-contributed/javascriptcore/stress/inline-closure-call.js new file mode 100644 index 0000000000..7d9a614dfa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-closure-call.js @@ -0,0 +1,16 @@ +function foo(x) { + return function(y) { return x + y; } +} + +function bar(a, b) { + return foo(a)(b); +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar(i, i + 1); + if (result != i * 2 + 1) + throw "Error: bad result for " + i + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/inline-llint-with-switch.js b/implementation-contributed/javascriptcore/stress/inline-llint-with-switch.js new file mode 100644 index 0000000000..84b7b6bdfb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-llint-with-switch.js @@ -0,0 +1,43 @@ +function foo(i) { + switch (i) { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + return 42; + default: + return "error"; + } +} + +function bar(p) { + if (p) + return foo(effectful42() - 42); + else + return 42; +} + +noInline(bar); + +function test(p) { + var result = bar(p); + if (result != 42) + throw "Error: bad result: " + result; +} + +// Make sure that the call to foo() looks like it has happened. +for (var i = 0; i < 2; ++i) + test(true); + +// Warm up bar and cause inlining, but make sure that foo() doesn't get DFG'd. +for (var i = 0; i < 10000; ++i) + test(false); + +// And finally test the switch statement. +test(true); diff --git a/implementation-contributed/javascriptcore/stress/inline-varargs-get-arguments.js b/implementation-contributed/javascriptcore/stress/inline-varargs-get-arguments.js new file mode 100644 index 0000000000..041dd69287 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inline-varargs-get-arguments.js @@ -0,0 +1,23 @@ +function foo(f, array) { + return f.apply(this, array); +} + +function bar(a, b, c) { + return baz(); +} + +function baz() { + return bar.arguments[3]; +} + +noInline(foo); +noInline(baz); + +var array = [0, 0, 0, 42]; + +for (var i = 0; i < 10000; ++i) { + var result = foo(bar, array); + if (result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/inlined-constructor-this-liveness.js b/implementation-contributed/javascriptcore/stress/inlined-constructor-this-liveness.js new file mode 100644 index 0000000000..bded332c46 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inlined-constructor-this-liveness.js @@ -0,0 +1,24 @@ +function Foo(a, b) { + this.f = a.f; + this.g = b.f + 1; +} + +function foo(a, b) { + return new Foo(a, b); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:1}, {f:2}); + if (result.f != 1) + throw "Error: bad result.f: " + result.f; + if (result.g != 3) + throw "Error: bad result.g: " + result.g; +} + +var result = foo({f:1}, {f:2.5}); +if (result.f != 1) + throw "Error: bad result.f: " + result.f; +if (result.g != 3.5) + throw "Error: bad result.f: " + result.g; diff --git a/implementation-contributed/javascriptcore/stress/inlined-error-gets-correct-codeblock-for-bytecodeoffset.js b/implementation-contributed/javascriptcore/stress/inlined-error-gets-correct-codeblock-for-bytecodeoffset.js new file mode 100644 index 0000000000..7d1c21133f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inlined-error-gets-correct-codeblock-for-bytecodeoffset.js @@ -0,0 +1,32 @@ +function map(e,t,i){ + var r; + var o=0; + var s=e.length; + var a=n(e); + var l=[]; + if(a) { + for(;s>o;o++){ + r=t(e[o],o,i); + null!=r&&l.push(r); + } + } + return l +} + +function n(e){ + var t="length" in e && e.length; + var n = typeof e; + return "function" === n || t; +} +noInline(map); + +function one() { return 1; } + +for(i = 0; i < 20000; i++) { + map([], one, ""); +} + +// This should throw an exception but it shouldn't crash. +try { + map("", one, ""); +} catch (e) { } diff --git a/implementation-contributed/javascriptcore/stress/inlined-function-this-liveness.js b/implementation-contributed/javascriptcore/stress/inlined-function-this-liveness.js new file mode 100644 index 0000000000..5d667c6e35 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inlined-function-this-liveness.js @@ -0,0 +1,26 @@ +function bar(a, b) { + this.f = a.f; + this.g = b.f + 1; + return this; +} + +function foo(a, b) { + var o = {f:bar}; + return o.f(a, b); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:1}, {f:2}); + if (result.f != 1) + throw "Error: bad result.f: " + result.f; + if (result.g != 3) + throw "Error: bad result.g: " + result.g; +} + +var result = foo({f:1}, {f:2.5}); +if (result.f != 1) + throw "Error: bad result.f: " + result.f; +if (result.g != 3.5) + throw "Error: bad result.f: " + result.g; diff --git a/implementation-contributed/javascriptcore/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js b/implementation-contributed/javascriptcore/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js new file mode 100644 index 0000000000..4e6dee8fcf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inlined-tail-call-in-inlined-setter-should-not-crash-when-getting-value-profile.js @@ -0,0 +1,13 @@ +let o = { + set foo(x) { + 'use strict'; + return bar(); + } +}; + +function bar() { + return 20; +} + +for (let i = 0; i < 100000; i++) + o.foo = 20; diff --git a/implementation-contributed/javascriptcore/stress/inlining-unreachable-non-tail.js b/implementation-contributed/javascriptcore/stress/inlining-unreachable-non-tail.js new file mode 100644 index 0000000000..7ceb136afe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inlining-unreachable-non-tail.js @@ -0,0 +1,13 @@ +"use strict"; + +var foo = class { + constructor() { + foo(); + try {} catch {} + } +}; +for (var i = 0; i < 1000; i++) { + try { + new foo(); + } catch {} +} diff --git a/implementation-contributed/javascriptcore/stress/inlining-unreachable.js b/implementation-contributed/javascriptcore/stress/inlining-unreachable.js new file mode 100644 index 0000000000..35bd2cffdd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inlining-unreachable.js @@ -0,0 +1,9 @@ +var bar = class Bar { }; +var baz = class Baz { + constructor() { bar(); } +}; +for (var i = 0; i < 10000; i++) { + try { + new baz(); + } catch (e) {} +} diff --git a/implementation-contributed/javascriptcore/stress/inserted-recovery-with-set-last-index.js b/implementation-contributed/javascriptcore/stress/inserted-recovery-with-set-last-index.js new file mode 100644 index 0000000000..2df1cd9b31 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inserted-recovery-with-set-last-index.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function foo(p) { + var o = /Hello/; + if (p) { + var res = /World/; + res.lastIndex = o; + return res; + } +} + +noInline(foo); + +var array = new Array(1000); +for (var i = 0; i < 400000; ++i) { + var o = foo(i & 0x1); + if (i & 0x1) { + shouldBe(o instanceof RegExp, true); + shouldBe(o.toString(), "/World/"); + shouldBe(o.lastIndex.toString(), "/Hello/"); + } + array[i % array.length] = o; +} + diff --git a/implementation-contributed/javascriptcore/stress/instance-of-on-poly-proto-opc-should-not-crash.js b/implementation-contributed/javascriptcore/stress/instance-of-on-poly-proto-opc-should-not-crash.js new file mode 100644 index 0000000000..8d3d1bc07a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instance-of-on-poly-proto-opc-should-not-crash.js @@ -0,0 +1,28 @@ +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + this.hello = 33; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function foo(o, c) { + return o instanceof c; +} +noInline(foo); + +class C { } + +let o = makePolyProtoObject(); +o.__proto__= new C; +let x = {__proto__: o}; +for (let i = 0; i < 1000; ++i) { + foo(x, C); +} diff --git a/implementation-contributed/javascriptcore/stress/instanceof-custom-hasinstancesymbol.js b/implementation-contributed/javascriptcore/stress/instanceof-custom-hasinstancesymbol.js new file mode 100644 index 0000000000..12f24230c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-custom-hasinstancesymbol.js @@ -0,0 +1,24 @@ +function Constructor(x) {} + +Object.defineProperty(Constructor, Symbol.hasInstance, {value: function() { return false; }}); + +x = new Constructor(); + +function instanceOf(a, b) { + return a instanceof b; +} +noInline(instanceOf); + +function body() { + var result = 0; + for (var i = 0; i < 100000; i++) { + if (instanceOf(x, Constructor)) + result++; + } + + return result; +} +noInline(body); + +if (body()) + throw "result incorrect"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-check-structure.js b/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-check-structure.js new file mode 100644 index 0000000000..0b86b538bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-check-structure.js @@ -0,0 +1,159 @@ +class Foo0 { } +class Foo1 { } +class Foo2 { } +class Foo3 { } +class Foo4 { } +class Foo5 { } +class Foo6 { } +class Foo7 { } +class Foo8 { } +class Foo9 { } +class Foo10 { } +class Foo11 { } +class Foo12 { } +class Foo13 { } +class Foo14 { } +class Foo15 { } +class Foo16 { } +class Foo17 { } +class Foo18 { } +class Foo19 { } +class Foo20 { } +class Foo21 { } +class Foo22 { } +class Foo23 { } +class Foo24 { } +class Foo25 { } +class Foo26 { } +class Foo27 { } +class Foo28 { } +class Foo29 { } +class Foo30 { } +class Foo31 { } +class Foo32 { } +class Foo33 { } +class Foo34 { } +class Foo35 { } +class Foo36 { } +class Foo37 { } +class Foo38 { } +class Foo39 { } +class Foo40 { } +class Foo41 { } +class Foo42 { } +class Foo43 { } +class Foo44 { } +class Foo45 { } +class Foo46 { } +class Foo47 { } +class Foo48 { } +class Foo49 { } +class Foo50 { } +class Foo51 { } +class Foo52 { } +class Foo53 { } +class Foo54 { } +class Foo55 { } +class Foo56 { } +class Foo57 { } +class Foo58 { } +class Foo59 { } +class Foo60 { } +class Foo61 { } +class Foo62 { } +class Foo63 { } +class Foo64 { } +class Foo65 { } +class Foo66 { } +class Foo67 { } +class Foo68 { } +class Foo69 { } +class Foo70 { } +class Foo71 { } +class Foo72 { } +class Foo73 { } +class Foo74 { } +class Foo75 { } +class Foo76 { } +class Foo77 { } +class Foo78 { } +class Foo79 { } +class Foo80 { } +class Foo81 { } +class Foo82 { } +class Foo83 { } +class Foo84 { } +class Foo85 { } +class Foo86 { } +class Foo87 { } +class Foo88 { } +class Foo89 { } +class Foo90 { } +class Foo91 { } +class Foo92 { } +class Foo93 { } +class Foo94 { } +class Foo95 { } +class Foo96 { } +class Foo97 { } +class Foo98 { } +class Foo99 { } + +var foos = [new Foo0(), new Foo1(), new Foo2(), new Foo3(), new Foo4(), new Foo5(), new Foo6(), new Foo7(), new Foo8(), new Foo9(), new Foo10(), new Foo11(), new Foo12(), new Foo13(), new Foo14(), new Foo15(), new Foo16(), new Foo17(), new Foo18(), new Foo19(), new Foo20(), new Foo21(), new Foo22(), new Foo23(), new Foo24(), new Foo25(), new Foo26(), new Foo27(), new Foo28(), new Foo29(), new Foo30(), new Foo31(), new Foo32(), new Foo33(), new Foo34(), new Foo35(), new Foo36(), new Foo37(), new Foo38(), new Foo39(), new Foo40(), new Foo41(), new Foo42(), new Foo43(), new Foo44(), new Foo45(), new Foo46(), new Foo47(), new Foo48(), new Foo49(), new Foo50(), new Foo51(), new Foo52(), new Foo53(), new Foo54(), new Foo55(), new Foo56(), new Foo57(), new Foo58(), new Foo59(), new Foo60(), new Foo61(), new Foo62(), new Foo63(), new Foo64(), new Foo65(), new Foo66(), new Foo67(), new Foo68(), new Foo69(), new Foo70(), new Foo71(), new Foo72(), new Foo73(), new Foo74(), new Foo75(), new Foo76(), new Foo77(), new Foo78(), new Foo79(), new Foo80(), new Foo81(), new Foo82(), new Foo83(), new Foo84(), new Foo85(), new Foo86(), new Foo87(), new Foo88(), new Foo89(), new Foo90(), new Foo91(), new Foo92(), new Foo93(), new Foo94(), new Foo95(), new Foo96(), new Foo97(), new Foo98(), new Foo99()]; + +class Foo { } + +function Bar() { } + +var numberOfGetPrototypeOfCalls = 0; + +var doBadThings = function() { }; + +Bar.prototype = new Proxy( + {}, + { + getPrototypeOf() + { + numberOfGetPrototypeOfCalls++; + doBadThings(); + return Foo.prototype; + } + }); + +// Break some watchpoints. +var o = {f:42}; +o.g = 43; + +function foo(o, p, q) +{ + var result = o.f; + var _ = p instanceof Foo; + q.f = 11; + return result + o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, foos[i % foos.length], {f:0}); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +var globalO = {f:42}; +var didCallGetter = false; +doBadThings = function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { + didCallGetter = true; + return 43; + }); +}; + +var result = foo(globalO, new Bar(), {f:0}); +if (result != 85) + throw "Error: bad result at end: " + result; +if (!didCallGetter) + throw "Error: did not call getter"; +if (numberOfGetPrototypeOfCalls != 1) + throw "Error: did not call getPrototypeOf() the right number of times at end"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-loop.js b/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-loop.js new file mode 100644 index 0000000000..50065e983e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy-loop.js @@ -0,0 +1,159 @@ +class Foo0 { } +class Foo1 { } +class Foo2 { } +class Foo3 { } +class Foo4 { } +class Foo5 { } +class Foo6 { } +class Foo7 { } +class Foo8 { } +class Foo9 { } +class Foo10 { } +class Foo11 { } +class Foo12 { } +class Foo13 { } +class Foo14 { } +class Foo15 { } +class Foo16 { } +class Foo17 { } +class Foo18 { } +class Foo19 { } +class Foo20 { } +class Foo21 { } +class Foo22 { } +class Foo23 { } +class Foo24 { } +class Foo25 { } +class Foo26 { } +class Foo27 { } +class Foo28 { } +class Foo29 { } +class Foo30 { } +class Foo31 { } +class Foo32 { } +class Foo33 { } +class Foo34 { } +class Foo35 { } +class Foo36 { } +class Foo37 { } +class Foo38 { } +class Foo39 { } +class Foo40 { } +class Foo41 { } +class Foo42 { } +class Foo43 { } +class Foo44 { } +class Foo45 { } +class Foo46 { } +class Foo47 { } +class Foo48 { } +class Foo49 { } +class Foo50 { } +class Foo51 { } +class Foo52 { } +class Foo53 { } +class Foo54 { } +class Foo55 { } +class Foo56 { } +class Foo57 { } +class Foo58 { } +class Foo59 { } +class Foo60 { } +class Foo61 { } +class Foo62 { } +class Foo63 { } +class Foo64 { } +class Foo65 { } +class Foo66 { } +class Foo67 { } +class Foo68 { } +class Foo69 { } +class Foo70 { } +class Foo71 { } +class Foo72 { } +class Foo73 { } +class Foo74 { } +class Foo75 { } +class Foo76 { } +class Foo77 { } +class Foo78 { } +class Foo79 { } +class Foo80 { } +class Foo81 { } +class Foo82 { } +class Foo83 { } +class Foo84 { } +class Foo85 { } +class Foo86 { } +class Foo87 { } +class Foo88 { } +class Foo89 { } +class Foo90 { } +class Foo91 { } +class Foo92 { } +class Foo93 { } +class Foo94 { } +class Foo95 { } +class Foo96 { } +class Foo97 { } +class Foo98 { } +class Foo99 { } + +var foos = [new Foo0(), new Foo1(), new Foo2(), new Foo3(), new Foo4(), new Foo5(), new Foo6(), new Foo7(), new Foo8(), new Foo9(), new Foo10(), new Foo11(), new Foo12(), new Foo13(), new Foo14(), new Foo15(), new Foo16(), new Foo17(), new Foo18(), new Foo19(), new Foo20(), new Foo21(), new Foo22(), new Foo23(), new Foo24(), new Foo25(), new Foo26(), new Foo27(), new Foo28(), new Foo29(), new Foo30(), new Foo31(), new Foo32(), new Foo33(), new Foo34(), new Foo35(), new Foo36(), new Foo37(), new Foo38(), new Foo39(), new Foo40(), new Foo41(), new Foo42(), new Foo43(), new Foo44(), new Foo45(), new Foo46(), new Foo47(), new Foo48(), new Foo49(), new Foo50(), new Foo51(), new Foo52(), new Foo53(), new Foo54(), new Foo55(), new Foo56(), new Foo57(), new Foo58(), new Foo59(), new Foo60(), new Foo61(), new Foo62(), new Foo63(), new Foo64(), new Foo65(), new Foo66(), new Foo67(), new Foo68(), new Foo69(), new Foo70(), new Foo71(), new Foo72(), new Foo73(), new Foo74(), new Foo75(), new Foo76(), new Foo77(), new Foo78(), new Foo79(), new Foo80(), new Foo81(), new Foo82(), new Foo83(), new Foo84(), new Foo85(), new Foo86(), new Foo87(), new Foo88(), new Foo89(), new Foo90(), new Foo91(), new Foo92(), new Foo93(), new Foo94(), new Foo95(), new Foo96(), new Foo97(), new Foo98(), new Foo99()]; + +class Foo { } + +function Bar() { } + +var numberOfGetPrototypeOfCalls = 0; + +var doBadThings = function() { }; + +Bar.prototype = new Proxy( + {}, + { + getPrototypeOf() + { + numberOfGetPrototypeOfCalls++; + doBadThings(); + return Foo.prototype; + } + }); + +// Break some watchpoints. +var o = {f:42}; +o.g = 43; + +function foo(o, p) +{ + var result = o.f; + for (var i = 0; i < 5; ++i) + var _ = p instanceof Foo; + return result + o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, foos[i % foos.length]); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +var globalO = {f:42}; +var didCallGetter = false; +doBadThings = function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { + didCallGetter = true; + return 43; + }); +}; + +var result = foo(globalO, new Bar()); +if (result != 85) + throw "Error: bad result at end: " + result; +if (!didCallGetter) + throw "Error: did not call getter"; +if (numberOfGetPrototypeOfCalls != 5) + throw "Error: did not call getPrototypeOf() the right number of times at end"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy.js b/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy.js new file mode 100644 index 0000000000..54abfcca6f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-dynamic-proxy.js @@ -0,0 +1,150 @@ +class Foo0 { } +class Foo1 { } +class Foo2 { } +class Foo3 { } +class Foo4 { } +class Foo5 { } +class Foo6 { } +class Foo7 { } +class Foo8 { } +class Foo9 { } +class Foo10 { } +class Foo11 { } +class Foo12 { } +class Foo13 { } +class Foo14 { } +class Foo15 { } +class Foo16 { } +class Foo17 { } +class Foo18 { } +class Foo19 { } +class Foo20 { } +class Foo21 { } +class Foo22 { } +class Foo23 { } +class Foo24 { } +class Foo25 { } +class Foo26 { } +class Foo27 { } +class Foo28 { } +class Foo29 { } +class Foo30 { } +class Foo31 { } +class Foo32 { } +class Foo33 { } +class Foo34 { } +class Foo35 { } +class Foo36 { } +class Foo37 { } +class Foo38 { } +class Foo39 { } +class Foo40 { } +class Foo41 { } +class Foo42 { } +class Foo43 { } +class Foo44 { } +class Foo45 { } +class Foo46 { } +class Foo47 { } +class Foo48 { } +class Foo49 { } +class Foo50 { } +class Foo51 { } +class Foo52 { } +class Foo53 { } +class Foo54 { } +class Foo55 { } +class Foo56 { } +class Foo57 { } +class Foo58 { } +class Foo59 { } +class Foo60 { } +class Foo61 { } +class Foo62 { } +class Foo63 { } +class Foo64 { } +class Foo65 { } +class Foo66 { } +class Foo67 { } +class Foo68 { } +class Foo69 { } +class Foo70 { } +class Foo71 { } +class Foo72 { } +class Foo73 { } +class Foo74 { } +class Foo75 { } +class Foo76 { } +class Foo77 { } +class Foo78 { } +class Foo79 { } +class Foo80 { } +class Foo81 { } +class Foo82 { } +class Foo83 { } +class Foo84 { } +class Foo85 { } +class Foo86 { } +class Foo87 { } +class Foo88 { } +class Foo89 { } +class Foo90 { } +class Foo91 { } +class Foo92 { } +class Foo93 { } +class Foo94 { } +class Foo95 { } +class Foo96 { } +class Foo97 { } +class Foo98 { } +class Foo99 { } + +var foos = [new Foo0(), new Foo1(), new Foo2(), new Foo3(), new Foo4(), new Foo5(), new Foo6(), new Foo7(), new Foo8(), new Foo9(), new Foo10(), new Foo11(), new Foo12(), new Foo13(), new Foo14(), new Foo15(), new Foo16(), new Foo17(), new Foo18(), new Foo19(), new Foo20(), new Foo21(), new Foo22(), new Foo23(), new Foo24(), new Foo25(), new Foo26(), new Foo27(), new Foo28(), new Foo29(), new Foo30(), new Foo31(), new Foo32(), new Foo33(), new Foo34(), new Foo35(), new Foo36(), new Foo37(), new Foo38(), new Foo39(), new Foo40(), new Foo41(), new Foo42(), new Foo43(), new Foo44(), new Foo45(), new Foo46(), new Foo47(), new Foo48(), new Foo49(), new Foo50(), new Foo51(), new Foo52(), new Foo53(), new Foo54(), new Foo55(), new Foo56(), new Foo57(), new Foo58(), new Foo59(), new Foo60(), new Foo61(), new Foo62(), new Foo63(), new Foo64(), new Foo65(), new Foo66(), new Foo67(), new Foo68(), new Foo69(), new Foo70(), new Foo71(), new Foo72(), new Foo73(), new Foo74(), new Foo75(), new Foo76(), new Foo77(), new Foo78(), new Foo79(), new Foo80(), new Foo81(), new Foo82(), new Foo83(), new Foo84(), new Foo85(), new Foo86(), new Foo87(), new Foo88(), new Foo89(), new Foo90(), new Foo91(), new Foo92(), new Foo93(), new Foo94(), new Foo95(), new Foo96(), new Foo97(), new Foo98(), new Foo99()]; + +class Foo { } + +function Bar() { } + +var numberOfGetPrototypeOfCalls = 0; + +var doBadThings = function() { }; + +Bar.prototype = new Proxy( + {}, + { + getPrototypeOf() + { + numberOfGetPrototypeOfCalls++; + doBadThings(); + return Foo.prototype; + } + }); + +var o = {f:42}; + +function foo(o, p) +{ + var result = o.f; + var _ = p instanceof Foo; + return result + o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, foos[i % foos.length]); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +var globalO = {f:42}; +var didCallGetter = false; +doBadThings = function() { + globalO.f = 43; +}; + +var result = foo(globalO, new Bar()); +if (result != 85) + throw "Error: bad result at end: " + result; +if (numberOfGetPrototypeOfCalls != 1) + throw "Error: did not call getPrototypeOf() the right number of times at end"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-hit-one-object-then-another.js b/implementation-contributed/javascriptcore/stress/instanceof-hit-one-object-then-another.js new file mode 100644 index 0000000000..a486ab802f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-hit-one-object-then-another.js @@ -0,0 +1,19 @@ +function foo(o, p) +{ + return o instanceof p; +} + +noInline(foo); + +class Foo { } +class Bar { } + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Foo(), Foo); + if (!result) + throw "Error: bad result in loop: " + result; +} + +var result = foo(new Foo(), Bar); +if (result) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-hit-two-objects-then-another.js b/implementation-contributed/javascriptcore/stress/instanceof-hit-two-objects-then-another.js new file mode 100644 index 0000000000..72b2f9e4fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-hit-two-objects-then-another.js @@ -0,0 +1,23 @@ +function foo(o, p) +{ + return o instanceof p; +} + +noInline(foo); + +class Foo { } +class Bar { } +class Baz { } + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Foo(), Foo); + if (!result) + throw "Error: bad result in loop (1): " + result; + var result = foo(new Foo(), Bar); + if (result) + throw "Error: bad result in loop (2): " + result; +} + +var result = foo(new Foo(), Baz); +if (result) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-late-constant-folding.js b/implementation-contributed/javascriptcore/stress/instanceof-late-constant-folding.js new file mode 100644 index 0000000000..d74d0b502f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-late-constant-folding.js @@ -0,0 +1,19 @@ +function Constructor(x) {} + +Object.defineProperty(Constructor, Symbol.hasInstance, {value: function() { return false; }}); + +x = new Constructor(); + +function body() { + var result = 0; + for (var i = 0; i < 100000; i++) { + if (x instanceof Constructor) + result++; + } + + return result; +} +noInline(body); + +if (body()) + throw "result incorrect"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-non-object-prototype.js b/implementation-contributed/javascriptcore/stress/instanceof-non-object-prototype.js new file mode 100644 index 0000000000..a43bd57c4f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-non-object-prototype.js @@ -0,0 +1,21 @@ +let base = "sting"; +let constructor = function() { }; +constructor.prototype = 42; + +function test(a, b) { + return a instanceof b; +} +noInline(test); + +for (let i = 0; i < 10000; i++) { + let exception; + try { + var result = test(base, constructor); + } catch (e) { + exception = e; + } + if (exception) + throw new Error("Threw an exception: " + exception); + if (result !== false) + throw new Error("instanceof returned: " + result); +} diff --git a/implementation-contributed/javascriptcore/stress/instanceof-not-cell.js b/implementation-contributed/javascriptcore/stress/instanceof-not-cell.js new file mode 100644 index 0000000000..fb291efdbc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-not-cell.js @@ -0,0 +1,44 @@ +function foo(o, prototype) { + return o instanceof prototype; +} + +noInline(foo); + +function test(o, prototype, expected) { + var actual = foo(o, prototype); + if (actual != expected) + throw new Error("bad result: " + actual); +} + +function Foo() { } + +function Bar() { } +Bar.prototype = new Foo(); + +for (var i = 0; i < 10000; ++i) { + test(42, Object, false); + test(42, Array, false); + test(42, String, false); + test(42, Foo, false); + test(42, Bar, false); + test({}, Object, true); + test({}, Array, false); + test({}, String, false); + test({}, Foo, false); + test({}, Bar, false); + test([], Object, true); + test([], Array, true); + test([], String, false); + test([], Foo, false); + test([], Bar, false); + test(new Foo(), Object, true); + test(new Foo(), Array, false); + test(new Foo(), String, false); + test(new Foo(), Foo, true); + test(new Foo(), Bar, false); + test(new Bar(), Object, true); + test(new Bar(), Array, false); + test(new Bar(), String, false); + test(new Bar(), Foo, true); + test(new Bar(), Bar, true); +} diff --git a/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-hit.js b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-hit.js new file mode 100644 index 0000000000..35865a8910 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-hit.js @@ -0,0 +1,27 @@ +function foo(o, p) +{ + return o instanceof p; +} + +noInline(foo); + +class Foo { } + +function Bar() { } +Bar.prototype = new Foo(); + +new Foo().thingy = 42; + +class Baz { } + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Bar(), Baz); + if (result) + throw "Error: bad result in loop: " + result; +} + +Bar.prototype.__proto__ = new Baz(); + +var result = foo(new Bar(), Baz); +if (!result) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-null.js b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-null.js new file mode 100644 index 0000000000..6944e146a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-to-null.js @@ -0,0 +1,25 @@ +function foo(o, p) +{ + return o instanceof p; +} + +noInline(foo); + +class Foo { } + +function Bar() { } +Bar.prototype = new Foo(); + +new Foo().thingy = 42; + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Bar(), Foo); + if (!result) + throw "Error: bad result in loop: " + result; +} + +Bar.prototype.__proto__ = null; + +var result = foo(new Bar(), Foo); +if (result) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-watchpointable.js b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-watchpointable.js new file mode 100644 index 0000000000..84efbbaaea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change-watchpointable.js @@ -0,0 +1,22 @@ +function foo(o, p) +{ + return o instanceof p; +} + +noInline(foo); + +class Foo { } + +class Bar extends Foo { } + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Bar(), Foo); + if (!result) + throw "Error: bad result in loop: " + result; +} + +Bar.prototype.__proto__ = {}; + +var result = foo(new Bar(), Foo); +if (result) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-prototype-change.js b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change.js new file mode 100644 index 0000000000..7f53815078 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-prototype-change.js @@ -0,0 +1,25 @@ +function foo(o, p) +{ + return o instanceof p; +} + +noInline(foo); + +class Foo { } + +function Bar() { } +Bar.prototype = new Foo(); + +new Foo().thingy = 42; + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Bar(), Foo); + if (!result) + throw "Error: bad result in loop: " + result; +} + +Bar.prototype.__proto__ = {}; + +var result = foo(new Bar(), Foo); +if (result) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-proxy-check-structure.js b/implementation-contributed/javascriptcore/stress/instanceof-proxy-check-structure.js new file mode 100644 index 0000000000..c4b88f9fa5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-proxy-check-structure.js @@ -0,0 +1,59 @@ +class Foo { } + +function Bar() { } + +var numberOfGetPrototypeOfCalls = 0; + +var doBadThings = function() { }; + +Bar.prototype = new Proxy( + {}, + { + getPrototypeOf() + { + numberOfGetPrototypeOfCalls++; + doBadThings(); + return Foo.prototype; + } + }); + +// Break some watchpoints. +var o = {f:42}; +o.g = 43; + +function foo(o, p, q) +{ + var result = o.f; + var _ = p instanceof Foo; + q.f = 11; + return result + o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, new Bar(), {f:0}); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +if (numberOfGetPrototypeOfCalls != 10000) + throw "Error: did not call getPrototypeOf() the right number of times"; + +var globalO = {f:42}; +var didCallGetter = false; +doBadThings = function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { + didCallGetter = true; + return 43; + }); +}; + +var result = foo(globalO, new Bar(), {f:0}); +if (result != 85) + throw "Error: bad result at end: " + result; +if (!didCallGetter) + throw "Error: did not call getter"; +if (numberOfGetPrototypeOfCalls != 10001) + throw "Error: did not call getPrototypeOf() the right number of times at end"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-proxy-loop.js b/implementation-contributed/javascriptcore/stress/instanceof-proxy-loop.js new file mode 100644 index 0000000000..1bff5edc32 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-proxy-loop.js @@ -0,0 +1,59 @@ +class Foo { } + +function Bar() { } + +var numberOfGetPrototypeOfCalls = 0; + +var doBadThings = function() { }; + +Bar.prototype = new Proxy( + {}, + { + getPrototypeOf() + { + numberOfGetPrototypeOfCalls++; + doBadThings(); + return Foo.prototype; + } + }); + +// Break some watchpoints. +var o = {f:42}; +o.g = 43; + +function foo(o, p) +{ + var result = o.f; + for (var i = 0; i < 5; ++i) + var _ = p instanceof Foo; + return result + o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, new Bar()); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +if (numberOfGetPrototypeOfCalls != 10000 * 5) + throw "Error: did not call getPrototypeOf() the right number of times"; + +var globalO = {f:42}; +var didCallGetter = false; +doBadThings = function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { + didCallGetter = true; + return 43; + }); +}; + +var result = foo(globalO, new Bar()); +if (result != 85) + throw "Error: bad result at end: " + result; +if (!didCallGetter) + throw "Error: did not call getter"; +if (numberOfGetPrototypeOfCalls != 10001 * 5) + throw "Error: did not call getPrototypeOf() the right number of times at end"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof-proxy.js b/implementation-contributed/javascriptcore/stress/instanceof-proxy.js new file mode 100644 index 0000000000..c1ad114c01 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof-proxy.js @@ -0,0 +1,47 @@ +class Foo { } + +function Bar() { } + +var numberOfGetPrototypeOfCalls = 0; + +var doBadThings = function() { }; + +Bar.prototype = new Proxy( + {}, + { + getPrototypeOf() + { + numberOfGetPrototypeOfCalls++; + doBadThings(); + return Foo.prototype; + } + }); + +var o = {f:42}; + +function foo(o, p) +{ + var result = o.f; + var _ = p instanceof Foo; + return result + o.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, new Bar()); + if (result != 84) + throw "Error: bad result in loop: " + result; +} + +var globalO = {f:42}; +var didCallGetter = false; +doBadThings = function() { + globalO.f = 43; +}; + +var result = foo(globalO, new Bar()); +if (result != 85) + throw "Error: bad result at end: " + result; +if (numberOfGetPrototypeOfCalls != 10001) + throw "Error: did not call getPrototypeOf() the right number of times at end"; diff --git a/implementation-contributed/javascriptcore/stress/instanceof.js b/implementation-contributed/javascriptcore/stress/instanceof.js new file mode 100644 index 0000000000..f8d03e2ba6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/instanceof.js @@ -0,0 +1,39 @@ +function foo(o, prototype) { + return o instanceof prototype; +} + +noInline(foo); + +function test(o, prototype, expected) { + var actual = foo(o, prototype); + if (actual != expected) + throw new Error("bad result: " + actual); +} + +function Foo() { } + +function Bar() { } +Bar.prototype = new Foo(); + +for (var i = 0; i < 10000; ++i) { + test({}, Object, true); + test({}, Array, false); + test({}, String, false); + test({}, Foo, false); + test({}, Bar, false); + test([], Object, true); + test([], Array, true); + test([], String, false); + test([], Foo, false); + test([], Bar, false); + test(new Foo(), Object, true); + test(new Foo(), Array, false); + test(new Foo(), String, false); + test(new Foo(), Foo, true); + test(new Foo(), Bar, false); + test(new Bar(), Object, true); + test(new Bar(), Array, false); + test(new Bar(), String, false); + test(new Bar(), Foo, true); + test(new Bar(), Bar, true); +} diff --git a/implementation-contributed/javascriptcore/stress/int16-put-by-val-in-and-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/int16-put-by-val-in-and-out-of-bounds.js new file mode 100644 index 0000000000..d3c283eb9d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int16-put-by-val-in-and-out-of-bounds.js @@ -0,0 +1,18 @@ +function foo(a) { + a[42] = 95010; +} + +noInline(foo); + +function test(length, expected) { + var a = new Int16Array(length); + foo(a); + var result = a[42]; + if (result != expected) + throw new Error("bad value at a[42]: " + result); +} + +for (var i = 0; i < 100000; ++i) { + test(10, void 0); + test(100, 29474); +} diff --git a/implementation-contributed/javascriptcore/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js new file mode 100644 index 0000000000..0ed7462a43 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int16-put-by-val-in-bounds-then-exit-out-of-bounds.js @@ -0,0 +1,19 @@ +function foo(a) { + a[42] = 95010; +} + +noInline(foo); + +function test(length, expected) { + var a = new Int16Array(length); + foo(a); + var result = a[42]; + if (result != expected) + throw "Error: bad value at a[42]: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(100, 29474); + +test(10, void 0); + diff --git a/implementation-contributed/javascriptcore/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js b/implementation-contributed/javascriptcore/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js new file mode 100644 index 0000000000..3bb964ca07 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int16-put-by-val-out-of-bounds-bounds-then-do-in-bounds.js @@ -0,0 +1,19 @@ +function foo(a) { + a[42] = 95010; +} + +noInline(foo); + +function test(length, expected) { + var a = new Int16Array(length); + foo(a); + var result = a[42]; + if (result != expected) + throw "Error: bad value at a[42]: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(10, void 0); + +test(100, 29474); + diff --git a/implementation-contributed/javascriptcore/stress/int32-array-unshift.js b/implementation-contributed/javascriptcore/stress/int32-array-unshift.js new file mode 100644 index 0000000000..4d4c69dfe3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int32-array-unshift.js @@ -0,0 +1,6 @@ +//@ runDefault +var x = [2, 1]; +Array.prototype.unshift.call(x, 3); +if (x.toString() != "3,2,1") + throw "Error: bad result: " + describe(x); + diff --git a/implementation-contributed/javascriptcore/stress/int32-min-to-string.js b/implementation-contributed/javascriptcore/stress/int32-min-to-string.js new file mode 100644 index 0000000000..e2f20726dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int32-min-to-string.js @@ -0,0 +1,43 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test2() +{ + return (-2147483648).toString(2); +} +noInline(test2); + +function test4() +{ + return (-2147483648).toString(4); +} +noInline(test4); + +function test8() +{ + return (-2147483648).toString(8); +} +noInline(test8); + +function test16() +{ + return (-2147483648).toString(16); +} +noInline(test16); + +function test32() +{ + return (-2147483648).toString(32); +} +noInline(test32); + +for (var i = 0; i < 1e5; ++i) { + shouldBe(test2(), '-10000000000000000000000000000000'); + shouldBe(test4(), '-2000000000000000'); + shouldBe(test8(), '-20000000000'); + shouldBe(test16(), '-80000000'); + shouldBe(test32(), '-2000000'); +} diff --git a/implementation-contributed/javascriptcore/stress/int32-object-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/int32-object-out-of-bounds.js new file mode 100644 index 0000000000..6d38679f61 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int32-object-out-of-bounds.js @@ -0,0 +1,37 @@ +function make(value) { + var result = {}; + result[0] = value; + return result; +} + +function foo(a, i) { + return a[i]; +} + +noInline(foo); + +function test(value) { + var result = foo(make(value), 0); + if (result != value) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(42); + +var result = foo(make(42), 1); +if (result !== void 0) + throw "Error: bad result: " + result; + +result = foo(make(42), 100); +if (result !== void 0) + throw "Error: bad result: " + result; + +result = foo(make(42), 10000); +if (result !== void 0) + throw "Error: bad result: " + result; + +Object.prototype[10000] = 23; +result = foo(make(42), 10000); +if (result !== 23) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/int32-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/int32-out-of-bounds.js new file mode 100644 index 0000000000..878709dcd7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int32-out-of-bounds.js @@ -0,0 +1,31 @@ +function foo(a, i) { + return a[i]; +} + +noInline(foo); + +function test(value) { + var result = foo([value], 0); + if (result != value) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(42); + +var result = foo([42], 1); +if (result !== void 0) + throw "Error: bad result: " + result; + +result = foo([42], 100); +if (result !== void 0) + throw "Error: bad result: " + result; + +result = foo([42], 10000); +if (result !== void 0) + throw "Error: bad result: " + result; + +Array.prototype[10000] = 23; +result = foo([42], 10000); +if (result !== 23) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/int32-to-string-in-loop-removed.js b/implementation-contributed/javascriptcore/stress/int32-to-string-in-loop-removed.js new file mode 100644 index 0000000000..d28af0130b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int32-to-string-in-loop-removed.js @@ -0,0 +1,8 @@ +function test() +{ + for (var i = 0; i < 1e6; ++i) + i.toString(); +} +noInline(test); + +test(); diff --git a/implementation-contributed/javascriptcore/stress/int32array-transition-on-nan.js b/implementation-contributed/javascriptcore/stress/int32array-transition-on-nan.js new file mode 100644 index 0000000000..5db2a66f95 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int32array-transition-on-nan.js @@ -0,0 +1,88 @@ +function insertNaNWhileFilling() +{ + var array = new Array(6); + for (var i = 0; i < 4; ++i) + array[i] = i; + array[5] = NaN; + return array; +} +noInline(insertNaNWhileFilling); + +function testInsertNaNWhileFilling() +{ + var array = insertNaNWhileFilling(); + for (var i = 0; i < 4; ++i) { + var value = array[i]; + if (value !== i) { + throw "Failed testInsertNaNWhileFilling, value = " + value + " instead of " + i; + } + } + var nan = array[5]; + if (!Number.isNaN(nan)) + throw "Failed testInsertNaNWhileFilling, array[5] is " + nan + " instead of NaN"; +} +noInline(testInsertNaNWhileFilling); + +for (var i = 0; i < 1e4; ++i) { + testInsertNaNWhileFilling(); +} + + +function insertNaNAfterFilling() +{ + var array = new Array(6); + for (var i = 0; i < 5; ++i) + array[i] = i; + array[5] = NaN; + return array; +} +noInline(insertNaNAfterFilling); + +function testInsertNaNAfterFilling() +{ + var array = insertNaNAfterFilling(); + for (var i = 0; i < 4; ++i) { + var value = array[i]; + if (value !== i) { + throw "Failed testInsertNaNAfterFilling, value = " + value + " instead of " + i; + } + } + var nan = array[5]; + if (!Number.isNaN(nan)) + throw "Failed testInsertNaNAfterFilling, array[5] is " + nan + " instead of NaN"; +} +noInline(testInsertNaNAfterFilling); + +for (var i = 0; i < 1e4; ++i) { + testInsertNaNAfterFilling(); +} + + +function pushNaNWhileFilling() +{ + var array = []; + for (var i = 0; i < 5; ++i) + array.push(i); + array.push(NaN); + return array; +} +noInline(pushNaNWhileFilling); + +function testPushNaNWhileFilling() +{ + var array = pushNaNWhileFilling(); + for (var i = 0; i < 4; ++i) { + var value = array[i]; + if (value !== i) { + throw "Failed testPushNaNWhileFilling, value = " + value + " instead of " + i; + } + } + var nan = array[5]; + if (!Number.isNaN(nan)) + throw "Failed testPushNaNWhileFilling, array[5] is " + nan + " instead of NaN"; +} +noInline(testPushNaNWhileFilling); + +for (var i = 0; i < 1e4; ++i) { + testPushNaNWhileFilling(); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/int52-ai-add-then-filter-int32.js b/implementation-contributed/javascriptcore/stress/int52-ai-add-then-filter-int32.js new file mode 100644 index 0000000000..3f038dcbfe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-ai-add-then-filter-int32.js @@ -0,0 +1,15 @@ +function foo(a, b, c) { + var o = {f:42}; + if ($vm.dfgTrue()) + o.f = a + b + c; + return o.f | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(2000000000, 2000000000, -2000000000); + if (result != 2000000000 && result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js b/implementation-contributed/javascriptcore/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js new file mode 100644 index 0000000000..061b7ea7fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-ai-mul-and-clean-neg-zero-then-filter-int32.js @@ -0,0 +1,15 @@ +function foo(a, b, c) { + var o = {f:42}; + if ($vm.dfgTrue()) + o.f = (a * b + 5) * c + 5; + return o.f | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(65536, 65536, 0); + if (result != 5 && result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32-directly.js b/implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32-directly.js new file mode 100644 index 0000000000..5544e5c227 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32-directly.js @@ -0,0 +1,14 @@ +function foo(a, b, c) { + var o = {f:42}; + o.f = (a * b + 5) * c + 5; + return o.f | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(65536, 65536, 0); + if (result != 5 && result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32.js b/implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32.js new file mode 100644 index 0000000000..541801728f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-ai-mul-then-filter-int32.js @@ -0,0 +1,15 @@ +function foo(a, b, c) { + var o = {f:42}; + if ($vm.dfgTrue()) + o.f = a * b * c; + return o.f | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(65536, 65536, 0); + if (result != 0 && result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/int52-ai-neg-then-filter-int32.js b/implementation-contributed/javascriptcore/stress/int52-ai-neg-then-filter-int32.js new file mode 100644 index 0000000000..82c971c0d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-ai-neg-then-filter-int32.js @@ -0,0 +1,15 @@ +function foo(a, b) { + var o = {f:42}; + if ($vm.dfgTrue()) + o.f = -(a + b); + return o.f | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(1073741824, 1073741824); + if (result != -2147483648 && result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/int52-ai-sub-then-filter-int32.js b/implementation-contributed/javascriptcore/stress/int52-ai-sub-then-filter-int32.js new file mode 100644 index 0000000000..7d70b155b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-ai-sub-then-filter-int32.js @@ -0,0 +1,15 @@ +function foo(a, b) { + var o = {f:42}; + if ($vm.dfgTrue()) + o.f = a - b - 2000000000; + return o.f | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(2000000000, -2000000000); + if (result != 2000000000 && result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/int52-argument.js b/implementation-contributed/javascriptcore/stress/int52-argument.js new file mode 100644 index 0000000000..cf7952f4f4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-argument.js @@ -0,0 +1,18 @@ +function foo(x) { + var y = x; + x = y * 2; + if (x) { + x += y; + x += y; + x += y; + } + return x; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1000000000); + if (result != 1000000000 * 2 + 1000000000 * 3) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/int52-force-osr-exit-path.js b/implementation-contributed/javascriptcore/stress/int52-force-osr-exit-path.js new file mode 100644 index 0000000000..a7bf3b9aa6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-force-osr-exit-path.js @@ -0,0 +1,15 @@ +function foo(a, b, p, o) { + var c = a + b; + if (p) + c -= o.f; + return c + 1; +} + +noInline(foo); + +var o = {f: 42}; +for (var i = 0; i < 100000; ++i) { + var result = foo(2000000000, 2000000000, false, o); + if (result != 4000000001) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/int52-inlined-call-argument.js b/implementation-contributed/javascriptcore/stress/int52-inlined-call-argument.js new file mode 100644 index 0000000000..02b53714ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-inlined-call-argument.js @@ -0,0 +1,19 @@ +function foo(a, b, c, p) { + a = b + c; + if (p) { + a++; + return a; + } +} + +function bar(a, b) { + return foo("hello", a, b, a <= b); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar(2000000000, 2000000000); + if (result != 4000000001) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/int52-to-string-in-loop-removed.js b/implementation-contributed/javascriptcore/stress/int52-to-string-in-loop-removed.js new file mode 100644 index 0000000000..36c931e4d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-to-string-in-loop-removed.js @@ -0,0 +1,8 @@ +function test() +{ + for (var i = 0; i < 1e6; ++i) + fiatInt52(i).toString(); +} +noInline(test); + +test(); diff --git a/implementation-contributed/javascriptcore/stress/int52-variable.js b/implementation-contributed/javascriptcore/stress/int52-variable.js new file mode 100644 index 0000000000..6188f8b7e0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int52-variable.js @@ -0,0 +1,18 @@ +function foo(x) { + var y = x; + var z = y * 2; + if (z) { + z += y; + z += y; + z += y; + } + return z; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1000000000); + if (result != 1000000000 * 2 + 1000000000 * 3) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/int8-repeat-out-of-bounds.js b/implementation-contributed/javascriptcore/stress/int8-repeat-out-of-bounds.js new file mode 100644 index 0000000000..0963e43d38 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/int8-repeat-out-of-bounds.js @@ -0,0 +1,17 @@ +//@ defaultNoEagerRun + +function foo(a) { + a[0] = 1; + a[1] = 2; + a[2] = 3; +} + +noInline(foo); + +var array = new Int8Array(1); + +for (var i = 0; i < 100000; ++i) + foo(array); + +if (reoptimizationRetryCount(foo)) + throw "Error: unexpected retry count: " + reoptimizationRetryCount(foo); diff --git a/implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-1.js b/implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-1.js new file mode 100644 index 0000000000..c0c74b679c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-1.js @@ -0,0 +1,46 @@ +//@ run("integer-range-optimization-constant-representation", *NO_CJIT_OPTIONS, "--useConcurrentJIT=false") +//@ run("integer-range-optimization-constant-representation", *FTL_OPTIONS, "--useConcurrentJIT=false") + +function opaque() +{ + // This exists to hide side effects to the optimizer. +} +noInline(opaque); + +function test(i, opaqueCondition) { + do { + if (opaqueCondition == 1) { + if (i < 42) { + opaque(i); + if (i != 41) { + break; + } + } + } else if (opaqueCondition == 2) { + if (i < 42) { + opaque(i); + if (i < 41) { + opaque(i); + if (i == 0) { + break; + } + } + } + } + } while (true); + + opaque(i); + opaque(42); + opaque(41); + return i; +} +noInline(test); + +function loop() { + for (let i = 0; i < 1e6; ++i) + test(1, 1); +} +noInline(loop); +noDFG(loop); + +loop(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-2.js b/implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-2.js new file mode 100644 index 0000000000..0bfc8599f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/integer-range-optimization-constant-representation-2.js @@ -0,0 +1,43 @@ +function opaque() +{ + // This exists to hide side effects to the optimizer. +} +noInline(opaque); + +function test(i, opaqueCondition) { + do { + if (opaqueCondition == 1) { + if (i < 42) { + opaque(i); + if (i != 41) { + break; + } + } + } else if (opaqueCondition == 2) { + if (i < 42) { + opaque(i); + if (i < 41) { + opaque(i); + if (i == 0) { + break; + } + } + } + } + } while (true); + + opaque(i); + opaque(42); + opaque(41); + return i; +} +noInline(test); + +function loop() { + for (let i = 0; i < 1e6; ++i) + test(1, 1); +} +noInline(loop); +noDFG(loop); + +loop(); diff --git a/implementation-contributed/javascriptcore/stress/internal-function-call.js b/implementation-contributed/javascriptcore/stress/internal-function-call.js new file mode 100644 index 0000000000..ecbfa7b7ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/internal-function-call.js @@ -0,0 +1,9 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var func = Date; + +for (var i = 0; i < 1e4; ++i) + shouldBe(typeof func(), "string"); diff --git a/implementation-contributed/javascriptcore/stress/internal-function-construct.js b/implementation-contributed/javascriptcore/stress/internal-function-construct.js new file mode 100644 index 0000000000..9852b917c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/internal-function-construct.js @@ -0,0 +1,12 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var func = Date; + +for (var i = 0; i < 1e4; ++i) { + var date = new func(); + shouldBe(typeof date, "object"); + shouldBe(date instanceof Date, true); +} diff --git a/implementation-contributed/javascriptcore/stress/intl-constructors-with-proxy.js b/implementation-contributed/javascriptcore/stress/intl-constructors-with-proxy.js new file mode 100644 index 0000000000..941a683d41 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/intl-constructors-with-proxy.js @@ -0,0 +1,38 @@ +//@ skip if $hostOS == "windows" + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + function Empty() { + } + let proxy = new Proxy(Empty, {}); + + shouldBe(Reflect.construct(Intl.Collator, [], proxy) instanceof Empty, true); + shouldBe(Reflect.construct(Intl.Collator, [], proxy).__proto__, Empty.prototype); + + shouldBe(Reflect.construct(Intl.NumberFormat, [], proxy) instanceof Empty, true); + shouldBe(Reflect.construct(Intl.NumberFormat, [], proxy).__proto__, Empty.prototype); + + shouldBe(Reflect.construct(Intl.DateTimeFormat, [], proxy) instanceof Empty, true); + shouldBe(Reflect.construct(Intl.DateTimeFormat, [], proxy).__proto__, Empty.prototype); +} + +{ + function Empty() { + } + Empty.prototype = null; + + let proxy = new Proxy(Empty, {}); + + shouldBe(Reflect.construct(Intl.Collator, [], proxy) instanceof Intl.Collator, true); + shouldBe(Reflect.construct(Intl.Collator, [], proxy).__proto__, Intl.Collator.prototype); + + shouldBe(Reflect.construct(Intl.NumberFormat, [], proxy) instanceof Intl.NumberFormat, true); + shouldBe(Reflect.construct(Intl.NumberFormat, [], proxy).__proto__, Intl.NumberFormat.prototype); + + shouldBe(Reflect.construct(Intl.DateTimeFormat, [], proxy) instanceof Intl.DateTimeFormat, true); + shouldBe(Reflect.construct(Intl.DateTimeFormat, [], proxy).__proto__, Intl.DateTimeFormat.prototype); +} diff --git a/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-getter-change.js b/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-getter-change.js new file mode 100644 index 0000000000..56b425a4fd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-getter-change.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return object.__proto__; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +for (var i = 0; i < 1e5; ++i) + shouldBe(target(polyProtoObject), prototype); +Object.defineProperty(Object.prototype, "__proto__", { + get: function () { return null; } +}); +shouldBe(target(polyProtoObject), null); diff --git a/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-proto-change.js b/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-proto-change.js new file mode 100644 index 0000000000..c77d8e3f10 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto-proto-change.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return object.__proto__; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +for (var i = 0; i < 1e5; ++i) + shouldBe(target(polyProtoObject), prototype); + +polyProtoObject.__proto__ = null +shouldBe(target(polyProtoObject), undefined) diff --git a/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto.js b/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto.js new file mode 100644 index 0000000000..d8652355ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/intrinsic-getter-with-poly-proto.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return object.__proto__; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +for (var i = 0; i < 1e5; ++i) + shouldBe(target(polyProtoObject), prototype); +polyProtoObject.__proto__ = null; +shouldBe(target(polyProtoObject), undefined); diff --git a/implementation-contributed/javascriptcore/stress/invalidation-point.js b/implementation-contributed/javascriptcore/stress/invalidation-point.js new file mode 100644 index 0000000000..6f8b55c7c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/invalidation-point.js @@ -0,0 +1,24 @@ +function foo(o, p) { + possiblyDoBadThings(p); + return o.f(); +} +noInline(foo); + +function Thingy() { } +Thingy.prototype.f = function() { return 42; } + +function possiblyDoBadThings(p) { + if (p) + Thingy.prototype.f = function() { return 24; } +} +noInline(possiblyDoBadThings); + +for (var i = 0; i < 100000; ++i) { + var result = foo(new Thingy(), false); + if (result != 42) + throw "Error: bad result: " + result; +} + +var result = foo(new Thingy(), true); +if (result != 24) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/inverted-additive-subsumption.js b/implementation-contributed/javascriptcore/stress/inverted-additive-subsumption.js new file mode 100644 index 0000000000..d41fd1fed9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/inverted-additive-subsumption.js @@ -0,0 +1,15 @@ +function foo(x) { + return ((x + 1) | 0) + (x + 1); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(i); + if (result != (i + 1) * 2) + throw "Error: bad result for i = " + i + ": " + result; +} + +var result = foo(2147483647); +if (result != ((2147483647 + 1) | 0) + (2147483647 + 1)) + throw "Error: bad result for 2147483647: " + result; diff --git a/implementation-contributed/javascriptcore/stress/is-constructor.js b/implementation-contributed/javascriptcore/stress/is-constructor.js new file mode 100644 index 0000000000..b6947a4115 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/is-constructor.js @@ -0,0 +1,101 @@ +var createBuiltin = $vm.createBuiltin; + +function assert(x) { + if (!x) + throw Error("Bad"); +} + +let isConstructor = createBuiltin("(function (c) { return @isConstructor(c); })"); + +// Functions. +assert(isConstructor(assert)); +assert(isConstructor(class{})); +assert(isConstructor(function(){})); + +// Proxy functions. +assert(isConstructor(new Proxy(assert, {}))); +assert(isConstructor(new Proxy(class{}, {}))); +assert(isConstructor(new Proxy(function(){}, {}))); + +// Bound functions. +assert(isConstructor(assert.bind(null), {})); +assert(isConstructor((class{}).bind(null), {})); +assert(isConstructor(function(){}.bind(null), {})); + +// Builtin constructors. +assert(isConstructor(Array)); +assert(isConstructor(ArrayBuffer)); +assert(isConstructor(Boolean)); +assert(isConstructor(Date)); +assert(isConstructor(Error)); +assert(isConstructor(Function)); +assert(isConstructor(Map)); +assert(isConstructor(Number)); +assert(isConstructor(Object)); +assert(isConstructor(Promise)); +assert(isConstructor(Proxy)); +assert(isConstructor(RegExp)); +assert(isConstructor(Set)); +assert(isConstructor(String)); +assert(isConstructor(WeakMap)); +assert(isConstructor(WeakSet)); + +// Non-function values. +assert(!isConstructor(undefined)); +assert(!isConstructor(null)); +assert(!isConstructor(true)); +assert(!isConstructor(false)); +assert(!isConstructor(0)); +assert(!isConstructor(1)); +assert(!isConstructor(1.1)); +assert(!isConstructor(-1)); +assert(!isConstructor(Date.now())); +assert(!isConstructor(new Date)); +assert(!isConstructor(Infinity)); +assert(!isConstructor(NaN)); +assert(!isConstructor("")); +assert(!isConstructor("test")); +assert(!isConstructor([])); +assert(!isConstructor({})); +assert(!isConstructor(/regex/)); +assert(!isConstructor(Math)); +assert(!isConstructor(JSON)); +assert(!isConstructor(Symbol())); +assert(!isConstructor(new Error)); +assert(!isConstructor(new Proxy({}, {}))); +assert(!isConstructor(Array.prototype)); + +// Symbol is not a constructor. +assert(!isConstructor(Symbol)); + +// Getters / setters are not constructors. +assert(!isConstructor(Object.getOwnPropertyDescriptor({get f(){}}, "f").get)); +assert(!isConstructor(Object.getOwnPropertyDescriptor({set f(x){}}, "f").set)); + +// Arrow functions are not constructors. +assert(!isConstructor(()=>{})); + +// Generators are not constructors. +assert(!isConstructor(function*(){})); + +// Native builtins are not constructors. +assert(!isConstructor(isConstructor)); + +// https://tc39.github.io/ecma262/#sec-built-in-function-objects +// Built-in function objects that are not identified as constructors do not +// implement the [[Construct]] internal method unless otherwise specified in +// the description of a particular function. +assert(!isConstructor(Array.of)); +assert(!isConstructor(Object.getOwnPropertyDescriptor)); +assert(!isConstructor(Date.now)); +assert(!isConstructor(Math.cos)); +assert(!isConstructor(JSON.stringify)); +assert(!isConstructor(Promise.all)); +assert(!isConstructor(Symbol.for)); +assert(!isConstructor(Array.prototype.push)); + +// Proxy and bound functions carry forward non-constructor-ness. +assert(!isConstructor(new Proxy(Symbol, {}))); +assert(!isConstructor(new Proxy(Math.cos, {}))); +assert(!isConstructor(Symbol.bind(null))); +assert(!isConstructor(Math.cos.bind(null))); diff --git a/implementation-contributed/javascriptcore/stress/is-undefined-exit-on-masquerader.js b/implementation-contributed/javascriptcore/stress/is-undefined-exit-on-masquerader.js new file mode 100644 index 0000000000..018271470e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/is-undefined-exit-on-masquerader.js @@ -0,0 +1,33 @@ +var doMasquerading = false; + +function bar(o) { + if (doMasquerading) + return makeMasquerader(); + return o; +} + +noInline(bar); + +function foo(o) { + o = bar(o); + return typeof o === "undefined"; +} + +noInline(foo); + +function test(o, expected) { + var result = foo(o); + if (result != expected) + throw new Error("bad result: " + result); +} + +for (var i = 0; i < 10000; ++i) { + test(void 0, true); + test(null, false); + test(42, false); + test({}, false); + test("undefined", false); +} + +doMasquerading = true; +test({}, true); diff --git a/implementation-contributed/javascriptcore/stress/is-undefined-jettison-on-masquerader.js b/implementation-contributed/javascriptcore/stress/is-undefined-jettison-on-masquerader.js new file mode 100644 index 0000000000..70e09cc14f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/is-undefined-jettison-on-masquerader.js @@ -0,0 +1,21 @@ +function foo(o) { + return typeof o === "undefined"; +} + +noInline(foo); + +function test(o, expected) { + var result = foo(o); + if (result != expected) + throw new Error("bad result: " + result); +} + +for (var i = 0; i < 10000; ++i) { + test(void 0, true); + test(null, false); + test(42, false); + test({}, false); + test("undefined", false); +} + +test(makeMasquerader(), true); diff --git a/implementation-contributed/javascriptcore/stress/is-undefined-masquerader.js b/implementation-contributed/javascriptcore/stress/is-undefined-masquerader.js new file mode 100644 index 0000000000..fb6ba711d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/is-undefined-masquerader.js @@ -0,0 +1,20 @@ +function foo(o) { + return typeof o === "undefined"; +} + +noInline(foo); + +function test(o, expected) { + var result = foo(o); + if (result != expected) + throw new Error("bad result: " + result); +} + +for (var i = 0; i < 10000; ++i) { + test(void 0, true); + test(null, false); + test(42, false); + test({}, false); + test("undefined", false); + test(makeMasquerader(), true); +} diff --git a/implementation-contributed/javascriptcore/stress/isInteger-doesnt-overwrite-argument.js b/implementation-contributed/javascriptcore/stress/isInteger-doesnt-overwrite-argument.js new file mode 100644 index 0000000000..4158ac8300 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/isInteger-doesnt-overwrite-argument.js @@ -0,0 +1,13 @@ +// This test shouldn't throw. + +function testIsInteger(arg) +{ + var x = Number.isInteger(arg); + return arg; +} + +for (var i = 0; i < 100000; i++) { + var r = testIsInteger(13.37); + if (r === false) + throw "Wrong value returned from function calling Number.isInteger"; +} diff --git a/implementation-contributed/javascriptcore/stress/isLockFree.js b/implementation-contributed/javascriptcore/stress/isLockFree.js new file mode 100644 index 0000000000..1f08a53529 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/isLockFree.js @@ -0,0 +1,75 @@ +//@ skip + +function foo(bytes) { + return Atomics.isLockFree(bytes); +} +noInline(foo); + +function foo0(bytes) { + return Atomics.isLockFree(0); +} +noInline(foo0); + +function foo1(bytes) { + return Atomics.isLockFree(1); +} +noInline(foo1); + +function foo2(bytes) { + return Atomics.isLockFree(2); +} +noInline(foo2); + +function foo3(bytes) { + return Atomics.isLockFree(3); +} +noInline(foo3); + +function foo4(bytes) { + return Atomics.isLockFree(4); +} +noInline(foo4); + +function foo5(bytes) { + return Atomics.isLockFree(5); +} +noInline(foo5); + +for (var i = 0; i < 10000; ++i) { + var result = foo(0); + if (result !== false) + throw new Error("Bad result: " + result); + var result = foo(1); + if (result !== true) + throw new Error("Bad result: " + result); + var result = foo(2); + if (result !== true) + throw new Error("Bad result: " + result); + var result = foo(3); + if (result !== false) + throw new Error("Bad result: " + result); + var result = foo(4); + if (result !== true) + throw new Error("Bad result: " + result); + var result = foo(5); + if (result !== false) + throw new Error("Bad result: " + result); + var result = foo0(); + if (result !== false) + throw new Error("Bad result: " + result); + var result = foo1(); + if (result !== true) + throw new Error("Bad result: " + result); + var result = foo2(); + if (result !== true) + throw new Error("Bad result: " + result); + var result = foo3(); + if (result !== false) + throw new Error("Bad result: " + result); + var result = foo4(); + if (result !== true) + throw new Error("Bad result: " + result); + var result = foo5(); + if (result !== false) + throw new Error("Bad result: " + result); +} diff --git a/implementation-contributed/javascriptcore/stress/istypedarrayview-intrinsic.js b/implementation-contributed/javascriptcore/stress/istypedarrayview-intrinsic.js new file mode 100644 index 0000000000..998a8f6a5d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/istypedarrayview-intrinsic.js @@ -0,0 +1,77 @@ +var createBuiltin = $vm.createBuiltin; + +let typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +function makeFn(dontInline) { + let foo = createBuiltin(`(function (a) { "use strict"; return @isTypedArrayView(a); })`); + if (dontInline) + noInline(foo) + return foo; +} + +typedArrays.forEach(function() { + let test = Function( + ` + let foo = makeFn(); + let bar = makeFn(true); + let view = new Int8Array(10); + + for (i = 0; i < 100000; i++) { + if (!foo(view)) + throw new Error(i); + if (!bar(view)) + throw new Error(i); + } + ` + ); + test(); +}); + +typedArrays.forEach(constructor1 => { + typedArrays.forEach(constructor2 => { + let test = Function( + ` + let foo = makeFn(); + let bar = makeFn(true); + let view1 = new ${constructor1.name}(10); + let view2 = new ${constructor2.name}(10); + + for (i = 0; i < 100000; i++) { + let view = i % 2 === 0 ? view1 : view2; + if (!foo(view)) + throw new Error(i); + if (!bar(view)) + throw new Error(i); + } + ` + ); + test(); + }); +}); + +let test = function() { + let foo = makeFn(); + let bar = makeFn(true); + for (i = 0; i < 100000; i++) { + if (foo(true)) + throw new Error(i); + if (bar(true)) + throw new Error(i); + } +} +test(); + +test = function() { + let bar = makeFn(true); + let view = new Int8Array(10); + let obj = new DataView(new ArrayBuffer(10)); + for (i = 0; i < 100000; i++) { + if (i % 2 === 0) { + if (!foo(view)) + throw new Error(i); + } else { + if (foo(obj)) + throw new Error(i); + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/iterator-functions.js b/implementation-contributed/javascriptcore/stress/iterator-functions.js new file mode 100644 index 0000000000..12edb6e903 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/iterator-functions.js @@ -0,0 +1,33 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +test(Array.prototype[Symbol.iterator], Array.prototype.values); +test(Map.prototype[Symbol.iterator], Map.prototype.entries); +test(Set.prototype[Symbol.iterator], Set.prototype.values); + +function argumentsTests(values) { + test(function () { + return arguments[Symbol.iterator]; + }(), values); + + test(function (a, b, c) { + return arguments[Symbol.iterator]; + }(), values); + + test(function () { + 'use strict'; + return arguments[Symbol.iterator]; + }(), values); + + test(function (a, b, c) { + 'use strict'; + return arguments[Symbol.iterator]; + }(), values); +} + +argumentsTests(Array.prototype.values); +var arrayValues = Array.prototype.values; +Array.prototype.values = null; +argumentsTests(arrayValues); diff --git a/implementation-contributed/javascriptcore/stress/iterator-names.js b/implementation-contributed/javascriptcore/stress/iterator-names.js new file mode 100644 index 0000000000..5fe8ab4576 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/iterator-names.js @@ -0,0 +1,35 @@ +function test(object, name) { + return { + object, + name: '[object ' + name + ']' + }; +} + +function iter(object) { + return object[Symbol.iterator](); +} + +var tests = [ + test(iter([]), "Array Iterator"), + test(iter(new Array), "Array Iterator"), + test([].keys(), "Array Iterator"), + test([].entries(), "Array Iterator"), + test(iter(new Map), "Map Iterator"), + test((new Map()).keys(), "Map Iterator"), + test((new Map()).entries(), "Map Iterator"), + test(iter(new Set), "Set Iterator"), + test((new Set()).keys(), "Set Iterator"), + test((new Set()).entries(), "Set Iterator"), + test(iter(new String("")), "String Iterator"), + test(iter(""), "String Iterator"), +]; + +function check(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +for (var { object, name } of tests) { + check(object.toString(), name); + check(Object.prototype.toString.call(object), name); +} diff --git a/implementation-contributed/javascriptcore/stress/iterator-prototype.js b/implementation-contributed/javascriptcore/stress/iterator-prototype.js new file mode 100644 index 0000000000..c5f939bc51 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/iterator-prototype.js @@ -0,0 +1,53 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var iteratorPrototype = "Cocoa"[Symbol.iterator]().__proto__.__proto__; + +shouldBe(iteratorPrototype !== Object.prototype, true); +shouldBe(iteratorPrototype.__proto__, Object.prototype); +shouldBe(JSON.stringify(Object.getOwnPropertyNames(iteratorPrototype)), '[]'); +shouldBe(Object.getOwnPropertySymbols(iteratorPrototype).length, 1); +shouldBe(Object.getOwnPropertySymbols(iteratorPrototype)[0], Symbol.iterator); +shouldBe(iteratorPrototype[Symbol.iterator](), iteratorPrototype); +var stringIterator = "Hello"[Symbol.iterator](); +shouldBe(iteratorPrototype[Symbol.iterator].call(stringIterator), stringIterator); + +function inheritIteratorPrototype(iterator) +{ + var prototype = iterator.__proto__; + shouldBe(prototype !== iteratorPrototype, true); + shouldBe(Object.getOwnPropertyDescriptor(prototype, 'constructor'), undefined); + shouldBe(prototype.__proto__, iteratorPrototype); + shouldBe(iteratorPrototype[Symbol.iterator].name, '[Symbol.iterator]'); + shouldBe(iteratorPrototype.hasOwnProperty(Symbol.iterator), true); +} + +inheritIteratorPrototype("Cappuccino"[Symbol.iterator]()); +inheritIteratorPrototype(new Map()[Symbol.iterator]()); +inheritIteratorPrototype(new Set()[Symbol.iterator]()); +inheritIteratorPrototype(new Array()[Symbol.iterator]()); +inheritIteratorPrototype((function (a, b, c) { return arguments; }(0, 1, 2))[Symbol.iterator]()); +inheritIteratorPrototype((function (a, b, c) { 'use strict'; return arguments; }(0, 1, 2))[Symbol.iterator]()); + +function testChain(iterable) +{ + // Iterator instance + var iterator = iterable[Symbol.iterator](); + // %MapIteratorPrototype% + var proto1 = Object.getPrototypeOf(iterator); + // %IteratorPrototype% + var proto2 = Object.getPrototypeOf(proto1); + + shouldBe(proto2.hasOwnProperty(Symbol.iterator), true); + shouldBe(proto1.hasOwnProperty(Symbol.iterator), false); + shouldBe(iterator.hasOwnProperty(Symbol.iterator), false); + shouldBe(iterator[Symbol.iterator](), iterator); +} + +testChain("Cocoa"); +testChain(new Map()); +testChain(new Set()); +testChain(new Array()); diff --git a/implementation-contributed/javascriptcore/stress/iterator-return-beyond-multiple-iteration-scopes.js b/implementation-contributed/javascriptcore/stress/iterator-return-beyond-multiple-iteration-scopes.js new file mode 100644 index 0000000000..df4a4fe8aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/iterator-return-beyond-multiple-iteration-scopes.js @@ -0,0 +1,172 @@ + +function createIterator(callback) { + var array = [0,1,2,3,4,5]; + var iterator = array[Symbol.iterator](); + iterator.return = function () { + ++iterator.returned; + if (callback) + return callback(this); + return { done: true, value: undefined }; + }; + iterator.returned = 0; + return iterator; +} + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break outer; + } + } + if (innerIterator.returned !== 1) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 1) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break inner; + } + } + if (innerIterator.returned !== 6) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 0) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break; + } + } + if (innerIterator.returned !== 6) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 0) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break; + } + } + if (innerIterator.returned !== 6) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 0) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + continue; + } + } + if (innerIterator.returned !== 0) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 0) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + continue inner; + } + } + if (innerIterator.returned !== 0) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 0) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + continue outer; + } + } + if (innerIterator.returned !== 6) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 0) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + (function () { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + return; + } + } + }()); + if (innerIterator.returned !== 1) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 1) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(); + (function () { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + } + return; + } + }()); + if (innerIterator.returned !== 0) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 1) + throw new Error("bad value: " + outerIterator.returned); +}()); + + +(function test() { + function raiseError() { + throw new Error("Cocoa"); + } + var outerIterator = createIterator(); + var innerIterator = createIterator(); + (function () { + var error = null; + try { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + raiseError(); + } + } + } catch (e) { + error = e; + } + if (innerIterator.returned !== 1) + throw new Error("bad value: " + innerIterator.returned); + if (outerIterator.returned !== 1) + throw new Error("bad value: " + outerIterator.returned); + if (!error) + throw new Error("not thrown"); + if (String(error) !== "Error: Cocoa") + throw new Error("bad error: " + String(error)); + }()); +}()); diff --git a/implementation-contributed/javascriptcore/stress/iterators-shape.js b/implementation-contributed/javascriptcore/stress/iterators-shape.js new file mode 100644 index 0000000000..f2718b266d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/iterators-shape.js @@ -0,0 +1,63 @@ +// This test checks the shape of builtin iterators. + +function iteratorShape(iter) { + if (iter.hasOwnProperty('next')) + throw "Error: iterator should not have next method."; + if (!iter.__proto__.hasOwnProperty('next')) + throw "Error: iterator prototype should have next method."; + if (typeof iter.__proto__.next !== "function") + throw "Error: iterator prototype should have next method."; +} + +function sameNextMethods(iterators) { + var iterator = iterators[0]; + for (var i = 1; i < iterators.length; ++i) { + if (iterator.next !== iterators[i].next) + throw "Error: next method is not the same."; + } +} + +var array = ['Cocoa', 'Cappuccino', 'The des Alizes', 'Matcha', 'Kilimanjaro']; +var iterator = array[Symbol.iterator](); +iteratorShape(iterator); + +var keyIterator = array.keys(); +iteratorShape(keyIterator); + +var keyValueIterator = array.entries(); +iteratorShape(keyValueIterator); + +sameNextMethods([array[Symbol.iterator](), array.keys(), array.entries()]); + +var set = new Set(['Cocoa', 'Cappuccino', 'The des Alizes', 'Matcha', 'Kilimanjaro']); +var iterator = set[Symbol.iterator](); +iteratorShape(iterator); + +var keyIterator = set.keys(); +iteratorShape(keyIterator); + +var keyValueIterator = set.entries(); +iteratorShape(keyValueIterator); + +sameNextMethods([set[Symbol.iterator](), set.keys(), set.entries()]); + +var map = new Map(); +[ + [ 'Cocoa', 2, ], + [ 'Cappuccino', 0 ], + [ 'The des Alizes', 3 ], + [ 'Matcha', 2 ], + [ 'Kilimanjaro', 1] +].forEach(function ([ key, value ]) { + map.set(key, value); +}); +var iterator = map[Symbol.iterator](); +iteratorShape(iterator); + +var keyIterator = map.keys(); +iteratorShape(keyIterator); + +var keyValueIterator = map.entries(); +iteratorShape(keyValueIterator); + +sameNextMethods([map[Symbol.iterator](), map.keys(), map.entries()]); diff --git a/implementation-contributed/javascriptcore/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js b/implementation-contributed/javascriptcore/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js new file mode 100644 index 0000000000..3d488a5669 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jit-cache-poly-replace-then-cache-get-and-fold-then-invalidate.js @@ -0,0 +1,33 @@ +var o = {f:42}; + +function foo(p, o, v) { + if (p) + o.f = v; +} + +function bar() { + return o.f; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10; ++i) + foo(false); + +for (var i = 0; i < 10; ++i) + foo(true, {}, 42); + +for (var i = 0; i < 10; ++i) + foo(true, o, 42); + +for (var i = 0; i < 100000; ++i) { + var result = bar(); + if (result != 42) + throw "Error: bad result: " + result; +} + +foo(true, o, 53); +var result = bar(); +if (result != 53) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js b/implementation-contributed/javascriptcore/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js new file mode 100644 index 0000000000..ccbdfd920c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jit-cache-replace-then-cache-get-and-fold-then-invalidate.js @@ -0,0 +1,30 @@ +var o = {f:42}; + +function foo(p, v) { + if (p) + o.f = v; +} + +function bar() { + return o.f; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10; ++i) + foo(false); + +for (var i = 0; i < 10; ++i) + foo(true, 42); + +for (var i = 0; i < 100000; ++i) { + var result = bar(); + if (result != 42) + throw "Error: bad result: " + result; +} + +foo(true, 53); +var result = bar(); +if (result != 53) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/jit-gracefully-handle-double-constants-in-math-operators.js b/implementation-contributed/javascriptcore/stress/jit-gracefully-handle-double-constants-in-math-operators.js new file mode 100644 index 0000000000..b34d31370e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jit-gracefully-handle-double-constants-in-math-operators.js @@ -0,0 +1,25 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion!"); +} + + +function test() { + let cases = [ + ["/", 1], + ["*", 1], + ["+", 2], + ["-", 0], + [">>", 0], + [">>>", 0], + ["<<", 2], + ["^", 0], + ["&", 1], + ]; + + for (let [op, result] of cases) { + let program = `for (let i = 0; i < 500; i++) { assert((1,1)${op}1 === ${result}); }`; + eval(program); + } +} +test(); diff --git a/implementation-contributed/javascriptcore/stress/jit-put-to-scope-global-cache-watchpoint-invalidate.js b/implementation-contributed/javascriptcore/stress/jit-put-to-scope-global-cache-watchpoint-invalidate.js new file mode 100644 index 0000000000..2dd09698aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jit-put-to-scope-global-cache-watchpoint-invalidate.js @@ -0,0 +1,26 @@ +function foo(p, v) { + if (p) + global = v; +} + +function bar() { + return global; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 10; ++i) + foo(false); + +var value = 42; +foo(true, value); +var n = 100000; +var m = 100; +for (var i = 0; i < n; ++i) { + if (i == n - m) + foo(true, value = 53); + var result = bar(); + if (result != value) + throw "Error: on iteration " + i + " got: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/joined-strings-should-not-exceed-max-string-length.js b/implementation-contributed/javascriptcore/stress/joined-strings-should-not-exceed-max-string-length.js new file mode 100644 index 0000000000..4044b1bf11 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/joined-strings-should-not-exceed-max-string-length.js @@ -0,0 +1,30 @@ +//@ skip if $memoryLimited +//@ runFTLNoCJIT if !$memoryLimited +// This test should not crash or fail any assertions. + +function shouldEqual(stepId, actual, expected) { + if (actual != expected) { + throw stepId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +var exception = undefined; + +arr = [null,null,null,null]; +str = "xx"; + +try { + for (var i = 0; i < 100; ++i) + str = arr.join(str); +} catch (e) { + exception = e; +} +shouldEqual(10000, exception, "Error: Out of memory"); + +exception = undefined; +try { + str += 'x'; +} catch(e) { + exception = e; +} +shouldEqual(10100, exception, undefined); diff --git a/implementation-contributed/javascriptcore/stress/js-fixed-array-out-of-memory.js b/implementation-contributed/javascriptcore/stress/js-fixed-array-out-of-memory.js new file mode 100644 index 0000000000..c5bab87987 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/js-fixed-array-out-of-memory.js @@ -0,0 +1,25 @@ +//@ if $buildType == "debug" && !$memoryLimited then runDefault("--maxSingleAllocationSize=1048576") else skip end + +var exception; + +function foo() { }; + +function test(length) { + try { + foo([...new Array(length)].filter(() => { })); + } catch (e) { + exception = e; + } + + if (exception && exception != "Error: Out of memory") + throw "ERROR: length " + length + ": unexpected exception " + exception; +} + +var sizes = [ + 1, 10, 50, 100, 500, 1000, 5000, 10000, 50000, 100000, 500000, + 1000000, 5000000, 10000000, 50000000, 100000000, 500000000, 1000000000 +]; + +for (size of sizes) + test(size); + diff --git a/implementation-contributed/javascriptcore/stress/jsc-read.js b/implementation-contributed/javascriptcore/stress/jsc-read.js new file mode 100644 index 0000000000..1b3204e0e8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jsc-read.js @@ -0,0 +1,36 @@ +(function test() { + // Read this test file using jsc shell's builtins, and check that its content is as expected. + const in_file = 'jsc-read.js'; + + const check = content_read => { + let expect = '(' + test.toString() + ')();\n'; + if (content_read !== expect) + throw Error('Expected to read this file as-is, instead read:\n==========\n' + content_read + '\n=========='); + }; + + const test_arraybuffer = read_function => { + let file = read_function(in_file, 'binary'); + if (typeof file.buffer !== 'object' || file.byteLength === undefined || file.length === undefined || file.BYTES_PER_ELEMENT !== 1 || file.byteOffset !== 0) + throw Error('Expected a Uint8Array'); + let str = ''; + for (var i = 0; i != file.length; ++i) + str += String.fromCharCode(file[i]); // Assume ASCII. + check(str); + }; + + const test_string = read_function => { + let str = read_function(in_file); + if (typeof str !== 'string') + throw Error('Expected a string'); + check(str); + }; + + // jsc's original file reading function is `readFile`, whereas SpiderMonkey + // shell's file reading function is `read`. The latter is used by + // emscripten's shell.js (d8 calls it `readbuffer`, which shell.js + // polyfills). + test_arraybuffer(readFile); + test_arraybuffer(read); + test_string(readFile); + test_string(read); +})(); diff --git a/implementation-contributed/javascriptcore/stress/jsc-setImpureGetterDelegate-on-bad-type.js b/implementation-contributed/javascriptcore/stress/jsc-setImpureGetterDelegate-on-bad-type.js new file mode 100644 index 0000000000..84b5fe5b65 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jsc-setImpureGetterDelegate-on-bad-type.js @@ -0,0 +1,23 @@ +//@ runFTLNoCJIT +// This test passes if it does not crash or trigger any assertion failures. + +var setImpureGetterDelegate = $vm.setImpureGetterDelegate; + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +var arrayBuffer = new ArrayBuffer(0x20); +var dataView_A = new DataView(arrayBuffer); +var dataView_B = new DataView(arrayBuffer); + +var exception; +try { + setImpureGetterDelegate(dataView_A, dataView_B); +} catch (e) { + exception = e; +} + +shouldEqual(exception, "TypeError: argument is not an ImpureGetter"); diff --git a/implementation-contributed/javascriptcore/stress/jsc-test-functions-should-be-more-robust.js b/implementation-contributed/javascriptcore/stress/jsc-test-functions-should-be-more-robust.js new file mode 100644 index 0000000000..3c9619894e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jsc-test-functions-should-be-more-robust.js @@ -0,0 +1,28 @@ +//@ runFTLNoCJIT +// This test passes if it does not crash or trigger any assertion failures. + +var getHiddenValue = $vm.getHiddenValue; +var setHiddenValue = $vm.setHiddenValue; + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +function test(testAction, expectedException) { + var exception; + try { + testAction(); + } catch (e) { + exception = e; + } + shouldEqual(exception, expectedException); +} + +test(() => { getHiddenValue(); }, "TypeError: Invalid use of getHiddenValue test function"); +test(() => { getHiddenValue({}); }, "TypeError: Invalid use of getHiddenValue test function"); + +test(() => { setHiddenValue(); }, "TypeError: Invalid use of setHiddenValue test function"); +test(() => { setHiddenValue({}); }, "TypeError: Invalid use of setHiddenValue test function"); + diff --git a/implementation-contributed/javascriptcore/stress/json-parse-on-frozen-object.js b/implementation-contributed/javascriptcore/stress/json-parse-on-frozen-object.js new file mode 100644 index 0000000000..f8ff08732e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/json-parse-on-frozen-object.js @@ -0,0 +1,75 @@ +//@ runFTLNoCJIT + +function shouldEqual(testId, actual, expected) { + if (actual != expected) { + throw testId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +function frozenArrayReviver(k, v) { + if (k === "a") { + this.b = Object.freeze(["unmodifiable"]); + return v; + } + if (k === "0") + return "modified"; + return v; +} + +function frozenArrayLikeObjectReviver(k, v) { + if (k === "a") { + var obj = {}; + obj[0] = 'unmodifiable'; + obj.length = 1; + this.b = Object.freeze(obj); + return v; + } + if (k === "0") + return "modified"; + return v; +} + +function frozenArrayReviverWithDelete(k, v) { + if (k === "a") { + this.b = Object.freeze(["unmodifiable"]); + return v; + } + if (k === "0") + return undefined; + return v; +} + +function frozenArrayLikeObjectReviverWithDelete(k, v) { + if (k === "a") { + var obj = {}; + obj[0] = 'unmodifiable'; + obj.length = 1; + this.b = Object.freeze(obj); + return v; + } + if (k === "0") + return undefined; + return v; +} + +function runTest(testId, reviver, expectedValue, expectedException) { + let numIterations = 10000; + for (var i = 0; i < numIterations; i++) { + var exception = undefined; + + var obj; + try { + obj = JSON.parse('{ "a": 0, "b": 0 }', reviver); + } catch (e) { + exception = "" + e; + exception = exception.substr(0, 10); // Search for "TypeError:". + } + shouldEqual(testId, exception, expectedException); + shouldEqual(testId, obj.b[0], expectedValue); + } +} + +runTest(10000, frozenArrayReviver, "unmodifiable", undefined); +runTest(10001, frozenArrayLikeObjectReviver, "unmodifiable", undefined); +runTest(10002, frozenArrayReviverWithDelete, "unmodifiable", undefined); +runTest(10003, frozenArrayLikeObjectReviverWithDelete, "unmodifiable", undefined); diff --git a/implementation-contributed/javascriptcore/stress/json-stringified-overflow-2.js b/implementation-contributed/javascriptcore/stress/json-stringified-overflow-2.js new file mode 100644 index 0000000000..c14814b5d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/json-stringified-overflow-2.js @@ -0,0 +1,10 @@ +//@ skip if $memoryLimited + +try { + const s = "a".padStart(0x80000000 - 1); + JSON.stringify(s); +} catch(e) { + if (e != "Error: Out of memory") + throw e; +} + diff --git a/implementation-contributed/javascriptcore/stress/json-stringified-overflow.js b/implementation-contributed/javascriptcore/stress/json-stringified-overflow.js new file mode 100644 index 0000000000..48523bc7df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/json-stringified-overflow.js @@ -0,0 +1,9 @@ +//@ skip if $memoryLimited + +try { + const s = "123".padStart(1073741823); + JSON.stringify(s); +} catch(e) { + if (e != "Error: Out of memory") + throw e; +} diff --git a/implementation-contributed/javascriptcore/stress/json-stringify-with-non-jsarray-array.js b/implementation-contributed/javascriptcore/stress/json-stringify-with-non-jsarray-array.js new file mode 100644 index 0000000000..8eb39625b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/json-stringify-with-non-jsarray-array.js @@ -0,0 +1,36 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) +{ + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldBe(JSON.stringify(new Proxy([undefined], {})), `[null]`); +shouldBe(JSON.stringify(new Proxy([function() { }], {})), `[null]`); +shouldBe(JSON.stringify(new Proxy({ value: undefined }, {})), `{}`); + +shouldThrow(function () { + let proxy = new Proxy([], { + get(theTarget, propName) { + if (propName === 'length') + throw new Error('ok'); + return 42; + } + }); + JSON.stringify(proxy); +}, `Error: ok`); diff --git a/implementation-contributed/javascriptcore/stress/jsonp-literal-parser-semicolon-is-not-assignment.js b/implementation-contributed/javascriptcore/stress/jsonp-literal-parser-semicolon-is-not-assignment.js new file mode 100644 index 0000000000..81aa62aecb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jsonp-literal-parser-semicolon-is-not-assignment.js @@ -0,0 +1,4 @@ +x = undefined; +load("./resources/literal-parser-test-case.js"); +if (x !== undefined) + throw new Error("Bad result"); diff --git a/implementation-contributed/javascriptcore/stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js b/implementation-contributed/javascriptcore/stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js new file mode 100644 index 0000000000..dd94bf3ae8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/jsonp-program-evaluate-path-must-consider-global-lexical-environment.js @@ -0,0 +1,53 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +disableRichSourceInfo(); // This is needed for the JSONP path to be taken for calls. + +let a = 22; +loadString("a = 42"); +assert(a === 42); + +let b = {f: 22}; +loadString("b.f = 42"); +assert(b.f === 42); + +let foo = null; +let bar = 42; +loadString("foo = 'root'; bar = 5") +assert(foo === "root"); +assert(bar === 5); + +let called = false; +let func = (a) => { + assert(a.foo === 20); + called = true; +}; + +loadString("func({foo:20})"); +assert(called); + +called = false; +let o = { + foo(arg) { + assert(arg.foo === 20); + called = true; + } +}; + +loadString("o.foo({foo:20})"); +assert(called); + +var theVar = 20; +loadString("theVar = 42"); +assert(theVar === 42); +assert(this.theVar === 42); + +called = false; +var varFunc = (a) => { + assert(a.foo === 20); + called = true; +}; +loadString("varFunc({foo:20})"); +assert(called); diff --git a/implementation-contributed/javascriptcore/stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js b/implementation-contributed/javascriptcore/stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js new file mode 100644 index 0000000000..f4c6d40eba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/keep-checks-when-converting-to-lazy-js-constant-in-strength-reduction.js @@ -0,0 +1,7 @@ +//@ runDefault("--jitPolicyScale=0", "--useConcurrentJIT=false") + +let bar; +for (let i = 0; i < 20; ++i) { + bar = i ** 0; + bar + ''; +} diff --git a/implementation-contributed/javascriptcore/stress/large-regexp.js b/implementation-contributed/javascriptcore/stress/large-regexp.js new file mode 100644 index 0000000000..8349bedb54 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/large-regexp.js @@ -0,0 +1,11 @@ +if (''.match(/(,9111111111{2257483648,}[:lower:])|(ab)/)) + throw new Error("Incorrect result, should not have matched") + +if (''.match(/(1{1,2147483648})|(ab)/)) + throw new Error("Incorrect result, should not have matched") + +if (''.match(/(1{2147480000,}2{3648,})|(ab)/)) + throw new Error("Incorrect result, should not have matched") + +if (!'1234'.match(/1{1,2147483645}2{1,2147483645}3{1,2147483645}4{1,2147483645}/)) + throw new Error("Incorrect result, should have matched") diff --git a/implementation-contributed/javascriptcore/stress/large-unshift-splice.js b/implementation-contributed/javascriptcore/stress/large-unshift-splice.js new file mode 100644 index 0000000000..d1a28481ae --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/large-unshift-splice.js @@ -0,0 +1,18 @@ +//@ skip if $memoryLimited + +function make_contig_arr(sz) +{ + let a = []; + while (a.length < sz / 8) + a.push(3.14); + a.length *= 8; + return a; +} + +try { + let ARRAY_LENGTH = 0x10000000; + let a = make_contig_arr(ARRAY_LENGTH); + let b = make_contig_arr(0xff00); + b.unshift(a.length-0x10000, 0); + Array.prototype.splice.apply(a, b); +} catch (e) {} diff --git a/implementation-contributed/javascriptcore/stress/lars-sab-workers.js b/implementation-contributed/javascriptcore/stress/lars-sab-workers.js new file mode 100644 index 0000000000..bae400f720 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lars-sab-workers.js @@ -0,0 +1,127 @@ +//@ skip + +var sab = new SharedArrayBuffer(100 * 4); + +var memory = new Int32Array(sab); + +var numWorkers = 0; +function startWorker(code) +{ + print("Starting worker!"); + + numWorkers++; + $.agent.start(code); +} + +resources = ` +function wait(memory, index, waitCondition, wakeCondition) +{ + while (memory[index] == waitCondition) { + var result = Atomics.wait(memory, index, waitCondition); + switch (result) { + case "not-equal": + case "ok": + break; + default: + $.agent.report("Error: bad result from wait: " + result); + $.agent.report("error"); + break; + } + var value = memory[index]; + if (value != wakeCondition) { + $.agent.report("Error: wait returned not-equal but the memory has a bad value: " + value); + $.agent.report("error"); + } + } + var value = memory[index]; + if (value != wakeCondition) { + $.agent.report("Error: done waiting but the memory has a bad value: " + value); + $.agent.report("error"); + } +} + +function wake(memory, index) +{ + var result = Atomics.wake(memory, index, 1); + if (result != 0 && result != 1) { + $.agent.report("Error: bad result from wake: " + result); + $.agent.report("error"); + } +} +`; + +startWorker( + resources + ` + $.agent.receiveBroadcast(sab => { + var memory = new Int32Array(sab); + var didStartIdx = 0; + var shouldGoIdx = 1; + var didEndIdx = 2; + + $.agent.report("1: Started!"); + $.agent.report("1: Memory: " + memory); + + wait(memory, didStartIdx, 0, 1); + + $.agent.report("1: It started!"); + + memory[shouldGoIdx] = 1; + wake(memory, shouldGoIdx); + + wait(memory, didEndIdx, 0, 1); + + $.agent.report("1: All done!"); + $.agent.report("1: Memory: " + memory); + $.agent.report("done"); + }); + `); + +startWorker( + resources + ` + $.agent.receiveBroadcast(sab => { + var memory = new Int32Array(sab); + var didStartIdx = 0; + var shouldGoIdx = 1; + var didEndIdx = 2; + + $.agent.report("2: Started!"); + $.agent.report("2: Memory: " + memory); + + Atomics.store(memory, didStartIdx, 1); + wake(memory, didStartIdx); + + wait(memory, shouldGoIdx, 0, 1); + + Atomics.store(memory, didEndIdx, 1); + wake(memory, didEndIdx, 1); + + $.agent.report("2: Memory: " + memory); + $.agent.report("done"); + }); + `); + +$.agent.broadcast(sab); + +for (;;) { + var report = waitForReport(); + if (report == "done") { + if (!--numWorkers) { + print("All workers done!"); + break; + } + } else if (report == "error") { + print("Test failed!"); + throw new Error("Test failed."); + } else + print("report: " + report); +} + +for (var i = 0; i < 3; ++i) { + if (memory[i] != 1) + throw "Error: Bad value at memory[" + i + "]: " + memory[i]; +} +for (var i = 3; i < memory.length; ++i) { + if (memory[i] != 0) + throw "Error: Bad value at memory[" + i + "]: " + memory[i]; +} +print("Test passed!"); diff --git a/implementation-contributed/javascriptcore/stress/length-of-new-array-with-spread.js b/implementation-contributed/javascriptcore/stress/length-of-new-array-with-spread.js new file mode 100644 index 0000000000..215ee5559a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/length-of-new-array-with-spread.js @@ -0,0 +1,31 @@ +function foo() +{ + var a = [1, 2]; + var l = [...a, 42, ...a].length; + if (l != 5) + throw "Wrong length in foo: " + l; +} +noInline(foo); + +function bar(...b) +{ + var l = [...b, 43, ...b].length; + if (l != 7) + throw "Wrong length in bar: " + l +} +noInline(bar); + +function baz(arg0, ...c) +{ + var x = [...c, ...c]; + var l = [...x, ...x, ...x].length; + if (l != 24) + throw "Wrong length in baz: " + l +} +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + foo(); + bar(1, 2, 3); + baz(0, 1, 2, 3, 4); +} diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-and-with-statement.js b/implementation-contributed/javascriptcore/stress/lexical-let-and-with-statement.js new file mode 100644 index 0000000000..9c39b9157a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-and-with-statement.js @@ -0,0 +1,78 @@ +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} + +noInline(assert); + +;(function() { + function foo() { + let x = 40; + with ({x : 100}) { + assert(x === 100); + } + with ({y : 100}) { + assert(x === 40); + } + } + noInline(foo); + + function bar() { + let x = 40; + function capX() { return x; } + with ({x : 100}) { + if (truth()) { + let x = 50; + let capX = function() { return x; } + assert(x === 50); + assert(capX() === x); + } + assert(x === 100); + assert(capX() === 40); + } + with ({y : 100}) { + if (truth()) { + let x = 50; + let capX = function() { return x; } + assert(x === 50); + assert(capX() === x); + } + assert(x === 40); + assert(capX() === 40); + } + } + noInline(bar); + + function baz() { + let x = 40; + function capX() { return x; } + with ({x : 100}) { + if (truth()) { + let x = 50; + assert(x === 50); + } + assert(x === 100); + assert(capX() === 40); + } + with ({y : 100}) { + if (truth()) { + let x = 50; + assert(x === 50); + } + assert(x === 40); + assert(capX() === 40); + } + } + noInline(baz); + + for (let i = 0; i < 100; i++) { + foo(); + bar(); + baz(); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-exception-handling.js b/implementation-contributed/javascriptcore/stress/lexical-let-exception-handling.js new file mode 100644 index 0000000000..ae8449d31e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-exception-handling.js @@ -0,0 +1,202 @@ +"use strict"; + +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +const NUM_LOOPS = 100; + +;(function () { + +function foo() { + let x = 20; + let y = "y"; + try { + assert(x === 20); + assert(y === "y"); + throw "error"; + } catch(e) { + assert(x === 20); + } finally { + assert(x === 20); + assert(y === "y"); + } + + for (let i = 0; i < 1; i++) { + let numFinally = 0; + try { + let a = 40; + let capA = function() { return a; } + assert(capA() === 40); + try { + let b = 41; + let capB = function() { return b; } + assert(capB() === 41); + assert(capA() === 40); + try { + return 20; + } catch(e){ + } finally { + let c = 42; + let capC = function() { return c; } + assert(capC() === 42); + assert(capB() === 41); + assert(capA() === 40); + if (i === 0) { + numFinally++; + } + return 22; + } + } catch(e) { + } finally { + if (i === 0) { + numFinally++; + } + return 23; + } + } catch(e) { + } finally { + if (i === 0) { + numFinally++; + } + assert(numFinally === 3); + return 24; + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 24); +} + +})(); + + +;(function () { +function foo() { + for (let i = 0; i < 1; i++) { + let numFinally = 0; + let numErrors = 0; + try { + let a = 40; + let capA = function() { return a; } + assert(capA() === 40); + try { + let b = 41; + let capB = function() { return b; } + assert(capB() === 41); + assert(capA() === 40); + try { + throw "e"; + } catch(e) { + assert(i === 0); + assert(capB() === 41); + assert(capA() === 40); + numErrors++; + throw e; + } finally { + let c = 42; + let capC = function() { return c; } + let local = "local"; + assert(local === "local"); + assert(capC() === 42); + assert(capB() === 41); + assert(capA() === 40); + if (i === 0) { + numFinally++; + } + } + } catch(e) { + assert(i === 0); + assert(capA() === 40); + numErrors++; + let local = "local"; + assert(local === "local"); + } finally { + assert(capA() === 40); + if (i === 0) { + numFinally++; + } + let local = "local"; + assert(local === "local"); + return 23; + } + } catch(e) { + //assert(i === 0); + } finally { + if (i === 0) { + numFinally++; + } + + assert(numFinally === 3); + assert(numErrors === 2); + return 24; + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 24); +} + +})(); + + +var d = 100; +;(function (){ +function foo() { + assert(d === 100); + for (let i = 0; i < 1; i++) { + let numFinally = 0; + let numErrors = 0; + let c = 44; + assert(d === 100); + try { + let d = 45; + if (truth()) { + let a = 20; + let capA = function() { return a; } + assert(capA() === 20); + if (truth()) { + let b = 21; + let e = 48; + let capB = function() { return b; } + assert(capB() === 21); + assert(d === 45); + try { + throw "e"; + } catch(e) { + assert(capA() === 20); + assert(a === 20); + numErrors++; + } finally { + assert(capA() === 20); + assert(e === 48); + numFinally++; + return 30; + } + } + } + } finally { + assert(c === 44); + assert(d === 100); + numFinally++; + assert(numFinally === 2); + assert(numErrors === 1); + return 40; + } + } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 40); +} + +})(); diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-global-not-captured-variables.js b/implementation-contributed/javascriptcore/stress/lexical-let-global-not-captured-variables.js new file mode 100644 index 0000000000..66a6890bb8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-global-not-captured-variables.js @@ -0,0 +1,31 @@ +"use strict"; + +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + + +function foo(y) { + return y; +} + +let x = 40; +assert(x === 40); + +for (var i = 0; i < 1000; i++) { + if (truth()) { + let y = 20; + let capY = function() { return y; } + assert(x === 40); + assert(capY() === 20); + assert(foo(i) === i); + } +} +assert(foo("hello") === "hello"); diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-loop-semantics.js b/implementation-contributed/javascriptcore/stress/lexical-let-loop-semantics.js new file mode 100644 index 0000000000..e5c6d23426 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-loop-semantics.js @@ -0,0 +1,381 @@ +"use strict"; + +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +const NUM_LOOPS = 1000; +const SHORT_LOOPS = 100; + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + + +;(function () { + var arr = []; + + for (let i = 0; i < 10; i++) { + arr.push(function () { return i; }) + } + + for (let j = 0; j < arr.length; j++) { + assert(arr[j]() === j); + } + + let f = "fff"; + let counter = 0; + for (let f of arr) { + assert(f() === counter++); + } + assert(f === "fff"); + + let numLoops = 0; + for (let f of arr) { + numLoops++; + let f = function () { return "f"; } + assert(f() === "f"); + } + assert(numLoops === arr.length); + assert(f === "fff"); + +})(); + + +;(function() { + function foo() { + var obj = {hello:1, world:2}; + obj["bar"] = 3; + let p = 20; + assert(p === 20); + for (let p in obj) { + assert(p === "hello" || p === "world" || p === "bar"); + } + assert(p === 20); + } + + function bar() { + var obj = {hello:1, world:2}; + obj["bar"] = 3; + let props = []; + let p = 20; + for (let p in obj) { + props.push(function foo() { return p; }); + let outerP = p; + if (truth()) { + let p = 100; + assert(p === 100); + assert(p !== outerP); + assert(outerP === "hello" || outerP === "world" || outerP === "bar"); + } + assert(p === outerP); + } + assert(p === 20); + + let seenProps = {}; + for (let f of props) { + let p = f(); + assert(p === "hello" || p === "world" || p === "bar"); + seenProps[p] = true; + } + assert(seenProps["hello"] === true); + assert(seenProps["world"] === true); + assert(seenProps["bar"] === true); + assert(p === 20); + } + + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + } +})(); + + +;(function() { + function foo() { + let counter = 0; + for (let idx = 0; idx < 20; idx++) { + assert(idx === counter++); + continue; + } + shouldThrowTDZ(function() { return idx; }); + } + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + } +})(); + + +;(function() { + function foo() { + for (let idx = 0; !truth(); idx++) { } + shouldThrowTDZ(function() { return idx; }); // Just plain old reference error here. + } + function bar() { + for (let j = 0; j < 20; j++) { + if (j === 1) + break; + else + continue; + } + shouldThrowTDZ(function() { return j; }); + } + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + } +})(); + + +;(function() { + function foo() { + var obj = {hello:1, world:2}; + let p = 20; + var arr = [] + for (let p in obj) { + arr.push(function capP() { return p; }); + assert(p === "hello" || p === "world"); + } + assert(arr[0]() === "hello" || arr[0]() === "world"); + assert(arr[1]() === "hello" || arr[1]() === "world"); + assert(arr[1]() !== arr[0]()); + assert(p === 20); + } + + function bar() { + var obj = {a:1, b:2, c:3, d:4, e:4}; + obj["f"] = 5; + let funcs = []; + for (let p in obj) { + funcs.push(function capP() { return p; }); + } + let counter = 0; + for (let p in obj) { + assert(funcs[counter]() === p); + counter++; + } + } + + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); + } +})(); + + +;(function() { + function foo() { + let arr = [0, 1, 2, 3, 4, 5]; + let funcs = []; + for (let x of arr) { + funcs.push(function() { return x; }); + } + for (let i = 0; i < arr.length; ++i) { + assert(funcs[i]() === i); + } + } + + for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + } +})(); + + +;(function() { + function foo() { + let thing = {}; + for (let thing = thing; !thing; ) {} + } + for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + } +})(); + + +;(function() { + function foo() { + let thing = {}; + for (let thing = eval("thing"); !truth(); ) {} + } + + for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); + } +})(); + + +;(function() { + function foo() { + let thing = {}; + for (let thing in thing) {} + } + function bar() { + let thing = {hello: "world"} + for (let thing in thing) {} + } + function baz() { + let thing = {}; + for (let thing in eval("thing")) {} + } + function bag() { + let thing = {hello: "world"} + for (let thing in eval("thing")) {} + } + for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(bag); + } +})(); + + +;(function() { + function foo() { + let thing = ["hello"]; + for (let thing in thing) {} + } + function bar() { + let thing = []; + for (let thing in thing) {} + } + function baz() { + let thing = {hello: "world"}; + for (let thing in thing) {} + } + function bag() { + let empty = {}; + for (let thing in empty) {} + return thing; + } + function hat() { + let notEmpty = {foo: "bar"}; + for (let thing in notEmpty) { + break; + } + return thing; + } + function cap() { + let notEmpty = {foo: "bar"}; + for (let thing in notEmpty) { + continue; + } + return thing; + } + for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(bag); + shouldThrowTDZ(hat); + shouldThrowTDZ(cap); + } +})(); + + +;(function() { + function foo() { + let thing = ["hello"]; + for (let thing of thing) {} + } + function bar() { + let thing = []; + for (let thing of thing) {} + } + function baz() { + let thing = ["world"] + for (let thing of thing) {} + } + function bag() { + let empty = []; + for (let thing of empty) {} + return thing; + } + function hat() { + let notEmpty = ["hello", "world"]; + for (let thing of notEmpty) { + break; + } + return thing; + } + function tap() { + let notEmpty = [10, 20]; + for (let thing of notEmpty) { } + return thing; + } + function cap() { + let notEmpty = [10, 20]; + for (let thing of notEmpty) { + continue; + } + return thing; + } + function pap() { + let notEmpty = [10, 20]; + for (let thing of notEmpty) { + } + return thing; + } + for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(bag); + shouldThrowTDZ(hat); + shouldThrowTDZ(tap); + shouldThrowTDZ(cap); + shouldThrowTDZ(pap); + } +})(); + + +;(function() { + function foo() { + let x = 0; + let arr = []; + for (let x of (x=2, obj)) { x; } + } + + function bar() { + let x = 0; + let obj = {}; + for (let x in (x=2, obj)) { x; } + } + + for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + } +})(); + + +;(function() { + let factorial = null; + function test() { + for (let factorial = function(x){ return x > 1 ? x * factorial(x - 1) : 1; }; true; ) { return factorial(5); } + } + assert(test() === 120); +})(); + +;(function() { + function test() { + for (let factorial = function(x){ return x > 1 ? x * factorial(x - 1) : 1; }; true; ) { return factorial(5); } + } + assert(test() === 120); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-not-strict-mode.js b/implementation-contributed/javascriptcore/stress/lexical-let-not-strict-mode.js new file mode 100644 index 0000000000..56f1f97aee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-not-strict-mode.js @@ -0,0 +1,128 @@ +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + +;(function() { + +function foo() { + delete x; + let x; +} +function bar() { + delete x; + let x; + function capX() { return x; } +} + +for (var i = 0; i < 1000; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} + +})(); + + +;(function() { + +function foo() { + var hadError = false; + try { + x; + } catch(e) { + hadError = true; + } + assert(hadError); + + if (truth()) { + // This eval is enterpreted as follows: + // eval("var x; x = 20"); + // We first assign undefined to the "var x". + // Then, we interperet an assignment expression + // into the resolved variable x. x resolves to the lexical "let x;" + // Look at ECMA section 13.3.2.4 of the ES6 spec: + // http://www.ecma-international.org/ecma-262/6.0/index.html#sec-variable-statement-runtime-semantics-evaluation + // And also look at section 8.3.1 ResolveBinding: + // http://www.ecma-international.org/ecma-262/6.0/index.html#sec-resolvebinding + let x = 40; + eval("var x = 20;"); + assert(x === 20); + } + assert(x === undefined); +} + +function bar() { + var hadError = false; + try { + x; + } catch(e) { + hadError = true; + } + assert(hadError); + + if (truth()) { + let x = 40; + function capX() { return x; } + eval("var x = 20;"); + assert(x === 20); + } + assert(x === undefined); +} + +function baz() { + if (truth()) { + let x = 40; + eval("let x = 20; assert(x === 20);"); + assert(x === 40); + } + if (truth()) { + let x = 40; + function capX() { return x; } + eval("let x = 20; assert(x === 20);"); + assert(x === 40); + } +} + +function baz() { + // Test eval() caching. + let x = 20; + let evalString = "x;"; + + assert(eval(evalString) === 20); + if (truth()) { + let y = 60; + assert(eval(evalString) === 20); + assert(y === 60); + if (truth()) { + let y = 50, z = 70, x = 40; + assert(eval(evalString) === 40); + assert(y === 50 && z === 70); + } + } +} + +for (var i = 0; i < 100; i++) { + foo(); + bar(); + baz(); +} + +})(); diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-semantics.js b/implementation-contributed/javascriptcore/stress/lexical-let-semantics.js new file mode 100644 index 0000000000..db13914a29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-semantics.js @@ -0,0 +1,412 @@ +"use strict"; +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + + +// ========== tests below =========== + +const NUM_LOOPS = 1000; + +let globalLet = "helloWorld"; +assert(globalLet === "helloWorld"); +function captureGlobalLet() { return globalLet; } +assert(globalLet === captureGlobalLet()); +let globalFunction = function() { return 20; } +assert(globalFunction() === 20); +assert((function() { return globalFunction(); })() === 20); +let globalNumber = 20; +assert(globalNumber === 20); +globalNumber++; +assert(globalNumber === 21); +globalNumber += 40; +assert(globalNumber === 61); +globalNumber = "hello"; +assert(globalNumber === "hello"); + +let globalNumberCaptured = 20; +let retGlobalNumberCaptured = function() { return globalNumberCaptured; } +let setGlobalNumberCaptured = function(x) { globalNumberCaptured = x; } +assert(retGlobalNumberCaptured() === globalNumberCaptured); +globalNumberCaptured++; +assert(retGlobalNumberCaptured() === globalNumberCaptured); +assert(globalNumberCaptured === 21); +setGlobalNumberCaptured(100); +assert(retGlobalNumberCaptured() === globalNumberCaptured); +assert(globalNumberCaptured === 100); +setGlobalNumberCaptured(retGlobalNumberCaptured); +assert(retGlobalNumberCaptured() === retGlobalNumberCaptured); +assert(globalNumberCaptured === retGlobalNumberCaptured); + +var arrOfFuncs = []; +for (var i = 0; i < NUM_LOOPS; i++) { + let globalLet = "inner"; + assert(globalLet === "inner"); + let inner = i; + arrOfFuncs.push(function() { return inner; }); +} +assert(globalLet === "helloWorld"); +for (var i = 0; i < arrOfFuncs.length; i++) + assert(arrOfFuncs[i]() === i); + + +var globalVar = 100; +assert(globalVar === 100); +;(function () { + assert(globalVar === 100); + if (truth()) { + let globalVar = 20; + assert(globalVar === 20); + } + assert(globalVar === 100); +})(); + +assert(globalVar === 100); +;(function () { + let globalVar = 10; + assert(globalVar === 10); + if (truth()) { + let globalVar = 20; + assert(globalVar === 20); + } + assert(globalVar === 10); +})(); +assert(globalVar === 100); + + +;(function() { +function foo() { + let x = 20; + + if (truth()) { + let thingy = function() { + x = 200; + return x; + }; + noInline(thingy); + thingy(); + } + + return x; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo() === 200); +} +})(); + + +;(function() { +var arr = []; +function foo(i) { + var num = i; + + if (truth()) { + let num = i; + arr.push(function() { return num; }); + } + var oldFunc = arr[arr.length - 1]; + arr[arr.length - 1] = function() { return oldFunc() + num; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(i); +} + +for (var i = 0; i < arr.length; i++) { + assert(arr[i]() === i + i); +} +})(); + + +;(function() { +function foo() { + let x = 20; + let y = 40; + assert(x === 20); + assert(y === 40); + if (truth()) { + let x = 50; + let y = 60; + assert(x === 50); + assert(y === 60); + } + assert(x === 20); + assert(y === 40); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo() { + function captureX() { return x; } + let x = 20; + let y = 40; + assert(x === 20); + assert(y === 40); + if (truth()) { + let x = 50; + let y = 60; + assert(x === 50); + assert(y === 60); + } + assert(x === 20); + assert(y === 40); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo() { + let x = 20; + let y = 40; + function captureAll() { return x + y; } + noInline(captureAll); + assert(x === 20); + assert(y === 40); + assert(captureAll() === 60); + if (truth()) { + let x = 50; + assert(x + y === 90); + assert(captureAll() === 60); + } + assert(x === 20); + assert(y === 40); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo() { + var captureAll = function() { return x + y; } + let x = 20; + let {_y : y, z} = {_y : 40, z : 100}; + assert(x === 20); + assert(y === 40); + assert(z === 100); + assert(captureAll() === 60); + if (truth()) { + let x = 50; + assert(x + y === 90); + assert(y === 40); + assert(captureAll() === 60); + } + assert(x === 20); + assert(y === 40); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo() { + var captureAll = function() { return x + y; } + let x = 20; + let y = 40; + assert(x === 20); + assert(y === 40); + assert(captureAll() === 60); + if (truth()) { + let x = 50; + let secondCaptureAll = function() { return x + y; }; + assert(x + y === 90); + assert(secondCaptureAll() === 90); + } + assert(x === 20); + assert(y === 40); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo() { + let x, y, z; + assert(x === undefined); + assert(y === undefined); + assert(z === undefined); +} +function bar() { + let x, y, z; + if (truth()) { + let x = 20, y = 40; + assert(x === 20); + assert(y === 40); + } + function capture() { return x + z; } + assert(x === undefined); + assert(y === undefined); + assert(z === undefined); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); + bar(); +} +})(); + + +;(function() { +function foo() { + let x, y, z = "z", t = undefined; + assert(cap() === undefined); + assert(x === undefined); + assert(y === undefined); + assert(t === undefined); + assert(z === "z"); + + function cap() { return x; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + +;(function() { +function foo() { + let {x: baz} = {x: 20}; + let {x: bar} = {x: 200}; + function cap() { return baz; } + assert(baz === 20); + assert(bar === 200); + assert(cap() === 20); + baz = 40; + assert(baz === 40); + assert(cap() === 40); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} + +})(); + + + +;(function() { +function foo() { + let x = 20; + let y = 50; + assert(y === 50); + assert(eval("y = 25; let x = 40; x;") === 40); + assert(x === 20); + assert(y === 25); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo() { + let x = 20; + let y = 50; + assert(y === 50); + if (truth()) { + let y = 30; + assert(y === 30); + assert(eval("y = 25; let x = 40; x;") === 40); + assert(y === 25); + assert(x === 20); + if (truth()) { + let y = 100; + assert(y === 100); + x = 1; + } + assert(x === 1); + assert(y === 25); + } + assert(x === 1); + assert(y === 50); +} + +for (var i = 0; i < NUM_LOOPS; i++) { + foo(); +} +})(); + + +;(function() { +function foo(x) { + let y = 50; + let result = null; + switch(x) { + case 10: + let y = 40; + assert(y === 40); + case 20: + y += 1; + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo(10) === 41); +} + +assert(foo("hello") === "hello"); +})(); + + +;(function() { +function foo(x) { + let y = 50; + let result = null; + switch(x) { + case 10: + let y = 40; + assert(y === 40); + case 20: + y += 1; + assert(y === 41); + result = function() { return y; }; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + assert(foo(10)() === 41); +} + +assert(foo("hello") === "hello"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/lexical-let-tdz.js b/implementation-contributed/javascriptcore/stress/lexical-let-tdz.js new file mode 100644 index 0000000000..3cede78c0d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-let-tdz.js @@ -0,0 +1,473 @@ +"use strict"; + +function truth() { + return true; +} +noInline(truth); + +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + +const NUM_LOOPS = 1000; +const SHORT_LOOPS = 100; + + +;(function() { +function foo() { + x; + let x = 20; +} +function bar() { + let x = x; +} +function baz() { + let {x: prop, y: prop2} = {x: prop}; +} +function jaz() { + let {x: prop, y: prop2} = {x: 20, y: prop}; +} +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(jaz); +} +})(); + + +;(function() { +function foo() { + x; + let x = 20; + function captureX() { return x; } +} +function bar() { + captureX(); + let x = 20; + function captureX() { return x; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +;(function() { +function foo() { + if (truth()) { + let x = 20; + assert(x === 20); + } + x; + let x = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + + +;(function() { +function foo() { + if (truth()) { + let y = 20; + let captureY = function() { return y; } + assert(y === 20); + x; + } + let x = 20; + let y; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + if (truth()) { + let y = 20; + let x = 40; + let captureAll = function() { return x + y; } + //noInline(captureAll); + assert(y === 20); + assert(x === 40); + assert(captureAll() === 60); + } + tdz; + let tdz = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + if (truth()) { + let y = 20; + let x = 40; + let captureAll = function() { return x + y + tdz; } + assert(y === 20); + assert(x === 40); + } + tdz; + let tdz = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + x = 10; + let x = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + x = 10; + let x = 20; + function cap() { return x; } +} +function bar() { + captureX(); + let x = 20; + function captureX() { return x; } +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +;(function() { +function foo() { + if (!truth()) { + y; + assert(false); + } + let y; + assert(y === undefined); + if (truth()) { + x; + } + let x; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + eval("x;"); + let x = 20; +} +function bar() { + function captureX() { return x; } + eval("captureX();"); + let x = 20; +} +function baz() { + function captureX() { return x; } + function other() { return captureX; } + other()(); + let x = 20; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); +} +})(); + + +;(function() { +function foo() { + let y; + eval("y; x;"); + let x = 20; +} + +for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +;(function() { +function foo() { + let x = 20; + let y = 40; + assert(eval("x;") === 20); + if (truth()) { + assert(eval("eval('y');") === 40); + eval("eval('x');"); + let x = 40; + } +} + +for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); +} +})(); + + +// FunctionResolveNode +;(function() { +function foo() { + function captureX() { return x; } + x(); + let x = function() { return 20; }; +} + +function bar() { + x(); + let x = function() { return 20; }; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +// TypeofResolveNode +;(function() { +function foo() { + function captureX() { return x; } + typeof x; + let x = function() { return 20; }; +} + +function bar() { + typeof x; + let x = function() { return 20; }; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); +} +})(); + + +// ReadModifyResolveNode +;(function() { +function foo() { + function captureX() { return x; } + x++; + let x = 20; +} + +function bar() { + x--; + let x = 30; +} + +function baz() { + x *= 40; + let x = 30; +} + +function kaz() { + function captureX() { return x; } + x /= 20; + let x = 20; +} + +function haz() { + function captureX() { return x; } + --x; + let x = 20; +} + +function jaz() { + --x; + let x = 30; +} + +for (var i = 0; i < SHORT_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(bar); + shouldThrowTDZ(baz); + shouldThrowTDZ(kaz); + shouldThrowTDZ(haz); + shouldThrowTDZ(jaz); +} +})(); + + +;(function() { +function foo(x) { + let y = 50; + let result = null; + switch(x) { + case 10: + let y = 40; + assert(y === 40); + case 20: + y += 1; + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} +function bar(x) { + let y = 50; + let result = null; + switch(x) { + case 10: + let y = 40; + assert(y === 40); + case 20: + let capY = function() { return y; } + y += 1; + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} +function baz(x) { + let y = 50; + let result = null; + switch(x) { + case 10: + let y = 40; + assert(y === 40); + case 20: + let inc = function() { y += 1; } + inc(); + assert(y === 41); + result = y; + break; + default: + result = x; + break; + } + assert(y === 50); + return result; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(function() { foo(20); }); + shouldThrowTDZ(function() { bar(20); }); + shouldThrowTDZ(function() { baz(20); }); +} + +assert(foo(10) === 41); +assert(foo("hello") === "hello"); +})(); + + +;(function() { +function foo() { + let y; + [y] = [40]; + assert(y === 40); + + [x] = [1]; + let x; +} + +function boo() { + let y; + [y] = [40]; + assert(y === 40); + + [x] = [1]; + let x; + function capX() { return x; } +} + +function bar() { + let x; + ({p: x} = {p: 40}); + assert(x === 40); + + ({a, p: y} = {a: 100, p: 40}); + let y; +} + +function zar() { + let x; + ({p: x} = {p: 40}); + assert(x === 40); + + ({a, p: y} = {a: 100, p: 40}); + let y; + function capY() { return y; } +} + +function baz() { + let x; + ({p: x} = {p: 40}); + assert(x === 40); + + ({a, p: {y}} = {a: 100, p: {p: {y: 40}}}); + let y; +} + +function jaz() { + ({y} = {}); + let y; +} + +for (var i = 0; i < NUM_LOOPS; i++) { + shouldThrowTDZ(foo); + shouldThrowTDZ(boo); + shouldThrowTDZ(bar); + shouldThrowTDZ(zar); + shouldThrowTDZ(baz); + shouldThrowTDZ(jaz); +} +})(); diff --git a/implementation-contributed/javascriptcore/stress/lexical-scoping-break-continue.js b/implementation-contributed/javascriptcore/stress/lexical-scoping-break-continue.js new file mode 100644 index 0000000000..cb03127e84 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-scoping-break-continue.js @@ -0,0 +1,216 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} +noInline(assert); + +;(function() { + function test1() { + let x = 20; + function foo() { + label: { + let y = 21; + let capY = function () { return y; } + assert(x === 20); + break label; + } + assert(x === 20); + } + foo(); + } + + function test2() { + let x = 20; + function capX() { return x; } + function foo() { + label1: { + label2: { + let y = 21; + let capY = function () { return y; } + break label2; + } + assert(x === 20); + } + assert(x === 20); + + label1: { + label2: { + let y = 21; + let capY = function () { return y; } + assert(x === 20); + assert(y === 21); + break label1; + } + } + assert(x === 20); + + label1: { + let y = 21; + let capY = function () { return y; } + label2: { + let y = 21; + let capY = function () { return y; } + assert(x === 20); + assert(y === 21); + break label1; + } + } + assert(x === 20); + } + foo() + } + + function test3() { + let x = 20; + function capX() { return x; } + function foo() { + loop1: for (var i = 0; i++ < 1000; ) { + //assert(x === 20); + loop2: for (var j = 0; j++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + assert(x === 20); + assert(y === 21); + continue loop1; + //break loop1; + } + } + assert(x === 20); + } + foo() + } + + function test4() { + let x = 20; + function capX() { return x; } + function foo() { + loop1: for (var i = 0; i++ < 1000; ) { + loop2: for (var j = 0; j++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + assert(x === 20); + assert(y === 21); + break loop1; + } + } + assert(x === 20); + } + foo() + } + + function test5() { + let x = 20; + function capX() { return x; } + function foo() { + loop1: for (var i = 0; i++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + loop2: for (var j = 0; j++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + assert(x === 20); + assert(y === 21); + break loop1; + } + } + assert(x === 20); + } + foo() + } + + function test6() { + let x = 20; + function capX() { return x; } + function foo() { + loop1: for (var i = 0; i++ < 1000; ) { + assert(x === 20); + let y = 21; + let capY = function() { return y; } + loop2: for (var j = 0; j++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + assert(x === 20); + assert(y === 21); + try { + throw new Error(); + } catch(e) { + } finally { + assert(x === 20); + continue loop1; + } + } + } + assert(x === 20); + } + foo() + } + + function test7() { + let x = 20; + function capX() { return x; } + function foo() { + loop1: for (var i = 0; i++ < 1000; ) { + assert(x === 20); + let y = 21; + let capY = function() { return y; } + loop2: for (var j = 0; j++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + assert(x === 20); + assert(y === 21); + try { + throw new Error(); + } catch(e) { + continue loop1; + } finally { + let x = 40; + let capX = function() { return x; } + assert(x === 40); + } + } + } + assert(x === 20); + } + foo() + } + + function test8() { + let x = 20; + function capX() { return x; } + function foo() { + loop1: for (var i = 0; i++ < 1000; ) { + assert(x === 20); + let y = 21; + let capY = function() { return y; } + loop2: for (var j = 0; j++ < 1000; ) { + let y = 21; + let capY = function() { return y; } + assert(x === 20); + assert(y === 21); + try { + throw new Error(); + } catch(e) { + break loop1; + } finally { + let x = 40; + let capX = function() { return x; } + assert(x === 40); + } + } + } + assert(x === 20); + } + foo() + } + + for (var i = 0; i < 10; i++) { + test1(); + test2(); + test3(); + test4(); + test5(); + test6(); + test7(); + test8(); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/lexical-scoping-for-loop.js b/implementation-contributed/javascriptcore/stress/lexical-scoping-for-loop.js new file mode 100644 index 0000000000..1e61e315f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lexical-scoping-for-loop.js @@ -0,0 +1,61 @@ +'use strict'; + +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +function test1(x) { + for (let x = 20; x < 30; ++x) { } + return x; +} +function test2(x) { + for (let x of [1,2,3]) { } + return x; +} +function test3(x) { + for (let x in {}) { } + return x; +} +function test4(x) { + let i = 0; + for (const x = 20; i < 1; ++i) { } + return x; +} +function test5(x) { + for (const x of [1, 2, 3]) { } + return x; +} +function test6(x) { + for (const x in {}) { } + return x; +} + +let test7 = (x) => { + for (let x = 20; x < 30; ++x) { } + return x; +} +let test8 = (x) => { + for (let x of [1,2,3]) { } + return x; +} +let test9 = (x) => { + for (let x in {}) { } + return x; +} +let test10 = (x) => { + let i = 0; + for (const x = 20; i < 1; ++i) { } + return x; +} +let test11 = (x) => { + for (const x of [1, 2, 3]) { } + return x; +} +let test12 = (x) => { + for (const x in {}) { } + return x; +} + +for (let test of [test1, test2, test3, test4, test5, test7, test8, test9, test10, test11, test12]) + assert(test("foo") === "foo"); diff --git a/implementation-contributed/javascriptcore/stress/licm-no-pre-header-nested.js b/implementation-contributed/javascriptcore/stress/licm-no-pre-header-nested.js new file mode 100644 index 0000000000..ef22558e14 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/licm-no-pre-header-nested.js @@ -0,0 +1,23 @@ +//@ runFTLNoCJIT("--createPreHeaders=false") + +function foo(array, y) { + var x = 0; + var j = 0; + do { + x = y * 3; + var result = 0; + var i = 0; + if (!array.length) + array = [1]; + do { + result += array[i++]; + } while (i < array.length) + j++; + } while (j < 3); + return result + x; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo([1, 2, 3], 42); diff --git a/implementation-contributed/javascriptcore/stress/licm-no-pre-header.js b/implementation-contributed/javascriptcore/stress/licm-no-pre-header.js new file mode 100644 index 0000000000..2390c93239 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/licm-no-pre-header.js @@ -0,0 +1,17 @@ +//@ runFTLNoCJIT("--createPreHeaders=false") + +function foo(array) { + var result = 0; + var i = 0; + if (!array.length) + array = [1]; + do { + result += array[i++]; + } while (i < array.length) + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo([1, 2, 3]); diff --git a/implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit-nested.js b/implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit-nested.js new file mode 100644 index 0000000000..b866747cc7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit-nested.js @@ -0,0 +1,21 @@ +//@ runFTLNoCJIT("--createPreHeaders=false") + +function foo(object, predicate) { + for (var j = 0; j < 10; ++j) { + var result = 0; + var i = 0; + if ($vm.dfgTrue()) + predicate = 42; + while (predicate >= 42) { + result += object.array[i++]; + if (i >= object.array.length) + break; + } + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo({array: [1, 2, 3]}, {valueOf: function() { return 42; }}); diff --git a/implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit.js b/implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit.js new file mode 100644 index 0000000000..8a4262d759 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/licm-pre-header-cannot-exit.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--createPreHeaders=false") + +function foo(object, predicate) { + var result = 0; + var i = 0; + if ($vm.dfgTrue()) + predicate = 42; + while (predicate >= 42) { + result += object.array[i++]; + if (i >= object.array.length) + break; + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo({array: [1, 2, 3]}, {valueOf: function() { return 42; }}); diff --git a/implementation-contributed/javascriptcore/stress/lift-tdz-bypass-catch.js b/implementation-contributed/javascriptcore/stress/lift-tdz-bypass-catch.js new file mode 100644 index 0000000000..3477b23dff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lift-tdz-bypass-catch.js @@ -0,0 +1,10 @@ +//@ runNoFTL + +function foo () { +try{}catch(e){}print(e);let e; +} + +try { + foo(); +} catch (e) {} + diff --git a/implementation-contributed/javascriptcore/stress/lift-template-literal.js b/implementation-contributed/javascriptcore/stress/lift-template-literal.js new file mode 100644 index 0000000000..12f8f5ee34 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/lift-template-literal.js @@ -0,0 +1,69 @@ +function dump(callSite) +{ + return JSON.stringify({ cooked: callSite, raw: callSite.raw }); +} + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(dump`\newcommand{\fun}{\textbf{Fun!}}`, `{"cooked":["\\newcommand{\\fun}{\\textbf{Fun!}}"],"raw":["\\\\newcommand{\\\\fun}{\\\\textbf{Fun!}}"]}`); +shouldBe(dump`\newcommand{\unicode}{\textbf{Unicode!}}`, `{"cooked":[null],"raw":["\\\\newcommand{\\\\unicode}{\\\\textbf{Unicode!}}"]}`); +shouldBe(dump`\newcommand{\xerxes}{\textbf{King!}}`, `{"cooked":[null],"raw":["\\\\newcommand{\\\\xerxes}{\\\\textbf{King!}}"]}`); +shouldBe(dump`Breve over the h goes \u{h}ere`, `{"cooked":[null],"raw":["Breve over the h goes \\\\u{h}ere"]}`); + +function testTag(expected) { + return function tag(callSite) { + shouldBe(callSite.length, expected.cooked.length); + shouldBe(callSite.raw.length, expected.raw.length); + expected.cooked.forEach((value, index) => shouldBe(callSite[index], value)); + expected.raw.forEach((value, index) => shouldBe(callSite.raw[index], value)); + } +} + +testTag({ + cooked: [ undefined ], + raw: [ "\\unicode and \\u{55}" ], +})`\unicode and \u{55}`; + +testTag({ + cooked: [ undefined, "test" ], + raw: [ "\\unicode and \\u{55}", "test" ], +})`\unicode and \u{55}${42}test`; + +testTag({ + cooked: [ undefined, undefined, "Cocoa" ], + raw: [ "\\unicode and \\u{55}", "\\uhello", "Cocoa" ], +})`\unicode and \u{55}${42}\uhello${42}Cocoa`; + +testTag({ + cooked: [ "Cocoa", undefined, undefined, "Cocoa" ], + raw: [ "Cocoa", "\\unicode and \\u{55}", "\\uhello", "Cocoa" ], +})`Cocoa${42}\unicode and \u{55}${42}\uhello${42}Cocoa`; + +testTag({ + cooked: [ "Cocoa", undefined, undefined, "Cocoa" ], + raw: [ "Cocoa", "\\unicode and \\u{55}", "\\uhello", "Cocoa" ], +})`Cocoa${42}\unicode and \u{55}${42}\uhello${42}Cocoa`; + +testTag({ + cooked: [ undefined, undefined, undefined ], + raw: [ "\\00", "\\01", "\\1" ] +})`\00${42}\01${42}\1`; + +testTag({ + cooked: [ undefined, undefined ], + raw: [ "\\xo", "\\x0o" ] +})`\xo${42}\x0o`; + +testTag({ + cooked: [ undefined, undefined, undefined, undefined ], + raw: [ "\\uo", "\\u0o", "\\u00o", "\\u000o" ] +})`\uo${42}\u0o${42}\u00o${42}\u000o`; + +testTag({ + cooked: [ undefined, undefined, undefined ], + raw: [ "\\u{o", "\\u{0o", "\\u{110000o" ] +})`\u{o${42}\u{0o${42}\u{110000o`; diff --git a/implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability-eager.js b/implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability-eager.js new file mode 100644 index 0000000000..e6078b5800 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability-eager.js @@ -0,0 +1,16 @@ +// Note that this only fails in eager compilation. + +function each(ary, func) { + if (ary) + for (var i = 0; i < ary.length && (!ary[i] ||!func(ary[i], i, ary)); i += 1); +} + +var blah = function () { + var func = function() { + return (function () { }).apply(Object, arguments); + }; + each([ {}, {} ], func); +}; + +for (var i = 0; i < 1000; i++) + blah(); diff --git a/implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability.js b/implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability.js new file mode 100644 index 0000000000..bd2538b803 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/liveness-pruning-needed-for-osr-availability.js @@ -0,0 +1,15 @@ +function each(ary, func) { + for (var i = 0; i < ary.length && (!ary[i] ||!func(ary[i], i, ary)); i += 1); +} + +function foo() { + each( + [ {}, {} ], + function () { + return (function (x) { })(arguments); + }); +}; +noInline(foo); + +for (var i = 0; i < 100000; i++) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js b/implementation-contributed/javascriptcore/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js new file mode 100644 index 0000000000..c2884827c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-cache-replace-then-cache-get-and-fold-then-invalidate.js @@ -0,0 +1,26 @@ +var o = {f:42}; + +function foo(v) { + o.f = v; +} + +function bar() { + return o.f; +} + +noInline(foo); +noInline(bar); + +foo(42); +foo(42); + +for (var i = 0; i < 100000; ++i) { + var result = bar(); + if (result != 42) + throw "Error: bad result: " + result; +} + +foo(53); +var result = bar(); +if (result != 53) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/llint-get-by-id-cache-prototype-load-from-dictionary.js b/implementation-contributed/javascriptcore/stress/llint-get-by-id-cache-prototype-load-from-dictionary.js new file mode 100644 index 0000000000..44a27e1a23 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-get-by-id-cache-prototype-load-from-dictionary.js @@ -0,0 +1,19 @@ + +expected = Object.prototype.toString; +foo = {foo: 1, bar: 20}; +delete foo.bar; + + +function test() { + let toString = foo.toString; + if (toString !== expected) + throw new Error(); +} + +for (i = 0; i < 10; i++) + test(); + +foo.toString = 100; +expected = 100; + +test(); diff --git a/implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-change-prototype.js b/implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-change-prototype.js new file mode 100644 index 0000000000..4f70b03f55 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-change-prototype.js @@ -0,0 +1,19 @@ +let p = Object.create({ foo: 1 }); +let o = Object.create(p); + +let other = { foo: 10 }; + +function foo() { + return o.foo +} + +for (let i = 0; i < 10; i++) + foo(); + +p.__proto__ = null; +gc(); + +Object.defineProperty(other, "foo", { get() { } }); + +if (foo() !== undefined) + throw new Error("bad get by id access"); diff --git a/implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-intercept-value.js b/implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-intercept-value.js new file mode 100644 index 0000000000..0b90bea4d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-proto-get-by-id-cache-intercept-value.js @@ -0,0 +1,17 @@ +let p = Object.create({ foo: 1 }); +let o = Object.create(p); + +let other = { foo: 10 }; + +function foo() { + return o.foo +} + +for (let i = 0; i < 10; i++) + foo(); + +p.foo = null; +gc(); + +if (foo() !== null) + throw new Error("bad get by id access"); diff --git a/implementation-contributed/javascriptcore/stress/llint-put-to-scope-global-cache-watchpoint-invalidate.js b/implementation-contributed/javascriptcore/stress/llint-put-to-scope-global-cache-watchpoint-invalidate.js new file mode 100644 index 0000000000..35fe10a3f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-put-to-scope-global-cache-watchpoint-invalidate.js @@ -0,0 +1,22 @@ +function foo(v) { + global = v; +} + +function bar() { + return global; +} + +noInline(foo); +noInline(bar); + +var value = 42; +foo(value); +var n = 100000; +var m = 100; +for (var i = 0; i < n; ++i) { + if (i == n - m) + foo(value = 53); + var result = bar(); + if (result != value) + throw "Error: on iteration " + i + " got: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/llint-stack-overflow-debugging-opcodes.js b/implementation-contributed/javascriptcore/stress/llint-stack-overflow-debugging-opcodes.js new file mode 100644 index 0000000000..bd9cfe227f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-stack-overflow-debugging-opcodes.js @@ -0,0 +1,8 @@ +//@ runNoCJIT("--forceDebuggerBytecodeGeneration=true", "--useBaselineJIT=0", "--alwaysUseShadowChicken=true") + +function foo() { + foo() +} +try { + foo(); +} catch(e) { } diff --git a/implementation-contributed/javascriptcore/stress/llint-stack-overflow-location.js b/implementation-contributed/javascriptcore/stress/llint-stack-overflow-location.js new file mode 100644 index 0000000000..14dcff656e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/llint-stack-overflow-location.js @@ -0,0 +1,35 @@ +//@ runNoJIT + +function stackTraceDescription(stackFrame) { + let indexOfAt = stackFrame.indexOf('@') + let indexOfLastSlash = stackFrame.lastIndexOf('/'); + if (indexOfLastSlash == -1) + indexOfLastSlash = indexOfAt + let functionName = stackFrame.substring(0, indexOfAt); + let fileName = stackFrame.substring(indexOfLastSlash + 1); + return functionName + " at " + fileName; +} + +function foo(j) { + for (let i = 0; i < 20; i++) { + i--; + i++; + } + foo(j + 1); +} + +let error = null; +try { + foo(10); +} catch(e) { + error = e; +} + +if (!error) + throw new Error("No exception!"); + +let frame = error.stack.split("\n")[0]; +let description = stackTraceDescription(frame); +if (description.indexOf(".js:18") < 0) + throw new Error("Bad location: '" + description + "'"); + diff --git a/implementation-contributed/javascriptcore/stress/load-hole-from-scope-into-live-var.js b/implementation-contributed/javascriptcore/stress/load-hole-from-scope-into-live-var.js new file mode 100644 index 0000000000..2c23e03476 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-hole-from-scope-into-live-var.js @@ -0,0 +1,14 @@ +//@ runDefault +var result = eval(` +try { + switch (0) { + case 1: + let x = eval(); + default: + x; + } +} catch (e) { +} +`); +if (result !== void 0) + throw "Bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check-barely.js b/implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check-barely.js new file mode 100644 index 0000000000..83c1328fc1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check-barely.js @@ -0,0 +1,35 @@ +function foo() { + var result = 0; + for (var i = 0; i < arguments.length; ++i) + result += arguments[i]; + return result; +} + +function bar() { + return foo.apply(this, arguments); +} + +function baz(p) { + if (p) + return bar(1, 42); + return 0; +} + +noInline(baz); + +// Execute baz() once with p set, so that the call has a valid prediction. +baz(true); + +// Warm up profiling in bar and foo. Convince this profiling that bar()'s varargs call will tend to +// pass a small number of arguments; +for (var i = 0; i < 1000; ++i) + bar(1); + +// Now compile baz(), but don't run the bad code yet. +for (var i = 0; i < 10000; ++i) + baz(false); + +// Finally, trigger the bug. +var result = baz(true); +if (result != 43) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check.js b/implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check.js new file mode 100644 index 0000000000..0fd39075c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-elimination-bounds-check.js @@ -0,0 +1,35 @@ +function foo() { + var result = 0; + for (var i = 0; i < arguments.length; ++i) + result += arguments[i]; + return result; +} + +function bar() { + return foo.apply(this, arguments); +} + +function baz(p) { + if (p) + return bar(1, 2, 3, 4); + return 0; +} + +noInline(baz); + +// Execute baz() once with p set, so that the call has a valid prediction. +baz(true); + +// Warm up profiling in bar and foo. Convince this profiling that bar()'s varargs call will tend to +// pass a small number of arguments; +for (var i = 0; i < 1000; ++i) + bar(1); + +// Now compile baz(), but don't run the bad code yet. +for (var i = 0; i < 10000; ++i) + baz(false); + +// Finally, trigger the bug. +var result = baz(true); +if (result != 10) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js b/implementation-contributed/javascriptcore/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js new file mode 100644 index 0000000000..48deb0dba1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-on-new-array-with-spread-convert-to-static-loads.js @@ -0,0 +1,28 @@ +function assert(b) { + if (!b) + throw new Error("Bad!"); +} +noInline(assert); + +function baz(...args) { + return args; +} +function bar(a, ...args) { + return baz(...args, 42, ...args); +} +function foo(a, b, c, d) { + return bar(a, b, c, d); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 7); + assert(r[0] === i+1); + assert(r[1] === i+2); + assert(r[2] === i+3); + assert(r[3] === 42); + assert(r[4] === i+1); + assert(r[5] === i+2); + assert(r[6] === i+3); +} diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit-strict.js b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit-strict.js new file mode 100644 index 0000000000..3618f8cbb3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit-strict.js @@ -0,0 +1,43 @@ +"use strict"; + +function foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + return {a:a + 1, b:b, c:array}; +} + +function bar(array) { + return foo.apply(this, array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0] + 1, b:array[1], c:array}; + var actual = bar(array); + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < 1 + (i % 5); ++j) + array.push(j); + test(array); +} + +var array = [2147483647]; +test(array); diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit.js b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit.js new file mode 100644 index 0000000000..c378171e1d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-and-exit.js @@ -0,0 +1,41 @@ +function foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + return {a:a + 1, b:b, c:array}; +} + +function bar(array) { + return foo.apply(this, array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0] + 1, b:array[1], c:array}; + var actual = bar(array); + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < 1 + (i % 5); ++j) + array.push(j); + test(array); +} + +var array = [2147483647]; +test(array); diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-exit-in-foo.js b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-exit-in-foo.js new file mode 100644 index 0000000000..ecb227cc79 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-exit-in-foo.js @@ -0,0 +1,46 @@ +function foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i] + 1); + return {a:a, b:b, c:array}; +} + +function bar(array) { + return foo.apply(this, array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0], b:array[1], c:array.map(function(value) { return value + 1 })}; + var actual = bar(array); + checkEqual(actual, expected); +} + +// This is pretty dumb. We need to first make sure that the VM is prepared for double arrays being +// created. +var array = []; +array.push(42); +array.push(42.5); + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} + +test([1.5, 2.5, 3.5]); diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-inlined.js b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-inlined.js new file mode 100644 index 0000000000..56d05269e4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call-inlined.js @@ -0,0 +1,43 @@ +function foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + return {a:a, b:b, c:array}; +} + +function bar(array) { + return foo.apply(this, array); +} + +function baz(array) { + return bar(array); +} + +noInline(baz); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0], b:array[1], c:array}; + var actual = baz(array); + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} + diff --git a/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call.js b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call.js new file mode 100644 index 0000000000..45e3ea1613 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/load-varargs-then-inlined-call.js @@ -0,0 +1,39 @@ +function foo(a, b) { + var array = []; + for (var i = 0; i < arguments.length; ++i) + array.push(arguments[i]); + return {a:a, b:b, c:array}; +} + +function bar(array) { + return foo.apply(this, array); +} + +noInline(bar); + +function checkEqual(a, b) { + if (a.a != b.a) + throw "Error: bad value of a: " + a.a + " versus " + b.a; + if (a.b != b.b) + throw "Error: bad value of b: " + a.b + " versus " + b.b; + if (a.c.length != b.c.length) + throw "Error: bad value of c, length mismatch: " + a.c + " versus " + b.c; + for (var i = a.c.length; i--;) { + if (a.c[i] != b.c[i]) + throw "Error: bad value of c, mismatch at i = " + i + ": " + a.c + " versus " + b.c; + } +} + +function test(array) { + var expected = {a:array[0], b:array[1], c:array}; + var actual = bar(array); + checkEqual(actual, expected); +} + +for (var i = 0; i < 10000; ++i) { + var array = []; + for (var j = 0; j < i % 6; ++j) + array.push(j); + test(array); +} + diff --git a/implementation-contributed/javascriptcore/stress/logical-not-masquerades-as-undefined.js b/implementation-contributed/javascriptcore/stress/logical-not-masquerades-as-undefined.js new file mode 100644 index 0000000000..3db7d1a94b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/logical-not-masquerades-as-undefined.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(value) +{ + return !value; +} +noInline(test); + +var data = [ + [ {}, true ], + [ true, true ], + [ false, false ], + [ -0, false ], + [ 1, true ], + [ 4.2, true ], + [ NaN, false ], + [ Infinity, true ], + [ [], true ], + [ new Date(), true ], + [ "", false ], + [ "" + "" + "", false ], + [ "Cocoa", true ], + [ undefined, false ], + [ null, false ], + [ Symbol(), true ], + [ makeMasquerader() , false] +]; + +for (var i = 0; i < 1e4; ++i) { + for (let [ value, result ] of data) + shouldBe(!test(value), result); +} diff --git a/implementation-contributed/javascriptcore/stress/logical-not-masquerades.js b/implementation-contributed/javascriptcore/stress/logical-not-masquerades.js new file mode 100644 index 0000000000..0fd59bad89 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/logical-not-masquerades.js @@ -0,0 +1,33 @@ +function foo(value) { + return !!value; +} + +noInline(foo); + +var tests = [ + [0, false], + [1, true], + [0/0, false], + [0/-1, false], + [0.0, false], + ["", false], + ["f", true], + ["hello", true], + [{}, true], + [[], true], + [null, false], + [void 0, false], + [false, false], + [true, true], + [makeMasquerader(), false] +]; + +for (var i = 0; i < 10000; ++i) { + for (var j = 0; j < tests.length; ++j) { + var input = tests[j][0]; + var expected = tests[j][1]; + var result = foo(input); + if (result !== expected) + throw "Error: bad result for " + input + ": " + result; + } +} diff --git a/implementation-contributed/javascriptcore/stress/logical-not.js b/implementation-contributed/javascriptcore/stress/logical-not.js new file mode 100644 index 0000000000..aa90dcba5c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/logical-not.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(value) +{ + return !value; +} +noInline(test); + +var data = [ + [ {}, true ], + [ true, true ], + [ false, false ], + [ -0, false ], + [ 1, true ], + [ 4.2, true ], + [ NaN, false ], + [ Infinity, true ], + [ [], true ], + [ new Date(), true ], + [ "", false ], + [ "" + "" + "", false ], + [ "Cocoa", true ], + [ undefined, false ], + [ null, false ], + [ Symbol(), true ], +]; + +for (var i = 0; i < 1e4; ++i) { + for (let [ value, result ] of data) + shouldBe(!test(value), result); +} diff --git a/implementation-contributed/javascriptcore/stress/make-dictionary-repatch.js b/implementation-contributed/javascriptcore/stress/make-dictionary-repatch.js new file mode 100644 index 0000000000..992283708e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-dictionary-repatch.js @@ -0,0 +1,36 @@ +//@ if $jitTests then runNoCJIT("--useDFGJIT=false", "--useLLInt=false") else skip end + +function foo(o) { + return o.f; +} + +var p1 = {}; +p1.f = 42; + +var crazy = {}; +crazy.f = 1; +crazy.g = 2; + +var p2 = Object.create(p1); + +var crazy = Object.create(p1); +crazy.f = 1; +crazy.g = 2; + +function make() { + return Object.create(p2); +} + +for (var i = 0; i < 100; ++i) + foo(make()); + +for (var i = 0; i < 10000; ++i) + p2["i" + i] = i; +p2.f = 43; + +for (var i = 0; i < 100; ++i) + foo({f:24}); + +var result = foo(make()); +if (result != 43) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/make-large-string-jit-strcat.js b/implementation-contributed/javascriptcore/stress/make-large-string-jit-strcat.js new file mode 100644 index 0000000000..979d044a97 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-large-string-jit-strcat.js @@ -0,0 +1,25 @@ +//@ skip if $memoryLimited +// Like make-large-string-jit.js, but tests MakeRope with three arguments and op_strcat +// in the DFG and FTL JITs. + +var s = "s"; + +function foo(a, b) { + return "t" + a + b; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) + foo("a", "b"); + +try { + for (var i = 0; i < 31; ++i) + s = foo(s, s); + print("Should not have gotten here."); + print("String length: " + s.length); + throw "Should not have gotten here."; +} catch (e) { + if (e.message != "Out of memory") + throw "Wrong error: " + e; +} diff --git a/implementation-contributed/javascriptcore/stress/make-large-string-jit.js b/implementation-contributed/javascriptcore/stress/make-large-string-jit.js new file mode 100644 index 0000000000..dc8ed87727 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-large-string-jit.js @@ -0,0 +1,24 @@ +//@ skip if $memoryLimited +// Like make-large-string.js, but tests MakeRope with two arguments in the DFG and FTL JITs. + +var s = "s"; + +function foo(a, b) { + return a + b; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) + foo("a", "b"); + +try { + for (var i = 0; i < 31; ++i) + s = foo(s, s); + print("Should not have gotten here."); + print("String length: " + s.length); + throw "Should not have gotten here."; +} catch (e) { + if (e.message != "Out of memory") + throw "Wrong error: " + e; +} diff --git a/implementation-contributed/javascriptcore/stress/make-large-string-strcat.js b/implementation-contributed/javascriptcore/stress/make-large-string-strcat.js new file mode 100644 index 0000000000..c50ee9da1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-large-string-strcat.js @@ -0,0 +1,14 @@ +//@ skip if $memoryLimited + +var s = "s"; + +try { + for (var i = 0; i < 31; ++i) + s = "t" + s + s; + print("Should not have gotten here."); + print("String length: " + s.length); + throw "Should not have gotten here."; +} catch (e) { + if (e.message != "Out of memory") + throw "Wrong error: " + e; +} diff --git a/implementation-contributed/javascriptcore/stress/make-large-string.js b/implementation-contributed/javascriptcore/stress/make-large-string.js new file mode 100644 index 0000000000..3ac31dca83 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-large-string.js @@ -0,0 +1,14 @@ +//@ skip if $memoryLimited + +var s = "s"; + +try { + for (var i = 0; i < 31; ++i) + s = s + s; + print("Should not have gotten here."); + print("String length: " + s.length); + throw "Should not have gotten here."; +} catch (e) { + if (e.message != "Out of memory") + throw "Wrong error: " + e; +} diff --git a/implementation-contributed/javascriptcore/stress/make-rope-2.js b/implementation-contributed/javascriptcore/stress/make-rope-2.js new file mode 100644 index 0000000000..f2a23ab558 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-rope-2.js @@ -0,0 +1,16 @@ +function foo(x) { + return "hello" + x; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(" world"); + if (typeof result != "string") { + describe(result); + throw "Error: bad result type: " + result; + } + if (result != "hello world") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/make-rope-3.js b/implementation-contributed/javascriptcore/stress/make-rope-3.js new file mode 100644 index 0000000000..3a852cc371 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/make-rope-3.js @@ -0,0 +1,16 @@ +function foo(x) { + return "hello" + x + "!!"; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(" world"); + if (typeof result != "string") { + describe(result); + throw "Error: bad result type: " + result; + } + if (result != "hello world!!") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/many-sunken-locals.js b/implementation-contributed/javascriptcore/stress/many-sunken-locals.js new file mode 100644 index 0000000000..b50aee2699 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/many-sunken-locals.js @@ -0,0 +1,27 @@ +function foo(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) { + if (a) + return 42; + else + return 63; +} + +function bar(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) { + return foo(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z); +} + +function baz(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) { + return bar(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z); +} + +function fuzz(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) { + return baz(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z); +} + +function buzz(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z) { + return fuzz(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z); +} + +noInline(buzz); + +for (var i = 0; i < 10000; ++i) + buzz(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26); diff --git a/implementation-contributed/javascriptcore/stress/map-clone-instance-iterator-change.js b/implementation-contributed/javascriptcore/stress/map-clone-instance-iterator-change.js new file mode 100644 index 0000000000..637916f638 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-clone-instance-iterator-change.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let map = new Map(); +for (let i = 0; i < 5; ++i) + map.set(i, i); + +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, map.size); +} + +map[Symbol.iterator] = function () { return [][Symbol.iterator](); }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/map-clone-iterator-change.js b/implementation-contributed/javascriptcore/stress/map-clone-iterator-change.js new file mode 100644 index 0000000000..fe27aee9f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-clone-iterator-change.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let map = new Map(); +for (let i = 0; i < 5; ++i) + map.set(i, i); + +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, map.size); +} + +Map.prototype[Symbol.iterator] = function () { return [][Symbol.iterator](); }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/map-clone-next-change.js b/implementation-contributed/javascriptcore/stress/map-clone-next-change.js new file mode 100644 index 0000000000..37234effb8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-clone-next-change.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let map = new Map(); +for (let i = 0; i < 5; ++i) + map.set(i, i); + +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, map.size); +} + +map[Symbol.iterator]().__proto__.next = function () { return {done:true}; }; + +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/map-clone.js b/implementation-contributed/javascriptcore/stress/map-clone.js new file mode 100644 index 0000000000..4d878ac950 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-clone.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let map = new Map(); +for (let i = 0; i < 5; ++i) + map.set(i, i); + +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, map.size); +} + +Map.prototype.set = function empty(value) { }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/map-constructor-adder.js b/implementation-contributed/javascriptcore/stress/map-constructor-adder.js new file mode 100644 index 0000000000..e788264ffe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-constructor-adder.js @@ -0,0 +1,46 @@ +// Map constructor with adder change. + +var originalAdder = Map.prototype.set; +var counter = 0; + +Map.prototype.set = function (key, value) { + counter++; + return originalAdder.call(this, key, value); +}; + +var values = [ + [ 0, 0 ], + [ 1, 1 ], + [ 2, 2 ], + [ 3, 3 ], + [ 4, 4 ], + [ 5, 5 ], + [ 4, 4 ], + [ 3, 3 ], + [ 2, 2 ], + [ 1, 1 ], + [ 0, 0 ], +]; +var map = new Map(values); +if (map.size !== 6) + throw "Error: bad map size " + map.size; +if (counter !== values.length) + throw "Error: bad counter " + counter; + +Map.prototype.set = function () { + throw new Error("adder called"); +}; + +var map = new Map(); +var map = new Map([]); +var error = null; +try { + var map = new Map([ [0, 0] ]); +} catch (e) { + error = e; +} +if (!error) + throw "Error: error not thrown"; +if (String(error) !== "Error: adder called") + throw "Error: bad error " + String(error); + diff --git a/implementation-contributed/javascriptcore/stress/map-constructor.js b/implementation-contributed/javascriptcore/stress/map-constructor.js new file mode 100644 index 0000000000..457e221799 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-constructor.js @@ -0,0 +1,133 @@ +// Map constructor behaviors. + +if (typeof Map !== 'function') + throw "Error: bad value" + typeof Map; + +function testCallTypeError(item) { + var error = null; + try { + var map = Map(item); + } catch (e) { + error = e; + } + if (!error) + throw "Error: error not thrown"; + if (String(error) !== "TypeError: calling Map constructor without new is invalid") + throw "Error: bad error " + String(error); +} + +var pass = [ + [ null, 0 ], + [ undefined, 0 ], + [ [], 0 ], + [ new Set(), 0], + [ new Map(), 0], + [ "", 0], + + [ + [ + [0, 1], + [1, 2], + [1, 3], + ], + 2 + ], + + [ + [ + [1, 1], + [1, 2], + [1, 3], + ], + 1 + ], + + [ + new Map([ + { 0: 'C', 1: 'O' }, + { 0: 'C', 1: 'K' }, + { 0: 'V', 1: 'K' }, + ]), + 2 + ], + + [ + new Map([ + [0, 1], + [1, 2], + [1, 3], + ]), + 2 + ], + + [ + new Map([ + [1, 1], + [1, 2], + [1, 3], + ]), + 1 + ], + + [ + new Map([ + { 0: 'C', 1: 'O' }, + { 0: 'C', 1: 'K' }, + { 0: 'V', 1: 'K' }, + ]), + 2 + ], +]; + +for (var pair of pass) { + var map = new Map(pair[0]); + if (map.size !== pair[1]) + throw "Error: bad map size " + map.size; + testCallTypeError(pair[0]); +} + +function testTypeError(item) { + var error = null; + try { + var map = new Map(item); + } catch (e) { + error = e; + } + if (!error) + throw "Error: error not thrown"; + if (String(error) !== "TypeError: Type error") + throw "Error: bad error " + String(error); +} + +var nonIterable = [ + 42, + Symbol("Cappuccino"), + true, + false, + {}, + new Date(), + new Error(), + Object(Symbol("Matcha")), + (function () { }), +]; + +for (var item of nonIterable) { + testTypeError(item); + testCallTypeError(item); +} + +var notContainNextItem = [ + "Cocoa", + [0, 1, 2, 3, 4], + [0, 0, 0, 1, 0], + ["A", "B", "A"], + new String("cocoa"), + new String("Cocoa"), + new Set([0,1,2,3,4]), + new Set([1,1,1,1]), +]; + +for (var item of notContainNextItem) { + testTypeError(item); + testCallTypeError(item); +} diff --git a/implementation-contributed/javascriptcore/stress/map-cse-correctness.js b/implementation-contributed/javascriptcore/stress/map-cse-correctness.js new file mode 100644 index 0000000000..02ceebb78e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-cse-correctness.js @@ -0,0 +1,66 @@ +function assert(b) { + if (!b) + throw new Error("Bad result!"); +} +noInline(assert); + +function testHas(map, key, f) { + let first = map.has(key); + f(); + let second = map.has(key); + return {first, second}; +} +noInline(testHas); + +function testGet(map, key, f) { + let first = map.get(key); + f(); + let second = map.get(key); + return {first, second}; +} +noInline(testGet); + +function foo() { + let map = new Map; + for (let i = 0; i < 100000; i++) { + let key = i; + map.set(key, key); + let f = () => map.delete(key); + noInline(f); + let {first, second} = testHas(map, key, f); + assert(first); + assert(!second); + } + for (let i = 0; i < 100000; i++) { + let key = i; + map.set(key, key); + let f = () => {}; + noInline(f); + let {first, second} = testHas(map, key, f); + assert(first); + assert(second); + } + + + for (let i = 0; i < 100000; i++) { + let key = i; + let value = {}; + map.set(key, value); + let f = () => map.delete(key); + noInline(f); + let {first, second} = testGet(map, key, f); + assert(first === value); + assert(second === undefined); + } + for (let i = 0; i < 100000; i++) { + let key = i; + let value = {}; + map.set(key, value); + let f = () => {}; + noInline(f); + let {first, second} = testGet(map, key, f); + assert(first === value); + assert(second === value); + } +} +foo(); diff --git a/implementation-contributed/javascriptcore/stress/map-delete.js b/implementation-contributed/javascriptcore/stress/map-delete.js new file mode 100644 index 0000000000..42a6af6546 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-delete.js @@ -0,0 +1,19 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} + +let set = new Set; +for (let i = 0; i < 50000; i++) { + assert(set.size === i); + set.add(i); + assert(set.has(i)); +} + +for (let i = 0; i < 50000; i++) { + assert(set.size === 50000 - i); + set.delete(i); + assert(!set.has(i)); +} + +assert(!set.size); diff --git a/implementation-contributed/javascriptcore/stress/map-inherit-set.js b/implementation-contributed/javascriptcore/stress/map-inherit-set.js new file mode 100644 index 0000000000..f8cc82cdf7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-inherit-set.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let map = new Map(); +for (let i = 0; i < 5; ++i) + map.set(i, i); + +for (let i = 0; i < 1e2; ++i) { + let cloned = new Map(map); + shouldBe(cloned.size, map.size); +} + +class DerivedMap extends Map { + constructor(map) + { + super(map); + } + + set(key, value) + { + // ignore. + } +} + +for (let i = 0; i < 1e2; ++i) { + let cloned = new DerivedMap(map); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/map-iteration.js b/implementation-contributed/javascriptcore/stress/map-iteration.js new file mode 100644 index 0000000000..c5130e3f72 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-iteration.js @@ -0,0 +1,395 @@ +function assert(b) { + if (!b) + throw new Error("Bad result!"); +} +noInline(assert); + +function test1() { + let map = new Map; + map.set(20, 30); + let iter = map[Symbol.iterator](); + let {value, done} = iter.next(); + assert(value[0] === 20); + assert(value[1] === 30); + assert(!done); + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test1(); + +function test2() { + let map = new Map; + map.set(20, 30); + let iter = map[Symbol.iterator](); + let {value, done} = iter.next(); + assert(value[0] === 20); + assert(value[1] === 30); + assert(!done); + + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); + + map.set(40, 50); + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test2(); + +function test3() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map[Symbol.iterator](); + let {value, done} = iter.next(); + assert(value[0] === 20); + assert(value[1] === 30); + assert(!done); + + ({value, done} = iter.next()); + assert(!done); + assert(value[0] === 50); + assert(value[1] === 60); + + map.set("foo", "bar"); + ({value, done} = iter.next()); + assert(!done); + assert(value[0] === "foo"); + assert(value[1] === "bar"); + + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test3(); + +function test4() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map[Symbol.iterator](); + let {value, done} = iter.next(); + assert(value[0] === 20); + assert(value[1] === 30); + assert(!done); + + map.clear(); + + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test4(); + +function test5() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map[Symbol.iterator](); + let {value, done} = iter.next(); + assert(value[0] === 20); + assert(value[1] === 30); + assert(!done); + + map.clear(); + map.set(50, 60); + + ({value, done} = iter.next()); + assert(!done); + assert(value[0] === 50); + assert(value[1] === 60); + + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test5(); + +function test6() { + let map = new Map; + map.set(20, 30); + let i = 0; + for (let [key, value] of map) { + map.delete(key); + map.set(key, value); + i++; + if (i === 1000) + break; + } + assert(i === 1000); +} +test6(); + +function test7() { + let map = new Map; + map.set(20, 30); + let i = 0; + for (let [key, value] of map) { + map.clear(); + map.set(key, value); + i++; + if (i === 1000) + break; + } + assert(i === 1000); +} +test7(); + +function test8() { + let map = new Map; + map.set(20, 30); + for (let i = 0; i < 500; i++) + map.set(i, i); + let i = 0; + for (let [key, value] of map) { + assert(key === value); + i++; + if (key === 250) + break; + } + assert(i === 251); +} +test8(); + +function test9() { + assert(1/(-0) === -Infinity); + + let map = new Map; + map.set(-0, 50); // We should normalize -0 to +0 in the key. + for (let [key, value] of map) { + assert(1/key === Infinity); + } + assert(map.get(0.0) === 50); + assert(map.get(0) === 50); + assert(map.get(-0) === 50); + assert(map.get(+0) === 50); +} +for (let i = 0; i < 100; i++) + test9(); + +function test10() { + let map = new Map; + map.set("negZero", -0); // We should *not* normalize -0 to +0 in the value. + for (let [key, value] of map) { + assert(1/value === -Infinity); + } +} +for (let i = 0; i < 100; i++) + test10(); + +function test11() { + let map = new Map; + map.set(20, 30); + let iter = map.keys(); + let {value, done} = iter.next(); + assert(!done); + assert(value === 20); + + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test11(); + +function test12() { + let map = new Map; + map.set(20, 30); + let iter = map.values(); + let {value, done} = iter.next(); + assert(!done); + assert(value === 30); + + ({value, done} = iter.next()); + assert(done); + assert(value === undefined); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test12(); + +function test13() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map.keys(); + let {value, done} = iter.next(); + assert(!done); + assert(value === 20); + + map.clear(); + map.set("foo", "bar"); + + ({value, done} = iter.next()); + assert(!done); + assert(value === "foo"); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test13(); + +function test14() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map.values(); + let {value, done} = iter.next(); + assert(!done); + assert(value === 30); + + map.clear(); + map.set("foo", "bar"); + + ;({value, done} = iter.next()) + assert(!done); + assert(value === "bar"); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test14(); + +function test15() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map.keys(); + + let {value, done} = iter.next(); + assert(!done); + assert(value === 20); + + ;({value, done} = iter.next()) + assert(!done); + assert(value === 50); + + map.clear(); + + map.set("foo", "bar"); + + ({value, done} = iter.next()) + assert(!done); + assert(value === "foo"); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test15(); + +function test16() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map.values(); + + let {value, done} = iter.next(); + assert(!done); + assert(value === 30); + + ;({value, done} = iter.next()) + assert(!done); + assert(value === 60); + + map.clear(); + + map.set("foo", "bar"); + + ({value, done} = iter.next()) + assert(!done); + assert(value === "bar"); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test16(); + +function test17() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map.keys(); + + let {value, done} = iter.next(); + assert(!done); + assert(value === 20); + + ;({value, done} = iter.next()) + assert(!done); + assert(value === 50); + + map.clear(); + + map.set("foo", "bar"); + + ({value, done} = iter.next()) + assert(!done); + assert(value === "foo"); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); + + map.set("hello", "world"); + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test17(); + +function test18() { + let map = new Map; + map.set(20, 30); + map.set(50, 60); + let iter = map.values(); + + let {value, done} = iter.next(); + assert(!done); + assert(value === 30); + + ;({value, done} = iter.next()) + assert(!done); + assert(value === 60); + + map.clear(); + + map.set("foo", "bar"); + + ({value, done} = iter.next()) + assert(!done); + assert(value === "bar"); + + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); + + map.set("hello", "world"); + ({value, done} = iter.next()) + assert(done); + assert(value === undefined); +} +for (let i = 0; i < 100; i++) + test18(); diff --git a/implementation-contributed/javascriptcore/stress/map-iterator-result-should-have-expected-shape.js b/implementation-contributed/javascriptcore/stress/map-iterator-result-should-have-expected-shape.js new file mode 100644 index 0000000000..b34a2a272c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-iterator-result-should-have-expected-shape.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let map = new Map(); + map.set(42, 42); + let iterator = map[Symbol.iterator](); + { + let result = iterator.next(); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`); + shouldBe(result.done, false); + shouldBe(JSON.stringify(result.value), `[42,42]`); + } + { + let result = iterator.next(); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`); + shouldBe(result.done, true); + shouldBe(result.value, undefined); + } +} + +{ + let map = new Map(); + let iterator = map[Symbol.iterator](); + { + let result = iterator.next(); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`); + shouldBe(result.done, true); + shouldBe(result.value, undefined); + } +} diff --git a/implementation-contributed/javascriptcore/stress/map-iterators-next.js b/implementation-contributed/javascriptcore/stress/map-iterators-next.js new file mode 100644 index 0000000000..f893b73587 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-iterators-next.js @@ -0,0 +1,111 @@ +// This test checks the behavior of the iterator.next methods on Map objects + +var testArray = [1,2,3,4,5,6] +var testMap = new Map(); +for (var [key, value] of testArray.entries()) { + testMap.set(key, value); +} +var keys = testMap.keys(); +var i = 0; +while (true) { + var {done, value: key} = keys.next(); + if (done) + break; + if (key >= testArray.length) + throw "Error: bad value: " + key; + i++; +} + +if (testMap.size !== i) + throw "Error: bad value: " + i; + +var value = keys.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var values = testMap.values(); +var i = 0; +while (true) { + var {done, value} = values.next(); + if (done) + break; + i++; + if (testArray.indexOf(value) === -1) + throw "Error: bad value: " + value; +} + +if (testMap.size !== i) + throw "Error: bad value: " + i; + +var value = values.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var entries = testMap.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (value !== testMap.get(key)) + throw "Error: bad value: " + value + " " + testMap.get(key); + if (key >= testArray.length) + throw "Error: bad value: " + key; + i++; + if (testArray.indexOf(value) === -1) + throw "Error: bad value: " + value + " " + i; +} while (!done); + +if (testMap.size !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var entries = testMap.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (value !== testMap.get(key)) + throw "Error: bad value: " + value + " " + testMap.get(key); + i++; + if (i % 4 === 0) + testMap.set(100000 + i, i); +} while (!done); + +if (testMap.size !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +function otherKey(key) { + return (key + 1) % testArray.length; +} + +var entries = testMap.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (value !== testMap.get(key)) + throw "Error: bad value: " + value + " " + testMap.get(key); + i++; + if (i % 4 === 0) + testMap.delete(otherKey(key)); +} while (!done); + +if (testMap.size !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; diff --git a/implementation-contributed/javascriptcore/stress/map-rehash-2.js b/implementation-contributed/javascriptcore/stress/map-rehash-2.js new file mode 100644 index 0000000000..a2172ff7a5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-rehash-2.js @@ -0,0 +1,13 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} + +let set = new Set; +for (let i = 0; i < 64 + ((128 - 64)/2); i++) { + set.add(i); +} + +for (let i = 0; i < 64 + ((128 - 64)/2); i++) { + set.delete(i); +} diff --git a/implementation-contributed/javascriptcore/stress/map-rehash.js b/implementation-contributed/javascriptcore/stress/map-rehash.js new file mode 100644 index 0000000000..01a2de15ed --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-rehash.js @@ -0,0 +1,26 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} + +let set = new Set; +let items = []; +for (let i = 0; i < 3000; i++) { + items.push(i); + set.add(i); +} + +let counter = 1000000; +while (items.length) { + if (Math.random() < 0.85) { + let item = items.pop(); + let removed = set.delete(item); + assert(removed); + assert(items.length === set.size); + } else { + let newItem = ++counter; + items.push(newItem); + set.add(newItem); + assert(items.length === set.size); + } +} diff --git a/implementation-contributed/javascriptcore/stress/map-set-change-get.js b/implementation-contributed/javascriptcore/stress/map-set-change-get.js new file mode 100644 index 0000000000..dd49eb7ddc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-change-get.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + map.set(42, 20); + var res1 = map.get(42); + map.set(42, 400); + var res2 = map.get(42); + return [res1, res2]; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var [res1, res2] = test(); + shouldBe(res1, 20); + shouldBe(res2, 400); +} diff --git a/implementation-contributed/javascriptcore/stress/map-set-check-failure.js b/implementation-contributed/javascriptcore/stress/map-set-check-failure.js new file mode 100644 index 0000000000..6a95327523 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-check-failure.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var func = Map.prototype.set; +function target(map) +{ + return func.call(map, 42, 42); +} +noInline(target); + +for (var i = 0; i < 1e6; ++i) { + var map = new Map(); + shouldBe(target(map), map); + shouldBe(map.get(42), 42); +} +shouldThrow(() => { + target(new Set()); +}, `TypeError: Map operation called on non-Map object`); diff --git a/implementation-contributed/javascriptcore/stress/map-set-clobber-map-get.js b/implementation-contributed/javascriptcore/stress/map-set-clobber-map-get.js new file mode 100644 index 0000000000..043dcf8d69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-clobber-map-get.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + map.set(42, 42); + var res1 = map.get(42); + map.set(42, 100); + var res2 = map.get(42); + return res1 + res2; +} + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(), 142); diff --git a/implementation-contributed/javascriptcore/stress/map-set-create-bucket.js b/implementation-contributed/javascriptcore/stress/map-set-create-bucket.js new file mode 100644 index 0000000000..6d90d66756 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-create-bucket.js @@ -0,0 +1,23 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + var res1 = map.get(42); + map.set(42, 20); + var res2 = map.get(42); + map.set(42, 400); + var res3 = map.get(42); + return [res1, res2, res3]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var [res1, res2, res3] = test(); + shouldBe(res1, undefined); + shouldBe(res2, 20); + shouldBe(res3, 400); +} diff --git a/implementation-contributed/javascriptcore/stress/map-set-cse.js b/implementation-contributed/javascriptcore/stress/map-set-cse.js new file mode 100644 index 0000000000..05495a8c6b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-cse.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + var r1 = map.get(42); + map.set(42, 42); + var r2 = map.get(42); + return [r1, r2]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + let [r1, r2] = test(); + shouldBe(r1, undefined); + shouldBe(r2, 42); +} diff --git a/implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-set-has.js b/implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-set-has.js new file mode 100644 index 0000000000..e11b9d2d3b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-set-has.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + var set = new Set(); + set.add(42); + var res1 = set.has(42); + map.set(42, 42); + var res2 = set.has(42); + return res1 + res2; +} + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(), 2); diff --git a/implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-weak-map-get.js b/implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-weak-map-get.js new file mode 100644 index 0000000000..56499f6bcd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-set-does-not-clobber-weak-map-get.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + var weakMap = new WeakMap(); + var key = {}; + + var res1 = weakMap.get(key); + map.set(key, key); + var res2 = weakMap.get(key); + weakMap.set(key, 42); + var res3 = weakMap.get(key); + return [undefined, undefined, 42]; +} + +for (var i = 0; i < 1e5; ++i) { + var [res1, res2, res3] = test(); + shouldBe(res1, undefined); + shouldBe(res2, undefined); + shouldBe(res3, 42); +} diff --git a/implementation-contributed/javascriptcore/stress/map-untyped-normalize-cse.js b/implementation-contributed/javascriptcore/stress/map-untyped-normalize-cse.js new file mode 100644 index 0000000000..c31b0ae33f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-untyped-normalize-cse.js @@ -0,0 +1,46 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var keys = [ + "Cappuccino", + -0.0, + Symbol("Cocoa"), + 42, + -42, + null, + undefined, + 420.5, + 0xffffffff, + 0x80000000, + -1, + -2147483648, + {}, + [], + false, + true, + NaN, +]; + +let i = 0; +let map = new Map(); +for (let key of keys) + map.set(key, i++); + +function test(map, key) +{ + return map.get(key) + map.get(key); +} +noInline(test); + +for (let i = 0; i < 1e4; ++i) { + let j = 0; + for (let key of keys) { + let result = j + j; + j++ + shouldBe(test(map, key), result); + } +} +shouldBe(test(map, 0.0), 2); diff --git a/implementation-contributed/javascriptcore/stress/map-untyped-normalize.js b/implementation-contributed/javascriptcore/stress/map-untyped-normalize.js new file mode 100644 index 0000000000..5e5e10346b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/map-untyped-normalize.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var keys = [ + "Cappuccino", + -0.0, + Symbol("Cocoa"), + 42, + -42, + null, + undefined, + 420.5, + 0xffffffff, + 0x80000000, + -1, + -2147483648, + {}, + [], + false, + true, + NaN, +]; + +let i = 0; +let map = new Map(); +for (let key of keys) + map.set(key, i++); + +function test(map, key) +{ + return map.get(key); +} +noInline(test); + +for (let i = 0; i < 1e4; ++i) { + let j = 0; + for (let key of keys) { + shouldBe(test(map, key), j++); + } +} +shouldBe(test(map, 0.0), 1); diff --git a/implementation-contributed/javascriptcore/stress/marked-argument-buffer.js b/implementation-contributed/javascriptcore/stress/marked-argument-buffer.js new file mode 100644 index 0000000000..f8230d9781 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/marked-argument-buffer.js @@ -0,0 +1,96 @@ +// Regression test for . + +function allocate() { + var i = 0; + var array = new Array(17); + for ( ; i < array.length; i++) + array[i] = new Uint32Array(0x00040000); + i = 0; + var arr = []; + arr.xxx = "xxx"; + for (var i = 0; i < 1024; i++) { + arr[i] = new Array(i); + arr[i].xxx = "xxx " + i + } + + if (this.gc) + this.gc(); +} + +function test() { + var array = new Array(256); + var targetReference = []; + var keepAlive = null; + + for (var x = 0; x < array.length; x++) { + if (x == array.length / 4) { + keepAlive = new Array(2047); + targetReference.shift(); + } + + array[x] = new Array(4095); + } + + var o = {}; + var l = 0; + o.toString = function() { + if (0 == l) { + keepAlive = null; + targetReference = null; + obj.prop.value = null; + allocate(); + } + l += 1; + return 10; + }; + var obj = { + x0 : { + value : 0 + }, + x1 : { + value : 0 + }, + x2 : { + value : 0 + }, + x3 : { + value : 0 + }, + x4 : { + value : 0 + }, + x5 : { + value : 0 + }, + x6 : { + value : 0 + }, + x7 : { + value : 0 + }, + x8 : { + value : 0 + }, + x9 : { + value : 0 + }, + x10 : { + value : 0 + }, + length : { + value : o + }, + prop : { + value : targetReference + }, + beast : { + value : 0 + } + }; + var array2 = []; + var expectedLength = targetReference.length + Object.defineProperties(array2, obj); + if (array2.prop.length != expectedLength) + throw "fail"; +} +test(); diff --git a/implementation-contributed/javascriptcore/stress/materialize-activation-referenced-from-phantom-function.js b/implementation-contributed/javascriptcore/stress/materialize-activation-referenced-from-phantom-function.js new file mode 100644 index 0000000000..e0ed6295f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-activation-referenced-from-phantom-function.js @@ -0,0 +1,42 @@ +function bar() +{ +} + +noInline(bar); + +function foo(p, x) +{ + var value = 1; + function inc() + { + return value + 1; + } + function dec() + { + return value - 1; + } + + if (!p) + return 0; + + bar(inc); + + x += 2000000000; + + value = 42; + return dec(); +} + +noInline(foo); + +function test(x) +{ + var result = foo(true, x); + if (result != 42 - 1) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(0); + +test(2000000000); diff --git a/implementation-contributed/javascriptcore/stress/materialize-object-referenced-from-phantom-object.js b/implementation-contributed/javascriptcore/stress/materialize-object-referenced-from-phantom-object.js new file mode 100644 index 0000000000..cf29b94776 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-object-referenced-from-phantom-object.js @@ -0,0 +1,37 @@ +function bar() +{ +} + +noInline(bar); + +function foo(p, x) +{ + var a = {f: 1}; + var b = {f: a}; + var c = {f: a}; + + if (!p) + return 0; + + bar(b); + + x += 2000000000; + + c.f.f = 42; + return b.f.f; +} + +noInline(foo); + +function test(x) +{ + var result = foo(true, x); + if (result != 42) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(0); + +test(2000000000); + diff --git a/implementation-contributed/javascriptcore/stress/materialize-past-butterfly-allocation.js b/implementation-contributed/javascriptcore/stress/materialize-past-butterfly-allocation.js new file mode 100644 index 0000000000..b57ac8f91e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-past-butterfly-allocation.js @@ -0,0 +1,89 @@ +function bar() { + return {f:42}; +} + +noInline(bar); + +function foo0(b) { + var o = {f:42}; + if (b) { + var p = bar(); + p.g = o; + return p; + } +} + +function foo1(b) { + var o = {f:42}; + if (b) { + var p = bar(); + p.f1 = 1; + p.g = o; + return p; + } +} + +function foo2(b) { + var o = {f:42}; + if (b) { + var p = bar(); + p.f1 = 1; + p.f2 = 2; + p.g = o; + return p; + } +} + +function foo3(b) { + var o = {f:42}; + if (b) { + var p = bar(); + p.f1 = 1; + p.f2 = 2; + p.f3 = 3; + p.g = o; + return p; + } +} + +function foo4(b) { + var o = {f:42}; + if (b) { + var p = bar(); + p.f1 = 1; + p.f2 = 2; + p.f3 = 3; + p.f4 = 4; + p.g = o; + return p; + } +} + +noInline(foo0); +noInline(foo1); +noInline(foo2); +noInline(foo3); +noInline(foo4); + +var array = new Array(1000); +for (var i = 0; i < 400000; ++i) { + var o = foo0(true); + array[i % array.length] = o; +} +for (var i = 0; i < 400000; ++i) { + var o = foo1(true); + array[i % array.length] = o; +} +for (var i = 0; i < 400000; ++i) { + var o = foo2(true); + array[i % array.length] = o; +} +for (var i = 0; i < 400000; ++i) { + var o = foo3(true); + array[i % array.length] = o; +} +for (var i = 0; i < 400000; ++i) { + var o = foo4(true); + array[i % array.length] = o; +} + diff --git a/implementation-contributed/javascriptcore/stress/materialize-past-put-structure.js b/implementation-contributed/javascriptcore/stress/materialize-past-put-structure.js new file mode 100644 index 0000000000..cd7397ab88 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-past-put-structure.js @@ -0,0 +1,14 @@ +function foo(p) { + var o = {f:42}; + if (p) + return {f:42, g:o}; +} + +noInline(foo); + +var array = new Array(1000); +for (var i = 0; i < 4000000; ++i) { + var o = foo(true); + array[i % array.length] = o; +} + diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp-at-osr-exit.js b/implementation-contributed/javascriptcore/stress/materialize-regexp-at-osr-exit.js new file mode 100644 index 0000000000..1beef5281d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp-at-osr-exit.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(flag) +{ + var regexp = /hello world/; + regexp.lastIndex = "Cocoa"; + if (flag) { + OSRExit(); + return regexp; + } + return regexp.lastIndex; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) + shouldBe(test(false), "Cocoa"); + +var regexp = test(true); +shouldBe(regexp instanceof RegExp, true); +shouldBe(regexp.lastIndex, "Cocoa"); diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp-at-osr-exit.js b/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp-at-osr-exit.js new file mode 100644 index 0000000000..7b6eb2fdb4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp-at-osr-exit.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(num) +{ + var regexp = /hello world/; + var world = /World/; + regexp.lastIndex = world; + world.lastIndex = regexp; + if (num === 0) { + OSRExit(); + return regexp; + } + return 42; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(1), 42); + +var regexp = test(0); +shouldBe(regexp instanceof RegExp, true); +shouldBe(regexp.toString(), "/hello world/"); +shouldBe(regexp.lastIndex instanceof RegExp, true); +shouldBe(regexp.lastIndex.toString(), "/World/"); diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp.js b/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp.js new file mode 100644 index 0000000000..1d6e5a3d38 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic-regexp.js @@ -0,0 +1,46 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(num) +{ + var regexp = /hello world/; + var world = /World/; + regexp.lastIndex = world; + world.lastIndex = regexp; + if (num === 0) + return regexp; + if (num === 1) + return regexp.lastIndex; + return regexp.lastIndex.lastIndex; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var num = i % 3; + switch (num) { + case 0: + var regexp = test(num); + shouldBe(regexp instanceof RegExp, true); + shouldBe(regexp.toString(), "/hello world/"); + shouldBe(regexp.lastIndex instanceof RegExp, true); + shouldBe(regexp.lastIndex.toString(), "/World/"); + break; + case 1: + var regexp = test(num); + shouldBe(regexp instanceof RegExp, true); + shouldBe(regexp.toString(), "/World/"); + shouldBe(regexp.lastIndex instanceof RegExp, true); + shouldBe(regexp.lastIndex.toString(), "/hello world/"); + break; + case 2: + var regexp = test(num); + shouldBe(regexp instanceof RegExp, true); + shouldBe(regexp.toString(), "/hello world/"); + shouldBe(regexp.lastIndex instanceof RegExp, true); + shouldBe(regexp.lastIndex.toString(), "/World/"); + break; + } +} diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic.js b/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic.js new file mode 100644 index 0000000000..1097041204 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp-cyclic.js @@ -0,0 +1,39 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(num) +{ + var regexp = /hello world/; + regexp.lastIndex = { ok: regexp, value: 42 }; + if (num === 0) + return regexp; + if (num === 1) + return regexp.lastIndex; + return regexp.lastIndex.value; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var num = i % 3; + switch (num) { + case 0: + var regexp = test(num); + shouldBe(regexp instanceof RegExp, true); + shouldBe(typeof regexp.lastIndex, "object"); + shouldBe(regexp.lastIndex.ok, regexp); + break; + case 1: + var object = test(num); + shouldBe(object.value, 42); + shouldBe(object.ok instanceof RegExp, true); + shouldBe(object.ok.lastIndex, object); + break; + case 2: + var value = test(num); + shouldBe(value, 42); + break; + } +} diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js b/implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js new file mode 100644 index 0000000000..1c32353fb0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp-cyclic.js @@ -0,0 +1,43 @@ +function bar() +{ +} + +noInline(bar); + +function foo(p, x) +{ + var a = /Hello/; + a.lastIndex = 1; + var b = /World/; + b.lastIndex = a; + var c = /World/; + c.lastIndex = a; + var d = /Cocoa/; + d.lastIndex = c; + a.lastIndex = d; + + if (!p) + return 0; + + bar(b); + + x += 2000000000; + + c.lastIndex.lastIndex = 42; + return b.lastIndex.lastIndex; +} + +noInline(foo); + +function test(x) +{ + var result = foo(true, x); + if (result != 42) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(0); + +test(2000000000); + diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp.js b/implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp.js new file mode 100644 index 0000000000..d11b9dd90b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp-referenced-from-phantom-regexp.js @@ -0,0 +1,40 @@ +function bar() +{ +} + +noInline(bar); + +function foo(p, x) +{ + var a = /Hello/; + a.lastIndex = 1; + var b = /World/; + b.lastIndex = a; + var c = /World/; + c.lastIndex = a; + + if (!p) + return 0; + + bar(b); + + x += 2000000000; + + c.lastIndex.lastIndex = 42; + return b.lastIndex.lastIndex; +} + +noInline(foo); + +function test(x) +{ + var result = foo(true, x); + if (result != 42) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(0); + +test(2000000000); + diff --git a/implementation-contributed/javascriptcore/stress/materialize-regexp.js b/implementation-contributed/javascriptcore/stress/materialize-regexp.js new file mode 100644 index 0000000000..1fccf8d83b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialize-regexp.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(flag) +{ + var regexp = /hello world/; + regexp.lastIndex = "Cocoa"; + if (flag) + return regexp; + return regexp.lastIndex; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + if (i & 0x1) { + var regexp = test(true); + shouldBe(regexp instanceof RegExp, true); + shouldBe(regexp.lastIndex, "Cocoa"); + } else + shouldBe(test(false), "Cocoa"); +} diff --git a/implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match-at-osr-exit.js b/implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match-at-osr-exit.js new file mode 100644 index 0000000000..ea7750525a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match-at-osr-exit.js @@ -0,0 +1,41 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(num, string) +{ + var regexp = /hello/g; + regexp.lastIndex = "Cocoa"; + if (num === 2) + return regexp.lastIndex; + var result = string.match(regexp); + if (num === 1) { + OSRExit(); + return [result, regexp]; + } + return regexp.lastIndex; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var num = i % 3; + switch (num) { + case 0: + shouldBe(test(num, "hellohello"), 0); + break; + case 1: + break; + case 2: + shouldBe(test(num, "hellohello"), "Cocoa"); + break; + } +} + +var [result, regexp] = test(1, "hellohello"); +shouldBe(regexp instanceof RegExp, true); +shouldBe(regexp.lastIndex, 0); +shouldBe(result.length, 2); +shouldBe(result[0], "hello"); +shouldBe(result[1], "hello"); diff --git a/implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match.js b/implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match.js new file mode 100644 index 0000000000..fb55123f61 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/materialized-regexp-has-correct-last-index-set-by-match.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(flag, string) +{ + var regexp = /hello/g; + regexp.lastIndex = "Cocoa"; + var result = string.match(regexp); + if (flag) + return [result, regexp]; + return regexp.lastIndex; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + if (i & 0x1) { + var [result, regexp] = test(true, "hellohello"); + shouldBe(regexp instanceof RegExp, true); + shouldBe(regexp.lastIndex, 0); + shouldBe(result.length, 2); + shouldBe(result[0], "hello"); + shouldBe(result[1], "hello"); + } else + shouldBe(test(false, "hellohello"), 0); +} diff --git a/implementation-contributed/javascriptcore/stress/math-abs-positive.js b/implementation-contributed/javascriptcore/stress/math-abs-positive.js new file mode 100644 index 0000000000..fc4e164605 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-abs-positive.js @@ -0,0 +1,11 @@ +var minus_three_quarters = -0.75; + +function foo() { + return Math.abs(minus_three_quarters); +} + +for (var i = 0; i < 10000; i++) { + var result = foo(); + if (result < 0) + throw "Error: Math.abs returned a negative value."; +} diff --git a/implementation-contributed/javascriptcore/stress/math-ceil-arith-rounding-mode.js b/implementation-contributed/javascriptcore/stress/math-ceil-arith-rounding-mode.js new file mode 100644 index 0000000000..3ebfcebf3b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-ceil-arith-rounding-mode.js @@ -0,0 +1,85 @@ +function firstCareAboutZeroSecondDoesNot(a) { + var resultA = Math.ceil(a); + var resultB = Math.ceil(a)|0; + return { resultA:resultA, resultB:resultB }; +} +noInline(firstCareAboutZeroSecondDoesNot); + +function firstDoNotCareAboutZeroSecondDoes(a) { + var resultA = Math.ceil(a)|0; + var resultB = Math.ceil(a); + return { resultA:resultA, resultB:resultB }; +} +noInline(firstDoNotCareAboutZeroSecondDoes); + +// Warmup with doubles, but nothing that would ceil to -0 to ensure we never +// see a double as result. The result must be integers, the input is kept to small values. +function warmup() { + for (var i = 0; i < 1e4; ++i) { + firstCareAboutZeroSecondDoesNot(42.6 + i); + firstDoNotCareAboutZeroSecondDoes(42.4 + i); + } +} +warmup(); + +function verifyNegativeZeroIsPreserved() { + for (var i = 0; i < 1e4; ++i) { + var result1 = firstCareAboutZeroSecondDoesNot(-0.1); + if (1 / result1.resultA !== -Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.1), resultA = " + result1.resultA); + } + if (1 / result1.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.1), resultB = " + result1.resultB); + } + var result2 = firstDoNotCareAboutZeroSecondDoes(-0.1); + if (1 / result2.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultA = " + result1.resultA); + } + if (1 / result2.resultB !== -Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultB = " + result1.resultB); + } + var result3 = firstCareAboutZeroSecondDoesNot(-0.0); + if (1 / result3.resultA !== -Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.0), resultA = " + result3.resultA); + } + if (1 / result3.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.0), resultB = " + result3.resultB); + } + var result4 = firstDoNotCareAboutZeroSecondDoes(-0.0); + if (1 / result4.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.0), resultA = " + result4.resultA); + } + if (1 / result4.resultB !== -Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.0), resultB = " + result4.resultB); + } + var result5 = firstCareAboutZeroSecondDoesNot(0.0); + if (1 / result5.resultA !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.0), resultA = " + result5.resultA); + } + if (1 / result5.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.0), resultB = " + result5.resultB); + } + var result6 = firstDoNotCareAboutZeroSecondDoes(0.0); + if (1 / result6.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.0), resultA = " + result6.resultA); + } + if (1 / result6.resultB !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.0), resultB = " + result6.resultB); + } + var result7 = firstCareAboutZeroSecondDoesNot(0.1); + if (1 / result7.resultA !== 1) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.1), resultA = " + result7.resultA); + } + if (1 / result7.resultB !== 1) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.1), resultB = " + result7.resultB); + } + var result8 = firstDoNotCareAboutZeroSecondDoes(0.1); + if (1 / result8.resultA !== 1) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.1), resultA = " + result8.resultA); + } + if (1 / result8.resultB !== 1) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.1), resultB = " + result8.resultB); + } + } +} +verifyNegativeZeroIsPreserved(); diff --git a/implementation-contributed/javascriptcore/stress/math-ceil-basics.js b/implementation-contributed/javascriptcore/stress/math-ceil-basics.js new file mode 100644 index 0000000000..2c0f54d3fd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-ceil-basics.js @@ -0,0 +1,257 @@ + +function mathCeilOnIntegers(value) +{ + return Math.ceil(value); +} +noInline(mathCeilOnIntegers); + +function mathCeilOnDoubles(value) +{ + return Math.ceil(value); +} +noInline(mathCeilOnDoubles); + +function mathCeilOnBooleans(value) +{ + return Math.ceil(value); +} +noInline(mathCeilOnBooleans); + +// The trivial cases first. +for (var i = 1; i < 1e4; ++i) { + var ceiledValue = mathCeilOnIntegers(i); + if (ceiledValue !== i) + throw new Error("mathCeilOnIntegers(" + i + ") = " + ceiledValue); + + var ceiledValue = mathCeilOnIntegers(-i); + if (ceiledValue !== -i) + throw new Error("mathCeilOnIntegers(" + -i + ") = " + ceiledValue); + + var doubleLow = i + 0.4; + var ceiledValue = mathCeilOnDoubles(doubleLow); + if (ceiledValue !== i + 1.0) + throw new Error("mathCeilOnDoubles(" + doubleLow + ") = " + ceiledValue); + + var doubleHigh = i + 0.6; + var ceiledValue = mathCeilOnDoubles(doubleHigh); + if (ceiledValue !== i + 1) + throw new Error("mathCeilOnDoubles(" + doubleHigh + ") = " + ceiledValue); + + var doubleMid = i + 0.5; + var ceiledValue = mathCeilOnDoubles(doubleMid); + if (ceiledValue !== i + 1) + throw new Error("mathCeilOnDoubles(" + doubleMid + ") = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(-0.6); + if (ceiledValue !== -0.0) + throw new Error("mathCeilOnDoubles(-0.6) = " + ceiledValue); +} + +// Some more interesting cases, some of them well OSR exit when the return value is zero. +for (var i = 0; i < 1e4; ++i) { + var ceiledValue = mathCeilOnIntegers(i); + if (ceiledValue !== i) + throw new Error("mathCeilOnIntegers(" + i + ") = " + ceiledValue); + + var ceiledValue = mathCeilOnIntegers(-i); + if (ceiledValue !== -i) + throw new Error("mathCeilOnIntegers(-" + i + ") = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(-0.4); + if (ceiledValue !== 0) + throw new Error("mathCeilOnDoubles(-0.4) = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(-0.5); + if (ceiledValue !== 0) + throw new Error("mathCeilOnDoubles(-0.5) = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(-0); + if (!(ceiledValue === 0 && (1/ceiledValue) === -Infinity)) + throw new Error("mathCeilOnDoubles(-0) = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(NaN); + if (ceiledValue === ceiledValue) + throw new Error("mathCeilOnDoubles(NaN) = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(Number.POSITIVE_INFINITY); + if (ceiledValue !== Number.POSITIVE_INFINITY) + throw new Error("mathCeilOnDoubles(Number.POSITIVE_INFINITY) = " + ceiledValue); + + var ceiledValue = mathCeilOnDoubles(Number.NEGATIVE_INFINITY); + if (ceiledValue !== Number.NEGATIVE_INFINITY) + throw new Error("mathCeilOnDoubles(Number.NEGATIVE_INFINITY) = " + ceiledValue); + + var boolean = !!(i % 2); + var ceiledBoolean = mathCeilOnBooleans(boolean); + if (ceiledBoolean != boolean) + throw new Error("mathCeilOnDoubles(" + boolean + ") = " + ceiledBoolean); +} + +function uselessMathCeil(value) +{ + return Math.ceil(value|0); +} +noInline(uselessMathCeil); + +for (var i = 0; i < 1e4; ++i) { + var ceiledValue = uselessMathCeil(i); + if (ceiledValue !== i) + throw new Error("uselessMathCeil(" + i + ") = " + ceiledValue); + + var doubleLow = i + 0.4; + var ceiledValue = uselessMathCeil(doubleLow); + if (ceiledValue !== i) + throw new Error("uselessMathCeil(" + doubleLow + ") = " + ceiledValue); + + var doubleHigh = i + 0.6; + var ceiledValue = uselessMathCeil(doubleHigh); + if (ceiledValue !== i) + throw new Error("uselessMathCeil(" + doubleHigh + ") = " + ceiledValue); + + var doubleMid = i + 0.5; + var ceiledValue = uselessMathCeil(doubleMid); + if (ceiledValue !== i) + throw new Error("uselessMathCeil(" + doubleMid + ") = " + ceiledValue); + + var ceiledValue = uselessMathCeil(-0.4); + if (ceiledValue !== 0) + throw new Error("uselessMathCeil(-0.4) = " + ceiledValue); + + var ceiledValue = uselessMathCeil(-0.5); + if (ceiledValue !== 0) + throw new Error("uselessMathCeil(-0.5) = " + ceiledValue); + + var ceiledValue = uselessMathCeil(-0.6); + if (ceiledValue !== 0) + throw new Error("uselessMathCeil(-0.6) = " + ceiledValue); +} + +function mathCeilWithOverflow(value) +{ + return Math.ceil(value); +} +noInline(mathCeilWithOverflow); + +for (var i = 0; i < 1e4; ++i) { + var bigValue = 1000000000000; + var ceiledValue = mathCeilWithOverflow(bigValue); + if (ceiledValue !== bigValue) + throw new Error("mathCeilWithOverflow(" + bigValue + ") = " + ceiledValue); +} + +function mathCeilConsumedAsDouble(value) +{ + return Math.ceil(value) * 0.5; +} +noInline(mathCeilConsumedAsDouble); + +for (var i = 0; i < 1e4; ++i) { + var doubleValue = i + 0.1; + var ceiledValue = mathCeilConsumedAsDouble(doubleValue); + if (ceiledValue !== ((i + 1) * 0.5)) + throw new Error("mathCeilConsumedAsDouble(" + doubleValue + ") = " + ceiledValue); + + var doubleValue = i + 0.6; + var ceiledValue = mathCeilConsumedAsDouble(doubleValue); + if (ceiledValue !== ((i + 1) * 0.5)) + throw new Error("mathCeilConsumedAsDouble(" + doubleValue + ") = " + ceiledValue); + +} + +function mathCeilDoesNotCareAboutMinusZero(value) +{ + return Math.ceil(value)|0; +} +noInline(mathCeilDoesNotCareAboutMinusZero); + +for (var i = 0; i < 1e4; ++i) { + var doubleMid = i + 0.5; + var ceiledValue = mathCeilDoesNotCareAboutMinusZero(doubleMid); + if (ceiledValue !== i + 1) + throw new Error("mathCeilDoesNotCareAboutMinusZero(" + doubleMid + ") = " + ceiledValue); +} + + +// *** Function arguments. *** +function mathCeilNoArguments() +{ + return Math.ceil(); +} +noInline(mathCeilNoArguments); + +function mathCeilTooManyArguments(a, b, c) +{ + return Math.ceil(a, b, c); +} +noInline(mathCeilTooManyArguments); + +for (var i = 0; i < 1e4; ++i) { + var value = mathCeilNoArguments(); + if (value === value) + throw new Error("mathCeilNoArguments() = " + value); + + var value = mathCeilTooManyArguments(2.1, 3, 5); + if (value !== 3) + throw new Error("mathCeilTooManyArguments() = " + value); +} + + +// *** Constant as arguments. *** +function testMathCeilOnConstants() +{ + var value = Math.ceil(0); + if (value !== 0) + throw new Error("Math.ceil(0) = " + value); + var value = Math.ceil(-0); + if (!(value === 0 && (1/value) === -Infinity)) + throw new Error("Math.ceil(-0) = " + value); + var value = Math.ceil(1); + if (value !== 1) + throw new Error("Math.ceil(1) = " + value); + var value = Math.ceil(-1); + if (value !== -1) + throw new Error("Math.ceil(-1) = " + value); + var value = Math.ceil(42); + if (value !== 42) + throw new Error("Math.ceil(42) = " + value); + var value = Math.ceil(-42.2); + if (value !== -42) + throw new Error("Math.ceil(-42.2) = " + value); + var value = Math.ceil(NaN); + if (value === value) + throw new Error("Math.ceil(NaN) = " + value); + var value = Math.ceil(Number.POSITIVE_INFINITY); + if (value !== Infinity) + throw new Error("Math.ceil(Number.POSITIVE_INFINITY) = " + value); + var value = Math.ceil(Number.NEGATIVE_INFINITY); + if (value !== -Infinity) + throw new Error("Math.ceil(Number.NEGATIVE_INFINITY) = " + value); + var value = Math.ceil(Math.E); + if (value !== 3) + throw new Error("Math.ceil(Math.E) = " + value); +} +noInline(testMathCeilOnConstants); + +for (var i = 0; i < 1e4; ++i) { + testMathCeilOnConstants(); +} + + +// *** Struct transition. *** +function mathCeilStructTransition(value) +{ + return Math.ceil(value); +} +noInline(mathCeilStructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = mathCeilStructTransition(42.5); + if (value !== 43) + throw new Error("mathCeilStructTransition(42.5) = " + value); +} + +Math.ceil = function() { return arguments[0] + 5; } + +var value = mathCeilStructTransition(42); +if (value !== 47) + throw new Error("mathCeilStructTransition(42) after transition = " + value); diff --git a/implementation-contributed/javascriptcore/stress/math-clz32-basics.js b/implementation-contributed/javascriptcore/stress/math-clz32-basics.js new file mode 100644 index 0000000000..e2b6ae7999 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-clz32-basics.js @@ -0,0 +1,222 @@ +function mathClz32OnInteger(value) +{ + return Math.clz32(value); +} +noInline(mathClz32OnInteger); + +// *** Test simple cases on integers. *** +function testMathClz32OnIntegers() +{ + // Bounds. + var clzZero = mathClz32OnInteger(0); + if (clzZero != 32) + throw "mathClz32OnInteger(0) = " + clzZero; + + var clzIntMin = mathClz32OnInteger(-2147483648); + if (clzIntMin != 0) + throw "mathClz32OnInteger(-2147483648) = " + clzIntMin; + + var clzIntMax = mathClz32OnInteger(2147483647); + if (clzIntMax != 1) + throw "mathClz32OnInteger(2147483647) = " + clzIntMax; + + // Simple values. + var clzMinusOne = mathClz32OnInteger(-1); + if (clzMinusOne != 0) + throw "mathClz32OnInteger(-1) = " + clzMinusOne; + + var clzUltimateAnswer = mathClz32OnInteger(42); + if (clzUltimateAnswer != 26) + throw "mathClz32OnInteger(42) = " + clzUltimateAnswer; + + var clzMinusUltimateAnswer = mathClz32OnInteger(-42); + if (clzMinusUltimateAnswer != 0) + throw "mathClz32OnInteger(-42) = " + clzMinusUltimateAnswer; +} +noInline(testMathClz32OnIntegers); + +for (var i = 0; i < 1e4; ++i) { + testMathClz32OnIntegers(); +} + +// Make sure we don't do anything stupid when the type is unexpected. +function verifyMathClz32OnIntegerWithOtherTypes() +{ + var clzPi = mathClz32OnInteger(Math.PI); + if (clzPi != 30) + throw "mathClz32OnInteger(Math.PI) = " + clzPi; + + var clzString = mathClz32OnInteger("42"); + if (clzString != 26) + throw "mathClz32OnInteger(\"42\") = " + clzString; + + var clzString = mathClz32OnInteger("WebKit"); + if (clzString != 32) + throw "mathClz32OnInteger(\"WebKit\") = " + clzString; + + var clzMinusZero = mathClz32OnInteger(-0); + if (clzMinusZero != 32) + throw "mathClz32OnInteger(-0) = " + clzMinusZero; +} +noInline(verifyMathClz32OnIntegerWithOtherTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyMathClz32OnIntegerWithOtherTypes(); +} + + +// *** Test simple cases on doubles. *** +function mathClz32OnDouble(value) +{ + return Math.clz32(value); +} +noInline(mathClz32OnDouble); + +// Test simple cases on doubles. +function testMathClz32OnDoubles() +{ + var value = mathClz32OnDouble(Math.PI); + if (value != 30) + throw "mathClz32OnDouble(Math.PI) = " + value; + + var value = mathClz32OnDouble(Math.E); + if (value != 30) + throw "mathClz32OnDouble(Math.E) = " + value; + + var value = mathClz32OnDouble(Math.LN2); + if (value != 32) + throw "mathClz32OnDouble(Math.LN2) = " + value; + + var value = mathClz32OnDouble(-0); + if (value != 32) + throw "mathClz32OnDouble(-0) = " + value; + + var value = mathClz32OnDouble(NaN); + if (value != 32) + throw "mathClz32OnDouble(NaN) = " + value; + + var value = mathClz32OnDouble(Number.POSITIVE_INFINITY); + if (value != 32) + throw "mathClz32OnDouble(Number.POSITIVE_INFINITY) = " + value; + + var value = mathClz32OnDouble(Number.NEGATIVE_INFINITY); + if (value != 32) + throw "mathClz32OnDouble(Number.NEGATIVE_INFINITY) = " + value; +} +noInline(testMathClz32OnDoubles); + +for (var i = 0; i < 1e4; ++i) { + testMathClz32OnDoubles(); +} + +// Make sure we don't do anything stupid when the type is unexpected. +function verifyMathClz32OnDoublesWithOtherTypes() +{ + var clzOne = mathClz32OnDouble(1); + if (clzOne != 31) + throw "mathClz32OnDouble(1) = " + clzOne; + + var clzString = mathClz32OnDouble("42"); + if (clzString != 26) + throw "mathClz32OnDouble(\"42\") = " + clzString; + + var clzString = mathClz32OnDouble("WebKit"); + if (clzString != 32) + throw "mathClz32OnDouble(\"WebKit\") = " + clzString; + + var clzMinusZero = mathClz32OnDouble({}); + if (clzMinusZero != 32) + throw "mathClz32OnDouble({}) = " + clzMinusZero; +} +noInline(verifyMathClz32OnDoublesWithOtherTypes); + +for (var i = 0; i < 1e4; ++i) { + verifyMathClz32OnDoublesWithOtherTypes(); +} + + +// *** Unusual arguments. *** +function mathClz32NoArguments() +{ + return Math.clz32(); +} +noInline(mathClz32NoArguments); + +function mathClz32TooManyArguments(a, b, c) +{ + return Math.clz32(a, b, c); +} +noInline(mathClz32TooManyArguments); + + +for (var i = 0; i < 1e4; ++i) { + var value = mathClz32NoArguments(); + if (value !== 32) + throw "mathClz32NoArguments() = " + value; + + var value = mathClz32TooManyArguments(2, 3, 5); + if (value !== 30) + throw "mathClz32TooManyArguments() = " + value; + +} + + +// *** Constant as arguments. *** +function testMathClz32OnConstants() +{ + var value = Math.clz32(0); + if (value !== 32) + throw "Math.clz32(0) = " + value; + var value = Math.clz32(-0); + if (value !== 32) + throw "Math.clz32(-0) = " + value; + var value = Math.clz32(1); + if (value !== 31) + throw "Math.clz32(1) = " + value; + var value = Math.clz32(-1); + if (value !== 0) + throw "Math.clz32(-1) = " + value; + var value = Math.clz32(42); + if (value !== 26) + throw "Math.clz32(42) = " + value; + var value = Math.clz32(-42); + if (value !== 0) + throw "Math.clz32(-42) = " + value; + var value = Math.clz32(NaN); + if (value !== 32) + throw "Math.clz32(NaN) = " + value; + var value = Math.clz32(Number.POSITIVE_INFINITY); + if (value !== 32) + throw "Math.clz32(Number.POSITIVE_INFINITY) = " + value; + var value = Math.clz32(Number.NEGATIVE_INFINITY); + if (value !== 32) + throw "Math.clz32(Number.NEGATIVE_INFINITY) = " + value; + var value = Math.clz32(Math.E); + if (value !== 30) + throw "Math.clz32(Math.E) = " + value; +} +noInline(testMathClz32OnConstants); + +for (var i = 0; i < 1e4; ++i) { + testMathClz32OnConstants(); +} + + +// *** Struct transition. *** +function mathClz32StructTransition(value) +{ + return Math.clz32(value); +} +noInline(mathClz32StructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = mathClz32StructTransition(42); + if (value !== 26) + throw "mathClz32StructTransition(42) = " + value; +} + +Math.clz32 = function() { return arguments[0] + 5; } + +var value = mathClz32StructTransition(42); +if (value !== 47) + throw "mathClz32StructTransition(42) after transition = " + value; diff --git a/implementation-contributed/javascriptcore/stress/math-exceptions.js b/implementation-contributed/javascriptcore/stress/math-exceptions.js new file mode 100644 index 0000000000..1af6beee87 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-exceptions.js @@ -0,0 +1,47 @@ +const foo = new Proxy({}, { + get() { throw 0xc0defefe; } +}); + +const bar = new Proxy({}, { + get() { throw 0xdeadbeef; } +}); + +const check = value => { + if (value !== 0xc0defefe) + throw new Error(`bad ${value}!`); +} + +try { Math.acos(foo, bar); } catch (e) { check(e); } +try { Math.acosh(foo, bar); } catch (e) { check(e); } +try { Math.asin(foo, bar); } catch (e) { check(e); } +try { Math.asinh(foo, bar); } catch (e) { check(e); } +try { Math.atan(foo, bar); } catch (e) { check(e); } +try { Math.atanh(foo, bar); } catch (e) { check(e); } +try { Math.atan2(foo, bar); } catch (e) { check(e); } +try { Math.cbrt(foo, bar); } catch (e) { check(e); } +try { Math.ceil(foo, bar); } catch (e) { check(e); } +try { Math.clz32(foo, bar); } catch (e) { check(e); } +try { Math.cos(foo, bar); } catch (e) { check(e); } +try { Math.cosh(foo, bar); } catch (e) { check(e); } +try { Math.exp(foo, bar); } catch (e) { check(e); } +try { Math.expm1(foo, bar); } catch (e) { check(e); } +try { Math.floor(foo, bar); } catch (e) { check(e); } +try { Math.fround(foo, bar); } catch (e) { check(e); } +try { Math.hypot(foo, bar); } catch (e) { check(e); } +try { Math.imul(foo, bar); } catch (e) { check(e); } +try { Math.log(foo, bar); } catch (e) { check(e); } +try { Math.log1p(foo, bar); } catch (e) { check(e); } +try { Math.log10(foo, bar); } catch (e) { check(e); } +try { Math.log2(foo, bar); } catch (e) { check(e); } +try { Math.max(foo, bar); } catch (e) { check(e); } +try { Math.min(foo, bar); } catch (e) { check(e); } +try { Math.pow(foo, bar); } catch (e) { check(e); } +Math.random(foo, bar); +try { Math.round(foo, bar); } catch (e) { check(e); } +try { Math.sign(foo, bar); } catch (e) { check(e); } +try { Math.sin(foo, bar); } catch (e) { check(e); } +try { Math.sinh(foo, bar); } catch (e) { check(e); } +try { Math.sqrt(foo, bar); } catch (e) { check(e); } +try { Math.tan(foo, bar); } catch (e) { check(e); } +try { Math.tanh(foo, bar); } catch (e) { check(e); } +try { Math.trunc(foo, bar); } catch (e) { check(e); } diff --git a/implementation-contributed/javascriptcore/stress/math-floor-arith-rounding-mode.js b/implementation-contributed/javascriptcore/stress/math-floor-arith-rounding-mode.js new file mode 100644 index 0000000000..a30ed890d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-floor-arith-rounding-mode.js @@ -0,0 +1,85 @@ +function firstCareAboutZeroSecondDoesNot(a) { + var resultA = Math.floor(a); + var resultB = Math.floor(a)|0; + return { resultA:resultA, resultB:resultB }; +} +noInline(firstCareAboutZeroSecondDoesNot); + +function firstDoNotCareAboutZeroSecondDoes(a) { + var resultA = Math.floor(a)|0; + var resultB = Math.floor(a); + return { resultA:resultA, resultB:resultB }; +} +noInline(firstDoNotCareAboutZeroSecondDoes); + +// Warmup with doubles, but nothing that would floor to -0 to ensure we never +// see a double as result. The result must be integers, the input is kept to small values. +function warmup() { + for (var i = 0; i < 1e4; ++i) { + firstCareAboutZeroSecondDoesNot(42.6 + i); + firstDoNotCareAboutZeroSecondDoes(42.4 + i); + } +} +warmup(); + +function verifyNegativeZeroIsPreserved() { + for (var i = 0; i < 1e4; ++i) { + var result1 = firstCareAboutZeroSecondDoesNot(-0.1); + if (1 / result1.resultA !== -1) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.1), resultA = " + result1.resultA); + } + if (1 / result1.resultB !== -1) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.1), resultB = " + result1.resultB); + } + var result2 = firstDoNotCareAboutZeroSecondDoes(-0.1); + if (1 / result2.resultA !== -1) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultA = " + result1.resultA); + } + if (1 / result2.resultB !== -1) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultB = " + result1.resultB); + } + var result3 = firstCareAboutZeroSecondDoesNot(-0.0); + if (1 / result3.resultA !== -Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.0), resultA = " + result3.resultA); + } + if (1 / result3.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.0), resultB = " + result3.resultB); + } + var result4 = firstDoNotCareAboutZeroSecondDoes(-0.0); + if (1 / result4.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.0), resultA = " + result4.resultA); + } + if (1 / result4.resultB !== -Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.0), resultB = " + result4.resultB); + } + var result5 = firstCareAboutZeroSecondDoesNot(0.0); + if (1 / result5.resultA !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.0), resultA = " + result5.resultA); + } + if (1 / result5.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.0), resultB = " + result5.resultB); + } + var result6 = firstDoNotCareAboutZeroSecondDoes(0.0); + if (1 / result6.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.0), resultA = " + result6.resultA); + } + if (1 / result6.resultB !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.0), resultB = " + result6.resultB); + } + var result7 = firstCareAboutZeroSecondDoesNot(0.1); + if (1 / result7.resultA !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.1), resultA = " + result7.resultA); + } + if (1 / result7.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.1), resultB = " + result7.resultB); + } + var result8 = firstDoNotCareAboutZeroSecondDoes(0.1); + if (1 / result8.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.1), resultA = " + result8.resultA); + } + if (1 / result8.resultB !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.1), resultB = " + result8.resultB); + } + } +} +verifyNegativeZeroIsPreserved(); diff --git a/implementation-contributed/javascriptcore/stress/math-floor-basics.js b/implementation-contributed/javascriptcore/stress/math-floor-basics.js new file mode 100644 index 0000000000..f0c9c95898 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-floor-basics.js @@ -0,0 +1,257 @@ + +function mathFloorOnIntegers(value) +{ + return Math.floor(value); +} +noInline(mathFloorOnIntegers); + +function mathFloorOnDoubles(value) +{ + return Math.floor(value); +} +noInline(mathFloorOnDoubles); + +function mathFloorOnBooleans(value) +{ + return Math.floor(value); +} +noInline(mathFloorOnBooleans); + +// The trivial cases first. +for (var i = 1; i < 1e4; ++i) { + var flooredValue = mathFloorOnIntegers(i); + if (flooredValue !== i) + throw new Error("mathFloorOnIntegers(" + i + ") = " + flooredValue); + + var flooredValue = mathFloorOnIntegers(-i); + if (flooredValue !== -i) + throw new Error("mathFloorOnIntegers(" + -i + ") = " + flooredValue); + + var doubleLow = i + 0.4; + var flooredValue = mathFloorOnDoubles(doubleLow); + if (flooredValue !== i) + throw new Error("mathFloorOnDoubles(" + doubleLow + ") = " + flooredValue); + + var doubleHigh = i + 0.6; + var flooredValue = mathFloorOnDoubles(doubleHigh); + if (flooredValue !== i) + throw new Error("mathFloorOnDoubles(" + doubleHigh + ") = " + flooredValue); + + var doubleMid = i + 0.5; + var flooredValue = mathFloorOnDoubles(doubleMid); + if (flooredValue !== i) + throw new Error("mathFloorOnDoubles(" + doubleMid + ") = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(-0.6); + if (flooredValue !== -1.0) + throw new Error("mathFloorOnDoubles(-0.6) = " + flooredValue); +} + +// Some more interesting cases, some of them well OSR exit when the return value is zero. +for (var i = 0; i < 1e4; ++i) { + var flooredValue = mathFloorOnIntegers(i); + if (flooredValue !== i) + throw new Error("mathFloorOnIntegers(" + i + ") = " + flooredValue); + + var flooredValue = mathFloorOnIntegers(-i); + if (flooredValue !== -i) + throw new Error("mathFloorOnIntegers(-" + i + ") = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(-0.4); + if (flooredValue !== -1.00) + throw new Error("mathFloorOnDoubles(-0.4) = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(-0.5); + if (flooredValue !== -1.0) + throw new Error("mathFloorOnDoubles(-0.5) = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(-0); + if (!(flooredValue === 0 && (1/flooredValue) === -Infinity)) + throw new Error("mathFloorOnDoubles(-0) = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(NaN); + if (flooredValue === flooredValue) + throw new Error("mathFloorOnDoubles(NaN) = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(Number.POSITIVE_INFINITY); + if (flooredValue !== Number.POSITIVE_INFINITY) + throw new Error("mathFloorOnDoubles(Number.POSITIVE_INFINITY) = " + flooredValue); + + var flooredValue = mathFloorOnDoubles(Number.NEGATIVE_INFINITY); + if (flooredValue !== Number.NEGATIVE_INFINITY) + throw new Error("mathFloorOnDoubles(Number.NEGATIVE_INFINITY) = " + flooredValue); + + var boolean = !!(i % 2); + var flooredBoolean = mathFloorOnBooleans(boolean); + if (flooredBoolean != boolean) + throw new Error("mathFloorOnDoubles(" + boolean + ") = " + flooredBoolean); +} + +function uselessMathFloor(value) +{ + return Math.floor(value|0); +} +noInline(uselessMathFloor); + +for (var i = 0; i < 1e4; ++i) { + var flooredValue = uselessMathFloor(i); + if (flooredValue !== i) + throw new Error("uselessMathFloor(" + i + ") = " + flooredValue); + + var doubleLow = i + 0.4; + var flooredValue = uselessMathFloor(doubleLow); + if (flooredValue !== i) + throw new Error("uselessMathFloor(" + doubleLow + ") = " + flooredValue); + + var doubleHigh = i + 0.6; + var flooredValue = uselessMathFloor(doubleHigh); + if (flooredValue !== i) + throw new Error("uselessMathFloor(" + doubleHigh + ") = " + flooredValue); + + var doubleMid = i + 0.5; + var flooredValue = uselessMathFloor(doubleMid); + if (flooredValue !== i) + throw new Error("uselessMathFloor(" + doubleMid + ") = " + flooredValue); + + var flooredValue = uselessMathFloor(-0.4); + if (flooredValue !== 0) + throw new Error("uselessMathFloor(-0.4) = " + flooredValue); + + var flooredValue = uselessMathFloor(-0.5); + if (flooredValue !== 0) + throw new Error("uselessMathFloor(-0.5) = " + flooredValue); + + var flooredValue = uselessMathFloor(-0.6); + if (flooredValue !== 0) + throw new Error("uselessMathFloor(-0.6) = " + flooredValue); +} + +function mathFloorWithOverflow(value) +{ + return Math.floor(value); +} +noInline(mathFloorWithOverflow); + +for (var i = 0; i < 1e4; ++i) { + var bigValue = 1000000000000; + var flooredValue = mathFloorWithOverflow(bigValue); + if (flooredValue !== bigValue) + throw new Error("mathFloorWithOverflow(" + bigValue + ") = " + flooredValue); +} + +function mathFloorConsumedAsDouble(value) +{ + return Math.floor(value) * 0.5; +} +noInline(mathFloorConsumedAsDouble); + +for (var i = 0; i < 1e4; ++i) { + var doubleValue = i + 0.1; + var flooredValue = mathFloorConsumedAsDouble(doubleValue); + if (flooredValue !== (i * 0.5)) + throw new Error("mathFloorConsumedAsDouble(" + doubleValue + ") = " + flooredValue); + + var doubleValue = i + 0.6; + var flooredValue = mathFloorConsumedAsDouble(doubleValue); + if (flooredValue !== (i * 0.5)) + throw new Error("mathFloorConsumedAsDouble(" + doubleValue + ") = " + flooredValue); + +} + +function mathFloorDoesNotCareAboutMinusZero(value) +{ + return Math.floor(value)|0; +} +noInline(mathFloorDoesNotCareAboutMinusZero); + +for (var i = 0; i < 1e4; ++i) { + var doubleMid = i + 0.5; + var flooredValue = mathFloorDoesNotCareAboutMinusZero(doubleMid); + if (flooredValue !== i) + throw new Error("mathFloorDoesNotCareAboutMinusZero(" + doubleMid + ") = " + flooredValue); +} + + +// *** Function arguments. *** +function mathFloorNoArguments() +{ + return Math.floor(); +} +noInline(mathFloorNoArguments); + +function mathFloorTooManyArguments(a, b, c) +{ + return Math.floor(a, b, c); +} +noInline(mathFloorTooManyArguments); + +for (var i = 0; i < 1e4; ++i) { + var value = mathFloorNoArguments(); + if (value === value) + throw new Error("mathFloorNoArguments() = " + value); + + var value = mathFloorTooManyArguments(2.1, 3, 5); + if (value !== 2) + throw new Error("mathFloorTooManyArguments() = " + value); +} + + +// *** Constant as arguments. *** +function testMathFloorOnConstants() +{ + var value = Math.floor(0); + if (value !== 0) + throw new Error("Math.floor(0) = " + value); + var value = Math.floor(-0); + if (!(value === 0 && (1/value) === -Infinity)) + throw new Error("Math.floor(-0) = " + value); + var value = Math.floor(1); + if (value !== 1) + throw new Error("Math.floor(1) = " + value); + var value = Math.floor(-1); + if (value !== -1) + throw new Error("Math.floor(-1) = " + value); + var value = Math.floor(42); + if (value !== 42) + throw new Error("Math.floor(42) = " + value); + var value = Math.floor(-42.2); + if (value !== -43) + throw new Error("Math.floor(-42.2) = " + value); + var value = Math.floor(NaN); + if (value === value) + throw new Error("Math.floor(NaN) = " + value); + var value = Math.floor(Number.POSITIVE_INFINITY); + if (value !== Infinity) + throw new Error("Math.floor(Number.POSITIVE_INFINITY) = " + value); + var value = Math.floor(Number.NEGATIVE_INFINITY); + if (value !== -Infinity) + throw new Error("Math.floor(Number.NEGATIVE_INFINITY) = " + value); + var value = Math.floor(Math.E); + if (value !== 2) + throw new Error("Math.floor(Math.E) = " + value); +} +noInline(testMathFloorOnConstants); + +for (var i = 0; i < 1e4; ++i) { + testMathFloorOnConstants(); +} + + +// *** Struct transition. *** +function mathFloorStructTransition(value) +{ + return Math.floor(value); +} +noInline(mathFloorStructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = mathFloorStructTransition(42.5); + if (value !== 42) + throw new Error("mathFloorStructTransition(42.5) = " + value); +} + +Math.floor = function() { return arguments[0] + 5; } + +var value = mathFloorStructTransition(42); +if (value !== 47) + throw new Error("mathFloorStructTransition(42) after transition = " + value); diff --git a/implementation-contributed/javascriptcore/stress/math-log-basics.js b/implementation-contributed/javascriptcore/stress/math-log-basics.js new file mode 100644 index 0000000000..d6d1d142d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-log-basics.js @@ -0,0 +1,128 @@ +// Basic cases of Math.log(). + +// log(NaN). +function logNaN(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logNaN); + +function testLogNaN() { + for (var i = 0; i < 10000; ++i) { + var result = logNaN(NaN); + if (!isNaN(result)) + throw "logNaN(NaN) = " + result + ", expected NaN"; + } +} +testLogNaN(); + + +// log(0). +function logZero(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logZero); + +function testLogZero() { + for (var i = 0; i < 10000; ++i) { + var result = logZero(0); + if (result !== -Infinity) + throw "logZero(0) = " + result + ", expected -Infinity"; + } +} +testLogZero(); + + +// log(1). +function logOne(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logOne); + +function testLogOne() { + for (var i = 0; i < 10000; ++i) { + var result = logOne(1); + if (result !== 0) + throw "logOne(1) = " + result + ", expected 0"; + } +} +testLogOne(); + + +// log(-1). +function logMinusOne(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logMinusOne); + +function testLogMinusOne() { + for (var i = 0; i < 10000; ++i) { + var result = logMinusOne(-1); + if (!isNaN(result)) + throw "logMinusOne(-1) = " + result + ", expected NaN"; + } +} +testLogMinusOne(); + + +// log(Infinity). +function logInfinity(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logInfinity); + +function testLogInfinity() { + for (var i = 0; i < 10000; ++i) { + var result = logInfinity(Infinity); + if (result !== Infinity) + throw "logInfinity(Infinity) = " + result + ", expected Infinity"; + } +} +testLogInfinity(); + + +// log(-Infinity). +function logMinusInfinity(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logMinusInfinity); + +function testLogMinusInfinity() { + for (var i = 0; i < 10000; ++i) { + var result = logMinusInfinity(-Infinity); + if (!isNaN(result)) + throw "logMinusInfinity(-Infinity) = " + result + ", expected NaN"; + } +} +testLogMinusInfinity(); + + +// log(integer). +function logInteger(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logInteger); + +function testLogInteger() { + for (var i = 0; i < 10000; ++i) { + var result = logInteger(42); + if (result !== 3.7376696182833684) + throw "logInteger(42) = " + result + ", expected 3.7376696182833684"; + } +} +testLogInteger(); + + +// log(double). +function logDouble(antilogarithm) { + return Math.log(antilogarithm); +} +noInline(logDouble); + +function testLogDouble() { + for (var i = 0; i < 10000; ++i) { + var result = logDouble(Math.PI); + if (result !== 1.1447298858494002) + throw "logDouble(Math.PI) = " + result + ", expected 1.1447298858494002"; + } +} +testLogDouble(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-log-with-constants.js b/implementation-contributed/javascriptcore/stress/math-log-with-constants.js new file mode 100644 index 0000000000..c05a075484 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-log-with-constants.js @@ -0,0 +1,128 @@ +// Basic cases of Math.log() when the value passed are constants. + +// log(NaN). +function logNaN() { + return Math.log(NaN); +} +noInline(logNaN); + +function testLogNaN() { + for (var i = 0; i < 10000; ++i) { + var result = logNaN(); + if (!isNaN(result)) + throw "logNaN() = " + result + ", expected NaN"; + } +} +testLogNaN(); + + +// log(0). +function logZero() { + return Math.log(0); +} +noInline(logZero); + +function testLogZero() { + for (var i = 0; i < 10000; ++i) { + var result = logZero(); + if (result !== -Infinity) + throw "logZero() = " + result + ", expected -Infinity"; + } +} +testLogZero(); + + +// log(1). +function logOne() { + return Math.log(1); +} +noInline(logOne); + +function testLogOne() { + for (var i = 0; i < 10000; ++i) { + var result = logOne(); + if (result !== 0) + throw "logOne(1) = " + result + ", expected 0"; + } +} +testLogOne(); + + +// log(-1). +function logMinusOne() { + return Math.log(-1); +} +noInline(logMinusOne); + +function testLogMinusOne() { + for (var i = 0; i < 10000; ++i) { + var result = logMinusOne(); + if (!isNaN(result)) + throw "logMinusOne() = " + result + ", expected NaN"; + } +} +testLogMinusOne(); + + +// log(Infinity). +function logInfinity() { + return Math.log(Infinity); +} +noInline(logInfinity); + +function testLogInfinity() { + for (var i = 0; i < 10000; ++i) { + var result = logInfinity(); + if (result !== Infinity) + throw "logInfinity() = " + result + ", expected Infinity"; + } +} +testLogInfinity(); + + +// log(-Infinity). +function logMinusInfinity() { + return Math.log(-Infinity); +} +noInline(logMinusInfinity); + +function testLogMinusInfinity() { + for (var i = 0; i < 10000; ++i) { + var result = logMinusInfinity(); + if (!isNaN(result)) + throw "logMinusInfinity() = " + result + ", expected NaN"; + } +} +testLogMinusInfinity(); + + +// log(integer). +function logInteger() { + return Math.log(42); +} +noInline(logInteger); + +function testLogInteger() { + for (var i = 0; i < 10000; ++i) { + var result = logInteger(); + if (result !== 3.7376696182833684) + throw "logInteger() = " + result + ", expected 3.7376696182833684"; + } +} +testLogInteger(); + + +// log(double). +function logDouble() { + return Math.log(Math.PI); +} +noInline(logDouble); + +function testLogDouble() { + for (var i = 0; i < 10000; ++i) { + var result = logDouble(); + if (result !== 1.1447298858494002) + throw "logDouble() = " + result + ", expected 1.1447298858494002"; + } +} +testLogDouble(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-max-min-no-arguments.js b/implementation-contributed/javascriptcore/stress/math-max-min-no-arguments.js new file mode 100644 index 0000000000..3bf5b80d9e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-max-min-no-arguments.js @@ -0,0 +1,20 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} + +function min() { + return Math.min(); +} + +function max() { + return Math.max(); +} + +function test() { + for (let i = 0; i < 10000; i++) { + assert(min() === Infinity); + assert(max() === -Infinity); + } +} +test(); diff --git a/implementation-contributed/javascriptcore/stress/math-pow-basics.js b/implementation-contributed/javascriptcore/stress/math-pow-basics.js new file mode 100644 index 0000000000..1f1ca1ef4d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-basics.js @@ -0,0 +1,286 @@ +function valuesAreClose(a, b) { + return Math.abs(a / b) - 1 < 1e-10; +} + +// Some random values. +function mathPowDoubleDouble1(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble1); + +function mathPowDoubleInt1(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt1); + +function test1(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble1(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble1(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt1(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt1(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test1); +test1(376.76522764377296, 10.81699226051569, 7.333951929109252e+27, 5.76378989575089e+25); + +function mathPowDoubleDouble2(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble2); + +function mathPowDoubleInt2(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt2); +function test2(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble2(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble2(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt2(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt2(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test2); +test2(376.76522764377296, -5.81699226051569, 1.035180331187579e-15, 1.3171824310400265e-13); + +function mathPowDoubleDouble3(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble3); + +function mathPowDoubleInt3(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt3); +function test3(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble3(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble3(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt3(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt3(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test3); +test3(-37.676522764377296, 10.0, 5763789895750892, 5763789895750892); + +// Exponent zero. +function mathPowDoubleDouble4(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble4); + +function mathPowDoubleInt4(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt4); +function test4(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble4(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble4(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt4(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt4(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test4); +test4(-37.676522764377296, 0, 1, 1); + +// Exponent minus zero. +function mathPowDoubleDouble5(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble5); + +function mathPowDoubleInt5(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt5); +function test5(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble5(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble5(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt5(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test5); +test5(-37.676522764377296, -0, 1, 1); + +// Exponent 1. +function mathPowDoubleDouble6(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble6); + +function mathPowDoubleInt6(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt6); +function test6(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble6(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble6(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt6(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt6(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test6); +test6(-37.676522764377296, 1.0, -37.676522764377296, -37.676522764377296); + +// Exponent -1. +function mathPowDoubleDouble7(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble7); + +function mathPowDoubleInt7(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt7); +function test7(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble7(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble7(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test7); +test7(-37.676522764377296, -1.0, -0.026541727490454296, -0.026541727490454296); + +// Let's square things. +function mathPowDoubleDouble8(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble8); + +function mathPowDoubleInt8(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt8); +function test8(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble8(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble8(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt8(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt8(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test8); +test8(-37.676522764377296, 2.0, 1419.5203676146407, 1419.5203676146407); + +function mathPowDoubleDouble9(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble9); + +function mathPowDoubleInt9(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt9); +function test9(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble9(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble9(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt9(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt9(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test9); +test9(37.676522764377296, 2.0, 1419.5203676146407, 1419.5203676146407); + +// Let's cube things. +function mathPowDoubleDouble10(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble10); + +function mathPowDoubleInt10(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt10); +function test10(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble10(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt10(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test10); +test10(-37.676522764377296, 3.0, -53482.591444930236, -53482.591444930236); + +function mathPowDoubleDouble11(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDouble11); + +function mathPowDoubleInt11(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleInt11); +function test11(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble11(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt11(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test11); +test11(37.676522764377296, 3.0, 53482.591444930236, 53482.591444930236); diff --git a/implementation-contributed/javascriptcore/stress/math-pow-becomes-custom-function.js b/implementation-contributed/javascriptcore/stress/math-pow-becomes-custom-function.js new file mode 100644 index 0000000000..8893acc507 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-becomes-custom-function.js @@ -0,0 +1,18 @@ +function mathPowWrapper(x, y) { + return Math.pow(x, y); +} +noInline(mathPowWrapper); + +function testChangingMathPow() { + var result = 0; + for (var i = 0; i < 10000; ++i) { + result += mathPowWrapper(3, 2); + } + Math.pow = function(a, b) { return a + b; } + for (var i = 0; i < 10000; ++i) { + result += mathPowWrapper(3, 2); + } + if (result !== 140000) + throw "Result = " + result + ", expected 140000"; +} +testChangingMathPow(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-pow-coherency.js b/implementation-contributed/javascriptcore/stress/math-pow-coherency.js new file mode 100644 index 0000000000..636032bcc0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-coherency.js @@ -0,0 +1,95 @@ +//@ skip + +// This test checks that the pow function returns coherent results: +// (a) Across different compilation tiers +// (b) With integer exponents represented as int32 or as double + +function pow42() { + return { value: Math.pow(2.1, 42), ftl: isFinalTier() }; +} + +function build42AsDouble() { + function opaqueAdd(x, y) { return x + y; } + return opaqueAdd(42 - 0.123, 0.123); +} + +var double42 = build42AsDouble(); + +if (double42 !== 42) + throw new Error("42 (as double) should be === to 42 (as int)"); + +function powDouble42() { + return { value: Math.pow(2.1, double42), ftl: isFinalTier() }; +} + +function clobber() { } +noInline(clobber); + +function pow42NoConstantFolding() { + var obj = { x: 2.1, y: 42 }; + clobber(obj); + return { value: Math.pow(obj.x, obj.y), ftl: isFinalTier() }; +} + +function powDouble42NoConstantFolding() { + var obj = { x: 2.1, y: double42 }; + clobber(obj); + return { value: Math.pow(obj.x, obj.y), ftl: isFinalTier() }; +} + +var results = { 'jit': {}, 'dfg': {}, 'ftl': {} }; +var funs = [ + [ 'pow42', pow42 ], + [ 'powDouble42', powDouble42 ], + [ 'pow42NoConstantFolding', pow42NoConstantFolding ], + [ 'powDouble42NoConstantFolding', powDouble42NoConstantFolding ] +]; +var tiers = ['jit', 'dfg', 'ftl']; + +for (var i = 0; i < 100000; ++i) { + for (var j in funs) { + var name = funs[j][0]; + var fun = funs[j][1]; + var result = fun(); + if (result.ftl) + results['ftl'][name] = result.value; + else if (numberOfDFGCompiles(fun) > 0) + results['dfg'][name] = result.value; + else + results['jit'][name] = result.value; + } +} + +var errors = []; +var valuesFor = {}; +for (var i in tiers) { + var tier = tiers[i]; + var result = results[tier]; + // We don't have this tier + if (Object.keys(result).length === 0) + continue; + + for (var j in funs) { + var name = funs[j][0]; + if (!(name in result)) + errors.push(name + " was not compiled to " + tier); + else if (!(name in valuesFor)) + valuesFor[name] = { value: result[name], tiers: [tier] }; + else if (result[name] !== valuesFor[name].value) + errors.push(name + " has different results in " + tier + " (" + result[name] + ") and " + valuesFor[name].tiers + " (" + valuesFor[name].value + ")"); + else + valuesFor[name].tiers.push(tier); + } +} + +var reference = funs[0][0]; +var result = valuesFor[reference].value; + +for (var j in funs) { + var name = funs[j][0]; + if (valuesFor[name].value !== result) + errors.push(name + " (" + valuesFor[name].value + ") and " + reference + " (" + result + ") have different results"); +} + +if (errors.length > 0) + throw new Error(errors.join('\n')); diff --git a/implementation-contributed/javascriptcore/stress/math-pow-integer-exponent-fastpath.js b/implementation-contributed/javascriptcore/stress/math-pow-integer-exponent-fastpath.js new file mode 100644 index 0000000000..d606c44f95 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-integer-exponent-fastpath.js @@ -0,0 +1,56 @@ +function valuesAreClose(a, b) { + return Math.abs(a / b) - 1 < 1e-10; +} + +// Small exponent values are handled through a simpler inline loop. Test that it is not observable. +function mathPowDoubleDoubleTestExponentFifty(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDoubleTestExponentFifty); + +function mathPowDoubleIntTestExponentFifty(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleIntTestExponentFifty); +function testExponentFifty(x, y, expected) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDoubleTestExponentFifty(x, y); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, Math.pow(" + x + ", " + y + ") = " + result + " expected value close to " + expected; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleIntTestExponentFifty(x, integerY); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, Math.pow(" + x + ", " + integerY + ") = " + result + " expected value close to " + expected; + } +} +noInline(testExponentFifty); +testExponentFifty(53.70901164133102, 50.0, 3.179494118120144e+86); +testExponentFifty(53.70901164133102, -10.0, 5.006432842621192e-18); + +function mathPowDoubleDoubleTestExponentTenThousands(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleDoubleTestExponentTenThousands); + +function mathPowDoubleIntTestExponentTenThousands(x, y) { + return Math.pow(x, y) +} +noInline(mathPowDoubleIntTestExponentTenThousands); +function testExponentTenThousands(x, y, expected) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDoubleTestExponentTenThousands(x, y); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, Math.pow(" + x + ", " + y + ") = " + result + " expected value close to " + expected; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleIntTestExponentTenThousands(x, integerY); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, Math.pow(" + x + ", " + integerY + ") = " + result + " expected value close to " + expected; + } +} +noInline(testExponentTenThousands); +testExponentTenThousands(1.001, 10000.0, 21916.681339048373); +testExponentTenThousands(1.001, -1.0, 0.9990009990009991); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-pow-nan-behaviors.js b/implementation-contributed/javascriptcore/stress/math-pow-nan-behaviors.js new file mode 100644 index 0000000000..d67a1f99fb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-nan-behaviors.js @@ -0,0 +1,209 @@ +// If an argument is NaN, the result of Math.pow(x, y) is NaN. +function testIntegerBaseWithNaNExponentStatic() { + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(5, NaN); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(5, NaN) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(i, NaN); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(i, NaN) = " + result + " with i = " + i; + } +} +noInline(testIntegerBaseWithNaNExponentStatic); +testIntegerBaseWithNaNExponentStatic(); + +function mathPowIntegerBaseWithNaNExponentDynamic(x, y) { + return Math.pow(x, y); +} +noInline(mathPowIntegerBaseWithNaNExponentDynamic); +function testIntegerBaseWithNaNExponentDynamic() { + // Warm up with 2 integers. + for (var i = 0; i < 10000; ++i) { + var result = mathPowIntegerBaseWithNaNExponentDynamic(2, 5); + if (result !== 32) + throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(2, 5) = " + result + ", expected 32." + } + + for (var i = 0; i < 10000; ++i) { + var result = mathPowIntegerBaseWithNaNExponentDynamic(i, NaN); + if (!isNaN(result)) + throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(i, NaN) = " + result + " with i = " + i + ", expected NaN"; + } +} +noInline(testIntegerBaseWithNaNExponentDynamic); +testIntegerBaseWithNaNExponentDynamic(); + +function testFloatingPointBaseWithNaNExponentStatic() { + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(5.5, NaN); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(5.5, NaN) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(i + 0.5, NaN); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(i + 0.5, NaN) = " + result + " with i = " + i; + } +} +noInline(testFloatingPointBaseWithNaNExponentStatic); +testFloatingPointBaseWithNaNExponentStatic(); + +function mathPowFloatingPointBaseWithNaNExponentDynamic(x, y) { + return Math.pow(x, y); +} +noInline(mathPowFloatingPointBaseWithNaNExponentDynamic); +function testFloatingPointBaseWithNaNExponentDynamic() { + // Warm up with 2 double. + for (var i = 0; i < 10000; ++i) { + var result = mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1); + if (result !== 107.02717054543135) + throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1) = " + result + ", expected 107.02717054543135." + } + + for (var i = 0; i < 10000; ++i) { + var result = mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN); + if (!isNaN(result)) + throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN) = " + result + " with i = " + i + ", expected NaN"; + } +} +noInline(testFloatingPointBaseWithNaNExponentDynamic); +testFloatingPointBaseWithNaNExponentDynamic(); + +// If y is +0, the result is 1, even if x is NaN. +// If y is -0, the result is 1, even if x is NaN. +// If x is NaN and y is nonzero, the result is NaN. +function testNaNBaseStatic() { + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(NaN, i + 1); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(NaN, i + 1) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(NaN, i + 1.5); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(NaN, i + 1.5) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(NaN, 0); + if (result !== 1) + throw "Error: bad result, Math.pow(NaN, 0) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(NaN, -0); + if (result !== 1) + throw "Error: bad result, Math.pow(NaN, -0) = " + result; + } +} +noInline(testNaNBaseStatic); +testNaNBaseStatic(); + +function mathPowNaNBaseDynamic1(x, y) { + return Math.pow(x, y); +} +function mathPowNaNBaseDynamic2(x, y) { + return Math.pow(x, y); +} +function mathPowNaNBaseDynamic3(x, y) { + return Math.pow(x, y); +} +function mathPowNaNBaseDynamic4(x, y) { + return Math.pow(x, y); +} +noInline(mathPowNaNBaseDynamic1); +noInline(mathPowNaNBaseDynamic2); +noInline(mathPowNaNBaseDynamic3); +noInline(mathPowNaNBaseDynamic4); +function testNaNBaseDynamic() { + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic1(NaN, i + 1); + if (!isNaN(result)) + throw "Error: bad result, mathPowNaNBaseDynamic1(NaN, i + 1) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic2(NaN, i + 1.5); + if (!isNaN(result)) + throw "Error: bad result, mathPowNaNBaseDynamic2(NaN, i + 1.5) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic3(NaN, 0); + if (result !== 1) + throw "Error: bad result, mathPowNaNBaseDynamic3(NaN, 0) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic4(NaN, -0); + if (result !== 1) + throw "Error: bad result, mathPowNaNBaseDynamic4(NaN, -0) = " + result; + } +} +noInline(testNaNBaseDynamic); +testNaNBaseDynamic(); + +// If abs(x) is 1 and y is +Inf the result is NaN. +// If abs(x) is 1 and y is −Inf the result is NaN. +function infiniteExponentsStatic() { + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(1, Number.POSITIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(1, Number.POSITIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(-1, Number.POSITIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(-1, Number.POSITIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(1, Number.NEGATIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(1, Number.NEGATIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = Math.pow(-1, Number.NEGATIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, Math.pow(-1, Number.NEGATIVE_INFINITY) = " + result; + } +} +noInline(infiniteExponentsStatic); +infiniteExponentsStatic(); + +function mathPowInfiniteExponentsDynamic1(x, y) { + return Math.pow(x, y); +} +function mathPowInfiniteExponentsDynamic2(x, y) { + return Math.pow(x, y); +} +function mathPowInfiniteExponentsDynamic3(x, y) { + return Math.pow(x, y); +} +function mathPowInfiniteExponentsDynamic4(x, y) { + return Math.pow(x, y); +} +noInline(mathPowInfiniteExponentsDynamic1); +noInline(mathPowInfiniteExponentsDynamic2); +noInline(mathPowInfiniteExponentsDynamic3); +noInline(mathPowInfiniteExponentsDynamic4); +function infiniteExponentsDynamic() { + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY) = " + result; + } +} +noInline(infiniteExponentsDynamic); +infiniteExponentsDynamic(); diff --git a/implementation-contributed/javascriptcore/stress/math-pow-stable-results.js b/implementation-contributed/javascriptcore/stress/math-pow-stable-results.js new file mode 100644 index 0000000000..d2a1de2295 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-stable-results.js @@ -0,0 +1,85 @@ +// This test verify the results of Math.pow() do not change as we change optimization tier. + +function opaquePow(a, b) +{ + return Math.pow(a, b); +} +noInline(opaquePow); + + +let caseStrings = [ + "0", + "-0.", + "0.5", + "1", + "2", + "-0.5", + "-1", + "999", + "1000", + "1001", + "NaN", + "Infinity", + "-Infinity", + "Math.PI", + "Math.LN2", + "Math.LN10", + "Math.E", + "Math.LOG10E", + "Math.LOG2E", + "Math.SQRT2" +]; +let cases = []; +for (let caseString of caseStrings) { + cases.push(eval(caseString)); +} + +let expectedResults = []; +let constantBaseFunctions = []; +let constantExponentFunctions = []; +for (let i = 0; i < cases.length; ++i) { + let base = cases[i]; + + expectedResults[i] = []; + for (let j = 0; j < cases.length; ++j) { + let exponent = cases[j]; + expectedResults[i][j] = Math.pow(base, exponent); + } + + eval("constantBaseFunctions[i] = function (exponent) { return Math.pow(" + caseStrings[i] + ", exponent); }"); + eval("constantExponentFunctions[i] = function (base) { return Math.pow(base, " + caseStrings[i] + "); }"); +} + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + +for (let tierUpLoopCounter = 0; tierUpLoopCounter < 1e3; ++tierUpLoopCounter) { + for (let i = 0; i < cases.length; ++i) { + let base = cases[i]; + for (let j = 0; j < cases.length; ++j) { + let exponent = cases[j]; + let expectedResult = expectedResults[i][j]; + let result = opaquePow(base, exponent); + if (!isIdentical(result, expectedResult)) + throw `Failed opaquePow with base = ${base} exponent = ${exponent} expected (${expectedResult}) got (${result})`; + + result = constantBaseFunctions[i](exponent); + if (!isIdentical(result, expectedResult)) + throw `Failed constantBaseFunctions with base = ${base} exponent = ${exponent} expected (${expectedResult}) got (${result})`; + + result = constantExponentFunctions[j](base); + if (!isIdentical(result, expectedResult)) + throw `Failed constantExponentFunctions with base = ${base} exponent = ${exponent} expected (${expectedResult}) got (${result})`; + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/math-pow-with-constants.js b/implementation-contributed/javascriptcore/stress/math-pow-with-constants.js new file mode 100644 index 0000000000..090f5b7728 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-with-constants.js @@ -0,0 +1,285 @@ +function exponentIsZero(x) { + return Math.pow(x, 0); +} +noInline(exponentIsZero); + +function testExponentIsZero() { + for (var i = 0; i < 10000; ++i) { + var result = exponentIsZero(5); + if (result !== 1) + throw "Error: zeroExponent(5) should be 1, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = exponentIsZero(5.5); + if (result !== 1) + throw "Error: zeroExponent(5.5) should be 1, was = " + result; + } +} +testExponentIsZero(); + + +function exponentIsOne(x) { + return Math.pow(x, 1); +} +noInline(exponentIsOne); + +function testExponentIsOne() { + for (var i = 0; i < 10000; ++i) { + var result = exponentIsOne(5); + if (result !== 5) + throw "Error: exponentIsOne(5) should be 5, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = exponentIsOne(5.5); + if (result !== 5.5) + throw "Error: exponentIsOne(5.5) should be 5.5, was = " + result; + } +} +testExponentIsOne(); + + +function powUsedAsSqrt(x) { + return Math.pow(x, 0.5); +} +noInline(powUsedAsSqrt); + +function testPowUsedAsSqrt() { + for (let i = 0; i < 1e4; ++i) { + let result = powUsedAsSqrt(4); + if (result !== Math.sqrt(4)) + throw "Error: powUsedAsSqrt(4) should be 2, was = " + result; + result = powUsedAsSqrt(4.4); + if (result !== Math.sqrt(4.4)) + throw "Error: powUsedAsSqrt(4) should be " + Math.sqrt(4.4) + ", was = " + result; + if (powUsedAsSqrt(Infinity) !== Infinity) + throw "Failed powUsedAsSqrt(Infinity)"; + if (powUsedAsSqrt(-Infinity) !== Infinity) + throw "Failed powUsedAsSqrt(-Infinity)"; + let nanResult = powUsedAsSqrt(NaN) + if (nanResult === nanResult) + throw "Failed powUsedAsSqrt(NaN)"; + let zeroResult = powUsedAsSqrt(0.) + if (zeroResult || (1 / zeroResult) !== Infinity) + throw "Failed powUsedAsSqrt(0.)"; + let negativeZeroResult = powUsedAsSqrt(-0) + if (negativeZeroResult || (1 / negativeZeroResult) !== Infinity) + throw "Failed powUsedAsSqrt(-0)"; + } +} +testPowUsedAsSqrt(); + +function powUsedAsOneOverSqrt(x) { + return Math.pow(x, -0.5); +} +noInline(powUsedAsOneOverSqrt); + +function testPowUsedAsOneOverSqrt() { + for (let i = 0; i < 1e4; ++i) { + let result = powUsedAsOneOverSqrt(4); + if (result !== 0.5) + throw "Error: powUsedAsOneOverSqrt(4) should be 0.5, was = " + result; + result = powUsedAsOneOverSqrt(4.4); + if (result !== 1/Math.sqrt(4.4)) + throw "Error: powUsedAsOneOverSqrt(4) should be " + 1/Math.sqrt(4.4) + ", was = " + result; + if (powUsedAsOneOverSqrt(Infinity) !== 0) + throw "Failed powUsedAsOneOverSqrt(Infinity)"; + if (powUsedAsOneOverSqrt(-Infinity) !== 0) + throw "Failed powUsedAsOneOverSqrt(-Infinity)"; + let nanResult = powUsedAsOneOverSqrt(NaN) + if (nanResult === nanResult) + throw "Failed powUsedAsOneOverSqrt(NaN)"; + if (powUsedAsOneOverSqrt(0) !== Infinity) + throw "Failed powUsedAsOneOverSqrt(0)"; + if (powUsedAsOneOverSqrt(-0.) !== Infinity) + throw "Failed powUsedAsOneOverSqrt(-0.)"; + } +} +testPowUsedAsOneOverSqrt(); + +function powUsedAsSquare(x) { + return Math.pow(x, 2); +} +noInline(powUsedAsSquare); + +function testPowUsedAsSquare() { + for (let i = 0; i < 1e4; ++i) { + let result = powUsedAsSquare(2); + if (result !== 4) + throw "Error: powUsedAsSquare(4) should be 2, was = " + result; + result = powUsedAsSquare(4.4); + if (result !== 19.360000000000003) + throw "Error: powUsedAsSquare(4) should be " + 19.360000000000003 + ", was = " + result; + result = powUsedAsSquare(Math.PI); + if (result !== 9.869604401089358) + throw "Error: powUsedAsSquare(4) should be " + 9.869604401089358 + ", was = " + result; + if (powUsedAsSquare(Infinity) !== Infinity) + throw "Failed powUsedAsSquare(Infinity)"; + if (powUsedAsSquare(-Infinity) !== Infinity) + throw "Failed powUsedAsSquare(-Infinity)"; + let nanResult = powUsedAsSquare(NaN) + if (nanResult === nanResult) + throw "Failed powUsedAsSquare(NaN)"; + let zeroResult = powUsedAsSquare(0.) + if (zeroResult || (1 / zeroResult) !== Infinity) + throw "Failed powUsedAsSquare(0.)"; + let negativeZeroResult = powUsedAsSquare(-0) + if (negativeZeroResult || (1 / negativeZeroResult) !== Infinity) + throw "Failed powUsedAsSquare(-0)"; + } +} +testPowUsedAsSquare(); + +function intIntConstantsSmallNumbers() { + return Math.pow(42, 3); +} +function intIntConstantsLargeNumbers() { + // The result does not fit in a integer. + return Math.pow(42, 42); +} +function intIntSmallConstants() { + return Math.pow(42, 3); +} +function intDoubleConstants() { + return Math.pow(14, 42.5); +} +function doubleDoubleConstants() { + return Math.pow(13.5, 42.5); +} +function doubleIntConstants() { + return Math.pow(13.5, 52); +} +noInline(intIntConstantsSmallNumbers); +noInline(intIntConstantsLargeNumbers); +noInline(intDoubleConstants); +noInline(doubleDoubleConstants); +noInline(doubleIntConstants); + +function testBaseAndExponentConstantLiterals() +{ + for (var i = 0; i < 10000; ++i) { + var result = intIntConstantsSmallNumbers(); + if (result !== 74088) + throw "Error: intIntConstantsSmallNumbers() should be 74088, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = intIntConstantsLargeNumbers(); + if (result !== 1.5013093754529656e+68) + throw "Error: intIntConstantsLargeNumbers() should be 1.5013093754529656e+68, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = intDoubleConstants(); + if (result !== 5.1338303882015765e+48) + throw "Error: intDoubleConstants() should be 5.1338303882015765e+48, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = doubleDoubleConstants(); + if (result !== 1.0944228729647829e+48) + throw "Error: doubleDoubleConstants() should be 1.0944228729647829e+48, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = doubleIntConstants(); + if (result !== 5.989022735311158e+58) + throw "Error: doubleIntConstants() should be 5.989022735311158e+58, was = " + result; + } +} +testBaseAndExponentConstantLiterals(); + + +function exponentIsIntegerConstant(x) { + return Math.pow(x, 42); +} +noInline(exponentIsIntegerConstant); + +function testExponentIsIntegerConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsIntegerConstant(2); + if (result !== 4398046511104) + throw "Error: exponentIsIntegerConstant(2) should be 4398046511104, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsIntegerConstant(5); + if (result !== 2.2737367544323207e+29) + throw "Error: exponentIsIntegerConstant(5) should be 2.2737367544323207e+29, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsIntegerConstant(2.1); + if (result !== 34135823067412.42) + throw "Error: exponentIsIntegerConstant(2.1) should be 34135823067412.42, was = " + result; + } +} +testExponentIsIntegerConstant(); + + +function exponentIsDoubleConstant(x) { + return Math.pow(x, 42.5); +} +noInline(exponentIsDoubleConstant); + +function testExponentIsDoubleConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsDoubleConstant(2); + if (result !== 6219777023950.95) + throw "Error: exponentIsDoubleConstant(2) should be 6219777023950.95, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsDoubleConstant(5); + if (result !== 5.084229945850415e+29) + throw "Error: exponentIsDoubleConstant(5) should be 5.084229945850415e+29, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsDoubleConstant(2.1); + if (result !== 49467507261113.805) + throw "Error: exponentIsDoubleConstant(2.1) should be 49467507261113.805, was = " + result; + } +} +testExponentIsDoubleConstant(); + + +function exponentIsInfinityConstant(x) { + return Math.pow(x, Infinity); +} +noInline(exponentIsInfinityConstant); + +function testExponentIsInfinityConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsInfinityConstant(2); + if (result !== Infinity) + throw "Error: exponentIsInfinityConstant(2) should be Infinity, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsInfinityConstant(5); + if (result !== Infinity) + throw "Error: exponentIsInfinityConstant(5) should be Infinity, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsInfinityConstant(2.1); + if (result !== Infinity) + throw "Error: exponentIsInfinityConstant(2.1) should be Infinity, was = " + result; + } +} +testExponentIsInfinityConstant(); + + +function exponentIsNegativeInfinityConstant(x) { + return Math.pow(x, -Infinity); +} +noInline(exponentIsNegativeInfinityConstant); + +function testExponentIsNegativeInfinityConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsNegativeInfinityConstant(2); + if (result !== 0) + throw "Error: exponentIsNegativeInfinityConstant(2) should be zero, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsNegativeInfinityConstant(5); + if (result !== 0) + throw "Error: exponentIsNegativeInfinityConstant(5) should be zero, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsNegativeInfinityConstant(2.1); + if (result !== 0) + throw "Error: exponentIsNegativeInfinityConstant(2.1) should be zero, was = " + result; + } +} +testExponentIsNegativeInfinityConstant(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-pow-with-never-NaN-exponent.js b/implementation-contributed/javascriptcore/stress/math-pow-with-never-NaN-exponent.js new file mode 100644 index 0000000000..d5d6bc0d63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-pow-with-never-NaN-exponent.js @@ -0,0 +1,24 @@ +function exponentIsNonNanDouble1(x, doubleArrayIndex) { + var doubleArray = [4.4]; + return Math.pow(x, doubleArray[doubleArrayIndex]); +} +noInline(exponentIsNonNanDouble1); + +function exponentIsNonNanDouble2(x, doubleArray) { + return Math.pow(x, doubleArray[0]); +} +noInline(exponentIsNonNanDouble2); + +function testExponentIsDoubleConstant() { + for (var i = 0; i < 10000; ++i) { + var result = exponentIsNonNanDouble1(2, 0); + if (result !== 21.112126572366314) + throw "Error: exponentIsNonNanDouble1(2, 0) should be 21.112126572366314, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = exponentIsNonNanDouble2(3, [-1.5]); + if (result !== 0.19245008972987526) + throw "Error: exponentIsNonNanDouble2(3, [-1.5]) should be 0.19245008972987526, was = " + result; + } +} +testExponentIsDoubleConstant(); diff --git a/implementation-contributed/javascriptcore/stress/math-round-arith-rounding-mode.js b/implementation-contributed/javascriptcore/stress/math-round-arith-rounding-mode.js new file mode 100644 index 0000000000..09a27723aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-round-arith-rounding-mode.js @@ -0,0 +1,44 @@ +function firstCareAboutZeroSecondDoesNot(a) { + var resultA = Math.round(a); + var resultB = Math.round(a)|0; + return { resultA:resultA, resultB:resultB }; +} +noInline(firstCareAboutZeroSecondDoesNot); + +function firstDoNotCareAboutZeroSecondDoes(a) { + var resultA = Math.round(a)|0; + var resultB = Math.round(a); + return { resultA:resultA, resultB:resultB }; +} +noInline(firstDoNotCareAboutZeroSecondDoes); + +// Warmup with doubles, but nothing that would round to -0 to ensure we never +// see a double as result. The result must be integers, the input is kept to small values. +function warmup() { + for (var i = 0; i < 1e4; ++i) { + firstCareAboutZeroSecondDoesNot(42.6 + i); + firstDoNotCareAboutZeroSecondDoes(42.4 + i); + } +} +warmup(); + +function verifyNegativeZeroIsPreserved() { + for (var i = 0; i < 1e4; ++i) { + var result1 = firstCareAboutZeroSecondDoesNot(-0.1); + if (1 / result1.resultA !== -Infinity) { + throw "Failed firstCareAboutZeroSecondDoesNot(-0.1), resultA = " + result1.resultA; + } + if (1 / result1.resultB !== Infinity) { + throw "Failed firstCareAboutZeroSecondDoesNot(-0.1), resultB = " + result1.resultB; + } + var result2 = firstDoNotCareAboutZeroSecondDoes(-0.1); + if (1 / result2.resultA !== Infinity) { + throw "Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultA = " + result1.resultA; + } + if (1 / result2.resultB !== -Infinity) { + throw "Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultB = " + result1.resultB; + } + + } +} +verifyNegativeZeroIsPreserved(); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-round-basics.js b/implementation-contributed/javascriptcore/stress/math-round-basics.js new file mode 100644 index 0000000000..f61a6d4f47 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-round-basics.js @@ -0,0 +1,257 @@ + +function mathRoundOnIntegers(value) +{ + return Math.round(value); +} +noInline(mathRoundOnIntegers); + +function mathRoundOnDoubles(value) +{ + return Math.round(value); +} +noInline(mathRoundOnDoubles); + +function mathRoundOnBooleans(value) +{ + return Math.round(value); +} +noInline(mathRoundOnBooleans); + +// The trivial cases first. +for (var i = 1; i < 1e4; ++i) { + var roundedValue = mathRoundOnIntegers(i); + if (roundedValue !== i) + throw "mathRoundOnIntegers(" + i + ") = " + roundedValue; + + var roundedValue = mathRoundOnIntegers(-i); + if (roundedValue !== -i) + throw "mathRoundOnIntegers(" + -i + ") = " + roundedValue; + + var doubleLow = i + 0.4; + var roundedValue = mathRoundOnDoubles(doubleLow); + if (roundedValue !== i) + throw "mathRoundOnDoubles(" + doubleLow + ") = " + roundedValue; + + var doubleHigh = i + 0.6; + var roundedValue = mathRoundOnDoubles(doubleHigh); + if (roundedValue !== i + 1) + throw "mathRoundOnDoubles(" + doubleHigh + ") = " + roundedValue; + + var doubleMid = i + 0.5; + var roundedValue = mathRoundOnDoubles(doubleMid); + if (roundedValue !== i + 1) + throw "mathRoundOnDoubles(" + doubleMid + ") = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(-0.6); + if (roundedValue !== -1) + throw "mathRoundOnDoubles(-0.6) = " + roundedValue; +} + +// Some more interesting cases, some of them well OSR exit when the return value is zero. +for (var i = 0; i < 1e4; ++i) { + var roundedValue = mathRoundOnIntegers(i); + if (roundedValue !== i) + throw "mathRoundOnIntegers(" + i + ") = " + roundedValue; + + var roundedValue = mathRoundOnIntegers(-i); + if (roundedValue !== -i) + throw "mathRoundOnIntegers(-" + i + ") = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(-0.4); + if (roundedValue !== 0) + throw "mathRoundOnDoubles(-0.4) = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(-0.5); + if (roundedValue !== 0) + throw "mathRoundOnDoubles(-0.5) = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(-0); + if (!(roundedValue === 0 && (1/roundedValue) === -Infinity)) + throw "mathRoundOnDoubles(-0) = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(NaN); + if (roundedValue === roundedValue) + throw "mathRoundOnDoubles(NaN) = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(Number.POSITIVE_INFINITY); + if (roundedValue !== Number.POSITIVE_INFINITY) + throw "mathRoundOnDoubles(Number.POSITIVE_INFINITY) = " + roundedValue; + + var roundedValue = mathRoundOnDoubles(Number.NEGATIVE_INFINITY); + if (roundedValue !== Number.NEGATIVE_INFINITY) + throw "mathRoundOnDoubles(Number.NEGATIVE_INFINITY) = " + roundedValue; + + var boolean = !!(i % 2); + var roundedBoolean = mathRoundOnBooleans(boolean); + if (roundedBoolean != boolean) + throw "mathRoundOnDoubles(" + boolean + ") = " + roundedBoolean; +} + +function uselessMathRound(value) +{ + return Math.round(value|0); +} +noInline(uselessMathRound); + +for (var i = 0; i < 1e4; ++i) { + var roundedValue = uselessMathRound(i); + if (roundedValue !== i) + throw "uselessMathRound(" + i + ") = " + roundedValue; + + var doubleLow = i + 0.4; + var roundedValue = uselessMathRound(doubleLow); + if (roundedValue !== i) + throw "uselessMathRound(" + doubleLow + ") = " + roundedValue; + + var doubleHigh = i + 0.6; + var roundedValue = uselessMathRound(doubleHigh); + if (roundedValue !== i) + throw "uselessMathRound(" + doubleHigh + ") = " + roundedValue; + + var doubleMid = i + 0.5; + var roundedValue = uselessMathRound(doubleMid); + if (roundedValue !== i) + throw "uselessMathRound(" + doubleMid + ") = " + roundedValue; + + var roundedValue = uselessMathRound(-0.4); + if (roundedValue !== 0) + throw "uselessMathRound(-0.4) = " + roundedValue; + + var roundedValue = uselessMathRound(-0.5); + if (roundedValue !== 0) + throw "uselessMathRound(-0.5) = " + roundedValue; + + var roundedValue = uselessMathRound(-0.6); + if (roundedValue !== 0) + throw "uselessMathRound(-0.6) = " + roundedValue; +} + +function mathRoundWithOverflow(value) +{ + return Math.round(value); +} +noInline(mathRoundWithOverflow); + +for (var i = 0; i < 1e4; ++i) { + var bigValue = 1000000000000; + var roundedValue = mathRoundWithOverflow(bigValue); + if (roundedValue !== bigValue) + throw "mathRoundWithOverflow(" + bigValue + ") = " + roundedValue; +} + +function mathRoundConsumedAsDouble(value) +{ + return Math.round(value) * 0.5; +} +noInline(mathRoundConsumedAsDouble); + +for (var i = 0; i < 1e4; ++i) { + var doubleValue = i + 0.1; + var roundedValue = mathRoundConsumedAsDouble(doubleValue); + if (roundedValue !== (i * 0.5)) + throw "mathRoundConsumedAsDouble(" + doubleValue + ") = " + roundedValue; + + var doubleValue = i + 0.6; + var roundedValue = mathRoundConsumedAsDouble(doubleValue); + if (roundedValue !== ((i + 1) * 0.5)) + throw "mathRoundConsumedAsDouble(" + doubleValue + ") = " + roundedValue; + +} + +function mathRoundDoesNotCareAboutMinusZero(value) +{ + return Math.round(value)|0; +} +noInline(mathRoundDoesNotCareAboutMinusZero); + +for (var i = 0; i < 1e4; ++i) { + var doubleMid = i + 0.5; + var roundedValue = mathRoundDoesNotCareAboutMinusZero(doubleMid); + if (roundedValue !== i + 1) + throw "mathRoundDoesNotCareAboutMinusZero(" + doubleMid + ") = " + roundedValue; +} + + +// *** Function arguments. *** +function mathRoundNoArguments() +{ + return Math.round(); +} +noInline(mathRoundNoArguments); + +function mathRoundTooManyArguments(a, b, c) +{ + return Math.round(a, b, c); +} +noInline(mathRoundTooManyArguments); + +for (var i = 0; i < 1e4; ++i) { + var value = mathRoundNoArguments(); + if (value === value) + throw "mathRoundNoArguments() = " + value; + + var value = mathRoundTooManyArguments(2.1, 3, 5); + if (value !== 2) + throw "mathRoundTooManyArguments() = " + value; +} + + +// *** Constant as arguments. *** +function testMathRoundOnConstants() +{ + var value = Math.round(0); + if (value !== 0) + throw "Math.round(0) = " + value; + var value = Math.round(-0); + if (!(value === 0 && (1/value) === -Infinity)) + throw "Math.round(-0) = " + value; + var value = Math.round(1); + if (value !== 1) + throw "Math.round(1) = " + value; + var value = Math.round(-1); + if (value !== -1) + throw "Math.round(-1) = " + value; + var value = Math.round(42); + if (value !== 42) + throw "Math.round(42) = " + value; + var value = Math.round(-42.2); + if (value !== -42) + throw "Math.round(-42.2) = " + value; + var value = Math.round(NaN); + if (value === value) + throw "Math.round(NaN) = " + value; + var value = Math.round(Number.POSITIVE_INFINITY); + if (value !== Infinity) + throw "Math.round(Number.POSITIVE_INFINITY) = " + value; + var value = Math.round(Number.NEGATIVE_INFINITY); + if (value !== -Infinity) + throw "Math.round(Number.NEGATIVE_INFINITY) = " + value; + var value = Math.round(Math.E); + if (value !== 3) + throw "Math.round(Math.E) = " + value; +} +noInline(testMathRoundOnConstants); + +for (var i = 0; i < 1e4; ++i) { + testMathRoundOnConstants(); +} + + +// *** Struct transition. *** +function mathRoundStructTransition(value) +{ + return Math.round(value); +} +noInline(mathRoundStructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = mathRoundStructTransition(42.5); + if (value !== 43) + throw "mathRoundStructTransition(42.5) = " + value; +} + +Math.round = function() { return arguments[0] + 5; } + +var value = mathRoundStructTransition(42); +if (value !== 47) + throw "mathRoundStructTransition(42) after transition = " + value; diff --git a/implementation-contributed/javascriptcore/stress/math-round-should-not-use-truncate.js b/implementation-contributed/javascriptcore/stress/math-round-should-not-use-truncate.js new file mode 100644 index 0000000000..bae0782d34 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-round-should-not-use-truncate.js @@ -0,0 +1,12 @@ +function mathRoundDoesNotCareAboutMinusZero(value) +{ + return Math.round(value); +} +noInline(mathRoundDoesNotCareAboutMinusZero); + +for (var i = 0; i < 1e4; ++i) { + var doubleMid = -9901 - 0.6; + var roundedValue = mathRoundDoesNotCareAboutMinusZero(doubleMid); + if (roundedValue !== -9902) + throw "mathRoundDoesNotCareAboutMinusZero(" + doubleMid + ") = " + roundedValue; +} diff --git a/implementation-contributed/javascriptcore/stress/math-rounding-infinity.js b/implementation-contributed/javascriptcore/stress/math-rounding-infinity.js new file mode 100644 index 0000000000..a935380041 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-rounding-infinity.js @@ -0,0 +1,39 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testRound(value) +{ + return Math.round(value); +} +noInline(testRound); + +function testFloor(value) +{ + return Math.floor(value); +} +noInline(testFloor); + +function testCeil(value) +{ + return Math.ceil(value); +} +noInline(testCeil); + +function testTrunc(value) +{ + return Math.trunc(value); +} +noInline(testTrunc); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testRound(Infinity), Infinity); + shouldBe(testRound(-Infinity), -Infinity); + shouldBe(testFloor(Infinity), Infinity); + shouldBe(testFloor(-Infinity), -Infinity); + shouldBe(testCeil(Infinity), Infinity); + shouldBe(testCeil(-Infinity), -Infinity); + shouldBe(testTrunc(Infinity), Infinity); + shouldBe(testTrunc(-Infinity), -Infinity); +} diff --git a/implementation-contributed/javascriptcore/stress/math-rounding-nan.js b/implementation-contributed/javascriptcore/stress/math-rounding-nan.js new file mode 100644 index 0000000000..de1e1344a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-rounding-nan.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testRound(value) +{ + return Math.round(value); +} +noInline(testRound); + +function testFloor(value) +{ + return Math.floor(value); +} +noInline(testFloor); + +function testCeil(value) +{ + return Math.ceil(value); +} +noInline(testCeil); + +function testTrunc(value) +{ + return Math.trunc(value); +} +noInline(testTrunc); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(Number.isNaN(testRound(NaN)), true); + shouldBe(Number.isNaN(testFloor(NaN)), true); + shouldBe(Number.isNaN(testCeil(NaN)), true); + shouldBe(Number.isNaN(testTrunc(NaN)), true); +} diff --git a/implementation-contributed/javascriptcore/stress/math-rounding-negative-zero.js b/implementation-contributed/javascriptcore/stress/math-rounding-negative-zero.js new file mode 100644 index 0000000000..1a5baa24be --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-rounding-negative-zero.js @@ -0,0 +1,79 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testRound(value) +{ + return Math.round(value); +} +noInline(testRound); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(1 / testRound(-0.4), -Infinity); + shouldBe(1 / testRound(-0.5), -Infinity); + shouldBe(1 / testRound(-0.6), -1.0); + shouldBe(1 / testRound(-0.0), -Infinity); + shouldBe(1 / testRound(0.1), Infinity); +} + +function testFloor(value) +{ + return Math.floor(value); +} +noInline(testFloor); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(1 / testFloor(-0.0), -Infinity); +} + +function testCeil(value) +{ + return Math.ceil(value); +} +noInline(testCeil); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(1 / testCeil(-0.0), -Infinity); + shouldBe(1 / testCeil(-0.9), -Infinity); +} + +function testRoundNonNegativeZero(value) +{ + return Math.round(value) | 0; +} +noInline(testRoundNonNegativeZero); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(testRoundNonNegativeZero(0.4), 0); + shouldBe(testRoundNonNegativeZero(0.5), 1); + shouldBe(testRoundNonNegativeZero(0.6), 1); + shouldBe(testRoundNonNegativeZero(0.0), 0); + shouldBe(testRoundNonNegativeZero(0.1), 0); +} +shouldBe(1 / testRoundNonNegativeZero(-0.4), Infinity); + +function testRoundNonNegativeZero2(value) +{ + return Math.round(value) | 0; +} +noInline(testRoundNonNegativeZero2); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(1 / testRoundNonNegativeZero2(-0.4), Infinity); + shouldBe(1 / testRoundNonNegativeZero2(-0.5), Infinity); + shouldBe(1 / testRoundNonNegativeZero2(-0.6), -1.0); + shouldBe(1 / testRoundNonNegativeZero2(-0.0), Infinity); + shouldBe(1 / testRoundNonNegativeZero2(0.1), Infinity); +} + +function testTrunc(value) +{ + return Math.trunc(value); +} +noInline(testTrunc); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(1 / testTrunc(0.0), Infinity); + shouldBe(1 / testTrunc(-0.0), -Infinity); +} diff --git a/implementation-contributed/javascriptcore/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js b/implementation-contributed/javascriptcore/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js new file mode 100644 index 0000000000..33325238d3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-sqrt-basics-disable-architecture-specific-optimizations.js @@ -0,0 +1,48 @@ +//@ run("no-architecture-specific-optimizations", "--useArchitectureSpecificOptimizations=false", *NO_CJIT_OPTIONS) +//@ run("no-architecture-specific-optimizations-ftl", "--useArchitectureSpecificOptimizations=false", *FTL_OPTIONS) + +// Basic cases of Math.sqrt(). +function sqrtOnInteger(radicand) { + return Math.sqrt(radicand); +} +noInline(sqrtOnInteger); + +function testSquareRoot16() { + for (var i = 0; i < 10000; ++i) { + var result = sqrtOnInteger(16); + if (result !== 4) + throw "sqrtOnInteger(16) = " + result + ", expected 4"; + } +} +testSquareRoot16(); + +var sqrtOnIntegerNegativeNumber = sqrtOnDouble(-4); +if (!isNaN(sqrtOnIntegerNegativeNumber)) + throw "sqrtOnDouble(-4) = " + sqrtOnIntegerNegativeNumber + ", expected NaN"; + +var sqrtOnIntegerFallback = sqrtOnInteger(Math.PI); +if (sqrtOnIntegerFallback != 1.7724538509055159) + throw "sqrtOnInteger(Math.PI) = " + sqrtOnIntegerFallback + ", expected 1.7724538509055159"; + + +function sqrtOnDouble(radicand) { + return Math.sqrt(radicand); +} +noInline(sqrtOnDouble); + +function testSquareRootDouble() { + for (var i = 0; i < 10000; ++i) { + var result = sqrtOnInteger(Math.LN2); + if (result !== 0.8325546111576977) + throw "sqrtOnInteger(Math.LN2) = " + result + ", expected 0.8325546111576977"; + } +} +testSquareRootDouble(); + +var sqrtOnDoubleNegativeNumber = sqrtOnDouble(-Math.PI); +if (!isNaN(sqrtOnDoubleNegativeNumber)) + throw "sqrtOnDouble(-Math.PI) = " + sqrtOnDoubleNegativeNumber + ", expected NaN"; + +var sqrtOnDoubleFallback = sqrtOnDouble(4); +if (sqrtOnDoubleFallback !== 2) + throw "sqrtOnDouble(4) = " + sqrtOnDoubleFallback + ", expected 2"; \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-sqrt-basics.js b/implementation-contributed/javascriptcore/stress/math-sqrt-basics.js new file mode 100644 index 0000000000..f19b752b5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-sqrt-basics.js @@ -0,0 +1,45 @@ +// Basic cases of Math.sqrt(). +function sqrtOnInteger(radicand) { + return Math.sqrt(radicand); +} +noInline(sqrtOnInteger); + +function testSquareRoot16() { + for (var i = 0; i < 10000; ++i) { + var result = sqrtOnInteger(16); + if (result !== 4) + throw "sqrtOnInteger(16) = " + result + ", expected 4"; + } +} +testSquareRoot16(); + +var sqrtOnIntegerNegativeNumber = sqrtOnDouble(-4); +if (!isNaN(sqrtOnIntegerNegativeNumber)) + throw "sqrtOnDouble(-4) = " + sqrtOnIntegerNegativeNumber + ", expected NaN"; + +var sqrtOnIntegerFallback = sqrtOnInteger(Math.PI); +if (sqrtOnIntegerFallback != 1.7724538509055159) + throw "sqrtOnInteger(Math.PI) = " + sqrtOnIntegerFallback + ", expected 1.7724538509055159"; + + +function sqrtOnDouble(radicand) { + return Math.sqrt(radicand); +} +noInline(sqrtOnDouble); + +function testSquareRootDouble() { + for (var i = 0; i < 10000; ++i) { + var result = sqrtOnInteger(Math.LN2); + if (result !== 0.8325546111576977) + throw "sqrtOnInteger(Math.LN2) = " + result + ", expected 0.8325546111576977"; + } +} +testSquareRootDouble(); + +var sqrtOnDoubleNegativeNumber = sqrtOnDouble(-Math.PI); +if (!isNaN(sqrtOnDoubleNegativeNumber)) + throw "sqrtOnDouble(-Math.PI) = " + sqrtOnDoubleNegativeNumber + ", expected NaN"; + +var sqrtOnDoubleFallback = sqrtOnDouble(4); +if (sqrtOnDoubleFallback !== 2) + throw "sqrtOnDouble(4) = " + sqrtOnDoubleFallback + ", expected 2"; \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/math-trunc-arith-rounding-mode.js b/implementation-contributed/javascriptcore/stress/math-trunc-arith-rounding-mode.js new file mode 100644 index 0000000000..ddfb1e3913 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-trunc-arith-rounding-mode.js @@ -0,0 +1,85 @@ +function firstCareAboutZeroSecondDoesNot(a) { + var resultA = Math.trunc(a); + var resultB = Math.trunc(a)|0; + return { resultA:resultA, resultB:resultB }; +} +noInline(firstCareAboutZeroSecondDoesNot); + +function firstDoNotCareAboutZeroSecondDoes(a) { + var resultA = Math.trunc(a)|0; + var resultB = Math.trunc(a); + return { resultA:resultA, resultB:resultB }; +} +noInline(firstDoNotCareAboutZeroSecondDoes); + +// Warmup with doubles, but nothing that would trunc to -0 to ensure we never +// see a double as result. The result must be integers, the input is kept to small values. +function warmup() { + for (var i = 0; i < 1e4; ++i) { + firstCareAboutZeroSecondDoesNot(42.6 + i); + firstDoNotCareAboutZeroSecondDoes(42.4 + i); + } +} +warmup(); + +function verifyNegativeZeroIsPreserved() { + for (var i = 0; i < 1e4; ++i) { + var result1 = firstCareAboutZeroSecondDoesNot(-0.1); + if (1 / result1.resultA !== -Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.1), resultA = " + result1.resultA); + } + if (1 / result1.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.1), resultB = " + result1.resultB); + } + var result2 = firstDoNotCareAboutZeroSecondDoes(-0.1); + if (1 / result2.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultA = " + result1.resultA); + } + if (1 / result2.resultB !== -Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.1), resultB = " + result1.resultB); + } + var result3 = firstCareAboutZeroSecondDoesNot(-0.0); + if (1 / result3.resultA !== -Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.0), resultA = " + result3.resultA); + } + if (1 / result3.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(-0.0), resultB = " + result3.resultB); + } + var result4 = firstDoNotCareAboutZeroSecondDoes(-0.0); + if (1 / result4.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.0), resultA = " + result4.resultA); + } + if (1 / result4.resultB !== -Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(-0.0), resultB = " + result4.resultB); + } + var result5 = firstCareAboutZeroSecondDoesNot(0.0); + if (1 / result5.resultA !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.0), resultA = " + result5.resultA); + } + if (1 / result5.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.0), resultB = " + result5.resultB); + } + var result6 = firstDoNotCareAboutZeroSecondDoes(0.0); + if (1 / result6.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.0), resultA = " + result6.resultA); + } + if (1 / result6.resultB !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.0), resultB = " + result6.resultB); + } + var result7 = firstCareAboutZeroSecondDoesNot(0.1); + if (1 / result7.resultA !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.1), resultA = " + result7.resultA); + } + if (1 / result7.resultB !== Infinity) { + throw new Error("Failed firstCareAboutZeroSecondDoesNot(0.1), resultB = " + result7.resultB); + } + var result8 = firstDoNotCareAboutZeroSecondDoes(0.1); + if (1 / result8.resultA !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.1), resultA = " + result8.resultA); + } + if (1 / result8.resultB !== Infinity) { + throw new Error("Failed firstDoNotCareAboutZeroSecondDoes(0.1), resultB = " + result8.resultB); + } + } +} +verifyNegativeZeroIsPreserved(); diff --git a/implementation-contributed/javascriptcore/stress/math-trunc-basics.js b/implementation-contributed/javascriptcore/stress/math-trunc-basics.js new file mode 100644 index 0000000000..add4e50a80 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-trunc-basics.js @@ -0,0 +1,256 @@ +function mathTruncOnIntegers(value) +{ + return Math.trunc(value); +} +noInline(mathTruncOnIntegers); + +function mathTruncOnDoubles(value) +{ + return Math.trunc(value); +} +noInline(mathTruncOnDoubles); + +function mathTruncOnBooleans(value) +{ + return Math.trunc(value); +} +noInline(mathTruncOnBooleans); + +// The trivial cases first. +for (var i = 1; i < 1e4; ++i) { + var truncedValue = mathTruncOnIntegers(i); + if (truncedValue !== i) + throw new Error("mathTruncOnIntegers(" + i + ") = " + truncedValue); + + var truncedValue = mathTruncOnIntegers(-i); + if (truncedValue !== -i) + throw new Error("mathTruncOnIntegers(" + -i + ") = " + truncedValue); + + var doubleLow = i + 0.4; + var truncedValue = mathTruncOnDoubles(doubleLow); + if (truncedValue !== i) + throw new Error("mathTruncOnDoubles(" + doubleLow + ") = " + truncedValue); + + var doubleHigh = i + 0.6; + var truncedValue = mathTruncOnDoubles(doubleHigh); + if (truncedValue !== i) + throw new Error("mathTruncOnDoubles(" + doubleHigh + ") = " + truncedValue); + + var doubleMid = i + 0.5; + var truncedValue = mathTruncOnDoubles(doubleMid); + if (truncedValue !== i) + throw new Error("mathTruncOnDoubles(" + doubleMid + ") = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(-0.6); + if (truncedValue !== -0.0) + throw new Error("mathTruncOnDoubles(-0.6) = " + truncedValue); +} + +// Some more interesting cases, some of them well OSR exit when the return value is zero. +for (var i = 0; i < 1e4; ++i) { + var truncedValue = mathTruncOnIntegers(i); + if (truncedValue !== i) + throw new Error("mathTruncOnIntegers(" + i + ") = " + truncedValue); + + var truncedValue = mathTruncOnIntegers(-i); + if (truncedValue !== -i) + throw new Error("mathTruncOnIntegers(-" + i + ") = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(-0.4); + if (truncedValue !== -0.0) + throw new Error("mathTruncOnDoubles(-0.4) = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(-0.5); + if (truncedValue !== -0.0) + throw new Error("mathTruncOnDoubles(-0.5) = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(-0); + if (!(truncedValue === 0 && (1/truncedValue) === -Infinity)) + throw new Error("mathTruncOnDoubles(-0) = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(NaN); + if (truncedValue === truncedValue) + throw new Error("mathTruncOnDoubles(NaN) = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(Number.POSITIVE_INFINITY); + if (truncedValue !== Number.POSITIVE_INFINITY) + throw new Error("mathTruncOnDoubles(Number.POSITIVE_INFINITY) = " + truncedValue); + + var truncedValue = mathTruncOnDoubles(Number.NEGATIVE_INFINITY); + if (truncedValue !== Number.NEGATIVE_INFINITY) + throw new Error("mathTruncOnDoubles(Number.NEGATIVE_INFINITY) = " + truncedValue); + + var boolean = !!(i % 2); + var truncedBoolean = mathTruncOnBooleans(boolean); + if (truncedBoolean != boolean) + throw new Error("mathTruncOnDoubles(" + boolean + ") = " + truncedBoolean); +} + +function uselessMathTrunc(value) +{ + return Math.trunc(value|0); +} +noInline(uselessMathTrunc); + +for (var i = 0; i < 1e4; ++i) { + var truncedValue = uselessMathTrunc(i); + if (truncedValue !== i) + throw new Error("uselessMathTrunc(" + i + ") = " + truncedValue); + + var doubleLow = i + 0.4; + var truncedValue = uselessMathTrunc(doubleLow); + if (truncedValue !== i) + throw new Error("uselessMathTrunc(" + doubleLow + ") = " + truncedValue); + + var doubleHigh = i + 0.6; + var truncedValue = uselessMathTrunc(doubleHigh); + if (truncedValue !== i) + throw new Error("uselessMathTrunc(" + doubleHigh + ") = " + truncedValue); + + var doubleMid = i + 0.5; + var truncedValue = uselessMathTrunc(doubleMid); + if (truncedValue !== i) + throw new Error("uselessMathTrunc(" + doubleMid + ") = " + truncedValue); + + var truncedValue = uselessMathTrunc(-0.4); + if (truncedValue !== 0) + throw new Error("uselessMathTrunc(-0.4) = " + truncedValue); + + var truncedValue = uselessMathTrunc(-0.5); + if (truncedValue !== 0) + throw new Error("uselessMathTrunc(-0.5) = " + truncedValue); + + var truncedValue = uselessMathTrunc(-0.6); + if (truncedValue !== 0) + throw new Error("uselessMathTrunc(-0.6) = " + truncedValue); +} + +function mathTruncWithOverflow(value) +{ + return Math.trunc(value); +} +noInline(mathTruncWithOverflow); + +for (var i = 0; i < 1e4; ++i) { + var bigValue = 1000000000000; + var truncedValue = mathTruncWithOverflow(bigValue); + if (truncedValue !== bigValue) + throw new Error("mathTruncWithOverflow(" + bigValue + ") = " + truncedValue); +} + +function mathTruncConsumedAsDouble(value) +{ + return Math.trunc(value) * 0.5; +} +noInline(mathTruncConsumedAsDouble); + +for (var i = 0; i < 1e4; ++i) { + var doubleValue = i + 0.1; + var truncedValue = mathTruncConsumedAsDouble(doubleValue); + if (truncedValue !== (i * 0.5)) + throw new Error("mathTruncConsumedAsDouble(" + doubleValue + ") = " + truncedValue); + + var doubleValue = i + 0.6; + var truncedValue = mathTruncConsumedAsDouble(doubleValue); + if (truncedValue !== (i * 0.5)) + throw new Error("mathTruncConsumedAsDouble(" + doubleValue + ") = " + truncedValue); + +} + +function mathTruncDoesNotCareAboutMinusZero(value) +{ + return Math.trunc(value)|0; +} +noInline(mathTruncDoesNotCareAboutMinusZero); + +for (var i = 0; i < 1e4; ++i) { + var doubleMid = i + 0.5; + var truncedValue = mathTruncDoesNotCareAboutMinusZero(doubleMid); + if (truncedValue !== i) + throw new Error("mathTruncDoesNotCareAboutMinusZero(" + doubleMid + ") = " + truncedValue); +} + + +// *** Function arguments. *** +function mathTruncNoArguments() +{ + return Math.trunc(); +} +noInline(mathTruncNoArguments); + +function mathTruncTooManyArguments(a, b, c) +{ + return Math.trunc(a, b, c); +} +noInline(mathTruncTooManyArguments); + +for (var i = 0; i < 1e4; ++i) { + var value = mathTruncNoArguments(); + if (value === value) + throw new Error("mathTruncNoArguments() = " + value); + + var value = mathTruncTooManyArguments(2.1, 3, 5); + if (value !== 2) + throw new Error("mathTruncTooManyArguments() = " + value); +} + + +// *** Constant as arguments. *** +function testMathTruncOnConstants() +{ + var value = Math.trunc(0); + if (value !== 0) + throw new Error("Math.trunc(0) = " + value); + var value = Math.trunc(-0); + if (!(value === 0 && (1/value) === -Infinity)) + throw new Error("Math.trunc(-0) = " + value); + var value = Math.trunc(1); + if (value !== 1) + throw new Error("Math.trunc(1) = " + value); + var value = Math.trunc(-1); + if (value !== -1) + throw new Error("Math.trunc(-1) = " + value); + var value = Math.trunc(42); + if (value !== 42) + throw new Error("Math.trunc(42) = " + value); + var value = Math.trunc(-42.2); + if (value !== -42) + throw new Error("Math.trunc(-42.2) = " + value); + var value = Math.trunc(NaN); + if (value === value) + throw new Error("Math.trunc(NaN) = " + value); + var value = Math.trunc(Number.POSITIVE_INFINITY); + if (value !== Infinity) + throw new Error("Math.trunc(Number.POSITIVE_INFINITY) = " + value); + var value = Math.trunc(Number.NEGATIVE_INFINITY); + if (value !== -Infinity) + throw new Error("Math.trunc(Number.NEGATIVE_INFINITY) = " + value); + var value = Math.trunc(Math.E); + if (value !== 2) + throw new Error("Math.trunc(Math.E) = " + value); +} +noInline(testMathTruncOnConstants); + +for (var i = 0; i < 1e4; ++i) { + testMathTruncOnConstants(); +} + + +// *** Struct transition. *** +function mathTruncStructTransition(value) +{ + return Math.trunc(value); +} +noInline(mathTruncStructTransition); + +for (var i = 0; i < 1e4; ++i) { + var value = mathTruncStructTransition(42.5); + if (value !== 42) + throw new Error("mathTruncStructTransition(42.5) = " + value); +} + +Math.trunc = function() { return arguments[0] + 5; } + +var value = mathTruncStructTransition(42); +if (value !== 47) + throw new Error("mathTruncStructTransition(42) after transition = " + value); diff --git a/implementation-contributed/javascriptcore/stress/math-trunc-should-be-truncate.js b/implementation-contributed/javascriptcore/stress/math-trunc-should-be-truncate.js new file mode 100644 index 0000000000..fb9ea9bba8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-trunc-should-be-truncate.js @@ -0,0 +1,12 @@ +function mathTrunc(value) +{ + return Math.trunc(value); +} +noInline(mathTrunc); + +for (var i = 0; i < 1e4; ++i) { + var doubleMid = -9901 - 0.6; + var roundedValue = mathTrunc(doubleMid); + if (roundedValue !== -9901) + throw "mathRoundDoesNotCareAboutMinusZero(" + doubleMid + ") = " + roundedValue; +} diff --git a/implementation-contributed/javascriptcore/stress/math-unary-no-arg.js b/implementation-contributed/javascriptcore/stress/math-unary-no-arg.js new file mode 100644 index 0000000000..f4f491fe2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/math-unary-no-arg.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let functions = [ + 'sin', + 'sinh', + 'cos', + 'cosh', + 'tan', + 'tanh', + 'asin', + 'asinh', + 'acos', + 'acosh', + 'atan', + 'atanh', + 'log', + 'log10', + 'log1p', + 'log2', + 'cbrt', + 'exp', + 'expm1' +]; + +let repository = {}; +for (let func of functions) { + let wrap = new Function(`return Math.${func}()`); + noInline(wrap); + repository[func] = wrap; +} + +for (let i = 0; i < 1e4; ++i) { + for (let func of functions) + shouldBe(Number.isNaN(repository[func]()), true); +} diff --git a/implementation-contributed/javascriptcore/stress/max-boolean-exit.js b/implementation-contributed/javascriptcore/stress/max-boolean-exit.js new file mode 100644 index 0000000000..66aee2593a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/max-boolean-exit.js @@ -0,0 +1,22 @@ +function foo(a, b) { + return Math.max(a.f, b.f); +} + +noInline(foo); + +function test(a, b, c) { + var result = foo({f:a}, {f:b}); + if (result != c) + throw "Error: expected " + c + " but got: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(true, 42, 42); + +// Now try some unexpected things, in descending order of possible badness. +test(true, 2147483647, 2147483647); +test(false, 42, 42); +test(1, 2, 2); +test(true, true, 1); +test(1.5, 1.5, 1.5); + diff --git a/implementation-contributed/javascriptcore/stress/method-name.js b/implementation-contributed/javascriptcore/stress/method-name.js new file mode 100644 index 0000000000..45ee5ba489 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/method-name.js @@ -0,0 +1,46 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +class Hello { + hello hello() { } +} +`, `SyntaxError: Unexpected identifier 'hello'. Expected an opening '(' before a method's parameter list.`); + +testSyntaxError(` +let obj = { + hello hello() { } +} +`, `SyntaxError: Unexpected identifier 'hello'. Expected a ':' following the property name 'hello'.`); + +testSyntaxError(` +class Hello { + get hello hello() { } +} +`, `SyntaxError: Unexpected identifier 'hello'. Expected a parameter list for getter definition.`); + +testSyntaxError(` +class Hello { + set hello hello(v) { } +} +`, `SyntaxError: Unexpected identifier 'hello'. Expected a parameter list for setter definition.`); diff --git a/implementation-contributed/javascriptcore/stress/misaligned-int8-view-byte-offset.js b/implementation-contributed/javascriptcore/stress/misaligned-int8-view-byte-offset.js new file mode 100644 index 0000000000..6688298127 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/misaligned-int8-view-byte-offset.js @@ -0,0 +1,25 @@ +function make(offset) { + // Default offset is 1. + if (offset === void 0) + offset = 1; + + var int8Array = new Int8Array(100); + for (var i = 0; i < int8Array.length; ++i) + int8Array[i] = i; + + return new Int8Array(int8Array.buffer, offset, int8Array.length - offset); +} +noInline(make); + +function foo(o) { + return o.byteOffset; +} + +noInline(foo); + +var o = make(); +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result != 1) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/misaligned-int8-view-read.js b/implementation-contributed/javascriptcore/stress/misaligned-int8-view-read.js new file mode 100644 index 0000000000..25b9d8aceb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/misaligned-int8-view-read.js @@ -0,0 +1,26 @@ +function make(offset) { + // Default offset is 1. + if (offset === void 0) + offset = 1; + + var int8Array = new Int8Array(100); + for (var i = 0; i < int8Array.length; ++i) + int8Array[i] = i; + + return new Int8Array(int8Array.buffer, offset, int8Array.length - offset); +} +noInline(make); + +function foo(o, i) { + return o[i]; +} + +noInline(foo); + +var o = make(); +for (var i = 0; i < 10000; ++i) { + var index = i % o.length; + var result = foo(o, index); + if (result != index + 1) + throw "Read test error: bad result for index = " + index + ": " + result + "; expected " + (index + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/misaligned-int8-view-write.js b/implementation-contributed/javascriptcore/stress/misaligned-int8-view-write.js new file mode 100644 index 0000000000..04bc5753c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/misaligned-int8-view-write.js @@ -0,0 +1,30 @@ +function make(offset) { + // Default offset is 1. + if (offset === void 0) + offset = 1; + + var int8Array = new Int8Array(100); + for (var i = 0; i < int8Array.length; ++i) + int8Array[i] = i; + + return new Int8Array(int8Array.buffer, offset, int8Array.length - offset); +} +noInline(make); + +function foo(o, i, v) { + o[i] = v; +} + +noInline(foo); + +var o = make(); +var real = new Int8Array(o.buffer); +for (var i = 0; i < 10000; ++i) { + var index = i % o.length; + var value = i % 7; + foo(o, index, value); + var result = real[index + 1]; + if (result != value) + throw "Write test error: bad result for index = " + index + ": " + result + "; expected " + value; +} + diff --git a/implementation-contributed/javascriptcore/stress/misc-is-object-or-null.js b/implementation-contributed/javascriptcore/stress/misc-is-object-or-null.js new file mode 100644 index 0000000000..e8968e545d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/misc-is-object-or-null.js @@ -0,0 +1,13 @@ +function foo(p) { + var x = p ? null : false; + return (typeof x) == "object"; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var p = !!(i & 1); + var result = foo(p); + if (result !== p) + throw "Error: bad result for p = " + p + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/model-effects-properly-of-spread-over-phantom-create-rest.js b/implementation-contributed/javascriptcore/stress/model-effects-properly-of-spread-over-phantom-create-rest.js new file mode 100644 index 0000000000..287906d5bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/model-effects-properly-of-spread-over-phantom-create-rest.js @@ -0,0 +1,25 @@ +"use strict"; +function f1(o) { + let result = []; + for (let key of Object.getOwnPropertyNames(o)) { + result.push(key) + } + return result; +} +function f2(a1, a2, ...args) { + let r = f1(a1); + let index = r[a2 % r.length]; + a1[index](...args) +} +let theObj = {}; +let o2 = { + valueOf: function (a, b) { + a === 42 + b === theObj + try {} catch (e) {} + } +}; +for (let i = 0; i < 1e5; ++i) { + for (let j = 0; j < 100; j++) {} + f2(o2, 897989, 42, theObj); +} diff --git a/implementation-contributed/javascriptcore/stress/modify-map-during-iteration.js b/implementation-contributed/javascriptcore/stress/modify-map-during-iteration.js new file mode 100644 index 0000000000..6261689cb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/modify-map-during-iteration.js @@ -0,0 +1,97 @@ + +function testValue(value, expected) { + if (value !== expected) + throw new Error("bad value: expected:(" + expected + "),actual:(" + value +")."); +} + +function identityPairs(array) { + return array.map(function (i) { return [i, i]; }); +} + +var map = new Map(identityPairs([0])); +var counter = 0; +for (var [elm, _] of map) { + testValue(elm, counter); + map.set(elm + 1, elm + 1); + if (elm > 10000) { + map.clear(); + } + ++counter; +} +testValue(counter, 10002); + +var map = new Map(identityPairs([0, 1, 2, 3])); +var counter = 0; +for (var [elm, _] of map) { + testValue(elm, counter); + map.clear(); + ++counter; +} +testValue(counter, 1); + +var map = new Map(identityPairs([0, 1, 2, 3])); +var exp = [0, 2, 3]; +var counter = 0; +for (var [elm, _] of map) { + testValue(elm, exp[counter]); + map.delete(counter + 1); + ++counter; +} +testValue(counter, 3); + +var map = new Map(identityPairs([0, 1, 2, 3])); +var iter = map.keys(); +var iter2 = map.keys(); +testValue(iter2.next().value, 0); + +// Consume all output of iter. +for (var elm of iter); + +testValue(iter.next().done, true); +testValue(iter.next().value, undefined); + +map.clear(); +map.set(1, 1).set(2, 2).set(3, 3); + +testValue(iter.next().done, true); +testValue(iter.next().value, undefined); +testValue(iter2.next().value, 1); +testValue(iter2.next().value, 2); +testValue(iter2.next().value, 3); + +var map = new Map(); +map.set(1, 1); +map.delete(1); +map.forEach(function (i) { + throw new Error("unreeachable."); +}); + +var map = new Map(); +var iter = map[Symbol.iterator](); +map.set(1, 1); +map.delete(1); +for (var [elm, _] of map) { + throw new Error("unreeachable."); +} + +var map = new Map(); +for (var i = 0; i < 5; ++i) + map.set(i, i); +testValue(map.size, 5); +var iter = map.keys(); +testValue(iter.next().value, 0); +testValue(iter.next().value, 1); +testValue(iter.next().value, 2); +testValue(iter.next().value, 3); +map.delete(0); +map.delete(1); +map.delete(2); +map.delete(3); +// It will cause MapData packing. +for (var i = 5; i < 1000; ++i) + map.set(i, i); +gc(); +for (var i = 4; i < 1000; ++i) + testValue(iter.next().value, i); +testValue(iter.next().value, undefined); + diff --git a/implementation-contributed/javascriptcore/stress/modify-set-during-iteration.js b/implementation-contributed/javascriptcore/stress/modify-set-during-iteration.js new file mode 100644 index 0000000000..a739847391 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/modify-set-during-iteration.js @@ -0,0 +1,91 @@ + +function testValue(value, expected) { + if (value !== expected) + throw new Error("bad value: expected:(" + expected + "),actual:(" + value +")."); +} + +var set = new Set([0]); +var counter = 0; +for (var elm of set) { + testValue(elm, counter); + set.add(elm + 1); + if (elm > 10000) { + set.clear(); + } + ++counter; +} +testValue(counter, 10002); + +var set = new Set([0, 1, 2, 3]); +var counter = 0; +for (var elm of set) { + testValue(elm, counter); + set.clear(); + ++counter; +} +testValue(counter, 1); + +var set = new Set([0, 1, 2, 3]); +var exp = [0, 2, 3]; +var counter = 0; +for (var elm of set) { + testValue(elm, exp[counter]); + set.delete(counter + 1); + ++counter; +} +testValue(counter, 3); + +var set = new Set([0, 1, 2, 3]); +var iter = set[Symbol.iterator](); +var iter2 = set[Symbol.iterator](); +testValue(iter2.next().value, 0); + +// Consume all output of iter. +for (var elm of iter); + +testValue(iter.next().done, true); +testValue(iter.next().value, undefined); + +set.clear(); +set.add(1).add(2).add(3); + +testValue(iter.next().done, true); +testValue(iter.next().value, undefined); +testValue(iter2.next().value, 1); +testValue(iter2.next().value, 2); +testValue(iter2.next().value, 3); + +var set = new Set(); +set.add(1); +set.delete(1); +set.forEach(function (i) { + throw new Error("unreeachable."); +}); + +var set = new Set(); +var iter = set[Symbol.iterator](); +set.add(1); +set.delete(1); +for (var elm of iter) { + throw new Error("unreeachable."); +} + +var set = new Set([0, 1, 2, 3, 4]); +var iter = set[Symbol.iterator](); +testValue(set.size, 5); +testValue(iter.next().value, 0); +testValue(iter.next().value, 1); +testValue(iter.next().value, 2); +testValue(iter.next().value, 3); +set.delete(0); +set.delete(1); +set.delete(2); +set.delete(3); +// It will cause MapData packing. +for (var i = 5; i < 1000; ++i) + set.add(i); +gc(); +for (var i = 4; i < 1000; ++i) + testValue(iter.next().value, i); +testValue(iter.next().value, undefined); + diff --git a/implementation-contributed/javascriptcore/stress/module-namespace-access-change.js b/implementation-contributed/javascriptcore/stress/module-namespace-access-change.js new file mode 100644 index 0000000000..6e495675f2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/module-namespace-access-change.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function access(namespace) +{ + return namespace.test; +} +noInline(access); + +import("./resources/module-namespace-access.js").then((ns) => { + for (var i = 0; i < 1e4; ++i) + shouldBe(access(ns), 42) + ns.change(); + for (var i = 0; i < 1e4; ++i) + shouldBe(access(ns), 55) +}); +drainMicrotasks(); diff --git a/implementation-contributed/javascriptcore/stress/module-namespace-access-non-constant.js b/implementation-contributed/javascriptcore/stress/module-namespace-access-non-constant.js new file mode 100644 index 0000000000..02d7065f20 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/module-namespace-access-non-constant.js @@ -0,0 +1,13 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +import("./resources/module-namespace-access.js").then((ns) => { + ns.change(); + for (var i = 0; i < 1e6; ++i) { + shouldBe(ns.test, 55); + shouldBe(ns.cocoa(), 55); + } +}); +drainMicrotasks(); diff --git a/implementation-contributed/javascriptcore/stress/module-namespace-access-poly.js b/implementation-contributed/javascriptcore/stress/module-namespace-access-poly.js new file mode 100644 index 0000000000..5dfcac72db --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/module-namespace-access-poly.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function access(ns) +{ + return ns.test; +} +noInline(access); + +import("./resources/module-namespace-access.js").then((ns) => { + for (var i = 0; i < 1e4; ++i) { + shouldBe(access(ns), 42); + } + let nonNS = { test: 50 }; + let nonNS2 = { ok: 22, test: 52 }; + for (var i = 0; i < 1e4; ++i) { + shouldBe(access(ns), 42); + shouldBe(access(nonNS), 50); + shouldBe(access(nonNS2), 52); + } +}); +drainMicrotasks(); diff --git a/implementation-contributed/javascriptcore/stress/module-namespace-access-transitive-exports.js b/implementation-contributed/javascriptcore/stress/module-namespace-access-transitive-exports.js new file mode 100644 index 0000000000..b74e5e5c9b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/module-namespace-access-transitive-exports.js @@ -0,0 +1,12 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +import("./resources/module-namespace-access-transitive-exports.js").then((ns) => { + for (var i = 0; i < 1e6; ++i) { + shouldBe(ns.test, 42); + shouldBe(ns.cocoa(), 42); + } +}); +drainMicrotasks(); diff --git a/implementation-contributed/javascriptcore/stress/module-namespace-access.js b/implementation-contributed/javascriptcore/stress/module-namespace-access.js new file mode 100644 index 0000000000..2ac1409003 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/module-namespace-access.js @@ -0,0 +1,12 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +import("./resources/module-namespace-access.js").then((ns) => { + for (var i = 0; i < 1e6; ++i) { + shouldBe(ns.test, 42); + shouldBe(ns.cocoa(), 42); + } +}); +drainMicrotasks(); diff --git a/implementation-contributed/javascriptcore/stress/modules-syntax-error-with-names.js b/implementation-contributed/javascriptcore/stress/modules-syntax-error-with-names.js new file mode 100644 index 0000000000..ef7d54fa2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/modules-syntax-error-with-names.js @@ -0,0 +1,255 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function checkModuleSyntaxError(source, errorMessage) { + shouldThrow(() => checkModuleSyntax(source), errorMessage); +} + +// --------------- import ------------------- + +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +const A = 20; +`, `SyntaxError: Cannot declare a const variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +const A = 20; +import A from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +let A = 20; +`, `SyntaxError: Cannot declare a let variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +let A = 20; +import A from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import * as A from "Cocoa" +const A = 20; +`, `SyntaxError: Cannot declare a const variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +const A = 20; +import * as A from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import * as A from "Cocoa" +let A = 20; +`, `SyntaxError: Cannot declare a let variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +let A = 20; +import * as A from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import { A } from "Cocoa" +const A = 20; +`, `SyntaxError: Cannot declare a const variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +const A = 20; +import { A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import { A } from "Cocoa" +let A = 20; +`, `SyntaxError: Cannot declare a let variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +let A = 20; +import { A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import { B as A } from "Cocoa" +const A = 20; +`, `SyntaxError: Cannot declare a const variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +const A = 20; +import { B as A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import { B as A } from "Cocoa" +let A = 20; +`, `SyntaxError: Cannot declare a let variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +let A = 20; +import { B as A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:3`); + +checkModuleSyntax(String.raw` +import { A as B } from "Cocoa" +const A = 20; +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntax(String.raw` +const A = 20; +import { A as B } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntax(String.raw` +import { A as B } from "Cocoa" +let A = 20; +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntax(String.raw` +let A = 20; +import { A as B } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import { A, B as A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import { A, A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import { C as A, B as A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import A, { A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import A, { B as A } from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import A, * as A from "Cocoa" +`, `SyntaxError: Cannot declare an imported binding name twice: 'A'.:2`); + +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +const { A } = obj; +`, `SyntaxError: Unexpected token '}'. Cannot declare a lexical variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +const [ A ] = array; +`, `SyntaxError: Unexpected identifier 'A'. Cannot declare a lexical variable twice: 'A'.:3`); + +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +const { B:A } = obj; +`, `SyntaxError: Unexpected identifier 'A'. Cannot declare a lexical variable twice: 'A'.:3`); + +checkModuleSyntax(String.raw` +import A from "Cocoa" +const { A:B } = obj; +`); + +// --------------- export ------------------- + +checkModuleSyntaxError(String.raw` +export { A as B } from 'mod' +export B from 'mod2' +`, `SyntaxError: Unexpected identifier 'B'. Expected either a declaration or a variable statement.:3`); + +checkModuleSyntax(String.raw` +export { A as B } from 'mod' +const A = 42; +const B = 'Cocoa'; +`); + +checkModuleSyntaxError(String.raw` +export { A as B } +const B = 'Cocoa'; +`, `SyntaxError: Exported binding 'A' needs to refer to a top-level declared variable.:4`); + + +checkModuleSyntaxError(String.raw` +export default 20; +export default function hello () { } +`, `SyntaxError: Only one 'default' export is allowed.:4`); + +checkModuleSyntaxError(String.raw` +export default function hello () { } +export default 20; +`, `SyntaxError: Only one 'default' export is allowed.:4`); + +checkModuleSyntaxError(String.raw` +var a = 42; +var b = 55; +export { a as Cocoa, b as Cocoa }; +`, `SyntaxError: Cannot export a duplicate name 'Cocoa'.:4`); + +checkModuleSyntaxError(String.raw` +var a = 42; +var b = 55; +export { a as Cocoa, b as Cocoa }; +`, `SyntaxError: Cannot export a duplicate name 'Cocoa'.:4`); + +checkModuleSyntaxError(String.raw` +var Cocoa = 42; +var b = 55; +export { Cocoa, b as Cocoa }; +`, `SyntaxError: Cannot export a duplicate name 'Cocoa'.:4`); + +checkModuleSyntaxError(String.raw` +export var Cocoa = 42; +var b = 55; +export { b as Cocoa }; +`, `SyntaxError: Cannot export a duplicate name 'Cocoa'.:4`); + +checkModuleSyntaxError(String.raw` +var a = 42; +export { a as Cocoa }; +export function Cocoa() { } +`, `SyntaxError: Cannot export a duplicate function name: 'Cocoa'.:5`); + +checkModuleSyntaxError(String.raw` +var a = 42; +export { a as Cocoa }; +export class Cocoa { } +`, `SyntaxError: Cannot export a duplicate class name: 'Cocoa'.:5`); + +// FIXME: These tests also should be passed. But now, var and lexical declared names can be co-exist on Script / Module top level scope. +// This will be fixed when this issue is fixed for Script environment. +// http://www.ecma-international.org/ecma-262/6.0/#sec-scripts-static-semantics-early-errors +// http://www.ecma-international.org/ecma-262/6.0/#sec-module-semantics-static-semantics-early-errors +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +var A = 20; +`, `SyntaxError: Cannot declare a var variable that shadows a let/const/class variable: 'A'.:3`); + +// checkModuleSyntaxError(String.raw` +// var A = 20; +// import A from "Cocoa" +// `, ``); + +checkModuleSyntaxError(String.raw` +import A from "Cocoa" +var A = 20; +`, `SyntaxError: Cannot declare a var variable that shadows a let/const/class variable: 'A'.:3`); + +// checkModuleSyntaxError(String.raw` +// var A = 20; +// import A from "Cocoa" +// `, ``); + + diff --git a/implementation-contributed/javascriptcore/stress/modules-syntax-error.js b/implementation-contributed/javascriptcore/stress/modules-syntax-error.js new file mode 100644 index 0000000000..51828def71 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/modules-syntax-error.js @@ -0,0 +1,318 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function checkModuleSyntaxError(source, errorMessage) { + shouldThrow(() => checkModuleSyntax(source), errorMessage); +} + +// --------------- import ------------------- + +checkModuleSyntaxError(String.raw` +import {,} from "Cocoa" +`, `SyntaxError: Unexpected token ','. Expected an imported name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import * from "Cocoa" +`, `SyntaxError: Unexpected identifier 'from'. Expected 'as' before imported binding name.:2`); + +checkModuleSyntaxError(String.raw` +import * from "Cocoa" +`, `SyntaxError: Unexpected identifier 'from'. Expected 'as' before imported binding name.:2`); + +checkModuleSyntaxError(String.raw` +import * of name from "Cocoa" +`, `SyntaxError: Unexpected identifier 'of'. Expected 'as' before imported binding name.:2`); + +checkModuleSyntaxError(String.raw` +import * as name fro "Cocoa" +`, `SyntaxError: Unexpected identifier 'fro'. Expected 'from' before imported module name.:2`); + +checkModuleSyntaxError(String.raw` +import * as name fro "Cocoa" +`, `SyntaxError: Unexpected identifier 'fro'. Expected 'from' before imported module name.:2`); + +checkModuleSyntaxError(String.raw` +import d, { e, f, g as c }, c from "Cappuccino" +`, `SyntaxError: Unexpected token ','. Expected 'from' before imported module name.:2`); + +checkModuleSyntaxError(String.raw` +import d, c from "Cappuccino" +`, `SyntaxError: Unexpected identifier 'c'. Expected namespace import or import list.:2`); + +checkModuleSyntaxError(String.raw` +import i, * as j, * as k from "Cappuccino" +`, `SyntaxError: Unexpected token ','. Expected 'from' before imported module name.:2`); + +checkModuleSyntaxError(String.raw` +import * as a, b from "Cappuccino" +`, `SyntaxError: Unexpected token ','. Expected 'from' before imported module name.:2`); + +checkModuleSyntaxError(String.raw` +import { a, b, c as d }, e from "Cappuccino" +`, `SyntaxError: Unexpected token ','. Expected 'from' before imported module name.:2`); + +checkModuleSyntaxError(String.raw` +import a +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import a from +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import { a } +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import {} from +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import * +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import * as +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import * from +`, `SyntaxError: Unexpected identifier 'from'. Expected 'as' before imported binding name.:2`); + +checkModuleSyntaxError(String.raw` +import * as from from +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import * as from from d +`, `SyntaxError: Unexpected identifier 'd'. Imported modules names must be string literals.:2`); + +checkModuleSyntaxError(String.raw` +import * as from from 20 +`, `SyntaxError: Unexpected number '20'. Imported modules names must be string literals.:2`); + +checkModuleSyntaxError(String.raw` +function noTopLevel() { + import * as from from "Cocoa" +} +`, `SyntaxError: Unexpected token '*'. import call expects exactly one argument.:3`); + +checkModuleSyntaxError(String.raw` +if (noTopLevel) { + import * as from from "Cocoa" +} +`, `SyntaxError: Unexpected token '*'. import call expects exactly one argument.:3`); + +checkModuleSyntaxError(String.raw` +{ + import * as from from "Cocoa" +} +`, `SyntaxError: Unexpected token '*'. import call expects exactly one argument.:3`); + +checkModuleSyntaxError(String.raw` +for (var i = 0; i < 1000; ++i) { + import * as from from "Cocoa" +} +`, `SyntaxError: Unexpected token '*'. import call expects exactly one argument.:3`); + +checkModuleSyntaxError(String.raw` +import for from "Cocoa"; +`, `SyntaxError: Unexpected keyword 'for'. Expected namespace import or import list.:2`); + +checkModuleSyntaxError(String.raw` +import enum from "Cocoa"; +`, `SyntaxError: Unexpected use of reserved word 'enum'. Expected namespace import or import list.:2`); + +checkModuleSyntaxError(String.raw` +import * as for from "Cocoa"; +`, `SyntaxError: Unexpected keyword 'for'. Expected a variable name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import * as enum from "Cocoa"; +`, `SyntaxError: Unexpected use of reserved word 'enum'. Expected a variable name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import { module as default } from "Cocoa" +`, `SyntaxError: Unexpected keyword 'default'. Expected a variable name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import { module as enum } from "Cocoa" +`, `SyntaxError: Unexpected use of reserved word 'enum'. Expected a variable name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import { for } from "Cocoa" +`, `SyntaxError: Cannot use keyword as imported binding name.:2`); + + +checkModuleSyntaxError(String.raw` +import a, { [assign] as c } from "Cocoa" +`, `SyntaxError: Unexpected token '['. Expected an imported name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import d, { g as {obj} } from "Cappuccino" +`, `SyntaxError: Unexpected token '{'. Expected a variable name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import d, { {obj} } from "Cappuccino" +`, `SyntaxError: Unexpected token '{'. Expected an imported name for the import declaration.:2`); + +checkModuleSyntaxError(String.raw` +import { binding +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import { hello, binding as +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +import { hello, binding as +`, `SyntaxError: Unexpected end of script:3`); + +// --------------- export ------------------- + +checkModuleSyntaxError(String.raw` +export { , } from "Cocoa" +`, `SyntaxError: Unexpected token ','. Expected a variable name for the export declaration.:2`); + +checkModuleSyntaxError(String.raw` +export { a, , } from "Cocoa" +`, `SyntaxError: Unexpected token ','. Expected a variable name for the export declaration.:2`); + +checkModuleSyntaxError(String.raw` +export a from "Cocoa" +`, `SyntaxError: Unexpected identifier 'a'. Expected either a declaration or a variable statement.:2`); + +checkModuleSyntaxError(String.raw` +export a +`, `SyntaxError: Unexpected identifier 'a'. Expected either a declaration or a variable statement.:2`); + +checkModuleSyntaxError(String.raw` +export * as b from "Cocoa" +`, `SyntaxError: Unexpected identifier 'as'. Expected 'from' before exported module name.:2`); + +checkModuleSyntaxError(String.raw` +export * "Cocoa" +`, `SyntaxError: Unexpected string literal "Cocoa". Expected 'from' before exported module name.:2`); + +checkModuleSyntaxError(String.raw` +export const a; +`, `SyntaxError: Unexpected token ';'. const declared variable 'a' must have an initializer.:2`); + +checkModuleSyntaxError(String.raw` +export const a = 20, b; +`, `SyntaxError: Unexpected token ';'. const declared variable 'b' must have an initializer.:2`); + +checkModuleSyntaxError(String.raw` +export default 20, 30, 40; +`, `SyntaxError: Unexpected token ','. Expected a ';' following a targeted export declaration.:2`); + +checkModuleSyntaxError(String.raw` +export function () { } +`, `SyntaxError: Function statements must have a name.:2`); + +checkModuleSyntaxError(String.raw` +export class { } +`, `SyntaxError: Class statements must have a name.:2`); + +checkModuleSyntaxError(String.raw` +export class extends Drink { +} +`, `SyntaxError: Cannot use the keyword 'extends' as a class name.:2`); + +checkModuleSyntaxError(String.raw` +export default 20 30 +`, `SyntaxError: Unexpected number '30'. Expected a ';' following a targeted export declaration.:2`); + +checkModuleSyntaxError(String.raw` +export default 20 + 30, 40; +`, `SyntaxError: Unexpected token ','. Expected a ';' following a targeted export declaration.:2`); + +checkModuleSyntaxError(String.raw` +export { default as default } +`, `SyntaxError: Cannot use keyword as exported variable name.:3`); + +checkModuleSyntaxError(String.raw` +export { default } +`, `SyntaxError: Cannot use keyword as exported variable name.:3`); + +checkModuleSyntaxError(String.raw` +export { default as binding } +`, `SyntaxError: Cannot use keyword as exported variable name.:3`); + +checkModuleSyntaxError(String.raw` +export { hello, default as binding } +`, `SyntaxError: Cannot use keyword as exported variable name.:3`); + +checkModuleSyntaxError(String.raw` +export { implements } +`, `SyntaxError: Cannot use keyword as exported variable name.:3`); + +checkModuleSyntaxError(String.raw` +export { static } +`, `SyntaxError: Cannot use keyword as exported variable name.:3`); + +checkModuleSyntaxError(String.raw` +export { binding +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +export { hello, binding as +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +export { hello, binding as +`, `SyntaxError: Unexpected end of script:3`); + +checkModuleSyntaxError(String.raw` +function noTopLevel() { + export * from "Cocoa" +} +`, `SyntaxError: Unexpected keyword 'export':3`); + +checkModuleSyntaxError(String.raw` +if (noTopLevel) { + export * from "Cocoa" +} +`, `SyntaxError: Unexpected keyword 'export':3`); + +checkModuleSyntaxError(String.raw` +{ + export * from "Cocoa" +} +`, `SyntaxError: Unexpected keyword 'export':3`); + +checkModuleSyntaxError(String.raw` +for (var i = 0; i < 1000; ++i) { + export * from "Cocoa" +} +`, `SyntaxError: Unexpected keyword 'export':3`); + +// --------------- other --------------------- + +checkModuleSyntaxError(String.raw` +new.target; +`, `SyntaxError: new.target is only valid inside functions.:2`); + +checkModuleSyntaxError(String.raw` +super(); +`, `SyntaxError: super is not valid in this context.:2`); + +checkModuleSyntaxError(String.raw` +super.test(); +`, `SyntaxError: super is not valid in this context.:2`); + +checkModuleSyntaxError(String.raw` +super.test = 20; +`, `SyntaxError: super is not valid in this context.:2`); diff --git a/implementation-contributed/javascriptcore/stress/modules-syntax.js b/implementation-contributed/javascriptcore/stress/modules-syntax.js new file mode 100644 index 0000000000..6feffb17e3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/modules-syntax.js @@ -0,0 +1,312 @@ +checkModuleSyntax(String.raw` +import "Cocoa"; +`); + +// Examples in 15.2.1.16 +// http://www.ecma-international.org/ecma-262/6.0/#sec-source-text-module-records +checkModuleSyntax(String.raw` +import v from "mod"; +`); + +checkModuleSyntax(String.raw` +import * as ns from "mod"; +`); + +checkModuleSyntax(String.raw` +import {x} from "mod"; +`); + +checkModuleSyntax(String.raw` +import {x,} from "mod"; +`); + +checkModuleSyntax(String.raw` +import {} from "mod"; +`); + +checkModuleSyntax(String.raw` +import {x as v} from "mod"; +`); + +checkModuleSyntax(String.raw` +import "mod"; +`); + +checkModuleSyntax(String.raw` +export var v; +`); + +checkModuleSyntax(String.raw` +export default function f(){}; +`); + +checkModuleSyntax(String.raw` +export default function(){}; +`); + +checkModuleSyntax(String.raw` +export default 42; +`); + +checkModuleSyntax(String.raw` +const x = 20; +export {x}; +`); + +checkModuleSyntax(String.raw` +const v = 20; +export {v as x}; +`); + +checkModuleSyntax(String.raw` +export {x} from "mod"; +`); + +checkModuleSyntax(String.raw` +export {v as x} from "mod"; +`); + +checkModuleSyntax(String.raw` +export * from "mod"; +`); + +// semicolon is not needed. +checkModuleSyntax(String.raw` +export default function () { } 40; +`); + +checkModuleSyntax(String.raw` +export default class { } 40; +`); + +checkModuleSyntax(String.raw` +export default function Cappuccino() { } 40 +`); + +checkModuleSyntax(String.raw` +export default class Cappuccino { } 40 +`); + +checkModuleSyntax(String.raw` +import a, { b as c } from "Cocoa" +import d, { e, f, g as h } from "Cappuccino" +import { } from "Cappuccino" +import i, * as j from "Cappuccino" +`); + +checkModuleSyntax(String.raw` +import a, { } from "Cappuccino" +`); + +checkModuleSyntax(String.raw` +import a, { b, } from "Cappuccino" +`); + +checkModuleSyntax(String.raw` +import * as from from "Matcha" +import * as as from "Cocoa" +`); + +checkModuleSyntax(String.raw` +import { default as module } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export * from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { a } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { a as b } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { a, b } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { a, c as d, b } +let a, c, b; +`); + +checkModuleSyntax(String.raw` +export { } +`); + +checkModuleSyntax(String.raw` +export { a } +let a; +`); + +checkModuleSyntax(String.raw` +export { a, } +let a; +`); + +checkModuleSyntax(String.raw` +var a = 20; +export { a as b } +`); + +checkModuleSyntax(String.raw` +export { a, b } +var a, b = 40; +`); + +checkModuleSyntax(String.raw` +export { a, c as d, b } +let a, c, b; +`); + +checkModuleSyntax(String.raw` +export var a; +`); + +checkModuleSyntax(String.raw` +export var a, b, c = 20; +`); + +checkModuleSyntax(String.raw` +export var a, { b, c } = obj, d = 20; +`); + +checkModuleSyntax(String.raw` +export const a = 20; +`); + +checkModuleSyntax(String.raw` +export const [b, ...a] = obj; +`); + +checkModuleSyntax(String.raw` +export const {b, c: d} = obj; +`); + +checkModuleSyntax(String.raw` +export let a; +`); + +checkModuleSyntax(String.raw` +export let a = 20; +`); + +checkModuleSyntax(String.raw` +export let a = 20, b = 30; +`); + +checkModuleSyntax(String.raw` +export let [b, ...a] = obj; +`); + +checkModuleSyntax(String.raw` +export let {b, c: d} = obj; +`); + +checkModuleSyntax(String.raw` +export function Cocoa() { +} +`); + +checkModuleSyntax(String.raw` +export class Cocoa { +} +`); + +checkModuleSyntax(String.raw` +export class Cocoa extends Drink { +} +`); + +checkModuleSyntax(String.raw` +export default function Cocoa() { +} +`); + +checkModuleSyntax(String.raw` +export default function () { +} +`); + +checkModuleSyntax(String.raw` +export default class Cocoa { +} +`); + +checkModuleSyntax(String.raw` +export default class { +} +`); + +checkModuleSyntax(String.raw` +export default class Cocoa extends Drink { +} +`); + +checkModuleSyntax(String.raw` +export default class extends Drink { +} +`); + +checkModuleSyntax(String.raw` +export default 20; +`); + +checkModuleSyntax(String.raw` +export default "Cocoa"; +`); + +checkModuleSyntax(String.raw` +export default 20 + 30; +`); + +checkModuleSyntax(String.raw` +export default call(); +`); + +checkModuleSyntax(String.raw` +export { default } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { enum } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { default as default } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { enum as enum } from "Cocoa" +`); + +checkModuleSyntax(String.raw` +export { binding as default } +let binding = 20; +`); + +checkModuleSyntax(String.raw` +export { binding as enum } +var binding = 40; +`); + +checkModuleSyntax(String.raw` +export { binding as for } +const binding = 40; +`); + +// --------------- other --------------------- + +checkModuleSyntax(String.raw` +let i = 20; +`); + +checkModuleSyntax(String.raw` +const i = 20; +`); diff --git a/implementation-contributed/javascriptcore/stress/mul-boolean-exit.js b/implementation-contributed/javascriptcore/stress/mul-boolean-exit.js new file mode 100644 index 0000000000..ba5883c99e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/mul-boolean-exit.js @@ -0,0 +1,30 @@ +function foo(a, b) { + return Math.max(a.f, b.f); +} + +noInline(foo); + +var f = new Float64Array(1); +var i = new Int32Array(f.buffer); + +function test(a, b, c) { + var result = foo({f:a}, {f:b}); + f[0] = c; + var expectedA = i[0]; + var expectedB = i[1]; + f[0] = result; + if (i[0] != expectedA || i[1] != expectedB) + throw "Error: expected " + c + " but got: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(true, 42, 42); + +// Now try some unexpected things, in descending order of possible badness. +test(true, 2147483647, 2147483647); +test(false, 42, 42); +test(false, -42, -0); +test(1, 2, 2); +test(true, true, 1); +test(1.5, 1.5, 2.25); + diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-dce.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-dce.js new file mode 100644 index 0000000000..bce1e823fc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-dce.js @@ -0,0 +1,22 @@ +function foo(o) { + var tmp = o.f; + return 42; +} + +noInline(foo); + +var array = [{f:1}, {g:1, f:2}]; +for (var i = 0; i < 10000; ++i) { + var result = foo(array[i % array.length]); + if (result != 42) + throw "Error: bad result in loop: " + result; +} + +var o = {}; +var didCallGetter = false; +o.__defineGetter__("f", function() { didCallGetter = true; return 73; }); +var result = foo(o); +if (result != 42) + throw "Error: bad result at end: " + result; +if (!didCallGetter) + throw "Error: did not call getter at end."; diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-hoist-around-structure-check.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-hoist-around-structure-check.js new file mode 100644 index 0000000000..5fbb919eab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-hoist-around-structure-check.js @@ -0,0 +1,30 @@ +function foo(o, start) { + var result = 0; + for (var i = 0; i < 100; ++i) + result += o.f; + return result; +} + +noInline(foo); + +var o = {}; +o.f = 42; +var f = {}; +f.f = 43; +f.g = 44; + +for (var i = 0; i < 10000; ++i) + o.f = i; +o.f = 42; + +for (var i = 0; i < 10000; ++i) { + var p; + if (i & 1) + p = o; + else + p = Object.create(o); + var result = foo(p); + if (result != 100 * 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-and-self.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-and-self.js new file mode 100644 index 0000000000..e4510b3f1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-and-self.js @@ -0,0 +1,20 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +function Foo() { } +Foo.prototype.f = 42; + +for (var i = 0; i < 100000; ++i) { + if (i & 1) { + var result = foo(new Foo()); + if (result != 42) + throw "Error: bad result for new Foo(): " + result; + } else { + var result = foo({f:24}); + if (result != 24) + throw "Error: bad result for {f:24}: " + result; + } +} diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-or-unset.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-or-unset.js new file mode 100644 index 0000000000..72bc25dc0f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-or-unset.js @@ -0,0 +1,30 @@ +function foo(o, start) { + var result = 0; + for (var i = 0; i < 100; ++i) + result += o.f; + return result; +} + +noInline(foo); + +var o = {}; +o.f = 42; +var f = {}; + +for (var i = 0; i < 10000; ++i) + o.f = i; +o.f = 42; + +for (var i = 0; i < 10000; ++i) { + if (foo(o) !== 4200) + throw new Error("bad result: " + result); + var result = foo(f); + if (!Number.isNaN(result)) + throw "Error: bad result: " + result; +} + +var q = {}; +q.f = 43; +var result = foo(q); +if (result != 100 * 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-self-or-unset.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-self-or-unset.js new file mode 100644 index 0000000000..31556d56b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-proto-self-or-unset.js @@ -0,0 +1,42 @@ +function foo(o, start) { + var result = 0; + for (var i = 0; i < 100; ++i) + result += o.f; + return result; +} + +noInline(foo); + + +var p = {}; +p.f = 42; +var o = Object.create(p); + +var q = {} +q.f = 42; + +var f = {}; + +for (var i = 0; i < 10000; ++i) + o.f = i; +o.f = 42; + +for (var i = 0; i < 10000; ++i) { + if (i % 100 === 0) { + let result = foo(q) + if (result !== 4200) + throw new Error("bad result: " + result); + } + + if (foo(o) !== 4200) + throw new Error("bad result: " + result); + var result = foo(f); + if (!Number.isNaN(result)) + throw new Error("bad result: " + result); +} + +var q = {}; +q.f = 43; +var result = foo(q); +if (result != 100 * 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-proto.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-proto.js new file mode 100644 index 0000000000..6c226d527f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-proto.js @@ -0,0 +1,35 @@ +function foo(o, start) { + var result = 0; + for (var i = 0; i < 100; ++i) + result += o.f; + return result; +} + +noInline(foo); + +var o = {}; +o.f = 42; +var f = {}; +f.f = 43; +f.g = 44; + +for (var i = 0; i < 10000; ++i) + o.f = i; +o.f = 42; + +for (var i = 0; i < 10000; ++i) { + var p; + if (i & 1) + p = o; + else + p = Object.create(o); + var result = foo(p); + if (result != 100 * 42) + throw "Error: bad result: " + result; +} + +var q = {}; +q.f = 43; +var result = foo(q); +if (result != 100 * 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-unset.js b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-unset.js new file mode 100644 index 0000000000..72bc25dc0f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-get-by-offset-self-or-unset.js @@ -0,0 +1,30 @@ +function foo(o, start) { + var result = 0; + for (var i = 0; i < 100; ++i) + result += o.f; + return result; +} + +noInline(foo); + +var o = {}; +o.f = 42; +var f = {}; + +for (var i = 0; i < 10000; ++i) + o.f = i; +o.f = 42; + +for (var i = 0; i < 10000; ++i) { + if (foo(o) !== 4200) + throw new Error("bad result: " + result); + var result = foo(f); + if (!Number.isNaN(result)) + throw "Error: bad result: " + result; +} + +var q = {}; +q.f = 43; +var result = foo(q); +if (result != 100 * 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/multi-put-by-offset-multiple-transitions.js b/implementation-contributed/javascriptcore/stress/multi-put-by-offset-multiple-transitions.js new file mode 100644 index 0000000000..99987ef370 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-put-by-offset-multiple-transitions.js @@ -0,0 +1,30 @@ +function foo(o) { + o.x = 1; + o.y = 2; + o.a = 3; + o.b = 4; + o.c = 5; + o.d = 6; + o.e = 7; + o.f = 8; + o.g = 9; + o.h = 10; + o.i = 11; +} + +noInline(foo); + +function Foo() { + foo(this); +} + +var result = 0; + +for (var i = 0; i < 100000; ++i) { + foo({f:42}); + result += (new Foo()).x; +} + +if (result != 100000) + throw "Bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-butterfly-cse.js b/implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-butterfly-cse.js new file mode 100644 index 0000000000..d283f3ff02 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-butterfly-cse.js @@ -0,0 +1,102 @@ +var foos = [ + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; }, + function(o) { o[0] = 5; o.ff = 42; o[0] = 6; } +]; + +if (foos.length != 8) + throw "Error"; + +function bar(o, n) { + if (n == 0) + return; + o.na = 1; + if (n == 1) + return; + o.nb = 2; + if (n == 2) + return; + o.nc = 3; + if (n == 3) + return; + o.nd = 4; + if (n == 4) + return; + o.ne = 5; + if (n == 5) + return; + o.nf = 6; + if (n == 6) + return; + o.ng = 7; + if (n == 7) + return; + o.nh = 8; +} + +function baz(o, n) { + if (n == 0) + return; + if (o.na != 1) + throw "Memory corruption; have o.na = " + o.na; + if (n == 1) + return; + if (o.nb != 2) + throw "Memory corruption"; + if (n == 2) + return; + if (o.nc != 3) + throw "Memory corruption"; + if (n == 3) + return; + if (o.nd != 4) + throw "Memory corruption"; + if (n == 4) + return; + if (o.ne != 5) + throw "Memory corruption"; + if (n == 5) + return; + if (o.nf != 6) + throw "Memory corruption"; + if (n == 6) + return; + if (o.ng != 7) + throw "Memory corruption"; + if (n == 7) + return; + if (o.nh != 8) + throw "Memory corruption"; +} + +for (var i = 0; i < 8; ++i) + noInline(foos[i]); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var o = {}; + var p = {a:1, b:2, c:3, d:4, e:5, f:6}; + o[0] = 0; + p[0] = 0; + bar(o, i % 8); + bar(p, i % 8); + + foos[i % 8](o); + foos[i % 8](p); + + if (o.ff != 42) + throw "Bad result in o: " + o.ff; + if (p.ff != 42) + throw "Bad result in o: " + p.ff; + + if (p.a != 1 || p.b != 2 || p.c != 3 || p.d != 4 || p.e != 5 || p.f != 6) + throw "Memory corruption" + baz(o, i % 8); + baz(p, i % 8); +} + diff --git a/implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-cases.js b/implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-cases.js new file mode 100644 index 0000000000..f8f386c1d5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multi-put-by-offset-reallocation-cases.js @@ -0,0 +1,100 @@ +var foos = [ + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; }, + function(o) { o.ff = 42; } +]; + +if (foos.length != 8) + throw "Error"; + +function bar(o, n) { + if (n == 0) + return; + o.na = 1; + if (n == 1) + return; + o.nb = 2; + if (n == 2) + return; + o.nc = 3; + if (n == 3) + return; + o.nd = 4; + if (n == 4) + return; + o.ne = 5; + if (n == 5) + return; + o.nf = 6; + if (n == 6) + return; + o.ng = 7; + if (n == 7) + return; + o.nh = 8; +} + +function baz(o, n) { + if (n == 0) + return; + if (o.na != 1) + throw "Memory corruption"; + if (n == 1) + return; + if (o.nb != 2) + throw "Memory corruption"; + if (n == 2) + return; + if (o.nc != 3) + throw "Memory corruption"; + if (n == 3) + return; + if (o.nd != 4) + throw "Memory corruption"; + if (n == 4) + return; + if (o.ne != 5) + throw "Memory corruption"; + if (n == 5) + return; + if (o.nf != 6) + throw "Memory corruption"; + if (n == 6) + return; + if (o.ng != 7) + throw "Memory corruption"; + if (n == 7) + return; + if (o.nh != 8) + throw "Memory corruption"; +} + +for (var i = 0; i < 8; ++i) + noInline(foos[i]); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var o = {}; + var p = {a:1, b:2, c:3, d:4, e:5, f:6}; + bar(o, i % 8); + bar(p, i % 8); + + foos[i % 8](o); + foos[i % 8](p); + + if (o.ff != 42) + throw "Bad result in o: " + o.ff; + if (p.ff != 42) + throw "Bad result in o: " + p.ff; + + if (p.a != 1 || p.b != 2 || p.c != 3 || p.d != 4 || p.e != 5 || p.f != 6) + throw "Memory corruption" + baz(o, i % 8); + baz(p, i % 8); +} + diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/eighth.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/eighth.js new file mode 100644 index 0000000000..f92517c390 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/eighth.js @@ -0,0 +1,2 @@ +let foo = 10; +sentinel = "__s__"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fifth.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fifth.js new file mode 100644 index 0000000000..dfa947d36f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fifth.js @@ -0,0 +1,2 @@ +let globalVar = "bad"; +sentinel = "bad"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/first.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/first.js new file mode 100644 index 0000000000..511fdc5ea6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/first.js @@ -0,0 +1,2 @@ +let globalLet = "bad"; +sentinel = "bad"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fourth.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fourth.js new file mode 100644 index 0000000000..2b0d3ac3ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/fourth.js @@ -0,0 +1,2 @@ +let globalConst = "bad"; +sentinel = "bad"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/ninth.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/ninth.js new file mode 100644 index 0000000000..ddda6af7f0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/ninth.js @@ -0,0 +1,2 @@ +let bar = 10; +sentinel = "__s__"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/second.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/second.js new file mode 100644 index 0000000000..6eb8092b1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/second.js @@ -0,0 +1,2 @@ +let globalFunction = "bad"; +sentinel = "bad"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/seventh.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/seventh.js new file mode 100644 index 0000000000..c60542f075 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/seventh.js @@ -0,0 +1,2 @@ +let Array = 2; +sentinel = "__s__"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/sixth.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/sixth.js new file mode 100644 index 0000000000..33760561bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/sixth.js @@ -0,0 +1,2 @@ +let globalProperty = "good"; +sentinel = "__s__"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/tenth.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/tenth.js new file mode 100644 index 0000000000..aac67128d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/tenth.js @@ -0,0 +1,2 @@ +let zoo = 2; +sentinel = "__s__"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/third.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/third.js new file mode 100644 index 0000000000..3292e52b10 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redeclare-variable/third.js @@ -0,0 +1,2 @@ +let globalClass = "bad"; +sentinel = "bad"; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/first.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/first.js new file mode 100644 index 0000000000..55e076a58e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/first.js @@ -0,0 +1,21 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); +function shouldThrowInvalidConstAssignment(f) { + var threw = false; + try { + f(); + } catch(e) { + if (e.name.indexOf("TypeError") !== -1 && e.message.indexOf("readonly") !== -1) + threw = true; + } + assert(threw); +} +noInline(shouldThrowInvalidConstAssignment); + + +const constValue = "const"; +const {a: destructureObj} = {a: 20}; +const [destructureArr] = [40]; diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/second.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/second.js new file mode 100644 index 0000000000..12337fe25c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-redefine-const/second.js @@ -0,0 +1,22 @@ +function foo() { + constValue = 20; +} + +function bar() { + destructureObj = 100; +} + +function baz() { + destructureArr = 100; +} + +for (var i = 0; i < 1000; i++) { + shouldThrowInvalidConstAssignment(foo); + assert(constValue === "const"); + + shouldThrowInvalidConstAssignment(bar); + assert(destructureObj === 20); + + shouldThrowInvalidConstAssignment(baz); + assert(destructureArr === 40); +} diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/first.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/first.js new file mode 100644 index 0000000000..2e1c3d2dad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/first.js @@ -0,0 +1,29 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + + + + +function foo() { + return lexicalVariableNotYetDefined; +} + +function bar() { + lexicalVariableNotYetDefinedSecond = 300; + return lexicalVariableNotYetDefinedSecond; +} diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/second.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/second.js new file mode 100644 index 0000000000..81dcedcdeb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-tdz/second.js @@ -0,0 +1,12 @@ + +for (var i = 0; i < 1000; i++) + shouldThrowTDZ(foo); + +let lexicalVariableNotYetDefined = 100; +assert(foo() === lexicalVariableNotYetDefined); + + +for (var i = 0; i < 1000; i++) + shouldThrowTDZ(bar); +let lexicalVariableNotYetDefinedSecond = 200; +assert(bar() === 300); diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/first.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/first.js new file mode 100644 index 0000000000..854c79e3e0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/first.js @@ -0,0 +1,27 @@ +function assert(cond) { + if (!cond) + throw new Error("broke assertion"); +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + + +let b = false; +function foo() { + if (b) { + x = x; + return x; + } +} +foo(); // Link as UnresolvedProperty. diff --git a/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js new file mode 100644 index 0000000000..f234b85194 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiple-files-tests/global-lexical-variable-unresolved-property/second.js @@ -0,0 +1,14 @@ +b = true; +let x = "x"; +for (var i = 0; i < 1000; i++) { + assert(foo() === "x"); + assert(x === "x"); +} + +x = 20; +x = 40; +for (var i = 0; i < 1000; i++) { + assert(foo() === 40); + assert(x === 40); +} + diff --git a/implementation-contributed/javascriptcore/stress/multiply-typed-double-and-object.js b/implementation-contributed/javascriptcore/stress/multiply-typed-double-and-object.js new file mode 100644 index 0000000000..c31f4d5dc1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/multiply-typed-double-and-object.js @@ -0,0 +1,63 @@ +var otherObject = { + valueOf: function() { return 5.1; } +}; +// DFG. +var targetDFG = { + value: 5.5, + multiply: function(arg) { + let returnValue = 1; + if (typeof arg == "number") { + returnValue = this.value * arg; + } + return returnValue + 1; + } +}; +noInline(targetDFG.multiply); + +for (let i = 0; i < 400; ++i) { + if (targetDFG.multiply(otherObject) !== 2) + throw "Failed targetDFG.multiply(otherObject)"; + let result = targetDFG.multiply(Math.PI); + if (result !== (5.5 * Math.PI + 1)) + throw "Failed targetDFG.multiply(Math.PI), expected " + (5.5 * Math.PI + 1) + " got " + result + " at iteration " + i; +} +for (let i = 0; i < 1e3; ++i) { + let result = targetDFG.multiply(Math.PI); + if (result !== (5.5 * Math.PI + 1)) + throw "Failed targetDFG.multiply(Math.PI), expected " + (5.5 * Math.PI + 1) + " got " + result + " at iteration " + i; +} + +// FTL. +var targetFTL = { + value: 5.5, + multiply: function(arg) { + let returnValue = 1; + if (typeof arg == "number") { + returnValue = this.value * arg; + } + return returnValue + 1; + } +}; +noInline(targetFTL.multiply); + +// Warmup to baseline. +for (let i = 0; i < 400; ++i) { + if (targetFTL.multiply(otherObject) !== 2) + throw "Failed targetFTL.multiply(otherObject)"; + let result = targetFTL.multiply(Math.PI); + if (result !== (5.5 * Math.PI + 1)) + throw "Failed targetFTL.multiply(Math.PI), expected " + (5.5 * Math.PI + 1) + " got " + result + " at iteration " + i; +} + +// Step over DFG *WITHOUT* OSR Exit. +for (let i = 0; i < 1e6; ++i) { + if (targetFTL.multiply(otherObject) !== 2) + throw "Failed targetFTL.multiply(otherObject)"; +} + +// Now OSR Exit in FTL. +for (let i = 0; i < 1e2; ++i) { + let result = targetFTL.multiply(Math.PI); + if (result !== (5.5 * Math.PI + 1)) + throw "Failed targetFTL.multiply(Math.PI), expected " + (5.5 * Math.PI + 1) + " got " + result + " at iteration " + i; +} diff --git a/implementation-contributed/javascriptcore/stress/mutual-tail-call-no-stack-overflow.js b/implementation-contributed/javascriptcore/stress/mutual-tail-call-no-stack-overflow.js new file mode 100644 index 0000000000..ccafeb2f0c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/mutual-tail-call-no-stack-overflow.js @@ -0,0 +1,73 @@ +//@ defaultNoSamplingProfilerRun + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function sloppyCountdown(n) { + function even(n) { + if (n == 0) + return n; + return odd(n - 1); + } + + function odd(n) { + if (n == 1) + return n; + return even(n - 1); + } + + if (n % 2 === 0) + return even(n); + else + return odd(n); +} + +function strictCountdown(n) { + "use strict"; + + function even(n) { + if (n == 0) + return n; + return odd(n - 1); + } + + function odd(n) { + if (n == 1) + return n; + return even(n - 1); + } + + if (n % 2 === 0) + return even(n); + else + return odd(n); +} + +shouldThrow(function () { sloppyCountdown(100000); }, "RangeError: Maximum call stack size exceeded."); +strictCountdown(100000); + +// Parity alterning +function odd(n) { + "use strict"; + if (n > 0) + return even(n, 0); +} + +function even(n) { + "use strict"; + return odd(n - 1); +} + +odd(100000); diff --git a/implementation-contributed/javascriptcore/stress/nan-equal-untyped.js b/implementation-contributed/javascriptcore/stress/nan-equal-untyped.js new file mode 100644 index 0000000000..7584d20329 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/nan-equal-untyped.js @@ -0,0 +1,24 @@ +function foo(x) { + return x == x; +} + +noInline(foo); + +function test(value) { + var result = foo(value); + if (result !== true) + throw "Error: bad result for " + value + ": " + result; +} + +for (var i = 0; i < 10000; ++i) { + test(true); + test(4); + test("hello"); + test(new Object()); + test(1.5); +} + +var result = foo(0/0); +if (result !== false) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/nan-equal.js b/implementation-contributed/javascriptcore/stress/nan-equal.js new file mode 100644 index 0000000000..eaf2b6e919 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/nan-equal.js @@ -0,0 +1,12 @@ +function foo(x) { + return x == x; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(0/0); + if (result !== false) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/native-constructors-length.js b/implementation-contributed/javascriptcore/stress/native-constructors-length.js new file mode 100644 index 0000000000..78bc0eccc6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/native-constructors-length.js @@ -0,0 +1,41 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function assertLengthDescriptorAttributes(ctor, lengthValue) { + let descriptor = Object.getOwnPropertyDescriptor(ctor, "length"); + + assert(descriptor.value === lengthValue); + assert(!descriptor.enumerable); + assert(!descriptor.writable); + assert(descriptor.configurable); +} + +assertLengthDescriptorAttributes(Array, 1); +assertLengthDescriptorAttributes(ArrayBuffer, 1); +assertLengthDescriptorAttributes(Boolean, 1); +assertLengthDescriptorAttributes(DataView, 3); +assertLengthDescriptorAttributes(Date, 7); +assertLengthDescriptorAttributes(Error, 1); +assertLengthDescriptorAttributes(Function, 1); +assertLengthDescriptorAttributes(Map, 0); +assertLengthDescriptorAttributes(Number, 1); +assertLengthDescriptorAttributes(Object, 1); +assertLengthDescriptorAttributes(Promise, 1); +assertLengthDescriptorAttributes(Proxy, 2); +assertLengthDescriptorAttributes(RegExp, 2); +assertLengthDescriptorAttributes(Set, 0); +assertLengthDescriptorAttributes(String, 1); +assertLengthDescriptorAttributes(Symbol, 0); +assertLengthDescriptorAttributes(WeakMap, 0); +assertLengthDescriptorAttributes(WeakSet, 0); + +assertLengthDescriptorAttributes(Int8Array, 3); +assertLengthDescriptorAttributes(Uint8Array, 3); +assertLengthDescriptorAttributes(Int16Array, 3); +assertLengthDescriptorAttributes(Uint16Array, 3); +assertLengthDescriptorAttributes(Int32Array, 3); +assertLengthDescriptorAttributes(Uint32Array, 3); +assertLengthDescriptorAttributes(Float32Array, 3); +assertLengthDescriptorAttributes(Float64Array, 3); diff --git a/implementation-contributed/javascriptcore/stress/native-error-properties.js b/implementation-contributed/javascriptcore/stress/native-error-properties.js new file mode 100644 index 0000000000..ecc56b1c89 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/native-error-properties.js @@ -0,0 +1,79 @@ +"use strict"; + +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function shouldNotThrow(expr) { + let testFunc = new Function(expr); + let error; + try { + testFunc(); + } catch (e) { + error = e; + } + assert(!error); +} + +function checkEmptyErrorPropertiesDescriptors(error) { + let descriptor = Object.getOwnPropertyDescriptor(error, "message"); + assert(descriptor === undefined); +} + +function checkNonEmptyErrorPropertiesDescriptors(error) { + let descriptor = Object.getOwnPropertyDescriptor(error, "message"); + assert(descriptor.configurable); + assert(!descriptor.enumerable); + assert(descriptor.writable); +} + +function checkErrorPropertiesWritable(error) { + let properties = ["name", "message", "line", "lineNumber", "column", "columnNumber", "sourceURL", "stack"]; + for (let p of properties) { + assert(error[p] !== 999); + error[p] = 999; + assert(error[p] === 999); + } +} + +// User created error instances. +let errorConstructors = [Error, EvalError, RangeError, ReferenceError, SyntaxError, TypeError, URIError]; +for (let constructor of errorConstructors) { + shouldNotThrow(`checkErrorPropertiesWritable(new ${constructor.name})`); + shouldNotThrow(`checkEmptyErrorPropertiesDescriptors(new ${constructor.name})`); + shouldNotThrow(`checkNonEmptyErrorPropertiesDescriptors(new ${constructor.name}('message'))`); +} + +// Engine created error instances. +var globalError = null; + +try { + eval("{"); +} catch (e) { + globalError = e; + assert(e.name === "SyntaxError"); + assert(e.message.length); + shouldNotThrow("checkNonEmptyErrorPropertiesDescriptors(globalError)"); + shouldNotThrow("checkErrorPropertiesWritable(globalError)"); +} + +try { + a.b.c; +} catch (e) { + globalError = e; + assert(e.name === "ReferenceError"); + assert(e.message.length); + shouldNotThrow("checkNonEmptyErrorPropertiesDescriptors(globalError)"); + shouldNotThrow("checkErrorPropertiesWritable(globalError)"); +} + +try { + undefined.x; +} catch (e) { + globalError = e; + assert(e.name === "TypeError"); + assert(e.message.length); + shouldNotThrow("checkNonEmptyErrorPropertiesDescriptors(globalError)"); + shouldNotThrow("checkErrorPropertiesWritable(globalError)"); +} diff --git a/implementation-contributed/javascriptcore/stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js b/implementation-contributed/javascriptcore/stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js new file mode 100644 index 0000000000..5fa74d209b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/need-bytecode-liveness-for-unreachable-blocks-at-dfg-time.js @@ -0,0 +1,31 @@ +//@ run("--useConcurrentJIT=false") + +// This test is set up delicately to: +// 1. cause the test() function to DFG compile with just the right amount of profiling +// so that ... +// 2. the DFG identifies the "return Function()" path as dead, and ... +// 3. the DFG compiled function doesn't OSR exit too many times before ... +// 4. we change the implementation of the inlined foo() and execute test() again. +// +// This test should not crash. + +eval("\"use strict\"; var w;"); +foo = function() { throw 0; } +var x; + +(function() { + eval("test = function() { ~foo(~(0 ? ~x : x) ? 0 : 0); return Function(); }"); +})(); + +// This loop count of 2000 was empirically determined to be the right amount to get this +// this issue to manifest. Dropping or raising it may mask the issue and prevent it from +// manifesting. +for (var i = 0; i < 2000; ++i) { + try { + test(); + } catch(e) { + } +} + +foo = function() { }; +test(); diff --git a/implementation-contributed/javascriptcore/stress/new-array-buffer-sinking-osrexit.js b/implementation-contributed/javascriptcore/stress/new-array-buffer-sinking-osrexit.js new file mode 100644 index 0000000000..a95c3266de --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-buffer-sinking-osrexit.js @@ -0,0 +1,17 @@ +function target(p, a0, a1, a2, a3, a4, a5) +{ + if (p) + OSRExit(); + return a5 +} + +function test(p) +{ + var array = [1,2,3,4,5]; + return target(p, ...array); +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) + test(false); +test(true); diff --git a/implementation-contributed/javascriptcore/stress/new-array-dead.js b/implementation-contributed/javascriptcore/stress/new-array-dead.js new file mode 100644 index 0000000000..617e4725ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-dead.js @@ -0,0 +1,42 @@ +// Tests when we have a dead NewArray that we end up killing and there are other things in the basic block. + +function foo(a, b, c) { + var d = a + b; + var e = b + c; + var f = c + a; + var g = a - b; + var h = b - c; + var i = c - a; + var j = [a + 1, b + 2, c + 3, d + 4, e + 5, f + 6, g + 7, h + 8, i + 9]; + var d = a * b; + var e = b * c; + var f = c * a; + var g = a / b; + var h = b / c; + var i = c / a; + var j = [a + 10, b + 11, c + 12, d + 13, e + 14, f + 15, g + 16, h + 17, i + 18]; + var d = a % b; + var e = b % c; + var f = c % a; + var g = b - a; + var h = c - b; + var i = a - c; + var j = [a + 19, b + 20, c + 21, d + 22, e + 23, f + 24, g + 25, h + 26, i + 27]; + var d = b / a; + var e = c / b; + var f = a + c; + var g = b % a; + var h = c % b; + var i = a % c; + var j = [a + 28, b + 29, c + 30, d + 31, e + 32, f + 33, g + 34, h + 35, i + 36]; + return 42; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(1.5, 2.5, 3.5); + if (result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/new-array-having-a-bad-time-double.js b/implementation-contributed/javascriptcore/stress/new-array-having-a-bad-time-double.js new file mode 100644 index 0000000000..5ee4f6a3db --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-having-a-bad-time-double.js @@ -0,0 +1,25 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +function foo(a, b, c) { + let x = a + b + c; + return [a, b, c, x]; +} +noInline(foo); + +Object.defineProperty(Object.prototype, "10000", {get() { return 20; }}); + +for (let i = 0; i < 10000; ++i) { + let a = 10.5; + let b = 1.1; + let c = 1.2; + let x = a + b + c; + let result = foo(a, b, c); + assert(result.length === 4); + assert(result[0] === a); + assert(result[1] === b); + assert(result[2] === c); + assert(result[3] === x); +} diff --git a/implementation-contributed/javascriptcore/stress/new-array-storage-array-with-size.js b/implementation-contributed/javascriptcore/stress/new-array-storage-array-with-size.js new file mode 100644 index 0000000000..af3a239ef5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-storage-array-with-size.js @@ -0,0 +1,29 @@ +function foo(x) { + return new Array(x); +} + +noInline(foo); + +// Warm up up to create array storage. +for (var i = 0; i < 10000; ++i) { + var array = foo(10); + array.__defineSetter__(0, function(v) { }); +} + +function test(size) { + var result = foo(size); + if (result.length != size) + throw "Error: bad result: " + result; + var sawThings = false; + for (var s in result) + sawThings = true; + if (sawThings) + throw "Error: array is in bad state: " + result; + result[0] = "42.5"; + if (result[0] != "42.5") + throw "Error: array is in wierd state: " + result; +} + +for (var i = 0; i < 100000; ++i) { + test(10); +} diff --git a/implementation-contributed/javascriptcore/stress/new-array-then-exit.js b/implementation-contributed/javascriptcore/stress/new-array-then-exit.js new file mode 100644 index 0000000000..7c8a6901e8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-then-exit.js @@ -0,0 +1,14 @@ +function foo(f) { + return new f(); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(Array); + +var didCall = false; +foo(function() { didCall = true; }); + +if (!didCall) + throw "Error: didn't call my function."; diff --git a/implementation-contributed/javascriptcore/stress/new-array-with-size-div.js b/implementation-contributed/javascriptcore/stress/new-array-with-size-div.js new file mode 100644 index 0000000000..f0d113f92d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-with-size-div.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(length, number) +{ + return new Array(length / number); +} +noInline(test); + +var value = 0; +var number = 0; +for (var i = 0; i < 1e4; ++i) { + value = i * 2; + number = 2; + if (i === (1e4 - 1)) { + value = 0; + number = -1; + } + shouldBe(test(value, number).length, (value / number)); +} diff --git a/implementation-contributed/javascriptcore/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js b/implementation-contributed/javascriptcore/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js new file mode 100644 index 0000000000..8908bce17a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-with-size-throw-exception-and-tear-off-arguments.js @@ -0,0 +1,26 @@ +function foo() { + var a = arguments; + return new Array(a[0]); +} + +function bar(x) { + return foo(x); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(42); + if (result.length != 42) + throw "Error: bad result length: " + result; +} + +var didThrow = false; +try { + bar(-1); +} catch (e) { + didThrow = e; +} + +if (("" + didThrow).indexOf("RangeError") != 0) + throw "Error: did not throw right exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/new-array-with-size-with-bad-time.js b/implementation-contributed/javascriptcore/stress/new-array-with-size-with-bad-time.js new file mode 100644 index 0000000000..f56774156f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-with-size-with-bad-time.js @@ -0,0 +1,34 @@ +function foo(x) { + return new Array(x); +} + +noInline(foo); + +var poke; +Array.prototype.__defineSetter__("1", function() { + poke = "poke"; +}); + +function test(size) { + var result = foo(size); + if (result.length != size) + throw "Error: bad result: " + result; + var sawThings = false; + for (var s in result) { + if (s != "1") + sawThings = true; + } + if (sawThings) + throw "Error: array is in bad state: " + result; + result[0] = "42.5"; + if (result[0] != "42.5") + throw "Error: array is in wierd state: " + result; + poke = null; + result[1] = 42; + if (poke != "poke") + throw "Error: setter not called."; +} + +for (var i = 0; i < 100000; ++i) { + test(42); +} diff --git a/implementation-contributed/javascriptcore/stress/new-array-with-spread-double-new-array-buffer.js b/implementation-contributed/javascriptcore/stress/new-array-with-spread-double-new-array-buffer.js new file mode 100644 index 0000000000..aaf88a667d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-with-spread-double-new-array-buffer.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + return [...[1.2, 2.3, 3.4]]; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var [a, b, c] = test(); + shouldBe(a, 1.2); + shouldBe(b, 2.3); + shouldBe(c, 3.4); +} diff --git a/implementation-contributed/javascriptcore/stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js b/implementation-contributed/javascriptcore/stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js new file mode 100644 index 0000000000..001ec72628 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-with-spread-with-normal-spread-and-phantom-spread.js @@ -0,0 +1,33 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +function foo(a, ...args) { + let r = [...a, ...args]; + return r; +} +noInline(foo); + +function escape(a) { return a; } +noInline(escape); +function bar(a, ...args) { + escape(args); + let r = [...a, ...args]; + return r; +} +noInline(foo); + +for (let i = 0; i < 50000; i++) { + for (let f of [foo, bar]) { + let o = {}; + let a = [o, 20]; + let r = f(a, 30, 40); + assert(r.length === 4); + assert(r[0] === o); + assert(r[1] === 20); + assert(r[2] === 30); + assert(r[3] === 40); + } +} diff --git a/implementation-contributed/javascriptcore/stress/new-array-with-spread-with-phantom-new-array-buffer.js b/implementation-contributed/javascriptcore/stress/new-array-with-spread-with-phantom-new-array-buffer.js new file mode 100644 index 0000000000..f4d40391a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-array-with-spread-with-phantom-new-array-buffer.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function target(array) +{ + return [...array, 4, ...array]; +} + +function test() +{ + return target([1, 2, 3]); +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var result = test(); + shouldBe(result.length, 7); + shouldBe(result[0], 1); + shouldBe(result[1], 2); + shouldBe(result[2], 3); + shouldBe(result[3], 4); + shouldBe(result[4], 1); + shouldBe(result[5], 2); + shouldBe(result[6], 3); +} diff --git a/implementation-contributed/javascriptcore/stress/new-contiguous-array-with-size.js b/implementation-contributed/javascriptcore/stress/new-contiguous-array-with-size.js new file mode 100644 index 0000000000..d08a6f67e8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-contiguous-array-with-size.js @@ -0,0 +1,31 @@ +function foo(x) { + return new Array(x); +} + +noInline(foo); + +function test(size) { + var result = foo(size); + if (result.length != size) { + print("Got a weird length: " + result.length); + throw "Error: bad result: " + result; + } + var sawThings = false; + for (var s in result) + sawThings = true; + if (sawThings) { + print("Saw things!"); + throw "Error: array is in bad state: " + result; + } + result[0] = "42.5"; + if (result[0] != "42.5") { + print("Didn't store what I thought I stored."); + throw "Error: array is in wierd state: " + result; + } +} + +for (var i = 0; i < 100000; ++i) { + test(0); + test(1); + test(42); +} diff --git a/implementation-contributed/javascriptcore/stress/new-double-array-with-size.js b/implementation-contributed/javascriptcore/stress/new-double-array-with-size.js new file mode 100644 index 0000000000..64f28ba643 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-double-array-with-size.js @@ -0,0 +1,25 @@ +function foo(x) { + return new Array(x); +} + +noInline(foo); + +function test(size) { + var result = foo(size); + if (result.length != size) + throw "Error: bad result: " + result; + var sawThings = false; + for (var s in result) + sawThings = true; + if (sawThings) + throw "Error: array is in bad state: " + result; + result[0] = 42.5; + if (result[0] != 42.5) + throw "Error: array is in wierd state: " + result; +} + +for (var i = 0; i < 100000; ++i) { + test(0); + test(1); + test(42); +} diff --git a/implementation-contributed/javascriptcore/stress/new-function-expression-has-structures.js b/implementation-contributed/javascriptcore/stress/new-function-expression-has-structures.js new file mode 100644 index 0000000000..ce0751a3a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-function-expression-has-structures.js @@ -0,0 +1,11 @@ +function foo() { + var f = function() { return 42 }; + f.prototype.f = function() { return 43; }; + return f.prototype.f; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(); + diff --git a/implementation-contributed/javascriptcore/stress/new-int32-array-with-size.js b/implementation-contributed/javascriptcore/stress/new-int32-array-with-size.js new file mode 100644 index 0000000000..4f8c5db720 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-int32-array-with-size.js @@ -0,0 +1,25 @@ +function foo(x) { + return new Array(x); +} + +noInline(foo); + +function test(size) { + var result = foo(size); + if (result.length != size) + throw "Error: bad result: " + result; + var sawThings = false; + for (var s in result) + sawThings = true; + if (sawThings) + throw "Error: array is in bad state: " + result; + result[0] = 42; + if (result[0] != 42) + throw "Error: array is in wierd state: " + result; +} + +for (var i = 0; i < 100000; ++i) { + test(0); + test(1); + test(42); +} diff --git a/implementation-contributed/javascriptcore/stress/new-largeish-contiguous-array-with-size.js b/implementation-contributed/javascriptcore/stress/new-largeish-contiguous-array-with-size.js new file mode 100644 index 0000000000..05a2614a45 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-largeish-contiguous-array-with-size.js @@ -0,0 +1,47 @@ +// We only need one run of this with any GC or JIT strategy. This test is not particularly fast. +// Unfortunately, it needs to run for a while to test the thing it's testing. +//@ if $architecture =~ /arm/ then skip else runWithRAMSize(10000000) end +//@ slow! + +function foo(x) { + return new Array(x); +} + +noInline(foo); + +function test(size) { + var result = foo(size); + if (result.length != size) + throw "Error: bad result: " + result; + var sawThings = false; + for (var s in result) + sawThings = true; + if (sawThings) + throw "Error: array is in bad state: " + result; + result[0] = "42.5"; + if (result[0] != "42.5") + throw "Error: array is in weird state: " + result; +} + +var result = gcHeapSize(); + +for (var i = 0; i < 1000; ++i) { + // The test was written when we found that large array allocations weren't being accounted for + // in that part of the GC's accounting that determined the GC trigger. Consequently, the GC + // would run too infrequently in this loop and we would use an absurd amount of memory when this + // loop exited. + test(50000); +} + +// Last time I tested, the heap should be 3725734 before and 125782 after. I don't want to enforce +// exactly that. If you regress the accounting code, the GC heap size at this point will be much +// more than that. +var result = gcHeapSize(); +if (result > 10000000) + throw "Error: heap too big before forced GC: " + result; + +// Do a final check after GC, just for sanity. +gc(); +result = gcHeapSize(); +if (result > 1000000) + throw "Error: heap too big after forced GC: " + result; diff --git a/implementation-contributed/javascriptcore/stress/new-promise-capabilities-requires-constructor.js b/implementation-contributed/javascriptcore/stress/new-promise-capabilities-requires-constructor.js new file mode 100644 index 0000000000..ec222646d6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-promise-capabilities-requires-constructor.js @@ -0,0 +1,18 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldThrow(() => { + Promise.race.call(() => { }, []); +}, `TypeError: promise capability requires a constructor function`); diff --git a/implementation-contributed/javascriptcore/stress/new-regex-inline.js b/implementation-contributed/javascriptcore/stress/new-regex-inline.js new file mode 100644 index 0000000000..22feeb5b13 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-regex-inline.js @@ -0,0 +1,82 @@ +function assert(a) { + if (!a) + throw Error("bad assertion"); +} + +function testRegexpInline(functor) { + for (let i = 0; i < 100000; i++) { + functor(); + } + + gc(); + + // Create objects to force collected objects be reused + for (let i = 0; i < 10000000; i++) { + let a = {value: i}; + } + + // Checking if RegExp were collected + for (let i = 0; i < 100; i++) { + functor(); + } +} + +function toInlineGlobal() { + var re = /cc+/; + + assert(re.test("ccc")); + assert(!re.test("abc")); + return 0; +} + +function withRegexp() { + toInlineGlobal(); + var re = /(ab)+/; + assert(re.test("ab")); + assert(!re.test("ba")); + return 0; +} + +noInline(withRegexp); + +testRegexpInline(withRegexp); + +function inlineRegexpNotGlobal() { + let toInline = () => { + let re = /a+/; + + assert(re.test("aaaaaa")); + assert(!re.test("bc")); + } + + toInline(); +} + +noInline(inlineRegexpNotGlobal); + +testRegexpInline(inlineRegexpNotGlobal); + +function toInlineRecursive(depth) { + if (depth == 5) { + return; + } + + var re = /(ef)+/; + + assert(re.test("efef")); + assert(!re.test("abc")); + + toInlineRecursive(depth + 1); +} + +function regexpContainsRecursive() { + var re = /r+/; + toInlineRecursive(0); + + assert(re.test("r")); + assert(!re.test("ab")); +} +noInline(regexpContainsRecursive); + +testRegexpInline(regexpContainsRecursive); + diff --git a/implementation-contributed/javascriptcore/stress/new-string-object.js b/implementation-contributed/javascriptcore/stress/new-string-object.js new file mode 100644 index 0000000000..e2e770d6a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-string-object.js @@ -0,0 +1,16 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(string) +{ + return new String(string); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var object = test("Cocoa"); + shouldBe(object instanceof String, true); + shouldBe(object.valueOf(), "Cocoa"); +} diff --git a/implementation-contributed/javascriptcore/stress/new-target-syntax-errors.js b/implementation-contributed/javascriptcore/stress/new-target-syntax-errors.js new file mode 100644 index 0000000000..b37dceb3a8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-target-syntax-errors.js @@ -0,0 +1,184 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function shouldBeSyntaxError(str) { + let failed = true; + try { + new Function(str); + } catch(e) { + if (e instanceof SyntaxError) + failed = false; + } + + if (failed) + throw new Error("Did not throw syntax error: " + str); +} + +function shouldNotBeSyntaxError(str) { + let failed = false; + try { + new Function(str); + } catch(e) { + if (e instanceof SyntaxError && e.message.indexOf("new.target") !== -1) + failed = true; + } + + if (failed) + throw new Error("Did throw a syntax error: " + str); +} + + +let operators = ["=", "+=", "-=", "*=", "<<=", ">>=", ">>>=", "&=", "^=", "|=", "%="]; +for (let operator of operators) { + let functionBody = `new.target ${operator} 20`; + shouldBeSyntaxError(functionBody); + + functionBody = `foo = new.target ${operator} 20`; + shouldBeSyntaxError(functionBody); + + functionBody = `foo ${operator} new.target ${operator} 20`; + shouldBeSyntaxError(functionBody); + + functionBody = `new.target ${operator} foo *= 40`; + shouldBeSyntaxError(functionBody); + + + // Make sure our tests cases our sound and they should not be syntax errors if new.target is replaced by foo + functionBody = `foo ${operator} 20`; + shouldNotBeSyntaxError(functionBody); + + functionBody = `foo = foo ${operator} 20`; + shouldNotBeSyntaxError(functionBody); + + functionBody = `foo ${operator} foo ${operator} 20`; + shouldNotBeSyntaxError(functionBody); + + functionBody = `foo ${operator} foo *= 40`; + shouldNotBeSyntaxError(functionBody); +} + +let prePostFixOperators = ["++", "--"]; +for (let operator of prePostFixOperators) { + let functionBody = `${operator}new.target`; + shouldBeSyntaxError(functionBody); + + functionBody = `foo = ${operator}new.target`; + shouldBeSyntaxError(functionBody); + + functionBody = `${operator}foo`; + shouldNotBeSyntaxError(functionBody); + + functionBody = `foo = ${operator}foo`; + shouldNotBeSyntaxError(functionBody); +} + +for (let operator of prePostFixOperators) { + let functionBody = `new.target${operator}`; + shouldBeSyntaxError(functionBody); + + functionBody = `foo = new.target${operator}`; + shouldBeSyntaxError(functionBody); + + functionBody = `foo${operator}`; + shouldNotBeSyntaxError(functionBody); + + functionBody = `foo = foo${operator}`; + shouldNotBeSyntaxError(functionBody); +} + +let otherUnaryOperators = ["!", "~", "+", "-", "typeof ", "void ", "delete "]; +for (let operator of otherUnaryOperators) { + function strict(body) { return `"use strict" ${body}`; } + let functionBody = `${operator}new.target`; + shouldNotBeSyntaxError(functionBody); + shouldNotBeSyntaxError(strict(functionBody)); +} + +shouldBeSyntaxError(`({foo: new.target} = {foo:20})`); + +// Scripts - 15.1.1 Static Semantics: Early Errors +// https://tc39.github.io/ecma262/#sec-scripts-static-semantics-early-errors +// +// Modules - 15.2.1.1 Static Semantics: Early Errors +// https://tc39.github.io/ecma262/#sec-module-semantics-static-semantics-early-errors +// +// new.target is not allowed in arrow functions in global scope. + +let sawSyntaxError; + +sawSyntaxError = false; +try { + eval(`() => new.target`); +} catch(e) { + sawSyntaxError = e instanceof SyntaxError; +} +assert(sawSyntaxError); + +sawSyntaxError = false; +try { + eval(`() => { new.target }`); +} catch(e) { + sawSyntaxError = e instanceof SyntaxError; +} +assert(sawSyntaxError); + +sawSyntaxError = false; +try { + eval(`async () => new.target`); +} catch(e) { + sawSyntaxError = e instanceof SyntaxError; +} +assert(sawSyntaxError); + +sawSyntaxError = false; +try { + eval(`async () => { new.target }`); +} catch(e) { + sawSyntaxError = e instanceof SyntaxError; +} +assert(sawSyntaxError); + +sawSyntaxError = false; +try { + eval(`async () => await new.target`); +} catch(e) { + sawSyntaxError = e instanceof SyntaxError; +} +assert(sawSyntaxError); + +sawSyntaxError = false; +try { + eval(`async () => { await new.target }`); +} catch(e) { + sawSyntaxError = e instanceof SyntaxError; +} +assert(sawSyntaxError); + +let sawError = false; +try { + new Function(`() => new.target`); + new Function(`() => { new.target }`); + new Function(`async () => new.target`); + new Function(`async () => { new.target }`); + new Function(`async () => await new.target`); + new Function(`async () => { await new.target }`); + + function f() { () => new.target }; + function f() { () => { new.target } }; + function f() { async () => new.target }; + function f() { async () => { new.target } }; + function f() { async () => await new.target }; + function f() { async () => { await new.target } }; + + (function() { eval(`() => new.target`) })(); + (function() { eval(`() => { new.target }`) })(); + (function() { eval(`async () => new.target`) })(); + (function() { eval(`async () => { new.target }`) })(); + (function() { eval(`async () => await new.target`) })(); + (function() { eval(`async () => { await new.target }`) })(); +} catch (e) { + sawError = true; +} +assert(!sawError); diff --git a/implementation-contributed/javascriptcore/stress/new-target.js b/implementation-contributed/javascriptcore/stress/new-target.js new file mode 100644 index 0000000000..c3dc7ee7f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-target.js @@ -0,0 +1,201 @@ +var passed = true; +try { + eval("new.target;"); + passed = false; +} catch(e) {} + +test(passed, true, "new.target cannot be called in global scope"); + +passed = true; +try { + eval("eval(\"eval('new.target;')\")"); + passed = false; +} catch(e) { + passed = e instanceof SyntaxError; +} + +test(passed, true, "new.target cannot be called in global scope"); + + +// Test without class syntax + +function test(result, expected, message) { + if (result !== expected && !(expected !== expected && result !== result)) + throw "Error: " + message + ". was: " + result + " wanted: " + expected; +} + +function call() { + test(new.target, undefined, "new.target should be undefined in a function call"); +} +call(); + +function Constructor() { + test(new.target, Constructor, "new.target should be the same as constructor"); + function subCall() { + test(new.target, undefined, "new.target should be undefined in a sub function call"); + } + subCall(); + + function SubConstructor() { + test(new.target, SubConstructor, "new.target should be subConstructor"); + } + new SubConstructor(); + +} +new Constructor(); + +// This is mostly to test that calling new on new.target deos the right thing. +function doWeirdThings(arg) { + if (new.target) { + if (arg) + this.value = new.target(1); + else + this.value = new new.target(true); + } else + return arg; +} + +test(new doWeirdThings(false).value.value, 1, "calling new on new.target did something weird"); + +// Test with class syntax + +class SuperClass { + constructor() { + this.target = new.target; + } +} + +class SubClass extends SuperClass { + constructor() { + super(); + } +} + +test(new SuperClass().target, SuperClass, "new.target should be the same as the class constructor"); +test(new SubClass().target, SubClass, "new.target should not change when passed through super()"); + +class A {} + +class B extends A { + constructor() { + super(); + this.target = eval('new.target'); + } +} + +class C extends A { + constructor() { + super(); + this.target = eval("eval('new.target')"); + } +} + +class D extends A { + constructor() { + super(); + this.target = eval("eval('(function () { return new.target; })()')"); + } +} + +test(new B().target, B, "new.target should be the same in eval as without eval"); +test(new C().target, C, "new.target should be the same in double eval as without eval"); +test(new D().target, undefined, "new.target should be the same in double eval as without eval"); + +var newTargetInEval = function () { + var result; + var klass = function () { + result = eval('new.target'); + }; + klass(); + test(result, undefined, "new.target should be the same in eval as without eval"); + new klass(); + test(result, klass, "new.target should be the same in eval as without eval"); +} +newTargetInEval(); + +var newTargetInFunctionInEval = function () { + var result; + var klass = function () { + result = eval('(function () { return new.target;})()'); + }; + klass(); + test(result, undefined, "new.target should be the same in eval as without eval"); + new klass(); + test(result, undefined, "new.target should be the same in eval as without eval"); + +}; +newTargetInFunctionInEval(); + +function testUnaryOps() { + var result; + function call(f) { f(); return result; } + function construct(f) { new f(); return result; } + + function unaryExclamation() { result = !new.target; } + test(construct(unaryExclamation), false, "`!new.target` should be false when new.target is not undefined"); + test(call(unaryExclamation), true, "`!new.target` should be true when new.target is undefined"); + + function unaryBitwiseNot() { result = ~new.target; } + test(construct(unaryBitwiseNot), -1, "`~new.target` should be -1"); + test(call(unaryBitwiseNot), -1, "`~new.target` should be -1"); + + function unaryTypeof() { result = typeof new.target; } + test(construct(unaryTypeof), "function", "`typeof new.target` should be 'function' when new.target is not undefined"); + test(call(unaryTypeof), "undefined", "`typeof new.target` should be 'undefined' when new.target is undefined"); + + function unaryVoid() { result = void new.target; } + test(construct(unaryVoid), undefined, "`void new.target` should be undefined"); + test(call(unaryVoid), undefined, "`void new.target` should be undefined"); + + function unaryAbs() { result = +new.target; } + test(construct(unaryAbs), NaN, "+new.target should be NaN"); + test(call(unaryAbs), NaN, "+new.target should be NaN"); + + function unaryNeg() { result = -new.target; } + test(construct(unaryNeg), NaN, "-new.target should be NaN"); + test(call(unaryNeg), NaN, "-new.target should be NaN"); + + // Multiple variations of delete are tested for completeness: + function unaryDelete() { result = delete new.target; } + function strictUnaryDelete() { "use strict"; result = delete new.target; } + + // If Type(ref) is not Reference, return true. (per #sec-delete-operator-runtime-semantics-evaluation) + test(construct(unaryDelete), true, "`delete new.target` should be true"); + test(call(unaryDelete), true, "`delete new.target` should be true"); + test(construct(strictUnaryDelete), true, "`delete new.target` should be true"); + test(call(strictUnaryDelete), true, "`delete new.target` should be true"); + + var unaryDeleteProp = function unaryDeleteProp() { result = delete new.target.prop; } + var strictUnaryDeleteProp = function strictUnaryDeleteProp() { "use strict"; result = delete new.target.prop; } + unaryDeleteProp.prop = 1; + test(construct(unaryDeleteProp), true, "`delete new.target.prop` should be true when new.target is not undefined and prop is a configurable property"); + strictUnaryDeleteProp.prop = 1; + test(construct(strictUnaryDeleteProp), true, "`delete new.target.prop` should be true when new.target is not undefined and prop is a configurable property"); + + unaryDeleteProp = function unaryDeleteProp() { result = delete new.target.prop; } + Object.defineProperty(unaryDeleteProp, "prop", { value: false, configurable: false }); + test(construct(unaryDeleteProp), false, "`delete new.target.prop` should be false when new.target is not undefined and prop is a non-configurable property"); + + strictUnaryDeleteProp = function strictUnaryDeleteProp() { "use strict"; result = delete new.target.prop; } + // If deleteStatus is false and IsStrictReference(ref) is true, throw a TypeError exception. + Object.defineProperty(strictUnaryDeleteProp, "prop", { value: false, configurable: false }); + try { + var passed = false; + construct(strictUnaryDeleteProp); + } catch (e) { + passed = e instanceof TypeError && e.message.indexOf("delete") >= 0; + } + test(passed, true, "`delete new.target.prop` should throw a TypeError in strict code when prop is a non-configurable property"); + + unaryDeleteProp = function unaryDeleteProp() { result = delete new.target.prop; } + unaryDeleteProp.prop = 1; + try { + var passed = false; + call(unaryDeleteProp); + } catch (e) { + passed = e instanceof TypeError && e.message.indexOf("undefined") >= 0; + } + test(passed, true, "`delete new.target.prop` should throw a TypeError when new.target is undefined"); +} +testUnaryOps(); + diff --git a/implementation-contributed/javascriptcore/stress/new-typed-array-cse-effects.js b/implementation-contributed/javascriptcore/stress/new-typed-array-cse-effects.js new file mode 100644 index 0000000000..1f1914be67 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-typed-array-cse-effects.js @@ -0,0 +1,28 @@ +function foo(o, v) +{ + var x = o.f; + new Int8Array(v); + return x + o.f; +} + +noInline(foo); + +// Break some watchpoints. +var o = {f:42}; +o.f = 43; + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, [1, 2, 3]); + if (result != 84) + throw "Error: bad result: " + result; +} + +var globalO = {f:42}; +var weirdValue = {}; +weirdValue.__defineGetter__("length", function() { + globalO.f = 43; + return 11; +}); +var result = foo(globalO, weirdValue); +if (result != 85) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/new-undecided-array-with-size.js b/implementation-contributed/javascriptcore/stress/new-undecided-array-with-size.js new file mode 100644 index 0000000000..b142c7e211 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/new-undecided-array-with-size.js @@ -0,0 +1,22 @@ +function foo(x) { + return new Array(x); +} + +noInline(foo); + +function test(size) { + var result = foo(size); + if (result.length != size) + throw "Error: bad result: " + result; + var sawThings = false; + for (var s in result) + sawThings = true; + if (sawThings) + throw "Error: array is in bad state: " + result; +} + +for (var i = 0; i < 100000; ++i) { + test(0); + test(1); + test(42); +} diff --git a/implementation-contributed/javascriptcore/stress/no-abc-skippy-loop.js b/implementation-contributed/javascriptcore/stress/no-abc-skippy-loop.js new file mode 100644 index 0000000000..67d867ed80 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/no-abc-skippy-loop.js @@ -0,0 +1,24 @@ +function foo(array) { + var result = 0; + for (var i = 0; i != array.length; i += 2) { + var element = array[i]; + if (element === void 0) + break; + result += array[i]; + } + return result; +} + +noInline(foo); + +var array = [1, 2, 3, 4]; +for (var i = 0; i < 10000; ++i) { + var result = foo(array); + if (result != 4) + throw "Error: bad result in loop: " + result; +} + +var array = [1, 2, 3]; +var result = foo(array); +if (result != 4) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/no-abc-skippy-paired-loop.js b/implementation-contributed/javascriptcore/stress/no-abc-skippy-paired-loop.js new file mode 100644 index 0000000000..8bf8dd94df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/no-abc-skippy-paired-loop.js @@ -0,0 +1,20 @@ +function foo(array) { + var result = 0; + for (var i = 0; i < array.length; i += 2) + result += array[i] + array[i + 1]; + return result; +} + +noInline(foo); + +var array = [1, 2, 3, 4]; +for (var i = 0; i < 10000; ++i) { + var result = foo(array); + if (result != 10) + throw "Error: bad result in loop: " + result; +} + +var array = [1, 2, 3]; +var result = foo(array); +if ("" + result != "NaN") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/non-constructors.js b/implementation-contributed/javascriptcore/stress/non-constructors.js new file mode 100644 index 0000000000..32de719914 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/non-constructors.js @@ -0,0 +1,116 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +class ClassTest { + constructor() { + } + + method() { + } + + get getter() { + return 20; + } + + set setter(name) { + } + + static method() { + } + + static get getter() { + return 20; + } + + static set setter(name) { + return 20; + } +}; + +// Should not throw ('constructor' is a function). +var test = new ClassTest(); +var test2 = new test.constructor(); + +shouldThrow(() => { + new test.method(); +}, `TypeError: function is not a constructor (evaluating 'new test.method()')`); + +shouldThrow(() => { + var descriptor = Object.getOwnPropertyDescriptor(test.__proto__, 'getter'); + new descriptor.get(); +}, `TypeError: function is not a constructor (evaluating 'new descriptor.get()')`); + +shouldThrow(() => { + var descriptor = Object.getOwnPropertyDescriptor(test.__proto__, 'setter'); + new descriptor.set(); +}, `TypeError: function is not a constructor (evaluating 'new descriptor.set()')`); + +shouldThrow(() => { + new ClassTest.method(); +}, `TypeError: function is not a constructor (evaluating 'new ClassTest.method()')`); + +shouldThrow(() => { + var descriptor = Object.getOwnPropertyDescriptor(ClassTest, 'getter'); + new descriptor.get(); +}, `TypeError: function is not a constructor (evaluating 'new descriptor.get()')`); + +shouldThrow(() => { + var descriptor = Object.getOwnPropertyDescriptor(ClassTest, 'setter'); + new descriptor.set(); +}, `TypeError: function is not a constructor (evaluating 'new descriptor.set()')`); + + +var test = { + method() { + }, + + get getter() { + return 20; + }, + + set setter(name) { + }, + + normal: function () { + }, + + constructor() { + } +}; + +shouldThrow(() => { + new test.method(); +}, `TypeError: function is not a constructor (evaluating 'new test.method()')`); + +shouldThrow(() => { + new test.constructor(); +}, `TypeError: function is not a constructor (evaluating 'new test.constructor()')`); + +shouldThrow(() => { + var descriptor = Object.getOwnPropertyDescriptor(test, 'getter'); + new descriptor.get(); +}, `TypeError: function is not a constructor (evaluating 'new descriptor.get()')`); + +shouldThrow(() => { + var descriptor = Object.getOwnPropertyDescriptor(test, 'setter'); + new descriptor.set(); +}, `TypeError: function is not a constructor (evaluating 'new descriptor.set()')`); + +new test.normal(); + +shouldThrow(() => { + var arrow = () => { }; + new arrow(); +}, `TypeError: function is not a constructor (evaluating 'new arrow()')`); diff --git a/implementation-contributed/javascriptcore/stress/normalize-map-key-constant-folding.js b/implementation-contributed/javascriptcore/stress/normalize-map-key-constant-folding.js new file mode 100644 index 0000000000..e30437abba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/normalize-map-key-constant-folding.js @@ -0,0 +1,13 @@ +function test(i) +{ + var map = new Map(); + var key = "Hello"; + if (i & 0x1) + key = 42; + map.set(key, 42); + return map; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) + test(i); diff --git a/implementation-contributed/javascriptcore/stress/not-cell-use.js b/implementation-contributed/javascriptcore/stress/not-cell-use.js new file mode 100644 index 0000000000..c4a2bdb6bb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/not-cell-use.js @@ -0,0 +1,29 @@ +function foo(a, b, c) { + return (a|0) + (b|0) + (c|0); +} + +function bar(o) { + var a = o.f; + var b = o.g; + var c = o.h; + var d = o.i; + var e = o.j; + var f = o.k; + var g = o.l; + return foo(42, void 0, void 0) + a + b + c + d + e + f + g; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar({ + f:i * 3, g:i - 1, h:(i / 2)|0, i:-i, j:13 + ((i / 5)|0), k:14 - ((i / 6)|0), + l:1 - i}); + + var expected = 42 + i * 3 + i - 1 + ((i / 2)|0) - i + 13 + ((i / 5)|0) + 14 - + ((i / 6)|0) + 1 - i; + + if (result != expected) + throw "Error: for iteration " + i + " expected " + expected + " but got " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/number-is-finite.js b/implementation-contributed/javascriptcore/stress/number-is-finite.js new file mode 100644 index 0000000000..887efb97a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-is-finite.js @@ -0,0 +1,37 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} + +function test1(i) +{ + shouldBe(Number.isFinite(i), true); +} +noInline(test1); + +for (var i = -1e4; i < 1e4; ++i) + test1(i); + +function test2(i) +{ + shouldBe(Number.isFinite(Infinity), false); + shouldBe(Number.isFinite(-Infinity), false); + shouldBe(Number.isFinite(NaN), false); +} +noInline(test2); + +// Emit DoubleRep. +for (var i = 0; i < 100; ++i) + test2(i); + + +function test3(i) +{ + shouldBe(Number.isFinite("0"), false); + shouldBe(Number.isFinite("Hello"), false); +} +noInline(test3); + +// Emit IsNumber. +for (var i = 0; i < 100; ++i) + test3(i); diff --git a/implementation-contributed/javascriptcore/stress/number-is-integer-intrinsic.js b/implementation-contributed/javascriptcore/stress/number-is-integer-intrinsic.js new file mode 100644 index 0000000000..788d6b228d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-is-integer-intrinsic.js @@ -0,0 +1,72 @@ +function assert(b) { + if (!b) + throw new Error; +} + +function onlyDouble(x) { + return Number.isInteger(x); +} +noInline(onlyDouble); + +let interestingValues = [ + [Infinity, false], + [-Infinity, false], + [NaN, false], + [0.0, true], + [-0.0, true], + [90071992547490009021129120, true], + [9007199254749001000, true], + [Number.MAX_SAFE_INTEGER, true], + [Number.MIN_SAFE_INTEGER, true], + [0.5, false], + [Math.PI, false], + [42, true], + [0, true], + [-10, true], + [2147483647, true], + [-2147483648, true], + [Number.MIN_VALUE, false], + [Number.MAX_VALUE, true], + [-Number.MAX_VALUE, true], +]; + +for (let i = 0; i < 10000; ++i) { + for (let [value, result] of interestingValues) { + assert(onlyDouble(value) === result); + } +} + +interestingValues.push( + [true, false], + [false, false], + [undefined, false], + [null, false], + [{}, false], + [{valueOf() { throw new Error("Should not be called"); }}, false], + [function(){}, false], +); + +function generic(x) { + return Number.isInteger(x); +} +noInline(generic); + +for (let i = 0; i < 10000; ++i) { + for (let [value, result] of interestingValues) { + assert(generic(value) === result); + } +} + +function onlyInts(x) { + return Number.isInteger(x); +} +noInline(onlyInts); + +for (let i = 0; i < 10000; ++i) { + assert(onlyInts(i) === true); +} +for (let i = 0; i < 10000; ++i) { + for (let [value, result] of interestingValues) { + assert(onlyInts(value) === result); + } +} diff --git a/implementation-contributed/javascriptcore/stress/number-is-nan.js b/implementation-contributed/javascriptcore/stress/number-is-nan.js new file mode 100644 index 0000000000..de4812ef69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-is-nan.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} + +function test1(i) +{ + shouldBe(Number.isNaN(i), false); +} +noInline(test1); + +for (var i = -1e4; i < 1e4; ++i) + test1(i); + +function test2(i) +{ + shouldBe(Number.isNaN(Infinity), false); + shouldBe(Number.isNaN(-Infinity), false); + shouldBe(Number.isNaN(NaN), true); +} +noInline(test2); + +// Emit DoubleRep. +for (var i = 0; i < 100; ++i) + test2(i); + + +function test3(i) +{ + shouldBe(Number.isNaN("0"), false); + shouldBe(Number.isNaN("Hello"), false); + shouldBe(Number.isNaN("NaN"), false); +} +noInline(test3); + +// Emit IsNumber. +for (var i = 0; i < 100; ++i) + test3(i); diff --git a/implementation-contributed/javascriptcore/stress/number-prototype-to-string-cast-overflow.js b/implementation-contributed/javascriptcore/stress/number-prototype-to-string-cast-overflow.js new file mode 100644 index 0000000000..f12ab051a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-prototype-to-string-cast-overflow.js @@ -0,0 +1,18 @@ +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertThrowRangeError(input) { + try { + let number = 3; + number.toString(input); + assert(false); + } catch (e) { + assert(e instanceof RangeError); + } +} + +assertThrowRangeError(1e100); +assertThrowRangeError(-1e101); + diff --git a/implementation-contributed/javascriptcore/stress/number-prototype-to-string-exception.js b/implementation-contributed/javascriptcore/stress/number-prototype-to-string-exception.js new file mode 100644 index 0000000000..74459075de --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-prototype-to-string-exception.js @@ -0,0 +1,20 @@ +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +let o = { + valueOf: () => { + throw new Error("Bad"); + return 2; + } +} + +let a = 2; +try { + a.toString(o); + assert(false); +} catch (e) { + assert(e.message == "Bad"); +} + diff --git a/implementation-contributed/javascriptcore/stress/number-prototype-to-string-wrong-values.js b/implementation-contributed/javascriptcore/stress/number-prototype-to-string-wrong-values.js new file mode 100644 index 0000000000..52e6e111c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-prototype-to-string-wrong-values.js @@ -0,0 +1,29 @@ +function assert(a) { + if (!a) + throw new Error("Bad assertion"); +} + +function assertRangeError(v) { + let a = 2; + try { + a.toString(v); + assert(false); + } catch (e) { + assert(e instanceof RangeError); + } +} + +assertRangeError(1); +assertRangeError(37); +assertRangeError(37.1); +assertRangeError(37.2); +assertRangeError(0); +assertRangeError(-1); +assertRangeError(1.999999); +assertRangeError(37.00000000000000001); +assertRangeError(NaN); +assertRangeError(null); +assertRangeError(+Infinity); +assertRangeError(-Infinity); +assertRangeError(-0); + diff --git a/implementation-contributed/javascriptcore/stress/number-to-locale-string-should-accept-strange-number-objects.js b/implementation-contributed/javascriptcore/stress/number-to-locale-string-should-accept-strange-number-objects.js new file mode 100644 index 0000000000..aa99cc4bb0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-locale-string-should-accept-strange-number-objects.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var otherRealm = createGlobalObject(); +shouldBe(otherRealm.Number.prototype.toLocaleString.call(new Number(42)), `42`) + +var numberObject = new Number(42); +numberObject.__proto__ = null; +shouldBe(Number.prototype.toLocaleString.call(numberObject), `42`) diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-abstract-operation.js b/implementation-contributed/javascriptcore/stress/number-to-string-abstract-operation.js new file mode 100644 index 0000000000..e1a9d5d4e8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-abstract-operation.js @@ -0,0 +1,80 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); +} + +function expected(num, radix) +{ + let characters = "0123456789abcdefghijklmnopqrstuvwxyz"; + let result = ""; + let negative = false; + if (num < 0) { + negative = true; + num = -num; + } + + do { + const index = num % radix; + result = characters[index] + result; + num = (num - index) / radix; + } while (num); + + if (negative) + return '-' + result; + return result; +} + +{ + function int32ToString(num) + { + return `${num}`; + } + noInline(int32ToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(int32ToString(i), expected(i, 10)); + shouldBe(int32ToString(-i), expected(-i, 10)); + } + + shouldBe(int32ToString(0xffffffffff), expected(0xffffffffff, 10)); + shouldBe(int32ToString(0.1), `0.1`); + shouldBe(int32ToString(-0.1), `-0.1`); + shouldBe(int32ToString(new Number(0xff)), `255`); +} + +{ + function int52ToString(num) + { + return `${fiatInt52(num)}`; + } + noInline(int52ToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(int52ToString(0xffffffff + i), expected(0xffffffff + i, 10)); + shouldBe(int52ToString(-(0xffffffff + i)), expected(-(0xffffffff + i), 10)); + } + + shouldBe(int52ToString(0xff), `255`); + shouldBe(int52ToString(0.1), `0.1`); + shouldBe(int52ToString(-0.1), `-0.1`); + shouldBe(int52ToString(new Number(0xff)), `255`); +} + +{ + function doubleToString(num) + { + return `${num}`; + } + noInline(doubleToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(doubleToString(1.01), `1.01`); + shouldBe(doubleToString(-1.01), `-1.01`); + } + + shouldBe(doubleToString(0xff), `255`); + shouldBe(doubleToString(0.1), `0.1`); + shouldBe(doubleToString(-0.1), `-0.1`); + shouldBe(doubleToString(new Number(0xff)), `255`); +} diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-radix.js b/implementation-contributed/javascriptcore/stress/number-to-string-radix.js new file mode 100644 index 0000000000..6dd3a841a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-radix.js @@ -0,0 +1,80 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); +} + +function expected(num, radix) +{ + let characters = "0123456789abcdefghijklmnopqrstuvwxyz"; + let result = ""; + let negative = false; + if (num < 0) { + negative = true; + num = -num; + } + + do { + const index = num % radix; + result = characters[index] + result; + num = (num - index) / radix; + } while (num); + + if (negative) + return '-' + result; + return result; +} + +{ + function int32ToString(num, radix) + { + return num.toString(radix); + } + noInline(int32ToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(int32ToString(i, 16), expected(i, 16)); + shouldBe(int32ToString(-i, 16), expected(-i, 16)); + } + + shouldBe(int32ToString(0xffffffffff, 16), expected(0xffffffffff, 16)); + shouldBe(int32ToString(0.1, 16), `0.1999999999999a`); + shouldBe(int32ToString(-0.1, 16), `-0.1999999999999a`); + shouldBe(int32ToString(new Number(0xff), 16), `ff`); +} + +{ + function int52ToString(num, radix) + { + return fiatInt52(num).toString(radix); + } + noInline(int52ToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(int52ToString(0xffffffff + i, 16), expected(0xffffffff + i, 16)); + shouldBe(int52ToString(-(0xffffffff + i), 16), expected(-(0xffffffff + i), 16)); + } + + shouldBe(int52ToString(0xff, 16), `ff`); + shouldBe(int52ToString(0.1, 16), `0.1999999999999a`); + shouldBe(int52ToString(-0.1, 16), `-0.1999999999999a`); + shouldBe(int52ToString(new Number(0xff), 16), `ff`); +} + +{ + function doubleToString(num, radix) + { + return num.toString(radix); + } + noInline(doubleToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(doubleToString(1.01, 16), `1.028f5c28f5c29`); + shouldBe(doubleToString(-1.01, 16), `-1.028f5c28f5c29`); + } + + shouldBe(doubleToString(0xff, 16), `ff`); + shouldBe(doubleToString(0.1, 16), `0.1999999999999a`); + shouldBe(doubleToString(-0.1, 16), `-0.1999999999999a`); + shouldBe(doubleToString(new Number(0xff), 16), `ff`); +} diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-strength-reduction.js b/implementation-contributed/javascriptcore/stress/number-to-string-strength-reduction.js new file mode 100644 index 0000000000..6f0993f31c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-strength-reduction.js @@ -0,0 +1,14 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var target = 42; + return target.toString(16); +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(), `2a`); diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-with-add.js b/implementation-contributed/javascriptcore/stress/number-to-string-with-add.js new file mode 100644 index 0000000000..2722864cc5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-with-add.js @@ -0,0 +1,40 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); +} + +function toStringLeft(num) +{ + return num + 'Cocoa'; +} +noInline(toStringLeft); + +function toStringRight(num) +{ + return 'Cocoa' + num; +} +noInline(toStringRight); + +function toStringLeftEmpty(num) +{ + return num + ''; +} +noInline(toStringLeftEmpty); + +function toStringRightEmpty(num) +{ + return '' + num; +} +noInline(toStringRightEmpty); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(toStringLeft(2), `2Cocoa`); + shouldBe(toStringRight(2), `Cocoa2`); + shouldBe(toStringLeftEmpty(2), `2`); + shouldBe(toStringRightEmpty(2), `2`); + shouldBe(toStringLeft(42), `42Cocoa`); + shouldBe(toStringRight(42), `Cocoa42`); + shouldBe(toStringLeftEmpty(42), `42`); + shouldBe(toStringRightEmpty(42), `42`); +} diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-10.js b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-10.js new file mode 100644 index 0000000000..bf8f6a0d0d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-10.js @@ -0,0 +1,15 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +noInline(shouldBe); + +function test() +{ + for (var i = 0; i < 10; ++i) + shouldBe(i.toString(10), "" + i); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-cse.js b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-cse.js new file mode 100644 index 0000000000..db78216d58 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-cse.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var result; + for (var i = 0; i < 1e2; ++i) { + i.toString(16); + i.toString(16); + i.toString(16); + i.toString(16); + result = i.toString(16); + } + return result; +} +noInline(test); + +for (var i = 0; i < 1e3; ++i) + shouldBe(test(), `63`); diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-invalid.js b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-invalid.js new file mode 100644 index 0000000000..069096514f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-invalid.js @@ -0,0 +1,24 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function test(i, radix) +{ + return i.toString(radix); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + shouldThrow(() => test(i, 42), `RangeError: toString() radix argument must be between 2 and 36`); +} diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-watchpoint.js b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-watchpoint.js new file mode 100644 index 0000000000..7968f58a1a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix-watchpoint.js @@ -0,0 +1,27 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + for (var i = 0; i < 10; ++i) { + var result = ''; + result += i.toString(2); + result += i.toString(4); + result += i.toString(8); + result += i.toString(16); + result += i.toString(32); + } + return result; +} +noInline(test); + +var result = `1001211199`; +for (var i = 0; i < 1e4; ++i) { + if (i === 1e3) { + Number.prototype.toString = function (radix) { return "Hello"; } + result = `HelloHelloHelloHelloHello`; + } + shouldBe(test(), result); +} diff --git a/implementation-contributed/javascriptcore/stress/number-to-string-with-radix.js b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix.js new file mode 100644 index 0000000000..e51a976000 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string-with-radix.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + for (var i = 0; i < 10; ++i) { + var result = ''; + result += i.toString(2); + result += i.toString(4); + result += i.toString(8); + result += i.toString(16); + result += i.toString(32); + } + return result; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(test(), `1001211199`); diff --git a/implementation-contributed/javascriptcore/stress/number-to-string.js b/implementation-contributed/javascriptcore/stress/number-to-string.js new file mode 100644 index 0000000000..ae0c2fa2ff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/number-to-string.js @@ -0,0 +1,80 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); +} + +function expected(num, radix) +{ + let characters = "0123456789abcdefghijklmnopqrstuvwxyz"; + let result = ""; + let negative = false; + if (num < 0) { + negative = true; + num = -num; + } + + do { + const index = num % radix; + result = characters[index] + result; + num = (num - index) / radix; + } while (num); + + if (negative) + return '-' + result; + return result; +} + +{ + function int32ToString(num) + { + return num.toString(16); + } + noInline(int32ToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(int32ToString(i), expected(i, 16)); + shouldBe(int32ToString(-i), expected(-i, 16)); + } + + shouldBe(int32ToString(0xffffffffff), expected(0xffffffffff, 16)); + shouldBe(int32ToString(0.1), `0.1999999999999a`); + shouldBe(int32ToString(-0.1), `-0.1999999999999a`); + shouldBe(int32ToString(new Number(0xff)), `ff`); +} + +{ + function int52ToString(num) + { + return fiatInt52(num).toString(16); + } + noInline(int52ToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(int52ToString(0xffffffff + i), expected(0xffffffff + i, 16)); + shouldBe(int52ToString(-(0xffffffff + i)), expected(-(0xffffffff + i), 16)); + } + + shouldBe(int52ToString(0xff), `ff`); + shouldBe(int52ToString(0.1), `0.1999999999999a`); + shouldBe(int52ToString(-0.1), `-0.1999999999999a`); + shouldBe(int52ToString(new Number(0xff)), `ff`); +} + +{ + function doubleToString(num) + { + return num.toString(16); + } + noInline(doubleToString); + + for (var i = 0; i < 1e3; ++i) { + shouldBe(doubleToString(1.01), `1.028f5c28f5c29`); + shouldBe(doubleToString(-1.01), `-1.028f5c28f5c29`); + } + + shouldBe(doubleToString(0xff), `ff`); + shouldBe(doubleToString(0.1), `0.1999999999999a`); + shouldBe(doubleToString(-0.1), `-0.1999999999999a`); + shouldBe(doubleToString(new Number(0xff)), `ff`); +} diff --git a/implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype-non-blank-array.js b/implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype-non-blank-array.js new file mode 100644 index 0000000000..eb44ed7b56 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype-non-blank-array.js @@ -0,0 +1,36 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +class Trace { + constructor() + { + this.__count = 0; + } + + trace() + { + this.__count++; + } + + get count() + { + return this.__count; + } +} + +for (var i = 0; i < 10000; ++i) { + var t3 = new Trace(); + + var object = { 2: 2, 4: 4 }; + shouldBe(t3.count, 0); + var a = {__proto__: object }; + shouldBe(t3.count, 0); + Object.defineProperty(object, 3, { + set: function (x) { t3.trace() } + }); + a[3] = 7; + shouldBe(t3.count, 1); +} diff --git a/implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype.js b/implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype.js new file mode 100644 index 0000000000..17e0b3c9fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/numeric-setter-on-prototype.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +class Trace { + constructor() + { + this.__count = 0; + } + + trace() + { + this.__count++; + } + + get count() + { + return this.__count; + } +} + +for (var i = 0; i < 10000; ++i) { + var t0 = new Trace(); + + shouldBe(t0.count, 0); + var z = {__proto__: {set 3(x) { t0.trace() }}}; + shouldBe(t0.count, 0); + z[3] = 7; + shouldBe(t0.count, 1); +} diff --git a/implementation-contributed/javascriptcore/stress/numeric-setter-on-self.js b/implementation-contributed/javascriptcore/stress/numeric-setter-on-self.js new file mode 100644 index 0000000000..5b19460f15 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/numeric-setter-on-self.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +class Trace { + constructor() + { + this.__count = 0; + } + + trace() + { + this.__count++; + } + + get count() + { + return this.__count; + } +} + +for (var i = 0; i < 10000; ++i) { + var t0 = new Trace(); + + shouldBe(t0.count, 0); + var y = {set 2(x) { t0.trace() }}; + shouldBe(t0.count, 0); + y[2] = 5; + shouldBe(t0.count, 1); +} diff --git a/implementation-contributed/javascriptcore/stress/obj-rest-destructuring-order.js b/implementation-contributed/javascriptcore/stress/obj-rest-destructuring-order.js new file mode 100644 index 0000000000..af26f48ea2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/obj-rest-destructuring-order.js @@ -0,0 +1,45 @@ +function assert(a) { + if (!a) + throw new Error('Bad assertion'); +} + +// Check rest ordering without Proxy +(function () { + var calls = []; + var o = { get z() { calls.push('z') }, get a() { calls.push('a') } }; + Object.defineProperty(o, 1, { get: () => { calls.push(1) }, enumerable: true }); + Object.defineProperty(o, Symbol('foo'), { get: () => { calls.push('Symbol(foo)') }, enumerable: true }); + + var {...r} = o; + + assert(calls[0] === 1); + assert(calls[1] === 'z'); + assert(calls[2] === 'a'); + assert(calls[3] === 'Symbol(foo)'); + assert(Object.keys(r).length === 3); +})(); + +// Check spread ordering with Proxy +(function () { + var calls = []; + var o = { z: 2, a: 3 }; + var fooSymbol = Symbol('foo'); + Object.defineProperty(o, 1, { value: 4, enumerable: true }); + Object.defineProperty(o, fooSymbol, { value: 5, enumerable: true }); + + var p = new Proxy(o, { + get: function(target, property, receiver) { + calls.push(property); + return target[property]; + } + }); + + var {...r} = p; + + assert(calls[0] == 1); + assert(calls[1] == 'z'); + assert(calls[2] == 'a'); + assert(calls[3] === fooSymbol); + assert(Object.keys(r).length === 3); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/obj-spread-order.js b/implementation-contributed/javascriptcore/stress/obj-spread-order.js new file mode 100644 index 0000000000..d03930f03f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/obj-spread-order.js @@ -0,0 +1,45 @@ +function assert(a) { + if (!a) + throw new Error('Bad assertion'); +} + +// Check spread ordering without Proxy +(function () { + var calls = []; + var o = { get z() { calls.push('z') }, get a() { calls.push('a') } }; + Object.defineProperty(o, 1, { get: () => { calls.push(1) }, enumerable: true }); + Object.defineProperty(o, Symbol('foo'), { get: () => { calls.push('Symbol(foo)') }, enumerable: true }); + + var obj = {...o}; + + assert(calls[0] === 1); + assert(calls[1] === 'z'); + assert(calls[2] === 'a'); + assert(calls[3] === 'Symbol(foo)'); + assert(Object.keys(obj).length === 3); +})(); + +// Check spread ordering with Proxy +(function () { + var calls = []; + var o = { z: 2, a: 3 }; + var fooSymbol = Symbol('foo'); + Object.defineProperty(o, 1, { value: 4, enumerable: true }); + Object.defineProperty(o, fooSymbol, { value: 5, enumerable: true }); + + var p = new Proxy(o, { + get: function(target, property, receiver) { + calls.push(property); + return target[property]; + } + }); + + var obj = {...p}; + + assert(calls[0] == 1); + assert(calls[1] == 'z'); + assert(calls[2] == 'a'); + assert(calls[3] === fooSymbol); + assert(Object.keys(obj).length === 3); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/object-add.js b/implementation-contributed/javascriptcore/stress/object-add.js new file mode 100644 index 0000000000..c486e82385 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-add.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a + b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 4; }}]; +var results = [5]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js b/implementation-contributed/javascriptcore/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js new file mode 100644 index 0000000000..374b3b0ab7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-allocation-sinking-with-uninitialized-property-on-one-path.js @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2015 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=144020. +// This test should not crash. + +// What happened in the bug: +function foo(p) { + var b = {}; + b.a = {}; + if (p) + b.a.C = p.q; + return b.a.C; +} +noInline(foo); + +for (var i = 0; i < 10000; i++) + foo(true); + +// A reduced version: +function foo2(p) { + var o = {}; + if (p) + o.f = {}; + return o.f; +} +noInline(foo2); + +for (var i = 0; i < 10000; i++) + foo2(true); + diff --git a/implementation-contributed/javascriptcore/stress/object-assign-changing-properties.js b/implementation-contributed/javascriptcore/stress/object-assign-changing-properties.js new file mode 100644 index 0000000000..7056918f9e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-changing-properties.js @@ -0,0 +1,80 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let source = { + get x() { + delete this.y; + return 42; + }, + y: 42 + }; + let result = Object.assign({}, source); + shouldBe(result.x, 42); + shouldBe(result.hasOwnProperty('y'), false); +} + +{ + let source = { + get x() { + return 42; + }, + y: 42 + }; + var store = 0; + let target = { + set x(value) { + store = value; + delete source.y; + }, + get x() { + return store; + }, + }; + let result = Object.assign(target, source); + shouldBe(result.x, 42); + shouldBe(result.hasOwnProperty('y'), false); +} + + +{ + let source = { + get x() { + Object.defineProperty(source, 'y', { + enumerable: false + }); + return 42; + }, + y: 42 + }; + let result = Object.assign({}, source); + shouldBe(result.x, 42); + shouldBe(result.hasOwnProperty('y'), false); +} + +{ + let source = { + get x() { + return 42; + }, + y: 42 + }; + var store = 0; + let target = { + set x(value) { + store = value; + Object.defineProperty(source, 'y', { + enumerable: false + }); + }, + get x() { + return store; + }, + }; + let result = Object.assign(target, source); + shouldBe(result.x, 42); + shouldBe(result.hasOwnProperty('y'), false); +} diff --git a/implementation-contributed/javascriptcore/stress/object-assign-correctness.js b/implementation-contributed/javascriptcore/stress/object-assign-correctness.js new file mode 100644 index 0000000000..530e3ab7cd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-correctness.js @@ -0,0 +1,180 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} +function test(f) { + for (let i = 0; i < 500; i++) + f(); +} + +var originalReflect = Reflect; +var ownKeys = Reflect.ownKeys; +var getOwnPropertyDescriptor = Reflect.getOwnPropertyDescriptor; + +function runTests() { + test(function() { + let ownKeysCalled = false; + let getOwnPropertyDescriptorProps = []; + let getProps = []; + let enumerableCalled = false; + let handler = { + getOwnPropertyDescriptor: function(target, key) { + getOwnPropertyDescriptorProps.push(key); + switch(key) { + case "foo": + return { + enumerable: true, + configurable: true, + value: 45 + }; + case "bar": + return { + enumerable: true, + get enumerable() { + enumerableCalled = true; + return true; + }, + configurable: true, + value: 50 + } + case "baz": + return { + enumerable: false, + configurable: true, + value: 50 + } + default: + assert(false, "should not be reached."); + break; + } + }, + ownKeys: function(target) { + ownKeysCalled = true; + return ["foo", "bar", "baz"]; + }, + get: function(target, key) { + getProps.push(key); + switch(key) { + case "foo": + return 20; + case "bar": + return "bar"; + default: + assert(false, "should not be reached."); + break; + } + } + }; + + let proxy = new Proxy({}, handler); + let foo = {}; + Object.assign(foo, proxy); + + assert(enumerableCalled); + + assert(ownKeys(foo).length === 2); + assert(ownKeys(foo)[0] === "foo"); + assert(ownKeys(foo)[1] === "bar"); + assert(foo.foo === 20); + assert(foo.bar === "bar"); + + assert(ownKeysCalled); + assert(getOwnPropertyDescriptorProps.length === 3); + assert(getOwnPropertyDescriptorProps[0] === "foo"); + assert(getOwnPropertyDescriptorProps[1] === "bar"); + assert(getOwnPropertyDescriptorProps[2] === "baz"); + + assert(getProps.length === 2); + assert(getProps[0] === "foo"); + assert(getProps[1] === "bar"); + }); + + + let oldReflect = Reflect; + Reflect = null; + assert(Reflect === null); // Make sure Object.assign's use of Reflect is safe. + + test(function() { + let ownKeysCalled = false; + let getOwnPropertyDescriptorProps = []; + let getProps = []; + let enumerableCalled = false; + let handler = { + getOwnPropertyDescriptor: function(target, key) { + getOwnPropertyDescriptorProps.push(key); + switch(key) { + case "foo": + return { + enumerable: true, + configurable: true, + value: 45 + }; + case "bar": + return { + get enumerable() { + enumerableCalled = true; + return true; + }, + configurable: true, + value: 50 + } + case "baz": + return { + enumerable: false, + configurable: true, + value: 50 + } + default: + assert(false, "should not be reached."); + break; + } + }, + ownKeys: function(target) { + ownKeysCalled = true; + return ["foo", "bar", "baz"]; + }, + get: function(target, key) { + getProps.push(key); + switch(key) { + case "foo": + return 20; + case "bar": + return "bar"; + default: + assert(false, "should not be reached."); + break; + } + } + }; + + let proxy = new Proxy({}, handler); + let foo = {}; + Object.assign(foo, proxy); + + assert(enumerableCalled); + + assert(ownKeys(foo).length === 2); + assert(ownKeys(foo)[0] === "foo"); + assert(ownKeys(foo)[1] === "bar"); + assert(foo.foo === 20); + assert(foo.bar === "bar"); + + assert(ownKeysCalled); + assert(getOwnPropertyDescriptorProps.length === 3); + assert(getOwnPropertyDescriptorProps[0] === "foo"); + assert(getOwnPropertyDescriptorProps[1] === "bar"); + assert(getOwnPropertyDescriptorProps[2] === "baz"); + + assert(getProps.length === 2); + assert(getProps[0] === "foo"); + assert(getProps[1] === "bar"); + + }); + + Reflect = oldReflect; +} + +runTests(); +Reflect.ownKeys = function () {}; +Reflect.getOwnPropertyDescriptor = function () {}; +runTests(); diff --git a/implementation-contributed/javascriptcore/stress/object-assign-enumerable.js b/implementation-contributed/javascriptcore/stress/object-assign-enumerable.js new file mode 100644 index 0000000000..8223a0df59 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-enumerable.js @@ -0,0 +1,14 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var object = Object.defineProperties({}, { + nonEnumerable: { + enumerable: false, + value: 42 + } +}); + +var result = Object.assign({}, object); +shouldBe(result.nonEnumerable, undefined); diff --git a/implementation-contributed/javascriptcore/stress/object-assign-fast-path.js b/implementation-contributed/javascriptcore/stress/object-assign-fast-path.js new file mode 100644 index 0000000000..5c6d54760a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-fast-path.js @@ -0,0 +1,161 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function checkProperty(object, name, value, attributes = { writable: true, enumerable: true, configurable: true }) +{ + var desc = Object.getOwnPropertyDescriptor(object, name); + shouldBe(!!desc, true); + shouldBe(desc.writable, attributes.writable); + shouldBe(desc.enumerable, attributes.enumerable); + shouldBe(desc.configurable, attributes.configurable); + shouldBe(desc.value, value); +} + +{ + let result = Object.assign({}, RegExp); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["$1","$2","$3","$4","$5","$6","$7","$8","$9","input","lastMatch","lastParen","leftContext","multiline","rightContext"]`); +} +{ + function Hello() { } + let result = Object.assign(Hello, { + ok: 42 + }); + + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["arguments","caller","length","name","ok","prototype"]`); + checkProperty(result, "ok", 42); +} +{ + let result = Object.assign({ ok: 42 }, { 0: 0, 1: 1 }); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["0","1","ok"]`); + checkProperty(result, "ok", 42); + checkProperty(result, "0", 0); + checkProperty(result, "1", 1); +} +{ + let object = { 0: 0, 1: 1 }; + ensureArrayStorage(object); + let result = Object.assign({ ok: 42 }, object); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["0","1","ok"]`); + checkProperty(result, "ok", 42); + checkProperty(result, "0", 0); + checkProperty(result, "1", 1); +} +{ + let called = false; + let result = Object.assign({}, { + get hello() { + called = true; + return 42; + } + }); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["hello"]`); + shouldBe(called, true); + checkProperty(result, "hello", 42); +} +{ + let object = {}; + Object.defineProperty(object, "__proto__", { + value: 42, + enumerable: true, + writable: true, + configurable: true + }); + checkProperty(object, "__proto__", 42); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(object).sort()), `["__proto__"]`); + let result = Object.assign({}, object); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `[]`); + shouldBe(Object.getOwnPropertyDescriptor(result, "__proto__"), undefined); + shouldBe(result.__proto__, Object.prototype); +} +{ + let object = {}; + Object.defineProperty(object, "hello", { + value: 42, + writable: false, + enumerable: true, + configurable: false + }); + checkProperty(object, "hello", 42, { writable: false, enumerable: true, configurable: false }); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(object).sort()), `["hello"]`); + shouldThrow(() => { + Object.assign(object, { hello: 50 }); + }, `TypeError: Attempted to assign to readonly property.`); +} +{ + let counter = 0; + let helloCalled = null; + let okCalled = null; + let source = {}; + source.hello = 42; + source.ok = 52; + checkProperty(source, "hello", 42); + checkProperty(source, "ok", 52); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(source)), `["hello","ok"]`); + + let result = Object.assign({ + set hello(value) { + this.__hello = value; + helloCalled = counter++; + }, + set ok(value) { + this.__ok = value; + okCalled = counter++; + } + }, source); + checkProperty(result, "__hello", 42); + checkProperty(result, "__ok", 52); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["__hello","__ok","hello","ok"]`); + shouldBe(helloCalled, 0); + shouldBe(okCalled, 1); +} +{ + let builtin = createBuiltin(`(function (obj) { + return @getByIdDirectPrivate(obj, "generatorState"); + })`); + function* hello() { } + let generator = hello(); + shouldBe(typeof builtin(generator), "number"); + let result = Object.assign({}, generator); + shouldBe(typeof builtin(result), "undefined"); +} +{ + let object = {}; + let setterCalledWithValue = null; + let result = Object.assign(object, { + get hello() { + Object.defineProperty(object, "added", { + get() { + return 42; + }, + set(value) { + setterCalledWithValue = value; + } + }); + return 0; + } + }, { + added: "world" + }); + shouldBe(result.added, 42); + shouldBe(result.hello, 0); + shouldBe(setterCalledWithValue, "world"); +} diff --git a/implementation-contributed/javascriptcore/stress/object-assign-order.js b/implementation-contributed/javascriptcore/stress/object-assign-order.js new file mode 100644 index 0000000000..8af3ed63c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-order.js @@ -0,0 +1,40 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var symbol = Symbol('Cocoa'); + +var object = { + [symbol]: 3, + 0: 0, + hello: 2, + 1: 1, +}; + +var count = 0; + +var tester = Object.defineProperties({}, { + 0: { + set: () => { + shouldBe(count++, 0); + } + }, + 1: { + set: () => { + shouldBe(count++, 1); + } + }, + 'hello': { + set: () => { + shouldBe(count++, 2); + } + }, + [symbol]: { + set: () => { + shouldBe(count++, 3); + } + }, +}); + +Object.assign(tester, object); diff --git a/implementation-contributed/javascriptcore/stress/object-assign-proxy.js b/implementation-contributed/javascriptcore/stress/object-assign-proxy.js new file mode 100644 index 0000000000..d0b0e3b4d5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-proxy.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + var order = []; + let target = {x: 20, y:42}; + let handler = { + getOwnPropertyDescriptor(theTarget, propName) + { + order.push(`getOwnPropertyDescriptor ${propName}`); + return { + enumerable: true, + configurable: true, + value: 42 + }; + }, + get(theTarget, propName, receiver) + { + order.push(`get ${propName}`); + return 42; + } + }; + + let proxy = new Proxy(target, handler); + var result = Object.assign({}, proxy); + shouldBe(result.x, 42); + shouldBe(result.y, 42); + shouldBe(order.join(','), `getOwnPropertyDescriptor x,get x,getOwnPropertyDescriptor y,get y`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-assign-string-first.js b/implementation-contributed/javascriptcore/stress/object-assign-string-first.js new file mode 100644 index 0000000000..55c2489f22 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-string-first.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var order = []; + +var source = { + get [Symbol.iterator]() + { + order.push(`Symbol.iterator`); + return `Symbol.iterator`; + }, + + get 1() + { + order.push(`1`); + return `1`; + }, + + get cocoa() + { + order.push(`cocoa`); + return `cocoa`; + }, +}; + +var result = Object.assign({}, source); +shouldBe(result[1], `1`); +shouldBe(result.cocoa, `cocoa`); +shouldBe(result[Symbol.iterator], `Symbol.iterator`); +shouldBe(order.join(','), `1,cocoa,Symbol.iterator`); diff --git a/implementation-contributed/javascriptcore/stress/object-assign-symbols.js b/implementation-contributed/javascriptcore/stress/object-assign-symbols.js new file mode 100644 index 0000000000..d649eeaff4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign-symbols.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var a = Symbol("a"); +var b = Symbol("b"); +var c = Symbol("c"); +var d = Symbol("d"); +var e = Symbol("e"); + +var obj = { + [a]: 1, + [b]: 2, + [c]: 3, + [d]: null, + [e]: 'e' +}; + +function test(src) { + var o = {}; + var keys = Object.getOwnPropertySymbols(src); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + o[key] = src[key]; + } + return o; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var result = test(obj); + shouldBe(result[a], 1); + shouldBe(result[b], 2); + shouldBe(result[c], 3); + shouldBe(result[d], null); + shouldBe(result[e], 'e'); +} diff --git a/implementation-contributed/javascriptcore/stress/object-assign.js b/implementation-contributed/javascriptcore/stress/object-assign.js new file mode 100644 index 0000000000..d4572a2f47 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-assign.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var obj = { + a: 1, + b: 2, + c: 3, + d: null, + e: 'e' +}; + +function test(src) { + var o = {}; + var keys = Object.keys(src); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + o[key] = src[key]; + } + return o; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(JSON.stringify(test(obj)), `{"a":1,"b":2,"c":3,"d":null,"e":"e"}`); diff --git a/implementation-contributed/javascriptcore/stress/object-bit-and.js b/implementation-contributed/javascriptcore/stress/object-bit-and.js new file mode 100644 index 0000000000..e90ade20bb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-bit-and.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a & b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 6; }}]; +var results = [2]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 10); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-bit-or.js b/implementation-contributed/javascriptcore/stress/object-bit-or.js new file mode 100644 index 0000000000..bfbd42e6c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-bit-or.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a | b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 6; }}]; +var results = [14]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 10); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-bit-xor.js b/implementation-contributed/javascriptcore/stress/object-bit-xor.js new file mode 100644 index 0000000000..356004dcbd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-bit-xor.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a ^ b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 6; }}]; +var results = [12]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 10); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-boolean-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-boolean-edge.js new file mode 100644 index 0000000000..b91e9eea01 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-boolean-edge.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = test(true); + shouldBe(object instanceof Boolean, true); + shouldBe(object.valueOf(), true); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-global.js b/implementation-contributed/javascriptcore/stress/object-constructor-global.js new file mode 100644 index 0000000000..7f82352c85 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-global.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var globalObject = createGlobalObject(); +var constructor = globalObject.Object; +var tests = [ + [ null, globalObject.Object ], + [ undefined, globalObject.Object ], + [ "Hello", globalObject.String ], + [ 42, globalObject.Number ], + [ false, globalObject.Boolean ], + [ Symbol("Cocoa"), globalObject.Symbol ], +]; + +for (var i = 0; i < 1e4; ++i) { + for (var [target, cls] of tests) { + var result = constructor(target); + shouldBe(result instanceof cls, true); + } +} diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-null-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-null-edge.js new file mode 100644 index 0000000000..9b8eaf3276 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-null-edge.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = test(null); + shouldBe(object.__proto__, Object.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-number-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-number-edge.js new file mode 100644 index 0000000000..1e35177fe0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-number-edge.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = test(42); + shouldBe(object instanceof Number, true); + shouldBe(object.valueOf(), 42); + + var object = test(42.195); + shouldBe(object instanceof Number, true); + shouldBe(object.valueOf(), 42.195); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-object-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-object-edge.js new file mode 100644 index 0000000000..186964ad20 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-object-edge.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var arg = {}; + var object = test(arg); + shouldBe(object, arg); + + var arg = []; + var object = test(arg); + shouldBe(object, arg); + + var arg = function () { }; + var object = test(arg); + shouldBe(object, arg); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-should-be-new-target-aware.js b/implementation-contributed/javascriptcore/stress/object-constructor-should-be-new-target-aware.js new file mode 100644 index 0000000000..7ce93853a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-should-be-new-target-aware.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +class Hello extends Object { + constructor() + { + super(); + } +} + +var hello = new Hello(); +shouldBe(hello.__proto__, Hello.prototype); + +shouldBe(Reflect.construct(Object, [], Hello).__proto__, Hello.prototype); + +gc(); // Regression test for https:/webkit.org/b/160666. diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-string-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-string-edge.js new file mode 100644 index 0000000000..13f564181b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-string-edge.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = test("Cocoa"); + shouldBe(object instanceof String, true); + shouldBe(object.valueOf(), "Cocoa"); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-symbol-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-symbol-edge.js new file mode 100644 index 0000000000..d1d12731f4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-symbol-edge.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = test(Symbol("Cocoa")); + shouldBe(object instanceof Symbol, true); + shouldBe(String(object.valueOf()), `Symbol(Cocoa)`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-constructor-undefined-edge.js b/implementation-contributed/javascriptcore/stress/object-constructor-undefined-edge.js new file mode 100644 index 0000000000..b87d0049fb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-constructor-undefined-edge.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(target) +{ + return Object(target); +} +noInline(test); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = test(undefined); + shouldBe(object.__proto__, Object.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-create-define.js b/implementation-contributed/javascriptcore/stress/object-create-define.js new file mode 100644 index 0000000000..a3ed990f7e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-create-define.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(prototype, data) +{ + return Object.create(prototype, data); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var prototype = { Cocoa: false }; + var object = test(prototype, { + Cappuccino: { + value: 42, + enumerable: true, + configurable: true, + writable: true + }, + Matcha: { + value: 40, + enumerable: false, + configurable: true, + writable: true + } + }); + shouldBe(Object.getPrototypeOf(object), prototype); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(object).sort()), `["Cappuccino","Matcha"]`); + shouldBe(JSON.stringify(Object.keys(object).sort()), `["Cappuccino"]`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-create-null-external.js b/implementation-contributed/javascriptcore/stress/object-create-null-external.js new file mode 100644 index 0000000000..96fd04d77d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-create-null-external.js @@ -0,0 +1,16 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(prototype) +{ + return Object.create(prototype); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var object = test(null); + shouldBe(Object.getPrototypeOf(object), null); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(object)), `[]`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-create-null.js b/implementation-contributed/javascriptcore/stress/object-create-null.js new file mode 100644 index 0000000000..0bc968e771 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-create-null.js @@ -0,0 +1,16 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + return Object.create(null); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var object = test(); + shouldBe(Object.getPrototypeOf(object), null); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(object)), `[]`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-create-prototype.js b/implementation-contributed/javascriptcore/stress/object-create-prototype.js new file mode 100644 index 0000000000..0d33fb439e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-create-prototype.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(prototype) +{ + return Object.create(prototype); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + var prototype = { Cocoa: false }; + var object = test(prototype); + shouldBe(Object.getPrototypeOf(object), prototype); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(object)), `[]`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-create-undefined.js b/implementation-contributed/javascriptcore/stress/object-create-undefined.js new file mode 100644 index 0000000000..9aa3c21c8d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-create-undefined.js @@ -0,0 +1,26 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function test(value) +{ + return Object.create(value); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + shouldThrow(() => { + test(undefined); + }, `TypeError: Object prototype may only be an Object or null.`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-div.js b/implementation-contributed/javascriptcore/stress/object-div.js new file mode 100644 index 0000000000..ea91b53704 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-div.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a / b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 4; }}]; +var results = [2]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-entries.js b/implementation-contributed/javascriptcore/stress/object-entries.js new file mode 100644 index 0000000000..544be2dd14 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-entries.js @@ -0,0 +1,123 @@ +var obj = Object.create({ a: "qux", d: "qux" }); +obj.a = "foo"; obj.b = "bar"; obj.c = "baz"; +var entries = Object.entries(obj); +var passed = Array.isArray(entries) + && String(entries[0]) === "a,foo" + && String(entries[1]) === "b,bar" + && String(entries[2]) === "c,baz"; + +if (!passed) + throw new Error("Object.entries return wrong result."); + +var complexObject = { + obj : { + a: 'x', + b: 'y' + }, + primitive : 'z' +}; + +passed = false; +entries = Object.entries(complexObject); + +passed = entries.length === 2 + && entries[0][0] === 'obj' + && entries[0][1].a === 'x' + && entries[0][1].b === 'y' + && entries[1][0] === 'primitive' + && entries[1][1] === 'z'; + +if (!passed) + throw new Error("Object.entries return wrong result."); + +entries = Object.entries({ a: 'abcdef' }); + +passed = entries.length === 1 + && entries[0][0] === 'a' + && entries[0][1] === 'abcdef'; + +if (!passed) + throw new Error("Object.entries return wrong result."); + +var primitives = [ + ["string", [[0, 's'], [1, 't'], [2, 'r'], [3, 'i'], [4, 'n'], [5, 'g']]], + [42, []], + [Symbol("symbol"), []], + [true, []], + [false, []] +]; + +function compare(ax, bx) { + if (ax.length !== bx.length) + return false; + for (var i = 0, iz = ax.length; i < iz; ++i) { + if (String(ax[i]) !== String(bx[i])) + return false; + } + return true; +} + +for (var [primitive, expected] of primitives) { + var ret = Object.entries(primitive); + if (!compare(ret, expected)) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +[ + [ null, "TypeError: Object.entries requires that input parameter not be null or undefined" ], + [ undefined, "TypeError: Object.entries requires that input parameter not be null or undefined" ] +].forEach(function ([value, message]) { + var error = null; + try { + Object.entries(value); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); + +const getInvokedFunctions = (obj) => { + let arr = [] + let p = new Proxy(obj, { + ownKeys: function(...args) { + arr.push("ownKeys"); + return Reflect.ownKeys(...args); + }, + getOwnPropertyDescriptor: function(...args) { + arr.push("getOwnPropertyDescriptor"); + return Reflect.getOwnPropertyDescriptor(...args); + } + }); + + Object.entries(p); + return arr; +}; + +const arr1 = getInvokedFunctions({}); +passed = arr1.length === 1 && arr1[0] === "ownKeys"; + +if (!passed) + throw new Error("Object.entries should invoke ownkeys."); + +const arr2 = getInvokedFunctions({a:'foo', b:'boo'}); +passed = arr2.length === 3 && arr2[0] === "ownKeys"; + +if (!passed) + throw new Error("Object.entries should invoke ownkeys."); + +passed = arr2[1] === "getOwnPropertyDescriptor"; + +if (!passed) + throw new Error("Object.entries should get property descriptor."); + +Array.prototype.push = function () { throw new Error("Array.prototype.push should not be used during invoking of Object.entries.")}; +Object.getOwnPropertyDescriptor = function () { throw new Error("Array.prototype.getOwnPropertyDescriptor should not be used during invoking of Object.entries.")}; + +entries = Object.entries({a:'1-2', b:'3-4'}); +passed = Array.isArray(entries) && String(entries[0]) === "a,1-2" && String(entries[1]) === "b,3-4"; + +if (!passed) + throw new Error("Object.entries return wrong result."); diff --git a/implementation-contributed/javascriptcore/stress/object-escapes-in-loop.js b/implementation-contributed/javascriptcore/stress/object-escapes-in-loop.js new file mode 100644 index 0000000000..196f72fe83 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-escapes-in-loop.js @@ -0,0 +1,17 @@ +function foo(p) { + var o = {}; + if (p) { + for (var i = 0; i < 100; ++i) + bar(o); + } + return 42; +} + +function bar() { +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) + foo(true); diff --git a/implementation-contributed/javascriptcore/stress/object-freeze-accept-non-object.js b/implementation-contributed/javascriptcore/stress/object-freeze-accept-non-object.js new file mode 100644 index 0000000000..c4008c0ef1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-freeze-accept-non-object.js @@ -0,0 +1,15 @@ +var primitives = [ + "string", + 42, + null, + undefined, + Symbol("symbol"), + true, + false +]; + +for (var primitive of primitives) { + var ret = Object.freeze(primitive); + if (ret !== primitive) + throw new Error("bad value: " + String(ret)); +} diff --git a/implementation-contributed/javascriptcore/stress/object-freeze-with-proxy-preventExtensions.js b/implementation-contributed/javascriptcore/stress/object-freeze-with-proxy-preventExtensions.js new file mode 100644 index 0000000000..c7cbc05d9e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-freeze-with-proxy-preventExtensions.js @@ -0,0 +1,29 @@ +// See https://tc39.github.io/ecma262/#sec-object.freeze +// See https://tc39.github.io/ecma262/#sec-setintegritylevel + +var x = [10]; +var visited = []; + +var proxy = new Proxy(x, { + preventExtensions() { + visited.push("proxy_preventExtensions"); + return false; + } +}); + +var exception; +try { + visited.push("before_freeze"); + Object.freeze(proxy); + visited.push("after_freeze"); +} catch (e) { + visited.push("catch"); + exception = e; +} + +var exceptionStr = "" + exception; +if (!exceptionStr.startsWith("TypeError:")) + throw "Did not throw expected TypeError"; + +if (visited != "before_freeze,proxy_preventExtensions,catch") + throw "ERROR: visited = " + visited; diff --git a/implementation-contributed/javascriptcore/stress/object-get-own-property-descriptor-perform-to-object.js b/implementation-contributed/javascriptcore/stress/object-get-own-property-descriptor-perform-to-object.js new file mode 100644 index 0000000000..50d772bc24 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-own-property-descriptor-perform-to-object.js @@ -0,0 +1,43 @@ +var primitives = [ + ["string", 6], + [42, undefined], + [Symbol("symbol"), undefined], + [true, undefined], + [false, undefined] +]; + +for (var [primitive, expected] of primitives) { + var ret = Object.getOwnPropertyDescriptor(primitive, 'length'); + if (expected === undefined) { + if (ret !== expected) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); + } else if (ret.value !== expected) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +function canary() { + return { + called: false, + toString() { + this.called = true; + throw new Error("out"); + } + }; +} + +[ + [ null, "TypeError: null is not an object (evaluating 'Object.getOwnPropertyDescriptor(value, property)')" ], + [ undefined, "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyDescriptor(value, property)')" ] +].forEach(function ([value, message]) { + var property = canary(); + var error = null; + try { + Object.getOwnPropertyDescriptor(value, property); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); diff --git a/implementation-contributed/javascriptcore/stress/object-get-own-property-names-perform-to-object.js b/implementation-contributed/javascriptcore/stress/object-get-own-property-names-perform-to-object.js new file mode 100644 index 0000000000..38ff56cbb9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-own-property-names-perform-to-object.js @@ -0,0 +1,39 @@ +var primitives = [ + ["string", ['0', '1', '2', '3', '4', '5', 'length']], + [42, []], + [Symbol("symbol"), []], + [true, []], + [false, []] +]; + +function compare(ax, bx) { + if (ax.length !== bx.length) + return false; + for (var i = 0, iz = ax.length; i < iz; ++i) { + if (ax[i] !== bx[i]) + return false; + } + return true; +} + +for (var [primitive, expected] of primitives) { + var ret = Object.getOwnPropertyNames(primitive); + if (!compare(ret, expected)) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +[ + [ null, "TypeError: null is not an object (evaluating 'Object.getOwnPropertyNames(value)')" ], + [ undefined, "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertyNames(value)')" ] +].forEach(function ([value, message]) { + var error = null; + try { + Object.getOwnPropertyNames(value); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); diff --git a/implementation-contributed/javascriptcore/stress/object-get-own-property-symbols-perform-to-object.js b/implementation-contributed/javascriptcore/stress/object-get-own-property-symbols-perform-to-object.js new file mode 100644 index 0000000000..031c3fa43e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-own-property-symbols-perform-to-object.js @@ -0,0 +1,39 @@ +var primitives = [ + ["string", []], + [42, []], + [Symbol("symbol"), []], + [true, []], + [false, []] +]; + +function compare(ax, bx) { + if (ax.length !== bx.length) + return false; + for (var i = 0, iz = ax.length; i < iz; ++i) { + if (ax[i] !== bx[i]) + return false; + } + return true; +} + +for (var [primitive, expected] of primitives) { + var ret = Object.getOwnPropertySymbols(primitive); + if (!compare(ret, expected)) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +[ + [ null, "TypeError: null is not an object (evaluating 'Object.getOwnPropertySymbols(value)')" ], + [ undefined, "TypeError: undefined is not an object (evaluating 'Object.getOwnPropertySymbols(value)')" ] +].forEach(function ([value, message]) { + var error = null; + try { + Object.getOwnPropertySymbols(value); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); diff --git a/implementation-contributed/javascriptcore/stress/object-get-own-property-symbols.js b/implementation-contributed/javascriptcore/stress/object-get-own-property-symbols.js new file mode 100644 index 0000000000..40e93d8b24 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-own-property-symbols.js @@ -0,0 +1,35 @@ +// This tests Object.getOwnPropertySymbols. + +var global = (Function("return this")()); + +// private names for privileged code should not be exposed. +if (Object.getOwnPropertySymbols(global).length !== 0) + throw "Error: bad value " + Object.getOwnPropertySymbols(global).length; + +var object = {}; +var symbol = Symbol("Cocoa"); +object[symbol] = "Cappuccino"; +if (Object.getOwnPropertyNames(object).length !== 0) + throw "Error: bad value " + Object.getOwnPropertyNames(object).length; +if (Object.getOwnPropertySymbols(object).length !== 1) + throw "Error: bad value " + Object.getOwnPropertySymbols(object).length; +if (Object.getOwnPropertySymbols(object)[0] !== symbol) + throw "Error: bad value " + String(Object.getOwnPropertySymbols(object)[0]); + +function forIn(obj) { + var array = []; + // Symbol should not be enumerated. + for (var key in obj) array.push(key); + return array; +} + +if (forIn(object).length !== 0) + throw "Error: bad value " + forIn(object).length; +if (Object.keys(object).length !== 0) + throw "Error: bad value " + Object.keys(object).length; + +delete object[symbol]; +if (Object.getOwnPropertyNames(object).length !== 0) + throw "Error: bad value " + Object.getOwnPropertyNames(object).length; +if (Object.getOwnPropertySymbols(object).length !== 0) + throw "Error: bad value " + Object.getOwnPropertySymbols(object).length; diff --git a/implementation-contributed/javascriptcore/stress/object-get-prototype-of-filtered.js b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-filtered.js new file mode 100644 index 0000000000..e1a0808d09 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-filtered.js @@ -0,0 +1,64 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +// In this case, we cannot handle it as GetPrototypeOf since GetById is opaque. + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e4; ++i) { + var object = {}; + object[`Cocoa${i}`] = `Cocoa`; + shouldBe(target(object), Object.prototype); + } +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e4; ++i) { + var array = []; + array[`Cocoa${i}`] = `Cocoa`; + shouldBe(target(array), Array.prototype); + } +}()); + +(function () { + function target(object) + { + return Object.getPrototypeOf(object); + } + noInline(target); + + for (var i = 0; i < 1e4; ++i) { + function Cocoa() { } + Cocoa[`Cocoa${i}`] = `Cocoa`; + shouldBe(target(Cocoa), Function.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-get-prototype-of-mono-proto.js b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-mono-proto.js new file mode 100644 index 0000000000..5e0754e20f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-mono-proto.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + this.hello = 33; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return [object.hello, Object.getPrototypeOf(object)]; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +var object1 = { __proto__: prototype, hello: 44 }; +var object2 = { hello: 45 }; +for (var i = 0; i < 1e5; ++i) { + shouldBe(target(object1)[1], prototype); + shouldBe(target(object2)[1], Object.prototype); +} diff --git a/implementation-contributed/javascriptcore/stress/object-get-prototype-of-perform-to-object.js b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-perform-to-object.js new file mode 100644 index 0000000000..c952337757 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-perform-to-object.js @@ -0,0 +1,29 @@ +var primitives = [ + ["string", String.prototype], + [42, Number.prototype], + [Symbol("symbol"), Symbol.prototype], + [true, Boolean.prototype], + [false, Boolean.prototype] +]; + +for (var [primitive, expected] of primitives) { + var ret = Object.getPrototypeOf(primitive); + if (ret !== expected) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +[ + [ null, "TypeError: null is not an object (evaluating 'Object.getPrototypeOf(value)')" ], + [ undefined, "TypeError: undefined is not an object (evaluating 'Object.getPrototypeOf(value)')" ] +].forEach(function ([value, message]) { + var error = null; + try { + Object.getPrototypeOf(value); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); diff --git a/implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-mono-proto.js b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-mono-proto.js new file mode 100644 index 0000000000..3fa09ef096 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-mono-proto.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + this.hello = 33; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return [object.hello, Object.getPrototypeOf(object)]; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +var object = { __proto__: prototype, hello: 44 }; +for (var i = 0; i < 1e5; ++i) { + shouldBe(target(polyProtoObject)[1], prototype); + shouldBe(target(object)[1], prototype); +} diff --git a/implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-proto.js b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-proto.js new file mode 100644 index 0000000000..43d649d743 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-get-prototype-of-poly-proto.js @@ -0,0 +1,30 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + this.hello = 33; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return [object.hello, Object.getPrototypeOf(object)]; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +for (var i = 0; i < 1e5; ++i) + shouldBe(target(polyProtoObject)[1], prototype); diff --git a/implementation-contributed/javascriptcore/stress/object-is-extensible-accept-non-object.js b/implementation-contributed/javascriptcore/stress/object-is-extensible-accept-non-object.js new file mode 100644 index 0000000000..44c371da62 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-is-extensible-accept-non-object.js @@ -0,0 +1,15 @@ +var primitives = [ + "string", + 42, + null, + undefined, + Symbol("symbol"), + true, + false +]; + +for (var primitive of primitives) { + var ret = Object.isExtensible(primitive); + if (ret !== false) + throw new Error("bad value: " + String(ret)); +} diff --git a/implementation-contributed/javascriptcore/stress/object-is-frozen-accept-non-object.js b/implementation-contributed/javascriptcore/stress/object-is-frozen-accept-non-object.js new file mode 100644 index 0000000000..e98823b609 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-is-frozen-accept-non-object.js @@ -0,0 +1,15 @@ +var primitives = [ + "string", + 42, + null, + undefined, + Symbol("symbol"), + true, + false +]; + +for (var primitive of primitives) { + var ret = Object.isFrozen(primitive); + if (ret !== true) + throw new Error("bad value: " + String(ret)); +} diff --git a/implementation-contributed/javascriptcore/stress/object-is-sealed-accept-non-object.js b/implementation-contributed/javascriptcore/stress/object-is-sealed-accept-non-object.js new file mode 100644 index 0000000000..08d5e60afd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-is-sealed-accept-non-object.js @@ -0,0 +1,15 @@ +var primitives = [ + "string", + 42, + null, + undefined, + Symbol("symbol"), + true, + false +]; + +for (var primitive of primitives) { + var ret = Object.isSealed(primitive); + if (ret !== true) + throw new Error("bad value: " + String(ret)); +} diff --git a/implementation-contributed/javascriptcore/stress/object-is.js b/implementation-contributed/javascriptcore/stress/object-is.js new file mode 100644 index 0000000000..4e74e35dc2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-is.js @@ -0,0 +1,72 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function is1(a, b) { return Object.is(a, b); } +noInline(is1); +function is2(a, b) { return Object.is(a, b); } +noInline(is2); +function is3(a, b) { return Object.is(a, b); } +noInline(is3); +function is4(a, b) { return Object.is(a, b); } +noInline(is4); +function is5(a, b) { return Object.is(a, b); } +noInline(is5); +function is6(a, b) { return Object.is(a, b); } +noInline(is6); +function is7(a, b) { return Object.is(a, b); } +noInline(is7); +function is8(a, b) { return Object.is(a, b); } +noInline(is8); +function is9(a, b) { return Object.is(a, b); } +noInline(is9); +function is10(a, b) { return Object.is(a, b); } +noInline(is10); +function is11(a, b) { return Object.is(a, b); } +noInline(is11); +function is12(a, b) { return Object.is(a, b); } +noInline(is12); +function is13(a, b) { return Object.is(a, b); } +noInline(is13); +function is14(a, b) { return Object.is(a, b); } +noInline(is14); +function is15(a, b) { return Object.is(a, b); } +noInline(is15); + +for (var i = 0; i < 1e5; ++i) { + shouldBe(Object.is(NaN, NaN), true); + shouldBe(Object.is(null, null), true); + shouldBe(Object.is(null), false); + shouldBe(Object.is(undefined, undefined), true); + shouldBe(Object.is(true, true), true); + shouldBe(Object.is(false, false), true); + shouldBe(Object.is('abc', 'abc'), true); + shouldBe(Object.is(Infinity, Infinity), true); + shouldBe(Object.is(0, 0), true); + shouldBe(Object.is(-0, -0), true); + shouldBe(Object.is(0, -0), false); + shouldBe(Object.is(-0, 0), false); + var obj = {}; + shouldBe(Object.is(obj, obj), true); + var arr = []; + shouldBe(Object.is(arr, arr), true); + var sym = Symbol(); + shouldBe(Object.is(sym, sym), true); + + shouldBe(is1(NaN, NaN), true); + shouldBe(is2(null, null), true); + shouldBe(is3(null), false); + shouldBe(is4(undefined, undefined), true); + shouldBe(is5(true, true), true); + shouldBe(is6(false, false), true); + shouldBe(is7('abc', 'abc'), true); + shouldBe(is8(Infinity, Infinity), true); + shouldBe(is9(0, 0), true); + shouldBe(is10(-0, -0), true); + shouldBe(is11(0, -0), false); + shouldBe(is12(-0, 0), false); + shouldBe(is13(obj, obj), true); + shouldBe(is14(arr, arr), true); + shouldBe(is15(sym, sym), true); +} diff --git a/implementation-contributed/javascriptcore/stress/object-iterate-symbols.js b/implementation-contributed/javascriptcore/stress/object-iterate-symbols.js new file mode 100644 index 0000000000..b384fd4031 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-iterate-symbols.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var a = Symbol("a"); +var b = Symbol("b"); +var c = Symbol("c"); +var d = Symbol("d"); +var e = Symbol("e"); + +var obj = { + [a]: 1, + [b]: 2, + [c]: 3, + [d]: null, + [e]: 'e' +}; + +function test(src) { + var array = []; + var keys = Object.getOwnPropertySymbols(src); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + array.push(src[key]); + } + return array; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(JSON.stringify(test(obj)), `[1,2,3,null,"e"]`); diff --git a/implementation-contributed/javascriptcore/stress/object-iterate.js b/implementation-contributed/javascriptcore/stress/object-iterate.js new file mode 100644 index 0000000000..87a1745fde --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-iterate.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var obj = { + a: 1, + b: 2, + c: 3, + d: null, + e: 'e' +}; + +function test(src) { + var array = []; + var keys = Object.keys(src); + for (var i = 0; i < keys.length; ++i) { + var key = keys[i]; + array.push(src[key]); + } + return array; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(JSON.stringify(test(obj)), `[1,2,3,null,"e"]`); diff --git a/implementation-contributed/javascriptcore/stress/object-keys-perform-to-object.js b/implementation-contributed/javascriptcore/stress/object-keys-perform-to-object.js new file mode 100644 index 0000000000..d0e668f66b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-keys-perform-to-object.js @@ -0,0 +1,39 @@ +var primitives = [ + ["string", ['0', '1', '2', '3', '4', '5']], + [42, []], + [Symbol("symbol"), []], + [true, []], + [false, []] +]; + +function compare(ax, bx) { + if (ax.length !== bx.length) + return false; + for (var i = 0, iz = ax.length; i < iz; ++i) { + if (ax[i] !== bx[i]) + return false; + } + return true; +} + +for (var [primitive, expected] of primitives) { + var ret = Object.keys(primitive); + if (!compare(ret, expected)) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +[ + [ null, "TypeError: null is not an object (evaluating 'Object.keys(value)')" ], + [ undefined, "TypeError: undefined is not an object (evaluating 'Object.keys(value)')" ] +].forEach(function ([value, message]) { + var error = null; + try { + Object.keys(value); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); diff --git a/implementation-contributed/javascriptcore/stress/object-literal-methods.js b/implementation-contributed/javascriptcore/stress/object-literal-methods.js new file mode 100644 index 0000000000..ef5f1c467b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-literal-methods.js @@ -0,0 +1,105 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let name = 'prototype'; + let object = { + prototype() { }, + get [name]() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, 'prototype')), `{"enumerable":true,"configurable":true}`); +} + +{ + let name = 'prototype'; + let object = { + get [name]() { }, + prototype() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, 'prototype')), `{"writable":true,"enumerable":true,"configurable":true}`); +} + + +{ + let name = 'prototype'; + let object = { + [name]() { }, + get prototype() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, 'prototype')), `{"enumerable":true,"configurable":true}`); +} + +{ + let name = 'prototype'; + let object = { + get prototype() { }, + [name]() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, 'prototype')), `{"writable":true,"enumerable":true,"configurable":true}`); +} + +{ + let object = { + __proto__() { } + }; + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, '__proto__')), `{"writable":true,"enumerable":true,"configurable":true}`); + shouldBe(Object.getPrototypeOf(object), Object.prototype); +} + +{ + let name = '__proto__'; + let object = { + [name]() { } + }; + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, '__proto__')), `{"writable":true,"enumerable":true,"configurable":true}`); + shouldBe(Object.getPrototypeOf(object), Object.prototype); +} + +{ + let name = '42'; + let object = { + 42() { }, + get [name]() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, '42')), `{"enumerable":true,"configurable":true}`); +} + +{ + let name = '42'; + let object = { + get [name]() { }, + 42() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, '42')), `{"writable":true,"enumerable":true,"configurable":true}`); +} + + +{ + let name = '42'; + let object = { + [name]() { }, + get 42() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, '42')), `{"enumerable":true,"configurable":true}`); +} + +{ + let name = '42'; + let object = { + get 42() { }, + [name]() { }, + }; + + shouldBe(JSON.stringify(Object.getOwnPropertyDescriptor(object, '42')), `{"writable":true,"enumerable":true,"configurable":true}`); +} + + diff --git a/implementation-contributed/javascriptcore/stress/object-lshift.js b/implementation-contributed/javascriptcore/stress/object-lshift.js new file mode 100644 index 0000000000..a30cd715df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-lshift.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a << b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 4; }}]; +var results = [8]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-mul.js b/implementation-contributed/javascriptcore/stress/object-mul.js new file mode 100644 index 0000000000..23ec846310 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-mul.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a * b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 4; }}]; +var results = [8]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-number-properties.js b/implementation-contributed/javascriptcore/stress/object-number-properties.js new file mode 100644 index 0000000000..2c0daccd9c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-number-properties.js @@ -0,0 +1,148 @@ +function assert(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var priceRanges = { + "1": 0.6, + "100": 0.45, + "250": 0.3, + "2000": 0.28 +}; + +assert(Object.keys(priceRanges).length, 4); +assert(Object.values(priceRanges).length, 4); +assert(priceRanges[1], 0.6); +assert(priceRanges[100], 0.45); +assert(priceRanges[250], 0.3); +assert(priceRanges[2000], 0.28); + +var ranges = { + "250" : 0.5, + "1000": 0.1 +}; + +assert(Object.keys(ranges).length, 2); +assert(Object.values(ranges).length, 2); +assert(ranges[250], 0.5); +assert(ranges[1000], 0.1); + +var r = {}; + +r[250] = 0.1; +r[1001] = 0.5; + +assert(Object.keys(r).length, 2); +assert(Object.values(ranges).length, 2); + +assert(r[250], 0.1); +assert(r[1001], 0.5); + +var foo = {}; + +foo[100] = NaN; +foo[250] = 0.1; +foo[260] = NaN; +foo[1000] = 0.5; + +assert(Object.keys(foo).length, 4); +assert(Object.values(foo).length, 4); +assert(isNaN(foo[100]), true); +assert(foo[250], 0.1); +assert(isNaN(foo[260]), true); +assert(foo[1000], 0.5); + +var boo = function () { + return { + "250": 0.2, + "1000": 0.1 + }; +}; + +for (var i = 0; i < 10000; i++) { + const b = boo(); + const keys = Object.keys(b); + const values = Object.values(b); + + assert(keys.length, 2); + assert(values.length, 2); + + assert(b[keys[0]], values[0]); + assert(b[keys[1]], values[1]); +} + +var baz = { + "250": "A", + "1001": "B" +}; + +assert(Object.keys(baz).length, 2); +assert(Object.values(baz).length, 2); +assert(baz[250], "A"); +assert(baz[1001], "B"); + +var bar = JSON.parse('{"0":97.1,"1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}'); + +assert(Object.keys(bar).length, 5); +assert(bar[0], 97.1); +assert(bar[1000], 96.5); +assert(bar[2000], 96.1); +assert(bar[3000], 97.4); +assert(bar[4000], 90.4); + +bar = JSON.parse('{"0":97.1, "250": 65.3, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}'); + +assert(Object.keys(bar).length, 6); + +assert(bar[0], 97.1); +assert(bar[250], 65.3); +assert(bar[1000], 96.5); +assert(bar[2000], 96.1); +assert(bar[3000], 97.4); +assert(bar[4000], 90.4); + +bar = JSON.parse('{"0":97.1, "250": null, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}'); + +assert(Object.keys(bar).length, 6); + +assert(bar[0], 97.1); +assert(bar[250], null); +assert(bar[1000], 96.5); +assert(bar[2000], 96.1); +assert(bar[3000], 97.4); +assert(bar[4000], 90.4); + + +bar = eval('(()=>({"0":97.1, "250": 65.3, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();'); + +assert(Object.keys(bar).length, 6); + +assert(bar[0], 97.1); +assert(bar[250], 65.3); +assert(bar[1000], 96.5); +assert(bar[2000], 96.1); +assert(bar[3000], 97.4); +assert(bar[4000], 90.4); + +bar = eval('(()=>({"0":97.1, "250": null, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();'); + +assert(Object.keys(bar).length, 6); + +assert(bar[0], 97.1); +assert(bar[250], null); +assert(bar[1000], 96.5); +assert(bar[2000], 96.1); +assert(bar[3000], 97.4); +assert(bar[4000], 90.4); + + +bar = eval('(()=>({"0":97.1, "250": NaN, "1000":96.5,"2000":96.1,"3000":97.4,"4000":90.4}))();'); + +assert(Object.keys(bar).length, 6); + +assert(bar[0], 97.1); +assert(isNaN(bar[250]), true); +assert(bar[1000], 96.5); +assert(bar[2000], 96.1); +assert(bar[3000], 97.4); +assert(bar[4000], 90.4); diff --git a/implementation-contributed/javascriptcore/stress/object-own-property-keys.js b/implementation-contributed/javascriptcore/stress/object-own-property-keys.js new file mode 100644 index 0000000000..0d36426842 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-own-property-keys.js @@ -0,0 +1,45 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +Object.defineProperty(Array.prototype, '0', { + get() { + throw new Error('out'); + }, + set(value) { + throw new Error('out'); + } +}); + +{ + let object = { + a: 42, + b: 42, + c: 42 + }; + { + let result = Object.keys(object); + shouldBe(JSON.stringify(result), `["a","b","c"]`); + } + { + let result = Object.values(object); + shouldBe(JSON.stringify(result), `[42,42,42]`); + } +} +{ + let object = { + [Symbol.iterator]: 42, + b: 42, + c: 42 + }; + { + let result = Object.getOwnPropertyNames(object); + shouldBe(JSON.stringify(result), `["b","c"]`); + } + { + let result = Object.getOwnPropertySymbols(object); + shouldBe(result.length, 1); + shouldBe(result[0], Symbol.iterator); + } +} diff --git a/implementation-contributed/javascriptcore/stress/object-prevent-extensions-accept-non-object.js b/implementation-contributed/javascriptcore/stress/object-prevent-extensions-accept-non-object.js new file mode 100644 index 0000000000..564febb794 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-prevent-extensions-accept-non-object.js @@ -0,0 +1,15 @@ +var primitives = [ + "string", + 42, + null, + undefined, + Symbol("symbol"), + true, + false +]; + +for (var primitive of primitives) { + var ret = Object.preventExtensions(primitive); + if (ret !== primitive) + throw new Error("bad value: " + String(ret)); +} diff --git a/implementation-contributed/javascriptcore/stress/object-proto-getter-filtered.js b/implementation-contributed/javascriptcore/stress/object-proto-getter-filtered.js new file mode 100644 index 0000000000..33fb527c56 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-proto-getter-filtered.js @@ -0,0 +1,62 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e4; ++i) { + var object = {}; + object[`Cocoa${i}`] = `Cocoa`; + shouldBe(target(object), Object.prototype); + } +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e4; ++i) { + var array = []; + array[`Cocoa${i}`] = `Cocoa`; + shouldBe(target(array), Array.prototype); + } +}()); + +(function () { + function target(object) + { + return object.__proto__; + } + noInline(target); + + for (var i = 0; i < 1e4; ++i) { + function Cocoa() { } + Cocoa[`Cocoa${i}`] = `Cocoa`; + shouldBe(target(Cocoa), Function.prototype); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/object-proto-getter-poly-mono-proto.js b/implementation-contributed/javascriptcore/stress/object-proto-getter-poly-mono-proto.js new file mode 100644 index 0000000000..1cc77e58ac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-proto-getter-poly-mono-proto.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return object.__proto__; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +var object = { + __proto__: prototype +}; +for (var i = 0; i < 1e5; ++i) { + shouldBe(target(polyProtoObject), prototype); + shouldBe(target(object), prototype); +} diff --git a/implementation-contributed/javascriptcore/stress/object-proto-getter-poly-proto.js b/implementation-contributed/javascriptcore/stress/object-proto-getter-poly-proto.js new file mode 100644 index 0000000000..9b8efd9155 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-proto-getter-poly-proto.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function target(object) +{ + return object.__proto__; +} +noInline(target); + +var polyProtoObject = makePolyProtoObject(); +var prototype = Reflect.getPrototypeOf(polyProtoObject); +for (var i = 0; i < 1e5; ++i) + shouldBe(target(polyProtoObject), prototype); diff --git a/implementation-contributed/javascriptcore/stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js b/implementation-contributed/javascriptcore/stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js new file mode 100644 index 0000000000..5d4505b778 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-prototype-proto-accessors-should-throw-on-undefined-this.js @@ -0,0 +1,38 @@ +//@ runFTLNoCJIT + +function shouldEqual(testId, actual, expected) { + if (actual != expected) { + throw testId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +let numberOfIterations = 10000; + +function testInvokeGetter() { + var getter = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").get; + return (function() { return getter(); })(); +} +noInline(testInvokeGetter); + +function testInvokeSetter() { + var setter = Object.getOwnPropertyDescriptor(Object.prototype, "__proto__").set; + return (function() { return setter({}); })(); +} +noInline(testInvokeSetter); + +function runTest(testId, test, expectedResult, expectedException) { + for (var i = 0; i < numberOfIterations; i++) { + var exception; + var result; + try { + result = test({}); + } catch (e) { + exception = "" + e; + } + shouldEqual(testId, result, expectedResult); + shouldEqual(testId, exception, expectedException); + } +} + +runTest(10000, testInvokeGetter, undefined, "TypeError: undefined is not an object (evaluating 'getter()')"); +runTest(10100, testInvokeSetter, undefined, "TypeError: Object.prototype.__proto__ called on null or undefined"); diff --git a/implementation-contributed/javascriptcore/stress/object-rest-deconstruct.js b/implementation-contributed/javascriptcore/stress/object-rest-deconstruct.js new file mode 100644 index 0000000000..c984e7140b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-rest-deconstruct.js @@ -0,0 +1,216 @@ +let assert = (e) => { + if (!e) + throw Error("Bad assertion!"); +} + +let assertPropDescriptor = (restObj, prop) => { + let desc = Object.getOwnPropertyDescriptor(restObj, prop); + assert(desc.enumerable); + assert(desc.writable); + assert(desc.configurable); +} + +// Base Case +(() => { + let obj = {x: 1, y: 2, a: 5, b: 3} + + let {a, b, ...rest} = obj; + + assert(a === 5); + assert(b === 3); + + assert(rest.x === 1); + assert(rest.y === 2); + + assertPropDescriptor(rest, 'x'); + assertPropDescriptor(rest, 'y'); +})(); + +// Empty Object +(() => { + let obj = {} + + let {a, b, ...rest} = obj; + + assert(a === undefined); + assert(b === undefined); + + assert(typeof rest === "object"); +})(); + +// Number case +(() => { + let obj = 3; + + let {...rest} = obj; + + assert(typeof rest === "object"); +})(); + +// String case +(() => { + let obj = "foo"; + + let {...rest} = obj; + + assert(typeof rest === "object"); +})(); + +// Symbol case +(() => { + let obj = Symbol("foo"); + + let {...rest} = obj; + + assert(typeof rest === "object"); +})(); + +// null case +(() => { + let obj = null; + + try { + let {...rest} = obj; + assert(false); + } catch (e) { + assert(e.message == "Right side of assignment cannot be destructured"); + } + +})(); + +// undefined case +(() => { + let obj = undefined; + + try { + let {...rest} = obj; + assert(false); + } catch (e) { + assert(e.message == "Right side of assignment cannot be destructured"); + } + +})(); + +// getter case +(() => { + let obj = {a: 3, b: 4}; + Object.defineProperty(obj, "x", { get: () => 3, enumerable: true }); + + let {a, b, ...rest} = obj; + + assert(a === 3); + assert(b === 4); + + assert(rest.x === 3); + assertPropDescriptor(rest, 'x'); +})(); + +// Skip non-enumerable case +(() => { + let obj = {a: 3, b: 4}; + Object.defineProperty(obj, "x", { value: 4, enumerable: false }); + + let {...rest} = obj; + + assert(rest.a === 3); + assert(rest.b === 4); + assert(rest.x === undefined); +})(); + +// Don't copy descriptor case +(() => { + let obj = {}; + Object.defineProperty(obj, "a", { value: 3, configurable: false, enumerable: true }); + Object.defineProperty(obj, "b", { value: 4, writable: false, enumerable: true }); + + let {...rest} = obj; + + assert(rest.a === 3); + assert(rest.b === 4); + + assertPropDescriptor(rest, 'a'); + assertPropDescriptor(rest, 'b'); +})(); + +// Destructuring function parameter + +(() => { + + var o = { x: 1, y: 2, w: 3, z: 4 }; + + function foo({ x, y, ...rest }) { + assert(x === 1); + assert(y === 2); + assert(rest.w === 3); + assert(rest.z === 4); + } + foo(o); +})(); + +// Destructuring arrow function parameter + +(() => { + + var o = { x: 1, y: 2, w: 3, z: 4 }; + + (({ x, y, ...rest }) => { + assert(x === 1); + assert(y === 2); + assert(rest.w === 3); + assert(rest.z === 4); + })(o); +})(); + +// Destructuring to a property +(() => { + + var o = { x: 1, y: 2}; + + let settedValue; + let src = {}; + ({...src.y} = o); + assert(src.y.x === 1); + assert(src.y.y === 2); +})(); + +// Destructuring with setter +(() => { + + var o = { x: 1, y: 2}; + + let settedValue; + let src = { + get y() { throw Error("The property should not be accessed"); }, + set y(v) { + settedValue = v; + } + } + src.y = undefined; + ({...src.y} = o); + assert(settedValue.x === 1); + assert(settedValue.y === 2); +})(); + +// Destructuring computed property +(() => { + + var a = "foo"; + + var {[a]: b, ...r} = {foo: 1, bar: 2, baz: 3}; + assert(b === 1); + assert(r.bar === 2); + assert(r.baz === 3); +})(); + +// Catch case + +(() => { + try { + throw {foo: 1, bar: 2, baz: 3}; + } catch({foo, ...rest}) { + assert(foo === 1); + assert(rest.bar === 2); + assert(rest.baz === 3); + } +})(); + diff --git a/implementation-contributed/javascriptcore/stress/object-rshift.js b/implementation-contributed/javascriptcore/stress/object-rshift.js new file mode 100644 index 0000000000..7aa56b5617 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-rshift.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a >> b; +} + +noInline(foo); + +var things = [{valueOf: function() { return -4; }}]; +var results = [-2]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-seal-accept-non-object.js b/implementation-contributed/javascriptcore/stress/object-seal-accept-non-object.js new file mode 100644 index 0000000000..5c3d23d803 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-seal-accept-non-object.js @@ -0,0 +1,15 @@ +var primitives = [ + "string", + 42, + null, + undefined, + Symbol("symbol"), + true, + false +]; + +for (var primitive of primitives) { + var ret = Object.seal(primitive); + if (ret !== primitive) + throw new Error("bad value: " + String(ret)); +} diff --git a/implementation-contributed/javascriptcore/stress/object-seal-with-proxy-preventExtensions.js b/implementation-contributed/javascriptcore/stress/object-seal-with-proxy-preventExtensions.js new file mode 100644 index 0000000000..6da1db8acd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-seal-with-proxy-preventExtensions.js @@ -0,0 +1,29 @@ +// See https://tc39.github.io/ecma262/#sec-object.seal +// See https://tc39.github.io/ecma262/#sec-setintegritylevel + +var x = [10]; +var visited = []; + +var proxy = new Proxy(x, { + preventExtensions() { + visited.push("proxy_preventExtensions"); + return false; + } +}); + +var exception; +try { + visited.push("before_seal"); + Object.seal(proxy); + visited.push("after_seal"); +} catch (e) { + visited.push("catch"); + exception = e; +} + +var exceptionStr = "" + exception; +if (!exceptionStr.startsWith("TypeError:")) + throw "Did not throw expected TypeError"; + +if (visited != "before_seal,proxy_preventExtensions,catch") + throw "ERROR: visited = " + visited; diff --git a/implementation-contributed/javascriptcore/stress/object-spread.js b/implementation-contributed/javascriptcore/stress/object-spread.js new file mode 100644 index 0000000000..abf8f4c0ff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-spread.js @@ -0,0 +1,313 @@ +let assert = (a) => { + if (!a) + throw new Error("Bad Assertion"); +} + +assert.sameValue = (a, b) => { + assert(a === b); +} + +function validatePropertyDescriptor(o, p) { + let desc = Object.getOwnPropertyDescriptor(o, p); + + assert(desc.enumerable); + assert(desc.configurable); + assert(desc.writable); +} + +// Base cases + +(() => { + let obj = {a: 1, b: 2, ...{c: 3, d: 4}}; + + assert.sameValue(obj.a, 1); + assert(obj.b, 2); + assert(obj.c, 3); + assert(obj.d, 4); + validatePropertyDescriptor(obj, "c"); + validatePropertyDescriptor(obj, "d"); + assert(Object.keys(obj), 2); +})(); + +(() => { + let o = {c: 3, d: 4}; + let obj = {a: 1, b: 2, ...o}; + + assert.sameValue(obj.a, 1); + assert.sameValue(obj.b, 2); + assert.sameValue(obj.c, 3); + assert.sameValue(obj.d, 4); + assert.sameValue(Object.keys(obj).length, 4); + + validatePropertyDescriptor(obj, "a"); + validatePropertyDescriptor(obj, "b"); + validatePropertyDescriptor(obj, "c"); + validatePropertyDescriptor(obj, "d"); +})(); + +(() => { + let o = {a: 2, b: 3}; + let o2 = {c: 4, d: 5}; + + let obj = {...o, ...o2}; + + assert.sameValue(obj.a, 2); + assert.sameValue(obj.b, 3); + assert.sameValue(obj.c, 4); + assert.sameValue(obj.d, 5); + assert.sameValue(Object.keys(obj).length, 4); +})(); + +// Empty case + +(() => { + let obj = {a: 1, b: 2, ...{}}; + + assert.sameValue(obj.a, 1); + assert.sameValue(obj.b, 2); + assert.sameValue(Object.keys(obj).length, 2); +})(); + +// Ignoring cases + +(() => { + let obj = {a: 1, ...null, b: 2, ...undefined, c: 3, ...{}, ...{...{}}, d: 4}; + + assert.sameValue(obj.a, 1); + assert.sameValue(obj.b, 2); + assert.sameValue(obj.c, 3); + assert.sameValue(obj.d, 4); + + let keys = Object.keys(obj); + assert.sameValue(keys[0], "a"); + assert.sameValue(keys[1], "b"); + assert.sameValue(keys[2], "c"); + assert.sameValue(keys[3], "d"); +})(); + +// Null case + +(() => { + let obj = {a: 1, b: 2, ...null}; + + assert.sameValue(obj.a, 1); + assert.sameValue(obj.b, 2); + assert.sameValue(Object.keys(obj).length, 2); +})(); + +(() => { + let obj = {...null}; + + assert.sameValue(Object.keys(obj).length, 0); +})(); + +// Undefined case + +(() => { + let obj = {a: 1, b: 2, ...undefined}; + + assert.sameValue(obj.a, 1); + assert.sameValue(obj.b, 2); + assert.sameValue(Object.keys(obj).length, 2); +})(); + +(() => { + let obj = {...undefined}; + + assert.sameValue(Object.keys(obj).length, 0); +})(); + +// Getter case + +(() => { + let o = { + get a() { + return 42; + } + }; + + let obj = {...o, c: 4, d: 5}; + + assert.sameValue(Object.getOwnPropertyDescriptor(obj, "a").value, 42); + assert.sameValue(obj.c, 4); + assert.sameValue(obj.d, 5); + assert.sameValue(Object.keys(obj).length, 3); + + validatePropertyDescriptor(obj, "a"); +})(); + +(() => { + let o = {a: 2, b: 3} + let executedGetter = false; + + let obj = {...o, get c() { executedGetter = true; }}; + + assert.sameValue(obj.a, 2); + assert.sameValue(obj.b, 3); + assert.sameValue(executedGetter, false) + assert.sameValue(Object.keys(obj).length, 3); +})(); + +(() => { + let getterCallCount = 0; + let o = { + get a() { + return ++getterCallCount; + } + }; + + let obj = {...o, c: 4, d: 5, a: 42, ...o}; + + assert.sameValue(obj.a, 2); + assert.sameValue(obj.c, 4); + assert.sameValue(obj.d, 5); + assert.sameValue(Object.keys(obj).length, 3); +})(); + +// Manipulate Object case + +(() => { + var o = { a: 0, b: 1 }; + var cthulhu = { get x() { + delete o.a; + o.b = 42; + o.c = "ni"; + }}; + + let obj = {...cthulhu, ...o}; + + assert.sameValue(obj.hasOwnProperty("a"), false); + assert.sameValue(obj.b, 42); + assert.sameValue(obj.c, "ni"); + assert(obj.hasOwnProperty("x")); + assert.sameValue(Object.keys(obj).length, 3); +})(); + +// Override + +(() => { + let o = {a: 2, b: 3}; + + let obj = {a: 1, b: 7, ...o}; + + assert.sameValue(obj.a, 2); + assert.sameValue(obj.b, 3); + assert.sameValue(Object.keys(obj).length, 2); + assert.sameValue(o.a, 2); + assert.sameValue(o.b, 3); +})(); + +(() => { + let o = {a: 2, b: 3, c: 4, e: undefined, f: null, g: false}; + + let obj = {...o, a: 1, b: 7, d: 5, h: -0, i: Symbol("foo"), j: o}; + + assert.sameValue(obj.a, 1); + assert.sameValue(obj.b, 7); + assert.sameValue(obj.c, 4); + assert.sameValue(obj.d, 5); + assert(obj.hasOwnProperty("e")); + assert.sameValue(obj.f, null); + assert.sameValue(obj.g, false); + assert.sameValue(obj.h, -0); + assert.sameValue(obj.i.toString(), "Symbol(foo)"); + assert(Object.is(obj.j, o)); + assert.sameValue(Object.keys(obj).length, 10); +})(); + +// Override Immutable + +(() => { + let o = {b: 2}; + Object.defineProperty(o, "a", {value: 1, enumerable: true, writable: false, configurable: true}); + + let obj = {...o, a: 3}; + + assert.sameValue(obj.a, 3) + assert.sameValue(obj.b, 2); + validatePropertyDescriptor(obj, "a"); + validatePropertyDescriptor(obj, "b"); +})(); + +// Setter + +(() => { + let executedSetter = false; + + let obj = {set c(v) { executedSetter = true; }, ...{c: 1}}; + + assert.sameValue(obj.c, 1); + assert.sameValue(executedSetter, false); + assert.sameValue(Object.keys(obj).length, 1); +})(); + +// Skip non-enumerble + +(() => { + let o = {}; + Object.defineProperty(o, "b", {value: 3, enumerable: false}); + + let obj = {...o}; + + assert.sameValue(obj.hasOwnProperty("b"), false) + assert.sameValue(Object.keys(obj).length, 0); +})(); + +// Spread order + +(() => { + var calls = [] + var o = { get z() { calls.push('z') }, get a() { calls.push('a') } }; + Object.defineProperty(o, 1, { get: () => { calls.push(1) }, enumerable: true }); + Object.defineProperty(o, Symbol('foo'), { get: () => { calls.push("Symbol(foo)") }, enumerable: true }); + + let obj = {...o}; + + assert.sameValue(calls[0], 1); + assert.sameValue(calls[1], "z"); + assert.sameValue(calls[2], "a"); + assert.sameValue(calls[3], "Symbol(foo)"); + assert.sameValue(Object.keys(obj).length, 3); +})(); + +// Symbol property +(() => { + let symbol = Symbol('foo'); + let o = {}; + o[symbol] = 1; + + let obj = {...o, c: 4, d: 5}; + + assert.sameValue(obj[symbol], 1); + assert.sameValue(obj.c, 4); + assert.sameValue(obj.d, 5); + assert.sameValue(Object.keys(obj).length, 2); +})(); + +// Getter throw + +(() => { + try { + let obj = {...{ get foo() { throw new Error("Getter Exception"); } }}; + assert(false); + } catch(e) { + assert.sameValue(e.message, "Getter Exception"); + } +})(); + +// Spread overrides properties + +(() => { + var calls = [] + var o = { a: 1, b: 2 }; + + let executedGetter = false; + let executedSetter = false + let obj = {get a() {executedGetter = true; return this_a;}, ...o, set a(v) { executedSetter = true; this._a = v}}; + + obj.a = 3 + assert.sameValue(obj.a, undefined); + assert(!executedGetter); + assert(executedSetter); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/object-sub.js b/implementation-contributed/javascriptcore/stress/object-sub.js new file mode 100644 index 0000000000..69a14ad30b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-sub.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a - b; +} + +noInline(foo); + +var things = [{valueOf: function() { return 4; }}]; +var results = [3]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-toString-with-proxy.js b/implementation-contributed/javascriptcore/stress/object-toString-with-proxy.js new file mode 100644 index 0000000000..2351d6ee0a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-toString-with-proxy.js @@ -0,0 +1,29 @@ +var createProxy = $vm.createProxy; + +let foo = {}; +let properties = []; +let p = new Proxy(foo, { get:(target, property) => { + properties.push(property.toString()); + if (property === Symbol.toStringTag) + return "bad things"; + return target[property]; +}}); + +for (i = 0; i < 5; i++) { + if (p != "[object bad things]") + throw new Error("bad toString result."); + + if (properties[0] !== "Symbol(Symbol.toPrimitive)" || properties[1] !== "valueOf" || properties[2] !== "toString" || properties[3] !== "Symbol(Symbol.toStringTag)") + throw new Error("bad property accesses."); + + properties = []; +} + +p = createProxy(foo); + +for (i = 0; i < 5; i++) { + let str = "bad things" + i; + foo[Symbol.toStringTag] = str; + if (p != "[object " + str + "]") + throw new Error("bad toString result."); +} diff --git a/implementation-contributed/javascriptcore/stress/object-urshift.js b/implementation-contributed/javascriptcore/stress/object-urshift.js new file mode 100644 index 0000000000..8517cc15f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-urshift.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a >>> b; +} + +noInline(foo); + +var things = [{valueOf: function() { return -4; }}]; +var results = [2147483646]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/object-values-changing-properties.js b/implementation-contributed/javascriptcore/stress/object-values-changing-properties.js new file mode 100644 index 0000000000..8697efd8da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-values-changing-properties.js @@ -0,0 +1,96 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let source = { + get x() { + delete this.y; + return 42; + }, + y: 42 + }; + let result = Object.values(source); + shouldBe(result.length, 1); + shouldBe(result[0], 42); +} + +{ + let source = Object.defineProperties({}, { + nonEnumerable: { + enumerable: false, + value: 42 + } + }); + + let result = Object.values(source); + shouldBe(result.length, 0); +} + +{ + let order = []; + let target = {x: 20, y:42}; + let handler = { + getOwnPropertyDescriptor(theTarget, propName) + { + order.push(`getOwnPropertyDescriptor ${propName}`); + return { + enumerable: true, + configurable: true, + value: 42 + }; + }, + get(theTarget, propName, receiver) + { + order.push(`get ${propName}`); + return 20; + } + }; + + let proxy = new Proxy(target, handler); + let result = Object.values(proxy); + shouldBe(result.length, 2); + shouldBe(result[0], 20); + shouldBe(result[1], 20); + shouldBe(order.join(','), `getOwnPropertyDescriptor x,get x,getOwnPropertyDescriptor y,get y`); +} + +{ + let order = []; + let target = Object.defineProperties({}, { + x: { + enumerable: false, + configurable: true, + value: 20 + }, + y: { + enumerable: false, + configurable: true, + value: 42 + } + }); + + let handler = { + getOwnPropertyDescriptor(theTarget, propName) + { + order.push(`getOwnPropertyDescriptor ${propName}`); + return { + enumerable: false, + configurable: true, + value: 42 + }; + }, + get(theTarget, propName, receiver) + { + order.push(`get ${propName}`); + return 42; + } + }; + + let proxy = new Proxy(target, handler); + let result = Object.values(proxy); + shouldBe(result.length, 0); + shouldBe(order.join(','), `getOwnPropertyDescriptor x,getOwnPropertyDescriptor y`); +} diff --git a/implementation-contributed/javascriptcore/stress/object-values.js b/implementation-contributed/javascriptcore/stress/object-values.js new file mode 100644 index 0000000000..0515d069c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/object-values.js @@ -0,0 +1,113 @@ +var obj = Object.create({ a: "qux", d: "qux" }); +obj.a = "foo"; obj.b = "bar"; obj.c = "baz"; +var values = Object.values(obj); +var passed = Array.isArray(values) && String(values) === "foo,bar,baz"; + +if (!passed) + throw new Error("Object.values return wrong result."); + +var complexObject = { + obj : { + a: 'x', + b: 'y' + }, + primitive : 'z' +}; + +passed = false; +values = Object.values(complexObject); + +passed = values.length === 2 && values[0].a === 'x' && values[0].b === 'y' && values[1] === 'z'; + +if (!passed) + throw new Error("Object.values return wrong result."); + +values = Object.values({ a: 'abcdef' }); + +passed = values.length === 1 && values[0] === 'abcdef'; + +if (!passed) + throw new Error("Object.values return wrong result."); + +var primitives = [ + ["string", ['s', 't', 'r', 'i', 'n', 'g']], + [42, []], + [Symbol("symbol"), []], + [true, []], + [false, []] +]; + +function compare(ax, bx) { + if (ax.length !== bx.length) + return false; + for (var i = 0, iz = ax.length; i < iz; ++i) { + if (ax[i] !== bx[i]) + return false; + } + return true; +} + +for (var [primitive, expected] of primitives) { + var ret = Object.values(primitive); + if (!compare(ret, expected)) + throw new Error("bad value for " + String(primitive) + ": " + String(ret)); +} + +[ + [ null, "TypeError: Object.values requires that input parameter not be null or undefined" ], + [ undefined, "TypeError: Object.values requires that input parameter not be null or undefined" ] +].forEach(function ([value, message]) { + var error = null; + try { + Object.values(value); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +}); + +const getInvokedFunctions = (obj) => { + let arr = [] + let p = new Proxy(obj, { + ownKeys: function(...args) { + arr.push("ownKeys"); + return Reflect.ownKeys(...args); + }, + getOwnPropertyDescriptor: function(...args) { + arr.push("getOwnPropertyDescriptor"); + return Reflect.getOwnPropertyDescriptor(...args); + } + }); + + Object.values(p); + return arr; +}; + +const arr1 = getInvokedFunctions({}); +passed = arr1.length === 1 && arr1[0] === "ownKeys"; + +if (!passed) + throw new Error("Object.values should invoke ownkeys."); + +const arr2 = getInvokedFunctions({a:'foo', b:'boo'}); +passed = arr2.length === 3 && arr2[0] === "ownKeys"; + +if (!passed) + throw new Error("Object.values should invoke ownkeys."); + +passed = arr2[1] === "getOwnPropertyDescriptor"; + +if (!passed) + throw new Error("Object.values should get property descriptor."); + +Array.prototype.push = function () { throw new Error("Array.prototype.push should not be used during invoking of Object.values.")}; +Object.getOwnPropertyDescriptor = function () { throw new Error("Array.prototype.getOwnPropertyDescriptor should not be used during invoking of Object.values.")}; + +values = Object.values({a:'1-2', b:'3-4'}); +passed = Array.isArray(values) && String(values) === "1-2,3-4"; + +if (!passed) + throw new Error("Object.values return wrong result."); \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/obscure-error-message-dont-crash.js b/implementation-contributed/javascriptcore/stress/obscure-error-message-dont-crash.js new file mode 100644 index 0000000000..84a4cd24d8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/obscure-error-message-dont-crash.js @@ -0,0 +1,13 @@ +//@ runNoFTL + +let success = false; +try { + eval(`or ([[{break //comment + [[{aFY sga= + [[{a=Yth FunctionRY&=Ylet 'a'}V a`) +} catch(e) { + success = e.toString() === "SyntaxError: Unexpected token '//'. Expected a ':' following the property name 'break'."; +} + +if (!success) + throw new Error("Bad result") diff --git a/implementation-contributed/javascriptcore/stress/obviously-elidable-new-object-then-exit.js b/implementation-contributed/javascriptcore/stress/obviously-elidable-new-object-then-exit.js new file mode 100644 index 0000000000..faa5449ceb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/obviously-elidable-new-object-then-exit.js @@ -0,0 +1,23 @@ +function sumOfArithSeries(limit) { + return limit * (limit + 1) / 2; +} + +var n = 10000000; + +var array = [1, "hello"]; + +function foo() { + var result = 0; + var q; + for (var i = 0; i < n; ++i) { + var o = {f: i}; + var p = {f: i + 1}; + q = array[(i >= n - 100) | 0] + 1; + result += o.f + p.f; + } + return q + result; +} + +var result = foo(); +if (result != "hello" + 1 + (sumOfArithSeries(n - 1) + sumOfArithSeries(n))) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/op-add-exceptions.js b/implementation-contributed/javascriptcore/stress/op-add-exceptions.js new file mode 100644 index 0000000000..fc1ccd6c69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op-add-exceptions.js @@ -0,0 +1,79 @@ +function assert(b) { + if (!b) + throw new Error("Bad!"); +} +noInline(assert); + +function f1() { return "f1"; } +noInline(f1); +function f2() { return "f2"; } +noInline(f2); +function f3() { return "f3"; } +noInline(f3); + +let oException = { + valueOf() { throw new Error(""); } +}; + +function foo(arg1, arg2) { + let a = f1(); + let b = f2(); + let c = f3(); + try { + arg1 + arg2; + } catch(e) { + assert(arg1 === oException); + assert(arg2 === oException); + } + assert(a === "f1"); + assert(b === "f2"); + assert(c === "f3"); +} +noInline(foo); + +for (let i = 0; i < 1000; i++) { + foo(i, {}); + foo({}, i); +} +foo(oException, oException); +for (let i = 0; i < 10000; i++) { + foo(i, {}); + foo({}, i); +} +foo(oException, oException); + + +function ident(x) { return x; } +noInline(ident); + +function bar(arg1, arg2) { + let a = f1(); + let b = f2(); + let c = f3(); + let x = ident(arg1); + let y = ident(arg2); + + try { + arg1 + arg2; + } catch(e) { + assert(arg1 === oException); + assert(arg2 === oException); + assert(x === oException); + assert(y === oException); + } + assert(a === "f1"); + assert(b === "f2"); + assert(c === "f3"); +} +noInline(bar); + +for (let i = 0; i < 1000; i++) { + bar(i, {}); + bar({}, i); +} +bar(oException, oException); +for (let i = 0; i < 10000; i++) { + bar(i, {}); + bar({}, i); +} +bar(oException, oException); diff --git a/implementation-contributed/javascriptcore/stress/op-negate-inline-cache.js b/implementation-contributed/javascriptcore/stress/op-negate-inline-cache.js new file mode 100644 index 0000000000..7c54058dec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op-negate-inline-cache.js @@ -0,0 +1,300 @@ +"use strict" + + +function opaqueIdentity(arg) { + return arg; +} +noInline(opaqueIdentity) +function negateWithDoubleSub(arg) { + // Implement integer negate as a double sub operation. + return opaqueIdentity(6.4 - arg) - 6.4; +} +noInline(negateWithDoubleSub) + +function opaqueNonZeroIntegerNegate(arg) +{ + return -arg; +} +noInline(opaqueNonZeroIntegerNegate); + +function testNonZeroInteger() +{ + for (let i = 1; i < 1e4; ++i) { + if (opaqueNonZeroIntegerNegate(i) !== negateWithDoubleSub(i)) { + throw "Failed testNonZeroInteger() at i = " + i; + } + } +} +testNonZeroInteger(); + + +function opaqueDoubleNegate(arg) +{ + return -arg; +} +noInline(opaqueDoubleNegate); + +function testDouble() +{ + for (let i = 0; i < 1e4; ++i) { + if ((opaqueDoubleNegate(i + 0.5)) + 0.5 + i !== 0) { + throw "Failed testDouble() at i = " + i; + } + } +} +testDouble(); + + +function opaqueObjectNegate(arg) +{ + return -arg; +} +noInline(opaqueObjectNegate); + +function testObject() +{ + for (let i = 0; i < 1e4; ++i) { + if ((opaqueObjectNegate({ valueOf: ()=>{ return i + 0.5 }})) + 0.5 + i !== 0) { + throw "Failed testObject() at i = " + i; + } + } +} +testObject(); + + +function opaqueIntegerAndDoubleNegate(arg) +{ + return -arg; +} +noInline(opaqueIntegerAndDoubleNegate); + +function testIntegerAndDouble() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerAndDoubleNegate(i)) + i !== 0) { + throw "Failed testIntegerAndDouble() on integers at i = " + i; + } + if ((opaqueIntegerAndDoubleNegate(i + 0.5)) + 0.5 + i !== 0) { + throw "Failed testIntegerAndDouble() on double at i = " + i; + } + } +} +testIntegerAndDouble(); + + +function opaqueIntegerThenDoubleNegate(arg) +{ + return -arg; +} +noInline(opaqueIntegerThenDoubleNegate); + +function testIntegerThenDouble() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerThenDoubleNegate(i)) + i !== 0) { + throw "Failed testIntegerThenDouble() on integers at i = " + i; + } + } + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerThenDoubleNegate(i + 0.5)) + 0.5 + i !== 0) { + throw "Failed testIntegerThenDouble() on double at i = " + i; + } + } +} +testIntegerThenDouble(); + + +function opaqueDoubleThenIntegerNegate(arg) +{ + return -arg; +} +noInline(opaqueDoubleThenIntegerNegate); + +function testDoubleThenInteger() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueDoubleThenIntegerNegate(i + 0.5)) + 0.5 + i !== 0) { + throw "Failed testDoubleThenInteger() on double at i = " + i; + } + } + for (let i = 1; i < 1e4; ++i) { + if ((opaqueDoubleThenIntegerNegate(i)) + i !== 0) { + throw "Failed testDoubleThenInteger() on integers at i = " + i; + } + } +} +testDoubleThenInteger(); + + +function opaqueIntegerAndObjectNegate(arg) +{ + return -arg; +} +noInline(opaqueIntegerAndObjectNegate); + +function testIntegerAndObject() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerAndObjectNegate(i)) + i !== 0) { + throw "Failed testIntegerAndObject() on integers at i = " + i; + } + if ((opaqueIntegerAndObjectNegate({ valueOf: ()=>{ return i + 0.5 }})) + 0.5 + i !== 0) { + throw "Failed testIntegerAndObject() on double at i = " + i; + } + } +} +testIntegerAndObject(); + + +function opaqueDoubleAndObjectNegate(arg) +{ + return -arg; +} +noInline(opaqueDoubleAndObjectNegate); + +function testDoubleAndObject() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueDoubleAndObjectNegate(i + 0.5)) + i + 0.5 !== 0) { + throw "Failed testDoubleAndObject() on integers at i = " + i; + } + if ((opaqueDoubleAndObjectNegate({ valueOf: ()=>{ return i }})) + i !== 0) { + throw "Failed testDoubleAndObject() on double at i = " + i; + } + } +} +testDoubleAndObject(); + + +function opaqueIntegerThenObjectNegate(arg) +{ + return -arg; +} +noInline(opaqueIntegerThenObjectNegate); + +function testIntegerThenObject() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerThenObjectNegate(i)) + i !== 0) { + throw "Failed testIntegerThenObject() on integers at i = " + i; + } + } + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerThenObjectNegate({ valueOf: ()=>{ return i + 0.5 }})) + 0.5 + i !== 0) { + throw "Failed testIntegerThenObject() on double at i = " + i; + } + } +} +testIntegerThenObject(); + + +function opaqueDoubleThenObjectNegate(arg) +{ + return -arg; +} +noInline(opaqueDoubleThenObjectNegate); + +function testDoubleThenObject() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueDoubleThenObjectNegate(i + 0.5)) + i + 0.5 !== 0) { + throw "Failed testDoubleThenObject() on integers at i = " + i; + } + } + for (let i = 1; i < 1e4; ++i) { + if ((opaqueDoubleThenObjectNegate(i + 0.5)) + i + 0.5 !== 0) { + throw "Failed testDoubleThenObject() on integers at i = " + i; + } + } +} +testDoubleThenObject(); + + +function opaqueIntegerAndDoubleAndObjectNegate(arg) +{ + return -arg; +} +noInline(opaqueIntegerAndDoubleAndObjectNegate); + +function testIntegerAndDoubleAndObject() +{ + for (let i = 1; i < 1e4; ++i) { + if ((opaqueIntegerAndDoubleAndObjectNegate(i)) + i !== 0) { + throw "Failed testIntegerAndDoubleAndObject() on integers at i = " + i; + } + if ((opaqueIntegerAndDoubleAndObjectNegate(i + 0.5)) + i + 0.5 !== 0) { + throw "Failed testIntegerAndDoubleAndObject() on integers at i = " + i; + } + if ((opaqueIntegerAndDoubleAndObjectNegate({ valueOf: ()=>{ return i }})) + i !== 0) { + throw "Failed testIntegerAndDoubleAndObject() on double at i = " + i; + } + } +} +testIntegerAndDoubleAndObject(); + + +function opaqueIntegerNegateOverflow(arg) +{ + return -arg; +} +noInline(opaqueIntegerNegateOverflow); + +function testIntegerNegateOverflow() +{ + for (let i = 1; i < 1e4; ++i) { + if (opaqueIntegerNegateOverflow(0x80000000|0) !== 2147483648) { + throw "Failed opaqueIntegerNegateOverflow() at i = " + i; + } + } +} +testIntegerNegateOverflow(); + + +function opaqueIntegerNegateZero(arg) +{ + return -arg; +} +noInline(opaqueIntegerNegateZero); + +function testIntegerNegateZero() +{ + for (let i = 1; i < 1e4; ++i) { + if (1 / opaqueIntegerNegateZero(0) !== -Infinity) { + throw "Failed testIntegerNegateZero() at i = " + i; + } + } +} +testIntegerNegateZero(); + + +function gatedNegate(selector, arg) +{ + if (selector === 0) { + return -arg; + } + if (selector == 42) { + return -arg; + } + return arg; +} +noInline(gatedNegate); + +function testUnusedNegate() +{ + for (let i = 1; i < 1e2; ++i) { + if (gatedNegate(Math.PI, i) !== i) { + throw "Failed first phase of testUnusedNegate"; + } + } + for (let i = 1; i < 1e4; ++i) { + if (gatedNegate(0, i) + i !== 0) { + throw "Failed second phase of testUnusedNegate"; + } + } + for (let i = 1; i < 1e4; ++i) { + if (gatedNegate(42, i + 0.5) + 0.5 + i !== 0) { + throw "Failed third phase of testUnusedNegate"; + } + } +} +testUnusedNegate(); diff --git a/implementation-contributed/javascriptcore/stress/op-push-name-scope-crashes-profiler.js b/implementation-contributed/javascriptcore/stress/op-push-name-scope-crashes-profiler.js new file mode 100644 index 0000000000..a7a8e1d195 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op-push-name-scope-crashes-profiler.js @@ -0,0 +1,17 @@ +//@ runProfiler +function test() { + (function functionName() { + ++counter; + if (!arguments[0]) + return; + eval("functionName(arguments[0] - 1, functionName, '' + functionName);"); + })(arguments[0]); +} + +for (var i = 0; i < 1000; ++i) { + counter = 0; + test(100); + if (counter !== 101) { + throw "Oops, test(100) = " + test(100) + ", expected 101."; + } +} diff --git a/implementation-contributed/javascriptcore/stress/op_add.js b/implementation-contributed/javascriptcore/stress/op_add.js new file mode 100644 index 0000000000..6b613fb666 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_add.js @@ -0,0 +1,63 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "add"; +var op = "+"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', +]; + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); +generateBinaryTests(tests, opName, op, "VarConst", values, values); +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_bitand.js b/implementation-contributed/javascriptcore/stress/op_bitand.js new file mode 100644 index 0000000000..b8d93e96d8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_bitand.js @@ -0,0 +1,69 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "bitand"; +var op = "&"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7fffffff', + '-0x7fffffff', + '0xa5a5a5a5', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x7fffffff"', + '"-0x7fffffff"', + '"0xa5a5a5a5"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); +generateBinaryTests(tests, opName, op, "VarConst", values, values); +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_bitor.js b/implementation-contributed/javascriptcore/stress/op_bitor.js new file mode 100644 index 0000000000..6ddcad8b70 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_bitor.js @@ -0,0 +1,69 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "bitor"; +var op = "|"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7fffffff', + '-0x7fffffff', + '0xa5a5a5a5', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x7fffffff"', + '"-0x7fffffff"', + '"0xa5a5a5a5"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); +generateBinaryTests(tests, opName, op, "VarConst", values, values); +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_bitxor.js b/implementation-contributed/javascriptcore/stress/op_bitxor.js new file mode 100644 index 0000000000..a6285bc7ba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_bitxor.js @@ -0,0 +1,69 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "bitxor"; +var op = "^"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7fffffff', + '-0x7fffffff', + '0xa5a5a5a5', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x7fffffff"', + '"-0x7fffffff"', + '"0xa5a5a5a5"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); +generateBinaryTests(tests, opName, op, "VarConst", values, values); +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_div-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_div-ConstVar.js new file mode 100644 index 0000000000..7dc565cb13 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_div-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--timeoutMultiplier=2.0") + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "div"; +var op = "/"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_div-VarConst.js b/implementation-contributed/javascriptcore/stress/op_div-VarConst.js new file mode 100644 index 0000000000..72eb2b5237 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_div-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--timeoutMultiplier=2.0") + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "div"; +var op = "/"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_div-VarVar.js b/implementation-contributed/javascriptcore/stress/op_div-VarVar.js new file mode 100644 index 0000000000..05fd85f071 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_div-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--timeoutMultiplier=2.0") + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "div"; +var op = "/"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_lshift-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_lshift-ConstVar.js new file mode 100644 index 0000000000..c0b3994c59 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_lshift-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "lshift"; +var op = "<<"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_lshift-VarConst.js b/implementation-contributed/javascriptcore/stress/op_lshift-VarConst.js new file mode 100644 index 0000000000..0e32ba692f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_lshift-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "lshift"; +var op = "<<"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_lshift-VarVar.js b/implementation-contributed/javascriptcore/stress/op_lshift-VarVar.js new file mode 100644 index 0000000000..87349b8fe4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_lshift-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "lshift"; +var op = "<<"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_mod-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_mod-ConstVar.js new file mode 100644 index 0000000000..489188ced1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_mod-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--timeoutMultiplier=1.5") + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "mod"; +var op = "%"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_mod-VarConst.js b/implementation-contributed/javascriptcore/stress/op_mod-VarConst.js new file mode 100644 index 0000000000..f03a4d404a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_mod-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--timeoutMultiplier=1.5") + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "mod"; +var op = "%"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_mod-VarVar.js b/implementation-contributed/javascriptcore/stress/op_mod-VarVar.js new file mode 100644 index 0000000000..13436a97e2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_mod-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT("--timeoutMultiplier=1.5") + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "mod"; +var op = "%"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_mul-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_mul-ConstVar.js new file mode 100644 index 0000000000..c7fc287496 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_mul-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "mul"; +var op = "*"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_mul-VarConst.js b/implementation-contributed/javascriptcore/stress/op_mul-VarConst.js new file mode 100644 index 0000000000..74b10e7799 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_mul-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "mul"; +var op = "*"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_mul-VarVar.js b/implementation-contributed/javascriptcore/stress/op_mul-VarVar.js new file mode 100644 index 0000000000..27bfcdaf5a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_mul-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "mul"; +var op = "*"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_negate.js b/implementation-contributed/javascriptcore/stress/op_negate.js new file mode 100644 index 0000000000..d98f04dbc7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_negate.js @@ -0,0 +1,75 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See unary-op-test.js for debugging options if needed. + +load("./resources/unary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "negate"; +var op = "-"; +var operatorType = "Prefix"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x80000000', + '-0x80000000', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x3fff"', + '"-0x3fff"', + '"0x7fff"', + '"-0x7fff"', + '"0x10000"', + '"-0x10000"', + '"0x7ffffff"', + '"-0x7ffffff"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, operatorType, "ImmediateResult", op, values); +generateBinaryTests(tests, opName, operatorType, "PostResult", op, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_postdec.js b/implementation-contributed/javascriptcore/stress/op_postdec.js new file mode 100644 index 0000000000..b2e1fa7297 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_postdec.js @@ -0,0 +1,75 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See unary-op-test.js for debugging options if needed. + +load("./resources/unary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "postdec"; +var op = "--"; +var operatorType = "Postfix"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x80000000', + '-0x80000000', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x3fff"', + '"-0x3fff"', + '"0x7fff"', + '"-0x7fff"', + '"0x10000"', + '"-0x10000"', + '"0x7ffffff"', + '"-0x7ffffff"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, operatorType, "ImmediateResult", op, values); +generateBinaryTests(tests, opName, operatorType, "PostResult", op, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_postinc.js b/implementation-contributed/javascriptcore/stress/op_postinc.js new file mode 100644 index 0000000000..08aa35d9d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_postinc.js @@ -0,0 +1,75 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See unary-op-test.js for debugging options if needed. + +load("./resources/unary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "postinc"; +var op = "++"; +var operatorType = "Postfix"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x80000000', + '-0x80000000', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x3fff"', + '"-0x3fff"', + '"0x7fff"', + '"-0x7fff"', + '"0x10000"', + '"-0x10000"', + '"0x7ffffff"', + '"-0x7ffffff"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, operatorType, "ImmediateResult", op, values); +generateBinaryTests(tests, opName, operatorType, "PostResult", op, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_predec.js b/implementation-contributed/javascriptcore/stress/op_predec.js new file mode 100644 index 0000000000..b8c65627eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_predec.js @@ -0,0 +1,75 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See unary-op-test.js for debugging options if needed. + +load("./resources/unary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "predec"; +var op = "--"; +var operatorType = "Prefix"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x80000000', + '-0x80000000', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x3fff"', + '"-0x3fff"', + '"0x7fff"', + '"-0x7fff"', + '"0x10000"', + '"-0x10000"', + '"0x7ffffff"', + '"-0x7ffffff"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, operatorType, "ImmediateResult", op, values); +generateBinaryTests(tests, opName, operatorType, "PostResult", op, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_preinc.js b/implementation-contributed/javascriptcore/stress/op_preinc.js new file mode 100644 index 0000000000..22fb6ee618 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_preinc.js @@ -0,0 +1,75 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See unary-op-test.js for debugging options if needed. + +load("./resources/unary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "preinc"; +var op = "++"; +var operatorType = "Prefix"; + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x80000000', + '-0x80000000', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"0x3fff"', + '"-0x3fff"', + '"0x7fff"', + '"-0x7fff"', + '"0x10000"', + '"-0x10000"', + '"0x7ffffff"', + '"-0x7ffffff"', + '"0x100000000"', + '"-0x100000000"', +]; + +tests = []; +generateBinaryTests(tests, opName, operatorType, "ImmediateResult", op, values); +generateBinaryTests(tests, opName, operatorType, "PostResult", op, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_rshift-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_rshift-ConstVar.js new file mode 100644 index 0000000000..f05993149b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_rshift-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "rshift"; +var op = ">>"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_rshift-VarConst.js b/implementation-contributed/javascriptcore/stress/op_rshift-VarConst.js new file mode 100644 index 0000000000..100cd9bad5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_rshift-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "rshift"; +var op = ">>"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_rshift-VarVar.js b/implementation-contributed/javascriptcore/stress/op_rshift-VarVar.js new file mode 100644 index 0000000000..116660d581 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_rshift-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "rshift"; +var op = ">>"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_sub-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_sub-ConstVar.js new file mode 100644 index 0000000000..75bbd5be82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_sub-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "sub"; +var op = "-"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_sub-VarConst.js b/implementation-contributed/javascriptcore/stress/op_sub-VarConst.js new file mode 100644 index 0000000000..a61190a79f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_sub-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "sub"; +var op = "-"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_sub-VarVar.js b/implementation-contributed/javascriptcore/stress/op_sub-VarVar.js new file mode 100644 index 0000000000..629e80bbf1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_sub-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "sub"; +var op = "-"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_urshift-ConstVar.js b/implementation-contributed/javascriptcore/stress/op_urshift-ConstVar.js new file mode 100644 index 0000000000..fdee0be6e9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_urshift-ConstVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "urshift"; +var op = ">>>"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "ConstVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_urshift-VarConst.js b/implementation-contributed/javascriptcore/stress/op_urshift-VarConst.js new file mode 100644 index 0000000000..8b4acedabb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_urshift-VarConst.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "urshift"; +var op = ">>>"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarConst", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/op_urshift-VarVar.js b/implementation-contributed/javascriptcore/stress/op_urshift-VarVar.js new file mode 100644 index 0000000000..cb14aedf5f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/op_urshift-VarVar.js @@ -0,0 +1,19 @@ +//@ runFTLNoCJIT + +// If all goes well, this test module will terminate silently. If not, it will print +// errors. See binary-op-test.js for debugging options if needed. + +load("./resources/binary-op-test.js"); + +//============================================================================ +// Test configuration data: + +var opName = "urshift"; +var op = ">>>"; + +load("./resources/binary-op-values.js"); + +tests = []; +generateBinaryTests(tests, opName, op, "VarVar", values, values); + +run(); diff --git a/implementation-contributed/javascriptcore/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js b/implementation-contributed/javascriptcore/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js new file mode 100644 index 0000000000..d9e24c36df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-get-by-val-default-should-not-called-for-already-optimized-site.js @@ -0,0 +1,12 @@ +function hello(object, name) +{ + return object[name]; +} +noInline(hello); +for (var i = 0; i < 100; ++i) + hello([0,1,2,3], 1); +hello([0.1,0.2,0.3,0.4], 1); +hello('string', 1); +hello('string', 1); +hello([true, false, true, false], 1); +hello([true, false, true, false], 1); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-array-storage.js b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-array-storage.js new file mode 100644 index 0000000000..986b922f2c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-array-storage.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var k = -1; +var o1 = [20]; +o1[k] = 42; +ensureArrayStorage(o1); + +function test1(o) +{ + return k in o; +} +noInline(test1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1), true); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-contiguous-array.js b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-contiguous-array.js new file mode 100644 index 0000000000..e574ba7fcc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-contiguous-array.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var k = -1; +var o1 = ["Cocoa"]; +o1[k] = 42; + +function test1(o) +{ + return k in o; +} +noInline(test1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1), true); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-double-array.js b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-double-array.js new file mode 100644 index 0000000000..130141876a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-double-array.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var k = -1; +var o1 = [42.5]; +o1[k] = 300.2; + +function test1(o) +{ + return k in o; +} +noInline(test1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1), true); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-generic-array.js b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-generic-array.js new file mode 100644 index 0000000000..75fb26304d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-generic-array.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var k = -1; +var o1 = []; +o1[k] = 42; + +function test1(o) +{ + return k in o; +} +noInline(test1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1), true); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-int32-array.js b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-int32-array.js new file mode 100644 index 0000000000..52d6da98d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32-int32-array.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var k = -1; +var o1 = [20]; +o1[k] = 42; + +function test1(o) +{ + return k in o; +} +noInline(test1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1), true); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32.js b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32.js new file mode 100644 index 0000000000..f54b2ee232 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-may-have-negative-int32.js @@ -0,0 +1,32 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var k = -1; +var o1 = {}; +o1[k] = true; +var o2 = {}; + +function test1(o) +{ + return k in o; +} +noInline(test1); + +function test2(o) +{ + return k in o; +} +noInline(test2); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1), true); +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o2), false); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test2(o2), false); +for (var i = 0; i < 1e6; ++i) + shouldBe(test2(o1), true); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-negative-int32-cast.js b/implementation-contributed/javascriptcore/stress/operation-in-negative-int32-cast.js new file mode 100644 index 0000000000..685245c415 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-negative-int32-cast.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var INT32_MIN = -2147483648; +var INT32_MIN_IN_UINT32 = 0x80000000; +var o1 = []; +o1[INT32_MIN_IN_UINT32] = true; +ensureArrayStorage(o1); + +function test1(o, key) +{ + return key in o; +} +noInline(test1); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test1(o1, INT32_MIN), false); diff --git a/implementation-contributed/javascriptcore/stress/operation-in-throw-error.js b/implementation-contributed/javascriptcore/stress/operation-in-throw-error.js new file mode 100644 index 0000000000..63a3d024ef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/operation-in-throw-error.js @@ -0,0 +1,28 @@ +(function testCase() { + var target = {}; + var handler = { + has: function (target, name) { + if (name === 'ng') + throw new Error('ng'); + return false; + } + }; + var proxy = new Proxy(target, handler); + var base = { + __proto__: proxy + }; + (function a() { + var thrown; + for (var i = 0; i < 1e4; ++i) { + thrown = null; + try { + 'ng' in base; + } catch (e) { + thrown = e; + } + + if (thrown === null) + throw new Error(`not thrown ${i}`); + } + }()); +}()); diff --git a/implementation-contributed/javascriptcore/stress/optional-catch-binding-syntax.js b/implementation-contributed/javascriptcore/stress/optional-catch-binding-syntax.js new file mode 100644 index 0000000000..f4b9854062 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/optional-catch-binding-syntax.js @@ -0,0 +1,30 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax(`try { } catch { }`); +testSyntax(`try { } catch { } finally { }`); +testSyntaxError(`try { } catch { { }`, `SyntaxError: Unexpected end of script`); +testSyntaxError(`try { } catch () { }`, `SyntaxError: Unexpected token ')'. Expected a parameter pattern or a ')' in parameter list.`); +testSyntaxError(`try { } catch }`, `SyntaxError: Unexpected token '}'. Expected '(' to start a 'catch' target.`); +testSyntaxError(`try { } catch {`, `SyntaxError: Unexpected end of script`); +testSyntaxError(`try { } catch {`, `SyntaxError: Unexpected end of script`); diff --git a/implementation-contributed/javascriptcore/stress/optional-catch-binding.js b/implementation-contributed/javascriptcore/stress/optional-catch-binding.js new file mode 100644 index 0000000000..34197530b5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/optional-catch-binding.js @@ -0,0 +1,50 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function throwException() { + throw new Error(`Cocoa`); +} + +shouldBe(function () { + try { + throwException(); + } catch { + return true; + } + return false; +}(), true); + +shouldBe(function () { + var ok = false; + try { + throwException(); + } catch { + ok = true; + return false; + } finally { + return ok; + } + return false; +}(), true); + +shouldBe(function () { + let value = 'Cocoa'; + try { + throwException(); + } catch { + let value = 'Cappuccino'; + return value; + } +}(), 'Cappuccino'); + +shouldBe(function () { + var value = 'Cocoa'; + try { + throwException(); + } catch { + let value = 'Cappuccino'; + } + return value; +}(), 'Cocoa'); diff --git a/implementation-contributed/javascriptcore/stress/ordinary-set-exceptions.js b/implementation-contributed/javascriptcore/stress/ordinary-set-exceptions.js new file mode 100644 index 0000000000..1221b864d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ordinary-set-exceptions.js @@ -0,0 +1,100 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +// 9.1.9.1 4-a +shouldThrow(function () { + 'use strict'; + var target = {}; + var handler = {}; + var proxy = new Proxy(target, handler); + shouldBe(Reflect.defineProperty(target, 'cocoa', { + writable: false, + value: 42, + }), true); + proxy.cocoa = 'NG'; +}, `TypeError: Attempted to assign to readonly property.`); + +// 9.1.9.1 4-b +(function () { + 'use strict'; + var target = {}; + var handler = {}; + var proxy = new Proxy(target, handler); + shouldBe(Reflect.defineProperty(target, 'cocoa', { + writable: false, + value: 42, + }), true); + shouldBe(Reflect.set(proxy, 'cocoa', 'NG', 'Cocoa'), false); +}()); + +// 9.1.9.1 4-d-i +shouldThrow(function () { + 'use strict'; + var target = {}; + var proxy = new Proxy(target, { + get set() + { + shouldBe(Reflect.defineProperty(receiver, 'cocoa', { + set() { } + }), true); + return undefined; + } + }); + var receiver = { __proto__: proxy }; + shouldBe(Reflect.defineProperty(target, 'cocoa', { + writable: true, + value: 42, + }), true); + receiver.cocoa = 'NG'; +}, `TypeError: Attempted to assign to readonly property.`); + +// 9.1.9.1 4-d-ii +shouldThrow(function () { + 'use strict'; + var target = {}; + var proxy = new Proxy(target, { + get set() + { + shouldBe(Reflect.defineProperty(receiver, 'cocoa', { + value: 'hello', + writable: false + }), true); + return undefined; + } + }); + var receiver = { __proto__: proxy }; + shouldBe(Reflect.defineProperty(target, 'cocoa', { + writable: true, + value: 42, + }), true); + receiver.cocoa = 'NG'; +}, `TypeError: Attempted to assign to readonly property.`); + +// 9.1.9.1 7 +shouldThrow(function () { + 'use strict'; + var target = {}; + var proxy = new Proxy(target, {}); + var receiver = { __proto__: proxy }; + shouldBe(Reflect.defineProperty(target, 'cocoa', { + get() { } + }), true); + receiver.cocoa = 'NG'; +}, `TypeError: Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/stress/osr-enter-to-catch-with-set-local-type-check-failure.js b/implementation-contributed/javascriptcore/stress/osr-enter-to-catch-with-set-local-type-check-failure.js new file mode 100644 index 0000000000..e357a2da45 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/osr-enter-to-catch-with-set-local-type-check-failure.js @@ -0,0 +1,38 @@ +let flag = true; +function foo() { + if (flag) + return 20; + return {}; +} +noInline(foo); + +let state = 0; +function e() { + if ((++state) % 25 === 0) + throw new Error(); +} +noInline(e); + +function baz() { } +noInline(baz); + +function bar() { + let x = foo(); + try { + e(); + baz(++x); + } catch(e) { + baz(++x); + } finally { + baz(x); + } +} +noInline(bar); + +for (let i = 0; i < 2000; ++i) { + bar(); +} + +flag = false; +for (let i = 0; i < 1000; ++i) + bar(); diff --git a/implementation-contributed/javascriptcore/stress/osr-exit-on-op-negate-should-no-fail-assertions.js b/implementation-contributed/javascriptcore/stress/osr-exit-on-op-negate-should-no-fail-assertions.js new file mode 100644 index 0000000000..708de6375d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/osr-exit-on-op-negate-should-no-fail-assertions.js @@ -0,0 +1,22 @@ +//@ runFTLNoCJIT +// This test passes if it does not crash or fail any assertions. + +function inlineable(x) { + return -x; +} + +function test(y) { + var results = []; + for (var j = 0; j < 300; j++) { + var k = j % y.length; + try { + results.push(inlineable(y[k])); + } catch (e) { + } + } +} +noInline(test); + +for (var i = 0; i < 1000; i++) { + test([false, -Infinity, Infinity, 0x50505050, undefined]); +} diff --git a/implementation-contributed/javascriptcore/stress/other-is-object-or-null.js b/implementation-contributed/javascriptcore/stress/other-is-object-or-null.js new file mode 100644 index 0000000000..81c0b0ae96 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/other-is-object-or-null.js @@ -0,0 +1,13 @@ +function foo(p) { + var x = p ? null : void 0; + return (typeof x) == "object"; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var p = !!(i & 1); + var result = foo(p); + if (result !== p) + throw "Error: bad result for p = " + p + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/override-map-constructor.js b/implementation-contributed/javascriptcore/stress/override-map-constructor.js new file mode 100644 index 0000000000..a5c9b4b092 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/override-map-constructor.js @@ -0,0 +1,4 @@ +// This used to crash because overriding Map as a variable, not property, would trigger a bug in getOwnPropertySlot. + +function Map() { +} diff --git a/implementation-contributed/javascriptcore/stress/pad-start-calls-repeat-character-with-double.js b/implementation-contributed/javascriptcore/stress/pad-start-calls-repeat-character-with-double.js new file mode 100644 index 0000000000..b583859ec1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pad-start-calls-repeat-character-with-double.js @@ -0,0 +1,43 @@ +function logLinesWithContext(n, context) { + let start = n - context; + let end = n + context; + for (let x = start; x <= end; ++x) { + let number = x.toString().padStart(3); + if (parseInt(number) !== x) + throw new Error("Bad result from pad start: " + number); + } +} +noInline(logLinesWithContext); + +let numbers = [ + 19,19,19,19,19,19,19,20,20,20,20,20,20,20,11,11,11,11,11,11,11,20,20,20,20, + 20,20,20,15,15,15,15,15,15,15,21,21,21,21,21,21,21,19,19,19,19,19,19,19,20, + 20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,24,24,24,24,24, + 24,24,25,25,25,25,25,25,25,11,11,11,11,11,11,11,25,25,25,25,25,25,25,15,15, + 15,15,15,15,15,25,25,25,25,25,25,25,7,7,7,7,7,7,7,26,26,26,26,26,26,26,24, + 24,24,24,24,24,24,25,25,25,25,25,25,25,11,11,11,11,11,11,11,25,25,25,25,25, + 25,25,26,26,26,26,26,26,26,24,24,24,24,24,24,24,25,25,25,25,25,25,25,11,11, + 11,11,11,11,11,12,12,12,12,12,12,12,25,25,25,25,25,25,25,15,15,15,15,15,15, + 15,16,16,16,16,16,16,16,25,25,25,25,25,25,25,7,7,7,7,7,7,7,8,8,8,8,8,8,8, + 26,26,26,26,26,26,26,24,24,24,24,24,24,24,25,25,25,25,25,25,25,11,11,11,11, + 11,11,11,12,12,12,12,12,12,12,25,25,25,25,25,25,25,15,15,15,15,15,15,15,16, + 16,16,16,16,16,16,25,25,25,25,25,25,25,7,7,7,7,7,7,7,8,8,8,8,8,8,8,26,26, + 26,26,26,26,26,29,29,29,29,29,29,29,30,30,30,30,30,30,30,35,35,35,35,35,35, + 35,29,29,29,29,29,29,29,30,30,30,30,30,30,30,11,11,11,11,11,11,11,33,33,33, + 33,33,33,33,35,35,35,35,35,35,35,39,39,39,39,39,39,39,40,40,40,40,40,40,40, + 11,11,11,11,11,11,11,40,40,40,40,40,40,40,40,40,40,40,40,40,40,15,15,15,15, + 15,15,15,41,41,41,41,41,41,41,39,39,39,39,39,39,39,40,40,40,40,40,40,40,40, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, + 45,45,46,46,46,46,46,46,46,11,11,11,11,11,11,11,46,46,46,46,46,46,46,15,15, +]; + +for (let n of numbers) + logLinesWithContext(n, 3); diff --git a/implementation-contributed/javascriptcore/stress/parameter-scoping.js b/implementation-contributed/javascriptcore/stress/parameter-scoping.js new file mode 100644 index 0000000000..0fb5deb3bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/parameter-scoping.js @@ -0,0 +1,236 @@ +function assert(b) { + if (!b) + throw new Error("bad"); +} + +function test(f) { + for (let i = 0; i < 1000; i++) + f(); +} + +test(function() { + function foo(a, b) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 2); + arguments[0] = "hello"; + arguments[1] = "world"; + assert(a === "hello"); + assert(b === "world"); + } + foo(null, null); +}); + +test(function() { + function foo(a, b) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 2); + a = "hello"; + b = "world"; + assert(arguments[0] === "hello"); + assert(arguments[1] === "world"); + } + foo(null, null); +}); + +test(function() { + function foo(a, b, ...rest) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 2); + arguments[0] = "hello"; + arguments[1] = "world"; + assert(a === null); + assert(b === null); + } + foo(null, null); +}); + +test(function() { + function foo(a, b, ...rest) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 2); + a = "hello"; + b = "world"; + assert(arguments[0] === null); + assert(arguments[1] === null); + } + foo(null, null); +}); + +test(function() { + function foo(a, b, {destructure}) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 3); + arguments[0] = "hello"; + arguments[1] = "world"; + assert(a === null); + assert(b === null); + } + foo(null, null, {}); +}); + +test(function() { + function foo(a, b, {destructure}) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 3); + a = "hello"; + b = "world"; + assert(arguments[0] === null); + assert(arguments[1] === null); + } + foo(null, null, {}); +}); + +test(function() { + function foo(a, b, defaultParam = 20) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 3); + arguments[0] = "hello"; + arguments[1] = "world"; + assert(a === null); + assert(b === null); + } + foo(null, null, {}); +}); + +test(function() { + function foo(a, b, defaultParam = 20) { + assert(arguments[0] === a); + assert(arguments[1] === b); + assert(arguments.length === 3); + a = "hello"; + b = "world"; + assert(arguments[0] === null); + assert(arguments[1] === null); + } + foo(null, null, {}); +}); + +test(function() { + let obj = {} + function foo(a, b, {foo = b}) { + assert(foo === b); + assert(foo === obj); + } + foo(null, obj, {}); +}); + +test(function() { + let obj = {} + function foo(a, b, {foo = b}) { + assert(foo === b); + assert(foo === obj); + function capB() { return b; } + } + foo(null, obj, {}); +}); + +test(function() { + let obj = {} + function foo(a, b, {foo = b}) { + assert(foo === 25); + } + foo(null, obj, {foo: 25}); +}); + +test(function() { + let obj = {} + function foo(a, b, {foo = function() { return b; }}) { + assert(foo() === b); + assert(foo() === obj); + return foo; + } + let result = foo(null, obj, {}); + assert(result() === obj); +}); + +test(function() { + let obj = {} + function foo(a, b, [foo = function() { return b; }]) { + assert(foo() === b); + assert(foo() === obj); + return foo; + } + let result = foo(null, obj, [undefined]); + assert(result() === obj); +}); + +test(function() { + let obj = {} + function foo(a, b, [foo = function() { return e; }], {d = foo()}, e) { } + foo(null, obj, [], {d:null}, 20); +}); + +test(function() { + let obj = {} + function foo(a, b, [foo = function() { return e; }], {d = foo()}, e) { } + try { + foo(null, obj, [], {}, 20); + } catch(e) { + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable."); + } +}); + +test(function() { + let obj = {} + function foo(a, b, [foo = function() { return e; }], e, {d = foo()}) { + return d; + } + assert(foo(null, obj, [], 20, {}) === 20); +}); + +test(function() { + let obj = {} + function foo(a, b, [foo = function() { return e; }], e, {d = foo()}) { + var d; + assert(d === 20); + return d; + } + assert(foo(null, obj, [], 20, {}) === 20); +}); + +test(function() { + function foo(b, {a = function() { return b; }}) { + var b = 25; + assert(b === 25); + assert(a() === 20); + } + foo(20, {}); +}); + +test(function() { + function foo(b, {a = function() { return typeof inner; }}) { + let inner = 25; + assert(inner === 25); + assert(a() === "undefined"); + } + foo(20, {}); +}); + +test(function() { + let obj = {}; + let inner = obj; + function foo(b, {a = function() { return inner; }}) { + let inner = 25; + assert(inner === 25); + assert(a() === obj); + } + foo(20, {}); +}); + +test(function() { + let obj = {}; + let inner = obj; + let foo = (b, {a = function() { return inner; }}) => { + let inner = 25; + assert(inner === 25); + assert(a() === obj); + } + foo(20, {}); +}); diff --git a/implementation-contributed/javascriptcore/stress/parse-int-intrinsic-dfg-backend-flush.js b/implementation-contributed/javascriptcore/stress/parse-int-intrinsic-dfg-backend-flush.js new file mode 100644 index 0000000000..b66057c164 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/parse-int-intrinsic-dfg-backend-flush.js @@ -0,0 +1,14 @@ +function assert(b) { + if (!b) + throw new Error("Bad") +} + +function foo(x) { + return x === parseInt(x, 10); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + assert(!foo(`${i}`)); + assert(foo(i)); +} diff --git a/implementation-contributed/javascriptcore/stress/parse-int-intrinsic.js b/implementation-contributed/javascriptcore/stress/parse-int-intrinsic.js new file mode 100644 index 0000000000..9be1a4dda4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/parse-int-intrinsic.js @@ -0,0 +1,97 @@ +"use strict"; + +function assert(b) { + if (!b) + throw new Error("Bad") +} + +function testIntrinsic(radix) { + let s = ` + { + function foo(n) { + n = n|0; + return parseInt(n, ${radix}); + } + noInline(foo); + for (let i = 0; i < 10000; i++) + assert(foo(i) === i); + assert(foo("20") === 20); + } + `; + + eval(s); +} + +testIntrinsic(10); +testIntrinsic(0); + +function testIntrinsic2() { + function baz(n) { + n = n | 0; + return parseInt(n, 16); + } + noInline(baz); + + for (let i = 0; i < 100000; i++) + assert(baz(i) === parseInt("0x" + i)); +} +noDFG(testIntrinsic2); +testIntrinsic2(); + +function testIntrinsic3() { + function foo(s) { + return parseInt(s) + 1; + } + noInline(foo); + + for (let i = 0; i < 100000; i++) + assert(foo(i + "") === i + 1); +} +noDFG(testIntrinsic3); +testIntrinsic3(); + +function testIntrinsic4() { + function foo(s) { + return parseInt(s, 0) + 1; + } + noInline(foo); + + for (let i = 0; i < 100000; i++) + assert(foo(i + "") === i + 1); +} +testIntrinsic4(); + +function testIntrinsic5() { + function foo(s) { + return parseInt(s, 10) + 1; + } + noInline(foo); + + for (let i = 0; i < 100000; i++) + assert(foo(i + "") === i + 1); +} +testIntrinsic5(); + +function testIntrinsic6() { + function foo(s) { + return parseInt(s, 16) + 1; + } + noInline(foo); + + for (let i = 0; i < 100000; i++) + assert(foo(i + "") === (parseInt("0x" + i) + 1)); +} +noDFG(testIntrinsic6); +testIntrinsic6(); + +function testIntrinsic7() { + function foo(s) { + return parseInt(s, 16) + parseInt(s, 16); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) + assert(foo(i + "") === (parseInt("0x" + i) * 2)); +} +noDFG(testIntrinsic7); +testIntrinsic7(); diff --git a/implementation-contributed/javascriptcore/stress/parse-regexp-as-token.js b/implementation-contributed/javascriptcore/stress/parse-regexp-as-token.js new file mode 100644 index 0000000000..ebbfaeb88e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/parse-regexp-as-token.js @@ -0,0 +1,7 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var arrow = () => /Cocoa/; +shouldBe(arrow.toString(), `() => /Cocoa/`); diff --git a/implementation-contributed/javascriptcore/stress/path-sensitive-known-cell-crash.js b/implementation-contributed/javascriptcore/stress/path-sensitive-known-cell-crash.js new file mode 100644 index 0000000000..cc655f4c21 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/path-sensitive-known-cell-crash.js @@ -0,0 +1,21 @@ +function bar(o) { + if (o.f) + return o.f; + else + return {e:41, f:42}; +} + +function foo(o) { + var c = bar(o); + return c.f; +} + +noInline(foo); + +// Warm up foo with some different object types. +for (var i = 0; i < 10000; ++i) { + foo({f:{k:0, f:1}}); + foo({g:1, f:{l: -1, f:2, g:3}}); + foo({h:2, f:null}); +} + diff --git a/implementation-contributed/javascriptcore/stress/pathname-resolve.js b/implementation-contributed/javascriptcore/stress/pathname-resolve.js new file mode 100644 index 0000000000..5a2ca6b36c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pathname-resolve.js @@ -0,0 +1,64 @@ +//@ skip +// To execute this test, need to specify the JSC_exposeInternalModuleLoader environment variable and execute it on non Windows platform. +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldResolve(name, referrer, expected) +{ + var promise = Loader.resolve(name, referrer); + return promise.then(function (actual) { + shouldBe(actual, expected); + }); +} + +function shouldThrow(name, referrer, errorMessage) +{ + var notThrown = false; + return Loader.resolve(name, referrer).then(function (error) { + notThrown = true; + }).catch(function (error) { + shouldBe(String(error), errorMessage); + }).then(function () { + if (notThrown) + throw new Error("not thrown"); + }); +} + +var error = null; + +// On windows platform, all "/" becomes "\". +Promise.all([ + shouldResolve('tmp.js', '/home/WebKit/', '/home/WebKit/tmp.js'), + shouldResolve('tmp.js', '/home/', '/home/tmp.js'), + shouldResolve('/tmp.js', '/home/WebKit/', '/tmp.js'), + shouldResolve('///tmp.js', '/home/WebKit/', '/tmp.js'), + shouldResolve('.///tmp.js', '/home/WebKit/', '/home/WebKit/tmp.js'), + shouldResolve('./../tmp.js', '/home/WebKit/', '/home/tmp.js'), + shouldResolve('./../../tmp.js', '/home/WebKit/', '/tmp.js'), + shouldResolve('./../../../tmp.js', '/home/WebKit/', '/tmp.js'), + shouldResolve('./../../home/../tmp.js', '/home/WebKit/', '/tmp.js'), + shouldResolve('./../../../home/WebKit/../tmp.js', '/home/WebKit/', '/home/tmp.js'), + shouldResolve('../home/WebKit/tmp.js', '/home/WebKit/', '/home/home/WebKit/tmp.js'), + shouldResolve('../home/WebKit/../tmp.js', '/home/WebKit/', '/home/home/tmp.js'), + shouldResolve('./tmp.js', '/home/WebKit/hello.js', '/home/WebKit/tmp.js'), + + shouldResolve('./tmp.js', 'C:/', 'C:/tmp.js'), + shouldResolve('./tmp.js', 'C:/home/', 'C:/home/tmp.js'), + shouldResolve('../tmp.js', 'C:/home/', 'C:/tmp.js'), + shouldResolve('../../tmp.js', 'C:/home/', 'C:/tmp.js'), + shouldResolve('./hello/tmp.js', 'C:/home/', 'C:/home/hello/tmp.js'), + shouldResolve('/tmp.js', 'C:/home/', 'C:/tmp.js'), + + shouldThrow('/tmp.js', '', `Error: Could not resolve the referrer name ''.`), + shouldThrow('/tmp.js', 'hello', `Error: Could not resolve the referrer name 'hello'.`), + shouldThrow('tmp.js', 'hello', `Error: Could not resolve the referrer name 'hello'.`), +]).catch(function (e) { + error = e; +}); + +// Force to run all pending tasks. +drainMicrotasks(); +if (error) + throw error; diff --git a/implementation-contributed/javascriptcore/stress/phantom-arguments-set-local-then-exit-in-same-block.js b/implementation-contributed/javascriptcore/stress/phantom-arguments-set-local-then-exit-in-same-block.js new file mode 100644 index 0000000000..fe64414bf5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-arguments-set-local-then-exit-in-same-block.js @@ -0,0 +1,17 @@ +function foo(o) { + var a = arguments; + var result = o.f; + for (var i = 1; i < a.length; ++i) + result += a[i]; + return result; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) + foo({f:42}, 1, 2, 3); + +var result = foo({g:40, f:41}, 1, 2.5, 3); +if (result != 47.5) + throw "Bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-argument-count.js b/implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-argument-count.js new file mode 100644 index 0000000000..eb504772f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-argument-count.js @@ -0,0 +1,20 @@ +function foo() { + return effectful42.apply(this, arguments); +} + +function bar(a, b) { + var result = foo.apply(this, b); + return [a, a, a, a, a, a, a, a, result + a]; +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = "" + bar(1, []); + if (result != "1,1,1,1,1,1,1,1,43") + throw "Error: bad result: " + result; +} + +var result = "" + bar(2147483647, []); +if (result != "2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483647,2147483689") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-callee.js b/implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-callee.js new file mode 100644 index 0000000000..70588f8d69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-direct-arguments-clobber-callee.js @@ -0,0 +1,21 @@ +function foo() { + return function() { return effectful42.apply(this, arguments) }; +} +noInline(foo); + +function bar(a) { + var result = foo()(); + return [result, result, result, result, result, result, result, result, result + a]; +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = "" + bar(1); + if (result != "42,42,42,42,42,42,42,42,43") + throw "Error: bad result: " + result; +} + +var result = "" + bar(2147483647); +if (result != "42,42,42,42,42,42,42,42,2147483689") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/phantom-inadequacy.js b/implementation-contributed/javascriptcore/stress/phantom-inadequacy.js new file mode 100644 index 0000000000..bb72e22d34 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-inadequacy.js @@ -0,0 +1,33 @@ +function bar() { + return 42.5; +} +noInline(bar); + +function baz(value) { + if (value != 42.5) + throw "Error: bad value: " + value; +} +noInline(baz); + +var True = true; +function foo(a) { + var x = bar(); + var tmp = 0; + if (True) { + var tmp2 = x; + tmp = a + 1; + baz(tmp2); + } + return x + 1 + tmp; +} +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(1); + if (result != 42.5 + 1 + 1 + 1) + throw "Error: bad result: " + result; +} + +var result = foo(2147483647); +if (result != 42.5 + 1 + 2147483647 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/phantom-local-captured-but-not-flushed-to-ssa.js b/implementation-contributed/javascriptcore/stress/phantom-local-captured-but-not-flushed-to-ssa.js new file mode 100644 index 0000000000..19699af6d6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-local-captured-but-not-flushed-to-ssa.js @@ -0,0 +1,21 @@ +function foo(x, y) { + if (y) { + if (x < 10) + x = 15; + } + if (false) + arguments[0] = 42; + return x; +} + +function bar(x) { + return foo(10, x); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar(true); + if (result != 10) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs.js b/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs.js new file mode 100644 index 0000000000..4e08665ff3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs.js @@ -0,0 +1,97 @@ +"use strict"; + +function assert(b, m="") { + if (!b) + throw new Error("Bad assertion: " + m); +} +noInline(assert); + +function test1() { + function bar(a, b, c, d) { + return [a, b, c, d]; + } + function foo() { + return bar(...[0, 1, 2, 3]); + } + noInline(foo); + + for (let i = 0; i < 10000; i++) { + let [a, b, c, d] = foo(); + assert(a === 0); + assert(b === 1); + assert(c === 2); + assert(d === 3) ; + } +} + +function test2() { + function bar(...args) { + return args; + } + function foo() { + let args = [1, 2, 3]; + return bar(...args, 0, ...args); + } + noInline(foo); + + for (let i = 0; i < 10000; i++) { + let r = foo(); + assert(r.length === 7); + let [a, b, c, d, e, f, g] = r; + assert(a === 1); + assert(b === 2); + assert(c === 3); + assert(d === 0); + assert(e === 1); + assert(f === 2); + assert(g === 3); + } +} + +function test3() { + function baz(...args) { + return args; + } + function bar(...args) { + return baz(...args); + } + function foo() { + let args = [3]; + return bar(...args, 0, ...args); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(); + assert(r.length === 3); + let [a, b, c] = r; + assert(a === 3); + assert(b === 0); + assert(c === 3); + } +} + +function test4() { + function baz(...args) { + return args; + } + function bar(...args) { + return baz(...args); + } + function foo() { + let args = []; + return bar(...args, 0, ...args); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(); + assert(r.length === 1); + assert(r[0] === 0); + } +} + +test1(); +test2(); +test3(); +test4(); diff --git a/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs2.js b/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs2.js new file mode 100644 index 0000000000..5a1e306c5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-forward-varargs2.js @@ -0,0 +1,33 @@ +"use strict"; + +function assert(b, m="") { + if (!b) + throw new Error("Bad assertion: " + m); +} +noInline(assert); + +function test() { + function baz(...args) { + return args; + } + function bar(...args) { + return baz(...args); + } + function foo(a, b, c, ...args) { + return bar(...args, a, ...[0, 1, 2]); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 5); + let [a, b, c, d, e] = r; + assert(a === i+3); + assert(b === i); + assert(c === 0); + assert(d === 1); + assert(e === 2); + } +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-osr-exit.js b/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-osr-exit.js new file mode 100644 index 0000000000..bc913b2a60 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-new-array-buffer-osr-exit.js @@ -0,0 +1,46 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} +noInline(assert); + +let value = false; + +function baz(x) { + if (typeof x !== "number") { + value = true; + } + return x; +} +noInline(baz); + +function bar(...args) { + return args; +} + +let didEffects = false; +function effects() { didEffects = true; } +noInline(effects); + +function foo(a) { + let args = [1]; + let theArgs = [...args, a, ...args]; + baz(a); + if (value) { + effects(); + } + let r = bar.apply(null, theArgs); + return r; +} +noInline(foo); + +for (let i = 0; i < 100000; i++) { + foo(i); + assert(!didEffects); +} +let o = {}; +let [a, b, c] = foo(o); +assert(a === 1); +assert(b === o); +assert(c === 1); +assert(didEffects); diff --git a/implementation-contributed/javascriptcore/stress/phantom-new-array-with-spread-osr-exit.js b/implementation-contributed/javascriptcore/stress/phantom-new-array-with-spread-osr-exit.js new file mode 100644 index 0000000000..5109ab007b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-new-array-with-spread-osr-exit.js @@ -0,0 +1,45 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} +noInline(assert); + +let value = false; + +function baz(x) { + if (typeof x !== "number") { + value = true; + } + return x; +} +noInline(baz); + +function bar(...args) { + return args; +} + +let didEffects = false; +function effects() { didEffects = true; } +noInline(effects); + +function foo(a, ...args) { + let theArgs = [...args, a, ...args]; + baz(a); + if (value) { + effects(); + } + let r = bar.apply(null, theArgs); + return r; +} +noInline(foo); + +for (let i = 0; i < 100000; i++) { + foo(i, i+1); + assert(!didEffects); +} +let o = {}; +let [a, b, c] = foo(o, 20); +assert(a === 20); +assert(b === o); +assert(c === 20); +assert(didEffects); diff --git a/implementation-contributed/javascriptcore/stress/phantom-regexp-regexp-exec.js b/implementation-contributed/javascriptcore/stress/phantom-regexp-regexp-exec.js new file mode 100644 index 0000000000..c37782b56e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-regexp-regexp-exec.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(string, flag) +{ + var regexp = /oa/; + var result = regexp.exec(string); + if (flag) + return regexp; + return result; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + if (i & 1) { + var result = test("Cocoa", true); + shouldBe(result instanceof RegExp, true); + } else { + var result = test("Cocoa", false); + shouldBe(result.input, "Cocoa"); + shouldBe(result[0], "oa"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/phantom-regexp-string-match.js b/implementation-contributed/javascriptcore/stress/phantom-regexp-string-match.js new file mode 100644 index 0000000000..345089fbe2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-regexp-string-match.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(string, flag) +{ + var regexp = /oa/; + var result = string.match(regexp); + if (flag) + return regexp; + return result; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + if (i & 1) { + var result = test("Cocoa", true); + shouldBe(result instanceof RegExp, true); + } else { + var result = test("Cocoa", false); + shouldBe(result.input, "Cocoa"); + shouldBe(result[0], "oa"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/phantom-spread-forward-varargs.js b/implementation-contributed/javascriptcore/stress/phantom-spread-forward-varargs.js new file mode 100644 index 0000000000..f9a22e2d2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-spread-forward-varargs.js @@ -0,0 +1,117 @@ +"use strict"; + +function assert(b, m="") { + if (!b) + throw new Error("Bad assertion: " + m); +} +noInline(assert); + +function test1() { + function bar(a, b, c, d) { + return [a, b, c, d]; + } + function foo(...args) { + return bar(...args); + } + noInline(foo); + + for (let i = 0; i < 10000; i++) { + let [a, b, c, d] = foo(i, i+1, i+2, i+3); + assert(a === i); + assert(b === i+1); + assert(c === i+2); + assert(d === i+3) ; + } +} + +function test2() { + function bar(...args) { + return args; + } + function foo(a, ...args) { + return bar(...args, a, ...args); + } + noInline(foo); + + for (let i = 0; i < 10000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 7); + let [a, b, c, d, e, f, g] = r; + assert(a === i+1); + assert(b === i+2); + assert(c === i+3); + assert(d === i); + assert(e === i+1); + assert(f === i+2); + assert(g === i+3); + } +} + +function test3() { + function baz(...args) { + return args; + } + function bar(...args) { + return baz(...args); + } + function foo(a, b, c, ...args) { + return bar(...args, a, ...args); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 3); + let [a, b, c] = r; + assert(a === i+3); + assert(b === i); + assert(c === i+3); + } +} + +function test4() { + function baz(...args) { + return args; + } + function bar(...args) { + return baz(...args); + } + function foo(a, b, c, d, ...args) { + return bar(...args, a, ...args); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 1); + assert(r[0] === i); + } +} + +function test5() { + function baz(a, b, c) { + return [a, b, c]; + } + function bar(...args) { + return baz(...args); + } + function foo(a, b, c, d, ...args) { + return bar(...args, a, ...args); + } + noInline(foo); + + for (let i = 0; i < 100000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 3); + let [a, b, c] = r; + assert(a === i); + assert(b === undefined); + assert(c === undefined); + } +} + +test1(); +test2(); +test3(); +test4(); +test5(); diff --git a/implementation-contributed/javascriptcore/stress/phantom-spread-osr-exit.js b/implementation-contributed/javascriptcore/stress/phantom-spread-osr-exit.js new file mode 100644 index 0000000000..c9189f95cf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/phantom-spread-osr-exit.js @@ -0,0 +1,43 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} +noInline(assert); + +let value = false; + +function baz(x) { + if (typeof x !== "number") { + value = true; + } + return x; +} +noInline(baz); + +function bar(...args) { + return args; +} + +let didEffects = false; +function effects() { didEffects = true; } +noInline(effects); + +function foo(a, ...args) { + let r = bar(...args, baz(a), ...args); + if (value) { + effects(); + } + return r; +} +noInline(foo); + +for (let i = 0; i < 100000; i++) { + foo(i, i+1); + assert(!didEffects); +} +let o = {}; +let [a, b, c] = foo(o, 20); +assert(a === 20); +assert(b === o); +assert(c === 20); +assert(didEffects); diff --git a/implementation-contributed/javascriptcore/stress/plus-boolean-exit.js b/implementation-contributed/javascriptcore/stress/plus-boolean-exit.js new file mode 100644 index 0000000000..e02141d589 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/plus-boolean-exit.js @@ -0,0 +1,22 @@ +function foo(a, b) { + return a.f + b.f; +} + +noInline(foo); + +function test(a, b, c) { + var result = foo({f:a}, {f:b}); + if (result != c) + throw "Error: expected " + c + " but got: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(true, 42, 43); + +// Now try some unexpected things, in descending order of possible badness. +test(true, 2147483647, 2147483648); +test(false, 42, 42); +test(1, 2, 3); +test(true, true, 2); +test(1.5, 1.5, 3); + diff --git a/implementation-contributed/javascriptcore/stress/plus-boolean-or-double.js b/implementation-contributed/javascriptcore/stress/plus-boolean-or-double.js new file mode 100644 index 0000000000..4caa2f08b5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/plus-boolean-or-double.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a.f + b.f; +} + +noInline(foo); + +function test(a, b, c) { + var result = foo({f:a}, {f:b}); + if (result != c) + throw "Error: expected " + c + " but got: " + result; +} + +for (var i = 0; i < 100000; ++i) { + test(true, 42, 43); + test(42.5, 10, 52.5); +} + +// Now try some unexpected things, in descending order of possible badness. +test(true, 2147483647, 2147483648); +test(false, 42, 42); +test(1, 2, 3); +test(true, true, 2); +test(1.5, 1.5, 3); + diff --git a/implementation-contributed/javascriptcore/stress/plus-boolean-or-int.js b/implementation-contributed/javascriptcore/stress/plus-boolean-or-int.js new file mode 100644 index 0000000000..a1d3d5cba4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/plus-boolean-or-int.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a.f + b.f; +} + +noInline(foo); + +function test(a, b, c) { + var result = foo({f:a}, {f:b}); + if (result != c) + throw "Error: expected " + c + " but got: " + result; +} + +for (var i = 0; i < 100000; ++i) { + test(true, 42, 43); + test(42, 10, 52); +} + +// Now try some unexpected things, in descending order of possible badness. +test(true, 2147483647, 2147483648); +test(false, 42, 42); +test(1, 2, 3); +test(true, true, 2); +test(1.5, 1.5, 3); + diff --git a/implementation-contributed/javascriptcore/stress/poly-call-exit-this.js b/implementation-contributed/javascriptcore/stress/poly-call-exit-this.js new file mode 100644 index 0000000000..596af3e33e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-call-exit-this.js @@ -0,0 +1,29 @@ +(function() { + function foo(x) { return 1 + this.f; } + function bar(x) { return x + this.f; } + function baz(x) { return x + 1 + this.f; } + + var n = 1000000; + + var result = (function(o) { + var f = {fun:foo, f:1}; + var g = {fun:bar, f:2}; + var h = {fun:baz, f:3}; + + var result = 0; + for (var i = 0; i < n; ++i) { + if (i == n - 1) + f = h; + result += f.fun(o.f); + + var tmp = f; + f = g; + g = tmp; + } + + return result; + })({f:42}); + + if (result != ((n / 2 - 1) * (42 + 2)) + (n / 2 * (1 + 1) + (42 + 1 + 3))) + throw "Error: bad result: " + result; +})(); diff --git a/implementation-contributed/javascriptcore/stress/poly-call-exit.js b/implementation-contributed/javascriptcore/stress/poly-call-exit.js new file mode 100644 index 0000000000..eadd16ac4c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-call-exit.js @@ -0,0 +1,29 @@ +(function() { + function foo(x) { return 1; } + function bar(x) { return x; } + function baz(x) { return x + 1; } + + var n = 1000000; + + var result = (function(o) { + var f = foo; + var g = bar; + var h = baz; + + var result = 0; + for (var i = 0; i < n; ++i) { + if (i == n - 1) + f = h; + result += f(o.f); + + var tmp = f; + f = g; + g = tmp; + } + + return result; + })({f:42}); + + if (result != ((n / 2 - 1) * 42) + (n / 2 * 1) + (42 + 1)) + throw "Error: bad result: " + result; +})(); diff --git a/implementation-contributed/javascriptcore/stress/poly-call-stub-in-getter-stub.js b/implementation-contributed/javascriptcore/stress/poly-call-stub-in-getter-stub.js new file mode 100644 index 0000000000..d774796cfc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-call-stub-in-getter-stub.js @@ -0,0 +1,37 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var p = {f:42}; + +var doBadThings = false; +function makeGetter() { + return function() { + if (doBadThings) { + delete p.f; + fullGC(); + return 43; + } + return 42; + }; +} + +for (var i = 0; i < 10000; ++i) { + var o = Object.create(p); + if (i & 1) { + o.__defineGetter__("f", makeGetter()); + } + + var result = foo(o); + if (result != 42) + throw "Error: bad result: " + result; +} + +var o = Object.create(p); +o.__defineGetter__("f", makeGetter()); +doBadThings = true; +var result = foo(o); +if (result != 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/poly-chain-getter.js b/implementation-contributed/javascriptcore/stress/poly-chain-getter.js new file mode 100644 index 0000000000..1f617a285f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-chain-getter.js @@ -0,0 +1,30 @@ +function Cons() { +} +Cons.prototype.__defineGetter__("f", function() { + counter++; + return 84; +}); + +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test(new Cons(), 84, counter + 1); + + var o = new Cons(); + o.g = 54; + test(o, 84, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-chain-setter.js b/implementation-contributed/javascriptcore/stress/poly-chain-setter.js new file mode 100644 index 0000000000..491fe5f946 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-chain-setter.js @@ -0,0 +1,32 @@ +function Cons() { +} +Cons.prototype.__defineSetter__("f", function(value) { + counter++; + this._f = value; +}); +Cons.prototype.__defineGetter__("f", function() { return this._f; }); + +function foo(o, v) { + o.f = v; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test(new Cons(), i, counter + 1); + + var o = new Cons(); + o.g = 54; + test(o, i, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-chain-then-getter.js b/implementation-contributed/javascriptcore/stress/poly-chain-then-getter.js new file mode 100644 index 0000000000..ecb89bd50a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-chain-then-getter.js @@ -0,0 +1,31 @@ +function Cons1() { +} +Cons1.prototype.f = 42; + +function Cons2() { +} +Cons2.prototype.__defineGetter__("f", function() { + counter++; + return 84; +}); + +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test(new Cons1(), 42, counter); + test(new Cons2(), 84, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-chain-then-setter.js b/implementation-contributed/javascriptcore/stress/poly-chain-then-setter.js new file mode 100644 index 0000000000..cc363b9f30 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-chain-then-setter.js @@ -0,0 +1,33 @@ +function Cons1() { +} +Cons1.prototype.f = 42; + +function Cons2() { +} +Cons2.prototype.__defineSetter__("f", function(value) { + counter++; + this._f = value; +}); +Cons2.prototype.__defineGetter__("f", function() { return this._f; }); + +function foo(o, value) { + o.f = value; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test(new Cons1(), i, counter); + test(new Cons2(), i, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-getter-combo.js b/implementation-contributed/javascriptcore/stress/poly-getter-combo.js new file mode 100644 index 0000000000..cdeeee58d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-getter-combo.js @@ -0,0 +1,40 @@ +function Cons1() { +} +Cons1.prototype.f = 42; + +function Cons2() { +} +Cons2.prototype.__defineGetter__("f", function() { + counter++; + return 84; +}); + +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test(new Cons1(), 42, counter); + test(new Cons2(), 84, counter + 1); + + var o = {}; + o.__defineGetter__("f", function() { + counter++; + return 84; + }); + test(o, 84, counter + 1); + + test({f: 42}, 42, counter); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-getter-then-chain.js b/implementation-contributed/javascriptcore/stress/poly-getter-then-chain.js new file mode 100644 index 0000000000..8db9310776 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-getter-then-chain.js @@ -0,0 +1,31 @@ +function Cons1() { +} +Cons1.prototype.f = 42; + +function Cons2() { +} +Cons2.prototype.__defineGetter__("f", function() { + counter++; + return 84; +}); + +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test(new Cons2(), 84, counter + 1); + test(new Cons1(), 42, counter); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-getter-then-self.js b/implementation-contributed/javascriptcore/stress/poly-getter-then-self.js new file mode 100644 index 0000000000..d90fb10203 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-getter-then-self.js @@ -0,0 +1,26 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineGetter__("f", function() { + counter++; + return 84; + }); + test(o, 84, counter + 1); + + test({f: 42}, 42, counter); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-clear-stub.js b/implementation-contributed/javascriptcore/stress/poly-proto-clear-stub.js new file mode 100644 index 0000000000..5b3b307df9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-clear-stub.js @@ -0,0 +1,101 @@ +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +function foo() { + class C { + constructor() { + this.p0 = 0 + this.p1 = 1 + this.p2 = 2 + this.p3 = 3 + this.p4 = 4 + this.p5 = 5 + this.p6 = 6 + this.p7 = 7 + this.p8 = 8 + this.p9 = 9 + this.p10 = 10 + this.p11 = 11 + this.p12 = 12 + this.p13 = 13 + this.p14 = 14 + this.p15 = 15 + this.p16 = 16 + this.p17 = 17 + this.p18 = 18 + this.p19 = 19 + this.p20 = 20 + this.p21 = 21 + this.p22 = 22 + this.p23 = 23 + this.p24 = 24 + this.p25 = 25 + this.p26 = 26 + this.p27 = 27 + this.p28 = 28 + this.p29 = 29 + this.p30 = 30 + this.p31 = 31 + this.p32 = 32 + this.p33 = 33 + this.p34 = 34 + this.p35 = 35 + this.p36 = 36 + this.p37 = 37 + this.p38 = 38 + this.p39 = 39 + } + }; + + let item = new C; + for (let i = 0; i < 20; ++i) { + assert(item.p0 === 0) + assert(item.p1 === 1) + assert(item.p2 === 2) + assert(item.p3 === 3) + assert(item.p4 === 4) + assert(item.p5 === 5) + assert(item.p6 === 6) + assert(item.p7 === 7) + assert(item.p8 === 8) + assert(item.p9 === 9) + assert(item.p10 === 10) + assert(item.p11 === 11) + assert(item.p12 === 12) + assert(item.p13 === 13) + assert(item.p14 === 14) + assert(item.p15 === 15) + assert(item.p16 === 16) + assert(item.p17 === 17) + assert(item.p18 === 18) + assert(item.p19 === 19) + assert(item.p20 === 20) + assert(item.p21 === 21) + assert(item.p22 === 22) + assert(item.p23 === 23) + assert(item.p24 === 24) + assert(item.p25 === 25) + assert(item.p26 === 26) + assert(item.p27 === 27) + assert(item.p28 === 28) + assert(item.p29 === 29) + assert(item.p30 === 30) + assert(item.p31 === 31) + assert(item.p32 === 32) + assert(item.p33 === 33) + assert(item.p34 === 34) + assert(item.p35 === 35) + assert(item.p36 === 36) + assert(item.p37 === 37) + assert(item.p38 === 38) + assert(item.p39 === 39) + } +} + +let start = Date.now(); +for (let i = 0; i < 1000; ++i) + foo(); +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-custom-value-and-accessor.js b/implementation-contributed/javascriptcore/stress/poly-proto-custom-value-and-accessor.js new file mode 100644 index 0000000000..c3c3c4034c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-custom-value-and-accessor.js @@ -0,0 +1,95 @@ +var createCustomTestGetterSetter = $vm.createCustomTestGetterSetter; + +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { this.field = 20; } + }; + return new C; + } + for (let i = 0; i < 15; ++i) { + assert(foo().field === 20); + } + return foo(); +} + +let items = [ + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), + makePolyProtoObject(), +]; + +let customGetterSetter = createCustomTestGetterSetter(); +items.forEach((x) => { + x.__proto__ = customGetterSetter; + assert(x.__proto__ === customGetterSetter); +}); + +function validate(x, valueResult, accessorResult) { + assert(x.customValue === valueResult); + + assert(x.customAccessor === accessorResult); + + let o = {}; + x.customValue = o; + assert(o.result === valueResult); + + o = {}; + x.customAccessor = o; + assert(o.result === accessorResult); + + assert(x.randomProp === 42 || x.randomProp === undefined); +} +noInline(validate); + + +let start = Date.now(); +for (let i = 0; i < 10000; ++i) { + for (let i = 0; i < items.length; ++i) { + validate(items[i], customGetterSetter, items[i]); + } +} + +customGetterSetter.randomProp = 42; + +for (let i = 0; i < 10000; ++i) { + for (let i = 0; i < items.length; ++i) { + validate(items[i], customGetterSetter, items[i]); + } +} + +items.forEach((x) => { + Reflect.setPrototypeOf(x, { + get customValue() { return 42; }, + get customAccessor() { return 22; }, + set customValue(x) { x.result = 42; }, + set customAccessor(x) { x.result = 22; }, + }); +}); + +for (let i = 0; i < 10000; ++i) { + for (let i = 0; i < items.length; ++i) { + validate(items[i], 42, 22); + } +} + +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-intrinsic-getter-correctness.js b/implementation-contributed/javascriptcore/stress/poly-proto-intrinsic-getter-correctness.js new file mode 100644 index 0000000000..7cf4bb78bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-intrinsic-getter-correctness.js @@ -0,0 +1,37 @@ +function assert(b) { + if (!b) + throw new Error("Bad!"); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +let x = new Uint32Array(10); +let p = x.__proto__.__proto__; +let obj = makePolyProtoObject(); +obj.__proto__ = p; +x.__proto__ = obj; + +function foo(x) { + return x.byteLength; +} +noInline(foo); + +for (let i = 0; i < 1000; ++i) { + assert(foo(x) === 10 * 4); +}; + +obj.__proto__ = {}; + +assert(foo(x) === undefined); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-miss.js b/implementation-contributed/javascriptcore/stress/poly-proto-miss.js new file mode 100644 index 0000000000..4210460f86 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-miss.js @@ -0,0 +1,51 @@ +function makePolyProtoInstanceWithNullPrototype() { + function foo() { + class C { + constructor() { this.x = 20; } + }; + C.prototype.y = 42; + let result = new C; + return result; + } + + for (let i = 0; i < 5; ++i) + foo(); + let result = foo(); + result.__proto__ = null; + return result; +} + +function assert(b) { + if (!b) + throw new Error("Bad asssertion") +} + +let instances = [ + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), + makePolyProtoInstanceWithNullPrototype(), +]; + +let p = undefined; +function validate(x) { + assert(x.x === 20); + assert(x.p === undefined); +} +noInline(validate); + +let start = Date.now(); +for (let i = 0; i < 100000; ++i) { + for (let i = 0; i < instances.length; ++i) + validate(instances[i]); +} +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-op-in-caching.js b/implementation-contributed/javascriptcore/stress/poly-proto-op-in-caching.js new file mode 100644 index 0000000000..5367019f11 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-op-in-caching.js @@ -0,0 +1,64 @@ +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this.field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) { + assert(foo().field === 42); + } + return foo(); +} + +function validate(o, b) { + assert("x" in o === b); +} +noInline(validate); + +let start = Date.now(); + +let objs = []; +for (let i = 0; i < 10; ++i) + objs.push(makePolyProtoObject()); + +objs.forEach(obj => Reflect.setPrototypeOf(obj, {x:20})); + +for (let i = 0; i < 10000; ++i) { + for (let obj of objs) + validate(obj, true); +} + +objs.forEach(obj => Reflect.setPrototypeOf(obj, {})); +for (let i = 0; i < 10000; ++i) { + for (let obj of objs) + validate(obj, false); +} + + +function validate2(o, b) { + assert("x" in o === b); +} +noInline(validate2); + +objs.forEach(obj => Reflect.setPrototypeOf(obj, null)); +for (let i = 0; i < 10000; ++i) { + for (let obj of objs) + validate2(obj, false); +} + +objs.forEach(obj => Reflect.setPrototypeOf(obj, {x:25})); +for (let i = 0; i < 10000; ++i) { + for (let obj of objs) + validate2(obj, true); +} + +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-prototype-map-having-a-bad-time.js b/implementation-contributed/javascriptcore/stress/poly-proto-prototype-map-having-a-bad-time.js new file mode 100644 index 0000000000..767f77b623 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-prototype-map-having-a-bad-time.js @@ -0,0 +1,30 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function foo() { + class C { + constructor() { + this.x = 20; + } + }; + let item = new C; + item[0] = 42; + return [item, C.prototype]; +} + +for (let i = 0; i < 50; ++i) + foo(); + +let [item, proto] = foo(); +let called = false; +Object.defineProperty(proto, "1", { + set(x) { + called = true; + } +}); + +assert(!called); +item[1] = 42; +assert(called); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-put-transition.js b/implementation-contributed/javascriptcore/stress/poly-proto-put-transition.js new file mode 100644 index 0000000000..345f3e58ca --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-put-transition.js @@ -0,0 +1,52 @@ +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { + this._field = 42; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +let global; + +function performSet(o) { + o.p = 20; +} + +let start = Date.now(); +for (let i = 0; i < 1000; ++i) { + let obj = makePolyProtoObject(); + obj.__proto__ = null; + performSet(obj); + assert(Object.hasOwnProperty.call(obj, "p")); + assert(obj.p === 20); + +} + +for (let i = 0; i < 1000; ++i) { + let obj = makePolyProtoObject(); + obj.__proto__ = { set p(x) { global = x; } }; + performSet(obj); + assert(!obj.hasOwnProperty("p")); + assert(global === 20); + global = null; +} + +for (let i = 0; i < 1000; ++i) { + let obj = makePolyProtoObject(); + performSet(obj); + assert(obj.hasOwnProperty("p")); + assert(obj.p === 20); +} +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-set-prototype.js b/implementation-contributed/javascriptcore/stress/poly-proto-set-prototype.js new file mode 100644 index 0000000000..6cac7e4b02 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-set-prototype.js @@ -0,0 +1,65 @@ +function assert(b) { + if (!b) + throw new Error("bad"); +} + +let alternateProto = { + get x() { + return null; + } +}; + +let alternateProto2 = { + get y() { return 22; }, + get x() { + return null; + } +}; + +Object.defineProperty(Object.prototype, "x", { + get: function() { return this._x; } +}); + +function foo() { + class C { + constructor() { + this._x = 42; + } + }; + return new C; +} + +function validate(o, p) { + assert(o.x === p); +} +noInline(validate); + +let arr = []; +foo(); +for (let i = 0; i < 25; ++i) + arr.push(foo()); + +for (let i = 0; i < 100; ++i) { + for (let a of arr) + validate(a, 42); +} + +for (let a of arr) { + a.__proto__ = alternateProto; +} +for (let i = 0; i < 100; ++i) { + for (let a of arr) { + validate(a, null); + } +} + +for (let a of arr) { + a.__proto__ = alternateProto2; +} + +for (let i = 0; i < 100; ++i) { + for (let a of arr) { + validate(a, null); + assert(a.y === 22); + } +} diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-setter.js b/implementation-contributed/javascriptcore/stress/poly-proto-setter.js new file mode 100644 index 0000000000..3faa06e0c2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-setter.js @@ -0,0 +1,71 @@ +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +let called = false; +function makePolyProtoObject() { + function foo() { + class C { + constructor() + { + this._p = null; + } + + set p(x) + { + called = true; + this._p = x; + } + get p() + { + return this._p; + } + }; + return new C; + } + for (let i = 0; i < 15; ++i) { + assert(foo().p === null); + } + return foo(); +} + +function performSet(o) { + o.p = 20; +} + +let items = []; +for (let i = 0; i < 20; ++i) { + items.push(makePolyProtoObject()); +} + +function performSet(x, i) { + x.p = i; +} + +let start = Date.now(); +for (let i = 0; i < 100000; ++i) { + for (let i = 0; i < items.length; ++i) { + let o = items[i]; + performSet(o, i); + assert(o._p === i); + assert(called === true); + called = false; + } +} + +items.forEach(o => { + Reflect.setPrototypeOf(o, null); +}); + +for (let i = 0; i < 100000; ++i) { + for (let i = 0; i < items.length; ++i) { + let o = items[i]; + performSet(o, i); + assert(o.p === i); + assert(called === false); + } +} + +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-proto-using-inheritance.js b/implementation-contributed/javascriptcore/stress/poly-proto-using-inheritance.js new file mode 100644 index 0000000000..30b1a1a4a5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-proto-using-inheritance.js @@ -0,0 +1,51 @@ +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +function foo() { + class C { + constructor() + { + this.y = 22; + } + get baz() { return this.x; } + } + C.prototype.field = 42; + new C; + return C; +} + +for (let i = 0; i < 5; ++i) + foo(); + +function bar(p) { + class C extends p { + constructor() { + super(); + this.x = 22; + } + }; + let result = new C; + return result; +} + +for (let i = 0; i < 5; ++i) + bar(foo()); + +let instances = []; +for (let i = 0; i < 40; ++i) + instances.push(bar(foo())); + +function validate(item) { + assert(item.x === 22); + assert(item.baz === 22); + assert(item.field === 42); +} + +let start = Date.now(); +for (let i = 0; i < 100000; ++i) { + instances.forEach((x) => validate(x)); +} +if (false) + print(Date.now() - start); diff --git a/implementation-contributed/javascriptcore/stress/poly-self-getter.js b/implementation-contributed/javascriptcore/stress/poly-self-getter.js new file mode 100644 index 0000000000..72d7d3a897 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-self-getter.js @@ -0,0 +1,31 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +function getter() { + counter++; + return 84; +} + +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineGetter__("f", getter); + test(o, 84, counter + 1); + + var o = {}; + o.__defineGetter__("f", getter); + o.g = 54; + test(o, 84, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-self-then-getter.js b/implementation-contributed/javascriptcore/stress/poly-self-then-getter.js new file mode 100644 index 0000000000..24310ac9cf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-self-then-getter.js @@ -0,0 +1,26 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + test({f: 42}, 42, counter); + + var o = {}; + o.__defineGetter__("f", function() { + counter++; + return 84; + }); + test(o, 84, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-setter-combo.js b/implementation-contributed/javascriptcore/stress/poly-setter-combo.js new file mode 100644 index 0000000000..e3446a64ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-setter-combo.js @@ -0,0 +1,77 @@ +function Cons1() { +} +Cons1.prototype.f = 42; + +function Cons2() { + this._values = [] +} +Cons2.prototype.__defineSetter__("f", function(value) { + counter++; + this._f = value; + this._values[value] = 1; +}); +Cons2.prototype.__defineGetter__("f", function() { return this._f; }); + +function Cons3() { +} +Cons3.prototype.f = 42; +Cons3.prototype.g = 43; + +function Cons4() { + this._values = [] +} +Cons4.prototype.g = 16; +Cons4.prototype.__defineSetter__("f", function(value) { + counter++; + this._f = value; + this._values[value] = 1; +}); +Cons4.prototype.__defineGetter__("f", function() { return this._f; }); + +function foo(o, value) { + o.f = value; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +function runTestWithConstructors(constructor1, constructor2) { + for (var i = 0; i < 5000; ++i) { + test(new constructor1(), i, counter); + test(new constructor2(), i, counter + 1); + + var o = {}; + o.__defineGetter__("f", function() { + counter++; + return 84; + }); + test(o, 84, counter + 1); + + var o = {}; + o.__defineSetter__("f", function(value) { + this._f = value; + counter++; + }); + o.__defineGetter__("f", function() { return this._f; }); + test(o, i, counter + 1); + + test({f: 42}, i, counter); + } +} + +for (var i = 0; i < 2; ++i) { + runTestWithConstructors(Cons1, Cons2); + runTestWithConstructors(Cons3, Cons2); + runTestWithConstructors(Cons1, Cons4); + runTestWithConstructors(Cons3, Cons4); +} diff --git a/implementation-contributed/javascriptcore/stress/poly-setter-then-self.js b/implementation-contributed/javascriptcore/stress/poly-setter-then-self.js new file mode 100644 index 0000000000..3c35db7d9b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/poly-setter-then-self.js @@ -0,0 +1,28 @@ +function foo(o, value) { + o.f = value; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineSetter__("f", function(value) { + counter++; + this._f = value; + }); + o.__defineGetter__("f", function() { return this._f; }); + test(o, i, counter + 1); + + test({f: 42}, i, counter); +} diff --git a/implementation-contributed/javascriptcore/stress/polymorphic-prototype-accesses.js b/implementation-contributed/javascriptcore/stress/polymorphic-prototype-accesses.js new file mode 100644 index 0000000000..f206551345 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/polymorphic-prototype-accesses.js @@ -0,0 +1,28 @@ +function Foo() { +} +Foo.prototype.f = 42; +Foo.prototype.g = 43; +Foo.prototype.h = 44; +Foo.prototype.i = 45; +Foo.prototype.j = 46; +Foo.prototype.k = 47; + +function Bar() { +} +Bar.prototype.k = 23; +Bar.prototype.f = 24; + +function foo(o) { + return o.f + o.k; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) { + var result = foo(new Foo()); + if (result != 89) + throw "Error: bad result for Foo: " + result; + result = foo(new Bar()); + if (result != 47) + throw "Error: bad result for Bar: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/pow-basics.js b/implementation-contributed/javascriptcore/stress/pow-basics.js new file mode 100644 index 0000000000..8842d495bf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-basics.js @@ -0,0 +1,286 @@ +function valuesAreClose(a, b) { + return Math.abs(a / b) - 1 < 1e-10; +} + +// Some random values. +function mathPowDoubleDouble1(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble1); + +function mathPowDoubleInt1(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt1); + +function test1(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble1(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble1(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt1(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt1(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test1); +test1(376.76522764377296, 10.81699226051569, 7.333951929109252e+27, 5.76378989575089e+25); + +function mathPowDoubleDouble2(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble2); + +function mathPowDoubleInt2(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt2); +function test2(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble2(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble2(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt2(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt2(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test2); +test2(376.76522764377296, -5.81699226051569, 1.035180331187579e-15, 1.3171824310400265e-13); + +function mathPowDoubleDouble3(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble3); + +function mathPowDoubleInt3(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt3); +function test3(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble3(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble3(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt3(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt3(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test3); +test3(-37.676522764377296, 10.0, 5763789895750892, 5763789895750892); + +// Exponent zero. +function mathPowDoubleDouble4(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble4); + +function mathPowDoubleInt4(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt4); +function test4(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble4(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble4(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt4(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt4(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test4); +test4(-37.676522764377296, 0, 1, 1); + +// Exponent minus zero. +function mathPowDoubleDouble5(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble5); + +function mathPowDoubleInt5(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt5); +function test5(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble5(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble5(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt5(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test5); +test5(-37.676522764377296, -0, 1, 1); + +// Exponent 1. +function mathPowDoubleDouble6(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble6); + +function mathPowDoubleInt6(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt6); +function test6(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble6(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble6(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt6(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt6(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test6); +test6(-37.676522764377296, 1.0, -37.676522764377296, -37.676522764377296); + +// Exponent -1. +function mathPowDoubleDouble7(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble7); + +function mathPowDoubleInt7(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt7); +function test7(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble7(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble7(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleDouble7(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test7); +test7(-37.676522764377296, -1.0, -0.026541727490454296, -0.026541727490454296); + +// Let's square things. +function mathPowDoubleDouble8(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble8); + +function mathPowDoubleInt8(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt8); +function test8(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble8(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble8(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt8(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt8(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test8); +test8(-37.676522764377296, 2.0, 1419.5203676146407, 1419.5203676146407); + +function mathPowDoubleDouble9(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble9); + +function mathPowDoubleInt9(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt9); +function test9(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble9(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble9(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt9(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt9(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test9); +test9(37.676522764377296, 2.0, 1419.5203676146407, 1419.5203676146407); + +// Let's cube things. +function mathPowDoubleDouble10(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble10); + +function mathPowDoubleInt10(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt10); +function test10(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble10(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt10(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test10); +test10(-37.676522764377296, 3.0, -53482.591444930236, -53482.591444930236); + +function mathPowDoubleDouble11(x, y) { + return x ** y; +} +noInline(mathPowDoubleDouble11); + +function mathPowDoubleInt11(x, y) { + return x ** y; +} +noInline(mathPowDoubleInt11); +function test11(x, y, expected1, expected2) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDouble11(x, y); + if (!valuesAreClose(result, expected1)) + throw "Error: bad result, mathPowDoubleDouble(" + x + ", " + y + ") = " + result + " expected a value close to " + expected1; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleInt11(x, integerY); + if (!valuesAreClose(result, expected2)) + throw "Error: bad result, mathPowDoubleInt(" + x + ", " + integerY + ") = " + result + " expected a value close to " + expected2; + } +} +noInline(test11); +test11(37.676522764377296, 3.0, 53482.591444930236, 53482.591444930236); diff --git a/implementation-contributed/javascriptcore/stress/pow-coherency.js b/implementation-contributed/javascriptcore/stress/pow-coherency.js new file mode 100644 index 0000000000..29671a42db --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-coherency.js @@ -0,0 +1,95 @@ +//@ skip + +// This test checks that the pow function returns coherent results: +// (a) Across different compilation tiers +// (b) With integer exponents represented as int32 or as double + +function pow42() { + return { value: 2.1 ** 42, ftl: isFinalTier() }; +} + +function build42AsDouble() { + function opaqueAdd(x, y) { return x + y; } + return opaqueAdd(42 - 0.123, 0.123); +} + +var double42 = build42AsDouble(); + +if (double42 !== 42) + throw new Error("42 (as double) should be === to 42 (as int)"); + +function powDouble42() { + return { value: 2.1 ** double42, ftl: isFinalTier() }; +} + +function clobber() { } +noInline(clobber); + +function pow42NoConstantFolding() { + var obj = { x: 2.1, y: 42 }; + clobber(obj); + return { value: obj.x ** obj.y, ftl: isFinalTier() }; +} + +function powDouble42NoConstantFolding() { + var obj = { x: 2.1, y: double42 }; + clobber(obj); + return { value: obj.x ** obj.y, ftl: isFinalTier() }; +} + +var results = { 'jit': {}, 'dfg': {}, 'ftl': {} }; +var funs = [ + [ 'pow42', pow42 ], + [ 'powDouble42', powDouble42 ], + [ 'pow42NoConstantFolding', pow42NoConstantFolding ], + [ 'powDouble42NoConstantFolding', powDouble42NoConstantFolding ] +]; +var tiers = ['jit', 'dfg', 'ftl']; + +for (var i = 0; i < 100000; ++i) { + for (var j in funs) { + var name = funs[j][0]; + var fun = funs[j][1]; + var result = fun(); + if (result.ftl) + results['ftl'][name] = result.value; + else if (numberOfDFGCompiles(fun) > 0) + results['dfg'][name] = result.value; + else + results['jit'][name] = result.value; + } +} + +var errors = []; +var valuesFor = {}; +for (var i in tiers) { + var tier = tiers[i]; + var result = results[tier]; + // We don't have this tier + if (Object.keys(result).length === 0) + continue; + + for (var j in funs) { + var name = funs[j][0]; + if (!(name in result)) + errors.push(name + " was not compiled to " + tier); + else if (!(name in valuesFor)) + valuesFor[name] = { value: result[name], tiers: [tier] }; + else if (result[name] !== valuesFor[name].value) + errors.push(name + " has different results in " + tier + " (" + result[name] + ") and " + valuesFor[name].tiers + " (" + valuesFor[name].value + ")"); + else + valuesFor[name].tiers.push(tier); + } +} + +var reference = funs[0][0]; +var result = valuesFor[reference].value; + +for (var j in funs) { + var name = funs[j][0]; + if (valuesFor[name].value !== result) + errors.push(name + " (" + valuesFor[name].value + ") and " + reference + " (" + result + ") have different results"); +} + +if (errors.length > 0) + throw new Error(errors.join('\n')); diff --git a/implementation-contributed/javascriptcore/stress/pow-evaluation-order.js b/implementation-contributed/javascriptcore/stress/pow-evaluation-order.js new file mode 100644 index 0000000000..7154647dd5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-evaluation-order.js @@ -0,0 +1,40 @@ +// Copyright (C) 2016 Rick Waldron. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let capture = []; + let leftValue = { valueOf() { capture.push("leftValue"); return 3; }}; + let rightValue = { valueOf() { capture.push("rightValue"); return 2; }}; + + (capture.push("left"), leftValue) ** +(capture.push("right"), rightValue); +// ^ +// Changes the order + + // Expected per operator evaluation order: "left", "right", "rightValue", "leftValue" + shouldBe(capture[0], "left"); + shouldBe(capture[1], "right"); + shouldBe(capture[2], "rightValue"); + shouldBe(capture[3], "leftValue"); +} + +{ + let capture = []; + let leftValue = { valueOf() { capture.push("leftValue"); return 3; }}; + let rightValue = { valueOf() { capture.push("rightValue"); return 2; }}; + + (+(capture.push("left"), leftValue)) ** (capture.push("right"), rightValue); +// ^ +// Changes the order + + // Expected per operator evaluation order: "left", "right", "rightValue", "leftValue" + shouldBe(capture[0], "left"); + shouldBe(capture[1], "leftValue"); + shouldBe(capture[2], "right"); + shouldBe(capture[3], "rightValue"); +} diff --git a/implementation-contributed/javascriptcore/stress/pow-expects-update-expression-on-lhs.js b/implementation-contributed/javascriptcore/stress/pow-expects-update-expression-on-lhs.js new file mode 100644 index 0000000000..cd4cd2eb41 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-expects-update-expression-on-lhs.js @@ -0,0 +1,96 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +{ + let tokens = [ + '-', + '+', + '~', + '!', + 'typeof', + 'void', + 'delete', + ]; + + for (let token of tokens) { + testSyntaxError(` + function pow(a, b) + { + return ${token} a ** b; + } + `, `SyntaxError: Unexpected token '**'. Amiguous unary expression in the left hand side of the exponentiation expression; parenthesis must be used to disambiguate the expression.`); + } +} + +{ + let tokens = [ + '-', + '+', + '~', + '!', + 'typeof', + 'void', + 'delete', + ]; + + for (let token of tokens) { + testSyntax(` + function pow(a, b) + { + return (${token} a) ** b; + } + `); + } +} + +{ + let tokens = [ + '++', + '--', + ]; + + for (let token of tokens) { + testSyntax(` + function pow(a, b) + { + return ${token} a ** b; + } + `); + } +} + +{ + let tokens = [ + '++', + '--', + ]; + + for (let token of tokens) { + testSyntax(` + function pow(a, b) + { + return a ${token} ** b; + } + `); + } +} diff --git a/implementation-contributed/javascriptcore/stress/pow-integer-exponent-fastpath.js b/implementation-contributed/javascriptcore/stress/pow-integer-exponent-fastpath.js new file mode 100644 index 0000000000..21ee27cb6a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-integer-exponent-fastpath.js @@ -0,0 +1,56 @@ +function valuesAreClose(a, b) { + return Math.abs(a / b) - 1 < 1e-10; +} + +// Small exponent values are handled through a simpler inline loop. Test that it is not observable. +function mathPowDoubleDoubleTestExponentFifty(x, y) { + return x ** y +} +noInline(mathPowDoubleDoubleTestExponentFifty); + +function mathPowDoubleIntTestExponentFifty(x, y) { + return x ** y +} +noInline(mathPowDoubleIntTestExponentFifty); +function testExponentFifty(x, y, expected) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDoubleTestExponentFifty(x, y); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, (" + x + ") ** (" + y + ") = " + result + " expected value close to " + expected; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleIntTestExponentFifty(x, integerY); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, (" + x + ") ** (" + integerY + ") = " + result + " expected value close to " + expected; + } +} +noInline(testExponentFifty); +testExponentFifty(53.70901164133102, 50.0, 3.179494118120144e+86); +testExponentFifty(53.70901164133102, -10.0, 5.006432842621192e-18); + +function mathPowDoubleDoubleTestExponentTenThousands(x, y) { + return x ** y +} +noInline(mathPowDoubleDoubleTestExponentTenThousands); + +function mathPowDoubleIntTestExponentTenThousands(x, y) { + return x ** y +} +noInline(mathPowDoubleIntTestExponentTenThousands); +function testExponentTenThousands(x, y, expected) { + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleDoubleTestExponentTenThousands(x, y); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, (" + x + ") ** (" + y + ") = " + result + " expected value close to " + expected; + } + var integerY = y | 0; + for (var i = 0; i < 10000; ++i) { + var result = mathPowDoubleIntTestExponentTenThousands(x, integerY); + if (!valuesAreClose(result, expected)) + throw "Error: bad result, (" + x + ") ** (" + integerY + ") = " + result + " expected value close to " + expected; + } +} +noInline(testExponentTenThousands); +testExponentTenThousands(1.001, 10000.0, 21916.681339048373); +testExponentTenThousands(1.001, -1.0, 0.9990009990009991); diff --git a/implementation-contributed/javascriptcore/stress/pow-nan-behaviors.js b/implementation-contributed/javascriptcore/stress/pow-nan-behaviors.js new file mode 100644 index 0000000000..3d75482423 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-nan-behaviors.js @@ -0,0 +1,209 @@ +// If an argument is NaN, the result of x ** y is NaN. +function testIntegerBaseWithNaNExponentStatic() { + for (var i = 0; i < 10000; ++i) { + var result = 5 ** NaN; + if (!isNaN(result)) + throw "Error: bad result, 5 ** NaN = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = i ** NaN; + if (!isNaN(result)) + throw "Error: bad result, i ** NaN = " + result + " with i = " + i; + } +} +noInline(testIntegerBaseWithNaNExponentStatic); +testIntegerBaseWithNaNExponentStatic(); + +function mathPowIntegerBaseWithNaNExponentDynamic(x, y) { + return x ** y; +} +noInline(mathPowIntegerBaseWithNaNExponentDynamic); +function testIntegerBaseWithNaNExponentDynamic() { + // Warm up with 2 integers. + for (var i = 0; i < 10000; ++i) { + var result = mathPowIntegerBaseWithNaNExponentDynamic(2, 5); + if (result !== 32) + throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(2, 5) = " + result + ", expected 32." + } + + for (var i = 0; i < 10000; ++i) { + var result = mathPowIntegerBaseWithNaNExponentDynamic(i, NaN); + if (!isNaN(result)) + throw "Error: bad result, mathPowIntegerBaseWithNaNExponentDynamic(i, NaN) = " + result + " with i = " + i + ", expected NaN"; + } +} +noInline(testIntegerBaseWithNaNExponentDynamic); +testIntegerBaseWithNaNExponentDynamic(); + +function testFloatingPointBaseWithNaNExponentStatic() { + for (var i = 0; i < 10000; ++i) { + var result = 5.5 ** NaN; + if (!isNaN(result)) + throw "Error: bad result, 5.5 ** NaN = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = (i + 0.5) ** NaN; + if (!isNaN(result)) + throw "Error: bad result, (i + 0.5) ** NaN = " + result + " with i = " + i; + } +} +noInline(testFloatingPointBaseWithNaNExponentStatic); +testFloatingPointBaseWithNaNExponentStatic(); + +function mathPowFloatingPointBaseWithNaNExponentDynamic(x, y) { + return x ** y; +} +noInline(mathPowFloatingPointBaseWithNaNExponentDynamic); +function testFloatingPointBaseWithNaNExponentDynamic() { + // Warm up with 2 double. + for (var i = 0; i < 10000; ++i) { + var result = mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1); + if (result !== 107.02717054543135) + throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(2.5, 5.1) = " + result + ", expected 107.02717054543135." + } + + for (var i = 0; i < 10000; ++i) { + var result = mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN); + if (!isNaN(result)) + throw "Error: bad result, mathPowFloatingPointBaseWithNaNExponentDynamic(i + 0.5, NaN) = " + result + " with i = " + i + ", expected NaN"; + } +} +noInline(testFloatingPointBaseWithNaNExponentDynamic); +testFloatingPointBaseWithNaNExponentDynamic(); + +// If y is +0, the result is 1, even if x is NaN. +// If y is -0, the result is 1, even if x is NaN. +// If x is NaN and y is nonzero, the result is NaN. +function testNaNBaseStatic() { + for (var i = 0; i < 10000; ++i) { + var result = NaN ** (i + 1); + if (!isNaN(result)) + throw "Error: bad result, NaN ** (i + 1) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = NaN ** (i + 1.5); + if (!isNaN(result)) + throw "Error: bad result, NaN ** (i + 1.5) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = NaN ** 0; + if (result !== 1) + throw "Error: bad result, NaN ** 0 = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = NaN ** -0; + if (result !== 1) + throw "Error: bad result, NaN ** -0 = " + result; + } +} +noInline(testNaNBaseStatic); +testNaNBaseStatic(); + +function mathPowNaNBaseDynamic1(x, y) { + return x ** y; +} +function mathPowNaNBaseDynamic2(x, y) { + return x ** y; +} +function mathPowNaNBaseDynamic3(x, y) { + return x ** y; +} +function mathPowNaNBaseDynamic4(x, y) { + return x ** y; +} +noInline(mathPowNaNBaseDynamic1); +noInline(mathPowNaNBaseDynamic2); +noInline(mathPowNaNBaseDynamic3); +noInline(mathPowNaNBaseDynamic4); +function testNaNBaseDynamic() { + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic1(NaN, i + 1); + if (!isNaN(result)) + throw "Error: bad result, mathPowNaNBaseDynamic1(NaN, i + 1) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic2(NaN, i + 1.5); + if (!isNaN(result)) + throw "Error: bad result, mathPowNaNBaseDynamic2(NaN, i + 1.5) = " + result + " with i = " + i; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic3(NaN, 0); + if (result !== 1) + throw "Error: bad result, mathPowNaNBaseDynamic3(NaN, 0) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowNaNBaseDynamic4(NaN, -0); + if (result !== 1) + throw "Error: bad result, mathPowNaNBaseDynamic4(NaN, -0) = " + result; + } +} +noInline(testNaNBaseDynamic); +testNaNBaseDynamic(); + +// If abs(x) is 1 and y is +Inf the result is NaN. +// If abs(x) is 1 and y is −Inf the result is NaN. +function infiniteExponentsStatic() { + for (var i = 0; i < 10000; ++i) { + var result = 1 ** Number.POSITIVE_INFINITY; + if (!isNaN(result)) + throw "Error: bad result, 1 ** Number.POSITIVE_INFINITY = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = (-1) ** Number.POSITIVE_INFINITY; + if (!isNaN(result)) + throw "Error: bad result, -1 ** Number.POSITIVE_INFINITY = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = 1 ** Number.NEGATIVE_INFINITY; + if (!isNaN(result)) + throw "Error: bad result, 1 ** Number.NEGATIVE_INFINITY = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = (-1) ** Number.NEGATIVE_INFINITY; + if (!isNaN(result)) + throw "Error: bad result, -1 ** Number.NEGATIVE_INFINITY = " + result; + } +} +noInline(infiniteExponentsStatic); +infiniteExponentsStatic(); + +function mathPowInfiniteExponentsDynamic1(x, y) { + return x ** y; +} +function mathPowInfiniteExponentsDynamic2(x, y) { + return x ** y; +} +function mathPowInfiniteExponentsDynamic3(x, y) { + return x ** y; +} +function mathPowInfiniteExponentsDynamic4(x, y) { + return x ** y; +} +noInline(mathPowInfiniteExponentsDynamic1); +noInline(mathPowInfiniteExponentsDynamic2); +noInline(mathPowInfiniteExponentsDynamic3); +noInline(mathPowInfiniteExponentsDynamic4); +function infiniteExponentsDynamic() { + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic1(1, Number.POSITIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic2(-1, Number.POSITIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic3(1, Number.NEGATIVE_INFINITY) = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY); + if (!isNaN(result)) + throw "Error: bad result, mathPowInfiniteExponentsDynamic4(-1, Number.NEGATIVE_INFINITY) = " + result; + } +} +noInline(infiniteExponentsDynamic); +infiniteExponentsDynamic(); diff --git a/implementation-contributed/javascriptcore/stress/pow-no-result.js b/implementation-contributed/javascriptcore/stress/pow-no-result.js new file mode 100644 index 0000000000..ebe8f1f4c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-no-result.js @@ -0,0 +1,13 @@ +var o = {}; +o.__defineSetter__("foo", Math.pow); + +function foo() +{ + o.foo = 42; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(); + diff --git a/implementation-contributed/javascriptcore/stress/pow-simple.js b/implementation-contributed/javascriptcore/stress/pow-simple.js new file mode 100644 index 0000000000..be5e9cf844 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-simple.js @@ -0,0 +1,39 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let i = 2; + let j = 3; + shouldBe(2 ** 3, 8); + shouldBe(i ** 3, 8); + shouldBe(2 ** j, 8); + shouldBe(i ** j, 8); +} + +{ + shouldBe(2 ** 3 ** 3, 134217728); + shouldBe(2 ** 3 + 3, 11); + shouldBe(2 ** 3 + 3 ** 3, 35); + shouldBe(2 ** 3 * 3, 24); + shouldBe(2 ** 3 * 3 ** 3, 216); + + shouldBe(2 + 3 ** 3, 29); + shouldBe(2 * 3 ** 3, 54); +} + +{ + let i = 2; + i **= 4; + shouldBe(i, 16); + i **= 1 + 1; + shouldBe(i, 256); +} + +for (let i = 0; i < 1e4; ++i) { + let a = Math.random(); + let b = Math.random(); + shouldBe(a ** b, Math.pow(a, b)); +} diff --git a/implementation-contributed/javascriptcore/stress/pow-stable-results.js b/implementation-contributed/javascriptcore/stress/pow-stable-results.js new file mode 100644 index 0000000000..9828fa9ae6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-stable-results.js @@ -0,0 +1,85 @@ +// This test verify the results of `**` do not change as we change optimization tier. + +function opaquePow(a, b) +{ + return a ** b; +} +noInline(opaquePow); + + +let caseStrings = [ + "0", + "-0.", + "0.5", + "1", + "2", + "-0.5", + "-1", + "999", + "1000", + "1001", + "NaN", + "Infinity", + "-Infinity", + "Math.PI", + "Math.LN2", + "Math.LN10", + "Math.E", + "Math.LOG10E", + "Math.LOG2E", + "Math.SQRT2" +]; +let cases = []; +for (let caseString of caseStrings) { + cases.push(eval(caseString)); +} + +let expectedResults = []; +let constantBaseFunctions = []; +let constantExponentFunctions = []; +for (let i = 0; i < cases.length; ++i) { + let base = cases[i]; + + expectedResults[i] = []; + for (let j = 0; j < cases.length; ++j) { + let exponent = cases[j]; + expectedResults[i][j] = base ** exponent; + } + + eval("constantBaseFunctions[i] = function (exponent) { return (" + caseStrings[i] + ") ** exponent; }"); + eval("constantExponentFunctions[i] = function (base) { return base ** (" + caseStrings[i] + "); }"); +} + +function isIdentical(result, expected) +{ + if (expected === expected) { + if (result !== expected) + return false; + if (!expected && 1 / expected === -Infinity && 1 / result !== -Infinity) + return false; + + return true; + } + return result !== result; +} + +for (let tierUpLoopCounter = 0; tierUpLoopCounter < 1e3; ++tierUpLoopCounter) { + for (let i = 0; i < cases.length; ++i) { + let base = cases[i]; + for (let j = 0; j < cases.length; ++j) { + let exponent = cases[j]; + let expectedResult = expectedResults[i][j]; + let result = opaquePow(base, exponent); + if (!isIdentical(result, expectedResult)) + throw `Failed opaquePow with base = ${base} exponent = ${exponent} expected (${expectedResult}) got (${result})`; + + result = constantBaseFunctions[i](exponent); + if (!isIdentical(result, expectedResult)) + throw `Failed constantBaseFunctions with base = ${base} exponent = ${exponent} expected (${expectedResult}) got (${result})`; + + result = constantExponentFunctions[j](base); + if (!isIdentical(result, expectedResult)) + throw `Failed constantExponentFunctions with base = ${base} exponent = ${exponent} expected (${expectedResult}) got (${result})`; + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/pow-to-number-should-be-executed-in-code-side.js b/implementation-contributed/javascriptcore/stress/pow-to-number-should-be-executed-in-code-side.js new file mode 100644 index 0000000000..873107a4e4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-to-number-should-be-executed-in-code-side.js @@ -0,0 +1,77 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let value = { + valueOf() + { + throw new Error("NG"); + } + }; + let error = null; + + try { + 2 ** value; + } catch (e) { + error = e; + } + // global, and valueOf. + shouldBe(error.stack.split("\n").length, 2); +} + +{ + let value = { + valueOf() + { + throw new Error("NG"); + } + }; + let error = null; + + try { + value ** 2; + } catch (e) { + error = e; + } + // global, and valueOf. + shouldBe(error.stack.split("\n").length, 2); +} + +{ + let value = { + valueOf() + { + throw new Error("NG"); + } + }; + let error = null; + + try { + Math.pow(value, 2); + } catch (e) { + error = e; + } + // global, Math.pow, and valueOf. + shouldBe(error.stack.split("\n").length, 3); +} + +{ + let value = { + valueOf() + { + throw new Error("NG"); + } + }; + let error = null; + + try { + Math.pow(2, value); + } catch (e) { + error = e; + } + // global, Math.pow, and valueOf. + shouldBe(error.stack.split("\n").length, 3); +} diff --git a/implementation-contributed/javascriptcore/stress/pow-with-constants.js b/implementation-contributed/javascriptcore/stress/pow-with-constants.js new file mode 100644 index 0000000000..79e6af741d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-with-constants.js @@ -0,0 +1,285 @@ +function exponentIsZero(x) { + return x ** 0; +} +noInline(exponentIsZero); + +function testExponentIsZero() { + for (var i = 0; i < 10000; ++i) { + var result = exponentIsZero(5); + if (result !== 1) + throw "Error: zeroExponent(5) should be 1, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = exponentIsZero(5.5); + if (result !== 1) + throw "Error: zeroExponent(5.5) should be 1, was = " + result; + } +} +testExponentIsZero(); + + +function exponentIsOne(x) { + return x ** 1; +} +noInline(exponentIsOne); + +function testExponentIsOne() { + for (var i = 0; i < 10000; ++i) { + var result = exponentIsOne(5); + if (result !== 5) + throw "Error: exponentIsOne(5) should be 5, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = exponentIsOne(5.5); + if (result !== 5.5) + throw "Error: exponentIsOne(5.5) should be 5.5, was = " + result; + } +} +testExponentIsOne(); + + +function powUsedAsSqrt(x) { + return x ** 0.5; +} +noInline(powUsedAsSqrt); + +function testPowUsedAsSqrt() { + for (let i = 0; i < 1e4; ++i) { + let result = powUsedAsSqrt(4); + if (result !== Math.sqrt(4)) + throw "Error: powUsedAsSqrt(4) should be 2, was = " + result; + result = powUsedAsSqrt(4.4); + if (result !== Math.sqrt(4.4)) + throw "Error: powUsedAsSqrt(4) should be " + Math.sqrt(4.4) + ", was = " + result; + if (powUsedAsSqrt(Infinity) !== Infinity) + throw "Failed powUsedAsSqrt(Infinity)"; + if (powUsedAsSqrt(-Infinity) !== Infinity) + throw "Failed powUsedAsSqrt(-Infinity)"; + let nanResult = powUsedAsSqrt(NaN) + if (nanResult === nanResult) + throw "Failed powUsedAsSqrt(NaN)"; + let zeroResult = powUsedAsSqrt(0.) + if (zeroResult || (1 / zeroResult) !== Infinity) + throw "Failed powUsedAsSqrt(0.)"; + let negativeZeroResult = powUsedAsSqrt(-0) + if (negativeZeroResult || (1 / negativeZeroResult) !== Infinity) + throw "Failed powUsedAsSqrt(-0)"; + } +} +testPowUsedAsSqrt(); + +function powUsedAsOneOverSqrt(x) { + return x ** -0.5; +} +noInline(powUsedAsOneOverSqrt); + +function testPowUsedAsOneOverSqrt() { + for (let i = 0; i < 1e4; ++i) { + let result = powUsedAsOneOverSqrt(4); + if (result !== 0.5) + throw "Error: powUsedAsOneOverSqrt(4) should be 0.5, was = " + result; + result = powUsedAsOneOverSqrt(4.4); + if (result !== 1/Math.sqrt(4.4)) + throw "Error: powUsedAsOneOverSqrt(4) should be " + 1/Math.sqrt(4.4) + ", was = " + result; + if (powUsedAsOneOverSqrt(Infinity) !== 0) + throw "Failed powUsedAsOneOverSqrt(Infinity)"; + if (powUsedAsOneOverSqrt(-Infinity) !== 0) + throw "Failed powUsedAsOneOverSqrt(-Infinity)"; + let nanResult = powUsedAsOneOverSqrt(NaN) + if (nanResult === nanResult) + throw "Failed powUsedAsOneOverSqrt(NaN)"; + if (powUsedAsOneOverSqrt(0) !== Infinity) + throw "Failed powUsedAsOneOverSqrt(0)"; + if (powUsedAsOneOverSqrt(-0.) !== Infinity) + throw "Failed powUsedAsOneOverSqrt(-0.)"; + } +} +testPowUsedAsOneOverSqrt(); + +function powUsedAsSquare(x) { + return x ** 2; +} +noInline(powUsedAsSquare); + +function testPowUsedAsSquare() { + for (let i = 0; i < 1e4; ++i) { + let result = powUsedAsSquare(2); + if (result !== 4) + throw "Error: powUsedAsSquare(4) should be 2, was = " + result; + result = powUsedAsSquare(4.4); + if (result !== 19.360000000000003) + throw "Error: powUsedAsSquare(4) should be " + 19.360000000000003 + ", was = " + result; + result = powUsedAsSquare(Math.PI); + if (result !== 9.869604401089358) + throw "Error: powUsedAsSquare(4) should be " + 9.869604401089358 + ", was = " + result; + if (powUsedAsSquare(Infinity) !== Infinity) + throw "Failed powUsedAsSquare(Infinity)"; + if (powUsedAsSquare(-Infinity) !== Infinity) + throw "Failed powUsedAsSquare(-Infinity)"; + let nanResult = powUsedAsSquare(NaN) + if (nanResult === nanResult) + throw "Failed powUsedAsSquare(NaN)"; + let zeroResult = powUsedAsSquare(0.) + if (zeroResult || (1 / zeroResult) !== Infinity) + throw "Failed powUsedAsSquare(0.)"; + let negativeZeroResult = powUsedAsSquare(-0) + if (negativeZeroResult || (1 / negativeZeroResult) !== Infinity) + throw "Failed powUsedAsSquare(-0)"; + } +} +testPowUsedAsSquare(); + +function intIntConstantsSmallNumbers() { + return 42 ** 3; +} +function intIntConstantsLargeNumbers() { + // The result does not fit in a integer. + return 42 ** 42; +} +function intIntSmallConstants() { + return 42 ** 3; +} +function intDoubleConstants() { + return 14 ** 42.5; +} +function doubleDoubleConstants() { + return 13.5 ** 42.5; +} +function doubleIntConstants() { + return 13.5 ** 52; +} +noInline(intIntConstantsSmallNumbers); +noInline(intIntConstantsLargeNumbers); +noInline(intDoubleConstants); +noInline(doubleDoubleConstants); +noInline(doubleIntConstants); + +function testBaseAndExponentConstantLiterals() +{ + for (var i = 0; i < 10000; ++i) { + var result = intIntConstantsSmallNumbers(); + if (result !== 74088) + throw "Error: intIntConstantsSmallNumbers() should be 74088, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = intIntConstantsLargeNumbers(); + if (result !== 1.5013093754529656e+68) + throw "Error: intIntConstantsLargeNumbers() should be 1.5013093754529656e+68, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = intDoubleConstants(); + if (result !== 5.1338303882015765e+48) + throw "Error: intDoubleConstants() should be 5.1338303882015765e+48, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = doubleDoubleConstants(); + if (result !== 1.0944228729647829e+48) + throw "Error: doubleDoubleConstants() should be 1.0944228729647829e+48, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = doubleIntConstants(); + if (result !== 5.989022735311158e+58) + throw "Error: doubleIntConstants() should be 5.989022735311158e+58, was = " + result; + } +} +testBaseAndExponentConstantLiterals(); + + +function exponentIsIntegerConstant(x) { + return x ** 42; +} +noInline(exponentIsIntegerConstant); + +function testExponentIsIntegerConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsIntegerConstant(2); + if (result !== 4398046511104) + throw "Error: exponentIsIntegerConstant(2) should be 4398046511104, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsIntegerConstant(5); + if (result !== 2.2737367544323207e+29) + throw "Error: exponentIsIntegerConstant(5) should be 2.2737367544323207e+29, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsIntegerConstant(2.1); + if (result !== 34135823067412.42) + throw "Error: exponentIsIntegerConstant(2.1) should be 34135823067412.42, was = " + result; + } +} +testExponentIsIntegerConstant(); + + +function exponentIsDoubleConstant(x) { + return x ** 42.5; +} +noInline(exponentIsDoubleConstant); + +function testExponentIsDoubleConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsDoubleConstant(2); + if (result !== 6219777023950.95) + throw "Error: exponentIsDoubleConstant(2) should be 6219777023950.95, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsDoubleConstant(5); + if (result !== 5.084229945850415e+29) + throw "Error: exponentIsDoubleConstant(5) should be 5.084229945850415e+29, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsDoubleConstant(2.1); + if (result !== 49467507261113.805) + throw "Error: exponentIsDoubleConstant(2.1) should be 49467507261113.805, was = " + result; + } +} +testExponentIsDoubleConstant(); + + +function exponentIsInfinityConstant(x) { + return x ** Infinity; +} +noInline(exponentIsInfinityConstant); + +function testExponentIsInfinityConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsInfinityConstant(2); + if (result !== Infinity) + throw "Error: exponentIsInfinityConstant(2) should be Infinity, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsInfinityConstant(5); + if (result !== Infinity) + throw "Error: exponentIsInfinityConstant(5) should be Infinity, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsInfinityConstant(2.1); + if (result !== Infinity) + throw "Error: exponentIsInfinityConstant(2.1) should be Infinity, was = " + result; + } +} +testExponentIsInfinityConstant(); + + +function exponentIsNegativeInfinityConstant(x) { + return x ** -Infinity; +} +noInline(exponentIsNegativeInfinityConstant); + +function testExponentIsNegativeInfinityConstant() { + for (var i = 0; i < 1000; ++i) { + var result = exponentIsNegativeInfinityConstant(2); + if (result !== 0) + throw "Error: exponentIsNegativeInfinityConstant(2) should be zero, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsNegativeInfinityConstant(5); + if (result !== 0) + throw "Error: exponentIsNegativeInfinityConstant(5) should be zero, was = " + result; + } + for (var i = 0; i < 1000; ++i) { + var result = exponentIsNegativeInfinityConstant(2.1); + if (result !== 0) + throw "Error: exponentIsNegativeInfinityConstant(2.1) should be zero, was = " + result; + } +} +testExponentIsNegativeInfinityConstant(); diff --git a/implementation-contributed/javascriptcore/stress/pow-with-never-NaN-exponent.js b/implementation-contributed/javascriptcore/stress/pow-with-never-NaN-exponent.js new file mode 100644 index 0000000000..cd6b991aa2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/pow-with-never-NaN-exponent.js @@ -0,0 +1,24 @@ +function exponentIsNonNanDouble1(x, doubleArrayIndex) { + var doubleArray = [4.4]; + return x ** doubleArray[doubleArrayIndex]; +} +noInline(exponentIsNonNanDouble1); + +function exponentIsNonNanDouble2(x, doubleArray) { + return x ** doubleArray[0]; +} +noInline(exponentIsNonNanDouble2); + +function testExponentIsDoubleConstant() { + for (var i = 0; i < 10000; ++i) { + var result = exponentIsNonNanDouble1(2, 0); + if (result !== 21.112126572366314) + throw "Error: exponentIsNonNanDouble1(2, 0) should be 21.112126572366314, was = " + result; + } + for (var i = 0; i < 10000; ++i) { + var result = exponentIsNonNanDouble2(3, [-1.5]); + if (result !== 0.19245008972987526) + throw "Error: exponentIsNonNanDouble2(3, [-1.5]) should be 0.19245008972987526, was = " + result; + } +} +testExponentIsDoubleConstant(); diff --git a/implementation-contributed/javascriptcore/stress/primitive-poly-proto.js b/implementation-contributed/javascriptcore/stress/primitive-poly-proto.js new file mode 100644 index 0000000000..db3917dc79 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/primitive-poly-proto.js @@ -0,0 +1,53 @@ +let y = 42; +function makePolyProtoInstance() { + function foo() { + class C { + constructor() { this.x = 20; } + }; + C.prototype.y = y; + return new C; + } + + for (let i = 0; i < 5; ++i) + foo(); + return foo(); +} + +let polyProtoInstance = makePolyProtoInstance(); +String.prototype.__proto__ = polyProtoInstance; +Symbol.prototype.__proto__ = polyProtoInstance; +let strings = [ + "foo", + Symbol("foo"), + "bar", + Symbol("bar"), +]; + +function assert(b) { + if (!b) + throw new Error("Bad asssertion") +} +noInline(assert); + +function validate(s) { + assert(s.x === 20); + assert(s.y === y); + assert(s.nonExistentProperty === undefined); + assert(typeof s.hasOwnProperty === "function"); + assert(s.hasOwnProperty === Object.prototype.hasOwnProperty); +} +noInline(validate); + +for (let i = 0; i < 1000; ++i) { + for (let s of strings) { + validate(s); + } +} + +y = 27; +polyProtoInstance.__proto__ = {z:400, y: y}; +for (let i = 0; i < 1000; ++i) { + for (let s of strings) { + validate(s); + } +} diff --git a/implementation-contributed/javascriptcore/stress/private-name-as-anonymous-builtin.js b/implementation-contributed/javascriptcore/stress/private-name-as-anonymous-builtin.js new file mode 100644 index 0000000000..41081f930a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/private-name-as-anonymous-builtin.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var executorFunction; +function NotPromise(executor) { + executorFunction = executor; + executor(function(){}, function(){}); +} +Promise.resolve.call(NotPromise); + +shouldBe(JSON.stringify(Object.getOwnPropertyNames(executorFunction).sort()), `["length"]`); +shouldBe(executorFunction.hasOwnProperty('name'), false); +shouldBe(executorFunction.name, ``); +shouldBe(delete executorFunction.name, true); diff --git a/implementation-contributed/javascriptcore/stress/promise-cannot-be-called.js b/implementation-contributed/javascriptcore/stress/promise-cannot-be-called.js new file mode 100644 index 0000000000..94629d4605 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/promise-cannot-be-called.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: {String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var executorCalled = false; +shouldThrow(() => { + Promise(function (resolve, reject) { executorCalled = true; }); +}, `TypeError: calling Promise constructor without new is invalid`); +shouldBe(executorCalled, false); + +// But should accept inheriting Promise. +class Deferred extends Promise { + constructor() + { + let resolve, reject; + super(function (aResolve, aReject) { + this.resolve = aResolve; + this.reject = aReject; + }); + } +} + +{ + let deferred = new Deferred(); + shouldBe(deferred.__proto__, Deferred.prototype); + shouldBe(deferred.__proto__.__proto__, Promise.prototype); + shouldBe(Deferred.__proto__, Promise); +} diff --git a/implementation-contributed/javascriptcore/stress/promise-finally.js b/implementation-contributed/javascriptcore/stress/promise-finally.js new file mode 100644 index 0000000000..5de266ba69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/promise-finally.js @@ -0,0 +1,387 @@ +var assert = function (result, expected, message = "") { + if (result !== expected) { + throw new Error('Error in assert. Expected "' + expected + '" but was "' + result + '":' + message ); + } +}; + +const Logger = function () { + var log = []; + + this.logEvent = (type, value) => { + log.push({ type, value}); + }; + this.logFulfilledEvent = (value) => { + this.logEvent('fulfilled', value); + }; + this.logRejectEvent = error => { + this.logEvent('reject', error.toString()); + }; + this.logFinallyEvent = value => { + this.logEvent('finally', value === undefined ? 'undefined' : value.toString()); + }; + this.logCatchEvent = value => { + this.logEvent('catch', value.toString()); + }; + this.getLogger = () => log; + + this.clear = () => { + log = []; + } +}; + +var logger = new Logger(); + +const fulfillSpy = (logger => result => logger.logFulfilledEvent(result))(logger); +const rejectSpy = (logger => error => logger.logRejectEvent(error))(logger); +const catchSpy = (logger => error => logger.logCatchEvent(error))(logger); +const finallySpy = (logger => value => logger.logFinallyEvent(value))(logger); + +const assertLogger = function (loggerObject) { + const logger = loggerObject.getLogger(); + + var _assertLogger = function () { + let index = 0; + + const isNotOutOfLength = () => { + assert(index < logger.length, true, `Index is greater then log length`); + } + + this.fullfilled = function (expectedValue, message = 'on fulfill') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'fulfilled', msg); + assert(step.value, expectedValue, msg); + + index++; + return this; + }; + + this.rejected = function (error, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'reject', msg); + assert(step.value, error === undefined ? 'undefined' : error.toString(), msg); + + index++; + return this; + }; + + this.finally = function (value, message = 'on reject') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'finally', msg); + assert(step.value, value === undefined ? 'undefined' : value.toString(), msg); + index++; + return this; + }; + + this.catched = function (expectedError, message = 'on catch') { + isNotOutOfLength(); + + const msg = `step: ${index} - ${message}`; + let step = logger[index]; + + assert(step.type, 'catch', msg); + assert(step.value, expectedError === undefined ? 'undefined' : expectedError.toString(), msg); + + index++; + return this; + }; + + this.isFinal = function (message = '') { + assert(index, logger.length, `expected final step: ${message}`); + }; + }; + + return new _assertLogger(); +}; + +logger.clear(); +Promise.resolve(1).finally(finallySpy); +drainMicrotasks(); + +assertLogger(logger) + .finally() + .isFinal(); + + +logger.clear(); +Promise.reject(1).finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .finally() + .isFinal(); + +logger.clear(); +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value'}, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .finally() + .isFinal(); + +logger.clear(); +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value-1'}, rejectSpy) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value-2'}, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .fullfilled("some-value-1") + .finally() + .isFinal(); + +logger.clear(); +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#'); return 'some-value-1'; }, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .finally() + .isFinal(); + +logger.clear(); +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#'); return 'some-value-1'; }, rejectSpy) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value-2'; }, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .rejected(new Error("error#")) + .finally() + .isFinal(); + +logger.clear(); +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#'); return 'some-value-1'; }, rejectSpy) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value-2'; }, rejectSpy) + .catch(catchSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .rejected(new Error("error#")) + .finally() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#'); return 'some-value-1'; }, rejectSpy) + .catch(catchSpy) + .finally(finallySpy) + .then(fulfillSpy, rejectSpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .catched(new Error('error#')) + .finally() + .fullfilled() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#'); return 'some-value-1'; }, rejectSpy) + .catch(catchSpy) + .finally(finallySpy) + .catch(catchSpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .catched(new Error('error#')) + .finally() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#'); return 'some-value-1'; }, rejectSpy) + .catch(catchSpy) + .finally(finallySpy) + .then(fulfillSpy, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .catched(new Error('error#')) + .finally() + .fullfilled() + .finally() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#1'); return 'some-value-1'; }, rejectSpy) + .catch(catchSpy) + .finally(() => { finallySpy(); throw new Error('error#2'); } ) + .then(fulfillSpy, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .catched(new Error('error#1')) + .finally() + .rejected(new Error('error#2')) + .finally() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); throw new Error('error#1'); return 'some-value-1'; }, rejectSpy) + .catch(catchSpy) + .finally(() => { finallySpy(); throw new Error('error#2'); } ) + .catch(catchSpy) + .finally(); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .catched(new Error('error#1')) + .finally() + .catched(new Error('error#2')) + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value-1'; }) + .finally(VALUE => { finallySpy(VALUE); return 'value'; } ) + .then(fulfillSpy, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .finally() + .fullfilled('some-value-1') + .finally() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .then(VALUE => { fulfillSpy(VALUE); return 'some-value-1'; }) + .finally(VALUE => { finallySpy(VALUE); return 'value'; } ) + .then(fulfillSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .fullfilled(1) + .finally() + .fullfilled('some-value-1') + .finally() + .isFinal(); + +logger.clear(); + +Promise.resolve(1) + .finally(VALUE => { finallySpy(VALUE); return 'value'; } ) + .then(fulfillSpy, rejectSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .finally() + .fullfilled(1) + .finally() + .isFinal(); + +logger.clear(); + +Promise.reject(1) + .then(fulfillSpy, VALUE => { rejectSpy(VALUE); return 'some-value-1'; }) + .finally(VALUE => { finallySpy(VALUE); return 'value'; } ) + .then(fulfillSpy) + .finally(finallySpy); + +drainMicrotasks(); + +assertLogger(logger) + .rejected(1) + .finally() + .fullfilled('some-value-1') + .finally() + .isFinal(); + +logger.clear(); + +var obj = {}; + +var p = Promise.resolve(obj); + +p.finally(function () { + finallySpy(arguments.length); + return {}; +}).then(function (x) { + fulfillSpy(x === obj); +}); + +drainMicrotasks(); + +assertLogger(logger) + .finally(0) + .fullfilled(true) + .isFinal(); + + +logger.clear(); + +p = Promise.reject(obj); + +p.finally(function () { + finallySpy(arguments.length); + return {}; +}).then(function (x) { + fulfillSpy(x === obj); +}, function (x) { + rejectSpy(x === obj); +}); + +drainMicrotasks(); + +assertLogger(logger) + .finally(0) + .rejected(true) + .isFinal(); diff --git a/implementation-contributed/javascriptcore/stress/promise-infinite-recursion-should-not-crash.js b/implementation-contributed/javascriptcore/stress/promise-infinite-recursion-should-not-crash.js new file mode 100644 index 0000000000..cb261f9c5a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/promise-infinite-recursion-should-not-crash.js @@ -0,0 +1,14 @@ +//@ defaultNoSamplingProfilerRun + +// This should not crash +var boundFunc; + +function testPromise(func) { + var p1 = new Promise(func); +} +function promiseFunc(resolve, reject) { + boundFunc(); +} + +boundFunc = testPromise.bind(null, promiseFunc); +boundFunc(); diff --git a/implementation-contributed/javascriptcore/stress/promise-species-functions.js b/implementation-contributed/javascriptcore/stress/promise-species-functions.js new file mode 100644 index 0000000000..86289300e9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/promise-species-functions.js @@ -0,0 +1,72 @@ +C = class extends Promise { } +N = class { } +N[Symbol.species] = function() { throw "this should never be called"; } + +function id(x) { return x; } + +testFunctions = [ + [Promise.prototype.then, [id]] +]; + +objProp = Object.defineProperty; + +function funcThrows(func, args) { + try { + func.call(...args) + return false; + } catch (e) { + return true; + } +} + +function makeC() { + return new C(function(resolve) { resolve(1); }); +} + +function test(testData) { + "use strict"; + let [protoFunction, args] = testData; + let foo = makeC() + let n = new N(); + + // Test promise defaults cases. + foo = makeC(); + + objProp(C, Symbol.species, { value: undefined, writable: true}); + let bar = protoFunction.call(foo, ...args); + if (!(bar instanceof Promise) || bar instanceof C) + throw Error(); + + C[Symbol.species] = null; + bar = protoFunction.call(foo, ...args); + if (!(bar instanceof Promise) || bar instanceof C) + throw Error(); + + // Test species is custom constructor. + let called = false; + function species() { + called = true; + return new C(...arguments); + } + + C[Symbol.species] = species; + bar = protoFunction.call(foo, ...args); + + if (!(bar instanceof Promise) || !(bar instanceof C) || !called) + throw Error("failed on " + protoFunction); + + function speciesThrows() { + throw Error(); + } + + C[Symbol.species] = speciesThrows; + if (!funcThrows(protoFunction, [foo, ...args])) + throw "didn't throw"; + + C[Symbol.species] = true; + if (!funcThrows(protoFunction, [foo, ...args])) + throw "didn't throw"; + +} + +testFunctions.forEach(test); diff --git a/implementation-contributed/javascriptcore/stress/prop-type-boolean-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-boolean-then-string.js new file mode 100644 index 0000000000..2e0ca6ecef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-boolean-then-string.js @@ -0,0 +1,29 @@ +function foo(o) { + return !!o.f; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, true); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== true) + throw "Error: bad result: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== true) + throw "Error: bad result at end (true): " + result; +bar(o, ""); +result = foo(o); +if (result !== false) + throw "Error: bad result at end (false): " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-int32-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-int32-then-string.js new file mode 100644 index 0000000000..ed0b71946f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-int32-then-string.js @@ -0,0 +1,25 @@ +function foo(o) { + return o.f + 1; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, 42); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 43) + throw "Error: bad result: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== "hello1") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-number-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-number-then-string.js new file mode 100644 index 0000000000..65d96a2c8d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-number-then-string.js @@ -0,0 +1,25 @@ +function foo(o) { + return o.f + 1; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, 4.2); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 5.2) + throw "Error: bad result: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== "hello1") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-object-or-other-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-object-or-other-then-string.js new file mode 100644 index 0000000000..016d6a0573 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-object-or-other-then-string.js @@ -0,0 +1,33 @@ +String.prototype.g = 44; + +function foo(o) { + return o.f == {toString:function() { return "hello"; }}; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +var p = {}; +for (var i = 0; i < 5; ++i) + bar(o, null); +for (var i = 0; i < 5; ++i) + bar(p, {g:43}); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== false) + throw "Error: bad result for o: " + result; + result = foo(p); + if (result !== false) + throw "Error: bad result for p: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== true) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-object-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-object-then-string.js new file mode 100644 index 0000000000..2747405eb6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-object-then-string.js @@ -0,0 +1,25 @@ +function foo(o) { + return o.f == {toString:function() { return "hello"; }}; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, {}); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== false) + throw "Error: bad result: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== true) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-other-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-other-then-string.js new file mode 100644 index 0000000000..a1706a9a74 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-other-then-string.js @@ -0,0 +1,25 @@ +function foo(o) { + return o.f == "hello"; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, null); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== false) + throw "Error: bad result: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== true) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-string-then-object.js b/implementation-contributed/javascriptcore/stress/prop-type-string-then-object.js new file mode 100644 index 0000000000..8683614b88 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-string-then-object.js @@ -0,0 +1,25 @@ +function foo(o) { + return o.f + " world"; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, "hello"); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result != "hello world") + throw "Error: bad result: " + result; +} + +bar(o, {toString: function() { return "hello"; }}); +var result = foo(o); +if (result != "hello world") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-struct-or-other-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-struct-or-other-then-string.js new file mode 100644 index 0000000000..2b22b58dc6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-struct-or-other-then-string.js @@ -0,0 +1,36 @@ +String.prototype.g = 44; + +function foo(o) { + var tmp = o.f; + if (tmp) + return tmp.g; + return 42; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +var p = {}; +for (var i = 0; i < 5; ++i) + bar(o, null); +for (var i = 0; i < 5; ++i) + bar(p, {g:43}); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 42) + throw "Error: bad result for o: " + result; + result = foo(p); + if (result !== 43) + throw "Error: bad result for p: " + result; +} + +bar(o, "hello"); +var result = foo(o); +if (result !== 44) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-fold.js b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-fold.js new file mode 100644 index 0000000000..2c1d4570a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-fold.js @@ -0,0 +1,34 @@ +// This is like prop-type-struct-then-object.js, but it checks that the optimizing JITs emit the right type +// check above a hot put_by_id that starts polymorphic but is folded by AI. + +function foo(o) { + return o.f.g; +} + +function bar(o, p, v) { + if (isFinalTier() || o == p) { + var tmp = p.f; + o = p; + } + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {f:{g:42}}; +for (var i = 0; i < 10000; ++i) { + bar(o, o, {g:42}); + bar({a:1, b:2}, o, {g:42}); +} + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 42) + throw "Error: bad result: " + result; +} + +bar(o, o, Object.create({g:43})); +var result = foo(o); +if (result !== 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-multi.js b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-multi.js new file mode 100644 index 0000000000..98d0a1fce6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt-multi.js @@ -0,0 +1,30 @@ +// This is like prop-type-struct-then-object.js, but it checks that the optimizing JITs emit the right type +// check above a hot polymorphic put_by_id that ends up being compiled as a MultiPutByOffset. + +function foo(o) { + return o.f.g; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {f:{g:42}}; +for (var i = 0; i < 10000; ++i) { + bar(o, {g:42}); + bar({a:1, b:2}, 42); +} + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 42) + throw "Error: bad result: " + result; +} + +bar(o, Object.create({g:43})); +var result = foo(o); +if (result !== 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt.js b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt.js new file mode 100644 index 0000000000..af7b91e20b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object-opt.js @@ -0,0 +1,28 @@ +// This is like prop-type-struct-then-object.js, but it checks that the optimizing JITs emit the right type +// check above a hot put_by_id. + +function foo(o) { + return o.f.g; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {f:{g:42}}; +for (var i = 0; i < 10000; ++i) + bar(o, {g:42}); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 42) + throw "Error: bad result: " + result; +} + +bar(o, Object.create({g:43})); +var result = foo(o); +if (result !== 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object.js b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object.js new file mode 100644 index 0000000000..cf4cc185a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-struct-then-object.js @@ -0,0 +1,25 @@ +function foo(o) { + return o.f.g; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, {g:42}); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== 42) + throw "Error: bad result: " + result; +} + +bar(o, Object.create({g:43})); +var result = foo(o); +if (result !== 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-symbol-then-object.js b/implementation-contributed/javascriptcore/stress/prop-type-symbol-then-object.js new file mode 100644 index 0000000000..d3c09efc1c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-symbol-then-object.js @@ -0,0 +1,25 @@ +function foo(o) { + return typeof o.f; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, Symbol("Cocoa")); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result != "symbol") + throw "Error: bad result: " + result; +} + +bar(o, {toString: function() { return "hello"; }}); +var result = foo(o); +if (result != "object") + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/prop-type-symbol-then-string.js b/implementation-contributed/javascriptcore/stress/prop-type-symbol-then-string.js new file mode 100644 index 0000000000..eef6c45e01 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prop-type-symbol-then-string.js @@ -0,0 +1,26 @@ +function foo(o) { + return typeof o.f === "symbol"; +} + +function bar(o, v) { + o.f = v; +} + +noInline(foo); +noInline(bar); + +var o = {}; +for (var i = 0; i < 5; ++i) + bar(o, Symbol("Cocoa")); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== true) + throw "Error: bad result: " + result; +} + +bar(o, "hello"); +var result = foo(o); +result = foo(o); +if (result !== false) + throw "Error: bad result at end (false): " + result; diff --git a/implementation-contributed/javascriptcore/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js b/implementation-contributed/javascriptcore/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js new file mode 100644 index 0000000000..619461dc81 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proper-flushing-when-we-insert-unreachable-after-force-exit-in-bytecode-parser.js @@ -0,0 +1,27 @@ +function test(b, f) { + if (b) + return f(b); +} +noInline(test); + +function throwError(b) { + if (b) { + try { + throw new Error; + } catch(e) { } + } + return 2; +} +noInline(throwError); + +function makeFoo() { + return function foo(b) { + throwError(b); + OSRExit(); + } +} + +let foos = [makeFoo(), makeFoo()]; +for (let i = 0; i < 10000; ++i) { + test(!!(i%2), foos[((Math.random() * 100) | 0) % foos.length]); +} diff --git a/implementation-contributed/javascriptcore/stress/proper-property-store-with-prototype-property-that-is-not-writable.js b/implementation-contributed/javascriptcore/stress/proper-property-store-with-prototype-property-that-is-not-writable.js new file mode 100644 index 0000000000..10485f73c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proper-property-store-with-prototype-property-that-is-not-writable.js @@ -0,0 +1,13 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +let x = (new Set)[Symbol.iterator](); +assert(x[Symbol.toStringTag] === "Set Iterator"); + +let y = {__proto__: x}; +assert(y[Symbol.toStringTag] === "Set Iterator"); +y[Symbol.toStringTag] = 25; +assert(y[Symbol.toStringTag] === "Set Iterator"); +assert(x[Symbol.toStringTag] === "Set Iterator"); diff --git a/implementation-contributed/javascriptcore/stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js b/implementation-contributed/javascriptcore/stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js new file mode 100644 index 0000000000..abf8672354 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/property-name-enumerator-should-not-look-into-indexed-values-when-it-is-a-dictionary.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +(function() { + "use strict"; + var cols = {"col":{"title":" ","type":"sys","events":[],"name":0,"id":0,"_i":0}}; + var len = 0; + var remapcols = ['col']; + for (var i = 0; i < remapcols.length; i++) { + cols[cols[remapcols[i]].name] = cols[remapcols[i]]; + delete cols[remapcols[i]]; + } + var count = 0; + for (var col2 in cols) { + count++; + shouldBe(col2, '0'); + } + shouldBe(count, 1); +}()); + +(function() { + "use strict"; + var cols = {"col":{"title":" ","type":"sys","events":[],"name":0,"id":0,"_i":0}}; + var len = 0; + var remapcols = ['col']; + for (var i = 0; i < remapcols.length; i++) { + cols[cols[remapcols[i]].name] = cols[remapcols[i]]; + delete cols[remapcols[i]]; + } + var count = 0; + for (var col2 in cols) { + count++; + shouldBe(col2, '0'); + } + shouldBe(count, 1); +}()); diff --git a/implementation-contributed/javascriptcore/stress/property-setters-should-not-be-called-for-bound-arguments-list-entries.js b/implementation-contributed/javascriptcore/stress/property-setters-should-not-be-called-for-bound-arguments-list-entries.js new file mode 100644 index 0000000000..d67862ff32 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/property-setters-should-not-be-called-for-bound-arguments-list-entries.js @@ -0,0 +1,8 @@ +Object.defineProperty(Array.prototype, "0", { + set: () => { + throw "ERROR: setter should not be called for bound arguments list"; + } +}); + +function dummy() { } +var f = dummy.bind({}, 1, 2, 3, 4); diff --git a/implementation-contributed/javascriptcore/stress/proto-setter.js b/implementation-contributed/javascriptcore/stress/proto-setter.js new file mode 100644 index 0000000000..33b7afab82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proto-setter.js @@ -0,0 +1,8 @@ +// RegExp.input is a handy setter + +var o = {}; + +for (var k = 0; k < 9; k++) { + o = {__proto__ : o }; +} + diff --git a/implementation-contributed/javascriptcore/stress/prototype-chain-has-dictionary-structure-for-in-caching.js b/implementation-contributed/javascriptcore/stress/prototype-chain-has-dictionary-structure-for-in-caching.js new file mode 100644 index 0000000000..4f1a86f3c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prototype-chain-has-dictionary-structure-for-in-caching.js @@ -0,0 +1,36 @@ + +function assert(b) { + if (!b) + throw new Error("Bad") +} + +var Test = function(){}; + +let methodNumber = 0; +function addMethods() { + const methodCount = 65; + for (var i = 0; i < methodCount; i++){ + Test.prototype['myMethod' + i + methodNumber] = function(){}; + ++methodNumber; + } +} + +addMethods(); + +var test1 = new Test(); + +for (var k in test1) { } + +let test2 = new Test(); + +for (let i = 0; i < 100; ++i ) { + let propName = 'myAdditionalMethod' + i; + Test.prototype[propName] = function(){}; + let foundNewPrototypeProperty = false; + for (let k in test2) { + if (propName === k) + foundNewPrototypeProperty = true; + } + assert(foundNewPrototypeProperty); + addMethods(); +} diff --git a/implementation-contributed/javascriptcore/stress/prototype-getter.js b/implementation-contributed/javascriptcore/stress/prototype-getter.js new file mode 100644 index 0000000000..07f516786d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prototype-getter.js @@ -0,0 +1,21 @@ +function Foo(g) { + this.g_ = g; +} +Foo.prototype.__defineGetter__("f", function() { return this.g_ + 32; }); +Foo.prototype.__defineGetter__("g", function() { return this.g_ + 33; }); +Foo.prototype.__defineGetter__("h", function() { return this.g_ + 34; }); +Foo.prototype.__defineGetter__("i", function() { return this.g_ + 35; }); +Foo.prototype.__defineGetter__("j", function() { return this.g_ + 36; }); +Foo.prototype.__defineGetter__("k", function() { return this.g_ + 37; }); + +function foo(o) { + return o.f + o.k * 1000; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) { + var result = foo(new Foo(5)); + if (result != (32 + 5) + (37 + 5) * 1000) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/prototype-is-not-js-object.js b/implementation-contributed/javascriptcore/stress/prototype-is-not-js-object.js new file mode 100644 index 0000000000..6ae2ca1e53 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prototype-is-not-js-object.js @@ -0,0 +1,32 @@ +function foo() { + function bar() { + this.x = 42; + } + bar.prototype = 50; + return new bar(); +} + +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +let items = [ + foo(), + foo(), + foo(), + foo(), + foo(), + foo(), +]; + +function validate(item) { + assert(item.notThere === undefined); + assert(item.x === 42); + assert(item.__proto__ === Object.prototype); +} + +for (let i = 0; i < 10000; ++i) { + for (let item of items) + validate(item); +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-all-the-parameters.js b/implementation-contributed/javascriptcore/stress/proxy-all-the-parameters.js new file mode 100644 index 0000000000..4de6ccc831 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-all-the-parameters.js @@ -0,0 +1,68 @@ +const verbose = false; + +function isPropertyOfType(obj, name, type) { + let desc; + desc = Object.getOwnPropertyDescriptor(obj, name) + return typeof type === 'undefined' || typeof desc.value === type; +} + +function getProperties(obj, type) { + let properties = []; + for (let name of Object.getOwnPropertyNames(obj)) { + if (isPropertyOfType(obj, name, type)) + properties.push(name); + } + return properties; +} + +function* generateObjects(root = this, level = 0) { + if (level > 4) + return; + let obj_names = getProperties(root, 'object'); + for (let obj_name of obj_names) { + if (obj_name.startsWith('$')) + continue; // Ignore internal objects. + let obj = root[obj_name]; + yield obj; + yield* generateObjects(obj, level + 1); + } +} + +function getObjects() { + let objects = []; + for (let obj of generateObjects()) + if (!objects.includes(obj)) + objects.push(obj); + return objects; +} + +function getFunctions(obj) { + return getProperties(obj, 'function'); +} + +const thrower = new Proxy({}, { get() { throw 0xc0defefe; } }); + +for (let o of getObjects()) { + for (let f of getFunctions(o)) { + const arityPlusOne = o[f].length + 1; + if (verbose) + print(`Calling ${o}['${f}'](${Array(arityPlusOne).fill("thrower")})`); + try { + o[f](Array(arityPlusOne).fill(thrower)); + } catch (e) { + if (`${e}`.includes('constructor without new is invalid')) { + try { + if (verbose) + print(` Constructing instead`); + new o[f](Array(arityPlusOne).fill(thrower)); + } catch (e) { + if (verbose) + print(` threw ${e}`); + } + } else { + if (verbose) + print(` threw ${e}`); + } + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-and-json-stringify.js b/implementation-contributed/javascriptcore/stress/proxy-and-json-stringify.js new file mode 100644 index 0000000000..a437ebc37d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-and-json-stringify.js @@ -0,0 +1,28 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +// This test just ensure that proxy.[[Get]]'s throwing works correctly with JSON.stringify. +var proxy = new Proxy([0, 1, 2, 3], { + get: function (target, name) + { + if (name === '2') + throw new Error('ng'); + return target[name]; + } +}); + +shouldThrow(() => { + JSON.stringify(proxy); +}, `Error: ng`); diff --git a/implementation-contributed/javascriptcore/stress/proxy-and-typed-array.js b/implementation-contributed/javascriptcore/stress/proxy-and-typed-array.js new file mode 100644 index 0000000000..145c0d67cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-and-typed-array.js @@ -0,0 +1,17 @@ +var array = [0, 1, 2, 3]; +var proxy = new Proxy(array, { + get: function (target, name, receiver) + { + throw new Error(String(name)); + } +}); +var thrown = null; +try { + var typedArray = new Uint8Array(proxy); +} catch (error) { + thrown = error; +} +if (thrown === null) + throw new Error(`not thrown`); +if (String(thrown) !== `Error: Symbol(Symbol.iterator)`) + throw new Error(`bad error: ${String(thrown)}`); diff --git a/implementation-contributed/javascriptcore/stress/proxy-array-prototype-methods.js b/implementation-contributed/javascriptcore/stress/proxy-array-prototype-methods.js new file mode 100644 index 0000000000..8e71b5ae55 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-array-prototype-methods.js @@ -0,0 +1,204 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} + +function test(f) { + for (let i = 0; i < 1000; i++) + f(); +} + +function shallowEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; +} + +test(function() { + let delProps = new Set; + let hasProps = new Set; + let getProps = new Set; + let target = [ , , 1, , 4]; + let handler = { + get(theTarget, key) { + getProps.add(key); + return Reflect.get(theTarget, key); + }, + has(theTarget, key) { + hasProps.add(key); + return Reflect.has(theTarget, key); + }, + deleteProperty(theTarget, key) + { + delProps.add(key); + return Reflect.deleteProperty(theTarget, key); + } + }; + + let proxy = new Proxy(target, handler); + proxy.unshift(20); + + assert(delProps.size === 3); + assert(delProps.has("1")); + assert(delProps.has("2")); + assert(delProps.has("4")); + + assert(hasProps.size === 5); + assert(hasProps.has("0")); + assert(hasProps.has("1")); + assert(hasProps.has("2")); + assert(hasProps.has("3")); + assert(hasProps.has("4")); + + assert(getProps.size === 4); + assert(getProps.has("unshift")); + assert(getProps.has("length")); + assert(getProps.has("2")); + assert(getProps.has("4")); +}); + +test(function() { + let delProps = new Set; + let hasProps = new Set; + let getProps = new Set; + let target = [ 0, 0, , 1, , 4]; + let handler = { + get(theTarget, key) { + getProps.add(key); + return Reflect.get(theTarget, key); + }, + has(theTarget, key) { + hasProps.add(key); + return Reflect.has(theTarget, key); + }, + deleteProperty(theTarget, key) + { + delProps.add(key); + return Reflect.deleteProperty(theTarget, key); + } + }; + + let proxy = new Proxy(target, handler); + proxy.shift(); + assert(target.length === 5); + + assert(delProps.size === 3); + assert(delProps.has("1")); + assert(delProps.has("3")); + assert(delProps.has("5")); + + assert(hasProps.size === 5); + assert(hasProps.has("1")); + assert(hasProps.has("2")); + assert(hasProps.has("3")); + assert(hasProps.has("4")); + assert(hasProps.has("5")); + + assert(getProps.size === 6); + assert(getProps.has("shift")); + assert(getProps.has("length")); + assert(getProps.has("0")); + assert(getProps.has("1")); + assert(getProps.has("3")); + assert(getProps.has("5")); +}); + +test(function() { + let delProps = new Set; + let hasProps = new Set; + let getProps = new Set; + let target = [ 0, , 1, , 2]; + let handler = { + get(theTarget, key) { + getProps.add(key); + return Reflect.get(theTarget, key); + }, + has(theTarget, key) { + hasProps.add(key); + return Reflect.has(theTarget, key); + }, + deleteProperty(theTarget, key) + { + delProps.add(key); + return Reflect.deleteProperty(theTarget, key); + } + }; + + let proxy = new Proxy(target, handler); + proxy.splice(2, 2); + + assert(delProps.size === 2); + assert(delProps.has("3")); + assert(delProps.has("4")); + + assert(hasProps.size === 3); + assert(hasProps.has("2")); + assert(hasProps.has("3")); + assert(hasProps.has("4")); + + assert(getProps.size === 5); + assert(getProps.has("splice")); + assert(getProps.has("length")); + assert(getProps.has("constructor")); + assert(getProps.has("2")); + assert(getProps.has("4")); +}); + +test(function() { + let delProps = new Set; + let hasProps = new Set; + let getProps = new Set; + let target = [ 0, , 1, , 2]; + let handler = { + get(theTarget, key) { + getProps.add(key); + return Reflect.get(theTarget, key); + }, + has(theTarget, key) { + hasProps.add(key); + return Reflect.has(theTarget, key); + }, + deleteProperty(theTarget, key) + { + delProps.add(key); + return Reflect.deleteProperty(theTarget, key); + } + }; + + let proxy = new Proxy(target, handler); + proxy.slice(1, 5); + + assert(delProps.size === 0); + + assert(hasProps.size === 4); + assert(hasProps.has("1")); + assert(hasProps.has("2")); + assert(hasProps.has("3")); + assert(hasProps.has("4")); + + assert(getProps.size === 5); + assert(getProps.has("slice")); + assert(getProps.has("length")); + assert(getProps.has("constructor")); + assert(getProps.has("2")); + assert(getProps.has("4")); +}); + +test(function() { + let x = [1,2,3]; + x.__proto__ = new Proxy([], { + get(theTarget, prop, receiver) { + assert(prop === "shift"); + assert(receiver === x); + return Reflect.get(theTarget, prop); + } + }); + x.shift(); + assert(x.length === 2); + assert(x[0] === 2); + assert(x[1] === 3); +}); diff --git a/implementation-contributed/javascriptcore/stress/proxy-basic.js b/implementation-contributed/javascriptcore/stress/proxy-basic.js new file mode 100644 index 0000000000..c0ec1578ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-basic.js @@ -0,0 +1,335 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +assert(Proxy instanceof Function); +assert(Proxy.length === 2); +assert(Proxy.prototype === undefined); + +{ + for (let i = 0; i < 100; i++) + assert((new Proxy({}, {})).__proto__ === Object.prototype); +} + +{ + for (let i = 0; i < 100; i++) { + let threw = false; + try { + new Proxy({}, 20); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: A Proxy's 'handler' should be an Object"); + } + assert(threw); + } +} + +{ + for (let i = 0; i < 100; i++) { + let threw = false; + try { + new Proxy({}, ""); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: A Proxy's 'handler' should be an Object"); + } + assert(threw); + } +} + +{ + for (let i = 0; i < 100; i++) { + let threw = false; + try { + new Proxy(20, {}); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: A Proxy's 'target' should be an Object"); + } + assert(threw); + } +} + +{ + for (let i = 0; i < 100; i++) { + let threw = false; + try { + new Proxy("", {}); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: A Proxy's 'target' should be an Object"); + } + assert(threw); + } +} + +{ + // When we call Proxy it should throw + for (let i = 0; i < 100; i++) { + let threw = false; + try { + Proxy({}, {}); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: calling Proxy constructor without new is invalid"); + } + assert(threw === true); + } + + let theTarget = { + x: 30 + }; + + let handler = { + get: function(target, propName, proxyArg) { + assert(target === theTarget); + assert(proxyArg === proxy); + if (propName === "y") + return 45; + assert(propName === "x"); + return target[propName]; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 1000; i++) { + assert(proxy.x === 30); + assert(proxy.y === 45); + assert(proxy["x"] === 30); + assert(proxy["y"] === 45); + } + +} + +{ + let handler = {get: null}; + let target = {x: 20}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + if (i % 2) + proxy.foo; + else + proxy["foo"]; + } catch(e) { + threw = true; + } + assert(!threw); + } +} + +{ + let handler = {get: {}}; + let target = {x: 20}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + if (i % 2) + proxy.foo; + else + proxy["foo"]; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: 'get' property of a Proxy's handler object should be callable"); + } + assert(threw); + } +} + +{ + let handler = {}; + let target = {x: 20}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy.x === 20); + assert(proxy.y === undefined); + } +} + +{ + let handler = {}; + let target = [1, 2, 3]; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy[0] === 1); + assert(proxy[1] === 2); + assert(proxy[2] === 3); + } +} + +{ + let theTarget = [1, 2, 3]; + let handler = { + get: function(target, propName, proxyArg) { + switch (propName) { + case "0": + case "1": + return 100; + case "2": + case "length": + return target[propName]; + } + assert(false); + } + }; + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 500; i++) { + assert(proxy[0] === 100); + assert(proxy[1] === 100); + assert(proxy[2] === 3); + assert(proxy.length === 3); + assert(proxy["length"] === 3); + } +} + +{ + let wasCalled = false; + let theTarget = { + get x() { + wasCalled = true; + return 25; + } + }; + let j = 0; + let handler = { + get: function(target, propName, proxyArg) { + assert(target === theTarget); + let x = j++; + if (x % 2) + return target[propName]; + else + return "hello"; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 500; i++) { + if (i % 2) + assert(proxy.x === 25); + else + assert(proxy.x === "hello"); + + } + + assert(wasCalled); +} + +{ + let theTarget = { + x: 40 + }; + let handler = { + get: function(target, propName, proxyArg) { + return 30; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 500; i++) { + assert(proxy.x === 30); + } + handler.get = undefined; + for (let i = 0; i < 500; i++) { + assert(proxy.x === 40); + } +} + +{ + let error = null; + let theTarget = new Proxy({}, { + getOwnPropertyDescriptor: function(theTarget, propName) { + error = new Error("hello!") + throw error; + } + }); + + let handler = { + get: function(target, propName, proxyArg) { + return 30; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 500; i++) { + try { + proxy.x; + } catch(e) { + assert(e === error); + } + } +} + +{ + let field = Symbol(); + let theTarget = { + [field]: 40 + }; + let handler = { + get: function(target, propName, proxyArg) { + assert(propName === field); + return target[field]; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 500; i++) { + assert(proxy[field] === 40); + } +} + +{ + let prop = Symbol(); + let theTarget = { }; + Object.defineProperty(theTarget, prop, { + enumerable: true, + configurable: true + }); + let called = false; + let handler = { + getOwnPropertyDescriptor: function(target, propName) { + assert(prop === propName); + called = true; + return { + enumerable: true, + configurable: true + }; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 100; i++) { + let pDesc = Object.getOwnPropertyDescriptor(proxy, prop); + assert(pDesc.configurable); + assert(pDesc.enumerable); + assert(called); + called = false; + } +} + +{ + let prop = Symbol(); + let theTarget = { }; + Object.defineProperty(theTarget, prop, { + enumerable: true, + configurable: true + }); + let called = false; + let handler = { + has: function(target, propName) { + assert(prop === propName); + called = true; + return true; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 100; i++) { + let result = prop in proxy; + assert(result); + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-call-apply-handler-to-this.js b/implementation-contributed/javascriptcore/stress/proxy-call-apply-handler-to-this.js new file mode 100644 index 0000000000..9507bd9446 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-call-apply-handler-to-this.js @@ -0,0 +1,39 @@ +//@ runDefault("--useBigInt=1") + +let expectedThis; + +function applyHandler(target, thisValue) { + if (thisValue !== expectedThis) + throw new Error("got weird this value: " + thisValue); +} + +let handler = { + apply: applyHandler +}; +let f = new Proxy(function() {}, handler); + +function withScope(o) { + with (o) { + f(); + } +} + +function lexicalScope() { + let x; + f(); +} + +// globalScope +f(); + +function strictEvalScope() { + "use strict"; + eval("var x; f();"); +} + +let primitives = [undefined, null, true, 1.324, "test", Symbol("test"), BigInt(12), {}, []]; + +for (let primitive of primitives) { + expectedThis = primitive; + f.call(primitive); +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-call.js b/implementation-contributed/javascriptcore/stress/proxy-call.js new file mode 100644 index 0000000000..b3b5eff841 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-call.js @@ -0,0 +1,394 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = function foo(...args) { + assert(args[0] === 10); + assert(args[1] === 20); + return "foo"; + } + let handler = { + apply: function(theTarget, thisArg, argArray) { + assert(theTarget === target); + assert(argArray[0] === 10); + assert(argArray[1] === 20); + return theTarget.apply(thisArg, argArray); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy(10, 20) === "foo"); + } +} + +{ + let target = function foo() { } + let error = null; + let handler = { + get apply() { + error = new Error(); + throw error; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + proxy(10, 20); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let called = false; + let globalThis = this; + let target = function foo() { + assert(this === globalThis); + called = true; + } + let handler = { + apply: null + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + proxy(); + assert(called); + called = false; + } +} + +{ + let called = false; + let globalThis = this; + let target = function foo() { + assert(this === globalThis); + called = true; + } + let handler = { + apply: undefined + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + proxy(); + assert(called); + called = false; + } +} + +{ + let called = false; + let thisValue = {}; + let target = function foo(x, y, z) { + assert(this === thisValue); + assert(x === 20); + assert(y === 45); + assert(z === "foo"); + called = true; + } + + let handler = { + apply: undefined + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + proxy.call(thisValue, 20, 45, "foo"); + assert(called); + called = false; + proxy.apply(thisValue, [20, 45, "foo"]); + assert(called); + called = false; + } +} + +{ + let called = false; + let thisValue = {}; + let target = function foo(x, y, z) { + assert(this === thisValue); + assert(x === 20); + assert(y === 45); + assert(z === "foo"); + called = true; + return this; + } + + let handler = { + apply: function(theTarget, thisArg, argArray) { + assert(theTarget === target); + assert(argArray[0] === 20); + assert(argArray[1] === 45); + assert(argArray[2] === "foo"); + assert(thisArg === thisValue); + return theTarget.apply(thisArg, argArray); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy.call(thisValue, 20, 45, "foo") === thisValue); + assert(called); + called = false; + assert(proxy.apply(thisValue, [20, 45, "foo"]) === thisValue); + assert(called); + called = false; + } +} + +{ + let called = false; + let target = Error; + + let handler = { + apply: function(theTarget, thisArg, argArray) { + called = true; + assert(theTarget === Error); + return theTarget.apply(thisArg, argArray); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let error = proxy(); + assert(!!error.stack); + called = false; + } +} + +{ + let called = false; + let self = this; + let target = (x) => { + called = true; + assert(this === self); + return x; + }; + + let handler = { }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = proxy(i); + assert(result === i); + called = false; + } +} + +{ + let called = false; + let self = this; + let target = (x) => { + assert(this === self); + return x; + }; + + let handler = { + apply: function(theTarget, thisArg, argArray) { + called = true; + assert(theTarget === target); + return theTarget.apply(thisArg, argArray); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = proxy(i); + assert(result === i); + called = false; + } +} + +{ + let called = false; + let self = this; + let target = (x) => { + assert(this === self); + return x; + }; + + let handler = { + apply: function(theTarget, thisArg, argArray) { + called = true; + assert(theTarget === target); + return theTarget.apply(null, argArray); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = proxy(i); + assert(called); + assert(result === i); + called = false; + } +} + +{ + let called = false; + let target = (x) => { }; + let error = null; + + let handler = { + apply: function(theTarget, thisArg, argArray) { + error = new Error(); + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + proxy(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let called = false; + let error = null; + let target = (x) => { + error = new Error(); + throw error; + }; + + let handler = { + apply: function(theTarget, thisArg, argArray) { + assert(theTarget === target); + return theTarget.apply(null, argArray); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + proxy(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let called = false; + let error = null; + let target = new Proxy((x) => x, {}); + + let handler = { + apply: function(theTarget, thisArg, argArray) { + assert(theTarget === target); + called = true; + return theTarget.apply(null, argArray); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy(i) === i); + assert(called); + called = false; + } +} + +{ + let target = (x) => x; + let handler = { + apply: function(theTarget, thisArg, argArray) { + return theTarget.apply(thisArg, argArray); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "function"); + } +} + +{ + let target = function() { } + let handler = { + apply: function(theTarget, thisArg, argArray) { + return theTarget.apply(thisArg, argArray); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "function"); + } +} + +{ + let target = Error; + let handler = { + apply: function(theTarget, thisArg, argArray) { + return theTarget.apply(thisArg, argArray); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "function"); + } +} + +{ + let target = (function foo() { }).bind({}); + let handler = { + apply: function(theTarget, thisArg, argArray) { + return theTarget.apply(thisArg, argArray); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "function"); + } +} + +{ + let target = function() { }; + let handler = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "function"); + } +} + +{ + let target = {}; + let handler = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "object"); + } +} + +{ + let target = []; + let handler = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "object"); + } +} + +{ + let target = new String("foo"); + let handler = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(typeof proxy === "object"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-class.js b/implementation-contributed/javascriptcore/stress/proxy-class.js new file mode 100644 index 0000000000..da064230ff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-class.js @@ -0,0 +1,34 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + const value = 'foo-bar'; + + class SuperClass { + constructor() { + this._id = value; + } + } + + let ProxiedSuperClass = new Proxy(SuperClass, {}); + + for (let i = 0; i < 500; i++) { + let p = new ProxiedSuperClass; + assert(p._id === value); + } + + class A extends ProxiedSuperClass { + constructor() { + super(); + } + } + + assert(A.__proto__ === ProxiedSuperClass); + + for (let i = 0; i < 500; i++) { + let a = new A; + assert(a._id === value); + } +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/proxy-construct.js b/implementation-contributed/javascriptcore/stress/proxy-construct.js new file mode 100644 index 0000000000..b6b80c2643 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-construct.js @@ -0,0 +1,263 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = function() { } + let handler = { + construct: 45 + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: 'construct' property of a Proxy's handler should be constructible"); + } + assert(threw); + } +} + +{ + let target = function() { } + let handler = { + construct: "hello" + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: 'construct' property of a Proxy's handler should be constructible"); + } + assert(threw); + } +} + +{ + let target = function() { } + let error = null; + let handler = { + get construct() { + error = new Error; + throw error; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + error = null; + } +} + +{ + let target = function() { } + let error = null; + let handler = { + construct: function() { + error = new Error; + throw error; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + error = null; + } +} + +{ + let error = null; + let target = function() { + assert(new.target === proxy); + error = new Error; + throw error; + }; + let handler = { }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + assert(e === error); + error = null; + threw = true; + } + assert(threw); + } +} + +{ + let target = function() { } + let handler = { + construct: function() { + return 25; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Result from Proxy handler's 'construct' method should be an object"); + } + assert(threw); + } +} + +{ + let target = function() { } + let handler = { + construct: function() { + return "hello"; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Result from Proxy handler's 'construct' method should be an object"); + } + assert(threw); + } +} + +{ + let target = function() { } + let handler = { + construct: function() { + return Symbol(); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + new proxy; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Result from Proxy handler's 'construct' method should be an object"); + } + assert(threw); + } +} + +{ + let a = {}; + let b = {}; + let retValue = null; + let target = function() { + return retValue; + }; + let error = null; + let handler = { + construct: function(theTarget, argArray, newTarget) { + assert(theTarget === target); + assert(newTarget === proxy); + return new theTarget(...argArray); + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + retValue = i % 2 ? a : b; + assert(new proxy === retValue); + } +} + +{ + let a = {}; + let b = {}; + let target = function() { + assert(new.target === proxy); + return a; + }; + let error = null; + let construct = function(theTarget, argArray, newTarget) { + assert(theTarget === target); + assert(newTarget === proxy); + return b; + }; + let handler = { }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + if (i % 2) + handler.construct = construct; + else + handler.construct = null; + let result = new proxy; + if (i % 2) + assert(result === b) + else + assert(result === a); + } +} + +{ + let target = function(...args) { + assert(new.target === target); + assert(args[0] === 0); + assert(args[1] === 1); + assert(args[2] === "foo"); + }; + let error = null; + let construct = function(theTarget, argArray, newTarget) { + assert(theTarget === target); + assert(newTarget === proxy); + return new target(...argArray); + }; + let handler = { }; + handler.construct = construct; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + new proxy(0, 1, "foo"); + } +} + +{ + let obj = null; + let target = function(...args) { + assert(new.target === target); + assert(args[0] === 0); + assert(obj); + assert(args[1] === obj); + assert(args[2] === "foo"); + }; + let error = null; + let construct = function(theTarget, argArray, newTarget) { + assert(theTarget === target); + assert(newTarget === proxy); + return new target(...argArray); + }; + let handler = { }; + handler.construct = construct; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + obj = {}; + new proxy(0, obj, "foo"); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-define-own-property.js b/implementation-contributed/javascriptcore/stress/proxy-define-own-property.js new file mode 100644 index 0000000000..97e704a6c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-define-own-property.js @@ -0,0 +1,614 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = {}; + let handler = { + defineProperty: 25 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: 55 + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: 'defineProperty' property of a Proxy's handler should be callable"); + } + + assert(threw); + } + +} + +{ + let target = {}; + let error = null; + let handler = { + get defineProperty() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: 55 + }); + } catch(e) { + threw = true; + assert(e === error); + } + + assert(threw); + } +} + +{ + let target = {}; + let error = null; + let handler = { + defineProperty: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: 55 + }); + } catch(e) { + threw = true; + assert(e === error); + } + + assert(threw); + } +} + +{ + let target = {}; + let handler = { + defineProperty: null + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + Object.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: i + }); + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === i); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +} + +{ + let target = {}; + let handler = { + defineProperty: undefined + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: i + }); + assert(result); + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === i); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +} + +{ + let target = {}; + let called = false; + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + called = true; + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: i + }); + assert(result); + assert(called); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === i); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +} + +{ + let target = {}; + let called = false; + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + called = true; + Reflect.defineProperty(theTarget, propName, descriptor); + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: i + }); + assert(!result); + assert(called); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === i); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +} + +{ + let target = {}; + let called = false; + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: false, + value: i + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy's 'defineProperty' trap returned true for a non-configurable field even though getOwnPropertyDescriptor of the Proxy's target returned undefined"); + } + assert(called); + assert(threw); + called = false; + } +} + +{ + let target = {}; + let called = false; + Object.preventExtensions(target); + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + value: i + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy's 'defineProperty' trap returned true even though getOwnPropertyDescriptor of the Proxy's target returned undefined and the target is non-extensible"); + } + assert(called); + assert(threw); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(propName === "x"); + assert(descriptor.configurable === false); + called = true; + return Reflect.defineProperty(theTarget, "x", { + enumerable: true, + configurable: true, + value: descriptor.value + }); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + try { + Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: false, + value: i + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy's 'defineProperty' trap did not define a non-configurable property on its target even though the input descriptor to the trap said it must do so"); + } + assert(called); + assert(threw); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === i); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +} + +{ + let target = {}; + let called = false; + Object.defineProperty(target, "x", { + configurable: false, + writable: true, + value: 55 + }); + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(propName === "x"); + assert(descriptor.configurable === true); + called = true; + Reflect.defineProperty(theTarget, "x", { + enumerable: true, + configurable: true, + value: descriptor.value + }); + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.defineProperty(proxy, "x", { + configurable: true, + writable: false, + value: 45 + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy's 'defineProperty' trap did not define a property on its target that is compatible with the trap's input descriptor"); + } + assert(called); + assert(threw); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === 55); + assert(pDesc.configurable === false); + } + } +} + +{ + let target = {}; + let called = false; + Object.defineProperty(target, "x", { + configurable: false, + writable: true, + value: 55 + }); + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(propName === "x"); + assert(descriptor.configurable === true); + called = true; + Reflect.defineProperty(theTarget, "x", descriptor); + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.defineProperty(proxy, "x", { + configurable: true, + set:function(){}, + get:function(){} + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy's 'defineProperty' trap did not define a property on its target that is compatible with the trap's input descriptor"); + } + assert(called); + assert(threw); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === 55); + assert(pDesc.configurable === false); + } + } +} + +{ + let target = {}; + let called = false; + let setter = function(){}; + let getter = function(){}; + Object.defineProperty(target, "x", { + configurable: false, + get: getter, + set: setter + }); + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(propName === "x"); + assert(descriptor.configurable === true); + called = true; + Reflect.defineProperty(theTarget, "x", descriptor); + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.defineProperty(proxy, "x", { + configurable: true, + value: 45 + }); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy's 'defineProperty' trap did not define a property on its target that is compatible with the trap's input descriptor"); + } + assert(called); + assert(threw); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === undefined); + assert(pDesc.configurable === false); + assert(pDesc.get === getter); + assert(pDesc.set === setter); + } + } +} + +{ + let target = {}; + let called = false; + let setter = function(){}; + let getter = function(){}; + Object.defineProperty(target, "x", { + configurable: false, + get: getter, + set: setter + }); + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(propName === "x"); + assert(descriptor.configurable === true); + called = true; + return Reflect.defineProperty(theTarget, "x", descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + configurable: true, + value: 45 + }); + assert(!result); + assert(called); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(pDesc.value === undefined); + assert(pDesc.configurable === false); + assert(pDesc.get === getter); + assert(pDesc.set === setter); + } + } +} + +{ + let error = false; + let target = new Proxy({}, { + getOwnPropertyDescriptor: function() { + error = new Error; + throw error; + } + }); + + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.defineProperty(proxy, "x", { + configurable: true, + value: 45 + }); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + } +} + +{ + let target = {}; + Reflect.defineProperty(target, "x", { + writable: true, + configurable: false, + value: 55 + }); + + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(theTarget === target); + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + configurable: false, + value: 55 + }); + assert(result); + assert(target.x === 55); + delete target.x; + assert(target.x === 55); + } +} + +{ + let target = {}; + Reflect.defineProperty(target, "x", { + writable: false, + configurable: false, + value: 55 + }); + + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(theTarget === target); + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + writable: false, + configurable: false, + value: 55 + }); + assert(result); + assert(target.x === 55); + delete target.x; + assert(target.x === 55); + } +} + +{ + let target = {}; + Reflect.defineProperty(target, "x", { + writable: false, + configurable: false, + value: 55 + }); + + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(theTarget === target); + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + writable: false, + configurable: false, + value: "not 55" + }); + assert(!result); + assert(target.x === 55); + delete target.x; + assert(target.x === 55); + } +} + +{ + let target = {}; + Reflect.defineProperty(target, "x", { + writable: false, + configurable: false, + value: 55 + }); + + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + assert(theTarget === target); + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + writable: true, + configurable: false, + value: "whatever value goes here" + }); + assert(!result); + assert(target.x === 55); + delete target.x; + assert(target.x === 55); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-delete.js b/implementation-contributed/javascriptcore/stress/proxy-delete.js new file mode 100644 index 0000000000..498ba3dc5a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-delete.js @@ -0,0 +1,277 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +{ + let target = {x: 20}; + let error = null; + let handler = { + get deleteProperty() { + error = new Error; + throw error; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + delete proxy.x; + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let target = {x: 20}; + let error = null; + let handler = { + deleteProperty: function() { + error = new Error; + throw error; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + delete proxy.x; + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let target = {x: 20}; + let error = null; + let handler = { + deleteProperty: 45 + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + delete proxy.x; + } catch(e) { + assert(e.toString() === "TypeError: 'deleteProperty' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + configurable: false, + value: 25 + }); + let error = null; + let handler = { + deleteProperty: function(theTarget, propName) { + delete theTarget[propName]; + return true; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + delete proxy.x; + } catch(e) { + assert(e.toString() === "TypeError: Proxy handler's 'deleteProperty' method should return false when the target's property is not configurable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let error = null; + let handler = { + deleteProperty: null + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target.x = i; + assert(proxy.x === i); + let result = delete proxy.x; + assert(result); + assert(proxy.x === undefined); + } +} + +{ + let target = {}; + let error = null; + let handler = { + deleteProperty: undefined + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target[i] = i; + assert(proxy[i] === i); + let result = delete proxy[i]; + assert(result); + assert(proxy[i] === undefined); + } +} + +{ + let target = {}; + let called = false; + let handler = { + deleteProperty: function(theTarget, propName) { + called = true; + assert(theTarget === target); + assert(propName === "x"); + return delete theTarget[propName]; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target.x = i; + assert(proxy.x === i); + let result = delete proxy.x; + assert(result); + assert(proxy.x === undefined); + assert(target.x === undefined); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + deleteProperty: function(theTarget, propName) { + called = true; + assert(theTarget === target); + assert(propName === "x"); + return delete theTarget[propName]; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target.x = i; + assert(proxy.x === i); + let result = delete proxy["x"]; + assert(result); + assert(proxy.x === undefined); + assert(target.x === undefined); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + deleteProperty: function(theTarget, propName) { + called = true; + assert(theTarget === target); + return delete theTarget[propName]; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target[i] = i; + assert(proxy[i] === i); + let result = delete proxy[i]; + assert(result); + assert(proxy[i] === undefined); + assert(target[i] === undefined); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + deleteProperty: function(theTarget, propName) { + called = true; + assert(theTarget === target); + delete theTarget[propName]; + return false; // We're liars. + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target[i] = i; + assert(proxy[i] === i); + let result = delete proxy[i]; + assert(!result); + assert(proxy[i] === undefined); + assert(target[i] === undefined); + assert(called); + called = false; + } +} + +{ + let target = {}; + let error = null; + let called = false; + let handler = { + deleteProperty: function(theTarget, propName) { + called = true; + return delete theTarget[propName]; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + Object.defineProperty(target, "x", { + configurable: true, + writable: false, + value: 25 + }); + target.x = 30; + assert(target.x === 25); + assert(proxy.x === 25); + delete proxy.x; + assert(target.x === undefined); + assert(proxy.x === undefined); + assert(!("x" in proxy)); + assert(!("x" in target)); + assert(called); + called = false; + } +} + +{ + let target = {}; + let error = null; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 25 + }); + let called = false; + let handler = { + deleteProperty: function(theTarget, propName) { + called = true; + return delete theTarget[propName]; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + target.x = 30; + assert(target.x === 25); + assert(proxy.x === 25); + let result = delete proxy.x; + assert(!result); + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-get-and-set-recursion-stack-overflow.js b/implementation-contributed/javascriptcore/stress/proxy-get-and-set-recursion-stack-overflow.js new file mode 100644 index 0000000000..2f0ec7379e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-get-and-set-recursion-stack-overflow.js @@ -0,0 +1,67 @@ +function assert(b) { + if (!b) + throw new Error('bad assertion'); +} + +function testStackOverflowGet() { + let threw = false; + try { + let o = {}; + let p = new Proxy(o, {}); + Object.setPrototypeOf(o, p); + p.anyField; + } catch(e) { + threw = true; + assert(e.toString() === "RangeError: Maximum call stack size exceeded."); + } + assert(threw); +} + +function testStackOverflowIndexedGet(i) { + let threw = false; + try { + let o = {}; + let p = new Proxy(o, {}); + Object.setPrototypeOf(o, p); + p[i]; + } catch(e) { + threw = true; + assert(e.toString() === "RangeError: Maximum call stack size exceeded."); + } + assert(threw); +} + +function testStackOverflowSet() { + let threw = false; + try { + let o = {}; + let p = new Proxy(o, {}); + Object.setPrototypeOf(o, p); + p.anyField = 50; + } catch(e) { + threw = true; + assert(e.toString() === "RangeError: Maximum call stack size exceeded."); + } + assert(threw); +} + +function testStackOverflowIndexedSet(i) { + let threw = false; + try { + let o = {}; + let p = new Proxy(o, {}); + Object.setPrototypeOf(o, p); + p[i] = 50; + } catch(e) { + threw = true; + assert(e.toString() === "RangeError: Maximum call stack size exceeded."); + } + assert(threw); +} + +for (let i = 0; i < 250; i++) { + testStackOverflowGet(); + testStackOverflowIndexedGet(i); + testStackOverflowSet(); + testStackOverflowIndexedSet(i); +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-get-own-property.js b/implementation-contributed/javascriptcore/stress/proxy-get-own-property.js new file mode 100644 index 0000000000..ac8e58487f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-get-own-property.js @@ -0,0 +1,451 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +{ + let target = {x: 20}; + let called = false; + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + called = true; + assert(theTarget === target); + assert(propName === "x"); + return undefined; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(Object.getOwnPropertyDescriptor(proxy, "x") === undefined); + assert(called); + called = false; + } +} + +{ + let target = {}; + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return 25; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + assert(e.toString() === "TypeError: result of 'getOwnPropertyDescriptor' call should either be an Object or undefined"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: false + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + assert(theTarget === target); + assert(propName === "x"); + return undefined; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + assert(e.toString() === "TypeError: When the result of 'getOwnPropertyDescriptor' is undefined the target must be configurable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: true + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + assert(theTarget === target); + assert(propName === "x"); + return {configurable: false}; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + assert(e.toString() === "TypeError: Result from 'getOwnPropertyDescriptor' can't be non-configurable when the 'target' doesn't have it as an own property or if it is a configurable own property on 'target'"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + enumerable: false, + configurable: false + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + assert(theTarget === target); + assert(propName === "x"); + return {enumerable: true}; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + assert(e.toString() === "TypeError: Result from 'getOwnPropertyDescriptor' fails the IsCompatiblePropertyDescriptor test"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let handler = { + getOwnPropertyDescriptor: 45 + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + assert(e.toString() === "TypeError: 'getOwnPropertyDescriptor' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let handler = { + getOwnPropertyDescriptor: null + }; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: false + }); + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let pDesc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(pDesc.configurable === false); + assert(pDesc.enumerable === true); + } +} + +{ + let target = {}; + let handler = { + getOwnPropertyDescriptor: undefined + }; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: false + }); + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let pDesc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(pDesc.configurable === false); + assert(pDesc.enumerable === true); + } +} + +{ + let target = {}; + let handler = { }; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: false + }); + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let pDesc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(pDesc.configurable === false); + assert(pDesc.enumerable === true); + } +} + +{ + let target = {}; + let error = null; + let handler = { get getOwnPropertyDescriptor() { + error = new Error("blah"); + throw error; + }}; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: false + }); + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + let pDesc = Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + } +} + + + +Object.prototype.fooBarBaz = 20; // Make for-in go over the prototype chain to the top. + +{ + let target = {}; + let called = false; + let handler = { + getOwnPropertyDescriptor: function() { + called = true; + return undefined; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let set = new Set(); + for (let p in proxy) { + set.add(p); + } + assert(set.has("fooBarBaz")); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + getOwnPropertyDescriptor: function() { + called = true; + return undefined; + } + }; + + let proxy = new Proxy(target, handler); + let proxyish = Object.create(proxy, { + x: {value: 20, enumerable: true}, + y: {value: 20, enumerable: true} + }); + for (let i = 0; i < 1000; i++) { + let set = new Set; + for (let p in proxyish) { + set.add(p); + } + assert(set.has("x")); + assert(set.has("y")); + assert(set.has("fooBarBaz")); + assert(called); + called = false; + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + enumerable: false, + configurable: false, + writable: true, + value: 50 + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {enumerable: false, value: 45}; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let desc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(desc.configurable === false); + assert(desc.enumerable === false); + assert(desc.writable === false); + assert(desc.value === 45); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + enumerable: false, + configurable: false, + writable: true + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {enumerable: false, value: 45}; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let desc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(desc.configurable === false); + assert(desc.enumerable === false); + assert(desc.writable === false); + assert(desc.value === 45); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + enumerable: true, + configurable: true, + writable: true + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {configurable: true, value: 45, enumerable: true}; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let desc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(desc.configurable === true); + assert(desc.enumerable === true); + assert(desc.writable === false); + assert(desc.value === 45); + } +} + +{ + let target = {}; + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {configurable: true, value: 45, enumerable: true}; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let desc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(desc.configurable === true); + assert(desc.enumerable === true); + assert(desc.writable === false); + assert(desc.value === 45); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + get: function() { return 25; }, + set: function() { return 50; }, + configurable: false + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {configurable: false, set:function(){}, get:function(){} }; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Result from 'getOwnPropertyDescriptor' fails the IsCompatiblePropertyDescriptor test"); + } + assert(threw); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + get: function() { return 25; }, + set: function() { return 50; }, + configurable: true + }); + let a = function() { }; + let b = function() {} + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {configurable: true, set: a, get: b }; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(result.configurable); + assert(result.set === a); + assert(result.get === b); + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + get: function() { return 25; }, + set: function() { return 50; }, + configurable: false + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return {configurable: false, set:function(){}, get:function(){} }; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.getOwnPropertyDescriptor(proxy, "x"); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Result from 'getOwnPropertyDescriptor' fails the IsCompatiblePropertyDescriptor test"); + } + assert(threw); + } +} + +{ + let target = {}; + let setter = function() { }; + let getter = function() { }; + Object.defineProperty(target, "x", { + get: getter, + set: setter, + configurable: false + }); + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + return { + configurable: false, + set: setter, + get: getter + }; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let desc = Object.getOwnPropertyDescriptor(proxy, "x"); + assert(desc.configurable === false); + assert(desc.get === getter); + assert(desc.set === setter); + assert(desc.enumerable === false); + assert(desc.writable === undefined); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-get-prototype-of.js b/implementation-contributed/javascriptcore/stress/proxy-get-prototype-of.js new file mode 100644 index 0000000000..de01de4577 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-get-prototype-of.js @@ -0,0 +1,428 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = {}; + let error = null; + let handler = { + get getPrototypeOf() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + let error = null; + let handler = { + getPrototypeOf: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } + } +} + +{ + let error = null; + let target = new Proxy({}, { + isExtensible: function() { + error = new Error; + throw error; + } + }); + + let handler = { + getPrototypeOf: function() { + return target.__proto__; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + let handler = { + getPrototypeOf: 25 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e.toString() === "TypeError: 'getPrototypeOf' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + let handler = { + getPrototypeOf: function() { + return 25; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e.toString() === "TypeError: Proxy handler's 'getPrototypeOf' trap should either return an object or null"); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + let handler = { + getPrototypeOf: function() { + return Symbol(); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e.toString() === "TypeError: Proxy handler's 'getPrototypeOf' trap should either return an object or null"); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + Reflect.preventExtensions(target); + let handler = { + getPrototypeOf: function() { + return null; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e.toString() === "TypeError: Proxy's 'getPrototypeOf' trap for a non-extensible target should return the same value as the target's prototype"); + threw = true; + } + assert(threw); + } + } +} + +{ + let notProto = {}; + let target = {}; + Reflect.preventExtensions(target); + let handler = { + getPrototypeOf: function() { + return notProto; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let threw = false; + try { + get(); + } catch(e) { + assert(e.toString() === "TypeError: Proxy's 'getPrototypeOf' trap for a non-extensible target should return the same value as the target's prototype"); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + Reflect.preventExtensions(target); + let called = false; + let handler = { + getPrototypeOf: function() { + called = true; + return Object.prototype; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let result = get(); + assert(result === Object.prototype); + assert(called); + called = false; + } + } +} + +{ + let target = {}; + let theProto = {x: 45}; + target.__proto__ = theProto; + Reflect.preventExtensions(target); + let called = false; + let handler = { + getPrototypeOf: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.getPrototypeOf(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + let result = get(); + assert(result === theProto); + assert(called); + called = false; + } + } +} + +{ + let target = {}; + let handler = { + getPrototypeOf: null + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let proto = Object.prototype; + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + assert(get() === proto); + } + } +} + +{ + let target = {}; + let proto = {}; + let called = false; + let handler = { + getPrototypeOf: function(theTarget) { + assert(theTarget === target); + called = true; + return proto; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + assert(get() === proto); + assert(called); + called = false; + } + } +} + +{ + let target = {}; + let proto = null; + let called = false; + let handler = { + getPrototypeOf: function(theTarget) { + assert(theTarget === target); + called = true; + return proto; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + assert(get() === proto); + assert(called); + called = false; + } + } +} + +{ + let target = {}; + let proto = null; + let called = false; + let handler = { + getPrototypeOf: function(theTarget) { + assert(theTarget === target); + called = true; + return proto; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let getters = [ + () => Reflect.getPrototypeOf(proxy), + () => Object.getPrototypeOf(proxy), + ]; + for (let get of getters) { + assert(get() === proto); + assert(called); + called = false; + } + } +} + +{ + let target = {}; + let proto = null; + let called = false; + let handler = { + getPrototypeOf: function(theTarget) { + assert(theTarget === target); + called = true; + return proto; + }, + has: function() { + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(called); + called = false; + } +} + +{ + let target = {}; + let proto = null; + let called = false; + let handler = { + getPrototypeOf: function(theTarget) { + called = true; + return proto; + }, + has: function() { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(!called); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-get-set-correct-receiver.js b/implementation-contributed/javascriptcore/stress/proxy-get-set-correct-receiver.js new file mode 100644 index 0000000000..e7fc18c347 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-get-set-correct-receiver.js @@ -0,0 +1,117 @@ +"use strict"; + +function assert(b) { + if (!b) + throw new Error("Bad") +} + +function test(f, count = 1000) { + noInline(f); + for (let i = 0; i < count; ++i) + f(); +} + +test(function() { + let called = false; + let target = { + set prop(x) + { + assert(x === 20); + called = true; + assert(this === proxy) + } + } + + let proxy = new Proxy(target, {}) + proxy.prop = 20; + assert(called); +}); + +test(function() { + let called = false; + let target = { + get prop() + { + called = true; + assert(this === proxy) + } + } + + let proxy = new Proxy(target, {}) + proxy.prop + assert(called); +}); + +test(function() { + let target = { + get prop() + { + called = true; + assert(this === proxy) + } + } + let p1 = new Proxy(target, {}); + + let called = false; + let proxy = new Proxy(p1, {}); + proxy.prop + assert(called); +}); + +test(function() { + let t = {}; + let p1 = new Proxy(t, { + get(target, prop, receiver) { + called = true; + assert(target === t); + assert(receiver === proxy); + assert(prop === "prop"); + } + }); + + let called = false; + let proxy = new Proxy(p1, {}); + proxy.prop + assert(called); +}); + +test(function() { + let t = {}; + let callCount = 0; + let handler = { + get(target, prop, receiver) { + if (callCount === 200) + assert(target === t); + ++callCount; + assert(receiver === proxy); + assert(prop === "prop"); + return Reflect.get(target, prop, receiver); + } + }; + let proxy = new Proxy(t, handler); + for (let i = 0; i < 200; ++i) + proxy = new Proxy(proxy, handler); + proxy.prop + assert(callCount === 201); +}, 10); + +test(function() { + let t = {}; + let callCount = 0; + let handler = { + set(target, prop, value, receiver) { + if (callCount === 200) + assert(target === t); + ++callCount; + assert(receiver === proxy); + assert(prop === "prop"); + assert(value === 20); + return Reflect.set(target, prop, value, receiver); + } + }; + let proxy = new Proxy(t, handler); + for (let i = 0; i < 200; ++i) + proxy = new Proxy(proxy, handler); + proxy.prop = 20; + assert(callCount === 201); +}, 10); diff --git a/implementation-contributed/javascriptcore/stress/proxy-get-with-primitive-receiver.js b/implementation-contributed/javascriptcore/stress/proxy-get-with-primitive-receiver.js new file mode 100644 index 0000000000..2b3d3bdec8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-get-with-primitive-receiver.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + + +shouldBe(Reflect.get(new Proxy({}, {}), 0, 1), undefined); +shouldBe(Reflect.get(new Proxy({}, {}), 'hello', 1), undefined); + +{ + let target = {}; + let handlers = { + get: function(theTarget, propName, receiver) { + // Receiver can be a primitive value. + shouldBe(receiver, 1); + return 42; + } + }; + let proxy = new Proxy(target, handlers); + shouldBe(Reflect.get(proxy, 0, 1), 42); + shouldBe(Reflect.get(proxy, 'hello', 1), 42); +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-has-property.js b/implementation-contributed/javascriptcore/stress/proxy-has-property.js new file mode 100644 index 0000000000..eb941a8395 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-has-property.js @@ -0,0 +1,465 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let error = null; + let target = { + x: 40 + }; + + let handler = { + get has() { + error = new Error(); + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + } +} + +{ + let error = null; + let target = { + x: 40 + }; + + let handler = { + has: function() { + error = new Error(); + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + } +} + +{ + let target = { + x: 40 + }; + + let called = false; + let handler = { + has: function(theTarget, propName) { + called = true; + return propName in theTarget; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(result); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: true, value: 45}); + + let called = false; + let handler = { + has: function(theTarget, propName) { + called = true; + return propName in theTarget; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(result); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: true, value: 45}); + let handler = { }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + if (i % 2) + handler.has = null; + else + handler.has = undefined; + let result = "x" in proxy; + assert(result); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: true, value: 45}); + let handler = { + has: function() { + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(!result); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let handler = { + has: function() { + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + assert(e.toString() === "TypeError: Proxy 'has' must return 'true' for non-configurable properties"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let handler = { + has: function() { + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + assert(e.toString() === "TypeError: Proxy 'has' must return 'true' for non-configurable properties"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let handler = { + has: function() { + return null; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + assert(e.toString() === "TypeError: Proxy 'has' must return 'true' for non-configurable properties"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let handler = { + has: function() { + return undefined; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + assert(e.toString() === "TypeError: Proxy 'has' must return 'true' for non-configurable properties"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let handler = { + has: function() { + return 0; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "x" in proxy; + } catch(e) { + assert(e.toString() === "TypeError: Proxy 'has' must return 'true' for non-configurable properties"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let called = false; + let handler = { + has: function() { + called = true; + return 1; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(result); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { enumerable: true, configurable: false, value: 45}); + let called = false; + let handler = { + has: function() { + called = true; + return "hello"; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(result); + assert(called); + called = false; + } +} + +{ + let target = { }; + let called = false; + let handler = { + has: function() { + called = true; + return true + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(result); + assert(called); + called = false; + } +} + +{ + let proto = {x: 20}; + let target = Object.create(proto); + assert(target.__proto__ === proto); + let called = false; + let handler = { + has: function(target, propName) { + called = true; + return propName in target; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = "x" in proxy; + assert(result); + assert(called); + called = false; + } +} + +{ + let target = {x: 20}; + let handler = { + has: function(theTarget, propName) { + assert(theTarget === target); + called = true; + return propName in theTarget; + } + }; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy); + assert(Reflect.getPrototypeOf(obj) === proxy); + let called = false; + + for (let i = 0; i < 500; i++) { + let result = "x" in obj; + assert(result); + assert(called); + called = false; + } +} + +{ + let error = null; + let target = new Proxy({}, { + getOwnPropertyDescriptor: function() { + error = new Error(); + throw error; + } + }); + let handler = { + has: function(theTarget, propName) { + return false; + } + }; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "foo" in proxy; + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let e1 = null; + let e2 = null; + let t1 = {}; + let called1 = false; + let h1 = { + has: function(theTarget, propName) { + called1 = true; + e1 = new Error; + throw e1; + return false; + } + }; + let p1 = new Proxy(t1, h1); + + let t2 = {}; + t2.__proto__ = p1; + let h2 = { + has: function(theTarget, propName) { + e2 = new Error; + throw e2; + return false; + } + }; + let p2 = new Proxy(t2, h2); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + 10 in p2; + } catch(e) { + assert(e === e2); + threw = true; + } + assert(threw); + assert(!called1); + } +} + +{ + let e1 = null; + let e2 = null; + let t1 = {}; + let called1 = false; + let h1 = { + has: function(theTarget, propName) { + called1 = true; + e1 = new Error; + throw e1; + return false; + } + }; + let p1 = new Proxy(t1, h1); + + let t2 = {}; + t2.__proto__ = p1; + let h2 = { + has: function(theTarget, propName) { + e2 = new Error; + throw e2; + return false; + } + }; + let p2 = new Proxy(t2, h2); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + "foo" in p2; + } catch(e) { + assert(e === e2); + threw = true; + } + assert(threw); + assert(!called1); + } +} + +{ + let called = false; + let handler = { + has: function(...args) { + called = true; + return Reflect.has(...args); + } + }; + let proxy = new Proxy({}, handler); + let foo = function() { + assert(!Reflect.has(proxy, "x")); + assert(called); + called = false; + } + noInline(foo) + for (let i = 0; i < 10000; i++) { + foo(); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-in-proto-chain.js b/implementation-contributed/javascriptcore/stress/proxy-in-proto-chain.js new file mode 100644 index 0000000000..444da6a097 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-in-proto-chain.js @@ -0,0 +1,28 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +let theTarget = { + x: 30 +}; + +let handler = { + get: function(target, propName, proxyArg) { + assert(target === theTarget); + assert(proxyArg === obj); + if (propName === "y") + return 45; + assert(propName === "x"); + return target[propName]; + } +}; + +let proxy = new Proxy(theTarget, handler); + +let obj = Object.create(proxy); + +for (let i = 0; i < 1000; i++) { + assert(obj.x === 30); + assert(obj.y === 45); +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-inline-cache.js b/implementation-contributed/javascriptcore/stress/proxy-inline-cache.js new file mode 100644 index 0000000000..f3e9af6b41 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-inline-cache.js @@ -0,0 +1,76 @@ +var createProxy = $vm.createProxy; + +var niters = 100000; + +// proxy -> target -> x +function cacheOnTarget() { + var target = {x:42}; + var proxy = createProxy(target); + + var getX = function(o) { return o.x; }; + noInline(getX); + + var sum = 0; + for (var i = 0; i < niters; ++i) + sum += getX(proxy); + + if (sum != 42 * niters) + throw new Error("Incorrect result"); +}; + +// proxy -> target -> proto -> x +function cacheOnPrototypeOfTarget() { + var proto = {x:42}; + var target = Object.create(proto); + var proxy = createProxy(target); + + var getX = function(o) { return o.x; }; + noInline(getX); + + var sum = 0; + for (var i = 0; i < niters; ++i) + sum += getX(proxy); + + if (sum != 42 * niters) + throw new Error("Incorrect result"); +}; + +// base -> proto (proxy) -> target -> x +function dontCacheOnProxyInPrototypeChain() { + var target = {x:42}; + var protoProxy = createProxy(target); + var base = Object.create(protoProxy); + + var getX = function(o) { return o.x; }; + noInline(getX); + + var sum = 0; + for (var i = 0; i < niters; ++i) + sum += getX(base); + + if (sum != 42 * niters) + throw new Error("Incorrect result"); +}; + +// proxy -> target 1 -> proto (proxy) -> target 2 -> x +function dontCacheOnTargetOfProxyInPrototypeChainOfTarget() { + var target2 = {x:42}; + var protoProxy = createProxy(target2); + var target1 = Object.create(protoProxy); + var proxy = createProxy(target1); + + var getX = function(o) { return o.x; }; + noInline(getX); + + var sum = 0; + for (var i = 0; i < niters; ++i) + sum += getX(proxy); + + if (sum != 42 * niters) + throw new Error("Incorrect result"); +}; + +cacheOnTarget(); +cacheOnPrototypeOfTarget(); +dontCacheOnProxyInPrototypeChain(); +dontCacheOnTargetOfProxyInPrototypeChainOfTarget(); diff --git a/implementation-contributed/javascriptcore/stress/proxy-instanceof.js b/implementation-contributed/javascriptcore/stress/proxy-instanceof.js new file mode 100644 index 0000000000..14bc383c69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-instanceof.js @@ -0,0 +1,39 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function test(f) { + for (let i = 0; i < 1000; i++) + f(); +} + +let constructors = [Error, String, RegExp, function() {}, class C {}]; + +for (let constructor of constructors) { + test(function() { + let proxy = new Proxy(constructor, {}); + assert(new constructor instanceof proxy); + }); +} + +test(function() { + let called = false; + let proxy = new Proxy(function(){ called = true; }, {}); + assert(new proxy instanceof proxy); + assert(called); +}); + +test(function() { + let called = false; + let handler = { + get: function(target, prop) { + if (prop === "prototype") + return {}; + return target[prop]; + } + }; + let proxy = new Proxy(function(){ called = true; }, handler); + assert(!(new proxy instanceof proxy)); + assert(called); +}); diff --git a/implementation-contributed/javascriptcore/stress/proxy-is-array.js b/implementation-contributed/javascriptcore/stress/proxy-is-array.js new file mode 100644 index 0000000000..bcadcb7689 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-is-array.js @@ -0,0 +1,61 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion.") +} + +function test(f) { + for (let i = 0; i < 500; i++) + f(); +} + +test(function() { + let proxy = new Proxy([], {}); + assert(Array.isArray(proxy)); +}); + +test(function() { + let {proxy, revoke} = Proxy.revocable([], {}); + assert(Array.isArray(proxy)); + + revoke(); + let threw = false; + try { + Array.isArray(proxy); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Array.isArray cannot be called on a Proxy that has been revoked"); + } + assert(threw); +}); + +test(function() { + let proxyChain = new Proxy([], {}); + for (let i = 0; i < 400; i++) + proxyChain = new Proxy(proxyChain, {}); + assert(Array.isArray(proxyChain)); +}); + +test(function() { + let proxyChain = new Proxy([], {}); + let revoke = null; + for (let i = 0; i < 400; i++) { + if (i !== 250) { + proxyChain = new Proxy(proxyChain, {}); + } else { + let result = Proxy.revocable(proxyChain, {}); + proxyChain = result.proxy; + revoke = result.revoke; + } + } + assert(Array.isArray(proxyChain)); + + revoke(); + let threw = false; + try { + Array.isArray(proxyChain); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Array.isArray cannot be called on a Proxy that has been revoked"); + } + assert(threw); +}); diff --git a/implementation-contributed/javascriptcore/stress/proxy-is-extensible.js b/implementation-contributed/javascriptcore/stress/proxy-is-extensible.js new file mode 100644 index 0000000000..7a56d6fa92 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-is-extensible.js @@ -0,0 +1,340 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = {}; + let error = null; + let handler = { + get isExtensible() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let error = null; + let handler = { + isExtensible: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let error = null; + let target = new Proxy({}, { + isExtensible: function() { + error = new Error; + throw error; + } + }); + let handler = { + isExtensible: function(theTarget) { + return Reflect.isExtensible(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let handler = { + isExtensible: function(theTarget) { + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's 'isExtensible' trap returned false when the target is extensible. It should have returned true"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Reflect.preventExtensions(target); + let handler = { + isExtensible: function(theTarget) { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's 'isExtensible' trap returned true when the target is non-extensible. It should have returned false"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.freeze(target); + let handler = { + isExtensible: function(theTarget) { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's 'isExtensible' trap returned true when the target is non-extensible. It should have returned false"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.seal(target); + let handler = { + isExtensible: function(theTarget) { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's 'isExtensible' trap returned true when the target is non-extensible. It should have returned false"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + Object.preventExtensions(target); + let handler = { + isExtensible: function(theTarget) { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.isExtensible(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's 'isExtensible' trap returned true when the target is non-extensible. It should have returned false"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let called = false; + let handler = { + isExtensible: function(theTarget) { + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + let result = Reflect.isExtensible(proxy); + assert(result); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + Reflect.preventExtensions(target); + let handler = { + isExtensible: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.isExtensible(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + let result = Object.isExtensible(proxy); + assert(!result); + assert(called); + called = false; + + result = Object.isFrozen(proxy); + assert(result); + assert(called); + called = false; + + result = Object.isSealed(proxy); + assert(result); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + Object.freeze(target); + let handler = { + isExtensible: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.isExtensible(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + let result = Object.isExtensible(proxy); + assert(!result); + assert(called); + called = false; + + result = Object.isFrozen(proxy); + assert(result); + assert(called); + called = false; + + result = Object.isSealed(proxy); + assert(result); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + Object.seal(target); + let handler = { + isExtensible: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.isExtensible(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + let result = Object.isExtensible(proxy); + assert(!result); + assert(called); + called = false; + + result = Object.isFrozen(proxy); + assert(result); + assert(called); + called = false; + + result = Object.isSealed(proxy); + assert(result); + assert(called); + called = false; + } +} + +{ + let target = {}; + Object.defineProperty(target, "x", { + writable: true, + configurable: true, + value: 45, + enumerable: true + }); + let called = false; + Reflect.preventExtensions(target); + let handler = { + isExtensible: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.isExtensible(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + let result = Object.isExtensible(proxy); + assert(!result); + assert(called); + called = false; + + result = Object.isFrozen(proxy); + assert(!result); + assert(called); + called = false; + + result = Object.isSealed(proxy); + assert(!result); + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-json.js b/implementation-contributed/javascriptcore/stress/proxy-json.js new file mode 100644 index 0000000000..e22999cbe7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-json.js @@ -0,0 +1,161 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function test(f) { + for (let i = 0; i < 500; i++) + f(); +} + +test(function() { + let proxy = new Proxy([], {}); + assert(JSON.stringify(proxy) === "[]"); +}); + +test(function() { + let target = ["foo"]; + let proxy = new Proxy(target, {}); + assert(JSON.stringify(proxy) === JSON.stringify(target)); +}); + +test(function() { + let target = { + foo: 25, + bar: false, + 0: 45 + }; + let proxy = new Proxy(target, {}); + assert(JSON.stringify(proxy) === JSON.stringify(target)); +}); + +test(function() { + let target = { + foo: ["baz", {foo: 45}], + bar: false, + 0: 45, + baz: "hello world", + jaz: 4553.434 + }; + let proxy = new Proxy(target, {}); + assert(JSON.stringify(proxy) === JSON.stringify(target)); +}); + +test(function() { + let target = { + foo: ["baz", {foo: 45}], + bar: false, + 0: 45, + baz: "hello world", + jaz: 4553.434 + }; + let proxy = new Proxy(target, {}); + for (let i = 0; i < 50; i++) + proxy = new Proxy(proxy, {}); + assert(JSON.stringify(proxy) === JSON.stringify(target)); +}); + +test(function() { + let target = [20, 30, "foo", {hello: "world"}]; + let proxy = new Proxy(target, {}); + for (let i = 0; i < 50; i++) + proxy = new Proxy(proxy, {}); + assert(JSON.stringify(proxy) === JSON.stringify(target)); +}); + +test(function() { + let target = { + foo: ["baz", {foo: 45}], + bar: false, + 0: 45, + baz: "hello world", + jaz: 4553.434 + }; + let {proxy, revoke} = Proxy.revocable(target, {}); + assert(JSON.stringify(proxy) === JSON.stringify(target)); + + revoke(); + JSON.stringify(target); // Things are ok. + let threw = false; + try { + JSON.stringify(proxy); // Things are not ok. + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy has already been revoked. No more operations are allowed to be performed on it"); + } + assert(threw); +}); + +test(function() { + let target = ["foo", "bar", 25, false]; + let proxy = new Proxy(target, {}); + let revoke; + for (let i = 0; i < 50; i++) { + if (i === 25) { + let result = Proxy.revocable(proxy, {}); + proxy = result.proxy; + revoke = result.revoke; + } else { + proxy = new Proxy(proxy, {}); + } + } + assert(JSON.stringify(proxy) === JSON.stringify(target)); + + revoke(); + JSON.stringify(target); // Things are ok. + let threw = false; + try { + JSON.stringify(proxy); // Things are not ok. + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy has already been revoked. No more operations are allowed to be performed on it"); + } + assert(threw); +}); + +test(function() { + let arr = ["foo", 25, "bar"]; + let handler = { + get: function(theTarget, propName) { + assert(propName === "toJSON"); + return function() { + return arr; + } + } + }; + let proxy = new Proxy({}, handler); + assert(JSON.stringify(proxy) === JSON.stringify(arr)); +}); + +test(function() { + let arr = ["foo", 25, "bar"]; + let handler = { + get: function(theTarget, propName) { + assert(propName === "toJSON"); + return function() { + return arr; + } + } + }; + let proxy = new Proxy({}, handler); + let o1 = {foo: arr}; + let o2 = {foo: proxy}; + assert(JSON.stringify(o1) === JSON.stringify(o2)); +}); + +test(function() { + let arr = ["foo", 25, "bar"]; + let proxy = new Proxy(function() { return arr; }, {}); + assert(JSON.stringify({toJSON: proxy}) === JSON.stringify(arr)); +}); + +test(function() { + let arr = ["foo", 25, "bar"]; + let proxy = new Proxy({}, {}); + let o = {foo: 20}; + Object.defineProperty(o, "toJSON", { + enumerable: false, + value: proxy + }); + assert(JSON.stringify(o) === JSON.stringify({foo: 20})); +}); diff --git a/implementation-contributed/javascriptcore/stress/proxy-of-a-proxy.js b/implementation-contributed/javascriptcore/stress/proxy-of-a-proxy.js new file mode 100644 index 0000000000..b279cd3746 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-of-a-proxy.js @@ -0,0 +1,34 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let ogTarget = {x: 20}; + let theTarget = new Proxy(ogTarget, { + get: function(target, propName, proxyArg) { + assert(target === ogTarget); + if (propName === "y") + return 45; + return target[propName]; + } + }); + let handler = { + get: function(target, propName, proxyArg) { + if (propName === "z") + return 60; + return target[propName]; + } + }; + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 500; i++) { + assert(proxy.x === 20); + assert(proxy["x"] === 20); + + assert(proxy.y === 45); + assert(proxy["y"] === 45); + + assert(proxy.z === 60); + assert(proxy["z"] === 60); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-own-keys.js b/implementation-contributed/javascriptcore/stress/proxy-own-keys.js new file mode 100644 index 0000000000..189b20b36e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-own-keys.js @@ -0,0 +1,664 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let error = null; + let target = { }; + let handler = { + ownKeys: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + } +} + +{ + let error = null; + let target = { }; + let handler = { + get ownKeys() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let handler = { + ownKeys: function(theTarget) { + called = true; + return ["1", 2, 3]; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'ownKeys' method must return an array-like object containing only Strings and Symbols"); + } + assert(threw); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + enumerable: true, + value: 400 + }); + let called = false; + let handler = { + ownKeys: function(theTarget) { + called = true; + return []; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy object's 'target' has the non-configurable property 'x' that was not in the result from the 'ownKeys' trap"); + } + assert(threw); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: true, + enumerable: true, + value: 400 + }); + Object.preventExtensions(target); + let called = false; + let handler = { + ownKeys: function(theTarget) { + called = true; + return []; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy object's non-extensible 'target' has configurable property 'x' that was not in the result from the 'ownKeys' trap"); + } + assert(threw); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: true, + enumerable: true, + value: 400 + }); + Object.preventExtensions(target); + let called = false; + let handler = { + ownKeys: function(theTarget) { + called = true; + return ["x", "y"]; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'ownKeys' method returned a key that was not present in its non-extensible target"); + } + assert(threw); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called1 = false; + let called2 = false; + Object.defineProperty(target, 'a', { value: 42, configurable: false }); + let p1 = new Proxy(target, { + ownKeys() { + called1 = true; + return ['a', 'a']; + } + }); + let p2 = new Proxy(p1, { + ownKeys() { + called2 = true; + return ['a']; + } + }); + + for (let i = 0; i < 500; i++) { + // FIXME: we may update the spec to make this test not throw. + // see: https://github.com/tc39/ecma262/pull/594 + let threw = false; + try { + Reflect.ownKeys(p2); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's 'target' has the non-configurable property 'a' that was not in the result from the 'ownKeys' trap"); + threw = true; + } + assert(threw); + assert(called1); + assert(called2); + } +} + +{ + let target = {}; + let called1 = false; + let called2 = false; + Object.defineProperty(target, 'a', { value: 42, configurable: true }); + Object.preventExtensions(target); + let p1 = new Proxy(target, { + ownKeys() { + called1 = true; + return ['a', 'a']; + } + }); + let p2 = new Proxy(p1, { + ownKeys() { + called2 = true; + return ['a']; + } + }); + + for (let i = 0; i < 500; i++) { + // FIXME: we may update the spec to make this test not throw. + // see: https://github.com/tc39/ecma262/pull/594 + let threw = false; + try { + Reflect.ownKeys(p2); + } catch(e) { + assert(e.toString() === "TypeError: Proxy object's non-extensible 'target' has configurable property 'a' that was not in the result from the 'ownKeys' trap"); + threw = true; + } + assert(threw); + assert(called1); + assert(called2); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: true, + enumerable: true, + value: 400 + }); + Object.preventExtensions(target); + let called = false; + let handler = { + ownKeys: function(theTarget) { + called = true; + return ["x", "x"]; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + Object.keys(proxy); + assert(called); + called = false; + } +} + +{ + let target = { }; + let handler = { + ownKeys: 45 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: 'ownKeys' property of a Proxy's handler should be callable"); + } + assert(threw); + } +} + +function shallowEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + + return true; +} + +{ + let target = { + x: 40 + }; + let called = false; + let arr = ["a", "b", "c"]; + let handler = { + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Object.keys(proxy); + assert(result !== arr); + assert(shallowEq(result, [])); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let arr = ["a", "b", "c"]; + let handler = { + getOwnPropertyDescriptor: function(theTarget, propertyName) { + if (arr.indexOf(propertyName) >= 0) { + return { + enumerable: true, + configurable: true + }; + } + return Reflect.getOwnPropertyDescriptor(theTarget, propertyName); + }, + + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Object.keys(proxy); + assert(result !== arr); + assert(shallowEq(result, arr)); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let arr = ["a", "b", "c"]; + let handler = { + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.ownKeys(proxy); + assert(result !== arr); + assert(shallowEq(result, arr)); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Object.getOwnPropertySymbols(proxy); + assert(shallowEq(result, [s1, s2])); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + getOwnPropertyDescriptor(theTarget, propertyName) { + if (arr.indexOf(propertyName) >= 0) { + return { + enumerable: true, + configurable: true + } + } + return Reflect.getOwnPropertyDescriptor(theTarget, propertyName); + }, + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Object.keys(proxy); + assert(shallowEq(result, ["a", "b", "c"])); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.ownKeys(proxy); + assert(shallowEq(result, ["a", "b", "c", s1, s2])); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + getOwnPropertyDescriptor: () => { + return { enumerable: true, configurable: true } + }, + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let set = new Set; + for (let p in proxy) + set.add(p); + assert(set.size === 3); + assert(set.has("a")); + assert(set.has("b")); + assert(set.has("c")); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + getOwnPropertyDescriptor: () => { + return { enumerable: true, configurable: true } + }, + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let set = new Set; + for (let p in proxy) + set.add(p); + if (i === 40) { // Make sure we don't cache the result. + arr.push("d"); + } + assert(set.size === i > 40 ? 4 : 3); + assert(set.has("a")); + assert(set.has("b")); + assert(set.has("c")); + if (i > 40) + assert(set.has("d")); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + getOwnPropertyDescriptor: () => { + return { enumerable: true, configurable: true } + }, + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + let proxyish = Object.create(proxy, { + d: { enumerable: true, configurable: true } + }); + for (let i = 0; i < 500; i++) { + let set = new Set; + for (let p in proxyish) + set.add(p); + assert(set.size === 4); + assert(set.has("a")); + assert(set.has("b")); + assert(set.has("c")); + assert(set.has("d")); + assert(called); + called = false; + } +} + +{ + let target = { + x: 40 + }; + let called = false; + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + getOwnPropertyDescriptor: () => { + return { enumerable: true, configurable: true } + }, + ownKeys: function(theTarget) { + called = true; + return arr; + } + }; + + let proxy = new Proxy(target, handler); + let proxyish = Object.create(proxy, { + d: { enumerable: true, configurable: true } + }); + for (let i = 0; i < 500; i++) { + let set = new Set; + for (let p in proxyish) + set.add(p); + assert(set.size === 4); + assert(set.has("a")); + assert(set.has("b")); + assert(set.has("c")); + assert(set.has("d")); + assert(called); + called = false; + } +} + +{ + let called = false; + let target = {x: 20, y: 40}; + let handler = { + ownKeys: null + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let keys = Object.keys(proxy); + assert(keys.indexOf("x") !== -1); + assert(keys.indexOf("y") !== -1); + } +} + +{ + let called = false; + let target = new Proxy({}, { + ownKeys: function(theTarget) { + called = true; + return Reflect.ownKeys(theTarget); + } + }); + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + ownKeys: function(theTarget) { + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let keys = Object.keys(proxy); + assert(called); + called = false; + } +} + +{ + let error = null; + let target = new Proxy({}, { + ownKeys: function(theTarget) { + error = new Error; + throw error; + } + }); + let s1 = Symbol(); + let s2 = Symbol(); + let arr = ["a", "b", s1, "c", s2]; + let handler = { + ownKeys: function(theTarget) { + return arr; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Object.keys(proxy); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); + error = null; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-prevent-extensions.js b/implementation-contributed/javascriptcore/stress/proxy-prevent-extensions.js new file mode 100644 index 0000000000..0908e30823 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-prevent-extensions.js @@ -0,0 +1,265 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = {}; + let error = null; + let handler = { + get preventExtensions() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.preventExtensions(proxy); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let error = null; + let handler = { + preventExtensions: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.preventExtensions(proxy); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let error = null; + let target = new Proxy({}, { + preventExtensions: function() { + error = new Error; + throw error; + } + }); + let handler = { + preventExtensions: function(theTarget) { + return Reflect.preventExtensions(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.preventExtensions(proxy); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let handler = { + preventExtensions: 45 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.preventExtensions(proxy); + } catch(e) { + assert(e.toString() === "TypeError: 'preventExtensions' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let handler = { + preventExtensions: null + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.preventExtensions(proxy); + assert(result); + assert(!Reflect.isExtensible(target)); + } +} + +{ + let target = {}; + let handler = { + preventExtensions: undefined + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.preventExtensions(proxy); + assert(result); + assert(!Reflect.isExtensible(target)); + } +} + +{ + let target = {}; + let handler = { + preventExtensions: function(theTarget) { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let threw = false; + try { + Reflect.preventExtensions(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Proxy's 'preventExtensions' trap returned true even though its target is extensible. It should have returned false"); + threw = true; + } + assert(threw); + } +} + +{ + let target = {}; + let called = false; + let handler = { + preventExtensions: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.preventExtensions(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.preventExtensions(proxy); + assert(result); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + preventExtensions: function(theTarget) { + assert(theTarget === target); + called = true; + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.preventExtensions(proxy); + assert(!result); + assert(called); + called = false; + } +} + +{ + let target = {}; + let called = false; + let handler = { + preventExtensions: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.preventExtensions(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.preventExtensions(proxy); + assert(result); + assert(called); + called = false; + + assert(!Reflect.isExtensible(proxy)); + assert(!Reflect.isExtensible(target)); + assert(!Object.isExtensible(target)); + assert(Object.isFrozen(target)); + assert(Object.isSealed(target)); + } +} + +{ + for (let i = 0; i < 500; i++) { + let target = {}; + let called = false; + let handler = { + preventExtensions: function(theTarget) { + assert(theTarget === target); + called = true; + return Reflect.preventExtensions(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + + let result = Reflect.preventExtensions(proxy); + assert(result); + assert(called); + called = false; + + assert(!Reflect.isExtensible(proxy)); + assert(!Reflect.isExtensible(target)); + assert(!Object.isExtensible(target)); + assert(Object.isFrozen(target)); + assert(Object.isSealed(target)); + } +} + +{ + for (let i = 0; i < 500; i++) { + let target = {}; + let called = false; + let handler = { + preventExtensions: function(theTarget) { + assert(theTarget === target); + called = true; + return Object.preventExtensions(theTarget); + } + }; + + let proxy = new Proxy(target, handler); + + let result = Reflect.preventExtensions(proxy); + assert(result); + assert(called); + called = false; + + assert(!Reflect.isExtensible(proxy)); + assert(!Reflect.isExtensible(target)); + assert(!Object.isExtensible(target)); + assert(Object.isFrozen(target)); + assert(Object.isSealed(target)); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-property-descriptor.js b/implementation-contributed/javascriptcore/stress/proxy-property-descriptor.js new file mode 100644 index 0000000000..cb94a5bde9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-property-descriptor.js @@ -0,0 +1,83 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +let theTarget = {}; +Object.defineProperty(theTarget, "x", { + writable: false, + configurable: false, + value: 45 +}); + +Object.defineProperty(theTarget, "y", { + writable: false, + configurable: false, + value: 45 +}); + +Object.defineProperty(theTarget, "getter", { + configurable: false, + set: function(x) { } +}); + +Object.defineProperty(theTarget, "badGetter", { + configurable: false, + set: function(x) { } +}); + +let handler = { + get: function(target, propName, proxyArg) { + assert(target === theTarget); + assert(proxyArg === proxy); + if (propName === "x") + return 45; + else if (propName === "y") + return 30; + else if (propName === "getter") + return undefined; + else { + assert(propName === "badGetter"); + return 25; + } + } +}; + +let proxy = new Proxy(theTarget, handler); + +for (let i = 0; i < 1000; i++) { + assert(proxy.x === 45); + assert(proxy["x"] === 45); +} + +for (let i = 0; i < 1000; i++) { + try { + if (i % 2) + proxy.y; + else + proxy["y"]; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'get' result of a non-configurable and non-writable property should be the same value as the target's property"); + } + assert(threw === true); +} + +for (let i = 0; i < 1000; i++) { + assert(proxy.getter === undefined); + assert(proxy["getter"] === undefined); +} + +for (let i = 0; i < 1000; i++) { + try { + if (i % 2) + proxy.badGetter; + else + proxy["badGetter"]; + + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'get' result of a non-configurable accessor property without a getter should be undefined"); + } + assert(threw === true); +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-returning-incomplete-property-descriptor.js b/implementation-contributed/javascriptcore/stress/proxy-returning-incomplete-property-descriptor.js new file mode 100644 index 0000000000..a37341ebfa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-returning-incomplete-property-descriptor.js @@ -0,0 +1,36 @@ +// This test should not crash. +function truthiness(x) { + return !!x; +} + +function compare(a, b) { + for (var i in a.desc) { + let propA = a.desc[i]; + let propB = b.desc[i]; + if (propA == propB) + continue; + if (typeof propA == "boolean" && truthiness(propA) == truthiness(propB)) + continue; + throw Error(a.name + "[" + i + "] : " + propA + " != " + b.name + "[" + i + "] : " + propB); + } +} + +function shouldBe(actualDesc, expectedDesc) { + compare({ name: "actual", desc: actualDesc }, { name: "expected", desc: expectedDesc }); + compare({ name: "expected", desc: expectedDesc }, { name: "actual", desc: actualDesc }); +} + +function test(expectedDesc) { + var desc = Object.getOwnPropertyDescriptor(new Proxy({a:0}, { + getOwnPropertyDescriptor(t,pk) { + return expectedDesc + } + }), ""); + shouldBe(desc, expectedDesc); +} + +test({ configurable:true }); +test({ writable:true, configurable:true }); +test({ writable:true, enumerable:true, configurable:true }); +test({ enumerable:true, configurable:true, get: function() {} }); +test({ enumerable:true, configurable:true, set: function() {} }); diff --git a/implementation-contributed/javascriptcore/stress/proxy-revoke.js b/implementation-contributed/javascriptcore/stress/proxy-revoke.js new file mode 100644 index 0000000000..5dc1a0e8df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-revoke.js @@ -0,0 +1,193 @@ +//@ defaultNoNoLLIntRun if $architecture == "arm64" or $architecture == "arm" + +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +{ + assert(Proxy.revocable.length === 2); + assert(Proxy.revocable.name === "revocable"); + + { + let threw = false; + try { + new Proxy.revocable; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy.revocable cannot be constructed. It can only be called"); + } + assert(threw); + } + + { + let threw = false; + try { + Proxy.revocable(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy.revocable needs to be called with two arguments: the target and the handler"); + } + assert(threw); + } + + { + let threw = false; + try { + Proxy.revocable({}); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy.revocable needs to be called with two arguments: the target and the handler"); + } + assert(threw); + } + + { + let threw = false; + try { + Proxy.revocable({}, null); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: A Proxy's 'handler' should be an Object"); + } + assert(threw); + } + + { + let threw = false; + try { + Proxy.revocable(null, {}); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: A Proxy's 'target' should be an Object"); + } + assert(threw); + } + + { + let threw = false; + try { + Proxy.revocable({}, {}, {}); // It's okay to call with > 2 arguments. + } catch(e) { + threw = true; + } + assert(!threw); + } + + for (let i = 0; i < 500; i++) { + let threw = false; + try { + let {revoke} = Proxy.revocable({}, {}); // It's okay to call with > 2 arguments. + new revoke; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: function is not a constructor (evaluating 'new revoke')"); + } + assert(threw); + } + + for (let i = 0; i < 500; i++) { + function foo() { + let threw = false; + let {proxy, revoke} = Proxy.revocable({}, {}); + revoke(); + try { + new Proxy(proxy, {}); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: If a Proxy's handler is another Proxy object, the other Proxy should not have been revoked"); + } + assert(threw); + } + foo(); + } +} + +function callAllHandlers(proxy) { + Reflect.getPrototypeOf(proxy); + Reflect.setPrototypeOf(proxy, null); + Reflect.isExtensible(proxy); + Reflect.preventExtensions(proxy); + Reflect.getOwnPropertyDescriptor(proxy, "x") + Reflect.has(proxy, "x") + Reflect.get(proxy, "x") + proxy["x"] = 20; // Reflect.set + Reflect.deleteProperty(proxy, "x"); + Reflect.defineProperty(proxy, "x", {value: 40, enumerable: true, configurable: true}); + Reflect.ownKeys(proxy); + Reflect.apply(proxy, this, []); + Reflect.construct(proxy, []); +} + +function shouldThrowNullHandler(f) { + let threw = false; + try { + f(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy has already been revoked. No more operations are allowed to be performed on it"); + } + assert(threw); +} + +function allHandlersShouldThrow(proxy) { + shouldThrowNullHandler(() => Reflect.getPrototypeOf(proxy)); + shouldThrowNullHandler(() => Reflect.setPrototypeOf(proxy, null)); + shouldThrowNullHandler(() => Reflect.isExtensible(proxy)); + shouldThrowNullHandler(() => Reflect.preventExtensions(proxy)); + shouldThrowNullHandler(() => Reflect.getOwnPropertyDescriptor(proxy, "x")); + shouldThrowNullHandler(() => Reflect.has(proxy, "x")); + shouldThrowNullHandler(() => Reflect.get(proxy, "x")); + shouldThrowNullHandler(() => proxy["x"] = 20); // Reflect.set + shouldThrowNullHandler(() => Reflect.deleteProperty(proxy, "x")); + shouldThrowNullHandler(() => Reflect.defineProperty(proxy, "x", {value: 40, enumerable: true, configurable: true})); + shouldThrowNullHandler(() => Reflect.ownKeys(proxy)); + shouldThrowNullHandler(() => Reflect.apply(proxy, this, [])); + shouldThrowNullHandler(() => Reflect.construct(proxy, [])); +} + +const traps = [ + "getPrototypeOf", + "setPrototypeOf", + "isExtensible", + "preventExtensions", + "getOwnPropertyDescriptor", + "has", + "get", + "set", + "deleteProperty", + "defineProperty", + "ownKeys", + "apply", + "construct" +]; + +for (let i = 0; i < 500; i++) { + let handler = {}; + let count = 0; + let trapsCalled = new Set; + for (let trap of traps) { + let func; + if (trap !== "set") { + func = `(function ${trap}(...args) { count++; trapsCalled.add(${"'" + trap + "'"}); return Reflect.${trap}(...args); })`; + } else { + func = `(function ${trap}(proxy, prop, v) { trapsCalled.add(${"'" + trap + "'"}); count++; proxy[prop] = v; })`; + } + handler[trap] = eval(func); + } + + + let {proxy, revoke} = Proxy.revocable(function(){}, handler); // To make callable and constructible true. + callAllHandlers(proxy); + assert(count >= traps.length); + for (let trap of traps) { + let result = trapsCalled.has(trap); + assert(result); + } + + revoke(); + allHandlersShouldThrow(proxy); + + for (let i = 0; i < 50; i++) + revoke(); // Repeatedly calling revoke is OK. +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-set-prototype-of.js b/implementation-contributed/javascriptcore/stress/proxy-set-prototype-of.js new file mode 100644 index 0000000000..89bf64cde9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-set-prototype-of.js @@ -0,0 +1,371 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} + +{ + let target = {}; + let error = null; + let handler = { + get setPrototypeOf() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let setters = [ + () => Reflect.setPrototypeOf(proxy, {}), + () => Object.setPrototypeOf(proxy, {}), + ]; + for (let set of setters) { + let threw = false; + try { + set(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + let error = null; + let handler = { + setPrototypeOf: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let setters = [ + () => Reflect.setPrototypeOf(proxy, {}), + () => Object.setPrototypeOf(proxy, {}), + ]; + for (let set of setters) { + let threw = false; + try { + set(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + let error = null; + let handler = { + setPrototypeOf: 25 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let setters = [ + () => Reflect.setPrototypeOf(proxy, {}), + () => Object.setPrototypeOf(proxy, {}), + ]; + for (let set of setters) { + let threw = false; + try { + set(); + } catch(e) { + assert(e.toString() === "TypeError: 'setPrototypeOf' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } + } +} + +{ + let target = {}; + target.__proto__ = null; + let handler = { + setPrototypeOf: function(theTarget, value) { + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let setters = [ + () => Reflect.setPrototypeOf(proxy, {}), + () => Object.setPrototypeOf(proxy, {}), + ]; + for (let set of setters) { + let result = set(); + assert(result); + assert(Reflect.getPrototypeOf(target) === null); + assert(Reflect.getPrototypeOf(proxy) === null); + assert(proxy.__proto__ === undefined); + } + } +} + +{ + let target = {}; + target.__proto__ = null; + let handler = { + setPrototypeOf: function(theTarget, value) { + assert(theTarget === target); + return Reflect.setPrototypeOf(theTarget, value); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let obj = {}; + let setters = [ + () => Reflect.setPrototypeOf(proxy, obj), + () => Object.setPrototypeOf(proxy, obj), + ]; + for (let set of setters) { + let result = set(); + assert(result); + assert(Reflect.getPrototypeOf(target) === obj); + assert(Reflect.getPrototypeOf(proxy) === obj); + assert(proxy.__proto__ === obj); + } + } +} + +{ + let target = {}; + target.__proto__ = null; + Reflect.preventExtensions(target); + let called = false; + let handler = { + setPrototypeOf: function(theTarget, value) { + called = true; + assert(theTarget === target); + assert(value !== null); + Reflect.setPrototypeOf(theTarget, value); + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let obj = {}; + let setters = [ + () => Reflect.setPrototypeOf(proxy, obj), + () => Object.setPrototypeOf(proxy, obj), + ]; + for (let set of setters) { + let threw = false; + try { + set(); + } catch(e) { + threw = true; + assert(called); + called = false; + assert(e.toString() === "TypeError: Proxy 'setPrototypeOf' trap returned true when its target is non-extensible and the new prototype value is not the same as the current prototype value. It should have returned false"); + } + + assert(threw); + assert(Reflect.getPrototypeOf(target) === null); + assert(Reflect.getPrototypeOf(proxy) === null); + assert(proxy.__proto__ === undefined); + } + } +} + +{ + let target = {}; + target.__proto__ = null; + Reflect.preventExtensions(target); + let called = false; + let handler = { + setPrototypeOf: function(theTarget, value) { + called = true; + assert(theTarget === target); + assert(value === null); + return Reflect.setPrototypeOf(theTarget, value); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let proto = null; + let setters = [ + [() => Reflect.setPrototypeOf(proxy, null), true], + [() => Object.setPrototypeOf(proxy, null), proxy], + ]; + for (let [set, expectedResult] of setters) { + let result = set(); + assert(result === expectedResult); + assert(called); + called = false; + assert(Reflect.getPrototypeOf(target) === null); + assert(Reflect.getPrototypeOf(proxy) === null); + assert(proxy.__proto__ === undefined); + } + } +} + +{ + let target = {}; + let obj = {}; + target.__proto__ = obj; + Reflect.preventExtensions(target); + let called = false; + let handler = { + setPrototypeOf: function(theTarget, value) { + called = true; + assert(theTarget === target); + assert(value === obj); + return Reflect.setPrototypeOf(theTarget, value); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let proto = null; + let setters = [ + [() => Reflect.setPrototypeOf(proxy, obj), true], + [() => Object.setPrototypeOf(proxy, obj), proxy], + ]; + for (let [set, expectedResult] of setters) { + let result = set(); + assert(result === expectedResult); + assert(called); + called = false; + assert(Reflect.getPrototypeOf(target) === obj); + assert(Reflect.getPrototypeOf(proxy) === obj); + assert(proxy.__proto__ === obj); + } + } +} + +{ + let target = {}; + target.__proto__ = null; + Reflect.preventExtensions(target); + let handler = { + setPrototypeOf: function(theTarget, value) { + return Reflect.setPrototypeOf(theTarget, value); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let obj = {}; + let threw = false; + try { + Object.setPrototypeOf(proxy, obj); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy 'setPrototypeOf' returned false indicating it could not set the prototype value. The operation was expected to succeed"); + } + + assert(threw); + assert(Reflect.getPrototypeOf(target) === null); + assert(Reflect.getPrototypeOf(proxy) === null); + assert(proxy.__proto__ === undefined); + } +} + +{ + let target = {}; + target.__proto__ = null; + Reflect.preventExtensions(target); + + let called = false; + let handler = { + setPrototypeOf: function(theTarget, value) { + called = true; + return Reflect.setPrototypeOf(theTarget, value); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.setPrototypeOf(proxy, {}); + assert(!result); + assert(Reflect.getPrototypeOf(target) === null); + + assert(called); + called = false; + assert(Reflect.getPrototypeOf(proxy) === null); + assert(proxy.__proto__ === undefined); + } +} + +{ + let target = {}; + target.__proto__ = null; + Reflect.preventExtensions(target); + + let called = false; + let handler = { + setPrototypeOf: function(theTarget, value) { + called = true; + return Reflect.setPrototypeOf(theTarget, value); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.setPrototypeOf(proxy, null); + assert(result); + assert(Reflect.getPrototypeOf(target) === null); + assert(called); + called = false; + + assert(Reflect.getPrototypeOf(proxy) === null); + assert(proxy.__proto__ === undefined); + } +} + +{ + let target = {}; + let handler = { + setPrototypeOf: null + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let obj = {}; + let result = Reflect.setPrototypeOf(proxy, obj); + assert(result); + assert(Reflect.getPrototypeOf(target) === obj); + } +} + +{ + let target = {}; + let handler = { + setPrototypeOf: undefined + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let obj = {}; + let result = Reflect.setPrototypeOf(proxy, obj); + assert(result); + assert(Reflect.getPrototypeOf(target) === obj); + } +} + +{ + let target = {}; + let handler = { }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let obj = {}; + let result = Reflect.setPrototypeOf(proxy, obj); + assert(result); + assert(Reflect.getPrototypeOf(target) === obj); + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-set.js b/implementation-contributed/javascriptcore/stress/proxy-set.js new file mode 100644 index 0000000000..2ebb2c1bde --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-set.js @@ -0,0 +1,656 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +{ + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: 45 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + proxy.x = 40; + } catch(e) { + assert(e.toString() === "TypeError: 'set' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { + x: 30 + }; + + let error = null; + let handler = { + get set() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + proxy.x = 40; + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + error = null; + } +} + +{ + let target = { + x: 30 + }; + + let error = null; + let handler = { + set: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + proxy.x = 40; + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + error = null; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 500 + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy.x = 40; + assert(called); + assert(proxy.x === 500); + assert(target.x === 500); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 500 + }); + + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + proxy.x = 40; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'set' on a non-configurable and non-writable property on 'target' should either return false or be the same value already on the 'target'"); + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + get: function() { + return 25; + } + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy.x = 40; + assert(proxy.x === 25); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + get: function() { + return 25; + } + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + proxy.x = 40; + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'set' method on a non-configurable accessor property without a setter should return false"); + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: true, + value: 50 + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy.x = i; + assert(called); + assert(proxy.x === i); + assert(target.x === i); + called = false; + } +} + +{ + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy.x = i; + assert(called); + assert(proxy.x === i); + assert(target.x === i); + called = false; + + proxy["y"] = i; + assert(called); + assert(proxy.y === i); + assert(target.y === i); + called = false; + } +} + +{ + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy.x = i; + assert(called); + assert(proxy.x === i); + assert(target.x === i); + called = false; + + proxy["y"] = i; + assert(called); + assert(proxy.y === i); + assert(target.y === i); + called = false; + } +} + +{ + let target = []; + + let called = false; + let handler = { }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy[i] = i; + assert(proxy[i] === i); + assert(target[i] === i); + } +} + +{ + let target = []; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy[i] = i; + assert(proxy[i] === i); + assert(target[i] === i); + assert(called); + called = false; + } +} + +{ + let target = []; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy[i] = i; + assert(proxy[i] === i); + assert(target[i] === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let throughProxy = false; + let target = { + set x(v) { + assert(this === target); + this._x = v; + called = true; + }, + get x() { + if (throughProxy) + assert(this === proxy); + else + assert(this === target); + return this._x; + } + }; + + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + proxy.x = i; + assert(called); + throughProxy = true; + assert(proxy.x === i); + throughProxy = false; + assert(target.x === i); + assert(proxy._x === i); + assert(target._x === i); + called = false; + } +} + +{ + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj.own = i; + assert(!called); + assert(obj.own === i); + + obj.notOwn = i; + assert(target.notOwn === i); + assert(proxy.notOwn === i); + assert(obj.notOwn === i); + assert(called); + called = false; + } +} + +{ + let target = {}; + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj.own = i; + assert(obj.own === i); + assert(proxy.own === undefined); + + obj.notOwn = i; + // The receiver is always |obj|. + // obj.[[Set]](P, V, obj) -> Proxy.[[Set]](P, V, obj) -> target.[[Set]](P, V, obj) + assert(target.notOwn === undefined); + assert(proxy.notOwn === undefined); + assert(obj.notOwn === i); + } +} + +{ + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj[0] = i; + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === undefined); + + obj[1] = i; + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} + +{ + let target = {}; + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj[0] = i; + assert(obj[0] === i); + assert(proxy[0] === undefined); + + obj[1] = i; + // The receiver is always |obj|. + // obj.[[Set]](P, V, obj) -> Proxy.[[Set]](P, V, obj) -> target.[[Set]](P, V, obj) + assert(target[1] === undefined); + assert(proxy[1] === undefined); + assert(obj[1] === i); + } +} + +{ + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj[0] = i; + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === undefined); + + obj[1] = i; + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let target = [25]; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj[0] = i; + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === 25); + + obj[1] = i; + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let ogTarget = {}; + let target = new Proxy(ogTarget, { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === ogTarget); + assert(receiver === obj); + called = true; + theTarget[propName] = value; + } + }); + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj.own = i; + assert(!called); + assert(obj.own === i); + assert(proxy.own === undefined); + + obj.notOwn = i; + assert(target.notOwn === i); + assert(proxy.notOwn === i); + assert(obj.notOwn === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let ogTarget = [25]; + let target = new Proxy(ogTarget, { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === ogTarget); + assert(receiver === obj); + called = true; + theTarget[propName] = value; + } + }); + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + obj[0] = i; + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === 25); + + obj[1] = i; + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-stack-overflow-exceptions.js b/implementation-contributed/javascriptcore/stress/proxy-stack-overflow-exceptions.js new file mode 100644 index 0000000000..c28ab94f68 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-stack-overflow-exceptions.js @@ -0,0 +1,161 @@ +function shouldThrowStackOverflow(f) { + let threw = false; + const verbose = false; + try { + f(); + } catch(e) { + threw = e instanceof RangeError; + } + if (!threw) + throw new Error("No stack overflow error thrown."); + if (verbose) + print("passed test: " + f + "\n\n"); +} + +const emptyFunction = function() { }; +let seenStartObjects = new Map; +function makeLongProxyChain(startObject = emptyFunction) { + if (seenStartObjects.has(startObject)) + return seenStartObjects.get(startObject); + + let p = new Proxy(startObject, { }); + for (let i = 0; i < 500000; i++) + p = new Proxy(p, {}); + seenStartObjects.set(startObject, p); + return p; +} + +shouldThrowStackOverflow(function longProxyChain() { + let f = makeLongProxyChain(); + f.name; +}); + +shouldThrowStackOverflow(function effecivelyCyclicProxyProtoChain1() { + let t = {}; + let p = new Proxy(t, {}); + Object.setPrototypeOf(t, p); + t.propertyDoesNotExist; +}); + +shouldThrowStackOverflow(function effecivelyCyclicProxyProtoChain2() { + let t = {}; + let p = new Proxy(t, {}); + Object.setPrototypeOf(t, p); + for (var k in p) + break; +}); + +shouldThrowStackOverflow(function effecivelyCyclicProxyProtoChain3() { + let t = {}; + let p = new Proxy(t, {}); + Object.setPrototypeOf(t, p); + Object.prototype.toString.call(p); +}); + +shouldThrowStackOverflow(function longProxyChainBind() { + let p = makeLongProxyChain(); + Function.prototype.bind.call(p) +}); + +shouldThrowStackOverflow(function longProxyChainPropertyAccess() { + let p = makeLongProxyChain(); + p.nonExistentProperty; +}); + +shouldThrowStackOverflow(function longProxyChainReflectConstruct() { + let p = makeLongProxyChain(); + Reflect.construct(Array, [], p); +}); + +shouldThrowStackOverflow(function longProxyChainReflectSet() { + let p = makeLongProxyChain(); + Reflect.set([null], 0, 0, p); +}); + +shouldThrowStackOverflow(function longProxyChainReflectOwnKeys() { + let p = makeLongProxyChain(); + Reflect.ownKeys(p); +}); + +shouldThrowStackOverflow(function longProxyChainGetPrototypeOf() { + let p = makeLongProxyChain(); + Reflect.getPrototypeOf(p); +}); + +shouldThrowStackOverflow(function longProxyChainSetPrototypeOf() { + let p = makeLongProxyChain(); + Reflect.setPrototypeOf(p, null); +}); + +shouldThrowStackOverflow(function longProxyChainGetOwnPropertyDescriptor() { + let p = makeLongProxyChain(); + Reflect.getOwnPropertyDescriptor(p, ""); +}); + +shouldThrowStackOverflow(function longProxyChainDefineProperty() { + let p = makeLongProxyChain(); + Reflect.defineProperty(p, "", {}); +}); + +shouldThrowStackOverflow(function longProxyChainIsExtensible() { + let p = makeLongProxyChain(); + Reflect.isExtensible(p); +}); + +shouldThrowStackOverflow(function longProxyChainPreventExtensions() { + let p = makeLongProxyChain(); + Reflect.preventExtensions(p) +}); + +shouldThrowStackOverflow(function longProxyChainDeleteProperty() { + let p = makeLongProxyChain(); + Reflect.deleteProperty(p, ""); +}); + +shouldThrowStackOverflow(function longProxyChainWithScope() { + let p = makeLongProxyChain(); + with (p) { + propertyLookup; + } +}); + +shouldThrowStackOverflow(function longProxyChainWithScope2() { + let p = makeLongProxyChain(); + with (p) { + storeToProperty = 0; + } +}); + +shouldThrowStackOverflow(function longProxyChainWithScope3() { + let p = makeLongProxyChain(); + with (p) { + someFunctionPropertyLookup() + } +}); + +shouldThrowStackOverflow(function longProxyChainArrayPrototypePush() { + let p = makeLongProxyChain(); + Array.prototype.push.call(p, 0); +}); + +shouldThrowStackOverflow(function longProxyChainWithScope4() { + let p = makeLongProxyChain(); + with (p) { + eval(""); + } +}); + +shouldThrowStackOverflow(function longProxyChainCall() { + let p = makeLongProxyChain(); + p(); +}); + +shouldThrowStackOverflow(function longProxyChainConstruct() { + let p = makeLongProxyChain(); + new p; +}); + +shouldThrowStackOverflow(function longProxyChainHas() { + let p = makeLongProxyChain(); + Reflect.has(p, "foo"); +}); diff --git a/implementation-contributed/javascriptcore/stress/proxy-underscore-proto.js b/implementation-contributed/javascriptcore/stress/proxy-underscore-proto.js new file mode 100644 index 0000000000..11eeed6986 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-underscore-proto.js @@ -0,0 +1,110 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} + +{ + let p = {}; + let target = {__proto__: p}; + let called = false; + let handler = { + get(target, key, receiver) { + called = true; + assert(key === "__proto__"); + return target[key]; + }, + + getPrototypeOf() { + assert(false); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy.__proto__ === p); + assert(called); + called = false; + } +} + +{ + let p = {}; + let target = {__proto__: p}; + let called1 = false; + let called2 = false; + let handler = { + get(target, key, receiver) { + called1 = true; + assert(key === "__proto__"); + return Reflect.get(target, key, receiver); + }, + + getPrototypeOf(...args) { + called2 = true; + return Reflect.getPrototypeOf(...args); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + assert(proxy.__proto__ === p); + assert(called1); + assert(called2); + called1 = false; + called2 = false; + } +} + +{ + let p = {}; + let target = {__proto__: null}; + let called = false; + let handler = { + set(target, key, value, receiver) { + called = true; + assert(key === "__proto__"); + return target[key] = value; + }, + + setPrototypeOf() { + assert(false); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + proxy.__proto__ = p; + assert(proxy.__proto__ === p); + assert(target.__proto__ === p); + target.__proto__ = null; + assert(called); + called = false; + } +} + +{ + let p = {}; + let target = {__proto__: null}; + let called = false; + let handler = { + set(target, key, value, receiver) { + called = true; + assert(key === "__proto__"); + return Reflect.set(target, key, value, receiver); + }, + + setPrototypeOf() { + assert(false); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + proxy.__proto__ = p; + assert(proxy.__proto__ === p); + assert(target.__proto__ === p); + target.__proto__ = null; + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-with-private-symbols.js b/implementation-contributed/javascriptcore/stress/proxy-with-private-symbols.js new file mode 100644 index 0000000000..0bf1cfb54a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-with-private-symbols.js @@ -0,0 +1,88 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +// Currently, only "get", "getOwnPropertyDescriptor", and "set" are testable. + +{ + let theTarget = []; + let sawPrivateSymbolAsString = false; + let handler = { + get: function(target, propName, proxyArg) { + if (typeof propName === "string") + sawPrivateSymbolAsString = propName === "PrivateSymbol.arrayIterationKind"; + return target[propName]; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 100; i++) { + let threw = false; + try { + proxy[Symbol.iterator]().next.call(proxy); + } catch(e) { + // this will throw because we convert private symbols to strings. + assert(e.message === "%ArrayIteratorPrototype%.next requires that |this| be an Array Iterator instance"); + threw = true; + } + assert(threw); + assert(!sawPrivateSymbolAsString); + sawPrivateSymbolAsString = false; + } +} + +{ + let theTarget = []; + let sawPrivateSymbolAsString = false; + let handler = { + getOwnPropertyDescriptor: function(theTarget, propName) { + if (typeof propName === "string") + sawPrivateSymbolAsString = propName === "PrivateSymbol.arrayIterationKind"; + return target[propName]; + } + }; + + let proxy = new Proxy(theTarget, handler); + for (let i = 0; i < 100; i++) { + let threw = false; + try { + proxy[Symbol.iterator]().next.call(proxy); + } catch(e) { + // this will throw because we convert private symbols to strings. + assert(e.message === "%ArrayIteratorPrototype%.next requires that |this| be an Array Iterator instance"); + threw = true; + } + assert(threw); + assert(!sawPrivateSymbolAsString); + sawPrivateSymbolAsString = false; + } +} + +{ + let theTarget = [1,2,3,4,5]; + let iterator = theTarget[Symbol.iterator](); + let sawPrivateSymbolAsString = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + if (typeof propName === "string") + sawPrivateSymbolAsString = propName === "PrivateSymbol.arrayIterationKind"; + return target[propName]; + } + }; + + let proxy = new Proxy(iterator, handler); + for (let i = 0; i < 100; i++) { + let threw = false; + try { + proxy.next(); + } catch(e) { + // this will throw because we convert private symbols to strings. + assert(e.message === "%ArrayIteratorPrototype%.next requires that |this| be an Array Iterator instance"); + threw = true; + } + assert(!threw); + assert(!sawPrivateSymbolAsString); + sawPrivateSymbolAsString = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/proxy-with-statement.js b/implementation-contributed/javascriptcore/stress/proxy-with-statement.js new file mode 100644 index 0000000000..9920133fb3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-with-statement.js @@ -0,0 +1,26 @@ +(function () { + var target = {}; + var handler = { + get: function () + { + throw new Error('ng'); + } + }; + var array = { + hello: 42 + }; + var proxy = new Proxy(target, handler); + array[Symbol.unscopables] = proxy; + var thrown = null; + try { + with (array) { + hello; + } + } catch (error) { + thrown = error; + } + if (thrown === null) + throw new Error(`not thrown`); + if (String(thrown) !== `Error: ng`) + throw new Error(`bad error: ${String(thrown)}`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/proxy-with-unbalanced-getter-setter.js b/implementation-contributed/javascriptcore/stress/proxy-with-unbalanced-getter-setter.js new file mode 100644 index 0000000000..5cd5ce9ab1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/proxy-with-unbalanced-getter-setter.js @@ -0,0 +1,70 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +// Setting the getter only. +(function () { + let target = {}; + let called = false; + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + called = true; + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + get: function(){}, + }); + assert(result); + assert(called); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(typeof pDesc.get === "function"); + assert(typeof pDesc.set === "undefined"); + assert(pDesc.get.toString() === (function(){}).toString()); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +})(); + +// Setting the setter only. +(function () { + let target = {}; + let called = false; + let handler = { + defineProperty: function(theTarget, propName, descriptor) { + called = true; + return Reflect.defineProperty(theTarget, propName, descriptor); + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 500; i++) { + let result = Reflect.defineProperty(proxy, "x", { + enumerable: true, + configurable: true, + set: function(x){}, + }); + assert(result); + assert(called); + called = false; + + for (let obj of [target, proxy]) { + let pDesc = Object.getOwnPropertyDescriptor(obj, "x"); + assert(typeof pDesc.get === "undefined"); + assert(typeof pDesc.set === "function"); + assert(pDesc.set.toString() === (function(x){}).toString()); + assert(pDesc.configurable === true); + assert(pDesc.enumerable === true); + } + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/prune-multi-put-by-offset-replace-or-transition-variant.js b/implementation-contributed/javascriptcore/stress/prune-multi-put-by-offset-replace-or-transition-variant.js new file mode 100644 index 0000000000..8a5604c835 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/prune-multi-put-by-offset-replace-or-transition-variant.js @@ -0,0 +1,58 @@ +function foo(o) { + o.f = 1; +} + +function fu(o) { + o.e = 2; +} + +function bar(f, o) { + f(o); +} + +function baz(f, o) { + f(o); +} + +for (var i = 0; i < 100; ++i) { + foo({f:1, e:2}); + foo({e:1, f:2}); + foo({e:1}); + foo({d:1, e:2, f:3}); + fu({f:1, e:2}); + fu({e:1, f:2}); + fu({e:1, f:2, g:3}); + fu({d:1, e:2, f:3, g:4}); +} + +for (var i = 0; i < 100; ++i) { + bar(foo, {f:1}); + bar(function() { }, null); + bar(function() { return 42; }, null); + baz(fu, {e:1}); + baz(function() { }, null); + baz(function() { return 42; }, null); +} + +(function(f, g, o, p) { + var result = 0; + var n = 1000000; + for (var i = 0; i < n; ++i) { + var q; + if (i == n - 1) + q = p; + else + q = o; + baz(g, q); + bar(f, q); + } + if (o.e != 2) + throw "Error: bad value in o.e: " + o.e; + if (o.f != 1) + throw "Error: bad value in o.f: " + o.f; + if (p.e != 2) + throw "Error: bad value in p.e: " + p.e; + if (p.f != 1) + throw "Error: bad value in p.f: " + p.f; +})(foo, fu, {e:42, f:2}, {e:12, f:13, g:14}); + diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-build-list-order-recurse.js b/implementation-contributed/javascriptcore/stress/put-by-id-build-list-order-recurse.js new file mode 100644 index 0000000000..09d0219920 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-build-list-order-recurse.js @@ -0,0 +1,35 @@ +var count = 0; + +function setter(value) { + Object.defineProperty( + this, "f", { + enumerable: true, + configurable: true, + writable: true, + value: 32 + }); + var o = Object.create(this); + var currentCount = count++; + var str = "for (var i = " + currentCount + "; i < " + (100 + currentCount) + "; ++i)\n" + + " o.f\n"; + eval(str); +} + +function foo(o) { + o.f = 42; +} + +noInline(foo); + +for (var i = 0; i < 1000; ++i) { + var o = {}; + o.__defineSetter__("f", setter); + + foo(o); + if (o.f != 32) + throw ("Error 1: "+o.f); + + foo(o); + if (o.f != 42) + throw ("Error 2: "+o.f); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-direct-should-be-done-for-non-index-property.js b/implementation-contributed/javascriptcore/stress/put-by-id-direct-should-be-done-for-non-index-property.js new file mode 100644 index 0000000000..015952271f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-direct-should-be-done-for-non-index-property.js @@ -0,0 +1,41 @@ +(function () { + var object = { + 2: 2 + }; + + var result = object[2]; + if (result !== 2) + throw new Error('bad value:' + result); +}()); + + +(function () { + var object = { + get 2() { + return 1; + }, + set 2(value) { + throw new Error(2); + }, + }; + + var result = object[2]; + if (result !== 1) + throw new Error('bad value:' + result); +}()); + +(function () { + var object = { + get 2() { + return 1; + }, + set 2(value) { + throw new Error(2); + }, + 2: 2, // Do not throw new Error(2) + }; + + var result = object[2]; + if (result !== 2) + throw new Error('bad value:' + result); +}()); diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-direct-strict-transition.js b/implementation-contributed/javascriptcore/stress/put-by-id-direct-strict-transition.js new file mode 100644 index 0000000000..6951617188 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-direct-strict-transition.js @@ -0,0 +1,13 @@ +"use strict" + +let theglobal = 0; +for (theglobal = 0; theglobal < 100000; ++theglobal) + ; +const foo = (ignored, arg1) => { theglobal = arg1; }; +for (let j = 0; j < 10000; ++j) { + const obj = { + set hello(ignored) {}, + [theglobal]: 0 + }; + foo(obj, 'hello'); +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-direct-transition.js b/implementation-contributed/javascriptcore/stress/put-by-id-direct-transition.js new file mode 100644 index 0000000000..611f8ed266 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-direct-transition.js @@ -0,0 +1,11 @@ +let theglobal = 0; +for (theglobal = 0; theglobal < 100000; ++theglobal) + ; +const foo = (ignored, arg1) => { theglobal = arg1; }; +for (let j = 0; j < 10000; ++j) { + const obj = { + set hello(ignored) {}, + [theglobal]: 0 + }; + foo(obj, 'hello'); +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-direct.js b/implementation-contributed/javascriptcore/stress/put-by-id-direct.js new file mode 100644 index 0000000000..b5c06df7b1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-direct.js @@ -0,0 +1,23 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + var builtin = createBuiltin(`(function (obj, value) { + return @putByIdDirect(obj, "hello", value); + })`); + noInline(builtin); + + var setValue = null; + var object = { + __proto__: { + hello: 30 + } + }; + builtin(object, 42); + shouldBe(object.hello, 42); + shouldBe(object.hasOwnProperty("hello"), true); +}()); diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-non-strict.js b/implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-non-strict.js new file mode 100644 index 0000000000..15cc9f99c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-non-strict.js @@ -0,0 +1,31 @@ +function opaqueNewObject(prototype) +{ + return Object.create(prototype); +} +noInline(opaqueNewObject); + +function putValueOnNewObject(value, prototype) +{ + var object = opaqueNewObject(prototype); + object.myProperty = value; + return object; +} +noInline(putValueOnNewObject) + +for (var i = 0; i < 1e4; ++i) { + var initialPrototype = new Object; + for (var j = 0; j < 5; ++j) { + var object = putValueOnNewObject(j, initialPrototype); + if (object["myProperty"] !== j) { + throw "Ooops, we mess up before the prototype change at iteration i = " + i + " j = " + j; + } + } + + initialPrototype.foo = "bar"; + for (var j = 0; j < 5; ++j) { + var object = putValueOnNewObject(j, initialPrototype); + if (object["myProperty"] !== j) { + throw "Ooops, we mess up at iteration i = " + i + " j = " + j; + } + } +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-strict.js b/implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-strict.js new file mode 100644 index 0000000000..45422443cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-on-new-object-after-prototype-transition-strict.js @@ -0,0 +1,33 @@ +"use strict" + +function opaqueNewObject(prototype) +{ + return Object.create(prototype); +} +noInline(opaqueNewObject); + +function putValueOnNewObject(value, prototype) +{ + var object = opaqueNewObject(prototype); + object.myProperty = value; + return object; +} +noInline(putValueOnNewObject) + +for (var i = 0; i < 1e4; ++i) { + var initialPrototype = new Object; + for (var j = 0; j < 5; ++j) { + var object = putValueOnNewObject(j, initialPrototype); + if (object["myProperty"] !== j) { + throw "Ooops, we mess up before the prototype change at iteration i = " + i + " j = " + j; + } + } + + initialPrototype.foo = "bar"; + for (var j = 0; j < 5; ++j) { + var object = putValueOnNewObject(j, initialPrototype); + if (object["myProperty"] !== j) { + throw "Ooops, we mess up at iteration i = " + i + " j = " + j; + } + } +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-strict-build-list-order.js b/implementation-contributed/javascriptcore/stress/put-by-id-strict-build-list-order.js new file mode 100644 index 0000000000..baab8e53c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-strict-build-list-order.js @@ -0,0 +1,16 @@ +function foo(o) { + "use strict"; + o.f = 42; +} + +noInline(foo); + +var a = {}; +foo(a); +foo(a); +a = {f : 3}; +foo(a); + +var b = {}; +foo(b); +foo(b); diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-throw-through-optimized-code.js b/implementation-contributed/javascriptcore/stress/put-by-id-throw-through-optimized-code.js new file mode 100644 index 0000000000..07541ba963 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-throw-through-optimized-code.js @@ -0,0 +1,33 @@ +function foo(o) { + "use strict"; + o.f = 42; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var o = {}; + foo(o); + if (o.f != 42) + throw "Error: bad result: " + o.f; + o = {f:23}; + foo(o); + if (o.f != 42) + throw "Error: bad result: " + o.f; + o = {g:12}; + foo(o); + if (o.f != 42) + throw "Error: bad result: " + o.f; +} + +var didThrow; +try { + var o = {}; + Object.freeze(o); + foo(o); +} catch (e) { + didThrow = e; +} + +if (!didThrow || didThrow.toString().indexOf("TypeError:") != 0) + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/put-by-id-transition-null-prototype.js b/implementation-contributed/javascriptcore/stress/put-by-id-transition-null-prototype.js new file mode 100644 index 0000000000..9c7c69951f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-id-transition-null-prototype.js @@ -0,0 +1,13 @@ +function foo(o) { + o.f = 42; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var o = Object.create(null); + foo(o); + if (o.f != 42) + throw "Error: bad result: " + o.f; +} + diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-array-storage.js b/implementation-contributed/javascriptcore/stress/put-by-val-array-storage.js new file mode 100644 index 0000000000..c7d284f2c2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-array-storage.js @@ -0,0 +1,40 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testArrayStorageInBounds(array, index, value) +{ + array[index] = value; +} +noInline(testArrayStorageInBounds); + +for (var i = 0; i < 1e5; ++i) { + var array = [1, 2, 3, 4, 5]; + ensureArrayStorage(array); + shouldBe(array[0], 1); + testArrayStorageInBounds(array, 0, 42); + shouldBe(array[0], 42); +} +for (var i = 0; i < 1e5; ++i) { + var array = [, 2, 3, 4]; + ensureArrayStorage(array); + shouldBe(array[0], undefined); + shouldBe(array[1], 2); + testArrayStorageInBounds(array, 0, 42); + testArrayStorageInBounds(array, 1, 40); + shouldBe(array[0], 42); + shouldBe(array[1], 40); + shouldBe(array.length, 4); + testArrayStorageInBounds(array, 4, 42); + shouldBe(array[4], 42); + shouldBe(array.length, 5); +} +for (var i = 0; i < 1e5; ++i) { + var array = [, 2, 3, 4]; + ensureArrayStorage(array); + shouldBe(array[6], undefined); + testArrayStorageInBounds(array, 6, 42); + shouldBe(array.length, 7); + shouldBe(array[6], 42); +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-direct-out-of-bounds-setter.js b/implementation-contributed/javascriptcore/stress/put-by-val-direct-out-of-bounds-setter.js new file mode 100644 index 0000000000..4e1401cd05 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-direct-out-of-bounds-setter.js @@ -0,0 +1,26 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var testInt32 = createBuiltin(`(function (array, index, value) { + @putByValDirect(array, index, value); +})`); +noInline(testInt32); + +Object.defineProperty(Array.prototype, 42, { + get() { + return 30; + }, + set(value) { + } +}); +for (var i = 0; i < 1e5; ++i) { + var array = [1, 2, 3, 4, 5]; + shouldBe(array[42], 30); + testInt32(array, 42, 42); + shouldBe(array[42], 42); + shouldBe(Array.prototype[42], 30); +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-out-of-bounds-basics.js b/implementation-contributed/javascriptcore/stress/put-by-val-out-of-bounds-basics.js new file mode 100644 index 0000000000..186c9fbd52 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-out-of-bounds-basics.js @@ -0,0 +1,87 @@ +// Put early out-of-bound data. +function opaquePutByValOnInt32ArrayEarlyOutOfBounds(array, index, value) +{ + array[index] = value; +} +noInline(opaquePutByValOnInt32ArrayEarlyOutOfBounds); + +function testInt32ArrayEarlyOutOfBounds() +{ + // Warm up with an immediate out of bounds. + var int32Array = new Array(10); + for (var i = 0; i < 10; ++i) { + opaquePutByValOnInt32ArrayEarlyOutOfBounds(int32Array, i, i); + var value = int32Array[i]; + if (value !== i) + throw "Failed opaquePutByValOnInt32ArrayEarlyOutOfBounds(int32Array, i, i) warmup with i = " + i + " value = " + value; + } + opaquePutByValOnInt32ArrayEarlyOutOfBounds(int32Array, 1042, 1); + var value = int32Array[1042]; + if (value !== 1) + throw "Failed opaquePutByValOnInt32ArrayEarlyOutOfBounds(int32Array, 1042, 1) value = " + value; + + var length = int32Array.length; + if (int32Array.length !== 1043) + throw "Incorrect int32Array.length, length = " + length; + + + // We then do plenty of in-bounds accesses. + for (var i = 0; i < 1e4; ++i) { + for (var j = 0; j < 10; ++j) { + opaquePutByValOnInt32ArrayEarlyOutOfBounds(int32Array, j, i); + var value = int32Array[j]; + if (value !== i) + throw "Failed opaquePutByValOnInt32ArrayEarlyOutOfBounds(int32Array, j, i) in-bounds with i = " + i + " j = " + j + " value = " + value; + } + } +} +testInt32ArrayEarlyOutOfBounds(); + + +// Get out-of-bound data after a thousand run. +function opaquePutByValOnStringArrayHotOutOfBounds(array, index, value) +{ + array[index] = value; +} +noInline(opaquePutByValOnStringArrayHotOutOfBounds); + +function testStringArrayHotOutOfBounds() +{ + // Warm up with in bounds access. + var stringArray = new Array(10); + for (var i = 0; i < 1e2; ++i) { + for (var j = 0; j < 10; ++j) { + opaquePutByValOnStringArrayHotOutOfBounds(stringArray, j, "" + i); + var value = stringArray[j]; + if (value !== "" + i) + throw "Failed opaquePutByValOnStringArrayHotOutOfBounds(stringArray, j, i) in-bounds with i = " + i + " j = " + j + " value = " + value; + } + } + + // Do a single out of bounds after warmup. + opaquePutByValOnStringArrayHotOutOfBounds(stringArray, 513, 42); + var value = stringArray[513]; + if (value !== 42) + throw "Failed opaquePutByValOnStringArrayHotOutOfBounds(stringArray, 513, 42), value = " + value; + + // We then do plenty of in-bounds accesses. + for (var i = 0; i < 1e3; ++i) { + for (var j = 0; j < 10; ++j) { + opaquePutByValOnStringArrayHotOutOfBounds(stringArray, j, "" + i); + var value = stringArray[j]; + if (value !== "" + i) + throw "Failed opaquePutByValOnStringArrayHotOutOfBounds(stringArray, j, i) in-bounds with i = " + i + " j = " + j + " value = " + value; + } + } + + // Followed by plenty of out-of-bounds accesses. + for (var j = 514; j <= 1025; ++j) + opaquePutByValOnStringArrayHotOutOfBounds(stringArray, j, "" + j); + + for (var j = 514; j <= 1025; ++j) { + var value = stringArray[j]; + if (value !== "" + j) + throw "Failed opaquePutByValOnStringArrayHotOutOfBounds(stringArray, j, j) in-bounds with j = " + j + " value = " + value; + } +} +testStringArrayHotOutOfBounds(); diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-slow-put-array-storage.js b/implementation-contributed/javascriptcore/stress/put-by-val-slow-put-array-storage.js new file mode 100644 index 0000000000..b910ff5a0c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-slow-put-array-storage.js @@ -0,0 +1,67 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testArrayStorageInBounds(array, index, value) +{ + array[index] = value; +} +noInline(testArrayStorageInBounds); + +for (var i = 0; i < 1e4; ++i) { + var array = [1, 2, 3, 4, 5]; + var object = { a: 10 }; + Object.defineProperties(object, { + "1": { + get: function() { return this.a; }, + set: function(x) { this.a = x; }, + }, + }); + array.__proto__ = object; + ensureArrayStorage(array); + shouldBe(array[0], 1); + testArrayStorageInBounds(array, 0, 42); + shouldBe(array[0], 42); +} +for (var i = 0; i < 1e4; ++i) { + var array = [, 2, 3, 4]; + var object = { a: 10 }; + Object.defineProperties(object, { + "1": { + get: function() { return this.a; }, + set: function(x) { this.a = x + 20; }, + }, + }); + array.__proto__ = object; + ensureArrayStorage(array); + shouldBe(array[0], undefined); + shouldBe(array[1], 2); + testArrayStorageInBounds(array, 0, 42); + testArrayStorageInBounds(array, 1, 40); + shouldBe(array[0], 42); + shouldBe(array[1], 40); + testArrayStorageInBounds(array, 4, 42); + shouldBe(array[4], 42); + shouldBe(array.length, 5); +} +for (var i = 0; i < 1e4; ++i) { + var array = [, , 3, 4]; + var object = { a: 10 }; + Object.defineProperties(object, { + "1": { + get: function() { return this.a; }, + set: function(x) { this.a = x + 20; }, + }, + }); + array.__proto__ = object; + ensureArrayStorage(array); + shouldBe(array[0], undefined); + shouldBe(array[1], 10); + shouldBe(array[6], undefined); + testArrayStorageInBounds(array, 6, 42); + testArrayStorageInBounds(array, 1, 42); + shouldBe(array.length, 7); + shouldBe(array[1], 62); + shouldBe(array[6], 42); +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-with-string-break.js b/implementation-contributed/javascriptcore/stress/put-by-val-with-string-break.js new file mode 100644 index 0000000000..5ee64cafee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-with-string-break.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function assign(object, name, value) +{ + object[name] = value; +} +noInline(assign); + +var string = 'hello'; +for (var i = 0; i < 10001; ++i) { + var object = {}; + if (i === 10000) { + assign(object, 42, 42); + shouldBe(object[42], 42); + shouldBe(object.hello, undefined); + } else { + assign(object, string, 42); + shouldBe(object[string], 42); + } +} + diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-with-string-generated.js b/implementation-contributed/javascriptcore/stress/put-by-val-with-string-generated.js new file mode 100644 index 0000000000..c1f43ad3b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-with-string-generated.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function gen1(value) +{ + return 'he' + value; +} +noInline(gen1); + +function gen2(value) +{ + return value + 'ld'; +} +noInline(gen2); + +function assign(object, name, value) +{ + object[name] = value; +} +noInline(assign); + +for (var i = 0; i < 10000; ++i) { + var object = {}; + if (i % 2 === 0) { + assign(object, gen1('llo'), 42); + shouldBe(object.hello, 42); + } else { + assign(object, gen2('wor'), 42); + shouldBe(object.world, 42); + } +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-with-string-generic.js b/implementation-contributed/javascriptcore/stress/put-by-val-with-string-generic.js new file mode 100644 index 0000000000..a6ff811604 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-with-string-generic.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function assign(object, name, value) +{ + object[name] = value; +} +noInline(assign); + +var string = 'hello'; +for (var i = 0; i < 10001; ++i) { + var object = {}; + if (i === 10000) { + assign(object, 'testing', 42); + shouldBe(object.testing, 42); + shouldBe(object.hello, undefined); + } else { + assign(object, string, 42); + shouldBe(object[string], 42); + } +} + diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-break.js b/implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-break.js new file mode 100644 index 0000000000..d548511144 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-break.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function assign(object, name, value) +{ + object[name] = value; +} +noInline(assign); + +var key = Symbol(); +for (var i = 0; i < 10001; ++i) { + var object = {}; + if (i === 10000) { + var key2 = 42; + assign(object, key2, 42); + shouldBe(object[key2], 42); + shouldBe(object[key], undefined); + } else { + assign(object, key, 42); + shouldBe(object[key], 42); + } +} diff --git a/implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-generic.js b/implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-generic.js new file mode 100644 index 0000000000..5fc4d18d40 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-by-val-with-symbol-generic.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function assign(object, name, value) +{ + object[name] = value; +} +noInline(assign); + +var key = Symbol(); +for (var i = 0; i < 10001; ++i) { + var object = {}; + if (i === 10000) { + var key2 = Symbol(); + assign(object, key2, 42); + shouldBe(object[key2], 42); + shouldBe(object[key], undefined); + } else { + assign(object, key, 42); + shouldBe(object[key], 42); + } +} diff --git a/implementation-contributed/javascriptcore/stress/put-direct-index-broken-2.js b/implementation-contributed/javascriptcore/stress/put-direct-index-broken-2.js new file mode 100644 index 0000000000..ee6da71b41 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-direct-index-broken-2.js @@ -0,0 +1,248 @@ +//@ skip if $architecture == "x86" +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function test(f) { + for (let i = 0; i < 1000; ++i) { + f(); + } +} + +let __oldDesc = null; +let __localLength; +function makeLengthWritable() { + assert(__oldDesc === null); + __oldDesc = Object.getOwnPropertyDescriptor(Uint8ClampedArray.prototype.__proto__, "length"); + assert(typeof __oldDesc.get === "function"); + Reflect.defineProperty(Uint8ClampedArray.prototype.__proto__, "length", {configurable:true, get() { return __localLength; }, set(x) { __localLength = x; }}); +} + +function restoreOldDesc() { + assert(__oldDesc !== null); + Reflect.defineProperty(Uint8ClampedArray.prototype.__proto__, "length", __oldDesc); + __oldDesc = null; +} + +test(function() { + "use strict"; + let a = []; + a.push(300); + a.length = 4277; + + let x = new Uint8ClampedArray; + a.__proto__ = x; + let err = null; + try { + let y = Array.prototype.map.call(a, x => x); + } catch(e) { + err = e; + } + assert(!!err); + assert(err.toString() === "TypeError: Attempting to configure non-configurable property on a typed array at index: 0"); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + let err = null; + try { + let y = Array.prototype.filter.call(a, x => true); + } catch(e) { + err = e; + } + assert(err.toString() === "TypeError: Attempting to configure non-configurable property on a typed array at index: 0"); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + let err = null; + let y = Array.prototype.filter.call(a, x => false); + assert(y instanceof Uint8ClampedArray); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + + let err = null; + try { + let y = Array.prototype.slice.call(a, 0); + } catch(e) { + err = e; + } + assert(err.toString() === "TypeError: Attempting to configure non-configurable property on a typed array at index: 0"); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + + makeLengthWritable(); + let y = Array.prototype.slice.call(a, 100); + assert(y.length === 4277 - 100); + assert(y.length === __localLength); + assert(y instanceof Uint8ClampedArray); + restoreOldDesc(); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + + makeLengthWritable(); + let y = Array.prototype.splice.call(a); + assert(y.length === __localLength); + assert(y.length === 0); + restoreOldDesc(); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + + let err = null; + try { + let y = Array.prototype.splice.call(a, 0); + } catch(e) { + err = e; + } + assert(err.toString() === "TypeError: Attempting to configure non-configurable property on a typed array at index: 0"); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let x = new Uint8ClampedArray; + a.__proto__ = x; + + makeLengthWritable(); + let y = Array.prototype.slice.call(a, 100); + assert(y.length === 4277 - 100); + assert(y.length === __localLength); + assert(y instanceof Uint8ClampedArray); + restoreOldDesc(); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let calls = 0; + let target = {}; + a.__proto__ = { + constructor: { + [Symbol.species]: function(length) { + assert(length === 4277) + return new Proxy(target, { + defineProperty(...args) { + ++calls; + return Reflect.defineProperty(...args); + } + }); + } + } + }; + let y = Array.prototype.map.call(a, x => x); + assert(calls === 100); + for (let i = 0; i < 100; ++i) + assert(target[i] === i); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let calls = 0; + let target = {}; + a.__proto__ = { + constructor: { + [Symbol.species]: function(length) { + assert(length === 0) + return new Proxy(target, { + defineProperty(...args) { + ++calls; + return Reflect.defineProperty(...args); + } + }); + } + } + }; + let y = Array.prototype.filter.call(a, x => true); + assert(calls === 100); + for (let i = 0; i < 100; ++i) + assert(target[i] === i); +}); + +test(function() { + let a = []; + for (let i = 0; i < 100; i++) { + a.push(i); + } + a.length = 4277; + let calls = 0; + let target = {}; + let keys = []; + a.__proto__ = { + constructor: { + [Symbol.species]: function(length) { + assert(length === 4277) + return new Proxy(target, { + defineProperty(...args) { + keys.push(args[1]) + ++calls; + return Reflect.defineProperty(...args); + } + }); + } + } + }; + let y = Array.prototype.slice.call(a, 0); + assert(calls === 101); // length gets defined too. + assert(keys.length === 101); + for (let i = 0; i < 100; ++i) { + assert(parseInt(keys[i]) === i); + assert(target[i] === i); + } + assert(keys[keys.length - 1] === "length"); + assert(target.length === 4277); +}); diff --git a/implementation-contributed/javascriptcore/stress/put-direct-index-broken.js b/implementation-contributed/javascriptcore/stress/put-direct-index-broken.js new file mode 100644 index 0000000000..ce7d782c93 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-direct-index-broken.js @@ -0,0 +1,25 @@ +function whatToTest(code){return {allowExec: true,};} +function tryRunning(f, code, wtt) +{ + uneval = true + try {var rv = f();} catch(runError) {} + try {if ('__defineSetter__' in this) {delete this.uneval;} } catch(e) {} +} +function tryItOut(code) +{ + var wtt = true; + var f; + try {f = new Function(code);} catch(compileError) {} + tryRunning(f, code, wtt); +} +tryItOut(`a0 = []; + r0 = /x/; + t0 = new Uint8ClampedArray; + o1 = {}; + g1 = this; + v2 = null;`); + +tryItOut("func = (function(x, y) {});"); +tryItOut("for (var p in g1) { this.a0[new func([].map(q => q, null), x)]; }"); +tryItOut("a0.push(o1.m1);a0.length = (4277);a0.__proto__ = this.t0;"); +tryItOut("\"use strict\"; a0 = Array.prototype.map.call(a0, (function() {}));"); diff --git a/implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-strict-transition.js b/implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-strict-transition.js new file mode 100644 index 0000000000..9abd44e15e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-strict-transition.js @@ -0,0 +1,13 @@ +"use strict" + +let theglobal = 0; +for (theglobal = 0; theglobal < 100000; ++theglobal) + ; +const foo = (ignored, arg1) => { theglobal = arg1; }; +for (let j = 0; j < 10000; ++j) { + const obj = { + [theglobal]: 0, + set hello(ignored) {} + }; + foo(obj, 'hello'); +} diff --git a/implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-transition.js b/implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-transition.js new file mode 100644 index 0000000000..7683ccd8ef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-getter-setter-by-id-transition.js @@ -0,0 +1,11 @@ +let theglobal = 0; +for (theglobal = 0; theglobal < 100000; ++theglobal) + ; +const foo = (ignored, arg1) => { theglobal = arg1; }; +for (let j = 0; j < 10000; ++j) { + const obj = { + [theglobal]: 0, + set hello(ignored) {} + }; + foo(obj, 'hello'); +} diff --git a/implementation-contributed/javascriptcore/stress/put-indexed-getter-setter.js b/implementation-contributed/javascriptcore/stress/put-indexed-getter-setter.js new file mode 100644 index 0000000000..4375e1e1d5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-indexed-getter-setter.js @@ -0,0 +1,18 @@ +function foo() { + let setterValue = 0; + class X { + static set 7(x) { setterValue = x; } + static get 7() { } + }; + X[7] = 27; + if (setterValue !== 27) + throw new Error("Bad") +} +noInline(foo); + +for (let i = 0; i < 10000; ++i) + foo(); + +Object.defineProperty(Object.prototype, "7", {get() { return 500; }, set(x) { }}); // this shouldn't change the test at all, it should be doing defineOwnProperty. +for (let i = 0; i < 10000; ++i) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/put-inline-cache-side-effects.js b/implementation-contributed/javascriptcore/stress/put-inline-cache-side-effects.js new file mode 100644 index 0000000000..ea9fa1c90e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-inline-cache-side-effects.js @@ -0,0 +1,30 @@ +let objs = new Array(1000); +for (let i of objs.keys()) { + let o = {}; + // Make the object an uncacheable dictionary. + o.foo = 1; + delete o.foo; + objs[i] = o; +} + +function f(o) { + o.foo = 42; +} + +for (let obj of objs) { + let setter = new Function(` + Object.defineProperty(this, "foo", { + writable: true, + configurable: true, + value: null + }); + let o = Object.create(this); + // Need eval to get a new IC to flatten obj. + let str = "for (let i = 0; i < 1000; i++) o.foo"; + eval(str); + `); + + obj.__defineSetter__("foo", setter); + f(obj); + f(obj); +} diff --git a/implementation-contributed/javascriptcore/stress/put-local-conservative.js b/implementation-contributed/javascriptcore/stress/put-local-conservative.js new file mode 100644 index 0000000000..c63a0c1302 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-local-conservative.js @@ -0,0 +1,47 @@ +function foo(o, a, b, c) { + // Don't do anything real but have some control flow. This causes the PutLocals for a, + // b, and c to survive into SSA form. But we don't have any effects, so sinking will be + // successful. + if (o.f) + return 42; + else + return 0; +} + +function bar(o, y) { + var a = y; + var b = y + 1; + var c = y + 2; + var d = y + 3; + var e = y + 4; + var f = y + 5; + var g = y + 6; + var h = y + 7; + var i = y + 8; + var j = y + 9; + var k = y + 10; + var result = function(p, q) { + var x = a + b + c + d + e + f + g + h + i + j + k; + if (q) { + // Make it appear that it's possible to clobber those closure variables, so that we + // load from them again down below. + a = b = c = d = e = f = g = h = i = j = k = 42; + } + if (p) + x = foo(o, 1, 2, 3) + else + x = 5; + return x + a + b + c + d + e + f + g + h + i + j + k; + }; + noInline(result); + return result; +} + +var o = {f: 42}; + +for (var i = 0; i < 100000; ++i) { + var result = bar(o, i)(true, false); + if (result != 42 + 11 * i + 55) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/put-on-cow-prototype.js b/implementation-contributed/javascriptcore/stress/put-on-cow-prototype.js new file mode 100644 index 0000000000..6bfa7b25cb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/put-on-cow-prototype.js @@ -0,0 +1,18 @@ +function putByVal() { + let proto = [0,1]; + let object = Object.create(proto); + object[0] = 5; +} +noInline(putByVal); + +function putById() { + let proto = [0,1]; + let object = Object.create(proto); + object.foo = 5; +} +noInline(putById); + +for (let i = 0; i < 10000; i++) { + putByVal(); + putById(); +} diff --git a/implementation-contributed/javascriptcore/stress/raise-error-in-iterator-close.js b/implementation-contributed/javascriptcore/stress/raise-error-in-iterator-close.js new file mode 100644 index 0000000000..88f6e8604e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/raise-error-in-iterator-close.js @@ -0,0 +1,118 @@ + +function createIterator(callback) { + var array = [0,1,2,3,4,5]; + var iterator = array[Symbol.iterator](); + iterator.return = function () { + iterator.returned = true; + if (callback) + return callback(this); + return { done: true, value: undefined }; + }; + iterator.returned = false; + return iterator; +} + +(function test() { + var outerIterator = createIterator(); + var innerIterator = createIterator(function () { + throw new Error("Inner return called."); + }); + var error = null; + try { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break; + } + } + } catch (e) { + error = e; + } + if (!error) + throw new Error("no error"); + if (String(error) !== "Error: Inner return called.") + throw new Error("bad error: " + String(error)); + if (!innerIterator.returned) + throw new Error("bad value: " + innerIterator.returned); + if (!outerIterator.returned) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(function () { + throw new Error("Outer return called."); + }); + var innerIterator = createIterator(function () { + throw new Error("Inner return called."); + }); + var error = null; + try { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break; + } + } + } catch (e) { + error = e; + } + if (!error) + throw new Error("no error"); + if (String(error) !== "Error: Inner return called.") + throw new Error("bad error: " + String(error)); + if (!innerIterator.returned) + throw new Error("bad value: " + innerIterator.returned); + if (!outerIterator.returned) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(function () { + throw new Error("Outer return called."); + }); + var innerIterator = createIterator(); + var error = null; + try { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + break outer; + } + } + } catch (e) { + error = e; + } + if (!error) + throw new Error("no error"); + if (String(error) !== "Error: Outer return called.") + throw new Error("bad error: " + String(error)); + if (!innerIterator.returned) + throw new Error("bad value: " + innerIterator.returned); + if (!outerIterator.returned) + throw new Error("bad value: " + outerIterator.returned); +}()); + +(function test() { + var outerIterator = createIterator(function () { + throw new Error("Outer return called."); + }); + var innerIterator = createIterator(function () { + throw new Error("Inner return called."); + }); + var error = null; + try { + outer: for (var e1 of outerIterator) { + inner: for (var e2 of innerIterator) { + throw new Error("Loop raises error."); + } + } + } catch (e) { + error = e; + } + if (!error) + throw new Error("no error"); + if (String(error) !== "Error: Loop raises error.") + throw new Error("bad error: " + String(error)); + if (!innerIterator.returned) + throw new Error("bad value: " + innerIterator.returned); + if (!outerIterator.returned) + throw new Error("bad value: " + outerIterator.returned); +}()); + diff --git a/implementation-contributed/javascriptcore/stress/random-53bit.js b/implementation-contributed/javascriptcore/stress/random-53bit.js new file mode 100644 index 0000000000..e86777ef2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/random-53bit.js @@ -0,0 +1,28 @@ +function test() { + var MAX = 50; + var found53Bit = false; + var foundLessThan53Bit = false; + var results = new Array(MAX); + + for (var i = 0; i < MAX; ++i) { + var str = Math.random().toString(2); + results[i] = str; + // 53 bit + '0.'.length + if (str.length === (53 + 2)) + found53Bit = true; + else if (str.length < (53 + 2)) + foundLessThan53Bit = true; + + if (found53Bit && foundLessThan53Bit) + return true; + } + print(`Random seed ${getRandomSeed()}`); + print(results.join('\n')); + return false; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + if (!test()) + throw new Error("OUT"); +} diff --git a/implementation-contributed/javascriptcore/stress/random-in-range.js b/implementation-contributed/javascriptcore/stress/random-in-range.js new file mode 100644 index 0000000000..9ec0d9fbef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/random-in-range.js @@ -0,0 +1,14 @@ +function test() { + var value = Math.random(); + if (value >= 1.0) + return false; + if (value < 0) + return false; + return true; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) { + if (!test()) + throw new Error("OUT"); +} diff --git a/implementation-contributed/javascriptcore/stress/re-execute-error-module.js b/implementation-contributed/javascriptcore/stress/re-execute-error-module.js new file mode 100644 index 0000000000..98a98babc9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/re-execute-error-module.js @@ -0,0 +1,28 @@ +var abort = $vm.abort; + +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +(async function () { + { + let errorMessage = null; + try { + await import("./resources/error-module.js"); + } catch (error) { + errorMessage = String(error); + } + shouldBe(errorMessage, `SyntaxError: Importing binding name 'x' is not found.`); + } + { + let errorMessage = null; + try { + await import("./resources/error-module.js"); + } catch (error) { + errorMessage = String(error); + } + shouldBe(errorMessage, `SyntaxError: Importing binding name 'x' is not found.`); + } +}()).catch(abort); diff --git a/implementation-contributed/javascriptcore/stress/real-forward-varargs-for-inlined-escaped-arguments.js b/implementation-contributed/javascriptcore/stress/real-forward-varargs-for-inlined-escaped-arguments.js new file mode 100644 index 0000000000..0f5b65ce63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/real-forward-varargs-for-inlined-escaped-arguments.js @@ -0,0 +1,25 @@ +function foo() { + return arguments; +} + +function fuzz(args) { + return foo.apply(void 0, args); +} + +function baz(a, b, c) { + return a + b + c; +} + +function bar(args1) { + var args2 = fuzz(args1); + return baz.apply(void 0, args2); +} + +noInline(bar); + +for (var i = 0; i < 20000; ++i) { + var result = bar([1, 2, 3]); + if (result != 6) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/recurse-infinitely-on-getter.js b/implementation-contributed/javascriptcore/stress/recurse-infinitely-on-getter.js new file mode 100644 index 0000000000..a896f529c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/recurse-infinitely-on-getter.js @@ -0,0 +1,23 @@ +//@ skip +// FIXME: figure out why it times out. +// https://bugs.webkit.org/show_bug.cgi?id=130880 + +for (var i = 0; i < 100; ++i) { + var o = {}; + o.__defineGetter__("f", function() { + return o.f; + }); + var didThrow; + var result; + result = "not set"; + try { + result = o.f; + } catch (e) { + didThrow = e; + } + if (result != "not set") + throw "Did set result: " + result; + if (!didThrow || didThrow.toString().indexOf("RangeError") != 0) + throw "Bad exception: " + didThrow; +} + diff --git a/implementation-contributed/javascriptcore/stress/recursive-tail-call-with-different-argument-count.js b/implementation-contributed/javascriptcore/stress/recursive-tail-call-with-different-argument-count.js new file mode 100644 index 0000000000..047fb01f88 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/recursive-tail-call-with-different-argument-count.js @@ -0,0 +1,25 @@ +"use strict"; +function foo(x, y) +{ + if (arguments.length >= 2) + return foo(x+y) + return x; +} +noInline(foo); + +function bar(x) +{ + if (arguments.length >= 2) + return bar(arguments[0] + arguments[1]) + return x; +} +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = foo(40, 2); + if (result !== 42) + throw "Wrong result for foo, expected 42, got " + result; + result = bar(40, 2); + if (result !== 42) + throw "Wrong result for bar, expected 42, got " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/recursive-try-catch.js b/implementation-contributed/javascriptcore/stress/recursive-try-catch.js new file mode 100644 index 0000000000..647ea23d81 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/recursive-try-catch.js @@ -0,0 +1,89 @@ +//@ defaultNoSamplingProfilerRun +// This test should run to completion without excessive memory usage + +let maxHeapAllowed = 10 * 1024 * 1024; // This test should run using much less than 10MB. +let badFunction = undefined; +let loggedError = undefined; + +function logError(error) +{ + loggedError = error; +} + +function tryCallingBadFunction() +{ + try { + badFunction(42); + } catch(error) { + logError(error); + } + + recurse(); +} + +function recurse() +{ + // Make the frame big to run out of stack with fewer recursive calls. + let val1, val2, val3, val4, val5, val6, val7, val8, val9, val10; + let val11, val12, val13, val14, val15, val16, val17, val18, val19, val20; + let val21, val22, val23, val24, val25, val26, val27, val28, val29, val30; + let val31, val32, val33, val34, val35, val36, val37, val38, val39, val40; + let val41, val42, val43, val44, val45, val46, val47, val48, val49, val50; + let val51, val52, val53, val54, val55, val56, val57, val58, val59, val60; + let val61, val62, val63, val64, val65, val66, val67, val68, val69, val70; + let val71, val72, val73, val74, val75, val76, val77, val78, val79, val80; + let val81, val82, val83, val84, val85, val86, val87, val88, val89, val90; + let val91, val92, val93, val94, val95, val96, val97, val98, val99, val100; + let val101, val102, val103, val104, val105, val106, val107, val108, val109, val110; + let val111, val112, val113, val114, val115, val116, val117, val118, val119, val120; + let val121, val122, val123, val124, val125, val126, val127, val128, val129, val130; + let val131, val132, val133, val134, val135, val136, val137, val138, val139, val140; + let val141, val142, val143, val144, val145, val146, val147, val148, val149, val150; + let val151, val152, val153, val154, val155, val156, val157, val158, val159, val160; + let val161, val162, val163, val164, val165, val166, val167, val168, val169, val170; + let val171, val172, val173, val174, val175, val176, val177, val178, val179, val180; + let val181, val182, val183, val184, val185, val186, val187, val188, val189, val190; + let val191, val192, val193, val194, val195, val196, val197, val198, val199, val200; + let val201, val202, val203, val204, val205, val206, val207, val208, val209, val210; + let val211, val212, val213, val214, val215, val216, val217, val218, val219, val220; + let val221, val222, val223, val224, val225, val226, val227, val228, val229, val230; + let val231, val232, val233, val234, val235, val236, val237, val238, val239, val240; + let val241, val242, val243, val244, val245, val246, val247, val248, val249, val250; + let val251, val252, val253, val254, val255, val256, val257, val258, val259, val260; + let val261, val262, val263, val264, val265, val266, val267, val268, val269, val270; + let val271, val272, val273, val274, val275, val276, val277, val278, val279, val280; + let val281, val282, val283, val284, val285, val286, val287, val288, val289, val290; + let val291, val292, val293, val294, val295, val296, val297, val298, val299, val300; + let val301, val302, val303, val304, val305, val306, val307, val308, val309, val310; + let val311, val312, val313, val314, val315, val316, val317, val318, val319, val320; + let val321, val322, val323, val324, val325, val326, val327, val328, val329, val330; + let val331, val332, val333, val334, val335, val336, val337, val338, val339, val340; + let val341, val342, val343, val344, val345, val346, val347, val348, val349, val350; + let val351, val352, val353, val354, val355, val356, val357, val358, val359, val360; + let val361, val362, val363, val364, val365, val366, val367, val368, val369, val370; + let val371, val372, val373, val374, val375, val376, val377, val378, val379, val380; + let val381, val382, val383, val384, val385, val386, val387, val388, val389, val390; + let val391, val392, val393, val394, val395, val396, val397, val398, val399, val400; + + tryCallingBadFunction(); +} + +function test() +{ + try { + recurse(); + } catch(error) { + if (error != "RangeError: Maximum call stack size exceeded.") + throw "Expected: \"RangeError: Maximum call stack size exceeded.\", but got: " + error; + + let heapUsed = gcHeapSize(); + if (heapUsed > maxHeapAllowed) + throw "Used too much heap. Limit was " + maxHeapAllowed + " bytes, but we used " + heapUsed + " bytes."; + } + + if (loggedError.name != "TypeError") + throw "Expected logged error to be: \"TypeError\", but got: " + loggedError.name; +} + +test(); + diff --git a/implementation-contributed/javascriptcore/stress/recursive_property_redefine_during_inline_caching.js b/implementation-contributed/javascriptcore/stress/recursive_property_redefine_during_inline_caching.js new file mode 100644 index 0000000000..a92dfbcfea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/recursive_property_redefine_during_inline_caching.js @@ -0,0 +1,23 @@ +// to be run with useLLInt = false +var o = {}; + +function getSomeProperty(){ + return o.someProperty; +} + +var count = 0; +function test(){ + count++; + if (count == 3) { + Object.defineProperty(this, 'someProperty', { value : "okay" }); + return getSomeProperty(); + } + return "okay"; +} + +o.__defineGetter__('someProperty', test) + +for (var i = 0; i < 4; i++) { + if (getSomeProperty() != "okay") + throw ("Error: " + i); +} diff --git a/implementation-contributed/javascriptcore/stress/redundant-add-overflow-checks.js b/implementation-contributed/javascriptcore/stress/redundant-add-overflow-checks.js new file mode 100644 index 0000000000..b435ff3d94 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/redundant-add-overflow-checks.js @@ -0,0 +1,18 @@ +function foo(x) { + return (x + 0) + (x + 1) + (x + 2) + (x + 3) + (x + 4) + (x + 5) + (x + 6) + (x + 7) + (x + 8) + (x + 9) + (x + 10); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(i); + if (result != i * 11 + 55) + throw "Error: bad result for i = " + i + ": " + result; +} + +for (var i = 2147483628; i <= 2147483647; i++) { + var result = foo(i); + if (result != i * 11 + 55) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition-skip-first.js b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition-skip-first.js new file mode 100644 index 0000000000..e8a0391c3d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition-skip-first.js @@ -0,0 +1,50 @@ +function foo(a, i) { + return [a[i], a[i + 1], a[i + 2], a[i + 3], a[i + 4], a[i + 5], a[i + 6], a[i + 7]]; +} + +noInline(foo); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 100000; ++i) { + var array = []; + var offset = i & 3; + for (var j = 0; j < offset; ++j) + array.push(42); + var result = foo(array.concat([1, 2, 3, 4, 5, 6, 7, 8]), offset); + if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, 8])) + throw "Error: bad result (1..8): " + result; +} + +var result = foo([1, 2, 3, 4, 5, 6, 7], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, void 0])) + throw "Error: bad result (1..7): " + result; +var result = foo([1, 2, 3, 4, 5, 6], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, void 0, void 0])) + throw "Error: bad result (1..6): " + result; +var result = foo([1, 2, 3, 4, 5], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, void 0, void 0, void 0])) + throw "Error: bad result (1..5): " + result; +var result = foo([1, 2, 3, 4], 0); +if (!arraycmp(result, [1, 2, 3, 4, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..4): " + result; +var result = foo([1, 2, 3], 0); +if (!arraycmp(result, [1, 2, 3, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..3): " + result; +var result = foo([1, 2], 0); +if (!arraycmp(result, [1, 2, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..2): " + result; +var result = foo([1], 0); +if (!arraycmp(result, [1, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; +var result = foo([], 0); +if (!arraycmp(result, [void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; diff --git a/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition.js b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition.js new file mode 100644 index 0000000000..256e53619c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-addition.js @@ -0,0 +1,50 @@ +function foo(a, i) { + return [a[i + 0], a[i + 1], a[i + 2], a[i + 3], a[i + 4], a[i + 5], a[i + 6], a[i + 7]]; +} + +noInline(foo); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 100000; ++i) { + var array = []; + var offset = i & 3; + for (var j = 0; j < offset; ++j) + array.push(42); + var result = foo(array.concat([1, 2, 3, 4, 5, 6, 7, 8]), offset); + if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, 8])) + throw "Error: bad result (1..8): " + result; +} + +var result = foo([1, 2, 3, 4, 5, 6, 7], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, void 0])) + throw "Error: bad result (1..7): " + result; +var result = foo([1, 2, 3, 4, 5, 6], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, void 0, void 0])) + throw "Error: bad result (1..6): " + result; +var result = foo([1, 2, 3, 4, 5], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, void 0, void 0, void 0])) + throw "Error: bad result (1..5): " + result; +var result = foo([1, 2, 3, 4], 0); +if (!arraycmp(result, [1, 2, 3, 4, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..4): " + result; +var result = foo([1, 2, 3], 0); +if (!arraycmp(result, [1, 2, 3, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..3): " + result; +var result = foo([1, 2], 0); +if (!arraycmp(result, [1, 2, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..2): " + result; +var result = foo([1], 0); +if (!arraycmp(result, [1, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; +var result = foo([], 0); +if (!arraycmp(result, [void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; diff --git a/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-unchecked-addition.js b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-unchecked-addition.js new file mode 100644 index 0000000000..5ccb2be5b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks-unchecked-addition.js @@ -0,0 +1,50 @@ +function foo(a, i) { + return [a[(i + 0)|0], a[(i + 1)|0], a[(i + 2)|0], a[(i + 3)|0], a[(i + 4)|0], a[(i + 5)|0], a[(i + 6)|0], a[(i + 7)|0]]; +} + +noInline(foo); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 100000; ++i) { + var array = []; + var offset = i & 3; + for (var j = 0; j < offset; ++j) + array.push(42); + var result = foo(array.concat([1, 2, 3, 4, 5, 6, 7, 8]), offset); + if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, 8])) + throw "Error: bad result (1..8): " + result; +} + +var result = foo([1, 2, 3, 4, 5, 6, 7], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, void 0])) + throw "Error: bad result (1..7): " + result; +var result = foo([1, 2, 3, 4, 5, 6], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, void 0, void 0])) + throw "Error: bad result (1..6): " + result; +var result = foo([1, 2, 3, 4, 5], 0); +if (!arraycmp(result, [1, 2, 3, 4, 5, void 0, void 0, void 0])) + throw "Error: bad result (1..5): " + result; +var result = foo([1, 2, 3, 4], 0); +if (!arraycmp(result, [1, 2, 3, 4, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..4): " + result; +var result = foo([1, 2, 3], 0); +if (!arraycmp(result, [1, 2, 3, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..3): " + result; +var result = foo([1, 2], 0); +if (!arraycmp(result, [1, 2, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..2): " + result; +var result = foo([1], 0); +if (!arraycmp(result, [1, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; +var result = foo([], 0); +if (!arraycmp(result, [void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; diff --git a/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks.js b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks.js new file mode 100644 index 0000000000..df0c7cd741 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/redundant-array-bounds-checks.js @@ -0,0 +1,46 @@ +function foo(a) { + return [a[0], a[1], a[2], a[3], a[4], a[5], a[6], a[7]]; +} + +noInline(foo); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 100000; ++i) { + var result = foo([1, 2, 3, 4, 5, 6, 7, 8]); + if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, 8])) + throw "Error: bad result (1..8): " + result; +} + +var result = foo([1, 2, 3, 4, 5, 6, 7]); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, 7, void 0])) + throw "Error: bad result (1..7): " + result; +var result = foo([1, 2, 3, 4, 5, 6]); +if (!arraycmp(result, [1, 2, 3, 4, 5, 6, void 0, void 0])) + throw "Error: bad result (1..6): " + result; +var result = foo([1, 2, 3, 4, 5]); +if (!arraycmp(result, [1, 2, 3, 4, 5, void 0, void 0, void 0])) + throw "Error: bad result (1..5): " + result; +var result = foo([1, 2, 3, 4]); +if (!arraycmp(result, [1, 2, 3, 4, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..4): " + result; +var result = foo([1, 2, 3]); +if (!arraycmp(result, [1, 2, 3, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..3): " + result; +var result = foo([1, 2]); +if (!arraycmp(result, [1, 2, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..2): " + result; +var result = foo([1]); +if (!arraycmp(result, [1, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; +var result = foo([]); +if (!arraycmp(result, [void 0, void 0, void 0, void 0, void 0, void 0, void 0, void 0])) + throw "Error: bad result (1..1): " + result; diff --git a/implementation-contributed/javascriptcore/stress/reflect-apply.js b/implementation-contributed/javascriptcore/stress/reflect-apply.js new file mode 100644 index 0000000000..0f692c7e70 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-apply.js @@ -0,0 +1,91 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.apply.length, 3); + +shouldThrow(() => { + Reflect.apply("hello", 42); +}, `TypeError: Reflect.apply requires the first argument be a function`); + +shouldThrow(() => { + Reflect.apply(function () { }, 42, null); +}, `TypeError: Reflect.apply requires the third argument be an object`); + +shouldThrow(() => { + var array = { + get length() { + throw new Error("ok"); + }, + get 0() { + throw new Error("ng"); + } + }; + Reflect.apply(function () { }, {}, array); +}, `Error: ok`); + +shouldThrow(() => { + var array = { + get length() { + return 1; + }, + get 0() { + throw new Error("ok"); + } + }; + Reflect.apply(function () { }, {}, array); +}, `Error: ok`); + +var array = { + get length() { + return 0; + }, + get 0() { + throw new Error("ng"); + } +}; +shouldBe(Reflect.apply(function () { return arguments.length }, {}, array), 0); + +var globalObject = this; +shouldBe(Reflect.apply(function () { + "use strict"; + shouldBe(arguments[0], 0); + shouldBe(arguments[1], 1); + shouldBe(arguments[2], 2); + shouldBe(this, null); + return arguments.length; +}, null, [0,1,2]), 3) + +shouldBe(Reflect.apply(function () { + shouldBe(arguments[0], 0); + shouldBe(arguments[1], 1); + shouldBe(arguments[2], 2); + shouldBe(this, globalObject); + return arguments.length; +}, null, [0,1,2]), 3) + +var thisObject = {}; +shouldBe(Reflect.apply(function () { + "use strict"; + shouldBe(this, thisObject); + return arguments.length; +}, thisObject, []), 0) + +shouldBe(Reflect.apply(function () { + shouldBe(this, thisObject); + return arguments.length; +}, thisObject, []), 0) diff --git a/implementation-contributed/javascriptcore/stress/reflect-construct.js b/implementation-contributed/javascriptcore/stress/reflect-construct.js new file mode 100644 index 0000000000..8939ab1ab1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-construct.js @@ -0,0 +1,228 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.construct.length, 2); + +shouldThrow(() => { + Reflect.construct("hello", 42); +}, `TypeError: Reflect.construct requires the first argument be a constructor`); + +shouldThrow(() => { + Reflect.construct(Array.prototype.forEach, []); +}, `TypeError: Reflect.construct requires the first argument be a constructor`); + +shouldThrow(() => { + Reflect.construct(function () { }, 42, null); +}, `TypeError: Reflect.construct requires the third argument be a constructor if present`); + +shouldThrow(() => { + Reflect.construct(function () { }, 42, {}); +}, `TypeError: Reflect.construct requires the third argument be a constructor if present`); + +shouldThrow(() => { + Reflect.construct(function () { }, 42, Array.prototype.forEach); +}, `TypeError: Reflect.construct requires the third argument be a constructor if present`); + +shouldThrow(() => { + Reflect.construct(function () { }, 42, function () { }); +}, `TypeError: Reflect.construct requires the second argument be an object`); + +shouldThrow(() => { + var array = { + get length() { + throw new Error("ok"); + }, + get 0() { + throw new Error("ng"); + } + }; + Reflect.construct(function () { }, array); +}, `Error: ok`); + +shouldThrow(() => { + var array = { + get length() { + return 1; + }, + get 0() { + throw new Error("ok"); + } + }; + Reflect.construct(function () { }, array); +}, `Error: ok`); + +var array = { + get length() { + return 0; + }, + get 0() { + throw new Error("ng"); + } +}; +shouldBe(Reflect.construct(function () { this.length = arguments.length; }, array).length, 0); + +var globalObject = this; +shouldBe(Reflect.construct(function Hello() { + "use strict"; + shouldBe(arguments[0], 0); + shouldBe(arguments[1], 1); + shouldBe(arguments[2], 2); + shouldBe(typeof this, "object"); + shouldBe(new.target, Hello); + this.result = arguments.length; +}, [0,1,2]).result, 3) + +shouldBe(Reflect.construct(function Hello() { + shouldBe(arguments[0], 0); + shouldBe(arguments[1], 1); + shouldBe(arguments[2], 2); + shouldBe(typeof this, "object"); + shouldBe(new.target, Hello); + this.result = arguments.length; +}, [0,1,2]).result, 3) + +var newTarget = function () { }; +shouldBe(Reflect.construct(function () { + "use strict"; + shouldBe(new.target, newTarget); + this.result = arguments.length; +}, [], newTarget).result, 0) + +shouldBe(Reflect.construct(function () { + shouldBe(new.target, newTarget); + this.result = arguments.length; +}, [], newTarget).result, 0) + +{ + class A { + constructor() + { + this.type = "A"; + } + } + + class B extends A { + constructor() + { + super(); + this.type = "B"; + } + } + + shouldBe(Reflect.construct(A, []).type, "A"); + shouldBe(Reflect.construct(B, []).type, "B"); + + shouldBe(Reflect.construct(B, [], B).__proto__, B.prototype); + shouldBe(Reflect.construct(B, [], A).__proto__, A.prototype); + shouldBe(Reflect.construct(B, [], A).type, "B"); + shouldBe(Reflect.construct(B, [], B).type, "B"); + + shouldBe(Reflect.construct(A, [], A).__proto__, A.prototype); + shouldBe(Reflect.construct(A, [], B).__proto__, B.prototype); + shouldBe(Reflect.construct(A, [], A).type, "A"); + shouldBe(Reflect.construct(A, [], B).type, "A"); +} + +function nativeConstructorTest() +{ + class DerivedMap { + } + shouldBe(Reflect.construct(Map, [], DerivedMap).__proto__, DerivedMap.prototype); + let map = Reflect.construct(Map, [], DerivedMap); + map.__proto__ = Map.prototype; + map.set(20, 30); + shouldBe(map.get(20), 30); + + class FailedMap { + } + shouldBe(Reflect.construct(FailedMap, [], Map).__proto__, Map.prototype); + shouldThrow(() => { + let map = Reflect.construct(FailedMap, [], Map); + map.set(20, 30); + }, `TypeError: Map operation called on non-Map object`); + + shouldBe(Reflect.construct(Set, [], Map).__proto__, Map.prototype); + shouldThrow(() => { + let map = Reflect.construct(Set, [], Map); + map.set(20, 30); + }, `TypeError: Map operation called on non-Map object`); + + let set = Reflect.construct(Set, [], Map); + Set.prototype.add.call(set, 20); + shouldBe(Set.prototype.has.call(set, 20), true); +} +noInline(nativeConstructorTest); + +for (var i = 0; i < 1e4; ++i) + nativeConstructorTest(); + +(function () { + function Hello() { } + let result = {}; + let proxy = new Proxy(Hello, { + construct(theTarget, argArray, newTarget) { + shouldBe(newTarget, Map); + shouldBe(theTarget, Hello); + shouldBe(argArray.length, 2); + shouldBe(argArray[0], 10); + shouldBe(argArray[1], 20); + return result; + } + }); + shouldBe(Reflect.construct(proxy, [10, 20], Map), result); +}()); + +(function () { + var proxy = new Proxy(Map, { + construct(theTarget, argArray, newTarget) { + } + }); + + var result = {}; + function Hello() { + shouldBe(new.target, proxy); + shouldBe(new.target.prototype, Map.prototype); + shouldBe(arguments.length, 2); + shouldBe(arguments[0], 10); + shouldBe(arguments[1], 20); + return result; + } + shouldBe(Reflect.construct(Hello, [10, 20], proxy), result); +}()); + +(function () { + function Hello() { } + var result = {}; + var proxy1 = new Proxy(Hello, { + construct(theTarget, argArray, newTarget) { + shouldBe(newTarget, proxy2); + shouldBe(theTarget, Hello); + shouldBe(argArray.length, 2); + shouldBe(argArray[0], 10); + shouldBe(argArray[1], 20); + return result; + } + }); + + var proxy2 = new Proxy(Map, { + construct(theTarget, argArray, newTarget) { + } + }); + + shouldBe(Reflect.construct(proxy1, [10, 20], proxy2), result); +}()); diff --git a/implementation-contributed/javascriptcore/stress/reflect-define-property.js b/implementation-contributed/javascriptcore/stress/reflect-define-property.js new file mode 100644 index 0000000000..dbef1b8b17 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-define-property.js @@ -0,0 +1,286 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.defineProperty.length, 3); + +shouldThrow(() => { + Reflect.defineProperty("hello"); +}, `TypeError: Reflect.defineProperty requires the first argument be an object`); + +shouldThrow(() => { + Reflect.defineProperty(null); +}, `TypeError: Reflect.defineProperty requires the first argument be an object`); + +var object = {}; +shouldBe(object[42], undefined); +shouldBe(object.hello, undefined); +shouldBe(Reflect.defineProperty(object, 42, { + value: 42 +}), true); +shouldBe(Reflect.defineProperty(object, 'hello', { + value: 50 +}), true); +shouldBe(object[42], 42); +shouldBe(object.hello, 50); + +function testDescriptor(expected, actual) { + shouldBe(expected.enumerable, actual.enumerable); + shouldBe(expected.configurable, actual.configurable); + shouldBe(expected.writable, actual.writable); + shouldBe(expected.value, actual.value); + shouldBe(expected.get, actual.get); + shouldBe(expected.set, actual.set); +} + +function getter() { } +function setter() { } + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', {}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: false, + writable: false, + enumerable: false, + value: undefined +}); + + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + writable: false, + enumerable: false, + value: undefined +}); + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + writable: false, + enumerable: true, + value: undefined +}); + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + writable: true +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + writable: true, + enumerable: true, + value: undefined +}); + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + writable: true, + value: 42 +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + writable: true, + enumerable: true, + value: 42 +}); + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + get: getter +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + enumerable: true, + get: getter, + set: undefined +}); + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + set: setter +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + enumerable: true, + get: undefined, + set: setter +}); + +var object = {}; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + set: setter, + get: getter +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + enumerable: true, + get: getter, + set: setter +}); + +shouldThrow(() => { + var object = {}; + Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + set: setter, + get: getter, + value: 42 + }); +}, `TypeError: Invalid property. 'value' present on property with getter or setter.`); + +shouldThrow(() => { + var object = {}; + Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + value: 42, + set: setter, + get: getter + }); +}, `TypeError: Invalid property. 'value' present on property with getter or setter.`); + +shouldThrow(() => { + var object = {}; + Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + writable: false, + get: getter + }); +}, `TypeError: Invalid property. 'writable' present on property with getter or setter.`); + +var object = { cocoa: 42 }; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + configurable: true, + enumerable: true, + writable: false, + value: 50 +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + enumerable: true, + writable: false, + value: 50 +}); + + +var object = { cocoa: 42 }; +shouldBe(Reflect.defineProperty(object, 'cocoa', { + writable: false, + value: 50 +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + enumerable: true, + writable: false, + value: 50 +}); +shouldBe(Reflect.defineProperty(object, 'cocoa', { + writable: true, +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: true, + enumerable: true, + writable: true, + value: 50 +}); +shouldBe(Reflect.defineProperty(object, 'cocoa', { + writable: false, + configurable: false, + value: 50 +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: false, + enumerable: true, + writable: false, + value: 50 +}); +shouldBe(Reflect.defineProperty(object, 'cocoa', { + writable: true, +}), false); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: false, + enumerable: true, + writable: false, + value: 50 +}); +shouldBe(Reflect.defineProperty(object, 'cocoa', { + enumerable: false, +}), false); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: false, + enumerable: true, + writable: false, + value: 50 +}); +shouldBe(Reflect.defineProperty(object, 'cocoa', { + enumerable: true, +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(object, 'cocoa'), { + configurable: false, + enumerable: true, + writable: false, + value: 50 +}); + +var array = []; +shouldBe(Reflect.defineProperty(array, 'length', { + get: getter, + set: setter +}), false); +testDescriptor(Object.getOwnPropertyDescriptor(array, 'length'), { + configurable: false, + enumerable: false, + writable: true, + value: 0 +}); +shouldBe(Reflect.defineProperty(array, 'length', { + writable: false, + value: 30 +}), true); +testDescriptor(Object.getOwnPropertyDescriptor(array, 'length'), { + configurable: false, + enumerable: false, + writable: false, + value: 30 +}); +array.length = 40; +testDescriptor(Object.getOwnPropertyDescriptor(array, 'length'), { + configurable: false, + enumerable: false, + writable: false, + value: 30 +}); diff --git a/implementation-contributed/javascriptcore/stress/reflect-delete-property.js b/implementation-contributed/javascriptcore/stress/reflect-delete-property.js new file mode 100644 index 0000000000..1f08651a22 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-delete-property.js @@ -0,0 +1,56 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.deleteProperty.length, 2); + +shouldThrow(() => { + Reflect.deleteProperty("hello", 42); +}, `TypeError: Reflect.deleteProperty requires the first argument be an object`); + +var object = { hello: 42 }; +shouldBe(object.hello, 42); +shouldBe(object.hasOwnProperty('hello'), true); +shouldBe(Reflect.deleteProperty(object, 'hello'), true); +shouldBe(object.hasOwnProperty('hello'), false); +shouldBe(Reflect.deleteProperty(object, 'hasOwnProperty'), true); +shouldBe(object.hasOwnProperty('hasOwnProperty'), false); + +shouldBe(Reflect.deleteProperty([], 'length'), false); +shouldBe(Reflect.deleteProperty([0,1,2], 0), true); + +var object = { + [Symbol.iterator]: 42 +}; +shouldBe(object.hasOwnProperty(Symbol.iterator), true); +shouldBe(object[Symbol.iterator], 42); +shouldBe(Reflect.deleteProperty(object, Symbol.iterator), true); +shouldBe(object.hasOwnProperty(Symbol.iterator), false); + +var toPropertyKey = { + toString() { + throw new Error('toString called.'); + } +}; + +shouldThrow(() => { + Reflect.deleteProperty("hello", toPropertyKey); +}, `TypeError: Reflect.deleteProperty requires the first argument be an object`); + +shouldThrow(() => { + Reflect.deleteProperty({}, toPropertyKey); +}, `Error: toString called.`); diff --git a/implementation-contributed/javascriptcore/stress/reflect-get-own-property.js b/implementation-contributed/javascriptcore/stress/reflect-get-own-property.js new file mode 100644 index 0000000000..963b14f739 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-get-own-property.js @@ -0,0 +1,147 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.getOwnPropertyDescriptor.length, 2); + +var toPropertyKey = { + toString() { + throw new Error("ok"); + } +}; + +shouldThrow(() => { + Reflect.getOwnPropertyDescriptor("hello", 42); +}, `TypeError: Reflect.getOwnPropertyDescriptor requires the first argument be an object`); + +shouldThrow(() => { + Reflect.getOwnPropertyDescriptor("hello", toPropertyKey); +}, `TypeError: Reflect.getOwnPropertyDescriptor requires the first argument be an object`); + +shouldThrow(() => { + Reflect.getOwnPropertyDescriptor(null, toPropertyKey); +}, `TypeError: Reflect.getOwnPropertyDescriptor requires the first argument be an object`); + +shouldThrow(() => { + Reflect.getOwnPropertyDescriptor(undefined, toPropertyKey); +}, `TypeError: Reflect.getOwnPropertyDescriptor requires the first argument be an object`); + +shouldThrow(() => { + Reflect.getOwnPropertyDescriptor({}, toPropertyKey); +}, `Error: ok`); + +shouldBe(Reflect.getOwnPropertyDescriptor({ __proto__: { hello: 42 } }, "hello"), undefined); +shouldBe(JSON.stringify(Reflect.getOwnPropertyDescriptor({ hello: 42 }, "hello")), `{"value":42,"writable":true,"enumerable":true,"configurable":true}`); + +(function () { + var object = { + get hello() { + } + }; + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"enumerable":true,"configurable":true}`); + shouldBe(desc.set, undefined); + shouldBe(desc.get, Object.getOwnPropertyDescriptor(object, "hello").get); +}()); + +(function () { + var object = { + set hello(value) { + } + }; + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"enumerable":true,"configurable":true}`); + shouldBe(desc.set, Object.getOwnPropertyDescriptor(object, "hello").set); + shouldBe(desc.get, undefined); +}()); + +(function () { + var object = Object.defineProperty({}, "hello", { + enumerable: false, + value: 42 + }); + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"value":42,"writable":false,"enumerable":false,"configurable":false}`); +}()); + +(function () { + var object = Object.defineProperty({}, "hello", { + enumerable: false, + configurable: true, + value: 42 + }); + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"value":42,"writable":false,"enumerable":false,"configurable":true}`); +}()); + +(function () { + var object = Object.defineProperty({}, "hello", { + enumerable: true, + configurable: false, + value: 42 + }); + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"value":42,"writable":false,"enumerable":true,"configurable":false}`); +}()); + +(function () { + var object = Object.defineProperty({}, "hello", { + enumerable: true, + configurable: false, + writable: false, + value: 42 + }); + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"value":42,"writable":false,"enumerable":true,"configurable":false}`); +}()); + +(function () { + var object = Object.defineProperty({}, "hello", { + enumerable: true, + configurable: false, + writable: true, + value: 42 + }); + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"value":42,"writable":true,"enumerable":true,"configurable":false}`); +}()); + +(function () { + var object = { + get hello() { + }, + set hello(value) { + } + }; + var desc = Reflect.getOwnPropertyDescriptor(object, "hello"); + shouldBe(JSON.stringify(desc), `{"enumerable":true,"configurable":true}`); + shouldBe(desc.get, Object.getOwnPropertyDescriptor(object, "hello").get); + shouldBe(desc.set, Object.getOwnPropertyDescriptor(object, "hello").set); +}()); + +(function () { + var object = { + get hello() { + }, + set hello(value) { + } + }; + var desc = Reflect.getOwnPropertyDescriptor(object, { toString() { return "hello"; } }); + shouldBe(JSON.stringify(desc), `{"enumerable":true,"configurable":true}`); + shouldBe(desc.get, Object.getOwnPropertyDescriptor(object, "hello").get); + shouldBe(desc.set, Object.getOwnPropertyDescriptor(object, "hello").set); +}()); diff --git a/implementation-contributed/javascriptcore/stress/reflect-get-prototype-of.js b/implementation-contributed/javascriptcore/stress/reflect-get-prototype-of.js new file mode 100644 index 0000000000..15465f1cca --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-get-prototype-of.js @@ -0,0 +1,50 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.getPrototypeOf.length, 1); + +shouldThrow(() => { + Reflect.getPrototypeOf("hello"); +}, `TypeError: Reflect.getPrototypeOf requires the first argument be an object`); + +var object = { hello: 42 }; +shouldBe(Reflect.getPrototypeOf(object), Object.prototype); +shouldBe(Reflect.getPrototypeOf(Reflect.getPrototypeOf(object)), null); +var proto = []; +object.__proto__ = proto; +shouldBe(Reflect.getPrototypeOf(object), proto); + +var array = []; +shouldBe(Reflect.getPrototypeOf(array), Array.prototype); +var proto = []; +array.__proto__ = Object.prototype; +shouldBe(Reflect.getPrototypeOf(array), Object.prototype); + +class Base { +} + +class Derived extends Base { +} + +shouldBe(Reflect.getPrototypeOf(new Derived), Derived.prototype); +shouldBe(Reflect.getPrototypeOf(Reflect.getPrototypeOf(new Derived)), Base.prototype); +shouldBe(Reflect.getPrototypeOf(Reflect.getPrototypeOf(Reflect.getPrototypeOf(new Derived))), Object.prototype); +shouldBe(Reflect.getPrototypeOf(Reflect.getPrototypeOf(Reflect.getPrototypeOf(Reflect.getPrototypeOf(new Derived)))), null); + +var object = Object.create(null); +shouldBe(Reflect.getPrototypeOf(object), null); diff --git a/implementation-contributed/javascriptcore/stress/reflect-get.js b/implementation-contributed/javascriptcore/stress/reflect-get.js new file mode 100644 index 0000000000..48419bdb79 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-get.js @@ -0,0 +1,91 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.get.length, 2); + +shouldThrow(() => { + Reflect.get("hello"); +}, `TypeError: Reflect.get requires the first argument be an object`); + +var object = { hello: 42 }; +shouldBe(Reflect.get(object, 'hello'), 42); +shouldBe(Reflect.get(object, 'world'), undefined); +var proto = []; +object.__proto__ = proto; +shouldBe(Reflect.get(object, 'length'), 0); + +var array = [ 0, 1, 2 ]; +shouldBe(Reflect.get(array, 0), 0); +var proto = [ 0, 1, 2, 5, 6 ]; +array.__proto__ = proto; +shouldBe(Reflect.get(array, 3), 5); +array.__proto__ = Object.prototype; +shouldBe(Reflect.get(array, 3), undefined); + +var object = { + value: 42, + world: 200, + get hello() + { + return this.value; + } +}; +shouldBe(Reflect.get(object, 'hello'), 42); +shouldBe(Reflect.get(object, 'hello', { value: 200 }), 200); +shouldBe(Reflect.get(object, 'hello', "OK"), undefined); +shouldBe(Reflect.get(object, 'world'), 200); +shouldBe(Reflect.get(object, 'world', { value: 200 }), 200); +shouldBe(Reflect.get(object, 'world', "OK"), 200); +var value = 400; +shouldBe(Reflect.get(object, 'hello', null), 400); +shouldBe(Reflect.get(object, 'hello', undefined), 400); + +var object = { + value: 42, + world: 200, + get hello() + { + "use strict"; + return this.value; + } +}; +shouldBe(Reflect.get(object, 'hello'), 42); +shouldBe(Reflect.get(object, 'hello', { value: 200 }), 200); +shouldBe(Reflect.get(object, 'hello', "OK"), undefined); +shouldBe(Reflect.get(object, 'world'), 200); +shouldBe(Reflect.get(object, 'world', { value: 200 }), 200); +shouldBe(Reflect.get(object, 'world', "OK"), 200); + +shouldThrow(() => { + Reflect.get(object, 'hello', null); +}, `TypeError: null is not an object (evaluating 'this.value')`); + +shouldThrow(() => { + Reflect.get(object, 'hello', undefined); +}, `TypeError: undefined is not an object (evaluating 'this.value')`); + +var object = { + value: 42, + world: 200, + set hello(value) + { + } +}; +shouldBe(Reflect.get(object, 'hello'), undefined); +shouldBe(Reflect.get(object, 'hello', { hello: 42 }), undefined); +shouldBe(Reflect.get(object, 'ok', { ok: 42 }), undefined); diff --git a/implementation-contributed/javascriptcore/stress/reflect-has.js b/implementation-contributed/javascriptcore/stress/reflect-has.js new file mode 100644 index 0000000000..21b01fd012 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-has.js @@ -0,0 +1,65 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.has.length, 2); + +shouldThrow(() => { + Reflect.has("hello", 42); +}, `TypeError: Reflect.has requires the first argument be an object`); + +var object = { hello: 42 }; +shouldBe(Reflect.has(object, 'hello'), true); +shouldBe(Reflect.has(object, 'world'), false); +shouldBe(Reflect.has(object, 'prototype'), false); +shouldBe(Reflect.has(object, '__proto__'), true); +shouldBe(Reflect.has(object, 'hasOwnProperty'), true); +shouldBe(Reflect.deleteProperty(object, 'hello'), true); +shouldBe(Reflect.has(object, 'hello'), false); + +shouldBe(Reflect.has([], 'length'), true); +shouldBe(Reflect.has([0,1,2], 0), true); +shouldBe(Reflect.has([0,1,2], 200), false); + +var object = { + [Symbol.iterator]: 42 +}; +shouldBe(Reflect.has(object, Symbol.iterator), true); +shouldBe(Reflect.has(object, Symbol.unscopables), false); +shouldBe(Reflect.deleteProperty(object, Symbol.iterator), true); +shouldBe(Reflect.has(object, Symbol.iterator), false); + +var toPropertyKey = { + toString() { + throw new Error('toString called.'); + } +}; + +shouldThrow(() => { + Reflect.has("hello", toPropertyKey); +}, `TypeError: Reflect.has requires the first argument be an object`); + +shouldThrow(() => { + Reflect.has({}, toPropertyKey); +}, `Error: toString called.`); + +var toPropertyKey = { + toString() { + return 'ok'; + } +}; +shouldBe(Reflect.has({ 'ok': 42 }, toPropertyKey), true); diff --git a/implementation-contributed/javascriptcore/stress/reflect-is-extensible.js b/implementation-contributed/javascriptcore/stress/reflect-is-extensible.js new file mode 100644 index 0000000000..9d2581cb3f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-is-extensible.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.isExtensible.length, 1); + +shouldThrow(() => { + Reflect.isExtensible("hello"); +}, `TypeError: Reflect.isExtensible requires the first argument be an object`); + +var object = { hello: 42 }; +shouldBe(Reflect.isExtensible(object), true); +Object.preventExtensions(object); +shouldBe(Reflect.isExtensible(object), false); diff --git a/implementation-contributed/javascriptcore/stress/reflect-own-keys.js b/implementation-contributed/javascriptcore/stress/reflect-own-keys.js new file mode 100644 index 0000000000..0685de3d74 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-own-keys.js @@ -0,0 +1,46 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +function shouldBeArray(actual, expected) { + shouldBe(actual.length, expected.length); + for (var i = 0; i < expected.length; ++i) { + try { + shouldBe(actual[i], expected[i]); + } catch(e) { + print(JSON.stringify(actual)); + throw e; + } + } +} + +shouldBe(Reflect.ownKeys.length, 1); + +shouldThrow(() => { + Reflect.ownKeys("hello"); +}, `TypeError: Reflect.ownKeys requires the first argument be an object`); + +var cocoa = Symbol("Cocoa"); +var cappuccino = Symbol("Cappuccino"); + +shouldBeArray(Reflect.ownKeys({}), []); +shouldBeArray(Reflect.ownKeys({42:42}), ['42']); +shouldBeArray(Reflect.ownKeys({0:0,1:1,2:2}), ['0','1','2']); +shouldBeArray(Reflect.ownKeys({0:0,1:1,2:2,hello:42}), ['0','1','2','hello']); +shouldBeArray(Reflect.ownKeys({hello:42,0:0,1:1,2:2,world:42}), ['0','1','2','hello','world']); +shouldBeArray(Reflect.ownKeys({[cocoa]:42,hello:42,0:0,1:1,2:2,world:42}), ['0','1','2','hello','world', cocoa]); +shouldBeArray(Reflect.ownKeys({[cocoa]:42,hello:42,0:0,1:1,2:2,[cappuccino]:42,world:42}), ['0','1','2','hello','world', cocoa, cappuccino]); diff --git a/implementation-contributed/javascriptcore/stress/reflect-prevent-extensions.js b/implementation-contributed/javascriptcore/stress/reflect-prevent-extensions.js new file mode 100644 index 0000000000..4c5606ce7a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-prevent-extensions.js @@ -0,0 +1,31 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.preventExtensions.length, 1); + +shouldThrow(() => { + Reflect.preventExtensions("hello"); +}, `TypeError: Reflect.preventExtensions requires the first argument be an object`); + +var object = { hello: 42 }; +shouldBe(Reflect.isExtensible(object), true); +shouldBe(Reflect.preventExtensions(object), true); +shouldBe(Reflect.isExtensible(object), false); + +object.ok = 42; +shouldBe(object.hasOwnProperty('ok'), false); diff --git a/implementation-contributed/javascriptcore/stress/reflect-set-prototype-of.js b/implementation-contributed/javascriptcore/stress/reflect-set-prototype-of.js new file mode 100644 index 0000000000..56fc13b7ad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-set-prototype-of.js @@ -0,0 +1,75 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +shouldBe(Reflect.setPrototypeOf.length, 2); + +shouldThrow(() => { + Reflect.setPrototypeOf("hello"); +}, `TypeError: Reflect.setPrototypeOf requires the first argument be an object`); + +shouldThrow(() => { + Reflect.setPrototypeOf(null); +}, `TypeError: Reflect.setPrototypeOf requires the first argument be an object`); + +shouldThrow(() => { + Reflect.setPrototypeOf({}, 30); +}, `TypeError: Reflect.setPrototypeOf requires the second argument be either an object or null`); + +shouldThrow(() => { + Reflect.setPrototypeOf({}, undefined); +}, `TypeError: Reflect.setPrototypeOf requires the second argument be either an object or null`); + +var object = {}; +var prototype = {}; +shouldBe(Reflect.getPrototypeOf(object), Object.prototype); +shouldBe(Reflect.setPrototypeOf(object, prototype), true); +shouldBe(Reflect.getPrototypeOf(object), prototype); + +var object = {}; +shouldBe(Reflect.getPrototypeOf(object), Object.prototype); +shouldBe(Reflect.setPrototypeOf(object, null), true); +shouldBe(Reflect.getPrototypeOf(object), null); + +var array = []; +var prototype = {}; +shouldBe(Reflect.getPrototypeOf(array), Array.prototype); +shouldBe(Reflect.setPrototypeOf(array, prototype), true); +shouldBe(Reflect.getPrototypeOf(array), prototype); + +var array = []; +shouldBe(Reflect.getPrototypeOf(array), Array.prototype); +shouldBe(Reflect.setPrototypeOf(array, null), true); +shouldBe(Reflect.getPrototypeOf(array), null); + +var object = Object.create(null); +shouldBe(Reflect.getPrototypeOf(object), null); +shouldBe(Reflect.setPrototypeOf(object, Object.prototype), true); +shouldBe(Reflect.getPrototypeOf(object), Object.prototype); + +// Extensible check. +var object = {}; +shouldBe(Reflect.preventExtensions(object), true); +shouldBe(Reflect.setPrototypeOf(object, null), false); +shouldBe(Reflect.getPrototypeOf(object), Object.prototype); + +// Cyclic check. +var prototype = {}; +var object = { __proto__: prototype }; +shouldBe(Reflect.setPrototypeOf(prototype, object), false); +shouldBe(Reflect.getPrototypeOf(prototype), Object.prototype); + diff --git a/implementation-contributed/javascriptcore/stress/reflect-set-proxy-set.js b/implementation-contributed/javascriptcore/stress/reflect-set-proxy-set.js new file mode 100644 index 0000000000..4e8abdd0d6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-set-proxy-set.js @@ -0,0 +1,671 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function unreachable() +{ + throw new Error('unreachable'); +} + +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +{ + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: 45 + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40); + unreachable(); + } catch(e) { + assert(e.toString() === "TypeError: 'set' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } +} + +{ + let target = { + x: 30 + }; + + let error = null; + let handler = { + get set() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40); + unreachable(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + error = null; + } +} + +{ + let target = { + x: 30 + }; + + let error = null; + let handler = { + set: function() { + error = new Error; + throw error; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40); + unreachable(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + error = null; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 500 + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', 40), false); + assert(called); + assert(proxy.x === 500); + assert(target.x === 500); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 500 + }); + + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40); + unreachable(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'set' on a non-configurable and non-writable property on 'target' should either return false or be the same value already on the 'target'"); + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + get: function() { + return 25; + } + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', 40), false); + assert(proxy.x === 25); + assert(called); + called = false; + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + get: function() { + return 25; + } + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40); + unreachable(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'set' method on a non-configurable accessor property without a setter should return false"); + } + assert(threw); + } +} + +{ + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: true, + value: 50 + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + called = true; + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i), true); + assert(called); + assert(proxy.x === i); + assert(target.x === i); + called = false; + } +} + +{ + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i), false); + assert(called); + assert(proxy.x === i); + assert(target.x === i); + called = false; + + shouldBe(Reflect.set(proxy, 'y', i), false); + assert(called); + assert(proxy.y === i); + assert(target.y === i); + called = false; + } +} + +{ + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i), false); + assert(called); + assert(proxy.x === i); + assert(target.x === i); + called = false; + + shouldBe(Reflect.set(proxy, 'y', i), false); + assert(called); + assert(proxy.y === i); + assert(target.y === i); + called = false; + } +} + +{ + let target = []; + + let called = false; + let handler = { }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, i, i), true); + assert(proxy[i] === i); + assert(target[i] === i); + } +} + +{ + let target = []; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, i, i), false); + assert(proxy[i] === i); + assert(target[i] === i); + assert(called); + called = false; + } +} + +{ + let target = []; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + called = true; + theTarget[propName] = value; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, i, i), false); + assert(proxy[i] === i); + assert(target[i] === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let throughProxy = false; + let target = { + set x(v) { + assert(this === target); + this._x = v; + called = true; + }, + get x() { + if (throughProxy) + assert(this === proxy); + else + assert(this === target); + return this._x; + } + }; + + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === proxy); + theTarget[propName] = value; + return true; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i), true); + assert(called); + throughProxy = true; + assert(proxy.x === i); + throughProxy = false; + assert(target.x === i); + assert(proxy._x === i); + assert(target._x === i); + called = false; + } +} + +{ + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 'own', i), true); + assert(!called); + assert(obj.own === i); + + shouldBe(Reflect.set(obj, 'notOwn', i), true); + assert(target.notOwn === i); + assert(proxy.notOwn === i); + assert(obj.notOwn === i); + assert(called); + called = false; + } +} + +{ + let target = {}; + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 'own', i), true); + assert(obj.own === i); + assert(proxy.own === undefined); + + shouldBe(Reflect.set(obj, 'notOwn', i), true); + // The receiver is always |obj|. + // obj.[[Set]](P, V, obj) -> Proxy.[[Set]](P, V, obj) -> target.[[Set]](P, V, obj) + assert(target.notOwn === undefined); + assert(proxy.notOwn === undefined); + assert(obj.notOwn === i); + } +} + +{ + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i), true); + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === undefined); + + shouldBe(Reflect.set(obj, 1, i), true); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} + +{ + let target = {}; + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i), true); + assert(obj[0] === i); + assert(proxy[0] === undefined); + + shouldBe(Reflect.set(obj, 1, i), true); + // The receiver is always |obj|. + // obj.[[Set]](P, V, obj) -> Proxy.[[Set]](P, V, obj) -> target.[[Set]](P, V, obj) + assert(target[1] === undefined); + assert(proxy[1] === undefined); + assert(obj[1] === i); + } +} + +{ + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i), true); + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === undefined); + + shouldBe(Reflect.set(obj, 1, i), true); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let target = [25]; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === obj); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i), true); + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === 25); + + shouldBe(Reflect.set(obj, 1, i), true); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let ogTarget = {}; + let target = new Proxy(ogTarget, { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === ogTarget); + assert(receiver === obj); + called = true; + theTarget[propName] = value; + } + }); + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 'own', i), true); + assert(!called); + assert(obj.own === i); + assert(proxy.own === undefined); + + shouldBe(Reflect.set(obj, 'notOwn', i), false); + assert(target.notOwn === i); + assert(proxy.notOwn === i); + assert(obj.notOwn === i); + assert(called); + called = false; + } +} + +{ + let called = false; + let ogTarget = [25]; + let target = new Proxy(ogTarget, { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === ogTarget); + assert(receiver === obj); + called = true; + theTarget[propName] = value; + } + }); + let handler = { }; + + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i), true); + assert(!called); + assert(obj[0] === i); + assert(proxy[0] === 25); + + shouldBe(Reflect.set(obj, 1, i), false); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(called); + called = false; + } +} diff --git a/implementation-contributed/javascriptcore/stress/reflect-set-receiver-proxy-set.js b/implementation-contributed/javascriptcore/stress/reflect-set-receiver-proxy-set.js new file mode 100644 index 0000000000..054de70921 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-set-receiver-proxy-set.js @@ -0,0 +1,704 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function unreachable() +{ + throw new Error('unreachable'); +} + +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} + +(function () { + { + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: 45 + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40, theReceiver); + unreachable(); + } catch(e) { + assert(e.toString() === "TypeError: 'set' property of a Proxy's handler should be callable"); + threw = true; + } + assert(threw); + } + } + + { + let target = { + x: 30 + }; + + let error = null; + let handler = { + get set() { + error = new Error; + throw error; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40, theReceiver); + unreachable(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + error = null; + } + } + + { + let target = { + x: 30 + }; + + let error = null; + let handler = { + set: function(_1, _2, _3, receiver) { + shouldBe(receiver, theReceiver); + error = new Error; + throw error; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40, theReceiver); + unreachable(); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); + error = null; + } + } + + { + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 500 + }); + + let theReceiver = {}; + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + shouldBe(receiver, theReceiver); + called = true; + theTarget[propName] = value; + return false; + } + }; + + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', 40, theReceiver), false); + assert(called); + assert(proxy.x === 500); + assert(target.x === 500); + called = false; + } + } + + { + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: false, + value: 500 + }); + + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + shouldBe(receiver, theReceiver); + theTarget[propName] = value; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40, theReceiver); + unreachable(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'set' on a non-configurable and non-writable property on 'target' should either return false or be the same value already on the 'target'"); + } + assert(threw); + } + } + + { + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + get: function() { + return 25; + } + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + shouldBe(receiver, theReceiver); + called = true; + theTarget[propName] = value; + return false; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', 40, theReceiver), false); + assert(proxy.x === 25); + assert(theReceiver.x === undefined); + assert(called); + called = false; + } + } + + { + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + get: function() { + return 25; + } + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + shouldBe(receiver, theReceiver); + called = true; + theTarget[propName] = value; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + let threw = false; + try { + Reflect.set(proxy, 'x', 40, theReceiver); + unreachable(); + } catch(e) { + threw = true; + assert(e.toString() === "TypeError: Proxy handler's 'set' method on a non-configurable accessor property without a setter should return false"); + } + assert(called); + assert(threw); + } + } + + { + let target = { }; + Object.defineProperty(target, "x", { + configurable: false, + writable: true, + value: 50 + }); + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === target); + shouldBe(receiver, theReceiver); + called = true; + theTarget[propName] = value; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i, theReceiver), true); + assert(called); + assert(proxy.x === i); + assert(target.x === i); + assert(theReceiver.x === undefined); + called = false; + } + } + + { + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + shouldBe(receiver, theReceiver); + called = true; + theTarget[propName] = value; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i, theReceiver), false); + assert(called); + assert(proxy.x === i); + assert(target.x === i); + assert(theReceiver.x === undefined); + called = false; + + shouldBe(Reflect.set(proxy, 'y', i, theReceiver), false); + assert(called); + assert(proxy.y === i); + assert(target.y === i); + assert(theReceiver.y === undefined); + called = false; + } + } + + { + let target = { + x: 30 + }; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + called = true; + theTarget[propName] = value; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i, theReceiver), false); + assert(called); + assert(proxy.x === i); + assert(target.x === i); + assert(theReceiver.x === undefined); + called = false; + + shouldBe(Reflect.set(proxy, 'y', i, theReceiver), false); + assert(called); + assert(proxy.y === i); + assert(target.y === i); + assert(theReceiver.y === undefined); + called = false; + } + } + + { + let target = []; + + let called = false; + let handler = { }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, i, i, theReceiver), true); + assert(proxy[i] === undefined); + assert(target[i] === undefined); + assert(theReceiver[i] === i); + } + } + + { + let target = []; + + let called = false; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + called = true; + theTarget[propName] = value; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, i, i, theReceiver), false); + assert(proxy[i] === i); + assert(target[i] === i); + assert(theReceiver[i] === undefined); + assert(called); + called = false; + } + } + + { + let throughProxy = false; + let called = false; + let target = { + set x(v) { + assert(this === target); + this._x = v; + called = true; + }, + get x() { + if (throughProxy) + assert(this === proxy); + else + assert(this === target); + return this._x; + } + }; + + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + theTarget[propName] = value; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(proxy, 'x', i, theReceiver), true); + assert(called); + throughProxy = true; + assert(proxy.x === i); + throughProxy = false; + assert(target.x === i); + assert(theReceiver.x === undefined); + assert(proxy._x === i); + assert(target._x === i); + assert(theReceiver._x === undefined); + called = false; + } + } + + { + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 'own', i, theReceiver), true); + assert(!called); + assert(obj.own === null); + assert(theReceiver.own === i); + + shouldBe(Reflect.set(obj, 'notOwn', i, theReceiver), true); + assert(target.notOwn === i); + assert(proxy.notOwn === i); + assert(obj.notOwn === i); + assert(theReceiver.notOwn === undefined); + assert(called); + called = false; + } + } + + { + let target = {}; + let handler = { }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 'own', i, theReceiver), true); + assert(obj.own === null); + assert(proxy.own === undefined); + assert(theReceiver.own === i); + + shouldBe(Reflect.set(obj, 'notOwn', i, theReceiver), true); + // The receiver is always |theReceiver|. + // obj.[[Set]](P, V, theReceiver) -> Proxy.[[Set]](P, V, theReceiver) -> target.[[Set]](P, V, theReceiver) + assert(target.notOwn === undefined); + assert(proxy.notOwn === undefined); + assert(obj.notOwn === undefined); + assert(theReceiver.notOwn === i); + } + } + + { + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i, theReceiver), true); + assert(!called); + assert(obj[0] === null); + assert(proxy[0] === undefined); + assert(theReceiver[0] === i); + + shouldBe(Reflect.set(obj, 1, i, theReceiver), true); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(theReceiver[1] === undefined); + assert(called); + called = false; + } + } + + { + let target = {}; + let handler = { }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i, theReceiver), true); + assert(obj[0] === null); + assert(proxy[0] === undefined); + assert(theReceiver[0] === i); + + shouldBe(Reflect.set(obj, 1, i, theReceiver), true); + // The receiver is always |theReceiver|. + // obj.[[Set]](P, V, theReceiver) -> Proxy.[[Set]](P, V, theReceiver) -> target.[[Set]](P, V, theReceiver) + assert(target[1] === undefined); + assert(proxy[1] === undefined); + assert(obj[1] === undefined); + assert(theReceiver[1] === i); + } + } + + { + let called = false; + let target = {}; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i, theReceiver), true); + assert(!called); + assert(obj[0] === null); + assert(proxy[0] === undefined); + assert(theReceiver[0] === i); + + shouldBe(Reflect.set(obj, 1, i, theReceiver), true); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(theReceiver[1] === undefined); + assert(called); + called = false; + } + } + + { + let called = false; + let target = [25]; + let handler = { + set: function(theTarget, propName, value, receiver) { + assert(target === theTarget); + assert(receiver === theReceiver); + theTarget[propName] = value; + called = true; + return true; + } + }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i, theReceiver), true); + assert(!called); + assert(obj[0] === null); + assert(proxy[0] === 25); + assert(theReceiver[0] === i); + + shouldBe(Reflect.set(obj, 1, i, theReceiver), true); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(theReceiver[1] === undefined); + assert(called); + called = false; + } + } + + { + let called = false; + let ogTarget = {}; + let target = new Proxy(ogTarget, { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === ogTarget); + assert(receiver === theReceiver); + called = true; + theTarget[propName] = value; + } + }); + let handler = { }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + own: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 'own', i, theReceiver), true); + assert(!called); + assert(obj.own === null); + assert(proxy.own === undefined); + assert(theReceiver.own === i); + + shouldBe(Reflect.set(obj, 'notOwn', i, theReceiver), false); + assert(target.notOwn === i); + assert(proxy.notOwn === i); + assert(obj.notOwn === i); + assert(theReceiver.notOwn === undefined); + assert(called); + called = false; + } + } + + { + let called = false; + let ogTarget = [25]; + let target = new Proxy(ogTarget, { + set: function(theTarget, propName, value, receiver) { + assert(theTarget === ogTarget); + assert(receiver === theReceiver); + called = true; + theTarget[propName] = value; + } + }); + let handler = { }; + + let theReceiver = {}; + let proxy = new Proxy(target, handler); + let obj = Object.create(proxy, { + [0]: { + writable: true, + configurable: true, + value: null + } + }); + for (let i = 0; i < 1000; i++) { + shouldBe(Reflect.set(obj, 0, i, theReceiver), true); + assert(!called); + assert(obj[0] === null); + assert(proxy[0] === 25); + assert(theReceiver[0] === i); + + shouldBe(Reflect.set(obj, 1, i, theReceiver), false); + assert(target[1] === i); + assert(proxy[1] === i); + assert(obj[1] === i); + assert(theReceiver[1] === undefined); + assert(called); + called = false; + } + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/reflect-set-with-global-proxy.js b/implementation-contributed/javascriptcore/stress/reflect-set-with-global-proxy.js new file mode 100644 index 0000000000..1e44f2355f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-set-with-global-proxy.js @@ -0,0 +1,206 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function unreachable() +{ + throw new Error('unreachable'); +} + +function receiverTest(object, receiver) +{ + shouldBe(Reflect.set(object, 'Cocoa', 42, receiver), true); + shouldBe(Reflect.get(receiver, 'Cocoa'), 42); + shouldBe(Reflect.get(object, 'Cocoa'), undefined); + + // Existing. + shouldBe(Reflect.set(object, 'Matcha', 40), true); + shouldBe(Reflect.get(object, 'Matcha'), 40); + shouldBe(Reflect.set(object, 'Matcha', 42, receiver), true); + shouldBe(Reflect.get(receiver, 'Matcha'), 42); + shouldBe(Reflect.get(object, 'Matcha'), 40); + + // Existing non writable own descriptor. + Reflect.defineProperty(object, 'Cappuccino', { + value: 'nice', + writable: false + }); + shouldBe(Reflect.set(object, 'Cappuccino', 42, receiver), false); + shouldBe(Reflect.get(receiver, 'Cappuccino'), undefined); + shouldBe(receiver.hasOwnProperty('Cappuccino'), false); + shouldBe(Reflect.get(object, 'Cappuccino'), 'nice'); + + // Existing non writable receiver descriptor. + Reflect.defineProperty(receiver, 'Kilimanjaro', { + value: 'good', + writable: false + }); + shouldBe(Reflect.set(object, 'Kilimanjaro', 42, receiver), false); + shouldBe(Reflect.get(receiver, 'Kilimanjaro'), 'good'); + shouldBe(receiver.hasOwnProperty('Kilimanjaro'), true); + shouldBe(Reflect.get(object, 'Kilimanjaro'), undefined); + shouldBe(object.hasOwnProperty('Kilimanjaro'), false); + + shouldBe(Reflect.set(object, 'Kilimanjaro', 42, 'receiver'), false); + + // Receiver accessors. + shouldBe(Reflect.defineProperty(receiver, 'Mocha', { + get() + { + return 42; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), false); + shouldBe(Reflect.defineProperty(receiver, 'Mocha', { + set(value) + { + unreachable(); + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 'Mocha', { + get(value) + { + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 'Mocha', { + set(value) + { + shouldBe(this, receiver); + this.value = value; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), true); + shouldBe(receiver.value, 42); + shouldBe(object.value, undefined); +} + +function receiverTestIndexed(object, receiver) +{ + shouldBe(Reflect.set(object, 11, 42, receiver), true); + shouldBe(Reflect.get(receiver, 11), 42); + shouldBe(Reflect.get(object, 11), undefined); + + // Existing. + shouldBe(Reflect.set(object, 12, 40), true); + shouldBe(Reflect.get(object, 12), 40); + shouldBe(Reflect.set(object, 12, 42, receiver), true); + shouldBe(Reflect.get(receiver, 12), 42); + shouldBe(Reflect.get(object, 12), 40); + + // Existing non writable own descriptor. + Reflect.defineProperty(object, 13, { + value: 'nice', + writable: false + }); + shouldBe(Reflect.set(object, 13, 42, receiver), false); + shouldBe(Reflect.get(receiver, 13), undefined); + shouldBe(receiver.hasOwnProperty(13), false); + shouldBe(Reflect.get(object, 13), 'nice'); + + // Existing non writable receiver descriptor. + Reflect.defineProperty(receiver, 14, { + value: 'good', + writable: false + }); + shouldBe(Reflect.set(object, 14, 42, receiver), false); + shouldBe(Reflect.get(receiver, 14), 'good'); + shouldBe(receiver.hasOwnProperty(14), true); + shouldBe(Reflect.get(object, 14), undefined); + shouldBe(object.hasOwnProperty(14), false); + + // Receiver is a primitive value. + shouldBe(Reflect.set(object, 14, 42, 'receiver'), false); + + // Receiver accessors. + shouldBe(Reflect.defineProperty(receiver, 15, { + get() + { + return 42; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), false); + shouldBe(Reflect.defineProperty(receiver, 15, { + set(value) + { + unreachable(); + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 15, { + get(value) + { + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 15, { + set(value) + { + shouldBe(this, receiver); + this.value = value; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), true); + shouldBe(receiver.value, 42); + shouldBe(object.value, undefined); +} + +// The global object is wrapped with the JSProxy. +var global = this; + +receiverTest(global, {}); +receiverTestIndexed(global, {}); +Reflect.defineProperty(global, 'OK1', { + set: function (value) { + shouldBe(this, global); + } +}); +function test1() +{ + global.OK1 = 'Hello'; +} +noInline(test1); +for (var i = 0; i < 1e4; ++i) + test1(); + +Reflect.defineProperty(global, 'OK2', { + set: function (value) { + 'use strict'; + shouldBe(this, global); + } +}); +function test2() +{ + global.OK2 = 'Hello'; +} +noInline(test2); +for (var i = 0; i < 1e4; ++i) + test2(); + +var receiver = {}; +Reflect.defineProperty(global, 'OK3', { + set: function (value) { + shouldBe(this, receiver); + } +}); +function test3() +{ + shouldBe(Reflect.set(global, 'OK3', 'value', receiver), true); +} +noInline(test3); +for (var i = 0; i < 1e4; ++i) + test3(); diff --git a/implementation-contributed/javascriptcore/stress/reflect-set.js b/implementation-contributed/javascriptcore/stress/reflect-set.js new file mode 100644 index 0000000000..ef315ac62d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect-set.js @@ -0,0 +1,1225 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error('not thrown.'); + if (String(error) !== message) + throw new Error('bad error: ' + String(error)); +} + +function unreachable() +{ + throw new Error('unreachable'); +} + +function receiverTest(object, receiver) +{ + shouldBe(Reflect.set(object, 'Cocoa', 42, receiver), true); + shouldBe(Reflect.get(receiver, 'Cocoa'), 42); + shouldBe(Reflect.get(object, 'Cocoa'), undefined); + + // Existing. + shouldBe(Reflect.set(object, 'Matcha', 40), true); + shouldBe(Reflect.get(object, 'Matcha'), 40); + shouldBe(Reflect.set(object, 'Matcha', 42, receiver), true); + shouldBe(Reflect.get(receiver, 'Matcha'), 42); + shouldBe(Reflect.get(object, 'Matcha'), 40); + + // Existing non writable own descriptor. + Reflect.defineProperty(object, 'Cappuccino', { + value: 'nice', + writable: false + }); + shouldBe(Reflect.set(object, 'Cappuccino', 42, receiver), false); + shouldBe(Reflect.get(receiver, 'Cappuccino'), undefined); + shouldBe(receiver.hasOwnProperty('Cappuccino'), false); + shouldBe(Reflect.get(object, 'Cappuccino'), 'nice'); + + // Existing non writable receiver descriptor. + Reflect.defineProperty(receiver, 'Kilimanjaro', { + value: 'good', + writable: false + }); + shouldBe(Reflect.set(object, 'Kilimanjaro', 42, receiver), false); + shouldBe(Reflect.get(receiver, 'Kilimanjaro'), 'good'); + shouldBe(receiver.hasOwnProperty('Kilimanjaro'), true); + shouldBe(Reflect.get(object, 'Kilimanjaro'), undefined); + shouldBe(object.hasOwnProperty('Kilimanjaro'), false); + + shouldBe(Reflect.set(object, 'Kilimanjaro', 42, 'receiver'), false); + + // Receiver accessors. + shouldBe(Reflect.defineProperty(receiver, 'Mocha', { + get() + { + return 42; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), false); + shouldBe(Reflect.defineProperty(receiver, 'Mocha', { + set(value) + { + unreachable(); + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 'Mocha', { + get(value) + { + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 'Mocha', { + set(value) + { + shouldBe(this, receiver); + this.value = value; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 'Mocha', 42, receiver), true); + shouldBe(receiver.value, 42); + shouldBe(object.value, undefined); +} + +function receiverTestIndexed(object, receiver) +{ + shouldBe(Reflect.set(object, 11, 42, receiver), true); + shouldBe(Reflect.get(receiver, 11), 42); + shouldBe(Reflect.get(object, 11), undefined); + + // Existing. + shouldBe(Reflect.set(object, 12, 40), true); + shouldBe(Reflect.get(object, 12), 40); + shouldBe(Reflect.set(object, 12, 42, receiver), true); + shouldBe(Reflect.get(receiver, 12), 42); + shouldBe(Reflect.get(object, 12), 40); + + // Existing non writable own descriptor. + Reflect.defineProperty(object, 13, { + value: 'nice', + writable: false + }); + shouldBe(Reflect.set(object, 13, 42, receiver), false); + shouldBe(Reflect.get(receiver, 13), undefined); + shouldBe(receiver.hasOwnProperty(13), false); + shouldBe(Reflect.get(object, 13), 'nice'); + + // Existing non writable receiver descriptor. + Reflect.defineProperty(receiver, 14, { + value: 'good', + writable: false + }); + shouldBe(Reflect.set(object, 14, 42, receiver), false); + shouldBe(Reflect.get(receiver, 14), 'good'); + shouldBe(receiver.hasOwnProperty(14), true); + shouldBe(Reflect.get(object, 14), undefined); + shouldBe(object.hasOwnProperty(14), false); + + // Receiver is a primitive value. + shouldBe(Reflect.set(object, 14, 42, 'receiver'), false); + + // Receiver accessors. + shouldBe(Reflect.defineProperty(receiver, 15, { + get() + { + return 42; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), false); + shouldBe(Reflect.defineProperty(receiver, 15, { + set(value) + { + unreachable(); + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 15, { + get(value) + { + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), false); + shouldBe(receiver.value, undefined); + shouldBe(Reflect.defineProperty(object, 15, { + set(value) + { + shouldBe(this, receiver); + this.value = value; + }, + configurable: true + }), true); + shouldBe(Reflect.set(object, 15, 42, receiver), true); + shouldBe(receiver.value, 42); + shouldBe(object.value, undefined); +} + +shouldBe(Reflect.set.length, 3); + +shouldThrow(() => { + Reflect.set('hello', 'hello', 42); +}, `TypeError: Reflect.set requires the first argument be an object`); + +var symbol = Symbol(); + +(function simpleReceiverCase() { + var receiver = {}; + var object = { + }; + + shouldBe(Reflect.set(object, 'Cocoa', 42, receiver), true); + shouldBe(Reflect.get(object, 'Cocoa'), undefined); + shouldBe(Reflect.get(receiver, 'Cocoa'), 42); + + var object2 = { + set Cocoa(value) { + print(value); + shouldBe(this, receiver); + this.value = value; + } + }; + shouldBe(Reflect.set(object, 'Cocoa', 42, receiver), true); + shouldBe(Reflect.get(object, 'Cocoa'), undefined); + shouldBe(Reflect.get(receiver, 'Cocoa'), 42); +}()); + +(function objectCase() { + 'use strict'; + var object = {}; + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), undefined); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + + var object = {}; + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = {}; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = {}; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + receiverTest({}, {}); + receiverTestIndexed({}, {}); +}()); + +(function arrayCase() { + 'use strict'; + var object = []; + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), undefined); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + object[1000000] = 'Hello'; + shouldBe(Reflect.set(object, 0, 50), true); + shouldBe(Reflect.get(object, 0), 50); + + var object = []; + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(object.length, 1); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + // Length. + var object = []; + shouldBe(Reflect.get(object, 'length'), 0); + shouldThrow(() => { + Reflect.set(object, 'length', 'Cappuccino'); + }, `RangeError: Invalid array length`); + shouldBe(Reflect.get(object, 'length'), 0); + + var object = []; + shouldBe(Reflect.get(object, 'length'), 0); + shouldBe(Reflect.set(object, 'length', 20), true); + shouldBe(Reflect.get(object, 'length'), 20); + + var object = []; + Object.freeze(object); + shouldBe(Reflect.get(object, 'length'), 0); + shouldBe(Reflect.set(object, 'length', 20), false); + shouldBe(Reflect.get(object, 'length'), 0); + + var object = []; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = []; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + receiverTest([], []); + receiverTest({}, []); + receiverTest([], {}); + receiverTestIndexed([], []); + receiverTestIndexed({}, []); + receiverTestIndexed([], {}); + + var array = [0, 1, 2, 3]; + var receiver = {}; + shouldBe(Reflect.set(array, 'length', 'V', receiver), true); + shouldBe(Reflect.get(receiver, 'length'), 'V'); + shouldBe(receiver.hasOwnProperty('length'), true); + shouldBe(Reflect.get(array, 'length'), 4); + Object.freeze(array); + var receiver = {}; + shouldBe(Reflect.set(array, 'length', 'V', receiver), false); + shouldBe(Reflect.get(receiver, 'length'), undefined); + shouldBe(receiver.hasOwnProperty('length'), false); + shouldBe(Reflect.get(array, 'length'), 4); +}()); + +(function arrayBufferCase() { + 'use strict'; + var object = new ArrayBuffer(64); + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), undefined); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + object[1000000] = 'Hello'; + shouldBe(Reflect.set(object, 0, 50), true); + shouldBe(Reflect.get(object, 0), 50); + + var object = new ArrayBuffer(64); + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(object.length, undefined); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = new ArrayBuffer(64); + shouldBe(Reflect.get(object, 'byteLength'), 64); + shouldBe(Reflect.set(object, 'byteLength', 'Cappuccino'), false); + shouldBe(Reflect.get(object, 'byteLength'), 64); + + var object = new ArrayBuffer(64); + shouldBe(Reflect.get(object, 'byteLength'), 64); + shouldBe(Reflect.set(object, 'byteLength', 2000), false); + shouldBe(Reflect.get(object, 'byteLength'), 64); + + var object = new ArrayBuffer(64); + shouldBe(Reflect.defineProperty(object, 'byteLength', { + writable: false + }), true); + shouldBe(Reflect.get(object, 'byteLength'), undefined); + shouldBe(Reflect.set(object, 'byteLength', 20), false); + shouldBe(Reflect.get(object, 'byteLength'), undefined); + + var object = new ArrayBuffer(64); + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = new ArrayBuffer(64); + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + receiverTest(new ArrayBuffer(64), new ArrayBuffer(64)); + receiverTest({}, new ArrayBuffer(64)); + receiverTest(new ArrayBuffer(64), {}); + receiverTestIndexed(new ArrayBuffer(64), new ArrayBuffer(64)); + receiverTestIndexed({}, new ArrayBuffer(64)); + receiverTestIndexed(new ArrayBuffer(64), {}); +}()); + +[ + [ Uint8Array, 1 ], + [ Uint8ClampedArray, 1], + [ Uint16Array, 2 ], + [ Uint32Array, 4 ], + [ Int8Array, 1 ], + [ Int16Array, 2 ], + [ Int32Array, 4 ], + [ Float32Array, 4 ], + [ Float64Array, 8 ], +].forEach((function() { + 'use strict'; + return function typedArrayCase([ TypedArray, bytesPerElement ]) { + var object = new TypedArray(64); + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), 0); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + object[1000000] = 'Hello'; + shouldBe(Reflect.set(object, 0, 50), true); + shouldBe(Reflect.get(object, 0), 50); + + var object = new TypedArray(64); + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), false); + shouldBe(Reflect.get(object, 0), 0); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(object.length, 64); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = new TypedArray(64); + shouldBe(Reflect.get(object, 'byteLength'), bytesPerElement * 64); + shouldBe(Reflect.set(object, 'byteLength', 'Cappuccino'), false); + shouldBe(Reflect.get(object, 'byteLength'), bytesPerElement * 64); + + var object = new TypedArray(64); + shouldBe(Reflect.get(object, 'byteLength'), bytesPerElement * 64); + shouldBe(Reflect.set(object, 'byteLength', 2000), false); + shouldBe(Reflect.get(object, 'byteLength'), bytesPerElement * 64); + + var object = new TypedArray(64); + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), false); + shouldBe(Reflect.get(object, 0), 0); + shouldBe(Reflect.set(object, 0, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = new TypedArray(64); + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), false); + shouldBe(Reflect.get(object, 0), 0); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + receiverTest(new TypedArray(64), new TypedArray(64)); + receiverTest(new TypedArray(64), {}); + receiverTest({}, new TypedArray(64)); + + var object = new TypedArray(64); + var receiver = {}; + // The receiver is ignored when the property name is an indexed one. + // shouldBe(Reflect.set(object, 0, 42, receiver), true); + shouldBe(Reflect.set(object, 0, 42, receiver), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(receiver.hasOwnProperty(0), false); + }; +})()); + + +(function argumentCase() { + function test1() { + var object = arguments; + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), undefined); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + } + + function test2() { + var object = arguments; + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(object.length, 0); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + } + + function test3() { + var object = arguments; + shouldBe(Reflect.get(object, 'length'), 0); + Reflect.set(object, 'length', 'Cappuccino'); + shouldBe(Reflect.get(object, 'length'), 'Cappuccino'); + + Reflect.set(object, 'callee', 'Cappuccino'); + shouldBe(Reflect.get(object, 'callee'), 'Cappuccino'); + } + + function test4() { + var object = arguments; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + } + + function test5() { + var object = arguments; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + } + + test1(); + test2(); + test3(); + test4(); + test5(); + + function getArguments() { return arguments; } + + receiverTest(getArguments(), getArguments()); + receiverTest({}, getArguments()); + receiverTest(getArguments(), {}); + receiverTestIndexed(getArguments(), getArguments()); + receiverTestIndexed({}, getArguments()); + receiverTestIndexed(getArguments(), {}); + + var args = getArguments(0, 1, 2); + var receiver = {}; + shouldBe(Reflect.set(args, 0, 'V', receiver), true); + shouldBe(Reflect.get(receiver, 0), 'V'); + shouldBe(Reflect.set(args, 'length', 'V', receiver), true); + shouldBe(Reflect.get(receiver, 'length'), 'V'); +}()); + +(function argumentStrictCase() { + 'use strict'; + function test1() { + var object = arguments; + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), undefined); + shouldBe(Reflect.set(object, 0, 42), true); + shouldBe(Reflect.get(object, 0), 42); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + } + + function test2() { + var object = arguments; + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(object.length, 0); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + } + + function test3() { + var object = arguments; + shouldBe(Reflect.get(object, 'length'), 0); + Reflect.set(object, 'length', 'Cappuccino'); + shouldBe(Reflect.get(object, 'length'), 'Cappuccino'); + + shouldThrow(() => { + Reflect.set(object, 'callee', 'Cappuccino'); + }, `TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.`); + shouldThrow(() => { + Reflect.get(object, 'callee'); + }, `TypeError: 'arguments', 'callee', and 'caller' cannot be accessed in this context.`); + } + + function test4() { + var object = arguments; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + } + + function test5() { + var object = arguments; + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + } + + test1(); + test2(); + test3(); + test4(); + test5(); + + function getArguments() { return arguments; } + + receiverTest(getArguments(), getArguments()); + receiverTest({}, getArguments()); + receiverTest(getArguments(), {}); + receiverTestIndexed(getArguments(), getArguments()); + receiverTestIndexed({}, getArguments()); + receiverTestIndexed(getArguments(), {}); + + var args = getArguments(0, 1, 2); + var receiver = {}; + shouldBe(Reflect.set(args, 0, 'V', receiver), true); + shouldBe(Reflect.get(receiver, 0), 'V'); + shouldBe(Reflect.set(args, 'length', 'V', receiver), true); + shouldBe(Reflect.get(receiver, 'length'), 'V'); +}()); + +(function stringObjectCase() { + 'use strict'; + var object = new String('Cocoa'); + shouldBe(Reflect.get(object, 'hello'), undefined); + shouldBe(Reflect.set(object, 'hello', 42), true); + shouldBe(Reflect.get(object, 'hello'), 42); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.get(object, symbol), undefined); + shouldBe(Reflect.set(object, symbol, 42), true); + shouldBe(Reflect.get(object, symbol), 42); + object[1000000] = 'Cocoa'; + shouldBe(Reflect.set(object, 0, 50), false); + shouldBe(Reflect.get(object, 0), 'C'); + + var object = new String('Cocoa'); + shouldBe(Reflect.defineProperty(object, 'hello', { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + value: 'Cocoa', + writable: false + }), false); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(object.length, 5); + shouldBe(Reflect.defineProperty(object, symbol, { + value: 'Cocoa', + writable: false + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + // Length. + var object = new String('Cocoa'); + shouldBe(Reflect.get(object, 'length'), 5); + shouldBe(Reflect.set(object, 'length', 'Cappuccino'), false); + shouldBe(Reflect.get(object, 'length'), 5); + + var object = new String('Cocoa'); + shouldBe(Reflect.get(object, 'length'), 5); + shouldBe(Reflect.set(object, 'length', 20), false); + shouldBe(Reflect.get(object, 'length'), 5); + + var object = new String('Cocoa'); + Object.freeze(object); + shouldBe(Reflect.get(object, 'length'), 5); + shouldBe(Reflect.set(object, 'length', 20), false); + shouldBe(Reflect.get(object, 'length'), 5); + + var object = new String('Cocoa'); + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + }, + set() { + } + }), false); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.set(object, 0, 42), false); // Return true since the setter exists. + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + }, + set() { + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), true); // Return true since the setter exists. + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + var object = new String('Cocoa'); + shouldBe(Reflect.defineProperty(object, 'hello', { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.set(object, 'hello', 42), false); + shouldBe(Reflect.get(object, 'hello'), 'Cocoa'); + shouldBe(Reflect.defineProperty(object, 0, { + get() { + return 'Cocoa'; + } + }), false); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.set(object, 0, 42), false); + shouldBe(Reflect.get(object, 0), 'C'); + shouldBe(Reflect.defineProperty(object, symbol, { + get() { + return 'Cocoa'; + } + }), true); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + shouldBe(Reflect.set(object, symbol, 42), false); + shouldBe(Reflect.get(object, symbol), 'Cocoa'); + + receiverTest(new String('Hello'), new String('World')); + receiverTest({}, new String('World')); + receiverTest(new String('Hello'), {}); + // Tested indice should be out of range of the string object. + receiverTestIndexed(new String('Hello'), new String('World')); + receiverTestIndexed({}, new String('World')); + receiverTestIndexed(new String('Hello'), {}); + + var string = new String('Hello'); + var receiver = {}; + shouldBe(Reflect.set(string, 0, 'V', receiver), false); + shouldBe(Reflect.get(receiver, 0), undefined); + shouldBe(receiver.hasOwnProperty(0), false); + shouldBe(Reflect.set(string, 'length', 'V', receiver), false); + shouldBe(Reflect.get(receiver, 'length'), undefined); + shouldBe(receiver.hasOwnProperty('length'), false); +}()); + +(function regExpCase() { + receiverTest(/hello/, /world/); + receiverTest({}, /world/); + receiverTest(/hello/, {}); + receiverTestIndexed(/hello/, /world/); + receiverTestIndexed({}, /world/); + receiverTestIndexed(/hello/, {}); +}()); + +(function customValue() { + // In this case, RegExp.multiline behaves like a setter because it coerce boolean type. + // Anyway, it's OK, because RegExp.multiline is not specified in the spec. + + function test1() { + shouldBe(Reflect.set(RegExp, 'multiline', 'Cappuccino'), true); + shouldBe(Reflect.get(RegExp, 'multiline'), true); + shouldBe(Reflect.set(RegExp, 'multiline', 0), true); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + + var receiver = {}; + shouldBe(Reflect.set(RegExp, 'multiline', 'Cappuccino', receiver), true); + shouldBe(Reflect.get(receiver, 'multiline'), 'Cappuccino'); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + } + + function test2() { + 'use strict'; + shouldBe(Reflect.set(RegExp, 'multiline', 'Cappuccino'), true); + shouldBe(Reflect.get(RegExp, 'multiline'), true); + shouldBe(Reflect.set(RegExp, 'multiline', 0), true); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + + var receiver = {}; + shouldBe(Reflect.set(RegExp, 'multiline', 'Cappuccino', receiver), true); + shouldBe(Reflect.get(receiver, 'multiline'), 'Cappuccino'); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + } + + function test3() { + 'use strict'; + shouldBe(Reflect.defineProperty(RegExp, 'multiline', { + writable: false + }), true); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + shouldBe(Reflect.set(RegExp, 'multiline', 'Cappuccino'), false); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + shouldBe(Reflect.set(RegExp, 'multiline', 0), false); + shouldBe(Reflect.get(RegExp, 'multiline'), false); + + var receiver = {}; + shouldBe(Reflect.set(RegExp, 'multiline', 'Cappuccino', receiver), false); + shouldBe(Reflect.get(receiver, 'multiline'), undefined); + } + + test1(); + test2(); + test3(); +}()); + +(function regExpLastIndex() { + var regexp = new RegExp('Cocoa'); + regexp.lastIndex = 'Hello'; + shouldBe(Reflect.get(regexp, 'lastIndex'), 'Hello'); + regexp.lastIndex = 42; + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + + shouldBe(Reflect.set(regexp, 'lastIndex', 'Hello'), true); + shouldBe(Reflect.get(regexp, 'lastIndex'), 'Hello'); + + var receiver = {}; + shouldBe(Reflect.set(regexp, 'lastIndex', 'Cocoa', receiver), true); + shouldBe(Reflect.get(receiver, 'lastIndex'), 'Cocoa'); + shouldBe(Reflect.get(regexp, 'lastIndex'), 'Hello'); + + shouldBe(Reflect.defineProperty(regexp, 'lastIndex', { + value: 42, + writable: false + }), true); + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + shouldBe(Reflect.set(regexp, 'lastIndex', 'Hello'), false); + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + + var receiver = {}; + shouldBe(Reflect.set(regexp, 'lastIndex', 'Cocoa', receiver), false); + shouldBe(Reflect.get(receiver, 'lastIndex'), undefined); + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + + shouldThrow(function () { + 'use strict'; + regexp.lastIndex = 'NG'; + }, `TypeError: Attempted to assign to readonly property.`); +}()); + +(function functionCase() { + var func = function () { }; + shouldBe(Reflect.get(func, 'arguments'), null); + shouldBe(Reflect.set(func, 'arguments', 42), false); + shouldBe(Reflect.get(func, 'arguments'), null); + + shouldBe(Reflect.get(func, 'caller'), null); + shouldBe(Reflect.set(func, 'caller', 42), false); + shouldBe(Reflect.get(func, 'caller'), null); + + receiverTest(function () {}, function () {}); + receiverTest({}, function () {}); + receiverTest(function () {}, {}); + receiverTestIndexed(function () {}, function () {}); + receiverTestIndexed({}, function () {}); + receiverTestIndexed(function () {}, {}); + + var receiver = {}; + shouldBe(Reflect.set(func, 'arguments', 'V', receiver), false); + shouldBe(Reflect.get(receiver, 'arguments'), undefined); + shouldBe(receiver.hasOwnProperty('arguments'), false); + shouldBe(Reflect.get(func, 'arguments'), null); + shouldBe(Reflect.set(func, 'caller', 'V', receiver), false); + shouldBe(Reflect.get(receiver, 'caller'), undefined); + shouldBe(receiver.hasOwnProperty('caller'), false); + shouldBe(Reflect.get(func, 'caller'), null); +}()); diff --git a/implementation-contributed/javascriptcore/stress/reflect.js b/implementation-contributed/javascriptcore/stress/reflect.js new file mode 100644 index 0000000000..1f14ea00c7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reflect.js @@ -0,0 +1,9 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(typeof Reflect, "object"); +shouldBe(Reflect, Reflect); +shouldBe(Object.getPrototypeOf(Reflect), Object.getPrototypeOf({})); +shouldBe(Reflect.toString(), "[object Object]"); diff --git a/implementation-contributed/javascriptcore/stress/regexp-exec-effect-after-exception.js b/implementation-contributed/javascriptcore/stress/regexp-exec-effect-after-exception.js new file mode 100644 index 0000000000..a737429137 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-exec-effect-after-exception.js @@ -0,0 +1,26 @@ +function foo(s) { + return /.*/.exec(s); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo("foo bar"); + +RegExp.input = "blah"; + +var didFinish = false; +try { + foo({toString: function() { + throw "error"; + }}); + didFinish = true; +} catch (e) { + if (e != "error") + throw "Error: bad exception at end: " + e; + if (RegExp.input != "blah") + throw "Error: bad value of input: " + RegExp.input; +} + +if (didFinish) + throw "Error: did not throw exception."; diff --git a/implementation-contributed/javascriptcore/stress/regexp-exec-test-effectful-last-index.js b/implementation-contributed/javascriptcore/stress/regexp-exec-test-effectful-last-index.js new file mode 100644 index 0000000000..ef68e559c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-exec-test-effectful-last-index.js @@ -0,0 +1,50 @@ +function assert(b) { + if (!b) + throw new Error; +} + +let outer = 42; + +function foo(r, s) { + let y = outer; + r.test(s); + return y + outer; +} +noInline(foo); + +for (let i = 0; i < 10000; ++i) { + let r = /foo/g; + regexLastIndex = {}; + regexLastIndex.toString = function() { + outer = 1; + return "1"; + }; + + r.lastIndex = regexLastIndex; + let result = foo(r, "bar"); + assert(result === 43); + + outer = 42; +} + +function bar(r, s) { + let y = outer; + r.exec(s); + return y + outer; +} +noInline(bar); + +for (let i = 0; i < 10000; ++i) { + let r = /foo/g; + regexLastIndex = {}; + regexLastIndex.toString = function() { + outer = 1; + return "1"; + }; + + r.lastIndex = regexLastIndex; + let result = bar(r, "bar"); + assert(result === 43); + + outer = 42; +} diff --git a/implementation-contributed/javascriptcore/stress/regexp-large-quantifier.js b/implementation-contributed/javascriptcore/stress/regexp-large-quantifier.js new file mode 100644 index 0000000000..7c259f4bf2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-large-quantifier.js @@ -0,0 +1,16 @@ +function testRegExp(pattern, string, expectedMatch) { + const r = new RegExp(pattern); + const actualResult = r.exec(string); + if (expectedMatch === undefined) { + if (actualResult !== null) + throw("Expected " + r + ".exec(\"" + string + "\") to be null"); + } else { + if (actualResult === null || actualResult[0] !== expectedMatch) + throw("Expected " + r + ".exec(\"" + string + "\")[0] to be " + expectedMatch + "."); + } +} + +testRegExp("a{0,4294967295}", "a", "a"); +testRegExp("a{0,4294967296}", "a", "a"); +testRegExp("^a{0,4294967296}$", "a{0,4294967296}", undefined); +testRegExp("(?:a{0,340282366920}?){0,1}a", "aa", "aa"); diff --git a/implementation-contributed/javascriptcore/stress/regexp-last-index-sinking.js b/implementation-contributed/javascriptcore/stress/regexp-last-index-sinking.js new file mode 100644 index 0000000000..521fa8ea60 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-last-index-sinking.js @@ -0,0 +1,23 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test(num) +{ + var regexp = /regexp/; + if (num & 1) + regexp.lastIndex = 42; + else + regexp.lastIndex = 2; + return regexp.lastIndex; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + if (i & 1) + shouldBe(test(i), 42); + else + shouldBe(test(i), 2); +} diff --git a/implementation-contributed/javascriptcore/stress/regexp-last-index-writable.js b/implementation-contributed/javascriptcore/stress/regexp-last-index-writable.js new file mode 100644 index 0000000000..f6808b8f5b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-last-index-writable.js @@ -0,0 +1,52 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +(function regExpLastIndex() { + var regexp = new RegExp('Cocoa'); + regexp.lastIndex = 'Hello'; + shouldBe(Reflect.get(regexp, 'lastIndex'), 'Hello'); + regexp.lastIndex = 42; + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + + regexp.lastIndex = "Hello"; + shouldBe(Reflect.get(regexp, 'lastIndex'), 'Hello'); + + shouldBe(Reflect.defineProperty(regexp, 'lastIndex', { + value: 42, + writable: false + }), true); + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + shouldThrow(function () { + 'use strict'; + regexp.lastIndex = 'NG'; + }, `TypeError: Attempted to assign to readonly property.`); + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); + + shouldThrow(function () { + 'use strict'; + regexp.lastIndex = "NG"; + }, `TypeError: Attempted to assign to readonly property.`); + + shouldThrow(function () { + 'use strict'; + Object.defineProperty(regexp, 'lastIndex', { + value: 'NG' + }); + }, `TypeError: Attempting to change value of a readonly property.`); + shouldBe(Reflect.get(regexp, 'lastIndex'), 42); +}()); diff --git a/implementation-contributed/javascriptcore/stress/regexp-match-in-other-realm-should-work.js b/implementation-contributed/javascriptcore/stress/regexp-match-in-other-realm-should-work.js new file mode 100644 index 0000000000..3a9c8e8e6d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-match-in-other-realm-should-work.js @@ -0,0 +1,10 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var regexp = /Hello/; +var string = "Hello"; +var otherRealm = createGlobalObject(); +shouldBe(otherRealm.RegExp.prototype[Symbol.match].call(regexp, string)[0], string) + diff --git a/implementation-contributed/javascriptcore/stress/regexp-match-proxy.js b/implementation-contributed/javascriptcore/stress/regexp-match-proxy.js new file mode 100644 index 0000000000..24dc4ef6e4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-match-proxy.js @@ -0,0 +1,166 @@ +function assert(assertion) { + if (typeof assertion != "string") + throw new Error("Invalid assertion."); + + let result = eval(assertion); + + if (!result) + throw new Error("Bad assertion: " + assertion); +} + +let get = []; +let set = []; +let getSet = []; + +function resetTracking() +{ + get = []; + set = []; + getSet = []; +} + +let getProxyNullExec = new Proxy({ + exec: function() + { + return null; + } + }, { + get: function(o, k) + { + get.push(k); return o[k]; + } + }); + +resetTracking(); +RegExp.prototype[Symbol.match].call(getProxyNullExec); +assert('get == "global,exec"'); + +let getSetProxyNullExec = new Proxy( + { + exec: function() + { + return null; + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + return o[k]; + }, + set: function(o, k, v) + { + set.push(k); + getSet.push(k); + o[k] = v; + } + }); + +getSetProxyNullExec.global = true; + +resetTracking(); +RegExp.prototype[Symbol.match].call(getSetProxyNullExec); +assert('get == "global,unicode,exec"'); +assert('set == "lastIndex"'); +assert('getSet == "global,unicode,lastIndex,exec"'); + +let regExpGlobal_s = new RegExp("s", "g"); +let getSetProxyMatches_s = new Proxy( + { + exec: function(string) + { + return regExpGlobal_s.exec(string); + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + return o[k]; + }, + set: function(o, k, v) + { + set.push(k); + getSet.push(k); + o[k] = v; + } + }); + +getSetProxyMatches_s.global = true; +resetTracking(); +let matchResult = RegExp.prototype[Symbol.match].call(getSetProxyMatches_s, "This is a test"); +assert('matchResult == "s,s,s"'); +assert('get == "global,unicode,exec,exec,exec,exec"'); +assert('set == "lastIndex"'); +assert('getSet == "global,unicode,lastIndex,exec,exec,exec,exec"'); + +let regExpGlobal_tx_Greedy = new RegExp("[tx]*", "g"); +let getSetProxyMatches_tx_Greedy = new Proxy( + { + exec: function(string) + { + return regExpGlobal_tx_Greedy.exec(string); + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + if (k.toString() == "lastIndex") + return regExpGlobal_tx_Greedy.lastIndex; + return o[k]; + }, + set: function(o, k, v) + { + set.push(k); + getSet.push(k); + if (k.toString() == "lastIndex") + regExpGlobal_tx_Greedy.lastIndex = v; + o[k] = v; + } + }); + +getSetProxyMatches_tx_Greedy.global = true; + +resetTracking(); +matchResult = RegExp.prototype[Symbol.match].call(getSetProxyMatches_tx_Greedy, "testing"); +assert('matchResult == "t,,,t,,,,"'); +assert('get == "global,unicode,exec,exec,lastIndex,exec,lastIndex,exec,exec,lastIndex,exec,lastIndex,exec,lastIndex,exec,lastIndex,exec"'); +assert('set == "lastIndex,lastIndex,lastIndex,lastIndex,lastIndex,lastIndex,lastIndex"'); +assert('getSet == "global,unicode,lastIndex,exec,exec,lastIndex,lastIndex,exec,lastIndex,lastIndex,exec,exec,lastIndex,lastIndex,exec,lastIndex,lastIndex,exec,lastIndex,lastIndex,exec,lastIndex,lastIndex,exec"'); + +let regExpGlobalUnicode_digit_nonGreedy = new RegExp("\\d{0,1}", "gu"); +let getSetProxyMatchesUnicode_digit_nonGreedy = new Proxy( + { + exec: function(string) + { + return regExpGlobalUnicode_digit_nonGreedy.exec(string); + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + if (k.toString() == "lastIndex") + return regExpGlobalUnicode_digit_nonGreedy.lastIndex; + return o[k]; + }, + set: function(o, k, v) + { + set.push(k); + getSet.push(k); + if (k.toString() == "lastIndex") + regExpGlobalUnicode_digit_nonGreedy.lastIndex = v; + o[k] = v; + } + }); + +getSetProxyMatchesUnicode_digit_nonGreedy.global = true; +getSetProxyMatchesUnicode_digit_nonGreedy.unicode = true; + +resetTracking(); +matchResult = RegExp.prototype[Symbol.match].call(getSetProxyMatchesUnicode_digit_nonGreedy, "12X3\u{10400}4"); +assert('matchResult == "1,2,,3,,4,"'); +assert('get == "global,unicode,exec,exec,exec,lastIndex,exec,exec,lastIndex,exec,exec,lastIndex,exec"'); +assert('set == "lastIndex,lastIndex,lastIndex,lastIndex"'); +assert('getSet == "global,unicode,lastIndex,exec,exec,exec,lastIndex,lastIndex,exec,exec,lastIndex,lastIndex,exec,exec,lastIndex,lastIndex,exec"'); diff --git a/implementation-contributed/javascriptcore/stress/regexp-match-should-work-with-objects-not-inheriting-object-prototype.js b/implementation-contributed/javascriptcore/stress/regexp-match-should-work-with-objects-not-inheriting-object-prototype.js new file mode 100644 index 0000000000..a0476234d4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-match-should-work-with-objects-not-inheriting-object-prototype.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} +var regexp = Object.create(null); +regexp.reg = /Hello/; +regexp.exec = function (value) { + return regexp.reg.exec(value); +}; +var string = "Hello"; +shouldBe(RegExp.prototype[Symbol.match].call(regexp, string)[0], string) diff --git a/implementation-contributed/javascriptcore/stress/regexp-match.js b/implementation-contributed/javascriptcore/stress/regexp-match.js new file mode 100644 index 0000000000..59dcb3e269 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-match.js @@ -0,0 +1,102 @@ + +function shouldBe(actual, expected) { + if (actual !== expected && !(actual !== null && typeof(expected) === "string" && actual.toString() == expected)) + throw new Error('expected: ' + expected + ', bad value: ' + actual); +} + +function shouldThrow(func, expected) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error('not thrown'); + shouldBe(String(error), expected); +} + +var errorKey = { + toString() { + throw new Error('out'); + } +}; +var string = 'Cocoa, Cappuccino, Rize, Matcha, Kilimanjaro'; + +shouldThrow(function () { + String.prototype.match.call(null, /Cocoa/); +}, "TypeError: String.prototype.match requires that |this| not be null or undefined"); + +shouldThrow(function () { + String.prototype.match.call(undefined, /Cocoa/); +}, "TypeError: String.prototype.match requires that |this| not be null or undefined"); + +shouldThrow(function () { + string.match(errorKey); +}, "Error: out"); + +shouldBe('Cocoa'.match(/Cocoa/), "Cocoa"); + +shouldBe(string.match(/Rize/), "Rize"); +shouldBe(string.match('Rize'), "Rize"); +shouldBe(string.match(/Matcha/), "Matcha"); +shouldBe(string.match('Matcha'), "Matcha"); + +shouldBe(' undefined'.match(), ""); +shouldBe(' undefined'.match('undefined'), "undefined"); + +shouldBe((/Cocoa/)[Symbol.match]('Cocoa'), "Cocoa"); + +var primitives = [ + '', + 'string', + 42, + Symbol('Cocoa'), +]; + +for (var primitive of primitives) { + shouldThrow(function () { + RegExp.prototype[Symbol.match].call(primitive) + }, 'TypeError: RegExp.prototype.@@match requires that |this| be an Object'); +} + +shouldThrow(function () { + /Cocoa/[Symbol.match](errorKey); +}, "Error: out"); + + +function testRegExpMatch(regexp, string, result, lastIndex) { + shouldBe(regexp[Symbol.match](string), result); + shouldBe(regexp.lastIndex, lastIndex); +} + +function testMatch(regexp, string, result, lastIndex) { + shouldBe(string.match(regexp), result); + shouldBe(regexp.lastIndex, lastIndex); +} + +function testBoth(regexp, string, result, lastIndex) { + testMatch(regexp, string, result, lastIndex); + testRegExpMatch(regexp, string, result, lastIndex); +} + +var cocoa = /Cocoa/; +cocoa.lastIndex = 20; +testBoth(cocoa, 'Cocoa', "Cocoa", 20); +testBoth(cocoa, ' Cocoa', "Cocoa", 20); +testBoth(cocoa, ' ', null, 20); + +var multibyte = /ココア/; +multibyte.lastIndex = 20; +testBoth(multibyte, 'ココア', 'ココア', 20); +testBoth(multibyte, ' Cocoa', null, 20); +testBoth(multibyte, 'カプチーノ', null, 20); + +function alwaysUnmatch(string) { + return null; +} + +var regexp = new RegExp('ココア'); +regexp[Symbol.match] = alwaysUnmatch; +shouldBe(regexp[Symbol.match], alwaysUnmatch); +testBoth(regexp, 'ココア', null, 0); diff --git a/implementation-contributed/javascriptcore/stress/regexp-matches-array-bad-time.js b/implementation-contributed/javascriptcore/stress/regexp-matches-array-bad-time.js new file mode 100644 index 0000000000..538e6f7a12 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-matches-array-bad-time.js @@ -0,0 +1,19 @@ +(function() { + var count = 11; + + var array; + for (var i = 0; i < 10000; ++i) { + array = /foo/.exec("foo"); + if (array[0] != "foo") + throw "Error: bad result: " + array[0]; + } + + delete array[0]; + + Array.prototype.__defineSetter__("0", function(value) { count += value; }); + + array[0] = 42; + if (count != 53) + throw "Error: bad count: " + count; +})(); + diff --git a/implementation-contributed/javascriptcore/stress/regexp-matches-array-slow-put.js b/implementation-contributed/javascriptcore/stress/regexp-matches-array-slow-put.js new file mode 100644 index 0000000000..b7a1fc1e6b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-matches-array-slow-put.js @@ -0,0 +1,15 @@ +(function() { + var count = 0; + Array.prototype.__defineSetter__("0", function(value) { count += value; }); + + for (var i = 0; i < 10000; ++i) { + var array = /foo/.exec("foo"); + if (array[0] != "foo") + throw "Error: bad result: " + array[0]; + delete array[0]; + array[0] = 42; + if (count != (i + 1) * 42) + throw "Error: bad count at i = " + i + ": " + count; + } +})(); + diff --git a/implementation-contributed/javascriptcore/stress/regexp-matches-array.js b/implementation-contributed/javascriptcore/stress/regexp-matches-array.js new file mode 100644 index 0000000000..6ccb27aa71 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-matches-array.js @@ -0,0 +1,14 @@ +function testArrayConcat() { + var array = 'abc'.match(/(a)(b)(c)/); + var result = array.concat(); + var expectedResult = ["abc", "a", "b", "c"]; + + if (result.length != 4) + throw new Error("Runtime array length is incorrect"); + for (var i = 0; i < result.length; i++) { + if (result[i] != expectedResult[i]) + throw new Error("Runtime array concat result is incorrect"); + } +}; + +testArrayConcat(); diff --git a/implementation-contributed/javascriptcore/stress/regexp-prototype-exec-on-too-long-rope.js b/implementation-contributed/javascriptcore/stress/regexp-prototype-exec-on-too-long-rope.js new file mode 100644 index 0000000000..a999a63844 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-prototype-exec-on-too-long-rope.js @@ -0,0 +1,33 @@ +// Skip this test because it's slow and it tests a very narrow condition. +//@ skip + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +s0 = ""; +s1 = "NaNxxxxx"; + +try { + for (var count = 0; count < 27; count++) { + var oldS1 = s1; + s1 += s1; + s0 = oldS1; + } +} catch (e) { } + +try { + s1 += s0; +} catch (e) { } + +var exception; +try { + /x/.exec(s1); +} catch (e) { + exception = e; +} + +shouldEqual(exception, "Error: Out of memory"); + diff --git a/implementation-contributed/javascriptcore/stress/regexp-prototype-match-on-too-long-rope.js b/implementation-contributed/javascriptcore/stress/regexp-prototype-match-on-too-long-rope.js new file mode 100644 index 0000000000..4a4b061a90 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-prototype-match-on-too-long-rope.js @@ -0,0 +1,33 @@ +// Skip this test because it's slow and it tests a very narrow condition. +//@ skip + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +s0 = ""; +s1 = "NaNxxxxx"; + +try { + for (var count = 0; count < 27; count++) { + var oldS1 = s1; + s1 += s1; + s0 = oldS1; + } +} catch (e) { } + +try { + s1 += s0; +} catch (e) { } + +var exception; +try { + /x/[Symbol.match](s1); +} catch (e) { + exception = e; +} + +shouldEqual(exception, "Error: Out of memory"); + diff --git a/implementation-contributed/javascriptcore/stress/regexp-prototype-replace-builtin-should-not-use-for-of.js b/implementation-contributed/javascriptcore/stress/regexp-prototype-replace-builtin-should-not-use-for-of.js new file mode 100644 index 0000000000..5248f7f35a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-prototype-replace-builtin-should-not-use-for-of.js @@ -0,0 +1,6 @@ +Array.prototype[Symbol.iterator] = function() { + throw new Error("Bad, this should not be called!"); +} + +let regexp = /(foo)/; +regexp[Symbol.replace]("foo", "bar"); diff --git a/implementation-contributed/javascriptcore/stress/regexp-prototype-test-on-too-long-rope.js b/implementation-contributed/javascriptcore/stress/regexp-prototype-test-on-too-long-rope.js new file mode 100644 index 0000000000..f3788f83f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-prototype-test-on-too-long-rope.js @@ -0,0 +1,33 @@ +// Skip this test because it's slow and it tests a very narrow condition. +//@ skip + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +s0 = ""; +s1 = "NaNxxxxx"; + +try { + for (var count = 0; count < 27; count++) { + var oldS1 = s1; + s1 += s1; + s0 = oldS1; + } +} catch (e) { } + +try { + s1 += s0; +} catch (e) { } + +var exception; +try { + /x/.test(s1); +} catch (e) { + exception = e; +} + +shouldEqual(exception, "Error: Out of memory"); + diff --git a/implementation-contributed/javascriptcore/stress/regexp-prototype-tostring.js b/implementation-contributed/javascriptcore/stress/regexp-prototype-tostring.js new file mode 100644 index 0000000000..ae12e937cb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-prototype-tostring.js @@ -0,0 +1,90 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion") +} +function test(f) { + for (let i = 0; i < 100; i++) + f(); +} + +test(function() { + var get = []; + var p = new Proxy({}, { get: function(o, k) { get.push(k); return o[k]; }}); + RegExp.prototype.toString.call(p); + assert(get + '' === "source,flags"); +}); + +test(function() { + let handler = { + get: function(o, propName) { + switch(propName) { + case 'source': + return "foobar"; + case 'flags': + return "whatever"; + default: + assert(false, "should not be reached"); + } + } + } + let proxy = new Proxy({}, handler); + let result = RegExp.prototype.toString.call(proxy); + assert(result === "/foobar/whatever"); +}); + +test(function() { + let handler = { + get: function(o, propName) { + switch(propName) { + case 'source': + return "hello"; + case 'flags': + return "y"; + default: + assert(false, "should not be reached"); + } + } + } + + let proxy = new Proxy({}, handler); + let result = RegExp.prototype.toString.call(proxy); + assert(result === "/hello/y"); +}); + +test(function() { + let error = null; + let obj = { + get flags() { + error = new Error; + throw error; + } + } + + let threw = false; + try { + RegExp.prototype.toString.call(obj); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); +}); + +test(function() { + let error = null; + let obj = { + get source() { + error = new Error; + throw error; + } + } + + let threw = false; + try { + RegExp.prototype.toString.call(obj); + } catch(e) { + assert(e === error); + threw = true; + } + assert(threw); +}); diff --git a/implementation-contributed/javascriptcore/stress/regexp-replace-in-other-realm-should-work.js b/implementation-contributed/javascriptcore/stress/regexp-replace-in-other-realm-should-work.js new file mode 100644 index 0000000000..0e8cc5db02 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-replace-in-other-realm-should-work.js @@ -0,0 +1,10 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +var regexp = /Hello/; +var string = "Hello"; +var otherRealm = createGlobalObject(); +shouldBe(otherRealm.RegExp.prototype[Symbol.replace].call(regexp, string, "OK"), "OK") + diff --git a/implementation-contributed/javascriptcore/stress/regexp-replace-proxy.js b/implementation-contributed/javascriptcore/stress/regexp-replace-proxy.js new file mode 100644 index 0000000000..8346c5ccd0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-replace-proxy.js @@ -0,0 +1,154 @@ +function assert(assertion) { + if (typeof assertion != "string") + throw new Error("Invalid assertion."); + + let result = eval(assertion); + + if (!result) + throw new Error("Bad assertion: " + assertion); +} + +let get = []; +let getSet = []; + +function resetTracking() +{ + get = []; + getSet = []; +} + +let getProxyNullExec = new Proxy({ + exec: function() + { + return null; + } + }, { + get: function(o, k) + { + get.push(k); return o[k]; + } + }); + +resetTracking(); +RegExp.prototype[Symbol.replace].call(getProxyNullExec); +assert('get == "global,exec"'); + +let getSetProxyNullExec = new Proxy( + { + exec: function() + { + return null; + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + return o[k]; + }, + set: function(o, k, v) + { + getSet.push(k); + o[k] = v; + } + }); + +getSetProxyNullExec.global = true; + +resetTracking(); +RegExp.prototype[Symbol.replace].call(getSetProxyNullExec); +assert('get == "global,unicode,exec"'); +assert('getSet == "global,unicode,lastIndex,exec"'); + +let regExpGlobal_comma = new RegExp(",", "g"); +let getSetProxyMatches_comma = new Proxy( + { + exec: function(string) + { + return regExpGlobal_comma.exec(string); + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + return o[k]; + }, + set: function(o, k, v) + { + getSet.push(k); + o[k] = v; + } + }); + +getSetProxyMatches_comma.global = true; +resetTracking(); +let replaceResult = RegExp.prototype[Symbol.replace].call(getSetProxyMatches_comma, "John,,Doe,121 Main St.,Anytown", ":"); +assert('replaceResult == "John::Doe:121 Main St.:Anytown"'); +assert('get == "global,unicode,exec,exec,exec,exec,exec"'); +assert('getSet == "global,unicode,lastIndex,exec,exec,exec,exec,exec"'); + +let regExp_phoneNumber = new RegExp("(\\d{3})(\\d{3})(\\d{4})", ""); +let getSetProxyReplace_phoneNumber = new Proxy( + { + exec: function(string) + { + return regExp_phoneNumber.exec(string); + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + if (k.toString() == "lastIndex") + return regExpGlobal_phoneNumber.lastIndex; + return o[k]; + }, + set: function(o, k, v) + { + getSet.push(k); + if (k.toString() == "lastIndex") + regExp_phoneNumber.lastIndex = v; + o[k] = v; + } + }); + +resetTracking(); +replaceResult = RegExp.prototype[Symbol.replace].call(getSetProxyReplace_phoneNumber, "8005551212", "$1-$2-$3"); +assert('replaceResult == "800-555-1212"'); +assert('get == "global,exec"'); +assert('getSet == "global,exec"'); + +let regExpGlobalUnicode_digit_nonGreedy = new RegExp("\\d{0,1}", "gu"); +let getSetProxyReplaceUnicode_digit_nonGreedy = new Proxy( + { + exec: function(string) + { + return regExpGlobalUnicode_digit_nonGreedy.exec(string); + } + }, { + get: function(o, k) + { + get.push(k); + getSet.push(k); + if (k.toString() == "lastIndex") + return regExpGlobalUnicode_digit_nonGreedy.lastIndex; + return o[k]; + }, + set: function(o, k, v) + { + getSet.push(k); + if (k.toString() == "lastIndex") + regExpGlobalUnicode_digit_nonGreedy.lastIndex = v; + o[k] = v; + } + }); + +getSetProxyReplaceUnicode_digit_nonGreedy.global = true; +getSetProxyReplaceUnicode_digit_nonGreedy.unicode = true; + +resetTracking(); +replaceResult = RegExp.prototype[Symbol.replace].call(getSetProxyReplaceUnicode_digit_nonGreedy, "12X3\u{10400}4", "[$&]"); +assert('replaceResult == "[1][2][]X[3][]\u{10400}[4][]"'); +assert('get == "global,unicode,exec,exec,exec,lastIndex,exec,exec,lastIndex,exec,exec,lastIndex,exec"'); +assert('getSet == "global,unicode,lastIndex,exec,exec,exec,lastIndex,lastIndex,exec,exec,lastIndex,lastIndex,exec,exec,lastIndex,lastIndex,exec"'); diff --git a/implementation-contributed/javascriptcore/stress/regexp-replace-should-work-with-objects-not-inheriting-object-prototype.js b/implementation-contributed/javascriptcore/stress/regexp-replace-should-work-with-objects-not-inheriting-object-prototype.js new file mode 100644 index 0000000000..6a178250c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-replace-should-work-with-objects-not-inheriting-object-prototype.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} +var regexp = Object.create(null); +regexp.reg = /Hello/; +regexp.exec = function (value) { + return regexp.reg.exec(value); +}; +var string = "Hello"; +shouldBe(RegExp.prototype[Symbol.replace].call(regexp, string, "OK"), "OK") diff --git a/implementation-contributed/javascriptcore/stress/regexp-search.js b/implementation-contributed/javascriptcore/stress/regexp-search.js new file mode 100644 index 0000000000..1e2ac1a70a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-search.js @@ -0,0 +1,104 @@ + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, expected) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error('not thrown'); + shouldBe(String(error), expected); +} + +var errorKey = { + toString() { + throw new Error('out'); + } +}; +var string = 'Cocoa, Cappuccino, Rize, Matcha, Kilimanjaro'; + +shouldThrow(function () { + String.prototype.search.call(null, /Cocoa/); +}, "TypeError: String.prototype.search requires that |this| not be null or undefined"); + +shouldThrow(function () { + String.prototype.search.call(undefined, /Cocoa/); +}, "TypeError: String.prototype.search requires that |this| not be null or undefined"); + +shouldThrow(function () { + string.search(errorKey); +}, "Error: out"); + +shouldBe('Cocoa'.search(/Cocoa/), 0); + +shouldBe(string.search(/Rize/), 19); +shouldBe(string.search('Rize'), 19); +shouldBe(string.search(/Matcha/), 25); +shouldBe(string.search('Matcha'), 25); + +shouldBe(' undefined'.search(), 0); +shouldBe(' undefined'.search('undefined'), 4); + +shouldBe((/Cocoa/)[Symbol.search]('Cocoa'), 0); + +var primitives = [ + '', + 'string', + null, + undefined, + 42, + Symbol('Cocoa'), +]; + +for (var primitive of primitives) { + shouldThrow(function () { + RegExp.prototype[Symbol.search].call(primitive) + }, 'TypeError: RegExp.prototype.@@search requires that |this| be an Object'); +} + +shouldThrow(function () { + /Cocoa/[Symbol.search](errorKey); +}, "Error: out"); + + +function testRegExpSearch(regexp, string, result, lastIndex) { + shouldBe(regexp[Symbol.search](string), result); + shouldBe(regexp.lastIndex, lastIndex); +} + +function testSearch(regexp, string, result, lastIndex) { + shouldBe(string.search(regexp), result); + shouldBe(regexp.lastIndex, lastIndex); +} + +function testBoth(regexp, string, result, lastIndex) { + testSearch(regexp, string, result, lastIndex); + testRegExpSearch(regexp, string, result, lastIndex); +} + +var cocoa = /Cocoa/; +cocoa.lastIndex = 20; +testBoth(cocoa, 'Cocoa', 0, 20); +testBoth(cocoa, ' Cocoa', 2, 20); +testBoth(cocoa, ' ', -1, 20); + +var multibyte = /ココア/; +multibyte.lastIndex = 20; +testBoth(multibyte, 'ココア', 0, 20); +testBoth(multibyte, ' Cocoa', -1, 20); +testBoth(multibyte, 'カプチーノ', -1, 20); + +function alwaysUnmatch(string) { + return -1; +} + +var regexp = new RegExp('ココア'); +regexp[Symbol.search] = alwaysUnmatch; +shouldBe(regexp[Symbol.search], alwaysUnmatch); +testBoth(regexp, 'ココア', -1, 0); diff --git a/implementation-contributed/javascriptcore/stress/regexp-syntax-error-invalid-flags.js b/implementation-contributed/javascriptcore/stress/regexp-syntax-error-invalid-flags.js new file mode 100644 index 0000000000..a4961baecc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-syntax-error-invalid-flags.js @@ -0,0 +1,23 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function test() +{ + return /Hello/cocoa; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldThrow(test, `SyntaxError: Invalid regular expression: invalid flags`); diff --git a/implementation-contributed/javascriptcore/stress/regexp-with-runtime-syntax-errors.js b/implementation-contributed/javascriptcore/stress/regexp-with-runtime-syntax-errors.js new file mode 100644 index 0000000000..3321a310d6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regexp-with-runtime-syntax-errors.js @@ -0,0 +1,66 @@ +// This test checks that malformed regular expressions compiled at runtime throw SyntaxErrors + +function testThrowsSyntaxtError(f) +{ + try { + f(); + } catch (e) { + if (!e instanceof SyntaxError) + throw "Expected SynteaxError, but got: " + e; + } +} + +function fromExecWithBadUnicodeEscape() +{ + let baseRE = /\u{123x}/; + let line = "abc"; + + (new RegExp(baseRE, "u")).exec(line); +} + +function fromTestWithBadUnicodeProperty() +{ + let baseRE = /a|\p{Blah}/; + let line = "abc"; + + (new RegExp(baseRE, "u")).test(line); +} + +function fromSplitWithBadUnicodeIdentity() +{ + let baseRE = /,|:|\-/; + let line = "abc:def-ghi"; + + let fields = line.split(new RegExp(baseRE, "u")); +} + +function fromMatchWithBadUnicodeBackReference() +{ + let baseRE = /\123/; + let line = "xyz"; + + let fields = line.match(new RegExp(baseRE, "u")); +} + +function fromReplaceWithBadUnicodeEscape() +{ + let baseRE = /\%/; + let line = "xyz"; + + let fields = line.replace(new RegExp(baseRE, "u"), "x"); +} + +function fromSearchWithBadUnicodeEscape() +{ + let baseRE = /\=/; + let line = "xyz"; + + let fields = line.search(new RegExp(baseRE, "u")); +} + +testThrowsSyntaxtError(fromExecWithBadUnicodeEscape); +testThrowsSyntaxtError(fromTestWithBadUnicodeProperty); +testThrowsSyntaxtError(fromSplitWithBadUnicodeIdentity); +testThrowsSyntaxtError(fromMatchWithBadUnicodeBackReference); +testThrowsSyntaxtError(fromReplaceWithBadUnicodeEscape); +testThrowsSyntaxtError(fromSearchWithBadUnicodeEscape); diff --git a/implementation-contributed/javascriptcore/stress/regress-132147.js b/implementation-contributed/javascriptcore/stress/regress-132147.js new file mode 100644 index 0000000000..0073dd5ec0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-132147.js @@ -0,0 +1,28 @@ +var foo = function(a, b, count) { + a = a | 0; + b = b | 0; + + if (false) { + return 1; + } else { + a = a & 0xff00; + b = b & 0x00ff; + + orA = a | 0xff00; + xorB = b ^ 0xff; + } + + return orA | xorB; +}; + +var argA = 0; +var argB = 0x22; +var result = 0; + +noInline(foo) + +for (i = 0; i < 100000; i++) + result = result | foo(argA, argB, 4) + +if (result != 0xffdd) + throw new Error("Incorrect result!"); diff --git a/implementation-contributed/javascriptcore/stress/regress-135155.js b/implementation-contributed/javascriptcore/stress/regress-135155.js new file mode 100644 index 0000000000..4b3224749d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-135155.js @@ -0,0 +1,9 @@ +function run() { + for (var t = 1, i = 0; i < 10000; t++, i++) { + t.length = function() { + var foo = iv.charCodeAt(foo, undefined); + }; + } +} + +run(); diff --git a/implementation-contributed/javascriptcore/stress/regress-141489.js b/implementation-contributed/javascriptcore/stress/regress-141489.js new file mode 100644 index 0000000000..bbca89c9b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-141489.js @@ -0,0 +1,34 @@ +// this test checks that register r9 is not a callee save on ios armv7. +function ident(a) { + return a; +} + +function foo(array,obj) { + var a = array[0]; + var b = array[1]; + var c = array[2]; + obj.a = array; + obj.b = array; + obj.c = array; + obj.d = array; + obj.e = array; + obj.f = array; + obj.h = array; + return a(b(c(10))); +} +noInline(foo); + +var arr = [ident,ident,ident]; + +for (var i = 0; i < 100; i++) { + var obj = {}; + for (var j = 0; j < 200; j ++) { + obj["j"+j] = i; + } + foo(arr, obj); +} + +for (var i = 0; i < 100; i++) { + var obj = {}; + foo(arr, obj); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/regress-141883.js b/implementation-contributed/javascriptcore/stress/regress-141883.js new file mode 100644 index 0000000000..8af17195d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-141883.js @@ -0,0 +1,15 @@ +// This test is taken almost literally from the bug report: https://bugs.webkit.org/show_bug.cgi?id=141883. +// The only change is to use a loop bound of 1e4 instead of 1e5 to make the test run faster. This +// change still caused a reliable crash in every optimizing JIT configuration prior to the fix. + +(function() { +var b=!2; +var n = 1e4; +for(i = 0; i< n; i++) { +b[b=this]; +for (var i = 0; i < n; i++) { + if (a = b*3) { + } +} +} +})() diff --git a/implementation-contributed/javascriptcore/stress/regress-148564.js b/implementation-contributed/javascriptcore/stress/regress-148564.js new file mode 100644 index 0000000000..52675b87f4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-148564.js @@ -0,0 +1,72 @@ +//@ runNoCJITNoAccessInlining + +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=148542 +// +// In order to manifest, the bug being tested requires all these conditions to be true: +// 1. A put operation must not being optimized by the DFG into a PutByOffset. +// It needs to be a PutById node instead so that it will use the inline cache. +// This is satisfied by using the --useAccessInlining=false option above. +// +// 2. The PutById's execution must go through its transition stub. +// +// 3. In the transition stub, the object being put into must require a reallocation of its +// storage butterfly. This causes the stub to generate code to save some registers. +// +// 4. The transition stub needs to call the slow path for flushing the heap write barrier +// buffer. +// +// 5. The caller of the test must not be DFG compiled. This was not a strictly needed +// condition of the bug, but allowing the caller to compile seems to interfere with +// our method below of achieving condition 3. +// +// With the bug fixed, this test should not crash. + +var val = { a: 5, b: 10 } + +function test(obj, val, j, x, y, z) { + obj.a = val.a; // PutById after GetById + if (val.b) // GetById to access val in a register again. + val.b++; +} + +noInline(test); + +function runTest() { + for (var j = 0; j < 50; j++) { + var objs = []; + + let numberOfObjects = 200; + for (var k = 0; k < numberOfObjects; k++) { + var obj = { }; + + // Condition 3. + // Fuzzing the amount of property storage used so that we can get the + // repatch stub generator to resize the object out of line storage, and + // create more register pressure to do that work. This in turn causes it to + // need to preserve registers on the stack. + var numInitialProps = j % 20; + for (var i = 0; i < numInitialProps; i++) + obj["i" + i] = i; + + objs[k] = obj; + } + + // Condition 4. + // Put all the objects in the GC's oldGen so that we can exercise the write + // barrier when we exercise the PutById. + gc(); + + for (var k = 0; k < numberOfObjects; k++) { + // Condition 2. + // Eventually, the IC will converge on the slow path. Need to gc() + // periodically to repatch anew. + if (k % 97 == 1 && j % 5 == 1) + gc(); + + test(objs[k], val, j); + } + } +} + +noDFG(runTest); // Condition 5. +runTest(); diff --git a/implementation-contributed/javascriptcore/stress/regress-150532.js b/implementation-contributed/javascriptcore/stress/regress-150532.js new file mode 100644 index 0000000000..d8f6b28b2c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-150532.js @@ -0,0 +1,43 @@ +// Makes sure we don't use base's tag register on 32-bit when an inline cache fails and jumps to the slow path +// because the slow path depends on the base being present. + +var createCustomGetterObject = $vm.createCustomGetterObject; + +function assert(b) { + if (!b) + throw new Error("baddd"); +} +noInline(assert); + +let customGetter = createCustomGetterObject(); +let otherObj = { + customGetter: 20 +}; +function randomFunction() {} +noInline(randomFunction); + +function foo(o, c) { + let baz = o.customGetter; + if (c) { + o = 42; + } + let jaz = o.foo; + let kaz = jaz + "hey"; + let raz = kaz + "hey"; + let result = o.customGetter; + randomFunction(!c, baz, jaz, kaz, raz); + return result; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + switch (i % 2) { + case 0: + assert(foo(customGetter) === 100); + break; + case 1: + assert(foo(otherObj) === 20); + break; + } +} +assert(foo({hello: 20, world:50, customGetter: 40}) === 40); // Make sure we don't trample registers in "o.customGetter" inline cache failure in foo. diff --git a/implementation-contributed/javascriptcore/stress/regress-151324.js b/implementation-contributed/javascriptcore/stress/regress-151324.js new file mode 100644 index 0000000000..cf5c6f6a1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-151324.js @@ -0,0 +1,1700 @@ +load('./resources/standalone-pre.js'); + +shouldThrow(`InspectorFrontendAPI.dispatchMessageAsync({ + "method":"Timeline.eventRecorded", + "params":{ + "record":{ + "startTime":0.4574042089516297, + "data":{ + + }, + "children":[ + { + "startTime":0.45765518594998866, + "frameId":"0.1", + "data":{ + "type":"unload" + }, + "children":[ + { + "startTime":0.45767247199546546, + "frameId":"0.1", + "data":{ + "type":"unload" + }, + "children":[ + { + "startTime":0.4577469859505072, + "frameId":"0.1", + "data":{ + "scriptName":"http://bogojoker.com/shell/js/jquery.js", + "scriptLine":25, + "profile":{ + "rootNodes":[ + { + "id":10666325, + "callInfo":{ + "callCount":1, + "startTime":0.4600456530461088, + "endTime":0.5723258559592068, + "totalTime":0.11228020291309804 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":11278, + "children":[ + { + "id":9047718, + "callInfo":{ + "callCount":1, + "startTime":0.4602741169510409, + "endTime":0.5723157339962199, + "totalTime":0.11204161704517901 + }, + "functionName":"handle", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":1710, + "children":[ + { + "id":4202292, + "callInfo":{ + "callCount":1, + "startTime":0.46182347903959453, + "endTime":0.46567703399341553, + "totalTime":0.0038535549538210034 + }, + "functionName":"fix", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":2250, + "children":[ + { + "id":10521023, + "callInfo":{ + "callCount":1, + "startTime":0.4640483419643715, + "endTime":0.46420134196523577, + "totalTime":0.00015300000086426735 + }, + "functionName":"split" + } + ] + }, + { + "id":10521023, + "callInfo":{ + "callCount":1, + "startTime":0.46569668501615524, + "endTime":0.4657133989967406, + "totalTime":0.000016713980585336685 + }, + "functionName":"split" + }, + { + "id":14911479, + "callInfo":{ + "callCount":1, + "startTime":0.4657505040522665, + "endTime":0.4665822129463777, + "totalTime":0.0008317088941112161 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":10326340, + "callInfo":{ + "callCount":1, + "startTime":0.4666974269784987, + "endTime":0.5723000540165231, + "totalTime":0.10560262703802437 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5202, + "children":[ + { + "id":11633846, + "callInfo":{ + "callCount":1, + "startTime":0.46711588103789836, + "endTime":0.47081808699294925, + "totalTime":0.0037022059550508857 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":1, + "startTime":0.4674249020172283, + "endTime":0.4708091530483216, + "totalTime":0.0033842510310932994 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283, + "children":[ + { + "id":4233234, + "callInfo":{ + "callCount":1, + "startTime":0.4688438760349527, + "endTime":0.46978856704663485, + "totalTime":0.0009446910116821527 + }, + "functionName":"isFunction", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":18, + "columnNumber":1024, + "children":[ + { + "id":10491348, + "callInfo":{ + "callCount":1, + "startTime":0.46960152103565633, + "endTime":0.4696109419455752, + "totalTime":0.0000094209099188447 + }, + "functionName":"valueOf" + }, + { + "id":16692393, + "callInfo":{ + "callCount":1, + "startTime":0.46964985702652484, + "endTime":0.46968269103672355, + "totalTime":0.00003283401019871235 + }, + "functionName":"toString" + }, + { + "id":2722971, + "callInfo":{ + "callCount":1, + "startTime":0.46969330694992095, + "endTime":0.4697769519407302, + "totalTime":0.0000836449908092618 + }, + "functionName":"test" + } + ] + }, + { + "id":11418222, + "callInfo":{ + "callCount":1, + "startTime":0.4698098510270938, + "endTime":0.47037055995315313, + "totalTime":0.0005607089260593057 + }, + "functionName":"makeArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":23, + "columnNumber":1405 + }, + { + "id":4289586, + "callInfo":{ + "callCount":1, + "startTime":0.47038226504810154, + "endTime":0.47079936298541725, + "totalTime":0.00041709793731570244 + }, + "functionName":"setArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":427, + "children":[ + { + "id":10262917, + "callInfo":{ + "callCount":1, + "startTime":0.47075928503181785, + "endTime":0.4707893270533532, + "totalTime":0.00003004202153533697 + }, + "functionName":"push" + } + ] + } + ] + } + ] + }, + { + "id":488105, + "callInfo":{ + "callCount":1, + "startTime":0.47083144600037485, + "endTime":0.4769594370154664, + "totalTime":0.006127991015091538 + }, + "functionName":"unbind", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5372, + "children":[ + { + "id":16235438, + "callInfo":{ + "callCount":1, + "startTime":0.471148986951448, + "endTime":0.47694955894257873, + "totalTime":0.00580057199113071 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":515, + "children":[ + { + "id":15419017, + "callInfo":{ + "callCount":1, + "startTime":0.47142826195340604, + "endTime":0.47693974093999714, + "totalTime":0.005511478986591101 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":9497284, + "callInfo":{ + "callCount":1, + "startTime":0.4730144899804145, + "endTime":0.4769267829833552, + "totalTime":0.003912293002940714 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5407, + "children":[ + { + "id":10024927, + "callInfo":{ + "callCount":1, + "startTime":0.4732826850377023, + "endTime":0.47690031595993787, + "totalTime":0.0036176309222355485 + }, + "functionName":"remove", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":11923, + "children":[ + { + "id":14911479, + "callInfo":{ + "callCount":1, + "startTime":0.47489556402433664, + "endTime":0.4749327319441363, + "totalTime":0.00003716791979968548 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":10521023, + "callInfo":{ + "callCount":1, + "startTime":0.47496555594261736, + "endTime":0.47498407296370715, + "totalTime":0.00001851702108979225 + }, + "functionName":"split" + }, + { + "id":15419017, + "callInfo":{ + "callCount":1, + "startTime":0.47499843896366656, + "endTime":0.4768601800315082, + "totalTime":0.001861741067841649 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":11810108, + "callInfo":{ + "callCount":1, + "startTime":0.47504206001758575, + "endTime":0.47683112300001085, + "totalTime":0.0017890629824250937 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":12273, + "children":[ + { + "id":10521023, + "callInfo":{ + "callCount":1, + "startTime":0.4764995139557868, + "endTime":0.4765173509949818, + "totalTime":0.000017837039195001125 + }, + "functionName":"split" + }, + { + "id":14911479, + "callInfo":{ + "callCount":1, + "startTime":0.4766902349656448, + "endTime":0.47672319202683866, + "totalTime":0.00003295706119388342 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":13528547, + "callInfo":{ + "callCount":1, + "startTime":0.4767302969703451, + "endTime":0.47679690702352673, + "totalTime":0.00006661005318164825 + }, + "functionName":"removeEventListener" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id":11938226, + "callInfo":{ + "callCount":1, + "startTime":0.4769882570253685, + "endTime":0.5722886399598792, + "totalTime":0.09530038293451071 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":27, + "columnNumber":1877, + "children":[ + { + "id":11633846, + "callInfo":{ + "callCount":1, + "startTime":0.4773472750093788, + "endTime":0.4885393399745226, + "totalTime":0.0111920649651438 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":1, + "startTime":0.47737314202822745, + "endTime":0.48852962302044034, + "totalTime":0.011156480992212892 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283, + "children":[ + { + "id":12623361, + "callInfo":{ + "callCount":1, + "startTime":0.47739895700942725, + "endTime":0.477487865020521, + "totalTime":0.0000889080110937357 + }, + "functionName":"exec" + }, + { + "id":11633846, + "callInfo":{ + "callCount":1, + "startTime":0.47750373696908355, + "endTime":0.47760105098132044, + "totalTime":0.00009731401223689318 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":1, + "startTime":0.47752914403099567, + "endTime":0.4775912419427186, + "totalTime":0.00006209791172295809 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283 + } + ] + }, + { + "id":6695340, + "callInfo":{ + "callCount":1, + "startTime":0.47761483397334814, + "endTime":0.48851928603835404, + "totalTime":0.010904452065005898 + }, + "functionName":"find", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":2421, + "children":[ + { + "id":16700220, + "callInfo":{ + "callCount":1, + "startTime":0.47815056005492806, + "endTime":0.48736846703104675, + "totalTime":0.009217906976118684 + }, + "functionName":"map", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":426, + "children":[ + { + "id":6556246, + "callInfo":{ + "callCount":1, + "startTime":0.4788244169903919, + "endTime":0.48721889895386994, + "totalTime":0.008394481963478029 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":2466, + "children":[ + { + "id":10111157, + "callInfo":{ + "callCount":1, + "startTime":0.4791237829485908, + "endTime":0.4872086669784039, + "totalTime":0.00808488402981311 + }, + "functionName":"find", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":6583, + "children":[ + { + "id":4146357, + "callInfo":{ + "callCount":1, + "startTime":0.4843939649872482, + "endTime":0.48479653301183134, + "totalTime":0.0004025680245831609 + }, + "functionName":"trim", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":23, + "columnNumber":1336, + "children":[ + { + "id":14946989, + "callInfo":{ + "callCount":1, + "startTime":0.4847100869519636, + "endTime":0.48478551500011235, + "totalTime":0.00007542804814875126 + }, + "functionName":"replace" + } + ] + }, + { + "id":12623361, + "callInfo":{ + "callCount":4, + "startTime":0.48481361102312803, + "endTime":0.4851868849946186, + "totalTime":0.00029874895699322224 + }, + "functionName":"exec" + }, + { + "id":15678801, + "callInfo":{ + "callCount":1, + "startTime":0.48498469195328653, + "endTime":0.4849950469797477, + "totalTime":0.000010355026461184025 + }, + "functionName":"indexOf" + }, + { + "id":14946989, + "callInfo":{ + "callCount":2, + "startTime":0.4852056399686262, + "endTime":0.48676540004089475, + "totalTime":0.00006531213875859976 + }, + "functionName":"replace" + }, + { + "id":8888104, + "callInfo":{ + "callCount":1, + "startTime":0.4853037269786, + "endTime":0.4853140809573233, + "totalTime":0.000010353978723287582 + }, + "functionName":"toLowerCase" + }, + { + "id":15667683, + "callInfo":{ + "callCount":1, + "startTime":0.48533563304226846, + "endTime":0.4853546470403671, + "totalTime":0.000019013998098671436 + }, + "functionName":"getElementsByTagName" + }, + { + "id":13439957, + "callInfo":{ + "callCount":2, + "startTime":0.4853657509665936, + "endTime":0.4871977570001036, + "totalTime":0.0017730630934238434 + }, + "functionName":"merge", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":24, + "columnNumber":168 + } + ] + } + ] + }, + { + "id":10650488, + "callInfo":{ + "callCount":1, + "startTime":0.487244653981179, + "endTime":0.48735911201220006, + "totalTime":0.00011445803102105856 + }, + "functionName":"concat" + } + ] + }, + { + "id":2722971, + "callInfo":{ + "callCount":1, + "startTime":0.487386625027284, + "endTime":0.48743854300118983, + "totalTime":0.00005191797390580177 + }, + "functionName":"test" + }, + { + "id":15678801, + "callInfo":{ + "callCount":1, + "startTime":0.4874507150379941, + "endTime":0.4874597470043227, + "totalTime":0.00000903196632862091 + }, + "functionName":"indexOf" + }, + { + "id":8643473, + "callInfo":{ + "callCount":1, + "startTime":0.4874700449872762, + "endTime":0.48850960296113044, + "totalTime":0.0010395579738542438 + }, + "functionName":"pushStack", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":347, + "children":[ + { + "id":11633846, + "callInfo":{ + "callCount":1, + "startTime":0.4877791110193357, + "endTime":0.48846802301704884, + "totalTime":0.0006889119977131486 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":1, + "startTime":0.48780164995696396, + "endTime":0.4884582340018824, + "totalTime":0.0006565840449184179 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283, + "children":[ + { + "id":4233234, + "callInfo":{ + "callCount":1, + "startTime":0.4878246319713071, + "endTime":0.48785160097759217, + "totalTime":0.000026969006285071373 + }, + "functionName":"isFunction", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":18, + "columnNumber":1024 + }, + { + "id":11418222, + "callInfo":{ + "callCount":1, + "startTime":0.4878640250535682, + "endTime":0.48823340400122106, + "totalTime":0.0003693789476528764 + }, + "functionName":"makeArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":23, + "columnNumber":1405 + }, + { + "id":4289586, + "callInfo":{ + "callCount":1, + "startTime":0.48824399698060006, + "endTime":0.4884476319421083, + "totalTime":0.00020363496150821447 + }, + "functionName":"setArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":427, + "children":[ + { + "id":10262917, + "callInfo":{ + "callCount":1, + "startTime":0.48826338397338986, + "endTime":0.4884373639943078, + "totalTime":0.00017398002091795206 + }, + "functionName":"push" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id":13091494, + "callInfo":{ + "callCount":1, + "startTime":0.48855383903719485, + "endTime":0.5076191630214453, + "totalTime":0.019065323984250426 + }, + "functionName":"add", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":14, + "columnNumber":250, + "children":[ + { + "id":9004706, + "callInfo":{ + "callCount":1, + "startTime":0.4890042010229081, + "endTime":0.48967376397922635, + "totalTime":0.0006695629563182592 + }, + "functionName":"get", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":266, + "children":[ + { + "id":11418222, + "callInfo":{ + "callCount":1, + "startTime":0.48931563401129097, + "endTime":0.48966451501473784, + "totalTime":0.000348881003446877 + }, + "functionName":"makeArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":23, + "columnNumber":1405 + } + ] + }, + { + "id":11418222, + "callInfo":{ + "callCount":1, + "startTime":0.4896885330090299, + "endTime":0.48971870401874185, + "totalTime":0.000030171009711921215 + }, + "functionName":"makeArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":23, + "columnNumber":1405 + }, + { + "id":13439957, + "callInfo":{ + "callCount":1, + "startTime":0.48972829105332494, + "endTime":0.4897498949430883, + "totalTime":0.000021603889763355255 + }, + "functionName":"merge", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":24, + "columnNumber":168 + }, + { + "id":2759216, + "callInfo":{ + "callCount":1, + "startTime":0.4897593869827688, + "endTime":0.506864722003229, + "totalTime":0.01710533502046019 + }, + "functionName":"unique", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":72, + "children":[ + { + "id":14911479, + "callInfo":{ + "callCount":212, + "startTime":0.49046733195427805, + "endTime":0.506835420965217, + "totalTime":0.009655389352701604 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":10262917, + "callInfo":{ + "callCount":212, + "startTime":0.49055562098510563, + "endTime":0.5068554510362446, + "totalTime":0.001536340918391943 + }, + "functionName":"push" + } + ] + }, + { + "id":8643473, + "callInfo":{ + "callCount":1, + "startTime":0.5068748430348933, + "endTime":0.5076102019520476, + "totalTime":0.0007353589171543717 + }, + "functionName":"pushStack", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":347, + "children":[ + { + "id":11633846, + "callInfo":{ + "callCount":1, + "startTime":0.5068993769818917, + "endTime":0.5075981400441378, + "totalTime":0.0006987630622461438 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":1, + "startTime":0.5069203609600663, + "endTime":0.5075888170395046, + "totalTime":0.0006684560794383287 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283, + "children":[ + { + "id":4233234, + "callInfo":{ + "callCount":1, + "startTime":0.5069418509956449, + "endTime":0.5069665010087192, + "totalTime":0.00002465001307427883 + }, + "functionName":"isFunction", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":18, + "columnNumber":1024 + }, + { + "id":11418222, + "callInfo":{ + "callCount":1, + "startTime":0.5069789109984413, + "endTime":0.5073867529863492, + "totalTime":0.0004078419879078865 + }, + "functionName":"makeArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":23, + "columnNumber":1405 + }, + { + "id":4289586, + "callInfo":{ + "callCount":1, + "startTime":0.5073979030130431, + "endTime":0.5075787319801748, + "totalTime":0.0001808289671316743 + }, + "functionName":"setArray", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":427, + "children":[ + { + "id":10262917, + "callInfo":{ + "callCount":1, + "startTime":0.5074169930303469, + "endTime":0.5075692009413615, + "totalTime":0.00015220791101455688 + }, + "functionName":"push" + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id":488105, + "callInfo":{ + "callCount":1, + "startTime":0.5076321549713612, + "endTime":0.57227890600916, + "totalTime":0.06464675103779882 + }, + "functionName":"unbind", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5372, + "children":[ + { + "id":16235438, + "callInfo":{ + "callCount":1, + "startTime":0.5076667669927701, + "endTime":0.572270018979907, + "totalTime":0.0646032519871369 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":515, + "children":[ + { + "id":15419017, + "callInfo":{ + "callCount":1, + "startTime":0.5076878629624844, + "endTime":0.5722610909724608, + "totalTime":0.06457322800997645 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":9497284, + "callInfo":{ + "callCount":212, + "startTime":0.5077157670166343, + "endTime":0.5722492639906704, + "totalTime":0.06122412241529673 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5407, + "children":[ + { + "id":10024927, + "callInfo":{ + "callCount":212, + "startTime":0.5077362669399008, + "endTime":0.5722395799821243, + "totalTime":0.05579547712113708 + }, + "functionName":"remove", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":11923, + "children":[ + { + "id":14911479, + "callInfo":{ + "callCount":230, + "startTime":0.5077663060510531, + "endTime":0.5719964860472828, + "totalTime":0.005681783542968333 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":10024927, + "callInfo":{ + "callCount":32, + "startTime":0.5098302339902148, + "endTime":0.5719179699663073, + "totalTime":0.03613383590709418 + }, + "functionName":"remove", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":11923, + "children":[ + { + "id":14911479, + "callInfo":{ + "callCount":50, + "startTime":0.509867444052361, + "endTime":0.571639965986833, + "totalTime":0.0010316309053450823 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":7559434, + "callInfo":{ + "callCount":32, + "startTime":0.5099190620239824, + "endTime":0.5713644659845158, + "totalTime":0.00018110312521457672 + }, + "functionName":"charAt" + }, + { + "id":10521023, + "callInfo":{ + "callCount":32, + "startTime":0.5099465129896998, + "endTime":0.5713880989933386, + "totalTime":0.000504822819493711 + }, + "functionName":"split" + }, + { + "id":15419017, + "callInfo":{ + "callCount":32, + "startTime":0.5099760990124196, + "endTime":0.5715895700268447, + "totalTime":0.02507637918461114 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":11810108, + "callInfo":{ + "callCount":32, + "startTime":0.5100070700282231, + "endTime":0.5715776670258492, + "totalTime":0.023956994991749525 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":12273, + "children":[ + { + "id":10521023, + "callInfo":{ + "callCount":32, + "startTime":0.5100298100151122, + "endTime":0.5714387450134382, + "totalTime":0.0003970271209254861 + }, + "functionName":"split" + }, + { + "id":14911479, + "callInfo":{ + "callCount":6, + "startTime":0.5101313069462776, + "endTime":0.5715348520316184, + "totalTime":0.0001477630576118827 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":13528547, + "callInfo":{ + "callCount":6, + "startTime":0.5101638509659097, + "endTime":0.571557622984983, + "totalTime":0.0001082209637388587 + }, + "functionName":"removeEventListener" + }, + { + "id":1932713, + "callInfo":{ + "callCount":13, + "startTime":0.5170135640073568, + "endTime":0.5636187120107934, + "totalTime":0.007674403954297304 + }, + "functionName":"teardown", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":4267, + "children":[ + { + "id":11633846, + "callInfo":{ + "callCount":13, + "startTime":0.5173674599500373, + "endTime":0.5631630329880863, + "totalTime":0.0007915140595287085 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":13, + "startTime":0.5173888490535319, + "endTime":0.5631537339650095, + "totalTime":0.000419716932810843 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283 + } + ] + }, + { + "id":488105, + "callInfo":{ + "callCount":13, + "startTime":0.5174522290471941, + "endTime":0.5636094439541921, + "totalTime":0.006016437197104096 + }, + "functionName":"unbind", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5372, + "children":[ + { + "id":16235438, + "callInfo":{ + "callCount":13, + "startTime":0.5174769869772717, + "endTime":0.5636000350350514, + "totalTime":0.0056232352508232 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":515, + "children":[ + { + "id":15419017, + "callInfo":{ + "callCount":13, + "startTime":0.5174947320483625, + "endTime":0.5635905610397458, + "totalTime":0.005255497177131474 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":9497284, + "callInfo":{ + "callCount":13, + "startTime":0.5175209649605677, + "endTime":0.5635784750338644, + "totalTime":0.004808090161532164 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5407, + "children":[ + { + "id":10024927, + "callInfo":{ + "callCount":13, + "startTime":0.5175394839607179, + "endTime":0.5635684269946069, + "totalTime":0.004470365238375962 + }, + "functionName":"remove", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":11923, + "children":[ + { + "id":14911479, + "callInfo":{ + "callCount":13, + "startTime":0.5175549449631944, + "endTime":0.5632668699836358, + "totalTime":0.00022441917099058628 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":7559434, + "callInfo":{ + "callCount":13, + "startTime":0.5176310209790245, + "endTime":0.5632796649588272, + "totalTime":0.00007680489215999842 + }, + "functionName":"charAt" + }, + { + "id":10521023, + "callInfo":{ + "callCount":13, + "startTime":0.5177862700074911, + "endTime":0.5633019669912755, + "totalTime":0.00018701096996665 + }, + "functionName":"split" + }, + { + "id":15419017, + "callInfo":{ + "callCount":13, + "startTime":0.5178207469871268, + "endTime":0.5635312650119886, + "totalTime":0.0027500687865540385 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":11810108, + "callInfo":{ + "callCount":13, + "startTime":0.5178566400427371, + "endTime":0.5635183999547735, + "totalTime":0.0022494520526379347 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":12273, + "children":[ + { + "id":10521023, + "callInfo":{ + "callCount":13, + "startTime":0.5178755599772558, + "endTime":0.5633663949556649, + "totalTime":0.00015613273717463017 + }, + "functionName":"split" + }, + { + "id":14911479, + "callInfo":{ + "callCount":13, + "startTime":0.5179461860097945, + "endTime":0.5634484669426456, + "totalTime":0.00030205503571778536 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":13528547, + "callInfo":{ + "callCount":13, + "startTime":0.517973372945562, + "endTime":0.5634730849415064, + "totalTime":0.0002499391557648778 + }, + "functionName":"removeEventListener" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id":7516897, + "callInfo":{ + "callCount":13, + "startTime":0.5184197369962931, + "endTime":0.564691312960349, + "totalTime":0.009912022738717496 + }, + "functionName":"teardown", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":4700, + "children":[ + { + "id":11633846, + "callInfo":{ + "callCount":13, + "startTime":0.5188653949880973, + "endTime":0.5640319919912145, + "totalTime":0.0007843798957765102 + }, + "functionName":"$", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":93, + "children":[ + { + "id":11974810, + "callInfo":{ + "callCount":13, + "startTime":0.5188895519822836, + "endTime":0.5640219210181385, + "totalTime":0.0004164050333201885 + }, + "functionName":"init", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":11, + "columnNumber":283 + } + ] + }, + { + "id":488105, + "callInfo":{ + "callCount":13, + "startTime":0.5189610470551997, + "endTime":0.5646812729537487, + "totalTime":0.008086794055998325 + }, + "functionName":"unbind", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5372, + "children":[ + { + "id":16235438, + "callInfo":{ + "callCount":13, + "startTime":0.5189879050012678, + "endTime":0.5646517019486055, + "totalTime":0.0076663600048050284 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":12, + "columnNumber":515, + "children":[ + { + "id":15419017, + "callInfo":{ + "callCount":13, + "startTime":0.5190068449592218, + "endTime":0.5646408109460026, + "totalTime":0.007320980075746775 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":9497284, + "callInfo":{ + "callCount":13, + "startTime":0.5190380819840357, + "endTime":0.5646168040111661, + "totalTime":0.004754591034725308 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":26, + "columnNumber":5407, + "children":[ + { + "id":10024927, + "callInfo":{ + "callCount":13, + "startTime":0.5190725360298529, + "endTime":0.5646060470025986, + "totalTime":0.004371779155917466 + }, + "functionName":"remove", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":11923, + "children":[ + { + "id":14911479, + "callInfo":{ + "callCount":13, + "startTime":0.5190910790115595, + "endTime":0.5642198349814862, + "totalTime":0.00029840413480997086 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":7559434, + "callInfo":{ + "callCount":13, + "startTime":0.5191326700150967, + "endTime":0.5642341560451314, + "totalTime":0.00007180299144238234 + }, + "functionName":"charAt" + }, + { + "id":10521023, + "callInfo":{ + "callCount":13, + "startTime":0.5191488530253991, + "endTime":0.5642752950079739, + "totalTime":0.0001995321363210678 + }, + "functionName":"split" + }, + { + "id":15419017, + "callInfo":{ + "callCount":13, + "startTime":0.5191799569875002, + "endTime":0.5645474110497162, + "totalTime":0.002659469028003514 + }, + "functionName":"each", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":841, + "children":[ + { + "id":11810108, + "callInfo":{ + "callCount":13, + "startTime":0.5192120099673048, + "endTime":0.5645325899822637, + "totalTime":0.0021874881349503994 + }, + "functionName":"(anonymous function)", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":25, + "columnNumber":12273, + "children":[ + { + "id":10521023, + "callInfo":{ + "callCount":13, + "startTime":0.5192305189557374, + "endTime":0.5643490799702704, + "totalTime":0.0002011689357459545 + }, + "functionName":"split" + }, + { + "id":14911479, + "callInfo":{ + "callCount":13, + "startTime":0.5193049629451707, + "endTime":0.5644499149639159, + "totalTime":0.0002809580182656646 + }, + "functionName":"data", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":244 + }, + { + "id":13528547, + "callInfo":{ + "callCount":13, + "startTime":0.5193320829421282, + "endTime":0.5644753449596465, + "totalTime":0.0002735854359343648 + }, + "functionName":"removeEventListener" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "id":1551406, + "callInfo":{ + "callCount":36, + "startTime":0.5103220000164583, + "endTime":0.5719092530198395, + "totalTime":0.004639018443413079 + }, + "functionName":"removeData", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":501, + "children":[ + { + "id":1551406, + "callInfo":{ + "callCount":17, + "startTime":0.5113199719926342, + "endTime":0.5719003339763731, + "totalTime":0.0006783058634027839 + }, + "functionName":"removeData", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":501 + } + ] + } + ] + }, + { + "id":1551406, + "callInfo":{ + "callCount":36, + "startTime":0.511483859969303, + "endTime":0.5722305719973519, + "totalTime":0.0023077416699379683 + }, + "functionName":"removeData", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":501, + "children":[ + { + "id":1551406, + "callInfo":{ + "callCount":17, + "startTime":0.5115306000225246, + "endTime":0.5721727140480652, + "totalTime":0.0009444230236113071 + }, + "functionName":"removeData", + "url":"http://bogojoker.com/shell/js/jquery.js", + "lineNumber":19, + "columnNumber":501 + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + }, + "children":[ + + ], + "endTime":0.5747030830243602, + "type":"FunctionCall" + } + ], + "endTime":0.5747211320558563, + "type":"EventDispatch" + } + ], + "endTime":0.5747311169980094, + "type":"EventDispatch" + }, + { + "startTime":0.5919318459928036, + "frameId":"0.1", + "data":{ + + }, + "children":[ + + ], + "endTime":0.5923666310263798, + "type":"RecalculateStyles" + }, + { + "startTime":0.6193571890471503, + "frameId":"0.1", + "data":{ + + }, + "children":[ + + ], + "endTime":0.6194131550146267, + "type":"RecalculateStyles" + }, + { + "startTime":0.6195009789662436, + "data":{ + + }, + "frameId":"0.1", + "type":"ScheduleStyleRecalculation" + } + ], + "endTime":0.6323551860405132, + "type":"RenderingFrame" + } + } +})`, `new ReferenceError("Can't find variable: InspectorFrontendAPI").toString()`); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/regress-153486.js b/implementation-contributed/javascriptcore/stress/regress-153486.js new file mode 100644 index 0000000000..fa6837112e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-153486.js @@ -0,0 +1,48 @@ +// Check frozen Array.of and Array.from don't modify unwritable/unconfigurable entries. + +let totalFailed = 0; + +function shouldEqual(testId, iteration, actual, expected) { + if (actual != expected) { + throw "Test #" + testId + ", iteration " + iteration + ", ERROR: expected \"" + expected + "\", got \"" + actual + "\""; + } +} + +function makeUnwriteableUnconfigurableObject() +{ + return Object.defineProperty([], 0, {value: "frozen", writable: false, configurable: false}); +} + +function testArrayOf(obj) +{ + Array.of.call(function() { return obj; }, "no longer frozen"); +} + +noInline(testArrayOf); + +function testArrayFrom(obj) +{ + Array.from.call(function() { return obj; }, ["no longer frozen"]); +} + +noInline(testArrayFrom); + +let numIterations = 10000; + +function runTest(testId, test, sourceMaker, expectedException) { + for (var i = 0; i < numIterations; i++) { + var exception = "No exception"; + var obj = sourceMaker(); + + try { + test(obj); + } catch (e) { + exception = "" + e; + exception = exception.substr(0, 10); // Search for "TypeError:". + } + shouldEqual(testId, i, exception, expectedException); + } +} + +runTest(1, testArrayOf, makeUnwriteableUnconfigurableObject, "TypeError:"); +runTest(2, testArrayFrom, makeUnwriteableUnconfigurableObject, "TypeError:"); diff --git a/implementation-contributed/javascriptcore/stress/regress-153816.js b/implementation-contributed/javascriptcore/stress/regress-153816.js new file mode 100644 index 0000000000..81a11da1dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-153816.js @@ -0,0 +1,11 @@ +(function deleteSymbolFromJSSymbolTableObject(globalProxy) { + var symbolProperty = Symbol("test"); + + globalProxy[symbolProperty] = symbolProperty; + if (globalProxy[symbolProperty] !== symbolProperty) + throw new Error("bad value: " + String(globalProxy[symbolProperty])); + + delete globalProxy[symbolProperty]; + if (symbolProperty in globalProxy) + throw new Error("bad value: " + String(globalProxy[symbolProperty])); +})(this); diff --git a/implementation-contributed/javascriptcore/stress/regress-156765.js b/implementation-contributed/javascriptcore/stress/regress-156765.js new file mode 100644 index 0000000000..8255a596ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-156765.js @@ -0,0 +1,27 @@ +// Regression test for https://webkit.org/b/156765. This test should not hang. + +"use strict"; + +let forty = 40; + +function realValue() +{ + return forty + 2; +} + +var object = { + get hello() { + return realValue(); + } +}; + +function ok() { + var value = 'hello'; + if (object[value] + 20 !== 62) + throw new Error(); +} + +noInline(ok); + +for (var i = 0; i < 100000; ++i) + ok(); diff --git a/implementation-contributed/javascriptcore/stress/regress-156992.js b/implementation-contributed/javascriptcore/stress/regress-156992.js new file mode 100644 index 0000000000..1ceb6d9095 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-156992.js @@ -0,0 +1,35 @@ +// Verify that DFG TryGetById nodes properly save live registers. This test should not crash. + +var createBuiltin = $vm.createBuiltin; + +function tryMultipleGetByIds() { return '(function (base) { return @tryGetById(base, "value1") + @tryGetById(base, "value2") + @tryGetById(base, "value3"); })'; } + + +let get = createBuiltin(tryMultipleGetByIds()); +noInline(get); + +function test() { + let obj1 = { + value1: "Testing, ", + value2: "testing, ", + value3: "123", + expected: "Testing, testing, 123" + }; + let obj2 = { + extraFieldToMakeThisObjectDifferentThanObj1: 42, + value1: 20, + value2: 10, + value3: 12, + expected: 42 + }; + + let objects = [obj1, obj2]; + + for (let i = 0; i < 200000; i++) { + let obj = objects[i % 2]; + if (get(obj) !== obj.expected) + throw new Error("wrong on iteration: " + i); + } +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/regress-157322.js b/implementation-contributed/javascriptcore/stress/regress-157322.js new file mode 100644 index 0000000000..05284d822a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-157322.js @@ -0,0 +1,43 @@ +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=157322. This test should not crash. + +let fromArray = []; +let toArray = []; +let dummyArray = []; +let endObj1 = { + valueOf: function() { + let originalLength = fromArray.length; + fromArray.length = 1; + + dummyArray = new Float64Array(1000); + + return originalLength; + } +}; + +let endObj2 = { + valueOf: function() { + let originalLength = fromArray.length; + fromArray.length = 1; + + dummyArray = new Float64Array(1000); + + fromArray = []; + fromArray.length = originalLength; + + return originalLength; + } +}; + +let initialArray = []; +for (let i = 0; i < 8000; i++) + initialArray.push(i + 0.1); + +for (let loop = 0; loop < 1000; loop++) { + fromArray = initialArray.slice(0); + + let endObj = (loop % 2 == 1) ? endObj1 : endObj2; + + // These calls shouldn't crash + toArray = fromArray.slice(0, endObj); + toArray = fromArray.splice(0, endObj); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-157595.js b/implementation-contributed/javascriptcore/stress/regress-157595.js new file mode 100644 index 0000000000..6b5afb52de --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-157595.js @@ -0,0 +1,28 @@ +// Test that an overridden global on a RegExp object doesn't cause an infinite loop +// in String.match(). Instead it should eventually throw an Out of Memory exception. +// Skipping until the test doesn't timeout on the bots - +//@ skip + +class MyRegExp extends RegExp { + constructor(pattern) { + super(pattern, ""); + } + + get global() { + return true; + } +}; + +function test() +{ + let r = new MyRegExp("."); + + return "abc".match(r); +} + +try { + test(); +} catch(e) { + if (e.message != "Out of memory") + throw "Wrong error: " + e; +} diff --git a/implementation-contributed/javascriptcore/stress/regress-158411.js b/implementation-contributed/javascriptcore/stress/regress-158411.js new file mode 100644 index 0000000000..a0f900e32e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-158411.js @@ -0,0 +1,11 @@ +//@ defaultNoSamplingProfilerRun + +// Should not crash. +try { + function foo(){ + [].slice({}); + foo(); + } + foo(); +} catch (e) { +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/regress-158437.js b/implementation-contributed/javascriptcore/stress/regress-158437.js new file mode 100644 index 0000000000..a9573fbaa7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-158437.js @@ -0,0 +1,11 @@ +// This test should not crash. + +try { + let x = eval("0o19"); +} catch(e) { +} + +try { + let x = eval("0b19"); +} catch(e) { +} diff --git a/implementation-contributed/javascriptcore/stress/regress-159537.js b/implementation-contributed/javascriptcore/stress/regress-159537.js new file mode 100644 index 0000000000..f60558884b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-159537.js @@ -0,0 +1,62 @@ +// This test verifies that we don't crash in FTL generated code due to lack of a store barrier +// for a put-by-val when we don't know when the value was allocated. + +class MyNumber +{ + constructor(v) + { + this._v = v; + } + + plusOne() + { + return this._v + 1; + } +} + +noDFG(MyNumber.plusOne); + +let count = 0; +let bogus = null; + +function bar() +{ + count++; + + if (!(count % 100)) + fullGC(); + return new MyNumber(count); +} + +noDFG(bar); +noInline(bar); + +function foo(index, arg) +{ + var result = [arg[0]]; + if (arg.length > 1) + result[1] = bar(); + return result; +} + +noInline(foo); + +function test() +{ + for (let i = 0; i < 50000; i++) + { + let a = [1, i]; + let x = foo(i, a); + + if (!(count % 100)) + edenGC(); + + for (let j = 0; j < 100; j++) + bogus = new MyNumber(-1); + + if ((count + 1) != x[1].plusOne()) + throw("Wrong value for count"); + } +} + +test(); diff --git a/implementation-contributed/javascriptcore/stress/regress-159744.js b/implementation-contributed/javascriptcore/stress/regress-159744.js new file mode 100644 index 0000000000..524fa13e16 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-159744.js @@ -0,0 +1,14 @@ +// Regression test for 159744. This test should not crash or throw an exception. + +function testRegExp(pattern, flags, string, result) +{ + let r = new RegExp(pattern, flags); + if (r.exec(string) !== result) + throw("Expected " + r + "exec(\"" + string + "\") to return " + result + "."); +} + +testRegExp("(\\w+)(?:\\s(\\1)){1100000000,}", "i", "word Word WORD WoRd", null); +testRegExp("\\d{4,}.{1073741825}", "", "1234567\u1234", null); +testRegExp("(?:abcd){2148473648,}", "", "abcdabcdabcd", null); +testRegExp("(?:abcd){2148473648,}", "y", "abcdabcdabcd", null); +testRegExp("(ab){1073741825,}(xy){1073741825,}", "", "abxyabxy", null); diff --git a/implementation-contributed/javascriptcore/stress/regress-159779-1.js b/implementation-contributed/javascriptcore/stress/regress-159779-1.js new file mode 100644 index 0000000000..b07151d5aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-159779-1.js @@ -0,0 +1,4889 @@ +//@ skip +//@ defaultRunNoisyTest + +var jsStrictMode = false; +var ENGINE_UNKNOWN = 0; +var ENGINE_SPIDERMONKEY_TRUNK = 1; +var ENGINE_SPIDERMONKEY_MOZILLA45 = 3; +var ENGINE_JAVASCRIPTCORE = 4;var engine = ENGINE_UNKNOWN; +var jsshell = (typeof window == "undefined"); +var xpcshell = jsshell && (typeof Components == "object"); +var dump; +var dumpln; +var printImportant; +if (jsshell) { + dumpln = print; + printImportant = function(s) { dumpln("***"); dumpln(s); }; + if (typeof verifyprebarriers == "function") { + + + + if (typeof wasmIsSupported == "function") { + engine = ENGINE_SPIDERMONKEY_TRUNK; + } else { + engine = ENGINE_SPIDERMONKEY_MOZILLA45; + } + readline = function(){}; + version(180); + } else if (typeof XPCNativeWrapper == "function") { + + engine = ENGINE_SPIDERMONKEY_TRUNK; + } else if (typeof debug == "function") { + engine = ENGINE_JAVASCRIPTCORE; + } +} else { + if (navigator.userAgent.indexOf("WebKit") != -1) { + + engine = ENGINE_JAVASCRIPTCORE; + + dump = function(s) { console.log(s); }; + } else if (navigator.userAgent.indexOf("Gecko") != -1) { + engine = ENGINE_SPIDERMONKEY_TRUNK; + } else if (typeof dump != "function") { + + dump = function() { }; + } + dumpln = function(s) { dump(s + "\n"); }; printImportant = function(s) { + dumpln(s); + var p = document.createElement("pre"); + p.appendChild(document.createTextNode(s)); + document.body.appendChild(p); + }; +}if (typeof gc == "undefined") + this.gc = function(){}; +var gcIsQuiet = !(gc()); +var HOTLOOP = 60; +function loopCount() { return rnd(rnd(HOTLOOP * 3)); } +function loopModulo() { return (rnd(2) ? rnd(rnd(HOTLOOP * 2)) : rnd(5)) + 2; }function simpleSource(s) +{ + function hexify(c) + { + var code = c.charCodeAt(0); + var hex = code.toString(16); + while (hex.length < 4) + hex = "0" + hex; + return "\\u" + hex; + } if (typeof s == "string") + return ("\"" + + s.replace(/\\/g, "\\\\") + .replace(/\"/g, "\\\"") + .replace(/\0/g, "\\0") + .replace(/\n/g, "\\n") + .replace(/[^ -~]/g, hexify) + + "\""); + else + return "" + s; +}var haveRealUneval = (typeof uneval == "function"); +if (!haveRealUneval) + uneval = simpleSource;if (engine == ENGINE_UNKNOWN) + printImportant("Targeting an unknown JavaScript engine!"); +else if (engine == ENGINE_SPIDERMONKEY_TRUNK) + printImportant("Targeting SpiderMonkey / Gecko (trunk)."); +else if (engine == ENGINE_SPIDERMONKEY_MOZILLA45) + printImportant("Targeting SpiderMonkey / Gecko (ESR45 branch)."); +else if (engine == ENGINE_JAVASCRIPTCORE) + printImportant("Targeting JavaScriptCore / WebKit."); +function whatToTestSpidermonkeyTrunk(code) +{ + /* jshint laxcomma: true */ + + var codeL = code.replace(/\s/g, " "); return { allowParse: true, allowExec: unlikelyToHang(code) + && (jsshell || code.indexOf("nogeckoex") == -1) + , allowIter: true, + + expectConsistentOutput: true + && (gcIsQuiet || code.indexOf("gc") == -1) + && code.indexOf("/*NODIFF*/") == -1 + && code.indexOf(".script") == -1 + && code.indexOf(".parameterNames") == -1 + && code.indexOf(".environment") == -1 + && code.indexOf(".onNewGlobalObject") == -1 + && code.indexOf(".takeCensus") == -1 + && code.indexOf(".findScripts") == -1 + && code.indexOf("Date") == -1 + && code.indexOf("backtrace") == -1 + && code.indexOf("drainAllocationsLog") == -1 + && code.indexOf("dumpObject") == -1 + && code.indexOf("dumpHeap") == -1 + && code.indexOf("dumpStringRepresentation") == -1 + && code.indexOf("evalInWorker") == -1 + && code.indexOf("getBacktrace") == -1 + && code.indexOf("getLcovInfo") == -1 + && code.indexOf("load") == -1 + && code.indexOf("offThreadCompileScript") == -1 + && code.indexOf("oomAfterAllocations") == -1 + && code.indexOf("oomAtAllocation") == -1 + && code.indexOf("printProfilerEvents") == -1 + && code.indexOf("validategc") == -1 + && code.indexOf("inIon") == -1 + && code.indexOf("inJit") == -1 + && code.indexOf("random") == -1 + && code.indexOf("timeout") == -1 + , expectConsistentOutputAcrossIter: true + + && code.indexOf("options") == -1 + , expectConsistentOutputAcrossJITs: true + + && code.indexOf("'strict") == -1 + && code.indexOf("disassemble") == -1 + && code.indexOf(".length") == -1 + && code.indexOf(".splice") == -1 + && !( codeL.match(/\/.*[\u0000\u0080-\uffff]/)) }; +}function whatToTestSpidermonkeyMozilla45(code) +{ + /* jshint laxcomma: true */ + + var codeL = code.replace(/\s/g, " "); return { allowParse: true, allowExec: unlikelyToHang(code) + && (jsshell || code.indexOf("nogeckoex") == -1) + , allowIter: true, + + expectConsistentOutput: true + && (gcIsQuiet || code.indexOf("gc") == -1) + && code.indexOf("/*NODIFF*/") == -1 + && code.indexOf(".script") == -1 + && code.indexOf(".parameterNames") == -1 + && code.indexOf(".environment") == -1 + && code.indexOf(".onNewGlobalObject") == -1 + && code.indexOf(".takeCensus") == -1 + && code.indexOf(".findScripts") == -1 + && code.indexOf("Date") == -1 + && code.indexOf("backtrace") == -1 + && code.indexOf("drainAllocationsLog") == -1 + && code.indexOf("dumpObject") == -1 + && code.indexOf("dumpHeap") == -1 + && code.indexOf("dumpStringRepresentation") == -1 + && code.indexOf("evalInWorker") == -1 + && code.indexOf("getBacktrace") == -1 + && code.indexOf("getLcovInfo") == -1 + && code.indexOf("load") == -1 + && code.indexOf("offThreadCompileScript") == -1 + && code.indexOf("oomAfterAllocations") == -1 + && code.indexOf("oomAtAllocation") == -1 + && code.indexOf("printProfilerEvents") == -1 + && code.indexOf("validategc") == -1 + && code.indexOf("inIon") == -1 + && code.indexOf("inJit") == -1 + && code.indexOf("random") == -1 + && code.indexOf("timeout") == -1 + , expectConsistentOutputAcrossIter: true + + && code.indexOf("options") == -1 + , expectConsistentOutputAcrossJITs: true + + && code.indexOf("'strict") == -1 + && code.indexOf("disassemble") == -1 + && code.indexOf(".length") == -1 + && code.indexOf("preventExtensions") == -1 + && code.indexOf("Math.round") == -1 + && code.indexOf("with") == -1 + && code.indexOf("Number.MAX_VALUE") == -1 + && code.indexOf("arguments") == -1 + && code.indexOf(".splice") == -1 + && !( codeL.match(/\/.*[\u0000\u0080-\uffff]/)) }; +}function whatToTestJavaScriptCore(code) +{ + return { allowParse: true, + allowExec: unlikelyToHang(code), + allowIter: false, + expectConsistentOutput: false, + expectConsistentOutputAcrossIter: false, + expectConsistentOutputAcrossJITs: false }; +}function whatToTestGeneric(code) +{ + return { + allowParse: true, + allowExec: unlikelyToHang(code), + allowIter: (typeof Iterator == "function"), + expectConsistentOutput: false, + expectConsistentOutputAcrossIter: false, + expectConsistentOutputAcrossJITs: false + }; +}var whatToTest; +if (engine == ENGINE_SPIDERMONKEY_TRUNK) + whatToTest = whatToTestSpidermonkeyTrunk; +else if (engine == ENGINE_SPIDERMONKEY_MOZILLA45) + whatToTest = whatToTestSpidermonkeyMozilla45; +else if (engine == ENGINE_JAVASCRIPTCORE) + whatToTest = whatToTestJavaScriptCore; +else + whatToTest = whatToTestGeneric; +function unlikelyToHang(code) +{ + var codeL = code.replace(/\s/g, " "); + return true + && code.indexOf("infloop") == -1 + && !( codeL.match( /for.*in.*uneval/ )) + && !( codeL.match( /for.*for.*for/ )) + && !( codeL.match( /for.*for.*gc/ )) + ; +} +function confused(s) +{ + if (jsshell) { + + print("jsfunfuzz broke its own scripting environment: " + s); + quit(); + } +}function foundABug(summary, details) +{ + + + printImportant("Found" + " a bug: " + summary); + if (details) { + printImportant(details); + } + if (jsshell) { + dumpln("jsfunfuzz stopping due to finding a bug."); + quit(); + } +}function errorToString(e) +{ + try { + return ("" + e); + } catch (e2) { + return "Can't toString the error!!"; + } +}function errorstack() +{ + print("EEE"); + try { + void ([].qwerty.qwerty); + } catch(e) { print(e.stack); } +} +var Random = { + twister: null, init: function (seed) { + if (seed == null || seed === undefined) { + seed = new Date().getTime(); + } + this.twister = new MersenneTwister19937(); + this.twister.seed(seed); + }, + number: function (limit) { + if (limit == 0) { + return limit; + } + if (limit == null || limit === undefined) { + limit = 0xffffffff; + } + return (Random.twister.int32() >>> 0) % limit; + }, + float: function () { + return (Random.twister.int32() >>> 0) * (1.0/4294967295.0); + }, + range: function (start, limit) { + if (isNaN(start) || isNaN(limit)) { + Utils.traceback(); + throw new TypeError("Random.range() received a non number type: '" + start + "', '" + limit + "')"); + } + return Random.number(limit - start + 1) + start; + }, + index: function (list, emptyr) { + if (!(list instanceof Array || (typeof list != "string" && "length" in list))) { + Utils.traceback(); + throw new TypeError("Random.index() received a non array type: '" + list + "'"); + } + if (!list.length) + return emptyr; + return list[this.number(list.length)]; + }, + key: function (obj) { + var list = []; + for (var i in obj) { + list.push(i); + } + return this.index(list); + }, + bool: function () { + return this.index([true, false]); + }, + pick: function (obj) { + if (typeof obj == "function") { + return obj(); + } + if (obj instanceof Array) { + return this.pick(this.index(obj)); + } + return obj; + }, + chance: function (limit) { + if (limit == null || limit === undefined) { + limit = 2; + } + if (isNaN(limit)) { + Utils.traceback(); + throw new TypeError("Random.chance() received a non number type: '" + limit + "'"); + } + return this.number(limit) == 1; + }, + choose: function (list, flat) { + if (!(list instanceof Array)) { + Utils.traceback(); + throw new TypeError("Random.choose() received a non-array type: '" + list + "'"); + } + var total = 0; + for (var i = 0; i < list.length; i++) { + total += list[i][0]; + } + var n = this.number(total); + for (var i = 0; i < list.length; i++) { + if (n <= list[i][0]) { + if (flat == true) { + return list[i][1]; + } else { + return this.pick([list[i][1]]); + } + } + n = n - list[i][0]; + } + if (flat == true) { + return list[0][1]; + } + return this.pick([list[0][1]]); + }, + weighted: function (wa) { + + var a = []; + for (var i = 0; i < wa.length; ++i) { + for (var j = 0; j < wa[i].w; ++j) { + a.push(wa[i].v); + } + } + return a; + }, + use: function (obj) { + return Random.bool() ? obj : ""; + }, + shuffle: function (arr) { + var len = arr.length; + var i = len; + while (i--) { + var p = Random.number(i + 1); + var t = arr[i]; + arr[i] = arr[p]; + arr[p] = t; + } + }, + shuffled: function (arr) { + var newArray = arr.slice(); + Random.shuffle(newArray); + return newArray; + }, + subset: function(a) { + + + var subset = []; + for (var i = 0; i < a.length; ++i) { + if (rnd(2)) { + subset.push(a[i]); + } + } + return subset; + },};function rnd(n) { return Random.number(n); } +/* + A C-program for MT19937, with initialization improved 2002/1/26. + Coded by Takuji Nishimura and Makoto Matsumoto. Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Any feedback is very welcome. + http: + email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) +*/ +function MersenneTwister19937() +{ + const N = 624; + const M = 397; + const MAG01 = new Int32Array([0, 0x9908b0df]); var mt = new Int32Array(N); /* the array for the state vector */ + var mti = 625; this.seed = function (s) { + mt[0] = s | 0; + for (mti=1; mti>> 30)) + mti; + } + }; this.export_state = function() { return [mt, mti]; }; + this.import_state = function(s) { mt = s[0]; mti = s[1]; }; + this.export_mta = function() { return mt; }; + this.import_mta = function(_mta) { mt = _mta; }; + this.export_mti = function() { return mti; }; + this.import_mti = function(_mti) { mti = _mti; }; function mag01(y) + { + return MAG01[y & 0x1]; + } this.int32 = function () { + var y; + var kk; if (mti >= N) { /* generate N words at one time */ + for (kk=0;kk>> 1) ^ mag01(y)); + } + for (;kk>> 1) ^ mag01(y)); + } + y = ((mt[N-1]&0x80000000)|(mt[0]&0x7fffffff)); + mt[N-1] = (mt[M-1] ^ (y >>> 1) ^ mag01(y)); + mti = 0; + } y = mt[mti++]; /* Tempering */ + y = y ^ (y >>> 11); + y = y ^ ((y << 7) & 0x9d2c5680); + y = y ^ ((y << 15) & 0xefc60000); + y = y ^ (y >>> 18); return y; + }; +} +function fuzzTestingFunctionsCtor(browser, fGlobal, fObject) +{ + var prefix = browser ? "fuzzPriv." : ""; function numberOfAllocs() { return Math.floor(Math.exp(rnd(rnd(6000)) / 1000)); } + function gcSliceSize() { return Math.floor(Math.pow(2, Random.float() * 32)); } + function maybeCommaShrinking() { return rnd(5) ? "" : ", 'shrinking'"; } function enableGCZeal() + { + var level = rnd(15); + if (browser && level == 9) level = 0; + var period = numberOfAllocs(); + return prefix + "gczeal" + "(" + level + ", " + period + ");"; + } function callSetGCCallback() { + + var phases = Random.index(["both", "begin", "end"]); + var actionAndOptions = rnd(2) ? 'action: "majorGC", depth: ' + rnd(17) : 'action: "minorGC"'; + var arg = "{ " + actionAndOptions + ", phases: \"" + phases + "\" }"; + return prefix + "setGCCallback(" + arg + ");"; + } function tryCatch(statement) + { + return "try { " + statement + " } catch(e) { }"; + } function setGcparam() { + switch(rnd(2)) { + case 0: return _set("sliceTimeBudget", rnd(100)); + default: return _set("markStackLimit", rnd(2) ? (1 + rnd(30)) : 4294967295); + } function _set(name, value) { + + return tryCatch(prefix + "gcparam" + "('" + name + "', " + value + ");"); + } + } + + var sharedTestingFunctions = [ + + { w: 10, v: function(d, b) { return "void " + prefix + "gc" + "(" + ");"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "gc" + "(" + "'compartment'" + maybeCommaShrinking() + ");"; } }, + { w: 5, v: function(d, b) { return "void " + prefix + "gc" + "(" + fGlobal(d, b) + maybeCommaShrinking() + ");"; } }, + { w: 20, v: function(d, b) { return prefix + "minorgc" + "(false);"; } }, + { w: 20, v: function(d, b) { return prefix + "minorgc" + "(true);"; } }, + + { w: 20, v: function(d, b) { return tryCatch(prefix + "startgc" + "(" + gcSliceSize() + maybeCommaShrinking() + ");"); } }, + { w: 20, v: function(d, b) { return prefix + "gcslice" + "(" + gcSliceSize() + ");"; } }, + { w: 10, v: function(d, b) { return prefix + "abortgc" + "(" + ");"; } }, + { w: 10, v: function(d, b) { return prefix + "selectforgc" + "(" + fObject(d, b) + ");"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "schedulegc" + "(" + fGlobal(d, b) + ");"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "schedulegc" + "(" + numberOfAllocs() + ");"; } }, + { w: 10, v: setGcparam }, + + + { w: 10, v: function(d, b) { return prefix + "verifyprebarriers" + "();"; } }, + + { w: 1, v: function(d, b) { return "void " + prefix + "hasChild(" + fObject(d, b) + ", " + fObject(d, b) + ");"; } }, + { w: 5, v: function(d, b) { return prefix + "validategc" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "validategc" + "(true);"; } }, + { w: 5, v: function(d, b) { return prefix + "fullcompartmentchecks" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "fullcompartmentchecks" + "(true);"; } }, + { w: 5, v: function(d, b) { return prefix + "setIonCheckGraphCoherency" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "setIonCheckGraphCoherency" + "(true);"; } }, + { w: 1, v: function(d, b) { return prefix + "enableOsiPointRegisterChecks" + "();"; } }, + { w: 1, v: function(d, b) { return prefix + "assertJitStackInvariants" + "();"; } }, + { w: 1, v: function(d, b) { return prefix + "setJitCompilerOption" + "('baseline.warmup.trigger', " + rnd(20) + ");"; } }, + { w: 1, v: function(d, b) { return prefix + "setJitCompilerOption" + "('ion.warmup.trigger', " + rnd(40) + ");"; } }, + { w: 1, v: function(d, b) { return prefix + "setJitCompilerOption" + "('ion.forceinlineCaches\', " + rnd(2) + ");"; } }, + + { w: 1, v: function(d, b) { return tryCatch(prefix + "setJitCompilerOption" + "('ion.enable', " + rnd(2) + ");"); } }, + { w: 1, v: function(d, b) { return tryCatch(prefix + "setJitCompilerOption" + "('baseline.enable', " + rnd(2) + ");"); } }, + { w: 1, v: function(d, b) { return prefix + "enableSPSProfiling" + "();"; } }, + { w: 1, v: function(d, b) { return prefix + "enableSPSProfilingWithSlowAssertions" + "();"; } }, + { w: 5, v: function(d, b) { return prefix + "disableSPSProfiling" + "();"; } }, + { w: 1, v: function(d, b) { return "void " + prefix + "readSPSProfilingStack" + "();"; } }, + { w: 5, v: function(d, b) { return prefix + "deterministicgc" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "deterministicgc" + "(true);"; } }, + { w: 5, v: function(d, b) { return prefix + "gcPreserveCode" + "();"; } }, + { w: 1, v: function(d, b) { return "void " + prefix + "getLcovInfo" + "();"; } }, + { w: 1, v: function(d, b) { return "void " + prefix + "getLcovInfo" + "(" + fGlobal(d, b) + ");"; } }, + ]; + + var shellOnlyTestingFunctions = [ + + { w: 5, v: function(d, b) { return prefix + "bailout" + "();"; } }, + + { w: 1, v: function(d, b) { return tryCatch("(void" + prefix + "disableSingleStepProfiling" + "()" + ")"); } }, + { w: 1, v: function(d, b) { return tryCatch("(" + prefix + "enableSingleStepProfiling" + "()" + ")"); } }, + { w: 10, v: function(d, b) { return "void " + prefix + "relazifyFunctions" + "();"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "relazifyFunctions" + "('compartment');"; } }, + { w: 5, v: function(d, b) { return "void " + prefix + "relazifyFunctions" + "(" + fGlobal(d, b) + ");"; } }, + + { w: 1, v: function(d, b) { return (typeof oomAfterAllocations == "function" && rnd(1000) === 0) ? prefix + "oomAfterAllocations" + "(" + (numberOfAllocs() - 1) + ");" : "void 0;"; } }, + + { w: 1, v: function(d, b) { return (typeof oomAtAllocation == "function" && rnd(100) === 0) ? prefix + "oomAtAllocation" + "(" + (numberOfAllocs() - 1) + ");" : "void 0;"; } }, + + { w: 1, v: function(d, b) { return (typeof resetOOMFailure == "function") ? "void " + prefix + "resetOOMFailure" + "(" + ");" : "void 0;"; } }, + + { w: 1, v: function(d, b) { return (rnd(100) === 0) ? (enableGCZeal()) : "void 0;"; } }, { w: 10, v: callSetGCCallback }, + ]; var testingFunctions = Random.weighted(browser ? sharedTestingFunctions : sharedTestingFunctions.concat(shellOnlyTestingFunctions)); return { testingFunctions: testingFunctions, enableGCZeal: enableGCZeal }; +} +/* + It might be more interesting to use Object.getOwnPropertyDescriptor to find out if + a thing is exposed as a getter (like Debugger.prototype.enabled). But there are exceptions: why is Array.prototype.length not a getter? http: + backward compatibility + ES3 already allowed programs to create objects with arbitrary __proto__ + .length was specified to work as a data property; accessor properties inherit differently, especially when setting + maybe only when setting, come to think of it + I guess it could've been made an accessor property without breaking anything important. I didn't realize it at the time. +*/var constructors = []; +var builtinFunctions = []; +var builtinProperties = []; +var allMethodNames = []; +var allPropertyNames = []; var builtinObjectNames = []; +var builtinObjects = {}; (function exploreBuiltins(glob, debugMode) { function exploreDeeper(a, an) + { + if (!a) + return; + var hns = Object.getOwnPropertyNames(a); + var propertyNames = []; + for (var j = 0; j < hns.length; ++j) { + var hn = hns[j]; + propertyNames.push(hn); + allPropertyNames.push(hn); var fullName = an + "." + hn; + builtinProperties.push(fullName); var h; + try { + h = a[hn]; + } catch(e) { + if (debugMode) { + dumpln("Threw: " + fullName); + } + h = null; + } if (typeof h == "function" && hn != "constructor") { + allMethodNames.push(hn); + builtinFunctions.push(fullName); + } + } + builtinObjects[an] = propertyNames; + builtinObjectNames.push(an); + } function exploreConstructors() + { + var gns = Object.getOwnPropertyNames(glob); + for (var i = 0; i < gns.length; ++i) { + var gn = gns[i]; + + + if (0x40 < gn.charCodeAt(0) && gn.charCodeAt(0) < 0x60 && gn != "PerfMeasurement" && !(jsshell && gn == "Worker")) { + var g = glob[gn]; + if (typeof g == "function" && g.toString().indexOf("[native code]") != -1) { + constructors.push(gn); + builtinProperties.push(gn); + builtinFunctions.push(gn); + exploreDeeper(g, gn); + exploreDeeper(g.prototype, gn + ".prototype"); + } + } + } + } exploreConstructors(); exploreDeeper(Math, "Math"); + exploreDeeper(JSON, "JSON"); + exploreDeeper(Proxy, "Proxy"); if (debugMode) { + for (let x of constructors) print("^^^^^ " + x); + for (let x of builtinProperties) print("***** " + x); + for (let x of builtinFunctions) print("===== " + x); + for (let x of allMethodNames) print("!!!!! " + x); + for (let x of allPropertyNames) print("&&&&& " + x); + print(uneval(builtinObjects)); + quit(); + }})(this, false);function cat(toks) +{ + if (rnd(1700) === 0) + return totallyRandom(2, ["x"]); var torture = (rnd(1700) === 57); + if (torture) + dumpln("Torture!!!"); var s = maybeLineBreak(); + for (var i = 0; i < toks.length; ++i) { + + + + + if (typeof(toks[i]) != "string") { + dumpln("Strange item in the array passed to cat: typeof toks[" + i + "] == " + typeof(toks[i])); + dumpln(cat.caller); + dumpln(cat.caller.caller); + } if (!(torture && rnd(12) === 0)) + s += toks[i]; s += maybeLineBreak(); if (torture) switch(rnd(120)) { + case 0: + case 1: + case 2: + case 3: + case 4: + s += maybeSpace() + totallyRandom(2, ["x"]) + maybeSpace(); + break; + case 5: + s = "(" + s + ")"; + break; + case 6: + s = ""; + break; + case 7: + return s; + case 8: + s += UNTERMINATED_COMMENT; + break; + case 9: + s += UNTERMINATED_STRING_LITERAL; + break; + case 10: + if (rnd(2)) + s += "("; + s += UNTERMINATED_REGEXP_LITERAL; + break; + default: + } } return s; +} +/* +function catNice(toks) +{ + var s = "" + var i; + for (i=0; i 0) { + return indent + "{\n" + asmStatement(indent + " ", env, d - 1) + indent + "}\n"; + } + if (rnd(20) === 0 && d > 3) { + return asmSwitchStatement(indent, env, d); + } + if (rnd(10) === 0) { + return asmReturnStatement(indent, env); + } + if (rnd(50) === 0 && env.globalEnv.foreignFunctions.length) { + return asmVoidCallStatement(indent, env); + } + if (rnd(100) === 0) + return ";"; + return asmAssignmentStatement(indent, env); +}function asmVoidCallStatement(indent, env) +{ + return indent + asmFfiCall(8, env) + ";\n"; +}function asmAssignmentStatement(indent, env) +{ + if (rnd(5) === 0 || !env.locals.length) { + if (rnd(2)) { + return indent + intishMemberExpr(8, env) + " = " + intishExpr(10, env) + ";\n"; + } else { + return indent + doublishMemberExpr(8, env) + " = " + doublishExpr(10, env) + ";\n"; + } + } var local = Random.index(env.locals); + if (local.charAt(0) == "d") { + return indent + local + " = " + doubleExpr(10, env) + ";\n"; + } else { + return indent + local + " = " + intExpr(10, env) + ";\n"; + } +}function asmReturnStatement(indent, env) +{ + var ret = rnd(2) ? env.ret : Random.index(["double", "signed", "void"]); + if (env.ret == "double") + return indent + "return +" + doublishExpr(10, env) + ";\n"; + else if (env.ret == "signed") + return indent + "return (" + intishExpr(10, env) + ")|0;\n"; + else + return indent + "return;\n"; +}function asmSwitchStatement(indent, env, d) +{ + var s = indent + "switch (" + signedExpr(4, env) + ") {\n"; + while (rnd(3)) { + s += indent + " case " + (rnd(5)-3) + ":\n"; + s += asmStatement(indent + " ", env, d - 2); + if (rnd(4)) + s += indent + " break;\n"; + } + if (rnd(2)) { + s += indent + " default:\n"; + s += asmStatement(indent + " ", env, d - 2); + } + s += indent + "}\n"; + return s; +}function parameterTypeAnnotations(args) +{ + var s = ""; + for (var a = 0; a < args.length; ++a) { + var arg = args[a]; + if (arg.charAt(0) == "i") + s += " " + arg + " = " + arg + "|0;\n"; + else + s += " " + arg + " = " + "+" + arg + ";\n"; + } + return s; +} +var additive = ["+", "-"]; +var intExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return intLiteralRange(-0x8000000, 0xffffffff); }}, + {w: 1, v: function(d, e) { return intExpr(d - 3, e) + " ? " + intExpr(d - 3, e) + " : " + intExpr(d - 3, e); }}, + {w: 1, v: function(d, e) { return "!" + intExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return signedExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 1, e); }}, + {w: 10, v: function(d, e) { return intVar(e); }}, + {w: 1, v: function(d, e) { return e.globalEnv.foreignFunctions.length ? asmFfiCall(d, e) + "|0" : "1"; }}, + {w: 1, v: function(d, e) { return signedExpr(d - 2, e) + Random.index([" < ", " <= ", " > ", " >= ", " == ", " != "]) + signedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 2, e) + Random.index([" < ", " <= ", " > ", " >= ", " == ", " != "]) + unsignedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doubleExpr(d - 2, e) + Random.index([" < ", " <= ", " > ", " >= ", " == ", " != "]) + doubleExpr(d - 2, e); }}, +]));var intishExpr = autoExpr(Random.weighted([ + {w: 10, v: function(d, e) { return intExpr(d, e); }}, + {w: 1, v: function(d, e) { return intishMemberExpr(d, e); }}, + + {w: 10, v: function(d, e) { return intExpr(d - 1, e) + Random.index(additive) + intExpr(d - 1, e); }}, + {w: 5, v: function(d, e) { return intExpr(d - 2, e) + Random.index(additive) + intExpr(d - 2, e) + Random.index(additive) + intExpr(d - 2, e); }}, + + {w: 2, v: function(d, e) { return intExpr(d - 1, e) + "*" + intLiteralRange(-0xfffff, 0xfffff); }}, + {w: 2, v: function(d, e) { return intLiteralRange(-0xfffff, 0xfffff) + "*" + intExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "-" + intExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return signedExpr(d - 2, e) + " / " + signedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 2, e) + " / " + unsignedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return signedExpr(d - 2, e) + " % " + signedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 2, e) + " % " + unsignedExpr(d - 2, e); }}, +]));var signedExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return intLiteralRange(-0x8000000, 0x7fffffff); }}, + {w: 1, v: function(d, e) { return "~" + intishExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "~~" + doubleExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return intishExpr(d - 1, e) + "|0"; }}, + {w: 1, v: function(d, e) { return ensureMathImport(e, "imul") + "(" + intExpr(d - 2, e) + ", " + intExpr(d - 2, e) + ")|0"; }}, + {w: 1, v: function(d, e) { return ensureMathImport(e, "abs") + "(" + signedExpr(d - 1, e) + ")|0"; }}, + {w: 5, v: function(d, e) { return intishExpr(d - 2, e) + Random.index([" | ", " & ", " ^ ", " << ", " >> "]) + intishExpr(d - 2, e); }}, +]));var unsignedExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return intLiteralRange(0, 0xffffffff); }}, + {w: 1, v: function(d, e) { return intishExpr(d - 2, e) + ">>>" + intishExpr(d - 2, e); }}, +]));var doublishExpr = autoExpr(Random.weighted([ + {w: 10, v: function(d, e) { return doubleExpr(d, e); }}, + {w: 1, v: function(d, e) { return doublishMemberExpr(d, e); }}, + +]));var doubleExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return doubleLiteral(); }}, + {w: 20, v: function(d, e) { return doubleVar(e); }}, + {w: 1, v: function(d, e) { return e.globalEnv.foreignFunctions.length ? "+" + asmFfiCall(d, e) : "1.0"; }}, + {w: 1, v: function(d, e) { return "+(1.0/0.0)"; }}, + {w: 1, v: function(d, e) { return "+(0.0/0.0)"; }}, + {w: 1, v: function(d, e) { return "+(-1.0/0.0)"; }}, + + {w: 1, v: function(d, e) { return "+" + signedExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "+" + unsignedExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "+" + doublishExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "-" + doublishExpr(d - 1, e); }}, + + {w: 1, v: function(d, e) { return doubleExpr(d - 2, e) + " + " + doubleExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " - " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " * " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " / " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " % " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return intExpr(d - 3, e) + " ? " + doubleExpr(d - 3, e) + " : " + doubleExpr(d - 3, e); }}, + + {w: 1, v: function(d, e) { return "+" + ensureMathImport(e, Random.index(["acos", "asin", "atan", "cos", "sin", "tan", "ceil", "floor", "exp", "log", "sqrt"])) + "(" + doublishExpr(d - 1, e) + ")"; }}, + {w: 1, v: function(d, e) { return "+" + ensureMathImport(e, "abs") + "(" + doublishExpr(d - 1, e) + ")"; }}, + {w: 1, v: function(d, e) { return "+" + ensureMathImport(e, Random.index(["atan2", "pow"])) + "(" + doublishExpr(d - 2, e) + ", " + doublishExpr(d - 2, e) + ")"; }}, + {w: 1, v: function(d, e) { return ensureImport(e, "Infinity"); }}, + {w: 1, v: function(d, e) { return ensureImport(e, "NaN"); }}, +]));var externExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return doubleExpr(d, e); } }, + {w: 1, v: function(d, e) { return signedExpr(d, e); } }, +]));var intishMemberExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return ensureView(e, Random.index(["Int8Array", "Uint8Array" ])) + "[" + asmIndex(d, e, 0) + "]"; }}, + {w: 1, v: function(d, e) { return ensureView(e, Random.index(["Int16Array", "Uint16Array"])) + "[" + asmIndex(d, e, 1) + "]"; }}, + {w: 1, v: function(d, e) { return ensureView(e, Random.index(["Int32Array", "Uint32Array"])) + "[" + asmIndex(d, e, 2) + "]"; }}, +]), true);var doublishMemberExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return ensureView(e, "Float32Array") + "[" + asmIndex(d, e, 2) + "]"; }}, + {w: 1, v: function(d, e) { return ensureView(e, "Float64Array") + "[" + asmIndex(d, e, 3) + "]"; }}, +]), true);function asmIndex(d, e, logSize) +{ + if (rnd(2) || d < 2) + return Random.index(["0", "1", "2", "4096"]); return intishExpr(d - 2, e) + " >> " + logSize; +}function asmFfiCall(d, e) +{ + var argList = ""; + while (rnd(6)) { + if (argList) + argList += ", "; + d -= 1; + argList += externExpr(d, e); + } return "/*FFI*/" + Random.index(e.globalEnv.foreignFunctions) + "(" + argList + ")"; +} +function ensureView(e, t) +{ + var varName = t + "View"; + if (!(varName in e.globalEnv.heapImported)) { + e.globalEnv.heapImports += " var " + varName + " = new stdlib." + t + "(heap);\n"; + e.globalEnv.heapImported[varName] = true; + } + return varName; +}function ensureMathImport(e, f) +{ + return ensureImport(e, f, "Math."); +}function ensureImport(e, f, prefix) +{ + if (!(f in e.globalEnv.stdlibImported)) { + e.globalEnv.stdlibImports += " var " + f + " = stdlib." + (prefix||"") + f + ";\n"; + e.globalEnv.stdlibImported[f] = true; + } + return f; +} +var anyAsmExpr = [intExpr, intishExpr, signedExpr, doublishExpr, doubleExpr, intishMemberExpr, doublishMemberExpr];function autoExpr(funs, avoidSubst) +{ + return function(d, e) { + var f = d < 1 ? funs[0] : + rnd(50) === 0 && !e.globalEnv.sanePlease ? function(_d, _e) { return makeExpr(5, ["x"]); } : + rnd(50) === 0 && !avoidSubst ? Random.index(anyAsmExpr) : + Random.index(funs); + return "(" + f(d, e) + ")"; + }; +}function intVar(e) +{ + var locals = e.locals; + if (!locals.length) + return intLiteralRange(-0x8000000, 0xffffffff); + var local = Random.index(locals); + if (local.charAt(0) == "i") + return local; + return intLiteralRange(-0x8000000, 0xffffffff); +}function doubleVar(e) +{ + var locals = e.locals; + if (!locals.length) + return doubleLiteral(); + var local = Random.index(locals); + if (local.charAt(0) == "d") + return local; + return doubleLiteral(); +} +function doubleLiteral() +{ + return Random.index(["-", ""]) + positiveDoubleLiteral(); +}function positiveDoubleLiteral() +{ + if (rnd(3) === 0) { + Random.index(["0.0", "1.0", "1.2345e60"]); + } + var value = Math.pow(2, rnd(100) - 10); + if (rnd(3)) { + value += 1; + } else if (value > 1 && rnd(2)) { + value -= 1; + } var str = value + ""; + if (str.indexOf(".") == -1) { + return str + ".0"; + } + + return str; +}function fuzzyRange(min, max) +{ + if (rnd(10000) === 0) + return min - 1; + if (rnd(10000) === 0) + return max + 1; + if (rnd(10) === 0) + return min; + if (rnd(10) === 0) + return max; + if (max > min + 0x100000000 && rnd(3) === 0) + return min + 0x100000000 + rnd(max - (min + 0x100000000) + 1); + return min + rnd(max - min + 1); +}function intLiteralRange(min, max) +{ + var val = fuzzyRange(min, max); + var sign = val < 0 ? "-" : ""; + return sign + "0x" + Math.abs(val).toString(16); +} +const NUM_MATH_FUNCTIONS = 6;var binaryMathOps = [ + " * ", /* NODIFF " / " */, " % ", + " + ", " - ", + " ** ", + " << ", " >> ", " >>> ", + " < ", " > ", " <= ", " >= ", + " == ", " != ", + " === ", " !== ", + " & ", " | ", " ^ ", " && ", " || ", + " , ", +];var leftUnaryMathOps = [ + " ! ", " + ", " - ", " ~ ", +];var unaryMathFunctions = [ + "abs", + "acos", + "acosh", + "asin", + "asinh", + "atan", + "atanh", + "cbrt", + "ceil", + "cos", + "cosh", + "exp", + "expm1", + + "fround", + "log", + "log2", + "log10", + "log1p", + + "round", + "sign", + "sin", + "sinh", + "sqrt", + "tan", + "tanh", + "trunc", +]; +var binaryMathFunctions = [ + "atan2", + "hypot", + "imul", + "max", + "min", + "pow", +];function makeMathFunction(d, b, i) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var ivars = ["x", "y"]; + if (rnd(10) == 0) { + + ivars = ivars.concat(b); + } + return "(function(x, y) { " + directivePrologue() + "return " + makeMathExpr(d, ivars, i) + "; })"; +}function makeMathExpr(d, b, i) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + if (d < rnd(5)) { + if (rnd(4)) { + return Random.index(b); + } + return Random.index(numericVals); + } if (rnd(500) == 0 && d > 0) + return makeExpr(d - 1, b); function r() { return makeMathExpr(d - 1, b, i); } + + var commonCoercion = rnd(10); + function mc(expr) { + switch(rnd(3) ? commonCoercion : rnd(10)) { + case 0: return "(" + " + " + expr + ")"; + case 1: return "Math.fround(" + expr + ")"; + case 2: return "(" + expr + " | 0)"; + case 3: return "(" + expr + " >>> 0)"; + default: return expr; + } + } if (i > 0 && rnd(10) == 0) { + + return mc("mathy" + rnd(i) + "(" + mc(r()) + ", " + mc(r()) + ")"); + } if (rnd(20) == 0) { + return mc("(" + mc(r()) + " ? " + mc(r()) + " : " + mc(r()) + ")"); + } switch(rnd(4)) { + case 0: return mc("(" + mc(r()) + Random.index(binaryMathOps) + mc(r()) + ")"); + case 1: return mc("(" + Random.index(leftUnaryMathOps) + mc(r()) + ")"); + case 2: return mc("Math." + Random.index(unaryMathFunctions) + "(" + mc(r()) + ")"); + default: return mc("Math." + Random.index(binaryMathFunctions) + "(" + mc(r()) + ", " + mc(r()) + ")"); + } +}/**************************** + * GRAMMAR-BASED GENERATION * + ****************************/ +function makeScript(d, ignoredB) +{ + return directivePrologue() + makeScriptBody(d, ignoredB); +}function makeScriptBody(d, ignoredB) +{ + if (rnd(3) == 0) { + return makeMathyFunAndTest(d, ["x"]); + } + return makeStatement(d, ["x"]); +}function makeScriptForEval(d, b) +{ + switch (rnd(4)) { + case 0: return makeExpr(d - 1, b); + case 1: return makeStatement(d - 1, b); + case 2: return makeUseRegressionTest(d, b); + default: return makeScript(d - 3, b); + } +}function makeStatement(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(2)) + return makeBuilderStatement(d, b); if (d < 6 && rnd(3) === 0) + return makePrintStatement(d, b); if (d < rnd(8)) + return makeLittleStatement(d, b); d = rnd(d); return (Random.index(statementMakers))(d, b); +}var varBinder = ["var ", "let ", "const ", ""]; +var varBinderFor = ["var ", "let ", ""]; +function forLoopHead(d, b, v, reps) +{ + var sInit = Random.index(varBinderFor) + v + " = 0"; + var sCond = v + " < " + reps; + var sNext = "++" + v; while (rnd(10) === 0) + sInit += ", " + makeLetHeadItem(d - 2, b); + while (rnd(10) === 0) + sInit += ", " + makeExpr(d - 2, b); while (rnd(20) === 0) + sCond = sCond + " && (" + makeExpr(d - 2, b) + ")"; + while (rnd(20) === 0) + sCond = "(" + makeExpr(d - 2, b) + ") && " + sCond; while (rnd(20) === 0) + sNext = sNext + ", " + makeExpr(d - 2, b); + while (rnd(20) === 0) + sNext = makeExpr(d - 2, b) + ", " + sNext; return "for (" + sInit + "; " + sCond + "; " + sNext + ")"; +}function makeOpaqueIdiomaticLoop(d, b) +{ + var reps = loopCount(); + var vHidden = uniqueVarName(); + return "/*oLoop*/" + forLoopHead(d, b, vHidden, reps) + " { " + + makeStatement(d - 2, b) + + " } "; +}function makeTransparentIdiomaticLoop(d, b) +{ + var reps = loopCount(); + var vHidden = uniqueVarName(); + var vVisible = makeNewId(d, b); + return "/*vLoop*/" + forLoopHead(d, b, vHidden, reps) + + " { " + + Random.index(varBinder) + vVisible + " = " + vHidden + "; " + + makeStatement(d - 2, b.concat([vVisible])) + + " } "; +}function makeBranchUnstableLoop(d, b) +{ + var reps = loopCount(); + var v = uniqueVarName(); + var mod = loopModulo(); + var target = rnd(mod); + return "/*bLoop*/" + forLoopHead(d, b, v, reps) + " { " + + "if (" + v + " % " + mod + " == " + target + ") { " + makeStatement(d - 2, b) + " } " + + "else { " + makeStatement(d - 2, b) + " } " + + " } "; +}function makeTypeUnstableLoop(d, b) { + var a = makeMixedTypeArray(d, b); + var v = makeNewId(d, b); + var bv = b.concat([v]); + return "/*tLoop*/for (let " + v + " of " + a + ") { " + makeStatement(d - 2, bv) + " }"; +} +function makeFunOnCallChain(d, b) { + var s = "arguments.callee"; + while (rnd(2)) + s += ".caller"; + return s; +} +var statementMakers = Random.weighted([ + { w: 15, v: function(d, b) { return cat([makeStatement(d - 1, b), makeStatement(d - 1, b) ]); } }, + { w: 15, v: function(d, b) { return cat([makeStatement(d - 1, b), "\n", makeStatement(d - 1, b), "\n"]); } }, + { w: 1, v: function(d, b) { return cat([stripSemicolon(makeStatement(d, b)), "\n", makeStatement(d, b)]); } }, + { w: 1, v: function(d, b) { return cat([stripSemicolon(makeStatement(d, b)), "\n" ]); } }, + { w: 1, v: function(d, b) { return stripSemicolon(makeStatement(d, b)); } }, + { w: 4, v: function(d, b) { var v = makeNewId(d, b); return cat([Random.index(varBinder), v, " = ", makeExpr(d, b), ";", makeStatement(d - 1, b.concat([v]))]); } }, + { w: 4, v: function(d, b) { var v = makeNewId(d, b); return cat([makeStatement(d - 1, b.concat([v])), Random.index(varBinder), v, " = ", makeExpr(d, b), ";"]); } }, + { w: 10, v: function(d, b) { return cat([Random.index(varBinder), makeLetHead(d, b), ";", makeStatement(d - 1, b)]); } }, + { w: 2, v: function(d, b) { return cat(["{", makeStatement(d, b), " }"]); } }, + { w: 2, v: function(d, b) { return cat(["{", makeStatement(d - 1, b), makeStatement(d - 1, b), " }"]); } }, + { w: 2, v: function(d, b) { return cat([maybeLabel(), "with", "(", makeExpr(d, b), ")", makeStatementOrBlock(d, b)]); } }, + { w: 2, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "with", "(", "{", v, ": ", makeExpr(d, b), "}", ")", makeStatementOrBlock(d, b.concat([v]))]); } }, + + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", makeExpr(d, b), "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " = ", makeExpr(d, b), "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeDestructuringLValue(d, b), " = ", makeExpr(d, b), "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 6, v: makeTransparentIdiomaticLoop }, + { w: 6, v: makeOpaqueIdiomaticLoop }, + { w: 6, v: makeBranchUnstableLoop }, + { w: 8, v: makeTypeUnstableLoop }, + + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeForInLHS(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeForInLHS(d, b), " in ", "(", "(", makeFunction(d, b), ")", "(", makeExpr(d, b), ")", ")", ")", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " in ", "(", "(", makeFunction(d, b), ")", "(", makeExpr(d, b), ")", ")", ")", makeStatementOrBlock(d, b.concat([v]))]); } }, + + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), " for ", " each", "(", Random.index(varBinderFor), makeLValue(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), " for ", " each", "(", Random.index(varBinderFor), v, " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), " for ", "(", Random.index(varBinderFor), makeLValue(d, b), " of ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), " for ", "(", Random.index(varBinderFor), v, " of ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + + + + + + { w: 1, v: function(d, b) { return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeId(d, b), " = ", makeExpr(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " = ", makeExpr(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b), w = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), "[", v, ", ", w, "]", " = ", makeExpr(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v, w]))]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "while((", makeExpr(d, b), ") && 0)" /*don't split this, it's needed to avoid marking as infloop*/, makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "while", "(", makeExpr(d, b), ")", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "do ", makeStatementOrBlock(d, b), " while((", makeExpr(d, b), ") && 0)" /*don't split this, it's needed to avoid marking as infloop*/, ";"]); } }, + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "do ", makeStatementOrBlock(d, b), " while", "(", makeExpr(d, b), ");"]); } }, + { w: 3, v: function(d, b) { return cat([maybeLabel(), "switch", "(", makeExpr(d, b), ")", " { ", makeSwitchBody(d, b), " }"]); } }, + { w: 2, v: function(d, b) { var v = makeNewId(d, b); return cat(["let ", "(", v, ")", " { ", makeStatement(d, b.concat([v])), " }"]); } }, + { w: 2, v: function(d, b) { return cat(["let ", "(", makeLetHead(d, b), ")", " { ", makeStatement(d, b), " }"]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", makeStatementOrBlock(d - 1, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", makeStatementOrBlock(d - 1, b)]); } }, + + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", "{", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", makeStatementOrBlock(d - 1, b), "}"]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", "{", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b), "}", " else ", makeStatementOrBlock(d - 1, b)]); } }, + { w: 5, v: function(d, b) { return cat([makeExpr(d, b), ";"]); } }, + { w: 5, v: function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); } }, + { w: 6, v: function(d, b) { return makeExceptionyStatement(d - 1, b) + makeExceptionyStatement(d - 1, b); } }, + { w: 7, v: function(d, b) { return makeExceptionyStatement(d, b); } }, + { w: 1, v: function(d, b) { return cat(["L", ": ", makeStatementOrBlock(d, b)]); } }, + { w: 10, v: function(d, b) { return cat([makeStatement(d-2, b), "function ", makeId(d, b), "(", makeFormalArgList(d, b), ")", makeFunctionBody(d - 1, b), makeStatement(d-2, b)]); } }, + { w: 8, v: makeNamedFunctionAndUse }, + + + { w: 1, v: function(d, b) { if (rnd(200)==0) return "/*DUPTRY" + rnd(10000) + "*/" + makeStatement(d - 1, b); return ";"; } }, { w: 1, v: function(d, b) { return makeShapeyConstructorLoop(d, b); } }, + { w: 1, v: function(d, b) { var x = makeId(d, b); return x + " = linkedList(" + x + ", " + (rnd(100) * rnd(100)) + ");"; } }, + { w: 1, v: function(d, b) { return directivePrologue() + makeStatement(d - 1, b); } }, + { w: 3, v: function(d, b) { return makeTestingFunctionCall(d, b); } }, + { w: 3, v: function(d, b) { return makeTestingFunctionCall(d - 1, b) + " " + makeStatement(d - 1, b); } }, + { w: 8, v: makeTypedArrayStatements }, + { w: 8, v: makePrintStatement }, { w: 20, v: makeRegexUseBlock }, { w: 1, v: makeRegisterStompBody }, { w: 20, v: makeUseRegressionTest }, + + +]);if (typeof oomTest == "function" && engine != ENGINE_SPIDERMONKEY_MOZILLA45) { + statementMakers = statementMakers.concat([ + function(d, b) { return "oomTest(" + makeFunction(d, b-1) + ")"; }, + ]); +} +function makeUseRegressionTest(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (typeof regressionTestList != "object") { + return "/* no regression tests found */"; + } var maintest = regressionTestsRoot + Random.index(regressionTestList); + var files = regressionTestDependencies(maintest); var s = ""; if (rnd(5) == 0) { + + + s += "assertEq = function(x, y) { if (x != y) { print(0); } }; "; + } for (var i = 0; i < files.length; ++i) { + var file = files[i]; if (regressionTestIsEvil(read(file))) { + continue; + } switch (rnd(2)) { + case 0: + + s += "/* regression-test-inline */ " + inlineRegressionTest(file); + break; + default: + + s += "/* regression-test-load */ " + "load(" + simpleSource(file) + ");"; + break; + + } + } + return s; +}function regressionTestIsEvil(contents) +{ + if (contents.indexOf("SIMD") != -1) { + + return true; + } + if (contents.indexOf("print = ") != -1) { + + return true; + } + return false; +}function inlineRegressionTest(filename) +{ + const s = "/* " + filename + " */ " + read(filename) + "\n"; const noDiffTestingFunctions = [ + + "gcparam", + "startgc", + "setJitCompilerOption", + "disableSingleStepProfiling", + "enableSingleStepProfiling", + + "isAsmJSCompilationAvailable", + "isSimdAvailable", + "hasChild", + "PerfMeasurement", + ]; for (var f of noDiffTestingFunctions) { + if (s.indexOf(f) != -1) { + return "/*NODIFF*/ " + s; + } + } return s; +} +function regressionTestDependencies(maintest) +{ + var files = []; if (rnd(3)) { + + for (var i = regressionTestsRoot.length; i < maintest.length; ++i) { + if (maintest.charAt(i) == "/" || maintest.charAt(i) == "\\") { + var shelljs = maintest.substr(0, i + 1) + "shell.js"; + if (regressionTestList.indexOf(shelljs) != -1) { + files.push(shelljs); + } + } + } + if (maintest.indexOf("jit-test") != -1) { + files.push(libdir + "prologue.js"); + } + } files.push(maintest); + return files; +} +function linkedList(x, n) +{ + for (var i = 0; i < n; ++i) + x = {a: x}; + return x; +}function makeNamedFunctionAndUse(d, b) { + + var funcName = uniqueVarName(); + var formalArgList = makeFormalArgList(d, b); + var bv = formalArgList.length == 1 ? b.concat(formalArgList) : b; + var declStatement = cat(["/*hhh*/function ", funcName, "(", formalArgList, ")", "{", makeStatement(d - 1, bv), "}"]); + var useStatement; + if (rnd(2)) { + + useStatement = cat([funcName, "(", makeActualArgList(d, b), ")", ";"]); + } else { + + useStatement = "/*iii*/" + makeStatement(d - 1, b.concat([funcName])); + } + if (rnd(2)) { + return declStatement + useStatement; + } else { + return useStatement + declStatement; + } +}function makePrintStatement(d, b) +{ + if (rnd(2) && b.length) + return "print(" + Random.index(b) + ");"; + else + return "print(" + makeExpr(d, b) + ");"; +} +function maybeLabel() +{ + if (rnd(4) === 1) + return cat([Random.index(["L", "M"]), ":"]); + else + return ""; +} +function uniqueVarName() +{ + + var i, s = ""; + for (i = 0; i < 6; ++i) + s += String.fromCharCode(97 + rnd(26)); + return s; +}function makeSwitchBody(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var haveSomething = false; + var haveDefault = false; + var output = ""; do { if (!haveSomething || rnd(2)) { + if (!haveDefault && rnd(2)) { + output += "default: "; + haveDefault = true; + } + else { + + + output += "case " + (rnd(2) ? rnd(10) : makeExpr(d, b)) + ": "; + } haveSomething = true; + } + if (rnd(2)) + output += makeStatement(d, b); + if (rnd(2)) + output += "break; "; if (rnd(2)) + --d; } while (d && rnd(5)); return output; +}function makeLittleStatement(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if (rnd(4) === 1) + return makeStatement(d, b); return (Random.index(littleStatementMakers))(d, b); +}var littleStatementMakers = +[ + + function(d, b) { return cat([";"]); }, + function(d, b) { return cat(["{", "}"]); }, + function(d, b) { return cat([""]); }, + function(d, b) { return cat(["throw ", makeExpr(d, b), ";"]); }, + function(d, b) { return cat([Random.index(["continue", "break"]), " ", Random.index(["L", "M", "", ""]), ";"]); }, + + function(d, b) { return makeFunction(d, b); }, + function(d, b) { return cat(["return ", makeExpr(d, b), ";"]); }, + function(d, b) { return "return;"; }, + function(d, b) { return cat(["yield ", makeExpr(d, b), ";"]); }, + function(d, b) { return "yield;"; }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, +]; +function makeStatementOrBlock(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return (Random.index(statementBlockMakers))(d - 1, b); +}var statementBlockMakers = [ + function(d, b) { return makeStatement(d, b); }, + function(d, b) { return makeStatement(d, b); }, + function(d, b) { return cat(["{", makeStatement(d, b), " }"]); }, + function(d, b) { return cat(["{", makeStatement(d - 1, b), makeStatement(d - 1, b), " }"]); }, +]; +function makeExceptionyStatement(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; + if (d < 1) + return makeLittleStatement(d, b); return (Random.index(exceptionyStatementMakers))(d, b); +}var exceptionProperties = ["constructor", "message", "name", "fileName", "lineNumber", "stack"];var exceptionyStatementMakers = [ + function(d, b) { return makeTryBlock(d, b); }, function(d, b) { return makeStatement(d, b); }, + function(d, b) { return makeLittleStatement(d, b); }, function(d, b) { return "return;"; }, + function(d, b) { return cat(["return ", makeExpr(d, b), ";"]); }, + function(d, b) { return cat(["yield ", makeExpr(d, b), ";"]); }, + function(d, b) { return cat(["throw ", makeId(d, b), ";"]); }, + function(d, b) { return "throw StopIteration;"; }, + function(d, b) { return "this.zzz.zzz;"; }, + function(d, b) { return b[b.length - 1] + "." + Random.index(exceptionProperties) + ";"; }, + function(d, b) { return makeId(d, b) + "." + Random.index(exceptionProperties) + ";"; }, + function(d, b) { return cat([makeId(d, b), " = ", makeId(d, b), ";"]); }, + function(d, b) { return cat([makeLValue(d, b), " = ", makeId(d, b), ";"]); }, + + function(d, b) { var v = makeNewId(d, b); return "for(let " + v + " in []);"; }, + function(d, b) { var v = makeNewId(d, b); return "for(let " + v + " in " + makeIterable(d, b) + ") " + makeExceptionyStatement(d, b.concat([v])); }, + function(d, b) { var v = makeNewId(d, b); return "for(let " + v + " of " + makeIterable(d, b) + ") " + makeExceptionyStatement(d, b.concat([v])); }, + + function(d, b) { return "with({}) " + makeExceptionyStatement(d, b); }, + function(d, b) { return "with({}) { " + makeExceptionyStatement(d, b) + " } "; }, + function(d, b) { var v = makeNewId(d, b); return "let(" + v + ") { " + makeExceptionyStatement(d, b.concat([v])) + "}"; }, + function(d, b) { var v = makeNewId(d, b); return "let(" + v + ") ((function(){" + makeExceptionyStatement(d, b.concat([v])) + "})());"; }, + function(d, b) { return "let(" + makeLetHead(d, b) + ") { " + makeExceptionyStatement(d, b) + "}"; }, + function(d, b) { return "let(" + makeLetHead(d, b) + ") ((function(){" + makeExceptionyStatement(d, b) + "})());"; }, +/* + + function(d, b) { return "(function () { try { yield " + makeExpr(d, b) + " } finally { " + makeStatement(d, b) + " } })().next()"; }, function(d, b) { return "(function () { try { yield " + makeExpr(d, b) + " } finally { " + makeStatement(d, b) + " } })()"; }, + function(d, b) { return "(function () { try { yield " + makeExpr(d, b) + " } finally { " + makeStatement(d, b) + " } })"; }, + function(d, b) { + return "function gen() { try { yield 1; } finally { " + makeStatement(d, b) + " } } var i = gen(); i.next(); i = null;"; + }*/ +];function makeTryBlock(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + + + d = d - rnd(3); + var s = cat(["try", " { ", makeExceptionyStatement(d, b), " } "]); var numCatches = 0; while(rnd(3) === 0) { + + ++numCatches; + var catchId = makeId(d, b); + var catchBlock = makeExceptionyStatement(d, b.concat([catchId])); + if (rnd(2)) + s += cat(["catch", "(", catchId, " if ", makeExpr(d, b), ")", " { ", catchBlock, " } "]); + else + s += cat(["catch", "(", catchId, " if ", "(function(){", makeExceptionyStatement(d, b), "})())", " { ", catchBlock, " } "]); + } if (rnd(2)) { + + ++numCatches; + var catchId = makeId(d, b); + var catchBlock = makeExceptionyStatement(d, b.concat([catchId])); + s += cat(["catch", "(", catchId, ")", " { ", catchBlock, " } "]); + } if (numCatches == 0 || rnd(2) === 1) { + + s += cat(["finally", " { ", makeExceptionyStatement(d, b), " } "]); + } return s; +} +function makeExpr(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d <= 0 || (rnd(7) === 1)) + return makeTerm(d - 1, b); if (rnd(6) === 1 && b.length) + return Random.index(b); if (rnd(10) === 1) + return makeImmediateRecursiveCall(d, b); d = rnd(d); var expr = (Random.index(exprMakers))(d, b); if (rnd(4) === 1) + return "(" + expr + ")"; + else + return expr; +}var binaryOps = [ + + " * ", " / ", " % ", " + ", " - ", " << ", " >> ", " >>> ", " < ", " > ", " <= ", " >= ", " instanceof ", " in ", " == ", " != ", " === ", " !== ", + " & ", " | ", " ^ ", " && ", " || ", " = ", " *= ", " /= ", " %= ", " += ", " -= ", " <<= ", " >>= ", " >>>= ", " &= ", " ^= ", " |= ", " , ", " ** ", " **= " +];var leftUnaryOps = [ + "!", "+", "-", "~", + "void ", "typeof ", "delete ", + "new ", + "yield " +];var incDecOps = [ + "++", "--", +]; +var specialProperties = [ + "__iterator__", "__count__", + "__parent__", "__proto__", "constructor", "prototype", + "wrappedJSObject", + "arguments", "caller", "callee", + "toString", "toSource", "valueOf", + "call", "apply", + "length", + "0", "1", +]; +/* +function addPropertyName(p) +{ + p = "" + p; + if ( + p != "floor" && + p != "random" && + p != "parent" && + true) { + print("Adding: " + p); + allPropertyNames.push(p); + } +} +*/var exprMakers = +[ + + function(d, b) { return cat([makeLValue(d, b), Random.index(incDecOps)]); }, + function(d, b) { return cat([Random.index(incDecOps), makeLValue(d, b)]); }, + function(d, b) { return cat([Random.index(leftUnaryOps), makeExpr(d, b)]); }, + function(d, b) { var id = makeId(d, b); return cat(["/*UUV1*/", "(", id, ".", Random.index(allMethodNames), " = ", makeFunction(d, b), ")"]); }, + function(d, b) { var id = makeId(d, b); return cat(["/*UUV2*/", "(", id, ".", Random.index(allMethodNames), " = ", id, ".", Random.index(allMethodNames), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", Random.index(allMethodNames), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "valueOf", "(", uneval("number"), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeId(d, b), Random.index(binaryOps), makeId(d, b)]); }, + function(d, b) { return cat([makeId(d, b), Random.index(binaryOps), makeId(d, b)]); }, + function(d, b) { return cat([makeId(d, b), Random.index(binaryOps), makeId(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), " ? ", makeExpr(d, b), " : ", makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), " ? ", makeExpr(d, b), " : ", makeExpr(d, b)]); }, + function(d, b) { return cat(["yield ", makeExpr(d, b)]); }, + function(d, b) { return cat(["(", "yield ", makeExpr(d, b), ")"]); }, + + + + function(d, b) { return cat([makeArrayLiteral(d, b), ".", Random.index(["map", "filter", "some", "sort"]) ]); }, + function(d, b) { return cat([makeArrayLiteral(d, b), ".", Random.index(["map", "filter", "some", "sort"]), "(", makeFunction(d, b), ", ", makeExpr(d, b), ")"]); }, + function(d, b) { return cat([makeArrayLiteral(d, b), ".", Random.index(["map", "filter", "some", "sort"]), "(", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["'fafafa'", ".", "replace", "(", "/", "a", "/", "g", ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["[", makeExpr(d, b), "]"]); }, + function(d, b) { return cat(["(", "{", makeId(d, b), ": ", makeExpr(d, b), "}", ")"]); }, + function(d, b) { return makeFunction(d, b); }, + function(d, b) { return makeFunction(d, b) + ".prototype"; }, + function(d, b) { return cat(["(", makeFunction(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat([ makeExpr(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat([ makeFunction(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["(", makeFunction(d, b), ")", ".", "call", "(", makeExpr(d, b), ", ", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["new ", makeExpr(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["new ", "(", makeExpr(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, function(d, b) { return cat(["new ", makeFunction(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["new ", "(", makeFunction(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return stripSemicolon(makeLittleStatement(d, b)); }, + function(d, b) { return ""; }, + function(d, b) { var v = makeNewId(d, b); return cat(["let ", "(", v, ") ", makeExpr(d - 1, b.concat([v]))]); }, + function(d, b) { var v = makeNewId(d, b); return cat(["let ", "(", v, " = ", makeExpr(d - 1, b), ") ", makeExpr(d - 1, b.concat([v]))]); }, + function(d, b) { return cat(["let ", "(", makeLetHead(d, b), ") ", makeExpr(d, b)]); }, + function(d, b) { return cat([" /* Comment */", makeExpr(d, b)]); }, + function(d, b) { return cat(["\n", makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), "\n"]); }, + function(d, b) { return cat([makeLValue(d, b)]); }, + function(d, b) { return cat([ makeLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([ makeLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat(["(", makeLValue(d, b), " = ", makeExpr(d, b), ")"]); }, + function(d, b) { return cat(["(", makeLValue(d, b), ")", " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([ makeDestructuringLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([ makeDestructuringLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat(["(", makeDestructuringLValue(d, b), " = ", makeExpr(d, b), ")"]); }, + function(d, b) { return cat(["(", makeDestructuringLValue(d, b), ")", " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([makeDestructuringLValue(d, b), " = ", makeDestructuringLValue(d, b)]); }, + function(d, b) { return cat([makeLValue(d, b), Random.index(["|=", "%=", "+=", "-="]), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "watch", "(", makePropertyName(d, b), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "unwatch", "(", makePropertyName(d, b), ")"]); }, + function(d, b) { return cat(["Object.defineProperty", "(", makeId(d, b), ", ", makePropertyName(d, b), ", ", makePropertyDescriptor(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "__defineGetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "__defineSetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["this", ".", "__defineGetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["this", ".", "__defineSetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["(", "{", makeObjLiteralPart(d, b), " }", ")"]); }, + function(d, b) { return cat(["(", "{", makeObjLiteralPart(d, b), ", ", makeObjLiteralPart(d, b), " }", ")"]); }, + function(d, b) { return "(p={}, (p.z = " + makeExpr(d, b) + ")())"; }, + + + function(d, b) { return cat([makeExpr(d, b), ".", "throw", "(", makeExpr(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "yoyo", "(", makeExpr(d, b), ")"]); }, + + function(d, b) { return makeExpr(d, b) + ".eval(" + uneval(makeScriptForEval(d, b)) + ")"; }, + function(d, b) { return "eval(" + uneval(makeScriptForEval(d, b)) + ")"; }, + function(d, b) { return "eval(" + uneval(makeScriptForEval(d, b)) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return "(uneval(" + makeExpr(d, b) + "))"; }, + function(d, b) { return "new " + Random.index(constructors) + "(" + makeActualArgList(d, b) + ")"; }, + function(d, b) { return Random.index(constructors) + "(" + makeActualArgList(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(unaryMathFunctions) + "(" + makeExpr(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(unaryMathFunctions) + "(" + makeNumber(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeExpr(d, b) + ", " + makeExpr(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeExpr(d, b) + ", " + makeNumber(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeNumber(d, b) + ", " + makeExpr(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeNumber(d, b) + ", " + makeNumber(d, b) + ")"; }, + function(d, b) { return makeId(d, b) + " = " + "Proxy.create(" + makeProxyHandler(d, b) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return makeId(d, b) + " = " + "Proxy.createFunction(" + makeProxyHandler(d, b) + ", " + makeFunction(d, b) + ")"; }, + function(d, b) { return makeId(d, b) + " = " + "Proxy.createFunction(" + makeProxyHandler(d, b) + ", " + makeFunction(d, b) + ", " + makeFunction(d, b) + ")"; }, function(d, b) { return cat(["delete", " ", makeId(d, b), ".", makeId(d, b)]); }, + function(d, b) { return "(void options('strict_mode'))"; }, + function(d, b) { return "(void options('strict'))"; }, + function(d, b) { return "(void version(" + Random.index([170, 180, 185]) + "))"; }, + + + function(d, b) { return "(void shapeOf(" + makeExpr(d, b) + "))"; }, + function(d, b) { return "intern(" + makeExpr(d, b) + ")"; }, + function(d, b) { return "allocationMarker()"; }, + function(d, b) { return "timeout(1800)"; }, + function(d, b) { return "(makeFinalizeObserver('tenured'))"; }, + function(d, b) { return "(makeFinalizeObserver('nursery'))"; }, makeRegexUseExpr, + makeShapeyValue, + makeIterable, + function(d, b) { return makeMathExpr(d + rnd(3), b); }, +]; +var fuzzTestingFunctions = fuzzTestingFunctionsCtor(!jsshell, fuzzTestingFunctionArg, fuzzTestingFunctionArg); +function fuzzTestingFunctionArg(d, b) { return "this"; }function makeTestingFunctionCall(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var callStatement = Random.index(fuzzTestingFunctions.testingFunctions)(d, b); + + var callBlock = "{ void 0; " + callStatement + " }"; if (jsshell && rnd(5) === 0) { + + + + + + + + + + + + + var cond = (rnd(2) ? "!" : "") + "isAsmJSCompilationAvailable()"; + return "{ if (" + cond + ") " + callBlock + " void 0; }"; + } return callBlock; +} +if (typeof evalcx == "function") { + exprMakers = exprMakers.concat([ + function(d, b) { return makeGlobal(d, b); }, + function(d, b) { return "evalcx(" + uneval(makeScriptForEval(d, b)) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return "evalcx(" + uneval(makeScriptForEval(d, b)) + ", " + makeGlobal(d, b) + ")"; }, + ]); +} +if (typeof XPCNativeWrapper == "function") { + exprMakers = exprMakers.extend([ + function(d, b) { return "new XPCNativeWrapper(" + makeExpr(d, b) + ")"; }, + function(d, b) { return "new XPCSafeJSObjectWrapper(" + makeExpr(d, b) + ")"; }, + ]); +}function makeNewGlobalArg(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + var propStrs = []; + if (rnd(2)) + propStrs.push("sameZoneAs: " + makeExpr(d - 1, b)); + if (rnd(2)) + propStrs.push("cloneSingletons: " + makeBoolean(d - 1, b)); + if (rnd(2)) + propStrs.push("disableLazyParsing: " + makeBoolean(d - 1, b)); + return "{ " + propStrs.join(", ") + " }"; +}function makeGlobal(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(10)) + return "this"; var gs; + switch(rnd(4)) { + case 0: gs = "evalcx('')"; break; + case 1: gs = "evalcx('lazy')"; break; + default: gs = "newGlobal(" + makeNewGlobalArg(d - 1, b) + ")"; break; + } if (rnd(2)) + gs = "fillShellSandbox(" + gs + ")"; return gs; +}if (xpcshell) { + exprMakers = exprMakers.concat([ + function(d, b) { var n = rnd(4); return "newGeckoSandbox(" + n + ")"; }, + function(d, b) { var n = rnd(4); return "s" + n + " = newGeckoSandbox(" + n + ")"; }, + + function(d, b) { var n = rnd(4); return "evalInSandbox(" + uneval(makeStatement(d, b)) + ", newGeckoSandbox(" + n + "))"; }, + function(d, b) { var n = rnd(4); return "evalInSandbox(" + uneval(makeStatement(d, b)) + ", s" + n + ")"; }, + function(d, b) { return "evalInSandbox(" + uneval(makeStatement(d, b)) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return "(Components.classes ? quit() : gc()); }"; }, + ]); +} +function makeShapeyConstructor(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + var argName = uniqueVarName(); + var t = rnd(4) ? "this" : argName; + var funText = "function shapeyConstructor(" + argName + "){" + directivePrologue(); + var bp = b.concat([argName]); var nPropNames = rnd(6) + 1; + var propNames = []; + for (var i = 0; i < nPropNames; ++i) { + propNames[i] = makePropertyName(d, b); + } var nStatements = rnd(11); + for (var i = 0; i < nStatements; ++i) { + var propName = Random.index(propNames); + var tprop = t + "[" + propName + "]"; + if (rnd(5) === 0) { + funText += "if (" + (rnd(2) ? argName : makeExpr(d, bp)) + ") "; + } + switch(rnd(8)) { + case 0: funText += "delete " + tprop + ";"; break; + case 1: funText += "Object.defineProperty(" + t + ", " + (rnd(2) ? propName : makePropertyName(d, b)) + ", " + makePropertyDescriptor(d, bp) + ");"; break; + case 2: funText += "{ " + makeStatement(d, bp) + " } "; break; + case 3: funText += tprop + " = " + makeExpr(d, bp) + ";"; break; + case 4: funText += tprop + " = " + makeFunction(d, bp) + ";"; break; + case 5: funText += "for (var ytq" + uniqueVarName() + " in " + t + ") { }"; break; + case 6: funText += "Object." + Random.index(["preventExtensions","seal","freeze"]) + "(" + t + ");"; break; + default: funText += tprop + " = " + makeShapeyValue(d, bp) + ";"; break; + } + } + funText += "return " + t + "; }"; + return funText; +} +var propertyNameMakers = Random.weighted([ + { w: 1, v: function(d, b) { return makeExpr(d - 1, b); } }, + { w: 1, v: function(d, b) { return maybeNeg() + rnd(20); } }, + { w: 1, v: function(d, b) { return '"' + maybeNeg() + rnd(20) + '"'; } }, + { w: 1, v: function(d, b) { return "new String(" + '"' + maybeNeg() + rnd(20) + '"' + ")"; } }, + { w: 5, v: function(d, b) { return simpleSource(Random.index(specialProperties)); } }, + { w: 1, v: function(d, b) { return simpleSource(makeId(d - 1, b)); } }, + { w: 5, v: function(d, b) { return simpleSource(Random.index(allMethodNames)); } }, +]);function maybeNeg() { return rnd(5) ? "" : "-"; }function makePropertyName(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return (Random.index(propertyNameMakers))(d, b); +}function makeShapeyConstructorLoop(d, b) +{ + var a = makeIterable(d, b); + var v = makeNewId(d, b); + var v2 = uniqueVarName(d, b); + var bvv = b.concat([v, v2]); + return makeShapeyConstructor(d - 1, b) + + "/*tLoopC*/for (let " + v + " of " + a + ") { " + + "try{" + + "let " + v2 + " = " + Random.index(["new ", ""]) + "shapeyConstructor(" + v + "); print('EETT'); " + + + makeStatement(d - 2, bvv) + + "}catch(e){print('TTEE ' + e); }" + + " }"; +} +function makePropertyDescriptor(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var s = "({"; switch(rnd(3)) { + case 0: + + if (rnd(2)) s += "value: " + makeExpr(d, b) + ", "; + if (rnd(2)) s += "writable: " + makeBoolean(d, b) + ", "; + break; + case 1: + + if (rnd(2)) s += "get: " + makeFunction(d, b) + ", "; + if (rnd(2)) s += "set: " + makeFunction(d, b) + ", "; + break; + default: + } if (rnd(2)) s += "configurable: " + makeBoolean(d, b) + ", "; + if (rnd(2)) s += "enumerable: " + makeBoolean(d, b) + ", "; + if (s.length > 2) + s = s.substr(0, s.length - 2); s += "})"; + return s; +}function makeBoolean(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + switch(rnd(4)) { + case 0: return "true"; + case 1: return "false"; + case 2: return makeExpr(d - 2, b); + default: var m = loopModulo(); return "(" + Random.index(b) + " % " + m + Random.index([" == ", " != "]) + rnd(m) + ")"; + } +} +function makeObjLiteralPart(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(8)) + { + + + + case 2: return cat([" get ", makeObjLiteralName(d, b), maybeName(d, b), "(", makeFormalArgList(d - 1, b), ")", makeFunctionBody(d, b)]); + case 3: return cat([" set ", makeObjLiteralName(d, b), maybeName(d, b), "(", makeFormalArgList(d - 1, b), ")", makeFunctionBody(d, b)]); case 4: return "/*toXFun*/" + cat([Random.index(["toString", "toSource", "valueOf"]), ": ", makeToXFunction(d - 1, b)]); default: return cat([makeObjLiteralName(d, b), ": ", makeExpr(d, b)]); + } +}function makeToXFunction(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(4)) { + case 0: return "function() { return " + makeExpr(d, b) + "; }"; + case 1: return "function() { return this; }"; + case 2: return makeEvilCallback(d, b); + default: return makeFunction(d, b); + } +} +function makeObjLiteralName(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(6)) + { + case 0: return simpleSource(makeNumber(d, b)); + case 1: return makeNumber(d, b); + case 2: return Random.index(allPropertyNames); + case 3: return Random.index(specialProperties); + default: return makeId(d, b); + } +} +function makeFunction(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if(rnd(5) === 1) + return makeExpr(d, b); if (rnd(4) === 1) + return Random.index(builtinFunctions); return (Random.index(functionMakers))(d, b); +} +function maybeName(d, b) +{ + if (rnd(2) === 0) + return " " + makeId(d, b) + " "; + else + return ""; +}function directivePrologue() +{ + var s = ""; + if (rnd(3) === 0) + s += '"use strict"; '; + if (rnd(30) === 0) + s += '"use asm"; '; + return s; +}function makeFunctionBody(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(5)) { + case 0: return cat([" { ", directivePrologue(), makeStatement(d - 1, b), " } "]); + case 1: return cat([" { ", directivePrologue(), "return ", makeExpr(d, b), " } "]); + case 2: return cat([" { ", directivePrologue(), "yield ", makeExpr(d, b), " } "]); + case 3: return '"use asm"; ' + asmJSInterior([]); + default: return makeExpr(d, b); + } +} +var functionMakers = [ + makeFunOnCallChain, + makeMathFunction, + makeMathyFunRef, + function(d, b) { var v = makeNewId(d, b); return cat(["function", " ", maybeName(d, b), "(", v, ")", makeFunctionBody(d, b.concat([v]))]); }, + function(d, b) { return cat(["function", " ", maybeName(d, b), "(", makeFormalArgList(d, b), ")", makeFunctionBody(d, b)]); }, + function(d, b) { var v = makeNewId(d, b); return cat([ v, " => ", makeFunctionBody(d, b.concat([v]))]); }, + function(d, b) { return cat(["(", makeFormalArgList(d, b), ")", " => ", makeFunctionBody(d, b)]); }, + function(d, b) { return "function(q) { " + directivePrologue() + "return q; }"; }, + function(d, b) { return "q => q"; }, + function(d, b) { return "function(y) { " + directivePrologue() + makeStatement(d, b.concat(["y"])) + " }"; }, + function(d, b) { return "function(y) { " + directivePrologue() + "return " + makeExpr(d, b.concat(["y"])) + " }"; }, + function(d, b) { return "function(y) { " + directivePrologue() + "yield y; " + makeStatement(d, b.concat(["y"])) + "; yield y; }"; }, + function(d, b) { return "(1 for (x in []))"; }, + function(d, b) { return "/*wrap1*/(function(){ " + directivePrologue() + makeStatement(d, b) + "return " + makeFunction(d, b) + "})()"; }, + function(d, b) { var v1 = uniqueVarName(); var v2 = uniqueVarName(); return "/*wrap2*/(function(){ " + directivePrologue() + "var " + v1 + " = " + makeExpr(d, b) + "; var " + v2 + " = " + makeFunction(d, b.concat([v1])) + "; return " + v2 + ";})()"; }, + function(d, b) { var v1 = uniqueVarName(); var v2 = uniqueVarName(); return "/*wrap3*/(function(){ " + directivePrologue() + "var " + v1 + " = " + makeExpr(d, b) + "; (" + makeFunction(d, b.concat([v1])) + ")(); })"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").apply"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").call"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").bind"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").bind(" + makeActualArgList(d, b) + ")"; }, + function(d, b) { return cat([makeExpr(d, b), ".", Random.index(allMethodNames)]); }, + function(d, b) { return "eval"; }, + function(d, b) { return "(let (e=eval) e)"; }, + function(d, b) { return "new Function"; }, + function(d, b) { return "(new Function(" + uneval(makeStatement(d, b)) + "))"; }, + function(d, b) { return "Function"; }, + function(d, b) { return "decodeURI"; }, + function(d, b) { return "decodeURIComponent"; }, + function(d, b) { return "encodeURI"; }, + function(d, b) { return "encodeURIComponent"; }, + function(d, b) { return "neuter"; }, + function(d, b) { return "objectEmulatingUndefined"; }, + function(d, b) { return makeProxyHandlerFactory(d, b); }, + function(d, b) { return makeShapeyConstructor(d, b); }, + function(d, b) { return Random.index(typedArrayConstructors); }, + function(d, b) { return Random.index(constructors); }, +];if (typeof XPCNativeWrapper == "function") { + functionMakers = functionMakers.concat([ + function(d, b) { return "XPCNativeWrapper"; }, + function(d, b) { return "XPCSafeJSObjectWrapper"; }, + ]); +}if (typeof oomTest == "function" && engine != ENGINE_SPIDERMONKEY_MOZILLA45) { + functionMakers = functionMakers.concat([ + function(d, b) { return "oomTest"; } + ]); +}var typedArrayConstructors = [ + "Int8Array", + "Uint8Array", + "Int16Array", + "Uint16Array", + "Int32Array", + "Uint32Array", + "Float32Array", + "Float64Array", + "Uint8ClampedArray" +];function makeTypedArrayStatements(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 0) return ""; var numViews = rnd(d) + 1; + var numExtraStatements = rnd(d) + 1; + var buffer = uniqueVarName(); + var bufferSize = (1 + rnd(2)) * (1 + rnd(2)) * (1 + rnd(2)) * rnd(5); + var statements = "var " + buffer + " = new " + arrayBufferType() + "(" + bufferSize + "); "; + var bv = b.concat([buffer]); + for (var j = 0; j < numViews; ++j) { + var view = buffer + "_" + j; + var type = Random.index(typedArrayConstructors); + statements += "var " + view + " = new " + type + "(" + buffer + "); "; + bv.push(view); + var view_0 = view + "[0]"; + bv.push(view_0); + if (rnd(3) === 0) + statements += "print(" + view_0 + "); "; + if (rnd(3)) + statements += view_0 + " = " + makeNumber(d - 2, b) + "; "; + bv.push(view + "[" + rnd(11) + "]"); + } + for (var j = 0; j < numExtraStatements; ++j) { + statements += makeStatement(d - numExtraStatements, bv); + } + return statements; +}function makeNumber(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var signStr = rnd(2) ? "-" : ""; switch(rnd(70)) { + case 0: return makeExpr(d - 2, b); + case 1: return signStr + "0"; + case 2: return signStr + (rnd(1000) / 1000); + case 3: return signStr + (rnd(0xffffffff) / 2); + case 4: return signStr + rnd(0xffffffff); + case 5: return Random.index(["0.1", ".2", "3", "1.3", "4.", "5.0000000000000000000000", "1.2e3", "1e81", "1e+81", "1e-81", "1e4", "0", "-0", "(-0)", "-1", "(-1)", "0x99", "033", "3.141592653589793", "3/0", "-3/0", "0/0", "0x2D413CCC", "0x5a827999", "0xB504F332", "(0x50505050 >> 1)", "0x80000000"]); + case 6: return signStr + (Math.pow(2, rnd(66)) + (rnd(3) - 1)); + default: return signStr + rnd(30); + } +} +function makeLetHead(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var items = (d > 0 || rnd(2) === 0) ? rnd(10) + 1 : 1; + var result = ""; for (var i = 0; i < items; ++i) { + if (i > 0) + result += ", "; + result += makeLetHeadItem(d - i, b); + } return result; +}function makeLetHeadItem(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if (d < 0 || rnd(2) === 0) + return rnd(2) ? uniqueVarName() : makeId(d, b); + else if (rnd(5) === 0) + return makeDestructuringLValue(d, b) + " = " + makeExpr(d, b); + else + return makeId(d, b) + " = " + makeExpr(d, b); +} +function makeActualArgList(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var nArgs = rnd(3); if (nArgs == 0) + return ""; var argList = makeExpr(d, b); for (var i = 1; i < nArgs; ++i) + argList += ", " + makeExpr(d - i, b); return argList; +}function makeFormalArgList(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var argList = []; var nArgs = rnd(5) ? rnd(3) : rnd(100); + for (var i = 0; i < nArgs; ++i) { + argList.push(makeFormalArg(d - i, b)); + } if (rnd(5) === 0) { + + argList.push("..." + makeId(d, b)); + } return argList.join(", "); +}function makeFormalArg(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(8) === 1) + return makeDestructuringLValue(d, b); return makeId(d, b) + (rnd(5) ? "" : " = " + makeExpr(d, b)); +} +function makeNewId(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return Random.index(["a", "b", "c", "d", "e", "w", "x", "y", "z"]); +}function makeId(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(3) === 1 && b.length) + return Random.index(b); switch(rnd(200)) + { + case 0: + return makeTerm(d, b); + case 1: + return makeExpr(d, b); + case 2: case 3: case 4: case 5: + return makeLValue(d, b); + case 6: case 7: + return makeDestructuringLValue(d, b); + case 8: case 9: case 10: + + + return Random.index(["get", "set", "getter", "setter", "delete", "let", "yield", "of"]); + case 11: case 12: case 13: + return "this." + makeId(d, b); + case 14: case 15: case 16: + return makeObjLiteralName(d - 1, b); + case 17: case 18: + return makeId(d - 1, b); + case 19: + return " "; + case 20: + return "this"; + } return Random.index(["a", "b", "c", "d", "e", "w", "x", "y", "z", + "window", "eval", "\u3056", "NaN", ]); + +} +function makeComprehension(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 0) + return ""; switch(rnd(7)) { + case 0: + return ""; + case 1: + return cat([" for ", "(", makeForInLHS(d, b), " in ", makeExpr(d - 2, b), ")"]) + makeComprehension(d - 1, b); + + case 2: + return cat([" for ", "each ", "(", makeId(d, b), " in ", makeExpr(d - 2, b), ")"]) + makeComprehension(d - 1, b); + case 3: + return cat([" for ", "each ", "(", makeId(d, b), " in ", makeIterable(d - 2, b), ")"]) + makeComprehension(d - 1, b); + case 4: + return cat([" for ", "(", makeId(d, b), " of ", makeExpr(d - 2, b), ")"]) + makeComprehension(d - 1, b); + case 5: + return cat([" for ", "(", makeId(d, b), " of ", makeIterable(d - 2, b), ")"]) + makeComprehension(d - 1, b); + default: + return cat([" if ", "(", makeExpr(d - 2, b), ")"]); + } +}function makeForInLHS(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + return makeLValue(d, b); +} +function makeLValue(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d <= 0 || (rnd(2) === 1)) + return makeId(d - 1, b); d = rnd(d); return (Random.index(lvalueMakers))(d, b); +} +var lvalueMakers = [ + + function(d, b) { return cat([makeId(d, b)]); }, + function(d, b) { return cat(["(", makeLValue(d, b), ")"]); }, + function(d, b) { return makeDestructuringLValue(d, b); }, + function(d, b) { return "(" + makeDestructuringLValue(d, b) + ")"; }, + function(d, b) { return cat([makeId(d, b), "(", makeExpr(d, b), ")"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", "(", makeExpr(d, b), ")"]); }, + function(d, b) { return Random.index(builtinProperties); }, + function(d, b) { return Random.index(builtinObjectNames); }, + function(d, b) { return "arguments"; }, + function(d, b) { return cat(["arguments", "[", makePropertyName(d, b), "]"]); }, + function(d, b) { return makeFunOnCallChain(d, b) + ".arguments"; }, + function(d, b) { return cat([makeExpr(d, b), ".", makeId(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "__proto__"]); }, + function(d, b) { return cat([makeExpr(d, b), "[", makePropertyName(d, b), "]"]); }, + function(d, b) { return "this.zzz.zzz"; }, + function(d, b) { return makeExpr(d, b); }, +]; +function makeDestructuringLValue(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if (d < 0 || rnd(4) === 1) + return makeId(d, b); if (rnd(6) === 1) + return makeLValue(d, b); return (Random.index(destructuringLValueMakers))(d, b); +}var destructuringLValueMakers = [ + + function(d, b) + { + var len = rnd(d, b); + if (len == 0) + return "[]"; var Ti = []; + Ti.push("["); + Ti.push(maybeMakeDestructuringLValue(d, b)); + for (var i = 1; i < len; ++i) { + Ti.push(", "); + Ti.push(maybeMakeDestructuringLValue(d, b)); + } Ti.push("]"); return cat(Ti); + }, + function(d, b) + { + var len = rnd(d, b); + if (len == 0) + return "{}"; + var Ti = []; + Ti.push("{"); + for (var i = 0; i < len; ++i) { + if (i > 0) + Ti.push(", "); + Ti.push(makeId(d, b)); + if (rnd(3)) { + Ti.push(": "); + Ti.push(makeDestructuringLValue(d, b)); + } + } + Ti.push("}"); return cat(Ti); + } +]; +function maybeMakeDestructuringLValue(d, b) +{ + if (rnd(2) === 0) + return ""; return makeDestructuringLValue(d, b); +}function makeTerm(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return (Random.index(termMakers))(d, b); +}var termMakers = [ + + function(d, b) { return makeId(d, b); }, + function(d, b) { return Random.index([ + + "[]", "[1]", "[[]]", "[[1]]", "[,]", "[,,]", "[1,,]", + + "{}", "({})", "({a1:1})", + + "[z1]", "[z1,,]", "[,,z1]", + + "({a2:z2})", + "function(id) { return id }", + "function ([y]) { }", + "(function ([y]) { })()", "arguments", + "Math", + "this", + "length", '"\u03A0"', + ]); + }, + makeNumber, + function(d, b) { return Random.index([ "true", "false", "undefined", "null"]); }, + function(d, b) { return Random.index([ "this", "window" ]); }, + function(d, b) { return Random.index([" \"\" ", " '' "]); }, + randomUnitStringLiteral, + function(d, b) { return Random.index([" /x/ ", " /x/g "]); }, + makeRegex, +];function randomUnitStringLiteral() +{ + var s = "\"\\u"; + for (var i = 0; i < 4; ++i) { + s += "0123456789ABCDEF".charAt(rnd(16)); + } + s += "\""; + return s; +} +function maybeMakeTerm(d, b) +{ + if (rnd(2)) + return makeTerm(d - 1, b); + else + return ""; +} +function makeCrazyToken() +{ + if (rnd(3) === 0) { + return String.fromCharCode(32 + rnd(128 - 32)); + } + if (rnd(6) === 0) { + return String.fromCharCode(rnd(65536)); + } return Random.index([ + "//", UNTERMINATED_COMMENT, (UNTERMINATED_COMMENT + "\n"), "/*\n*/", + "[", "]", + "{", "}", + "(", ")", + "!", "@", "%", "^", "*", "**", "|", ":", "?", "'", "\"", ",", ".", "/", + "~", "_", "+", "=", "-", "++", "--", "+=", "%=", "|=", "-=", + "...", "=>", + " in ", " instanceof ", " let ", " new ", " get ", " for ", " if ", " else ", " else if ", " try ", " catch ", " finally ", " export ", " import ", " void ", " with ", + " default ", " goto ", " case ", " switch ", " do ", " /*infloop*/while ", " return ", " yield ", " break ", " continue ", " typeof ", " var ", " const ", + " package ", + " enum ", + " debugger ", + " super ", " this ", + " null ", + " undefined ", + "\n", + "\r", + "\u2028", + "\u2029", + "<" + "!" + "--", + "--" + ">", + "", + "\0", + ]); +} +function makeShapeyValue(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(10) === 0) + return makeExpr(d, b); var a = [ + + [ + "0", "1", "2", "3", "0.1", ".2", "1.3", "4.", "5.0000000000000000000000", + "1.2e3", "1e81", "1e+81", "1e-81", "1e4", "-0", "(-0)", + "-1", "(-1)", "0x99", "033", "3/0", "-3/0", "0/0", + "Math.PI", + "0x2D413CCC", "0x5a827999", "0xB504F332", "-0x2D413CCC", "-0x5a827999", "-0xB504F332", "0x50505050", "(0x50505050 >> 1)", + + "0x10000000", "0x20000000", "0x3FFFFFFE", "0x3FFFFFFF", "0x40000000", "0x40000001", "0x80000000", "-0x80000000", + ], + [ "(1/0)", "(-1/0)", "(0/0)" ], + [" \"\" ", " '' ", " 'A' ", " '\\0' ", ' "use strict" '], + [ " /x/ ", " /x/g "], + [ "true", "false" ], + [ "(void 0)", "null" ], + [ "[]", "[1]", "[(void 0)]", "{}", "{x:3}", "({})", "({x:3})" ], + [ "NaN", "Infinity", "-Infinity", "undefined"], + [ "new Boolean(true)", "new Boolean(false)" ], + [ "new Number(1)", "new Number(1.5)" ], + [ "new String('')", "new String('q')" ], + [ "function(){}" ], + [ "{}", "[]", "[1]", "['z']", "[undefined]", "this", "eval", "arguments", "arguments.caller", "arguments.callee" ], + [ "objectEmulatingUndefined()" ], + [ b.length ? Random.index(b) : "x" ] + ]; return Random.index(Random.index(a)); +}function mixedTypeArrayElem(d, b) +{ + while (true) { + var s = makeShapeyValue(d - 3, b); + if (s.length < 60) + return s; + } +}function makeMixedTypeArray(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + var q = rnd(4) + 2; + var picks = []; + for (var j = 0; j < q; ++j) { + picks.push(mixedTypeArrayElem(d, b)); + } + var c = []; + var count = loopCount(); + for (var j = 0; j < count; ++j) { + var elem = Random.index(picks); + + + var repeat = count === 0 ? rnd(4)===0 : rnd(50)===0; + var repeats = repeat ? rnd(30) : 1; + for (var k = 0; k < repeats; ++k) { + c.push(elem); + } + } return "/*MARR*/" + "[" + c.join(", ") + "]"; +}function makeArrayLiteral(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(2) === 0) + return makeMixedTypeArray(d, b); var elems = []; + while (rnd(5)) elems.push(makeArrayLiteralElem(d, b)); + return "/*FARR*/" + "[" + elems.join(", ") + "]"; +}function makeArrayLiteralElem(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch (rnd(5)) { + case 0: return "..." + makeIterable(d - 1, b); + case 1: return ""; + default: return makeExpr(d - 1, b); + } +}function makeIterable(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 1) + return "[]"; return (Random.index(iterableExprMakers))(d, b); +}var iterableExprMakers = Random.weighted([ + + { w: 1, v: function(d, b) { return "new Array(" + makeNumber(d, b) + ")"; } }, + { w: 8, v: makeArrayLiteral }, + { w: 1, v: function(d, b) { return cat(["[", makeExpr(d, b), makeComprehension(d, b), "]"]); } }, + { w: 1, v: function(d, b) { return cat([ makeExpr(d, b), makeComprehension(d, b) ]); } }, + { w: 1, v: function(d, b) { return cat(["(", makeExpr(d, b), makeComprehension(d, b), ")"]); } }, + { w: 1, v: function(d, b) { return "(function() { " + directivePrologue() + "yield " + makeExpr(d - 1, b) + "; } })()"; } }, + + { w: 1, v: function(d, b) { return "/*PTHR*/(function() { " + directivePrologue() + "for (var i of " + makeIterable(d - 1, b) + ") { yield i; } })()"; } }, { w: 1, v: makeFunction }, + { w: 1, v: makeExpr }, +]);function strTimes(s, n) +{ + if (n == 0) return ""; + if (n == 1) return s; + var s2 = s + s; + var r = n % 2; + var d = (n - r) / 2; + var m = strTimes(s2, d); + return r ? m + s : m; +} +function makeAsmJSModule(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var interior = asmJSInterior([]); + return '(function(stdlib, foreign, heap){ "use asm"; ' + interior + ' })'; +}function makeAsmJSFunction(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var interior = asmJSInterior(["ff"]); + return '(function(stdlib, foreign, heap){ "use asm"; ' + interior + ' })(this, {ff: ' + makeFunction(d - 2, b) + '}, new ' + arrayBufferType() + '(4096))'; +}var proxyHandlerProperties = { + getOwnPropertyDescriptor: { + empty: "function(){}", + forward: "function(name) { var desc = Object.getOwnPropertyDescriptor(x); desc.configurable = true; return desc; }", + throwing: "function(name) { return {get: function() { throw 4; }, set: function() { throw 5; }}; }", + }, + getPropertyDescriptor: { + empty: "function(){}", + forward: "function(name) { var desc = Object.getPropertyDescriptor(x); desc.configurable = true; return desc; }", + throwing: "function(name) { return {get: function() { throw 4; }, set: function() { throw 5; }}; }", + }, + defineProperty: { + empty: "function(){}", + forward: "function(name, desc) { Object.defineProperty(x, name, desc); }" + }, + getOwnPropertyNames: { + empty: "function() { return []; }", + forward: "function() { return Object.getOwnPropertyNames(x); }" + }, + delete: { + empty: "function() { return true; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(name) { return delete x[name]; }" + }, + fix: { + empty: "function() { return []; }", + yes: "function() { return []; }", + no: "function() { }", + forward: "function() { if (Object.isFrozen(x)) { return Object.getOwnProperties(x); } }" + }, + has: { + empty: "function() { return false; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(name) { return name in x; }" + }, + hasOwn: { + empty: "function() { return false; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(name) { return Object.prototype.hasOwnProperty.call(x, name); }" + }, + get: { + empty: "function() { return undefined }", + forward: "function(receiver, name) { return x[name]; }", + bind: "function(receiver, name) { var prop = x[name]; return (typeof prop) === 'function' ? prop.bind(x) : prop; }" + }, + set: { + empty: "function() { return true; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(receiver, name, val) { x[name] = val; return true; }" + }, + iterate: { + empty: "function() { return (function() { throw StopIteration; }); }", + forward: "function() { return (function() { for (var name in x) { yield name; } })(); }" + }, + enumerate: { + empty: "function() { return []; }", + forward: "function() { var result = []; for (var name in x) { result.push(name); }; return result; }" + }, + keys: { + empty: "function() { return []; }", + forward: "function() { return Object.keys(x); }" + } +};function makeProxyHandlerFactory(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 1) + return "({/*TOODEEP*/})"; try { + var preferred = Random.index(["empty", "forward", "yes", "no", "bind", "throwing"]); + var fallback = Random.index(["empty", "forward"]); + var fidelity = rnd(10); var handlerFactoryText = "(function handlerFactory(x) {"; + handlerFactoryText += "return {"; if (rnd(2)) { + + bp = b.concat(['x']); + } else { + + handlerFactoryText = handlerFactoryText.replace(/x/, ""); + bp = b; + } for (var p in proxyHandlerProperties) { + var funText; + if (proxyHandlerProperties[p][preferred] && rnd(10) <= fidelity) { + funText = proxyMunge(proxyHandlerProperties[p][preferred], p); + } else { + switch(rnd(7)) { + case 0: funText = makeFunction(d - 3, bp); break; + case 1: funText = "undefined"; break; + case 2: funText = "function() { throw 3; }"; break; + default: funText = proxyMunge(proxyHandlerProperties[p][fallback], p); + } + } + handlerFactoryText += p + ": " + funText + ", "; + } handlerFactoryText += "}; })"; return handlerFactoryText; + } catch(e) { + return "({/* :( */})"; + } +}function proxyMunge(funText, p) +{ + + return funText; +}function makeProxyHandler(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return makeProxyHandlerFactory(d, b) + "(" + makeExpr(d - 3, b) + ")"; +} +/* +David Anderson suggested creating the following recursive structures: + - recurse down an array of mixed types, car cdr kinda thing + - multiple recursive calls in a function, like binary search left/right, sometimes calls neither and sometimes calls both the recursion support in spidermonkey only works with self-recursion. + that is, two functions that call each other recursively will not be traced. two trees are formed, going down and going up. + type instability matters on both sides. + so the values returned from the function calls matter. so far, what i've thought of means recursing from the top of a function and if..else. + but i'd probably also want to recurse from other points, e.g. loops. special code for tail recursion likely coming soon, but possibly as a separate patch, because it requires changes to the interpreter. +*/ +var recursiveFunctions = [ + { + + text: "(function too_much_recursion(depth) { @; if (depth > 0) { @; too_much_recursion(depth - 1); @ } else { @ } @ })", + vars: ["depth"], + args: function(d, b) { return singleRecursionDepth(d, b); }, + test: function(f) { try { f(5000); } catch(e) { } return true; } + }, + { + text: "(function factorial(N) { @; if (N == 0) { @; return 1; } @; return N * factorial(N - 1); @ })", + vars: ["N"], + args: function(d, b) { return singleRecursionDepth(d, b); }, + test: function(f) { return f(10) == 3628800; } + }, + { + text: "(function factorial_tail(N, Acc) { @; if (N == 0) { @; return Acc; } @; return factorial_tail(N - 1, Acc * N); @ })", + vars: ["N", "Acc"], + args: function(d, b) { return singleRecursionDepth(d, b) + ", 1"; }, + test: function(f) { return f(10, 1) == 3628800; } + }, + { + + text: "(function fibonacci(N) { @; if (N <= 1) { @; return 1; } @; return fibonacci(N - 1) + fibonacci(N - 2); @ })", + vars: ["N"], + args: function(d, b) { return "" + rnd(8); }, + test: function(f) { return f(6) == 13; } + }, + { + + text: "(function a_indexing(array, start) { @; if (array.length == start) { @; return EXPR1; } var thisitem = array[start]; var recval = a_indexing(array, start + 1); STATEMENT1 })", + vars: ["array", "start", "thisitem", "recval"], + args: function(d, b) { return makeMixedTypeArray(d-1, b) + ", 0"; }, + testSub: function(text) { return text.replace(/EXPR1/, "0").replace(/STATEMENT1/, "return thisitem + recval;"); }, + randSub: function(text, varMap, d, b) { + var expr1 = makeExpr(d, b.concat([varMap["array"], varMap["start"]])); + var statement1 = rnd(2) ? + makeStatement(d, b.concat([varMap["thisitem"], varMap["recval"]])) : + "return " + makeExpr(d, b.concat([varMap["thisitem"], varMap["recval"]])) + ";"; return (text.replace(/EXPR1/, expr1) + .replace(/STATEMENT1/, statement1) + ); }, + test: function(f) { return f([1,2,3,"4",5,6,7], 0) == "123418"; } + }, + { + + text: "(function sum_indexing(array, start) { @; return array.length == start ? 0 : array[start] + sum_indexing(array, start + 1); })", + vars: ["array", "start"], + args: function(d, b) { return makeMixedTypeArray(d-1, b) + ", 0"; }, + test: function(f) { return f([1,2,3,"4",5,6,7], 0) == "123418"; } + }, + { + text: "(function sum_slicing(array) { @; return array.length == 0 ? 0 : array[0] + sum_slicing(array.slice(1)); })", + vars: ["array"], + args: function(d, b) { return makeMixedTypeArray(d-1, b); }, + test: function(f) { return f([1,2,3,"4",5,6,7]) == "123418"; } + } +];function singleRecursionDepth(d, b) +{ + if (rnd(2) === 0) { + return "" + rnd(4); + } + if (rnd(10) === 0) { + return makeExpr(d - 2, b); + } + return "" + rnd(100000); +}(function testAllRecursiveFunctions() { + for (var i = 0; i < recursiveFunctions.length; ++i) { + var a = recursiveFunctions[i]; + var text = a.text; + if (a.testSub) text = a.testSub(text); + var f = eval(text.replace(/@/g, "")); + if (!a.test(f)) + throw "Failed test of: " + a.text; + } +})();function makeImmediateRecursiveCall(d, b, cheat1, cheat2) +{ + if (rnd(10) !== 0) + return "(4277)"; var a = (cheat1 == null) ? Random.index(recursiveFunctions) : recursiveFunctions[cheat1]; + var s = a.text; + var varMap = {}; + for (var i = 0; i < a.vars.length; ++i) { + var prettyName = a.vars[i]; + varMap[prettyName] = uniqueVarName(); + s = s.replace(new RegExp(prettyName, "g"), varMap[prettyName]); + } + var actualArgs = cheat2 == null ? a.args(d, b) : cheat2; + s = s + "(" + actualArgs + ")"; + s = s.replace(/@/g, function() { if (rnd(4) === 0) return makeStatement(d-2, b); return ""; }); + if (a.randSub) s = a.randSub(s, varMap, d, b); + s = "(" + s + ")"; + return s; +}/********************************* + * GENERATING REGEXPS AND INPUTS * + *********************************/var POTENTIAL_MATCHES = 10; +var backrefHack = []; +for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + backrefHack[i] = ""; +}function regexNumberOfMatches() +{ + if (rnd(10)) + return rnd(5); + return Math.pow(2, rnd(40)) + rnd(3) - 1; +}function regexPattern(depth, parentWasQuantifier) +{ + if (depth == 0 || (rnd(depth) == 0)) + return regexTerm(); var dr = depth - 1; var index = rnd(regexMakers.length); + if (parentWasQuantifier && rnd(30)) index = rnd(regexMakers.length - 1) + 1; + return (Random.index(regexMakers[index]))(dr); +}var regexMakers = +[ + [ + + function(dr) { return regexQuantified(dr, "+", 1, rnd(10)); }, + function(dr) { return regexQuantified(dr, "*", 0, rnd(10)); }, + function(dr) { return regexQuantified(dr, "?", 0, 1); }, + function(dr) { return regexQuantified(dr, "+?", 1, 1); }, + function(dr) { return regexQuantified(dr, "*?", 0, 1); }, + function(dr) { var x = regexNumberOfMatches(); return regexQuantified(dr, "{" + x + "}", x, x); }, + function(dr) { var x = regexNumberOfMatches(); return regexQuantified(dr, "{" + x + ",}", x, x + rnd(10)); }, + function(dr) { var min = regexNumberOfMatches(); var max = min + regexNumberOfMatches(); return regexQuantified(dr, "{" + min + "," + max + "}", min, max); } + ], + [ + + function(dr) { return regexConcatenation(dr); }, + function(dr) { return regexDisjunction(dr); } + ], + [ + + function(dr) { return ["\\" + (rnd(3) + 1), backrefHack.slice(0)]; }, + function(dr) { return regexGrouped("(", dr, ")"); }, + function(dr) { return regexGrouped("(?:", dr, ")"); }, + function(dr) { return regexGrouped("(?=", dr, ")"); }, + function(dr) { return regexGrouped("(?!", dr, ")"); } + ] +]; +function quantifierHelper(pm, min, max, pms) +{ + var repeats = Math.min(min + rnd(max - min + 5) - 2, 10); + var returnValue = ""; + for (var i = 0; i < repeats; i++) + { + if (rnd(100) < 80) + returnValue = returnValue + pm; + else + returnValue = returnValue + Random.index(pms); + } + return returnValue; +}function regexQuantified(dr, operator, min, max) +{ + var [re, pms] = regexPattern(dr, true); + var newpms = []; + for (var i = 0; i < POTENTIAL_MATCHES; i++) + newpms[i] = quantifierHelper(pms[i], min, max, pms); + return [re + operator, newpms]; +} +function regexConcatenation(dr) +{ + var [re1, strings1] = regexPattern(dr, false); + var [re2, strings2] = regexPattern(dr, false); + var newStrings = []; for (var i = 0; i < POTENTIAL_MATCHES; i++) + { + var chance = rnd(100); + if (chance < 10) + newStrings[i] = ""; + else if (chance < 20) + newStrings[i] = strings1[i]; + else if (chance < 30) + newStrings[i] = strings2[i]; + else if (chance < 65) + newStrings[i] = strings1[i] + strings2[i]; + else + newStrings[i] = Random.index(strings1) + Random.index(strings2); + } return [re1 + re2, newStrings]; +}function regexDisjunction(dr) +{ + var [re1, strings1] = regexPattern(dr, false); + var [re2, strings2] = regexPattern(dr, false); + var newStrings = []; for (var i = 0; i < POTENTIAL_MATCHES; i++) + { + var chance = rnd(100); + if (chance < 10) + newStrings[i] = ""; + else if (chance < 20) + newStrings[i] = Random.index(strings1) + Random.index(strings2); + else if (chance < 60) + newStrings[i] = strings1[i]; + else + newStrings[i] = strings2[i]; + } + return [re1 + "|" + re2, newStrings]; +}function regexGrouped(prefix, dr, postfix) +{ + var [re, strings] = regexPattern(dr, false); + var newStrings = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + newStrings[i] = rnd(5) ? strings[i] : ""; + if (prefix == "(" && strings[i].length < 40 && rnd(3) === 0) { + backrefHack[i] = strings[i]; + } + } + return [prefix + re + postfix, newStrings]; +} +var letters = +["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", + "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];var hexDigits = [ + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", + "a", "b", "c", "d", "e", "f", + "A", "B", "C", "D", "E", "F" +];function regexTerm() +{ + var [re, oneString] = regexTermPair(); + var strings = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + strings[i] = rnd(5) ? oneString : regexTermPair()[1]; + } + return [re, strings]; +}function regexCharCode() +{ + return rnd(2) ? rnd(256) : rnd(65536); +} +var regexCharacterMakers = Random.weighted([ + + { w:20, v: function() { var cc = regexCharCode(); return [ String.fromCharCode(cc), cc]; } }, + { w: 4, v: function() { var cc = regexCharCode(); return ["\\" + String.fromCharCode(cc), cc]; } }, + { w: 1, v: function() { return ["\\0", 0]; } }, + { w: 1, v: function() { return ["\\B", 66]; } }, + { w: 1, v: function() { return ["\\b", 8]; } }, + { w: 1, v: function() { return ["\\t", 9]; } }, + { w: 1, v: function() { return ["\\n", 10]; } }, + { w: 1, v: function() { return ["\\v", 11]; } }, + { w: 1, v: function() { return ["\\f", 12]; } }, + { w: 1, v: function() { return ["\\r", 13]; } }, + { w: 5, v: function() { var controlCharacterCode = rnd(26) + 1; return ["\\c" + String.fromCharCode(64 + controlCharacterCode), controlCharacterCode]; } }, + + { w: 5, v: function() { var twoHex = Random.index(hexDigits) + Random.index(hexDigits); return ["\\x" + twoHex, parseInt(twoHex, 16)]; } }, + { w: 5, v: function() { var twoHex = Random.index(hexDigits) + Random.index(hexDigits); return ["\\u00" + twoHex, parseInt(twoHex, 16)]; } }, + { w: 5, v: function() { var fourHex = Random.index(hexDigits) + Random.index(hexDigits) + Random.index(hexDigits) + Random.index(hexDigits); return ["\\u" + fourHex, parseInt(fourHex, 16)]; } }, +]);function regexCharacter() +{ + var [matcher, charcode] = Random.index(regexCharacterMakers)(); + switch(rnd(10)) { + case 0: return [matcher, charcode + 32]; + case 1: return [matcher, charcode - 32]; + case 2: return [matcher, regexCharCode()]; + default: return [matcher, charcode]; + } +} +var regexBuiltInCharClasses = [ + "\\d", "\\D", + "\\s", "\\S", + "\\w", "\\W", +]; +function regexOneCharStringsWith(frequentChars) { + var matches = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + matches.push(rnd(8) ? Random.index(frequentChars) : String.fromCharCode(regexCharCode())); + } + return matches; +} +function regexShortStringsWith(frequentChars) { + var matches = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + var s = ""; + while (rnd(3)) { + s += rnd(4) ? Random.index(frequentChars) : String.fromCharCode(regexCharCode()); + } + matches.push(s); + } + return matches; +}var regexTermMakers = + [ + function() { return regexCharacterClass(); }, + function() { var [re, cc] = regexCharacter(); return [re, regexOneCharStringsWith([String.fromCharCode(cc)])]; }, + function() { return [Random.index(regexBuiltInCharClasses), regexOneCharStringsWith(["0", "a", "_"])]; }, + function() { return ["[^]", regexOneCharStringsWith(["\n"])]; }, + function() { return [".", regexOneCharStringsWith(["\n"])]; }, + function() { return [Random.index(["^", "$"]), regexShortStringsWith(["\n"])]; }, + function() { return [Random.index(["\\b", "\\B"]), regexShortStringsWith([" ", "\n", "a", "1"])]; }, + ];function regexTerm() +{ + return Random.index(regexTermMakers)(); +}function regexCharacterClass() +{ + var ranges = rnd(5); + var inRange = rnd(2); + var charBucket = [String.fromCharCode(regexCharCode())]; var re = "["; + if (!inRange) { + re += "^"; + } var lo, hi; for (var i = 0; i < ranges; ++i) { + if (rnd(100) == 0) { + + re += "-"; + if (rnd(2)) { + re += String.fromCharCode(regexCharCode()); + } + } if (rnd(3) == 1) { + + re += Random.index(regexBuiltInCharClasses); + charBucket.push("a"); + charBucket.push("0"); + charBucket.push("_"); + } else if (rnd(2)) { + + var a = regexCharacter(); + var b = regexCharacter(); + if ((a[1] <= b[1]) == !!rnd(10)) { + [lo, hi] = [a, b]; + } else { + [lo, hi] = [b, a]; + } re += lo[0] + "-" + hi[0]; + charBucket.push(String.fromCharCode(lo[1] + rnd(3) - 1)); + charBucket.push(String.fromCharCode(hi[1] + rnd(3) - 1)); + charBucket.push(String.fromCharCode(lo[1] + rnd(Math.max(hi[1] - lo[1], 1)))); + } else { + + var a = regexCharacter(); + re += a[0]; + charBucket.push(String.fromCharCode(a[1])); + } + } re += "]"; + return [re, pickN(charBucket, POTENTIAL_MATCHES)]; +}function pickN(bucket, picks) +{ + var picked = []; + for (var i = 0; i < picks; ++i) { + picked.push(Random.index(bucket)); + } + return picked; +}function makeRegisterStompFunction(d, b, pure) +{ + var args = []; + var nArgs = (rnd(10) ? rnd(20) : rnd(100)) + 1; + for (var i = 0; i < nArgs; ++i) { + args.push("a" + i); + } var bv = b.concat(args); return ( + "(function(" + args.join(", ") + ") { " + + makeRegisterStompBody(d, bv, pure) + + "return " + Random.index(bv) + "; " + + "})" + ); +}function makeRegisterStompBody(d, b, pure) +{ + var bv = b.slice(0); + var lastRVar = 0; + var s = ""; function value() + { + return rnd(3) && bv.length ? Random.index(bv) : "" + rnd(10); + } function expr() + { + return value() + Random.index([" + ", " - ", " / ", " * ", " % ", " | ", " & ", " ^ "]) + value(); + } while (rnd(100)) { + if (bv.length == 0 || rnd(4)) { + var newVar = "r" + lastRVar; + ++lastRVar; + s += "var " + newVar + " = " + expr() + "; "; + bv.push(newVar); + } else if (rnd(5) === 0 && !pure) { + s += "print(" + Random.index(bv) + "); "; + } else { + s += Random.index(bv) + " = " + expr() + "; "; + } + } return s; +} +/*********************** + * TEST BUILT-IN TYPES * + ***********************/var makeBuilderStatement; +var makeEvilCallback;(function setUpBuilderStuff() { + var ARRAY_SIZE = 20; + var OBJECTS_PER_TYPE = 3; + var smallPowersOfTwo = [1, 2, 4, 8]; + function bufsize() { return rnd(ARRAY_SIZE) * Random.index(smallPowersOfTwo); } + function arrayIndex(d, b) { + switch(rnd(8)) { + case 0: return m("v"); + case 1: return makeExpr(d - 1, b); + case 2: return "({valueOf: function() { " + makeStatement(d, b) + "return " + rnd(ARRAY_SIZE) + "; }})"; + default: return "" + rnd(ARRAY_SIZE); + } + } + function m(t) + { + if (!t) + t = "aosmevbtihgfp"; + t = t.charAt(rnd(t.length)); + var name = t + rnd(OBJECTS_PER_TYPE); + switch(rnd(16)) { + case 0: return m("o") + "." + name; + case 1: return m("g") + "." + name; + case 2: return "this." + name; + default: return name; + } + } function val(d, b) + { + if (rnd(10)) + return m(); + return makeExpr(d, b); + } + function assign(d, b, t, rhs) + { + switch(rnd(18)) { + + case 0: return ( + "Object.defineProperty(" + + (rnd(8)?"this":m("og")) + ", " + + simpleSource(m(t)) + ", " + + "{ " + propertyDescriptorPrefix(d-1, b) + " get: function() { " + (rnd(8)?"":makeBuilderStatement(d-1,b)) + " return " + rhs + "; } }" + + ");" + ); + case 1: return Random.index(varBinder) + m(t) + " = " + rhs + ";"; + default: return m(t) + " = " + rhs + ";"; + } + } function makeCounterClosure(d, b) + { + + var v = uniqueVarName(); + var infrequently = infrequentCondition(v, 10); + return ( + "(function mcc_() { " + + "var " + v + " = 0; " + + "return function() { " + + "++" + v + "; " + + (rnd(3) ? + "if (" + infrequently + ") { dumpln('hit!'); " + makeBuilderStatements(d, b) + " } " + + "else { dumpln('miss!'); " + makeBuilderStatements(d, b) + " } " + : m("f") + "(" + infrequently + ");" + ) + + "};" + + "})()"); + } function fdecl(d, b) + { + var argName = m(); + var bv = b.concat([argName]); + return "function " + m("f") + "(" + argName + ") " + makeFunctionBody(d, bv); + } function makeBuilderStatements(d, b) + { + var s = ""; + var extras = rnd(4); + for (var i = 0; i < extras; ++i) { + s += "try { " + makeBuilderStatement(d - 2, b) + " } catch(e" + i + ") { } "; + } + s += makeBuilderStatement(d - 1, b); + return s; + } var builderFunctionMakers = Random.weighted([ + { w: 9, v: function(d, b) { return "(function() { " + makeBuilderStatements(d, b) + " return " + m() + "; })"; } }, + { w: 1, v: function(d, b) { return "(function() { " + makeBuilderStatements(d, b) + " throw " + m() + "; })"; } }, + { w: 1, v: function(d, b) { return "(function(j) { " + m("f") + "(j); })"; } }, + + { w: 4, v: function(d, b) { return "(function(j) { if (j) { " + makeBuilderStatements(d, b) + " } else { " + makeBuilderStatements(d, b) + " } })"; } }, + { w: 4, v: function(d, b) { return "(function() { for (var j=0;j<" + loopCount() + ";++j) { " + m("f") + "(j%"+(2+rnd(4))+"=="+rnd(2)+"); } })"; } }, + { w: 1, v: function(d, b) { return Random.index(builtinFunctions) + ".bind(" + m() + ")"; } }, + { w: 5, v: function(d, b) { return m("f"); } }, + { w: 3, v: makeCounterClosure }, + { w: 2, v: makeFunction }, + { w: 1, v: makeAsmJSModule }, + { w: 1, v: makeAsmJSFunction }, + { w: 1, v: makeRegisterStompFunction }, + ]); + makeEvilCallback = function(d, b) { + return (Random.index(builderFunctionMakers))(d - 1, b); + }; var handlerTraps = ["getOwnPropertyDescriptor", "getPropertyDescriptor", "defineProperty", "getOwnPropertyNames", "delete", "fix", "has", "hasOwn", "get", "set", "iterate", "enumerate", "keys"]; function forwardingHandler(d, b) { + return ( + "({"+ + "getOwnPropertyDescriptor: function(name) { Z; var desc = Object.getOwnPropertyDescriptor(X); desc.configurable = true; return desc; }, " + + "getPropertyDescriptor: function(name) { Z; var desc = Object.getPropertyDescriptor(X); desc.configurable = true; return desc; }, " + + "defineProperty: function(name, desc) { Z; Object.defineProperty(X, name, desc); }, " + + "getOwnPropertyNames: function() { Z; return Object.getOwnPropertyNames(X); }, " + + "delete: function(name) { Z; return delete X[name]; }, " + + "fix: function() { Z; if (Object.isFrozen(X)) { return Object.getOwnProperties(X); } }, " + + "has: function(name) { Z; return name in X; }, " + + "hasOwn: function(name) { Z; return Object.prototype.hasOwnProperty.call(X, name); }, " + + "get: function(receiver, name) { Z; return X[name]; }, " + + "set: function(receiver, name, val) { Z; X[name] = val; return true; }, " + + "iterate: function() { Z; return (function() { for (var name in X) { yield name; } })(); }, " + + "enumerate: function() { Z; var result = []; for (var name in X) { result.push(name); }; return result; }, " + + "keys: function() { Z; return Object.keys(X); } " + + "})" + ) + .replace(/X/g, m()) + .replace(/Z/g, function() { + switch(rnd(20)){ + case 0: return "return " + m(); + case 1: return "throw " + m(); + default: return makeBuilderStatement(d - 2, b); + } + }); + } function propertyDescriptorPrefix(d, b) + { + return "configurable: " + makeBoolean(d, b) + ", " + "enumerable: " + makeBoolean(d, b) + ", "; + } function strToEval(d, b) + { + switch(rnd(5)) { + case 0: return simpleSource(fdecl(d, b)); + case 1: return simpleSource(makeBuilderStatement(d, b)); + default: return simpleSource(makeScriptForEval(d, b)); + } + } function evaluateFlags(d, b) + { + + return ("({ global: " + m("g") + + ", fileName: " + Random.index(["'evaluate.js'", "null"]) + + ", lineNumber: 42, newContext: " + makeBoolean(d, b) + + ", isRunOnce: " + makeBoolean(d, b) + + ", noScriptRval: " + makeBoolean(d, b) + + ", catchTermination: " + makeBoolean(d, b) + + ", saveFrameChain: " + ("bug 881999" && rnd(10000) ? "false" : makeBoolean(d, b)) + + ((rnd(5) == 0) ? ( + ((rnd(2) == 0) ? (", element: " + m("o")) : "") + + ((rnd(2) == 0) ? (", elementProperty: " + m("s")) : "") + + ((rnd(2) == 0) ? (", sourceMapURL: " + m("s")) : "") + + ((rnd(2) == 0) ? (", sourcePolicy: " + Random.index(["'NO_SOURCE'", "'LAZY_SOURCE'", "'SAVE_SOURCE'"])) : "") + ) : "" + ) + + " })"); + } var initializedEverything = false; + function initializeEverything(d, b) + { + if (initializedEverything) + return ";"; + initializedEverything = true; var s = ""; + for (var i = 0; i < OBJECTS_PER_TYPE; ++i) { + s += "a" + i + " = []; "; + s += "o" + i + " = {}; "; + s += "s" + i + " = ''; "; + s += "r" + i + " = /x/; "; + s += "g" + i + " = " + makeGlobal(d, b) + "; "; + s += "f" + i + " = function(){}; "; + s += "m" + i + " = new WeakMap; "; + s += "e" + i + " = new Set; "; + s += "v" + i + " = null; "; + s += "b" + i + " = new ArrayBuffer(64); "; + s += "t" + i + " = new Uint8ClampedArray; "; + + } + return s; + } + + + + function method(d, b, clazz, obj, meth, arglist) + { + + if (rnd(10) == 0) + arglist = []; + while (rnd(2)) + arglist.push(val(d, b)); + switch (rnd(4)) { + case 0: return clazz + ".prototype." + meth + ".apply(" + obj + ", [" + arglist.join(", ") + "])"; + case 1: return clazz + ".prototype." + meth + ".call(" + [obj].concat(arglist).join(", ") + ")"; + default: return obj + "." + meth + "(" + arglist.join(", ") + ")"; + } + } function severalargs(f) + { + var arglist = []; + arglist.push(f()); + while (rnd(2)) { + arglist.push(f()); + } + return arglist; + } var builderStatementMakers = Random.weighted([ + + { w: 1, v: function(d, b) { return assign(d, b, "a", "[]"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", "new Array"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", makeIterable(d, b)); } }, + { w: 1, v: function(d, b) { return m("a") + ".length = " + arrayIndex(d, b) + ";"; } }, + { w: 8, v: function(d, b) { return assign(d, b, "v", m("at") + ".length"); } }, + { w: 4, v: function(d, b) { return m("at") + "[" + arrayIndex(d, b) + "]" + " = " + val(d, b) + ";"; } }, + { w: 4, v: function(d, b) { return val(d, b) + " = " + m("at") + "[" + arrayIndex(d, b) + "]" + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", makeFunOnCallChain(d, b) + ".arguments"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", "arguments"); } }, + { w: 3, v: function(d, b) { return m("at") + "[" + arrayIndex(d, b) + "]" + ";"; } }, + { w: 3, v: function(d, b) { return m("at") + "[" + arrayIndex(d, b) + "] = " + makeExpr(d, b) + ";"; } }, + { w: 1, v: function(d, b) { return "/*ADP-1*/Object.defineProperty(" + m("a") + ", " + arrayIndex(d, b) + ", " + makePropertyDescriptor(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "/*ADP-2*/Object.defineProperty(" + m("a") + ", " + arrayIndex(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "get: " + makeEvilCallback(d,b) + ", set: " + makeEvilCallback(d, b) + " });"; } }, + { w: 1, v: function(d, b) { return "/*ADP-3*/Object.defineProperty(" + m("a") + ", " + arrayIndex(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "writable: " + makeBoolean(d,b) + ", value: " + val(d, b) + " });"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "push", severalargs(() => val(d, b))) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "pop", []) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "unshift", severalargs(() => val(d, b))) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "shift", []) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "reverse", []) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "sort", [makeEvilCallback(d, b)]) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "splice", [arrayIndex(d, b) - arrayIndex(d, b), arrayIndex(d, b)]) + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", method(d, b, "Array", m("a"), "join", [m("s")])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "concat", severalargs(() => m("at")))); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "slice", [arrayIndex(d, b) - arrayIndex(d, b), arrayIndex(d, b) - arrayIndex(d, b)])); } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "forEach", [makeEvilCallback(d, b)]) + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "map", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "filter", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), "some", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), "every", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), Random.index(["reduce, reduceRight"]), [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), Random.index(["reduce, reduceRight"]), [makeEvilCallback(d, b), val(d, b)])); } }, + + + + + { w: 1, v: function(d, b) { return assign(d, b, "o", "{}"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "o", "new Object"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "o", "Object.create(" + val(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return "selectforgc(" + m("o") + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", "''"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", "new String"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", "new String(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", m("s") + ".charAt(" + arrayIndex(d, b) + ")"); } }, + { w: 5, v: function(d, b) { return m("s") + " += 'x';"; } }, + { w: 5, v: function(d, b) { return m("s") + " += " + m("s") + ";"; } }, + + { w: 1, v: function(d, b) { return assign(d, b, "m", "new Map"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "m", "new Map(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "m", "new WeakMap"); } }, + { w: 5, v: function(d, b) { return m("m") + ".has(" + val(d, b) + ");"; } }, + { w: 4, v: function(d, b) { return m("m") + ".get(" + val(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, null, m("m") + ".get(" + val(d, b) + ")"); } }, + { w: 5, v: function(d, b) { return m("m") + ".set(" + val(d, b) + ", " + val(d, b) + ");"; } }, + { w: 3, v: function(d, b) { return m("m") + ".delete(" + val(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "e", "new Set"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "e", "new Set(" + m() + ")"); } }, + { w: 5, v: function(d, b) { return m("e") + ".has(" + val(d, b) + ");"; } }, + { w: 5, v: function(d, b) { return m("e") + ".add(" + val(d, b) + ");"; } }, + { w: 3, v: function(d, b) { return m("e") + ".delete(" + val(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "b", "new " + arrayBufferType() + "(" + bufsize() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "b", m("t") + ".buffer"); } }, + { w: 1, v: function(d, b) { return "neuter(" + m("b") + ", " + (rnd(2) ? '"same-data"' : '"change-data"') + ");"; } }, + + { w: 1, v: function(d, b) { return assign(d, b, "t", "new " + Random.index(typedArrayConstructors) + "(" + arrayIndex(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return assign(d, b, "t", "new " + Random.index(typedArrayConstructors) + "(" + m("abt") + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "t", "new " + Random.index(typedArrayConstructors) + "(" + m("b") + ", " + bufsize() + ", " + arrayIndex(d, b) + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "t", m("t") + ".subarray(" + arrayIndex(d, b) + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "t", m("t") + ".subarray(" + arrayIndex(d, b) + ", " + arrayIndex(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return m("t") + ".set(" + m("at") + ", " + arrayIndex(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m("tb") + ".byteLength"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m("t") + ".byteOffset"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m("t") + ".BYTES_PER_ELEMENT"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "h", "{}"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "h", forwardingHandler(d, b)); } }, + { w: 1, v: function(d, b) { return "delete " + m("h") + "." + Random.index(handlerTraps) + ";"; } }, + { w: 4, v: function(d, b) { return m("h") + "." + Random.index(handlerTraps) + " = " + makeEvilCallback(d, b) + ";"; } }, + { w: 4, v: function(d, b) { return m("h") + "." + Random.index(handlerTraps) + " = " + m("f") + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, null, "Proxy.create(" + m("h") + ", " + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "f", "Proxy.createFunction(" + m("h") + ", " + m("f") + ", " + m("f") + ")"); } }, + + + { w: 1, v: function(d, b) { return assign(d, b, "r", makeRegex(d, b)); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", m("r") + ".exec(" + m("s") + ")"); } }, + { w: 3, v: function(d, b) { return makeRegexUseBlock(d, b, m("r")); } }, + { w: 3, v: function(d, b) { return makeRegexUseBlock(d, b, m("r"), m("s")); } }, + { w: 3, v: function(d, b) { return assign(d, b, "v", m("r") + "." + Random.index(builtinObjects["RegExp.prototype"])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "g", makeGlobal(d, b)); } }, + { w: 5, v: function(d, b) { return assign(d, b, "v", m("g") + ".eval(" + strToEval(d, b) + ")"); } }, + { w: 5, v: function(d, b) { return assign(d, b, "v", "evalcx(" + strToEval(d, b) + ", " + m("g") + ")"); } }, + { w: 5, v: function(d, b) { return assign(d, b, "v", "evaluate(" + strToEval(d, b) + ", " + evaluateFlags(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return "(void schedulegc(" + m("g") + "));"; } }, + { w: 3, v: function(d, b) { return "/*MXX1*/" + assign(d, b, "o", m("g") + "." + Random.index(builtinProperties)); } }, + { w: 3, v: function(d, b) { return "/*MXX2*/" + m("g") + "." + Random.index(builtinProperties) + " = " + m() + ";"; } }, + { w: 3, v: function(d, b) { var prop = Random.index(builtinProperties); return "/*MXX3*/" + m("g") + "." + prop + " = " + m("g") + "." + prop + ";"; } }, + + { w: 1, v: function(d, b) { return assign(d, b, "f", makeEvilCallback(d, b)); } }, + { w: 1, v: fdecl }, + { w: 2, v: function(d, b) { return m("f") + "(" + m() + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "i", "new Iterator(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "i", "new Iterator(" + m() + ", true)"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "i", m("ema") + "." + Random.index(["entries", "keys", "values", "iterator"])); } }, + { w: 3, v: function(d, b) { return m("i") + ".next();"; } }, + { w: 3, v: function(d, b) { return m("i") + ".send(" + m() + ");"; } }, + + { w: 2, v: function(d, b) { return assign(d, b, "v", Random.index(["4", "4.2", "NaN", "0", "-0", "Infinity", "-Infinity"])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", "new Number(" + Random.index(["4", "4.2", "NaN", "0", "-0", "Infinity", "-Infinity"]) + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", "new Number(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", makeBoolean(d, b)); } }, + { w: 2, v: function(d, b) { return assign(d, b, "v", Random.index(["undefined", "null", "true", "false"])); } }, + { w: 1, v: function(d, b) { return "/*ODP-1*/Object.defineProperty(" + m() + ", " + makePropertyName(d, b) + ", " + makePropertyDescriptor(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "/*ODP-2*/Object.defineProperty(" + m() + ", " + makePropertyName(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "get: " + makeEvilCallback(d,b) + ", set: " + makeEvilCallback(d, b) + " });"; } }, + { w: 1, v: function(d, b) { return "/*ODP-3*/Object.defineProperty(" + m() + ", " + makePropertyName(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "writable: " + makeBoolean(d,b) + ", value: " + val(d, b) + " });"; } }, + { w: 1, v: function(d, b) { return "Object.prototype.watch.call(" + m() + ", " + makePropertyName(d, b) + ", " + makeEvilCallback(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "Object.prototype.unwatch.call(" + m() + ", " + makePropertyName(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "delete " + m() + "[" + makePropertyName(d, b) + "];"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m() + "[" + makePropertyName(d, b) + "]"); } }, + { w: 1, v: function(d, b) { return m() + "[" + makePropertyName(d, b) + "] = " + val(d, b) + ";"; } }, + { w: 5, v: function(d, b) { return "print(" + m() + ");"; } }, + { w: 5, v: function(d, b) { return "print(uneval(" + m() + "));"; } }, + { w: 5, v: function(d, b) { return m() + ".toString = " + makeEvilCallback(d, b) + ";"; } }, + { w: 5, v: function(d, b) { return m() + ".toSource = " + makeEvilCallback(d, b) + ";"; } }, + { w: 5, v: function(d, b) { return m() + ".valueOf = " + makeEvilCallback(d, b) + ";"; } }, + { w: 2, v: function(d, b) { return m() + ".__iterator__ = " + makeEvilCallback(d, b) + ";"; } }, + { w: 1, v: function(d, b) { return m() + " = " + m() + ";"; } }, + { w: 1, v: function(d, b) { return m() + " = " + m("g") + ".objectEmulatingUndefined();"; } }, + { w: 1, v: function(d, b) { return m("o") + " = " + m() + ".__proto__;"; } }, + { w: 5, v: function(d, b) { return m() + ".__proto__ = " + m() + ";"; } }, + { w: 10, v: function(d, b) { return "for (var p in " + m() + ") { " + makeBuilderStatements(d, b) + " }"; } }, + { w: 10, v: function(d, b) { return "for (var v of " + m() + ") { " + makeBuilderStatements(d, b) + " }"; } }, + { w: 10, v: function(d, b) { return m() + " + " + m() + ";"; } }, + { w: 10, v: function(d, b) { return m() + " + '';"; } }, + { w: 10, v: function(d, b) { return m("v") + " = (" + m() + " instanceof " + m() + ");"; } }, + { w: 10, v: function(d, b) { return m("v") + " = Object.prototype.isPrototypeOf.call(" + m() + ", " + m() + ");"; } }, + { w: 2, v: function(d, b) { return "Object." + Random.index(["preventExtensions", "seal", "freeze"]) + "(" + m() + ");"; } }, + { w: 1, v: function(d, b) { return m() + " = x;"; } }, + { w: 1, v: function(d, b) { return "x = " + m() + ";"; } }, + { w: 5, v: makeStatement }, { w: 5, v: initializeEverything }, + ]); + makeBuilderStatement = function(d, b) { + return (Random.index(builderStatementMakers))(d - 1, b); + }; +})(); +function infrequentCondition(v, n) +{ + switch (rnd(20)) { + case 0: return true; + case 1: return false; + case 2: return v + " > " + rnd(n); + default: var mod = rnd(n) + 2; var target = rnd(mod); return "/*ICCD*/" + v + " % " + mod + (rnd(8) ? " == " : " != ") + target; + } +}var arrayBufferType = "SharedArrayBuffer" in this ? + function() { return rnd(2) ? "SharedArrayBuffer" : "ArrayBuffer"; } : + function() { return "ArrayBuffer"; };/*************************** + * TEST ASM.JS CORRECTNESS * + ***************************/ +var compareAsm = (function() { function isSameNumber(a, b) + { + if (!(typeof a == "number" && typeof b == "number")) + return false; + if (a === 0 && b === 0) + return 1/a === 1/b; + return a === b || (a !== a && b !== b); + } var asmvals = [ + 1, Math.PI, 42, + + 0, -0, 0/0, 1/0, -1/0, + + 0x07fffffff, 0x080000000, 0x080000001, + -0x07fffffff, -0x080000000, -0x080000001, + 0x0ffffffff, 0x100000000, 0x100000001, + -0x0ffffffff, -0x100000000, 0x100000001, + + Number.MIN_VALUE, -Number.MIN_VALUE, + Number.MAX_VALUE, -Number.MAX_VALUE, + ]; + var asmvalsLen = asmvals.length; function compareUnaryFunctions(f, g) + { + for (var i = 0; i < asmvalsLen; ++i) { + var x = asmvals[i]; + var fr = f(x); + var gr = g(x); + if (!isSameNumber(fr, gr)) { + foundABug("asm mismatch", "(" + uneval(x) + ") -> " + uneval(fr) + " vs " + uneval(gr)); + } + } + } function compareBinaryFunctions(f, g) + { + for (var i = 0; i < asmvalsLen; ++i) { + var x = asmvals[i]; + for (var j = 0; j < asmvalsLen; ++j) { + var y = asmvals[j]; + var fr = f(x, y); + var gr = g(x, y); + if (!isSameNumber(fr, gr)) { + foundABug("asm mismatch", "(" + uneval(x) + ", " + uneval(y) + ") -> " + uneval(fr) + " vs " + uneval(gr)); + } + } + } + } return {compareUnaryFunctions: compareUnaryFunctions, compareBinaryFunctions: compareBinaryFunctions}; +})();function nanBitsMayBeVisible(s) +{ + + return (s.indexOf("Uint") != -1 || s.indexOf("Int") != -1) + (s.indexOf("Float32Array") != -1) + (s.indexOf("Float64Array") != -1) > 1; +}var pureForeign = { + identity: function(x) { return x; }, + quadruple: function(x) { return x * 4; }, + half: function(x) { return x / 2; }, + + asString: function(x) { return uneval(x); }, + asValueOf: function(x) { return { valueOf: function() { return x; } }; }, + + sum: function() { var s = 0; for (var i = 0; i < arguments.length; ++i) s += arguments[i]; return s; }, + + stomp: function() { }, +};for (var f in unaryMathFunctions) { + pureForeign["Math_" + unaryMathFunctions[f]] = Math[unaryMathFunctions[f]]; +}for (var f in binaryMathFunctions) { + pureForeign["Math_" + binaryMathFunctions[f]] = Math[binaryMathFunctions[f]]; +}var pureMathNames = Object.keys(pureForeign);function generateAsmDifferential() +{ + var foreignFunctions = rnd(10) ? [] : pureMathNames; + return asmJSInterior(foreignFunctions, true); +}function testAsmDifferential(stdlib, interior) +{ + if (nanBitsMayBeVisible(interior)) { + dumpln("Skipping correctness test for asm module that could expose low bits of NaN"); + return; + } var asmJs = "(function(stdlib, foreign, heap) { 'use asm'; " + interior + " })"; + var asmModule = eval(asmJs); if (isAsmJSModule(asmModule)) { + var asmHeap = new ArrayBuffer(4096); + (new Int32Array(asmHeap))[0] = 0x12345678; + var asmFun = asmModule(stdlib, pureForeign, asmHeap); var normalHeap = new ArrayBuffer(4096); + (new Int32Array(normalHeap))[0] = 0x12345678; + var normalJs = "(function(stdlib, foreign, heap) { " + interior + " })"; + var normalModule = eval(normalJs); + var normalFun = normalModule(stdlib, pureForeign, normalHeap); compareAsm.compareBinaryFunctions(asmFun, normalFun); + } +} +function startAsmDifferential() +{ + var asmFuzzSeed = 110798809; //Math.floor(Math.random() * Math.pow(2,28)); + // dumpln("asmFuzzSeed: " + asmFuzzSeed); + Random.init(asmFuzzSeed); while (true) { var stompStr = makeRegisterStompFunction(8, [], true); + print(stompStr); + pureForeign.stomp = eval(stompStr); for (var i = 0; i < 100; ++i) { + var interior = generateAsmDifferential(); + print(interior); + testAsmDifferential(this, interior); + } + gc(); + } +}var numericVals = [ + "1", "Math.PI", "42", + + "0", "-0", "0/0", "1/0", "-1/0", + + "0x07fffffff", "0x080000000", "0x080000001", + "-0x07fffffff", "-0x080000000", "-0x080000001", + "0x0ffffffff", "0x100000000", "0x100000001", + "-0x0ffffffff", "-0x100000000", "0x100000001", + + "Number.MIN_VALUE", "-Number.MIN_VALUE", + "Number.MAX_VALUE", "-Number.MAX_VALUE", +];var confusableVals = [ + "0", + "0.1", + "-0", + "''", + "'0'", + "'\\0'", + "[]", + "[0]", + "/0/", + "'/0/'", + "1", + "({toString:function(){return '0';}})", + "({valueOf:function(){return 0;}})", + "({valueOf:function(){return '0';}})", + "false", + "true", + "undefined", + "null", + "(function(){return 0;})", + "NaN", + "(new Boolean(false))", + "(new Boolean(true))", + "(new String(''))", + "(new Number(0))", + "(new Number(-0))", + "objectEmulatingUndefined()", +];function hashStr(s) +{ + var hash = 0; + var L = s.length; + for (var i = 0; i < L; i++) { + var c = s.charCodeAt(i); + hash = (Math.imul(hash, 31) + c) | 0; + } + return hash; +}function testMathyFunction(f, inputs) +{ + var results = []; + if (f) { + for (var j = 0; j < inputs.length; ++j) { + for (var k = 0; k < inputs.length; ++k) { + try { + results.push(f(inputs[j], inputs[k])); + } catch(e) { + results.push(errorToString(e)); + } + } + } + } + /* Use uneval to distinguish -0, 0, "0", etc. */ + /* Use hashStr to shorten the output and keep compareJIT files small. */ + print(hashStr(uneval(results))); +}function mathInitFCM() +{ + + var cookie = "/*F" + "CM*/"; print(cookie + hashStr.toString().replace(/\n/g, " ")); + print(cookie + testMathyFunction.toString().replace(/\n/g, " ")); +}function makeMathyFunAndTest(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var i = rnd(NUM_MATH_FUNCTIONS); + var s = ""; if (rnd(5)) { + if (rnd(8)) { + s += "mathy" + i + " = " + makeMathFunction(6, b, i) + "; "; + } else { + s += "mathy" + i + " = " + makeAsmJSFunction(6, b) + "; "; + } + } if (rnd(5)) { + var inputsStr; + switch(rnd(8)) { + case 0: inputsStr = makeMixedTypeArray(d - 1, b); break; + case 1: inputsStr = "[" + Random.shuffled(confusableVals).join(", ") + "]"; break; + default: inputsStr = "[" + Random.shuffled(numericVals).join(", ") + "]"; break; + } s += "testMathyFunction(mathy" + i + ", " + inputsStr + "); "; + } return s; +}function makeMathyFunRef(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return "mathy" + rnd(NUM_MATH_FUNCTIONS); +}/******************************* + * EXECUTION CONSISTENCY TESTS * + *******************************/function sandboxResult(code, zone) +{ + + var result; + var resultStr = ""; + try { + + + var sandbox = newGlobal({sameZoneAs: zone}); result = evalcx(code, sandbox); + if (typeof result != "object") { + + resultStr = "" + result; + } + } catch(e) { + result = "Error: " + errorToString(e); + } + + return resultStr; +}function nestingConsistencyTest(code) +{ + + + function nestExpr(e) { return "(function() { return " + code + "; })()"; } + var codeNestedOnce = nestExpr(code); + var codeNestedDeep = code; + var depth = (count % 7) + 14; + for (var i = 0; i < depth; ++i) { + codeNestedDeep = nestExpr(codeNestedDeep); + } + var resultO = sandboxResult(codeNestedOnce, null); var resultD = sandboxResult(codeNestedDeep, null); + if (resultO != resultD) { + foundABug("NestTest mismatch", + "resultO: " + resultO + "\n" + + "resultD: " + resultD); + } +} +function optionalTests(f, code, wtt) +{ + if (count % 100 == 1) { + tryHalves(code); + } if (count % 100 == 2 && engine == ENGINE_SPIDERMONKEY_TRUNK) { + try { + Reflect.parse(code); + } catch(e) { + } + } if (count % 100 == 3 && f && typeof disassemble == "function") { + + + disassemble("-r", f); + } if (0 && f && wtt.allowExec && engine == ENGINE_SPIDERMONKEY_TRUNK) { + simpleDVGTest(code); + tryEnsureSanity(); + } if (count % 100 == 6 && f && wtt.allowExec && wtt.expectConsistentOutput && wtt.expectConsistentOutputAcrossIter + && engine == ENGINE_SPIDERMONKEY_TRUNK && getBuildConfiguration()['more-deterministic']) { + nestingConsistencyTest(code); + } +} +function simpleDVGTest(code) +{ + var fullCode = "(function() { try { \n" + code + "\n; throw 1; } catch(exx) { this.nnn.nnn } })()"; try { + eval(fullCode); + } catch(e) { + if (e.message != "this.nnn is undefined" && e.message.indexOf("redeclaration of") == -1) { + + foundABug("Wrong error " + "message", e); + } + } +} +function tryHalves(code) +{ + var f, firstHalf, secondHalf; try { firstHalf = code.substr(0, code.length / 2); + if (verbose) + dumpln("First half: " + firstHalf); + f = new Function(firstHalf); + void ("" + f); + } + catch(e) { + if (verbose) + dumpln("First half compilation error: " + e); + } try { + secondHalf = code.substr(code.length / 2, code.length); + if (verbose) + dumpln("Second half: " + secondHalf); + f = new Function(secondHalf); + void ("" + f); + } + catch(e) { + if (verbose) + dumpln("Second half compilation error: " + e); + } +}/***************** + * USING REGEXPS * + *****************/function randomRegexFlags() { + var s = ""; + if (rnd(2)) + s += "g"; + if (rnd(2)) + s += "y"; + if (rnd(2)) + s += "i"; + if (rnd(2)) + s += "m"; + return s; +}function toRegexSource(rexpat) +{ + return (rnd(2) === 0 && rexpat.charAt(0) != "*") ? + "/" + rexpat + "/" + randomRegexFlags() : + "new RegExp(" + simpleSource(rexpat) + ", " + simpleSource(randomRegexFlags()) + ")"; +}function makeRegexUseBlock(d, b, rexExpr, strExpr) +{ + var rexpair = regexPattern(10, false); + var rexpat = rexpair[0]; + var str = rexpair[1][rnd(POTENTIAL_MATCHES)]; if (!rexExpr) rexExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : toRegexSource(rexpat); + if (!strExpr) strExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : simpleSource(str); var bv = b.concat(["s", "r"]); return ("/*RXUB*/var r = " + rexExpr + "; " + + "var s = " + strExpr + "; " + + "print(" + + Random.index([ + "r.exec(s)", + "uneval(r.exec(s))", + "r.test(s)", + "s.match(r)", + "uneval(s.match(r))", + "s.search(r)", + "s.replace(r, " + makeReplacement(d, bv) + (rnd(3) ? "" : ", " + simpleSource(randomRegexFlags())) + ")", + "s.split(r)" + ]) + + "); " + + (rnd(3) ? "" : "print(r.lastIndex); ") + ); +}function makeRegexUseExpr(d, b) +{ + var rexpair = regexPattern(8, false); + var rexpat = rexpair[0]; + var str = rexpair[1][rnd(POTENTIAL_MATCHES)]; var rexExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : toRegexSource(rexpat); + var strExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : simpleSource(str); return "/*RXUE*/" + rexExpr + ".exec(" + strExpr + ")"; +}function makeRegex(d, b) +{ + var rexpair = regexPattern(8, false); + var rexpat = rexpair[0]; + var rexExpr = toRegexSource(rexpat); + return rexExpr; +}function makeReplacement(d, b) +{ + switch(rnd(3)) { + case 0: return Random.index(["''", "'x'", "'\\u0341'"]); + case 1: return makeExpr(d, b); + default: return makeFunction(d, b); + } +}function start(glob) +{ + var fuzzSeed = 110798809;//Math.floor(Math.random() * Math.pow(2,28)); + dumpln("fuzzSeed: " + fuzzSeed); + Random.init(fuzzSeed); + + + var cookie = "/*F"; + cookie += "RC*/"; + var dumpEachSeed = false; if (dumpEachSeed) { + dumpln(cookie + "Random.init(0);"); + } mathInitFCM(); count = 0; if (jsshell) { + + var MAX_TOTAL_TIME = (glob.maxRunTime) || (Infinity); + var startTime = new Date(); + var lastTime; do { + testOne(); + var elapsed1 = new Date() - lastTime; + if (elapsed1 > 1000) { + print("That took " + elapsed1 + "ms!"); + } + lastTime = new Date(); + } while(lastTime - startTime < MAX_TOTAL_TIME); + } else { + setTimeout(testStuffForAWhile, 200); + } function testStuffForAWhile() + { + for (var j = 0; j < 100; ++j) + testOne(); if (count % 10000 < 100) + printImportant("Iterations: " + count); setTimeout(testStuffForAWhile, 30); + } function testOne() + { + ++count; + + var depth = 14; if (dumpEachSeed) { + + var MTA = uneval(Random.twister.export_mta()); + var MTI = Random.twister.export_mti(); + if (MTA != Random.lastDumpedMTA) { + dumpln(cookie + "Random.twister.import_mta(" + MTA + ");"); + Random.lastDumpedMTA = MTA; + } + dumpln(cookie + "Random.twister.import_mti(" + MTI + "); void (makeScript(" + depth + "));"); + } var code = makeScript(depth); if (count == 1 && engine == ENGINE_SPIDERMONKEY_TRUNK && rnd(5)) { + code = "tryRunning = useSpidermonkeyShellSandbox(" + rnd(4) + ");"; + + } + + + + + dumpln(cookie + "count=" + count + "; tryItOut(" + uneval(code) + ");"); tryItOut(code); + } +} +function failsToCompileInTry(code) { + + try { + var codeInTry = "try { " + code + " } catch(e) { }"; + void new Function(codeInTry); + return false; + } catch(e) { + return true; + } +}/********************* + * SANDBOXED RUNNING * + *********************/var tryRunning = xpcshell ? useGeckoSandbox() : tryRunningDirectly; +function fillShellSandbox(sandbox) +{ + var safeFuns = [ + "print", + "schedulegc", "selectforgc", "gczeal", "gc", "gcslice", + "verifyprebarriers", "gcPreserveCode", + "minorgc", "abortgc", + "evalcx", "newGlobal", "evaluate", + "dumpln", "fillShellSandbox", + "testMathyFunction", "hashStr", + "isAsmJSCompilationAvailable", + ]; for (var i = 0; i < safeFuns.length; ++i) { + var fn = safeFuns[i]; + if (sandbox[fn]) { + + } else if (this[fn]) { + sandbox[fn] = this[fn].bind(this); + } else { + + } + } return sandbox; +}function useSpidermonkeyShellSandbox(sandboxType) +{ + var primarySandbox; switch (sandboxType) { + case 0: primarySandbox = evalcx(''); + case 1: primarySandbox = evalcx('lazy'); + case 2: primarySandbox = newGlobal({sameZoneAs: {}}); + default: primarySandbox = newGlobal(); + } fillShellSandbox(primarySandbox); return function(f, code, wtt) { + try { + evalcx(code, primarySandbox); + } catch(e) { + dumpln("Running in sandbox threw " + errorToString(e)); + } + }; +} +function newGeckoSandbox(n) +{ + var t = (typeof n == "number") ? n : 1; + var s = Components.utils.Sandbox("http://x" + t + ".example.com/"); + s.newGeckoSandbox = newGeckoSandbox; + s.evalInSandbox = function(str, sbx) { + return Components.utils.evalInSandbox(str, sbx); + }; + s.print = function(str) { print(str); }; return s; +}function useGeckoSandbox() { + var primarySandbox = newGeckoSandbox(0); return function(f, code, wtt) { + try { + Components.utils.evalInSandbox(code, primarySandbox); + } catch(e) { + + } + }; +} +/*********************** + * UNSANDBOXED RUNNING * + ***********************/function directEvalC(s) { var c; /* evil closureizer */ return eval(s); } function newFun(s) { return new Function(s); }function tryRunningDirectly(f, code, wtt) +{ + if (count % 23 == 3) { + dumpln("Plain eval!"); + try { eval(code); } catch(e) { } + tryEnsureSanity(); + return; + } if (count % 23 == 4) { + dumpln("About to recompile, using eval hack."); + f = directEvalC("(function(){" + code + "});"); + } try { + if (verbose) + dumpln("About to run it!"); + var rv = f(); + if (verbose) + dumpln("It ran!"); + if (wtt.allowIter && rv && typeof rv == "object") { + tryIteration(rv); + } + } catch(runError) { + if(verbose) + dumpln("Running threw! About to toString to error."); + var err = errorToString(runError); + dumpln("Running threw: " + err); + } tryEnsureSanity(); +}var realEval = eval; +var realMath = Math; +var realFunction = Function; +var realGC = gc; +var realUneval = uneval; +var realToString = toString; +var realToSource = this.toSource; +function tryEnsureSanity() +{ + + + try { + if (typeof resetOOMFailure == "function") + resetOOMFailure(); + } catch(e) { } try { + + + if (typeof gczeal == "function") + gczeal(0); + } catch(e) { } + try { eval(""); } catch(e) { dumpln("That really shouldn't have thrown: " + errorToString(e)); } if (!this) { + + return; + } try { + + delete this.unwatch; + if ('unwatch' in this) { + this.unwatch("eval"); + this.unwatch("Function"); + this.unwatch("gc"); + this.unwatch("uneval"); + this.unwatch("toSource"); + this.unwatch("toString"); + } if ('__defineSetter__' in this) { + + if (!jsStrictMode) + delete this.eval; + delete this.Math; + delete this.Function; + delete this.gc; + delete this.uneval; + delete this.toSource; + delete this.toString; + } this.Math = realMath; + this.eval = realEval; + this.Function = realFunction; + this.gc = realGC; + this.uneval = realUneval; + this.toSource = realToSource; + this.toString = realToString; + } catch(e) { + confused("tryEnsureSanity failed: " + errorToString(e)); + } + if (this.eval != realEval) + confused("Fuzz script replaced |eval|"); + if (Function != realFunction) + confused("Fuzz script replaced |Function|"); +}function tryIteration(rv) +{ + try { + if (Iterator(rv) !== rv) + return; + } + catch(e) { + + dumpln("Error while trying to determine whether it's an iterator!"); + dumpln("The error was: " + e); + return; + } dumpln("It's an iterator!"); + try { + var iterCount = 0; + for (var iterValue of rv) + ++iterCount; + dumpln("Iterating succeeded, iterCount == " + iterCount); + } catch (iterError) { + dumpln("Iterating threw!"); + dumpln("Iterating threw: " + errorToString(iterError)); + } +}function tryItOut(code) +{ + + if (typeof gczeal == "function") + gczeal(0); + if (count % 1000 == 0) { + dumpln("Paranoid GC (count=" + count + ")!"); + realGC(); + } var wtt = whatToTest(code); if (!wtt.allowParse) + return; code = code.replace(/\/\*DUPTRY\d+\*\//, function(k) { var n = parseInt(k.substr(8), 10); dumpln(n); return strTimes("try{}catch(e){}", n); }); + + if (jsStrictMode) + code = "'use strict'; " + code; var f; + try { + f = new Function(code); + } catch(compileError) { + dumpln("Compiling threw: " + errorToString(compileError)); + } if (f && wtt.allowExec && wtt.expectConsistentOutput && wtt.expectConsistentOutputAcrossJITs) { + if (code.indexOf("\n") == -1 && code.indexOf("\r") == -1 && code.indexOf("\f") == -1 && code.indexOf("\0") == -1 && + code.indexOf("\u2028") == -1 && code.indexOf("\u2029") == -1 && + code.indexOf("<--") == -1 && code.indexOf("-->") == -1 && code.indexOf("//") == -1) { + + var cookie1 = "/*F"; + var cookie2 = "CM*/"; + var nCode = code; + + + + + if (nCode.indexOf("return") != -1 || nCode.indexOf("yield") != -1 || nCode.indexOf("const") != -1 || failsToCompileInTry(nCode)) + nCode = "(function(){" + nCode + "})()"; + dumpln(cookie1 + cookie2 + " try { " + nCode + " } catch(e) { }"); + } + } if (tryRunning != tryRunningDirectly) { + optionalTests(f, code, wtt); + } if (wtt.allowExec && f) { + tryRunning(f, code, wtt); + } if (verbose) + dumpln("Done trying out that function!"); dumpln(""); +} +var count = 0; +var verbose = false; + +/*FRC*/Random.init(0); +/*FCM*/function hashStr(s) { var hash = 0; var L = s.length; for (var i = 0; i < L; i++) { var c = s.charCodeAt(i); hash = (Math.imul(hash, 31) + c) | 0; } return hash; } +/*FCM*/function testMathyFunction(f, inputs) { var results = []; if (f) { for (var j = 0; j < inputs.length; ++j) { for (var k = 0; k < inputs.length; ++k) { try { results.push(f(inputs[j], inputs[k])); } catch(e) { results.push(errorToString(e)); } } } } /* Use uneval to distinguish -0, 0, "0", etc. */ /* Use hashStr to shorten the output and keep compareJIT files small. */ print(hashStr(uneval(results))); } +/*FRC*/Random.twister.import_mta(110798809,-2117707362,-1669736818,-575237825,1969514672,-1787099430,538659646,2092621181,-1801142796,-933128169,-512773138,-1613311604,-1463309550,-557707939,-1052208092,-1711517070,1236956736,-2019528522,1669909270,-1152880858,-519430840,-1548242516,693188540,-1711105725,-1009696835,584897551,251965701,1656259604,705583461,1396920822,1378715025,794804719,286878315,1709653848,1016176447,-1033532674,-1839449355,-357404008,-1644615091,656078930,1053153922,2005714803,224703012,990612575,1682323623,-1198575701,178142939,-66125930,1371837177,435991561,894097599,-1782662514,1340638576,1211965130,-1322989235,1751626594,1537130823,-335890729,-1249012258,1326636039,-698743654,1781051802,-396950171,1778562941,-1683505108,-666275737,-455418954,-941651028,582730575,-624798352,680214949,-325766304,1527923031,-997929673,648137166,1064688785,1350606465,-317650739,-888096876,-923189790,1234817813,-1858995403,447319045,821422924,1795522896,-526950838,-47430621,-271843081,-1096092516,246223023,-1325515675,-42863618,1634904109,-143661639,1093414080,-5770876,1278511523,1238368075,-1582017900,-697246831,-1727675650,428001745,-1085179685,-289419516,1957195051,-586904581,360378690,-1251245707,-638336161,-1740877895,1754499125,-544960269,1466801952,1850700150,1464955749,1637812967,-186752206,19487690,1375097128,-1413744988,514926070,-1158766457,-206601741,-564677589,1964735556,1799091382,1235123121,2106064111,-1618728858,-209882123,658990736,1123977043,-267106850,-1234315850,-2002869110,-1403276753,-306028215,-1262027589,-993020281,2084284063,637881058,962035127,365725889,942161332,1355918484,-1406675878,717348682,-234769723,-826179918,1106949482,1290589901,133688083,1126296087,1363222855,1516934968,-443929832,307328323,1253646092,-503171649,566546379,-127492425,844558757,-1692294213,-1158506080,559697806,-1528798805,409532755,-1541617306,-656541412,1035854052,1333771934,79842406,-95110422,-2083295334,1447780262,1937644690,-636423761,1169712525,116129006,1475881113,-1094099796,-120803493,-1644214674,1868207443,367250450,-1215093293,1627505967,75131361,404500353,1360119714,-1186005235,-1340954454,-264867064,-1302771944,234616836,-734069161,-683586584,365999996,-1578254158,-1548011977,-1605254991,-918171032,-1424734207,-1784740614,-466768220,-1290909776,1457425416,-16969380,-1782795701,-1160091490,1181401694,1320978254,-67917313,-1023546047,653585888,1930345015,636509734,893483991,620555181,1604555036,2012989005,-1886918439,507056709,321790744,1470345560,-1829987842,463773006,893570729,-1231881583,-1910863900,41661604,1324747163,225129642,-752827909,-1048428606,919105808,-1190777796,-1429298333,1553751859,-352235095,1608463106,-294601696,1344140737,1553315251,-1255476690,-1530980271,-240253771,1663517381,-1533789108,-790394433,1117713446,2054173534,-715449225,-1504162111,1314025197,-1672081381,-1186939939,-231901444,-1248367971,-1423628098,-711348432,-758551772,1440753257,-1026240497,-2120187452,506472999,1252032877,1888083111,1040376970,2067268991,-428041788,-974836846,347195973,-213468342,-1071581729,-107496225,-1494007840,576071487,1303852017,1604513479,-59102410,-2017105406,480039706,-192007075,-1397557198,-222454771,1773408420,561372984,41814584,1455030585,1787917370,-197955734,919152273,2096550234,-2132325107,317157138,-247630526,-1312420658,-1987036762,943424223,-1331889625,584023750,-971048116,-237015462,-1885131955,-2135531940,-1660581304,-365483419,507400562,-1706416849,-1923038985,824327904,-297226344,434388064,-2114243814,1008402867,-1166706725,1080715994,-1389863771,-418189790,-1160864443,-2036331196,-1456884768,1374022509,1520873184,-1417647862,-1592346258,1495659747,-2043375502,1192815993,-2110592606,-2139304597,1695104185,388722149,-13309529,-1805323517,-1561957963,-1417960060,-502856400,-1762502286,-242599292,-762554472,-176323459,-841042675,1126428126,1284649300,-1486424861,-1026423008,950242603,-549472684,-585596751,-194508391,1432696098,307409712,-1563073710,-410648589,1298492180,-1729856082,-1726307774,404112551,-1072204213,-209308719,-395586236,815736174,-942431278,-1075741726,1113637070,-1862018534,1558439144,701039198,-953926008,1351749962,300873483,1523145676,-1842549161,395871744,-1729962120,1332770459,-1123207620,1273992689,-2041341652,1412894371,1861974376,-82896660,-1546273077,166516686,2022728648,1557983440,-1581130503,2140898188,-1499701977,-1853059552,-546158862,-324798562,494843771,1535916050,-1260827637,-2085957094,997965062,1663290093,1630231724,258942674,979285100,887028783,-365451489,-1842943071,-1293274139,-880928070,-1944285803,573222188,-1648959498,648802527,-271163241,1833914369,-1038446178,62093712,-1798502544,-1174539365,2109537791,-647027495,1032336806,-1426259421,-690191957,838471919,-717121805,-1657340327,-850522479,-1013587131,531440202,1320035039,-680619708,391074226,-119439638,-1572813666,-586608834,879077828,1750196232,-445565374,58339931,-2002414946,1460426052,1650627314,439158425,645561624,1189950516,-1241974874,-46368398,1139827796,232526921,-1733422194,-34102274,-245294700,-1725830825,-846033586,-510986713,1149788667,739472234,-1403632485,-1796345049,1526905956,564748965,1008810470,509734796,44658699,1847335207,848643023,81168765,916661540,289008904,-1494495747,1111408241,733680647,-558389349,-598902575,1173819060,-1807045564,-1248759942,592458805,-1542981689,-585093224,678018311,-1492036444,-2001912480,-1478448243,2086418511,-593103189,2098346542,-2070078094,1959628568,-1940072506,-1502280130,-937061481,-1948684464,748277575,-2020816911,-852430898,792613585,1839171430,-952660843,1933623073,-659322476,177740168,-1503404898,-289831037,758511480,469883985,1037715183,-73603770,-1669635275,-1354263120,-1506258120,2002313697,1410465632,-1268011962,864509142,-1762645903,-1316322717,-1475191990,17796462,64269421,103374345,-270275434,-224717357,244051227,2127888563,608602695,-876245231,-1610607063,-351091705,-714507355,257138832,-254055709,-555545484,-58680312,1519154541,-1439358541,768935405,984755610,-1175885348,-808414031,-977539498,-167541082,1022717495,-1672418094,878231600,-1490189039,-122573407,1265841421,-282371104,-679690828,700369497,-1493272508,-491983930,-2033683486,507025802,-1589284963,-361094425,51890721,1718970931,1099278825,-419351880,247208184,-933587958,1563704000,-1068271271,-699003721,-441755334,-873941324,798558059,71643760,1482348650,-2003458190,-843710100,1838938632,1503099083,-303250447,115593914,-557994077,-1322062750,540451875,878346003,-1824895036,18641252,-224181573,-1943679776,2008861043,-546865596,-296103090,1587516589,1547286057,542656534,1107441917,440621500,733742461,-1031204445,367171187,-2045908813,1574603050,-556981427,-1913278947,1391807379,-1456081677,16096879,-71701722,-650930955,650866027,1304260757,-1861705533,-1481263227,1654237604,1642872187,896568709,1271334109,1495443761,-1752731050,-722792053,-1479035632,863966339,649213209,-1570220472,2103289758,1040202536,332906806,1526670013); +/*FRC*/Random.twister.import_mti(624); void (makeScript(14)); +/*FRC*/count=1; tryItOut("\"use strict\"; v2 = false;"); +/*FRC*/Random.twister.import_mta(-2092302635,1967609409,-1796197715,463038708,97691071,1783828979,-1819598258,-530187803,1864275829,-1034032622,-2070580612,-662743012,-733799587,-49113628,1784011238,-1962189897,1855940698,-1277234155,504843779,-465040940,-400151731,689202721,1298585767,-983033177,1654380795,1213622774,10900197,1498286750,-1265150302,2102426758,1295168365,-1909905504,2086518131,1345252868,914199757,684184399,-686162478,184363719,1743312365,1999834441,1203758372,97020745,204006510,-64489016,-416434696,-966088405,410845907,-1224225385,537795965,2123474418,1227831571,1781028593,-1129276181,2087548807,-2058174427,770062635,1634166522,-1152631608,-1173766361,121532711,-649978794,969851210,-1223993595,746226355,-921882358,1812759127,1632024029,-1505146785,536111479,-912549520,15318164,-440894084,497097657,292444822,-1391900016,1879005188,1942834280,545215870,-264883531,1213543983,-1296008848,1885045018,-983901634,501972399,-1755645055,1865658286,1225661225,587809281,50056739,-60451645,-98179955,-1652790319,786666949,-958197666,-134845611,1959500638,-1854504899,-1755910469,1056977625,1673311150,-1202302127,1100447783,69163171,1005522910,-1122833238,-320953281,1829042150,-658201080,-921220270,-795135446,1297489376,-137515867,-1738527477,345528917,-559950771,1853804281,-184614493,461141058,-2094148829,-19787624,745389014,-506397368,-168311129,2091180075,-629270835,1331468500,-1455381581,1897337984,-990870686,-1738130343,410510687,-753342744,-1906339458,1260188373,1073611563,822774799,1072386698,-1578950927,1293959715,1054318748,-1089395810,705142115,-742094229,-304924644,-535794549,1771405714,1012434287,1396211561,-942612572,1204778520,-780111781,1471356468,1725210056,76251589,-1808044600,848093624,-1550517148,-1238289526,1756346535,1329716579,-1020001748,-219346127,486335801,-1213262465,-2050713358,493246588,1329225331,-1405254185,-2004288315,-1038842251,-913731449,313743902,1168934333,863991737,-1322604229,2042022244,-1773176815,1524795068,1595434850,428309740,1003702481,-3322027,-829202859,1051433242,301690354,-392944852,1771488916,421751807,1597254306,1523101981,-1236236517,646229289,85267877,1722135572,-250218743,1910766664,1632919235,-763366918,-583549513,1328396340,964190238,307214226,-952488864,551787713,-256714965,1805310059,-993565816,182811919,2074499364,780669370,-1235819676,54842277,-1695551525,848710539,-1778425791,1497312206,-628448251,485603167,-80029435,86173417,-1380691920,-257553180,-1409333308,1452048178,930510807,1577422737,-648612554,17314626,843716019,-707925761,-1511334682,57098218,-624180783,-213238353,-1157512851,1939702123,238160764,1943268666,1962360855,-1146322212,-903164940,-1689021479,1011429809,1946816845,2022295778,-3605370,215160937,-93571733,-663940575,740926132,-128974072,-784407009,-2106393015,-24652468,-831671732,1900002195,71747576,-1896761604,-608455681,378628843,961174422,-981125338,-1868231785,-1748386512,-588411125,-609213052,-696298555,1488885601,-1587750615,1058449548,-1630180351,880664581,-3541874,-513423133,1388618535,1937212045,-1229846862,-151252940,-588148403,-2104653456,1066386054,-887314008,-1901489190,926816995,1528447505,-824985739,394567355,-662890166,-1952747255,-2109477608,375600390,190911133,1383590650,-130178172,-281346090,661312470,-1854365929,1143054407,548211916,-1662527883,1074390517,-1912195274,386985769,-1391171311,1613003344,-1095436399,-1538911294,-35696183,-462019758,451021466,1165648607,-1602311091,599896478,1240695460,-468946425,-2033597167,-1672437330,1975089664,-285926208,-359896136,-2051860740,-1553812827,-2060329417,-1138370739,-2104042946,1871408750,-1775830784,-1152640152,-1156364732,84290674,-489039436,1453244969,2118361618,-879348758,201224022,23908183,-2061049624,1012244344,-1129021412,-526045111,2111730073,1026139820,-1852234592,-1787889844,1026911464,160831885,-1615129848,-382415460,-833673630,41104928,-1617406920,-1328772004,1182122316,-1205202406,-1679991898,-1572718872,-1810627954,1425716350,102462564,928815748,-1411949598,1271654793,1766137528,469926755,-32267520,739254852,911625617,-782183958,1055071308,-262761169,-2053492551,1911531473,1156656244,-1404681573,418659433,-878596072,-1182794358,-821630139,-1421057005,1711100254,-140986805,-1555639940,252407246,1802933214,-221816723,1424460099,1630512395,1255955599,-1927230729,-1766163595,-9874833,-360858741,1798808499,-1735543535,-2114217506,200075807,-2084442248,-1808511484,-1171648585,1966681067,885581008,-1408896243,-86964308,979114817,-1963375693,-1620718001,2084073905,-455754044,-1361569341,-1069010514,-185151062,-1088885402,121322483,1218154075,1492834103,1431480602,-1623263217,1367755067,-1824813158,1540427638,-355236390,57870083,-1340717856,-755227291,99368457,580389408,-1209009847,1991176507,-1408231902,-326277950,1799631896,-859674530,985315876,-1438391273,1356311021,1334749472,472943259,1860389526,118889194,-244726407,61276914,31544274,1241650498,-100909537,101567628,-2052790852,1692062915,844294859,-51313373,-721119685,775746552,-487705693,952944950,815480570,-96160928,608414726,1525578349,1989449130,1860592088,1394065500,-312827556,-1271843157,-339637839,-1607157968,-208536574,-275467146,-1594027954,-1028244112,288278008,-1000415658,-119592047,-824529936,149352497,1848155955,-263625911,-2103073380,-460781455,1935362100,-1079053869,1330548757,-317751522,-1975833348,-1144562038,-480220416,967572854,-1523405080,350217298,1126997018,-1012179771,-1012955000,1792263204,-1727973213,351564536,1286701282,1042735238,1875591326,165243711,608574100,-724234422,-745525180,-1540766681,1106595176,-1658588781,-534184690,1643400899,1528038117,-1086063661,-390413373,-1665178768,-575292858,-711271732,1897053601,-723099306,1313288400,1242414509,1247183079,-699744067,1457845169,-1820068748,-932448991,-808692273,260031968,-114846332,924495761,-821406277,-1673036901,1441754558,-1400359127,2109356603,1354317665,208759999,257293418,-1057703531,1342740907,1909289423,731124091,129702999,1502533169,1587435210,1092372149,854737399,595490243,-1998474376,-964902474,-14219177,195394255,373113313,-1306084596,-925045633,1223035844,-1352995985,-205475875,753883039,-650463803,853941369,1462167528,-578455107,1223416946,-279665150,1304640334,-1933033578,802366803,1878446647,1007152283,-831116804,-832492415,-2058261741,-1290124557,1057701780,-1112258411,-1859902219,1542351966,2136728713,712515506,1187650747,-1925263553,-1272622802,-956227063,2044685970,-984592870,-1313393160,-615292140,35333994,-771300098,-1238605800,698927942,1081111331,1569726827,-52460990,2036939443,-1542770750,-214822946,-1597599707,-1910868577,43592204,-1527949110,-1631858246,871633344,-1373782016,-1266468510,567543869,-1048165503,-159562357,1290700591,90959151,345664646,-193875488,1028316502,-771095122,-1493843028,-389651005,1311533788,-511808252,1793858592,-1180605291,-557117313,1443709419,1966667836,-79064913,362377340,-2020759419,-2012186299,-1080308834,460169421); +/*FRC*/Random.twister.import_mti(11); void (makeScript(14)); +/*FRC*/count=2; tryItOut("d.fileName;for(let w in []);"); +/*FRC*/Random.twister.import_mti(30); void (makeScript(14)); +/*FRC*/count=3; tryItOut("v2 = (t0 instanceof h0);"); +/*FRC*/Random.twister.import_mti(45); void (makeScript(14)); +/*FRC*/count=4; tryItOut("delete h2.delete;"); +/*FRC*/Random.twister.import_mti(55); void (makeScript(14)); +/*FRC*/count=5; tryItOut("for (var p in i2) { try { t2[({valueOf: function() { for (var p in this.s0) { try { s2 + ''; } catch(e0) { } try { g1.f0 = Proxy.createFunction(h2, f1, f1); } catch(e1) { } try { o2 = new Object; } catch(e2) { } g0.g2.toString = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Int16ArrayView = new stdlib.Int16Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n d0 = (((Float64ArrayView[1])) - ((d0)));\n d0 = (((+(1.0/0.0))) - ((d1)));\n d0 = (+((d1)));\n d0 = (((((Int16ArrayView[1])) ? (d1) : (d0))) / ((-((+(1.0/0.0))))));\n return (((0xfbec617b)))|0;\n }\n return f; })(this, {ff: (new Function(\"break ;\"))}, new ArrayBuffer(4096)); }return 3; }})] = f2; } catch(e0) { } try { b1 + ''; } catch(e1) { } b0.__proto__ = g0.p1; }"); +/*FRC*/Random.twister.import_mti(306); void (makeScript(14)); +/*FRC*/count=6; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return (Math.tan((( + Math.hypot((( ! (x >>> 0)) >>> 0), ( + (((1/0 , ( ! ( ~ (((y >>> 0) , (x >>> 0)) >>> 0)))) != Math.fround(( ! (-0x100000000 >>> 0)))) >>> 0)))) >>> 0)) >>> 0); }); testMathyFunction(mathy0, [Math.PI, 0x100000001, 42, -0, -0x080000000, 0x080000001, Number.MIN_VALUE, 0x07fffffff, 0, -0x0ffffffff, 0x100000001, 0x100000000, 0x0ffffffff, 1, Number.MAX_VALUE, 0/0, -0x100000000, -0x07fffffff, -Number.MIN_VALUE, -1/0, 0x080000000, 1/0, -0x080000001, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(455); void (makeScript(14)); +/*FRC*/count=7; tryItOut("v2 = t2.length;"); +/*FRC*/Random.twister.import_mti(468); void (makeScript(14)); +/*FRC*/count=8; tryItOut("/*tLoop*/for (let y of /*MARR*/[objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), x, x, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), x, x]) { a0 = []; o0 = {}; s0 = ''; r0 = /x/; g0 = this; f0 = function(){}; m0 = new WeakMap; e0 = new Set; v0 = null; b0 = new ArrayBuffer(64); t0 = new Uint8ClampedArray; a1 = []; o1 = {}; s1 = ''; r1 = /x/; g1 = this; f1 = function(){}; m1 = new WeakMap; e1 = new Set; v1 = null; b1 = new ArrayBuffer(64); t1 = new Uint8ClampedArray; a2 = []; o2 = {}; s2 = ''; r2 = /x/; g2 = this; f2 = function(){}; m2 = new WeakMap; e2 = new Set; v2 = null; b2 = new ArrayBuffer(64); t2 = new Uint8ClampedArray; }"); +/*FRC*/Random.twister.import_mti(568); void (makeScript(14)); +/*FRC*/count=9; tryItOut("this.g1.__iterator__ = f1;"); +/*FRC*/Random.twister.import_mti(581); void (makeScript(14)); +/*FRC*/count=10; tryItOut("\"use strict\"; { void 0; minorgc(true); } v2 = (a0 instanceof a0);"); +/*FRC*/Random.twister.import_mti(604); void (makeScript(14)); +/*FRC*/count=11; tryItOut("/*RXUB*/var r = r0; var s = this.g1.s2; print(r.test(s)); "); +/*FRC*/Random.twister.import_mta(720571367,-499935320,821277334,1185504420,-86019936,1088519831,-1455287935,-1596332719,-1596445226,115053470,-1049421029,-119876578,966280241,-1223946877,230037579,-274001515,748579377,-1062963396,843137396,1033466185,-939054746,981722761,1041845992,-829141445,510037491,-968933917,856221717,1398205430,1169932475,-1047680931,155254074,-645173839,-437663138,-969900085,-510832448,-98179439,1558336700,-252122529,1378983186,2074358320,1071811999,1501347054,1602042824,1177523993,1210640352,343286995,1074993343,-610770581,463291903,-1882090241,1321435419,-584501565,-1442375844,1657009556,-11835597,-1646019017,2045742794,-1694946341,1441584468,-579079825,1993647188,-741121057,-655178722,543784959,1231392123,-62638976,1826782240,2046813250,1612516089,-1027997191,-409343436,971701791,-667196157,-809011458,-1376850512,687928475,1603965697,397141727,908368912,2036065255,2069830904,-728270073,-2041290309,2074714680,2046793268,-2090995793,1128030393,-688769388,1920199805,720161871,897898739,1480814842,-224139216,1701961977,102902201,1987667367,821323616,-1118924910,-988790529,637110052,-24897900,332087031,-524125265,-1129416665,-1913090478,-1216078434,158765700,-1005554368,162707529,-444399619,-91282228,-1695832031,147053126,2007755335,-778948786,-741771769,1446958148,-1996326542,525947427,-815295477,1688054158,27873863,-1117266111,777189918,1879204110,648561338,-1817886977,1403642382,991167014,1629718658,1405600194,-856812356,-34010377,1321464776,33187238,-1336891207,1707238421,922251575,1186881977,84123802,-1360515571,-684266013,372335070,596583352,2015396315,-1922927637,-605213662,-1844229429,1617975133,-673493932,1496092590,-1403346423,122880562,-201715183,-2020687589,-511534604,-403486278,-547822003,1570506102,1446834445,-1168854457,-790830191,907216246,-1360261186,-2087980051,1984025246,1886186782,-1324929939,-566505057,347261432,-105997636,1320865036,2112411871,588123868,-548442546,1281007744,2049495711,122339615,-1439627668,-360536942,-977954947,-45531211,-169077204,408584393,-2043232549,163206847,610586502,87505560,1613481583,1173985503,-1566428105,-472651541,-1044286260,-1702852450,-863191300,2068519811,189420143,-1187035020,-670961232,1907044099,734211906,-931648336,-800703193,-705163709,-1473353877,448804906,127375911,-2013592975,-2065845523,-1003336614,-1092905300,-1927109781,-663924510,-854701371,-1343470278,732556900,-1959020350,-1010209381,-1592066776,361339903,149147396,559466360,1165287964,836884756,10039043,-1899391785,848423310,1739160232,-1758204071,-1632219429,479039786,705387582,-769733174,-1424067105,-59704787,-485117217,320279185,-513758731,-718218419,1395058180,475550062,-50187449,213905717,1947252068,94834542,1498200826,-804472821,-179476416,346111798,1201259452,673710309,-328653095,-896941723,1276154930,-1520963354,1111008532,1513266535,1174127565,748438123,-2144231225,-1907753518,367832373,1669893430,387703871,-1083397780,2003688609,99662819,-1985043699,1978704719,-537507970,-1120206551,862969805,-1997516625,936089861,-884802715,-746058393,1648763050,-893866404,-338196239,990256243,400776854,1127724062,1211586124,-1594628687,-856275393,-505636358,-434073659,-1183231345,559023788,-1304378310,426469102,1985991770,1267624522,-830356423,1418274703,1842732421,-224115923,-1889584197,588785283,-325636190,589112957,-1297120103,1845653705,-317316301,-663677478,992184937,1174220655,-898703129,471647246,-1122317369,763933642,-1313884254,975447793,-1477596143,1776993291,-294137529,-501991626,1238290785,-800062007,-1829815202,2030810525,655148313,-1059241913,2000787553,1321536937,-306299135,1711268761,556016821,-1253694576,498694828,763328424,1942320967,1784045969,1192627339,-1661665150,-1822747175,-1887072931,1944675067,-295632911,-277888216,2086606446,-1895744975,1685067930,1905719353,226216250,623538159,-1879958759,2084124666,-1998623389,-1398207635,732384904,-582488298,664241851,-1920157376,-1961215802,-1756624895,-1154496662,56237601,1225558513,-2033400320,1409200447,1711150457,-2094230657,-1864094629,1838570150,-2013846576,-1183775879,-918322503,-517024513,1261941747,426324512,2019027354,-592509968,1047151417,-932326072,1288655210,-579627212,1569229492,1306909399,-1540773769,-2055493918,-1010699974,1773056351,1754987296,-11531357,-458733904,-726474854,-1888532779,-2079526926,-1105872173,823987028,-509779922,1337457598,-1903801207,-356075519,1584462598,194897284,1392959036,1560892915,1915821096,1310772033,1391391745,1642333813,634842854,1950236088,846134222,-45653965,-1234656347,-1921627500,-2037420811,1117564699,-1543755982,1892633586,2112577380,-644448864,-521208663,-741169034,-403133491,-595920447,1985343472,-748363429,-1341790201,-1674692096,963212003,1089838334,1898272148,1741082511,-1893159499,358396551,-1019982197,889184160,490540281,708562565,-1860116370,345307722,1908453566,-1224226611,1412935180,1201207379,2089092695,-824758264,243688929,1424271087,-993468983,-187504338,1483283411,1082424831,-9102436,-1397691221,-891512932,-640197457,86489151,-39033671,542668145,-1446740532,647889437,726280928,1382853811,-511059721,1634298706,1178508125,-925579107,87351817,-1539961252,1883566039,-931701950,500430159,1058212553,-1509082593,-1675773079,-1691664755,-1750464353,-69209834,1563433006,1688830922,1179989124,1031187187,684393102,-600972565,-458098980,-2064543896,1804529974,-220623047,-926874649,-1249921807,1346959976,1620047327,-1227383319,-616980023,-253628202,970934274,2061253304,-995060244,-111258936,823168831,275593803,-750729019,1925946120,1839648390,1678473097,1272954036,983232247,795086368,1285061878,228009856,-1417421220,-852963456,-861525030,-902966912,875297263,-1243699648,-1452742673,-756854129,-2090202823,-1228210997,870758275,-1676527357,-2013304313,907198567,-1617181192,1923848513,-1045059818,1062979576,-1456502928,199917956,-1488708763,-1412320286,241553814,-495522064,-203605154,-634694188,1865259226,1725143052,1060814806,909476738,393750075,1224426710,-27108571,969367078,-955897168,17042535,2120594982,1094612487,1149356691,-444112837,348839481,-871331008,390619656,24169229,-1627019552,1464593128,2123156051,1009069905,1882210014,2087297099,-117868236,1646256880,383125035,398602600,-1863021403,1578073702,-2020223479,1513042486,1133927533,-1755371929,-89562894,1728124323,-313913134,542625475,1010458063,-597375530,1519701569,40865122,-2136178773,-1868804838,-1511656843,1511568442,-1509009081,1550822512,276601471,707479546,-568267794,379525664,-767489396,1331660133,-1760672631,1002855096,2082333963,-772792695,362060689,-662755156,1509602367,639118138,-1791998345,273574588,-70522477,498471390,-1750639297,-975606940,1217334203,-1426709201,-307448977,766440569,200632234,1144054742,436249987,-1965476986,-632855814,-1321533436,-1844870333,-5451013,-438050491,-965167901,755658109,-1017922990,-1919754850,608516402,-880127071,400847228,-2117524353,-2038255834,38841582,-1890034546,-940781400); +/*FRC*/Random.twister.import_mti(173); void (makeScript(14)); +/*FRC*/count=12; tryItOut("\"use strict\"; \"use asm\"; /*hhh*/function haftzw(){;}haftzw(intern( /x/g ), false);"); +/*FRC*/Random.twister.import_mti(247); void (makeScript(14)); +/*FRC*/count=13; tryItOut("L: print(g0);"); +/*FRC*/Random.twister.import_mti(273); void (makeScript(14)); +/*FRC*/count=14; tryItOut("mathy5 = (function(x, y) { return ( + ( ~ Math.fround((( + ( ! (( + (( + ( ~ -Number.MAX_VALUE)) / ( - y))) >>> 0))) * Math.fround((Math.fround(Math.max(((((x | 0) ^ -1/0) | 0) >> (x | 0)), Math.fround(Math.fround(((y >>> 0) ? Math.fround(y) : Math.fround(( + (y >= Math.expm1(x))))))))) % Math.fround((Math.fround(( + ( ! ( + Math.fround(( - y)))))) , Math.fround(Math.fround((Math.fround(y) ? Math.fround(( - -1/0)) : Math.fround(y)))))))))))); }); testMathyFunction(mathy5, [Math.PI, 0x080000000, 0x07fffffff, -Number.MIN_VALUE, 0x100000001, -0x0ffffffff, -0x07fffffff, -Number.MAX_VALUE, 0x080000001, -0x100000000, -0x080000001, Number.MIN_VALUE, 0x100000001, 0/0, -0x080000000, Number.MAX_VALUE, 1/0, -0, 42, 0x0ffffffff, 1, 0x100000000, -1/0, 0]); "); +/*FRC*/Random.twister.import_mti(563); void (makeScript(14)); +/*FRC*/count=15; tryItOut("/*infloop*/L:while(((function factorial_tail(zbwhpo, yogoku) { ; if (zbwhpo == 0) { t1.set(t2, ({valueOf: function() { ((Object.defineProperty(w, \"c\", ({configurable: false}))));return 11; }}));; return yogoku; } ; return factorial_tail(zbwhpo - 1, yogoku * zbwhpo); })(75476, 1)))x.lineNumber;yield;"); +/*FRC*/Random.twister.import_mta(1646204392,91262136,1365619322,1934586641,-1416168555,-330449302,-323834735,609364819,1896034817,1156996449,-905590358,1219680339,67230443,-1655761951,220274471,-1081553355,1572431098,-2135499494,1730868434,-137282363,598861910,-1015652683,-937985998,90118013,169002537,1554185941,281151256,-81736580,-924110491,593932562,988130226,1739085736,958710193,1144616896,-114864274,1145758939,810821022,2106340547,1276291494,838745821,2022305915,1747346871,-962953980,-356301832,-1649031337,-303719825,1879858595,538245902,-964075149,-1091760723,1223241762,-105683195,-1145213610,2138726377,-757147653,-2124700708,-1272164285,-1020127386,-1859433867,1344305354,-494031485,-1913603336,-1470798734,-75174593,-151596323,1933958169,-1731593091,-649930124,1881336673,1847525461,-85015271,320354369,-67239914,-841201579,1512227341,1293551689,-806528098,2143014338,-470780504,14230671,-1685581870,101671657,-1721423936,-1207024526,-215435714,172953530,-474474323,1431237136,-600429424,-482006663,-1695144556,-496478767,458338421,-1547244543,-655869772,-590698916,-403106559,-896524385,1116862937,-335363185,-1574521684,-993049714,-1554711739,220461981,1633214520,1809794914,1854948950,-800666757,4854141,-1334878746,417025813,-1907606365,-1762214893,-1659391513,1501883443,-1174652755,-2014628480,1617880325,-1923232423,-295899708,505639931,-1314283752,-927811337,1252698566,-756971957,-1350440872,-1057261961,375423127,-1747591388,-2110631165,672324552,92461908,-1799568710,-623483129,-301106087,-1925571879,-1118947438,-1939733631,368703094,-964173041,217160971,1927278281,-691946644,-1541604267,-505659636,751362070,-1803493591,213384010,1059551251,-1601778537,-1737653293,1121536532,1072701239,-1920714054,239961769,1339853708,-2037056217,312976112,1257222509,-432207092,-407845060,1288418259,-2021487750,-2034092209,-55230650,1645823161,-1038255484,1632271991,-1326447602,1540774141,-1978173868,-2018831757,767384225,-205294863,1018797569,-1502391054,436318203,-2054894036,-794517444,-1580544165,1101166146,647604070,-983995708,-1338464184,66416750,78478819,-790980672,-431827315,754595897,-1281363844,-1795382879,-1324309265,1490345950,-1103530030,-1118336735,-1162497326,-1984961971,2085524068,437702349,139953791,-1281668249,888325416,-1149518779,1743365701,-1597198470,-1217558091,-1862248883,-1621718401,2014938030,-709560112,98468752,-586307467,1837504254,-1470435226,-1338567049,-1008375678,-706319505,-1814117178,1583259838,540335792,-618254307,895352946,-1724266251,533104760,-1673734566,-703551415,-197628420,-259108197,-752674038,522418927,1716182286,-2103861904,550122586,193093976,-858766621,-1585443946,-313607868,966071507,555854673,170783324,986102429,-763996318,-2055170937,1600840525,-1408204697,-702277624,-1921546011,1776383949,-524632213,1158400159,-1436338994,-161573308,984265932,40501099,-1707303178,2096811785,-1735139285,-1247593896,-21481708,2113945432,-1748528763,-924644875,-691034597,803369256,-1624085940,-673037176,-1407066236,-1686564605,1205683720,17780047,712776897,12935135,789112370,-861564722,-791130782,-1213566682,-1682875773,-1542830971,1027135971,-1337146851,1591838182,-154829603,137028059,1264567171,-1277404261,2066988360,-1785437870,-1306218795,-1798252315,-455026939,-1062533358,-751704072,-854749478,1803935589,1990231145,-797410776,-1330107049,845833863,626241424,863511543,1300445894,-1272231242,-493246193,-1546268301,-1155352535,1476809408,-1125719005,-712610347,-2121615403,-811499995,-1596350557,926029209,-2135856787,239454839,-75650452,-1388562677,514519318,735483823,-1423979522,-19080604,692600402,1636706376,1046665907,1502814986,1699197120,-1452885814,1704485130,-1199200924,-1978401064,-1242873711,-1379274527,-847552465,-782437896,1625998871,14938440,-562010356,1351834692,-1226604494,-100934345,-388417756,60791840,733798526,406844526,-2125016803,-336371155,330067978,-1874823623,-2092665451,2130029169,-1654579277,1678335565,404944329,-1454918408,-2055837164,-993119160,-901628783,1519905996,-1784926225,115652692,1682647802,1898044772,1989379385,1547746347,-880469311,-1885760919,-800471275,992907916,-445757525,-1907587089,-629857668,-1741223784,-812925196,-353013419,-1330236019,1792037887,295613321,-834500147,664264295,-909824272,2102250566,-328941017,-476942631,2073163292,540297257,1626571176,548855456,948050105,-1514753851,-1966481819,-552857904,-1240692904,-1687240039,-61681118,779523675,242353140,-1254164788,1918187491,1033596018,-1095525273,-1817866274,1136441390,-1790759452,-1265097855,538882343,-1665944629,1997512954,1677078102,119100168,-53042749,1025478038,-1580811311,2073220503,978899537,-65951472,255662086,1158900738,1500190021,1674145182,-902147305,-395436116,2134061838,-213871583,2131344252,-1445647310,1155283118,-1325590059,-1765056390,1614652155,-1939844430,-519810155,-260075290,752482535,-1073874558,-615896216,-1481190880,-91039977,-1079037994,-1088794778,2051513217,1257082618,1980854857,55440863,2022291129,-1349574664,1726151152,-418107746,529421182,343340695,1345342396,1826281085,-1000479560,1004688601,523510318,-522562790,986309450,-964292998,-1357013911,-813268566,-231921447,-1696741077,-1226787383,390234936,-1281684296,207912560,497990002,-155131607,-1934833689,-1329031347,91240969,1360902942,-1917364259,-771786516,-1195633633,-1088206592,1254878607,1728666317,1366182360,494761316,-2079953622,2027058040,2007926768,978905525,-2121073115,1529121420,-578336916,1475837220,-60604045,1666445758,-1332481634,-1977613798,311192692,-1117118278,-1420988948,1839278276,172440825,-143289675,2020245707,481262466,-1412934460,182925416,1222661994,-949335438,-1847177379,-1652897469,-1312052309,1538047523,-702556176,1006071078,903360757,314946299,-2031943509,1134903811,-1550972661,1475981288,1927235019,64058555,1041748697,44750846,-587463420,760279717,1264520430,688744341,-990922352,-179475051,-1195320342,1891333729,1951058748,2092453310,-842672359,-1886649371,-733799138,-2008320977,1201343787,-1476647454,1194511895,-1510533698,1771627368,-63295312,347144385,1497096065,829886820,1122640304,376726173,-1251872300,-121943956,-1927836066,-1250366624,-1325864181,1846344504,1439117255,-2230532,-497182793,-1853970523,-1029438992,-2064049666,-82047072,663286619,-1507268523,1544132258,-1101312309,-98001460,1844734035,1715730917,-1036746840,-877186997,326362937,-562282675,-893596770,-1398178234,906860165,1964246754,-356211556,-1963786496,-670150476,1220426864,335147116,393118671,171870325,-1995175895,-1135470843,-1436147741,-1887323816,-480069161,-1540317535,118734196,1527223560,-1018337120,-1060019457,-1521387474,1887381629,1047588865,-1667921932,1138316529,1930012626,1099105213,-1063809280,1219378236,-86262486,851741686,1720111901,1600707813,-1525704420,342098012,-329582554,-1281409927,-861292749,275676475,-1258733019,866000807,-1655754818,-875755436,-1698206970,-281323327,422299024,-478159350,-655670532,1673631711,-33636378,42131577,-1089239631,1868480556,165555635,-691495272,56278295); +/*FRC*/Random.twister.import_mti(86); void (makeScript(14)); +/*FRC*/count=16; tryItOut("/*hhh*/function nkpcxw(){f0(s2);\nswitch( '' ) { default: print(Math.tanh(new XPCSafeJSObjectWrapper( /x/g )));break; }\n}/*iii*/a1.shift(e0, f1, t0);"); +/*FRC*/Random.twister.import_mti(236); void (makeScript(14)); +/*FRC*/count=17; tryItOut("\"use strict\"; /*RXUB*/var r = r1; var s = g1.s0; print(uneval(r.exec(s))); "); +/*FRC*/Random.twister.import_mta(1059269166,-1778301606,856327817,-813730501,-479857967,1539949846,-348187567,1027250708,-864272747,1190447747,-95907842,1742666857,-1431259975,2120123549,-44170670,1417961516,-62208099,2091410031,-403488065,146006382,-612699621,-1372459250,868820173,-483204923,1142512532,2003351792,-1807398388,-1180626749,-514965156,-1950763613,1407813935,167412405,-1021777803,-856934575,-671860139,-1479021747,2089058774,-2118154509,2070247590,451110708,302108002,1493869827,1066151686,-1581047491,-323516361,-1719195465,-1081777537,-592512618,560601239,2080033647,-1314392630,233766167,-1972418218,1949974426,2068809015,-601179440,-2126292823,-346753361,-1365888481,122944119,-1988174634,-1509451040,2115440491,1418947704,-135733781,653738585,1623528266,-55084003,1489490396,684922292,1615608754,948910594,-1359269909,2041480708,1853541399,-1622492720,-1057050655,2066995035,-1100122027,1554665009,-948800305,-2001404214,617959745,238738671,2139057768,692470444,830731140,-207859420,-1084401337,-1323805767,-1955632247,1681103227,46908613,2130210862,-753962092,1102665651,-1847486508,-234393398,1484538797,695851677,2127092293,1667930553,-713132679,2018256758,-226104893,-1498518410,743513121,1759908810,1134235856,58376357,-1512455256,-408166877,-985212201,1932117613,-967577974,-528772149,-1094292043,-310832200,1962869337,-401679365,444471410,565045664,1208329798,-81297644,2127401913,1033548404,662019329,-1289079688,-1465192641,541304536,2121867284,-946096572,2079293625,978129901,1474218396,423368418,2026214653,231617836,532436198,-1226269390,1549629195,1070718327,-1841491596,1100549858,344871355,-2059616810,-214299535,2116043962,73160906,1615239766,-778809855,-386120580,1392849562,569607543,-978070927,188508649,-1946693496,948334999,-939357658,1414566085,1497727331,1606996767,1681057203,-2072903057,-2047837488,1196246183,731508812,-741395892,-409961576,-612924313,274854520,1669293001,-1763401950,-1304397507,-100856091,1593481250,-624150622,552365166,-636213474,2009053422,426924998,-1413956277,-464633055,-342054956,350205814,-888147401,1310278968,-932834889,1120431414,272337071,22118487,-918874175,1868796820,-103578546,-1043374435,-1643768568,221179616,-712977404,1572142304,-932501168,-1599938626,-1234049781,-1938116384,1326353240,1739713817,-974349403,989400518,-812384850,-428618917,1384201459,58140352,1163728088,-1990043763,182334384,-80355513,482401705,1355065331,-1940877739,-923718236,-681951474,-1487814689,-1760119588,-252657267,1631628033,-69285560,-1395349402,-501930875,1454548907,1083721970,3139598,-835470461,-1291785988,1577645498,1415546367,1845141471,-1160027593,-2093551563,1943071369,1657275719,786127144,1466281772,647428302,-1573281451,1934243697,398093931,943732242,-448009641,1915690353,1438432158,653835946,-1742885913,424411634,-279644262,-1722088073,1591003032,1947140502,-781703025,750097061,1996135705,1374916712,831849332,630937991,-265890855,1931326704,-363944777,762681188,-833134742,1911516774,-1064979589,-1279618631,950615565,-80479442,-1076502320,-672578354,-2021932795,-172358391,-1325966862,1983064548,-1933562682,-450917467,-699387605,-1504557819,1619913678,27641275,-1764939765,-1537473866,-951509566,1511915643,1300185533,507677922,1024171908,-1855055226,-901964492,-1029840479,-729071351,-1718388824,-387017176,1927670906,-1204053210,-2009419128,1673208671,-2042714033,1470685622,73876266,389086779,957790875,-1352546300,515874810,1986851079,-307155377,-861182212,-433100287,-143911096,205334194,1007352446,-267902516,1039902897,-1629450634,459142217,1450171372,1312777226,1429646866,1836107318,-1555935308,-424399697,716206888,893061167,1002513705,-1600681682,445791702,-2013714498,-1708420801,1339277218,740353157,1202069580,735231730,403374268,1076665836,-1815657039,-2071391033,1727510098,-900983619,2044218266,1379363964,-1532023875,-438859366,816075246,-66290283,-1240082778,-1559643713,1849603375,1785612741,2132903806,1158842149,1325636335,-975103655,-1283128848,1024162878,-172088519,1132424715,-1744019026,-520738986,-1510593699,-1509823210,-52271495,1110121888,492244536,-2106358749,1391152201,-567896776,643617176,-117679666,1148131279,526030161,-270029407,-1166693133,-1434073670,-176760455,-1772445089,-62921898,-919469372,-1199888001,-2110849758,-1148317604,685579975,1296774821,-545032072,-2060853618,810472567,1060415007,1355666428,-69659711,-1988182187,748745142,-917485270,129126582,-977653154,-1775203180,716022822,-147143883,-1193152561,985247738,-1744998290,1302159000,1533787155,-336646091,1949503850,-1106134024,-180913280,1839574550,257785280,-1862570367,-184080705,159893819,-353392714,-143304885,568278624,-1119610621,-1123280873,284822035,1501265537,-1102347485,-1964211439,1866527415,1425467441,382815453,561858802,-1500317977,1610316830,-196773741,-2140485644,2018447832,-1471574511,1763861718,735192826,-1180410704,218897216,-413377569,1613484965,727866998,-1838122624,1585034436,185029205,599120651,-1076192998,-2026503141,1147794586,-1891001855,947089213,-757189679,-1514589774,-196814753,-1665564181,-1083058912,1978769558,-1910622695,1743562971,774741808,1734786230,-1670373503,536790115,1949768067,-51815153,-1914590068,-776459582,-1114188181,-273178031,-1932197129,236463425,1038793316,464882439,-756230981,1741787794,421964879,-660406072,2097913714,675677208,-1709269646,1696938062,-729566110,494911858,-954922923,429737168,-5534919,1196305463,-775713409,542795959,702348219,1619744906,-1184832029,1839768749,-1075310015,1537540870,1383887305,-748873757,632832961,-1108530056,760026223,-1103075558,-1683633307,-195272201,1451251316,571462007,1897544952,-2098346454,-1479555266,-1193001674,1437899150,909651111,-84616380,-109063067,503487569,-811543230,1731071992,-1023538439,-881059826,521660189,326475014,1590612747,-275604669,1326703284,-151216703,2050847165,-1265697827,-1817122923,-2111897928,-1234791337,-598640628,1492130146,1032417081,-649442846,-302659471,719890538,1441800144,205788453,44073139,-743688681,536565315,1404712222,-271081478,759707242,-1372029969,-356984538,1101401223,-664057511,1105297913,-1759830346,960043414,-421689042,1386102088,1264858288,922996642,1273131984,2001175760,1179591417,1784365148,-1869678301,-369234705,470713989,851964228,-1009622925,-309367711,180912422,-455595962,-1868702033,636611272,-505974520,815991153,138571552,1129466091,1733639730,-506047427,-1982815808,1425756118,-168786525,615131038,1058950490,-205782556,-1387269480,-1290127280,47340425,-1480952101,250734294,-267591862,277395130,-736585879,-1172344917,-895164999,29426615,600236930,-1471467796,67534046,2075119177,-1533132999,-1573370973,918311511,-481604691,2134807651,1387757727,-221001374,232610271,-1512723057,-1940336416,1782770521,170570303,1197812765,2135683739,167099848,-1227047264,-406292216,-152197665,-968359304,31380589,-298018947,-379813904,-660164793,30145004,-2004610273,2102944198,-19800253,-1320724560,-499906970,-552091934,-634673335); +/*FRC*/Random.twister.import_mti(147); void (makeScript(14)); +/*FRC*/count=18; tryItOut("f0(o1.f2);"); +/*FRC*/Random.twister.import_mti(162); void (makeScript(14)); +/*FRC*/count=19; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return (Math.atan2(Math.fround(Math.hypot(Math.hypot(mathy0((x | 0), Math.PI), (( + 0x080000001) >>> 0)), Math.fround((-0 >>> Math.fround((Math.acos((y >>> 0)) >>> 0)))))), Math.fround(mathy0(( + (x % y)), x))) ? Math.fround(( ! Math.imul(mathy0((Math.cbrt((Math.fround(Math.log2(Math.fround(x))) | 0)) | 0), (x <= 0x07fffffff)), ( - x)))) : (( + ((( - Math.acos(Math.max(Math.fround(( - Math.fround(y))), Math.PI))) | 0) >>> 0)) >>> 0)); }); testMathyFunction(mathy1, [0x07fffffff, 42, 1/0, -0x100000000, -0, 0x100000001, 1, -0x0ffffffff, 0, -Number.MIN_VALUE, -0x080000001, Math.PI, 0x080000000, Number.MIN_VALUE, -Number.MAX_VALUE, 0x080000001, 0x100000001, -0x080000000, 0x0ffffffff, -1/0, 0/0, 0x100000000, -0x07fffffff, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(505); void (makeScript(14)); +/*FRC*/count=20; tryItOut("/*oLoop*/for (let pgihmz = 0; pgihmz < 167; ++pgihmz) { /* no regression tests found */ } "); +/*FRC*/Random.twister.import_mti(534); void (makeScript(14)); +/*FRC*/count=21; tryItOut("h0 = {};"); +/*FRC*/Random.twister.import_mti(544); void (makeScript(14)); +/*FRC*/count=22; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(553); void (makeScript(14)); +/*FRC*/count=23; tryItOut("\"use strict\"; mathy4 = (function(x, y) { \"use asm\"; return ( ! ( + (Math.max((( + ( ! ( - (y >>> 0)))) >>> 0), (((y | 0) | ((Math.fround(Math.log(Math.fround(x))) % y) | 0)) | 0)) >>> 0))); }); testMathyFunction(mathy4, [Number.MAX_VALUE, Math.PI, -Number.MAX_VALUE, 0/0, -1/0, -Number.MIN_VALUE, 1, -0x080000001, Number.MIN_VALUE, 0x100000001, -0x080000000, -0x100000000, 0x080000000, 1/0, 0x100000001, 0x07fffffff, -0x0ffffffff, -0, 0x080000001, 0, -0x07fffffff, 0x0ffffffff, 42, 0x100000000]); "); +/*FRC*/Random.twister.import_mta(-1657786823,-366979139,1234028919,1348183672,1465732465,996821657,318772114,-463662202,295560619,1226266261,1425437971,2036830467,-1954390905,837975273,-88514921,1378547118,-287618861,1075754550,-1288919044,-1788151886,-363008380,2111847086,-1200895314,997708619,-2046828709,-2133973481,-1432827383,609339551,-905632045,-780059462,996607842,-411059973,188470244,1922591233,-1297328991,-703869190,-252373136,1449171625,-1261048022,67960305,1389476225,2146288678,-1567916489,2099449156,-1951231936,-842181707,1306699712,1986471310,600035699,1555697279,1354126421,1027918742,-1463604196,18236406,-632191689,1158716768,1406344872,-1145960122,1421835261,1666434736,2100187712,-2124051492,-1237734979,-1123935671,-1102837648,-863251286,716350045,-1109671380,-1442882383,-544096376,-1869438986,-2140339605,1094580582,-1249878573,-582383533,-1633258051,-38275267,1587350589,-1974073163,-1829269856,-565911017,-1371070415,1251371722,583038534,-743036669,22854930,-966417493,-2115489717,273093756,-52073044,-1026717735,-119141833,-2044928524,1143938407,1178339655,1398130924,729794988,644581098,-1475600816,461500805,-2047809428,234351993,-410789666,1410737609,98000975,-315625544,1164522781,-1558163902,1064966067,-1442259742,-1083587008,-845942509,443058349,-631889120,-147331733,164320071,294815268,562641674,1718863148,1378413348,61041110,2060189736,-771676983,-1451385929,-399391493,-259059742,-1390681631,1592598741,-767611436,-1990589347,-6511826,-1139840543,-1180215792,-224056020,-513031424,-1887251765,1394017606,60440406,433376810,613039437,-1726281689,1520745892,-1894049653,-1106792856,-1398397692,170749889,1052126938,-632986308,1908591826,651790697,1296513960,-1889595293,-613462228,-256545449,-342537335,1310301076,-1307833148,1649305578,-1719944991,623151437,1594963391,-1222687613,-1443479380,-2127930085,388071149,520386816,-851463840,-480910493,-784164828,-1444444108,-1743517622,53485745,-2089106262,-2103244385,-1901389780,-1531528687,76380641,-654666196,1601567721,866607289,2137583518,1180722135,-959157318,1220378674,456474399,1778205770,1295476558,1911324705,1158538209,599727967,1999758982,1987103357,523182501,1369715069,1258649178,1027127609,-1906420421,-857588269,311019263,-1290132366,-1123101127,344643823,-1789621042,-1492312180,506155138,-786147837,1300960654,-535042227,-1221786949,2129682939,727398308,728049081,-1566089008,1384118947,287366259,-1330366645,1897685128,-1926960862,-1291079488,-882141476,-1022408335,-1675054625,393820700,-1935133932,-1268886955,924163199,679101507,-1115944384,-365452358,-140729239,165401094,945371052,-2008205127,-1124733790,1614287426,-921817746,-1443392754,-56965265,1846164887,-1607431407,582549646,1923956450,-1299751223,2081345337,1547611455,411165192,1970653653,-1065176245,1855743483,762163074,2010239922,-1303010154,1433080947,-973952571,508971092,2075755083,517162295,-1726809807,-813272881,334582366,-111315427,330796434,-1350232958,1557853684,14307611,-1812053857,2096843458,-342109981,-1086833627,1742164462,1085993171,-732405720,-1506151982,-1755842659,-1783457835,2075688330,665033357,1456882230,-691814757,1524859990,-885534293,-1441304368,-590688414,-1044563342,-375650275,924579100,-1756072366,-1030143423,-1908093523,-1464048001,-1246423286,-614824214,885888165,-637554170,-250447368,-578283611,-1495053899,-1936764315,-999269585,-1444358122,798472491,-1231161208,-1667902424,1864841471,-618733137,-1645810505,-576175779,2088381003,26675145,751032756,-924879975,-1476386137,1195519563,-664740204,-1175707475,-676171525,-208328041,376163618,-741218367,-1593610255,1857309294,1887726172,1123348278,-1053987036,1932771198,731458200,-1620454450,-1782895365,1086256018,-461419775,-2146738807,1648279454,1647783205,1723475259,-1228336837,863999981,-1977708012,797103175,383765423,1762874244,1719179681,-1948532570,550561145,-1697799387,1398996935,1042410971,-182033103,1487504005,-1304400856,1008127617,88215434,-677312700,1259273391,328375369,-451601242,-1946309332,-673203646,1548419693,1152937531,-1247713593,-2099364217,714630769,-595450816,-1267824987,1653584262,394217782,-1128575101,1768300252,1974990648,-600477625,-2105965937,1469652540,-1668770378,-1873983275,511116186,612380175,-982887158,-1620911528,-247406136,-1074377138,897599799,-1434307304,333353914,2137666424,-572306329,-1229323043,1739613706,-1640042661,831366995,-2121225902,634283044,-896101992,1230242267,-375941643,-1601385672,-207650549,-486551938,-851256743,-1582960140,1174569874,-536879518,-2057986021,-1032317603,-1339025609,1946533609,627864412,749714757,99832414,817018076,-1048914598,-641169491,-121758561,-1271525368,2017506453,-1822516389,367164625,-1542085887,-1329636782,-1492811861,-1432736198,-678870989,-1753512179,-745508675,1026396668,1585589090,37184134,962326494,-755800010,-1214196615,-715002060,-617965728,-1828247723,-1514838936,1482819315,-53884651,-240447717,-732496693,-1035571543,1054083714,-1415619568,1027809473,-1918122618,946235921,1861299205,1471634416,-784381299,1439165187,104746544,743381224,1168483013,1870852068,1661608575,1756198639,1384289288,595304851,13190920,-527799311,979930205,-1352038221,1589307991,535220412,-951841766,-1879114968,-1054112145,995695749,-2133238688,2136128181,-54680847,1817732048,643115925,-865069637,802579574,-1927674640,1495550385,-1106805518,2059364343,543351099,88297365,-1743487321,466941130,2138086704,1385753148,-580585720,-461577229,687574865,111408203,-1642619044,-921118120,-1777381444,1079637515,-635024373,1829294232,600361124,-866291220,542065116,-1580291559,-1468437754,1603978078,8533317,1159688694,-65545049,498978737,1127572470,651524504,87138729,-1968070656,809093265,1227061031,-1754456718,964531599,397722757,-833854788,1150087904,790873073,-1490596282,1489473276,-1593399044,64671312,1973123988,1396991487,2072595513,352612857,1590155924,1983089312,-847237831,105619931,-943692784,1139783066,827457483,-1338969895,-2133496808,-1905609318,-1222712481,1115880208,-467477811,-1320571875,-97074614,-519935722,-1611928230,300299646,1450464188,-860861378,778684007,1185431268,-275530495,-665032550,-39853254,1574604537,432764152,1732703598,-626226955,1455589014,272296176,625406573,-1600746283,-772718628,159976873,1459924500,2069710652,-623465021,-1988811820,-206745176,18056142,1532546460,2105155875,640971563,-1471518749,1650044465,863654924,326793824,858667492,394964775,1415334448,1456903999,184324426,-1378923899,97046131,1407579846,-1909712020,-1821417036,-1723394053,-1569853491,-1275346295,-1617174241,-279971578,-2134939343,1241233604,1530269571,997922736,-928533706,-160581430,-967776643,-1673992587,1957682829,-1422883032,-585440719,983730857,841675295,1861286541,1131317638,464465613,1482386410,-928388228,1501019338,634977417,1475192922,-1156804438,787355239,-647624292,-241110646,474886724,67409550,413990844,320756210,1801783335,1902664613,484052994,1533170887,1828114150,301443587,-1735551290,-821619639,126018160,896494013); +/*FRC*/Random.twister.import_mti(63); void (makeScript(14)); +/*FRC*/count=24; tryItOut("{M:if((x % 40 == 6)) {for (var v of i0) { try { Object.freeze(m0); } catch(e0) { } try { b0 = new ArrayBuffer(96); } catch(e1) { } try { Array.prototype.forEach.apply(a0, [(function() { try { o1.a0.shift(b0, m2, g2.a2); } catch(e0) { } m0.get(m1); return a0; }), t1, m2, h1, v2, o0]); } catch(e2) { } v2 = false; } } else if (Map((4277), (x(7, window)))) (let (e) -23); else /*ADP-3*/Object.defineProperty(a0, v2, { configurable: false, enumerable: true, writable: (x % 45 != 16), value: f0 });let (z) { s0 += s0; } }"); +/*FRC*/Random.twister.import_mti(417); void (makeScript(14)); +/*FRC*/count=25; tryItOut("mathy1 = (function(x, y) { return Math.exp(Math.fround(( + Math.fround((mathy0(( + Math.min(Math.fround(Math.imul(x, y)), x)), (( + x) / (mathy0(x, -Number.MIN_VALUE) ** (Math.sqrt((y | 0)) | 0)))) >>> 0))))); }); testMathyFunction(mathy1, [Number.MIN_VALUE, 0x100000000, -0x0ffffffff, -0x100000000, 1/0, 0x0ffffffff, -0x07fffffff, -0x080000000, 42, Math.PI, 0x100000001, 0x080000000, -Number.MIN_VALUE, -Number.MAX_VALUE, -0x080000001, 0x080000001, 0/0, -0, 0x100000001, Number.MAX_VALUE, 1, 0, -1/0, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(584); void (makeScript(14)); +/*FRC*/count=26; tryItOut("\"use strict\"; testMathyFunction(mathy2, [Number.MIN_VALUE, 0x07fffffff, -0x080000001, 0x100000001, 0x0ffffffff, 1, -0, 0, 0/0, -0x080000000, Math.PI, -0x0ffffffff, -0x07fffffff, -Number.MIN_VALUE, 0x080000001, 0x080000000, -Number.MAX_VALUE, Number.MAX_VALUE, 1/0, -1/0, 0x100000001, 42, 0x100000000, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(616); void (makeScript(14)); +/*FRC*/count=27; tryItOut("\"use strict\"; /*ADP-2*/Object.defineProperty(a2, 14, { configurable: true, enumerable: (x % 4 == 2), get: this.f1, set: (function mcc_() { var zhyqas = 0; return function() { ++zhyqas; if (/*ICCD*/zhyqas % 9 != 5) { dumpln('hit!'); try { print(uneval(i1)); } catch(e0) { } try { i0.send(g1); } catch(e1) { } v2 = g0.t0.BYTES_PER_ELEMENT; } else { dumpln('miss!'); v1 = t2.byteLength; } };})() });"); +/*FRC*/Random.twister.import_mta(559563096,1550558608,1848594606,1834600453,31995272,-872932204,-2111922444,-1513882397,-1729140535,-1612957933,-1605883392,-1401214400,9133041,2107414585,-1851038136,441648318,407891854,-1966552923,1599538952,-784608189,-833665275,-1154442500,1848211264,1283333953,1309943001,534029670,-166869652,-494401324,1794637019,1692953711,2017723540,-230867573,1965386475,1534332399,-134037464,-573575216,-1436877960,-425509248,715505980,1681297620,-38761286,-1231485626,-720446798,949643489,1917181059,1586969073,1438826178,-547486826,1718287725,-460033546,412888059,942575334,86934334,-610099808,25324751,1095039419,1331400875,-802378574,828417104,-568507695,987384243,1836969138,-1724688468,1086641284,-1593711025,1135549145,-540645511,-156368382,-284064860,924579150,629379867,214343523,-1516391005,1004298573,-108138889,1791578033,-1352499344,572835959,868524199,-699916049,-882348206,-44086334,179621865,-811386514,305575093,1734252034,1031817993,1624769903,953238173,1719266415,744714140,-721346234,-1152989081,1613822071,1151481070,913779826,-546786663,877219572,1963385348,-1434378448,-2140568259,860084522,-1239624755,1744100447,724187245,-1198962265,927293113,-1014752593,-1615475087,1871522737,-1226686607,1129441787,341214239,-181958929,329350080,1279635954,1072127604,-1809929008,1909717870,-1596515305,1052560964,-980199121,-1628301061,-1768350053,1833170440,-1857905989,-2142393835,-459293741,-605154518,-1207028345,-2065649227,1837257923,-916298161,-262107752,1352887328,-560635396,1129309371,-389497384,973341284,1874065030,-1940899900,24039872,1323688522,2572606,279857921,825413898,1804242042,-1754080408,1379409137,-616792338,-1015171561,1954337646,-2045447398,913219054,835603292,154988178,1415692696,891543674,443272101,-1089919063,-712786806,799434602,55260049,1542270077,-64000728,663509886,-1275425550,366701873,1925691185,-465542202,-1161228618,851916377,-886878608,1954264562,-589741328,-1894627809,2058083369,-61940639,756304390,981252540,-371361806,-1387909455,-147742291,232077483,-1768731160,-1788841682,1046811088,1421981737,141055553,1919110023,-116991390,-1377552451,2038242135,-739310617,1103366718,35617847,-1948880709,2071778440,-996675576,-47361686,-513331529,1683668202,283641408,1421510284,-373166028,-1368628805,-260898893,-414790389,-1315100552,-1365177480,-1571539868,-936003084,26721284,-1915294558,-2057945612,1612894200,361508195,853594183,350064843,-464190363,-1937851145,659182568,396604297,1537871667,226847401,-1967689586,735145117,1413582981,-1095940229,717404589,1903514579,-1664739061,-1786582331,-234711083,-2126189996,-871063218,2023351419,1313178644,627826455,1373100982,1154090824,299923955,-44248067,-1353184818,-2037892703,-52079811,1752317241,537511207,-1383707331,1438752409,1431620874,-1112990145,-1541062309,-1188634298,1180465454,-57217377,-244735960,-2037412820,-1144679260,-796696262,313510694,-272610711,-1281190614,859792170,1985261072,1423467613,-923547526,992223863,-982340175,1817907716,313940213,559490154,-1942719776,-2045557257,-1568522925,-323780364,-805351187,-1426766743,1432308941,-1178739916,-1901517368,1877412734,563766402,-1566759814,-1952360900,986357625,643388206,-453992518,-1607766190,-1008083927,761894897,1651481794,1867563994,-1487971451,23247119,627611553,-397087581,-558690733,1479734120,1801378281,546479369,-1211693981,-2074975471,468041592,-169931021,-1005047594,830309653,1386962025,-348215528,-1210857734,44800226,-392228017,1265563976,-125899904,-1844867635,-669817079,759958270,-1669124957,478684769,-870519472,1483918681,1708671861,383884256,-1494127322,562420664,2058488803,2035562898,-533267212,-1737175947,1863437782,384533392,-2093408736,316468197,-1255577861,53698950,-1699051653,-1589317299,612723321,2010660921,-1100842992,-255170884,-624838237,-668217153,-815886008,302443234,-767002327,1435200906,664598608,43028144,-1672274114,-1119249095,-1848887168,25388096,-1295571898,-1587450555,-1342058997,1327694958,1068775031,-296069249,285592019,1008995967,2128772608,497717873,839400568,-478734013,-1118759558,453048808,-1232352168,-1233331908,-1764650030,1810615840,518652378,-534985281,615583159,473595056,1888302708,-1802693694,-1143093517,730330185,1172072286,590317410,2015429249,915011374,-476522636,-143240501,1773402272,689889499,340647932,795751363,1370227075,2124833969,26074394,-1974525605,-474158738,-182706837,62410766,468303413,-367266228,1371961232,-455302847,-1344678624,619575425,1308818779,-1717455998,-285678129,-1572133765,948244627,-242995812,-1912912868,48059044,-394099141,-863484436,1883806651,-1362957150,-2026359138,-2090191074,708634286,864867688,-123133792,-1951331439,22704318,-1325104449,1552528585,-1533582070,2053596619,-667285529,-732633743,599782484,250235760,2105363952,-2077121031,-1155841536,1532351005,1461627878,110885465,1119807170,1451920627,-46255835,-570812420,-968975173,-1962733983,1080932387,-833427163,1045921947,-2089302562,-415836779,-414571651,-1705430909,-1668271531,543343739,-215503149,-1596235519,-1544144246,-1553724277,1411724033,400605788,-285323428,-3594411,1788075263,-1703837029,-778006056,-960784448,898224806,-1136796954,1311320612,-1010158958,-159270383,853948064,-1681761050,1114401279,-122471435,-2147140647,159369018,2003927872,-1000421885,616533375,-832009844,-1068088698,-264018854,-1684205629,-1872063400,1760428714,396373945,1008523103,483837654,-1261544694,-1274082282,1504210168,384041395,129565680,1169886054,1739639362,1928780971,-1730910060,-1295267932,-1857152974,60191659,-1946160504,64396433,725036140,1371869936,-2095543128,-2540488,1416573158,-1347578775,-1807017894,69521528,-2061522063,-1437503130,-1287080417,-2051336924,-370725044,-1269576098,902493197,-2003609404,-1331152084,-2113619199,396634683,-758833438,-878914279,885380006,771839045,510743281,1469860576,77491809,2077409632,178848548,-1590504909,920112336,-1002908387,1557194165,928567171,-1520874146,-1704699732,-1828242760,-1775909315,-950865295,1298034255,-1603532304,1616171158,-567882337,1547034145,-79202181,-2087885663,-257091346,1648875516,1006181107,1419212581,1450916290,-1564512443,-846188947,697872320,-249970166,-266875097,-1999740134,1169750654,1150524124,725950478,928708638,1449556495,-855650769,1136304225,-1223237195,116478211,-1365777613,-84557033,1447436247,-378057542,-746814317,-1044591539,1569945092,942198778,1613464169,1358243119,-1468797491,-646162090,-1247681443,-1168142193,-662992806,-735551646,2063164287,1637104862,1724157531,948238573,-421318096,-1968731363,-1516863795,563709351,1521592219,1721519636,-936837223,878959270,1577994979,244890236,1091440031,1915038903,382491138,-979696711,1063077145,1958994438,144488514,946768142,473360401,527031641,-1876225314,906083356,-1952195406,261915564,15825476,2024730124,-509961165,-81777387,1614599257,-2052795369,-1242479887,553860034,-451568833,1222443970,-1870743356,-2046170568,490197909,-1227002797,-2147003377,189046425); +/*FRC*/Random.twister.import_mti(60); void (makeScript(14)); +/*FRC*/count=28; tryItOut("function shapeyConstructor(lxjsxp){\"use strict\"; if (lxjsxp) for (var ytqhjcatr in this) { }delete this[new String(\"15\")];return this; }/*tLoopC*/for (let c of /*FARR*/[ /* Comment */return, , '' ()]) { try{let rxesbp = new shapeyConstructor(c); print('EETT'); v2 = r0.exec;}catch(e){print('TTEE ' + e); } }"); +/*FRC*/Random.twister.import_mti(218); void (makeScript(14)); +/*FRC*/count=29; tryItOut("/*oLoop*/for (let rwvsug = 0; rwvsug < 74; ++rwvsug) { /*oLoop*/for (var phsvdz = 0; phsvdz < 81; ++phsvdz) { print(x); } } "); +/*FRC*/Random.twister.import_mti(266); void (makeScript(14)); +/*FRC*/count=30; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return mathy2(( + Math.log1p(Math.min(-0x080000001, Math.cosh(Math.fround(( ! ( + y))))))), Math.acos(( + Math.atanh(mathy0(( + x), Math.max(x, Math.min(x, ( + x)))))))); }); testMathyFunction(mathy3, [Number.MAX_VALUE, 0x100000001, 42, 1/0, 0/0, 1, -0x100000000, 0x100000000, 0x07fffffff, -Number.MAX_VALUE, 0x100000001, -0x080000001, 0x0ffffffff, -0x080000000, -0x0ffffffff, 0x080000001, -1/0, -Number.MIN_VALUE, 0, -0, -0x07fffffff, Number.MIN_VALUE, 0x080000000, Math.PI]); "); +/*FRC*/Random.twister.import_mti(437); void (makeScript(14)); +/*FRC*/count=31; tryItOut("\"use strict\"; m0.delete(f1);"); +/*FRC*/Random.twister.import_mti(450); void (makeScript(14)); +/*FRC*/count=32; tryItOut("const ylqtev, x = ({14: y ? false : /(?:\\3|(?:[\\xAa-\ufc89]){3})(?![^])(\\ubCDa|\u3159(?=\\B)*){0,16777215}{0,}/gm, set length x ()[] = x = this }), e = (({x: ((void version(180)))})), xswdgu, x = /x/g , fxhnwq, z = {} = /x/g , x = /(?:.)*?(?:(?!.))|\\D+?|[\\W]{4,4}?/yi;let (x, gjuuzw, yjozhb, pjspoc, zhyknm, NaN, c, window, jjvadx, x) { ; }"); +/*FRC*/Random.twister.import_mta(-1415642179,2016917786,-67429418,1627508825,-969999465,-1585284107,74303810,-1786077851,-1404039416,-1437493964,-1067841212,-268425491,1335929466,-835931013,-1270919307,-1362568150,-63351324,1662321840,-863918224,-136759997,-706120842,966063503,275422910,1983341312,-1310218951,-95436716,1159690081,922466031,1386382631,-277058933,-964993255,1836064045,10359114,185580460,-590956590,-995104585,-546604212,-773315881,-415913391,1848063758,-942843611,-74393906,777041682,1629004805,1195988358,2100118029,-1446356224,-423979287,-1602069570,-316578051,-2093270490,340752055,506502690,-567758817,-321623983,-2115712659,-1808478448,-1065644062,-930416179,681387865,1040885333,-488044969,-339711768,-141711872,-1611611971,1967848848,1950852976,-1731548572,2042169417,-926199180,877431870,-579015055,2032421737,131870588,1144075143,-71063087,493541369,-1194762749,-1752739944,-1200377788,-1884998009,-1089159430,-1977785535,1981958312,-1413802341,1598031919,1888065850,-1957612696,-836164192,215017157,881703536,-123365105,-1614339120,-1947199379,1660640288,969808168,-1316367413,392368717,1959164504,1727054372,-1550967159,-2058501620,-504053045,-1692981984,-414288685,2012130051,203362200,-1685667051,1525545276,917977694,344741052,1483810454,1760923341,1153117551,-956216873,-1211248312,-1113597309,-1647052337,-245818765,676273626,36160016,1626264663,1922937178,369609086,1199739596,1086765088,1693106336,-485268108,1209478686,2016402050,-2125820157,-883912977,1729428534,187250813,451911589,219640052,889233495,159578517,1961647613,-582816907,1737461736,-1476962913,1039185234,-1875896429,-279066659,1300278855,-1804242214,1805906128,-937781731,-7365277,1417874541,-1016560081,-616492676,158705993,956396526,753189794,2041013705,-584947294,439418046,2018581073,1234834781,356908582,-505087149,500669357,2027692815,64341720,-2077589632,524539838,-1845932852,-779365425,1791694678,-1630604650,-616990340,1501961980,-1418709374,-1718489963,1020854869,-1548591292,-1981628164,1621751764,-490556359,-1869083230,-1684507011,-919368385,-2013760422,1508929521,-2137670171,-1329440413,-1649599143,-2048409234,2032890399,-676323828,-1383357520,179354972,-555977354,-1834781528,-887426115,-258699596,-122969346,-173242116,1144412605,-125516537,530740303,-1590266036,1214765808,818580039,1808689311,-909502793,1594523385,-636318594,1342887261,-1405146903,-877607423,809309534,1640864112,244282809,1841796922,1051726636,1907529285,756107923,1649054308,-700615153,165175649,-315128366,-262663196,-1665855072,2097179163,-1094509990,223530831,-1479007735,1215154658,-1314070755,-386449418,-1281121932,74894173,1385782299,-1135352128,-25898188,1790427347,-1367357895,-584107214,953568231,-1699113414,583349014,-704981570,990299248,1581122231,852177376,-1349899163,-1793042297,1288504127,-1402358185,2017058416,-2068041270,-1442173251,-567106194,-2141592955,501944549,-1271618857,1274165577,-1810762547,-1221248824,-887269024,-281168041,579778370,-246308876,-1177670383,2121109545,722216009,1938970231,1493365439,403703734,1375065502,2135625273,1786240213,-1614999068,249390726,-2108164850,-399226289,817776840,-621346882,1943154832,-1498041973,-263684043,-1726041380,502498129,-1121671980,1903276708,-1203843160,1179080215,-211041329,-1693030703,-483666288,-197025837,1534107110,-448970036,-1476326839,-216675968,59888960,-806888247,-982464153,766451736,-175793712,238471307,-1822690878,-1706582017,617110254,-195486079,412131751,1703604300,-1336810768,-1114574582,1039794600,1188197172,913805305,-728569077,518179103,-676996268,744564067,-1178573846,1761960055,-798315222,1893140529,-410693105,-1841699037,27182480,625387096,27983863,-535438426,379480720,1762048827,556880896,-1200093942,2055870446,-1039058553,1013335106,421168534,1202555747,-182260419,1962175656,-1059075542,-519643849,-860964158,-1649095137,761008270,1327233705,-405727856,-564009952,1339334195,937208619,-1329859502,-1315671920,-1551919062,1893357751,381526286,-1164034397,-783809621,-331840884,1339108392,-68912453,214891312,2023135061,240053739,-1537292269,2143082832,-2131006723,790752946,1102354294,1948692172,-2063717989,-1494932031,-1380662276,-677608130,1359109308,1231831141,1388754818,1471547272,793556381,1852819441,-1552511918,307542214,208918352,1761480946,-725962699,1668502942,-1862133294,-666011700,-1618602743,-1372806707,-655118264,1543392635,-1907459475,1486664271,984784742,-1470125575,-1896940263,1753009488,1141831356,-1460138876,510723154,903239632,908821740,-716771223,666072899,-1556725301,-1792777143,959266135,1174971494,-2082878025,1231729948,1967079749,-793523157,-457140070,-576658235,-1895682104,-1648057859,-319021547,146843107,1172278624,-114579917,-1104391441,-158380796,-651321943,960127033,374644057,-1342185176,-1379060538,-1711990526,1128993897,1868203235,961015805,1663296386,1191782719,-971267455,-1606127308,-1198655168,-659610070,1293711423,-44466384,1069515229,716526092,-500324099,213680827,1271260949,1324762891,-541521896,-771376211,-1634917595,-1625625749,-182666594,1157747109,-1300831770,1611056850,1505771903,-1340043158,-766961537,-1914981242,723118224,-1303978015,-1876124155,-1341715148,59595523,-1613085311,598452559,1752600432,-1665553595,-799502948,-231475605,2141153592,1531279980,124654837,2127127648,-787329377,-1837986189,-2039262955,-1870014991,-1250756745,1549039775,-704839633,1501360161,-713321409,1970854743,-1935702963,2068270230,1919954115,1528432147,161696073,1256323920,1419822548,1145793272,-816671735,-1747109646,-880321608,-746847779,-341008992,-1183896980,-1691748218,735407902,1396183354,2112577831,-1774447602,1252649487,1055249940,289083444,-1573777864,-2138802981,-307465564,-25246217,-1917145832,-1147338050,539528280,2022038097,-1968295940,79112594,-1962450907,-1954261834,645504911,1357282294,1808336011,-347717583,-1504240772,-852641572,-317555871,-1774198228,921095415,-642514286,345094237,-2090929525,-1500913062,-1164852642,-852216719,-1638905816,-1287225034,141961595,1811767979,-1060668154,-1039769283,-683684782,-1330184813,-1111386345,584851275,2118025968,722129732,876679994,922199203,940354678,1397841279,382937868,-2079080693,1403531992,885461910,669170155,-1879223743,-829010844,-1297418178,378813136,1965739027,-2113215540,-1191846089,-1836258389,-732537019,-155267270,499931551,1150161652,1838779174,-1692121753,1353643910,-1588005172,-1335520170,550457961,806998697,-982849301,784927152,-954680496,-1161604169,50161691,-1651776621,-1174049159,1975030396,-2119497784,1910487897,952022015,296739474,-821374731,2107897856,-1347242007,1027395007,1385049080,-1654044429,-116967806,772237952,1243928330,1747683061,-1924138953,-1154209353,589135297,-945091420,1409834957,1953650962,-627852069,116662382,-1175097546,353952373,-770706844,-815576162,-527456572,-612544531,392041162,769887373,-945807273,-1809532817,-1865481016,-490715982,-1994824578,1549478909,-25555447,-436513438,1012261155,-904052902,1122420131,-391122196,-400680792,-1057831443,-457442223); +/*FRC*/Random.twister.import_mti(567); void (makeScript(14)); +/*FRC*/count=33; tryItOut("testMathyFunction(mathy0, /*MARR*/[false, 0x80000000, 0x80000000, false, Infinity, new Number(1), Infinity, 0x80000000, 0x80000000, new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), false]); "); +/*FRC*/Random.twister.import_mti(622); void (makeScript(14)); +/*FRC*/count=34; tryItOut("\"use strict\"; if(yield) for (var v of f2) { try { a0 + ''; } catch(e0) { } try { o0 = v2.__proto__; } catch(e1) { } v0 = (t0 instanceof g1.s1); } else {print(uneval(i2));(void schedulegc(o0.g0)); }"); +/*FRC*/Random.twister.import_mta(940911153,-1794801297,-134652767,-1882613052,-1963575,-1754262328,-1266775762,-182565297,-1072910637,1493187061,-1493170225,-469133174,-143368194,-1238870496,-2015911362,-1696845208,-1406507363,-1455227792,2132839299,-2046253138,-855478277,1307230783,-1037035597,1071067308,-1951879890,581605062,-1152447599,-1509069035,21587122,1475881877,1984276299,1124342988,1792891189,388281364,-1736661242,683447449,937886517,1255544003,-811703609,1648441959,819204952,-1435425607,-1774492928,152172751,1169406244,408530747,-1584390978,515336916,807472057,-1818745154,1302472865,-1878875014,1124094542,-1436330670,1804350863,706519386,972916366,1299012691,521091852,198596467,-2090476700,-945362027,-336966395,1727520181,2032674251,-1510369735,802094205,-1918714997,-1193540993,-1971401853,1166356876,-1710883757,1487629778,-1132577303,-635436969,112170428,387879341,-844040487,-860877357,1806228715,64890850,167444816,577623157,1504620461,-2083491937,-1260697392,2129646882,358923795,-2072328786,333812849,-272922872,457397308,-1732520431,-1104201191,-1959119770,1246429826,29702180,-774922100,-1978184834,333858589,1769180696,-1161117568,811660215,2090049208,-1470754991,954880472,-2047819423,-817565018,-1679824396,-404072198,-767142212,550034081,13116630,-1700751252,593703669,1298756194,-749312598,1789091267,-542909861,661290631,-107372286,1384635430,-532306802,-2053746150,-313596724,-546890959,-1481224042,1391287288,-442241069,-1925427453,2147353891,-721183679,638447295,1498106748,-1730416558,818831810,-1782586002,-930874230,2003744867,-1312708919,1573705282,-296835270,751905793,-864400262,-2114558708,556821033,1100016466,-1947050126,-557592040,-1609012330,-1368401724,-374130763,-1910876509,675785313,831576122,707154042,-536381259,-5077407,-1280047321,-923830686,-2002248481,286200385,1164940962,1899036189,-145478570,534341215,187693355,1701129536,1793662047,634092589,-1371566201,-570873624,1275878679,631359976,279621246,-374523835,-691956494,-30264375,1923716081,904005968,-230070104,-1585702499,2084204936,841187700,-850512680,-1997697857,241388699,-1434597773,-314484898,-660487057,2035688702,-877881045,-1134598100,23679035,58027358,-1800515596,-184172691,-949880632,1506490815,1018728613,-247296623,-1565797398,-905410691,1657261334,949525194,-1174968603,1877101024,971949117,-846798597,712021404,-1740032415,-785162414,-1614894344,-1530759977,243273419,-735867089,-1774096920,-41234432,1912216479,-723641264,-1908151557,402243381,1954350922,-1870398690,-1505456008,662323263,-69570180,-407569079,534847668,-1815103408,236406165,-1952868814,-828259214,1867340895,1163548829,-567976525,641355887,1263753081,1782500169,-1713126809,1934344972,-1970575069,-876696605,-2032726974,-188637624,-919127545,-1620230306,1137690902,-1636671837,1029580531,-1326752936,-139181546,552898083,2000858128,-921420382,-663935697,-2147151048,-178829569,-1074417481,-102952052,1287530608,-34468938,-970260499,1721784468,1920916281,175228048,-2072034644,-1134906973,179355485,598911616,85588756,1833522155,-1091266312,228803083,292151846,2001713402,-1833706439,-1599029927,-933396450,1853566353,-745911014,-505520747,-886025825,1970462688,-1701040860,27093350,1936625185,-1619346256,1032712257,1264000061,-1300996606,146656899,1188161807,1115075214,-1086579987,1976842116,-202100925,72211244,620667624,-1558464066,-357978651,-522007361,-658751194,515074380,429623801,-1630265180,-930290828,-694237202,993950070,977609997,124180264,-584224949,-1749913270,-52649471,-1507493047,1375932926,943159771,545498470,128148937,1966200565,-1776653172,1784217761,-528409766,-774800534,-1862221244,-1733027758,-1975809991,1501127627,-242879032,-1645535499,1812673720,-1268118060,1169119791,1039199613,-1854418809,-1756189889,1563700628,1910477053,1521675509,547865027,1932215848,1161064340,-1698978382,-2047316499,-735702968,-330608493,1213893783,125525700,-798934676,-132620633,-581146030,-1125046055,1040353205,-1394049007,-693439370,336551641,-81785275,404132663,1912148419,1617597223,-66539511,116668024,-1142311660,-362706490,1375140139,553537338,-1860440718,1742700836,1966670632,-424997314,-1700778620,-365418605,1236354167,-64062529,-1567554381,-182922788,783712647,5278691,-133664356,-953152832,780026313,99602499,-1720469313,-1849765254,-147617144,-544031551,505728057,1186397414,2104937061,-1315438400,-283151372,34784686,41953772,-2046255864,-1155865837,517438199,130811763,-1169978939,-1832801599,1458009855,1051986846,-1560189291,595342139,1582433480,766030130,-1221083771,384195427,1789738668,-976665837,-542285323,-2089625666,-1087473515,2134199810,1239571327,2107057746,37218443,97068609,1538908750,1848769261,2051142020,2049898169,-152366251,1362874167,1730625822,-794949540,254649308,1883380772,166705018,202252612,1336131676,1398160599,-2112569718,66193274,1069576570,1705523357,-1580108818,-705291940,-1494906375,400830307,-1964768258,215748726,-774439095,1758055546,674430642,-766094324,-2114947434,43007261,1489383313,1836573306,-1879744697,-1984394259,-699927791,-1835872161,-473286327,395887017,1494022903,-968668136,-1908630854,1518823919,-1767750936,-1216134911,-742405502,385366475,302061527,-603508220,34770311,2045938061,210007952,-1490430955,1359024454,-1179402638,1161824728,419876321,1163667211,-1836870863,1573098951,-897799581,52259728,33721049,-1824394013,-1795788444,1448300379,-1513192604,540390790,1104344361,573351116,-592581084,1726892698,-539509046,2022376758,760136941,398292709,-87591775,-240579460,-521329515,1193558814,1985486095,746976137,-894151769,-1242918145,-234944557,236652844,2144481504,-2085954779,2046441451,-1098139316,-2008219723,-1789453418,-1139745590,-1692133453,-801603049,-1614071078,1137114543,-270168340,-625436949,-138834087,1663312326,513305752,-1542037948,368731313,618688224,1354602370,1053542034,831519207,681040485,-138490343,1002205220,-1175626552,-1112920688,657386433,1369132376,1077463394,1139246278,1685775102,-151160467,-1019872969,1373291300,-969598658,449123359,1607781936,-1010572423,-1281355029,1210292323,-1169941675,1015411549,-1224508503,2119713651,219874262,59578829,-85814639,1529386816,267836347,-49568,-747703258,305364643,1377313566,-1662095597,-1451660292,1680132318,-1232288430,1185909472,1184451735,-1256873403,1811474439,-448462191,853907254,806075045,723094531,-1940162945,465566777,1044752711,-2092788592,-809038533,-1942776429,-552773098,1202485370,1007835460,-1484774548,-1138447555,-538580282,700410161,-562232001,-1434286468,-2047741371,-1765312484,-1234188349,1227720411,1807000751,2054663481,-320208812,-814489021,-51672434,-1085209602,1435060598,-1353085157,1458341242,363303175,-1600585459,1585006881,181097536,-522925020,1897252182,-601937682,1225204808,1880578177,213804725,-1935735899,-1584974000,-1086885705,1248416855,-640069602,-2041337647,-1692528898,-385750760,-528266435,260792532,1991917710,-904795047,-93775968,920113306,-234385060,1114321210,-176016384,-1026678092); +/*FRC*/Random.twister.import_mti(99); void (makeScript(14)); +/*FRC*/count=35; tryItOut("var z = /((?=\\cK|[^\\S\\W].|[^]{1,5}){4,5})/ym;a2.push(i1, e1, o0);"); +/*FRC*/Random.twister.import_mti(477); void (makeScript(14)); +/*FRC*/count=36; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(486); void (makeScript(14)); +/*FRC*/count=37; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(495); void (makeScript(14)); +/*FRC*/count=38; tryItOut("let(y) { let(z) ((function(){;})());}"); +/*FRC*/Random.twister.import_mti(521); void (makeScript(14)); +/*FRC*/count=39; tryItOut("v2 = Object.prototype.isPrototypeOf.call(v1, g1.g2);"); +/*FRC*/Random.twister.import_mti(539); void (makeScript(14)); +/*FRC*/count=40; tryItOut("\"use strict\"; /*RXUB*/var r = /\\B/; var s = \"\\n\\n\"; print(s.match(r)); "); +/*FRC*/Random.twister.import_mta(701102509,1882567758,285457309,-665993307,-390501135,2034464684,-1110075600,-727296380,1119818144,-1670453157,413790953,-1099731732,-2068231451,-1063713119,-230661727,-1339503213,490939719,-1693461684,20167516,-96427677,-1539034226,-702463509,631925202,2147131438,-1480697802,-711656928,-1389803957,-1875199483,-1109850423,-764903586,678279452,-1603781375,1144101462,1600679764,1329742873,-2130102721,-2086417468,-613435103,1241079298,-845410064,718646138,1559863011,1466191686,772132068,1156749323,2013381157,1734953944,1397645583,-2009307703,-45508206,1355251116,217566045,-1698368018,1702240757,-1018584132,-1905519848,1551116223,404708399,-974167663,-940465750,1961320367,-1233453134,2094079213,304079675,1481355585,-669518038,-1915159859,425821156,-567977831,456134987,-1735509658,-881040644,-701055123,1303056006,102220550,-1954466328,-91427656,1842554119,-1323349139,-879511150,132180792,-1975726020,647893994,202831476,205450035,-625382923,-1282450864,1139775486,-220799445,-344969824,726655108,1250092317,-1097586459,1758715614,1922627492,-98178893,-649143238,-1511620310,-1746939825,1122097667,836801481,193764003,-1952227933,2094837924,1382949312,-467476337,-469196170,873841425,-847342287,-512764693,1547421209,-1133195615,-1770759291,411151282,-1182825493,1785581434,62689490,1818348313,1023672517,1609101639,2010874507,-1808495613,1462848956,1380392070,-1509512507,1829826265,1492735003,-2091999917,673732935,-582237590,174334519,2007263760,193678975,1576449393,408942979,1228437105,3873979,339907971,1121819276,1060939781,-250459485,-710593856,2045372429,-2093428225,2050004768,1760292298,-1078119188,1407457873,-418427294,695185169,-523622189,-578256317,935982974,1138817885,451277702,1458844389,901711817,-756953617,913283119,1102238115,2029408771,1184039823,387713667,2097519819,-1870835865,696970767,1498054311,1228487777,-1190618625,-1105408583,1172641911,1935009835,158275789,907083384,782022765,-1532508350,1780628648,1062282033,1566407890,87485712,1849073533,-1036413959,-957076868,253260637,50557887,1958449390,164077987,-530066509,1127716139,898012324,-680896283,609753391,894834838,-825666324,-155406988,1557884055,909751570,1521787675,-776438281,-1274124528,-238229256,-1569342912,2074653387,-57114303,-186202373,-1410462690,-856099191,-807626717,1501965435,431171658,-920741639,-253221429,-2130649373,127002532,894099353,-801196022,-1748729576,24573485,635727612,-1466759892,417694492,-1068002299,1050029333,-1591355040,-1998675462,-932246338,672984271,1715038711,2043832422,-822040184,-578718532,-1880518968,-1746048676,108006305,1656506498,-2002089656,550499128,-1262606446,730479872,-48452765,1557398255,244810895,-213693518,1730407011,1721564816,1317348595,-1683536408,846572544,294052429,1038075006,69239077,1858908152,-298472408,-1985783654,1694799949,-35942571,835415294,-291516008,-595151673,577670766,1636919951,-1252029648,-229041547,596907655,-564700311,1271332692,179960062,-159038453,1293994915,1441313484,-2119576114,1535693943,-1478962177,1876802251,1760148850,409811722,874084321,887733667,-490541750,-1291725981,-1936605216,1071201196,-187335448,1362768173,1490151580,1699780190,-934477838,-1289152688,182042995,1709913068,-817253211,-500435687,-114512275,189679460,1670092838,2128084967,1494678749,-1963890670,-621691357,980080960,-1529686010,1783227285,-992444082,1867094171,1656304981,-715572521,-1596138907,1518327683,236384869,623736958,-1148653298,1206375318,1038059562,2039830315,720248577,2009453081,-80609517,-1315511617,-384647496,-1248256349,-2064126383,1121483273,-1832037114,-1848722152,-373519101,1271571596,-1219110087,153250093,-596531962,-39401473,1726592590,-1448002552,1674716910,1975253738,-424401327,-1545305093,1082698826,-395706180,892313247,-1344145263,974888056,-1272819406,-1315354285,1773115638,-2092117105,-1071516079,1549098533,1609244221,1898976143,966752405,-1791543243,1611618752,-496230898,866922016,1346470624,-1934561606,138951470,-1416619511,-560360612,-1400396124,512536141,95101705,1007202962,-238497551,71152158,1246784565,1288923287,-879834313,-420432417,884604623,1865183977,-2015328828,-806068022,2013070954,694710975,693943934,-1336976833,-590475235,-1106213085,-100767931,-669015133,-1890279674,506158040,1311163021,606085968,-529182996,1659482064,-549091346,1583285231,1620292473,1007484444,-1858249839,713990283,-1647329295,-1621478971,602286745,976599428,-1785889336,-2127633525,372579586,-1097269779,-433450705,-1953577690,2096522289,-1111339732,-1893277252,811627078,-707097045,887591900,-2024980061,-913834040,2090456254,-918418034,923546250,2020906793,-656689452,408577411,2038043980,427352557,-1857432811,1823763865,120191536,1867041816,511095100,488796917,-375819291,-1325810515,-137627558,-2052826514,-888464257,-40706556,-1256209082,-1274137437,1730435608,-550231596,863838421,-741778327,467943319,-174447564,-949037352,-1234032417,1093548452,-1004026029,-1091589346,1099877734,-39534419,502833723,777941537,1587907449,-482158532,1393463351,1486846218,545431749,-86491964,-742939565,1525927530,-2011241259,701132948,-2068271172,1428453635,1873800928,-1329011528,413315708,248277562,1824510350,-1904490215,-77688661,-699901894,1712786476,-275082101,92532367,-216586049,-182220887,200162479,-979577284,-1380972637,2085712310,-1675004778,-26942122,-1538354022,2072137704,2011421183,-1379838570,-2010470731,-7764994,-221232171,1360636707,1316664810,-921040469,2113325276,-1321067222,2050773478,856848746,-473441685,-1793628796,-284920325,-626852905,1039879362,-1737151017,1177542857,684736093,1459660034,-2135890361,-773006133,732717317,1072439887,-106275160,-761671291,-347897686,96570684,517975104,-1606801772,1386369320,1008206936,1375559715,2068566416,1789330848,-582837369,836663198,-346253027,588287141,2096003951,-15158325,-732585680,673628097,-2026928591,647788324,-100151602,-1596578134,-334157854,1331035178,1128986422,-412857432,44750348,-1561486393,1727763447,104330465,1877134302,1745728654,-2060007095,-1186075007,-671652881,-202412180,1014740578,857730996,255209438,-1290494136,473551464,-425622626,-10936666,255680538,-700247501,578674335,1732564151,539916450,1259217488,-1457884671,352047649,-1292411231,8774558,-805311362,1698056108,1326466855,-350052899,-1323775193,-1272777966,593858127,-1522624616,1626677233,934489391,1745801918,2108155341,523275335,869528366,1010639360,1866022701,710895907,1378737524,268283043,800791113,-2053497760,83935710,1463854919,1126926112,1773095223,587718894,5588012,-1161836530,870196003,-1028000916,-1883433546,1536504801,546621582,-1032380475,-1594324598,1965804931,-1107439978,-1726454106,-2105200668,-6420776,259515585,124249800,1306471514,290211488,1134138264,559396398,-1455555347,512535335,1936229874,851964887,-1811438022,1773085743,-1795835296,-1952400751,-1736427644,1694639016,-594283126,1094219212,-900287524,328034341,-50714772,-1516557371,1115765699,-136710771); +/*FRC*/Random.twister.import_mti(74); void (makeScript(14)); +/*FRC*/count=41; tryItOut("v0 = (this.o2 instanceof this.t1);"); +/*FRC*/Random.twister.import_mti(89); void (makeScript(14)); +/*FRC*/count=42; tryItOut("/*vLoop*/for (var dkgovy = 0; dkgovy < 19; d = Proxy.createFunction((function handlerFactory(x) {return {getOwnPropertyDescriptor: function(name) { var desc = Object.getOwnPropertyDescriptor(x); desc.configurable = true; return desc; }, getPropertyDescriptor: function() { throw 3; }, defineProperty: function() { throw 3; }, getOwnPropertyNames: function() { return Object.getOwnPropertyNames(x); }, delete: function() { return true; }, fix: function() { return []; }, has: function() { throw 3; }, hasOwn: function(name) { return Object.prototype.hasOwnProperty.call(x, name); }, get: function(receiver, name) { return x[name]; }, set: function() { throw 3; }, iterate: undefined, enumerate: undefined, keys: undefined, }; })(\"\\uE152\"), Proxy, (function(x, y) { return Math.fround(Math.atan2(Math.fround(-Number.MIN_VALUE), Math.fround((( ~ (y | 0)) | 0)))); })), ++dkgovy) { const y = dkgovy; e1.has(h0); } "); +/*FRC*/Random.twister.import_mti(205); void (makeScript(14)); +/*FRC*/count=43; tryItOut("mathy3 = (function(stdlib, foreign, heap){ \"use asm\"; var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = 8589934593.0;\n var d3 = 8193.0;\n var i4 = 0;\n {\n {\n i4 = ((((0xf8f244b9))>>>((0xfd606b75)-(0x183be8e3))));\n }\n }\n return (((i4)+(i0)))|0;\n return ((((((Float64ArrayView[2])) % ((Infinity))) != ((-35184372088833.0) + (18014398509481984.0)))))|0;\n }\n return f; })(this, {ff: Function}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mti(369); void (makeScript(14)); +/*FRC*/count=44; tryItOut("\"use strict\"; print((4277));v2 = new Number(g0);"); +/*FRC*/Random.twister.import_mti(404); void (makeScript(14)); +/*FRC*/count=45; tryItOut("/*bLoop*/for (hvnzsv = 0, y << window, ([] = b); hvnzsv < 117 && (({\u3056: (x = function ([y]) { })})); ++hvnzsv) { if (hvnzsv % 4 == 1) { v0 = t1.length; } else { m0 + this.v1; } } "); +/*FRC*/Random.twister.import_mti(562); void (makeScript(14)); +/*FRC*/count=46; tryItOut("mathy3 = (function(x, y) { return (mathy1(Math.fround(Math.fround(Math.tanh((Math.fround(Math.pow(Math.fround((Math.asin(Math.fround(Math.expm1(Math.fround(x)))) >>> y)), Math.fround((Math.imul((x >>> 0), x) >>> 0)))) | 0)))), (Math.min((mathy1(( + (Math.fround(Math.imul(Math.fround(x), Math.fround(x))) ? x : x)), Math.min(x, Math.min((mathy2(y, 0x080000000) >>> 0), (y >>> 0)))) >>> 0), ((Math.pow(( ! (mathy0((y >>> 0), ( + ( ! ( + x)))) | 0)), Math.imul(x, x)) | 0) >>> 0)) >>> 0)) | 0); }); testMathyFunction(mathy3, /*MARR*/[new String('q'), new String('q'), /x/g , /x/g , 'A' , 'A' , new String('q'), /*RXUE*//^/gy.exec((({6: '' }))), new String('q'), /x/g , /*RXUE*//^/gy.exec((({6: '' }))), 'A' , new String('q'), /x/g , new String('q'), 'A' , [(void 0)], [(void 0)], /x/g , /*RXUE*//^/gy.exec((({6: '' }))), /*RXUE*//^/gy.exec((({6: '' }))), /x/g , /*RXUE*//^/gy.exec((({6: '' }))), 'A' , /x/g , new String('q'), /*RXUE*//^/gy.exec((({6: '' }))), /*RXUE*//^/gy.exec((({6: '' }))), new String('q'), /x/g , /*RXUE*//^/gy.exec((({6: '' }))), new String('q'), new String('q'), 'A' , /*RXUE*//^/gy.exec((({6: '' }))), new String('q'), new String('q'), [(void 0)], /x/g , /*RXUE*//^/gy.exec((({6: '' }))), [(void 0)], 'A' , /*RXUE*//^/gy.exec((({6: '' }))), 'A' , [(void 0)], /x/g , /*RXUE*//^/gy.exec((({6: '' }))), /x/g , /x/g , 'A' , 'A' , 'A' , /*RXUE*//^/gy.exec((({6: '' }))), 'A' , /*RXUE*//^/gy.exec((({6: '' }))), 'A' , 'A' , [(void 0)], new String('q'), 'A' , /x/g , /x/g , 'A' , [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], [(void 0)], /x/g , [(void 0)], [(void 0)], new String('q'), 'A' , [(void 0)], [(void 0)], /x/g , /*RXUE*//^/gy.exec((({6: '' }))), [(void 0)], /*RXUE*//^/gy.exec((({6: '' }))), [(void 0)], [(void 0)], /x/g , /*RXUE*//^/gy.exec((({6: '' }))), [(void 0)], 'A' , 'A' , [(void 0)], /x/g , [(void 0)], new String('q'), new String('q'), new String('q'), /*RXUE*//^/gy.exec((({6: '' }))), 'A' , [(void 0)], /*RXUE*//^/gy.exec((({6: '' }))), /*RXUE*//^/gy.exec((({6: '' }))), 'A' , /x/g , 'A' , /*RXUE*//^/gy.exec((({6: '' }))), new String('q'), [(void 0)], /x/g , new String('q'), /x/g , new String('q'), /x/g , /x/g , [(void 0)], 'A' , [(void 0)], /*RXUE*//^/gy.exec((({6: '' }))), /x/g , /x/g , 'A' , new String('q'), /*RXUE*//^/gy.exec((({6: '' }))), /x/g , new String('q'), /x/g , /*RXUE*//^/gy.exec((({6: '' })))]); "); +/*FRC*/Random.twister.import_mta(-1382570001,279416474,-1558482417,1405942602,-1702122759,-1788604738,379932531,-593639940,404301134,-449037331,-891078563,-273447311,2114548268,699367367,-1115356504,518729714,982244140,955075207,2096322234,1249410116,-1956510362,1269683460,-1363901694,2137735554,1843627808,-1596661790,-815571743,-624541362,-2136126390,-456171485,2130138629,-407070907,-457233451,1127959767,747892358,-169881279,-1818544553,-1144484139,364062893,-2036102700,-1399832519,-567802985,-798216022,218354693,-467244951,-141335873,239086406,-593997987,-2097148828,1973099757,-1322440880,1405612430,150042649,1923760617,531198086,-676330555,1876894220,1749591108,957030079,1801845725,855052109,1675137301,-987547583,-628980065,-1664934099,-951681083,1115466696,-626668259,1525379427,-149320680,-1275696828,-1811619003,-1991306296,109580044,-153636277,-2006584843,-468771085,1142670165,-931538070,1067516970,-1724441464,-1389630301,-1572474976,-459961682,-1011360294,-200869698,-371364534,1609194548,-2023205627,79584097,-231508037,1331211526,161425331,-2012322056,-567929504,1605703543,-1321952514,1206926716,394012709,1532625644,-1590316724,78394329,943831195,31927997,-65444454,-223037572,317623708,-1810130110,-699172635,247401851,1437271562,963714487,1233213669,-1687626390,-720584407,1400641857,-1826598645,-696790882,-843638292,-935168966,1313893721,1514590528,-1031858338,-1457821416,-1821459236,1248635161,1291476806,-449174595,-1450547452,-89729312,-1042940986,1008415050,1541852549,-630017996,-18973487,2121364778,-1853674478,-2088544639,-529696982,-1481219729,87052990,-1913524137,497160553,-1001020143,-477981430,-332270310,-863958123,9980037,-1031190391,444152830,-336256106,-1119520735,1201787863,38771161,1680980894,-1582633564,-683900257,-502201238,-220202402,208268255,-1363483847,544336703,-1492148956,1590295314,-1459912588,-88225621,1454814002,882128647,1914971409,-660622677,94163794,-45472952,750473747,-431473065,1878263404,1780584979,-1250700695,311663721,1839352229,-2075355582,-365321129,1820834205,-247491784,487789920,1063061929,-894711991,-367993306,-1858325635,969190076,-1293363071,1906013254,695545704,-438478566,-186432756,-1393543819,998773255,1982201495,288098222,791477771,-988038422,-937247866,1717159518,1490744999,-334743709,1385226439,-1297356863,-274023826,-1236126342,764289547,347734094,-1046243,-1428137380,1896808453,397048105,1102084138,-552076564,1377005912,-1972240134,1900781886,-1864289276,-132444399,202708361,52397205,-1198164079,-1045647974,-1886913157,1573777833,-1853975588,925358686,-841234351,339229742,-780329385,1330953137,670788402,-657948328,1216273618,-10278876,-1624889635,1211458335,-1989426300,-1209266849,-2077972623,-193828324,163947620,-2035849183,1897985102,323136068,447333535,1430402875,900494159,1208817278,1526288692,-469404753,619290648,2099459643,-666305995,-746551057,-1984119623,-1232351118,1300180557,1502906703,-860368029,1025338077,632826684,-567545473,284153042,619289358,1393071415,-186885391,-793191859,-103870751,1858253129,427101957,976549375,-793849128,264011,-152603933,-2142481931,-1823495968,1320789993,759618623,633589490,640002956,1136121410,1524690795,489513286,854683765,-292331733,1361905891,2072990412,849333452,2036201668,-2099159945,1941530587,2093384241,-278347822,-228509679,1199965834,-919498779,-1691975733,-358330855,-725880084,1724484967,1281045638,-138416415,18810503,-879337676,120903013,-1078112100,-1082026201,-2023333019,-581428785,1371857908,1705169429,-50330137,603462227,-981624095,-2034620185,-1935895928,-756260796,1886055203,-683622429,391268859,1558342816,571830074,-1780583066,-2034006363,-1894947889,-478682887,1261790140,356495545,-1913620755,-932623863,-1195626901,1558276704,-1239994688,982125861,-1774945894,-1215737568,344757977,-2122713613,348706143,665572666,193890323,795843433,982844961,2126466043,-272575423,-545137195,1374436251,-652425736,-1571245093,331005449,1692048950,-480095008,-307332461,1986423611,-1365691800,1784209944,-1918358916,1102025071,-522574440,-543314547,-744622819,1067700292,1594651582,460960811,-280971122,1319485423,-1287874366,-945428493,-2072468113,-1748011473,1094550037,339089338,1134974281,-317291729,771084504,1488124764,-1297698087,1172690522,723785330,531708989,-986934473,-768892132,-2085933642,600516648,1486737937,-1993309604,-1190534614,-815798779,1689542894,1834133388,-2146231537,-59796844,1866398163,-765916081,-603778488,-1236226615,-1426088902,206931487,708011263,-1924001580,-1416432385,1426123959,898789510,933847432,-1337299527,-165041773,-1778619172,1667235647,469503854,-1859265012,1327637869,-1118705641,-320788318,-1906978265,-466635665,-1193707971,177200905,-143147500,-1688972423,884165273,-507742414,-1125642621,-296185726,-1090631993,-1963944271,-1697318722,638818725,-1232874048,-1851831735,-1053177139,-1070552444,1994659279,-1654506272,-1069502630,-985851129,-917032656,-1287740235,2000512507,-89445540,-2141180061,852760555,766038131,-1497415428,516341195,1312914034,1035237783,-208634799,-1797600492,1222987047,-1293163751,-1390505121,-66620183,-1440737045,-1723928549,375679984,585601545,2021870785,1067391342,-1801856922,1327032783,-918765341,18051726,-1399678059,-498077799,-991458487,719412715,800796036,-1454997276,1698569002,-1377871162,831308122,-713459823,728403936,1001965828,926901461,148773753,-1715186597,-2045707208,1807981808,89463216,-1404810992,1776037260,1192211772,1782740152,-468632251,-1303595251,633103432,1487274959,-945631798,-1207662280,1851926988,-1115545835,8755141,-1908048852,1828530389,-1797393934,-1810521868,297052030,1241387300,-235218447,976876222,112390157,-1348827212,-1090650124,1491541098,1730349164,692747692,1403700488,867289087,52519786,-2096664389,-751388701,1686014515,-869879856,1785788163,-704969579,1247914746,-725161293,-633181429,-2059243702,1065015086,-585534131,-1702906761,-1507485524,-1160815284,-1565433571,23294834,1845382941,-1005728971,1078619521,1139286536,-314463167,632166963,-2005863736,-1285506782,1187761588,-1804950421,-1756245187,-2064141743,2110112098,-588092101,-2128527608,-1793663700,-1661957776,1127885548,-1460916048,1355610614,-288664218,-366792534,1064611810,-1764443404,-1433767193,1861380390,-1740621197,-1790136522,-843938014,-275334090,-903410243,-496895700,445567217,-82913175,-869990381,2134058712,101965077,1745603284,-1776684265,330087525,-1403663830,-1174442603,595394486,1621220091,1096088328,1403443611,2029704481,1206559606,747474464,293056569,643497689,1372239772,-868501245,-608600193,-1088765409,1785872398,-1862807941,-2125975519,-1048126418,-1740429482,660593714,803845123,-415282045,1258680558,215871120,1348163748,-5198959,-2031652863,-71850493,1232876688,1116631409,853115287,1258321433,-858109213,1029573583,-719014411,1692948373,2085721251,-1420861626,364048160,687059455,-665747924,1601421345,1871393770,706528197,-1485211495,-644491060,-361447445,-1267047389,1395635258,1272331826,69713834,-841305142,496660327); +/*FRC*/Random.twister.import_mti(610); void (makeScript(14)); +/*FRC*/count=47; tryItOut("/*RXUB*/var r = /./gm; var s = (/*UUV2*/(x.isPrototypeOf = x.getSeconds)); print(r.test(s)); "); +/*FRC*/Random.twister.import_mta(-1806641915,1054188561,-1021714017,-1743199300,1619092384,1594361778,-2049174015,420249104,-1643848273,-875541127,1587224158,-1993535355,404972512,2107473515,1418303639,-1939328102,-899927823,-2094513334,-908257664,-1947938668,-2114363667,-1350355012,1966768072,-1048150652,-1958855544,-905292746,-1931520107,-54613850,87527500,1485659418,539389388,1904467339,-561606895,-1597365629,846729782,301785401,81550641,-1523240634,-1640761334,251674521,857844243,-1587467931,1823997544,-601431792,409610972,-952091968,-2054127462,1814615617,1165655637,105918051,664961717,-1597737660,1406004346,-1693551785,-97125350,-989564385,-1724202627,2039106409,110777818,424527714,-1098869851,-1719746826,-1932869807,-386521561,1848792923,774290475,2103875250,-177308960,-1759617639,-1145775301,401426996,1850135567,1828661762,187033886,-1207676145,1188062560,-896954321,-247096796,1958350325,925058880,-123592101,1509747881,-342978292,-406121771,297853103,1908125461,-1011783926,-211765295,-1671944109,-900497478,-2084738106,797676555,565925684,934611327,829486766,-1600207801,228210546,791985112,757634739,-1629510518,-1214021146,301309280,233736053,800593331,816073370,-1198678209,808730399,-191628128,1909305814,-1809285903,-581492114,-622127935,620630809,-1608247997,-1022919808,-1816528080,-398681868,-1242744043,6271022,839264675,1196662691,-188444870,518790774,-1653492515,645697368,-1556135703,-1796245969,-1982052657,-416489721,-959486641,-456997399,373995264,744106856,-1952857686,-1154125408,1217133448,-1692321385,-1653139500,-276981157,-890709097,747696598,-1861061153,793298492,-426731080,-219199268,-2104626057,95877542,963455891,-668319533,-1458956101,-2070927837,1379166596,-924613179,-590116695,-84523400,-840802702,-404997951,-739930168,-1311888362,370539312,1551690358,-566933072,-2131607105,-564474489,104312230,1909819752,2018276149,1816109636,-898347182,1155380412,1454300016,1498213057,-1182788719,-609236708,367465539,-1597135267,-1327455216,-292720891,1367380666,-1796294699,-1465790617,336742332,1610496649,-1594045742,-308812569,-1187785200,170907166,-470247615,-368141167,-398822312,-1779259499,-211259229,-500005168,-399542697,-349893153,1160053527,1133769529,-2109529782,1926661585,-1683884462,-171207890,1322413455,-428695554,-1295076915,-1299922264,1020603182,-1745661858,-225334763,-545671726,-1038556220,690076045,1254125467,-2022743189,137072106,-136674470,913995917,1790063511,1387860826,-1358306661,1016131483,896959984,754783926,-697450707,721447167,-622005816,976550849,354756233,-809289686,-2127499034,-1996095608,699325512,-1641836889,1291170347,-1447536979,2100498553,-1581954627,491515592,-1551294706,-1919356601,-622996080,-1501061876,783330713,-930422360,1342649406,-71812755,-1065598046,532185604,844166575,744341188,1362949367,-319105762,540292480,-1736539078,726039639,1234330979,-167811868,-2057587815,2070119925,-1909130638,1799650153,530152429,-167897209,52491431,-1295968943,-314385617,-1941490291,-1081293347,-1874380876,1345713308,-1990669881,844040555,-1915216511,1129509088,-1379407370,-1256037061,-419334149,-545343930,1845843653,1586501231,-597282118,-1980787666,-383309348,-455108290,759301655,1998388170,-2031461057,-1223895000,1327408907,-1531373680,-1786422985,-732374459,-162903617,-822952167,-636655755,-1025891063,1999008078,-663234434,-1434632935,-1159898315,-2136621615,1635258472,1382557027,1627258659,1751046016,683846072,1366368879,-307126995,-411268587,-1623943195,825561185,275754733,2032308565,-631081280,1681511718,999557671,669931004,268884758,-973921662,1191027753,-1064922502,-2061638063,-472817012,-1896877545,479232239,635142507,-146676418,1079092658,1594933573,1953443006,-1636175882,-1337418214,-845652159,2111518933,1581550127,-275223616,-1249900645,-1624096708,-2037150978,161869682,-1119200961,1934151475,-791506659,259395558,1719920031,833554650,-1509382900,-1662061732,-1315192426,87695912,845315210,1431657967,-156671869,-1856892942,-1520542625,1711524697,85416517,-779879301,-1846627099,278831678,-712682752,-1141583002,1307776953,-1202867751,-990850635,-1292816885,2076831889,-45578288,-758472962,-2004076098,-711817958,1034189776,536888084,2065401250,263058043,-2118733336,2007609755,-986921,-1463198835,-764444617,-1441698072,-918453360,1814456505,1987880758,-1899370161,-1842341613,-534005758,-1554799897,1491381080,-2102282075,2119500386,-1409221136,815726176,-388713424,108771967,-2102890894,2052094378,719076760,-1802617525,204678364,1721917505,1472121788,323886121,1812753661,1130914452,-196847802,1247027838,365113814,1253944177,1592553938,-1218873911,-1392325275,-452916255,1202353273,-1919970614,-1786248432,875349341,52764336,1352051796,791097336,-645309990,1015934772,678697036,1979398286,-2064694105,-177247989,-1264511379,1204882901,-1197346959,-2066542206,-46959330,1661576246,1259378449,1556971116,1971972710,-64965531,-1084628353,965664408,1300898069,-1973973730,1710842185,897456196,786572340,-166149209,-445715599,1105638180,2036468897,464540322,-1297872412,-1942120383,-1677665625,-696615245,1519497371,-172817743,-231855070,64717952,1420245044,-1036531088,-1579833965,996841496,1396326044,-1544242530,-2085104575,472094995,1573017487,751362587,1706538580,564568299,1795130150,963459931,-601251366,580401579,-313027570,-1732631793,-1408464621,1743106655,830593606,-743705022,1906141309,-1243697294,-612959706,1588048431,1262021051,-472039316,-239753889,1491361643,-1156202450,-1069263596,-541617996,-1491065437,-1233435233,-1861192780,-1321164877,-76144277,944077448,1225608329,1461144202,1714351474,941748626,-942486021,193504095,-1992760988,349681948,-1172468060,1160740511,2043155743,32434581,-1340752753,-1166143464,-41806070,-854918214,-1382918857,1988905599,509695421,1201615622,-1540795699,-2102771592,2041942633,1739450576,-1820681022,2107210399,774169135,-2139417940,681253593,1878249991,2118801405,-372271261,-574483593,-1456992199,316251354,-821401486,-749698363,-772853849,1887777643,1108999122,748894163,-1693651327,1753566448,1930053687,-367037505,146943873,-1085621039,1165421206,-1868573762,1352025234,-1887941612,142991505,-1592031476,-1855193591,-1950933385,-1182115676,1770068154,2053232282,-64243644,-1944310754,678032854,-515407528,-723535763,-695083637,-1168965286,-2118119724,796161721,1003991911,286251888,1613263082,-116778606,-1817923289,-1991263147,-515078553,819184,425519859,-1552620662,1611757313,256964782,-1136357672,20979076,-1605371801,295120177,1125358335,1729759296,460832833,-1917122671,-652826873,-238856923,386280875,-455633694,-2115111460,204078031,-617104015,30573586,-337485888,1242348395,409352341,508233958,-81366888,-85511508,777837737,266964421,-646506482,1153325404,-1017901627,-1882619281,1027488315,-926145483,945243631,458469800,957553442,221320294,-588895181,654253865,-82981098,-1562290599,1686194652,-672259593,794129370,-766466101,-293907261,-1838682808,1865776958,1493771389,-851465431,73950634,-1538967657,-1382678842,-1174607931); +/*FRC*/Random.twister.import_mti(65); void (makeScript(14)); +/*FRC*/count=48; tryItOut("\"use strict\"; ;"); +/*FRC*/Random.twister.import_mti(71); void (makeScript(14)); +/*FRC*/count=49; tryItOut("\"use strict\"; var xbwmej = new ArrayBuffer(2); var xbwmej_0 = new Int8Array(xbwmej); print(xbwmej_0[0]); xbwmej_0[0] = 28; var xbwmej_1 = new Float64Array(xbwmej); var xbwmej_2 = new Float32Array(xbwmej); print(xbwmej_2[0]); '' ;"); +/*FRC*/Random.twister.import_mti(140); void (makeScript(14)); +/*FRC*/count=50; tryItOut("mathy3 = (function(x, y) { return ( ~ (Math.fround(Math.atan(Math.fround(x))) || ( - ( + mathy0(( + ( - ( + Math.sign(x)))), ( + y)))))); }); "); +/*FRC*/Random.twister.import_mti(241); void (makeScript(14)); +/*FRC*/count=51; tryItOut("\"use strict\"; a1.splice(NaN, 18);"); +/*FRC*/Random.twister.import_mti(263); void (makeScript(14)); +/*FRC*/count=52; tryItOut("\"use strict\"; with({}) (\"\\uA639\");throw StopIteration;function w() { \"use strict\"; yield (this.zzz.zzz = \"\\u0D27\") } o0.e0.add(g1);"); +/*FRC*/Random.twister.import_mti(395); void (makeScript(14)); +/*FRC*/count=53; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return Math.imul(Math.fround(( ! Math.fround(( + ( + (Math.fround((( ! Math.fround(x)) | 0)) >= ( + Math.imul(Math.min(x, (y >>> 0)), Math.max(( + y), ( + y)))))))))), Math.cos(Math.fround(Math.imul(Math.max(Math.min(-0x100000000, ( + Math.max(y, ( + x)))), (Math.fround((( ~ (x >>> 0)) >>> 0)) - x)), (( - x) !== (Math.trunc(Math.fround(y)) | 0)))))); }); "); +/*FRC*/Random.twister.import_mta(1391222684,-1263049524,716050847,670988908,1019879408,-135604446,267279772,1649314126,-1229671395,2056175353,-685534228,318619682,278886947,508473841,-483061204,-1148396322,-870599825,-244938672,1910418711,-623836903,123156362,1438257180,-112564456,2031284592,1299264087,-1432607845,-89124620,-1208704723,-1729644320,1472346931,426291563,848881365,878630016,976596269,-622438574,-945037269,1729327813,-1288091552,1641106796,-1189692594,-1003354760,-66293206,1273631169,2034961706,222443860,-1261403158,175255694,-95208239,-482170033,-1855347929,-1564069050,-438604164,143610835,-1419738946,-1592051381,539415248,400800073,9875053,1476516741,1149186941,-311756056,-469272721,-1102471856,1306862060,229390987,579916362,1735748351,-28345336,-1587188970,1783629297,-992716290,252882522,-642034347,-1483562765,-1908431170,620125127,-726776831,-2068839302,705722854,1995593648,-2073317642,-2145785868,832291731,-1890618713,-353530130,-1039797271,286084712,-1883178083,-566460429,-2120556297,293268078,-1208119751,883519999,-1985476381,940002639,-1111803182,803153764,-963528945,1484298447,1040133505,1893416738,1479360158,-2057561767,-1855273943,-1852193188,2064589300,2137424079,19844596,-1829607630,-557961800,1308830375,922070617,1141916100,-871241481,1062254567,1786714567,-2074010029,-469333286,44164214,-1022038681,1573891917,-603155463,-366407634,2098898307,149684743,-68939503,-1307229761,-1798010719,329291035,917225820,-502445127,83134830,-892958553,-1899349483,-1247096221,-467853441,211972152,-1038792159,1735406485,1053635611,-494157305,-1111813983,998925149,-969074497,-1657233294,-767250579,-718773884,979754146,-989307885,2052793538,-126760245,919497802,1324035119,351943558,479263139,382539003,-437326854,1888412637,-1437762368,-85865130,-108299949,1663209818,2011551944,1819254890,54360019,-1272884683,1446486472,-600818117,-238392455,-1575431699,1424114648,-2050701593,1955270269,1888475508,-377547536,1461758630,1376422277,1770018009,858788690,-590382499,152746273,-772954661,185181480,1652049213,-2054206449,-1261126102,-1074604332,148400757,-168767504,-539485990,998979071,1892403066,117265460,-1500082853,-470021695,-1500888667,-100147139,444907675,596387712,1963738194,655793686,2005341859,54257148,-695475397,1666494380,-1019900902,-669573062,1961847617,1478453952,-1062635393,1619962657,-1136648637,-1088943645,-1727260684,-1498102459,2076149987,101317239,1557980761,691770321,-1998803024,2035020901,-348697804,28782473,689839438,1616378536,1041227101,-1642234928,309602287,-264922360,2121891771,-1310257696,-1011321286,2050903211,-394304129,-342057649,-133086343,1800024446,149379984,2140351210,1138537637,-803317790,-948935944,-745584959,1758404358,-1856460415,1040378901,1525795601,293202152,-466822472,-818475625,688450480,1095659594,1714924911,1198625434,-1928653985,1128452595,-1283765994,510839890,-567120962,-1566910039,-1715333583,41852382,1204017756,-2001031283,1813144185,-1491099811,-248176492,-1406599370,1638442518,-1950014037,-424692939,1827356964,-1573685487,-907300148,282802163,-1929514900,2137241754,344361134,-873957599,1282972100,-537717680,-747309612,-275816188,745391276,-1695862739,59226001,-1158098905,-13209312,936209195,1299005613,-1345800724,-203565608,-694234833,-1626290012,-2049162065,-1923184855,-1503253598,11683003,-699875219,-1459135135,397279901,659155440,282669063,-1060171555,889202066,-2051012689,-1673223579,1392072155,1099685659,-1599822790,718703314,-941836914,-1340532358,-1781531740,-1674063517,-700509576,-1553763914,-351500123,-1749104892,-282119672,-129975899,-428342117,1794886266,-1539680498,-47102576,944785942,-1954546180,1257023869,1460783461,-579316140,1856920406,1987898089,-853158852,1219147055,-1025081626,-580171988,-1644697401,181525790,-1319620071,-1531144574,2104496294,2028711956,-1070179369,-1665754562,-150808484,1289133528,-1680274004,525516377,-985813572,1502285318,-549018339,1078265342,809734113,1478235340,257398108,-1570120711,-413914127,-1438508378,775299310,-1757617900,1899692310,814004816,527288186,-858630174,653853366,1507094653,1470659428,-1496457512,-680373716,1700290229,-700630731,-1598725469,1285219983,-705480336,-658918224,1677235367,-1221117477,139377167,1673976638,709619175,-69091579,665758264,-2002694013,905861036,10174428,1659641196,-1768711942,1641747934,470290539,1642440240,874569562,928460235,1846820821,1466144497,-1592261906,-458984011,827817879,318493110,798836248,1599368099,-534747201,1181848145,1989450732,1747493414,212485606,970034105,1620647738,644645320,1397338080,-998214843,-1980731374,2136131308,-1307347121,-180955300,-876169212,-194887512,-141340944,739811843,1544514455,1488692142,-1297317507,-654207610,1039487785,431547495,-639829134,-647229003,-262929611,1702827735,153005100,1925134311,1779112044,1295126682,-101615319,2131741399,-1303696735,81266060,2137315370,1705340334,1471422008,-1515780671,-1904409106,78648393,-1879028348,1727701989,-110800682,618904192,-1852921022,-1503819622,1010800312,-209543153,-581012004,-1014576337,1192807244,-537871984,942128117,-785482192,-1214571091,-330153492,-366646924,1808011748,816594816,1015406873,1341708385,-467210068,977043642,-163001792,1990423862,1436580496,-379276779,466348747,1583666433,1141704921,-250865597,-1341414687,163120587,-839310951,787548534,870824969,754257241,-1871919961,-68856168,-1125797015,-1567575165,1174525564,66595909,-1106230988,-851373581,1398453311,-1068789810,256631686,1225937035,-2002664941,-79879655,1287337487,-2019337613,1388302511,-1747591838,1548641559,-1339580332,-1498478685,-2088735166,232124577,2002976764,-628161846,-1921430341,1256855993,289903048,-1590550571,-1242462199,542047040,-836546228,215165484,541601298,837077406,-1100787428,-769715520,2126230725,-1502217331,337238088,1485050087,-1624423950,1218017564,598728437,4960387,-1386397739,564230409,1687938466,1589824752,13426121,-528891462,825243601,-733344520,-1530070458,320702803,-965242300,902396259,2699518,-2033089582,448074385,917829581,-143356177,-1804060484,-1099681743,-1528866884,910608434,-2026699646,1049787859,613647937,-1162008375,507201063,-1727349693,-1021011534,2120113177,-548731113,2052024785,-1535728244,792201294,864541691,916254083,60252095,-867574717,-899574946,-310411431,-1586306034,-636799662,1828150508,1293051246,1031155550,-313690702,-779343342,1974899041,-257252341,1391778484,-612826258,-1770130763,352226299,-519408730,-322199235,-722053887,-1349075722,-1382025328,-289501423,1893891571,-717233792,-357244856,-248877610,598708083,835863327,91592112,-480040432,1508506487,702318277,1682393137,719053362,1760231507,1234052113,1239667378,-1268640357,404214942,-1837721753,308581554,1708594805,-1495562609,-1163992817,348600222,1700679949,-1657779423,831946830,438848947,1087982448,1203696450,-1302028296,893822081,649296832,-1880223904,1429989071,377428399,-2119369285,-2000664448,740297984,-599147035,-137167475,559068808,1478578265); +/*FRC*/Random.twister.import_mti(36); void (makeScript(14)); +/*FRC*/count=54; tryItOut("mathy1 = (function(x, y) { return Math.fround(Math.hypot(( + ( - (Math.imul(( - Math.fround(Math.exp(Math.fround(y)))), Math.cosh(( + ( + ( ~ ( + Math.fround(( + x)))))))) | 0))), Math.fround(Math.expm1(Math.exp(mathy0(x, ( ! ( + (( ! Math.fround(x)) ? x : -Number.MAX_VALUE))))))))); }); testMathyFunction(mathy1, [-0, 0x07fffffff, -1/0, 1, -0x0ffffffff, -Number.MAX_VALUE, Number.MAX_VALUE, -0x07fffffff, -Number.MIN_VALUE, 0x080000001, Math.PI, -0x080000001, 0x080000000, 0x0ffffffff, -0x100000000, 0, 0x100000001, Number.MIN_VALUE, 1/0, 0x100000000, 42, 0/0, -0x080000000, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(252); void (makeScript(14)); +/*FRC*/count=55; tryItOut("h1 = t1[2];"); +/*FRC*/Random.twister.import_mti(267); void (makeScript(14)); +/*FRC*/count=56; tryItOut("\"use strict\"; o1.p1 + b2;"); +/*FRC*/Random.twister.import_mti(282); void (makeScript(14)); +/*FRC*/count=57; tryItOut("{ void 0; minorgc(true); }"); +/*FRC*/Random.twister.import_mti(293); void (makeScript(14)); +/*FRC*/count=58; tryItOut("\"use strict\"; a1.reverse();"); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=59; tryItOut("testMathyFunction(mathy3, /*MARR*/[(new Promise.all(window)), /x/g , -Infinity, (void 0), /x/g , (new Promise.all(window)), -Infinity, (new Promise.all(window)), (new Promise.all(window)), [], (void 0), (void 0), [], [], [], [], [], [], [], [], [], [], (void 0), -Infinity, [], (new Promise.all(window)), -Infinity, -Infinity, [], [], (new Promise.all(window)), -Infinity, -Infinity, /x/g , (void 0), /x/g , (new Promise.all(window)), [], /x/g , [], (new Promise.all(window)), (void 0), (void 0), (new Promise.all(window)), (new Promise.all(window)), -Infinity, (void 0), -Infinity, -Infinity, (void 0), [], (new Promise.all(window)), (new Promise.all(window)), (void 0), /x/g , (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), /x/g , /x/g , /x/g , (new Promise.all(window)), (void 0), [], /x/g , (void 0), (void 0), -Infinity, -Infinity, (void 0), (void 0), [], [], [], [], [], [], (void 0), (void 0), [], /x/g , -Infinity, /x/g , (void 0), /x/g , [], -Infinity, /x/g , [], -Infinity, [], /x/g , (void 0), [], /x/g , -Infinity, /x/g , (new Promise.all(window)), -Infinity, (new Promise.all(window)), /x/g , [], -Infinity, /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , [], /x/g , [], [], -Infinity, (void 0), /x/g , -Infinity, (new Promise.all(window)), -Infinity, [], -Infinity, -Infinity, [], -Infinity]); "); +/*FRC*/Random.twister.import_mti(598); void (makeScript(14)); +/*FRC*/count=60; tryItOut("\"use strict\"; /*bLoop*/for (let iymcoc = 0; iymcoc < 69; ++iymcoc) { if (iymcoc % 3 == 1) { (3); } else { break ; } } "); +/*FRC*/Random.twister.import_mta(144729040,-473760248,1286297237,-29005753,2105866688,828618018,1494214273,-1896304841,-576822246,1258870476,1863475673,-1039228370,1387240290,-1200948988,580167811,1293295143,-1920625804,706829904,1073901819,-1271343819,113617421,1621776411,607312662,219981961,1430729876,1085102931,-615906258,-1783683326,730184947,1709763423,-449063582,322029164,-156413522,1199059909,-1209053104,326135956,1720938215,-1029469161,408115243,494787222,463688891,-1421236729,-1727888556,-1998841532,517494204,-717662781,-1025798830,298628526,-178267188,-1058163999,-726646876,-512716914,-432873392,349919654,-1818910137,-706631881,1186160249,-1926240536,1780045649,-2127666983,123292292,-1258182692,221675794,-1351445990,768444476,-448078399,-620671320,1787704625,443054183,1422481865,304688573,1555146848,-787871123,427492958,-1887529499,1112771228,-229400356,1555118392,-159380927,751099405,1944801267,-315597745,247713067,-1902931473,1156577858,-367651657,-655811731,-168909981,1742045584,-2047056700,-777206788,51873774,-1835575512,-1944500493,-1770233990,-1395478101,-151298729,1922541259,-716638544,-1346878733,1884879448,729881639,1997722984,-884175508,1884446811,-774303932,-635935696,-2080342238,632622949,-280054716,591427622,-1745245973,-1622229020,142850656,-1595664880,-1150283292,1139248371,-13393113,1788728492,-1990929476,293274286,1628262495,-1090391303,39055406,-329006773,-475148555,-752270324,2105918855,989108647,-862588767,481855559,-1129895611,1041525871,-219288001,1061958552,-492977574,-1423991652,751254353,-1280879695,-1469816542,1090829149,-562523168,-1935488179,-1175920938,1683152853,-723517197,-101860883,-1916119324,-98658589,-1683871639,2146742372,79695361,340155364,239759437,1363845904,1286154724,1040500262,1869207473,-653901017,-889912264,1108775766,225313255,899714954,1423955829,1232702107,-2040221763,375540684,1004974129,-1527544635,660817026,-1499661070,234898003,-372521304,1091115801,-1690635944,-486986071,1991350749,-1880753380,-1550744054,1016045545,1563804431,-1854765163,128069303,911270216,-1261121532,790304409,140207205,-800290896,-1631166021,-412965549,163029154,101400490,1763761250,-1323348152,-477030712,-2142500624,-24038752,2032997267,1929905720,1516805561,380186133,428484192,540792357,1674494820,1145950328,-892332398,1507976304,952664830,-603824659,1954524782,-1229045840,-592643683,207569034,-1913904833,1454631766,-1354045083,-1848264653,41645655,1364570391,-204319934,-1271441375,1360228251,950993831,-329105231,1910350844,777784160,-2011958415,817540692,100069642,1415106661,-1617341606,-1718390966,-1672169662,-1245112071,1811463764,-1472496475,1333492484,1356592300,2062043299,2057351315,-606943112,-765740228,963744164,471955307,-332883835,-193845844,-1132191423,886294353,-1640403441,1891020494,767266988,-11250948,1662358046,1153908062,1829175076,842537080,718376310,-903683907,-613148057,591719017,105348394,-1810973314,-1910138995,-1986859260,1210381158,1623836769,1265214733,1802962864,933463053,1935534609,-22431274,-1765187861,-1311994715,331261556,397561240,-1964111999,-894503242,1749857515,-2025012372,-909415816,2103518028,-464383291,-2083043999,-758221136,1441041919,-294809699,-21669815,-977842226,180336469,450026468,-694388490,-544583564,-1430079085,15195168,-1255553414,1230728630,-1919366325,-1610220204,-1858423281,64338940,182448806,505068857,-79908307,-1462521323,-950433232,564849580,-592395201,-903475039,-43905454,1537771586,-1384264920,484669183,-1594758811,268059395,-1628362145,912537931,1769115721,-1703698306,1954553578,2009053989,1714287713,-486426041,-1093690836,-2006712417,784303040,-789116850,1405527698,-1025987019,87897869,4585667,1769621703,1455458885,746906892,-76850365,-357180236,-230274087,-1440326965,-1562062347,-978852950,-503924809,888562282,435653412,-181707525,946266333,-1722225205,1735479930,1609907279,870700144,231266140,162140328,1651602129,1833612900,-811350893,-729641310,-172386140,-799654784,-1716191758,1269012528,-1220978225,1183444196,-357584105,821743653,-990582357,-127722041,-1725582416,-1737265661,-1157460402,717066827,903613541,1052043016,1891295064,-1692984243,-31876021,-1783536715,1698606184,2022554321,1183696305,1310187003,-1997715411,-1329711943,1570579793,-871187570,374735410,1044994504,1579145479,-766537894,-1172795689,-719705156,1033687807,800120871,-696454833,-411359826,886952986,116279995,-792970700,1699777489,773762137,-1320001538,-1197291683,1087587752,-1153867026,-1603224402,-689078342,1894038318,168136223,-1814230633,800710413,1955665151,708447976,1129977534,1241088574,886430588,1434484023,1840789607,-1434605596,-451950909,677790861,-1095195210,710340221,-377607165,-576748149,610471811,362334748,-763408615,-1936479338,-1842694275,-1310743027,304510979,-1176695476,356407827,1163381545,-507651021,744440614,-640892417,2057601080,-474992136,1185749177,-1654378324,1467468706,1264697981,1455201220,1588841876,1161758792,-1385754536,1342876439,1502799030,-1594058993,-366439555,-237334717,1442855241,346658297,307349082,27547560,1292410452,405639500,-952905981,577892499,-359929888,-328112200,-2080200574,847468714,-720608581,-1708653325,308624217,1811911052,28963384,1349553627,1986535853,112656006,-1890890757,-1490074664,1302733947,897532931,1632637819,-1960319166,-918426956,-263340011,-1563842849,1852473456,518469970,-2084744139,-1522133446,1362686790,-1306186869,-718618585,618406465,-740228951,644004557,-743748419,866389783,348831442,-1397566795,-1617108039,-776947477,-1692377288,1011444412,-2072876987,-423990788,1553362405,-267601020,-866324741,738407014,-1482062108,354082868,-1808725784,-1880159352,1079694669,-1097771113,-1267372187,-1530466873,-1800936538,1170250486,-157291694,-511381305,-1397176658,-320152088,-1864329475,-1668246318,1791027416,-1521215126,1688953006,1039571423,-797571800,37676158,1776152847,-1552464674,750050692,-1817105251,774266340,984357146,-2097761175,-1790970093,-248733734,-7664355,164240591,-42559955,1488996779,2033185471,-1632518714,37953229,1170628445,1489207960,1678480021,844231760,-1712709057,-1295937316,-50411302,-495202086,890546571,725775570,-370035898,-929555181,1717189402,-1209425243,-790364941,1386296106,-2138135071,-348352807,-838625979,-1817658382,-1638165780,84071367,-1560331810,-953958302,-727744637,-483471075,-11689960,38852787,1899077165,385393812,-1724186105,-266174319,1255003085,-1916570166,-527294126,1028517519,-423137047,-1862080370,981592095,-1720959141,987068917,348132994,-87438272,-319910442,859221723,2145791657,-949453388,-401245745,21710125,822650063,1971711610,839821175,-1927373030,377470648,-1754124132,288220476,-1114809062,1018246423,186967841,-1221863918,1045583952,-279191568,-1127581047,216948350,-441432670,528342370,-394955618,-914246825,-327279050,898202515,662378036,-1649132648,-1055509830,-1108375193,646932484,-1347686665,-1234293211,-1843604209,-1318378706,-2081310153,-468745054,-2146082448,-800550110,709795249); +/*FRC*/Random.twister.import_mti(50); void (makeScript(14)); +/*FRC*/count=61; tryItOut("let w = (--e), [] = (4277), x = \"\\uBFE6\", y, kjvsee;/*ODP-1*/Object.defineProperty(v0, \"length\", ({writable: (x % 6 == 3), enumerable: false}));"); +/*FRC*/Random.twister.import_mti(165); void (makeScript(14)); +/*FRC*/count=62; tryItOut("v0 = Object.prototype.isPrototypeOf.call(b1, o0);"); +/*FRC*/Random.twister.import_mti(180); void (makeScript(14)); +/*FRC*/count=63; tryItOut("x;"); +/*FRC*/Random.twister.import_mti(200); void (makeScript(14)); +/*FRC*/count=64; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return ( + Math.min(((( ! Math.fround(( ~ ((Number.MAX_VALUE + y) | 0)))) | 0) && (( + ((Math.pow(Math.acosh((mathy0((42 >>> 0), x) >>> 0)), (( + (Math.fround(x) !== x)) | 0)) | 0) | 0)) | 0)), (( + y) && (Math.max(0x080000001, (( + ( ~ ( + y))) >>> 0)) >>> 0)))); }); testMathyFunction(mathy2, [Number.MIN_VALUE, 42, 0/0, -0x100000000, -0x080000000, Math.PI, 0x080000001, -Number.MAX_VALUE, Number.MAX_VALUE, -0x0ffffffff, 0, 0x080000000, -0x080000001, 0x100000001, 1, -0, -0x07fffffff, 0x100000000, -1/0, 1/0, 0x100000001, 0x07fffffff, -Number.MIN_VALUE, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(432); void (makeScript(14)); +/*FRC*/count=65; tryItOut("Array.prototype.shift.apply(a2, []);"); +/*FRC*/Random.twister.import_mti(444); void (makeScript(14)); +/*FRC*/count=66; tryItOut("m2.get(this.v1);"); +/*FRC*/Random.twister.import_mti(457); void (makeScript(14)); +/*FRC*/count=67; tryItOut("\"use asm\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(466); void (makeScript(14)); +/*FRC*/count=68; tryItOut("testMathyFunction(mathy0, [-Number.MAX_VALUE, Number.MIN_VALUE, Math.PI, -0x07fffffff, 0x07fffffff, -Number.MIN_VALUE, Number.MAX_VALUE, -1/0, 1, 0, 42, -0x080000000, 0/0, 1/0, -0x0ffffffff, 0x100000000, 0x080000001, 0x080000000, 0x0ffffffff, -0, -0x080000001, 0x100000001, 0x100000001, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(498); void (makeScript(14)); +/*FRC*/count=69; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return Math.fround(( ! Math.fround(( ~ y)))); }); "); +/*FRC*/Random.twister.import_mti(547); void (makeScript(14)); +/*FRC*/count=70; tryItOut("\"use strict\"; t2.valueOf = (function(stdlib, foreign, heap){ \"use asm\"; function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n return (((0xffffffff)*0x9118f))|0;\n return ((((((0xfc5890f7)*0xfffff)|0))))|0;\n }\n return f; });"); +/*FRC*/Random.twister.import_mti(624); void (makeScript(14)); +/*FRC*/count=71; tryItOut("o2.toSource = (function() { try { m2.has(v0); } catch(e0) { } v0.toSource = (function() { try { /*RXUB*/var r = r1; var s = this.s1; print(s.replace(r, (function(x, y) { \"use strict\"; return ( + (Math.asinh(( + y)) << ( + (Math.imul(Math.atanh(Math.fround((Math.fround(Math.atan2(( + Math.PI), Math.fround(-0x100000000))) >>> Math.fround(Math.max(Math.min(x, 0x100000001), Math.pow(Math.fround(y), 0x07fffffff)))))), Math.log((( ~ (x | 0)) | 0))) >>> 0)))); }))); } catch(e0) { } try { this.v0 = a1.length; } catch(e1) { } v0 = null; return this.e0; }); throw v2; });"); +/*FRC*/Random.twister.import_mta(-2135744262,1207950536,-419872428,-973398514,-1195284929,1667382309,-292529046,1691008018,-161914127,-2127012034,1435911656,1131266905,1601137212,-2118424928,-1957272400,1396880525,950572879,326381382,1713052806,-234086060,400898404,944735222,1996015768,-147054655,-1656941835,943573003,-1733763944,1079625008,970355213,-2092806980,1539218229,-2104777317,-276106450,1587569409,-1476008839,-2044836726,1637201707,-1350198030,-317793101,-764149189,298341232,469142024,252694239,433107226,-316155990,609406689,-444511601,1789216497,-1595110119,-895186723,-1701784390,-2101084309,476943770,-2073299963,-508975842,-67811253,1268739360,-198604229,1588350896,1641895377,-267701234,-1427495119,-1816403569,1684380852,2124528772,-139943001,-30764770,-3990176,-1294602749,-1066619942,1479603613,-1220850833,-1007236908,966310389,747626805,207000685,252219367,695161533,103495021,1353766707,223950887,-1341925830,-2136587910,-506812140,155561150,-1538994641,1373293285,-1497366289,639766563,-1153998505,1743354170,-622794967,-325051215,1609863535,1674787519,2112486861,838064977,-1316740000,-224527590,-60942999,1785878320,1730086737,-710214350,763194889,82818500,-895109892,1461378981,1608728453,-1203220054,301656414,744829757,-70111081,-528011017,-2066356050,410554884,241475060,1192595851,-638178056,-398412746,-664987734,891194402,-330784389,-461512323,-879611692,-718745990,-1176328402,-436947358,-307294973,473238609,-69195400,350882016,-400237812,-1697489190,-581915227,-1536092610,-1532800620,819994730,-1995373112,-1455118660,-1588943654,1444133711,1105750207,1589080486,-1360560024,-340053442,-2114584900,1958010658,2112739729,1712862263,-2096852760,2031314693,1060603001,-1250952149,-1051401522,-288585247,2035832841,425064866,1701342655,937144630,-511316918,1954758389,-724315520,550494359,602924926,-1623706426,-372368328,1138239653,1609436478,-1331727524,-335290783,-598193851,1171553657,-277571129,-1801028949,408332058,-1466060804,-1976465340,-1319443881,-100494940,1364533681,11738011,-531083365,-2109452289,549392887,-633000687,1743572653,-993473010,-446877991,-1788883745,-2085376539,-351214054,903555868,696714091,72181022,1915265807,-229243318,-203323474,-1359596672,-1525605569,802257615,812918311,-2110669588,-2033404000,477409388,-902572871,-801470287,277487361,1387912075,1698826837,-215323834,1054834502,-1437483405,-1434985517,1277354911,320471029,284450428,1708819091,-1758658480,-1774008490,1971139306,1671287325,875827746,751315632,-1662954148,-1757715264,1296685637,1913899675,-2109187969,-186973147,-382342919,-1993168469,-152355426,-1601306490,-1687420096,-371215713,-1847271565,-1454004888,-236269210,-415945777,1921388032,-392774850,-672224158,-1000685593,-1749783598,1766669712,-1588478727,829256227,-2114896196,1075106961,1613037774,-929679681,-323494918,442390180,-1372871926,1497745676,750695606,1062964285,-1358158119,1243701360,-324448837,1420246462,1981783904,-1026084088,92786328,115984413,1370668778,-405831197,-1827593815,-1152331809,811274804,-876826960,751378727,1837997531,-296195005,-153422354,-977537470,663380599,-1724467956,-433698217,1658651708,793398712,961197937,-1835896045,-1201300736,1511521578,-1191292085,50786870,744251259,-1484567869,-1191846412,195081358,-1295495022,-1210364489,-457280989,-1687245893,756104057,-1871817360,-1985667515,-154036591,-963038841,-1348642890,-2011625220,-1053295176,1822706431,2042242923,-1317279827,-1398050884,1944600334,-573074917,-1776769810,917742260,-2143950637,2058444657,-945098987,1694149781,-1953240872,-1240551064,497645135,2016905828,1186879070,-142803821,1018492841,-1596935459,1722555057,-1711300537,-1686198189,1144713900,-1310426007,-30061585,2015324558,-1625973772,313378626,1847110018,574632447,-1077368138,1951648784,-645910149,1320600296,304208787,-1157889598,-2010239684,-1142584154,-882942651,-760129615,-1437694523,1588763342,-1045430894,872081292,-392320721,1280174282,-46699546,1810996460,-744234881,-1624737232,-2054941885,1357869736,-1640897184,-1770122024,-1956631170,915224462,472216936,520344116,1100640168,2087909810,1545601558,-188358245,1830608160,-705360478,1588730683,1726619146,979680913,230640836,1378222009,103516438,-660360154,-598317520,1023921866,-462588980,-27250950,1118428764,-413286647,-1511552776,1719465197,-1353538050,1280289298,-203471230,-1962346092,-1287264427,1510150732,-1829164817,1347581353,-984162613,1941014970,1803957695,-1269893111,1050187183,-190123618,419535412,633200557,-219666256,-996268804,1931483335,-789581205,373030804,566023747,886492925,-233497839,363732207,-1040890684,-1497854240,987102281,1770890069,-935828927,-772399620,248675687,1482972742,-1661993154,657662459,-1737716286,-566201999,-814460416,2028258817,1113657625,-1247260059,2129385697,1693874406,-3475951,748331137,1369841978,1030742763,-1247613270,-1675856598,1708415121,1842896669,1667351415,-1625540906,-40340720,1432656535,384429970,-2127981007,1669006677,830897105,105371216,-1797822521,-1142656501,523516942,-1721644149,-2106055325,-969097639,-1080799085,-1781942671,-1746317548,1808635247,2114257469,953749281,1022053555,-596632823,-16115081,-1259705889,-103830317,685933250,1036189753,1105129984,-1666552402,-248108934,1443225085,-793072119,-338836355,1229175104,-1748165109,1752156464,-352702642,150013339,889094530,-447624218,-1590000572,-1471585410,-1079806329,-473675949,-2104996767,-58152937,836350127,-1398500948,-859415311,1684703014,-86421253,647012354,-461755585,-1228593100,-927830943,-1965680867,-802223842,-1604169152,-1436569985,-852126473,543247138,1124476618,1023355037,349142245,-1834263943,-1202064016,-452053348,-1892252072,764601859,-557764408,520327214,-459464920,-327660843,-232689331,-658406720,-628763013,1633159299,1362402295,1431998817,1512649103,1996206434,-155347043,2126561506,-1604166617,-980484640,1666027027,-1286231761,1812875590,1032330536,-1742816214,-1601439661,1447630614,-124880572,-1789983631,1497634643,-1087176279,19687558,1471599100,1900466436,-732183353,683607569,864546158,971734103,1478285162,-1051017216,-339005863,-805841664,-1833233680,603132072,1154072097,105442825,931380787,889067657,689294784,-1809290370,-1679252249,-355287606,428001758,-1253852150,-659233284,1736092096,-1802920387,1629282697,1534696123,557146356,-104208189,-1363724711,398601249,717700709,-1507255623,1837566879,1658641732,700338933,-1332093204,1590324377,866690854,1444994300,1481842731,-1310266053,-195780588,1123459460,80518285,964636470,-28363874,398584922,-1790414479,-1193216669,647509059,1587675858,814068563,-1462496348,-611370058,-980916447,-1634783092,2069403797,-58909994,1521438107,-1074118969,1722140014,-1654390980,1081390518,-1581632418,-1493271074,371894221,218944401,830891758,533608893,-1709094641,266333211,-1412194947,-900033355,-1084115160,-1855803374,1714128366,1975615479,-1584875470,751088463,874525422,-665891434,1033412849,-1740851839,1124070071,149414974,497464079,28724203,730629383,-596987496,-222860376,-185376285); +/*FRC*/Random.twister.import_mti(255); void (makeScript(14)); +/*FRC*/count=72; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(264); void (makeScript(14)); +/*FRC*/count=73; tryItOut("m2 = new Map(a0);"); +/*FRC*/Random.twister.import_mti(277); void (makeScript(14)); +/*FRC*/count=74; tryItOut("mathy3 = (function(x, y) { return (mathy0((Math.max(Math.log1p(( + Math.pow(( + mathy1(-0x100000000, y)), ( + y)))), (x - 0x080000001)) | 0), (Math.sign((( ~ Math.hypot(Math.fround(Math.min(( + y), ( + y))), Math.atanh(Math.fround(Math.PI)))) | 0)) >>> 0)) >>> 0); }); testMathyFunction(mathy3, [-Number.MIN_VALUE, -0, 0x100000000, 0x100000001, Math.PI, -1/0, 1, 0x080000001, -0x080000000, 1/0, -0x080000001, -0x07fffffff, 0x100000001, 0, 0x0ffffffff, 0/0, 42, -0x0ffffffff, Number.MIN_VALUE, 0x07fffffff, -0x100000000, -Number.MAX_VALUE, 0x080000000, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(470); void (makeScript(14)); +/*FRC*/count=75; tryItOut("Math.imul(-6, -0) = o2.a2[v1];"); +/*FRC*/Random.twister.import_mti(506); void (makeScript(14)); +/*FRC*/count=76; tryItOut("\"use strict\"; mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Int8ArrayView = new stdlib.Int8Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n switch ((((i2)) ^ ((0x4490480) / (0x697c9915)))) {\n case 0:\n (Int8ArrayView[(((new Function(x, \"\\uC2BA\" ^= window)) ? (i2) : (i2))-(i2)) >> 0]) = (-0xab140*(!(i2)));\n break;\n case -3:\n d1 = (d1);\n case 1:\n return +((1.0625));\n case -2:\n return +((((-73786976294838210000.0)) / ((d1))));\n }\n return +(((0xffcd1825) ? (-3.022314549036573e+23) : (262145.0)));\n }\n return f; })(this, {ff: String.prototype.trim}, new ArrayBuffer(4096)); testMathyFunction(mathy0, /*MARR*/['fafafa'.replace(/a/g, function(y) { return this(-3) }), 'fafafa'.replace(/a/g, function(y) { return this(-3) }), \"\" , 'fafafa'.replace(/a/g, function(y) { return this(-3) }), \"\" , \"\" , 'fafafa'.replace(/a/g, function(y) { return this(-3) }), 'fafafa'.replace(/a/g, function(y) { return this(-3) }), 'fafafa'.replace(/a/g, function(y) { return this(-3) }), \"\" , 'fafafa'.replace(/a/g, function(y) { return this(-3) })]); "); +/*FRC*/Random.twister.import_mta(2063496272,381779719,-1877629001,32909116,-1684425206,-408429474,1683923357,-2087135260,1951064418,-1730266651,-1391440484,-297602598,-1503314512,2139016721,-1725675060,1298438457,-666105249,1038086948,1633832684,-685939828,991223808,-1559172722,2094452302,417491877,-1108176165,1312128853,-712724227,-83341000,1700224696,186452820,-1260928365,644044973,-885562444,950578249,-552380561,-1944701989,2048561508,-1930551823,1865320212,-1250141528,1486872467,-2006534110,-1916678468,1441328768,-89674626,-1383087160,2022536288,848987224,-479278913,-735469098,1511090697,-2012580716,615062094,-451058434,1931172846,235021311,-585533441,1468999929,-1794287996,-462061298,863484208,1681861063,-1946328439,397565056,-1625300683,1053538959,-481565922,827617188,909346832,631923736,1767428373,683203882,1376383534,-417298059,1977210279,-1770130761,-1186883581,2135744911,275406594,938299314,-1482515046,-1550358546,-227731221,-1205174712,-1158453401,1564558337,1185868889,-1368178712,2118799503,1432624287,1342367860,1503499955,1044419593,574044829,2010335015,563285815,-1298285489,-1266980486,-951652023,910101842,-1770513430,1041891964,1562205602,-1171378286,-1067651870,2108905813,-1687434978,-1025173475,1476322433,1806120553,1218044481,459954665,-1700039017,-1766219911,1718240889,-340335635,2040629021,772369300,450181815,-1405955700,-773054336,1263803462,-1605900918,165275950,-274400584,519311991,-766039178,1326222045,-1652822801,473699174,-862186302,-668587236,-1360727714,-318010698,1400750156,264683977,1976456160,-2131126375,2014991484,-1048149994,-2145912617,2001170361,-701956044,-1642678458,-1894962594,-387875487,-2079503169,-288549659,130721405,-771572370,-1301452182,-1431665910,-192800231,1971736776,259399953,354956559,520043018,-1017561753,1471700965,2009117080,1265961161,-1843996113,818058059,-162139488,-632276923,-282687316,87046394,-1100569833,-2104601488,-1778890439,-765666154,506143440,-1919819501,2139354283,1114508034,491512841,1883450575,-1990858554,-1286307453,-1650613857,-1873037276,644195518,-560540546,560092966,1377706730,83645252,-1258019487,-484252189,1879405961,-1375254341,-1620708689,323224038,2038311450,1549925262,1669615294,-972358384,836689070,1457767036,-1902856178,545822610,-1478057048,1431108637,1127648167,-1919468435,-287584966,1265432144,-1081364223,8005768,-204496618,-535951221,490921972,-1441212200,-1965506841,822933271,616471665,-1614429320,-740700738,1991885658,-494785292,-365319322,318631215,197305943,264692037,1611741031,600239205,1387675194,1826618627,-1717877091,-78431324,1300513725,2055453171,-874596791,-1441669634,-1984313331,1382156418,551564246,-534032042,1199728804,-1761478950,-1842454481,344561696,1644275424,113159376,-1393912681,-1266705017,-1596176606,-672793390,-1038730601,-1828558359,-1047173682,1857652312,-253904503,1495314128,-1188670341,-313062557,-470669191,-2053920537,-775458133,-1992339793,-1587217045,61301753,-25637141,-824847209,-530135627,-1539882364,-977144006,1711045283,-1673590621,-800378568,-1474323996,-1702572340,1432998476,61556022,65015447,1346862969,698567003,-659358896,-1341456387,-110823798,856439954,1622183833,-480587080,1378938495,-1340962454,-755453565,-728879201,1800609388,-1178686322,944097085,-835897138,248935625,1576728369,-711183551,938739228,-19643705,1040491176,-126854171,-1959220606,-755174090,96950773,-1557394165,356658043,2032625431,479476585,-17194362,1178593500,1310281781,272753736,-392481383,-1456158287,557333246,1587771392,-409173164,-1378153780,-1413821564,625805371,-2101864601,1813589318,2059582876,-1661576545,-446303850,-21778794,-875711824,661314739,1624018316,-1520728033,-1211792455,1885998786,1108719291,1385664600,-210187213,-145704925,-174329483,-2070963131,-1194525163,-499757853,217863965,-662585513,101996808,-558079991,-884254422,-1697818620,468121834,-1248955104,1095771891,973259902,-170941878,2091533512,762505251,-1629728647,2082547544,1602075224,1365258095,161321480,662385545,-1838997921,1459820810,-1993604483,-2090815269,-1594471446,-494246996,1940977560,838843664,1541296875,596891531,244595436,-344193337,1984316821,1144152252,1377038243,-1731653340,1058497885,-336283158,-1470327124,-2132400131,1497973016,-533461880,-849511145,-872518620,1579447618,662017204,-448730184,42035184,2027482883,-88695258,305931055,-1217727763,645169647,40042119,-1042081472,1307979034,-1551303528,1139614380,-2044726239,2015516959,-1193595713,-646413277,1502249887,660551304,-270601363,-1625602025,-216972568,1448483779,-107612367,171327335,324451540,1312956215,-1331619258,1966728142,452237957,-1934870957,-284515563,1812422074,1801825037,-820983104,2121435670,1687578777,-1823230898,-445871743,516162330,-1189402543,-608405779,1171678461,-677150719,1687748111,679048153,-271747315,-1892306123,-755778121,1508375794,-1013381384,87642541,-460822271,389275749,267662307,-1929144162,330626335,372647997,864330527,1651346578,-1329104352,664631129,212254788,388187236,958651741,2000321006,839715080,-387251492,-855621951,-601191774,736465133,-819423731,-189001733,-373568948,518410267,1281591039,-1425408423,-1174520381,775016703,-27222881,240187598,1921872258,783615233,-1733278357,-1249364347,643043585,2126525134,1881687168,-252733126,1921599560,-1718123728,1762635669,-1163720733,-447932127,-1836353355,-953755562,122449490,-2041375442,680603494,-1100199420,2025995507,-83541067,479835870,-140055692,1973643785,-629727570,173103147,1489369059,53037060,313946054,-2005843654,-200905820,166105306,-1704067065,-871387854,-238542243,795393397,166445153,-986394705,1602731918,1902581209,400309333,-429749627,-137206988,-7653398,-886408930,-600266457,-2136438816,-1892019240,-1501907555,1505115636,1667910823,1730926576,-548456844,-2101119937,-1709982676,-1320331073,-2014320123,1060997569,1026704535,-1219075500,-1999411612,549497916,-193002000,1115022964,-1176994115,964715863,1887649772,-521629683,-4827364,1543638826,-719140232,2124185694,-46398839,-585705569,-245841106,751421253,221663563,2114852864,191997095,-903815092,-488160516,1957986415,970225832,-164238691,-133442982,528606724,-235989130,-190342359,523325468,1375961686,739109219,-1074112998,-610275001,64444962,-782644870,-1156493245,1204597169,-406189991,1350022603,1255978934,1780832474,1851613966,-2032112994,927631943,930756522,1399585196,-754469284,1822482071,36875129,-1633805474,-193919431,-1141308868,-1880755648,500241418,-1239673158,-2107389982,1124515479,345853045,-1026775288,-857384858,-314599049,-1120788682,-699830148,-1656353873,-291033856,1530579109,-1379009558,-1760294131,264319099,-1350482695,-1520011209,2110183515,-439486119,377233230,1424980627,23908684,1255469597,-1600537526,-214463843,1051933357,352203685,-2018637878,1825929961,829982610,-1806780496,378875211,1415599683,1185473692,306527209,-1213069701,-525957295,1041991140,1890456138,-1285395472,-99240189,-980358305,-634534846,979069362,-819736336,-1473598227,24767691,1537879185,-1542996469); +/*FRC*/Random.twister.import_mti(260); void (makeScript(14)); +/*FRC*/count=77; tryItOut("\"use strict\"; s2 += s0;"); +/*FRC*/Random.twister.import_mti(272); void (makeScript(14)); +/*FRC*/count=78; tryItOut("s0 += 'x';"); +/*FRC*/Random.twister.import_mti(281); void (makeScript(14)); +/*FRC*/count=79; tryItOut("t0.toString = Function;"); +/*FRC*/Random.twister.import_mti(295); void (makeScript(14)); +/*FRC*/count=80; tryItOut("\"use strict\"; switch((x & !window).eval(\"/*RXUB*/var r = (w) = function ([y]) { }; var s = \\\"\\\"; print(s.search(r)); print(r.lastIndex); \")) { default: case Math.max((1 for (x in [])).prototype, = Proxy.createFunction((function handlerFactory(x) {return {getOwnPropertyDescriptor: function(){}, getPropertyDescriptor: undefined, defineProperty: function(){}, getOwnPropertyNames: function() { throw 3; }, delete: function() { return true; }, fix: function() { throw 3; }, has: function() { return false; }, hasOwn: function() { return false; }, get: function(receiver, name) { var prop = x[name]; return (typeof prop) === 'function' ? prop.bind(x) : prop; }, set: function() { return true; }, iterate: function() { return (function() { throw StopIteration; }); }, enumerate: x.__defineGetter__(\"x\", /x/g ), keys: function() { return []; }, }; })((Date.prototype.setUTCHours.prototype)), Set.prototype.has, EvalError)): { void 0; selectforgc(this); } L: {new RegExp(\"(?=(?:.)|[\\ub500]|\\\\2)+?\", \"gy\"); }L:for(var [b, y] = allocationMarker() in (x = (let (x) new RegExp(\"\\\\w|\\u00cf{1,1}\\\\u00d4*{3,4}|((?!.|\\\\B))[^].|(^){2,}|\\u5801\\\\b\", \"im\")))) p2.toSource = (function(j) { if (j) { try { Array.prototype.push.apply(a1, [this.i1, g2.o1.o0, t1, e2, o0, g2.a0]); } catch(e0) { } try { for (var p in f2) { try { for (var v of p2) { for (var p in e1) { try { this.m0.__iterator__ = (function() { try { this.o2.o2 = {}; } catch(e0) { } e2.has(this.h0); return p0; }); } catch(e0) { } try { g2.v1 = t2.length; } catch(e1) { } try { e1 = new Set; } catch(e2) { } /*ADP-2*/Object.defineProperty(this.a1, undefined, { configurable: (b % 3 != 1), enumerable: (x % 41 == 3), get: (function(j) { if (j) { try { neuter(this.b1, \"change-data\"); } catch(e0) { } try { Array.prototype.push.call(a0, p2); } catch(e1) { } s1 += s0; } else { try { v0 = evaluate(\"Array.prototype.push.apply(a2, [g0.i2, v2]);\", ({ global: g2, fileName: null, lineNumber: 42, newContext: 14, isRunOnce: true, noScriptRval: false, catchTermination: false, saveFrameChain: false })); } catch(e0) { } try { v0 = evalcx(\"/* no regression tests found */\", g1); } catch(e1) { } try { a1 + ''; } catch(e2) { } a2 = arguments.callee.caller.arguments; } }), set: (function(a0, a1, a2, a3, a4, a5) { a0 = y * a2; var r0 = x - 8; var r1 = 0 * 4; var r2 = 5 * a4; var r3 = b - 2; var r4 = r2 / a1; x = r2 | 3; var r5 = a0 + a5; print(r5); var r6 = a2 / 0; var r7 = 7 | r3; print(a3); var r8 = r3 ^ 2; var r9 = r8 / 5; var r10 = a0 ^ a3; var r11 = r9 % 5; var r12 = a2 ^ a4; var r13 = r7 * x; r1 = 5 | r9; r10 = y + 1; var r14 = 6 % r13; a0 = 0 & 4; var r15 = r0 ^ 5; var r16 = 8 ^ 6; var r17 = r9 | r15; var r18 = r10 * 3; var r19 = r10 + r7; var r20 = r18 - 0; print(r7); var r21 = r18 / r20; var r22 = r9 | 7; var r23 = r0 / r14; var r24 = r10 & r22; var r25 = a1 % r19; var r26 = r5 ^ 0; var r27 = r11 & a4; b = r18 + r24; print(r19); var r28 = x / r0; r23 = r14 & r1; r5 = r6 + r16; r2 = r13 - r4; print(r9); var r29 = 4 % b; var r30 = r6 & a1; var r31 = r19 + r4; var r32 = 6 * 3; print(r30); var r33 = a5 * r2; var r34 = r2 / r1; var r35 = r21 % r18; var r36 = r6 | 0; var r37 = 2 / 4; var r38 = 8 - r14; var r39 = r0 | 2; var r40 = a4 & 1; var r41 = 6 / r3; var r42 = 2 | r17; r37 = r1 * 2; a3 = r28 ^ 7; r36 = 2 + 6; return a0; }) }); } } } catch(e0) { } try { e1.add(o1); } catch(e1) { } v0.toString = (function() { try { o1.a1.toString = (function mcc_() { var rygucy = 0; return function() { ++rygucy; f2(/*ICCD*/rygucy % 5 == 4);};})(); } catch(e0) { } selectforgc(o2); return e0; }); } } catch(e1) { } print(uneval(a1)); } else { try { ; } catch(e0) { } try { yield true; } catch(e1) { } h2.set = (function() { v1 = g1.eval(\"e2.has(({}));\"); return m0; }); } }); }"); +/*FRC*/Random.twister.import_mta(753880819,2095493107,733378296,-1189658423,14917518,-1697913217,-1465733855,357516502,-895453516,2070878127,-1757709838,-1221583562,273976399,2113852790,522182860,763066342,858451626,-1927266352,-1567057720,1410538780,769087901,2091227017,1991876320,877884412,162483622,586401991,1873704025,1285479098,101468237,768866437,303168869,-88171152,-1601277491,-945023921,2007883323,1811149253,-831249346,2144653978,1735391840,-1626208137,-448163916,31387676,-1724970748,-1183305188,-243862583,-557378255,32347343,31617887,678404837,523454476,78218784,-2056288418,1122428500,-1517042351,-927315315,611706152,-1914370844,2010801236,-955098747,1136476609,1633821714,-1445539058,1803682662,-915274476,1292367614,363349789,107842596,-1756404961,965221458,1967532139,1295399377,1339484276,1140239683,2122269127,247946673,-1912123874,1769202683,-1878945881,1119370002,1547278404,-1825386089,825909815,1965687700,1766399520,1482855218,1406350758,743116596,-1685542839,-585482153,-1518352218,1809921184,-1727141616,2012462583,1003194699,1106023253,1249180109,2111527063,-545689375,-439173407,1729574044,907027233,1909873451,177125025,496976268,-1245317762,-1793171006,1481897994,1087334321,1370936047,478943051,-658502527,-154519704,-1279000542,740246156,711785329,-1884470637,-2139016464,-469793702,682929400,-214387485,914925932,-131646944,566364373,-1176758726,339588919,2133723310,-182238581,-399926886,-1850994730,-1503850429,-639945597,1857527496,1978667149,-754055315,2002570806,-95279474,1936054922,2074639827,-55856874,1850062535,2065434911,-1670109188,836337434,-68236175,-713294550,-596876232,361657857,-1914034434,256057212,-1994207109,390336748,-1121218324,1624002068,1121402517,-1335885654,-1037751123,1808834702,780806790,-1660398289,211601181,1284146585,-1364495019,1391150001,-1178914367,-2052906884,-188645382,1962348314,864212471,436944576,-1975681796,-1826317045,-1059561063,775873687,1215569570,273783008,1591831822,-1021821510,101449487,601522410,87590959,310558062,-1064653412,830721851,1441753434,171146969,-973961710,-567498587,1971690917,-2132739440,-69712727,-2125589192,-276631576,887049144,285249631,957791704,-478564935,2112200657,582873149,1267395572,85643984,-1390795492,1629541771,-966257073,1038374948,2079351066,1349599624,1046415082,-2035473030,1357119603,566799260,-1876355037,1308892930,1331858576,-1620799862,-1540660394,-1316802641,1592064012,795722430,-1049919343,-808581471,-1258092151,353603943,1282862322,1182567189,-324654685,799432730,-86874111,464299932,942263768,-870318806,-668054011,-1968938032,1971137744,-1037533825,1614837959,416855019,-1349590691,-1676602598,-78020614,1162917391,-1881382409,2101279927,-1042284425,1838411195,508333747,-1895388530,996874189,-1756779742,2137508928,-810654288,182231741,-351643630,-1616883139,24051393,162066168,1774444108,615323641,-1883716104,1128799117,-1425450279,683963640,-419201005,-224715309,-967812669,-147536664,126536858,1921047168,-610352909,1345349336,760386481,-1334309256,638031962,-744054518,1084184969,-1191251239,-564650675,-1060727494,-1409878567,-290947969,1213938800,-1684864498,130235535,-1302672554,788277781,147037147,2060464189,827585710,-727407742,796768723,213888287,735736742,-541193435,259551878,748222414,-1091327889,-1408760762,363218374,-1937098670,-948251490,-1577210876,-1149800086,134416126,-953010829,-811203512,167606099,10480215,-410883022,1440023504,316158024,-421298134,1387599942,-1162109380,1667045245,1261987644,1796356379,84716864,-699335169,758897682,-1901526817,-205936294,2005434953,-419876424,714681677,18578791,681236435,1759471644,-190621307,376637142,-232143056,-171137458,2112349581,1651779094,1161925728,1935108893,1856393778,-364987635,411742490,1001507032,-834397206,343009840,-807477124,1139481589,1897847339,353571901,-479540943,-243255296,1478491597,-994851152,771415530,1978755540,-1381852668,-1721642346,549349035,801524451,-50773248,94321470,-1940885571,1009005409,-426255138,-371689827,599769379,-1885498829,191699078,-2077287906,-376432072,1252155752,622091289,-733025078,127118024,-1459907905,1221527021,1683944402,-1360961360,-877383389,359536385,1719260145,1057324404,-2094765252,1328124190,-403413553,-276501299,1846762938,956611503,-567335738,-317652892,1265920492,79298287,-1188728812,-1333582423,-1863621585,-1686018741,854650642,-1040787409,543348453,2063655296,-1685481712,1170107895,-568659870,-1811080073,-1309316631,1108112742,-199824422,-1500145889,-322318162,-2041203879,-2037154754,-1746695953,155500664,-2067588451,139839659,471744317,256257756,1418934516,-1204950370,1790758830,-1255562881,-711746886,2037594791,-413733841,581924420,-519834870,-1849219170,-2114727666,-1550456720,588996955,-1473338348,198201283,-1736707536,1074507848,-1895871842,138222781,-209078496,190568816,62797007,1863493016,150071823,1401678128,-914886876,-1871495188,966309327,-1291608878,662911544,56719768,1940928721,1947988048,-605993049,-1258800831,-1395491168,19842070,1989299260,1337480296,-2010719766,-1330289189,197181969,-711196102,-221331974,813442822,-1550233158,238760619,-2106593888,808308462,1431197120,-35616344,-58334286,1966906463,-682258972,-1315333987,1906209985,925565559,-673505969,1873814049,-323270887,-734907922,-511403861,-847339807,-1872446708,-1930882134,-1450099531,-608710255,-1542158763,-1716156689,-92539096,1827347915,1208920611,-520000772,1918938538,-1131719740,-385157571,422174886,-876873845,1642876893,-2090473614,-24947834,1447758408,552650821,655337188,468188775,1913076931,1309355033,1597980379,-1129370638,-1559223144,-570205575,1247832092,-1928601626,-140630340,77254033,1747110732,2093050234,-590909632,1075985140,995479087,570298358,-1197421987,-1607844280,-330775179,1586899652,1699376505,1453716398,-446538516,-1655762710,187325395,-574945628,854657812,783423175,-1986671659,40387274,1537647158,1145377123,-1126818488,-1963190246,-1256222719,-49006241,1986787696,1451751508,-1179944809,127666619,363628939,471645096,-1431451390,-1709980846,918655359,-429607597,-975184086,624908315,1229027538,242750166,-144469366,-819286903,-100012812,-978392814,1842841380,594062094,-1767719763,803533545,-2015673323,1391040287,-345821892,-537453591,-1723730538,1232795809,1758570427,1203822341,603427254,-1110002210,-80471120,-1755069907,-790351251,-1877748344,1726070048,1981137640,-1928108489,-278887805,-1310506139,-166136277,972355856,400395373,-1908423431,-764210829,755447366,-1977162542,1530486336,-1039364113,1993142401,1387333376,-1647451125,175600842,-962689148,-1726456432,-478138553,1402999858,-906353040,-894392303,-1067738967,-1710971304,-333163569,-367815214,1305030027,-1261990792,-1111831906,1390482129,-644435140,1030130582,1832443827,2103592420,374363018,-1536654262,1322643959,525056628,-1583573738,-1273463195,1158012534,-2065373527,-1534252893,-336715165,933455791,-290086275,-1881315294,1582126978,-1148258063,-285073416,-1484869147,1560385264,-893289903); +/*FRC*/Random.twister.import_mti(188); void (makeScript(14)); +/*FRC*/count=81; tryItOut("o0.toString = f2;"); +/*FRC*/Random.twister.import_mti(201); void (makeScript(14)); +/*FRC*/count=82; tryItOut("\"use strict\"; s2 += 'x';"); +/*FRC*/Random.twister.import_mti(210); void (makeScript(14)); +/*FRC*/count=83; tryItOut("M:with({x: (yield \"\u03a0\")})var vmqcba = new ArrayBuffer(24); var vmqcba_0 = new Int16Array(vmqcba); print(vmqcba_0[0]); var vmqcba_1 = new Int32Array(vmqcba); vmqcba_1[0] = -12; var vmqcba_2 = new Int8Array(vmqcba); Array.prototype.forEach.apply(a1, [f0, b1, b1, g2.e2]);e2 + '';(void schedulegc(g0));"); +/*FRC*/Random.twister.import_mti(356); void (makeScript(14)); +/*FRC*/count=84; tryItOut("/*RXUB*/var r = /(?!\\s*){8191,8191}(?=y){2}\\w?|.|\\d*?{1,1}[\\s\ub06d\\S\\D]|(?:.)\\B|(?!\\d[^\\w\u00f9\\x59-\\cM]){4,7}|((?:.))|(?!.)+?(?:\\s)*?|(\\b)+?/g; var s = \"a\"; print(r.test(s)); "); +/*FRC*/Random.twister.import_mta(1668100032,-976408674,-1142168243,1946922856,1573360456,850918836,2034635152,-710267942,2124833659,-1437047480,-2031359669,-707968077,3635928,-2073983417,-335407556,928670870,-1113544514,1741012239,-405780393,-2139753724,-319711288,-832363341,-378817535,1259593856,-1356253739,-412757673,-603837749,1631175987,1067560270,-1573838848,436110162,1939106556,-1842886291,-1603717475,993765928,-2068542310,2008396694,-2024263824,2145805737,352519299,798768183,379908283,134186513,70312498,-399260638,-1486201321,1823263221,362774775,-932792920,-1250965650,1826990555,-459392993,-434473033,692372156,-204160815,-996766918,56579918,-2146023064,1720311877,1377102483,-456672433,144293655,2040115792,-543160562,2012873248,-441186321,622594640,1051042667,1753244025,-71722967,-394267936,-216486443,1962555007,-233152088,179009052,1394159438,-1200427743,-1231765107,-208274035,-2077561127,-1927546571,-717443733,2038661201,217223143,-2031691447,1073680648,-405886168,-1377877145,1060137194,637579358,1897039035,-45384938,330734388,-1059067595,1284681903,1700955939,2031139140,-1740281503,-1957846511,770270552,-694362916,-1084456807,-1214131525,-747548483,-1608752807,832870496,582409398,194932306,-942882156,-1926753642,-570597442,-399073674,-416902128,-1574206014,-1419937190,-1287256485,11685872,1770922332,-1995473133,-1389225871,1569057369,1448168067,-1055849985,781759742,1848645784,-584065708,-1255367767,282818251,-1512790204,1476022900,1026184138,-1872354533,-1164971590,719773101,-1867251487,-1613298132,-1330637108,1451069579,-2146416026,-1091072871,497545073,-1337782986,-1291524518,1197013892,-1527916136,1217248953,-1137254334,1964826228,-405447148,-1563388367,-748864015,1982474791,368308619,-926975414,478284568,1702304457,-652701337,475765606,1846336871,1747839457,1984035354,282983049,1944152882,1617210659,888838158,754002009,-358068014,921338418,1196876638,1218268910,1407855612,-820398844,-164902281,-279824469,92195717,-1797405106,-160068145,40822008,2015161461,-8408684,571291972,832157319,1741272470,-1326614782,-2035528150,880737267,1890582431,-1261667673,1778558757,-9550443,1118032937,-985369731,-923470237,724433284,-411656401,18880839,-606113421,1494875045,-1027345182,-940490559,-1616963118,553518386,1317879387,76097384,1580597223,1408886539,2096461645,-971982700,489691100,1177137863,-1185946434,-1902714920,-912981728,-678708648,-1435803052,1360664732,1960891794,1107848282,104538868,-1583586331,-1731848971,793841403,-1557180126,1818170251,909087622,1662388749,1727936304,1887552271,1014065158,1098158134,2036936769,1949297872,-870567337,-75623973,2060671142,-1902801559,-35627577,147053130,-2115284311,-482555160,1298703485,610869810,1662248430,982643495,1779119979,-818257462,-1866948406,135770068,622560113,-2126313239,-1247009490,-731840524,1055529120,-1695012983,930163942,1906810087,1442680855,454726067,1672843249,723148902,654272215,-921456289,-950824095,-519234501,231245434,890378895,1707300512,-13226532,-1323297382,119950067,942492239,550992736,-1862966754,1798102583,261248105,-1253495399,209448518,1860025689,-590121031,185643228,-1848322807,-1882430993,1799126369,1726073917,-917577055,1942376994,-134320055,-695135765,-938679116,161837630,-1623754521,-1698715439,-1852193558,-1008012635,-1195665854,-173062681,-513954445,1592023866,-1523353802,-148907764,-1701919600,629362536,-592646663,-490729873,692113865,-1998792538,764808364,-1540198126,-1446383656,770637925,1365812394,809975153,132046925,-305136260,1034432596,-372519941,-1025500797,-384296589,-1417264621,1711377422,-1185517652,753078288,-1967695084,1185935542,2057521637,2066382063,-1046874993,465905243,-463901029,-65391720,803606342,1884291088,327858529,-203843102,-992199640,-774271707,1309822159,1937252696,-22724246,-1118408373,958739492,189406370,1522522271,116028906,895717805,-624250490,-1428138177,-698932354,-1191741659,426604626,275634937,374659536,946593447,1047653679,1049808094,1687680774,-1054235851,-1593150944,724167923,1414349318,-1792120080,1256463540,-857163007,1870212646,2021414519,-997281887,1271962574,-1603411588,-908223536,-767278003,-1181498682,-2142170375,13043004,-1738299645,280088881,-2047784565,1021931479,9079283,1618618571,1085821510,429157575,541704077,1589677607,788074387,2109699856,379040740,974547776,154828297,-302307905,445179065,1975897956,-676107965,1672361456,-1272733623,1947472839,1932312957,1977223331,-2061921608,-1627950747,1295533842,-616373669,-2144190114,-868485911,1025718576,2049071168,1426306310,-436836793,-1672904506,2044862546,-1240761522,2164548,195473891,-1655029887,402748043,1681168278,2108821192,-1299161399,1270085022,-1543445404,1377315380,1005989374,-650735968,23359818,-1909182041,-1724539466,-91075648,1020520388,1112924266,-1495672341,1709425341,512284872,-1703797227,1057646826,1950428960,-777502214,366456919,1994293767,-2016350276,-717139515,-1821169591,-1791649663,-808945320,1434517622,129332590,-1642274646,999421551,921791000,542189528,1013128499,402819708,1956696678,619442810,1979358796,-1308635067,-696609058,1411631919,-1797164664,881873920,-389787604,669280452,1715352570,1938023401,1332550659,-7535055,1057056732,1009137203,1098506794,-585950853,40039940,-101163552,1369740314,1394656074,16975711,-462627385,1455645693,1904968494,168470741,-1214633563,-977269759,-1711592291,-339954218,1069430740,1742862321,128039861,383539107,-598065213,1835336091,-1107062000,-691252881,1566918041,-786573400,-1295323678,-497631480,1556147514,635542465,1184983012,-1041128025,1601926635,1041284609,-1884399823,-828311589,1728551664,1378677390,-2004332863,-665849329,-1097430324,1612881206,1047861612,-1008972180,-959995682,-769104788,464687951,243494871,-58051714,-1822281218,-2075669255,-1254588828,-956788683,-912165179,-872756876,1920125945,303686062,1873329319,743441004,300765837,2096739719,1768893000,-1120934150,-1323515707,-338549762,-877413607,-888258607,-432798824,-2033948525,-528964812,-1663838362,1048882875,-1622061704,963287362,516631864,-1294737901,1168114802,452716163,-312975691,-343658287,2040213355,-1242507098,-1101164024,-453920204,1578591978,-389930152,140586746,1966634523,-107782931,-1365057164,-444314666,366017777,740924679,130955201,1729407457,-422968377,-630506784,1370611516,-1276832646,1839810437,159611485,-2094898830,-1684804982,-1227355424,-1132034119,2012100415,-1871046347,-133358858,-1018223051,-838966798,-2142088435,-1190552116,-590231120,-172945037,-337540412,-1456742339,-119233957,-243734908,1544385305,-960545241,-2118024454,-1664489762,511872531,2102703410,-1918267472,395367544,-1276666351,-426679312,-1988444155,-30688550,-1883955653,-30079676,-247531012,98137500,518525558,174584440,1658237431,-1198665875,1045180940,1129294908,1226509877,1377902358,1506865104,-1542915023,-1925259893,1303199869,2046593313,410193296,155281509,-1201636811,-366866338,-579170803,-83100753,1329209328,-1868403568,-1645726354,-1311362026,957261455,1147969347); +/*FRC*/Random.twister.import_mti(406); void (makeScript(14)); +/*FRC*/count=85; tryItOut("(x);"); +/*FRC*/Random.twister.import_mti(433); void (makeScript(14)); +/*FRC*/count=86; tryItOut("v2 = Array.prototype.some.call(a1, (function(j) { f0(j); }), i2, g2);"); +/*FRC*/Random.twister.import_mti(463); void (makeScript(14)); +/*FRC*/count=87; tryItOut("mathy4 = (function(x, y) { return (mathy1(Math.fround(( + (Math.max(Math.min(x, 0x07fffffff), 0x0ffffffff) >>> 0))), mathy3((( - (x | 0)) == (y | 0)), ( + Math.exp(Math.log1p(-0x080000000))))) | 0); }); testMathyFunction(mathy4, [Math.PI, -0x100000000, 1, 0x100000001, Number.MIN_VALUE, 0x100000001, -Number.MIN_VALUE, -0x080000000, 0x0ffffffff, -0x080000001, Number.MAX_VALUE, 0/0, -0x07fffffff, 0x080000001, -0x0ffffffff, 0, -Number.MAX_VALUE, 42, 0x100000000, 0x080000000, 1/0, -1/0, 0x07fffffff, -0]); "); +/*FRC*/Random.twister.import_mti(624); void (makeScript(14)); +/*FRC*/count=88; tryItOut("a2.shift();"); +/*FRC*/Random.twister.import_mta(-1476459145,1510617884,926781606,-173986817,-1721122940,-258409439,402009309,-1669736158,1076856738,1066082877,1873252800,972660030,758319282,1981811802,1342931880,-2088080418,-219472685,-824966302,1032386378,-991390419,-1249192168,1237159611,932305524,-1251342389,864868052,-160574224,1738564577,-2031793391,-343221312,1881974381,2074072340,918719874,-1394611924,1125453276,-1742186408,1154527521,2012035224,928236529,-2040626487,-132633405,361375550,1337336338,-1855235760,-1590920560,91612812,-1159736237,-1804466742,-1171277186,1629885912,-645198294,-1961456888,-697919945,1285614370,-733871407,1184937959,877999595,-1309346575,1010226723,-467595591,1066015984,-371967148,-737638140,137653059,499331818,-665759551,501422379,2044159835,-1840650305,-1728951560,893786970,1033371470,-518562332,-1057657548,351350548,2058114285,-2077048560,640552414,-1241436700,-1432992611,-711990128,1141690319,537492726,109763505,1908894125,1614921552,1409720933,-934892839,1229218774,-816158740,-857410791,-2136592741,-1625875211,-469630500,777797408,426974892,-555818070,-907351723,-112199146,274060616,-356529207,-1713535624,-53942397,2132692912,128350120,1070978752,1131912405,-1924695576,-72772795,-134052985,249311977,1248745047,-1336998812,-1747819969,-2021205695,-619110211,1322928175,-934468656,250429096,1272344606,1123171223,1960347051,1881229029,-1665756405,1164625845,1015942916,-1405730388,-46855722,50790703,386178237,2012873645,739526568,-329566184,665452023,1524698038,-2065318713,-1100216066,1962020873,-529496569,1520476661,-379590180,-2022650909,1625877103,2103922938,-1599786273,-1192334351,81827490,-1747570289,-663838757,-1308896084,1163327105,1547712452,1996550702,2051595215,-1501354284,-1546513599,-1061384585,-1212247714,11288344,1218056185,787481084,-1118842724,1044283992,-835825745,-55095360,1427840531,1692792661,-393194141,1308767786,768466218,-1428720500,-1138806776,1422221060,1378299059,-1403395550,-1709901294,440364238,-2106043319,1761126167,-1074951225,-401669778,1561698860,-967455816,-208195259,-360855768,1003712381,1344776596,-547094891,716627306,662573295,1687206933,-1524103310,-2144960804,-666930318,-1121768656,1786716781,1383492502,2097057032,-548781909,1967459972,-1308980819,-1589511323,-1147708818,481067458,-1133134508,-769461587,536855572,491023942,232237010,-217618551,1317465417,513507388,-1060995935,-419757913,412676439,292652399,570648409,675634760,-1149375665,1675923827,135345320,900451341,1588442977,2139444618,-2030043987,425034191,175226135,-450572773,-1178095244,2058386183,-1836992423,-810099305,644814448,338641939,1788838030,37465929,-1479075426,2078986008,-161839029,1214773322,-762320301,1679072579,1635938655,130687634,1592145849,-381078649,1976870703,-2132589881,1041213055,-803948016,1833421027,-547719119,1828313732,1645836267,1008268690,658388413,1484563220,-458662293,-749886925,592428465,648604312,-23829076,1653154103,-1386311709,822705061,-1261273495,-1262540391,-947701203,1293561331,-1792165964,343231656,-1320696032,219109251,1447103383,179543841,964926573,656139003,2012045401,1014464523,-1813066151,-582864519,179077881,-1439286904,-1641192662,207304062,1171652402,1188464194,-842390310,-1915598578,-1864749029,-1633196049,-913025443,-1868713292,-450965338,629845114,1905718675,1901341854,1513371335,789464277,-1701269150,-1917710468,1177585824,-839740722,1817868024,-343484955,-1301331529,-60996917,-946414567,283654179,-269071333,775850468,-252950582,-89751639,1658936539,-1768770829,-458672396,925031410,559959935,1282260813,-333980942,-123128310,2016261928,472429350,-1115087887,1840512376,1574073534,-1450074160,1045817403,855212778,-2100953521,686639123,1066301344,-1357366609,2056998948,-282499076,172877064,100865343,929047109,1966929634,2011991070,-884934611,-2111580400,1867414573,1303343834,1274305497,596141675,-2018579618,702130728,-1314156826,1016593100,227069608,1312861021,-1179430776,705038308,-495161415,827128492,-1365705224,662649533,-527957746,-964847333,759089295,1066599916,999903640,-909074451,-775648275,1530880264,1061743634,-110552734,-476183029,-1866303338,565096857,2038762364,-124917393,-1847986692,1183214024,1134463937,1988613016,-602209625,-176843906,1465703181,-276144781,800016845,364569741,1321777505,-1990120746,199747306,1435581017,-1285190105,314241692,-361611045,-187914211,1315326910,617350379,-402876498,194178143,-291707317,-1909954140,-1470382640,1785477221,844725389,-426840767,-331300211,1694609593,1152315478,-1083606935,1115258260,337512507,-1507081971,568635909,-581929441,-1282952473,1990602502,-1401503646,-2060476402,-310790818,342874638,-1489072300,21579482,-1222085312,-383095866,-976984691,-1850184608,718084808,-865811558,811877331,-1576835765,724368742,-1865385576,723887951,1349389295,334032294,675545729,-1918384424,635392900,898649787,-566964442,1365284437,1299094167,-315385855,275994714,896105528,2138885627,2075198804,567926254,659238429,2143133863,2023498879,406431556,-1298992565,1387065951,1171602617,-1802893936,598265577,-1954093590,-1910930060,1256121404,1891681219,-926313895,-69929599,1973232146,657481198,-900283995,-1132097129,18426457,610958582,1900094349,1759185247,1695471153,623240769,1568563119,1863870623,2004243996,1891631351,-555058925,1921663974,113928168,1276731045,-276665106,615698158,-1190331371,398929152,1674047096,-1916371302,-1029386735,1993327973,1684540685,-856322653,967385872,217775556,-1791806684,-2049940425,1751911764,-973528595,-622895356,1283147538,1850383873,752735672,-490715518,927410431,-1815032636,-1474707291,2033209945,278258986,-1168673468,-2101204607,1664927085,-469794622,-1032274481,725788111,-917116441,-147238628,-661992442,-610469882,2022940669,-2072298459,1459167149,-901378263,1691590442,877420000,-178203122,86967685,747003053,-548791521,1736191400,-875942050,-2005258551,-1372642234,-1826227199,-2018093027,-1206156495,-1869931605,386497234,-1049280389,641189469,-1213559421,1585566608,700230553,563490648,-1403450517,-171710155,-494927091,-196955958,1893496170,-1736031113,-844437560,-1448568793,-152062303,-1484259570,173369906,1931673683,-1981281699,696478213,-28901524,206602617,1761908865,1077651201,1361391848,-1477364145,-1520313185,94035584,-789126888,-2112030068,1653934742,535928578,-658755240,-386532589,1987951783,-2037838488,-649080224,-1476030674,-1353655910,-624826468,1603201808,2130823323,1327930065,1753880511,1611871274,1675635312,-1383034053,-867985942,-409254107,117870155,1240500718,1503065259,-1658317455,-1603747725,-2011600268,-76071079,20537205,1028494912,-2112293423,1363145786,678940912,-486720305,-2038643697,1028405705,-270992844,1496436071,996782514,-134619052,-1796600640,-286948884,-959390552,698469022,-37956423,1223730363,2118931590,-1016976741,-1532786934,-903005545,-1323914880,748150425,132014114,-935772492,912065506,1739324083,499627778,272753941,704332870,748499619,-1459057383,1400501844,722666963,890672858,581734324); +/*FRC*/Random.twister.import_mti(12); void (makeScript(14)); +/*FRC*/count=89; tryItOut("m1 = g2.objectEmulatingUndefined();"); +/*FRC*/Random.twister.import_mti(24); void (makeScript(14)); +/*FRC*/count=90; tryItOut("\"use asm\"; function shapeyConstructor(hlqplw){this[new String(\"0\")] = false;{ } this[\"__proto__\"] = decodeURIComponent;for (var ytqjyvoku in this) { }if (hlqplw) delete this[new String(\"0\")];delete this[\"__proto__\"];return this; }/*tLoopC*/for (let y of []) { try{let ridevm = new shapeyConstructor(y); print('EETT'); print(\"\\uCD37\");}catch(e){print('TTEE ' + e); } }/*MXX1*/o1 = g1.Object.getOwnPropertyNames;"); +/*FRC*/Random.twister.import_mti(159); void (makeScript(14)); +/*FRC*/count=91; tryItOut("g1.v0 = evaluate(\"mathy3 = (function(x, y) { return Math.max(Math.tan(( + (( + Math.imul(Math.imul(Math.sign(Math.hypot(x, y)), y), ((Number.MIN_VALUE ? (x >>> 0) : y) != y))) ? Math.asinh(Math.fround(( ~ (y ^ Math.fround(Math.atanh(Number.MAX_VALUE)))))) : ( + (( - ((Math.fround(y) < Math.fround((( + (1 | 0)) | 0))) >>> 0)) >>> 0))))), ( - Math.fround(Math.min(((y != 0x100000000) | 0), ( + Math.ceil(( + (x !== x)))))))); }); \", ({ global: g2.g1, fileName: 'evaluate.js', lineNumber: 42, newContext: (x % 5 == 0), isRunOnce: false, noScriptRval: (x % 4 != 3), catchTermination: (x % 5 == 4), saveFrameChain: false }));"); +/*FRC*/Random.twister.import_mti(514); void (makeScript(14)); +/*FRC*/count=92; tryItOut("let (kewlld, x = (4277), x, fzzwyp, d, b, w) { for (var v of this.i1) { try { b0 = new ArrayBuffer(0); } catch(e0) { } try { s0 += s2; } catch(e1) { } s1.__iterator__ = f0; } }"); +/*FRC*/Random.twister.import_mti(623); void (makeScript(14)); +/*FRC*/count=93; tryItOut("this.m2.set((/*RXUE*/new RegExp(\"($^.[\\\\cA\\\\S]+?+)|(?=(\\\\d))[^Z-\\\\u4FcE\\u88b3\\u4181-\\u253c]\\\\b{3}+?*|[\\\\u97e7-\\\\u0030\\\\D]*?|\\\\b\\\\3\\\\b$*?\", \"im\").exec(\"\")) >>> undefined, b2);"); +/*FRC*/Random.twister.import_mta(669690132,166902584,-551139478,1046564141,-488620304,958633207,189868210,1947878076,1342001389,-1709429514,486409236,-1476391330,-2035858341,1510843138,1373487743,93457209,2115630793,-1368804064,1312502119,-687339743,214832774,1351415396,-1335208452,-1600937745,-1389881997,146260031,1244914293,-295075936,818609016,69309365,1838540494,-1989483582,-1931819908,-1169912675,-724275068,-1084496399,793530194,-1694894849,2087562221,1187697374,428924881,135468223,1158617175,-1089207926,1942180604,1805176784,-1969044500,3895680,990547860,-1434366418,1971692862,-1815875486,1314108934,-951413895,1859304971,-49959697,-1295254512,-1931793525,-1543842056,-1903741900,-582298424,-920514363,545925664,1119645094,1668592435,-1489997834,1440837545,-311249226,-303302468,2077269453,-950583825,-1955942655,1477363760,1723018679,432697675,-2000998440,581580577,395814638,550418894,567719314,707572756,1879230785,1621120936,-1610302292,1013259047,-1976063665,1315400495,1583242239,972577276,-1084131821,-1256419682,-755509647,-637991570,-1158703038,548554859,-1443474568,-600089988,1331513488,881538040,1324008303,-1651591601,1276639068,-129706508,2059698766,-956680813,1572941816,-1476040044,644692598,-1656036777,1722924468,1387868824,468782006,-1357703827,349334343,-1866540950,710643836,825722796,1552797531,795270465,496494179,2089942253,-47866669,-1189282601,512255371,-1546132972,-1439746198,621245628,-795838375,819527521,1567520067,-792747328,-884692687,747344527,1596356592,-2061531023,-2004546608,651483093,-1072554960,1493569399,-85694440,1911413306,-770140899,377073736,-1744176509,287672078,-1062720503,867311312,1219197704,-864639682,706751591,2027402509,620405930,-326956627,1654586292,-967856187,1719913351,821571077,66954342,779226093,-1685954505,-145629387,-1438195587,-1297947227,-275957987,1251754758,1437185473,-693986593,36093137,-2011469588,1506947370,-626200307,-785375756,1607081341,-196719753,-438849617,1348535939,-1675783987,672449455,1404182667,1362051359,-2022582390,-422753807,178789679,535726117,-1880573535,902348619,-1339030778,-2029682698,1829939342,-2110029007,1052299425,216756705,-1681937532,-1097800479,-1438456066,988879747,1857030669,-1799964653,-9224398,-1594504889,709943594,1969073040,-937259888,-408085312,1414476019,540284313,2052070401,626957726,1046782722,-775226730,126716325,-740392739,468149641,-1314044642,78604867,-994286234,-2072585348,340475947,-1072843030,196732495,1008636493,1847729583,77724544,1608769181,-322286915,1498035284,110133039,-500828707,-851935011,1070546062,1976335229,-211192416,-192193047,328446455,1133077895,-1894048071,797006966,557670348,-1714771196,-1122863350,220647776,-1589516163,-817531617,-206182553,1979496367,16422460,-1502467900,40566703,1759697756,-278191912,-60007134,-244315827,-2114220382,-288915910,131518413,504496658,-1587747666,-1640525045,-1342255347,870085591,1610371230,571351353,2088443157,753811989,-38831506,1081785466,653654967,1894708866,918373839,-316458407,-638896943,1209762526,-1923434006,1367312071,-497020781,1447708313,-1029037808,-1926790601,1603960555,1941393210,-259737134,150889714,1375554721,-1818413985,-936688544,-1096842430,2010449923,-501184790,-483672208,2065050112,1313181537,1483410616,-302869242,1462265846,-297279215,239474162,933336524,1672575605,828260988,1659243225,-1111379735,-1873177732,-1671312048,-311069281,966336497,1110880834,-167971218,1342408420,1999621175,-1569277926,1381420177,1250064933,-97837387,1112359598,1128641079,-820601634,-1990696673,1638361638,478885559,898717817,357178898,-1857598894,-1494445221,1550300933,-184444305,-1238720126,-1279090244,-1927394902,-820402221,358838131,-1988514985,-2092300108,207453892,1058266451,972947004,-14267150,1660423501,1094148335,-192411620,-1908169654,-867323575,-1600318983,-692866834,-1872912779,-689388528,-1713424201,-519008471,250239213,1148204532,924333501,-1985361591,-79694540,-807631286,601433062,-207182786,1785532616,-1582294595,1461657305,-1705138318,1683246302,-1744889159,104955257,672095330,1013609739,-1866336813,1358343073,-62516868,-374161848,1620865603,-2058831787,2082547774,-1128375404,1502210612,-810425391,361749841,753959752,1268370265,-1656871852,247587373,1288712579,-416794344,920170820,1356034491,-1901101006,546178955,-813733739,1772967528,1110227270,394354993,-807838115,-1836731897,1034166984,-1000541755,-903804299,-1061953526,189777139,-648136632,1519187513,-1172676227,1642849398,-333096487,1276882997,-388049413,2074921778,655372749,-1460496119,-1800761509,677154120,-1841950616,-112273027,-681804181,438942134,-303938315,1972939873,-1225004016,1411984302,-656135731,736396881,-540448254,1988114176,-315644262,1033249695,-1080721373,663513617,1050448308,-781005173,305376590,1920797209,-1347933515,1564338635,-900901008,-1624885965,-753265369,-1346829580,-1551230219,263972911,-80533438,-2081201287,-223552714,-1030733189,-30374963,-151223876,-828180883,141933497,513982289,-907867151,-1521703428,-1320617504,851410179,-1163205700,1184092708,-2146825372,349841116,-1095732940,-531356366,-494178584,994688817,-1364858231,1710843433,1518774525,-23360876,-1542951586,-970854210,-860965170,-802072280,1959108478,-579040289,223338826,201349112,354833259,623325410,1271108870,1334421661,1367521336,-836354718,-525798144,732267081,-983405649,-1244008723,-1831932090,-283756223,106325577,-61075317,1536731314,67087882,-1974182733,-1986656075,-1749758465,-1362136111,1000949050,1509660819,821007844,-227285795,234727344,-1742176594,692487919,33237862,10393875,-1744589094,-1229650363,-2076762435,-1257827504,-699836801,1802903233,1235210786,-174653058,276993040,-1165703362,-1040663083,1391075889,425980767,1481182258,1137211811,1234853710,1031177181,-1003419715,-1529172100,-159693705,-1109799768,-60378786,742286531,1720225214,1517919166,-1990990845,1980934751,2131481014,-1551581108,236303154,-452944096,-1805506647,-559206906,1459183073,1466879274,-1103792188,1648967618,2005980148,-2007218859,1294488799,-662894646,789054666,1153606237,758440461,521545626,1465283339,1173733762,1768569890,-910844651,1830384229,-547456422,-160961373,1789104786,-2138012160,-251055480,446926677,-1728666701,701224980,-1725799852,1861827080,-428012752,-59974270,921812363,809645600,-1410087684,397052658,320565698,765656878,471516793,-1508971010,-1508990579,498608824,578006501,-1698135713,2042626241,-593781834,1684665969,-87695246,1392814450,-1293787918,-829285911,1633396174,1072075257,39228853,1413912338,1063792606,2079229350,1048974940,1675163423,-903044556,1750648224,-2103902228,854573193,-1391889060,-1545999947,-1592633707,1260777740,97143214,193448029,-1120699981,714925941,-249816285,-2133664600,-1035426154,-1295068033,-323253863,1686857668,-723847753,-762568857,249254356,2028384467,-1099111600,586572200,-1218292671,991735086,1174093096,1724731072,2033222067,-1258163870,809762027,1044528787,1407790298,49254326,177053500,-2059044615,-1968476990); +/*FRC*/Random.twister.import_mti(578); void (makeScript(14)); +/*FRC*/count=94; tryItOut("return;for(let d in /*FARR*/[...[]]) ( /x/ );"); +/*FRC*/Random.twister.import_mti(621); void (makeScript(14)); +/*FRC*/count=95; tryItOut("try { } catch(y if (function(){print(x);})()) { print(29); } catch(eval if (function(){return /x/ ;})()) { (\"\\uC714\"); } catch(window if '' ) { this; } catch(x if (function(){(window);})()) { (-24); } "); +/*FRC*/Random.twister.import_mta(1584769957,-1786166584,-1479282113,-581613919,-1987917167,-311017054,1101130348,-1712969372,-1510174862,-623538863,1012697703,1215103642,-1807218436,1723477899,-2115498763,1273368398,1655469809,1223607420,-425355039,-1635573106,61013347,-939769604,-1077848152,582163708,-523930785,59032006,280548801,1727654920,1248507790,620322345,1992850424,-372946805,-1726537894,-1608028366,1501787924,-2068041074,1003309140,1152679900,752779584,1861482357,519199225,1227089858,-585481538,-2016335181,-1020205484,-873228389,1214776185,52951195,-593253146,-544311453,-1196883503,1435936256,465631,-1460519426,662728140,1304418516,1641370670,-1314304434,-1513556750,1441584469,1396462132,901542713,2077793838,1445553106,-1215276379,903477173,-99095147,-1497062026,-1876598457,1742710263,-772667883,1611084768,-1082690193,-1328891752,1335755498,-2016148526,1514761039,-566140539,-263999543,1051973699,1684783056,-2054568647,-2100514544,673973261,-1706753487,40310211,-306236014,520323828,216815461,-753381382,1741133336,-1036783258,1725860123,-1867903879,605338712,-1670493725,1783825400,-2106726574,-1757718649,-1774927714,1721066173,-1541290976,-875083934,1044559019,-605584212,-1035214027,943752186,-567143466,-2033197148,970853724,-1216593179,1333364668,-2121554099,289185642,224707596,1532213877,-19658692,-1278386782,1408386131,60482005,1373715137,2019492380,707408708,1037407689,866063883,150610400,940796144,-1216977616,-927704120,-1948577492,-222341259,709748408,-1141826479,1160534753,314300425,-1660152289,-1640203812,-1748858714,1256384504,-257251256,-47403378,-1824399378,-1174124204,206594522,-1805105962,1187981554,1929629327,1674482461,-1519215922,1826027340,2137268272,1880575571,-2027384455,-796068433,1792660252,1887278421,459103590,382146202,-1123919664,2072132881,-1563231511,639945021,312669907,1405066248,-2086773729,430586188,-810458043,387368372,1095493563,-1471934944,-828972284,1357062124,-1097613348,-913257747,1810936513,-288982920,295258814,-726116629,1264250914,1354515127,1485588693,315533217,-140226301,-1592099338,-1044743473,1281267345,2095747109,224907745,-1500289253,-1517539440,1431415323,1703350370,1155022147,1741599734,1769556034,227105900,843168323,882667157,-860348974,1588574408,-2019709829,244162877,-2100652733,1946022926,1264196741,384723616,-32192682,2075735621,-62945028,138570602,-1103322779,-1407339832,-1498791457,-106339242,-1791203598,2032648336,-1764348446,1187747253,-1511734709,839256219,-1638251805,1007862611,-451906741,-1383982537,1713931542,520484785,582035187,-1579066604,-898704241,71139166,-454951823,1792005306,1035413894,-110237584,123934439,-230940343,-901045577,817487845,384055583,-757374900,-284005526,2135033509,-1422635998,-2124767751,1217630050,-174289789,1186917766,936612045,-263597936,-1040746183,-1023170427,-1606896626,1961328347,-900005128,1777396993,1522845145,-219535501,-1203786591,690209215,-1226229995,673763185,-21608127,197370715,85652835,612966881,-1498624956,1451527220,-1666954303,-423966159,686254089,-472060964,-979518815,977593383,-531579921,-250975480,-34161554,1377959,1315737211,1816986013,944064054,-326299769,-1770620093,-579210716,96531998,-286879761,1193984044,1694275104,581537164,1211590201,-973936319,2048714126,-2123821018,1582154830,1413262786,-504909937,-1946834015,-821057518,-916642005,-931363245,949951940,-119115482,28238914,1751517634,-1618127768,-10864476,-893528834,1454512945,-957028076,-1800234700,1928292231,-1805284928,1045970356,1665250452,1427463254,948489371,-783755467,-1546913047,-259342948,1106505093,1820034578,-1744197296,-295025366,1800741566,-908362224,-646400109,-824572071,-792992693,-1743715957,2006500166,1449337366,2145890545,-1647756338,1154137411,616463588,-509528657,1857776093,-2142433804,-1925691669,140006809,2124795702,-663050423,1715281019,-1971993200,-1784649164,1714057510,-1166888168,-572031620,1943609403,-86267875,-1208588481,1078619987,1416713518,1494659091,29375215,-1035932332,1097131977,2036084383,-7240500,1483194583,688267730,-1627106174,113014328,439458885,257176554,1722903977,1958866758,-2072774804,342501232,149762843,-1005265589,302992400,-122900020,-132159035,-1597206280,1974915769,431411133,1649010022,-1593024007,-814225843,-1262711307,-1948209907,-608642274,1999263052,-770511236,-1469050353,-908790812,1519673778,807074478,-1732192564,-1024942321,225283436,951620642,-441316183,-1343712192,-877029614,1843723167,1544209891,1251173221,538373591,294233071,915776040,-963155741,-1827660319,-1692802425,1506388656,-1744369840,76678163,1368867041,-144606272,84074217,-334585555,1849944170,-1348833154,1737975341,1735607350,334086946,1769397351,2058690330,516361186,1917840910,-1609755930,-272942964,-951592517,756019865,-2060601073,-2052994187,-23491301,155257342,-115612409,-1477689605,-1520017848,-1142970679,1093856218,920222451,-1519619443,-1046078243,-793548279,-949302018,1415389994,1085976806,-2099829624,1801825563,-1542083181,9421461,-80568174,-146632523,1789031531,1577929917,558346893,-2040948135,-1383653499,742758008,6147883,1385903210,-794497952,247641032,-1972946235,253099962,-561762277,49999052,-1419125025,1685319352,-1804895698,-1571582429,1255870554,-1588409297,-1803775767,-384679786,-321282097,-1180183469,-1531226246,-161485837,-581054305,1638789943,1200089677,1016308075,2051996721,15200044,-379599955,-1704668508,276332803,-824814181,923308416,-216665994,605893159,-186616518,1681645877,-431503802,-1553798180,-1103700019,493698961,-2068290736,-531488868,1519432547,1359984745,-431530110,-1314876321,-270713679,131041628,-514335834,-1160564153,52850920,289735633,618327990,1957105348,604785557,621225385,360309170,1712052868,1220590420,702836743,1443496929,1676144523,-481335535,-1715880307,442118535,667417509,619709402,-10860407,-1856354576,1735977757,-858037680,374663551,755912162,-153563152,-641800587,2140521565,-899268938,-761837751,120823489,1845054023,-722641359,-710447332,664175824,-46366482,160697153,-1921778377,-1201993179,1776041937,-668445339,-628646513,923000662,1676369519,-2127488472,-1002462323,-64908336,-2080403457,-1213819779,206635940,503639031,-913097456,-1577308457,444821548,1170736461,-856363647,2064249452,555728658,1289303401,-469805809,-2034576551,1017079796,-195504175,627977380,-1983859435,-1679214212,-1621260678,1839380937,309675856,685836583,38052797,30186052,-2084388455,-1807778109,920336027,1320931330,-1822819164,-1366865594,-1106521224,618432457,-538097616,-1713127190,-396122403,1590751270,1152085068,-523071518,-259847289,202404040,-349686190,133171662,-632369954,433097028,-1370150484,-1119849261,-505344022,378471335,-1809422358,1132843341,-565604491,1495927938,-1200224367,-1041710157,-1244067751,-152847442,269244036,308915197,1060722977,-204397281,781927867,-997807434,642868632,1353413763,-167885672,-349606544,1777518290,-1786115416,-2109723011,63033765,-1958468870,290193999,-456799374,-1431413794,1343462321,682708478,-1439129362); +/*FRC*/Random.twister.import_mti(283); void (makeScript(14)); +/*FRC*/count=96; tryItOut("print( /x/g );\ng0.v1 = g1.t0.BYTES_PER_ELEMENT;\nfunction \u3056(c, window) { yield (Promise.reject).call((a => \"use asm\"; var tan = stdlib.Math.tan;\n var atan2 = stdlib.Math.atan2;\n var pow = stdlib.Math.pow;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n var d3 = 33.0;\n return (((-0x76c2b9b)*-0x32dfe))|0;\n (Float64ArrayView[0]) = ((+tan(((-2199023255553.0)))));\n return ((0x6f6c7*((0x28858e28) ? (i2) : ((d1) == (-((+atan2(((+pow(((281474976710657.0)), ((-147573952589676410000.0))))), ((d1))))))))))|0;\n }\n return f;)(Math.pow(yield ({x: \"\" }).valueOf(\"number\"), (/*FARR*/[, ...[]])), \"\\uDA9F\".valueOf(\"number\")), (4277), ([] = x + \"\" ).watch((4277), Proxy)) } { void 0; gcPreserveCode(); }"); +/*FRC*/Random.twister.import_mta(1079493121,-352869353,-433344416,-346261569,-1339275214,-205461289,-1746209227,188214537,1818587431,-1011551745,1973535148,-45776962,-279479821,1978800008,196145101,130350041,1138754579,-852936551,1554535013,-1313926647,1498103652,1093115958,588669040,157752214,-1367779217,1444086660,510854301,-1608981816,248894654,-973229849,-1532289692,-1248826710,-134248094,-911743550,-1182679154,483676144,344147229,-1291636179,1876383672,1187182122,-470073569,2060452469,-1705339552,-481339486,-1751853559,1495866608,-1743483385,-714901791,26024923,-1342290852,885399485,-1202942147,-1843362650,-28890781,177895954,817325372,1246729037,-2109696487,-46372419,-1543957537,-1933347079,-479690996,703487269,698958674,-1483233859,812137531,-248390504,-1681846234,1270197771,630006588,-1726883482,1785370023,-507344865,-1015785969,-172627430,695326183,-679087318,-1498509962,-87884395,1216029657,-1691632273,-1472619739,1467637885,-2074955580,384659365,30870345,-1131138804,-1151096502,-580103481,400042553,-950124811,1225072526,795568430,1332175293,327677822,-1787060640,1537622218,-2087017611,-1386397747,1541576158,-36839775,1646537453,662581548,-1759449071,-83152467,1298481708,197387869,935387414,2028162363,-1481526268,1925522028,-3753475,6223073,794169857,-492081660,1552804757,-1163277888,1766337659,-2103447118,-1774201318,417301204,-363900629,381172939,-406859577,-928615776,173890823,917864314,-1836916204,-1672253725,-1614618824,-1623142934,1449621950,-55770258,-39053668,1130620385,-1699130382,1819787395,-1739721966,834756453,-203052432,-235149870,886971259,-1644141176,-793526300,1415858991,-1016985097,702473081,-695800086,-1974802314,-1135763481,379945867,-1764885561,-280354305,-1124084578,13259938,388882079,1319865856,-764034583,-1614783429,-1451330887,-2033983192,1940299449,-1352327843,-1537672924,-1198666889,-1682035111,-1035216945,574913150,-1954578070,183093323,2047133862,933811913,-8096236,-314805253,-1264452187,-587998308,-2054181583,722905107,571436320,466214387,778317943,-2046419049,-1889503541,1614171474,390356298,-106100501,-619695005,1788054704,-1572529073,-5237478,-638861725,-1131108432,-374762203,762064229,-1466857574,1030232365,1655146623,819137870,-76432498,-649873489,519988,-1052248324,-1047986794,2102230318,-1095877367,-907421691,-187138695,745959299,2065198228,1976026482,2023070943,249248390,1518720947,439699450,-1989303088,-532513919,-1818247977,510712658,1112251119,-1780203509,1279652748,-1161000139,722237110,-642115243,-962998090,-1595838888,-1161294492,-1134027623,-1461118024,1297350279,-1640260126,-1359487759,-814342929,1297337753,-1423880846,-1874308957,48279250,-405049860,-735522920,-1730261946,-1822710779,506120668,-564066822,665437090,1861209607,1073161382,860777136,1634719532,-1194021771,-610335507,1501249937,1291999197,1933476600,-209468734,343027963,-1364690984,15390312,1764904292,938230271,987979269,1878290877,1701371644,-2024700514,-1613798094,-1605020657,76878242,-778542315,162458328,-1213528402,-1414209394,411646509,1404966085,-267783720,-527320189,-1416091434,-661706665,297841598,-1679282260,-1536283610,1030665146,745841693,1680245504,1918311987,-466328475,-506071537,-817749331,-1297230567,835745082,1486470003,1423978466,689818433,-927905894,443968218,1489681280,1194554665,741505538,-668270474,1680288400,908401477,-575557492,-2086460370,-1048121605,649560019,-1473712264,-1007655159,143868114,1795250003,-780996107,1212586041,1565041821,-612454882,659404271,727557474,970516382,181367311,360783724,1872590071,1051687144,2134432903,594525574,944915240,1714251297,-1315561112,-1374508068,2113867782,1544060215,-1897749052,-2046705918,1226161126,-2121967221,-1715180042,6741971,1597668446,-1575236523,-644487897,2026228673,2015700910,-1344161665,-1064018330,-1251272806,-985649949,-409891636,375250575,-910364333,1953592823,-328446196,1994127064,-1128602107,683463275,-275399747,-846759344,2099616374,-1816792913,395643344,1798840623,972409203,-1609949858,1786486110,1122265431,-215013073,-1091424896,-680289508,-1659680249,-970471800,-1574107983,871933139,-1177503288,1820707968,-1881357055,-687357056,-320477438,-1318891758,-1828437621,-905102598,1129658859,-1150412091,901980100,-401162126,1436224994,867354534,-786188015,2069855748,1042590113,-2086979624,-1231046629,-225809182,-1317859346,-1968993714,-1948622367,-371991573,-1207651531,324828668,-867539847,-1483269050,-843139218,1014125380,-1230452442,-217641326,-1503348767,-456218880,1467971413,1679901578,142055936,-378832791,655698875,-112271370,-1442132644,366251415,1569701948,544183938,387430759,9004405,325978914,-391539080,1667722529,267829923,-1024812393,-695714926,-2051845961,-105964458,1521594659,1379589016,-219721538,-113646553,-351578069,490065372,-1646054576,-1518162584,196696414,-1824795982,-1180033387,-566802204,1267586467,2137453792,-710029006,-1974900401,376611597,314248522,780559093,1542342135,-158391896,40878790,957164052,-1375277922,-52878377,-1374547963,602560138,-974218731,552138438,-456701525,-1885810071,1606387708,-1985153939,-1835369644,-83278467,886191621,181993818,678507824,-276125033,1137328991,1063926469,-1592463259,1483286381,1737303807,1853537076,119420723,-329815027,2084559677,-604925142,-1942180281,-980515196,-1723230569,-701927966,-1987760311,-433146042,486236850,-605228165,-186904424,3161743,-1576373594,1306548432,1341552699,-1759342621,-873660508,1396865017,-587660870,163626278,1044710483,-1552219707,1357884041,-1651288934,-797156415,-254412596,1612124158,982336793,1987312734,1163054601,1534000771,1662384406,879286308,-1593670665,976361953,-891134068,731067612,283556537,803540525,936526691,527518047,1078386346,-5400849,1446630730,1227796757,1743593978,1736030848,-436871898,-764217730,1184378383,-1883742246,-2145622814,-255676533,2124876456,-1794002615,984964339,-481859698,-1846482571,-790148684,-125653033,1944074069,454529348,-1992070609,458682559,-1457270649,1532494522,1436489508,212878474,-671623555,-1737649840,915931433,-1840173182,-552150150,1650001973,-1573753369,353997432,-1802889746,1086304512,-1479562329,-508278937,2121974522,-265837819,-1788887072,1742998632,817801232,-404435122,831546331,-75151820,1503290479,1054962656,825456558,-634190176,24498084,20911970,-1960643723,-450027116,902937360,-531662014,793621085,-1135496142,1211635887,2142989773,381391789,1364533568,-1486456247,772367518,1367744217,-1256843177,2147448520,-1332719103,115444075,1389575790,-549187366,-89363871,72374588,463503189,-1872536913,-1959614398,82596147,-960810490,-49665689,-95093389,-772075867,-787656098,1703251463,1124606758,1805617348,1721171829,1997970808,1630254309,-2140085949,877722629,1794674829,166268425,941941820,-211275385,-1509983515,1854069821,-176476238,-34089564,-211751862,678939848,-1887853761,-1184623212,-1022685533,-2039279733,-1145697606,1384852911,1395800556,-328086890,1772749517,557750341,-1726133866,1452695873,-639233647,695075635,1334548729); +/*FRC*/Random.twister.import_mti(227); void (makeScript(14)); +/*FRC*/count=97; tryItOut("/*ODP-1*/Object.defineProperty(o0, 7, ({configurable: w, enumerable: (yield \"\" / '' )}));"); +/*FRC*/Random.twister.import_mti(303); void (makeScript(14)); +/*FRC*/count=98; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return (mathy0((Math.max(((Math.imul(((((mathy0(y, y) | 0) >>> 0) || (x >>> 0)) >>> 0), (( + (x < x)) >>> 0)) >>> 0) - (((0x100000001 | 0) >= (y | 0)) | 0)), Math.tanh(x)) >>> 0), Math.fround(Math.cosh(Math.fround(x)))) * ( - Math.ceil(mathy0((( ~ (x >>> 0)) | 0), -0)))); }); testMathyFunction(mathy1, [0x080000001, -0, -0x100000000, 0x100000000, 1/0, 0, 42, Number.MAX_VALUE, 0x07fffffff, -1/0, 0x080000000, 0x100000001, Math.PI, -Number.MIN_VALUE, -Number.MAX_VALUE, Number.MIN_VALUE, 0x100000001, 0x0ffffffff, 1, 0/0, -0x07fffffff, -0x0ffffffff, -0x080000000, -0x080000001]); "); +/*FRC*/Random.twister.import_mti(547); void (makeScript(14)); +/*FRC*/count=99; tryItOut("\"use strict\"; mathy2 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n return (((i0)))|0;\n }\n return f; })(this, {ff: (function handlerFactory(x) {return {getOwnPropertyDescriptor: function(){}, getPropertyDescriptor: function() { throw 3; }, defineProperty: function(){}, getOwnPropertyNames: function() { throw 3; }, delete: function() { return true; }, fix: function() { return []; }, has: function() { return true; }, hasOwn: function() { return true; }, get: function() { return undefined }, set: function() { return true; }, iterate: function() { throw 3; }, enumerate: function() { return []; }, keys: function() { throw 3; }, }; })}, new ArrayBuffer(4096)); testMathyFunction(mathy2, ['0', (new Boolean(true)), false, objectEmulatingUndefined(), (new Number(0)), (new String('')), /0/, true, ({valueOf:function(){return 0;}}), '/0/', (new Number(-0)), ({toString:function(){return '0';}}), 0.1, NaN, [], 0, '', '\\0', undefined, null, -0, [0], ({valueOf:function(){return '0';}}), (new Boolean(false)), 1, (function(){return 0;})]); "); +/*FRC*/Random.twister.import_mta(1601465414,-713986095,141044736,258560844,-2067167426,-628469307,905461298,-2010176521,1100748758,-791007862,729166408,-1288909798,1519820102,-1949860258,-1704744890,-1416185356,1463139051,-1808010036,-1909851272,-1370553051,-165942391,-1808244593,-48459363,-729436725,959666778,1691771439,-382364349,-1402883468,-1497127568,-810107422,-11888579,1883676143,-135782317,-445988526,-1872924900,-658192398,-1057495,-1572439314,-1456991654,-1098412963,-153371473,598419525,709488166,609090163,1861962942,-1408246328,1572857649,622272229,-1175637461,-528356981,1086352724,1777906837,49049029,-891949216,1206138210,897813780,179470471,480231804,-64614603,-709883143,1506085558,578106586,1461641974,-1247192892,1613258407,1626458401,711831276,-1834427154,366519981,-522223426,-1878908623,1914202106,1955476895,-1084984439,1425657019,-34892681,-623744526,38238547,-506575999,1332845843,969436629,-226115986,-1608308028,-1617010723,-703247040,-1989634203,-1772279039,-1526927803,236823673,-1285090685,1523026836,-1261521582,-296441208,-1806651611,-624847631,-1660495703,-120394085,-181704160,461551281,-490958458,-1284220118,1890247040,-1494216461,1167043582,1551939831,1443568765,812860503,-1247826693,1010684975,1320211029,-1181047426,-1721691131,1896754992,1735156296,-1100942336,2058994970,-1965745054,-457562625,-1720902285,184020837,597116816,1380502104,1511388983,452211704,1228386069,569369422,-368699772,1188163291,-1626986968,-1222457054,416517002,625021171,-141205151,-470830448,-1535149698,-1268035036,1505357485,-849847321,-301661371,-527408199,-167789493,-1655628474,-1219558264,-1855742595,445372867,-654421221,-1077321061,94029115,1625412747,871249533,-334196794,512361253,-887073361,662775353,-1574897792,-1062139826,-2120076304,762173686,-1808929300,2105574260,-773289939,1418279121,1398387510,-999210490,1609913478,486570668,1693681199,-437208073,-214833497,-2125213599,-890977516,1081693895,-114484593,-1844613299,-920676473,-171572519,-1660552689,-1542345017,-351065874,1051392741,-1662372225,-1939098156,-1352714637,-250723132,-1584501354,-283060805,-450192137,51943098,2067028926,860249576,-1556055361,394823486,507881672,-985296493,-1573309874,-346859578,1945505379,1529750194,-2101348752,556286847,-1596777923,1419018958,341716506,-1883856814,-975652639,269271012,1791819259,1393486455,-812069621,1488300820,-200445687,-1673685042,-2107440958,-1110259716,706905020,1454661951,-191994093,-358199289,-1060591306,-1974258864,-305858680,1958257438,751367651,903514394,-1986615619,1946813825,-2001262998,184607130,718282829,125166321,-1055257109,2054830486,623577046,543725707,1493416825,15483071,-482894988,1096963460,-12326343,-1976303717,-992863568,-1252840773,-129869787,-112530121,-1950325089,-1752248800,-1627853133,1937313132,1627345446,145326474,1795962618,11279142,1561822030,973356513,-1154119272,-424227260,-80766128,2108950557,-197164494,1494919250,-673272276,-1812615725,-1759283861,919455729,-536022465,418157327,-95356623,-317833224,1987139586,-16399377,-1801830194,1459598418,1162850518,141816666,-799524335,-250778636,-311034275,318208839,927984968,-1914794220,-121196832,-406386012,-1634660359,-481244321,-499752715,1014519142,-1923600284,-327063600,134554411,-627525751,-1846412535,756247498,1284805857,-1862490969,-2068717073,969746070,-1832118794,303569996,1556135868,895461256,1184871467,-1632975987,-369105973,572713641,1175378234,1296455927,-20949706,-991719146,1160338687,-1919124021,1429222901,-1011113999,-1786452822,171057881,-1371774477,-1596215587,-1406095625,-61647608,-1518769263,-226653412,1045343466,-1039498171,-904950457,-2043844968,1109910628,485745747,-1581494777,-671185191,-379519590,-367909368,-1665895224,1931314904,-569488760,-978254309,1358297540,3098616,-1068974411,-640644531,-1009475640,-1968797282,346334254,1816570776,-949023380,1776621126,-762576263,-503257569,-1918751560,-289300870,-58022055,1020676639,1684471491,-639244387,1780836262,1184020172,-1021068611,-1895618425,-1038153843,-1599533058,-2049035077,-1460897887,-2007597282,1946053794,-679956128,-1851270102,229423441,-219324511,-1764588039,1796828692,-153944954,-1052903671,-908969228,-905885223,-1107767706,1198214833,-2128250746,973101929,132470340,-2032596681,122904822,2058959352,1513003323,607785871,-1048800350,1139105570,1411968647,-862688741,953239123,218957826,-1184340485,-1772922253,-1914733320,-522660251,1321989263,36494744,-1144417707,-396000716,-120563928,14559291,840828231,194646522,-1608659320,-853255545,1484459570,1468522253,-1732853444,-1105834432,-314045199,-1305618847,-1671659883,1037851167,1749173921,-1472632825,-613147001,227646136,-1645525196,-1018583510,1476542497,2022793787,1801390357,-367673210,-329712545,-1689609711,247928074,-1619324247,364168284,-1941016616,1944655307,-451955054,1560898455,-779906673,-525532128,957801199,801097108,1075451234,-1893536241,497626194,1374170545,2051469484,683804138,-1188786154,-52091233,916723382,1102518128,334120487,614983898,-1858239885,833408645,-1112503061,-539773164,-234083320,1510296292,340290644,1028077611,1815819275,-933148089,800891104,323844201,1876420735,-2103990042,-1550407061,-1444261786,-1405118448,-1440586977,-737491218,-605684030,1348529376,1831117530,-383069403,1782959431,-1702552729,753309347,-522923922,1246030171,-303057648,1023720501,-738092220,1925679558,-1306748574,296297077,1005039398,-2064142045,699170486,-2092912234,193335411,1405651136,-1327506271,-550462812,1600888337,1653262408,-1712660698,-939828530,-1738142119,1759974640,2115955554,-700988969,-841969703,1270484081,-1525629883,1288427584,-859422222,-865972363,-181856809,-1530596966,2081297374,-1676850034,-1246856154,460233572,-656031307,1092186380,-175250084,1590633226,-775884792,264538150,-1079845129,-2051531537,-230587149,-582707100,-771765896,-864383792,868684213,58510556,1088683849,141464913,1128059283,2053879958,-1182181240,-710472451,1259633801,50579013,1029450571,-1346653643,732092519,1737085797,-124225677,1980812023,153064535,1339608448,1545118260,-1406078388,2107691119,-2111593227,-458184497,-1432443862,-865110409,1992044548,1286338813,-1925125535,-1621766729,-2002429003,-1174566029,-1636683120,1909818307,-583834271,-1669403363,574293041,-166706070,-225731105,-1313998952,866607370,-560873159,1495846782,576940302,1523030640,-261160172,394191804,-570669615,2008167702,-1301175785,-32255343,-272261684,-480339011,-2054639562,1405835692,237080652,-1858198242,2110406278,-424788363,1292853748,-163057680,-1904483767,79338066,1476081096,507131151,-2021239892,2077726648,-1501319752,1331811277,1819586936,-2113184977,-1073866673,2054007798,740862146,-954033213,1016154780,1351753896,1599051307,1477261175,183694377,1718989120,537196989,1534672047,563728538,-235448636,-374568827,-1134256402,2041088548,50941917,236289887,-1165069617,-1647404696,-1150785364,-1910908515,-1857065146,-929275813,613684468,-1890549584,2072964042,71860229,-329878866,-1131907856,-1210620529,1987453715,1453915799,-680894197); +/*FRC*/Random.twister.import_mti(6); void (makeScript(14)); +/*FRC*/count=100; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(15); void (makeScript(14)); +/*FRC*/count=101; tryItOut("mathy4 = (function(x, y) { return (mathy1((((Math.min((y >>> 0), (x < x)) ? (Math.atan2((Math.fround((Math.fround(Math.ceil(x)) - Math.fround(y))) >>> 0), (x >>> 0)) >>> 0) : Math.fround(Math.pow(Math.fround(( ~ Math.min(-1/0, x))), x))) * mathy1((((Math.fround(Math.trunc(x)) >>> 0) ^ ((( + y) | 0) >>> 0)) >>> 0), x)) >>> 0), ((Math.max(((Math.cosh((Math.sinh(x) >>> 0)) >>> 0) >>> 0), ( - (Math.imul((x >>> 0), ( + Math.min(x, (Math.asinh((x | 0)) | 0)))) >>> 0))) >>> 0) >>> 0)) >>> 0); }); testMathyFunction(mathy4, /*MARR*/[this, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Math, Infinity, this, /x/g , /x/g , Math, this, Infinity, this, this, Math, Infinity, this, Math, this, Infinity, Infinity, this, /x/g , Infinity, /x/g , Infinity, Math, Math, this, Math, /x/g ]); "); +/*FRC*/Random.twister.import_mti(576); void (makeScript(14)); +/*FRC*/count=102; tryItOut("{ void 0; minorgc(true); }"); +/*FRC*/Random.twister.import_mti(587); void (makeScript(14)); +/*FRC*/count=103; tryItOut("this.e0 = new Set;"); +/*FRC*/Random.twister.import_mti(597); void (makeScript(14)); +/*FRC*/count=104; tryItOut("\"use strict\"; Array.prototype.push.call(a1, o1, e0);"); +/*FRC*/Random.twister.import_mti(619); void (makeScript(14)); +/*FRC*/count=105; tryItOut("x;"); +/*FRC*/Random.twister.import_mta(-1284624628,1982468935,204388444,-1569125097,963232442,42406187,-895943127,-126301481,-1770301307,-1192028715,-1413762964,-250138570,943711536,628331138,-34458371,702968621,126640350,-620774776,224826471,-1173945030,-1417289053,-1931874044,425699004,-1329507982,808000473,-1554681996,-917779565,1188370148,-342544087,-1790646006,69486778,-668831,-1556680410,-1467763794,1433698582,-918512673,288958485,-608770270,-605922653,-1282587847,-1298410415,1038545657,839572976,-879198016,547616850,-1235200969,-1737918070,-1587953392,2020984425,1372387375,272918142,1202532649,-681124936,972509269,243903198,-1592342345,1651823797,1870331138,-596896445,2142240050,2129490450,-1457989219,-1186855415,1089916906,89115743,-1089162135,-580999015,134290763,1611607231,-1137900899,-1876500264,-922065065,472355452,-544030687,1193912970,657317282,902084966,-1796526806,716301586,-148172813,-1956755883,1102624535,-316657641,-268626045,-200243749,1365677257,-1057958002,-1915819485,811918655,-1303158930,1158464696,362847500,1254766699,865280105,1340986066,-1920543902,76242546,50211408,-57751782,301998564,-582628219,-960798490,-1375628275,2066392017,1193552694,636871534,-3574404,1528501830,201237971,128174555,224263016,966682260,-969157512,1107253514,-1399057787,179176983,1425505495,1342579337,775078814,-863028308,-119821228,2021181332,1052575817,-1091589239,1343491822,1030594067,-1185114591,1978182530,-501728231,-1714501320,-1061403601,-1581136342,1286337027,-41677174,1905750389,-1839360788,1195174495,-1743062134,-530639532,-1406164102,313535639,-141070328,-1407603186,1450113227,1372008861,1819452856,397059125,-540775778,-866888932,-1152733822,1226341626,876462525,1932896432,-1889384112,294455268,-1646101351,-892862106,674099911,-1999632944,1131899158,1122097967,436975761,-56008646,919758141,753095768,-239670856,1537207856,-135356368,73211198,314594460,1262860715,1536028425,1070308021,517595297,1717764485,-2076109708,-987629584,-457723543,-1147669717,1909691797,188398366,954254358,-151207893,1417522329,-1184632886,-173552725,-972416783,1179499111,-1088388276,-943104435,665907943,-1926656181,72638553,728838865,1501627169,668019757,285629381,1372445584,-1764554933,-781448522,1622717774,1817880141,668969364,-1600270336,1772064616,1570347238,1495485793,44058804,368205742,-1610135674,1074508984,-71306578,-1020790122,-294049422,1011571165,838921232,617085063,1156595823,-898033384,225218574,2115293578,1664792704,-1503317891,705988110,-1787064052,1391685026,-1830153786,1057918965,-325561632,-1247080842,-549187108,737952081,-1950618191,2131858250,1627806295,-1478453953,-666747113,219346351,755400484,1515645032,-422398208,417048624,-867453591,-614145202,-1858544232,-619555871,-1011121268,-1678095440,-2004012607,752467393,-1332257567,513989246,660586843,-724496545,898527686,-1778189183,1922457051,1044089251,-1820811448,-1999002064,2020726168,-2014475396,187615480,-1204297259,247996026,2143459044,-989176635,-912033712,-1687378991,2017983895,-1595450647,33824825,-1302745702,692966493,-639666966,-1748530792,-2118126253,199463130,1094874787,-1425699640,1242879239,-657875459,1236671943,-1972939760,826726321,-624947855,166678234,-1545120936,492581510,1756515154,377453071,-1173539088,778196709,101640369,1424461312,1768498756,-182383429,-1102659834,-744115053,-1503594314,1238307128,-1428231248,-281798615,381933051,725660046,366071689,-1789212808,1891784949,-562153171,514890290,1462266020,-1093470322,-1921567366,1323718568,1152093586,-9174373,-864356886,-1900494417,1822316674,367881758,-1952525676,-1276992338,-829398994,1704504384,-1785763674,1968722118,-520629673,-1443515832,-1280150558,-530862487,44327101,1747127922,-567947076,-1749841506,1527559610,-1294841258,-230474718,1823978636,2093818459,-1939241361,2010909894,-1892969421,2119994676,-457585356,-1206984359,1759761858,-1141902191,529944359,-1088728508,-1786329097,185985176,621198653,505726325,29752224,-1419669730,438243072,-912634169,459009709,1824476453,142658956,-2072299301,1512778181,-628196615,-1730017752,946136197,842983287,-643623824,702108372,234961747,-923749516,-1436095240,255547054,-1764773313,389552246,466417653,-811141058,556702150,179424385,157375809,-953527054,74969160,825445941,-66006264,2043987706,-1754302699,1303385638,1173482775,-950183667,-936729225,-1169760698,-541671728,-762437952,-257915020,-546072635,-2082709206,2016753322,-878186402,-884864041,1581311988,801471985,-515670723,173967004,915032877,-914712722,-1145268663,1413170572,-1311912326,-602131317,-16361018,1540707236,-647387067,1305563222,-1284569353,-922764437,669608306,1244205955,1653170063,-1961376078,-1205637368,-344936791,-2306298,518162852,-1318840922,1541159403,1475013756,1982807409,-471084545,-1758154662,-577511851,1468607364,1696469416,2118151586,2106888791,-944076103,1282727581,-1542522455,-1658568752,1416279629,-416433499,610130182,-1255464407,479253093,-1560444964,915672298,-714722935,195546757,-1967364444,301795840,440184452,-882404081,540061732,315669958,-35240072,802292794,1758519173,2083937803,457722518,-569391697,-482368325,-548485758,688807746,-1390421241,-840567224,-1246707594,1696760799,462696009,-137678555,184082812,-1936616100,53497575,-351368327,1829902826,-303724183,70348105,-1308981742,-235997918,903344496,1632337156,55643629,-1137923819,-2147012604,875440397,1254704231,1534204347,-1084434644,-52375014,2120538599,1228190140,-1961302801,1758684575,1829525030,2059113474,1087234901,1998130417,910397283,1740182838,-205057174,-964512055,610730176,1298152191,-892211607,-1950544857,-373260169,-1883679980,1362407113,217398033,511696077,714632577,-502304941,651267138,-1568199660,1990497186,1545196245,-767823758,1137648126,1946058420,5091310,1883389031,2061897461,802959499,-1082677302,-908561289,-771752366,-938159888,-1568533694,545161778,1524790829,-783924539,762859210,1642164716,-635827945,-2121471773,-1332394769,2002391772,-314236415,-107847699,817679144,1093669250,1493839718,359552991,-1514753264,300212103,4917631,-1222316568,837127438,-214524563,-1018218470,1455738769,1981075912,-2119599770,-2072322690,572418761,-1569745257,685957264,-1828876163,1409224146,-1198697051,1534578744,-563913167,-1296976125,-2038285031,1987016834,-1964651556,-1174647300,-616487237,118765776,207218619,-1847765679,-121021739,-1761906635,-1501719249,-773108337,1878203876,-1284446690,1634947172,356842913,-218007795,808853344,-80479034,1551468636,708337988,1031021894,433858262,-1267628773,135936113,-1845029860,1052415280,477504915,-1663265475,-1481068798,-1896459703,-2097342021,1819689529,-236321756,-1619646178,-1156640713,1417771455,-1722010536,-2043569489,578526391,133492795,590830743,578292899,2132596401,1986365843,-1846719888,1495817090,-2143782416,2144600705,-1583028386,-1479501077,-540491594,-1326016812,398190445,-1057679019,-1242705774,560606875,-375552121,-1932909384,843285868,1027618451,830516926,-897009936,-1844385832); +/*FRC*/Random.twister.import_mti(15); void (makeScript(14)); +/*FRC*/count=106; tryItOut("mathy3 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var i2 = 0;\n i2 = (i0);\n i0 = ((d1) >= (d1));\n return (((0x3bb7a622)*0x5c028))|0;\n }\n return f; })(this, {ff: /*wrap2*/(function(){ \"use strict\"; var cepheb = 'fafafa'.replace(/a/g, Array.prototype.unshift); var nicvji = (Set.prototype.add).apply; return nicvji;})()}, new ArrayBuffer(4096)); testMathyFunction(mathy3, [0x100000001, -Number.MAX_VALUE, 1, -0, -0x0ffffffff, -Number.MIN_VALUE, -0x080000001, 0, -0x07fffffff, -0x100000000, Number.MAX_VALUE, 0x100000000, Math.PI, 42, 0x0ffffffff, 0x080000000, 0x07fffffff, -0x080000000, -1/0, Number.MIN_VALUE, 0x080000001, 0/0, 0x100000001, 1/0]); "); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=107; tryItOut("{ void 0; void relazifyFunctions('compartment'); }"); +/*FRC*/Random.twister.import_mti(195); void (makeScript(14)); +/*FRC*/count=108; tryItOut("\"use strict\"; mathy0 = (function(x, y) { \"use strict\"; return Math.fround((Math.fround((Math.acosh((Math.expm1(( ! (( + ( - ( + x))) | 0))) | 0)) | 0)) - Math.fround(Math.acos(( ~ (Math.fround(( ~ Math.fround(Math.imul(x, x)))) > (Math.fround(Math.pow(( + x), Math.fround(x))) >> x))))))); }); testMathyFunction(mathy0, ['', '\\0', objectEmulatingUndefined(), ({valueOf:function(){return 0;}}), false, NaN, '0', '/0/', undefined, (function(){return 0;}), null, 0, ({toString:function(){return '0';}}), (new Number(-0)), (new Number(0)), (new String('')), ({valueOf:function(){return '0';}}), [], true, -0, /0/, (new Boolean(true)), 0.1, [0], (new Boolean(false)), 1]); "); +/*FRC*/Random.twister.import_mti(377); void (makeScript(14)); +/*FRC*/count=109; tryItOut("\"use strict\"; m1.has(m1);"); +/*FRC*/Random.twister.import_mti(390); void (makeScript(14)); +/*FRC*/count=110; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(399); void (makeScript(14)); +/*FRC*/count=111; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"(?:\\\\3)\", \"m\"); var s = \"\"; print(s.match(r)); "); +/*FRC*/Random.twister.import_mti(437); void (makeScript(14)); +/*FRC*/count=112; tryItOut("mathy4 = (function(x, y) { return Math.fround((Math.fround(( + (( + Math.min(Math.fround(Math.fround(mathy0(((( + ((Math.hypot(y, (Number.MAX_VALUE | 0)) | 0) >>> 0)) >>> 0) >>> 0), 0x0ffffffff))), Math.acos(Math.hypot(mathy2(Math.fround(Math.exp(Math.fround(y))), y), (x | 0))))) === ( + (( ~ (Math.max((( ! Math.fround(y)) | 0), x) | 0)) | 0))))) / Math.fround(( ~ Math.fround(( ! Math.fround(Math.imul((Math.atan2((y >>> 0), (x >>> 0)) >>> 0), Math.atan2(( + ( + ( + y))), Math.fround((( + -0x100000000) || (Math.trunc(x) >>> 0)))))))))))); }); testMathyFunction(mathy4, [-1/0, 0x100000000, -0x07fffffff, -Number.MAX_VALUE, 0/0, 1, Math.PI, 0x100000001, Number.MIN_VALUE, 0x100000001, -0x0ffffffff, 0x080000001, 0x0ffffffff, -0x080000001, -Number.MIN_VALUE, 0x07fffffff, -0x100000000, 42, 0, 1/0, 0x080000000, Number.MAX_VALUE, -0x080000000, -0]); "); +/*FRC*/Random.twister.import_mta(694137515,1482144730,-1477358683,-1107846048,-1844068650,-1966177050,743326426,1770621652,-1857388615,-468707764,-1533563760,-1558598818,1231854309,2123891428,-2144675553,-1331087720,-444570065,-128805986,1462407454,-1371333119,-847561168,-192103338,-217053680,1052832309,256392734,1288257712,951497369,-81214409,1015892468,-1577454174,835118389,-1945590074,63500883,262426915,-1008168814,-1409239422,-362677976,-1198701805,1690364138,1566663975,-1819181074,-30878627,26319206,-444932608,-1633138527,-288767207,1715006562,810836578,-1169620403,-2103552613,-1423760821,831505240,244616698,661939531,-1689032382,366255613,409959099,-538024453,65118354,608105375,1401625022,647370592,-1087004041,-1298069070,731722220,977408731,1756954124,-869423777,-1668669480,-1076346551,-143302136,-1031644062,-1242456536,-2003149252,2122643259,-150481446,239401948,-459115365,1400095236,-378510715,-1734371760,-1396071111,1390055947,1661452854,-980036682,1789996960,-2070029195,2120619372,-439779923,484621243,1139081018,930433029,-401455756,1257946959,2088304051,42486892,1986402777,134540526,783877572,1148012023,-1512110406,-361792999,-1442980920,-381420558,-1723335280,-702268727,-499853257,-842838785,-1775472861,416358777,911695563,-1055750801,1177428167,767661449,-1426382730,-278209439,1664111081,1423327281,1438245730,2082503108,209608621,-55559666,-1448913520,-679632707,1315310497,1415120285,-1293908687,176602513,1822025390,-1548426011,-2119786032,-769325292,1596159657,1004077426,-2002640235,1241743647,2069327641,-1653954389,-1350201776,-521376324,2063313286,252115041,-414082203,341678849,668831067,-1835603014,-1731798873,1473225856,-1366045780,-1480391065,-707616880,1334707600,-2045223474,-860070260,-1243093926,-955541980,-436426452,-1768582507,843364697,16058605,-814039889,-533205460,1892693314,-1863084235,1320422494,-416662332,-2113200668,-1720735708,242487966,-1326216271,622006794,2116298576,10432698,205825330,-741619787,224650780,1478725237,-1515185874,-190478412,-157537662,742817131,1497705484,-1353716017,914986657,-558927796,-472802703,1314908407,394951127,1760234469,-194356068,-2081795351,1207834062,721979061,993944326,136134514,-33693948,-653465108,219617892,-742845076,618472216,913954721,-1780593051,842364087,1933260687,234590436,-1746855220,2118972139,2090640964,-2115049037,959283678,-1108901721,508035018,-694651929,1627227866,-959924546,1000200776,-1395951739,-439773735,-212100971,509625950,-671032377,116395097,1732888171,939392533,1492719727,-1006780909,1419710717,521378779,42089697,-934067381,1895894039,247527633,-179942077,-2050629842,-479104876,1684263149,999414852,-1307274494,-1909268630,2047197541,854972156,1057469300,-585414849,-1390671645,215157425,922177752,-474072103,271914511,1005113961,1918048447,1905368842,-2047906196,-5670976,1651608186,1763773096,-590424122,669811116,947563153,-932940322,2146441375,206738589,-2038434578,689174199,-1392118251,-2022963103,-548571561,967891215,1194303193,453220937,-1997896499,1030782659,-2021351828,593992168,1255626263,2075633326,1671317563,-948986378,311077317,604833084,-225028186,-1843913878,1719719806,283588597,-641424964,1803998108,1192626175,902650419,488964349,315568841,755150767,-1347972406,-442193343,-1605511588,1120614668,-124176771,1058154842,-520413494,128911518,-1850597319,-787081548,-1644876828,-1877586960,628002808,467968795,2000823168,1507762616,135921184,782776857,-476977120,2035197529,2087631345,-2094118645,230818932,-1496835396,-657152770,-2081159336,-1028232269,900453243,1032060682,-304272322,319548696,456183204,1883511372,2090970506,1923662989,-2016781264,278371539,-66699445,55188978,1906793289,-581796661,-1235937842,-1644298746,-1884126486,-727029292,-284298958,1854602047,-1858502855,1580136071,1036002980,-1285755057,-707434772,-583648517,-1505783398,547859152,-783898123,-1427902840,334755471,796649770,-332815908,1559645948,-662906428,1421604941,-1487912258,1200175633,-782470894,1997644652,787593117,-697998894,-1005168101,-809228977,1022209846,108167691,-1100108412,494758863,-2091645848,-1275018026,-453802768,729719259,-1302139623,1405104214,-1246567269,-653596799,203953026,1880938655,-33257649,999510264,1214939631,1813721065,-1004296726,1294813513,-1947234850,-1142819495,2000921209,-263349882,-1984626931,-1168960332,845635275,-1122729713,520841770,-105605035,920932324,295389177,-1008390799,-445303951,732424881,1280982661,1244881392,-254924425,-1456062725,1231808124,1367757564,702459307,-1661635186,-810697752,-331128695,26902552,1405440392,883918302,452168242,1348550282,1578124264,514258715,497769550,-1416216375,-1062791939,-236863547,-537139859,-1420889531,1424417078,1951344596,279917985,152793902,-218521646,-1358416893,2068073804,1866955573,-1044871084,-31794265,12221539,1276838238,-1439078128,758443855,-2122437254,-141333937,-813894053,-904893913,393866538,1281954633,1426412076,-1212326089,-675935920,1624759357,527490974,957530692,-167400505,1453245278,-719418235,-1169459711,928095865,1049993462,1711946707,-1810580466,-100675616,-1207958527,254155178,2119962947,-1718194539,1634179600,-1581161758,172130930,-2054976592,1052487894,-804770444,651572473,752875303,1064939995,884808786,-409525032,1905570396,-610991082,-1557561638,-303606109,-79464240,1757572254,1627597521,1123460669,-382621405,49383993,-1079316542,-1586614749,-716367804,1753181124,943909434,1175110556,777955826,1533689921,-1865001419,1797191422,529915300,-1873265644,1040337172,2110341360,-1147556255,1962087490,585110524,1923313526,1866727075,943469516,-1626874365,-1778294565,-1772136886,608362929,922581581,-1913092974,-1304798331,2127745465,974593052,904401247,27566591,-1567168403,-595424727,1846280134,1412090572,618282919,317318462,-1943338685,198976879,1799488219,-1074395719,-1087392792,-1872311980,1528316194,-1313204373,1469073799,634104816,1623033609,-884405119,-1595477242,-1855243348,-1037408331,-1241501400,578005206,-1481383937,-882268880,-1144025676,1507241624,1357622850,277991995,521756156,1999816096,1106874526,-1738116692,-1706775244,-1791480558,1545888519,532151081,671188476,467955991,846820595,-1264179151,-90718439,-742708104,-2132679630,-1778796126,-2046556161,471642965,1802199820,1980071568,1202999381,-192594261,-774337478,-1275865140,-1708992323,-759995567,-1056262779,-1406780205,1446048506,127954473,385892531,1472366466,1465787426,-922821894,-631617862,-2141636480,-1879842189,-1271746964,1634709663,-1237312022,1101514991,-1175826403,1265052026,1382810432,-1441525877,670186899,-1992807606,1394997261,1487068942,1865545911,-671015952,1713082758,-229705204,-1147074950,-71577511,545045556,-667505189,-1093863627,-1982837282,2106038815,1140338499,-2068116202,-131568111,1484938440,-1716968210,1083974871,9372200,-1002465006,-1412433706,-1690435983,1895893235,413647394,-1472802068,1533131876,52504769,1754379906,1957242525,-1295181514,-1076786679,1875217746,-1774982033,-618300882,-1070503927,1655675229,-2114103537); +/*FRC*/Random.twister.import_mti(139); void (makeScript(14)); +/*FRC*/count=113; tryItOut("mathy1 = (function(x, y) { return Math.fround(Math.asinh(Math.fround(Math.asin((Math.round((x >>> 0)) >>> 0))))); }); "); +/*FRC*/Random.twister.import_mti(186); void (makeScript(14)); +/*FRC*/count=114; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(196); void (makeScript(14)); +/*FRC*/count=115; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(205); void (makeScript(14)); +/*FRC*/count=116; tryItOut("Object.defineProperty(this, \"v1\", { configurable: true, enumerable: (x % 36 == 31), get: function() { a1 = Array.prototype.slice.apply(a1, [NaN, NaN, a2]); return a1.length; } });"); +/*FRC*/Random.twister.import_mta(1712897053,2050899066,-137498421,6371607,350294159,2147060934,-1473138460,1577071851,-1639224401,1406228048,38372391,-921601933,633310016,-914562342,105175204,-177310509,1635915137,-1073543098,1317940002,-1755569955,-1514292410,-758714035,-1836177165,1944795355,919311865,-1941398851,1449479446,-246509319,1807267741,-1364412048,-943924425,653660753,-1637817299,1844398359,-63360431,1476662235,1144011820,-2047664582,2026173463,-1009199664,-245024805,211935226,1740127532,1642187704,970610691,332114444,123399855,-1119947843,776090069,-1710759260,-1915130583,-1123995396,-1109189629,859575383,-1243036174,19640716,1325419970,-101657528,-2077110086,1469685148,-1965202139,-403309580,-124656069,1603017348,27931138,182964176,1863732996,1754479381,-365205668,1153630431,1442591331,-1116738612,903454018,1038077780,-1733651401,-1429918899,1343943234,24874396,-860640436,247033109,643681120,-225152029,-1909911847,-2086352904,-1609199724,-214354655,1198645388,-303641195,-114866960,2056798172,308560616,1595397188,-471846180,929886738,1061580578,-537723709,-1080305642,1672451744,-1713503784,1615653931,-2088963216,1824710184,-341433350,-626876909,1682308081,-867156619,-921408275,1608909788,1733983206,-51261949,-2087260556,-805850653,-1907565596,-1209305002,843011270,-2036635667,-414623221,235326998,754571740,320642634,897857640,1066641427,1296065848,1091831527,591592261,-614419611,1844574588,1641855696,-1390843555,544135137,-1571057909,1451227277,-1937261803,1601422880,1242120568,-2033143931,806239093,-1666489832,-877020310,615217755,-832544083,-1171148970,-868278109,-36391982,1219683651,1292741920,-240943244,-2106472252,-1764929301,1969140961,1338410804,417882096,1411865525,-296363492,-1726843893,-1589282578,1386454439,1439913425,527840086,-1565958691,460362778,242050097,-691721456,-1814087548,-498232744,-218736322,-694874961,-1786156514,1081852034,-22039082,1763893586,133166708,287445546,-416295801,300930860,2112335135,-930985427,-99878054,-188877006,2065244166,1305290393,955210322,-2081705120,-1765939141,-1551412067,-1404352540,953779135,-1970337602,-1290992380,-1948753498,996005353,-474150094,-979490189,1645547071,-860875378,-685280628,-1120903829,161494658,-1973928873,1022929978,439867955,-1114271589,-479394725,-2109291164,-203889801,-1095985822,-1478002740,-647765807,1545192135,1136978334,-454293709,695826269,25152414,1002674557,-168280120,-737364103,-389197070,-2009806313,999884210,130401290,1705065722,-982917448,348496826,1850820294,2026309599,-1847025156,394013245,-28241230,-954258176,373671455,-1643514464,-1219852559,1025205073,-645330770,-1254527934,-2088532595,1255874513,1162931090,756754462,1019568190,-687916192,-1312699420,988332157,-1092411386,-612851670,-430340591,1179523845,557933229,1927794125,-1438193802,1897697261,1226780185,-42967168,1660274754,-550896870,944699211,731471079,-477175336,-1073303871,21044924,1859171168,834173397,-678537202,-1634826045,1935480270,-1122752433,2034739811,1709984288,-1847841469,-1610042734,1646494862,1751749879,-1347898920,981548536,368666495,234225454,1246365337,-1612714057,-2075518161,-185658954,1081901032,613674711,768205138,985867276,1131636584,132107644,-1073500867,447892638,1752964348,-280875170,-1269366917,1368185132,1803703126,-900569883,924463032,-632887239,118785168,-1003646304,-706420586,2065893552,1976887980,-904014901,1044367903,1807475586,764730688,-926985124,-2132426554,395657072,389779472,689365758,456872866,-420180562,-530761601,723235571,-1407398343,24429046,-1186634050,212188525,1777943131,-1436171184,989107392,124019204,-509466106,533138063,1615509688,1218281326,-951631023,-1025901175,-853949613,1544006976,-2121788172,716899570,-1953924096,-1555998713,677444421,-1994934618,1835385152,1971922408,-786980175,250223772,-587085024,-978519708,-712724704,-1222996125,-1079170509,2038967960,-1007823406,574213373,159873277,591086150,1831496197,-803752004,-926379462,-1757555541,1232241241,-695093013,-1373717264,-1989591070,-1384356513,1919752557,17109435,-801591134,-1712948921,-407355827,-1660854228,-1850091263,1456650275,47678111,973629701,-1512097656,2114285888,-1119934884,186229985,1353032676,612055996,-888866665,-933018423,-524050401,989433093,-1413918770,-341697293,1575632504,1139546381,1787122020,-2013160824,1113569548,1653752423,-1661836222,1105776932,1930942437,-928178314,1938325883,1242333017,1025975752,1498558361,-10588385,-608828114,-934460106,-897820202,1972887828,-806552071,-1677184730,1939675096,-1353410599,354614209,-1267681474,1392216258,1469768822,899063627,-1411699675,-1179268657,903651279,-1566643773,-1273359612,1943286303,1391815225,2100110287,-135128044,-1982956631,-4605543,-213244880,-935482343,-295977627,1941764021,1946292260,619917586,472180752,-63830209,1690312309,-983530252,-1755680276,1011491855,-1106017313,1160147508,668281635,-1608956149,142089995,1540374088,66838091,-2086021926,1343790549,479944969,-608905034,-196856880,708751147,1356227613,-1270730089,-1584646363,130654555,193950657,-1000543248,1926060504,-317241844,-764110622,-1178460569,1631163774,-2088353398,-289785688,-1482016896,2017075816,-615985802,-362499031,-1417178313,-2135378574,-902324002,-1414578132,647753239,-449533684,-921988406,388121206,-277373077,881048484,-1678230919,841952586,-2000140518,-896258548,131498808,-1452475858,1456101880,886044750,139674720,-1424601352,611287638,144457001,-190728927,1958428222,-1876785799,459261983,1047697159,-543013372,-1047548855,1304016310,969953184,54403138,1956398046,-1467114760,245497116,2117967208,-18691287,2107683178,1907267293,-556750984,-1887178025,1287013584,1607103146,1647035180,-370892872,-1014970472,-1119285513,-1517673029,-846540345,880187531,768256026,1264976433,331791873,-144626558,866422070,419385033,-679515345,873826978,-2107572145,1519783721,1536381779,-170651508,-691517608,2092078029,-946913745,631739183,-2102899171,-970831590,817625878,2091714859,1114508156,-447671714,1249049002,2077280092,23279071,-1971647904,-378002608,-607888721,199719612,-1607469329,1280743276,-203853769,-71353295,-14020848,-1100675410,-1374806892,-2024773470,1660522177,-75209252,160902788,149785975,-1917083776,416501417,438250022,1773280454,-1165317188,-1872126969,683889546,-877847014,1905856675,1561225767,-1657487305,-1945841675,504105991,1710384609,1205423339,1462004194,-26874655,-1665819278,-1680718002,346361285,-2084484718,-53965541,1402875851,-897307946,1980392688,701293332,1295321835,-225558506,1615102969,1519587313,1693389542,-1913312697,1575364998,1581020906,-1349165761,-63423142,-353652348,-559987893,-1059986671,1970045426,116188729,-1211865939,-60382656,-516481433,-1714549616,97222946,155460202,-1246157773,1211766232,-942642464,824567421,-528211701,417743244,-27348059,1060393748,-1134425378,1337980956,2124298258,-441367366,-624452173,1457166630,1068386259,1485725119,-1242062274,-1085285921,-510015597,664715854,-1003020013,-1324526616,1722315847,833809407); +/*FRC*/Random.twister.import_mti(370); void (makeScript(14)); +/*FRC*/count=117; tryItOut("o1 = {};"); +/*FRC*/Random.twister.import_mti(380); void (makeScript(14)); +/*FRC*/count=118; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return Math.max(Math.max(Math.pow(( + Math.max(x, Math.fround(y))), Math.fround(( + ( - (( ~ x) | 0))))), (Math.pow((Math.acosh(y) >>> 0), (((Math.log10(x) , Math.atan2(Math.fround(Math.sin(Math.fround(y))), ( + Math.pow(( + ( + Math.PI)), ( + y))))) | 0) >>> 0)) >>> 0)), Math.round((Math.max(((y + -0x100000000) >>> 0), Math.sinh((mathy0((-0x080000001 | 0), (x | 0)) | 0))) >>> 0))); }); testMathyFunction(mathy5, [-0x080000000, 0x0ffffffff, 0x07fffffff, -Number.MAX_VALUE, 0x080000000, -0x080000001, -0x100000000, -1/0, Number.MIN_VALUE, 0, 0x100000000, -Number.MIN_VALUE, 0x080000001, Math.PI, 0/0, -0, -0x0ffffffff, -0x07fffffff, 0x100000001, 0x100000001, 1, 42, Number.MAX_VALUE, 1/0]); "); +/*FRC*/Random.twister.import_mta(-179152117,1754403180,-1397764800,1553253729,-1544227003,1736822698,1499217267,-2096103735,-577233898,-891815410,-367335280,1732860651,-1889182392,-90724963,-1771891335,1264014300,-1810131161,345188238,-1068250488,804519532,127521901,1501683471,524588331,1898405395,1460752792,-2056709138,-770502890,-1730741451,866479530,-420334252,910278344,-218571588,715100320,810440731,-918512323,-1676960311,1205861673,-1027612169,-2114638365,-373148615,494981557,807911645,-1286000378,-704839413,360625167,1091641150,1943272145,-468252898,1574278479,1806054620,-15945893,-1070555259,-887502539,-559380215,844661022,-896048915,-292752698,-69536198,183851952,534791111,-1656699566,1122661442,402403114,-610413449,-283683903,-1676888907,771332135,-14019728,1355182236,-1788000263,-75277078,-1813554069,164472284,2049598895,-118907171,-202030248,848489348,-1366191428,348137561,351823496,154039040,-1999212981,1964874674,1482261418,1266836663,1205301776,-1486361796,-2009983143,167190992,-1726962675,886317629,260214377,-2079047923,-567501864,-79135992,1713218475,1927932690,2020819762,1101225010,253723812,140309116,-885925164,-1980150084,-1702568966,1643120925,1912697982,591742270,1818709849,-983853838,-1473255294,1030991798,-93363451,-25192048,-1802142812,-1372349534,-949570112,207971642,96097007,-17865817,694587650,-1640093153,-237020749,-1919469298,180931890,-298916284,762032109,-986034716,1498170153,-1249031966,1336559989,-678371402,501424968,-1449416182,364862378,-422711754,-2090752487,-352017582,799941663,-1332884818,-1084509098,-681321013,376374238,-1523711162,-155797310,-2035736449,1955014870,-1293839275,701572251,479061439,-1719253708,-1569049748,877360551,1439917007,772140806,1496683251,-122358917,1046119863,392713986,-1841089513,604657355,615819643,-1156904561,1630326728,-1165240522,149044284,-1353950033,-672107208,-331796556,559666924,291706184,1143912401,1605722359,1425716861,-733841692,1009328414,-1444112372,-20663233,-2036959614,772980680,1969883461,1786628569,674839204,-1620881879,977623687,912334859,-1611170063,1638438585,-730617659,403315029,-1701172031,-1639196506,134191292,48858692,-121157236,-1421714857,-1292099688,1111293304,736152153,-1575291811,1965310881,504132610,-311053360,1214726360,1432216919,392978281,-1809592058,-996366646,394293431,956577091,1428160739,-226469787,-1126306031,-883522435,1147283446,381661145,-1365166902,-1949807374,1650640138,1533853626,-2027471805,-1644480893,-1409608114,280387885,1633423907,-1174863082,-1273048698,244998822,-1763848821,-1162329412,-1549060208,-1640417594,1685190194,1262570493,62950226,1539738832,570237729,-394293305,-57181025,2032921332,-1541750536,-1569243025,1377813912,1411826655,-106445006,-21539751,981235669,-1503920155,-1478327724,1285729460,-20815358,-861898304,1772715608,-200015921,-41422181,1576611919,-1084132602,-684374600,-817211017,-1302834206,502778128,-1315253202,-494423750,1245997431,1047623630,1161643279,1683900429,-617344727,-1939441717,1612945812,-1035406527,2025946031,44756195,475103682,-534251087,-487720823,-503830820,-46042152,606147091,-1169746082,-1423444287,1441386173,616329655,-671681813,-818593422,-130740092,-1275314703,1387881864,-1451308244,1967875053,-723525560,-1285834527,-623478166,539833880,1987350523,1258411955,323760852,-1216639319,-1854853983,-294201293,858247306,-970179435,1056885517,-970411367,609781028,-1966196590,1421002810,1597176112,45333256,-1671618764,2021667427,1797506429,-1566291881,-1957553226,677461247,-930580574,357929615,1179306596,-1725942833,447769665,-647072403,-576804134,-879137269,-1326016973,1120712526,1547566213,-83342011,-142882113,-136797430,-1523446668,-1992473402,-807839357,1681176349,-1163302750,-293763005,1760334858,-1276545966,-1830061450,-1930375631,-1122341557,-788562944,-163379434,-990786510,98779822,-893697796,2038318499,-551974578,-512571485,66397886,-532481904,571129043,583210732,-1974816935,-133785,948681751,-351522941,-494791014,186570372,405167558,-35840223,806457864,1034093563,859202122,1773472224,-1518070972,-25528256,1122772576,658032070,1399806358,75538330,-634602522,-399954964,1512915664,1557526820,-1596192373,-1789138929,-508233980,1894720996,1712211249,563597888,-1190470295,1089531962,-506777942,-839492663,978995443,1984400260,973252091,712205546,1145094633,461918882,1165639795,1514612564,-1259556017,-1310732725,1649529387,1251911908,1283511419,1967503315,554736442,629051517,-368805794,-1706660233,1172810482,659448639,761100544,-1666306787,1198488489,1588034430,-373410141,-1529078679,1521555985,-106715713,-1104747467,-973441165,-2125840535,1677831430,-1080805267,-1587338549,1134843309,-517213009,2068616284,97595231,1164391482,1378538653,2017326442,966349520,-1408729003,-768216863,-177943577,-809111126,63600686,-1838135409,-1855115687,-156178404,1316914052,-1635490835,-466580967,2026381255,1786054559,-1123482244,978483784,-752408659,996524930,-729600734,1205840824,-754890789,-666560978,1323931406,1192711921,926162801,848827605,406503119,-1888313328,-584802825,-881599158,-431945932,-1149541767,-722064444,-840159994,409790214,1726295366,-268803687,-1760692844,1637972376,-1922801752,-1455367031,-1284592352,-1769958274,-957183734,428795043,-90850123,-1545200928,1782839738,1668014448,-1572873112,-1029139118,256503080,-361488619,-1480239812,1942913663,-264610305,-401811993,265220452,573037901,1953312759,-1256733080,591503745,-917463616,933965682,-849964488,-1282732148,1487777045,1507156703,1707169836,-512085818,-1742685513,661874458,-44679691,-558321948,2088416342,-1114736013,-816862707,1009037629,-2019359564,-760984947,355791749,-1900717950,-890792691,-1840908007,-277752907,674966231,201768424,-288340855,256347190,-1034778025,-1831969427,748234102,1101592563,32292265,-2133016773,-1206581536,-2110310224,-4141371,698759826,-601903867,1981863320,1421473787,-117659198,1584442180,1576005504,-1636479214,-2096713362,-1409729236,1712996629,973833701,1062983846,98841860,2109585235,530568405,1448007135,-828266776,-1585547433,-1365033964,-1246651829,-1566710621,-424332217,1166208790,-1905689817,-1640587637,602741172,-1925929763,101130252,-1052538143,-36339067,572185908,-86559207,-1846869481,-1804070632,518334303,810884824,-1619007569,263827661,-547155514,612082838,1306635603,1526626541,384560996,1780181674,-573492249,1657506461,1270451223,-2024643749,-1440451682,-554095225,102642161,-214793852,-989794821,1494191787,908420966,903387891,-960834196,-777958092,1598888100,-789209111,-1796410504,1993689349,-758963116,-1093432248,1136598358,1178843784,-1611523942,1558467091,-2066990919,-661461597,-1512945841,761006262,-317480842,-1765032530,-1429410947,1586451429,-553526302,-993983641,-1229726337,539931877,-643463746,712861175,-2018493619,-426707741,1589769557,-2045455708,-222738496,142797486,-2110982782,1366288744,-1397950500,-250650647,24347581,-2083185597,-1283230654,-417082776,181202461,987200479,-1597890024,-850325157,-689689975); +/*FRC*/Random.twister.import_mti(77); void (makeScript(14)); +/*FRC*/count=119; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( + (Math.fround(Math.hypot(Math.fround(( - Math.pow(x, ( + Math.fround(Math.ceil(Math.fround(x))))))), Math.fround(( + Math.tan((( + mathy0(Math.log(( + 1)), Math.fround(y))) >>> y)))))) , ( + (( ! ((mathy0(( + ( + y)), ( + ( ~ Math.fround((y - 1/0))))) | 0) >>> 0)) | 0)))); }); testMathyFunction(mathy1, [0x100000001, 0x080000001, -Number.MIN_VALUE, 0x080000000, Number.MAX_VALUE, 0x100000000, -0x0ffffffff, 42, -0x07fffffff, -0x080000001, 0, 1/0, 0/0, -0x080000000, Number.MIN_VALUE, -1/0, Math.PI, -0x100000000, 0x100000001, -Number.MAX_VALUE, -0, 0x0ffffffff, 1, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(303); void (makeScript(14)); +/*FRC*/count=120; tryItOut("Array.prototype.splice.call(g0.o0.a0, NaN, 18, a1);"); +/*FRC*/Random.twister.import_mti(482); void (makeScript(14)); +/*FRC*/count=121; tryItOut("this.a0 = new Array(-8);"); +/*FRC*/Random.twister.import_mti(498); void (makeScript(14)); +/*FRC*/count=122; tryItOut("\"use strict\"; /*tLoop*/for (let c of /*MARR*/[NaN, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), NaN, new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), NaN, new Number(1), new Number(1), objectEmulatingUndefined()]) { let (x = (let (y = /x/ ) c), e, atdcrh, d, z, wmibjs) { t1[2] = p1; } }"); +/*FRC*/Random.twister.import_mta(1431933836,858355421,491170353,313828618,908414247,-1830236839,-1244514629,-228449514,570721966,732565302,51522313,-1553026355,-1091405824,731553756,-611496485,1459555391,-888951634,1143490626,-395458725,1000831010,-160691467,2004946661,-623408246,777619347,1205057997,992170774,-1386334161,1615586309,-1619944705,-1995100283,-870799943,-1702217222,-2098862852,802732494,1180717154,207070807,-165035104,1198933443,165224666,-1358903358,-345090258,-1532649985,-911980014,9489781,468536349,1952604309,1976838199,618872227,-308933568,-395874180,-1106794004,-877638860,-993730418,1092025920,858890425,-1436359532,-1231116713,-1556370708,763622213,-631879315,-1399253209,328396947,-769427550,24737958,1073946385,-1370159788,-1292806640,-1054612281,550551043,-348046837,369727456,1567110733,1585987261,110781777,330913814,975344818,-1250486986,297808289,87416428,-287103339,984011462,155209638,-602498006,1422219107,740640876,831793363,-1451453308,-236169600,-1228848296,171064321,-1453139815,1448361313,-593673632,621383825,-1278016555,1555410341,-582774433,-1192160082,553428296,-109558581,-81771634,948310792,-255060082,650059356,86248194,-1778276821,2107596286,932788732,-626873149,-1805761834,914028612,-1873928323,1651611397,1528787001,-1922883991,1232420523,1502024703,884038753,2016046583,-675327453,-536108625,-971562052,-42901383,-1256174702,813541868,188423264,699481166,1827041769,-1436261474,-751516135,276904672,1226979973,-726998329,-1335867787,1933663999,328732860,-187422923,656227825,1514794799,-1895503511,1420318010,1155126396,-1241843063,2065848247,-723474305,902422718,1870513713,1912305223,1229049228,-548117871,1562088583,-1878255476,-1707715746,-1282057814,1678852995,1005613185,699332277,1795038413,1525062061,522909050,-1704455353,1086552380,-2110125004,1271443155,1372426062,1334025738,1006451337,173249435,509240768,-788233827,1795371843,-776052356,1637398373,-649661484,-1093517416,949208903,1163201200,-1539580320,1723685254,-180757864,574224948,-1553887944,43043056,1402564078,-910289149,959013994,668833733,-1546062480,1183220459,-235511781,4247816,1194817962,-1550730148,-1873948697,-575522955,-1181967585,690655932,-1520844217,243872121,-1714583633,-1669975403,985461641,1822923158,1451203596,-1130220036,1113646976,191696186,-1342713975,875072483,1188587534,-1717063166,2058821701,-1870113733,-1697280611,-1787007001,344706833,-576875175,-591855564,-1679250109,1411397597,-427884699,913330721,-1553311789,640416340,-87209253,-1977868280,1149402259,134591186,1660742933,1381642578,1619811859,-1970448378,-1828157200,-1741590317,2073297497,-1892421230,-857144922,2139610739,-1318858063,1992386792,1117093136,1754701035,1781329830,760264285,-2145467529,1648920694,1750481160,-1875026769,1222655972,-1131956374,1519204543,-455936267,-588768636,1521094871,2147179910,-185911261,2008593377,-1791718328,-730735246,-1708618005,1587241299,-1169501178,326049200,1304416760,-330182374,-1119119215,1882934520,-1686135836,478762112,751585050,-1731392549,365268220,-579261294,-1649777492,1411329741,-1825131092,595544490,-1557913021,120258699,926463759,-901745084,-2117965549,-839367635,-897307115,1674380491,1155481985,-823579397,1328813582,972882103,310778637,1813136787,269845533,208138870,242814230,-930742867,-1570387576,988880004,-130397402,83615240,-459894744,-1058164728,-1448758907,1745802784,-1341126273,2073646524,715956980,-272958703,881352028,-334961080,1888472651,-593509481,1770800567,-55835021,-1925664939,575549208,-1780210070,-1616210631,2100452966,-471091448,-1303242995,-640837813,1923151891,1037301250,1784012738,477987539,-1035341624,-2104224434,-1447475788,2081993067,237505424,-844237555,410042195,2016924373,166270971,778929109,-1814621704,1261344017,-234914242,-130965123,424678542,963089952,-812466370,1814601429,-1137671695,457021638,-1852064007,-1773813380,-802497049,236637450,-334435569,688762081,-695475328,-831098188,-2059429040,497515172,-269809444,-551032582,-1217985105,288027521,1400099813,-1443137712,1201396239,22681886,-1947657451,1181429441,1238732236,-1498200670,1458051831,1775208847,-1041338497,372569823,-91597587,-1129360220,-1126661399,18943429,825646974,1968959702,1305509287,360826599,-95540413,-2089758977,-1679630664,-2759641,311243639,-285737233,1340025816,-1543363247,-1750320618,-76092966,-1357275234,-927578197,-1876240204,-1482438720,515010299,-1256502919,-1108341002,-1047737344,-525022302,-457417389,-1246547839,-1145755987,880656088,775781319,-771052319,1585763179,1240392761,1492021526,-379632417,1462874351,-1488344336,-1786597589,843816037,-528168191,1440563526,622483865,-1891654831,153942546,-1445094528,982594436,946969388,-1291954694,1840246244,-2054004310,904281044,710226610,-23365162,2054640259,-74134976,2069483422,-57210226,-2017346561,-939900430,627025474,-1658352621,1156004442,-784059169,-353740002,-2027736900,664673633,538146610,-949523364,-1086457482,2003049165,1830127211,-1331983581,-56858940,-291296134,1693204482,-1238046572,914339947,563259996,223851775,-274346323,933429001,-860835023,143128823,883697617,750398864,-1174417755,1039993059,-742946279,189054613,-1987977658,21094205,640714979,-98330482,364391533,-1755660386,-858459538,1004528342,1483819648,-1314180145,1935107650,151155617,-677795269,-455966543,-278585868,-1167931041,1170696405,837206184,491612261,-136313857,1473584903,1832079573,1570565207,-254176366,-1040377518,2016421967,-477146176,-432964635,-128069560,-558793460,-1913224974,-1524391556,-926537623,-1154811227,1133514856,-420458000,-1844838118,601246027,1521519853,1473162391,1668030517,-252870473,-1535209982,-78611758,-418186404,619720513,1289178279,-872736039,1692712078,611238608,-50416523,512144018,427328693,-2145268847,-1955007226,-176903471,1277101933,1300000302,-393094485,-1672027932,358789077,1105294920,1265500164,948275945,-1951480438,-300267576,-1499523572,697142935,-437479447,-1851996695,-1365126951,-266922174,913983454,1272876350,-431450882,1857034663,1323079363,890998023,-630640289,-509717790,1570923748,1979236293,536029677,2111289924,1682040983,-2009392239,-315483486,2127586820,-738416019,-73403570,-1824219566,653737629,2017752160,908376551,-665704224,-712541599,-1899496357,-1495025044,643342104,2085638558,741308302,-10937928,-91584116,-851700696,-1364181598,-787815503,1934019050,-158785625,-383600578,-313934118,1268520670,-1344503362,732044229,-74073472,-150841156,-1427549881,-170489546,-1499016146,-359065854,-1395325553,-1516408480,1027996839,-1643735163,1313027493,850156878,-1965381100,1214436930,-165642040,277329814,-1289032497,-2110513484,-266518023,1617021644,581588824,226535966,-528748558,-720717540,1204250056,2122964105,-935401624,501521825,-1183976718,-687812386,-4125623,203841846,-2139445331,-490832552,-1147891344,328944054,-2042623397,1502171190,1166883450,1310542615,1670698788,-153606721,-1155027297,1279532901,599837424,248741879,1253798155,1334487917,-1423964730); +/*FRC*/Random.twister.import_mti(55); void (makeScript(14)); +/*FRC*/count=123; tryItOut("\"use strict\"; Array.prototype.sort.apply(a0, [(function() { try { this.o0.v2 = Object.prototype.isPrototypeOf.call(f2, g0.o2); } catch(e0) { } g0.g0.__proto__ = t2; return e0; }), i1, this.o1]);"); +/*FRC*/Random.twister.import_mti(108); void (makeScript(14)); +/*FRC*/count=124; tryItOut("s0 += g2.s2;"); +/*FRC*/Random.twister.import_mti(123); void (makeScript(14)); +/*FRC*/count=125; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"\\\\3:|(?!\\\\B|(?:\\ud641{3,4}|\\\\S))?+\", \"g\"); var s = \"\"; print(uneval(r.exec(s))); "); +/*FRC*/Random.twister.import_mti(543); void (makeScript(14)); +/*FRC*/count=126; tryItOut("\"use strict\"; o0.t2[15];"); +/*FRC*/Random.twister.import_mti(557); void (makeScript(14)); +/*FRC*/count=127; tryItOut("ofmjoe((void version(170)), /*RXUE*//$./gm.exec(\"\\u0081\\n\"));/*hhh*/function ofmjoe(\u3056 = window >> x, window, c, b, \u3056, {}, w, x, x, w, e, window = \"\\uEC05\", w = \"\" , z, e, NaN, x, z, d, x, x, window, NaN, x, x, \u3056 = 24, x, x = ({a2:z2}), eval, w = [,,], w, c, x, c = this, x, x, c, d){a2.sort((function mcc_() { var gejhro = 0; return function() { ++gejhro; if (/*ICCD*/gejhro % 3 == 2) { dumpln('hit!'); try { e1 = new Set(b0); } catch(e0) { } a0.valueOf = (function() { for (var j=0;j<11;++j) { f1(j%2==0); } }); } else { dumpln('miss!'); try { i0.send(this.m2); } catch(e0) { } try { t2[4]; } catch(e1) { } try { print(x); } catch(e2) { } for (var p in b1) { try { Array.prototype.shift.apply(a2, [m0]); } catch(e0) { } v2 = Object.prototype.isPrototypeOf.call(o1, m1); } } };})());}"); +/*FRC*/Random.twister.import_mta(1613283347,1930934420,-1125555708,967782625,-1543411541,-304295867,-1422148246,260476988,1547428770,-1066412979,1642114406,138972399,-226171618,558676249,-1069765979,-989520554,935945575,-2010903829,-756277440,-1424863305,1259711533,402323009,-162142150,136264131,1883128943,171298146,-590644983,-1125822702,588865227,-2056015744,-1227761987,975912416,-1417980311,-1527671858,1490625030,508250002,1737760301,1074506295,-960211138,-1621266295,1283018396,1129068648,-111959721,1402567309,470055395,-729367031,-429086619,-2041541373,-2001740038,-1314850676,20211096,-732522285,1458882379,-1593652513,409388725,769797465,1715415679,58325580,-1130074978,-68674403,-58989306,-1863420556,2101458096,1790883150,476986431,-788957874,-120021631,-279943363,1451996500,1589438365,551949415,2056805871,-1583718239,1370351243,-1397065322,1777134809,-655696978,-721206003,1252762404,-1305054057,-1094521204,1808541376,-1030956090,190827603,1981982537,1131107653,365263765,117198331,751320397,1279575489,-1978497504,-842927376,767361906,2025644413,702749441,979368066,-111465685,-1732740403,513697823,1040200111,-1162651532,-1435759907,1888077413,1478658412,-976826531,497258186,-350151607,271018172,-1317053511,-1137735810,-1243639776,-1528350726,2138837530,-77757595,-639832742,1228246357,-1646875523,-1134230895,855036511,1651873038,-1770046705,-1414592626,401361895,-1330704803,-1714721068,28979698,-291832221,1583100363,-937993926,-1007789830,1401154133,365090736,-390783630,88377417,-1739534921,230912924,982595941,-2108292970,-715896491,-1944273309,1289548697,-852927656,-780003837,1762776511,-1149590851,-216778973,-737299399,995348267,-881509421,-1815834101,-2143479849,-1607912691,656067281,956087155,2138012625,513496535,-1971290076,-868251543,967951194,1282314652,-1243166977,-1881474495,1510956506,247355583,1536269979,-1462150635,1668833450,-173556884,2092360761,1111037148,-103427313,-1702747513,-634755507,-1236555790,671673766,1765184390,-1111396722,1492956934,-1056352308,-1507940954,-1151756325,-1264652978,-1888853287,1464773724,-264128582,796592733,749307423,1682794031,-273631881,1921791434,-1455352127,1504315500,655284196,-413786893,1994658207,-694069270,2075725829,-1104289105,-1220271024,-625802357,606938857,-480676393,1828236238,1624819319,-1458662232,408034108,933144041,337389040,-592627634,16103479,1680443216,1945298842,1878452065,-1070739814,1426939148,-296801723,735165024,-1696486039,-1869841387,1559227090,2031564624,-990280621,1893021658,-1430427067,263545103,-1262279173,-1356669777,-933362106,1513791549,363331026,1021943010,-310039341,952948979,1341721753,136276213,978281329,648317867,-530975519,1932015771,-741450858,-1945155661,-181740170,1252390567,-1362185213,-117420336,-423164988,973361471,795194335,163130868,35374266,-1551961498,508184877,-26708522,-482945078,530080732,-1043482652,-1880492380,-588695548,-298333622,1564366367,-1177224755,292465886,949268334,1371338400,-2019109216,-1093013182,-1830634117,37610716,1428823013,1815975013,427539699,850980778,-1705800609,359370716,-1882466347,-653231569,960125298,-609659646,1455584139,1943338089,2028686985,-409840516,-777483636,-1898899259,-1205933485,47729212,-1670244454,2039338370,10864685,-767547738,-71514209,442352900,-674892859,1167250312,-1100839943,200489750,1654768142,1654389603,1221793275,-1041450843,-1669886314,-658697594,-387163975,-1524207248,-1068166025,-461476237,-395158983,-2000249432,-1971097286,1976273618,-426680745,-780397393,-1660964304,1155689497,202268366,-99236082,853404402,-1142465116,232802729,-665618424,-1729876565,923459584,259331939,1852660381,-1180925271,1607754424,1792840565,1572319262,-1384640747,-816346052,-1928174054,1624610536,-2141211160,1696558460,432857152,1306567150,-2066728863,1355804737,-397460035,1674565898,-594223878,918557423,-836403854,-800563170,765488434,2043949793,-1821881566,-781034102,78627542,-631100088,-1679097955,-17803378,1126562906,-1605811407,1772729765,-1484477113,22375154,-2111954102,-1519153507,-62347558,-8268399,-1728200392,-1858122039,-1062461734,-1497577872,-972166268,2120221639,-516716671,1960238136,59825587,-849588458,-450033425,879806088,227901956,600367252,-237452360,740563975,334840955,67540595,-5628559,1963840559,-1718798051,-824869709,619958156,-1412424315,-1296539347,129535127,-933383662,-665438834,-1487089968,1185625317,138444155,2122898871,-520260407,-1419789289,477135417,845377805,310594937,1498614296,519587268,-327845730,-1507925862,-650414807,1267447780,-452758075,-310481081,196720406,1237974899,-1489356746,1554220435,-1755065679,1493918437,1167436542,-1490281972,-86374568,-1423521666,1717762058,-200700157,1167246842,1047657753,-1853756927,1949114698,-1940764160,1855162716,-2124390844,1400323534,-411474261,1501675814,-585961328,-1240414482,52815502,-73316471,-1882624534,1441609924,-1514762432,-1445456447,1130635369,-1360119489,1677417475,1279611215,-1615646175,-1212686155,1103976879,-1433088210,-458252789,-404887000,781830867,1645036314,114223289,1612473076,891158757,-1586547066,1981475488,275920360,353716962,-647757046,66775834,-1189164177,712185981,-2011189984,-1823218932,215975894,-471385040,-1397457147,-582469466,-1594057102,-664599463,-362463612,-1463473123,1721586663,789814587,-2136211983,2068744907,-2000669443,-1006353576,2114691854,-970846006,1486223059,112798073,1774612795,1104045802,-310748032,1851567953,942616656,-460983859,-1899411741,-1204882713,-2012000211,-75587085,1153058634,1055148070,-1050831143,-330817028,1871255952,-962582191,887231441,1598405789,1350483070,-94667824,771980022,-1484494520,662009616,2020477611,1795497587,-1509857173,625675813,-1197188330,-947365883,1533503951,-1545939765,-1662617171,526975158,1302008693,164029727,-527073131,1159312046,837993233,79426806,1021571603,2055581263,196715514,1843094732,721649714,1192673804,-405696824,1292138302,-1226728639,-818412144,359884050,1125294994,1960878939,235752644,-1669995054,-1286637098,-1389765833,-1180222651,-1684326690,1492624873,1392075507,683907648,875382120,1658809532,1507928115,-1540567333,-2062778234,-1496838851,1162233119,-293789446,1214436098,-1081871734,329425722,-264319616,-1784197847,1459530053,-542286798,-2125391003,1016889811,1400449256,866405342,-747373980,1530348979,266034055,1917594930,-107643737,911342165,-1089002644,-1841162227,-1523075057,-1802752541,-1162600083,-1494433933,1215194717,1849324094,1605498399,-323452726,2133782152,371078452,-519980282,-1381810791,912881627,1865117993,996609301,1613685707,-1755409937,2083981639,-1138384838,-114953264,-1682915664,-1544715940,-646146814,1077008482,-408499926,655096743,240182945,-261706707,1914079543,866986570,-1478945896,-2033272309,-1841522669,696971696,-198041957,-311543103,1201960040,-182619520,1108715240,1721761400,72542851,-1001950811,-2028414872,-1092912514,-954944098,-1870726128,-1178691133,-107488896,2050135950,1674029376,-1182692472,429922307,-521547117,1554545811,361912702,165707994,-612392485); +/*FRC*/Random.twister.import_mti(538); void (makeScript(14)); +/*FRC*/count=128; tryItOut("mathy4 = (function(x, y) { return (Math.max(Math.sqrt(x), ( ~ (( + ((y ** x) | 0)) | 0))) ? ((Math.tanh((mathy2(-0x080000001, ( + ((y | 0) === ((Math.log2((( ! Number.MAX_VALUE) >>> 0)) >>> 0) | 0)))) | 0)) | 0) > ( + ( - ( + -Number.MIN_VALUE)))) : Math.sinh(Math.fround((mathy0(((( ! x) >>> 0) >>> 0), ( + ( ~ x))) >>> 0)))); }); testMathyFunction(mathy4, /*MARR*/[new Boolean(false), objectEmulatingUndefined(), new Boolean(false), undefined, undefined, undefined, new Boolean(false), undefined, (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), (0x50505050 >> 1), new Boolean(false), objectEmulatingUndefined(), new Boolean(false), (0x50505050 >> 1), objectEmulatingUndefined(), (0x50505050 >> 1), undefined, objectEmulatingUndefined(), undefined, new Boolean(false), (0x50505050 >> 1), new Boolean(false), (0x50505050 >> 1), (0x50505050 >> 1), new Boolean(false), objectEmulatingUndefined(), objectEmulatingUndefined(), new Boolean(false), undefined, (0x50505050 >> 1), (0x50505050 >> 1), objectEmulatingUndefined(), (0x50505050 >> 1), undefined, objectEmulatingUndefined(), objectEmulatingUndefined(), new Boolean(false), objectEmulatingUndefined(), undefined, objectEmulatingUndefined(), undefined, (0x50505050 >> 1), objectEmulatingUndefined(), new Boolean(false), undefined, new Boolean(false), (0x50505050 >> 1), new Boolean(false), objectEmulatingUndefined(), new Boolean(false), objectEmulatingUndefined(), undefined, (0x50505050 >> 1), (0x50505050 >> 1), objectEmulatingUndefined(), (0x50505050 >> 1), objectEmulatingUndefined(), objectEmulatingUndefined(), undefined, objectEmulatingUndefined(), new Boolean(false), (0x50505050 >> 1), objectEmulatingUndefined(), undefined, undefined, objectEmulatingUndefined(), (0x50505050 >> 1), new Boolean(false), (0x50505050 >> 1), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mta(721981747,1193786138,-618173077,1736277012,1241004135,-1935234148,206110714,-887192556,1413559742,2068439461,-723187237,-1636283719,-1794283072,779433788,998894670,-2022070126,976662438,-1817442056,1739022202,-1696555325,1727808764,2126000615,-478752473,815167721,1899481083,994002523,820063957,1239695870,1372513678,622411050,76832726,1369959291,-462942455,1867085709,-192617408,621531683,-320840448,-2032884513,2138971482,626558759,-1891097333,-967164809,-1132372778,146390543,83627886,-1410089662,1890859376,-1594330762,-1089628562,1845753887,-785465428,-188990525,-376064188,-534391968,781619445,-603074752,298764494,189234349,1033420187,2110200217,-244715051,1423163941,-1119815801,74206668,614677873,109298223,1108671556,-1240604148,380263779,1360576181,1310826668,553692306,-1757212547,961454576,1834302274,1463543580,2068391588,-1588489526,-31970918,-1723635828,762570163,671040666,-1251924019,-472414831,1439123197,-38362556,-1571182990,1810456500,836998364,-1121472009,-286021291,-1382014902,-504592597,-1289915015,-596481384,1240270006,-1159883735,283618689,-1293239335,1109135527,-1673524785,454502461,34750016,477085241,1772400757,-722062256,588687917,666269032,2069679514,-498363642,-1778662408,618225858,125609382,-267907328,-486836541,-629607020,-822291320,551967077,1948481577,-1547309495,1366062897,-300062913,-69559874,1197216912,755399733,-2058989604,-1322227146,-1009114539,754146115,1177083572,-975606200,556395435,-1732749463,-507480737,1223488778,406178239,-1302038115,1586188098,1721881771,1694367693,2120419397,-1557079763,-985415616,-1332173591,-2107783182,-1427160336,1619892625,968797616,1982002407,-1672446421,660670883,-2098788683,989143020,-1256346099,1719392180,-1863905989,-1444291154,-2089435745,-1486466133,-1083747725,-1919097577,1587799347,1294231268,-269010399,-2101393838,66067815,-1018781423,-788383594,-1643403006,933249365,1904089491,1620160026,-510528876,-219625056,2096443294,1893385593,869248412,-868472020,740408411,-759542266,-1152463455,1931394090,1573790197,1460382452,-170772252,-277704677,1014010407,-756554973,-983319841,1955448943,-144328058,-1335170386,1944005540,-1572118414,-856268065,-1008745606,-2008111319,-1413169659,-2042120147,-122484255,259856812,-256708628,995642359,1024310244,-1206185211,1873402090,1303013008,-615780697,-1687696852,1418411472,1034656078,1790227146,-1492238555,-732048136,1765511267,-980016864,768016296,685332309,340091623,1598829288,49674622,1640661998,1824511854,-2105901877,-1761903780,-948347310,-1085234440,-551718414,1307854323,-984374502,-927507806,-1936268095,844274959,-1857029281,1328645491,-568606540,-764564726,880387401,-1214290062,1241676486,1423989127,-942430270,152453708,1186367694,-523269862,-1548892358,341506035,1646318086,2142622650,-221665260,-423891808,1308884240,1252273598,2133663547,1761778188,372907740,1265475880,1938799347,-1506774869,1636483888,670966242,-389106697,232106355,-281856432,-642229122,-1358433480,1682339145,1020631078,1766606490,691286640,300272090,-1864533602,-515474772,-296132027,1433992382,-477054249,1138184862,591869622,1415509288,1290313951,-739444386,1178785203,40760317,-725021384,1244354995,866235990,16905048,1748215068,2113130870,1503011991,1229107022,-1773570996,1682615275,-1003680409,-202080377,670743652,-111283237,-213869938,-1728167905,-646392010,1427122355,-2144622655,94953380,-2106909632,1248204076,321500249,-585094824,1748131118,1562018291,522270777,308363033,465084389,114238615,-1537308395,1457765427,1754096037,-1596711131,822820190,-2121687986,882254113,-392690311,1119900150,-405595865,1058760098,2131598557,512508604,1825032360,334806682,2092756515,1151012173,1812297037,1770744449,-1501986066,804313613,21374367,-532913803,321182713,953478649,1430162503,691456987,845199016,-974534534,-1302542949,-1741889007,-2063273782,2107071928,-881016692,322672218,-1020497509,791107247,941899607,1284801048,208297627,1558970427,1225835561,1817833018,1193791249,241703385,1594734790,2121272702,-1380018749,-1719934287,2019804882,-516285787,1032698496,-2137430633,-848524078,67659353,1005586219,-470947893,1527156801,-664427338,-1406827534,1902766555,22203500,-1187493317,211971273,-1133841851,607828178,-646232796,550732380,-1743136462,-1029772547,621372339,1126251990,2108859711,-1689678982,-508035120,218989147,-1216787383,1927263299,619944022,-1434052644,266457029,103991637,506634587,-1477880010,1574411423,1877839096,-676639013,-1578649107,-1990187563,354360971,-1740200031,596356176,1778214864,1867907424,-1462513222,-2075668932,-814253966,-1568232615,-686232165,-52126435,1092456843,-2022406372,-1236089126,-679362767,-1783834501,911910141,-501780869,-664932137,-891336737,-1265236012,-1996584949,-1031855902,754170791,-1804342926,569663972,-1413837669,2060105904,-1714050817,-23056,90129544,1601249584,380589208,1675455175,-621506160,-715225200,-711021902,836703978,378442877,-1865053077,-790870345,-963018638,1530372673,-637454511,1850381157,-1734722051,1371845268,-281516093,-1831999608,-302641652,-817871706,-1244002423,-206606217,201928830,1087665778,75916867,-2003226031,2080074889,-685754188,2126650219,290017257,-1127631015,1678240368,1118197121,1060169092,-1718976682,764788462,-2020131826,-538196247,73432224,1053126043,1985533535,488964993,1554308063,126608290,2096089283,-471304878,1782783691,1234186619,-2027651717,170755828,-534255343,-1377588899,1664071943,-1131684871,-1018576444,-1970040750,312970592,1452625379,-1348711296,-658276368,-568405698,-5496559,-538564597,17525839,751334450,-941832987,-226210296,-1109141043,-263763660,1327138097,-908110220,-387317381,1208801443,-1239139326,660077926,-827912439,-719945740,-1686270621,-168927018,-1370852346,-1471970355,180321355,-66977759,1540087532,-834935144,839062452,1637251606,-222249215,-428490850,74571106,-894094145,-1782406895,445005152,-1092299266,531208762,-1583155704,-1496301866,-2056406494,1146939333,1250822322,314340380,-1377210285,282532508,-363701742,-1575665985,265900741,484017699,-1791934645,-484730635,-476858857,-497918106,-77100257,2049052190,61387100,-1935053576,1560389811,-1375582022,117703522,-1395225962,-319052095,1125213873,-900430857,-1141236203,1831311673,1977045154,1077057459,1391104232,-1323972847,945828614,1174302713,-788228596,660569167,-2062077794,-492460285,-517074810,29059091,2015505149,1695769056,-1306932779,-884533656,-48201495,1823269150,-937202943,531073836,-134409916,-1901557462,-1560848688,-665373074,-535886573,-16902638,-1607140499,276482500,597639470,866669094,-62368403,-171595728,410725091,-756449744,-150931572,515483160,1817668123,-469003747,572953102,-268341753,-2123792997,141776992,-119473366,-763865527,-286432813,-622170097,908907913,-580902607,393562094,1113227450,-1678210479,-610945786,-1644996670,1183005052,186532830,-1201317631,-410884166,-1666272233,1022252795,-1413903987,-1492711267,-1919958592,1574607178,86565754,46303544,-1434074775,1801826160); +/*FRC*/Random.twister.import_mti(318); void (makeScript(14)); +/*FRC*/count=129; tryItOut("\"use strict\"; a1[x] = o1;"); +/*FRC*/Random.twister.import_mti(336); void (makeScript(14)); +/*FRC*/count=130; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var Infinity = stdlib.Infinity;\n var abs = stdlib.Math.abs;\n var ff = foreign.ff;\n var Int16ArrayView = new stdlib.Int16Array(heap);\n var Int32ArrayView = new stdlib.Int32Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n var Uint32ArrayView = new stdlib.Uint32Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n var d3 = -1.25;\n d0 = (((y)) * ((d0)));\n (Int16ArrayView[((i2)*-0xfffff) >> 1]) = ((((0xd2288*(i2)) >> (((d0) == (c))+(0x4f4eb3fc))))+(0x768edee7));\n switch ((((0x356fca67) % (0x65736dbd)) >> (0x8d957*(!(-0x8000000))))) {\n default:\n (Int32ArrayView[1]) = ((((d1) < (d1)) ? (0xfeeb16ba) : (/*FFI*/ff()|0))+(0xa08596c7)-(0xc9d16671));\n }\n (Float32ArrayView[0]) = ((+((274877906945.0))));\n (Uint32ArrayView[0]) = ((0x348d8582));\n d0 = (Infinity);\n return ((-(/*FFI*/ff(((abs(((0xc2fe3*((67108863.0) == (d0))) >> (((abs((-0x8000000))|0) <= (((0xfefc22a6))|0))+(0xffffffff)-(i2))))|0)), (((\n16))), (((((((!(0xdbb443bb))) ^ ((0xfe1b1dae)-(0xf487cef5)+(0x1dbd0330))))-(0x602cf21c))|0)))|0)))|0;\n }\n return f; })(this, {ff: Array.prototype.findIndex}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mta(2118402322,-612988270,-1542065967,471012609,-1892454373,1396400502,-1110841941,1235957391,-850319395,-601082542,2129085497,-826180900,-1739725844,-1086169730,-727434798,-1577071922,1221301751,-190371679,573192548,-1526751921,871919703,-1628865359,592765648,2043585525,1313362989,904798305,-1408456460,-359116251,1048519986,-1774598503,-1875958650,8797120,-1805208663,-1550329121,879950910,858745352,-2062302336,1762679349,-394684021,1146631114,796600692,-1948384039,-326403790,351310794,-2060692790,-1467590129,-689588023,78735734,872971137,1188940979,2077003971,621701430,-1624600973,1552817965,-1007621716,-2019090239,695273728,1953209957,-1411249043,-513262009,-135841906,254933325,969755247,1551439571,-460633437,809710027,-1479588257,-1235586018,-215827964,404764114,-1995822817,-1086552561,-617583370,-381592760,805146414,56753865,1727012666,1646860108,268789785,-935681628,1863346830,1615877739,-2103415588,-1166335270,-1174459303,1526814157,-1781315893,-1257086157,-457912029,1392164748,-1785081375,1668113176,-769554685,950827183,-882192677,1554318651,258324257,2144455714,669028487,-1776035721,-129281805,-959063099,1706762699,272183592,-633580772,-2019991304,-637244224,-716937290,2032734496,-52830722,1966820615,-853975590,-317556620,1929938653,-1731061220,-919331262,1631068064,-1448710016,1961379802,-1435150933,1614669272,1341022059,37253214,2102079940,-455698320,1558833273,844141898,1521728623,965890618,-1677172006,-701112528,888565091,1329116326,-518274905,-783371323,-894139229,2113524669,129051353,-1147054683,1282109167,713417462,1836626661,-576887672,-736109390,-1234421363,182307328,-24311362,1501446579,-318602796,-921664174,349331325,8070981,763637603,1949952184,1034796244,-1206958058,-1683814239,15670013,2101413875,-1293853843,-2087841052,1721803969,-65422041,-263560136,-527397526,-44724306,-1182430649,1750771918,1204789483,1125260053,-781793397,829657433,22433325,459929135,326900662,-761216858,-616655489,-1548447764,-511816702,-620208861,-1905111215,960964879,-1988983894,-490853860,247397825,969863134,273660451,-339499916,-1060039226,135958373,-1535303622,-1943388702,157194970,765132672,-1762716111,-1013562029,-1598192186,1042349780,-948459999,-1212161327,-1188033939,-858272444,-429513000,1467838228,-1724281434,-62962873,-2105437691,-1865169881,2100353286,1552895005,-1365060812,1360665163,-136462914,-1424604782,701846350,-293198123,1793490127,260355515,323506063,-1430031054,-1746777750,-1143985545,-974186512,1314217684,1635657233,-181563371,82515849,-2118724812,-102802657,-1068606080,-1018112066,1326616131,-1030476794,1129945037,1722210005,-1536691624,521688873,1697183616,-1413462081,724926448,-1666478433,-1875961612,-2103144791,2024558970,-1519269060,-250613182,-1779436468,203594122,-1483888453,1342772352,516906365,1796883186,-1821368541,-1735531022,-511353525,466220454,922135359,440380428,1883462232,-2019974312,251147259,-342845352,79098144,-372249153,1049863081,55710704,1513291737,467470905,-1622925855,-461791777,480128773,-175149156,1185045490,-1134967146,-1401846590,1440993998,1467897832,1373891159,-1703769722,-1227033892,-1498954453,1540268173,-1379686819,-714337018,1840989518,-1419577919,-713954103,-920723659,-1158521895,493624776,1465756917,262582153,-1956837465,1195231555,-442029524,1451553590,1635809429,1551743439,-746525292,682674288,1885091959,1831461116,39088361,63116716,-222986817,1049984181,-1138520269,-661284184,-154633560,311968655,783277559,596643533,-802774632,1739204621,408707902,1842769518,176103715,-1789059130,-1607548073,2137339232,1506562132,1636561559,53000170,-1444165232,1889004924,293827795,-1613134022,1595774781,2106650044,-894358606,-1108069193,-922709397,1231666465,1135595216,2085808083,-1447834621,2042305501,-961758213,1082820840,-199089376,1375494880,1492437006,472571797,599418821,-680665508,1364600732,-471294330,-660378166,-2123021085,-2027757782,1526821064,2079000546,-342402885,-1882175615,1822378866,-2096560787,37019369,-105708717,198077404,-1058058600,883851552,-1384165204,1663121710,591335165,-1628100403,-585690164,-1754796772,-1368043076,-981012001,689347703,-131264791,-528549772,-345928142,-31166584,-588589967,844826479,1311591599,1187971860,751207895,2112745037,2016740385,-974489227,1937983760,-1171024310,-1489045315,1894105678,-1036344187,1543529238,-468405702,478074841,-499931117,-170686844,598595731,596926002,-28620612,1413155696,-1259248251,-426769929,-2085714197,-928177660,-959359974,-1057283028,1200300969,-1963244713,-1756742652,-690664270,-815680002,-867063729,1593611574,1094280921,272296974,-373030000,-1068984380,334887341,-1326790887,840530561,-607890553,1717093019,606681600,-59190674,-771887952,-861661733,518107529,-1048439369,-246311976,-850505064,-414854621,904264959,-1313697508,1938047608,679656940,-610914334,-746073121,-1982449591,943047067,1347064270,908070869,-999455123,167088446,1704085343,980694904,-659308342,-1916082452,-1636491984,-1148412212,-43665694,1065802515,-16773088,356821321,-1937120204,950950354,115213378,919085838,-466346131,-944616693,-642424794,1527111294,1578434121,-1410889512,-385601444,-1523570009,-150289922,587962667,1830527505,-579637857,-1269287555,670056539,-899591704,-1813739789,1952046338,983330602,589024558,1395337650,41272659,-1149745990,-1538762390,-143245250,792422356,-2026668728,783333185,35089296,-1533829583,-1294814735,-116404402,-224346032,-150075525,-432192582,1269955538,-1564254488,-1225464050,-33436673,1391598673,1818065775,-1125359730,-316231965,1187584793,-232937530,-1502020184,-1932703592,-2124740661,-998612468,1391752837,1896643060,-1174149238,-1393740071,-2124376185,-445182865,419230320,826646391,2037764147,-1348786835,983465805,1716225272,153543219,1847029754,-686312273,980545156,240919855,1064145538,724953336,872879756,-1482701667,-355018314,-1301702462,289318783,-856520853,1734608237,1619870579,1044512663,1088597496,-119155055,-671974938,936068795,870287301,-1862395930,-1008642143,-627414001,-263470006,-1259045629,1136037602,-1892723544,-258144022,486490589,-289123213,-397666103,-1577411591,2033287964,-1371261742,1988810442,1084929627,-1082094373,-1612542269,-385648812,603682334,-1679283992,-1844735489,-262503453,82169777,-529147361,-924062090,530569043,-945463056,-2127460603,-1290005211,-1004067916,-1462703178,-2068501661,-2010552778,-34771537,782462821,-1547815952,-1295100568,-1227958473,-1782649335,1706715285,-827948683,-1126410360,475346013,714124426,-2017672308,1725920727,333463675,1243334660,1242151435,-394484796,303710927,1740887281,1313625400,2018145538,1247118902,1488942395,-777389119,1916016158,1013617869,-10086213,1687090691,-257256859,-1139498279,-603027999,458560969,274362302,681008297,-263856780,-107615000,225812707,233555338,-384230470,369090210,-1961635180,281204142,-1078151259,570746082,52752787,358960721,-1686112076,1757464099,-688528568,-1527494413,-1690383839,557426990,586488494,1912674519,562683080,-1949088500); +/*FRC*/Random.twister.import_mti(224); void (makeScript(14)); +/*FRC*/count=131; tryItOut("/*infloop*/while(x){do { void 0; void relazifyFunctions(this); } while(('fafafa'.replace(/a/g, new Function)) && 0);e1.delete(b0); }"); +/*FRC*/Random.twister.import_mti(352); void (makeScript(14)); +/*FRC*/count=132; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n return +((256.0));\n }\n return f; })(this, {ff: XPCNativeWrapper}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [1, 0x080000000, 0x100000000, 0x080000001, Math.PI, 0x0ffffffff, 0, 0/0, 1/0, 0x100000001, 0x07fffffff, Number.MIN_VALUE, 42, Number.MAX_VALUE, 0x100000001, -0x080000000, -Number.MAX_VALUE, -0x07fffffff, -Number.MIN_VALUE, -0x100000000, -0x080000001, -0x0ffffffff, -0, -1/0]); "); +/*FRC*/Random.twister.import_mti(422); void (makeScript(14)); +/*FRC*/count=133; tryItOut("\"use strict\"; v1 = (f1 instanceof e1);"); +/*FRC*/Random.twister.import_mti(437); void (makeScript(14)); +/*FRC*/count=134; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(446); void (makeScript(14)); +/*FRC*/count=135; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return (Math.fround(Math.atan(( + (((Math.fround(Math.atanh(Math.hypot((( + Math.tan(y)) & (x >>> 0)), 0/0))) >>> 0) === ( + Math.log2(x))) | 0)))) , (Math.fround((x >> Math.fround(Math.fround(((Math.log1p(Math.atan2(x, y)) != x) | 0))))) + Math.fround(Math.min((Math.log1p(mathy1(( + (( + x) ** ( + x))), Math.asinh(y))) | 0), ( + ( ~ (Math.fround((-Number.MIN_VALUE >>> Math.fround(y))) | 0))))))); }); "); +/*FRC*/Random.twister.import_mta(-886356802,1219284572,531372123,1480613064,-1452895081,-1066966621,1999005903,686432053,-1195157989,689612605,-349104863,316302528,513296486,2053697767,-1187256585,1025895904,-1330717406,-503325781,-1183972103,456186739,-266023908,1971538792,1503081291,1875998329,1331410228,149415411,767986810,-1368522431,1599734027,-1353564064,1973870879,579434519,-1152966712,1924908019,-1040082202,-787598817,1683400076,-1795048063,845580331,563977071,1485452510,2142252455,803868346,954342941,368598290,2142276183,-600987253,947917779,1191436388,-1687673939,-309910341,-2082906449,2076597117,425078020,-603642627,1651550094,1191796864,1263271394,805949402,553010617,-2138787280,772382000,1580207082,243089193,908323268,-1444640037,909547550,-1528680291,-129486956,-1166154741,217555504,-25382776,16347302,1835182269,-1146912107,1616061999,862015221,712130665,-2141910600,-2130807431,-2044986306,-2040313050,1938630188,-941601437,1343980552,557032011,982404616,435296286,-1636607811,1979259797,973556318,316353974,1940548486,1119624269,-1515704813,-219738080,-2096842337,1742624383,-724547587,389070688,1545248917,1729652898,-1991794849,-379303038,288933625,470699924,-794700719,-797327799,-1089701512,115481139,1047551133,1204593485,-1711725694,-1544411037,1577349228,383224616,502651507,342051863,1529196197,1248795752,-1331447227,1047636653,361787418,107764404,1357086846,-201420013,104396330,234327650,-1024018938,209644277,-1543584483,433956292,-379060876,155860908,731941736,-801169478,-1458593162,338038251,1021071369,-807887500,1610558951,-1707421881,700014779,1293023409,-1242305046,599377154,460571765,-556967901,-982329008,-1437590403,930158511,-113217116,2058764807,-1588178255,-2082133304,1037714395,-91993153,1010834382,309562518,-1315075439,-289592050,1198634067,-1328620438,1876398566,-1190156505,1157362425,-953073342,2127053598,273766115,890173561,1234705989,1682897510,-1172364115,-1442824661,-1684130501,1113140567,-1000035841,352669332,975839035,1659748607,-637661179,774499679,-152840574,-1198998552,252131220,-617306678,2145937457,-2011944665,-820005470,1979532524,140069833,1021655151,1553529334,-893366532,694839735,577426685,1669000103,1171618676,-1504069708,893003660,-629193605,-1354918259,1894490691,482781549,-813675051,671982761,687128100,1944964192,-1163603109,-28806624,-461741224,-1325593525,1162474855,-346677758,-1940961449,-278954197,-1951423405,198406060,2107735226,-1660631043,1611984151,-104250919,1175651908,-1958561415,-778084350,-84613165,-1962398570,785144302,680255644,2114220932,-1497257162,-2010348908,952310426,-578964614,987358745,1850199376,462347517,1742308897,1195432760,-1983561738,847215773,1633751420,1098106205,-1575601988,-1720180086,-208011553,1562482614,2062198942,495436072,-805819094,1516001024,-538244486,1151407882,-1005809152,-477430894,-584457141,-1571973530,1300712499,558213563,1697887978,1198755807,-2141527434,2095150111,-1575500665,-1800883079,-2039003368,-1250185556,-836728079,-1803267177,-122836505,36022739,1990815979,1637640476,-1978307606,1383201460,1824312208,714171993,-524394376,-659085375,-1315108553,-306590307,1407993612,147238157,836026919,-940427299,-1011250847,-579757316,1156919043,1623167956,-325685937,-1868113870,-1434068280,1400037029,82119944,-811579130,1367384833,223053875,624415994,-1440426832,-1579164606,1542871235,595659326,1639099641,-1825357579,-332378388,122453758,-323700691,-41959062,1445452350,-36538360,1327561434,2013844676,-873593198,916488087,790179625,38041843,2136446070,-216491222,1835644678,1598833580,-344893991,-1539541530,-434965272,-78688479,-166241079,-616790944,-508115935,1657984587,1111555451,1320498651,351056488,-326850378,1037674748,2004883303,1571350679,1524188233,-1128466671,1580538089,2111681245,-251194638,-1886892956,-921063559,-1644034027,910374237,2093506521,1792139750,641641101,1762765035,2111882552,2014365822,999938373,-64971524,756940812,1886868371,-1787053045,451176877,-1448092797,-434507533,967443080,-1288651292,536188922,1513101311,1487415323,1065191119,2058191885,2003805831,-1730005590,-1540037161,1471754659,-1935190256,1026458763,-1069339917,1554772678,-334618990,518548299,2070728664,-1992843785,-1206196837,1589524061,-542871352,447471316,-98267584,549685502,806586174,1144191721,-1436127733,-543311078,-591956973,-1874432160,417315004,356405924,1909586865,1429331424,-132848356,349554342,-1826532098,-548517795,-1857557009,1600356,-646476128,-897733571,1632834608,-567526365,-1883129859,2121263309,1570424260,-1647467513,-1233102178,-1749160212,-16867195,-1939162592,1864596598,197585347,-23741598,1209017528,2079665342,-1613130370,441308873,47796568,879103918,899347662,-15597140,-1683788039,466756171,594694712,1291054714,-155162324,-1029305099,-687884367,1688927413,822984348,1061885157,-168949678,-303632842,1539867783,951870574,1165361609,-1602180153,456957755,1483992795,-955253145,-894815199,-1603931725,-697701579,1969337565,-1150639636,-1568354323,-1279391380,-7490621,440674989,-2010268840,-889491067,1374050490,1910094284,1108797949,1158221731,-939082625,-1288540326,-55665990,-212615402,-1493642363,-229336493,-1044206457,-1405101331,-1526911936,-1917826102,-1393191166,-494563525,458096637,1547563720,-1281630677,-1326598573,1806412969,1084077547,684622891,1715265847,-1738170688,1506142628,297525509,1168810690,1330507207,602608565,-1582431252,-618793394,-1358364847,1381697638,15420163,1444028587,-618622479,-1695997633,1382447728,999209233,-1744738081,1524648194,877442978,-1383432076,-1416505549,1145245087,-1358150703,60905498,2053628023,1794623054,1908226133,-437301782,956734308,855904553,-35426289,1813230329,-161603638,-2046587036,-174895778,-187173471,1579305127,-361091839,-160021109,1032283286,1924189959,-1894772365,-1088475468,1232164323,-1910349927,-1161091619,146042720,-589534381,-1706678384,1084122841,143772964,-572647465,66084034,-993462418,-120947706,786259310,-2018832957,-456412194,92789349,-1570611994,-2047370707,-1940753276,433296309,-864441146,1324284898,-126992616,-1406213611,-1837553459,988636681,301037192,1215191493,-1875624260,492936724,1624900186,766949535,-2104039581,-1967046801,-331165611,-1293963669,-1553658795,-1781570852,-1109463112,-1997447283,-350293110,1414702879,-2076664886,-1704985084,-558930229,173894962,-1500538957,-1257004567,1752582764,121677844,-1881337363,1864638441,-1096317795,-1190779331,-840225256,-682993522,596569852,-1355619697,785485568,-66246,-948368840,-527449231,-1334421495,-1494743945,-1651406239,907829579,-1824303057,-1810458760,600878459,2132464868,-302046631,-1901999120,62361346,-263037890,1046055208,1333472777,-152778674,1269151395,-903776604,350294216,1418118425,1632436249,650806769,128334252,1451621721,-1091631266,1781709696,-1789157479,522336158,-1304042345,-1508547597,1628566863,-592956673,970750460,-769505472,836741085,-1153655100,-743625702,-1045854357,558706470,1145786551,1478285736,68233410,-1765214600,-1159992830); +/*FRC*/Random.twister.import_mti(129); void (makeScript(14)); +/*FRC*/count=136; tryItOut("switch(x ? window : window) { default: g2 + b1;case x: break; }"); +/*FRC*/Random.twister.import_mti(227); void (makeScript(14)); +/*FRC*/count=137; tryItOut("\"use strict\"; h0 + '';"); +/*FRC*/Random.twister.import_mti(236); void (makeScript(14)); +/*FRC*/count=138; tryItOut("delete\u0009 w.x;"); +/*FRC*/Random.twister.import_mti(281); void (makeScript(14)); +/*FRC*/count=139; tryItOut("\"use strict\"; Object.freeze(p2);"); +/*FRC*/Random.twister.import_mti(291); void (makeScript(14)); +/*FRC*/count=140; tryItOut("\"use strict\"; this.i2 + '';"); +/*FRC*/Random.twister.import_mti(300); void (makeScript(14)); +/*FRC*/count=141; tryItOut("\"use strict\"; p1.__proto__ = i2;"); +/*FRC*/Random.twister.import_mti(312); void (makeScript(14)); +/*FRC*/count=142; tryItOut("\"use strict\"; testMathyFunction(mathy1, [-0x07fffffff, 0/0, 0x0ffffffff, 0x07fffffff, 0x080000001, 0x100000001, -0x100000000, -0x080000000, -0x080000001, Number.MAX_VALUE, Math.PI, 0x080000000, 0x100000001, -1/0, -0x0ffffffff, -0, 0x100000000, 42, Number.MIN_VALUE, -Number.MIN_VALUE, 1/0, -Number.MAX_VALUE, 1, 0]); "); +/*FRC*/Random.twister.import_mti(344); void (makeScript(14)); +/*FRC*/count=143; tryItOut("if(false) {L: {print(x); } } else if (eval = x) {v1 = new Number(p2);this.a2.push(p0, t0, g2); } else fbvduf, x = x, x, itnmku, b, hbtxke, jssbst, x, whgkls, tpezdx;print(m0);"); +/*FRC*/Random.twister.import_mti(615); void (makeScript(14)); +/*FRC*/count=144; tryItOut("\"use strict\"; mathy5 = (function(x, y) { \"use strict\"; return (mathy1(Math.fround(( ! (Math.max(Math.fround(x), Math.sinh(Math.fround(x))) ? -0 : (0x100000001 ^ (Math.pow((42 >>> 0), y) >>> 0))))), (Math.asinh(((( + ( + 0x0ffffffff)) && Math.fround(Math.expm1(Math.log2(0x07fffffff)))) && Math.pow(y, Math.log10(-0x07fffffff)))) | 0)) | 0); }); "); +/*FRC*/Random.twister.import_mta(-183399743,-1765353578,-178806588,1204180649,-1738009538,1018673307,45877432,-83430625,-1877006715,828218952,-1218306,-1728984353,1522690089,167770500,833718918,328304466,392357480,-1917872613,-1352273448,-1479806096,1619817341,-1223002078,-1702493107,305606228,1651065738,-1925175100,-1779592652,-707272094,1532677706,354134396,1256849441,-883148715,-2063618669,269317103,-825967307,-2017109356,2121170985,-1678544819,-1317398266,1764957094,105909707,214538342,-586526454,-839659282,1819984341,393975209,320950787,1457538287,802554085,1297083759,1801066212,459681442,384777263,1059559929,-1144839614,1919084794,1417430845,1511132688,-864379488,-935008921,-466181694,-743006385,1835372637,-1108793497,2142138337,-1696997240,658928252,-656852086,1233520912,-359774694,-574892161,1529956270,-209447351,927117246,1506579867,-351028468,-861133568,686031095,-1085576364,-613916449,452217911,1753051667,-11389780,658517955,-1434815921,-1125571352,-672859583,960095184,-1313917581,501804588,1602205296,-487218126,582983622,-642064986,1123889409,1082885327,-1341664542,-2027150205,-434970684,479475622,2010069454,849820833,1997766107,-1410124844,1693507972,-1058708830,349905425,1719707608,-377639697,2077486750,-688041088,-90010101,1324493706,-1701743256,-4444107,-909109951,2034449365,1122771462,414247586,-202792198,1226863866,-1244195143,1246197945,-1504469082,440196235,1269306485,-634934174,-1153598317,-1616272516,-2140790923,-1859074763,927179384,-2140280648,-317048398,113431219,-752034568,936379892,-2099166530,-2054286756,1929427969,407348216,-737701065,1945755713,1410796823,-1447895655,949989616,605500419,1481902753,-573454231,-1965137203,-1399585170,-114159672,-377906211,1816407547,1165194833,780905071,-1302143566,-1142527968,581138882,-493751205,1198425422,-1869205064,-1661650055,-773995437,2135806569,-1178116443,-1580513468,-1686276452,620780368,148315668,1515272031,-2092463459,1138081319,-1142704725,1183032041,37536285,-2023126702,1398269900,-1947156900,449141330,-523384464,-997255557,-1690478644,-1492363077,-1645475092,1075085488,9645613,1368636314,-373425575,154305091,-1532329581,1364633631,-929102553,1125928948,-1953868381,1491573042,481506450,1549268435,-1401300088,-7166911,79105341,-174296778,-1007869584,-544893396,-339417222,333211326,1869814633,984997420,353796752,-412701131,-564919964,1240051451,-1816236814,-1103174085,839859637,-452781302,-1748242282,252647808,750144997,984607310,1682282328,1111796740,-656229164,819161513,-530322444,-749936589,-306329867,-514557297,-1446711724,-432573089,63969251,-1006003853,302604582,-958903445,-869984841,80803876,-1682313849,-598932126,-1676454620,-1695193416,961507642,-2013210377,43686668,1541338925,1835784619,-1040893437,-1698781377,1850708969,-1863946569,-139972659,1036168041,3786767,-1354341948,-467079171,575381656,175900025,-355418182,-1019190237,-104471776,1045355171,270533332,700233701,264636424,-1389204790,-657927231,-339227056,-1758728703,-719678241,-375915446,84948284,1873795140,1555363163,309403740,2048503641,1623073063,-1550449898,2098257235,-1643563557,-627041562,-113546690,1456585343,648594459,-209700554,-292688884,-1564050817,-1564323618,859226681,-731289560,2096437559,624360516,-391394813,-1893748628,-1733597684,9852671,689035989,-701792810,-132797337,-928400089,199141775,125274871,646064801,-266505416,2072161193,-1162608010,1799503752,270108573,-1512603542,1911005480,1452559895,-1732097599,457459105,-1886555898,2125573116,1499520266,-1592561802,-1912275128,610575289,701197811,-850164252,-1911585291,-1952127147,838093685,-1541106816,1376046169,-357407053,264310027,-185209764,-806881364,-1930094957,2103780591,-1649318001,974927354,1647172046,-1559763323,-756763357,1848338360,-1916677579,1897609777,-1038022798,154537400,1729434123,699761888,200884016,-567302938,2005193461,-1834545349,1583990352,2010125926,-1981844858,-830266172,-1740385832,1286855821,-358937245,1234354872,1866987674,309788258,1784829907,-840579983,786168970,-812178619,1493861010,-1281460639,1436200768,-1819379923,543039778,-1979774839,-1206747595,-359429130,-766232385,-1268378917,-314693455,-941153030,244891577,-227823239,1709337933,1078113869,1339793631,1522773407,-689948756,-1540590409,1364617947,353546798,914516464,158535705,937291770,1299031119,365100685,256750334,-587600410,-1771433429,1883081044,1440038041,-2050151381,-341728233,-1829905181,-743452767,-646162372,442303213,-1342419507,-1075586842,-884326477,-258143193,-590042820,1633078763,2107278638,471784576,1099265821,-1424802298,586741478,-586675492,-794958208,17288914,2136890625,1687895153,1818832325,-430886682,-585311752,-1513739969,1264955336,-766345408,2090159906,1599296000,-1945749304,218766734,2049835758,-1759908066,130618084,-155163078,516014003,-613679554,1495837825,-785128621,1697583525,-1684018699,652995611,-1364905301,1848527625,180551206,-52893367,691086110,1113804020,-80382541,390028879,1953733159,314198390,-453207348,1668345592,-2104754586,-1771173491,-587964040,-861511244,-2003777623,-341820203,1438515924,1524125057,349110452,-1079098638,2106022590,-1113569544,-662849477,653964957,902624043,-876108403,-909673561,-1701502841,-899047771,1925124602,-304005605,-1507974765,-2107652922,-1700750117,-2118729952,2025017385,399594997,-1000778835,-1663786537,-1689593057,-1407718604,585931118,300427256,1825953528,849125742,1743978078,610037965,-1435639792,1622734462,-1940948439,-1531381005,-37709915,1727345968,704480925,1304483697,-2034767151,-1928481328,-1008741147,626501388,-29818068,-517912205,493115734,-1236639560,1331842174,-1050145326,-1855871517,563319009,511937936,2102989374,372900765,1845409178,1705575337,-1991663719,233743875,1423961843,251131521,-788180957,-1968514461,-593113493,-1145682910,-1222353575,1924115010,112392479,-990153522,1833692517,1632499872,-1254703185,837697172,261508893,-1332727357,1736049856,-763819889,132617642,-304436031,-241235530,1652317810,2115820935,1624674139,-1922616354,-554994813,-828031836,-1447975067,432461325,1700250246,1846324899,1580260337,-535125918,557045431,1886132697,-2045404501,-988534689,26823256,737640208,-901312713,920275419,-521611778,882019254,123584857,-971855875,596267827,1086421142,1335053375,-1861469538,-1592022176,-1614067167,-1737202686,-923835220,-78364361,27289433,2098014350,1689601537,-1219248951,-446463973,1484052087,-1307610828,-195913673,902621719,639066392,122598174,-1712594108,-1480806587,789535121,64248836,-2002690461,-1522840962,-977892467,-1469786199,1565317305,1691399990,125289767,1720183008,476665746,315247288,-766136148,410455869,-690762723,111630830,-773722159,781079345,-1854494327,-1488019243,1957492393,-1489596566,2013676382,1714516379,-234293186,1353458544,802877535,1162168511,-339906696,-780392369,-552553720,-553507960,-1104168519,1798558468,1685882863,-735732292,315882908,-1255179285,1874223425,547036871,-285727715,-1446821633,-374787978,-1719031841,-1899873632,989605251); +/*FRC*/Random.twister.import_mti(215); void (makeScript(14)); +/*FRC*/count=145; tryItOut("/*hhh*/function xbewqi(x = ((p={}, (p.z = delete x.c)()))){v1 = (a1 instanceof a1);}/*iii*/v2 = g1.t1.byteLength;"); +/*FRC*/Random.twister.import_mti(322); void (makeScript(14)); +/*FRC*/count=146; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return (((((Math.expm1((Math.max(-0x0ffffffff, x) | x)) >>> 0) >>> (Math.pow((Math.fround((Math.fround(x) | x)) >>> 0), ((( + Math.atan2((mathy0((x | 0), (x | 0)) | 0), x)) / x) | 0)) | 0)) || (Math.imul(Math.imul(Math.max((mathy0(( + y), (x | 0)) | 0), ( + (-Number.MAX_VALUE | 0))), Math.min(( + Math.atan2(( + x), mathy0(y, Math.PI))), (x >>> 0))), Math.log10((y | 0))) >>> 0)) ^ ( + Math.fround(((mathy0(Math.fround(y), (Math.atan2(-0x100000000, ( - y)) >>> 0)) >>> 0) && Math.fround(Math.fround(( ~ Math.fround(y)))))))) | 0); }); testMathyFunction(mathy1, [Number.MIN_VALUE, 0x080000000, -0x080000000, 0x0ffffffff, 0/0, 1, 0x07fffffff, Number.MAX_VALUE, -1/0, 0x100000001, -0x080000001, -0x07fffffff, 0x080000001, -0x0ffffffff, -Number.MAX_VALUE, 42, 0, 1/0, Math.PI, -0, -Number.MIN_VALUE, 0x100000000, -0x100000000, 0x100000001]); "); +/*FRC*/Random.twister.import_mta(1363044646,-715678289,1158169453,-948030036,936272053,-578114208,-975371077,-1398954317,1152390052,2121515874,2120444854,-695111123,-638061026,-934992957,147787131,1961831989,-79411293,1004262697,-1246443170,877809817,-1102375634,-1624367823,-1689655190,1302458087,1509115490,-957287982,1742859455,394487243,-1651229792,-1145789909,1248250575,-977872475,174454550,-415087932,-1831776743,-2096045714,258924812,2119622808,-633553032,-200344269,212218389,-765607476,1338559337,-1386832703,1770000312,-2019080303,-972355441,-1671824933,1532222628,1457382794,-1892095689,68233029,1517231451,-783814507,-241060908,1486270356,2025260508,2095383377,-370818344,-843771373,-1923832378,1377451529,1602329431,-1071304270,950010735,-1738236749,-441719198,-27909105,-13714008,-2056631654,-2139513396,114596456,-637627623,793667273,-1270914394,518341289,-626268847,-604183033,1751654759,1329090011,18997986,491094840,-616529722,-522166528,1827156762,-1794624607,2025881893,733137526,776765800,-1544511215,-1782437654,-1398843322,1244158947,-779374910,-192043575,-1632369760,1469257550,-1328104697,1797111007,-975265845,1635411964,-1075488924,-1548486318,1025129660,-518341501,1107592244,315867917,-1288312008,11593073,1027910237,-1985527232,47191660,-2080299731,-348647738,-1455467380,-346104908,-260882144,-2030915790,-447668458,-551125409,885483226,-1903909183,362493644,284011092,-778610816,1281240721,1906356537,2117791530,-693243784,1627448198,1021040124,-766509869,1902807411,934507847,-670472246,966024328,2137816280,571573877,1844436225,-758603137,2108573152,1229318042,-1429872551,-393864043,843282139,-718016209,1429738989,-1764523428,-1408526240,-799041124,-1181929541,-332581015,-992093902,1911948480,-1198052301,-103171289,1768013734,1443659192,1850928399,1077744020,1217028170,-1730059940,1625974888,1203106443,438326700,-929970272,-2058231838,-1445696353,97249363,-919796738,-65129584,1337053957,1637542417,-1573013540,706322661,-135897954,1550260721,602881590,1244405303,-1450375172,1559467175,1653731959,-916799354,-967353579,-986641882,1559735364,-2136143260,-258304694,-1186904376,-1943390927,-1759245264,-1590794786,1933864258,1318595234,1946469284,-662022572,-1316744232,-941817323,-934301234,1243979720,-1652516786,358245905,-923515780,233058531,803160772,1555678549,1308019814,626110743,-268521606,-2070450230,746606573,-691042959,420864074,2116065212,1504861825,798588836,-1818095236,-1652528207,-1468494132,1570024173,28920005,-1031177609,1755464948,-644299380,1764189977,1628727557,-748773349,98311692,1061459935,-1645676477,2087864778,2127220774,1743665162,986136255,-285877599,-798730824,274022867,812302628,-1679048335,-2058334589,1431175015,1233273085,-1073158788,1425611689,-2111178505,1642277406,-629331534,791712426,2113059336,1553992961,-726287809,1313896064,770455283,918830323,-1951017048,-1459854211,1125916901,914635615,60359723,41285244,1788127721,-1791866339,-1786129397,-100517837,196413360,144832679,126551939,2020461616,-1865032878,2015307595,436491955,1622712214,597893346,1868343491,-1919748016,-1127021870,-1059991624,-496442300,2022478426,-1475383109,1528504903,-933122225,802183570,-1327724484,763636542,695603995,-410933753,1780914562,1082212395,-220410231,-2018842236,1962258537,1093076755,1747696599,-716989724,439147332,2016814294,1553889748,-1670910004,1404515990,390127445,1358333869,62866322,-1358234987,1257805078,2055463250,936090959,-1285327562,-2010376441,266998473,-416880765,330360548,-1179099868,1749628574,1823520210,-445226901,773695287,-1284773352,1922050659,-1762486122,276380583,-425726967,1858000211,-71134008,1849593181,1365723889,-1574083555,-1106748310,1482651084,878967370,1611933249,-804499356,-896546903,-492230333,-1004513052,-1621574476,-591296614,-1464352263,1179324592,780344567,-1913674,-1396454636,-1001846329,314153093,380213360,-1973027778,-456231572,807985049,-372951901,1505418784,-272829235,2110939630,681005005,1174621556,1996591131,2056547150,-553995935,1807100857,1821171118,502253626,-1217069400,-1295765398,-1453598783,792947785,-1075399954,-1460776252,-1484691580,-1920145056,-1971429848,1163019486,-1955229976,-335046184,1963891020,-1094610028,804940197,317651152,1681325964,-1828899731,657702381,897473664,2071944663,-1546250037,1684571124,1921992795,-374202560,-38067562,1201391851,1727436473,1255987350,418688194,-195568616,-2117176474,608806260,1429176652,1493908368,1769325645,487273047,1927849385,272646006,-1657322217,1132167440,1148449915,507873972,1655331686,769675382,-203025050,-1140549377,227536852,1276507929,-1592511546,-2032878468,1670812793,-139296093,798043225,-1011741383,-674289100,1203868017,-224994348,-2012784002,219073235,1630634914,1913118656,-1643161453,-1936518481,-867043942,-1951713092,1900391637,1273558856,955226382,1030267619,-1133153899,-1002407223,-931233424,-2020898124,-1425303395,31537697,-2114580263,-1947956330,-2108222210,941901360,-625828422,-1960492679,-1935146392,-1694550585,-1342298409,-641664592,1557222878,-746128164,-1393341749,250704942,81270407,-2046834260,197879919,1731868164,263954006,546551462,-483699428,1654811318,-1946370844,-1382296677,-1188431883,1377745080,764369076,-1005100721,-866730327,-491501172,715678033,-1622515855,145597086,340794318,337790009,1735974972,-217894853,1633235131,-128814434,-1453365416,179042459,-2050754936,1185179004,461823375,797600836,-1202935673,601550020,1445646573,1188577376,-1665791520,-920568870,-1921232156,-431435643,411019162,1173021524,-1847180793,1311187535,-9675474,717627318,-1345758524,-1853410515,1421244952,2073931722,1142032093,1340649002,1546295934,1964145277,-812643984,-591106725,-359062709,-1628427658,-255388852,1439551580,-265307572,62640026,-1275633503,-1728312363,1004305385,-1652765080,492462650,809914618,-16958299,-291210183,1666891124,-2021196358,-437950796,-1715522484,549534620,-1034031483,489113586,537539830,-1485509683,319114616,-1403345619,-674922930,1002879535,-595247282,-1633129923,-1244599079,2119245337,1756925083,720798958,-967099075,-1961640857,-968371952,-627021579,-713346982,-410190669,307582507,-393062423,1836072038,1354079883,-211528831,-761929193,967246074,1581967266,187567914,948647022,67747659,-1869419382,335758849,-556453759,-662024917,-1711140327,876887180,-2011534619,-80802078,946018270,1903116938,2026734839,-2049896664,2101584397,1199225798,830198307,197009439,-175610700,1233861098,-138033696,865043990,-449788671,-1821623971,557050074,2084065260,-1244704733,345958475,-1932368638,-1213288379,693399010,1507749922,-163606558,783039562,-1186966175,-1147071178,-2140074089,-93299960,227009599,-339870157,377036979,1136881703,466467379,-1879202709,1747666275,-6496659,151894243,349281158,385750458,2058938728,-355256452,693575917,317524561,-993462152,351732819,-866711281,-1569198089,118923737,1116007528,-676729784,250754597,-446063725,-1542498071,-1850633346,1512275657,1277649862,1352482127,-2132548996,510273216,-1392287149,898893508); +/*FRC*/Random.twister.import_mti(117); void (makeScript(14)); +/*FRC*/count=147; tryItOut("\"use strict\"; mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Uint8ArrayView = new stdlib.Uint8Array(heap);\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n var i2 = 0;\n (Uint8ArrayView[1]) = ((i2));\n i1 = ((~~(4095.0)));\n return (((i2)+((~((i2))))-(/*FFI*/ff(((-1.1805916207174113e+21)), ((((-((((+abs(((8193.0))))) - ((67108865.0)))))) * ((Float64ArrayView[(((~~(-0.5)))) >> 3])))), ((Infinity)))|0)))|0;\n }\n return f; })(this, {ff: decodeURIComponent}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [0, 0x100000000, -1/0, -0x100000000, -0x080000001, 0x07fffffff, 1/0, 0/0, 1, Number.MIN_VALUE, 0x0ffffffff, 0x080000000, -0x080000000, 42, Number.MAX_VALUE, -0, 0x080000001, Math.PI, -Number.MIN_VALUE, 0x100000001, -0x07fffffff, -0x0ffffffff, 0x100000001, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(331); void (makeScript(14)); +/*FRC*/count=148; tryItOut("mathy3 = (function(x, y) { return Math.asin(Math.log10((((Math.hypot(Math.atan((( + Math.fround(Math.log2(y))) >>> 0)), y) | 0) % (y | 0)) | 0))); }); testMathyFunction(mathy3, [0x07fffffff, -0x080000000, -1/0, 0x100000001, 0/0, 1, 42, Math.PI, -0x100000000, -Number.MAX_VALUE, 0x0ffffffff, 0x080000001, 0x100000000, -0x0ffffffff, -0, -Number.MIN_VALUE, -0x080000001, 0x080000000, 0, 1/0, Number.MAX_VALUE, -0x07fffffff, Number.MIN_VALUE, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(456); void (makeScript(14)); +/*FRC*/count=149; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return Math.cosh((( + Math.atan2(( + ( ~ ( + x))), ( + Math.max(x, 0x07fffffff)))) ? mathy4(y, 1/0) : (((((( + ( ! ( + Math.abs(x)))) ? (Math.atan2((Math.hypot(x, y) >>> 0), (y >>> 0)) >>> 0) : Math.fround(y)) | 0) === ( - Math.trunc(( + -0x080000001)))) | 0) << (( - ( + mathy0(y, 0x100000000))) >> Math.atan2(1/0, 0))))); }); testMathyFunction(mathy5, [-0x080000001, 0, 0x07fffffff, 0x0ffffffff, -0x07fffffff, Math.PI, 0x100000001, -Number.MIN_VALUE, 0x100000000, 1, Number.MAX_VALUE, 0x080000000, Number.MIN_VALUE, 0x100000001, 0x080000001, 0/0, -0x0ffffffff, -1/0, -0x080000000, 1/0, -Number.MAX_VALUE, -0x100000000, -0, 42]); "); +/*FRC*/Random.twister.import_mta(-1051993183,-338907617,-1098358847,-2121006699,1790354123,-442255306,-1377027872,1337481636,-857738025,-2093667036,-1076894179,552471574,1547571960,1539017246,-1058425924,1394086317,-344689134,-647468650,351187623,1491344358,604595603,-979128757,-220820097,1304961171,1367320361,1962352147,509218965,-1029969846,1333385590,-1921091219,-264557755,2111660677,248087425,1813341766,-2050487682,-1882590730,-1197409544,-2045393119,-487656345,1588443404,-1563792528,2092679573,-1215842161,-1368221082,301879918,1990538992,1306229237,-1034434427,-223474827,-1035628134,143056801,416052409,-1084605253,2080952173,-374038938,932244097,-1069545613,994672442,-549351568,-1518270465,-1834498707,1026867600,-1920382142,2087798429,-953924034,1599777669,573883287,-1279139715,-1610519359,1788129207,-601877947,-1118151731,-620783499,238941546,-1325207113,1197371980,-1783631001,359584498,399241578,171641322,-1956563180,1795433759,1811345935,1509848521,734003592,-961405815,1140045270,1375600852,340191671,-2084556881,-617349433,441732523,817524987,-1499168401,-558087209,636398056,2114957426,-968855290,338601470,-516292397,1262801322,709120867,446634115,-429047628,1026087012,-445437148,-703922964,93630268,1832109754,-1708946602,-1313924998,-825888235,-2051818193,1462003164,-967307909,-523916475,2024090736,-271302173,-339612214,1780867991,1622662938,-1536563361,1798072414,-1353886086,448971043,946330639,534531081,-385149255,1839674929,1046994440,391882107,-222775010,780906321,-71184981,1728877675,-483196638,380115416,439333510,-834797575,376417899,240416547,1244757454,1717043954,107928226,1764827325,653232755,-320520803,1146133019,-2135057625,-1463936156,-1079265824,-1861566696,-1435574153,-1125898692,-1146189074,2141114617,328010418,-1440188141,-1332976576,809924132,-760905681,-1459652321,550525827,961812058,-1403877067,-1182277357,-176058034,-1434319236,1549468936,-69331232,-2087453872,-289440239,543492557,-944095054,-830780677,-1095760435,-432907525,-1886307886,-235518209,1679639505,-1988910786,1486172079,1340886390,1980132696,-492195040,-1208470153,1360602951,92197702,690103717,1698576978,-371759218,-1039981673,-1489167674,-1066255654,566415125,-1283459105,-325119642,669296832,2128573911,-2126649268,-1148270924,-605619117,-688451507,54409956,-1582676017,1547931483,1634950952,514357072,1353104820,192966481,-1499957708,-2132936406,-1654152151,-1295565242,1430803386,-562502410,-650464478,-1319772939,1405992256,140871619,-496012499,947274172,2085707657,1836638511,-1209490787,497320577,2004486594,1205936273,2083545825,-1062110428,-1091475066,1497480910,1640535990,60712303,663384952,503178465,-1694478922,724743802,-78734456,-1349493356,-428729665,-521289470,-1603523418,1936210614,-1449526119,969942654,259805875,451950743,1929058324,1099227327,719330259,-561967985,-157437771,461437761,267217579,-1207993893,255120413,1761548687,2095552955,-1567922262,-8064105,1443123364,1807768880,-42305248,458066861,2015610745,1654349588,-1432320295,-1715674385,596452105,-1641097811,3129887,-670838194,1259472349,-1673639444,-1832457047,-1284381768,1958778508,-1782350789,1272913223,-1053775851,-1101221201,805219999,-1769860372,-1225079192,1971973292,-795718850,737138087,-1655564789,-832815232,-1627181450,2126476648,-230177103,143986405,-19427873,-1675985238,1155240797,-770447965,-729694074,1213679360,-1085405597,-1327673218,-908869671,-254559764,674177627,-1792635118,327857009,1451199560,-1241932636,-1049808623,270927547,924593946,-1298757690,1974202175,-95584194,-633304333,-1703552349,997415721,288162272,-510763529,216254388,820746657,403694476,-1877457405,2012964001,-1674533073,-1103221018,661351244,813018694,-1281508484,-831821690,-1050178705,221187930,-1273311074,1245245798,55772535,1467014005,-762671070,1082969265,-1170023564,21332054,1031027015,814864344,1945231432,-353976324,-1717119108,-1422312316,-849480300,-927692721,-973430041,-777754995,-1753098726,459700917,-1118554917,-733928674,-606937506,-759923957,555600812,-61907709,892456965,-1566321250,-1431711916,765069273,156975279,1314429924,-1644344261,1353308891,1265326135,681074593,1675806086,1886197326,330722331,965690297,571521424,1294460531,-1297685279,952643981,1966791625,-1951035048,249167427,872913542,-912602348,-539900917,659817746,-722081704,1246310634,-1707766361,-137630620,-1534775426,452703631,2041786345,-25797745,-1827659339,-654046074,120607877,-875156228,1537406187,-1951144725,2032954437,1104726341,2089486928,-1051095135,-1880807298,-255692096,-1235078303,922532447,584758331,913435245,1210005068,210113352,-1631217733,1081623214,2033718148,-372731644,1855538780,-741712446,1551194040,-1378563407,495777313,-1750738153,-109980358,-1211247741,1816055383,-1967658069,1647391902,-1619717278,-1530293272,-1476851149,1549409789,1371871320,-132728993,-980088969,528894465,-1375853639,-951035233,-917175033,1316104858,-407634869,-590357966,-1338053900,1851600421,320623246,168808138,399315094,-575299539,1034229679,564591021,756967063,2131688363,-415898603,1871119865,1795532405,775526787,1890043625,1470692290,1302710383,-1310699905,-1156630540,-1769674788,-1537942381,1787902259,827186978,-1493244775,1680056893,1516802748,923933695,960348915,-1574646800,-356135707,863354469,1087654568,152097883,-797700356,861236220,1314884411,-1364831098,1130699771,1236412781,1246417559,-514292073,-1632755747,1577065673,98738546,744027181,1722031487,410453078,-466268456,363342602,440107881,1228221594,1820453116,-447305131,1201007086,939020495,-1119605829,1215810470,1238769157,-1545600440,-1154584146,-555685,1694976226,1069532173,-1257314287,1142646218,-1736132618,-625252096,867996897,-1412022213,-2041876599,1847806290,376509027,1670148957,-1318100601,-567530486,1698882746,-2056176010,1747587341,1901699253,252849106,-242960276,2053619135,-1308092423,-864361628,-50473792,-1669314982,-997926147,-1025146311,-154361633,1073263159,-1573846786,876106788,107855356,1132071635,-798329406,-1335905381,414018102,-736726170,-1442633478,-342015498,-776638642,-2114753638,-1863313389,814630005,1247265129,-1775058942,1737826259,1356604013,-1403429205,-1062610827,1155294193,-1086507566,1919705908,-2139800296,624050588,790764809,-478364263,100635619,992411340,359543484,1460474140,689919283,934245911,1600294552,1875343920,2011488902,1113869093,1575729837,586735029,-1128177527,-1404668152,1228263954,-1910299895,-1572588148,-218169457,1724721099,403317822,-1788651894,-273137285,342806228,-937312689,-1153628582,379505635,-1887901521,-27573478,436341853,-1424407770,-1332131222,-9216251,1939470400,1352804957,-695205265,-493956062,1338600637,-398405097,-544918031,-1234289333,-1895835672,-693384793,-835190603,870813306,695186253,1887146695,-2016444577,-177532636,-448467394,-1445859996,-576009035,-1960530210,27888688,89269304,102134566,-14606724,-1808229593,831123633,1019539663,-329390399,-287131084,1604361738,1328575991,-1822306165,-1775165466,-2001119885,-1860423778,-502289948); +/*FRC*/Random.twister.import_mti(142); void (makeScript(14)); +/*FRC*/count=150; tryItOut("g2.m1.get(g1.o2);"); +/*FRC*/Random.twister.import_mti(161); void (makeScript(14)); +/*FRC*/count=151; tryItOut("\"use strict\"; /*vLoop*/for (ufzczq = 0, {} = (yield (4277)), z; (new (makeFinalizeObserver('tenured'))(\u3056 || NaN)) && ufzczq < 82; ++ufzczq) { c = ufzczq; t1 = new Int8Array(t0); } "); +/*FRC*/Random.twister.import_mti(292); void (makeScript(14)); +/*FRC*/count=152; tryItOut("\"use strict\"; \"use asm\"; s1 += s0;"); +/*FRC*/Random.twister.import_mti(304); void (makeScript(14)); +/*FRC*/count=153; tryItOut("\"use strict\"; b;e = x;"); +/*FRC*/Random.twister.import_mti(354); void (makeScript(14)); +/*FRC*/count=154; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return (Math.sinh(Math.cbrt((((((Math.fround((y & (y >>> 0))) | 0) ** ((Math.cos((x >>> 0)) >>> 0) | 0)) | 0) >>> 0) << (y % x)))) + (Math.sign((y ** 0x100000001)) >>> 0)); }); testMathyFunction(mathy5, [0, -Number.MIN_VALUE, -0, 42, 0x0ffffffff, 0x100000000, Number.MAX_VALUE, -Number.MAX_VALUE, -0x080000001, 1, -0x080000000, -1/0, 0x080000001, -0x07fffffff, -0x100000000, 0/0, 0x080000000, -0x0ffffffff, 0x07fffffff, Number.MIN_VALUE, 1/0, Math.PI, 0x100000001, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(533); void (makeScript(14)); +/*FRC*/count=155; tryItOut("return Math.cbrt(/[^\\s\\n-\\\uce18]/y);M:for(e in new RegExp(\"(?!$){3}\", \"gyi\")) {Array.prototype.unshift.call(g1.a0, v1, \"\" , o0.a0); }"); +/*FRC*/Random.twister.import_mta(1734148923,-1084165254,-1743095472,-1864832022,-209169478,-653052914,-1759617518,151353813,2003184845,-466225174,1711729766,1711292208,559666759,-1095676315,-1325598041,1283598477,-2055428657,-1108955184,-4698063,-679914066,369995083,-34668479,1749646209,1220982385,348056661,-98863422,-1409671282,93181989,12754699,1172092565,1075776430,-1036620574,1741663099,-84757920,-2106458228,1138112381,2013032694,791646323,-1509697151,1595350818,15117406,1577367210,-418928697,648152850,676252150,-1242905873,-1343339509,1038751048,1552408418,-51566942,-1200559084,-106212055,3748732,1532840650,-1446681622,-1760482587,755202420,2013805690,-2039612593,1639652374,-443197636,-1874836867,1130680066,1224940076,-941082049,787232141,-456400164,-1822387197,-615449349,-1910146290,1702975177,515026944,1953187024,-1050836308,1790963069,1135298448,2044854917,1169847182,-1413754765,1188397169,-1523020995,-424076465,1420758188,-1957814503,-464412078,1679522713,78115911,-175122053,-2137021602,279183716,-1047872256,-1687286837,-1016079118,-1697154616,-1214120287,2022846935,349726796,-145524412,-505251056,745830096,801807142,795430192,-859757311,999498960,218517919,-569665945,114373204,-1373809493,-676680533,1802180828,1438386670,1570374081,95517628,-1403673599,-1964632544,-851576897,1892596772,279056991,1768652642,1483865728,-93985851,2055479293,-433974447,-1374786063,926107937,1520203199,1366355779,1935371677,-608750087,1346429019,-812581808,-239741632,114906868,-558453042,938753389,137233983,-578966399,239729848,-896397860,1244985384,-1894017507,-659472241,-763231713,744704795,445607413,-1611371932,-1317585733,258260302,868880993,252311709,-455343833,211163281,447639791,-487952219,-1800684649,-1984710591,-1456550454,2003054377,-1151367541,-1247419605,-162401636,-603017310,1269242417,-1505844874,-228313535,631391807,981891342,432627714,2139832405,472008453,-860892574,1979405488,-1885644975,-1224685648,1215533360,1213573166,-1254726810,-2025933717,-217303799,-1847949803,452617843,865658991,-215840541,-1972772918,-731225721,2130496467,-52155719,-1751404976,-1719247345,-2072839763,125468177,537359651,815478576,528078138,1647943442,965141518,-1145928073,2044870597,-1225733779,-751258446,575670097,1011562572,1920504584,-1598939019,-2024610379,-1216950069,-96523636,-854085404,890858003,-823724113,-884321717,-703402245,1546763035,1823628027,-803378169,-123354442,-265572844,1428303471,1902614015,1188934525,60538580,-401577236,1020596419,349044343,1600365804,-1432278145,1492617587,-1068662124,-1623699736,-949826157,-59231091,-1016326047,1104459366,-2065995858,-1628226694,2061896214,-1314083625,1537319330,835195386,-882218041,-825774364,-523571980,892745174,146336604,-519127825,1628359095,1124727098,795877697,1143324865,-466499913,-24215319,-151485232,785628093,889461252,-2021993449,-565164582,-391411059,-412846164,-747380937,-2130353553,-1846502862,-1215180524,2104167405,-1554905601,-1976122608,-1756465653,-749736815,-718246410,-1765107727,1897430478,-4368702,72294609,1231778014,-1578016515,-310258749,88026814,-2037551644,731505366,88894293,-1180051543,-1652841662,1731363962,-1672469613,1987975744,46975532,-1373315376,-1388034534,1916071142,-143761987,216356921,912040088,1740859832,-206700000,1118344428,-580015274,540378506,1042561280,264353418,2056852352,-221972674,-1724700013,-1755413938,1002609510,-1258478729,1328100359,2071345428,1844069973,-1077656209,520565528,-2051752146,-1866463084,-48569935,-2017051431,964768856,27733213,1420689104,-736814033,-920896016,849450479,-2061615320,464127431,-1146744985,-376004087,-164795709,1615043084,-1090687901,2143404918,938494981,916951182,-1410035390,-1037545032,1267848754,-1006174680,1674398439,918316751,1696231886,1110331597,-1393369239,1086024827,1158921111,736561277,-1834025524,-188414053,1170072538,1550940641,1022877984,1054803018,121050941,-2123235759,402165960,-439449860,-477576028,-583082227,995131084,514982578,736475299,13501837,1757405710,841321885,394837051,-1948104348,-130970018,-1786046793,-95297165,-1715475846,1003376750,-158735124,39782674,-381672884,-357267144,-1129263671,-1623163658,-1896073556,250380125,-1891663903,-156845448,-1399052890,-519648885,-755869841,11386284,-970517201,1649142093,-635847992,-2091632154,306231132,793636999,-834661095,-1542232797,142329274,-294240998,867438,585406020,1226850428,-535370861,1008891516,-1957524737,-2131556945,691098783,-870350643,-1310797191,245674175,260113679,808751438,1997523465,1162369435,2070536139,334152700,1056308565,903602635,1699279841,-363463011,-386504635,1243120465,-1951889001,-1099005775,-138611245,193997866,-793463330,-1294129033,1277418925,-577270748,-1926346522,-1512726268,-894821320,1985525364,-460062567,432832884,-713705104,346666080,-679774088,1534071569,1369010282,948007368,10467100,817201848,1377861470,1681373525,-1523728558,-1911710847,-1307075370,1698460604,-719680670,-213693699,1207553757,-1829235353,-121873930,-916836119,-1525386274,1115826233,-769776928,-1203266158,-780674830,200964308,1931736210,2140657276,515954952,-1696246167,-1220917405,139380471,-1382770144,-1669494721,344259049,-1845531689,-1667701367,-652206974,-1268891556,-629666241,581826633,544768793,358355074,-1791479378,-919290991,950303817,-47281032,941820674,-1130365469,1507877598,1118001533,1599895364,-125041524,-1022581569,-2054454098,1366593299,1123103981,-346032761,-513181605,-875464726,98954073,-1827977383,1261174675,150069258,-369346585,364572339,1424312723,-1324644315,724117548,1625849066,-1574277611,-490974557,1005114543,656814628,1846417172,1731370075,-1966131681,1187272278,-979725830,894060395,1196860505,270737619,241179261,-558853327,-2089563600,-1053636395,-538627001,1888252893,443803108,-1388234564,836089201,1593914766,395668512,-1029427249,-1152328988,1582002154,1885608493,-192189653,-2099027389,279582606,1606927191,-2042232271,1641984372,-1211368055,-140738127,1396900853,-1395839161,-208473996,889981611,-793433261,-452024209,-1782557162,-952137452,-386824050,-1058488776,-393302341,-552829906,601752262,-2084097018,171581602,-487171806,1086361152,-167233312,-1894032551,1618543744,-328971091,-245859027,-1622760938,-313464416,-1234702812,-929085210,1612144316,1233249390,-518897357,420290947,1392102614,2044469646,348670500,-146406926,-848861806,-1399912218,-997341624,-1872761198,-609959295,223568679,-595579336,-726587536,187827490,-1950329580,-114556758,-1342578282,1586539356,-2136974304,-384324638,-2147039686,1422399790,-725109892,2100511645,1785276584,-247880858,-231819964,1231563695,667658079,-1961456798,1733553403,-1763276358,4443851,-1067407512,-1371551304,417979700,1118076236,-961299509,54747093,-1344731423,365981841,-1944898838,-566340935,-1242677447,623870442,1161816771,-2030841033,1625488209,-653098149,-1127958824,-1051440624,-293488640,1227546017,188032668,2131400864,-2119798241,-1096960438,-1302540578,37277583,1027799541,1957454259,-95068659,1783969005); +/*FRC*/Random.twister.import_mti(224); void (makeScript(14)); +/*FRC*/count=156; tryItOut("/*bLoop*/for (svdqzb = 0; svdqzb < 27; ++svdqzb) { if (svdqzb % 6 == 2) { s2 += 'x';/* no regression tests found */ } else { var cllduf = new ArrayBuffer(0); var cllduf_0 = new Int32Array(cllduf); print(cllduf_0[0]); cllduf_0[0] = -23; var cllduf_1 = new Uint8Array(cllduf); cllduf_1[0] = 0; var cllduf_2 = new Int32Array(cllduf); cllduf_2[0] = -11; /*bLoop*/for (var xqtrgb = 0; xqtrgb < 68; ++xqtrgb) { if (xqtrgb % 5 == 1) { print(p1); } else { (29); } } print(/*FARR*/[...[]].some(encodeURIComponent, cllduf_0)); } } "); +/*FRC*/Random.twister.import_mti(424); void (makeScript(14)); +/*FRC*/count=157; tryItOut("/*bLoop*/for (let vcfwam = 0; vcfwam < 7; ++vcfwam) { if (vcfwam % 6 == 1) { v1 = evaluate(\"g0.i0.valueOf = f1;\", ({ global: g0, fileName: 'evaluate.js', lineNumber: 42, newContext: false, isRunOnce: (x % 26 != 9), noScriptRval: (x % 5 != 2), catchTermination: (x % 2 == 0), saveFrameChain: false })); } else { print(( - Math.min((( ~ 0x100000001) >>> 0), (Math.atan2(x, (x | 0)) | 0)))); } } "); +/*FRC*/Random.twister.import_mti(565); void (makeScript(14)); +/*FRC*/count=158; tryItOut("\"use strict\"; h1.delete = f1;"); +/*FRC*/Random.twister.import_mti(578); void (makeScript(14)); +/*FRC*/count=159; tryItOut("let (e) { { void 0; void relazifyFunctions('compartment'); } s2 += g1.s1; }"); +/*FRC*/Random.twister.import_mta(914435362,-2146255771,-105732212,2002819426,1661509384,2075901511,-1434073540,-403439838,1232282686,1625929167,234218189,-1132545481,-484908020,723727121,398445788,-777100951,-715399553,1487542390,-1677697276,-643937712,2001437985,1609639272,-246925750,1321224913,-1339821177,-265769277,291782901,-281982674,1601366796,969082019,-194081023,-28913406,-368959160,440986839,-1451566325,58673587,-1912549382,-1162027353,1034678479,1682239354,-1976572921,612825277,-515465377,1897600839,1458002634,1035786279,420267129,-1128531242,-959788377,-1788721437,1086941589,43954567,-5208187,-1398461337,66583903,1568392302,1328016047,-441869564,1847416579,-1473249801,1712510594,1778164086,-1995106506,645998079,-621128720,-1550148935,1277173591,763417120,-213058085,833623428,771006537,441262449,905105876,2037348303,-387901351,-1654796844,-537676353,-1258925084,1191021828,-764110945,-1460182011,889975058,1680063455,-1323010666,1854835133,-902838801,-516003697,-1425005528,-1455720215,-351000214,-782606749,-222516960,104874871,-903237755,213753811,534174357,1867314481,-1040534099,2098402116,1997353337,-1247885171,1574203644,1713456839,-1196578252,-670864136,609879409,80293013,-1273384740,-1339089516,529810332,-258796442,318479629,-2126350174,-1681680351,2095415600,-1185573177,1320979895,1144638572,910891684,159086977,-710997424,-182940423,-644158969,3488640,253120740,-268719980,-792650692,1079525640,1942725297,929196454,656222711,-987059893,1317398035,1966691296,1786983025,-453679766,-336998117,-690227558,1343649471,1311789186,274643191,1703536582,134650950,2092863147,-820868342,691896377,-1732369783,-1556890839,491485335,-1587769106,1035330997,-727775512,1584771181,1548105293,-1113036673,-1192023480,333634150,467784076,780839146,-850454678,-1499979977,-1664326789,1520350421,19458764,-757812669,1337651281,1966641551,-1308271919,1616876207,-349139805,-697130306,1514724671,-874541750,-1080227303,695842608,-971300981,237424026,-339955847,1512416961,760841036,792536446,-32940046,-980110395,438971390,1718620940,-206390099,-1626708908,-1460085691,-1319574367,730606769,2066071306,1361424439,678907330,-1173732117,2073075452,305625694,-440770058,1108374273,-945581087,-792105405,1552015722,-7343537,-1978466512,1970848996,-681334741,-250828884,-1196062005,1986673391,-1688974622,-1181584583,1962022037,-1745709565,1984110329,230862852,-1123636405,-1768657142,-1162642871,-1433510724,-982715967,-2140426891,-1969913028,1967060576,-1856602005,317926275,-118209325,254159467,1249113511,2031946326,2058054259,512101653,-1881266803,65193019,2044071312,-436446335,-1702823383,-928136566,221865246,353495600,12795659,-2072300674,1531331947,1294259767,-705555257,2094280919,-1322922894,-1115380839,1462692399,-867052130,-186550548,386385633,901515449,2118295174,-357915711,-1949197791,-2145817661,-1305502059,1248935797,81776709,667734250,-1560646575,1098908765,1321725474,-1948320877,-887378318,1746097533,-855329192,249354625,1480728352,1544210010,-560450498,-1439418384,1918034597,-1270032250,-154886841,-31167095,-980648875,-1062291576,-613946144,-2025657716,-1324526044,-549687718,-1797825463,642042190,1312919481,-222563220,952071182,-785020028,-995276669,-1232683595,-1841608838,358650147,-483568928,-1026633521,1654049532,2107248869,-329326245,911265473,280504713,590306030,-530320318,851457768,-1258269206,506195120,560963427,-1991422098,-385868047,1419642359,-411763319,936488581,742637461,1453438353,-1268439282,-1762697277,2028293694,-2126062784,439961121,-1885718638,285353035,-265046348,-761401013,1324488937,-511803896,-37167317,527251511,1200403267,49541887,-167925852,-1362296630,1210988637,120942107,-580566739,-100658196,-860614435,-2036355283,-2037086149,137397549,-1864000265,163975812,-1451560935,230247491,-1835735353,-1617972702,-611621078,-108232296,1514290428,690264193,-1813495104,1278166439,-1092303715,-344086151,1911642578,-125726787,-1303144462,-543679131,-861786746,-358346584,54368417,-1492688922,1474709385,1265943201,153195727,-1186067979,13968652,-1489624026,-1958945107,1800570057,253744139,620669393,282305370,-816428419,857649360,-2006151076,-146600120,103361958,-664738283,1258646084,1222067444,-842760483,-1798711234,-462517723,-1268026828,-1868253925,-111593797,1522696648,-1789945584,-1868426567,105780516,-492438038,-1409843722,446180066,274375150,-163278211,-424070841,724150961,782544753,-1188126553,648058419,1769329159,-1683028772,361063882,559233089,828637079,1687439952,-1249226360,1325461571,1406191423,-1423192775,-1395104444,1436915421,1773599828,-145117437,-1703615877,1869498553,1497208019,1244534387,-191827276,64386654,-1153197074,-1371738562,113019856,-56794984,695881342,2002940994,-1634321716,-380451950,-1958358181,-93080837,383073114,-734900621,2124564071,1572109521,-886894385,-247235550,-1594930281,1601832256,809969303,-1425757040,-1426298486,-822519704,81602343,659551669,1571798762,1818245307,717733925,-690982841,952719722,-756968294,1927030783,1546774288,-847950174,2051590138,-1123452743,918016034,1975000729,1987929810,-288263784,-602694021,1391588905,354978091,-1361020592,917936042,192413469,535363729,1638493023,1329515038,-185104181,1277525893,-764234696,1200283254,-546436080,-2126062144,1954497161,-2095848027,188706734,1259772848,-1743698045,-1352738176,437400347,1107598528,304365889,-921413514,1907072149,174044220,-422152855,-312222537,1109682975,2030053666,-787671250,-1302683340,-1884943466,1726809438,-1144614149,2122228302,-1890472628,232164150,1820260399,1451602923,1113763454,-1230096339,-1478508140,-1044146483,1421185915,1508071301,-1546871645,-106257379,1156544998,195998935,1311067884,183493032,-1877725175,267938465,187310297,-834314510,813367989,-912999823,-1608113685,1406741789,987761636,-387455760,2056550391,1061070734,314550032,1298422930,-1793209461,-926865289,1803178281,1451795766,-1460959441,-974189232,-1664703829,-1012306076,2045017675,1718499725,760708557,620382211,-2038199309,-942908547,474062490,-671423612,-493380732,412160290,1812544706,1975482422,-562743567,283229768,-1255233819,-471409190,781344713,-629513608,592298584,1867627127,-390715958,-480805706,-1168181585,-664439782,320720719,1668991592,-1385238925,-557784613,1698005147,1393659699,-1343721904,887002602,-1702774299,845484669,-808893744,1543424048,-254671389,-677362325,793884341,640516308,1946299360,1132202809,-697221039,1238331181,-1032665912,-1132373582,515443836,-120479315,-958905853,-1617199496,-1496964847,-1060648682,-458454608,-1842099278,1870304826,845387779,-191024697,866347653,90071229,1301766788,-2142266768,-1300507789,791644095,1944145165,1554468288,-301697829,-1991254550,1355124585,2041003239,-708205263,-563511456,-1122831417,-1960252489,-1621901784,794729856,2116014945,1561509699,623199337,-1489277481,979936448,-502315760,1832897718,64259690,-585059910,841806886,1171714503,1232389761,777012581,1628503394,-2005456201,-1970884440,1426885134,1038090402); +/*FRC*/Random.twister.import_mti(2); void (makeScript(14)); +/*FRC*/count=160; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(11); void (makeScript(14)); +/*FRC*/count=161; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return Math.pow(Math.fround(Math.atanh(Math.fround(( + Math.ceil((y >>> 0)))))), (( - ( + Math.hypot((( + Math.imul(Math.fround(x), Math.fround(Math.fround((Math.fround(x) || Math.fround(y)))))) >= ((function(x, y) { return (( ! (Math.fround((y ? Math.fround(x) : Math.fround(x))) >>> 0)) >>> 0); }) % Math.sign((y | 0)))), Math.atanh(0x080000001)))) | 0)); }); testMathyFunction(mathy4, [-Number.MAX_VALUE, Math.PI, -0x0ffffffff, 0x100000000, 0x100000001, -1/0, 0x100000001, 0/0, 1, -0x07fffffff, -0x100000000, -0x080000000, 0x080000001, 1/0, Number.MIN_VALUE, -Number.MIN_VALUE, -0, 42, 0, 0x0ffffffff, -0x080000001, Number.MAX_VALUE, 0x07fffffff, 0x080000000]); "); +/*FRC*/Random.twister.import_mti(234); void (makeScript(14)); +/*FRC*/count=162; tryItOut("\"use strict\"; v0 = r0.sticky;"); +/*FRC*/Random.twister.import_mti(248); void (makeScript(14)); +/*FRC*/count=163; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(257); void (makeScript(14)); +/*FRC*/count=164; tryItOut("t2 = new Float32Array(({valueOf: function() { { void 0; verifyprebarriers(); } b2.toString = (function(stdlib, foreign, heap){ \"use asm\"; var Float64ArrayView = new stdlib.Float64Array(heap);\n var Uint16ArrayView = new stdlib.Uint16Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n (Float64ArrayView[0]) = ((-8796093022209.0));\n {\n (Uint16ArrayView[((1)) >> 1]) = ((((i1)) >> ((i1)+(i0)+(i0))) / (((-147573952589676410000.0))));\n }\n i0 = (i0);\n {\n i1 = (1);\n }\n return ((( /x/g ? intern(/(?:(?!\\1+?)+?)/g) : this || /\\\u00d4{2}|[^]|\\2?(?:(?:\\b|([^]))?){3,7}/)))|0;\n }\n return f; })\nreturn 12; }}));"); +/*FRC*/Random.twister.import_mta(-260817686,-411674854,1848977787,282163141,-1783197589,1909893454,-965497319,733569628,-89346809,886672512,737118336,606725339,-1523591933,-58308243,732652048,-1664411815,896047336,1143880177,-1738549348,-512031727,-1799681702,-1768360677,-120316313,2105813380,-932795968,-1495735065,-1458659749,-2031372780,246211029,1498170788,1777751003,-1590468905,-1433501485,-805199477,328467657,-163374113,1689883675,-1733865992,40194346,924577356,1639425291,1733469976,-447210405,205281488,-629579226,-101782952,882523470,750626251,-344929596,730697871,-358887453,-85912563,36661326,-1564767862,-1816880498,-2010344022,1198314267,-1736737396,1674461116,-1357187782,1712301714,295830192,1688755056,466337362,-1011744098,-521027611,2003370575,-275774420,-1406172663,-1009279106,1180472415,1567864476,2060519208,742318387,986817635,1977782181,1363428956,677928242,673430675,1647171677,1083689874,-383913488,179731338,660319351,-843788611,-473419612,-1285658755,553046044,934182826,-2002405684,-1470938178,1752313936,867855499,-1178895768,757419886,-791648247,916735813,1935606420,-823078836,-717068430,747148800,481700753,-1148644210,-1379786575,-1617944292,-1030786800,-1178581811,-1581438249,186996776,870792932,-1638911819,172940793,1157450950,1904912953,-1903666331,806594806,308798595,-760137949,1033055732,2031527989,-647692985,488775980,982444599,951422972,625111898,621073036,-181277937,1747732976,1892378106,-603029230,326525781,1000689286,-1504048293,1876969091,1268698366,-1970118177,1178240640,-705051773,-1583635534,1458288601,780496249,-738611801,1170238478,1058559143,-1583395839,-521610835,384064442,-951274788,-1518276974,607428575,81648829,742918801,-1805227615,-393396585,-1261457170,-1431957115,-1213325719,-819978129,901399802,-1455524564,2046848785,713493358,1705113085,-478976307,1362994855,-1756729870,445359186,-616403979,1666823262,818387311,83811235,-229669938,-375946394,1922128716,-838396678,74411508,2057807666,-1110111086,-723647122,-1423979763,566076293,51595408,-1949476868,-1398573058,102223768,-1891435716,702043981,1402407229,-1548472131,267470726,1158109443,664325220,-2125204969,811544058,-1990973601,-2136546424,-684781856,-919063518,-1379186114,-2142993298,796955666,365752561,52125333,1735442939,-1494274890,2017494653,1763001887,-1829135527,-358673213,-1653708300,-807189347,-955483190,-1579534891,-1109179974,-1455066475,-1452359347,1452517428,647920005,-351169981,10235993,871087537,-1074547313,-1318987652,755349505,1411192130,-381829118,24020361,1411987724,1899880783,-254637214,-936860409,-1453484381,-635423663,305882066,1341096729,-1137696888,1045526936,-1299798054,638877028,1367623529,1125946025,-1738876756,2074722285,771391185,-2082154270,1790972500,-950800674,-288640468,1142138548,2063772388,1118136007,1681606911,2050529576,1879743333,1190447489,-224604496,-1037361831,2047884206,692508704,1397109282,-144550246,-1888237089,-1815163674,-1984393606,-1104865580,-603747019,456843740,1337116198,1209974023,-1337849949,-333604515,-1067512219,461640740,-763315371,-680318146,-1960341248,1178494719,-1455768923,-1570259169,1840340835,1910019953,-1063846359,906289833,2117151021,-1004222581,1263860350,1413800356,-1539028841,1488953613,-1223646402,710743842,1004395046,-1850025317,-793986334,1085785182,1846498742,1384332133,1472936232,1833061565,598809692,918473670,1975800379,-60952373,1440932331,-975117675,-614199625,-929098170,-2106086385,1714724581,-1192357475,1030307824,533451139,-1615161413,-1275262243,-186465325,811820131,1496060982,-1874159388,-1741391830,-842280928,-1996208788,-892760028,107889869,-1939165637,-349287628,-200408162,-2111510761,-778618127,-2044449725,204670151,-792581817,1623366061,415766105,1669509135,2091767966,-1705040244,1996765094,333838438,-711275769,-725643398,1045263144,-481433360,1289087034,2135358205,1596705724,879168660,-2046182855,1595813846,-241941169,1115047646,-1644300035,2087434403,-742363935,-1822360116,494813604,-1470293643,-812831007,-510791602,-2028495095,1002598883,-363859290,200564344,-1727433780,-1699981047,962081080,1058863464,-576957458,653049044,1834629190,474952806,992877705,-633418843,-1543745666,-1545824145,-1563555842,-2115285784,-1679945618,1320759458,-948437156,-833367877,970446021,1366006636,-943238815,-1123429663,511285740,1990020712,-1737716775,805032426,1741364767,1837933834,1096392492,-1150710053,1540753525,-1798225099,1591577465,-1459531880,-1653227341,153704909,-1198706389,1614131097,-215477160,-62049838,514475312,-2077265972,221634514,1480807213,-42731089,-764946380,935868090,694759586,2022815260,-391619813,987005322,-1782059861,1776250983,-497087598,307268209,303640092,1690732940,-1088601509,1692535493,-1293607554,-1880228114,-1551470807,361917776,1241129884,-886171197,-1668217868,-208313571,-1261842398,-605423293,-565275993,-1321233559,111690943,332576973,-14859637,-938451663,-1465915223,476731526,729120720,-1825268017,108912151,621121920,-453828408,2063258928,-1033807858,-520449159,502484537,-1723264290,-867845247,-1433815934,256310611,1256816529,978335456,1665237440,-2042847571,10666153,1538543949,-1104303605,-2122612860,-1903678333,-653020274,367794936,432938135,301323104,-653364615,2025659765,551157138,-1209147740,990564621,-825397430,459643631,794797443,-489118970,2076942642,331140084,-1358756938,1671899303,-199108480,1588770067,-1848121872,1138430879,1493124315,764560349,-2113224962,365350065,2076228021,-1370552832,-928986092,-524792247,223573976,-1055242253,-609526893,1574020167,-528151826,-95103955,-1854713700,1849832852,-1817121105,-496144483,567460407,1653223459,63532942,-1545370578,-884144554,1052267947,1252259861,1957652389,1368676082,-386898138,-492009058,-486119182,-1973302277,-377091005,1835002045,-1470396580,-1436506420,506389850,-543207166,-1910142628,-638359190,1711663639,-41353044,-1343545471,-1149329053,1174806054,-1362333932,1414090094,-1565543503,-1651947655,-1340576239,1876905612,1422327950,1139442328,406772009,-1663433852,-154214704,378818098,1853889601,-739107030,-2047241028,-834830392,-2041491516,291293970,332757833,-372828473,59395867,-1539738544,-1687195384,-1462884055,-1204699938,-1702496913,808044566,-300524262,17919369,-1214690953,-2087927007,648735093,-1957631681,-1471651553,1953924903,650285675,236407457,-1220669881,872503566,-1201295585,1977498964,-862592702,770540405,1606625360,1162342157,-409108737,-2041111453,2078719344,2116505010,-1345001066,220905696,949852404,-2045826691,-1676815395,1493917083,2099094831,-636789331,-2037069000,-1775191213,120513495,-1736156705,714536763,-1873551623,-1077755250,-1702128591,-110270370,-243037592,2103723447,146741812,-1018121484,1491655315,-901485598,2145772809,269495609,-857200673,1699729090,1568115180,-730345606,420904546,1634772531,2043822021,-1303525842,-604070568,-1695350015,-1945210775,1759936439,2004290909,-1224944892,1995287545,-601303517,-801212779,-814150335,-1948127126,-958059023,-778953887,878431870,-1208922167,-1521492282); +/*FRC*/Random.twister.import_mti(524); void (makeScript(14)); +/*FRC*/count=165; tryItOut("/*RXUB*/var r = r2; var s = \"_\"; print(s.split(r)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(566); void (makeScript(14)); +/*FRC*/count=166; tryItOut("t0 = new Uint32Array(b2);"); +/*FRC*/Random.twister.import_mti(580); void (makeScript(14)); +/*FRC*/count=167; tryItOut("v1 = evaluate(\"/*vLoop*/for (let nbfqcl = 0; nbfqcl < 30; ++nbfqcl) { const x = nbfqcl; o2.g2.o0.m0 = new WeakMap; } \", ({ global: g2, fileName: 'evaluate.js', lineNumber: 42, newContext: (x % 4 == 1), isRunOnce: true, noScriptRval: true, catchTermination: true, saveFrameChain: false }));"); +/*FRC*/Random.twister.import_mta(2056417856,1453266249,-246045532,1627122866,-2069469835,-1533336861,-772546846,-1452590706,36672877,-393986577,1501272710,-1135121180,-836590389,759432980,2143641704,1616956926,785924236,1710267305,199899461,1477250780,-1067588530,-2119944608,-1042327911,1087462949,2021777362,1113719068,-520899549,-875778715,1700528462,1725792497,352328768,1071289259,1170321464,187386872,2087169943,1517021627,184279619,1390415960,-460278355,1640185707,-1690911963,-1211177356,1835750328,-1106759716,2055908155,2135461671,1805992690,1329770578,246358166,1287636055,-108301088,-664885511,-585597116,-481035835,1263581062,-1336432957,913147942,312909342,-1850612688,1940198368,1399148565,-1938192461,-1935761235,-1353634356,811850915,-145741056,772152961,-555048261,-1192903226,-2103711867,241182428,-1970971344,-1273163445,1252855204,-1197707806,134055597,-152269409,-153956444,-1146972411,-1891047809,1462358111,-1317345979,-736635913,772092529,842992589,-1739012166,2112433107,-1713536725,294918103,803805290,-629793240,1215646350,-60427395,1539428463,1887093544,435276014,1685988621,-939695416,-1862932588,-952689764,-116289405,-1904974616,763678490,1847251641,63801515,-970851017,1781899674,-1897944510,659278553,-595373936,-1467958906,1944776849,1228767973,2095060211,-1156596599,442141029,1507206925,865500743,232285081,534407344,1354757580,1540396230,-1837150558,-883797817,1955038033,1578714612,-604161159,-2095377506,1744920239,2122313313,1234954797,680134339,1936839911,-1781069714,-207696196,937051086,-266415226,1223887088,1856465079,2021972147,-1503647682,207628870,1433830822,205423203,658613185,-853319143,855282300,1091898368,584444407,-1729359462,722846151,139785479,1166018237,-497654615,1457409394,-218728451,277806578,1540116468,-1559858207,1736721526,870935746,545825566,16343718,-2048858965,761767058,1129486472,60263266,1168999201,957272951,-290856870,-172875611,1495679686,646678006,1648649584,-1515534331,-1157312518,1695300409,340283141,1666432207,-990076419,957627580,-2081848701,-899913694,436255319,2059196593,401589972,911736697,518132690,1087782932,588203393,962236681,166893357,-403876749,120141633,-1187112550,-1709961960,435707814,1583005483,-2089619261,254316698,1504355141,-413074788,-1163854565,-543182460,-2140717789,-252339652,1141092873,-179223332,801608393,-2027213484,-775160885,303773549,-1006459940,1101298172,-1520848946,473880903,1018912537,-630337017,91127504,1354963090,1233676121,-749659052,158286126,-73625152,12922495,1850654162,-1889844672,-620481992,1861636344,206128888,-1386375364,1891553154,-309947638,1863102385,-1217186230,1560750497,-238588414,175219764,228458383,1990483264,560556866,-1692856511,-275430839,791293181,277910147,675532330,795400138,-1571539180,-1138400494,2038781221,-339457403,1167954758,-479200143,1518428220,-226309571,-1656668355,466984230,27488336,377064122,2121309045,-711319608,897632740,515354246,1441360169,-1511430627,-1458715325,1176132728,640767353,921130362,-2106773559,1194268721,927506729,-822058414,1890157,181500114,-189226186,-1054201382,833625008,932100503,2096923683,1511011854,-1990560243,373785226,-1921557700,1997333281,-1147955998,-124811404,-1506660276,-1745758676,-642766020,-1296056097,-1581907663,-1626966415,1314782382,-370341792,145526955,-1451328751,-1580617635,-1688349922,-1354599256,-381184922,532292952,-201046393,1293175818,40400928,-538108890,1467711655,-1120194574,872766804,-1969009649,-1192727953,-1528106801,1487860235,-1634665755,1491370949,1023548876,667702296,-1771298243,781230750,-1192767029,1051007101,-1438297711,-2033438932,300482711,-1107664121,1223632064,921974331,587937405,1365595732,-1662162074,-2022494544,-1767820456,1860703727,1415794133,-2081408764,1556730122,-713970525,457534682,431306540,370883441,1296490635,-580564844,-1125038908,1984152275,698742797,-1747710374,1884651355,-243439692,988526505,92865027,745487433,-999356930,396966674,-1790829653,238891003,-1764787968,247010886,-1827105418,-329019667,1180052916,-802347182,-15042726,-477831275,-1397568742,1467839556,1080639808,737314521,-1865599971,38252661,-773244099,-1205250194,1992262782,96837361,1671270787,31500916,1866129856,-5207605,145636969,-160060027,-2140972032,-891049697,-332049123,897199698,1605513476,1619192000,909674194,813280387,-1727769838,374272411,542485808,22844185,-645656457,-801994291,-168690175,1361913069,-289635343,859176035,1895565551,-1338759723,522162138,476249497,-352327011,-1189906404,597087440,-1587456436,-991760185,-1378923033,1659906017,-1755505966,-166415572,-1218697467,668375156,-2080079778,-609159275,802002459,-1862879757,704893583,188339663,-1888188705,211083726,509327870,-20388115,1390381651,1395747086,2057809637,1072516349,1096814944,-1184325100,-1123806579,1314697573,699418632,1106265160,715720892,-723362128,1406620998,-758707058,1248618975,-1610688632,128026757,1418746980,-1684920792,-1210358002,776423715,1103508865,-77758976,-333740109,-2026762415,1160572470,746287435,1546361711,624385974,-1128717976,1936107170,-1090813280,1091751345,-1213235085,-1197744511,725873382,805531712,868890004,59078262,-41600202,-924281035,-113408078,-1073861161,-389299734,1724425097,983532560,1603589912,-923535892,-74428075,-1640501091,422551465,1384974163,-1416998162,-1415257399,-1856081495,-774592827,-1278445296,-343667063,-1570481876,1207294095,310423052,449888857,-766990633,-1299093825,1767315573,-1312130622,-590062049,1478366570,-328402417,1362393867,1592633279,1985534223,-1038905424,2120154420,-179555069,-671096903,-545872328,115454870,-1471053917,188075797,-448175839,-1534285071,-136019526,-1948781246,-542931154,1926897015,-1121827426,1729218117,-51089595,-1422608893,1448616476,388547573,-1306528798,-1027504822,-1767417455,-1653577634,-425409121,-201342268,-1537754758,-685144010,-967725132,1841929087,-1026900146,-1942231916,-983117281,1629027681,-931776965,889241936,989588300,671873127,-31957654,-1033085716,-1286197712,1331835452,-1041667306,379638928,-1928069286,441595989,-108116735,466363431,1974237253,-1221699229,998709633,-161663540,-1426363421,1930600697,1730868698,-623578813,-979154177,-437352692,2145651277,-277598176,-1580260839,-1985247461,1454419715,466873072,1536013064,-1914968413,-569723841,502475915,-564238602,-1888419804,-1635841142,1666853254,810666960,-2101833234,-226173764,123339677,-595210893,-209271069,-366522142,1330043266,-426306689,2088687577,432524921,-1235216344,325147855,-500947712,851737059,-1171246606,-712696676,-592839888,1233605698,2032734941,-1978276106,1091336433,-1594157539,935961938,-805011659,800895344,-1479290044,799869891,-1318752921,-147100189,-188018996,1590891829,-406904259,-1162265151,289044194,794521218,1157695101,-1287932166,-1591812689,1402208952,-1723482345,-1491277901,944006210,-361388359,-1295401472,-1036919119,759623504,-771241568,773359836,-413566450,-555639985,1152150316,603862608,569586850,-1344530114,-740477994,-1139053422,1316799811); +/*FRC*/Random.twister.import_mti(26); void (makeScript(14)); +/*FRC*/count=168; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"[\\u00da\\\\s\\\\\\u00d1][^](?!(\\\\D)+?\\\\1+?)(?=.)+?\", \"gm\"); var s = \"\"; print(s.search(r)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(472); void (makeScript(14)); +/*FRC*/count=169; tryItOut("(void schedulegc(g0));"); +/*FRC*/Random.twister.import_mti(481); void (makeScript(14)); +/*FRC*/count=170; tryItOut("/*infloop*/for(var x in ((Object.isFrozen)(((XPCSafeJSObjectWrapper)(Object.defineProperty(x, \"toString\", ({configurable: true})), \"\" ))))){m0.set(this.p2, s0); }"); +/*FRC*/Random.twister.import_mta(-1027919212,-2002847865,1868724611,-2026274820,565889843,-773154963,1998800919,2038311973,1772642031,-1049460572,2094764435,1766127720,-1598639962,-2000775375,401014411,-1821859816,1883245214,-1288684954,-1125109091,170729640,1273745151,1989385548,-168493565,572216855,-537270685,-72425315,-1344303261,134852162,-1786037158,1272979264,1066228510,-1612395887,1271469209,-1903481060,-171114422,-1227077310,-40741220,-124272817,992879588,-553679726,-1004952398,1897144665,1268009866,2145370986,293048386,462809178,1718054312,-66392501,1397544263,-1141394143,-1341452907,1123503849,-1265969326,1084163189,1033519830,676356785,-1213674065,1237991337,-830666365,136431188,-1267236384,-280719159,1684185970,-1027856136,-970117450,115550378,1329620528,-477301964,814646007,569946343,1071458952,-1668092062,-1381665986,-404854876,1153532692,-1152292423,702832769,1867753907,1963467049,1673668953,1348560056,1087316020,630073198,577989653,1272560466,-176387270,-1892240877,59383267,-1520047478,1147934561,-705635195,2079201150,-1393144446,-732849253,1573691260,-170261018,1436969067,-1972798342,499478778,281824669,-1866076723,-1984642635,-1461425643,817826601,-1322417839,-1873563156,-1545371696,1028248585,-1516872438,-1948001299,-1842883104,11809843,-1066828573,2021327326,2131837550,-474250939,-1746187255,771453681,-852709102,-1091001481,-1332207043,-275029298,257841784,1193068557,-131781940,1923580631,742658736,801284294,705471355,2023987158,-329953569,1757834391,1072383335,1127517202,1944508800,-971557719,-1508517740,487402164,-366416198,-757498103,1351664051,-1482113655,-2059023941,1931879486,-1537923596,751907195,-1750802589,-1276813915,-97829631,1719221215,-298816859,-589150629,1928819656,-1362334650,1167920173,933459124,-1030613030,692366134,-93739744,1329863010,194493311,1542521435,371401769,-2001115530,1012555983,-543841465,883913067,468767470,1410259371,-746558627,-299126643,-507437497,913846565,1465391534,-1375428322,27917729,-597012769,1312193991,-955762696,1162727463,782002614,1984915678,908904692,-1768774300,-1312304488,1470518271,-740756775,1777103944,-240779070,263200429,-587365448,168103163,-313160147,-862227464,1656141820,-349176681,-1719081847,701801945,-1330698834,1092022193,1835231355,602401903,-713628413,-939435860,1461822364,-1106743386,-1986849644,1878369300,1342280722,1755902509,1998179546,440743340,-1968727481,-1603966489,354812621,-1441533949,1715048572,1823455156,-818350521,1663899708,1829037318,1732875975,473791554,1991655134,-453350081,-1145647694,603905119,-1245701400,-1900391173,2043458077,-10086339,393839286,1063546986,1822085938,-1896544214,1363929582,-2075503938,-484581749,1377228488,-1342044921,473604174,-115019920,1576339129,-520031488,-1492001421,-1421584008,453458722,368672630,-1822849279,1495165854,1087741876,2001119364,-1762766717,261511842,-543063805,-664669495,1261545320,884055619,970209268,1627659133,-733262866,-90777847,86002953,1986942285,890891569,1478692312,1424989937,-546697713,-383121822,-1324648627,-42786015,922198379,-1030540493,1661981121,-967393328,869908906,-483411719,851763585,-444482521,-1719481259,-583364692,1991869331,787205935,1428557024,1409545688,-1304769991,1530453618,-7378186,-2086894249,-1539968062,191862975,279356753,1640879869,2075582976,1053952958,-1120333920,-401287146,1920189191,-885795530,-653870835,-1476168440,-406122360,-572829764,684743825,1084565408,-2017635931,2103426720,174311954,-594135316,-520969594,-384916307,-1098485112,1664894615,2051818286,487265029,-1232879482,-699222368,-2101834294,-23769276,1789686115,1484489612,514492650,606483826,-766252745,-299962854,-1615340744,-1740544388,-1200142617,-2017299450,-346161843,2079298181,1599159161,594192345,-1575263406,1395473548,371604356,-968790656,-1627566474,-1833887404,2143468665,1456055700,560586764,26398963,439419088,638678492,739163744,-2042228563,1961183542,1951879952,-2141096829,1697336050,-1276004539,-519159843,-229493358,614800454,1833969752,1898962285,57424246,200112717,402511566,1018804159,-1691613547,-1873915612,-844406090,1027181076,1725504777,1136088536,-2000967338,374640840,-648977908,142206465,1069505107,-2078848667,-1756067239,-2072498875,1560004923,-1155099596,1275202744,-1663834021,-1903290472,1105098263,522197764,410676278,-221027398,844687455,2069742526,1137062123,-642223251,1272698051,-1887052422,1031003794,-850684682,1013312664,-986623038,-1247403063,-1801676987,1928781813,1866011320,-1370564182,-1589510346,-80782273,-225633008,1348638665,-858069511,-1253067397,149365204,-1388481784,624092383,222638408,-192255063,-981866146,-1278897481,-1552508694,490113291,-123756946,1034901850,-1826339691,1112502280,1280277532,-495430958,1794617425,-1831747062,-1028175856,1037271844,-1356156040,-1877005026,1570946747,-1427516958,-574553086,-1045511929,-386303352,1114974146,-1803992834,-528957897,1184244307,-1405153246,1733794281,-1379813305,806165406,-2022799021,-74917280,-619899261,335043100,1536634748,-2085960526,363413808,29060903,-500044420,-799741009,245814169,1760210538,-1656144274,-1530196766,-629208488,924805646,1275005796,745360238,-412639203,245143676,1051118417,1381519017,1938420591,768944695,1119745162,-1753727362,-1199949869,-1387411697,871418818,-581102202,-1187668276,924040081,1921950328,453667342,247599701,-651968819,1123946250,-1459845085,422814524,-1685315809,-941851627,-177994182,-689842683,1275142970,-81967908,-185492029,-730395887,2044798876,589943870,-1768301124,-1440841519,-2013472745,-2090365391,-100150912,1978030377,-1606061931,1250208828,1140598862,-1832357827,1971812512,1337146429,-1080195436,1845149599,-124312563,-1730283484,1999575840,-1974435920,2045211185,-1012159133,-1673932690,-1986443182,-1716197570,1060103382,547756828,1110910851,-1628460973,1372035392,-359806995,-516601169,1767457843,870713920,270673435,1576721508,1389720256,-915306575,879636813,814222566,813856610,355524298,-1119129568,-1062815206,-1512238979,2141784341,-427065389,620014008,1842533132,-60652697,-1415395122,-276342016,1789386365,-957098808,-1365057054,-1093296136,874274024,312052415,-1181346004,853559914,-1976725056,1810823521,-1429716844,-536928046,-1599821135,149183459,-1475493080,1370376111,1705653685,1972540248,-424409035,1445546753,-1061914377,-714650343,1978287560,2080509943,1369357206,-1988171707,-279946571,-1969619780,2124346510,797690826,-70495971,-1227323755,-84225154,1392696749,1269682849,738535885,-1814916603,-507771661,-1689159529,-1248635830,-2099010107,560247795,-280351381,1315410440,50648512,367818572,-1494220601,250054966,-294430103,-1244885906,-1060580292,558161505,-1703593458,785408950,-1475925961,-1039313996,1781444472,1815156654,791697481,-1565603904,-68455316,-863342060,-2131149544,1072701092,1164317254,1923172924,633867748,158959375,1141429406,503071798,-1290635129,1092530998,180567101,1694212087,1381902190,348812421,-367735190,-1113347653,-304879380,747423162,-575533401,730587143,-1394619863,-341076608,1789543739,1403733695); +/*FRC*/Random.twister.import_mti(11); void (makeScript(14)); +/*FRC*/count=171; tryItOut("var tzbfwi = new ArrayBuffer(8); var tzbfwi_0 = new Uint32Array(tzbfwi); var tzbfwi_1 = new Uint8Array(tzbfwi); tzbfwi_1[0] = 1; h1.valueOf = (function(stdlib, foreign, heap){ \"use asm\"; var NaN = stdlib.NaN;\n var acos = stdlib.Math.acos;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n {\n d0 = (NaN);\n }\n d1 = (d1);\n d0 = (+(0.0/0.0));\n d0 = (+acos(((d1))));\n return +((Float32ArrayView[4096]));\n }\n return f; });print(tzbfwi_1[1]);"); +/*FRC*/Random.twister.import_mti(143); void (makeScript(14)); +/*FRC*/count=172; tryItOut("a1 = new Array;"); +/*FRC*/Random.twister.import_mti(153); void (makeScript(14)); +/*FRC*/count=173; tryItOut(""); +/*FRC*/Random.twister.import_mti(160); void (makeScript(14)); +/*FRC*/count=174; tryItOut("\"use strict\"; e1 = new Set;"); +/*FRC*/Random.twister.import_mti(170); void (makeScript(14)); +/*FRC*/count=175; tryItOut("print(g1.t0);"); +/*FRC*/Random.twister.import_mti(182); void (makeScript(14)); +/*FRC*/count=176; tryItOut("\"use strict\"; testMathyFunction(mathy0, [-0x0ffffffff, -Number.MIN_VALUE, -Number.MAX_VALUE, 0, -0x100000000, -0x080000000, Number.MIN_VALUE, 1/0, -0x07fffffff, 0x080000000, 42, Number.MAX_VALUE, 0x100000001, 0x100000000, 0x080000001, -1/0, 0x0ffffffff, Math.PI, 0x07fffffff, 0/0, -0, -0x080000001, 1, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(214); void (makeScript(14)); +/*FRC*/count=177; tryItOut("for([a, e] = \"\u03a0\" in ((void version(170)))) const o0.a2 = arguments;"); +/*FRC*/Random.twister.import_mti(288); void (makeScript(14)); +/*FRC*/count=178; tryItOut("\"use strict\"; /*infloop*/M:for(a = new RegExp(\"\\\\1(?=^)\", \"gy\").setMinutes(\"\\u9A5C\"); 140737488355328 |= 2; Object.prototype.__lookupSetter__.prototype) {i0.next();s0.valueOf = (function() { try { g2.toString = (function() { for (var v of s0) { try { t2 = new Float64Array(t2); } catch(e0) { } /*RXUB*/var r = r2; var s = s2; print(s.match(r)); } return o0.v0; }); } catch(e0) { } try { /*MXX2*/g2.Uint16Array.prototype = g0; } catch(e1) { } try { Array.prototype.reverse.apply(a0, []); } catch(e2) { } a2.splice(NaN, a); return t0; }); }"); +/*FRC*/Random.twister.import_mta(-1321258439,2016847535,-1180802847,739167898,-74311224,927147688,-2064062427,-536204848,698409012,-699501994,529661139,777424067,1129318028,-210506719,430225744,639935029,-609572481,-56080244,-834036369,-1649836826,2017451299,191376927,477316714,4796775,-449014123,-2034159133,-1819947442,1082210943,56178353,318539455,-852808514,200965621,217132687,1607880281,529579216,856567728,1804603599,-2088790506,204183349,-699543019,-617382691,-1447672450,359785429,1186285389,-245167037,851709101,1523237473,-1880031122,901451376,1046520165,1376434957,1980209451,-960569598,-1741505419,-148989859,1168374929,374362564,237187731,-1476109283,-1438961525,-1722396639,1282266226,741675510,-693649964,1676068776,848851988,-2105955242,1013024729,-740257307,-101921842,-1720599188,1953786065,-622426912,1433827456,-1783043117,1651173020,-303346572,618573591,-685056221,438587089,2009833209,2036443568,-2140812252,1264105034,2141097989,-65982947,291874487,-2073103641,1213684833,188597886,-462880183,-82596943,1073534486,46245550,251492152,-340966899,228528265,-1452678958,100116193,-1462660748,-822771682,-1759125102,293813267,-1146791147,34611695,-2095326610,-793657680,117344848,2068947851,-1244269623,-923928256,2030213129,-1974977314,-2131667106,-112545695,-1669221509,-1009606018,-231613856,-685912037,564775873,-2084393701,492693032,1772561052,1547644949,62540966,-679695462,1419080614,-553647166,1771391896,-395389744,1709734761,1359385214,124371558,70828057,-1979944786,-1275380092,109007879,-1239048414,-2121124376,2114215835,-501298986,-519554596,-1499356666,-1813129314,-1267734670,-1122675465,1615566868,1418620603,-1564704502,247461372,-1695412434,958545333,488028821,1245007156,684724317,613618433,155128979,-1507709764,1513751996,811821074,1487403578,1984458008,-1678120432,1837501447,257469522,-1434644419,1712181759,-1832027800,770323632,-1439431287,1318736630,-1025115463,1841960247,724304658,-169843662,1922107315,7982921,-1861976538,1700907299,2137919752,-1588860355,1368042424,296719863,-1246784159,1337069573,-683834250,460803206,-758793540,1735911877,1215138882,-966179821,-22292494,-335966403,581000866,21777304,-769333482,-1952664105,-1950831069,-897992440,640231036,1669763009,-1732839972,1101799058,-1612867079,-2003130348,-21347259,-818624566,-2075067814,1345990997,938463310,1524576004,2073417140,1088950555,-2094501205,482239205,-1309615442,-790001214,1727489602,-685359841,-1697370955,1248714948,274180015,-1511794371,-1330109510,-1419603270,-1756192686,-2009737190,985357524,-1559402380,-2059582224,40870332,-104239990,-650086937,-1125939401,1816083811,953141878,856374094,-2003656273,-994157448,1457008178,-709749571,-1253606499,1093912346,931435521,2134757916,-589608152,812690113,-1599197446,1315171697,-1230265013,-344372038,435793757,944640785,-68256711,1220199162,1673724116,-611796569,-914821818,2107442250,2011119220,2123859141,-488639253,810673204,-1458505034,-1688190736,366536961,321810248,-250190260,1596379509,-1797690849,1911956153,1279911655,1562171162,-1766453837,-1827429504,-1394740679,-1079157833,-2064768853,2058996350,361730262,1311799546,-1319307760,-631053423,-1949915918,-1508752905,902067120,-2101418526,-837957581,-188304005,-449364757,52695878,-1590082720,-1650884436,-1507063725,514055779,1671504049,-167976774,-1502372532,2065294108,279268624,-1071691635,-663694896,-75848574,81756142,-141941284,-1781256040,1370217209,-765853485,-1319611061,1586007440,154941004,-246655641,1060601621,-152284662,-430012560,1307673491,-1023456592,1262455583,1486521708,215695352,-838476468,1375993775,827013854,488702515,2072253572,-684873517,933555382,-455583336,992012600,366137811,-317581000,1579529417,1096873197,2126682716,-1523388253,1150598262,84772497,1880314254,-1888868883,1208276742,1592017287,1608762985,-739968738,-1796344437,771033833,1724416415,935355105,1093479436,1621580760,1070026396,-1356824134,-2074227503,1209350077,-1963351688,-1985786000,-1080638093,53792476,-456880349,-80058072,53585394,50218399,-531209777,-376683920,1059985666,-523563958,935682822,-265022981,1975838133,-1876788392,-1148316303,1069430458,1465216151,548830543,-331604397,908982299,1521105117,-1840492013,-1870104976,-124402696,930083432,1169237733,818326737,1174894691,2074548206,709298114,1038873506,-428488469,-350711643,-394144398,1220828490,-1091047237,-830697085,1356542182,1635872542,-2348516,-412283190,1537145127,-1556160180,-32493320,-23223468,-807991423,-736450645,-481996379,-1553730785,1313520676,1185320541,-496132713,-65550233,1975656783,-1291387911,438601232,-1534896946,1621095814,-1576687012,-1298962263,-286635838,798821923,-381550243,-350826425,64126872,1395333687,1356684807,1192305620,-1767382969,595951977,-1064869083,-579135689,2068135158,-154287009,-1651699242,-893788803,-1126755344,-2127144795,-2099290060,974869491,-251351411,-896841466,-651368611,23443617,369314326,178503527,1526390418,-1605059539,-540812475,-720386071,2064268200,-514518734,-711007023,-1693596834,-1587236718,-2102224594,1440427286,-567222476,-1394623680,590139453,-194796008,-633780482,-1238657794,982049490,1730478620,-1022756153,699261997,-1250533516,-187390003,2017908095,-610136340,-854592718,-583103598,-1578320124,2055670443,1147175715,1788093609,227383916,1948143611,2122622788,1831126736,370416066,-466434350,23930820,653634770,2039297631,1581673288,853608878,-227693365,-1286380199,-1707558875,156719584,-522385699,1928057530,-967105396,353494191,730523884,-776592480,-1527973606,1388627473,948482497,1745894909,-1059757838,-1098617370,88013605,-1855724590,-372867481,141609144,1022672521,-100692175,711535132,951589830,593256126,1216024909,-211765893,511301379,304784156,-482611610,-565520677,377080170,950329014,1525094549,-1705099452,1802114625,1709622029,-1764953882,-1146024315,729281798,751204392,207196267,-399446084,-709601048,-61380903,692275068,-2012459927,-1194472465,1306756473,-866227232,163100263,-2077516779,1115717488,792777483,451167096,-851535710,-744207901,1013100941,-1941125081,103995818,-1098030021,-421370311,1415904601,1968096819,-1405690299,-1286032092,-2062545766,1201430595,-1853478570,-921582788,-172673630,1121217187,1998805986,1294629441,1534091491,2137698461,-1868627460,501129354,-1859266319,-1794548330,-680293146,1849881788,-337061340,20430889,2026610251,519877729,1036905632,78986854,750549155,107322410,1430426258,-376263855,-382630939,-594336931,954352774,1424793491,-1528475880,1414809302,-629465583,1823282118,316638786,-336050877,-1518534214,928773993,-1176166607,1449758450,21468854,16434789,-962147377,-1155949002,-67065169,2086549108,-1448900564,-1738834147,-1597027557,-1806587852,-1830202530,-400905126,1210465332,-1412529549,6671440,1392020182,-1487561625,492207323,-1552264922,-1075038238,1898556563,-996135529,916216109,-1716025607,328194579,601030657,-1000084311,-2146356778,199273577,-773605784,-795347619,1344477406,-895225688,1635091161,-1710632732); +/*FRC*/Random.twister.import_mti(134); void (makeScript(14)); +/*FRC*/count=179; tryItOut("mathy3 = (function(x, y) { \"use asm\"; return Math.fround((((( + ( ~ ( + (( ! ( + x)) >>> 0)))) >>> 0) | ((Math.max(x, (( ~ x) >>> 0)) ^ x) ? Number.MIN_VALUE : Math.fround(Math.cos(Math.fround((( ~ (x | 0)) | 0)))))) ? Math.fround(Math.fround(((( + x) ? y : ( + Math.fround(( + y)))) * x))) : Math.fround(((Math.min((-0x080000001 == /*MARR*/[new Number(1.5), new String(''), new Number(1.5), new Number(1.5), 'A' , new Number(1.5), 'A' , 'A' , (1/0), 'A' , new Number(1.5), new String(''), (1/0), 'A' , new Number(1.5), new String(''), (1/0), new String(''), new String(''), (1/0), new Number(1.5), new Number(1.5), (1/0), new Number(1.5), new Number(1.5), new String(''), new Number(1.5), new String(''), new Number(1.5), 'A' , (1/0), new Number(1.5), (1/0), (1/0), new String(''), 'A' , new Number(1.5), (1/0), new Number(1.5), new String(''), 'A' , (1/0), new String(''), 'A' , new Number(1.5), new Number(1.5), new String(''), new String(''), new Number(1.5), new String(''), new Number(1.5), new String(''), new Number(1.5), new Number(1.5), (1/0), 'A' , new Number(1.5), 'A' , (1/0), new Number(1.5), (1/0), new Number(1.5), (1/0), new String(''), new Number(1.5), new Number(1.5)]), y) + ( + ( ! ( + Math.atan2(Math.fround(-0x080000001), x))))) | 0)))); }); testMathyFunction(mathy3, [1, Number.MAX_VALUE, 0x07fffffff, 0/0, -Number.MAX_VALUE, -Number.MIN_VALUE, -0x080000000, Math.PI, -0x100000000, 42, 0x100000001, 0x100000000, -0x0ffffffff, 0, -0, 0x080000001, -1/0, 0x080000000, 0x0ffffffff, Number.MIN_VALUE, -0x080000001, 0x100000001, 1/0, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(612); void (makeScript(14)); +/*FRC*/count=180; tryItOut("print(x)\nprint(new RegExp(\"\\\\3\", \"yi\"));"); +/*FRC*/Random.twister.import_mta(1177354948,2077732951,-1466252263,-232912027,-1883556609,2016515432,-748230665,446352446,1837217654,883807009,1916026585,1416241673,330808630,1459018424,781825291,-733867546,-598634982,1287591617,-1606486351,-896905107,1979623053,-449875086,-1694607372,-121773662,-1967819223,248759539,1877986727,-1155421458,1358008485,-68255384,-1481592109,1774052295,728663589,-982416619,-1521482712,771153949,-2090816705,-452581194,1126889304,1041909687,-1913141790,-757728876,-1403954833,-1424324199,-1701812197,339307970,-667198606,-1882046255,-46998587,1364786283,2006292635,-1202541345,1953848951,1614112223,-1375575167,-719783978,851874518,-1373221140,947293826,261807665,-803373369,747792937,1282858230,-1292199661,820108839,-1270183585,871159038,-927060654,-1487639797,-2118701692,1040977701,-1935671948,272381675,-676051435,463558631,997735510,-1082546001,-870746102,-1187098265,-1258723743,-662564342,23052758,1129969655,-548745598,-112833383,-480548310,1767007591,1315994550,-1616487654,-1570019301,73163738,756398513,-952371237,309288755,-2024474315,242293563,-1336407693,-1992841794,752908667,258670066,-1958244293,1867334448,-2115705232,1231242234,-397700272,1613240288,2139880353,1566567979,-1450482905,1557063526,-959077787,1298075426,-1290264876,-69976084,-983381378,-2100117671,-1487782933,-453013064,-243758199,-1039204665,-722416560,1605994255,-755897384,-1760438603,-1878041784,1094536405,54950345,2022913447,-603486764,1044960643,-724291610,720873039,320380090,-1137445960,337517115,376009020,313162230,-991787295,-1534402462,508540768,1784700822,-1636939359,-1705860564,1716863540,1271845507,1981224352,230876089,-138664260,322635687,2016919972,1773105216,618354865,-1609913856,-889399118,449253385,1418131882,-425450500,801728637,1863512043,1635354460,1616139887,1922450837,2136258336,443741859,488366128,2131166646,-569036718,951578340,1744463935,1719331154,-1062087736,-250540507,677113129,1044712575,-855880795,-1622029487,1572908417,36372255,-695825567,1430152860,1344737626,-986454601,658126199,-1434059253,-236594134,555136389,1002265372,21692798,-2125740133,-1922570817,-961481528,-1164052045,1343699431,6087593,-273369020,1742697474,550784353,425913072,-88663278,814778402,-1399574027,-192436355,68104061,-1403520944,-1368150327,-866852458,1112387965,-1544740189,-1130204096,809102169,-1632584708,110137264,-374004455,334998586,778318970,-238861800,1626630450,-1857507759,268519980,-450379340,-1698443423,1511713321,-1999903616,93475203,-2130009983,628059860,-950763890,1470871294,961090095,-374532921,-822428384,2048114387,-1085741524,1014090137,117254405,1946430161,-1444138199,275452133,1057371408,-1603926089,-1789012055,1308644998,1451813689,-472946924,1657975637,1628312334,-623032560,-1949835030,1735528712,-280825431,759793363,261803902,-1439938000,196259034,-1967117692,-465732439,-1621952565,-646041354,1381137661,-1926368104,1830209983,-42404302,964599110,-825193657,920841449,1253949692,110195857,2070683015,1102183492,1302526188,339135029,-1273101418,-2039817276,-1850570062,1085540626,1005373121,-1977131807,180977060,-1298832204,1399677450,2023431895,1513857686,-1862556241,-121175310,-188451020,959052915,-241923337,863409317,-956218237,233100629,-1570359133,2116886129,2119450025,-441087216,1617300949,-1649796266,-762387678,1132527275,-2066916356,-1455742350,-1148440835,1713112486,2031584161,-2068006335,-2030870458,1222839492,81581783,421955696,1847297822,1204284625,2128893166,1070941132,-668122321,444409567,-1317008736,-1093009854,1593580875,672211308,729294413,-533128835,-496627653,-1611570086,-1712772355,-1919286479,1000980744,1999769376,1023856958,-690494297,-55796986,-1217533204,-1082578623,1374902777,1598642894,-199609553,1058385936,839192752,1690783649,1483210828,693986465,90345160,1294822407,-326060303,1370289475,1755319872,1318281640,1938819622,-493328191,-459054660,1079648321,-983454971,1278705666,1829597257,1145150569,1201135217,-1101994047,-1650597190,-1792924979,-1454826638,1802466486,-1955656022,353399680,1624783619,1241415101,584056787,-1627375774,93870144,-39488155,1651597882,1520563142,-980567695,-721992544,-1029874437,-654202282,-807620757,1138854413,-2095735183,812907164,367366588,2137825669,467306925,1268203013,-1597235993,1767207517,-209215459,826053036,-987710655,-1912766511,336903382,385116976,-114819166,-465301827,1970698307,1338487353,-503634596,1258383745,-1824676749,2011535860,-1078342732,-1906319473,-692527562,-851382411,609637288,1474855425,988148627,-1200551698,2126050677,-1304612240,-1278299870,1169696916,1781036671,-1195092884,-2119555351,806641835,-67346537,1983784223,1334702165,550393294,707996724,-76233089,-527825885,-1321534347,-868472402,-175885058,-400671478,-1607865411,218243158,1295128153,251290373,-1170133098,-128224996,-230919768,2011181636,-1925492340,-2042058661,40355130,-639119165,-978900952,1191892851,227617467,1978419829,1049281395,-1488528717,120201061,-1820640743,-322063483,548127413,383779587,-683331890,178827872,-913135593,1870645000,-1374499045,1929425780,264939087,1838835186,1414902096,-1296507208,-1816212407,1233207261,130329488,-240153776,474351295,-1754871320,1288169801,1035605907,1501678729,-822525314,-978614229,-1437900020,-307225993,1334691231,1679064675,-1039563732,-442559310,-1118469246,1819811305,-581201216,1845433649,484448535,266494400,613521790,-1817137581,1141053971,1609823672,225107003,385470477,608945961,342040802,-564829068,-352395314,-619315407,507116857,416005233,-151279802,-31394376,-323923355,1841842325,1265958086,1871302363,-1898239443,2086208862,76311886,-1130485414,802171814,1610475690,-1362532009,1120095573,-978442578,-92059404,1188036337,-237874308,-983990265,-821811263,-1163366846,790952958,1937405974,13355767,1323008860,-707342552,1966228954,560315533,903739222,-1949751486,1303026632,2006485365,-300451960,1310204353,-282227389,-82668723,-1132865911,2068170786,-1596172874,-1791498456,-1614698494,2019997640,-525115836,1253428589,1484462271,-821045278,521448246,-2058096109,-224827787,949484672,-1266311544,-617877729,-1999112821,1865074304,-1144370519,-579247593,1664068099,-2057758822,1596006550,233346545,-983280464,-314160810,1127290617,64842306,432325072,1505548551,296094347,1703178120,1972444891,1505547971,333854207,1838968158,-254921622,-1609567950,-614758680,-227131231,1408658032,-403275058,1302441917,1496400751,1331269046,154341521,-1222966992,-1726969530,-11960556,2139084741,778813186,-207429210,-939102686,-1796071013,970371251,-67658833,-1446363171,244658669,2116334841,1618735192,-796152240,-1735120149,-1030948743,-493830712,-2088079777,1990239788,-1887109993,216181795,-1629515590,-1947601580,-1391657861,-1412451983,-821134357,-1020823463,420462583,-1622675632,-1462816969,174563646,341911028,1095793265,-770845623,834747476,-1527782897,368043671,85741326,-1355941283,1459418075,635377993,-860498551,-2076888526,668352086,-995435256,-1565321166,-1640412159,351475862); +/*FRC*/Random.twister.import_mti(27); void (makeScript(14)); +/*FRC*/count=181; tryItOut("mathy4 = (function(x, y) { return ( + ( + (x ? (mathy2((Math.expm1((Math.fround(mathy1(Math.fround(-1/0), Number.MAX_VALUE)) >>> 0)) >>> 0), x) ** (((Math.log2(y) | 0) ? y : ((Math.imul(Math.fround((Math.fround(0x100000001) << Math.fround(x))), (Math.fround((( + x) , Math.fround(0x0ffffffff))) >>> 0)) >>> 0) | 0)) | 0)) : Math.sqrt(( + -0x0ffffffff))))); }); testMathyFunction(mathy4, [-0x080000000, 0x0ffffffff, 0x080000001, -0x0ffffffff, 0x080000000, 0, 42, -1/0, -Number.MIN_VALUE, 0x100000001, -0x07fffffff, -0x100000000, Number.MIN_VALUE, Math.PI, -0x080000001, 0/0, Number.MAX_VALUE, -0, -Number.MAX_VALUE, 0x100000000, 1, 1/0, 0x07fffffff, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(250); void (makeScript(14)); +/*FRC*/count=182; tryItOut("v0 = r1.unicode;"); +/*FRC*/Random.twister.import_mti(264); void (makeScript(14)); +/*FRC*/count=183; tryItOut("\"use strict\"; p1 = t0[o0.v1];"); +/*FRC*/Random.twister.import_mti(284); void (makeScript(14)); +/*FRC*/count=184; tryItOut("testMathyFunction(mathy2, [0.1, /0/, null, objectEmulatingUndefined(), '0', '/0/', [], (new Boolean(true)), ({valueOf:function(){return '0';}}), -0, '\\0', 1, (function(){return 0;}), 0, true, (new Boolean(false)), '', ({valueOf:function(){return 0;}}), (new Number(0)), undefined, (new Number(-0)), false, ({toString:function(){return '0';}}), (new String('')), [0], NaN]); "); +/*FRC*/Random.twister.import_mti(318); void (makeScript(14)); +/*FRC*/count=185; tryItOut("a2.reverse();"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=186; tryItOut("t1 = t0.subarray(17);function x(eval, ...z) { yield -13 } /*ADP-2*/Object.defineProperty(a2, 2, { configurable: true, enumerable: false, get: Map.prototype.values.bind(e2), set: (function() { for (var j=0;j<30;++j) { f0(j%4==0); } }) });"); +/*FRC*/Random.twister.import_mti(447); void (makeScript(14)); +/*FRC*/count=187; tryItOut("{v1 = Object.prototype.isPrototypeOf.call(m1, t0); }"); +/*FRC*/Random.twister.import_mti(477); void (makeScript(14)); +/*FRC*/count=188; tryItOut("a1.forEach(s0, v0, f2);"); +/*FRC*/Random.twister.import_mti(556); void (makeScript(14)); +/*FRC*/count=189; tryItOut("mathy0 = (function(x, y) { return ( ~ ((Math.sqrt(( + ( + (Math.fround(( - x)) >>> y)))) || Math.min(y, (Math.fround(Math.log10(Math.fround(x))) >>> 0))) || Math.fround(( + Math.fround(Math.trunc(((((y | 0) & (1 | 0)) | 0) | 0))))))); }); "); +/*FRC*/Random.twister.import_mta(458924864,52039004,918514523,328582613,1481546012,-413974235,2007537036,-1900948651,-35214278,305110467,15929593,1281619471,1095965475,914374198,-1416942054,1581033382,78341160,-14029160,-1279235908,-1019627945,413439373,-1240732283,-1663765262,1835595710,308116232,1534812914,-175183747,1364824880,821387490,-2015166481,-483646919,922672219,1139474505,-1600883780,-1206652267,360953036,-187974656,1676852886,1608664007,-1017328935,778054585,-1028573485,-1184252314,-355842143,-312841134,725070556,1301981870,190607032,-787542945,-1272807535,1382336638,-375739004,1619044903,-512342505,-996231952,711195167,416907577,832643763,-896504169,62836996,1560234370,1874481574,-2018420794,819451036,-1620315441,-829381737,1754857440,-149384503,425351755,150467891,-1008437615,2069743782,1600293282,-1688871245,2041077832,1153294500,-2087475017,2025987054,-1358160378,-1323656251,760280538,-1539026381,541525633,-1053159443,-501408954,-1448961921,2026621027,45740470,-557525793,1717958340,-1679733531,1690316614,985776264,1102525300,-1073102725,-1712388073,-1302301287,827881946,-352047972,-245157801,1020419422,1870380515,-362116144,1216138486,1956144830,441672789,-1737003924,-768546330,-1062331676,-123654984,-1560174273,-485537890,992338183,-1822214589,490237812,94735083,-925391202,-829419803,-1955219542,1790160095,-1206915068,-55690556,-1481499041,1768034601,-867442205,325233529,-387206716,1503349663,674999702,1685206578,593424059,-224469744,-1570754731,-1472039456,-1410798296,-1671242797,616061869,706988025,-1349220876,2139480742,-834368336,-2111404300,1816005164,968633229,-913118043,-1484898941,-1889825322,197057555,-1261693607,1543339680,816797230,-847497449,106022490,1362243393,1969380419,1052410895,193482833,1137151612,1938675031,-1426067030,-1182313531,1712751255,-2053652219,1795792784,1242733568,1991659242,1337836173,-949360226,-1007468349,-2141775658,987476261,1062405866,-706978672,1484789699,-1694369078,-1361468048,-683392282,-1149704706,-578538882,-1325202965,1155022096,-1242923615,-1574833960,-1957687373,25527359,-1993569259,963850252,1650116797,1987149277,1842170761,-1167918849,-1854350220,1236103003,-1353812279,-1318894984,1811032999,-1891951833,1274751909,-674449274,-2086665210,2106913755,1357304373,-1155071917,1711199946,-1457255648,990449720,-1846436231,-1055468176,1775987268,88079552,1462329900,-327002078,-1678376364,653469289,-1676786941,1704317454,-1800361735,-416456885,1685000961,-239710682,951062594,-2142191502,-65558968,1562852759,-268128424,-1114410170,2133246953,-1628005752,-1362872352,1371682251,-141251997,1206577674,543364406,-304172591,767260386,1880622449,-1022188178,527436401,-984070901,-1829421016,1367348597,432532313,1876628524,-322269859,-810621153,-1632711884,-2032515550,1797102857,413279630,1400407876,1789235201,122379792,513946783,-252773057,-1169187397,-430658600,-346167404,319663256,812131863,-1402416055,-1641543515,-458441674,-1411169872,917666475,1185701608,-979220144,1742894277,246994331,-463451483,712666019,-255506838,-1368456784,1676605317,767602215,-1885160185,1293161200,-247021245,1261337124,-2144592767,-976906861,-865364132,1441519352,1442872166,1656470179,-197301163,1800575795,-1022547063,-428385508,-1337947181,260766536,-691410053,961109188,-62233057,-2120005163,-103964830,1880959962,-264291655,-1048388753,801135007,-1683214845,-396632992,-601157305,-538243749,-1058400108,481533324,879412658,-1115037699,442316373,514790532,523578614,-556749301,1459816974,2106899407,1611386163,1574243991,682781349,1919772274,391507740,-841739481,-755337142,240091481,368436698,1177205072,-273378019,180452938,-175684605,1124102875,1115951325,885868693,752791471,-1181888299,1530711001,-1185493731,-939674524,-885890626,1808076267,-728421218,782738352,-507641606,-2068060197,1008983524,-320428790,838176203,-274852278,-145224714,590426901,417471489,1093292283,1192648601,-1045832098,-957605422,2003017480,-1449003874,1858827003,391494338,-73266129,819379083,1458132192,-148284859,-387443051,19323070,371155753,336434405,725106716,1760553945,139366297,247288763,-485198509,971565715,105228412,-1040566993,-1525532274,1503189737,2007234575,-1824742412,-319428585,1359984254,-1777224141,1503249182,-1164777081,-665021971,-1732225614,-1636703010,1393956999,-127966461,-1401169312,-520769599,-1292016035,1518697798,1857910404,-2001071250,-184945213,1179376708,-1288321390,1476365176,-1207858119,-1618215668,-453185987,1410296305,712285173,178994711,704449301,715385958,-881015151,1563176859,-996496570,-387688070,637806938,435615297,-1102849298,1385016344,-1064893259,769266433,-614165924,-594247608,1712740154,2027216275,516959007,2016767674,-2009554498,-917478882,-878618617,536687906,1176985126,226114446,1750926197,500532571,1622434832,751528635,-1036437369,504287208,-1346788378,-517606198,-792560412,1961725390,185138768,-5101658,-924235858,1333579207,498848562,-1403454481,1184103534,-182386723,2078196196,779095758,-166223265,-636167871,2112113010,1032922278,-1951906356,-752424251,-1987774750,595497150,1240199440,-1260633568,-1214752580,-2129272016,173835602,1141424066,414503070,989135441,638063126,-1888272118,1153900152,-1430758166,-500898764,1764242658,77964531,-166242627,-1860876740,1204290227,-290839287,-329170579,-663713821,-2077678814,907013358,-1131430653,-35836843,12218096,216725536,1614682825,1095147629,-911388412,1960851798,-2122714047,-1153075876,-1504099272,-1325221217,-1848388655,1600196343,-525978392,-742313969,-18900237,418516505,-504837002,193781296,264246720,1577652696,805971065,499283242,797350016,-1846695510,452724515,-558353130,-985498032,2017790708,-418216252,-1322634458,-1350264481,1860784856,-1725969793,179818346,906406930,-1801496970,-540383465,690871927,686242534,-64844561,1137737257,1978665094,-1689406850,-64418621,382232126,1392234204,-158768981,-775620192,892491901,215622937,455035612,-1572214454,-796642737,1445490200,2072646067,-1044741095,704944503,-486718739,-1442836362,-111720966,411656085,-432672231,-2142253354,27193559,854631905,-2031083230,-902388474,-1170116505,1444408769,-100958067,-43352060,1149645469,-2145122986,-1791130515,-684364197,899896944,-1173083266,891551156,540856135,207293577,-890798525,-1953170727,1681755094,2128919040,-79779893,-497345999,381729157,-1313212317,-384424785,-602911381,-2061660110,34524332,273051979,1120410270,77460942,-2056051562,1520947299,194911034,-1106419244,542851823,1616265353,-1871674291,180897258,-1004266800,1044505769,-1809463677,-1694172207,694907500,1324547126,823861394,1046131713,-1051774641,-747205377,430421309,-796718999,1978466477,2111749063,-426701731,153772065,-2079404155,1788671852,-1787317618,-1993575131,1806151431,964331315,1588347350,1535021431,480908161,-1331528835,1643912202,684592969,-963544332,-664184481,731914391,-1359610393,1852564016,1082896239,-782089923,-772854625,-895448457,-1491932440,1679733440,-496219509,-2115265113,-227016590,-1842959188); +/*FRC*/Random.twister.import_mti(83); void (makeScript(14)); +/*FRC*/count=190; tryItOut("/*MXX3*/this.g1.DataView.prototype.getFloat32 = g1.DataView.prototype.getFloat32;"); +/*FRC*/Random.twister.import_mti(96); void (makeScript(14)); +/*FRC*/count=191; tryItOut("mathy2 = (function(x, y) { \"use asm\"; return Math.tan(Math.fround((Math.atan((( + (( + y) - ( + ( ! y)))) >>> 0)) >>> 0))); }); testMathyFunction(mathy2, [1, 0x100000001, -0x080000001, -0x100000000, -1/0, 0x100000001, -0x0ffffffff, Math.PI, 0x0ffffffff, 1/0, 0x080000001, -Number.MIN_VALUE, 0x07fffffff, 0x080000000, 0/0, Number.MAX_VALUE, -0x080000000, -0, 0x100000000, -Number.MAX_VALUE, Number.MIN_VALUE, -0x07fffffff, 0, 42]); "); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=192; tryItOut("t0[({valueOf: function() { delete o1.v2[\"hypot\"];return 11; }})] = Math.imul([1,,], ((function sum_indexing(qfjzrl, jwmsqf) { ; return qfjzrl.length == jwmsqf ? 0 : qfjzrl[jwmsqf] + sum_indexing(qfjzrl, jwmsqf + 1); })(/*MARR*/[ /x/g , objectEmulatingUndefined(), /x/g , /x/g , objectEmulatingUndefined(), /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, /x/g , new Boolean(true), objectEmulatingUndefined(), /x/g , objectEmulatingUndefined(), /x/g , /x/g , new Boolean(true), /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, objectEmulatingUndefined(), /x/g , objectEmulatingUndefined(), new Boolean(true), /x/g , /x/g , objectEmulatingUndefined(), /x/g , /x/g , /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, objectEmulatingUndefined(), /x/g , new Boolean(true), /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, /x/g , /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, new Boolean(true), /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, /(\\u791b|(?:.)|.*[^]|\\B*|(?=$\\b|[^]+?))/yi, objectEmulatingUndefined()], 0)));"); +/*FRC*/Random.twister.import_mta(-445519725,-698848125,-1162425920,646738585,-2091115688,1366795936,1428987876,601848198,344315256,1905615321,-1724030334,-1604859121,-1526479371,1195916053,-1348905114,797942037,-454007536,-2055949290,-1635631922,-1383192694,-1663210238,912200899,-24323487,-1065427046,-434312834,-1137511997,780900286,352357375,-224080803,-179624808,-1564230942,-1808377280,-764214951,-619739523,-445089408,-616551734,-1589959761,-1038869262,-1280431133,831160997,1891200024,331879156,-237617091,-621425210,319300864,-739399030,2121332408,-1610663874,890121544,-1289306754,1227431856,-723926678,572249624,-1318473539,1170062130,-1239752451,-936128362,144491956,-163106754,-1351989263,1031908737,1204818977,1088371408,-1404548119,-666307838,-79741190,-431757373,2132656400,2136452722,-774717579,2030780576,-643427732,95885754,991703703,-856369829,1956652521,-1542354412,-1817236447,-141946413,-366491666,1995945363,-913220241,-1249947895,288397162,-1935713139,750781930,1975304589,924004081,-931688898,849433237,-1016943300,-1934412907,2142934861,1504338954,104727771,1055330528,1079915252,-731194824,-365562172,1370045295,-256081930,88039825,2046563153,365603807,97299295,382185749,-1214234139,-1525320926,68525224,798680708,-1062366999,1797183747,-28280538,-679215675,-1855079744,309165917,1793057243,-1703887678,-981681977,887145188,-2106224243,-1996373543,-1740001075,610333264,747694496,582860508,-1489052724,-493570464,-469900615,-1114267649,898976657,-752357975,-160902214,-2056239909,-2129546450,-1327592262,1302583098,1036966797,-1656769602,-1927129554,-1203501440,1855347331,1675843328,1032718427,-886481207,1969054474,1512570868,1230511989,-675295433,1312835286,1179462617,-1102945495,-183003678,597531560,325613237,1274672812,339775822,450523402,542901601,-436742534,-430375651,1361325598,-32492271,1093977558,1170185589,1172895314,-1041240322,-298735301,-242060280,762531042,-1011233250,-1342980486,-146376814,499551278,363120678,1866454205,-657500567,879085916,-904451312,-597590180,-1549349664,826718437,1288713035,-754829526,1505422341,1660452015,1006637570,959772128,-2038077577,-892653418,2041007784,-1014713485,1340127988,-1949880893,-178909135,1310078245,-1994906208,1446569860,-1488908706,-286742253,896865856,-301480038,-410461717,-1648463691,908273435,-1467287344,1042754414,798172245,506850785,-1690908053,1472016411,1697975907,216029471,1332135937,1500170640,1034230084,-2064253622,-1414228432,-373725650,-1917377346,-896996786,-652658228,-1819960108,-630317785,-551410684,350474585,-1654791704,-1307315357,665962169,410266670,1165559708,-1821535805,-24097129,66135189,-2099524639,890013647,-1490693058,580514008,-382899429,1422622608,-761037210,-1737171600,-2132650140,439330368,-903622260,-571531297,1091066321,-1869840443,534992737,1389798078,-1009028974,1883587566,491601795,-358291012,1714085395,-2029371497,-1127353644,603920694,453673147,74429908,-1453729690,-1333143208,420587328,-2106782501,-523945894,1498915166,-1344382793,-612238955,-537028614,-910892280,-1916646114,-67637731,1543851334,-525788956,-109760186,-1801061066,-693010324,-801660625,791919484,1143872950,-610509887,1857914497,508530035,1797641827,-465749774,1321800997,-598611329,-56010569,1403269,-223117390,-252910197,2137354450,585509583,-1700452238,118707453,-566197263,672883229,-1209803600,1299756466,1905981322,-872346901,973726505,349514147,-364362542,-1986375944,1883655922,1040313371,2040545233,-972305644,52406483,2058424941,727560629,-2050141268,-1033964007,-1170035844,-247382777,957064475,2088768624,-439480400,-1584011458,1397790439,623597683,-1875514703,87985617,2007091430,314408822,-370965538,1943169891,-1973909863,-63812636,-514031892,-2140177138,1966697255,-767987398,1241466120,777980647,2026452828,-260927340,-1337222607,-1606314028,-504320192,1352649978,631403640,292807712,1390450071,1342506520,-1921164730,955649694,-1445646602,-79709148,1607548372,943723503,-858736770,-1399585107,1179451560,580784035,-1763625585,-1760995732,1046173244,-1225015323,393692560,304073091,-1522357068,-522415607,-1595855714,57256636,631299160,2109260566,1840549565,-636027576,1862735004,1055753058,-679202862,1404677646,-1507173471,-1086843896,-599773936,713149014,973317941,3239371,1878897009,1548780762,-1149613520,-1318612976,1290247226,-919707042,629265803,-1961212994,1719309660,-95601498,-1572827160,647656279,1550980379,-1441780926,1798955000,-1101559154,-972715229,817285689,599868255,1796954182,-1875854981,16072213,-745994454,793899387,371760383,-1100675155,-1889309711,911542047,778524050,630646087,1783170479,-1772137126,1330263425,1380602406,1245699709,602388833,1554748870,1170078197,-946281556,726174715,1998532895,-1163359584,1829083702,-1884997529,-81864991,816020524,-558720229,-1172827198,1444145926,-1466974689,-1973247674,1186061694,-1058290014,1146219913,706173821,569179698,-12424772,-1458837977,1810425850,-2084269001,741291574,-84801887,1078622646,-1815217619,163051456,498842193,-213581817,-733972451,-590537942,1662933353,-1632868778,-1902285733,806758865,-2026651400,-371204291,1731933985,1566207623,1736267901,-1623721588,2061664096,284503454,-2057147548,1466894579,-1300628917,1401651906,-1648791190,-812573386,1889560039,-788627858,2047796962,-1267596261,622576101,685763825,52217920,-880047694,-1733543617,-1255111605,-2088351766,1982873598,-1269136840,1393494357,1123841681,-42327236,628733995,2120065944,1210458791,-974759868,2025357649,1177677564,692239668,1921328131,111298044,-1943660915,-1624621428,-1639475571,-669147878,-424645660,214953981,-183053176,1271267590,-396374991,755204616,-1141250115,-1273970876,-1407900587,482015262,482018341,358000561,432615405,-1949771629,780022230,-12685573,1149681182,716990763,825689939,342291702,1437239578,135031360,1167946897,792785904,2109284044,1282893794,-146971489,-1973984617,-553541536,-1897322157,-285256231,-1047613563,724375436,-442531749,-2124647458,760739582,-913064927,-234155905,-774492552,-1827945681,2142505518,-1342370440,-2125465498,-974474041,463027885,976374099,-231133802,1544615832,-1196942180,399329679,73439143,770037477,-564071966,-1876432870,-693567688,-2060202220,1215091790,-186018207,692295097,55464421,1662483839,1562865938,1554886845,120041164,-313840582,-311908814,-965069024,-1432233151,1906760826,1573402809,1463878078,-1551997095,295217836,-1266025470,806873455,1353609072,1388090451,2032534184,1027146499,-1227645412,840609164,-151868081,-1452220138,-1984653941,-1903817787,-2140847581,-1316725699,1114372280,-1011028134,421668903,-1367986260,-1856852145,-1414471173,1441880596,889714760,296228981,-526935499,-2109263516,-671549977,-1339486606,1092168277,441020202,878074405,169518495,-1084044974,597666023,-1871825693,1761072500,-1109626039,-1151718828,1892639694,-493746678,2132294048,1313232448,2109681796,-1030368746,-1105489082,-1664306461,983815167,-1752845364,102091074,-238421348,1419061815,-196312959,1944933710,302374849,-146481960,766889909); +/*FRC*/Random.twister.import_mti(344); void (makeScript(14)); +/*FRC*/count=193; tryItOut("e1.has(b2);"); +/*FRC*/Random.twister.import_mti(357); void (makeScript(14)); +/*FRC*/count=194; tryItOut("mathy1 = (function(x, y) { return Math.imul(Math.fround(Math.fround(Math.pow(((( ~ (x | 0)) | 0) | 0), mathy0(Math.fround((x === Math.min(( + y), (( ! (x | 0)) | 0)))), (((y > (x | 0)) | 0) | Math.asin(x)))))), Math.fround(Math.pow(Math.sqrt(Math.fround(Math.max(y, Math.fround(y)))), ( + Math.trunc(( + Math.fround(Math.imul(Math.fround(y), Math.fround(Math.sqrt(( ~ 0x07fffffff))))))))))); }); testMathyFunction(mathy1, [Number.MAX_VALUE, 0x0ffffffff, 42, -0, -0x07fffffff, -0x080000001, 0x100000000, 0x080000000, 0/0, -Number.MIN_VALUE, Number.MIN_VALUE, 0x080000001, 1, 0x100000001, -0x0ffffffff, -0x080000000, 1/0, 0, -1/0, -0x100000000, -Number.MAX_VALUE, 0x100000001, 0x07fffffff, Math.PI]); "); +/*FRC*/Random.twister.import_mta(-1030599513,2124031935,-1588211243,-1851869993,1750003013,-115390248,1052659128,476739139,531040158,-2080515408,-9022905,-437385289,-549828590,2105912860,1485845775,2100430601,284166189,92192794,1965075108,314909511,-2019900597,1641430595,1266148406,68240800,2109293214,977293801,472763719,1531183120,1241968224,-1881979286,-268222750,-1507665035,1543556606,-119628410,722585627,159311786,626779120,-355926445,-534704193,-954277968,-1594888355,-905218245,-289508652,1705714870,-754658332,1064436458,-1674418638,1395712356,69788910,-1747873825,-30631768,-1916735450,-492686872,-59589681,211332346,1410318746,-1015176670,-755218654,-1450793978,-1701705576,-576855374,-1084726044,-170988981,2094093343,-117574631,-1119466547,-839443773,1814058491,744005135,-1290486426,1551068369,-1843006797,-24621194,184606313,-968662066,987179515,-742134129,692466052,-306193720,1464069725,1044797826,-1249433435,-54343283,-867690548,345797732,1588392741,-1476878452,1516659847,-2004993230,-464056614,-1477859260,-1595665019,93818673,-393046351,433180044,-1408692233,-1256238192,-346198545,700559474,-554806241,-682037270,1356885503,-668212170,1940990273,-1083643299,958494608,-426113323,-299898367,192383836,-1511687026,-103711761,652284798,2030147246,1724443830,788554122,-387842516,662976330,-897455121,1310102916,-845614845,-712754573,-1867441112,2104527576,1810983452,1563015308,-459142791,-81970777,938992099,1227576947,758989006,1897261454,1343848017,1043272425,-1043027383,1966649507,-1354606660,1977929062,-548800601,-711268296,597035374,1103007974,-1329703962,1109721141,-1492836074,1084029142,-550841748,-508278531,176114648,1894607588,-1102138732,-1412671570,-1528087789,-1041685042,1175745725,-1597033406,1112317161,-108744988,-1603983402,833993432,-1993100498,901080605,-89318678,1740491815,1453085279,-811803365,-426917793,1152499459,158328446,191995592,1990059697,-192432028,1782288741,-93668843,986025340,-29805071,-405565512,588572166,405968523,-656203342,1674169340,928596450,370165868,-1607102946,2069089560,672255147,-1350281924,1592885832,1509354558,2085073004,-760903432,697845289,-868172671,-921011158,-693878641,-273960392,-467957531,-379895130,-1000836408,1582688804,463708533,759860455,-560298481,-573756134,2105272832,937088143,-813850284,-432605311,734934374,801767358,-2112271588,1224749540,-530536976,-251821409,1359631436,-599302476,-1134465565,-921241093,1316970728,-782360173,1666301029,-1656396166,492299357,7552717,477906764,-1048803406,-102093780,-306936101,138551076,1923101096,-2081861093,18926825,-1911653679,569338445,-1495590761,-538671749,204860801,-760143140,1390958357,-1886668673,-160696543,834650276,417406653,807785513,903995627,-226361558,-1934870893,-2087998342,1365497892,1220374300,1788501119,2083775575,-367563392,252847415,-164621679,-1043747068,341841674,-567489807,1687080544,-1542127201,1219240397,-1600491222,1738087355,-1858023144,1429831645,-2040320260,1858507579,869700517,-820960096,-1362032961,-1470147493,-2124913817,-1123650233,254185112,-527892847,425861119,1869620440,1724051351,-1447738090,-1344798979,1449438423,304400464,-1699226980,-124413324,-245154213,747666799,514253286,2110657564,77588143,-2046698691,347088977,56880246,1887850913,-1340809228,393609314,-636967716,-513957922,-1461365954,986658312,-1427601034,1098939100,-821256414,1428244416,267586450,-1760638477,1365579517,1807195162,-224706198,490978312,1828736019,1486024804,1089372105,377150898,-1500825354,-86390222,-1144108325,1307793760,-636025630,-1794199652,-265361894,-180915043,1661962839,-2000451573,2006907328,-1898989597,-503066028,489714077,1041224049,1266424953,788088845,-1467622592,864458694,1560080145,272486157,-2107268015,1614340013,923996402,-1646512956,956040744,1992415380,167362830,243731147,1037130678,-531100612,-1745040034,-494704413,1218984103,-1847331252,-1049711352,-315702726,311956530,-287714508,2067915571,736148208,-1740916237,-1078962451,-615285653,1723460600,775438992,-764669572,1972678689,1372847703,1738139385,1176809063,630479657,-1627577607,-951417324,491415781,-294885529,-1649070782,900106875,-1200365401,1801383743,-1225390741,1806292466,1440956892,516783212,-351381569,801453291,1039875369,1864322473,1748776656,-1116597926,452941025,-1611177735,-2064509191,-92413758,-1933667599,1183329459,-947157831,916294611,-1663444181,2024630089,-209332738,825053439,373564217,-243537018,-1211223182,2087692564,1605778758,1803179639,-474504535,-671238556,695453658,-1324869466,-1643600510,106570901,-1578370900,543877931,-1647080944,203013142,1887201205,-692296012,-2036237265,-488186455,-787644335,1376942735,1769194717,173291519,15485347,1805472890,-873462305,-1725333725,2059510793,232560905,-1677079330,-402385034,1185917076,1178827108,1406527967,-1728283207,505611455,397359070,878569295,1781918432,993544831,275303264,1335101648,1022640665,2022334260,-1494607484,-176429117,-1134402961,747577386,-1915944421,-643166945,1911820623,-1871105868,-215749649,-170887114,254086630,-1036369474,8332165,-93074352,5495194,-489212821,-989481420,694111994,247148591,-209762975,697695362,-1536545499,760984029,-1946050437,-1149967427,1546973088,-398248220,389248269,432078739,1709600204,-1290508549,-26955578,2145827213,-1927130445,-1504810845,-2076347292,-1959944730,727285642,120322984,-264622948,-6483646,1313249542,-9126246,-539722816,-519955651,-644517908,-2031735363,-1376202310,-2088597932,1933067553,822801350,1449680163,427332965,559123581,-436344772,-1558189523,-578210995,1999639418,-1143797469,-656050748,-1576937377,-1240907883,-1651090178,897088378,-1446982302,-404211431,948096048,-976793648,-2016874631,106628618,-1347779937,1475656185,1322459744,-1829739092,-61003926,246193364,-1395351632,280370545,-1197087007,1730553945,-1899474798,827175827,2023663180,1031708234,-949648626,-458026370,1151308613,-1202741823,-1701178140,-18467022,1331507837,-1046138228,-324765646,-1950702342,-1703913898,-842076864,316295428,1332508376,4817914,-309905650,1917785983,2127060548,-2100110320,603660972,-968684884,1205910404,1796611350,2060267312,1279259302,-1060078586,483034716,-866758551,-2043299725,-1102312846,-207180942,-741112748,-2038806931,-2045353015,-2066153657,1601124471,647518480,-187566264,50709565,-78951027,-451978503,-1894733141,1566660683,-2125577603,1179344797,664118711,559630420,-1079248154,1389728277,1950038515,376948498,-637050362,-1272736516,-1326845366,-1168006209,-1500309207,-173338675,1090627645,2121975852,-1167687625,1197972565,-73275812,-984152406,-1540008103,-1660731787,224480243,1554469443,-1270290484,935223100,-2039931226,-272719159,-1233592226,1680935095,948059630,995130730,-145027793,-1454939710,-1553026722,-992154766,1790351062,1827200708,1919427009,1167887566,1582714540,397421056,-1705952646,606129315,-1094874638,-603988134,756222316,1223150545,1296758101,-2071896040,242841245,1872494319,-612132906,-1972142247,-1591275584,770067797,1051311235,261072382); +/*FRC*/Random.twister.import_mti(6); void (makeScript(14)); +/*FRC*/count=195; tryItOut("Array.prototype.sort.call(a0, f0, g0.i1);"); +/*FRC*/Random.twister.import_mti(30); void (makeScript(14)); +/*FRC*/count=196; tryItOut("mathy0 = (function(x, y) { return Math.max(( + ((Math.atan2((( + Math.imul(( + y), x)) >>> 0), (( ! 0x080000001) >>> 0)) >>> 0) >>> ((x >> ( + ( ~ ((x !== y) - Math.max((x | 0), Math.fround((y + (x >>> 0)))))))) | 0))), Math.max(Math.atan(((1 | ((Math.cos(y) | 0) | 0)) | 0)), Math.atan2((y | 0), ( + Math.max((x >>> 0), (Math.expm1((Math.exp((0x07fffffff | 0)) | 0)) >>> 0)))))); }); testMathyFunction(mathy0, [-0x07fffffff, 0x100000001, 0x0ffffffff, 0x080000001, -0, Math.PI, 0x100000001, -0x080000001, 42, 0x07fffffff, 0x100000000, 0x080000000, -1/0, -0x0ffffffff, Number.MIN_VALUE, 0/0, 1, Number.MAX_VALUE, -0x100000000, -Number.MAX_VALUE, -0x080000000, -Number.MIN_VALUE, 1/0, 0]); "); +/*FRC*/Random.twister.import_mti(325); void (makeScript(14)); +/*FRC*/count=197; tryItOut("mathy1 = (function(x, y) { return ( - Math.fround(Math.imul(( + mathy0(mathy0(x, ( + Math.hypot(( + x), ( + y)))), ((((((x >>> 0) == (Math.atan2((x | 0), (y | 0)) >>> 0)) >>> 0) >>> 0) << (x >>> 0)) >>> 0))), ( + (( + (Math.fround(0/0) === x)) >>> mathy0(Math.fround((Math.asinh(x) > (Math.cos(( + -Number.MAX_VALUE)) | 0))), 0x100000001)))))); }); testMathyFunction(mathy1, [0x100000000, Number.MIN_VALUE, -0x100000000, -0x07fffffff, 1, -Number.MAX_VALUE, Math.PI, 42, -Number.MIN_VALUE, 0, -0x0ffffffff, 0x100000001, -0, 1/0, -0x080000000, 0x080000001, -1/0, 0x07fffffff, Number.MAX_VALUE, -0x080000001, 0x080000000, 0/0, 0x100000001, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(588); void (makeScript(14)); +/*FRC*/count=198; tryItOut("m2.set(v2, m1);"); +/*FRC*/Random.twister.import_mti(605); void (makeScript(14)); +/*FRC*/count=199; tryItOut("\"use strict\"; t0 = new Int32Array(v2);"); +/*FRC*/Random.twister.import_mti(620); void (makeScript(14)); +/*FRC*/count=200; tryItOut("mathy4 = (function(x, y) { return (( ! mathy0(Math.hypot(-Number.MIN_VALUE, ( ! Math.fround(-0x07fffffff))), ( + Math.atan2((Math.atan((y | 0)) | 0), Math.min(( - 0x100000000), Math.exp(x)))))) != (mathy3(( + Math.fround(Math.tanh(( ! ( + -0x080000000))))), ( + Math.fround(Math.min(Math.fround(((Math.pow(y, Math.fround(y)) % (( ! ( + (y ? y : Math.fround(x)))) >>> 0)) | 0)), Math.fround(((Math.log1p((( + (( + y) <= ( + y))) | 0)) | 0) >= (x % y))))))) >>> 0)); }); testMathyFunction(mathy4, [42, -0x080000001, 0x07fffffff, 0x100000001, 0/0, Number.MAX_VALUE, -0x080000000, Number.MIN_VALUE, 1/0, 1, -0x07fffffff, -1/0, 0x100000000, Math.PI, 0x080000001, -Number.MAX_VALUE, 0x0ffffffff, 0x080000000, 0x100000001, 0, -0x100000000, -0x0ffffffff, -Number.MIN_VALUE, -0]); "); +/*FRC*/Random.twister.import_mta(-1708520940,-703306381,-1161970493,244868308,-344845816,1982652678,641045336,-1847908787,128240077,1196974416,-879405009,-229724647,1926982424,-985870867,1898829295,399624422,-530989660,-341977853,-1032299533,-206170713,-474507263,626506680,1771435690,-181623664,486663944,-304090507,545167617,-1190478866,-269634493,1051604965,-1940216831,1037405984,-1533856902,-761048979,319833099,653268663,-967236330,-769622657,1944560824,-2031399007,-1057404581,265643614,-734032929,-587624911,-472161510,580260659,-464162135,-608272536,-485202305,-277906208,-1245473796,-2071895870,-401284898,-2072635453,712557384,-607314623,1764620811,-1240177048,-2008239496,1200734115,1360462429,277905563,-822745518,18638838,-353360668,1945279941,1416395167,-753921928,-238458793,-536710214,-1982155243,446843511,1872541968,-582680287,-1148871249,1036719403,-219320223,-1293772544,2038749719,880431947,-2065637595,391379077,-1715922268,67674932,1227519959,-869780474,356096417,-576032139,-187847984,-32766568,1257782345,-1459932570,-1672804287,444644325,-1770741183,2078025141,157019668,-134270444,1811327389,480011407,1252757251,-185563169,1121057824,817232484,-1056512202,-1623340849,1204259005,-1571554121,712012407,539443960,-726112570,987483485,-1664158524,1081379132,2057559414,-1053655543,1075143234,1772606998,319838190,-478367593,-251827979,429813045,-1154423396,534343637,-741928401,-638012858,93766432,1496189336,1375810338,-2134546170,731781907,2029588121,-155199610,573692418,-83536916,-246889911,752622938,-1492936356,1125207475,1874017963,404138505,362612683,1640859636,512107055,-1387809498,-903236083,-2088980672,2140540662,1949385820,791348455,-2025660432,-1608192287,-423097123,-600716728,2115716824,-2104599296,-1550567271,-1962321608,-2099011590,1170497560,-1181846990,-1246138693,-1797340960,1243031834,-380922675,1778387,-507991610,-1968675377,-14214196,-1156735409,-1436669968,-2086123422,2084146922,432001217,557602249,632376048,-2090451832,-159976737,-976785150,-1421520197,-1318484087,-1232478682,-2013075135,-872284489,1773724338,-719437549,1805445706,-981320086,-335166762,1777452178,573296874,1777104358,-1359101221,-1013104944,-591713391,-221986827,-1919771731,-648932020,-253204270,-1221604542,-1927967054,-1715627102,-671443774,562785222,-480101416,-2136646199,957334647,1703730718,1150298432,987125342,662731000,2066172906,1285940869,-1868683608,482859380,-795818674,802716581,-51555005,1814105845,14402976,-1204241378,1119008879,-2075304705,-2120659943,1360223043,-780447951,1269738092,-1552280896,1323859105,1663396456,-1869092509,579672049,-62268014,-791715526,1321820242,788289699,-1222313467,1431844047,276030806,704940874,1346695788,-264794332,-1809217460,-652656079,885227157,-2084729394,-1693976139,-941019249,-1995299496,-830163874,-1071181232,-1015003828,1338985442,1083854467,-214257557,1509122532,1290358997,123245585,-1064620263,-1260516369,946302319,464530567,-714860154,-982994328,1011582013,-217817675,-1587290639,244939483,-1024295764,228264627,460457037,-1538775978,-1948590940,837602697,-335123196,1232970091,-71967125,2065751133,1992001142,-519666442,-1993475443,1446121074,980693683,-1502776221,-1186523493,-1230260106,-589890517,-887136484,-1010817940,-817622935,-1604845575,-218477794,944348660,2036870129,-1547772009,-1514421816,-1117394754,-1666256210,2053273369,1209726593,-1210735935,-1132717978,-1354448627,56052672,-2026285299,1086945954,2061208911,728254963,991592631,549885343,255184365,1517284268,-1320890081,-774501357,-1152131387,-641324895,-1265937834,854544196,1265121527,1959034293,-2014720193,-306454879,-441233765,2019166014,544193029,-302386694,-1607804308,-991978534,-525178241,454211523,-2017247949,1343271023,117942840,-1361881164,-1176865586,614361109,2086224364,-271021428,1042755034,42320254,1587291367,1250941800,-1966335834,-1470339348,-1795458406,467774664,-2083789293,-2039871000,1355966252,-1940124666,-76468589,-969453737,1290657376,-1018799991,-1383135374,559793886,-1747367858,44569517,-1690573226,1197381746,-1997170271,1092596736,2055888642,-1163248391,-995698090,-1799567074,-1047675449,1456225448,-699993559,-453195912,-232659601,791938892,-1073914636,-1450373202,1894822080,-658579620,-507433395,12054971,245627114,-757721163,-1031224603,-1435739017,343760291,2028307258,-164124327,1572103773,-1081555298,54722737,2013207437,62561706,-1354159519,-796295630,-1048233357,1938950277,-1307209716,-1530920331,-986035515,-2054866605,790483846,-722800799,1916865523,1971697188,1026901667,-865964471,743657546,-718107308,1652070385,-1082113407,-259719123,691300932,-413151763,-1277105030,1030070040,-1710056771,897823730,1102352487,-170692686,-1152039708,1545789403,302870763,369176990,953370954,1830962094,-2087289406,-1387258121,-1816150888,-1810991120,1039649410,214635937,31696450,710733865,1615100064,-1245730631,-1113894505,1840823214,1666854184,-1113274483,465917794,1750222632,-1357863493,1470605120,1249921377,1333720220,-637153803,488631611,1679660719,-532512632,-1026523131,85999260,-1521452000,1487826180,1814740331,-1856855044,-473071482,-1040660006,440916956,-42974560,807467788,1984424368,2004122591,527042827,-775880528,-363947614,-650211883,1635364797,-1025315057,-1075035044,1656210570,1890913414,-350498769,1071820328,-1420105965,1234307392,-652655737,-2105548420,-591488355,-854505078,-130415586,-1135686163,686557025,2132808142,-1664053877,-1334125403,539223843,-584895984,-1770567740,-182499131,-655098080,53826916,1733855176,1356613637,-1242893604,-1040537173,1776588856,-111848542,-1184205551,-1988477187,1996537519,1816164518,1238823857,2133320694,-1229303623,1570621402,290026040,660716101,1415061918,1005208469,-905938552,-655360030,-930685296,-2130385581,-1338039219,-930796605,-1686064575,-579530556,311663115,1243501510,1254906634,-174169257,-102239006,1160214743,-1123970894,-2046230449,-818126463,1743358931,-11728602,89652467,-928597672,1121595783,-1885972405,1963292633,-1025243792,233918857,473758703,1644522865,481082331,551703650,972445290,-1170157364,-1910440387,-792763877,-357675117,-85479945,-679800940,124010959,1980673903,1390118118,-1484656324,-1545691761,1519441520,-1572312104,2135539516,-1809144765,-909961146,518654003,984738628,-1065977665,1903956439,1130142951,1030705564,1985545589,494363351,-820939338,-1562794906,408983158,-1484211141,-123150737,-732018973,1512210242,-1793464875,1480466233,938366652,282742593,-1362602224,-595868778,145137161,1214541062,825234136,636123246,-1251624287,-59032417,699725750,-605636565,-1442202784,1610846456,1344929061,-1864910953,1464700039,-163271170,1622027492,-512421017,-946711291,2053843109,-1699623448,-1109653460,-905450274,-111871539,1350882087,2073540525,-297139109,-874284521,95157163,-288706498,1107136114,578402268,562618300,-653393227,-811573288,1635027705,186882394,354053271,-1598149137,-523291798,2428139,17019069,-1446309860,-1384132094,-2104958582,213414209,-1860780653,-1133928720,877264530,-1559768950,-936423473); +/*FRC*/Random.twister.import_mti(341); void (makeScript(14)); +/*FRC*/count=201; tryItOut("(-27);"); +/*FRC*/Random.twister.import_mti(368); void (makeScript(14)); +/*FRC*/count=202; tryItOut("mathy2 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Int32ArrayView = new stdlib.Int32Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n var i3 = 0;\n switch (((((-562949953421313.0) > (-4503599627370497.0))-((0xf863bd47) ? (0xfacdb955) : (0xffffffff)))|0)) {\n }\n {\n i3 = (i3);\n }\n d0 = (134217729.0);\n (Int32ArrayView[0]) = (((d0) == (+(0xaa618eb1)))+(i3)-(17));\n return +((( \"\" ) ? (new (x)(/((\\B+?.)){1,8193}[]\\D*?^|[^]|(?![\\0-\\x42]|(?:^)\\3)/gim, x)\n) : (((d1)) - ((d1)))));\n return +((-((((d1)) % (((d1) + (x)))))));\n }\n return f; })(this, {ff: (objectEmulatingUndefined).call}, new ArrayBuffer(4096)); testMathyFunction(mathy2, [-0x07fffffff, 0, -0x100000000, 0x07fffffff, -0x080000001, -0, 0/0, Math.PI, 0x0ffffffff, 0x100000001, -Number.MIN_VALUE, -0x080000000, 0x080000001, -0x0ffffffff, -1/0, 1/0, 0x080000000, 42, Number.MAX_VALUE, 1, 0x100000001, -Number.MAX_VALUE, Number.MIN_VALUE, 0x100000000]); "); +/*FRC*/Random.twister.import_mta(-140421747,1201185026,437402088,1965755804,750491410,-2137821146,-1197587357,-280075453,-630355473,1623678251,381822733,2082498522,983750705,1415286560,-2111502199,-1739857887,-187503930,1718135957,-911207972,-392711924,-522814719,1702483304,639683150,-1730469283,-630459184,1927334792,-1050152399,1066359052,1191856335,-794075812,-1938398473,-1320238745,-691013419,-1083557319,342825994,323593706,264374355,-1811441628,1079639722,808703873,-340246347,1016873560,-493690345,2136497294,1148189522,1489248701,-1826990235,-1782556640,-2066344397,155935970,-640383606,-1173376386,575445906,-828953490,-214708424,-1957323738,-75404751,-1264909763,454041643,1246093612,1157886107,-1980202676,1559508651,-1819037096,559963893,549483583,501752827,-1231127608,722515249,-794030167,1698528787,1891722455,-1700237559,-699706797,90070171,424984622,-719758689,-319994071,-618749480,-1194279654,2133829141,-774795885,60747253,-175868671,-1617606109,679115565,-323222196,-439145689,2060967574,-407387003,-594350385,866781614,607560486,1641368811,-157873038,761374853,904240282,922065751,1521400881,-1653794531,1155169262,-888938260,-1393876450,-1433211233,-329907154,-211234697,941871989,-205249567,-846223898,415732064,565753512,1827342557,1901241162,-1196622062,931570834,-1803206846,-1263502853,-723816990,1176768767,221410554,497223569,-546405582,-1531368335,-1760049485,-215090331,-98918165,-1579799863,-873582429,-602061510,367078089,1639029037,328846175,-1232670540,-1289565060,-168937872,-231828536,-426440222,-109695038,-361695075,-1114039985,-1208414511,810262332,1079266282,-195447736,846293031,366600001,1292898443,2004636641,916609122,-1804996947,-1056629262,-841927207,-2030269304,-611845201,-1640781352,486264049,-285682833,206622841,1321353691,-359718140,-879507267,-937251964,1069618434,-1459120640,-512741926,1414095112,1502868291,1932625640,-1117918013,-1491559835,1058288953,-1624523963,560092246,-1404913989,-1714134411,332518801,2375432,-784866792,402562760,1058607895,-1202518901,-938540701,-1626376905,-1397805345,-39290016,2091591367,-1278920506,-1019495397,-1951870312,-1064344349,791882998,1860875454,2103497683,-2066506457,640897443,1038581566,2075460870,-1395069292,1117103097,1192545194,1030794945,-1205411810,-146279562,1701703501,1944331581,-787464862,-1727157940,-25694290,-265187835,1258651868,-1747007679,-383842792,1202405136,-1552395995,372486758,338212152,-358819284,1349114404,-1612173926,-354412918,-30945403,-934095567,1741429623,-1503800028,-563085074,-1873947954,-797239687,-1697787509,-1612522129,499721472,762354091,262113499,82460213,501840066,1279585164,1441409520,-771439096,414670607,-1201097304,-54050619,-195208728,1732972624,-1030420582,200191488,480157602,1665579833,-1104382778,1040970894,-667602830,981482000,-1598885646,231428152,-198500552,1338286227,180444812,265158451,613152931,-494600595,1913040345,2025925181,102886677,1853664649,1444868977,-861256841,-867653084,-736419501,-678426029,-369605766,-2080488763,-1197088668,-976772245,381611732,-1054838013,1309106402,393532261,1925410095,-1918554734,-1191181362,855230434,-939413887,-521389785,-934625956,-706488266,1305246848,-9879759,-1767440741,1778773496,315105698,1872540176,893626832,1007753916,-2045856160,-973575778,-1379617038,1505647185,2101337694,1624199784,-1056275708,-2032134937,1361818079,-2025466669,-931840413,1412090369,1341729468,1209191737,796692599,1993822662,-1160000611,-336818694,1952176739,-1473031443,-1768701667,-656583857,1558418536,1698819561,316276312,1185288449,-416573184,-1101748317,-1415321405,-441229423,-1440079123,-637850067,1682488125,-1864243497,1896545814,452283901,1745800490,934920273,1655811715,1112389326,1834039473,144892869,1747486927,-822627349,-559759554,813485546,-1823132440,597038220,2111557732,1740643375,165048408,2132475294,1631469455,481805721,-352187925,-276057271,1790381148,599775693,2052994971,366667068,-1927739961,-525544559,2013094528,-242238366,-1795475092,633771065,-173251892,-1418780894,998916732,-1138478599,1124597356,-2066104579,-822573538,94855723,1547411380,1755086813,-1953155436,-713383635,144119421,-1325403824,96392935,-457881639,-1668716941,2143391484,850823660,-527660066,1692755248,851178618,-834590816,-853820298,2004254113,-1831267206,1674887599,-158090075,-708392556,-492783966,-807104100,-481895429,-15612489,1859326364,-285841602,1737397796,-690579802,1064840663,1601416428,521301810,1958054549,-279380125,1423407966,-49232226,-822343414,-944734708,-1825828599,-2027168690,276224265,981890454,2003267789,-1200992027,1856788501,-823133463,968119288,1437571089,2099530918,355424414,-1516458928,-1965141952,1529697925,-1294855744,-515069338,359653379,-1391782694,1631273803,-460962595,1478215432,-1425015092,-1618482935,-332035736,947580024,1266118268,-1812586725,1168398426,-1813781705,-2117864520,-471106453,-1280850759,-1325376289,-7744782,-582964529,1949545777,-186856538,1529038407,-179425908,-938335132,1554645856,-76966926,-154886244,1706055586,-1710220336,1454812549,2046802414,484676302,-855981073,-1307084205,-386054875,1804640193,126075780,1685211908,1743080767,-723308534,453333716,1284319366,935266992,1023131271,2033792538,-578476505,-1081660465,1108943684,-304241917,-1642528374,-2034866026,2091557915,-1456477821,1244987163,177904060,-1031805776,-1665166971,1735183157,480985212,2035331205,955624872,1526986923,272794699,-180974419,616388726,-948814161,-167596660,-1497621557,-1781209413,1580407133,859372118,-293683670,-956032355,-1947884939,476719034,1306015132,545934561,-123664174,-2102480016,-1058644701,2104858188,-1852701522,411209746,-984228774,1117978079,-393237476,-1921002315,-55141430,-537481725,1926675845,-2061207378,1207420445,1817011226,1650810817,-1903373131,37955409,1293415953,1961033663,481155247,-158818100,820919175,1356696344,1584304042,376962367,1223481664,585681537,-1499809017,-1725260754,-309073443,1240318322,1676273229,-1486478915,370348596,-209728637,-1373666350,1185196246,219077062,1132503614,-415315254,1582674086,-1635666338,-1878136638,1468700298,-1229965519,288145193,977958369,4545578,393312631,-33220988,313771850,1013673445,-577901159,1905288786,-742300724,1480834478,-1143423754,-256352952,-439797000,1682746819,-1196339027,-219201849,1115355687,1923035300,497149441,1394006364,360235274,-1630368699,677801687,-737817620,-646010131,621413019,-1620477914,-399355707,-1164493880,-692933617,-752711804,885719733,264388779,-2135462867,159329753,-1146364756,-1586733445,-467820284,-1805140688,687877287,1791946769,1914661652,-1962326203,-516478266,373747257,226700155,-1076208456,-989332842,370168487,471914514,1223619482,-1958916431,-1555075791,1275981517,2016901572,-1884681125,-569671518,1044133269,-1676945086,1120564719,-1103551953,724387462,4697382,-1745786222,1481646053,264482666,551406380,-1693563580,-1593972989,2042924258,1904747321,-1989942814,-507092725,-1905636762,-531386765,-933578818,1304300916,1429269182,-37063381); +/*FRC*/Random.twister.import_mti(199); void (makeScript(14)); +/*FRC*/count=203; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return (Math.min(((((Math.asin((y - -0x0ffffffff)) * ( ~ 0x100000000)) , ((Math.pow((x | 0), (Math.exp(x) >>> 0)) | 0) | 0)) | 0) | 0), (Math.hypot(Math.fround(Math.max((( - (Math.max((( + Math.min((y >>> 0), ( + ( + (( + y) == ( + 0x07fffffff)))))) >>> 0), Math.fround(y)) >>> 0)) >>> 0), x)), (Math.ceil(0x100000000) >>> 0)) | 0)) | 0); }); "); +/*FRC*/Random.twister.import_mti(414); void (makeScript(14)); +/*FRC*/count=204; tryItOut("\"use strict\"; testMathyFunction(mathy0, [-0x080000000, -1/0, -Number.MAX_VALUE, -0x0ffffffff, -0x080000001, 0x100000001, 0x100000001, 0/0, 42, 1/0, 0x100000000, Number.MIN_VALUE, -0, -0x07fffffff, 0, 0x07fffffff, 0x080000001, -Number.MIN_VALUE, Math.PI, 0x0ffffffff, -0x100000000, 1, 0x080000000, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(446); void (makeScript(14)); +/*FRC*/count=205; tryItOut("\"use strict\"; var gjfacg = new ArrayBuffer(16); var gjfacg_0 = new Float64Array(gjfacg); gjfacg_0[0] = -13; selectforgc(o1);"); +/*FRC*/Random.twister.import_mti(479); void (makeScript(14)); +/*FRC*/count=206; tryItOut("\"use strict\"; print(delete c.x);"); +/*FRC*/Random.twister.import_mti(516); void (makeScript(14)); +/*FRC*/count=207; tryItOut("print(x)\n"); +/*FRC*/Random.twister.import_mti(537); void (makeScript(14)); +/*FRC*/count=208; tryItOut("\"use strict\"; print( /x/ );"); +/*FRC*/Random.twister.import_mti(550); void (makeScript(14)); +/*FRC*/count=209; tryItOut("var jmsfbs = new ArrayBuffer(12); var jmsfbs_0 = new Int8Array(jmsfbs); print(jmsfbs_0[0]); jmsfbs_0[0] = 28; /*RXUB*/var r = this.r2; var s = \"\"; print(s.search(r)); t0 = new Uint8Array(b1, 11, 14);print(false);"); +/*FRC*/Random.twister.import_mta(393861652,-497949801,1849884048,-347271913,-826953447,49802466,2105774199,1930799206,-115488957,-1460676913,1232552736,1010011170,1149345669,1458949746,-325512393,801566066,-1759991245,838291568,-774409002,1673387295,697416753,-1581091609,1948879767,2019170923,-730107618,-662697332,-1153308581,-493464656,-2091233182,1085565101,765090052,-904552243,-1916091457,-641625826,1275103919,218781633,-1950335062,-2084076738,850829222,500485210,-1580731426,1963027227,195009398,-689228273,-297146810,1707849441,-2098067340,-2016823130,-1077141117,-634462887,951553693,-885631463,1912421298,6708850,1497980125,674416168,1901218706,1014883823,1320316759,-1140159722,1619921826,-1869093195,-584390362,-759313039,-974806458,-1606177902,666141539,-1246110627,1826328876,1410409497,-479125008,2038506584,1815353468,1561458180,1879098380,447476755,-1521816496,1729481040,-1642612163,2048979536,-695419613,-999520679,-627426598,-298338202,-1774815774,639403757,517450209,1507243837,1839295538,21195316,-9887972,-2016430296,-137293833,141786223,566680247,-571026224,160947969,-1472870019,-630847027,1122464022,-585041756,-723836289,212310707,190747739,1898896458,-576992905,1707048309,610610988,-1528011604,-1650225183,1405857659,-413139034,1853932044,-555275545,1303730620,-1356994504,134801712,1956015125,81403180,-623983354,1532345894,-671482296,604762954,-797935894,-1260885070,-1752356335,-360163919,652377053,-250548422,256558926,166644062,-154103417,276604748,421461365,-562993063,1700370117,-1882923934,1110396739,-2124376914,-805638543,463826336,-954929345,1685678722,1588703890,65648573,-401986032,335982110,176001816,-1451871640,1623708371,-393129148,-1115991872,-428307902,1936898313,184073022,-538656966,216120111,-433443428,-1902170764,209258953,-2116522182,1001137986,-1405969491,-2108217302,677268131,-950109734,607724917,-726622238,-537117465,1481647622,-1090845782,-2068520505,1448558959,-253197442,1334387249,-400535743,-1844655420,-1655839893,1436991184,-1310052305,-221417275,1446536809,-970978711,-981475044,1177648583,-33604249,1827853282,1825850859,-1820200257,629603695,-1132716774,1183839216,-1926786955,-946719883,-1591090393,-119703531,8136173,-463292111,1801754191,210610446,-1084482242,934156150,-1819722051,793816602,-159146477,1924849971,-483381611,-1545993678,-608443839,-1177905671,1959276074,-198904550,-790329432,1155167833,717853104,-1371527086,-926348783,1982896687,83372156,1870182143,484948812,1686435586,-209894175,-1486702647,93905939,-1543122595,698625329,-1048574852,-1397395177,-504233574,1972009381,1439178460,201543811,1537336753,1507900574,-803232697,2109524375,1430460916,-614949729,1051669361,626017882,-841772806,1781643890,-1722292766,-1721975501,-826192203,1018701656,93004808,-58562065,1685124078,1052750455,-294715774,644540954,-1105115363,2088246518,135732460,-385964220,-846086345,1870497036,399672810,2012706565,-33078328,-1302870363,-303797576,1891803976,-1065997744,1764290023,2033214051,693345065,-260769252,-1649131163,1473343256,46663312,272683289,664846062,-1189169334,-2035360578,1640721772,1983787398,-1736206338,1682112732,867741894,1322580072,-672242475,-299488643,1001429419,-1251042361,1463833258,-1976159651,-1021156232,-776300991,-1491495287,-157159189,-765256044,-1960430734,1555839000,1955882395,956930908,-2011411352,-157400374,-1608263190,-2095246893,1029136717,407583251,-375180876,-1518595362,-28989631,-1552221218,659151799,1468736371,1014425655,1666215066,1215122649,-1249906742,1354385425,-671427475,852928180,961281042,1259795350,469766368,-999367226,-734790274,920271249,-1729127243,-793725322,1309941740,1994397571,1609869395,2089502177,763445716,-1526810404,-327737993,1887911375,-607382433,1261727923,-53345703,-1811343979,33596733,-642639980,-999785276,-636742965,1916282739,109725472,-1621378269,-669001665,-367561641,-1349172440,-746397153,1943950682,786858452,1341408470,1569108645,-327967919,-766538880,1822418795,989533689,899479080,1549354703,-1424641863,-1754919057,2023555651,1159006200,36033994,1411374504,1815249049,740694943,-902793925,-401568279,441963742,2080805418,-2056885954,-1464097650,1061563894,1810262368,321312750,-1724876921,313876555,-238245511,-1705262320,-2131405703,-1849608442,60043523,923168562,-1365191262,-1932965546,-3181019,1804288263,1769189912,-584288954,-614788253,-1255400523,1536754097,-332057975,-494042303,-83277420,-797635714,-83733613,274713796,-287351704,1759453728,-1751742469,743513399,952039194,-778492701,1283342128,1223001115,324090006,2012276840,-1201210692,2019510210,-1717188384,-168951536,-1016259788,1717927853,2115638211,-688989537,-786897166,-1525344774,908699331,1587073195,-786974440,1220342365,1402399396,1819395689,-236632489,-1112550892,2056744378,-480154878,303407176,58360303,1300398647,1719328599,844830959,197992575,1661030577,439581937,-972129152,-2090808430,389390173,-359996805,-1337760347,275679094,-901170592,-1499722847,1266963414,2140825522,497065262,300922532,-1764290273,-813524970,-1458340178,-1158859461,1678171307,-992854148,759233347,-1351315243,-741661672,-546279451,2142865113,1099037161,2112319986,1111439814,1466616795,1092637338,-494323144,496220583,1604559571,-1967773948,-2099310529,694849081,2114586416,348387629,852722151,972385158,615831120,735384050,-1899092309,820646473,1271797279,974142670,178785175,-313397748,-1417352603,-1163916417,1998590143,343725002,-578537264,-1542081401,135692217,-1412711538,-623168083,-1974984999,478956469,656277050,1608284333,-1608643194,-870023563,-589096739,-1364528810,2087898550,411685710,1809970919,-1682679449,2130121358,1435286370,-1450611965,-421996005,-1833900286,-740598053,1279706175,756889348,-671049616,-1819638124,723534146,-1888914979,901085578,1616620408,1189399241,-1671575825,937319927,-99755240,-1542359897,-829458856,1356990779,-1317712189,39428404,-1173680931,1340251611,-403967638,-1783946572,-1829725678,-1565869906,97208256,-1454741848,-1071075403,567195476,1984655980,266964306,209368265,1194170358,-42394709,998179668,1437237034,-481801729,-1117358531,1261723011,-1901060988,-76786044,-1653989669,-1310244932,790747814,-1468496545,1744088586,448907604,1108932136,81226565,1600511144,1339055842,1764165118,-1862790541,603576723,1920723169,1795834246,-1115522757,146589112,1339285865,156498800,-267454659,-2020621606,-855116110,-1863383248,890126466,-1218647629,1573168624,-1173118499,-1330420513,-1341189794,-693681633,-2144234346,-240749305,468784226,512833513,1892207457,-132886364,-264860136,-1843788493,199891986,134649632,-1757495237,-1645416280,1274213364,246513106,-31030765,-1004529358,-865602524,-2034121895,-1263954835,2053648007,-1801447316,-1583637756,82028849,-718242309,-1758094554,-354882973,2010679473,-808624045,-2133425430,-1707507121,-155939282,820492423,-1093783500,-2125566988,918107515,392759158,-927001765,-643988041,850432825,-233226618,-1296538025,-2011666090,-2074966533,-779010869,2006483252,-1329676647); +/*FRC*/Random.twister.import_mti(559); void (makeScript(14)); +/*FRC*/count=210; tryItOut("\"use strict\"; var inhkje = new ArrayBuffer(2); var inhkje_0 = new Uint8ClampedArray(inhkje); inhkje_0[0] = -11; var inhkje_1 = new Float64Array(inhkje); inhkje_1[0] = -17; var inhkje_2 = new Float64Array(inhkje); print(inhkje_2[0]); var inhkje_3 = new Int8Array(inhkje); inhkje_3[0] = -15; var inhkje_4 = new Float64Array(inhkje); print(inhkje_4[0]); inhkje_4[0] = -7; var inhkje_5 = new Uint8Array(inhkje); print(inhkje_5[0]); var inhkje_6 = new Float64Array(inhkje); var inhkje_7 = new Float32Array(inhkje); print(inhkje_7[0]); var inhkje_8 = new Int32Array(inhkje); inhkje_8[0] = 1125899906842624; var inhkje_9 = new Uint32Array(inhkje); print(inhkje_9[0]); inhkje_9[0] = 18; /* no regression tests found */"); +/*FRC*/Random.twister.import_mta(-1199600176,-1711398240,-999222156,1774514088,1831529286,-1619554306,-401346352,-369595314,-2053447773,2011863302,1776889465,53380513,1394974971,920777124,-1576175703,1374289650,1050597269,1458678184,1043891407,1557694517,754753366,-717892649,-71471807,-81133161,620558107,-1757499818,490401713,-1337430426,1157453469,1817854264,1600326587,-839356088,1872382304,-1299548225,-101235608,935003962,1244586464,978984802,349772508,-689076881,1625870016,318395110,1492634019,-949512570,-75240231,-886030758,-445065230,-1922370616,-1954170431,-655103297,-1384370825,-299266874,-810436817,482304031,-1359718865,1555036514,1139047764,-1827570633,-1317939874,-1551097399,1311976544,288158282,-1311264882,521511121,304016399,-1648870731,-1024193429,-1796934994,-1366058124,1847276075,-159992536,-1262150655,132281659,1175086390,-2137082885,544667599,1249873710,-1296581743,1455778010,1015072997,-875241030,646122354,1292624125,1102262630,660020645,1038585418,256106558,1106290342,350054096,-500123810,-403542253,-352958307,1996141926,1395714089,-1531743055,-1051781910,-1441813925,-1410872172,-1049774835,-491519449,797325629,1911655632,-522897596,538885483,-601578877,1885558530,1824883992,1207601460,2119179308,372620665,-1591797551,-1533329443,-96607853,1271372762,-812749716,-678497780,-2006726761,-1929085109,416422665,233927787,1830303213,-833077430,535193218,-1604194623,1994346864,583265375,-1701084150,-1979893410,1174192787,-1090754446,-310221369,-1344953652,2944209,616603361,1225704211,36252145,1364554198,-1063721502,-549752653,999933116,-1251259886,2118517128,1752518335,1703243946,259658844,531179557,-428441485,-1445105911,-1570831307,-1158105818,-1512964380,-296330246,1364644839,710772537,-2020943166,-1198734526,701816730,89612434,-605855874,1602874165,302402883,-432604937,-774666650,-287421411,1372902412,-1608621085,-1747306806,-28677356,603714154,372144805,727463681,1974260402,-176965875,1847797495,-1743333379,-27620143,-1972706150,-792658251,827247639,1348540899,615760372,975774077,-1827043959,-505341346,-1184491131,112304784,1467400846,1627309976,1506921307,366219935,1799450328,145078494,1731025357,-2106674504,-338202361,655368250,1863972213,551358428,-2138630178,-1425564942,566175036,74201069,-164377591,-1498753305,895860157,1067793587,-1154094214,-2096248498,169908848,-88959489,-1607731006,-1631138310,-880659596,-1414858516,-1771143203,-875233108,-176555330,-893188251,1999203863,1019432607,-1067760377,302937336,1117880941,1603684141,1520133306,-1170069645,-1870742361,1999472004,-385408403,666671225,1126228166,-232524840,732941817,-991711585,1493110450,1649150903,1565201916,-582102807,-982405946,1099793366,268974553,-686445936,1564609539,-348636717,-1466319315,1617205091,1578965553,-1951065218,-1492276704,2112488613,-870482218,2009694742,287751431,1661395402,-1270620144,1887569215,-1818612100,685623613,-971951171,-848739779,-1920346533,970201061,1095316070,844083268,442567242,-112861968,1937572993,-313937013,717238248,-1893377586,-1399906038,-85463151,1511581193,-156727163,-1847220115,-925706338,-1474929655,-1771883084,-496482503,-1114622143,90388604,-1986123237,-296715305,-1375741771,1472299069,852371554,-936638308,-769620591,1891483766,1073894513,-711861430,-263805787,-192301569,-2023287342,-88412510,231807334,1923088261,-226979044,-813023900,1475582414,-1634968320,1195225986,-1252271591,2125338612,-536235266,-1326511195,1832760586,24689854,-1806816748,-902290375,1880819499,-1704391914,660109743,-32082711,-217744305,1303786890,-23770793,-1032251688,-453623571,1422777221,958994070,1725356198,1412459119,-1034423968,-856833182,1662324243,1413932753,-1999951086,1731275834,-223712470,-819100913,1030720699,-997331470,-1873343074,-526698297,-1386469831,-834838728,-1916398821,-961609281,238245929,-1412220740,-859090948,1093377858,2103745367,1627878847,1327020701,-46615109,351739712,-651460704,941376745,397018956,-638702585,1273244063,1977403232,227017597,1597159815,165182410,1627393348,2104366500,-445981393,105520413,1209805302,673629989,-29064891,1334008050,1663826673,-694603113,-129982339,1078282397,1791392288,836281069,1356399271,710548629,-270144636,1011737621,1913455823,454447429,-386130068,925122841,431376484,-224448665,-1677071013,-1344493165,1873836849,-474453153,925781794,1798320697,1016100832,311673241,307051363,437943322,-20513385,1213207196,-362900992,-1770983765,-948802692,1577163975,473143605,29574050,1739605039,-1593632589,-2075546512,1335799423,-329909502,1840942183,954617948,1805217239,947961002,1174831772,-1614061063,-1693050154,-657419233,-326390375,-244089936,-763291128,828225570,1197381730,-1453519514,-1092525996,1336313153,2134408009,-1038351275,-2011139119,-823925119,2114643670,-36921085,-1699270797,1756755224,-1663449147,1241136589,211749267,-1254063851,-1555358637,331215869,387762153,690463792,-1157435338,1924761523,847973400,178991481,-476202153,-1286937875,26457507,-1866738859,-183618372,2046369920,875861453,1379433815,1976514803,371735866,-1679266449,-1315915216,-1741997875,1607889369,-106988239,-2132627359,-787734700,-1510698123,1273741299,358380800,-436456836,-364717184,1121723130,1812957408,176995557,1940442480,1154912340,-932249319,447241555,1648824219,2018604442,687394305,2090738336,1279750425,-1637903481,962726314,-1130906274,1894958342,1791073393,-1921382381,1437472460,2022254077,-1260736417,1895995132,585343192,-388812843,107686049,1351244120,741460514,-1255401361,-295497737,-852517041,-355785747,-979662840,-45697720,-707092467,2019321215,-69576287,-2065790646,1448873902,1515242281,87503873,-1213636903,-2100297288,464466154,135043819,-188201792,-175757362,1991637211,-119611307,-2113956723,503628663,1734215875,1452277933,-1996867244,1083184586,-92765750,1119324386,849427073,-913352589,1281826654,-1644341874,-56054492,-215095237,-1286323322,1267141589,-1458935812,-1384536651,233317080,-64776432,804998051,-1561587426,-1538639631,-1809755633,1369433876,-1351904478,-842210672,-282137200,-1174421267,-2131999579,-1549142717,-640662566,-451239510,959365782,1055623366,-475115857,695988423,-292247260,1042630520,60852028,1331888912,-1088973721,1853221561,1967824325,329789039,1216594542,-717077413,-71433744,-1407503011,209301988,811747633,-719448060,714451579,-1973207580,858215280,-1039729657,-1354984600,-401286703,-1438075739,157031642,669235990,-475942471,570091621,2033833354,-710533648,-2127759601,-901294791,1471335687,943040091,102540206,-476255157,-1394289134,1664651733,1908620486,-1325023486,949689261,-513173825,-1797403169,116019618,1306509023,-115589204,-375871196,20706920,-1330984827,573108494,-2095500684,-1896161860,998813403,1363749,-249333550,1551197606,2010589574,-1637236447,-101538366,1444028314,2001666156,-845006436,-1983551376,1567785415,-1329876599,790056651,569131325,1016777881,-697889973,-917109276,-758957862,725722144,-632356882,-1161115332,-1821253442,463387834,-306401743,1176863983,37640751); +/*FRC*/Random.twister.import_mti(27); void (makeScript(14)); +/*FRC*/count=211; tryItOut("v1 = i0[\"constructor\"];"); +/*FRC*/Random.twister.import_mti(43); void (makeScript(14)); +/*FRC*/count=212; tryItOut("this.t1 = new Uint32Array(b2, 2, 5);"); +/*FRC*/Random.twister.import_mti(61); void (makeScript(14)); +/*FRC*/count=213; tryItOut("\"use strict\"; i1.toString = (function() { for (var j=0;j<110;++j) { f0(j%5==1); } });"); +/*FRC*/Random.twister.import_mti(78); void (makeScript(14)); +/*FRC*/count=214; tryItOut("a2.shift(p2, this.p2);"); +/*FRC*/Random.twister.import_mti(100); void (makeScript(14)); +/*FRC*/count=215; tryItOut("/*infloop*/while( '' ){print(arguments);Object.preventExtensions(h0); }"); +/*FRC*/Random.twister.import_mti(161); void (makeScript(14)); +/*FRC*/count=216; tryItOut("x, c, ogaybn, qawboa, x = (p={}, (p.z = true)()) = x ^ eval, x;s1 += 'x';"); +/*FRC*/Random.twister.import_mti(287); void (makeScript(14)); +/*FRC*/count=217; tryItOut("\"use strict\"; /*RXUB*/var r = /(?!\\3((?=[\\x9F-\\B\\u000B-\\\u696f\\W\u00fe]*?){2,}){4,}\\1?*?)/gyi; var s = \"\"; print(uneval(r.exec(s))); "); +/*FRC*/Random.twister.import_mta(1355581541,1677445528,324154363,-1751749360,-1947047025,999773719,-1733702363,-1233169559,1125326047,-966440396,-1608560987,-157490626,-2068080341,320344541,-1339790490,1791784588,-636768412,1419110576,-2043065113,1361106889,449795154,1513580075,-1422183083,-1269911525,-914140290,1605743830,-691547726,-2055406265,-874413665,739121777,1313459644,-350952587,-910706995,1885645735,-291700088,-2040763229,244382796,493898375,-1688611240,-881420458,2076487360,-2013767658,689502778,123010532,-690815552,1932516954,-703681871,700733571,-1937218304,-75353175,623688500,-1960881221,-1048625686,362477223,-540588415,-1176959385,-816414947,-1591240802,1210847322,-1240102556,-1386026416,1392535604,-1008855625,1979446436,2107012613,-1162963952,645788087,1573220703,-1649548102,2146290368,184893382,-1068378351,1094860032,-518611784,-506788551,1503782199,-871097330,-180541462,-1104487161,-1719808637,598950079,-716383024,-1381789536,-552785727,1719329496,-1283768256,1375389103,680334256,-640977798,-325406729,-1124479543,1464635537,96263332,1697777008,-1383590598,650397215,-1872204222,83418897,1032327617,-1231566530,-1021141047,-1263267096,-1621368380,-313908553,2097586048,-2117362603,-1590868702,612843260,-1709247352,2102360183,1052969215,-1834764083,-1656934984,-1506237765,1975761521,-1167631401,-1994747945,1570472975,-547348704,1442589667,1704695623,2102528448,1085743052,923318246,362025854,-236622047,-1210878828,1218613776,1425620972,1187243456,-90999597,-722017169,2001430719,-1837851915,988820793,-1931444198,-1267916546,-1492455534,-223907460,-679917671,-1878135468,349034349,-1305543440,-1542127763,1326212887,1328107852,-188168755,-154355197,-1093528516,2073235381,-1715501863,-813261228,-1886980993,1285975665,-481167930,983532916,2011245964,1046053328,-1102084309,1162465829,1370344788,-990710162,-501340363,1485316919,1545181482,1635299614,-179959698,1658497605,1343844746,597309495,-758992760,167370748,-414892162,-1293918153,92555022,1691327016,-2007950833,336186148,806669089,-669076029,-743510682,-1464740800,1995189889,640110678,-272890022,1216606354,1102864138,82176624,-1418091971,-725016109,-1869672016,-1401664101,1290332035,369047536,-1173309127,-1346388979,-1597747349,577469153,-694485235,-567980254,-1598683662,-1576691202,998155134,-1613821017,-250804480,-2081213284,-1200340635,318919330,-752944564,-1648900611,-962195827,951294077,-445723137,-47660550,1141293419,1176908230,705574950,734659120,1437216586,-1838893444,-1823881838,43170005,632452087,919801575,1771375959,-1760400797,2041092333,-45635188,-1456654981,851592088,-1366846212,1194147244,-2131873401,-187282820,508683885,1840682529,1909133983,-1029203770,-1772477483,364328216,949142677,1200479672,-967255366,391102637,-1112599586,809464096,1425693302,1229553986,-1110780762,-1925871042,-810913520,1478016290,1849082931,-857333318,1681215239,-1037265247,-513257936,-196483907,346616500,377220415,-1249505142,-835085381,-1619282815,60848489,567452927,2079319239,1692073548,782547252,-2140474127,2136959679,-483411213,584465947,-780981561,133484120,1303196492,1099693019,-1330402957,-854579081,1289746628,-2083610156,-2007149707,837274549,1982749410,1035866076,-1203731537,1815745556,1175288691,-717485461,-368446765,-384370670,-1798302167,-1629873115,-115532039,1528858342,455998956,1038789543,1188135758,1824530804,-1415046154,1308889984,-2104998535,1651398890,653717197,-66009743,876745447,-927725694,-1715366948,697587125,693665299,1285989354,-767972022,-1394708784,360237803,-1318007977,1314261365,2139709454,-1918491493,1468685664,-1541223028,422074351,1448700195,513315026,133152431,-165769229,-327489337,-1901866378,-1292739401,-1329985068,-1914624131,1640337564,720720949,1598056825,-908060006,1214802334,-350118593,-50308332,-1566260955,-996394753,1286775814,-1999326746,-1067645627,357987792,501065379,546407895,-484480610,2029319458,528983107,1225664663,-1202414741,1264721002,-2097737414,-378620050,-888468335,673170933,-30179828,1343554057,1984160610,-1004241407,2135636519,-1385769234,-1233482226,-1209276812,717910119,-743666553,261595701,1088641256,844212088,1764227525,565111421,868883801,359714529,-1020667518,2027660430,870745880,1455589563,709987393,1340932099,1529156746,-1017267610,801231635,-1683347453,766972368,-733018061,-550131460,1708041793,316616424,1526852053,-1041457849,1423760128,-283961032,-18617053,942772324,1415051294,662097892,23306235,-1508831434,-1265941390,-769453735,-1557574348,1858864120,-255543793,-79453970,1390765993,1736764643,142271242,-1664037611,-1000412266,-257053656,1046271075,996615146,-750278010,15819081,809127242,687657486,1548432993,-1999180276,-1066948768,-805330534,1387249636,-360944904,-1376156411,1728589838,1371996050,-540984320,-2054841665,46782571,-1434470994,936531663,1609578439,-1539729560,476576754,966801910,1394965949,720540238,126976186,-828407209,2112075515,-538736511,-1527861218,1302896779,1032126547,-1647858843,-680302413,1351164536,1463194224,-692529805,577779720,816245044,159819336,-1320225377,1847284735,-1131929106,1643242064,-596666710,608059747,-1045742895,-114246915,1383791578,1300432684,-1307563847,-2114508868,2134898448,1538347601,-309986254,-76284290,-1271829505,-1467480757,-322020637,-274273622,-93298569,-1707403406,-2082471282,-1894483597,-1025694870,368608663,-1551824375,-179509059,1673662455,-944961036,81907541,1772749723,-414144521,-1163010593,-266756516,1495843720,-829041093,1044300179,-1549863525,1302800211,1900184485,-62978543,-843086378,421667011,444179688,-582919699,1699509905,-608504144,-1589576106,1241004492,1700002700,-1670912889,-814666497,14940935,-43765498,1344198109,1992022692,-116542925,1779376071,-1803547840,-1344724869,-340468040,317142801,-562387811,1114662873,-1250688882,-684346826,-2008204189,344472502,588579011,-1624338090,1440623649,1702472574,-579539099,528196237,-1878322111,-1087559672,-2119143035,-998484971,1551864674,-402392125,-312029698,-9454016,464264794,-250716074,1042390052,1337855835,993121570,399441379,1973484637,-576421739,-577180998,1021008288,589168965,-1831608072,-11154712,1771537712,778175357,155962015,524866380,543047463,1889400095,38317380,755903563,573504351,-1795430173,1044952463,471502948,-437223868,427602315,1222217437,1659331996,660863197,-130955802,-80254819,2090333731,455929266,1708551633,208793544,1375239101,237796136,-2008420908,720022899,1147674599,894741179,-1869552689,1149206824,-1179399626,132477640,-362748231,1674431083,2121117436,380077625,1760861290,1858157795,23151368,-688438873,2113962206,-183523617,135039428,373583793,-1486825451,1326078209,-1044476811,1665523711,1756061951,1725138083,-150537493,-1938679380,-71801365,383850077,135074779,-1057040140,1453907616,618926030,1619170492,-443767128,1797482283,1813764159,-1394443829,449585033,1456158909,-494178094,-1595663470,1068165927,-1467154134,24906000,-1036753201,-1551464003,1904828475,429434435,-2002769885,-75895469,1040618238,98939039); +/*FRC*/Random.twister.import_mti(93); void (makeScript(14)); +/*FRC*/count=218; tryItOut("\"use strict\"; v1 = Object.prototype.isPrototypeOf.call(this.i1, o1);"); +/*FRC*/Random.twister.import_mti(108); void (makeScript(14)); +/*FRC*/count=219; tryItOut("\"use strict\"; L:if(true) { if (x) /x/g ; else print(((void shapeOf(Math.hypot(767346516, 3)))) > (void shapeOf(this)));}"); +/*FRC*/Random.twister.import_mti(240); void (makeScript(14)); +/*FRC*/count=220; tryItOut("\"use strict\"; t2.set(this.a0, 15);"); +/*FRC*/Random.twister.import_mti(254); void (makeScript(14)); +/*FRC*/count=221; tryItOut("mathy5 = (function(x, y) { return ( ! (Math.fround(Math.hypot(mathy1(x, x), Math.fround(Math.pow(Math.sinh(-Number.MIN_VALUE), (mathy3(((42 >>> 0) === (x >>> 0)), y) >>> 0))))) ** Math.log(Math.exp((x ? Math.pow(0x080000001, x) : x))))); }); testMathyFunction(mathy5, [-0x0ffffffff, 0x07fffffff, 1, Math.PI, -0, 0/0, 42, 0, 0x080000000, -1/0, 0x0ffffffff, -0x080000001, 1/0, -Number.MAX_VALUE, 0x100000000, -0x100000000, Number.MIN_VALUE, 0x080000001, -Number.MIN_VALUE, Number.MAX_VALUE, 0x100000001, -0x07fffffff, 0x100000001, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(463); void (makeScript(14)); +/*FRC*/count=222; tryItOut("\"use asm\"; for (var p in t2) { try { b2.toSource = (function(j) { if (j) { try { a0.splice(NaN, (makeFinalizeObserver('tenured'))); } catch(e0) { } try { a0.pop(e2, g0.s0, g1, g2, h2, o2.t1, a1); } catch(e1) { } try { v1 = r0.multiline; } catch(e2) { } m2.delete(s1); } else { try { for (var v of m2) { try { v2 = (f1 instanceof f0); } catch(e0) { } try { s0 += 'x'; } catch(e1) { } try { this.a0 = /*MARR*/[\"\\u3FE8\", (0/0), new Boolean(true), (0/0), \"\\u3FE8\", (0/0), new Boolean(true), new Boolean(true), false, \"\\u3FE8\", (0/0), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), \"\\u3FE8\", \"\\u3FE8\", \"\\u3FE8\", new Boolean(true), new Boolean(true), (0/0), \"\\u3FE8\", false, (0/0), new Boolean(true), (0/0), \"\\u3FE8\", (0/0), \"\\u3FE8\", new Boolean(true), (0/0), new Boolean(true), \"\\u3FE8\", new Boolean(true), (0/0), false, false, false, \"\\u3FE8\", (0/0), (0/0), false, \"\\u3FE8\", (0/0), new Boolean(true), false, \"\\u3FE8\", new Boolean(true), false, new Boolean(true), \"\\u3FE8\", \"\\u3FE8\", new Boolean(true), (0/0), false, (0/0), new Boolean(true), false, false, new Boolean(true), false, (0/0), false, \"\\u3FE8\", \"\\u3FE8\", \"\\u3FE8\", new Boolean(true), false, false, (0/0), (0/0), false, false, \"\\u3FE8\", (0/0), \"\\u3FE8\", \"\\u3FE8\", false, new Boolean(true), false, (0/0), \"\\u3FE8\", false, (0/0), \"\\u3FE8\", false, (0/0), (0/0), false, (0/0), false, (0/0), \"\\u3FE8\", \"\\u3FE8\", \"\\u3FE8\", (0/0), (0/0), new Boolean(true), (0/0), false, (0/0), (0/0), (0/0), (0/0), (0/0), (0/0), (0/0), (0/0), (0/0), (0/0), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), false]; } catch(e2) { } t1 = t0.subarray(10); } } catch(e0) { } a1.sort(); } }); } catch(e0) { } try { m2 = new WeakMap; } catch(e1) { } try { a1.valueOf = g1.f2; } catch(e2) { } /*RXUB*/var r = r0; var s = \"\\n\\n\"; print(r.test(s)); print(r.lastIndex); }"); +/*FRC*/Random.twister.import_mta(-613499925,646913379,-1539432816,-1931015363,-1052600831,1916551326,619903903,-1705897910,-983554636,1127462290,-169335904,265711889,-1197721361,-1470824762,1270293563,575631686,1936630257,1859666120,-1296494483,-2036906052,-33446563,-78970708,-571151250,-804885420,1118519236,1274010424,1308074405,-2136451936,-492595008,-2061555405,-2078981706,-6858827,-48005394,-877188086,1104510923,1978092710,-2010548377,-784113344,625046036,-2132477538,-1539493078,1129684058,502634452,657704875,375418221,1338147015,231533729,743402711,-383216837,1090947533,20787778,720951187,547031366,1374896965,1522989087,2147462048,-2142421216,-1949979377,1885582129,1135374357,-2060785921,1774400091,-1728029956,610360753,966210002,1260082004,1717416220,-1682691606,-1149368021,-1839755848,644331710,870130098,1320226349,-36265055,656197573,-1232114637,-1228189097,868527056,-1350982678,941500906,-495022313,1227814002,1099077419,-874038958,600778017,480239271,1147538223,1019771045,1413400670,2003131097,1534296519,-1639483022,2062418916,-1583385925,-1296359043,832862669,882812413,-1943870436,1795224757,1061051135,1615628774,1726557599,576945715,-1876434140,2070779204,-2072076530,-1531888835,1286268818,200389474,-1165085195,1398452233,1492922074,658653119,2116832616,1383815427,688636310,1146053630,-1907791580,1170711957,-1706253372,862042366,-353036452,-1431645375,1064186085,-1188234369,1001861632,1966888056,-1992751361,-1424553,-1247645174,648285371,360955016,-1744682420,346015226,-1885928281,741560363,-268448385,1879975446,2015309094,1956455689,699858734,-735572210,-1128485943,-1005245386,-980641811,316988818,1758873453,-137525766,1671884560,-445845849,1757609581,437596664,1831267792,-899112071,-848233350,-2045771788,-927406508,1983448268,-450938692,-1766380026,882644175,2086799572,1193371510,-2079763130,685939367,1021129895,611639574,785885622,-500218206,278696216,-1043757050,-91868364,871832312,-78731505,1565594984,1180872741,-1777426348,848745030,1696848059,934068859,-566465521,-1115605909,1026518718,-1251939253,-1935902123,1672028869,641564847,1779873615,2128051602,-1853646824,-1874262073,869700003,-196155367,-775543624,1012728945,-1967032521,788748637,-1501484461,1904973019,73901140,1453340329,-1093573520,1998584257,-2091406129,524853493,274095116,2090212119,271680795,-315024059,1416191349,1872587807,-496327050,2138862182,1414048549,127209086,1750559648,-1168609925,30576814,-1027255661,2032982438,1868688965,1938296035,2129874834,-375434987,-554809407,-1819869140,833328772,1294502740,-1862467053,-1175127163,1594802971,-1584419620,687503700,-688360114,1847690380,-915136290,2068378162,-1293228285,-762207752,767171997,-2063147295,246215515,1502080632,-1465767704,1235317151,1213255212,1795713492,-2032937812,476265650,-33419529,-511585276,-755152829,1362455132,815518149,-1701289827,1004537756,760936267,757372135,1577326462,-1306019210,818102781,551322774,730754920,102749254,-1102792205,-448644581,1574663753,-228962309,-1718820688,1821120614,-1756276508,822476890,22774280,899601356,1058300667,1079649458,-1477052866,655064563,1828462298,-968806918,449105524,1635391196,978326329,1544091014,-526609336,115105837,1186717779,1459747695,-1220380966,871045968,1719470787,-1214453389,-80380565,1332274571,-1486656085,-1301694390,-2076766826,1974804370,-1688558853,-680935412,570127765,-672080467,389880717,1243295263,1370955577,1177531907,1585438352,1131013605,607183594,-1366978148,-384455801,-1418434987,-1483496948,-1388639795,1027200541,993610230,930180722,-457235842,-993956588,-1939375339,767294311,-2092113403,1552518008,868528257,-407241525,-227741017,507448879,-2055689730,521765034,-1135536864,-582097353,-1349895611,-991028785,463640349,-841220947,1462940584,1740489499,131656497,-915025306,-681257954,-2055949872,1054037060,-1597044034,533435639,1447216953,1282121906,180722160,-493922463,1705793269,1386715601,-78242819,-1981316114,-1219981648,413547614,1251604291,193538997,1944920093,-850997012,-434073233,276790177,-1131125999,1820550799,1401482531,230090194,-71327543,1914895745,800216909,211747806,2077461361,337883248,975597805,-1834493131,1274689140,-980144340,1129053823,-2006394739,-2082509229,-1627665180,646448776,1986221105,-123223697,-2143568873,1230573073,-1199984613,1679532026,1555442932,-1683476802,-745610760,167597331,-593215871,371952661,-1452608258,-64795377,-274347270,77471337,36396523,1959007036,328054832,1462715426,122577281,-1086491659,-251139701,144526470,-996203491,-2003245799,-827120783,-964620189,-257907050,-1659960288,-443491321,443835542,1348033253,-1802050193,-690941694,-841648719,1690508038,1589005738,93621043,1045274107,-1282368890,1818004706,1290523515,-2061314169,-1404088406,-1856916413,-458701687,-893180444,-1978847937,-1222185024,-1612687330,270629530,-623166764,-704878524,-1567558455,15901067,-414305466,-555921381,307008051,2006464164,1879311191,196939744,-1885087118,678975786,1639083160,-507579486,-899266383,-1731187967,-1712306429,-1481809640,367176130,2077625201,-1526667723,576208904,1680154576,-1321958596,1884540569,2014125001,-743609604,2009951691,-1312096351,-1748426591,-2101691404,450693923,1997557194,-1248110952,671510590,221668829,-1997033804,-170131621,1056680999,-1435161809,541871927,-1446416613,-1261389104,781375203,1333745064,999425860,-867925515,1943699013,1252034812,-979324396,899440669,544900435,-1734386759,-1118767659,203845210,1628260107,-35923092,-2134466915,724676291,339517075,-109213430,-1746207835,-1566143225,-374194153,1632450388,-47251449,727494026,656485653,-625240001,-1692105674,1599304297,744807333,-404856551,-321059697,-1146684654,-164616686,543349318,-1247434482,-898405531,2137150450,-1435569263,-353088422,941118345,-572726354,-1359001088,-1692522376,-1844344069,1816272511,-2090244069,-598224380,1285631329,-267290794,-760837974,-108324439,-580486849,-1888660466,-1543646374,716171822,-191798891,1331153916,-1591742459,-1653068341,1924396890,1167416191,-1947310474,1730305937,2078712434,-2025353635,1085806779,-1137542301,1199648702,-523447595,1917993483,1289973144,-934811059,-2031761781,-1526032354,753988517,2041891366,-1072929444,-1700499968,523707212,-669484940,1641401970,-1080087409,-2002139951,-1108407122,-1398744362,-476264650,-1413055590,-503425187,1335355019,-2014583517,1441689873,-46915800,172849887,823058650,543852777,854534993,136693735,-2128807449,378053951,-1472109911,1659455017,1377519849,-1634541422,38077688,-1397296465,-1846007898,1006194026,-827337819,1385349416,2037558763,-1828180801,-306831327,1222430458,710995169,447387286,1459754950,-1663178422,-109144733,-1269546513,120150390,-1393429825,942761599,-773181979,2084468377,1143915077,-1229323404,547415598,1809367359,-2049548997,-40862133,-922935675,-1523039252,1337134263,27411258,1628835010,-184696911,-909056651,484466346,-1832043571,1879546275,-1453505691,-710854630,564728049,1654259021,1937078186,-1544444808,1013259150,1732345893,-1097045020,-1065615850); +/*FRC*/Random.twister.import_mti(314); void (makeScript(14)); +/*FRC*/count=223; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return Math.fround((Math.fround(( ! (Math.asinh(Math.fround((Math.fround(y) ^ Math.fround(Math.log2(y))))) | 0))) < Math.fround((mathy0(( + (( + (Math.max((( ! y) | 0), (y | 0)) | 0)) < y)), ((( + (Math.min(0x07fffffff, (mathy1((y | 0), (y | 0)) | 0)) ? x : y)) < ((( ~ (Math.fround((Math.fround(x) <= (((x >>> 0) ? (y >>> 0) : (-1/0 >>> 0)) >>> 0))) | 0)) | 0) >>> 0)) >>> 0)) >>> 0)))); }); testMathyFunction(mathy4, [Number.MIN_VALUE, -0x100000000, -0, 0x07fffffff, 0x080000000, -0x07fffffff, 42, 0x080000001, 0x100000000, 1/0, 0x100000001, -1/0, 0, -0x0ffffffff, -0x080000000, -Number.MIN_VALUE, -0x080000001, 1, Number.MAX_VALUE, 0x0ffffffff, 0/0, Math.PI, -Number.MAX_VALUE, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(582); void (makeScript(14)); +/*FRC*/count=224; tryItOut("/*tLoop*/for (let b of /*MARR*/[(1/0), x, (1/0), (1/0), x, \"\" , x, x, (1/0), \"\" , x, new Boolean(false), x, \"\" , x, new Boolean(false), x, new Boolean(false), new Boolean(false), (1/0), (1/0), new Boolean(false), new Boolean(false), x, new Boolean(false), \"\" , (1/0), (1/0), x, x, new Boolean(false), (1/0), (1/0), x, \"\" , new Boolean(false), new Boolean(false), (1/0), (1/0), new Boolean(false), new Boolean(false), (1/0), (1/0), \"\" , x, x, x, x, x, x, x, x, x, x, (1/0), new Boolean(false), x, new Boolean(false), x, x, new Boolean(false), (1/0), x, (1/0), (1/0), (1/0), \"\" , x, \"\" , (1/0), (1/0), new Boolean(false), x, (1/0), (1/0), x, new Boolean(false), new Boolean(false), new Boolean(false), \"\" , (1/0), (1/0), \"\" , \"\" , (1/0), new Boolean(false), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), \"\" , \"\" , (1/0), (1/0), (1/0), (1/0), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), \"\" , new Boolean(false), new Boolean(false), \"\" , x, new Boolean(false), new Boolean(false), x, \"\" , x, x, new Boolean(false), new Boolean(false), x, x, x, new Boolean(false), new Boolean(false), \"\" ]) { var pdmouq = new ArrayBuffer(0); var pdmouq_0 = new Uint8ClampedArray(pdmouq); var pdmouq_1 = new Int16Array(pdmouq); pdmouq_1[0] = 5; /*ODP-1*/Object.defineProperty(o1, \"setUTCMonth\", ({set: encodeURI}));e1.add(b0); }"); +/*FRC*/Random.twister.import_mta(-641563042,1160792938,-667593536,1184139306,-2011575868,-2081652330,-910808008,-366413885,-1356138056,-59440717,776154817,407480456,-1313168540,-425245100,1098834502,875103560,-507694746,1300319576,663271640,-1195495461,2016480101,1354230732,-611078996,218698496,1763458791,986822538,-1407490566,-536840157,1060102351,-2000059073,1825453626,-910733129,-96743909,-373066336,-534209401,1222665000,-902740887,1381111937,-415477879,-1933325938,1944476702,2036530510,-90877859,-1719301751,826944206,-1214865499,-291673556,1277299424,871218312,-1739673056,361012245,-1209997893,-1542211393,-809646175,-1694551067,578740120,-1194362488,1343089275,-930265524,-477046679,1044661006,2068660405,2062737830,-1962756024,-1489563042,703845293,2060081471,1898767058,1630385890,1577433474,-1860616595,1267452050,-1726460632,1626601490,-1576842767,1805940463,-315429064,959317782,326123869,-1817841648,-1462502452,-904690417,1867715669,223318107,-1562689647,-1690226661,536074036,-1756392966,-1365478423,-709085385,-218601515,-38690961,-1560893631,-731267342,950469939,346888580,-1531445495,87722642,-405099788,-855030540,-2128573542,-1357372717,-760714835,-426619244,1567374830,-415959324,-2121592112,-383394498,1072255287,110481097,203214123,1057752590,-177910319,-816361556,-1091890342,-925631067,1060955931,641171899,-1546052638,-1028721657,-1486159531,-1608530176,1171701942,1506352996,293254241,-896574102,1328724746,527861981,-2018033606,1161290380,-1455682274,648989448,-1092713624,-778765968,1846470863,865041323,179627089,2040188396,682116141,1945706502,1374856693,1074883430,582127264,1207730250,250823031,1303331260,1236566262,1026562576,1677274561,1804339554,-1476394782,442729805,-980931771,-1498145951,-643591686,2070630502,-1559954926,1398428204,-188433524,1273986665,-2082600764,-1892652691,-510104171,1723827734,1721269713,1571657216,-1870646792,1694093888,-1250273372,715767516,1280178496,2039547285,-1774139383,1720536403,992284970,495973653,-250999926,-915400021,-792356597,679765578,-980603374,-232700432,306241884,-457195361,645132824,-662392416,-713996653,-1402760586,-445125587,-1712259642,-360508177,-1182444987,1071711642,1543232429,1695981095,2061327774,-1922990976,1295812621,973255765,1672644206,1666630817,-1498837382,773416396,-166984053,1676930873,580247663,1820331033,1734942968,1443126665,-512423321,815206401,514340337,1204902652,-904240566,684452730,384417199,820957684,288840435,-1455991607,-1894689012,-1034597405,1275908195,238468141,-904230735,780271667,-431382362,-420496452,1219803016,-2134735241,783975826,1448304196,-597363346,-1466909903,-1096356226,-829233236,-762412895,2080948973,1191968317,-677636455,707886283,955879206,1841108346,544739644,476395894,1772694094,302812210,-1143487091,906007868,-155296664,-1420605778,-42006530,25594825,-1147867209,945808747,-1108313107,-1333122123,122912659,1137458565,-794522228,995286586,-106088469,-168842445,1273989387,1276880975,-1174686381,282674290,753295020,1059073094,254079357,-247595985,-1056536156,837282762,-1386613181,1746922382,1812928697,538396567,1388559366,603624312,-1799326906,-378413179,-16724785,517966502,209364315,-2004798548,-1972671822,1926760122,1360565505,635795555,582536477,-792407016,163871790,1134894132,-682683977,-260874443,672677623,590753833,618608203,96264143,541010068,1357727549,-771545573,1888842984,-677293761,1558302843,-2093912888,1011854869,723104317,-1161065799,-581874239,-2100203191,-1040378962,-250417513,1423180834,-664302363,-1965869823,-1255881520,-404511224,-1869033121,579506746,1831070253,1288142639,1457766543,-1807224549,241414579,-452705506,835558716,-810217461,-827569201,-1322211261,621161065,677372777,-1508671018,871173557,1047419993,-2101574422,-1791033243,-1670313074,681976856,1421765633,-1210116807,-1874926194,-1366518267,507414273,-1927990184,152034,-1497639142,1793191784,1286970096,272939831,-512393833,490397331,1256125241,-2032385211,-210309004,-2084917800,659120363,1670679290,1126495606,-140917241,966525503,1054735080,-557699455,894699842,-1369209622,-1719467021,-1501962412,1974903273,-183250798,1241559902,-1498872311,-676864753,1796102733,1868912170,-1323708650,-1609775479,-1155651017,619835152,-79428698,-1202020470,1624472365,2141287861,604481069,-27313996,-787925521,2097235030,-116347693,573050517,1579684498,946521842,864361280,1913322601,-2122224759,712995709,1271369235,-52114326,-1894228422,594502340,1742363473,-482441846,282509612,-2029647543,2137765737,-1496787004,743360985,924924876,713925093,1356084481,-1962234878,434215724,1601884951,1436278066,-1255133072,-1276364511,714296468,-570286091,-903034120,36833408,1823304397,-1605558522,1238320107,-460946737,-24165061,754645579,1556158078,-1503634794,1600333479,-1078157266,952480577,-380001675,1711921281,-614360095,151903003,-355128620,-1242436605,1422801243,-1604172453,828109729,190516051,-1079868283,1108335884,-842297485,2096613359,640715747,3254309,-317927820,2086138262,1524745298,-1853621393,117277826,-1428879030,1100106612,2142117943,-732221618,-25822686,-1449795557,634174284,124530924,-1262659458,1569274465,2054986686,-281724,452252386,-385440188,1724213665,319342114,1208980648,776645521,-618872748,-1412926538,-1404423052,-716460494,-465228516,1214566746,1972772387,297746408,-344498230,343520907,496666627,618057655,-1723550019,-73833030,885361051,634205878,-1057770074,98503336,2032836310,96416652,549898362,964676749,-654739811,1889889482,1795586142,-662523346,-1053307272,1334228972,-1464090207,-1533826326,1268690929,-2051893494,-523520936,-1631657371,-483015244,-1963931708,-1113223522,2116677361,-271032241,-1186942298,-439216056,-487682101,1942719650,79624891,-15643489,-1210277983,2146886870,1922751843,1865931041,12886458,-420625458,-619112218,-1184565067,254507354,269518172,1248162940,-1055782336,-234400881,1737065107,18067088,-2024484084,-740985603,-1341475647,-714696538,1418054386,1159091640,-1864650915,-1086539390,935908054,-1088282512,1532388447,138826261,-742028980,-1146676422,599649460,1426412810,-1047392060,766743718,-118439520,1067886114,-2085112286,1782162844,-1270758475,1127319219,-1432366408,499228934,-1084229838,1214999895,1819081460,2079435838,2114948610,-673324467,1712205944,-677787864,2088748912,264389163,1871610841,373042060,-2003803727,-1353161388,419631397,787723122,-2094738387,345241716,-766594142,731109009,-2103575389,-55538085,520997758,-1604845589,-1838606565,35840234,-618600976,1294575993,-353120948,-2097641791,-216519558,-1393076807,-1812487814,-1247492976,864596387,-180148894,993721831,1272217220,1520538587,-437423121,-87627671,805557106,-67299981,1103007130,1824001266,1884511223,1060447549,503127894,1005541579,1558095309,-645410675,-1445453232,1183557902,1610767024,1328182228,-2022586070,62913233,-1619453254,-311465617,404476125,-1349640200,888704671,-239665579,-1681828551,1269843900,-1871070795,1951268538,-512753954,-475334248,-282746575,1334714859); +/*FRC*/Random.twister.import_mti(273); void (makeScript(14)); +/*FRC*/count=225; tryItOut("v0 = true;"); +/*FRC*/Random.twister.import_mti(284); void (makeScript(14)); +/*FRC*/count=226; tryItOut("for(c = 16 in new RegExp(\"^((?:(?![^]+)))|(\\\\u00cD)*|[^p-\\\\r\\\\w\\\\r-\\\\xD4]*[\\u00e3-\\u9622]{0,}[^\\\\D\\u4fdd]+{1}\", \"gym\")) (10);with({}) return;return;"); +/*FRC*/Random.twister.import_mta(88243940,-819712022,1939637561,-2096435797,1050539938,-1038892584,-1068367129,1622427408,-843083293,-1627581762,-2026997690,20761246,740913213,891595793,-1356549420,-2093833838,1280567864,-842644583,1333489098,-417186323,1157013291,-1920677552,256625259,1224748387,-471359746,989284534,-1245078864,1627331118,-1039182617,-908346573,-2062111803,223147431,317219409,847078781,1836968591,1455765567,1171280028,-27742656,-435969636,1219026350,938112500,467704948,-1748653801,-1787913708,-30131998,1367228149,1713417557,-184938448,1886431366,-1993655673,326842733,-839063550,1409505861,-1780129191,781275131,-935554166,259768256,-1915534531,-854825049,1481511275,269699323,1626360498,2147338138,-1402979669,-687502357,1298872836,1582504136,597564755,1728923753,-1076984712,-1093065699,-1488693982,-600586115,1564654101,144680628,2130552518,687938984,-2129678439,-492460094,1074809709,-509871525,-898108094,116117071,1945914029,-529686199,1781849388,-883655333,-879131773,-1963182702,-439635783,-954812654,-250859534,-1295144476,-1241620852,1632695452,1406270837,-2085975247,2087445142,-834706469,-469504217,-2061889977,1978536707,-1820159214,-267846510,-793788730,-902476116,-919117823,-1193937227,1973041140,642147564,-95151281,1096063484,341846900,1540059926,40895122,1900698867,-169503532,1668698258,-1754786819,-898002481,-1226694578,-1175291715,-1786743033,-1633774667,894905321,771500537,1470234353,-237177966,85095381,361605151,-737954168,-860211895,-658454407,996760606,-733296648,-649816241,-1407792725,845163339,238306005,248758869,2069811692,421467461,-264517271,634784606,90852458,1910445425,-552985140,-2058898791,-852048623,732341843,1468974171,-772472607,2115206874,803229262,-685081973,205773839,-688726492,1913204881,-1869351649,2048829532,-1600189845,1041851480,357692275,2111654175,1386810480,125983447,502426361,209780830,-574308641,-1988191756,-1128062160,-1126471767,1768604251,151089377,1166146039,320262996,2133672233,232452609,1263532123,-2104399646,-344345117,1258459204,1886893408,504385653,-961440356,1900582231,-1523980991,1195643760,-552607847,1508769336,-163403682,-1431066705,-1882218258,-531136184,1741634836,-480391761,89136304,-1274398329,-903588284,-383951083,2146225103,660597009,-1657039193,-183740395,-1280501725,-208268514,-365739791,466795595,-281436958,-1589550481,-646522381,-1533451180,649251828,-887296249,2131953511,7125031,1042088542,-1184132060,-1237428781,1675837463,-1262575790,241850236,-934802883,791039512,-795989557,-1672315665,735345199,-1674867456,-1736872669,1488267803,-1388800228,-203613467,-1656703257,-1491373775,-1862551649,716390474,611343743,904446933,-852704220,810923950,66725548,-1088898486,-1929364183,2022145823,-994048640,-879214637,-1138591885,2141827359,-668112377,1911835028,-1865689000,1730501114,-3142948,842602393,-1582121173,414079985,1899304238,-1387991805,1357224634,-1221179013,-780009413,-1853710635,-373269305,-1071301910,-1238102919,-261058870,1463339917,-1452229227,-1166617924,-146346555,-845320207,1905292060,628214578,-919629354,2113471268,1494316677,-1730776261,421200078,541898527,-1299477251,-628447478,-1314607735,-864286116,1246628505,-188792736,2089328120,-743170683,-1740136790,1217536190,991951245,-1917668175,1705685999,-1403378367,-1822967956,-1425164904,-328572013,605576000,-1362710441,372917859,1815800751,621281377,-1169703180,-1987707356,681159628,1176553548,1847709187,-998424850,373025892,303562041,1712670616,-1837265607,-1979210920,-552621183,389371652,-1861492245,-116529514,881813705,-1772880369,1586850363,229025452,126291476,-226771762,-1914137229,-1322734914,613231624,1894603521,442333727,1149954745,-1100630296,514183801,-486458247,273778883,1275777119,-932633996,1799538264,1000518195,1914009312,1224973712,-1011637313,1551849907,-1786410805,-731385395,2009122527,-1243300827,1881914143,-501685175,-333226825,667471114,272660137,1108715665,586767094,-1355695468,1413960131,377268253,997258040,886585000,874500772,1992811860,159155337,-944884467,-1929315455,-1897872551,-831171270,2044721293,1633469665,-303586562,878324252,509511747,-1824315746,48273201,-916875609,853075839,1767109370,369413719,1103107933,-1622265191,369403776,195267486,949226920,-657754913,-1528091257,-402266415,-36702681,-1468892145,-678832601,1485783690,1426759957,-1129682670,668723704,-1252246120,-468366332,-1633811183,-1150735103,595594444,1259155267,-1938616387,597361795,-1923325451,-189790401,-203327968,-272884854,1457885717,-600242329,1690164431,-2120969684,-97693180,-2028716317,-1484162955,-38319856,1522162681,76040269,105855443,604058397,320887396,575829516,-1642669095,-155976831,-429643811,1465693829,612651350,102273802,-1464143634,-851622256,375403003,1119033867,-705034669,746010218,-766989782,-850152050,696511368,679609671,-2033742519,812012992,425520259,-1830080967,782030317,1038374681,1605315438,-979465518,-1721779054,745520175,-184290743,-1719870230,144401764,-952079121,-1689339910,-232125057,-138388205,453039065,-1467928697,-1980109092,-89932180,-479690242,-434750723,-825372506,-1680902827,1122731556,1525988083,-823961798,-1564643547,-362735552,-1535580995,-1059503035,770981486,300878209,1124147507,500946820,1444814711,-381837200,-408557008,178645393,-1594725075,1750827037,-1258428281,1242701562,186188189,-432947894,463998812,-225463685,-2112047103,-246193269,-1286331280,953647394,869961850,-1848532376,1379533692,-1487590074,1412781730,620139844,-1852642654,-173668667,-1703586450,-1863620106,821792891,606465434,-398522423,193006306,-817617804,32876848,-215610657,-1196068084,948003014,130265546,2127180956,-1207992266,2095902284,-1067286311,854937648,-935236648,1462487006,-322036727,911851375,57929619,1945224171,919913189,1223716963,141105258,-532793150,-1609531542,-338716180,-1688209982,-1908469850,-857512269,-1005370792,1141555649,380866859,1871741481,-706082112,2068468811,-482954633,1121668789,1688986256,-12277390,-1679597009,1306494223,226946305,-1833515672,257299692,-1545246722,-2099501540,1189847390,-1148630162,-641405196,1649844890,-1439981857,21379370,209550781,1922817242,1901325771,1970857717,-1536736286,1785592971,1866637464,-413107093,1924962243,-2086838025,564270456,1374125440,1666617599,1741042635,-1235828276,-173320302,-1788001536,2030789414,-733799017,-1809870571,-1980341762,-2097393294,1291660036,1032403685,-1664883212,-1125457784,2053024455,192129861,1749952693,-1721550461,-1842768957,1676159619,-2103326612,-1411697248,587550395,-486276985,1297358997,-76756825,1060910569,1403971265,123919619,-1214158544,1249185141,-341874056,-846757441,-895300151,160196117,1817953189,-1163349467,-207855533,884773192,1752730499,-1270168258,1739423057,-1828990227,-156764828,713386496,1122547368,1759928089,143991024,-10597067,-1487681262,819112806,-227312774,1204648039,42765974,1330138486,-1770105211,494511847,-214699077,-796647866,1965105153,-457639348,-1948331410,1381330944,-1516810492,1924968343,557464561); +/*FRC*/Random.twister.import_mti(454); void (makeScript(14)); +/*FRC*/count=227; tryItOut("h0.getOwnPropertyNames = (function() { try { i1 = new Iterator(g0.m1); } catch(e0) { } /*RXUB*/var r = r1; var s = s0; print(uneval(r.exec(s))); return s1; });"); +/*FRC*/Random.twister.import_mta(-1429309952,343340412,1802285098,-1326260133,2011984633,622376651,350748487,1044638210,-1252795557,-998047040,-417915590,1923826129,-652165842,320475431,1205233946,1109968385,-1395930249,1173340393,881817072,230687947,-525974667,-1980636305,-1727203528,938171509,-171879243,-673608760,1713356012,-88342361,673147669,-134950057,233201702,1563374713,-1447695895,-2026618657,883794313,311328142,644922275,-504693001,1254669114,638676451,1381983572,1467281030,-739708520,1400217694,78929388,862206623,853962108,-1082640212,114530918,580854038,-784455406,-402010588,997928564,1203370494,-557975639,-1529520610,2046241724,826495914,1860226367,-739601786,1787600810,-249711369,763740847,418082154,-1026721345,-269432799,-1523351528,-1151263382,1558602511,-608176811,96220646,506262673,269223909,250231499,-1618166194,2094730953,762482580,994102555,-233204492,1341452472,2123625981,687007107,585772424,1483539440,-967947546,-2072703152,-820059804,-726681439,-1177064449,-992053553,749945179,2106606006,-881998364,-2062648181,714414859,137796785,1322148144,-1707938648,53887109,-804995810,750492970,137683129,-1960676202,-790451089,1570490256,-95375083,-1146585319,-852321332,1875893306,1681931681,1381965006,-1032749470,2060353109,-302637760,-1745608247,964765177,38464418,-1536656444,-1262221221,1394083917,634369091,1943598134,1032347881,1492963561,29993861,2117806356,-50513007,-1618261772,-2055342597,1167153517,717201595,-1910341464,-1098769288,1761488201,-1862198808,809991544,1541130069,-741534534,-1813529356,-1357271650,-1697567087,49296277,-801692749,1147045739,443445513,-163454958,-1174549751,1438141576,-845292836,-1095585969,-1016468363,240800422,1653129682,385535608,-1253793197,1144770442,124540156,-469901933,-23972647,-1461378926,250335148,-252257895,-1071634533,-1627240460,1868745254,43828899,2135679753,1672081959,-794763793,-677908378,1167676025,-1589576970,-1610534326,655075792,-1251899102,-591349108,-1802083686,-723426233,-1741976078,2124282349,107569825,-1164307748,1037806917,6128757,44628723,-959946006,-1731280609,-1984730374,1062738397,1011058988,2079328824,227728642,-1682658596,-1100996811,1644469185,1260677197,-279547975,-541419257,505052934,-767409040,-488648748,601865906,-2078023292,1378217507,-1888682773,-963347801,-1777772462,1601868136,-1052958440,183341331,-182486216,1670106780,1324727334,-1588835573,-1682808230,1346817113,-1966367593,-546423599,466281327,-891596305,840174527,1502891917,-598870686,-484780998,1924579756,-1101127073,791674225,2147119182,-517680978,2112945060,1343544822,-1606117035,-274874740,-980249513,1796885031,1046693179,1199559669,-1048477912,713136646,-656560520,211176450,-1738619055,-1486632623,-1901344329,-1188335649,-208208234,-350458725,1438140073,-250886235,-1855382764,1148842120,-903261733,399356123,-271690842,803446144,277209474,2019431689,1704242555,-541286373,1484544299,1459470186,-649773259,1922883835,-463336128,-1714243182,-1201902045,-1415478282,258214922,-1243666245,741275327,733845968,369932405,401863284,1276833006,184038193,-1817177308,1846714737,1477493314,1749334149,1446936049,-2040324123,-1199312249,1492839309,1135119244,1325866326,-567119070,-1614193197,247828469,1973090542,-1303107544,-214531006,1307106240,-1503980649,-256550188,1415355516,250236591,1439964577,-676747768,-1321651815,-1686063350,331998641,-615628452,681040687,241363890,-1789355323,-802747517,82380426,-292504642,469255759,-1294181429,493802076,817967097,-806378286,1586733390,-1473688598,2056810308,1459566871,-621722471,2067993312,-928103698,-1137466644,-177610387,1352845806,478738228,994898423,-1760539307,1799977117,864634462,-563168934,598366837,29546705,-493478048,-563863505,-838263755,1240166922,1455777610,1086452585,-359760434,893805156,-385611025,516773241,1964831353,-1166292172,-480803086,208451903,1541215967,16543432,-1259913272,-874868575,754240914,1331957155,-220023877,-334639675,-515554803,-2048437344,-1619911511,2129832903,-1224125920,889006833,1628098919,-1232667590,-163859595,-710921759,-226683398,-448870971,-909465094,960387424,-1821327906,-628569902,1838372927,-2076556277,784828532,1682651110,1405048,-1021844197,-2036365028,-1151112576,-551294303,-1154000874,-1443502130,-68121137,1386998175,-1995816622,-174059728,-1883603754,1293931660,-1229974501,1560689488,-363280555,-1305837159,1229321635,-1411453831,1398587589,-1010449289,-57096922,409333617,1211199555,-1496719047,-659537434,-673235057,-713961467,41269838,932635700,-1805898868,-1443377851,1118380636,-1269697272,2024982057,1322225663,-1500038724,-1703761853,-1985948766,-816295976,-1981285863,531675081,-586591038,-696702435,-1990794843,533788073,-1732713639,-1438816446,77215881,-1726168977,1460097635,1817127665,1210180659,-77196955,-2072636141,1998474102,157963256,-934373288,-681585141,1395833913,108298129,-1858319551,1187494475,624559268,-674218415,790892757,-2117414162,46465776,-687076305,336297707,811801151,-1832294612,-69774065,674484153,-425930100,-723752815,-1733230068,-1639249140,50495827,1415417854,1212749090,-1424655813,-2142170180,-914221566,2003138155,1746050584,-1699925332,245782230,-1837213478,1754880524,-696195094,2030657390,611086788,1792676124,940088378,-343133623,2067369286,131747838,1410211598,1893775882,-1911200794,-918784328,-1038935808,-591586118,-466183830,305118468,-160648767,-1234943586,1938316561,157854143,1891025981,210349253,-870959432,845607546,1149695432,-779335068,-1857596602,-1453807625,-777581207,2032735937,-1179421381,-1569505487,-266359350,193782917,1799834952,-1231614523,1269386226,274357389,152693716,-1395324566,1978491242,644265316,-780318666,256169449,-1572623863,-753528472,-141208234,-2121472796,-675915200,2126651912,497781886,-1279981797,1907258587,-2109000631,-1556169737,940513078,-336270986,-1213539065,-1423597574,1826877315,-1361457762,1173937730,536461394,-1317686678,-144408757,1943906488,-789394262,1010244346,-1426403716,81660491,-82938670,1901821409,312681723,-176729667,211575203,1907309815,-1399163779,1129776377,-993313648,196296201,-622704985,-1705879540,-462086943,-236737405,496166102,1457332936,1116825631,-256460370,216900027,1034470335,-1960868957,-1420867846,-1900039194,190440629,-1453252495,1216198234,-984661815,-1260603396,56480650,708892377,-202846851,965281179,1908232859,-1468390826,2025046267,-221192236,-1273349682,-1121782090,-397714301,-949193822,-1378629043,559813590,466020767,-1006082036,1312090517,-1492178581,612883015,1238364817,2051404597,1003276325,-1201405460,131502495,-1371212625,2061133311,1253362271,-1007417783,711672289,237290433,955270672,1727002871,-1117605715,1941323048,-2133426058,-1062752991,-1642125676,-1004960253,-197235121,2068220618,-1772793829,-1477717432,370734547,-613844263,496029267,-94633145,-1550198660,1804751906,1944341950,-186234757,-1474405779,-551006447,1627682743,-40406446,-2112173962,1370661190,2065270917,-298744498,980842693,-787586059,483271218,-1846525354,1565936451); +/*FRC*/Random.twister.import_mti(360); void (makeScript(14)); +/*FRC*/count=228; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return ( + ( - ( + ( ~ ( + (((Math.fround(x) ? (((y >>> 0) > Math.fround(x)) >>> 0) : (-0 >>> 0)) >>> 0) << ( + ( + (( + Math.acos(Math.log1p(x))) >> ( + Math.sinh((x | 0)))))))))))); }); testMathyFunction(mathy0, [-0x0ffffffff, 1/0, 0x100000001, 0x100000000, -0x080000001, -0x080000000, 1, Math.PI, Number.MIN_VALUE, 42, -Number.MAX_VALUE, 0x080000001, Number.MAX_VALUE, -0x07fffffff, 0/0, 0x100000001, -Number.MIN_VALUE, -1/0, 0x07fffffff, -0, 0, 0x080000000, 0x0ffffffff, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(512); void (makeScript(14)); +/*FRC*/count=229; tryItOut("a0.shift();"); +/*FRC*/Random.twister.import_mti(524); void (makeScript(14)); +/*FRC*/count=230; tryItOut("\"use strict\"; /*bLoop*/for (smaddw = 0; smaddw < 11; ++smaddw) { if (smaddw % 2 == 0) { for(let w of /*FARR*/[, {}, ...[], true, null, /\\1\\1[^]/ym, \"\\u1B91\", [1,,], ...[], y, , window, ({a1:1}), ...[], undefined, ...[], \"\" ]) print(x); } else { e2.delete(v0); } } "); +/*FRC*/Random.twister.import_mta(-319644793,-318367245,1454309245,932141478,-1980673548,-1527927992,-1954685299,710316087,552117052,-941982827,-1729112546,1650446696,1980924400,-1181115186,834404477,1077222076,1914219186,100076849,1122100856,2132982648,1420206285,1398181429,1514536380,164986311,1870069101,-367845863,-212737297,-1589104732,-355254969,-1114300042,870924272,-87290019,-738671800,185661507,-568792884,-654159561,-1349930955,-195553572,-859325339,202749454,-60143342,114321433,-395312447,10431494,1471586751,225986645,803145321,-777999841,-359086716,11328304,-1835518562,-1990066261,-1150419213,673005575,1365782108,681974304,1357430007,91073659,-1448846593,-1127982633,-689759025,-1478963312,-1764195303,-1228383530,2089716757,973117952,-1959761569,-1905074634,-1866777679,671353839,-1374267731,2055373156,-448519940,136057049,-1284822859,1717173696,180204980,-265241406,-1511431844,2063357595,1766284148,56273856,-631623623,-1790745363,833804985,1860688141,-2081838926,-915756571,930200832,-46669304,2051986707,-197482346,1254677980,1696242349,1286927342,1582179929,-1263926417,2061545388,-669125819,1573988880,-162165301,-1291438194,-1160729318,2123874117,-1388772479,1745454649,326380684,1367432057,2052449849,644569998,-2089085640,930717341,-1049732106,1400784095,310278243,2145867737,262123932,1893708777,-2127904734,161767095,-1697463828,-1077700707,1585590749,776386586,-1808266384,-879377772,-518231580,-1639017376,-465970117,1025692392,-260751585,748463748,1032153809,884446734,-220630848,-1338287810,-756482417,950576027,1160770100,555185706,-722679626,-1061413391,1472038679,-681014110,-1323879,-834311342,-1338089245,-1130580638,572849049,157280870,1522519429,1738097185,1240207139,1931237464,1861240446,1042213313,602529205,1292823625,-624090193,1277952867,135461986,-1318775480,-1966185677,-1016212753,-1692729340,-1930586238,1530168497,-1999512653,443984552,1404976053,1746124160,-1563408655,-408949466,-1483591129,-2044001851,-1926806801,1588316337,1833686319,-41900618,1580493187,1400496379,1625968406,-1113479006,-778879177,1495384640,-291301259,-54676335,-1049481810,-1335545799,1193435363,1283302622,-835824857,-330039644,-433176834,-2073378071,-934510604,1270303985,1018888875,-1443388850,-1312273717,-806290995,-972523839,69478785,-436714400,1813503383,-319848863,2040905063,-67638699,-1041320443,-1059864869,-765706446,1290308145,-95758108,-1187022506,1496681630,1128608133,-1749296896,695907130,1048563806,-1850731450,-824500324,-1072201729,1274745560,-1470823645,-1695972414,1601113137,1655403364,-597625904,-1812044767,2124714374,-1096440365,-29389134,1596740028,1744325441,-1401978251,-1704986087,-417676287,-844162275,1311835732,811182065,750669753,-83536886,-1637331272,-1215976062,2084336250,-1368956694,-1930024717,-181668928,467796927,947455480,-1245092363,-1114073633,-571197494,-1533006801,-1458905243,1341425436,374851348,-2059411678,268079895,-125428483,-1095051514,1046358126,-348956777,-480187140,830378258,-1726513762,1269280779,2139975056,-909139047,-38875607,-1835941661,1548703877,729103906,-1280594130,-663182451,77145571,748993041,1068685571,997618060,559202782,-313259621,-1541543099,158490598,2003513948,712283626,2135442633,1655582450,-332504904,-1091380348,-280771016,-801360074,-156519167,1113208682,-518117535,269437374,593069502,64018667,1870823102,927128289,900227835,633024631,2116580861,1634240537,-1726396407,19630556,-409083367,1303644996,-1112291188,-2093205766,-1796384489,338379726,373622992,28182954,-1745023673,-1272537529,-2063167148,1229451419,133127267,-798127647,349244586,-2035885372,619026201,1342856643,805620555,-396346919,884080596,1142262079,-647835290,2077993579,590967213,1339863285,1526965065,-1778009860,2004981129,2061756636,-1019367598,321676649,-640146422,-1695339723,385892757,-252146372,256089593,239899808,-794731044,-1002862503,-2125138106,332906835,1714895203,-373690028,-533166125,-1908453096,2067160397,574608205,-1544568780,1224682219,38287623,648444920,855841464,-2062450968,650515660,-693960853,16898287,-922364989,964635826,1548613478,431021700,682567877,-1180128033,796721457,-861399603,-2146744168,-842115222,-833629330,146612913,-2919956,2140491481,-3756055,119824782,862171590,-1390610149,-2092884920,1786078935,1154412121,1681187806,729875983,1486723453,581902027,-1539952873,1903748443,2003052861,1334449164,1807601849,872924518,628680226,1575722196,-1486445994,-640517130,72064371,1345808873,338671099,-425136384,-1646234657,-2029430999,-1822908724,203375617,-408395982,-1150961080,-317286437,1939985352,1771064412,-1790748954,1049486764,861427110,711810986,-269056049,1112610280,-1702780690,-1700958507,1534759508,-1186116347,1030460005,300683777,986146330,-459773610,-2120007571,223091235,1794896029,-1266688906,-1027776707,537093549,392110010,-1668926636,1994256758,-399300584,27035567,-747391913,1915949356,482772871,1275978566,-1154983524,196202398,-1976007884,-1032057787,-1629525354,-845567646,-210860195,-1560380160,1035836171,-1940914439,81696606,1893528405,-1329118147,2068547232,-299270490,-1672971762,-146837728,-1675715988,-1968379169,-211216412,411007703,1858561836,-668782733,-1323333140,-1684116554,-543611905,2069630682,744352236,-2140084670,-2036755799,-1652201145,-1652383227,1145843583,-1452420839,-395832401,-1809678528,1975291362,1247955277,-52511881,531004896,-2033838331,1147974264,884357989,-291023395,-1994677847,-1556822914,1456073258,-624597479,-1770196428,1996325325,647476403,314301079,-723342675,482768860,-2087280820,126008181,352411908,-938645363,282261214,966524284,-1169121093,-1222157628,-837671112,2121241942,1066918051,386694424,-438522969,-1451383803,-2065759953,-539541010,1236544916,481304444,1427473646,1906148086,-495182432,233957898,652210559,668216092,-1942242131,-1018052166,-2138576586,-1265833828,-9040224,875914097,1630320586,1618910871,804783060,-686625407,1549132843,1448154024,1064502628,-1939591369,-632538074,-635774864,-1408170645,770370094,546254587,1269553433,-1242272406,-1728019919,-116573431,-1248292081,1761063324,830407384,74374301,-321035572,831844223,1511554753,-1379382368,-1666870327,1750139156,-277173431,1874651353,-1472819494,296888898,-1640167275,-1484789522,-1367256758,736259032,-525552654,-865344766,909081676,-154455185,1673623859,-689940613,2014199192,-1899087330,-229568201,-913251626,1431208222,1356722171,1032602434,-1483755128,1320526527,1131989176,-220398221,-876755630,506086342,78673266,-1333985103,-1613718822,130386289,-871236058,511326705,-62553112,-1121333200,1635056840,-1701527236,1850756240,-851654464,1461650172,621219770,-164447294,-1643563507,1366570577,-1178342172,-702126210,-2086173049,2064595782,786026642,-1276340725,-1700840861,-1406756664,-1382972177,1266328154,-790317448,-1757085510,-53471963,-158845351,1401372680,-407536965,-1456243145,-585264808,-1323888007,476358626,-449098964,430028280,-740270688,2022889131,-1349624828,-2054667197,1797257019,1427357183,1355101992,1990428394); +/*FRC*/Random.twister.import_mti(142); void (makeScript(14)); +/*FRC*/count=231; tryItOut("\"use strict\"; /*MXX3*/g0.RegExp.$_ = g2.RegExp.$_;\n((function a_indexing(yvqyvj, tsxpnb) { ; if (yvqyvj.length == tsxpnb) { Object.defineProperty(this, \"v2\", { configurable: '' , enumerable: (x % 2 == 1), get: function() { return t1.length; } });; return tsxpnb; } var yzitur = yvqyvj[tsxpnb]; var ljpqnd = a_indexing(yvqyvj, tsxpnb + 1); yield /x/ ; })(/*MARR*/[new Boolean(false), false, false, false, new Boolean(false), new Boolean(false), new Boolean(false), false, new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), false, false, false, new Boolean(false), new Boolean(false), false, new Boolean(false)], 0));\n"); +/*FRC*/Random.twister.import_mti(322); void (makeScript(14)); +/*FRC*/count=232; tryItOut("\"use strict\"; this.v1 = g2.eval(\"function f1(a2) \\\"\\\\uABBB\\\" &= ({})\");"); +/*FRC*/Random.twister.import_mti(373); void (makeScript(14)); +/*FRC*/count=233; tryItOut("a0.sort((function mcc_() { var czrqrp = 0; return function() { ++czrqrp; if (/*ICCD*/czrqrp % 3 == 1) { dumpln('hit!'); try { this.e0.add(t2); } catch(e0) { } try { m2 + t0; } catch(e1) { } try { v0 = evaluate(\"g2.a1 = g0.objectEmulatingUndefined();\", ({ global: g1, fileName: 'evaluate.js', lineNumber: 42, newContext: false, isRunOnce: true, noScriptRval: (x % 2 == 1), catchTermination: (w = 6).call((4277), x, ((function ([y]) { })())( /x/ )\u0009), saveFrameChain: false })); } catch(e2) { } t0 = new Int8Array(b0); } else { dumpln('miss!'); try { print(b2); } catch(e0) { } v2 = a0.every(Date.prototype.setHours.bind(b1)); } };})(), m0, f2);"); +/*FRC*/Random.twister.import_mti(598); void (makeScript(14)); +/*FRC*/count=234; tryItOut("\"use strict\"; a2.splice(-6, v0);"); +/*FRC*/Random.twister.import_mti(618); void (makeScript(14)); +/*FRC*/count=235; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return Math.atan((Math.sin(((( + (mathy0((y >>> 0), (x >>> 0)) >>> 0)) ? Math.max((mathy0(x, ( - x)) | 0), -0x080000001) : Math.fround(Math.asin(Math.fround(y)))) + (( + Math.asinh(x)) ? ((y != (x >>> 0)) >>> 0) : mathy0((mathy0(-0x080000000, (x | 0)) | 0), x)))) >>> 0)); }); testMathyFunction(mathy1, [Number.MIN_VALUE, Number.MAX_VALUE, -0x080000001, Math.PI, 0x100000001, 0x080000000, 42, 0x100000000, 1/0, 0x100000001, 0x07fffffff, -Number.MIN_VALUE, 0x080000001, -Number.MAX_VALUE, -0x080000000, 0/0, -0x07fffffff, -0x100000000, 0x0ffffffff, -0, -0x0ffffffff, 1, -1/0, 0]); "); +/*FRC*/Random.twister.import_mta(-339730091,-1570199928,266869032,-498055174,-812210565,1539246256,1601922568,476779935,1565381159,-149794489,-1673953425,1219007280,1968996923,1419109895,513239282,173277439,-1315018259,-830049037,2109753428,702169175,708745488,1985506442,615465785,-1814537204,-1108529710,-630773838,-1271103868,1841458705,1401326232,856649573,269576967,-1421787495,-58480301,944991196,1762634512,-1206806093,-1843453066,-17307326,-1787203760,1275475365,-962198700,-516074759,-77082721,-1184747618,361502657,1285242798,789024582,-1193948256,-1288115515,-1414371377,-536488959,1223799135,-908556414,1483269243,-1533785811,-902338556,1972836420,294840238,810939156,1852286164,-650081001,554558775,1125865404,-1987538439,-987536781,764349852,-593034067,248254200,-1235829774,-1570868635,-47077648,-1271168297,1082380788,490702464,929091999,-1405940797,-797946418,-959000594,-1849026960,2126636279,-42733929,-1417423581,1433343404,-2051182597,-1697814724,-279740028,1957053828,-125035778,1750211374,1055571023,-1402886529,328855331,-1928181446,887202656,1657604446,-1617181004,-18429798,-1299910136,2078929932,1781472951,1230105881,1693690865,1544802246,951282651,589190395,2010481424,-1906311744,-1288814885,-152500640,-1463800167,1181449918,-10458091,-1190936796,-1937271918,-202465315,1985108536,1125872779,224692763,-83529989,717048810,1255327676,890792331,-1750813381,-1097798364,-1698893846,1153128323,772537850,-1955938219,1902733984,1981858513,169588585,-778365409,623431267,-1257728169,-2108583751,711333864,1766712441,259855156,805606894,1641921858,1285739341,1809248613,-759595688,1399178652,265618485,-261586314,1512080940,617066463,893065804,-296802084,118250095,559621255,1373580600,-670922634,-373609242,550162655,-1371673415,710093213,1482774912,-1433915525,860938620,1019425460,886422186,2074278990,-1329727314,-1756132428,1266682493,892692684,1041864475,-967258121,1106276721,646018957,-1709423049,-409898113,2014617632,-1192692168,-321547536,-870535256,1034895692,-1365376156,885347065,-1364339488,1846654366,1800759377,1648935619,-114535578,-1661168321,2081683699,-1678934938,-1129704621,-800074276,-1156237422,604511619,-29696495,-1844149192,1658462378,-702478373,-1388823101,399176388,2102872766,-2130464519,-171740019,-2129611717,1973183607,56203047,1212934787,-276174929,689659301,1847881480,-1778513220,167035806,1856121978,-1154824688,-978732936,1706539333,-1161101575,1222246015,-100359421,293191643,-1265773970,-2121148021,-898378392,145388813,644560602,-1548973256,1636863642,1486094082,993502106,-583340469,-1984791778,-1655734109,-1610576219,-246702641,-800843795,-934520756,-1211629320,147680278,-81658811,-913510377,-99936968,1763134466,1369657262,1368839742,-813674288,-642399098,-1565266702,1397733815,-20502512,1784999542,-1488764644,1411163708,-753453513,289374586,2041684457,171453855,1487759634,831553780,-823881133,235569208,-1545682224,1736212459,-979455996,-912134195,-895456257,-226732147,1772226442,1941996397,2068406855,115508530,724016945,1313682179,3573968,1431234617,-634163617,1670506894,1013057298,761510801,-37819193,1482412464,1719284624,-1821466362,-533895458,-243076822,1621971633,-1220643563,16966765,1483773064,-2043027243,1454114347,721767463,1809185702,-1542555194,-2079805709,-1801412494,526437415,783705944,-1784722118,2140699487,937886581,-883492592,-1155330911,-1629739700,968302360,-1864005344,1813024317,-149941294,1612185777,-1125255702,2029898103,528135243,-1902122093,-1709546519,2108012536,-1212302728,-1173401004,-1778822212,-1542085983,492819024,1508993398,-1908333480,-6563789,-742353056,512824270,1407083689,-388231710,-1058308020,1184790020,-1380677389,-328752136,-487250077,-1942353248,672958597,-1793197813,-1288828498,-1833899662,645366795,-2077475684,-1843766277,770243584,-2122319430,1378807217,-188164723,1577252054,-1206976392,1305407928,736509581,-2136053884,2114862870,-603153731,-793043529,1510175581,313243283,1431091097,-746792880,323382281,1647990620,1872842637,143853597,-2097668999,-1754201847,1820380159,1071368583,1993966001,1198202826,61176950,-1118064301,-469672974,-2112560374,-729134244,-1833117420,897773097,1760750978,759079921,1707687642,-1039812500,-1815020185,-1378019301,515736204,-1361188651,276800284,875596738,1389685525,315662640,586538849,-1625991684,-801216966,563841071,-756800754,-1636198667,319860908,-680221491,-1430382051,-2047870811,1702216727,646330855,1391504096,494252433,-253528742,-1247928913,-1454886473,812251727,-1567048853,-247154338,869433391,-3637199,1612553320,1092483158,1293269789,-1704594738,1689263853,873699975,2078599184,-333775693,839869959,490435079,-1767003119,1760302310,-1108173578,1052451279,-474651538,1875142606,-1888012491,1352012801,267917106,1922465805,-1145062827,1734911109,2035658680,1019901572,-1967178778,2078244317,2016898972,2085781135,911152295,-1716897967,389932958,43383200,804401725,1932918964,-17686049,-1061815838,-1652486216,-173716558,773139150,448483442,1074168155,1935388468,515806760,-2011390265,-1446200200,-1493162981,-569816984,1451504073,381141509,1084757002,-1825201283,1441578670,-453309615,1966572305,-970445223,1700606091,-1866228550,-100190941,-32944842,-2037384408,-543030047,-97294823,-1286392439,-2039919662,-2040580125,883881904,1410047189,1334793722,425625111,-2078707999,-698516977,2403448,466589900,1232899434,1930025030,-85848956,-1537001554,-2060973799,1611326155,-1518311610,-1168079893,-387925046,-2062938158,1339939458,1509208665,2044300918,-1138791325,1751730220,-1458999800,1909052101,-1142128213,1666114654,1384172989,-2078906286,249382235,-1120240189,480650021,-1163835492,652576029,1448610251,-1779584147,-1122171944,-58392079,-2064158700,-2425196,1244106950,-1880050578,809298621,512254349,207530165,1162220453,-1274010962,175971195,-464679587,-565257539,-350509278,-596456128,505429181,1017688750,1751415477,-2056862358,1014283226,-1878293131,-2124044290,-1500661668,-37513421,18735621,940581304,921531814,899863112,-1004497628,92308222,1528240724,2140425906,-1100919136,-1010408778,-1565469896,247893293,-1837427769,-593685200,-302651703,-1734016632,683778312,-1477961750,-1339754827,-1123508198,-54048113,-2009950867,-796376431,-32801660,-1155069091,-1224469873,-1133751463,1311340804,-838187219,289611974,2052646196,-1810948247,-131390896,-1786951948,-842480572,-440956719,948546878,1169068719,1086641527,-1412900676,-1281585096,173693649,550021602,466673087,-1827030178,-756865266,-617266214,1564736510,-1884896258,-176937149,-982269906,1545115304,825599893,2015983225,-1884128025,-531028159,1243525023,1414809849,1683621484,2087862827,-710322257,1290345124,-119493248,-385363787,206649536,-281328457,586024544,-401861032,-109474273,869954238,231066308,-160584630,-2052111577,1428095697,1237144216,-231536401,1576217542,-133765481,-549343500,1283135437,1586916383,-1643366965,319172025,-1640695310,-1215711195,-162436314,-1061975345,1903331555,1768469479,-688608713,249864819,1772186005,-1315106332); +/*FRC*/Random.twister.import_mti(251); void (makeScript(14)); +/*FRC*/count=236; tryItOut("a1.push(b1, f2);"); +/*FRC*/Random.twister.import_mti(299); void (makeScript(14)); +/*FRC*/count=237; tryItOut("mathy4 = (function(x, y) { return Math.fround(( ~ (( - (((((y | 0) + (y | 0)) | 0) >>> 0) >>> Math.cbrt(( + (( + Math.atan2(x, y)) % (y >>> 0)))))) | 0))); }); testMathyFunction(mathy4, /*MARR*/[false, new String('q'), false, false, new String('q'), new String('q'), new String('q'), false, false, new String('q'), new String('q'), false, false, false, false, false, false, false, false, new String('q'), new String('q'), false, false, new String('q'), new String('q'), false, new String('q'), new String('q'), new String('q'), false, false, new String('q'), new String('q'), new String('q'), false, new String('q')]); "); +/*FRC*/Random.twister.import_mti(500); void (makeScript(14)); +/*FRC*/count=238; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return (( + Math.min(Math.fround((( ~ (-0x07fffffff | 0)) !== (Math.asin(Math.log2(Math.acosh(Math.fround(( + (0/0 >>> 0)))))) >>> 0))), ( + Math.atan2(( + (( ! x) ** x)), ( + Math.min(Math.fround(mathy3(Math.fround(x), Math.fround(mathy1(Math.pow(y, y), (x >>> 0))))), x)))))) ** (Math.max((mathy4((Math.sqrt((0x100000000 >>> 0)) | 0), mathy1(x, x)) != Math.hypot((Math.pow((y < 0x100000000), ( + x)) | 0), (x | 0))), Math.trunc(Math.pow(((x >>> 0) * x), y))) | 0)); }); testMathyFunction(mathy5, [-0x080000001, -0x0ffffffff, 0x0ffffffff, 1, Math.PI, 0x080000001, 1/0, -0, -Number.MAX_VALUE, 0x07fffffff, 0x100000001, 0x100000000, 0/0, 42, -0x080000000, -1/0, 0x100000001, Number.MIN_VALUE, -0x07fffffff, 0x080000000, -0x100000000, 0, Number.MAX_VALUE, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(-1579735522,-227929797,-1738534326,-827713107,-817414349,-554104230,-1527793089,1214700029,-1029962732,-1777731778,692187781,969081612,-671982287,995634942,-406431568,1843230874,-867898207,1675318829,457719013,2113099886,-2032227661,-1243336564,-363247000,825422119,-498817812,176696131,-535719707,1532347713,993049912,-160914983,-167935957,-612166926,-694776312,1331210325,-46722150,895348532,1228201990,-753499911,-399094381,566687754,-966513762,-1752344668,-1572653552,326845149,-1144221585,-500790255,847236894,-634415665,-1932066205,-1705904661,-472973736,-1393500922,1559264922,742568018,-1156383638,743423467,511619538,1484975488,-1543081705,-532395782,762661141,1421486287,1541723770,-1631309459,-972809612,1297876906,-1183888822,-1650153775,394628364,-2069121695,1883653181,-433544408,-2000620381,-1240060000,-619009557,666333981,2050351584,-855874087,808794283,-1483346964,-687422846,600508348,-387981468,-1216037094,-741673108,-8705061,1548545972,-777426223,1008561427,1742264362,1439582364,1230306847,59007977,1220479705,-1278046407,387591265,-263514356,205334723,401849903,-554786291,-101603174,-1440772175,-1953742743,901637985,659350189,-1114719876,-428201297,757893883,1485116670,-567755641,1513981732,-663310458,-1181141155,-1428656137,-187065998,-2001084377,-2127391649,-1462456553,270054992,-1854324368,-1980129439,1989633823,-2130269137,-1505373993,656922206,153469504,-1609211301,282120165,662574301,-1603153743,567197349,1257861136,620839720,635695024,1412360689,-1782684837,827587644,765499583,-187806843,-1160160377,-134950343,1456009246,-673993618,1562660979,-1702587901,1675021883,420508919,-973039594,-623742297,1110154336,-1587248236,-1895333514,-1675251058,-908773783,900371007,103076846,480863872,-767831996,929803327,-290692559,-1576154621,1413719121,-203736822,152951953,837886190,1757915784,-491678154,326712742,2011960160,474415286,-1295931865,-777518741,-1442522089,-675116884,-1343689948,2083558313,1187446326,1158118681,-2074690836,294207149,-865883734,709566769,587515657,1566111485,-102372963,-1955697432,-701174989,1977600074,1223673233,-2004955729,395588694,-1621559577,-1034954309,897056823,-1530640390,-17749610,930350014,-1562203689,855285151,1991388180,-1056502535,831323290,448728315,-1417803278,-1326936230,1487007554,1210735914,1645032789,1128421318,-1228314336,1789017595,-443316833,-1114279224,-1482130512,-621042756,1667791403,-1223897881,1333827264,-1378922222,798046012,-1517657989,-1406205254,2052925578,-954011733,2116871486,1172870676,-1408843735,373481956,-1229771596,1338991300,128118304,787104011,802402675,-1060530663,327342465,-2030390753,848411075,-728810927,1153862032,-1552286928,327780649,-821218385,1243435250,-1600254238,847421524,-337162015,1116785766,-202580600,-1505390590,-2141775498,-2119050525,-1428462511,-1353168024,2080716533,1996714440,603520322,1209161775,-1292320713,-898862182,1008730402,1838674007,15684771,-922392044,-1459455201,-1480096964,1222556922,-2056586762,-988452601,454437091,476913486,325060277,140727468,1446480865,1136081881,-1004628410,57569140,1032205143,-1880942976,-1613904690,1430728217,1549009725,-1009548033,-988699540,-1662436473,-2129973399,-2009187501,2052065359,-550765857,-667927037,1846422441,-1933374066,487128530,118249363,1876401286,-1962961539,491400081,1651456017,-222464680,-1014767712,1280950828,-109560570,-2017384857,801486733,-1791683039,-143365072,-651065300,-1176301287,846239462,-1249972922,1989712498,1669414449,-1390924656,-458885401,21710494,-1688878321,-148960100,695677186,2033646631,1316252723,-448708817,559890793,-57014562,-1476546838,-1004203523,1816717541,1958511917,1362908843,-1883080346,1114483935,-846117575,-121957380,-1261785353,-468075093,-1356702186,-417335263,1519585968,237838757,214563108,-657894565,1233580378,162837998,-1680284903,-1799462885,-405410685,607060110,273646994,-293708037,1056400096,-2017306341,1963959646,907590465,-1802945203,547073640,1891558528,567141451,-1985608764,1026614368,-1178992570,-1740029877,-901147128,-1559839828,-162883082,-1240732482,813777415,-1442451255,-2033260932,-70047230,-1649281129,529964180,337275813,1767712434,353596196,1362252118,940746945,383800954,355749493,225795366,788711201,-952610568,-2042759313,2042098492,1019396775,-1906930559,321113214,-1171987623,-22095625,-941722698,1949938086,499907591,1097456563,-984981184,-368153501,-2089420708,1761229338,973170902,-530678921,607566363,1896224815,470067567,1798869487,1602643398,-682969205,-1127128223,-534114575,889828141,-1529329977,-1374989316,-1051635507,-1055154536,-1610237291,1621787381,1457530651,1264676660,1101128431,-410931555,1016713186,-1769503788,-775875474,-1367194416,-1246893476,-1412748430,1434975525,-116579825,-1757940889,641057826,-666468606,1243151304,-547211333,886268265,-27786550,-1754939844,399048898,-628173362,-570952099,697550490,1107864342,943243489,1396260257,1138894255,-573600199,-378995604,-1607924123,878899020,-1169070882,-158636366,-1805482360,550403112,948740039,-121021306,-1328182696,-1473885281,-1939452667,-675559479,-1940731348,-2033155963,-599428125,-457549901,-466509961,-1795758344,-998925847,-928491452,-141954097,-100789116,1909867607,576096510,-1596487101,1675153707,1354575040,355080321,273296170,328429655,356846249,2118165301,-644559927,30068816,-430455234,-1917790960,-1525703594,-1822455694,-1842787030,775204130,-1398815333,-889897736,1523739532,1992306973,-1105449345,2124744395,175709462,-1256342192,-169235153,772111857,-739039446,1549405182,1686544459,1105959181,1790008012,-1406809777,292237980,-704297250,-777910817,-1796433260,-649185912,-921428699,-1885173907,471695337,-1052555998,-1307763138,506444599,-1136723019,-1610454001,-1693359696,1075702504,510835530,-445125430,1686127570,-1036505260,-1304946997,669875199,-349757357,1921090562,32438822,1558658044,52327110,-816466540,-267511827,-1648786867,-581652407,-1177882887,-729286071,-936588085,1286821884,-344163092,-1035521281,-1556973507,274783348,-138499015,1527977816,1548425576,-1305965632,-2058958916,1343434498,1161704774,1730819488,1194965914,-1765490788,36105463,-1323176021,850086556,1031851355,-109445401,592315493,-1319562612,-2047863622,775547113,1264143383,-2132339385,179297354,-1615876226,180829630,-1397215800,-1844564852,1947256650,646355864,1150517983,1781373702,857352172,365045701,-1301590938,582105469,-2124805051,-1105484641,-133522119,2871651,2057208059,930856783,-290207076,412419251,1488537278,-1822794574,-1020719850,302449815,1338093343,137650385,-1741885565,661360362,1902994228,911110424,270806799,-999843136,289045876,-2091034353,-864977509,-1161908036,374895239,-610702345,-1325167088,1164798101,1566256542,-257489676,148858889,1055935907,769032287,-823435463,-17666927,198995565,1730765904,-389782900,-591646552,1398937053,1902360504,-1520416082,740968803,774209268,-926675121,-1225400981,1726171540,-1204244981,620467694,1202881871,822549912,-1233069060,-1747358525,-124718203,1960651028); +/*FRC*/Random.twister.import_mti(293); void (makeScript(14)); +/*FRC*/count=239; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return mathy1(Math.atan2(Math.fround((Math.hypot(( + 0x080000001), (((0x100000001 | 0) >= ((((((x >>> 0) || Math.fround(y)) >>> 0) >>> 0) | (y >>> 0)) >>> 0)) | 0)) >> Math.fround(Math.imul(( - y), y)))), (Math.cbrt(( + x)) >>> 0)), (( ! ((Math.log(x) | 0) >>> 0)) >>> 0)); }); "); +/*FRC*/Random.twister.import_mti(479); void (makeScript(14)); +/*FRC*/count=240; tryItOut("\"use strict\"; mathy5 = (function(stdlib, foreign, heap){ \"use asm\"; var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n d0 = (Infinity);\n return (((0x75180971)-(0xfcfb2d88)))|0;\n }\n return f; })(this, {ff: encodeURIComponent}, new ArrayBuffer(4096)); testMathyFunction(mathy5, [-0, 0x100000001, Number.MAX_VALUE, 1/0, -Number.MIN_VALUE, -Number.MAX_VALUE, Math.PI, 42, -0x080000000, 0, 0x100000000, -0x100000000, Number.MIN_VALUE, -0x0ffffffff, 0/0, 0x080000000, -0x07fffffff, 0x07fffffff, 1, 0x100000001, -1/0, 0x0ffffffff, 0x080000001, -0x080000001]); "); +/*FRC*/Random.twister.import_mti(571); void (makeScript(14)); +/*FRC*/count=241; tryItOut("testMathyFunction(mathy5, /*MARR*/[]); "); +/*FRC*/Random.twister.import_mta(-1858363283,1345626186,-1788531226,-1590867328,-1204407642,2007895713,487707344,340242727,-270746280,1671633505,-575614645,1944715487,-39211542,1397337773,537828182,-196367941,-1455097562,1932329008,39871445,216032850,-1959588824,-609295900,1950097936,-1695975164,-1983162277,1343052450,1670750488,1001233086,2054856497,-1443984638,-1297891646,1603806829,16574015,-1442957327,1298659160,-32201267,1836320510,-998223732,317445907,453694766,419403379,314818215,226140040,1837499524,1211297970,1834813635,240000742,703092572,1078119586,1361642244,1861546308,-1766759477,-1493904783,-1246808662,1128866607,-662397152,-1609319188,232458449,-1402513506,721961958,1466186703,-1190883899,1377776000,-1414900354,-1859653606,-448155231,-1509120032,1771327096,998957100,-2097986582,1672052052,-935144945,1262566650,-417950595,-543816712,1129993157,1726106106,-1059521318,-174246968,-432819119,-185983096,-1489999936,-907341145,1204934292,1244324009,-1529656542,-351375813,-1312409781,-1913634198,1413620357,-1210330426,769080443,1220450460,-1360753998,24543685,1686077560,-1148156683,-753207611,-590431467,-790815486,-580106853,181130805,309610160,507665181,-947295946,589412525,1077703375,811595158,2002758590,-552346196,840232180,2046480580,1818684203,-511857399,-1656116700,-941407814,672467870,747378938,-897282068,1875667364,-978421585,1923925659,-1196696394,1383928073,1484118748,-1977846988,506815161,2058988892,344578762,347824068,-1665771791,-972596259,-623035629,-5467173,2024537502,-1695626015,753566909,-1290843799,869970213,-1176383845,925852007,-1715380745,1927044954,-1000745252,-1377967484,-223691004,1681520529,1654994448,1664295623,-1584157087,1965591079,1938953244,77321484,-527172187,-1303676037,-1952143366,119800011,-1981535529,783914112,-1029600876,1820773769,858431803,1899918175,-1963541253,1081283086,400445571,221191180,1373344438,1027188663,-1784003575,1136131084,-289871959,-356825069,-370159347,521823282,591965816,-1055551832,894493241,1065346325,1050988646,-1802213639,466653161,1955448503,-1208139642,175544683,-98130537,-490533978,-1709908739,-329599684,2105830195,-2038373213,1011402434,-762393168,-1858110734,-1291196080,-519786141,-1641965901,468489703,-1973774310,-52011466,94196691,1693463126,492858608,1719929358,1099331582,-352423508,1459373796,712852878,2085474496,77450414,2004697784,229158073,582453856,-937583760,-996752215,-1398036392,-1358674897,-1609402910,824955402,871706345,1928074419,983306506,-1952523630,-912873117,-1255331895,2006655822,1073502694,-1973275081,936579368,-1766565130,793828058,920083136,-826116750,-841478449,-1909303049,798806374,-789825642,-1076652669,1649868103,761649569,-305690715,1157641007,-469455158,-268064500,-539617121,1663567334,890636438,-669924311,-1685754529,-1377009730,1452047347,-563642897,-1224249081,1477712380,710009887,-948239367,697981894,-678066417,25700092,-1354780981,813772159,1776632402,865937565,1050134368,-1594945807,274639848,-527904398,-864275747,485830912,-1648219123,1773645522,-98466403,-712104464,742479301,1751081190,-947296810,1457031236,554832675,1696220184,299262768,223233802,566358297,267956796,2040437639,-791894617,1212670822,-1651175850,-1569418223,1460349134,1417590599,-449959017,195652364,-761102366,981196161,-1103500433,-1816802053,-1146226362,40407684,-1368509671,2013078137,1040103313,293365985,-792172534,492339170,-1405077300,811862939,-1089732830,-296392405,-595842311,1629699424,1365098716,-1586451707,-461969299,2141994851,-901140219,-649340181,-237900727,166286336,-2038492365,-2129032969,-1867937315,1384666800,-1620723623,1421623384,1884030092,1834492063,-683925071,626139947,-1257520010,1848233806,-584074055,747439932,1957730214,-1430569472,1561751758,-381580365,-646504130,-2022115962,490317929,1757196764,1972989018,1310599926,755042084,2046987225,615242291,1689456718,817354964,1598547197,137040948,984560073,-1053737104,137891304,-1304231564,-1747247037,2120920254,1242671354,140926951,1234847243,-1557950247,-1956747579,-2071339232,598608833,1537662269,-1595880442,-261604777,1311974436,1848739215,2028220205,180672762,1181928451,-825200818,-2059089361,2007718843,1867111596,-248012299,1703513172,790265134,1454678619,-1450942604,2017471634,1744448553,745049572,-1036697147,-2093039176,1874589299,1297526107,-1195552441,-76840107,-1969816515,1402684415,1727609365,30010912,1671646606,271558759,-117694510,-165000603,874641601,-725804956,1110187905,-981959952,1531066903,-663067299,-900392481,43640801,-1103859323,1752845547,-955987745,-199644747,-757407108,-1647298798,92660692,801517297,1140778047,1208708151,-1000850676,-417762090,358932740,-775829813,1721644012,-2023008247,1660171455,377997448,865597455,-851741534,936356454,-279517698,1247802676,-956542024,1541157683,1456649198,761301615,1824595225,487406173,37070249,192483333,-111607697,-1274420575,-813375312,-1169695878,1443099734,16885917,-1633176817,-1316808137,-733874314,-366791002,1632431134,-1229205035,1317583600,1660343334,1183141762,380452670,1207465202,833767000,-442717829,2101886745,-595162578,2107909522,1697360294,-840620309,-1432987312,789858295,-221424971,-830520430,-1043893271,917561469,-1968036595,87773121,2119842618,1294280378,1959110206,1672453255,2046753242,-689254179,1978884286,-348510410,-581105705,-9719403,522436554,-1754014854,-534960234,-682406930,1328249443,-1441647041,-1947012201,1368596719,-405662394,-1442635712,705688535,-1978063846,-40425798,393106677,-826143986,-1156232430,1500884267,-115040325,-1813027464,-713575101,1119161789,200816557,-1611110214,1088835329,-1780621653,424711871,-2116122769,28553650,1008519943,-943124876,-1973843441,-389515327,1114637028,428895987,-537528318,2063340803,-271241281,-2090302533,-1759538316,-1635730841,1236601697,1927915789,-766180623,336085119,-1078537716,-1273031119,1520583279,-709041283,1506597858,-1307515430,-826934678,-329073061,-1231961100,686178708,1416302956,-118126758,-147091176,1283624936,-1309302443,1325838804,1212777788,-472659749,-1937801236,1563633088,-102978603,-86571226,-88886393,-772631900,132600889,-666096199,392257455,-147056356,1472858804,1276168478,850661073,-1555274700,1805137765,-1138157225,-262395309,1644042481,-1739840922,986780120,1035436512,-793551451,1314209026,1375795715,-329126723,-1628051856,-1898968236,1904809967,-1110917061,-675570677,-352033356,-1626376806,-38370723,-1057693460,-1308444756,1746796979,-580311374,385061526,-929296087,1772915555,1648899040,691226387,-478663671,-552636444,1540593810,1898772369,-1207654315,440713629,-1497755072,1798518139,-1023360667,1607516692,-1388879351,-1676169800,-621444949,543549477,-243606417,1759468236,-159126220,1478741748,-237253195,-525718436,1330298550,-2080896317,-201524537,1696600179,-1645842894,371078342,-1757178344,349787704,-796564334,1277384150,2024360201,-264496605,2060390189,-2011551841,260185063,31885576,-601307027,424304876,2028150896,-1026838823,498915023,-1941643537,-1514891224); +/*FRC*/Random.twister.import_mti(17); void (makeScript(14)); +/*FRC*/count=242; tryItOut("mathy0 = (function(x, y) { return (( + (Math.log10(Math.max((y && y), Math.fround(-0x080000001))) / ( + (( + (Math.sin((-0x080000001 | 0)) | 0)) | 0)))) != ((( ~ (((Math.fround((( + (y >>> 0)) | 0)) ? Math.fround(y) : Math.fround(( ~ ((y >>> 0) >> y)))) | 0) | 0)) | 0) | 0)); }); testMathyFunction(mathy0, [0x080000000, -0x07fffffff, 0x07fffffff, 1, -Number.MAX_VALUE, 42, Math.PI, Number.MIN_VALUE, 0x100000000, -0, -0x0ffffffff, -1/0, 0x100000001, -0x080000001, 1/0, Number.MAX_VALUE, 0x0ffffffff, 0, 0x100000001, -0x080000000, -Number.MIN_VALUE, 0/0, -0x100000000, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(218); void (makeScript(14)); +/*FRC*/count=243; tryItOut("if((x % 5 == 2)) { if (\"\\uB47D\" = (4277)) {String.prototype.padEnd }} else print(x);"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=244; tryItOut("mathy3 = (function(x, y) { return Math.min(Math.fround((mathy2(((( ! (y >>> 0)) >>> 0) | 0), (( ~ ( + ( ! ( + Math.fround(Math.min(Math.fround(((0x100000001 ^ ((x % x) >>> 0)) >>> 0)), Math.fround(y))))))) | 0)) | 0)), Math.imul(Math.exp(Math.fround((x && x))), mathy0(0x100000001, (Math.fround((Math.fround(x) != Math.fround(((x || (x >>> 0)) >>> 0)))) >>> 0)))); }); testMathyFunction(mathy3, [0x080000000, Math.PI, 42, Number.MIN_VALUE, -0x100000000, -0x0ffffffff, -0x07fffffff, 1, -1/0, 1/0, 0, -0x080000001, -0x080000000, 0x07fffffff, -0, -Number.MIN_VALUE, 0x100000000, 0/0, 0x100000001, -Number.MAX_VALUE, Number.MAX_VALUE, 0x0ffffffff, 0x080000001, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(569); void (makeScript(14)); +/*FRC*/count=245; tryItOut("f0.__proto__ = h2;function x()yield xArray.prototype.unshift.apply(a2, [o0, m1, m0]);"); +/*FRC*/Random.twister.import_mta(-1129887679,1218349426,-1779507280,123282244,983945938,-992087881,-1850568787,-1982189783,-2136772348,1892946085,350492933,-334613367,1836863643,360885887,-1930736909,391944364,832433199,1549843001,-513193985,285042448,-1139362247,478159588,-1977621365,-1088870323,2122409433,39659651,-789726723,-1812310751,-73293697,319695445,809037905,-1028984589,-618325815,1272148419,-893124832,1807169826,544574959,-620475565,-186881288,561944903,1609404220,-1124428610,1623258644,622383300,822183857,-1230760636,-1061823272,-905817865,1238920604,-2118014601,-589775926,-1467740735,475190615,-301916554,1807367010,1639684142,981048780,1803261142,-1996313635,-820082518,-526295141,-1528119765,-1086098449,1736949754,425802426,-1653010334,-1257417515,729124971,-1949596424,1961881963,-1015815454,679852231,-565814049,207920507,-2124717849,-442764256,1436491475,-1846231342,927755552,-2061582767,1287359530,1787749110,-2081043236,1800309605,1564663794,1184739837,1243175149,392888794,352040155,-1309751005,-437461707,-1371117484,-354065437,-824335160,-50476238,1070971319,-1443862890,239825646,-75371527,583608145,-1629989256,46273781,164754923,1663237018,1564848674,-1606017273,-1712226908,974939245,328541649,-1631356914,-1230708115,1207153291,-339319617,1463073761,-1140565793,787910860,-107797566,-1507146675,-520509530,626996975,-1444161293,1857832790,576928426,942845201,-1162286186,1645025202,1744737473,-537391592,1402041344,625180285,884926299,402952973,1347369670,1421066075,-1072379965,931689947,2008319347,-1939380315,873330375,-1919307336,-576611560,-1698830474,-1370254206,199087234,-2138442665,298011697,-874436465,2036577048,-1910098986,1003542645,782783905,-177081446,-24427335,-1942109060,2003197228,2044122254,-161312047,-344599785,-787681639,-1900687638,416399908,-1689872216,-1580961982,-1333078878,-592271972,1419211781,-997448218,425821556,487430543,273869289,328991536,1005488349,117128685,-796768381,-334310047,-528603208,1906472559,-290896922,-1036300671,-2051993291,477947394,-891103001,2042008483,-184501383,1197723165,-1368462793,-1882110413,117550351,1607347475,-2146696429,-123834079,1114919843,-1952482276,106182332,1153272423,1242551870,235633287,625517608,-1895173260,-1290189830,-990120929,1452537996,-1030109006,-1066854493,2050328160,-393860687,-423471104,1527183379,-1616344987,765498778,144666779,92443400,-192173782,-1218410659,788307237,1052149995,717632988,-795881830,-1888469940,-1583860850,-1050230552,478481829,-2061450210,22384098,1718699880,-1816464868,965555180,-414269227,1136960521,-1035554083,473075236,499443819,993609487,1336087305,-569096294,-1462408497,-1238013253,-54012039,1672767622,-1030282346,-301332681,-1092018794,1868450858,-948023105,771012810,-69057612,-1510132261,1759293513,1249254715,2018601389,153232997,-1140167291,1851204733,1557003053,693068802,-1351840356,-1580443379,1895621423,1279104841,443367081,2132922602,1241897905,1962728082,-1458914744,-1825890649,-996670911,-565694218,295114684,722678375,337322365,-2130664747,1539741001,2039222137,-191206229,-372841956,582232510,138416185,-296379962,-1603322791,452327122,1743345189,1816552060,-998480590,-1961394240,257451365,-2016924426,120353405,-1960522756,400381271,350017275,575867516,808453451,1498173053,857280957,-72890679,-702711717,903591977,1296845745,-898393820,1504819144,-1647175212,-1455467294,-1422406703,1136591541,1355680704,684298929,1799141915,-1148376695,438271046,-1420088142,-486642120,-1234101477,-1606213997,-164286288,-490316688,-182717920,-182820061,2145117299,2009210096,1001986002,-1483108464,1783080897,1435212187,-1848220464,-1578118530,1226263550,-379025893,-2074233789,1977021266,-1102144664,895776772,1730017777,-1256488953,-142981693,-1749806741,2133767502,-578878771,1630570118,1940777573,-787819886,1882959514,-1434133683,-1962973697,1926135300,-1804383126,-123581492,-1812695986,-1375841559,-354193555,50046226,2083433445,-1550226644,-1326958772,416006814,-84878747,-827659476,-1735987801,-1138253848,-995946320,302765398,-1670641052,1959729538,670569432,-1769461625,-344001097,-1709341473,685971185,-658245787,546058664,-1992580315,-797507254,1649731925,644325991,1785874602,195523890,-1716843199,-1987954297,980056603,-1991121453,1417601650,-1710652786,-814461679,944354386,414701879,1423324517,1415247589,1778958239,-997061403,1803782536,196100759,-1334959182,-312278181,-980938519,-118347249,-75755367,-568994512,973891035,-343753681,424850853,-229470151,1706542578,271640913,943350935,-139395470,60609868,2024905265,1723168048,1964087100,-2079669394,997483081,2079005918,-7074595,325315827,-1375904843,1955403620,360471953,837046441,-1949210409,-657895560,1676531356,219665144,-998324545,1821535343,1441574836,316921559,-366605842,-1872270810,807230809,2113577339,1294024026,1862347248,-306467951,1888766906,2054578397,-22886149,1554303466,1247995330,1438424358,1854105891,1828965819,557575685,-281698079,1419146064,1607970447,-1607878507,220554361,-958632202,-266491141,1070049892,-1904845951,581547931,2124964932,947656318,-568222529,-921860670,1024898752,-254581234,-1547129458,1217381571,-172239829,-271775092,-1188305325,1363043300,1952819802,1620473120,-1205764167,-38126069,-929524630,-2071212407,-947834186,-75420590,-1618386821,-2128874517,-1872746944,-1619360899,-1395952338,935376456,43764696,-872087986,100565386,-1571752253,-1521561662,1939686536,1343060389,1125509516,423364457,-698189923,2049786599,885934316,-1505542089,-1905541169,-828261586,824861707,2077413364,1482728704,-660580327,-330754180,502532572,1413128468,-2131257306,1736192801,1013324188,-1152132394,1218037984,1767066778,-2087994525,-959347958,-1970938598,226386702,1371333268,-1527938111,-349249733,690621430,-544177281,-1062534586,-1047152453,-384900204,-2110820827,-2146290452,-1975460195,750942395,950074638,574941619,-2045937336,564799040,-746853431,1055607549,1928066598,-227035880,-12260581,1770686979,1823787117,1398037053,226360815,981420540,2107385004,-1887441364,1243560586,-263281427,-824537997,1406391685,-1615994909,290102076,-1646056847,-1524564304,-1024673037,-385808166,-1677229282,27435675,1938029844,293917543,-1337335708,-1512841069,1853143663,1702564277,-1675538443,-1301771685,1745678568,2043033857,71998986,-1873749182,666688693,-803802161,-1845104139,643334956,-1839083187,1457914448,-2098278336,-553195113,-981934286,-1793224715,-200721380,-1583149030,2129904712,-2092252752,-1583700442,-1078125223,-1846518133,-1833078052,1031349274,-1333828539,-1787335273,-1555880091,957884080,959281949,277463201,22469750,1895636998,-867710481,1209037522,421210460,-1519049877,1852830805,-505851332,2037787021,1424202958,-1300605505,-1134107088,-1011761328,1446163529,232200177,-1823227764,2036187389,1645904225,882461954,-1033961552,1608460670,-798676590,-415826088,1582833337,-1108619924,-171931477,-1338654292,-150135665,442216905,1802554636,-1129539970,-53799996,-787311773,2112190298,790950327,1683410737,-1932551900,-44601052); +/*FRC*/Random.twister.import_mti(34); void (makeScript(14)); +/*FRC*/count=246; tryItOut("\"use strict\"; v1 = this.g1.t2.length;"); +/*FRC*/Random.twister.import_mti(50); void (makeScript(14)); +/*FRC*/count=247; tryItOut("Object.preventExtensions(this.i2);"); +/*FRC*/Random.twister.import_mti(60); void (makeScript(14)); +/*FRC*/count=248; tryItOut("var b = d.toLocaleString(z);(window);"); +/*FRC*/Random.twister.import_mti(150); void (makeScript(14)); +/*FRC*/count=249; tryItOut("t0 = t2.subarray(/*UUV1*/(x.call = Math.random));"); +/*FRC*/Random.twister.import_mti(199); void (makeScript(14)); +/*FRC*/count=250; tryItOut("\"use strict\"; /*infloop*/M:for({x: NaN} in ((c => { p0.toSource = Number.prototype.toLocaleString; } )(true))){print(x); }"); +/*FRC*/Random.twister.import_mti(358); void (makeScript(14)); +/*FRC*/count=251; tryItOut("i2 = m1.keys;"); +/*FRC*/Random.twister.import_mti(372); void (makeScript(14)); +/*FRC*/count=252; tryItOut("g1.e2.delete(a2);"); +/*FRC*/Random.twister.import_mti(388); void (makeScript(14)); +/*FRC*/count=253; tryItOut("\"use strict\"; selectforgc(o1);print(/*FARR*/[false, \"\\uF05F\", ...[], new RegExp(\"(((?=\\\\B|\\\\W*)+))\", \"gyi\"), this, \"\\u86AF\"].filter(Math.sign));"); +/*FRC*/Random.twister.import_mta(-1882326890,329636477,-1308753509,2028285083,-1420385835,-370437218,710236473,1137536462,-1714216260,-170931859,-635552345,1807506428,-1463974487,-459929224,-1271250805,-1834636741,449164918,-583990204,1560473113,-1226327190,-980321883,1154354658,-1519783323,-346042165,1549328929,-571735986,-2061945349,-163858889,984198171,292790993,-2009033217,-1990156864,-1312803484,1247860320,-1738524928,-106545774,-822282837,-2066940537,-1793903210,1704206940,1270994809,518197801,2140120537,-1598841598,-194532797,885824828,-1545718229,-993685925,-1798504419,-1464847597,1029119172,-387551216,-1183394630,1467263530,1316333651,625006744,-342075692,1417961715,1520038549,428570908,1756709444,-1910059541,-2038953002,-478308399,-1214812574,-1833928367,-1193815376,1702082396,1532901331,-603730054,97712342,849367097,414960852,1646537982,-314271125,1927072861,-1734706903,-992168467,927767257,1369272413,937212579,-838985696,-380537625,-1930323654,520660963,-812034015,1538849096,-798981314,-1731996889,1033677272,755922637,-659273278,-1053978029,-267036074,138663722,634541888,1022850691,-56041437,281836398,-484099008,-979520647,-908399810,-1318656533,1239345712,-1253202240,-139762684,-1935717879,-107909459,-1930819740,76235491,1886696576,-1584012914,-1557262405,602349425,-1135241379,367237655,361582982,-1328033387,171086611,1693695794,-177123954,-1859933767,256981194,832441712,1235646167,-2001530100,-1443791292,1214422080,1490215976,-1111717489,-404680833,-632280965,1276478569,-796370627,-1367850401,-242833317,-1840840990,-110034368,2068905072,-508615776,121751857,-1486393684,-1959500238,-895508623,1313130788,-1380794460,-514657283,-1573656741,101475862,1734185685,-1497400621,-403722216,899489578,1782054385,-1935504861,132782372,-2100894917,-1795828186,-612652928,-33526967,1706015932,690228896,1544549467,-32929396,-721430936,-229580484,-558550193,-1311310028,54531430,1596457928,101786865,1165215678,1949387820,2048677274,-2076823616,1081777138,1235707323,2069878319,2051710563,-243044776,763986471,2003733458,-1628321415,1254503316,457746515,2107847843,-477085464,-1883054773,-1987612169,-468626375,-1999652600,-913803295,188377484,-1571988304,-2139961228,-261948983,-209911768,2129842231,225393971,1225727855,-684778890,-486712567,-1358000313,1892537537,1041785995,171764989,-1768862281,-1572488721,-1802586755,-1030217236,-760979434,-579654707,-1662980664,1939682081,1939045377,-1521034430,-548734014,1575202799,1002230987,-601885174,729884105,-746393236,1028633003,471618051,1837872703,-804716334,1475912081,1999051341,-1416743988,-1620343,-284170127,801288845,1462938309,90143476,-1901107082,1539385150,312775182,-1413215772,1257753143,1185953517,-1142782029,-1013619042,672281275,1279257107,-524278370,-1762343893,1535202193,2040711143,-504493589,955273608,1817335510,-1300512576,1786924295,-1849784326,-510791431,-213438398,-268082279,928444036,492745291,-1907303151,-160789657,-1575069111,-316448586,509725223,2139638904,-97047059,761244034,-952041835,-1914293688,-435731348,1415079801,1370037536,-1752622154,-683849947,-1784702332,166050014,-1617231888,-194497993,-1516467335,327864183,1633131284,1816894154,1623943032,892916921,1465939592,-2146993292,471407842,-1168943056,490739273,-1756262680,1651320235,37353859,305414480,470581515,-1753891922,-1732551912,1672305277,552285252,1584958429,374521918,918259343,567791452,-1978925608,-1325564727,1236323434,-1680181493,-715959226,2060649600,-665612679,-1741798405,1321313384,-702441355,-1266433927,719050608,-1427277266,2068206185,-612766914,384792757,-982990293,-756984421,473839977,-1148277960,758736168,1811980220,-1742518820,-1116698436,939742910,-1082733872,-688019830,-338372119,-480729577,919131676,354350650,1582166627,-2046413814,995964637,1947402656,-794103443,-1995405113,-617359114,-1347567096,1612879229,1820632341,531953587,-863570829,1137223988,-1425791335,419973863,-799114448,-1471226393,542292198,299003249,-992546237,226599849,792193494,-1919344092,-475052421,-2052028633,-1823096112,1109623131,-1427122692,-1115403341,1674185927,2129736934,762802416,-1238775849,1422289101,1460130277,988942305,-485497193,582834948,-998266680,-1735681039,-461289116,938397988,-607794678,-1553981689,991901925,-1915698911,949608045,-1803195482,-796504054,-1833351840,832915798,667950475,2004305808,1161944548,275675256,-1242259660,1144579458,296794366,791899843,388056292,973310940,-556001876,-951150764,-203297536,-743387396,-447594627,116043477,-351497747,19115348,2074272971,141102877,-569398296,1225794811,-888429114,797762448,-1277425111,-1560000746,-335248091,-873337099,-229299802,-1713976486,477381468,142469500,2029080717,-458547532,-1199661905,229736688,427462448,1865633436,-627790317,1661229980,1273091264,1163692064,-2012675812,1893399060,-999438940,-1735517249,-552029738,1179795798,-1374720948,818452757,-870851302,-1312831588,-398037121,2095932504,1929018831,360032789,-586198130,433604009,330677466,1448515415,-2105955060,416474032,1025086376,1952641275,1303473267,-183248199,591945761,1907735808,1712422482,863921008,699154733,-1813544757,-1375530930,306232015,-1944590265,550776707,-1061013246,-433038972,1643377171,586131614,786171623,-1390254611,586972376,1622134824,-1604976699,1439868050,-1695290639,960851124,-557525237,-1925930256,801602928,-1173466417,968733796,1246767601,-259751931,-492665159,-1021714405,-1740418371,1112095823,-779118753,-1564451345,-1352189606,1783549117,-334647535,674712205,857608078,2033260464,-1105867102,-941733353,24115970,1914200646,-71124490,-1459797886,2118465523,1372770611,2101326585,-921809941,-2009696273,1839815854,-1422698051,1822777177,-957068548,1455956474,669559443,1150675840,-340453817,-643363845,66417523,919046676,2085395905,1133589682,1774675843,1330546981,576995293,-569301486,-581055022,6094732,526352296,-1682053188,863521117,-1872858753,-1744462212,791100205,260070403,-948106738,1741031430,531605536,-116239957,74201379,-932384584,1142757078,-538150545,-48111938,-269596991,675573395,1147312740,-1140488098,-498583632,-322996338,-1981180826,-292449005,-1310177722,-1662872556,-974661381,-2108729934,-1124877244,1948544910,1405224266,1396860244,-1816760645,678354421,381768568,-1613586019,1186138696,887986457,490118043,-1801769754,923139378,-346587400,658456630,1083353364,-496793105,-633032490,1495664156,43973348,-1090334160,1706060221,-1671988098,1018252048,-1432271295,1237654004,378029379,2042511997,1762394504,1332674428,1172435134,-567106115,-409023813,-787140228,1714506538,352114600,-1812026133,2052919640,365199828,-645106982,1866963049,-180152948,-1018676731,-2033881399,-1317679916,2104893314,-1161325087,-1120103025,1130726572,913195571,124297430,-316102366,-767000187,1941977701,-1188251258,439371581,-499165794,279661220,-417459190,648212361,-1941134378,-766657060,2144009565,-1778812664,-1855670817,634789630,-1415392245,979201120,-533642864,1371657582,-1715761952,-1860150117,-658777794,-1176162362,-1274605237); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=254; tryItOut("\"use strict\"; mathy5 = (function(x, y) { \"use strict\"; return Math.sign(Math.atan2(Math.hypot(-0x080000001, (x << Math.max(y, x))), (Math.fround(Math.min(( ~ y), ( + ((-1/0 >>> 0) * ( + x))))) | 0))); }); "); +/*FRC*/Random.twister.import_mti(315); void (makeScript(14)); +/*FRC*/count=255; tryItOut("testMathyFunction(mathy4, [1, 42, 0x100000000, 0x100000001, 1/0, Math.PI, 0x07fffffff, -0x080000001, -Number.MIN_VALUE, Number.MIN_VALUE, 0/0, -0x100000000, -Number.MAX_VALUE, 0x080000001, 0x100000001, -0, 0x080000000, 0x0ffffffff, -1/0, -0x080000000, -0x07fffffff, 0, -0x0ffffffff, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(347); void (makeScript(14)); +/*FRC*/count=256; tryItOut("mathy5 = (function(x, y) { return (Math.fround(mathy3(Math.fround(( + Math.hypot(( + Math.sin(y)), ( + ((( ~ ( ~ y)) != (Math.fround((Math.fround(x) + Math.fround((mathy2(y, x) | 0)))) && y)) | 0))))), Math.fround(Math.imul((((y ** ((Math.round((x >>> 0)) >>> 0) >>> 0)) ** y) | 0), y)))) == Math.fround(Math.sign(Math.fround((Math.log2(x) << (x < ( - (( - (x | 0)) | 0)))))))); }); testMathyFunction(mathy5, [-0x080000000, 1/0, 0x100000001, 1, 0x100000000, -Number.MAX_VALUE, -0, 0/0, -1/0, 0x0ffffffff, -Number.MIN_VALUE, Number.MIN_VALUE, 42, 0, Number.MAX_VALUE, -0x080000001, -0x0ffffffff, -0x100000000, Math.PI, -0x07fffffff, 0x100000001, 0x07fffffff, 0x080000001, 0x080000000]); "); +/*FRC*/Random.twister.import_mta(57316125,1688571759,-477067193,1739551192,1976984731,-1216284536,697285114,-756663626,-1426100078,1057754058,1515376238,1049262114,-783334486,789648831,464227127,-1086852451,-1219606152,-335706993,319698121,-2093917056,-2033444795,868406594,-518596534,-295809281,1103449787,17859633,-2129579944,-1883393518,-722605673,354548540,879408372,-1668423914,-37850993,-752309674,981557151,1350149702,-341420279,-2036447279,-1015687502,1420702748,-359375469,-734715908,86795412,1043609200,1136528183,-1689118960,-1388519259,1360502237,-712881434,1672617418,1074907379,285869614,-1633054804,-1652947753,1662374220,1407145272,-1070275626,-1645737800,-1625146299,-1705397908,-1940165403,-819204692,-933079884,-1693872589,912315891,1033378635,1347842864,-1703170607,-2094824880,1611989171,-520664853,-1408755281,1690350317,895031067,-651969979,1266768704,1985104089,-311852861,197679678,-1151641110,1823417825,488934057,-1529198044,362087221,646401650,798310635,-104868160,2007565475,-240554570,-440318204,-1068004368,-777440389,1259643557,1024523301,-1392712446,1085096329,-1506591796,981360625,-900716586,1396386273,447234668,-1872162023,433113057,-743925621,-203176467,-1293006475,1324572212,718298347,498686802,1861385146,924998228,-1945478014,592324896,1585803402,-804516185,1006707415,-47200812,-1618948636,1539225626,1979068386,-201499682,-1715881353,-980235414,-1115196360,453441070,-817538914,1464403837,-1137245333,533949028,-975238067,-73336607,947878117,-695561145,-778356272,416920921,1297040978,-1261145704,968190190,-281286465,663325433,-60952169,1843289482,-1205476093,-618140468,-191797150,85900975,1106827028,-1382570472,458113011,381000098,-1240465161,-662578649,283177571,-344090048,272042456,-886463466,-640907864,1171458485,-255207933,-318406717,1377897752,-2082286613,573726557,-18561070,1311608236,486889344,2144616364,20095911,-839415797,1078235761,2074076611,948329714,-2113079043,1739292253,-60149369,-2123740910,235281801,-303503846,776598127,-1234029647,1388004449,-652301537,545450356,1251885387,1078452277,-522383096,-1193765552,-919085172,2029958696,1044041180,-402126085,-1676589540,2120300081,-1250266698,577893950,-8655139,1459885072,-490131004,122202761,-1767171916,-1424778761,-119425713,-435750295,1798056888,1314801444,-511693727,1896273326,-914379428,-2089597592,2046393007,279916851,1758632301,1821018777,1921823491,1835110652,-94632727,1721619191,-1593785276,-2052247794,-157987237,-907003610,-1771127452,247272766,1055733595,-255895209,1259458513,379333810,380472059,-2107728652,220187808,-1454991295,-951615194,-1255193102,785911233,-1090082519,-1548928619,720244536,-1507746902,-2066033781,1438036140,1323017968,-693493067,2144075,-2027005001,965695045,-406442530,652775340,791915631,1874525574,-683674847,-144462177,-1383278361,164612044,1759475963,-165795277,904390788,1317702782,-1546822386,44892481,528713187,456079277,1276178372,-2042498166,-731745995,579691000,-1780874637,-301532279,-1402518345,-1489584694,-167188489,383826144,1215989484,1774453853,-403493401,367346098,-632343266,-2138131442,-1948828272,-1043869366,-1375583706,-1419785806,1399874288,-800354373,-343615342,-1645497086,-785468876,-2022695564,1542706974,-998036776,542930622,52281901,1065022811,-1432949999,1542237927,-702152611,1811783601,1885379217,1455668698,-1490978384,-426393227,632484021,-601471831,-1963502085,311045868,2039221145,1633808413,-969745494,-644984318,-935650421,-1011181552,-1483898928,-439476591,2063117139,-322343977,-1828545208,-602564567,935218049,2079021626,567355753,-1677521202,551004601,-94349418,1991052887,-1440573150,1690704815,-1773040503,1283476617,1909887273,2089537330,-244046795,-1999834235,-110313744,79691931,1307591729,-294226086,665901954,-542133293,-358437144,-510414599,1956169764,-1214477589,2135354610,-1428952623,1113853746,-26961538,-684450935,-1602569650,-606968250,1419142235,-1782868199,744944223,-1603977264,277690773,1087566742,-1157918087,-150177402,504364801,-1307960951,-1067054953,-1006797127,374451414,-265026587,1916263457,-1569732128,-1146536998,475032582,-1794977068,2016167608,-984539618,-377796479,-115853144,568071493,2002655773,437239686,-2139798755,-738819921,-768428785,703647928,499484110,446842800,-2093043131,1500228456,-1812266819,1395407794,2120788605,-764856079,-449690625,1222328962,-503406294,719979298,1886765164,1170026462,299630,1354380666,1653991437,-1274577269,698152207,-1874965854,-486819001,780271828,658155767,1488188221,475430467,553764989,275268792,197927052,-508280199,-765595222,-2003007340,-813163719,-1234303250,963474662,-1405717339,-152914690,-855037134,-577851727,208618118,759166067,-624327068,1927049641,-2098997512,-1775037976,-1896234221,1928658544,-1066961452,55323143,-288987714,-1994032347,766380111,-1987403134,134548243,1499066626,552390708,1460484899,-1851765102,1851310600,126863491,-1327841525,-77529928,1108157278,-1486348024,1689996945,1216348061,1738605681,-311839332,-1692277030,1437370105,1981824960,904913127,-971926031,104327643,-1011358082,1387200105,-1690125061,-2041120191,-715189037,-583589608,910548157,237315640,-1790027405,1572872451,1459085567,-1294275110,-1534542700,699931011,-710611481,1709267128,-939922995,-1136430852,-1806568724,-611521043,-1880781537,-1587774298,1896558868,-1422117417,862201780,1797216006,1445551682,1171598180,-246708450,-1107926662,238159051,-2077715468,-2032004522,-193019485,-293414976,-1332878668,-700702156,1436542979,-1160153006,-882338204,-664079316,-714211342,-687158614,-1853482932,-213377653,270716113,-1493081946,-269619377,-733245065,987801295,1664217061,1457400095,1876208509,-1465050898,-1432108617,620668848,-1995096974,-6137588,630241945,863425012,-2037878776,1979730955,-1497856211,-166145024,2049760917,-1469654641,739594532,1372853170,-357002025,1413681459,-604441725,-1421276224,-515435791,448885476,1773819129,2019385259,101479858,-1346027350,-2061467157,-1223969050,-1565349929,1163364417,-1539551039,1869667946,-1230244652,759499695,1789392966,-939568221,1694134140,-1645383665,-446880113,-1730063846,-637652521,589265177,1872782179,1744327276,1643119456,-1541830220,213858704,-2084332665,1298606341,109185803,-2118151508,2058762389,-362139869,-1842503407,196251606,1862222818,244160232,376617640,-606222298,1949268889,-1644711,1117510336,-1934497646,403426090,-1227622503,1623688682,1090743760,1280291085,-1606664970,1533806710,-996657484,1235153976,-247335494,-1589798947,198282721,-2104113265,-1499669612,-1441454572,-764343609,-2079007725,342987989,587071267,-1119322053,-920699309,983012795,513769230,1217812199,1522754621,1640184929,1156221548,-340140779,-62440297,46654470,-2000057641,2066196846,577258798,1103777420,-366784613,1620963056,-815735700,102901326,418347639,1435508892,690834869,1231517022,1598945923,-86122925,-1245579837,1955862265,64213697,-1210495872,-1006462888,-1127213286,452109290,412429019,1231088046,-778302212,1021827557,1046970350,1997293297,-249492386); +/*FRC*/Random.twister.import_mti(33); void (makeScript(14)); +/*FRC*/count=257; tryItOut(";"); +/*FRC*/Random.twister.import_mti(39); void (makeScript(14)); +/*FRC*/count=258; tryItOut("testMathyFunction(mathy0, [1, 0x100000000, -0x100000000, -0x0ffffffff, -0x080000001, -Number.MAX_VALUE, Number.MIN_VALUE, -Number.MIN_VALUE, -0, 42, -1/0, 0x080000001, 0/0, 0x07fffffff, Number.MAX_VALUE, 1/0, -0x080000000, 0x0ffffffff, Math.PI, 0x080000000, -0x07fffffff, 0x100000001, 0x100000001, 0]); "); +/*FRC*/Random.twister.import_mti(71); void (makeScript(14)); +/*FRC*/count=259; tryItOut("o1.v2 = (g2 instanceof o0);"); +/*FRC*/Random.twister.import_mti(89); void (makeScript(14)); +/*FRC*/count=260; tryItOut("/*ADP-3*/Object.defineProperty(a0, x, { configurable: false, enumerable: true, writable: (x % 5 != 0), value: t1 });"); +/*FRC*/Random.twister.import_mti(118); void (makeScript(14)); +/*FRC*/count=261; tryItOut("/*infloop*/for(let w; x; (Math.pow((/(?!(?:\\b.|.|\uaf06))|(?!(?:\\W)+?)(?!(?!\\s{3,3})[^\u0012]|(^)(?!\\W)|\\W*?|[^])/gi <= function ([y]) { }), 6))) Object.defineProperty(this, \"v2\", { configurable: true, enumerable: (w % 2 == 0), get: function() { return a2.length; } });"); +/*FRC*/Random.twister.import_mta(996425162,1245401019,1565898808,-2066142619,1131646841,1217503934,141743398,1159199985,1414145385,-862116530,-854012485,-1606735551,17310009,582185898,-1073857161,-141471719,437569126,495354249,-602537743,-704512389,1960746706,-364713407,-1661213175,2064236922,263447343,-1905173697,891955065,857289152,1239209881,-185385020,-2023517010,-898006825,-534841431,-867363837,1902453281,-1942533265,-1924487148,-266689077,68147206,-1412606315,-624938763,-1175007502,1561802854,532649036,1762805017,-2014757104,-1776125376,-945254161,-352786369,-324218273,2124758231,985343793,295970629,2008875389,-363311902,1924435842,-709445465,1355764924,-1737241499,34744245,1372596843,1779698786,1103244981,-1611072731,-785162875,-1695427518,817748643,1747572907,1017568609,-862827502,150296005,1462475093,401983934,1846902800,-366665537,58583061,-558415446,-287827768,784960321,-2076150487,-1045189687,1471680118,579450459,-1363818941,-2131749791,-1191741292,1681793240,-861243528,-1671269310,-794417332,668994390,-1457714802,1029289631,-585702171,557114423,-965451244,322786701,-1263662169,64829860,494333415,909990389,973945952,1687645677,-635833114,-1555137664,833062405,-474729001,-1502497465,-1646592918,1064274586,-1894772173,-1375384164,181535452,-2106038664,1098928572,1217900257,-377953825,-1681422323,1087883620,-1852279712,-104776512,857568775,-1266995509,432040484,-61186100,1508194465,1716790171,1428735958,-765632000,-1668967676,-1019512545,495499862,-303227645,1651498133,-2078997250,1597878413,-119085898,-1041917206,2087158135,-1973206085,474535555,1122308605,157915418,-408566722,1054525703,-1206044272,-818552101,-139405761,1694150578,-436673848,-1799856468,1969307738,956429488,-875028629,1760819982,1784957407,2053023401,-606444725,98574365,-79878243,-1823779076,-1494295405,838857985,1902410878,-715168794,1271227471,1719076437,-43471334,1973096821,-1127446252,-1433347616,-121026229,-1411489247,-344844015,-527886209,-2056800659,-227785287,-2018329136,1936743613,1365804338,-1101633359,-757812427,450579438,322856657,-501251517,-663185733,1894415123,1585620023,-1571428651,1679002609,1956591285,-123251511,1378577980,201039650,-948536368,795377764,-623032841,652990732,160589916,1145632499,-1637891306,-933001019,878467920,-854823927,-917157857,-1209813317,580776160,1498863811,-1335612140,-1200462349,-469333705,-268431600,1519597325,-2089730627,-793598894,-376075419,-1487327582,-2032922657,1586626792,2114633593,1403155561,238969649,1474439054,-1649359471,-1025038119,2084720808,1669298684,978023344,213166571,-788642617,-411374858,434384256,-2030758783,-1896271507,-1916153628,20783861,-544348005,377296033,-891260649,644215361,-1863396817,1726404109,1829686557,-539239013,778409830,-1889384665,1485871251,1124327441,1490395918,2118287769,-1262019114,1263796425,588666781,-1758625089,1776993666,1855558054,-451571389,1597875409,1555100409,1954667680,-364551199,1917180900,2131673898,-603186968,1677661229,-368831203,1693860881,-1990496752,1543114198,375874582,998430522,-990316568,756554044,-590292327,-359724448,-1430277576,-1454945129,507958386,1840907810,1141621660,503656453,1534409696,125232075,-1690082778,945294758,-607403297,1877724218,1938931463,976893757,-649822340,424489303,1567660242,1846490094,-2103023022,-2065717332,-1650581258,-403467521,459663645,-1117140688,-601620165,-653389157,911620765,1245249379,2071590073,1197494297,231794324,-393782232,1017550547,912605822,1901005235,1163557332,1686434071,396066208,767520380,1000868787,1588978013,-313292207,-1375719619,-1491300631,-197471588,-534327506,-1016409149,-748343675,-128522107,646872380,-57299137,-1131080276,142130796,-1681940827,-1174821648,-1498436706,2015808274,-1906895678,-728822150,-173418362,721786204,1245634030,1725004432,-733402738,-2011891850,-35975167,-840886901,698722680,-699749024,1767191830,283808835,-59685053,176340530,-1597502124,2067851067,166917580,756315097,2039234922,-501130632,783219477,72494431,478687007,973131147,-444680747,-1496986776,-1015190088,1678137905,1309299837,-1523418789,-1882346263,1994844189,-160079641,1054890380,-1353710238,1977976142,776175171,-1669499690,-1256528301,1443361674,121841335,-1796520470,-1325364588,-1705337781,2016437122,-1583997619,-1485976865,-133772401,66212870,-597540024,1810255852,-294538947,-1622112548,-1548482967,-207889150,163910967,1404758929,-715314479,1670938354,-835370356,2120458624,-1201808595,-1261196219,1122350236,-1350022879,558597765,1579372624,2007668609,217047692,-94869531,-2108379754,-626864802,944143847,-99078917,739774070,1106004121,1334369442,1829505230,-1559638844,376368778,-1454554192,-463321194,-343621353,1509684615,415358146,1398441280,1088559062,419572358,1444085596,-85000419,-29000496,1056004739,-1714226242,1367373806,-861480572,-380211706,-509569912,-652009467,91069429,709744553,779794887,715880842,957844137,-1716062357,-1861837121,1227302793,1747200554,1837493059,1129167234,-1846676372,-884671310,-1387465909,1159372953,-799198011,-1270998762,-1913560132,-1133824338,850978610,-387203574,-1185106941,-907261690,1647262055,315890246,-530023958,-1974750746,1897772255,1015706061,-1801148919,1400470719,307844229,-1515728243,-1206854325,-1668172168,-825267631,751710075,-1715467468,18983883,2127276341,-135798867,-737791321,447869899,1834616973,1431711416,-1775400860,1945224006,2112710432,1228681221,1811844216,770218125,102908237,679268145,83231651,530566586,427960127,1864984525,448432152,-1338416386,155839444,-2122223544,741689399,1777848330,-1964778655,99079237,-713256894,936742796,-379520380,1950391732,1491643952,73226073,-1122909984,-769686410,1069897210,1082219941,1641290883,-1867131277,516786993,-1744348638,-632251524,1369387414,350725690,-1752211310,-1224611035,-1890658322,833042574,-249273754,-1658451032,911385420,-780459444,1949636945,-1433195635,-1229950018,407885370,-551404574,-823348530,-305214793,297608208,-1289218163,-1128061722,-2033811925,-1623248099,670264505,-103843978,1142748560,-5414694,385468073,-2140834440,-971420188,2010686142,-1421719191,634684930,14200403,-1797216289,-993864916,-232125452,-2060103925,1267487641,133024984,-1127757722,-62232983,1489418553,-1538975454,1268907762,-64953573,-1848636817,2136997990,-2056369770,-111023511,381080981,-1912711633,728969358,1619627737,-1739797477,175488101,-1917267212,-312433821,-1769291487,-967527653,81998125,849776409,-1732362913,841106671,1767798373,-1482649324,-1850693932,2119835155,747033184,303132612,-173267517,-681420822,-1795268527,-1112785591,419011107,1652994410,-869084609,-649739875,-94153028,215701428,-1380390433,-634210744,291393139,2139335567,842821846,141971961,1064787156,-1130867824,419688769,642319602,552814721,-671459635,612337520,-1332573179,-173116025,-2061129758,298026817,1549833337,-1072030152,1059125483,-217639341,-174254211,-44971280,-35910172,-1092449033,-1668861819,1997184838,-40686417,-1528618273,-788071045,-588434905,-2134024958,-379473248); +/*FRC*/Random.twister.import_mti(465); void (makeScript(14)); +/*FRC*/count=262; tryItOut("v1 = r2.flags;"); +/*FRC*/Random.twister.import_mti(479); void (makeScript(14)); +/*FRC*/count=263; tryItOut("mathy1 = (function(x, y) { return (Math.tanh(( + (Math.pow((mathy0(( ! ( + (((y >>> 0) % ((y === x) >>> 0)) >>> 0))), Math.fround(( + Math.fround(x)))) >>> 0), ((Math.log1p(Math.fround((y > Math.fround(Math.max(y, x))))) ** Math.acosh((Math.fround((Math.fround((( + (x >>> 0)) >>> 0)) ? Math.fround(x) : Math.fround(y))) >>> 0))) >>> 0)) >>> 0))) | 0); }); "); +/*FRC*/Random.twister.import_mta(-17783906,-2128440003,-1171283096,-1500371149,1407338206,148277279,1104881986,830017533,-51617799,-943543323,856492164,-174805451,1354101068,-914394426,-1882451939,-301748233,-2119885167,508490519,376047732,-1846833538,-170774408,-810246375,786327037,-567060834,-2026752058,-1785766849,-480090115,1134798787,76072289,-631033367,-1380710566,631313039,376984792,1750343,1177564525,1137233919,-884460141,1820153284,-1505402337,-847306228,-984772590,-7535988,1190718895,-978995079,1852929227,140280994,1798376644,657471602,1108486843,-1556050387,1409816450,635746923,791106525,-1991831329,1273143539,1530417798,-784654755,1557995499,-1171350942,-1556824148,-714965029,866260579,-404129390,-853839920,-639874008,-1842405071,-1085994993,586943714,-1638270142,1105439813,2085754404,657771428,-1362441412,-1388606645,-1501696544,-658735240,-1553318205,-723679564,-160267578,-1400419453,-34500769,-71456588,-205572898,-1874031894,931475506,1610057953,544701169,1716385040,1822756869,1282394129,218932216,-1467151267,-1388754251,2041290810,712235742,1360489041,-1351942853,672746712,491789645,-2014197664,-931525006,-1667855963,-999554825,635936884,-1724654099,-1399849619,1998695068,-1661797821,1618120887,-570301341,920042061,-706947299,535934989,-121146628,1729363155,-64228954,-1072901405,-136018912,-1077030635,-206681714,-249482414,1913734620,-775536966,142576810,612437699,-568870845,-2147006362,-1616985410,1443700664,666318770,-2144800795,1110504681,-108889467,-1323133454,1247104127,-1162539920,-3277208,-1060627235,1710646900,-1825559026,1205295355,307038756,-1279813785,8165816,1809202806,1439697115,-956015166,1923479946,-1508059461,-1902183302,-2003129383,-1716144813,-144118541,1939091807,285039702,1483572706,-333236157,2143140339,-281551389,-1249556379,1538249977,-1097381319,-1109624919,-741450854,-363014291,667772378,365389699,-2092124484,-2044032879,1597886613,1758774926,562504364,2050719094,790138875,-547857724,-761783014,-613981257,-762127762,1105868028,562238867,1641172881,859290596,-1139715625,-1172955590,10018369,908057276,582451861,898531068,-201789692,-1044276497,1768540292,-1336904061,-6383315,794847836,-99833363,1851040876,1110156021,2068488097,-1995392144,123318386,-1035065239,-424247752,-1500678246,-605351902,-502652157,-2034979139,-1847829554,-1465869681,815789985,1848529830,1774420169,-1474183392,1487548473,1467591362,516252478,-1506705364,657685952,-1835725424,418341780,744405614,-383967743,-698204312,859041992,696113608,-1563682189,-1317871108,-196867208,1638025140,810878849,-913123821,-362794509,-913277887,-693985162,121618736,-386978216,1243749227,368349546,-1888124720,1068427210,-1043715964,587507999,541312588,1491530213,-694692574,-2131271589,-483724062,694341289,-642194945,1771925258,884861718,579986981,263302359,118566335,-1751710404,1961848592,-1358250721,754275166,451202809,534904031,-1169009161,2033735861,2042057976,1842267019,599723866,-1065881707,1295446216,-908946172,-1464822023,-188829561,1530496562,-405159027,956135509,-1086564047,511085044,1919934830,-1883685841,-328997868,1658131603,132209573,-1188201728,-1526887121,-783195703,1452925845,-1927866226,-399487397,-841253761,66375920,1366807706,520104413,843534822,-475847751,-287582753,-1820584936,-47522855,1815288985,1957200610,-1789269996,1659302588,-802259994,1531277998,1863853786,443097742,2080912891,433235472,-768215554,-1036964654,1809625141,-423416224,1511169202,-787347404,990266046,1011388130,1227374559,-1532243977,-803228319,-1023121934,-2107150512,-947235757,-762288877,-584438494,-2129233660,-624296637,-1271615796,-64109659,-1889850472,1125816219,-1009936554,1554870783,-1066771491,-1757686472,1509213693,-1642571892,-959940016,234178271,-915394323,1164836416,-311862997,485633674,-1848202074,-132874030,121587942,868296815,-686905578,-1264170904,1721335518,419283563,-1225845097,-515557896,-1766226274,-717274020,-2013461095,407318134,-284748417,1314424115,79652046,-1052657432,-1547705944,731842000,290591069,-1740845991,1512638517,-195504482,824475650,555980995,582211596,-943429928,-868220216,1350523466,1757399171,1033803929,239215571,-1470890624,1054077214,1571651142,2026920831,-23292943,1522205312,-192767464,276171562,1037482307,-1767906233,1359246933,1985782854,-1714413643,-779234894,-1600151923,2102918030,576862840,1669165181,218739390,1617460781,-1685002220,14140572,1794553667,107670517,1162604140,1045367515,-434613567,-399879887,1428870494,-1916439324,-651187326,1992072759,-1706216068,-1077691199,-2067678512,-2054704335,937314474,-1966526601,-1680523386,-1936713123,287062051,2099817977,907092813,1203723575,523386704,875876595,1695098597,-1711459293,-537947450,601980703,-788146621,-903124163,1024007325,-1120239041,-2047228241,1872333701,-467843925,-1843574469,-698532386,779235583,968121894,177927606,535410674,-1108007350,-1256422870,-67266356,-1203208375,1438293051,1824007468,-122425412,1063501823,-1362658790,1116799897,1564198122,-479558905,-1653042989,-1291709814,-1868919114,1829137311,1881254481,-1766210186,1960053538,-1867370501,-1984074792,960432802,-106501402,-1354372864,672536305,1374627919,-1805311253,408625368,-637140490,-1641035533,1249205930,1910914294,1067789683,-328528259,748930006,-2122410785,1895477607,571227986,270622062,-47020141,1981633894,1127643222,1068183332,1533609862,826744647,-1165523614,-1570225408,-82603127,890449254,-1581022183,-2120777737,271456770,798750391,-677094516,1961496820,1976726260,1729886896,-1061726287,-2111511540,-47612671,885640086,793111162,1904725523,-1137507253,206374167,-988014613,839048940,-381027811,-1859003297,-2056509905,1027063406,-1096202840,282051998,900716233,121574542,1520062084,-532720336,-2130717040,-945246366,137584825,-1811967529,1487356458,1788136865,-617540982,-1605840885,-933935682,-711505153,-1893654290,-118904837,-838741557,784406945,-4233705,1009986505,-2131233954,1387769990,-57372958,1202926691,140409396,346424707,-1590839626,-635136549,941418106,-289097639,-378400459,1014641758,707041581,-548954456,1555439882,-1846663437,453216422,1425192803,-1326379899,-1539364648,1518628446,638018640,-1212004192,-498194538,1752606835,-1234076712,-772858937,964529798,1735563919,1188782288,642041294,-1666223289,594558907,-542729014,1451731749,282355207,1143287448,-1982007208,1306837579,-20387416,-393762424,-510855136,757878340,1876910113,-423458419,-1918211045,1995867199,1289928213,-2056663532,-1645799626,1641593423,235161414,-435182947,-309975283,1863208763,305543199,1684099027,-18122722,538003944,657266073,-1350346716,-1989575232,2001284056,-1359520525,1336574760,375648574,1787389904,1231118881,-175353696,572864243,269355547,2111485439,771191655,-723752231,-903495482,-1398583223,-604310435,391974916,1390729435,-331363780,564600484,1896446281,-1329305364,962274371,843836115,-566789131,62520700,-467940132,-1271506720,1988951325,-945203035,1357498788,-245626114,-1651990897,1175209332,838547260,1094146836); +/*FRC*/Random.twister.import_mti(62); void (makeScript(14)); +/*FRC*/count=264; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return (((( ! (Math.asin((Math.hypot(( + (Math.pow(x, ((Math.fround(Math.pow((y | 0), y)) | ( + x)) >>> 0)) >>> 0)), Math.atan2(y, Math.log10(y))) | 0)) >>> 0)) >>> 0) !== (( + Math.atan2(Math.imul(Math.fround(Number.MAX_VALUE), ((((( + ( - Math.log(y))) | 0) !== Math.fround(mathy1(Math.fround(mathy1(y, 0x100000000)), Math.fround(x)))) | 0) | 0)), ( + Math.round((Math.sin((mathy0((( + Math.asin(x)) >>> 0), x) | 0)) | 0))))) >>> 0)) >>> 0); }); testMathyFunction(mathy3, [0x100000001, -0x100000000, 0/0, -0x0ffffffff, 0x080000001, -1/0, 0x0ffffffff, 0x080000000, 0x100000000, -Number.MAX_VALUE, Number.MAX_VALUE, 42, -0x080000000, -0x07fffffff, Math.PI, -0, Number.MIN_VALUE, 1, 1/0, 0x100000001, -0x080000001, 0x07fffffff, -Number.MIN_VALUE, 0]); "); +/*FRC*/Random.twister.import_mti(388); void (makeScript(14)); +/*FRC*/count=265; tryItOut("\"use strict\"; for(let [d, b] = ((function sum_indexing(iaiuhl, vwcglw) { /*RXUB*/var r = /(?!(?!\\2)+){16,17}/ym; var s = \"\\u00cd\\u00cd\\u00cd\\u00cd\\u00cd\\u00cd\\u00cd\\u00cd\\u00cd\"; print(s.search(r)); print(r.lastIndex); ; return iaiuhl.length == vwcglw ? 0 : iaiuhl[vwcglw] + sum_indexing(iaiuhl, vwcglw + 1); })(/*MARR*/[{}, (allocationMarker()), 0x5a827999, (allocationMarker()), (allocationMarker()), 0x5a827999, {}, {}, (allocationMarker()), 0x5a827999, 0x5a827999, (allocationMarker()), 0x5a827999], 0)) in x) {\u0009/*MXX1*/o0 = g0.String.prototype.normalize; }"); +/*FRC*/Random.twister.import_mta(1065461888,-1254260603,-1620347368,-466331765,1145855826,1448151702,469303901,415048674,2116575229,-603900045,-1810059409,-493627439,-1083537691,1384030860,-15376633,-1527606674,-532747751,1284135181,398981231,1323157711,-1680090698,1469756930,-252298871,1618502908,46844035,580053020,-976191581,645288016,834727556,960727080,801471795,-1725865129,1331222434,-1805477226,-2124904186,-1237950560,1775705360,937371546,-744287444,-1722068795,-946930161,-1345430989,-681424433,377742598,994966958,-1688208264,1359552416,-449158808,1807905998,-142828782,955842400,503420807,-257076433,-1931982089,-1155142603,-985582381,1741951185,-1800788247,1755665780,169829844,1872515822,467839544,929210279,-125106945,-935067489,481047854,-816722302,1163502347,-2011211253,25962081,-955473,1002874440,1324081573,600065943,1313997038,-660802864,-1755560759,220468229,-1937937080,-665102252,649581532,1217955112,-224280553,-106243303,1306584870,-1138745151,-1830453615,785205034,-1357820203,689809227,1525312893,-1149368975,151495401,1914836959,1899254342,211364430,-1457136787,-1553369617,750587466,364562730,1802563654,-143411789,-1745893423,-1483505467,637973620,-358545135,303950801,-737786134,144770886,-760469401,-2042032744,-774932393,1727657978,180231046,-1091948989,1051096780,1942037161,1427229058,561014509,302273544,-1573277596,-2002006186,-1939176469,1591704897,958549008,-1192623160,-2117160812,1170708093,-328925746,-1523585820,2028419573,-142721765,-1543125989,-1148116349,352648204,1799420599,1480656903,-1461737759,830796157,338142459,-531327961,-1129754830,1780143601,-357793389,-279538248,-1301542894,1649505379,-554406687,-138513736,2038091243,-1890188248,-994336010,1459675344,-365917763,1145072258,426268454,926513121,-1745956696,-1531408798,-1308345741,-1610100723,1531574348,1251414646,864044963,90249672,-2092997351,1166243270,1405160655,-1150117154,-895317265,-129746722,-594458981,-1549223578,1081298243,-1886484736,2031185183,532670728,739746923,211874818,872841249,2017683389,-1996202126,-1157321344,885192946,1946264165,-1704638070,2124837037,-954789988,-637979584,1402597851,782488506,1873707401,553197302,184137946,947966238,-1367437157,-836462369,1307131801,-1239381863,-1710583272,1666528519,781979186,1073937270,1020382087,276244295,-464683602,379718085,-702915829,1710485768,1104591495,901234996,-2074816118,-1686585971,909743580,559098565,-1917926123,183729076,-1469285098,-1575418409,-620051774,-1399306479,158347712,-438114790,367403881,515192202,1272525440,837187790,-1096574049,150756179,1934876222,435476852,790433641,365881870,797873521,-458973560,1959925576,-608438501,-875832182,-1032404077,2011194037,1113538986,1248761642,-1883670273,961407723,1025450876,-629264412,-83293969,-283808205,1304707977,2025224772,-22543800,-1739919741,693725826,-1079523285,-1459896832,1740261163,-1388748917,-1187171453,486603123,-1429451993,-1464258326,783767580,-1477847027,-790341115,1363435518,-146122322,1410050918,618206867,-1034774230,2105940182,-738858509,-1109696023,-731596670,1748954903,2079215520,502499012,522101124,-1577000339,43461127,1004217703,2105035468,1231138080,-1010124652,-1966831837,1800349705,694107404,581210009,-116066593,46203595,-1615085916,384720591,-2114319725,-80615395,541126673,2131616378,-2102153727,1895784255,-672770468,1449402143,2036855496,787535568,-379671860,-730488360,-1102660042,1815904876,1620805005,-348467356,1270783365,1611759922,-1356668600,-410084248,-260290538,930969573,1675760894,1330607571,-299697795,-741327427,-1431638229,-706014240,1233952363,-2041685599,724436256,-343442621,-293056863,1542229757,224118241,-488324854,-766677641,-1125228753,1646073328,-1465931005,1164085596,894638753,-1347599496,-1229932086,-1491264756,-1663746270,-1901962293,-1379583938,627463049,-1974059154,-1787986488,1693799160,9280966,-1066952600,-1559274119,1655099124,-379227349,-499880584,1453109752,318564986,-1750501776,1187967374,-2087648525,1701267977,-1111814886,-253727220,-381255292,1651043304,1343877342,-2118301236,1301724173,-489060855,1226368001,-1958898291,1470427161,2081950174,1292091577,997110689,-197954361,-24805549,-1338020553,-1665485007,-953030397,2024969670,-1696336904,1127973095,-949157443,1129860744,-985161172,465175112,2137929889,-1937184733,1610587960,1588178737,-636259419,-1556797617,145873132,1573724435,-475292225,1044919209,1158347654,793546343,-541151005,1902443513,1029549932,1621496656,358195353,-1241240524,-1521876204,753178754,1842903236,1949824929,-648640585,1853323523,-680813243,1877582964,-466665255,-990986063,1682182257,-448506820,-744668090,409299187,-999198999,-930213836,1525411046,-132787594,-1151993484,5851370,-402583130,-1150033116,-996289441,1777511946,1236363551,-1776456687,1491402116,822902930,-1286397627,1169330397,-1909238826,537650324,356146588,-340154793,140024544,-1936451042,403520878,-2063976964,-966639626,-1308048612,-1490990509,-259982596,909154248,1978594310,611228097,13732938,1974336865,-2104767609,-455802806,-419711792,1157268461,515555794,1692348443,-628583006,1966656802,-499376434,875507232,619784894,-721984813,-1629344879,-2030777436,1671628061,-911761805,-1563606034,-1098819506,-214383887,1152181749,-656583340,336502849,-740725350,1858900115,676066626,890211787,2112871666,-2146983332,-829533672,1376900123,1426258311,2130918708,-2062996430,2020428546,1529262384,-227399501,-296536584,1962561711,-248889726,-1815760137,-2128714015,-758368112,341729638,-1805376171,1773617410,274083320,282482673,242175661,863757230,1671024380,-90756564,215735207,106814147,-1922705420,-980245818,-1434578608,-968022772,1099267763,-1118551879,1257294024,-1207664932,2129117323,1680640610,-204140020,-893686677,144408504,-196199025,-1303119955,-1790486582,-1367092028,-1306314783,-540899819,-439310260,150142397,1741709414,-1703837352,2092693051,-1097374928,1899058568,-1854588380,2031881063,1202392723,-686494275,782535478,-1167490260,-10014606,1879924438,522204502,397471416,-830771775,1116952845,-1179417017,2087105631,417249457,230229115,-558836107,-1549583058,1621219027,735762870,-2014017652,617523524,-1790055543,818880880,-1700763512,62630471,1087648529,-56297251,-1101396407,2029818095,-1618743481,1899984663,1069589119,-1915607458,444617924,1575364149,668088854,-2062578624,-1740946674,1901627953,-1834922774,1361413965,-91208834,-1006937366,-904768969,-1427871265,532291258,1098690489,-572579551,-338586591,-1396185373,-1082631168,369019353,1034295265,-1459268905,1830720945,-176888103,377690668,-812264957,-1186060944,-386477573,1205361868,-989202644,909257185,1823119535,785229205,-2146669294,1658864625,-1046476783,2009458921,-210462713,1698480405,1499501939,1070359643,802960002,-1574762144,-1209299651,1846950153,143984869,1998052623,1967631254,-1785451138,-1170862541,1728842967,1227737821,-539829618,-390421996,-1680896741,-1858551519,1386935452,-1081872574,1501004082,1446827899,2107965177,-125799937,-1128754599,1771659367,499516134,2137442064); +/*FRC*/Random.twister.import_mti(122); void (makeScript(14)); +/*FRC*/count=266; tryItOut("if((x % 4 == 0)) { if /*\n*/((void shapeOf(b))) {((false.__defineGetter__(\"x\", (1 for (x in [])))) ? (/*FARR*/[].sort(Date.prototype.getSeconds)) : let (a) this); for each(d in x) {Object.defineProperty(this, \"m1\", { configurable: /((?!\\S)[\\b\u00b9\\d]*?|[^]\\W{137438953473})/g, enumerable: false, get: function() { return new Map; } }); }\no2 = {};\n } else {print(uneval(p2)); }}"); +/*FRC*/Random.twister.import_mta(-1764765692,-105801928,1314428942,1321383723,1190198671,-524040624,-720890298,-932452830,1617147427,-1125170404,208542702,39007004,226181431,1137068896,-2115760783,-244142816,993850032,1516592348,-460474274,-168280403,-795303307,-1591024399,-1740823592,589182906,-707485615,-770563836,445268279,-1896015021,1145387408,-1075409196,650846257,572455692,-2080235875,1621598231,1310814796,-1622005537,330762541,-1522166904,-844618285,2117466660,143499824,1085364004,-329205552,-316275669,1000303092,493517782,385067381,1966126637,1309913320,-554191817,1927117654,1202040216,-1684138423,-635402473,-1619584339,812264725,-429560183,-1771129740,824220874,322896841,-653903921,475780253,599390468,-1635142259,-2014214940,-2056936273,1160067348,1849679659,-1654503910,2116898908,1240331109,1839476119,-433716345,258143541,423752867,-1354150327,1604130945,-927931204,1044150321,106500201,1531936672,626097382,-1649371567,1037484707,1969915916,1042889327,597488442,2141858103,1581502861,895737984,1450937079,-908787507,880647781,1361930273,370850015,-1655960936,-959232891,1696949387,1766107753,-818982385,-1368739423,-727545356,1201973065,-1768818436,103163143,374038587,1803967942,-117128422,-89232348,-81725424,-1895248769,391147935,-158720049,1288096661,1472742622,1420172292,-1730473108,486003811,-1484652864,-1556090925,-1684577858,988633446,-23727166,2067875438,-2046525252,1012706929,1165760721,1191390063,-1008546730,-1670961342,-451108671,471777135,-362501464,-252969686,1406139894,-987403766,-1840818439,-696637735,1566576483,-340679743,-404282914,-1872531848,-1266661209,2048020135,-2021207428,1266890688,-690794372,1342562538,1648447910,593865552,-149931278,1531924760,917544073,1637588742,1281366146,2117137394,-1246925283,715184094,1602831009,-1204539442,1382309465,-1466323099,-1706506294,1599515345,-1085982651,-405915997,684946870,1826735966,1861794114,755473186,231756012,-1842411943,857949257,-1390204321,-96855830,1319328573,1390166987,-310252000,801904172,441540353,293398112,1612988705,-211538258,-837356452,-129613284,-254242139,-333556275,-709705904,405969353,1351202065,1809188663,642688666,1775649986,848153882,238785920,-1661288639,1046226690,-170058630,-1099837173,-1918964919,1311674986,533535200,-1464047714,856697372,-2050149398,-1135637196,-1164929601,99493259,-861649398,-1890595356,-1206098186,-1279728946,305201203,1450442547,2003136577,-558485311,-2062614614,-1699821912,-771322333,-1775037851,310693787,1331006964,729534612,-1277032292,1282799911,87375489,-113264128,1270435186,-1072138201,1117975732,-1069252544,1276610696,1846295607,-413509374,-1308430970,-726205071,-653611687,-195179784,-525618535,743760354,1727070453,523239889,886892682,632513294,2002406190,101622,460994923,796013422,-1653483053,-1486281988,-164368348,-2122836720,1422489038,1324850743,1680377881,-875485558,2054203338,-247206825,-1368363456,-799111448,939265049,-992137579,1848161538,2064983762,-1629438113,-1481772960,-179191374,698674853,1047681871,1553136886,717423616,1370305973,-260195198,721718949,2076800335,1100800042,1459582430,-1432461686,-1019179020,-1524485329,-24096377,-1097709849,-335487397,181029458,-2101269774,-1183159335,-1229076359,23987829,327551951,-238655812,125567003,1667350581,1280142456,2057553961,-160515852,2081773914,1440643954,-1143518155,1360516339,-245470993,1003331667,1937450063,-261484206,696474039,1643484837,195108739,-91296140,1799864121,851446850,-294135707,1172891304,-1210285279,265826320,-1657538292,-776739498,-1365016692,-113367094,1015939847,874250023,-1370357142,79325873,-1160661599,1929420055,841855780,-92260700,1479985900,1057051755,1762995945,-1515453684,-891043305,-199181230,-2054743928,27115911,819855651,-1433776484,-1262160971,628712746,-638955424,-588519292,-207552392,108033393,632483234,1424020199,-1192698024,-730281472,-690841158,243656345,-359835902,1369637274,-135559425,1888877910,-446433157,-1533239337,-1362686710,1507765730,-1147995312,-389781632,-1809263307,873613056,-356905394,254284787,-72643027,950118613,248589536,614526474,1668025228,1413018434,1666762961,863134916,1388988369,-1157281565,1356020027,-1324125282,-1433789793,1567889686,-1697373942,-1713661103,-1766056522,2045542414,2070781357,-953928823,-752034740,298794094,66128218,-1633558829,-1759813159,-59980872,-443908593,4510053,1550085825,2111035154,837537705,1360649741,-915818347,1917784296,1588310250,-1096549455,382879478,-1064695853,1699809288,-1680927171,1495880677,-83843015,-1125167211,1597804637,1480115222,-1320267854,-368888089,-1961952826,-1043987280,-1478994305,763119290,1273533710,-2007409193,-1194899165,607678706,220416427,737846082,307113545,879736144,-909404182,2059584133,556448529,-1403379243,-1716559176,-1493724862,222284596,-1241552165,416591883,-122055212,965543122,689524766,-127680444,-1126524752,1239989052,-824615692,-327232993,-518518920,2032203576,1785822541,225162455,1301416514,1435094270,-2056898161,963676359,1246485311,-463891904,1643714035,-1272939299,606515325,411377742,1630647286,2141804560,-937314969,296671842,-765399688,-237898494,373106007,258862426,-2032857498,1518413540,-479966095,-1946791594,966687998,251857117,-859498445,-10813155,1327347256,-245434041,553194027,-1506011852,1236116823,155096,2084376679,-546149956,788010447,-1729577882,-189307331,-45174639,2035952982,-288998735,318837477,681885186,1122351243,564758003,2012737007,-1187472736,2110995626,1474792672,452138371,1933455406,260252792,965928937,-320065435,409471451,54120025,-2080923142,-1327146562,1461706319,-1833636383,2117830157,418375625,-1202262100,-782375587,-806995218,-549277542,1129931701,-863628106,-2022125599,274061489,1317533070,569279722,2036015312,-65117284,1445981207,-744546080,120558953,1972655165,-1106244044,2141543499,2006648965,289141558,1667164354,759615926,-1284648665,-1265540705,1266900857,-1991285166,606691796,-312553276,1446035854,435370446,70321448,-245982936,-713901818,-897511397,1806085017,-1563227048,582709158,-1878261006,727917289,-2141029439,1207641146,-321697007,1064583361,1719446405,1039943537,1558051337,-1216249371,-1412040469,-1957750157,1574631957,-1642890985,-629691197,-2332267,1144719448,1275798519,-221663363,-926469398,-1234804158,590814248,-1475508036,-119975374,-992112403,-793053675,762420221,-823582265,1737349124,-642550682,-1734715689,-147468283,1842228483,1630910965,-496657322,635835564,236924826,605835980,-145865095,1760158159,1260086736,225824441,312418548,89170574,-1268550344,2036010263,1476290918,-935397928,-851855396,1425437349,-1227896128,248978025,-858226899,-625688741,-1227704343,-1008061427,-656100207,-411910729,1038862865,1195188346,-1610418386,1752657118,-1284000435,127276455,995673353,-1407203203,1931908785,-1082250645,766149949,1857194493,1042698537,2007783504,1246668929,1183822230,-1791378954,-95712850,1828655612,-294472285,-636938063,-1801238647,-1773328386,615364729,2091651483,1629016930,-1245441101); +/*FRC*/Random.twister.import_mti(175); void (makeScript(14)); +/*FRC*/count=267; tryItOut("\"use strict\"; e1 + '';"); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=268; tryItOut("\"use strict\"; var spujcw = new ArrayBuffer(3); var spujcw_0 = new Int16Array(spujcw); var spujcw_1 = new Int16Array(spujcw); var spujcw_2 = new Uint8Array(spujcw); spujcw_2[0] = -17; var spujcw_3 = new Int8Array(spujcw); print(spujcw_3[0]); spujcw_3[0] = 1; var spujcw_4 = new Uint32Array(spujcw); spujcw_4[0] = -29; var spujcw_5 = new Uint16Array(spujcw); spujcw_5[0] = -9; var spujcw_6 = new Float64Array(spujcw); spujcw_6[0] = -15; var spujcw_7 = new Int16Array(spujcw); print(spujcw_7[0]); spujcw_7[0] = 11; var spujcw_8 = new Uint32Array(spujcw); print(spujcw_8[0]); spujcw_8[0] = -2; var spujcw_9 = new Uint8Array(spujcw); spujcw_9[0] = -29; var spujcw_10 = new Uint16Array(spujcw); print(spujcw_10[0]); spujcw_10[0] = -2; v2 = evalcx(\"print(o2);\", g2);b0 + '';this;/*ADP-1*/Object.defineProperty(o0.a2, true, ({configurable: true, enumerable: (spujcw_5 % 3 == 0)}));print(spujcw_0[5]);m2.has(a1);{ if (!isAsmJSCompilationAvailable()) { void 0; abortgc(); } void 0; } print(spujcw_6[0]);/*iii*/e1.add(h2);/*hhh*/function kfpunh(c, e, z, spujcw_9[3], name, d, a, window, spujcw_5[0], spujcw_2[0], spujcw_5[0], w, y = window, b, this.b = /x/g , y, z = /x/g , spujcw_9[0], z, spujcw_1[0], c, y, d, c, x, spujcw_1, z, spujcw_10[0] = \"\\uD983\", b, spujcw_3[6], e = \"\\u547E\"){m1.set(o1, t2);}print(spujcw_2);a2[spujcw_2[1]];return -4;"); +/*FRC*/Random.twister.import_mta(1779076458,-1482273836,-617028798,566220837,1766371533,-1853578470,-656753532,-1241121901,1179608472,-143048123,-349524119,347859330,-534437632,1042472984,1438978090,376892502,-1519651911,-1971219188,-942874757,-60315570,-496541211,1582350245,1709223565,2049537821,332124679,-177788075,841751715,-74580368,-1190865368,-950866957,-1527769251,-2082664550,300086528,513654260,-1078397778,682685453,-1367846540,-1238099702,-1312579098,-398982393,-1052726038,1326492496,-2048209017,1352925229,1126643625,-940005221,653709894,511266995,-63393285,-1657327637,1110164287,552060710,-801225943,-835314233,-1609820765,-711762037,-2095648931,1228837895,1123540035,1146773050,-1055359034,514920920,278488191,427418774,954085113,-379269668,-1752620108,28453840,-1277972451,1118128240,-523825108,1531267163,-29304722,865361850,-956190036,-154902201,1483039289,426042747,-1260638940,-1253112906,-434120626,1788758886,-1095107368,-730628425,-1793245427,963299231,-466084657,-1753162262,1833311663,185462532,-1070527469,-1798180083,-1418915508,-516170594,19210548,-1007422092,125186815,-1245516752,-1113139327,1305102837,-625730236,-1379582668,-1711533665,-1541397423,-1966938357,-1919565489,-304118576,-1297019652,-1563243374,-1646938795,505846950,624259289,-281145948,1701042145,196971240,1966516582,728578418,1173295991,453535702,1256465846,685963406,-2124744747,33947516,1956202715,-702737199,-655862667,-1747979042,-1835223284,-89984450,-1610235962,1581812026,286995584,-1792332207,1071071093,996248779,-736485749,56834715,583667304,1716613412,408238966,-354239644,-504104150,1947047294,681593815,-442245087,1821543428,-2066629788,240445458,2010021421,108288520,830100101,902922110,-1692911768,-1384180174,1656914924,500006598,-1893218516,1225816090,1478565823,-1137591292,2139998224,-2048700145,1086687221,-1516425003,1122116402,-1397692183,-223513790,-406410572,1005737580,-939456079,-141366281,422209181,386102055,-1977033616,-1818808254,-783079217,-727356602,1912610746,-1707134779,748823036,1582618166,1364981400,739254270,1901522871,-201598599,-363382601,-558224752,-1404374740,-424541391,1692223132,-568400751,1612533956,-1349964723,164286633,1538101330,-2053460774,-1942210092,98200663,119763434,-2140801918,839730913,1399002037,-108338656,1787950379,-313494569,-1009324121,-525900013,-1974604936,880898115,-479192816,1953952858,-1096632005,-1944641937,-719957841,-65208258,67685955,-663823710,171998816,-1091688431,1043882673,-39592373,-2128695357,-1883495504,-610274251,-415351292,1569132130,-803687158,-754056794,-956878450,-82140318,1202986081,-951706103,-1574334565,-2116302265,1163277812,-1279097877,-1923635399,41404154,1116838259,1247089061,-1464709073,1336632431,78601681,-1631136210,-1971235977,1400468241,-337726983,1977040339,233058011,519657119,982875541,2041538784,1259623569,-1724848016,-563778251,-1002666547,1727769863,-204988291,-336442130,-753646637,-1510237599,-928207313,356149092,939572740,-438116038,-882163393,635618442,1198600594,1633277227,-1869918841,-512087512,2065295848,192044822,-2112169922,1052188838,-683209964,-2005401426,596346053,-344035730,914283317,142052971,1325714001,-1862894942,-2106164700,-1937043148,-2136897376,-1645875745,1372834558,642916998,-902835027,-1312705453,519608517,1295882519,-1396801586,2142799741,-1724084828,-968466763,289688202,-85799693,984529048,-1826521790,-13321723,990739779,-241755724,-2051220891,-1986307554,1508142325,-8397201,-995289205,-598896756,1452642296,-755947771,938687257,-1931350428,-1060019668,299437642,-868065704,1127498591,-2080837064,1882756299,1700509329,-508698784,-622514970,976628141,-640054970,992922987,-532124066,-933094206,1371303136,-471052362,-421287915,1392817943,217215233,-124083298,1910228473,-261194233,-1323262619,1884514532,1558573285,890144707,2008719664,-1195027644,1765983946,1095851122,780558250,-985521083,2141359671,1077114947,598180981,2051998167,-551549895,492563429,-1886661904,-81747409,-1890202972,-1899970050,1931044227,71412410,608580519,1270323063,-1693824836,-29759362,-747468549,288574878,326896558,1280116869,-1326321727,-212104954,1369335837,-259554864,-641636459,-47556114,-1595985516,-362039313,54458519,-1574239398,1294619859,1301025410,-1854996105,562208371,-991332332,707075547,473299563,427792538,-1684703191,639073891,1476146140,-1499000707,853137072,2116840572,610297822,-211387157,286033020,-1953825994,-929860927,-1112859797,-2090325302,1323260097,1803739801,-2081666842,2142553437,924832897,371998682,573805495,1578925489,-2103961828,-1062532528,466856661,834204864,-420183010,669568234,-703622146,2004035203,466697950,-27866795,2032867131,1897928509,1311851370,2049608300,-1955797064,-308084428,-768574203,180292847,-1058305912,1453434102,1102877808,59961648,-412111301,1866455391,-1521721271,2115853604,-782134283,-1648647169,-2074920307,-1390328574,-608786029,-1812194644,149327814,311605058,329938139,-203467378,-690362815,-1615633829,501100062,-1234361568,-1933385423,-674473833,2126205178,1241859874,-2080459881,-351851058,-655715828,-526425074,-1731209157,-96569574,-1105212657,688685334,1073933004,-1003710150,-815194903,694246560,11345247,-284312172,333353864,-1122108868,-1540052702,769379001,152411219,-2032181851,397498187,1662563418,-1971290725,-194032643,-999848665,-1146910741,26243304,-39168674,-583363326,84049483,-444597994,1236849117,-902352332,2085022039,-282599647,1362847317,-143785538,-1375871610,-1912054767,1558025265,749043571,1069624376,1612915217,1679157714,-253857608,-538614175,1621231062,-923147944,335377872,-347394105,-312005425,392534789,580671344,652298597,-276095527,1277877384,333082475,272486766,-758949564,-1641638186,-1212841883,-1837025199,-1339653796,-1095845522,1878698763,2015124110,-53651219,1777159788,-1362513079,-131955137,-268915318,-1541175723,1310192412,-1885346433,1190659833,-771470694,103535504,1040780209,-1053438552,-912534937,1343561092,-43088557,-2019272463,-1322248566,861745270,53995197,678883992,-853276256,130562091,-621336964,-79029582,366502747,-1557336015,-1095230691,183553767,-385702334,68051295,-950085360,-409745732,760189898,105517312,-841751432,1339589906,-820139051,112126539,-1434478354,-290370108,1132472535,-2105527968,137856566,1567227669,-325294144,230124768,185075374,1081431728,-1075636795,-493236007,1187539905,1533221635,1837156592,-1949262313,-1363215828,-2028719217,-193926546,760317025,1195175822,833203475,-656371148,844907521,953571597,272205171,-227593643,-1912759325,-1796113566,-1766042665,801021449,5851467,757812377,1752809777,-446821090,219264272,-1369980201,-416357156,-1909660754,1208763672,102851473,-1154513383,930796551,-94373976,-315940231,-723220485,1792597398,-637713765,646959361,-1037238222,-1390941947,400073885,-295736270,1790479413,-1405188720,669242947,-1521452027,-1194155806,747348632,718927627,-791111549,-1662501698,-1977593605,-147229499,-1203704044,-632100705,752108324,-132179088,1044488813,-160600961); +/*FRC*/Random.twister.import_mti(114); void (makeScript(14)); +/*FRC*/count=269; tryItOut("\"use strict\"; g0.s0.toString = (let (e=eval) e);"); +/*FRC*/Random.twister.import_mti(131); void (makeScript(14)); +/*FRC*/count=270; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return Math.tanh(( ! Math.imul(Math.asin(x), (y == (Math.round(( + (Math.cbrt((((x === y) | 0) | 0)) | 0))) | 0))))); }); testMathyFunction(mathy2, [-Number.MIN_VALUE, -0x080000001, 0x07fffffff, -Number.MAX_VALUE, 1/0, 0x100000001, -0x07fffffff, Number.MAX_VALUE, -0x0ffffffff, 0x100000000, Math.PI, 0x080000000, 0, 0x0ffffffff, Number.MIN_VALUE, 0x100000001, 0/0, -0x100000000, 1, -1/0, 0x080000001, -0, 42, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(272); void (makeScript(14)); +/*FRC*/count=271; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"(?=$\\\\W[^]?$\\\\s{4,}^|[^\\u00ee\\\\w\\u113e]*[^](?![\\\\w\\\\0-\\\\u0059\\\\W\\\\n])$+|\\\\2\\\\B{4,})\", \"im\"); var s = (4277); print(r.exec(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mta(557322397,1122688773,1092236460,974977556,1082374166,-1087932090,633492186,1534689042,-2000748921,200061840,49870605,22474484,1038333602,-837851652,-49765575,-1727263895,-34716432,603878786,-551363892,2033469783,-729568704,-1600872816,-1735736971,1263806619,-2048070154,-1764654888,-1113000346,954218999,1202557247,244003985,1855878125,-699843564,-1371389883,2061009169,1786810826,2068931786,846441768,1490401621,-818400272,-1482670901,-518026247,-1835511101,287665041,-2044424621,-1821674670,195478410,1014217770,1030664129,653399449,-53981673,-1354896511,-2137579054,1242759005,648795051,1670762278,1753613702,-1009531949,-160841027,-220369497,-1757024590,1611764559,680999908,941578090,-657721556,-1741654342,-538710186,-193656079,-1721274258,-1514563514,249652899,894419155,-209298221,-496146372,-1276334846,395947870,-517846514,936325743,-1817150489,-416730967,144556282,1312265134,-191806171,921854250,1774819453,-1530961273,-1384075089,1608201636,-1849985984,-876336766,-1857071313,-163281688,-135647898,-1227973622,-45827128,606359905,690209158,1778485568,540343017,1318023443,-1187209653,473159289,-1794061060,-1544452406,-1152348425,1101901756,868320627,1453357201,-376569413,-945546022,2082459335,-951271074,-1887130353,1003027671,-1487359749,-1848765641,1446461072,-1096551776,-1748841775,2051526575,-1746415343,452163681,-1708454468,1922940461,1449494700,-845571625,468369244,-222663750,-389054167,1244856143,1135414039,919380981,1444795636,2076376505,-745978523,-1990415681,-427822068,830913240,-868846167,1858136376,-596607109,-1908078503,-875067667,499560549,-1079270461,-146263647,1851020235,1677724955,487160534,1907202620,601953707,1229151944,-1627440245,1107641472,1487416685,-546792737,69666821,-1692467685,1657647675,816366088,-1040554303,-566543802,-1094439982,-2047614255,-912909554,1507842322,1011962334,167493332,1772598150,1532395944,-1810367803,-1032204255,-1130987114,912127777,-74043418,571482518,-1695675709,1468930644,-727743770,-1819095833,-294455715,1401704175,-1400937725,-376250314,1041051247,-1617176098,-1648381402,-13766131,1000648515,1692327776,-478920050,-1734040459,871255891,-286045924,-1276630660,-1405197113,-1998656666,1496906804,535268496,566072611,1118740686,-1627998229,-1289090084,121497885,-381905412,777333133,-1707430861,1099517363,874008355,1293908561,1907216434,522781768,-1343374369,574518494,-614289038,444051063,-104360528,740988554,-1172884868,-1649972016,-1470359600,1320808479,1762328520,240405781,1623095570,-1463181820,-1276198643,-220475674,-2047262458,1520306791,-1404351124,33293083,290562596,1734781876,-500957906,616484291,-29853276,1057727145,-986420748,1527568537,-1660902026,-1388668915,1574343085,-664732169,-2014819520,-284602174,-1570847137,-204899230,1851269549,-1257377810,-129616071,-187139785,2147008005,1246923005,473618516,1347691122,1940579439,-1103133810,-1674519994,-1498227270,956633287,294564958,-120861898,-1803159713,-272244945,1794901008,-414557704,-993690407,-1391546152,-1681999296,-750150026,-1292986113,746680382,-118054864,1629395822,853036263,360458284,-1854698440,-1280348649,703638573,-1654919527,-301253801,-972115761,-536846233,-1025690359,-745696340,-1033256862,7661532,-844971207,1770650062,86398133,1141359617,1483984817,469951753,902615089,533268990,-1892373581,-1156908673,119273020,159059735,1751160971,2094425105,1263979564,-467171494,1162816596,-992559060,707326782,-1207912976,-318570367,-904700526,-1159872743,-696463719,1428587062,-809029426,618994200,-69232440,-1107585902,-16424699,1534314273,355229932,-787729021,-351232860,-2139745405,-1824354216,72432842,2004953479,-1756450559,-270765866,462818943,706414933,1731882896,324008323,2005680861,408609201,-778644800,844549341,1294940578,1258963562,-1839730493,-1133745946,-1486952885,-665392194,-736733504,932470861,-642050196,-932080600,-1056317414,1362420866,-847483804,1043445918,-1957334507,-1858439117,-1645615429,-1494461547,-962543097,714192576,-1162050904,1659171941,94790799,-2102595724,950533714,1753873502,1088181387,1790205337,907939713,-1633656409,-1221324369,100921107,1528082067,321024123,-461109493,1680213088,104224701,1693640950,159144200,-1202380417,29048538,-1937014329,2110153988,2125928541,2052131166,-357128577,-1116710696,-430058084,-240342501,258373423,1806055447,-1578072079,1612081935,1166240042,1246768759,1974361835,571619416,-2110626773,-1039102009,-4326524,1986123909,470083226,1678676505,-929197895,77917032,-985158773,-1342111187,852310209,-1481290539,239185499,-2113469782,1986831380,-1000934322,-1656196862,206865165,-1498262324,2108756387,-287126084,-283838453,309528545,-1546880926,684581987,918436023,-1175451380,238238610,909826991,-1742866105,1837814642,193967258,42831600,1331184918,-912336513,-204022238,167217810,-1537913087,1263654776,1680856682,738178923,-1782055014,-622875299,1695863471,58314201,1859722285,-651540007,-273966093,-1041954299,2103329300,1520994746,-1312466852,1997967989,-185254034,-1383985179,2098035699,-578202295,399198085,1408757297,-916927471,1537006146,-1897687364,-764182521,1391093174,-921066947,-1672850018,719056702,-1282906498,2114010559,2140068848,-2013691896,-1142347513,-1140658925,1335349647,-371684997,-1486395327,1019625200,-1758966688,360283839,1583598756,-1118936231,424695149,1390514120,248679183,-1253177720,-1962711551,571355441,-1000584107,-1908599716,-156948849,-1502633958,-900201439,-588663725,1615315872,1291439609,1031112354,628153028,-153795330,-226596989,1155671419,1833796312,1182797153,-215878737,-1234759753,125040655,-235332337,1665072419,1124193878,-1605957949,-218071033,1442357947,-189100638,1916415749,-1809320061,-191632841,-1630905598,-1833342590,76522961,1970330967,-1055707120,903007195,502943801,443203796,-1230389370,1251192458,977104017,615808927,-1402596463,-82400319,2102761824,1747991103,795578951,-1354667377,-1546965063,-594557750,-940971421,71718501,357020802,-1031043310,644843301,1919426998,1115716700,1568575942,-639167680,1615833269,-837571058,-1924324802,1892115475,-1510351917,-8183914,143405261,-1127704809,-1483525460,-837886775,76924967,-53067896,928032895,-2082648035,-330691835,1293621268,-1659361289,-2104439494,542606371,-709836636,418699160,965089666,445298252,279731787,-848639515,-107785193,1573925147,-1858776511,594686750,-707251296,1621675755,-1456943343,-94261828,2071357980,1521973476,689587065,-1300216685,-1760959942,1288396012,590410764,-1457209122,519025055,76463602,1947304395,244221373,-1041969741,-1269714819,255787306,-401958813,-1718662136,-1147285983,-254990303,-1907555739,-1615573701,-1962593556,-30055185,-87795348,121075277,-283122377,-1790936313,-1291808693,-971580846,351712795,1957649154,-1741745685,-729118203,-815494963,-744762308,-1948502757,836628534,151709156,2111078546,61893998,-216330014,-1338239299,1694472086,1746582599,1070127409,-264800745,1451662931,-337389292,-209258170,854247899,576100098,-1276690689,951628022,546424461,-711959029); +/*FRC*/Random.twister.import_mti(133); void (makeScript(14)); +/*FRC*/count=272; tryItOut("\"use asm\"; v1 = Object.prototype.isPrototypeOf.call(o0, v0);\ng0.h2.set = Math.ceil;\n"); +/*FRC*/Random.twister.import_mti(180); void (makeScript(14)); +/*FRC*/count=273; tryItOut("var dsrypx = new ArrayBuffer(2); var dsrypx_0 = new Int32Array(dsrypx); var dsrypx_1 = new Int8Array(dsrypx); v1 = a2.every(f2, o1.i0);print(x);"); +/*FRC*/Random.twister.import_mti(242); void (makeScript(14)); +/*FRC*/count=274; tryItOut("o0.m2.set(b1, g1.m1);"); +/*FRC*/Random.twister.import_mti(265); void (makeScript(14)); +/*FRC*/count=275; tryItOut("e0.add(v1);"); +/*FRC*/Random.twister.import_mti(278); void (makeScript(14)); +/*FRC*/count=276; tryItOut("\"use strict\"; \"use asm\"; h1.toSource = (function(j) { if (j) { try { v2 = new Number(f0); } catch(e0) { } Object.defineProperty(this, \"g1.o2.v2\", { configurable: false, enumerable: window, get: function() { return undefined; } }); } else { try { a0[0] = e0; } catch(e0) { } try { s0 = ''; } catch(e1) { } try { /*MXX1*/this.o0 = g2.DataView.prototype.byteOffset; } catch(e2) { } (void schedulegc(g0)); } });"); +/*FRC*/Random.twister.import_mti(349); void (makeScript(14)); +/*FRC*/count=277; tryItOut(";function b(d, y) { v1 = (i0 instanceof h1); } ;"); +/*FRC*/Random.twister.import_mti(439); void (makeScript(14)); +/*FRC*/count=278; tryItOut("mathy3 = (function(x, y) { return (((((Math.min((x < Math.imul(Math.fround(( - (x >>> 0))), x)), (( + 0x0ffffffff) | 0)) | 0) >>> 0) ? ((( ! ( + x)) >>> 0) + (Math.fround(Math.asin(Math.fround(x))) >>> -0)) : Math.fround(Math.tanh(Math.fround(Math.acosh(y))))) >= ((Math.fround(Math.round((((y >>> 0) - x) | 0))) && Math.fround((x ? ((( + mathy1(x, ( + ((Math.PI ? x : (y >>> 0)) > x)))) >>> 0) | Math.imul((( ~ (y | 0)) | 0), ( + Math.cos(( + 0x07fffffff))))) : (Math.imul((Math.fround((x + y)) | 0), (x | 0)) | 0)))) >>> 0)) | 0); }); "); +/*FRC*/Random.twister.import_mta(-596423356,-401569041,430610018,-452561024,-1349337458,1613500844,-1979059364,-1827249721,-940483742,-300388531,-990018764,-2084984237,726872563,1094628751,-1472224056,-1877610556,-1091845430,1038248583,1180625942,42742083,1727297535,1824381289,-225337600,885828948,-747292373,861841473,-822667074,-1202456912,-787124351,1742295126,-655212504,-941745553,1077002070,2115084189,1502045199,851862015,547722223,-45894491,-1345553387,-352405254,-1096972909,145771726,1974561797,-2007977044,948773841,1150375855,914014051,-43571098,1402579130,1662274298,1028057882,562600504,-1651106161,1648167330,-48509230,-478311564,1826604861,840271371,424186607,538565445,-2013149076,919880843,-1611817496,840500962,276769883,1691071919,-145059536,-287432400,-1846554111,1786239437,128775927,1307609838,-824304927,1588963600,1861413283,2141276849,-1988044735,-1199724733,1251765106,-1839870113,675509324,2037842340,1773154484,90838464,963497479,-914212152,-1031422463,-1190420334,-1310140184,937136013,1182830609,2115474625,-2005460710,962920428,1349764536,1481459320,-812465974,1299119097,871493709,-798841876,-76448911,851852870,-2019483150,-1064185571,1944646241,-408932820,1500855712,300425576,1931518015,-684356968,1073790298,1448453942,-1909764749,-1533058029,-1442271400,713241227,-820804210,-29255716,609413073,-1629314459,925428303,-990769066,-2024482873,1154668533,815843022,1366101986,-1039867380,1397794295,454367981,1591813615,-320405479,-1599104922,-1517574417,523068050,1431338275,715881690,-40634793,706667866,1859623970,-1100637114,854646183,1520880339,-166066899,1196782556,295798444,-1551595873,-1303631236,-1622802510,1190586051,540305219,1788940946,1448217151,914486900,1526134453,-1778373431,161474597,1795073272,939779367,1816478491,2011777723,1726221419,-1048840197,1952928716,-1585109652,-407110408,1496182385,-1511617662,249131978,1188789789,-1734568412,-144470054,944236275,1186823663,197093423,-1117391161,-649639495,-1119476919,-1677030848,-855556099,1508530038,-1848069951,1883753961,-1306548701,21195090,-1891953504,1389361572,-874125740,-630851629,-1472893617,1858546884,808632151,-1187731733,-968861307,1142075472,-1168502436,-1772607626,147107845,1724489593,-1273549984,628325217,-1618747460,-832507318,1076957692,1443706354,1084189891,917020363,1352614770,878393580,151722031,111044544,-215290462,1387222785,-559265701,1678733657,1478253902,1041233666,583221263,-1092304769,44602811,364351940,-956070238,-1396154482,302623627,-1484525059,-129539921,1509695998,-1754464632,674560168,-30069671,-1067702480,-307321198,-1675498668,1363013435,1096688994,-1408606955,24918761,-863872073,812867495,-1925580568,-456733398,-1227010682,487025388,-740177308,-915445077,-171591305,1069175335,-324497078,2087878664,-1986629078,301273924,-768064887,1867828618,1027851371,-421721721,411972696,-838160826,700530037,-1951715595,39068371,1224140153,1114929670,-1966264449,-601080137,1440453095,-823748519,1420194470,-1132863338,-213722957,1628734453,-1244753755,-569373773,83260361,874387992,-1239537201,-136758160,1528852134,-1546957522,-256504365,-1238508117,1939551227,-1741496038,336809534,454795567,85528299,1394697786,1500700929,-1614804474,-54184821,-1387274738,619106103,-2027400731,-2022248960,-416977560,-121760305,1884079158,1432493665,704258771,-1709588061,-523733388,1774032950,2065616646,1558260238,486988955,-1410615209,-311828772,1453076874,2111635392,1296751237,-1122930953,-1685657817,1878611163,512644704,-1678723132,-9801115,-403281189,1466095797,-1016406846,1276551271,-812040481,-33597624,-531151118,433229204,442882077,1834673366,-540994650,1142933542,77665292,2004111108,22743438,386821612,1650409644,-422759834,-815052980,-1722356975,931118521,1453687050,1192673830,506890537,-1661836084,-503301972,-829141133,1758080929,106871101,-1423224934,-1631229999,1288213904,-1201892265,1747990016,1481644419,1455512321,-1825663881,-86089765,-1422533058,-1756612244,1309598883,-210776064,-986011785,-307136605,-50567345,-1848682304,-1504970744,-117251280,-1465070651,1808496219,-393454254,-1260463244,182942672,-1570155195,-236160631,-2079783139,-582555427,601420503,-1489327589,929958428,-543661857,-642017537,1591170497,-856543645,1803194000,-1697507948,72276697,-449919481,-398389769,-1270534224,-1797764621,-441077700,-1628778525,1143322878,2103136287,-675754906,-1332987584,2141879858,-1590879923,-633833920,-320786601,1222184272,865300471,1244002137,2048234311,-48883467,-893953562,2097928824,1402298124,1668170939,-1660351723,-1237881353,2076257617,-545486784,-1352319824,-1589212091,-426552996,-1203080578,-1135790722,466933115,-880555038,1700474785,-326074304,751483857,-30590174,1146455181,-787153876,-861964059,-1818231493,159545213,1097186802,164689664,1553470576,-612885771,1162011925,630848064,1679482567,-865597527,1011572998,-1527241469,-539369116,-1849733604,-1459988215,1186429329,-1133368793,659586438,446713939,1967659411,653089580,-1069499926,-2069995576,-849272170,-231105310,1892654297,2116373651,-1560613812,438773546,-1786180210,1586358944,1734184532,1094830707,1135693208,-1904669185,-1195159283,-2048534421,-1221213893,2123974810,-1342792431,-981459275,193699297,-827324481,551357578,779995605,-390180098,378752220,5621220,-430011143,1919563780,-367343538,-975677778,-502041264,-1825476242,-847507301,439872206,-730702977,2052935237,75967007,1270473813,841882761,-558016637,-74920155,-1121946384,1447831080,1355552612,-1314419456,1008450985,-1365101691,-130000587,-286341943,484551070,830074807,-1146761427,339390205,914867709,628529378,-1120589402,1452726547,70114802,1635592311,1138682483,1672300237,1433180271,1023286906,-781298213,-816042999,-1196720293,630232803,-1866419448,-829982270,-1829410196,-409867448,-939128501,-1594832480,209379061,139286295,61245527,-2045453953,-581146122,-606115939,-1487788213,1391781536,-1903193071,-1824399912,-1607117589,1447227471,1011031826,1641335578,-732049913,2010910628,1399043875,1639535397,1413352050,-1131466720,694142404,-1747786,268757746,-2136212050,985186914,-804379679,-1868348012,-1306951972,349923859,-1013692276,586654226,-2127260347,-179802816,198666460,1212526722,89632443,-847092030,1571565398,1294033474,198009133,1863981962,2006166940,1893110625,2090332613,-1063315989,-952657675,380623785,886739193,1974383462,1872556027,-1281058387,359733935,721749327,648994553,512619847,122446989,-566674911,2041072646,1287813612,-2135018735,-1855337842,1507733473,897199167,783740778,-1926329278,-1259319147,1748458393,-1586048601,943337600,1889631247,2019936741,802190706,-315731277,-1915128589,-1779535388,1850593421,-1537197676,1908529177,828670323,-419272140,238355215,428826454,841323057,-1004273727,555914342,-1334412063,-2110652525,-1810049416,1879047266,-1539811875,93777006,-593277322,693614198,-969218949,970827535,1666804859,1073333303,-1234286840,1219148949,-1367625531,1894903154,1853961651,567686893,-2040254917,1705082062,-82210166,1571473749); +/*FRC*/Random.twister.import_mti(210); void (makeScript(14)); +/*FRC*/count=279; tryItOut("s1 = '';"); +/*FRC*/Random.twister.import_mti(220); void (makeScript(14)); +/*FRC*/count=280; tryItOut("var ocetuz = new ArrayBuffer(6); var ocetuz_0 = new Uint16Array(ocetuz); ocetuz_0[0] = -7; var ocetuz_1 = new Float64Array(ocetuz); print(ocetuz_1[0]); var ocetuz_2 = new Int16Array(ocetuz); print(ocetuz_2[0]); ocetuz_2[0] = 6; var ocetuz_3 = new Uint8ClampedArray(ocetuz); print(ocetuz_3[0]); g0.v1 = Object.prototype.isPrototypeOf.call(p2, m0);Object.defineProperty(this, \"i1\", { configurable: (ocetuz_0[9] % 6 == 3), enumerable: true, get: function() { return this.m0.keys; } });function x(/*UUV1*/(x.toString = eval))(w = /\\1+?/gyim)(4277)/*vLoop*/for (var ptfjap = 0; ptfjap < 109; ++ptfjap) { let c = ptfjap; for (var p in o0) { try { Array.prototype.push.call(a0, g2, s1); } catch(e0) { } try { p2 = m2.get(x); } catch(e1) { } a2.reverse(); } } "); +/*FRC*/Random.twister.import_mti(510); void (makeScript(14)); +/*FRC*/count=281; tryItOut("\"use strict\"; i2[\"arguments\"] = b2;"); +/*FRC*/Random.twister.import_mti(526); void (makeScript(14)); +/*FRC*/count=282; tryItOut("\"use strict\"; return x <= ({y: [x], NaN: ({b: \"\u03a0\", \"-22\": \"\" }) });"); +/*FRC*/Random.twister.import_mta(-1490746639,918607990,-812309707,-1652685151,220058286,1452385954,-1276263289,-17717596,1479797390,432008395,128511414,1673794710,416376413,-225672392,-264206948,-482814949,-601009945,-391332375,-48920609,1189219168,-2086869062,-949619550,506712615,1638322278,205036570,-1260097180,1437305893,-1326990611,2050776875,1893807204,564111133,626670270,-2087090863,-774775777,1275299721,-1257170898,55660430,288845745,-457174431,1857825567,49242102,530722042,595076176,-538021532,-838335845,-1529301950,-17617447,-313357419,-51705877,-325392017,1611387333,-370740469,-740005731,615170115,-466106316,-1310017055,-413139570,-722652197,-894103323,-1971721783,2057421719,-1978460513,-298237366,-273781144,77330201,-30583251,2095353209,525295200,-856797005,-1264385423,-834267255,-1460342413,1863258476,1211058423,-726520445,2010256561,15611344,-2023931671,51586590,-1721914691,646736412,-525712603,2028487845,-2126938685,1870199089,-899386538,-2110224438,-1552112815,2143618025,-335225089,-154178085,-1248067187,1621738079,-2036608679,-731448823,-920148820,-480353091,-1316378802,-1818976549,-259349606,1877269214,648415259,1148547575,-1234562820,939379428,231192231,1261107911,-1019894259,2130074915,1560166615,-96172480,1363229295,1944878477,1888797007,1552521874,-384910587,-304766590,749742207,1585440934,1651248216,772003550,-756052949,-121154702,-1639663080,-169153017,-86174053,1475528047,-965289207,955758137,1010494731,-261973800,-1651534873,1943383643,-764132012,-1056411542,-803388336,107791758,1456643380,1259127889,2097147436,-1660678030,1575020287,1940804380,-2005188872,-1301138958,-1993853217,-553534899,1214954850,-1647711891,-154877499,-1865017390,-1703645569,1094428357,-1713385881,-1786579889,807992519,1217078414,-226083324,-270698560,-1581787193,-693153624,228590714,1611923927,256511929,889278988,-708518604,1371759180,-1900044504,2044786804,338503702,1989138955,-1356393337,-1210973817,-1592486587,-349773500,-1058552330,-1875083519,-2044697817,540496471,291167150,1883413669,-640070609,1977325718,690709818,-464949104,-1862097985,-1676865361,1818548191,1331275490,-240086149,-34133425,-705107601,-1893266789,-1863025571,-557686177,-1289275312,235685623,1808420265,-86668260,-389839382,1761966634,2039994280,421726408,2103769471,-1551995940,-1741038248,-1742969883,160557744,1823526786,-1649597684,-171313359,1795086980,-1034371579,-365638948,651844750,-349143901,-1182591785,1848818954,1114731639,-1912966252,647348917,-1098035031,-1423999284,1666133683,157248561,-256905778,162575617,20390914,1458490350,-1186828164,-747703541,-57960980,1983820819,1021336274,658967311,-411404406,-661720121,20189634,296186371,1136640158,-1139853746,-642752338,512217489,1070021763,779691045,-884879494,953895780,-2024284497,-1885373184,-1373158468,369931939,-1953378576,511853944,434935305,-1746735666,-1210814130,-331607103,-105052501,-1742079779,-1566328750,1304427391,-1155717107,1190420482,-1121275011,2070173410,-84090326,-1911162983,-345133357,-1672620937,-713518762,77461599,-737734761,652152954,-2061519903,-2134721338,-317808260,231300953,-1575645233,153344553,-537061360,1856202588,1890756732,711888459,-825274733,1633481604,-984279578,1830011731,738602128,1097384411,1957026407,-1407903384,1997095341,461040661,79884130,-1393106545,1092350213,547836543,-1105056589,-601211544,1384150767,1717558768,1127871249,-80775099,1985665726,-334276564,1040013822,653293344,-1593021000,878805097,-1776525801,-1904322829,1652597459,752483003,1758134904,1371897812,1584426376,319241747,1208697451,-882660823,276980006,-898459757,1079813848,-7678265,-859902610,-746175651,-1849420579,-886012904,1867079193,757153517,1968886177,-2062775857,1346922818,-664505360,-1986161468,-395876728,1568488496,-890391396,-197282778,541140537,-1917916437,-1644599744,-961644845,-56943416,1002414773,1255432887,-614919598,376706904,-1692177728,1619497332,1750641046,2049123626,-1603272424,-1317336531,-1443035167,-4115703,-1016965795,-739580411,387193760,-714588281,552620639,-1359661876,207005015,1022381986,841673511,213774478,243235257,-188484527,2096798825,-2031299154,-2080008275,1084225356,954717216,-761318447,1774533373,-1111505214,1806365522,1236624939,-445951846,-1759681355,-1709933706,843062715,2024456811,1779067679,-1678790488,-2141395430,966828270,-1012593736,1896499320,645685833,944905591,1889480864,-1130402187,-1193744876,-1095023304,-355264128,-115212464,-1472765083,-762469513,145008674,-762729100,-544114567,-1024700734,1750620020,128993876,1144218883,-991988704,1055170446,670040829,275954386,110243896,1963875333,-1167070673,1172339165,-1177750178,-2017333040,2031216322,1054703180,-1025394722,786078710,-1481804659,1874030832,235219997,1861137201,784242702,1864513065,-728136156,1551317071,-1834174337,1801136776,-1306077324,-1034401164,-44311713,323845894,-135228585,1095650750,-1580903463,1744711451,1928876797,961995847,1442850547,1234728650,900526360,-888135594,-70501581,142748737,997046790,1821707559,-2138057693,-1343215985,-435360423,1770760308,1712953697,-1023333660,-1340546841,552567502,-925172274,2083219493,143962081,1041876398,158470238,-1307335547,-594561910,1001851301,1725841607,1364891527,-1617877450,2011228641,-146370528,-644185508,-1264572622,1190273153,460603394,-1448221651,1238561228,-825268712,1881785746,-482560293,-1522717757,1874319629,-2050400088,-1523002116,402477909,25324112,149996684,-1490207533,-217060407,-1966754848,1433157119,2081965574,-928134881,1476538168,-1793358759,-1265879323,262254749,1874327962,1331180502,1463010167,371635246,-895640764,-727921620,-2029429480,695506978,1441359002,-1525199648,296448807,391959828,1849852450,-1878670969,-1242585330,-508660251,-961603817,102715237,-1943035696,517682935,-787638038,286303499,-1416624702,825950780,-271403687,-2122829707,1785519001,1477567134,-1950723457,1239228719,544036452,-1786063996,-1684902843,-1804200696,1561885848,-876274232,-981693086,-1745002498,-1924910416,-1893437843,-1961662335,707139705,-1028408075,-1316160344,713217962,747373676,899113801,-523575557,371314498,1242268029,-1687271491,-357986705,1106882607,1407217134,989368440,-1168022871,-392415953,1210393823,-1224398916,-1511615565,1239019320,-1311818076,1121442916,-1094361343,-248803283,2133277645,819637998,317987373,-1893572293,1233669183,-823464555,-1903697637,225711842,1313430472,1243890859,1992606571,-1376655159,-797253586,1833779101,1788883291,-1119726026,-103794653,552357073,-1882947067,600156120,-1507820136,-1351990848,1018276764,779176014,1515798025,1258882016,1949315423,-2050357646,-1189278091,-1547092783,-485210876,2027803605,-493639657,474965363,355182722,-46109681,-1251090252,1511499509,1280858343,-1191334425,1770421486,961835214,1015826541,-1279607740,62590231,-1835749717,470417028,-656470719,470923904,738269520,-803231235,1577702384,687399160,-1084952022,-661510084,-1940412691,-1471608076,1076554702,-556328282,897369564,585253334,-865338529,-681586491,251407141,581784258); +/*FRC*/Random.twister.import_mti(113); void (makeScript(14)); +/*FRC*/count=283; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n return +((d0));\n }\n return f; })(this, {ff: Map.prototype.has}, new ArrayBuffer(4096)); testMathyFunction(mathy1, [42, -0, -0x0ffffffff, Number.MAX_VALUE, 0, -0x07fffffff, 0x080000001, 0x100000000, Number.MIN_VALUE, -0x100000000, 1, 0/0, 0x100000001, -0x080000001, -1/0, Math.PI, 1/0, 0x100000001, 0x07fffffff, -0x080000000, -Number.MAX_VALUE, -Number.MIN_VALUE, 0x080000000, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(177); void (makeScript(14)); +/*FRC*/count=284; tryItOut("\"use asm\"; testMathyFunction(mathy2, [0.1, [0], -0, undefined, [], objectEmulatingUndefined(), false, NaN, '/0/', ({valueOf:function(){return 0;}}), true, (new Number(0)), 1, (new Boolean(true)), '\\0', 0, ({toString:function(){return '0';}}), (function(){return 0;}), '', /0/, ({valueOf:function(){return '0';}}), (new String('')), null, (new Boolean(false)), (new Number(-0)), '0']); "); +/*FRC*/Random.twister.import_mti(211); void (makeScript(14)); +/*FRC*/count=285; tryItOut("e0 + '';"); +/*FRC*/Random.twister.import_mti(220); void (makeScript(14)); +/*FRC*/count=286; tryItOut("var qhrpwr = new ArrayBuffer(16); var qhrpwr_0 = new Uint16Array(qhrpwr); print(qhrpwr_0[0]); qhrpwr_0[0] = -21; var qhrpwr_1 = new Uint8Array(qhrpwr); qhrpwr_1[0] = 13; var qhrpwr_2 = new Int16Array(qhrpwr); qhrpwr_2[0] = 3; var qhrpwr_3 = new Int16Array(qhrpwr); qhrpwr_3[0] = -12; /*RXUB*/var r = g1.r1; var s = s1; print(uneval(s.match(r))); print(r.lastIndex); yield; /x/g ;continue M;s2 + '';s2 += s1;h0 = ({getOwnPropertyDescriptor: function(name) { this.b0.toString = (function(a0, a1, a2, a3, a4, a5, a6, a7) { var r0 = 2 | 6; var r1 = 5 + a1; var r2 = qhrpwr_0 ^ 2; x = 1 - qhrpwr_0[0]; var r3 = a6 % 7; r0 = 9 % r0; var r4 = 5 | qhrpwr_2[3]; qhrpwr_3[0] = qhrpwr_2 | 4; var r5 = 8 - qhrpwr_1[3]; var r6 = 1 & 4; var r7 = 8 - a0; var r8 = 7 / r2; qhrpwr_2[3] = qhrpwr_1[3] * 5; var r9 = a7 ^ a2; var r10 = 0 % qhrpwr_2[0]; var r11 = r10 - qhrpwr_0[1]; var r12 = a7 % 7; var r13 = r10 / qhrpwr_1; var r14 = r7 % qhrpwr_1[0]; qhrpwr_0[0] = r13 ^ r14; var r15 = r9 * a1; var r16 = a0 % r9; var r17 = a4 * r9; var r18 = r17 & r2; var r19 = r12 + 9; var r20 = qhrpwr_1 & 3; var r21 = 6 | 1; var r22 = qhrpwr_2[0] - 9; var r23 = r19 + r20; a5 = 1 * r2; var r24 = r3 + a0; var r25 = r18 | qhrpwr_3; return qhrpwr_2[3]; });; var desc = Object.getOwnPropertyDescriptor(t1); desc.configurable = true; return desc; }, getPropertyDescriptor: function(name) { for (var v of o0.h1) { Array.prototype.reverse.apply(a1, []); }; var desc = Object.getPropertyDescriptor(t1); desc.configurable = true; return desc; }, defineProperty: function(name, desc) { /*MXX1*/o2 = this.g1.g0.Promise.resolve;; Object.defineProperty(t1, name, desc); }, getOwnPropertyNames: function() { i0 = new Iterator(t2, true);; return Object.getOwnPropertyNames(t1); }, delete: function(name) { Array.prototype.reverse.call(a2, f1);; return delete t1[name]; }, fix: function() { v2 = Object.prototype.isPrototypeOf.call(f0, o0);; if (Object.isFrozen(t1)) { return Object.getOwnProperties(t1); } }, has: function(name) { a2.push(this.g1.e2, b0);; return name in t1; }, hasOwn: function(name) { a0[12] = v1;; return Object.prototype.hasOwnProperty.call(t1, name); }, get: function(receiver, name) { b0 + p0;; return t1[name]; }, set: function(receiver, name, val) { v2 = t0.length;; t1[name] = val; return true; }, iterate: function() { print(qhrpwr_0[1]);; return (function() { for (var name in t1) { yield name; } })(); }, enumerate: function() { (void schedulegc(g2));; var result = []; for (var name in t1) { result.push(name); }; return result; }, keys: function() { this.o0.v1 = b0.byteLength;; return Object.keys(t1); } });v1 = Object.prototype.isPrototypeOf.call(b2, this.s0);for (var v of this.v1) { try { /*MXX1*/o1 = g0.EvalError; } catch(e0) { } try { v1 = g2.a2.length; } catch(e1) { } try { h1 = ({getOwnPropertyDescriptor: function(name) { a0 = [];; var desc = Object.getOwnPropertyDescriptor(o0); desc.configurable = true; return desc; }, getPropertyDescriptor: function(name) { throw s0; var desc = Object.getPropertyDescriptor(o0); desc.configurable = true; return desc; }, defineProperty: function(name, desc) { h2 + '';; Object.defineProperty(o0, name, desc); }, getOwnPropertyNames: function() { throw h1; return Object.getOwnPropertyNames(o0); }, delete: function(name) { this.g0.v0 = new Number(4);; return delete o0[name]; }, fix: function() { i1 = a1.keys;; if (Object.isFrozen(o0)) { return Object.getOwnProperties(o0); } }, has: function(name) { v2 = t0.length;; return name in o0; }, hasOwn: function(name) { v1 = r0.sticky;; return Object.prototype.hasOwnProperty.call(o0, name); }, get: function(receiver, name) { p0.__proto__ = t0;; return o0[name]; }, set: function(receiver, name, val) { v2 = (g1 instanceof s0);; o0[name] = val; return true; }, iterate: function() { i2.__proto__ = s1;; return (function() { for (var name in o0) { yield name; } })(); }, enumerate: function() { /*MXX1*/o2 = g1.Math.atanh;; var result = []; for (var name in o0) { result.push(name); }; return result; }, keys: function() { Object.defineProperty(this, \"t1\", { configurable: \"\" , enumerable: false, get: function() { return new Uint16Array(t0); } });; return Object.keys(o0); } }); } catch(e2) { } v1 = evalcx(\"(eval);\", g1); }"); +/*FRC*/Random.twister.import_mta(1186709801,2048302511,1158282594,1422803228,-1334432869,-1008215701,532478571,2126179487,698342982,3934118,-1449646614,93014877,-1901728158,-1459317535,-1766373686,383301388,-962405215,488460873,1276068108,-890704259,1642161915,-1137504891,-1470079956,-2087891332,468074374,469037276,-875728596,-1676482792,1558651702,-20241008,-436651305,-862189845,682670556,-56118284,-917748227,-142799307,-1949363097,-739796030,-882112480,-1512866329,1638981334,-2082575660,-1711041446,-44408712,777538992,-1807383861,-600445140,1137004093,1127886847,-594190618,-1175654214,90018501,-1824484259,-398804144,265775518,-359410205,-988320694,1434990713,-655648301,-1149154711,98352021,811134175,1115438583,946082149,-249405329,-476828610,1645555191,2137860420,1120941118,1198165680,439741127,-1707089224,1841143008,853431332,98101545,-766050742,1551641409,1967616272,-964986525,-925462711,-2016337892,402403596,-425727781,1873096522,1767375081,-1095998131,-635715362,43550273,-738654257,1157245975,-847694514,1350794159,904750994,1771591178,2047079643,1694196886,-1571383153,1328350813,-525911892,-1482913576,1493627998,2033559355,-1692852749,1543054723,-952719093,-830087122,2124672261,-1420392216,778375046,1658099965,-1430327421,2071653000,-1058335282,-1140328858,476768303,-590890253,1088906639,900876117,2027387919,1888489659,1826855900,-910866672,-279811175,-1808190938,1859694184,293752899,-194776766,397125087,38610804,293036536,1028062257,160950061,2076000095,-780526491,1764481108,-482132786,666070189,-1872285202,-2038144873,-107572000,-13668918,-1078597438,-1049652182,-966078519,-1934377697,664536120,1197029075,-1037160212,540545614,-994039414,785756302,498476613,1401956271,-954165995,-1514814107,1311027094,-174396357,923566795,-1482580155,-297303637,-1605184303,1291034888,-520472633,2093460272,-1391023134,-2030929884,386278668,881210742,-1679211952,1230867443,1942260198,672457149,1155246533,-992456143,1646072544,101771309,-712386761,744077944,771819442,-1447431032,2111261235,-293567148,-1380978916,1036133807,1981856658,-1778402405,586675358,-521289847,124981350,-1937782992,362204650,272248224,895178179,-824568156,-2035417177,2018434626,1978738976,-432405382,1796631416,1453036892,1989497746,-1630782900,1167857133,384781307,-891516364,-680188108,-1190948684,1379901512,647584514,-1794032154,454224140,1605983620,772360787,-893142789,236021,-1152712743,1293768062,828194850,1629554272,65710084,-941957186,1345164414,1866809661,-23247673,2037033975,-1866003038,-741988232,-1966036646,-1713453408,916770958,-2011215263,303402756,-1160376508,-880828556,1821970764,1464512156,64522002,-67204772,-865464637,-1101072084,-1419992940,1437946338,999009232,1029430864,1042018601,-941631265,548284197,906843913,-561285603,123404337,924771754,-2037903286,166637948,-1549649458,1155892563,1154750332,1296916871,-190940996,-1835735927,1952134919,670806159,-1544528595,597516666,-1604102459,-1691400945,-1904739445,-254741803,10191284,193885011,-666080132,-418516486,892041749,1732999734,1233221657,-1624256916,1173831406,-454820161,-1047074895,-1319803618,-1566304139,-36210166,-1849739109,1786723639,-98765822,-1321763609,115031728,1948080279,-1443129351,1141848368,-560336185,1333142958,125605003,161057558,700780121,-861135229,87641600,1836723657,891234918,-2022208497,1260813060,475737880,748888292,971040813,882902965,-1758196722,252547896,913463972,-877147594,919161748,779428994,829471988,-1976736654,334928026,-1385931456,-1109968063,-1188375085,-1996789538,2062751267,670027410,-915533942,-1691213812,-30333587,-299586196,1276245532,-10017143,1587105942,2003218349,-385130186,321273614,410544969,380616872,-1846830935,592846543,-350722974,-369604833,-472730927,1989574443,1993419010,-1518710519,-911131334,-1763090360,1130619109,1933280229,1764235079,-650861617,-111156938,135515805,-1507487978,-1341081370,982406434,1943073947,1954969588,-1039562229,-89120087,-1080918527,-279903913,1769308260,1191427452,861222319,-1613224943,2025275833,-1760255466,-229977962,-361855160,-872455390,1244591451,1109331664,1107828611,-607463271,-117351174,-1058905609,-904758638,-1494996303,-486917326,-660169184,-459068588,2002971920,702961585,-211168455,-2053341074,212996691,870761325,543248456,501341875,468447977,-1893517501,1314840343,400436016,537996103,796657438,-1745741775,676405885,1109774158,-1454660912,-917520489,-1269573762,-770367090,-1173575617,-706786408,1481766464,1069708889,1037883412,-624131626,-23679522,-1571387458,-225233261,-1330311078,-907066581,-434262600,-1592315588,-1347750362,-572223879,2008450540,1793156454,1554134235,-2138997,-2101508925,777047047,-336780103,1023700921,-999950312,-1407016241,870388963,-641028746,606942201,1953730808,-1928579400,-115195311,-918261610,574298565,1249134426,1911707877,-2069936004,915949639,1848362080,-231603186,-478693511,-787680442,1599972991,-52905967,1127954186,1329212185,-1037330438,1509289467,832979611,-239450371,-1848195071,464302341,258592075,-1951813351,-1713824401,813607708,-1444442768,-792870314,-331484272,-1379967257,-1819853610,-811960876,696134154,768378006,-1528966990,730408129,1900880840,-556728588,32306978,1482354517,-1195159819,488910322,847717978,-921888813,1497713946,1869213242,1606195338,1877618630,1974080290,-638050534,1174487775,-1023469994,849873593,-1417196359,-1951536200,-1641097669,1504195693,394541010,-2025302481,-180137477,-289531774,-502752804,-1085485517,1740048275,1935733102,629350229,159991449,789430733,2029549156,1600091904,-2002455925,-931310733,261757686,655365148,1346832085,1249942789,1809099609,-1723700317,997515501,232307403,1731448129,1172164249,1928918068,513339018,-2044951426,2126163371,362827574,-1824441532,-701494726,471215184,-872122351,-843647544,506838585,748217414,1820320007,27146592,181100967,1107835473,-1453483674,-14522374,1526432710,539956054,-1383105874,1856051562,2133665773,-1023245765,825445363,936632807,1123100561,2074021414,1429728750,1686515281,-240045941,-367359332,647693265,-2053730642,11435664,852760547,-1316814550,-1653354485,995312524,-225647088,211853823,443971022,-275263136,1792080606,-1831779486,-1410381967,1773339463,-486008757,1927221576,-1313078336,302559855,1605635605,837758244,-709835896,-397190061,233912532,1357601508,1760083066,-555328373,-315449645,-1030063443,835826215,-298269992,1671304044,-1366337187,1113605852,-1856741288,533237537,-2019360145,-1649332928,1157774872,1051605668,1727468430,-1800338707,1351575436,16725440,-449000078,-1302574080,-2034001701,-1447097052,-1030732783,-1218212188,1277488542,1277520657,-1789910021,-1798443827,1546022087,-534272364,-2083215556,621010989,468586995,-1120665965,196581826,-297489466,1746493835,-1547545045,-1385260178,2058504421,1485857275,1185650650,-768101991,1142593448,1665622126,19400900,288923214,-2074754282,156294909,-1035020418,-844822864,-310932582,-1299706534,1722377381,-516569227,-450506471,-1718472317,1749053893); +/*FRC*/Random.twister.import_mti(481); void (makeScript(14)); +/*FRC*/count=287; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Int32ArrayView = new stdlib.Int32Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var d2 = 4096.0;\n var d3 = 1125899906842625.0;\n var d4 = 4611686018427388000.0;\n var d5 = 36893488147419103000.0;\n var i6 = 0;\n var d7 = 3.777893186295716e+22;\n var i8 = 0;\n (Int32ArrayView[((let (y) (eval(\"\\\"\\\\u5F83\\\"\")))+((4503599627370496.0) != (8388609.0))) >> 2]) = ((i8)+(0xfa82cdfd)+((0x0)));\n return (((0x9aa2b8f)))|0;\n; return ((((0x784210dc) <= (~~(+(-1.0/0.0))))))|0;\n }\n return f; })(this, {ff: (function handlerFactory() {return {getOwnPropertyDescriptor: (let (e=eval) e), getPropertyDescriptor: function(){}, defineProperty: function(){}, getOwnPropertyNames: function() { return []; }, delete: function() { return false; }, fix: function() { }, has: function() { return false; }, hasOwn: function() { return false; }, get: function() { return undefined }, set: function() { return false; }, iterate: function(y) { yield y; print(s2);; yield y; }, enumerate: function() { return []; }, keys: function() { return []; }, }; })}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mta(504321591,-144984791,1916196558,-1091447989,-987265922,203050044,1489201998,-1231460195,-225626816,-1535573329,304240218,-514893175,1822280595,-453946045,-1769417217,-839951517,-1117291363,2057671773,1134795626,1799718753,-1455293926,-1076032849,2093140103,-1986598949,-1579623775,369601653,-1748771078,1247715938,1259733552,1727535884,107278843,-1659097992,476627007,-1210395269,-1824231648,1483764368,1600882086,194887792,970132002,-1817192430,-790378964,308046930,-2106226643,337056210,-602907997,-1406050196,-1591739846,-1993087557,-537859698,-853495716,-1073035080,-1614727238,-4920143,-567105120,-1673531086,-882099371,594636469,1497403302,1769425676,1214370243,1321120612,-1857518546,-1460257541,88363098,1514353374,-1722874388,-513381802,545582397,2079303693,751897417,272358574,1146742826,-798868031,-1029600943,1178767647,-1467335179,1430886222,-811655348,614197345,99209937,-1996419376,-1729147381,-598353124,638147347,410014786,883282946,-809450451,935093527,238483247,-939359707,323065044,-1514504710,1400581270,-680936484,402566430,-2119517695,-778833348,1219226162,210842476,-467171164,1844391985,-1692523312,-740018686,-355147121,767716626,-1920078588,-1930874921,1816553262,-1514518934,-345765281,945863645,1385004755,1083905465,1361133750,-909000691,-321172178,277915697,1934820578,-1118399278,-92948993,-378776000,-258720982,1719958869,454276659,-1873305186,821729542,-1865066399,-1468331300,-140912890,-581939967,-1108586465,156849630,-552294521,196660167,-224191396,-69055110,1071675664,-1732532475,122963030,715152139,995940912,-1861813602,271015335,-104174207,-698839886,-1173727962,331550613,-509671411,-1089223474,1815714763,1700742637,-1134558473,-1594978405,608535309,230862101,823428512,1768011467,-479495110,220424257,-1140929537,-674901180,-1149429421,567794573,660895957,-1765146726,-1546629419,397550191,1562377164,-1789998756,-419161992,1613782738,2046762640,-1967838240,-1623831640,-107030619,490930713,340564960,-2041257087,185890149,1614813097,-1427017750,332777878,-112748372,1575439943,122056703,32808387,-1451140389,-1501215423,-1268535400,-871825874,-1583211532,1094016559,-1878096394,-1770347886,805438512,-1347897493,-1479479568,699226491,-882217926,-1197601035,711326987,-534205478,793570225,786029784,-2046936996,882420177,-891451889,-1105053969,1882904086,353965437,1769421080,1547412591,-126616822,-1169286069,-2054830089,2008429809,-1661246713,968908237,-1011121284,-297244305,-2057223771,471997723,-1058048487,76030545,-314157112,-261020225,757605736,1390425447,-1408639634,-281951455,-134540087,-666074148,1772454790,781181928,-1656995885,-211716407,-1719253503,-316677660,-1100995041,959683545,-1909719630,-1957887977,-750603189,996291798,-1069365011,-1963182041,-380920774,520942027,1702378088,1733147218,-1965887490,-449871329,131510418,1824107660,1748281820,-189267412,1555507026,-702139552,2117666596,-1768052569,1059736370,-1031086179,-783718099,-1946904578,-709980822,-659307625,-740157240,1277972314,1048205932,-235704112,-678814713,-273291336,301558975,-1366811380,-339182900,1955177998,887321435,-1734313417,1469811551,-2124459596,266700082,1879629686,-161332908,-488480743,439161086,-898541672,-980112672,750333948,655150482,-817025492,-1611486528,1586493269,346370591,1580783048,1645759037,-732295626,912170618,-1970754954,566941096,-565204403,-722462429,-1011198506,735219440,1590923593,-2011572528,1067631923,540161994,-765088998,-1881809846,-991066778,589293866,1368070159,571996834,136571218,-232669407,1246446400,745781739,11957149,-2129823169,518143120,830052789,1626143656,-408796913,1999163815,669467257,-1372924827,-794675137,612118454,237674923,-659302826,2066324996,-446573910,-1207836875,1629338759,-2069393767,1207552288,-804479266,-1277877370,911597646,200254877,-1449656293,1766109472,1095235154,-1526576887,268235897,1616364355,-379096460,-1318843853,-1378676293,-966477881,558927305,677106756,-727041907,1444206526,1188772520,-2094852300,-19819585,1028553239,-1614940407,977778564,3316428,-1954122729,-1898639650,1512032385,1688497527,643547966,-1834163179,-1884223837,-309963549,-379658877,-1664921400,472000821,-881375041,2140160133,-1815175769,-995970490,-507379508,-974971730,-22134080,2143237741,-1531030940,502400305,-1494427098,-40042656,2113034052,-217794795,-1341006233,1590031928,-1396499748,-1289328822,-364619468,-1210378179,-1217028163,-367178373,120983667,-62629477,587922616,182450974,366470576,207396883,-2116540510,-721905842,1644713206,1164433471,1712703511,1397685576,-1648425245,-637552330,1130254600,-1366105153,-1440892508,2090675465,881078128,517533801,6446043,1815469350,36186354,224147831,-2034247380,-1304659462,1499677482,-252035426,-2092047920,1825490899,328503559,-840140954,1560780546,1321715008,675125223,175556636,-1893187467,-2018403230,-153338579,-37198785,-2026162968,-1735803531,2107600094,-1613669640,-77641544,-1712430961,81508632,-1534063606,-2109443373,488698517,-1743401364,307779491,982942002,467474399,-2130807480,353060977,1555527647,-105541264,-1741699948,1530322080,-1657328949,-439729403,-1996686901,-1555824180,-827670121,2076928991,-498876073,-1516589513,-603387469,-646955632,1480205969,990458298,2007076128,-1754763617,918764321,-1075834170,215401419,-274955096,-1123471420,-744581717,871431750,-1620038696,1177694585,1250843261,1776587932,1107313998,-1163495602,-1645739211,-8775227,-971260774,898575170,157682533,-409344951,-108749580,676981899,-386330214,4040843,1214422777,1446876078,-274848774,1669592282,-1558146058,214264246,-1874390660,-63050314,-1596825846,314630993,1193975743,-517987584,-263080974,121935757,-49619680,985204263,916061992,2135205939,-177470613,79136275,285030245,-1009661382,-1366511619,1655847380,-1744420539,-1449765688,1239467267,1220773238,-1148030397,1593297272,-25867727,1817617345,586175177,-182871669,1287066699,-833084442,-1036540812,-1259677341,-1924354599,-430284661,1233699830,-1119648481,-1740499747,-274060279,-1521603907,1873158801,-2100313680,612785473,-397227115,183021061,-1300856727,-903219090,884095358,-687396025,-593175559,665079704,-299796075,1842856271,-798381633,37792968,781181896,1658177282,1030949187,-1930390708,2001021199,-1066543178,-1423607828,1404265855,-1594472025,1271258435,1770426479,16864586,-126274644,-2019459653,-2144436524,-461481429,1373474194,-1465591572,1985713982,-724746049,-2118916088,23584813,-506641832,1737031036,923410515,-2000936601,1137808069,923584790,-405687990,-985340393,782010734,-2091086380,-867175162,1684036631,1171557307,1855467798,-126744549,-801655995,-389580783,-452604458,-150680491,-181041785,1706517161,-1079847447,-1402206339,584555850,138209518,-1682741597,-1901296546,1219630438,2127207869,1279994252,-1217049221,565348355,1273938658,1558904192,346897015,2147438309,-1756403183,-49743102,1970149475,-248621410,1840316870,2145557895,-904816252,-979524985,-1291821159,1569135280,518507736,25629992,-755517331,292344230,-1257904260); +/*FRC*/Random.twister.import_mti(119); void (makeScript(14)); +/*FRC*/count=288; tryItOut("\"use strict\"; testMathyFunction(mathy5, [-0, -Number.MIN_VALUE, 1, -0x0ffffffff, 0x100000001, -0x100000000, Math.PI, Number.MAX_VALUE, 1/0, 0x080000001, 0, -0x080000000, 0x100000000, -0x080000001, 0x07fffffff, Number.MIN_VALUE, 0/0, 0x100000001, -Number.MAX_VALUE, 0x080000000, 0x0ffffffff, -0x07fffffff, 42, -1/0]); "); +/*FRC*/Random.twister.import_mti(151); void (makeScript(14)); +/*FRC*/count=289; tryItOut("for (var p in b1) { try { Array.prototype.forEach.apply(a2, [f2, (new Object.prototype.hasOwnProperty(new RegExp(\"((?:[^\\\\d])*?)(?!(?=.){4,})?+?|$\", \"gyi\"))), g2, (4277)]); } catch(e0) { } try { print(t2); } catch(e1) { } f2 = Proxy.createFunction(h1, f2, f0); }a1[({valueOf: function() { print(x);\nreturn;\nreturn 5; }})] = ({NaN: (p={}, (p.z = this.x)())});"); +/*FRC*/Random.twister.import_mta(-1468362411,1825345239,-1976764055,-481565283,-1829392048,1315561809,-953951058,525554359,-1736782656,-726782514,1884333229,-1407712226,98761153,2018599812,-2090717081,-213966367,-92108136,565417582,-1063276983,378066431,-876999425,1641418160,805288648,-1870160219,586242171,-2001989971,165779170,908038175,-24085792,-952281312,1078580092,-16693465,-2003627394,-964003867,-343300822,-647364610,-133790713,-1680690695,-1856089732,367955912,-687903535,1668103281,-739907482,-1277483882,-225919940,-758411314,-1062096745,-135415125,1959268237,1519641966,1413319682,1714205647,2048007329,313036614,84622341,1352647441,2006358899,-1450406067,1492261691,-1348231047,-1411365925,64581429,963199986,-815638472,-1455608639,-1397080936,272301009,-54181304,-1268185919,2143052663,-1253795190,-2013620962,1203267249,-151045221,1657875085,-676469661,-196011507,-122307927,76313199,1119008273,-1611575897,130971922,-2012456936,-1231135377,-2017793740,1100139276,80559822,-1415782390,-1267729752,-1371984349,-346447351,1105492672,-1018311564,1271070212,-775982298,1056205488,-1949575453,1707830636,-1858906204,-482721423,-1647836396,-1781533001,1286643346,1143068120,1106012477,1046217780,-2039316379,362394808,296773840,-8262890,-2032668514,-972975568,-570645712,-1185425718,1720750578,311504637,-1759171188,2082042813,2083793765,-585072664,833280150,-1568077053,789780869,1457265079,-1509423438,-46874834,1993201575,-1898614264,-1156087276,161921846,-2036658533,40385151,1368946917,-552866139,880403787,-491538025,219641728,-1409282526,689354727,1913147273,-1974682369,-174242995,1304382858,1640294492,-277632262,448843643,-1653273177,-2003908320,867215043,-1945936463,1763297329,-1532479907,457431270,-1649849699,906338584,-814895944,214349662,1399429043,-206373841,-1416675820,1871924122,-1706018714,709674258,1084301966,-1587148838,-741280606,-688468406,-1928980203,-206802200,-1805224638,1830945498,-1375843044,968930026,822778802,1444600283,188853725,2079294279,-1156942063,-1641899176,-1648060782,171669006,196019520,271230646,1609523511,-1217497264,244617318,101050233,1045531611,600896684,1044987116,31463379,-667881026,-1543886504,-1123758130,2044208959,-1495403777,-1469481269,-1709710348,1764471000,-286403824,942193923,1428005796,-1715443150,1246562632,-1114736246,-265463212,1902962387,1504699144,-664078205,1750163724,-1548199777,1137095520,1398854891,650291238,-1749175612,1717262274,-1470521345,1581210681,607985132,505787018,1679417803,-453504669,-978621137,925122252,868719213,1207485202,92097808,-1099005982,-2107842664,1759101906,-1888639885,-433622893,1496191141,1354068888,-1353460,1303469855,-1574838980,-1234696323,1770617133,49743640,-1526770864,1942739613,-1366410358,1135304241,-37406046,-1271242668,-1073340987,-117042741,1383125145,714526007,2065231733,1629093938,-1091512085,1039909388,205754633,-1865684663,-332509552,1062555886,1833378731,-687458329,2127014132,438673763,-1668041727,-1831746894,1854136557,-122725096,1945675877,-910016025,1536459801,556291770,-1006512310,595376828,-980451000,-1252684303,-1918277204,-139393281,-808752982,-1493632654,1719868181,1038147128,715972861,1043995823,-1192868926,981472012,-1934351231,976768587,-100714617,-1201265390,612366371,1989154450,959255373,979830033,-2086250884,-1203868144,-689420973,-280605700,2063087180,-442372002,836104423,-1261905153,-1759374992,926445045,1640799256,-262278811,1047292143,345336202,1803576220,-669277310,1706605473,-645682035,122905015,-1766779803,1166229413,-1529523839,-826719830,996054658,929736498,1926737865,244671624,1123659889,2075427792,2070340478,-597118276,19973888,-338249855,1617623908,-1325115734,64348958,-1181344356,824463760,1989229709,-2065418632,-673551704,489289718,1986351144,968239039,-1502905643,-570621767,1526657057,1345852386,-839545254,1177774811,-1726432602,1238624111,-717610301,1216844383,479906350,-28581740,1488183359,-424415298,1123152789,357935659,-1774267151,1436568307,-1891305070,1568144148,-838256926,273499584,1598808509,1367422339,1136682097,1930650148,380955912,-1504841244,-1087508547,-1186433742,-1395098617,1703355985,406494547,64939502,-1227011047,1405140602,-67084314,228258731,-354447357,1129424549,-286075930,374270289,1115626932,152891860,1247344858,628345867,-1314663672,1916771580,-203195162,850568131,-991050488,2045953780,-1010627645,1601104264,-2109465009,1674868955,1071047360,207976108,707560711,-1574368076,-1861646131,1741287426,853061066,959226171,1534513173,656339872,-1325731555,-772941933,-1834153547,167094518,-247772663,1804885642,-2047949760,1160018532,-1196865684,-1389600536,-1729079155,-1623426485,139158856,583327957,-1578135416,46136133,-2127639229,-817133363,-2055614335,947836887,1236410825,950765207,-1126049721,128483161,-913428048,-1254177233,1344718762,123534039,160810873,1609095107,398579860,854686887,-1931244179,-1499115796,1740229744,-568853309,-1774636040,286066791,881503779,1335311218,-1312580009,-1538033463,-1910782153,964058485,-1966896710,1684462447,930416004,1928881695,201258612,2144368679,711175490,-1829869398,1435758271,1596593058,964412212,1899000935,46822819,-251182895,-1687120804,149384458,554254807,1463058091,-1410556000,1381613501,-1874100088,1721138719,1815860222,1911417520,1952783461,-1555976896,1157470814,-1711381786,-155319257,-1470007046,-1764142890,1340777787,1075454613,-1549540532,-368610487,-352965324,-205113596,-1226187983,-1561401981,-947691184,-1413187171,-1276907922,777595310,1166397595,803749137,1167927610,-815772443,37310984,-665712612,502673602,688643588,-1172364911,1930794297,367476799,264794865,-1120307156,-1885741306,358716339,-1736599582,-1562957607,648815020,-1945762757,-1652249147,1672818708,-1409927071,-1386430052,-193549974,-2002375827,762164591,1890898503,-1956068148,491573750,-1096381201,-321015104,504134615,969647212,1731646023,-646165930,452119204,385474836,-707589947,1415564574,-392787002,-1947657086,-1801875298,-1178264897,-1044589765,-2057452217,330565123,-1956439498,-656126891,-870776888,999342448,-1711286152,619094378,-1414677091,1627884093,-2048818610,-2054327574,1564951364,-320750492,-1806183512,-900036738,-1656167208,376911588,-625191936,-405024998,-1216602356,-511719610,-1717504441,1689709158,-2042609939,228041332,724579542,-1327362274,1994783373,92978793,2092135639,-1645592621,-1312199189,953603371,-643309012,1025417540,712419878,151655275,209805834,2019636083,1868477584,2093367394,-974831533,508794371,1501009694,649949838,1838421797,49155652,-1897218184,995099031,624011318,-1414549310,1745353014,-189759151,-1294791412,-1636274445,1681263587,1153902353,1556061601,1385919673,704751148,-1430678224,1230066678,130060697,571232151,345439317,-1738975915,-1409872470,-856030011,-1042042681,656615224,867797024,1812620148,-1706894288,-324014217,-1210267172,-819482999,-1853874158,-881567831,1147806496,1645493012,1559890486,939879007,-1612286309,-326659305,1822924471,1058367572,-1139402171,1654320596,-1196687606,1547464888); +/*FRC*/Random.twister.import_mti(204); void (makeScript(14)); +/*FRC*/count=290; tryItOut("\"use strict\"; testMathyFunction(mathy1, [0x0ffffffff, -0, Math.PI, 1/0, -Number.MIN_VALUE, -0x080000000, Number.MAX_VALUE, Number.MIN_VALUE, 0x100000001, 0x100000000, -0x07fffffff, -0x080000001, 0x080000000, 0, -1/0, 0x080000001, -0x100000000, 0/0, 0x07fffffff, -Number.MAX_VALUE, 42, -0x0ffffffff, 1, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(236); void (makeScript(14)); +/*FRC*/count=291; tryItOut(""); +/*FRC*/Random.twister.import_mti(243); void (makeScript(14)); +/*FRC*/count=292; tryItOut("var nsntbk = new ArrayBuffer(4); var nsntbk_0 = new Int8Array(nsntbk); nsntbk_0[0] = -8; var nsntbk_1 = new Uint32Array(nsntbk); print(nsntbk_1[0]); nsntbk_1[0] = -22; v1 = /x/g ;"); +/*FRC*/Random.twister.import_mti(293); void (makeScript(14)); +/*FRC*/count=293; tryItOut("a2.pop();"); +/*FRC*/Random.twister.import_mti(329); void (makeScript(14)); +/*FRC*/count=294; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return Math.sign(Math.hypot(Math.imul(y, Math.asin(Math.fround(( ~ Math.fround(Math.acosh(x)))))), Math.hypot(((y >= Math.acosh(Number.MAX_VALUE)) | 0), (Math.acosh(Math.fround(((Math.max(Math.ceil(y), (Math.atan2(y, y) >>> 0)) >>> 0) >>> Math.fround(y)))) | 0)))); }); testMathyFunction(mathy1, /*MARR*/[new Boolean(true), new String(''), new String(''), new String(''), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new String(''), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true)]); "); +/*FRC*/Random.twister.import_mti(582); void (makeScript(14)); +/*FRC*/count=295; tryItOut("mathy4 = (function(x, y) { return Math.fround(mathy3(( + mathy1(( + Math.hypot(( + (Math.pow(x, Math.fround(1)) >>> 0)), Math.trunc(Math.hypot((-0 | 0), x)))), ( + ( + Math.max(Math.fround(( + ( + mathy0((x | 0), (((-0x07fffffff << 0x100000001) % mathy1(42, x)) | 0))))), Math.fround((( + (((( + x) ? Math.fround(x) : ( + Math.atanh(0x0ffffffff))) >>> 0) >>> (Math.fround(Math.fround(Math.tan(Math.fround(x)))) % y))) > ( + 0x100000001)))))))), Math.fround(Math.fround(Math.imul(Math.fround((Math.imul(Math.fround(Math.abs(( + Math.fround(x)))), 0x100000000) * Math.cbrt(Math.tan(y)))), Math.fround((mathy0((( ! ( ~ x)) >>> 0), (x >>> 0)) << mathy0(( - x), x)))))))); }); "); +/*FRC*/Random.twister.import_mta(-2002319434,-1362730591,-780016854,302778557,-652037161,-1821696182,122474007,-1634701355,1671609873,270248064,2107137157,1578567807,2030881702,537980800,1304117447,-441377343,-807030404,-1324612941,-259507467,490350120,1918172573,-1764683737,1577121600,1292487779,-1524604834,222489272,-1163067833,-2086017737,1681315017,-1448421362,330749283,342838933,-49188358,2085688812,861677628,-221631928,-435121020,-1001609773,-330168056,-707867961,917099044,-1077164085,1222679084,1305407549,653458581,1217656515,1185748291,1836544046,339718082,-1596108869,-830983593,-1821066485,2074878396,-1871456087,-828954256,-2002759644,522231763,-1595780099,-772574399,-175943162,-1445694686,511628378,-692687667,1457959651,1589277510,-266564384,1767301007,1758506271,-1265680679,-1964388915,627782800,-1762701191,-744831070,-1677379076,295694254,-1478645881,2091650925,770739663,271618861,2705114,202217906,1142689433,1642364196,-1445328941,-1975564110,-241129373,-1557681356,-119990057,160908958,1197480006,-753806578,268423060,543469465,121078914,451353698,1401755467,1893524670,-791960626,-178020187,1743773582,1777363477,357423728,938978003,-1237911888,-1575519690,363343851,1605192175,-1868192886,-1659380398,1707596259,-284766941,-210043811,1058986865,-658607976,1025304125,-1818708,1872896620,-1971384318,1579478451,-742545273,-1795103576,1881649394,1589317316,218658958,1196555259,-2057795253,-568921262,1199115182,1378532495,1335246679,-1939644162,1498548075,1029987087,1471009508,294942379,-2026411781,-1822571946,-566760145,728730925,1154130677,803139249,1565484981,-1457673130,325022743,2143644415,-155861967,-1046026530,1163759956,-1035051709,23455907,520845401,-2013566195,177533257,1299572328,-49642916,-1581738827,130049034,1101924750,-865638067,327110571,-1956109602,1488044285,190883217,-1605301005,520978652,1861343564,-1556559742,-465828185,-67479734,1313330246,-816266078,1644099633,854845439,-1156591783,-1876360133,-593608177,-338477113,869731790,-1962472678,1531849988,1553995198,782770645,-613738655,425276908,-912197813,-1587920140,-1559110396,-1169700204,1998808896,1833450087,-1630833197,-813335969,984902660,-1591507887,-690367487,-1616413949,1728731094,-567521956,2116532862,-1025736761,142777925,410437964,-41954831,-1255132817,-1259558417,542995313,200595132,-2038152002,404935666,311836832,-1924352313,123999094,-599328102,-1705051792,-1202062264,-917611520,-1811733033,1323599040,924300058,887240353,1207118713,-1753573121,1686599474,1023240108,1097239645,-1173005950,1124290377,-913741702,-626360248,1329562060,-132710357,750586714,-1154374010,951673489,1631613061,1924288655,-769188895,-1873522484,1600949235,1802723854,-1057115631,1526488322,493617670,-251188179,-351194471,159614152,-122577390,-2107366130,445826659,-92000219,2105855098,592493812,1405029310,629507612,314876236,304214913,-167743367,-1138887575,-1494948423,-2106415744,-397707902,-1541586205,-1146959087,140104749,-132445345,212266469,1747409643,-1033166601,-1352668010,1793094025,477146467,70597681,-1959690012,7971221,-1884863602,1943673751,-207539454,607194882,-1920674793,-135077603,375809569,-756807535,-706717278,-2139996852,1693893639,1946441821,-1448066929,1659060204,624353043,1395152308,-757235532,1600739448,-1409041432,-1691726343,527665377,-906811905,-1204210206,-460751812,360943065,-1744056550,1586610137,561619362,117174250,-1164801083,666515722,636527331,740595483,-405179203,-237672448,-1153073888,998915390,1911973823,2059579516,-998568991,-1518972010,304223495,-419201155,-732208822,-1215584397,499052145,981792061,886261052,320173259,-599847007,-1593909636,-303985680,637873665,1966826715,1306522296,-1783135158,-1270551156,-906342558,1530713104,1688199675,360054922,388681959,-1842222752,460391916,-614009428,434379868,581924138,831568750,33914052,-600341550,1999923698,1349093540,-325560115,1615963240,1132349229,-1496627247,-1633018556,-716824228,1988107501,-642478181,700642852,1965959166,129015223,986587391,-392549003,-2054366744,1847878646,449708079,-1810788343,1438877015,-2104240202,-469040143,-1358855934,-1161097017,1553995074,729528965,2059348778,1103447308,695235899,1841405440,-1107430695,-180931408,-750113580,1043658371,-2089479193,800623908,-960188238,-438604840,-660120885,1043454585,-2113935184,-300839991,1871064273,864098272,923186233,-1823860119,1219723329,15135164,1757635098,791034590,-181894915,712385523,1034103879,-701197753,-463464333,-2042609878,-1467959671,291294314,761272601,999099330,1999493557,714219201,780403265,1582790558,1278876903,-952126249,1338967448,483421138,2009911054,-415993952,841812513,1741991684,-1256229094,122987437,824708838,-520080229,1679056741,1795716154,452593815,-529396950,82887215,1524671142,21736463,1620180368,-2100296456,1623032466,63760977,-1089714779,-1607631363,-1802657579,-707337272,1811822026,-1533735394,-967823557,-689297510,1594563924,-1114282807,967869372,40849595,1241937555,-1957225819,846624711,-539366455,1548331451,923671343,1635257352,-1709315232,1415011068,-1285394985,-1329461047,-434347605,-971546158,-290518240,1618643493,-1925833747,-158733144,2093667348,-389259087,-1071587579,-942582735,1617969101,1464421303,-2127499810,-153068562,1644865626,-1101644565,-525862259,-1989148746,92059067,451292382,-699098765,1375628808,75092583,-998150673,847334738,-1078721851,1358860422,1797765838,-799166778,1048556135,-539212607,1779329448,-612150601,-1083711147,534190705,895378758,714555568,1185127922,1304052961,1141792485,-1936705386,-1143340140,-286830178,-51194080,-1748095759,366807363,518331779,-932467699,-1604164975,-6293261,-330159183,-556612415,1761170399,-1045659620,-1556180837,1494480205,-690201214,516788402,-1453327052,1712204519,-1011751408,545439093,495861071,1418098204,688357656,2047686364,-2016436273,-1243590371,-447938348,-180334416,-269120330,-1503479452,-232511083,1792735802,1686974435,1287071653,2138617413,-563290040,-27856737,-50977595,-496436826,78642933,-582417724,1715625350,2097777539,682746057,1218799088,1291658839,282252320,-1513765368,-1158102808,-2114225855,1469384613,1604957826,2054633296,1479471033,-245291615,-753714703,-1235254154,1455082914,-1595691225,1065650059,262089699,-225493834,-597535479,1129173919,-2031768478,-1900286111,-1334060461,97273430,-627244090,503656422,892857674,2082481544,615247485,-1618426450,-629722409,-770948972,1741083372,-755271428,-609504098,-1788920589,-1972335522,-1913347069,2055510545,2012683215,-557723609,-312326608,1740043237,308757974,1322114148,1271586050,-588947602,-1206852528,-237128447,796570462,-493552808,852942133,-250883865,-1168290918,-563889860,-968299183,-1552601711,-369302049,-723427463,2089546734,-1833685827,1141152357,-1499027668,-896079676,137479993,-1907065345,-1058551232,-1658137508,457182275,-1872278846,-1031585422,-473237216,-551840189,1106979274,-1232399856,-1577238613,2080465725,-1477902395,527189398,-272572441,1584090164,-377651336,1147673519,972074908); +/*FRC*/Random.twister.import_mti(415); void (makeScript(14)); +/*FRC*/count=296; tryItOut("\"use strict\"; o1.o0.h1 = a2[8];"); +/*FRC*/Random.twister.import_mti(436); void (makeScript(14)); +/*FRC*/count=297; tryItOut("b2 + '';"); +/*FRC*/Random.twister.import_mti(445); void (makeScript(14)); +/*FRC*/count=298; tryItOut("m1.get(o2);"); +/*FRC*/Random.twister.import_mti(458); void (makeScript(14)); +/*FRC*/count=299; tryItOut("mathy4 = (function(x, y) { return (Math.tan(( + (Math.min((( ~ (( - ( + mathy3(((Math.fround(( + x)) >>> 0) | 0), ( + 0/0)))) | 0)) | 0), mathy2((Math.min((mathy1(x, y) | 0), (y >>> 0)) >>> 0), -0x0ffffffff)) ^ ( + ( ~ (( + Math.hypot((Math.fround(Math.cosh(Math.fround((Math.max(1/0, (y | 0)) * y)))) | 0), Math.fround((Math.fround(Math.atan2(Math.fround(( - x)), Math.fround(x))) ^ mathy2(x, x))))) | 0)))))) | 0); }); testMathyFunction(mathy4, [0x080000001, -0x07fffffff, 0x100000001, 0x100000001, -Number.MAX_VALUE, 0x0ffffffff, Number.MIN_VALUE, -0x0ffffffff, 0x07fffffff, -1/0, -0, -0x100000000, 1, 1/0, -0x080000001, 0x080000000, 0, -0x080000000, Number.MAX_VALUE, Math.PI, 42, 0x100000000, 0/0, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(408883784,-1935611418,1447988139,488202173,1491682255,-137441587,-1379037961,-1611385246,580897409,-1992254244,-397130882,1891399988,-684211433,-266726108,-1224714771,272504752,649780774,-748574844,692698128,356366603,-1791714463,1579709766,1586258549,1988390730,766050662,-1633368213,950946158,-270329708,1312149153,-778537375,-206640635,-1135035387,513083492,442695247,-2039918463,-752535617,1872970467,-1543510196,-1743658890,-4069620,1086159873,-1298503028,-521874027,937732700,-2064529406,-1204720955,2092813956,-2125935292,-1156554555,569197117,-1929689887,1255672817,-263630717,-44662824,268923630,1710920417,968593896,401434836,-1126774575,-1169870159,793108488,1063624020,82969862,1402465719,-792582463,763559965,1790030433,-482406274,-1959453298,-746227818,1688158989,197643147,-262889451,-1469575846,59350186,-501087534,-1793664282,1195663418,1374342501,41885374,2139609724,41120704,844214771,367080671,-1962975712,-2117174436,-618950957,-1692932210,1237214603,-234112208,-124254561,-1762787998,918923015,669306497,-160586104,1976841918,1818988290,1864980507,-936514477,1125635147,-162252264,356337991,247886363,1341038744,464980775,381449913,-137549514,-1562786536,892967151,-965573231,555306733,1706642940,1967967489,291151427,557813604,-561058814,1664197350,900407318,-1873487383,1460555547,748007013,106563194,2089355931,1030738669,776250727,-1975092867,-1761815193,1609065006,413210128,-199910934,-1619310256,-482889029,1734463191,-289784369,1157620970,-1208479308,182805133,785879023,-1077797040,1403962691,-772972925,1770479016,-132716003,-296787888,-290502512,1879156559,-949285214,47668886,1480670671,-1055388842,-983780389,-1506410709,2123635853,-807115633,449299316,-171985293,1986906469,534293342,-281833343,170605196,132082711,1088075550,-898767559,-916231156,-1178401849,-1578648046,-287640102,-1486870429,2032584133,312184603,-1781012145,-1529172643,453481181,191561749,625725772,-1960313392,-1961820645,-567791341,-117953935,-1541372287,61342774,-835083906,995852601,1662589789,-1110481078,910040423,1329897628,895250372,-463048466,1250448728,1188751776,-1400405245,-1495023191,284205447,-468856725,-2104558836,-1790218956,-1586469885,2116969069,2117915244,-439910023,1935017822,-1088726138,1372244117,-1927113982,-1554199438,-908801381,1142992576,-2027987537,1598628348,-560407065,895709454,-582470022,-1632649386,-2022844640,202552439,646540202,-1392456803,579114020,-957331874,895288165,1831861775,-239178703,-405751099,-193473607,-1126101804,489954209,1963610732,-348182272,-213009567,1263000080,1165070476,849006426,73729130,1067822842,-1836779602,-1049971526,518698584,1158006835,1849797312,-1654375515,-1179233042,-1313525383,-902105163,-1751095840,353465113,1410313100,1098205327,-94184053,541983816,1730949424,74876089,-1939471259,835459528,2147176843,-331528638,379468938,970205190,-43913531,1789964965,-781914143,1118864854,234974582,-895060077,2091131233,889912796,1207748520,387091018,1591927447,2010395643,-1393130341,-2123822992,1627720400,2070835011,1638756432,-2101282492,1945486780,322018869,-1473655904,577950540,1294781263,2063031871,633572423,-758627532,-1259867099,822499401,-885740217,-1529462946,384939918,765248860,1008943499,-960234699,-115435970,-1140799794,1590571614,-685144193,-1581135480,-1219087042,130165766,102027046,-1194009205,16018271,1717827567,-959723933,-860585580,-554682825,-1466231745,124612220,1607585104,1872015212,-1273841697,-1214380514,989548147,-1985960168,1259232722,-482907414,-1742337131,978675193,1094335109,-1299223226,1032678431,1726983218,-1027407439,1008001084,433692131,36162444,-528296199,-793001148,535202658,1424229597,722700073,1982423343,-1107609957,-42587789,809770420,1008823391,-1949694105,212481083,692798418,1679521684,160613364,540881158,-258658837,413898271,497017924,1058030928,656842031,-1809695444,-1942547123,870057017,1473036867,-871621682,1066700399,-1038242187,1702851025,-2106464236,1887058250,842985269,-1577984433,276037420,2060815623,-671114191,1141990336,195856726,-975520056,-398270511,-1748763137,-1078111198,-449695691,-985038968,-827473194,1663025874,1189177423,1084049169,2018297038,837036965,118145224,1575914231,-236340807,1576420564,-1123430045,-274932018,867167120,1989295421,-237445531,33044022,334213500,-2058058028,-797504779,926717382,-921692974,-1918717238,-1233869955,1296434555,1800636741,-16784583,-1601603865,2129614249,-403000632,-699434682,1137010208,-1426887393,-1763608527,697213470,1382649516,1991416718,-1962197682,-1128416614,1957612490,1555825653,1836134068,-2044133171,94644919,-1889888941,112605254,-18232477,-1876249519,1582231251,84879761,1306615492,628399002,1886938367,-1296564583,1312537852,-1946143408,-410843979,1316236452,-458259707,50906647,670408305,-683386216,1144823075,1880272071,-1556104321,836744229,-1789535584,-1519810882,-1242706390,1525088164,1519006913,-1032323448,525520802,-1340522527,-1171630553,1832075425,-1805594337,836510300,-1210925523,1569978379,-55535231,-1912924229,1959679373,2106112111,-147678293,369222277,-1670861680,444092076,-724277447,1043687128,1291822416,-1458862867,-960663129,1751444841,676993923,-1404656804,1167965916,355567415,-329158776,1066793540,1492024544,-1903359890,1276547042,409101686,-433235990,696942475,1633059943,-1694104992,1047304089,-2103167740,-468104154,73385135,1473611496,705310638,-1602703819,1288903890,1235810113,-1408503088,126341638,1478473589,457887022,-369641110,-1015958578,-1912249743,1102371811,1258261376,697387608,162355307,2115576380,1385118734,-142658354,-967636582,-1466633785,1678226914,-1663803205,-447722358,1163776656,44340034,-2051329059,-1888086970,246260358,-1649505427,-1605891393,-620102171,-353608113,1839190331,-2126636554,132120146,681607431,-70950821,1676798214,2146983583,745058868,-1383485657,-700772397,-462984820,-405239789,1937355323,328923813,-1079556014,-1059644398,-369248697,714557700,964924554,-642815764,-600694311,1903512626,481657263,329171649,986597029,514456715,920028396,1130837954,-237663762,-983929887,-476026490,-1275590264,-1654934009,11990967,-739218639,1669014462,-862598117,1123442648,1769647453,1778102709,376516702,-2128499124,1839438470,-601219726,-1903740865,-1098260310,589524508,-244236222,2126991220,-1501264252,1135125448,869315959,1510696272,-2100329451,804869073,77988959,1907209813,1853656370,376305966,1257457504,1199903626,-921742494,-332470553,-1283047532,1862215414,-1979918685,-1263760019,-1884505860,-1958589697,1461507960,400261556,-1887211016,1283165444,-1691097256,-2143107682,1968905836,-875604205,1683482212,-1251182052,-118349471,1167168085,763368994,683654584,1037426101,492452645,-692859186,-1147684100,1797232472,1420779463,-635792501,-1010039593,-1852154727,325267194,1772185501,-407929937,1391348521,125256109,123577755,1627759315,145635444,1285728734,931072948,-1111467269,-2035927527,592080358,-650050201,2046343879,-1871760307,-502811401,-1398341693); +/*FRC*/Random.twister.import_mti(149); void (makeScript(14)); +/*FRC*/count=300; tryItOut("i0.send(e2);"); +/*FRC*/Random.twister.import_mti(161); void (makeScript(14)); +/*FRC*/count=301; tryItOut("s0 + '';"); +/*FRC*/Random.twister.import_mti(170); void (makeScript(14)); +/*FRC*/count=302; tryItOut("{/*oLoop*/for (let lpgtey = 0; lpgtey < 4; ++lpgtey) { window;( \"\" ); } }"); +/*FRC*/Random.twister.import_mti(252); void (makeScript(14)); +/*FRC*/count=303; tryItOut("\"use strict\"; /*bLoop*/for (var blddpe = 0, b; blddpe < 103; ++blddpe) { if (blddpe % 24 == 1) { /*MXX2*/this.g2.Uint8Array.prototype.constructor = t0; } else { m1.set(timeout(1800), x); } } /*RXUB*/var r = /(?:(?:(^{0}\\3){2}))/gyi; var s = \"\\ue544\\ue544\\ue544\"; print(s.search(r)); "); +/*FRC*/Random.twister.import_mta(2025791834,366299074,1103849031,-155617512,136100518,1494158997,1718925615,-1708205261,1913837024,-14607119,-991721984,-969041250,615582055,-1342589795,-835319019,385435044,-1494595951,1376970318,1837082425,62409022,828036208,-1287542668,1990420833,866130729,-433932395,-287253970,2043293878,1913807583,1447530330,-1364465287,596340184,1279410725,-1278455415,1299726855,-1264142813,-1630814871,-1296021287,2111259678,-357226202,1547667553,-1398736020,-1281612367,24666607,-1072751991,-633157089,-834152285,-1165086587,-1447837668,1570685150,-1364643597,1270221578,-54533995,-2112117139,-973558068,-549737438,1632989339,-54251583,-1855834574,1480754455,1306181288,-882464365,1011639387,-63118508,409085778,158613878,-1003191162,432378812,-371446373,744424727,-25782674,1888107154,-1632167279,215644749,-817248709,2097647243,1391003653,-2054199305,-1736988186,1617496888,-1530532002,1062547065,42229026,2011260566,18901951,389200710,-561031144,-302817806,-1325097272,1890396889,1229930816,1290874039,-1703554007,-1850729807,-759076306,-1180981103,-1204771344,-282540239,-136196746,-787345246,847725927,-1383123392,-857426468,-796367742,1384135894,985823812,1608589689,-843546057,650391586,-9691001,-887061269,-1217948381,752402969,-1626841736,-1926148897,-1894810434,-1433326442,-264647100,-54719216,1941016228,-2002937409,730694202,1552504265,-464605009,-237847309,-1337770411,2147448139,-1177600316,-398990716,-573422362,1019483795,-83258585,1428103142,1854059050,-1954397134,829112798,-436628205,1472995268,-1009570191,-2119524788,-1387553231,1734175765,-1613921420,1770933411,1098981540,-1569762118,-765456705,-2077113174,1451771838,-1821111261,1727881013,-895174403,900912552,-578707162,-2114572895,-517917634,-1958414032,1712841754,-1193260863,-1003212022,-146498478,-62437635,851016316,-633842004,-422944992,-1585275061,162149785,1815880298,-1506577931,-1550466523,-907534040,1235903076,-76404128,-1743047542,1661492979,1810854874,-890423556,-1125126346,-1561217427,35102973,-1376066308,-1801785557,-1436920139,561572818,-1437909304,1304102544,-1394599247,1303568538,636008899,-356033708,1863776724,343447046,1245418901,-1540620688,1623265273,621845474,-3552122,826450879,-1550969924,312377108,-2091594277,1149165082,47683302,660478555,-1123617923,984740193,-1454536107,-1207253781,1498094303,-29438873,-1524109098,856743706,-922001262,498701442,1153542717,-665038977,1916868358,-2027491995,501277644,336013467,2120641430,691632577,-2103579871,866248922,-1697913916,-836783577,898959864,-1776036107,1293989338,-176477523,610831183,-738082978,290577675,1530760352,2040950354,-1821597468,312971197,-1336653859,2137641670,-249737218,-1291082646,-215834902,266609526,-353595743,-314936223,-2121076963,1199076095,-1173725786,-1788671382,-479810992,1161130489,-1466701398,2031682936,-1241065782,-549508948,1141686782,487100703,-1304298118,-2077021595,-1609389144,41326246,740294892,-1280966504,579876479,1436215478,1733442288,-917812494,1471597892,450444024,293506195,-1911843971,-2135187791,-1430237321,1794662365,-1973909331,-1462518594,610542080,1043943222,1604513498,-1383691981,1032155925,1636544780,1423104734,1211191553,1069507852,1357490889,-456105109,531734791,-2145488300,713164533,2066084686,-1576310249,1979386473,-1707808799,1990363795,1530945275,2092949971,-1512207119,862661777,-1648526078,-1984388009,372982603,-683752029,-393978901,-472570051,1845953058,-1389612552,-411871136,280873169,894306964,-186610266,1525639344,-750277472,-631305324,-2005634277,-2137052227,-1514758196,-1922219165,-177962710,-2093849974,1451105377,-508117961,32675990,-432351762,2060237087,-151902032,2019281665,1524278469,-495160335,2141063021,1544099785,-258196322,-1120448042,-1202551521,-1785033491,-1579403566,1669436395,343748137,-1547553590,517306835,-1681834878,-1657809828,776821396,2144098118,-17417114,-483053640,-114659092,-2104719575,-190924733,-1670387958,1453351249,-673926892,1988217277,-939978066,1383610099,-384887154,-1511040957,-1126968874,1928973535,489087088,-891239306,963984117,1399058494,-533737032,1965113504,788197702,1396953196,-225102816,-1932737328,-43434832,249081288,806273485,404181058,1797660136,-1206409523,-680336717,-1863226297,-788354415,1800983806,1531574210,1510865224,-164085050,-1191788042,688215921,-940360713,-132361254,-842929228,-168894664,225735512,1764176031,-21996347,-1608841659,1672511018,-167671813,-1063430633,4468918,1792657801,798440227,2052537088,-1873439037,-101087334,-277260125,-1181253859,-1641388045,-1780799392,-1716978774,127024730,-207341135,-288519474,487384976,398490760,811011697,-1771986156,843440327,250215609,-2087392083,1004188067,-1724301726,-1879592431,1825258231,-1231965251,-1040872103,-1522281359,-1730931976,927119639,1229398329,1973709126,671857798,-1661858354,-2010781439,217855767,1175457075,-1682958371,567994165,2045619750,1407317903,-1400238280,-3074109,1583587528,2101791277,1015180230,191417836,1498964048,-1235448630,1756888554,-1898431588,1290353077,-58227617,-554158821,634197822,-329985064,2040822237,1775460047,-1761282830,1143707496,1125442450,-1203302917,-1760950260,-1961161678,925765539,-693043703,-2081397154,2119591567,-1618857309,-1502144909,497487272,1653423290,-2059725906,-1394056248,596843782,-307623274,-1959709808,-1918640730,1953421578,2009584316,1019279494,-286938272,-2096395542,-1446907096,185967467,1830913090,-187307048,1359599145,-1807976742,-735546605,972022042,-1239985472,1102413733,-1725469815,-1107073521,376171210,874656081,-1185400041,815372252,1925777540,236036052,-1935634311,-1324940701,-1443102538,-1853893360,164748048,1192902801,-623876529,-1291410814,1284598131,1024198546,-1395343214,-1504683484,640727855,327420829,-538008472,-158084980,-1536826140,145685651,-260638395,-2138997073,1768815068,-159579374,115436261,67370730,1019246705,1620497289,-729007689,-1901406491,-672253897,-644884409,2097747136,427649498,166258530,-1219146838,91369495,-1231125569,1925630055,-2114222706,274921555,1745317576,-1575191908,1680301081,-561972419,1159455290,-1053537822,-1446516486,-1200230582,1578310371,-54691936,-1399290386,1419184470,-1892821147,1363556720,1884227913,1501070140,465016563,1531432641,-709975292,1373781226,-487807785,156224046,1914444144,785846366,-495738493,-373083631,-1390269236,-557870744,1891881129,1974042573,589487790,869321595,61754967,1406913899,-1256789916,-569230157,-909608193,-402402513,-598486180,-1588719892,-803663374,1936729254,258178715,-1599397265,-344518093,78111943,363752077,900105006,-832490497,-1220669172,1966634019,2065377010,-948357158,2035570746,701398792,1556138734,118141842,877448264,-1238208509,156585429,-1710436415,-382279060,-1992625203,-1481937792,860796709,921550998,-845648543,1680735631,620008797,703338533,-1164096915,318267583,-136971687,1558663118,1216959677,-1279899784,1565874661,1368797804,-912853106,-742421545,382465666,-288379587,619443990,-239193930,-703050682,334850631,1369603310,-397452782,-1518205257,1405660046); +/*FRC*/Random.twister.import_mti(2); void (makeScript(14)); +/*FRC*/count=304; tryItOut("mathy5 = (function(x, y) { return (mathy0(Math.expm1(( + (((Math.fround((( ~ x) != Math.fround(y))) >>> 0) ? ((Math.imul((Math.fround((Math.fround(Math.pow(y, y)) | 0)) | 0), ( ~ y)) ? (((( + (Math.atan(1/0) >>> 0)) >>> 0) !== (x | 0)) >>> 0) : Math.fround(Math.atan2((( + ( - x)) >>> 0), (x | 0)))) >>> 0) : ((Math.hypot((y >>> x), (0x0ffffffff | 0)) | 0) >>> 0)) >>> 0))), (( + Math.max((( + Math.atan2(Math.fround((x / Math.pow(Math.atan2(y, y), x))), y)) >>> 0), y)) & Math.tanh(Math.fround(( ! Math.fround(y)))))) | 0); }); testMathyFunction(mathy5, [0x100000001, 0x07fffffff, 0x0ffffffff, Number.MAX_VALUE, -Number.MAX_VALUE, -0, -0x080000001, 0x080000000, -0x100000000, 0x080000001, 1, -0x080000000, -0x07fffffff, -0x0ffffffff, 0x100000001, 42, Number.MIN_VALUE, 0, -1/0, -Number.MIN_VALUE, 0/0, 1/0, Math.PI, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(410); void (makeScript(14)); +/*FRC*/count=305; tryItOut("/*ODP-3*/Object.defineProperty(b2, \"1\", { configurable: false, enumerable: false, writable: true, value: i0 });\n(-5);\n"); +/*FRC*/Random.twister.import_mti(476); void (makeScript(14)); +/*FRC*/count=306; tryItOut("a1.pop(h1, a1, h2);"); +/*FRC*/Random.twister.import_mti(503); void (makeScript(14)); +/*FRC*/count=307; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return (( ! (Math.imul(Math.hypot(Math.fround(Math.fround(x)), (y ? ((mathy0((-0x080000001 >>> 0), (y | 0)) | 0) ? (y << Math.fround(mathy2((0x0ffffffff >>> 0), (x >>> 0)))) : y) : x)), ((((Math.log10(( - x)) | 0) >>> 0) ** (Math.max((((x | 0) % ( + y)) | 0), ( ~ y)) | 0)) | 0)) >>> 0)) >>> 0); }); testMathyFunction(mathy5, [({valueOf:function(){return 0;}}), (new Number(-0)), '0', (new Boolean(false)), (new Boolean(true)), NaN, null, [0], (function(){return 0;}), ({valueOf:function(){return '0';}}), [], undefined, '\\0', -0, (new String('')), 0, '/0/', (new Number(0)), 0.1, ({toString:function(){return '0';}}), 1, objectEmulatingUndefined(), false, '', /0/, true]); "); +/*FRC*/Random.twister.import_mta(1891473633,699962687,-1029358570,-1418263056,202918024,874023867,29685030,-526282406,-1593179907,-1848247631,-1915533439,-698559492,-1724639719,-834356444,-585301562,-1204260016,1742770078,740528110,973509948,-2120985510,-1772657109,-1903018344,910757622,1810654796,-768362138,-466548061,-1757202265,1650779796,-67556059,2043546218,601594883,147550490,-213342517,-984881411,1306360246,-508398714,117836841,1723556636,1537047511,-377394571,-1633353009,-1527625211,-2054334883,-12511172,-1485620002,1913857111,1013849572,-535340045,-1028321005,-1721990694,2041542030,-37194537,-1901558594,372879308,-2140055971,812536781,211455089,-1237511738,-1633004881,733080602,1278578368,154172937,-1702761056,-2025175323,1548494028,-748618883,194097249,-763346948,1572239245,-42070297,985357919,-50949889,1392925012,1824146442,1038084475,-274605522,1006372431,1291091226,-58237745,1168747785,-1467753031,820318240,-189202110,-11749765,2119072293,-490350557,-1935000457,-659438423,-1833897376,-20621023,219492674,1876155272,2131451869,-236497466,-448763409,-570080101,154791487,1721276293,1290502677,-1480550077,-812754344,-113514671,1620166011,1518042547,1814578732,215110470,536047970,-1682790642,1347170872,1693130858,-380343556,469771553,8303320,-1324060973,-248679761,1890720689,-1909948467,-111560195,-198474276,-1547976177,-1314033442,-1356065182,-585001257,-1581253508,846934989,-1840428665,-1544173195,-1217988044,-1167872170,-1108275050,1667721361,-2146168129,11735566,-299162800,-650989007,-367162772,-1467752524,684859886,1840317787,-1904125236,-781829497,-1462471500,-504047184,-1192213849,1213028554,470546614,-1745267585,1009398560,-1092545005,863452100,194991012,1586485722,-2138364621,1797721324,518369881,-1499115255,-728061867,-2131313326,1928168455,-1791554863,2005642592,-814773547,-1700389503,1693176758,56769403,1188938140,-4687896,-337604765,1462033391,1736146789,1851971675,-115641823,916366101,-62930158,-847951791,-2111560505,1765696773,135950675,1703761624,-601441839,1821293034,-1144297510,293764003,1936976325,-1159840087,-1464319054,1019411762,1079761289,210786840,-851084071,-985587153,1004240944,-1247216179,360906339,195570187,2006683907,412238859,-750522293,1905538142,-351953728,-1497323533,-1175909673,-1318712841,164111630,-377255814,-503756809,-599710315,478846081,1080793300,-1369598508,2019753863,106274556,148775609,-395063675,683063791,1393373667,-1655702991,-2050960880,-771974922,-1451230423,1777890809,-1882671061,512793509,-1348135646,-1299849490,932928786,895021411,-754401944,-494641081,-391781447,2060934058,562466520,147569810,141731156,821749339,539530188,-295627822,-1252138882,-1881603639,-526034580,-1984517473,1902376521,1471019455,-1105114929,-694745522,654556143,-886714001,-404475133,1962948283,570489379,392226032,-919547389,-1951490315,-180004776,-169337148,-489041000,-1562431609,1943194071,1240480329,-447174979,-593959247,-2053254570,-880867363,883888465,1109313125,809901429,-454166775,252900441,989803364,1557670362,858361688,1258791919,-298331938,1745339323,-1306178829,-576080248,-1232210249,-161185336,973241730,-1100129224,1011925667,1029787138,800186699,-1108940342,492671148,1215967987,733926704,-2139341467,883066798,311224436,1690268430,-933304349,825822955,-1086771261,1977057226,-699399894,1036200048,879091934,555905547,-2129442770,-567437820,-795511727,121895279,1291814750,1516398054,-1891700481,-1795163714,-1306208013,177559283,-1714506470,-688955349,325189615,1073172849,1441601910,-1972729009,1292821262,-2072569420,1284243463,-1645976217,-690441959,-1323427443,-698547432,980134091,843119207,-2084715814,-124886872,267784292,692709681,1312283754,1491065652,81843544,-1458981764,-552098321,1327327755,1937432100,-1015409165,1963604495,1060529866,299940704,1323915510,-432880743,-825534196,1338574210,-5052399,-2050195061,744846999,1090268913,-6651045,1567921685,-154415523,1140303997,294107802,1652154913,-1754119630,2090460874,-469088323,1569015334,1844713641,-1520144252,-989773909,-946152625,-383427859,-1869796804,-1073830121,24365528,1425776459,-924370780,-1345149729,-273145264,1627064713,-1258558842,2111723070,-1727489265,1699255801,-312855076,1332278148,1188778427,641443909,1938367870,-1147730864,928803863,-747656898,475298861,-1466662472,-434747256,135981979,-745720963,-636451344,1765741672,1403203196,355724451,-1586870183,-1080305080,-1080397901,1199889272,-639109471,1515250405,-12540955,-2048413204,-668287077,972868675,459852663,-926306057,636098768,1272147582,-984089889,-1421837130,571001378,-1339336290,-1868477372,2017671247,2062843413,918818097,-1543488581,-2067910265,836905,330700046,707530635,-1180964559,1281002430,-567565180,1203905399,-1254982313,-1522965432,-376322840,1704061469,-444818905,2077942700,1721737603,191283121,-1659331009,543574847,-586182428,1824091789,181377821,-1500797974,-1049868880,-540464562,404007711,225068111,-991953235,865664906,660000534,-1708922881,2059206165,1991764486,1594577275,991886950,-1176317497,-79030380,38013594,-1190681449,1435408038,349339818,1445169994,-1459526591,-1389861472,-1203180380,-1814675197,1228115901,-296671540,-1506586667,-367286230,-1598909178,-2078573021,-1924888546,-1227790200,-662756324,1203172098,305487991,-118446564,-1398773045,484463281,-716853972,-795416909,881193934,1994392503,-874347110,-6287326,-1312527591,80282515,-645719,298146510,-30875894,1759076535,-1339935420,1891869606,445769065,-827840717,1214689194,-1324631035,441585035,153262391,-471516957,-1874195270,-76283254,136718721,2073454032,267341415,1420968009,-597213117,-341435470,585741038,-1475611266,-535895679,1764380816,1954394480,-1399162958,311827510,1425541389,-271311944,-1073586630,-381026674,-218703176,-188038773,261883431,-923472423,1723763835,1328966404,-1736779792,209159111,-1416977305,615493102,-938707828,1256286910,765249254,-2048443489,-980995119,186965125,-2063333265,-1399565390,1520412449,1577532425,-1594077478,-1557469763,-510769120,797341787,-1268608714,872143646,1796515084,165146323,2087433953,1934645470,-767861949,650609836,58342922,-1099190879,271658486,-85900666,-1363618963,-2031374888,-1452633256,-1870692643,-1484197168,1844317222,2000277714,1337217819,-1395542714,1155571115,-1987660919,541237951,-1844214097,1621498570,1687901528,-1076448344,-1992348524,-32764260,-54937685,952825738,-1306163166,314290521,-337287131,2093117921,686859784,-2044555000,-1009935993,2140598197,-1354460741,-891488218,-240752712,-1918827611,-1029582870,-1080733893,-1106129688,1350142928,-2032604311,-1179970634,-746724149,-951763046,-1828162571,-1512521421,-2090712826,-1990620802,1558835099,-615918103,841870185,858701769,1951662539,1722332789,650911072,-1906910239,1713950637,-1030336695,-1029880750,-162584379,-781490035,-706436169,-1978632554,-894137726,-336175104,-2141218674,-1025690801,-120742225,-1729574852,1954538417,994766819,1803302439,2118109824,1905806757,-1756699585,-1950498118,-1941083908,-1341938842,-83452342); +/*FRC*/Random.twister.import_mti(134); void (makeScript(14)); +/*FRC*/count=308; tryItOut("mathy1 = (function(x, y) { return Math.fround(( ~ Math.fround(( + (Math.hypot((Math.asinh((y !== ( + -0))) | 0), (( + Math.expm1(y)) >>> 0)) * (mathy0((y | 0), (Math.min(( + x), ( + ((( + (0x080000000 > ( + x))) | ( + ((y | 0) - (y | 0)))) | 0))) | 0)) | 0)))))); }); testMathyFunction(mathy1, [-0x080000000, 0, 0x100000000, -0x07fffffff, 0x100000001, Number.MIN_VALUE, Math.PI, 0x100000001, -0x0ffffffff, 1/0, 0x07fffffff, -0x100000000, -1/0, -Number.MIN_VALUE, 1, 0x0ffffffff, -0x080000001, 0x080000000, -Number.MAX_VALUE, 42, 0/0, Number.MAX_VALUE, -0, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(347); void (makeScript(14)); +/*FRC*/count=309; tryItOut("/*oLoop*/for (var tyivhk = 0; tyivhk < 22; ++tyivhk) { o0.o1.h2.getOwnPropertyNames = f0; } "); +/*FRC*/Random.twister.import_mti(386); void (makeScript(14)); +/*FRC*/count=310; tryItOut("window;"); +/*FRC*/Random.twister.import_mti(407); void (makeScript(14)); +/*FRC*/count=311; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return ( ! (( - (Math.max(( + (y || ( + Math.trunc((y >>> 0))))), (mathy0((-0x080000001 | 0), (( + Math.asinh(x)) | 0)) | 0)) >>> 0)) >>> 0)); }); testMathyFunction(mathy1, [1, (new Boolean(false)), 0, undefined, '', '0', [], [0], ({valueOf:function(){return 0;}}), true, '/0/', (function(){return 0;}), (new Number(0)), (new Boolean(true)), false, null, 0.1, (new String('')), '\\0', (new Number(-0)), /0/, -0, ({toString:function(){return '0';}}), objectEmulatingUndefined(), NaN, ({valueOf:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mti(540); void (makeScript(14)); +/*FRC*/count=312; tryItOut("let (w = ((void version(180))), d, eval = \"\\uD4BF\", x, x) { o2.t2 = t1.subarray(16, 7); }"); +/*FRC*/Random.twister.import_mta(1922324901,-1531629593,-1919861405,2146494471,-1737736587,-936654236,364564605,-2107711777,347453272,1956736937,1227269084,1706680909,-142405162,382580908,652756925,1161054974,-1307444148,-1715635431,13037316,-1047193916,1835339975,-490770870,2041362584,-147687369,-1395517703,1738232283,-737470718,1298522789,427224872,1838802169,2143247137,-969719239,-255067120,-67755292,280982268,126101039,1608834819,-1106667991,188982799,389444616,347651987,-1009078034,1925892177,-1754898238,-744891010,962707940,857799385,-2098280893,974760683,601680828,-1661831982,-21589096,-1336491918,-1686892181,2016951726,-892641215,265029705,-2139221310,-52850100,-1959615808,634938239,-1634289709,-1818354672,-2139671382,378241716,920371397,-1980593416,1942549818,720584626,1921283960,2131549372,775282600,610812530,2132271742,-1687124004,-669589175,-213937247,2011035659,-816212587,-72786508,-1819275894,-973303677,1466597627,-488206754,1469872487,-828836822,192449921,562108807,1447569675,910768903,762841261,1747269634,1888814409,1520646189,-329769191,-726212873,1235338238,792165743,1906114292,1877017773,-1643960665,-424731643,-528003505,-361536683,-305188335,756025951,-1512921351,-2010580835,1533001893,1087865870,2073220605,313083226,-713388357,239735344,559145789,2002088375,391296665,-1897987227,-951494657,-1876798026,824739658,-1196552016,-928699954,-868046082,1000648827,-329385589,-1816196714,399555861,1935953581,1834761992,1552255569,1266505090,-1307469369,1493547637,798056983,172413907,-191537619,217765839,-422648506,-566372921,-536302740,1124186054,-1369164672,1844527798,1919830714,-509328834,-1943125293,-1598046342,1522639848,-1145830285,1064747291,1672241344,-617917157,277988395,590383875,1664784936,-403460999,-1919910150,-458562203,879855019,309248243,-1866783820,-67937710,-1191505955,-1317181855,1601839422,-2006736330,1296854656,596255737,1345704558,1497153124,-91416865,-1942328917,-318134866,872401561,-1856638020,-1242222978,-1260111260,1960211888,164737856,-1298062762,454391080,1360470917,164015150,-1761743309,-504090206,120885491,1446094556,963831258,1107505790,-1903156013,1150939555,1086438427,956589289,564607320,471341988,-331307167,-1551642682,128918793,-112829201,-1314376577,-1491926447,1646792679,-1164501028,-1881351031,901672284,366000845,-696589137,-968514969,819817643,-1992640024,1473456897,1187461021,1292661926,1918049121,1868747624,-636968652,478261194,-151149912,-2037859324,-523033014,-1478971224,-2137493842,-755028531,-679426443,866609928,-763182850,-1696671399,1240428260,-252014410,1865658219,-1677074372,-871196466,-1798368369,-1840605383,595934897,772775830,-1748855833,367742715,709948486,-143330473,-1808397379,-1020502458,-648380565,1395922481,-1134774420,728743834,-1897022651,1790419844,1914489568,1252172265,1879959900,490339831,-1359013792,1007225705,-787363788,-1921503027,-1034946854,1838653880,126828439,-1187460145,-335003187,-992272808,-404550418,1059203148,-1606554284,-910704901,164046369,-306797565,1801326589,736952810,-461228783,-731213594,-1287983233,-331735801,-128458385,1492036440,-1041020397,-511689340,2004226556,-2050705814,-152535596,-734522204,1096990751,1028373348,-385419052,302255277,2139693224,-1747926039,-1581144681,1028716420,-685787874,-1336940549,-216451811,1491137967,1947380618,1756792599,-157985434,784104383,1266583920,-1906972535,1104792500,-26664218,-569466542,-381013845,-2061080246,1001619730,1339168300,-920925682,-1525317583,845070710,-781229824,-462522223,-1757054727,1191602176,1416865233,-922252325,-1165849919,-1706962863,-1324172976,831371681,677739427,1419645723,1216291475,1399868731,912783046,-498253590,-1189558126,-893324897,-487119645,-17319573,457986105,-745140347,-1670395413,815612603,-1194168963,1598863211,1935837261,903735585,2137743272,1764736694,1186423292,-779831968,-860076413,1105529073,2118119512,921150660,-962954081,449005377,810962223,-998148173,-1819217484,-404432750,-302777613,-1126355436,497479102,-1028750461,1312272915,-1326089592,1221870783,-1264605220,1742206729,-860802937,-1272137023,-1081104203,-1027770092,282867575,-1747666364,-1435204643,-1273380413,320760233,-404572190,168343581,-1165797315,-955529544,-526074902,832659598,112350116,2120737512,428725199,958795956,-200145462,2003884788,-1795651523,1351990248,1415891972,1501153107,1727089351,-1184189302,1751260380,826710830,-290419899,-1715493320,-341717110,-122215153,-676666796,-157469885,466577042,261159373,1238155093,2041934026,-1902927299,-1012858924,-1877173951,256341972,561400811,1490409041,-1431007591,1397084938,-1271001219,-1380703237,345462900,1794940064,-597477137,-1891666793,816443229,-836926108,190144660,582268028,1876192857,-1007827571,-1573472468,1317316992,-1735899883,1212385815,-1407592251,-2069156551,468669537,1000926550,-173215705,1940687516,-1587866373,-622171451,-1983920228,-985713318,-1493991233,1597634956,1547197624,-932267527,-39815148,348130147,1643674858,-75788216,1046376161,668621513,1081129674,-1693990089,1697316470,-629294238,-1044747293,1467240281,-1119384282,969812829,-107805349,391568294,528178228,-1394678044,-1076871371,1637390141,-80082008,1591608506,-414760148,1943827506,-183857064,-782182424,1317272255,1181705800,-1800434986,69471065,-11268792,369294033,-2075357258,-1761713670,-634618852,-726711646,-925953408,1475184685,896707064,-1310233585,-967455519,135051883,1961600526,-301619279,1612460105,-631313288,368472171,-1815118340,124020873,-2009393640,1163292805,868399860,-1564748792,147309050,-2121090906,1954359140,816644124,1452621077,-1257105914,1473488362,1666285592,-957750618,-1118911376,-330163248,-1310627001,-1251581349,-608246468,1631267365,-862996367,1167903117,-472770184,560197378,1240417315,-1870817912,-244720457,-1588620444,715261402,1268142965,449561094,-618471706,1870436039,2144655345,179774296,1343525324,231092808,-530893291,-1253615953,-1330274233,1389311508,-632062116,-1474098369,709476893,1598103152,-1789374937,-215071981,1058353724,131090172,-1088108374,1805855993,-454741114,2039299879,813175638,2125349999,-463030097,-1704703603,-1153460796,477410910,-116772949,217913570,-432954678,401327607,483027775,-2109259126,1705217966,-1799731463,-2105270021,1947363533,-190841280,93276001,-2037925598,448785925,208583267,1087262686,-1969240111,1084747455,939335175,1255927407,-1740688222,894092659,1604691437,30530835,1615217230,-1500741410,1783079772,905374784,1047789699,-67076028,-1090734803,-1578169440,-347880856,943516063,-1935467258,2048866646,1118702538,-1433254293,-732727432,-333384877,-1201535483,-683853807,-1218740692,123068609,-174220734,-81564662,901856774,-1536135844,1472921391,720071910,389771769,-1186823604,-192628398,-1809095374,1352634164,2135445955,-2115364413,-745651149,-149989571,-1919089684,1552279684,1551652341,-2115422774,928978611,1822335301,-1241791392,403744794,-1169258924,-497250839,366747462,1467873692,-1870525149,2082294149,-597604507,-1383629836,-1598622532,-1440109199,383758158); +/*FRC*/Random.twister.import_mti(9); void (makeScript(14)); +/*FRC*/count=313; tryItOut("e1.__proto__ = i2;"); +/*FRC*/Random.twister.import_mti(21); void (makeScript(14)); +/*FRC*/count=314; tryItOut("\"use strict\"; /*tLoop*/for (let y of /*MARR*/[({x:3}), new Number(1), new String('q'), new String('q'), new String('q'), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), ({x:3}), new String('q'), new String('q')]) { a0 = Array.prototype.filter.apply(a1, [f1]);\nselectforgc(o0);\n }"); +/*FRC*/Random.twister.import_mti(114); void (makeScript(14)); +/*FRC*/count=315; tryItOut("/*iii*/v2 = g1.eval(\"delete eval.x\");/*hhh*/function ousclg(w, x){for (var v of a2) { o2.a0.toString = (function() { try { Array.prototype.forEach.call(g2.a0, (function() { g1.o1.s1 = g2.objectEmulatingUndefined(); return g0; }), h0); } catch(e0) { } try { h1.fix = f0; } catch(e1) { } v2 = t1.length; return p0; }); }}function ((4277))((\n([])) , Math.min(x, -24))([[, {a: {x: [, ], x: {y: [], \u3056: {z: {}, x: [], z: []}, x, x: e}, x: x}, a: {x, z, x}, eval, x: [], x: x, d}, y, ], , ], x) { \u000creturn x } function f1(s2) { return (4277) } "); +/*FRC*/Random.twister.import_mta(-1868742210,-800008285,-1354990711,-326377681,-360298737,276113205,138102513,1159572600,-2110894880,2084997055,23121760,1753504737,-10955989,667463930,906853643,1945395846,162870716,-816053483,274949183,564641240,973789105,1583540272,-851058019,210533934,1223929630,1686184449,1731331224,1157168515,64854630,578564214,-1577171550,1137513310,-2007506603,1005794274,999405363,1813034395,263437399,429282946,-1385645381,-865266022,2111112399,671313166,-166508427,2097997276,1028168728,2078498299,-1507738337,-471974045,1369362196,-1786840738,443660218,-2108236965,352899977,728256910,19566041,-417292378,-106165190,1765413504,1524763988,1731880836,697553923,676829493,-1157524995,362530272,1696732049,1998926158,-1930499387,-1004976079,2009186563,2045315094,-2085264126,370158176,-1059062665,465221951,1901023181,1986599157,952774854,1779120311,-1256473510,505777896,-830189210,1130011821,-148468786,-87411193,1403509787,850481582,-371979179,1752320034,-1747296969,477874549,863433864,695805027,-250651572,-1662646873,1374161836,1813454853,251770574,1286821918,-1638583659,-1063510375,1598892251,-1097289198,-1889500819,688311153,1926132096,1739847795,1828562902,1103180502,-69916869,-973410300,-975496484,-165069297,-1527312288,-1463636413,-347255769,48004635,1863249370,1541638212,1655910145,318902480,110938718,-1083160063,157139896,-1156694253,-1517195454,432739591,-551101411,1088528796,-2081863381,134206896,2003934421,1515389792,1571383002,-1534475319,-1016412346,907694574,744200235,208814239,-238674752,-819946212,170129178,-204002874,259366524,156186123,1316775280,997796121,-902064592,-698399696,-1733950280,1069154297,1026238594,1387051160,-961833155,-1806000543,-1277554786,-816649907,-764249724,1775886998,-1222501689,1688219366,231921339,-75623413,-540354252,-841434740,796090177,-1901193526,637655551,-1087324380,1656817496,-1264489584,-1861943613,-2135940633,2002063300,-1599006755,-1373210368,817706083,1870983538,1142897243,-118990364,-1481890810,-328879820,1522590581,1021296520,517298880,182788487,-1740835988,-2121624315,-924187243,-853448084,639804595,746156063,238227710,-2099289494,-447871250,-181444136,-1695949463,-172913985,-1927946892,-1891569074,-689448167,1942205371,479727230,-1990137124,-1904651857,630679405,302707834,1639679675,220542673,1291519334,1478014064,-1365413718,998383323,299445472,-859857878,-2109035052,890566784,-200388175,-652059459,1452818756,655649465,-1016179337,1011973842,739664220,1599055889,-110804680,-2090283762,-1028099267,-194316596,-399663112,1101864163,-493932751,-1936782488,-1021698515,-669598286,-1915255809,-1792441557,-290488685,-761407294,2108432834,1575623263,-186972677,1469796904,-2041451028,-114848133,-781035357,1171569650,-1076244315,1330710131,1735167296,1897661110,881494656,-546840262,1946070577,-1606536717,1819285913,-597085473,1130089243,-684354178,-654164918,230896749,-721443877,1509701663,534852588,1344448625,159948840,1354487065,294008149,-771299823,-995829201,-471480192,-700100725,1467864171,-1149855077,1228145475,117276427,1038719672,747629704,1790028152,-101854299,401246396,1344040804,1798735755,513363830,-418786936,1572433642,-1964459043,1493104592,-1150089944,-507512031,-441849281,1041506159,-1542631245,-1751049441,2039881933,-32498188,-627953065,1118020261,1306781698,867135192,1593686252,2069257445,1316740798,426657884,-714631092,681053202,-389907245,969704958,-368462751,-1999049622,-1375081611,-763525497,-1197977460,-535077619,-1973995435,-616355307,709961733,-667796278,-413225857,1911584971,817967171,299632809,-491801858,-786431597,-1078910836,1468048253,-1351380256,-1676641584,-1557798709,1458278588,1762913543,-39300174,-1039284579,-1332958119,-1380207020,-996100937,226217041,1698891005,1178427027,-912485925,-1872703685,-1952899395,-1014032745,-41226875,-1762338435,1694265448,2042690915,-1454924224,-755640031,1045683273,-1307195202,-221886519,-698154229,-163948383,-2125968617,238212931,1001830453,-101925786,1863000465,-1489923616,1206302004,1315604626,2084237274,-184239023,-359334738,1831664661,547403684,-993345474,-971962837,819165688,-537781641,985558522,-1838118495,-1087359528,-1447135892,-1509090875,-1065962241,1021367851,35183094,-949821024,-633823385,-1370252156,-933076252,1546001804,-1170693008,1139508372,43403697,-825214118,291998974,-1890641307,-949381981,1669876977,1672252509,-75566833,-1017971801,-723137010,-2138624474,-112797479,264516346,1029623442,1267709857,1055946268,-805959958,-507787236,673663640,-844320911,1300890131,738120597,-2050533199,-640199660,-217243990,1419704058,1067151319,788914116,1595776913,162939620,-365975330,1669862649,1025714721,-1596877043,975253619,-1269473928,-1838336744,262491964,144244587,34701769,1411240973,35176950,1847051536,-1085880654,-256462958,131885837,-773135664,1456805812,52698134,-950778287,594016672,1980013100,329424009,1163010769,-1028548210,-62676385,-1074305552,-214728913,2129382410,-115736104,-1038938112,1434523010,-296711994,-981140484,-559614417,1106013826,1015735369,648675196,-1995235602,-69773098,-29168502,-2024950874,189518960,-1324216644,-1401611152,-340452316,-197543450,-1347630329,-2044783257,752129346,1587253990,1472061236,801222792,1748063372,1415061595,-83768928,-1710397346,683836924,-712085004,724995891,-1785529975,1805997642,-1250849704,625325973,-1359985701,-1706302732,-1032160610,896506404,1853144359,80092564,-790265164,-679890698,-790484777,-1570787198,100691606,1098859125,1307263189,1349683530,1807263463,-900700641,1994847354,-110312573,-1112760962,1725240423,-1744671800,395534715,1892971235,-65953852,-281776774,124705766,276362856,-1465523109,-1411728515,1524599607,1311291639,1526121286,1434952750,1800725849,140066402,-299759675,1568432708,-389280964,327512092,1253813007,826523704,2093855073,-702917358,-596563085,-343504528,-1907821686,-218296796,932848614,1451221835,-2090669058,-717088371,-87615628,-1153655842,140373381,1715870944,-371091681,-1756723137,1120980438,-535879868,1565949888,-131640154,738765501,1886963357,-26493924,-2052196824,-1453000880,-729948223,1992277042,583326156,810737882,1179485395,-1097694775,626091178,1009123651,1146804850,1076126834,1822715804,-1294139800,-18116829,375030080,800276919,-1914924613,1491593088,-199193647,-407553247,-94889605,-981267574,1405951325,1027832980,1517242561,-844510046,-2051892974,299868614,1664846659,796208862,-319448829,-131779072,-488485522,-2023250179,326485787,-261368286,-62400580,795202214,-1208538145,-1815803942,-2146178841,1644700221,-1250911773,365377412,-1499943067,-808816272,-1761260885,936141590,848855306,908529526,-748375976,-1572441637,-1017947311,1090269523,-664454344,-679480766,252898642,1072735739,817440313,-563098262,1154897920,-1457515038,1829635394,-1364785567,180705634,-211681807,-1597684160,266588313,531696283,653708657,1535738717,-1527650645,1444946669,-2071045908,-728457424,-1380102923,-1828093447,419014761,-873924223,-251103226); +/*FRC*/Random.twister.import_mti(247); void (makeScript(14)); +/*FRC*/count=316; tryItOut("{/* no regression tests found *//*iii*//*oLoop*/for (aamxqs = 0; aamxqs < 2; ++aamxqs) { print(x); } /*hhh*/function uhembh(x = x, x, e, a, x, b, a, x, \u3056 = -3, x = '' , e = '' , c = window, x, x, x, , e, window, x = b, a = true, w, x, a, \"\\u3BE5\" = /(?:(\\1))/g, x, length, let = \"\\u7AB3\", d, x, e, x, c, x, c, window, z, this.d, d, w = /(?=\\w$\\b+(?!\\xD1)?|\\x22|.+?.[^\uf8a6\\S\\D])|(?:\\b)|(?:([^]+?)(?!^)|.)?/gy, b, x, NaN, x, e, \u3056, window, e, x, a, get, a, x, \u3056, c = /(?:\\3)*/gi, window, NaN, x, eval = -11, x, a, a = /[\\u0027-\ucbfb\\W]/, \"19\", w, x, x = /x/ , z, x = \"\" , x = 23, window, x, \u3056, c, x, y, x){print(((function too_much_recursion(rqbfhf) { v1 = this.a2.some((function(a0, a1, a2) { var r0 = x * x; x = 3 * a0; var r1 = 0 & a1; var r2 = r1 - 4; print(r2); a0 = 3 / 2; var r3 = 9 & r1; var r4 = a2 & 8; a1 = 3 & x; var r5 = 3 + a0; var r6 = r5 + a0; print(r1); var r7 = r1 % 1; print(r4); var r8 = r4 & r3; var r9 = r0 / a2; var r10 = r6 & 0; var r11 = r1 & x; var r12 = 8 ^ x; r7 = r8 | r12; var r13 = r3 * r5; a2 = r8 % x; r10 = r8 % r4; print(r10); var r14 = r8 * a0; var r15 = r1 + r2; var r16 = r2 % 7; var r17 = r8 + r12; var r18 = 2 | 6; r18 = r0 * r3; var r19 = 0 | r0; r9 = r6 | r17; r6 = 5 % r0; var r20 = r0 ^ 4; var r21 = r10 + a2; var r22 = r7 ^ r20; var r23 = r21 * r0; var r24 = 8 | 0; var r25 = r3 % a0; var r26 = r14 % r13; var r27 = r22 * r4; var r28 = a1 | r16; var r29 = r9 / 8; var r30 = 4 + r14; var r31 = 2 | 1; r12 = r18 | r18; print(r28); var r32 = 8 + r8; var r33 = r32 - r26; a0 = r8 % r8; var r34 = r6 / r26; var r35 = r24 - 4; var r36 = r35 + 0; var r37 = r7 % a0; var r38 = 7 * r13; var r39 = r25 | r37; r12 = 5 % r31; var r40 = r9 / 4; var r41 = 3 % r29; a0 = r17 * r19; var r42 = 6 - r14; r3 = r37 & r38; var r43 = r42 + r40; r13 = 6 | 2; var r44 = r23 & r9; print(r25); r10 = a0 * r5; var r45 = r10 + 7; var r46 = 6 & r21; var r47 = r41 & r13; a0 = r28 ^ r32; return a0; }));; if (rqbfhf > 0) { ; too_much_recursion(rqbfhf - 1); } else { } })(77566)));} }"); +/*FRC*/Random.twister.import_mta(1324766070,-1616826562,-1454134840,109172222,1265817350,1207227995,-2089358670,-1592695409,230160086,-1026551479,1959883312,1777261028,-1394420397,952743009,-1187763624,-2135344069,-652812061,2017314807,1083105885,-1678034177,-632174604,-2123219379,-1258736303,248611587,-1671907910,836737014,-834577851,695306352,1241112939,1808492571,1275082499,-1892347478,532807776,387036058,-665337511,1986624271,752614088,775785440,1967432594,-819512101,5564321,1397609708,-2109933737,1677411052,-34700881,-154776284,-1592389139,369222867,-1110494027,-87618161,-1227019433,172566768,1671124636,1136660671,-1388413007,7608477,-1706578291,-1079159562,2031316331,1070894695,610728837,1345795599,1629670719,-1304020922,-1062457847,2051521230,-745248519,-1071345381,-337883982,-727861958,1466403549,1968628338,1790809727,-1649641905,-1389127418,1742418990,1975698352,1760902061,410744499,-1314475408,-445537397,-2083136336,-1428800626,1622773972,1803304156,-971927774,-1119404269,522401439,788815579,1337804081,-2041374953,-759223511,135095266,1092456278,-1875355489,2040160990,597412531,1453797888,1205746335,141509502,-1998663332,591546997,1680635334,1519442209,1392186105,978641827,-764645219,-157821006,-940709791,-1987944468,-904074618,1649119221,541004354,-327326547,-507249152,1166128278,951278850,783908223,-1669621303,-1381110841,-485910506,2107819731,92507606,-447119956,-484370743,-1368451769,1939005981,-906018927,-373111043,-1446394384,-1888967348,-1767200781,-1589763731,-288206849,1627302765,1358332844,1374181308,-562955110,-123910802,-1285705674,-789702828,-1919542535,-1260899527,-1826794827,-444781825,-2079460057,-1012906554,-671397090,-238842975,-53355637,-1237316001,-1145040181,6740038,-1674651253,1239575705,168427491,1496177236,1954945698,-243966237,-668610037,-1214740452,-1384963299,1081455547,1626310888,-69092860,-310551564,-229451554,-229153573,-1151154819,-831005046,1748907587,1284300188,-557022650,1453839564,-1753119778,1928751537,956426297,-2137506387,-370514555,1830237198,-1838443004,-154201440,856043200,-153727199,1700167721,872389312,-1884454271,1851879212,-1609705905,-1244667252,-861243710,-897979586,-2015739815,661867192,-598423297,1122113149,1401032799,1509073140,-1448732110,-590945883,2083200392,1382506045,1807641112,-306139097,1703610597,2006447366,157058088,1705026031,-1472137504,971467504,1305564420,-1709354725,1725216473,-1209058226,1113009516,-1923830829,327409570,259596794,1822437471,1631412172,428484042,1088861735,995433295,1236958088,1797941620,1779285825,-806295396,-1799134036,899902942,2103443868,-442262521,1985346751,2045607,-1827905652,1842960539,-845251317,-859495855,1770443486,-876052479,-2116002499,790850295,-1216140938,-1444240293,-320590782,-463507860,1426225589,1218722678,2089507093,-665207865,10727739,-342325039,-1743333993,-182742014,1215451212,1309092568,561011907,-1563798752,-2015393856,-1355087269,1564964866,1920874143,1362585066,1563454316,-1221220387,31127957,1676798614,-1650147961,1543441739,-1837310455,-2020299731,1270762183,1062389207,1118996963,-484589162,-696429622,484741194,-951410193,-2133719386,1724907666,-634766225,294499276,1965781331,-1284544870,15484993,-997836037,-1101450929,-690104452,959947517,964887284,-855557814,-1047795359,-886521154,1944644559,240596328,1837602704,-1701308232,1270452239,-223195554,318058927,364061432,-283673067,-2080181807,1695128887,-945673006,-2004163865,291527235,1253725340,-35843212,1848363795,-1605954805,570567218,-1009825385,1968985488,-810532925,1463499373,-1264258773,1485046863,-613438332,86408634,181786320,592963953,145443655,1570108915,1701709709,-1176508432,-683556177,-1975116924,185595209,1888578042,-932011965,-119268081,799299355,-1116480249,625979382,1883693166,358832845,859874082,1318011245,654684363,37971721,731786347,-322314406,-1767425015,-939254546,-1372569269,1186296074,1513758793,479551748,489020450,2065246411,319389655,123443624,-1798819621,-546383334,-105334376,2095129590,-1395871406,935256044,1975366546,-1845468018,-652775938,532848660,-365240282,1307014816,-772700455,-1131194811,-1447187636,618140701,116415519,-1637628354,-720490222,1383141305,-762367759,545992613,586988107,1836560389,223328960,59759225,-255117173,-1298859390,-1729984549,436233615,-109337064,-754195899,1975470181,-2399727,380005094,-514190256,-939459486,-1327483680,-320486623,-306043741,1958794600,-2009974296,1243031391,-962723367,-2059402973,-2115688120,-401000505,477288753,-263349826,-595433232,2028164432,986071631,-1169155798,-848357047,-1508932752,1411963793,-2135191575,1277120462,-1311751514,-137065400,-46744460,1208637341,-1909011021,-2063458023,-1036204820,1047974839,1061005986,868840999,-1571500994,-1679218200,-1708183155,1333452990,-2143582154,-337518867,1430878594,-2017085937,658997482,1163306831,51191574,1271516492,-1428030392,-765473392,-663344845,752261623,-826300610,757423524,1966985432,1389731292,-1328480132,848685022,-782526631,-843061575,-206561782,-1000885327,6666285,-1121872561,2064423129,-1523234685,789827080,2015769558,-954531994,883325740,22051858,-1859246163,1940323379,-672697167,-23078537,1760918117,-451720665,1030560422,551250410,-548132018,1305737315,1249641058,-544004039,1639405761,-231665876,391366482,-62686862,-486789060,-1459963835,1456717476,1106795577,838535721,986322103,-1576778548,-773940843,1506365247,391579660,-1746464494,2013415326,598231166,-1952078055,-1513923144,-1789035276,-492795590,789891405,299756680,-1881141300,-2075439635,-52022818,946441234,2072225220,-341426930,-327306841,1709458067,-1007837090,1281047622,-1478531187,-693285146,267829953,1959147116,1391226329,-1277644736,-1166974624,44497874,-2062732374,-881575831,259516543,1337397849,1282643671,-1549145327,-570647108,-28737903,-119425464,812650737,-1030277441,-180784384,-1452786246,-427205022,-291733750,-979905814,208736852,191299319,-145842277,525784394,-745564922,2091930439,-1364838214,251321397,2093206600,-2116349360,-1754198377,-531914823,-1413797710,1165592701,-988441085,532622061,-612027355,-1472729063,268668834,-1363922415,1438718542,555654195,-279803338,-14028277,1772811765,21839125,-1011965929,-817292242,1836231405,809009907,1379213024,1213760137,-1323704577,-2022271415,-2043243929,166749715,-649177219,-1265783553,-2000295820,-1083535427,-2118747399,-1702384012,1621500338,-1569653947,-1362076953,-1562139968,-1779446253,1065451753,-1295074799,1928950234,97266575,979069812,1951005818,1189241792,701087291,1671821395,-1868550050,463391669,-2058834093,60243058,748368228,428521379,-843088977,-1047328533,1714942956,-1899610316,772317754,-660523567,-401641881,1514652568,1504490086,46595760,21025188,567812143,713955632,-1239932491,1763531743,-1507395590,-563092694,2057995987,-1210365014,650242493,960172651,1552587168,717059198,1005362340,795962281,-761188214,-516535816,1533737727,669352774,1825370032,-1612343000,431688834,1837853405,535369071,-1385258296,-1799121176,487690772,-1573181288); +/*FRC*/Random.twister.import_mti(139); void (makeScript(14)); +/*FRC*/count=317; tryItOut("mathy5 = (function(x, y) { return ((Math.log10(( + Math.fround(Math.min(x, (Math.max((((x | 0) || y) >>> 0), Math.hypot(x, (( ~ (-0x07fffffff >>> 0)) >>> 0))) >>> 0))))) | 0) !== (Math.acos(((((( - Math.round(Math.fround(x))) >>> 0) >> (mathy4((Math.fround(( + (y << Math.fround((Math.fround(x) & Math.fround(x)))))) | 0), Math.fround(Math.sign(( + y)))) >>> 0)) >>> 0) >>> 0)) | 0)); }); testMathyFunction(mathy5, [-Number.MAX_VALUE, 0x080000001, -1/0, 0/0, 0x100000000, 0x0ffffffff, -0x0ffffffff, 42, -0, 0x07fffffff, -0x080000001, 1/0, Number.MIN_VALUE, 0x100000001, Math.PI, 0, 0x100000001, 0x080000000, -0x07fffffff, Number.MAX_VALUE, -Number.MIN_VALUE, -0x100000000, -0x080000000, 1]); "); +/*FRC*/Random.twister.import_mti(397); void (makeScript(14)); +/*FRC*/count=318; tryItOut("\"use strict\"; /*ODP-3*/Object.defineProperty(h1, \"toString\", { configurable: false, enumerable: (4277) >>= x.throw(x), writable: Object.defineProperty(x, \"sign\", ({value: -3, configurable: true, enumerable: true})), value: g0 });"); +/*FRC*/Random.twister.import_mti(541); void (makeScript(14)); +/*FRC*/count=319; tryItOut("s1 += 'x';"); +/*FRC*/Random.twister.import_mti(550); void (makeScript(14)); +/*FRC*/count=320; tryItOut("mathy3 = (function(x, y) { return ((( + Math.log2((((((mathy0(x, ( + Math.atan2(Math.fround(x), Math.abs(x)))) | 0) | 0) >= (Math.pow(y, y) | 0)) | 0) >>> 0))) | 0) << ( - ( + (( + (( + Math.trunc((x === (y >>> 0)))) | ( + Number.MAX_VALUE))) ? ( + Math.sin((Math.imul(-0x080000001, Number.MIN_VALUE) && ((( ~ (x >>> 0)) >>> 0) + y)))) : (( + ((( + (x | 0)) | 0) ? ( + Math.max(x, (y === y))) : ( + y))) | 0))))); }); testMathyFunction(mathy3, [0/0, -Number.MAX_VALUE, 1/0, 0x100000001, Number.MIN_VALUE, 0x080000000, 0x0ffffffff, 1, 0, 0x100000001, -0, 0x080000001, -0x0ffffffff, 0x100000000, -0x080000001, Math.PI, -0x07fffffff, -1/0, 42, -0x100000000, -0x080000000, 0x07fffffff, Number.MAX_VALUE, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(-1909080361,-1129258205,1597125582,-705367491,1718661890,2035818505,-213499817,-57941439,1963958578,-597214616,1625274211,264394143,-1988942559,-1387636854,780182154,146111706,-1390672711,930679874,301403321,-1357633770,-406356914,-62291755,-307689607,-1401383197,-1022959085,604449904,465708166,1037027420,1192024639,-364784932,-2141241638,1755742426,1323204226,-1238479003,-1443512300,-1131675348,-985593760,-489391878,-1840400571,396190769,75741138,-315941972,589839530,388952180,1240908108,416821104,532128783,1952396431,540837289,-1039950503,-133889737,1254175639,501084163,-1601945329,-1592488121,1395759359,1802555735,-456033672,399298625,-123915986,1727291241,1460014903,1909876294,474869244,1078904769,-1877349047,642700060,943578682,540203263,757620104,1528572408,1583838412,-2138223446,-1428507151,-1861113301,-1843668579,-73296979,-724740161,690508561,-780503635,-470898028,-2068478894,697665365,585700962,-1259350397,-1079416632,-181312530,86980779,454381567,259803040,318221425,1796372668,827534115,519344988,-125404030,1948476504,322573586,-1050408876,-275669839,-401417975,-1387407498,-235169091,-132390903,397041198,1385140200,-1077392816,260955573,-1475204810,-149315658,-545319901,-359953161,-1793934709,1682062048,2140542847,762824722,1344944214,771614065,1254744455,831994797,-1989838269,-676740281,-1068044204,-946483754,1106249217,683041822,241024731,2019622397,-510082571,1602362383,-1325740739,-854903188,437794159,-1831746457,1204936147,646028771,1412949910,-1360794595,-348148704,-1176156254,-1010031848,-1699072546,108085056,-818334872,808653189,1933163093,1909697857,-985032802,-1272418495,-964771543,762985926,1002523569,697932246,-1772953329,1045898884,1397052160,1105479623,175869858,-209256114,-1119691949,-355099919,1221048088,2131032933,965190247,-457274753,-1036844795,-236157925,1598655759,1158654104,-37994191,-1917744564,-2076797557,-2118771772,-911193946,-1641082884,-537787154,927399634,-339877933,-399398510,1288761715,2105292664,1032186512,1883941211,-1043960036,2063843477,39913173,462872268,1957137380,-1516934500,1131235045,-1410711346,-1531970188,-1127062753,-578839960,-1725270374,551063088,1489426071,1992201186,1300217727,-173195587,2136301408,-1847377938,525413436,435210617,-2100269198,-1645408903,-624844482,-781031685,-1543819046,2050120901,533969129,-930315790,-1059086387,538641027,1314585887,1292096956,-1460165079,1557555714,-2000868426,1548894294,-1826583603,-1597970610,-383166555,993274027,-1728342414,953022871,988407386,-396715314,-723253192,-2113870867,-185905902,936819901,-8939378,1893601231,480402629,1129081883,-1973059387,-1465625849,-600619076,-700789794,1206526085,-1232354511,-478330760,2126998267,-550259825,-990871481,900010242,140065603,1390612850,621865111,1097724878,2038123767,-1182062574,1077806166,1019326954,-1266723102,1449784239,-1448210116,1321865000,101006555,-286665454,-1632240240,-2022836830,1042178589,480560245,-752054863,93804889,-479571381,-1800050679,938081637,-536893162,-1852890560,-240700062,693555131,1955139050,976059562,-1701747327,-2106941942,-1955790466,-19096193,1427843557,51988857,-1197261814,-1974531072,-801407755,586502656,2091006975,1024348303,2050350611,1904645010,-2011487703,2044300451,-1598946567,-1758300163,277682388,896651878,-588865497,342981287,-1955724816,1421796784,772686719,1909685702,2057163887,-1312108556,653021697,91605569,209025375,-275448809,234094530,228506888,2023002700,-1710882186,-834536373,24758262,128208391,-2039090975,-295699193,583766498,1348768428,1853395924,-1175425212,-2086042080,1329870500,-543369407,265676522,869030364,-1431137933,882742130,-1794808949,1288337987,492920401,-646920836,-717303372,-311452245,934194562,1001075855,-289812953,1630536778,1610736717,222018000,-393896950,1240660178,-13834551,875050529,-470977269,697522434,-2055038122,-2026911039,-650433194,1691538670,1461306082,1113443029,-1143288660,1642779606,79470897,-1612165106,1239696550,-349855029,-136974427,320341800,-27626856,137399769,329051632,851729606,521379758,746502109,-314863100,145267145,13282062,155245663,-1514263583,-1073535354,-1015639310,-1197569460,1296005732,463144860,-1059513271,-1246404571,-1699977429,1892934807,1126896189,-362830692,1878556684,-1318517190,-374564017,1432486041,-166597088,-629632807,751290665,661971221,-688000216,190261489,-1202492495,-168453905,-1555386753,-12052309,638906751,-851239192,1764933303,1451739011,-241793927,-261211260,-1551651258,-1288868054,-157953210,395220457,534196427,-1906251153,-1529832005,373624508,-651276721,15304369,2096781551,-426031651,-357278238,2115816143,577971347,1842977226,-1154406363,1010723027,-866780041,-723590546,-188242391,1065068232,1990416377,-1584930602,-1626766724,-440453960,-1035927653,-1527591100,410404594,-1489729068,-2002914467,-1276229642,608289469,1821953278,1567461210,1229002299,-233674338,-373993181,947094205,386928368,-56185137,1461773738,621700359,1939751601,-2056770401,347664821,1145969661,1656439611,1824378799,-1528262759,457213476,1622858700,-386751289,1165732657,1658531115,1175472021,-778968871,302355811,-614524413,1108660630,1394727150,-1513122462,1464147945,-116570483,1627123485,-1371980742,-1886174041,-1462459439,1088869954,-1370641519,159739066,1590480464,-1314019968,-753523527,-1585622509,1349505448,-2002997022,1281834834,1268088912,926038371,-931236563,1203623824,896823919,472621556,1286308513,-1615228529,1345792489,-1887239194,971924987,-947269028,-1386244770,1503895376,-559185751,-1587120498,-656435863,872757376,-1334185361,-1752519871,-1548628830,534751897,-455168747,-1594720585,840177721,-1837016738,-1545327153,340284428,27250860,1142001889,1425819872,1860715782,-1648088652,-193036632,1408245329,-1676029564,234244278,1227594382,-1046829277,-634471559,-1014601440,1674164197,1111485923,-1104328366,1380578189,399887956,-166651230,1638214106,1477752645,-1647489773,-1499868247,-124154684,991177829,211349623,1025821571,-455180095,1480796497,-2094995795,562330024,412539362,-1246499525,-893974828,-831244496,1611486416,1210784965,-639406998,1506924239,1600923294,1853115397,-689301263,1732458389,1752262909,-595739531,732324053,495393794,673288720,-850516509,-942496342,56835216,147739234,1488979658,-186594526,2143928501,671365414,-1193047575,759313271,2104011017,1622495607,-2020448898,-1369622615,-405315081,623183264,-1443056427,-50453573,482439129,-1005152020,1593191123,1953035010,-810441449,318799962,1773849593,-797215692,71612280,137353887,-43500935,1645741227,-1395717600,127616562,2066445359,352318058,1707085275,-1437878887,-1049513935,-2145881144,612286714,27907158,165721229,744131369,-716953058,1098003191,1427675004,1579942297,1957492233,612691967,-1369913872,1355031338,-179905155,1835949805,-16703837,1913572958,1071186737,-1057225974,637084773,44835712,-913682054,446807793,679882113,-1709148823,-1533399744,783241689,-482162293,-383032053,-1312763487,923362611,324104540); +/*FRC*/Random.twister.import_mti(277); void (makeScript(14)); +/*FRC*/count=321; tryItOut("\"use strict\"; mathy2 = (function(stdlib, foreign, heap){ \"use asm\"; var atan2 = stdlib.Math.atan2;\n var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Uint16ArrayView = new stdlib.Uint16Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n i0 = (!(i0));\n d1 = (+(((/*FFI*/ff(((~~(+atan2(((+(1.0/0.0))), ((d1)))))), ((4194304.0)), ((-9.0)), ((0.00390625)), ((((0xc5fbfdcd)) & ((0xef21fd55)))), ((d1)))|0))>>>(((0x0)))));\n {\n i0 = (((0x33f940b0)) == ((((((8388609.0) + (1.0625)) > (1048576.0)) ? (i0) : (i0)))>>>((0xffffffff)-(-0x8000000))));\n }\n switch ((~~(d1))) {\n case 0:\n {\n (Uint16ArrayView[2]) = ((((0xf41f3e5a)+(-0x8000000))>>>(((8193.0) < (Infinity))+((0x70d5b2b) <= (0x3c867b25)))) % (((((0xea5ac1bd) ? (0x59d0de92) : (0xfffd87c1)) ? (0xfa7e1620) : (!(0xfd6b3a8d)))+((((-0x8000000))>>>((-0x8000000))) == (((0xf91c4610))>>>((0xfd9af4ec))))+((0x6d2adccb)))>>>((i0)+(0xeca62a1a))));\n }\n break;\n case 1:\n return ((((((((makeFinalizeObserver('nursery')))))+(((((((0x6ecee47a)) << ((0x1835f188))))) ^ ((i0)+(i0)))))|0) / (~((((0x16393*((((0xffffffff))>>>((0x667e75ce))) == (((0x4e80b358))>>>((-0x8000000)))))|0))+(0xfe82748e)))))|0;\n default:\n i0 = (!(0xfa14e3a2));\n }\n d1 = (d1);\n return (((i0)+((((0xffffffff)-((0x6cecdfb3) ? (0xffffffff) : (0x5a443346))+(i0))>>>((((0x8ca30721))>>>((-0x8000000))) / (0x6b004213))) <= (0x12936003))+((0x471200f8) >= ((((0xfa28f67d) ? (0xffffffff) : (0x36fb3c29))-((0xbcdc9b6) >= (0x6ba296f7))+(0x83cd288d))>>>((!(i0))*0x8e3a0)))))|0;\n {\n i0 = (i0);\n }\n i0 = (i0);\n return (((i0)*0xfffff))|0;\n }\n return f; })(this, {ff: 'fafafa'.replace(/a/g, decodeURI) instanceof /x/g .__defineGetter__(\"x\", XPCNativeWrapper)}, new ArrayBuffer(4096)); testMathyFunction(mathy2, [(new Number(-0)), '/0/', 1, '0', (new Number(0)), '\\0', ({valueOf:function(){return '0';}}), [0], [], (new String('')), null, ({valueOf:function(){return 0;}}), /0/, (new Boolean(true)), true, 0, 0.1, objectEmulatingUndefined(), undefined, (new Boolean(false)), false, -0, '', (function(){return 0;}), ({toString:function(){return '0';}}), NaN]); "); +/*FRC*/Random.twister.import_mta(-1369276423,958324324,1113869752,-2091490811,103222941,327614430,299406009,1829324144,837070335,1728545025,976816043,-1946931981,-1886689910,1470748660,2023810690,1763571550,-1324819517,-269484980,905525016,507127789,1545427088,-740140112,56690649,743777208,-1497092079,848999563,1749332951,453590294,-1440126190,-1517245483,-1240219658,-2086801403,-1704341089,-204576290,-690228277,-783367226,1428946624,-1128880253,-1884582499,1258343890,-997727160,-1205776522,870644359,871067222,-255149705,-1041004686,-2044112993,-91705158,1029788396,-239943183,-1205456151,-178451483,-436772873,1835694309,-338625916,-871758920,-627435013,-1751813170,1586869692,-1402808066,1662670749,720283200,-713429763,-80018775,-1037721963,-152503060,1264316660,1880922669,1987035609,-2085148474,-1600061759,-1466825340,-1937556379,2144194139,-645910357,-1173047463,1120124544,512409070,281597978,563643618,-892964149,-2119873497,1524697953,-1269996803,-1750417079,1025861223,-286564635,-2002143532,1259708785,264959848,1706956215,237119144,915680341,-70587363,-682743950,1346278873,-31882109,1336281097,903760178,1654903611,1368166382,1922034586,-396041291,915959149,-80050115,2117869746,639437986,-384985467,1431508737,-133881176,-769770186,909151633,-230689920,2018746639,-1244580449,2072526031,-274964915,500890765,-1874049720,-1141388302,-1582178551,-1176216174,980867839,2006091242,-602308015,454395763,-74636376,-518229876,2003094755,119583468,-1945101011,229449727,1551469983,1926361834,286252974,-2099136858,1220222355,-1205066992,967129309,-830604222,1656546824,1057636438,1956828454,1780706081,1872056655,1118412575,-1959289926,601144353,258787372,-612093031,2058911982,1154209961,946382039,1104396669,1703358281,781952772,608476325,-276279450,556554308,-1548648922,-1511394819,-1929038962,-208145622,217185151,-1640549785,-559394946,-1704698459,-1969970384,1001417775,-1146705043,-951490404,-897248262,-1463753207,1255933911,-228602948,1344830605,1759099664,997609610,1615343983,1789527626,1855734117,870561748,-1925997716,1212368769,160421918,846995309,-274559177,-1700391162,-1187370425,1439479944,-1135938177,2051030878,693450390,-98045311,1947888549,-1152959943,-1681281126,-1569195049,1984568125,615191774,-1695761408,-729618796,1416667333,-1982711814,432809622,-717919139,-5939811,-1261060713,1671934422,1227365908,107372954,-1156841536,-2114138783,-427955756,-1467332690,1824986753,-841694047,1955110618,-1205937992,-901773618,1225143885,-365038253,-281083214,742730015,-1397480820,52701268,2032366912,1986707152,1131116781,-2138594503,-1125274046,-415188571,-2065735325,-1451879317,-248302131,-54643549,152969951,1361338948,1896451182,231093453,639072200,-1630805216,-544432570,1249389375,-1254263603,-1461904794,927706964,-677536764,-212557225,-1496051331,814790577,-958713286,754609278,1920669862,-382372834,-1090624628,-1024086975,739873092,-1259791732,-718065833,-1334275313,282882586,1175720227,-441120569,1735769072,655758439,-1739405047,108767781,-1747018755,2065918887,1262023911,1030319733,-71892601,-1690308150,1858646693,2085887465,-1274789554,1581304969,114831304,2104707988,1899751136,-1359512444,1025445149,-1948208901,818732782,-652595932,141592360,1540955732,-1209301109,815635059,1919595274,280237492,-1095864186,1373837767,-949519647,-1520448427,-2046810050,-889222119,647861476,-1268088186,-611609421,-1050323119,1886006918,-646845569,-2118602338,-1106635058,1734441731,-871814065,-1108409087,1474431578,1248144391,-686415182,-1476398661,1960384074,1720645768,443574656,670613054,1384275037,316281098,2000744261,-1670842545,1636367373,399795884,-402675603,-1007161233,1871741067,-248917471,-1360985584,-449317779,-992182005,1543964087,344323639,636188275,-1564465606,1197064521,634066212,1359831121,-729554466,41042836,-1765371927,-556965196,1993186896,-747227499,-1151995188,521908518,1255346423,-680895143,-740772482,-1838629661,-2108649654,1786766268,-1393759302,-2143066316,-193393745,-2047978785,-604066471,-440207903,-979624263,847259315,-2123793492,2065662994,141423053,-1922533007,-947063134,-1900942830,-453393178,-837244475,-15451912,-1260526215,346244709,194519640,869930089,607527469,-2030430092,-1699708198,-859911967,265990355,-1680227718,-61415064,222787225,909083003,2100538452,-1018865028,-671273930,-729761674,-719806217,1826237037,794505640,-1501836774,791992205,-1982792072,2110082767,369469598,2093539631,1083599696,487711579,1446462697,1963080578,1799807257,-789054517,454938868,-1412858839,727881006,-1172946629,-1382713296,-26151801,-1580533688,633259579,-2038685652,1414523115,-281617623,-1546991057,1193685404,161766031,311899536,-1881741662,-782459835,2069721545,-983404102,1127892897,424448330,732412097,421404954,-1962254351,-302826775,76906849,-595338292,-929703006,-1732655635,1206576175,1419017867,1077609837,505232860,-907461662,-1704756678,-569406956,1881221851,-340493868,2117766721,-1972057575,1093013100,-1021692549,-414673699,1829983526,-281790390,1800016061,1903148015,-514644209,1164681819,1682175393,1642424845,-1662431382,-1370109208,-2104094713,-569403238,-110367752,826794890,1827132460,1407681659,-439023192,-2132346852,-472580228,236194696,-1399836346,-1202641643,1712657011,-754506175,-344615169,-21460991,1369635665,247111010,-1705307163,-1341405018,-943190569,506168786,-1687991677,-1566947060,1453533208,-485363182,-1368670192,-817065233,-1964269610,1028450916,-857703237,-1824202549,574448276,606079868,-1212607748,-719065032,1708193805,-1290091928,195327064,-1857329940,-924716466,-216215474,-841218115,-99147185,-1711992424,1823574052,760243220,811079583,-1481032415,-1135173334,-1119556127,-1766167887,1291584974,2109514690,-902062513,-2071373580,174796702,-2063424479,1257497018,703238867,108818410,488782351,-1820439860,-1990690499,-2039128471,1903632676,1447173035,-369860631,-663626168,1433634124,-1913991404,-235470520,1448017929,23620091,1281721061,186715738,203876580,502484370,519862650,965788624,-871986244,958400568,628606600,119551630,1177436406,1422353648,-1029410095,333647314,378032864,-1486006467,185141259,-1486747675,1030488645,-646809192,773147624,-1960716520,-1159437811,1355400840,254570714,1632833162,-449242327,290365502,-2032228680,-2056446141,1482697862,954594642,530256866,1143764671,1398529498,-1598922481,-1633367755,1933510021,-1423942672,-1794130602,283855295,-1674666380,-2115718075,916658297,-127135708,-1648683068,-178187985,631967944,-1470315166,1015082270,603956113,20528793,-1468080850,-1235529709,418451279,2084700346,231098219,-738485335,1900905898,636776804,1902148903,-1551546369,21304162,1044160101,-826420234,-1228495717,-825474066,1659687521,1006112818,1040274282,-232158212,425091031,-1842834882,631559087,301614586,-611145191,1740153158,947002395,334069441,-1412478697,1328080468,-69755629,-482649095,470355675,-707352138,-237139894,-1199422006,-1575970889,845365361,2105131309,1200612939,-714302763,-73880892,-1121961696,-2112198378,347692021,-670118966); +/*FRC*/Random.twister.import_mti(609); void (makeScript(14)); +/*FRC*/count=322; tryItOut("mathy5 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n var d2 = -129.0;\n var d3 = 4398046511105.0;\n i0 = ((((d3))));\n i0 = (i0);\n i0 = (i0);\n i0 = (i0);\n return +((+((Float64ArrayView[((0x2bce92da)-(0xffffffff)) >> 3]))));\n }\n return f; })(this, {ff: new XPCSafeJSObjectWrapper(window)}, new ArrayBuffer(4096)); testMathyFunction(mathy5, [-0x0ffffffff, 0x0ffffffff, 0x100000001, -0, -0x080000001, 0x07fffffff, 1/0, 1, 42, 0, 0x080000000, Number.MAX_VALUE, -Number.MAX_VALUE, -0x100000000, 0x100000000, -Number.MIN_VALUE, Number.MIN_VALUE, -0x07fffffff, -1/0, 0x100000001, Math.PI, -0x080000000, 0x080000001, 0/0]); "); +/*FRC*/Random.twister.import_mta(697128112,1249167301,1213495830,-1056512155,-1576401978,-1165595475,-1936530557,745512464,1425769688,635358018,-1186176867,-1044802839,1067123473,-748246936,-1757138560,-961876830,2119410857,1215016476,432227723,-11390963,1387027473,500843145,1427166845,-1826211427,-337489317,-1271609298,-2037464710,-119042208,-816487340,-2020998089,273912703,1283825149,1041092800,-1494141007,681337998,1955119804,1320868092,1153305643,-1148195587,1382209791,-1213931921,-1094695971,-1820230350,-531897848,-1545341246,1028948941,274140539,-1316712132,-895762278,-1267461564,49615394,-1365721729,-1946257140,1410144079,-85176650,1511028426,-916674080,-1320861116,-279279737,-641566565,2039514892,-531381542,20985891,2029815689,-1734311670,1807348722,227986575,443446566,1741587984,442493438,-1086548931,569485036,-1219711837,-1150143000,1582954646,-781576218,-930262240,374335967,-1951463182,519159990,-1887879468,392808317,759546289,496059028,1299291194,-1825442359,-2001426479,1875280044,634919200,-1879592584,-1331166808,1465997005,-1052950820,-658648623,-88895893,927929970,909788821,-369888041,1703239423,-758028872,-1598888875,-1047836383,-283843971,-1798446242,-660132488,-1353177221,281712252,1696289262,1895732378,347323737,137062488,-1114201804,-280342586,115510833,-1371582718,-2027156182,-778460813,352589995,-830099659,1082664550,-628658016,-1253770108,1837848926,1592798750,217296174,1756697752,-43714734,323868646,1440700799,-1637296206,-1816412731,-1139443638,894308753,359965253,529310249,-993657402,-804218316,-50715511,38353065,1987986826,1504403677,1855327843,1857910686,-1121905238,-1361826384,-1560896800,-1007950140,-1596693517,-1985565866,-1540474385,-1787291805,236795308,50672236,-83697165,409051992,-361107449,-755155814,1104710684,-1761207893,1318147938,518174017,1093536967,-1058316670,-767598765,1007680101,1955135234,-605120339,-1209040051,805027481,-156563176,1974059074,1363565999,2105673585,260898215,158375613,-1445475764,-388351638,-1937262432,-1660303801,-1832485517,974026875,127988527,1431817777,-1298351076,-1731743706,-761530370,1083526376,376323669,464247278,-1562789116,205546120,-1221600076,-1520542979,-583459992,1243020853,-81628330,117378778,-2134806752,699243101,863440234,-1737951050,-362365078,-1765701181,1765982436,-1570225397,1028174856,-1529163950,1235338480,930968011,-1459848742,1387076020,572607356,-1878675693,1212951820,985502249,1312774853,-1027208537,-1105200149,1464025878,-2131596588,-342250435,-1561126004,884117140,-1418057626,-1014465220,673767765,-482634590,-1859102695,-750803322,371371319,732826472,2037187496,2000016967,1828964794,-885508962,-1988352664,223148640,-2117556566,1582446672,747682037,-603760136,-125665629,983452130,-37376496,470098735,1114018337,-727908849,-1307656731,-675743000,-1806680710,-1337220992,-1113627548,-1928772483,-1307280523,-1483161946,925303467,-779694955,170335801,-1089160567,-13031016,-291565892,-1835082560,-547686912,1023411460,-834816313,783169702,-2007515854,625156942,1515800273,789952414,1744299501,120637150,1892383528,-29629194,379989783,-795221955,1113375967,26805702,-1876879179,-1285322116,1131849997,1030453479,-957833624,-1858419049,-1647815466,-1419590637,-198248527,-76680170,555073340,947216806,1889963347,-2013808311,-1707028530,-1221738208,-775347245,617517583,-433545427,-328049073,1002760111,1132582437,1120415391,644673493,1692029574,-2007954449,1229644472,1628898732,-1577195954,1216744587,2090386000,-1853888659,907695053,-2021206984,-379748628,-1141646443,1660859500,908346943,1069428617,-1178269395,-171339344,1442968996,829497096,-245777091,-1648856421,-825684355,120783949,-1004992720,-2052987728,1260498620,988658043,404738169,126331034,1398417054,-1103612826,-361839097,2013191036,-1049586579,1056066998,1225935250,805131807,-2144534884,2105819417,512550039,-628689844,-1642825248,-1452990449,2084057414,694451417,180067854,-194200799,414492800,1216764867,1288838836,-1954471536,647720674,-407228011,-1103719600,1705928753,1408441923,-1130248804,1220662168,-2008356228,-2144326066,-1492941161,-1756860611,-1903769862,-62006124,167008758,-1697832258,-1110499954,1802593970,1036300097,633834617,-1584687398,-1900828759,1602467676,1464026080,-1446848302,-346855465,-776585665,-2128985586,-979683367,969084518,-2121832932,-1195548511,-1302565704,2019802178,1497157558,232738892,-1883449378,-1006427714,903170283,923610666,-740016310,-73028347,544195135,-1645695950,-869657383,-654180335,-533393259,806153995,-2090798228,1556206634,768891406,-1106213518,1790407228,-840123805,1494331057,959473773,-191907963,-71036038,2054253012,-78337816,1329687142,1239340576,293948676,-368236781,1182774079,787569237,1337610171,-1443360168,1373796311,1184493240,1739582577,-384949391,1535319887,132937659,1463673019,1295821471,278625698,629343833,-799542643,-1385767451,431761913,-370445745,648413690,-698002311,-1658436304,-1262948789,-1106010449,-258562011,-255228050,-804165480,951513174,-178514302,1387414378,-151245250,693324172,270847439,165302659,-1656190131,-1525772333,-1801283512,-261400183,-1942202129,-310006299,-1952688317,542197537,-1688897142,1267173244,927377993,485078532,-1942867622,-1623966261,-932390859,1808441164,-287761489,-1071463595,978824487,157004756,1036191571,1776326461,1140901756,-1198906347,-1685504794,649570427,-2030707090,-16668298,-2117903991,-357923732,1940372949,-144591714,-113325164,-2007004119,19663919,1530507123,-1392197833,-454713114,-2079394144,2038304793,-958949580,2027044648,-963115855,1256112513,-237382379,-626683825,-1101371607,1676623698,296690175,295236820,-235945928,1961872057,1217232770,389228050,-1878441640,1743193889,-1359001260,259454340,20055415,2019487528,1566669991,-196921782,271953248,-1470303258,1672960617,-221064848,-55495811,-498631091,136125889,903742531,934432997,-619368956,-1150230155,574354821,-1630330999,509439636,-1569168499,-54810744,1196992946,545233831,1780741199,-2026948782,1434616656,1192509554,-43130286,1514008527,2131286295,-1301756138,477749685,1071406479,-1599277051,-1330122011,-398414035,-358059291,-1257792348,2122037456,-646926980,17518672,887223428,891501796,-170094113,-916507120,932872968,1871526523,-855198545,1213136352,-514619899,1949287994,469062195,1553444719,86425574,-1010620182,-22062300,388644904,-563773525,1552049258,1702529204,1364322972,1939017251,-948564374,417319087,-1574800910,-407327763,-1618999026,2075260093,513146047,-1439904338,-1874605673,-787319728,1491955747,1235499334,-202679910,-644140600,568131642,-715451078,727047318,-1369703122,-377922092,8452444,-1064130561,555055482,-1340700986,1290609768,-1691615901,-511016935,-2026820953,-1563446213,1382392652,-395890571,752076134,1783713746,-2041674412,-347975025,614404931,754148864,2075093096,1566124651,-426888924,1635273103,-782888123,1451970990,-1839844230,-894261091,606248615,-1858325326,-840548181,671647639,2127323716,-2039761570,1254193992,-1921768486,-1163355762,-214180070,-1309685289,-1729315199); +/*FRC*/Random.twister.import_mti(158); void (makeScript(14)); +/*FRC*/count=323; tryItOut(" for (let c of arguments.callee.caller.caller(x = e, window)) {v0 = r1.constructor;f0.toString = (function() { for (var j=0;j<38;++j) { g1.f0(j%4==1); } }); }"); +/*FRC*/Random.twister.import_mti(291); void (makeScript(14)); +/*FRC*/count=324; tryItOut("v2 = g2.eval(\"v1 = evaluate(\\\"mathy0 = (function(stdlib, foreign, heap){ \\\\\\\"use asm\\\\\\\"; var abs = stdlib.Math.abs;\\\\n var ff = foreign.ff;\\\\n var Float64ArrayView = new stdlib.Float64Array(heap);\\\\n function f(i0, i1)\\\\n {\\\\n i0 = i0|0;\\\\n i1 = i1|0;\\\\n (Float64ArrayView[4096]) = ((-2199023255553.0));\\\\n i0 = (x);\\\\n i1 = (/*FFI*/ff(((~~(73786976294838210000.0))), (((-0x8ad0f*(i0)) << ((i1)+((0x51b51d67))))), ((abs((abs((((i0))|0))|0))|0)), ((0x252629d5)), ((1024.0)))|0);\\\\n i1 = ((~~(+(1.0/0.0))));\\\\n i0 = (i0);\\\\n i1 = (i0);\\\\n return +((+(1.0/0.0)));\\\\n }\\\\n return f; })(this, {ff: Math.cbrt(((void options('strict_mode'))))}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [0/0, -0x080000001, -0x07fffffff, -Number.MIN_VALUE, 0x080000000, 1/0, Math.PI, -0, 0x07fffffff, 0x080000001, 0x100000001, Number.MIN_VALUE, 42, 0x100000001, -0x100000000, -Number.MAX_VALUE, -1/0, -0x080000000, 0, 0x0ffffffff, Number.MAX_VALUE, 1, -0x0ffffffff, 0x100000000]); \\\", ({ global: g2, fileName: 'evaluate.js', lineNumber: 42, newContext: [(makeFinalizeObserver('tenured'))], isRunOnce: false, noScriptRval: true, catchTermination: true, saveFrameChain: false }));\");"); +/*FRC*/Random.twister.import_mta(1697698604,-1004589666,-1987629978,-765070705,-1735765341,-225076464,-400078214,1087025232,-553394238,-591450592,-1058795066,843744978,-763934898,835940628,-1744707911,-1453324051,1844117806,-2073272546,1286377418,-1239339544,-1189819442,-63269798,962838089,-1122243035,478382767,619220172,-1786911551,1009364325,-584989313,-2044945957,-227093314,261985730,-1343017634,-2078687030,-1759331141,1054950791,1388102789,-1570158757,643598553,536648408,1926266746,-137158602,-2135729887,-1590133745,397646241,-1449802188,-308388324,939500327,-1396300004,1747566749,-1637866577,1277521157,1850126389,-1736923000,-106257619,-725283463,-727778867,52453113,2121653201,1553532071,-1417897753,-1842402382,-1842325166,280622721,-101791581,16247635,-983833946,1479400516,-470356144,1186216340,1789886033,-1946856102,1618615719,114060150,1823853711,-590574203,1235646678,593505282,-913490379,-121817572,1400834792,1694553195,2104433823,-774276477,1773044143,1426943774,1993297017,1238737891,-1426102389,-1129209806,1991699737,1507889015,864145155,-1669117758,-1656778872,-926199276,1546166177,829394927,-1758276107,-1430323801,-396216912,-15059659,-1148636777,414997509,-2044076832,1599499564,-1568347729,1603816812,1034823463,191054248,536434157,268159179,-2028434592,-480472629,1403235317,1503171456,-1338120477,1285076533,-1661657010,-821770723,1388274563,1125886188,415909866,-580061037,-1893045447,478776876,-680135558,-1380289804,-1387526060,745458101,424809879,-472898640,-107932238,300013209,2011200947,790367592,437797065,-2112765116,1144519634,129353639,-1304799653,142796352,-1103334704,-404888515,-1187257763,-1956806265,2087001474,984149371,309264724,-759174338,1945071186,883008978,1364546041,-2056263748,-1683043372,116630582,-1377111391,-624606742,-2045039180,-497669051,-1570052977,2095185966,-181297008,80504071,-991222619,-1546273631,479858386,-1837691911,1580141624,730139325,-1036480469,1623178509,-2045704541,1066569331,-212644149,-336783941,1039280365,-921063613,2051490760,1414284661,1271577880,-347199516,1357539144,-1081572983,-1328100809,1100457550,1197783759,645935201,-1086906196,-1353094000,454498054,188037726,1334441166,1276463363,1903959491,-665552370,-504744055,1257199446,-1150012786,1582423831,-1655410752,-21253800,519057312,242357262,-1243215733,921859306,1210287224,-115777454,1227298438,-1881620994,1885924401,1079800851,850216744,369118641,1957016864,-1672926421,1463515544,-1505238752,678540029,-1844968315,-686671720,278412290,-1731643415,-613636336,1042751343,-2140011642,1232872018,212795503,369544154,-1672468014,-288132261,974653791,-1005289523,-843362251,74752740,-1717198094,-597983883,-1345516050,-1123390857,-59315278,-728039782,-984679864,-1753030683,-1159651226,1012377297,-1425390,1982776261,-758597958,-1240298777,1632005641,-472622057,-1022388146,-454426199,-961430638,-21848849,1827279850,1510450712,1962162469,1879113998,-658724352,-849957206,-124794949,1616987909,-324358343,-180462840,578246208,1297943423,-957059891,-530973703,708844296,-1566564512,802563125,-1769458609,1069939016,-2034506778,1424029100,1759855230,259530538,362063931,-1762306964,533046308,-622924775,89186029,-1703226458,-812020689,-1653993258,556793516,-67745927,-1911186591,862695204,-1974822150,-1261523132,1533086659,884458384,-1824381540,1240076313,-1450858900,-1371161255,859639447,-669599177,-1930253245,1591272908,1106032813,755173770,334212820,-646722286,100040838,1832086464,-189294846,-1083538010,-770043745,486555353,-1845743093,128980559,-875614173,740868240,962303099,206710209,853570981,725172359,1025975939,1256916506,916940277,-2034651816,325258359,-706598995,-819057927,1813797330,1780313558,-1203051046,823217994,-1724528941,-1284915472,-646216687,-433539195,1658257916,803890529,-1861267907,267237253,1624382259,1964135263,2128662995,378711920,2106050107,847556246,290434813,-900134630,-243167540,255982764,-1518216492,-83494967,-1964311567,1338259805,2107661423,-224314532,1184074899,-1667238325,117634905,-2018456964,-38510452,1375322558,-1117188569,-38761943,1566254004,-63492850,13489961,181622520,-321005412,2100974873,970364335,1815515870,-1442961104,1426907788,329565740,285822091,109997373,1042212874,-2109947502,1949074645,-1433371958,-644980593,-1687324454,-1012554567,-188431107,-1493917749,-1434105233,-457603997,-1514893472,518230257,919843898,525005330,-317113600,1192221436,-710582510,-1669112352,-1590511989,-569591190,724215998,-1582204329,-2019459307,1374839910,-440835124,-186296574,1219072499,1994867373,-1882774449,-774061668,-393882107,-1767100839,768791458,-2111646211,-680100092,1702415710,1336286285,-1970400457,1157646828,556364133,-1513979900,533279602,-1099923462,1868152415,-610051292,1977342825,354617585,-804135852,165835276,-507037049,-1793470191,1970438827,-1345100231,-1043740125,1613802664,-1693483758,460358789,1260616369,129250334,1284274692,-1234594887,-1591766818,1254720671,2114517501,687787275,-1494802326,1046632493,-1657145793,2094536251,51565245,1257742470,-2026583685,1397145823,-1858213068,-551943308,1600429870,-1498004353,-798385391,-551102315,-1845848809,-1961840411,-1196168028,-899636017,-878557032,-756675362,1687911991,-1447152941,27865318,1142143746,945131006,-801691792,1118292286,981083300,-1730067496,-1189477372,-1305551263,-1132615897,-776840819,-913154468,-1196461550,-1769923039,601159291,-547693594,-1171333544,597027364,-1250646750,-292306562,-75573663,41144701,-1698967216,685839993,-605811679,470309009,1458445758,156863255,-2087515115,-1190694009,13758342,-1850842032,-1147192536,-1435736822,388088873,1979146700,461588105,-1927122705,1558467840,-2111934159,403159936,1378865913,258270728,602592176,1835459221,1064388040,-765459178,-608700964,1975061821,407279124,480669208,1715377304,-294809317,162342916,908015593,1995152577,-267975691,1532456833,-544526590,-424996570,644955200,1298193747,-1145377042,96850255,-222187724,1115366148,1203914786,811699949,-406504389,-236927042,-876628076,-310119287,1751041443,1425837703,-1805716988,1353677734,-359075578,663992718,1990921922,1181108243,552235903,1919278477,826915525,666286321,-384958934,1376321277,-579539748,-1112727147,1785318693,-1425452023,-977458673,269127371,750320668,-2041436126,-1683580640,-1836569979,-1507055229,-1380083823,-722661642,1101748052,-1548613017,658850507,-1072485123,1453937770,-1417181861,126064521,-1756159214,2101651985,-174070660,1545291674,-459806693,-563566408,-855056132,243007239,-1372002478,1982961040,292406411,-1571833023,1816004110,-919267328,271518158,-217291626,-1108075486,-390585698,-303844710,-440678070,992850304,1755997024,-385865734,-800885900,615690846,336102591,-1796358838,979333229,-1663660327,1445699622,-15900748,-632392203,284679741,63527998,899212408,1198234695,1126493906,1747835378,-265760755,-896614780,143990892,1844273223,-1575268298,457315561,1756920948,562405843,904294037,2049593270,-341628179,442209851,-1405570913,1568410068,1951160596,-1399532548); +/*FRC*/Random.twister.import_mti(4); void (makeScript(14)); +/*FRC*/count=325; tryItOut("e0 + '';"); +/*FRC*/Random.twister.import_mti(13); void (makeScript(14)); +/*FRC*/count=326; tryItOut("this.zzz.zzz = x;x.name;"); +/*FRC*/Random.twister.import_mti(49); void (makeScript(14)); +/*FRC*/count=327; tryItOut("let c = \"\\u8D82\";print(-20);"); +/*FRC*/Random.twister.import_mti(94); void (makeScript(14)); +/*FRC*/count=328; tryItOut("\"use strict\"; \"use asm\"; mathy0 = (function(x, y) { return Math.fround(((( + Math.imul(Math.min(Math.fround(Math.hypot(0x100000000, ( ! x))), ((( + Math.fround(x)) >>> 0) ^ y)), y)) & Math.tanh((((Math.max((x >>> 0), (x >>> 0)) >> 1/0) | 0) ? (((y ^ ((y !== x) | 0)) , (x | 0)) | 0) : 0x07fffffff))) / Math.fround(( - (Math.fround(Math.hypot(Math.fround(0x07fffffff), Math.fround(x))) | 0))))); }); testMathyFunction(mathy0, [0/0, -0x080000001, 0x080000001, -0x07fffffff, -0x100000000, 0x07fffffff, -0, -1/0, 42, 0x080000000, -Number.MIN_VALUE, Number.MAX_VALUE, 1, -Number.MAX_VALUE, -0x080000000, -0x0ffffffff, 0x0ffffffff, 0x100000001, Number.MIN_VALUE, 0x100000001, 0x100000000, 1/0, Math.PI, 0]); "); +/*FRC*/Random.twister.import_mti(374); void (makeScript(14)); +/*FRC*/count=329; tryItOut("function this.g0.f1(f1) { \"use strict\"; e2.has(b0); } "); +/*FRC*/Random.twister.import_mti(415); void (makeScript(14)); +/*FRC*/count=330; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return ((( ! Math.abs(Math.atan2((Math.atan2(y, Math.max(y, Math.cbrt(x))) >>> 0), ((((y >>> 0) / -0x0ffffffff) >>> 0) >>> 0)))) & (Math.hypot(( ! (Math.fround((mathy0((y >>> 0), -Number.MAX_VALUE) >>> 0)) / ( + mathy0((0x100000001 >>> 0), ( ! Math.fround(y)))))), mathy1((Math.log1p((( ~ (-Number.MAX_VALUE >>> 0)) >>> 0)) >>> 0), 0x100000001)) >>> 0)) | 0); }); "); +/*FRC*/Random.twister.import_mta(153435761,-445453212,2006660749,-2067792408,-1661751740,-2131299777,684509659,1499901260,-510086305,-1313945217,-1314876052,-1080586754,1966828328,388663934,449760173,328027593,1301296066,-321366830,1578163992,2107839618,-606090711,-630170487,972372023,-1206858793,-908649150,-429024810,-767594852,1737068084,-739996098,-1728294696,-757654544,1653281796,-304118180,324019361,-1505182028,727297935,-1823696905,-2130342398,139098482,1977894329,-1920990302,2018413713,-2091054521,-1395030542,1010052625,-802680988,-57329311,-1956977231,-1849407830,-1792379979,-1242716453,689906110,1601868955,1960839805,745551127,-1406971113,2117000156,1985725990,1751312921,491547067,-1039719108,-240402419,456453968,1851628566,194333096,1177980772,-978789135,810698574,659138504,-1811250679,-707949091,-1416464590,958140703,934483264,242545177,-688004598,-1379028698,1820096072,-1244871342,-787417242,1024050379,-2073310997,1858000504,1475423824,152264107,387691457,1399955536,1997133179,1546322276,2028476163,-1659248355,1529633663,306838768,410114682,1832657437,1955590938,951583919,-1841285725,1576643164,-810671632,1290391375,-739382211,-1599996143,412592377,-494320007,-726757112,-304982137,-1613227828,1470001709,-1718551519,-1122007286,1860871973,-673726990,582574131,-142885860,-189837677,-419267119,316472895,-1733015735,507154437,673250418,981079068,-1051373481,781878966,353609879,-198060737,-1334433700,1893152874,-2107700906,773543162,875413655,-1912003091,-1820100457,-449133020,670009433,1942072448,-253221348,-1448850819,2001840005,-397713839,280886695,-1958687892,-1169606297,789426423,-80361070,144277507,-1036349839,702411733,1530538002,1220414956,1038510616,1487922697,1354698019,-1868330698,-19598450,-443284310,-966003460,-2035237675,-131520458,-461029756,-131913675,-1589753496,1239853273,491850510,1700788510,-1700787809,-778542473,-861565829,-1416661174,2013778999,-1073857997,830977749,-1052614545,938620072,-1850044397,846086357,-509665052,-1716237825,1833319133,-387072400,1004334325,-967977738,-251828853,-804384433,-1031509914,-695931978,1132310767,263494040,-1532964130,-260073567,-316489807,-903395075,1522130196,-1701113922,1149263463,16616673,-1254827809,956869401,-500638741,-1706587478,1157802177,-743532279,1360177697,2096556846,-2127081600,887495681,1061547031,1359703867,1082639032,-1575475179,-787786972,-377588839,1485187203,851966716,-87997171,-913904390,140633209,-1517808171,-1316416690,1584362201,845566391,2127495622,2012071347,1780715511,1564805143,284313661,868999956,36068252,-346359667,-1711652865,1086015896,670114173,2133060346,1794545833,1437891637,381533498,-431468664,1982664840,-1045628889,527832165,1972238170,-939060096,1325260282,-1967959947,-751995685,-1139864027,1422348255,433995653,870046546,-1860720925,-644413456,581610825,-2060106721,879661108,301762497,-18391758,999226517,-354968713,1322598660,-1955278583,-165709917,1332784617,-2080094004,-372000141,-801233630,-1209250798,-812203264,1688489601,762216725,-1844640265,1647978295,-1367833367,-1882524736,-3618670,-517300377,-1514739819,-1835631584,640631321,577080200,278414985,-1064842066,-137303362,-1591854396,-2132103916,955174477,955585871,-1178600744,470112339,-1474422881,504472109,876268468,-13796202,1550675628,-871772609,-844103779,864777470,1512107130,358333001,512858870,-429000735,1491036070,-1215684976,-1065589041,-1539807668,1086689473,-147356399,-410434938,122818378,-606172616,-1631883544,-2139520541,-1729760143,-842332103,-274823010,555595059,-644973690,-406211268,492923664,-675787805,-1781342354,1023695223,-278454216,2010326454,-402574773,565810858,-1553592321,-1180693223,2045213092,-808935728,-131508044,-1928987825,-1153591039,555475935,130989210,-290219982,-647761854,136309728,1675750423,-947185053,1951802498,-2067679227,-63771740,1399070033,-29349222,-2089576034,-1114061884,1727682403,1870660132,683342198,635378540,-219722863,-336001818,1407798231,-1993951758,-1969860868,353911468,-191717495,938845609,-254601813,-75524024,1653010920,-1069580910,493632858,-822890341,1892290870,1916275961,-567954913,-148346892,245576036,-1940754424,1005757551,-1850492716,21750549,1404475627,-1282247276,1144347671,1235250469,-554133331,1307040620,-1519350341,-585812645,101617933,117364235,202968006,1257941309,326982360,-1235257036,777670802,-1168665739,1178849744,735942286,114824288,-1334663658,-1613116281,87320545,-997643649,764575848,908998599,-346048128,-1447341476,86934862,-339199086,-818792205,1139028333,123693831,94919187,94889389,-377337082,-1868251865,1759821738,-1145753907,-1338503479,1751078223,-550368853,1832172910,758962867,-492906589,-1564072440,-719358208,-1273122076,-1219845588,-1486552308,-1822115770,-1656998155,2113507871,1271133815,1237570301,-1498195637,1565498058,-1459683345,216972666,-1934561015,-531173732,-2082676336,1389458740,1723989946,539250966,-2122015925,353501449,-24451934,-1078973274,-374155976,264204339,-1611288647,1122807319,688442063,2064949914,-1460369963,-1905995402,2138255401,95325773,855066496,-1700668707,-1023959485,-188905719,984548057,1165678418,484622282,-607534139,452120246,59088582,-1091472399,-1687546740,-1499670533,1411697929,-578404648,929925085,350098373,-717617454,1116568598,-700558729,322087732,2067361129,-1525230650,2098663595,1871471195,1130338604,292932626,218611898,-668849357,1705272614,189191504,-1985036915,-549902470,853984022,1133029804,1175251690,1122353516,-1736691330,-1351399917,1954008871,1224676343,1919370510,-1879165757,1819507881,1889606785,-952420494,-1331530244,-1803340785,453238875,1615937594,-1890011673,1035038674,-560619040,-1775232070,634910860,23932753,1866206523,-395818918,-2010236849,-315533318,-616892404,886464069,-1209217580,790237727,102789069,1523004975,-1237458785,1565524521,-43622519,950716704,-496343012,1088355437,152597082,-1427938241,55373185,1032302489,1639952444,-692613358,-476232994,620761573,-365969917,-1882724658,-2108253876,-392477231,922310710,768448884,-1974011679,-256751198,-125341510,-1135127463,440939090,1672867664,1857305692,-1118096119,1444161118,520172489,159557218,527167385,1500074968,803148382,-846872345,803869988,1115039937,-1461023202,-644554530,-83866459,-1059670049,1802583196,-351975487,-937900147,-2067456183,-1179231256,-2133959156,-1454637651,2122988738,520261303,134924919,654020799,1489865944,434818893,-1178834016,-745185271,-843508815,11818616,1312721160,-68529104,-436520904,-1864249810,-1034479283,17422477,-58110469,830656172,-1132127378,242456546,-1373037638,-1893496569,343353509,-1293772489,1090184602,-89751253,1145701067,437892419,-1937970384,1680119156,81129409,1215658209,-1399761956,-89757497,1053641935,-1483140402,1658923605,1171386888,1399594777,1682302545,1819651077,-1855561406,2081025410,1665781327,1119110717,-1545139398,1542914342,-942350221,-2113714418,-1483722588,967578848,2069296651,-2029735129,-755142750,1063669382,-244856723,1058163563,-758955135,-267866225); +/*FRC*/Random.twister.import_mti(51); void (makeScript(14)); +/*FRC*/count=331; tryItOut("for (var v of g0) { try { a2 = r0.exec(s2); } catch(e0) { } try { a0.unshift(g1.b0, this.p2, /*UUV1*/(y.keyFor = function NaN (w = length)2), h2, h2); } catch(e1) { } b2.toString = (function() { try { e2.add(b0); } catch(e0) { } try { Object.defineProperty(this, \"a2\", { configurable: let (z) new RegExp(\".|[^]+?(\\\\W|\\\\u652F){1,}|(?=\\\\B{1,2}|\\\\cE)?{1}([]|\\\\b\\u5486\\\\D?.)?\", \"ym\").__defineGetter__(\"x\", encodeURIComponent), enumerable: window = (4277), get: function() { this.v0 = Infinity; return /*MARR*/[Infinity, false, false, objectEmulatingUndefined(), false, Infinity, objectEmulatingUndefined(), new String(''), false, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), 1.2e3, objectEmulatingUndefined(), new String(''), 1.2e3, false, false, objectEmulatingUndefined(), objectEmulatingUndefined(), new String(''), false, Infinity, new String(''), 1.2e3, false, new String(''), 1.2e3, new String(''), objectEmulatingUndefined(), 1.2e3, objectEmulatingUndefined(), 1.2e3, Infinity, new String(''), new String(''), objectEmulatingUndefined(), 1.2e3, Infinity, 1.2e3, 1.2e3, false, 1.2e3, new String(''), 1.2e3, 1.2e3, 1.2e3, new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), Infinity, objectEmulatingUndefined(), new String(''), Infinity, false, 1.2e3, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), 1.2e3, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), false, objectEmulatingUndefined(), new String(''), 1.2e3, new String(''), false, Infinity, new String(''), 1.2e3, 1.2e3, false, Infinity, 1.2e3, Infinity, new String(''), Infinity, false, Infinity, objectEmulatingUndefined(), new String(''), Infinity, Infinity]; } }); } catch(e1) { } try { v0 = (p2 instanceof s2); } catch(e2) { } a2 = arguments.callee.caller.arguments; return a1; }); }"); +/*FRC*/Random.twister.import_mta(1638630609,-562172115,604536093,-1534667909,523538700,-1258071256,210367273,-1880092167,371225451,-1981693643,-74250103,-313139596,-1603798162,-1323018372,1571259407,1258947567,-1931779996,-1706849422,-865764721,-2085971566,-1969935770,-1656873689,-1496705590,-1585592211,-374100029,-1603728770,-1006527181,-368616344,2101603432,-1956751009,121196048,-1166054256,1227101941,-2125429118,-372381416,976381827,1509635800,-856424749,1041873127,1383891780,-571638161,1681701746,-514434953,1401232058,-1784819277,-306777268,-189375410,1335020894,-1368642422,136451775,-1556492659,-1195911285,-723030904,21065747,-773297827,1337520989,2123354231,-471478419,-1930496906,1650397399,-1486206503,-1883909899,-1396030944,-855094569,555975526,38766779,800280237,-1625749241,-596297319,-1436865493,689581484,174338911,1154973821,-713563859,2001222073,-610706864,1474669822,-497559492,-1566043849,273174141,1616084840,1513985699,-1366505449,-1354496368,1067717517,-768328257,-608050632,-1574818204,634917192,-535422754,-1511490761,-587041738,333092969,1869248537,1336424128,-354133698,-1161777713,-117500427,570699117,-2122049888,187887278,1978313188,1513587003,-538560880,-164789287,-735544343,-761355072,1050740598,1608182114,1383998182,1032523493,-917814315,-132313410,218767714,817500006,-638772137,1624416344,-2110121806,-1823253913,962584672,621316131,24285799,-1770377311,1357026925,1918381701,-962148357,-826675555,-53378874,-1156719129,-483007314,1001198246,-1204525056,-1011577734,1991441277,-648541742,-886750588,790777186,1748624000,1571699700,1748958958,256452605,23706878,270330705,-1701761231,-180996789,1793809449,1358833128,377506393,-725075401,-412735880,-1258723891,-730781133,-58305984,-278403987,-1146166376,646872495,-1548343798,513356788,-1974733377,2038782938,-1417777920,-220836273,1374217243,-1408484457,1889807008,-1951008574,82953997,151617274,-86814207,587157841,-197051310,-1524376377,-376096428,-551242146,-1125963585,279529070,-1748357373,-446236234,1298547942,-1026831321,-294900022,-922617004,-169928580,-1735310557,-585370218,-1259495807,-330622610,-146692793,-1794832130,122053559,-1186026342,47646174,879153828,-497381442,-337183177,-704582553,-754873833,926832528,-1770315958,866104324,1759260354,-661386803,1799239677,36577299,679550142,-1756027580,-408483102,1193601722,1372519196,157927783,-266387057,1770645463,-1041247414,-818271788,1792288455,1813458627,-1134644187,-1233265144,-1246298939,922253743,-391899087,1588085696,-985426182,1974915454,187865901,-842944299,-1800347938,-1768641902,-1147049185,-573344572,2065391667,136517929,-616452177,1584094556,1834055165,-602386405,388157808,-438939226,-1047634200,-1517599828,199793828,-305389835,132781911,927605292,-369055597,883088618,-467193073,-1977469357,-204116173,-1422626639,529897001,-107639734,-538047722,1756696608,-876719057,-1573991033,1243140197,-440877552,-145504345,-1601067985,2035511142,-415148745,1871904131,1064960282,1149454352,1489427275,-1090618017,171494872,-582104798,-635607910,279236367,1192885606,-1194313179,223366074,377353139,1310618664,1049034456,1861984877,1604015771,-1403239381,2012336584,436283742,-1998416170,1358228518,570573417,-715695893,-2092201463,-2025610485,224252569,690893011,1844362114,-134841012,-604871230,546413796,-1361783400,1861142349,343699047,-1387010139,-906944206,1832077835,1824668982,145357527,1471193761,-329507829,20919478,404604913,1134272687,986837265,-700301210,556523565,-1672265018,340297592,-2010270192,450063828,-1465234862,-213078514,-1572733873,288889776,-1352470637,636741404,-1295354730,1656084990,-849251342,651301443,-1314371360,1079919361,189831253,466945327,2098187556,1550980856,1353439334,1207887431,506526713,-1765961239,-1650076048,609729634,263736106,559893652,-1530762753,-1403522899,-261277365,-653435610,335301605,1385222171,-551936371,-1344733467,653339509,-955321527,-581818790,538511517,136414681,1013151704,1169298348,-31879556,509176938,-986180764,1431568510,105756023,-2011839332,1028411722,940457994,-1648801925,-791560033,-1556269686,-1479129769,1579796917,-1788490557,1444055320,940949893,1419173164,1288248834,1502050202,-290567385,622082562,-1472124428,-1895086319,326734496,2134360824,1579467892,-1176822880,-1107564327,131065371,-1381016470,337562977,1189466743,2010735988,1940926173,144917948,335510032,755334274,-396474434,2146397416,1086201341,1729230585,799895011,774809336,482897872,143544369,1559922189,-143086467,94711128,-248314698,-2000177193,1956850899,1286062965,142647149,1342235391,1972787173,-758859758,1014498593,-437825009,-490111855,185051860,1016674356,501598277,-840322436,104308853,1654541090,-791237464,-2076168741,1897212738,-1930944740,1477076833,-1419179062,-1808179499,-894574760,183174517,1811156946,586943200,-299910776,720818673,1774976692,1268335867,-1676380534,-467809720,567960009,678830850,-457388593,730739039,1632393834,1724065477,-1244400431,-1916333205,1547317927,-1888389113,-826723624,-1873255217,989176409,-2081385422,1938819481,-240934740,-1953444600,-991475624,999207022,-1443003942,1078849536,-1485380260,1530056713,-2032318878,791932772,1783854602,-1428980632,-156915559,-562016637,1136951758,1039053365,1814153733,412072102,1152141565,801548578,127521678,1242468188,-5970230,-724706965,-633156563,7069436,1015239995,-1141826866,164759125,-1564950742,1407638240,79799657,-923603854,-1682148556,-1884109707,-1429857077,-701257099,-1509421207,-1739308354,1686764305,-1670752444,-1014486132,-796291203,-1680331564,355140460,1209280013,-923611877,968997571,1417752930,-488339878,47363941,1480041766,317233851,559409308,921595369,-268661590,401985089,802072175,866946172,2037796190,-969494698,-1373701096,-1414780770,-1235491948,-44049347,-826347331,1309846042,131937669,1326002478,450171580,-1979180794,1146594638,-632702727,1594163195,-201904390,1376509776,-931998874,1956118853,-880487056,-1919488577,-1390615150,-1027441041,218245363,-453072721,1797265717,-853229525,1269361312,141388385,-2059588053,766411252,-1020487188,-1181802125,-1090374470,211526038,933551989,107638129,-2121495745,959458543,-581483896,-184454808,-784717690,2112780149,-248103371,787062344,-1602349769,156982396,552324636,1353420752,296180362,546690187,-1124912582,512921845,-536543559,-1261167351,919598375,-2016564953,-1121471746,1530479188,-1555278843,-1753086273,-1044705046,1691923694,-209825799,718291490,1005722927,940334185,726330613,-168052594,-2020167658,-1795109654,-1562813130,1794668226,26839232,1907823263,350333064,1218792089,-2088209832,-1618677052,-881462793,-1229743527,1696626781,723966028,1688673961,-58233426,-925331083,1246619657,573647119,-106552211,634962215,-941621748,25844074,-1747475153,408267539,704095689,1772637506,1920721292,-388990532,709238098,1784648073,-1988424391,-1094236551,-418295064,-1548748394,1475239650,-1188067091,-1080870167,-1134620884,450697449,-110022645,-386583945,-976355491,2039418230,242903756,-183165593); +/*FRC*/Random.twister.import_mti(156); void (makeScript(14)); +/*FRC*/count=332; tryItOut("\"use strict\"; mathy0 = (function(x, y) { \"use strict\"; return (( + (((x >>> 0) / ( + -0x0ffffffff)) >>> 0)) != ( + Math.pow(( + Math.fround(Math.min(Math.fround((( + ((Math.pow(Math.fround(y), Math.fround(-0x0ffffffff)) >>> 0) ? ( + 0x07fffffff) : ( + Math.hypot((Math.atan2((x | 0), -0x080000000) | 0), y)))) < -Number.MAX_VALUE)), Math.fround((Math.fround(Math.atan2(Math.log1p(x), (-0x0ffffffff | 0))) ? Math.fround(((((Math.fround(-0x0ffffffff) | (y >>> 0)) >>> 0) ^ ( + ( ~ 1/0))) | 0)) : Math.fround(x)))))), (Math.asin(x) & y)))); }); "); +/*FRC*/Random.twister.import_mti(427); void (makeScript(14)); +/*FRC*/count=333; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return Math.hypot(Math.fround(((Math.max(x, x) % 1/0) >>> Math.fround((Math.atan2(( ! (Math.fround(Math.sinh(Math.fround(y))) | 0)), (y >> (Math.cosh(mathy1(y, y)) >>> 0))) | 0)))), (((Math.min((((Math.max(x, x) <= Math.fround(x)) > Math.sign(( + Math.tanh(( ! x))))) | 0), (Math.fround(Math.trunc(Math.fround((Math.max((-0x100000000 | 0), (y | 0)) | 0)))) | 0)) | 0) && (((Math.fround(Math.fround(mathy1(Math.fround((mathy4((-1/0 | 0), (mathy2(Math.fround(x), Math.fround(-1/0)) >>> 0)) | 0)), Math.fround(x)))) != (Math.imul((Math.min(x, ((mathy1((0x080000000 | 0), ((y !== Number.MIN_VALUE) | 0)) | 0) | 0)) >>> 0), (( + ( ~ -Number.MAX_VALUE)) >>> 0)) >>> 0)) >>> 0) | 0)) | 0)); }); testMathyFunction(mathy5, /*MARR*/[x, x, objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), x, objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mta(-1095231624,-1745483684,2083747103,1245668830,-340612830,1468792476,-363621136,-1631630817,-1787244760,-1262365084,54311135,-2097723995,1693068959,305930455,1581567417,225057510,1907948941,-488651299,-1942159691,1132279110,-1257638546,-2085378483,1307998514,-1664856964,-589522397,-1560143577,-563436034,-359094047,1443513128,1232577149,1993062810,-546918075,-289932599,1578116477,-1378189910,1734664087,593836348,572106468,149168235,-1618465558,-1767731082,-2110935621,143578935,-184189245,-1022849673,-140755636,1005802504,-1740149182,329288024,416035670,-5834429,-377281930,-1439170225,1079977181,1967391865,1655181500,-1821055225,-276104223,-1469396812,768307567,-2048882516,-793221262,-792757552,985839545,855378154,2020917008,1208253151,-1258902051,-238316289,950852819,-2068508202,-3196900,-1669994133,-449478771,1740776052,-1806290763,-437897867,303985769,-783857379,212527759,266821952,-2019765631,-182797214,-1791204359,-1261237399,-1525539474,-894606330,-580989743,-1697836892,500115249,-930531982,1219608149,-902531134,-1145156572,-151386349,350316869,2125403889,-584997627,1221995869,-1922319796,53800497,-527285984,-854090478,-523450794,-1423235059,2074593499,2114415399,419633496,-960258599,-1875314196,-1838958758,1336019747,1072913903,-563369755,467714796,-607815502,-1220087859,771670481,-1844379507,-979476780,-1637036951,-583231967,-340989611,707575451,-32737684,605945704,560742296,930705622,596716807,-1784391115,1753363781,-1436642483,1875321054,-2119114373,-1487872211,1519586882,-790472209,1173816527,-113524900,-721106559,148485150,339471196,-1175542093,549401494,1441939384,-1753405874,-1630325659,-2067238223,1977187917,1123584262,-905967319,-1558942808,465187713,-1930602166,-1214121603,-521327312,1638205362,1012096823,1973023121,894761116,-1329063896,-530868136,-1348765281,-996071574,457731220,997502432,-1336892812,-1834029832,1337635152,-2029572905,-1868555032,-679032657,-133145200,113390698,747378649,1637083303,1482899193,1564557148,-2141123931,1551694736,-1854192348,-42386392,1077992868,-866867203,-1450833571,2008810615,-1826656029,1583557879,-1844524131,-1624300523,-554733525,-783902555,-2019631738,-1982089319,-651288928,-1808831619,-1491581338,-1008394544,327299595,375340654,1290047572,-917542394,1606442714,365614901,-1669515379,1803955810,1248186516,1095708876,-272124448,1238854052,-947233178,1252554796,-286909997,1386603973,1209169238,612897627,215003622,2063353424,2112337633,285586411,1971927305,-607061130,-1842455864,1499202068,-966302269,1143080355,-1101051858,2053116456,-115363266,-1732872743,-685352555,1595592234,951996466,1173593809,700175053,-555112560,-2044002633,1677432747,-801971085,555638989,-1110270094,-2068220211,382667760,-575661797,-1198609496,656922605,-1620795728,1441526312,1327574730,-1691090183,-1609659815,-1288986712,-682061513,1656569654,579305213,-1441883195,2074869109,-1804932458,371643277,-1843507846,-189251783,1125888948,2027544346,19176756,-1754104930,-1902924261,-627815930,-1207667481,-282910730,-640417681,-695631760,1181229242,-1321985903,-1446699762,-1085778858,216266292,-1229368641,1231282897,1722134716,-775886421,1298116722,1899319058,181561007,461207276,1546250059,1892138351,-144568267,1514590527,1562890180,-431479023,20547871,1594178059,675049826,1601048595,1518960292,1660752659,-1223843874,-531791537,274607558,-1441466384,2020160057,-720190469,997232239,-1518751954,-2028460210,1770138005,-1999985960,616972659,1308725832,-80536319,-552067003,-1329213343,-394548348,-554155729,-1527211050,1390763612,1431513833,1177612900,440946139,-749646455,-890986277,-800407830,-561983301,1719349889,604386394,-730410584,428443652,1035143331,-827635108,-448630495,1513817514,1027335470,-370036496,819298335,1260963689,-1054885812,-2137563226,420098938,-2139012182,-556961387,-1293089162,-887728191,1803919456,29577300,-484831620,1482761704,2131859375,-255467708,339255984,1991547750,874317175,-589987910,454113366,1849723309,367360356,1228614968,260714577,1820907275,-185025560,1941962971,375714329,1446023101,185439367,436325275,-1276423990,1786898914,-1106408179,-1914969085,1047561674,-1618335310,209487963,-72504588,-973653169,-1963745121,1514496486,1013298973,2103666810,-451777773,-1074141576,-598771918,1442978456,-1586079928,871037791,-606118314,130018701,-716614112,822434370,-1187535584,-153541095,-1682679232,-1151954658,-1574972747,-1846221245,1049535578,-2051424380,1105102520,440972304,668331825,1966222926,-1161639108,1046197809,-236487443,-2100638191,-415731812,-1073102795,829016837,-4235075,-1206314707,978161255,-340016004,607693162,-335160265,1777375341,82125854,2023224777,1209903992,-1369439868,-159111553,174997143,-15448025,-1884309481,740531663,-2120487272,1946966483,-1498156676,-805371794,598030727,1570411812,-29313342,-1816951043,556738671,549004591,1703679271,946550192,-2002079497,-67328927,-494813284,189134358,2047759641,1150237294,-784027790,-1745269700,-744637737,-1839153862,497082172,-1396493223,-713567720,1953592080,990924645,-1426093410,479487120,-1542143505,434462100,-1432254269,440855080,-358301552,1814539522,-733414748,142817688,228059959,1352278245,-874400162,681652238,-406274480,-469467538,2133504430,760855710,109841363,-1822809508,352576055,-122200395,-2023958323,-733377657,1800226937,366878038,-932694904,-2033414242,2112829868,-1569210307,-1096025017,-103457443,117311684,-405757345,-1518719088,1476482092,-466110872,1477638673,-1198383514,-1470628125,1995240632,1625327858,1715342591,-1015039887,-1878930512,84334398,1381157284,473722321,-53929791,1998218135,1767240700,-2048995427,791980500,474481274,885445780,2124260484,-1269307581,1596918339,1418327628,1301178813,701051140,1282541792,167768836,736775333,281366260,-1542383170,976132809,2091781388,649925000,1383052117,758676961,1027982004,-291171833,-1804084175,-1896478557,-1991741721,879182965,1229997965,1571510401,181470715,1845427366,1561338054,1485931496,-1024078563,1683103389,-1688432199,735438616,1712134382,1150158735,-434990949,-907155598,456614217,-75923061,346590871,-678824564,-603098109,-2088322917,381807393,-464584289,-1429600674,-1239563016,-2122008092,-2053792865,-2097013108,-1866583488,2032051869,-555831982,-854083895,1390979311,-1267089484,-142071315,-426477382,-501085974,41747991,1123554794,-2082187466,-569206059,-1286483777,977509547,434103361,190326805,1940851235,1135450463,218694905,-69195289,1976254895,-1735039979,1279870753,2010537340,-1772807729,1249744589,456962764,355056900,-387443544,100328469,-774716776,-180583740,1006795193,-355026371,-1805520306,-527099786,261269437,414216001,1422024501,1130984808,1911922904,-1235181166,978422619,-946317289,-666741262,-2060314630,403751639,-1889074000,-1315515098,1236750043,-600859691,-1953375578,-1989379685,-98213245,1019437323,-176035652,-1470630110,1449660742,-1094813359,-1264963861,2146863243,-1460231793,1339188971,518437316,1332607825,1780132146,1112089313,-2105242910,-497239852,1158987692); +/*FRC*/Random.twister.import_mti(266); void (makeScript(14)); +/*FRC*/count=334; tryItOut("\"use strict\"; let (y) { p0 + ''; }"); +/*FRC*/Random.twister.import_mti(300); void (makeScript(14)); +/*FRC*/count=335; tryItOut("\"use strict\"; v0 = Object.prototype.isPrototypeOf.call(p0, g0);"); +/*FRC*/Random.twister.import_mti(315); void (makeScript(14)); +/*FRC*/count=336; tryItOut("\"use strict\"; let y, b = /*MARR*/[new Boolean(true), new Number(1), this, this, (void 0), (void 0), this, (void 0), new Boolean(true), new Boolean(true), this, this, (void 0), this, (void 0), new Number(1), this, (void 0), this, this, this, new Number(1), this, new Number(1), new Boolean(true), this, (void 0), new Number(1), this, this, new Number(1), (void 0), this, new Number(1), this, this, new Boolean(true), new Boolean(true), new Number(1), new Boolean(true), (void 0), this, this, (void 0), (void 0), this, this, new Number(1), new Boolean(true), this, new Boolean(true), new Boolean(true), (void 0), this, this, new Boolean(true), new Boolean(true), new Boolean(true), (void 0), new Boolean(true), new Number(1), (void 0), (void 0), (void 0), new Number(1), this, new Boolean(true), new Boolean(true), new Boolean(true), (void 0), this, new Boolean(true), (void 0), new Number(1), this, this, new Number(1), new Boolean(true), new Number(1), this, new Number(1), new Boolean(true), (void 0), new Number(1), this, (void 0), (void 0), (void 0), (void 0), (void 0), new Number(1), this, (void 0), new Boolean(true), new Boolean(true), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), (void 0), new Boolean(true), new Boolean(true), new Number(1), (void 0), (void 0), new Number(1), this, new Boolean(true), new Number(1), this, new Number(1), new Boolean(true), new Boolean(true), new Number(1), new Boolean(true), this, (void 0), this, new Boolean(true), new Number(1), this, new Number(1), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), new Boolean(true), this, this, new Number(1), (void 0), new Boolean(true), (void 0), (void 0), new Boolean(true), new Boolean(true), new Boolean(true), this, this, new Number(1), new Boolean(true), new Boolean(true), this, new Boolean(true), new Boolean(true), new Boolean(true), this, new Number(1), new Boolean(true), new Number(1), new Number(1), new Boolean(true), this, (void 0), this, new Number(1), new Number(1), new Number(1), this].some, jedbqg, x = new (void shapeOf( '' ))(), {x: {}} = x, x = x, yksimt;print(uneval(s1));"); +/*FRC*/Random.twister.import_mta(1815014175,-1843190754,-1612875309,193127072,-1709014109,-1209858967,829389388,-1967806559,1795760183,657034253,543820576,-785372681,2074961096,-1844281495,-357510844,-937142668,-1400736209,-1484703156,698560987,-1260061901,777340294,1821704718,-243896807,2026456537,-458612349,-290538393,-1740063364,-843656984,1917608335,415294794,-350126759,269745017,1706239132,935466682,-905708997,1950255545,694675138,365957149,-197610988,-1445922905,-748974060,-1488875939,-419088944,700995862,-331918694,-1906044717,-1639773669,1416666000,-1599787534,1940659814,11592235,-150667491,1406707759,-1086400909,-1790916175,-1990746424,1147946476,1316195954,625592568,1859643732,-1139488483,1625064688,-906100684,1239688336,-136582698,-1783906882,1689999457,99157198,-1166774504,788739189,2037094365,1147692598,-23990994,-1957277809,343896136,1068638690,-1152728430,-1535833849,389411088,-2126561474,-416686029,-654664180,1832746340,984901686,1417086579,-2105143204,1390278951,359128190,869831983,2086035624,1170370963,-1924283134,724816554,-2104149084,-1253701502,1696629718,664381933,-127569585,1424430210,-995186154,-864012207,294759710,422809815,1229187908,-873464474,-1170012362,944199736,-990586185,-62153803,371118574,-1437580542,-880838763,-1611377239,25323926,605900637,-381580388,-550330685,873539879,1491187107,-1433347097,-785651129,-1095665888,-517565837,38009218,-1129583181,-2067676163,-1790267192,25708731,-1480730192,-1541804560,-779312648,2100467092,-198296380,-1750007921,903349449,1938575669,-1616827355,-1480503785,-664849657,576832225,1318318625,1676505885,-1716355399,835616405,-255389012,-1026972550,216366091,1072266234,-1560609768,-1429643414,-1245367221,2116005697,-1335138211,1130165637,-169669369,-204432043,396307716,-623186294,-998977252,-713835811,583361731,2059187108,-1780958632,-1422897424,-6791654,441800493,196043670,-466022498,1150925921,-83763509,-930592733,1708640905,1211707936,-52317936,-361964077,-1204802726,-717179319,-319589342,-156558883,1156900275,157991784,-160073955,-178293268,-688453955,-134279200,2020547590,-205274447,1105008521,597925905,-897748621,461194928,-676422515,1030779749,1661315309,-877696480,122584070,580647424,-1589901054,-1118880091,472105841,-482349804,-1214088545,383765695,-1893275186,-89910399,-1801175700,1762711229,-338935515,-277189004,-1431742808,-1619960171,-1833378499,98282113,-1939944055,-584800204,-1193926238,-1981542973,-670178524,964479141,-333559120,856605823,108713525,112502840,-126738209,2040346860,-42787645,941930168,1352741376,1198566957,1833362886,1678738869,-2038584390,202537950,-1128651787,-1514048407,-1324027981,-807602425,-1854158394,414689614,1698966385,1229354192,-1579723588,2146757158,-255515653,1830445413,638680707,-569310681,163959523,-133712979,947493866,559712781,370072007,-1611652100,268677853,1102654933,-1768869910,318083073,960144448,421322180,-2031645729,1448071008,-160492106,1957480227,585030413,-879659057,-1720543465,1826258187,-1530257425,1386430133,-1941834264,1258047819,1839590925,-628711852,-1041817552,302080138,586232946,-1911201839,870464117,1189886743,897019926,-2019266054,153176633,-2065095234,-210762090,-283582438,-2014285763,-1694748396,-1836634369,-890230873,275412068,-9565878,-473575065,588514664,1241507635,-1382072936,-1577934601,-970111987,826573118,1365384654,464372973,953654957,-791705696,755955317,-121188043,1237101842,324051068,1247063896,-1071044329,2087428179,-1682317927,-69324583,541774769,1962049556,10597580,2081780560,-2139508604,1598953882,-772872287,1038996249,-683068904,-357538607,1125044224,-1894405559,899331008,-765584997,405000320,1132437144,-338322049,-96983727,1949176322,1474173395,-15260386,2065790950,-2065986733,-461699439,-1140837274,1520158803,-1441733929,1024556928,-964503918,-50203991,1373609837,-375381066,-289433091,1478605779,-27144533,-1829620667,-1690846433,-2048181613,1646305303,740902495,-249335400,719927284,-1615328134,622190119,963670343,190133930,-336528372,-1646648026,1712649495,631244942,-1453949355,-410778585,-2041281472,-763249946,1582384478,-41648065,296464580,1814587332,1183091275,202943471,187973588,515425514,1640484088,-1194127189,-1672787931,21551676,-365312137,272110808,-613784303,1407704609,891207799,-566283650,-850892003,-260160102,-1661567939,-907515827,-1063172336,929472132,-931925289,1664554869,778739172,1158808832,158579796,-2066330430,1237182057,1910741388,-233742588,2025238295,-1910744601,1562034105,838928900,-877912940,743237260,760160639,1350310236,-2114921990,-851135356,-1012361949,-1488772775,2046646393,437252873,2048757257,1451264138,1708376629,882090195,674747027,-951916252,1898711105,-475062351,-1407396139,-882729620,-465510352,834798270,-960263883,1972703929,854493667,-601901451,1735592254,-549394345,108186502,1365944781,-2003720268,-196264423,255501258,-1640320582,-284447325,998163654,-1325449206,762969400,-945656937,769836416,-236552385,-952868259,1466223063,1405559209,-1775832264,-1215409390,319099770,1224645232,1936781559,896505382,1898670205,1963443116,1710445128,828602540,1197643924,541989241,431943422,-1118315661,-1723139878,-242094994,-2098155365,-1109473232,-286355183,236680961,-16081337,1089168894,1918768504,-626526813,711196482,-1640622983,-893425056,-721548148,770820263,-1151208350,1183713084,-1452287284,-799828165,2048015757,1400682175,-346436571,-1003735006,2130000407,186744692,-333639661,-1699838740,-1687387954,-1927712790,1155302234,-2000065107,1931877160,-781028657,777590420,-1914471619,-977946494,724420951,-1468413857,1494161395,1096894789,-1770162982,472211895,949116472,-1319400045,-1329497845,-1334636823,523471664,946599419,499503803,-1563418162,-141557996,1675982487,-1886202041,-1997226549,1452856132,-190373599,53804192,1330733119,1817272136,1035396146,-408559889,2125226847,2139165817,461489057,-226520101,-322793769,-1401890702,-1531466609,-432997901,59172374,-728887103,-238093501,-126803987,-554543269,-1782326629,1332554788,553021057,1373620299,1153179656,-1604222865,-1542077226,-1354136380,-1413658046,-1472195772,153422643,-276457898,2087059976,-1076533250,402666108,-807930181,-296169776,-1814096163,1350355360,-1493664503,-994391082,96161514,-2074937686,1306707465,500924727,141249467,-171274458,1011692869,-1652801901,1533666248,1544626018,-38721792,44804120,1759948886,-847561800,1233065592,1449256333,-944928400,1520003719,1897866317,242596298,2059872732,1506512553,-1106544025,219482657,662138514,-1792224520,291624051,-494554222,599545830,-1855013522,1523820837,-898164522,1871770025,-652414354,960882470,319030079,1642603939,2145779690,-981577645,177987597,-1475865930,-62908769,1614381334,1236087849,-877128354,1718898336,-535266760,1637375895,-1235769591,-1343149532,-846817078,1064330383,-1802576261,266220585,-1978349073,-1501797442,1982450157,1605622679,790338775,1305650952,-913892050,-956256715,-578201086,459786621,-46259025,137492773,-168292184,725072319,-553886500); +/*FRC*/Random.twister.import_mti(193); void (makeScript(14)); +/*FRC*/count=337; tryItOut("\"use strict\"; \"use asm\"; mathy4 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n var i2 = 0;\n {\n {\n i2 = (((-0xa0712*(i1))>>>(((((0xfa29adc5)*-0xe787c)>>>((0xfbbe1d39)-(0xfa8cbbd9)-(0x5b083254))) >= (((/*FFI*/ff(((16383.0)))|0))>>>((0x4d237ad7) % (0x6ba5f35b))))-((abs((((0x2aec9f41)) & ((0xe9bcb740))))|0) <= (imul((i2), (i1))|0))-(i2))));\n }\n }\n return +((Infinity));\n }\n return f; })(this, {ff: (void version(185))}, new ArrayBuffer(4096)); testMathyFunction(mathy4, [-0x100000000, -Number.MIN_VALUE, -1/0, 1/0, 0x07fffffff, 42, Number.MIN_VALUE, -0x080000001, Number.MAX_VALUE, -0x07fffffff, 0x100000000, -Number.MAX_VALUE, 0, 0x080000000, 0/0, 0x0ffffffff, 0x100000001, 0x100000001, 0x080000001, Math.PI, -0, -0x080000000, 1, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(413); void (makeScript(14)); +/*FRC*/count=338; tryItOut("\"use strict\"; const b, jrcofg, {x: [{c: arguments}, [e], ], x} = new Function(NaN), x = /* Comment */eval, x = x, a;/* no regression tests found */"); +/*FRC*/Random.twister.import_mta(-83833589,-1370447071,-874698569,-922530121,-252167953,-1826905678,-1340177021,-1044184645,-622825595,-1849303958,2094272672,-1099028665,927116850,212152539,2115885107,-1252784703,88085932,-1475679737,-1209438827,2132635728,-251107293,-794849390,113446274,121730763,624784256,-1469792626,1461283530,653068589,2046124060,-1636399216,220134166,1437244272,-996023542,-1166309820,-1300406834,-1675471659,1739425480,891747008,1406827190,-2035915351,-237587657,-1015162142,2040385971,-239484198,-203915978,667896557,-1391710315,1194745646,705769114,259404530,352623683,-471730254,-831962730,-1596447504,1908693314,320686731,1379796117,2002236980,101223430,-1067430715,1344297729,1027731172,-643446469,-1566110671,-1153158479,1772465268,-1087747497,-204167523,-1064149532,1522001270,1658803941,1293345775,100950715,1616660326,-2115042168,-686159063,533477584,1718300719,-1140954115,-1408088070,-988637750,-1496503927,1732774294,-531659431,-367344629,877294702,1950798888,-1949989572,-768204729,558304506,-1647680945,-662665537,1167466120,-764778004,28728003,1538660070,-1956438292,-409931396,-404558455,-731552352,-525263152,-862032057,1707130087,-1282766231,1090839084,1689383460,170479639,1475085326,-75733474,169585329,-992149778,-885569360,-502196987,2089412709,1464185689,2030250233,1274321287,-471811766,2028469261,-223757988,269081519,-2050316626,2090277107,1626904809,-1513868674,891571229,-1035118813,-509509885,-1093765073,-994670450,-634460603,-601364591,-782882546,392864378,1358979846,1856583968,337264783,1625617351,-2024440437,-1632164018,-115228390,-781340789,1636700154,-1669968512,-835889415,1959216280,-1212895559,408450367,-1159644701,-1081333518,1506934913,-1724041587,930167974,1302460556,1933568168,464740130,-1953166772,-1501519016,-167107749,1278800916,1891409883,389536795,1576234179,-1979277269,-395366900,-1733587112,1769300999,-1487572595,1496938682,-1622826,-2096765491,-379084120,1997524720,-1168163909,-1682596643,-1456373380,124165724,-332888581,-2118784038,1568599837,473526582,2008723671,-721134317,-288140024,1834375792,1114432021,-631608067,431480249,-421158589,-2016822386,-582021328,514620163,-1848671345,919844399,575609760,1856504554,-706718510,-852177024,2131837905,-840966123,-1562375034,-1681235287,-869572167,-2110851137,-1437965170,-1944550378,448345924,-666100450,-1731054690,-373261542,1155137594,-734309962,355672052,-923912284,709024060,-2109117015,1126001989,-2006682747,-7849866,126844117,1203536327,406691169,1477411871,1962894675,1380527638,1998971619,-156449316,1102064322,-1728851518,1624398514,-901932182,-1225718528,340656279,2079756136,4310717,604415193,-646432631,814728199,366248480,333550682,474913413,31960352,339616995,-356149823,571139481,32070745,-1560860162,1409483050,-1935457689,-1889142693,-1790006537,717578878,2037241663,-288535297,765828824,-1450764093,-2098473552,26252788,-808325568,-1350171462,-2125722465,1361284736,340101516,-613577232,-526974572,-1128270612,231463553,26188978,-983752682,-2048178743,1583580419,-560254436,1195170549,-468934704,1448002839,-1273810515,-812671209,-1350946537,-111521863,-843351701,2101358899,1940966301,1789217216,632452248,-1381548299,1266062476,271280997,-1403979763,1970590934,-434975330,1246581853,-355586043,-732762318,-1444555621,975521337,982273853,34973161,1248745474,-641158842,-2090394318,1211860150,1314967405,1920062316,2064805465,1875075089,-1630258095,353264558,573568316,840529818,-2085641947,694312030,-798784511,874163720,1246522752,-1946591874,-1114559350,-1866936331,1513372444,-215736397,-1446601665,-1276313108,-1623965896,24858374,994353918,-1417602756,-966974779,2022120384,77970599,-1232509370,-685309743,-1946085146,1016355295,-2848942,-518233216,166469181,255406824,-2045023483,-1705754322,-394910727,93936782,-1922132212,1670750850,-1756080936,-1091767119,1171844800,-1466542352,641389580,-873138631,1842497146,-208991485,1483284517,-256857724,989350432,164563183,1678899071,-1151016070,-246483320,-1799097130,908406213,-1014616759,-1698091633,-1144335926,763591424,2103090684,265048424,547327307,-698155220,-818547976,1797741169,-24450350,-1712565654,-1049545588,1143251684,852858419,-814390798,-96119555,328760214,298715885,763409626,-947231895,-836360088,1545630103,-467674509,-206952319,1911762329,200714146,745035676,722456729,-1442409041,-1251977306,-1657540903,-890884980,-1676521102,1797145190,1518547558,1640543356,-957377708,1716912793,2002861700,-2138430989,-1554006343,-1100770665,-15207878,-2000044484,-1005156011,-2125625561,1004320095,-454718600,-1122791260,821182960,2061245523,-917492309,1764533840,1908096312,-1695105777,1811347669,-1536635108,1020378063,-1233959932,1590253626,1398995097,1349479352,910754741,1871257751,787936771,-9521153,2061011952,-782661607,761439837,-1894644614,865276806,-1375553708,1865853893,1562666657,-682539581,1985959312,-1266738823,1554358335,-2105037014,-1343579424,-1642113692,-1950787972,2027678808,-1314408079,948917134,-191151638,1548244316,238946426,1011011673,-121680709,1850256960,-204199177,1302725429,-1001034504,1493276308,-1153262200,-369236271,-958206955,827480166,1491827962,54425951,-667865553,2062139585,923255006,-292892840,-1285980708,1939089061,627150905,-1245911250,1091558210,2094411554,1196773545,1805015583,1829207410,1236531995,-270253575,-1680730819,1685049781,-825963417,-908378945,1114184242,1337164489,1341469975,-2021955062,-1365856990,-2105103306,-500153123,-943670422,860737325,-1993764987,-1560379292,1361479724,-342655066,-1842161728,1666531571,163804258,148836665,-1410548187,1730356833,1275224216,857120724,1242032651,901138363,250057549,1850410684,-1228699103,1216754505,-357930831,1658379130,291681866,-850886900,862381449,-1778091338,2070348487,252434498,888056454,1488112990,2087058425,-199933412,2122887322,1337677291,-1662157606,-1371267534,-1574773541,-1526222922,-1880040065,1211399082,-1574221680,262388838,-1052873773,-1694653657,-1963761864,1755686691,-957923780,1167680302,-1150619643,843642335,188501082,1499198697,1712344163,501788642,-567805857,-374266584,1294138035,1844899895,-1927864649,-1238618176,-1238830,567768250,1985423470,-341599921,-1010860564,1277799582,450526763,1182276562,-1264575213,685691658,467953826,-1582740259,-986595135,640829949,-1638223445,1653457676,-1475091276,-1534274898,-1457260555,837420197,-1412232496,120203710,627840705,-1657130999,-1315116196,152138761,553650409,-157850921,-666947087,1971717871,-2014636566,-485810483,812524380,-663268855,1431514806,-356857719,-101078977,1621266587,320774574,759620930,-1236839240,-412605863,-1123431872,-727302158,809414301,-1691871811,170377205,-617481309,-1945116191,-1902761383,607287457,-458408413,924747188,47819567,649199334,2019964838,1147203204,1997358728,-349161918,1422245003,281117347,-1071471169,-1222513748,297172136,-954044275,-2056005354,176227352,265051662,1351512682,-609944921,1233697464,1836158468,1090657599,1373784626,-1777312154,1320589842,577193230); +/*FRC*/Random.twister.import_mti(28); void (makeScript(14)); +/*FRC*/count=339; tryItOut("\"use strict\"; v0 = a2.length;\nfor (var v of s0) { try { o2.i0.next(); } catch(e0) { } try { a2 = a2.slice(NaN, NaN); } catch(e1) { } Object.defineProperty(this, \"this.v0\", { configurable: true, enumerable: false, get: function() { return 0; } }); }\n"); +/*FRC*/Random.twister.import_mti(186); void (makeScript(14)); +/*FRC*/count=340; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return (Math.fround(Math.fround((Math.fround(mathy1(( + ( ~ ( + ( + Math.cos(( + (-0 * 0x100000001))))))), ((((((( + Math.min(y, y)) >>> 0) << ((( ! (y | 0)) >>> 0) >>> 0)) >>> 0) | 0) >> ((((y >>> 0) % (Math.fround(mathy1(Math.fround(x), Math.fround(x))) | 0)) | 0) | 0)) | 0))) ** Math.fround(( + Math.atan2(( + Math.atan(x)), ( + ( + (Math.sign((( + Math.min(( + -Number.MIN_VALUE), ( + x))) >>> 0)) >>> 0))))))))) & Math.atan2(( + ( + (Math.log((((x >>> 0) || Math.min(y, x)) >>> 0)) | 0))), (Math.trunc(((((Math.cosh(x) | 0) < ( + ( + x))) | 0) | 0)) | 0))); }); testMathyFunction(mathy2, [-0, -0x080000001, 0, 0x07fffffff, -Number.MAX_VALUE, -0x0ffffffff, 0x080000000, -0x100000000, 0x100000001, 42, 1, 0/0, -0x07fffffff, -1/0, 1/0, Number.MIN_VALUE, 0x080000001, -Number.MIN_VALUE, Number.MAX_VALUE, -0x080000000, 0x100000001, 0x0ffffffff, Math.PI, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(580); void (makeScript(14)); +/*FRC*/count=341; tryItOut("p0.toString = f1;"); +/*FRC*/Random.twister.import_mti(593); void (makeScript(14)); +/*FRC*/count=342; tryItOut("\"use asm\"; "); +/*FRC*/Random.twister.import_mti(600); void (makeScript(14)); +/*FRC*/count=343; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return ( + Math.min(Math.atan2(Math.fround(( + mathy0(-0x100000000, (Math.min(Math.acosh((Math.min((0/0 >>> 0), x) ? -Number.MAX_VALUE : y)), mathy0((y >>> 0), ( ~ x))) >>> 0)))), ( + ((( - x) < (Math.fround(Math.min(Math.fround(y), -0x0ffffffff)) | 0)) | 0))), (Math.sinh(Math.fround((Math.fround(( + Math.max(( + x), ( + ((Math.min(x, Math.fround(x)) | 0) > (( ~ (0x100000001 | 0)) | 0)))))) !== Math.fround(( + mathy0(((y ? Math.fround(( ~ x)) : y) >>> 0), ( + mathy0((( + ( - y)) | 0), x)))))))) >>> 0))); }); testMathyFunction(mathy2, [Math.PI, Number.MIN_VALUE, -Number.MIN_VALUE, 0/0, 0x100000000, -Number.MAX_VALUE, 0x07fffffff, 0x100000001, Number.MAX_VALUE, 0x080000000, -0, 1/0, 42, -0x100000000, 0x0ffffffff, -0x07fffffff, 0x100000001, -1/0, -0x080000001, 1, 0, 0x080000001, -0x080000000, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mta(-1468603434,-1954080256,2097362551,1110118929,-135380402,1041236004,1897958974,812518984,-911251182,1169603855,1657939972,-424491075,-1347917502,-589676395,1257414548,730639494,-55117596,1477098266,343425277,98847698,1419672582,-183319867,-1000254592,1107050841,1146959103,1573238480,-436792098,302794253,-262802377,1012397691,-74660447,254957528,-768620712,1789771105,2031824353,484468897,1203182529,-21202792,-335226981,1436348477,1025199438,1732376364,-1758037107,-403477505,1096172501,-145405107,-767781146,763872451,-215983981,-809325662,1070527395,1534488722,-1462542653,380273377,1666334573,-38686304,-83998,1510330519,41552693,417692558,-666756249,-2071458780,-1867494851,-946548520,-1394345963,-59484875,-672849073,-1899765334,-570257561,-604816120,-1696444143,800482988,1898051825,2082581862,-1244600862,611337847,-952478278,-851149254,-1175625212,-111452200,-1375603282,-1117730644,1626623692,-1368602392,362199294,1976983299,-2103859052,1585778142,-769316277,1977468197,847792362,1367785577,-1608729741,2066554330,2096989023,-299700016,-503664770,-1985181976,1676789426,2022153809,1420507481,-1932801843,-858811021,1402269378,2019496729,-1448452241,621908298,1408578995,1791422374,1793608766,-1892561687,-1965498073,-164695385,2145523327,-1762672342,720799402,1251434082,-361720165,230323752,-1983999914,2122361006,324435642,-671331279,1566133460,1601694219,376046972,1274729349,1667769214,-307521224,-1137985449,1429212039,1728620769,-1970586898,-1300393308,-1113078872,-73386053,1872623360,-549753548,-198089822,1322784082,-92132544,698151700,1747675811,-470371263,-1539024365,1801700011,-1744408333,-376513511,-758052146,1137549151,1786458955,2054154985,1351078952,-767791845,-832122243,1239624120,1234841479,-1535788384,-759404775,-1987564488,-1988675984,374884963,1496981515,1376116475,-770738681,-1891647024,582085805,-938447117,-1764726370,-379566436,-547300476,2091765446,-1588905021,1239961272,-452711454,1252145959,-1910703413,-1236428998,797505184,2073738868,624885086,1350664347,1191676376,-1361281231,-311562397,1587498536,741013052,-891752219,1358593129,1138844378,1612306918,1988580161,2137563528,-981355998,124432360,-1311227948,1824380981,1035070100,870883636,-538563558,-253757142,464535072,-285126988,1476172136,1623047405,893037572,1749475339,996433735,-1613755441,917027990,987507320,-1967445435,-1823018882,1150750774,1594783366,2113265515,-1749316347,1879589429,-1975419681,1634863771,-593574697,-662766380,-495640759,2026298681,881467336,1977678076,1119834223,-1542517961,-68274343,1478360002,424906897,616690394,65750928,-402072129,-1150948101,2082194825,-2063994925,1748527380,-280883824,948409567,-601254395,-639288006,-2014914887,884685559,-1040800279,84136962,1877330759,-876122646,732466743,399423012,345960550,-505188417,-206856080,-1289364558,-1614316877,-1323294993,2090843265,-597413247,1492211077,193032648,37517857,1933175079,827764313,939301643,-1595702546,870943236,1432043108,532012357,-1128471273,1628375507,-927010063,-1145004432,-984415067,538133682,-1366889270,233777095,24577014,-630496096,-1532789512,1333524101,-1233496080,1442880397,-278361108,1881512007,1069456081,-1821962664,-1748650153,-1560776436,-1216255253,1822314700,1811642373,-959803508,831393703,335491212,177043179,1174465868,-20705015,-1241118286,1845880885,356268714,-1038517745,-1930949548,-2131639932,1775457645,1529270477,-211135533,-397630138,-1223864733,633317601,876962019,525711927,1335619578,1357932995,-2023422421,5086107,57802094,415750315,-1844250644,-1670562135,-102089851,884408902,1010836700,-209673809,-197516320,1938466645,531778386,-471994147,1341098618,2119235706,-1966139136,-1797885198,1203065008,-651923793,-118542709,1416211655,-255595781,667053225,1644326346,-938193056,-258361055,237553470,-1656362170,-326611923,679160066,-29639197,1588010030,894196629,141134739,-1281668124,583036156,1694570518,34328347,-1954205228,-520447771,2128237251,-1794317700,-162905540,-1758843462,-540864870,1592204534,-275187135,-345604568,-988972731,1752948660,1450974030,-553640908,692251694,370751143,383354493,618480534,-2092028409,-967439519,-352208531,-1078149110,228902584,-1692584187,-769512714,2092656934,-1063097470,932495388,623174927,1700892571,-1455518425,-1469380204,-1584469647,-997700393,84374699,92064888,1290297776,-1901369416,930531517,-1677304130,-89071389,267416990,-118213427,-1247305676,54785807,-456112954,-438276384,1777095744,-1882114260,-1701850369,247915577,1964969662,1877206134,-345105200,1239972808,2075604236,150511715,-480168146,326949179,-1711555509,1715654836,-1202120604,640367696,1120803815,-2071916574,2065726436,434372444,-808358629,-306837506,-2058969363,521412416,-489810965,-1693580876,1317332172,1849841865,1063656155,473512989,-1228355721,1090372290,-1909564976,-2103431285,-622398923,1078719887,484915116,-1041048490,1000340973,-582064331,-598123828,21740296,593723562,-64048372,-872667966,1246094016,-463120783,1718423206,1538726948,2099898966,-1789835159,-668698467,-883839347,1472876160,775920421,-1179761165,370701550,-1570489065,1106951330,146033831,-1686320160,1561918071,1595522116,1738024422,-1279489921,831838202,260091421,-1287656420,-956832366,-1184706405,-1181892312,-1910955396,1832204345,864053947,-768309739,1698561481,-11979658,-51253727,-1426839926,470171967,-1835061911,234138121,557142247,-1298289686,735373840,-1658362726,-1327380684,1751198845,-1030607512,-291135942,1613360747,1601167133,-1792393923,2062606820,-1107743038,458516340,568057172,-302914018,573034782,-1648251332,-589804721,-1676148376,760577992,-1818992962,911376552,1476530543,1508431235,-484019710,-954844595,1588707496,-909331350,-1331799460,884778890,2010922980,-1874830474,-1198578609,-1680339900,-878436881,1374804235,-1181820991,-1889856115,495554273,1571781106,-1910950914,-1404582190,1761007570,169858528,69836514,-2050448324,897550690,1418174664,749402865,-1233341565,-803615539,-1971317551,867206846,-443325743,836454094,-1427050340,-442795756,1577336370,830360283,1955924239,-51891992,-1221324689,227657832,-948229815,-2044938260,1683798043,124498155,1599725015,-1780114154,362705178,-1948793704,-1058931404,-860408788,708809215,-2026033839,487220291,-1138425841,322304654,1858782849,623856961,-456517471,1971586558,-1348786449,166329837,-445629367,1304286177,385569017,2065556726,1890933932,599504696,-684742523,-1760601567,-42032204,1347483724,557180425,-1920194641,1513938613,1052125199,-1974267970,-762345896,1895335612,521386670,-1633321619,-916423621,1170519722,86268850,-1243440376,-1352767812,-1452525531,-1025466033,52130577,-1647140576,-921274744,-929422450,-271790311,672137673,-1646704197,1936055333,-1394327687,832036203,-1188216761,-375092814,1227059719,868746520,-1493388910,-1673722097,1056012877,-505040013,317882637,-482933254,-2117546277,48323500,758904141,-130896836,-361809180,30281663,630186238,-767441414,83385005,-1615889980,-1533803853,393774820); +/*FRC*/Random.twister.import_mti(351); void (makeScript(14)); +/*FRC*/count=344; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return (( - ((((Math.log10(Math.pow(Math.ceil(y), y)) | 0) > (Math.fround(Math.max((Math.fround(mathy1(Math.fround(Math.expm1(y)), ( + (( + Math.atanh(x)) === ( + x))))) >>> 0), ( + ( + y)))) | 0)) | 0) | 0)) | 0); }); testMathyFunction(mathy3, [0x080000000, 0x0ffffffff, -0x080000000, -Number.MAX_VALUE, Number.MAX_VALUE, -Number.MIN_VALUE, Math.PI, Number.MIN_VALUE, 0x100000001, -0, -1/0, 0x07fffffff, 0x100000000, 0/0, 0x080000001, -0x080000001, -0x100000000, 0, 42, 0x100000001, -0x07fffffff, 1, 1/0, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(546); void (makeScript(14)); +/*FRC*/count=345; tryItOut("mathy0 = (function(x, y) { return (Math.max((( + Math.min(Math.fround(( + ( ~ Math.min((y | 0), (y | 0))))), Math.fround(Math.tan(( - Math.atan2((x | 0), y)))))) | 0), ((Math.min(( + Math.asin(( + Math.max((( ~ (Math.PI >>> 0)) >>> 0), (x | 0))))), x) < Math.sinh(((Math.acos(( + 0x07fffffff)) | 0) | 0))) | 0)) | 0); }); testMathyFunction(mathy0, [-0x080000001, Number.MIN_VALUE, -0x100000000, 1/0, 0/0, -Number.MIN_VALUE, 0x080000000, -0x0ffffffff, 0x080000001, 1, Math.PI, -0x080000000, 0x100000001, 0x100000000, 0x07fffffff, -Number.MAX_VALUE, -1/0, Number.MAX_VALUE, -0x07fffffff, -0, 42, 0, 0x0ffffffff, 0x100000001]); "); +/*FRC*/Random.twister.import_mta(-1592538682,40453380,-772706921,-1272572405,-980954387,911647526,1831340442,1261719807,280883848,2021748682,-773396979,1596757186,335849403,1980077809,-1942099448,1478077638,-732150295,-1256215311,1077689870,-1362218527,-660493735,2077447836,908590440,1452289374,-1415297659,770676015,851476530,975981424,-1985499346,-896759098,2029990199,892264369,1519823128,-445061907,425123167,947065524,-440873351,-1354682723,-282984595,-545293583,138348155,1339943468,917004268,-119002563,-2118019629,-1791952769,70743676,-354582954,-2088500320,-1602041944,1980507245,-263653912,1192016326,1887819764,-175540643,674567537,-634010703,563867830,443205929,390955131,62831280,-639313562,-122248308,-1839090014,-1205131775,-1788738402,-186812246,-946003818,1652109465,1732670539,-1859332412,419077180,-2019747941,-1796124531,-1509577763,270352486,-1265190648,969624779,-2082169958,-1410263818,-196853028,1820091993,-2052503267,1195374198,-2099851335,-1278115936,1150708991,758989152,1393005945,1898252296,1935277443,1738765148,499081350,-132534675,-1573173931,168670811,-114332234,1789690925,-2070895965,1588382317,-1119189593,1655624794,-1257096146,960444475,-1601642336,-1055091173,-2036290898,1835099836,1822225308,2109088937,460519937,-1129445084,792006538,-1142310199,1640490207,1385664725,1014014180,-28172453,-1626913681,-1260107336,1482352214,192430342,-503860249,-1422210245,1452964684,854387427,-1644963987,1579359054,-855459564,-138859522,793002131,809112597,230255002,1920539429,1386485889,-1479067827,-1524784565,1235761007,-2097190792,211440494,-29456106,1216773274,-151530291,-95103219,-1741924219,1776531534,1526451900,1694059791,1066751545,707370646,-1067188816,791173887,-280011899,1809728759,1903158726,907174788,-757391260,1021425535,1861978083,-1014581655,-819007059,162570453,-1556110036,-557462179,1655745961,748314152,-930839976,-453832160,2103041699,-1967107701,871052418,-1621721657,535413674,1110919517,-538830220,1227449663,-869690948,-1430595356,1839048566,866818214,1019500349,2042567257,-1328502968,1710049488,-1111482036,1726872994,-1552453117,1875964806,-393163434,1976064601,-1485880627,-1974023220,-1918976083,-354848815,-636698971,-330485804,-2096475030,-790485486,-412535421,-1750912116,1707613913,-1436946719,412848273,95572432,722111337,335970461,1830688462,-540817601,1755077459,-1148017490,6824690,2002387570,-2085733528,1031125582,1153784464,320714886,-470955415,-1324090371,293804462,1562962000,1844539861,-843194491,925506489,515724617,-1520499270,482548315,-1669876832,1173119669,1852291301,1146098944,-1505300634,-999132891,-1688568538,-1450029256,-1406074140,-1949715010,211639104,-431497019,-1704464782,-1558651802,452397164,1455829387,-1689484958,1840228290,-140622096,-288986254,-1959950572,343760285,1882459534,1013482843,-9885090,-764308035,1954380022,-466907724,-72026920,1860223409,2109088601,-1919997142,820930389,-1031789353,1173135521,-1728759124,-1165627410,-171372786,-155849825,-980656033,1236083852,-1888893905,-1504518630,-1946184117,-1526176507,2053154654,-986097114,326369305,891444586,-2092989861,-1917356552,610114065,251510389,1546752574,-2104677651,-1036176469,-919639667,1558330886,673740698,-931093923,1177663741,-1049182438,-1347686144,1413721937,-1325076124,2045022477,-1667392296,1754493696,-459450832,-1005352766,1011183762,2133234177,308576617,1066998339,-763013465,-427996385,-33793521,876977,-1720265219,-138229447,1769931544,1066608243,-279550217,319497433,1626472843,866536327,694897770,-1648881171,746962903,-965948941,2016179198,-1536699896,-2107711935,1206182309,-432423933,49522013,1880139691,434278083,1702207876,745990674,962269008,-2107442790,1741248730,-8845993,1524994147,353527592,610513281,1973210130,-871881954,-1502251753,1287066188,1064885681,1575642475,1747020821,-1253355670,-1903463914,111805524,-1704603958,-1862168244,480893306,702037166,1100432292,1511552888,-747159572,859282537,1398334374,-610724274,2073448147,1420126832,-1238919158,-1137951453,1084606430,1598659182,-1552047003,130688049,-1456859908,-739583849,-1910263828,1713912181,-698474897,-1633781534,1817901815,1525210449,1851290385,7823970,1956918508,910022731,472493536,-260086190,1451508546,1416899077,-533542799,1960983281,1691720157,-1067043867,-50850934,1646782286,454353923,-944954933,-1250914967,-1053241259,-379928203,249893641,1636594093,-792272382,-2032112377,1801610471,1844848865,-1105149382,-1510959621,-1196919832,1092289522,-341813273,402741308,-1770516227,25811127,1940316768,-69704825,-1626483060,157915794,242287136,-1582254125,1208975822,1617328906,-266852822,-824096490,2059497872,-261952469,-675328342,-355448153,140011435,-1415660189,884395422,-79315886,829591672,-1786334971,1143117566,-829598544,-1214229388,1228974392,286821950,-220450808,674577797,2028302832,44399928,-212718477,-528660136,-1808573226,-776971031,1214592376,2136337031,-1211653705,427208468,-1022630164,751073819,2060583702,1994631911,-2033239287,438951962,1656069885,1894999618,1399162110,1579010926,-1037002968,-501402928,-826662150,-1831573738,430449030,249583810,-430106959,615336785,991197674,-909372203,1826533570,-2044817126,-1610805225,186597726,1415000253,2022639380,-2080892804,-1067241809,-548482818,167825695,-599781284,-2109895935,2002174834,1590991015,1622919471,735692710,-1757132223,1762825758,677558814,1110881238,-1416651475,1840878872,-486923987,990557369,1931841812,-704657232,-573161036,-473353629,851341244,1911127366,205172927,1716822351,-1949459603,-613353666,67573558,-1618728315,-1867895531,-622035260,-1410813413,-1929104858,-1959437678,1172226045,1021866549,-669597169,952028560,-1851703281,1064208244,-1498267705,-304756039,-421828194,-1855961949,113012163,331769960,-1063219226,-2088855035,-1936017096,1399934760,-1514933493,885729883,-1488868588,1263659895,1178914809,-476983345,-1842320469,1212029819,2049538289,275795480,1031620701,-2009427434,-868312197,1923192744,-2110027601,1752335172,730493838,816267335,-1806555196,-1212430960,108223639,306167041,1554273438,-1461921320,1056581045,317826979,83783963,1055168458,517142131,-1051687497,-1396568713,2089079977,-1269302423,2061658400,1395504718,1620984776,1275466888,1593873734,1316323770,-44073299,687114153,-570449733,1552456303,-1978768866,-33301907,1734713233,-591955992,-1032703516,-494627944,-161821808,-1745406662,658397129,-1291485075,1055959554,-1950870186,597620177,-836320075,1466396020,700399490,-745917277,1287232740,-954121236,-720681090,-558853743,315723263,752429358,-1179761315,712389450,-1122154212,1034666299,-1578137156,490432949,-24827998,508851290,1985695636,-1095946206,-659075329,-99269722,135785264,-1274672638,-1554463958,-1751943584,-1809946079,-1186498776,-571804790,1977710254,576063387,-1444076583,-103363843,1738302008,-1279022459,102120988,1426225900,-1302980841,714041086,507639417,-201318209,1320000044,-716990613,2077396603,-1201420627,-1040117123,-1346334726,-1340671634,1646367747,1969386428,-296954231,-1474193653); +/*FRC*/Random.twister.import_mti(141); void (makeScript(14)); +/*FRC*/count=346; tryItOut("s1 += s2;"); +/*FRC*/Random.twister.import_mti(153); void (makeScript(14)); +/*FRC*/count=347; tryItOut("{ void 0; assertJitStackInvariants(); } Object.defineProperty(this, \"v1\", { configurable: (x % 3 == 2), enumerable: (x % 39 == 19), get: function() { return g1.eval(\"/* no regression tests found */\"); } });"); +/*FRC*/Random.twister.import_mti(194); void (makeScript(14)); +/*FRC*/count=348; tryItOut("o0 = {};"); +/*FRC*/Random.twister.import_mti(204); void (makeScript(14)); +/*FRC*/count=349; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(213); void (makeScript(14)); +/*FRC*/count=350; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(222); void (makeScript(14)); +/*FRC*/count=351; tryItOut("\"use strict\"; testMathyFunction(mathy4, [-Number.MIN_VALUE, -0x07fffffff, -0x0ffffffff, 0x080000001, Math.PI, -0x100000000, -0, 0x100000000, -1/0, -0x080000001, 0x07fffffff, 1, -Number.MAX_VALUE, Number.MAX_VALUE, 1/0, 0, -0x080000000, 42, 0x080000000, Number.MIN_VALUE, 0/0, 0x100000001, 0x100000001, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(254); void (makeScript(14)); +/*FRC*/count=352; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return ( + ( ~ ( + ( + (( ! (((Math.fround(x) ^ Number.MIN_VALUE) << (Math.expm1(((( ~ (x >>> 0)) >>> 0) >>> 0)) >>> 0)) >>> 0)) >>> 0))))); }); "); +/*FRC*/Random.twister.import_mti(354); void (makeScript(14)); +/*FRC*/count=353; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return ( + ( ~ (Math.min(x, 0) - ( + Math.atanh(((Math.expm1((Math.fround(( + y)) >>> 0)) >>> 0) | 0)))))); }); testMathyFunction(mathy2, /*MARR*/[x, x, x, x, x, x, x, x, new Boolean(false)]); "); +/*FRC*/Random.twister.import_mti(480); void (makeScript(14)); +/*FRC*/count=354; tryItOut("\"use strict\"; \"use asm\"; t2 = new Uint8ClampedArray(b0, 1, x);"); +/*FRC*/Random.twister.import_mti(501); void (makeScript(14)); +/*FRC*/count=355; tryItOut("\"use strict\"; v2 + '';"); +/*FRC*/Random.twister.import_mti(510); void (makeScript(14)); +/*FRC*/count=356; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ((( + ( ! ( + Math.atan2(Math.sqrt(((y | 0) & (( + ((Math.cos(x) | 0) >> ( + x))) | 0))), Math.abs((( - (-Number.MAX_VALUE | 0)) | 0)))))) < (Math.sign(Math.fround(Math.atan2(Math.fround((((y >>> 0) && -0) != (( ~ (x >>> 0)) >>> 0))), mathy0((y | 0), Math.asin(( ~ ( + x))))))) >>> 0)) >>> 0); }); testMathyFunction(mathy1, [-0x0ffffffff, 0x07fffffff, 0x100000000, 0/0, Number.MAX_VALUE, 42, 0x080000000, 0x080000001, 0x100000001, 0x0ffffffff, -0x080000000, 0x100000001, -0x07fffffff, 1, -Number.MAX_VALUE, -0, 1/0, -Number.MIN_VALUE, Math.PI, -0x100000000, -1/0, Number.MIN_VALUE, 0, -0x080000001]); "); +/*FRC*/Random.twister.import_mta(3121520,1515213299,-618994714,1840466260,1520601380,1160963757,1196096295,-1756155960,891891063,-1081425415,-836305486,-620404020,-1033109331,-167324882,-1561485451,-907549765,870681228,-1214164563,1690296968,-50331048,-696838611,799355690,-804410627,-1113062811,1517931341,1564661479,-744787704,-1284275229,738651227,-194009478,1900277519,92170505,-749620391,-687430840,-278158039,1269407419,1520139079,1059591040,-1093519137,-1572677275,-1876339551,35815650,1719092013,-181665747,-1455239178,888672729,-1281260510,1542185418,854916393,-1828862805,1799486986,1033607053,-93160238,1104230689,61347997,650524177,1231411677,-1696756599,1962108499,628233737,400954713,-1248377581,636382099,1124315845,-716434856,1903295755,932815094,-1866780793,693342854,-923449907,-1825333536,-1866012147,254806213,1211625008,1062757185,1151321123,-1521033323,707496555,-1027817414,321959792,-950781459,-638933113,-938449386,-170245605,-1156407555,-1068944871,1706766756,1702146771,-448477776,1131248765,24106514,2134297861,-1455499434,-1371425990,1472458911,-404274715,-396761601,80005899,1727330556,1564576968,-624961482,-1752355791,1319269968,1436209069,-982611481,-1689872552,1309572814,-1477494335,-1732434433,839119384,-209531349,-1321079205,362555672,-279498893,-1551560483,-560406636,626992503,1511107536,151219188,-912359392,829885144,246596152,-2017182155,755626591,1676610145,96547010,657430236,1554523259,1806490599,-203958069,154085571,-891146314,-761943323,845231152,-493770691,-536079756,-847516881,-1792175112,-235475929,963385372,1987871564,-19460569,1291715201,-337331928,1711307652,696489541,-1785691758,-1743721040,-733721860,-1930169425,-1307031287,452519540,-1777992828,1805272237,2073522698,1701545146,-1736901082,-536808812,1167365446,-697610336,3096590,1293371641,2086941807,374553702,1898492037,-118147388,-1341409036,86035478,1781683082,-838684805,-1315055115,-51289672,-2031894925,-1538713492,-570230895,-399373205,37355782,1601301561,-899712784,-875362395,1660321311,-849144614,-1404684807,204578137,1605359615,824003715,1570654857,-1990905929,-565748536,726702085,1477446739,558024875,-231705747,-2108317671,-930371640,-1724750646,-1838919505,-492060370,-2649148,1219787929,464990671,1096487606,-1147248704,1365706465,-420837825,349768956,520384665,345003915,2052403311,-201868292,1035681573,1423271768,-320026064,149801910,399452730,1560180052,-1892886771,-1652417604,1430714963,395562648,2111262048,1834824441,641786645,1888360158,-1576317362,-529068199,1407129230,-1374368291,2021153651,-935750571,-1769815783,386906039,301711665,290617941,-759696105,1936163031,362905924,-2095773045,-1970729729,-1894284133,1148025652,-1353982012,-1087360934,137013748,-1061002220,556343554,775298121,-294842134,-1466318504,-273072174,1301837924,541554486,1867976765,-1371468956,1561023460,-1948955352,-223857681,-1338217350,-1120482371,682578902,-612614626,-1305914658,827136316,-1194770857,-991521936,-637228391,1023314861,-1023394900,-556401896,-1376009872,-2011409534,-1948359963,-464871158,-1456428393,-1015246792,1949255637,1507572092,-180907537,327376530,1648122235,-1178136533,-29942652,1219963154,1567744528,664104312,-1897723150,97077636,1077145049,1186865764,1030492961,-1493611876,-620569548,87573643,97979374,-223155226,2003905231,1852750866,50949771,369285107,-1082518711,-1576928416,-659620199,-1651391452,820315572,-926786008,-1241300554,-1779329898,1777842761,157779252,1633801740,1963054855,-1347995448,1469942320,-1427022192,-548772107,-1722614705,1365153145,-649590291,-2050224888,53131656,1982910795,-154987627,1914615387,-622643907,318750210,2052685652,1550905349,-1453624229,825826885,-1160245570,1595145273,1314382328,-1584860847,1745514305,1843213205,-18436903,-1263064033,1149193281,475654286,255430317,-1475176840,-523234569,-743819023,1843391953,340084589,502232483,-380296718,477835620,654925262,1196900574,77955980,1310949702,-519919756,226304996,1203497086,-1397590615,-1819985116,646702580,1112821083,142084130,653540942,309097641,-1491221118,661079882,654978064,-1095118762,-699804232,-1040163525,1358137200,1288025008,-776559778,-468310146,664223925,-1381027141,-212677615,1735847713,635578184,1365370030,-1315268027,792613545,367414632,176456109,-236370332,581361180,598738175,-1140830797,1003397061,-564823723,-455491344,1409762670,-869549510,-1651428823,1460048491,-1357129239,-825215436,912681598,-1366348158,491078361,-1326330458,349636306,2105885928,-405698911,1289129335,1304226368,465903984,-848823840,1107553427,116506360,-45078177,-1807079700,1799436754,584019767,-1876653495,910290396,1698019899,56876994,-1483245973,38496924,484447874,-1433846959,295585860,-1432687433,-1099641198,-910919019,-2046061134,-144976677,1910138013,-693821486,2099882574,-1160978084,-238641145,-1764482413,1589682839,-288035278,1889717559,-587762189,1897716728,1895852207,1968215086,596002786,897894973,-1246343274,-963553265,-1036507392,902849565,1832864114,1042353383,1389996247,1279621485,1464760957,399706019,-345932347,-1398595686,1420770031,70448730,-1289335292,-709646176,728529836,1633742806,318015932,-945536383,-1757915720,-1069242282,702939854,-2098657611,1940925303,-525275932,-1738169500,-2123638806,1730561285,1937885261,1990236312,-2005109430,1004208026,2093450517,-602895785,-74947875,1820533135,-1400370817,428595889,104114989,-1719223961,-1303935582,-665331785,-556315488,1440408147,1911579656,-477593411,758954590,-1687160508,606552894,-1453397777,-1744363262,-1439420880,308125177,-1281112966,1627859106,-828487023,-834351188,531451435,776741714,1988051424,678437149,-939284060,-1434398123,-1714228818,-1914827528,-894786332,797937162,-1830703316,1418909220,130361995,1448408879,1132729624,696994381,-848336066,-33474861,-1252417770,664967504,-1089301592,-1390977834,581070572,-1972987987,-898453323,187779463,-1850424574,-1150854590,1561724418,-1577175731,92582060,1155286038,-586717201,928534858,-1613199500,841635969,-749298784,-243877805,1532230984,-1144433628,-1847056331,981548446,1144909479,-2044676182,-952148321,1625881577,1252375404,-463445245,-183264224,-1951258875,1535667580,-357821223,888976454,1440298487,2068459736,251427794,-62132914,221212220,-1470168623,1263587575,1199680696,-2102390698,1132890209,-1612729301,-973773357,1062349193,1470263827,-978446954,681109137,-1079490570,-696896934,-1525143578,-1436641816,1985790745,-41238989,-1397318678,1096127420,1690820904,1847599155,-1200391855,828559700,454145907,-1033602545,-108434420,-1928618070,-514411082,1386449285,-538112985,431402399,1564888708,-1674550712,942792539,-765903952,-1011650171,-1841160160,-670869446,23062245,118229120,45164177,-1196057366,1231174000,-681604628,2071035651,-360133102,-1073614103,581948850,829685720,1815432615,1063743518,-1968751879,-1532037861,-1265723905,-2135382913,-615087963,-2006457169,984911543,1642107769,-1408271217,-1681130041,-979743074,-1088493387,-1783963593,1627319727,-75624156,-291963334); +/*FRC*/Random.twister.import_mti(149); void (makeScript(14)); +/*FRC*/count=357; tryItOut("var dextmp = new ArrayBuffer(8); var dextmp_0 = new Uint8Array(dextmp); print(dextmp_0[0]); dextmp_0[0] = 10; var dextmp_1 = new Uint32Array(dextmp); print(dextmp_1[0]); var dextmp_2 = new Int16Array(dextmp); dextmp_2[0] = 10; e1.add(o1.m2);this;s2 + o1;"); +/*FRC*/Random.twister.import_mti(237); void (makeScript(14)); +/*FRC*/count=358; tryItOut("\"use strict\"; v1 = evalcx(\"a1.unshift(this.o1, p1, t2);\", g2);"); +/*FRC*/Random.twister.import_mti(273); void (makeScript(14)); +/*FRC*/count=359; tryItOut("testMathyFunction(mathy4, [1, 0x100000001, -Number.MIN_VALUE, -1/0, -0, -0x080000000, -0x100000000, -0x0ffffffff, 0, -Number.MAX_VALUE, 1/0, 0x100000001, Number.MIN_VALUE, 0x080000000, 0x07fffffff, 0x080000001, 0/0, -0x07fffffff, 42, Math.PI, -0x080000001, 0x0ffffffff, 0x100000000, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=360; tryItOut("Array.prototype.shift.call(a1);o2 = new Object;"); +/*FRC*/Random.twister.import_mti(337); void (makeScript(14)); +/*FRC*/count=361; tryItOut("mathy1 = (function(x, y) { return ((Math.pow((((Math.pow((x | 0), (y | 0)) | 0) >= ( + y)) >>> 0), (Math.cos(( ! ( - ( + ( ~ -Number.MAX_VALUE))))) >>> 0)) >>> 0) , ((Math.pow(0x100000000, Math.fround(Math.round(Math.fround(mathy0(x, x))))) == x) ? Math.atan(((0x100000001 ? Math.min(Math.atan2(( + (( + x) & ( + Math.PI))), y), ( + mathy0(( + Number.MAX_VALUE), ( + x)))) : Math.max(mathy0(y, x), y)) | 0)) : Math.cosh((( - ((((x | 0) >= (y | 0)) | 0) >>> 0)) >>> 0)))); }); testMathyFunction(mathy1, [-0x080000000, 42, -0x0ffffffff, -0x080000001, Number.MAX_VALUE, -Number.MAX_VALUE, 0, -0x100000000, Math.PI, 0x080000001, 0x0ffffffff, 0x100000001, 1/0, 0x100000001, 0x100000000, -0x07fffffff, 0x07fffffff, 0/0, -0, -1/0, Number.MIN_VALUE, -Number.MIN_VALUE, 0x080000000, 1]); "); +/*FRC*/Random.twister.import_mta(-1452942593,-1652769707,1645126264,1356071034,1547715880,-159694789,1175813540,-665254124,1269443011,621843018,1802702750,91134422,-280408197,-1556134217,-550228427,-908701937,-1264978475,392842111,1038343918,1436831138,1436152585,-1376881885,1834322620,-441836227,489895707,-1749453290,151325627,1224758080,-848558106,-1871502395,1293065097,-846609603,-783306504,528204364,1778933009,-360337429,-247404558,-154967673,350136734,-1610563209,806430942,-547125913,-2145847509,1629859270,1992488869,-549348834,-1345464347,-1247630762,-45540360,1266807778,-719531058,1903970052,-1364306382,-1894794446,1628100114,286868395,-1060549516,-414976596,949482975,1195905747,-1464899078,-1432393024,-1434591231,-318616659,1988631522,-611813331,-1196218926,-700395530,-826132146,-1456921708,1225680573,1610310487,1128116765,-182105806,-840447402,64989791,-137917840,1570366728,-1786195473,1093324532,-1719745901,-931120524,-93435037,-1028303732,1621790900,-1063641744,1944403457,-327864712,-1385894734,1900515073,1159419616,967037429,-867229479,-691139666,61208770,1965253410,1902050154,556261767,-1660747234,1280885945,475032662,-1458178940,-1402431198,-1779181698,1004276300,1333206650,1123845531,2144792693,-1059911518,756538162,184738582,1698798214,1010993226,-1671893355,1753826625,-1644964533,1854718192,755695543,-375379154,-1497713729,-1308557814,-1119340907,1889458776,99117369,541259405,-1712235325,2100171351,-1477471061,827826104,1727561468,2020020697,1371295968,1555311284,-325312297,-1392415019,-923986942,-716288376,-740712883,-1881106514,-901187083,-47134076,1153361339,-1541770079,1233191004,-906717862,-1930889373,-1959319481,181067415,-1781206428,610596696,-1200623846,-2135893305,-1219624971,-681071140,105477659,1508199140,189417874,1815490929,-679589218,1295568443,400299378,-328566241,1286091403,590149835,2147226371,-941987759,-2023423016,172687436,-374631055,73943475,1457542733,1708206096,-2074952084,1393683697,1196368642,927056794,1262156016,-1986451566,-1112235855,-1934332168,1217505886,2002310002,-294473945,-1378948013,1138912401,1313798551,279558318,-1904927790,-1643940520,1793964753,-1876985579,-44644371,1142031003,1551109311,-1631581739,327805197,-484982601,-1477930536,-66230154,-1814093640,572305354,-1518685430,-1193735457,2099411500,824047997,2080523905,1396795891,-2037514918,143139366,-1411357974,353223602,-1127129119,-522710848,-1083637534,-1362649387,1170758652,-962139791,-920698047,1781101621,-1830495681,879613028,1337102283,-2024152102,-2068887792,-1982997796,-1835951517,1620715531,1280395161,543737504,-1337494997,-2107937922,-843770513,1742392782,-163170320,954365856,1098574177,-1114462256,-1220593346,-605164732,-1920994591,-1264932523,-2136197608,-1916593163,-1795635233,1207884798,-1276092395,1653786071,30741413,-634196790,194623118,-175528282,-1282404390,-2137394268,1736483401,1290466772,758165198,-932375048,-1971237240,-1713476906,-51269641,1181707043,850317711,1877573663,-1825329590,46760980,-743875433,-2122261343,1601951058,-1986107937,-1005134102,-1111348117,82290464,315719562,-831283207,1455274339,-777730234,-401437750,-1663206265,-647308442,725970680,-267111056,89211547,1067561635,-754713912,-533565227,2054377757,-27700000,-1947174712,757191567,-1191099057,-2138888777,-1390638728,-647758374,-2115350495,888203854,-101357753,832906254,-620249701,-649143764,306007981,8029857,-2094061500,1538074757,-744053404,110642643,-546301020,-1395023089,-1647509495,-131018382,1508249663,-714684184,191124908,-706563528,-2058830428,970252416,1556289233,-991216856,134041700,2016841009,1851783331,1957114555,-475917520,-1051047581,941696107,470507053,708037315,-1040331189,-574336085,-1267076133,1525274593,-1294456958,-1307524549,-1569023739,-317018994,-642967866,58732146,-702493235,86906705,-69866225,676053878,1966626609,-1739265562,1913951100,-39398503,-1158285895,-586499113,-393794803,-1585164051,-1629251846,1925979038,586787226,281257271,-548418255,1593042536,683548320,2023031338,901614598,-1069185109,1434473713,1338914195,2091035228,-1097888748,-1688291417,-959752064,-863668634,-456884878,843081655,-1790375620,1658600547,-1933499122,998904803,53970399,53993185,1805057680,-528934440,-2027560512,215221519,967447271,1311195980,-1111566015,1261264341,1052628265,146154986,-2086995150,-348215433,328316323,-82132402,1706095882,-2039883608,1790832534,-185806592,-1921520919,1230976122,-536012606,1366832499,-18087376,-742238208,1318629534,800762745,-1164960744,-101605506,-1205021338,295679674,1188587592,-1356145822,1170073127,-1882410620,-281997778,1031651332,-1680722994,631368471,-755459734,359534457,-1153706644,-1882917837,348159666,734531487,-1636863404,1897589402,215819961,-802043333,-1040552292,-296000360,-1609430418,1162726250,501803751,-1198674095,1552448237,-1206074460,1496508931,-1354703942,-948627223,1265119640,-1307000905,838793084,1879461850,174646882,799377829,-1391297520,1662174465,-1515051223,1418166797,617891964,88501152,-8329224,-332316007,578862731,-1958225907,-48430550,364433620,672614701,-543402735,1640937419,1652773670,1438802075,1253118704,-437170179,-1293214571,-993046095,-587178927,-1109779156,1488987019,361359366,636392533,1475320922,-340419274,-1051909293,-198229344,1782031429,755715852,-1347908717,1136714075,-300081192,-973490302,-1227495855,1056861563,-456092010,2059735750,1717391965,445322989,-229945819,365508357,-669780534,-1492733016,2036633470,-1591322414,1413308278,284243468,1058614573,1039802752,513043170,1321866389,-2035070065,1369875074,1185560431,-115478130,2052148093,-622834755,-767971094,100101667,-179552503,-611509966,-173730924,609899071,-801897392,-1618617062,1309686922,-1479282059,203527437,1441323441,1240063826,1376828317,1538349969,1939095833,-1387803305,-886441927,-475166012,-749573857,-1298808660,-1880599631,-793024681,-1463086777,96767938,-315281390,-740434918,-2063763699,2092321964,-1987236648,-1041403886,2042825358,1680713292,1563716982,-795060194,1824800656,-1268363815,428031364,877653659,-930979078,-627510935,-2002637577,1046411816,985971541,-1504442047,764933635,581930450,-754054033,349583027,-1468624410,-1905908338,1829041104,1650425416,-1343261687,395760303,-964430942,-471751412,-219265851,-674306090,1316552486,-1848634265,-1558015698,366041185,1330281484,-126735292,276916694,-1208508793,-654121020,-452001567,1793881290,-210767669,546865295,-1467377299,1490232554,2059883537,-1092851976,-1053910733,-1400871314,-590038184,-1480022547,1215483293,1271899735,-423007312,1417324710,1041288703,1159124701,807203766,-478256579,-1709321341,1375833374,-1332232912,1582229717,-270023336,877952635,-1377473182,1581370282,1290685073,1633302563,345048729,667999638,1736874343,681056791,-1893273138,-717390127,2116921451,1568927702,554953995,-516598464,-1576181426,-680103818,-169730181,-872816694,1523456466,530405370,-827656405,1061696970,-867693463,157734448,-1102011990,-1776159153,1274031724,-1702693698,159047370,1824996833,-1985970899,511182240); +/*FRC*/Random.twister.import_mti(94); void (makeScript(14)); +/*FRC*/count=362; tryItOut("\"use strict\"; v1 = Object.prototype.isPrototypeOf.call(h1, e0);"); +/*FRC*/Random.twister.import_mti(109); void (makeScript(14)); +/*FRC*/count=363; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var ff = foreign.ff;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var d2 = -129.0;\n var d3 = -33554433.0;\n var d4 = 4611686018427388000.0;\n d2 = (((-590295810358705700000.0)) % ((Float32ArrayView[0])));\n {\n d2 = (d3);\n }\n return ((((((((0x85e2930f)-(i1)) >> (0xf36fe*(0x2d8456fe))) / (abs((((i1)) >> (((0xe167f77d)))))|0))>>>((i1)-(0xa4842f34))) == (((((((0xae84071a))*-0x4d26c)>>>((0x65dc2e2b) % (0x6ea6c0ef))))-(i1))>>>((-0x8000000) % ((((d2))+(((0x79f882b6)+(0x68d1e99b)))) ^ ((0x50319319))))))))|0;\n }\n return f; })(this, {ff: /*wrap3*/(function(){ var gtotig = x; ((void shapeOf(null.throw(\"\\uDB51\"))))(); })}, new ArrayBuffer(4096)); testMathyFunction(mathy1, [[0], 0, '\\0', undefined, [], (new String('')), (new Boolean(false)), true, '/0/', (new Number(-0)), 0.1, ({valueOf:function(){return 0;}}), '0', (new Number(0)), ({toString:function(){return '0';}}), 1, objectEmulatingUndefined(), (function(){return 0;}), '', false, -0, null, ({valueOf:function(){return '0';}}), (new Boolean(true)), NaN, /0/]); "); +/*FRC*/Random.twister.import_mti(491); void (makeScript(14)); +/*FRC*/count=364; tryItOut("if(false) /*bLoop*/for (let xfeqev = 0, x; xfeqev < 21; ++xfeqev, null) { if (xfeqev % 6 == 2) { print(null); } else { g2.t2 = new Int32Array(b0, 20, 2); } } else if (x) function shapeyConstructor(ojfytt){if (ojfytt) Object.defineProperty(this, \"setMinutes\", ({enumerable: (eval(\"/* no regression tests found */\", /(?!\u0093|^(\\d)|\\b(.)\\2{2,16386})/gym))}));this[\"prototype\"] = Object.defineProperty(x, \"valueOf\", ({}));this[\"prototype\"] = c !== ojfytt;this[\"prototype\"] = (1/0);this[\"prototype\"] = ojfytt;Object.defineProperty(this, new String(\"17\"), ({}));return this; }/*tLoopC*/for (let z of [this.__defineGetter__(\"x\", (({/*TOODEEP*/})).bind) for (__parent__ of ({} = (void shapeOf( '' )))) for (x of (/*wrap2*/(function(){ \"use strict\"; var myqrwr = this; var fbpnoo = function(y) { return ({a1:1}) }; return fbpnoo;})())(\"\\u02CB\".throw(-20))) for each (c in x % d) for each (z in []) for (\u3056 in /(?=(?:\u0bfc+|\\b))(?=\\b[^]\\2{4}|.)/gim) for each (x in [])]) { try{let cyuafa = new shapeyConstructor(z); print('EETT'); print(cyuafa);}catch(e){print('TTEE ' + e); } }"); +/*FRC*/Random.twister.import_mta(2024372732,-245373840,1701964684,-1340717507,-10419737,1671697036,1162049259,985335732,-159579642,2085241402,1916454369,1638390062,-627522107,956838545,1350556708,864501386,1680282804,-1146156614,1035958194,65121710,-1063085820,35162065,1433392341,-17789680,1301915865,-519091131,742795180,1469014645,-22841177,-1932013796,279638548,-683915052,-2138291323,-768334781,1796944278,-728417647,-245508108,1691464106,-1533042523,-2070111926,-604266554,811780192,704833509,2071446074,-405131412,-1753886527,1669483661,-2008070759,1723013539,2025069738,1430865758,-435209333,-1229513193,1238765997,364289513,-1511787439,-1657919247,-366133372,-1175123652,1749016615,996414373,-1845035263,-1341842774,380079292,2029363128,-1068220465,-1237856114,-1036967755,62316838,997939990,836377994,33972711,-379370373,1892276223,-224887097,-354438163,163530529,714614726,1463530920,-509849315,1260653967,1943703996,-21470341,652305322,-213878947,-1473611124,-939305492,-562078835,-1163257708,-125594264,-1706055658,-1861135616,858114829,-1998858018,130010133,757972759,-55536143,1787083198,1374020129,321008201,-1986962972,-273709168,2096155975,-636313863,-168897669,-746820716,-380058360,-1681432530,-1026439771,1552318460,-1467639107,-1123168644,-2116541193,118525084,962488908,822021292,-2118822019,1250886521,250588363,1856672824,-793724030,-635688860,-1393187043,427431957,2033783430,878197912,-1121920617,-1265464528,1538333859,-257658839,-44067519,-850969110,-77989569,1138120158,1875428123,1728456230,-1421520237,696920403,126602728,-696099615,-353919631,-1960997149,-1057790797,394247274,-1091031442,373029478,1669503758,-1447764629,265464027,1917150780,1259304083,-1534798605,-1227357318,1007473749,-347712382,-681870924,1850865726,-1811015235,-1654939052,2039114759,2012907496,824654769,-397331342,543837169,1709414670,716002390,723669267,-1158811861,2096595969,438291157,11589889,1750004096,-1466258019,-2107046624,-536523871,1626678418,1718558454,1312965117,-1460788988,-976194958,-285190767,-886415652,417032361,1260115186,1911021704,-424269865,-263274297,1820561586,1306279940,712346502,-93590744,-1196229265,-1922422912,1037726157,-1808963573,609678683,1203342501,-1195915007,-510319623,756528017,2096302041,122994255,1889547325,-2080546546,-735024229,-422983354,986260552,-975082634,-38632415,-571479129,1937621416,-424004173,-711253483,-2025894130,-1345303647,-739813239,914595096,1677461725,-954597784,-1712036236,-307710100,1070103324,136941326,972793716,758301007,1774603237,-248702492,-1419137829,1641275134,-1483052118,-1157591042,1332670954,2005923768,1550073645,1447476244,1401584385,105831957,-491631145,-280560184,1128805109,-936845462,1911071419,-397099274,-578720825,162345732,-2124189211,2021742253,1910985456,886627214,163957168,-518248138,1320380939,1185677909,2009176208,270707744,561885991,414356714,94144451,-671147076,-1858461901,773768187,469934256,1119336585,2080990493,-1303730126,-1866024348,-1814711728,630105089,254821116,-1910297733,267807360,963512294,373951293,1436962308,-1254312949,-193715745,115601733,-1023202598,-636740016,-1431547763,-1878357071,-1297338554,-650960582,2110580883,-2124397878,986637346,-102556764,1107838462,-334962515,525546789,1008702840,-85530290,1965997491,-699264866,-705190674,1301579988,1547803690,-249543791,-1096153723,-2120719373,1238927725,1733706334,973020761,-32380378,1810738299,-1914558894,1607299144,781934436,-953878528,1435057375,452806291,-104011980,1325630857,-1090376738,-1603659742,335955715,1221143370,-1626968673,2128638371,-1543996077,-787250053,-1812272273,-723434687,401567823,-144160380,287334505,-1377058862,-141525249,-998419852,-1150110242,1538221038,1614359221,758770438,-1055025999,-1915447655,-612140229,-1843999787,-780493622,-185824591,1653334125,-1151695458,-1439180594,1357299561,87763084,-752701735,-1525710558,-2116901408,1849918037,-1359347617,943670598,158009064,345657899,1193104596,345903722,-2068944489,1861363038,-889013275,-1689791822,1954795789,411911142,1786294556,-798867665,-53792308,1969864270,829953092,-32824739,-496348594,-1698525128,1719705177,1468335928,-364156912,1029849449,-841270289,1946165467,-159726005,-807382274,736530338,-1676001297,-1400844300,1655035057,-1567621464,-1104876856,55724165,992365856,-1980287700,-986059354,-839904827,-760824715,504424227,-115630771,-1087029036,1613077183,202248421,533864277,-1183866551,2043804341,2035659236,-1328173506,-1443377963,-601085936,1988243303,163609587,2071788790,-1736858247,-389810567,25909584,163827958,-1504978463,1809489196,-1788058356,887262246,1832089817,2113306518,-1906056476,-1796635385,529619445,-1368115357,1120021216,785619128,-872320689,786378732,1012658798,1580173656,325393531,1924591522,1111340748,604888458,-190825154,825490435,283469672,-2061964614,55090323,2132506473,-580947046,-2015417053,-791033285,1017987033,-178759681,1890108158,762155627,1308533286,1317082083,1430627549,-822579972,170887925,215976427,385717600,-330520995,960504496,938459932,-1671098248,-1431191747,-884279494,1042174130,1892123728,805841697,49210593,214446499,-275096155,1535476032,2034757379,-575621574,-1692951431,1572615610,70993109,318639113,378128465,-1025500524,-111718412,-809954523,-1341886450,306493034,-1769202235,2145682012,-661968458,-1433939780,853938478,-524442373,-1000891145,-1143894676,-74084017,-38001047,677758163,-1222188126,-602652673,-1235638725,-1698194402,721298686,549781595,-329889551,-1554476056,1697758553,327315509,18569926,1987264372,-289203936,-169790825,-1827513792,-1747199757,909121642,-1682309650,-711724177,-954437825,-1752920969,1836863706,-578686561,1903202988,1524748642,129658620,544675610,1935549464,-1529848896,903190248,1461064122,498878566,-1932260765,-946509696,251245801,-82863947,-1246523689,459612653,1876164662,1919971375,1220820043,-364376376,613198124,405382551,591855906,-907616566,-1570475004,-2048331083,1140105148,1344852902,691877813,-1352382664,-433579949,2076162634,1128105393,883143045,-536248488,-1882590222,586536330,1670357994,1591189266,993544576,-1149734793,-1259181582,-1169083869,399258102,-1852096163,1654359655,-820722473,1789769917,960749321,1557025608,1685322592,-1877430970,422937837,-887619333,689830669,1342290220,1181790859,-711604474,1475149811,344360355,-1090391515,155130487,1242362711,1624942521,1860640523,-43837766,-247883795,765223547,1968927535,978924312,-68487635,2015615312,-1880935172,1406619279,1955821003,1830495319,1940939900,-600659057,-772549191,-777075896,-1427567649,77855699,-1049253524,1100537397,-70306440,-1712539825,910757863,990799198,1587911298,-1003076674,346974693,-1662484445,-1135557071,-1301543715,-1941892477,1604671378,-1466199335,377059596,2017951695,795604063,-1619547984,-1024274417,-626916017,-369881003,-227546726,-2146833729,1173879117,1306767333,1412477648,655235155,-1972066426,2060294884,1404344410,-760108336,-251615734,-619563384,638062772,349591062,83954970); +/*FRC*/Random.twister.import_mti(171); void (makeScript(14)); +/*FRC*/count=365; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return Math.max((Math.min((( + (-0 | 0)) | 0), ( + (y != ( + mathy0(y, x))))) >>> 0), (( + Math.log1p(( + (mathy2(Math.fround(mathy1(( + Math.sin(-Number.MAX_VALUE)), ( ! x))), Math.trunc(Math.pow(0x080000001, x))) >>> 0)))) >>> 0)); }); testMathyFunction(mathy3, [-0, 0x080000001, -0x080000001, 1, Number.MIN_VALUE, 0x100000001, 0x080000000, 0x100000000, -0x07fffffff, 0, 1/0, 0x07fffffff, -Number.MAX_VALUE, -0x100000000, 42, Number.MAX_VALUE, -0x080000000, -0x0ffffffff, -Number.MIN_VALUE, 0/0, Math.PI, 0x0ffffffff, 0x100000001, -1/0]); "); +/*FRC*/Random.twister.import_mti(381); void (makeScript(14)); +/*FRC*/count=366; tryItOut("mathy1 = (function(x, y) { \"use strict\"; \"use asm\"; return Math.max(((((((Math.fround(0x07fffffff) >>> 0) >> 0x100000001) & (y >>> 0)) >>> 0) ** ((Math.trunc((((x | 0) ? -0x0ffffffff : (x | 0)) | 0)) >> x) >>> 0)) >>> 0), ( + mathy0(( + (Math.fround(y) ? Math.max(42, mathy0(Math.atan(0x080000000), x)) : Math.round(-Number.MAX_VALUE))), ( + ( + mathy0(( + ( ! (y !== y))), Math.fround(( + (( + x) == ( + -Number.MIN_VALUE)))))))))); }); testMathyFunction(mathy1, [-1/0, 0x0ffffffff, 0/0, 0x100000001, 0x080000001, 0, 1/0, -0x080000001, 1, -0x100000000, 0x100000001, 0x07fffffff, -Number.MIN_VALUE, -0x07fffffff, Number.MAX_VALUE, -0x080000000, 42, Math.PI, Number.MIN_VALUE, -0, 0x080000000, -0x0ffffffff, 0x100000000, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mta(-2005246970,-615565037,1563409361,-1875239093,2014474933,-1059719332,-2061228381,-738363526,2142140493,-1445592359,-1768409738,-543273199,1356909723,484270644,1961944988,1340470732,-1816893895,-902414626,509710114,-1910146079,-1698244137,-1653816819,-210159673,-786740385,-1781209965,135043726,-1582686818,-722476242,72765762,1817748608,-549578412,-394433250,-520632938,-258641295,-1341476604,129342611,-1355306161,211307950,-1835563362,1364258874,-1385614385,-56557101,282489718,2115220880,-1674359972,-1114885564,1406631663,-528566533,814057406,1012479695,1178831687,-82633372,-905151723,263646803,558429642,483742621,1258868592,742195406,-585143315,-2041291284,-1664876804,-1214721808,282478366,1161634015,1687296258,-1072925634,-1515449025,1172321350,256090498,241485460,1525390008,1424907542,785729541,272695218,-31203517,1264258698,1789432255,-216599710,54610157,-830691530,-649008091,1644371349,-392086343,1530731070,-1448535249,1281650213,1091698363,-2126433355,-904369009,-673167339,1651936638,-530623230,-398744418,2039465277,-357576179,-1261270510,1951991321,-947290437,2119872731,-248930715,-456812152,1890258575,-2110658615,2017862796,-1137850715,-1280307781,-630768544,-1793326377,-1279078815,-63246547,73872988,-564212648,1677676884,1878069566,-1129325162,-1408791159,-1420222247,-2084360484,-1149157249,-271764159,1677172955,880671716,1611018754,670673070,1979195002,-169300933,311261651,513290310,-2049564185,-7413784,1172611031,759337610,-1014014229,721691623,1886882991,-595408336,-453995581,-1398693428,1415677692,-1748712403,-1615072737,-841829629,-1414094483,-1867127611,1776822457,1380904557,-754630280,-438719182,-2107980951,142435172,823912581,1285566539,1452645288,1463331878,-1531348979,495273122,-1437834488,308511330,-2118222404,-1410994510,-1733383702,-13591870,-534745558,1659925931,1395005600,1493983056,-745359175,-201984132,721856400,-1871722968,2116782999,-308330072,802397595,342426549,-2126314076,514583808,-881663218,774775706,-1727869164,-1767161017,-361358446,-2035135996,1360961458,1441322003,-639383736,1025342259,-1481499168,-146742454,-1076638180,966135367,69494532,120442357,1009433921,183677845,-43334251,-2116414509,-604582179,770990749,-617807630,999928592,653404617,322219548,-1916820988,-1397370240,-604014982,1260251944,1521994356,-927332720,1753804220,-1152634661,1895280457,439431552,-1309651427,1323925424,-1257445930,379740521,-54131103,75687783,-963734340,203014482,206611924,-693801641,-302156368,1417930480,-1948023399,742447844,-910333016,-124537991,-931001146,11533358,-141727810,1138067817,2012174357,-1375242071,1664154149,-444487784,25662701,-516207726,657647284,1962189614,-48135242,1088076007,-1204948752,-681377861,1401894643,-81161045,-1227435367,-2136296432,-1718737195,-1007213732,793398917,797594982,871126726,-1447343218,1566149218,135207735,-140617794,-188640118,971559512,787485876,-23846359,140107167,-1598447934,-1240268970,1157304476,-612540490,-1700850971,-1427041615,1656235185,1462584886,1654961763,236912157,-1755376314,-801008587,55318219,-352530493,500736930,725976175,927827453,453086738,1457584624,1305568599,-79980789,1270410773,1901753055,-504437185,-414154989,869219957,1631189693,249138594,2018399352,-2029127932,-349864847,-816330936,589983788,560164759,-1342417021,-1665783643,-1926570960,-751715220,602660509,2077548720,1951660953,-2041120931,-169353141,1822945481,-651097980,-87912411,-1848691931,2094477103,1742432676,1461741876,1407548362,287634090,1380622571,-293799638,1097584133,-2079455888,1756093300,431675004,-1451622315,433570674,1714258666,1340941019,370277968,1756327730,334041541,-2030358350,756175968,-270117314,-783154935,-1431227610,171341628,92653555,1641353109,1673599828,-1803050680,-417741861,907250865,2119308187,988478809,1305752317,-1365632561,465618794,-784011699,-77065585,31737012,-310243285,1751275847,1689497974,-1262735004,1450619920,-5790450,-1982661177,1776362217,962579658,-1305659727,-1498560626,553923449,-156039579,-1707242321,236065865,-1506405097,-62088735,179077181,626307035,-626684879,1978863084,-435146593,-1634527899,1460434094,-703789679,-1320792353,1899008642,-2111208371,-676756296,-1619473332,1734053759,-1527092532,1204970748,137025858,2082008208,1466930,-1363674722,1895789745,2119091585,1539178583,1320053412,1521870011,-1078276544,-1947596757,-869687283,-806494171,1445845186,370522873,397180770,-2012933833,-1277633246,-2088151648,-845530377,-1987998061,-1124238369,-1952477341,639346925,1860931378,-1646057617,478551912,-1617210108,-1945864062,191879585,-92677984,-417793917,975997505,1959686076,562102127,836855154,1492589367,323857240,-1205484147,1799695031,350177954,-763559623,291515697,-491931380,216709627,-919867849,29994383,-412915945,457579944,-1892427943,1947806742,2105179409,1706185445,-2142180294,970871634,-1344879985,417901563,144952886,-1785771926,-1760616690,-257866082,111576935,836654871,551121860,-1679453363,-839885300,-1556667741,1357952140,-850228007,-472908404,-1730967119,-297337340,1934619325,-237065856,2040469046,1358810729,-1614588896,1497954739,773278153,-767287477,-2132859980,-1212971834,-1956659899,-1701673384,1900870985,-1249988029,1434758756,-2121653172,-1106345558,-533739273,-1639930738,-1044281138,-2065967739,-1701624254,-706126770,-1057149374,1788953086,-731303903,1919062992,-684839234,1315825765,-1872504620,329018086,10287262,921040712,1955273815,2072970955,2013139675,-1485158088,-250226890,1568837925,-734881703,-604966187,-1582920353,-1651466719,-2126508763,514091798,-1337857339,1426518568,-1702630479,595647837,-104164981,943077671,1801882575,-1668428673,1341508779,913401507,1430113934,1575677658,-1030454009,1506853877,733002155,-899289374,-376546528,-1397912677,49499901,-793909495,-591320835,1155301552,1067408472,-121780397,-2095384348,-1677082259,-1697099545,-823100365,406240804,-1030603523,119058936,719772338,-1347472868,-408110973,-571242088,-516826164,-830264552,282995923,-334434816,-1002349272,-461241927,1730467480,335643187,1079908463,1670213918,-1055443293,1559751365,12225940,852684685,-577044558,-493086546,-2012032253,-1905725178,-244322193,-95448367,-318361495,1032730721,-1262301950,622723779,980690071,1842786731,1731690111,574008234,-1078645143,1260383254,-1858087822,130831174,1636928022,-343625387,-1034102033,-1819337126,-475066969,-1876192622,-95110077,511864751,1489836999,482925880,1233116130,343127535,1665280776,1147086588,-180896214,1344440314,-1341468679,-554645519,-928082231,-621127915,1792144062,-94536113,-703999277,1677284202,871730933,1942552175,1046523597,388739730,168190618,-121721362,-1498641983,1902952529,1504954018,-1758280161,153435151,-560667370,-59380943,-921356085,1921158016,298157756,1759533863,1552658964,-1282681212,-438804041,86972509,-652597326,1430566375,-821685348,1414962409,-785269599,1268005223,668150217,-1772060051,-1565336253,-1263930616,-1570440351,86626456,478056946,355269103,-1942470860); +/*FRC*/Random.twister.import_mti(70); void (makeScript(14)); +/*FRC*/count=367; tryItOut("this.v2 = g1.eval(\"((void version(185))) = this.a1[3];\");"); +/*FRC*/Random.twister.import_mti(99); void (makeScript(14)); +/*FRC*/count=368; tryItOut("/*oLoop*/for (let zcgmeq = 0, ropgzu; zcgmeq < 127 && (new RegExp(\"\\\\2\", \"i\")); ++zcgmeq) { Object.prototype.watch.call(o2.g1, \"acosh\", f2); } function \u3056(x) { yield (b ^= x) } v0 = a0.some((function() { try { e2 + ''; } catch(e0) { } try { h0.valueOf = (function() { try { this.g1.__proto__ = f1; } catch(e0) { } try { v1 = Object.prototype.isPrototypeOf.call(f0, this.h1); } catch(e1) { } try { s0.toSource = null; } catch(e2) { } for (var v of o1.t0) { try { o1 = v1.__proto__; } catch(e0) { } try { o1.valueOf = (function(j) { this.f0(j); }); } catch(e1) { } try { o1 + e1; } catch(e2) { } const v2 = new Number(NaN); } return b0; }); } catch(e1) { } try { g2.v0 = Array.prototype.every.apply(a1, [f0, e0, t0, this.o1.p1]); } catch(e2) { } for (var p in g0.a1) { try { a1[8] = new RegExp(\"(?=.)|[^]+|.+?\", \"gyi\"); } catch(e0) { } try { this.b0 = t2.buffer; } catch(e1) { } for (var p in t1) { try { v1 = (a0 instanceof m0); } catch(e0) { } g2.o1.s2 += s2; } } throw o1.g1.o2; }), g1, m0, h0, g1, this.t2, h1, t0);"); +/*FRC*/Random.twister.import_mta(1199042932,1947613335,1552909709,1820329750,-1667792783,1342516461,1340412752,-2009857077,268474076,1472857555,1767686739,2105323024,83978427,-1073632402,-1058405787,-1426191998,299200723,1857042686,-1342478243,-1935882493,-990676351,1485958833,-1698676793,-952268748,-1770304386,28648446,-1998960485,1321308506,-16270217,777429285,-1822568040,1799225187,1852956350,740062356,-1482161273,-350144611,-971191571,815108125,-947996014,-1756069181,-268698112,-572231215,-1475951162,-21437648,1482726981,-1052944193,-1980852122,-1012445038,1255437748,421418975,1836661310,828113292,1025260154,-2005404844,2032461589,1456182533,-406836761,-837283041,332914847,-777868450,42242507,1719429702,1775386619,-1298780363,-1749696807,1082197765,-127755141,1995255176,-1303588599,2029085496,-1409479993,812422519,-401623250,945421296,-1536422005,679947653,-1558691853,222382311,-406618663,-1627289805,1012928052,-549798573,-1162828895,-1011755731,1868128025,-1440995996,-1724591717,-891194928,-2039248766,179585140,1204926554,-748184713,349865335,-237123332,-1906582192,953467142,459965149,2075489939,551318216,1824958418,1360846173,-854150893,-425657865,-1533112624,958015369,1426433815,-1193264517,1550064528,-1461711902,1950547341,2048043170,739591792,-177468008,1200041278,-457453648,113364561,-1469068210,1751489403,-333618046,945719227,-956312305,1960810929,744720399,-1035876242,551951910,1279774043,-1785444156,1427364895,1743901136,963167177,297400509,-1842756328,1663406896,1184878091,-206377856,172040946,-1730937858,2062479277,2130328777,311694584,459532519,-1409861903,-984366962,-1381843732,-744311049,-392849889,773536860,-660644609,1995202111,1545583407,1573171284,-1554506025,-1510693099,2050751670,-1265815424,-132120083,1958738256,-1273105444,1894577562,1982034018,307166410,388450666,-901373536,-1775885767,1738130366,570308849,2117511416,873650654,-474787263,608284667,-1522483570,760116149,51880855,-84590959,1373083951,2104781376,1272958197,1174322280,-970021741,377038529,117834750,-1648823821,-471966420,-1661260707,427215543,-612919239,-1587927376,892868016,1067370931,-736370351,-110688945,-1259839350,-273082502,-1713537832,-825357404,-17451733,927739007,-1959130696,748689881,-742235495,-1633119983,268102925,-1999762346,-1853206516,-1399075489,1608085178,899188212,480521721,-668656986,1392030207,-390006409,-2065723508,-1100048278,1338165004,492803063,-214094074,175669197,1758688057,1642056032,-1874276217,283695927,-1034466864,-937097191,-1714380149,1247739008,837962811,1769559639,590804759,876725888,1732851282,-1805487235,1047043236,-569499546,-1485447523,-1158361081,-909382539,1733795866,986034441,1191640967,999401824,962873282,-587400675,1481098880,-518366347,-903069068,1838723534,-859202293,289200436,963280671,1416472666,-789011833,-1886558435,359171641,-428438102,-741430242,-993486936,1412852576,-810960716,2084959545,-936149131,-247977340,-1208693530,-1339537354,-1537129821,489373638,322536255,1529133892,128932999,-160247094,6041128,1623141601,1406080230,806691450,1363157980,1876002732,70788197,-1783356105,-271103969,1021101701,376194690,932704544,-575562673,-1440787760,1181065303,1743245535,-109613111,290292923,-1424958390,1628482711,1442125255,-1324297033,2066722878,657122465,-1443388307,-11261284,1018841623,-1348286539,-311925537,1509182273,552790207,95652776,122503832,-1297815820,1088651017,-501612452,-883164773,2070446078,-309385351,945396251,-1990387853,-400432713,1185669884,-1567728591,689516849,-35713723,2144264031,145965772,864310752,-541396919,-1720765054,-1120523963,-1119019995,-2044010316,274890229,1340260618,-1340060939,1874542475,127268717,-85616116,385960364,-238676157,2080447511,-825232335,285347182,1837405754,-1566319802,-1631146817,-1206657499,-1976238238,1896989675,-127564641,1795060616,1260498404,432343991,-1931926813,-1393604904,-1751695503,734415219,1183203594,910004413,-1451584922,523619489,-1851391129,2020370799,1237072506,-403703209,1782456334,-667725346,813233909,-1221335624,-1734445840,2040616660,-311435555,1150094143,-246675297,-895464946,1752011278,-1318895497,2109082780,-1361708327,531402491,302588231,-1878139042,-1241035099,-1286889821,961558553,-1229271985,1337558322,-1062130519,-1579037772,1144490750,-1266286183,-277086942,-1781992489,305275331,-1002748562,1366574384,-1508065720,150613578,381392234,1765425888,-1721269389,1256772752,-332085925,1069868655,2126080517,2108539242,-461106082,-762585583,-555756543,1032008609,-1928270271,-1217327383,2091518828,-771252480,-2006078681,431262787,1090797503,1091022332,-555568772,1988092099,-580370616,-519000089,680716760,768124681,-1964116745,-574802691,2088589142,1480738062,-438914517,703286427,527871459,-811374163,-399392675,916934268,-179535935,2038129101,-754212923,-1855211906,-222127523,910155355,122311922,1609636007,1769450589,-1840776095,224001924,1453938404,-502833854,-816316405,-969000155,-1785121696,-1665660765,-481192220,-1635645772,237722687,-1454577426,-131036479,-1354158716,-1280264426,491027486,-286007927,-1427000063,152901883,364305740,-1841258244,1000369296,-1830421932,442591046,-1908268066,-1637764676,-55829250,1716764282,-2071810215,-2030473631,-1183688457,767862965,995408710,1717765911,904113849,392664263,-2114281710,290003049,550572783,-1505938644,1900170773,1278926816,-414089067,-1446384785,-1541771198,-346635564,-297311808,-1711236755,-997790745,1329893572,1826915904,-661993853,1791280839,-494596584,-813815939,1205973115,393264720,-371460493,-622693041,-1931197301,-569906486,-1189025983,-2123076715,171726325,-947498527,-119669749,-189932602,-1430115360,-1467756195,49968087,287645333,-1091779317,1022534085,425887309,1710452243,1610580981,-894088099,1121265582,-1917828519,-569118295,1935789035,-800133172,-1566756506,-746679057,1692409362,-2105755689,-394602465,676887285,-388050245,1372735859,-1586283571,-508172832,1669247043,281077489,278584214,1484393066,773503941,-1836913222,-1407554537,-1441801912,-611889031,1517892751,1645520752,-1682732293,-710700230,464117977,417302974,1146889931,-2000839966,149816326,-1276800263,-243822704,-400475691,1614278683,-92707674,1737861212,-196279230,-1603704351,2012210714,1977243914,-871217453,2128033944,-1193107034,1532303523,1830439362,1209914330,1955461989,1696300035,-515509531,-1374787148,349779536,1913791178,953568454,280670867,585874113,-1358740710,-812872513,968302559,-1567938492,-1289170304,-1191763109,1999066254,336724931,-1813951117,1998884700,279696452,-1910719928,-1260142143,328884482,525785425,2081775142,-1032540349,-959493107,409731925,-649225924,1800878436,1327026806,-196134446,-151053063,-1573689807,1356697728,1366290381,1011099913,-1036607453,1027822540,2000656921,1267032607,-905258141,833813319,465719555,1643928632,-646658069,1241861040,-1616333297,-1744104896,483464974,-1303643623,-518922392,1974152161,-1380521636,754817651,-1698504797,-555070700,862894948,1365069340,142359772,-502559326,-1403377081,2024109471,504773072); +/*FRC*/Random.twister.import_mti(64); void (makeScript(14)); +/*FRC*/count=369; tryItOut("{ void 0; gcslice(2905016921); } i0.send(a2);"); +/*FRC*/Random.twister.import_mti(85); void (makeScript(14)); +/*FRC*/count=370; tryItOut("mathy0 = (function(x, y) { return (((Math.fround(Math.hypot(Math.fround((( - (y >>> 0)) | 0)), Math.fround(x))) >= (((x | 0) <= ((((Math.fround(Math.hypot(Math.fround(Math.fround(((y | 0) <= Math.fround(x)))), Math.fround(x))) >>> 0) !== (((Math.fround(y) * (x | 0)) | 0) >>> 0)) >>> 0) | 0)) | 0)) ? Math.tan((( ~ y) >>> 0)) : Math.imul(x, (((y >>> 0) / x) >> Math.min(Math.fround(x), Math.fround(x))))) >>> Math.cbrt(Math.fround((Math.fround(Math.imul(x, x)) <= Math.fround(( + Math.imul((-0x080000000 >>> 0), ( + Math.sinh(-Number.MIN_VALUE))))))))); }); testMathyFunction(mathy0, [Number.MAX_VALUE, 0x080000000, -0x0ffffffff, 0x100000001, -0x07fffffff, 42, 0, 0x100000001, -1/0, Number.MIN_VALUE, 0x07fffffff, 1, -0x080000001, -0x100000000, 0x100000000, 0x0ffffffff, 1/0, -Number.MIN_VALUE, -Number.MAX_VALUE, -0, 0/0, 0x080000001, Math.PI, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(414); void (makeScript(14)); +/*FRC*/count=371; tryItOut("\"use strict\"; h1.has = f0;"); +/*FRC*/Random.twister.import_mti(427); void (makeScript(14)); +/*FRC*/count=372; tryItOut("mathy4 = (function(x, y) { return ( + ( ~ ( + x))); }); "); +/*FRC*/Random.twister.import_mti(475); void (makeScript(14)); +/*FRC*/count=373; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var ff = foreign.ff;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = -32769.0;\n d1 = (+abs(((d1))));\n {\n d2 = (d1);\n }\n {\n d2 = (33.0);\n }\n {\n d2 = (d2);\n }\n return +((d2));\n }\n return f; })(this, {ff: DataView.prototype.getUint32}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [undefined, '0', 0, (new Number(0)), (new Number(-0)), 1, 0.1, true, (function(){return 0;}), false, -0, '\\0', (new Boolean(true)), (new Boolean(false)), objectEmulatingUndefined(), ({valueOf:function(){return 0;}}), '/0/', /0/, NaN, ({valueOf:function(){return '0';}}), [], null, (new String('')), '', ({toString:function(){return '0';}}), [0]]); "); +/*FRC*/Random.twister.import_mti(615); void (makeScript(14)); +/*FRC*/count=374; tryItOut("Array.prototype.unshift.apply(a1, [p2, p2, this.b2, s2, g2, i1]);"); +/*FRC*/Random.twister.import_mta(1200077002,1707387912,-392177782,-1430240442,2082130152,-1870428351,-507987370,-1710762898,981473553,-1273864779,2142922935,-628119170,-18717493,-1895673554,-2011743351,821208913,533394855,-1556241416,1437280169,650918242,-1992486703,-869602766,-2042071503,1658251940,1605123100,1388772671,-1890514704,-1876156264,997171084,1893042433,1067307179,-1504487135,-456351721,-1125945529,-338526237,-1510486770,-1472867188,-1309105880,-537194950,559196644,368956789,-1688509720,-1184740675,1621216157,623776803,-1482237225,-11424003,1799448293,1019966430,-829679650,-1209586366,-1388402133,427787700,191438556,412929884,-1544176425,-340630500,1118036076,326187327,1252983406,694112869,597921020,505550585,780038989,-1625584345,565924283,-40896347,962363564,1371281705,-1214083334,-1487012493,31749422,1263233343,180627464,-603832716,-1470775863,2039818112,-609533914,-1699566426,-1184790641,526124313,1615499597,327587997,14909075,-1894872097,286536693,708061228,803029505,-1647253831,1227627242,1379824508,471586073,2131710981,1348292856,-1246652688,1314882814,674647837,-831925330,-1891388248,821212644,-1245725277,769564101,-1433224349,824735965,424167604,771456191,1825078815,89463652,1573194514,33289620,258483573,1598384351,1010570602,-118969467,-1732415399,-1719163778,858361035,1164933546,359210190,418016062,807004392,-338072886,-1554230304,-1207314676,-1754059641,-501942567,-1571612765,-1836330203,1678324955,-223675198,433325181,1627918862,-499294800,398708101,-677217085,-1603038744,1315970625,2113076930,1395867379,-156376100,390111580,-1224051843,1299758767,-402234854,-1457627877,-542112564,-1112991066,1369115961,1181803224,-960273921,-392998993,831227891,445142535,-301229054,1165089224,229644978,1876205796,-1268499426,1170636969,-1312432189,1355201558,1211717906,-1710853607,121707194,-320024412,-564222311,-1274608293,-1140314193,-1187363352,712381313,-552256618,-1167533099,191982733,1047523575,118303487,510426849,-1848144716,48808397,-1525450959,395379260,70616405,114008522,-941690187,1538224076,5291266,1127707226,1170920329,-86865376,1903292212,594837109,1108882192,-1366224255,666470152,679466916,306008984,877771289,-1481743635,-1618662221,-511283618,-367472290,482567802,958682599,1073394207,-2067778449,-1511625666,729725373,-1936132320,1307496811,687878091,-412252204,-574131767,-952344971,2066773128,636257085,-661698325,-1449155368,14147615,470974147,200148799,261527120,306519948,-1404601649,-576922298,-2027621406,766229637,-720277909,-1769606524,1571249034,1449146145,2074500843,-168555244,1394464987,1513216208,634020490,1743426187,1227606300,813184494,-986601557,-951616050,-498055382,947166463,-466298679,-1720239564,2061292701,-705561825,-356034061,1850889720,209756033,-434356705,926717869,-1139217931,-1945055265,1644018666,-424255745,-230134964,1366600252,1459705179,-659055896,457332292,-1672432299,-417789644,-1278845960,1859116160,-425702545,560779368,-227978344,-1148471432,784645136,-613059076,271936530,1229341166,1025803550,-1895380167,-927371989,-262814712,-1357262438,544146190,1887567583,-1509389974,45382948,-1128701916,1301505588,1506794531,1095318700,-418322601,-1025553475,1596419147,-1059080975,-1873692992,-1616720771,1407822674,361123752,-1404554414,-2111443477,-32959112,-546977236,1478364234,1387227148,-2003455570,1234349291,157452612,-984593138,1361883794,1217931182,655232052,-418999463,380544236,-629638965,-34821589,-23144295,1672908781,121705752,-594535502,-1915543983,-919429775,-1719056417,1357787162,-454313081,1353469912,-1197674376,-1745654219,-156965206,-1620702501,264712088,1332823563,1637260210,-1439629683,-1999802203,1717451027,192479261,-702527991,-1490615693,1702525448,1510618370,335869639,-1951470190,-990205351,1249008324,-1094370827,-1727633414,-1919446463,-1121081685,208507258,-1404195483,320395974,-945146967,-738066600,324716653,1775178315,-1209984301,1855684995,111713771,120222385,-2037577058,947166929,286663900,-558672851,-656355368,2056380626,-1368234040,1796433647,2015175538,1530766504,-270619951,413326277,654702580,1997861688,1771808530,963133134,-1683601139,2013938278,-1592216908,498799425,2097440040,-1808031254,-1004194784,-1591762074,1371760932,1635476009,2022937464,1832922129,852240217,-564341882,-1077608230,-1770414423,763142705,-1563721497,347843379,1130664871,-1365552279,-1829082148,-1986479380,1900836075,1928185523,442247794,-2014534307,406067630,794321985,1276084490,-860338814,-1578158328,-977461932,1614379863,-1194048716,-539581311,1891729871,-1373917892,615928747,700119412,636072459,1964732520,-372221394,394135222,-903466798,1722597508,-2035825259,1565185502,1849233815,91421515,-364605030,-1093914230,-1394321519,-649991448,-50477613,1009492876,70479463,1519758947,1417067845,-649222122,-34738707,-2023416298,320229554,-2033328308,481540559,188886697,39093433,-697423499,593740051,1026290488,838659768,-222808141,-1457028199,-421615742,-557121825,146016948,-285281664,1479671954,1268597767,-488291136,1944945501,1263835581,-265453529,-540409651,-1616534790,7826882,1595066891,915860808,-220914437,472711173,610784943,1457765815,-56396296,-1822437645,-171333302,182141742,-621993875,1214870654,-1148322948,1989124725,-1718979139,-1418663818,1553056439,-103169947,-1879326163,714993777,1287409290,-86977851,-300559916,-105140555,383650570,851354262,151236192,920052318,1634932347,1845119350,-148339208,-1391316391,430877269,1228813082,1702331304,1262813321,-720020976,756269314,-729267683,-346259601,46657769,-870058441,-208807487,-666711100,-179296550,-1646757669,1025285241,2003589294,-1309328229,-151049083,1635346775,-1760719139,390621170,-77326575,-442643758,539209595,2025879204,886965174,-1080084127,-386350313,-1054921101,1863661269,563717211,-1917803364,1098772354,1325490254,1399770362,780426826,-777051789,578132732,1612863824,-654676148,19915919,-378714053,-550936657,1104761203,-401896736,-1308524547,-496649201,776753747,-857278061,1783606587,157763184,-744663637,-788537491,922074603,-848539648,-570538532,-803976775,-1672446897,-1112251411,1368373418,-1429218202,-2056375676,-1522497286,-956617801,881243398,1534834487,355560763,-140055319,2049927616,-2409325,-525507864,-2094404706,-969656475,-242271268,-1112621206,-592848568,-1902759567,1937460129,-1565646954,139693676,99287038,-1431566554,-224172038,1771999829,39669476,-1640080663,292740650,1758028330,-87121035,655953077,352962093,251492297,2371477,1173641889,1907994192,-2018117461,-524682434,1624385702,-2130774517,2068633277,1203087985,230080448,2092027283,-705087944,-86645402,-283839437,528104312,-668671957,-1102931307,599108035,648801152,59756391,-1586425199,-1056327610,1441426582,1355590782,-1847489158,-462308850,75089905,-296781664,558212401,2091166942,1584504405,-816976018,1973730182,1000855199,1841167617,-2133691331,739358253,-148107557,-1168847662,-1918458750,1078571578,-1110940849,-16375710,-1998079563,1006093771); +/*FRC*/Random.twister.import_mti(33); void (makeScript(14)); +/*FRC*/count=375; tryItOut("\"use strict\"; mathy5 = (function(x, y) { \"use strict\"; return mathy3(( ! (( - (Math.cbrt((\"\\uDDE2\".valueOf(\"number\"))) | 0)) | 0)), ((Math.imul(Math.fround(Math.fround(( + Number.MAX_VALUE))), x) << (( + (Math.sqrt((Math.max(y, (x < Math.fround(y))) | 0)) << x)) , Math.log10(-0))) | 0)); }); testMathyFunction(mathy5, [-0x080000001, 0x0ffffffff, 0x080000000, 0, Number.MAX_VALUE, 0x100000001, 0x100000001, -1/0, 0x080000001, 1/0, 0x07fffffff, 42, -0, -0x07fffffff, -0x100000000, -0x0ffffffff, Number.MIN_VALUE, 1, -0x080000000, -Number.MAX_VALUE, 0/0, -Number.MIN_VALUE, Math.PI, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(275); void (makeScript(14)); +/*FRC*/count=376; tryItOut("var orrjtp = new ArrayBuffer(4); var orrjtp_0 = new Float64Array(orrjtp); orrjtp_0[0] = -23; var orrjtp_1 = new Uint8Array(orrjtp); orrjtp_1[0] = .2; var orrjtp_2 = new Int32Array(orrjtp); orrjtp_2[0] = -17; var orrjtp_3 = new Int16Array(orrjtp); var orrjtp_4 = new Int8Array(orrjtp); print(orrjtp_4[0]); orrjtp_4[0] = 1; var orrjtp_5 = new Int16Array(orrjtp); print(orrjtp_5[0]); var orrjtp_6 = new Float64Array(orrjtp); orrjtp_6[0] = 513; var orrjtp_7 = new Int16Array(orrjtp); /*iii*/([1,,]);/*hhh*/function cgfrqi(){e2.delete(g0);}h1.has = intern((({ get sort()\"use asm\"; var cos = stdlib.Math.cos;\n var abs = stdlib.Math.abs;\n var NaN = stdlib.NaN;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Uint8ArrayView = new stdlib.Uint8Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n var Uint16ArrayView = new stdlib.Uint16Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n (Float64ArrayView[((((((((0xe8af0681)) & ((0xaeed7b33)))))-(e in a)+(0xfa1b61c2)))+(((((0x37fda7de) > (0xffffffff))-(0x8a02df5a)) | ((0x96592bdf)+(0xffffffff))))) >> 3]) = ((d0));\n {\n {\n d1 = (d1);\n }\n }\n {\n (Float64ArrayView[((((Uint8ArrayView[((0x5ca5f7a8)) >> 0])) & (((0x74c9f283))-(0xfed5bf80))) / ((((((0x933e17b7)) >> ((0xfee259b7))))) | ((0xc6ce57c)-(!(0xf807443c))))) >> 3]) = ((+(((0xef4e1aae))>>>((((1.0) + (+(-1.0/0.0))) > (((d0)) % ((((+cos(((1152921504606847000.0))))) - ((d0))))))))));\n }\nprint(\"\\u56DA\"); {\n return +((Float32ArrayView[((((((((0x60acfb22) ? (-0x8000000) : (0xfd176106))-((0xef7aa874) ? (0x623b7c33) : (0x37f65bf))))+(0x9e1c311a)) >> (-0x6a1c6*(0x20402581))))) >> 2]));\n }\n (Uint16ArrayView[(((~(((+(-1.0/0.0)) != (d1))-((0x312acfc8) ? (0xfa845e51) : (0xe7c6ff9b))-(0xebcf9b7f))))) >> 1]) = ((0xffffffff)+(0xd1cc9aad)-(0x1955e52));\n (Float32ArrayView[(((~~(+(-1.0/0.0))) != (~~(d0)))-(0x596f2a0f)) >> 2]) = ((((d0)) % ((d0))));\n (Uint16ArrayView[4096]) = ((0x72ed305b));\n d1 = ((x >> a));\n d0 = (+(-1.0/0.0));\n return +((d1));\n return +((d1));\n(d = Proxy.create(({/*TOODEEP*/})(-6), '' )); d1 = (+abs(((NaN))));\n d0 = (d1);\n return +((+(abs(((0xfffff*((d1) < (+(((0xf867b300)) >> ((-0x5b5e539)))))) | ((-0x8000000)+(1))))|0)));\n }\n return f;, apply: true })));let(y) { yield Object.defineProperty(orrjtp_1[9], \"0\", ({enumerable: (orrjtp_6 % 2 == 0)}));}throw b;a1 = r1.exec(s0);"); +/*FRC*/Random.twister.import_mta(1123641334,-979066447,1268424036,1656536725,1963286273,693950839,1914888423,1002444464,-1033052119,1939874880,626055061,1322425048,-629490143,-1133755068,458551931,1956071758,2100731764,-925802053,-1617963670,-1337801370,2112579282,652199661,2137336134,-992839468,975293065,1103134140,-412354019,559832564,-2010259841,-1312021498,-695860794,-423189239,1281982446,1670368709,-1286539852,2063531940,-1058527679,1101805389,-1489200650,1601349665,1611088075,-325579571,-1874808205,1064244510,-885789979,228075334,746987159,-1769573803,-1624537462,-641371144,1394614279,-508392042,100464668,1986804360,912965263,-217204500,1568439854,1679944014,1128319308,-339050092,-1117756736,-1476397536,1229106207,1002495128,-169547071,-2052381418,1925030984,-1095619950,-1682407576,1579927976,492569576,648752705,1928698294,-674157636,125810249,1829409550,-533722752,-2131299630,-275553677,-776639474,-1619544541,550355951,1006439336,1007027316,1135293279,-1985824646,586214019,2025143373,-1316209048,-611159043,-131563147,1654459467,1977861598,-1100558193,-1039500529,-978726973,824885298,793274336,-1318885449,50123935,563427653,1152482793,-1149709244,1303550006,384507006,-656785871,753937304,-1754261475,2035702117,860929657,-137037684,1183216140,2031360051,-1424111496,1223585758,1150100339,-1643877906,874392565,1357584253,1079664658,-495781673,223347088,-976070886,996849318,-1330673676,1545436492,-568419513,982980307,-2078627536,1494454599,-1084848473,1230630420,-130840787,-642416546,1801433201,69689483,-2146796545,-43142000,-1427659040,-12941350,-800347410,901784261,-621934954,1709766896,-1716228173,1512291198,2129419853,-70690822,-2057315713,-11627134,1625945418,-1509197310,-692078611,-681046429,-2017214245,1119869530,912775214,-1766284235,630065569,231923499,-924182191,948722060,-297862698,-2108802173,-1135655172,-109632022,46567584,-1734794441,1731514467,607422581,-977569903,824887412,908788145,112402399,484706134,308034691,2071208756,-595695541,-899204801,730213559,-2087195419,1461343549,2097119124,1293282240,1158479474,-1315790992,1563738508,-776803636,-1613964861,2137630218,-1495257162,-1615632983,-430345901,-1856137115,1362687492,-1486921054,-196410028,886068478,113919803,-1707834811,-1467707893,953499245,1306120651,-1801459248,-1638094085,1756192331,-1830074195,-1687367810,-1885973466,-642900223,1524726018,-2121852445,1775562109,-1219435127,-280338995,942178701,177397374,1072599801,-1644806971,-881063670,1834649974,317086324,20627245,494174389,-793118843,-1931031453,694776864,-1245958757,222109755,472423043,-951955605,-317856702,-1614724636,1839668939,-1758026511,-1144797840,-1618900890,-1557279897,494905542,-1677721915,392816570,-1331246671,1085480817,-659337089,-106620841,-263857071,-1588092727,-1442343985,-1312627132,1483232540,-219489594,8172049,-30458497,-1543969097,716365265,690058094,-130588398,487546946,457319123,1432002956,-507358944,-1894308475,-376795188,-298998147,-549911959,-1371435142,-943686222,2017667219,-1835286174,-476424822,567595177,749615374,1757161725,203993948,-1706963423,1466423956,-1841168060,614497347,213443417,-1944195513,-906177927,-365307878,-1724387280,-266017616,1649332141,40601165,1733571001,1243505852,522519488,-1256658217,-211724690,-1012823829,-291859258,-2115331666,1898130135,-831244185,565265718,-542829704,-1282470893,-1206795892,843800961,1473255024,903749916,530519799,-505461472,-1548610459,417250018,1105510823,-897643798,741729597,1197637946,-1531615393,1504212036,-1408035138,1162998797,2134687178,-387147768,417306967,-1270764900,545528204,355399358,1760766751,-1557163061,1060222019,1142904097,-131190803,1775898954,-591002969,131817777,1334039080,-191856873,-178173346,301478820,-1692535643,-636968150,252860808,-1180948203,2048974719,152525076,543291954,-1845002645,-330246479,-136845369,1799629580,665541077,53812313,479687792,-1929273158,885930909,-2044458138,731017665,458671918,-1484943785,-1092105641,1292109871,1839613135,-429215896,33250555,972647193,-1615552489,-1822177154,-2093215116,-640852099,531433511,41434303,-529092114,-191500319,-1942831661,-525044301,907643704,-2041512541,510173793,-1764926426,-916871925,-1872752955,-1354213401,119403032,912016696,-1191343596,-995555843,-640653651,-1636142257,-181605158,-829254109,-278100196,133728846,-1428163518,-1000758078,1593351783,-1348174166,1314218101,-475981150,-1691524022,407557426,-908397032,1938430159,1474066770,-1382324690,589238809,-1480282687,-520074977,-2135725795,1303038661,-479420607,1450386158,-1312077094,719231374,-1671133394,-441584191,-580002864,1088119251,-794701247,-1496190906,-2061191225,1003410323,1022235276,374049088,172786989,-2075690261,1990149117,50304602,1348888018,-326269762,-1380946656,190193172,-1330573915,1157095497,-641286588,67151316,1625359051,1082846871,-558598384,-1996613671,1930301353,-644571327,2115007647,-1156743515,369101281,-1150616598,-351233847,1197099075,2081833453,-1101854048,-969723457,470772831,630900218,-914704241,1821496542,224051601,1757348258,-649462798,-1769849024,1600230347,636015176,257744036,-711606560,-1189268011,656479057,741992451,1987314697,1517374260,-541406147,2043838525,-258505493,-834520491,1077011463,1918221836,1870803099,-394233671,1329029516,-1228142627,1050900864,1621377478,2053465627,-153896237,1566225048,-729339301,946686665,-1350118669,1132500516,1943466581,898023429,1247542525,-1408891528,1749968352,354543404,-2027011081,2060594479,873291046,800827680,1923376862,-1056780422,-781197758,-1437614933,1066132777,100110861,-430964606,-1691112329,-524178244,-145495832,-397035421,-1770035940,1998103835,-1390448190,-2089833728,493364405,-1901521560,-1778124573,317066558,-1388468923,-918335972,-28651610,905617894,-1761013145,1395247045,-484587687,170820920,-1835591769,2133590541,142092023,-535559419,-1503806815,-215672361,1176723452,191010875,174362381,606770135,-1398856648,2072885882,923300278,1497153231,-185875010,-2004603256,-1912043003,-379583230,1653871219,597558957,-575333601,579994698,-621171590,361724916,-650328429,-635668204,561218486,356769664,-249148531,1421363583,238961262,-13571699,830526045,728790416,1719690433,2030449725,2088177391,854044174,1016735059,45751932,-374112929,1787351689,1857626420,467295690,559512817,-1878760643,-487356093,-708830441,-554402516,-357062363,247308633,-419093509,68841674,201791460,-917885792,-741212376,-882564993,507007818,-576808789,333570648,-286304781,1952348652,7542488,-747127550,-609101629,623285190,1437103274,1409899448,-1925682120,-1151457059,-904025259,1042415103,-1550145267,-1219813732,-1699530162,-1335179643,86428111,-1272801039,2087376933,-695620320,-1204267804,1895739773,-162426748,-203962995,1723434107,625673251,1272712398,997862242,467074046,278801413,1433960774,1293421535,-421641116,873100774,1482372037,-264864738,-212182512,-1717222776,-820913561,1415569449,726984658,-1078393280,532553005,-1250716035,-85947862,-1244220350,1990249129); +/*FRC*/Random.twister.import_mti(260); void (makeScript(14)); +/*FRC*/count=377; tryItOut("\"use strict\"; t0 + f0;\nt2[4];\n"); +/*FRC*/Random.twister.import_mti(297); void (makeScript(14)); +/*FRC*/count=378; tryItOut("g1 + s1;"); +/*FRC*/Random.twister.import_mti(309); void (makeScript(14)); +/*FRC*/count=379; tryItOut("testMathyFunction(mathy2, [-0x080000001, Math.PI, 42, 0/0, 1, 0x080000001, 0x100000000, 0, -1/0, 0x100000001, -0x100000000, 0x07fffffff, 1/0, 0x080000000, -Number.MIN_VALUE, -0x0ffffffff, 0x100000001, -0, Number.MAX_VALUE, Number.MIN_VALUE, 0x0ffffffff, -Number.MAX_VALUE, -0x080000000, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(341); void (makeScript(14)); +/*FRC*/count=380; tryItOut("mathy3 = (function(x, y) { \"use asm\"; return (( ! (((( + Math.fround(mathy2(Math.fround(0x100000001), Math.fround(((Math.hypot(y, (( + Math.log(( + y))) | 0)) | 0) < ( + (Math.acosh(( + 1)) >>> 0))))))) < (( + Math.max(( + Math.pow(y, (Math.atan2((y | 0), (( - 1) | 0)) | 0))), (Math.sign((( - (0x100000000 | 0)) | 0)) ? Math.imul(Math.imul(y, y), y) : ( + (Math.fround(x) & Math.fround(Math.log10(( + x)))))))) | 0)) | 0) >>> 0)) >>> 0); }); testMathyFunction(mathy3, /*MARR*/[x, x, 'A' , 'A' , x, x, x, x, x, x, 'A' , x, 'A' , x, 'A' , 'A' , x, 'A' , 'A' , 'A' , x, x, 'A' , 'A' , x, x, x, x, x, x, x, x, x, x, x, x, 'A' , x, x, x, x, x, x, x, 'A' , x, x, x, x, 'A' , 'A' , x, x, x, 'A' , x, x, 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , x, x, 'A' , 'A' , 'A' , 'A' , 'A' , x, x, 'A' , x, x, 'A' , x, x, 'A' , 'A' , 'A' , x, 'A' , 'A' , 'A' , x, x, 'A' , 'A' , x, x, x, 'A' , 'A' , x, x, x, 'A' , 'A' , 'A' , x, 'A' , 'A' , x, x, x, 'A' , x, x, 'A' , 'A' , x, x, x, x, x, 'A' , 'A' , 'A' , 'A' , 'A' , x, 'A' , x, 'A' , 'A' , x, 'A' , x, 'A' , 'A' , 'A' , 'A' , 'A' , x, 'A' , 'A' , 'A' , x, 'A' , 'A' , x, 'A' , 'A' , 'A' , 'A' , x, x, x, 'A' , x, 'A' , x, 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , 'A' , x, x, x, x]); "); +/*FRC*/Random.twister.import_mta(373392937,1188191403,261243476,1116362304,219526521,-307033495,-24341479,-296885723,-937731846,-1585560933,-1156724158,1368922638,-2091124366,-1803966415,-353732890,-1739931652,944027589,1946761510,1691316287,1757297193,-2144610684,-1141510584,1425440663,-957889599,1887853324,1177602415,-48282662,-1773649420,-396943450,800383146,866999327,1647581731,-936487690,1495438413,-1546975038,830649382,-1966037808,-905260102,-2002677680,302411295,-1186676904,1782714892,-1264119226,-70578706,987386446,823702836,1417197642,1402646298,1232632838,971118675,1548259861,1336196511,1401494758,1534334058,-1358634186,836742364,402138863,788314114,-529465814,-408091467,1960765505,-779088173,1804888645,-108294517,-1653645642,9196057,-271674974,-2086795807,790888659,2096873464,-438364316,-772098974,1692398674,1820027942,136720391,1354515718,975052658,403880757,897582239,36979093,-251454495,-1300736217,1568904222,-888415451,827825208,-2111096477,156511105,1887992532,-505385459,1647489938,-1835787307,251445193,-1451200072,-1968575610,987666500,-1980055973,-1108635813,-1103960531,-578729827,1871850751,543400540,-42088802,-1853184781,-484428196,588958427,559984855,1068485907,1724659565,-1647785130,-1253873362,-180305435,-1218137608,-1196211847,-1389069837,1157951168,989369617,1410250562,-497746780,-1020201136,-1575007860,-734062737,1573202304,1439530404,-129777409,-934083577,1159914667,-2107612086,158321827,-1706127,-1568055205,-936127694,-560150221,1540534681,-1248078296,1878050084,294233000,-255963059,-1139550606,487149982,1270600666,509459106,266667777,-1475489790,-2141324046,-1272112340,2086856429,479668299,-823885216,-1904148148,617395162,490471279,224887460,-1019451981,-241621726,132090348,1647695914,-299635670,-114812415,-1552156135,-1077435893,-1242213991,1570221666,-1231647702,1174273716,1575153156,-781767827,2008524807,1062388729,1441171913,1365418546,1445512547,1696076796,-1639231494,41227343,1500283454,-294916430,2085790853,-503087350,290799151,-1960663819,476762034,1243727398,653910840,-235814341,-1015507077,1270674176,2104558028,-2098755706,-225657027,-1473364218,483174750,-737806967,1916589536,-539531874,-1994618081,-900774865,1599005616,776932275,-394778152,465787642,2103081741,-820319929,-65117076,636559407,-1947755647,-1254747990,107637617,2091975025,-301382495,2112786564,-860635800,-1594176066,1686013567,-626529313,-1656241188,-176221407,1973789619,240577589,-1431314718,586327186,573033192,640477449,-2012418648,69721440,630938820,-513667502,-176788293,-908613909,-774987467,-1254369986,873243745,1123358091,40383955,1814001342,-1280573283,-2015650615,1776293879,-172876255,-982559309,-923858257,354581558,331041153,756786972,-576812239,-1792841775,-1385426812,-1531624687,-657807962,-675167034,1837306612,533801494,-694586004,-1899754773,827235821,-2099709885,-733171921,1630752907,-1492845143,1218005733,-120619930,-2019445168,-686928092,-543369273,2084869435,-1658186745,-348017015,-147895671,-1341562903,462371017,2101725901,-308539031,-1752369425,923593882,-1068437627,942228048,1079606436,-222652755,-1021553818,-794625437,-1367358203,778631271,-476112082,1238228612,-2625050,-1228813317,1255298601,-1029556501,2068605345,1377094503,304398706,22280737,-366865195,1081679566,240628758,1034725645,2147263048,1395209796,621814194,-1913498460,-1527581619,1200842526,315170953,-964985182,183614946,-792526376,2045729262,-1144090215,-734224748,2104104294,2117260419,1079629909,1568908826,-1809665476,-218865320,1326851121,-711581175,-1219112986,-2001416549,1589555983,-1558770969,668520150,-1304305282,1332401317,116167956,455950596,-1452523464,-654729869,-91839973,-625201270,852110247,-1718578317,1810289417,-1243153830,1386978438,558177193,403599107,1364964942,-238326417,-1487647519,683167379,1108648564,-1477988868,1331331223,-556553353,2059846231,-847557272,-1533044271,391166590,1591159859,-1727203941,-169303192,1122333683,-2091273889,2112540802,-1498128869,-858742587,2071756537,1304942177,1213082087,308499878,-200941806,-1709254075,-950560924,1753939661,-1943499131,-28633423,-1800782356,-149999452,1424605853,841817612,1449205021,-1085557441,-2117696329,-844128266,4725068,-854591424,1071812934,21314149,-163860347,920446522,665627738,2102001537,-1670110236,-1718243420,-1160487130,-1240203208,-571772822,1132572277,1246073143,1219792079,1949135845,276061217,-1656602124,1398461195,-543195327,2114499936,1202655525,-1632633680,-269290045,2009324458,-618393570,-1498327165,1188368845,392902130,-85534105,1144681192,-2062489758,-139164275,613886926,-543366386,1084857284,-1877971112,-1876551620,-1180772134,-1668247872,-106333283,872467791,-2014862092,910353576,1933778637,-136030345,-1084602048,-1667796289,451275962,-1356907074,319514915,924845528,1062873575,1717754109,1163109368,178985895,1452286130,1438230433,-1280797682,-1699640351,1787251500,-1343871829,-788086627,1283076357,-1629810047,2107931638,-2106702196,258882337,-1565874877,479956680,387592826,1421496061,-1115546881,309553624,-1532489647,1332134592,-752671234,-208246922,-220724503,-484607589,340298496,2141449289,-1155997505,-523786416,793808969,-624254849,1447948380,647556707,-1748387326,211967229,-62551371,1713807933,-1200951115,1948318023,-1351281619,-2100348943,-1519302862,156635990,114568871,-1234699030,1686823220,-1464006833,-1860504656,-1218888066,774357790,-1299886800,1056814818,-1034965613,353657467,-1382805953,-771302463,481221166,-1649993533,-1059873868,-422648664,1556476550,-174195930,661569539,836896962,737814064,682047624,-1445680087,-1644378313,-333118821,-634486668,-1955635957,-626155518,1456915525,-1290976467,346092003,-671715113,2088143275,1729887992,1812560211,762083722,-2131585483,-331572472,-664899643,842950102,-741721390,386107899,-2107114882,-405976072,1997977457,-377770093,-999171687,-583625415,485297590,-812594554,-1188374805,116370832,-1296210351,978696739,156047442,1944949018,813981501,-1803479396,-1478251469,-813788392,1014900594,-173168913,-908006957,286317168,1895788583,-555413562,1197650638,572004539,-2060459054,-1108074458,690969474,-1377163409,-1542968368,-2125985073,1938372751,1523773037,-1398532181,-1096356923,241137552,-1047901580,2109931629,-606003020,-1625610793,1977371368,1555710867,-1207184193,-619736543,-1336960280,-260105347,-1565324518,-1632545799,1258760364,-152162592,-392264874,-437611111,1230572389,-92881625,321797571,834760072,-343691148,-1600698636,388488479,930344893,-1882742882,1121777823,-1428000802,-1992651716,-198764552,-435905904,1366872869,1264312445,-1930850986,-295358253,840798514,316358172,-1661855702,634610666,1293245720,634438281,397656395,271772777,2142049293,1848718462,-1223232132,-2073854595,1629869742,670821652,-1947915390,-387842521,576685303,212748186,1736185432,476096153,-1742202518,1311169971,-965666537,749766297,-2100338391,-809947856,-1858481874,-1123945575,-1184706052,1562312486,1811017925,-962338200,519256597,774542878,-2055985824,-1672453909,-712547602); +/*FRC*/Random.twister.import_mti(270); void (makeScript(14)); +/*FRC*/count=381; tryItOut("\"use strict\"; testMathyFunction(mathy2, [0x100000001, Number.MIN_VALUE, 1/0, -0x100000000, -0x0ffffffff, -0x080000000, 0/0, 0x080000000, 1, 0x07fffffff, 0, Math.PI, -0, -1/0, -Number.MIN_VALUE, 0x080000001, -0x07fffffff, -0x080000001, 0x0ffffffff, 0x100000001, 0x100000000, Number.MAX_VALUE, -Number.MAX_VALUE, 42]); "); +/*FRC*/Random.twister.import_mti(302); void (makeScript(14)); +/*FRC*/count=382; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return (Math.hypot((( + Math.cosh(( + (( - (Math.sinh(Math.sign(Math.fround((Math.acos(y) | 0)))) >>> 0)) >>> 0)))) | 0), (( + (( + ( + (Math.fround(mathy0((mathy0(x, 0x07fffffff) | 0), Math.fround((1 ? x : -0x0ffffffff)))) != Math.max(y, -Number.MIN_VALUE)))) >= ( + Math.acos((Math.fround(Math.fround(( + Math.fround(y)))) && (Math.pow(( + -0x080000001), (y >>> 0)) | 0)))))) | 0)) | 0); }); testMathyFunction(mathy1, [(function(){return 0;}), undefined, objectEmulatingUndefined(), 0.1, -0, ({toString:function(){return '0';}}), NaN, null, '0', false, (new Number(-0)), (new Boolean(true)), true, [], 0, (new Boolean(false)), /0/, ({valueOf:function(){return '0';}}), (new Number(0)), (new String('')), '/0/', '\\0', 1, ({valueOf:function(){return 0;}}), '', [0]]); "); +/*FRC*/Random.twister.import_mti(559); void (makeScript(14)); +/*FRC*/count=383; tryItOut("print(window);t2[6] = o2.o1.v2;"); +/*FRC*/Random.twister.import_mti(601); void (makeScript(14)); +/*FRC*/count=384; tryItOut("/*infloop*/for(let c in ((Proxy)(x)))print(window);"); +/*FRC*/Random.twister.import_mta(617505338,-398732055,1451683978,1151761021,157311592,-1600394466,-112888769,-1628735974,-1920081030,-661257661,-1619490678,624613239,212371401,903651511,-600493914,1426912001,-2087041975,939492864,1425987158,873801229,-635612208,-986616900,-919056398,-1884849423,88775976,-1575431342,1371655232,-617303443,1154554230,-1208083704,-1756851159,1115026054,-1328916223,458137542,240220833,1355937225,-693240365,-555662391,-1165177604,-1287357689,-1540896357,1445574694,-482438026,550064849,-1696457706,626157316,-1956121906,942125259,-1830580596,-476661976,56161519,1001908139,-1995302300,1491383131,-1949502576,1633862878,-442081560,-752548210,-23676539,-1664866122,181950217,201663149,-1969362989,-1803743452,-1895601777,293578418,1326319661,-1036456885,-1036495543,1422469519,-795366780,105841518,-1723293122,534028077,-1926273615,341384431,-1814707230,900681338,-57118431,154417760,1361996028,-644287375,-1834312109,-366050516,-1495229812,535627916,760241937,74222054,-1558216184,-1930664165,1137833976,-736910488,-1550184085,27967140,1751651540,-527190159,-135017717,-600690015,-966353368,-1176142585,-1555946376,1038671933,-1413571750,1139443897,1393903798,-804679149,425977924,440702024,-1923627968,-1612818042,1017751044,-1453823696,-486607444,-495918763,1749573983,-229034908,51649412,-1303232134,1175203133,1903214870,-1993351368,1576012195,1280507699,961604421,649025459,501038995,305110024,533765516,-828134046,-693858360,-871141787,-38997951,1763736078,1199324591,-1673148600,112473290,-1854441439,1929023421,-797946110,-959564670,-1880430289,1694079014,-1630801473,494157656,-987636974,309118760,-1702469354,1852824356,-7569790,865952952,-2013541475,-887113079,572423420,-280243363,-1883502640,961446277,605484971,-1250538050,487211374,1558789572,454532569,1206977926,-621466651,-167844573,32817025,313294753,605215289,759867330,1672903093,1156775054,-636319064,-355519900,-1855245923,-691995592,605801114,-689926379,-629010447,1899325756,-1950466118,2034665572,-1428718451,1369442563,185744924,1905162078,-1845924232,-658761098,1342902502,-1424683204,-654404907,-1610390404,-2129142999,1808094444,-1290163483,-128608582,-1321578544,1249358673,-1717767091,604960901,843889008,-913000153,160641280,-93565109,-1428818330,-1157591029,-780262441,853310272,-2062568304,-1566419691,428563994,976844845,-933920843,-1525600685,1915378727,1645438839,1635276902,744705078,253368299,-1470751512,-400849995,1275927122,-504417122,-1029335876,1558238373,1021786236,-1245371831,2145642089,677642564,-719224193,-1297727882,-1786244507,-53198745,-1856190370,-1768665023,2040251566,1141770401,1618303070,2068299148,1690800780,-666508545,1178188242,-1526090584,-893852888,-490011066,1342392190,1632210498,-1616066815,1483764958,-1308773965,-1276058938,-959390983,-1528053689,-618649470,1672949115,-911933250,672814373,-1388314132,1031066883,1779204484,2115128501,-216366551,1892268116,-124280419,-1208283253,1093682959,843654226,1477695847,1917346860,1894311200,-243012193,1291332637,-234382983,-1050383781,-1670209511,-680307738,403377817,850818309,-2112315749,-234800895,-176114186,1194251912,1764441804,-282452782,1586052141,667814858,793025861,1187975727,2020256953,-1160084891,85410324,322742812,946124177,-281024792,374635705,-925832076,-37307025,-340996501,1178679638,-697401130,-851523177,-92204623,-1883717706,-1374496032,1361166878,-1145814258,1230561933,2021099826,1663726890,798712399,2139696879,730776230,-990949343,-1393441902,1721186336,-741081642,-1213257667,-122329605,1371451529,-1249501536,1552979652,-260672000,411717147,-1764372903,-471466501,-94016631,-930868547,856875086,1571724501,-837012547,-41597647,1048470076,-1357819422,1239823771,-1185129392,-1865820849,-1890905322,-1510334617,1043554286,-167038805,1678573222,-1007377258,-243058773,-1762815541,1144541440,-411055504,-1796216882,-1924443894,987274281,1062009342,-931216463,916893319,-1054154141,-1106559037,1663588306,-1736637478,-525304527,706028225,1766839335,1899809353,-191014254,1394775431,-1820598190,-1176326,-335938701,241930172,-1797802950,-1708830220,-1119245104,2090252478,2112821024,754175982,-1680255720,483010966,1958414547,-626889296,1223173892,-1602406879,-1439217323,636396288,-1871591020,835201745,1223138370,-2121918942,1971607127,2038224952,-293843550,1946155355,-1541318111,-1489115747,-89918658,2045453000,1691122668,257269627,-502683909,-1831479994,1380908402,-647413256,1269105366,887308438,-1859199055,-1124517486,479258406,-562433373,-581626388,2130301469,321409096,-1992930293,-1684768131,-123934358,2121169028,1799812094,2038841586,-638950810,-2072807909,507729798,1321796141,469124269,-1544505850,-633951875,-882087083,300102017,-1476873702,1719223888,117785868,-1911330158,-192676661,702331804,1328618763,-1549079135,-658137417,914934634,-1874296750,1655324888,721957191,1365230015,-673058685,-1754202992,-877483844,929093608,863246284,217604572,1663321137,-1077414615,-1539396024,1096274063,-1545927211,1531843604,-876304398,-1462337422,1241066571,995341765,360098435,-871493134,-1618520126,-1058927274,-1627011073,343898253,286053093,-1934126129,1610363045,586789025,314391680,-833958065,1804698975,-1541528787,-1007818999,845022014,-1023119017,1175550164,1141561825,983838049,45868263,635602921,97411213,1128499883,-1011302103,1051120062,-1906466015,-12099720,-1942763251,2062912483,-1763976241,-1875561677,2126675982,-1296670013,-1710793541,809836962,1690418839,278951310,-1947151415,-644221240,2080291484,-118033268,1088609542,1739945780,1690007908,2086734676,-1693515943,488483051,-1401738655,1087225411,-1171946521,-362226588,-1304927156,1363170997,1089647029,313737724,1956850164,-970509638,-107208681,-939997208,1372603982,-631039368,533733572,1368371664,1750332999,69517099,1624903648,-622371082,1116373502,-312205142,1061361207,-1280296012,-865817816,-2082675972,-1793501666,1298713184,1050901631,-1960954977,-1746660755,-798270113,-1309358016,-2086566837,533250238,1024812691,-1941634585,-2106463527,1661382558,1704483053,-2088549263,86401351,1540833620,-1254565420,-1504741912,86580552,981188040,244613932,702202808,-129604989,582224304,1824474865,1010740916,-1884575371,332907892,-1169707972,-471030809,721446661,1150306120,407159028,-856985829,1305683359,-923920325,1853632119,-190604566,-396146995,-1819761411,1601956310,-1212422851,444517816,1799988390,-536101044,937452622,-1945153270,-1198880464,1788034899,-304633938,1255113904,826630472,961294067,-1418065876,666177996,-496072666,-1817038727,-610141300,-706046778,2001210594,447181348,170679582,-1709801636,-241762065,-1190114682,685842736,523724193,150208910,743991867,-632782233,1257737503,930657616,1088445305,1817756353,1732705881,-548341647,-1517262648,1750746245,-1402967400,374384684,122235399,1037837924,-1224981948,1001794166,-1160469052,-518793101,-1985946822,996348364,1672024882,-74674845,-1809019731,-719623563,1201507032,-651906386,-182653452,-1871722506,-2056356392,-1280642929,432157643); +/*FRC*/Random.twister.import_mti(76); void (makeScript(14)); +/*FRC*/count=385; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return Math.fround((Math.fround(( + ( ~ x))) << ( + Math.acosh(((( + Math.sinh(( + -0x080000000))) >>> (Math.hypot(Math.fround((( + x) ? Math.fround(y) : Math.fround(x))), Math.hypot(( + Math.cos((x | 0))), Math.fround((Math.fround(( - (x | 0))) >= Math.ceil(Math.fround(x)))))) >>> 0)) >>> 0))))); }); testMathyFunction(mathy1, [0x080000001, -0x0ffffffff, Math.PI, -0x100000000, -Number.MAX_VALUE, -0, -0x080000001, -0x07fffffff, 0x100000001, 0, 1/0, 0x100000001, 0x080000000, 0/0, 0x100000000, -Number.MIN_VALUE, Number.MAX_VALUE, 0x0ffffffff, Number.MIN_VALUE, 0x07fffffff, 1, -0x080000000, -1/0, 42]); "); +/*FRC*/Random.twister.import_mti(306); void (makeScript(14)); +/*FRC*/count=386; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n i0 = ((0x35bbba23));\n return +((-16.0));\n }\n return f; })(this, {ff: function(q) { \"use strict\"; return q; }}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [0x080000000, 0, 1, 0x0ffffffff, -0x07fffffff, Number.MAX_VALUE, -Number.MAX_VALUE, -Number.MIN_VALUE, -0x080000001, Number.MIN_VALUE, 0x100000001, -0x100000000, -0, -1/0, 1/0, -0x0ffffffff, 0x07fffffff, 0x100000001, -0x080000000, 0/0, 0x100000000, 0x080000001, 42, Math.PI]); "); +/*FRC*/Random.twister.import_mti(397); void (makeScript(14)); +/*FRC*/count=387; tryItOut("const o2 = {};"); +/*FRC*/Random.twister.import_mti(408); void (makeScript(14)); +/*FRC*/count=388; tryItOut("switch(true && '' ) { default: case 9: break; }"); +/*FRC*/Random.twister.import_mti(476); void (makeScript(14)); +/*FRC*/count=389; tryItOut("\"use strict\"; "); +/*FRC*/Random.twister.import_mti(483); void (makeScript(14)); +/*FRC*/count=390; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return Math.hypot((( ~ Math.sign((( + Math.tanh(Math.fround(x))) ? ( + ((x >>> 0) / (x !== 0x07fffffff))) : x))) | 0), Math.fround(Math.sin(mathy0(( ! Math.fround(mathy0(Math.fround(Math.acos(x)), (y | 0)))), ((x < Math.fround(Math.imul(Math.fround((Math.imul(y, (Math.cosh(Math.fround(x)) | 0)) | 0)), Math.fround(x)))) | 0))))); }); "); +/*FRC*/Random.twister.import_mta(-1711924675,-93476876,128103539,404805138,-835451092,956243756,831285520,1441702389,2088107509,-735560136,856240654,-516781121,-392162438,1469896865,711240505,481748192,1169986694,1689676038,-1728813196,-1895948306,-1196548957,-1343206228,-818398170,-446825330,2004168697,1877320492,981566331,-1762955152,841201176,-1650595904,-1030744862,1504183016,2066711689,241733085,-741733661,-1722384527,-1490562940,-1968728323,1473933772,11140270,1551109115,48979447,-980125589,1851083322,-311507285,-1584572625,-2075346891,-1431649645,713379712,325086554,738575224,1299194233,-836150089,277926731,-1128303715,-1386973002,-1452241391,2034641890,1511877846,-848803394,331199046,-1011190893,1757886259,-868992872,-2030756842,-719441514,470476247,1006206322,-1053677786,-347102187,87488867,1219397886,-330903000,-1658525984,-154748607,203719036,429141398,1694255462,2050804878,-1496672417,1250137503,1550726907,266521205,-978610551,-540821643,-245227687,-1333778896,-1953980993,-281304336,86590827,984196154,1127574435,-1723029094,1338683638,1370988523,-1575778212,-1868243269,126367344,-1181022968,-894440091,-622761942,-1179883572,-1204794688,-1817237572,1533322674,-24539026,1549933713,1180259221,1566338367,720894710,-762640862,-1998366015,801638301,-1124284866,-481329078,1582968070,1218875757,-1839378426,1016913824,1682825340,756542200,-39104840,1757734359,-1256452815,609621154,-982293204,-1942705094,-1303871313,641371524,-1046316142,1824586592,-478924950,1792930647,-1076483100,-1057251794,-1904489359,-580873838,-1535302042,-518590312,-1107596330,400856318,367922289,1268547307,2034740445,-66143680,-1425259165,1914630362,96305801,1465528688,-1288726871,79761176,1941649358,-1038999680,2078322012,1241799016,-1730933122,-1594062109,-1385594032,91552231,-804046469,1002193463,2023311926,-1373313071,287110948,-31284872,2141341481,-20572884,995830008,2097321873,-1699569559,1863931018,-1158378313,-1955872432,1710063875,1048028767,1287863831,302615501,-402081677,913096834,-1121554479,-929785171,-1359800542,527575651,-359514342,-1295038,-1281068033,-1067445416,-2109737641,1252442138,-743505835,-269167318,1897096514,-986021413,1887176408,-486273834,-1657615497,-413686106,-1016144161,-147496621,1940991440,-455160829,959592946,-1546779005,786913605,-50440856,1792909005,1681518797,1519716129,-2091047218,-2130826911,2105304498,-609504070,315991712,-776997824,-1617855199,-1511609626,2005015878,378141798,-232128124,-437456838,651116678,777807907,-345017910,327542285,1670856243,-1483149267,-1436925397,-1062927098,698424857,-524278625,1351529021,477536211,1144192379,-1971069537,1708395994,1104552755,-431229058,-2044496978,-2110892202,-98252498,851487029,1526802458,1958168415,1964528551,-228017575,-187933413,252213224,-514429504,1435537679,71658714,-1999771441,-1616508517,1261904755,-142337738,-2142539642,-175018938,-1466194174,1687257703,-114429149,55269539,-1423184436,289357305,1623649321,-1107082579,1067895441,1862157274,954043966,-37925397,-39847130,1704920072,-1745891384,979314296,-902496548,1363251110,720980174,-1300123630,-211271419,1455790467,786909757,-88292399,654695714,1257463124,-1095533229,668627052,-1020718550,-14644651,1225635923,1362498380,-903600483,-302129884,-72627220,1423413909,-243906644,-69137473,-685266280,-1575830643,-1065819010,-90100361,-1394167559,-1415934477,-902984816,-1638508466,301900027,-466555889,1489473023,1269429787,672110247,-330321353,1235834792,-1264725318,-1814857920,-1400362139,-661921358,1918829297,1859821469,518802027,535448123,1424093016,2064535715,1275149896,-576133371,-1186082359,1177128263,1844340538,1577141847,239401917,1957250148,1026259565,-426551598,-1346837967,1851035054,1204456346,803588630,466064666,-1918046983,38126280,-1996828036,-1601341071,-1457977206,-838783849,1854062084,-2125223734,1843775550,47276682,-721880957,-117956245,2079038595,-1876935681,1072736548,-782687175,1930502671,1438793547,-917642047,1701061245,2118820112,-1953114296,1614065257,1452168745,334353782,1667236734,-1071567463,739234632,-917632081,-687125617,-378564964,-1078843664,-1011861623,689119086,60287878,1181799527,925022230,1599835894,-2040695877,376103768,-1937004218,-1689705211,-505886935,217705426,-1302883719,-429796959,2065933901,-1446067556,-1536531870,-1748849614,1302253346,-1905466328,444955498,1189985192,74242898,-1673340377,-1883338682,1445905114,919121290,-1746834539,401573892,416290554,-2134704094,-24736883,-460844930,-987516221,-740702067,1356672169,-1430820922,463315945,1973104297,-491893405,-1050141852,-1214011665,-1689227555,598805018,-966324695,618477200,-58337220,2114724497,382494686,1532926745,666690612,323637343,-1595257507,-691611434,54568432,-528044464,-1707377090,69134364,-1753185519,1235574537,-76747809,297055111,1651924039,-1410709846,1605531945,1886584084,-612708659,-691947437,288192873,-427527536,-615628139,1690725972,-573078444,-1169214361,1464122891,-846321147,1548087934,-10014861,2066675308,-674737539,-1316507645,-616864132,-1426259426,2027721812,897773300,743740882,-940968314,2094010635,328337823,-1204828236,2140364199,-1502078288,-1811744932,1298948923,883821287,-1995145302,-892239238,515224613,-552832463,983883554,-1725139644,-1983023846,-547647883,-320731661,-18767732,1770470080,1281697937,-1210275933,-1106967265,-877203392,2078720870,1474083990,2077523125,-648905141,647377008,-14012287,1975709176,2089859456,1018368694,1380293815,186344036,937112823,2113128093,490320231,-2106050325,1607967762,1562703936,176173708,-1014118335,1762669653,-1306959710,417262119,-1020180090,1311674352,611705236,1944419048,1126771607,1243195648,1604073853,347528903,-642819444,-1027375626,688864928,-698655116,183237968,-1933508024,-672705859,-466816081,-903021562,-95870611,-1064406433,-1695642861,1650819776,937393256,-499575195,-1323958516,-469972237,-1963700367,-1676326841,717209113,924656867,416756345,1869301310,1225049307,1021878005,388230560,-869534323,-1222269301,880801668,942276711,525946387,186279335,1997777689,-178241256,1757638171,1040000361,1551418575,47682783,1403760334,1877160319,-383074346,-1930239011,370852462,1479989789,-214760609,401253613,325528995,-1671977656,-240912080,-992250506,-1550155189,-785806596,-1205098102,-1835370796,-168742146,-1208147572,-277032591,1479946461,-818901606,734808779,-2093069749,1529244759,-1319733396,907409945,81185295,-2000831461,347672093,1291865940,-179832409,659691904,1425507231,1722557977,102283181,-126181166,-1246393698,328883414,-513762005,462465048,1541271355,385612793,1852521680,568466737,1887958539,-1656841417,1100499328,-317354405,815178546,2006763109,-715101890,405516590,-16234236,-1744410199,-168804091,821935964,1151522620,1638808539,-1921445815,-1427074241,-1772761586,-1397128885,-48238461,653833078,-1264283522,1307262596,-753745489,271534020,-1078432335,-1102344956,-1779217119,-135668041,-7594165,-1557343983,748729376,2130660977,-715762311,-684572516,-851853376,355515875); +/*FRC*/Random.twister.import_mti(97); void (makeScript(14)); +/*FRC*/count=391; tryItOut("mathy2 = (function(x, y) { return Math.tan(Math.hypot(( + ( ! ( + Math.tan(Math.sinh(Math.pow((mathy0((x | 0), (y | 0)) | 0), ( ! y))))))), (Math.fround(( + mathy0((Math.atan(( + Math.atan2(( + y), ( + x)))) >>> 0), (mathy1(mathy1(( + y), (x >>> 0)), x) >>> 0)))) ? Math.fround(Math.trunc((Math.asin(( + x)) | 0))) : Math.fround(-0x0ffffffff)))); }); testMathyFunction(mathy2, /*MARR*/[(void 0), (void 0), new Number(1), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Number(1), new Boolean(true), new Number(1), new Number(1), new Number(1), (void 0), new Number(1), new Boolean(true), new Boolean(true)]); "); +/*FRC*/Random.twister.import_mta(-2085595017,1045559960,-919348790,-188495077,211985215,-1301195954,-1469955124,-760651636,-927313281,-1729330589,506614767,-285186208,-780675435,1247669098,713442528,-564424065,1280775698,448156772,471962862,-488416582,1152546313,-948546738,-1536678255,-504200493,-680230970,510857052,258691108,-829335523,1198238953,-1708858962,2103489267,-957796644,903262363,-278934393,-1513000333,-1997986161,177914866,2059420047,-422540089,1820129207,-54824848,1712654526,-848981638,-117740159,71315789,-2023022917,859504357,778850732,-562535216,-1484435009,1686881823,350297242,-1449374418,-1294604315,2063509897,173605201,7537914,1050460148,-1633950869,911049860,514692006,2036980762,1802927991,2010416364,-476354719,500973646,55118492,-6987358,-703873545,1119861034,-1382403739,-377952415,-1569687933,478825715,798325374,1085226586,-2052947184,-2095357096,1104874288,-2018526858,-521988300,-449992368,1653540304,-796959979,512987122,763559648,-1604565120,1261355982,-1982230819,374321273,-1891028487,1901433424,2061297948,866863041,1323196476,-1937889342,1229203892,-549434683,-1789955528,-546712393,1141430721,-1624675098,133766190,1237824333,1285665503,-1273981696,-264392683,-398803139,30221244,-253044323,532308041,-404517455,-937083541,2068594037,-471067445,1790749396,-318612564,-1805478954,-932196013,-704280797,-1539625905,-1894825740,-1269183953,-1340990412,-1817424486,-1511613202,1255718905,-821555579,175014864,1098733907,695018956,-2096296118,1458557225,1553289698,-921257145,-1566851772,-451201608,1156878280,1725412748,1420493932,-1729768640,-875223885,1355491241,1455698747,-244074745,628604066,-1727929020,2013705846,-277067020,-1421199270,-1255180230,924044718,633769139,-701419541,461415378,-636364787,-891067168,705770780,1977243924,1733038991,-312135705,909208253,-636220090,-891264446,1361359559,-803218457,94086305,1756984973,-1080186336,-189603826,-548103469,-186411068,-571766201,-2098877953,936678351,-2068481244,-536042574,-1368286746,-1597399369,-1447723498,836087176,-794226109,-852246689,-901540801,-750725642,-2125425529,-1014504852,1049530166,-1507538164,428955205,1500229520,-888011207,-452945829,1880772587,981752639,1128099937,-1893525035,938633544,1643325382,1416601562,-996182704,2099245723,-24730847,2061368712,-1916255134,644700400,515022960,-1745134231,1976444196,-2086550950,187525419,-36814034,1698481316,97701856,1121718967,-998677742,-1257278665,-1394192925,-2061523286,-1393836280,755652063,420940997,-1372254808,2106948287,1576437845,18624010,1969373024,1315465124,-1757849592,947662859,1676686381,-1212977827,775425374,-628603615,1800061386,-73422400,-604161100,1596291140,-1844313097,287257296,1742569319,-1982507120,2111769459,-328467487,-103232970,1537584922,-767005606,-1217229231,-984292061,956719657,925447873,736583328,632357831,1330571367,-1269174722,321290088,1902415938,-654378051,507785810,541279869,1053352612,213562552,249575174,-868149659,1304387682,-88192040,-877993571,-2106290717,349866682,-963479906,-1512767811,559566371,-271853208,642144898,925665701,1053095053,1441738145,-353315874,-1330131539,-98655297,-1750316721,-55597057,1504983399,568823279,-670807551,1662357405,517377314,-1565052873,261567112,379820673,-2068316807,-618642249,-115051186,1759174608,932482235,-1237856312,-1494769842,1658968518,633147719,-949570741,1403085012,-27092260,-339740542,1892283696,1070016650,-858492740,679530674,-2076721952,-10272755,728153712,523501176,1926659883,-844771513,238663825,-581937628,522459935,1010780117,734439799,1465191796,-855627199,-167436294,-1262348736,-1165421473,-11781568,1097500612,-1357131766,1492441438,2000777896,1375579425,1892899577,1780676224,1532188628,-1175232627,1877178038,-1458020775,95439490,967103994,1261888524,434875173,-1083940247,2078664976,-1793134380,1809062801,1584830258,1897280444,747810765,1193093635,-71075619,1051419191,1423567863,66827086,771886885,1314667791,1979576177,-893197023,-478387141,-214777192,547082103,-1296232715,-268961990,177387590,1958284879,1343662172,-1850936586,455974064,-1643700585,2264027,-1725028733,1910898271,1264221090,2036986944,1800781317,1849871630,-1622920729,-1398107093,110664127,-315175501,889979353,-584346207,-1050677430,-1026142555,1236636387,-1846505964,-1406401679,757548808,949544097,1144704603,-279756210,-1592215695,-1647621787,-1577647313,1245766658,1122492146,1315725475,1691450864,-1073993167,318313751,-1391422740,259718778,756014814,1938001780,579805228,1349720591,1137280057,103681928,-1065512187,1802247614,-445306311,-2123262130,1997047956,-1741877385,-318621208,1734227216,-924724861,-1976995227,-1241859818,-1992503627,-803849759,-1603179950,-1532966237,1079580867,2006574112,20055151,501999746,-903317997,-984751370,-2051180858,1823271852,1760219598,139931498,1122272002,964531163,-737856506,-819155941,-1531354079,-2124303183,-238881424,633776897,971073986,-1751766146,-1172477379,754903944,1656898676,-929560575,504026114,1154797172,-1049228234,2020922576,1702446831,-1259046190,1807691862,2114089750,-428042672,-442266768,1384088702,1912096260,725630291,703680387,1208871967,-1385711374,-570262796,237109495,768459533,1836298867,41359317,-1635501739,1442416733,-1854404478,1722607030,45079349,-1733794175,1189277345,-649901036,339893770,-760613263,-1196981104,317209698,-1815365564,-1639526054,1996102655,-372031240,-826763070,762192808,1866275097,1758758201,466191200,-1566151463,-1724272331,-1691427628,-1764451412,-1549089684,1663900738,-109922,1935979874,1878271766,232143595,334869330,-2075370882,1179453915,-34526814,531949558,-1884246863,466100237,-483819072,2040728674,-1671405333,-1686168252,-1020537313,-679343931,482461647,663162059,721376128,-2012526955,2076242721,1184567390,-153568392,-1025740841,-175817703,-1060111741,1362120355,810557526,-547202787,1782929583,1910868914,-1363757547,-1489292311,1376098984,1679082443,1139296366,1824720679,2069365728,-2133171565,239997734,1925131120,19532812,1774671835,-1209844612,-1112368341,1214668711,550291605,-1982883078,1784972444,-2025365073,367694002,-2059435753,1673548447,309455728,-1123516723,30526353,437789999,766630121,-774790710,-1590689106,539305414,355256339,-1724359461,407347079,909582917,303983806,-1022638350,874374768,1202619966,-257695181,507286327,-2015858250,-2122563873,1275061405,1666110118,1461501191,-256389559,-1021249056,-1572731795,168986727,-457808369,-1469418467,-1915219161,-24688604,-1711318969,306143052,344389696,1009828122,1668946795,-1363922889,1205110234,-1292991916,-2054647651,1712212349,-1411779684,-483462389,819629212,1043236100,1130810665,1019334010,714260292,-717488620,1315035869,-1638793303,-1701223395,858481067,1276356240,916167893,857648336,-890740481,-1508103500,-94867037,984407359,-1843153167,-662436198,792726945,561077788,-465854317,-1410088689,1740448291,-1748248556,229580234,1205209099,1431671090,-140027585,-331877403,-247184239,636829933,38642192,1819067423,-1976989197); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=392; tryItOut("\"use strict\"; o1 = {};"); +/*FRC*/Random.twister.import_mti(315); void (makeScript(14)); +/*FRC*/count=393; tryItOut("f0 = DataView.prototype.setUint8;"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=394; tryItOut("print((/*RXUE*/new RegExp(\"(?:\\\\d*){0,}\", \"yi\").exec(\"0_\")));\no0.__proto__ = t1;\n"); +/*FRC*/Random.twister.import_mti(489); void (makeScript(14)); +/*FRC*/count=395; tryItOut("a1 = g2.objectEmulatingUndefined();"); +/*FRC*/Random.twister.import_mti(501); void (makeScript(14)); +/*FRC*/count=396; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return (Math.pow(( + (Math.max(Math.imul(( + y), Math.fround(Math.max(Math.fround(x), Math.fround((Math.sign(y) >>> 0))))), ((Math.max(x, -0x100000000) * Math.log(Math.fround(Math.fround(y)))) | 0)) === Math.fround(Math.sign(y)))), ( ~ 42)) !== Math.max(((((Math.imul(( + (( ! y) | 0)), x) | 0) - (Math.min(y, y) | 0)) | 0) >>> 0), Math.pow(Math.fround(Math.asin(( + y))), ( + x)))); }); testMathyFunction(mathy0, [-0x100000000, -Number.MIN_VALUE, 0x100000001, 0x07fffffff, 1/0, -0x0ffffffff, 0x100000000, -1/0, -Number.MAX_VALUE, Number.MIN_VALUE, 0x080000001, 0/0, -0x080000000, 0x100000001, -0x080000001, -0x07fffffff, Number.MAX_VALUE, 42, Math.PI, 0x080000000, 0, 1, 0x0ffffffff, -0]); "); +/*FRC*/Random.twister.import_mta(-231182432,736301727,-832140404,-1394971084,1001884043,71449577,714945663,-75786648,352543467,-1115847530,-755689079,1891814619,304512289,-1922159353,1529298952,24493593,-977601615,-2076592110,-2071260085,1919763822,-206761914,1800260037,1297169173,736306976,950035342,109554813,-1549011885,815075512,-933260767,1644535648,1339587778,-1425458852,-1494189578,-1996191004,-469651389,-1857530369,1799633923,249139869,1851228085,-811643576,1456222046,525574527,1927490913,1630913092,-1237068790,-1571320871,-542236457,825681514,-1910581644,708534246,1912887965,1907843192,1956002303,-1882663859,-500808863,-431680467,-85076854,-1002781420,719225926,605484160,356884878,-457284741,-1769080188,1992784283,1087119568,745096771,1387856546,-260408847,-2366016,-633593808,2093796333,-1365479896,-706589293,-1889346626,1723167116,-611185252,1439690662,-1304136727,-1150265301,1654241272,-513970964,-285125710,-942864726,-1499822335,-663099470,1027604584,178944254,-181341560,-907613309,1007305978,-510429155,-1505712038,369723539,-2067401614,1695682467,-1688451516,-976477985,626236938,-76914577,-386306195,-1948718067,95520716,1075462363,-1595109818,-1783044559,-86095656,238841473,960863676,1025359098,1303027135,1775411224,714614447,-126916182,-1887848847,1604388586,-1098224829,837925578,-1146861528,80922678,164186415,-1308451741,65777483,154747065,2038826651,-1919871126,-1776175220,-815186897,-343803907,512569247,1186138190,1704084590,-1315499995,1116319702,-958665060,-778585039,2093189626,281373844,843175626,1133696493,-1148070436,1095809453,-1190429524,-1834589737,679408038,954161869,-1949854963,1776929673,-1300126611,912608946,1223055213,-427714534,-1975894761,-1475870203,1618053376,1708260627,-1002327842,1965932360,801236121,865527235,-1208108885,-198760508,1058302493,-1501825069,-981004340,-156640494,728137916,-1284990802,-1743346522,-81441064,-1117972181,423565636,-1595815685,684567145,29491416,-1608992257,2048186814,-1282495748,1627786137,-654136276,-1502765344,681796025,-307351492,-391150976,1435544545,-1160060425,-814235391,412336705,-1577261102,1346931552,1253809845,391659615,145100793,-773907530,-1167845308,-68106810,-1571229361,1902873568,-440242697,1683363120,-1138866943,2099129743,-1788837660,830298196,813678308,1613234344,-978243385,887698655,-2134940879,997997586,1321054907,-429709555,1574858739,597178860,1549605143,-1982893946,-1540215961,1487949370,1327550111,295950223,-1697117438,1646555010,-80906959,377899281,-1845054440,46380309,1457380271,-1390560735,-106642524,-287983035,1721114949,772499525,1823182628,-1341216346,1597527194,-961265016,2029911857,-756074316,1123330221,944592307,-1195347379,-1987803441,-1128237714,-1370950858,-1185505622,-370446433,-1381031322,-1327713639,135254536,-1362737138,-808644438,1041270896,-1284484430,-1205311343,-1182334132,2030448396,-252847616,-680373663,16410091,572533437,-1181480796,-1889939272,-479089728,778071570,228297778,864466801,-1836400732,397261670,480340483,1008376368,-1191058720,-1466935926,-2119812930,-244013416,1563481306,-1218695949,1038217339,524498441,-1286140780,-1783594632,-1505186425,1754773357,401927949,1874747909,1340555605,750301701,632668887,-1404707772,1385052362,1994858212,232699111,-2107643105,1012800119,1476667819,-797182944,-345924075,-1398265241,-1421030189,-149228655,338134866,-1137508871,-1336699184,325750221,-1544095996,1244429283,-1808905289,-282054542,1619159432,132414517,-1162736502,-933955178,116983883,1738780878,-481006337,604132332,598364120,1324480694,-1327390562,-902168921,432541093,1829439342,-559612078,-1587661485,-453354652,-1518771395,853440015,-1760555840,-749087175,976128578,-1529832849,1963670427,-1924848212,273283368,-1926237309,-2085031566,2073934077,567268871,1748103097,-63978155,-1407015100,-2053268190,-2047422949,-1287406595,-1850662694,159032084,887467793,-1101730328,-1390393954,1952423335,-1332745617,147101982,-141577770,867678514,903344363,1929444960,53966143,1729384147,-1879679190,-440110133,-965940296,130085877,1703926116,-107157473,1947594881,1565762252,-1538594466,-1702158113,772699714,-1599408547,-1666825859,-1374512137,-2065916293,268319818,493697825,-1498140349,1757763693,-1711892300,-1956059298,1360847381,-359281998,1349227912,-1650200402,1831451161,190775737,599661772,-1434114538,-2004667855,-2141972084,1034144931,-386302352,1871234715,-1599636019,-673565589,-1789394894,-2130696618,517996897,726758540,-1412083619,1585604217,-1234819180,286027219,277188814,287933479,-1023890563,-1332105928,-667913532,-1397447949,232766243,1746643486,-1775602570,2108798436,588363541,-915014785,1913624863,-997209172,-83772583,-1914807067,-1145556326,1197536630,-1006708105,687548168,-2119636396,1650554670,-1397947122,-847839178,-2023449460,646491731,-901238569,1231766888,-1857349807,269425109,-1245067306,1244306091,992990741,-4377072,1493633462,1134380714,-2057938972,-90991636,1444248140,-409060307,170028243,-1196535108,427204536,397747259,1833609637,823710100,-421371542,-913277910,-514373544,1666830650,-1392013933,838729277,604773911,-1004373986,-1051139930,1652364339,-345622949,-1828376939,2048414557,-552626980,-2128485314,1230640081,-682846505,1255932801,-725744424,-877059774,-1334020596,-86838252,614410283,991195305,1127176485,-984954475,-410120861,8452478,1415319616,-407742913,-970404728,1899225309,1359343506,-1933457171,-556052691,800145112,1585178195,2047909922,220111963,-1434735602,1811964129,-1026638126,-1474566634,2142571556,2081227283,209296958,-348592875,542615789,-2092775511,903889817,-1155018785,1388208568,-1084314513,-1095838365,-1008717219,1672514602,209006747,1670557752,611290174,-670101542,1591080535,-1705114672,-1063470027,-445295425,1519970453,-1313496688,-1050866792,-1895279509,1776444790,-1904109104,-300639692,2066785921,-842101255,1076640128,1724016753,122389149,-1805979714,622798598,1032837818,2099595782,389033155,-1851280665,-1140605311,-1638205708,-750126475,-754367964,-697326134,1612148622,-1441831161,-1589407052,260375772,-71133369,-288529317,-407658110,1362104738,-1191096368,67416303,729206986,584148791,284227613,-360216361,121940549,895129371,1797916623,-1919831080,1648785240,-956129757,1086784239,-1346759440,1912333683,-149415322,-2075520013,835459665,-685702981,-1603292563,-624625349,-136761533,1809700706,630811365,1356195285,-1271204751,930095175,303098886,-266249174,-1051520515,-387687427,352808496,1612566351,-1413798677,-808694147,-583825950,-1097851280,972342546,735023206,-608877814,-1922703877,83758142,-1769923072,1040747354,744718297,304876091,-1928327106,-1577996719,1795338755,-437750649,-1171648541,-1883078787,76777800,1586670572,176557686,2052495654,1145151089,704114434,-1624750700,-1086626005,-726017843,-889680402,1867280208,-1790821291,2056036629,1009358533,1393247905,2106660119,-1605738193,-280015724,1079183320,-2090410437,-964454551,-2025817991,-1034701079,-850142501,1337210080,913352444,1588203675,-2144929954,-1310796879,-1219690326,-758552691); +/*FRC*/Random.twister.import_mti(186); void (makeScript(14)); +/*FRC*/count=397; tryItOut("\"use strict\"; /*infloop*/for(x = Proxy.createFunction((function handlerFactory(x) {return {getOwnPropertyDescriptor: function(name) { var desc = Object.getOwnPropertyDescriptor(x); desc.configurable = true; return desc; }, getPropertyDescriptor: function(name) { var desc = Object.getPropertyDescriptor(x); desc.configurable = true; return desc; }, defineProperty: undefined, getOwnPropertyNames: function() { return Object.getOwnPropertyNames(x); }, delete: function() { return true; }, fix: function() { return []; }, has: function() { return true; }, hasOwn: function() { return true; }, get: (new RegExp(\"$|\\\\B*?{2,}\", \"gyi\").x = /x/g - \"\\uC0AD\"), set: function() { return true; }, iterate: function() { return (function() { for (var name in x) { yield name; } })(); }, enumerate: undefined, keys: function(q) { return q; }, }; })(x), (let (b = \"\" & ({a2:z2})) /* Comment *//\\3/gyim), (4277)); (4277); x) (y);"); +/*FRC*/Random.twister.import_mta(-1837408279,-1856675246,1197562569,-732502828,-1979700980,1321107869,-1926994420,196703086,-1307942728,-38959304,-1988985684,103938617,-502393928,1317148433,1355257004,-908438504,-2037180507,541884835,-186057134,-2106672455,-1412521653,2086598434,1024111768,-1644635245,-131460657,611340280,-1791129494,977528131,1468686819,-308015434,1559222726,-1036833878,1418550439,1589751592,-1685716853,-679118645,1641631617,-148633933,1683152910,-298827701,1815278476,-160670685,-687547121,285443798,1888298895,-274120948,1328437006,1782956703,1678081639,1189674235,-246690794,1108665464,-38466621,1159470332,-606616332,1501230162,-1505813868,-1808293243,1886809715,-507189604,944943095,828288543,1030002894,-1589119914,-966393809,-32499834,-337014874,-1420560840,-1498992294,1460839205,-308493568,-681132483,2091195766,813031907,-394014885,-1922434384,-2136313771,-1863545718,-1761702461,-158958850,112412932,853765319,1183071154,-1293435660,1896955628,1529797164,1082710374,-253402811,-193032589,-977179600,-1846613249,2048365184,2111305245,-1752386275,30915868,282477989,1929275368,671041345,-661371664,1740835078,275161694,106642653,-1361538496,271905178,517974086,-765217020,2133884646,987845187,1741877722,1782359643,370843736,-55899936,1002520408,893938656,939009262,-1717184771,-1831178113,730530157,325946776,1847420122,-1546796549,1348115834,-437810670,1611326404,1281055067,1793507702,-908628953,-339608150,1585237537,637079284,275024426,-582522518,-1120468550,579507378,-1385658663,-569568384,2033681643,315538734,-1131710374,-165287723,-414766831,1050076271,-1282614959,-732492773,636106377,-369564172,-1421954525,2044969070,-1383373964,-641252134,-615447535,-128571706,454214479,645004686,1080471351,-1114357369,-835764100,796513998,-217216519,-1928623740,1120441890,-1141288601,-1243445411,-616865820,-1887979163,-294821100,668370225,1477168521,-1754015329,-123373357,-1106742043,-545355283,-255828922,1213726173,-1779550430,213924686,-1986626980,-2026212611,-1661304563,275416545,-2008611218,1302529106,-670075575,1607500590,1943440804,-775987775,-2038469143,1445777130,-1875509156,-2138531125,273393437,-1994513526,909164065,-1743776156,1913571227,-143148403,-1350955156,750362996,-1920885719,-1647231170,1324473859,1900626728,-2028496154,-1892718721,1869213809,159688542,-165974505,-923000228,-992294761,-1777289828,-1527987833,1818036705,392977787,-341248809,-1958567244,-281085658,2015052025,379134817,-817908888,-1136530150,-349552985,-465882453,1470712471,1481612555,62426809,952855909,-1373960609,2082026004,2065089071,-915644876,-503110842,-1845002785,555920336,-1367455928,-288408535,-1686242078,98526129,207382186,-2091289664,1069867008,283258278,132377911,-1787749555,1802375349,1989873808,898504641,-966175811,-1129478836,465076087,1644359840,-2076118326,1026987352,2025049694,-373383188,37029955,-1522796532,886148252,-721978297,-554094600,320976123,796490440,-860473470,-783761710,-518871834,-27174559,797195709,2036876693,1916780180,-353587885,-2092107830,1372625545,137852099,-2127473311,-846663256,-1380087171,-223586884,1598257841,-1147958102,-2009595292,284582058,-672212059,1962951977,-410917849,694940489,535163697,1716813905,-2004616455,52502661,-1363589965,-1522279010,1717586354,1936499749,-701633130,122810483,1678726100,1779034092,-1248368078,-1483800407,1350004766,613209630,-523757606,-109529895,1903654814,330687825,-411790157,-423642873,1820128315,468340545,1456017420,-1661989048,-2127141741,-642533300,154137562,1365114506,-677536482,-334602692,970269628,1141005554,1284641079,1384483252,1579884395,1940557998,-614316828,-1298535376,746012961,674242355,986991655,-1694081098,-438955569,-1468399466,1477446926,-2126454440,-1816145987,-1678372281,-1290925665,-893208871,-853281746,1074525178,-1100626319,-533534582,-169802047,2132849795,-585595017,295704360,882997145,1174253399,-1925571882,578978835,339268085,-568306951,970014557,-810020367,1399242310,1363437159,1094937116,1502077364,-837580850,1934819318,128950351,-1880036088,-2025041822,1315622470,-257637658,1796403268,-964452962,-343129221,2138579748,807188848,-258533045,1760175795,-1817701826,-1303110714,1672105354,1179954890,1964543028,-398520101,675382543,-300162744,-1872499710,365116184,-907177891,-591290572,-1404350495,-613559433,-231670007,-1289255617,1255333642,1991518490,1429570293,1018792292,702477582,-975455876,-1360170945,-240241314,1302558671,462537070,250411824,-1522833617,250613723,-125660127,-640970991,765121091,1418522066,-443661506,1214813019,1126034499,610750702,-2091762603,863755936,1351556636,-496841138,-1814433292,-201803753,1660354714,-1983164345,-840296175,-482811792,-1464042759,-580669426,920963851,-383734285,1683506460,-1848886634,-322420438,-420133246,833434781,-110846582,-547560076,-1605992675,-1644988147,1932696309,-336155740,911883350,-1701254452,-382566135,-965614747,-346456982,-806978399,-962943192,-881468467,-134226551,-939922072,2112674788,-675896076,236276651,-61963299,-662056177,-1686005109,-1785210314,-668844927,-1715875126,-2001325715,450515306,-826837492,-1808856878,-676501027,434534817,101169719,-1115637839,1639078351,1406926463,1549911965,1729842685,796942813,1770059275,-613988154,1118673418,-609941140,-2090768964,770574080,-792476512,-1672173826,1976462206,-330867811,377233036,2024544563,-2087473135,-1396570877,-1570848271,-1898522345,-1100611456,-1275049035,-1741445091,-1420398994,-1043682752,837922647,843508626,2071235011,-1284722288,1984335620,-416388103,1391827764,-425240300,-507406690,-1312346233,1853356643,-367802602,-680035231,-832000339,2043280528,-1135560771,848274159,-1016787552,1299496110,-1751905465,2119846288,500785474,782775648,-1632477271,331686066,833692545,2135652093,-1193796933,-59586494,73526381,-642578007,1104363009,-644890735,326809829,2084858225,-1644396062,1847731211,948335727,-1420785809,-1726110294,-1024993632,-1252540494,666990661,-1235890269,-2116339077,2050049091,-1941748138,-1766584640,-529270937,1263240731,285971042,941225012,1868064353,-1435866995,1639447307,1306351970,211252662,-105564583,-1313529608,-713912285,-522623613,-2010158007,-577838023,-550034538,-576021240,-1011165284,-1761689873,-782553445,755582559,2062753232,-564519684,1935129008,-1711361799,869847514,1518380628,1872551429,1374301921,-1087611544,1189605763,-244731441,1030753430,578963574,-51810110,1194334870,616152918,-52786679,2116206721,-319031249,32454780,-596896782,2057376516,-2123866687,1697340884,-631252542,2126258115,-1895942075,54291459,1388801716,-1860713885,-60034875,-1750002291,-1988565737,1320957845,-1562171496,1532512378,-1357953174,409604863,-1446672417,1345418962,895467083,-843295272,-742237868,-2024544833,-1111475956,-1522577728,-1258229133,275040963,-1617352845,-1142412294,173343005,394237887,-1521604457,1848486409,1441537916,-605230677,-1153150821,1787502795,1232010836,-1871031319,-1902820687,-1433084089,1533252372,853976688,1938162158,-1359082608,810151001,369489818,-335691145,-556145637); +/*FRC*/Random.twister.import_mti(103); void (makeScript(14)); +/*FRC*/count=398; tryItOut("/*infloop*/for([(/*MARR*/[true, 'A' , '\\0' , '\\0' , function(){}, '\\0' , true, '\\0' , true, true].sort((eval).apply, ([] = (window = Proxy.create(({/*TOODEEP*/})([,,z1]), /x/g )))))]; window; (((function factorial(wmzyic) { ; if (wmzyic == 0) { ; return 1; } ; return wmzyic * factorial(wmzyic - 1); })(2)).UTC((uneval(yield x)), (new y)))) {/*MXX3*/g1.Math.clz32 = g1.Math.clz32;g2.v2 = (this.s0 instanceof this.h2); }"); +/*FRC*/Random.twister.import_mti(420); void (makeScript(14)); +/*FRC*/count=399; tryItOut("b.message;a.message;"); +/*FRC*/Random.twister.import_mti(442); void (makeScript(14)); +/*FRC*/count=400; tryItOut("v1 = Array.prototype.reduce, reduceRight.apply(this.a1, [f1, this.f2]);"); +/*FRC*/Random.twister.import_mti(467); void (makeScript(14)); +/*FRC*/count=401; tryItOut("mathy3 = (function(x, y) { return (mathy2(( + ( ! (( ~ Math.fround(Math.cbrt((((x >>> 0) < (Math.cbrt(y) >>> 0)) >>> 0)))) >>> 0))), ( + (( + Math.log(((( ~ y) || y) | 0))) != Math.atan2(( + ( ~ Math.round(x))), Math.fround(Math.atan2((((( ! y) >>> 0) | (x >>> 0)) >>> 0), Math.fround((-0x080000001 ? Math.fround((Math.fround(x) & Math.fround(-Number.MAX_VALUE))) : y)))))))) >>> 0); }); testMathyFunction(mathy3, [0, 0.1, false, ({toString:function(){return '0';}}), [0], ({valueOf:function(){return 0;}}), '/0/', -0, /0/, '0', [], (new Number(0)), true, (new Boolean(false)), 1, null, '', undefined, (new Number(-0)), (new String('')), objectEmulatingUndefined(), NaN, ({valueOf:function(){return '0';}}), (new Boolean(true)), (function(){return 0;}), '\\0']); "); +/*FRC*/Random.twister.import_mta(-309209594,-196603296,-760617397,-1664377961,-741531054,1377754836,-1605174647,1366139655,1036726239,1625190072,1497526678,41736060,-1362713269,-905903080,-1221272584,700023578,-1411780460,-1279316114,366343314,802619402,-695008920,-1008276926,-1592781283,205329867,912286432,-1689059677,685835092,1413007020,125776838,-1760333463,-29003615,1393058193,-1298944359,-403101073,423405342,-541185207,939678026,-1692667634,1751217055,-1656748628,1842930287,873494896,-2081154906,1454505617,-265456914,444330083,2073884004,-1524677561,1177701759,-533973756,-91494217,843443976,-1163119873,-1269682000,-469021884,163961888,497293201,1964805940,-414246253,-590897531,-2019533337,-1556939818,1896981476,-1444917577,594136158,317688366,2049546945,986934950,702982539,1952709514,689890989,-46929145,-1394850002,2106233810,-622830682,-1399594101,-1540284968,-1005852494,66004044,-1060498285,750453695,-2128815064,-1750792339,-957440010,-1718147421,-1200110418,170683923,587029926,1393629519,-474403278,109002883,344980033,-460823211,-1480215177,-1013577415,-539464992,1798735329,-1651700225,496402144,-501180871,1297240784,-653990003,835945565,-1287691362,465467757,-1124257069,-921918128,-1535282262,-766727582,383005038,285061392,-1017987067,157357378,709702134,-359584420,1757254235,817887275,232204961,-289555516,-918720989,-1314721492,562658796,205592723,584686992,1532052656,-2056949085,-558859846,1865118309,-803515942,-1117390169,157469936,-389132418,-794922974,-175261712,-481964138,1931967594,-384521744,1426995766,-216934697,-760033181,-1457806199,715437306,-1835741735,-2044660999,946538316,891477911,-851132209,-1011408487,-1942304786,2089770654,-1582958758,196539118,-829266993,2055287000,289156851,-1236496731,2058726712,-629315085,-1730160578,305394337,487237781,-266263893,924649894,-1322274200,651992939,1976545071,-202725480,1675161055,-668336096,-460406053,173966571,1062220981,-644157081,-164785768,943906086,-399457023,-612716067,186246059,-1415782101,-2058625290,66772989,1867568057,290741844,-1223328105,-1293192644,-1997510497,-100555498,-193924885,1325262903,1481999942,1244866128,1626589271,1464877896,1325438072,-1160151194,-25657239,107849320,-1432895360,-2091595193,766641802,-1074314197,-1102318465,2074103200,1539095188,346462572,1033642151,-543802668,-248457847,1551355249,1848703115,-2129945050,-950894306,1999643423,-18546239,487873624,-1402212617,37646982,-1458922747,-189519414,-1208075112,-638349318,-2124802950,466712010,-1466098726,-1821838857,1710813575,-1596621551,1225918414,-788644486,-1549240344,1287689639,-2091092038,1159855472,1312674882,483614070,-433312040,1727028717,1492043894,1570678652,-1497910376,1358447196,612689537,-989447265,-1869317924,812684369,-1343623789,1904329388,38243852,-219704814,-1557106824,1386635111,171541967,-1349668523,-252495958,1185233578,1561851272,610303893,-1858476195,-2087711949,-1523641347,-1046335058,1905850487,-1355318982,-566606555,1439784719,-841096822,-1537221914,-1046084583,1974862485,1913972029,-878513105,1774020737,2092927159,-1270185851,-599167335,-1332002568,-35261615,-1097340539,2050940765,139718642,1473946363,1321404808,-998730405,-1956749610,-549552189,2047235888,73383448,167006049,-242019047,35751741,157199482,142555797,-934296888,1210987307,265788752,858594450,-1095972095,1092968098,-277512184,-1665643325,-1740736159,-1571037079,1010934268,243525470,777815278,-321261938,1412924396,132090809,-1889215604,1312196091,-1439218736,-587145394,-1864811541,568500380,1425699512,268142737,-1044905909,-1187055417,1036861083,1385519679,-1643053792,-299422901,-2037080840,-1543137874,278770361,-1712003028,-274482718,-1498289432,-1925584954,1574666970,-1281420494,-882299284,1745783599,159584576,1477744665,-1260564363,1993459859,-1765285129,-1286884288,-359061763,-858399896,1561714232,544053711,-1276644552,-1239331371,-400509265,24419573,582363401,-1752046513,-912181278,-1676859977,853678995,886042959,-32387916,1139311295,-149777859,-993229476,-1816286200,-281658886,-1825023981,-1833381677,-619204891,112067656,-900372673,-1178555564,-1934768315,-893612837,140024051,-942073988,-1690254138,-552927462,1237197193,369658098,-137853227,1855985963,1091745206,1266855482,-376176293,1096249186,1936464702,350355266,-569296420,1123211201,-1700437405,451287987,-38357061,694806060,-1365714640,-293738983,603091745,-1815974186,-391997525,219723136,204713120,1846545768,-547586632,1864090003,-735169575,-1709584774,746030640,971524198,302296015,-621288290,642140335,-1281383083,-1179694756,501903363,1514614957,1192713399,543504755,-17201555,1377804008,-108271406,1743568362,193809596,1063360527,-1794962459,612564567,-1568072435,-87513746,1026340598,-1304468947,-2011389700,1964442921,1800006161,-1075411838,1109161008,1994181498,1773860902,-1691242491,1850208070,1334544199,818959809,839371407,184587492,702247748,-1865714172,-498676302,1004592167,-1782088444,-1659242635,1675768234,-2018460531,-600021108,237333044,33058962,1664499970,-1825021215,1950595813,1460509871,1976480691,-570042046,1117997697,-356320904,-1144257537,84259189,966990380,-888635744,1787685762,-171658608,-117078189,-1235858601,1759817449,-885483977,1969056789,1019767417,-1956301010,289992834,1920197889,-311961137,-557962333,1251451374,12775554,985648618,-1491520950,1780939461,1817828646,-1702785216,-732276325,-255938283,872129199,-1816895877,146588351,1149577909,1355382825,-1699512582,27125699,-669750938,180076533,94960665,-1220507457,1719858053,-1120064827,1706360314,798312951,1086316830,-2136478766,899552166,358192841,-73440330,1946542381,-33822647,-702472529,1864844845,-1044722355,1959948284,520615234,-1047839248,119642577,1168684100,770921847,1515897409,71250705,-546834191,-1138394262,141703878,-1209079766,-638893865,-1353335054,-961445319,-1506307599,-1969481800,-1081217030,-232646188,542553586,-1243717679,1448099902,438054511,2076102027,-665734398,144852085,1694925710,99132898,-1466240962,257573512,-1821892202,-527301100,638240585,886280724,-1237870758,665393735,-249013941,1461786861,839514245,1348139737,-523093920,-1520789252,-242520853,-2131597873,-414582986,1987213830,-516385493,1450769372,-757450998,-1986206570,-191743202,-936613255,-361530401,-433488570,-959949582,-1199655185,1199748781,1319508075,-680681301,-931142468,-1576365957,-722624868,-1353853405,1330184595,-2029491180,1442718631,424935709,-1462293871,792892684,1608949899,237861488,-1154180856,-1323120298,-726358867,-1430757966,646400618,1787508197,1720828883,603049441,1097700881,847444910,1835987718,-2083962081,-1229223208,287942653,526966431,875223140,-457868244,1226564385,780579359,-1372046378,1105299142,-2115312740,455182057,-713015020,653415275,-127649203,484876363,-1751081365,2065922651,-889664522,-1653440795,1041756412,1794112982,-2041032877,1994932953,1045521561,1820536464,-148113493,1658455628,-2083770477,981540889,-1442746847,-2256285,-868945037,120674157,-1025090420,691552106,433269392); +/*FRC*/Random.twister.import_mti(133); void (makeScript(14)); +/*FRC*/count=402; tryItOut("\"use strict\"; Array.prototype.sort.call(a2, (function(j) { if (j) { try { for (var p in b2) { Array.prototype.forEach.apply(a1, [f1]); } } catch(e0) { } t0 = new Int16Array(a1); } else { try { for (var p in t0) { try { i1.send(f2); } catch(e0) { } try { o1.o1 + i2; } catch(e1) { } try { t1 = new Int8Array(4); } catch(e2) { } for (var p in f0) { try { function shapeyConstructor(rfjsnf){\"use strict\"; if (rfjsnf) delete this[\"callee\"];Object.freeze(this);Object.defineProperty(this, \"__iterator__\", ({configurable: (rfjsnf % 21 == 16), enumerable: false}));delete this[\"wrappedJSObject\"];this[\"\\uBD2D\"] = 0x40000000;this[\"wrappedJSObject\"] = (let (e=eval) e);{ i2 + e2; } if (w) { \"\\uACE2\"; } Object.defineProperty(this, \"wrappedJSObject\", ({configurable: true, enumerable: this}));return this; }/*tLoopC*/for (let b of []) { try{let qgopww = shapeyConstructor(b); print('EETT'); print(({a1:1}));}catch(e){print('TTEE ' + e); } } } catch(e0) { } try { var v1 = this.a1.length; } catch(e1) { } Array.prototype.push.apply(a2, []); } } } catch(e0) { } o0.e0 = new Set(i0); } }));"); +/*FRC*/Random.twister.import_mti(405); void (makeScript(14)); +/*FRC*/count=403; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return (Math.log(((( + (( + (y > ( + y))) + ((( + x) ? (0 | 0) : ((Math.imul(Math.fround((Math.max((x | 0), (x | 0)) | 0)), Math.fround(y)) >>> 0) | 0)) | 0))) !== ( + Math.max((y >>> 0), (((Math.fround(( ! Math.fround(-Number.MIN_VALUE))) ? (Math.fround(x) >>> 0) : 42) + x) >>> 0)))) >>> 0)) >>> 0); }); testMathyFunction(mathy4, ['0', [], (new Boolean(false)), NaN, /0/, true, 0.1, (new Number(-0)), '', 1, undefined, objectEmulatingUndefined(), ({valueOf:function(){return '0';}}), -0, (function(){return 0;}), (new Number(0)), null, (new String('')), ({valueOf:function(){return 0;}}), [0], 0, '/0/', false, (new Boolean(true)), '\\0', ({toString:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mta(-1375061271,1782943104,-82117852,1343150415,2064368805,1406544133,-671602189,879919717,-1983873536,827017416,1534679827,-914571571,1164295039,-1520178287,113467237,-328789864,1043540573,1097316085,680138762,-1102410927,1165069174,1795794652,635346772,639403910,647933347,-596893354,1594582655,1760982002,761761001,-1539932993,-2041558163,-369385547,1908774381,584694985,-111402436,1825667428,1066021384,-432497164,662401426,2133833708,-129044214,974835828,1737962131,-1525723646,-1210615484,-1166096833,1471903088,-197854124,837708304,-2021980794,-904227483,-266529979,220497143,130749969,-1696123054,-713428586,-800276766,291716713,-227619096,-478444544,-1701772469,302332528,2017207572,-1464770180,-1088319936,-856108202,-699326108,-123303921,117020604,115537063,-1227246114,605931158,-1818062810,-204601744,-2049515276,1390050926,1488599475,-420568980,-750043053,-1559434202,-1710235308,109079282,-1815478546,-432504543,-812663764,-727562903,1442546790,-532038575,-1418728989,-609552547,1264264345,-1577632384,-817719683,1334000892,158254837,1370413290,-226833446,1633580679,-391701795,-435240262,-2146119489,-726080456,-503262599,-1596822204,2056110591,-1297658873,1025114104,-1466132356,1069053771,393817546,2032856365,1133581168,1351494847,414958553,-1223902285,-2056749093,1082449278,-1954830712,-169591544,-281046852,-1993343455,813531748,-673362703,-1952500823,287710774,-791293145,482283577,140188959,1919160925,316745286,779815376,334624154,-1567135494,2030085054,479542715,828567834,-1038226139,-1344661188,1664743800,756507791,1935187252,-1533983705,1815043833,2073860577,1924236895,-393492395,-891627370,373791022,-1634363601,-1249352879,-1269820004,1051976951,-1710657702,-404431456,1662411430,723660096,1726755628,-973928311,612594321,1604423404,1265326677,-1113065067,-564163130,1914194309,-462564891,2001947559,1065969307,-462756692,1229275593,147483702,703429798,-91436545,-65100584,165629236,-1270557886,1549976224,-205073402,-752852799,1284019467,1673610793,528617557,-601977977,674910758,2146628468,-1208241803,462491992,-1061092021,-1088695595,514341005,1215782958,716707819,-1659655300,917106113,33841452,-769775473,-1484542184,1548747617,-165386269,-119457645,-955083764,1204267388,1727111225,-128050082,748756957,2141362881,858635553,1982874736,-1945097156,1692927852,-1644711434,1572778099,-2004919162,539131756,945974517,-1318313155,765204435,2057702134,411046569,-667733537,1450764260,-357800932,-1305139066,-663060834,-678584503,689083536,-1604701891,2103060855,-2039143340,999405172,74580264,1369498258,429603357,1959314212,-644774072,124032265,1672536105,490482931,1974864045,-634951935,756652625,774449166,-1119292811,-1540543242,-16527190,-811863837,1347090780,-1083618217,2080522879,982618464,-712703944,-1173817922,-1471101482,-1542079869,1012529962,1182632246,-1503722500,899825614,1586560555,577021588,286559546,-1021480915,-288907615,-1698370775,-865456816,-1059689167,1968479457,-2030828225,463290527,-1709698507,-615581605,1222199965,276827584,961754786,-1600687389,-1401332696,-703323289,1094205851,772622868,-197860164,-1077844651,548049621,567528736,-1864966403,651899356,1818236401,-264171036,2122912623,995113240,-904050383,2090038057,897993961,-1694077148,837253660,-776278068,-516946362,-2136522013,1718639606,-2124188198,-213299160,1186274377,1005274779,-604622838,1436257729,1335131076,-796764373,-1185906267,971741477,-1648522094,-124544816,-2033033466,-2001146234,518754566,-2074929881,2139536698,2126301382,314267929,507329505,-1934292213,297082944,-1068832531,-1583867514,1243908233,61608509,591176281,1839465105,-1619605972,-1252640818,-964156580,-1168825003,-70296608,-983106958,-1753074505,-1234778969,-2011495637,737837209,-573037603,-2062390162,546256653,-1344982831,920961291,1982934213,1043515275,-1667529145,-2103653557,1717783808,743883693,1735144679,468696281,1420630421,13856501,1273401023,-1840687538,-270715523,-465313351,-1428495138,268587251,1530916930,1507857709,-1016764084,1925427276,-1920744429,1606565791,-1925123494,-1627539313,1887717953,-1620111414,-265054167,1353979530,-382654908,61481332,-2041890310,2041954854,1248279520,612525276,919520245,-1152073678,407556899,-721706451,117827944,-1871081221,-924040882,-1687701095,-1082643282,-1298690518,1646322571,1882685831,1223549556,-1520625274,1968599258,-675366227,-1623084401,-1562277083,1900715511,142696495,-876291472,-1480584737,-1143618299,1692507035,-1397290265,-521502485,-1714051060,-1723916019,-1773578712,1929492083,-1879587729,-1686823467,-672502112,-1526657327,1428465633,-1907482161,385694720,-1958853348,1751601069,-989355243,967028237,-1927213664,-2093043750,-1561056846,-529008181,1749006010,-2112659227,-1777305359,1140890963,-251902282,-371776094,-1712389493,-58920527,1931138415,-228472604,-1887572995,-1838388063,-20840194,-1289295687,1940917762,-1728211554,1821228142,-321595601,-1723437377,-2103647740,-140102647,1234400288,733793700,1132602389,1035255788,410790624,-374861474,-957585845,159713713,12277262,2073401240,-124816408,-783580913,-1791275647,-1179346857,1577012273,658520930,569785976,619059027,595157845,-1857900462,464654908,-367103326,-551281683,-23451098,-220558002,-543818602,1706942992,-1911002543,317959757,1383762424,-1706557347,-805664606,1293229993,-1394223758,-1877372990,213745651,-658126952,1227712940,1225207171,1692457739,-1400150840,-1691658058,487925369,-2066854139,1405698390,-73210454,1025423753,524820232,1964724338,409739177,639886413,1195395212,126804508,137761051,1002614800,-1706301476,-2122190456,-612552410,760200219,-631671061,123876888,1583440800,948908206,-118646814,1415871978,-71885283,-1627063379,-97325342,50829058,522699929,-1828790237,-143180634,1190812995,547073754,2137597051,-773178076,-1989254243,1647088528,1633033959,-67894725,-1795890160,-1091112517,-105492983,911933711,42265325,-1738444745,-759972959,-1623420799,-136386165,-2000543964,2098674179,-764017190,-1390544454,2118563937,-1811309479,-1998939174,1289718909,-1831786612,99637931,1318004955,-568712896,-1943735185,-1833495164,-1357318574,-1126426821,1125674046,562556487,2028575678,964719378,2023042878,-1968678893,110657407,-1239687767,-241678971,-1128186157,1196138678,402544336,-1234025263,-186245426,1934700303,1926424738,-1784595341,1868972887,-517104080,-394080273,-979107937,-129328443,-2002969389,1035399553,1869358923,389970714,-352294761,2079820075,-778578819,486080993,1228363025,1480723038,-1196135370,-954894185,-1130459064,1208929172,10139112,-1728968996,-494826603,1084319994,-170782513,-365977316,-690093697,-1906418498,469511626,-2065115971,1121907799,1659522693,2121822713,1202195297,-1983781593,56578234,1389578833,1400234668,-2146000246,-2118596315,-508222705,697057240,-53223727,-242759722,-793483579,-814585723,-40124507,21180143,1560591645,884444345,1415673027,-760558963,964747602,1035189904,-1323413495,1538702690,2041039713,1576223299,-1411742050,703745641,-1621572155,-1423342441,903375022); +/*FRC*/Random.twister.import_mti(12); void (makeScript(14)); +/*FRC*/count=404; tryItOut("\"use strict\"; \"use asm\"; delete h2.iterate;"); +/*FRC*/Random.twister.import_mti(22); void (makeScript(14)); +/*FRC*/count=405; tryItOut("h1.__proto__ = o1.o1;"); +/*FRC*/Random.twister.import_mti(37); void (makeScript(14)); +/*FRC*/count=406; tryItOut("mathy0 = (function(x, y) { return Math.fround(((((( ! x) >>> 0) == ( + Math.exp(Number.MAX_VALUE))) , ((Math.fround(0/0) > Math.fround(( + ( ~ ( + y))))) >>> 0)) || ( + Math.fround(Math.cos(( + (Math.cos(( + Math.round(Math.fround(x)))) | 0))))))); }); "); +/*FRC*/Random.twister.import_mti(201); void (makeScript(14)); +/*FRC*/count=407; tryItOut("m1.delete(i0);"); +/*FRC*/Random.twister.import_mti(214); void (makeScript(14)); +/*FRC*/count=408; tryItOut("var szajgv = new ArrayBuffer(12); var szajgv_0 = new Uint32Array(szajgv); szajgv_0[0] = 26; var szajgv_1 = new Uint16Array(szajgv); print(szajgv_1[0]); szajgv_1[0] = 4; const t2 = new Float64Array(a1);throw new RegExp(\"[^]|[\\\\s\\u00fd]|(?=(?:[\\u008d-\\\\x9b\\\\u7fD0-\\\\x9B]))(?=[^z-\\u72c2\\\\x91-\\\\u00BE\\\\\\u0019-\\\\u1A2c]+)|.{2,}+\", \"gyi\");"); +/*FRC*/Random.twister.import_mta(298016091,-1858439307,300244115,1029241473,702317904,616428046,-1339013218,-1961362577,-1009731151,1667134454,414703976,-1365325183,100099288,-862706835,-1123168944,-1367971236,2092746928,770089480,185399511,-511284639,-1754203428,-224872863,2066871673,139757291,-1205442470,-1299341645,-997753009,1718375177,318540811,643589336,-1628460438,327922381,119113030,-1362985537,-2002076596,-1394347587,1085030648,-884986537,1394239384,-789336150,-1001716091,677366674,-450784504,309905538,-276095388,677355181,128893382,1082859496,-367684707,988388390,-394055476,-551443286,-512185265,-167974847,-1141409340,-48426256,1745729468,1690839877,1459485026,-172617982,1843694187,526873055,-2061893396,1143133468,-1939727607,-1274246305,465690366,-1314503024,1173108250,2127640831,-602502886,455272030,731744960,-660377561,-1500006507,-129977425,-1617787580,1622449972,1564150240,-1782433998,174939349,1088672500,-1896600764,-884163874,1752353501,2011751498,769794546,-1619655304,259993307,-1044669670,263422408,-1951224941,2142077399,-1147389976,1872176377,1051953137,-510551417,-1768321631,-380860799,1484990728,-1323220166,-985176584,-1976549303,-483629512,-566594180,1711525714,-324805668,-1833896304,-267679496,983121380,-604346534,-1303891582,-1972202070,275778853,751547284,649606140,623279518,94059263,-1502218886,1425091666,974279330,-743438272,657664816,-597169397,261400823,786527946,-1417789601,-1564585188,-1861098732,-980533431,-1765512628,-426418698,-196980997,-363523071,-892895913,354140151,699118847,-443195163,123312450,1970520807,428946752,-353417976,-364260108,2118800048,560570522,-136676913,-465880379,715025523,-2133529271,2075124873,-1095182054,881116351,191316462,-81565376,319384031,-2056403905,1248424222,2005415748,1755015104,-1421653211,833161412,-1681270739,-1823098094,-638799729,1996499327,-374718267,-753341338,355000276,-1043936892,-323214186,752077043,1136239597,730038737,219943611,-2060383801,1108665128,554652866,-474612805,-505461030,-829705557,263428394,-1828171388,-2090341902,-889478159,1297235268,563754150,604295712,-1761754013,-773218088,1719343670,-665332543,1275206273,452861276,888107045,287253467,-1781858326,-597495081,-1563416585,-364335327,1622967300,-123524462,1868229763,1330552251,660681882,1630227776,311696864,-86259505,-2081176480,-565199298,950370403,-106688026,1364332889,-667075656,-1257689608,-1683501067,-268840970,-1396156199,-2002610528,-635296773,1860210540,549281570,835616012,1494546917,2105213985,377318788,1284251891,920844932,1275823713,-1828489247,959786458,-1466050736,330884290,141898154,1787477445,600259492,1413881623,-1064450177,-1397956041,1629140854,316928223,1262021256,-283419861,-772308471,-2105966562,1170464422,-1917784541,110099329,-1976028564,-665176451,641044390,1551688704,1931740612,-324967642,-407258156,1967379191,1210946540,-1877169390,-1881278176,453112912,-1080062577,1084817968,1556117767,-891885803,-1177565505,685954040,-915876392,70631226,1347403584,-588249248,407209625,439930466,-215841483,-1591961853,1368551378,-1299595644,327222159,770652460,-761707886,432645855,673535482,-451604783,714384997,-1368356322,-952824421,1558750135,-1330528246,-400682098,-773677524,-131696492,114398791,1235346062,-728652281,-1663959879,1801051613,1761433406,919870433,2120253970,-1515052786,-512698203,-1352623790,-178755550,1431486890,-544567731,786112014,-1525387463,-1731824211,-1692601989,1982107837,59440503,-894936057,-2076609955,-212602735,137083607,314328465,253958443,-1721170956,1592372800,1198068200,849309498,794922260,1200014195,-146170568,-1239063038,1313549072,-1725763913,-1276666522,1002911910,1963155791,-1197422584,-394052240,837143740,469870576,-1157169640,542518095,626284449,-1300054321,-204073283,1427656685,1882382808,677557015,-1771971009,-1148272536,-16849274,1444403998,-1967592458,214654934,-1072807199,-1991479625,1255215077,-1681335120,-717012948,-512589162,-976734519,-32289488,1941425082,-1131537611,1886815488,-1216946454,-1611364912,1804278829,482130705,-865663878,-1016212625,-924770048,-366811392,-431430263,489277858,755607138,-1422240334,-378779639,43037603,73022826,-442807391,1716841440,926157930,1442395143,-925203136,-46518866,-1515144163,1863409993,798491987,1286963080,-601488598,-1569607676,-694466728,1290639098,-1175599130,1258434729,689845668,1174262410,294962626,-1766992037,1960984589,-151355042,-541038620,86285273,130308484,-1551827617,-1429974201,1734956503,-661966110,-837442861,-1566799666,-1074002390,923256206,-1976929910,84116764,-64390651,220721596,-937854990,-815496833,-1603720627,-1710139917,-505563655,-1871887693,-1871251659,922816239,828676347,941474268,-2097209871,-420479870,-367534675,-1380655951,-1467391994,1999574637,226387750,-2143723924,-1047277856,-1309890142,-1620042956,1476408549,-1582265917,1800149729,-156958208,-172680617,1898800502,-317847581,-1192599324,-1282819198,-1124826712,-1596503254,594439456,-249327616,-1594470999,-1133076977,542941185,-1289045141,551613477,201635520,1699954705,-1932102535,-974619749,-1990271993,-1055527869,1605082064,-2080872227,-1303472468,539612709,454671595,1168914612,1602585748,-715290995,722143748,-1176469032,-1016718212,331630206,-1930988248,-1689678479,-970580009,1171993336,-444283825,-1170087507,-1681783654,1317223520,1433288010,-197601871,1117993840,-503856610,-665003874,-85667518,-1439950961,-1564348140,-750648143,-101184583,-1307800587,-595191733,-1338277365,2049223177,-906050036,1087350252,-1703943431,723886838,1417375114,433383218,1567247534,-1674510428,1979391498,-711483216,1191612063,-491942897,2124602882,-1362221357,804767870,1205667801,1984593219,-817665066,1430004363,-1533622960,-1139804938,1040665296,-1131506744,-1499644471,-1594091673,1319252332,-115900226,630847877,2009587599,-536715998,1885542341,-693399887,-1389750817,-1926315803,-185521223,-433436741,814361034,287421866,2046190029,398437432,288607800,940155795,132127971,-207973404,2129500482,135303048,843701584,-51541098,-1010774079,1607069655,1293734947,656845431,-844722311,1182307305,-823822115,-1718676222,652552183,-1152112442,320159947,1531378426,-888993113,712637140,-1810914192,455585980,1378029435,-55634160,380023060,-1285561504,1790095303,1268171739,-56524632,-2106619319,-1282538071,-873478443,-2112589353,513786261,-1363083011,-1793123227,-182153823,1370625568,355492626,-178136309,-90218614,1850449852,-1123547849,393900750,887059680,1727007434,-2020414805,801197240,-1086469454,-1580248317,-27387964,2144258260,1422290464,270938493,345466450,-354200226,-1712542643,1536398670,-2120674657,1477511662,814148596,1113551005,1081896362,-1477083955,-1327373266,-359268881,1494048254,724189941,72444975,1011851244,-1886991688,1676809094,-224891984,-1340512597,208186899,1526806656,-1999368636,-164551941,-79719975,1601533353,290044602,1724289729,271443539,-1489758034,-897210254,1153788693,-534345755,-1503275972,-2092919788,-1189881882,1616794467,324801904,1606987662,-1775417354); +/*FRC*/Random.twister.import_mti(105); void (makeScript(14)); +/*FRC*/count=409; tryItOut("\"use strict\"; v1 = Object.prototype.isPrototypeOf.call(this.o2, h1);"); +/*FRC*/Random.twister.import_mti(120); void (makeScript(14)); +/*FRC*/count=410; tryItOut("M:if(true) {s2 += 'x';this.h2.set = f2; } else {Object.defineProperty(this, \"i1\", { configurable: (x % 24 == 11), enumerable: false, get: function() { return a1.keys; } }); }"); +/*FRC*/Random.twister.import_mti(223); void (makeScript(14)); +/*FRC*/count=411; tryItOut("e2 = g1.objectEmulatingUndefined();"); +/*FRC*/Random.twister.import_mti(235); void (makeScript(14)); +/*FRC*/count=412; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(244); void (makeScript(14)); +/*FRC*/count=413; tryItOut("mathy3 = (function(x, y) { return Math.min((((x ? ((Math.fround(x) >= ( - (y | 0))) >>> 0) : ( + Math.pow(Math.pow(0x100000000, x), x))) + Math.acos(Math.atan2((Math.trunc(Math.fround(Math.log10(Math.fround(y)))) | 0), Math.fround(mathy0(y, 1))))) >>> 0), Math.fround(((( - (( - mathy0(Math.pow(x, y), ( + Math.sinh(( + y))))) >>> 0)) | 0) === ( + ( + ( + Math.cosh((x >>> 0)))))))); }); testMathyFunction(mathy3, [1, '\\0', ({valueOf:function(){return '0';}}), 0, (new Number(-0)), (new String('')), /0/, false, -0, undefined, '0', (new Boolean(false)), true, (function(){return 0;}), '', [], NaN, ({valueOf:function(){return 0;}}), ({toString:function(){return '0';}}), null, (new Boolean(true)), [0], '/0/', objectEmulatingUndefined(), 0.1, (new Number(0))]); "); +/*FRC*/Random.twister.import_mti(562); void (makeScript(14)); +/*FRC*/count=414; tryItOut("(void schedulegc(o0.g1));"); +/*FRC*/Random.twister.import_mti(574); void (makeScript(14)); +/*FRC*/count=415; tryItOut("a0.toString = (function(j) { if (j) { v0 = g1.eval(\"mathy3 = (function(x, y) { \\\"use asm\\\"; return ((((((mathy0(( + -0), ((x == 0x080000001) | 0)) | 0) * (( ~ ( + y)) | 0)) | 0) >>> mathy1(x, Math.fround((y !== mathy1((mathy2(y, x) ? x : y), Math.fround(y)))))) | 0) !== (Math.max(Math.imul(Math.fround(y), (Math.asinh(x) >>> 0)), Math.atanh(Math.pow(Math.fround(Math.min(Math.min(Math.fround((Math.min((x >>> 0), (x >>> 0)) >>> 0)), Math.fround(x)), x)), Math.fround(Math.sqrt(((Math.asin((y | 0)) | 0) | 0)))))) >>> 0)); }); \"); } else { try { this.o1.s0 = Array.prototype.join.apply(a2, [s2, i0, i0]); } catch(e0) { } print(uneval(t0)); } });"); +/*FRC*/Random.twister.import_mta(840267322,2067680721,-523397048,-865767350,-599041068,-1165710591,1669286722,-806934135,-75151247,156792232,1919856538,1339835344,2002507419,-1847433257,-145612957,-464571989,-147921667,216239623,968717018,2092528513,-786402540,-594703425,534638171,-84096849,710517291,1459606473,1119353181,-413540169,508581194,-1890677927,291415897,-1302303999,286889268,475359939,1858716098,186268317,1242408052,-1674040933,1498722979,371405950,-322599635,-2129038842,-171383319,-1760377832,-297200983,-218828573,-2135702947,276096798,2099801618,-2023021811,1332749936,-441429960,-2035972882,-785528677,-1150881053,-44562471,1786333502,1960142689,-1188860068,1572102982,-1231888875,429178013,666718778,-1061406257,374567933,1726735739,-1590451568,-1584396431,-1247515938,-1561579099,-690422178,-739714377,-259900876,801615706,1600719013,-737458632,1054438394,2079570362,-19280344,-1633868347,-1048171676,-551105220,-1623028691,1193132606,-1724546255,-978119608,-163378939,1824238663,-61090362,-136166673,-420131041,790672952,1560395288,1957478490,-1384853039,-38072298,-879718083,-1329283279,-261002464,1835777943,-1221324212,-1693049244,-1824801005,297788604,-573587078,430318992,243629201,240105791,-1844447964,2025918758,-38609519,-113852893,-281543523,-1427420670,-1245633481,-1301337688,-714662708,-366118397,1340174252,1791948510,-908437246,603619933,1636879339,1944646011,-1705084032,2017887433,-1217040843,2013452352,-353494319,848581867,1693778627,-233154150,-735340212,-74771817,538967232,-214895646,-1546481883,1910837745,1599920698,-821537439,1790856531,943210073,1476625199,-585998540,-459464751,636507488,1439208420,-1081613940,1602972253,206122054,-1744033670,-827282864,401100404,1149476928,-2137398660,924301300,-949285710,585827060,1073149485,845556645,-545612014,-1257546463,2006016721,1359389129,1714574952,-342358044,1410051711,-1910348737,-482275794,977656071,-379160823,-1711729883,1793548937,1628400566,255979048,-1383092394,-1079492660,1144051597,-1732418752,-1068816834,642081914,-24232373,1572483620,-1728640666,1862521479,1187252016,-2108660845,2086909502,-1713448891,751826674,-1533400879,-1931076559,-613547741,-1593718074,1220153192,-1220172770,1872093161,1556939617,-1697923091,1700579511,-980450197,-1157721555,805242273,-1089246184,1790451062,1459437320,-236944229,1666150668,-1638184850,-1274673481,126917256,-685700091,99738453,-980226657,289043770,-549356832,-479898626,1050413392,867511459,-260560780,-1098716486,918706233,514254121,1801512353,-1408059946,1153028812,689976345,-1566802667,665115452,-192711712,-2051472853,-663633151,382289212,1922881168,2093782749,1120606993,-972639124,48493601,-542831776,1388815327,1063746205,111242936,-1519128156,-1781593170,-1825355319,-470663227,2040883895,604362997,-1885909908,837000283,-1016149427,470356920,623054371,-1591828231,-1018222271,375259331,-929007671,1558076785,883367193,1900876844,-1422006625,-760610153,-822777571,511495560,-1198767241,458124606,1040509918,-1027766627,1412628885,-120290600,931870301,667937271,-1707227382,-1711858401,-1061366266,1809838724,-1373142460,-1701034560,-240977211,757576537,493824886,-1403078676,130691531,-1660573638,1821214564,-852728165,893725776,-897457569,-1007368351,57516925,1945917971,-1053606530,-1974486198,-1790113521,603109982,-1970000937,-1338695390,1063789267,-2074569186,-1976693211,1164889999,-375062692,-2090415809,-1252264775,-1365757005,710870602,2089278788,1498146048,1668961248,1146521052,-1480815959,1143533189,1441105503,1759130959,1611607485,-1825635610,-732509669,-4523902,948990130,-406163586,1325928134,-161062192,-1700887138,1577670329,-382242430,-1382877325,-824000529,-1419479480,-279478052,-875996851,532625220,-1068712330,-796557080,-2060982370,-1912187257,1928089253,-1958377969,-978604675,1947162487,2098176861,-148100554,-893495436,-647707609,-801412809,-1404512792,-152109565,-1218416294,901410351,773778437,187788285,55685168,1639108667,122626641,-827421720,-11705083,-1831511983,690961310,722419755,517433171,1132295195,-575106902,-660494936,-1757387934,-691798875,-1681271830,298335979,-645102000,2133026698,-712594814,-2143065567,-549502591,1331170014,1457135760,1314035153,208915280,2078681341,1926511249,1406977707,540060203,-1725105150,1658396548,-1366629399,1714384886,-1406750946,1151191433,587208158,-823164114,-873101888,-1745505180,2136670256,-1017578821,-2058631503,-790280373,1005297037,1438161164,-526179604,-1299376265,621604469,1933904145,1185086456,-1626535424,1578084943,-227431357,-466887413,1093005128,-633560626,1733766115,1624677540,-628980302,-1560231356,1372269727,-1157379935,-1356698349,1399747093,-1387233925,1532424173,-1384838576,-1198208961,345055766,-1474691230,1292014799,-2023173649,-486468579,-1928666112,1517433074,-1697181477,93663175,-1652961094,-179920969,-621302004,918788134,-2045337383,1840233992,305314159,467256247,836041536,-395102523,1582581577,-1990505263,1436174016,-1809458417,699120954,372436203,609659942,-138745457,-1289174583,956359353,-1199525414,-1654437650,-2117767222,-1868797773,1907714826,-1120168910,1190525425,979958180,2122551402,1033840685,289238145,-89661605,957056886,-1053121271,692655071,1580948477,-1481262510,1258411806,-640241164,-2039753288,-981678679,1682765764,247014236,1374112679,-556643452,-2068602379,1393718290,-2028928270,-288960044,18382164,-1354717694,1635482393,-381831877,-260155277,870751174,-206916160,145654508,-1416240757,-172856125,-1789398537,-1883077223,-1295134623,1523198142,1273896179,-1833830990,396631719,280087945,-861537969,785288848,-769699200,-855588403,-1886281937,-445863925,395886249,-1756941767,-784744009,201985082,-1120014293,36985695,1064096241,1130942733,-212004220,428701743,1464043009,-1510261752,-1434616275,164555791,21343810,1629460601,862752236,-1832558290,1936607993,1171390842,1255332258,-1065181347,1619638485,-395299385,939063302,564860455,-2114856903,1308043411,1822989898,429815697,-1936278197,-772866286,777470350,1705194476,1732059339,-1684896545,-1296383256,406474855,-827126943,-365006532,-1829843868,-562749172,-538408857,506259775,-502207263,-401448952,-899083773,-209634486,-1554341958,-1868998746,328896231,1496205024,-1815773957,-2051938459,-1295284232,50751456,1997179007,569374480,410241933,273298147,2044245035,1443159731,-1532289360,86881966,372020112,-1751801480,366389325,-38528065,1762003502,-1540658206,-1491163415,734291884,-1118582940,-1391473878,113404746,-1260443249,1557253537,483349865,-1470248603,2019568051,-1320554622,-718384619,63893552,593791159,511634052,-886472278,783597244,1149020474,-1263984289,-1895623016,1860498484,-1141381825,-1690685358,-2114161593,-1822348894,-1191181187,215939972,1142900553,1367328040,1360610764,1068211218,893386376,-1159582857,-1377247929,2119981803,609922313,2067586464,-2041681993,1480124898,1854649003,105731745,-712799617,815405449,-1414703337,815759509,1055803209,745138734,-2097631055,-641585854,969072165,843421493,2052902603,-340426473,-343430038); +/*FRC*/Random.twister.import_mti(326); void (makeScript(14)); +/*FRC*/count=416; tryItOut("this.v2 = undefined;"); +/*FRC*/Random.twister.import_mti(337); void (makeScript(14)); +/*FRC*/count=417; tryItOut("\"use strict\"; print(new (/*wrap1*/(function(){ \"use strict\"; v0 = a0.length;return /*wrap2*/(function(){ var thsqba = ({get: 19, set: /*wrap3*/(function(){ var lksoap = /(.)|^(?![-\u00c6\\\u008c-\u0088\\r\\\u009b-\\\u0433\u009f])(?:([^\\\u3563-\\cB\\S\\ub888-\ufcd0\u00f9-\\\uc0ab]|\\W)|[^]*?)|Y[^][][^]|(?:\\S)/; (function (z = 20) { \"use strict\"; yield window } )(); }), enumerable: true}); var qoghpe = [z1,,]; return qoghpe;})()})())([]));g0.t0 = this.t2.subarray(8, 18);const d = \"\\u2448\";"); +/*FRC*/Random.twister.import_mta(-2120517566,1126417717,546325469,-248993814,-1706733808,-2083649054,1523644688,-1510999121,-1634690278,1583381550,1194900812,2015878688,855196016,-1284860943,1345118379,1304276914,-1944648247,-1316043754,-66918670,-2048576550,1339735359,-1032362524,208612330,-2128153339,891259092,1532123244,665756804,358226519,75031976,-734868300,490821093,-1110813395,1305848498,27752647,445844808,1219062834,-2061099651,-293918151,986014079,1192838284,517537354,1790414586,504571084,2047468164,-908495468,-815547110,1819074473,-919675258,697688208,1589178753,-1973904954,-567178599,1885027160,1411883293,-1777215431,-939052883,-443024738,653872650,274309577,-1075906568,-989887984,-377915834,-2141377714,320580648,-2093723203,1319275189,1853163829,299098737,296229369,-318264681,897587245,470674142,1499133169,-413434070,-187176808,-606136312,1860937935,-1199708698,947975145,1641769190,-1059864420,-1210937904,-1967959004,1709975860,1363087842,293831069,-402922480,-1783100568,390856043,2133190311,-665657723,-1672671379,1620854931,-1000553276,-328434247,-345708826,-774167858,-1264759585,-1049370236,-914007130,-2138321153,1594159225,-1380754859,964648468,-611049231,1332989728,-1843044230,-1271264583,2119488460,-1732440090,-1493483837,500063253,1291377966,-1800690491,-53696292,-1060179893,-439295535,1723144596,1417208598,394371437,1513132255,-626090029,-449918696,1207821410,631860710,-499400944,-1804510745,-1685633615,-504787827,713288071,1962542174,113070828,-44872187,-593935573,-394885405,-424233277,-2074539061,1217613270,622730928,1592611998,-1657864300,2075818537,-994615642,2041115475,-1936913476,-183713387,32446969,350087440,-298387925,-965802434,-1797689758,-391202688,-1294432378,332824537,44408090,-1334773086,-725326305,876104753,-2093104403,1488439286,-496834209,-88880582,-1581133096,1254203167,1674108225,1470527824,-1691077522,1737233543,1405091108,-1200807146,675291890,-2055402571,-1800610247,-1598139907,1023651847,-494413694,1444876339,178051818,-721765744,267616156,-1165952365,-964636553,1947970816,1606465054,-162770547,-1678872282,1565873064,-1952893319,-1655801133,-1510925813,-1694033923,1075220753,-545000453,179958656,-1605028048,1979215737,915555624,118245003,1386664185,-1223587474,-2140619136,-1618413785,1318122432,1257738921,507601164,454744549,-598776383,1903296220,-414114163,955551972,886460778,-2084001641,-716540741,1322282044,-98355441,1093185654,-186428481,-1337088485,114447219,1932042099,1083255922,1335488265,-1787159510,609013214,402663341,1714236356,1673601599,-766962212,2036497605,-79400425,68744885,-786305650,-1165991254,-37879135,495109880,-1114390228,-2045167903,1760180476,-2008236272,-1270723359,-1338366803,1117067385,123349605,1552290290,1501522731,433644406,250572671,1209080585,59644694,-1261371885,-819823399,-1098465510,-757745457,-553549573,-948065559,-1189056877,592794323,-1642435658,-2056462533,-1052514014,-235222701,-455014119,127339254,6851609,-1545855834,633803920,-11585763,-305541537,1457377174,-589426883,-253319520,-993552879,445678410,204649642,-1128192060,1048977842,334943073,1803637883,296412138,2129440483,1107884779,1291612163,-964303696,-1815004884,-1721250408,1257977825,60208648,1007505791,835131175,548124312,864170647,-971797480,-1660109075,1066161178,-1919858875,1236437352,733678369,934040354,-1072538349,-1562041367,-745996156,745290968,410669707,-1599143479,-313366845,113450315,1300142694,-244389524,-1778790594,6660527,-1628377431,-490380782,-1125766171,1324663313,-1674606053,-462935879,16292582,-2078611748,-1347929902,119033840,-9439828,-1591525514,493419877,-448751089,2069661625,1057623724,-1674092414,-148894063,-1545016320,-496188937,425263407,-1277763451,232799471,1278147558,1413782836,-486629356,1667262855,1173628327,-1170129564,2003748917,-235630721,158759440,836498447,-1275819227,-2067081654,264821691,-732682587,-734571006,1178508018,-460975872,-299090784,-1090106351,-982713628,1927240634,1273321798,-1250029246,-1509099187,-493287640,-1106552770,-745601456,-1328967169,-1546209454,350222414,-910302658,-1719672196,165174680,561833819,-1209161003,-1567391770,840978105,503641660,-1478485004,1261255586,131529809,-1339667023,1314151356,1988744628,499747752,-466041215,-1011611580,-1650737422,1907501793,-1503417043,797061636,632833758,-1538653318,1028457750,-1449643155,-2061612510,426057562,-1855140712,-1833775557,-1822750903,-1310164760,1474135537,-1812871616,1944315123,-1997924699,-1507035575,-1691722951,1454453765,-1657547015,161122008,915269527,662866445,1046060990,1066938830,-1748912054,-1761562283,-2047439984,-615914863,953538523,1800534259,-755638838,2134569296,-1946877957,1622396619,-783317258,1411018400,537528643,-1878709336,1222446561,863837561,1537957201,-1821409735,-1989871675,-1179819725,1673740676,-218947423,368132051,-789286374,1754709512,-1962199667,1219179717,1771799420,1247819056,-824835169,-1452062755,-385512457,1179658723,436581025,1748169125,1392764517,1446418343,1892775456,-1017474320,1869137822,237012997,259741932,1144821932,1553365083,111013300,-1671469085,2130009837,-318186007,-22718452,1792177288,-1606178361,-1918620107,51740913,806501265,-1416111143,-1370940411,-476455570,1140940806,-881240628,1341431530,-1038327985,1170835927,-1230946455,1945056304,-2110911730,1884412287,224914950,1064465379,1124214204,-1552896750,647459210,319870296,870458409,-2030908136,-22482935,-42520603,-1349053751,2110516488,1456445215,531241777,831820220,-1987830458,-1150766000,154171072,1896260394,-1265155445,1075149669,-1162966761,2144495318,592895748,774298088,796488395,-933991231,-1634099863,1297446848,2021861295,-1805608021,-1282160373,-1760281651,-967805254,2074506153,-1724744501,1949079407,-2127780056,1431421521,-1760235207,53764393,-1786106468,678515153,701040143,-750934220,-453342043,-1201286596,-2033865877,1692216304,-461233324,1883731746,-1099863826,1507983824,1561724799,-438480991,-1179928625,-2026259215,-933724608,-1166424572,873628861,-404178212,1705974748,-861622710,-714065597,547478470,-1747297652,-175026729,567169687,1792245495,846654713,-1460118455,-267135272,1402208524,2128138837,-1362969999,-378563419,-844297527,-908609153,-340358885,-455455295,-984439938,-1230815903,23402720,-224707969,-1939319754,586893611,-1476078043,-31185824,1175523948,-1603765437,1752571983,1312748827,1772280221,-792955595,-2055763352,459526113,-77850716,-434718477,-1704774152,1498365486,-1758129408,1464889882,-1319187203,1944652651,1661626573,1514072087,-574091995,-2126462353,167911774,1036314054,-1456239601,-955398147,-380565664,-240037171,865448335,-464045026,1672315476,1296998526,-723322283,-802236572,1758229386,1919227956,-453246428,-1993908798,918230184,-1888700142,1425601963,491324181,878700757,-2119662144,-1867560930,-1762890253,-643389359,1503365952,-242759165,-536919189,1011725986,-1672787996,-453117243,680794158,-66423421,803708950,-1825915083,-2129528867,-41035207,1465586166,326204428,365866834,-82840155,-432926603,858675410); +/*FRC*/Random.twister.import_mti(605); void (makeScript(14)); +/*FRC*/count=418; tryItOut("a1.push(t1, b0, this.i0);"); +/*FRC*/Random.twister.import_mta(1886602464,795666296,-1547826996,462656397,-590032376,1693645392,-1116558689,1758119808,1365877161,470052712,-1412278438,-1904471571,88830647,710353435,504037378,-195900728,-1976385599,20677161,-922327530,-1638522741,-260819964,305003349,-1181629666,-896864318,1702109655,548032315,-938549083,-1856828179,-1552051809,1845852958,-466691123,-1810237960,-1943391377,-574753602,1287784465,277908460,-1499590394,-1376681188,1777112950,-1044742982,-1675067232,-435414639,2069158049,1055459435,260255528,-1136838290,1923217636,605783656,1963875055,1782877053,-131007082,2002175296,-148375299,-829021032,-74005187,-292250964,764017128,2083306962,-515234832,145601920,-721480988,-846546030,1251497701,-1467964528,1439575644,8071232,1920507017,-706880475,1693593688,-1942216157,-870667744,-261340304,-2062778116,159694972,-272529654,-1641235001,291052789,-96814392,1945080271,-2095493796,2105423714,1447657290,1091842227,-1368570391,1868660760,-829760019,-448063619,-1352227998,-262810477,-1433680724,-423975211,1623362000,-1723410894,-435226429,78958681,-595930132,-2091684395,-635995691,454085381,-98858844,-659812085,-1599574210,-1796488245,710622670,720146512,1905366930,1467297320,-860249875,-1689600962,203774212,-1404441220,-1085402532,-411961902,-11865274,-1405220181,2096378126,1886318051,-1078567913,-1162268232,-1646657857,1734498306,-1771182039,-610590707,-1810817640,1438708856,934428536,-1534302939,1468866167,-1783937588,1735066960,-427563305,504012818,1887284667,627805678,1344941498,-281628281,-2086593481,1998591108,-472775675,-605600119,-999008755,-1249774113,273515681,663279433,-1990349086,-343289638,-1567184703,1577065746,816022035,884237668,-627710415,-1341925530,491685370,-930777102,-208735158,397463057,105264569,775253192,1832844059,1520631311,-248401621,1914413127,1416407413,1456011807,1841442500,-1376624268,-2101830957,1742801801,1972652054,-2070125492,516013933,-935522270,839618437,564121647,-1423910471,-1421343000,-1837400459,2100113234,-156798157,-140392707,-1723682775,540229271,-232237526,594434678,1207245261,1399737362,905422828,279071307,580991674,624585196,-896120360,1386116412,653360020,1566850022,924220726,-882379280,-230498288,-1036074857,-9124205,-921501054,-529014812,-400244494,-393507808,308917139,-1596312328,914851839,-401098896,1011634794,-2049122269,1139844085,1768631959,743623145,1529184444,944925884,-2073451778,-1947401938,1025775185,-175752848,867582035,-1587977756,1128897890,1575362531,1096227555,-2134504357,-937861049,1322922421,436916796,-1781872035,-1949929812,2025505609,855860554,-2120948899,-2094707745,-206321181,1979918102,-1955755514,1752265494,-1342961454,1297450818,-1000419266,-770367752,-2068929041,-636370383,1065728651,232256402,1467572598,592846288,-239912561,-1857211261,1191726509,-1781944241,-1793700497,-702398567,850953486,1422625659,1809811497,1627934405,1066402959,-189267607,1843390233,918929645,252284266,-1985184449,-1217388715,-15595180,-817644505,777399114,-146380949,1366011600,52923377,-981306436,1120628365,-1172020421,1824615174,2069403313,-436370560,-963866209,-253391773,-785898770,1328231767,1910549574,-657180827,-1485044166,1631199012,-2141612291,-528385804,-1885098528,1427384744,-572563234,-900595855,-1953929828,-2109685259,1606222413,-306671628,-1325098863,-400095977,-1746269262,1964717174,940991067,-322436930,1605557776,2062818960,393448956,-17260725,542344370,1431362812,-1146209814,931320061,-1888280766,-681248968,-552602400,-1474681547,821562426,1918132911,1146750945,-1339450912,-1467566142,-1318143300,592358952,-1494143772,-1231067272,-754442700,2010263092,1744150230,-980255101,353073988,411254579,-1990695157,1217838874,1095758723,-1430717101,-183222536,1468459617,2102878386,-37293849,1945253922,-1210582264,-1318489138,1576126105,1182991026,-1141780914,769343603,-66665405,839616198,1633321237,161190453,-138259010,75306363,-1540431703,-1400029603,1385859919,930515210,1323143845,-2122397306,1295128278,1604684213,371689156,-1182381368,2009932602,-1324231269,1954600519,440783261,-873971560,-820056823,869022280,1784989559,1494819644,-1791104514,1972986460,525336511,880335539,-322227405,1902779949,596459206,959066316,199715017,978362544,1904293294,-774253756,1401117315,693424733,2042073603,1081202451,345642710,1007709557,865630608,-681158810,-1279355846,1051275242,1557843769,-2036781603,-1117315649,-184132352,1885268212,1847191721,-1788015952,434233281,-723569514,480284001,-1067735720,-1240560756,-269641003,688276988,414354348,1644290189,-378836012,-62842152,1271552092,1657305951,109320125,-435420860,-346729109,2048172791,1248517956,-1940880023,-873435904,228436631,-1600422264,-611073726,787738176,-1610478135,-1214233771,2142956423,1660809171,528747434,984270549,-1192058304,1074200427,1003810756,-1057901267,1713564823,1012342497,-874861246,-589662514,427575538,1002393907,-1908297532,-2065605709,-697143865,-818943693,-1790729039,887152915,973011490,88911169,-735350776,1140990876,1061262649,1156854036,2146980789,-166423023,-2088174975,1597924201,-1465373156,-1249506281,-359111077,-22063896,-241981579,-321273201,1494651898,35972808,2138084560,-1204872757,-90086223,175227669,-1974951372,716163127,2086162246,704211660,116820612,-1545185239,1049804556,-319311886,1372231285,-1511549698,-802018479,-2131402230,339998056,-1673405725,368045988,-715433707,-723235371,-1283937194,-1524846190,535672897,-1912635425,1650834478,1964355527,839372366,1388173122,-852212129,-1879880000,2085689550,910274890,-1442193634,-2001775616,1086374226,339011333,1261861382,-1447886,1818238288,174837990,-569264711,1992654474,105760197,577184090,-1308616269,-1410286500,-462347524,1003146253,-1477814866,-1835381037,316366526,940832959,-2056864978,-1742458465,1345540870,-472961813,1627165457,-562943765,-2049480921,-1613358580,-2092594885,-1878737274,-1999454267,434779294,-1886006981,1194203057,-1703955160,-1604292553,1935651548,-1547404215,-481135053,1722057106,-914770940,298878936,2093200188,-2026628389,-723330650,1272591105,-115894866,-566924021,-999702206,1029506843,-795910994,-660293062,-2060814371,681099523,1528831477,752233359,-1976483244,-1960416636,787998908,2007116539,-623242916,-907351173,-388787462,125557144,1657661721,2015290677,680851537,509602180,1962573209,-1631479590,163590490,481341407,-324580132,70829958,1867028833,276122529,369436901,2134514746,234692098,33627061,-1670746957,-2049260582,1154667971,67156708,-426946661,-2137374905,-1753922739,-998254295,1406166069,-768278675,-324413979,-852571784,-1776469373,1909702019,1185630280,1804800183,-313585497,2087133436,1541100026,503512754,1613475622,-1488721684,822791357,1142060523,869172794,532674873,-423219336,-1599440269,972976684,1135660230,-399628650,-2074422951,-1122756892,-230158499,-542915785,663832914,1314157793,-1287317,1750753634,-1802112114,-2137684115,589527935,-416717605,-1156279558,-315316954,-1260411975,-2028887,-724458759,-2079829940,-856021287,567836081); +/*FRC*/Random.twister.import_mti(8); void (makeScript(14)); +/*FRC*/count=419; tryItOut("a1.sort((function() { Array.prototype.forEach.apply(a0, [(function() { v0 = Object.prototype.isPrototypeOf.call(m0, o0.b1); return s1; }), (void version(180)), p1]); return o1.b2; }));"); +/*FRC*/Random.twister.import_mti(68); void (makeScript(14)); +/*FRC*/count=420; tryItOut("print(Math.imul(x, window+=({a2:z2})));function w(w, \u3056, y, x = (objectEmulatingUndefined)( '' , /x/ ), x, b, b = new RegExp(\"((?:(?=^)))+?\", \"i\"), x, x, eval, getter, y, a, y = /(?=(?!(?=\\1))|(.^[\\cT]{2,}(?:^))*)/im, x = false, \u3056, NaN = /x/ , x, x, x, x, NaN = true)(x.throw(null))window; \"\" ;"); +/*FRC*/Random.twister.import_mta(-1016510678,226461959,345693249,-1738218872,-1651185667,-1363697556,1826089068,-742555514,-412525472,-374853259,-1778589579,-1184533797,-1968753041,-385253051,-780390385,-1509601848,-1811960177,-1462520222,500419994,1973923989,1887777789,-950329139,1270258081,1269870077,1056822295,-1028314358,-1285760646,-684559430,1302887258,334331769,168428951,-456571220,-1372631182,-1723115456,874470167,-661281343,-1977436352,1837761353,459435886,-1068109676,1861216164,852537672,1230233049,-1836960987,721321380,1085146704,390164085,2007297440,-399976707,56224754,1063211956,-580706540,-1856011171,1732978880,678702655,-26422552,-1953475842,-633505885,-1158050264,-605278713,-1977835706,-1521350569,375699200,362251262,-1206743573,1519753770,-1181245992,-130958824,-1246139911,441784918,1372539764,1148242682,-417056745,158497929,988365262,-2140231472,-1728394854,818762601,-2122726236,1794961113,-1218091706,-1402124510,1533365054,-1554739751,221606527,1320258291,1214179824,1826432329,924868216,-1623176078,1114016422,1579072603,658213601,1419875891,1382838584,-287262849,1577767723,1546617181,2110588160,-513122465,459427225,747944200,961381303,522033358,-421953936,1568663966,-1189501588,1875017541,-200100559,-1110160670,-1143591982,1215444708,-665900019,1569586009,1822508601,-1725153647,62203386,-981948093,-2015945594,-1870790422,-222111782,716638258,-807409173,-180985808,-1734568313,457850059,2048688161,322934392,-64990317,-311995387,-714414815,22418997,1642755115,-1949209964,1304534575,-1099120810,-1293304250,-1187957499,-2009554777,2080801026,388666262,-1695268466,1943752405,-627328390,-1314051793,-182525020,-1081126361,1509805036,-1620032145,-1663401276,52557382,1651599730,-1368131155,-220131167,-64536725,-309755656,-843012296,1719477801,1552571682,-1494502958,-2100786715,-887094960,-1695009407,683605734,1644383523,1184195948,-482868159,645565396,-286687494,-766465809,1263931760,-797426500,-1614647251,-207437767,1482235254,-768338864,-486737126,662817436,-1509259678,-777432529,798777359,-1181871022,-960336266,2123228432,2053587516,-925946725,2112897055,-595700699,-2071982475,1419286895,803500758,2028711293,-1006826156,1743527527,2120788738,1730383546,-1740865614,1106328442,1434668540,875141657,1205659203,1811562281,922371694,-1329111025,-72023796,2008749950,-1240985693,532418967,1172633537,1609902281,1350702876,168003852,1383940799,-36140524,766304757,1393510521,-1168729131,-470750327,-142224343,-625976245,1523522056,226270743,1720368219,701866501,2054027337,-1040232505,-1305106368,-2037747588,-399878020,219901668,27665401,1158607565,1315370050,399932391,-703904379,-1823349269,-28166884,-212458540,-1689642300,-475154157,844522349,628908488,1624186962,-1793829050,-2089875751,209240946,-730424179,-1591010973,1037547204,-665128615,-1741472875,-857441532,-1679201907,3255320,2077558641,-467342105,-1792160287,-1453410820,187565567,742727643,-1630560523,-1446914729,438639284,-173296662,-1826394747,1279883979,1660843006,106574028,-1437875089,1804788743,1794061500,-1360724762,919516115,-1276799502,1163537504,308686573,-500982500,1472938691,603862368,-1448095106,-769031251,2076847394,-1896751750,313796959,-1434596391,-47687464,-1318700333,-1527566551,1500661552,1402996174,-843099173,1321516050,1816780240,2015191375,355108940,-28546016,1624801389,-724776314,1913965221,-1996663009,872969153,827361072,639260586,-925692989,442842391,-1666262959,-1472907656,-1327699225,-941671234,887271758,1850814364,1430877282,-292353157,-210019617,1959389625,1667433881,-940109524,331472306,1298541097,2087991645,1025874217,696608290,-585467884,-439657291,380255487,-393991610,2093931525,2133398036,-1791234026,-1256632895,1704429490,336771999,1674860999,519204288,372990804,-268875595,-446631163,1277589569,1798551485,-977810646,-1838617665,-878013241,-1070989838,-1441737297,1488834694,-1137297831,1263024776,2044532561,-436656189,1067064467,-292739915,653979402,469063688,478513994,-1511660931,-147615503,-240881311,-1366526788,-2133439449,-2103267369,536556165,1748352611,1090222349,-351296670,353101409,-1531694791,1989703165,1843798712,207294094,-252734637,1979093820,1343264486,-455574329,-1558558143,-989409449,-2108156617,-1541793773,734863332,-1833405204,600907868,1462921599,1159160893,-406549613,1254105437,2142313185,2000254609,-13304881,-576971248,2084951571,12325808,-284835610,411067299,1052381462,1295794378,751570572,990978501,-130075996,-1676744929,-262803952,-993708565,492617100,215629704,-563261050,1257552771,322207606,-668333298,-1270055423,-2014253697,600092499,-171675948,-1842348166,-1637506152,-302365895,-489639308,-1182375259,1531341793,1154819627,1110282871,798120541,1257552751,-1523282158,-1732415970,-816461428,-1744930201,-978523953,1241128156,-853387917,1513525665,-762686112,-589070086,937713568,-564635731,433466393,-88724518,-1687483951,1120153507,-2071120433,-1565290208,-191050422,-2116804552,1050692162,827563236,-928928250,-1874648111,-2114848185,1898819178,-120961855,-63208691,-1350670912,-1102679612,-549313682,1849290567,37026067,1584475058,-102901240,166411033,-494977156,1831692804,1142718889,1910423082,-1832302627,844318466,1331803326,-76127226,1057584912,-1520026265,-145683339,825042479,-1383596797,1065779156,-1552973633,1921187132,512428301,627522042,-514742170,2012630128,1332915447,-758854585,2134992721,1754529720,1502476851,693854136,853180440,182108881,-663983125,-1465097533,893843708,-1215204012,374556327,1574747604,-1954332787,-2013022944,1498256708,648665598,1715097701,962135858,1309268228,1427882149,-657132978,872111008,98959345,1043895077,-2008515376,-217051727,-675021115,1980132174,-610843904,381965684,1748961269,1588873932,1540982272,796690265,-6617777,1685885635,-857045334,-241344102,-1160315751,2072967025,-1792557218,597872854,-1598614259,1562957583,590185245,741186082,1242469060,-2004127326,-2050323061,-47121659,1224695390,-1359947439,544374789,1765244382,-1206779309,-522357356,-1900203143,1565360396,1586748829,-1833662781,1774370485,411110689,-1857045890,-1284515093,1260694478,-1415230415,-933472637,-2145191305,-924022920,-1304019919,748537608,-1735832234,-1297045269,-1267492515,-974576920,-2127357593,188799849,-695853862,494340498,-1064286729,-1722779800,1828433157,-1115167789,425439033,-1424404456,1915753525,2054544943,691000446,1796945733,56295088,1503703146,-4918289,-1393665362,-1061819005,722186463,161831781,-2101555857,-403080527,-1781265535,935889865,-196542861,-524155837,-328922737,368520468,409979612,-1758259747,2089441570,1631003193,-1577645069,-1288041983,-946174225,1053354355,-958264417,436902200,-1801328982,1698267531,-1402211271,-1218804572,-385298354,-484319361,1668514138,763752737,-1739945,-455169740,-1236334980,2134884448,1967592598,1922352029,-720867048,83545558,-80351598,1094326009,1055724012,1979441958,-1367669256,934147759,1996496034,567254894,1982218531,744661477,-25668056,-841322315,255355116,-742806209,-218779710,-645164751); +/*FRC*/Random.twister.import_mti(395); void (makeScript(14)); +/*FRC*/count=421; tryItOut("\"use strict\"; /*tLoop*/for (let z of /*MARR*/[new Number(1)]) { print(new RegExp(\"(?!\\\\2)\", \"gyim\")); }\n"); +/*FRC*/Random.twister.import_mti(464); void (makeScript(14)); +/*FRC*/count=422; tryItOut("\"use strict\"; /*RXUB*/var r = /[^]/g; var s = null; print(uneval(s.match(r))); "); +/*FRC*/Random.twister.import_mti(521); void (makeScript(14)); +/*FRC*/count=423; tryItOut("\"use asm\"; mathy1 = (function(x, y) { return (( ~ ((Math.atan2((((Math.fround(( + Math.exp(( + Math.sign(y))))) ? Math.fround(( + ((y >>> 0) < y))) : Math.fround(-0x080000001)) || Math.max((Math.exp(0) | 0), Math.min(y, y))) >>> 0), ( + (( ~ x) >>> 0))) | 0) | 0)) >>> 0); }); testMathyFunction(mathy1, [[], false, ({valueOf:function(){return '0';}}), 0, (new Number(0)), undefined, (new String('')), '', (new Boolean(true)), ({valueOf:function(){return 0;}}), NaN, (new Number(-0)), objectEmulatingUndefined(), '/0/', (new Boolean(false)), 1, -0, [0], '0', (function(){return 0;}), /0/, 0.1, true, ({toString:function(){return '0';}}), '\\0', null]); "); +/*FRC*/Random.twister.import_mta(1136235331,1662005487,-923319121,-895582547,1535242174,-1475959376,1663728576,1619054918,905356139,1740291812,1112204493,-6323013,407379625,1670993826,-848886404,1024271521,-1229362875,-143686552,-123927692,-442560758,-125259058,-750672302,-165388978,591582662,-1175979109,-1761893071,-60341318,-1552362142,-654044225,1362093927,1750217463,-2053246247,-1874449190,-186432780,1796879762,1556576185,360422049,-1764082074,1659820009,-201669091,-1143223932,1228772217,295537013,1809806480,285515724,1510582755,-1416538879,753738214,813783955,-412750565,-762704761,2128156465,-840702556,1383105710,1359971891,1207750764,-1436081988,-1532945124,-48915259,-1485737761,-1500717328,254728745,2065006549,399028727,1595509271,1403681362,-2022786806,-52595917,-397627316,-541677105,320160594,119362007,-499650225,-1105518504,1924507988,1391881664,-469163887,-504542668,-1686074429,1421876820,-2064486442,317965006,-533657205,-2044726317,-1760876002,385217760,-1514348374,-1006877481,-1492368134,1417002415,26647462,-1664732408,-293288430,-1565194479,645619264,-1354740722,-1850300017,1490866917,-1864067006,-1699721449,1129421857,1568310090,1014339527,914964681,1351051242,-1799049626,502891212,1958876290,686575167,-2038671639,1929203206,-586145492,-1451620417,-192834109,-1159583538,-1102997582,-540510531,-1895757591,-1180540433,-1011378316,785740648,734067572,1496965326,1978789521,-1987741259,-2027195438,632443166,-317322286,1731226495,1987530692,613630144,-519908204,-1424462821,-543490099,1980310133,-513352336,625827785,1403638773,592363917,1426494550,-1613847036,-1993889536,902615068,1351720502,-908022983,-1913933310,-950294073,1592575211,-833635563,-1988330405,-2088859512,-1565750527,2029090265,1437304705,-1028171487,-1559662220,1795504812,621147640,-973880269,-988021313,-1526708897,1294261623,950325878,361690525,974200207,59630311,554521055,1291936082,-653315882,246431741,728162542,-1891026781,527246124,-1060973547,-374347861,1517669714,1516617259,-1850110370,371549049,1527941977,722436576,-1758869176,-1618676021,-782849903,-1466430586,-6333940,537169680,-1480397113,-1837900207,-1241173352,373779552,-429653947,-734636385,-103391714,698048101,-1732257421,96541750,-2035658041,877066615,1408111536,1339322420,2014225005,-1393626631,-2109738031,-1627184501,876851570,-1444317068,-826417239,-999889114,-45516138,33229136,1258553106,2144752627,-248262199,-982190139,710473933,-547540044,-1781905815,-710999660,457296935,-1277927887,1412806874,1077416296,-1425660905,1783544323,-1410368542,-1697732337,934068093,631080861,1361896844,1896986388,2092078495,988096668,-785946147,-1340042388,1256176101,504475406,267381167,390195437,-664035392,1898407750,-50293419,931598082,1845910262,-1319901743,1269759469,738341732,-1503434324,1717857825,590704731,1160833092,1830551426,-689736899,1485140189,140645326,177882512,92323225,-1261600553,179817963,103371647,957028480,638105800,1712500300,-975004484,1777742812,1402072598,-254288261,938908524,-1510190683,619320107,2091715299,-747931910,1140548378,-918797519,-1126791601,26252573,361299109,-1015736777,1779367438,1040159917,798331455,1450666126,-1750174692,642872719,-634048144,1018048883,1811961748,-902431384,654235854,-993892633,1890250750,1765631231,-156468694,-1912865492,-1006942941,19415205,-170865524,-216557857,-1704244601,557545584,-1498192960,1639481985,-275293954,808652485,1991415491,-811986689,-1784226824,-417468023,1216518761,-686186939,-1397011998,961159036,-163518128,1188078761,1799714500,-2064135060,496325494,-1104331155,1005887353,1763621465,-1233669120,150364746,1152209547,1139476271,1822345158,2005616287,-1524316643,1238131754,-1627482763,1321096222,-1517769255,-127534122,-1682073466,384054118,-633995257,-1017870494,2036849174,-563337977,-3423047,2034680511,140275583,-621357513,1916882362,-1281974530,135439130,-603554645,1716628483,-2061414314,-318421534,-143146421,646748436,-2071997007,-1989560713,-1371008769,260535157,-2031426800,556889498,-34548212,962278304,2112701830,1921552419,-813945300,-723448639,-155182042,-654607434,-1056289876,1677034762,-1713168061,676909174,1329043842,2023347525,1652827525,1164847101,1020296883,-2033680721,88737731,-593824855,-1977437442,-213640401,-899616327,-299334336,1750969399,1600246021,-841677053,-2020475281,1667303691,-1412042057,1110056585,1299895471,254161413,-1060735853,625743108,622051970,929781401,-914275985,-451892860,-641729363,1397495782,1948455561,1371766250,-961557551,-963031192,-1509482420,1409253776,-1112765479,-720638810,-2115875527,-471505258,-1379140062,-695006858,-1637582499,1198365381,-1896414410,-439415139,1399417832,689044891,236669820,-1735986799,1511451949,-961801962,-1249318639,1311881891,1246254239,-31467378,-497591127,-1948294383,-1476531265,1720801924,377446928,-149103063,874211544,1256227928,152609951,2102676547,920090791,1596509470,-1408191994,2075488245,199880462,545683154,-375775301,-517726010,-76424710,112033352,-312700580,1894945579,-61555330,-462721839,186023992,798556383,1158833003,-228821419,-2066223557,-1507834869,-363752914,346167331,666521742,-904444129,1146997386,-1433846867,-2012296612,-1752151757,2003078118,1100289158,-2074851389,-169746936,435534856,-18077416,-1564235073,-1086816382,390538344,656331144,1495097616,480962391,-577220716,-657094523,-1822447961,-1550259405,1498546270,1663909627,1277746945,286217154,-1761635289,-1329710925,2039677289,1343533461,501344725,-349566196,149349922,-86277803,-2115811796,89192830,1086653161,1522681494,727324917,-2097627865,-1754315866,1355248580,-1969824982,-671011779,1328069244,-1192052697,-519036134,-413027560,-1200217200,1204117390,1990049303,-2105368294,2033012200,-1170032868,-1461221636,2096104200,-677852979,1249187009,-1292153435,-493021603,537767296,2050568273,954993812,2147434611,2053580404,1264923762,389975476,-791181842,-145609202,1099349149,-961825491,-1026765585,-272081162,648456227,78164010,-206362827,-1074484683,1274081947,-1984220913,-20724616,1196125691,1095935591,-1409144525,-18402193,-2039482109,248980259,137222827,-525088536,1731523465,1602411717,-1456139106,-533112956,78824673,-2063747551,-2133165218,241850034,-1373996301,2039225206,1653566023,-800779844,-134298054,-383740307,386964875,477551024,-1019128795,-809850869,591674791,-581597730,-889467080,1397682116,2028715495,613168970,2082742047,607543533,1254414560,-996160598,1104961990,-33064341,1876254161,1055387901,899364720,-2053089550,1830184783,1716748911,-457996683,61904411,343660833,1601460491,1415837647,-1331165562,-1116147623,-2008194165,152103498,1855502801,-1144696646,-760510237,715013046,-322383927,-1035050223,1557968977,-1481652510,153097704,-313627190,-476828023,1321151017,-571474543,2060838899,-432440862,710960111,-641719389,-2011326638,-743280119,-1849157740,1075272179,-148310384,-1867744109,-1581301117,-1873412890,1389220158,-278838047,-2145398232,-368761,-626418303,1653602036,-2017513255,-1325689202,282972611,560694739); +/*FRC*/Random.twister.import_mti(93); void (makeScript(14)); +/*FRC*/count=424; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return Math.min(Math.fround(Math.round(Math.fround((x % ( + Math.abs(( - ( ~ y)))))))), ( + ( + Math.fround(Math.ceil(Math.fround(( + (Math.pow((y >>> 0), (Math.fround((y | 0)) | 0)) >>> 0)))))))); }); testMathyFunction(mathy0, [0, -Number.MIN_VALUE, 0x0ffffffff, 42, 0x100000000, 1/0, 0x100000001, -0x0ffffffff, 0/0, 0x080000001, -0x100000000, Math.PI, -0x07fffffff, 1, -0x080000000, -Number.MAX_VALUE, -0x080000001, Number.MIN_VALUE, 0x080000000, -0, Number.MAX_VALUE, 0x100000001, -1/0, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(258); void (makeScript(14)); +/*FRC*/count=425; tryItOut("mathy2 = (function(x, y) { return Math.sqrt(Math.max((Math.imul((Math.asinh(( + ( ! ( + y)))) >>> 0), (mathy1(( ! ( + Math.imul(0/0, ( + x)))), 0x100000001) >>> 0)) >>> 0), ((( + Math.cos((y >>> 0))) & y) >>> 0))); }); testMathyFunction(mathy2, [0x080000001, 0x0ffffffff, -Number.MIN_VALUE, 0x100000001, -0x080000001, 0x100000001, 0/0, -0x080000000, 1, -1/0, 0x080000000, 0x100000000, Math.PI, 0x07fffffff, 0, -0x07fffffff, -0, -0x0ffffffff, Number.MAX_VALUE, -0x100000000, 42, 1/0, Number.MIN_VALUE, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(429); void (makeScript(14)); +/*FRC*/count=426; tryItOut("testMathyFunction(mathy5, [0x080000001, Math.PI, 42, 0x07fffffff, 0x100000001, -0x100000000, -0, -0x080000001, -0x0ffffffff, 0x0ffffffff, -0x07fffffff, 0, -1/0, 0x100000000, -Number.MAX_VALUE, 1/0, -Number.MIN_VALUE, Number.MIN_VALUE, 0x100000001, Number.MAX_VALUE, 0x080000000, 0/0, 1, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(461); void (makeScript(14)); +/*FRC*/count=427; tryItOut("mathy0 = (function(x, y) { return Math.min(( + ( - Math.atan2(( - 0), Math.fround(( + Math.hypot((( ~ (y | 0)) >>> 0), x)))))), ( ! ( ~ ( ~ y)))); }); testMathyFunction(mathy0, [0x080000001, -1/0, 0x100000001, 42, -0x080000001, Number.MAX_VALUE, 1, Number.MIN_VALUE, Math.PI, 0x100000000, 0x07fffffff, -0x100000000, 1/0, -Number.MAX_VALUE, 0, 0/0, -0x07fffffff, 0x100000001, 0x0ffffffff, -0x0ffffffff, -0, 0x080000000, -0x080000000, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mti(607); void (makeScript(14)); +/*FRC*/count=428; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return mathy0((( ! (( + Math.sign(( + x))) | 0)) != (Math.asin(Math.fround((Math.round(( + (mathy1(x, (x | 0)) >>> 0))) || 0))) >>> 0)), (( + ((( ~ y) | 0) | 0)) | 0)); }); testMathyFunction(mathy5, [-1/0, 0x080000001, -Number.MAX_VALUE, -Number.MIN_VALUE, Number.MIN_VALUE, 0x0ffffffff, 1, 1/0, Math.PI, -0x080000000, 0x080000000, -0, 0/0, -0x07fffffff, 0x100000001, 0, 0x100000000, -0x080000001, 0x07fffffff, 0x100000001, -0x100000000, 42, -0x0ffffffff, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mta(-70467762,-917503999,-1383796125,-1418773490,-761651792,-678290004,1673521459,1046440627,-422136876,969904000,1159861268,2028421545,-413162841,-1193804829,-2132559798,212010827,-1636250455,791145042,1541306910,1918833179,-249158984,553960330,-1760723979,812884995,-1673209628,880538946,-1348226497,400418217,2051022973,182207003,-44625097,1583117437,-1922203821,1100378641,-41185445,-1699882736,1983468400,-559373428,-2285873,-235055420,-2044520810,-1708156053,359255194,-518500259,1428702440,2008138661,1356590779,1813285962,-632760967,202968034,34559894,770142954,1184973448,-191033171,-777904541,-1847296411,-193934715,231992467,-569241453,1962688502,344496852,-522205761,946197385,1049280392,-1102744550,1960040291,-1494016576,-260956187,53623344,1350507937,1684681004,181461703,-533336146,1847455938,241559400,-233750137,1817985613,156285610,-1296726097,-1859743412,-354350508,-264096700,-1188399155,128797198,1517660594,-2078153614,1212721671,706028308,-1557733475,489333766,-448195960,2141488427,847884802,-757143284,317775737,-1860770063,-1348165829,589845716,1453861491,1875852649,2121937505,228892694,1515011206,1735068041,-1299124460,-1343430020,-587155111,889762896,-571227099,266541332,-1408585332,-1265041688,1493880098,-174681445,600885457,561267532,-1795350422,1998769549,-2092507673,2003244084,1876512235,342949107,-602994716,-408081807,149982619,1172809019,-430145529,499297134,2059213695,-723380915,-229792091,592238628,-798791910,-425422385,-1023391347,1952101646,-80958530,18145558,-733966765,1219247865,96563943,-152813251,-693109900,999758912,1210251810,-225919337,382540354,-652501284,-2110500297,-393588518,677880539,-507326766,924894526,948528913,1609494024,-610736219,1796137354,-646039423,734027708,1014387786,381306889,188937392,-1883696223,1195469373,1467279783,-1429592681,-69913225,-428058797,-1927397147,1834536336,-1172300860,865242761,-1654670792,-1491362838,-1448792829,-169472500,-153371324,-1110483790,-1973025394,538769280,-1909149098,-1143165707,-1745852680,-1325431882,2088712989,1148821161,-711090505,-2074957768,-341139510,-161790359,578278262,-100437542,309565150,1979731799,1207751813,1753134509,1989498485,23441269,1965797769,-2142896392,-1406143487,1647420905,998467518,-1741288525,-2016533208,1847679945,409937641,1213403260,-1486577944,-924838918,-164393600,925601458,-511311416,211434925,1552461866,-1911432359,1136160525,939676148,1003033133,16600559,-1780448278,-88763083,-301706208,1804655879,-1525929089,-994953829,-474649934,1879755871,-507088185,-1794364951,205440542,-806843906,1711872413,1001365637,-1036515682,-371301293,-1489974392,-678801219,1423085129,-1614016252,526320022,-618643509,1000352304,534351518,-738712453,1306485676,1634641613,454862199,-1449735304,-1248522281,117332930,775803301,-1053688333,-1416447016,311478113,-511127954,-1984810321,553927965,-1002410723,-1847004397,1385311861,-830285699,-1201891506,46287518,-144681849,1589526829,-1442440334,232099483,1364337185,-1304954572,-928126176,886437221,-903392542,-1749541565,-1244367333,1233394676,-1263849434,1997023377,-1441789853,-933020856,-542726934,-629857171,1539601533,-647343555,-896776971,-401458343,1374077250,1207432883,1538672147,1076929654,-1826833112,-2062333681,841886197,1577455502,703500136,970611830,-1325636079,-1336466256,1515020031,-211001778,-2016870051,967723799,855668282,-837961229,-1214971382,-127473069,2074138967,396949439,1120291769,-277359812,1527268784,1633017114,2118190841,2112491877,678348066,-303270362,-1691055121,565964267,-769431336,699557890,-1767516119,-1448163613,703321529,-1712587560,-2115680444,-583861854,187240316,-401750012,1794869785,-780019019,458880098,-11656361,-459342897,1762855301,1419966433,-1589630674,-1176650936,1256710927,1362308968,-1003730366,1105545567,1525706252,952044595,-789286425,-1071037689,1768340281,1979169823,425455386,-154948343,-1891021970,2090496118,-716380545,-1949622885,949455202,515365606,707109298,-367362485,-1361035403,498760423,1882169300,-1055226151,813203250,255507229,-1756293531,1636943040,-1514517290,-581624185,1374493404,-780169732,1944822025,-1814184355,-207791869,1978151185,-1935567414,45493730,896637756,-1382348379,-926081133,502925009,1077184414,-709951019,-380193195,1685771515,-1311855006,835063003,-1490938312,-999560239,-1458597247,-1780916883,919771447,367485119,1174210790,678903300,1176315167,-1795947631,2026442348,83805795,423174751,460533884,654372623,-1000915874,-89735899,-1676030268,1896171639,-682972447,1402966989,1374569675,-657371833,-795531186,1103817353,1245838859,2063907462,-1349080776,-1138152637,164816426,-324584844,1662029438,-697035457,-648709807,-775990647,-2012208423,-70234603,1467046378,-1632220930,-578638302,-1075972983,-217230406,-1492105975,-1061717470,1636750290,-1119467105,441108408,-914109129,-1710478747,1741125363,-1318270997,741479647,-205030905,661173723,1279508170,2080910798,556817623,-850959235,1964386211,-646731586,98782354,-339719336,-798243850,1953604997,1434834250,-877242638,2121231549,246064961,-1768053851,-1554812783,-233088384,688863929,1846551387,1134863607,571374771,-378587965,-1182121107,-921375216,1007835318,-1384464455,405295181,-1598421624,-684301290,-2068054006,1879291908,207021658,-9005837,-628973352,1336049927,-293678614,2033297652,2102512273,1784110061,-2036072953,2116887212,-1558900167,-2132296275,551510760,1819476676,-1878610680,1404578088,-1535248747,383868260,1793566728,-122866600,1080702497,1309304108,1944019558,648259543,-1784586025,451249138,-632012586,-840530251,-1042426972,-1380773924,315224463,-983799914,976536184,-393207314,350914390,139880375,-920491067,-1557134818,-950763549,263698179,-1491971143,2018021452,337641958,-778840241,-1347302078,196120787,-467366783,-1888830622,602167785,253606607,2075432375,577882546,296853121,-883592938,1235012129,-535808842,184715494,-265474522,-202002471,827600431,1859951286,1902634959,76948417,-428478193,1758008707,-1200927333,1456877776,-738074122,-2026965006,-1535227225,-1551290325,-1250912088,-575303086,1906721524,-1754123434,-960896361,1504625600,1307839110,853060908,1770448918,-555821183,266390242,-1577782247,-1553593728,-1070645030,285534468,1008279900,-908522888,-243970161,1547100418,-1748570785,-1677174291,-1880429631,-593470252,591434989,-196198076,-697675289,-419432945,-773591387,501047363,-222587854,-1597541404,-814893357,-1693081048,-1625249861,-334612815,-1919328233,-1827015922,2137888663,546991742,-532188496,-1920825687,-1667809816,1495479667,-1229702090,-636571116,-1392402738,-2053966852,-1640197371,316150592,1728864971,887019803,181836781,628793296,-1500776917,-1029149043,930851837,-1518696264,459275928,-1950411558,996072413,-422285628,107816909,1638107277,2099625629,1509215608,-1327165883,-1656026593,274049651,1609478067,1620058356,-133096123,-284628917,-1391656114,129466414,-707349383,-802748885,-507830624,884667292,-1298131273,509668952,1167219631,-244024230,957913540); +/*FRC*/Random.twister.import_mti(150); void (makeScript(14)); +/*FRC*/count=429; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return Math.max(mathy1(((mathy0(mathy1(Math.PI, Math.round(( + (x & y)))), (y == x)) >>> 0) < Math.tanh(((Math.tan(Math.fround((x <= (y >>> 0)))) < mathy0((( + (y | 0)) | 0), x)) >>> 0))), mathy1(Number.MAX_VALUE, ((Math.fround(( ! Math.fround((-0x0ffffffff , y)))) > 0) << (((-0 >>> 0) ** (Math.cbrt((x | 0)) >>> 0)) >>> 0)))), Math.fround(mathy0((Math.atan(( + Math.sqrt(((x | 0) + 0x07fffffff)))) || (mathy1((Math.acos(y) | 0), y) | 0)), (mathy0(( + mathy0(( + Math.fround((Math.fround(Math.sign(Math.fround(x))) * Math.fround(-Number.MIN_VALUE)))), ( + x))), (((x | 0) ? y : ( + (y * ( + y)))) | 0)) <= mathy0((( ~ (Math.fround(Math.hypot(0x100000001, (((y | 0) >= (-Number.MIN_VALUE | 0)) | 0))) | 0)) | 0), (Math.min(y, (mathy1(y, y) >>> 0)) >>> 0)))))); }); testMathyFunction(mathy2, [0x100000001, 0x080000001, 0x100000000, -1/0, 0/0, -0x100000000, -0x080000001, 1/0, 0x0ffffffff, 1, 0x080000000, -0x07fffffff, 42, -Number.MAX_VALUE, -0, 0x100000001, -0x0ffffffff, Number.MIN_VALUE, -Number.MIN_VALUE, -0x080000000, 0, Math.PI, Number.MAX_VALUE, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mta(-459697536,-726009454,1924624648,-1390792058,-1854950413,1959692930,-148746767,-467537141,259544077,1937723073,2108317004,2050116034,-2069256281,170926638,-1537373700,966950835,-340074902,608033573,1283457958,1535352610,-2030668550,1272673396,277753943,-2043523413,-1578257228,-643289046,1280314101,2041188035,599483739,1420716798,1362546664,1594455380,-1739761147,445333229,1461463856,-1298176881,-1252492381,-2128524981,-913150839,1864605588,668469101,1843155862,-439933381,379326394,-2082468390,2082612223,1125933446,1834971869,1139788131,-355999597,-963085693,1461781697,-154931773,980412700,-1349131440,-308645156,1232921907,357746695,-2006628997,592148435,-948473509,-2036400660,1028334455,-162689330,1525356547,-630365968,-584849509,-320626015,-1457557950,-1836114658,1263969706,-1264125987,118308965,191108590,1601602799,899952929,1259002962,1848419042,832757842,136400827,309739983,1128166718,1039894443,-1909471520,-2097721452,-571242700,2038010702,412971545,489519915,-1764130863,-264523986,1940091145,-775798562,-1877284542,-544627061,-1123705564,2000129469,670942513,-1274368615,2086791481,-885729602,-319074841,118373319,193037829,-1834346840,-843305461,-1307280442,-1558456933,1336404797,-551079165,-109281942,-1412359822,-1401663855,1878165262,1760735722,509514195,856293718,924455790,1879251657,1254136491,475690436,233036315,-440164568,-1497078875,-1718965264,-1147703715,-2051791711,-305465535,1399426767,-349377685,-1584709068,-607904684,-619784681,-1772876113,189447496,956331550,-1493204604,-605953419,1161159224,-851560068,1987801527,-327611832,-105528185,-2020061894,356284220,-1764548749,1563135386,1331735186,-1292055814,-1802132878,2098556399,1766379443,-322245823,-248930171,-1155266065,-730626852,382838303,-1781567740,255836961,-1370704505,-864522208,1872852608,-1499536189,628369747,275119097,1795735973,915851170,-54066112,-2099107956,-881173499,641597844,-548654151,1313910198,1063367276,-634096414,-1275041679,-973992847,-636246660,-1140830863,-1971111620,1476335019,882222315,2028318629,124805089,917960994,793854572,453665135,-1017023533,942383615,-63277195,-1198306543,-687515542,-1328511948,-570771370,-1712770286,-1466662904,-1128204107,85368368,-1031106063,-127606494,1298852499,111037767,514630108,2025441609,147616767,-1823341466,1166672051,1855451625,1032111237,-872626043,-958476986,546744983,-2136276550,1322547425,1712406582,400322322,-1324602444,-2091140633,1285595729,-623425570,99181797,1136187788,1583401195,-1779545288,-1094454851,-2136028925,-669692108,1299323708,121068985,883429895,-1964083591,2070122466,-267261409,-700559682,164000253,1558196681,-2118986176,-1899255113,1976844608,-888789140,-1096250092,-108159772,911128828,1531870344,1121086195,-448798689,-821723834,-1841491642,-2011610304,1408310710,136582822,410909330,-1939771962,-1676617318,1231972852,-26555181,-1658521425,-367113799,-1896498174,1745681888,-1530732020,187850903,-201440832,400613695,2004277506,-594452176,-1329469434,-1770412382,1959243532,-2121149525,-704756265,-1493982037,-1359569535,-2130777516,161316647,1505382768,139150340,1251528301,856725861,-1726955594,-832713739,1535076785,1479011101,-1254983786,-128752268,-527030822,-1715979179,1940185741,-1501122601,885358051,768383638,-1695237082,-177313993,-908812241,-267481958,678030741,-895185082,-1082607094,-1928275718,-572428268,-826572614,1190576114,-1951769337,281042263,-1961400556,-713409498,-1694661445,-1440885556,1954913440,1350542707,-1098569619,618626103,2047754073,1833890271,778782986,-910193149,1594636795,-651551934,662324488,1134042133,1573206764,309656712,-1309646008,935669279,1231337952,-241292761,1214713147,658613101,1563627618,1252180470,-1389484175,2045631376,540875286,21868777,-1279540980,323565209,593261147,-773461282,-1983431597,1435392737,1116385288,-307919060,-1356064257,-904523766,-626917843,-739216359,1181576486,-1103948897,1246199724,-1685149933,359309381,1164416482,-404968724,-1963996718,-120051816,-9699019,626279438,1985925016,-472656962,1653286308,-832032458,-1780527079,-1415557645,-701013020,-918764514,-1298670172,-1513573358,1589950281,210004499,1767091062,1734234468,-155132053,-1870408298,477141867,1440245516,1027210999,1778097508,-1428103592,1230146684,1595267956,478825328,1343345485,-862661651,-684060499,-2040634344,-201161194,1673776152,530345545,-1379890492,895870019,126528800,73295099,-787553291,-1511754059,-2136767626,429257826,1592688117,730306986,1438971105,1820013465,-616932319,-1808231552,1435139221,2002774494,718593093,234872779,1071853376,1068859788,-847748752,-993140609,988938914,561884606,-397580526,1608716922,-181211415,1235478208,1309199669,1295075174,651313649,1842357639,958017411,-229531673,-1479564169,-771641436,-1007627093,-1156827092,853832569,758208386,1985553582,-1727580724,899459733,-1257953861,1197253003,-1352594667,-282516797,-225083851,1796719961,207759220,112686578,-1095821475,-951785899,-642104617,-195048420,-1649016853,-1045815378,2034272253,-1293769179,-421984520,1769616169,2075911058,1943096761,547230402,317237262,280250275,880785020,-893882310,-1700220043,842306781,-211025564,1571733665,334749655,1833699061,48831890,235354435,1540829774,1703494532,-1600318105,-50950895,-2121514778,811977681,-33716690,798177951,468062275,-130411085,-291125956,800659159,-3014497,-1837278854,1735093188,82007045,1164687251,419551360,-934064719,-1792561621,-2084414163,96728983,595350354,-1850657272,929364667,180611599,820368297,1318676529,1455948292,588900530,-620009637,1508740967,2120884270,-1257198587,-265673915,2124076441,-1571759713,1418141211,1844593031,1111361455,-675590807,-1903616936,-930562375,889144539,-2052324625,-760843746,-921288784,-230464121,1364688546,-832513292,-1351345605,228350280,1936728146,-449444163,74633630,1371315507,-655604490,1642001157,230905118,929192585,-1888444335,-929981303,-436738297,776595337,-2024531910,-1128001444,-1317331345,273991211,2135454846,2006040229,790676190,535725256,2055165320,-49130604,-269948485,-1295902829,938917259,1085374499,-1318277255,1421156432,595483350,1269638376,1700927830,1151954042,649562243,127383639,1882540910,-1063881933,-1607651481,678473046,1875105775,1128235212,1850623178,1285304425,402041617,-1294541722,-700371776,1833305139,2098796787,-336295694,-339555716,2080023679,-1074196167,-1284245627,977504210,-1770925082,-1703564808,606049691,-1636129523,-1862955484,1362933784,-1786544264,-771596652,-204154031,1428857565,-671149132,1428568665,-1231832724,183839571,1041127957,458856082,-1252844327,541219930,410962027,-592225863,19844169,1431355318,1432303927,-1607822772,797310936,-1499975472,-835645646,2079256362,720481832,-216050426,1411647655,790277129,-1880734667,-1797223826,-832441611,-2045069084,-936854655,-2001146204,-844616042,-420596661,-52640873,1916415696,1758634210,-1568405583,538446863,-1400929110,1557903630,1169713939,1574425838,-2079924353,-1640065831,505801661,-1206272677,1159313536,1822602421); +/*FRC*/Random.twister.import_mti(141); void (makeScript(14)); +/*FRC*/count=430; tryItOut("testMathyFunction(mathy2, [-0x080000001, 0x07fffffff, 0x0ffffffff, -0x0ffffffff, Math.PI, -1/0, -0x07fffffff, Number.MIN_VALUE, 0x080000001, 1/0, 0x080000000, -Number.MIN_VALUE, 0x100000001, -0x080000000, 42, -Number.MAX_VALUE, 0, 0x100000001, Number.MAX_VALUE, -0, -0x100000000, 1, 0x100000000, 0/0]); "); +/*FRC*/Random.twister.import_mti(173); void (makeScript(14)); +/*FRC*/count=431; tryItOut("\"use strict\"; testMathyFunction(mathy5, [-Number.MAX_VALUE, 0x080000001, -0, 0x100000001, -0x0ffffffff, 1, 0x0ffffffff, Number.MAX_VALUE, 0x100000001, -1/0, 1/0, -0x080000001, 42, Number.MIN_VALUE, -0x100000000, 0x080000000, 0, Math.PI, -0x07fffffff, -0x080000000, -Number.MIN_VALUE, 0x100000000, 0/0, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(205); void (makeScript(14)); +/*FRC*/count=432; tryItOut("\"use strict\"; mathy4 = (function(x, y) { \"use strict\"; return (((Math.tan((Math.abs(((Math.atan2((Math.log2(Math.sin(y)) >>> 0), (x | 0)) | 0) >>> 0)) >>> 0)) | 0) >> Math.min(( + Math.tan(( + (Math.exp((Math.asin((y == 0x0ffffffff)) | 0)) | 0)))), ( + ( + (( + y) - ( + y)))))) | 0); }); testMathyFunction(mathy4, [-0x07fffffff, -0x100000000, -0x080000001, 0x080000000, 42, -0x080000000, 0x07fffffff, 0/0, -Number.MIN_VALUE, -0x0ffffffff, 0x100000001, Number.MAX_VALUE, -0, Number.MIN_VALUE, 0x100000000, 1/0, -1/0, 0x0ffffffff, 0, Math.PI, 1, 0x100000001, -Number.MAX_VALUE, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(400); void (makeScript(14)); +/*FRC*/count=433; tryItOut("\"use strict\"; t2 + '';"); +/*FRC*/Random.twister.import_mti(409); void (makeScript(14)); +/*FRC*/count=434; tryItOut("x.eval(\"/* no regression tests found */\");Object.defineProperty(this, \"v1\", { configurable: false, enumerable: false, get: function() { return o2.b2.byteLength; } });"); +/*FRC*/Random.twister.import_mti(470); void (makeScript(14)); +/*FRC*/count=435; tryItOut("mathy0 = (function(x, y) { return ((Math.min((Math.sign(Math.fround(Math.log10((Math.log2((y | 0)) | 0)))) | 0), (Math.tanh((( + (( + ((( - (y < (x | 0))) | 0) + ( + y))) | 0)) | 0)) | 0)) | 0) << Math.sin((( + (y >>> 0)) >>> 0))); }); "); +/*FRC*/Random.twister.import_mti(621); void (makeScript(14)); +/*FRC*/count=436; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mta(1104897379,748637285,2062953178,176502023,-295708991,-149689678,-1673027452,-195017060,-1387739020,20316646,44868973,1445200508,-2116685464,685557340,-459005256,-577763289,-1795862729,-747442374,1684154705,1299445576,685571420,-1214387963,-138300915,1777137113,-1635416078,1492062674,2010912794,1260771033,-1856303789,444535949,45477160,-478725773,1296702053,504545037,893527843,-2064110459,1996037999,317236312,-2063289857,-504138192,982257343,-1386457552,-169799552,-961224520,1050928119,-707658529,840103514,2035633088,-718551189,1218849723,339817543,-887917289,646715164,1679539217,1448291244,-279025080,-2095737985,-1455053794,34962188,538688263,1903946283,885071872,1720190918,-410066167,1081783949,-177185152,-511813428,257459567,751750411,-986298446,2142062112,1526878219,903332134,1263432838,-1404464432,1046707818,-819182398,-160123627,-1298071083,1877053607,-1277008923,-526509874,66369397,68161625,2012748570,-1259371498,6399992,341594215,-1750599520,1533117637,1902657107,528866004,1120837294,-970346445,270247587,-1269074939,-1443906827,1476821320,-1093285084,1542474609,1516616233,715492985,-497899964,-1425681717,-1420707391,888700004,-1967432259,694159400,940717318,-1271496692,1628948578,1251906936,-1520488039,-43030715,1684315569,1221754377,-705834173,243083136,-1309367102,2103253680,2060409711,915611146,-1680466882,-1809247986,-1524763404,-703465583,-661679626,2144131049,1678727651,-1254996451,1135339939,1943782382,1860610004,-186761013,215285028,1815590076,-2090205376,1304048578,963745910,-1739956852,-886122832,171621159,-250728178,2104002069,-758071483,-537302604,1929737497,973094827,31978961,-2099241090,-385500292,-1982181892,-435431222,-1263534266,-1431326371,1917668535,580328148,-1319860576,-854496560,141720794,994872105,-1649317457,2036627472,1199268323,-1043672002,1716681506,-711521582,-1431053894,-2024850782,-320466445,98393734,1567346953,-1983837488,-1217424503,-417918596,1703613418,-33792870,-1774965121,-792534042,552952990,1888926203,-263141936,1297058971,1316832968,-1589962662,-1636259013,-2034871517,-565905742,306616252,-452769523,1945920606,-2066015325,1876136034,430188095,18184499,1732402889,1829679296,517327095,-1308393565,-2074924356,-1330235308,-62323224,-244294436,-1301011159,-2041625082,1865235176,1612888798,30435961,1960734492,-338196473,82561794,-423906154,46026552,1093832395,1664915307,-1174269333,-121806813,1395090781,1907366625,-1639683650,2081142824,842927061,-1798721211,-666065988,1632004357,689119002,169589035,-616006816,-1346112071,-427187911,1999958774,1331663633,-1676882451,1101801637,1125707431,-1382964396,-547658654,2017887693,1940328906,-561924126,1410992174,-1081901370,-264817053,747948689,2028318698,65050610,74285035,1825594620,-563779618,-204228258,1708263568,-1732955887,384269599,325790944,-317194129,1187103195,-159874930,1171206953,-1754183805,1596681059,-1031585895,213714883,1442901189,1296200686,1017124032,-580631044,-1429232287,1089460537,882642746,102138548,214270514,-254796312,-1783723531,-271255274,1435001720,-787585687,-186450862,-1799239638,-946132276,-659930567,-1867728874,-481792259,-171486845,-12836411,-653347085,-675162631,-1061061986,-80736993,-139776466,1886276237,-353059558,-1547356727,143834696,-1720115583,-1033583750,161254056,-1702225225,958736989,905111553,1384776059,674573183,815008908,-284434402,-894961848,-1664505082,1725395799,988773057,-912216651,1370061480,-2051107940,-814276963,-738741143,457198630,391381885,-1450498119,1630098562,2012514660,584391895,-1488886783,1814823896,-820785545,149133063,1991332821,-1923226107,-104782716,1139735910,-782751208,1962684952,267710082,1842152739,-671924477,-1152437046,-1386867505,-1821983429,-104062021,-1330332428,-1664846493,-1124276588,-1185871657,-2078643811,-876763949,-1426447983,769226252,565550218,-24269485,-759033263,-78896224,535618745,-1570964132,1215036611,-1231365121,-1762418302,-1822026888,-1528593862,-1720555604,916814820,-1910693423,1916928124,43929916,1238548303,658069528,-1072927998,120325454,-403202737,351395088,1804976767,1847637751,1415861094,1049849500,-1029629508,-553625217,-1701751410,147428574,1508460191,-1114345457,890911587,-1752141742,-1918042814,-1504665530,-397476494,95397439,367880308,-2133265346,1639459032,-883571285,-1125085988,-1632306399,766299723,1577790289,2057383552,-597892287,1883575579,-1381437273,-1782133911,-428268661,825275527,-114959066,-1237871575,-228657126,1028953119,-42739127,349872105,1579476741,1906213479,163803461,-818711482,1060086872,1445628227,188646704,272010698,1589874711,-1793217581,-242671098,623350920,-1164638766,-1404419591,-1013192002,-107088775,725334463,-363448452,-1182508781,-872801321,239241499,-1778488758,1129567457,1920595648,-1832156803,-1952798205,-255156466,850835785,838731563,2095687196,-510324803,-1900111008,-510499396,-1738719889,-303653955,129004027,1625591783,-132870963,-1259921537,420704613,1842371905,-1737986060,-1232103812,-238421716,-316085566,-1849814685,266598940,875145030,-939283747,1748122882,-1203663852,270819861,-32226435,2074025180,647715720,1317204548,-1199553634,217944793,-301819136,1114398830,865767210,-223281851,1250042895,-85906522,972177845,349972573,2126064625,-825625228,-497686783,-333572332,-1493881356,1933548917,-1576769720,2021971790,-1158867485,375897458,63712204,-1386605047,535543968,1345918568,-1789221359,781262535,-1641646019,-2033226198,1475604583,3797531,-1865137637,-679823922,-217680087,398726594,-857165403,507684371,-1257132459,195632941,-2053741463,-304602289,378914811,495867365,480233156,-92671132,1763300961,1178069561,-746240506,987219279,467488907,192022974,-1977919502,-1857270181,521479129,-1314584158,-252594045,242468700,-1107418693,-837599737,-604112628,-1462905387,303287183,618961971,1889458140,-997889547,-1960503501,70974016,-999992122,-570315939,-1666825632,731850594,1861616802,784261110,461710466,-1553100487,-1005118246,763304878,-967315503,1821823084,-1153975722,562813599,329125759,-642538948,-1375439949,674611418,192136362,1716233231,117673635,-1779406678,1316533733,1161870057,-1843332109,1319892578,874409795,819921896,399944653,2142335280,1432613502,953404647,-762597944,1157683796,-1574675719,-965311825,2093813757,1581784861,-2058422131,-383446947,1476985972,1067790484,1152066176,-1768134854,-1581070238,1625531120,-357374312,1756909322,-1699162813,-1814921300,355293957,-883043818,-1467407948,1158101582,-1123276712,1627242123,-1079353716,1157645018,-1330977231,-2085492072,-236765489,1388281617,-588944475,-1872215013,429112825,763648661,1414574347,82089014,1012350355,2104274591,863819007,1130633481,-673591640,-426773508,1770774786,-2041810427,-955067302,-136039112,-886934842,-727897056,1890586717,-502474988,-1902450119,-271577915,-225724064,-104471722,1439791273,1126135468,1978939908,-2004141708,1136726732,-438325753,1414186231,1196899361,-1504514136,2075309478,281191707,-2064252981,-1637261822,1086381896); +/*FRC*/Random.twister.import_mti(6); void (makeScript(14)); +/*FRC*/count=437; tryItOut("\"use asm\"; testMathyFunction(mathy1, [(new String('')), [0], undefined, [], null, 1, (new Boolean(true)), objectEmulatingUndefined(), ({toString:function(){return '0';}}), 0.1, '\\0', 0, '/0/', false, (new Boolean(false)), NaN, '', ({valueOf:function(){return 0;}}), /0/, ({valueOf:function(){return '0';}}), (function(){return 0;}), true, -0, '0', (new Number(-0)), (new Number(0))]); "); +/*FRC*/Random.twister.import_mti(40); void (makeScript(14)); +/*FRC*/count=438; tryItOut("t2 = t2.subarray(2);"); +/*FRC*/Random.twister.import_mti(55); void (makeScript(14)); +/*FRC*/count=439; tryItOut("mathy0 = (function(x, y) { return ( ! (Math.tan((( + Math.atan2(( + ( ~ 0x080000001)), ( + ( + x)))) | 0)) | 0)); }); testMathyFunction(mathy0, [-0x07fffffff, -0x0ffffffff, -1/0, 0x100000001, Number.MIN_VALUE, 0x080000000, 0x0ffffffff, 0/0, 42, 0, 0x080000001, 0x100000001, -Number.MIN_VALUE, Math.PI, -0x080000001, 0x07fffffff, 0x100000000, Number.MAX_VALUE, -Number.MAX_VALUE, -0x080000000, 1, -0, -0x100000000, 1/0]); "); +/*FRC*/Random.twister.import_mti(149); void (makeScript(14)); +/*FRC*/count=440; tryItOut("\"use strict\"; /*MXX1*/o1 = g1.g2.Map.prototype.entries;"); +/*FRC*/Random.twister.import_mti(166); void (makeScript(14)); +/*FRC*/count=441; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return (( - (( + ( ! ( + (y & y)))) ? ( + (( + Math.imul(Math.log2(((x >>> 0) >= y)), Math.min(( + y), ( + y)))) >= ( + ((a | 0) + (( ! -0x0ffffffff) >>> 0))))) : Math.log(( + Math.log(y))))) < Math.fround(Math.hypot(Math.acosh((( - (( ~ ( + (( ! (x >>> 0)) >>> 0))) | 0)) >>> 0)), (( ! y) | 0)))); }); testMathyFunction(mathy1, [({toString:function(){return '0';}}), NaN, '', /0/, (new Number(0)), (new Boolean(true)), '0', 1, (new Number(-0)), '/0/', null, (new String('')), ({valueOf:function(){return '0';}}), 0.1, undefined, ({valueOf:function(){return 0;}}), -0, (function(){return 0;}), [], 0, '\\0', [0], true, false, objectEmulatingUndefined(), (new Boolean(false))]); "); +/*FRC*/Random.twister.import_mti(500); void (makeScript(14)); +/*FRC*/count=442; tryItOut("L: ;"); +/*FRC*/Random.twister.import_mti(526); void (makeScript(14)); +/*FRC*/count=443; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var ff = foreign.ff;\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n return +(((abs((~((0x528011f4)+((((0xbeb96706))|0) >= (((0xfc4b4a03) / (0x0)) | (-(0xfb328326)))))))|0) == (~~(d1))));\n }\n return f; })(this, {ff: XPCNativeWrapper}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mta(963674820,-819597961,-1591820733,1398047222,1867737776,268908359,195993897,1600591231,-1884785483,-1485748687,2100856957,198475140,1146679012,1821475147,1658658591,586888514,1285481237,1370268069,-1963738531,-671771632,2069606436,-908865434,128515407,-1228498198,-1483893954,900498710,694432249,-755572073,-1504785319,-1819183127,589923941,258417379,-1531488752,-1302879131,-409141119,65089749,-2016753332,2048429468,-391870857,698887229,287202019,437520295,-1689322351,1925078619,-1426898987,886646380,-1530738156,85116182,210918446,2113978430,759110455,1554379154,-1624454767,-483770613,1604126758,1623455092,1149677594,-1088487685,-224759424,-2027020734,1424122436,-1950072707,-1506651262,389509273,2027179822,1126540108,739512109,-974261675,-663091073,1176822437,-1604996985,1683147618,-345059529,-193909143,-1288722399,-2124214379,-1861388512,1650218877,-1770213438,974427342,1713942805,-616644439,911912698,605539629,1246680163,-714443283,-1112046037,-1779071891,1920408727,-162570351,268115825,-1313665716,1835457800,570627239,-1797185761,18340864,1916921527,-1434760249,-10909110,833358242,1635931308,666670297,-788263841,-801133829,-1610232490,-179517344,310898221,-812884859,550274377,1800844474,775766786,29130721,1995656486,-198189602,214206073,1125114365,1229804700,-1526434854,-1329745057,2140333156,-1283171632,536397200,1861227700,571485606,914694882,-412950584,-489414293,1869236456,1569732748,1685784174,309511829,1501910856,-1915138228,1575967248,-1787409561,-979115142,1268908623,-621861910,1622408874,-559886066,-39962669,723064824,1041191401,509910222,1204384768,-335950087,-498922747,-1627863916,-1803524331,989489243,28154903,-517662826,352061889,-129956046,-789506708,110962343,1729835616,871057174,2095772298,1445288067,-758063524,-560568591,2093187713,1546151394,761340556,-1350205980,-1132659584,464427301,-790722382,105221571,555827041,-1524478710,-1570972693,-1724289498,444450559,-1538852082,1103157324,2102143734,-1691918247,164285846,2100254886,1118002890,1203969519,-1355296095,-1825265768,1794735999,-325873215,-1195346671,-113874104,-1524934262,185432341,1853519304,-1201735339,-841826995,-1370682483,181429747,-351339973,-1284121615,21859415,-1887251838,-1733594872,288608108,1182715982,-2076870823,-2139969460,-80531543,1300081091,1256138707,1324327880,-856748104,-594684274,-1277911300,1079252204,-45644861,-954806458,-1868416310,2014329605,-502157469,-352478504,709826787,-952071916,893290453,395633784,-110550714,-1870892986,40645192,1835328248,-140916537,627674420,-628832456,-302778207,-128074599,-371616822,-1289066843,1236255957,-536492412,1113240584,1156251800,613721717,777382643,1934638632,-2083638031,-306585387,1894528224,1348266588,298694007,-509756818,1416168395,-1338372919,1967257863,596947645,1979096430,1008276326,-2032107247,681489061,-1653437410,1753112226,-1315334789,-101046387,486439171,1828820827,1435878972,624953634,-1717910740,1420472162,617341976,-791187330,189816190,421480189,-1658045048,1255559343,2032978928,1127439079,-838403160,-1264760963,1994596871,878715947,1324518993,-1443340207,-679832166,193378474,-1133113288,-2041227959,-1324786756,1308009688,-1829057329,1673439250,792196435,1794889188,-1823994609,-539141470,1016926218,-695100205,1294364304,-2128365823,1278719483,-2084649132,597980248,-736134400,1719462487,-331667409,-2069211090,-466553807,-546725213,-2009113079,302228093,-2016644405,251399233,-639530649,-924216981,-723212346,133100144,1204339852,813344040,-446616020,1233999909,2116903205,-2058150482,-945484640,-739800340,-8753157,917571114,-1632526371,245462261,-880003724,-671768762,1272058030,1719149549,-2007849321,1677009665,-1919405922,1873180654,636954146,-144093393,-1747582209,-140112089,891865072,-342001738,-625345552,-1977274480,945454537,1512586623,1406480312,-285003030,1433258541,-853826929,-1452529945,-1565907842,-490370258,-323630700,1768553831,2134256478,-1257038123,-1368583491,876147994,-1013573445,492439120,322825739,-463161296,-1639587008,2112450449,-689944128,1867554050,31124679,1982689802,-827648754,-191694659,-489193315,172596006,-930624119,1395406345,61718127,1577442665,1702986717,1568500218,-1622646980,2083264250,1384500276,-1795004113,-819762687,-222842104,-794988685,1983984331,-608608150,1838350712,-1430765627,-1711566983,1692269355,-473501263,-874167298,-1123917904,-1564612096,2087626895,1447615898,-633441351,-330537439,-1000933624,1477329772,1652602842,99452432,1247580429,-1402534494,92343010,-601239503,1523945685,-995052939,-1143522840,2024806974,1253578799,-240491205,1018279831,-336578917,946517307,-237432024,2012079410,-1728340457,1088230249,-946334443,1532063350,2106877187,824639609,1885667295,3100886,330277012,-1974919023,-1860109258,1397176156,-523354481,-782228713,-947297532,-1170103209,699440973,-1133747687,1035246365,-1611068997,-1592500535,373262234,1979130274,383150149,-2094060660,684100526,1760973113,-1667887824,592965691,-1695198219,-1670778951,-73883507,-2135854054,791303286,-1432518199,-1922023481,-1940081076,-747195491,-882478183,-1974057303,908337392,-37372390,-239871634,657179946,-556212662,-769894766,1348633408,1079314681,-1106045232,2040239435,-513460624,-1120711166,-721151217,-1532309941,94086026,115556202,52853926,-245708014,-257979958,673933420,876885735,1047668670,577939291,-95213899,1944908598,-1359214043,-1153740430,1395831714,-26881437,-218226066,185298785,-2048249647,-60619127,1042848987,-976518551,-763835955,-338278545,-220067890,1398216587,-678665673,-2099461098,1925750000,-1735130227,-287092259,1300019589,-214302182,1494817938,-856660028,497190696,-1970152407,1025407179,-758935227,243995475,1842907082,1356297338,-1445208211,-1400453050,-708628639,-464975856,-784934257,117778786,1579571002,266080186,-1209536820,-287377603,-160666955,1572441159,237684955,-1584632521,-710143703,-1706272208,867400166,-616551810,-1812645931,-369990032,1473764064,-365637532,1153183658,1039087100,2025284727,-998615988,19188987,1143148710,725033838,-1983754870,1684030789,-522662791,-476038403,-459008341,-1884608005,965863053,1750034247,1868735197,1373961499,498473123,382661889,1500500045,-399693858,1633937809,-484870847,-1592299405,24464939,92450109,-1785362842,-1030156029,1095102590,209309286,440154070,1496073674,-196087812,-118723920,-2123686899,1757092344,710536199,1720474868,-1688267409,-1053224877,-2064474791,2062695354,-2029728395,-1233052684,-1909041997,2012211531,-1774172988,-1429851757,-856869936,-1251658019,-2108756489,-56415768,-479534756,1394523453,1333358994,-1473773134,1495979093,-596609704,61384412,-250717156,1763046046,1948525085,1517108422,564493426,-1145031561,669632136,-1719453774,1032632132,510892353,955011225,-184104660,-1652773365,1669572542,1262988524,566484156,-1947045960,-1400922408,-2053030336,-97068228,1466506362,-1359109249,-132446689,-818242313,283845397,1900440881,-1372903324,-547049261,-318289187,-851799392,-1794450248,-1943271035,-655444374); +/*FRC*/Random.twister.import_mti(11); void (makeScript(14)); +/*FRC*/count=444; tryItOut("true;"); +/*FRC*/Random.twister.import_mti(32); void (makeScript(14)); +/*FRC*/count=445; tryItOut("mathy1 = (function(x, y) { return Math.fround(( + Math.fround(Math.fround(( - ( + Math.log((( + Math.acos(( + ((((y > ( ~ (y | 0))) | 0) * (Math.min((-Number.MIN_VALUE >>> 0), x) | 0)) | 0)))) | 0)))))))); }); "); +/*FRC*/Random.twister.import_mti(152); void (makeScript(14)); +/*FRC*/count=446; tryItOut("\"use strict\"; \"use asm\"; v1 = Object.prototype.isPrototypeOf.call(t1, b1);"); +/*FRC*/Random.twister.import_mti(167); void (makeScript(14)); +/*FRC*/count=447; tryItOut("m0.delete(a2);"); +/*FRC*/Random.twister.import_mti(180); void (makeScript(14)); +/*FRC*/count=448; tryItOut("\"use strict\"; testMathyFunction(mathy4, [0x07fffffff, -Number.MAX_VALUE, Number.MIN_VALUE, 0x100000000, 0/0, 1/0, -0x100000000, 0x100000001, -Number.MIN_VALUE, 42, 1, -0x080000000, -0, 0x080000000, -0x080000001, 0, 0x080000001, Math.PI, -0x0ffffffff, 0x100000001, Number.MAX_VALUE, -1/0, -0x07fffffff, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(212); void (makeScript(14)); +/*FRC*/count=449; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return (( ! Math.tan((Math.max(Math.sign(mathy1(Math.atan2(x, -0), x)), (((Math.max(Number.MAX_VALUE, 0x0ffffffff) | 0) * x) && y)) | 0))) >>> 0); }); testMathyFunction(mathy4, [-0, -0x100000000, 0, 0x0ffffffff, -1/0, 0x100000001, -0x07fffffff, Number.MAX_VALUE, 1/0, Math.PI, 0x080000001, Number.MIN_VALUE, 0x07fffffff, -Number.MIN_VALUE, -0x080000001, -0x080000000, 0x100000000, 42, -Number.MAX_VALUE, 0x100000001, 1, -0x0ffffffff, 0/0, 0x080000000]); "); +/*FRC*/Random.twister.import_mti(378); void (makeScript(14)); +/*FRC*/count=450; tryItOut("let vngfkd, x, \"-2\" = let (x = new XPCSafeJSObjectWrapper([z1]), e = ( /x/g ).call( '' , new RegExp(\"\\\\cQ(?:\\\\B)|(?!(?![\\\\W\\\\w]|[\\\\x48-\\ufe2d]){3})\\\\S\", \"gim\"), \"\" ), b = x, cphygs, ksyooe, a, x, ushpis, d, x\u0009) /* Comment */\u0009allocationMarker(), w = (/*UUV2*/(x.isInteger = x.blink)), x, eval = let (c = (new Function(\"\"))) new q => q( \"\" , [z1,,]), wabytg, d = new (this.__defineGetter__(\"x\", function shapeyConstructor(tffeoi){Object.freeze(this);this[-6] = x;this[new String(\"19\")] = function x (y)\"\\u4071\";if (\"\\uB92B\") this[new String(\"19\")] = \"\\uE541\";this[-6] = -24;return this; }))(false);Array.prototype.pop.call(a1);"); +/*FRC*/Random.twister.import_mta(518637698,262316431,834941259,1206702961,75312430,-1085313969,-1842160804,-271616838,413579152,-229316735,1202224535,990462673,1885763508,1421942163,-541431352,-320318191,-285497960,-368266756,1061551601,411777281,-1300538262,146017861,-1820700879,2045051487,-1296352524,-1650204778,1216947356,1923874680,-618488806,-1194845148,643691706,61169212,1257575591,-1421973022,-1651522111,875990645,934737103,-1156409883,636741095,92565117,21460818,-1132569769,-46503877,-192154364,369669018,-206499912,-902347099,1020055883,-619740903,-1664621312,-327291,-1595927230,1063004328,-1657514018,1544935749,-1176658136,109870774,216265949,-1283611863,348877515,1750560505,-104737875,-1627469264,-2021339081,1786909289,-1411747949,78419765,303896320,-1574494539,-2023880622,443009474,-37138523,102526118,-1644319394,506576751,1859417159,316367214,-706093455,-299685721,762747245,-1400595408,-1472778468,1241179605,-1370620602,758516104,-986820121,1778819481,1402962796,-499242195,-464602680,1091879060,-403952081,-84379519,1252556130,819079569,45730473,617539270,-1055837256,-1802556099,58253680,-1058760165,-226464398,1493030500,-1614040119,-806859003,-432090371,935437276,-523628075,1083058867,-1843362418,942788702,-501477083,520916832,-296354152,826146294,-1809459215,965538294,666901092,-394310649,1146833644,-1417348051,1379702758,1030582431,-2052291704,1200364476,1635386989,1923551889,221557370,1932756462,534771067,-2023807903,116676592,1186585530,768492913,-848263536,1007914271,-348375455,-1380088032,1877072953,-128208030,-886336199,-168612111,-1657876484,-1873433454,35596870,1753497886,-384143340,-447560698,1837566019,1781975805,-1427398840,-99276979,-1196553292,-679015989,-1709398999,705800586,1846483954,-1771170587,-483397147,412005732,1045944150,-12172780,-1252032538,2054092652,-1908693442,-515502185,1026333164,-686531941,-831057415,2141534003,-423695237,-1029311251,-318818934,-714315224,-1617566604,858342046,-2047584053,-902255777,1887856298,-1681209105,-809406081,868794382,1287354582,-1172360066,-1928348371,492842971,1297708923,1979628415,1836373798,996626717,1955544457,431302843,-543165763,1170103327,2046621508,-247828986,1649880102,-1906093386,911847708,1377983469,1473090657,1856467159,-1067592574,774300486,748468015,-574490471,-1956112517,-549294416,-769619577,1949852929,-1075479062,1926521572,514919893,-1283459893,-89111224,-1829230535,-1178334471,2101180618,1188983875,181355887,1129229606,2077650050,-768504939,427768854,676794580,1368345940,229536153,1573606750,1316611261,2108527656,-1172041677,681351612,-1259753411,-399038507,-1738962591,-1095425555,1347433682,-1376004043,-777980124,1987733124,-949658869,-535306553,32777931,1254777876,-873761432,-1049939954,-256791536,-2090227133,-1499046303,1719647302,-88954637,-1186087259,870755087,-152155019,1749291870,1327870892,-1257749960,-176994747,-1900227666,936619852,63078537,1562723978,1631603524,-1092796359,4949281,-1644998787,-424305115,120630105,-202126036,673331285,679913994,1123203437,1005977487,-1252661062,753158141,-30362618,-850631918,-687872813,-486429663,18805068,1999850567,1221425762,1968724188,-1372349951,248891697,-1074904690,-1580100694,-1022299265,-2011992471,-2031962448,-430127585,1046500885,-438274642,-461733330,-2042237452,-1866034964,-2117113395,-226584736,2010926,67688319,-986026524,964802537,1275294463,1800752728,-1405508372,-1959848915,1022892211,-2105173791,-1585851310,-1201667597,586420503,727204086,-1967273431,-997224099,-1928721490,1475205954,2129791528,-2002228257,1801388307,-1210826171,1412339277,-1349272007,-421300624,-601136575,-1629431824,2040075813,1154051109,-1691780830,-1345089722,847788487,1583445711,1239639160,133281320,659812179,-1982156446,-510697501,-283101876,-387925047,-168912014,2119847447,699187610,307229659,-694196757,-1216960486,2105107994,976177390,-973951423,-1863943165,453623847,-1925236875,-211260029,330773284,1734909834,-1971553608,-1487769678,-1280228379,1023908762,1934238807,-276823784,1899228684,1382609629,-1649366297,701793177,1709772396,-1450672379,1755436951,1259776217,-1022221418,-825984278,730543989,1951301269,-885578287,708256016,-2135313780,-458493817,-1729738920,201989202,1306954218,-697072110,643729155,1041191977,942281627,1832799449,-543425871,-1257105118,463140637,-334268683,902888533,-431995903,-167070214,1143782762,1621099852,-38529067,615222745,-144512738,-66250605,1510999419,1341302198,-1983972046,-2142087291,1149873829,-166547288,724724132,1218148901,83356517,-1879954294,-289426020,-1988424408,1112162698,410557713,755101022,-939642109,1014925128,1209737965,-796090391,971846895,-1691277324,157872310,145784154,818506776,-905291800,1608122575,1013969167,-554301715,1887970599,-2144595850,1564875736,-1569107019,-2030784663,-913257075,-628119367,-1826279471,524195033,1423692628,358427153,-392177134,-854784061,-1727759010,-1863821457,81141691,583976919,-81828296,-255028205,-814218827,1631389531,1333869976,400276954,1866134604,2094519843,1789674392,-768599409,189130785,-612154075,2050431084,-1735387173,-1429805301,-2130284322,-917351364,-1443723179,-1957180257,397111762,-1605652210,709102253,-1441945059,-236183864,46931069,365468745,-1397799506,1191843533,1965652711,1806018435,1327752017,357509098,421424343,1693410650,212664316,1482845740,-1676243379,747163853,1785051925,-447924053,1639371663,1049994334,260452172,-223637442,-382634194,704343038,1874878920,2090671874,1111967681,-771308061,-2092758936,2090116357,-63180889,1039487086,802665220,319706364,307770325,-741440573,1560279107,-653566124,463761537,1277632163,-16506019,1053232484,-809072135,-48055931,269040159,-1007696338,1274322406,-1502585378,1978775257,-1951117851,-335378356,-422163480,1665032348,-1828245117,700417352,-2104106892,-802138899,1268940140,1459246114,1119941199,-506650914,-1350326428,1913779685,-1217541661,-410962750,734284247,1952006238,-1157834149,-627961074,-58021419,2087193726,-2142636191,1614240746,-633365039,892722939,-2120028055,143952457,-2023602282,640868009,-1924089540,530983131,394477866,699952680,-1576722520,21078821,-521307039,-1049700854,-405987346,1824858476,1506121949,1740203267,-1405251074,644624013,-2070935774,-1544966170,649167813,2083000763,-1471799562,1871294584,1570623820,-1407475934,-1914175507,-1741498533,421440526,-1208555099,997089474,-386937974,-851657200,-1066130347,2083690474,704318481,-2071121554,591607259,2029871534,-1550231677,884430664,-642800790,514912643,1914468352,1273576889,-1097551228,1300875482,-1778981053,-444627425,2060605479,-308629721,542120472,1215429145,624453399,-1603132457,1765432481,-916471733,-1677107373,38187727,-1086947005,-1878055770,-1288454776,-1269054881,-829835285,-1938861709,2028413382,-1566873497,-118899549,-1817056254,-152091045,-1533996314,-2034016693,1765026626,-454259443,-1671098697,-382167791,-141908822,-1261664243,-1912468547,-1801204373,-42663274,-1006323527,-1951698115,942098398,-137228101,1432674618); +/*FRC*/Random.twister.import_mti(61); void (makeScript(14)); +/*FRC*/count=451; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return Math.fround(Math.imul(Math.fround((( ~ ( - (x | 0))) >>> 0)), Math.fround(((( + ( + (Math.min(Math.fround(((Math.hypot((x | 0), ((((y >>> 0) ** (x >>> 0)) >>> 0) | 0)) | 0) , Math.fround(x))), (Math.fround(Math.log((y >>> 0))) >>> 0)) >>> 0))) >>> 0) ? ((Math.asin((Math.atanh(((y >>> Math.fround((Math.fround(-Number.MIN_VALUE) ? Math.fround(x) : Math.fround(( + y))))) | 0)) | 0)) | 0) >>> 0) : Math.fround(( ! y)))))); }); testMathyFunction(mathy0, [42, 1, -Number.MAX_VALUE, 0x100000001, 0x080000000, 0x100000001, 0x0ffffffff, -0, -1/0, -0x07fffffff, -0x100000000, 0/0, -Number.MIN_VALUE, -0x0ffffffff, Math.PI, 1/0, 0, 0x100000000, -0x080000000, Number.MIN_VALUE, -0x080000001, Number.MAX_VALUE, 0x080000001, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(306); void (makeScript(14)); +/*FRC*/count=452; tryItOut("mathy4 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n var i2 = 0;\n var d3 = 65.0;\n d3 = (2147483648.0);\n return (((i2)-(i0)))|0;\n }\n return f; })(this, {ff: Math.cbrt}, new ArrayBuffer(4096)); testMathyFunction(mathy4, /*MARR*/[x, ['z'], x, x, x, ['z'], x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x]); "); +/*FRC*/Random.twister.import_mti(411); void (makeScript(14)); +/*FRC*/count=453; tryItOut("o1.t2 = new Uint8Array(t1);"); +/*FRC*/Random.twister.import_mti(428); void (makeScript(14)); +/*FRC*/count=454; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( - Math.imul(Math.fround(( + Math.max(y, ( - x)))), (((( + Math.atan2(y, ( + Math.max((Math.max(y, (x | 0)) | 0), (-0x080000000 >>> 0))))) , ( + (x , ( + (x ? -0x080000001 : y))))) >>> 0) >>> 0))); }); testMathyFunction(mathy1, [Math.PI, -0x100000000, 0/0, -1/0, 0x100000000, Number.MIN_VALUE, 0, Number.MAX_VALUE, 0x080000001, -0x080000000, 0x0ffffffff, 42, -Number.MIN_VALUE, -0, 0x07fffffff, -0x080000001, -Number.MAX_VALUE, 0x080000000, -0x0ffffffff, 1, 1/0, 0x100000001, -0x07fffffff, 0x100000001]); "); +/*FRC*/Random.twister.import_mta(-785693266,139744584,984387298,1186412594,1891481168,1646986250,1065140344,1218752685,802221973,342047624,234298527,2054781520,-1424973049,48028090,679651668,1258509700,1025341971,371642830,-1398794064,-2113107519,-734378165,-1744442851,-718053912,-749221230,285994756,1479238465,-408684207,1561946922,-599253404,241754501,-1549009749,981898725,-602932868,222362246,1345771572,-1645388191,-799397511,-559126467,1934974451,-844186518,506716202,2004734893,2123621689,1774886426,-1027087900,215975838,135715279,-709724408,31641368,-248607289,1061879533,595182199,1681287287,624051954,397092789,-1731888514,-447851811,405173904,2041310897,740652925,1824132405,-426906291,1369248859,-69023687,749614616,-249892376,-1560075875,2046239053,1097013332,1492875432,188961443,67379358,2077731912,-1112160021,-515806803,472029021,-1428016336,-1963572778,-1021377643,1310728244,-938665533,-780332296,2101560758,-1277805457,-634827869,-761379763,642379514,1522283895,-1693045814,1232145332,-985741824,-1729522787,655587696,1399284212,454516195,1861473894,-592218501,-289769937,1852556220,-1435195090,1796736364,-1078957839,-904752776,670550025,-239884000,398970701,1449761640,-947345182,-959001794,-1590013526,-1206943150,-1939242594,2094949034,-17915099,-420745730,-680381154,-1931906,1273060660,18073066,533593930,1084346043,86763748,-756673239,677671090,-11540533,-493106216,-413710365,-1776654957,-453591161,768273164,-1527046342,144221194,-71904711,-1673225965,496199006,1344012858,716623854,1857137058,1545241179,648210322,-691734180,-818571369,1086217216,-965881163,309394982,-1176665802,1829718744,-129468972,-2052342903,-1217343476,-448561060,-1128629829,866509360,869006629,969799081,1858213156,-175710290,1151523283,1781232703,-1682183031,-1672835348,2082356278,18835981,-1352938007,-2044590228,51092922,513344176,1943324622,2129198109,-1287034132,1336713996,1293023751,-2108031330,-2097787862,-1713339110,-406844592,-705697439,-53607877,-1213275789,-2045417010,-92457084,317385507,-996132523,-1052794934,-1515921614,-196266277,493051876,2066981705,290324242,1177593860,-285180763,1532880550,-611875640,1955561915,497373204,-782649916,1846277626,-1837950779,739295866,-1331116000,292391415,-1339961625,-467612629,991766807,2036464504,1356065297,390469278,1384356987,469581564,-1941744905,-1887078615,851518675,108270833,342624742,882387406,1502591764,-1750718092,1307389524,681810533,-1348117202,-1454834902,1298495363,-2001000782,-1618937001,283173236,1745721512,2072071061,1864304431,914530140,-1095354844,318338284,-205398383,-1892145345,-363285481,-1896443772,1207498236,-1684641971,1697081101,21252370,296402525,-337672698,-244315410,1852204942,417906855,1989364169,-721891656,1521544255,509728932,-348507074,1902295374,385459487,-772797860,-95095388,-1820200706,2055975676,-959692936,-304483720,-453667460,1634681411,1155926503,600988099,1620508054,462114466,158817078,1230864220,-1727585730,389962009,667551420,-1167818920,1792061500,-776244621,1177923324,376796099,-949204242,-357946101,1732574865,56217457,-675112926,1677114065,-962101621,22346691,755436507,382994337,992741018,131159639,692266852,-727335395,-1313142050,-1510164971,-1145321589,1037718508,509480143,-2094550785,-534653081,831809851,-1735648147,566506264,1263273268,-1626801154,1498061498,2021499840,1581801485,696791153,-1124146874,1449753375,74170131,-697672549,-1733168150,340107998,-1255014942,-1501946860,1182735976,701578300,1624042285,826988758,-1536217378,-735211900,697955926,436929120,-737377655,-576319945,1751574235,-1712400487,-1815929469,192826850,-720910991,-1478486593,1022477007,2147271885,2083166912,50756149,-229936588,-1654224837,1384432601,776452044,-1320758888,1279442065,-1023881237,1783371338,1745355367,1858202135,1420619732,-1932959469,-2124532109,1459026243,-1159585259,-826904172,-1808949641,-1698905215,844796727,1639967008,-855922674,-408553852,-1258393542,1456108734,-1166708150,-1922610696,-1824841802,1879134988,1267342216,194280639,-797862835,1659405580,-1485160269,-2081819978,-526817560,120321625,-1314470871,66632946,-476982379,2063528066,1198223022,-1182705552,-2041445820,-1271179656,-1011960416,-1853647623,-830848171,1990036197,-1247086341,-1227471817,-1772461286,-670607197,-1357917377,-1872293246,-987070566,1482367612,912399411,119236299,1661547704,-1626615985,569424985,-933827703,623408703,-1797588136,-1964487041,-1800390601,1265884565,-1808768742,2031458579,-1174465410,-864439864,1518667421,1318890508,-80276354,-1057932355,-1029116070,-1688725695,-2015488652,-769601542,2076718740,-73687914,1229461362,-1406295857,-1093826079,483749096,42258527,-346537464,1127829674,-24989892,-2106969853,-1701177268,1730807405,-1891149898,-1838870274,1119080342,949801253,-887132516,1306597630,275753128,-343470560,-1342832181,2059273147,-2065681591,1724674418,-462221886,-1061065640,1593437249,-375219247,-1910782011,702790394,-705244392,-1489302767,2117081606,1781379224,592331912,-1741150456,237740260,2016630351,950770474,1126875032,-1540754631,353768606,-289279833,-1552628619,1979819827,-635495366,-553091047,794986497,-991060010,-92443504,1121723661,-873033683,-480221143,-1119233556,-1834436631,134028426,290602431,1391200066,-1027865456,-1502510640,2083838524,1098860556,1757896338,406300506,-955579608,-429830473,-642417242,2110416649,1375394094,2052205030,1707172051,-1055971106,-729007513,-1871892757,898824124,1929787651,496817730,-658641239,-1417634676,1222041346,-1373659903,1041392946,1237643566,807526206,-1276947162,-84666103,1632928589,-1321016830,988863593,330744433,1437667973,-1043439648,1547323843,1764322305,-2073078068,397103963,547559636,1224557864,99363150,-656642775,-1694252934,1598186306,-1479631895,-1071367536,897031691,-278657745,1016112086,-280062362,-420049335,-883098250,-1979932477,-1469410558,1980096682,-1421062375,498511824,713687259,-1265158156,1684324386,-1375801981,-776476479,-1323000022,2053093676,1329993716,-391487969,-1605182231,1990435392,1067701503,-1690440813,710942711,-1428343642,937591880,1924434540,-538169839,1027981634,185175476,228910020,1960313048,147951070,-368551826,-442397387,-1097584301,2144585519,-1308697280,-154180266,2108999516,769543475,-917107960,1431816758,-1991932096,624958437,9002858,-1488249335,-1816529992,401151129,650330189,-352598422,863427190,1624967697,-363381221,2020381830,686797494,924259522,-856626909,1552200773,-1497205930,-1164015575,1004814980,-533956165,838155930,-1913631686,-365536579,-1522586872,-341594731,13163720,-1682562852,-1343518908,-1538155533,-2141611711,-539440929,753845223,181949314,218953831,-1165187421,1722473311,-606907062,1694639083,855204561,519221354,2057570688,2015258990,1795444254,-1076026045,432443413,721825243,1061518564,1473637129,-459354812,1278442720,-1398977278,74524006,1197286662,683574733,597585961,-183703318,-653077558,-1336909102,-508473852,-621129510,344711880,2033964496,909853658,-530956574,-1138386208); +/*FRC*/Random.twister.import_mti(12); void (makeScript(14)); +/*FRC*/count=455; tryItOut("/*RXUB*/var r = /((?=^))?/gi; var s = ((yield new Map(new (x, ...b) => { \"use strict\"; print(x); } (this.\u3056), (a)))); print(r.exec(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(303); void (makeScript(14)); +/*FRC*/count=456; tryItOut(""); +/*FRC*/Random.twister.import_mti(310); void (makeScript(14)); +/*FRC*/count=457; tryItOut("\"use strict\"; mathy5 = (function(x, y) { \"use strict\"; return ( - ( - (( - (((Math.max((Math.hypot((0 | 0), (x | 0)) | 0), ((0x080000000 >>> 0) <= (y >>> 0))) === (mathy4((x | 0), (mathy4((Math.tan(-0x07fffffff) | 0), (( + x) | 0)) | 0)) | 0)) >>> 0) | 0)) | 0))); }); testMathyFunction(mathy5, /*MARR*/[ '' , (1/0), (1/0), '' , (1/0), '' , '' , '' , '' , (1/0), (1/0), '' , '' , (1/0), '' , '' ]); "); +/*FRC*/Random.twister.import_mti(517); void (makeScript(14)); +/*FRC*/count=458; tryItOut("a2 = [];"); +/*FRC*/Random.twister.import_mti(527); void (makeScript(14)); +/*FRC*/count=459; tryItOut("Array.prototype.push.apply(a0, [v0, e]);"); +/*FRC*/Random.twister.import_mti(564); void (makeScript(14)); +/*FRC*/count=460; tryItOut("\"use strict\"; mathy3 = (function(x, y) { \"use asm\"; return Math.hypot(((((( ! ((Math.atanh(y) | 0) | 0)) >>> 0) | 0) >>> ((mathy1(( + (( - (x >>> 0)) >>> 0)), (-0x080000001 >>> 0)) | 0) | 0)) | 0), (Math.hypot((( ! mathy2((Math.atanh((y | 0)) | 0), y)) >>> 0), (y >>> 0)) ? (( + (mathy0(y, ((Math.atan2((-Number.MIN_VALUE >>> 0), (x >>> 0)) >>> 0) >>> 0)) >>> 0)) >= ( + ( ~ y))) : Math.imul((mathy2(Math.fround(mathy0(y, ((y ? y : y) | 0))), ( + Math.ceil(( + ( + (( + 0x0ffffffff) ? (x >>> 0) : (y >>> 0))))))) | 0), ( + Math.abs((( ! (Math.imul(0/0, y) >>> 0)) | 0)))))); }); "); +/*FRC*/Random.twister.import_mta(257554225,-1989794197,1515062538,-2120102058,-43240499,1161520801,-205110139,1977078635,-893344135,1566298570,-1503352215,190772264,-1823562969,1871274558,-568707500,-825353564,-1489057752,-1466071623,-992241449,-242138331,1045563353,698416734,-1758901643,-890255743,797382963,-839693798,-506731997,-1136582708,-1668345973,-1337876561,257201329,1676076096,1456461291,-1013161414,940056100,-1952733224,1925101448,-2039582892,-1029417993,-1881629619,-61885112,1340332434,-1157723960,142625288,-1818685225,976803625,1424564610,719116052,-2100186444,1586882721,-2036338432,-752823637,707967059,-772301667,-1471459834,-21394129,-1563243537,111772658,-115626926,1967827583,1967572576,-559631629,1611942677,-1406503012,2052152825,58699836,110315600,-1644669498,-1093334083,-1688992508,324021744,1862783334,1164857402,1339655641,-1423105715,1410224532,767327865,-525298097,-1608838350,1534030473,-1324616486,57394642,-786860090,-1907475224,-1786318294,-1842618461,1624936451,-1645855986,1361736294,1369004547,-924799149,-1959505391,-2110575498,-598359764,-1721338318,-1992069424,-1483638042,1192509152,-1495727695,-1887953985,-410777622,-733238594,-268203854,728700641,-2024126980,-352677292,2147360178,172099998,-722305511,1269600882,1721227291,915567741,-1550596093,-1414947882,-256189707,548610557,-1036110477,-1062348699,982606254,1446793901,1040537508,1597320237,-1295731184,1844690508,-122600145,1120501804,-1543478596,1077911557,1263786582,955748166,-254056975,-1061742111,2060718549,-1619109266,-1725260233,1862590171,2015281957,1605349357,-1291604192,1572986606,-1053708309,-77412973,-1872869774,-471512139,722224339,70463232,-473426693,-426202023,1353835954,2131043306,-1282568998,1359183046,1793398307,1615841086,-1980417087,1158719736,1252458870,1523740566,-379485753,1677396549,-1218898669,-858730513,132174187,1716590675,1091342775,-1475895471,-1437364129,-1315579320,1063777595,-1926391828,-1929996374,1643640158,-1423173618,882693643,1527756574,-991407955,731863265,-1638173661,-439826511,-945810453,-342259766,1534383566,1365963135,-551410781,152596751,-342981382,1328729326,141435713,-1196526370,23267785,-906008416,-1382393051,1016576221,574385133,578062688,2047410842,717068830,815970914,-1014550182,-1262725169,-1277086339,-169187680,-1105056300,1152292050,-630912055,-1266799092,-1450184969,653832869,-1603508928,-1994399678,620163058,-704526777,-1498723855,507326849,1805318284,594383223,1164502787,2018874631,-826245795,-453763257,504055066,-559430781,-1035784260,827041130,37588878,1150430199,312650152,337164447,-1774371463,322092924,558469313,603492493,-1457550219,-1262678841,371960213,1577264384,-1228877165,-1496936736,-1702683687,-1499373532,389113673,-1456929389,1538443816,92265491,-2099125531,814439959,-22958217,198122950,1360110329,89991205,-501759057,1387095009,-2076986779,-1668400291,-1624833936,-362547529,-1036298991,-420772529,-660778900,-567391787,-204006159,902674805,-1893725629,1443891238,-1964114357,271830948,-1673683181,-511866140,982221196,187400494,1805294966,27990505,428798558,-1196128296,-1066002301,443934163,1970578608,1852578999,1769725233,-208636563,1585228207,975830281,-483422622,942854171,302518336,1245823875,764882704,-1095750219,443671017,1056531171,973979940,-490064551,-362288304,-950940654,146205487,-298380751,-1091434594,483676175,60988475,2035319258,-101382912,652315050,1248928055,-545230039,2072901913,304516512,389516156,-81189451,435370787,-2111538740,-311315492,-2123469772,994384618,2021653608,-1882084255,993834276,89497896,-974836125,943367050,1978178482,829293214,211397921,1504334030,-500278249,-190878585,1814150065,1208502791,1098044755,-362879010,1753744759,306884603,1356968254,447759207,1759364692,316760402,735809678,-203930280,330421054,-1684093551,234589655,-2113934276,1876351651,-116094437,810416397,1154775472,1573542244,-2061357751,-363624773,-1626286743,-2112142720,1267624523,-1956397459,414627889,-815441693,1560615200,232816298,1902772381,-1998861193,-445508571,-434725035,776872087,-396436303,-441364899,971651710,803413145,1772020947,-602272731,-2133986926,1403165830,-316588493,-1068434206,936175851,1192898082,-1177174073,-2024802679,-2122801391,-2127514977,1372322167,-757157788,-1467579161,727905971,2097030991,-1952452168,43288631,944197723,-2058612487,-507333501,769398441,-44804685,-1855093229,-1348340064,-64006996,1671107729,-1606488589,1844006312,-331916801,1906100729,-2031179993,-2072671992,-1210871247,1386221295,-1354398577,-475658581,369414878,1730894114,-2070106084,319072404,-1468625552,845460019,747563573,-487592472,1841068726,1687217218,-1990412095,1174705461,551857198,885991629,-1469857547,-1831138117,-458616701,1869703115,-924239223,2108336449,1670320737,1375428009,1187113239,-1858871167,-720258814,-35802380,-1948144956,-1973607192,1043512011,788957047,-622209458,348206148,-1072901268,2137761469,-1993403707,134518138,-228944756,885413901,-1592799781,1551211636,1887321935,1777514307,-1025741095,-1545482443,-1155899678,-1024324074,-472485776,-1168643031,1219921345,-352689285,-636454067,-166667303,-1154305180,-440512593,-269458402,26107750,-736019907,1289465502,-1428663972,-1229217333,-396083611,1989830091,-646081124,922799652,1044866280,-2005465125,143264448,2070262029,-1570879773,82375006,-222659366,675978322,-1154894467,1770493686,100286708,2052067190,-1189435754,929446891,-1079995361,422402907,319124155,-1138557295,2014772274,-790617356,1182882682,1611527987,-347380286,-669550983,-706425646,886159155,-2077396852,-125034377,-554091049,-494309289,1933306999,-975452414,-1990384711,191151685,-527353997,-312446483,-655842705,1817950161,-1146698685,-473827065,2046954299,954198446,1447626793,1974677542,2108236257,-1062322520,1300574808,2097369711,-1261743199,1622225672,229280279,146391714,-1882614293,447163564,1552130734,-1791630748,844927181,1376716775,-1880150903,1662720544,-1949866735,-1458155596,-1146985080,-2028847940,111289743,897943130,-1167453012,839449374,1654843907,83698540,2045245130,1297535760,774602937,596557388,-1232344745,-1916661005,1542930825,-1067325255,1055445608,1334090718,889635953,966623510,-1301141877,611120225,310263759,1960760593,862976172,1068021501,1706652056,1277362419,2028030688,1413706398,-786891190,1754884577,-1739825527,1644652882,556040139,-1713847353,-1360845148,1413538028,681236971,-1007291023,-2061320104,607789142,1600123857,-491086550,1919469492,-114114800,1532436898,-538352702,-493820343,-744939232,508468780,594986338,261786788,-516351809,823029497,-2063541223,-1299720313,758571635,-144024344,515508225,718184305,1015419839,-1334980491,-305133731,910676309,-1390126281,-1205125716,1834303364,-819354409,178187307,2064980629,-1940416312,27907319,1418946500,230364333,1315522309,1614607679,-1698045371,1299925187,1789952462,-911777013,557456052,-1257201054,227252274,-616251146,1096122188,-1518574374,-508223215,-1025712435,-1234524728,1594293881,-1155314658,1573147353,-1306159985,-1355251010); +/*FRC*/Random.twister.import_mti(292); void (makeScript(14)); +/*FRC*/count=461; tryItOut("\"use asm\"; v1 = g2.eval(\"--x\");"); +/*FRC*/Random.twister.import_mti(328); void (makeScript(14)); +/*FRC*/count=462; tryItOut("\"use strict\"; var scfyyz = new ArrayBuffer(4); var scfyyz_0 = new Int8Array(scfyyz); print(s0);/*infloop*/for(\u3056 in (( '' )(window)))print(scfyyz_0[0]);/*infloop*/for(var scfyyz_0[5] in --NaN) v0 = a1.length;o1.s0 += g1.g0.s1;"); +/*FRC*/Random.twister.import_mti(511); void (makeScript(14)); +/*FRC*/count=463; tryItOut("/*bLoop*/for (zajpbc = 0; zajpbc < 0; ++zajpbc) { if (zajpbc % 56 == 31) { print(0); } else { ; } } \nfor (var v of f2) { try { t2.toSource = (function mcc_() { var uclagr = 0; return function() { ++uclagr; if (/*ICCD*/uclagr % 6 == 0) { dumpln('hit!'); try { m1[\"toLocaleString\"] = e2; } catch(e0) { } try { this.v2 = t2.byteLength; } catch(e1) { } try { m2 = x; } catch(e2) { } /*ADP-3*/Object.defineProperty(a2, 2, { configurable: (x % 13 != 8), enumerable: (x % 3 == 2), writable: d, value: m1 }); } else { dumpln('miss!'); try { v0 = Object.prototype.isPrototypeOf.call(p0, h0); } catch(e0) { } try { a2.forEach(x); } catch(e1) { } for (var p in i2) { try { v2 = Object.prototype.isPrototypeOf.call(g1, g0); } catch(e0) { } this.g0 + e2; } } };})(); } catch(e0) { } i1 = new Iterator(s1); }\n"); +/*FRC*/Random.twister.import_mta(458556621,-380466291,-1224510054,-1256282154,1422952192,1129157686,-169374796,-616318271,-365864711,-1723970177,-304482460,-1563733121,1531599658,-840763710,182155236,923762774,1142606530,-1117656703,-1054556829,-219243522,-1129070630,4659550,416629532,-1581622387,-300900476,-1807226737,1034919303,-2034996557,-2014734817,1334909446,-454898910,1337125086,-1439720487,-698799110,1006594343,1448729779,-639704604,-325341856,518532501,21789721,-287375860,360435998,-1239764600,-1543348039,1696274064,1979780277,1695569093,1754951193,882780758,-1599195211,1266845544,249815776,1378160353,-294499542,-1360858231,580630099,-1723549004,-895676944,1486837380,-551736161,1504349624,-393426381,-1036779021,-1459900227,-1419278014,-1242429981,-426240890,-1325903670,-1797810402,2124994780,163875931,-1430245434,-1234274061,-134508172,-933663191,-1958838595,1542096674,2017924555,1335278822,1895984283,1146069533,1390195861,-29509406,2107982590,1874709265,-263675003,502689596,-726153310,-908926484,1838728578,-1709981011,554983688,-2057206444,-1801171616,-1857717318,1729694272,-408457220,1927811184,5079255,-1857326174,421411112,-1109785765,1172445206,147430587,-1779663271,-1835040972,-573987168,-550881278,-563049094,1233298901,-129793574,-1340162704,60671426,-1796805245,-1258815040,2025428174,-1260687691,541844152,115198504,2142476506,-1153913634,299604394,-114275635,-1074315548,1038574264,-2026515654,-884215792,2007427788,-1818957014,-1031923705,1922324798,1299511169,-1273149249,1385153400,-399967683,-1870506217,213218181,730410126,205653364,-1116912570,-1654774564,91877417,-959343172,-285201158,-1265467689,623814737,-1313626246,-1472652704,23741341,1447189939,1569159698,-1779975464,-2108308204,-1180772002,1895197619,1368217002,503762791,-1844394303,-1924381595,-829998427,-2021548600,-1900303628,2067317436,-786984475,356983294,-1373236830,2045678319,1600358789,-1468666542,305900345,1482761028,-698091146,1180965762,163445721,-467440808,779977093,-464663174,316566551,-1584424824,-1440374745,-1893036882,1646586176,-1462288606,-17674950,979226329,-2036302136,-1406021754,-1722292618,1799283644,164189731,951042469,-637967184,-1562895784,767317775,-1922477768,-124859822,773229668,-1930968166,2071832212,-1381165595,-1243834489,1435499201,423776508,946712051,1536607217,-1722015648,-942670560,1583314341,615712030,-927820356,-9233601,-1595042327,531712788,351758066,1034869254,-1237886100,2120661674,-12717763,1309596582,-1364163684,1955041235,-682937834,128134348,-1170371623,-427427843,-1149976485,1010593326,-1992086866,-1597254605,1051659557,1038769999,-648547867,-2145672566,670756769,-196990911,1750696303,-899872241,965790295,-241441939,-1982179247,1082049748,1728189168,-1397170560,-597521553,2083321429,1736235527,-1224141539,221503097,-1679737453,-1328147948,1373919906,1963062889,1124615678,1916542399,1787633975,2147257416,-1511233410,-2001968364,-1179812629,1254925694,364332959,-1519919911,1028774048,1168158238,-1534965070,-1979821373,1911732587,-1281671478,284037513,-2082996429,1038048402,1776054207,1784368985,-1675368357,-1129829329,237271054,244353329,-432547537,-1373411191,-1542198551,1785595249,-1619708744,-410358143,-1874808172,1991597294,1314177292,1498253978,-1919234669,1861798813,-550313631,9837262,-564888342,-698686486,1003213262,518744333,-877751087,-1446363132,-1860341095,-1771540693,-1969948045,-1534372447,1953058413,1039595510,-1088107663,1901351707,1141733720,-711045474,-1849782445,1406044275,-2004524788,1024619748,840910436,-864592463,-2095707693,-1993761488,-881315464,-698162580,-972123288,467676369,-1646885861,199240495,-1114614819,-821652332,81815904,-1645183625,-1119808245,687516116,741427911,1352053055,-707789004,549012516,29159221,-1494115298,-726067703,-892866491,-409161770,5917770,1820611533,1877723972,56767452,2047160333,293270546,-1181230953,-1766763923,246337034,-1656460205,-1819088040,1840805557,1356216554,100650807,592335117,-390820225,965726100,-1513522048,1901516185,841571259,1595625187,-1725570061,-1485371148,2050156587,-5759489,66645452,-864597464,-2108928746,-2041647560,-1152928839,-49562481,-191927649,-1428037649,-1493570611,770631760,-1759548986,-1597192339,1797057761,1905124663,-654661107,-1481698857,1961370144,1487685748,1324093074,518617638,1966707567,-1982881426,-1691494507,163479138,1688579835,23167278,539166670,1594218786,753416684,-1358939213,-41804951,657577860,253375547,-261057115,1236482417,-2008790923,442230720,344096945,-1237537750,-2028500671,217635026,1702881514,-673685013,277885977,-401748798,-1105271137,1326474600,-311743355,-1717515818,-2010353567,135642360,453415543,1446720963,-1994018719,-397293819,-2064644474,-389351641,849665070,1281890658,-1866433900,1790227783,1346499517,-1612475793,915376078,-353573365,-953824924,-885895427,276770723,1550631560,-25411511,-719507307,-1272394937,-1917884670,2119769107,-1039243617,1429056513,-1150201470,-1715413073,-589637683,-1653067584,1402213436,385938452,-745057836,1197176462,-2030662429,-214061843,369002712,-1499461074,-1014994425,1198422502,1257272991,1333021986,-566447331,-723881188,1260143419,1230454570,2100130044,1783618596,-428444219,848742159,907495547,-2057097598,672696373,355336345,-1441037185,-1762006491,-582092826,591861648,134395609,1413814465,1045991162,1579279466,-483632332,-1984973800,-282921240,-1305791890,1825332505,1770824994,-2118915884,-186325137,-1089258427,-277445174,586524649,-190374643,-1847759471,697043139,-1128723239,-1866305992,-934096061,793954423,1742873076,-1947669883,-1799612017,1173295358,-123594371,1665317335,523419411,-1267052868,-1226727260,895730493,1393599494,-78079514,-508173818,1659636689,1187718357,1075470251,1979838886,760807539,-581699950,933008059,1457669050,680941600,-20671630,251122844,513823257,1089410229,80411551,1085802176,-1693878852,361365657,342988863,193490024,432370472,266490882,-404364741,377485348,-268406149,699956393,2122312104,1702717801,1805029430,1496871694,-1936051439,971459213,1370495429,-1267295639,465116524,-1140705561,-575667561,22760871,1455432854,1066082659,1868211951,-1719993764,1008886078,509433596,388950948,1034022983,70803067,-1797798312,1050126112,-1527322275,-1373224331,518910475,-275807847,-373335484,177798507,691048464,1270192177,1100450194,-1144765204,1845895404,-1782669962,1005961375,97237810,-1909985290,-1023968662,1407947838,-343226180,538319706,1072922783,-462418039,-1358187312,1304164,2132969739,-306246452,1250083229,-1483488919,674540837,-1576781102,-658314983,-207168488,-996962256,1500428527,1759824146,1099417183,704489760,-1885924693,1262285608,57808371,1773034825,2037181388,1922113995,-1466239927,-599048147,409307513,-240570726,865948755,-1494807799,-1295993275,1539593941,1194299524,429064842,-570496928,-859829879,-1319560660,733035201,-924675531,-648893388,-2119858524,1333506683,1225248384,1640709768,849163683,-1227359883,-728832427,-197826217,185193610,983593355,-118444664,1886056253,506427438,1558608588); +/*FRC*/Random.twister.import_mti(82); void (makeScript(14)); +/*FRC*/count=464; tryItOut("L: for each(let x in 19) {(new Number(1.5)); }"); +/*FRC*/Random.twister.import_mti(176); void (makeScript(14)); +/*FRC*/count=465; tryItOut("\"use strict\"; t2 = v1;"); +/*FRC*/Random.twister.import_mti(188); void (makeScript(14)); +/*FRC*/count=466; tryItOut("\"use strict\"; /*ADP-3*/Object.defineProperty(a2, 5, { configurable: \"\" , enumerable: true, writable: false, value: (4277) });"); +/*FRC*/Random.twister.import_mti(216); void (makeScript(14)); +/*FRC*/count=467; tryItOut("e1.toSource = (function(j) { if (j) { for (var p in o2) { try { a1[13] = \"\" >>> this; } catch(e0) { } try { Array.prototype.reverse.apply(o2.a2, [h1]); } catch(e1) { } m0.delete(this.f1); } } else { try { ; } catch(e0) { } try { e0.has(v2); } catch(e1) { } try { /*RXUB*/var r = r0; var s = (((void options('strict_mode'))) < x); print(s.replace(r, yield ((a ^ w).call((4277), )))); print(r.lastIndex); } catch(e2) { } this.g0.o0.v0 = g0.eval(\"g1.toSource = (function() { try { s2 = new String; } catch(e0) { } o1.v2 = Object.prototype.isPrototypeOf.call(e0, h1); throw t2; });\"); } });"); +/*FRC*/Random.twister.import_mti(464); void (makeScript(14)); +/*FRC*/count=468; tryItOut("e2.has(i0);"); +/*FRC*/Random.twister.import_mti(477); void (makeScript(14)); +/*FRC*/count=469; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return Math.fround(Math.pow(( ! ((((Math.min((((Math.fround(Math.min((42 >>> 0), y)) | 0) >> x) >>> 0), ( + (Math.pow((y >>> 0), ((-0x100000000 - Math.sin(x)) >>> 0)) >>> 0))) >>> 0) | 0) | (x | 0)) | 0)), Math.max(( + Math.pow((0x07fffffff > -0x0ffffffff), x)), Math.atan((Math.asin(( + 0x07fffffff)) | 0))))); }); testMathyFunction(mathy0, [0x100000001, Number.MAX_VALUE, -Number.MIN_VALUE, 0/0, 0x100000000, 1, -0x0ffffffff, -1/0, 0x07fffffff, -0, -0x080000001, -Number.MAX_VALUE, 42, 0x080000001, 0, Number.MIN_VALUE, 0x0ffffffff, 0x100000001, -0x080000000, -0x100000000, -0x07fffffff, 1/0, Math.PI, 0x080000000]); "); +/*FRC*/Random.twister.import_mta(-1208347943,1325611644,-323747903,-310392127,761139913,1603022128,594611284,-58709830,1033525922,-923656915,-2021819384,-2133982960,-1085164873,-851326061,328367315,957085462,-779914788,1891589647,-1859745030,-626402965,-1461093496,1053719968,-977435525,-406309546,-1180700193,-1751216735,95492073,-327943138,-1926993144,-179000075,-1393870190,-1671409008,926963573,982205445,1731816979,-1731740747,-69029454,-1473922554,1537271884,1648546567,-238241523,-2100459669,399726414,-269108344,-241425735,-1132433751,2127746567,1561617317,262744038,-1761808551,311392680,381304193,-189182062,-1994936067,-2102059671,1138102392,-1150143003,-1198139298,-40213077,629307894,-798776006,-1839371262,721624388,1730479022,-169412011,-164682559,1885642832,1598409494,-716183535,185801943,-936517627,-512189642,1946123875,-1453252854,-489750149,869574651,1174888718,-1369118101,1319858298,151278527,-592791668,1452439891,-10401365,1513271864,507501912,-1584549292,145638456,-1873908229,-418312368,-1114810038,-332186531,-1837978478,-2113866253,1743812010,342795476,-1204068997,-305655369,-591306678,-267935572,802006339,-1730736543,-695516489,730717734,-1499640626,442440604,-1782822218,-1910440441,232017260,-1157445920,2084282182,772714270,1821893266,1311256716,1843434075,717130205,-1410113627,-1360960978,228143496,561618548,1567834842,1277638474,-450325639,-990713138,1266266565,401306018,1848480864,1645610574,103293335,533880551,1865798843,1337112932,-1430362071,389548052,-933124952,-1159787678,-2039842285,-1721850538,1069959223,1325841382,-86407161,-1072867929,-1620378567,-1439689494,-1038433773,-1654669215,659747550,994454495,1086810957,-1911816392,815721461,501036744,2089489101,1492595412,1973699422,374410741,855457329,1042715082,-1052548890,298101780,-1434479456,1304766481,1420620110,-97066980,187963757,-1395176387,-1946560188,587721067,802108982,-706814351,-1575518636,-372865327,819567103,1985774991,302493430,-238686078,-698947276,2137797124,282339872,-1288115769,-1440068965,999339325,-1275568392,1464699832,1713532257,-611133827,-1514259493,-2009570549,754043185,-183971108,-992438702,83958648,-553967737,-2065012624,96910703,367605856,778546686,1961017350,-719051005,1402305024,-612142491,40264485,1060928557,601451823,100886370,1466582757,617115156,-273414009,-811111697,-392608937,1474832236,-489733910,-2026227777,-752279731,-1619858521,1415585741,909415381,-950176055,1436178544,-1584416581,935694691,-544149412,1222132460,-1095367496,314238633,-1260896305,1076973369,1481109403,2123843615,-1990456271,1800298681,1490846444,1834206092,-1787172289,-2141673301,295983314,-2118357126,221432025,649608545,1563139559,-546385699,-20921621,97391507,-835583362,916306473,-636910637,329953451,87590536,1007768990,1722119338,-1387288278,1145077437,-1743006944,931672993,-1442891859,-745686470,-1613603017,-1325228673,1765094456,-117047249,-1533852571,-1322247498,965837379,-1172837190,-375155477,1976705976,-1169095642,2072988770,548602134,439273517,1228732679,1108556936,1572419018,731458139,-1181847345,436625314,-1846946911,1022341905,-594117325,-574916566,411500021,-2035471711,1752734454,200689970,-1071080558,-1614825256,-784555802,-1169707040,1041723435,617393261,1799884835,1208958427,-1630827616,-1412772826,-434527223,-476434015,-2119514093,-627763900,437348175,1027233488,-1196268436,1247611107,-63669632,-1253150052,-1482295204,-1939712313,1684297525,-657218359,742736746,1389414869,-1578601511,1128075530,-1592999073,2030962274,1278904992,-168659641,-1944027546,-561377026,952867562,93412928,1593331899,-533664613,1944972958,-95721013,2050531283,459889168,-1535445946,-1596083969,697624097,-59982547,2077326388,1061915531,153605523,1726509421,1917564666,2115639943,-80748347,-747567489,435899068,1831271292,-366864299,1700653138,-1350707895,2040743500,-373947093,-1707886722,1756425176,-1297626785,1682713407,2128593981,1281192599,-433371611,1261213288,2093558304,-2085233571,-2043396971,-1453897399,-89156195,470367518,1320135907,-1310411212,-1986145714,-1662734730,-951296872,-629550518,-76734156,-1467230850,429297047,208997007,1428076800,-54042430,-912951568,1412502280,-875285391,-1702336101,-172847468,1154795276,1256913637,831197938,1543312772,1468239815,-701482442,313974082,-429693660,2063183611,1780025156,292842627,-1167190201,1648870528,1121512888,1958628634,-318921722,-11556865,360477574,-2110319770,-769779119,1223969428,-281375308,2056222294,734515178,-1394609680,1417396895,-1015413513,1689413918,-1372809001,617794625,1967073879,-844990417,-1808952416,-14140909,-1974271145,573092637,1327050649,397087205,362941412,-1043228052,-1217343073,699751710,1548973423,-120646858,-1937091270,-376154349,-1530826399,-1197550570,799343585,2035999961,805805746,655549892,-749648853,285875561,-2047869484,-175812617,-1804168295,1646255509,160446033,2007558527,453453192,1246793645,925343714,1885334662,-1651177683,-155655751,1608541639,536820543,-1527722610,-806768930,1092214290,2101007631,-859769525,-1341077712,-587122613,-1362465479,-1822287522,-165173656,841668117,-2112759459,-1376283740,1440274631,1845193982,-949990991,1429879143,39566409,320196499,1287166911,-1632798646,-1430433919,-1889544150,-1312281810,-1352447709,-1731725280,2098740929,699530580,-182881818,574397745,1106205828,1266691818,1068559773,1109473145,1887841324,-1732106422,-722276151,1870534992,-1539901217,1470118940,307864358,-1194118609,885568657,600273622,-112120406,-995075267,1958099038,-632126447,-382802395,1762113598,427344925,-2048213641,-226024423,-542304687,1479416790,113894808,-400524518,-1878646068,665457489,-516742494,-728693210,1727750022,1690232608,595985702,151591495,1188127167,-919555920,-346441137,-1946905400,-295769761,-46381650,-1471157768,-1649174808,-265953997,1750286011,-1823526530,2013756597,1965676745,-430045291,-1924632185,-580632763,-1326766451,1980082882,431680910,-2021030296,-1022652844,519599863,-1838239673,-1593938112,-81658270,489206096,-1651114153,-773639106,-332071569,-1003177306,1457287883,-1599401874,1733990635,1933530409,579182030,-768119344,1725606517,180352318,1433347433,1743299687,-386305668,-266302745,628313155,-1877303711,1784767907,1990457637,-2024040910,-2001530865,-1483361698,735298435,-1242191532,1176745380,1873384588,152636145,-235884930,394483439,454989605,1781861511,-1957059232,212345421,-1699172073,698895329,1866954171,822280293,1060450736,-223462803,-1026171035,1207976539,-1340824954,1827280462,-2042728411,1842034505,1994135566,-1617255,-887193263,252737845,679172503,-144376045,-1524997468,392096708,-109389854,1610475198,2007387185,-941927214,147584324,-1798092948,-78112186,-2145071773,-1005324401,156462086,-565565869,196927372,1851978286,-702200106,1209878089,1679134421,-823941399,55679122,-1689017736,1799996403,2115996504,-1498306954,-2075343079,1318772740,563213255,975715657,-534476571,-1315492275,-1750316690,-1451667901,2065117157,688137538,1661654055,-586570170,1720154098,1842295815); +/*FRC*/Random.twister.import_mti(99); void (makeScript(14)); +/*FRC*/count=470; tryItOut("mathy4 = (function(x, y) { return (((Math.fround((Math.fround(( + Math.atan(-0x0ffffffff))) ** Math.fround((( - ( + x)) >>> 0)))) - (mathy1((mathy1(0x100000001, ((Math.pow((mathy1(0x07fffffff, ( + x)) >>> 0), Math.asinh((y >>> 0))) | 0) >>> 0)) >>> 0), ( ! x)) | 0)) | 0) - Math.fround(Math.imul(Math.fround((Math.exp(Math.hypot(Math.min(mathy3(y, x), Math.tan(y)), Math.tan(x))) | 0)), Math.fround(mathy0(( + ( + Math.log(( + Math.imul(Math.tanh(((Math.atan2((y >>> 0), (y >>> 0)) >>> 0) >>> 0)), x))))), x))))); }); testMathyFunction(mathy4, /*MARR*/[null, new Number(1), new Number(1), arguments, arguments, arguments, null, undefined, 0xB504F332, arguments, arguments, null, undefined, new Number(1), undefined]); "); +/*FRC*/Random.twister.import_mti(494); void (makeScript(14)); +/*FRC*/count=471; tryItOut("selectforgc(o0);"); +/*FRC*/Random.twister.import_mti(503); void (makeScript(14)); +/*FRC*/count=472; tryItOut("\"use strict\"; v2 = a1.length;"); +/*FRC*/Random.twister.import_mti(516); void (makeScript(14)); +/*FRC*/count=473; tryItOut("\"use strict\"; \"use asm\"; /*RXUB*/var r = new RegExp(\"\\\\1\", \"m\"); var s = \"\" ; print(r.test(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(550); void (makeScript(14)); +/*FRC*/count=474; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( + (( + (mathy0(Math.pow(Math.hypot(x, y), (y | 0)), (Math.atan2(0x100000001, -0) | 0)) >> Math.fround(( ! Math.fround(x))))) , Math.abs(Math.fround(((( ~ -Number.MIN_VALUE) >>> 0) ? (( ~ Math.fround((( + (( + x) | ( + y))) == ( + y)))) >>> 0) : (((y / Math.fround(0/0)) << (((0 | 0) * (0 | 0)) | 0)) >>> 0)))))); }); testMathyFunction(mathy1, [0x080000001, 0/0, -0, -1/0, 0x07fffffff, -0x080000000, 0x080000000, -0x080000001, Math.PI, 0x100000001, 0x100000001, 0x0ffffffff, 42, 1/0, Number.MIN_VALUE, -0x0ffffffff, -Number.MAX_VALUE, 1, -Number.MIN_VALUE, 0x100000000, -0x100000000, 0, Number.MAX_VALUE, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mta(487517032,-2070511403,1130931279,-1680049372,-323218833,1963650868,-1871934326,2048909584,-934374370,-1910716885,-733310168,965235607,1979405889,-219595349,1402786834,1063954699,-185265092,-918364399,1126993397,2109858010,53758911,1125736916,-9547887,743644963,1980139374,1666117437,429719022,1070125405,-744130537,1902606477,-1654559389,-744323572,27455241,1594968097,18742940,535725388,1568861010,444112217,-1288766252,-339844108,-280367992,1001801505,-1435510039,394149946,-1733762484,-107028253,326257795,-935510739,-747693727,880634331,1586846548,-1974705927,8540394,1989694290,-225898142,1922436165,1851800122,1708415831,-13193377,2112424538,617995007,-1830697197,1722333360,-1583320644,-250942164,881511319,-1324376639,420612950,1407116958,215378931,-539032392,2016475086,1772663108,-1042363082,905679556,20917686,-808085138,752195287,-1573227363,1819569343,-2100846502,1048195904,-1175737899,1617033212,-1259331083,334962176,-2089409276,-883182201,1779308596,-858366937,-1335329821,481857819,122552971,-798632325,1815869511,-2031419334,1998091320,-35033823,1013532263,1255023038,-1436349870,1393494667,-76620419,-584470782,762590730,1059843454,-1837424496,2071608566,446900355,880890537,1061350158,1640331769,1724401986,1728990846,117803973,-1188145080,-1141842582,-1192024382,-1291176059,-701086058,-1009793064,-248101863,-2068638584,2128371736,-783757915,-1136430432,1199087441,638236961,-661131200,1046720828,199099043,-2003334562,986227875,-822004234,2059657878,-1215386423,-607967852,-1172921692,1971798242,356181859,310998117,63207614,1487847864,-1325545468,546712646,-1506920194,1801218217,1642026473,-872927205,1535229453,-1062887970,-998053866,-890066104,-1219265946,275558822,1970416966,1442990422,-809910216,-1651713441,1484756617,25541412,-1997612710,-1699673651,-523599283,1290135123,964422164,6606324,-1460057918,993964973,1722963671,-842244499,949895951,548117658,1470467578,1512600831,1082337458,-87806083,1111563097,-2078418999,1960069319,1964390706,-308759047,-942493402,-1038236689,875626411,369754123,-1067438734,318714105,-1794591686,-409276648,-1590962984,-1156586534,-2078930730,2102579201,-790068691,851088711,659153970,-1835882682,887997582,472413890,-1882856753,1454252059,146631741,-589340285,-1002343972,-422579499,-1697739907,598194077,1755679524,-1439432179,-1310955277,-1903971295,1879073658,2004121632,-863495887,-1690830724,1357189489,1777067111,1937593891,-1201393344,-854233291,1682714041,-112073015,-529630433,605663493,-743690016,-880009001,-2136449617,1748566102,1862722873,-1384801566,2131253167,-1406268482,-658595613,2059523757,400507053,71854148,1675095300,-1892185306,-1819047957,688293053,1954927917,-47397696,1090086154,429864859,1102106289,1674136085,812052970,1438561601,71745552,543094451,-1261818271,-289815500,1884954867,-383168999,304907895,100524689,954916267,417567969,1497031250,-1697564193,471206081,-231211034,661387918,122691402,-823567643,-68689025,2069248065,-2044687491,-1956232019,966974175,342673342,2085709915,1584489298,1505846306,336621622,-2093029475,810084161,1594339036,-1696828059,44310057,-143510021,1384268172,566224470,222956324,-1575651153,-1142291824,-1346683882,1045266397,-609773950,-1362774932,-1527805121,-561075892,1506424270,-1060118656,1049914428,-657037173,-1052626992,1684653560,-1785821718,-3870602,1868344202,1391317400,283902674,-940634734,391845414,978767114,849835119,-1215907213,-663412400,-370202996,-931716412,904551248,545763192,-1924429132,88805451,-1867280046,-1298082621,-1429468775,-1369521127,-1449975500,-938017667,1660944140,2058148144,-271313150,-183554361,-2029198735,224257051,786936977,2109974631,1085469972,-2029470109,101594627,880712972,-538608565,-367846557,2021455863,164730544,-841169652,342277483,-373812219,2077501667,352184834,-152500523,-861187282,860972021,1025041366,1705547033,1309691277,783157061,457845548,-282306379,613493841,-1653984828,-341201574,1019775569,1885810611,-1249811443,-1872375484,2114342276,-2123144499,426101978,-625850900,-1502235378,-296531941,-1606109450,-1979133189,939927781,1034406111,1013217984,-622509696,-1670084959,1919073516,293941219,62207599,2005269942,1128544116,-312797412,1984667434,-504711597,-33024825,593298228,-1861858588,1661913844,1577797286,431186211,693925065,552193528,-1296957481,-1395663922,107340141,106684304,945841063,-261918717,-863801976,212071799,469102076,-667960936,787594231,-744567542,-284147874,678510704,-828517370,832960898,-506052947,1002724097,1052934423,-1819634460,834241677,265181303,2090460412,-1494366330,484115961,-527900604,-800069399,-1043195211,1354491248,-1655939773,-45430457,1775539072,-1237657490,-1935153114,-60775320,-2098452863,-1970182113,660911724,-1400347640,1581800612,1415175921,-344491239,267163792,742797257,2064603426,940723997,774120793,-729449427,-1314402820,-1980522832,423724904,-1839946887,-2121467364,1518285937,-1991270725,923911710,157748078,-722957189,118291258,-1793258323,-1815871165,926703754,-1444972624,1594516017,330427189,1401715878,-699165571,-1679958806,1509643078,399314661,-1935803453,873162053,1211955189,-980079699,411696264,-937525413,611844369,-673997135,1563071397,1701148845,-1828619630,-369870230,2054544889,-779499044,1632067827,1175018848,-1229572101,-307847646,1007015430,742384918,1203496666,-1727608676,-79041469,-2097590249,453007332,-2137207975,-75090116,151006602,1704096903,1635886238,1716327662,1175850289,-889964221,1943257941,1532856372,1612320027,-1692591470,1895739530,-412006074,986064915,545061427,877820221,-1800611291,1767437683,2119758629,-264026018,35099857,1321512015,122701977,-1195106775,-739611229,-1104794508,1682287666,-479342764,-594847112,-271714708,-513607838,-547937893,914798848,-1486738221,1105495482,2098394615,-202537253,526604188,-919682239,430656274,-1170146639,1756672831,-1773517090,-1639893156,-1188552658,-1026410140,1083389298,-1166019933,1506758286,-1382776194,1515646576,1486124059,-1167098877,462008118,-668816653,-548427782,-2146388685,-1677114285,743483043,2060874935,-1208013220,426978290,77735669,-1645241974,688785873,-1454446094,-341236001,65803532,1465279114,-2069812888,-804463421,2100129214,-1323107975,1514676670,-468097871,836435013,-1443190613,-417518732,953811147,-319091526,-1513906132,-932177988,-885384046,2112683089,-1240941108,-1168711680,2002794040,-751711242,-1827746276,-981812037,-1734343445,1444551886,1490750562,-2124569631,12678094,536813654,999368791,388914477,-498596332,-44944473,389786459,-1024925674,900282470,-1110570692,1989885829,2020201259,-2053628057,-1439255879,-1439886016,-140189736,-518193525,-962165817,2026753219,1825104502,-643110553,1163118075,983010440,-21813868,-595097085,-46312225,-1393304747,2078428694,222750581,-1056452245,805687311,1244174775,71547638,-674558054,-1649422504,-2142863260,-517281279,-110634144,1635503152,-488192448,316263729,-1863468693,-555244768,-1077881231,-1555243093,359831624); +/*FRC*/Random.twister.import_mti(201); void (makeScript(14)); +/*FRC*/count=475; tryItOut("s0.__proto__ = f1;"); +/*FRC*/Random.twister.import_mti(213); void (makeScript(14)); +/*FRC*/count=476; tryItOut("mathy4 = (function(x, y) { return Math.atan2(Math.min(Math.log2(y), ( ! x)), ( + ( + (((( + mathy2((mathy1(( + x), ( - Math.fround(y))) >>> 0), (y >>> 0))) >> mathy0(( + x), ( + Math.PI))) - (( + Math.hypot(0/0, Math.abs(( ! ( + y))))) | 0)) & ( + Math.log10(( + Math.imul(( + x), ( + y))))))))); }); testMathyFunction(mathy4, [0x07fffffff, 1, -0x07fffffff, 0x100000000, -Number.MAX_VALUE, -1/0, 0x100000001, 0/0, Math.PI, -0x080000001, 0x100000001, 0x080000000, 0, 0x080000001, -0, -Number.MIN_VALUE, 0x0ffffffff, 42, 1/0, -0x080000000, -0x100000000, Number.MIN_VALUE, Number.MAX_VALUE, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(485); void (makeScript(14)); +/*FRC*/count=477; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var i2 = 0;\n var d3 = 1025.0;\n; return (((/*FFI*/ff((((0xbe3f6*(0xd945bd68)) & ((i0)))), ((-((Infinity)))), ((d3)), (((x.eval(\"/* no regression tests found */\"))|0)))|0)-(0xfcb7903c)-(!((0x6c50bd24)))))|0;\n }\n return f; })(this, {ff: Date.prototype.setMilliseconds}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [Number.MAX_VALUE, 0x100000001, -Number.MIN_VALUE, 0x100000000, -0x080000000, -0, -0x080000001, 0x100000001, -0x0ffffffff, Number.MIN_VALUE, 0/0, 0x080000001, 0x07fffffff, -Number.MAX_VALUE, 0, Math.PI, 42, 1, 0x0ffffffff, 0x080000000, -0x100000000, -1/0, 1/0, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mta(1131170093,-699574001,-563023720,4622006,1391736810,-961834429,1286211850,-974031710,-440235829,1424476291,1447431664,-1840472206,-1347258755,358059765,542122972,648122343,488718099,684793548,-13440296,-936808336,-1128206935,1542807120,-1493848882,-1925604391,604516199,-256976225,67174128,978019531,-958416139,993026662,932781986,-1920984662,1576497110,258107358,598830447,1439575179,-1406750354,934501171,-1587917353,-972866632,1293946367,-1786848573,-638876828,-1915188422,-1078397729,1509820453,-1979193257,-103270655,400459849,675698320,154373134,-746247882,208685347,-1868824831,-1085680436,612496936,-126950958,1891660557,-450274873,-761721114,-2018157133,-3561573,618356123,817463651,114884281,-1727626569,-2070447376,228029022,1219500951,1925517817,427623242,-1479204304,-920953615,545789083,-787063033,1185786948,-1989466412,1050918250,43260066,1030096427,1929575606,-1035566353,-382323870,2017021030,-889004265,448480614,2084151621,-1904133338,-1234980026,-1532036695,-1227531060,-52255372,-148089133,635532735,1889944392,550613544,-941225132,1545668990,1436131413,-230634385,-901177975,-2067585966,1522970300,-1038696160,1993147340,2003133293,-1912711643,-1773227953,-846416444,418463006,288231946,-527546110,-1918825653,-19932913,-334992,-2123156275,-1280023283,569334911,-1270086960,1465998060,1190247936,62722046,41731579,1111576790,1094905548,865745974,-1817794723,-1777663343,931490721,179173200,-1710558605,2101658272,-447568993,1039320121,951063576,875486276,-257961172,546655745,-889079947,706967278,443257705,-193607121,-953072648,-799300848,-1893836756,-1057611224,-751735140,185304718,-306494421,619767834,-5313151,1282890869,-219720511,-1549828596,961872815,2086094369,-1552037516,130154803,-2011556315,-1310710549,1581206803,810111112,-659092036,1451289437,-73343362,954754609,-125327141,1632913701,1646365704,1960084347,-1196724983,-1503825023,-1853610243,-1015235432,-210739281,929327485,1028817352,61235152,-1250391950,1649414395,781797826,1663576925,-403082882,-125704355,-2061242889,-1032318803,757406468,499118406,-1322936422,1698484746,-532023087,881867758,-1614279692,887418542,1784891589,-1182144679,-17986437,-1150673716,-927811418,-433615493,-1634254172,1157427110,-231422491,1488401510,349989921,149454690,904282062,-1734271289,-135200817,-861903917,525253540,1208345010,1905436071,-1156643151,-1705970780,1825961791,767279752,1100804559,-447364160,-1627796619,164126787,-1216770422,2043819067,367250301,-1776890367,1602387743,-869398976,930138374,2026281804,-926269975,-422961730,1155740213,872182509,-1463659901,1461085227,-404308759,1695301121,1373489251,1116597336,1647936764,-1239558980,516309436,1188904290,-1998187519,-1862153909,1474232077,-803600251,253167574,1507212888,802318152,240401462,1398066557,294353465,-1449334493,-363489489,1563032418,-1102201748,-1562352371,-1591908221,-912833562,-664677535,447386268,108777932,-1349599541,-1982904674,1168182455,580949831,-684132194,1237665866,473063124,-2014385947,412676141,1992735116,-1494787514,-204468454,-1891021992,-378890769,649091936,1206100827,-735381784,841635107,-704056310,878576899,-20192192,-121471099,-1193518961,-2059104019,1100698242,-770020134,1941538733,-70847453,1772071455,-169633712,-1527737040,1390232640,-36462835,308545041,1800004022,-1391304507,-1225186102,1462124894,-127879221,1323019565,-1432575971,1963865721,532643367,-1120072509,-238481072,-1367600569,-1648254940,469949700,-1846021441,184062682,2057069599,1428947932,-1103463441,1693852439,2059135199,851802023,-1545222583,-656229538,31046862,495443632,-267648811,-1079103806,-1894293070,770084541,1144157982,589971646,2057294902,1486499534,-1396529134,1834626539,990140639,2052033825,683310816,471463494,935358604,867542888,544584086,439188897,-175892879,588187512,-706622310,-514892454,-1430228165,-54681409,-118413287,-1914520445,265932909,-320877485,-1979529157,1026499796,-428707344,1365768038,-1765913433,-1989806711,-768075055,38265954,2095292966,1900028500,367605486,1729365699,515819518,1891046778,386756311,-282537405,-1649358887,-364382385,-364649672,124342431,-164690342,1362887942,1273185652,818509909,-870752367,308110228,-2071256556,-443893885,351006333,-231604330,836118237,231744347,-1938265561,-1844248195,96246942,-1584086505,-563150297,1714339183,42814933,1437402261,2123915122,-1714327825,-1631183329,-1106443455,1876654838,1489199031,1994063917,-1886251772,-435406510,-1757143904,-734087764,1874236860,-1800327615,-951270769,856782886,1804950153,-280151205,-37242951,-642415872,-336132962,1380376532,-230924145,-603299921,-463582013,-646421214,-225293196,132394157,1081766446,-2066389053,1924602557,340990705,1643594950,581798059,-388478982,-554267998,-1996250327,766713091,-397417739,-1245541971,-677604515,693878960,-1914050509,-1141072451,736825358,-1356654287,-2007389045,1408137232,-668532527,827644073,1329081430,134188070,928846896,688408383,-220199123,-1496072611,226491900,-652029891,-320356657,1832751075,-479311174,113675076,1984184652,2114944161,2057185139,339423983,1512311364,2039238784,-2014433208,-1897219640,318797706,458398319,1524708251,-1372025258,-482560028,-1257237163,-914126731,-1080202763,1782340745,-1561369791,-1608322833,2024458733,1960464829,1380557735,2042906823,131388763,969774531,764006235,1607969075,-181977913,1911091703,-1479164707,-999346671,-1014061070,-429886520,182247967,-111701591,-347645674,-1599527717,-1173783118,1332735934,-1537113468,-324748571,791550478,-1354260261,2055073001,-665191934,249046307,-1682342804,-442997695,1262719008,1442104919,-1217859721,829026136,-1730495080,-582797368,1363167523,-1026043091,-1994661328,1182585626,-813890582,-1769483591,-818240583,-168432804,-1221037424,-1990643622,-117432037,-1691044098,-836870085,1428024290,-348045570,-280849089,-1324991868,-1773352042,-2045048586,-1506327638,-103170204,196235593,-1727419527,781334420,783018387,434737470,158678808,-803832837,1150000002,709041305,-804948033,-1457833822,-28303038,-738690916,-1383041303,-1710432174,442102123,2131342393,906132774,-1449339902,-1391326580,359468905,360630327,-245629696,-1309013421,-1811603577,-1924664058,-588754941,983876033,-1565291299,398181609,-207737783,1831298799,-525350559,1217056101,-1087750757,516421821,1324885584,1408793426,1445505313,-947159199,19473223,-1464899983,1488919652,-59168415,-1463272876,1366662585,702878229,-1812191618,-1584448846,-1770016446,-1396738636,-2046994416,-1175519200,1961750457,1615066220,1897915819,1542492411,-213095718,1486059601,1644471992,-1828385463,-1328189532,-53429841,-760402307,631349210,1826554171,112074201,1743468261,254386673,-601386493,-1296788237,227431544,1282917186,1958401982,-947778165,730809633,-584302879,-109443809,2049012966,-1386170857,859547470,-1916085543,267517472,-1482822166,-591075631,1168104620,1208551368,-1562579049,378755959,872296181,-2050403630,-270126312,-157106305,1479460344,1990450251,627193554,-528626690); +/*FRC*/Random.twister.import_mti(41); void (makeScript(14)); +/*FRC*/count=478; tryItOut("neuter(o0.b2, \"change-data\");"); +/*FRC*/Random.twister.import_mti(54); void (makeScript(14)); +/*FRC*/count=479; tryItOut("\"use strict\"; ;"); +/*FRC*/Random.twister.import_mti(60); void (makeScript(14)); +/*FRC*/count=480; tryItOut("\"use strict\"; for(let c of ((neuter).call(( /* Comment */ '' ), (Math.hypot(15, 21)), (4277)) if (((NaN = \"\\u3AF0\"))))) throw z;"); +/*FRC*/Random.twister.import_mti(226); void (makeScript(14)); +/*FRC*/count=481; tryItOut("mathy3 = (function(x, y) { return ( + Math.hypot(( + ( + Math.pow(Math.fround(Math.acos(( + Math.sin(( + Math.atan2(( + Math.fround(Math.imul(Math.fround(x), Math.fround(-0x100000000)))), ( + (x > x)))))))), ( + (mathy1((Math.max(Math.fround((x , x)), (0x100000001 % Math.fround(-Number.MAX_VALUE))) | 0), (Math.pow(( ~ y), x) | 0)) | 0))))), ( + Math.max(Math.fround(mathy2(Math.fround(mathy0((Math.min(y, y) >>> 0), Math.max(( + x), Math.max(Math.fround(x), ( - x))))), Math.fround((( - x) / (y | 0))))), (( + ( + ( + (((( + ( + Math.fround(( - Math.fround(x))))) >>> 0) ? ( + x) : (x >>> 0)) >>> 0)))) % Math.pow(Math.fround(-0x0ffffffff), Math.fround(y))))))); }); testMathyFunction(mathy3, [0, 1/0, -0x100000000, 0x100000001, -Number.MAX_VALUE, 0x100000001, 0x100000000, -0x080000000, -0x0ffffffff, Number.MAX_VALUE, 42, -0, -0x07fffffff, 0x0ffffffff, -0x080000001, 1, -1/0, 0x080000001, 0x080000000, 0x07fffffff, 0/0, Math.PI, Number.MIN_VALUE, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(-990569355,-525701816,-1506838007,-1103231147,1852034130,165908793,-1236691952,749024821,-1066783560,1085693041,-429165342,857095256,169276581,-69266064,-669079304,1705267161,-933048119,-607700561,-1116938982,905611903,1780384645,1392550985,1530993392,-1178878511,-1257453727,603405246,-1501525487,1388259935,-2089895023,-1831916296,728961494,-2035002082,-1301038526,1598854453,-1699453398,-1678069628,2033025275,-1571912134,-870152979,2009143979,-1067866706,-1261256349,2008587572,-1980963098,-234342165,-1420406588,-856888224,537392086,-1292856043,166083579,-253737818,869739137,-59195204,-1127571236,1418096720,1249063333,-1620576776,-788382897,2104997276,-2131356606,-1621085294,1284189786,264161702,-1989887991,-1898353685,413830883,-386713735,1584138992,360328566,-985855536,-1401423635,-1749466578,1805900243,295792563,469508047,1886372567,219708690,2022589590,-2140182895,5041048,-1784529165,726446210,-1992582412,-849269085,-360178066,1669025388,-993117599,-1118721429,-1048367596,-1573044273,-1791620180,1110949741,1911650226,2000473626,-1274455152,-816332977,1094622897,478396462,-631948799,611697689,1287239434,-153474254,-996997935,807735750,-145832130,681538746,-481949792,-31660166,-1858361017,1507278886,-225380436,1455675210,-1609330878,-1333759406,1329002496,266871264,1007351228,-1390513160,-488006356,-629604837,-1695928063,1445507609,1950172041,-874493544,-158364892,568187381,1145174529,1154551289,-1553876990,1842640514,1963995161,849889897,-379329193,854844319,67043100,825939598,424963108,-133959449,2136123374,1144524500,170487146,-1647804226,-1143625452,-367043841,-92802746,1942046245,982284158,-1713934356,-68902897,198036627,-362933876,-1257909624,-1600896506,1951939419,858131528,-1661398596,100786245,-1482589684,1665871479,-508767553,-340098035,1098702897,317131792,1968874074,2052505180,-1148412913,-1487228387,1659419990,-179677117,1121351994,-888198568,2036712912,956383784,482981481,1785904693,1339874653,674643453,-1992269241,1236238864,-2127358557,69456069,-1241390929,1554465617,-1351308899,-1737011995,663578665,1429170264,-337731305,705499476,-886511089,-917696322,-1087280546,-1499279624,2123643584,-1603412823,-1969129511,1528501183,62024374,-449652845,-1821625519,-792009952,-1382250923,539777393,-404991631,-1007275462,830233286,1215562077,462080551,-2055604784,-490214459,389633943,738932949,-1954624089,-357198792,866561425,1396850152,-238039056,-1871311241,-1058599406,-300765685,-1636461161,168270298,1700522526,-903015897,-2140515557,58013170,-1144672387,-124366381,1573372771,-716540714,1162292880,-292207109,-2071328601,1154094810,-2040604514,736396135,-246413153,-953318706,34274854,286793467,-1262733906,-76532151,-119540474,434799795,690026230,208234887,1920010644,1190501545,1156159469,1550517483,152660912,616680098,-1372454928,1252192601,1009506286,-1672976985,1521987233,-487254712,-494930707,1196155693,303684731,-1719038260,355819326,1036657588,1503047870,1148878737,1549625060,-1531248245,-1161040375,-314091111,1554525743,-915708883,-1205469721,-1257968659,1738757754,1598910269,1522406987,1243162068,432165365,1013275378,-1748051239,-1751006706,1964426117,2047769317,342140887,-1495446219,-532955901,-1234369025,-1403036333,-1420491928,1688460761,-1272404029,1255326843,-2120379047,-108169815,-985620831,-258344693,603355216,-859451317,3209596,-1265007479,-442926714,-64413178,-292038927,-296137894,133779503,2024301360,1536460559,1705795728,-952437642,1553098531,-1342941437,-952251204,-296207473,994322243,720408384,107510655,358351008,-892474218,494938653,936382589,-1161120568,1851330554,518621648,1527279863,363777408,107806614,1563203413,-879378135,-388099146,642008527,418078996,-1407850486,1198092783,-364783606,-1623764380,1110931552,-347462632,1190727553,873300301,323668405,514948028,622380973,1286429457,1635187386,96468396,1057544904,1158930335,-1999836432,-614853249,401186138,-1474815666,316989709,754057650,-695821451,2128343577,-1648309451,875807272,215587706,-775687043,940013800,-1451471710,1046852977,554690201,1787688787,-774996464,-1813455385,-436066798,-387354334,1634316676,-787949102,-1830161467,1446044831,-1142916213,651391227,-1295380027,159931801,26475154,1719178601,-1718829619,-1245996822,-1396265670,63804528,-704589788,-444648381,-360054877,395567987,27617893,-650971644,-1590083963,1242992099,-273237516,1843864543,1632928610,352649261,1076053831,-525121037,-859430694,174315897,1923304568,1993796799,497677547,-594740574,-761729947,-792142252,-445800565,798832849,-473383994,-623173329,693944606,-967326089,945933437,-796854495,-1106706714,-2023582842,1396979566,298994822,-378525271,609446240,1190261625,-306903193,-1869185334,50266963,1870082114,1825124327,951826136,1555893519,2112201349,1853190748,-756375552,-1284394711,1544189692,-175463225,495028570,-1793853856,1482527562,-1959733299,-1574803680,-307633058,-1394418804,-381005269,671623049,-556880216,1370979513,1511481734,-2040991508,1535866570,1896806959,-443420940,1424805699,-1991354491,-1152879683,-1518716035,528616475,1803778171,1893058113,-376677226,1185953460,-1444931297,-854969502,-798233806,841413004,1022936140,-2133961875,78461115,-3962173,-673309986,1487579957,1930377014,835075502,-55095142,-1975161097,-1136326517,-677667544,-602454309,-1056444973,-744008807,-1074130954,-2024086498,1338849236,-1069506584,-954929095,-40946082,696751941,1049875608,1205636326,854085542,-616169783,-997380075,1921165537,804971254,-1228120813,334328470,-755628458,1083000608,-1763241208,857996247,1366593561,581953234,-578537993,116799513,-450916066,133798033,1456687239,616087088,-395655749,-2079980613,-750572607,-190862461,1386758768,-1471863962,-353286444,-601376613,-1146649525,-222192174,1238891777,-422619113,-1700504293,-559525326,2138200836,1865707289,-1592891157,-1905853590,-1282114192,1894635909,-1339486215,-589209337,555082218,-1294966196,1920230928,-496820626,-354167594,-1225073395,451784433,-675432036,-727290992,-1816696793,599422850,-972526771,150816535,-1554101338,-278892759,-1937971837,493438444,26372769,-1673205296,-834790026,-1536703303,-2107159992,-1347634676,-840714548,497781364,-489532066,-1036636247,-713170460,423662466,1209644365,-908114329,-1313589893,1364737639,-1040916483,1009423499,-1203027636,1808483785,1498857559,-63700754,-309223375,-1642739118,1928263054,-2110987326,415843899,-1866169159,-2008693639,922143223,366232262,-1007472047,-1929007195,1427583314,-185624226,-241523186,483654532,1996609919,-903148869,-1536754088,-1049440545,1037813798,1095352838,1617809210,1310498986,-834956656,1944004980,-974469359,1267843107,957740618,2023638581,1609697532,-1589949662,-1747979282,-1261301148,1819119424,19516817,-367238476,89439850,-331485239,2088976609,-373260611,-1072599446,710296921,-348237270,268657285,560599955,-2018452971,-829588409,-1611324313,-740002047,1506103713,-1545758740,1038455919,233789076,32522531,-1022501480,129243972,1880990392,465663766); +/*FRC*/Random.twister.import_mti(57); void (makeScript(14)); +/*FRC*/count=482; tryItOut(";"); +/*FRC*/Random.twister.import_mti(63); void (makeScript(14)); +/*FRC*/count=483; tryItOut("\"use strict\"; mathy2 = (function(x, y) { \"use strict\"; return ( + (((((( - (( ~ ( + y)) | 0)) | 0) >>> 0) ** (mathy0(mathy1(x, y), ( + (x > Math.fround(Math.asinh(x))))) >>> 0)) >>> 0) , (Math.acos(mathy0(Math.fround(0x080000001), x)) % Math.pow(-0, x)))); }); testMathyFunction(mathy2, [-Number.MIN_VALUE, 0x0ffffffff, 0x07fffffff, -1/0, -0x100000000, Number.MIN_VALUE, 0, -0, -0x080000000, 0x100000000, 1/0, 0x100000001, 42, Math.PI, 0x080000000, 1, -0x0ffffffff, -0x07fffffff, Number.MAX_VALUE, 0x100000001, 0/0, 0x080000001, -Number.MAX_VALUE, -0x080000001]); "); +/*FRC*/Random.twister.import_mti(279); void (makeScript(14)); +/*FRC*/count=484; tryItOut("\"use strict\"; /*oLoop*/for (var aumghn = 0; aumghn < 4; ++aumghn) { if(/*\n*/undefined) m1.get(g1.s0); else if ((x = -9)) throw [z1,,]; } "); +/*FRC*/Random.twister.import_mti(407); void (makeScript(14)); +/*FRC*/count=485; tryItOut("mathy1 = (function(x, y) { return Math.fround(( ! Math.fround((Math.fround((Math.sinh(Math.min(( + ( + ( + ( ~ x)))), y)) >>> 0)) & Math.fround(Math.imul(( + x), Math.imul(y, -0x0ffffffff))))))); }); testMathyFunction(mathy1, [-0x07fffffff, -0, -0x080000000, 0x0ffffffff, Number.MAX_VALUE, -0x080000001, 1/0, Math.PI, -1/0, -Number.MIN_VALUE, 1, -0x100000000, 0x080000000, 0x080000001, 0x100000001, -Number.MAX_VALUE, 0x07fffffff, 0x100000001, 0, -0x0ffffffff, Number.MIN_VALUE, 0/0, 0x100000000, 42]); "); +/*FRC*/Random.twister.import_mti(553); void (makeScript(14)); +/*FRC*/count=486; tryItOut("{ if (isAsmJSCompilationAvailable()) { void 0; validategc(false); } void 0; }"); +/*FRC*/Random.twister.import_mti(565); void (makeScript(14)); +/*FRC*/count=487; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(574); void (makeScript(14)); +/*FRC*/count=488; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(587); void (makeScript(14)); +/*FRC*/count=489; tryItOut("v0.toSource = (function() { try { h0.keys = f1; } catch(e0) { } try { Array.prototype.shift.apply(o2.a2, []); } catch(e1) { } v0 = evalcx(\"/*MXX1*/o1 = g1.Symbol.keyFor;\", this.g1); return o0.b1; });"); +/*FRC*/Random.twister.import_mta(-1131211138,-1065560926,-1263206643,31918742,-2142204760,-945278806,499304352,-251803640,473825644,480805536,-1169971734,1188621218,347294630,-1437036021,-742696114,1840852890,1256444654,-640353013,-1867398514,-1110065765,1509477202,166978584,-1021010610,775672840,-1049763051,-2001209724,-1625287246,-193543440,1910251684,151291364,2126481418,927772541,608459333,-1104444868,301412030,269800549,212257351,1779041481,-1162498368,-1424227046,1631827790,-1770673468,-1475041025,155647617,2107838443,-1195845480,28607826,-630744109,1537433038,1677415577,-1309810768,-609382742,176791341,-485658707,125393840,-1429618303,-301227677,356033205,1890503776,-1505999521,552968601,-1371570740,1353768889,235925016,-411367902,-1853231313,-268937707,235941376,-581104085,418207351,326502946,-1613337856,-1608631640,1749151650,729431875,-1161218558,-337854621,1160267084,-2128504801,1082063935,-363046985,-2084099740,-1334505382,-1257991969,-1230416113,1189125041,-299371857,1582449554,-1882545186,2020821616,592875936,-59405364,1226625004,905858878,1215246955,-361067247,-591927743,-189830401,1574257115,360652882,1780057472,-638659483,-2053718764,1028742022,-1320146109,911907649,702364474,-181544372,-2071894616,-1118930835,-1205682076,-459903966,183008089,-807510170,-318417372,-1037909435,-1389838921,-2085268668,-1109183789,850587720,1756935368,2108703529,1518501832,343124619,1760048334,894351029,150227795,1633486212,-960285512,2137115092,-1589021695,526983224,-1308285184,-476290592,-226574447,-1169102049,-1075517859,-1475024277,-155554566,-1767645550,761149405,-1679638585,-453354825,-563760379,260603108,-1858412996,293794330,-446133639,1084931910,-82766416,-18534915,-768775349,1283987326,-730812184,332858026,953816483,-773418321,1037092352,-1331803646,-1530116204,812222112,-1194871949,1811246922,-52461357,-1192990125,1928243357,448732002,-84190039,-1654702989,-938068707,-492361542,1852724378,356550697,-1258771970,774003400,89549400,-1419884533,1896055758,1516374111,1444738840,-685805094,62162985,2133344799,-908006103,-1110450764,-524501353,142679564,-1804319115,-2126049794,636439129,1073052181,491636694,-1317957648,-85886977,431148066,-1089144541,952943377,-753951453,-1890803317,-916571470,1476984859,2110557699,-963963097,1624429708,-1297985577,-1201271269,2029009413,2118105609,27999104,310736254,-1520735764,2005500966,1700374681,-508430972,-1374567199,-160785473,1321636739,-1281888248,-1211844997,1978658296,2028361858,1061331867,-1108444945,439370954,1175355837,-185088551,-24973536,1266173712,-354816311,-703109051,-1348134732,1528641572,-1513276473,518892527,1007106404,-1113672196,2134787015,-79242503,-681815040,250433905,1323842032,-1345019443,-1203446500,1584638357,1189673239,-1450621372,128434960,-494620549,-1093740878,-945280874,1012609369,-696967955,1961770743,-2127167931,1666859260,-2054207701,947785536,-1769422173,-840831436,-1270872921,-1292941990,1533903137,250725823,544051736,-784364578,-1801773646,541668608,-1523650411,2044638935,1598558007,-1258554296,-1195818553,2066881969,1919233647,1825152146,-269162956,1190643315,604260245,-979426349,-1738128738,-1461875030,-453342547,247876652,2100380247,-1621183248,-1715756482,1677883263,-271400977,-74056584,-1142324854,-1928131290,454743232,139433308,171334686,-172437105,1008288369,1226205791,-1407429928,-540141634,593119283,445469537,1433316928,1418358181,-1661986098,-1612948092,-1116362361,-189001881,-662018049,-1604693153,1194627860,1005980545,-717770415,-1463535959,713904593,1261044786,368455358,1927105056,103835627,733818397,-872646899,681252186,1061402006,-452048391,1748725477,-25686977,1591950864,-1562256601,-690235957,-1383998018,1337732908,824503052,-1487216826,-857304215,486397759,-1162448002,-442836584,-1997837727,1112995707,1738021979,-1706709156,-1064901960,1719764269,2105335570,-1651261206,-2123715182,-1570283593,-1993101480,1826537904,-1995048631,292991333,8365612,-1198328681,590853740,-1161841098,-2026353577,1361830397,628631744,-1490699844,-1367315751,-301556876,-148748367,876926454,870295692,329952555,-2131503773,642167510,-442315365,1495961420,-346659067,-864143778,236583480,-40321420,365056806,-605816136,1694839364,-1654251179,-69670663,1423038358,1206093170,374725387,-2112625035,1378994322,333086129,978434129,-778270450,1650396004,1024868985,485555618,1901305070,-1745446556,-888873943,1461668707,1111812396,-1993004117,1138905045,873343061,-1368054416,1050571993,1463808678,-1222422871,589620052,6563737,-183325515,-1019599071,-1698825004,-1801181976,1744349947,595218834,1461381286,-989130245,215530440,210179835,-1078410780,1261459407,-36282942,-1985074243,-2006978990,1843187365,-1489137995,514047132,-1297463142,-1043989164,-2001772286,-1751063491,-816691633,941266899,1856265007,1865660725,1421467139,104562540,249032690,292531563,-156841290,1920581941,303133612,-1657020231,1133790958,-745563197,569960928,-1997262509,750605983,-2122935371,129602876,1674388288,-1329887106,-637465314,-731897808,1244573688,-868453147,541189106,-560149045,-1917113124,574518027,1380705218,-367389457,-568344446,-1253084385,576562404,1033380245,-839332258,1207882537,578509634,619785365,-1537183931,1571794759,-1129096849,-72305612,2003804779,-1221083366,-2044758703,-2108051919,-2117939827,-1035695920,-257634142,454030925,1310052257,-1739247763,2146845526,-1315731705,1422815491,2075604614,496884691,1212431446,657974540,-1251572528,-728380953,15354652,1235316111,-1155242610,420263108,-1576858546,-1731644779,-1109385575,1074763408,-1369605871,-1186464797,-285542428,-1515450591,259255267,-1589530270,1089136352,-1237458939,1570108072,1420532075,-1992714857,513053393,1758422945,1268444084,-1917932651,451206559,139059517,1749407842,1566625988,493009302,305263024,1375396012,1874010072,-499112897,1688467778,-1495461361,-2084972364,-1299469254,1708358857,-1469565374,755000827,683022306,1943058630,65364551,743742792,1706812050,-377360219,1571390429,1762381344,-547171415,-1294380489,1888049043,384411861,-2114285832,138519045,-1184164998,-1003104614,-1810053588,1531087944,-350433361,135402243,1285693606,13051278,1772662910,1754654864,-2080402785,653175775,-820959600,-1494181605,-933286955,-1703175158,277198791,-228901696,-252296850,1459515562,1964264520,-606065243,-1500261416,158845859,1028176533,2085418764,-2007466852,-716223883,-1175349121,1738011852,-1475294000,217657961,1547763569,1611959187,-2082894277,-735057849,1453301316,2080188876,973630083,-1067473008,1834896302,406317654,992311765,51945169,-590741648,-104309329,-1910207526,-567247639,-802416668,324607166,1244675126,-1470660996,2083751341,986466803,1088773726,1993575218,-70532460,-2019962967,1416688394,-1951499820,-1939995343,-286405662,665808241,846227054,479328342,-113682409,669725255,-629782152,-1215508640,-2093430513,-1704475481,-1602132604,802326514,-1263720056,-840120026,-384113235,1623021336,1343021964,-839682205,-823141587,1673660384,-890296823,2079104649,971936734,-1338200497); +/*FRC*/Random.twister.import_mti(19); void (makeScript(14)); +/*FRC*/count=490; tryItOut("mathy5 = (function(x, y) { return ( + ( + ( + Math.pow(( + ((( ~ (x | 0)) | 0) | ( + (Math.fround(Math.log(Math.fround(Math.tan(y)))) << (mathy3(((x * ( + x)) | 0), (0 | 0)) | 0))))), ( + ( - y)))))); }); testMathyFunction(mathy5, [-0x0ffffffff, Math.PI, -1/0, -Number.MIN_VALUE, -0x080000000, 0x100000001, Number.MAX_VALUE, 1/0, Number.MIN_VALUE, 0x100000001, -0, 0/0, 0x07fffffff, 42, 1, 0x080000000, 0x080000001, -0x100000000, -0x07fffffff, 0, -0x080000001, 0x100000000, 0x0ffffffff, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(190); void (makeScript(14)); +/*FRC*/count=491; tryItOut("function f0(g0.o0.o2.g1) \"use asm\"; var abs = stdlib.Math.abs;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var i2 = 0;\n var d3 = -4503599627370497.0;\n i0 = (0xfee435b1);\n d1 = ((/*wrap2*/(function(){ var goameu = window <= ((encodeURIComponent).call(window, )); var xgzwoo = window = this; return xgzwoo;})()).call((void options('strict_mode')), (4277)));\n d3 = (4398046511105.0);\n; switch ((abs((0x37c9e819))|0)) {\n }\n return +((d1));\n }\n return f;"); +/*FRC*/Random.twister.import_mti(472); void (makeScript(14)); +/*FRC*/count=492; tryItOut("const tjubeg, vbnvvk, x, nqtegg, voiwvd;g2 + '';"); +/*FRC*/Random.twister.import_mti(539); void (makeScript(14)); +/*FRC*/count=493; tryItOut("Object.defineProperty(this, \"e2\", { configurable: x-- ? (new Set( /x/g )) : z.watch(\"constructor\", ((function(x, y) { return (( ~ (x | 0)) | 0); })).apply), enumerable: false, get: function() { return new Set; } });"); +/*FRC*/Random.twister.import_mta(1587551880,-1804780033,-137311262,588031232,1672495052,-1141649563,-79379675,-727516062,-1695521352,2061072398,1075192899,1564691829,1227876385,1694832239,2052817206,-1698092909,-19752555,-1248936827,1313621423,-459043845,1764048041,-2035302382,1237210776,185862607,-2053241322,-952144933,-308574907,-1212393955,1016648993,1375444778,-308453804,-543996930,422493810,1177319597,-2140309626,1778196298,-562793586,256615628,-927604172,859151689,-659206495,-319156928,1432354508,-1956355659,-1658126343,1197725589,-671719818,-580245863,1928599437,-862531608,670591149,275778476,-1999641349,-1658822637,30899395,-869067931,-2116091321,-766676257,1409897202,2084377356,893524482,-859242858,-889243310,1950568504,-206103542,-905595072,-479692731,-368469875,1775059595,-234114779,2021955563,-415718834,-230718848,250347855,-1666820468,782395326,-1842286076,-2103997795,-1222508191,879998057,1041618916,-374796502,-1757115981,-1175769634,-404412716,-429951522,1209976005,-1299983041,-1465094945,289473484,2006689897,-542506376,66294619,524035492,888980674,1253268838,-1555000528,1505716515,-1275565110,-604621532,273929676,1303950697,-1499999,-1052097634,1947737466,1232826165,1849521229,-881252541,-650437064,886966163,970055077,1372727014,1024193068,2127252015,-1873016417,-1828962624,1555566644,-708257786,144939144,1542407612,1167111540,1239598758,904689557,-1211252013,824461247,-123606593,-1731808128,241303463,1460073224,-92491239,1280438875,894832328,343265890,162930610,-1719056755,-1343156783,308287043,-914070454,1004058842,-649198620,352543172,-483115135,1330739751,-2081298200,-1669224142,327415109,1084242508,1749503136,1898621566,-423820369,-1716079356,248636207,-1446524181,1862609546,1249156254,386621587,-1766373163,-2110473973,1122210829,-1435500656,1973233672,587515663,-764199682,513452115,1189885769,69748242,-1724013538,-1410606614,1968953037,-1541611992,-825839054,-197197817,-1301506001,1541938957,1592511069,-323805367,-78098468,1612078263,2106713544,1349685537,-488989112,1724069440,-794391067,1188037772,-764176831,1196954071,1341877397,-1184113840,1172020777,1489137980,-561318897,199351110,-1370999018,-460449683,-89044509,-6121308,-261480432,-1468175576,-1620779059,1922432891,-207747884,836977304,-63475849,1857314006,-493561181,-687813709,-1165585011,-101923369,782862584,-925106802,-867693197,681356700,-1430307227,1853962027,-839943438,1254543510,-735629022,737152591,441098724,1820315597,1264227953,1225807749,786048389,1893783048,-660616006,1185932366,-712995385,-222013133,1718499586,-1610463304,1317157138,-396487952,1838000717,-448307305,-898783588,2087187588,-562911827,733482563,-2093132526,1851520217,-337119658,645525432,1828211846,1152275905,-1588977753,228566055,1290363673,910317552,-444869543,-1902412053,-1188677786,1726065074,1588405286,-1674140357,745751895,1621611137,-1011396956,-1955747506,482079090,1079581919,-1299052318,505226630,2043401798,-152324511,1158031893,-1735296844,-1196796452,1028826389,1515633156,1327628520,1311797641,2042315262,-413536131,-510488513,-359639677,-2004401045,1201429757,-1673573989,1547905763,-593419346,1985320346,1186224853,1805845137,-1905240001,-1634688064,-1090463342,-757269468,1216930878,-1858322861,-1938374719,969816664,-141502812,-820078257,1086103645,755861866,-733034629,-469395383,392404020,798832264,1718721519,609965679,803983489,551185113,-572597050,1160113793,1416934925,-1052887223,-147829100,-1976351072,330775724,175654313,714050911,705785321,1837876956,-1200045472,-1849505329,-1957592858,-78803016,1667008801,1472076278,10354543,-1619832607,-1482270005,90449392,919533099,998258310,697528094,1184054035,711369471,-411342553,-756601795,-1956387823,-1643301771,1936084466,-1179366513,71703511,-855782159,-1827314857,1559294280,1565033328,-1803339674,-1360894442,-1674191179,470632189,502515458,1278889764,763372900,-669845233,-1739510069,903062659,848037959,1623170185,-436325724,1112679028,-213114,1169876840,-370250041,-2112260120,1112884082,-152288923,1402238281,-2140761397,1059908507,-1961800659,-1700315871,-1878954296,-1243921342,-1180638567,-2062867282,140347195,-1120028718,-698318687,1047660569,841130862,-201515,-1781633315,-1932138396,-1169721411,-1661747595,835094798,102616771,-628026727,-1825895324,-1099363246,-216318791,-983562770,-1541963455,1295312511,687836093,788128309,-333595331,1741571039,-1715838184,1640248107,686062879,1650541685,1650152603,-447132831,1990596492,-469833339,-1026376674,-43373352,338082822,-1241075274,709119683,-1754988438,1104132584,-916985317,-582087070,-1765093375,-644137170,-844106061,-1144485137,1896890996,1689550417,32794880,-1222334799,1411154826,1152386312,-1222831269,-2073237817,-1092159134,762993253,248230888,1836617758,826163845,-603679938,1087003402,855571758,-77817714,-16041284,-641220616,926194678,-1282528165,1853457748,1331932047,2014609584,-1665894013,-1242692118,1709778421,-147665362,-1909215124,2065711414,-864357091,1190168768,1887089148,157849649,-196338468,422618748,-1734544449,909983846,277366240,1871320495,2038773615,-1647593102,-1514065838,-248736310,-918120185,-828213793,-1753582842,-193269194,1092452361,-144739335,699253457,-1394011605,-18542840,-1931176653,-260298277,-58792497,-1260639423,-1656257576,-1066902577,1976421494,-1738135328,-2009071361,1884943152,-245342400,954680378,-1785847316,1668726629,200341517,139549564,1933320199,-654046004,2016410978,1557058812,-41870649,-1358939611,1385922532,1758089313,596090868,-2097244794,-124341252,915167627,-117839813,757842422,-2063812697,-1870580569,1763416399,-2027126003,1669648610,-2074432297,1004156929,-636999959,1249751084,-248763924,-110340492,-376803185,-1831959355,-158383408,-1168985074,-1340027998,-1313766055,-607910660,1618318440,-1494896193,610147585,1268762361,2113335164,-1899858667,435779136,-957577263,-1065690022,730667627,54040517,376793835,-24405485,846272715,490086856,-1928191404,704818679,1906313617,-489853178,22687373,377247106,407839253,323648464,-682613644,909772002,1208714916,663070154,-707165116,1027874503,1448098232,-585326613,1665080294,1667908041,886508327,126101873,1842987003,585938616,-54654343,-962128973,1689166107,-1747365841,323697823,-1627371120,-1181215640,-1310080459,720736888,539993118,1678188161,-2081753534,-220481673,-1757848295,-1352670035,-1732706416,-414662144,-1159069570,1128396638,-1423603302,-1259261420,-723633946,-559980136,-1285736915,-1515210195,-1310777059,312728463,370194782,-370817137,-959959487,1735934001,1809717456,201519311,-989122043,-1270493735,-1627764073,439941910,-1518433072,721900709,1811955236,516532487,-1334591001,-1900903973,-2075851821,1607431077,1650851518,-1192588488,155661030,1225059816,-117594871,-423305246,-1685679370,692188336,1891262017,-1312253239,1778446014,-561440101,246038549,-1016349018,-376418389,-380786563,-1550425731,1234322248,1030376947,16382587,-1861686949,308469876,372195375,633684163,-2059744080,873673968,-478698611,218848223); +/*FRC*/Random.twister.import_mti(49); void (makeScript(14)); +/*FRC*/count=494; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(59); void (makeScript(14)); +/*FRC*/count=495; tryItOut("if((x % 3 == 0)) { if (x ^ x + (new -2(x, this))) g1 = a0[v2];} else o2.__iterator__ = (function() { for (var j=0;j<39;++j) { f1(j%4==0); } });function arguments(x = ({ : intern((timeout(1800)))})) { yield new x() } ({a1:1});\nprint(a0);\n"); +/*FRC*/Random.twister.import_mti(393); void (makeScript(14)); +/*FRC*/count=496; tryItOut("const d = /* Comment */((makeFinalizeObserver('nursery')));h1.toString = Promise;"); +/*FRC*/Random.twister.import_mti(453); void (makeScript(14)); +/*FRC*/count=497; tryItOut("a0[8] = (yield (4277));"); +/*FRC*/Random.twister.import_mti(489); void (makeScript(14)); +/*FRC*/count=498; tryItOut("\"use strict\"; v0 = Object.prototype.isPrototypeOf.call(h1, o1.b2);"); +/*FRC*/Random.twister.import_mti(507); void (makeScript(14)); +/*FRC*/count=499; tryItOut("/*tLoop*/for (let d of /*MARR*/[null, function(){}, function(){}, function(){}, null, null, function(){}, null, ({x:3}), null, function(){}, function(){}, ({x:3}), function(){}, ({x:3}), ({x:3}), function(){}, function(){}, null, ({x:3}), function(){}, null, function(){}, null, ({x:3}), null, function(){}, null, function(){}, ({x:3}), function(){}, function(){}, ({x:3}), null, null, function(){}, ({x:3}), null, function(){}]) { o2 = o1.e1.__proto__; }"); +/*FRC*/Random.twister.import_mta(1986487617,223244925,-1300710651,-217406472,2040232885,-259232437,-598225017,1732017183,-368460691,-120841450,2130639998,1624328877,1027664873,-457769035,1506005541,1571387130,-1293964055,-1701122983,-1431495646,1522436154,1464558467,544157252,731883363,-2036079156,1148320848,-1027659752,-870504391,-1438889391,432246032,-355845100,788790005,2120851991,1094849543,-12746369,-1388760995,403612209,-198443459,1243837518,-1879976460,-851011777,-355893469,-549324148,-111958544,548339981,1955261305,1356557837,1002919566,-1501416487,1446106632,-1013179208,-59500278,-2074090274,1325691753,-270643496,-1348895603,-1234361261,-1985265953,-137424885,-1679836716,-343041845,-282925492,-1411520138,-312747238,-845054925,606034857,535035652,-979255736,1090978737,1592289093,1773039129,-1008699140,-2057231217,1789041465,-1827362658,-1757845488,2094380404,1076190577,1255780496,-1284990501,-294996814,204719023,1193596394,1065560458,2013424487,2071912851,-1908673862,1498240652,-1250853934,342775066,1598324268,-2133509351,-1972762986,1733575347,972684693,-1482212555,-381748636,-1017422395,-519709218,1087429476,-858432191,794156748,-806901824,-410410302,428400223,972008338,-1781779720,1723598231,652230448,843815674,2089551993,-1050450948,-1941209645,1357010712,729022494,-111225662,-538079933,-249534209,606361644,-1961749663,110512059,1869522346,-33004439,204219555,-664541888,1672790993,-1944484326,-172665497,683404865,-1304198344,28038113,685383599,386713849,-1983304307,-1076969874,-1085259866,854971640,630725800,1267730927,887628775,1506528050,2143456107,-929429202,1240691408,1774547283,84987449,487850977,1651744744,-443954476,-915854610,800136011,-357086609,-1972405029,442182334,131528951,1848838895,1425278726,-1128510143,1872767734,108839767,-439427692,823314224,-1731175350,-55544178,-1705963675,1712536968,-1888213939,-1490134142,1956382368,-1118729287,-2382199,73396956,2060778678,-1212332025,492362859,463474031,-1452138744,933035804,-1919564599,345916002,-2135790023,1640120495,-1488236685,-1970420279,1996051902,-1646462971,-718594491,280436071,1055804878,-1742408377,683114575,1606948533,-1302685861,-1068963764,-2008012278,1629021525,-934882833,-628345777,1392499946,-1081262905,1537932500,-535090572,-1370212990,1046397827,1354725511,340527844,1607297263,-859887996,669948477,-1784323058,-1792255784,-1966650283,-2097319944,757306860,-815271214,-1943093194,-1987708436,-2057112400,810491137,-1345409726,766317244,-1344111767,-1739922894,498412487,-1451939091,1464125143,1354716593,-312359015,89160128,491737505,-717641844,-953832832,-1772806580,1529311839,-1184817975,420447837,1547198052,874032360,2137020151,-1896611810,145952962,-1215690647,1874850918,-420025147,997331941,1163759253,366026097,1100981186,-50448016,-30793234,1997323472,-170708715,1797746243,1437387354,53230157,57086926,941107778,-1350768461,1633550924,-951214937,1477120118,-1338829892,-1847796866,-1166816802,262167528,1181468692,-744161510,182941034,-941481439,-120521992,1195585003,477274610,-567368808,-1189439795,-678966128,2076778803,-1393080151,1418397866,190659748,-1441827575,875477412,1435292525,54545690,677230739,-958173377,-1471185726,-223230010,-1882592556,2125744570,1961756233,-1313028554,-160884895,-627529775,-424337419,-752387331,-232206125,-1243472962,572497923,-735124552,793860519,-511213359,501870593,509406627,1379588887,-1145103634,-102016183,184496800,-1779264520,1227514111,251612092,-1548239999,-196272873,-142678088,-1191308844,1165047740,1687728106,1371968873,585284080,1752420182,-1581970835,-32371237,-1354177222,1836885647,-1416828772,1093965327,-54147427,1410952427,1989439511,-1553055892,1699914636,401769475,-986604408,-270433929,-327216127,-479293297,-36994556,-1925329827,-1408366323,-1357178024,-1561379733,1520683819,2080715541,776768327,149135074,-2520194,37322686,-1647181357,-1281913885,-1169260016,1038681847,-1939697569,1899273179,1363925635,-315582688,-901051740,1248239093,532415620,1084712981,1240514070,-1250797420,2030807030,653608916,2043607732,-1368014287,-238865689,59817611,1845854662,-1676473695,1028069692,364673644,1466804537,-1677884964,-1021216022,67457622,-997893795,912674149,-1895571748,-342224822,1036395914,-762562468,-2141356800,-1281965724,665226461,197689647,1547264962,219162625,-847269080,442244724,-1134185935,379854223,1404442831,1891540565,1791888388,1721666823,710202834,-593226683,359960875,1417655270,2131556634,-769443669,-690743800,1676528135,1370706796,-1301198893,-71931742,-2044246788,1954127510,1024535531,258295710,1965463468,-431990178,-1993990600,1496321453,-1381810305,-1142582640,1041529166,448665280,1119469962,2106594353,819768873,460729328,-685549893,-1364363080,-819787749,-332366784,-748139145,-1852869288,1003475281,-110865181,-1812301371,1104895709,1012705147,1339442975,-553464291,-1148984274,-1722286299,-1448139690,41866438,-802140512,1761693149,381350651,-2004997404,-239148883,917517245,-434458416,141706751,846352773,394992850,-478533545,218901298,1185647604,-1590622179,-108430113,-176849191,-477881568,1471209961,1708727108,680680400,964436144,-571988017,555354948,1088908306,-1146581122,-1847193645,-1151036126,1233267,1368324696,-377113360,1354615377,-1395044071,-1470812887,-1035039011,1069246638,434243841,-1665723550,-2066562840,-962982322,729751245,-15457821,-2087419602,-916715901,117741555,-1544441070,345648164,-747956734,1329162290,1619370267,-1769751109,-646009778,1018250129,-1414527452,249499947,975213034,300573440,-1349307992,-1854422310,1671827956,-1777662105,-235414134,1152406209,-925303108,1285696036,-1087599124,419162882,833999036,868952146,-692494797,-639422148,-2048712240,2013785202,1970594452,-1628239122,1772031665,-1621899848,-843552,-187817542,-1077299178,226203029,-929931041,1156656516,-1438014251,1767475658,-1844068610,2032936532,-1165272258,1176299026,-1994644367,565689451,326295781,416677001,-1640809165,443002617,-930222902,-749038279,-1630750407,-603635414,123369044,-2011190853,-1353703578,-746904342,-1422081231,1872623006,-1557000106,2062453173,-1788590374,434913957,151558742,2104572055,897728861,-1030174291,-1157975104,-429710356,111083419,-1085895495,-462395169,1942163964,1792182084,1262390839,80596301,-1164228533,-60242418,1214623504,-62981851,1834526521,2124027742,1639733713,-290241629,688368171,561001258,1340895464,493967919,-1516170636,1750492109,-224546529,1932632106,1905389529,-66181466,1547423047,2050803572,-55473765,391917791,553622115,2139722141,-2135569348,-81116728,-1965365211,1661455616,873978493,877265340,-1253711815,-1737106141,1739544251,-2103316825,-1336643084,1194933143,-878178255,613319987,1259924645,-547481425,-408744930,-1586286579,-1209583956,2074412062,-610065276,1255116725,-1138042831,-1483976957,907100306,1842041265,101929870,-435677659,-1315502301,-975984544,-1447652724,-1646163886,621936595,-2027365891,445081845,-492728675,-517727046,1677978463,1885163434,1947694428,-889615333,-163270247); +/*FRC*/Random.twister.import_mti(7); void (makeScript(14)); +/*FRC*/count=500; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var atan2 = stdlib.Math.atan2;\n var abs = stdlib.Math.abs;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Uint16ArrayView = new stdlib.Uint16Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n i0 = ((~((i0)-(i0))));\n return +((-68719476737.0));\n return +((Float64ArrayView[(-(/*FFI*/ff(((((0xff3ede30)) << ((Uint16ArrayView[((i0)) >> 1])))), (((-(!(0xbc1cca2c))) >> ((/*FFI*/ff(((+(0.0/0.0))), ((-2251799813685248.0)), ((-65.0)), ((-4194305.0)), ((-1152921504606847000.0)), ((-2.0)), ((1.0009765625)), ((8192.0)))|0)+(!(i1))))), ((67108865.0)), (((-3.022314549036573e+23) + (+atan2(((-4097.0)), ((2251799813685247.0)))))), ((abs((((0xdcff4e2b)) >> ((0x2238c38b))))|0)), ([[1]]))|0)) >> 3]));\n }\n return f; })(this, {ff: XPCSafeJSObjectWrapper}, new ArrayBuffer(4096)); testMathyFunction(mathy1, [-Number.MIN_VALUE, -0x100000000, -0, 0x080000001, -0x07fffffff, -Number.MAX_VALUE, -0x080000000, 0x100000001, 42, Math.PI, 0x100000000, 1, Number.MAX_VALUE, -1/0, -0x0ffffffff, 0x07fffffff, -0x080000001, 0/0, Number.MIN_VALUE, 0x080000000, 0, 0x100000001, 1/0, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(317); void (makeScript(14)); +/*FRC*/count=501; tryItOut("\"use strict\"; /*MXX3*/g1.Date.prototype.setTime = g2.Date.prototype.setTime;"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=502; tryItOut("for(y in ((((Uint32Array).bind()).bind)(((function sum_indexing(wzeoeb, iegcdt) { ; return wzeoeb.length == iegcdt ? 0 : wzeoeb[iegcdt] + sum_indexing(wzeoeb, iegcdt + 1); })(/*MARR*/[x, objectEmulatingUndefined(), true, ({x:3}), [(void 0)], ({x:3}), true], 0)) | ({getter: []}) = (({a: []} = (let (x) eval))) - (d = Proxy.createFunction((function handlerFactory(x) {return {getOwnPropertyDescriptor: function(){}, getPropertyDescriptor: function(){}, defineProperty: undefined, getOwnPropertyNames: undefined, delete: function() { return true; }, fix: (1 for (x in [])), has: function() { return false; }, hasOwn: function() { return false; }, get: new XPCNativeWrapper(e), set: function() { return true; }, iterate: function() { return (function() { throw StopIteration; }); }, enumerate: function() { return []; }, keys: function() { return []; }, }; })(x), (x = ({a2:z2})).eval(\"/* no regression tests found */\"), RegExp.prototype.toString)))))(([]) = (uneval(false)));"); +/*FRC*/Random.twister.import_mta(-526159621,1377293814,-1353627660,-2044147966,-251800298,1163006159,287368818,707471893,136287005,1114527188,-1509600745,-225553785,1293129051,2093959157,2011477712,767842772,1872778339,1799550815,2011255517,-267075436,1839694611,-1139028665,405264662,-1256478573,-1879905100,807742680,539421111,-1618375681,-1528140974,-179921676,1599616311,710132505,-414372163,-204959862,-1697012008,2082439644,-560833015,-1632692769,1443159830,-300754040,-1081035802,363372325,-538590558,724823943,1088153460,726898938,1817385443,1667935995,331112409,1773211735,-1588209096,-209280423,1900326040,1878328964,1001872937,682119529,23798778,442449155,-1994954754,1594042614,1821561867,-1421489598,-557709950,-1948225255,-1269206788,-1288253193,1123001381,-1234284018,-61768309,-931821426,-1962546999,1082174554,-1579189914,-1982711083,1104261652,-1594353818,-1176777942,74333402,-1313909737,-194097211,-595178730,-1672145429,1817543663,-1548527643,-1528018353,2017232738,-908874773,84820671,1327996429,266440936,-1672761595,-703344105,776226865,-2080097170,1321200856,-380666563,-552476857,-249581720,-591130741,-1046353919,-704377238,930382752,487858508,1347813357,-1245014896,-223520490,583388964,720299311,1912072912,-112033598,1523462118,276219902,1624171163,-1571004273,-1621002033,2127249688,-1377760010,1750046933,1703553812,986498880,1855906356,-1678799094,-2038933899,-2121574147,-1810268685,-1694614472,2011045057,1597843342,1354857822,-1395522717,-2114177978,-2059806064,-1043045884,1171239210,-1846081866,-1047094419,571215121,1601822726,733975501,787897553,-1961026575,-1216176766,114740039,-199417251,883990905,1272399425,-1482644560,2102974418,-942102740,-786289281,-373469201,-1883939598,538541924,1215436356,753204248,940579526,-1818198620,-369770360,1479928206,330821039,145089384,-993823988,675869027,996946388,1653365724,1053788920,81007630,-434361134,139862072,1797804869,471485809,-851811276,-891976507,830055452,2096065609,-1454125423,-319556975,1004457704,1700766053,-1244504625,-258879470,553638816,1814075904,-1223076162,-1944801696,1374089808,-463640785,532685401,-1370178056,-2097454600,-1267729714,-715025377,-597833690,-1909746482,1066022543,1142610700,776394210,1298546317,1230764889,2065004959,-2005663122,562355456,270810257,-1111411746,-850722634,-33769530,-2144308620,-1225233866,-317037713,-361081241,750118477,1350736248,-1044648116,-142579912,-2129570666,-351803180,1557050893,855026034,-771862365,-1803623010,-1367015548,922106246,-374223114,-2097701858,-985632933,1698815752,-1259565703,1997302004,2022377008,-859598156,-855488476,73850086,-1058394508,-995125885,70714663,303285609,-455684496,-1585491432,-1227367706,-807525968,185646534,-577277843,-378150663,-737795082,-123549384,1462666044,-831792084,313693156,-945974481,-1144590013,1501605741,-1524332135,-1464106719,563437648,-2088395042,710717396,-2048287278,-436843589,1180060450,-11229341,-1155079627,-941604297,1003465768,-39339517,-1216517550,326591907,1424718407,-1007104358,-285099761,-774073765,69516875,-2057429811,1083211442,-2000733787,-333858192,2046417804,1814007301,760926307,-1450049909,-1031113231,1851072521,-1231998273,-1831774679,1431084443,1661460192,-822898028,542706731,-806524944,-1281644199,1023295213,2141491758,1577799641,1135467862,-1561101165,-325099567,878058837,-496830126,1168504005,-380904211,1982017977,536149211,-238784704,-1121478127,1546049105,1091675530,-1151984149,166973285,-604377400,344357108,-1887715909,-670292935,-124566875,444865724,-73401314,-1260013356,1582744309,1004042051,362388204,806511653,2044738220,1806884854,1534695574,282953445,2021362902,35367362,2122745695,-803801161,-1532141652,-1517981314,1066200840,-1095921783,1526574671,437428622,1545604646,-176639010,-1091019127,-1361113746,-1833893620,-466644300,-943404082,745706995,-1693403202,1093108903,-318917847,-5363485,-1521918406,1743488584,-1453141616,81164282,1743432519,807798115,-1568590237,-2377366,-1947868444,1357063628,-375752309,-2010489752,-1689970676,-105117333,-760299026,2032716912,533026673,545239745,-87235957,1752899813,-1128356286,1884672079,-2117916985,87882177,187173801,-1785880792,1991379026,-258123216,1704670685,2061056188,-1307201783,-1883160646,-1057270847,-811867534,2043813846,-2102796043,-1341649840,369928999,203479419,-817227492,354150068,-1802664856,-620798608,1947258804,-1994453354,235616214,-926175872,736485393,-1282494733,900650136,577370571,1420701640,-1409064453,-1504678096,573296921,429919658,-52461697,-729220416,-1344253713,1105330595,-488668081,-1302266368,-905798716,333444751,682857756,1116332215,63799552,202652440,-1151902840,312420665,-1895277251,624679743,889789701,-656768537,1858392996,-646109038,-1055718819,839050540,-554024058,94471201,-1917541586,-558898383,1484885587,-664681807,-1761419277,52600974,2076366695,-1606597167,1435712825,-500172771,-1406858996,-1033735881,-1052905348,-1026076454,-981140930,374843313,1128398231,-670388036,-2113985491,-1295568529,-633610550,1019953514,-402462179,363068540,1612839463,1731957422,653418728,344183448,1178357074,1172366678,1824664536,-797080852,2063526684,1424742724,-526804867,-646196676,-708005359,1335988216,1037506070,-1984417996,-2112552802,1049130055,-2072730219,280319526,291116872,-1948543071,1834712423,1500842637,-1945977768,1912575171,187346070,491016557,407564282,1484929543,1915845127,812497369,-909604660,65610965,-495638069,1287400425,-736156384,-1813253820,2088170274,-768065243,-441936798,-524815626,-1081582638,79625591,475044650,-1305754016,2097973859,-1457029986,-9164812,-1590533229,650210208,-1758888109,-1604038671,1629696978,1979324972,-1626419291,-983538155,-2139364071,307680816,-1943321611,-1649880226,-1198806500,1823358012,-1324743964,1514020086,-1878410245,1815008076,-2118140323,500958444,-769184404,922818995,-1409702932,-1878438661,689156298,-2123593125,-668772830,546877959,-426577644,-1969835456,1742029062,1763507634,2019565620,-1313579063,1832448424,1743876080,-1739270686,-1988027146,-657214968,-1313753524,872780770,1833625203,-368643019,1352289489,1424286104,-299440434,287168455,-1750972239,-97932579,-738849793,100974966,1676416787,-1573108796,-2068816063,-1783233553,-1443397815,-1849418738,420644538,-1528645263,988322675,617205064,2116056582,-80231829,450646173,-2118822618,118067545,1021317122,698677118,-679685541,193244551,211855990,1408699805,31339024,1609056435,-590246353,-970210949,-1754938685,-205315706,1525991677,-1753845391,1881644755,1991033988,757701365,1354351570,-1810933393,1414502565,-356057460,2059359370,-930365136,-92107597,-889779905,-895440573,1653908743,810620959,1177193302,-863410040,1250743425,-1179107508,-1114654943,-430171865,-1090314101,-1418804890,407484370,1460185854,1316673548,148693885,171295903,-1802288581,-700512303,-2120201934,436516765,-674260887,1858669899,-1684975526,1542136477,1594739550,1080262993,-1604596975,558332167,2123970955,599976176,332089284,-1987767203,-1982160310,-1069346344,-1107875990); +/*FRC*/Random.twister.import_mti(147); void (makeScript(14)); +/*FRC*/count=503; tryItOut("\"use strict\"; /*infloop*/while(([] = (arguments)(x)))o2.h2.get = f1;"); +/*FRC*/Random.twister.import_mti(243); void (makeScript(14)); +/*FRC*/count=504; tryItOut("\"use strict\"; testMathyFunction(mathy4, /*MARR*/[new Number(1), '\\0' , new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), '\\0' , new Number(1), '\\0' , '\\0' , '\\0' , '\\0' , new Number(1), new Number(1), '\\0' , '\\0' , new Number(1), '\\0' , '\\0' , '\\0' , '\\0' , '\\0' , new Number(1), new Number(1), '\\0' , '\\0' , '\\0' , new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), '\\0' , '\\0' , new Number(1), '\\0' , '\\0' , new Number(1), '\\0' , '\\0' , new Number(1), '\\0' , new Number(1), '\\0' , '\\0' , new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), '\\0' , '\\0' , new Number(1)]); "); + diff --git a/implementation-contributed/javascriptcore/stress/regress-159779-2.js b/implementation-contributed/javascriptcore/stress/regress-159779-2.js new file mode 100644 index 0000000000..5879eb91ff --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-159779-2.js @@ -0,0 +1,5450 @@ +//@ skip +//@ if $buildType == "release" then defaultRunNoisyTest else skip end + +var jsStrictMode = false; +var ENGINE_UNKNOWN = 0; +var ENGINE_SPIDERMONKEY_TRUNK = 1; +var ENGINE_SPIDERMONKEY_MOZILLA45 = 3; +var ENGINE_JAVASCRIPTCORE = 4;var engine = ENGINE_UNKNOWN; +var jsshell = (typeof window == "undefined"); +var xpcshell = jsshell && (typeof Components == "object"); +var dump; +var dumpln; +var printImportant; +if (jsshell) { + dumpln = print; + printImportant = function(s) { dumpln("***"); dumpln(s); }; + if (typeof verifyprebarriers == "function") { + + + + if (typeof wasmIsSupported == "function") { + engine = ENGINE_SPIDERMONKEY_TRUNK; + } else { + engine = ENGINE_SPIDERMONKEY_MOZILLA45; + } + readline = function(){}; + version(180); + } else if (typeof XPCNativeWrapper == "function") { + + engine = ENGINE_SPIDERMONKEY_TRUNK; + } else if (typeof debug == "function") { + engine = ENGINE_JAVASCRIPTCORE; + } +} else { + if (navigator.userAgent.indexOf("WebKit") != -1) { + + engine = ENGINE_JAVASCRIPTCORE; + + dump = function(s) { console.log(s); }; + } else if (navigator.userAgent.indexOf("Gecko") != -1) { + engine = ENGINE_SPIDERMONKEY_TRUNK; + } else if (typeof dump != "function") { + + dump = function() { }; + } + dumpln = function(s) { dump(s + "\n"); }; printImportant = function(s) { + dumpln(s); + var p = document.createElement("pre"); + p.appendChild(document.createTextNode(s)); + document.body.appendChild(p); + }; +}if (typeof gc == "undefined") + this.gc = function(){}; +var gcIsQuiet = !(gc()); +var HOTLOOP = 60; +function loopCount() { return rnd(rnd(HOTLOOP * 3)); } +function loopModulo() { return (rnd(2) ? rnd(rnd(HOTLOOP * 2)) : rnd(5)) + 2; }function simpleSource(s) +{ + function hexify(c) + { + var code = c.charCodeAt(0); + var hex = code.toString(16); + while (hex.length < 4) + hex = "0" + hex; + return "\\u" + hex; + } if (typeof s == "string") + return ("\"" + + s.replace(/\\/g, "\\\\") + .replace(/\"/g, "\\\"") + .replace(/\0/g, "\\0") + .replace(/\n/g, "\\n") + .replace(/[^ -~]/g, hexify) + + "\""); + else + return "" + s; +}var haveRealUneval = (typeof uneval == "function"); +if (!haveRealUneval) + uneval = simpleSource;if (engine == ENGINE_UNKNOWN) + printImportant("Targeting an unknown JavaScript engine!"); +else if (engine == ENGINE_SPIDERMONKEY_TRUNK) + printImportant("Targeting SpiderMonkey / Gecko (trunk)."); +else if (engine == ENGINE_SPIDERMONKEY_MOZILLA45) + printImportant("Targeting SpiderMonkey / Gecko (ESR45 branch)."); +else if (engine == ENGINE_JAVASCRIPTCORE) + printImportant("Targeting JavaScriptCore / WebKit."); +function whatToTestSpidermonkeyTrunk(code) +{ + /* jshint laxcomma: true */ + + var codeL = code.replace(/\s/g, " "); return { allowParse: true, allowExec: unlikelyToHang(code) + && (jsshell || code.indexOf("nogeckoex") == -1) + , allowIter: true, + + expectConsistentOutput: true + && (gcIsQuiet || code.indexOf("gc") == -1) + && code.indexOf("/*NODIFF*/") == -1 + && code.indexOf(".script") == -1 + && code.indexOf(".parameterNames") == -1 + && code.indexOf(".environment") == -1 + && code.indexOf(".onNewGlobalObject") == -1 + && code.indexOf(".takeCensus") == -1 + && code.indexOf(".findScripts") == -1 + && code.indexOf("Date") == -1 + && code.indexOf("backtrace") == -1 + && code.indexOf("drainAllocationsLog") == -1 + && code.indexOf("dumpObject") == -1 + && code.indexOf("dumpHeap") == -1 + && code.indexOf("dumpStringRepresentation") == -1 + && code.indexOf("evalInWorker") == -1 + && code.indexOf("getBacktrace") == -1 + && code.indexOf("getLcovInfo") == -1 + && code.indexOf("load") == -1 + && code.indexOf("offThreadCompileScript") == -1 + && code.indexOf("oomAfterAllocations") == -1 + && code.indexOf("oomAtAllocation") == -1 + && code.indexOf("printProfilerEvents") == -1 + && code.indexOf("validategc") == -1 + && code.indexOf("inIon") == -1 + && code.indexOf("inJit") == -1 + && code.indexOf("random") == -1 + && code.indexOf("timeout") == -1 + , expectConsistentOutputAcrossIter: true + + && code.indexOf("options") == -1 + , expectConsistentOutputAcrossJITs: true + + && code.indexOf("'strict") == -1 + && code.indexOf("disassemble") == -1 + && code.indexOf(".length") == -1 + && code.indexOf(".splice") == -1 + && !( codeL.match(/\/.*[\u0000\u0080-\uffff]/)) }; +}function whatToTestSpidermonkeyMozilla45(code) +{ + /* jshint laxcomma: true */ + + var codeL = code.replace(/\s/g, " "); return { allowParse: true, allowExec: unlikelyToHang(code) + && (jsshell || code.indexOf("nogeckoex") == -1) + , allowIter: true, + + expectConsistentOutput: true + && (gcIsQuiet || code.indexOf("gc") == -1) + && code.indexOf("/*NODIFF*/") == -1 + && code.indexOf(".script") == -1 + && code.indexOf(".parameterNames") == -1 + && code.indexOf(".environment") == -1 + && code.indexOf(".onNewGlobalObject") == -1 + && code.indexOf(".takeCensus") == -1 + && code.indexOf(".findScripts") == -1 + && code.indexOf("Date") == -1 + && code.indexOf("backtrace") == -1 + && code.indexOf("drainAllocationsLog") == -1 + && code.indexOf("dumpObject") == -1 + && code.indexOf("dumpHeap") == -1 + && code.indexOf("dumpStringRepresentation") == -1 + && code.indexOf("evalInWorker") == -1 + && code.indexOf("getBacktrace") == -1 + && code.indexOf("getLcovInfo") == -1 + && code.indexOf("load") == -1 + && code.indexOf("offThreadCompileScript") == -1 + && code.indexOf("oomAfterAllocations") == -1 + && code.indexOf("oomAtAllocation") == -1 + && code.indexOf("printProfilerEvents") == -1 + && code.indexOf("validategc") == -1 + && code.indexOf("inIon") == -1 + && code.indexOf("inJit") == -1 + && code.indexOf("random") == -1 + && code.indexOf("timeout") == -1 + , expectConsistentOutputAcrossIter: true + + && code.indexOf("options") == -1 + , expectConsistentOutputAcrossJITs: true + + && code.indexOf("'strict") == -1 + && code.indexOf("disassemble") == -1 + && code.indexOf(".length") == -1 + && code.indexOf("preventExtensions") == -1 + && code.indexOf("Math.round") == -1 + && code.indexOf("with") == -1 + && code.indexOf("Number.MAX_VALUE") == -1 + && code.indexOf("arguments") == -1 + && code.indexOf(".splice") == -1 + && !( codeL.match(/\/.*[\u0000\u0080-\uffff]/)) }; +}function whatToTestJavaScriptCore(code) +{ + return { allowParse: true, + allowExec: unlikelyToHang(code), + allowIter: false, + expectConsistentOutput: false, + expectConsistentOutputAcrossIter: false, + expectConsistentOutputAcrossJITs: false }; +}function whatToTestGeneric(code) +{ + return { + allowParse: true, + allowExec: unlikelyToHang(code), + allowIter: (typeof Iterator == "function"), + expectConsistentOutput: false, + expectConsistentOutputAcrossIter: false, + expectConsistentOutputAcrossJITs: false + }; +}var whatToTest; +if (engine == ENGINE_SPIDERMONKEY_TRUNK) + whatToTest = whatToTestSpidermonkeyTrunk; +else if (engine == ENGINE_SPIDERMONKEY_MOZILLA45) + whatToTest = whatToTestSpidermonkeyMozilla45; +else if (engine == ENGINE_JAVASCRIPTCORE) + whatToTest = whatToTestJavaScriptCore; +else + whatToTest = whatToTestGeneric; +function unlikelyToHang(code) +{ + var codeL = code.replace(/\s/g, " "); + return true + && code.indexOf("infloop") == -1 + && !( codeL.match( /for.*in.*uneval/ )) + && !( codeL.match( /for.*for.*for/ )) + && !( codeL.match( /for.*for.*gc/ )) + ; +} +function confused(s) +{ + if (jsshell) { + + print("jsfunfuzz broke its own scripting environment: " + s); + quit(); + } +}function foundABug(summary, details) +{ + + + printImportant("Found" + " a bug: " + summary); + if (details) { + printImportant(details); + } + if (jsshell) { + dumpln("jsfunfuzz stopping due to finding a bug."); + quit(); + } +}function errorToString(e) +{ + try { + return ("" + e); + } catch (e2) { + return "Can't toString the error!!"; + } +}function errorstack() +{ + print("EEE"); + try { + void ([].qwerty.qwerty); + } catch(e) { print(e.stack); } +} +var Random = { + twister: null, init: function (seed) { + if (seed == null || seed === undefined) { + seed = new Date().getTime(); + } + this.twister = new MersenneTwister19937(); + this.twister.seed(seed); + }, + number: function (limit) { + if (limit == 0) { + return limit; + } + if (limit == null || limit === undefined) { + limit = 0xffffffff; + } + return (Random.twister.int32() >>> 0) % limit; + }, + float: function () { + return (Random.twister.int32() >>> 0) * (1.0/4294967295.0); + }, + range: function (start, limit) { + if (isNaN(start) || isNaN(limit)) { + Utils.traceback(); + throw new TypeError("Random.range() received a non number type: '" + start + "', '" + limit + "')"); + } + return Random.number(limit - start + 1) + start; + }, + index: function (list, emptyr) { + if (!(list instanceof Array || (typeof list != "string" && "length" in list))) { + Utils.traceback(); + throw new TypeError("Random.index() received a non array type: '" + list + "'"); + } + if (!list.length) + return emptyr; + return list[this.number(list.length)]; + }, + key: function (obj) { + var list = []; + for (var i in obj) { + list.push(i); + } + return this.index(list); + }, + bool: function () { + return this.index([true, false]); + }, + pick: function (obj) { + if (typeof obj == "function") { + return obj(); + } + if (obj instanceof Array) { + return this.pick(this.index(obj)); + } + return obj; + }, + chance: function (limit) { + if (limit == null || limit === undefined) { + limit = 2; + } + if (isNaN(limit)) { + Utils.traceback(); + throw new TypeError("Random.chance() received a non number type: '" + limit + "'"); + } + return this.number(limit) == 1; + }, + choose: function (list, flat) { + if (!(list instanceof Array)) { + Utils.traceback(); + throw new TypeError("Random.choose() received a non-array type: '" + list + "'"); + } + var total = 0; + for (var i = 0; i < list.length; i++) { + total += list[i][0]; + } + var n = this.number(total); + for (var i = 0; i < list.length; i++) { + if (n <= list[i][0]) { + if (flat == true) { + return list[i][1]; + } else { + return this.pick([list[i][1]]); + } + } + n = n - list[i][0]; + } + if (flat == true) { + return list[0][1]; + } + return this.pick([list[0][1]]); + }, + weighted: function (wa) { + + var a = []; + for (var i = 0; i < wa.length; ++i) { + for (var j = 0; j < wa[i].w; ++j) { + a.push(wa[i].v); + } + } + return a; + }, + use: function (obj) { + return Random.bool() ? obj : ""; + }, + shuffle: function (arr) { + var len = arr.length; + var i = len; + while (i--) { + var p = Random.number(i + 1); + var t = arr[i]; + arr[i] = arr[p]; + arr[p] = t; + } + }, + shuffled: function (arr) { + var newArray = arr.slice(); + Random.shuffle(newArray); + return newArray; + }, + subset: function(a) { + + + var subset = []; + for (var i = 0; i < a.length; ++i) { + if (rnd(2)) { + subset.push(a[i]); + } + } + return subset; + },};function rnd(n) { return Random.number(n); } +/* + A C-program for MT19937, with initialization improved 2002/1/26. + Coded by Takuji Nishimura and Makoto Matsumoto. Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Any feedback is very welcome. + http: + email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) +*/ +function MersenneTwister19937() +{ + const N = 624; + const M = 397; + const MAG01 = new Int32Array([0, 0x9908b0df]); var mt = new Int32Array(N); /* the array for the state vector */ + var mti = 625; this.seed = function (s) { + mt[0] = s | 0; + for (mti=1; mti>> 30)) + mti; + } + }; this.export_state = function() { return [mt, mti]; }; + this.import_state = function(s) { mt = s[0]; mti = s[1]; }; + this.export_mta = function() { return mt; }; + this.import_mta = function(_mta) { mt = _mta; }; + this.export_mti = function() { return mti; }; + this.import_mti = function(_mti) { mti = _mti; }; function mag01(y) + { + return MAG01[y & 0x1]; + } this.int32 = function () { + var y; + var kk; if (mti >= N) { /* generate N words at one time */ + for (kk=0;kk>> 1) ^ mag01(y)); + } + for (;kk>> 1) ^ mag01(y)); + } + y = ((mt[N-1]&0x80000000)|(mt[0]&0x7fffffff)); + mt[N-1] = (mt[M-1] ^ (y >>> 1) ^ mag01(y)); + mti = 0; + } y = mt[mti++]; /* Tempering */ + y = y ^ (y >>> 11); + y = y ^ ((y << 7) & 0x9d2c5680); + y = y ^ ((y << 15) & 0xefc60000); + y = y ^ (y >>> 18); return y; + }; +} +function fuzzTestingFunctionsCtor(browser, fGlobal, fObject) +{ + var prefix = browser ? "fuzzPriv." : ""; function numberOfAllocs() { return Math.floor(Math.exp(rnd(rnd(6000)) / 1000)); } + function gcSliceSize() { return Math.floor(Math.pow(2, Random.float() * 32)); } + function maybeCommaShrinking() { return rnd(5) ? "" : ", 'shrinking'"; } function enableGCZeal() + { + var level = rnd(15); + if (browser && level == 9) level = 0; + var period = numberOfAllocs(); + return prefix + "gczeal" + "(" + level + ", " + period + ");"; + } function callSetGCCallback() { + + var phases = Random.index(["both", "begin", "end"]); + var actionAndOptions = rnd(2) ? 'action: "majorGC", depth: ' + rnd(17) : 'action: "minorGC"'; + var arg = "{ " + actionAndOptions + ", phases: \"" + phases + "\" }"; + return prefix + "setGCCallback(" + arg + ");"; + } function tryCatch(statement) + { + return "try { " + statement + " } catch(e) { }"; + } function setGcparam() { + switch(rnd(2)) { + case 0: return _set("sliceTimeBudget", rnd(100)); + default: return _set("markStackLimit", rnd(2) ? (1 + rnd(30)) : 4294967295); + } function _set(name, value) { + + return tryCatch(prefix + "gcparam" + "('" + name + "', " + value + ");"); + } + } + + var sharedTestingFunctions = [ + + { w: 10, v: function(d, b) { return "void " + prefix + "gc" + "(" + ");"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "gc" + "(" + "'compartment'" + maybeCommaShrinking() + ");"; } }, + { w: 5, v: function(d, b) { return "void " + prefix + "gc" + "(" + fGlobal(d, b) + maybeCommaShrinking() + ");"; } }, + { w: 20, v: function(d, b) { return prefix + "minorgc" + "(false);"; } }, + { w: 20, v: function(d, b) { return prefix + "minorgc" + "(true);"; } }, + + { w: 20, v: function(d, b) { return tryCatch(prefix + "startgc" + "(" + gcSliceSize() + maybeCommaShrinking() + ");"); } }, + { w: 20, v: function(d, b) { return prefix + "gcslice" + "(" + gcSliceSize() + ");"; } }, + { w: 10, v: function(d, b) { return prefix + "abortgc" + "(" + ");"; } }, + { w: 10, v: function(d, b) { return prefix + "selectforgc" + "(" + fObject(d, b) + ");"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "schedulegc" + "(" + fGlobal(d, b) + ");"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "schedulegc" + "(" + numberOfAllocs() + ");"; } }, + { w: 10, v: setGcparam }, + + + { w: 10, v: function(d, b) { return prefix + "verifyprebarriers" + "();"; } }, + + { w: 1, v: function(d, b) { return "void " + prefix + "hasChild(" + fObject(d, b) + ", " + fObject(d, b) + ");"; } }, + { w: 5, v: function(d, b) { return prefix + "validategc" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "validategc" + "(true);"; } }, + { w: 5, v: function(d, b) { return prefix + "fullcompartmentchecks" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "fullcompartmentchecks" + "(true);"; } }, + { w: 5, v: function(d, b) { return prefix + "setIonCheckGraphCoherency" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "setIonCheckGraphCoherency" + "(true);"; } }, + { w: 1, v: function(d, b) { return prefix + "enableOsiPointRegisterChecks" + "();"; } }, + { w: 1, v: function(d, b) { return prefix + "assertJitStackInvariants" + "();"; } }, + { w: 1, v: function(d, b) { return prefix + "setJitCompilerOption" + "('baseline.warmup.trigger', " + rnd(20) + ");"; } }, + { w: 1, v: function(d, b) { return prefix + "setJitCompilerOption" + "('ion.warmup.trigger', " + rnd(40) + ");"; } }, + { w: 1, v: function(d, b) { return prefix + "setJitCompilerOption" + "('ion.forceinlineCaches\', " + rnd(2) + ");"; } }, + + { w: 1, v: function(d, b) { return tryCatch(prefix + "setJitCompilerOption" + "('ion.enable', " + rnd(2) + ");"); } }, + { w: 1, v: function(d, b) { return tryCatch(prefix + "setJitCompilerOption" + "('baseline.enable', " + rnd(2) + ");"); } }, + { w: 1, v: function(d, b) { return prefix + "enableSPSProfiling" + "();"; } }, + { w: 1, v: function(d, b) { return prefix + "enableSPSProfilingWithSlowAssertions" + "();"; } }, + { w: 5, v: function(d, b) { return prefix + "disableSPSProfiling" + "();"; } }, + { w: 1, v: function(d, b) { return "void " + prefix + "readSPSProfilingStack" + "();"; } }, + { w: 5, v: function(d, b) { return prefix + "deterministicgc" + "(false);"; } }, + { w: 1, v: function(d, b) { return prefix + "deterministicgc" + "(true);"; } }, + { w: 5, v: function(d, b) { return prefix + "gcPreserveCode" + "();"; } }, + { w: 1, v: function(d, b) { return "void " + prefix + "getLcovInfo" + "();"; } }, + { w: 1, v: function(d, b) { return "void " + prefix + "getLcovInfo" + "(" + fGlobal(d, b) + ");"; } }, + ]; + + var shellOnlyTestingFunctions = [ + + { w: 5, v: function(d, b) { return prefix + "bailout" + "();"; } }, + + { w: 1, v: function(d, b) { return tryCatch("(void" + prefix + "disableSingleStepProfiling" + "()" + ")"); } }, + { w: 1, v: function(d, b) { return tryCatch("(" + prefix + "enableSingleStepProfiling" + "()" + ")"); } }, + { w: 10, v: function(d, b) { return "void " + prefix + "relazifyFunctions" + "();"; } }, + { w: 10, v: function(d, b) { return "void " + prefix + "relazifyFunctions" + "('compartment');"; } }, + { w: 5, v: function(d, b) { return "void " + prefix + "relazifyFunctions" + "(" + fGlobal(d, b) + ");"; } }, + + { w: 1, v: function(d, b) { return (typeof oomAfterAllocations == "function" && rnd(1000) === 0) ? prefix + "oomAfterAllocations" + "(" + (numberOfAllocs() - 1) + ");" : "void 0;"; } }, + + { w: 1, v: function(d, b) { return (typeof oomAtAllocation == "function" && rnd(100) === 0) ? prefix + "oomAtAllocation" + "(" + (numberOfAllocs() - 1) + ");" : "void 0;"; } }, + + { w: 1, v: function(d, b) { return (typeof resetOOMFailure == "function") ? "void " + prefix + "resetOOMFailure" + "(" + ");" : "void 0;"; } }, + + { w: 1, v: function(d, b) { return (rnd(100) === 0) ? (enableGCZeal()) : "void 0;"; } }, { w: 10, v: callSetGCCallback }, + ]; var testingFunctions = Random.weighted(browser ? sharedTestingFunctions : sharedTestingFunctions.concat(shellOnlyTestingFunctions)); return { testingFunctions: testingFunctions, enableGCZeal: enableGCZeal }; +} +/* + It might be more interesting to use Object.getOwnPropertyDescriptor to find out if + a thing is exposed as a getter (like Debugger.prototype.enabled). But there are exceptions: why is Array.prototype.length not a getter? http: + backward compatibility + ES3 already allowed programs to create objects with arbitrary __proto__ + .length was specified to work as a data property; accessor properties inherit differently, especially when setting + maybe only when setting, come to think of it + I guess it could've been made an accessor property without breaking anything important. I didn't realize it at the time. +*/var constructors = []; +var builtinFunctions = []; +var builtinProperties = []; +var allMethodNames = []; +var allPropertyNames = []; var builtinObjectNames = []; +var builtinObjects = {}; (function exploreBuiltins(glob, debugMode) { function exploreDeeper(a, an) + { + if (!a) + return; + var hns = Object.getOwnPropertyNames(a); + var propertyNames = []; + for (var j = 0; j < hns.length; ++j) { + var hn = hns[j]; + propertyNames.push(hn); + allPropertyNames.push(hn); var fullName = an + "." + hn; + builtinProperties.push(fullName); var h; + try { + h = a[hn]; + } catch(e) { + if (debugMode) { + dumpln("Threw: " + fullName); + } + h = null; + } if (typeof h == "function" && hn != "constructor") { + allMethodNames.push(hn); + builtinFunctions.push(fullName); + } + } + builtinObjects[an] = propertyNames; + builtinObjectNames.push(an); + } function exploreConstructors() + { + var gns = Object.getOwnPropertyNames(glob); + for (var i = 0; i < gns.length; ++i) { + var gn = gns[i]; + + + if (0x40 < gn.charCodeAt(0) && gn.charCodeAt(0) < 0x60 && gn != "PerfMeasurement" && !(jsshell && gn == "Worker")) { + var g = glob[gn]; + if (typeof g == "function" && g.toString().indexOf("[native code]") != -1) { + constructors.push(gn); + builtinProperties.push(gn); + builtinFunctions.push(gn); + exploreDeeper(g, gn); + exploreDeeper(g.prototype, gn + ".prototype"); + } + } + } + } exploreConstructors(); exploreDeeper(Math, "Math"); + exploreDeeper(JSON, "JSON"); + exploreDeeper(Proxy, "Proxy"); if (debugMode) { + for (let x of constructors) print("^^^^^ " + x); + for (let x of builtinProperties) print("***** " + x); + for (let x of builtinFunctions) print("===== " + x); + for (let x of allMethodNames) print("!!!!! " + x); + for (let x of allPropertyNames) print("&&&&& " + x); + print(uneval(builtinObjects)); + quit(); + }})(this, false);function cat(toks) +{ + if (rnd(1700) === 0) + return totallyRandom(2, ["x"]); var torture = (rnd(1700) === 57); + if (torture) + dumpln("Torture!!!"); var s = maybeLineBreak(); + for (var i = 0; i < toks.length; ++i) { + + + + + if (typeof(toks[i]) != "string") { + dumpln("Strange item in the array passed to cat: typeof toks[" + i + "] == " + typeof(toks[i])); + dumpln(cat.caller); + dumpln(cat.caller.caller); + } if (!(torture && rnd(12) === 0)) + s += toks[i]; s += maybeLineBreak(); if (torture) switch(rnd(120)) { + case 0: + case 1: + case 2: + case 3: + case 4: + s += maybeSpace() + totallyRandom(2, ["x"]) + maybeSpace(); + break; + case 5: + s = "(" + s + ")"; + break; + case 6: + s = ""; + break; + case 7: + return s; + case 8: + s += UNTERMINATED_COMMENT; + break; + case 9: + s += UNTERMINATED_STRING_LITERAL; + break; + case 10: + if (rnd(2)) + s += "("; + s += UNTERMINATED_REGEXP_LITERAL; + break; + default: + } } return s; +} +/* +function catNice(toks) +{ + var s = "" + var i; + for (i=0; i 0) { + return indent + "{\n" + asmStatement(indent + " ", env, d - 1) + indent + "}\n"; + } + if (rnd(20) === 0 && d > 3) { + return asmSwitchStatement(indent, env, d); + } + if (rnd(10) === 0) { + return asmReturnStatement(indent, env); + } + if (rnd(50) === 0 && env.globalEnv.foreignFunctions.length) { + return asmVoidCallStatement(indent, env); + } + if (rnd(100) === 0) + return ";"; + return asmAssignmentStatement(indent, env); +}function asmVoidCallStatement(indent, env) +{ + return indent + asmFfiCall(8, env) + ";\n"; +}function asmAssignmentStatement(indent, env) +{ + if (rnd(5) === 0 || !env.locals.length) { + if (rnd(2)) { + return indent + intishMemberExpr(8, env) + " = " + intishExpr(10, env) + ";\n"; + } else { + return indent + doublishMemberExpr(8, env) + " = " + doublishExpr(10, env) + ";\n"; + } + } var local = Random.index(env.locals); + if (local.charAt(0) == "d") { + return indent + local + " = " + doubleExpr(10, env) + ";\n"; + } else { + return indent + local + " = " + intExpr(10, env) + ";\n"; + } +}function asmReturnStatement(indent, env) +{ + var ret = rnd(2) ? env.ret : Random.index(["double", "signed", "void"]); + if (env.ret == "double") + return indent + "return +" + doublishExpr(10, env) + ";\n"; + else if (env.ret == "signed") + return indent + "return (" + intishExpr(10, env) + ")|0;\n"; + else + return indent + "return;\n"; +}function asmSwitchStatement(indent, env, d) +{ + var s = indent + "switch (" + signedExpr(4, env) + ") {\n"; + while (rnd(3)) { + s += indent + " case " + (rnd(5)-3) + ":\n"; + s += asmStatement(indent + " ", env, d - 2); + if (rnd(4)) + s += indent + " break;\n"; + } + if (rnd(2)) { + s += indent + " default:\n"; + s += asmStatement(indent + " ", env, d - 2); + } + s += indent + "}\n"; + return s; +}function parameterTypeAnnotations(args) +{ + var s = ""; + for (var a = 0; a < args.length; ++a) { + var arg = args[a]; + if (arg.charAt(0) == "i") + s += " " + arg + " = " + arg + "|0;\n"; + else + s += " " + arg + " = " + "+" + arg + ";\n"; + } + return s; +} +var additive = ["+", "-"]; +var intExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return intLiteralRange(-0x8000000, 0xffffffff); }}, + {w: 1, v: function(d, e) { return intExpr(d - 3, e) + " ? " + intExpr(d - 3, e) + " : " + intExpr(d - 3, e); }}, + {w: 1, v: function(d, e) { return "!" + intExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return signedExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 1, e); }}, + {w: 10, v: function(d, e) { return intVar(e); }}, + {w: 1, v: function(d, e) { return e.globalEnv.foreignFunctions.length ? asmFfiCall(d, e) + "|0" : "1"; }}, + {w: 1, v: function(d, e) { return signedExpr(d - 2, e) + Random.index([" < ", " <= ", " > ", " >= ", " == ", " != "]) + signedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 2, e) + Random.index([" < ", " <= ", " > ", " >= ", " == ", " != "]) + unsignedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doubleExpr(d - 2, e) + Random.index([" < ", " <= ", " > ", " >= ", " == ", " != "]) + doubleExpr(d - 2, e); }}, +]));var intishExpr = autoExpr(Random.weighted([ + {w: 10, v: function(d, e) { return intExpr(d, e); }}, + {w: 1, v: function(d, e) { return intishMemberExpr(d, e); }}, + + {w: 10, v: function(d, e) { return intExpr(d - 1, e) + Random.index(additive) + intExpr(d - 1, e); }}, + {w: 5, v: function(d, e) { return intExpr(d - 2, e) + Random.index(additive) + intExpr(d - 2, e) + Random.index(additive) + intExpr(d - 2, e); }}, + + {w: 2, v: function(d, e) { return intExpr(d - 1, e) + "*" + intLiteralRange(-0xfffff, 0xfffff); }}, + {w: 2, v: function(d, e) { return intLiteralRange(-0xfffff, 0xfffff) + "*" + intExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "-" + intExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return signedExpr(d - 2, e) + " / " + signedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 2, e) + " / " + unsignedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return signedExpr(d - 2, e) + " % " + signedExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return unsignedExpr(d - 2, e) + " % " + unsignedExpr(d - 2, e); }}, +]));var signedExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return intLiteralRange(-0x8000000, 0x7fffffff); }}, + {w: 1, v: function(d, e) { return "~" + intishExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "~~" + doubleExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return intishExpr(d - 1, e) + "|0"; }}, + {w: 1, v: function(d, e) { return ensureMathImport(e, "imul") + "(" + intExpr(d - 2, e) + ", " + intExpr(d - 2, e) + ")|0"; }}, + {w: 1, v: function(d, e) { return ensureMathImport(e, "abs") + "(" + signedExpr(d - 1, e) + ")|0"; }}, + {w: 5, v: function(d, e) { return intishExpr(d - 2, e) + Random.index([" | ", " & ", " ^ ", " << ", " >> "]) + intishExpr(d - 2, e); }}, +]));var unsignedExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return intLiteralRange(0, 0xffffffff); }}, + {w: 1, v: function(d, e) { return intishExpr(d - 2, e) + ">>>" + intishExpr(d - 2, e); }}, +]));var doublishExpr = autoExpr(Random.weighted([ + {w: 10, v: function(d, e) { return doubleExpr(d, e); }}, + {w: 1, v: function(d, e) { return doublishMemberExpr(d, e); }}, + +]));var doubleExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return doubleLiteral(); }}, + {w: 20, v: function(d, e) { return doubleVar(e); }}, + {w: 1, v: function(d, e) { return e.globalEnv.foreignFunctions.length ? "+" + asmFfiCall(d, e) : "1.0"; }}, + {w: 1, v: function(d, e) { return "+(1.0/0.0)"; }}, + {w: 1, v: function(d, e) { return "+(0.0/0.0)"; }}, + {w: 1, v: function(d, e) { return "+(-1.0/0.0)"; }}, + + {w: 1, v: function(d, e) { return "+" + signedExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "+" + unsignedExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "+" + doublishExpr(d - 1, e); }}, + {w: 1, v: function(d, e) { return "-" + doublishExpr(d - 1, e); }}, + + {w: 1, v: function(d, e) { return doubleExpr(d - 2, e) + " + " + doubleExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " - " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " * " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " / " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return doublishExpr(d - 2, e) + " % " + doublishExpr(d - 2, e); }}, + {w: 1, v: function(d, e) { return intExpr(d - 3, e) + " ? " + doubleExpr(d - 3, e) + " : " + doubleExpr(d - 3, e); }}, + + {w: 1, v: function(d, e) { return "+" + ensureMathImport(e, Random.index(["acos", "asin", "atan", "cos", "sin", "tan", "ceil", "floor", "exp", "log", "sqrt"])) + "(" + doublishExpr(d - 1, e) + ")"; }}, + {w: 1, v: function(d, e) { return "+" + ensureMathImport(e, "abs") + "(" + doublishExpr(d - 1, e) + ")"; }}, + {w: 1, v: function(d, e) { return "+" + ensureMathImport(e, Random.index(["atan2", "pow"])) + "(" + doublishExpr(d - 2, e) + ", " + doublishExpr(d - 2, e) + ")"; }}, + {w: 1, v: function(d, e) { return ensureImport(e, "Infinity"); }}, + {w: 1, v: function(d, e) { return ensureImport(e, "NaN"); }}, +]));var externExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return doubleExpr(d, e); } }, + {w: 1, v: function(d, e) { return signedExpr(d, e); } }, +]));var intishMemberExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return ensureView(e, Random.index(["Int8Array", "Uint8Array" ])) + "[" + asmIndex(d, e, 0) + "]"; }}, + {w: 1, v: function(d, e) { return ensureView(e, Random.index(["Int16Array", "Uint16Array"])) + "[" + asmIndex(d, e, 1) + "]"; }}, + {w: 1, v: function(d, e) { return ensureView(e, Random.index(["Int32Array", "Uint32Array"])) + "[" + asmIndex(d, e, 2) + "]"; }}, +]), true);var doublishMemberExpr = autoExpr(Random.weighted([ + {w: 1, v: function(d, e) { return ensureView(e, "Float32Array") + "[" + asmIndex(d, e, 2) + "]"; }}, + {w: 1, v: function(d, e) { return ensureView(e, "Float64Array") + "[" + asmIndex(d, e, 3) + "]"; }}, +]), true);function asmIndex(d, e, logSize) +{ + if (rnd(2) || d < 2) + return Random.index(["0", "1", "2", "4096"]); return intishExpr(d - 2, e) + " >> " + logSize; +}function asmFfiCall(d, e) +{ + var argList = ""; + while (rnd(6)) { + if (argList) + argList += ", "; + d -= 1; + argList += externExpr(d, e); + } return "/*FFI*/" + Random.index(e.globalEnv.foreignFunctions) + "(" + argList + ")"; +} +function ensureView(e, t) +{ + var varName = t + "View"; + if (!(varName in e.globalEnv.heapImported)) { + e.globalEnv.heapImports += " var " + varName + " = new stdlib." + t + "(heap);\n"; + e.globalEnv.heapImported[varName] = true; + } + return varName; +}function ensureMathImport(e, f) +{ + return ensureImport(e, f, "Math."); +}function ensureImport(e, f, prefix) +{ + if (!(f in e.globalEnv.stdlibImported)) { + e.globalEnv.stdlibImports += " var " + f + " = stdlib." + (prefix||"") + f + ";\n"; + e.globalEnv.stdlibImported[f] = true; + } + return f; +} +var anyAsmExpr = [intExpr, intishExpr, signedExpr, doublishExpr, doubleExpr, intishMemberExpr, doublishMemberExpr];function autoExpr(funs, avoidSubst) +{ + return function(d, e) { + var f = d < 1 ? funs[0] : + rnd(50) === 0 && !e.globalEnv.sanePlease ? function(_d, _e) { return makeExpr(5, ["x"]); } : + rnd(50) === 0 && !avoidSubst ? Random.index(anyAsmExpr) : + Random.index(funs); + return "(" + f(d, e) + ")"; + }; +}function intVar(e) +{ + var locals = e.locals; + if (!locals.length) + return intLiteralRange(-0x8000000, 0xffffffff); + var local = Random.index(locals); + if (local.charAt(0) == "i") + return local; + return intLiteralRange(-0x8000000, 0xffffffff); +}function doubleVar(e) +{ + var locals = e.locals; + if (!locals.length) + return doubleLiteral(); + var local = Random.index(locals); + if (local.charAt(0) == "d") + return local; + return doubleLiteral(); +} +function doubleLiteral() +{ + return Random.index(["-", ""]) + positiveDoubleLiteral(); +}function positiveDoubleLiteral() +{ + if (rnd(3) === 0) { + Random.index(["0.0", "1.0", "1.2345e60"]); + } + var value = Math.pow(2, rnd(100) - 10); + if (rnd(3)) { + value += 1; + } else if (value > 1 && rnd(2)) { + value -= 1; + } var str = value + ""; + if (str.indexOf(".") == -1) { + return str + ".0"; + } + + return str; +}function fuzzyRange(min, max) +{ + if (rnd(10000) === 0) + return min - 1; + if (rnd(10000) === 0) + return max + 1; + if (rnd(10) === 0) + return min; + if (rnd(10) === 0) + return max; + if (max > min + 0x100000000 && rnd(3) === 0) + return min + 0x100000000 + rnd(max - (min + 0x100000000) + 1); + return min + rnd(max - min + 1); +}function intLiteralRange(min, max) +{ + var val = fuzzyRange(min, max); + var sign = val < 0 ? "-" : ""; + return sign + "0x" + Math.abs(val).toString(16); +} +const NUM_MATH_FUNCTIONS = 6;var binaryMathOps = [ + " * ", /* NODIFF " / " */, " % ", + " + ", " - ", + " ** ", + " << ", " >> ", " >>> ", + " < ", " > ", " <= ", " >= ", + " == ", " != ", + " === ", " !== ", + " & ", " | ", " ^ ", " && ", " || ", + " , ", +];var leftUnaryMathOps = [ + " ! ", " + ", " - ", " ~ ", +];var unaryMathFunctions = [ + "abs", + "acos", + "acosh", + "asin", + "asinh", + "atan", + "atanh", + "cbrt", + "ceil", + "cos", + "cosh", + "exp", + "expm1", + + "fround", + "log", + "log2", + "log10", + "log1p", + + "round", + "sign", + "sin", + "sinh", + "sqrt", + "tan", + "tanh", + "trunc", +]; +var binaryMathFunctions = [ + "atan2", + "hypot", + "imul", + "max", + "min", + "pow", +];function makeMathFunction(d, b, i) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var ivars = ["x", "y"]; + if (rnd(10) == 0) { + + ivars = ivars.concat(b); + } + return "(function(x, y) { " + directivePrologue() + "return " + makeMathExpr(d, ivars, i) + "; })"; +}function makeMathExpr(d, b, i) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + if (d < rnd(5)) { + if (rnd(4)) { + return Random.index(b); + } + return Random.index(numericVals); + } if (rnd(500) == 0 && d > 0) + return makeExpr(d - 1, b); function r() { return makeMathExpr(d - 1, b, i); } + + var commonCoercion = rnd(10); + function mc(expr) { + switch(rnd(3) ? commonCoercion : rnd(10)) { + case 0: return "(" + " + " + expr + ")"; + case 1: return "Math.fround(" + expr + ")"; + case 2: return "(" + expr + " | 0)"; + case 3: return "(" + expr + " >>> 0)"; + default: return expr; + } + } if (i > 0 && rnd(10) == 0) { + + return mc("mathy" + rnd(i) + "(" + mc(r()) + ", " + mc(r()) + ")"); + } if (rnd(20) == 0) { + return mc("(" + mc(r()) + " ? " + mc(r()) + " : " + mc(r()) + ")"); + } switch(rnd(4)) { + case 0: return mc("(" + mc(r()) + Random.index(binaryMathOps) + mc(r()) + ")"); + case 1: return mc("(" + Random.index(leftUnaryMathOps) + mc(r()) + ")"); + case 2: return mc("Math." + Random.index(unaryMathFunctions) + "(" + mc(r()) + ")"); + default: return mc("Math." + Random.index(binaryMathFunctions) + "(" + mc(r()) + ", " + mc(r()) + ")"); + } +}/**************************** + * GRAMMAR-BASED GENERATION * + ****************************/ +function makeScript(d, ignoredB) +{ + return directivePrologue() + makeScriptBody(d, ignoredB); +}function makeScriptBody(d, ignoredB) +{ + if (rnd(3) == 0) { + return makeMathyFunAndTest(d, ["x"]); + } + return makeStatement(d, ["x"]); +}function makeScriptForEval(d, b) +{ + switch (rnd(4)) { + case 0: return makeExpr(d - 1, b); + case 1: return makeStatement(d - 1, b); + case 2: return makeUseRegressionTest(d, b); + default: return makeScript(d - 3, b); + } +}function makeStatement(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(2)) + return makeBuilderStatement(d, b); if (d < 6 && rnd(3) === 0) + return makePrintStatement(d, b); if (d < rnd(8)) + return makeLittleStatement(d, b); d = rnd(d); return (Random.index(statementMakers))(d, b); +}var varBinder = ["var ", "let ", "const ", ""]; +var varBinderFor = ["var ", "let ", ""]; +function forLoopHead(d, b, v, reps) +{ + var sInit = Random.index(varBinderFor) + v + " = 0"; + var sCond = v + " < " + reps; + var sNext = "++" + v; while (rnd(10) === 0) + sInit += ", " + makeLetHeadItem(d - 2, b); + while (rnd(10) === 0) + sInit += ", " + makeExpr(d - 2, b); while (rnd(20) === 0) + sCond = sCond + " && (" + makeExpr(d - 2, b) + ")"; + while (rnd(20) === 0) + sCond = "(" + makeExpr(d - 2, b) + ") && " + sCond; while (rnd(20) === 0) + sNext = sNext + ", " + makeExpr(d - 2, b); + while (rnd(20) === 0) + sNext = makeExpr(d - 2, b) + ", " + sNext; return "for (" + sInit + "; " + sCond + "; " + sNext + ")"; +}function makeOpaqueIdiomaticLoop(d, b) +{ + var reps = loopCount(); + var vHidden = uniqueVarName(); + return "/*oLoop*/" + forLoopHead(d, b, vHidden, reps) + " { " + + makeStatement(d - 2, b) + + " } "; +}function makeTransparentIdiomaticLoop(d, b) +{ + var reps = loopCount(); + var vHidden = uniqueVarName(); + var vVisible = makeNewId(d, b); + return "/*vLoop*/" + forLoopHead(d, b, vHidden, reps) + + " { " + + Random.index(varBinder) + vVisible + " = " + vHidden + "; " + + makeStatement(d - 2, b.concat([vVisible])) + + " } "; +}function makeBranchUnstableLoop(d, b) +{ + var reps = loopCount(); + var v = uniqueVarName(); + var mod = loopModulo(); + var target = rnd(mod); + return "/*bLoop*/" + forLoopHead(d, b, v, reps) + " { " + + "if (" + v + " % " + mod + " == " + target + ") { " + makeStatement(d - 2, b) + " } " + + "else { " + makeStatement(d - 2, b) + " } " + + " } "; +}function makeTypeUnstableLoop(d, b) { + var a = makeMixedTypeArray(d, b); + var v = makeNewId(d, b); + var bv = b.concat([v]); + return "/*tLoop*/for (let " + v + " of " + a + ") { " + makeStatement(d - 2, bv) + " }"; +} +function makeFunOnCallChain(d, b) { + var s = "arguments.callee"; + while (rnd(2)) + s += ".caller"; + return s; +} +var statementMakers = Random.weighted([ + { w: 15, v: function(d, b) { return cat([makeStatement(d - 1, b), makeStatement(d - 1, b) ]); } }, + { w: 15, v: function(d, b) { return cat([makeStatement(d - 1, b), "\n", makeStatement(d - 1, b), "\n"]); } }, + { w: 1, v: function(d, b) { return cat([stripSemicolon(makeStatement(d, b)), "\n", makeStatement(d, b)]); } }, + { w: 1, v: function(d, b) { return cat([stripSemicolon(makeStatement(d, b)), "\n" ]); } }, + { w: 1, v: function(d, b) { return stripSemicolon(makeStatement(d, b)); } }, + { w: 4, v: function(d, b) { var v = makeNewId(d, b); return cat([Random.index(varBinder), v, " = ", makeExpr(d, b), ";", makeStatement(d - 1, b.concat([v]))]); } }, + { w: 4, v: function(d, b) { var v = makeNewId(d, b); return cat([makeStatement(d - 1, b.concat([v])), Random.index(varBinder), v, " = ", makeExpr(d, b), ";"]); } }, + { w: 10, v: function(d, b) { return cat([Random.index(varBinder), makeLetHead(d, b), ";", makeStatement(d - 1, b)]); } }, + { w: 2, v: function(d, b) { return cat(["{", makeStatement(d, b), " }"]); } }, + { w: 2, v: function(d, b) { return cat(["{", makeStatement(d - 1, b), makeStatement(d - 1, b), " }"]); } }, + { w: 2, v: function(d, b) { return cat([maybeLabel(), "with", "(", makeExpr(d, b), ")", makeStatementOrBlock(d, b)]); } }, + { w: 2, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "with", "(", "{", v, ": ", makeExpr(d, b), "}", ")", makeStatementOrBlock(d, b.concat([v]))]); } }, + + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", makeExpr(d, b), "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " = ", makeExpr(d, b), "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeDestructuringLValue(d, b), " = ", makeExpr(d, b), "; ", makeExpr(d, b), "; ", makeExpr(d, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 6, v: makeTransparentIdiomaticLoop }, + { w: 6, v: makeOpaqueIdiomaticLoop }, + { w: 6, v: makeBranchUnstableLoop }, + { w: 8, v: makeTypeUnstableLoop }, + + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeForInLHS(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeForInLHS(d, b), " in ", "(", "(", makeFunction(d, b), ")", "(", makeExpr(d, b), ")", ")", ")", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " in ", "(", "(", makeFunction(d, b), ")", "(", makeExpr(d, b), ")", ")", ")", makeStatementOrBlock(d, b.concat([v]))]); } }, + + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), " for ", " each", "(", Random.index(varBinderFor), makeLValue(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), " for ", " each", "(", Random.index(varBinderFor), v, " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), " for ", "(", Random.index(varBinderFor), makeLValue(d, b), " of ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), " for ", "(", Random.index(varBinderFor), v, " of ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + + + + + + { w: 1, v: function(d, b) { return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), makeId(d, b), " = ", makeExpr(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), v, " = ", makeExpr(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v]))]); } }, + { w: 1, v: function(d, b) { var v = makeNewId(d, b), w = makeNewId(d, b); return cat([maybeLabel(), "for", "(", Random.index(varBinderFor), "[", v, ", ", w, "]", " = ", makeExpr(d, b), " in ", makeExpr(d - 2, b), ") ", makeStatementOrBlock(d, b.concat([v, w]))]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "while((", makeExpr(d, b), ") && 0)" /*don't split this, it's needed to avoid marking as infloop*/, makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "while", "(", makeExpr(d, b), ")", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "do ", makeStatementOrBlock(d, b), " while((", makeExpr(d, b), ") && 0)" /*don't split this, it's needed to avoid marking as infloop*/, ";"]); } }, + { w: 1, v: function(d, b) { return "/*infloop*/" + cat([maybeLabel(), "do ", makeStatementOrBlock(d, b), " while", "(", makeExpr(d, b), ");"]); } }, + { w: 3, v: function(d, b) { return cat([maybeLabel(), "switch", "(", makeExpr(d, b), ")", " { ", makeSwitchBody(d, b), " }"]); } }, + { w: 2, v: function(d, b) { var v = makeNewId(d, b); return cat(["let ", "(", v, ")", " { ", makeStatement(d, b.concat([v])), " }"]); } }, + { w: 2, v: function(d, b) { return cat(["let ", "(", makeLetHead(d, b), ")", " { ", makeStatement(d, b), " }"]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", makeStatementOrBlock(d - 1, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b)]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", makeStatementOrBlock(d - 1, b)]); } }, + + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", "{", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b), " else ", makeStatementOrBlock(d - 1, b), "}"]); } }, + { w: 1, v: function(d, b) { return cat([maybeLabel(), "if(", makeBoolean(d, b), ") ", "{", " if ", "(", makeExpr(d, b), ") ", makeStatementOrBlock(d - 1, b), "}", " else ", makeStatementOrBlock(d - 1, b)]); } }, + { w: 5, v: function(d, b) { return cat([makeExpr(d, b), ";"]); } }, + { w: 5, v: function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); } }, + { w: 6, v: function(d, b) { return makeExceptionyStatement(d - 1, b) + makeExceptionyStatement(d - 1, b); } }, + { w: 7, v: function(d, b) { return makeExceptionyStatement(d, b); } }, + { w: 1, v: function(d, b) { return cat(["L", ": ", makeStatementOrBlock(d, b)]); } }, + { w: 10, v: function(d, b) { return cat([makeStatement(d-2, b), "function ", makeId(d, b), "(", makeFormalArgList(d, b), ")", makeFunctionBody(d - 1, b), makeStatement(d-2, b)]); } }, + { w: 8, v: makeNamedFunctionAndUse }, + + + { w: 1, v: function(d, b) { if (rnd(200)==0) return "/*DUPTRY" + rnd(10000) + "*/" + makeStatement(d - 1, b); return ";"; } }, { w: 1, v: function(d, b) { return makeShapeyConstructorLoop(d, b); } }, + { w: 1, v: function(d, b) { var x = makeId(d, b); return x + " = linkedList(" + x + ", " + (rnd(100) * rnd(100)) + ");"; } }, + { w: 1, v: function(d, b) { return directivePrologue() + makeStatement(d - 1, b); } }, + { w: 3, v: function(d, b) { return makeTestingFunctionCall(d, b); } }, + { w: 3, v: function(d, b) { return makeTestingFunctionCall(d - 1, b) + " " + makeStatement(d - 1, b); } }, + { w: 8, v: makeTypedArrayStatements }, + { w: 8, v: makePrintStatement }, { w: 20, v: makeRegexUseBlock }, { w: 1, v: makeRegisterStompBody }, { w: 20, v: makeUseRegressionTest }, + + +]);if (typeof oomTest == "function" && engine != ENGINE_SPIDERMONKEY_MOZILLA45) { + statementMakers = statementMakers.concat([ + function(d, b) { return "oomTest(" + makeFunction(d, b-1) + ")"; }, + ]); +} +function makeUseRegressionTest(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (typeof regressionTestList != "object") { + return "/* no regression tests found */"; + } var maintest = regressionTestsRoot + Random.index(regressionTestList); + var files = regressionTestDependencies(maintest); var s = ""; if (rnd(5) == 0) { + + + s += "assertEq = function(x, y) { if (x != y) { print(0); } }; "; + } for (var i = 0; i < files.length; ++i) { + var file = files[i]; if (regressionTestIsEvil(read(file))) { + continue; + } switch (rnd(2)) { + case 0: + + s += "/* regression-test-inline */ " + inlineRegressionTest(file); + break; + default: + + s += "/* regression-test-load */ " + "load(" + simpleSource(file) + ");"; + break; + + } + } + return s; +}function regressionTestIsEvil(contents) +{ + if (contents.indexOf("SIMD") != -1) { + + return true; + } + if (contents.indexOf("print = ") != -1) { + + return true; + } + return false; +}function inlineRegressionTest(filename) +{ + const s = "/* " + filename + " */ " + read(filename) + "\n"; const noDiffTestingFunctions = [ + + "gcparam", + "startgc", + "setJitCompilerOption", + "disableSingleStepProfiling", + "enableSingleStepProfiling", + + "isAsmJSCompilationAvailable", + "isSimdAvailable", + "hasChild", + "PerfMeasurement", + ]; for (var f of noDiffTestingFunctions) { + if (s.indexOf(f) != -1) { + return "/*NODIFF*/ " + s; + } + } return s; +} +function regressionTestDependencies(maintest) +{ + var files = []; if (rnd(3)) { + + for (var i = regressionTestsRoot.length; i < maintest.length; ++i) { + if (maintest.charAt(i) == "/" || maintest.charAt(i) == "\\") { + var shelljs = maintest.substr(0, i + 1) + "shell.js"; + if (regressionTestList.indexOf(shelljs) != -1) { + files.push(shelljs); + } + } + } + if (maintest.indexOf("jit-test") != -1) { + files.push(libdir + "prologue.js"); + } + } files.push(maintest); + return files; +} +function linkedList(x, n) +{ + for (var i = 0; i < n; ++i) + x = {a: x}; + return x; +}function makeNamedFunctionAndUse(d, b) { + + var funcName = uniqueVarName(); + var formalArgList = makeFormalArgList(d, b); + var bv = formalArgList.length == 1 ? b.concat(formalArgList) : b; + var declStatement = cat(["/*hhh*/function ", funcName, "(", formalArgList, ")", "{", makeStatement(d - 1, bv), "}"]); + var useStatement; + if (rnd(2)) { + + useStatement = cat([funcName, "(", makeActualArgList(d, b), ")", ";"]); + } else { + + useStatement = "/*iii*/" + makeStatement(d - 1, b.concat([funcName])); + } + if (rnd(2)) { + return declStatement + useStatement; + } else { + return useStatement + declStatement; + } +}function makePrintStatement(d, b) +{ + if (rnd(2) && b.length) + return "print(" + Random.index(b) + ");"; + else + return "print(" + makeExpr(d, b) + ");"; +} +function maybeLabel() +{ + if (rnd(4) === 1) + return cat([Random.index(["L", "M"]), ":"]); + else + return ""; +} +function uniqueVarName() +{ + + var i, s = ""; + for (i = 0; i < 6; ++i) + s += String.fromCharCode(97 + rnd(26)); + return s; +}function makeSwitchBody(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var haveSomething = false; + var haveDefault = false; + var output = ""; do { if (!haveSomething || rnd(2)) { + if (!haveDefault && rnd(2)) { + output += "default: "; + haveDefault = true; + } + else { + + + output += "case " + (rnd(2) ? rnd(10) : makeExpr(d, b)) + ": "; + } haveSomething = true; + } + if (rnd(2)) + output += makeStatement(d, b); + if (rnd(2)) + output += "break; "; if (rnd(2)) + --d; } while (d && rnd(5)); return output; +}function makeLittleStatement(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if (rnd(4) === 1) + return makeStatement(d, b); return (Random.index(littleStatementMakers))(d, b); +}var littleStatementMakers = +[ + + function(d, b) { return cat([";"]); }, + function(d, b) { return cat(["{", "}"]); }, + function(d, b) { return cat([""]); }, + function(d, b) { return cat(["throw ", makeExpr(d, b), ";"]); }, + function(d, b) { return cat([Random.index(["continue", "break"]), " ", Random.index(["L", "M", "", ""]), ";"]); }, + + function(d, b) { return makeFunction(d, b); }, + function(d, b) { return cat(["return ", makeExpr(d, b), ";"]); }, + function(d, b) { return "return;"; }, + function(d, b) { return cat(["yield ", makeExpr(d, b), ";"]); }, + function(d, b) { return "yield;"; }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat([makeExpr(d, b), ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", ";"]); }, +]; +function makeStatementOrBlock(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return (Random.index(statementBlockMakers))(d - 1, b); +}var statementBlockMakers = [ + function(d, b) { return makeStatement(d, b); }, + function(d, b) { return makeStatement(d, b); }, + function(d, b) { return cat(["{", makeStatement(d, b), " }"]); }, + function(d, b) { return cat(["{", makeStatement(d - 1, b), makeStatement(d - 1, b), " }"]); }, +]; +function makeExceptionyStatement(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; + if (d < 1) + return makeLittleStatement(d, b); return (Random.index(exceptionyStatementMakers))(d, b); +}var exceptionProperties = ["constructor", "message", "name", "fileName", "lineNumber", "stack"];var exceptionyStatementMakers = [ + function(d, b) { return makeTryBlock(d, b); }, function(d, b) { return makeStatement(d, b); }, + function(d, b) { return makeLittleStatement(d, b); }, function(d, b) { return "return;"; }, + function(d, b) { return cat(["return ", makeExpr(d, b), ";"]); }, + function(d, b) { return cat(["yield ", makeExpr(d, b), ";"]); }, + function(d, b) { return cat(["throw ", makeId(d, b), ";"]); }, + function(d, b) { return "throw StopIteration;"; }, + function(d, b) { return "this.zzz.zzz;"; }, + function(d, b) { return b[b.length - 1] + "." + Random.index(exceptionProperties) + ";"; }, + function(d, b) { return makeId(d, b) + "." + Random.index(exceptionProperties) + ";"; }, + function(d, b) { return cat([makeId(d, b), " = ", makeId(d, b), ";"]); }, + function(d, b) { return cat([makeLValue(d, b), " = ", makeId(d, b), ";"]); }, + + function(d, b) { var v = makeNewId(d, b); return "for(let " + v + " in []);"; }, + function(d, b) { var v = makeNewId(d, b); return "for(let " + v + " in " + makeIterable(d, b) + ") " + makeExceptionyStatement(d, b.concat([v])); }, + function(d, b) { var v = makeNewId(d, b); return "for(let " + v + " of " + makeIterable(d, b) + ") " + makeExceptionyStatement(d, b.concat([v])); }, + + function(d, b) { return "with({}) " + makeExceptionyStatement(d, b); }, + function(d, b) { return "with({}) { " + makeExceptionyStatement(d, b) + " } "; }, + function(d, b) { var v = makeNewId(d, b); return "let(" + v + ") { " + makeExceptionyStatement(d, b.concat([v])) + "}"; }, + function(d, b) { var v = makeNewId(d, b); return "let(" + v + ") ((function(){" + makeExceptionyStatement(d, b.concat([v])) + "})());"; }, + function(d, b) { return "let(" + makeLetHead(d, b) + ") { " + makeExceptionyStatement(d, b) + "}"; }, + function(d, b) { return "let(" + makeLetHead(d, b) + ") ((function(){" + makeExceptionyStatement(d, b) + "})());"; }, +/* + + function(d, b) { return "(function () { try { yield " + makeExpr(d, b) + " } finally { " + makeStatement(d, b) + " } })().next()"; }, function(d, b) { return "(function () { try { yield " + makeExpr(d, b) + " } finally { " + makeStatement(d, b) + " } })()"; }, + function(d, b) { return "(function () { try { yield " + makeExpr(d, b) + " } finally { " + makeStatement(d, b) + " } })"; }, + function(d, b) { + return "function gen() { try { yield 1; } finally { " + makeStatement(d, b) + " } } var i = gen(); i.next(); i = null;"; + }*/ +];function makeTryBlock(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + + + d = d - rnd(3); + var s = cat(["try", " { ", makeExceptionyStatement(d, b), " } "]); var numCatches = 0; while(rnd(3) === 0) { + + ++numCatches; + var catchId = makeId(d, b); + var catchBlock = makeExceptionyStatement(d, b.concat([catchId])); + if (rnd(2)) + s += cat(["catch", "(", catchId, " if ", makeExpr(d, b), ")", " { ", catchBlock, " } "]); + else + s += cat(["catch", "(", catchId, " if ", "(function(){", makeExceptionyStatement(d, b), "})())", " { ", catchBlock, " } "]); + } if (rnd(2)) { + + ++numCatches; + var catchId = makeId(d, b); + var catchBlock = makeExceptionyStatement(d, b.concat([catchId])); + s += cat(["catch", "(", catchId, ")", " { ", catchBlock, " } "]); + } if (numCatches == 0 || rnd(2) === 1) { + + s += cat(["finally", " { ", makeExceptionyStatement(d, b), " } "]); + } return s; +} +function makeExpr(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d <= 0 || (rnd(7) === 1)) + return makeTerm(d - 1, b); if (rnd(6) === 1 && b.length) + return Random.index(b); if (rnd(10) === 1) + return makeImmediateRecursiveCall(d, b); d = rnd(d); var expr = (Random.index(exprMakers))(d, b); if (rnd(4) === 1) + return "(" + expr + ")"; + else + return expr; +}var binaryOps = [ + + " * ", " / ", " % ", " + ", " - ", " << ", " >> ", " >>> ", " < ", " > ", " <= ", " >= ", " instanceof ", " in ", " == ", " != ", " === ", " !== ", + " & ", " | ", " ^ ", " && ", " || ", " = ", " *= ", " /= ", " %= ", " += ", " -= ", " <<= ", " >>= ", " >>>= ", " &= ", " ^= ", " |= ", " , ", " ** ", " **= " +];var leftUnaryOps = [ + "!", "+", "-", "~", + "void ", "typeof ", "delete ", + "new ", + "yield " +];var incDecOps = [ + "++", "--", +]; +var specialProperties = [ + "__iterator__", "__count__", + "__parent__", "__proto__", "constructor", "prototype", + "wrappedJSObject", + "arguments", "caller", "callee", + "toString", "toSource", "valueOf", + "call", "apply", + "length", + "0", "1", +]; +/* +function addPropertyName(p) +{ + p = "" + p; + if ( + p != "floor" && + p != "random" && + p != "parent" && + true) { + print("Adding: " + p); + allPropertyNames.push(p); + } +} +*/var exprMakers = +[ + + function(d, b) { return cat([makeLValue(d, b), Random.index(incDecOps)]); }, + function(d, b) { return cat([Random.index(incDecOps), makeLValue(d, b)]); }, + function(d, b) { return cat([Random.index(leftUnaryOps), makeExpr(d, b)]); }, + function(d, b) { var id = makeId(d, b); return cat(["/*UUV1*/", "(", id, ".", Random.index(allMethodNames), " = ", makeFunction(d, b), ")"]); }, + function(d, b) { var id = makeId(d, b); return cat(["/*UUV2*/", "(", id, ".", Random.index(allMethodNames), " = ", id, ".", Random.index(allMethodNames), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", Random.index(allMethodNames), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "valueOf", "(", uneval("number"), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), Random.index(binaryOps), makeExpr(d, b)]); }, + function(d, b) { return cat([makeId(d, b), Random.index(binaryOps), makeId(d, b)]); }, + function(d, b) { return cat([makeId(d, b), Random.index(binaryOps), makeId(d, b)]); }, + function(d, b) { return cat([makeId(d, b), Random.index(binaryOps), makeId(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), " ? ", makeExpr(d, b), " : ", makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), " ? ", makeExpr(d, b), " : ", makeExpr(d, b)]); }, + function(d, b) { return cat(["yield ", makeExpr(d, b)]); }, + function(d, b) { return cat(["(", "yield ", makeExpr(d, b), ")"]); }, + + + + function(d, b) { return cat([makeArrayLiteral(d, b), ".", Random.index(["map", "filter", "some", "sort"]) ]); }, + function(d, b) { return cat([makeArrayLiteral(d, b), ".", Random.index(["map", "filter", "some", "sort"]), "(", makeFunction(d, b), ", ", makeExpr(d, b), ")"]); }, + function(d, b) { return cat([makeArrayLiteral(d, b), ".", Random.index(["map", "filter", "some", "sort"]), "(", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["'fafafa'", ".", "replace", "(", "/", "a", "/", "g", ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["[", makeExpr(d, b), "]"]); }, + function(d, b) { return cat(["(", "{", makeId(d, b), ": ", makeExpr(d, b), "}", ")"]); }, + function(d, b) { return makeFunction(d, b); }, + function(d, b) { return makeFunction(d, b) + ".prototype"; }, + function(d, b) { return cat(["(", makeFunction(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat([ makeExpr(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat([ makeFunction(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["(", makeFunction(d, b), ")", ".", "call", "(", makeExpr(d, b), ", ", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["new ", makeExpr(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["new ", "(", makeExpr(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, function(d, b) { return cat(["new ", makeFunction(d, b), "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return cat(["new ", "(", makeFunction(d, b), ")", "(", makeActualArgList(d, b), ")"]); }, + function(d, b) { return stripSemicolon(makeLittleStatement(d, b)); }, + function(d, b) { return ""; }, + function(d, b) { var v = makeNewId(d, b); return cat(["let ", "(", v, ") ", makeExpr(d - 1, b.concat([v]))]); }, + function(d, b) { var v = makeNewId(d, b); return cat(["let ", "(", v, " = ", makeExpr(d - 1, b), ") ", makeExpr(d - 1, b.concat([v]))]); }, + function(d, b) { return cat(["let ", "(", makeLetHead(d, b), ") ", makeExpr(d, b)]); }, + function(d, b) { return cat([" /* Comment */", makeExpr(d, b)]); }, + function(d, b) { return cat(["\n", makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), "\n"]); }, + function(d, b) { return cat([makeLValue(d, b)]); }, + function(d, b) { return cat([ makeLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([ makeLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat(["(", makeLValue(d, b), " = ", makeExpr(d, b), ")"]); }, + function(d, b) { return cat(["(", makeLValue(d, b), ")", " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([ makeDestructuringLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([ makeDestructuringLValue(d, b), " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat(["(", makeDestructuringLValue(d, b), " = ", makeExpr(d, b), ")"]); }, + function(d, b) { return cat(["(", makeDestructuringLValue(d, b), ")", " = ", makeExpr(d, b) ]); }, + function(d, b) { return cat([makeDestructuringLValue(d, b), " = ", makeDestructuringLValue(d, b)]); }, + function(d, b) { return cat([makeLValue(d, b), Random.index(["|=", "%=", "+=", "-="]), makeExpr(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "watch", "(", makePropertyName(d, b), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "unwatch", "(", makePropertyName(d, b), ")"]); }, + function(d, b) { return cat(["Object.defineProperty", "(", makeId(d, b), ", ", makePropertyName(d, b), ", ", makePropertyDescriptor(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "__defineGetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "__defineSetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["this", ".", "__defineGetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["this", ".", "__defineSetter__", "(", uneval(makeId(d, b)), ", ", makeFunction(d, b), ")"]); }, + function(d, b) { return cat(["(", "{", makeObjLiteralPart(d, b), " }", ")"]); }, + function(d, b) { return cat(["(", "{", makeObjLiteralPart(d, b), ", ", makeObjLiteralPart(d, b), " }", ")"]); }, + function(d, b) { return "(p={}, (p.z = " + makeExpr(d, b) + ")())"; }, + + + function(d, b) { return cat([makeExpr(d, b), ".", "throw", "(", makeExpr(d, b), ")"]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "yoyo", "(", makeExpr(d, b), ")"]); }, + + function(d, b) { return makeExpr(d, b) + ".eval(" + uneval(makeScriptForEval(d, b)) + ")"; }, + function(d, b) { return "eval(" + uneval(makeScriptForEval(d, b)) + ")"; }, + function(d, b) { return "eval(" + uneval(makeScriptForEval(d, b)) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return "(uneval(" + makeExpr(d, b) + "))"; }, + function(d, b) { return "new " + Random.index(constructors) + "(" + makeActualArgList(d, b) + ")"; }, + function(d, b) { return Random.index(constructors) + "(" + makeActualArgList(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(unaryMathFunctions) + "(" + makeExpr(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(unaryMathFunctions) + "(" + makeNumber(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeExpr(d, b) + ", " + makeExpr(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeExpr(d, b) + ", " + makeNumber(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeNumber(d, b) + ", " + makeExpr(d, b) + ")"; }, + function (d, b) { return "Math." + Random.index(binaryMathFunctions) + "(" + makeNumber(d, b) + ", " + makeNumber(d, b) + ")"; }, + function(d, b) { return makeId(d, b) + " = " + "Proxy.create(" + makeProxyHandler(d, b) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return makeId(d, b) + " = " + "Proxy.createFunction(" + makeProxyHandler(d, b) + ", " + makeFunction(d, b) + ")"; }, + function(d, b) { return makeId(d, b) + " = " + "Proxy.createFunction(" + makeProxyHandler(d, b) + ", " + makeFunction(d, b) + ", " + makeFunction(d, b) + ")"; }, function(d, b) { return cat(["delete", " ", makeId(d, b), ".", makeId(d, b)]); }, + function(d, b) { return "(void options('strict_mode'))"; }, + function(d, b) { return "(void options('strict'))"; }, + function(d, b) { return "(void version(" + Random.index([170, 180, 185]) + "))"; }, + + + function(d, b) { return "(void shapeOf(" + makeExpr(d, b) + "))"; }, + function(d, b) { return "intern(" + makeExpr(d, b) + ")"; }, + function(d, b) { return "allocationMarker()"; }, + function(d, b) { return "timeout(1800)"; }, + function(d, b) { return "(makeFinalizeObserver('tenured'))"; }, + function(d, b) { return "(makeFinalizeObserver('nursery'))"; }, makeRegexUseExpr, + makeShapeyValue, + makeIterable, + function(d, b) { return makeMathExpr(d + rnd(3), b); }, +]; +var fuzzTestingFunctions = fuzzTestingFunctionsCtor(!jsshell, fuzzTestingFunctionArg, fuzzTestingFunctionArg); +function fuzzTestingFunctionArg(d, b) { return "this"; }function makeTestingFunctionCall(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var callStatement = Random.index(fuzzTestingFunctions.testingFunctions)(d, b); + + var callBlock = "{ void 0; " + callStatement + " }"; if (jsshell && rnd(5) === 0) { + + + + + + + + + + + + + var cond = (rnd(2) ? "!" : "") + "isAsmJSCompilationAvailable()"; + return "{ if (" + cond + ") " + callBlock + " void 0; }"; + } return callBlock; +} +if (typeof evalcx == "function") { + exprMakers = exprMakers.concat([ + function(d, b) { return makeGlobal(d, b); }, + function(d, b) { return "evalcx(" + uneval(makeScriptForEval(d, b)) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return "evalcx(" + uneval(makeScriptForEval(d, b)) + ", " + makeGlobal(d, b) + ")"; }, + ]); +} +if (typeof XPCNativeWrapper == "function") { + exprMakers = exprMakers.extend([ + function(d, b) { return "new XPCNativeWrapper(" + makeExpr(d, b) + ")"; }, + function(d, b) { return "new XPCSafeJSObjectWrapper(" + makeExpr(d, b) + ")"; }, + ]); +}function makeNewGlobalArg(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + var propStrs = []; + if (rnd(2)) + propStrs.push("sameZoneAs: " + makeExpr(d - 1, b)); + if (rnd(2)) + propStrs.push("cloneSingletons: " + makeBoolean(d - 1, b)); + if (rnd(2)) + propStrs.push("disableLazyParsing: " + makeBoolean(d - 1, b)); + return "{ " + propStrs.join(", ") + " }"; +}function makeGlobal(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(10)) + return "this"; var gs; + switch(rnd(4)) { + case 0: gs = "evalcx('')"; break; + case 1: gs = "evalcx('lazy')"; break; + default: gs = "newGlobal(" + makeNewGlobalArg(d - 1, b) + ")"; break; + } if (rnd(2)) + gs = "fillShellSandbox(" + gs + ")"; return gs; +}if (xpcshell) { + exprMakers = exprMakers.concat([ + function(d, b) { var n = rnd(4); return "newGeckoSandbox(" + n + ")"; }, + function(d, b) { var n = rnd(4); return "s" + n + " = newGeckoSandbox(" + n + ")"; }, + + function(d, b) { var n = rnd(4); return "evalInSandbox(" + uneval(makeStatement(d, b)) + ", newGeckoSandbox(" + n + "))"; }, + function(d, b) { var n = rnd(4); return "evalInSandbox(" + uneval(makeStatement(d, b)) + ", s" + n + ")"; }, + function(d, b) { return "evalInSandbox(" + uneval(makeStatement(d, b)) + ", " + makeExpr(d, b) + ")"; }, + function(d, b) { return "(Components.classes ? quit() : gc()); }"; }, + ]); +} +function makeShapeyConstructor(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + var argName = uniqueVarName(); + var t = rnd(4) ? "this" : argName; + var funText = "function shapeyConstructor(" + argName + "){" + directivePrologue(); + var bp = b.concat([argName]); var nPropNames = rnd(6) + 1; + var propNames = []; + for (var i = 0; i < nPropNames; ++i) { + propNames[i] = makePropertyName(d, b); + } var nStatements = rnd(11); + for (var i = 0; i < nStatements; ++i) { + var propName = Random.index(propNames); + var tprop = t + "[" + propName + "]"; + if (rnd(5) === 0) { + funText += "if (" + (rnd(2) ? argName : makeExpr(d, bp)) + ") "; + } + switch(rnd(8)) { + case 0: funText += "delete " + tprop + ";"; break; + case 1: funText += "Object.defineProperty(" + t + ", " + (rnd(2) ? propName : makePropertyName(d, b)) + ", " + makePropertyDescriptor(d, bp) + ");"; break; + case 2: funText += "{ " + makeStatement(d, bp) + " } "; break; + case 3: funText += tprop + " = " + makeExpr(d, bp) + ";"; break; + case 4: funText += tprop + " = " + makeFunction(d, bp) + ";"; break; + case 5: funText += "for (var ytq" + uniqueVarName() + " in " + t + ") { }"; break; + case 6: funText += "Object." + Random.index(["preventExtensions","seal","freeze"]) + "(" + t + ");"; break; + default: funText += tprop + " = " + makeShapeyValue(d, bp) + ";"; break; + } + } + funText += "return " + t + "; }"; + return funText; +} +var propertyNameMakers = Random.weighted([ + { w: 1, v: function(d, b) { return makeExpr(d - 1, b); } }, + { w: 1, v: function(d, b) { return maybeNeg() + rnd(20); } }, + { w: 1, v: function(d, b) { return '"' + maybeNeg() + rnd(20) + '"'; } }, + { w: 1, v: function(d, b) { return "new String(" + '"' + maybeNeg() + rnd(20) + '"' + ")"; } }, + { w: 5, v: function(d, b) { return simpleSource(Random.index(specialProperties)); } }, + { w: 1, v: function(d, b) { return simpleSource(makeId(d - 1, b)); } }, + { w: 5, v: function(d, b) { return simpleSource(Random.index(allMethodNames)); } }, +]);function maybeNeg() { return rnd(5) ? "" : "-"; }function makePropertyName(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return (Random.index(propertyNameMakers))(d, b); +}function makeShapeyConstructorLoop(d, b) +{ + var a = makeIterable(d, b); + var v = makeNewId(d, b); + var v2 = uniqueVarName(d, b); + var bvv = b.concat([v, v2]); + return makeShapeyConstructor(d - 1, b) + + "/*tLoopC*/for (let " + v + " of " + a + ") { " + + "try{" + + "let " + v2 + " = " + Random.index(["new ", ""]) + "shapeyConstructor(" + v + "); print('EETT'); " + + + makeStatement(d - 2, bvv) + + "}catch(e){print('TTEE ' + e); }" + + " }"; +} +function makePropertyDescriptor(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var s = "({"; switch(rnd(3)) { + case 0: + + if (rnd(2)) s += "value: " + makeExpr(d, b) + ", "; + if (rnd(2)) s += "writable: " + makeBoolean(d, b) + ", "; + break; + case 1: + + if (rnd(2)) s += "get: " + makeFunction(d, b) + ", "; + if (rnd(2)) s += "set: " + makeFunction(d, b) + ", "; + break; + default: + } if (rnd(2)) s += "configurable: " + makeBoolean(d, b) + ", "; + if (rnd(2)) s += "enumerable: " + makeBoolean(d, b) + ", "; + if (s.length > 2) + s = s.substr(0, s.length - 2); s += "})"; + return s; +}function makeBoolean(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + switch(rnd(4)) { + case 0: return "true"; + case 1: return "false"; + case 2: return makeExpr(d - 2, b); + default: var m = loopModulo(); return "(" + Random.index(b) + " % " + m + Random.index([" == ", " != "]) + rnd(m) + ")"; + } +} +function makeObjLiteralPart(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(8)) + { + + + + case 2: return cat([" get ", makeObjLiteralName(d, b), maybeName(d, b), "(", makeFormalArgList(d - 1, b), ")", makeFunctionBody(d, b)]); + case 3: return cat([" set ", makeObjLiteralName(d, b), maybeName(d, b), "(", makeFormalArgList(d - 1, b), ")", makeFunctionBody(d, b)]); case 4: return "/*toXFun*/" + cat([Random.index(["toString", "toSource", "valueOf"]), ": ", makeToXFunction(d - 1, b)]); default: return cat([makeObjLiteralName(d, b), ": ", makeExpr(d, b)]); + } +}function makeToXFunction(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(4)) { + case 0: return "function() { return " + makeExpr(d, b) + "; }"; + case 1: return "function() { return this; }"; + case 2: return makeEvilCallback(d, b); + default: return makeFunction(d, b); + } +} +function makeObjLiteralName(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(6)) + { + case 0: return simpleSource(makeNumber(d, b)); + case 1: return makeNumber(d, b); + case 2: return Random.index(allPropertyNames); + case 3: return Random.index(specialProperties); + default: return makeId(d, b); + } +} +function makeFunction(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if(rnd(5) === 1) + return makeExpr(d, b); if (rnd(4) === 1) + return Random.index(builtinFunctions); return (Random.index(functionMakers))(d, b); +} +function maybeName(d, b) +{ + if (rnd(2) === 0) + return " " + makeId(d, b) + " "; + else + return ""; +}function directivePrologue() +{ + var s = ""; + if (rnd(3) === 0) + s += '"use strict"; '; + if (rnd(30) === 0) + s += '"use asm"; '; + return s; +}function makeFunctionBody(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch(rnd(5)) { + case 0: return cat([" { ", directivePrologue(), makeStatement(d - 1, b), " } "]); + case 1: return cat([" { ", directivePrologue(), "return ", makeExpr(d, b), " } "]); + case 2: return cat([" { ", directivePrologue(), "yield ", makeExpr(d, b), " } "]); + case 3: return '"use asm"; ' + asmJSInterior([]); + default: return makeExpr(d, b); + } +} +var functionMakers = [ + makeFunOnCallChain, + makeMathFunction, + makeMathyFunRef, + function(d, b) { var v = makeNewId(d, b); return cat(["function", " ", maybeName(d, b), "(", v, ")", makeFunctionBody(d, b.concat([v]))]); }, + function(d, b) { return cat(["function", " ", maybeName(d, b), "(", makeFormalArgList(d, b), ")", makeFunctionBody(d, b)]); }, + function(d, b) { var v = makeNewId(d, b); return cat([ v, " => ", makeFunctionBody(d, b.concat([v]))]); }, + function(d, b) { return cat(["(", makeFormalArgList(d, b), ")", " => ", makeFunctionBody(d, b)]); }, + function(d, b) { return "function(q) { " + directivePrologue() + "return q; }"; }, + function(d, b) { return "q => q"; }, + function(d, b) { return "function(y) { " + directivePrologue() + makeStatement(d, b.concat(["y"])) + " }"; }, + function(d, b) { return "function(y) { " + directivePrologue() + "return " + makeExpr(d, b.concat(["y"])) + " }"; }, + function(d, b) { return "function(y) { " + directivePrologue() + "yield y; " + makeStatement(d, b.concat(["y"])) + "; yield y; }"; }, + function(d, b) { return "(1 for (x in []))"; }, + function(d, b) { return "/*wrap1*/(function(){ " + directivePrologue() + makeStatement(d, b) + "return " + makeFunction(d, b) + "})()"; }, + function(d, b) { var v1 = uniqueVarName(); var v2 = uniqueVarName(); return "/*wrap2*/(function(){ " + directivePrologue() + "var " + v1 + " = " + makeExpr(d, b) + "; var " + v2 + " = " + makeFunction(d, b.concat([v1])) + "; return " + v2 + ";})()"; }, + function(d, b) { var v1 = uniqueVarName(); var v2 = uniqueVarName(); return "/*wrap3*/(function(){ " + directivePrologue() + "var " + v1 + " = " + makeExpr(d, b) + "; (" + makeFunction(d, b.concat([v1])) + ")(); })"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").apply"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").call"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").bind"; }, + function(d, b) { return "(" + makeFunction(d-1, b) + ").bind(" + makeActualArgList(d, b) + ")"; }, + function(d, b) { return cat([makeExpr(d, b), ".", Random.index(allMethodNames)]); }, + function(d, b) { return "eval"; }, + function(d, b) { return "(let (e=eval) e)"; }, + function(d, b) { return "new Function"; }, + function(d, b) { return "(new Function(" + uneval(makeStatement(d, b)) + "))"; }, + function(d, b) { return "Function"; }, + function(d, b) { return "decodeURI"; }, + function(d, b) { return "decodeURIComponent"; }, + function(d, b) { return "encodeURI"; }, + function(d, b) { return "encodeURIComponent"; }, + function(d, b) { return "neuter"; }, + function(d, b) { return "objectEmulatingUndefined"; }, + function(d, b) { return makeProxyHandlerFactory(d, b); }, + function(d, b) { return makeShapeyConstructor(d, b); }, + function(d, b) { return Random.index(typedArrayConstructors); }, + function(d, b) { return Random.index(constructors); }, +];if (typeof XPCNativeWrapper == "function") { + functionMakers = functionMakers.concat([ + function(d, b) { return "XPCNativeWrapper"; }, + function(d, b) { return "XPCSafeJSObjectWrapper"; }, + ]); +}if (typeof oomTest == "function" && engine != ENGINE_SPIDERMONKEY_MOZILLA45) { + functionMakers = functionMakers.concat([ + function(d, b) { return "oomTest"; } + ]); +}var typedArrayConstructors = [ + "Int8Array", + "Uint8Array", + "Int16Array", + "Uint16Array", + "Int32Array", + "Uint32Array", + "Float32Array", + "Float64Array", + "Uint8ClampedArray" +];function makeTypedArrayStatements(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 0) return ""; var numViews = rnd(d) + 1; + var numExtraStatements = rnd(d) + 1; + var buffer = uniqueVarName(); + var bufferSize = (1 + rnd(2)) * (1 + rnd(2)) * (1 + rnd(2)) * rnd(5); + var statements = "var " + buffer + " = new " + arrayBufferType() + "(" + bufferSize + "); "; + var bv = b.concat([buffer]); + for (var j = 0; j < numViews; ++j) { + var view = buffer + "_" + j; + var type = Random.index(typedArrayConstructors); + statements += "var " + view + " = new " + type + "(" + buffer + "); "; + bv.push(view); + var view_0 = view + "[0]"; + bv.push(view_0); + if (rnd(3) === 0) + statements += "print(" + view_0 + "); "; + if (rnd(3)) + statements += view_0 + " = " + makeNumber(d - 2, b) + "; "; + bv.push(view + "[" + rnd(11) + "]"); + } + for (var j = 0; j < numExtraStatements; ++j) { + statements += makeStatement(d - numExtraStatements, bv); + } + return statements; +}function makeNumber(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var signStr = rnd(2) ? "-" : ""; switch(rnd(70)) { + case 0: return makeExpr(d - 2, b); + case 1: return signStr + "0"; + case 2: return signStr + (rnd(1000) / 1000); + case 3: return signStr + (rnd(0xffffffff) / 2); + case 4: return signStr + rnd(0xffffffff); + case 5: return Random.index(["0.1", ".2", "3", "1.3", "4.", "5.0000000000000000000000", "1.2e3", "1e81", "1e+81", "1e-81", "1e4", "0", "-0", "(-0)", "-1", "(-1)", "0x99", "033", "3.141592653589793", "3/0", "-3/0", "0/0", "0x2D413CCC", "0x5a827999", "0xB504F332", "(0x50505050 >> 1)", "0x80000000"]); + case 6: return signStr + (Math.pow(2, rnd(66)) + (rnd(3) - 1)); + default: return signStr + rnd(30); + } +} +function makeLetHead(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var items = (d > 0 || rnd(2) === 0) ? rnd(10) + 1 : 1; + var result = ""; for (var i = 0; i < items; ++i) { + if (i > 0) + result += ", "; + result += makeLetHeadItem(d - i, b); + } return result; +}function makeLetHeadItem(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if (d < 0 || rnd(2) === 0) + return rnd(2) ? uniqueVarName() : makeId(d, b); + else if (rnd(5) === 0) + return makeDestructuringLValue(d, b) + " = " + makeExpr(d, b); + else + return makeId(d, b) + " = " + makeExpr(d, b); +} +function makeActualArgList(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var nArgs = rnd(3); if (nArgs == 0) + return ""; var argList = makeExpr(d, b); for (var i = 1; i < nArgs; ++i) + argList += ", " + makeExpr(d - i, b); return argList; +}function makeFormalArgList(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var argList = []; var nArgs = rnd(5) ? rnd(3) : rnd(100); + for (var i = 0; i < nArgs; ++i) { + argList.push(makeFormalArg(d - i, b)); + } if (rnd(5) === 0) { + + argList.push("..." + makeId(d, b)); + } return argList.join(", "); +}function makeFormalArg(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(8) === 1) + return makeDestructuringLValue(d, b); return makeId(d, b) + (rnd(5) ? "" : " = " + makeExpr(d, b)); +} +function makeNewId(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return Random.index(["a", "b", "c", "d", "e", "w", "x", "y", "z"]); +}function makeId(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(3) === 1 && b.length) + return Random.index(b); switch(rnd(200)) + { + case 0: + return makeTerm(d, b); + case 1: + return makeExpr(d, b); + case 2: case 3: case 4: case 5: + return makeLValue(d, b); + case 6: case 7: + return makeDestructuringLValue(d, b); + case 8: case 9: case 10: + + + return Random.index(["get", "set", "getter", "setter", "delete", "let", "yield", "of"]); + case 11: case 12: case 13: + return "this." + makeId(d, b); + case 14: case 15: case 16: + return makeObjLiteralName(d - 1, b); + case 17: case 18: + return makeId(d - 1, b); + case 19: + return " "; + case 20: + return "this"; + } return Random.index(["a", "b", "c", "d", "e", "w", "x", "y", "z", + "window", "eval", "\u3056", "NaN", ]); + +} +function makeComprehension(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 0) + return ""; switch(rnd(7)) { + case 0: + return ""; + case 1: + return cat([" for ", "(", makeForInLHS(d, b), " in ", makeExpr(d - 2, b), ")"]) + makeComprehension(d - 1, b); + + case 2: + return cat([" for ", "each ", "(", makeId(d, b), " in ", makeExpr(d - 2, b), ")"]) + makeComprehension(d - 1, b); + case 3: + return cat([" for ", "each ", "(", makeId(d, b), " in ", makeIterable(d - 2, b), ")"]) + makeComprehension(d - 1, b); + case 4: + return cat([" for ", "(", makeId(d, b), " of ", makeExpr(d - 2, b), ")"]) + makeComprehension(d - 1, b); + case 5: + return cat([" for ", "(", makeId(d, b), " of ", makeIterable(d - 2, b), ")"]) + makeComprehension(d - 1, b); + default: + return cat([" if ", "(", makeExpr(d - 2, b), ")"]); + } +}function makeForInLHS(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + return makeLValue(d, b); +} +function makeLValue(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d <= 0 || (rnd(2) === 1)) + return makeId(d - 1, b); d = rnd(d); return (Random.index(lvalueMakers))(d, b); +} +var lvalueMakers = [ + + function(d, b) { return cat([makeId(d, b)]); }, + function(d, b) { return cat(["(", makeLValue(d, b), ")"]); }, + function(d, b) { return makeDestructuringLValue(d, b); }, + function(d, b) { return "(" + makeDestructuringLValue(d, b) + ")"; }, + function(d, b) { return cat([makeId(d, b), "(", makeExpr(d, b), ")"]); }, + function(d, b) { return cat(["(", makeExpr(d, b), ")", "(", makeExpr(d, b), ")"]); }, + function(d, b) { return Random.index(builtinProperties); }, + function(d, b) { return Random.index(builtinObjectNames); }, + function(d, b) { return "arguments"; }, + function(d, b) { return cat(["arguments", "[", makePropertyName(d, b), "]"]); }, + function(d, b) { return makeFunOnCallChain(d, b) + ".arguments"; }, + function(d, b) { return cat([makeExpr(d, b), ".", makeId(d, b)]); }, + function(d, b) { return cat([makeExpr(d, b), ".", "__proto__"]); }, + function(d, b) { return cat([makeExpr(d, b), "[", makePropertyName(d, b), "]"]); }, + function(d, b) { return "this.zzz.zzz"; }, + function(d, b) { return makeExpr(d, b); }, +]; +function makeDestructuringLValue(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); d = d - 1; if (d < 0 || rnd(4) === 1) + return makeId(d, b); if (rnd(6) === 1) + return makeLValue(d, b); return (Random.index(destructuringLValueMakers))(d, b); +}var destructuringLValueMakers = [ + + function(d, b) + { + var len = rnd(d, b); + if (len == 0) + return "[]"; var Ti = []; + Ti.push("["); + Ti.push(maybeMakeDestructuringLValue(d, b)); + for (var i = 1; i < len; ++i) { + Ti.push(", "); + Ti.push(maybeMakeDestructuringLValue(d, b)); + } Ti.push("]"); return cat(Ti); + }, + function(d, b) + { + var len = rnd(d, b); + if (len == 0) + return "{}"; + var Ti = []; + Ti.push("{"); + for (var i = 0; i < len; ++i) { + if (i > 0) + Ti.push(", "); + Ti.push(makeId(d, b)); + if (rnd(3)) { + Ti.push(": "); + Ti.push(makeDestructuringLValue(d, b)); + } + } + Ti.push("}"); return cat(Ti); + } +]; +function maybeMakeDestructuringLValue(d, b) +{ + if (rnd(2) === 0) + return ""; return makeDestructuringLValue(d, b); +}function makeTerm(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return (Random.index(termMakers))(d, b); +}var termMakers = [ + + function(d, b) { return makeId(d, b); }, + function(d, b) { return Random.index([ + + "[]", "[1]", "[[]]", "[[1]]", "[,]", "[,,]", "[1,,]", + + "{}", "({})", "({a1:1})", + + "[z1]", "[z1,,]", "[,,z1]", + + "({a2:z2})", + "function(id) { return id }", + "function ([y]) { }", + "(function ([y]) { })()", "arguments", + "Math", + "this", + "length", '"\u03A0"', + ]); + }, + makeNumber, + function(d, b) { return Random.index([ "true", "false", "undefined", "null"]); }, + function(d, b) { return Random.index([ "this", "window" ]); }, + function(d, b) { return Random.index([" \"\" ", " '' "]); }, + randomUnitStringLiteral, + function(d, b) { return Random.index([" /x/ ", " /x/g "]); }, + makeRegex, +];function randomUnitStringLiteral() +{ + var s = "\"\\u"; + for (var i = 0; i < 4; ++i) { + s += "0123456789ABCDEF".charAt(rnd(16)); + } + s += "\""; + return s; +} +function maybeMakeTerm(d, b) +{ + if (rnd(2)) + return makeTerm(d - 1, b); + else + return ""; +} +function makeCrazyToken() +{ + if (rnd(3) === 0) { + return String.fromCharCode(32 + rnd(128 - 32)); + } + if (rnd(6) === 0) { + return String.fromCharCode(rnd(65536)); + } return Random.index([ + "//", UNTERMINATED_COMMENT, (UNTERMINATED_COMMENT + "\n"), "/*\n*/", + "[", "]", + "{", "}", + "(", ")", + "!", "@", "%", "^", "*", "**", "|", ":", "?", "'", "\"", ",", ".", "/", + "~", "_", "+", "=", "-", "++", "--", "+=", "%=", "|=", "-=", + "...", "=>", + " in ", " instanceof ", " let ", " new ", " get ", " for ", " if ", " else ", " else if ", " try ", " catch ", " finally ", " export ", " import ", " void ", " with ", + " default ", " goto ", " case ", " switch ", " do ", " /*infloop*/while ", " return ", " yield ", " break ", " continue ", " typeof ", " var ", " const ", + " package ", + " enum ", + " debugger ", + " super ", " this ", + " null ", + " undefined ", + "\n", + "\r", + "\u2028", + "\u2029", + "<" + "!" + "--", + "--" + ">", + "", + "\0", + ]); +} +function makeShapeyValue(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(10) === 0) + return makeExpr(d, b); var a = [ + + [ + "0", "1", "2", "3", "0.1", ".2", "1.3", "4.", "5.0000000000000000000000", + "1.2e3", "1e81", "1e+81", "1e-81", "1e4", "-0", "(-0)", + "-1", "(-1)", "0x99", "033", "3/0", "-3/0", "0/0", + "Math.PI", + "0x2D413CCC", "0x5a827999", "0xB504F332", "-0x2D413CCC", "-0x5a827999", "-0xB504F332", "0x50505050", "(0x50505050 >> 1)", + + "0x10000000", "0x20000000", "0x3FFFFFFE", "0x3FFFFFFF", "0x40000000", "0x40000001", "0x80000000", "-0x80000000", + ], + [ "(1/0)", "(-1/0)", "(0/0)" ], + [" \"\" ", " '' ", " 'A' ", " '\\0' ", ' "use strict" '], + [ " /x/ ", " /x/g "], + [ "true", "false" ], + [ "(void 0)", "null" ], + [ "[]", "[1]", "[(void 0)]", "{}", "{x:3}", "({})", "({x:3})" ], + [ "NaN", "Infinity", "-Infinity", "undefined"], + [ "new Boolean(true)", "new Boolean(false)" ], + [ "new Number(1)", "new Number(1.5)" ], + [ "new String('')", "new String('q')" ], + [ "function(){}" ], + [ "{}", "[]", "[1]", "['z']", "[undefined]", "this", "eval", "arguments", "arguments.caller", "arguments.callee" ], + [ "objectEmulatingUndefined()" ], + [ b.length ? Random.index(b) : "x" ] + ]; return Random.index(Random.index(a)); +}function mixedTypeArrayElem(d, b) +{ + while (true) { + var s = makeShapeyValue(d - 3, b); + if (s.length < 60) + return s; + } +}function makeMixedTypeArray(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); + var q = rnd(4) + 2; + var picks = []; + for (var j = 0; j < q; ++j) { + picks.push(mixedTypeArrayElem(d, b)); + } + var c = []; + var count = loopCount(); + for (var j = 0; j < count; ++j) { + var elem = Random.index(picks); + + + var repeat = count === 0 ? rnd(4)===0 : rnd(50)===0; + var repeats = repeat ? rnd(30) : 1; + for (var k = 0; k < repeats; ++k) { + c.push(elem); + } + } return "/*MARR*/" + "[" + c.join(", ") + "]"; +}function makeArrayLiteral(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (rnd(2) === 0) + return makeMixedTypeArray(d, b); var elems = []; + while (rnd(5)) elems.push(makeArrayLiteralElem(d, b)); + return "/*FARR*/" + "[" + elems.join(", ") + "]"; +}function makeArrayLiteralElem(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); switch (rnd(5)) { + case 0: return "..." + makeIterable(d - 1, b); + case 1: return ""; + default: return makeExpr(d - 1, b); + } +}function makeIterable(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 1) + return "[]"; return (Random.index(iterableExprMakers))(d, b); +}var iterableExprMakers = Random.weighted([ + + { w: 1, v: function(d, b) { return "new Array(" + makeNumber(d, b) + ")"; } }, + { w: 8, v: makeArrayLiteral }, + { w: 1, v: function(d, b) { return cat(["[", makeExpr(d, b), makeComprehension(d, b), "]"]); } }, + { w: 1, v: function(d, b) { return cat([ makeExpr(d, b), makeComprehension(d, b) ]); } }, + { w: 1, v: function(d, b) { return cat(["(", makeExpr(d, b), makeComprehension(d, b), ")"]); } }, + { w: 1, v: function(d, b) { return "(function() { " + directivePrologue() + "yield " + makeExpr(d - 1, b) + "; } })()"; } }, + + { w: 1, v: function(d, b) { return "/*PTHR*/(function() { " + directivePrologue() + "for (var i of " + makeIterable(d - 1, b) + ") { yield i; } })()"; } }, { w: 1, v: makeFunction }, + { w: 1, v: makeExpr }, +]);function strTimes(s, n) +{ + if (n == 0) return ""; + if (n == 1) return s; + var s2 = s + s; + var r = n % 2; + var d = (n - r) / 2; + var m = strTimes(s2, d); + return r ? m + s : m; +} +function makeAsmJSModule(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var interior = asmJSInterior([]); + return '(function(stdlib, foreign, heap){ "use asm"; ' + interior + ' })'; +}function makeAsmJSFunction(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var interior = asmJSInterior(["ff"]); + return '(function(stdlib, foreign, heap){ "use asm"; ' + interior + ' })(this, {ff: ' + makeFunction(d - 2, b) + '}, new ' + arrayBufferType() + '(4096))'; +}var proxyHandlerProperties = { + getOwnPropertyDescriptor: { + empty: "function(){}", + forward: "function(name) { var desc = Object.getOwnPropertyDescriptor(x); desc.configurable = true; return desc; }", + throwing: "function(name) { return {get: function() { throw 4; }, set: function() { throw 5; }}; }", + }, + getPropertyDescriptor: { + empty: "function(){}", + forward: "function(name) { var desc = Object.getPropertyDescriptor(x); desc.configurable = true; return desc; }", + throwing: "function(name) { return {get: function() { throw 4; }, set: function() { throw 5; }}; }", + }, + defineProperty: { + empty: "function(){}", + forward: "function(name, desc) { Object.defineProperty(x, name, desc); }" + }, + getOwnPropertyNames: { + empty: "function() { return []; }", + forward: "function() { return Object.getOwnPropertyNames(x); }" + }, + delete: { + empty: "function() { return true; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(name) { return delete x[name]; }" + }, + fix: { + empty: "function() { return []; }", + yes: "function() { return []; }", + no: "function() { }", + forward: "function() { if (Object.isFrozen(x)) { return Object.getOwnProperties(x); } }" + }, + has: { + empty: "function() { return false; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(name) { return name in x; }" + }, + hasOwn: { + empty: "function() { return false; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(name) { return Object.prototype.hasOwnProperty.call(x, name); }" + }, + get: { + empty: "function() { return undefined }", + forward: "function(receiver, name) { return x[name]; }", + bind: "function(receiver, name) { var prop = x[name]; return (typeof prop) === 'function' ? prop.bind(x) : prop; }" + }, + set: { + empty: "function() { return true; }", + yes: "function() { return true; }", + no: "function() { return false; }", + forward: "function(receiver, name, val) { x[name] = val; return true; }" + }, + iterate: { + empty: "function() { return (function() { throw StopIteration; }); }", + forward: "function() { return (function() { for (var name in x) { yield name; } })(); }" + }, + enumerate: { + empty: "function() { return []; }", + forward: "function() { var result = []; for (var name in x) { result.push(name); }; return result; }" + }, + keys: { + empty: "function() { return []; }", + forward: "function() { return Object.keys(x); }" + } +};function makeProxyHandlerFactory(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); if (d < 1) + return "({/*TOODEEP*/})"; try { + var preferred = Random.index(["empty", "forward", "yes", "no", "bind", "throwing"]); + var fallback = Random.index(["empty", "forward"]); + var fidelity = rnd(10); var handlerFactoryText = "(function handlerFactory(x) {"; + handlerFactoryText += "return {"; if (rnd(2)) { + + bp = b.concat(['x']); + } else { + + handlerFactoryText = handlerFactoryText.replace(/x/, ""); + bp = b; + } for (var p in proxyHandlerProperties) { + var funText; + if (proxyHandlerProperties[p][preferred] && rnd(10) <= fidelity) { + funText = proxyMunge(proxyHandlerProperties[p][preferred], p); + } else { + switch(rnd(7)) { + case 0: funText = makeFunction(d - 3, bp); break; + case 1: funText = "undefined"; break; + case 2: funText = "function() { throw 3; }"; break; + default: funText = proxyMunge(proxyHandlerProperties[p][fallback], p); + } + } + handlerFactoryText += p + ": " + funText + ", "; + } handlerFactoryText += "}; })"; return handlerFactoryText; + } catch(e) { + return "({/* :( */})"; + } +}function proxyMunge(funText, p) +{ + + return funText; +}function makeProxyHandler(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return makeProxyHandlerFactory(d, b) + "(" + makeExpr(d - 3, b) + ")"; +} +/* +David Anderson suggested creating the following recursive structures: + - recurse down an array of mixed types, car cdr kinda thing + - multiple recursive calls in a function, like binary search left/right, sometimes calls neither and sometimes calls both the recursion support in spidermonkey only works with self-recursion. + that is, two functions that call each other recursively will not be traced. two trees are formed, going down and going up. + type instability matters on both sides. + so the values returned from the function calls matter. so far, what i've thought of means recursing from the top of a function and if..else. + but i'd probably also want to recurse from other points, e.g. loops. special code for tail recursion likely coming soon, but possibly as a separate patch, because it requires changes to the interpreter. +*/ +var recursiveFunctions = [ + { + + text: "(function too_much_recursion(depth) { @; if (depth > 0) { @; too_much_recursion(depth - 1); @ } else { @ } @ })", + vars: ["depth"], + args: function(d, b) { return singleRecursionDepth(d, b); }, + test: function(f) { try { f(5000); } catch(e) { } return true; } + }, + { + text: "(function factorial(N) { @; if (N == 0) { @; return 1; } @; return N * factorial(N - 1); @ })", + vars: ["N"], + args: function(d, b) { return singleRecursionDepth(d, b); }, + test: function(f) { return f(10) == 3628800; } + }, + { + text: "(function factorial_tail(N, Acc) { @; if (N == 0) { @; return Acc; } @; return factorial_tail(N - 1, Acc * N); @ })", + vars: ["N", "Acc"], + args: function(d, b) { return singleRecursionDepth(d, b) + ", 1"; }, + test: function(f) { return f(10, 1) == 3628800; } + }, + { + + text: "(function fibonacci(N) { @; if (N <= 1) { @; return 1; } @; return fibonacci(N - 1) + fibonacci(N - 2); @ })", + vars: ["N"], + args: function(d, b) { return "" + rnd(8); }, + test: function(f) { return f(6) == 13; } + }, + { + + text: "(function a_indexing(array, start) { @; if (array.length == start) { @; return EXPR1; } var thisitem = array[start]; var recval = a_indexing(array, start + 1); STATEMENT1 })", + vars: ["array", "start", "thisitem", "recval"], + args: function(d, b) { return makeMixedTypeArray(d-1, b) + ", 0"; }, + testSub: function(text) { return text.replace(/EXPR1/, "0").replace(/STATEMENT1/, "return thisitem + recval;"); }, + randSub: function(text, varMap, d, b) { + var expr1 = makeExpr(d, b.concat([varMap["array"], varMap["start"]])); + var statement1 = rnd(2) ? + makeStatement(d, b.concat([varMap["thisitem"], varMap["recval"]])) : + "return " + makeExpr(d, b.concat([varMap["thisitem"], varMap["recval"]])) + ";"; return (text.replace(/EXPR1/, expr1) + .replace(/STATEMENT1/, statement1) + ); }, + test: function(f) { return f([1,2,3,"4",5,6,7], 0) == "123418"; } + }, + { + + text: "(function sum_indexing(array, start) { @; return array.length == start ? 0 : array[start] + sum_indexing(array, start + 1); })", + vars: ["array", "start"], + args: function(d, b) { return makeMixedTypeArray(d-1, b) + ", 0"; }, + test: function(f) { return f([1,2,3,"4",5,6,7], 0) == "123418"; } + }, + { + text: "(function sum_slicing(array) { @; return array.length == 0 ? 0 : array[0] + sum_slicing(array.slice(1)); })", + vars: ["array"], + args: function(d, b) { return makeMixedTypeArray(d-1, b); }, + test: function(f) { return f([1,2,3,"4",5,6,7]) == "123418"; } + } +];function singleRecursionDepth(d, b) +{ + if (rnd(2) === 0) { + return "" + rnd(4); + } + if (rnd(10) === 0) { + return makeExpr(d - 2, b); + } + return "" + rnd(100000); +}(function testAllRecursiveFunctions() { + for (var i = 0; i < recursiveFunctions.length; ++i) { + var a = recursiveFunctions[i]; + var text = a.text; + if (a.testSub) text = a.testSub(text); + var f = eval(text.replace(/@/g, "")); + if (!a.test(f)) + throw "Failed test of: " + a.text; + } +})();function makeImmediateRecursiveCall(d, b, cheat1, cheat2) +{ + if (rnd(10) !== 0) + return "(4277)"; var a = (cheat1 == null) ? Random.index(recursiveFunctions) : recursiveFunctions[cheat1]; + var s = a.text; + var varMap = {}; + for (var i = 0; i < a.vars.length; ++i) { + var prettyName = a.vars[i]; + varMap[prettyName] = uniqueVarName(); + s = s.replace(new RegExp(prettyName, "g"), varMap[prettyName]); + } + var actualArgs = cheat2 == null ? a.args(d, b) : cheat2; + s = s + "(" + actualArgs + ")"; + s = s.replace(/@/g, function() { if (rnd(4) === 0) return makeStatement(d-2, b); return ""; }); + if (a.randSub) s = a.randSub(s, varMap, d, b); + s = "(" + s + ")"; + return s; +}/********************************* + * GENERATING REGEXPS AND INPUTS * + *********************************/var POTENTIAL_MATCHES = 10; +var backrefHack = []; +for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + backrefHack[i] = ""; +}function regexNumberOfMatches() +{ + if (rnd(10)) + return rnd(5); + return Math.pow(2, rnd(40)) + rnd(3) - 1; +}function regexPattern(depth, parentWasQuantifier) +{ + if (depth == 0 || (rnd(depth) == 0)) + return regexTerm(); var dr = depth - 1; var index = rnd(regexMakers.length); + if (parentWasQuantifier && rnd(30)) index = rnd(regexMakers.length - 1) + 1; + return (Random.index(regexMakers[index]))(dr); +}var regexMakers = +[ + [ + + function(dr) { return regexQuantified(dr, "+", 1, rnd(10)); }, + function(dr) { return regexQuantified(dr, "*", 0, rnd(10)); }, + function(dr) { return regexQuantified(dr, "?", 0, 1); }, + function(dr) { return regexQuantified(dr, "+?", 1, 1); }, + function(dr) { return regexQuantified(dr, "*?", 0, 1); }, + function(dr) { var x = regexNumberOfMatches(); return regexQuantified(dr, "{" + x + "}", x, x); }, + function(dr) { var x = regexNumberOfMatches(); return regexQuantified(dr, "{" + x + ",}", x, x + rnd(10)); }, + function(dr) { var min = regexNumberOfMatches(); var max = min + regexNumberOfMatches(); return regexQuantified(dr, "{" + min + "," + max + "}", min, max); } + ], + [ + + function(dr) { return regexConcatenation(dr); }, + function(dr) { return regexDisjunction(dr); } + ], + [ + + function(dr) { return ["\\" + (rnd(3) + 1), backrefHack.slice(0)]; }, + function(dr) { return regexGrouped("(", dr, ")"); }, + function(dr) { return regexGrouped("(?:", dr, ")"); }, + function(dr) { return regexGrouped("(?=", dr, ")"); }, + function(dr) { return regexGrouped("(?!", dr, ")"); } + ] +]; +function quantifierHelper(pm, min, max, pms) +{ + var repeats = Math.min(min + rnd(max - min + 5) - 2, 10); + var returnValue = ""; + for (var i = 0; i < repeats; i++) + { + if (rnd(100) < 80) + returnValue = returnValue + pm; + else + returnValue = returnValue + Random.index(pms); + } + return returnValue; +}function regexQuantified(dr, operator, min, max) +{ + var [re, pms] = regexPattern(dr, true); + var newpms = []; + for (var i = 0; i < POTENTIAL_MATCHES; i++) + newpms[i] = quantifierHelper(pms[i], min, max, pms); + return [re + operator, newpms]; +} +function regexConcatenation(dr) +{ + var [re1, strings1] = regexPattern(dr, false); + var [re2, strings2] = regexPattern(dr, false); + var newStrings = []; for (var i = 0; i < POTENTIAL_MATCHES; i++) + { + var chance = rnd(100); + if (chance < 10) + newStrings[i] = ""; + else if (chance < 20) + newStrings[i] = strings1[i]; + else if (chance < 30) + newStrings[i] = strings2[i]; + else if (chance < 65) + newStrings[i] = strings1[i] + strings2[i]; + else + newStrings[i] = Random.index(strings1) + Random.index(strings2); + } return [re1 + re2, newStrings]; +}function regexDisjunction(dr) +{ + var [re1, strings1] = regexPattern(dr, false); + var [re2, strings2] = regexPattern(dr, false); + var newStrings = []; for (var i = 0; i < POTENTIAL_MATCHES; i++) + { + var chance = rnd(100); + if (chance < 10) + newStrings[i] = ""; + else if (chance < 20) + newStrings[i] = Random.index(strings1) + Random.index(strings2); + else if (chance < 60) + newStrings[i] = strings1[i]; + else + newStrings[i] = strings2[i]; + } + return [re1 + "|" + re2, newStrings]; +}function regexGrouped(prefix, dr, postfix) +{ + var [re, strings] = regexPattern(dr, false); + var newStrings = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + newStrings[i] = rnd(5) ? strings[i] : ""; + if (prefix == "(" && strings[i].length < 40 && rnd(3) === 0) { + backrefHack[i] = strings[i]; + } + } + return [prefix + re + postfix, newStrings]; +} +var letters = +["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", + "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];var hexDigits = [ + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", + "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", + "a", "b", "c", "d", "e", "f", + "A", "B", "C", "D", "E", "F" +];function regexTerm() +{ + var [re, oneString] = regexTermPair(); + var strings = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + strings[i] = rnd(5) ? oneString : regexTermPair()[1]; + } + return [re, strings]; +}function regexCharCode() +{ + return rnd(2) ? rnd(256) : rnd(65536); +} +var regexCharacterMakers = Random.weighted([ + + { w:20, v: function() { var cc = regexCharCode(); return [ String.fromCharCode(cc), cc]; } }, + { w: 4, v: function() { var cc = regexCharCode(); return ["\\" + String.fromCharCode(cc), cc]; } }, + { w: 1, v: function() { return ["\\0", 0]; } }, + { w: 1, v: function() { return ["\\B", 66]; } }, + { w: 1, v: function() { return ["\\b", 8]; } }, + { w: 1, v: function() { return ["\\t", 9]; } }, + { w: 1, v: function() { return ["\\n", 10]; } }, + { w: 1, v: function() { return ["\\v", 11]; } }, + { w: 1, v: function() { return ["\\f", 12]; } }, + { w: 1, v: function() { return ["\\r", 13]; } }, + { w: 5, v: function() { var controlCharacterCode = rnd(26) + 1; return ["\\c" + String.fromCharCode(64 + controlCharacterCode), controlCharacterCode]; } }, + + { w: 5, v: function() { var twoHex = Random.index(hexDigits) + Random.index(hexDigits); return ["\\x" + twoHex, parseInt(twoHex, 16)]; } }, + { w: 5, v: function() { var twoHex = Random.index(hexDigits) + Random.index(hexDigits); return ["\\u00" + twoHex, parseInt(twoHex, 16)]; } }, + { w: 5, v: function() { var fourHex = Random.index(hexDigits) + Random.index(hexDigits) + Random.index(hexDigits) + Random.index(hexDigits); return ["\\u" + fourHex, parseInt(fourHex, 16)]; } }, +]);function regexCharacter() +{ + var [matcher, charcode] = Random.index(regexCharacterMakers)(); + switch(rnd(10)) { + case 0: return [matcher, charcode + 32]; + case 1: return [matcher, charcode - 32]; + case 2: return [matcher, regexCharCode()]; + default: return [matcher, charcode]; + } +} +var regexBuiltInCharClasses = [ + "\\d", "\\D", + "\\s", "\\S", + "\\w", "\\W", +]; +function regexOneCharStringsWith(frequentChars) { + var matches = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + matches.push(rnd(8) ? Random.index(frequentChars) : String.fromCharCode(regexCharCode())); + } + return matches; +} +function regexShortStringsWith(frequentChars) { + var matches = []; + for (var i = 0; i < POTENTIAL_MATCHES; ++i) { + var s = ""; + while (rnd(3)) { + s += rnd(4) ? Random.index(frequentChars) : String.fromCharCode(regexCharCode()); + } + matches.push(s); + } + return matches; +}var regexTermMakers = + [ + function() { return regexCharacterClass(); }, + function() { var [re, cc] = regexCharacter(); return [re, regexOneCharStringsWith([String.fromCharCode(cc)])]; }, + function() { return [Random.index(regexBuiltInCharClasses), regexOneCharStringsWith(["0", "a", "_"])]; }, + function() { return ["[^]", regexOneCharStringsWith(["\n"])]; }, + function() { return [".", regexOneCharStringsWith(["\n"])]; }, + function() { return [Random.index(["^", "$"]), regexShortStringsWith(["\n"])]; }, + function() { return [Random.index(["\\b", "\\B"]), regexShortStringsWith([" ", "\n", "a", "1"])]; }, + ];function regexTerm() +{ + return Random.index(regexTermMakers)(); +}function regexCharacterClass() +{ + var ranges = rnd(5); + var inRange = rnd(2); + var charBucket = [String.fromCharCode(regexCharCode())]; var re = "["; + if (!inRange) { + re += "^"; + } var lo, hi; for (var i = 0; i < ranges; ++i) { + if (rnd(100) == 0) { + + re += "-"; + if (rnd(2)) { + re += String.fromCharCode(regexCharCode()); + } + } if (rnd(3) == 1) { + + re += Random.index(regexBuiltInCharClasses); + charBucket.push("a"); + charBucket.push("0"); + charBucket.push("_"); + } else if (rnd(2)) { + + var a = regexCharacter(); + var b = regexCharacter(); + if ((a[1] <= b[1]) == !!rnd(10)) { + [lo, hi] = [a, b]; + } else { + [lo, hi] = [b, a]; + } re += lo[0] + "-" + hi[0]; + charBucket.push(String.fromCharCode(lo[1] + rnd(3) - 1)); + charBucket.push(String.fromCharCode(hi[1] + rnd(3) - 1)); + charBucket.push(String.fromCharCode(lo[1] + rnd(Math.max(hi[1] - lo[1], 1)))); + } else { + + var a = regexCharacter(); + re += a[0]; + charBucket.push(String.fromCharCode(a[1])); + } + } re += "]"; + return [re, pickN(charBucket, POTENTIAL_MATCHES)]; +}function pickN(bucket, picks) +{ + var picked = []; + for (var i = 0; i < picks; ++i) { + picked.push(Random.index(bucket)); + } + return picked; +}function makeRegisterStompFunction(d, b, pure) +{ + var args = []; + var nArgs = (rnd(10) ? rnd(20) : rnd(100)) + 1; + for (var i = 0; i < nArgs; ++i) { + args.push("a" + i); + } var bv = b.concat(args); return ( + "(function(" + args.join(", ") + ") { " + + makeRegisterStompBody(d, bv, pure) + + "return " + Random.index(bv) + "; " + + "})" + ); +}function makeRegisterStompBody(d, b, pure) +{ + var bv = b.slice(0); + var lastRVar = 0; + var s = ""; function value() + { + return rnd(3) && bv.length ? Random.index(bv) : "" + rnd(10); + } function expr() + { + return value() + Random.index([" + ", " - ", " / ", " * ", " % ", " | ", " & ", " ^ "]) + value(); + } while (rnd(100)) { + if (bv.length == 0 || rnd(4)) { + var newVar = "r" + lastRVar; + ++lastRVar; + s += "var " + newVar + " = " + expr() + "; "; + bv.push(newVar); + } else if (rnd(5) === 0 && !pure) { + s += "print(" + Random.index(bv) + "); "; + } else { + s += Random.index(bv) + " = " + expr() + "; "; + } + } return s; +} +/*********************** + * TEST BUILT-IN TYPES * + ***********************/var makeBuilderStatement; +var makeEvilCallback;(function setUpBuilderStuff() { + var ARRAY_SIZE = 20; + var OBJECTS_PER_TYPE = 3; + var smallPowersOfTwo = [1, 2, 4, 8]; + function bufsize() { return rnd(ARRAY_SIZE) * Random.index(smallPowersOfTwo); } + function arrayIndex(d, b) { + switch(rnd(8)) { + case 0: return m("v"); + case 1: return makeExpr(d - 1, b); + case 2: return "({valueOf: function() { " + makeStatement(d, b) + "return " + rnd(ARRAY_SIZE) + "; }})"; + default: return "" + rnd(ARRAY_SIZE); + } + } + function m(t) + { + if (!t) + t = "aosmevbtihgfp"; + t = t.charAt(rnd(t.length)); + var name = t + rnd(OBJECTS_PER_TYPE); + switch(rnd(16)) { + case 0: return m("o") + "." + name; + case 1: return m("g") + "." + name; + case 2: return "this." + name; + default: return name; + } + } function val(d, b) + { + if (rnd(10)) + return m(); + return makeExpr(d, b); + } + function assign(d, b, t, rhs) + { + switch(rnd(18)) { + + case 0: return ( + "Object.defineProperty(" + + (rnd(8)?"this":m("og")) + ", " + + simpleSource(m(t)) + ", " + + "{ " + propertyDescriptorPrefix(d-1, b) + " get: function() { " + (rnd(8)?"":makeBuilderStatement(d-1,b)) + " return " + rhs + "; } }" + + ");" + ); + case 1: return Random.index(varBinder) + m(t) + " = " + rhs + ";"; + default: return m(t) + " = " + rhs + ";"; + } + } function makeCounterClosure(d, b) + { + + var v = uniqueVarName(); + var infrequently = infrequentCondition(v, 10); + return ( + "(function mcc_() { " + + "var " + v + " = 0; " + + "return function() { " + + "++" + v + "; " + + (rnd(3) ? + "if (" + infrequently + ") { dumpln('hit!'); " + makeBuilderStatements(d, b) + " } " + + "else { dumpln('miss!'); " + makeBuilderStatements(d, b) + " } " + : m("f") + "(" + infrequently + ");" + ) + + "};" + + "})()"); + } function fdecl(d, b) + { + var argName = m(); + var bv = b.concat([argName]); + return "function " + m("f") + "(" + argName + ") " + makeFunctionBody(d, bv); + } function makeBuilderStatements(d, b) + { + var s = ""; + var extras = rnd(4); + for (var i = 0; i < extras; ++i) { + s += "try { " + makeBuilderStatement(d - 2, b) + " } catch(e" + i + ") { } "; + } + s += makeBuilderStatement(d - 1, b); + return s; + } var builderFunctionMakers = Random.weighted([ + { w: 9, v: function(d, b) { return "(function() { " + makeBuilderStatements(d, b) + " return " + m() + "; })"; } }, + { w: 1, v: function(d, b) { return "(function() { " + makeBuilderStatements(d, b) + " throw " + m() + "; })"; } }, + { w: 1, v: function(d, b) { return "(function(j) { " + m("f") + "(j); })"; } }, + + { w: 4, v: function(d, b) { return "(function(j) { if (j) { " + makeBuilderStatements(d, b) + " } else { " + makeBuilderStatements(d, b) + " } })"; } }, + { w: 4, v: function(d, b) { return "(function() { for (var j=0;j<" + loopCount() + ";++j) { " + m("f") + "(j%"+(2+rnd(4))+"=="+rnd(2)+"); } })"; } }, + { w: 1, v: function(d, b) { return Random.index(builtinFunctions) + ".bind(" + m() + ")"; } }, + { w: 5, v: function(d, b) { return m("f"); } }, + { w: 3, v: makeCounterClosure }, + { w: 2, v: makeFunction }, + { w: 1, v: makeAsmJSModule }, + { w: 1, v: makeAsmJSFunction }, + { w: 1, v: makeRegisterStompFunction }, + ]); + makeEvilCallback = function(d, b) { + return (Random.index(builderFunctionMakers))(d - 1, b); + }; var handlerTraps = ["getOwnPropertyDescriptor", "getPropertyDescriptor", "defineProperty", "getOwnPropertyNames", "delete", "fix", "has", "hasOwn", "get", "set", "iterate", "enumerate", "keys"]; function forwardingHandler(d, b) { + return ( + "({"+ + "getOwnPropertyDescriptor: function(name) { Z; var desc = Object.getOwnPropertyDescriptor(X); desc.configurable = true; return desc; }, " + + "getPropertyDescriptor: function(name) { Z; var desc = Object.getPropertyDescriptor(X); desc.configurable = true; return desc; }, " + + "defineProperty: function(name, desc) { Z; Object.defineProperty(X, name, desc); }, " + + "getOwnPropertyNames: function() { Z; return Object.getOwnPropertyNames(X); }, " + + "delete: function(name) { Z; return delete X[name]; }, " + + "fix: function() { Z; if (Object.isFrozen(X)) { return Object.getOwnProperties(X); } }, " + + "has: function(name) { Z; return name in X; }, " + + "hasOwn: function(name) { Z; return Object.prototype.hasOwnProperty.call(X, name); }, " + + "get: function(receiver, name) { Z; return X[name]; }, " + + "set: function(receiver, name, val) { Z; X[name] = val; return true; }, " + + "iterate: function() { Z; return (function() { for (var name in X) { yield name; } })(); }, " + + "enumerate: function() { Z; var result = []; for (var name in X) { result.push(name); }; return result; }, " + + "keys: function() { Z; return Object.keys(X); } " + + "})" + ) + .replace(/X/g, m()) + .replace(/Z/g, function() { + switch(rnd(20)){ + case 0: return "return " + m(); + case 1: return "throw " + m(); + default: return makeBuilderStatement(d - 2, b); + } + }); + } function propertyDescriptorPrefix(d, b) + { + return "configurable: " + makeBoolean(d, b) + ", " + "enumerable: " + makeBoolean(d, b) + ", "; + } function strToEval(d, b) + { + switch(rnd(5)) { + case 0: return simpleSource(fdecl(d, b)); + case 1: return simpleSource(makeBuilderStatement(d, b)); + default: return simpleSource(makeScriptForEval(d, b)); + } + } function evaluateFlags(d, b) + { + + return ("({ global: " + m("g") + + ", fileName: " + Random.index(["'evaluate.js'", "null"]) + + ", lineNumber: 42, newContext: " + makeBoolean(d, b) + + ", isRunOnce: " + makeBoolean(d, b) + + ", noScriptRval: " + makeBoolean(d, b) + + ", catchTermination: " + makeBoolean(d, b) + + ", saveFrameChain: " + ("bug 881999" && rnd(10000) ? "false" : makeBoolean(d, b)) + + ((rnd(5) == 0) ? ( + ((rnd(2) == 0) ? (", element: " + m("o")) : "") + + ((rnd(2) == 0) ? (", elementProperty: " + m("s")) : "") + + ((rnd(2) == 0) ? (", sourceMapURL: " + m("s")) : "") + + ((rnd(2) == 0) ? (", sourcePolicy: " + Random.index(["'NO_SOURCE'", "'LAZY_SOURCE'", "'SAVE_SOURCE'"])) : "") + ) : "" + ) + + " })"); + } var initializedEverything = false; + function initializeEverything(d, b) + { + if (initializedEverything) + return ";"; + initializedEverything = true; var s = ""; + for (var i = 0; i < OBJECTS_PER_TYPE; ++i) { + s += "a" + i + " = []; "; + s += "o" + i + " = {}; "; + s += "s" + i + " = ''; "; + s += "r" + i + " = /x/; "; + s += "g" + i + " = " + makeGlobal(d, b) + "; "; + s += "f" + i + " = function(){}; "; + s += "m" + i + " = new WeakMap; "; + s += "e" + i + " = new Set; "; + s += "v" + i + " = null; "; + s += "b" + i + " = new ArrayBuffer(64); "; + s += "t" + i + " = new Uint8ClampedArray; "; + + } + return s; + } + + + + function method(d, b, clazz, obj, meth, arglist) + { + + if (rnd(10) == 0) + arglist = []; + while (rnd(2)) + arglist.push(val(d, b)); + switch (rnd(4)) { + case 0: return clazz + ".prototype." + meth + ".apply(" + obj + ", [" + arglist.join(", ") + "])"; + case 1: return clazz + ".prototype." + meth + ".call(" + [obj].concat(arglist).join(", ") + ")"; + default: return obj + "." + meth + "(" + arglist.join(", ") + ")"; + } + } function severalargs(f) + { + var arglist = []; + arglist.push(f()); + while (rnd(2)) { + arglist.push(f()); + } + return arglist; + } var builderStatementMakers = Random.weighted([ + + { w: 1, v: function(d, b) { return assign(d, b, "a", "[]"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", "new Array"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", makeIterable(d, b)); } }, + { w: 1, v: function(d, b) { return m("a") + ".length = " + arrayIndex(d, b) + ";"; } }, + { w: 8, v: function(d, b) { return assign(d, b, "v", m("at") + ".length"); } }, + { w: 4, v: function(d, b) { return m("at") + "[" + arrayIndex(d, b) + "]" + " = " + val(d, b) + ";"; } }, + { w: 4, v: function(d, b) { return val(d, b) + " = " + m("at") + "[" + arrayIndex(d, b) + "]" + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", makeFunOnCallChain(d, b) + ".arguments"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", "arguments"); } }, + { w: 3, v: function(d, b) { return m("at") + "[" + arrayIndex(d, b) + "]" + ";"; } }, + { w: 3, v: function(d, b) { return m("at") + "[" + arrayIndex(d, b) + "] = " + makeExpr(d, b) + ";"; } }, + { w: 1, v: function(d, b) { return "/*ADP-1*/Object.defineProperty(" + m("a") + ", " + arrayIndex(d, b) + ", " + makePropertyDescriptor(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "/*ADP-2*/Object.defineProperty(" + m("a") + ", " + arrayIndex(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "get: " + makeEvilCallback(d,b) + ", set: " + makeEvilCallback(d, b) + " });"; } }, + { w: 1, v: function(d, b) { return "/*ADP-3*/Object.defineProperty(" + m("a") + ", " + arrayIndex(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "writable: " + makeBoolean(d,b) + ", value: " + val(d, b) + " });"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "push", severalargs(() => val(d, b))) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "pop", []) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "unshift", severalargs(() => val(d, b))) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "shift", []) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "reverse", []) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "sort", [makeEvilCallback(d, b)]) + ";"; } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "splice", [arrayIndex(d, b) - arrayIndex(d, b), arrayIndex(d, b)]) + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", method(d, b, "Array", m("a"), "join", [m("s")])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "concat", severalargs(() => m("at")))); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "slice", [arrayIndex(d, b) - arrayIndex(d, b), arrayIndex(d, b) - arrayIndex(d, b)])); } }, + { w: 5, v: function(d, b) { return method(d, b, "Array", m("a"), "forEach", [makeEvilCallback(d, b)]) + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "map", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", method(d, b, "Array", m("a"), "filter", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), "some", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), "every", [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), Random.index(["reduce, reduceRight"]), [makeEvilCallback(d, b)])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", method(d, b, "Array", m("a"), Random.index(["reduce, reduceRight"]), [makeEvilCallback(d, b), val(d, b)])); } }, + + + + + { w: 1, v: function(d, b) { return assign(d, b, "o", "{}"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "o", "new Object"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "o", "Object.create(" + val(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return "selectforgc(" + m("o") + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", "''"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", "new String"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", "new String(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "s", m("s") + ".charAt(" + arrayIndex(d, b) + ")"); } }, + { w: 5, v: function(d, b) { return m("s") + " += 'x';"; } }, + { w: 5, v: function(d, b) { return m("s") + " += " + m("s") + ";"; } }, + + { w: 1, v: function(d, b) { return assign(d, b, "m", "new Map"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "m", "new Map(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "m", "new WeakMap"); } }, + { w: 5, v: function(d, b) { return m("m") + ".has(" + val(d, b) + ");"; } }, + { w: 4, v: function(d, b) { return m("m") + ".get(" + val(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, null, m("m") + ".get(" + val(d, b) + ")"); } }, + { w: 5, v: function(d, b) { return m("m") + ".set(" + val(d, b) + ", " + val(d, b) + ");"; } }, + { w: 3, v: function(d, b) { return m("m") + ".delete(" + val(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "e", "new Set"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "e", "new Set(" + m() + ")"); } }, + { w: 5, v: function(d, b) { return m("e") + ".has(" + val(d, b) + ");"; } }, + { w: 5, v: function(d, b) { return m("e") + ".add(" + val(d, b) + ");"; } }, + { w: 3, v: function(d, b) { return m("e") + ".delete(" + val(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "b", "new " + arrayBufferType() + "(" + bufsize() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "b", m("t") + ".buffer"); } }, + { w: 1, v: function(d, b) { return "neuter(" + m("b") + ", " + (rnd(2) ? '"same-data"' : '"change-data"') + ");"; } }, + + { w: 1, v: function(d, b) { return assign(d, b, "t", "new " + Random.index(typedArrayConstructors) + "(" + arrayIndex(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return assign(d, b, "t", "new " + Random.index(typedArrayConstructors) + "(" + m("abt") + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "t", "new " + Random.index(typedArrayConstructors) + "(" + m("b") + ", " + bufsize() + ", " + arrayIndex(d, b) + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "t", m("t") + ".subarray(" + arrayIndex(d, b) + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "t", m("t") + ".subarray(" + arrayIndex(d, b) + ", " + arrayIndex(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return m("t") + ".set(" + m("at") + ", " + arrayIndex(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m("tb") + ".byteLength"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m("t") + ".byteOffset"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m("t") + ".BYTES_PER_ELEMENT"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "h", "{}"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "h", forwardingHandler(d, b)); } }, + { w: 1, v: function(d, b) { return "delete " + m("h") + "." + Random.index(handlerTraps) + ";"; } }, + { w: 4, v: function(d, b) { return m("h") + "." + Random.index(handlerTraps) + " = " + makeEvilCallback(d, b) + ";"; } }, + { w: 4, v: function(d, b) { return m("h") + "." + Random.index(handlerTraps) + " = " + m("f") + ";"; } }, + { w: 1, v: function(d, b) { return assign(d, b, null, "Proxy.create(" + m("h") + ", " + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "f", "Proxy.createFunction(" + m("h") + ", " + m("f") + ", " + m("f") + ")"); } }, + + + { w: 1, v: function(d, b) { return assign(d, b, "r", makeRegex(d, b)); } }, + { w: 1, v: function(d, b) { return assign(d, b, "a", m("r") + ".exec(" + m("s") + ")"); } }, + { w: 3, v: function(d, b) { return makeRegexUseBlock(d, b, m("r")); } }, + { w: 3, v: function(d, b) { return makeRegexUseBlock(d, b, m("r"), m("s")); } }, + { w: 3, v: function(d, b) { return assign(d, b, "v", m("r") + "." + Random.index(builtinObjects["RegExp.prototype"])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "g", makeGlobal(d, b)); } }, + { w: 5, v: function(d, b) { return assign(d, b, "v", m("g") + ".eval(" + strToEval(d, b) + ")"); } }, + { w: 5, v: function(d, b) { return assign(d, b, "v", "evalcx(" + strToEval(d, b) + ", " + m("g") + ")"); } }, + { w: 5, v: function(d, b) { return assign(d, b, "v", "evaluate(" + strToEval(d, b) + ", " + evaluateFlags(d, b) + ")"); } }, + { w: 3, v: function(d, b) { return "(void schedulegc(" + m("g") + "));"; } }, + { w: 3, v: function(d, b) { return "/*MXX1*/" + assign(d, b, "o", m("g") + "." + Random.index(builtinProperties)); } }, + { w: 3, v: function(d, b) { return "/*MXX2*/" + m("g") + "." + Random.index(builtinProperties) + " = " + m() + ";"; } }, + { w: 3, v: function(d, b) { var prop = Random.index(builtinProperties); return "/*MXX3*/" + m("g") + "." + prop + " = " + m("g") + "." + prop + ";"; } }, + + { w: 1, v: function(d, b) { return assign(d, b, "f", makeEvilCallback(d, b)); } }, + { w: 1, v: fdecl }, + { w: 2, v: function(d, b) { return m("f") + "(" + m() + ");"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "i", "new Iterator(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "i", "new Iterator(" + m() + ", true)"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "i", m("ema") + "." + Random.index(["entries", "keys", "values", "iterator"])); } }, + { w: 3, v: function(d, b) { return m("i") + ".next();"; } }, + { w: 3, v: function(d, b) { return m("i") + ".send(" + m() + ");"; } }, + + { w: 2, v: function(d, b) { return assign(d, b, "v", Random.index(["4", "4.2", "NaN", "0", "-0", "Infinity", "-Infinity"])); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", "new Number(" + Random.index(["4", "4.2", "NaN", "0", "-0", "Infinity", "-Infinity"]) + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", "new Number(" + m() + ")"); } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", makeBoolean(d, b)); } }, + { w: 2, v: function(d, b) { return assign(d, b, "v", Random.index(["undefined", "null", "true", "false"])); } }, + { w: 1, v: function(d, b) { return "/*ODP-1*/Object.defineProperty(" + m() + ", " + makePropertyName(d, b) + ", " + makePropertyDescriptor(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "/*ODP-2*/Object.defineProperty(" + m() + ", " + makePropertyName(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "get: " + makeEvilCallback(d,b) + ", set: " + makeEvilCallback(d, b) + " });"; } }, + { w: 1, v: function(d, b) { return "/*ODP-3*/Object.defineProperty(" + m() + ", " + makePropertyName(d, b) + ", { " + propertyDescriptorPrefix(d, b) + "writable: " + makeBoolean(d,b) + ", value: " + val(d, b) + " });"; } }, + { w: 1, v: function(d, b) { return "Object.prototype.watch.call(" + m() + ", " + makePropertyName(d, b) + ", " + makeEvilCallback(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "Object.prototype.unwatch.call(" + m() + ", " + makePropertyName(d, b) + ");"; } }, + { w: 1, v: function(d, b) { return "delete " + m() + "[" + makePropertyName(d, b) + "];"; } }, + { w: 1, v: function(d, b) { return assign(d, b, "v", m() + "[" + makePropertyName(d, b) + "]"); } }, + { w: 1, v: function(d, b) { return m() + "[" + makePropertyName(d, b) + "] = " + val(d, b) + ";"; } }, + { w: 5, v: function(d, b) { return "print(" + m() + ");"; } }, + { w: 5, v: function(d, b) { return "print(uneval(" + m() + "));"; } }, + { w: 5, v: function(d, b) { return m() + ".toString = " + makeEvilCallback(d, b) + ";"; } }, + { w: 5, v: function(d, b) { return m() + ".toSource = " + makeEvilCallback(d, b) + ";"; } }, + { w: 5, v: function(d, b) { return m() + ".valueOf = " + makeEvilCallback(d, b) + ";"; } }, + { w: 2, v: function(d, b) { return m() + ".__iterator__ = " + makeEvilCallback(d, b) + ";"; } }, + { w: 1, v: function(d, b) { return m() + " = " + m() + ";"; } }, + { w: 1, v: function(d, b) { return m() + " = " + m("g") + ".objectEmulatingUndefined();"; } }, + { w: 1, v: function(d, b) { return m("o") + " = " + m() + ".__proto__;"; } }, + { w: 5, v: function(d, b) { return m() + ".__proto__ = " + m() + ";"; } }, + { w: 10, v: function(d, b) { return "for (var p in " + m() + ") { " + makeBuilderStatements(d, b) + " }"; } }, + { w: 10, v: function(d, b) { return "for (var v of " + m() + ") { " + makeBuilderStatements(d, b) + " }"; } }, + { w: 10, v: function(d, b) { return m() + " + " + m() + ";"; } }, + { w: 10, v: function(d, b) { return m() + " + '';"; } }, + { w: 10, v: function(d, b) { return m("v") + " = (" + m() + " instanceof " + m() + ");"; } }, + { w: 10, v: function(d, b) { return m("v") + " = Object.prototype.isPrototypeOf.call(" + m() + ", " + m() + ");"; } }, + { w: 2, v: function(d, b) { return "Object." + Random.index(["preventExtensions", "seal", "freeze"]) + "(" + m() + ");"; } }, + { w: 1, v: function(d, b) { return m() + " = x;"; } }, + { w: 1, v: function(d, b) { return "x = " + m() + ";"; } }, + { w: 5, v: makeStatement }, { w: 5, v: initializeEverything }, + ]); + makeBuilderStatement = function(d, b) { + return (Random.index(builderStatementMakers))(d - 1, b); + }; +})(); +function infrequentCondition(v, n) +{ + switch (rnd(20)) { + case 0: return true; + case 1: return false; + case 2: return v + " > " + rnd(n); + default: var mod = rnd(n) + 2; var target = rnd(mod); return "/*ICCD*/" + v + " % " + mod + (rnd(8) ? " == " : " != ") + target; + } +}var arrayBufferType = "SharedArrayBuffer" in this ? + function() { return rnd(2) ? "SharedArrayBuffer" : "ArrayBuffer"; } : + function() { return "ArrayBuffer"; };/*************************** + * TEST ASM.JS CORRECTNESS * + ***************************/ +var compareAsm = (function() { function isSameNumber(a, b) + { + if (!(typeof a == "number" && typeof b == "number")) + return false; + if (a === 0 && b === 0) + return 1/a === 1/b; + return a === b || (a !== a && b !== b); + } var asmvals = [ + 1, Math.PI, 42, + + 0, -0, 0/0, 1/0, -1/0, + + 0x07fffffff, 0x080000000, 0x080000001, + -0x07fffffff, -0x080000000, -0x080000001, + 0x0ffffffff, 0x100000000, 0x100000001, + -0x0ffffffff, -0x100000000, 0x100000001, + + Number.MIN_VALUE, -Number.MIN_VALUE, + Number.MAX_VALUE, -Number.MAX_VALUE, + ]; + var asmvalsLen = asmvals.length; function compareUnaryFunctions(f, g) + { + for (var i = 0; i < asmvalsLen; ++i) { + var x = asmvals[i]; + var fr = f(x); + var gr = g(x); + if (!isSameNumber(fr, gr)) { + foundABug("asm mismatch", "(" + uneval(x) + ") -> " + uneval(fr) + " vs " + uneval(gr)); + } + } + } function compareBinaryFunctions(f, g) + { + for (var i = 0; i < asmvalsLen; ++i) { + var x = asmvals[i]; + for (var j = 0; j < asmvalsLen; ++j) { + var y = asmvals[j]; + var fr = f(x, y); + var gr = g(x, y); + if (!isSameNumber(fr, gr)) { + foundABug("asm mismatch", "(" + uneval(x) + ", " + uneval(y) + ") -> " + uneval(fr) + " vs " + uneval(gr)); + } + } + } + } return {compareUnaryFunctions: compareUnaryFunctions, compareBinaryFunctions: compareBinaryFunctions}; +})();function nanBitsMayBeVisible(s) +{ + + return (s.indexOf("Uint") != -1 || s.indexOf("Int") != -1) + (s.indexOf("Float32Array") != -1) + (s.indexOf("Float64Array") != -1) > 1; +}var pureForeign = { + identity: function(x) { return x; }, + quadruple: function(x) { return x * 4; }, + half: function(x) { return x / 2; }, + + asString: function(x) { return uneval(x); }, + asValueOf: function(x) { return { valueOf: function() { return x; } }; }, + + sum: function() { var s = 0; for (var i = 0; i < arguments.length; ++i) s += arguments[i]; return s; }, + + stomp: function() { }, +};for (var f in unaryMathFunctions) { + pureForeign["Math_" + unaryMathFunctions[f]] = Math[unaryMathFunctions[f]]; +}for (var f in binaryMathFunctions) { + pureForeign["Math_" + binaryMathFunctions[f]] = Math[binaryMathFunctions[f]]; +}var pureMathNames = Object.keys(pureForeign);function generateAsmDifferential() +{ + var foreignFunctions = rnd(10) ? [] : pureMathNames; + return asmJSInterior(foreignFunctions, true); +}function testAsmDifferential(stdlib, interior) +{ + if (nanBitsMayBeVisible(interior)) { + dumpln("Skipping correctness test for asm module that could expose low bits of NaN"); + return; + } var asmJs = "(function(stdlib, foreign, heap) { 'use asm'; " + interior + " })"; + var asmModule = eval(asmJs); if (isAsmJSModule(asmModule)) { + var asmHeap = new ArrayBuffer(4096); + (new Int32Array(asmHeap))[0] = 0x12345678; + var asmFun = asmModule(stdlib, pureForeign, asmHeap); var normalHeap = new ArrayBuffer(4096); + (new Int32Array(normalHeap))[0] = 0x12345678; + var normalJs = "(function(stdlib, foreign, heap) { " + interior + " })"; + var normalModule = eval(normalJs); + var normalFun = normalModule(stdlib, pureForeign, normalHeap); compareAsm.compareBinaryFunctions(asmFun, normalFun); + } +} +function startAsmDifferential() +{ + var asmFuzzSeed = 223617089; //Math.floor(Math.random() * Math.pow(2,28)); + // dumpln("asmFuzzSeed: " + asmFuzzSeed); + Random.init(asmFuzzSeed); while (true) { var stompStr = makeRegisterStompFunction(8, [], true); + print(stompStr); + pureForeign.stomp = eval(stompStr); for (var i = 0; i < 100; ++i) { + var interior = generateAsmDifferential(); + print(interior); + testAsmDifferential(this, interior); + } + gc(); + } +}var numericVals = [ + "1", "Math.PI", "42", + + "0", "-0", "0/0", "1/0", "-1/0", + + "0x07fffffff", "0x080000000", "0x080000001", + "-0x07fffffff", "-0x080000000", "-0x080000001", + "0x0ffffffff", "0x100000000", "0x100000001", + "-0x0ffffffff", "-0x100000000", "0x100000001", + + "Number.MIN_VALUE", "-Number.MIN_VALUE", + "Number.MAX_VALUE", "-Number.MAX_VALUE", +];var confusableVals = [ + "0", + "0.1", + "-0", + "''", + "'0'", + "'\\0'", + "[]", + "[0]", + "/0/", + "'/0/'", + "1", + "({toString:function(){return '0';}})", + "({valueOf:function(){return 0;}})", + "({valueOf:function(){return '0';}})", + "false", + "true", + "undefined", + "null", + "(function(){return 0;})", + "NaN", + "(new Boolean(false))", + "(new Boolean(true))", + "(new String(''))", + "(new Number(0))", + "(new Number(-0))", + "objectEmulatingUndefined()", +];function hashStr(s) +{ + var hash = 0; + var L = s.length; + for (var i = 0; i < L; i++) { + var c = s.charCodeAt(i); + hash = (Math.imul(hash, 31) + c) | 0; + } + return hash; +}function testMathyFunction(f, inputs) +{ + var results = []; + if (f) { + for (var j = 0; j < inputs.length; ++j) { + for (var k = 0; k < inputs.length; ++k) { + try { + results.push(f(inputs[j], inputs[k])); + } catch(e) { + results.push(errorToString(e)); + } + } + } + } + /* Use uneval to distinguish -0, 0, "0", etc. */ + /* Use hashStr to shorten the output and keep compareJIT files small. */ + print(hashStr(uneval(results))); +}function mathInitFCM() +{ + + var cookie = "/*F" + "CM*/"; print(cookie + hashStr.toString().replace(/\n/g, " ")); + print(cookie + testMathyFunction.toString().replace(/\n/g, " ")); +}function makeMathyFunAndTest(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); var i = rnd(NUM_MATH_FUNCTIONS); + var s = ""; if (rnd(5)) { + if (rnd(8)) { + s += "mathy" + i + " = " + makeMathFunction(6, b, i) + "; "; + } else { + s += "mathy" + i + " = " + makeAsmJSFunction(6, b) + "; "; + } + } if (rnd(5)) { + var inputsStr; + switch(rnd(8)) { + case 0: inputsStr = makeMixedTypeArray(d - 1, b); break; + case 1: inputsStr = "[" + Random.shuffled(confusableVals).join(", ") + "]"; break; + default: inputsStr = "[" + Random.shuffled(numericVals).join(", ") + "]"; break; + } s += "testMathyFunction(mathy" + i + ", " + inputsStr + "); "; + } return s; +}function makeMathyFunRef(d, b) +{ + if (rnd(TOTALLY_RANDOM) == 2) return totallyRandom(d, b); return "mathy" + rnd(NUM_MATH_FUNCTIONS); +}/******************************* + * EXECUTION CONSISTENCY TESTS * + *******************************/function sandboxResult(code, zone) +{ + + var result; + var resultStr = ""; + try { + + + var sandbox = newGlobal({sameZoneAs: zone}); result = evalcx(code, sandbox); + if (typeof result != "object") { + + resultStr = "" + result; + } + } catch(e) { + result = "Error: " + errorToString(e); + } + + return resultStr; +}function nestingConsistencyTest(code) +{ + + + function nestExpr(e) { return "(function() { return " + code + "; })()"; } + var codeNestedOnce = nestExpr(code); + var codeNestedDeep = code; + var depth = (count % 7) + 14; + for (var i = 0; i < depth; ++i) { + codeNestedDeep = nestExpr(codeNestedDeep); + } + var resultO = sandboxResult(codeNestedOnce, null); var resultD = sandboxResult(codeNestedDeep, null); + if (resultO != resultD) { + foundABug("NestTest mismatch", + "resultO: " + resultO + "\n" + + "resultD: " + resultD); + } +} +function optionalTests(f, code, wtt) +{ + if (count % 100 == 1) { + tryHalves(code); + } if (count % 100 == 2 && engine == ENGINE_SPIDERMONKEY_TRUNK) { + try { + Reflect.parse(code); + } catch(e) { + } + } if (count % 100 == 3 && f && typeof disassemble == "function") { + + + disassemble("-r", f); + } if (0 && f && wtt.allowExec && engine == ENGINE_SPIDERMONKEY_TRUNK) { + simpleDVGTest(code); + tryEnsureSanity(); + } if (count % 100 == 6 && f && wtt.allowExec && wtt.expectConsistentOutput && wtt.expectConsistentOutputAcrossIter + && engine == ENGINE_SPIDERMONKEY_TRUNK && getBuildConfiguration()['more-deterministic']) { + nestingConsistencyTest(code); + } +} +function simpleDVGTest(code) +{ + var fullCode = "(function() { try { \n" + code + "\n; throw 1; } catch(exx) { this.nnn.nnn } })()"; try { + eval(fullCode); + } catch(e) { + if (e.message != "this.nnn is undefined" && e.message.indexOf("redeclaration of") == -1) { + + foundABug("Wrong error " + "message", e); + } + } +} +function tryHalves(code) +{ + var f, firstHalf, secondHalf; try { firstHalf = code.substr(0, code.length / 2); + if (verbose) + dumpln("First half: " + firstHalf); + f = new Function(firstHalf); + void ("" + f); + } + catch(e) { + if (verbose) + dumpln("First half compilation error: " + e); + } try { + secondHalf = code.substr(code.length / 2, code.length); + if (verbose) + dumpln("Second half: " + secondHalf); + f = new Function(secondHalf); + void ("" + f); + } + catch(e) { + if (verbose) + dumpln("Second half compilation error: " + e); + } +}/***************** + * USING REGEXPS * + *****************/function randomRegexFlags() { + var s = ""; + if (rnd(2)) + s += "g"; + if (rnd(2)) + s += "y"; + if (rnd(2)) + s += "i"; + if (rnd(2)) + s += "m"; + return s; +}function toRegexSource(rexpat) +{ + return (rnd(2) === 0 && rexpat.charAt(0) != "*") ? + "/" + rexpat + "/" + randomRegexFlags() : + "new RegExp(" + simpleSource(rexpat) + ", " + simpleSource(randomRegexFlags()) + ")"; +}function makeRegexUseBlock(d, b, rexExpr, strExpr) +{ + var rexpair = regexPattern(10, false); + var rexpat = rexpair[0]; + var str = rexpair[1][rnd(POTENTIAL_MATCHES)]; if (!rexExpr) rexExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : toRegexSource(rexpat); + if (!strExpr) strExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : simpleSource(str); var bv = b.concat(["s", "r"]); return ("/*RXUB*/var r = " + rexExpr + "; " + + "var s = " + strExpr + "; " + + "print(" + + Random.index([ + "r.exec(s)", + "uneval(r.exec(s))", + "r.test(s)", + "s.match(r)", + "uneval(s.match(r))", + "s.search(r)", + "s.replace(r, " + makeReplacement(d, bv) + (rnd(3) ? "" : ", " + simpleSource(randomRegexFlags())) + ")", + "s.split(r)" + ]) + + "); " + + (rnd(3) ? "" : "print(r.lastIndex); ") + ); +}function makeRegexUseExpr(d, b) +{ + var rexpair = regexPattern(8, false); + var rexpat = rexpair[0]; + var str = rexpair[1][rnd(POTENTIAL_MATCHES)]; var rexExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : toRegexSource(rexpat); + var strExpr = rnd(10) === 0 ? makeExpr(d - 1, b) : simpleSource(str); return "/*RXUE*/" + rexExpr + ".exec(" + strExpr + ")"; +}function makeRegex(d, b) +{ + var rexpair = regexPattern(8, false); + var rexpat = rexpair[0]; + var rexExpr = toRegexSource(rexpat); + return rexExpr; +}function makeReplacement(d, b) +{ + switch(rnd(3)) { + case 0: return Random.index(["''", "'x'", "'\\u0341'"]); + case 1: return makeExpr(d, b); + default: return makeFunction(d, b); + } +}function start(glob) +{ + var fuzzSeed = 223617089;//Math.floor(Math.random() * Math.pow(2,28)); + dumpln("fuzzSeed: " + fuzzSeed); + Random.init(fuzzSeed); + + + var cookie = "/*F"; + cookie += "RC*/"; + var dumpEachSeed = false; if (dumpEachSeed) { + dumpln(cookie + "Random.init(0);"); + } mathInitFCM(); count = 0; if (jsshell) { + + var MAX_TOTAL_TIME = (glob.maxRunTime) || (Infinity); + var startTime = new Date(); + var lastTime; do { + testOne(); + var elapsed1 = new Date() - lastTime; + if (elapsed1 > 1000) { + print("That took " + elapsed1 + "ms!"); + } + lastTime = new Date(); + } while(lastTime - startTime < MAX_TOTAL_TIME); + } else { + setTimeout(testStuffForAWhile, 200); + } function testStuffForAWhile() + { + for (var j = 0; j < 100; ++j) + testOne(); if (count % 10000 < 100) + printImportant("Iterations: " + count); setTimeout(testStuffForAWhile, 30); + } function testOne() + { + ++count; + + var depth = 14; if (dumpEachSeed) { + + var MTA = uneval(Random.twister.export_mta()); + var MTI = Random.twister.export_mti(); + if (MTA != Random.lastDumpedMTA) { + dumpln(cookie + "Random.twister.import_mta(" + MTA + ");"); + Random.lastDumpedMTA = MTA; + } + dumpln(cookie + "Random.twister.import_mti(" + MTI + "); void (makeScript(" + depth + "));"); + } var code = makeScript(depth); if (count == 1 && engine == ENGINE_SPIDERMONKEY_TRUNK && rnd(5)) { + code = "tryRunning = useSpidermonkeyShellSandbox(" + rnd(4) + ");"; + + } + + + + + dumpln(cookie + "count=" + count + "; tryItOut(" + uneval(code) + ");"); tryItOut(code); + } +} +function failsToCompileInTry(code) { + + try { + var codeInTry = "try { " + code + " } catch(e) { }"; + void new Function(codeInTry); + return false; + } catch(e) { + return true; + } +}/********************* + * SANDBOXED RUNNING * + *********************/var tryRunning = xpcshell ? useGeckoSandbox() : tryRunningDirectly; +function fillShellSandbox(sandbox) +{ + var safeFuns = [ + "print", + "schedulegc", "selectforgc", "gczeal", "gc", "gcslice", + "verifyprebarriers", "gcPreserveCode", + "minorgc", "abortgc", + "evalcx", "newGlobal", "evaluate", + "dumpln", "fillShellSandbox", + "testMathyFunction", "hashStr", + "isAsmJSCompilationAvailable", + ]; for (var i = 0; i < safeFuns.length; ++i) { + var fn = safeFuns[i]; + if (sandbox[fn]) { + + } else if (this[fn]) { + sandbox[fn] = this[fn].bind(this); + } else { + + } + } return sandbox; +}function useSpidermonkeyShellSandbox(sandboxType) +{ + var primarySandbox; switch (sandboxType) { + case 0: primarySandbox = evalcx(''); + case 1: primarySandbox = evalcx('lazy'); + case 2: primarySandbox = newGlobal({sameZoneAs: {}}); + default: primarySandbox = newGlobal(); + } fillShellSandbox(primarySandbox); return function(f, code, wtt) { + try { + evalcx(code, primarySandbox); + } catch(e) { + dumpln("Running in sandbox threw " + errorToString(e)); + } + }; +} +function newGeckoSandbox(n) +{ + var t = (typeof n == "number") ? n : 1; + var s = Components.utils.Sandbox("http://x" + t + ".example.com/"); + s.newGeckoSandbox = newGeckoSandbox; + s.evalInSandbox = function(str, sbx) { + return Components.utils.evalInSandbox(str, sbx); + }; + s.print = function(str) { print(str); }; return s; +}function useGeckoSandbox() { + var primarySandbox = newGeckoSandbox(0); return function(f, code, wtt) { + try { + Components.utils.evalInSandbox(code, primarySandbox); + } catch(e) { + + } + }; +} +/*********************** + * UNSANDBOXED RUNNING * + ***********************/function directEvalC(s) { var c; /* evil closureizer */ return eval(s); } function newFun(s) { return new Function(s); }function tryRunningDirectly(f, code, wtt) +{ + if (count % 23 == 3) { + dumpln("Plain eval!"); + try { eval(code); } catch(e) { } + tryEnsureSanity(); + return; + } if (count % 23 == 4) { + dumpln("About to recompile, using eval hack."); + f = directEvalC("(function(){" + code + "});"); + } try { + if (verbose) + dumpln("About to run it!"); + var rv = f(); + if (verbose) + dumpln("It ran!"); + if (wtt.allowIter && rv && typeof rv == "object") { + tryIteration(rv); + } + } catch(runError) { + if(verbose) + dumpln("Running threw! About to toString to error."); + var err = errorToString(runError); + dumpln("Running threw: " + err); + } tryEnsureSanity(); +}var realEval = eval; +var realMath = Math; +var realFunction = Function; +var realGC = gc; +var realUneval = uneval; +var realToString = toString; +var realToSource = this.toSource; +function tryEnsureSanity() +{ + + + try { + if (typeof resetOOMFailure == "function") + resetOOMFailure(); + } catch(e) { } try { + + + if (typeof gczeal == "function") + gczeal(0); + } catch(e) { } + try { eval(""); } catch(e) { dumpln("That really shouldn't have thrown: " + errorToString(e)); } if (!this) { + + return; + } try { + + delete this.unwatch; + if ('unwatch' in this) { + this.unwatch("eval"); + this.unwatch("Function"); + this.unwatch("gc"); + this.unwatch("uneval"); + this.unwatch("toSource"); + this.unwatch("toString"); + } if ('__defineSetter__' in this) { + + if (!jsStrictMode) + delete this.eval; + delete this.Math; + delete this.Function; + delete this.gc; + delete this.uneval; + delete this.toSource; + delete this.toString; + } this.Math = realMath; + this.eval = realEval; + this.Function = realFunction; + this.gc = realGC; + this.uneval = realUneval; + this.toSource = realToSource; + this.toString = realToString; + } catch(e) { + confused("tryEnsureSanity failed: " + errorToString(e)); + } + if (this.eval != realEval) + confused("Fuzz script replaced |eval|"); + if (Function != realFunction) + confused("Fuzz script replaced |Function|"); +}function tryIteration(rv) +{ + try { + if (Iterator(rv) !== rv) + return; + } + catch(e) { + + dumpln("Error while trying to determine whether it's an iterator!"); + dumpln("The error was: " + e); + return; + } dumpln("It's an iterator!"); + try { + var iterCount = 0; + for (var iterValue of rv) + ++iterCount; + dumpln("Iterating succeeded, iterCount == " + iterCount); + } catch (iterError) { + dumpln("Iterating threw!"); + dumpln("Iterating threw: " + errorToString(iterError)); + } +}function tryItOut(code) +{ + + if (typeof gczeal == "function") + gczeal(0); + if (count % 1000 == 0) { + dumpln("Paranoid GC (count=" + count + ")!"); + realGC(); + } var wtt = whatToTest(code); if (!wtt.allowParse) + return; code = code.replace(/\/\*DUPTRY\d+\*\//, function(k) { var n = parseInt(k.substr(8), 10); dumpln(n); return strTimes("try{}catch(e){}", n); }); + + if (jsStrictMode) + code = "'use strict'; " + code; var f; + try { + f = new Function(code); + } catch(compileError) { + dumpln("Compiling threw: " + errorToString(compileError)); + } if (f && wtt.allowExec && wtt.expectConsistentOutput && wtt.expectConsistentOutputAcrossJITs) { + if (code.indexOf("\n") == -1 && code.indexOf("\r") == -1 && code.indexOf("\f") == -1 && code.indexOf("\0") == -1 && + code.indexOf("\u2028") == -1 && code.indexOf("\u2029") == -1 && + code.indexOf("<--") == -1 && code.indexOf("-->") == -1 && code.indexOf("//") == -1) { + + var cookie1 = "/*F"; + var cookie2 = "CM*/"; + var nCode = code; + + + + + if (nCode.indexOf("return") != -1 || nCode.indexOf("yield") != -1 || nCode.indexOf("const") != -1 || failsToCompileInTry(nCode)) + nCode = "(function(){" + nCode + "})()"; + dumpln(cookie1 + cookie2 + " try { " + nCode + " } catch(e) { }"); + } + } if (tryRunning != tryRunningDirectly) { + optionalTests(f, code, wtt); + } if (wtt.allowExec && f) { + tryRunning(f, code, wtt); + } if (verbose) + dumpln("Done trying out that function!"); dumpln(""); +} +var count = 0; +var verbose = false; + +/*FRC*/Random.init(0); +/*FCM*/function hashStr(s) { var hash = 0; var L = s.length; for (var i = 0; i < L; i++) { var c = s.charCodeAt(i); hash = (Math.imul(hash, 31) + c) | 0; } return hash; } +/*FCM*/function testMathyFunction(f, inputs) { var results = []; if (f) { for (var j = 0; j < inputs.length; ++j) { for (var k = 0; k < inputs.length; ++k) { try { results.push(f(inputs[j], inputs[k])); } catch(e) { results.push(errorToString(e)); } } } } /* Use uneval to distinguish -0, 0, "0", etc. */ /* Use hashStr to shorten the output and keep compareJIT files small. */ print(hashStr(uneval(results))); } +/*FRC*/Random.twister.import_mta(223617089,-1791327578,-226799946,716696172,1073170592,248334117,1074978463,518414941,1746113465,869187489,1048953743,-313086346,667054389,851379958,953247004,226287643,-1427120713,976967034,-2005073100,-1635505567,831042595,1682623716,-814980241,518784435,772803255,1091643724,2012905595,1609300541,1218958792,538896746,1359073520,1361012788,94075401,-1931151698,1829461502,1086491838,390905471,213000000,801084518,1942626917,-69003876,-1836933404,349947624,679453107,935892683,509813060,-1564113918,-2020535249,-1455158543,39410960,192890754,1930020989,1787458848,1094049594,-1923832451,695157330,1268845714,1648992568,-1562174281,-219533148,-218132193,1799371849,-1231925082,-1185049357,-180896683,18961455,1769758157,-858313281,-2004703376,1933972031,-1575329604,-547366595,-2067471426,1236366709,822766350,-1043809583,-1813375194,1941529985,-1510569010,1302942667,-1003804414,150976182,748977184,-2009982733,-441200535,1163916327,1838000468,-2049618976,1576067714,1859549448,-1667067417,1702501556,-2021838651,-1125138976,1617026184,962614124,127514108,-1947424563,-866230003,-1299265303,2118649883,-1888019289,-1126851969,-983705416,-400583377,528377541,-46073565,-2856437,-507241068,-1990820864,-1282801864,563985489,-12999323,420206511,-236863619,-1577256151,1298537323,-1512404153,1319362479,1058889245,1824433897,1591869953,1883032186,1035253250,-541007546,-997601866,1164379623,-1256756675,1976672859,336410627,-934955855,1511099581,375464624,45277173,1176467759,981888429,58055369,924050134,-619248392,-929281390,-7863103,-1803308265,-731978537,1135721523,271843914,-2117828157,1413380791,-817115039,1713088830,1261796720,1716713259,1059520041,126171077,-456495534,-920789105,-2109792553,-566614107,-374113509,-1101567722,792996227,-2035254193,2017542146,1628757201,1091989171,-839586082,427918038,989275412,-102410869,150505296,-39374023,1811366028,703786316,451496872,1763688949,-1241572878,1209445471,-238923834,-1464015254,-693334086,84784560,-1938563292,-1909694285,672653195,1490654606,-372602589,-534103463,-1705430980,431175473,982843409,105455730,-1739272264,-1565098207,436135055,1036629036,-818699746,199981876,121794632,-582691539,1585428972,-1268830136,-1536448518,-1289421407,751389977,224185512,1740285716,1033971990,-148112260,-1980525078,-1045738152,-1770506056,-1193284556,54204449,2065772249,-1106177011,14807489,1271638780,1321655209,1637454369,799655802,-1777205763,1543482743,-1511156117,85559627,312036982,1320360814,2053192364,-411190237,1126717827,1633674030,-978204304,706217541,-1095211232,400548690,188322371,-2133749671,1332455378,-1928453589,1912237082,1415846549,130265427,-1486921297,-1147003086,-470352158,50329784,-1742759540,143037435,1378268669,1787668835,-751352158,-1006499970,1530518091,598391341,-2093446723,1597935704,-1923246821,2053453020,558047537,-1600761258,2108256294,-974184602,-2031652643,1053810688,652435718,902528613,816835553,-1177912882,212089478,29806057,83881721,-2069132726,1285953398,-128519678,-1948842891,-1871088892,-1415407504,-36100083,1568558234,-166712004,-1924034063,-370237194,-1040474431,1602844067,-795010044,439144158,-1636537166,183046797,113035199,-1181153670,-350370184,55845544,693474666,-375411211,701647154,562078687,-1634992351,918185206,-498369482,1857249042,1210756777,-152645261,-382365092,-1039099992,-1151116635,138880018,-354623926,-1139292930,-1599105890,1007754943,1198414223,-1755818949,1417329843,1145419121,1940489832,1403992486,-779280611,-1272556015,-172678725,1804191445,143582946,-2111960471,-698720137,-2106449147,1962381829,1357693143,779393970,355577983,1535613537,1723681063,-589483194,110635138,-79458668,-485027362,-1447800195,1237550184,-1495371845,-107276724,1766397307,-1263942541,741472999,2135858550,-829829049,-1632661463,-1533549235,-758267774,-155648707,1798576335,-1032451936,-475683670,1108830473,-643188347,1323886908,-480203920,-1526124353,417358066,-1559903524,1654698233,1591905084,915379574,1004281588,857000875,-35660065,-543512011,1821773496,-1742483096,-1558619586,-1309755623,1491644949,-374933677,208233472,135820657,714526727,654627638,-2006369342,-994159563,-1885200188,-605362795,128179110,-1111785481,237410851,950832202,-1054018386,-228057410,-290306289,-1783663301,881050109,1152839506,-1853564863,-1359335694,1952642612,-129990290,-55482745,527832987,-1518975825,1864675018,-426730847,-331631243,-437993702,-483211414,-1885413637,-741328180,-263652293,1632467881,475443930,1877031829,-1110788360,-709100489,-1030859238,-722838924,404775307,667345008,-2103280182,1340320131,-719948826,-584824842,-41582009,-1203844493,-2144118475,-1283349676,-236423024,692272802,1383754126,1135750672,2120894299,-1416408535,-347770977,-664566219,361814776,-1541595773,-1899123055,865569964,-574190198,1809000892,1808834113,-2118209295,-1751982959,1895871154,1540181331,-878811889,-320517262,-403882420,2132467171,-276464157,-517502182,1471759256,645107225,1901163162,-776721435,1658677629,-1322124372,-232101017,1576068150,1806465654,1440154039,-1044900717,1083256470,626471514,-1110505142,1335767857,-1189157958,1796559203,967085942,-2098413221,810543851,1689023366,512611603,-863945392,-1978425711,1402944722,-484119533,-1806322651,-1001786311,712402617,-121730603,667543879,359729629,1961569036,-1540558083,213866360,1905572918,-1041714542,374672917,-1834300118,-1052419414,612382608,1229061556,-2084440242,-1678623006,1649979463,-1656945786,2022705405,881224022,-792684839,-2069090322,1560819209,-211838186,1212771896,-528220307,-1681414569,-1239736709,1028704432,689266532,1899440233,708483838,1795364397,172576084,-694585315,-1129942064,1147475413,492573344,-575997155,2057970388,1100397832,-2099157107,1816290412,-118819325,-1403449341,-2068128919,-2129537476,2070066812,990242392,-570361152,1005210616,-1176522014,1880847467,-754472482,1022905150,619437956,-1740057309,-827211499,1007678911,-1995952787,-2104273442,-2045272608,872234559,1358055409,-811215929,622621292,-1905724747,810333005,2102523004,-1198039955,792191208,-1900026458,2065063891,-1076284934,-365530887,415653572,911624567,-744706793,-2130968823,1547011197,-194534637,412542840,1773177985,89649322,2015555389,-227311400,1636043668,1348358391,759404861,-178774975,-1867482565,-359154769,1929386255,64250554,1454800791,-1520329116,-636348811,476185798,1352915543,-1059640280,-1800113614,-1684226260,-378991261,742041886,527943957,-529427319,-1659668813,1309249303,418528241,-918773415,951768263,587559881,-1298382444,702097526,-1668407593,-2040190637,1983686720,566242545,259372642,1824090360,153267596,-127768948,-912392260,-1418977363,812001630,-1912364438,1244708189,1477768098,1679514790,535949115,-2112424032,-1157404860,-175753479,-1439335170,-2115949111,-1545226635,-913854894,252191061,224306666,780644788,-980520345,2099685336,855792642,-1086758608,-419095263,92910290,1539567939,-2127002764,-1713371655,-1502432909,-1840481022,303190894,-1612526891); +/*FRC*/Random.twister.import_mti(624); void (makeScript(14)); +/*FRC*/count=1; tryItOut("mathy4 = (function(x, y) { return ( + Math.max((Math.hypot(( + ( - ( + ((( + ( ! ( + -0x07fffffff))) ? (( ! (x === y)) | 0) : (( ! x) >>> 0)) | 0)))), ( + Math.atan2(( ~ (y >>> 0)), Math.hypot((0/0 % x), Math.fround(( + ((Math.PI | 0) / (Math.atan2(x, y) | 0)))))))) | 0), ( + (Math.trunc(Math.expm1(( + mathy1(Math.fround(Math.atan2(y, ( + ((x >>> 0) ^ x)))), (y | 0))))) >>> 0)))); }); testMathyFunction(mathy4, [0x100000001, -Number.MIN_VALUE, -Number.MAX_VALUE, 0x0ffffffff, 0x080000000, 1, 0x080000001, 1/0, -0, 0, Number.MIN_VALUE, 0x100000001, -0x07fffffff, 0x07fffffff, Number.MAX_VALUE, -0x080000001, 0/0, 42, 0x100000000, -1/0, Math.PI, -0x080000000, -0x100000000, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mta(-374372807,-157058656,-2037657606,-273459093,-14456604,-1520997046,-107300252,281792507,1431573304,1153697538,-499053233,-758519346,1050239755,-1630875836,-799708847,1500065250,-2143687349,-105184291,1853124508,1107276795,-2119908058,1331100152,-12743516,-595928054,1664793270,-593512519,493756392,-820607621,-932384128,1024471680,-1936545383,352887626,904263675,-1421663371,1269985251,-109153887,-2014855343,-2142431582,-772992161,1715259293,-2099303811,-1500993530,1792695882,-34199975,-525013695,-263894757,-1921418928,-338084930,813554706,-737441756,-1034863204,-2072723140,-760183558,-1034811817,1058790239,1879541758,-258161649,-924315630,1545742856,1572368666,-1556701750,-1571304471,-1363989563,-633871997,1534385043,-1644596014,-607169146,1523353259,740983952,-1692487985,-1523031917,-1589207604,1770372672,-590560834,-1818588402,-1320451514,-954340520,126503994,-1959316938,-2043058564,1220578339,1741062694,1559825972,-41658626,1762494438,-142373376,644518496,666471669,-1263875126,212584142,283491869,126561083,652727821,1152812818,-865026193,-2023688944,-1040788816,209197903,-2012824941,112151487,91527387,1903780763,1610491116,-1005443796,-1484739628,-1919789392,-1914596361,2058044318,-1842199011,-446526388,-1918665950,-1144491827,136814613,-615363147,-2006945725,2103106279,-408448752,112437515,719261650,736966850,929589219,1132254017,635419993,-236942749,1504619811,1113882830,-208113238,820496428,-1342806048,-1715358461,1816699810,-981381043,-1537332582,856629541,114873303,514179163,678743892,2105132429,-1410599282,-1009729325,1562483681,-1016368647,-2055103814,-1332912824,-1227026218,2108188706,-977598660,-858462875,-810758591,-1293445746,-1328707908,1230407210,-1298216928,-1582048411,745577639,-293387147,-2073984557,1518093345,-1232581853,1747127840,497331093,-102986176,-1799348549,-744330450,-596591792,-135517915,-688258283,1202200850,-244492588,-795197918,-823435053,286695698,-47936910,-634871599,1773638850,-1552049969,-1120436650,1198321347,1576080333,-431457509,1124988469,-2096443379,882831670,1691440407,-777553612,1848241111,1733126867,-1382344543,-1616212242,-1974514033,-1100011761,-197661079,294743156,1260435959,1289162774,-71082328,2117543413,-1001143461,709472634,-600411753,-1968540846,-1753684495,1656044274,741129393,-1664720085,-2137613958,-1317012468,-891233710,-891473515,-7716753,286429853,-1416624410,-1956733133,-134219381,-529815783,-1018332461,-1698290227,-1460829555,1963283200,-243346250,-801273175,1522333454,-1867734334,-2127872828,-1350770604,-1197195872,1736333003,-654280786,-730096360,1250917383,-252744709,-1261659827,969086132,1627046551,2004753426,-891571470,1010381071,1367060698,1210089912,-1270979837,-1021591331,-1582426592,404148670,-1942609523,619772671,-563116611,-307112043,-1472240009,760740423,195678558,1420243395,-72462665,-1291780203,-2100795974,-1306255595,1103483591,760945579,-230289014,939470073,-274792630,-198913163,1489231712,2056486476,112786046,-1666700731,-1749086692,-2682442,430468574,-1528992477,210327025,-1042456744,1012391844,-1199968103,-660064920,205332327,1589836383,-284975430,502351291,-259813049,726006597,882773081,391468381,1024581777,-5836202,345254283,-965412600,1098183207,-692551946,-469902659,-1172709008,2012252070,262012682,338793954,1300372169,26326224,487537291,-330890938,405112600,54347178,488601454,-1111192982,1461950083,-177729457,-227310467,1501670981,-614401927,1094277628,-226553797,-178120476,-1345527630,1185823897,1356416210,-564915501,-1750815439,-459139294,1467542472,-530082437,346213740,-1618174256,-725461271,-1668864433,788776626,907945380,-691232919,-1612155985,1020118908,-1392943117,723124600,842364890,1650451366,-1248219709,1783771701,-378301308,126227701,107399352,2141092991,1715396266,1119041166,-2073084298,-1234437911,218969470,1126380090,339491494,99835729,-366930509,199494530,1514138263,-815045704,-157237412,1118554567,-1068441637,-1843231325,236236983,-501575484,-658562929,-2138627458,-2105114696,1906748632,1157858631,62485802,-976567072,1888736395,313796847,2046321227,-1132056866,1586962267,1846217637,454371809,1584397214,163725926,-1559284525,-1293316809,-2030046489,-2106976418,942221168,-1937955950,892508842,1859550066,1426112527,-1844923785,-662186950,-1038020609,1029459511,1193857522,2015835016,658675676,1063131481,1737871503,-973287689,1938824487,85053500,1472408024,-2139193792,2092629658,-1463989385,-2086729383,-1593614953,271368049,2029960308,470303920,864464346,1738329519,226866650,-1546509014,-1262903289,1018575040,-1942137311,-1776978385,-1863737291,902811603,-1708642039,-80985913,12306476,-2138629329,1754058055,1186697899,-745562331,-962913465,-1600753352,950818995,1794748159,-353729692,1996638051,-1835195675,829075614,1619123206,1462783881,1422136517,-827120729,1280736311,1506093167,807836884,423719389,1673405083,-1302297845,2117281763,1129169463,1734358820,-664364608,1843085597,1496709029,-1862770028,-1466836193,284643870,-1874510912,-992479699,421056727,-928680065,-1163824542,-27995943,-1258487297,480235600,24151862,121028992,-877924733,-895739459,-1270295232,-329246170,1481539875,621892367,-125562139,-1236182600,-124941519,-1435014311,2000367218,-1809711569,-571343510,1803617803,1921809645,-482698371,1074110990,-2119758134,344179137,2114053028,-1840581647,-1505152026,1307998946,1819111384,-614852610,1629669440,-1952644305,-762924480,327534863,167503217,-207164883,2047226760,129636278,-88452426,-1115460671,1624263399,-1211104819,-553763406,1613997511,-965157827,2106383042,227811914,-664652283,64512186,1660926972,-1393336533,2033914243,421548568,-229916266,-366528496,-1347073686,-1362057041,-796933776,976225545,-1601660916,1078260219,-546460462,-1930679662,-1336554690,-469157383,429671976,950536150,-91157906,172088472,304024614,993126530,276250421,494824865,-66441119,-976955991,1180279431,289974888,-2009879264,1133828671,-1876108157,1759819302,-1288032622,445276341,462870457,-263664933,1285900551,-1477697070,837822775,-2021599776,1852948204,1528237114,-1069589179,-469899791,-1275366146,-7664250,-122599985,-739266126,1457635981,742506523,-160003607,-1056155835,1979186751,-744292333,-1860357661,-1370314842,-1912355271,185382838,312338028,79574375,-436515212,1255615099,-690579145,-366631504,-1625898969,1742008311,-253707878,-1763708604,1114260236,1128019741,-226857010,878161074,1336501832,-1477490139,-430424596,203603480,1507342317,1603323335,-1792359871,1046259855,122890372,-1283305276,659507832,1345661364,-1714879820,-697635965,-420932756,-1623613135,2024218890,1277321799,1999179706,619224211,2104046733,-2135482984,978968709,-1565150036,1126579534,1500392107,-170742761,-1895478014,-2132532380,269464997,-2090767218,1705546962,1874233393,1613243605,-1221698231,-1644516374,-154442402,101413967,-997303030,706713325,-51947490,112484452,1053014493,549628353,-1927287104,-2026367074,-948349607,93163910,-2110022661,1246729766,899465243,-508271936,359062764,1289498196); +/*FRC*/Random.twister.import_mti(311); void (makeScript(14)); +/*FRC*/count=2; tryItOut("mathy3 = (function(x, y) { \"use asm\"; return Math.fround(Math.abs(Math.tan(Math.fround((Math.fround(y) == Math.fround(( + Math.fround(Math.atan2(-0x0ffffffff, Math.fround(Number.MAX_VALUE)))))))))); }); testMathyFunction(mathy3, /*MARR*/[x, new Number(1), x, '\\0' , '\\0' , new String(''), new String(''), x, '\\0' , new String(''), '\\0' , new Number(1), false, x, new String(''), false, new String(''), new Number(1), false, false, new String(''), false, new String(''), new Number(1), '\\0' , new Number(1), '\\0' , false, new Number(1), new Number(1), '\\0' , new Number(1), x, new Number(1), x, new String(''), x, new String(''), new Number(1), false, new Number(1), false, x, '\\0' , new String(''), new Number(1), false, false, new Number(1), new String(''), x, new Number(1), '\\0' , false, false, '\\0' , false, false, false, x, false, false, new String(''), x]); "); +/*FRC*/Random.twister.import_mti(548); void (makeScript(14)); +/*FRC*/count=3; tryItOut("mathy0 = (function(x, y) { return Math.fround(Math.hypot(Math.fround(( + ( - y))), Math.fround(Math.exp(( + Math.fround(( ! Math.fround(-0x0ffffffff)))))))); }); testMathyFunction(mathy0, /*MARR*/[timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), timeout(1800), timeout(1800), timeout(1800), timeout(1800), timeout(1800), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), timeout(1800), objectEmulatingUndefined(), timeout(1800), objectEmulatingUndefined(), timeout(1800), timeout(1800), objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mta(1803355041,1002134409,-220637094,1276582312,892828426,1900603624,1925149192,-1642878565,517225281,605380697,-9338168,1454219631,984262769,1795831166,-1751591370,-1716548010,1699883550,532085385,-11732087,-748814922,-1590663237,-1626818710,1452357302,459600804,1571678311,968181911,740216967,1432144350,1040827718,-932074598,507528544,1296656517,-1057006254,-1525371071,-1785654053,-1011212630,597207498,1134475899,-1809451790,-617945130,874799911,-1391741211,-903290130,-1335414310,1909618374,-299014217,1696321473,-931408439,-288214465,2016431641,-1969285151,-738643937,108356397,1920490639,614208431,-1607051794,1665321353,-1514472569,-465559248,-1512858715,608390925,-1776311266,-788393199,204918771,-1196563503,-1788206606,1578735827,1630432314,10885527,375750140,992102637,105817037,-849544286,164161417,-654127127,1997354093,1036305849,-1747883286,-447381288,-1331786708,1603153611,-182021916,1608573759,-14958372,-381192896,1085308991,-2094033964,-369913912,1012125935,-1765771161,1618442228,939012120,1116408174,148958885,-1655814342,13159583,424436037,-528009388,-674547894,1137756855,-1569955416,1291889034,-1896198723,721110121,1609136448,766752946,-1754097185,1067768507,-597561719,-1766949663,-19100240,2106849497,-186292226,39134252,1800009534,-2088369226,1045978531,217301441,761174967,2016250176,-1292433945,-1711775147,-1698095764,-441919109,1011625414,-976877388,-1648938561,1369608567,-996097994,-31982351,-128138554,-1039939122,-1469344149,694089638,-1932513209,262975507,1476171970,1498460736,1594683748,-966241256,1061019075,749826993,55681694,-1689135826,-1658203680,-1859717280,15323115,107975216,-1969456267,243728851,1223328526,-281416199,148703784,-1161363277,2112492278,1243955669,1516516713,206525303,2132619430,-2058943623,944796231,915665398,587603948,-1192311649,148570621,1835233650,67174270,-933883152,-23925163,-1139326022,196568980,-857199881,-1068807163,997370921,794375837,-1195146553,-157517402,-299364652,-172210027,1839499652,-1496223658,1562136607,417483408,261945058,-1104581504,862390018,1504696076,-1455664101,1125562025,-1097334190,-1355733588,1071757696,-1737461577,1526905990,-1118391604,-599080288,429188574,369288691,-293756225,-1333291586,1571917605,-239157731,-1626252510,336260548,635689071,923366967,89672188,1263039836,2067217154,659201231,331577148,405381708,-924263689,366623565,-31822382,-358081564,-306390952,-140687552,-1081639483,913252562,1758718465,-1972516198,182061124,1646440497,-1108968432,-3061930,1616647555,21024045,-940288683,1403411832,-1887836719,1775694160,-667076228,1224768513,-1149341470,-641723623,212383796,-614350316,-709222351,-1037043520,1004355182,-611074327,112995919,-1373444162,-1450604408,278700188,508231250,1855138375,-1696833595,-439738744,-1078238176,-1658509454,2026994250,-335253550,-1397321630,-1314064308,-246242465,-591961149,2055608096,602244151,-915062543,-1462195203,-1058643051,-1262220233,138493301,-338789335,-1744907975,-1086167703,1917299906,-356102846,-296952312,-186237355,-2105967357,-1173491539,2115115065,-648807070,-1346348005,735473565,525565282,-2060266018,-522565890,-1558424776,-1612370747,-1342149229,-2038397181,502458620,-1903188770,-860548468,-887925594,-1426435902,200814710,-1296750304,715365449,1590772411,-157204064,914725172,1517796976,985459256,146872442,-742474089,-78537705,2059302673,-1757657460,-938696124,594126345,-2050413530,279557358,624894649,-1564417859,-1514189396,-680041803,1600507126,-1838520712,-243361723,-2108687828,-1788302707,-594469167,1873885340,-997086285,-1782568298,1600196092,-2042538520,-1297730572,-810489779,-1092496150,1488922732,375245323,-1149838779,2083477593,222178179,-958730836,1800450818,-143130089,-1807614589,-1721543589,-276921892,-1208490074,-51703157,-1079069582,-1302069951,600096049,1633151597,410459329,-1841272923,1224852480,-1723212253,1603811484,-911779255,1638217321,602522206,900803445,-498154174,-188006186,1759514919,299958344,-2048655382,-2033931619,1138077882,-1008766117,-1970342885,-937448132,478319855,-1437060631,1237290925,-1357673166,-251542423,1391095863,269099020,676352642,-1948350424,1529717610,1197381708,-803996465,1560108115,5309433,-804964832,971783274,-77442090,2134180893,1688133685,1121925011,-1169390286,1773218092,1719119021,535697561,-105214763,797268961,-2086230557,-699183174,563017714,-1827712909,149176029,322833983,-1990792678,277948035,924577857,1829350621,935868846,-1024718673,-645391640,-1850443231,698084464,-1456828334,902306170,-1334635852,1789547354,-1079606708,2007830675,-1628240087,-1929452853,-352164258,-25917290,-1439942070,-1260322448,325660049,-203830812,1155350318,-8774352,-88136442,872683287,1853357364,1608458658,1275912973,1092730257,641862640,1559049636,65875715,-471814615,245182681,721125322,203006894,-1337208738,-1612785755,-2057258842,-1386654094,-1013355834,351962973,1072708572,-137580003,2105184762,497420807,861548674,-1563184405,-442612296,217975945,1778623857,-1959449678,897798960,1817121321,-911460252,745363481,-1117896821,-62249066,-595504611,-49909460,-1647296523,630607979,2052461983,-497620984,2104983761,304664797,1580205477,368252522,1999974157,1215925724,-1153245564,786942746,-1684819769,1929790344,1723793224,-1359912741,2059458743,798773582,-1905838219,1035449268,-64527692,-738416284,-1844023329,-306953390,-468235518,-2058930446,2088551482,744077867,1367959190,-1582007801,2036014331,515419500,247219662,1102593617,1107743660,-608496914,-514826423,1375380200,-382157736,-1182239668,-948041953,-1423278817,-550304778,2073501983,1743537437,-1231169119,1194850546,-1405066902,-132450130,-441021675,2003607002,1092773765,-258077960,1513528090,-1336673620,-160007974,-559258980,-151075617,-1035892790,-790556313,-161754735,-270877042,49788517,-1355948703,-1148144884,-916011852,1370286415,-848346305,-1605115924,840482572,215535338,729572183,1783579273,248261634,-1902030395,474030785,-1213563638,619051412,-269246286,919155280,1664107769,-1501616292,-1605386813,1928219371,729643013,428399202,-609075117,-357749682,968953065,105308229,921303594,451443268,-44893737,2144325269,1364556852,2137643163,1869085892,261520319,-933979704,-17792610,1969335151,-1771470353,-198751594,-1758226720,1159462483,-514642085,1340114071,94127864,-1886930069,-1216026071,-560228876,183850512,452561622,997997620,1067692005,415199848,976083702,-547847889,-360934475,2137491573,-231151722,-439408954,907591479,-74453728,-1486035478,1090160125,486899986,2011052788,-173006037,-1790848771,-1081285666,899118567,-208983327,-1744934279,233053040,1239679329,1798819247,-530899393,863596176,-1514830458,-1951288234,-866373975,459256536,-1773014463,-777827704,774444602,-1367148738,2031719573,-1150049775,-1247869405,72398514,-1097602355,1620580630,1984691867,1472365859,623746207,-1719176024,1892903146,688565377,-1069896148,753358281,1665679153,186264913,1841558990,-1862738195,-1181951110,1512196341,292939627,-1044406830); +/*FRC*/Random.twister.import_mti(66); void (makeScript(14)); +/*FRC*/count=4; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(75); void (makeScript(14)); +/*FRC*/count=5; tryItOut("print(uneval(t0));"); +/*FRC*/Random.twister.import_mti(84); void (makeScript(14)); +/*FRC*/count=6; tryItOut("\"use strict\"; \"use asm\"; /*ADP-3*/Object.defineProperty(a1, 0, { configurable: false, enumerable: false, writable: false, value: g2.o1 });"); +/*FRC*/Random.twister.import_mti(113); void (makeScript(14)); +/*FRC*/count=7; tryItOut("t0 = t0.subarray(o0.v0);"); +/*FRC*/Random.twister.import_mti(133); void (makeScript(14)); +/*FRC*/count=8; tryItOut("\"use strict\"; t1 + '';"); +/*FRC*/Random.twister.import_mti(142); void (makeScript(14)); +/*FRC*/count=9; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return Math.fround(Math.asinh(( + ( - (( ! (y | 0)) | 0))))); }); testMathyFunction(mathy0, [0x100000000, -0x07fffffff, 1/0, -0x0ffffffff, -Number.MAX_VALUE, -1/0, 0/0, 0x100000001, -Number.MIN_VALUE, 0x080000000, -0x100000000, 0x080000001, 42, -0x080000001, -0, 0x0ffffffff, Math.PI, 0x100000001, 0x07fffffff, 1, Number.MAX_VALUE, Number.MIN_VALUE, -0x080000000, 0]); "); +/*FRC*/Random.twister.import_mti(213); void (makeScript(14)); +/*FRC*/count=10; tryItOut("\"use strict\"; for (var v of o0) { try { for (var v of t2) { o2.m1.has(i2); } } catch(e0) { } v1 = a1.length; }"); +/*FRC*/Random.twister.import_mti(247); void (makeScript(14)); +/*FRC*/count=11; tryItOut("\"use strict\"; v0 = t1.length;"); +/*FRC*/Random.twister.import_mti(260); void (makeScript(14)); +/*FRC*/count=12; tryItOut(" /x/ ;function eval(x, x, ...c)\"use asm\"; function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var i2 = 0;\n var d3 = -1048577.0;\n return +((d3));\n }\n return f;print(window);"); +/*FRC*/Random.twister.import_mti(374); void (makeScript(14)); +/*FRC*/count=13; tryItOut("mathy4 = (function(x, y) { return Math.fround(Math.hypot(( ~ (Math.max((Math.atan2(0x080000000, ( ~ 1)) >>> 0), ((Math.abs((Math.fround((y & Math.min(x, 1/0))) >>> 0)) >>> 0) >>> 0)) >>> 0)), ( + Math.abs(( + mathy0(0x080000000, ( + Math.acos(x)))))))); }); testMathyFunction(mathy4, [42, 0x100000001, 1/0, 0x080000001, 0/0, -0x080000001, 0x0ffffffff, 0x080000000, -Number.MAX_VALUE, -0x0ffffffff, -1/0, Math.PI, -0x07fffffff, 0, 1, -0, -0x100000000, 0x100000000, -0x080000000, -Number.MIN_VALUE, 0x100000001, Number.MIN_VALUE, Number.MAX_VALUE, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(568); void (makeScript(14)); +/*FRC*/count=14; tryItOut("\"use strict\"; f0.valueOf = (function(j) { if (j) { try { Array.prototype.unshift.call(a2, i2); } catch(e0) { } try { a2.forEach((function(j) { if (j) { v2 = (a2 instanceof this.s2); } else { try { t2.set(g0.a1, ({valueOf: function() { print(x);return 7; }})); } catch(e0) { } t1 = t0.subarray(({valueOf: function() { i2 = a0[13];return 10; }}), 9); } })); } catch(e1) { } try { a2 = this.a1.filter(f2); } catch(e2) { } v0 = Array.prototype.reduce, reduceRight.call(a2, (function() { try { v0 = g2.eval(\"/* no regression tests found */\"); } catch(e0) { } a2.reverse(); throw e1; }), i1, (x > (4277) in null += intern(-23))); } else { try { v2 = g1.eval(\"a0.shift();\"); } catch(e0) { } t1.valueOf = (function() { try { Array.prototype.forEach.call(a0, (function(j) { if (j) { try { i1.toSource = (function() { try { s1.valueOf = new RegExp(\"(?=(?=$){1,})[\\u00dcS-\\u2865\\\\r-\\ufccd\\\\d]{1,5}*?(?![^]|\\\\x98.*?){1,}|(?![^])*|\\\\cO*?|.{2,}\", \"y\"); } catch(e0) { } try { a2 = m2.get(p2); } catch(e1) { } try { for (var v of g0) { g2.a1.splice(-2, ({valueOf: function() { a0 = []; o0 = {}; s0 = ''; r0 = /x/; g0 = this; f0 = function(){}; m0 = new WeakMap; e0 = new Set; v0 = null; b0 = new ArrayBuffer(64); t0 = new Uint8ClampedArray; a1 = []; o1 = {}; s1 = ''; r1 = /x/; g1 = this; f1 = function(){}; m1 = new WeakMap; e1 = new Set; v1 = null; b1 = new ArrayBuffer(64); t1 = new Uint8ClampedArray; a2 = []; o2 = {}; s2 = ''; r2 = /x/; g2 = this; f2 = function(){}; m2 = new WeakMap; e2 = new Set; v2 = null; b2 = new ArrayBuffer(64); t2 = new Uint8ClampedArray; return 19; }}), e0); } } catch(e2) { } /*ODP-3*/Object.defineProperty(e2, new String(\"12\"), { configurable: [,,z1], enumerable: \u3056, writable: (x % 6 != 2), value: g1 }); return h0; }); } catch(e0) { } try { this.a0.shift(); } catch(e1) { } m1 = new Map(m0); } else { try { /*ADP-2*/Object.defineProperty(a1, ({valueOf: function() { for (var p in o1.t2) { try { t1.__proto__ = v0; } catch(e0) { } try { print(uneval(b0)); } catch(e1) { } try { a1.shift(o2.g0.t1, g0.o2.f0); } catch(e2) { } b0.__proto__ = i1; }return 18; }}), { configurable: false, enumerable: (x % 4 != 3), get: (function() { try { e2.has(a0); } catch(e0) { } try { this.h1.iterate = f0; } catch(e1) { } this.v2 = evaluate(\"function f2(v0) { yield /x/ } \", ({ global: g1, fileName: null, lineNumber: 42, newContext: false, isRunOnce: (x % 14 != 2), noScriptRval: true, catchTermination: (x % 72 == 5), saveFrameChain: false, elementProperty: s2, sourcePolicy: 'NO_SOURCE' })); return g0; }), set: (function(j) { f0(j); }) }); } catch(e0) { } try { o2.e2.has(Math.log1p([1])); } catch(e1) { } h0.toString = (function() { ; return b1; }); } })); } catch(e0) { } try { this.o2.toString = (function() { g2.g1.h0.keys = f2; return t0; }); } catch(e1) { } o1.t0 = new Int8Array(t1); return m1; }); } });"); +/*FRC*/Random.twister.import_mta(-1609623406,-1816006741,1525127882,-435062879,112673345,-1425326761,-1216899178,632794832,1324997219,402394703,-301867953,1048226808,23769868,252081618,1624915572,-503095224,-102233389,106197084,-1916687040,1611175375,-1525594154,1559383167,1376949213,1183754743,-1539188959,-1146559207,-196163314,-1851141322,-2091221404,-1994873972,128783934,1892984941,-105241525,-1860939296,-599969506,-1546618349,2061927116,1349950285,763750951,-1762816206,668133249,235721309,1229463752,-914652237,1164592865,-791881967,-1959550581,-1065090612,143797799,-1494764924,-107209883,-125509722,656381457,1822713044,663418716,-1190588146,-1523100586,-340431433,76662717,1489433741,-1866159092,-255328138,201644273,1045441348,-1155097340,-1716969851,26177030,25109791,1712411190,-693285480,263189361,-1510065286,-1275052128,858587050,-1411960753,-431377560,513519391,403869800,1904681466,381997809,-914715584,-1654368954,527412193,549839645,-982444305,629459340,-1147304051,-2112144990,-1758593258,-483921516,-636240112,-492885850,890929427,-1013078999,-152237284,113465819,779156379,265832819,-319696413,1530521531,-596029382,745223579,-432694815,-1805966924,-2109963180,9969874,-688615268,-1017637736,-468368061,310762686,1476068120,-1642859521,425803189,-1202538698,-2040228544,837334272,-372791791,-1615119344,1956906283,-983942678,1515803570,-882579050,-1315345545,-300400607,695785728,720613127,609677725,1077097581,-1306414641,-1170506586,2027618258,1828731597,-865941706,870825489,1853356989,-1451972654,-287737737,1237071396,2147020990,1168830986,-674382153,-878179739,-647013810,-294773349,-1120704178,-1809256595,2082286321,1949466415,1791482698,-1169075239,-373208236,-446786193,1065666859,357122098,254082950,899963769,-1396473907,359298597,1886343369,1416035287,-252291956,1200061251,-797531510,1191089296,1139979873,1253190952,1123121286,-932603063,243462760,-971900457,-703311867,1119750381,-1261455233,1515091584,-1429387605,-779722909,-214685218,2036700246,1628914138,-1925141871,230351515,-518728597,-726415251,-1181286769,1007173231,1112322634,-350570633,2070011571,-1591920814,-977052021,-580832585,-1589666764,1154059855,388527339,1092037151,-1522108745,-227928134,306007024,876752108,-1491332118,2011649035,196672513,-1106755932,-988269608,1228325972,1538269330,127473025,-585084780,1859488190,1441446861,1943339879,325086982,-640037958,851339922,-1035699304,1880363915,1133499954,-1666116425,588473597,-1176064182,-889525249,1819667654,-119958005,1210709569,-1819615354,1938201750,-1253291134,627340129,580117294,1888184837,957828375,304450706,559248753,-1307534794,-95430796,-1917023777,1145993985,-507861244,1432321703,664084745,781614737,894936960,2102725491,96129643,1821575059,-897243596,874767439,1259124569,679341354,-1529597873,-2087912850,-1210590175,1841110632,-1092874696,-1980022894,750277448,-113179168,-1692464451,1104986004,-711308001,95608693,578364459,-531474419,-281834740,-627814694,1259102606,-1342173691,551438753,-895442989,1048836676,1605235033,168780467,682859728,352147419,-2044882853,-192888704,592246884,-281051846,234909794,-146681286,823245083,-1885480698,-1711442537,510509199,1206089299,-1963625836,-10308703,964589748,-932308274,1470473386,1598581234,-683302587,314060570,2130855543,-1991936618,1403465385,-1939957784,-2108024853,-1331843116,-542581404,1594795987,1774219696,-1264619898,1297053084,-905067923,1143825479,-1953821057,711832152,684806120,1020763783,58079250,1961361500,1690953773,-392388660,843576175,-197709011,-928037556,1543517588,1796041917,-1093597793,2013906045,814618256,-501558489,-1442495342,400806830,-2025243324,229101980,-1016767925,-486362142,419998423,-862320747,-374756613,626442629,-734367271,1160845160,-809923619,1137743310,-1048168590,1990192846,-1736068062,402660600,-412121991,-1857689312,1883671351,1575387362,-2069105295,888325275,346233748,1781781772,-451779106,-274098117,771084627,1373483521,-1499923182,2716233,1560177346,1745136542,119369447,1971207567,-929244420,1339275068,-1275333139,511312098,1341132894,-1612474033,1182122218,-489853935,-1065625800,-1558370198,-1116966999,-1282657618,1647984947,647552100,1025415163,-43641694,877699300,1566944593,-1556474227,1502064646,980350460,1127824016,-69296704,817796807,-847267907,-1636790427,1062380388,-965233055,-256213007,-949403132,-1097618977,-509118739,-1096038209,1802160638,-1350802722,-1869143334,451608193,-960031023,1907197612,1641792791,1983213186,1045695538,1360030751,1127944038,774569616,1635715774,-1714702561,1850067219,-937928411,-1257861697,-1500633895,-73285523,756256206,-944276787,272242523,1521505950,1688229841,-1773270299,-1585523402,-1042605786,1001313015,-1003252678,-2009763070,-742357552,1378520421,-1454889297,-1792474283,-40976423,-963616575,-773547523,-1115793490,1274776110,-1855726379,791856470,-1116280109,-242372463,1684069938,965369832,-443737125,881825183,-43887899,-647741572,-807698801,-77759177,1274227950,-177416187,40614857,571293071,820031064,577017851,-861009918,2013707134,-338960485,-103534037,-1214166683,-1378985093,-528867991,-103813255,-1721161617,615448452,952628876,1327803763,668153827,-317684381,273344680,-1097824289,-334427155,-2113077692,1602183896,1761202961,-1810440641,-1749677472,-1071050623,309053351,1849160906,1560787359,613027469,-33445786,-18291577,1303632682,-1400798375,19551557,683023314,1266182490,977354195,-1530620877,-1559860160,-608065095,-1783011661,125728983,-1157224706,-235416125,1125512410,562014071,-2136977989,1756323451,-2093099683,-2027461734,867471160,-945096289,860202354,-389394963,421032394,1153961160,481328383,-42540235,-1100251418,327056859,-1105672586,-1969993560,1223397391,808087637,-170782671,422349512,-518400605,1253215668,627604995,-657638199,1377381637,-1200782742,769021278,316144171,-1351036699,-1611281340,1498673414,1398319030,48546060,49210713,1979368286,661010247,1948753304,1214964924,-1326557883,521938166,-110669836,-570464998,-295013687,1405104456,-446270674,676861204,-2145913480,-1048626784,2001453979,1878795986,-2038837928,-1823723323,933456765,-1293475283,496712265,1326444373,1652259843,-107437630,-366914051,-1548428727,1630256945,-331028145,1170016359,1368295411,1548594278,508839897,157797141,-822840337,-978918437,-303812383,-1832083707,-473406686,451458317,-1613947984,-746983668,910529468,-1149776567,581102288,-1836497537,1968529095,-913774109,851124878,344213712,-1950728966,884783274,-1458952071,1621500001,-1182388121,2037847263,-2051138020,1412213180,1408078324,-1246791857,-401730742,1286503130,1021573522,1753269904,556057753,1001768098,-1186229878,1263367275,-1158496182,-1635213352,-1487440346,-1509507497,1167745581,1950721268,-1456670895,-50329719,1461251797,175392982,-1577039376,-1501611462,-816119023,-968500495,1894860403,-954718966,-408934494,588103936,237243204,198191293,2061844679,1919691208,-488738828,495355010,5240619,-276673526,-1802668246,-1921339989,973625449,-1765762408); +/*FRC*/Random.twister.import_mti(102); void (makeScript(14)); +/*FRC*/count=15; tryItOut("e2.has(b1);"); +/*FRC*/Random.twister.import_mti(115); void (makeScript(14)); +/*FRC*/count=16; tryItOut("(new XPCSafeJSObjectWrapper(allocationMarker()));"); +/*FRC*/Random.twister.import_mti(149); void (makeScript(14)); +/*FRC*/count=17; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return ( - Math.pow((Math.fround(y) !== 0x0ffffffff), ((Math.expm1(Math.atan2(( + Math.ceil(1)), 0/0)) | 0) | 0))); }); testMathyFunction(mathy0, [Number.MIN_VALUE, 0x080000000, -0, -0x080000000, 0x07fffffff, 42, -0x100000000, -Number.MAX_VALUE, 0x080000001, Math.PI, -Number.MIN_VALUE, 0/0, -1/0, 0x0ffffffff, 1/0, Number.MAX_VALUE, 0, -0x07fffffff, 1, -0x080000001, 0x100000001, 0x100000001, -0x0ffffffff, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(267); void (makeScript(14)); +/*FRC*/count=18; tryItOut("Object.prototype.unwatch.call(g2, \"\\u3056\");"); +/*FRC*/Random.twister.import_mti(282); void (makeScript(14)); +/*FRC*/count=19; tryItOut("m1.delete(e0);"); +/*FRC*/Random.twister.import_mti(295); void (makeScript(14)); +/*FRC*/count=20; tryItOut("mathy3 = (function(x, y) { return mathy1(( ! Math.hypot(Math.imul(( ! x), Math.fround(( ~ Math.fround((Math.fround(x) & Math.fround(Math.pow(x, x))))))), (( + ( ! Math.tan(x))) | 0))), (mathy2(((Math.fround(Math.min(Math.fround(Math.fround(( ! Math.fround(x)))), (Math.PI >>> 0))) ** ( - mathy0(Math.imul(y, y), y))) | 0), ( - ((x <= -0x100000000) * ( + x)))) | 0)); }); "); +/*FRC*/Random.twister.import_mti(581); void (makeScript(14)); +/*FRC*/count=21; tryItOut("v0 = o2.t0.BYTES_PER_ELEMENT;"); +/*FRC*/Random.twister.import_mti(597); void (makeScript(14)); +/*FRC*/count=22; tryItOut("e1 + g2;"); +/*FRC*/Random.twister.import_mti(609); void (makeScript(14)); +/*FRC*/count=23; tryItOut("\"use strict\"; v0 = Array.prototype.some.apply(g1.a0, [(function() { try { t1 = this.t0.subarray(({valueOf: function() { e0 + '';return 13; }})); } catch(e0) { } try { g1.g0 = x; } catch(e1) { } o2.toString = (function() { try { t0 = this.t1; } catch(e0) { } (void schedulegc(g2)); return o0.s2; }); return h1; }), v2, e2]);"); +/*FRC*/Random.twister.import_mta(-1589263962,212338802,-600480371,-469295667,-576896405,411092141,2096179704,-552904880,188547303,-1068656661,-1759179559,-1246505927,-1592975824,-875765929,470957546,575393659,1393569653,1548779582,-1918063127,-2067355378,1443840982,1910169623,-2115946797,1327222645,1290383697,-1444421289,452879614,-387638883,-777694573,-1101515578,1743946792,1949383431,-168525986,635769505,1501778179,1380025392,205854634,2118645085,1863719339,-211051273,2072232490,271287803,1087841251,584690899,2125833688,667688237,733031432,674070473,286810763,-942964510,1285734795,-387716052,-84133272,1807990992,-145795300,-1420847104,1534283617,1989019770,1427232752,-240273025,-519231404,-73129181,670032686,1387783153,-233895810,-1378405792,-1979856136,-1919406396,-951603935,1557378851,1300266853,855231681,-847207958,458564248,-1290942155,-1003577097,1648278782,1707354466,-1226778838,-625152442,-1336226268,-1693663739,636207624,-1164284179,2054455060,-809625021,2068619522,-279811144,-761949046,-1228376527,-453578016,-990148479,62932021,-1971236787,-1719867160,-1353749915,507828701,-941685163,2007602783,-1457796217,-58088150,1840809392,2036872616,-1445720121,1498702243,1873953926,2099017395,376762699,-148270919,948173911,672763734,1596745389,1422052244,1930967797,-1389999439,-1261967073,-1362867285,-1444397058,130376438,-1243507440,2007718350,2041153294,-1009597039,1181456043,587839417,349570133,-532489233,-750727282,1610186591,2122554032,-630034713,22500572,-1260588465,-430331459,-1537997140,-243783662,-1648798490,-503112379,-859894836,-517054772,431670979,1156560947,1848134506,-1612280569,-1537800974,-1996881035,627589648,-1506812576,-1283231154,-972585081,-163790815,-1983562977,1759501338,-32842239,1778108574,752735600,-1298778884,1299968500,-158939821,1777708469,-1501126376,913249948,1779990877,1980078080,-520096433,-862155614,804315774,-1534518762,-1595344583,1842316141,724458405,-1255473316,-699337207,-1362298534,1665325585,214911528,-1254480952,36733539,-1960006329,1416625512,-1656856000,1515945104,-1520046087,2123014031,1481723386,691795320,-1332414918,1130564189,1313237205,532036302,473019584,-946893206,-98808774,-1733828279,-1340190938,-1065444777,39047571,-1596729796,-1928948179,1168927996,986869896,1520336255,382319896,-843606661,-791144512,-841165622,618946716,-714437329,360896259,1874408061,-805966478,1545446318,-1639509949,-964552082,-1039173606,803463261,-1669328327,-1302052250,1855946349,514566868,1807512289,-1523872527,312346613,-1656219415,-189144096,548306344,1568281591,-1341378511,-1377497681,1505129433,-317334652,1413433356,25725366,30851650,14525280,-267219528,-258947991,1686242133,1064432738,793678247,-781775721,-1146091380,-1180821871,-61793181,2031227684,1320546065,944259709,1110553923,-88586001,-1071166492,-1913089606,976698981,-1232476597,1577319223,-1095159751,-318386077,1792999751,119331810,-940266153,774217787,-1378799509,-257765926,634929590,1628385479,465683866,-299979146,973867256,-941933284,1332377817,-167154800,-1093227179,1793878960,-1262877153,-1313385222,1382883209,1086201529,-262914433,195230138,-750582479,998004282,1812802643,582573320,2104608920,-511032169,1945415984,-1280819457,-1391295195,-986045133,-1871253130,139188183,-534936692,-1152180237,190751108,-1923125197,2101545295,-1050089771,-2064249847,365865103,1563271795,990855900,800397888,-1455260042,-1568073159,-567218921,-1629869154,707649738,-1886767254,-1540199984,477086105,609279489,-2131857725,-786940963,-68135515,-1150818198,1279345393,-1228786132,-657953541,1215886433,1117502097,-422832428,-1832494331,830026148,-95565780,1437937674,-998532873,830111377,295818877,-1928790821,-1204527100,-970094915,1141402213,-1829260866,-592982859,528809223,-1465875334,-1765680546,406906862,1398175793,1399766204,415417832,-643348458,-444285407,1441537115,-2143876134,850752921,-994791324,-1078978342,1119007560,1260434913,755939667,-1986408739,-1829773722,127564508,962515476,-46138641,1811622544,-469394148,2043003135,622410146,-751490607,1722606484,-345438499,-696246211,188754078,-2126906064,1691421979,-2129414832,1211388662,-2091827400,938365501,2012421441,-1222939968,259913815,467355713,-66613998,70849593,1318206494,-1694558174,-1796062751,1229144402,-1008365343,-1465109726,-1821720975,1688650641,315793478,1286975164,-2002771310,-986578918,-265391444,-2084336908,-1336357760,-1790275152,-618480179,1740337939,1895093641,444842638,353976379,-2100622863,-1909438435,-914690032,525107082,1121934754,467285344,-2054838633,-1747064525,1694955793,-378838747,1588958272,-1877680605,1102954256,671308136,-494780349,-131183094,-1647518347,-398749334,-597041800,1326010453,2094807123,55597006,-670726617,-591570744,-637661746,811822138,-1879084517,1934616393,1791588638,-1074992061,-886534999,69293736,1932818447,1544473550,-2025753237,1248792956,-987101173,-1487216074,155711735,-998830257,213555042,-73123325,-218820611,946279926,648640094,1243248170,1061080804,1784229725,-426684299,115080696,-477722173,-2088990480,1855806026,832915451,291195434,-495556155,-1835692395,1496944218,1208634060,-1945479375,-1086151610,1214034762,-1089310768,-1959270036,-1352838898,-1204291092,1993357145,-1954400644,2121763648,1089544395,2081641920,682874700,-230354015,88941820,-1456521176,2041451892,-1883034003,-914619686,-977756964,643533176,-350127057,-1249947882,1863613494,1247344350,-1694169964,1764621909,-508167295,1453321666,857524564,-34495555,2003221727,-316547419,-1003807864,8768170,-1837717762,2001090676,-682420454,1598908269,217696532,-1345115124,67854661,860797193,433557558,-46437345,1879644653,-672231399,1474821946,1419200201,66358019,611333377,692520967,-540793392,-60014483,1114373200,1063449684,439117041,-934558721,1317448429,622387149,-128978550,-64273735,-306694820,-1690440626,65775774,851046253,-1379852714,-1386586158,347916297,-984457216,32646003,-1525763780,-1823362886,-2034472857,1599043434,-783009307,379471664,-512391705,1242554475,1972361533,384034710,-725457847,-787234463,-1689269899,1506457976,2076135832,-1241591680,140952646,-1969098496,-1025467560,822688559,742988912,-1723056262,-964585267,-1179833813,212419852,-655945258,-1098182139,1994311735,167482146,-401911666,-768935594,256697579,1658144157,-463520715,1197092053,1185883395,1772410495,-2027253144,1552429412,1904095854,-2105179704,1631053914,79522099,276502970,-786994651,2037937226,-420640355,1223726880,1325247388,2001790214,68446782,2075426441,-2108566992,-588388188,-2034207,32341582,-839690778,-98907257,1360932871,-1251863364,2027757405,-550935147,1595601582,379243215,-1650706955,-1736505359,-1670720139,124787994,-788888533,-35275319,-1942578040,-1925596998,-2099039456,-61605030,243485351,16986194,1603410150,-910129857,1784115382,-1284956939,580223751,-1960828505,-524636768,891298577,364946916,-799733187,752497198,-66841346,-1052687018,-855586635,695699402,-1567901771,-1855715752,-1207003879,-1258796702,300126146,1169924328); +/*FRC*/Random.twister.import_mti(66); void (makeScript(14)); +/*FRC*/count=24; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return (mathy0(Math.fround(( ~ Math.fround((x ? Number.MIN_VALUE : -Number.MAX_VALUE)))), ((0x0ffffffff | 0) >>> (Math.imul(x, -0) | 0))) || Math.fround(Math.imul(( + (( + Math.fround((( + ( + Math.tan(( + x)))) % (mathy1(Math.tanh(x), x) | 0)))) <= Math.pow(Math.log10(-0), ( + (( + x) - ( + 1/0)))))), Math.fround((Math.hypot((((0x100000001 >>> 0) != (y >>> 0)) >>> 0), ( ! x)) >> x))))); }); "); +/*FRC*/Random.twister.import_mti(354); void (makeScript(14)); +/*FRC*/count=25; tryItOut("mathy3 = (function(x, y) { return mathy0(Math.atan(( + (Math.fround((Math.fround((x >>> 0)) >>> 0)) << x))), Math.max((Math.abs(( + Math.imul(Math.fround(x), y))) ** Math.atan2(Math.atan2((y && 0x080000000), (x >>> 0)), ( + Math.exp(( + (((Math.log2(-0) | 0) % (x | 0)) | 0)))))), ( ! (Math.ceil((-0x07fffffff >>> 0)) >>> 0)))); }); "); +/*FRC*/Random.twister.import_mti(582); void (makeScript(14)); +/*FRC*/count=26; tryItOut("mathy3 = (function(x, y) { return Math.atan2(( ~ ((mathy2((x >>> 0), (( - mathy1(0x080000001, x)) >>> 0)) >>> 0) != (( ~ Math.min(0, y)) | 0))), (( + (Math.atan2((Math.fround(0x080000001) > Math.fround(y)), (y | 0)) ? (y || x) : (Math.acosh(Math.fround(( ! Math.fround(Math.max(y, -0x100000000))))) | 0))) | 0)); }); testMathyFunction(mathy3, [0x100000001, Number.MAX_VALUE, 0, -0x07fffffff, Math.PI, 1, 0x100000000, 1/0, -0, 0x07fffffff, -0x0ffffffff, 0x080000001, 0x0ffffffff, 0x080000000, -0x080000001, -Number.MIN_VALUE, -Number.MAX_VALUE, -0x080000000, -0x100000000, -1/0, Number.MIN_VALUE, 42, 0x100000001, 0/0]); "); +/*FRC*/Random.twister.import_mta(-996209208,958548484,577883689,-393580960,-1751675093,631415196,-1442837185,1263262111,-601324997,1005672342,-1654337917,-1064152773,-1118609308,1711949725,1789859617,1219422575,-1276863126,2011526977,-1643476481,604959166,-583403385,-1700234120,645976386,1673605311,1409633722,2099011141,579161610,-2104099105,904225661,-870994345,1748541941,1054566663,-1194442368,-372780144,-1369327757,1280154281,1661026938,165240380,-1443199405,-1179193766,-1649941184,1120344877,2056350027,121489178,-1404581865,1606606894,-1306476065,-69357881,-982216700,-108909086,-671645739,-33385020,461158946,167963765,1157400106,382172842,-1445819736,1941005730,-371972436,-57883877,1536689416,464208605,255930103,-1305449133,-105461698,-53928816,807149627,1898532915,-1994989554,-12996698,-60357761,242452409,-1074822419,-2050789191,1378918540,145836811,-1121895716,-770938545,-1461261313,2121723498,1068471282,-410341870,-346948705,929220948,634567018,344698580,-702755235,1070933895,-244301165,-1886725427,-1944860608,902384736,1482883953,1278983902,1557766931,-1586699195,1840522479,-1114563427,-2122540024,-778568039,1926701981,268084189,-1808455926,144305169,1204829102,1885871007,-975882432,-167035318,-960641545,813494954,-1613132914,-173719526,1558769096,-839882281,-66473980,-733548037,-1665147904,224664470,1072174405,-2087035539,-1056997058,1431955275,1627428804,-1956133987,-1579524712,82363262,-990234603,-498546823,-99373736,-1245469473,-442164398,272070978,1821903974,224752700,-1444401684,1480781123,159169434,743466381,85522011,-1019857880,1874659471,-435690284,229916457,199310081,-1496653571,-414518904,460401398,-748664793,954984516,-752882720,-240963296,-316419721,1619805970,-850342300,449294260,-1045689432,-667489537,-728425919,-469109465,-79167486,-1994558952,-1555557222,1507297693,1294497357,554986116,290935868,2078301044,1314283051,-1285079027,-35541149,-1743716762,-1827200127,1406866846,-120404883,-680472783,1675978158,1056798835,-730959524,617239848,2043663398,1765397622,-267503190,1679568168,-255504807,-344125603,430376275,894066711,1144082226,1589980512,-1149579556,1528485992,-1574485112,-1975405867,1318448476,1688979457,1079926759,-1945944469,-654580013,-1305693611,-527661683,946934504,-2040699338,1026574658,-1807748934,1751982274,1399914524,-332403026,436821601,-998024873,-1802245556,1285247696,487266649,-2080661353,1411882780,-616962795,1193128958,1978143517,306387735,-837513156,1641431322,-1561661075,1925973136,113818355,-1034787607,-458262602,-1504299290,-994768849,191183808,-856571081,352003051,-2104112538,-1756115984,625590461,-1435575153,1933745987,1030246608,-793188637,-2099497806,1312663863,216553200,1003635675,-1352094538,-1349593215,-814902024,-910741482,455481374,-1675715648,2037214255,-88352374,1618778527,-1479401646,-699855296,-1961553151,-1529780535,1830790705,-645770495,-811875418,-758495359,-255784507,925788522,-1852394115,-57829464,-440225259,1860280503,1054214407,-184778193,-1705283372,1662675443,2042867429,-1124954306,1917579970,789740487,119097939,1109327556,1116344644,1683374052,-1135390401,1734233490,-1547911463,-1267557164,459162353,2051301990,-1089803202,-802631120,-210908670,643159265,119103837,329481651,-964290071,1062203185,1989235317,-1139173124,1668158550,-675998653,-929721466,1382373077,752241470,1274634905,334767831,-1472917555,-1855828094,-1703109297,-22966945,-229888237,-2028299990,-1356599222,745527938,-393165855,1823109581,1915649057,-957979547,-1054727321,1228430049,691331066,615791761,68994097,1925058594,878093783,112150282,-2012701140,344401420,1644119813,-877233088,-696166325,2082771722,279234537,1310404651,785191839,-169553828,1866048231,31601870,-1333039829,-1499277885,-779782787,-1117007003,-1969375744,-2132836755,-1234250288,-104586514,1882933699,641369624,267849462,-732072938,1559090707,792609700,1613764904,-490535735,2087152401,-623506627,-54214539,-1039127378,-501784330,407349876,1668117949,-1749724623,-938384426,1344926847,-148273277,-1599775371,533626284,-1579595891,1537248557,501414156,165692674,-953134113,93400307,-1490281133,1846908691,620264725,-1354432170,275549793,2021436425,1940907383,628288639,141849316,530773579,-564107279,584229135,-1987939874,-663339075,-1727604747,-897957805,720886463,-782255396,-221262561,-530979730,-1714356209,-250983602,-492187168,33288157,126697109,-712145731,-75342486,-627932817,1125629804,551768271,1703713604,1174432439,-139830391,477964891,-641897796,-627190399,-131135942,-333759435,1072020747,-1988668059,378871302,-130348104,-1865357790,1880981916,1485627047,-1754650536,-834020554,1096263842,705012110,-1605814891,471622186,1521677199,388837444,-467722575,577432507,1016757788,-559327691,1823243536,-308323748,886207659,470840070,2053224892,651160302,322383013,244841168,224045180,-387140410,-1081958475,-945679675,2142268975,-758210051,-398328050,-42389896,-540530068,1198728243,-30089728,1484969100,-640928660,-1207761934,-1921421632,-920799964,-480987883,92449205,-2028820015,-889208324,1285354379,1981038963,-1473655038,794828454,1409046640,1264218568,-423914557,-1998914536,1624388619,-37719032,794387381,-553059421,-713425443,-35131118,-145913459,853670928,797681789,256021945,-316127745,-604359444,-1251984724,-2050015241,-123692371,464593473,-1449779914,-857434281,-43140903,-1581043621,-1371969426,-1454119805,-2138969660,1884298782,-1529596601,-884726997,1462855876,-711620646,1041165040,-1634198932,-1518315712,1742402504,1165301053,-548075102,1828025277,1701219705,1848260835,1744801603,-219930983,603567068,-1601418109,-1559051539,-260707945,262520953,252723844,-5457716,680268934,970565640,884756505,-1652886897,-566291946,-812013542,1735608485,-1686600255,-112032524,-1742232950,-90054356,-665649486,5064923,-242782501,580632601,1474384682,-562750291,80247100,-8347675,1766871705,-905607247,-1162717357,-657811489,1076500899,-1861863702,1139704638,-866796878,110199398,-798975384,1264557984,1742438918,-1052246310,929510410,361592578,635242077,350975798,1045124305,1076864530,2012145826,1428613243,-953980350,-1641279468,404830641,-1682490436,241719690,-1865024819,1347886049,-689308108,-1401101073,707844622,-1042188261,103603788,-548604316,417955642,226884358,723571656,120910139,658992608,-2092288167,-668283550,-1048888359,1903790375,1453421109,-1801385296,-597624629,-311503906,1401059713,-900829895,-2034544807,1528413919,-511804994,-19991190,1724031797,-482375186,1982946854,-2053783662,-683414250,-286734043,-1272176285,112078687,-1173072085,-89636131,390415768,875426938,-1884869452,-1641615577,302473464,-760416618,-460057634,-547330599,-1023274194,-379695342,1458590268,957167001,226891994,-79955469,150334157,812382776,1669895601,1475942740,155078523,271863521,94271481,-1171843453,-378569752,-608180178,1139669214,-1238041223,-1479341456,-1851069979,488703333,1430268984,-1883220592,-1656780911,1049470777,-2131843618,199653517,37650619,1203969440); +/*FRC*/Random.twister.import_mti(224); void (makeScript(14)); +/*FRC*/count=27; tryItOut("/*ADP-1*/Object.defineProperty(a0, v1, ({set: URIError.prototype.toString, enumerable: false}));"); +/*FRC*/Random.twister.import_mti(249); void (makeScript(14)); +/*FRC*/count=28; tryItOut("mathy3 = (function(x, y) { return ( + Math.acos(( + (Math.sinh(((( ~ ( - x)) ? (x >>> 0) : ((Math.min((x >>> 0), y) >>> 0) | 0)) >>> 0)) >>> 0)))); }); testMathyFunction(mathy3, [0x100000001, -Number.MIN_VALUE, -Number.MAX_VALUE, 1, -0x080000001, 0x0ffffffff, -0, -0x100000000, 1/0, 0/0, 42, Number.MAX_VALUE, -0x0ffffffff, Number.MIN_VALUE, Math.PI, 0, 0x080000001, 0x100000000, -0x07fffffff, 0x100000001, 0x07fffffff, -1/0, 0x080000000, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(372); void (makeScript(14)); +/*FRC*/count=29; tryItOut("\"use strict\"; Array.prototype.unshift.apply(g2.a2, [x, a1]);"); +/*FRC*/Random.twister.import_mti(398); void (makeScript(14)); +/*FRC*/count=30; tryItOut("\"use strict\"; (void schedulegc(g2));"); +/*FRC*/Random.twister.import_mti(407); void (makeScript(14)); +/*FRC*/count=31; tryItOut("for(let w of /*PTHR*/(function() { for (var i of w => { throw this; } ) { yield i; } })()) let(e, w, tcuxgb, e, e, fwtyhu, w, weiysc) ((function(){let(eval = undefined, urnzgz, w) { (this);}})());"); +/*FRC*/Random.twister.import_mti(587); void (makeScript(14)); +/*FRC*/count=32; tryItOut("\"use asm\"; g1.i0.next();"); +/*FRC*/Random.twister.import_mti(599); void (makeScript(14)); +/*FRC*/count=33; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(608); void (makeScript(14)); +/*FRC*/count=34; tryItOut("\"use strict\"; a0[18] = (b) = eval = /x/ ;"); +/*FRC*/Random.twister.import_mta(445730741,2140802114,674766187,192814582,-2008251057,1948758138,280387621,-1996927799,-728760658,-2127574632,24810490,-830908912,-1710222707,-187439640,708176944,-675572349,-1548901411,-1140304466,-229749430,-1417138506,401001907,1148016869,1291269681,141053286,-1692605983,-806620880,-185716064,778394429,-1949297825,-251358429,-66798112,984140334,1741997421,-1062235722,-227224073,-647227909,-1150406485,1247273267,594221314,-1675799715,271237703,1496918530,-598291999,-933728025,-1848267241,-660994884,1026184144,-625390608,-239568847,1005500945,-1672085513,1211954340,454782772,-394165527,1207913694,1660748839,-772702765,462032368,-1263367902,647394124,1919320690,376626108,-524111235,-2128932841,1363013117,504257377,1961223451,-110329579,-1999544738,-707080848,-239412354,-1984044016,918637948,-1293785942,674246646,-1688231271,145628885,-691345567,-693278205,-751608146,-827789360,1298365771,-175633212,-1145391050,-1966850386,-1034499601,1647711835,1794421437,-1979927171,-1818467334,1693076672,731982603,-2086827985,-792816994,-859056192,814197514,-348828372,634962813,-1612089488,-2019774894,1813118888,702750809,2110261844,-2131042502,1363760263,760175577,1947590049,100330216,1890741715,909471183,1315893268,-217152405,1640994338,-1315082216,-1806139257,-718836799,-1075803841,517675255,1650753349,-1204994515,-202830943,-1056496327,-1105161976,118259174,-1677624046,-1078077975,397167750,341410869,166520065,-933176582,-1865340034,1986404240,-1749775116,1461360072,964459724,36691883,1598036081,-790932398,1178638354,798083650,73713248,-899688375,-1188746494,-1635338345,1307454485,228012905,-950633362,156441689,-290676814,-419592060,-138911275,-336521163,683687608,-575263465,1887510069,603601812,1597954320,-1052995518,-1136297958,1117939520,-1897333719,-318108885,-1306955521,1001055882,262101797,448217178,1030334611,1485954491,646143159,1030878740,-2044570838,-45318017,2030119458,534643865,577817430,1278763487,-1400080393,159159371,-577137747,-900587695,1590018016,-1859018886,-681883179,1763936483,43573088,1833257457,-1774942470,701282799,-1482084283,-1759170839,106357852,-402285105,-387065318,897301496,-1423900716,1302714748,299978856,528387116,709681463,-1251555738,1440669991,1737822520,127524999,-1894946414,558721731,108793199,-1216050594,-324008672,1131919965,1987700617,-1844229238,584218135,-2088979354,1865132667,543367457,365446184,939144996,-1230986757,1841964520,-583146415,-156870696,122907191,-2035538542,-222749179,1489855486,-110316429,40992832,-1511973135,-1393611416,695400536,1087895566,1138808270,-132616478,-266363045,-1773312863,1708866816,-1069427775,-9635906,-938640024,519144383,-479743053,-453363921,-1341300737,-948552746,-241477215,-62848854,1312172158,716906870,-1386502923,1595816344,1665976902,1201592510,76280459,459886951,-1683176862,-333581684,23658556,493652445,1631583899,-166252788,-1092003230,429734946,924087679,1024296183,-383708933,1850122600,1956173691,-1245469206,1195404701,-1519177600,1188691419,189905889,-107643938,477059954,-393063422,1989763185,1212259544,344133700,302365390,-809697645,-710691878,1484405441,183070015,-1471702830,-777496737,775326035,-1236304566,-936559015,-790782725,1115859864,-1625826199,545974230,-1394843233,279915736,156670624,-1631945791,1764674787,1632139466,78631721,2121296573,1725209298,-832022138,2071004623,1260606016,-2124734652,-2137356478,2121502593,569731049,-310578300,1341361705,1109596506,2001773313,-691231214,-379275060,-235773830,-1331446420,280986062,1740500805,799368221,-908190935,2034860483,-384767520,-1026574352,-1792605015,-1266544554,569139130,166893378,1457756038,-948485643,2100891699,28825968,-1693413703,-595242568,-1280801588,1085551080,-1445633478,1828849447,848093539,303796309,1926419758,-1234765981,-1099548020,576270359,-1468028691,784536675,-905097730,1595292538,1200275168,644740572,-550992033,1980222877,-803035096,386129896,-2055318207,1884370398,-118444063,1794943460,1502295323,964763974,508600301,-1547541631,931987530,115342634,-439320255,186348276,-857856412,-1047285484,-1894758347,-570599198,1746656493,1001410892,-315527567,-2044267127,-1016314596,-1618290781,1486101653,782002396,-210151110,516077364,-45357667,562281953,-1124973643,190179066,-1085173952,-1324326283,1772439746,975651559,-4451111,889146394,685203306,-2006674421,1918793104,-285822926,1558345509,-773274365,340070677,-2022083696,620744241,712680845,1440718716,-342335866,1583827019,-1556263142,1786124717,-1798336986,-1764549458,-162555251,380488945,-381722700,1645581913,1654037711,1706832635,233741728,-2093590979,-1595894790,-374931120,594864113,230718590,1124246088,550510360,724993270,494724113,1005840372,657390918,-601946458,608491700,-2007622984,1186534480,-150587467,13770223,-1985987156,356200608,-1061817750,1297953763,174097128,-216507780,39393294,-324019018,1295409953,2043516576,1345439099,1277315943,959340062,1811658461,-266594661,155516794,899616260,762295261,-1647145472,-472660628,234870559,-87034984,-310881294,1438748435,-1944112439,-1992157812,-2094562970,79332866,-1434353900,-956803866,1052483166,549562799,-1771080911,-1095619768,499286951,-1854045344,-1875056802,2110671280,1265018127,-571456119,-1647958400,712275589,421133603,-1696200319,1047539693,1377918849,-1197451989,-1431969100,276982921,-919949291,1529456005,-477835923,1736399088,-37510794,1995718079,1274363254,-1458546060,-1314564268,1264392066,1157172379,-2034254154,-963931094,-2127255447,-551345896,467536196,-306767133,84512531,388310069,-2111885953,823437943,-44228762,910689505,1896956211,2006433982,1086659079,250179274,1290430016,1108769346,929412042,1831188786,1123454047,1159505248,1386203945,-94589937,-1250046257,-1124801630,-1683177686,1054661595,-389040379,-2027108342,-1499655599,1261610558,947029228,-2071046800,-582874163,-1057077153,-1960996467,-1614207268,-957660429,445006928,1829343001,-1038885257,-1465202058,467419217,303605482,-841020183,339743788,1223008987,-55144208,-591848055,1867096699,-773475469,-1957377731,-1557904084,1143757412,1622371351,482752302,1955732509,-1373321947,1403910729,1677998470,-1611206836,-287662830,1558903365,-283403436,-2074005805,1386179329,1304651501,-1647152326,-921356196,691686542,1394050840,829999433,18309526,-885404592,-206576615,-1064641301,-1137282501,1229911606,1424906744,1488332018,-1829989856,274225805,-1416473398,1999995455,1493864297,893478426,1201146218,-1422260421,365494305,-287333430,-1641160301,1005457295,-1331491180,-578179503,-572673801,1441938721,-1177249348,811505168,-792446362,-1395445443,575474111,-1097584757,925578023,-292470366,-1454211221,56882675,-1103201441,-336436708,582203823,505282725,-2017514817,-262609262,90236022,1861144152,-1882185573,1720479422,-1516730753,-934937023,1720324845,-559451345,855813142,978111994,-335903030,673457844,509565446,792163746,1609819932,-1274013997,-293477667,-2145780804,1241462145,933535685,322528405); +/*FRC*/Random.twister.import_mti(48); void (makeScript(14)); +/*FRC*/count=35; tryItOut("a1 = Array.prototype.filter.apply(a2, [g2.f0, this.e0, s2]);"); +/*FRC*/Random.twister.import_mti(81); void (makeScript(14)); +/*FRC*/count=36; tryItOut("testMathyFunction(mathy5, /*MARR*/[ /x/g , 033, 033, 033, 033, /x/g , '\\0' , '\\0' , '\\0' , 033, /x/g , '\\0' , /x/g , this, /x/g , 033, this, this, '\\0' , 033, /x/g , objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mti(162); void (makeScript(14)); +/*FRC*/count=37; tryItOut("mathy1 = (function(x, y) { return mathy0((mathy0((((Math.hypot(( + (( + mathy0(x, y)) | (0x100000001 >>> 0))), (0 << ( + ( - ( + x))))) | 0) ? (Math.atan(((Math.atan2(((x ^ (Math.log10((x | 0)) >>> 0)) | 0), (Math.round(Math.ceil(0x100000001)) >>> 0)) | 0) | 0)) | 0) : Math.fround(( + (( + ( - (x >>> 0))) >> ( + 0x07fffffff))))) | 0), (( - (( - (Math.fround(((y | 0) > (0x080000000 | 0))) >>> 0)) >>> 0)) >>> 0)) >>> 0), ( ! (Math.log10((x >>> 0)) >>> 0))); }); testMathyFunction(mathy1, [-1/0, 0x080000000, 0x100000000, 0, 0x07fffffff, 1, -0x080000000, 0x100000001, Number.MIN_VALUE, 42, -0, -0x080000001, 0/0, 1/0, -0x0ffffffff, Math.PI, 0x100000001, -Number.MAX_VALUE, 0x0ffffffff, 0x080000001, -0x07fffffff, -0x100000000, -Number.MIN_VALUE, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(482); void (makeScript(14)); +/*FRC*/count=38; tryItOut("\"use strict\"; /*RXUB*/var r = /(?:\\3{3,}(?!\\B)+{1}){1}/y; var s = \"\"; print(r.exec(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mta(456312848,-1485956121,1348505991,1991683326,611618934,846122967,-150860010,-24612495,-700123038,-1225600144,831612921,1027597869,410805421,931949271,-680965915,-986645359,-583893782,-641223329,-1134356981,-242273801,-1224843053,-59668081,618936747,-1078967079,2055806089,1099234980,-384507897,1090502614,-976346630,-162249656,468545863,1575282140,545641780,1771235208,-528119166,67787488,-1317112923,466947689,1679704845,-750466574,-1070380617,-99240178,-2065097204,-2116836689,544164153,1740339190,1185354533,298359388,-843378003,-1564655328,1232193935,-1872807526,1318827207,1845522800,1387905364,1552440772,402950635,-1773767080,-636933078,-1173045153,260303836,65574645,528313394,-819079041,-1228000064,890581347,453827357,1504324744,-74390056,-387872031,957397944,268829617,-998148132,-908185221,-1093462250,-1002028394,680250094,-869389773,1001976022,-537648445,1427958990,709257963,-1795691506,508279506,463935813,-1888689406,1370573047,-352135202,37424267,-614106092,1031631374,-744791222,749094356,-522562218,-1631043153,-1263661313,348647545,338342652,-1367781942,1929474247,-1696856890,-1124390827,829015530,217122298,-1176036910,-770498756,1969927626,-510354383,-1929680654,1809653322,-493254488,1199732955,1978335550,-1848476477,-1232625569,-1805172887,741970091,491209138,971689067,2068875813,-950535784,-1210056831,-995428615,-1466061608,-1914373099,1940169391,397027253,1086114194,-456252126,-1015741390,-453367532,-852425591,1896550068,1907863935,1510769021,503477905,867297912,1899555555,-635967032,376600348,-188547552,-1608252047,183695005,-1867119442,1311152664,-1459620086,2122677215,1937380797,332245077,-32327909,-1738399528,-96150919,-461480931,-2058615229,-1911819642,-1052380774,2088022628,-1321654439,-449831565,-857496118,-1571892313,1574337434,-1799337191,-1208135229,1582049077,-1228624417,-1269350508,1097913044,-317251821,-1013189250,1536721627,902718247,-1039537301,1234059609,771232272,-1625894487,1982115376,-1057883338,-1523896290,1512290794,1325450967,1503597326,-128945009,-275526534,830993844,821316850,2102256316,1465222828,256350044,383340303,350152580,1143503645,-1971722342,-1186771241,1151329537,-1234925633,949253425,1656717798,-1277092776,-259770945,-1913326653,1899373184,624233830,-676330213,495557847,-342187075,1933108966,-1772248151,769942400,1871039355,1845038507,-906255246,-2011728113,1469993824,971410946,565302888,1772250856,1589720128,-1446438671,1415863886,-2058165544,-1220148198,248896768,-327202237,-331227289,1989959653,-1732158670,1296391844,-203986997,1879797120,1464256025,410560263,-748048219,623644057,-1939476495,1869390173,-918247249,1436014925,-347105491,-1329132117,-587611745,375871429,-1500782214,1022845157,-1478019830,-612892108,-455958196,962265718,-1812032189,356670600,-1669388154,-507226861,-717691192,-457014986,921781904,-2055560732,1642770553,-1300611371,1726968410,2146531333,626817433,1644626146,-2088490940,484854535,1828085469,-950364049,-911926521,983289766,-391368882,2123190334,494129024,480638166,697096783,1928214820,-208889157,-375661375,-1459828478,1081283816,780793356,608857386,-1690968881,-825899244,1219203501,-371715429,1481998894,-1053912433,1191899052,-18508418,1655292729,-1979829543,-1620530284,967357648,2101520143,531076685,-805330505,370094966,-666519932,-1571822861,-1237940688,-135578955,-286646856,1516447022,-505943114,673596748,-1939641966,-578189367,1443242472,1671599372,-726196960,-1243193181,-1125426291,817973836,-69288092,692615370,-1286403736,1248119916,1907571561,-1280872225,1853677057,-922077718,-732814938,-5268905,1731542132,1317468242,1155308833,-1434450325,1483782916,544150755,1534005395,833759570,-1737362823,-677007090,-1949868710,355511614,-176280276,1668471742,-342630876,1922887773,2129334860,-137311664,-823565947,2124646539,424696768,-498030011,943843149,1449251286,1486214485,-731839626,21171441,648126696,-2138244916,-966454303,-401393456,1870839130,-439603523,-1850707504,1991781984,-130369097,1527905184,-102592597,712061274,1499693032,-1243445522,1983664898,1465383377,-1159843518,-923606055,-1707322799,1294031832,388685371,1059455817,-1807921149,-917908092,-1471635247,-2043106520,75734075,-944891002,-687637694,1575589992,766980658,37590854,-878640645,-554879430,-1108069503,-974421192,1630211295,1781866361,-130976342,1237177391,167424451,-825070837,1765244716,1102915218,95153610,-1839535487,-290740517,149725881,-676503358,522300569,-138034136,-1078635101,1013364125,1931832736,2084792611,-1952942751,1191464327,-2005012659,2074044685,-1315084035,1343457847,1145398744,930134884,-1469589709,759016257,595985924,-940223365,272199984,895465120,1413510289,-1612536351,787844096,1499862779,-1510737636,379319906,815656380,-1211494140,-1814511721,796874950,-1470653272,568660912,-1657954997,1037264354,339511955,1980278674,-1345220969,1825107847,1506944288,-1838510876,-182620382,956769645,-393755124,628203789,-1924874791,-928719494,442715133,-1291411469,-606390401,-1950636584,-961550676,-786266544,-786910321,-1694632290,-2055984973,130445961,165958754,-1304123528,844508801,1107720595,2063895924,-1942716534,-1404802671,509273782,808826105,514677155,1562974461,-1554914174,-836753037,1614947271,-1583888930,-395775430,-255464584,845380420,1325643307,585238117,-1992090263,379981577,1074834898,1295429149,1549385158,564430037,1275615071,1162799848,-1147440801,-2087182727,-1753178002,1919377248,656659375,1089663576,-646760848,-2133068001,2141421842,-1251689930,-1463088925,-2075517019,-1790381560,857757720,-334007557,-2055935520,-584642254,388126204,-1329427573,1376553725,-766493538,295105758,1191682957,150783276,88166411,-2138634966,-128509043,-254253219,-883539925,-401418395,1695052887,-2068006892,-1600133969,796892332,1335422955,839368905,2050937045,-1224433928,2050934098,-741940287,340269518,803996605,1530426883,1789984297,-1206933029,345443358,387974918,1314626789,-1876485464,-667546455,158275390,1594520221,-599415897,-1634265290,144441617,-2102389771,-946506665,359849606,-1733160532,1878121769,469167866,329586267,452359691,1612694934,1783335739,1514730475,259119020,1429676215,1098747892,867292072,1576913814,1878881966,-78171307,-1423436340,-1906627845,-1768371228,-1288753888,-547718371,1018916530,1959459159,1677290357,-837863412,-1841057138,-2019111706,818103186,-1437721954,1423221879,889932217,-349772971,-379225388,1135147955,-1173904235,1642918941,467910652,91071581,202984334,361308974,-545461963,-1180893876,557029797,-1981679974,-2123085417,266129683,-1461692945,-452410507,1918794322,1895916251,2055450287,-1106090238,-787128629,2017662990,-4570360,1469963579,-1785196034,-1858251957,1256141383,1550597131,1598973193,849315153,-32188319,1177808384,-254182230,1239669712,783265591,-1502363182,-15214407,569161810,1756774258,-462068342,-657594939,1423331258,1042746403,-148973399,1579577086,637747789,1305661629,-2021704035,28433228,-128137259,276829628,2118100046,91604657); +/*FRC*/Random.twister.import_mti(236); void (makeScript(14)); +/*FRC*/count=39; tryItOut("\"use strict\"; /*infloop*/for(let window in ((ArrayBuffer(((((d) => { g1.v1 = evalcx(\"g1 + '';\", g0); } ).bind(this)).call(new (this)(\"\\u717A\"), x|= \"\" ))))(x ? (--this.zzz.zzz) : \"\\u47DB\"))){i1.send(t1);Object.defineProperty(o0, \"v2\", { configurable: false, enumerable: false, get: function() { return Array.prototype.some.call(a1, new Function, o1.m0); } }); }"); +/*FRC*/Random.twister.import_mti(585); void (makeScript(14)); +/*FRC*/count=40; tryItOut("\"use strict\"; s2 = a1.join(o1.s0);"); +/*FRC*/Random.twister.import_mti(607); void (makeScript(14)); +/*FRC*/count=41; tryItOut("let ljoebw;this.t1 = new Int8Array(a1);"); +/*FRC*/Random.twister.import_mta(1561517550,-300329851,-862023081,-1383129704,-1134992727,1218734635,-1710235324,-524678832,477963327,1237183598,-66573628,615246452,-757264509,-151424651,-857704973,-956372666,-657014479,-457228834,641367135,-766578298,-764427592,-1623533413,422721362,-893799781,2040818089,141638080,1994664329,310050113,-857722080,1193719787,26028584,-1206553038,355229812,-1385211894,2144749714,-1786051682,-1561685895,81141710,1164610430,-1597820636,-278898845,-1217798108,-521779995,565760591,380377846,924812436,-1069510572,-1514769804,-497533085,644572007,-2087438059,954895376,-433930520,-129739995,-1262888836,276749465,216353189,1692451447,1984329608,1972886383,-621116874,1958361965,850010986,-148671503,-572993832,-1531221592,846745575,1625385489,1311346989,-1834453841,-246836544,-2083029456,361716312,-1347657485,1346394639,457593692,-1644321885,-727751422,-1605062985,715054005,-1055052873,1445088193,1853970876,-657233118,1123588969,1246455291,-1239845482,1335203572,1607852394,2040359592,1765753853,-1893722982,-1330192972,-1446047462,1983581590,2074099712,-1906358565,-2106305299,-743944028,-512135016,1107414293,-2053901369,291165953,-1406072990,990184803,-1461361029,-1202451943,24778740,2098350601,873305183,2051967384,-1029530862,1631185379,152903899,992606222,-1441002275,-1977673523,627192389,-1948292767,1815286567,-253718570,-2124211338,-481671020,-1513878649,857473609,-2037007669,263350132,1767859346,185236528,-898450095,-351846779,1873117276,-276237179,606726857,1312786238,280486402,-23152845,-246524093,-710005576,855473665,1269473682,467976134,489282769,-6202208,2072913580,-37952566,-1290752934,-1978133762,-971100476,645569367,-1100861944,-465155715,-1902537911,108558007,1393765221,600281764,-295086627,281513267,-849754327,1182069751,-126618071,541571187,497836835,-896152073,-157278361,970126527,-1363717786,1036029400,-429181351,-1006128608,698457042,-321330915,-926623286,-35984803,2145821407,951757995,-1702930162,863595538,1995596553,-1142589463,550945289,-1331058250,-1464529144,-513865834,961134556,-1220081724,-1428256063,142547645,981746359,-278417225,-918358269,1950191894,-1087719141,1163208029,1395633611,-1123970487,-823819269,1315787543,1959967742,1322228341,843326215,1324792504,-308357285,-447480859,1389443424,1068473715,1660886433,521267728,-2140800427,159905752,-605418880,-51399926,58267330,-125427061,-938144015,1611103438,289904131,2062738446,873742809,615133985,376558256,-1072312291,-1366896974,393517241,-221869423,1918831063,1675061731,-34480428,-1776491963,2117419396,951844548,216336932,-2093294536,87402083,235202849,-1579695945,-1166102505,1353142669,-440345474,631857043,616720968,-542800562,26077675,-886744140,-1996276540,1414737145,-1897697091,1117272262,-711199009,386769681,592652493,322443981,2047899995,765233857,281521587,622713795,-955049890,1929024261,518355695,-1635062681,-1670588293,2115263664,1123063490,228134856,-1099701466,-1196378590,-40970505,-617201468,-936425413,-295722203,803874852,-1688025330,241735686,1619946966,1215507659,-1239000094,1179838739,-1798258157,718256773,1924194384,-1624854353,1239720053,-1113955061,1624213682,-578864145,365101150,1256526288,849793909,-380792098,2099148448,-1409865319,2054237568,845156945,-1936773149,736555946,1644907119,1518810377,-1437412904,1630163893,1660572804,-1029836188,1621864404,1330999802,-1681123478,592647737,-883442109,458199347,-347691737,-1780888753,-1443085147,-2135699964,2132264155,519002526,-1347358430,715649218,-33240063,-112827880,-2029413342,-1415246225,-627061401,1326476526,94475180,1558395945,892975252,238872327,-1081078490,1749436982,-155257469,-1656035474,-2073387294,-941367323,2129046478,-495111964,-2098520945,1891858987,1222354203,-733258578,1161494718,-112525766,-1622808066,-280734655,931255790,37546272,1329028020,240310958,1050489620,1174639260,692697457,-1842099454,-485739278,1610494632,1192599073,-246094746,-1537425163,562519162,1884711680,1869042005,-2037398699,-899909802,-1162843096,144201021,1422836809,1806289795,1279130372,-333361182,685763979,-420747274,758779006,-1988534268,-1682805334,1823949950,522898542,814744445,-267585074,1364290620,-439803129,1308305142,-795418052,-224538524,-1886955286,-1163901291,1013297272,-466273349,-1935895487,-111494269,1632368714,2053916962,94743777,-1112387507,-1546787207,-1106349471,-696349650,990315098,1049793785,-744624534,991287258,-271515071,-12976831,-684063991,236372932,987824204,1182012431,-1617712923,112972641,-906757618,-339467152,1596093360,-1592736088,1101585522,-1969766940,-85501404,-1267538790,2026988219,-1155692093,-1299382177,1922628143,-171414553,2053799316,-490441927,-397377765,-252797185,1104564549,-162764424,-693406427,1434999701,-1539943190,426784278,644869459,503591776,2046863649,-1145419500,-1043870474,78368442,-333485515,-260231924,-1400051515,11710890,-1587233519,962892131,926610884,859194066,1472192706,72684147,-981564638,-92726488,-1057920327,1635246541,1965433318,-1467706571,1593976746,1510630390,695479831,-1464565684,1730495442,-455897752,1446987226,-968962670,87668862,184497633,1276139567,1243141432,-1894349950,931781817,232950966,1091544012,467171352,-863961425,873040039,-1416496045,2045713495,-1844124138,931813134,-601186540,323636950,-1866231907,-174874570,-1466022720,226489902,-1696405384,-987962837,255590325,-1811765821,-36084704,-1932310423,197737653,-1803803673,-1091332789,-1328200893,-1485760544,1025594955,388715219,1931401096,1671235887,-1221939213,-2103022392,1730953625,-1394223147,1098490045,-789320208,-1895731940,-1870620553,1633366660,-18013811,-52852726,-1867603835,-1318608289,1928553157,2047184310,-1467997436,1094317505,-1915857953,921940251,396188756,-2086513832,1696144675,1468618228,-48945637,266400044,1643340540,1333752056,1013247708,1640169293,-319423634,-300695849,100802067,-467323001,682742411,-921832985,-561065607,1195834542,1860149729,1743035814,2111453138,-1402605505,-1542639940,1218411288,833420672,2054276336,900639640,313938248,1094758249,660375487,1860106227,1832249794,-1224311063,126384941,1857225805,1219004216,-1238191320,2086534099,752963904,549585612,-2006010255,-857382077,-1557463195,1131397836,-819528944,-1636546187,-2008865121,-1138718787,562483451,-667451570,1876703517,-1653963287,115893965,-1590992909,-1973230415,472299173,-1274232339,-1364776875,998631134,-158459992,-1164553855,-1342351283,616064655,160279027,-452947659,1429906239,-240952732,-1382376768,1842199800,628598583,-1444610284,-1316910845,200759677,567322163,-1012969215,-1458547569,-259546175,1956706306,-1111497538,-1878998043,386059279,338540980,670434433,1492089214,1742029910,-611718492,-1450881483,-1328058102,1443767585,843619132,-576348846,688573214,1590265208,-509333363,1761870953,-363455812,138325953,-703624834,2045957756,-1825465250,-414134652,-655649367,1790352286,935018932,472661752,616127984,-1767480952,-1641950865,1993514535,-327009203,-1599634339,-1051169610); +/*FRC*/Random.twister.import_mti(26); void (makeScript(14)); +/*FRC*/count=42; tryItOut("mathy2 = (function(x, y) { return (Math.trunc(((Math.hypot((Math.sin(Math.log1p(x)) >= (Math.fround(Math.tanh(Math.fround(x))) | 0)), Math.fround((Math.fround(mathy1(Math.min((mathy1(x, (y >>> 0)) >>> 0), y), (( ~ (y >>> 0)) >>> 0))) ? Math.fround(( ! Math.fround(Math.log1p(y)))) : Math.fround((( + ( ! ( + x))) >> (mathy0((-0 >>> 0), (( + Math.ceil(0x080000001)) | 0)) >>> 0)))))) || y) | 0)) | 0); }); testMathyFunction(mathy2, [[0], '0', /0/, (new Boolean(false)), '/0/', (new Boolean(true)), NaN, -0, '', ({valueOf:function(){return '0';}}), ({valueOf:function(){return 0;}}), (new Number(0)), [], true, 0, null, '\\0', (new String('')), undefined, 1, ({toString:function(){return '0';}}), false, (new Number(-0)), objectEmulatingUndefined(), 0.1, (function(){return 0;})]); "); +/*FRC*/Random.twister.import_mti(308); void (makeScript(14)); +/*FRC*/count=43; tryItOut("mathy0 = (function(x, y) { return ( + (Math.asin((Math.expm1(((Math.log(Math.pow(Math.fround(x), 0x080000001)) >> (Math.log10((Math.sign((-1/0 >>> 0)) >>> 0)) % ((Math.fround(x) === Math.fround(-0x07fffffff)) , (y >>> 0)))) >>> 0)) >>> 0)) >>> 0)); }); testMathyFunction(mathy0, [-Number.MAX_VALUE, 0x080000000, 42, Number.MAX_VALUE, Number.MIN_VALUE, -1/0, -0x07fffffff, 0, 0/0, -Number.MIN_VALUE, 0x0ffffffff, 0x080000001, 1/0, -0x080000001, -0x0ffffffff, 0x100000000, 1, 0x100000001, -0x100000000, 0x07fffffff, -0x080000000, 0x100000001, -0, Math.PI]); "); +/*FRC*/Random.twister.import_mti(482); void (makeScript(14)); +/*FRC*/count=44; tryItOut("mathy4 = (function(stdlib, foreign, heap){ \"use asm\"; var NaN = stdlib.NaN;\n var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n d1 = (NaN);\n return +((((Float64ArrayView[4096])) - ((Infinity))));\n }\n return f; })(this, {ff: Math.log1p}, new ArrayBuffer(4096)); testMathyFunction(mathy4, [(new Boolean(false)), undefined, ({valueOf:function(){return 0;}}), ({valueOf:function(){return '0';}}), (new Number(0)), -0, [0], (new String('')), null, '/0/', 0.1, (function(){return 0;}), /0/, '', ({toString:function(){return '0';}}), '0', objectEmulatingUndefined(), 1, (new Number(-0)), [], 0, true, false, NaN, '\\0', (new Boolean(true))]); "); +/*FRC*/Random.twister.import_mti(573); void (makeScript(14)); +/*FRC*/count=45; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return Math.sin(Math.fround((/* no regression tests found */ >>> 0))); }); testMathyFunction(mathy0, [0x100000000, -Number.MAX_VALUE, Number.MAX_VALUE, 0x080000001, -Number.MIN_VALUE, 42, 1, 0x080000000, 1/0, 0x07fffffff, 0x100000001, -0x080000001, 0x100000001, Number.MIN_VALUE, -0x0ffffffff, -0x080000000, 0/0, 0x0ffffffff, -0, -0x07fffffff, Math.PI, -1/0, 0, -0x100000000]); "); +/*FRC*/Random.twister.import_mta(1363011548,679344893,1490111752,-37420601,-1154575931,-1835771833,1994840009,516282574,-820325817,1629906642,-213568622,-238097556,1759753601,94359554,-686976967,-1917668612,-918415572,2023263919,1539277548,-1660974405,-1392533242,-1369610096,1409554057,355736308,1173278117,1412877667,1184807770,1945649669,1588445120,431399682,979719754,1418855258,1823933732,-1001296547,-889041607,-858376615,-1368103470,-758617933,-1125289897,-301323580,-87012093,-803273778,-17945540,945835945,1278222984,611670617,-1750746600,308130886,181169109,-105558632,693331950,-1684681663,-1171734809,5672904,-129765244,936285249,-866282954,-537872724,-168027982,-347894647,-429124329,329917524,-292990712,620016212,-582273194,-138589291,-1533376159,-15475835,-1954221424,-1272694833,1977759679,-514436737,-147743503,1664908238,975797920,1272774170,2030435415,1507944473,970226995,286810564,-10067183,-1381874522,-378185798,-145816866,674211809,-422191381,-350649581,606325760,-1464691021,325354602,-1220196082,-13993670,1774640838,1815532568,1322186632,-38135139,1863857498,-344832870,395377109,1424851328,-625415807,22427311,-1726353747,1409985049,-333368986,1003459678,-1134263312,925840734,845797551,1339303433,1532280895,1091856170,-591407757,-1873104936,-1158346838,-879075091,1209793189,-100787892,-1197970248,-983211536,1330740375,274089654,-2070559260,-52273369,-75459849,-1423128364,-625210210,59187211,1477761520,-1002767082,-1092668983,1883380708,-1940211435,1237344894,1874816167,-610411372,1305111361,-824559392,-1997966137,343518537,2005113619,-1573718737,761724696,1015528511,428013146,928424414,674881725,-737580661,-843217319,1904350025,-1551690919,1752615507,-1503039401,-1671400403,824298398,642952256,495850757,479112238,-1185084440,1779937499,1465853331,530425809,6476185,-1008832617,500610510,2022150574,-1014316283,-1395307202,-1020754205,-558749352,-1287489804,-798053112,1229122980,-578943122,1943793954,-1213596410,-163451324,-2033588268,-1921539368,744702190,1299085284,-1510351392,-583722741,828990230,1054090453,1703086763,1823913090,-1883387655,-1888760137,1043765855,-754017276,1981435795,-1895638413,220234372,394836510,-377963219,-367812384,496982398,-427817829,-402660086,-51202056,105026887,1534475303,1063696785,-1265113766,1976738653,646069782,-940324723,-1519924383,1156645161,-1809726663,1233265824,1933846756,-2064588325,-483253703,1996207450,-443357266,-374076499,-1125717765,387241888,-1648687839,-1041955119,1284713964,-692491344,212142201,138707059,-6257700,-2093275615,1466391103,1150071402,-71858987,-1162608679,1225145257,-387181690,-1759082422,187513491,-1870823733,-1046127187,974320762,2055372965,709694117,247714835,-1474289882,-1916565170,-1950767092,-976844179,-38562088,523954870,2094205383,-593153488,-2053068979,-504479273,-605013796,-671752868,-125952197,2099524591,-104637857,-1407231006,-1025522250,-1148593722,-1151646971,-361101736,-904220227,-1320315839,-1903152222,1528998899,-2087646554,131029441,1043882627,-1457833938,902900782,184839819,338848946,714382498,156146103,-252858493,1792384078,-449049997,-1563575191,749950575,-39030995,2139517662,1202278424,2078981918,-1794034045,-795963302,1796756972,-758457224,1831149316,1652192539,1506550932,1567854241,1760718011,-244715340,1461636717,1070586059,-1592959197,-1669353798,-802456771,-696293949,325692452,495175261,1178269103,-1314601068,-448657433,-310704779,-1112308856,746731113,1616172587,-1456688968,298602604,660081454,-250763654,-1102414990,-2111235361,-737040449,1356876411,2074050278,191704918,240052401,1860574670,-105391805,-416889129,-250677754,-189119991,1672731854,-155563106,-1809999306,1130592734,1675669888,729415678,-585127660,-474830138,1561169466,-1974839540,407664376,759801430,1743896354,246846421,840257420,-879082193,-1142197446,-335426249,1328715762,-424640314,-1684429322,1221135767,1179162902,1641045199,-345318224,1180705000,-1020600124,1611274353,-1971346781,1001133451,-156253819,1584770147,-604960158,756690416,1360929620,-89149307,-1016907335,-41737962,2077936816,62750458,-1147369668,1122282358,1933519633,-269761542,1530748199,856873480,-1732098245,256957753,1083266723,2145732823,-1421863646,1506370135,-624034965,800417318,1647436738,-1034769391,-1707874660,-116107585,-131336165,1814777867,-2073350279,-238168460,-795951766,-680270798,-965912458,-1461638784,1079325923,-20550899,-364628944,-245389613,1841870620,942040871,1104660399,-1754936086,1412590978,1733082550,-451242609,1845273705,-759688381,-215222804,-488203520,1022043066,767171037,-1598946542,-1605979111,1800409435,-608950953,-519733611,-1392999310,1878590769,747064219,1124312213,2070156615,-1690648383,1853695443,-188540167,749637282,455456608,434060789,260338443,-1439162480,1841341308,-202330552,-1572179704,1185618093,1602576362,-155057657,-623532392,1589422224,146607152,-448883788,-850661506,1369127767,1377787458,1793001869,-1355869766,2014321631,1413805259,-1733400006,281284142,1431677122,763873107,284294244,-1369172732,1637227543,1527499876,419383391,2077630874,-842447512,-400259892,1954036982,101740117,1740680954,95642385,1812615477,-278441401,1441453769,232553672,-1325748435,-867606111,-2057683982,-1181813719,-1500685229,-348329241,-1591055315,-704208183,-1515395194,-1939624698,1826283977,1710439085,681323431,-1709520601,-1999514767,443056157,90535897,1157381986,-2037207765,-1572526332,623867098,1059715790,78561228,2062272696,-387725067,769793442,1485285387,-2000486523,643172330,-641774379,-1027457854,-313407022,-1321059914,1353668783,497605334,1283774469,-981823402,1513686496,-1355761234,-1904120954,-1148551981,612854659,1119665620,296849588,-370377041,-2045626143,-666449624,-1180969140,-1629513559,-782255626,-2137232478,-116492670,-895009578,629804429,1765119466,2060203741,1992301525,1484799949,1633956826,-774981761,2063917301,929400230,494609063,1810968047,-450464697,2116073482,-396520064,-2108257977,-609281010,1648446901,-273345322,1221430245,2021828843,-1810607424,186320288,771957642,1218789649,887916658,743363065,-494185634,-764688944,-1588333649,-1522786897,706390829,1979663450,512857205,-245993865,-512755872,1770367470,-1664492112,1042777331,-173376688,1693451350,-1244518939,-162472850,436689429,712602212,1897279901,1689058141,-1879997229,-147511825,-294871036,-762359470,-452025343,1217697030,1974491087,-1312604584,1953864742,586356953,1433385231,-2086826481,-611910352,-900160374,419380720,2125565402,-1779978844,384615949,30196199,794716673,929543643,-2105102334,1376905636,-1780664913,-1667319348,467980730,-1187822152,-480455863,-1429070435,-785078238,-1316332570,-938010135,1598592942,-603889199,1996073077,-19345971,-1062600770,-44073098,1505041213,1362593406,-3837779,1991090411,1930908658,-1036004147,1461382812,524634926,-1321983453,-2048049791,-239913420,528693065,1897289074,-2070504517,-883745360,-647627954,-734923122,-1548609212,-1773310837,480744641,1158519497,939840546,224690503,1354273993); +/*FRC*/Random.twister.import_mti(9); void (makeScript(14)); +/*FRC*/count=46; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return ( + ( ! (Math.max(((0x07fffffff || (( - ((Math.log((x >>> 0)) >>> 0) | 0)) | 0)) >>> 0), (Math.atan2((0x100000001 >>> 0), x) | 0)) ^ (( + Math.imul(( + Math.tanh(-0x080000001)), ( + Number.MAX_VALUE))) < (Math.pow(Math.fround(Math.atanh(Math.fround((( + y) ? ( + x) : (x | 0))))), (Math.ceil(y) >>> 0)) ? ( + ( + -1/0)) : Math.atan2(Math.fround(Math.max(Math.fround(x), Math.fround(y))), y)))))); }); testMathyFunction(mathy0, [-Number.MIN_VALUE, 1/0, 0x07fffffff, -0x07fffffff, Number.MIN_VALUE, -0x080000001, 0x0ffffffff, 42, 1, Math.PI, 0, 0x080000000, -Number.MAX_VALUE, 0x080000001, 0x100000001, 0/0, -0x100000000, Number.MAX_VALUE, -1/0, -0x0ffffffff, -0x080000000, 0x100000001, 0x100000000, -0]); "); +/*FRC*/Random.twister.import_mti(290); void (makeScript(14)); +/*FRC*/count=47; tryItOut("mathy0 = (function(x, y) { return (Math.log2(( ! (( + Math.log(( + Math.fround(( + (Math.atan2(x, (Math.pow(x, Math.fround(y)) >>> 0)) >>> 0)))))) >>> 0))) | 0); }); "); +/*FRC*/Random.twister.import_mti(375); void (makeScript(14)); +/*FRC*/count=48; tryItOut("\"use strict\"; b1 = new ArrayBuffer(28);let b = /*UUV1*/(x.setSeconds = -10);\nf2 = this.t1[11];\n"); +/*FRC*/Random.twister.import_mti(483); void (makeScript(14)); +/*FRC*/count=49; tryItOut("var jeepbl = new ArrayBuffer(6); var jeepbl_0 = new Int8Array(jeepbl); print(jeepbl_0[0]); jeepbl_0[0] = -29; print(jeepbl);"); +/*FRC*/Random.twister.import_mti(517); void (makeScript(14)); +/*FRC*/count=50; tryItOut("var b = \"\\uE67F\";s0 += 'x';function b(d, b) { \"use strict\"; return new XPCSafeJSObjectWrapper(x) } /*RXUB*/var r = o0.r1; var s = \"\"; print(r.exec(s)); "); +/*FRC*/Random.twister.import_mta(-857634290,-1156748690,-203924034,-1546435189,894962035,-1886945454,-572850396,1303260176,-1837782935,88717939,1432185963,1305176333,-1568056296,-639735400,-1653769175,-2052819709,1237087226,1109836871,-1141883367,360477718,743088399,1748007770,1692870825,1329384692,-1614980916,946531021,-1188320216,550677739,-1495052783,1894910041,-642142235,-1810762854,-41214244,-1559443031,161589748,-1913678735,-1362088938,-809302844,-1841592618,690714912,966048432,761808988,-1343775098,-1992883970,-215874004,1603676615,-780095463,-1934980325,1770982926,2033087652,-2076988773,1786313384,566057971,1730819110,-636439904,1576593537,-1573839298,-1831171947,-1731114387,-332475391,773176528,855100309,1047529503,-1044198932,-1220754468,-963016537,1450963504,-1987372823,1178636490,1517772585,254723123,162305088,-793488950,-888005223,-2143119221,703194098,-652024550,-535710485,537926469,1017202800,-570363614,1859267520,2126706358,-1981588403,753988225,1321293394,2000589530,-1300758200,1293745657,1632201791,-1753811864,1493267137,1855767047,-1348107199,-2122073477,-1372367240,-142926193,1066468839,-1691027082,-453272400,-1005883042,-654270580,913798533,1814666579,-220761215,-1867306370,-534911364,-1531234549,-60940785,-1525464972,-916042438,826630791,-1871995196,-454994791,1645877248,744158331,-1134336252,-1522384674,-1474982866,-618003687,1629402801,2022102063,-1850112871,-1136081303,888297392,-1131368144,-1546665937,460319070,1063672876,-1382677036,-1660454475,-519744417,-1933728577,746688459,-161353148,-1649620790,-925366106,-1783529127,-1414082928,920465302,-2096443416,2024823814,-806473775,942535519,937787670,1872696287,1634189770,1585807452,1156949204,-1563192738,-1731423828,-1800561535,644801726,-1174465873,2058158030,184969197,811651812,-385548636,-1997312796,125110259,1620492121,-2093055482,-1835076240,1073572730,1492071306,926700942,-1587575952,384848810,-1110030850,-1129341061,547603330,286335261,-1619247633,228091063,958916186,776949293,-1057391131,-1656935332,-1670839043,1044907522,1817010986,1651872254,1314420614,-2018614446,-2070454389,20770714,475063457,-1934836192,1406060639,-1256589362,-102676820,666540126,-1513319925,-1592377198,2088781419,-998012010,-2032618154,-184539844,-1342270636,142668681,619788209,1947881842,2078577505,1140779408,-1294571761,-326864986,-866323342,-1196685667,961537158,-1006452769,2072271230,-2003421615,513670579,421697527,1694428644,1138697893,1766076082,204003602,-1829793634,1139066049,1514679027,-268109187,939204889,-1705529814,-1523702588,850706601,-2010269946,1046124494,-1723124901,1460350731,1736575672,-925653896,-1141803375,-1773552895,-1859124858,54765523,-57432966,139728470,-377316992,782722453,1203188558,-1988267078,-1018842716,207661052,-1177734738,-987105931,1524695373,-1960078029,1180885570,-1086338096,-1497146176,-230341470,1401947235,1545343850,-951581245,51008481,654157224,-1193915074,-908779655,959319937,-701379963,-173784587,1279389326,-375900729,995811810,-1812790395,-205232865,-1082115282,971363403,-183564143,364742500,-113561483,1255958422,1278168093,768928773,484818985,-759643838,1281213552,-1523982016,-2040275782,417926473,-104588628,1611511566,833697184,-90324808,-312647525,-984892867,1485255506,-1698545209,311827029,1987296867,441271646,-30576387,-1526979111,258229331,-808546428,340297844,-30160526,-73689474,-1728018472,1557876328,978801283,825983032,847992374,262440590,2127157889,-202841189,1998727912,2051306396,908385920,-1706075686,343286204,300182507,-1356681366,1098408520,-1134270437,1552339788,-1832885309,-953239994,1508887776,175560767,1796762063,-692834949,338595668,1313401728,-1603674951,-1359654485,-1514484303,-386873524,600541818,1118194137,-2096224542,-30020253,-449262086,-392360841,-352662236,-1762943003,1463137295,676316481,749603980,-1189810940,-1928180156,1271119746,-1891948697,-393309659,1434040890,-133279854,-922867703,1295235703,-225864467,-1646414325,-570430633,547868862,1729198645,-1187989181,-917226814,-2140241691,-880119987,-913685003,685952034,-734485560,-2002754865,-532566382,-922306597,-2004892985,-893084885,-1773532479,-1258344939,-1943649718,-697875755,-1388027875,-381329579,-690026415,-945957506,1260751565,-1323719392,381542196,-820632897,-1514836640,-1638989207,-186195487,-1624349618,-300209345,-545404354,1916393927,-267024418,1865570630,187649344,-536334787,-957455952,-958447148,-24856877,1109282710,1090052294,1611925540,953009842,88919155,722544119,2064127964,-1394973900,-1508008273,-690944847,-1642334381,-1184069869,-330407460,-1038314208,-1315063245,2081710755,-1419871443,-1560752140,863813926,1830637598,1463856547,-224078106,65514290,-347624758,295914930,1836357139,-913524120,111521704,-146733117,1897045467,1365550515,403848204,-535024908,-652295446,829990061,1976831797,-1907921413,1411792020,-510175156,-541281213,-2082849810,-939363734,-1976348857,1609175865,902271659,1384904287,619774536,151680366,-64869689,-673962146,1334318008,556149157,646057331,488948712,1268529907,1299849329,432489641,444516139,253803226,-1731906551,340812317,-62917280,1147570613,55293102,1693153398,-61666321,1742617661,357199725,1706320058,-1747042334,-2110373734,62891125,1257835439,743265099,-454460573,-1423837470,1088484723,827215903,1589040191,-202963,709637454,-250598204,107819071,-764987890,1650430647,1929358353,1778339729,1911430098,-966920928,-1771399615,1369303436,963205327,-1165946152,-190776539,-1806214364,-2134850476,1089414447,-785899117,-1162660302,-1903298729,-225305116,-2056486410,-417257483,-927283005,-69507590,-1426629703,-611944354,666953062,1538724042,1788107206,-668447073,435405916,1828952730,-1376704230,731730738,-1024941594,-1779990984,1019239592,-405386965,-1842209725,-1391241910,-1177779844,1037348153,1360000990,638374048,-769845806,-1205471125,1264967620,-1806812108,-1098141901,725896993,268061351,1770449150,1466675286,849022244,600511085,242849859,-384273340,1599920177,-410218357,1226002666,243701430,-764686782,1884183292,1940479056,-1924216801,-1456721429,194129874,537753417,1883098087,-716076301,-1792566716,1498865099,187388687,1662021325,-1674140966,-893653461,-1509697845,1626102691,1076626776,1718791711,-1809814525,-675098726,1796302177,1491330125,-1767025652,-1775067184,1605780850,1315307659,1986887361,141094668,-505557017,1047665830,-1010817122,1222919695,449082940,-1779183256,838431121,122297300,1530003069,-843067934,-1781714678,-1378715060,21767311,-841920000,-1758568231,260126862,-1186398062,-373882902,999019377,-937991485,-379161545,1483490629,-2017126125,1695589631,-928972524,1611054004,740298883,-1583553590,-793055436,935831296,-101826282,66530850,1850877615,1879282924,-854548542,-1746214674,588068112,-284813759,-305167804,1397212554,792098509,1996584966,-835184082,-1846695938,1970552879,1154501201,-1765625819,162849093,1253241726,1800829660,177985438,1738387687,-1978608262,-1757975278,351356750,702532716,-107990483,1559923415,-5310376,-1986446327,591137140); +/*FRC*/Random.twister.import_mti(104); void (makeScript(14)); +/*FRC*/count=51; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return Math.imul(Math.tan((Math.fround(Math.fround((( ~ Math.fround(( + (y * Number.MIN_VALUE)))) - x))) >>> 0)), (((((Math.fround(mathy0(Math.fround(((Math.fround(Math.sqrt(x)) && (0x0ffffffff | 0)) | 0)), Math.fround(Math.expm1(0)))) >> Math.hypot((x ? Math.fround(( - Math.fround(Math.atan2(Math.fround(y), y)))) : (x >>> 0)), (x ? (y >>> 0) : ( + y)))) >>> 0) > ((Math.log((( ~ y) | 0)) | 0) >>> 0)) >>> 0) >>> 0)); }); testMathyFunction(mathy1, [Math.PI, 42, -0x0ffffffff, Number.MIN_VALUE, -0x080000000, -0x07fffffff, 0x100000001, -1/0, 1, 0x080000000, -0x100000000, -Number.MIN_VALUE, -0x080000001, Number.MAX_VALUE, 0x100000000, -0, 0, 0x0ffffffff, 0/0, 0x080000001, 0x100000001, 0x07fffffff, 1/0, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(414); void (makeScript(14)); +/*FRC*/count=52; tryItOut("{o0.v1 = (p0 instanceof p1); }"); +/*FRC*/Random.twister.import_mti(447); void (makeScript(14)); +/*FRC*/count=53; tryItOut("var b = ((uneval(new Int16Array(undefined, 9))));yield '' ;"); +/*FRC*/Random.twister.import_mti(536); void (makeScript(14)); +/*FRC*/count=54; tryItOut("v0 = Object.prototype.isPrototypeOf.call(h1, o1);"); +/*FRC*/Random.twister.import_mti(551); void (makeScript(14)); +/*FRC*/count=55; tryItOut("mathy3 = (function(x, y) { return (Math.min((Math.fround((Math.fround((( ! (Math.max(1/0, x) | 0)) | 0)) , ( - (x | 0)))) | 0), (( ~ ( + mathy0(( ~ Math.hypot(( + y), 0x100000000)), ((Math.hypot((x >>> 0), (Math.sqrt(y) | 0)) >>> 0) - (y >>> 0))))) | 0)) | 0); }); testMathyFunction(mathy3, /*MARR*/[(1/0), (1/0), (1/0), new Boolean(false), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), new Boolean(false), (1/0), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), new Boolean(true), new Boolean(true), new Boolean(true), (1/0), new Boolean(true), new Boolean(false), (1/0), new Boolean(false), new Boolean(true), (1/0), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), new Boolean(false), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), new Boolean(false), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), (1/0), (/*RXUE*//(?!(?!(?:[\\D\\D]^?)\\b|.s{3,}*))/gi.exec(\"\")), new Boolean(true), new Boolean(false), (1/0), (1/0)]); "); +/*FRC*/Random.twister.import_mta(784003549,657847885,-1880119002,-1053784078,-496478595,1201686731,1245848974,389578270,129705211,1024053606,-289997024,517642539,139036289,1595450847,-1871574883,1127893298,876661777,1423195247,-1696656680,-622548576,399077281,-1205374637,2068080377,-45997533,-1129201163,1343950590,1599760572,-1112011474,1895329021,125793234,-931172148,-1906326693,1620716453,-107833163,1764822605,110722690,1475253302,32265229,2069158834,-411723434,2059844774,701723831,1066650250,11158953,867767365,811243308,-270219189,1889658241,2137175308,1501951518,-1324317636,736678377,-499136112,-1398846939,-294068349,1018539295,-1884686152,230548482,-1679003283,-825528793,46703261,1167196916,253089129,-1442731106,-783574387,-1340668815,-1366744289,1948849472,990789207,-1347991665,1834603165,1882025284,423246317,-1523886866,-204781795,1627493869,-6604339,1970636931,-203360356,1240395074,117769350,-753150673,-1655722494,-1587049005,909095013,663725215,1040986833,-1763128581,1891690640,-1921775358,297694333,-133779389,361902376,-1715317401,1652892413,-1997196049,-1459069722,-1191481433,948409620,823071040,-1741212443,334991250,-2006525462,-1933746070,-46619872,759499958,-986684747,1133936024,2020709443,-599594099,1523583341,-1283221881,1696002514,377881816,834159887,-1482611880,-324015005,1259316912,-597266428,-985691887,-487708051,823827173,1329696349,1340876388,709471340,763970226,1253497367,-648022392,-1762154329,-681098176,1813446779,-734925483,1107333193,-1583249468,-1036033493,-601105470,1545817334,-1945404667,1297016944,1175719448,-983478491,1115659514,-1453185074,1468724695,57415812,619639892,515492123,-2023505280,-1536346392,1936064572,1064162840,1765631693,-1114379526,-205146287,798962036,1861493048,1882706027,-1621725622,-2047217640,-381673603,-554387464,1915248790,1435084641,-1423475618,-150035700,-1850650056,734084823,-1379775052,2057697059,1526370382,-1693895395,387205154,-84505363,-1740807195,-959446534,-19256749,-2140522893,2120029089,195434564,-633687211,-1285619802,1752381439,1686805921,1050335567,-2147022319,-608932455,564816928,-473802860,-1155084935,-1129692078,-1128014778,674693980,-481233282,-934681277,-1016804918,-1001557561,-1700480860,11080555,962077237,-987184400,1562404063,2086829124,-2044903163,-1529445147,-910208782,-356803411,1722732133,3579245,-1471542497,1462127176,957231456,2020499107,1220778251,-976392588,1760035188,1547238527,1770322278,-1689556146,-434337949,-1431665142,2083082766,-748607336,300996582,596523706,-402915298,699374390,-1629286061,-813248978,1288227956,906978691,1388932970,-217766734,1278312487,-2128599471,-573809732,615776002,110478459,-1802103622,-1321985861,2021113241,883565718,-358257843,-249677941,168127315,2115300403,-1680410354,1589834800,-1334451461,-2130034038,2073747971,-1623861403,-1924236036,1710537394,1177434810,1899523991,-443339091,-9918528,-1829643767,-1727816230,-623110861,1940632731,-863830658,-1497985503,-1492518287,-1389465042,3289728,2124410316,847265896,-209952967,796969488,-1147261662,320266904,144054841,1416861131,-1377920557,-46408833,-1780215805,-1736384555,-861170537,-1386561794,973893490,-525278102,-1388876524,-1325812001,104949210,758505065,-84965052,1511929873,-682131439,-811912117,382417574,427665290,-1871511195,-1449778917,1560547677,1505335513,531811502,1061461408,1643923928,-1041460817,-1126056054,-1140379279,-135780442,1377001852,1125130513,-393770955,-860086910,566438211,-477920820,1707870445,-1323314702,149310415,-1628200729,-2045104614,1447538693,1996667015,-2045001114,-1986408989,-1712949355,1919770332,1965660348,1335693334,-1162782750,29585119,464080944,293736637,-1325393293,-65048742,-1833125668,-1253090120,2010781182,-1872376178,1924489287,-90389667,-1944308159,-5821657,41722448,521327331,1326595588,-1808306167,1794965608,660842461,-1531965641,1947600805,1204098578,-2062008326,-1050912658,1060659866,-976905792,1403102993,2007247262,1323050362,241691529,-1695447284,1276700511,-635868277,-861861604,1857572370,-1843936232,-946704189,1410606792,860720433,85176481,1640916694,-1332885695,-1930701161,-2069996197,782089294,-1679532260,457196362,29628103,-1720522737,-560344222,-1235151012,-1343358883,899630586,-1531476583,-2118864888,1232793979,1301139732,1939625494,660676685,-676874671,-51921481,-62172360,-1956137,-1235270118,-1057891040,-1699514277,1470373405,1951528295,1918614712,-1662606552,1975439447,-1571124551,817837526,-1735258544,-778235280,-1677640013,-836083246,-642731388,1197615465,-1470078538,1418889106,1904883333,-590079594,1449890109,381615394,1508056875,-1077966591,440694806,1782406993,-858418490,1866092104,268879197,2030502809,2055208074,-392259941,1194754726,-1325780617,820097504,1715275971,-570600770,1609534213,-1594448598,353412706,1757096579,-391555099,1702791867,332156457,-907620139,-1593109583,-242780739,1208178662,2069617447,1601428376,1778515766,1913105936,-1287153374,550722311,1443705404,65004976,-2041361896,431551944,626364064,826475413,-89994728,-626033301,1945912429,1551044305,1440771643,-1103884669,1782235261,1990463614,-1366778081,883256537,1670696601,300872857,571342476,-614500372,-205060745,-1571061837,1501642367,2057231835,-1157039721,-317041588,888529842,533686711,-883169795,-1991665591,-941919843,1217410910,-1212152136,393598204,601543523,1897165543,-1263051347,942740488,-1389970243,-536001570,725422815,-1083833486,1045964875,-1344559701,-1385519611,-1368395186,1545976449,-1587754818,-1634372834,700341048,726274895,-1178614609,-686785793,-1713409271,-1657219833,-1763554583,-797252542,-1336751057,-1134796632,-1275645566,-177568893,383587478,-47520907,-873395065,50290735,-1571141297,-951708130,-2085659377,-83290714,1421701728,2112199989,600753245,555070099,58729231,189503157,-937560225,764998428,-656876433,-732424832,-1825458222,1372903527,995352454,-127454025,594877253,1644106196,-313310865,1444939666,-9614849,1368431009,879159712,349658408,-270754319,2121446611,1979546621,468669330,-590594233,-75433449,1519105784,-1415576313,1996787209,1742473218,-207541142,1242630029,-1019574866,-587823234,637773866,733516493,-54069062,372927610,-654428743,-1139757298,-243847992,-729835987,-1639472984,1535321414,1448925841,-1377141218,576209385,-500860051,-447562826,-2027267722,1466258958,-1897552971,1438274229,1684881537,-181236984,1617560968,-1351307252,1886045178,618771575,650686404,-143369683,-149754217,-370616227,-1315275027,-2124551581,-1247186783,-659106145,-1993563319,-1763221794,339172040,-1350421526,1969246534,-1710073237,433549611,-2045137648,2046901924,-1506944117,324069894,-402300913,1909630262,192437151,-189033689,1359273948,-1721652706,-936178731,361770794,2135537811,-1927187036,1604129989,-1285519194,421705603,1621481526,-102713752,-2111959240,1491349161,2032865502,603583464,-662773355,-1521472200,1793216220,83372914,-1868905394,852269820,1647434851,-836992614,1610503290,550475877,-1934337578,-832902098,-1674864283,-988983319,1728058131,1455933025); +/*FRC*/Random.twister.import_mti(462); void (makeScript(14)); +/*FRC*/count=56; tryItOut("for (var v of b0) { try { h1.keys = f0; } catch(e0) { } try { g2.a0.pop(x); } catch(e1) { } try { v1 = g0.t0.length; } catch(e2) { } h1 = {}; }\nf2 = m1.get(f1);\n"); +/*FRC*/Random.twister.import_mti(557); void (makeScript(14)); +/*FRC*/count=57; tryItOut("mathy4 = (function(x, y) { return ((Math.fround(Math.log2(-1/0)) || Math.fround(Math.log(-0x080000001))) >= (( + ( + x)) ? Math.fround(( + Math.min(( ! ((Math.pow(( + x), ( + y)) >>> 0) >>> 0)), ( + (0/0 <= (Math.sqrt(-1/0) >>> 0)))))) : (Math.fround(y) > ( + (( + ( + (y ? ( + Math.fround(Math.fround(Math.fround(0x080000000)))) : Math.fround(y)))) < ( + (Math.fround(y) !== y))))))); }); testMathyFunction(mathy4, [Number.MIN_VALUE, 42, 0x080000001, Number.MAX_VALUE, -0x100000000, -0x080000001, -0x07fffffff, -Number.MIN_VALUE, 0/0, 0x080000000, 1, 0x100000000, Math.PI, -0x0ffffffff, -Number.MAX_VALUE, 0x07fffffff, 0, 1/0, -0, 0x100000001, -1/0, 0x100000001, -0x080000000, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mta(1527732617,-1678317024,-1364057557,831269221,-1111835181,-1925090447,1594800285,-346090457,-1034882779,1630596781,-1059389080,-993039180,154889009,-1955214201,195066824,1341998097,-598155104,493440049,343234377,-1466696827,1837473517,-1550057211,391352505,-139337275,238063548,-229611808,1093897618,1099047819,380575627,1283756773,915277463,-1942278218,-1240616276,611772204,-1572360976,-630177882,-771896001,1190246142,1825118003,392339813,-1661804,-1399948185,-1181824756,-690419519,468889126,682204898,-119490601,451204134,495057050,-500529146,374580544,1122214053,-1825301732,-1143688923,2036754643,1844329505,813359743,980817782,-892835051,-1141362936,858256867,-1131436825,-832593373,40532206,1666731348,-1748164817,9066363,1065834083,1673611092,-615400925,668589845,1590577620,-1680068034,657875660,-1592242825,285551233,-188243870,439003309,367199302,-1221206034,-2001449408,-478057540,699807208,-383616462,900293090,-1202290180,1034383369,-720711091,-1462372657,-1913507744,72818752,-732140662,-1135099564,-1023397138,617475591,-2087431028,1554674693,-1048895603,-1905933751,1164562159,-106361882,-1200681891,-173440585,-1946758637,1082102477,1186620144,-1439026613,-1479599407,359894102,858169975,57026195,-1987941041,1610510348,-63893651,807294449,-833948547,1711796311,628666039,864715528,-974694667,425533890,1794138737,-1261984544,1156582993,764903135,1144318307,266002433,-1282640552,-2032082097,-1188874384,1283264394,-1449631398,615918146,-322937630,-2117505008,274928296,-353339744,2101880746,-3786677,1077472602,1001683077,-1089399072,-2050407363,1718223936,-506046912,-599436321,-1064606482,-1900012534,1605412916,873363905,1364261635,150182151,940859086,-337692748,-972211116,1970065095,-1846765683,427810122,-1141611024,-1030740510,1531736482,1374230530,-255785575,-55768848,532545298,1108184065,1130067055,-2143876145,-665861329,-186241063,-453077987,-736545453,-235424422,1168158521,286392283,774849905,265216338,-1270254897,893911830,-335147150,898104767,576806214,279085734,-1925419233,1532016121,632645462,-1410109023,-582179000,-666071239,610324615,-231319003,586715449,355017329,274776531,-262777949,-1175859339,-2007439690,482675675,-358126931,-502747750,1098417841,388457977,-1795234200,-675340065,-176699126,-1963323429,1626556417,255048296,863439757,1705773166,-2033816474,1696046543,-2018076158,513166950,-1276320366,-1537689347,1063858011,-2009649395,-1689664865,569048445,159321129,-1001639387,-543297165,-1344956054,-1847950734,-243717275,822387062,1030438835,435808318,-2015980130,135183164,1118489887,349819014,837326147,-1190728794,1477616583,1803281648,21609962,570163879,326007162,657443326,-366489390,-1812512409,2052728422,276967606,2064919889,698464807,755023784,1197064411,-2118005804,-1323900997,2093667045,-783844419,-525923706,-364706814,1763396715,-1661677762,2047854714,2019399152,1456527422,37198227,1746164543,284979777,-2023033816,115912638,1401348565,237142353,1599093719,-78767761,-1539186787,-1621984883,-2035215387,-1684478760,1996966881,-42890938,-830783420,929191731,-384901164,340721626,-835572571,-1953709296,805166681,-1399171183,1935298706,-1243330403,-138432585,1342145503,-2122021580,1112182301,-2059780240,248818475,-227967687,1510915965,-150933750,-1974261040,1813520643,-990645005,388496377,-416239140,-978522629,-532854101,-622043484,2014091839,1279721525,-1218323352,1941768839,2128411536,-1183478106,141549333,825875729,878309130,-1546124978,-77883663,-812902188,2005090001,-1411901444,1345742414,-777213099,-1385511708,-2034037494,-456213787,966084086,1518162748,1367268381,1353885452,267222959,996571458,-1325967480,-490167807,-1908110520,-2084293292,-1607626191,-486755455,1966905780,1091846045,1414389118,-1515750439,619657617,445736340,713093176,1988652124,-1152458059,759777136,1172667230,670347594,1394913087,-1703188552,1002433826,-1708654298,-1894404049,1671306476,-1280558140,1229728485,-253877391,126382146,-525310015,-830533511,1165421958,1398401508,1320958246,1819159205,440932511,545530307,1807623647,-1573553090,612476473,393622397,910579467,-223267003,472121217,-203702120,-1902460943,-2022320015,242559007,-737165577,-723264985,1960059333,-1394265247,775254413,31094213,1634146125,1960204195,-1843945277,-272024047,-7962882,-522467587,-1561801870,-1893892784,-1556895789,1407274997,-981412180,298757766,-1579526923,-880901652,-664235740,-737754105,-1675057439,871807899,-1291057734,-1657803752,-1088877742,86101760,1147537080,-1375515953,-1708950012,-948602025,-413568541,-2139176203,-1531565799,1568718509,556429416,2100984986,1378369650,989373392,2026346075,-445419140,-1993921771,-1850926218,-1551025827,1297742465,-1166609043,-559351044,1326889512,-1742490589,1447909610,1207062323,1330951863,-1429245133,-2016808398,688209629,506599896,347915019,-285498328,-1000991411,545937316,108524566,1555029862,-1620729609,-1401519981,-1397751012,528071870,-1329250146,-393952743,767813643,161357336,-1508333677,-709496041,-376856896,1937573266,1818588849,700919540,2110739091,-903142566,-1085776346,-30328576,-1321517139,371810061,419972218,1862629097,-197991710,-103966139,1288619078,-61506059,-269014812,2009372620,2072441726,-2055111298,-1685419041,931900457,1762806134,504511945,190985194,816760623,-1589353655,-1937623548,-1005920558,-572964400,1049440570,214725386,500253197,-15463617,744988920,-402772383,1397304547,758657373,-1891108753,1182710881,1300045852,1019967139,-1672361159,45983392,-194502114,-2040403826,-642360563,-1926648196,-1821152434,1700792661,-1048819239,-548762844,2015696326,1013563818,1525434403,848000728,-283813893,1630227372,2012083413,384643837,-167228989,1168336745,190851540,-71990685,1013326091,1870073583,-749537190,1015205444,344389523,811524504,1694015979,-1141791024,-1410571375,-358022967,795344980,-1532355458,-200508391,-1199117423,-1944014315,1662187995,301840036,-1059116428,1919366315,-492700142,1364211422,-800389210,1932218969,236659162,-324595007,1551631981,-1199481514,1095956117,-927624464,-161706271,-1954345528,-1975167701,1045243377,-2102558912,566115677,-1197444777,-1345090344,-1931284491,74777787,700795513,-1551508283,1087287291,1453845473,47286815,-197288690,1180703587,735983677,-763047958,-1586913478,512635571,-546414952,-1483193093,244935494,511081493,1789159248,1027254334,247270817,808880209,1043140754,-413669737,-982157602,-1093110834,1539237905,-501634868,1509165481,2051435455,-1107231337,-119565141,56067969,-417383804,2100844769,1957820971,463214643,1182415630,777615030,-995990468,633757606,-1220405177,1483567960,-150292273,23070066,1275316695,466019954,-883465666,-1200021296,-1164995817,-179602870,2019329356,-1631216606,-605240575,-463645972,-401374957,903554649,1503630570,312539618,270961713,-732899496,645808447,-412710995,-306893912,-137683751,-1178760317,184063388,-1475134051,-859009554,-628215016,-1009059257,1994643601,1992763544,821073607,853551218,1718458344,682081018); +/*FRC*/Random.twister.import_mti(213); void (makeScript(14)); +/*FRC*/count=58; tryItOut("\"use asm\"; h1 + b0;"); +/*FRC*/Random.twister.import_mti(225); void (makeScript(14)); +/*FRC*/count=59; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return (Math.tan(Math.asin(Math.fround(( + (Math.atanh((x | 0)) | 0))))) > Math.pow(mathy1(0x100000000, Math.fround(y)), Math.max(x, (y == y)))); }); testMathyFunction(mathy3, [-Number.MIN_VALUE, 0x07fffffff, 0/0, Math.PI, 0x080000001, -0, -0x100000000, 0x080000000, -0x07fffffff, 0x100000001, Number.MIN_VALUE, 0, 1/0, 0x100000001, 42, -Number.MAX_VALUE, 1, 0x100000000, -1/0, Number.MAX_VALUE, -0x080000001, -0x080000000, -0x0ffffffff, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(398); void (makeScript(14)); +/*FRC*/count=60; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return Math.fround(Math.abs(Math.fround(mathy0((x / ( + Math.max(y, (( + x) << y)))), (((Math.hypot(( + ( ~ x)), y) === 0x100000000) | 0) <= Math.log(( - ( + x)))))))); }); "); +/*FRC*/Random.twister.import_mti(581); void (makeScript(14)); +/*FRC*/count=61; tryItOut("\"use strict\"; \"use asm\"; mathy5 = (function(x, y) { \"use strict\"; return ((( + ( ! (( ! (Math.fround(x) >> Math.fround(y))) === (((y | 0) | x) | 0)))) + ((( ~ Math.fround(Math.max(Math.fround(Math.cos((( + (( + Math.sin(( + mathy4(y, x)))) >>> 0)) >>> 0))), Math.fround(((y >= Math.log10(-1/0)) | 0))))) >>> 0) | 0)) | 0); }); testMathyFunction(mathy5, [(new Boolean(true)), '', true, (new String('')), false, NaN, 0, (new Boolean(false)), [0], (function(){return 0;}), '\\0', /0/, '/0/', undefined, (new Number(-0)), -0, 1, ({valueOf:function(){return 0;}}), (new Number(0)), null, ({valueOf:function(){return '0';}}), 0.1, objectEmulatingUndefined(), ({toString:function(){return '0';}}), '0', []]); "); +/*FRC*/Random.twister.import_mta(1041092235,2103288944,1558268021,952952164,-628504985,-1293293015,44331011,1644410441,786808030,-952831657,-501648209,2032348254,-1053628367,1694125452,-1010012595,2080649250,-314264297,-336229088,1748122721,1726829756,426486571,1898725854,-276186436,-43076941,-410990196,797932769,568988985,-1005426704,-122112354,-853867229,-1395464984,-590402716,2067680587,252825504,2038750424,521007720,-1490104782,-1880724254,-1798433669,1667009836,1344941595,-256777195,1590966179,1384180653,-1533964305,1308371245,1622245912,123658837,-1760697456,-1633934921,1374748237,2061961244,-1467506948,-864245182,-768541604,1260315322,-1569499747,1113439317,-322492375,-692972253,-1639504170,-1860036825,-1257775467,-933118737,-568263922,622388887,1765552906,1176777830,-819552592,1332027947,-1259491531,979744054,982087696,-1751733331,-622324107,181212958,1968801728,-2039237593,-544198363,-1719441680,1330480356,1477929470,692092692,-1514095666,810344454,539305658,-523963110,-530941211,-910237601,72690753,1733498329,1658885641,-36580786,-908861060,-173930408,1899782739,1610834964,1393819527,1758412006,1505004710,71532328,1016527648,-1529426928,-983648237,2041674075,-1096884446,637168204,731024775,-143256271,-1906929301,1807863739,710696815,-1401938243,984750148,-2108953622,-2055453157,1491476446,625446848,-1350702026,2096132473,-930602996,-1584237408,1352455270,1701449593,-1803893702,978312353,-305510731,1660824297,-793695827,86801950,87131657,-1836826795,1141316314,-1572518374,425836426,-449626890,227492236,-1460630240,-1933876116,-659649808,-1492527578,-1698765740,-1149202224,-961043007,2091455736,-369039524,2033003508,-311088294,-1565413022,151043081,849539204,-1863794542,832216929,1254347859,1077611385,-785361694,437781828,522959079,-1787457537,734405554,53130300,1944911353,-549512382,1364249914,1734355015,524111379,-1752539522,-346477219,-1981824925,-699575569,-38197289,1221415676,-973735983,1993845157,1265263801,-1187052697,-661462615,-1195529913,1878461968,-1181932097,-1355787468,-259074568,-1665072943,331337895,1877142346,-129961436,1966754711,-1286288307,-446583254,1689385457,-307058715,618543520,-917134482,1445536193,-996388329,137345676,-861088960,1728866231,-914524643,1127964816,1741715561,1914959480,1813167250,-1588123772,942204382,23238092,843250541,-651386381,544669141,323336706,1070836064,631573566,-1473404770,-196912799,1022357624,2130816241,-1746160955,2092919821,87114639,1194919379,2029278090,-2145021705,556655661,2015221758,-749466337,1055901523,-1357212164,854669972,2125917887,417732075,-2137967820,-790286812,857018455,505873872,-1761454219,458772134,-946851934,1810875683,1888751843,-760935218,1374266853,322928161,19473169,-452612788,1333209943,-437628499,1886194536,-1546650727,1909236788,772433342,436431646,1445708941,1608317346,1422628664,697790746,-155004671,-1340284642,-1862521328,-140032133,-483577507,-1575791904,-386771673,481855612,-463824403,1059957975,181920780,-704897000,-192572813,999930628,-2005550150,-1999580544,-379716221,-1351140350,1577666235,1617117815,1437890774,-1441051043,467108256,-990466415,-314441868,42661297,1567975243,850643699,562675980,-1601512623,305158425,-697280583,1718276359,-1816196961,1801796575,1750971052,707728495,513315090,739616354,-1457482696,1951912982,-1644269816,-2022311973,-1044679916,-744526438,-85949185,1072098229,-1243207717,1860790772,1722122683,-520205075,-2059820637,-1837966415,-645711959,862750865,-1272136855,-722887775,1206069968,34462381,-172592869,-1582967944,-1249130188,837187499,562106508,381566947,-1793506425,-660823610,-1064584062,1213872018,-840044401,1971060807,1104095074,-332423433,2075442820,-449521990,205570516,-1849192380,-1006595080,-1669806755,28599096,2091718658,1160363388,1720286577,1058809715,-1758189421,-1105339967,-722515886,-1483801676,1260144507,-1780651904,-1572839446,556763112,-979623777,2131762280,559143440,2092700315,1775526295,-1691845178,-1374781804,-877745706,780538190,1737951453,748516091,-1243995194,-348602537,912915082,-1876222028,1239719622,479592339,1673064163,503893261,1518670250,123338075,1302833995,-2106756964,418532070,-1508161505,875742092,-903723952,504133270,1104351583,-2038786714,-55510883,151866031,-1742625768,-375369891,-801608761,1071414069,1708866107,-162600122,-1006507450,1816698138,-876882166,-2095781156,-33591276,431463033,-293227806,2055343845,-71428372,408092545,1589846988,381599741,-465623798,106603760,-1703316872,877088293,1767466981,926291679,-1786552661,1108321331,-2058156482,1622864922,1684272999,122042993,-1940637467,757264106,1190579059,-449010740,-799985563,-2115144461,955943807,744977482,628919188,-612731841,1298557191,964517055,-1558769917,-1657352126,-1484095691,-570560271,2011143577,-816551466,607420784,-1079387703,1661710462,838989534,257243082,-96391243,1644679359,-636003336,237048422,-2046829914,-253732362,1945963952,-409895231,-333317842,-777707093,-1326913493,-1826308663,-155480293,-152892709,872270515,21680451,790600560,902722391,-537735576,-163472206,1632364608,-805172868,-211544675,-1398083098,341981142,773535903,-352559275,-688165462,2017486835,807426384,1822677716,-1133353916,1445772444,1918152284,107543038,-1826307282,666262170,-1758950102,-525028167,-836175841,1816187094,908857450,-1043688208,522192092,1900870947,476402331,-1043606188,-111260446,49825604,-2090805515,107935663,1065896303,240607992,227584404,-980180653,629037422,2144469092,1575377708,-563181342,2082298000,-16484011,-1821837530,-1120131116,-803139727,834875273,-411724014,-1789954208,-1320952617,-361246091,2032597275,-80321548,-628167797,-1188443371,1451788080,1330473802,-111937830,1489335201,-1771980003,-424517290,238677241,999892276,-2010042213,-182380015,-1953466285,-1072571403,1973772740,-422472328,-221994583,2074191432,-1149920761,-1755751739,1488300575,1483546126,691715878,-614353208,-628158011,-539115201,-2068391726,104952475,1317012072,6509854,-2110508722,1026155022,783647808,791422522,1301115132,-256683303,-1513759361,1204575305,698116945,1737224543,-1260554604,-130950694,-1529243400,1096284559,1247839394,61772612,1298245985,-1064277713,880940973,-953727640,-642821454,-701411216,-2121530390,1775467131,620930593,-1049403431,307182206,-1278219759,-881790566,1004645793,-753257559,1406881497,562131820,157425308,1057893686,-872824805,221100064,698809364,-894348953,1452776253,270750606,812553364,-616851096,-1487203324,-1713674223,-1317596536,-1465393020,1234887227,1761535004,-1170166392,1151997274,1001507232,-1752493608,-1176792956,-1262467466,-65165800,-345410946,1545993514,-592332073,334216756,2133762229,1533373747,-1981230561,-121057863,1692141632,-1451653618,-1060367661,-1207112410,-217250112,-2110377300,-1430954221,-169835412,-1743340440,-1307979852,597155613,2055444686,1225191137,-2026503032,865640024,-2122473336,-515263733,-1377988099,-296488112,85638632,-70334738,-706337106,-67963559,-489815339,727987317,1251016369,-1867454361); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=62; tryItOut("mathy5 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n i1 = (i1);\n return (((i0)-(i0)))|0;\n i0 = (i0);\n return ((((((!(i0))+(i0)) & ((i1)+((((0xffe6e0ca)) & ((-0xad98fe))) > (((0xd1487576) % (0xffffffff))|0))+(i1))) < (/*RXUE*/new RegExp(\"(?!(\\\\r|(?:[^]))(?:(?=[^\\\\S]){1,1})|\\\\B{3})\", \"yim\").exec(\"\\uffedKK\")))))|0;\n }\n return f; })(this, {ff: XPCSafeJSObjectWrapper}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mta(-627968206,-1323126763,-2044788534,-2146755127,-1457184210,-278094335,1032467792,1434286684,1069665866,-2000748910,418537800,-1093140810,-30859741,-1781765869,955568994,1251363224,-1515456779,1828510236,193732897,-1176891136,501918587,-323049119,-1428586367,1253914745,1842872748,348875265,-2054992691,-1583240258,-2007322665,-1724048478,1246958786,1530810291,1686329262,247699634,13881086,-371832660,636806862,158916890,2140099824,887258484,1370495779,-2053134658,1473887176,1734446598,777225698,-2135938777,159611964,-46301485,547728095,-1039334070,1010390349,995906574,1408247414,-1226133434,-1815155217,-377818543,673474441,1544499542,1593527208,1531028669,-8223789,695664832,734200578,391125620,-73098556,1480442705,-1621066121,1908405188,-1930522730,-2062115141,-837412427,988997266,99313699,348655452,-1957792880,1458311990,-1407354202,923417789,1407301540,384450385,812574308,-714347810,-339865339,1524512583,-1821227608,906792226,-693254974,-209673720,-692940949,1865587552,-1928944971,1094379843,957328274,-1530950450,-1651779226,-821703841,602519610,-1990477401,-50640606,870486045,-113317246,-2027679384,1256468481,262659591,1718195850,-1446291758,1448025495,463106386,-2002026662,-1549452216,1970629042,-671757280,-885475521,-409496413,-712016085,1474964187,-1701644421,-492835830,1826680880,-464139277,627858324,-1902117045,1501107914,1906099285,2136654984,951372096,-1329459276,-381863417,1806467113,1089586451,1254473392,-1109504942,-1785431073,1257352542,2082053139,1185215960,-1773373474,2071220280,1122156856,2091437353,13763286,-1384965455,1603714880,966317621,479992063,454911141,-2107120839,-1452736149,2035381795,1476821453,1108665579,-1033147349,-251071593,2038783052,471481820,-1976875062,1328692766,1166223184,-730918349,1749426277,-2047055870,-286469512,2061982947,427249389,1575413324,807699102,1069422040,-1908662729,-743478588,-290046552,1533576264,1879804716,-280044499,-1793360233,1327915019,-1546233034,-713738254,1200952220,1593162600,-255640162,-509869331,1713316415,2020653064,2120980382,1423875342,1507145884,-1006058589,1224810165,2094751231,369783721,-424715610,-659064913,427119169,-412916482,-1733924975,901633940,-1784667215,-422353182,-394960297,1378369874,1573778300,-1619994553,-798523119,-468148279,-205763546,35651525,522960693,1020480089,-1850449559,-1377821948,826628354,1855277185,-1439698290,-649986892,-1794049793,327207221,102675922,911048933,1422377318,962630701,1658109514,477652071,-939778394,1382855813,-316971261,1562227791,-909609683,2093101234,609815103,-2041079472,-394687781,1772559066,-528540439,-1358713291,416374031,470407579,1682025692,-1179592218,-1752860463,265649166,89876188,-1586957771,2014617406,1528353665,-956218859,1941611669,825580563,1695349089,-71590978,-1479002866,-123704608,1110867325,1051632029,-1857489856,63468513,-799744168,-784134998,-1467480160,-1281333310,898301662,-474873090,1318030016,1123267717,-479559558,202576668,1433486588,-676854638,209503905,-2119861405,330420872,-1966620648,2045254627,1992047269,-1598394920,-672709960,-1398751954,-1880701542,-2025147686,1308404660,-1950487439,22590268,329234505,-104983849,-1586906370,-1944081147,-322187093,-1317241631,1867888451,-976409104,535681620,-1689313124,-186068403,1312231520,-1947192213,194255311,-2112767982,1604638089,-1362386881,1396527199,-510420349,-768357799,146133154,563652556,105319076,-1635931628,-2005542998,-958668202,-978858641,366288457,1755380846,-1448981944,-259796800,-1375547221,1971211408,-1554887756,-1938330639,-1362554774,-1647957261,-747813267,-1433683314,-923673555,-36829401,-1423388522,-1676152670,1793919323,-602088813,-1661079623,-2065386048,-1245808075,214192363,121902629,74047350,2130674851,378874891,634191187,-1438670364,166277679,-202126636,1164404918,222227200,-1914687350,-2042101007,-1418937927,-1870904517,-1279278081,1014444996,1603496803,1524913568,-1640623549,-30429352,-595704767,1926167147,1874064906,-720020641,-1099025760,-1049643880,-810038095,1344843603,1363845926,-828340582,1122247300,418108272,-773408050,1050194032,-310868383,1872775661,-435387557,-1089902676,-1404722433,334469683,-1281506587,1183152441,1040991885,-849225614,277362971,2053913744,-1084863140,-1617235613,-830751193,483419366,-2003707536,-620973927,567175688,1947552701,662950515,-1572119362,1302055904,-998892180,-1877775758,-1355538176,775264156,-1179692575,234588648,-358622521,-1587703855,1106806245,-592859347,407230000,2100769296,744868832,952073658,-843719749,807355580,762991924,1161597059,782811493,1543141106,2067246858,-113406318,786550653,-1005042952,1715522792,-1460334479,502712581,-1938494507,1793648602,78919267,1377488998,655160307,-1664922431,1876972448,-700641360,-9414447,1649830678,70523121,-807446852,3277290,-619598009,-285933448,-915965314,-474872788,1469344547,-367745211,840962761,2076427114,-1823765446,-711968769,1220272090,-1001044162,-599847399,681303230,1416379445,-1021696242,-464797056,-734743209,-1808689952,-1597158317,1968927730,-1617433325,-402294382,692878044,-1648454877,1964814577,695390012,714557505,1852314068,139638208,1141839278,47885327,89628623,-1223458147,780185701,36760505,257421970,-2137354552,-1800338386,105323929,1451248529,-1426279264,-1857653315,-1526456495,-1323226498,1756146848,298849899,714930959,1511347696,820128924,-666533814,1050237708,2144502335,166735845,-638076695,1452821296,-697778730,-1371516054,140576692,1731580521,-598015284,1618782038,1841623284,-1654379470,-1432772759,482688879,-1992943752,-43716154,1078746232,537598209,-1067418712,-1203681961,-1701878976,1159831946,-360942782,1492088884,1249546447,-334565054,1784290833,-1223420132,-198002125,-2119707368,-1964563844,2138963037,-1848426593,1910241337,1390690614,-1282065483,1020096725,1698654902,-1473779168,344076870,870826820,256002487,-651164558,2000936386,1938971278,-1168703572,2123205435,366781118,617978393,1257159883,-72307106,554109840,-1639186277,-1989161203,-1739648175,-755167409,37948756,1315324944,150164475,996773536,1424772688,-122107417,161416132,-1776693061,-757990265,-810883441,718146165,-1883506465,-920218225,1115054920,308827358,1600015275,1233038319,-1328843830,-135968895,-1004358603,1482651607,-2024951004,-1091237610,1296974409,-32456332,1932350662,-516646052,448399599,-116644452,-483167390,1104570360,314178971,823418968,-1059135775,-1077950541,741104471,1107082942,879139331,1201938729,2004457748,-845440959,734702479,-2067411707,647825961,-1837746232,-513136303,-1554095004,-1556431307,-764467103,1542268863,229075812,-1799314015,1022030216,1834969679,-1074510757,-1983324732,-1534240389,-918574744,1387693341,586530428,1227453692,1635884563,-1491009054,-1075068785,1644834846,-1259906286,1368596557,-1237441594,-978972822,-745427113,-1753261571,-736937033,-1244654313,1735882550,576022604,769197201,658309687,1273443812,-2105691199,-1285561148,-761383802,-1831648649,1153860811,1566481298,-443271075,639987746,488456278,-794279671,-1310632780); +/*FRC*/Random.twister.import_mti(98); void (makeScript(14)); +/*FRC*/count=63; tryItOut("\"use strict\"; print(m0);"); +/*FRC*/Random.twister.import_mti(107); void (makeScript(14)); +/*FRC*/count=64; tryItOut("mathy3 = (function(x, y) { return ( + mathy0(( + (Math.hypot((Math.pow(x, (Math.imul((( ! -0) | 0), ( + Math.PI)) >>> 0)) >>> 0), (y * y)) !== ( + Math.atan2(( + ( + Math.atanh(y))), ( + ( ! ( + (y >= ( ~ Math.fround(x)))))))))), ( + ( + mathy0(( + Math.fround((Math.fround(((Math.min((( - 0x0ffffffff) | 0), (Math.min(mathy1(y, (x >>> 0)), y) >>> 0)) | 0) ^ (Math.min((Math.imul(Math.imul((-0 | 0), x), x) >>> 0), Number.MIN_VALUE) >>> 0))) == Math.fround(mathy0(y, ( ~ ( ~ 1/0))))))), (Math.tanh((Math.ceil(x) >>> 0)) >>> 0)))))); }); testMathyFunction(mathy3, /*MARR*/[new String('q'), new String('q'), x, x, new String('q'), x, 0x10000000, new String('q'), 0x10000000, new Number(1.5), new String('q'), new String('q'), new String('q'), x, new Number(1.5), new Number(1.5), x, 0x10000000, new String('q'), new String('q'), new String('q'), new String('q'), new Number(1.5), 0x10000000, 0x10000000, new Number(1.5), new Number(1.5), 0x10000000, new String('q'), new String('q'), new String('q'), new String('q'), new Number(1.5), new String('q'), 0x10000000, new String('q'), 0x10000000, new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), x, new Number(1.5), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), 0x10000000, new String('q'), new String('q'), new String('q')]); "); +/*FRC*/Random.twister.import_mta(-639877403,1043903093,-177670693,1814949037,587932772,1859804692,130344986,1524397990,720879148,394479190,1683771473,522301788,-49329365,-1738396855,1124853796,589847508,1804117003,280644506,1980100442,-750136575,-45272055,-345472148,1620402210,1493980022,1162873455,1689865832,847691465,-653131835,-2092835987,1696304011,1871067201,-592139345,-838420953,-472128685,1669287797,-1192307678,916218436,1141139730,-1992641920,1681951409,1249119365,-1346790694,-275789542,1068637775,-851666823,-2015651568,1138609462,493801703,-1254681019,1742296618,1760909813,-1234174424,-210755151,-106709772,1879792340,-1207553046,125130647,99282325,-624921771,-1365555978,280270286,389754254,251630325,-1967009793,-610868974,-1803000739,2005404528,-2031236861,1328741292,-129719908,200882392,822194286,-1692241389,-1599920487,-631823387,2124550643,-748832534,57417949,-932644217,685072302,-219122395,-766581935,-1951061693,4787505,-2098069896,2110695761,-1347883822,1544659968,2146978308,-121752596,634308274,2096853663,2140878483,-744374143,1410583065,1295115122,345209716,-2095491753,-2135579479,479489088,-2081262820,1144778120,72629404,1981115087,-23472085,-1430239712,1203218534,-396669201,998801461,-844192827,-540517341,2100510296,1612994802,-1934429417,1663998509,-442879141,598456115,-974830675,-1745934861,931743612,912303450,2017376547,-1843326543,820980723,-982884142,1864555032,-1643874478,1451757415,-939665043,817790438,976927792,-1725156869,-1631029007,-2046593722,-1122076041,-2109082398,-436913331,-208900141,-1524638945,1309623675,-2025689476,1419956480,-785869419,1878947143,-1659305655,237146616,527289581,705359169,-1614415284,934886005,1897632581,-1543853476,1856699128,1364415813,1282082826,-682464059,-719006679,1998425587,-1250633926,-2051832027,-914137046,-1456120601,1805899485,1574840288,-114894317,90505731,1729796696,-1964718592,915241260,2131607487,152151502,1852899368,1815791655,-759702643,1343722277,1591476730,611231975,1476609184,-168163698,-1039394266,1858268357,447043117,-1388053497,-888838186,-1883965398,406220603,803674084,-58181217,-1616190865,-1483273998,-910558592,-1192397904,-1941572060,1553161939,-28069199,1525090415,568276588,-808992888,540890197,1332176813,831642910,1322299608,-1995518171,-851870463,-1986760848,547572867,1120344729,1111699260,-1047571329,-1934518474,462553480,1918930545,1324717590,-27670479,-134883726,1223192333,5489516,-1724119945,1462160975,-1548149422,-739113433,2124453057,363516608,-1985973380,-358929746,1833225024,-813675283,1391987493,1024687837,408715369,419324352,-1975772465,-1605158447,-760940990,-841995340,416770114,190524069,-1231659802,1489702747,-6096827,299819660,1057073083,-1750302005,-788482594,-261117681,-141037172,2026315630,-1064240682,-1199269397,482694482,-1591747305,-1022367106,1813853256,-362137626,-247754647,-337617608,828344411,911608736,-2039360320,-2115752,-2070141389,-619829784,-1990487009,1888873418,1857866604,-1561415479,-1149871810,-743570965,-429821026,-353621738,-632380575,1869231604,-1752780804,674131050,1262390896,-222006136,612110151,235605039,716814543,-1277396945,1768214543,-706944160,-390926699,-663604790,-360205025,460783098,1077489544,844235574,1489879204,56099515,1773999622,-1131583198,142134967,-1421166776,-2015030006,-1175969353,1982447964,-76603352,-1732194832,1798514656,-453390648,-895782909,2105644193,-597463584,1196870408,-1425732692,-754054714,554846942,-434201242,-1620833177,2013848913,1291331314,124882713,-1107179256,-2094882521,681361969,794138186,-714025637,700362712,-2098501542,877556685,25666130,54139683,-118665466,874481857,1472455594,1592145568,1076231897,-1689160414,-1627486383,1948353908,1492036261,948068602,-866556400,-45834723,-428561923,-195606865,-1115953032,2074889176,1725186231,1453212336,-1349487058,883728921,-478353901,-1679893937,556671133,452685228,-1603068764,120155791,1695974222,-796858855,-223110185,-593442968,-1053069822,910153003,959352810,-1046308208,312470947,-1099140426,-4560461,-1971938050,-1779620080,-586830630,1245825186,492108794,252783213,294385325,1214779356,-2074235706,1374602296,-1783334652,454529744,680689089,-836673345,389870345,-2140218142,-511905253,-1892746103,-309159889,1793201728,-1524253226,478952718,1951431108,1609403855,1714955180,-742837558,-1484224109,-2121607917,-22066073,1018764563,-671006769,-1076158745,-1457365057,-1363350161,1930441773,-2117001627,858739879,931806406,2017715672,1885697786,1835370127,135803259,1214327648,-1611116423,-698379059,-670614025,-6828637,1381772172,-723713716,-1890591365,-1205534302,46579917,-809125018,-1328164143,-1979954574,83380609,-1902485311,1127691174,797205775,-71966732,2005784843,417541638,734805476,-1160934709,-400026410,1612993696,-68747055,1189829922,711134695,-120074957,1073477711,630623245,-524552904,2133261100,1273424161,844103519,-387155749,968401431,-2055751262,448297033,1298622196,-696728075,986549837,-213833448,-752562681,-1639393095,-652958549,1160855665,178399240,1091366830,511150642,152945161,2046667998,1136875538,1707869135,960111677,979045054,-2137290984,295658999,584206400,485236399,1438707383,528257291,186019265,-53551375,-2099236536,1307209042,77641948,-290837062,1546010044,-1987043103,-2076573857,1719093862,-192818634,-308653266,-1594519643,820483447,-28086127,1710103486,-236088475,1603885901,-1703430671,-1059847213,1719640558,1919322234,753110315,-772655554,-190679656,-303276654,-2014739962,-1127115615,-1177099260,-1502233739,-977002019,-1282920489,1869369281,-891546430,526823701,573408340,-183075015,487609803,659108458,1324452912,310081510,-500255752,825471809,1355650537,699873923,-1867550114,235184228,1234378458,191035868,839179617,-1057291635,-180614269,1783789055,390854571,603721509,-1518434176,-1764664653,-2016234127,-62587925,-2145317648,1795341962,488723818,-1842438993,-531539405,1485185138,-146594004,755110249,1246616946,-1695966127,2116694747,595082942,1614007412,-1053966482,34936133,1706828289,1720582618,-1574610123,-87144214,287766949,-654537555,-779594286,421486782,-1217666200,2138083906,1433748073,145983549,-1247965655,1163569710,746205476,-1254494027,-1509958555,-1258097171,-1728598864,-1048312870,-1953622897,1743178271,1091881625,-54318146,688990901,-621626573,-2050031842,-577709180,-336067126,2120118427,-268853985,1766270248,-72204435,-1014843060,417671057,-1678475050,558342438,532045915,-876311657,-25373421,449237970,-74940365,891118367,-1869325264,-22398226,-921588987,895269264,340547601,756322489,-1580265097,634493190,320845282,-1713257928,-2129668928,2043359054,-12396484,15804819,1828500898,764793616,1115571401,1397303708,1779600095,853659720,1071661126,203678442,-490874025,297571695,1570365608,512996651,-1459442668,-694286771,229017896,-72070317,-713311221,1137424734,1267686389,-30966799,-389689520,785276291,-942477399,-156339706,337228310,-97458258,-1607316156,-1035164554,-652102593,-959841526); +/*FRC*/Random.twister.import_mti(4); void (makeScript(14)); +/*FRC*/count=65; tryItOut("mathy2 = (function(x, y) { return ( ~ ( + Math.hypot((((mathy1(x, y) >>> 0) >> (Math.log2(( + mathy0(( + x), ( + x)))) >>> 0)) >>> 0), Math.fround(Math.max((((0x100000000 | 0) ? (y | 0) : (-Number.MIN_VALUE | 0)) | 0), ( + y)))))); }); testMathyFunction(mathy2, [Math.PI, 0/0, -1/0, -0x080000000, Number.MAX_VALUE, 1/0, 0, 0x100000001, 0x100000001, Number.MIN_VALUE, -Number.MAX_VALUE, -0x07fffffff, 42, 1, -Number.MIN_VALUE, 0x080000000, 0x0ffffffff, -0x0ffffffff, 0x080000001, -0x080000001, -0, 0x100000000, -0x100000000, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(158); void (makeScript(14)); +/*FRC*/count=66; tryItOut("/*RXUB*/var r = r2; var s = \"\\n\"; print(uneval(r.exec(s))); \n/* no regression tests found */\n"); +/*FRC*/Random.twister.import_mti(251); void (makeScript(14)); +/*FRC*/count=67; tryItOut("\"use strict\"; print(x);"); +/*FRC*/Random.twister.import_mti(264); void (makeScript(14)); +/*FRC*/count=68; tryItOut("{new RegExp(\"[\\\\xD5-\\\\uc07B\\\\d](\\\\B)|\\\\d{3,}(?:$\\\\b+)+?\\\\2[^]{1}\", \"yim\");print(t1); }g2.__proto__ = this.s1;"); +/*FRC*/Random.twister.import_mta(-241248989,-604033046,-1619316621,2095060157,1064640113,1266900845,-1298764886,-1021031461,-741957924,1420907860,1573712674,1934758918,1517713408,-643762768,324201767,1661557180,-1198983396,-1291928097,-1269559074,1765034522,914584080,1607390494,-684460465,-869438237,717195570,-1417162145,256755190,813713855,-1952374342,1428991022,-239486934,-731322837,271748165,-682823894,971105820,-1141521382,1562693541,1333506145,-647558440,1423887942,778334074,-223322833,-597047375,-219047401,-1785394819,1529047254,1694429620,1354233338,-307989588,1952888974,1577500517,-367884273,1037906388,1718757208,354343932,-1555056694,-666984953,-777745734,1853326918,1912684633,-1962536481,-1880613806,-1095098528,1898409510,-2037617594,1689818291,-1855440481,-1688755417,-1094557306,135721278,471884011,2050204780,-1786831313,2108883404,1650476921,1339659795,742355591,1353096882,-190898062,-1869144262,243053030,-1187233856,683779362,1591846001,2107134342,-687835718,142046190,1301982584,280794333,-2095753881,1406630920,1261008388,926012057,1339081074,-1622272579,-1405352241,1564490665,1792691548,556169697,-886756020,2105231313,537369114,1460959873,-1152120575,1915294074,757749763,-1084334002,652362557,-1897115012,-1507783897,1462674863,-1598202329,-1856673488,-1592990957,-1599647570,-86395353,2063668100,667101605,831968833,209429766,-2031361173,895922311,1471053717,-1519942376,-1948936473,-1893517479,-1722938906,-1479079677,-898522532,-45349845,-854030256,556772235,1845734346,-1916120938,-607295968,-1780998238,-1011435128,-1414229724,1059237132,28582523,267209345,-686621745,1288884553,1833597073,1446490457,1313004036,1569035181,385719704,1975504525,-554308801,1149769543,2145842497,71078996,1668230699,-1629767783,1185098366,1199155779,-1346855312,1126621181,-1522158641,1176242723,-1958768210,1878776169,1499002472,-223667349,-377489889,-2135122914,-2032769262,1299606218,2060886652,-658432757,-967642652,1273062004,847364097,931866476,281764986,222692214,625697564,-1430092156,269816750,-1902327781,1948372719,1352650996,-682745819,733593004,-555605769,-1844439680,-1030645255,2128549056,-988550089,2040996062,1430081264,1856036238,657374535,-1917838426,-273857782,655554135,-1511346345,-1825648615,1521920582,1948348912,-140681838,-847913449,2066380798,-981797772,1524033220,815596273,-464061880,1489731248,-456414000,1990652330,719077923,1569726356,-1367255246,-1095287289,1269217859,1806813461,442374312,1058198314,925064293,284592313,516742006,-18817520,-713041901,-1259421226,1743331990,918376007,1981799058,1322901249,-1828454253,-520705787,-162254266,584131660,-729907600,-1890582534,1331936081,1341815591,-1465793456,-712255237,312019270,1596495538,-2121524067,193528659,1505203012,-919255783,-935878807,1232877297,-204894662,296517559,1588897819,-1381328420,1555108630,-1632450132,-287785699,1164994339,1241929032,1309125118,-226405814,-1417200249,-881578109,-1161036322,-465265460,-1010880001,1786423827,-956016422,-2065947065,-1543405972,1565841077,-2017048156,675686110,-2059108115,-1638506877,255090403,1096922764,1775620030,647152848,-362049978,-766323747,1794376903,-798496500,1285314280,-129033111,-814305489,880145495,-1675627449,1315639682,1797800386,-1486818931,390901200,-1973119901,1868683959,1538833346,1897778967,-761613542,1588265763,-975797976,899768618,1346373139,262813596,-1492911797,-2114582254,-2052571658,1642602723,1335105283,1159994212,-1659362159,-1071760811,1031012181,1871087916,-842176683,2023601928,-416799019,-939486914,-789671006,-2133033793,118906872,816156437,117976036,1247593001,-199337056,1326649435,131836147,-1874157236,-1639493866,1094433929,240476849,1916756735,1892941120,-160405139,755284027,237759628,1852317959,185002763,1492426655,-858740964,1842299380,-123928805,720928835,182439587,-1172682648,-1228613628,1677308285,1383036401,-1343828356,-295925452,1022058647,474098516,1551361267,133034272,-421086138,1161230380,-444205741,-272727976,1532580780,-1153413386,-358551788,755712549,-769216245,-939905139,725149109,-952319202,-1253068723,-252118029,-853752715,892646605,-1360009595,629155221,230923490,-1075471917,1174990283,549564921,-613007514,-262481276,-1894556938,382399465,-1677129889,6956452,-1421218929,177733217,380521151,757674156,-1527542917,-262316986,1952824213,-2040264939,-1981142037,2089314713,-1606214449,1282125816,-621545903,-1614951996,1060275307,657010807,1614558935,523655423,-1914081210,1628683295,-455020569,-27243879,-463793684,-1350211485,331068124,-2042626919,-10389041,-801092296,1275187338,2033911400,-1527625539,-1433497459,210587685,254144668,207314975,528513344,-689033031,434441702,-526740353,-1534560796,-143809914,1760010506,-1938914860,727657028,-1739193004,1807955632,1392966716,-705133305,936763566,969082071,-132626468,1392380884,192975599,-253132505,-181989656,625318738,-1939421506,1685697848,-172625406,555699460,1948069243,-24588584,2065935598,481658135,2061060606,1913007823,-1691672887,-864893909,-896519776,-860664702,363306173,1045081249,-237298935,1224313288,-2012211271,1174965919,-1655439489,-209029037,1408522846,-1823882465,825338657,-415426970,-1246782524,1737931252,435750816,-740278930,-392846208,-372122380,-1283527086,281629992,1753055343,-274791869,-1773558788,-2103190476,-1173430230,-227051918,1068572518,985397559,-791214637,-124411764,-547515389,-45127045,1752618197,2062276410,-1139616235,960071103,1999957443,2113414144,-2088884584,-1322969777,-868363497,-1481613873,81742704,915527697,221656511,2134279798,1691212120,-1276493430,-1566030907,-16920949,-1806548281,1037423040,-659241767,1388654521,1319963046,800030499,-612575302,331594402,-610631956,1572127890,1154215879,-1085453221,-339795902,834963641,471149096,-149020645,-2000751396,1262582701,-2048792870,43131694,2111741687,-1982290364,-1409538704,900759088,515605851,-1336418707,993119135,-1067452261,-427152806,-884938382,-1168663932,1243710877,1154403930,-605525516,-1556499754,-1935393842,-267920273,501555426,-1216040111,1713096330,1272625125,1865563024,-1251494581,24469423,900368950,1876063505,2083143498,482204240,904170248,1202473547,-767400806,-2078417096,-219679653,-2005248124,-1028656116,-979223460,-1313429290,1017654040,-1766692736,-238353757,-456115876,-672467820,895975124,-1787512294,2023836250,791166587,-1772842279,1594131110,-319273423,351155768,-1033418096,-953672172,867051863,2057104747,-475608737,1816702980,-1970164826,-526577177,-505730186,-1417292369,-503707414,637793283,-403395008,604786395,1186999211,-1341213732,-1104814350,1571047816,1310005225,2043685174,-827123217,-1178644143,-1333849709,-1309060142,177592531,2006958739,335445828,453604714,131205992,1873574149,-1933556663,-1039739070,-274007385,-1996313725,-1097027939,1306524983,782685680,1023967685,504801387,-454428346,1811575864,2170381,65548956,360736570,984291888,804333260,149589553,1848410833,-158701325,-1583034542,-709816113,36370364,1999640277,18506988,-357682625,-292713021,-2133563823); +/*FRC*/Random.twister.import_mti(360); void (makeScript(14)); +/*FRC*/count=69; tryItOut("/*tLoop*/for (let z of /*MARR*/[x, Infinity, new Boolean(false)]) { o2.__proto__ = v1;\nv2 = (this.s2 instanceof o1);\n }"); +/*FRC*/Random.twister.import_mti(449); void (makeScript(14)); +/*FRC*/count=70; tryItOut("function shapeyConstructor(dzsrwk){delete this[\"toTimeString\"];Object.seal(this);Object.seal(this);return this; }/*tLoopC*/for (let c of []) { try{let enukze = new shapeyConstructor(c); print('EETT'); Array.prototype.splice.call(this.a2, NaN, 2);}catch(e){print('TTEE ' + e); } }"); +/*FRC*/Random.twister.import_mti(532); void (makeScript(14)); +/*FRC*/count=71; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return Math.ceil(( + ( - ( + Math.log1p(y))))); }); testMathyFunction(mathy5, [undefined, (new String('')), ({valueOf:function(){return 0;}}), '', (function(){return 0;}), (new Boolean(false)), 0, true, [0], /0/, 1, -0, 0.1, '\\0', null, (new Number(-0)), '0', NaN, [], false, (new Boolean(true)), objectEmulatingUndefined(), '/0/', (new Number(0)), ({valueOf:function(){return '0';}}), ({toString:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mti(607); void (makeScript(14)); +/*FRC*/count=72; tryItOut("mathy5 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Int16ArrayView = new stdlib.Int16Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n d1 = (-((+(0.0/0.0))));\n (Int16ArrayView[((0xcd471a43) / ((((-2251799813685249.0) > (-8589934593.0))-((4277) - /*UUV2*/(y.setUint16 = y.bold)))>>>((0xf9c6e270)-(0x4de7be6e)))) >> 1]) = (-0xfffff*(i0));\n i0 = (0x49e6b04);\n return ((((((i0)) ^ ((((0x35da02ab)) | ((0xfbeb17c0))) % (((0xf9cb7227)) >> ((0xffc00ad7))))) >= ((((0xa9e7b1b1) == (((-0x8000000))>>>((-0x8000000))))) << ((-0x8000000)*0x46e3d)))-(!(0xfeaca2ba))-((0xb4b8c2d2) > (0x3cf6ebd5))))|0;\n }\n return f; })(this, {ff: /*wrap2*/(function(){ var nubfin = x; var ykxoqh = XPCNativeWrapper; return ykxoqh;})()}, new ArrayBuffer(4096)); testMathyFunction(mathy5, /*MARR*/[eval, NaN, '\\0' , eval, '\\0' , '\\0' , 'A' , 'A' , eval, NaN]); "); +/*FRC*/Random.twister.import_mta(-1994426350,685073023,52669293,691492740,-1351438923,-1619736244,133950717,-1180499370,643398176,1474134009,-1654963522,-2018136947,542976765,-544983344,1038077121,63177422,379182729,1137640841,-1811893902,-1077293844,-661993463,-629740814,1936754554,2113990365,345857188,744870987,-766613444,-802679334,1564718777,18864322,186942486,-2081424087,539420026,-1407618519,-388109083,-757117857,852733521,1221210196,-1613064927,908950201,-733105357,162831839,-1689005766,-814239370,390659477,1081693717,-1284447180,-90112515,-1331466777,2058920943,-1180276635,1621374027,-1025374043,1115087926,-1716007844,-1289785021,-176047582,-2068726928,-201569619,264403759,1992664328,-1201661482,-851694377,1691389911,-223478490,1113362814,1010222540,-1229919177,-143288627,-2016291454,1432638041,2083011979,-393207014,714821463,82484220,2103476206,400707647,16017678,-1734571442,-1079248769,-1010594845,-1456490262,-569461198,1143472121,-1751978808,2097298504,1375320959,-324084047,469515508,-657544373,-374773739,622855260,590818249,-1606524400,-1038055929,-2002900099,1369505782,980536741,-2026187421,424205756,-2075029558,-1890100129,1544974470,735160068,-1053780616,805326596,285558523,347444124,293751712,-1356126566,-845287413,-135792445,573694228,1637294318,-126795292,-1969313319,39309521,-897408942,-2082720679,-1729142204,-1100646805,990325073,-1185945604,-380500580,-1071469016,-51324258,-237830207,-1519965771,19175568,-1379095206,1942552478,2099269752,1110173201,-1240540444,-371868409,-310417654,-1512205059,1114928740,777392819,-119155947,-111445283,-1873550357,449460700,-1285146660,311158580,-669512680,2002055558,-1083535927,-2087268792,-1126108873,1958325989,-2046585582,1515770769,505363607,-1577164493,2132171170,-1502943250,-1003228103,488112568,198031213,-514854517,958376191,432735712,891914096,-1793719926,1870033012,-717250224,968865731,-778889457,-1585051550,-1588710814,-1562857682,-1276741240,1633255133,-339510430,1793831359,-1741415896,-168013147,-1445879135,901972349,48389954,239869049,1432030861,1909493773,-256275697,-116999908,1181065937,583779304,-174829267,84130137,-466764137,-1896923242,987824111,-1222550015,2101573974,-1122104985,-1744594896,-879317575,1787387467,1438433789,-1223759232,1035241622,-1841315496,-1413492295,-738730497,-862335856,479045844,1366113949,745766403,-1615167085,-409147914,787026375,346593541,-741127962,-965675058,-2094959975,96830053,1906699076,1947432478,819411921,-623411852,1029347508,-2071508477,1533871111,-1722113164,1826331199,-1143239912,930817869,-1201679639,-363835600,1377652391,-31834221,-1253312908,1079776000,1192914721,-1733494932,1133354449,1855331868,-822532050,264855972,1179289665,-518783561,790612844,-1425290022,-1092846878,1773542101,-2043868175,156518157,1814302240,1705364372,274229078,465844338,-1040106982,704572274,-181715074,2051039814,945779175,-940594678,2136824375,2101549973,-566543281,269141189,1055566217,290554428,-1817406552,-841340393,-1047551684,-676423711,1570213552,16327059,424947432,-908434885,1623821651,-2019949589,-370565227,-2053723452,-1969653026,1440013017,1217904845,-1532222511,-413541667,1728326420,1882012599,1653010654,-477875279,-966235572,-2055556298,1029960672,609936184,595882323,1225577014,1395370610,1796327667,-898894718,-1805931357,-1381685672,922314324,1387350423,-157191695,-1469372525,1750028716,-317310126,-1012742992,896556429,-1754215527,1637558203,2015016714,-201273483,381795231,-1572835914,-289711028,-208493481,360019353,-2002831873,-1356467891,-1700377695,-615858503,1435482590,523184524,-575270085,987432630,-905587039,-943878922,-1472884371,-1538012126,657315011,555819804,643894179,1088270493,1526957760,-2048063656,1572556834,-2056081388,929895797,1649554278,-1262189326,1667225188,1375381381,-353706761,2035518742,-1989982065,1213090755,-1653747993,1970902091,234856646,-1912790541,802955490,-1114403077,141850482,-606823446,1117278186,-1208095228,-1856212152,-328017734,-801677761,-827750051,500647168,-1992468345,-1313566083,1639286686,1973531165,144797729,318354927,1716485700,-871680519,-442584922,-33284764,2141259499,1784620497,-1818078721,-1629673361,1789299318,-1617845917,-1522976595,677822137,-1012671334,810333231,-1459953398,341573778,1288457159,-1787934219,-640626928,-1674824521,1011897531,432951571,-95124053,-2098951723,-2022037897,-1922112760,1444274434,-206015078,529148270,-966730816,1135361520,1061883872,940734943,184471374,1198958577,-789239848,2100067686,679782323,1909732849,-1940669049,-267109196,-1812153632,-1790172779,-1095592452,-827480101,-788396876,1388967619,-285896483,-8800337,1266225567,177677346,-1953613560,-1479513121,2125817882,-1872859630,-1999077508,1867475661,-1156948821,144892430,-1801619591,737634924,-1870897682,-278893313,1773199891,-562958486,-1585680066,860074260,-785623347,-2125131690,-894783537,1857122888,1807206300,2096945281,1018996721,-656899430,1400424368,-2080707759,-289412071,1719357558,398216482,-84651857,351138708,306892895,-485735088,1559927803,-1665161745,-520384793,-965886204,1666602212,-75836065,1528170478,1585515106,687047609,734014079,1636025748,-1530006927,-964646258,1285591248,1860858262,-320461524,929395627,925460789,-2036497734,-1560342196,-393365057,-1439224759,1850615158,-166937393,-941112869,913216870,41437109,-1204325061,275701350,-1828474550,-134782284,-151526713,-9121401,-1359007577,817843582,-657283976,111371239,-967788218,-1094229937,-2108341567,350986871,1382375805,-1129646754,-1899878340,-1405628269,-4405573,-663059975,535955164,-1142826710,-740773841,1203684872,2089332872,-1868322224,-1597208776,1731629275,-1473724135,-1015502961,2014963119,642622084,532767981,1643629615,316390197,-1312305356,1821140426,1090753379,-2110320606,2043854399,1066598541,1695806127,-2073850121,1306558740,114669770,835319787,1547601648,360248138,1765110600,-1881265466,569662650,-1828649656,-180294959,-1806228547,-814654337,-296292278,1693222118,-786246018,-2138015405,921184123,1992959490,1707890906,514164379,-652066428,1881787949,-859346287,-1840615196,29653786,-1531751420,-720088175,1333656666,-1510884234,-191422090,2027284778,712940627,-2088720588,-916296853,-964505076,2146861224,2138388112,758661091,-1590656749,694917742,-300385006,118026056,-1882657511,1262334040,-322003836,652639553,215848759,-24234942,-1600272405,1482696798,-352893051,-2003701833,959121549,-576569285,2078013636,-2001341408,-962979634,-847373504,-994169478,-1423335521,-2003761868,-2079868636,1515382010,1444576688,-936376367,-1849989596,1929732548,926901164,-1923315994,-538657866,-1334400406,-912897993,1241848838,-1173544206,1858888815,-329150716,-209672239,2085094239,-998135412,214614788,-2210866,-2072295430,1108886653,1669324604,-679350019,-722422174,-1212136430,1056507360,640220209,959541723,209090092,-668674466,-1762916566,554031523,238469749,1730769516,754612322,624403153,-574847839,-1513760326,-1297281468,-1122331941,-957486666,-269249488,-788170274,-512689624,1316057927); +/*FRC*/Random.twister.import_mti(387); void (makeScript(14)); +/*FRC*/count=73; tryItOut("Object.defineProperty(this, \"v2\", { configurable: (/*FARR*/[.../*FARR*/[...(function() { \"use strict\"; yield '' ; } })(), /*FARR*/[].sort, (p={}, (p.z = \"\\u2CCC\")()), .../*FARR*/[ /x/ ], Math.atan2(-6, 20), (y = e), ], (/*RXUE*//\\1{4,}(?=[\\\u708a-\\u7B00\\xBF-\u0098\\D]|\\B{1,4}|\\ueB01{4,7}){0,0}/.exec(\"\\uffed\\uffed\\uffed1a1\\u0340_\\n\\uffed\\uffed\\uffed\\uffed\\uffed\")), (void shapeOf(x %= y)), .../*MARR*/[ /x/ , function(){}, 0xB504F332, function(){}, /x/ , 0xB504F332, function(){}, 0xB504F332, \"use strict\" , /x/ , function(){}, function(){}, \"use strict\" , \"use strict\" , 0xB504F332, function(){}, /x/ , \"use strict\" , /x/ , \"use strict\" , 0xB504F332, 0xB504F332, 0xB504F332, /x/ , 0xB504F332, 0xB504F332, function(){}, \"use strict\" , /x/ , /x/ , 0xB504F332, /x/ , function(){}, \"use strict\" , 0xB504F332, /x/ , \"use strict\" , function(){}, function(){}, function(){}, function(){}, function(){}, /x/ , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , function(){}, 0xB504F332, function(){}, /x/ , /x/ , function(){}, 0xB504F332, /x/ , function(){}, \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , /x/ , 0xB504F332, 0xB504F332, function(){}, /x/ , \"use strict\" , 0xB504F332, \"use strict\" , function(){}, \"use strict\" , \"use strict\" , /x/ , \"use strict\" , function(){}, \"use strict\" , 0xB504F332, 0xB504F332, 0xB504F332, 0xB504F332, function(){}, \"use strict\" , 0xB504F332, /x/ , 0xB504F332, \"use strict\" , /x/ , \"use strict\" , \"use strict\" , 0xB504F332, function(){}, 0xB504F332, function(){}, 0xB504F332, function(){}, function(){}, function(){}, /x/ , /x/ , \"use strict\" , function(){}, function(){}, \"use strict\" , \"use strict\" , /x/ , /x/ , \"use strict\" , \"use strict\" , function(){}, 0xB504F332, function(){}, /x/ , function(){}, function(){}, /x/ , \"use strict\" ], .../*MARR*/[(1/0), -Infinity, (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), {x:3}, {x:3}, (1/0), {x:3}, (1/0), false, (1/0), (1/0), false, (1/0), false, {x:3}, false, -Infinity, -Infinity, false, false, {x:3}, (1/0), {x:3}, {x:3}, {x:3}, -Infinity, {x:3}, {x:3}, -Infinity, (1/0), false, -Infinity, {x:3}], (4277)].map(/*wrap1*/(function(){ ((\"\\u29FF\" > this));return \"\\u0052\" == \"\\uBED6\"})(), new RegExp(\"(?!.)\", \"m\"))), enumerable: false, get: function() { return t0.length; } });"); +/*FRC*/Random.twister.import_mta(1860113017,-1691416942,1323255009,-1885417511,601129803,1406110078,217767883,-2132423295,-653689493,507065261,-349955624,1615037193,1095305123,783792260,614057037,-1359073727,-1100473165,-1156609826,-176443353,-1687167423,1389733024,-2015210472,-1917168400,-1020153052,-1109898740,224589493,-1382071092,1229675082,-325654409,-2110086722,1342508548,334369644,1635028983,-339801500,1224021393,-930812387,-1811667333,1238350880,-378914684,605453368,500566657,-508725631,257651852,-2018566287,-1703742741,401069134,1954811606,1830054218,-2026185921,-66899331,691284103,-809201961,876488829,-1021492811,-636954039,-575581832,632793637,1615280414,1626672235,245462914,1073462778,293327351,-215270096,-2118064,-1014248139,-565431325,1862645422,-872443670,-15372831,-1800909223,1136603263,-1892230972,-1920856426,1799783532,1696665700,-1155591662,-915030572,-400967157,-1077517412,841531442,305001363,35467959,-1398698516,1177972780,34550270,-1536174162,690649632,-1163964840,-1189049309,1662687024,1879498911,-1086293447,1047490760,-1263975975,-271116507,1161141829,805820591,227773597,1606016022,-944067610,1878757168,1020744724,-2071090356,-548343206,-1615156981,-159389441,-1856663834,-1709107007,-1870949320,437847826,-776456987,-2086532742,-1360715688,112144791,677033545,2131709857,-77011795,161833074,-259204794,-232057275,305152645,-1726944024,-406841855,-1071360615,716297952,1658648972,-2124629361,2142405643,-155676182,-916156726,1207238060,-721081651,1373021329,1927663420,-515400047,-1708927846,-806105150,-1161998428,1661647106,463638551,591735360,-1856645954,-792519947,1902180127,-81215859,1699946868,1705716073,1783648445,-2054717939,693113494,1774869563,1504519363,512033034,-391243950,-546599128,1129657284,1015956138,-1224461054,1809182630,-444708818,-1459903251,818253455,1733417059,-1009325073,2146789970,1654419300,152195718,-568824590,-1909345933,-1391734577,-2124231068,-1491036165,2052611176,1817348725,1049529554,-696668187,979399335,900576821,-299359794,-1305264770,-418705931,-363435246,-1371018618,-885539004,992994439,-2084699745,-1713670791,-1613106042,1379527597,-1405449261,912950753,-273829661,-1643523494,-350426020,-333045285,417156323,1811855229,1690827350,-531173309,-1250441363,-1428998637,74121638,1827975006,-306956019,138682118,577780205,1143386545,2056313825,-2116331046,-1593441893,-52739500,-1544866113,58189041,-1529917421,862668060,-1177721698,-562225976,-191803790,911360612,-2083081663,64368325,-1038430160,737745868,-518142695,-2068291092,1299416350,1777323586,-378171342,-1745361402,247935921,619948592,949025304,2028966934,716825064,1985959198,61591650,-558880296,1573708260,1137741731,16827280,2050855227,-607313754,-663405595,-934874447,-1977953127,-564746261,668786851,-1442547462,2120166316,-739695728,158667015,-914697885,1910081834,-1595553941,2083462675,1383391782,187059987,996544847,-1882199904,-824189370,152062949,163877122,-385482810,207051431,1725775598,-1748196792,301375937,-1492369981,-1780947762,1335895403,1169568068,-1877854750,-146336676,1060888251,884813638,-845130440,-1200455007,-1477394318,595488430,681840173,-2105869958,1534907014,477878287,-769732708,974426795,-1628160975,-1603888340,-1891900548,-859800712,-585441139,2004166728,828842799,877456076,1856075390,502517149,378999659,-498286184,706625302,-1541368402,-319063846,654690902,-1883608732,709816797,-1481919397,1145990741,1119869635,-744220411,-1890777906,2072259318,391311144,-772215721,2017443938,1322524029,-1613212698,-2061632765,1653567873,-555467360,1184112157,514124128,-1039171552,1693886658,1541457774,-619923864,402332585,1048125344,845020532,1318044429,-378398150,1057597739,1791076697,413119788,-1573593756,-1971694842,-469184539,588399971,-1199377491,-1800857385,-837979521,351280200,-1205303205,1137844713,-1383981151,-1959665596,-953605759,920668556,1263014086,-1803298520,-789253830,-1962506880,-198670990,1224455830,365379317,-1586544174,1472804881,-2093200282,-1105078997,-51480582,-584637632,1732862054,-1024105100,-266733558,-579911431,-1370730577,333978870,2087712997,770106690,-1866976892,-326680594,1238650538,1592117512,753203619,-1318175062,-216877889,-1425005777,2072223680,-1000839902,833422179,1498428423,-1011246370,-776767609,1185746337,1402112793,-1835503335,-2041735953,1558088442,116217710,-739607499,25221806,646284473,543689334,-537653440,-1876294907,-792501689,1815417619,1031802387,-687089577,-453308112,-694634364,-910006810,-947894431,1745974553,14450533,960000291,335028170,-1063113448,-1003796408,337957223,1575280555,-2135533221,-1497703562,1983692348,206220870,-1334980667,803044044,-1960944694,-178541849,746896899,1204438194,279793301,-1636358667,-1776680468,-689186098,-1033155666,-844608864,-259221836,627368036,-1918183200,-1062106627,-1026854246,-596698342,309653780,1051947664,-492155628,-697210306,1631923297,731531315,-1260578945,-1793214994,-884849542,-2097196783,327128695,-432326585,-1763549541,-638256033,-2109895699,163549045,-1099095462,-1119033778,-1431809468,579071024,-1401476562,1429983002,-2051449018,-1312409151,682311817,-1018169353,-765407027,1731614117,284993407,-780294716,398677632,-1581725436,22007702,-963189796,-1013195381,1457829129,-1102568447,-869498618,899592977,-746355112,1257965877,773681539,-1208863482,1719458055,-820119507,-1172337483,-1132202962,-1335304406,-622600630,-129657547,-1146360366,1684527836,604665593,-1592843838,-1524845052,2052105118,-1604239592,1033701356,1799724958,-284343722,-412135494,-1436683026,-1902724813,-1276724563,631537381,-1874671869,276388014,-2088241691,-1304308955,581838871,-1425877472,290330822,-172426693,-1248830756,-1152870132,-1690491469,-452710912,-1888701832,2015589348,-1049236017,-63774990,1387777790,-1164106504,1533137734,1919354408,1644425650,1805050845,-14054459,-1803260791,1109049326,1967712892,1358998148,1314966032,-1872228597,-345775493,2142238875,-220593690,-1982101343,-988642942,912201554,-438961169,-1993872454,2071747267,-1303157029,419482202,1414898390,86447831,-2138357192,1721609671,488012215,537308961,441889292,1408713706,-210876174,-735340515,410890412,947163059,-196515820,-787753584,882191046,268073093,307151161,1483967361,-2089626675,-1666590348,-1101399153,-1521512290,1227760044,-311048931,-313765922,761329926,-711842461,1456515575,1052388999,1051233837,210972715,-1069218854,-43443452,1941339688,33141136,-112879195,-1593092450,-1009557610,1510747588,880704781,-80433755,-960366520,1874353272,1060587916,-446951224,-449682682,1131666554,-76068607,1396383660,-385522786,1611673736,1865903859,-1720960798,1993107186,-1391159826,-1796494333,332500704,278716858,1250097780,7838337,397079698,1758821332,-731246928,-1544074942,-448809477,-1986022354,-559353498,-1439088779,-1252604630,721573922,447789384,-1853586366,1411229255,-72441553,-1789629463,1698962993,624040901,-149622878,664633782,1484939868,477023518,1150493882,728047965,1141477214,-808091188,827223052,-520066996,1496870983,1251748051); +/*FRC*/Random.twister.import_mti(352); void (makeScript(14)); +/*FRC*/count=74; tryItOut("e1.has(a2);"); +/*FRC*/Random.twister.import_mti(365); void (makeScript(14)); +/*FRC*/count=75; tryItOut("\"use strict\"; testMathyFunction(mathy4, ['/0/', undefined, [0], (new Boolean(true)), '\\0', objectEmulatingUndefined(), ({toString:function(){return '0';}}), ({valueOf:function(){return '0';}}), (new Number(0)), 1, '0', /0/, '', (new Number(-0)), (new String('')), 0, true, NaN, ({valueOf:function(){return 0;}}), (function(){return 0;}), null, [], -0, false, (new Boolean(false)), 0.1]); "); +/*FRC*/Random.twister.import_mti(399); void (makeScript(14)); +/*FRC*/count=76; tryItOut("const x = x;/*RXUB*/var r = g2.r0; var s = (4277); print(s.replace(r, '\\u0341')); "); +/*FRC*/Random.twister.import_mta(-619758643,933590857,1497862226,-1594653597,691780570,-1504858599,-1971172907,892216178,306143553,565632395,-1261588752,958032469,-1310652620,-42406715,-2109929031,1985048899,1918549667,1756050182,568653080,1173253203,1144745662,1450206445,-1049497,-923392790,156373323,-727389752,-1458706555,1607422544,1685696699,-441950238,-918126517,1803126206,-374301144,-284767485,-2080787135,832630518,-1298746322,1441804323,2039576111,591307488,1019461233,-1930428868,404778614,-951164963,-1379347872,-1398777360,-276903686,413685421,-290019692,1945077446,61215226,1774188197,-1710883787,1484519381,1004758950,1315584651,-2115656370,-2116454813,-1004581834,-845345232,-159183487,694761959,-1366134036,-284294971,1469472810,1993151681,-479646807,622451620,-2051529990,1184828641,-877138588,1935651930,-1507802002,2020311303,865269898,-750195732,-1955023651,-1862350365,-485757780,748535096,678360750,-860677956,-1688294109,-1163102931,1984966923,1889487849,-1136621842,1619280074,199092230,23789448,-1154119121,879896570,1817268837,160199927,1372556051,262006203,740805692,175673582,-1281387792,1736744758,-1645453329,-1341716861,1292259642,2111255162,-210150298,-1122878136,1636329059,-210414832,-701389254,1422951597,-826427707,793895880,455787995,1897346313,-197600783,505538161,531850111,1243703947,-2111911345,-1148816832,-207487567,2121062230,-1157618179,537919756,1617876546,-674879608,1991900625,-801133938,454934526,-1860141264,978431256,888234773,254669004,1283359864,-1003093513,478526754,-284311287,1753585371,-1064543742,344294391,-2011060121,-1745579934,-55659801,-2070265672,1761551030,-131438719,1599000691,1340118980,1289075175,-1785130639,1100434090,-565619435,12722543,1615838993,1944344795,1177856724,-1729050292,-381473113,-1931026536,1748693559,-2008787404,1205180915,1437567734,1385843759,-455339311,1381597364,297146622,-524753333,-1021417325,-2131467032,938598438,244994076,-1361558411,-436019252,322908595,132896282,-640530943,57306602,-1574096102,743231085,445868529,1746189519,-2134388886,564994458,-609981334,781337442,483911151,420554391,-284834370,-1391813412,934432844,969445343,-660937792,2079329329,-961046450,-1133835557,2028013407,-1454091649,-736516101,-1531686910,-1772122525,-1785913619,1257052578,-843203667,1452825935,287496050,286660613,737146063,-751105702,-269933208,-1663005241,589161352,507212607,1022475455,970238346,-1742052922,1574250127,61555566,-2071124767,-1670348025,174606661,301269688,1716769695,1930583290,-2017875261,1842321254,2116477130,-1863006002,-372351410,1262372170,-1128531601,357331409,-1290707219,-1314004134,888916803,1030190509,1330687353,204298750,966396829,368541558,-794919786,1997481108,-1954891580,-1369480144,-1635200980,-352176746,1357664302,991230824,2139419941,576570427,1967389828,1908331998,1574877858,1309857875,1995776835,-119396371,1628694426,-828279781,202795677,875563781,-337345662,-1216656734,-293342342,-2114442407,1578524935,-1469934064,-1448080162,1982843926,1916230742,989558484,-817412820,-697608114,1781859954,-182427815,1048083505,730289947,538437375,1377380013,-454737556,-1690795896,902143638,-1395246210,1734696261,1172790468,397138084,-1809055328,-1979646066,-1864159171,-554894978,-718739768,1857364365,1303385420,1100853246,1956150712,-1218780466,-1264696778,328209258,-643323981,86116407,-173924027,2142680501,-4378437,1502970142,1884762920,682202205,1406226673,1799044959,1437393877,-954568920,715811799,-961309412,-936210582,2138268186,1741081520,-1999943467,615511766,-81248167,-1268253025,360048618,506070532,612112192,2085212199,-580331344,857424876,324431444,231785385,1396544043,1533033381,477061872,1095338924,1825397960,-1237027355,1444866661,-1458965491,1983683097,91069070,-1428255411,-2067416863,-1437788358,-473209360,-18970106,-1314903597,-457324946,1153648569,1871012584,-2007030053,-738456867,-1239236751,75011567,-545390922,-1275384151,1893299883,623512415,1999100898,371716292,1701479427,-4985200,1240800555,361484719,1998654665,-1144941349,169383679,1433514841,1211272612,2121720954,-925875520,1657150464,-322203854,-1199147802,1943305961,-1674747923,-2004957130,883607241,579805075,1842128213,-1928623991,540654509,1615562693,798514697,-90433696,-795981246,-476000120,-1675964292,-157316047,-365591280,1008423261,687513440,34481335,1474403528,2052427094,-2088239758,364188461,-1119110686,-1770082520,1379252927,-1318854645,-340248406,1393611477,-195902605,1138249254,2137280673,-1767130627,236444159,-108834675,1635764686,1899490166,-1682566809,-2084506237,994693492,-69627788,663254713,1520057175,2038234628,425248778,-88849605,542059104,-1896890747,-1494464551,-1342460422,-1818762442,277209430,-1484636775,-625004661,10963973,-68804019,-758330485,1575232547,-147179730,-71658656,64446760,-756808987,1741519813,2048549485,-121880854,-1490395127,1348284986,-1519911009,-113135622,-76874785,-829683493,-1763405757,-340969960,1842917174,-2050796634,-562285557,-1682721332,-1026101216,1597792359,1085600928,1885881992,428850039,-2056977056,-1406911655,-1283723183,677086186,435586807,-1582440633,768416271,1039311667,-118426195,-1586395176,1952197768,506201155,-1214909597,-27806811,-1078548158,1944141813,324638145,1590618040,1997507713,542731310,-2056140113,20244938,-295035673,-15495699,566562610,2053745582,405935009,-1802195045,740427,1008809277,-34035488,-395987188,865975448,-1282857516,472315153,1795066099,-565818291,-2130842743,-1657514841,-724119250,-2141876927,1754889113,1651147635,-419029176,973860865,-1573896967,258940001,506789018,2142530914,-1115204806,-1649626637,1901034101,2108926585,-2037447509,-1771612564,-594617932,1238640484,358907206,427569724,750566331,182799064,-107157501,-1288471398,-1578972956,1915697231,1941214197,-1107319018,750602939,2067389120,1545087226,-1872066618,631436652,-14069112,1064889121,1011812548,675763658,490730868,-1533887726,-227029962,885311221,-870381085,-739224765,666589810,2139501246,1551979676,720358091,754316064,1605436270,-159873707,1793954486,-1590630112,488166063,137706632,-128375095,-1874390804,604942862,1291451784,637748548,1134384173,-1556835409,-1503192245,-1788798320,493452945,-1656457539,1321773759,635345786,-1015083367,-1058909686,11441894,449336931,-2074313155,-2093466350,746748548,461672491,-1972398377,-1652561806,-2029669102,-1319309029,1092074083,340192502,242011427,-447139783,1355515012,313547132,1729653195,-1465790326,-1402959249,1115127503,1471363804,379467231,-1298864997,217517013,-885956769,972883311,-1156000247,2073497784,-1062754398,479386632,-2045979257,31083220,1983419559,-309248006,-67804769,-417401477,-1930639092,1507948977,-841548980,1676255764,1885674718,1306224416,-1579644368,-677320164,1975031740,1830017889,660216872,161117340,1951509002,805459363,2008051643,2098082060,-775949631,1876267398,79408718,205079096,1973948053,-152064729,-1585235235,845140939,-437481500,-1493263602,-1482608061,220546237,1597445523); +/*FRC*/Random.twister.import_mti(489); void (makeScript(14)); +/*FRC*/count=77; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return Math.acosh(Math.imul(Math.pow(Math.fround(Math.imul(Math.pow((( ~ (y | 0)) | 0), ((((-Number.MAX_VALUE == y) >>> 0) & ((y ? x : y) >>> 0)) >>> 0)), (Math.fround(mathy4(-0x080000000, Math.fround(((y | 0) == 0x07fffffff)))) >>> 0))), ( + Math.atan(( + y)))), mathy0(Math.fround(((dlivgj % y) ? ((( + x) / Math.PI) >>> 0) : (Math.log2(x) >>> 0))), ( + x)))); }); "); +/*FRC*/Random.twister.import_mta(-1848976978,-655291558,-894878520,737774924,478535214,-765571638,-1558953676,-244790863,-119261844,-2117024225,1178955894,599347950,476927689,-6405446,-1195756759,-648474230,755847561,-364496457,-1682920298,-1393423910,350012784,151315222,-135466685,-853255892,-1915729539,389115030,1866523949,1355958991,-535239558,-1605380903,-2105084431,-815604620,-312691594,168847514,1058868414,1666267258,189568548,48917441,1103258442,571379832,-13217564,-1216688924,1948489706,-1073677965,-1107485984,443009867,1352648751,-383293631,-498829649,-1023018787,-219468822,-725697947,-2057499203,75368612,995666170,-1395201538,1788869567,1247028721,2134376943,1139075416,-529451485,716937797,377439504,-893732915,-701360585,-1232068280,-451338575,-57957672,1173463021,1446693191,1794527212,1306428815,-1842152227,965742699,-1395277991,-578813061,1058916553,-1902740549,2005651886,1851707641,1047240703,1077103061,-1001011710,-570319513,1556069835,-163187589,1138728189,-1234710057,479431381,-294847173,-2072027216,803074660,16440835,1698276472,513003331,2123013511,1733741316,-20326864,1237958554,902734801,-832294913,2025313287,1096807519,-2076443383,-1020940457,-1736181349,1141441521,-308815946,1694999781,1658368521,511497856,-2114343052,-1191241625,-1884788836,-587396801,1867376995,254507264,971316508,803996015,-1821581838,-1026962243,-1472862054,724687430,1815036891,-1148611582,-940131493,-684292145,1928738014,887043932,1970242374,-1638927327,-1560001676,-733442550,-1881704751,-2107779214,2105410328,-890166848,1606426559,-1882511944,-1208504793,1729084177,-1192301886,-1271552759,512885741,70085183,-340325815,801470314,1195068133,58927243,1153767259,-86644771,-9771732,-357418118,63835933,-2055385567,-1726382538,-255829731,-617145999,-1545772165,570208352,966619839,-365586575,-1326776274,-1313935404,-311378329,-1948044947,-2049525378,-486337347,-904551261,-964224927,-2142724836,1060660222,840357253,-992885520,228140590,1354277862,293515889,61260017,-1472807390,1021367469,23225559,1108646266,124103185,994837482,-438450902,-1684780547,1588690123,243263408,-308438937,541997214,1162563730,819965416,1660707648,578914035,-1325031147,149490826,1985476735,337286745,-558440179,-1949954465,504939749,111095493,-810323497,-1080034984,-1454775927,1176721089,-112730876,1150181324,1353617052,-555580768,635395022,-1508418333,-255852229,1642358217,-576011742,-1741180386,91099129,-1753784169,-1567031351,718485850,-1451639935,-1736537381,-597319271,1009450672,-783877648,842413272,1464693236,-449972599,-1116853761,1308389536,-128514693,-1677344377,-1970750361,1616974922,1993589688,1178915599,-2017039648,-1014971033,692251989,874670210,-2078682896,-1123586229,-1904827502,1648966047,-1614339204,-205093759,-1317505938,-1307177155,-2128432684,-850587903,-168086589,-1556147156,-1456426912,-852310957,-173282842,-1869539401,504880651,1569026144,1282566441,-659622473,1370344907,1214051587,-1163551479,-45148552,383459529,354051365,1494840947,-970064177,-1442351218,1400911228,-1422568108,-924345895,-1174449096,-1767160088,1709997075,1799828751,1929501524,-1063679140,-1725760991,-541080842,303371547,-773671289,-1910159460,1632245741,1078076705,976780840,-1835155047,-1895347556,1076881697,-131242743,-329073301,-151207480,-1931731052,-21729322,-1497070653,205100632,-471750079,-1318061272,-301521422,1960908504,-1622787863,-1071677482,-441738513,-1304317384,1047946012,-618725666,-578809396,501655659,-1938895647,-418640756,-1172776238,587599046,-978939485,-558725048,-466605380,-1206969818,760722091,-825906107,550039910,314889635,-1038746444,807904027,654785649,1862138926,1630078779,-111163824,-2122969380,-1068261753,1477644753,2000247355,101807908,824339130,353350466,-1507852766,-283043087,-379563364,-1179459930,1264213277,-266592884,-946840220,1316012970,-1364989432,-1809515936,954845300,-1530773842,-551897890,1366635157,436024981,-2020927551,-339411507,-1924446127,806625650,-60467542,-601522259,-649345536,184991764,-2002928372,226667561,27030991,1352725688,1406373233,837664257,1499940298,-171289603,2074623711,-22533192,-2121111106,994869602,1477207401,590068256,1521313782,-948913788,1677210975,-2144627425,-659145090,-896055934,-303537050,1947301894,-1037767012,-2097865125,1914595161,-881842657,2069760241,-2049270891,473039104,-1214239541,-1175252252,309181659,-685813286,-1322713449,1652348573,-204119402,-1059297543,1975833854,1656378471,-1077298954,906478036,594103418,1590969581,-1800647414,1452058833,-744850930,-177095809,1640060566,993867082,1021642318,-469229901,1556515949,2146980160,-844553838,-1895190882,-647775704,-1757925896,-85725815,1582854784,1944254458,-365909075,313951855,2031377523,717132779,-1471665952,1163036175,-776857001,-760456826,-462142653,692863939,-1336207928,1673891157,1198825041,2143928442,1433531493,223109216,2055031220,869948895,748734161,-619331188,-1572711075,-1050503426,1482287185,582678981,338886341,-1421437511,-1697244211,-212294365,-626083215,-1007450151,-599410250,-1994145327,-1605719649,1235930365,1050180608,509367427,-226264017,56668161,1893598509,883979907,-2112729736,2141643837,963971982,-634355829,441385486,-523407034,-997811615,1642398701,-1671720506,-910507408,-1534717251,-1417764052,529013204,-1638263419,-101094377,-547530855,1576745517,1475936839,-487290716,-1139383293,1482470926,1723454673,2050097878,774412833,-204566493,-2120666528,-916469253,131288289,-1969309129,-536502897,1854235470,-1998878512,-1613860977,-791743074,611147783,-73454118,-1121479613,1788508631,35698192,571988269,-1925248109,-1540412647,-146952344,-1489175131,1098231502,-2075954698,-862564116,-380704290,-1951784854,-144337157,-1152003772,413608888,-581128295,24357534,1681437313,-444276225,1671544933,-1033067029,1863870052,-520286204,-422398334,590653673,-882889560,-1563423767,-159306699,-199886475,866991900,626355982,-1354203318,-98267369,2055138402,-1928370848,-1188783667,650201418,222725654,-830014878,-2000464921,-498923373,866517541,1153371,-243862244,-1782555803,-2127364429,-1328523016,-836043560,867496756,-1139440542,-2005692144,-2031737805,1926211681,884484967,-787194346,-1998472750,-1349139079,-1530478252,731482739,786680263,383550813,1044347655,1258052716,-812749400,1717591585,1903501769,-2124207956,1027174883,-1363344264,-1088327714,762848876,-681236823,-1096554059,-2079160339,-1881797640,1461749734,-1643672549,-1495851462,258348653,-1216383332,1479351851,-1283870033,-1814298748,620496933,1970817001,466467868,1847786650,1550302527,104395573,-1214849180,1298894692,-1996064782,2086141331,1894983529,496690037,-1411161059,428499104,1474210161,1298178338,442117032,1796580316,2101011940,-1376491154,96520070,727299836,-12437525,1159038671,-1865953273,-1285141648,-1337258404,1114192137,1740404242,-957754158,-1193424034,-216531625,1772134685,1171853431,873321002,1809369539,-1241646100,-1074809864,-1313797298,1969239958,2028065574,-1571057753,-1054661276,-1818023042,-1088619264,-1121958170,156926688,1055042819); +/*FRC*/Random.twister.import_mti(143); void (makeScript(14)); +/*FRC*/count=78; tryItOut("\"use strict\"; var sbhqed = new ArrayBuffer(8); var sbhqed_0 = new Uint16Array(sbhqed); sbhqed_0[0] = 14; var sbhqed_1 = new Uint32Array(sbhqed); sbhqed_1[0] = -0; var sbhqed_2 = new Uint8ClampedArray(sbhqed); print(sbhqed_2[0]); sbhqed_2[0] = 22; var sbhqed_3 = new Int8Array(sbhqed); print(sbhqed_3[0]); sbhqed_3[0] = 18; var sbhqed_4 = new Uint16Array(sbhqed); print(sbhqed_4[0]); sbhqed_4[0] = 10; m0.delete(g2);e2.__proto__ = o2.h2;i2.next();"); +/*FRC*/Random.twister.import_mti(231); void (makeScript(14)); +/*FRC*/count=79; tryItOut("f0 + s0;"); +/*FRC*/Random.twister.import_mti(243); void (makeScript(14)); +/*FRC*/count=80; tryItOut("\"use strict\"; testMathyFunction(mathy2, [0x080000000, 42, Number.MAX_VALUE, 0x100000001, -0x0ffffffff, Number.MIN_VALUE, 0, 0x080000001, Math.PI, -0x07fffffff, 1/0, -Number.MAX_VALUE, -0x100000000, -Number.MIN_VALUE, 1, -0x080000001, -0, 0x0ffffffff, 0x100000001, 0/0, -1/0, 0x07fffffff, -0x080000000, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(275); void (makeScript(14)); +/*FRC*/count=81; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return (( ! ((1/0 >>> 0) != y)) / Math.round(Math.fround((Math.fround(y) == (y | 0))))); }); testMathyFunction(mathy2, /*MARR*/[0x10000000, /x/ , /x/ , null, /x/ , 0x10000000, /x/ , /x/ , /x/ , /x/ , 0x10000000, 0x10000000, 0x10000000, null, /x/ , null, null, null, 0x10000000, null, /x/ , 0x10000000, 0x10000000, 0x10000000, 0x10000000, null, /x/ , /x/ , null, null, null, /x/ , 0x10000000, /x/ , null, 0x10000000, /x/ , /x/ , /x/ , /x/ , 0x10000000, /x/ , 0x10000000, null, /x/ , null, /x/ , /x/ , /x/ , /x/ , /x/ , 0x10000000, 0x10000000, null, null, null, /x/ , 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, null, /x/ , 0x10000000, /x/ , null, null, 0x10000000, null, null, /x/ , 0x10000000, null, /x/ , /x/ , null, 0x10000000, null, /x/ , 0x10000000]); "); +/*FRC*/Random.twister.import_mti(541); void (makeScript(14)); +/*FRC*/count=82; tryItOut("mathy4 = (function(x, y) { return ( + Math.imul(( + Math.fround(mathy3(Math.fround(Math.pow(Math.fround((((x >>> 0) !== ((Math.imul((x >>> 0), y) >>> 0) >>> 0)) >>> 0)), Math.fround(Math.max(( + (Math.fround(( ! Math.asinh(x))) ^ x)), (x >>> 0))))), Math.fround(mathy0(Math.fround(Math.acosh(Math.min(Math.min(x, x), (( + x) || (y >= y))))), ((y ? Math.acos((Math.fround(Math.cbrt(Math.fround(x))) >>> 0)) : Math.tanh(((( - (x >>> 0)) >>> 0) >>> 0))) | 0)))))), ( + Math.max(Math.fround(( - x)), Math.fround(( ~ Math.min((mathy1((x >>> 0), x) | 0), ( - x)))))))); }); testMathyFunction(mathy4, [({valueOf:function(){return 0;}}), true, 0.1, (new Boolean(false)), '\\0', (new Boolean(true)), (new Number(0)), NaN, (function(){return 0;}), '/0/', (new Number(-0)), [0], ({toString:function(){return '0';}}), [], 1, 0, objectEmulatingUndefined(), /0/, '', false, null, undefined, (new String('')), '0', -0, ({valueOf:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mta(1326565847,998300297,-1051685972,1489913798,-88777493,-1527014427,-2139258223,1196371964,-452602466,-2027247992,1293559066,-389657861,-228196145,1247545301,-1244712211,1488336355,1455964557,327165131,630977303,-1604400875,372570084,-605383667,1278001021,2007547009,248131652,2132465694,1674431550,-730320514,-530376336,1745936367,74769263,836420714,985789495,1258254906,1021639773,2145059494,-1415063328,205649780,-904754768,-1646691025,-1696599924,575153060,-1682819677,1254912949,2138947779,730943237,1589880412,847524345,997837672,-1523569597,2054433852,2079104926,194365615,590620797,137830524,516174127,-1086189018,-699747067,356647471,723674806,-1275881024,843753734,1717933234,-396445238,-1148886558,788702694,530633345,1739321071,2075072012,-1845676725,345592116,-1885743259,1536863599,1989870436,680912635,-1686278506,-910520507,-1724817293,305249440,-564016850,-542588700,1478025687,-668933043,77200921,598964354,834189146,-2048387883,1574948738,1312510925,750439574,-550145566,112963665,-497932382,-1305725063,1574097862,-1903365695,1442747087,1724148189,-1577568230,856009907,1098674629,1318774168,1009366014,-1175467590,1359625700,932864459,-544931323,1612792519,1593933600,-1268008444,408681474,405508981,1185388880,-1823570239,187344273,1681161445,-560059547,-504965620,-380928259,515825667,1999527076,-1627864693,231676635,-347740620,249959431,-1052849116,1546548577,-1255676700,-1064087884,-330193235,-594721574,-754917688,-131972355,1281912239,-1338377234,-1380203769,346797971,876843257,-1025311081,469342283,-1984483836,1109433576,1720838609,1429535000,-1620588849,-336117801,853968061,506396841,-911895789,-1864734634,-1365169024,-38230929,2004513320,1064359579,1729443176,-812952170,-498091718,-153519515,436339804,1246258216,-898489018,687907294,-642490554,-762733041,1917070353,-37080223,-974054163,728187943,1156109658,-1003042461,-800441849,-685548037,-1133547933,-535065299,658130846,650682235,-1057567092,-1486688834,1419977997,-1119516015,1416760148,-2122851893,1938095471,1854496682,-755341548,1103548894,1247050940,650119966,745595356,1381404448,99956097,-1700964931,-1849552122,-699086556,152315751,-1200003256,-133146577,-882301507,1897914014,-742124245,-1323396799,1100169183,450525795,1567330332,1233080527,-1930895138,539891439,1340813660,-375876222,-365795655,2031412217,-2000154273,-1406954932,450409275,667095244,1849838799,761049964,2046149749,537504571,-178930119,2003597845,907625847,-843688922,-1749057032,-465871734,586955290,-1786976616,-2001834505,1568596697,1685305806,-1882974246,653898247,-724889152,-1156291763,-43649372,-421076754,2145547492,-2135694481,-220758342,-261429065,-1915289425,-218864860,-1332078093,1496043571,-211036588,2099759392,1616739924,1453698830,608478034,-1344694717,641152663,1515350132,-2138371352,421017805,87558778,912279210,1188194271,-1153079516,-2071654802,-887119347,-136726428,-1195474426,24938906,2042820699,-1614514887,2140570198,667366039,-807646389,1267218714,-1909940471,-1212739706,595749599,1623518321,-1254283126,-1641079903,49882818,-2055411219,-1343364621,338919141,-610798851,-1832008735,1327858610,-144078330,107720809,-883521007,-2063314372,1822540792,1257037199,-1756058787,-1990427944,-1826563794,-34902488,1347981837,-708172865,565650883,-749243405,-917845793,1671087053,-169255927,-852426300,378846351,-1018651821,-1034045558,-1769881909,-1262608612,2096215110,161099204,1083643467,731834257,-2060678876,1427830906,-1737981812,1591866238,-135265909,30950033,-2120730041,-1831818645,-1890514607,-1764660641,-1017587208,1933006379,-681968351,-1175318570,-60644979,1516997365,-515686540,-903556305,-1266857486,-334563238,1059129452,-1585513241,1536025669,613785306,824000418,345074569,64491635,1221469269,542503620,2078522823,564131973,-2078313531,1094244513,943757535,-855690190,-1905554333,418994024,-1958163562,-303863909,1913786290,-765325780,-1286605171,819248978,908378925,814454369,-257653522,-992112590,865615974,1162596066,-78601068,1220752538,-845806992,-1668654837,240540198,-260630493,186090789,-2111059384,1180686586,1018801263,1404387832,1271355946,1988928986,2006150335,1927955847,1589484418,2070192744,-1085169376,-355281835,-1884070962,634035101,-1753353893,-2084539061,-2085453361,1416538243,-1403602502,1946279135,1190890798,-1703540070,-503476821,-392401334,830637271,-345821372,-1960661070,-2027398882,1839498753,881039452,535508400,-712872098,1713940654,-579503234,1310821076,-908677078,-997577986,1445475376,-580365271,-1190105447,-5268853,1244560504,1804477428,-1482471166,872426016,37257918,-1721339416,-1514170427,628639228,523333859,-2141190955,-2113569592,-1602770073,382381207,-2048522378,771046140,-1195009389,-785429621,321046865,113751171,1764906106,992895838,195849910,2121785314,-1452658546,1540202540,1950479381,202211054,-1351170728,1650577818,565252083,-1971114554,-1942968562,10345826,1060265457,-1770829512,-207573515,-1897484671,-654090613,-2130397370,1311471584,684518926,-1102995963,-876309546,-755340762,26811238,1148342850,-96152891,874206417,201254505,1551352933,-2102887665,-1820421603,-1830208227,-1712549689,-1955406866,103680843,253546951,1909439495,-462519721,966575931,-1512720095,-1038939067,1691474233,1433280295,-1349661920,77527965,-808191780,1361525254,-1851380272,1214969941,93179124,456013820,-733047365,543486502,1507107325,-123773352,-327069691,-627733989,1380915516,-205013047,-814586267,557203324,-791021367,-901609146,1141730998,1482624967,-1814884766,651651487,1205802754,-736162804,1161280090,-869672910,-384523054,8272662,-1222864783,-127650857,1985892909,-1062602280,1297586769,1234802247,-1748736223,627778802,261904125,1551721369,-1381928887,596564732,1027256342,455995594,2056410509,-465702884,1104060019,-1232023686,898358019,-1307527992,919105498,2019670605,-1040333708,-554764422,-2021641063,-1999230408,-877218956,-754040650,-1876410378,-989924223,-1312635910,1775699504,-1797750576,-918447095,-644388295,321232159,1455690825,-1937033220,-1073697552,972328210,-1372948463,533889184,-979242289,1219168429,1866362302,361090867,-338495757,927435458,429633346,-342790276,816239723,-736960823,1931857157,1278467699,-1862047804,-875966834,-719743069,13425884,1530687507,-486435084,641973662,1258413158,1432617797,-93059106,-435374399,-1595781394,1718943097,-275828682,-684478861,1797986242,306483163,-1781254355,-303601502,201105950,-1542547367,-1184580737,1909890311,-1096210301,130400543,-2128630419,-1432395996,-344986788,-1570220160,924547999,-1570209548,1512146943,-553191937,1097793697,-800102053,-1129202111,-691582798,104501489,-1214178394,2026023432,709073112,290791995,1584103764,-802877712,-1945035001,-478077605,118406714,591471942,1198361979,-653463716,-1396199001,2040823346,2013183791,1847104794,945207595,1315455382,11693444,1862213929,420238546,-1028747459,-1689414048,-722696231,-1180175397,-1947025930,-1024247283,-660199522,859088242,1882118444,-1718430738,1795308394); +/*FRC*/Random.twister.import_mti(319); void (makeScript(14)); +/*FRC*/count=83; tryItOut("print((4277));"); +/*FRC*/Random.twister.import_mti(333); void (makeScript(14)); +/*FRC*/count=84; tryItOut("\"use strict\"; /*vLoop*/for (zmgrvg = 0, (function ([y]) { } |= \"\\u5ECC\"); zmgrvg < 3; ++zmgrvg) { let y = zmgrvg; a2 = []; } function x(x) { return (function d (eval)\"use asm\"; var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var Int32ArrayView = new stdlib.Int32Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n {\n d1 = (((d1)) / ((+abs(((d1))))));\n }\n (Int32ArrayView[0]) = (-(1));\n d1 = (+(((0xb40674c1))|0));\n d1 = (+(1.0/0.0));\n i0 = (i0);\n return (((((imul((0xf972d07d), (i0))|0)) ? (i0) : (0xbb3d49b7))+(i0)-(0x51b2a9be)))|0;\n }\n return f;)((p={}, (p.z = (yield (\"\\uFDDB\" ? -16 : -0)))())) } this.g2.m2.get(e2);"); +/*FRC*/Random.twister.import_mta(-488606411,-35832152,575056183,1837411968,268392403,-1893841497,-1093680169,-1953332138,-1136997937,748908277,-958024106,1201207738,-936994539,-2116572393,1815468998,399706076,-1246697658,-1795933769,155701376,-920713414,344609214,-371964938,658172393,714089182,-2025261412,-523653740,958321134,1995847739,-2077062318,-1608736202,323030147,-98593498,-1944745581,-591958307,1269593414,434016926,-380223774,1198036290,-162201157,-940780160,-585845028,-1806928020,-1017326348,818223494,2137045672,-1584955985,1498019496,-1665641742,-977546978,1442248720,-2085105206,1460062046,1516818119,92441432,-770115062,-437920810,-969490804,-665364575,1239873342,-1689143313,-899955042,-1579419836,-1379677150,-693081313,1370446264,-1715206056,-619512913,-642184879,-1469387455,-275181125,1557616424,-1877721263,1847828117,584026242,153111766,839258017,-2068366624,-658574464,1733958850,1784261766,-299173944,1633048386,-81740299,1208819132,-532478475,2004740784,-1267044902,-329646075,-442836606,-521609580,-77375605,-504304872,173810213,719587157,-971913224,1613035482,-1933709906,1461914383,345336458,-58641817,-345724162,-150962899,478797771,-543584637,2057417709,-1064016912,699525220,1658267073,1403800389,-605447904,-1334420073,751802965,-858615770,1899795038,-2003020719,-1954736773,1809750988,-1757455828,845820098,2052698145,551821152,-362486095,-2018359342,-390867706,1493097567,920800795,-998439672,-406219837,1744193969,-1510993639,-1165086766,1966190167,1002599049,-1445052915,-1509795988,1199958982,1248388266,1643029933,-942546459,1377796939,-308577912,1782638791,326037918,949037993,-215896172,98173006,-558614490,-756804376,1575549720,-1132306253,-795645910,1646696022,1830925550,53235423,-203983870,33690008,-1369975906,-603822614,-286393190,-266304256,1414302771,2011586480,323873068,-966190263,-320047863,-1366016532,919541010,-998712212,468818560,-1755754331,487992852,269265309,-2110889589,1104784404,532203599,-845410332,1481495745,1465367040,1053740776,468687021,656045241,-418443401,-1235549512,-2082313042,-1953725517,-2025690658,612072976,-1269764070,1930084463,1156898784,-718726496,-1733402408,-677651757,189131742,436609877,1386317678,-2072082423,1389131671,-1581279119,-1611892437,702816704,410292969,-852175531,-1162238334,624252201,-1905117485,-17205262,-1744045210,-1783235151,-1837335028,-210490006,1850175501,-1710446380,324265442,-1059670127,262278500,1734139352,306311970,2001659930,1528397326,167161746,-467136482,-1820727454,1093208887,558941217,-1825791838,-1235370674,358069382,-807083441,631546586,-1477392548,630906675,1268565214,-1065535355,-119409631,-1010043971,-1242419299,-1081210613,-1499120322,398829981,-122840443,-1385142304,-498180326,-1945826196,-362291929,963211178,-498216771,111673367,1731213320,-316030339,129570532,-2029161496,894239021,998429907,1841699694,1045629026,-1111617116,1359186868,110687487,-134654559,-2132267042,185741707,-1137222036,2143073441,950260841,2092836911,2030715130,-1194284463,173049911,-1735961801,-133391306,-703955889,-1155929622,-1890137177,-574307949,1577915703,-1693927370,1353113191,-473592065,-1979277336,1645234817,-374587639,1071166269,2056604507,-1697284417,1068897986,657418743,1492722671,-445265368,-464281419,-1471816693,-1601462175,707373400,314694033,1763311735,1439119857,123519106,-13940237,-158548045,-1134465011,-1704757772,1745786643,-531734501,-555207314,-1496962653,1670842912,-753232004,1659712735,1673532368,-1850883640,1144610298,-1892418486,-712156502,1839135821,1973333497,905591912,1044966115,688083579,-2141419548,-355517969,-1740617446,-1696022509,-2028136509,2021693451,1736610997,-393235518,-1497393506,-1654401325,-1466894053,-1791094425,727174270,1760263296,-669320159,-1158550145,-97280729,-289150544,-876388286,344929195,-1526147384,1473616155,-2002235695,229943521,-1392341150,-1243353822,-616304232,936269065,-1784630477,1508710585,-1017781849,1193086027,-1327920465,-622588650,-1213254156,-64010369,-2052629542,1044015490,-2024409496,-2027520616,290468890,487158705,2123604567,-517375361,-424225016,-1762945305,1627078793,-1526854248,-716446301,-1002317452,1336100306,673751923,-1706021591,1398553992,713346447,-486119150,-850606984,-1316412947,-77869740,461280571,-258941404,-1245102444,-604127513,15241372,338251077,1298107694,-8412291,-472450601,433517322,537049878,-1238389500,654081678,-2080879472,-1351067258,1095683635,747559228,-879933772,825273647,-464714510,866948011,1998351607,-1497024098,597473643,1957483095,2048955695,-1647488174,-1316436070,1541009620,774408535,885772344,-1123083673,-1220066329,-1890495398,1079769230,-704754912,-1293191490,761807535,839417355,-1916290420,121961524,-1705155741,-2124331091,-1909483960,-342280625,-2110237927,504750743,1716870570,-1138185762,-1707454864,383766065,214010542,-1596848829,428993623,590604894,-1714858881,-1882611905,299617344,-1863029934,-731632245,-1287994405,-388567510,-1858794424,-208993337,514674702,-97840386,668894843,1968457938,1663606557,-583990829,1813309049,-1923799795,-743085359,1662001686,-2055594596,1344911893,715816613,-1570445717,1471704855,-183280885,2005723405,-261871729,237349161,442666495,1718037533,1646566753,516808297,2051594825,759648625,-272326816,332252870,516937900,-175588726,1463992701,-846323383,1375400617,-358693291,-74068766,1710677618,-524363389,-1265177370,-683734277,-2135957236,130907135,-2104622157,-904823376,-728130246,-236395377,-131500270,-1486730721,831284069,1848866088,-567154377,-895777891,826954584,-1227019201,1525009275,-1830867881,1758156058,-1097613522,-1937322401,-1774886460,966725901,1785488019,1071863898,2119821787,1688978881,-312302181,1898909104,-659354223,-53030624,1587166746,-1342129210,726804005,-2075646284,841019047,-2089880594,1793580001,479868366,-14956792,1804108117,-1182533115,1900912309,-1208372120,1239736909,984629836,-577476079,-1153409809,-1822956023,-706326442,-763926001,-1820762740,-1196490266,-1442597258,-1398117941,-1640008453,651793087,-1300804977,-777344725,-1746380234,607718274,-741754173,1536218749,578272285,-834214847,-928577311,165141564,-1161231043,750603330,-1318257522,-1802658117,-1356826707,1179045161,-880719952,-2028420376,1470032932,-1371658884,-125357676,1528070677,-715620599,-1614723928,1500231674,-1959058706,-1619983540,1233726554,-738596257,567118845,1157502172,1329207467,1611792640,2050566455,2015437568,1026062416,637617771,-1380956727,1915749382,514805696,-1671957031,582361083,-1052694315,1781783295,1130589055,-488596890,-1986481455,-728535014,-54565742,-1771981294,1933446840,-1478754758,-457817282,-809720283,645469568,-1915391151,1291742784,2066468186,-660645732,-1066784305,1441003702,1620477304,3810315,1162875509,-1147927558,1761841810,-223937615,2012394010,-1659939261,875603288,1739368994,1382494572,-2100988903,1591628461,668774487,342915975,-483873435,-201750252,1535708822,1416640570,-746829787,1945429046,1661280373,2072600905,-1020573111,416586890,345617834,-951832765,1152495770,1278578359); +/*FRC*/Random.twister.import_mti(154); void (makeScript(14)); +/*FRC*/count=85; tryItOut("this.o0.__proto__ = g1;"); +/*FRC*/Random.twister.import_mti(166); void (makeScript(14)); +/*FRC*/count=86; tryItOut("\"use strict\"; s2 = '';"); +/*FRC*/Random.twister.import_mti(176); void (makeScript(14)); +/*FRC*/count=87; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return ( + Math.sin(( + ((Math.min(( + ( - (y + x))), (mathy1(Math.sin(x), y) >>> 0)) | 0) || Math.max(y, Math.fround(mathy1(Math.fround(Math.asinh(y)), Math.fround(Math.tan((Math.max((Math.fround(mathy1(Math.fround(y), Math.fround(y))) >>> 0), (-Number.MAX_VALUE >>> 0)) >>> 0)))))))))); }); testMathyFunction(mathy2, [-Number.MAX_VALUE, Number.MIN_VALUE, 0x0ffffffff, 0x100000000, -0x0ffffffff, Math.PI, 0, -0x07fffffff, Number.MAX_VALUE, 1/0, 0x080000001, -Number.MIN_VALUE, -0x080000000, -0x080000001, 0x100000001, -0x100000000, 42, 0/0, 0x080000000, 0x07fffffff, 0x100000001, -0, -1/0, 1]); "); +/*FRC*/Random.twister.import_mti(389); void (makeScript(14)); +/*FRC*/count=88; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"[^]\", \"gym\"); var s = \"\\n\"; print(s.split(r)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(440); void (makeScript(14)); +/*FRC*/count=89; tryItOut("\"use strict\"; mathy0 = (function(x, y) { \"use strict\"; return (Math.hypot((Math.log((Math.hypot(x, y) | 0)) ** (( + (Math.fround(Math.pow(Math.fround(Math.fround(Math.imul(Math.fround((( ~ (y | 0)) >>> 0)), Math.fround(x)))), Math.fround(Math.fround(Math.atan2(Math.fround(x), Math.fround(-Number.MAX_VALUE)))))) ** x)) >>> 0)), (( - ( + (Math.sqrt(( + Math.fround(Math.asin(Math.fround(Math.max((Math.trunc(0x100000001) | 0), Math.fround(y))))))) | 0))) >>> 0)) , (Math.pow(( - Math.fround(Math.atanh(Math.fround(( ~ Math.fround(y)))))), ( + Math.fround(Math.imul((y >>> 0), Math.fround((((( + Math.sign(( + -Number.MIN_VALUE))) | 0) << (y | 0)) | 0)))))) | 0)); }); testMathyFunction(mathy0, [-Number.MAX_VALUE, 0x080000001, 0x100000000, -0x0ffffffff, 42, -0x07fffffff, -0x100000000, 1/0, 0/0, 0x100000001, 0x0ffffffff, -Number.MIN_VALUE, -1/0, Number.MIN_VALUE, Math.PI, 0x07fffffff, 0x100000001, 1, 0x080000000, -0x080000000, 0, -0, Number.MAX_VALUE, -0x080000001]); "); +/*FRC*/Random.twister.import_mta(1296174335,-1086879565,-1878561058,-1117019555,-366264229,-1135623141,-670822023,1990005666,-1803487375,224023164,1460120805,1369650,1856251571,-112477767,1269988192,-819578749,1637472954,1774955247,378011030,-947744173,867098063,1355327304,-1809230142,-1920209658,-1677860731,-558416914,-1134145963,1682708483,-332990267,1251113198,735052962,-742129992,1468072690,2085082868,802988817,-1386067186,-327297634,-1275462590,-217972334,-1158777115,-115541907,-1988590512,-917012341,-868524397,-1754898938,-1768953430,696430338,394895453,164881173,-588584650,127370710,963244721,-780914819,1243373331,-142020489,858973523,-544643670,-963142156,-1021836225,-1874937788,660673199,-1501183586,-59429767,1924473123,1787111473,-1767550871,-350623202,-1217061834,-1014797965,-2119224076,-2100336207,-254367943,-454066485,1406330646,1300600390,1403088857,-2034122859,-2009546109,1356466225,-676617625,-1002584249,1940382942,-458657838,-1360770598,-114231573,-802403491,1002188263,-2094692274,-2007164840,1138446597,1098127081,-1307192091,1380670018,-376217503,1096296629,-1333536024,-1468203485,-1735026414,-813466378,-886969775,1846427670,1098465022,-1889835373,-1909191750,531196322,713104873,-859248642,1572614374,1557905696,427856773,867806421,2029221385,-929107223,-1240154926,1493048534,1204790081,-1997447432,869450624,-1195483903,-278280008,-944618798,-94709268,85226550,1116629656,-878873185,412008648,930616111,1370736872,413621850,-2002696257,837225979,395367447,893955647,-117269056,-815227864,-1156905298,-1893306186,144116386,565041233,-1591351566,-938356930,-629226996,-556731530,468151255,-1934891930,-402844430,1621481032,-734168911,-1410020156,-651868005,-442575472,-1716474406,-556246375,-227869263,-971388380,1085605355,-1069607031,-1879978023,587514005,645302735,-1540199568,1355629420,822550421,1880066327,516108972,-2002886442,66184651,151443868,-576847834,781784586,-348664538,-532765926,1573170778,-1328180589,-1954659781,-2028052807,889492160,-2093968723,-1236704398,1271177814,-1061360229,407824931,-1559122895,1431716823,-1758313227,-1367155814,-1941320161,-1816928688,-2053008950,-836579730,-2081712567,-725858250,-931690818,-654979275,1383796461,1135127623,805610203,-600538031,-1234695886,1422406891,-798823458,67557775,878658003,959767034,-373089876,-495718982,2016762091,-1266752475,458821226,-75537748,-1326097804,718988349,1574537590,1514882674,-1272410202,1747411066,1565573547,-388285400,1584945969,1744730044,1235052870,-1969767944,-515331634,-1657182363,-825065710,530542141,111039732,-205992697,-303703586,-2080436880,1991146779,-807067084,91875462,1031560118,-1905239389,1467043936,-879368666,72692346,-755072477,-872785106,-1342993847,982865133,-1994080587,-1918728970,897523002,-1096178409,501097095,3588555,-11209047,-671752784,-1911728910,1481887948,1518264664,-1970977822,2070256690,-218501097,571718964,-1315647998,1899488439,401937693,-1597604114,835128359,1270129025,1764003701,346970250,-813227537,1066308370,624692393,473144596,-1252929904,1043779691,-890590477,1210858662,-563577068,-511206887,72859406,766588634,-1350700426,2087370053,963951330,-406654904,829167926,-1754206175,1273719338,-1723033963,1233584155,625645932,366737339,1302634779,828338851,-1141358132,1066531997,114101374,1184652026,77475857,-1070790350,657596626,1619101367,938389472,-1445018575,-1092805568,-458615148,1020622190,1286216603,-101496941,2035762063,1070958807,-170013009,2071004218,-2034908881,-1451378689,-1812571202,1072399780,-1736717372,-1713858950,242343414,-833468185,1096439067,1585117389,510361295,1039118519,-1679944821,1439376946,45417638,-1395506957,-1663256647,479769063,-1555133372,-1829861742,-621772628,-1170098694,-1431525523,-286172279,685349298,719176766,960131329,-892355953,557696945,-1978594725,1438803294,1774606461,1316969319,490624464,-447699404,-247637541,728151111,446166075,2131755742,14479126,-2073034306,805071891,-1874137243,-7220312,1974189762,246348841,453879150,-885884557,2035226614,-2145592048,-1828073525,1352568864,-1137444948,1769372930,1716740141,451415150,-771712417,-1023079864,-1346343465,1466049386,1257264445,1917416723,14758526,-696377221,100906100,368138392,-698799506,227717849,-573130110,-1017892208,707671349,-1306610177,1426447449,1713030012,1720219368,1729233901,1877981456,913822788,-1088045582,62094379,821770717,666084820,-412293782,-1629942712,641156753,-929677356,-273120673,-297275648,1236355970,-212058155,-1795014096,327895911,795261043,-1980172528,1841361165,-287544633,945133318,1369524810,1194578039,-622462193,-457636324,897302416,-1110613659,-134782779,1140154263,331305354,-2092807028,-1920946060,399349543,218389311,-1889514086,875685069,-1972398146,-1783960109,53349390,-1038036802,-76206582,-2035326164,-704500087,-1922601999,-509671641,682431701,2083455820,1017090810,819510987,-1140534900,-396122000,1005237150,-996266655,1648386585,-1122715574,354283125,-1992489255,-1564437608,1744496066,1078444921,-370644217,-1996704673,-700495073,2051390543,-1866417979,-1618712149,1070469831,-1815944784,-1901816034,23874131,1315226756,1630652713,-678109693,301942399,-1858068826,-1756922521,644523212,-1054929013,1874410461,-1946277347,-451097197,-2112047027,-1600887265,5310888,2072866516,846013581,-997534543,317617890,1611973878,1926082290,1443048119,-1916884029,2090492240,402923594,-2137985928,315290340,510468842,-1732952438,-1007714388,-847219317,-1148292761,-700738448,-1746942854,-2015934365,-1208889200,830580441,-1765245366,1006466189,-1343638042,1364829732,58344067,1780095328,1965842569,254644906,-468533968,-1046883527,1201921579,-1358238415,-2113350456,-672500562,-918844590,1193267826,-2003833019,694961365,1540445164,1238333808,1498698009,1211136492,-919485373,462875996,1915306655,-577535274,1043401745,-566263016,489805386,-1150903549,432410935,2012187877,-476397958,-1339898516,1562216395,1508753897,-144592250,-1191340441,1775545941,-2080923743,803491121,-1288488433,-1075405489,67119845,814033185,-727104274,428988993,1731625055,-1210520715,642779451,1686348501,1251619816,1245608614,386200378,1187808906,-853212851,-210289730,1643496896,1879803370,1094280658,-954386719,-1950112505,1624975661,1473019281,558500297,-1794104584,-688624121,-1355729382,-1588995537,1276972959,-1708555826,-254540768,-391073567,-1616348357,-1172829477,-237616870,1440139773,1357604687,-1758050758,1786786831,-2010817576,607196071,-1917534712,-1220297220,-1183528029,1751211038,-1757058701,-1589992874,576010783,534906575,1894862432,1346207335,-1297252817,1789061355,-230163313,1843342342,60955360,600964827,252267042,1539737216,916955168,725433959,-1443564013,-1618268309,-831028816,-246354728,1870886126,1952512823,1982197116,2113596793,-2105654426,-1941866302,1044703176,-186310092,1530804291,-599151428,955800843,-969584315,-830069487,527741538,181830822,1171760397,-2034155383,-958410775,-1422304050,-1808320090,-1624330193,-1425626321,-1802119523,-1667374609,-1429280871,1353381339,1374575008); +/*FRC*/Random.twister.import_mti(130); void (makeScript(14)); +/*FRC*/count=90; tryItOut("\"use strict\"; print(x);function x(x = [,], y = \"\\uF092\", a, e, x, x = /x/ , eval, x, x, c, e, w, d, y, x, w, x, NaN, e, NaN, x) { \"use strict\"; print(\u3056); } print(new RegExp(\"\\\\d+?\", \"y\"));"); +/*FRC*/Random.twister.import_mti(422); void (makeScript(14)); +/*FRC*/count=91; tryItOut("v0 = (b2 instanceof e1);"); +/*FRC*/Random.twister.import_mti(437); void (makeScript(14)); +/*FRC*/count=92; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return ((Math.log1p(( + (Math.fround(y) , ( + x)))) | 0) ? Math.fround(Math.fround((((Math.ceil((x >>> (x >>> 0))) ? y : Math.min(( + x), ( - Math.hypot(0, y)))) | 0) <= ( + mathy2(( + ( + Math.fround(mathy2(( - -0x080000001), 0x0ffffffff)))), ( + y)))))) : ((( - 0) << (( ! (y >>> 0)) | 0)) | 0)); }); testMathyFunction(mathy3, [0, '/0/', (new Number(-0)), null, objectEmulatingUndefined(), [], /0/, ({valueOf:function(){return '0';}}), (new Boolean(true)), [0], ({valueOf:function(){return 0;}}), undefined, (new Boolean(false)), ({toString:function(){return '0';}}), '', true, (new Number(0)), (function(){return 0;}), -0, '\\0', (new String('')), false, 0.1, NaN, '0', 1]); "); +/*FRC*/Random.twister.import_mta(-819839228,-1151366982,1388258241,-6923371,-397808991,2096254835,378435804,2106892704,2130230840,-483775257,1194959726,1958697097,1091856927,1352827424,56020475,-2026140264,-300402113,419213121,965457274,1298099788,1068090499,118550622,-911885543,-523787184,-449574327,1385265702,-402607920,1832590339,-1640230275,-1824038531,-1846827,-425203064,-541266851,-1504971390,1788749515,1252096053,1763983594,-981085883,740041693,-563314825,-2145226935,-1612508541,1107404764,1588511094,-1032130036,-167656423,-180976333,-576290260,-946004068,-885557580,1401094808,-872998098,1824925587,1028170063,-10497871,-1140436123,-303080988,-102172525,108763302,-1417023327,-992592180,-154312548,1897021160,990730656,-1271874521,-1265370492,872658374,1932996219,-1513400343,1517534282,1106740572,-349305326,308551007,347074478,1951585154,-2004477449,-1124067992,-2086135243,-455193765,1990785215,88707903,709924771,-673003371,-145082034,-277629029,1550031014,-1031947381,-1985021529,1131112762,1871261659,400400087,-286071486,439406719,-937098660,-1903586498,-154420413,-475825809,915937375,-1964172,488454507,1435566070,-1853320900,-1559709459,-1907529752,-873734144,-1989239090,-321467205,-108555202,1559458383,-942951225,771679390,-1809085058,14355845,632321819,-474271642,1279841936,-1864850045,-1631489277,94217923,-1102404673,1125933287,-1665812221,1014424326,127963411,1434546515,-178571859,-884778482,-1133417919,-1069181749,-1743325237,1705076818,995193255,1431691445,-465317451,1919012454,-190840236,-72542178,-1914800622,538434136,-1331584143,1957608263,140442084,1663299137,537262856,394078380,986241228,-114788831,1123980632,-1286172136,-1075156091,-1079022253,-1752082349,-1875489811,573931712,1045365963,852794908,-1104445922,-1622758140,-1418068495,-2029447360,-1097674831,783943951,4632187,1132238537,-1637437019,673465882,-332145617,-1318618328,-313228834,-1001543799,633968752,1040789602,374620076,-1237867059,1386398811,2125683399,354699137,-328790971,-594109816,-784885236,1114287293,700105873,-772363477,-1921805206,665854893,-1894700617,-76246777,678567950,-1789486152,-1256040451,1778138875,1206533508,-92594841,-1410092759,-1904523556,-1439178795,518391012,-994104334,1025190682,-647915209,-1266112266,-146281727,1790942593,1226531247,-213404229,1767072872,-1116527355,-1186355967,1719765269,-2077032058,-190996534,-388393474,-475822552,90240433,2126853275,-227052281,-1297293667,820728494,-1731827952,-1325822715,-1704629037,-610074680,1124193776,-67838362,2081022040,1407573921,-247820292,-1177496597,-90173950,-1327452781,-664483185,-1426776350,1649173160,-2000755374,371984784,1530023211,-1593788966,-145861984,289568030,-1880809500,-1797220215,-1630788994,-1041575965,-1264077662,-1633628907,-294906650,-733168010,-1727328504,1827282566,-1901915808,-1930539978,-938771739,1473502167,-1783464247,-850438953,-818557721,-1953692036,510694225,1951781081,-807414998,1738589006,-699611436,-415527088,1668508847,2068771181,1943759444,1442499068,-1908694589,-2058619445,-2079162570,-489478960,-1502811041,-650773613,486406368,-1618125397,-783973135,-594964593,-1262555931,-682801569,1596415927,1711189460,1844385918,-638327184,2017567345,69453889,350147600,946650019,2064440990,2003462418,1827544590,-36890831,-1219085800,-1747068935,-1354490607,1394715362,-162379904,-214183986,1510003372,1724503253,1292538751,1727718628,708340021,937141477,418449022,1711999789,1648115695,-716263625,2029064482,-1341995029,441754549,-1096739695,-1333365431,1348369732,-1903038282,-829024420,-45417066,-1775454839,-1578610066,2026892026,-1647331077,1556265798,-462684121,-141477616,1824713161,-503385252,682028888,213548873,484949183,-51326614,-30907888,1108575361,630979867,-587050473,-105369948,2081561697,-526639145,241035200,-1308700308,-20267055,-1389325980,-1685624201,-316401010,2128643466,1900984753,1383766527,-1847661567,-2117950768,1131550572,-1634879012,-226466352,-1769122178,709466247,-1886459188,1427936453,-1309165322,2094274733,-458130384,1705969370,-337828195,1025157285,-94754205,115011815,1585513117,-153543127,1037470690,1100308348,2118722885,522169074,-1272028251,-1022368745,544563767,-1521842098,2043216630,-204416403,1775370351,1821866923,-1862191420,-570067941,1536094742,271688141,-775954893,222455157,26256744,346738487,-1464766068,-1337845805,-1734620743,1715716475,-1345379010,329219217,1892344956,-787859583,-499690099,-931609659,1605602008,-1703446946,-1600847288,-2056308923,1955074426,-963040576,948717867,1449050067,-1856269666,-1153252803,-1337079866,-196722771,1806090984,-166665755,1541818271,-1957989149,178099207,-985455856,2011379363,-223659582,701695560,-745094270,1741434033,-159996997,1079647049,963338206,-1362855178,1571193066,-341780014,1073114299,-1190806281,2118949516,728252076,1798548945,511760461,-1478383820,1997332489,-318210874,-399012910,-1552855613,-847744711,997511386,1064609769,481631769,-162280997,807780813,-1728657918,799374679,-2121660442,193433598,-1659381774,1169198560,1122932821,2119107115,1254757237,-1781837318,1025206234,1978175616,347575342,679746058,-1629310551,1395677769,35811917,160684399,-1571483215,-1327010620,-611600588,-1347731830,-1243193318,1039601675,482903222,-918251033,1185389620,-725083043,-1559587564,1104473466,267021861,-673712540,-563710307,-315987697,721562252,-214041672,-252829240,-2131993581,-935129895,515285669,-1702563908,-1055536238,-1362988239,1950714982,-625009859,524819169,-2077216489,-1119627360,-1917571428,653520099,1746359178,-1078395916,1680847015,1029053166,378417245,-1337525893,663551917,-448402043,-1805274425,552706768,-433805526,285252588,-1874727275,-1216563752,-803002036,-1262309530,-1033365302,-1472184479,1074246024,-48997688,-840746462,540800183,-1454471442,1973931277,-619655410,1503897721,-1426183975,-757934403,-103886531,325462695,2058331477,-237052849,-945874755,-1423266440,-1383685738,-751336194,1991920188,-1551065336,-941977920,-1356276758,-703885255,-426105099,-1530412649,239471258,-105171603,-1705613924,-812319158,338879585,845328428,-1702967034,634949891,-337965400,-665468731,-1649488876,-2104618709,-950674813,-462150364,741890470,-597048622,-686978055,-700136858,1024954624,-1044133103,-1101729442,-1790310268,-159858666,207283660,361439116,-331898669,570713351,-189993405,74980977,231536504,-662607230,1979344094,-2044616868,1590904133,721053967,-423675501,-1834471598,1968968797,-1721065229,-1761299707,-631014354,-2034187678,-356706349,1613390262,-972028075,-496257705,427252084,1835283445,14792474,-58058907,149469338,-981186494,-1657622370,1019979221,1924818385,22959606,1935819229,-309670343,-1321163762,-865626966,-1467743697,2015652394,-863627831,-1261543840,-2092060813,-1638367504,-566442859,-219153442,804437006,867502159,-1418483746,714266853,1974084680,-716882025,1806550606,-217463006,1311439961,297897316,324146133,707397448,1660722834,870280988,-439043603,-989817767,-1136590540,38300688,896603557,68616406,-1360117526,-1300211058,-2029773366); +/*FRC*/Random.twister.import_mti(97); void (makeScript(14)); +/*FRC*/count=93; tryItOut("\"use strict\"; "); +/*FRC*/Random.twister.import_mti(104); void (makeScript(14)); +/*FRC*/count=94; tryItOut("\"use strict\"; testMathyFunction(mathy2, [({valueOf:function(){return 0;}}), [0], '\\0', null, ({valueOf:function(){return '0';}}), (new Boolean(false)), (new Number(-0)), (function(){return 0;}), '', '0', undefined, true, (new Number(0)), 0, (new String('')), (new Boolean(true)), NaN, ({toString:function(){return '0';}}), [], objectEmulatingUndefined(), -0, false, 0.1, '/0/', /0/, 1]); "); +/*FRC*/Random.twister.import_mti(138); void (makeScript(14)); +/*FRC*/count=95; tryItOut("g1.toSource = DataView.prototype.getUint8.bind(s0);"); +/*FRC*/Random.twister.import_mti(152); void (makeScript(14)); +/*FRC*/count=96; tryItOut("testMathyFunction(mathy3, [-0x100000000, 1, -Number.MIN_VALUE, 0/0, -1/0, 0x100000000, 0, Number.MIN_VALUE, -0x080000001, 0x0ffffffff, 0x080000001, 0x100000001, -0, Number.MAX_VALUE, -Number.MAX_VALUE, -0x0ffffffff, 0x07fffffff, -0x080000000, 1/0, 0x080000000, Math.PI, 42, 0x100000001, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=97; tryItOut("\"use strict\"; v0 = Infinity;"); +/*FRC*/Random.twister.import_mti(195); void (makeScript(14)); +/*FRC*/count=98; tryItOut("\"use strict\"; ;"); +/*FRC*/Random.twister.import_mti(204); void (makeScript(14)); +/*FRC*/count=99; tryItOut("mathy4 = (function(x, y) { return ((Math.pow(((Math.sqrt((Math.cbrt((y ? -Number.MAX_VALUE : (((Math.imul((y >>> 0), (-Number.MIN_VALUE >>> 0)) >>> 0) >>> 0) == -0x080000000))) | 0)) | 0) | 0), (( + ( + x)) | 0)) | 0) , (( + Math.fround(Math.abs((y >>> 0)))) , (( - Math.imul(0x080000000, y)) >>> 0))); }); "); +/*FRC*/Random.twister.import_mti(400); void (makeScript(14)); +/*FRC*/count=100; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var imul = stdlib.Math.imul;\n var Infinity = stdlib.Infinity;\n var abs = stdlib.Math.abs;\n var NaN = stdlib.NaN;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Int8ArrayView = new stdlib.Int8Array(heap);\n var Int32ArrayView = new stdlib.Int32Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = 281474976710657.0;\n var d3 = -68719476737.0;\n (Float64ArrayView[4096]) = ((d2));\n d1 = (d1);\n d1 = (d1);\n {\n i0 = ((0x6feb0a2b) < (((0x8c67ddda)-(i0)) ^ ((0x446a260b)-(0x666bdbc5)-((((0xdbe431f7)-(-0x54e2f4)) & ((0xf9422eaa)))))));\n }\n d3 = ((((0x6c86808b))) % ((+/*FFI*/ff(((imul((-0x8000000), (i0))|0)), ((~((Int8ArrayView[(((0xaa2849d) >= (0xce320c9e))-(0xbb38443f)) >> 0])))), ((d2)), ((((+(((0xffffffff)) >> ((0x9c73a48b))))) * ((d1))))))));\n return (((!((+((Infinity))) != (+abs(((+/*FFI*/ff(((abs((((0xfac5b5a4) / (0x918e0c76)) >> (0xfffff*((0x422c3430)))))|0)), ((d3)))))))))))|0;\n return ((-0x745b9*(0xfded4be3)))|0;\n return ((((((i0)-(i0))>>>(((0x624ecfd) > (0xe71dcaea))+((((-65537.0)) - ((2.0))) == ((0x1040f1a8) ? (9.0) : (274877906944.0)))+((abs((((-0x8000000)) << ((0x5af2b22))))|0)))))-(i0)))|0;\n (Int8ArrayView[((0x18e955a9)-(!(0xd8c34671))) >> 0]) = ((-0x8000000));\n d2 = (+(((0xf960cf32)+(i0))>>>((Int32ArrayView[((i0)+(0x15d7467c)) >> 2]))));\n d2 = (+(0.0/0.0));\n; {\n {\n switch ((((!(0xfffbdbbb))*0x9b2ef) | ((0x1340f942)-(0x53d71945)-(0xfe0afcba)))) {\n case 1:\n d2 = (d3);\n break;\n case 1:\n d3 = (NaN);\n break;\n }\n }\n }\n return ((true.search(x)))|0;\n }\n return f; })(this, {ff: /x/ }, new ArrayBuffer(4096)); testMathyFunction(mathy0, [0x0ffffffff, -0x080000001, 0x100000000, Math.PI, 0x080000001, -0x080000000, Number.MAX_VALUE, -Number.MAX_VALUE, 0, 0x100000001, -0x07fffffff, 0x100000001, Number.MIN_VALUE, 42, 0/0, 0x07fffffff, -0x0ffffffff, -1/0, 1, 1/0, -0, -0x100000000, 0x080000000, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(-658443496,-2065747899,1616558037,-710931292,-1322309451,-1709396240,-2054647059,-1892575014,1557895425,138023775,1430781310,-496713137,-1558563341,-1841413595,-958470692,-1712874653,668851901,890690805,-180783964,-519012817,-167847020,-41912806,1225297398,1163317005,888028665,-543129158,-798797211,789775638,-1360553235,-846109031,408967317,-397009220,-188457483,-1689566285,1364226051,-593122393,414913982,41865224,-1924505666,-429055854,-900978809,-1756161483,527606134,-1177829628,-844288124,1645868448,1700056808,-19310532,539702970,724506905,1538559932,-1516130205,308785538,-1682161827,-1293743635,1648376028,-847718756,-572555782,-537128250,1615424811,1928685857,-623112507,-1386102764,1486576120,-169688120,-270025991,-1654376471,-1759141987,-1535293502,1717329562,-513859756,1932536676,1266883245,901973988,1251756608,-2132378583,905368778,-1067073538,291583800,1799510152,214738717,2059065420,1696316930,1949664430,-1356593215,385097259,-1449508758,-1156927584,-1316733485,383143587,-1975868159,1503983228,48328141,794008085,1574278794,-1929986865,-15555042,696202215,1740690705,222593110,-310270693,1558797934,1742147876,-2083432662,1438110859,2132949015,-876642361,659693748,238011866,-1802016123,-1571423778,-1721596011,1992610202,-63004143,1176477695,942302448,-1546664877,14068912,-544323207,1383639157,1166064355,-1477074754,-1983982863,-915952349,1383855686,-1572948550,1813686407,1420614444,104091588,74120725,657233668,1954074181,67208175,-1355057398,-590731297,-653177448,1219047827,-1448028095,453903611,751506230,270375059,-1694763053,-1971571582,778437973,-155229490,2110343946,-53377352,-1692051417,27811742,581641042,-17283760,226121723,-2045293671,1349251292,612228622,-556370914,-235427876,1509836451,-1241756746,-904187189,-606164012,1964787505,-1699569988,1654064718,1349139836,-1562531408,-2144151786,55583793,2098199623,204966269,905900350,-308992443,280710507,-2063219025,1060879695,77471770,1968720595,-393507034,-2111382827,-1743288521,1271256514,1402490909,1607373633,-1481338116,-1637772514,406384441,1557244061,-819001954,1588276159,-784528777,1364163347,-1519686758,-1080874602,-1430819497,2102655803,-2095802664,-1965320234,648675239,2034133389,-292943333,1642523180,1913585903,1673118877,1380225500,1532694074,-1274795502,1860158849,-1059410768,2008261771,-1358172046,532745393,-2099772362,-1785579938,-1213487114,-1285482103,-361441063,982071237,1069309076,614518704,289051375,-779059504,1674086120,143358614,2048127226,504635365,-1977803408,1122288864,-1517226983,1168627283,-1788845491,-2133163051,-1073145375,-1639719847,-828467675,1000345232,1281082348,1939683855,501663729,-443134531,1885522280,-581414118,1059271410,-1011597006,-242939672,1109448326,-1625347169,-1382680149,-2087988009,-86901078,260025325,-1201945952,-972070707,1282477569,801917137,-780053574,-350152237,463577070,-1153302490,-809896151,-2028716974,-1335025447,583907243,873770287,-1139483177,999515426,-1481163968,2021146796,299986365,-715512402,1847276318,1945467380,943678098,744950224,-207957790,259205787,-681098846,-394731596,-1457873844,1396354919,546891624,-1387547806,-1642399019,-2023204549,1449230947,-676325390,1522728904,1573847652,1228955048,-324337214,177208147,53495028,654612715,558695598,-185277800,-1408451491,-572481499,190592972,1261651425,-859975164,2029938911,-1177058399,-931583763,-1935737066,-1610882685,1752371414,-1563504516,389730329,-1916439497,-1365755575,-482114411,-1250029867,-955565725,297592432,-825144380,-978333333,1671092168,1176659860,-161656708,-833905954,1820340334,-2073220391,639437314,1671395572,-806494288,2100053067,-124429718,-1707086122,-738603602,603811686,-1613339717,135534968,-499233441,66989893,750698792,-1911251072,1224816186,-1939340749,1144526569,-805646553,-1576020866,-1968394410,963632442,-1719301897,335165555,-1859032465,-1620109295,868328387,1254516237,-558525866,-1023903282,88854975,1438417696,1371033351,1960932604,-1278318683,879555036,1992129912,-1949649771,-1275254072,-1608243711,1969143718,1786910286,2071294547,373453922,-1988462593,-1121835386,591709775,-1828578914,1651815687,1129198918,1019429234,-1973689419,-584476957,288372304,879121709,153666812,-727635584,-1824572325,-1670760510,935335007,-1883082055,615877818,1300996954,-441508070,-1730675307,1622745013,540172969,-868665013,-1512355418,-1562907518,-753226415,-1200019611,1609136269,-269806982,241934110,759528803,-678911488,1337653635,-824593627,-705308383,924985753,932606976,-1070075429,763275568,195043375,-134890591,974604058,-1086437678,-818586957,-2088179299,-2062220428,2090383504,560821208,137898937,-421239713,-1270510280,1930357621,-1469397400,-1176583051,-1460595475,-1000067806,1216583634,1172770906,257030514,1502589665,1821013723,1109093420,-139577643,1644155765,-2127100858,1690349503,792775635,2092186668,-1855238718,-1654602531,-251574368,945409953,-1109370749,1136808975,-1712761505,2037492098,-1281090950,-1346953434,872602684,1566841444,-1663093947,-1223318747,1845348277,1764568597,1443285371,1088927930,340776434,-1637937035,-727896853,1426090466,-574726230,144784933,150518738,-1736790141,-209319997,-1723135648,1632845469,-1951859914,2113501268,-1605616675,-2033876057,-1022462055,-1931667056,1607025743,1565116159,-630262822,-1273275113,1887612871,-132846355,-1173018357,-2102989234,-704563909,1165161491,274497856,1093892575,1330031896,535354109,-1862017056,-1342790993,1844362633,1420386173,-642394238,-155764841,-390270715,2032874,-1547132883,-796127826,-1189333449,-365434787,-1865768481,529853095,-978225917,-1597042616,1749529594,527784517,-1155883756,-1638175474,-1931928754,-2140583150,-209990657,839820034,-307214329,-850891866,-1601120335,-510016470,-1619736345,-1021881211,-1189500527,1883727331,-1130809013,1625073009,-85057326,-421552971,-138461849,-2062391589,1427324000,1456177372,-2005535079,1570727687,581470110,-1209993446,1765287771,-633682751,-1611840232,2123597781,1975403046,-1558691646,-437398223,-1292895632,-1058126087,-917354900,810698362,-1404086589,-902537760,-631759314,-79901552,814580182,760066498,-1636966434,218041826,-1133410228,983309501,-1436955728,-728531167,146610631,-1855580368,-993717988,-1480645947,-795153772,-1463439963,1708137856,-1793856387,-1492682290,708103939,-1600067397,-141918513,-1997347780,1698792315,-157994916,1193859399,966516058,779767846,553354048,1882966675,2049126918,-2042111787,1136362290,-228678138,1889649394,-1500488389,-1365204339,2029570747,-310985781,419901338,-33364446,1955704689,344186056,1880665489,1417632089,-984355622,1955612925,7447606,1978766685,-902068609,-726096496,1323443813,-280379990,1885902670,1599533914,743023525,940808759,-1679797728,1945075210,2085433632,-1537316084,1187604567,-1263246891,479270675,417396013,-1444270465,801118422,1108801400,-1236889304,-626507191,1164666344,1963894319,-1916600783,1372016892,970839335,1742460258,1582543701,-50893800,-1841390759,1003036008,1575155942,-123981297,1462481497,1858564998,-1142367348); +/*FRC*/Random.twister.import_mti(601); void (makeScript(14)); +/*FRC*/count=101; tryItOut("L:with(new encodeURI())this;"); +/*FRC*/Random.twister.import_mta(-1797402242,670849040,-14295181,-155382500,2056790904,469436530,1793484125,-54174608,1793065681,280279461,386176810,129036437,1402959952,-428183142,-1453079042,-343200679,-1950616292,-596058611,1573192432,166823615,-693437083,-581270898,324191156,1192985345,1733547791,-1260516937,1490582521,-671822008,-1823836856,-1759252295,-1014679157,-2104144560,1436161344,-1788860575,-1743081761,820623091,-1873533498,-1681528062,-2110269463,-998806339,1866556742,209388724,-2062775587,531054144,-1029119830,-1659013038,191787042,225542457,272633622,-1697651461,-433737893,538900180,-1026529782,-2137092973,1701824924,-1193051333,-1166896618,989749377,882006496,-1462551958,-1130492817,-825602167,-1614042305,-1548064636,-1884794050,1544704029,-1352464571,-227370948,-169104150,-207488973,-180024286,-486508090,1202210061,-14625030,761320412,712623522,-668585198,-224021865,-1224228342,1232066154,2016385077,584146497,2066332552,-1042538969,-845519561,-2050031659,-227281537,-1406921793,-2033530637,1168127453,-1704637271,1891956540,-1900119745,-1927124120,1342169878,-963287752,662749553,975338376,423013004,1786320721,-826556545,1538014056,513667536,1221183374,952287706,806229106,-742368440,-194238190,-1588746593,-1130711832,418486451,-604848260,1183720957,1702082503,-553490691,838269799,808203195,173452584,-1863827052,1093062012,-182104854,711517376,2024341653,1009698627,1205131777,1735397893,2009664145,565354620,752695503,2058251481,2030965564,82129968,1762540624,-2100043498,-812587506,414317863,1061103247,341963867,-549990409,-1588315412,943332853,-1895151711,342076507,-1067221513,1315513427,321221278,1257751314,1277895213,-1390143003,98582037,1978421394,1318087218,1619583401,-2091321289,-340907245,-549129941,627931418,-1304721282,-1714080710,-117655145,1149364873,661487709,-773100644,-541106063,-1717817116,626583792,775262875,-525887557,-1500993221,881141945,-1892048707,-1586569991,-508993138,1087551149,1106547519,1375351728,1155794273,2123071630,2074333641,488251482,1571955482,-1343695131,-304566436,1000433406,-1047061621,-948385536,1944640406,856607194,-989430503,-237065888,1732518032,-1779297612,418096100,-1455199449,-289147194,889543845,-1794458538,-1981929540,-1772212251,-351066314,-740274526,-728144975,-1921244190,1801776970,-1363774244,-218741492,948806517,1262177509,944103663,-1795243521,-1221946573,-1872668314,515814931,-1246324172,1643127426,-1786020927,637795181,1972089530,-809088259,-734047376,-472197075,1066180643,1626013851,1855884578,1378172129,263524854,807932255,1862699656,-1270556183,641740358,263270707,-1397654133,-440601665,926310933,-622281338,-903467255,-2024838526,-1127808725,2139198497,2100515293,-1175721757,-2001083033,-1823889363,-357851553,1258289949,-1845014790,-784540661,-1413348816,65922983,259990244,-1122729032,-1738284848,976264448,1880674852,996995966,-560284993,-1971130198,1028747968,-1054911623,-1801177613,1561218155,454576279,-1209308985,-845310121,-2011269470,-32770113,1435462332,1173125009,2071371067,-1124714969,62426889,-728013758,-1529868253,-706783824,650256872,1685872844,-834491683,380651575,810714464,-730480709,1453015334,-1076668962,1255869141,-1851090449,1470046053,443930834,-1938615106,-1966371698,310706943,-1638692539,691049518,-1626418839,1718100305,1617815988,92961009,-1337608436,1328605724,-753146592,108526966,-1035258878,34927187,1798286423,-57899588,-1407206535,-473769303,1704073945,-695870290,-1234488242,-898093868,-1197601731,995177033,-2059135473,-1566156233,162311445,-571901861,-1512309959,2123275747,-46104122,109375243,360733836,-567480727,2117099372,-513570080,-1071754357,107534013,1411997159,59109766,-1622865716,-850412950,1519910252,-522300930,-533371225,642872550,-724953976,-1863536113,1047598937,1200492355,-1509666817,-1963633341,64516694,969169242,1254625881,-519874687,-1581500845,-588672513,1342185642,-45265243,-629176895,1259657255,-1559996267,384861907,-167752355,1560324219,-148469348,2072303762,394495603,-431782324,552633944,-838887441,329343875,-1215108559,1797451768,328255254,-1567969873,1257301784,396172303,-1462421981,-804718679,-1364370174,167906530,1548106994,-1175101443,1539140022,-909354661,1220493395,-2022404827,-713617177,1004096371,-1938239294,-27170774,-788382102,-848561474,-309100890,-267503857,1534048123,281327025,1206425069,376196698,1980134940,560893419,445334300,1868577917,313352653,1761631508,1863162325,-1924335557,-900668249,828230128,1385988278,590398877,1528401069,-119022835,121988904,-667114071,-595989119,648573508,42271539,-1558167908,1998852852,-1353568538,1173174966,-786324889,1517054979,-644720282,1764495174,629782652,-437532076,-1566313867,1484924957,2061088117,-855465778,-869237013,850239516,549836281,647212046,-1219257869,1238142083,974591943,-738008686,1712637154,-439600516,-1863554358,-96214035,-281710140,867954485,-43927584,319184225,1338182123,94192406,1644585682,-1402693879,908832017,-813034017,145880671,-487810105,222571440,1003028597,1313144824,-1920502719,1083759814,1689872347,-1006500860,-51169444,1520969134,1104782685,1763505700,574387119,-1702570451,1283116725,-1457948913,-560509564,-549666787,-1260743901,241289139,1722642471,-2029117646,996007189,1325922843,1058387655,-1098985024,699301899,-1414128607,923109459,356448337,-359566057,-236597787,-187766734,-1254440168,569568480,496225164,-421261435,871177358,275340087,1702698673,-1911722591,-305809224,1995906791,-1336376266,1528285922,1057458190,-1512337024,1301863782,303608654,-2065528180,-1825656291,-1062824091,-325992957,2006669044,1110014399,-1185063255,-1695358153,1622060111,608748869,788004861,1337399734,-1618865732,-1294890392,-1612998111,-820004917,-1670783367,1764328306,-1843692686,-77669636,188168388,1672310505,804393622,1949628352,-874005950,1150243547,216121185,1258826202,-1732758686,1199748176,1583655379,-924082515,-337420796,1985930941,1306677471,-1922113694,-967596881,-1114399976,138182894,1021700065,804933389,-759031944,-1840181271,934352771,1581980857,-395831016,-549962625,1374318078,-883973958,-1427303210,955325202,-478657056,-1027452534,11319636,762175782,-1553570992,-372211336,-1568875771,-859834624,1013196973,-823158901,-307427828,1590623371,152322443,751601312,1768792613,-996344994,-1867290986,2068104045,87789431,-1122839745,-1161191086,-1647805104,329626614,-1731130164,2010745690,2066221876,-1067321398,-439958788,676381139,1997394151,338125912,-1369436763,213366191,1517490462,-922665396,-1103048932,-43554824,-629129595,-1531667968,-991268831,-1011870983,-842578444,-1336862222,193436113,25083184,-303471365,-1792117894,851750079,943089058,670652206,1426688621,-1554156526,1945482215,1650500706,-1411749253,-1580110526,1251924334,-1610646779,302794604,1485485831,1815693080,-1384928386,-448651074,626962321,-1344386998,1310498158,1877473480,864820997,-1792872451,1946517340,-1605556433,1216200720,-243699560,1198509480,1100038158,-1209284587,-1684196121,1483612182,-1866951171,-2143417320); +/*FRC*/Random.twister.import_mti(57); void (makeScript(14)); +/*FRC*/count=102; tryItOut("v0 = (f1 instanceof h2);\n/*hhh*/function gliibk(a, x = x, d, x = ++eval, d, NaN, x = /(\\S?)/m, x, x, w = /[^]+?[^].(?=.)**?b|\\3?(?:(?=\\1)){3}/yim, x, e, x, e, y, x, NaN, NaN, let, x, e, c, d, \u3056 = new RegExp(\"(\\\\D?\\\\1(.)\\\\\\uf18d|\\\\v?){137438953473,137438953475}\", \"im\"), b = \"\\uE264\", x, NaN, getter, d, w, x, b = true, x = \"\\u09D5\", x, x, b, x = window, x, x = /(?:(\u4591))/m, y, x, a, x, d, z = '' , x, eval, \"\\uFAF7\" = /x/ , c, x, x, eval, x, x, e, z, x){(x);}gliibk();\n"); +/*FRC*/Random.twister.import_mta(1109655004,2057468122,-1125128093,-429556663,1108257475,-870636384,-411240284,1633680058,2082769053,-1240567625,-2140662617,1065043291,1354776003,-339052220,-606951614,2144479480,-1440983952,1992533354,1963869869,766319046,631906406,-918461262,890293275,-1543744997,317998204,1733167195,1204083106,929708510,-1431178876,2057357282,-1539170251,2108725986,-1092490945,1031526099,999940141,1757146134,1360968928,226636847,-589524272,616634581,-106837723,509635596,-580560767,-1588590782,462569197,-906286486,-1814555365,345052127,1466915345,1905988068,136152123,-1001419817,-100696861,691772649,-1474249545,-1432920803,-90579164,1924482966,-2071653497,545263623,-1032642133,1981942805,-749748068,1772235237,307155468,-2000581369,1780359945,-279663963,488850746,-1201996757,1752064982,729834812,-659235446,1095174745,-2117331624,2042765804,-157399684,-1079790213,-1659644408,65944278,1968727324,247257993,-2144893681,-495543129,-1452548582,1191638437,-2103905366,641617355,-1098843506,2115161256,-1419341960,-1339711734,-1487355296,-142743974,-1312217102,572365533,-652882314,1650448535,1179298523,-2081815437,-1596315383,956262602,2011858879,1366008619,-872236296,-2096024008,659866123,1766091544,895817221,-1536285412,-1379383243,-389641875,-228854928,216104170,371536197,970541572,-1541139611,-2064989239,-1997063059,-2033831830,-2073422619,-2121395964,-835941708,549841723,-872097856,1210224357,1874968520,-1231336507,-1162921392,1490370119,-910032891,426833076,2130540005,925199208,429439085,-141758978,1370334530,808698934,1654908968,-1231346461,-350780064,2093336941,1385752185,-1067825349,338736223,1993657500,44607046,-427499577,200526879,1160040450,814915431,305253608,1471686808,949618924,-587589650,-120191471,-501503788,1313988735,-998183437,1895898422,1006328497,-1981666135,1101721244,-1394001776,1193311644,799883575,-2004020241,-1761772161,-1560368034,-689060250,-2102505060,1608116250,-277896024,-1390503268,-2022918242,778384217,838156104,-1138807769,-415381822,-940031328,680806819,1918928701,-1038328956,1117890532,1890994121,-380233416,-1637032967,-1945101385,1356908656,1082594638,-1980729574,-764399729,-796430561,1635240426,719151438,1844359358,-1280114204,1952208933,-744432916,-393700226,-797710322,215098915,970322970,1174846318,1308594157,768343418,-1137990609,1168266318,341109741,-454708209,54359783,28386964,782862087,-1281159530,-870227843,-986794297,2132236594,-394389117,1700642682,1550395984,645613644,2065278139,1051492327,1612849322,-274344470,-110937603,1292036421,-2001196678,-2131362385,1902481721,-1459407021,1993873541,-376566263,410596813,460418878,454210795,-644729132,1709047566,-356852538,-271794162,73578933,992764707,381340943,1953656846,1379151865,-315788062,668295641,-1209467677,-433445303,1624885732,869474547,-1273080139,738913706,1803379767,-30974573,74337703,466457572,-762806081,-441855346,-1396224621,1422742587,2102273296,1540862876,399262575,-1564473617,1786253413,-881913101,739866447,-1108846201,399721184,-122498119,1811643750,-1412734690,-6208754,-568793775,-811199697,1923773173,133369880,1678671465,-1123227618,-1363398065,1763954007,-1667559373,-775098938,1326659377,-1802890745,2060560460,-2077733265,1611401400,-1800823132,-777362073,1466202190,-1098183038,673390051,-277628456,689574384,529289429,-1022325690,-562107322,1753000669,18961486,1925995483,923043787,1124032883,967008743,-664678048,-1227493553,-1061153231,-404830837,409644764,726829895,-1079466597,-792489765,-1923479160,-954234041,1237249558,925552849,-1935230198,1323897597,1624135009,-1739836641,942303796,-1695376282,1447658002,-838909408,-235851642,613941142,700753446,-1218669859,2770836,-576479754,1189935989,-2117159058,-565652866,1422136643,61908706,1246689843,245296778,-44317287,-1010978848,-1462166859,1341021505,1164525884,-439829410,696632004,-708858456,-135349731,701389655,876736015,-404898930,-1693618998,980583835,295519287,-596938770,1373468370,787963016,-101820817,-1118117841,-1568306022,-267351349,-998273757,-644900470,1113155096,719723008,-822613951,-92313183,609977511,221710706,1490345852,-561873230,-673476180,-737923050,-763238059,964731270,180915297,-308003075,52956717,169841856,-2017208973,1135831326,-2013464513,-619411374,-1452238214,-99806241,1324586276,1631407282,-1498330298,-958391666,1332588909,-507464127,-1338875130,-2114182796,1926146867,-15149306,1587838991,1362724678,-1426223236,-2057263782,79635200,1477655966,-363712828,1299861402,-1462523687,-651653833,-531842496,-20800652,1232999323,-440482252,852752289,-1199421949,-1121420970,1215474293,614670416,-351044685,-1879121536,-1942136704,2057080675,1682916502,-1324304537,1193303065,1971058932,1999753627,-1932932838,-1317754537,-120987535,-593261271,-1256556888,105665580,-426240752,-368791561,1196439355,-996446137,-425312558,-1745204721,-1410525687,1490001156,171791748,-1099919550,-1253637156,1076412648,-52077933,-853764913,796470150,320146073,1647412730,-1559599501,-900429501,-1155270676,786555488,980382658,-372504108,-773993913,1732713652,-24512262,1177074008,-1450203679,1518187390,-1599637019,900430242,1851325463,-2033318909,239326009,688622843,1858422692,993233746,1614734258,327223325,-1537880780,-46309585,-1598863552,-883331573,-1509887026,590234503,-1000832497,-1047450955,-468724620,493647651,-1533501192,-1631473875,-1833042009,1331353344,-71723326,2092843612,30517708,-1787052061,-1464988880,288140120,-1414364145,854525005,-1026200688,-862969620,213554828,1838929639,-1050389060,-1912471862,1669773745,-1049928063,2055977048,1907023439,-1118512874,1330040058,-895482736,-1651888989,1987810699,615114401,1983219183,-2034448002,-609418297,1264741556,924398366,-1001494117,1350076839,165847181,-227269507,-545383333,-36482470,-286766011,-1089032563,-645633883,401027328,1543409181,-196486978,-627750367,-1029559382,-1066061111,1954326884,48749197,2086124317,-290917474,-1027231480,1814811700,1641139720,-912043050,-1292463716,338720915,-861735913,-633502903,-650327081,1142551994,-857887404,824903232,-1861567536,-1503728650,-676665323,-1957846739,578181020,-1350477132,-854997500,215677315,1362257693,1669344493,1029727514,1025633112,-1193417922,-300195580,1942767970,-130218106,-1723585245,1898369922,676130387,1788770745,713328568,-1025519986,-2095302072,271160343,-286078370,1453662585,304840231,-1623851928,11074235,-2102101122,-710021217,-838933125,416471987,-339500575,1310352796,-596851417,257284348,-212005314,-351376908,116169032,304955261,1607456350,732229434,2094986918,-1373767056,1050860201,551250489,-438594452,-675701058,-2035774219,-1597693662,-496147965,1732561208,-613502474,-1118482262,1424630920,824618164,-1080053029,-458753299,1714141085,-64869783,1358798297,-680490494,-1865767017,-1360359492,-2058941867,-1844076696,-956044836,1639573856,853539739,860929960,-1072169897,52325682,665126551,-1204166717,-926544320,882844197,759392458,-1061258771,422567456,-151847303,-1705618144,-873696878); +/*FRC*/Random.twister.import_mti(442); void (makeScript(14)); +/*FRC*/count=103; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return Math.trunc((Math.fround(( + Math.fround(y))) >>> ( + (Math.ceil(((((Math.abs(( + x)) >>> 0) === (y >>> 0)) >>> 0) >>> 0)) >>> 0)))); }); testMathyFunction(mathy1, [1/0, -0x0ffffffff, 42, -Number.MAX_VALUE, 0/0, Number.MAX_VALUE, 0, 0x100000000, 0x07fffffff, -0x080000000, Number.MIN_VALUE, 0x100000001, -0, -1/0, 1, Math.PI, -0x07fffffff, 0x080000000, -Number.MIN_VALUE, 0x0ffffffff, -0x100000000, 0x080000001, -0x080000001, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(566); void (makeScript(14)); +/*FRC*/count=104; tryItOut("mathy3 = (function(x, y) { return (Math.fround(( + ( + Math.sinh(( ! ( + Math.fround((Math.fround(0/0) ? Math.fround(y) : Math.fround(x))))))))) > (Math.exp(Math.atan2(( + Math.trunc(x)), ( + ( ~ (x | 0))))) | 0)); }); testMathyFunction(mathy3, [-0x0ffffffff, -Number.MIN_VALUE, 0x100000001, Math.PI, Number.MIN_VALUE, -1/0, -0, 0x0ffffffff, 42, -0x080000000, 0x100000000, -0x100000000, 0/0, 1/0, -0x07fffffff, -Number.MAX_VALUE, 0x080000001, Number.MAX_VALUE, 0x07fffffff, 0x100000001, -0x080000001, 0x080000000, 1, 0]); "); +/*FRC*/Random.twister.import_mta(-1204709065,-2084542482,-1305922715,308136826,1803017674,-613559157,-1450741654,1196838609,2093814768,-1874679529,587977798,-2084873825,-1922598239,-792646921,932953609,833423976,-1871533818,745632265,-1695820701,1749655376,1089468111,1922064821,-808008245,1006754506,-576821911,-1356094005,-1430145608,-309258061,-1577849128,1043584621,2022971741,1625313616,766637121,-1013680142,-255424948,-836149086,137617607,-2054987935,-1817730639,-1343946295,-247416508,50143043,276874057,673510714,-371129862,-6450732,-1068158039,-795961299,-1681396095,1465056129,819928,-887690034,-134607511,1691674448,496948246,436990758,-2016191695,-580747196,1623661885,-498297996,1119801136,470587884,-2088675270,-1880527611,-1825856155,-989057632,-1066950103,1973561807,-451203720,1739995638,-1315569750,-781766166,1494774451,-876649305,-622730440,409035065,42068077,-1894202959,-1510422241,666912173,986611171,131784053,2056126763,468662285,20077775,2113026953,-876199946,-1975795036,-676893340,77589732,-207598710,1631806845,-1184130883,-1804291307,-994251971,1091645916,692259112,875305848,-75822249,135199450,653528125,-749261489,216643676,1766297990,-1960271988,1462304121,1121558535,-1491870340,1677891425,1230003643,919009198,844076300,1902742891,1448362470,1284779173,-2097669664,688518470,34419378,-1095742865,903214824,-3037681,-1097716225,-561155006,2113725949,156249875,-311061051,1088896663,-1658671135,-2128705896,-1089574320,821018951,1222572467,-648608580,-101762851,1511504119,-1586134665,-1427147897,627149959,1323816633,-1347010055,1045864382,-195217831,1979203094,-499389264,-1436492386,-1492469547,2111846185,1472002045,14958493,784377304,-1005510544,654765519,1300194155,1308436250,-670837043,1277968178,1191027678,1431545634,189581305,2093488641,79530920,301180108,1043886619,151930743,-1537566724,1603401638,1365914664,1096204856,-2054936211,401738167,2110229034,-1467863492,1445443573,-1056825167,462931692,-721126689,-1613365889,-1738718592,770065612,288248105,-1351799875,-766303236,-1973503482,-1480652173,646329313,-1980691587,-190557634,346985118,-1906413353,979034404,-789852895,345019196,-1493009845,-1815724974,-1775076995,-72031503,-2073930251,-222372736,-921624939,1020514447,-297332870,-1552594730,-945510566,-639844172,-356002604,-673120495,-1247698907,65561278,93381988,1573978617,-1832055774,1231002240,2020109867,-842531974,-925936620,-1080274738,-1372991188,1426839850,-1777513749,-604263834,-1877262169,-1424103450,-256939592,788346069,323736152,1709150557,-810523345,1631835967,1652170669,1067456531,-264669209,-960992751,240778930,-1539323915,-740842373,1342441626,-492022128,374782501,-195217000,1449039524,1415556025,-1513199535,194261615,543165989,451397752,1342821456,-357215746,-1426959052,50103623,1329063277,-1090109105,-1952771140,60663567,215657390,917409471,-1407899862,-1904269587,172027930,-1349826746,-555749757,-46963334,-584228990,1556607434,-2141498513,1773660044,790140951,1625361073,1992041816,1226096179,-1244587446,1574521737,-66801291,-2142425005,911339998,777331045,2073716516,1420522381,-1425863373,-711943999,967615633,-1991397084,-1965298480,1928168901,2035445878,1311717784,498059547,2035287196,850971500,374888126,1918687830,-463777502,-1938939356,135598990,-136413499,556736823,1943385549,1178501077,-559249015,1011995739,1502140564,1808923029,1483411458,-1609146017,-2024216511,-1557649151,1738182247,-559350166,-802574343,1273989659,-164629417,-1657546209,-262462339,996097869,826362506,-287001169,1429910995,46969185,232550955,-936575214,742732269,-933132785,-909794034,708178133,264022072,1288995643,-1456409444,485272009,-1538067060,-1824387451,574125735,-1824957213,-1949318085,940348486,-1313662343,-1496609267,-668116313,1310665470,-1855740483,1402028796,-1139953426,-1465131111,1847626811,-1340323889,2110460964,684909670,1548724158,-130389092,2096751063,-1921191880,-1827945945,-1177741329,-1734984233,-1019207118,671712766,-1973878363,618732912,2024516248,1638729482,-1445065719,576746226,-1792478184,993725435,-1274639241,345782136,-1051293560,-2050841547,-1456618176,305983488,-618919680,504755904,-2009467717,1512610283,-70588394,-510869050,-127510436,-663189420,735014840,1593342486,1189042496,-678842453,544695091,-1933861904,-1474165246,562325836,1707934075,403989082,532158278,-100408383,-1206169805,1713456024,1240487885,1144353466,1612553253,-1489976080,1774846363,-1862603053,1430412058,1066933162,-2071219981,1661902999,-1480652932,-1762221473,546868379,-269246369,-415494342,-799932962,603009587,1863082162,1461366818,-724924755,1519316886,886547401,628098683,-1285872898,1387282142,1779992505,142426991,1365976653,-301462033,-1648392655,827745344,-1873371664,973473413,1628312850,99068619,-1818483263,2146826905,-586480142,1333768178,1023675416,1654245448,-1718301763,85289673,2036308990,1871686716,9326502,1122584152,-932278836,692845300,-552438851,843121090,-1619803689,790521181,-1624173615,-578397492,1781513877,-2039852656,-949243497,-1238737401,-1001820846,-551853783,1625840642,1520135456,-1398523517,-326322928,256165394,-1225059266,-1427322058,1755096261,-1808380820,2048302774,1583010521,1734781768,-13266119,642370556,1687489865,1148481598,-1278626575,-174601231,-147835467,1935701954,-763864732,-349362808,326464635,-654983410,-717091319,1568388369,1768826374,1540185264,1680919695,822501583,1223798673,-1392643124,499796419,1578628482,-417525014,1376656475,1028413315,-62395830,982507964,-972679127,-965559264,262845129,669119956,-1636316833,-257318484,-929773978,-66808719,-491856386,-403810770,318894998,-107444245,-1716576962,-537448446,152141595,-691078018,-848128595,-318994562,-1856539297,-910032425,-2006547334,-740894463,-1113756678,-1880638866,1280401985,-131809213,-1260438065,294770095,-945964380,-1125981089,-839216486,-714263304,310681624,-1089710482,-1533747909,-1540716094,-22301243,1552253018,956942470,-704410811,-1213198523,-2013691670,1054983849,230191868,1869636909,-1074136224,62464355,-12640062,-701107497,1674230893,969152354,-1110720428,-1478004474,-563949272,1558665701,-538160568,1254216431,386157073,2018780767,-2097326468,286038709,1380218519,-1252129533,1809914187,-575352515,-1352889018,-141373207,-341166814,115409869,-1807017915,-1527686747,-2019268278,-1717352573,-1627172822,-1508196206,-1580506465,739295010,-1489952339,-1216593479,-1320781200,-1911205068,-685431292,-1993442632,1423117235,469029657,977412724,-727634343,-2140958480,-317650643,-2143916394,-1206408545,-1514214774,825453293,1187303883,1990457906,1871171970,-1425705167,-1480245714,1357366436,1851423442,1157539817,694716758,-161431383,-2070241861,1284921429,-1318511804,109486234,251567369,-1317809086,299336455,1184195629,152053359,-205468331,-90010452,160251336,-1653314379,-1635557345,1140234205,-60330176,675629840,942421656,-590458993,1503352003,-1788730158,2132262143,-596097005,-1520016811,1599202216,-43843949,747270965,88148755,618736395,-183708134,-1873664162); +/*FRC*/Random.twister.import_mti(100); void (makeScript(14)); +/*FRC*/count=105; tryItOut("this.h0.iterate = f1;"); +/*FRC*/Random.twister.import_mti(114); void (makeScript(14)); +/*FRC*/count=106; tryItOut("testMathyFunction(mathy2, ['/0/', (new String('')), 0.1, [], (new Boolean(true)), objectEmulatingUndefined(), ({toString:function(){return '0';}}), -0, undefined, '', (new Number(0)), [0], 0, ({valueOf:function(){return 0;}}), null, (new Boolean(false)), (new Number(-0)), '\\0', '0', (function(){return 0;}), true, NaN, false, 1, ({valueOf:function(){return '0';}}), /0/]); "); +/*FRC*/Random.twister.import_mti(148); void (makeScript(14)); +/*FRC*/count=107; tryItOut("p2.toSource = (function() { try { s2 = m2.get(i2); } catch(e0) { } try { t0 = t2.subarray(13); } catch(e1) { } try { for (var p in b2) { try { Object.defineProperty(this, \"v0\", { configurable: (Array.from)(window), enumerable: false, get: function() { return g0.eval(\"o0 = e0.__proto__;\"); } }); } catch(e0) { } try { h2.delete = f0; } catch(e1) { } try { m0.get(o0.h2); } catch(e2) { } m2.delete(f0); } } catch(e2) { } g0.g0.a1 = Array.prototype.slice.call(a2, 5, NaN); return g1; });"); +/*FRC*/Random.twister.import_mti(398); void (makeScript(14)); +/*FRC*/count=108; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return ( + (( + Math.log(( + ( + Math.atanh(Math.min(y, (Math.hypot(x, 1/0) | 0))))))) | 0)); }); testMathyFunction(mathy5, [0x100000000, 0x0ffffffff, 0/0, -0x100000000, -0, 0x080000000, 0x080000001, -Number.MIN_VALUE, -0x080000001, 0x100000001, 1/0, -0x07fffffff, Number.MAX_VALUE, 0x100000001, -0x080000000, -Number.MAX_VALUE, -0x0ffffffff, 42, Number.MIN_VALUE, Math.PI, 1, -1/0, 0x07fffffff, 0]); "); +/*FRC*/Random.twister.import_mti(502); void (makeScript(14)); +/*FRC*/count=109; tryItOut("Object.defineProperty(this, \"v1\", { configurable: false, enumerable: false, get: function() { /*RXUB*/var r = r0; var s = \"\\u4591\"; print(s.search(r)); return t2.byteOffset; } });"); +/*FRC*/Random.twister.import_mta(2121803869,1150785950,706757930,-1845171815,575207621,1952134318,357578728,-648378686,1098389898,1920260112,-136741726,-2002666067,631415561,-1739882419,738273021,759780088,2087398181,-959618000,507267089,-1325266729,-248797624,1357635541,-1010865324,-2037258709,1590427594,1869012057,-1899091564,1428053415,1435336232,-625522968,-310694566,-1062214387,483276769,452627310,-25134100,-670815627,-493452143,-1084961733,-831225955,977869562,270054066,-1207751793,-889190112,112296255,-524482243,-700691370,1853812504,158145875,-1735494774,-2039738116,-488585232,1423960172,-1239212294,-774632670,1844290961,-1065717657,-1038779999,99060561,1046646696,-677088346,-1528133696,1767639256,1254771249,-1433666341,1021101065,-1638020477,485242625,348413248,390992306,1555992555,-612750332,1262199,1273444153,504399454,121657639,1936023905,-1913543556,318860126,531274752,-652985537,-208930717,-8196870,-254812074,-1466433929,-285212022,-1994462153,1490528401,902054704,-1521294184,1809725854,-723167774,2046465739,-373487383,1028709736,-1493556018,453719645,1039661160,985857067,-1263608639,1122398375,1286058505,-1529216560,-749887763,378911824,184830344,566984162,-864100676,-501709708,1802396284,-703467910,-170177032,820708149,-488103644,925115127,-760556047,-384200359,-1897848009,-905840727,-1563542729,306142743,-674204785,-1462042491,1528047230,1348089292,2061455045,-335573108,680898881,-467952009,-72499990,1070917049,-505263012,362957528,872196084,1135829985,239857806,-224473163,-973077408,-787792210,824863555,1553100476,1545145137,-1396052516,1389840949,1827961261,2001087713,1075829325,1823742473,-979503372,-930348892,1758020311,-577795031,-941414603,-1543256591,-1543126772,877816078,-1776233236,1095289562,1092223518,137375897,-171174595,-481040572,-2131391969,163875617,-1227091365,-395537767,-1323934313,-1079496394,1037067515,1933235867,317946423,-1284491597,1164389020,147839735,-1008816062,1689234356,1607218392,419277555,1292366207,-1411532225,1511983960,-381026034,-1472310226,1256282992,1918632880,944693227,1264665586,210999428,-393973114,850043152,444080510,-309495888,-630306466,666461435,-1762710648,-843429647,760830604,-37358597,-1323931712,1980253148,832907047,1598306658,-761165841,2100945757,871796295,-68622024,806923672,-1151943181,189091706,714366102,-1746541042,660167325,1499195530,245806765,1548459154,-2097125400,244300885,-1587129,-317085355,-1316643552,1952674521,182390875,-2060105137,-486778496,216326719,-1895410822,1272730706,2046524446,-699558060,-1035000504,-1959506426,1750101070,1701054364,-11769973,-441232118,-1319599473,1882075842,-1604897315,-839393170,-477169921,-1769617910,329516218,-255619307,-1536039627,1897451289,-288780776,728162542,-461692339,693982260,-294085188,1161100076,-1017352203,-2045928302,1762363790,210886164,1125436978,-1950720639,-1617477915,-88174855,919118483,1649902940,1953244335,-1864137975,1092694813,-1773308073,835727599,1728858650,18286678,-1382392460,-1561614678,1021582395,-1581553318,965943755,-1928022855,-530788491,882912961,735279763,182789818,287325007,-1862202629,-1299855768,-1799750326,-1919690836,-53262244,-452795027,-1841766653,46829030,-822602224,-1345934177,1349674483,2028462752,-323162679,2027310542,1018840382,-713877691,-1272563847,-1386635641,-354190352,475690742,752299581,-418940116,841289311,-1908156073,-1446926946,1164771363,-104555342,822010677,671636508,259296689,1570612750,660520326,1236458646,732376563,-1849800334,-156417383,-967726842,1027345655,-197611436,-252499349,-1227833630,1418033969,1504841711,1793617019,483746369,-2104162006,777684581,1674590458,1355745889,-1676802668,1825475164,1138327619,-897913198,1459749803,-1608892415,101951845,386308600,207746819,1202228347,-1676415866,787340098,800423479,-650324939,1403799241,-1745085621,-1702342396,-467262346,-1630335239,-179626461,-781317229,2018922825,-1627775658,-2061919240,461332444,-1074049677,-1263435444,-1234497329,-940021338,251815484,1812331143,1150448545,963173880,-2027530557,-1925183894,-1194273783,-424984540,182639723,1706854883,361502396,1905725361,-473753924,-809303881,-1729591929,1252219114,819575470,277296679,-1449020706,-1653885064,1203077084,-18866039,1966030911,1831912631,-1571287820,1615030799,-958209974,-358155592,1292907315,132922170,1371886594,643231746,-203084845,-1271656424,-1798919418,1097526356,-1567735825,1380286756,-1398430899,429652758,222263266,675110421,-1377252856,454056265,296571314,-1377084122,-247639000,1801694574,623841168,1663931385,1838758657,-1027122913,458467239,665201851,-247504245,-1275171831,1389154957,1707837419,1149272453,-1348685704,-1413152121,1132577176,230242969,2131908315,-1631296144,162659180,501108741,1715377729,567330303,-1862660529,522233310,956034715,-870088221,1282738041,-1506518202,543878275,213344359,-1936626707,184707241,199294906,-1278041880,1945937895,-270900853,1468413516,-889533274,1300751769,-1742764702,-1859853023,17221312,-1297041944,-1898046771,-926773369,-418251546,343497163,2089864254,-1572084246,-997787572,264054422,-1846545315,-650989737,-566088803,-2062119181,1870602666,-2109265712,1402375353,-2098473173,-692302975,-210513885,1723192853,-1045115168,376024237,-261664355,307438864,-574497068,1478812587,-1688265508,-69932532,-939393590,-621485073,432928747,1904470063,-289750611,756894218,-394262218,-1310607101,1433024468,1549257151,-1331903452,-919599220,-960029599,-436658622,1246744970,-844860457,-81096746,-176936633,-284305068,1962717424,-1759224794,-707883614,-962476647,-605100324,-789837915,1248070364,-996913806,1167604831,2021105758,1143530130,-681235992,977749360,1857089778,-990149161,1159395130,1887070104,-1193276831,367081778,-856265986,1161384145,836245487,182221921,-1827320885,-1457014616,-814600037,-1079013570,1514605683,-1077572295,-43751563,-1293961808,564241842,1313813015,-896908288,-1991918847,782363164,1011526698,1796281059,110215254,1069338425,908253771,-2034704811,277377025,-2058779040,415313383,-1147103966,-1018510566,-1923333437,-397892941,-1784540795,1376609379,54766713,-553319601,1253631818,-972034330,-57627617,1805043525,-849633340,851411646,-1375914949,-1893202816,-417476064,-878689481,-1911598345,906795730,268623787,-1003536554,1802132492,1170316736,-1025537306,1138777878,346418226,1442770198,2028307667,-1524277698,462046262,185564145,-789138735,-249904634,-1599006422,1840397311,1639565168,-867231063,-888244550,-557066962,1788456881,1533307031,2063083747,-428936183,2012878182,2106765724,877894437,1539707462,-937920282,1787445999,-279595887,-1167246589,61290274,-232848241,-1462104864,-1090947103,-355497399,1763934739,-1602205967,1370816236,-2142146650,-1690293834,-1969506201,-1928882737,155804843,-533008082,57925944,1767024140,-1553579793,-1782366330,-1670661292,878825351,-621479162,1573481888,-1193989747,224209235,-1220134238,-1855822636,945728038,-610475572,863986832,-1910020847,958794425,-650271618,-1776039872,1370679481,-351546605); +/*FRC*/Random.twister.import_mti(566); void (makeScript(14)); +/*FRC*/count=110; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"(?!(?!\\\\b))\", \"gym\"); var s = \"\"; print(r.test(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mta(175543002,-1191647075,-1961190054,-645817073,-1748580495,-74100772,1204743695,1167262549,1511522289,1450542416,530528022,-796244228,-1299489726,1043808554,-1520777867,-168691776,1185756659,-1835657902,773129420,-749678173,-1292067155,744918835,-1521347311,-241067371,-1492507233,448349391,-1783035827,186022635,-1113477829,1771910003,-1046172478,457976524,1091060430,-1720424784,-715110042,-453733648,1244904751,-181344328,1455715015,-1143014991,-151682305,-1973787365,-1915337204,1672280295,647611314,-283053330,211475287,222428933,-242827882,-5342923,-1565688911,-67079269,2090032218,-1821462999,461270278,1015346243,-733588511,-1898007671,-220162428,-1942525827,-239564129,-753748883,235562594,-1796186526,349012661,29548766,-116261245,1829953228,1994602954,1003797167,694567033,-1364717997,-758538757,-1030979609,1004870835,-47433678,-2122233755,-719213073,-1404085589,-1857116991,-1854162992,1434106401,633554642,-966674362,-1997672176,-1456165592,-1434524228,-610699840,-1289224018,-812927821,-1346754000,1618102140,-1518149278,-435602656,998306469,1778863300,323850988,1452364573,1054493973,1689620231,-1031731379,-1161136779,-1881238694,1075452059,1754406575,1645710796,-1503040558,1341158478,1169688527,-1105845461,-2073573761,1091467018,2054859717,-1514347755,561123981,-1690209899,-841982748,-1028402907,1124226079,466039216,35061766,-769287167,1919555221,463641220,-929324877,2141052367,-1968907690,865725538,208176643,-1179345617,1685114736,632618960,-742386740,28588049,-1610934212,1428347003,-297975550,-787090049,-1426017986,-1346037600,-1379638324,858379999,573492938,1256391708,749030524,-44049992,562910979,-1153236195,-1479215362,1908447277,107581274,-1600154270,-1621524670,1754707513,-1494393267,-276012563,-946810065,1454435236,769779894,1202022768,-915363205,432392729,-385030658,-1459657645,56366322,473188237,-750424432,-177523068,-392918761,630584760,2033832312,-1772083627,-249959696,-2092099620,-1890122938,-121348519,-567111920,1084847977,-1509821674,-361835095,1049003430,1041548591,1138108731,1665215267,1380627615,2077982174,1155686,43205326,-987469735,1548548407,-2107469762,1891187105,147890918,231378984,-25779802,420691651,-1304118871,304587773,559572413,2115428957,805903502,2094295239,174608283,-1326194349,1363489383,1687756552,1188120197,2081982535,-1466649624,1600594455,-1329180911,-1439030258,-187615921,1548312148,1721386872,-1415152209,1489133271,-912217532,-613964907,1207687486,-1460833944,-10925615,-430126215,-557937213,-204610967,1833916086,-1070786375,1800470654,-43855970,-13456515,-348938559,828916843,-1991449255,-2039865449,1032067636,-751512128,814642535,-145687370,-1681349127,-78029281,-1621215617,1852475184,343220371,1909060351,-953850587,-2061490891,-2013365319,-2050961293,1325200037,502567476,-1297656612,-745545384,485600197,-1271697580,-1748769548,1801618070,-1916091184,63458644,711452770,-499720122,135075819,754475063,1994037636,-1949100665,-961101131,1448081132,-1391208693,-1484762710,1293999065,-1660161375,-1502750499,-1189402319,101066123,-809337624,-2120158573,-185323829,1849087053,858082835,-1522364241,919577343,-710457857,1696057640,-687000022,72518847,-809765510,-711156340,1121750765,8980665,-278837955,-1587765159,-392464251,177250346,-1301029981,973755872,-1565089456,59933746,1979285972,-1509595208,-1658080315,315861515,1554326419,1862651516,110233852,-1117583812,341208234,-1203014491,268194502,-1078631209,1188422882,18491545,1253744224,-2144152151,1265286331,-917098177,470795108,-1993058172,788173145,-187534015,-1825027525,273897034,1249230274,-1394412710,1800259665,-580361983,1736003424,-1883932422,1790086605,-1259978141,36570507,-1427905517,-1298945647,-510161296,-1206457951,-1377163474,-792183024,-10161875,-1340091032,-753849378,-807634738,-806588160,1432514734,-1283149833,-704292585,-1077719329,349365894,-1599116335,-361200474,-415983491,-581397846,820435817,1444754794,1315878613,633675113,1218044654,1348851889,1273607453,381604019,-550418817,956338476,1230735474,1192508196,1520157415,645363817,843358184,2059600209,-1580811680,235286439,-1675237230,-842996133,-145605418,800237673,885625131,1813312116,895323756,-168372063,-1005696752,-675792714,-436822118,252659686,-1904903880,-2118143007,-2053362072,-1696654159,940604009,1430713913,84099767,1418596721,1770688333,1138737685,-1552961411,-934669703,-1961640998,1964410655,1545539561,-1180251377,-301255962,-1467749779,1875752060,1122023982,-103857623,-1783056049,-137778862,-1921677074,-861599528,-399045046,163962441,1376111097,-366483798,-1261476947,-499046239,-1548309000,-1574671098,-801763596,-1151774085,358423282,164518341,1032591867,498515373,-700931565,129142878,1225944478,1771125115,-1291532996,1000631177,-2091772923,1858746194,-77355569,-1894749024,-2082055260,426926648,2043553741,-837406069,-69658079,-1705459186,2045310874,-1317149796,-1080966853,505663243,-1040629976,-777235684,-1551754169,1788184009,2050801632,406928823,-788991824,83893804,-1164825054,-614101221,745362923,-669733530,-811892938,-1852924337,714196477,1372738120,-1631525110,189491855,615603419,-1668542956,810274819,2039419866,504841437,-808284373,864390414,-623104334,-678782010,1240777584,1516389902,-696802057,1082812506,-512761447,2087091345,-1160835037,-517940272,1938602641,1345231705,-281692563,-1281277379,-467013159,-405805629,-586561637,-561613634,551596276,1932320900,-380451050,-106728517,1486579523,-2028926845,-1210605857,1366108124,-1788330504,-61474515,-1127703859,1574820095,-940273190,1574437817,551004343,1819623852,-1017127501,-1689186424,-37581957,-201741113,-1548450854,-549012929,857044725,75314794,506978971,1413667170,-308644301,-529564473,-1644320077,573159872,875556301,1417160356,-558235646,-1878319741,-1141728919,1609369803,-1219707110,-21260596,882486752,-575613307,-69633144,1396856555,-875124736,-2092939848,1082252954,1166237445,1115714950,-1014630446,98232535,1001771391,-1773162160,572500816,-558835175,-1122916377,-1816280370,483025416,723517421,1603552279,-1505338051,445614370,-335429238,295517799,-1737449439,-1852963100,-1338000056,-149704550,-1497993537,-1974518600,840042766,1386105795,552422688,-63204886,-1771430775,1793678279,1495812322,1005206297,-1870383558,-1809670026,-1695144127,-1937382819,-1321725797,-181008588,-1696554013,1986746728,-582035503,-2111220965,-907182711,49759808,-1366804460,-275004854,-83670106,-1871476631,1431812397,-2102156512,-1304594371,-593314706,-492326402,-367390085,-1879386190,862251101,1856798847,-926365616,996006288,-79857140,-716373884,-403053851,-2094393734,457726326,-2039461135,1714002328,-1128854914,1302974363,-476094863,359496501,-1524983507,-142963963,1645395122,-393413177,-1281390516,-386822938,-974413770,-2051556980,-485397584,1833766706,1173280805,-1069505390,1116202237,-1461300245,-197416351,-1116578192,-1964977585,513826790,473899803,900061790,1846653683,-87031243,1448153134,1317539417,1502106912,386853833,1215762316,1116105648,-306666752); +/*FRC*/Random.twister.import_mti(48); void (makeScript(14)); +/*FRC*/count=111; tryItOut("mathy5 = (function(x, y) { return mathy2(Math.trunc(Math.pow(x, (((Math.imul((x >>> 0), (((-0 >>> 0) < (y >>> 0)) >>> 0)) >>> 0) === (( + (y / Math.fround(Math.cosh(Math.fround(y))))) >>> 0)) >>> 0))), Math.fround(Math.log2(Math.fround(Math.atan2(( ! ((0x080000000 | y) | 0)), Math.atanh(( + Math.imul((x % (-0x080000000 + x)), Math.fround(Math.min(x, x)))))))))); }); testMathyFunction(mathy5, [0x100000001, -0x080000001, Number.MIN_VALUE, -1/0, -0x0ffffffff, 1/0, 0, Math.PI, 0x080000000, -Number.MIN_VALUE, 0x080000001, -0x07fffffff, 0x100000001, 0x100000000, 0x0ffffffff, -0x080000000, -0, 1, -0x100000000, 0/0, 42, -Number.MAX_VALUE, Number.MAX_VALUE, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(331); void (makeScript(14)); +/*FRC*/count=112; tryItOut("s0 += s1;var rvobde = new ArrayBuffer(4); var rvobde_0 = new Uint16Array(rvobde); var rvobde_1 = new Uint8Array(rvobde); rvobde_1[0] = -14; undefined;print(throw ({a1:1}));function(q) { return q; }this.v1.__proto__ = g0;"); +/*FRC*/Random.twister.import_mti(455); void (makeScript(14)); +/*FRC*/count=113; tryItOut("s2 += 'x';"); +/*FRC*/Random.twister.import_mti(464); void (makeScript(14)); +/*FRC*/count=114; tryItOut("const y, d = (4277);M:if((x % 63 == 20)) print(window); else {(window);return; }"); +/*FRC*/Random.twister.import_mti(602); void (makeScript(14)); +/*FRC*/count=115; tryItOut("mathy3 = (function(x, y) { return mathy2((Math.fround(((((Math.hypot((Math.ceil(x) >>> 0), y) != Math.imul(Math.PI, (Math.round((1/0 | 0)) | 0))) | 0) === (( + Math.min(((( + Math.atan2(x, y)) | 0) ^ y), ( + ((x >>> 0) + 0x100000001)))) | 0)) * ( + ( + ( + Math.atan2(Math.trunc(Math.fround(x)), ( + Math.fround((Math.fround(y) < Math.fround(x)))))))))) | 0), (( + Math.fround((( - (y >>> 0)) >>> 0))) >>> 0)); }); testMathyFunction(mathy3, [Number.MIN_VALUE, -Number.MIN_VALUE, 0x07fffffff, 0x080000001, 0x100000000, 0x100000001, -0x080000001, 0/0, Math.PI, -1/0, -Number.MAX_VALUE, 0x100000001, -0, 42, Number.MAX_VALUE, -0x07fffffff, 0, 0x080000000, 0x0ffffffff, -0x080000000, -0x100000000, 1/0, 1, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mta(-356945683,124646531,201800817,1196649000,-1979511108,2006601526,2003057069,1546928493,587144417,1573540466,-1033714220,-309670516,-1118140364,672366493,-656632090,711468242,-1307420462,1113036948,-1183940149,-33888654,-762492181,1570314308,-429199925,-2086678642,-1111151677,550564293,-416815581,76182087,-2096357836,-609094738,-1028228666,-1553827133,365449568,327025534,-1133741069,130577513,-1597984302,-1954382298,899297179,1575202971,-1039774375,-2028856274,963813296,-1328611938,1560673470,-1518771564,-2014743830,-398741893,-471887255,1925980965,1013777929,1378155462,1219185325,-2111551051,381965489,-1715839790,-1883915437,-407851960,-732402066,-983193269,1812849917,2001658674,1945582827,-847694504,-818675900,-1778007408,-1403698732,-319092957,-854184200,-673589523,1479217921,-1327098248,421621429,-1197719017,-2074538950,954781501,-2146116423,-1627289901,1050301650,-82011691,396106774,-181516630,-29811784,-1695511498,1954211424,638816858,-2069987850,-1606978580,-1504309819,-791929445,-940655263,1135368045,-429088664,949825696,-1983169361,1417351561,1974765707,-608332308,-1954160661,-734170411,120739798,-591509979,80164841,1589121871,-1832958660,-864940074,1424837842,-1079409326,-1741405231,-1887860094,-1927459402,1146788346,371944422,-342359975,-1601706536,848300246,652957775,1753384787,-1240399439,1592166600,123126213,512109913,961077410,1626715651,488580528,1443904448,-1843765711,477935206,-984407854,935016637,1348078190,-362414540,-603438080,877157729,1708551602,352390097,791842937,-393085064,-1000386914,1244156910,-343694243,1317217138,-2093490381,215822108,-760337066,-665639623,484020592,-1033601637,1373061505,-198740169,-1225153522,-974945511,-548281651,-656387014,-836514551,117131426,-47027877,2082058140,2063268954,-2040865029,1164862441,-1599810935,1468081591,-852760540,640320386,-594235268,-531285855,-1691767492,-1887163123,-1095386201,1540742780,2054927160,-282151942,-1473231895,510252117,-9777183,-1408519610,-1850516821,1577230902,-2082341187,1688560566,1392096825,659747580,-2092367155,1396784784,-926934685,974420215,1084751615,576965824,-423056646,1652439669,522192901,-2137718043,1494403403,1765156288,-847043696,864304976,-1664550604,51992796,-276953790,-982501362,1957718741,854509626,425436426,-140038222,1071098385,1142267724,2030524102,-1286211087,1093350341,396031738,1267104147,-1709243061,-1908441652,104553543,-339099566,955217465,-1054950581,233594476,-291063167,-1326119911,-1532044486,-1344298210,-136271326,1053861079,-73902285,-1743772865,-737667294,-503574046,-527023154,-2031093566,397266127,-1381502942,698758327,1974348685,-474966387,1717709865,378415095,154063452,1811751892,1596341253,1273935472,-1954255502,143153823,-1714472239,1670974664,638729876,754680678,1399017822,-13023323,-363315422,1790267134,986269295,-1396304807,1899705100,-2048295844,-1705650940,-679113225,-1837561120,-926520758,-1677032518,-2029963471,-1691791755,1519607895,-526023344,-1172605759,237213774,1033801834,278877601,-213073151,1967905241,-2029101404,-2103943968,1580317564,189336001,231491728,-229231373,-1211826559,-1874093466,-76523379,-256922335,1027788708,1117497938,-1469562386,-1921064306,742300103,1546231240,-1028262212,-1092090943,-1632489354,-2010028723,1325572682,-889132960,-1123151492,-1389214406,-135598574,-992254671,-1883866564,1619489698,-1367650397,-1893817047,-2028992444,643386403,-901780756,439127134,2036628913,2110692193,1962339943,1823203897,-614181752,65099325,-2000221982,-1682949606,-895902652,-1532141650,1747187126,1940756452,393881763,193330248,-1017741687,787237133,1701144664,-473460266,101199675,-597218927,1741957586,1464263483,-550640180,1355220211,-997829634,779342967,1471971635,-1702421439,1015632730,1494437147,-1069831835,-420405395,-353144367,598516090,2090488753,1800595325,1385036172,-193388698,1820470028,-505576860,-1020443678,-1267436503,1778026640,-537006030,306608663,-557163082,-1762321445,1918683831,589300406,-1602167753,1459943508,-2127877283,215630584,-825738739,-8234606,-2146628403,-270180007,203637797,-1956929522,-126705080,441772434,1144694695,342583215,891960601,1306934232,-1884203178,-458992532,-1023548913,-1087746561,-1604101869,973823450,-2032387846,-243398659,-1025949819,109480930,-1708244210,440726414,-1006910135,1318691480,-409944552,-910867395,731326850,-41340356,672905832,-1431528364,-2002635319,-978751278,1804830551,1703865849,-332647345,1120757988,-917282407,2057667435,-543907085,1023041410,-741042368,1490227234,-1724363891,-670026397,1280902480,-301402603,-1225650712,-1479908673,-1160670538,1988731904,-765774770,995768810,207880321,1891300750,-582458686,-1515360030,1897612531,-798303325,1559838762,-1541655510,-187505367,1890862942,156870283,-1423604339,-340925795,-1482671388,-1460260078,-2071783972,940137417,-1761514749,-1487401840,323162749,1929104150,954328193,1639556872,1972742579,-1758305121,929458542,592465949,1389804471,1652363255,992281527,2128735830,278072929,-2086751139,279267709,438095315,2144017971,-2002481783,-938337147,640636378,-225380618,-747536873,-1754246982,145035962,1789661008,-288340796,1203937308,728384802,1000661651,-1756904451,745336074,-824278572,229073354,1920222799,606073179,-640794256,1063454760,-497944989,1824515045,-1930993071,-379627719,-2091392673,-1760705561,-2106988401,-1816444769,337973142,12025116,-1657201172,1435139120,-55161821,1219314510,-1321197609,2139937798,583044745,150552190,170202618,-189001644,-1917507123,2081096252,-1644192274,390322672,-1713292244,-104388275,-1258425106,648410487,1273732359,954424861,1625795526,1651259996,267123345,-35462143,-850509003,-261574714,567787283,-1167395113,1421202251,428909469,-357258718,328169138,729221079,-1488784932,56859078,-1926978602,105122519,1209415547,-2062258181,-143872469,357463226,2094019581,-1058886472,1570496144,-771638766,-2055518227,-269052559,-615617281,-1891928736,-1361289536,1559612656,-1567943613,-1055378876,1260607990,-818634654,-1169229747,1026035456,583979837,1474501537,-1255947031,49059491,-688390517,-57049983,1969975362,-49080967,996840598,1332082183,1879843845,151386377,1808521041,1013738719,1400898792,377391531,-495263388,-1242982583,-1153761785,-205930051,-734352992,-859551517,1684177996,-2083577268,1171086768,-48370744,596135553,339953739,-1648053287,1566354150,-72304600,-2124128854,707347549,1170859398,-2085290429,285445855,820835983,814624683,-1255299655,-1444117423,-1314083323,1662362344,852485204,-787976190,-1293545914,-1921060266,-2065385441,178918556,-1128950181,1719452346,607943584,-1105767761,-844554122,1976956158,2134345961,-1795152591,128906586,-1298925963,-1752913182,-1611752474,-677394364,1022322049,587176298,-1117024182,-1232788356,-572547612,-491223595,1266935810,-260391069,1250024240,-486969908,-20068029,391502372,-112093599,-1656558991,-1830716576,-1463774741,1587701103,826655917,1401510810,-1938093139,-1048308669,921600570,-378709438,-115588500,1102408255,-848363113,1947285860,621242672); +/*FRC*/Random.twister.import_mti(296); void (makeScript(14)); +/*FRC*/count=116; tryItOut("h2 = a2[6];"); +/*FRC*/Random.twister.import_mti(311); void (makeScript(14)); +/*FRC*/count=117; tryItOut("\"use strict\"; lexlcp((4277), -24);/*hhh*/function lexlcp(w, ...x){Object.defineProperty(o1, \"v2\", { configurable: (x % 5 == 0), enumerable: (x % 33 != 30), get: function() { return a1.length; } });}"); +/*FRC*/Random.twister.import_mti(424); void (makeScript(14)); +/*FRC*/count=118; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return (Math.tan(( + ( ~ ( + (( + 0x080000000) * x))))) >>> 0); }); "); +/*FRC*/Random.twister.import_mti(485); void (makeScript(14)); +/*FRC*/count=119; tryItOut(" for each(e\u000c in ) e;"); +/*FRC*/Random.twister.import_mti(548); void (makeScript(14)); +/*FRC*/count=120; tryItOut("let (x = (void options('strict_mode')), x, 6 = (String.prototype.fixed).call((new w.unwatch(\"__parent__\")((void shapeOf(({})\n)))), timeout(1800)), x = (d = Proxy.createFunction((function handlerFactory() {return {getOwnPropertyDescriptor: '' , getPropertyDescriptor: function() { throw 3; }, defineProperty: undefined, getOwnPropertyNames: function() { return []; }, delete: function() { return true; }, fix: undefined, has: undefined, hasOwn: function() { return false; }, get: function(y) { yield y; (-24);; yield y; }, set: undefined, iterate: function() { return (function() { throw StopIteration; }); }, enumerate: undefined, keys: function() { return []; }, }; })(/(?=\\B)(?!\\d{2,5}[^]|(.)*){2,5}/ym), String.prototype.lastIndexOf)), x, c) { /* no regression tests found */ }"); +/*FRC*/Random.twister.import_mta(-1046889875,596272881,1277471943,1674704696,503629691,-1542844829,-1177577541,144175369,969691377,707108944,-1376965222,2099854891,-445273447,1464653045,-1409277286,-29524451,120660454,-1858392679,796861448,558283099,1311733686,360220271,-1455206900,1545855760,1948435829,-2030621405,-651963915,1904671676,1233511499,2047590233,-1529018233,969655383,-1179144086,309526423,-178029399,-765392654,-316946551,-1847647394,-563527913,231507434,-2050821666,-127030365,1947507559,1101675833,634822055,-1386750627,1706632701,-62876459,-122204416,-847796034,-484452932,1804038416,1926359777,1488170848,1187163242,-654462154,-484587035,-315034823,-564446084,-1728110876,343069171,1720943358,-980045103,-379817801,1206620179,493805632,1992902552,1977806940,839150390,1093304402,1745262360,688870864,809452201,1070124812,-55391486,-1558370998,1636218113,475804139,-1396759865,347925769,2045518214,-2113138855,297264686,-1736851010,1894808587,-1352665782,-2021780972,2108768795,-218562124,903665162,-1552579861,856998747,-1741945777,-1377815064,932212968,-745379715,529765708,86755699,662956976,733995122,-70911056,872398897,379739090,-885100906,-1045689835,-972385507,-330708525,-466977636,1795614507,424278126,912704169,1349182736,1907804896,398181683,-1465886771,-374973323,-125020697,-845102456,1352215410,304421280,1074128269,1448562077,-2127240980,-1580237079,-33531642,-745982477,-481018406,-281961382,1961022636,770174967,-1170083474,1587112286,-13115111,-1671472070,-1495400369,-889831909,1418175753,1056947118,1090239443,715282921,-1902046015,1967905961,1541461124,-564532263,-70998477,-597947241,-2087295029,1479405755,-225038402,1255081539,-789014711,983928017,1178301446,-1684757157,135626004,404641383,-1605219389,1942818983,2098780504,-945027630,-855197365,1557800732,1241406670,1293440802,-532026159,1902929840,1210555988,1229097307,806482249,225765870,-793700900,2075558478,222891293,-623523110,400082799,-859867375,-2050825252,-609392802,971006221,2079716294,1439416301,65781495,658795306,1555668013,-992198816,-592723233,-1444699621,-1523018142,-534535148,1793938980,-928994073,2104661041,507838966,-513827279,1053610834,-67295349,1221667951,-752301428,349727445,1071722667,1915699917,-412988860,-251449134,-267385626,-1299828954,1462785618,714542819,-1919898274,1432446454,746768761,-280609014,2055063613,1480477961,889501198,-2002675601,1192694910,1791248205,923846387,-1646204972,1310852488,2116242040,1173618588,1973343165,757891612,-2005866387,1816748064,-1448904871,16473163,-1802445483,1310789524,2033651948,623403515,1533820597,-810485880,-2064286427,990525154,-1713297884,-986968519,1000389837,1369180228,580573800,-2012153306,621462779,1403825064,740233998,1693150333,1791837900,-1089499673,487022673,-898466376,-604562038,1651927726,461723399,1950664958,-1423482949,-1925257090,2022224336,-1348850775,-2002853576,1573410253,-974944015,1728480755,-1260911505,1194324484,-1822317091,530240164,1058585425,-362735981,904615897,866710554,-322419808,-1780946890,-1648168061,1400295682,-734743138,1314645780,1526812432,1387521839,-1440467288,-1096085895,926132667,168375713,1358870533,752489954,-1296457250,387052094,-2047627591,-283485963,110608349,-1908800404,-2010428274,1691485395,-565974893,21779589,-98233127,-1635190415,-208933393,1962468460,1924144621,916370078,1288373335,-1558729129,-1521164683,-993975378,-1925340714,1274802464,1577214668,505937084,-502718548,1355004831,-750286327,1540459404,1219993734,269468668,496101332,449191654,-1476109223,-1603929638,-1660816226,-1048836118,-2027249304,1200604946,-1576858709,-1955202555,916969395,879872437,349183945,-148754631,2130390225,-1784955095,369012931,1679465650,840736348,1403608104,1995557436,-852793049,-713779361,353665474,1503651712,-1048084799,899741745,-686841967,-1578658628,1399695528,-1081393566,624711349,-1405005473,-168980019,724891361,-818192059,-1433012845,-1748350143,-225454850,-264601277,909778434,-1655190298,-433170135,97591469,-607844405,-1313643666,-1618582724,-2066070516,1793140142,496061258,9975629,888145663,-1688922953,166710810,1055604222,137294986,995054314,1480405788,-110587906,727675758,806447397,846844790,-1477643757,1295487965,1674972008,-846129214,-680677636,-1417171728,-1167467046,1624354228,-416296679,2043113779,1111389564,-1087496582,-623766001,797988350,-1533979368,303435133,-675041104,-531139859,-1871981793,1954255030,-2070452478,-2036278271,1209110570,-2115333153,37724249,505243932,350214787,683334732,-491023130,-1925343093,337399968,154751571,1113091099,-1560976640,266520154,648969920,-1995524462,572972177,123648128,-1817365194,810273915,-135511228,161045341,849710025,-1086710347,1294540464,1483398304,1309161746,-1996152006,1523782497,1034989657,-261256554,1252557507,-1437488836,1737209597,502672740,690140560,-949008460,274923185,-1691347347,-468377897,1490299738,-1707030213,2114545477,-47823451,1424426001,1326839277,-773961740,1812193009,-823301249,852724054,534958288,1829642580,718285381,-123078591,1680638094,702649822,-1686465521,-634541220,310038262,-537490096,1639749619,-832970956,1444513278,-1434961970,-1292461660,701831437,1873151081,-73482810,1391590433,-245002386,-1175468868,2058687166,300303203,1801486814,-126089969,1130432068,1227632915,-1305574260,357914920,-1374877321,1765899292,1737166354,1842662703,-638087569,-1754432414,-726061223,-1589821415,1063058726,618971202,257299113,1836072728,1796483853,-139329906,-345798526,975307197,710865651,685875416,-608416016,601461908,-1255816887,1496396718,-1281324109,1738771693,-2090443392,424808443,-599328597,-1888924316,-1699284735,-1200639673,-1317769034,-447167981,1083913712,-1859317951,1523425099,2004445971,-212965722,-964768939,1504940642,399307035,969842464,1675924728,399719229,705173476,-79586877,-1053767401,-596302118,998064898,197675584,45630048,117584277,1005474419,-1930115181,148718568,-347918906,-1488754872,-1007345401,-1987858058,-1181216802,1523062483,2106104809,-1052744077,-1705325669,1259182469,230047738,-1973200927,-308009894,-61655109,1958220825,-60105153,-609007849,-117426990,1049332461,-1962094556,-1486546898,1734422173,-824085649,1588677146,-999247385,1256677666,374444865,-95602182,-554995481,2070177805,-1512225874,920107226,-2057732787,128308836,-1892195044,-278111049,-1177812130,466789068,-1067127787,-1457964615,-1205107102,359088982,-1351687466,-339551599,952143159,1524937864,209603635,343821735,1146574156,-30129253,-2114012931,-325541469,-1804249891,619245855,-1186955862,-1258581604,1531587833,371087024,1980948915,840250258,-844124124,-1038736951,-32985611,524659704,873866513,-1526953428,-843939767,-201809210,-860667574,1904133458,1753099540,1219954444,-2143921806,1383161136,-472924810,1601239640,-840697554,1766389623,1823286220,1051339378,-612463881,-1441756868,-1326301343,1363029897,-1310464972,-1469499571,-894584191,1935624121,-593433039,783548346,891539469,1073959703,-1382290556,2102594283); +/*FRC*/Random.twister.import_mti(5); void (makeScript(14)); +/*FRC*/count=121; tryItOut("for(var [d, b] = (RangeError((/*FARR*/[.../*PTHR*/(function() { for (var i of new Array(-27)) { yield i; } })()].map(function x (x = ((makeFinalizeObserver('tenured'))), '' ) { ; } )), (void shapeOf( '' )))) in ((c) = /[]/gim)) for (var v of h2) { v2 = t0.byteLength; }"); +/*FRC*/Random.twister.import_mti(255); void (makeScript(14)); +/*FRC*/count=122; tryItOut("if(false) v0 = (h0 instanceof s1); else if (this) {f0 + '';/*hhh*/function fjczxq(){i2.toString = (x = -0);}fjczxq(); } else {const d = x;/*infloop*/while(this){v0 = t1.length;print(\"\\u3D82\"); }/*MXX3*/g1.Date.prototype.toTimeString = g0.Date.prototype.toTimeString; }"); +/*FRC*/Random.twister.import_mti(544); void (makeScript(14)); +/*FRC*/count=123; tryItOut("e1.has(f0);"); +/*FRC*/Random.twister.import_mti(557); void (makeScript(14)); +/*FRC*/count=124; tryItOut("{ void 0; gcslice(8374855); }\nh1.get = (function(stdlib, foreign, heap){ \"use asm\"; var NaN = stdlib.NaN;\n var sin = stdlib.Math.sin;\n var tan = stdlib.Math.tan;\n var imul = stdlib.Math.imul;\n var Uint8ArrayView = new stdlib.Uint8Array(heap);\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Int8ArrayView = new stdlib.Int8Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var i2 = 0;\n var i3 = 0;\n var d4 = -8796093022208.0;\n (Uint8ArrayView[((0xc2a9187)+(0xb73e94f9)-(i1)) >> 0]) = ((~((((-0x63820*((0x6a1a3b10) != (0xa6c94178))) & (0x745a1*(i2))) < ((Float64ArrayView[1])))+(i3))) % (((i1)) & (((0xfb0da467) ? (i1) : (i1))+((0x73224b56)))));\n i1 = (!(((((((0x7343045b) / (0x36fb2e2c))>>>((0x3f2505c1) / (0x5c2ad074))) <= (((0xef4edddf)+(1))>>>((-0x8000000))))) & ((((0xffffffff) / (0x4e76277e)) & (0xfffff*(0x772b9f67))) % (0xacd57f6)))));\n d0 = (-7.555786372591432e+22);\n i3 = (0xe233ab3d);\n i2 = (i1);\n d4 = (NaN);\n i3 = (i3);\n i1 = ((-0xf55f07));\n d4 = (36893488147419103000.0);\n (Int8ArrayView[(((-147573952589676410000.0))) >> 0]) = ((i1));\n i2 = (0x8a9cfd5);\n {\n i1 = (((+sin(((+tan(((-1.0))))))) != (d0)) ? ((imul((i1), (i1))|0)) : (0xf83f9f7c));\n }\n return ((Math.atan2(\n\"\\uAFDA\", (void options('strict')))))|0;\n }\n return f; });\n"); +/*FRC*/Random.twister.import_mta(1315790758,-150243690,-1342019517,-1808436421,-1794056462,-785342079,-168193001,1733626945,-1741731677,48940653,-291144295,-370538104,1348188581,434296599,-1061654255,-896129439,-1280050558,1356933764,436656452,391935904,1683533996,490273883,1555331649,472109008,-681953026,-1376549755,919291084,886006208,-18973678,-1227455291,897636450,1450400502,2053137960,-1003308938,1959176477,-962074997,-1887381989,-429993499,-573156200,-420190664,-1108717996,2034381911,-942356218,1992670121,-616277408,-1530800180,1995881793,274233713,-1470709984,1130128264,1780574296,-848403205,109706741,-607605132,1213356309,-1050164749,1961778508,-1258277534,1577402756,214390134,1391810188,1973139075,-1145107078,1350913816,-1136531068,313637569,1431796807,-493057955,1919204360,-983120670,-1385664940,-73268427,235021541,1429857375,-1443719254,-1431639013,-569730759,1031382320,-972841101,-1829037644,-246428817,793836805,1642606064,948371637,-2134735161,-1761204653,1189958091,102792700,2114628423,-2015075581,-1376588182,-32859659,-1589517190,-1330925322,-1964800676,1704409173,-1283656514,-931284184,906388653,-2000208751,-1715051671,-1192122790,1111276454,2058938453,-480250198,862629021,-42175702,1983724107,-1261744784,860856637,-848449381,2017480832,66608391,-678099854,-1700596234,369163402,-1599165935,838797275,517897675,-2134581959,-775453975,390679371,-471394225,-2076068544,838656817,-1377880009,1290112303,1907957782,-1924987580,438487330,1419962076,711428032,1190325749,556047678,1529923738,817775452,-1761842015,15557352,-695104776,-472866474,585971960,-1213554215,-47588170,-379790276,2101731701,895985504,156073785,1307771846,388545,1791474796,1029325413,496382190,533606998,-479222108,-228149903,1203824209,-1101041002,-84091573,1764844491,-371556549,-1809831308,-99328384,1575502748,217122073,1315015426,-1588940185,-1173609962,238497127,-371840960,-1852536400,1711924203,1606998596,-2072781612,1791972618,-1439676415,-309357768,-2045482690,-46658194,1730039147,-1080876262,-1937563133,1475698905,1231043922,-1550801075,465956883,1502360847,1987361326,-917393504,-1047709042,-434976171,-240145289,2033213768,-1682813867,-1832265331,1725956819,57183005,919719614,-411918172,570729126,1840091632,-1068922908,-1271736029,158779169,826096263,590294053,209022684,1421413279,-1988161651,-801558981,-96409941,-1921080394,-642075241,606630261,1176958495,-912588029,479767576,-742458321,-1089234978,-814205559,-172220483,1369880695,2137470768,941997748,-1475144476,908583687,541253879,-1541008367,-584220205,-1877216932,-1936072651,531231513,565080439,-152511931,780900954,986715952,-1797268559,-109809234,712872736,-1054601814,1092015249,501918212,188064691,-482315339,-1514376443,-73651099,794851874,-1848442484,-1277972389,939639431,827323524,1830353543,1133519778,-1747853062,-1169138738,1917851135,-2103827206,940777934,1909434622,-1583365937,-1046932849,783895120,-140370955,-1523572855,523809834,-1449936713,1532148207,1254907310,2115458407,1620463194,-240064298,1009373106,212702078,-847593651,1559029646,2004191995,-2049566552,-217243456,2134078220,187912984,-1005020681,1204061307,-114969144,-687158526,1840418211,-24589187,-973855225,-498939437,-2001323587,1921430709,-5592259,-1142620754,174632210,-887152548,-246593804,886064186,-1834354144,-1088768300,221827197,-521315718,-1318119919,-574979157,1649428559,-926253620,-1735112238,1485069728,-385700331,-1645680662,-1068809031,-566652907,-784115669,1433388403,-1533454716,-1627273299,1210425889,188969615,-218090060,-673800210,-479063003,-1632331264,-489376562,-747875457,48934998,-1188727416,1898426296,1263398701,-1519985770,710843346,2142455262,724879633,-1848945896,1219864076,-95307388,448660105,-972777932,-912245241,1199158784,2043011548,-509459621,-1047830721,-1071607360,1696234341,-900644952,2142644446,-1083493088,-93741986,-1846123077,1664787712,492128582,-1445180618,799363673,1454121023,1220217166,1288357961,402162222,2131936869,1734121743,-1044190805,-532097562,1925068407,154262635,1665777464,775969357,1047979769,263768024,-2086809272,1110683772,-1490598309,1033414151,-1279403108,-527534653,-985512526,1106355850,1623727831,-2008188044,1422912125,-1963252713,-1789606563,212944849,996064015,1954080040,-1230212900,-1353557092,933769355,348138181,521655565,1210997109,-162697210,1614909868,-1378061185,1335945488,-588074120,1702908762,1214888910,1798404934,1946871100,-341992511,1271682927,33631230,-969596044,1550105639,1707204996,962008479,-103613154,-1219910835,581857780,756049211,570899180,883401937,1183830361,244407935,-1329096659,524462938,-1852314728,1977345646,-1064880837,10513516,-572199945,745255174,-110488461,489157200,-195209515,1255500931,611096468,844324643,320051659,-1512813995,1436243131,1008039514,-1592128067,-474239872,1069952053,935229165,801295622,-2055158760,502248548,993726863,-1775570170,425097204,1068938986,-2085362824,-1252145976,1998145834,880250850,1018667912,23958206,-1777209054,-95586347,1730259165,-217607475,-1652952501,-637184861,584526312,-1258874321,-919551553,-1810831704,-1075791884,1699683091,948247683,1252176776,-472596062,2012272264,-147707031,973367642,-994365619,-636625425,-107558371,501298895,1622156123,-1697762595,-688901286,9093469,-1708347577,-1828793740,-2000403510,-109503281,-1240467741,1173310090,1591573902,-328010262,572692242,-236526081,-2130431348,1259090985,1740463965,1673382111,1060927812,-148828925,-2110001399,-864361294,-796795960,-618593237,632582417,1327655299,1729264342,805019437,-485745119,-1658294015,-1125041484,-428546601,-859205235,-1991421780,-1067563407,-1033716198,660532383,-1173611664,1401514819,800868385,663297667,1757119159,593802360,-821655307,-953155794,1069806450,-1902444318,442036719,1851915045,-833035967,688247023,527214304,1874287714,148738720,1525339991,-820552799,-1157721100,207941965,2053436015,898666487,1120424125,641657275,-43259089,-885654922,-1602847236,-1379699026,-1054547963,875036431,2046127422,1760287693,-2125852575,1477913241,-1713711024,-736315122,2106679458,337714870,880944445,1146080229,1785039188,-1638617433,354494166,124573764,-359138913,-1684043735,-181017019,-901874021,-1855032322,448853327,-1189826450,-1393700891,-1094144352,518733149,139502430,-1653650855,1376006270,78339378,2120110930,253550047,-1653776752,-1916157786,-601834064,131404715,597945327,-170355573,-304157387,2099230764,-1504554172,807867138,921427440,-1131232171,1955039897,-290875300,-1791154968,-121871840,-1407132460,-1407168161,-580724866,-1170924248,-2045538092,37680947,-1052213442,927646596,413220587,-138713117,1704015725,227632512,606397452,803660561,1282157415,-1720572768,-1558452969,961463331,1425475677,-1407780622,1423230660,-473724273,-1531765786,1661549309,498026392,-1714147764,-2131041990,-1341698395,-2095069905,1103654491,-563709342,-1178993042,-289635812,-1384269099,1367480800,-1358431725,1806333119,853126279,-873405673,-768056814,1657213182,205303403,1828387004); +/*FRC*/Random.twister.import_mti(555); void (makeScript(14)); +/*FRC*/count=125; tryItOut("for(let [c, b] = false in null) {; }"); +/*FRC*/Random.twister.import_mta(964989109,121415562,-1888045723,793349885,-926419584,438732746,1575720370,-1213110918,-177359150,-1940048641,1079156757,-1213547180,-1687648981,160632954,-486471499,-934406439,497775404,-846964327,185489340,-272059487,-1140883468,1312332172,322311608,-537900374,-2061230562,2131310066,674557891,746366914,1740093672,257636490,388815649,-1674953047,-1046286149,-592590748,-1914358409,-250997036,1873222709,1929682472,1212228243,-924855252,-50340608,475845225,1641647731,-1728058888,628728524,-704355939,-1382862865,356961582,-138428186,-815938567,-660723073,692837608,-1331845775,656722166,-1687389746,-830458743,-743384306,-82688406,-1182589617,1278586965,-1690274019,1467823413,-1953077714,1775247946,660752086,-1985517658,1828576188,-1556118549,-618289044,1263862245,-2073456098,1153929328,1701081514,343116424,1450273173,1693658679,-696741550,1131439017,-9274823,-1539301406,-1870810157,-595139822,-1486248041,1754207811,1401917818,-1317917677,1689084323,-978309725,-1513687014,-1579648458,1681265452,-1663428977,-1999371341,-1638873467,-831037980,1453069276,53258050,-303030876,2120691894,1220800618,-527832679,-2023049212,1755141496,-1193104391,14917856,-52656241,-985087643,-1603682872,-1826223358,-1878908749,1537816259,-263250709,145634881,-2108165618,-1943043733,-1231284571,1332491216,-1941995563,-150264474,1068732650,-72759915,-1214801384,764905154,-919907353,-720503917,812461545,-2111699969,180712431,930453246,532806809,1476105053,-1672532066,-302406224,-424829381,-1205248942,1068888097,-2125311631,527383155,136134037,966608817,60289106,646169794,-311118258,867629419,1730327314,-1987112459,310093022,-582644262,1594251106,435240778,468336289,143376751,-618648883,2074370638,266151346,-720255024,1964551556,-145689483,351354668,-419570977,-1010662944,1881087123,-1759473395,-1168142376,-609625710,1504529465,-1605536450,1006094847,-710469048,1740997004,-205205358,99417537,1455702378,2043150420,-1692851031,1041599667,-657566221,-627014296,690113661,1675355531,-2039117270,-904296715,503170961,743844598,435058316,-1759900600,-104202066,-621576081,1813136673,-471756329,-1110421606,-1550101135,-926063886,499373653,-47332804,385450719,396211294,2128917058,2059068319,-1185487022,1611282777,-453175444,-715053631,613015103,1391358378,1352122271,956574975,-1843585729,-108559342,-546603113,1966017326,2065417920,956567295,-66232571,-1876284306,158216358,-1321907725,1405685966,-1303075103,1591482103,1410985767,785085405,-537302683,270738254,-336670630,-2027481924,-1687910262,1904830491,-663165105,1504377910,-1500117351,1790650493,1298352871,1082367530,618018941,-1982362107,-647758481,1623238336,1311336387,-1784819671,-1795067524,1269399984,60333956,-110242367,-1707842424,65525626,791272275,2130128488,1453286350,-1129129948,-29860997,-1899172253,572594197,-938191389,758232511,1002317839,935128309,-1628730471,1710098225,-1761716845,2121561409,1182108268,-1097446207,-496602959,-2019200512,1831275588,1859964480,-860554707,612673026,1070426538,-1633083321,-1697886795,-1200483750,253844045,397263226,-1908846458,-1329300865,-586710029,-1840308020,1249335187,464917010,-253158321,559006343,1979452911,14738870,1370147193,-1855579052,2064358808,-241119116,-698083079,753169603,49141496,-251542308,915798433,-1435795717,-2069302522,-1799235324,-1273020637,-2055689305,-1833860960,-61661584,1913935731,683215582,-1170555006,-285637508,-1316615732,1567427937,1718209286,758120408,1423373809,2059648257,-2063089037,1281904092,-133928901,-63948935,-835864595,1231667451,728522284,-307213080,2020252371,-551182674,-756685024,772785152,-1081942005,-12357521,726170975,1998213765,1813724622,-1886449272,214402686,-2050328773,-726396549,-539046763,948989625,-1009424696,-1346044948,970699201,-1570494077,-1872800757,-483673300,-1484821030,-202074876,-1456894923,844692991,1573715415,-2036959258,823735369,-280502258,2035123179,-1614207486,-310978752,1784688488,999386366,614715410,-1604087881,-1902357772,1877317226,-1213450055,31420788,-597853652,1753547714,1041932273,946443213,-2137212459,2121720397,-2105135513,-27679635,440999324,-808694020,-1881828201,1397631534,-833745754,-1918260145,-518725313,1093709582,-1935375085,-962515843,-1622289415,850899963,-1066003805,739069824,-855536344,1182360173,-476317731,1246717968,802653999,-1763896823,1277430528,399468571,-1185298255,-929061259,-6486923,1815474586,-1706555488,-1758350144,692683040,1724191859,-790740696,-220851443,1680126376,-60081596,-1477420506,-54923830,-1986433783,1428162346,941740299,-528447684,1010487897,1415158037,-1667843240,1677164379,287671104,-302514305,1082206956,-1700546983,-605519867,-1244378796,409859452,-318198695,1810594119,-509488949,-283407882,-1764188783,-2028156828,-184145993,-1988101859,-1487119233,-376467624,-1793015508,327844612,-1503767146,1158616873,1381490067,2012477133,378021159,-225247855,-1816116115,1794396251,2059548540,1672146075,-2021524592,-1978537057,389407074,-1316781908,1489102943,1450880468,-1270582714,-191719778,-109102553,737375211,1095284666,1755180434,2058863804,-781386786,779695073,869784089,-589249880,-2084085923,1532053676,916136355,-502121663,2043940048,847423868,762159943,-2063371503,-1714336645,1020096859,24041677,550606877,-623554571,1836266173,-750056014,1199961759,-895621653,-1124571706,879281803,-1814272285,-939449970,-539122198,-2082809291,-2003415899,-776003724,-1855441026,-1620395963,-2122991813,-948555409,1324028616,407439128,775251848,1242463755,699726054,960296478,1588474159,-534138615,1681540578,-216519075,1639314672,1956373107,1704998316,-53167604,-167327318,1989975671,1151243798,-1379764281,768312973,479835139,-1061459955,-1226611818,-514111885,-1613089246,376173176,1593908239,1457998088,1162007676,-718024491,1334054923,468598865,592586675,892762313,-177271412,-2098715947,350774260,-640173316,1274745213,270923467,112745603,719132705,1984223858,-710340037,1294202853,-369000068,-1206370517,1209846033,-1636416967,1519615385,-2142067999,-847557346,-1883203438,-1981108645,644223323,-2033395606,-165627870,1298404780,-230255146,509516422,2073209700,855247288,-594283892,2124852016,-87510837,1544594422,55902205,1677673632,-1552770819,1888577017,1089554085,1403244846,1404524874,-795066156,1214372198,1368553094,-1048524719,-1863593403,-1487048719,-1395489077,-692341672,-1925454348,2107462864,2066599980,181237423,-574669894,591602113,-1782620604,1762311624,-198045962,-32747234,2088915857,-635298962,553565468,1204772334,1924382328,1870337991,-533907125,855578878,-190451501,-641156558,-50772557,857760256,-1421692837,-1698918173,1801228988,2025738381,-1869325215,1889690938,-1518880528,-1015718740,1196480195,-1763575584,2101164119,-1683828682,-1954643363,-371598698,-553842464,774701532,-1852149707,1046324445,-2146737602,-318351347,361160544,-1080695393,-861353236,378771239,1485424161,1500217276,618989552,-1723587123,1434731057,1224458473,1131267361,86622355,-349466657,136794922,523566462,-485495562); +/*FRC*/Random.twister.import_mti(2); void (makeScript(14)); +/*FRC*/count=126; tryItOut("\"use asm\"; t0 + '';"); +/*FRC*/Random.twister.import_mti(11); void (makeScript(14)); +/*FRC*/count=127; tryItOut("\"use strict\"; mathy2 = (function(x, y) { return ( ! ( ~ Math.fround((Math.fround(x) ? Math.fround(Math.fround((Math.fround(x) | Math.fround(Math.tan((Math.min(x, Math.fround(0x100000000)) | 0)))))) : Math.fround(mathy1(( + Math.hypot(-0x100000000, Math.fround(Math.min(Math.fround(x), Math.fround(mathy0(y, 1)))))), mathy0(( + Math.acos(( + 1/0))), Math.fround(x)))))))); }); testMathyFunction(mathy2, /*MARR*/[]); "); +/*FRC*/Random.twister.import_mti(218); void (makeScript(14)); +/*FRC*/count=128; tryItOut("e0 = new Set;"); +/*FRC*/Random.twister.import_mti(228); void (makeScript(14)); +/*FRC*/count=129; tryItOut("t2 = new Uint32Array(b1, 6, 6);"); +/*FRC*/Random.twister.import_mti(246); void (makeScript(14)); +/*FRC*/count=130; tryItOut("\"use strict\"; switch((({x: Object.defineProperty(NaN, \"constructor\", ({get: Math.random, set: neuter, configurable: (x % 3 == 0)}))}))) { default: a1[19]; }"); +/*FRC*/Random.twister.import_mti(373); void (makeScript(14)); +/*FRC*/count=131; tryItOut("g0.v2 = t1.length;"); +/*FRC*/Random.twister.import_mti(389); void (makeScript(14)); +/*FRC*/count=132; tryItOut("\"use strict\"; h0 = t0[9];"); +/*FRC*/Random.twister.import_mti(404); void (makeScript(14)); +/*FRC*/count=133; tryItOut("return;"); +/*FRC*/Random.twister.import_mti(414); void (makeScript(14)); +/*FRC*/count=134; tryItOut("Object.defineProperty(this, \"v2\", { configurable: false, enumerable: new RegExp(\"(?=8{0})|\\\\3+|\\\\d\", \"yim\"), get: function() { return a1.every((function() { for (var j=0;j<26;++j) { o0.f2(j%2==1); } }), b0, p0, (eval || b) << (Uint32Array.length), a0); } });"); +/*FRC*/Random.twister.import_mta(-750775571,1818622304,-1433876983,-670515068,-354215485,-766761197,-1841176652,798415939,-418907221,430008297,670010611,-2132448417,-664849563,-880849954,-334874381,-1558034711,-11815169,-551248505,1963223306,-399771986,2138159546,-460085627,1142119442,-1556881468,-1868623089,466246319,-1860002939,-958530621,-1898814120,901939504,2123505875,1828260270,2111596342,2040823794,1032461379,-1131617450,1316075993,-1415576399,-688056441,-306205971,-1110275664,-752467814,1876236391,-717411594,941321102,-655047094,-81729989,1662912556,-1461912329,1090770854,-1606977302,2017024064,2019628944,1291750237,-1764407543,326084923,-1394222869,-340783719,-859458836,1212697081,1903260952,1587182523,1114845318,-240969686,2097659651,1157383330,-1510288787,-393107673,1702067286,1056553044,1661800693,308519112,-789804367,-549243224,2017077878,1824112182,841835744,441051141,1716046202,1122635733,-1505603577,358729470,1855316427,-1588493288,1343142306,2050373488,616177227,-745092298,-1751511948,1022368606,-1892893568,-212347250,-1674662506,1318016532,1383268336,1597530766,-690896933,453631417,-679881112,-923160349,925810289,300850960,2041405231,-1233708582,-772117137,-1087224197,-34166493,1683522316,-846195579,879182771,399269180,1006955916,-1628319963,-915111406,-1656248446,827412704,-631907511,-1363787162,274585726,-1087237564,2023353023,1677573032,1223824544,1902538691,-707377697,1104022492,-1752098731,194985396,-1873800688,-1742184112,2019773885,-1554661149,-1484945369,-1240125611,2127198180,-776121994,1221160927,-946515060,93630950,-860834505,-1669235981,-1085213316,-424288975,-1252163101,1810857991,72992707,-589016261,1910354231,2003449025,-1509448137,1105109732,-901902711,-2028305940,1543385391,702290965,426971746,30560792,988412527,-360244459,843223518,-1297061924,1107605645,357441162,1011259983,878632594,-2134021926,1672362961,-2046751761,-1520864098,-1260810819,-1503421713,1347416217,908686981,1228609841,-448702649,550552674,73072508,967546903,1458115332,2142803588,640051403,-150409717,1373915285,2118419774,1693848035,-1664599780,-963745770,463757980,1899020806,-1575918978,-68847513,-819723998,1297468182,1439331234,-1429593795,-1688566194,1339046939,19036640,-539087099,-1369605456,-1533054122,-1903879576,1357811702,-1576420728,1486534022,1534570048,-1104461924,-312888772,-924800055,-90380375,-796148883,-1878234944,412875458,-2067931941,1378127732,-652488185,814741467,-1530403745,1864539753,-427817603,-963196456,-174472884,1295536436,-555948046,1270143348,1384560955,46393380,1718931861,11569019,550204826,878568549,1431964783,-233969658,421688149,-1300911202,314488259,1774269577,-1712091187,321074068,-1830843429,-1364489466,-305760463,110894294,-1303280453,-1630046662,-73911172,-682597990,1413351517,-87373161,-1576550032,2103253034,1485254618,-1496792959,1588785541,1107975963,201630717,-1547701213,-1787980908,-24210504,-1678840503,1520351940,-1144419588,1421306833,228786393,-583826797,-510431065,1391290148,-275719503,-859769777,-108447589,22265075,1679975075,107797427,-252311930,1677893743,1773564183,-1232558464,-384767860,-2079702186,1975131801,-310200923,1601509013,-1332142317,-1399477712,1517148666,-998851386,902661941,1235295522,-1398749416,-1928742344,-254413994,1166499181,-2034366291,700964303,-1429872988,789811412,-33646822,-1195772423,1530618008,-1362819703,1061268942,1818668825,1906631159,1162979038,1116400867,-1846083819,1910434390,-1328173077,-1509815079,-889417836,987420158,909811532,-549669966,-1012222680,763928607,1780899030,692466760,-1175151884,376056632,-1279499583,670934404,91561456,-638475692,813217587,-677030967,1979469813,-17551868,820590261,1468881967,-499067795,1160094136,656260090,2054341112,-602138041,867892986,141917370,-1134696531,-957659162,1301360666,-850495032,-1332819824,1356583239,-243949888,1840977277,-1375897195,-774245755,-2003705277,-1657300075,1813588137,1045004032,72775799,-937495648,1402987477,514355025,1288770766,-408757979,452382163,948761863,-1921286667,-750843450,806408306,-67760419,1224457539,-1359303130,1608447072,-474950897,-2120991751,-1150853747,1639092200,-1894594522,-1837463632,-1271666945,-304412797,-1132723012,-293125279,-1926098400,1890189076,-2121413690,1930278663,-786684372,2105472955,-739762692,-1313449645,1693836816,-1274377945,2028020430,1414567006,543122190,-945755126,-402031249,-629102422,1111762527,-1914082550,674685361,-760886401,255020664,-1665749719,1174414262,576563277,136113063,449000482,-1692556894,-48971207,1858796777,-1129070515,1722372250,-1196601481,-1795025762,-113003609,-1189656601,1993753758,-888840573,-58151830,1389822949,-279408063,735766188,-299394880,1416208020,601427294,-460483668,575125337,2024726314,-657137028,-1403281633,-594201167,360231397,-627393252,-301001792,-952083478,1136764221,1501987267,-390468720,-108599815,744988112,1293450283,403192096,384728923,-303390509,953265746,458950410,1488820683,431914949,-1042673071,-974671061,-1879395659,1962977098,-1664528846,589423636,963168358,1838942953,-359526085,1995389738,2050016468,-856178421,-426275770,784393775,-132093205,1509244979,-685822879,1510753657,1707636029,-1422590176,-1660889921,-230146594,1276352815,-733135898,190863202,667678679,1503944724,-382913193,-1678507422,1679637930,1205761622,-1993583751,-1761420345,1781287225,-972598857,313772767,-2140999137,2072729100,913145407,180241572,-625389824,2047713121,1876835324,-1711596836,-1748341051,1300498688,130417958,1080891298,289242070,1802250971,1217337596,552617429,1326742848,-1139143113,1523349885,864265765,1514684325,2104475494,313588066,1179511652,-429917653,2036716825,2119467602,1029654415,785100626,69707331,278400388,-72554961,438146280,1897823614,-422062344,-2040733824,-1217681928,945772527,94902590,1934000109,2133908395,1589815576,1672735797,-2043804710,-739858251,1826938016,585984871,-681747369,-1779996496,-1935830004,-1811946444,1151607113,-2141910636,-1081329484,130379478,-2053118907,703876676,-1061180842,-1927494691,-416861684,-67033282,-598024313,-1195710151,1262136009,1392842301,1718188299,-2076324026,253177828,-1644848249,1487859740,-1592134326,-1208355921,-1462077422,-430247527,-45239468,531901479,-1986452168,2120004792,-879003448,1835762130,1127044937,1388051131,1708445360,-490232057,-1026327651,1933317143,-1380540982,185385696,-1283402848,-1927798650,-860497201,-542506211,-1525533374,-1490889033,-1520653215,-1299651272,-500059366,-1957645890,324563639,1411983097,-335979177,1791376617,-1340255123,-439404364,-1092790950,-1179875995,1416144926,1779396595,-1968228154,-1128712064,799078003,1029043229,195901119,-828609905,-1679695470,-1825577087,-622988325,-1693297578,-2073938858,1978444612,-1176334620,829224562,-930027017,-2114337007,-635137330,-512985135,1202432375,1929905688,1050131189,935172107,1428840428,-673039323,-1229677220,21420776,1414831376,1176639398,-1242185417,879394253,1434201540,1648294629,-640125239,561257530,1814382628,-583027264,1052030979,1813910656); +/*FRC*/Random.twister.import_mti(68); void (makeScript(14)); +/*FRC*/count=135; tryItOut("\"use strict\"; a2.forEach((function() { try { v0 = new Number(s1); } catch(e0) { } try { Array.prototype.pop.call(a0, ); } catch(e1) { } o2.toString = (function(stdlib, foreign, heap){ \"use asm\"; function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n {\n {\n i2 = (i2);\n }\n }\n i2 = (-0x8000000);\n return (((i2)-((i2) ? (0x85b7ca80) : (1))))|0;\n }\n return f; }); return g2.m2; }), g2);"); +/*FRC*/Random.twister.import_mti(204); void (makeScript(14)); +/*FRC*/count=136; tryItOut("testMathyFunction(mathy5, [-1/0, 1, Number.MAX_VALUE, -0x080000000, 0x07fffffff, 1/0, 0x100000001, -Number.MIN_VALUE, 42, Number.MIN_VALUE, 0/0, -0, 0x0ffffffff, 0x100000000, -0x100000000, 0x100000001, Math.PI, -0x07fffffff, 0x080000001, -Number.MAX_VALUE, -0x0ffffffff, 0x080000000, -0x080000001, 0]); "); +/*FRC*/Random.twister.import_mti(236); void (makeScript(14)); +/*FRC*/count=137; tryItOut("print(uneval(m2));"); +/*FRC*/Random.twister.import_mti(245); void (makeScript(14)); +/*FRC*/count=138; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return Math.fround(( - Math.fround(Math.asin(( + ( ~ (y ? mathy1(Math.fround(y), ( + Math.round(y))) : ( + Math.atan2((((y >>> 0) , -0x080000000) >>> 0), Math.hypot(0x080000001, -0x080000000)))))))))); }); testMathyFunction(mathy3, [-0x07fffffff, 0x080000000, Number.MAX_VALUE, 0x07fffffff, -Number.MAX_VALUE, 0x100000000, 0x080000001, 1/0, 0x0ffffffff, Number.MIN_VALUE, -0, -0x100000000, Math.PI, 0x100000001, -0x0ffffffff, -1/0, 0, -0x080000000, 0/0, 0x100000001, -Number.MIN_VALUE, -0x080000001, 1, 42]); "); +/*FRC*/Random.twister.import_mti(412); void (makeScript(14)); +/*FRC*/count=139; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"[^](?=\\ufe5b|.?|(^|[^\\\\cD-\\u32aa\\\\w][^])\\u0097+?)\", \"gyi\"); var s = \"\\n\"; print(uneval(s.match(r))); "); +/*FRC*/Random.twister.import_mta(808640262,-1374585962,1679330277,-155580388,1798505204,-1271648797,-1610014185,372804935,-1284418639,844249553,209195502,207919818,-592911864,-1713641416,60607784,438683594,-1538392583,-1780832572,533667323,-1851833315,-14090999,1104192343,-183206834,-218067455,-1404878174,1229791073,1446892065,-1677981923,1335488893,2094734762,-663513321,-106010511,2131991236,-565493955,-151020997,129403338,-1598083241,-1083291849,-136356727,1208433539,-2072412002,-701263170,835031665,78654476,902044896,625136019,-1268205763,43809809,360795289,-1932332473,1597851700,89670574,-756285544,2028995168,-1504682136,-179660674,539457304,-2131405520,-739479028,-1063727001,-273625807,-165235678,1658702188,-2109531549,-1991582351,385158486,520642194,1051338500,-885921844,-1544654905,788146099,-388328045,-2037600765,-404154535,1380049585,1590215718,486545316,-1540964486,-766378484,1278134635,1476602272,773894693,1797493760,1584014062,933584668,1374482682,1405549306,605240774,-947710093,-1873006459,875553351,1238455277,657112232,939787310,1156586396,-84969522,-193193002,1688770164,1097754265,-1739352422,997517741,-6938387,1716794251,-481984758,-2133034874,28057189,189371551,-1047250737,-26978679,623739340,438685829,-2031592759,-1625905370,1421756201,699847950,1391823747,-788005197,-12236345,667311821,-521380674,1119396409,1531564539,-8835546,-800031227,-423033292,1093047360,690700922,717578863,-1689686785,1893629617,71287970,1497993464,-2035939780,-13618586,-1756196849,-89560602,-1504359037,1799231159,2146385938,1515507323,-1198569294,374569337,536653737,1413847525,-803276297,-461402241,-2020667057,645948921,-2061743072,-48575755,-457619577,-493570628,1125014503,624740039,-354191192,-39544232,-1681366577,634525805,662568023,-758953178,-1788777141,1233803276,-711981245,2147197433,-492760214,705484458,-382459585,-15063163,-932662047,2042211848,2084005909,1319752018,1648312154,247082558,-146099066,-1485712417,928356844,-918209896,-1265829124,-1723599347,-156901085,436455874,1441037942,460254275,-341105606,-577085103,-193022933,1827719453,2064113356,1851077674,-617924591,1225397240,397462988,-2017421570,-2093930072,1694584640,-1816208527,1815762054,-868423410,-701657603,850273904,-778712801,543697718,-1528974540,-1404956623,-986641152,-1748980017,-1160557492,-1756445421,-807741540,2143005803,426222221,1286890135,-542713114,-1262255308,-1793337822,-850832042,1533820636,-1641885780,909592872,418519619,-1086038445,236613571,167715998,1836341634,1070943249,-970142571,-1453183900,-1099644581,-415315704,1159708404,1379268343,1638769814,-1187776552,-965777543,513374506,-1482469656,1172932644,-1677463560,-1946343541,1982882687,1087554371,-1710901944,-349813020,-401163014,1952918838,1653141740,1531259037,282280943,-1950683045,-549250580,640651837,-1088628868,-298824333,83289660,-951141453,913167456,-1489707317,760327690,308070310,-1011877309,95198988,-1737508487,388914881,1454329787,-1633030373,-423107068,2064730726,872398380,-396034857,-1347834494,-1342520858,490328784,1600214997,-1353714619,247799769,-128285183,490236319,-426902467,2099385749,-1908262411,655646782,-1560261274,1292999653,-1563554989,268566857,-465019146,-102715715,-1331533506,448213191,2038957066,320694776,-618769554,174764480,1763962734,-171004863,1723475428,1130862591,1722853256,-651396892,1221783562,-207936875,2086672201,-1521626870,903180335,-1430353113,-850612671,-1844797677,1264514543,911146751,1165454664,406521541,809085550,-1677059542,285217709,-752874153,-1935245825,2132473819,-922234286,1960078954,985565910,1745406646,1004248200,1185284845,-2023882415,2115269019,1496300831,-1984235675,1472133636,80143191,-255089929,-1109059462,-1230330983,1385491426,-978418030,2034374016,1180181055,2095925384,-1605409235,-950942866,-1512366251,286005870,-1121930782,1592914598,245432410,-91873485,931078571,-1380153678,1148022395,1683661506,-195098667,370034433,-679865545,256100381,-2145599966,1329248969,-175065875,-1685403001,819336219,-558993915,1539540439,1781005937,-304857355,-910542925,-1007759377,-1506939599,-1628450718,-933884090,299507050,1455549553,-1756046779,1073466089,-1170109151,1774452768,1612279017,-45567062,-35901674,70724827,-904223062,-1531342619,214485049,724624606,-1881249456,415602051,1503824138,223721080,-1024656735,-1229907122,-1534699932,-1194306794,-2016345591,-464148753,-417392979,1500410975,-1199341383,1597723306,448380883,-200209172,-743500706,1868473675,53804783,281568581,1226579316,-1341863659,-1173253419,835906968,-742196158,319588399,-545203474,781147193,-1478167587,-1779469809,771313788,1524256212,958249547,1276383916,73530208,-892879170,2068634158,-543447361,-1147668117,-1352968042,-1440468976,1694298486,-1081164629,-512641152,-1591081955,1359874949,696101726,-1784423672,-1870575876,1233768978,-1828535320,675553285,-1227403044,87116385,1613182762,601062210,348791048,-102621523,1248941531,220609219,1860222824,331136211,569142649,-1874433867,1739045666,71728752,277015544,-1571039359,1921562891,1349270504,-2136597429,-1251538250,1728769964,460080369,315414990,-140994533,-1506057068,-901697833,-1398175672,300400121,1740466117,1487024800,1875842519,-642530231,17853631,1524781941,-313726665,-671107975,-1725376463,-872839215,-369511339,-1342100016,-1218724642,-1428661269,1542170091,1182453820,1542076731,1025693884,-345018591,699023804,591447260,25348510,-1412869211,-4445769,1956561702,-1068697392,630854877,-1863252846,-1148126349,1927857093,400129326,-1051862876,-65733214,-946785715,1756208922,461701775,-1857216939,341945953,2085069415,90749327,-343980662,-948910296,-1700824441,-236442732,-432441749,-2045886665,-2083871754,-301037806,1973331290,-1851400145,1395420809,-1073902582,1019721109,-1300863583,-1172520978,-552019712,1014775156,1942951339,159232045,-1713894421,-2084781551,-289136504,-238974709,742593488,-1620921630,19726864,146899694,2085262211,-91501232,1983366980,830065114,-1716090525,-1303033288,-1797774114,1172137977,997719767,-283190823,-177443283,1621098385,-1584781204,2031878413,-1900504484,949051433,1593159502,411244132,707948659,-1426291778,1874239617,-1400648962,-101132037,-1463363753,1575169923,-158028487,1920157280,1920148414,1213577612,229660152,-2076130111,-83916610,1037011843,-1714114732,1350790362,963324408,-1181806595,-2116168915,1518945005,-405689537,-274093245,-1805113054,-989337931,-1547539025,1181218854,-401285523,-1798707201,-683245215,1487608225,-93984342,1450969566,2107921479,-546171761,-1964750684,-1616584478,931515809,897681528,-2131561915,-1793372623,-310004576,1896486261,2013049387,-1910620378,1991421486,1787402576,-2048973459,1407911745,741849555,-1952080585,1733145040,117524741,-1339010185,218834318,351680669,117525362,1035153367,1280953103,644869183,643688399,-1714861549,-729536514,1483143415,1938343810,776256939,1092528869,1972147575,-1908916090,281517755,842369458,-1259362062,-787631425,2012327615,2127653991,1765038314,44093520); +/*FRC*/Random.twister.import_mti(268); void (makeScript(14)); +/*FRC*/count=140; tryItOut("\"use strict\"; testMathyFunction(mathy5, [0x100000001, 1, 0x080000000, 0, -0x080000001, -0x080000000, -0, -Number.MAX_VALUE, -Number.MIN_VALUE, Number.MAX_VALUE, 42, 0x100000000, Number.MIN_VALUE, 0/0, Math.PI, 0x0ffffffff, -0x100000000, 0x07fffffff, 0x080000001, 0x100000001, -0x07fffffff, -1/0, 1/0, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(300); void (makeScript(14)); +/*FRC*/count=141; tryItOut("g1.i0.send(a0);let y = x;"); +/*FRC*/Random.twister.import_mti(343); void (makeScript(14)); +/*FRC*/count=142; tryItOut("a2 = arguments;const a = this;"); +/*FRC*/Random.twister.import_mti(381); void (makeScript(14)); +/*FRC*/count=143; tryItOut("/*MXX2*/g1.EvalError.name = v1;"); +/*FRC*/Random.twister.import_mti(394); void (makeScript(14)); +/*FRC*/count=144; tryItOut("L:with((let (z) [1,,] << x))v0.toSource = (function() { g2[\"__iterator__\"] = o0.g2; return g1.m1; });"); +/*FRC*/Random.twister.import_mti(521); void (makeScript(14)); +/*FRC*/count=145; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return ( ! (mathy3((( - y) >>> 0), (Math.expm1((Math.pow(y, ( + -0x100000000)) | 0)) | 0)) | 0)); }); "); +/*FRC*/Random.twister.import_mti(609); void (makeScript(14)); +/*FRC*/count=146; tryItOut("\"use strict\"; a2.__iterator__ = (function mcc_() { var wlzses = 0; return function() { ++wlzses; if (/*ICCD*/wlzses % 5 == 0) { dumpln('hit!'); try { v1 = g1.eval(\" '' \"); } catch(e0) { } try { m2.set(({}), window); } catch(e1) { } Object.defineProperty(this, \"g2.v0\", { configurable: true, enumerable: false, get: function() { return evaluate(\";\", ({ global: g2, fileName: null, lineNumber: 42, newContext: false, isRunOnce: (x % 27 == 18), noScriptRval: false, catchTermination: '' , saveFrameChain: false })); } }); } else { dumpln('miss!'); try { p2 = b0; } catch(e0) { } try { t1.set(a2, this); } catch(e1) { } v2 + ''; } };})();o2.i2 = new Iterator(g0.h2, true);"); +/*FRC*/Random.twister.import_mta(-484855513,950788467,1409524037,1991081877,-1814379669,-2146419552,1645231977,983665618,-235716177,-704711499,356435274,-237720598,1650632741,-433416887,-1728212502,-1495851425,272047798,-269319063,-573374339,-486722245,858218442,1103553545,1058230624,-306816966,1391814649,405957087,-267763161,1095431370,-551798443,337346377,-1261334686,1458857532,596571209,1928739646,173184759,441836700,-285494463,1412451911,-130390145,1645999973,1221243421,-719300369,-71694165,1351834539,-2037390635,-304327639,-872795644,-1306231830,254255433,137961272,116023207,972493876,-568076623,1637914303,717846487,-793401401,-1256349650,251451050,-500655075,-65269879,-1936997878,-682262494,1382552377,1896109615,1520253778,1748584588,1207378210,1247274545,290210677,-815411271,-142104221,922881769,1023643402,1761647030,-459414078,-411451513,-1575849363,-562871336,1439141761,2011836731,-933086735,1853616955,303548875,-255999825,22821313,178502049,327899005,285239491,781877546,-1216249126,2108482041,906971785,-1930230139,-1712785731,1335851042,1843884229,-1290169442,1168866865,-877070080,-1407231213,-1119444442,2070918991,633541092,1009360420,-592050590,2010332954,2125622160,2091245852,-1551963278,1914908406,477274764,-868093851,492377177,1631965149,567776561,-492363505,1498912822,-164877780,-2113909762,1112038957,1806991650,62958183,-2098226570,2048471863,-112508469,-1758895316,1655578976,1701679019,-853238697,-1652731725,764004972,194150896,64129712,673854856,191067063,-77865020,1965109991,-1918703055,553317180,1503314848,-380177740,2045263570,1178997248,-778554443,1253924620,-1546438283,1156585599,975128121,-1183810837,-204012168,1534601901,1383276178,-467635395,-1712163158,-2027252265,2083149679,-1778216086,2082661325,1527964659,-1580522044,747672970,-1099897210,1656071394,-877723381,1758060758,877006612,-1241067577,-1000881321,-984360711,651089912,2111679044,-691129198,-386614180,-1345490079,263700357,-127360679,1657103722,-1303207149,1096854566,891076911,363527488,-795355503,-1027354848,1215415898,683119864,1775477358,1892955315,168174279,44765805,879746706,-241285171,-430058938,1927962122,912533247,-56715130,-429558967,479507219,-1547611670,-1577750176,1969269483,979880295,930718795,359633055,2132405168,1871946510,-971055323,1516825940,-283312767,733257921,-1061516587,-1276737962,647744391,-78165363,34027885,956640403,1222645504,749254027,2057171617,-719068142,-2051660987,-1264642492,1793732556,-705552144,1095467646,-130843984,-752185729,1444005474,623599957,1261733367,915177023,-960547791,-1559490272,-1668692148,-1741734902,1978480455,-501029157,-1224068953,457126582,757238000,-2140001979,1598768183,-1778431154,-750502611,1681670347,-1782508814,-325617653,1448546730,-1572450590,-585945861,1353899414,665395707,1299909703,-165478471,-1301204679,-68871732,-2077568155,-1635147533,-495363993,1608123887,-1689142857,807433400,-1620182380,-926254301,1554293827,-1033107179,-1957063555,529748566,1362455819,2015008347,-1402020246,124664664,-938275907,1533300508,1163229433,1817068761,-1442688362,-542270680,-1398533786,-563171807,1074428564,841655968,994660708,792058602,1030886744,-537565487,-804474010,434432008,-723847531,50768030,1856770364,2022367955,1997673189,755765356,1936119445,-373817138,1645302151,2011083929,-991954265,462697115,1500182287,-909789149,61169337,-169912574,1643149989,1378137748,-1435932546,-1477980563,885388249,-330023781,816611183,1705571090,423685366,78034100,-1039929740,-1583817033,-239005942,1359235560,1496254672,1281719740,-1850981394,-1377004570,1383249510,-675495572,700326889,-1549142493,2116523856,835358846,-694558940,-536578501,-2068942784,1658524185,518776689,513362667,1550133465,322524,425347762,1280674482,-1789025979,-1343680046,-692311252,700695274,1061670336,-1914709924,1577523227,1382520170,1085762548,1419124084,-1869969728,837679878,566798659,-1474912152,1275000975,1233139709,1654685297,-1678220784,1860466430,1236305199,-320180034,-1110637011,-147064700,-2077132177,-1534993390,109999298,-1914772017,1203547254,1871518477,1035060227,-1581515775,-880773067,-723202051,393045534,-829085373,-684639899,-302768428,79372268,-945918624,683942858,2121628152,-1725471169,994879486,-1939209019,-2134531713,-1455411855,-1160521745,2055747825,-479449476,-90986397,2127806136,-501690611,-1202350791,546136739,-2108761249,-1040611868,860864324,-1412797950,1359460303,482759054,336207979,946460392,1885762548,1050800412,725201215,2036495628,-1497031457,-356788769,1753338375,-443402777,980062263,517523538,1211696657,-1685139582,2118859974,1153336452,-179152567,738995089,10219485,285999565,-1942476070,1352184262,-1238822304,1640598196,-1450409842,-1810166798,-1705288295,-747009494,1751696305,-2064703498,785980616,1034439119,1563374561,467468985,1712505594,187990008,1090733370,881649774,463944532,-783075468,-1182558510,-2090699762,124211391,-1650682669,242578215,-667485770,-1521077272,-340363740,-1494206077,-2020270979,-1126276168,-489720621,901696682,1769840522,1634255946,-1986458844,630501812,-1315572750,1112729872,-1807187219,-1784510853,1596208788,-891485336,1238651433,-549768070,-831258741,434440851,-1360109491,-190706064,873181216,-253394829,1728586157,114876906,-1731709956,2016770055,-1265111325,234540997,1847776200,703483601,1938797960,-1823175239,1407868953,1520302326,-425455129,-364545118,-2064926806,308656638,78642275,630547580,-1149778465,-68825591,-1760200483,202028613,-1126664834,-914311294,-1409320913,1637428359,-1409989390,206330326,950333426,-1765800787,455830610,-61919504,-555117343,1509025308,-910544638,199923380,-732953428,880453067,-1710893616,1943009115,1280185069,1442482247,-1398254192,795599178,-806193821,-561020387,1424585882,1577645929,18906556,649395305,-671274769,-1329956699,-427662401,829346073,359875011,-1774796605,-1828818097,337996778,435975687,-844793516,-1534548057,-929386070,451647751,1251496569,1069194256,-20092047,2125062582,397557688,-1273024293,-886100191,-83989697,-303957085,-758711742,1142845166,-157466076,-1807464157,1985339255,1076164238,498977544,-1198337479,-1130277127,-1040374765,-867500213,1858219351,-1981894578,-1819773379,-1348436972,-650254364,-1601917818,1677932773,-2050804274,1676054196,-1685430841,216972406,1897659615,1356865102,278042212,1980713115,586168965,-2094815318,-778327874,-940847923,-1517528162,-1701964958,595892199,-107691363,1139197408,-1018819735,-728394420,-1792781123,549518432,-296047359,-737032983,-561363390,557188751,-1954884832,-164973438,616353744,616492867,-218914753,1158440567,-1535599352,-1965950372,1021705057,1523177381,-1504254358,1363595134,1150489603,1212068281,1691074294,1411202334,1445044225,-1418621933,-1748454531,-1004615463,-1357576962,-1051644768,320348415,-1318394682,428216595,-360205696,1551622613,-2095598546,-190654725,1525402577,1499288071,2043649787,863219855,-1588637216,989509338,1942008543,587850340,-1792034392,-1622129033,1347936231,-1270728254); +/*FRC*/Random.twister.import_mti(128); void (makeScript(14)); +/*FRC*/count=147; tryItOut("for (var p in e0) { try { t2 = new Float64Array(a2); } catch(e0) { } try { i1 + b0; } catch(e1) { } a2 = []; }"); +/*FRC*/Random.twister.import_mti(159); void (makeScript(14)); +/*FRC*/count=148; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return Math.hypot(Math.max(( + (( + (1 + ( ~ x))) != ( + ((((x | 0) && (0x100000001 | 0)) | 0) == x)))), Math.fround(Math.fround(Math.imul(Math.fround(-0x0ffffffff), Math.fround(x))))), (Math.min(( + Math.min(y, (( - (x >>> 0)) >>> 0))), (( + (( ! y) | 0)) !== x)) >>> 0)); }); testMathyFunction(mathy1, [Number.MIN_VALUE, -1/0, -0x100000000, -0x07fffffff, 0x080000001, 0x07fffffff, -0x080000000, 0x100000001, 1, 0/0, Number.MAX_VALUE, 42, Math.PI, 0x100000000, -Number.MIN_VALUE, 0x0ffffffff, 0, -Number.MAX_VALUE, -0x0ffffffff, 0x080000000, -0x080000001, -0, 0x100000001, 1/0]); "); +/*FRC*/Random.twister.import_mti(402); void (makeScript(14)); +/*FRC*/count=149; tryItOut("\"use strict\"; mathy2 = (function(x, y) { \"use strict\"; return ((( ! Math.atanh(( - ( + 1/0)))) == (( + ((Math.min(-0x07fffffff, 0x07fffffff) >>> 0) === -Number.MIN_VALUE)) + ( + ( + 0x080000000)))) ? (Math.fround(( + Math.hypot(( - (Math.ceil((Math.pow(( + -1/0), y) | 0)) | 0)), (Math.pow(((y % x) | 0), ( ~ x)) | 0)))) | Math.fround(( - (Math.log(mathy1((mathy1(42, y) >>> 0), x)) >>> 0)))) : ((((( ! ( + Math.fround(y))) >> y) * (Math.pow(let (y = __iterator__) arguments, (( + y) >>> 0)) | 0)) | 0) | 0)); }); "); +/*FRC*/Random.twister.import_mta(-782802931,-1956596075,-768049951,-1371266954,1798418287,-1855792537,-1147807434,1263191511,-1686759294,-1358080190,41993666,-153015137,-500892566,-672135305,-1272446154,212143071,1537452962,-605217936,-387070561,1218424360,903079937,1326520694,-2131607939,-1849980521,1016923326,890673726,-84006916,1711220319,-1150432054,-1635264441,1168322518,-1251507404,1683238526,-2013464291,1798844596,-1522461049,-1307323706,-1852216562,-207458247,1816059557,169544314,1740095620,-165261899,131323238,-510400020,-1110712140,-62648803,892147295,-1561545185,501777265,-1608128094,1423322964,-597280982,-451832642,-801462410,-753411277,1659558625,428412195,-1521197557,-770874392,-33012118,-1357344809,1800902816,1687867264,-349728708,-309825766,-1513731756,1061220648,1243109747,-692005810,845952984,2039080488,844672305,-1434009315,-1837033701,2090231562,1656974889,-1647729449,-1961630061,-826926673,2103559419,-1008126941,-70539138,1057144280,1981552557,338078923,-2081604288,333626614,1045800209,1554580988,2045434770,140790592,-638157372,-619198097,1719385919,-1301040672,-1706810560,-1909901198,-1018477440,1711783649,1920954325,164291744,-497294878,-256731184,572029329,-152894262,901277242,-974163691,1298870960,-1807973226,-857227338,-1679153122,-61808778,625684439,-2026847982,-1554400904,-442919157,367612261,-1507563360,888814893,-1101260411,-695540268,1421758945,1127183237,2063229071,1680101747,1032370121,761564603,-1013746836,1329107761,-932431444,-1520311553,-594564242,-2041409533,2000010651,-601705028,1628745398,785684520,998202984,-2135668351,-1210372024,-639802817,1545949862,-1214753340,-855686517,233701060,272849632,-203074851,969897010,-385257855,-1851040400,398057400,-1929109690,383190399,-1981827521,-2099250693,1955706628,455195954,-908561146,-154343869,2067483558,-191240257,-549863698,-269570644,382581756,-217043997,-1413263558,-348927289,627581799,471789479,-1471889949,-1511917936,151373218,2069836931,1068692241,1390814546,2041914315,592876531,1086380833,-566170644,610733866,1101077488,-1973268948,-1068888427,-362571915,-2141934583,393310876,1853328747,1049305241,-2055635846,-2116204260,1014581618,641875624,-1264667105,-689966566,-1920254221,-1212789089,29128654,-1490292311,-872028715,-427828212,-945666674,1772967385,-1665639020,768568368,-1456816525,26462945,226741279,-1437739702,-392583187,-742177777,1311024921,-2072982084,110990008,-791487109,-709418549,-48555128,1398697202,-392162830,-83830078,1334812988,1496949415,1135354715,-1456077584,1875751319,996097238,1071593911,1841664553,154024277,1752127014,-4052762,628444361,-579517342,1483469386,-481098139,1509666830,-493695463,336691642,1875937506,344583854,-586177840,1149414783,-407659675,1363354331,883824554,-2084156086,1505528153,-1034760541,659060669,170794591,772718443,-1635464259,-182013315,-2029212902,-1092419790,1830923372,1991492779,-1287217666,566751024,1011094562,-2008415145,-1772765702,1377563769,170747539,1295847919,-1133782766,-575874817,-1356926584,1904258993,-1248767975,-1160585113,-1943941534,107605015,1399561390,539770644,-851805301,1270516674,1444548205,886247966,-982293382,-122340340,-945796605,-844181089,-736569002,1905218704,-374986225,1634248829,-1081404891,-1739684023,-837134058,-971278803,-39741430,1295234191,-1860548301,-683611852,-385895456,1839700418,-424763830,-868995728,-1884110337,1918688926,-1469137766,-1788417401,1272001891,-1996680984,1105768826,232542364,-767333783,45595467,-920661513,866306979,1951354359,891771889,1244259012,1795308403,1456964069,1883144596,1608017228,11692727,-1895812041,-1305570724,1302716297,2141458635,311978126,-247794726,-609350465,1296781683,-1686772713,1268636800,171890737,1724896439,-1269011397,1104748665,901387220,-918399924,1799485417,127591659,-1693239457,-256623224,-1464779261,988334391,-2116080324,1431471530,-861250114,900916383,-1938856422,1019182669,-425008122,1600520618,1085604309,-1076314339,-952972370,-864231788,812943041,1511438020,2118353188,2035133294,260180581,-553902403,127903366,-736985590,879921146,1137014660,46856333,-2145737359,-1129378634,157353822,1259584653,715633950,395567529,165310906,1047490278,2065166766,1377752342,-802528147,1840080343,-701246851,70278832,1243581511,305769979,-809671393,1148653656,1186898643,-1864557661,714582540,765006312,-1985660641,-750805761,834379260,376946528,2009166044,1982953742,-1430784959,-1104774597,448307711,722144160,-1894559923,-1267706217,-1647128726,374684972,-137667389,50579863,-661906462,-1780450821,-836842961,-352227059,444404520,722168579,-55236569,-2019218963,-1083207434,-935537353,603271282,-662710389,-147666342,-1358589792,-2090505961,-376368641,661504066,1453784050,-1604782504,-1663928349,1504583904,-569734262,-327113015,-1520665006,-1687589967,1638090804,1883073697,-45390758,-1347339031,676680652,-1985274642,466992854,5263797,-2098966800,-1269273468,-1837990392,-1801470055,330708746,-659579916,-53894752,-2028193729,-2000674662,-1724989204,845295379,-1519391970,-1478448246,65455346,1997728926,-1719507243,1795240965,1771398156,655736910,216852129,-1711093508,-1145657916,-1873792084,1822077,546823593,2012637303,492980607,-1946057320,1827491552,1849722498,903172338,-1242325432,931332825,1206836618,-338197861,-1269748217,-1209184252,1546885751,1856889021,1336760596,512732537,-1702041508,-554483784,-1278593082,1601964625,-231860533,-57203481,605253779,-303265211,-1584648256,-1519076096,-658619399,1523058918,1230525959,1282920134,1861041490,-2117460697,1437597582,-933856634,-382149277,1842534472,670687888,-146319794,-1308206822,-267020616,1066626976,82913173,-1999687471,1636993428,-1792021417,970062070,630992648,1201309093,1951776511,-604308649,-2085803533,-813768962,535387102,186389040,159897934,-1730233961,1145608189,1961710213,1022628999,-1485163121,1353027936,1156708618,2062312286,-1110437702,-1396954177,1505928876,-1453294251,-1190117998,-870063025,1092327131,-141185920,-1759486240,-410602467,1921556551,-644188747,-2119134215,897644216,-673886493,-1682505479,1547970256,673633715,1347197537,-2047011413,-1843601680,2143952395,241995571,172092916,1970702847,-1269564065,-2138447951,-51261702,-170546179,191006590,446394233,-135587867,467634883,-516426596,1680756304,-978375839,-720060859,1942834671,1757879036,1127348430,265531353,958145485,2026147861,-1457459754,1378164072,2065857413,127182949,-2115152881,-42459213,699250571,1565269181,1577144685,892128012,-1825596588,-273104595,1763126769,1065126975,1597089248,-1819998884,2080303284,39383343,1574727053,1437325763,-1477523898,798817774,642697598,112036522,-978274846,880213628,-1350271101,1640128737,-263027117,-1750049507,636894930,601157429,-1938354631,-140015752,-2131608457,724414686,975693736,-1231338451,-726335984,1386937892,-940436051,-83968929,-1287499667,1194686660,1938079745,-555024581,-1740699596,743065277,1401877607,555496716,1259004941,-685139604,1739950140,-1608505195,1753672159,-342098221,824842049,2125483924); +/*FRC*/Random.twister.import_mti(210); void (makeScript(14)); +/*FRC*/count=150; tryItOut("\"use strict\"; /*hhh*/function rkerhw(){return;}/*iii*/print(x);"); +/*FRC*/Random.twister.import_mti(262); void (makeScript(14)); +/*FRC*/count=151; tryItOut("let(x = (4277), x, w, c = new (Function.prototype.call)(((function factorial(inhfyo) { ; if (inhfyo == 0) { ; return 1; } ; return inhfyo * factorial(inhfyo - 1); })(26940)), (Object.defineProperty(x, new String(\"17\"), ({set: x, configurable: (x % 25 == 8), enumerable: (x % 3 != 1)})))), y = (void version(185)), x = ((undefined.yoyo(( /* Comment */\"\\uA843\"))) ? new XPCSafeJSObjectWrapper({}\n.valueOf(\"number\")) : 'fafafa'.replace(/a/g, function(y) { yield y; print(-28);; yield y; })), jblgre) ((function(){let(y) { let(c) ((function(){(4277);})());}})());"); +/*FRC*/Random.twister.import_mta(1757986050,1841709509,1098329367,458963883,-1833298821,-2058946695,1766697935,-1012545938,-1131947348,1530753481,-1988932205,-1918413294,1968544393,-444886675,392617991,237299107,-175547853,441227338,-884324428,8662472,-837182140,-1105432669,-2022469658,-32082937,-2040972548,1691431710,905816186,-248102740,1930896046,-105317286,2064681390,35093406,1740482571,-634575693,-1543673776,-794626675,1394150225,-527836810,1844679037,-1319769671,-1582719414,914631068,1348459961,-395940094,-1574153734,1614188526,1264458602,290466620,-442573196,-1250091057,-846480352,768991079,93988545,-241224338,-1685952189,-2115454557,-1294338560,-2024900229,-217810680,-994933007,1591002264,1974468909,316324457,1113956457,1806073586,-555572942,860698228,-767288604,515193557,-322599516,189264333,-943047731,1738298058,1679365461,-911842431,-195387972,-113147383,-1825826174,-522448527,2100607742,1712264566,-835722247,16602301,1344843202,1871495773,635825715,-1541548994,665734551,-1960820738,-464835024,1593453894,1705208037,-1191929170,-2066197998,-1728854569,411954734,-1891440961,-2002944221,-2015774745,-2016483931,-207477730,-2094290453,-2008228528,-141040713,1065395696,-770505780,-630357567,-207981297,869251773,1139798227,175083946,176017732,274193507,-2143991430,-1630404030,-198369148,-656405923,446033182,1537939422,-1032967200,531112047,-811365208,535116946,-187690504,-269786772,-48199579,845866680,-1921674743,-1487511573,-1923718781,1923644466,-1570491912,-1690669563,352830098,-1187969986,-1760763066,1709370451,-1004152191,417466342,1852665500,573787939,-173692502,1200098354,-682507223,381314307,-1914914597,853985089,590193682,-1545566036,1117012812,1051354659,-1294863620,1391128017,1628874042,766699487,1898601724,386642400,-754504346,-105821891,-1666559665,-949351088,-1439435754,-1562122093,950767633,-934821934,382754643,-482149787,-224361823,-272410855,604636152,14018080,1067489620,-1556905221,121412952,-737473254,-1937795407,-705698405,-412513246,437042938,-1055122239,-815248171,1814432487,-967754838,-1291264379,1252516743,809914874,-1402239163,-611234530,1461151742,-419405112,1906334039,896521770,-2048237190,-1361097489,-340012582,1834477587,555506438,2060439128,1757028136,1456066772,1074122226,1638470666,-100947534,-703231377,-1498390728,-471420409,693244669,-1047391051,-1074881267,924518261,82075404,-1317390669,75215256,-1025171869,758767361,-424507920,1172664516,1742666910,1553750125,751645843,1656617184,-546625202,-1262802195,-2039971381,-164339528,-1211286715,-782616993,-178843273,1509026518,2123774308,-790024944,-1140804022,-378335652,-1041459166,-1353179543,348523903,288731412,-1097135646,-2015125179,1540508641,506623757,-1112040086,-7486447,-270642714,464502511,1050457031,-1197082042,78976581,570675283,159146124,1750900998,1707266845,660039315,1787615203,-2019125606,-783912924,-535055707,737377846,473264527,-91219201,-1861748146,1408770739,1287452187,-326159495,-21219841,-1708306979,-421883523,1080129869,-1253822129,-1807868587,-1367963597,2014320430,1233338809,1531446496,-1362778586,-2143052907,125347878,-673041105,258764122,2042673351,189243568,1683861843,-337324792,-903979960,714464419,448306665,1115668284,-1946470429,314387878,-387993184,1018522732,-1808329622,1332163956,1491944174,-1506032876,1751578164,-544028031,1834870645,421260269,514997637,1882082072,438150685,146454482,-46200195,-203931073,-432916161,-853688555,-1101236212,1940437981,-1071349325,-217596954,-333979782,15802193,143948120,-1781711430,-1287684300,-878240618,-945051454,-81018335,-505162880,2063731977,1042906477,297917033,-1210081454,2084751779,2020913025,326936433,-1771255202,524055852,572753876,1957782901,-966490861,-926021082,-20141081,523386404,-1458931689,-680600669,1916112750,-953287014,-735377369,-2133139484,-193249129,-763883941,456247501,480402963,-1661200345,-247768605,1880826042,1995553949,-1727933501,-1756793809,-1982525914,1007844314,526499290,-1303096677,-1678734756,329241710,-992033869,-508828997,-1322036992,1329496431,-1730953220,258027487,-51966412,-1703781158,1548911689,-756285435,929076652,1734666657,1130706159,-932809894,724671956,-1529621936,-2080684632,-856447450,301060429,9202708,-2102587169,583374046,-331550847,53292310,-1746598295,-531865102,1111516390,-976509550,1684759917,1815949295,-1615346770,-1593300058,-1727835907,62074006,1142224173,-791948655,924195397,-417003663,1900167264,-415590292,1312588181,1955203010,31366213,-541734580,-129171221,1602689683,736637011,199328891,1462908782,1301354911,1748658201,-1224986930,-1712917551,1310590145,459111358,-2056189216,-671948184,-1944877746,-1884462166,180378344,571914614,507292627,-1782179242,2042546113,-2022915670,1112714710,-833308483,677507441,-1140450769,639136974,-518796419,1594664487,925599513,-2109791351,-1570385585,-1374917268,-1334670600,-1059048499,-440226993,2116171889,-677171169,-123654858,674004066,-1132343629,-138447935,-1563257411,158470322,-1478009912,1311485410,2134729046,592353945,-454926591,561162584,1793108758,-1023487298,-1538794654,1311045072,-128551671,69908532,918429874,166493041,893642817,1266715320,1448414274,-1453794139,1655745039,638972501,-1536056933,-1659212191,-1726252462,1036327368,290778360,1018029005,-1272383004,-323042549,-1866271930,-1619831092,-1829081050,793093245,1711669072,834255589,-1821088022,-2025267927,-1915751089,1286053388,2126022105,-1327651515,2034835638,-379395924,-1745609076,748904850,1975764432,2076862642,1969392949,-1804875208,-1106874210,189681427,914888041,-1497841657,-1348618638,-143285058,1760370,374011497,-1070061579,866815633,-259334305,-1796739374,-1962227372,497187550,-1023063350,-1469722864,-794264537,859500846,-1381944521,1700884812,523670769,1186747291,513596407,-376318329,1268885565,-1144531216,511884914,657849796,2056633963,-1689390405,1989082729,281309057,29144099,-1801230952,1111106380,-1892218400,-476521041,863003026,-1230035699,420718830,108976579,2027435280,1737261359,694730881,1925617181,668240709,-2110403566,-1913993897,-1178958665,238749616,-97447860,759866188,1502961540,-32820005,1112549280,-131906695,-412802454,1874410772,1413347955,972261916,-332289822,-1316905892,1116454880,799510370,1345626364,-814858214,904293102,673192974,-894490983,1051378243,938155812,1390967450,-681609285,-742553487,-1120303469,608391929,1857660026,1267078275,-58361909,-780389111,726836902,1194541450,1787643196,2137420087,2010448778,2060079624,258210022,327854378,379797364,-810867007,64242196,-1535552905,1996726157,-228818536,-419614729,1545201104,-1685751127,767128878,-1495502582,347657156,-1246034714,1942877171,-441447427,899675848,-880282710,1465205913,1357012584,2107800756,-697459257,-773827086,-1816870012,1792414492,-336039987,-1741410601,139133297,-1014712833,-192955893,1082569005,-197284956,-1982586488,-1421412628,-588061437,-1892034264,495315327,-1298686901,1885989000,-854830664,1031804577,-1680648717,649640974,1310353322,-748763411); +/*FRC*/Random.twister.import_mti(3); void (makeScript(14)); +/*FRC*/count=152; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n return +((Infinity));\n {\n (Float64ArrayView[0]) = ((Float64ArrayView[((0x8b4f8e8e)-(0xa65faf60)) >> 3]));\n }\n return +((((d1)) / (((-1.25) + (d1)))));\n }\n return f; })(this, {ff: String.prototype.charCodeAt}, new ArrayBuffer(4096)); testMathyFunction(mathy1, [1/0, 0/0, 0x07fffffff, -0x080000000, -0x0ffffffff, 0x100000001, -0, 0, -0x07fffffff, 0x080000000, Math.PI, -Number.MIN_VALUE, 0x100000001, 0x0ffffffff, 1, 42, -0x080000001, Number.MAX_VALUE, 0x100000000, -0x100000000, -1/0, Number.MIN_VALUE, -Number.MAX_VALUE, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(149); void (makeScript(14)); +/*FRC*/count=153; tryItOut("a0.sort((function() { try { t1.__proto__ = f1; } catch(e0) { } try { Array.prototype.reverse.call(a2, o0.g1.e2, b2, a1); } catch(e1) { } try { a0 = arguments.callee.caller.caller.arguments; } catch(e2) { } selectforgc(o1); return o0; }), g1.o1);"); +/*FRC*/Random.twister.import_mti(221); void (makeScript(14)); +/*FRC*/count=154; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return Math.log2(( + ( - ((( + (( + Math.min(( + y), 0x100000001)) | ( + y))) < Math.fround(((Math.pow(Math.hypot(( + y), ( + Math.max(-0x080000000, y))), (0x0ffffffff >>> 0)) | 0) * Math.fround(Math.pow(y, Math.abs(mathy2(x, 0x0ffffffff))))))) >>> 0)))); }); testMathyFunction(mathy4, [1, 0/0, 0x100000001, -0x100000000, -Number.MIN_VALUE, 0, -0x0ffffffff, Number.MIN_VALUE, 42, -Number.MAX_VALUE, 0x07fffffff, -0, Math.PI, -0x07fffffff, 1/0, 0x0ffffffff, Number.MAX_VALUE, -0x080000000, -1/0, 0x100000000, 0x100000001, -0x080000001, 0x080000001, 0x080000000]); "); +/*FRC*/Random.twister.import_mti(436); void (makeScript(14)); +/*FRC*/count=155; tryItOut("h1.keys = f1;"); +/*FRC*/Random.twister.import_mti(449); void (makeScript(14)); +/*FRC*/count=156; tryItOut("{ void 0; verifyprebarriers(); } print(w = Proxy.create(({/*TOODEEP*/})( \"\" ), ({})));"); +/*FRC*/Random.twister.import_mti(485); void (makeScript(14)); +/*FRC*/count=157; tryItOut("/*MXX3*/g0.g1.Int16Array.BYTES_PER_ELEMENT = g2.Int16Array.BYTES_PER_ELEMENT;"); +/*FRC*/Random.twister.import_mti(501); void (makeScript(14)); +/*FRC*/count=158; tryItOut("\"use strict\"; testMathyFunction(mathy2, [0x080000001, 1/0, 0x100000001, 0x080000000, 0, Number.MIN_VALUE, 0x100000001, -Number.MIN_VALUE, 0x07fffffff, -0, Number.MAX_VALUE, -Number.MAX_VALUE, -1/0, 0x100000000, -0x080000001, -0x100000000, Math.PI, -0x0ffffffff, 0x0ffffffff, 1, -0x07fffffff, 42, -0x080000000, 0/0]); "); +/*FRC*/Random.twister.import_mti(533); void (makeScript(14)); +/*FRC*/count=159; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return Math.max(( - ((Math.log2((Math.log1p((y | 0)) | 0)) * x) || ((Math.fround(Math.fround(Math.pow(((( + x) >>> x) >>> 0), (y >>> 0)))) >>> 0) === (( + (Math.fround((x > y)) >> 0x100000001)) >>> 0)))), (Math.max(( + Math.imul(Math.fround((0x0ffffffff <= Math.fround(y))), x)), (Math.pow(0x080000000, Math.atan(( + mathy3(mathy2(y, 0/0), x)))) | 0)) | 0)); }); testMathyFunction(mathy4, [Number.MIN_VALUE, 1, -0x080000001, -Number.MAX_VALUE, -0x0ffffffff, 0x07fffffff, 0, 0x100000001, Math.PI, 0/0, -0, 0x080000000, Number.MAX_VALUE, 1/0, -0x07fffffff, 0x0ffffffff, -Number.MIN_VALUE, -0x080000000, 0x080000001, 0x100000000, -1/0, -0x100000000, 42, 0x100000001]); "); +/*FRC*/Random.twister.import_mta(-505998936,-851893866,-1787055793,1340109742,602327944,-1305903189,171627364,1436707117,-1549516971,-803205239,787071760,1432245077,844336056,-1666857955,-2058896976,649926438,-1697337779,-1447647596,-806390450,768382026,-468697480,1569025056,1942327434,982670015,-184264667,1487698411,-154167061,1374314534,-2133171198,1536176153,-535267662,-170212611,-2093636193,-742287455,1396448086,1585993755,-2143918525,789662636,1684074316,787937108,-1931402031,1233548085,471813091,-308812210,-2019281866,-2021812216,31065388,-1792527118,-1919053094,435732294,-324221451,2133327038,431829999,-1104597144,453131952,-47505310,-1802798670,-2116793971,-8696941,1507083006,-1438856392,-1524234838,-205854125,1669739323,-2044097476,991310133,255328039,1914932270,-1418154829,1169175147,-2027375375,1654310301,-1750476360,166951163,-1768714795,1969914525,-689611891,2073872449,1373632770,1426224619,-1884881978,1241676907,-1352889400,587277502,-950150710,1823895494,2046964561,2094612297,-1689815116,-125237201,-2022021825,1773766791,967197115,-1609310463,-668123857,548385566,-704102307,-328434107,2086076938,-699620227,803782804,1144828634,-192301203,-1611107059,446893943,78950240,1948411018,1273341141,-1520618904,-969768417,-1386534990,1099637449,857757075,-490196458,527950094,-363978496,200713492,860442648,-928595081,-1652750123,-1676275548,1366302779,492696888,224399069,2094335574,800820533,-1888086438,-887149815,1258349958,997072213,-1643835108,923622002,2046001371,-1439193326,1385552205,-309911755,-1010669425,738034396,509507535,-86539949,486956944,-504247797,1061853084,1810826985,-1847727358,977978163,1021079877,1214585810,-1623124611,-1005738898,-515130873,387507293,1597140873,-605275837,23503970,-407605230,-1744696593,-1487164511,-117827814,864134740,-1703429615,-39899528,-310549287,-292750992,-322282187,-1623010615,-1297052907,968256744,-2118612595,-1118603901,999497299,-433531432,135813679,-696192698,239816334,-659692364,881297307,663427649,-958345336,-1989569217,-1781405788,743138611,-754551113,-352813464,-678949316,-1930874519,-911084296,478686322,-1042501380,119911299,1185812165,-1720694252,-471964794,-754869785,-82077934,-1523242651,1319769311,-772995991,519773858,-343599789,1736560284,1814006449,-1885337252,-2060078501,958118958,1578465829,-753423975,755470740,1521556914,171519735,1110515321,-1237163321,-117666109,1000994043,-1165139088,-910930290,-283272372,947865025,-1830042647,-2083954629,1608285231,240743441,-407050597,-523672145,-464088717,-1077949350,821952137,-1926241085,-227394268,-1123080249,299903115,1465863334,-757124166,-996250481,-2033590451,-1421940769,-814904456,-200236179,-1581267334,-1539178271,-2105668952,1669983079,1364344789,1309393381,804278184,-742553491,-157372489,1813603982,1497062502,1206632457,-1854176274,2141674419,-186473787,-182660186,961108020,1776225679,241798914,1997176490,1369079645,-877242184,590689831,-328544124,-238587528,1717619811,-82879075,-1912269011,-674301139,256609449,-1701720768,-768819419,-1851789863,980231221,-1428579720,381212223,1275152871,-836647223,-1425992434,-1424297128,-623964158,471786423,353322782,787502132,-1742467514,1489577788,360757158,-565930995,-987665968,-480092693,-1857430150,-1377805211,1771944206,-509995386,392204354,472522413,101775156,498694444,-1441369842,313389528,-187995264,-1346438092,-1644881110,-1831938500,-755124356,906086989,-1853004799,-1369860521,170674669,1870272247,-216494995,-690006469,1426770691,506324669,1761366890,1894034828,625377491,-23791105,-1688413106,1676096752,424173895,-584058912,638570856,1237672132,994081975,824284243,1230936410,-320741011,-579157678,1618409986,1429041456,1473885448,633505627,2126776932,-489010612,1002142616,-966252543,1474490214,-1087879768,-1899112193,-1298786811,1934441057,33366658,-280799492,1054766521,-1666237758,-1539314476,691265369,-445605752,1046904373,-990349051,-806223888,1233816014,584858555,537613272,257200072,-2031653337,47124401,-2146841517,2010665118,1872032498,-2023460685,-1503758100,-1943142787,-738944977,-1896134942,-589533145,-1373583598,-1587033211,-1212376161,1498144931,460959281,1048037379,-2085354966,2075615719,1520804438,-1718271061,-1626922121,1548983518,-1339461528,-1207033022,514128130,1226181288,1900057755,-2037104031,-1159210970,1281796552,1475096626,1012549507,-889999422,672544473,-1398476142,1435382585,1571226786,1572958004,405452914,1092046040,-1306147397,1128629654,30809522,2144283429,667074185,867090924,-125799656,1414614082,-1468009095,202506742,2032202648,612110828,-1901072189,-105862140,755090440,-413744201,-718238900,-418365347,-1883752865,1532927399,-2068013688,372174648,-793187341,-1819064513,101298361,-793249486,-1707949575,454542820,-2087560008,1457961377,1308042437,1107574834,-1861276336,-293406238,397879367,1292888611,1847429784,103563097,711917728,-957451028,-1129795243,-1193277913,1046579426,-497787658,2142558533,-645988924,1928108401,-1928509737,-51497304,1600820016,-1384811710,191274408,-190454928,1591746749,-758336752,-1045033744,-1233814334,-659704142,-1780583214,-818235175,-382915203,552708768,-1840681868,1923025402,-101337701,1228583426,1855535765,557624874,1147005802,596976770,-315458733,-90141691,-1965785900,-455628194,1262895911,-1587801921,1737569803,-1677450485,-1075603548,-1565326225,1782162382,-968905308,-1732136805,-1525971464,722331837,-1823531872,-1625445881,-390500366,1926045529,1136332540,442527771,-1645746063,433378511,-779098915,1384023869,1817520511,-1542691374,1386905723,1434599750,-2061542283,-849406343,-1449759366,-778927136,-1472139298,332216669,-698015320,-313747817,-2074988128,-293310044,-439628233,-78793369,1210844223,-464270894,2003643555,402401026,712613786,-2095887103,1678904607,1399305460,1319241335,1838266811,-1341933795,652011063,-234821532,-1289551960,-2004592849,-463521569,-1932263885,868260800,419185428,-1781106138,-1473939260,1966196002,-881400075,1352832293,2055740986,196786239,-1841984289,-1595754075,-490289560,1400076220,1547543366,1410346250,-1043319607,-1389780498,939077204,408815861,-1473140647,-1214876788,-974512574,2019586711,2016863875,1438466141,1041890894,-2007617199,769151325,2135313707,-1272893629,-1136714078,2007317939,2100765006,1886295301,2133963308,1792279651,1585801695,-35214746,-576870509,2123813419,227495594,2115742744,1963091347,-1201396798,916582591,1401482338,-1718321533,1830391961,-241778809,178945948,-801752554,-1730283919,-15533888,-225126668,1312519613,723087150,727370850,-1316377481,-955429075,-1980033451,1652601674,1324748882,-2048731690,-379026853,848590183,-621722390,-1063608150,-995676416,-972950956,1322159668,179797668,-311205637,2089294198,-371475294,369551159,-1117438864,-913760293,844466351,-800120215,-362009863,-257483801,1698420700,1696797477,-1502735582,-1440651406,-2012513070,-1131767885,-32651038,432394942,-1600261524,2076617495,490335138,-1470805981,-728758570,1929911269,-1703952595,-920619758,1266083445,1713012493,42079762,867044674); +/*FRC*/Random.twister.import_mti(226); void (makeScript(14)); +/*FRC*/count=160; tryItOut("for (var p in o1.g1) { try { Object.seal(v1); } catch(e0) { } try { h1.get = this.f1; } catch(e1) { } e2.add(f1); }"); +/*FRC*/Random.twister.import_mti(260); void (makeScript(14)); +/*FRC*/count=161; tryItOut("\"use strict\"; Object.prototype.watch.call(i1, \"toExponential\", f0);"); +/*FRC*/Random.twister.import_mti(276); void (makeScript(14)); +/*FRC*/count=162; tryItOut("\"use strict\"; o2.i0.next();"); +/*FRC*/Random.twister.import_mti(288); void (makeScript(14)); +/*FRC*/count=163; tryItOut("mathy3 = (function(x, y) { return ( - Math.fround((Math.fround(Math.cbrt((Math.fround(( + -0x100000000)) * Math.fround(Math.hypot(1, x))))) , ((((Math.acosh(x) <= (( + Math.min(( + y), x)) >>> 0)) | 0) ? x : y) / Math.fround(((( - Math.fround(mathy2(x, (y | 0)))) >>> 0) <= (Math.atan2(x, Math.fround(Math.atanh(x))) >>> 0))))))); }); "); +/*FRC*/Random.twister.import_mti(533); void (makeScript(14)); +/*FRC*/count=164; tryItOut("testMathyFunction(mathy5, [0x080000000, -0x100000000, Number.MIN_VALUE, -0x07fffffff, Number.MAX_VALUE, -0x080000001, 42, 1/0, -0x080000000, -0x0ffffffff, 0x100000000, 0x0ffffffff, -1/0, -0, -Number.MAX_VALUE, 0/0, 0, -Number.MIN_VALUE, 0x07fffffff, 1, 0x080000001, 0x100000001, Math.PI, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(565); void (makeScript(14)); +/*FRC*/count=165; tryItOut("for (var p in e2) { t1 = new Float64Array(a0); }"); +/*FRC*/Random.twister.import_mti(584); void (makeScript(14)); +/*FRC*/count=166; tryItOut("v1 = Object.prototype.isPrototypeOf.call(g2, e1);"); +/*FRC*/Random.twister.import_mti(599); void (makeScript(14)); +/*FRC*/count=167; tryItOut(""); +/*FRC*/Random.twister.import_mti(606); void (makeScript(14)); +/*FRC*/count=168; tryItOut("h0 = ({getOwnPropertyDescriptor: function(name) { selectforgc(o2);; var desc = Object.getOwnPropertyDescriptor(h1); desc.configurable = true; return desc; }, getPropertyDescriptor: function(name) { /*MXX1*/o0 = this.o0.g1.Set.prototype.keys;; var desc = Object.getPropertyDescriptor(h1); desc.configurable = true; return desc; }, defineProperty: function(name, desc) { v0.toString = (function() { try { /*ODP-3*/Object.defineProperty(i0, \"valueOf\", { configurable: (x % 28 == 6), enumerable: false, writable: true, value: o1 }); } catch(e0) { } try { a2.sort(f1); } catch(e1) { } this.o1.v0 = Object.prototype.isPrototypeOf.call(o2, f1); return e2; });; Object.defineProperty(h1, name, desc); }, getOwnPropertyNames: function() { m1.set(p2, i2);; return Object.getOwnPropertyNames(h1); }, delete: function(name) { i1 = new Iterator(i0, true);; return delete h1[name]; }, fix: function() { a2[v2] = \"\" ;; if (Object.isFrozen(h1)) { return Object.getOwnProperties(h1); } }, has: function(name) { /*MXX1*/o0.o2.o0.o2.o2.o2.o2 = g1.DataView.prototype.setUint8;; return name in h1; }, hasOwn: function(name) { e1.has(this.o1.b0);; return Object.prototype.hasOwnProperty.call(h1, name); }, get: function(receiver, name) { v1 = b1.byteLength;; return h1[name]; }, set: function(receiver, name, val) { ;; h1[name] = val; return true; }, iterate: function() { v0 = Object.prototype.isPrototypeOf.call(f2, h2);; return (function() { for (var name in h1) { yield name; } })(); }, enumerate: function() { for (var v of s0) { for (var p in m0) { o2.h2.keys = this.f2; } }; var result = []; for (var name in h1) { result.push(name); }; return result; }, keys: function() { return a2; return Object.keys(h1); } });"); +/*FRC*/Random.twister.import_mta(1732939129,-1401273507,1077053278,576562216,2023521298,290203120,463892784,-2067222909,-2009578365,1929965668,1023961526,-526816808,-1168402727,-1510662289,-2039611169,1936893860,-614243051,1017718528,-765798483,606531588,-1099276829,-1435398278,-2109199047,1933403647,1869368787,-1183270578,-345543509,1451985824,-1187541994,1913158507,1928002801,907058162,-413183160,613541768,-665774518,-1623212889,2112333174,-186776758,-1412183297,664282256,-1012268633,1968392664,1233070690,-1699944481,827479413,-840940479,-159765295,430201437,-511103775,-1539813491,-1959387857,-885651051,-841472860,-1942547544,-1998525197,-1830286741,1279058123,697281999,-2050552830,904908604,-1059426655,-1840591860,289283289,1244558364,-1441099056,-1078992538,2102144381,-1356742140,383963833,1614571170,1653714629,-284998014,-1766371451,857564810,-2077440102,780025362,1529168731,-1973618450,-642766364,-1041444793,1690844785,-1297760228,2056092386,-1327370171,-381248028,1286653573,-710332382,1310242086,-13876013,1196583473,-201285549,1414821087,-612378526,-1723136201,-195314595,-525987702,-1162031429,-80421520,2138174616,-27128528,-208872819,185369783,-986074364,37492428,-283721433,-1102904347,1383994129,-144353533,22824119,511809510,496953449,-134891851,647511561,1707241245,-1238082175,568942485,1254300920,-201730285,-1171813106,-32981169,-680769803,-55700744,748308505,-1225862140,1787448986,-1956055778,-817381733,2105291223,292144211,-1490554806,783771675,1854379591,1169770156,-1966456253,-1536063622,1792804935,-182683445,1960922448,-149944374,314477710,-35620656,-1636466937,30839365,1058528213,-596387405,794239012,-1817903515,1396843555,442933408,-1852077217,-2026274132,-2004321963,1017683247,1835729772,1285322018,1630051051,1989835693,198719038,620229220,-463603502,33432848,-2057173296,700650855,311112739,187989544,-1094310018,1364490462,-405841919,-1297911923,2091195444,95787603,-1903398486,-1294727648,708589534,-574599715,-907998066,1526401001,-1146252875,581862016,-1199823578,-2129233925,-1684872022,1579610966,-632444055,410085190,-316412887,751084915,1847085100,1601748168,1396127206,1043091565,-1424067287,806542470,-1188371319,227792441,-1332530044,-1152824241,-1576079446,-800972032,-1709483028,-1191079248,-1162528546,303789609,1859671736,1716334500,1525632746,-1507536083,1214470405,-113822591,511585473,671672014,1836944236,2018958609,-481592998,2099246585,-686604342,-1091454680,-1924875639,1891191009,578193438,-315879118,817462463,541882138,-1605034477,969251104,-1007396471,-1406054404,510890987,1811243105,-1849023548,166855291,1374938575,-368336024,-1043714487,1214213555,-275873473,-1878519539,1842842251,733010295,-77294707,1295604227,936357866,-847251575,-862240063,-1937812503,807219369,1378501443,-1830292528,277667745,-1963594546,-1780057863,-870994834,-1007234915,-1211907919,-76759624,-1107080297,1233994814,-1020300416,332117934,801994884,312774602,-1598902538,1963420233,-647447705,718551043,1497106358,-113946085,-823990521,-2058508651,-1732744111,1586677018,608081993,531931009,1232222461,-1480848922,-1274435994,-239782367,-430861010,473024657,-950040789,-1689306702,-2064454704,-24339979,1190968088,-1616554218,-413681430,-581545706,-2004975588,1571967713,1710276702,2061729631,-508896527,682778351,2118407911,-1577222510,65661502,694853198,1492392709,-1193527144,-665992688,2054819220,-313385948,-327783445,-890551932,1148748570,95337933,1868131299,-1001600872,1086512094,-1996443716,654291908,-583486383,1958907971,1577238676,-396723962,-1300092172,916582473,1638670383,2059636527,-2005389098,-1112950955,1894986457,1631480444,-1642888682,1414307097,298619953,-1906741199,-652582379,551575091,1322270838,1029575678,-562306047,-476135895,-398280754,-1668013904,516449891,-1058026682,-572697676,391879514,644263752,1382270051,1884542850,801030900,417131154,1047038048,-2002796214,942878858,1813564072,-1688802048,1214188798,1049131270,2056251254,-1933397254,1430042967,-1525479728,-2006609243,-590620667,427626850,-197321023,378960602,1439960482,1417903026,765569846,41611271,603008729,1051415255,-798461538,139278430,180426944,-2014984549,1053678272,950065567,33943823,107409263,-2050423481,1951362767,-1987103893,-616656115,-942012972,404985979,-859571714,-690035507,1012627192,279523145,539897383,-1546493574,-1054593229,-855798109,-1825538151,-636699612,1012446834,634702258,-1294763193,1910496946,1742014979,-754864826,2085491437,-1554333922,73768497,-1425840426,377228882,-1209472004,1154893549,485623570,-2025985927,814778998,639856024,-36822535,-854456658,-192601518,-1328156977,-219023433,871843801,-664577153,1816528616,342870868,-496766784,-286440659,1897012650,407445535,1832596650,1075328203,-1319494952,1228054592,503172375,-247463143,-1835217596,-834605503,1751522338,-1382796313,1507234804,-61636393,1339608762,-2058098341,-1891651216,1011844941,1095690416,421710005,-1951443183,1424598003,53839165,-493754803,-1453054818,-784011088,-1677851864,889849397,405043622,458535347,434054455,1083666786,-76570510,1435714169,-1994693664,1386521423,-202525302,999142705,-1729194498,1891468934,-201224227,-1902708119,1871578076,1489058470,-845122422,-2117958836,-1035597827,-806867030,-1106334233,1062375212,-882622810,1155092233,643524891,460714675,1877801851,-1703186005,-402972105,865274227,1604158556,-949765627,10217711,-900636979,1631954285,-1892677055,1584231652,1750123328,1461189458,-2077166775,-97541572,-1553216133,1350917559,-635089367,-881948274,-628504351,1945970453,1655852286,826662116,-779710424,-261018207,179483381,-187648968,881200981,-1495481495,-443215562,-1018454348,441999845,50331458,-516982191,-176790590,2045845308,-1894975407,-340765128,-562188985,1956962630,-823893360,1661985522,666823710,-591709776,-1349123174,1138953069,-1204050651,-168245849,-1788642729,2124165460,1510582238,622116804,1377773078,-322009862,-1563090815,-959853007,470541929,-785226506,1446948164,-731187798,-858304064,507119831,-1376423098,1859914365,-1559709383,-1625351809,-1951636314,792594281,-886737871,1699356149,-381086926,1414856552,-2070632005,-539997007,1001267239,-1566226318,-305096018,-1361382899,951587932,-682313113,1339235168,1820548663,-410914126,-2116049810,1900583264,-1858297584,1748099121,-579998950,528798936,2060974458,403685686,-1958582,2119487906,191466171,-465639480,2074587730,-443459556,-1069893017,-1189149298,2067642286,-1601905599,-313164947,328316616,-501447046,-1236662529,721735313,1864532295,219075614,-1347244514,2028354853,-114963712,-72298452,462191497,427945779,-690687818,2024583127,885926887,1341275318,1635387693,1150708163,1005645189,2144956732,1980314853,1043121809,1441662431,545211640,-982718803,-1037597305,-1219899772,1777836260,-1793829917,-82651003,1890036288,-722662331,1295199170,-2000271465,294854603,1130205833,1548469782,811652881,1194951726,-809968926,1105173101,-109544206,981467401,-1469589189,1095037755,1314961570,-606449173,1720975626,-891900953,-689707890); +/*FRC*/Random.twister.import_mti(195); void (makeScript(14)); +/*FRC*/count=169; tryItOut("mathy0 = (function(x, y) { return ((Math.trunc(( - (x >>> 0))) >>> ( + (Math.fround(x) | (( ~ (y | 0)) | 0)))) + (Math.max((((Math.fround(Math.fround(Math.round(y))) ? Math.fround(( ! Math.fround(Math.imul(( ~ x), ( + ( ~ (( ~ x) | 0))))))) : (x >>> 0)) | 0) | 0), (((-Number.MIN_VALUE ** (( + (Math.log10(x) | 0)) >>> 0)) && (Math.hypot(Math.PI, Math.pow(x, Math.hypot(Math.fround(x), (((y | 0) >= (x >>> 0)) | 0)))) | 0)) | 0)) | 0)); }); testMathyFunction(mathy0, [42, 0x100000001, 0, Number.MAX_VALUE, -1/0, -0x080000001, Number.MIN_VALUE, 1/0, -0x080000000, 0x080000001, -0, 0x080000000, -0x07fffffff, 0x0ffffffff, -Number.MAX_VALUE, -0x0ffffffff, -0x100000000, -Number.MIN_VALUE, 1, 0/0, Math.PI, 0x100000000, 0x100000001, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(529); void (makeScript(14)); +/*FRC*/count=170; tryItOut("v2 = new Number(-0);"); +/*FRC*/Random.twister.import_mti(540); void (makeScript(14)); +/*FRC*/count=171; tryItOut("v2 = g2.eval(\"((({/*toXFun*/valueOf: (function() { try { t0[3] = h2; } catch(e0) { } try { t1 = t2.subarray(16); } catch(e1) { } try { i0.next(); } catch(e2) { } v2 = t1.BYTES_PER_ELEMENT; return s2; }), set x(x, ...e) { \\\"use strict\\\"; return ((function too_much_recursion(gpvirz) { ; if (gpvirz > 0) { ; too_much_recursion(gpvirz - 1); ; } else { } })(54457)) } })))((4277), x)\");"); +/*FRC*/Random.twister.import_mta(745483887,1685904798,-1171409726,707932251,-1085343484,1225096821,-2019630964,1512667879,1226109508,950491459,-847080171,154631453,1064770874,1793744511,-1958173595,-2024913524,-2043164417,-597434911,1182577494,1683386094,-1143634800,-1455506455,-119594433,-1014652260,1554278508,1575033938,578250128,23464732,290229875,853607395,-716659784,1539945862,-2310109,1979586769,717549147,824908801,-1086527234,1138681040,1870894341,-107784004,1670081625,-1357856224,-1061723965,-1030480040,1567192242,1263632937,77491521,842147207,-31551188,-994588690,-406387290,2134062949,109902006,639067860,-2047871085,1980605274,-546585225,-250727541,1635406511,562762353,966320256,630600046,-1417559961,2055424692,118934037,705614571,-1772985778,272621182,-647941,374262362,148057197,423045563,492305484,609028822,1279978938,-612963831,-1621815844,-1960626491,-898772593,-1259263045,-567191029,2111657374,1260983856,367455135,1885395420,1958341877,257726931,-242652700,2123462286,1495745226,1346979787,2100998534,260603245,676063103,-1428504412,-1213468521,522723910,1325213352,-289958224,281014328,-700694415,-699634246,1972896819,140448549,599531547,863774691,-1193116997,-614896186,-294669918,1655809833,-620530503,1162368906,1079628137,1550791512,-1118241197,-343544596,-1006913116,2058168985,985126600,1562939455,1035207185,2004759030,-292573275,-534356710,2066238427,-1532835764,-1029564432,-1012697888,-10650401,1820730451,1753396685,1054295359,1298134280,67530489,940327254,1867636090,1682615935,-1770164061,662916154,-1644657327,1227691555,1380949339,-1447208356,2081695799,853642727,2039733471,-1526899290,-1985480213,1310013889,2016600433,2146026503,713843942,-1737526341,519450317,2127054797,-308898199,1768899880,-168162432,-1276028921,834112488,-1819434376,-1512514979,1293992404,438234060,1706355397,1889926489,1426915733,-1106389317,1966802081,2146212414,2095155847,-1124377844,-1792761464,251106239,533541353,1425141610,1770718056,1120335752,-31288087,1875480029,1724759236,3274988,-1189039755,-477487683,-679511058,911157606,-860031942,875570669,807040448,1355442271,-198498916,1824998820,-898630099,-1095019794,1558180737,-10683523,786302697,505947493,1931570023,158256263,2099632279,359263590,-179589413,-2073077418,1149241233,521046698,103531736,-717979425,47885050,1496799397,-1099398623,-1263484516,1928867364,-1144222667,468273396,406935738,269629305,-1601466686,-398247683,202770832,1765005243,1365428406,-951941260,-2026332805,-563700463,-1664218087,13802916,-2137182592,1822018684,1742472480,-1681690013,-1974785872,-1326917234,2059003530,-186217817,-1743238627,-683397927,1095911793,-1383234556,-1058864924,1896712586,889188222,2014008371,1493225940,493221226,-161406424,1831180038,1788566431,-1404809842,723824284,-1517325141,-1537756931,-1626845995,1606499148,-949019128,1971989612,326548003,-1666353041,1278151108,-158431290,1705463722,-917509216,-2070417043,1935557664,1866524427,-904819497,132815840,-1205530676,2051294423,-1342307762,1233380259,-876901459,-153080184,390097330,1748432564,533510883,-1214313095,819417393,-980138961,1261134959,1684935484,1671498678,359923414,-793153796,-2103054338,265386532,1706316415,-834045649,393105729,267964183,-748775661,-901294659,-1943779001,-2035491577,1372269409,-347909156,-1556318457,347942945,1964099763,1617623686,316933316,-1552324464,-1107080501,-43430831,285006076,1690948769,-1764274185,-1102039068,2036138560,408342482,-1569586840,-1828118238,1538821311,997303632,-1463255906,-1127661963,-252059134,-199217021,2030479853,-934013416,-918892852,-1706691174,-1197330020,-335094763,-552346513,1888722551,-449154579,524607415,-249279103,1798770124,-1100328454,-881078320,1197308932,-156734749,221638184,-837266431,207556339,-1867597548,1450901550,-262110329,1682364569,-1433952471,-403990107,-590348908,2128792124,1722699405,1797584235,807367825,324122505,-238316762,-580800863,2101940902,1463034936,-802450280,513346925,137371650,540585186,-879457678,1973188690,1739977689,776459040,786207949,-144435802,-323319348,270559511,263681269,-639755906,1280154179,-927609143,-153372868,-112397273,-1427388993,-475522121,1058107354,1787362899,-740683605,-1935337432,470075117,-7006204,-1106342076,-325981068,551943345,2093658386,-529472796,-468501699,1248591681,-826147738,1125985643,-924941233,319593197,150245141,-438966343,139072000,-1100725,-1752367080,-1844134648,1849804209,-1478757056,-1451562905,-568678751,352577089,-458317248,1518922979,-216184949,445559475,-315416027,-937021954,4505491,2054384069,2017654477,66737849,395077853,-2089405434,-1163921586,1040695367,19631520,-1095468778,-1935529143,-102013580,-51223432,130021460,1148387053,-1681544355,-1188540227,-1082092490,980356549,-146404488,152491654,-1700051894,-1717508319,592325090,594305228,-2068853032,1102322784,303821734,578674338,-860976096,581409142,1204592826,-362128283,327995340,1331387067,1893933282,1575827181,1661353223,-464452562,-1732976234,-53152257,1898541063,-84584627,1962511512,-622121759,1821699425,958678881,1146307783,1626244739,528664163,952829266,1409869147,-953165728,1457093593,-768167710,-654767173,795844600,648437412,1803706920,-1622521998,1421842137,-811861979,-231845791,-843933614,-1281673208,1649682978,-2016364862,-1436913671,-2088071264,-1851931839,2093625347,410496836,1990340284,-1051619661,-1470520198,1101155788,956123018,129872148,825809114,1043583396,-1796386386,2102787179,-517950038,-2028859249,-1883847586,-79123800,524842386,-1863956520,-1686871336,1940909035,1944828351,149961944,2089222115,1703600425,160643566,-873973042,-1226771752,-1723310906,-1087408690,936635377,-85925941,377036970,-481978198,-1427431841,-1512579402,2119600989,1986733168,-535501321,1084575884,-150865282,1447818590,699631537,1604142259,-102578771,2094004366,-104264642,-1976310772,584741468,-1116477396,-1710838463,-974567633,-1948230933,-719578007,-681822588,1989636124,-1294180331,-2144471468,1345749509,-237900285,-825101390,-408669381,1570673225,-417167752,-790881419,-1670580985,-689749567,1807418880,46179844,-1109849823,-653872607,-1076722789,1411398723,-453100622,1587819001,-1191554593,-539328077,-688224076,1605045632,-1988099791,1672043844,1400508733,-439535011,144643688,-876374434,20057779,-236365148,1937073698,202558614,1684304842,-1917625682,1452176535,1402106565,-1151067294,-1588517309,-139979581,-1995684892,585903631,17905580,-780401623,1027687601,1945657053,2077128873,1089303351,894450389,571205869,1978157076,-185196039,1583140148,1593180169,-2098522899,-1389857268,153455254,1590796783,1475939826,-1798263030,811322475,2077373395,-900511276,2068479225,-421259968,1123170222,1391507363,-1207108363,1273675688,-116758659,928762934,-185152248,-1350897648,-1727230491,593828944,1028707150,-1740405462,1391415833,1632123315,-946865878,1840747056,925270415,2141262610,211170324,-1640511825,-245479849,-1025131544,-1129346518,-1935330098,737076532,-110801073,-1585520039); +/*FRC*/Random.twister.import_mti(133); void (makeScript(14)); +/*FRC*/count=172; tryItOut("\"use strict\"; mathy4 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var i2 = 0;\n d0 = (-9.44473296573929e+21);\n return +((0.0009765625));\n }\n return f; })(this, {ff: (1 for (x in []))}, new ArrayBuffer(4096)); testMathyFunction(mathy4, [42, -Number.MAX_VALUE, -1/0, 0x080000001, Number.MAX_VALUE, 1/0, -Number.MIN_VALUE, 0x100000000, -0x080000000, -0x080000001, Number.MIN_VALUE, -0x07fffffff, -0x0ffffffff, 0/0, 0x080000000, 1, 0x0ffffffff, Math.PI, 0, 0x07fffffff, -0x100000000, 0x100000001, -0, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(221); void (makeScript(14)); +/*FRC*/count=173; tryItOut("mathy0 = (function(x, y) { return Math.fround(Math.atan2(Math.fround(Math.log2(( - (( ! (( + (x | 0)) | 0)) >>> 0)))), (Math.pow((((Math.sin((Math.max((Number.MAX_VALUE | 0), ( + y)) | 0)) | 0) << Math.fround(( ! y))) | 0), ((Math.tanh((( + x) | 0)) | 0) | 0)) | 0))); }); testMathyFunction(mathy0, [/0/, '', -0, NaN, ({valueOf:function(){return 0;}}), (new Boolean(true)), ({valueOf:function(){return '0';}}), true, [0], 1, 0.1, ({toString:function(){return '0';}}), objectEmulatingUndefined(), 0, (function(){return 0;}), false, '\\0', (new Boolean(false)), (new Number(0)), undefined, null, [], (new String('')), '0', '/0/', (new Number(-0))]); "); +/*FRC*/Random.twister.import_mti(402); void (makeScript(14)); +/*FRC*/count=174; tryItOut("\"use strict\"; testMathyFunction(mathy4, [1, 0x0ffffffff, Number.MIN_VALUE, Math.PI, 0x080000001, -0x080000000, Number.MAX_VALUE, 0x100000001, 0/0, -1/0, 0x07fffffff, 42, 0x100000001, -Number.MIN_VALUE, -0x0ffffffff, 0x100000000, -0x080000001, -0x07fffffff, -0x100000000, 1/0, 0x080000000, -Number.MAX_VALUE, 0, -0]); "); +/*FRC*/Random.twister.import_mti(434); void (makeScript(14)); +/*FRC*/count=175; tryItOut("\"use strict\"; m1.has(o0);"); +/*FRC*/Random.twister.import_mti(447); void (makeScript(14)); +/*FRC*/count=176; tryItOut("\"use strict\"; /*vLoop*/for (cjecnn = 0; cjecnn < 0; ++cjecnn) { let c = cjecnn; for (var p in t1) { this.i1 = new Iterator(g2, true); } } "); +/*FRC*/Random.twister.import_mti(488); void (makeScript(14)); +/*FRC*/count=177; tryItOut("mathy1 = (function(x, y) { return ((Math.atan((Math.fround(x) == Math.atan2(((( + (0x100000000 >>> 0)) | 0) >>> 0), Math.fround(y)))) >> (( ~ Math.log1p(( + x))) ? ((Math.min(( + Math.cosh(( + (x + ( + x))))), x) >>> 0) >>> 0) : (Math.hypot(( + ((( + mathy0(0x07fffffff, (y >>> 0))) >>> 0) == ( + x))), y) >>> 0))) ? ( + (Math.imul((Math.pow((Math.fround(Math.sign(Math.fround(( + ( + ( + Math.exp(x))))))) >>> 0), x) >>> 0), ((( - Math.asinh(y)) | 0) === Math.PI)) >>> 0)) : ( + Math.min(Math.min((mathy0(x, 42) ** ((((Math.cos((( ~ x) >>> 0)) | 0) | 0) >= ( + y)) | 0)), (mathy0((Math.fround(Math.atanh(Math.fround(-0x080000000))) >>> 0), y) >>> 0)), mathy0(Math.fround(-0), ( ~ x))))); }); testMathyFunction(mathy1, /*MARR*/[new Boolean(false), new Boolean(false), (void 0), new Boolean(false), (void 0), (void 0), new Boolean(false), (void 0), new Boolean(false), new Boolean(false), (void 0), new Boolean(false), (void 0), new Boolean(false), new Boolean(false), (void 0), new Boolean(false), (void 0), (void 0), new Boolean(false), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), new Boolean(false), new Boolean(false), (void 0), (void 0), (void 0), new Boolean(false), new Boolean(false), (void 0), (void 0), new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), (void 0), new Boolean(false), new Boolean(false), new Boolean(false), (void 0), (void 0), (void 0), (void 0), (void 0), new Boolean(false), (void 0), (void 0), (void 0), (void 0), (void 0), new Boolean(false), new Boolean(false), (void 0), new Boolean(false), new Boolean(false), (void 0), (void 0), new Boolean(false), (void 0), (void 0), new Boolean(false), new Boolean(false), new Boolean(false)]); "); +/*FRC*/Random.twister.import_mta(-1780114545,-1267977722,302714451,178559683,421834149,1497865381,117525031,1040501649,1751662171,2012207019,-573066814,1707665240,-734041811,-1621707692,1412123163,1499816102,1302767969,1564056044,855685847,-1554072738,1094043234,478954676,-1657752266,1777192034,1786933444,-1963058795,-1181002445,774792144,-1172882197,-572368220,1693584453,1011717252,2052545430,-1356534256,-1561240045,-1691239769,542862856,-1127052805,515142396,610503379,892336230,-1096835068,-1960815671,2100852117,-201643152,-341530979,-570649359,1544123793,-2046105639,-346594491,440786578,1919880284,-369171417,-284768370,-1578238644,-634798331,-659820933,-1377378993,-383533212,55490083,704650725,-658459209,-1167164102,-866472436,1580820808,-741328228,1735422151,-2141855738,547686149,36397467,-1054035237,-1053817341,-536292086,-342364529,120126931,771665100,1531551103,1449408481,1090169506,1737350811,35953356,1038296156,-447091796,-111025571,185459423,-553340422,3797880,2029324883,497777087,-1893743970,-1435498131,-476483070,1812854474,-1837141795,1298894026,-1260602485,943122118,-1480749952,-752117052,-1044808948,416124770,-348877282,-509491538,-312720901,-1994024256,1318172492,-615758789,-293633001,1467946629,-2091196046,-1740311538,-1352828735,-848166650,760205737,-803919680,531322767,-1842019869,-45150573,-147216308,1892895657,1844768165,-2013470532,797862462,494817439,1855888552,-1734867002,-337486212,-998474516,1379420890,927942520,1133139311,-1387290513,1310170058,-883288529,1094688417,435259381,303824602,66528280,1713708148,860866684,1468747081,1228947303,2106044,1352953177,967682999,-996282606,-1235203542,-54359493,415811910,2147148029,-1433095704,-1054919359,848141323,-121068864,389655092,-1418910937,-335049356,-1621421732,-782515003,1785695352,-1734423348,-2091033929,93348750,1611748323,-1603780416,1114073777,-176472672,-276300263,1536310997,717958962,1223940369,419439105,1696031330,935267944,-573512842,-1110850992,59725259,-1492595449,1066431000,237476563,1944101547,-27881268,-1474245322,1592756002,2032958558,1404449289,937853904,1179776980,-275020551,-1191279069,-615787298,-1256536737,25954456,-1600240403,846619243,-29589568,-305229378,1791708344,-420107675,1098795476,1212596509,-245510127,-96776098,-1331557185,-158522840,877538906,1197751736,-300440211,748654952,-1521357409,1728623488,-515927496,-704535332,750558665,-877701769,-55166637,660817646,-1836564557,1251815644,866557357,-638639604,-515573678,1715172424,2057226905,-58633241,-1190395491,-1590659815,-475431503,-2021511018,-2032007235,1333857947,1095811426,605777888,-1535459413,-352297408,-1698522904,-1907473460,-888048704,96036650,-1397117464,-2060893205,-249147171,1977944140,1125405652,1711868152,1167225172,253470286,1461182629,1226707962,385859516,-1563515709,-1139874191,-450984909,-1708336585,1424717286,715444517,1253856844,48597159,118151015,142933059,-1954341952,2041714298,-492922697,-1896633006,13827919,1564557068,946933045,-788174126,-1453285085,1994986183,-1041432420,-2004141004,-1610313148,-370675797,-890791873,80597434,708082434,-1584968614,-1896739148,-607523399,-556383659,-1420557785,-227211141,-1711728252,-368156579,1123100292,-1117603221,-121666150,1177838307,180979308,812758029,-2128347852,160359616,-1768073816,-1242281496,-399274919,-780318380,1655498333,-251299008,-377825432,-97822009,-1054742423,-901596613,322433281,-49779346,-761676410,950388073,2122980332,835208117,-194974952,-1327140148,-2550689,-1027841198,341691703,-1080482378,1708624062,1812425216,1341910340,-944539378,143692204,-547517936,289051652,1540842846,-826820562,1190982500,2025722605,387163144,-1185474179,-1632696072,-23794093,-1998477805,-359979838,-322096414,-1646873809,1350246088,-2007490269,-1962033672,-210144231,241535453,643423637,-1593528606,988304589,1909238085,-314284803,1460705546,1537434150,-237747906,-44792130,-1088870097,-667546191,1675286988,1157926580,-1332884086,1034315797,-1067160339,1109662891,310706753,960784710,127789404,1496609370,1161620630,2056098930,1873593107,-1023182194,-1658573123,1254756555,-866011774,-354870542,841868537,-443619216,-1663484071,-781117773,-1693099777,439125468,1277637297,1587168594,-1460653228,-1788985878,-1642564893,1153788465,833809479,693957309,-1688907179,117874741,1667653155,-163890442,-1830180334,637091380,1406379806,-1729981221,-873262880,-464696896,-459784117,-1094861396,-1500667747,-1246073646,958846354,-2059002371,-284835442,-1231150691,99114824,698099160,491770186,-675234739,144305354,1535337703,-686983739,-674126186,1535073141,819287733,-870251629,2023188061,251251118,-236072148,1187262724,-255739790,1739006808,-1480694172,-882641053,1112798386,464489284,-1499724006,1000400705,-1307649115,-1359709563,-581521447,99951255,1158898488,612701022,-1415822161,-1592509223,-186989244,1418993770,1315554411,-14071236,180934520,-201187036,1156506589,1291979989,-1614298310,-1843822517,-203504378,1263014650,-1880561486,-1600078428,113721367,-725330035,947071696,1161225003,474460676,-823923658,331584904,1016500978,437348261,1255575087,290186104,-1702394604,-57815831,1657220434,-696294701,-1922963494,510946114,-847948012,-1659016034,-19905836,169624723,1609487963,1005326118,288999474,322716773,450482128,388177385,1182411317,-1019338387,382904181,-1730657659,-242083998,-1359645855,-2023755473,1556018101,-838858742,876237568,920285920,1231195846,444196042,403914677,49435796,1814123818,1226984623,941563951,-920072323,2104928795,316999109,805449433,-1665180738,1237312521,-703299897,-980082960,801174298,197743119,-315722916,-283933352,1606265046,1720735073,-32442691,1276332947,2142319235,-1779772928,-1695101326,1040725899,-887949601,204313900,2042934460,341866575,-1729286692,2108989404,1642888387,-1113536758,937815986,-1401473335,-386225681,-1995386889,-1389724065,-2146406278,2081755723,621714751,310821920,651413357,849827458,-1578327687,1752975631,2104421819,-1836104020,-910805836,-546677710,1453374060,515523162,1193446199,-867674269,869981751,-1016920213,1306539401,269093822,1835481346,-937436917,842567873,-831430466,742728942,591759837,-1383215747,1271013406,-1340538014,331568823,2026250952,614443322,-277109158,1310807570,588221410,-1362841610,-919799347,1145504937,1754248090,-236809678,-1929061453,-1052029444,146547850,-736733439,298133343,660232572,-1200846149,261676611,328644856,-1814182402,-245572888,1289892981,2024881064,2026017280,-952806073,-59078672,858611775,-1247073092,-91207449,-514343800,2108384475,-1892165219,-1612655627,262162780,28191197,-856820646,1146111466,-915722997,1543600215,-299124227,-381152920,242521169,23064153,-2064125017,749327447,1417664534,-18872533,-1079966019,394974378,1692476374,-11711652,1087425479,-810877749,1517093782,1033055954,-651957394,855244371,616651936,364746555,1956694766,-1388764261,598877246,-977210218,2034566959,-1434333932,-1172665131,-1563764180,-347418826,53983205,2081271073,-354637686); +/*FRC*/Random.twister.import_mti(527); void (makeScript(14)); +/*FRC*/count=178; tryItOut("\"use strict\"; let lntqwn, x = ({ get anchor(window, x, ...x)\"use asm\"; var NaN = stdlib.NaN;\n var Int8ArrayView = new stdlib.Int8Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var i2 = 0;\n var d3 = 17179869185.0;\n var i4 = 0;\n var i5 = 0;\n i5 = (((((((i5)+((0x0) <= (0xffffffff)))>>>(((0x6951beb5) <= (0x65a9f590))*0x5632d)))) ^ (-0x6571c*(i5))) > (((i4)+(0x2cfe10eb)+(((NaN)))) << (((((0xffffffff))>>>((0xffffffff))) > (timeout(1800)))+(i1)+((~~((0xfcd68839) ? (-32769.0) : (-274877906944.0))) == (((0xde8e173c)) << ((0xf9c6f58e)))))));\n {\n (Int8ArrayView[2]) = ((0xf8a23311));\n }\n return ((((((+((-0xfffff*((void version(170)))) >> (((((0xfbf33c5a))>>>((-0x8000000))))+(0xcbd28a91)+(-0x6b96677)))))))-(i1)))|0;\n }\n return f; }), x = this.__defineSetter__(\"a\", a => \u3056 instanceof y), x, d = /x/g , w, get, wbpwvf;for (var v of h2) { try { Array.prototype.push.call(a1, (4277), f1); } catch(e0) { } s2 += s0; }"); +/*FRC*/Random.twister.import_mta(-546306818,1057551992,717544483,-1871529659,-1674093739,-2016951162,1372219738,-1515896008,-109297683,-102322908,-1523198662,-395813060,2138967199,1060902465,1411765774,-1323160127,-546234406,-968041296,-512825891,121487465,-1443347394,-973361672,916787843,787395366,988527375,-26870521,-451286451,720852015,-1280867701,-293301142,1530243450,430882453,-1139919961,1768170255,541763784,79271790,-922210231,-1334611134,-2114870578,-292168425,1537291231,-1852140050,2018724143,-1411115533,520365719,-1128339363,2028266149,984448663,-362528406,-1712932668,21277950,-389996057,1808060867,-1642786160,-404751659,-909388528,-706037283,1044861341,-907802442,378485561,1239754477,1072698319,-1336789547,-495103106,933000716,667279272,-1657299811,931819913,-1845410687,-428851223,-1032012552,1631429303,-64515,-1069219354,31214479,-220834731,1896122946,917500452,840310039,-260023804,-1341857457,-1242364679,-1190743484,311314874,465046525,1992723292,-334447824,-1918572342,530374394,-826089219,502131755,1059370954,-1473763170,-1348663016,-32487679,1325299366,601680025,-181758244,694376847,-1703757450,-267429377,1594888269,-462437843,-1447248324,-2007277826,-351061484,-2002311243,212323616,1304312618,865290372,1531764415,-61878543,-240685184,-484941121,-621769164,-371817326,-204517415,-479069702,-1663726889,-836846898,-1101088940,1612896941,1002483289,-541726789,-2057516012,-656715423,-500281844,352925478,1051278979,-1437901240,-1451448443,1437375335,491330225,-1846856064,-392257890,-1685931583,-934435144,-327626232,1325882962,-1401465823,-91610021,-866630083,-2105518012,1186816623,1873723904,1262104235,-1978741568,-2072265304,-1798483872,-616875958,-708702575,-485755129,-1846961123,6223108,1017586222,1707118605,929802854,-717554809,-1706270618,1114517620,-72771994,-334717391,1613553891,1416832201,-1867205091,-882963230,1674548320,898294345,500806419,1768360790,-2075294080,366078029,-1548546673,561033208,1299339728,1259528132,2077232308,321523065,-425048546,-667257974,-132244191,-1469390485,1549444014,-1992486253,1245962556,-89850528,1585684273,569551678,1519853627,1644536627,-1037304915,-1943277546,-854075581,156806369,1662994359,-1731399390,-1674725580,-1543048772,1642121907,970728438,-1928360832,694317113,1069134251,-991455319,1303233415,1196637450,1364076853,379519859,1141553883,703158870,218949582,-1306314496,-38862744,-1742846268,-219268275,655452569,1031113885,1190968400,1159400095,1437767209,-635195075,-922274063,109907903,1275254298,-960952332,-1247991950,33597069,-1666114379,-445561479,-737350735,-1327834636,-1908740955,217197452,608847482,-389804212,-1101324789,-1670507324,-404134225,-30111288,-1528685131,-559444240,785863208,-1868037077,-327836762,-460987366,-421316870,-1245806364,-1921561149,-830180826,-1093996483,-371101503,-781432375,712712387,-1888726850,-1498575774,-1762022995,1996415206,-1044876778,-2065403797,-1177567673,364718130,-2012392372,1136673223,275382065,-1630278460,79795339,-971544450,-1776692335,1944497234,1487260001,-274625559,1325821877,1363521367,-2069914011,2026608202,-8487701,-1994055959,1178446756,472737764,-1649983434,1387766620,133025335,-2059970094,971323692,1598014175,1314776412,1792080372,-1275615421,982831353,828530444,-487805468,1935344748,747337084,-942819223,-627374214,-88088533,237960216,-84016808,360761603,467803713,970802445,-34232755,574954506,1333837045,1608723687,-145993860,-809150478,837316682,-1883016843,-512488670,-194350262,2061908564,-1511989992,-203675157,-11588459,698313722,-381741473,1043615916,2070740764,-2021200490,-419413222,-738462290,1772464817,1084395819,1350381429,585796491,533824791,-1084695165,-1185753157,957850107,-587649955,-29505649,1022415708,-526735151,-1853657746,137946582,-752401833,-2055820658,1986760932,-517654287,660928518,2065590857,1182533171,-1740176548,-828356375,-1539331512,-1330316911,2027590428,-1791923030,1244512959,-46685983,-1659229487,520148404,1528088741,-317486676,-1360851076,-1226216725,-1431153877,2033623626,1071082746,-1397883719,1178619848,-1174207354,534184249,269839026,1765246099,-652486312,982804216,-23121403,1441036087,-1223861783,-1154687328,103574597,890627399,-1422483711,-2135602742,-1852561729,63342399,409072320,272128737,-1913111419,-1476052005,-1085574968,-1613744728,-299407620,-751258257,278048622,-767539735,2037736579,97872019,643137577,2079336167,-1811819980,-1451100943,1868026912,1095424474,-221465225,-204511673,-678016932,-515431893,901692692,1138078069,-101043907,1067252433,-1478291499,1411664931,-1278041919,212402244,688454382,-482176328,1820201314,1295975915,-1034808074,1038190515,429029127,692367767,1910149121,1049800899,-318633393,-1061154079,437694316,-1480096568,415444015,1381972649,1403328143,-1173165273,458592874,-1622342353,-1515920719,-163897576,-1098189557,669504434,-110137376,1859816491,1408985295,2114693705,-761881753,-1299885701,-1111435107,766210194,-504290233,-1756745168,551886272,1831195215,-1667781500,-160329338,160105281,1638953079,-953880589,570227108,98770142,-655208819,563946623,-1100787387,-1810567927,-399341581,860011802,-1044820131,1007545619,1245894753,1802531803,-830561082,-254433212,-486132306,1005581369,1221284410,-1189864922,-700749079,-1102987067,-1648041021,2129438093,1588609503,1584699027,1742693249,403954782,-1236436585,1891170642,860240009,641433804,226174150,-713983682,-1111444206,-1303843122,2076316291,1421434131,-2053285343,-1881205550,-1473986886,218788996,-27486554,-136701213,246013689,-2050477256,-934754911,1808699722,-1042013202,980370969,-1203637660,-739608979,1741854457,-216638263,387269153,1430185604,791008616,-1187201358,-1157804422,-1756223178,533513317,-1042193107,968266338,2146694074,1675466881,-580556380,1722183450,-852629331,-1821745593,800210057,-1189193155,-60280873,-1040281260,441282381,352749706,-1162356714,-382941726,1903296280,482585363,-1853666008,546238028,1946895918,-814512046,-398492937,1453625265,-1818798810,-1603241493,1522019708,-2137108392,1542323814,1262938148,-1174149744,492433010,203719664,-146134710,523040635,1412975109,-31414253,1549029187,-777748511,1873426219,1547019215,205830846,1487802522,-2137770767,512334575,228479370,-1998254418,-566068046,680551434,-879002714,61017014,-941891113,-723685092,-1452137353,-676185904,-1283267415,-1054295861,-983036997,818879361,885642424,-31416373,-1732716083,-1853071584,-951145962,-594426052,1338856308,1149374152,-1454365270,-255862589,-2096438503,1568942609,97862634,-1084990455,-1648863256,1228803534,679098106,2085259790,1055295204,-1509373749,-1965357420,610823485,129901276,-388035123,-1106770285,496208935,120136623,-1556930293,1709996809,-1699205693,-1657621022,492072426,-1057726524,2127597330,-1723461910,-1089213340,1760883587,-1122285179,1968665355,250727816,-1586902734,1752265773,-1389633896,201740010,-730397813,1554814077,1095482737,-257933406,-1663084597,278236697,-498043236,714427377,-509299281,1897045980,-933645713,1948552607,-1653295352); +/*FRC*/Random.twister.import_mti(487); void (makeScript(14)); +/*FRC*/count=179; tryItOut("testMathyFunction(mathy3, /*MARR*/[[1], [1], function(){}, new Number(1.5), new Number(1.5), false, new Number(1.5), function(){}, false, function(){}, new Number(1.5), function(){}, new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), false, false, new Number(1.5), [1], false, false, new Number(1.5), [1], new Number(1.5), [1], new Number(1.5), false, new Number(1.5), new Number(1.5), false, new Number(1.5), new Number(1.5), new Number(1.5), [1], function(){}, new Number(1.5), function(){}, function(){}, false, function(){}, function(){}, [1], [1], new Number(1.5), function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, [1], [1], new Number(1.5), new Number(1.5), new Number(1.5), [1], [1], [1], false, [1], false, function(){}, new Number(1.5), function(){}, [1], false, [1], false, new Number(1.5), [1], new Number(1.5), false, [1], function(){}, false, function(){}, function(){}, [1], new Number(1.5), function(){}, false, false, function(){}, false, false, new Number(1.5), false, new Number(1.5), new Number(1.5), new Number(1.5), [1], new Number(1.5), function(){}, function(){}, function(){}, [1], [1], function(){}, false, new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), function(){}, [1], false, false, false, false, false, false, false, [1], new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), function(){}, [1], new Number(1.5), new Number(1.5), [1], false, function(){}, [1], false, new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), new Number(1.5), [1], function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, false, function(){}, new Number(1.5), [1], new Number(1.5), function(){}, [1], function(){}, false, new Number(1.5), [1], function(){}, new Number(1.5), function(){}, new Number(1.5), function(){}, new Number(1.5), function(){}, [1], new Number(1.5), [1], false, new Number(1.5), false, function(){}, new Number(1.5)]); "); +/*FRC*/Random.twister.import_mta(-1404363397,1543280274,1886834262,-491937695,3560246,-1860237936,760109901,1112908028,685185713,-515356068,2023567322,-809546626,1708403015,1181547109,-861494316,-1377133797,1590159851,-265439946,-204283524,1697034782,1550804543,794309585,-675853454,-1637105100,33409684,-213423658,-1641275295,-746690795,-850353902,1993295575,177400506,581651389,461487680,-1364221585,633018373,1155778331,920860042,319011240,-1874201571,642691671,-1169679476,1491193045,-1588475212,930842579,270399169,-979379123,-377758245,-1448768463,-1165832732,1227445566,-858238885,734934989,787902700,-284929685,-1139301371,-765409202,2018003284,-1327044270,981314224,-1900503373,1196029541,-1121171674,998011358,817776861,-576959726,1732695765,567000501,-1410865498,-1560543983,-668318630,1068305261,414642660,-35232976,-1492504427,-19670230,653710258,2089327251,-1743756790,-1911729003,-1313720022,-256439766,2058934766,1144782875,1101384735,-2036076356,-2076134570,1024485094,460796526,1005886080,1478578712,-1212750497,421421259,-1450044886,299534780,1775691178,221181867,-220361009,-1502114478,-857899179,-614442439,1321290397,2027235236,856476135,-1220807754,1654447915,-2006596223,1769354232,-1612471513,-1556813256,603780790,-1193045054,-1187851539,-785247262,311145632,389470920,1032486551,387879911,441425177,-194706656,1889363747,1342670772,2021705764,1999426134,1491274055,-530345755,-878641392,-1549246863,-147992442,166069303,1547021877,-749726944,-475563095,-947514606,-1670367816,-2106760306,-139360646,-699658001,1027310165,263015063,-1080009580,-1268614171,-79443534,-418386022,1005839088,1272942272,439062811,369464529,-1270480861,835310438,575522934,-2027455369,-1916150498,1282129980,1191018893,729599016,87838684,-1106535274,-977060195,-1082825592,356822841,613778529,-356660456,1961542508,1167039181,-857890298,-1504316704,810493266,1456263581,-237269488,854186177,-416706495,1995549139,-939487695,-1221233720,-490224140,-512114330,-548346601,2010590663,-984802193,364406412,1312236403,866745286,-1740408196,-629822313,-1595266728,-1082690935,948134757,-938890548,-1762859102,504726978,-858849633,-605342141,-635779981,1079516873,-1301381630,1401247677,1428839281,1254880397,2030201586,-1673532541,1351302433,-1686108704,2072978639,-2129732082,-1158705041,247220257,-88882459,102147127,1638129184,142065263,-1200073294,380040217,-517669382,-327556205,519505816,-618732820,1647698777,1260718642,789490688,-1534269864,534469947,-254051087,-945430878,1380850726,-1835589162,-1406374394,170166669,1207635736,-1460513899,672899756,1018717932,1179600624,-2093341011,422337771,-2072994010,1725960403,196364756,126315326,80147067,176680511,285692785,1576669470,-607103288,746920934,-2091110837,-1458724594,-1164598240,992829228,-382338288,978273229,1876252175,-842470870,-185515639,-847583664,17433372,-1238380191,1444118492,-773299632,-414964671,1365191257,-1431762103,-581728199,-706770852,965395432,-932461774,-1287503838,-196416704,-1011135067,-306472774,260685727,-907018026,-1581805131,1591255968,-1793190146,252838555,1729688143,708280556,-1026628695,622696406,1202561346,1979319983,-1098118932,-1903012648,-824239900,-1748493316,253089354,239861197,-2096419130,-1516410720,168437548,1226033899,-874909268,-576144834,1283866120,1336977004,-437484771,-447396618,-328868045,-1940959717,2013294953,16274284,-1343138513,-1740751593,-898515905,-1548335692,-370147476,-381288177,1851654735,167959679,1040791998,1020711221,-1806459344,1688606588,-608223117,1337493395,-1771855504,121338446,-1979671855,450696704,-636341337,2015851371,-2079555539,-1267265567,1139517866,772438088,1513950465,1573159975,-1956605537,-1118419066,-2072449258,1361944750,1021621893,555753782,565675343,-603991604,330300364,1632084977,-1009362000,279510602,-2105511967,-1240714917,-1392482034,833224505,-381286580,1213220925,892849975,217067181,1520382433,-2069980764,-792743175,-1889096464,-1344013761,2132945821,-1792959833,-1604561096,-879099491,-1872480385,-1345633787,-62075436,1222139281,-11529636,-1620254259,559068729,-565795402,-1867976509,589342267,-487952408,304435768,146359030,1703015345,1717931424,-1849620419,-1716923545,-1701418098,-199449402,-536121114,-89769162,-1961392873,484262065,-744526175,-1946702657,1960408140,1255429384,-921161752,894948597,-147049665,-1519633134,-1054374145,1902104462,-20401241,-511755935,-958575844,1805498439,1206177602,1986641264,1370842228,-771302595,-1931299729,-1621456871,-1830825797,265755565,1194487221,666832081,1437192738,-2066892023,1168964816,1408034478,1521704452,34091674,-293834035,1709350589,-2117917917,2022637967,-1388124103,1168327384,923344765,-1739297412,1665616743,579047404,-1760455739,1404820653,1728534730,-475891146,-437231383,-825609791,883467207,177330635,-1689125722,-526546324,-1111298411,-755157033,-2041043041,-522600725,1246152285,-1608793652,-773840052,-935483891,2140178723,1081298000,1221910278,-1478690165,1317374328,1954855700,1820210459,807256817,-222061185,224161468,-1522427363,-1608187869,-984330035,-415265857,1532035894,706049659,-651800618,-1427440578,-246215400,-1848658467,-71950150,-93939169,797618079,1041436296,-65385724,392366596,-817167593,602063395,407699304,-124589164,-684784692,-1978609632,1034859729,-1697281066,896456157,65708049,-1231271409,-1190964424,-1855354951,-1159401642,2093520489,-881493943,-565576426,-1818575655,1479439483,1388734719,-448306806,1244561311,-1599361496,88962308,-332648181,-495074454,926561778,-405365685,-896542034,1315869229,-2119326747,-481731502,696552297,329860781,957188927,1263954454,-27575013,1201407793,630026713,1888098555,917102517,-1615838060,1857323853,-1857850449,-872282906,-497597987,-1318343419,1715037307,-1183142098,2085020103,-1311393468,1404481850,1800193595,-1886536979,-1372623393,-1423525626,159825223,1174764109,1391151719,-1854217748,-1645364358,2064431717,-2071009137,675743311,989720699,-2008510202,1965633715,942361400,-1434587353,551514950,-2078664783,1846618723,1744053068,464145836,567747581,-620795639,1655985796,-535145258,-1725543183,628569261,-1591501160,2099383727,-1425565393,886020333,-818605485,-2110857870,-1742731348,-626457843,-129628704,1559373252,1505100656,-465457210,-383879805,-1581952315,284960117,-2046691663,1263442360,-335140949,-1339634268,-748275385,-1730457781,946532018,-775437483,-1729854019,269799009,2018817335,2037371049,-1964944825,639151011,1389454989,783362505,1312236340,1707722010,137524138,2024540455,-1391895606,-109005498,-604130989,-993832481,-542696736,-1371442568,-1330118281,1983912302,230022875,879531037,-1665929053,-1942650880,407508512,1198097935,-1178826957,1786466226,-103030941,-1662131000,723036480,684702549,-1313134625,-423521042,-1774883589,-1416277260,226081272,2099457835,1756662861,463840885,-1020556744,1724360310,1649187584,215446141,2049646322,-1039585772,1318149464,-1657003325,373333445,-1608664995,-807368471,758983750,1862770964,320141225,-88037718,-1787606176,1594834928,489416031); +/*FRC*/Random.twister.import_mti(193); void (makeScript(14)); +/*FRC*/count=180; tryItOut("var xrleeg = new ArrayBuffer(6); var xrleeg_0 = new Int16Array(xrleeg); xrleeg_0[0] = 12; var xrleeg_1 = new Float64Array(xrleeg); var xrleeg_2 = new Uint8ClampedArray(xrleeg); xrleeg_2[0] = -22; var xrleeg_3 = new Int32Array(xrleeg); print(xrleeg_3[0]); /*hhh*/function qktuch(){v2 = evalcx(\"/* no regression tests found */\", g0);}/*iii*//*MXX3*/g2.Math.sin = g2.Math.sin;o0.b1.valueOf = (function() { for (var j=0;j<8;++j) { f1(j%3==1); } });print(xrleeg_2);;yield;"); +/*FRC*/Random.twister.import_mti(336); void (makeScript(14)); +/*FRC*/count=181; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(345); void (makeScript(14)); +/*FRC*/count=182; tryItOut("v1 = t0.length;"); +/*FRC*/Random.twister.import_mti(358); void (makeScript(14)); +/*FRC*/count=183; tryItOut("{ void 0; void gc(this); } function f0(e2) \"use asm\"; function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var i2 = 0;\n var d3 = 18014398509481984.0;\n var d4 = -0.5;\n var i5 = 0;\n return +((-70368744177665.0));\n }\n return f;"); +/*FRC*/Random.twister.import_mti(426); void (makeScript(14)); +/*FRC*/count=184; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return (mathy0(Math.min((Math.max(( + Math.fround(Math.sqrt(Math.fround((( + x) ? ( + (Math.asinh((y | 0)) | 0)) : ( + x)))))), ( + Math.tan(x))) | 0), (Math.log1p((Math.pow(y, x) >>> 0)) | 0)), mathy0((((( + ( ~ ( + ((Math.imul(-0x07fffffff, ( ~ x)) << Math.atan2(Number.MAX_VALUE, 0x100000000)) | 0)))) | 0) >= (0x100000001 | 0)) | 0), Math.fround(Math.tanh(Math.tanh((y | 0)))))) >>> 0); }); testMathyFunction(mathy1, [Number.MAX_VALUE, 1/0, 0x080000000, 42, 0x080000001, -0x0ffffffff, 0x100000000, Number.MIN_VALUE, -0x100000000, -0x07fffffff, -0, 0x100000001, -1/0, 0, 0/0, -Number.MIN_VALUE, -Number.MAX_VALUE, 1, Math.PI, 0x0ffffffff, -0x080000001, 0x07fffffff, 0x100000001, -0x080000000]); "); +/*FRC*/Random.twister.import_mta(-518193370,-1486753998,981577812,1338782262,1337847677,-401567320,1954742876,162432654,1963514366,799174979,2104293435,-370501914,1413660448,1135726423,1312743025,-1897642587,-1789644126,1011495526,1167738482,795569852,-303832496,156772949,-668699937,323303911,1587866657,901569241,357032892,-1469947576,-691556237,265858198,319613351,-312650420,865963773,422054666,1025602765,-72866770,1137121929,825723677,466602680,-719737909,-1964449898,1356572938,-1973310416,920301876,-180168831,-1724783322,-1583070244,1834787843,-1772668960,-1304889778,1773023524,-1218561963,1809762471,540862818,845244177,1446073041,-1051378817,-137090714,1862791838,1801715248,-450886871,-1478974736,-1361233106,282929921,380735665,-1634835455,-625414076,-342389644,1952046405,1045225213,-613123266,-1260133960,-148693948,-440637885,1712700420,-1532600953,-1164674294,1728924077,-911172820,-1027642813,26540702,1885587611,1737731014,-1865726841,437136848,206461836,-386074435,1473524447,-1933899996,-2019641484,967553457,-155923841,2144825644,-750915938,1427116452,-301406827,-761895604,472863527,-583264598,-306097348,90642669,-874987974,-439958336,-1344612229,-1195957306,70320391,-1605320967,-836095608,1061877782,-1926055346,160685391,-1966192596,-131172523,1839335711,1052188858,-289335061,637191959,1770270890,-1979005579,-1483835081,-1838216755,-1867460563,-1124103877,-281279776,926627311,1504083467,-428125383,-1493759839,865898314,32444383,-769196688,-343172977,990980719,2032007935,-777704422,-755905554,1133471300,-254853129,2015628550,-661405567,1551288100,-1451712828,1062053884,-973761610,221983907,-1216524774,570961494,633791516,-1172210412,-1370188279,-1982726948,-467976852,576092085,-820550375,-86498802,1140321167,-1570820895,-1141170814,984912576,720838698,631423225,-59468025,-259922943,-899090776,-485739308,-1958630418,716543834,8858042,297508842,846789954,-228283817,-983809296,586508621,-75321155,1453607696,-1536056103,-867037195,-174514724,789968476,-1239330100,1635300548,-1591154956,229823442,-1953978881,40917060,451812237,-1975146722,-70356314,961207183,-1294331573,-1064189981,1756766789,1964064699,24979745,-1214014194,169941588,-703199957,-983897574,200974806,-631929073,621787557,1433666919,-431555607,1380586515,1975764539,-1456936875,-1491022353,1483039581,-2036938339,-552099615,-1264816987,1390339581,-471649429,894475582,-276406430,-1501357013,-1196513318,29871045,-1302606991,419796651,-1940380959,215305797,2050226618,-208980415,-1016759197,-2095723543,1054237395,1819108915,-211009948,618496802,1827377486,-685224716,1032720130,1991986639,-472498632,1892875540,744604892,-435736103,1973539110,-976640441,1833748440,1675031829,-660158378,234001752,1758257889,416322658,1929232682,-646373416,-847824020,1992714503,899763442,-1110115270,1392617969,1438835250,712849703,-1110569059,657235390,-106542248,486174911,-1077822586,-292978743,1473163491,-1486010918,1743977232,1754704652,1642774296,768392646,-63630389,-1911044582,-1365660581,-16135887,-1708226991,-1816203687,2133193294,-942117381,-2092107882,173487941,992017103,-1802966796,-936674513,1065020692,1965575549,828300963,-1968097663,-1335967165,-248857433,1793485139,-1209092231,-488787610,324824708,892457943,2019937710,-120751355,-43998350,1080655141,116621118,-780762693,73100524,1374382547,-144755214,1800174603,-1291709872,1486238535,-347121200,335197723,605760372,748215227,-1650645890,1869042756,-521112701,-1696429153,1750935150,-1197913238,371723179,1558569575,-819545597,462834371,1959082673,1119183731,-1697875898,1211309655,-1776081269,-1879232192,-980199064,-1472633480,1792468070,1903799084,1540111150,-1981494863,-1924131689,681587686,-1473825955,-1914539137,-1917888993,-2013410194,-1763600079,-1395026026,1103602282,310824707,975232807,992099736,-9736199,-631104691,-656780330,-367564818,360342268,331960600,-1876933345,1642576270,-78848189,566578976,-777875202,-901905529,-1235912539,1513273520,-492428246,-821944830,-1409246310,384763544,79242049,-1348257082,402966489,-36529867,-1831620870,945282101,1230060274,-1853789795,1479173727,45144003,209674540,1411229559,-655921713,-97092643,1476820021,1438866543,-948805489,1926751325,1589111899,1423719139,-22736587,-1250173121,-541980534,1736178811,1643935300,426620098,1744997449,-747875446,1561143102,1511554571,423020654,-1459203290,264919080,-1464611761,293685730,677223296,-1582284117,-318695510,616652420,356194930,-65645500,1091778232,-596410969,-1901769272,1463575214,-1756404812,115574027,-1686569522,1618783625,253652813,-431281069,308380849,-415274916,-1790451890,-392952206,2034388423,895544625,1517356071,-774866923,-97100936,-2050727630,855541060,-2039308267,-506356993,679193876,101059366,-1749352980,-671254180,1430355091,-1835154702,372297949,-2006010109,-1666733679,1426275236,-1221776119,815100667,2072029764,970413231,-1801074035,1991543422,1762000625,1376934274,-708574488,162838137,967374461,-1582385755,-185205713,-1834095750,1161957935,-143141124,-1868264262,-1641826342,1332180865,-1350112254,1805851852,348446911,579032149,1493603199,-1999606626,434482148,579307590,1219913805,-1469596870,-830485440,-459795182,-366915987,1239983340,-1369561183,675590088,-1542905950,-708047427,-833794199,-265223626,-1701445190,779905206,147156187,-1878700857,-1851092244,-1995227127,-756022607,-2084288702,-1596102448,-1709785721,-1888633000,-617409874,-369910708,1583139389,283055068,-1615356292,206809626,227457824,45422151,-1767288123,-130752971,1550324719,838854304,516674963,722983195,-626852806,1007396867,1769495838,-185861507,1721094489,17868947,93263119,-713946186,86106620,-1372948132,-681968347,-1265292512,-615850943,-1777573610,1467286143,-373268475,54342094,457204923,2081676495,-582784844,1621266260,-1515314222,1120368380,1293792926,1221856723,1208328835,905473110,-1626036108,-1665115605,1932098832,1869100168,1352547030,1149474523,1735990940,1133842360,-1088515981,-1030160811,-1368967720,1655861906,1762874018,781553604,419892524,-2003541759,-1011639028,-1755920146,-541625009,-66061109,-129087751,-2116411430,610156976,153383150,-634182307,2074148889,-1179624552,-968853606,1175315934,1129938127,-1236553424,1077334028,1546041074,-1297581983,-847216767,585748597,-709087027,2001100818,1132760651,-252911409,-265489633,-939770622,-350091064,-1644111908,1523857266,1176109745,316585688,1517773943,-1691728185,886227074,-1564170350,1711177819,1578265359,927064773,-1386034595,1053322225,1295802517,903951808,-1249469162,240561766,-685730003,-1992468182,-2021140080,955413064,1579026393,-1309175259,678419746,-1115607181,1013751083,878982899,375166011,1463583587,-2129654695,-708279225,-1417173064,673480063,231527759,327123091,1626032069,-544927068,-898789442,1967783935,-1916354034,-2074242369,1087439211,1517187842,1090052430,2116360814,-7066121,21278135,-737457201,-1528788320,1336434253,-1635417172,-1622633693,-1781293286,1530457170,1205470328,908919003,-577804231); +/*FRC*/Random.twister.import_mti(91); void (makeScript(14)); +/*FRC*/count=185; tryItOut("\"use strict\"; mathy5 = (function(x, y) { \"use strict\"; return mathy3((mathy0((Math.sinh((Math.atan2(Math.fround(Math.abs(Math.fround(x))), ( - x)) >>> 0)) | 0), (( + ( ! ( + (Math.sinh(Math.fround(0x100000000)) | 0)))) | 0)) | 0), ( + Math.acosh(( + mathy0(y, Math.fround(Math.log1p(Math.PI))))))); }); testMathyFunction(mathy5, [0x100000001, 1/0, 0/0, 42, 0, -0x080000000, 0x0ffffffff, 0x100000001, Number.MIN_VALUE, 0x080000001, 0x100000000, 1, 0x07fffffff, -1/0, -Number.MAX_VALUE, -0x080000001, -0, -Number.MIN_VALUE, -0x0ffffffff, -0x100000000, Math.PI, 0x080000000, -0x07fffffff, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(262); void (makeScript(14)); +/*FRC*/count=186; tryItOut("\"use strict\"; s2 + '';"); +/*FRC*/Random.twister.import_mti(271); void (makeScript(14)); +/*FRC*/count=187; tryItOut("h0.get = g2.f0;"); +/*FRC*/Random.twister.import_mti(288); void (makeScript(14)); +/*FRC*/count=188; tryItOut("mathy3 = (function(x, y) { return Math.atan2(mathy1(( + Math.max((( - (-0x080000000 >>> 0)) >>> 0), (mathy1(-Number.MAX_VALUE, ( - (y > y))) >>> 0))), ( ! (Math.hypot(( + ( - -0x100000000)), ( + y)) | 0))), (mathy1(( + ( ~ (x / x))), ( + ((mathy2(( - (0x07fffffff >>> 0)), Math.pow(( + (x >= ( + ((x * x) >>> 0)))), x)) >>> 0) || ((x ? 1 : ( + ( + ( - (y | 0))))) | 0)))) >>> 0)); }); testMathyFunction(mathy3, [true, 0.1, (new Number(-0)), '\\0', [0], 1, [], 0, -0, (new Number(0)), /0/, '0', null, '', (new String('')), (new Boolean(false)), ({valueOf:function(){return 0;}}), (new Boolean(true)), '/0/', objectEmulatingUndefined(), ({toString:function(){return '0';}}), NaN, (function(){return 0;}), undefined, false, ({valueOf:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mta(2003937565,1216070232,-605008545,-3837479,-394578573,-186331930,1407918569,-1379201205,-2009461387,1019621644,1418323706,1698640093,1587247911,-1401529514,2034629201,-538065377,-1229906111,1536126718,584407663,1820390671,208985568,1328337608,1433292062,-2069609589,94666150,-344823007,1011522992,-194157632,-799626329,1198767440,1676662325,1381741907,447010136,267828666,-1586250874,-1377302977,918444120,1030920103,-939208834,2091072356,-53993976,1938054246,845719147,-239369571,-1721962373,1499895703,-703720285,-1434112427,-1377204472,-428149784,-941244710,462422640,-2135230453,505132173,-42504650,371507554,273221759,1665604080,389196621,-224517580,-616808986,1317746291,-203313895,-622456630,1042823653,-1557941150,-1856777432,151326736,-809075891,-2082203074,1916100372,-543649408,1041927747,-1119383189,2070584362,-941867969,-990741313,740106573,1750223161,-782176349,673846427,-516303022,313087454,-304447944,-1674473407,572224473,701610782,-273801250,496210311,-721257509,1038437276,1941443212,605047919,1748835989,950374608,-1853887341,-1955132765,526511605,1747680269,-257104462,-11623641,1323879011,-1482849796,-1464833122,-1115299579,-2010101968,1654263243,-1965590595,62438619,1944790820,-767633101,1368039509,882075665,-1990725301,-115523883,573944657,939469211,-2024950050,-1227075445,226253965,-1309517923,1658410896,895055756,-1886872394,-49315319,-500122688,-7644967,-958730287,88042779,1513751464,-2086320112,-1809965250,-519709829,1336641681,720235087,-556194991,1677185393,-764071077,-671931891,120074544,975814822,1185013458,-1435588390,472299394,-1930924061,-1900846492,-286486843,-446760845,1341711361,1622589406,2066345560,303083096,-987626934,-992195937,1051931266,-836058255,514126350,-351143856,1431126041,-671127983,362447677,751320414,1205709601,-1539691865,853980645,383665638,-256936942,-118407958,-557825117,1259924796,-55642460,-1834601717,-489428432,2039255888,-783874364,1678504418,1310609004,-179413828,2129537341,783167853,668307903,-340024396,-1576760879,201608375,-1583445799,-1331409255,1941018421,311249461,156819792,2127017662,-710814795,-39966501,675395178,868094885,-124673447,-1905315999,1456030718,1403110608,-484511685,1251958868,1719285291,28076691,-670447703,-1373272435,-1629272986,-1435266579,717165525,1345215407,-2083872944,1317028995,1949978782,-400021503,12991901,2000408319,-1267981148,-1547469286,-659556214,1412308648,1902833962,-796065822,1105695825,-1571721218,891204837,-1551703364,-1621601965,-263290515,1924230143,1321711151,437584841,-310016520,-732866653,-1229180174,1454496478,1644183285,-710774335,-1643450597,-1764943553,777588329,-556575967,675092683,76910851,1427545722,-1726706509,467656430,1474766031,464239354,1077705443,1791967318,-1387833708,1337912167,-1706148458,-181659263,-1047324104,-1334005252,1937954001,-2084510344,2074122492,-1264951627,1304127632,-186066333,-48671468,-1295705749,-569279561,49614302,227002411,-555576931,-609156514,-1144783611,-1111475564,-723193300,631533930,1233860488,653553328,1827312257,-350005858,1909107829,1658994256,-845034848,-426963144,-553152895,-1115217172,2094051768,-1972049155,-781264511,-2099579012,-79089861,1885456727,-1437407915,119865649,1886516269,-422250979,-1689897800,-577509925,1752161637,175943567,2121632591,-1043747768,-1010279646,-466154631,-759955303,-1530488765,-1909901994,-226783017,336041837,1041282295,-417950661,-542212708,1603911353,1212767820,-959405874,-1712001777,-2139277836,-267925805,-1632896270,1362489856,-917502919,1986549340,-2051585286,2128490159,-654216293,-98288369,2136672368,-206159833,-546588641,1779081158,1352116635,-582289371,1655994144,-1857523465,-204630001,631980783,1652320357,1475304672,560262140,1487866874,1439987472,319354385,1114967661,-711819495,688027357,803927656,220496812,1314429626,1123326572,-839874656,-1086785529,-1671115043,-1056863398,-965244690,1706807324,-1487285047,18363157,538097485,-1835924351,-141951548,1656644122,205147749,-925709476,256523841,-153860584,-1700701278,-1928587766,-1750010836,-1496019020,-153244126,1178281500,-231361856,-1569121384,1084124740,426298302,-1453477446,1761338066,2075716769,1560645677,1609529579,-1348753680,-689571540,-934329354,-1270180323,110583050,-1425715494,-737772448,-19597229,303179887,1175981739,2096851420,-1183189554,-1583477529,542333289,1398702770,-471923021,-1078467811,1579082007,-461260334,1898032480,-1472149386,427311742,-164398179,-1397941975,-2108001940,-826434212,-1776967648,261472437,1169817526,792145638,1934776282,-946284682,-1185802554,1100383554,1916599126,1067186329,-348297346,-991015520,-1776811767,-1858761614,-1117203556,-819512725,-1464140279,-1082386366,1899951304,-1450183824,292675577,-632096277,1439319661,1484569126,-1998566251,-1187549502,1865733970,-742608350,1161178359,2038358682,-194848332,686667702,-335734153,1844317837,103384536,-572911334,257955233,1168271270,701436252,1574555531,1774112583,639612411,1366299271,-1218686880,943457431,723863082,2052882223,-368891485,2047831816,1564076451,-2003097774,-2053173493,-505697409,-963728166,-1348535639,-370297929,-1734114735,-1476397359,-337486297,1983112040,-1298294815,-330898030,2060783318,1252875295,1358229550,2082426671,378609362,-1493686149,1731894232,1674010613,447489042,1284869793,-581534639,-70953238,-443408414,-1841300548,1782483985,-1261553120,-1845645744,1686069216,875826045,-296129489,257513178,1119652724,1171579262,-80538275,-1154449383,-1274919685,1178812491,-1867967389,-392882194,702425269,-1018236658,766420755,826500806,-105542607,-492235340,2100762887,-2054610095,-2035758350,1923330312,-368732627,1213938571,-1892599202,-241683562,765706444,-405948548,-2005045433,-1049437578,601679969,791836577,-1160267812,-456569899,223591405,696563051,2143111,-201070604,-98201658,-81969516,-720540845,-1216950767,1686748516,-834406286,346081000,-1650215439,-452977955,-1937144536,895504100,-1043914855,902631601,-1198044143,525491150,-2002917520,784369648,2093020957,-778410196,-1787335783,490714539,-1847719851,-721379707,-1478035336,777996931,-1824012801,-983939817,753995383,-577549332,1312104318,-1685899101,-277975573,-1135901742,151809321,-399268061,-965795651,45031206,-1084544114,1938887904,-630993424,-1442828160,-465963943,1523047413,-530187264,-190138456,-233423039,562761964,-1610384515,1711414579,1115745745,-1222561237,1194836438,-154691448,1500320796,-447637434,-1928946412,720796584,1886784950,-418147935,685769016,-948652494,-1618724904,-2006802847,-313871537,630535465,-1096633044,-1941149751,1284100745,-1431470276,749136017,218066887,-1014555971,555526354,836980840,-989753926,1611876354,284158710,-652289865,-360433342,-56728986,-1511953230,-464111911,-843915077,-158176298,-2141638750,-1278001421,736300246,-1297484006,-575593334,1382383280,-114211359,-559380236,755017048,-522540913,-1521381416,175431926,-202487369,-561002864,1545356132,896794621,-178377584,864196414,-949175314,-213934638,529517749,-70769105); +/*FRC*/Random.twister.import_mti(6); void (makeScript(14)); +/*FRC*/count=189; tryItOut("/*RXUB*/var r = /(?:((?!(?!(?:[^\\w])^))|\\t*)+)?/gim; var s = \"\"; print(s.replace(r, Object.defineProperty(d, \"callee\", ({configurable: true})), \"gym\")); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(370); void (makeScript(14)); +/*FRC*/count=190; tryItOut("o1 = new Object;"); +/*FRC*/Random.twister.import_mti(380); void (makeScript(14)); +/*FRC*/count=191; tryItOut("\"use strict\"; \"use asm\"; mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var d2 = 137438953472.0;\n (Float32ArrayView[((((((0x8d3abf7c)) | ((0x92c188e8))) > (((0xfa60441a)) & ((0xffffffff)))) ? (0xfdebd1a9) : (0x7e451207))) >> 2]) = ((d2));\n return (((0x8a1546f)-(0x48c654a1)))|0;\n }\n return f; })(this, {ff: \"\\u2BBD\"}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [-0x07fffffff, 0x100000001, -1/0, 1, 0x080000000, -0x080000001, -0x0ffffffff, -0, 0x080000001, 0x100000001, -0x080000000, 0x0ffffffff, 1/0, -0x100000000, 0x100000000, -Number.MIN_VALUE, Number.MAX_VALUE, -Number.MAX_VALUE, 0/0, Number.MIN_VALUE, 42, Math.PI, 0, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(554); void (makeScript(14)); +/*FRC*/count=192; tryItOut("\"use strict\"; /*RXUB*/var r = this.r1; var s = s1; print(r.test(s)); "); +/*FRC*/Random.twister.import_mta(-770794831,408784729,1689287007,596162362,-328743341,-9903970,-900413236,-232613757,758206300,-304339957,314916471,-137132018,1678235389,-634276498,1573074094,113144543,-69224842,425169306,304093636,-920824677,-1892903059,-1781842227,-362519086,-346174045,-1111467338,-2072529101,1878849421,-1453367510,-346451395,298333447,-552485596,-554772338,1120760362,1774665561,1000237684,1941085082,1816977787,1240230194,2021136490,-474079714,1990343570,-979467188,-2011537203,-2004940951,-1677380525,-1810886795,-1657129614,-509045788,1258388835,1222089031,932478487,1935074681,-1408629359,1669488312,-1014413341,347290603,-797431929,1411336611,-1764627533,-2072793788,1726917047,117936258,-2037295550,-1339076795,-1559474736,-1527837690,1045923550,-196685466,285670705,84271269,962418194,1627250565,-527309902,510792160,-1605727534,-1209794527,307256360,1457832617,1412094188,1596080430,1520592824,-40202033,-1492086452,-1284561121,-63897010,-89017952,948853045,-1786907800,-161649588,-1514033005,-2098427553,1057149459,-346718242,-1929651189,2032292216,-177398469,368490283,-2135709238,152376351,521825661,483770458,1861868025,-774826338,1096977071,918262416,37756951,-734515062,1474680044,-932339708,-1649140598,369121161,188509072,1557238284,-967129132,-417325354,941659086,-412118854,-818601097,-164484110,-2116999018,-2056303556,-527879168,-52858673,847387272,-965831695,-2109431337,874921797,-818429766,-1329679323,-455950635,-964261193,-588639354,1058695950,-1179429559,250834278,-140442711,951045634,-600725975,1062530949,-863074433,-1238924048,134799814,-540191852,1249647019,-524334774,-1071530690,2027948313,1001293768,480924056,-536363840,1195198546,-1189987962,336132219,-485352813,-1223574450,-1486758364,-202908523,-251588619,229386361,-1605048927,-871902369,283530703,1865175509,-1698942504,-351609101,-855831135,-1905352396,-672955934,-980480541,1481991777,-1831123829,-968308941,1005684862,-563864598,728296685,-1033978000,-1214139574,-863379479,-30824993,1844570529,490590434,259932677,1083089244,27618002,739255516,-985313684,787259625,-1998579871,1944717782,427107897,-882815965,1491055858,1129358256,-2074293983,-270764281,-1369101243,1237559914,-1201135052,-1135515491,1085379208,1698752496,283983801,709641536,-2101132664,983766015,1275991703,46965755,705053566,1289840004,-408154939,-8791441,542829552,2084429652,926332682,-1321527422,-922324067,1617162146,-883216094,-154551967,-1511573101,609961986,920241725,574875232,298328984,303066555,-2111083,1168330215,1175235466,782192037,-1752145327,2027335235,-2025903300,1465929531,2039300339,607084497,-10521828,603460576,-1532745928,986035380,-12210525,-256181677,-935214552,1263639976,1227134158,344083687,-1422486422,-59050832,-1718666201,1797061537,-415007975,147026364,-586557526,-599134259,-1892340422,-1463865962,-1769349565,-1836209534,-1177810580,2106721632,1010948256,-1448279245,-845256848,851975541,-209209935,-6975197,362846533,660033603,675423960,-1343423142,-624404360,-1397056339,-1887501557,997062378,-1465147459,4551937,2054185547,1845984279,1154677131,-2049076506,-221670169,501876324,1606124098,-452139020,-1860871111,-1330417951,2011807687,139620145,-1133209104,-1506289077,754163091,-41134823,1422725090,1238389355,-1570676282,1383375902,836905749,1692519732,-766614671,-1867550954,737812300,1499892555,1082126950,1693416264,-1806649716,-60344213,1006495266,-1444532563,2122762398,-554516312,1927436052,-212746779,490361336,-1243329319,1343529013,685588907,-1922480286,-1491462674,1686843095,-1970611455,256889222,-212445133,-638467660,63992299,1626601672,837864920,-1095182126,1849710317,-1921431298,-1911053023,436995894,-380367294,491535584,317871593,-126896777,2098196324,1491168211,629549923,-1514022694,-961159135,1260710200,-1060600318,-1072934005,425385720,-1047014550,161607595,554236995,-514724549,-430667701,-1839932402,1987914356,-351882275,1332705416,302322504,1340260775,-1100418633,799744968,-1061430405,405480776,-411029366,1917503199,-13279668,1160451952,-1530182541,1136728339,-1087621849,105789157,-1649276237,-697781294,79463449,-882668727,1040312514,1147899845,2007746039,-836827725,744707248,2010688782,-2078270149,-2079280253,-94791933,25845526,-1995365213,1366519992,2002811596,1239640863,-813909221,286315166,1771262733,86429492,961090710,-942972333,1550807177,487399079,-21114552,-151095420,-1010571815,-1993134884,-96179344,1569028288,-2023358587,1554990800,-1787900934,-173360024,-528334677,-1606802375,-182389756,-572141980,827908802,2113311299,912277422,-968102449,876337517,1315373580,390200887,1719035600,-699105617,-1921964996,-736040478,-1797308414,541118102,1469536776,1441568258,1543355181,1569243052,1711142777,621851809,-523575300,925628705,1285471969,-344024803,385037325,-1192087982,1859504164,-520606861,-315419550,689078674,1644981513,957658826,-576132676,884826974,-874936242,-1696505738,993820064,2025245185,2077083538,239961014,-480568716,29472475,-2007864308,1272869305,-1781030290,361082929,-908633375,372944117,652483466,-1999935999,-1017043807,1120474022,-1306401292,1808184560,746176143,-104121380,1376529688,-2110393225,-1616507600,-1931583697,-1648188420,-200465974,2060345009,-1143173180,-474316147,1148356295,-1413465240,479533725,-2120720443,-347720746,570623615,190090702,312765612,-1778974590,-1367982019,203921499,110832478,-786074322,-1277956296,-1691977261,-654098671,-120510349,1789170065,934770570,-1550571621,-2016592314,846345638,872931778,-393694443,820221371,171871133,-1415785822,1261019377,347284092,2017039251,-772126919,-1404105016,-2024452271,1772085560,1008656448,-754158976,-1053864103,-1059323624,1057156985,770319131,528799542,-1378306801,-1668961550,-671940072,834565018,1060057943,384986729,-2137091334,692293800,-1168222435,1624421905,540048044,381933356,783396416,1167526230,2066207399,1841225176,64400441,-107688587,-1493089329,286498907,-1278339700,1068701082,-24744619,-638712881,-163581122,-1588506105,617011183,-1931614963,1181528900,65526793,-419802059,499258690,1556055994,-1409607373,-1539080457,1750425145,1738503357,927877022,1576382466,-1115849085,-1662931306,1149761619,790092158,-1831543495,-136368303,926802382,-1135340030,-161974765,-426178356,-933409929,123385008,-1193098068,1967366933,751359419,750542439,-211013873,1112584136,-1550339232,574165692,-1390323356,990454664,1737208521,-1272262417,-563114352,953525249,571288296,-927143740,11363172,-818090841,-1605424929,1974131708,821721438,529881152,-412648237,-220819692,-1122958776,1614961008,-35640591,-196800486,1529917735,-1649609734,1984402148,-1782186040,1676635990,1912510648,-1255359878,1827757723,-1354226570,-2005269131,-1252642728,1817166689,-1220967768,-774792368,-1656469490,-1803483834,1756946510,746665612,1042756802,568338528,-528052345,-1647018761,1412080357,-915618039,1784753276,1464284452,1148857714,1723885249,1154241848,-586445633,-1889420947,353153884,769625876,172726007); +/*FRC*/Random.twister.import_mti(21); void (makeScript(14)); +/*FRC*/count=193; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return (Math.hypot((( + mathy2((Math.asin((( + y) & (0 >>> 0))) | 0), ( + ( ! x)))) | 0), ( + mathy3(( + (((mathy2(Math.trunc(y), x) | 0) ? (x >>> 0) : ((Math.log(((Math.cos((x | 0)) | 0) | 0)) | 0) | 0)) | 0)), ((mathy1(((x < y) >>> 0), ((Math.tanh((Math.hypot(y, Math.sin(Math.asin(x))) | 0)) | 0) >>> 0)) >>> 0) >>> 0)))) | 0); }); testMathyFunction(mathy5, [undefined, [0], false, 1, 0.1, null, NaN, ({valueOf:function(){return '0';}}), ({valueOf:function(){return 0;}}), [], (function(){return 0;}), '0', objectEmulatingUndefined(), (new String('')), 0, (new Number(0)), (new Boolean(false)), true, (new Number(-0)), '', -0, '/0/', (new Boolean(true)), '\\0', /0/, ({toString:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mti(286); void (makeScript(14)); +/*FRC*/count=194; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return ((( + Math.min(mathy4(( + Math.sqrt(( + Math.asinh(x)))), (( + Math.fround(Math.fround(( ~ x)))) >> Math.fround(Math.tanh(Math.cosh(-0x080000000))))), ( ~ (((Math.log(( + 0x100000001)) >>> 0) ^ x) || Math.cbrt(x))))) >= mathy0(( ~ ((1/0 | 0) & x)), (Math.cosh((((( + (x >>> 0)) >>> 0) >>> y) | 0)) ** ( + Math.atan2(( + (x < mathy3(x, Math.fround(( ~ Math.fround(-0x100000000)))))), (Math.atan2(Math.fround(Math.imul(Math.fround(y), Math.fround(x))), x) ^ x)))))) | 0); }); testMathyFunction(mathy5, [0x100000001, -1/0, -0x07fffffff, -0x080000000, -0x100000000, Math.PI, -0x0ffffffff, -0x080000001, -0, 0, 0x0ffffffff, 0/0, 0x100000000, 0x100000001, Number.MIN_VALUE, Number.MAX_VALUE, 0x07fffffff, 0x080000000, -Number.MAX_VALUE, 1, 0x080000001, 42, -Number.MIN_VALUE, 1/0]); "); +/*FRC*/Random.twister.import_mta(-2002579533,741700597,1298865485,978688012,-1977693145,-2052578099,1076091047,-1548201046,1912827070,-516764378,1176458820,-580164593,-346867848,1524253498,-735016004,716055820,719171101,-549162419,821509806,180228747,1194487739,1433599103,-1154413562,185383769,-2133929877,-1283558219,1901222124,-910897824,824604064,413345715,602526374,-1978130424,-1156048002,-1522721944,1460438505,1339484945,-909827845,355372455,1406362118,1111862019,-9983078,-373759001,384744229,1307265664,-398669115,908841144,186224224,-221934120,1580754440,-2096940785,686927471,-992754770,-468284110,-1387683041,445020107,-1492250647,-706539644,447423239,-2124877309,-1464404062,-1314771531,1754144721,-312038926,-1471341260,8104731,-585222376,-1517984381,1565888872,105440113,-391935293,-742915668,-1953202659,-1400665475,1415037870,1765444519,1438463113,870485582,-1051500640,227682024,637910546,-1251896300,-964736988,1858691949,1916737916,2076439438,342550891,-1184033140,-536293387,317413255,548396035,-1406318521,35506277,2095151425,-77850886,-1848898588,-403436920,-388929552,-312365205,-1665462788,-1510591857,-446825262,1012640051,-2122291685,-894988687,879210012,-1387702508,40700750,405286978,-1646887739,321377346,-985516848,292169343,247939313,1813305437,-238486296,-1355652433,694231932,1252484707,2143790876,1413859447,-254146310,-836265968,-484484519,-621981898,-132474216,-707233711,153767453,-2067733605,-1874445038,-1745541028,1839441402,-1508247310,584079796,1449793256,286663815,1675948699,1234570910,525124818,1232076894,-96300929,1623369484,-1556394809,-1168502962,867727532,-2031449430,-121986799,1097385054,-1515310593,-1807703913,197917200,2065066110,-465400964,-176943724,-420110172,-816758396,-1535334714,-828379557,1292532186,2130570590,-935937858,1831832634,1489432102,-339275744,617649361,-131300673,-2780106,515007460,-687348843,-643932792,1661549973,-1199801202,-26249377,218832713,1637720013,438729776,1012624236,1265012676,947121312,-685383666,747881113,1443592473,552219594,-806463026,-1236845903,1460174026,-24864267,-2098339025,-1634568136,1734651095,27858054,204309257,-599229655,1868809301,-1244251525,1402393863,312887249,-1980633390,-1529910329,296112636,-2020816510,-40930920,-1167194410,-1994677199,1896810872,-750749451,794256266,-992822545,-1154155828,1046459387,-1911767642,2091664244,3791720,981169125,-132447162,1616901606,605771060,-322871400,-2012397549,-1665394382,374835571,-459000576,1441637896,-705716877,526466927,-1276385463,-704210632,692962098,115612094,-1091177982,-1475806541,969543058,2024168293,543569003,-885209200,-1676154332,603940174,-211755334,461212702,2076246913,168229518,1056612910,-1315420824,238841707,-1181468495,-891340680,1321878774,-546227129,-1414225228,-2363092,-11488040,629690508,2011338578,-186326488,621661735,469275294,2019598561,1145381637,1562431510,-1808217000,918956600,-1007540016,-1755300980,-283279082,789010613,-956927526,-646939912,1449441391,-393095881,-2065903653,-642038356,-1822655526,-1249234512,-1149849671,-768375745,1458900002,-265066276,946009365,706701084,616544514,-1427927552,-2104204738,671089713,1988890922,347211819,-128496581,477721924,-1232290982,2075226191,-1476435513,1252537249,-1037329723,-1113902351,-869365765,-859883636,-592694211,876086763,1485573028,-1678789081,-563514949,423132935,1952987805,1531786755,1603629007,-723934556,-1666339663,-2140569247,1497815645,-1709640640,-1089576018,-831976128,1017262464,-130456259,-446166610,873137798,-423859132,1097227632,-874316873,811635992,1169825958,-599595641,-1750796768,1227654094,-678562068,-265748196,-230833406,1922274901,-1555392784,996056733,1901963944,-1255513798,-2080272383,-1542048713,141966704,2095774972,-1387252364,371055019,29833263,1058042911,1962431203,782435312,-1793441465,-1117416556,-1879471334,-189176714,-1020548963,-697835170,-1100530547,-1175427331,-1256649430,1335145320,-1118112910,-250080452,1797367901,-1894349287,-753569153,689135728,-606029064,1583594943,1177824066,491452050,889167184,-1703201183,-1693659443,-821517102,-983339137,-559827496,-1854486122,-1147906593,528628156,-447022289,-2004545647,607639694,1186829079,391736838,-1639815304,257433301,-791997682,-1624108256,-1534614281,1760833306,-1907615496,-186549022,428188566,1881735945,92410005,-750980089,-895099100,1904936561,-500437040,486021307,-1285641379,-948803045,-2069188620,-430235177,-1818331653,-1531156432,231440885,583414675,-1875323849,129792692,457753081,-210768710,-179385937,838268358,1451297682,-1886809745,-1956627609,1295738574,-1698204174,217777575,-1854620745,-979356914,-843076963,818900135,-668276186,225761318,1271313543,1544414274,-142354899,1167429460,18896690,2102561489,-1185936206,40961117,-1800797127,-751100493,952837677,1362660809,1746873359,-1788693736,107343210,2050284947,1506732475,-1873020378,322600087,584444062,-1596405384,653456091,634724175,1997259742,-1517995370,-989061063,436057853,-337142205,-1180644055,1163162240,310296437,407092483,1594259263,103151028,-1568529728,1644036588,-982215427,-1272921875,-27509967,-544113711,-1323825079,1277777898,-141413123,478390661,-1573203684,67477696,1814848470,738673138,1436343776,29856612,-295082743,588572108,1498264817,-183657257,-1401674491,496829929,-686892085,-1429068372,1673367892,-93210677,-167607666,796119245,-1177483373,738172634,641751944,862595081,562648957,-1864454349,-1465254079,1901652158,-627256785,-668364011,530749598,-1392828875,1983791718,-587890373,1950127021,-1759657363,1954947110,-1861048694,623322379,-1727665436,278808742,176372986,-2079063205,-1940448427,-2063820736,644711733,60382812,-585060751,-896692596,1142793565,-1476549277,2035186353,-1688804749,-1240098494,2004939848,-296516969,-47294149,898557484,1256684252,-1769319791,968665504,625962028,-593032486,-674373717,593547979,2051510031,1064628139,-390717609,-2116314684,-777327368,-1849350341,-1911288003,-851531678,-1015798148,639764244,-1397134491,-519631393,1991146098,84072040,-1547406375,-1693500257,2106808181,-1635869629,-1470273819,1866047149,1192740849,-79062340,-1466417307,1988488966,-1945905681,1742101455,1346107762,-1101408681,158765044,1696103146,858278067,-642139670,717445711,-1426036165,1713707991,-681922479,-179296236,1061660324,-1323215070,-172705538,-1901338067,-1337529357,-733547077,1334531092,-2066638601,-327607606,-1721161816,-1455557198,1776730406,1434073590,-783221819,2089944098,-1541433250,1808451338,-49528128,1334760880,-1576104723,-171709465,-882356528,651807824,1901835342,654899765,415017574,1835784746,-1828243209,-530989460,1872504449,-1042358993,-1103059443,-733787588,-528384451,-2090133117,85222529,170583229,-1625219670,-117282069,471239483,-126468247,-2049006036,1739641725,-1637271799,-713911933,-790899504,2125771868,-1856011623,-468621102,-1328655222,-1479832147,-157290184,1854023516,-1080735462,1512611043,-1072236183,-1232037116,-1858567743,1895767195,1511179165,-1394771847,-2056146319,949031828,-1869433101); +/*FRC*/Random.twister.import_mti(93); void (makeScript(14)); +/*FRC*/count=195; tryItOut("var whnyeu = new ArrayBuffer(16); var whnyeu_0 = new Float32Array(whnyeu); print(whnyeu_0[0]); o0 = t0.__proto__;;(c);([1,,]);m2.valueOf = () => window;Object.prototype.watch.call(p2, \"defineProperty\", (function() { o1 = v2.__proto__; return o0; }));print(x);"); +/*FRC*/Random.twister.import_mti(262); void (makeScript(14)); +/*FRC*/count=196; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(271); void (makeScript(14)); +/*FRC*/count=197; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return Math.hypot(( + Math.hypot(Math.fround((Math.fround(( + (( + ((x >>> 0) || Math.fround(( + Math.atan2(1, ( + x)))))) >>> (( + ( + ( + ( ~ y)))) | 0)))) + Math.fround((((x >>> 0) > (( + mathy1(x, ( + Math.max(x, (1/0 > -Number.MIN_VALUE))))) | 0)) >>> 0)))), ( + (( + Math.max((( + x) - Number.MAX_VALUE), ((( ~ (( - (x | 0)) | 0)) == Math.max(x, 0/0)) >>> 0))) | ( + mathy0((Math.atan((Math.fround(((Math.max(x, x) >>> 0) != Math.fround(x))) | 0)) | 0), ( + y))))))), ( + (Math.min(((mathy1(( + (( + Math.sinh(( + -Number.MAX_VALUE))) || Math.hypot(x, (-0x080000000 | 0)))), (( + Math.fround((((-1/0 ^ (x | 0)) >>> 0) & x))) >>> 0)) >>> 0) >>> 0), Math.fround((mathy2(Math.min((x >>> 0), (Math.atan2(x, y) >>> 0)), (mathy2(( ~ (y >>> 0)), ( + y)) | 0)) | 0))) | 0))); }); "); +/*FRC*/Random.twister.import_mta(-304858442,797305422,446084786,-2024859851,682839555,207066403,539679763,796966349,-1089406980,-395341755,-91855850,-277942706,1637229626,-1150484887,-1862852216,1104792908,-2040142498,-2142145167,-1859952196,-245943419,-272880990,-367308754,-1726258649,-1739616296,-1109065644,-1040637756,648766189,-868663575,1180843701,692047742,1412734413,898834864,-939770196,-185917631,-992536380,-467351271,1136921642,986959252,-1694528064,-1620370251,-886688777,-139791870,1375626910,143912747,-1642477467,477196749,-763012945,-692257235,-572694824,-552675171,975854804,755839398,-913730332,1992927738,-344869177,-1350233281,1618862513,1744368367,-1949696000,1891741260,-1587091235,-1054777340,1218783007,2064626766,713734988,-1478073912,1118669126,-810541945,-1398872358,-2018155041,-2725347,-1778073328,-1624867584,31576073,-1370804366,-822108948,-1971615108,628392480,-378312510,-323860348,1280079071,1472005882,316674660,463577679,-1604850589,1027595323,2043836438,2027218013,-133712288,1434633939,3131384,-1193634591,-1856694968,1054361492,-1357937537,5513301,2024121607,987473624,1524698898,1468652386,1579191970,-1990800524,-153597155,-567815083,-1695305505,-976609817,712613140,-1803890463,-1800190896,-399731484,-1784674627,966178244,-699619776,-1548575737,2021923018,590374390,1376289145,-1026717003,-2036026680,1921679009,-241590631,-784616365,1211747255,-1599453290,606688092,-16956134,-516993507,2002252066,-1555264647,-150320327,-1029304191,-1062401055,-1524562871,1555892990,1804529646,48824411,-1558247156,-977334800,-762871150,1969456622,726754661,-970835144,609184547,-1660167914,1292404402,260963458,-859279407,677476904,-310525331,1259264825,-1105031087,493640965,591472928,-638486891,1531501719,-1688257256,1437430878,-423145659,249038352,-577262554,1246129348,-491177919,1043387043,-1705421020,-825516743,-1158838004,1008771896,-594950857,1019927470,1404398163,1659802503,871638449,816797841,-1540437078,2009822352,1892253204,-848753259,1459680293,1801374157,-641217703,-310813915,1752824151,1613078890,-1639459454,1830990581,-22573800,1041401938,-843965311,409477157,-227169423,606844348,249621657,-327185565,823986035,773535034,-793002667,737049345,-877121155,114425920,1961712753,-1038737727,612829228,1687228295,1222554572,-764078103,-590266667,-1007465873,324401313,-673347069,14849510,-1857851603,1612997119,-1933322583,-672893090,-460170334,1491241104,1654348236,343314554,305499407,-2067627644,-70364475,-1023384835,-1934955275,740309762,-294453523,1815605773,-1813988820,-223427657,-494327864,1181986939,571771480,-1584864023,701101803,1847666945,2122256234,-2036295519,-1513007542,1584289033,-361917687,2129360173,-1549738787,1323411170,-1004838453,-485852830,-416000246,663965504,-1534237985,-1873685964,-1783428542,-874558879,-1547778959,-2020118208,175601416,727133090,1761730118,-45604888,128952181,1579744225,1861235884,-435868988,-1084554617,-1285957553,716166556,1623143623,1449914600,1757765928,841697009,272688325,-1686679340,407919475,1381431283,1521102694,-329252083,-1174413634,-291157437,417633421,-905876717,678789205,947713702,-2000443909,-1144972483,-801653166,1020569589,-983632013,700729421,-1869849171,-1810782540,730982625,1031653643,-256353630,-1127571991,-711636882,-1044776434,-1242356857,212119213,-2133269752,323620371,166355487,1133530700,1008390289,-1253049385,411641930,-460108354,1562766587,-62328241,483964211,-507628892,332088584,814317658,1286671012,-1095393266,-756815692,1731878776,1250709044,409455333,1157528420,229805151,586340267,267605757,-628658600,1515062899,-2067169527,2017501403,29049990,-627385043,1262765162,-1825692429,1720605686,-1815872535,768619458,354713233,-557273497,-71343207,1020364718,1182567659,223897752,1856773684,919904019,784806972,1170814524,-50309683,1064885575,1500305357,-1433016856,-1442940390,1084202065,-1216676608,-1424680948,-1225658905,1452585486,-668578296,-927909971,1618917065,296568829,601768218,-1900227067,20129081,-507771616,-838307672,-1084306719,-930602735,-1090504617,1701663282,1487277676,-1427122404,-1707284903,-1314840610,1687189947,1837626992,-117089228,-821021359,-144769050,69290881,-1008116627,-154810979,-988263446,77058729,1969877749,1763068552,610739548,-1551775516,394923356,977472579,-832254773,1448183193,1804265858,1012572097,2069076780,902661315,-1097386030,1625871094,-1935750461,1355327800,-320394982,-1898450641,-483939445,-606158011,-201701053,1881807083,-1543272270,-1650901513,-1805344616,674366711,-433485732,-909341619,-1209637727,-1084590018,-535109156,-1223898277,-241742738,-57160699,-1829382300,1070107540,302513473,-1962381166,-1534866759,-596420272,-2031948171,1814702899,-319840006,-1766001980,850604899,143364004,-1196176958,992808827,-1010883703,-981882294,1863399449,775311776,665057586,-322146854,1738200043,-721632314,325502203,37686510,-944640321,-896312236,446779477,1537310736,-1644082206,745199517,828649475,-199624850,-1488744569,1994172730,-2113772950,300675034,1296423301,-1072523225,-1645478507,1558133748,1438647372,-1355865436,1975916395,74370688,588092211,543628174,-2133516039,1992392948,953458277,740555105,1214856833,-1868351400,-1893779270,1586339003,1146196306,794888139,370062970,-311437226,187286422,885803849,1438353968,1929010582,-715937163,878819598,-290305275,91099864,643757927,-764887507,425155276,-1410691207,-523385561,1815083182,-889985014,646221758,-625545884,320426897,-259371320,1009575818,1370551471,-674413435,-1250096671,-96259903,1214797538,415872896,1357673102,349351425,437900192,1609281819,2002956927,1725752267,-1394932125,-757406008,-875707331,-1611831374,1564094944,1942341514,825719123,899167189,-1468570093,-1638646830,1376006761,1051536441,1938701046,1901501431,403600485,1660273461,-535508679,-952959368,-269844637,1193114765,-1004767465,619942992,-1778857703,-1531323029,58557102,1422894829,1688590485,-963928309,-2113136241,1017118661,-1353059899,-1819496354,137692308,1755084849,839445358,-1000635497,1782222494,891483089,-250764922,-2018882151,-151800468,-25352125,806764801,-273254202,1957798270,1166947440,-1330799797,-1395358800,-26936529,1157628796,-401153960,-874983188,-1074595834,-1427683826,525041195,-943059210,-1484679578,-1537164691,-1541623605,608250943,1017565332,-754636463,-1350051054,-973122287,1224908342,-559330664,-1958946648,1942769299,233975060,-563706501,-2092734751,-247508628,-919339247,-1189424093,-1022063006,1746047854,-1075764016,1086243076,-2087193627,1947820181,1890756402,-1240396766,-1950357252,-303935469,-121791043,802547269,-1197146585,1371970504,-594899846,-1634800203,-1060212222,1937041816,1763451840,-1089275100,-241552143,-157953311,714715387,542968484,-1592597270,-2130309253,471145724,1394892977,-148493641,486807709,374083750,-1245686577,-779518835,1340942105,-257000886,-1255459753,554735159,1950371087,-934911633,-1034922169,1854261569,1862518765,-2120225692,949951442,-542202405,928465149,-761300763,1919303725,-1389044194); +/*FRC*/Random.twister.import_mti(186); void (makeScript(14)); +/*FRC*/count=198; tryItOut("\"use strict\"; szpmpv(({x: (4277), get __proto__ a (\u3056, x)--(x) }));/*hhh*/function szpmpv(...NaN){v2 = g0.eval(\"function f1(a2) { \\\"use strict\\\"; const y = a.getOwnPropertyDescriptors(window, /x/ );print(this); } \");}"); +/*FRC*/Random.twister.import_mti(472); void (makeScript(14)); +/*FRC*/count=199; tryItOut("mathy3 = (function(x, y) { return (Math.imul((mathy1((Math.max(Math.imul(y, ( - ( - ( - (y >>> 0))))), (Math.max(x, Math.max(( + 1), (( ! x) >>> 0))) | 0)) >>> 0), Math.fround(( + Math.imul(((x > x) | (( ! (0x080000000 >>> 0)) >>> 0)), x)))) | 0), (mathy0(Math.fround(Math.fround(Math.tan(Math.fround((Math.log2((Math.fround(Math.ceil(Math.fround(x))) | 0)) | 0))))), Math.fround(Math.fround(Math.fround(( + ( + (( + -0x080000000) != ( + -Number.MAX_VALUE)))))))) | 0)) | 0); }); testMathyFunction(mathy3, [0x100000000, 42, 1, 0x100000001, -Number.MAX_VALUE, -1/0, Number.MAX_VALUE, -0x07fffffff, -0x0ffffffff, 0x0ffffffff, 0, -0, 0x080000001, 0x100000001, 1/0, 0x080000000, -0x100000000, Math.PI, -0x080000001, -Number.MIN_VALUE, 0/0, 0x07fffffff, Number.MIN_VALUE, -0x080000000]); "); +/*FRC*/Random.twister.import_mta(-1539785628,2103526322,1051505655,1355295273,189258454,-1590699487,1759602277,-700123213,1524178012,-1038529995,-1750231301,-943204026,1965654917,-1259578175,-233229886,1023047995,-886573274,-1013333940,1159783332,-1414706175,-202422686,-1179702529,-1597479146,-934382866,1380950785,-1026126323,128444009,-1055612674,-685718474,1986745459,1977133249,231231222,-992033203,-1901600328,-1937766472,-1256274477,235872817,255904270,286052410,906556784,1635002708,861844319,54529192,-1167162512,-430688198,1146350566,1427456078,405931606,1955446523,1291764144,1539522902,-455716267,-426825368,-261140408,-1693827828,1176068771,-550314301,25939584,1533887509,-1445142721,-532311813,-1952734300,89343042,963028167,1536822885,-235537157,835683878,146993110,-1635544222,-914193894,1561122546,-1560484138,-758015155,602529008,851723334,935827624,-2014712987,14159215,-1729401017,-96429976,226522138,-619137249,-1919993036,583649687,660249573,1355203749,1871784699,445076622,696205010,319729773,1978643559,1954966830,249354085,1497511525,1818208532,1595495069,1426425230,901328905,2066259775,1002629456,515028506,-1114692534,-2122717046,-1297249413,1463203919,-2014959550,1492655250,-709573222,690781074,-1608682485,1845240753,515793141,1621530831,-501860425,1134297234,-1901994918,-874492045,839172755,-129762326,-1020150618,293708751,975612796,-4236120,352965923,-77408870,-848526463,-296537720,739715080,-504358931,-1399579022,-1644433990,219393520,-330130192,156796978,925221175,-2113719080,1793753708,31439224,1220094361,1224442362,1227592450,-32639329,-7844595,-517075264,-248165587,1091678068,1680276501,1073752367,-2009170883,-1013461881,1729299734,-1116465376,1268052154,-1314071064,-440828204,-1592890685,362409851,-309639930,830515256,-1561773932,265665177,1651532771,-1456465063,-634629508,1641026578,-1927972659,415992150,-1684391738,-103769152,1993782148,198081199,-225226236,535120065,-1518125261,-1155016213,1317234553,1002124764,364707866,1996479249,-2019127773,1389717668,1890324913,-1934354140,-1686075088,1340170686,-384284661,879646307,954134750,1485830362,2109750427,651966644,-17699162,487374620,-1987872984,1905990775,-1081383737,-708277343,-58983676,1390684694,1318481246,2027566317,-1961017928,-2055357172,825504848,-344640695,-1412074151,662988344,-1344115389,1446861397,610882438,949222573,-796623726,-1688452635,-949872250,1298256511,1158537705,-1031984814,1380065567,1826916739,-1947443632,2031578565,-406659721,-1983989670,-1721331884,1032597820,2073435451,1298861850,-713281664,-2024789168,799471323,-653989758,-961834628,255327870,1474224592,1276906300,137475961,874958958,999550880,565891855,-34513612,-744714320,1226584568,1300186506,-1195516765,-1873778708,-831593964,-477780709,-1187593405,1162362640,1746908657,-1954166194,393484421,-679666724,858196298,-5198070,234858323,-1065903780,1117827735,1053481876,41678801,1308867904,-640160394,474607471,624613957,992115354,-1861106787,-1491060787,1825538366,-427938247,-1285306482,-1757702973,1231849827,413926585,-1152428624,-850854705,-930759763,-2117291707,1207777797,2042572919,577180713,-1737191583,1550376489,-37836347,316164666,-1866116983,291870543,1696373648,1744028833,-1278767371,-1036076439,1403781360,994505570,839179751,-292200017,145661522,1311646900,1417610186,2093281748,637091393,1367266937,1873627349,9298585,-1067590134,549790365,-675485911,-1472956907,-1281017108,365212727,-46124467,-1831474381,1270365645,1422373977,1971381183,-89489578,955803964,-1230059486,-1686148249,-350310458,1506138626,-84712317,-1037158082,-1988671066,1606742238,-515875897,1343951420,-340312679,1216726187,-1906574543,-345555541,316892957,79785111,-1277052580,-644945003,-489756104,-753339946,511341704,578784093,2057288111,1012595691,-953285898,614656459,-165487701,-1679085906,-1625329026,-884753308,-469858966,-1766117216,-739121693,1366094459,-743670868,-396755414,307576353,1555206304,-4452091,-1304300587,945894830,-1672864542,-83896850,-877365153,287194279,-808442682,1167288366,-1370475538,2141022690,-708216181,275359350,-1548022280,2145937466,-1030793083,17360762,-1702792909,707616306,-101863011,-2041795068,579603674,1400710582,1613464866,1402478674,-1354267250,1515459784,-93725882,1636845610,523549817,-407265944,-665964089,-1230678265,-1623132926,-1942239193,2101082122,-649825758,1164675010,162807950,-1150882752,-962019042,1929469404,221727421,-1776080902,-355219963,-527264163,-937335067,-273584257,1983277903,2107089751,-967458011,-683244907,693298958,-139723059,-1873035818,141014918,1811369977,-755342718,268772468,2031289972,837447210,-208165539,917918834,-1480983682,-910057998,-930726181,1448265342,1238523462,1977539493,-1546485722,290897091,1152178719,811138867,-1609154163,1874926653,-1731411679,-1290040351,-604902022,-1056222550,2070849531,647749711,355609283,863302783,-265204877,356727973,-544941725,1415682804,1188606296,2003642824,-1885038859,-1189904945,1396903978,605126254,877003341,-1072262903,809472866,-405723744,-1283027598,706453614,-1736595887,1331456090,1576163014,-1755076969,-1228614024,-1570494216,1137274513,-2144423407,-354234801,1145935632,1337862948,-1033326868,431695625,-1358766027,-151648759,-450141285,210292787,-837693199,-1839195717,-1456649945,2110752753,-1179289188,392648222,134166140,-499614051,1001989511,1541387747,1535175871,-632726778,-1985522851,679891798,-1825186173,1878770725,-296828285,977195189,269864581,1745299454,-1364722190,-426971542,-552906203,-182064916,-1421546483,1153022073,1965017574,-1100009890,566688913,-338337661,-1295334013,875193950,-1541042261,879487340,-835059044,694166261,1079890866,-1544284065,464528980,-782508545,-1298877396,-489495599,379287114,681740852,-994089292,-218345908,464904112,1799122474,808812492,-709133300,-930950274,1435757307,1524061306,-572854041,-1624547936,1031417987,-1768530456,-98268436,-706726001,-662479231,119181623,-1369347424,-1636122874,-332467105,518239787,213959040,1181041497,-406279044,-937298694,1816224922,-1352829524,-2116835872,-556905022,2007849085,-1398515964,-1857650823,2063777850,2074941945,-1807451930,1867351278,1027928416,-716493845,905411146,-1269939814,502687660,1492579579,-930989360,1092856878,-805731970,2028425702,312921429,-56786318,1670567329,1236900097,-645361398,505345716,319708839,-2102366558,-1001619875,-254030559,768662732,1203139025,-1277422382,510642749,1396632174,-1300520238,627424204,-866326076,-2012832088,-1969850612,-1078554571,-941276516,-1454803516,2109653456,1941144628,531213295,89537442,-1807420565,-1489802974,1809198611,2015360491,536498403,-1401745849,619165590,-1137545110,-1641168227,550306090,-850620456,-1968180127,983837767,543557375,-934928262,-1844016035,-236552142,-1214170701,1488857089,749674294,-1416095151,77068309,1506243855,-592865651,775513772,2070325151,193910639,1734372990,1651612760,-743265501,-645168112,421792299,-1083465028,2043018465,1995427251,-1824862955,464332210,-1002473016); +/*FRC*/Random.twister.import_mti(167); void (makeScript(14)); +/*FRC*/count=200; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var imul = stdlib.Math.imul;\n var atan = stdlib.Math.atan;\n var NaN = stdlib.NaN;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n var d3 = 2199023255551.0;\n var d4 = -2097153.0;\n return ((((((0x5b582bfa)+(0xb23a768f)) >> ((0xa637a8a2)+(i2))) != (0x64e4748e))-((imul(((0xc230779d) <= (((0x558bdade)+(0xf87f8f79)-(-0x8000000))>>>((-0x8000000)+(0x86306af7)))), (!(-0x8000000)))|0) == (~~(((+(~(((0x5bf96c0c))*-0x956db)))) * ((d0)))))))|0;\n d4 = (+atan((((i2) ? (d0) : (((((0x0)) ? (d4) : (d3))) * (((0xfe20904f) ? (d3) : (+(-1.0/0.0)))))))));\n d1 = (d1);\n (Float64ArrayView[((i2)+(0xfa1433b2)-(0xc65f7f46)) >> 3]) = ((NaN));\n (Float32ArrayView[((0x47f3ceb9)) >> 2]) = ((d1));\n {\n d4 = (((Float64ArrayView[2])) % ((x = /x/g )));\n }\n return (((-0x8000000)-((((-0x8000000))>>>((((void version(170))))+(0x166aeef9)+((0x7fffffff) >= (((0x947ec52d)) << ((-0x8000000)))))) <= (0x70b08d38))))|0;\n }\n return f; })(this, {ff: Int32Array}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [42, -0x080000001, 0x100000001, 1/0, Number.MIN_VALUE, -Number.MIN_VALUE, Math.PI, 0x0ffffffff, Number.MAX_VALUE, -1/0, 0, 0x080000000, 0x100000001, 0x07fffffff, -Number.MAX_VALUE, 0x080000001, -0x100000000, 0/0, -0x07fffffff, -0x080000000, 0x100000000, 1, -0, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mta(-1805424676,1724678009,2035139374,-367885804,-5687680,-1863343942,1954482211,-1171649349,-1856572725,628458863,-206024331,-335821157,-393621178,-1409877405,-680482762,1551957479,1344704012,-1861757809,-1167572307,-565290929,203339858,-1730015920,846593801,-1174585575,-843240324,2030683085,836562108,792508420,-765073963,66233650,1764047686,598414040,-196576451,-1649283418,42762396,-1520335300,557548872,498352862,678465223,-1064607783,-1780165163,-568008905,1230429004,905096517,356834363,-1523697966,-1257603356,-267550840,40771254,430416614,1802832124,1131939798,-1612280444,-33319948,-803233312,787249647,261721882,-380877805,444955095,1609477850,-408291030,23121072,93671597,1579645346,-440411726,391768119,-972433145,385543864,-876371656,-1737462416,-195751696,-51860150,-1612366199,-1962787944,-1295088269,-416038244,1624362996,-2112204446,2061466184,-1527233392,-1891774761,488122489,-1813202773,1357686315,952926672,-2042202380,-1636404028,2068077388,2126588522,-1715357095,710342674,-161350509,453924383,-794608928,1770998708,-542692821,680576214,-534427847,1761525070,-1321831085,1057058484,-1419143994,1922347233,-960918874,-1479107702,1477961509,-455057327,2113281852,-916727448,1275246936,-1914198287,2013274439,446111528,-2095258728,298555495,-732291758,79017762,-824331335,2049769955,-1158410478,757475954,-362491304,453937456,1747091510,-1519803035,-1426888669,-920598108,-1802859606,-1059302703,-1260815311,-1821777545,-290844423,1136055598,754662116,-1619319446,-1722043031,504130199,-1315641965,1645773732,-1017289219,1848622954,-1970408765,-540380468,1614917801,-1102669192,-592013656,363656012,206696888,-2084464986,136616818,-1963035786,176684211,630366100,-1483238271,-59179020,1737099000,724813103,3580135,-638146918,-1614691907,1741226064,-176690027,2142299243,-1938454405,-66004712,98327978,-733639319,1660336980,1751451493,509600554,-49948833,639752606,-1508248694,-2094191109,1301616561,62017747,1507879523,269287301,-1078047742,-1523163754,693642927,-1932756066,-227093331,-1609174461,80601374,-1098819010,1876753499,871257986,-1564568272,-2027229391,-1739874703,626028957,2094943871,-29397497,717098235,-687127911,-1039168024,-144713834,126236549,1747527025,-1893635395,2015032001,2029788375,1693714689,1593083438,-1574653138,962117581,-1431816716,1050392309,785994968,752207452,-1922964190,-1088906674,-780058804,-1058478156,716194758,-1756770770,-854890426,-700152821,1007190573,-1278356401,-72024431,896973643,673830189,939094871,1025024575,-293507576,-674532748,-1474841397,1439676271,-1991816534,-1204631105,-1157574574,1383140797,658139096,-1958372612,951874239,2053998637,-721197055,-2126014818,-814161249,-238089485,-640244887,403619322,-164584059,1386356991,467503409,1857726426,904226679,934746670,1800373124,-435969646,546981736,235191097,-255075470,-228710021,-72725338,1983927948,-1147250193,-750148195,-1319495651,-710883340,787766209,1017821189,-1942744113,-488102402,-1226006714,1070821910,-2020262672,-1681677838,-934520533,-2145751368,-1198941174,1252438108,222761601,-612305205,-481194181,-828235752,-884785891,181697259,155143231,2009613789,1736465650,-1628203135,955662187,671822879,-182453163,1732415119,-109633189,1816350933,1132724243,1706362782,-1189353409,-2107730386,837680354,-503570211,-1508764262,2141273871,1298101929,825961020,307001867,-1830786442,777642765,-771289921,1325980343,588113726,1997712980,680879918,-847614657,1865946770,-477639464,-1694220080,-1156363937,-1039515558,1611874141,-1435095290,-330371654,1186206995,1376845325,2048477824,-1810325965,107819995,1980741399,1084050888,1291217194,-1783304252,789788692,-742768450,2064684951,-369314187,-548841976,1377394335,695243321,-1922295622,852174200,1097640985,-398076592,180513755,1536630844,-774972654,553991826,1547570992,-1680497555,1628727568,-1088229108,829462963,1241795900,-593960048,-1011683442,1864529445,-1207914503,-1959727819,203804798,151552145,-927329923,-822518624,-911829306,1874554247,1059962485,1683933005,1311936243,-2007810915,-426442344,-1377802483,-106940760,1942291800,-1129754144,-698309641,-905346690,1266842250,894902192,465105513,-1617903190,1156248865,636445539,-1277930441,568888155,-1654804047,1739454167,413561399,-681594732,1793724695,1414973516,-568562413,-1033061445,-1772692453,1087673713,425000021,-640297596,486877066,-2001754052,-509366472,1720204581,-1379589241,-43667755,1668584600,-230772489,340012206,-616965581,1221194986,1631496323,-363432251,-1181744738,-1421108234,1151699970,493028283,-316963971,1835793772,541027517,-619977236,-401121159,944005668,-1502319317,-820011478,1756724667,-1318950769,-473292344,1694511555,1316557474,1480024412,1574482698,995577064,111717415,2035372088,1987778768,-1903843428,-2034164816,441432818,-1197504530,352643690,74555476,-1169464052,677508054,-1429661069,706412308,-1618238573,-42960299,-1709237710,-414111656,-1670069534,-365450328,1580342289,-281981442,-18332101,-553396367,1433351666,-2062845322,-338551298,-933467071,1823866354,2099512602,-1563488096,1521915410,-1065859733,1165103584,-210378761,83731219,1907051837,556605544,1467549610,811058741,15037002,-1435382390,-311864860,-186365720,930143194,1792710540,271858265,1338987092,166600555,-711939658,299882146,1316527153,1349395006,1833254116,-1645090586,-211601358,-542578262,1389061906,230615787,-740318648,-1534528807,1657566949,358555243,-663779566,2139717994,1112273408,-2057729054,-1024247539,1571958004,-903372344,-156833863,776135463,1303966629,89954021,-1734169633,1378381669,1689147829,1081588902,-493048027,-1044592810,1467147831,-56756347,787033758,-292763199,1135706605,1191995841,-1197862369,780279755,-1881039419,-708957020,749173361,173311813,-1939743885,714629463,-857139634,1952050995,1767489045,32796193,1255845277,-1355465709,-2046282674,-1368814067,1638382852,1961497083,810365919,-1027374812,-419076716,1214616114,963204701,-1657121988,-1609101241,-176911116,1903349396,-1833994659,-23184639,187231471,-1784185195,-1934951930,-67462225,-1385339205,-2100485188,-1138490236,1038443225,993359118,-154222034,1882945267,-474063804,416238443,-979201475,442953965,1456556519,-615523310,-1704922442,-134521386,461455744,-838830390,-1556414725,-1035826966,389960448,1705886389,-1893770969,1839785116,-1488278006,-1706167209,1523521389,719344867,-1067423523,181821782,554052698,2029675385,1763550413,418376836,1396284501,-1909834122,-442721428,723597681,-45378433,1306727920,1876390192,1571568243,-1234865771,-148857158,1601893358,1829793878,-1408796897,935818204,-1563350747,760510135,1885378870,584143089,-1412174493,1843150189,1790378097,-2046418078,-324024686,-1747111835,-250758836,-1836891703,-1145843305,-1796668464,1562125178,1896642609,-725667964,-1962262998,-345421024,-1008386334,1656011468,-575247730,55212826,2057801219,1587765459,-1511593180,1911315293,-1450895077,-1257236596,-929066432,-1759872670,71950743,-990418141,1028715986,-1330430964,1097541756,-1206975719); +/*FRC*/Random.twister.import_mti(88); void (makeScript(14)); +/*FRC*/count=201; tryItOut("o0.o1.o2.m0.set(m0, o2);\nfor(let [y, a] = /x/ in (\u3056) = window) {(true); }\n"); +/*FRC*/Random.twister.import_mti(249); void (makeScript(14)); +/*FRC*/count=202; tryItOut("mathy5 = (function(x, y) { return (Math.max((( ~ Math.sin(Math.trunc(( - y)))) | 0), (mathy1((mathy0(Math.fround(((Math.fround(mathy4(Math.fround(y), (y >>> 0))) | 0) ^ (( ~ -0x080000000) | 0))), (((( + 1) & x) ? ( + x) : x) >>> 0)) >>> 0), ((Math.atan2(( + Math.fround(( + ( + ( + Math.fround(Math.min(Math.fround(y), Math.fround(y)))))))), ( + (Math.log1p(( - -0x080000001)) && (mathy1(( ~ y), x) | 0)))) >>> 0) >>> 0)) | 0)) | 0); }); testMathyFunction(mathy5, [0x080000001, 0x100000001, 42, 0x0ffffffff, -0x100000000, -0x080000001, -0x07fffffff, Math.PI, Number.MAX_VALUE, -1/0, 0, 0x080000000, 0/0, 0x07fffffff, -0x0ffffffff, -0x080000000, -Number.MIN_VALUE, 0x100000000, 0x100000001, Number.MIN_VALUE, 1/0, -Number.MAX_VALUE, -0, 1]); "); +/*FRC*/Random.twister.import_mti(580); void (makeScript(14)); +/*FRC*/count=203; tryItOut("x = ({\u3056: /(?=\\2)[^]/i}), x, x = true, , x;v0 = t1.byteLength;"); +/*FRC*/Random.twister.import_mta(-30759987,-408994908,2109781472,518665155,-1574852968,1520907600,794176884,-1794751048,-690916909,1305418520,-2120306946,1417380894,402139138,-2085669790,-821253112,-1905841619,1586807986,-1400247246,1196291191,-1513783839,1769027435,-1907663367,-574534129,990258484,-556065327,507959929,1859062842,-968795419,-813894395,-1303149037,194655134,464718511,1541152057,1161289754,-1459902958,2029793650,-1542243556,-1490417496,650558624,780836960,1812317558,-2080750082,528819359,2040362346,1285883768,-1246465396,-2031158785,-1640703958,1505551489,-1330512376,-898753003,-944821629,330576904,355194346,1823579272,1568297375,1842796477,-1858593324,-595425126,925458310,823864165,-1158727455,2020260731,42478316,-767478130,276664790,-1508628808,-788162444,2068376930,284172276,1849715964,-1724547633,1282343591,369056720,1648769004,1041267659,1365445263,271221184,-1886532946,771059590,137121097,-1036678248,-54523615,-809901408,-1481913949,771181703,1761424333,-418442713,-362681191,392203785,660718964,377266909,1977856388,-1092615150,1081983603,2047508812,-459087642,1898170434,422650281,229169215,1897567190,-1607117815,-1044354442,-1839756653,-1569610374,1474656114,1343365376,-903797387,632347969,-654898586,1569895011,600412255,-1905267703,72568904,109737176,1208900820,839365232,-830058119,-778890809,583727626,1550571321,1282615993,2127293830,612982398,1249456256,-889591073,736295121,-1920169908,-215401192,310362432,156818743,700381349,789891887,-1836596855,1974630956,595200352,-256897918,-475842673,1178089760,2084516698,166278955,-481311904,315814692,-1303499897,-325687064,-151880414,1003330053,987086429,-1294168169,1967411016,1073025730,168166561,1331816610,1683656471,622086811,1474203226,57872922,-620753253,-848752255,-1109068062,9025646,613566976,-2012469278,463842873,-839813134,-561868041,-701369440,930596666,1440802552,-1922429037,-1821342702,433756307,-107476360,-2026350466,-238273413,-1390974614,-1036561592,-1846208393,-1224231513,-427451655,-80893520,-1378824327,-1495975730,533383932,-1457136502,432427080,1183701039,2085567182,1989849176,-487977925,1769054516,-1976311465,-696803606,-293149101,425655536,215743385,286845882,1556973695,1102308597,155530724,336097523,938868605,281109960,-1147977529,1276017389,-1264019704,-1041549954,1297044879,-66723508,-711991860,1678002269,-2110117975,1804264636,450100697,201015600,-1371403213,392818558,1538255809,1914496581,1215416504,1942533877,-939914003,1240150378,-1079706458,926408140,1982570360,-739591645,858376567,342905036,2036535477,-604248125,-6173007,-1432943791,1019944600,-1868265274,327678035,-370053167,840411681,349720401,-380835438,1648361924,988761443,-1033866032,-58448209,1557154962,-743735248,-1835520500,-359975921,-1785671442,-395931699,134739453,-1902756251,-2142488774,1454039427,644284039,-1297493162,-915165867,-1889685578,-350263106,-1703304728,803701728,1720269613,-6169169,989954596,-698475945,2108748547,1902319979,1875860238,-837053177,-492062507,965755446,283232637,-790156638,424001632,721163152,-1323527229,-673124860,919023684,466462505,-1910299960,-1211676709,1601286897,-888460672,-1465550633,473249540,2131084911,-578770914,-1800926441,1439047764,-1063253075,810723619,1472492110,1364384449,-18687799,2029205701,675407791,-165138260,-773363849,-2119636783,-599683203,479162091,-1402833227,-1910813365,-1343236341,28078687,-1274765948,968875025,-1214657783,-1247182639,-855380147,-2110012728,1663753683,1290955946,-2114184004,-231471708,-1673094588,-315476897,-1755247955,728762269,-421048766,1692282144,-495802073,1514416040,-1025911693,2079965088,1320730019,611711072,-1785042750,230932460,-1369128590,1649644803,801201337,1364425519,158839740,1939850150,294795241,77500244,1884889725,187629014,-554863808,709646288,-1838672335,948201564,764857078,255241599,-191809703,210144194,1035116798,-1561681548,-71103835,-132540357,208394431,1467292232,-1766375248,-353360356,-1745193349,-55916708,-1882803502,-2103890980,-1861927799,262598424,116980448,-326989255,-1939859498,-1706969821,1483510224,-1912089986,1827534740,-2037449179,142179580,647684716,-480376771,227522413,-1338860693,-1170791271,2065726181,-488495281,-718579338,-1621258907,1691234536,-2010695869,255798973,-505935860,-78774504,153342025,873196518,675690519,744706732,1779489221,-1940130820,1802795429,666753471,1365816299,831230997,1187876214,-168358308,-951576124,669309396,2109629158,1343221478,723243971,-1392231244,-122510191,-1603955383,105654645,411223238,-1875876785,1916448561,-2141897329,1272330285,1139342318,588733120,2118754141,-1411394003,-34161066,125804732,157459461,1313679461,-1507307015,-124008593,-215138265,-2097014212,812864389,707094482,1536121777,47409453,1147332765,138916612,2104986184,318354914,-1497959871,406749958,952412910,-1796846860,-612223847,464874681,-1736421163,397204593,-872397096,512831848,-322813170,1013180367,1212063729,-505367527,823685432,1889098622,1033422407,-1896992758,-1314852332,2004431847,-1362922250,1517065925,-820048622,-1319914797,-1818519981,-821677670,-658635020,-882018313,-736277148,733237396,1018800061,-2053345789,1697861793,-1820111963,1773127628,565511319,2019443809,1168615662,-1492061687,-391634933,-1268003330,-488328619,-73625297,-1539657602,-462176132,-333361929,-2018313448,1633830516,289536975,-1448876514,-1645860816,-838306518,554626236,-448500004,-258380029,-902131266,-1730845671,-677990471,139472215,-625865397,-648396505,410508059,-1033618930,-356130106,-90784194,1040650858,1240736976,430677093,-1197003216,-1338423031,-336329820,-1917167475,-429390708,2041461307,-837336979,-1589435626,191273752,2039412961,-1047933748,-1579926318,1744729392,-2145926023,-532833527,298068074,-1294172112,-1226676462,1829004408,-1449120020,-341732257,-541002729,-1108950290,-1227927780,1485977901,1431668878,1355370055,-1597429693,-1346159177,2025695218,702442820,-2138676011,1726803959,2065052709,-859964722,-1444882464,1373529686,1765099129,1591271640,-999374901,-2015420197,-2092142808,-1063613086,-1406793754,1539087351,-257388840,-1408865350,-899347397,-684171168,-1313785782,1504399590,-1904218367,1891221599,1449021865,59294968,1602770571,-665139198,717456521,1727074000,57856374,1683911993,-91411798,-1745834000,88846824,37183724,-793721440,-2076829420,-2024380552,1742075889,1864853371,-2098528228,-1645090497,-2146391985,54614845,1141197228,194221305,1333587272,1853000979,1550741573,-1628958013,998268967,-525617234,344803493,-1855952575,-129560692,-903676041,13482370,-646278606,426055876,-1073453924,1053341307,1692570270,8475064,1973885770,-197156553,-1929067569,448402653,1416156872,1895800922,-153882025,663703593,1207645829,-558069034,465152094,1367338279,-1486407590,-1600127770,-22081004,362048910,-1493433852,1318720304,1166245842,1293221806,466658779,-705333609,-1517550523,1995135338,241111269,-942223539,-1336395343,-1664164623,264292610,701630995,645405000,1895317263,559282429); +/*FRC*/Random.twister.import_mti(128); void (makeScript(14)); +/*FRC*/count=204; tryItOut("mathy1 = (function(x, y) { return (Math.atan2((Math.pow((Math.sinh(( + (x & ( - x)))) | 0), Math.fround((Math.fround(Math.log1p(y)) ? Math.fround((mathy0((Math.max((Math.PI | 0), ( + ( + ( + 0x080000001)))) >>> 0), (y >>> 0)) >>> 0)) : Math.fround(( + ( + ( + (Math.tanh(y) | 0)))))))) | 0), ((((( - x) | 0) * (Math.fround(( ~ Math.fround((((( + ( + ( + y))) | 0) * (y | 0)) | 0)))) | 0)) | 0) | 0)) | 0); }); testMathyFunction(mathy1, [1, 0x100000001, 0x080000000, 1/0, -0x080000001, 0x080000001, -0x07fffffff, 0x0ffffffff, Number.MIN_VALUE, 0x100000001, -Number.MIN_VALUE, 0, -0x100000000, -0, -0x0ffffffff, Number.MAX_VALUE, -Number.MAX_VALUE, -0x080000000, 42, 0x07fffffff, -1/0, Math.PI, 0x100000000, 0/0]); "); +/*FRC*/Random.twister.import_mti(394); void (makeScript(14)); +/*FRC*/count=205; tryItOut("v0.__proto__ = g1;"); +/*FRC*/Random.twister.import_mti(406); void (makeScript(14)); +/*FRC*/count=206; tryItOut("mathy3 = (function(x, y) { return Math.pow(( ! (Math.min(Math.fround(0x100000001), (Math.fround(Math.hypot(Math.fround(x), Math.fround(( - -0x080000000)))) | 0)) | 0)), Math.hypot(Math.cos((1/0 >>> 0)), Math.fround(( + ( - ( + ((y >>> 0) ? ((( ~ (mathy2(x, x) >>> 0)) >>> 0) >>> 0) : (( + ( + mathy2(( + x), (x >>> 0)))) >>> 0)))))))); }); testMathyFunction(mathy3, [Number.MIN_VALUE, 1/0, -0x07fffffff, 0x100000001, 0x100000000, 0x080000001, 42, 0x080000000, -0, 1, 0x100000001, 0x0ffffffff, 0, Number.MAX_VALUE, -Number.MIN_VALUE, -0x0ffffffff, -1/0, -0x080000001, 0/0, -0x100000000, -0x080000000, -Number.MAX_VALUE, 0x07fffffff, Math.PI]); "); +/*FRC*/Random.twister.import_mti(622); void (makeScript(14)); +/*FRC*/count=207; tryItOut("mathy3 = (function(x, y) { return mathy2((( ~ ( + Math.round(Math.acos(y)))) | 0), (( + Math.asin(( + ( + ( ~ ( + ((Math.log((x | 0)) | 0) >>> y))))))) | 0)); }); testMathyFunction(mathy3, [1, 42, -0x080000001, 1/0, 0/0, 0x100000000, 0, -0x100000000, Number.MIN_VALUE, 0x0ffffffff, 0x080000000, Math.PI, -0x080000000, 0x080000001, -Number.MAX_VALUE, 0x100000001, -0x0ffffffff, Number.MAX_VALUE, 0x07fffffff, -0x07fffffff, 0x100000001, -Number.MIN_VALUE, -0, -1/0]); "); +/*FRC*/Random.twister.import_mta(1412121606,56506390,-965589032,973799567,-1067997668,-283528661,-1427720299,-198434493,2120567114,-1862323408,403139902,-1951848050,1241621020,611233258,-47415543,285474052,-1113907148,123270322,-1936347501,-455962769,-799001018,1371555361,-1525099019,1162378768,1428801503,118805912,-1878164865,-1522953748,-1024320773,28307794,-1667856756,-913230837,811746799,-1295310520,1681955775,718092128,-948744544,-1998492983,217070729,-1367166354,374472334,449471560,576687069,-896483150,649715337,-1841212463,-1359292404,-993086553,1757521018,-1045988974,1949373844,-126162928,2112674066,-1734624590,-304541995,1627182611,-1177568199,-35991010,-1802330535,1497047961,1326603096,824221702,720389602,362364154,-844978456,1983464445,-83785825,336310653,701303661,1333686815,-801790250,1479525253,-497578525,-2058824184,1692680047,1243980983,-1406144354,-474667733,-1159988428,447507811,1081639864,-165064832,-830531762,1463516222,33252278,-1938242171,1338726160,480323984,411199077,-1956280669,1168133640,849474965,-977137854,543953089,628267965,-264942979,-1839986969,1862704693,-1579430230,1903783227,-1866889538,-666428661,1612332191,-1160982247,-431430860,-832498676,-977921954,96968210,-1925667291,-56134922,-245202927,1605798423,-469920522,1689997148,-1542395373,-113360335,-1349537783,1126021132,-410576361,-633782469,378604399,-725327204,-846963928,-1730520402,180030124,-1804864102,1402195112,694014155,-369702685,845669363,-177575041,-1487095796,281883854,473289441,1789603989,-186254193,1094319352,851606214,1462427604,-1020998766,-171352453,-826910391,56871476,-1227769578,-681625225,-1621957078,1959452969,744529070,-1329124449,-926750463,767199941,2115740855,626661461,-79997491,2108757636,36785653,-352263911,669446173,1949433848,649450215,289141878,1616406216,777473385,-1324870647,-217954228,1764727100,-1962203587,-1362728344,418107502,778941944,-1161651219,-1104739040,-563231488,1644037805,1439362952,622780424,-631134179,-1913157820,-2076643152,569943197,1359529376,1760230464,-1353788720,2074336,-578600603,1107907396,-200973808,998302126,1896293616,1843251294,1544889576,1442019598,-1968615064,1278095296,-356362663,-55323414,980072239,-1553246600,1355435066,-470603524,1948368182,804250317,-1019599303,565380991,32367578,831158168,1489510978,-1633874880,-1805058830,-23135873,1055498511,996106606,-773705247,1223253814,-1778838755,-1639874264,290668922,-689071465,711455929,1731863784,179146520,-130333628,269662033,1917445365,493737716,-1073360191,-506876775,1578331232,-1494810477,1921451238,-590129400,202676075,-1317257881,-1565199370,619146677,-745189763,1358714623,-1956382135,-1089512121,992060158,-1609450620,-602127007,-162963828,-739047811,781005994,-975586923,144680375,-1700241871,-1124355816,2014552020,-619982339,353360962,-179759738,439793123,-1133676473,1061387406,1174480521,-384224557,-2068978433,1737589791,411503617,-1030175305,2001598066,1968501588,1865524119,-1387724573,-1721425943,-1470855982,-224982787,2123868870,1541969107,248138712,-555502623,-1148923452,1162365593,53597048,-1698373200,-522225953,-9733772,-1090008544,1848365845,-933454955,-1381573977,-137025605,1532002806,-1168979370,-1972922675,636570482,-2005396209,-338583124,1048249821,2080602967,-801071290,510700322,-1725697419,316216123,-1098550917,166290017,-1358449436,890800713,175201677,-1159649003,-2066022419,1978759534,-105419799,2131535331,-1738000328,-2086341873,161483001,-1889339862,-1079598584,662853091,-1937323045,919688642,1384277170,-149697387,1507701546,-1995375335,30560948,-1213392430,-2007108467,1213237353,1213272219,-274147017,-783126469,-1277087078,2075416922,-698853048,-814384206,-2009381183,874827674,1474948732,-891630126,-59115123,-1811532487,-1887968881,1568887575,-185204998,1891644343,-1227112674,-192416613,-128786883,-269146294,823940713,-530738305,-1580965898,-991924412,132406229,808277777,679487466,1206322734,553748360,-1624222270,652992422,-72852695,-1750881459,1971632794,-1272512879,1993774743,1461601090,524922769,-974994090,-1294600348,-1794009418,1593061934,1344878315,-1252904872,1871090102,-1970608329,271497986,511053271,143675934,507714368,-1327905862,-923266813,415140071,-1571338822,-81986392,209501379,-1203686613,632058444,1297945218,2140648057,916044258,1038288366,-115715284,813988785,-1120196533,1718984502,-1025130140,1004423177,1119789414,-387783703,-1469194106,-1807880890,2068831372,2107627794,-2078430562,-1776225709,1390976062,2004621559,-1332015841,-333145485,5180536,-2118720217,354972232,-1041415206,-936711240,-1811328887,-1900368089,294914944,2075082260,-823261043,-1963049669,2017407472,-323041747,-738988877,-704004917,-1330238874,1782006180,229581534,737365828,-375298301,-1901745624,990532145,-336361301,-405737090,1251637266,647182396,1231679430,1840006908,495957677,1006195426,-1409185583,1246694083,18900039,742401944,417956451,1947728346,-410840986,-1882186738,686746682,934898683,1239382502,-291424472,-1381816507,1615674605,1383986706,445607272,124980522,-2039013560,987910269,27573111,822925167,965768365,-893910039,-1908863038,-1226968646,1506721569,908615270,963802152,-814320326,1130126192,606844185,45205725,438882216,435320457,714175071,826336699,-1401112461,998895496,-901002014,-1748704854,2057717129,1974487189,-14496620,144882926,1252236485,31338317,-1145437794,2100465526,-320205287,232868832,-1488641577,-1945863668,1372579372,-1789762788,-978867595,1992913869,-2098698690,-1603817978,1308868240,-668208768,-466730762,-145289753,-697492843,-347417557,1203438539,-807510141,-1424379341,1683049821,914114783,-420577606,617083225,-1333860524,-1160235784,449316495,1324299635,-1732868612,-564535233,1859548504,-1303970643,-223289757,-1828071723,2122348795,-17160397,-16664870,-761037011,-1964265085,-1900806607,1159138476,1818385980,947115900,266954375,-2138749281,1643027168,1229347248,513698607,598387616,1856256201,-781003869,-538339698,737988115,-259585261,775348460,650934421,878516496,1698792122,1713660535,-322204310,1623348785,-1504405098,-817394695,266241783,1965738971,1783521924,-277510665,-460825346,-697839818,-1459273621,1569669436,-795471289,86878464,1469660507,439430099,-66192166,-1987957126,-1627175463,1789885225,-2128438742,-1092869767,-1793227441,-1490058401,530079645,-1218523834,-1709016944,406895740,-168659819,799185533,922076082,-374060248,-1033947223,1023747413,-480372256,-1445614205,-2028806164,-1090740652,-2094037278,290741343,1283342671,-1219273767,-2020877073,1807377449,904029787,-1734625400,979639029,1998352652,-651869069,-141325287,-1298833480,-1346233581,-35433878,-1885083693,1627884265,1169357522,-1292552422,-1303383306,-726067940,-1301972605,824008235,-49997931,2035242831,185406666,-233260087,-2075429470,1186368004,-1421921751,1122073556,1872538987,1495125422,-1569104944,-1911484806,852812241,1274140420,589041894,-594130865,63008099,-323905874,90097127,1694717503,-1152259038,893993502,-219312083,1468693265); +/*FRC*/Random.twister.import_mti(134); void (makeScript(14)); +/*FRC*/count=208; tryItOut("\"use strict\"; \"use asm\"; v0 = evalcx(\"r1 = new RegExp(\\\"(?=\\\\\\\\B)+?\\\", \\\"gim\\\");\", o2.g0);"); +/*FRC*/Random.twister.import_mti(259); void (makeScript(14)); +/*FRC*/count=209; tryItOut("for(let e in new Array(17)) for(let x in []);return ((void options('strict_mode')));"); +/*FRC*/Random.twister.import_mti(300); void (makeScript(14)); +/*FRC*/count=210; tryItOut("\"use strict\"; this.a1 = (function() { yield (4277); } })();"); +/*FRC*/Random.twister.import_mti(319); void (makeScript(14)); +/*FRC*/count=211; tryItOut("\"use strict\"; g0 = a1[v1];"); +/*FRC*/Random.twister.import_mti(336); void (makeScript(14)); +/*FRC*/count=212; tryItOut("mathy3 = (function(x, y) { return Math.min((Math.tanh((Math.fround(( ~ Math.fround((mathy1(((x ? 0/0 : y) | 0), ((x >= Math.sinh(x)) | 0)) | 0)))) | 0)) | 0), (mathy2(Math.fround(( - Math.fround(mathy1(Math.fround(mathy2(-Number.MIN_VALUE, (x * ( + y)))), (Math.atanh((mathy2(x, x) | 0)) >>> 0))))), (((((Math.fround(Math.imul(Math.fround(y), Math.fround(x))) | 0) <= (0x100000001 | 0)) >>> 0) != y) >>> 0)) | 0)); }); testMathyFunction(mathy3, [-Number.MAX_VALUE, Number.MIN_VALUE, 0/0, -0, 0x080000001, -0x0ffffffff, 0x07fffffff, 1/0, -1/0, -0x080000001, Number.MAX_VALUE, -0x100000000, 0x080000000, 0x100000001, 0x100000001, 0, 42, -0x080000000, 1, -0x07fffffff, Math.PI, 0x0ffffffff, 0x100000000, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mti(614); void (makeScript(14)); +/*FRC*/count=213; tryItOut("mathy4 = (function(x, y) { return Math.fround(Math.max(Math.fround(( + ( ! ( + (Math.pow((y | 0), (Math.min(mathy1(-1/0, y), 0) | 0)) | 0))))), (Math.fround(Math.min(Math.fround(( ~ (x ? Math.fround(mathy0(Math.fround(0x07fffffff), Math.fround(y))) : Math.log(x)))), Math.fround((((y >>> 0) != (( + Math.hypot((Math.sqrt(Math.fround(((Math.fround(x) || (x | 0)) | 0))) | 0), ( + x))) >>> 0)) >>> 0)))) + (Math.atanh((mathy2(( + 0x0ffffffff), (Math.min(y, y) | 0)) >>> 0)) >>> 0)))); }); testMathyFunction(mathy4, [-0, -0x100000000, 0/0, 0x100000001, -0x080000001, Math.PI, 1, 0x100000001, -0x080000000, 0x100000000, -Number.MAX_VALUE, -0x0ffffffff, 0x0ffffffff, -Number.MIN_VALUE, -1/0, Number.MAX_VALUE, -0x07fffffff, Number.MIN_VALUE, 0x080000000, 1/0, 0, 0x080000001, 0x07fffffff, 42]); "); +/*FRC*/Random.twister.import_mta(-2051885419,-1256599105,-1763332954,1465371641,1579115733,543125862,-481186810,-24886910,492301264,-1913719483,-838959233,-251035257,-1668417070,-1240824613,858701974,-802973545,-917354654,-411216282,132067653,-1144785008,669069060,993194051,143883948,-1103924754,679028104,2024762083,-600218914,-1015287917,-1423675390,-375672264,-1218817336,-408245740,1342996322,-2038121476,149499165,406910386,1903791466,-1790991272,375471472,1734924511,361541703,-63927061,-1026854849,1166295957,-1194920691,1623459837,-1297051414,-1698568939,-1921999988,441824807,1849721370,1685651937,188665971,1771251965,-745239637,-2075404876,1340194400,-355366050,1059922682,-1448074642,-1370644039,1287036368,1021624347,530786140,761422875,-405526432,-148447880,-1889534540,-1533065608,837330402,-544332990,-1721527403,-287779977,-789364512,1985064550,-2116871707,-1837865021,685618447,729565946,681508146,1907833605,1726063850,-802701439,2110733997,1943985156,1778704488,-1458195169,424540641,-847931998,-142457832,1174397024,1411937388,1272372865,735466247,-284054671,134824492,178634547,-407180622,936975575,-485091468,-1299169647,651948307,796355168,393559239,1363985113,-2076872043,1713651280,803865753,-997487229,-76417448,-1203978073,-1454878841,-1409005679,-438914930,1473342826,1015002808,-226030893,-733264593,183371889,759268274,-121549213,-332817385,-1025584282,4884986,1717019889,1371156776,-2108735939,762745393,-1579820090,-352592688,1295005481,1808544199,-105488026,2100296502,2090063894,1264595055,-370788752,94605062,123608412,-676264206,-1693311295,664110957,-140291615,-1838843307,-369235325,740969394,435079328,-197005621,-1759009061,547385418,1116552826,1573024707,227564114,592956030,1216742498,-1448777389,-1654458998,539612207,1985979766,-2128620479,-1355843907,-460559038,11411697,-950205089,-511030831,1000513694,1224436393,-81058447,-1928027540,-1675017899,-1428031995,1083472125,-553488325,-1018086164,-791656531,-1992474236,-1515857342,-339094053,1323711869,-1770455932,-1218774846,116602167,208769599,10111924,-426805939,1371067681,1747064460,-1609030160,210435802,1494672248,-203622156,-221829971,-729659304,61571296,-2084915169,1268649115,1890722261,769121487,-2096323740,-933286803,1514558629,183556672,-120820405,-34347400,1636461699,661194219,-44679703,-830534693,-1594800540,1833128561,1598999395,-563804860,1030316597,831349377,-1053700370,2055029100,-108025200,-282633627,-284468677,110602991,-794020724,-731959664,-986770278,-1243150504,-1941759071,453113534,948161825,264865283,-866495540,-1198782686,-2007682925,-542520647,1896155293,673884675,1313232483,-333352848,290961598,191979779,-1399238408,-1937431536,1091311284,1208643536,550677366,-1642799817,1553545843,-627551423,798976087,2040330120,1195065257,-1138874739,-189489201,316518219,-1396932403,1527213602,-1663413804,288117657,1142922126,1812205672,225106116,-985183811,1052797432,1934612004,585796632,-538317698,445879542,-1009057189,860002998,-170949402,-2089068152,1983351433,1122068089,247438370,1023831839,1226573177,-1688662871,-2146243756,-214778473,301285024,1006298353,-450655962,-726280728,474961447,1722414774,575274651,-134680971,-485074621,-79132713,863575009,962481414,-86904278,-1196807640,88222648,-1460896271,1656722589,1597752566,584404506,-334191603,-938608336,1525114478,1927859566,1418421429,-1389076145,-81025710,933716712,-833399007,659052262,-263965590,-1401974874,1632690175,-1879773563,-1224301437,-325777098,829180553,-2141943994,-1144213644,-1583657929,1778551371,85379386,1342109829,-1762618344,-688478228,1378980835,-1495949720,-83609615,-1102416897,1241723002,-935707696,-718634168,-70327636,1969556909,1015139321,1948361776,1661025932,-1255173101,-245807999,860001495,-1056241371,1498704291,-1306161144,1330580739,16215887,539754191,-34001581,1537307571,-2069271852,1755201491,-138731897,2044679476,-127299614,-517123983,281692734,1775210000,47177467,647209846,-5245112,-619215221,1776292679,-1353462595,1078136934,1863976561,1608423837,637084580,32045876,-2036584601,-1262508884,502728048,-1603121623,123723141,1870846700,1636886485,-1775414438,-421763293,877046383,-459640578,555096679,-2046032890,1563299358,-1648635708,-655730039,1598448500,100221759,-297439871,-1293306462,-2087487619,480574905,-1223350159,109768891,-602556122,-973173264,-1001802710,-436054548,1291028730,1871991005,48602122,-2037593289,-1277473051,-1641573350,2029600755,702559970,2109000863,1108609724,1070250571,-920991816,1014372366,-1587680001,1846582416,-227702440,1683415129,-660155781,1153144831,1028510910,1492173268,-1915782301,339578484,256898617,-59000740,-1424323134,-1417155129,-2015591297,-766125769,374482754,778222401,214751631,-1270892526,-2128172987,-253436965,-1391325084,1225771195,776220067,-837136843,1782353393,2088158706,-1470008996,24709207,1474791719,-1227795032,-130079841,1699035022,-307982985,2055302194,1710888092,1139133388,1586691487,-824233724,553548056,103117970,799625702,-571768264,-672749563,-971728066,1906220985,362411717,-1701892650,-1119664216,-1281542360,-1958292435,-471662593,2109399004,-994187894,1841050249,261197982,803765211,1731992099,-1995969521,107284183,963173219,12922336,-1062939466,-952335562,2098617522,-1154401466,393956006,1053016410,-1940915006,1175294402,57303518,4675632,1834170550,251703172,-769276042,-193275407,-634719196,-1685687379,35497608,82043774,130279754,1050422360,-592682815,1916527931,1926847259,-1192742090,914779190,-1312021984,-773739366,133282163,1876329282,-1931297869,-66651801,-1036257820,-702121618,-886402615,-1473367052,1266262823,-351416771,1285104860,-275359895,1532797760,-655452394,-362080537,297978906,-1570623470,396898715,865731318,486542197,-1794328409,1188992619,176749923,1691828790,-619486081,-899155033,1418640259,1124216648,-1138143866,1969141661,-1191529408,2118404790,-458274778,1163800933,57593332,1251638364,1481877935,44400887,-2046598224,-1486928868,637600563,2071876471,-1118556200,488383847,-621752445,-670707378,-1820406899,1164434007,2138881939,-912302215,808581240,-515077471,-457917849,-1111146377,-1615101175,-938328330,1246203405,-52648065,-121168376,1546264294,-349405915,-1089473135,-1544806498,-790706510,1957751077,-1519935761,1722410603,1002845681,-444199994,-626757754,340088299,-33173962,-323057770,-835808594,995172118,-920450873,-1551476552,1126385825,1496396579,978942105,978729666,-1491615544,-1598385408,-1050094386,-688382360,-2140224568,-60883490,326792579,1491993977,1705887875,1802072344,2077042912,-629140329,-1121980594,2092141688,-822000030,-127039918,1785128858,-193171237,-2102709440,505759240,916792215,197946715,1444372292,660240617,-1815309958,20278150,613453826,638118205,520860879,-18836026,1417507650,1043783326,-1421892267,-1026847914,-1546315702,-996413376,-590987890,-1829911565,386201800,1800809950,488016798,-233734275,1034258368,-411397318,1916577484,1480670469,653439998,1092010930,100040591); +/*FRC*/Random.twister.import_mti(280); void (makeScript(14)); +/*FRC*/count=214; tryItOut("\"use asm\"; mathy0 = (function(x, y) { \"use strict\"; return (Math.cosh(Math.acos(Math.atan2(Math.min((( + (y | 0)) | 0), x), x))) | 0); }); "); +/*FRC*/Random.twister.import_mti(356); void (makeScript(14)); +/*FRC*/count=215; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var imul = stdlib.Math.imul;\n var atan2 = stdlib.Math.atan2;\n var log = stdlib.Math.log;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n {\n (Float64ArrayView[(-(/*FFI*/ff(((((/*FFI*/ff(((((0x9cc07477)) ^ ((0x8dcd5065)))), ((-1.9342813113834067e+25)), ((-4.835703278458517e+24)), ((262145.0)), ((1.0)), ((-9223372036854776000.0)), ((-4.835703278458517e+24)), ((32767.0)), ((1.125)), ((-8589934593.0)), ((0.001953125)), ((-3.022314549036573e+23)), ((-36028797018963970.0)), ((-134217729.0)))|0)-(!(0xf7d826f3)))|0)), ((~~(+(imul((0xf95ae075), (0xc48dced7))|0)))), ((d0)), ((d0)))|0)) >> 3]) = ((17592186044417.0));\n }\n {\n i1 = (((((0x2d997940) != (((0x67256ef7)-(0xfb16356d)+(0xfd175ac2)) >> (((-72057594037927940.0) >= (32769.0))-((((0x196a5873)) | ((0xc3a02854)))))))) ^ ((((!(0xffffffff)) ? (+(0x1e190b90)) : (1.00390625)) != (d0))-(((((p={}, (p.z = x = false)())))>>>((0xf9dec822)))))));\n }\n d0 = (+/*FFI*/ff((((i1) ? (-1.015625) : (+(-1.0/0.0)))), ((((Float32ArrayView[2])) / ((+(1.0/0.0))))), ((((i1)+(0xe9da5321)-(0xffffffff)) ^ ((((0x8d4f3*(0xfbe57a6b))>>>((-0x8000000))))))), ((+atan2(((d0)), ((((+atan2(((281474976710657.0)), ((-1.2089258196146292e+24))))) * ((d0))))))), ((+log(((Float64ArrayView[(((-1.0625) <= (4097.0))-(i1)) >> 3]))))), ((+(((i1)) << ((!(-0x8000000)))))), ((((0xfd853198)-(0x6a425921)) | (-0x84e6a*(0xfc087f94)))), ((((0xd74e76e2)) ^ ((-0x8000000)))), ((+atan2(((1.1805916207174113e+21)), ((-1125899906842624.0)))))));\n i1 = (0xb458e11a);\n i1 = (i1);\n d0 = (1.0);\n return ((((~((0x954694c7))))-(0x84322f5d)))|0;\n }\n return f; })(this, {ff: XPCSafeJSObjectWrapper}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mta(-1149409293,1653792945,-1894278724,-200079351,803537656,-122547781,1127495887,-269084393,-235972883,228197944,-2049273787,-1763692910,-2034866867,1692054773,-370557632,-379168558,1736648007,-710353340,-509983852,-118875584,789980473,-2087371991,-850632256,1114551686,-1958887697,584083680,1284177668,-726364092,-2077687097,-155240192,987405745,1178735122,-849865781,-1220498528,1884733227,-1864517655,199678587,483858335,476940568,1811008355,-1034567388,365528503,-2125726425,-527311163,-1433437971,1204467178,448230225,1715877086,-771285154,411635947,1994371607,1265725667,1809170335,-1050907981,1471945759,-41946394,-2010414585,-334780843,-1616984806,768385020,467767604,1137128792,1651351847,-2144857524,469921771,481260703,-827845931,1412081131,1637648786,788675649,354266531,693656146,359660738,-1072042891,-1902479733,-286178716,1093244570,1404286143,388308807,-1584106131,1579412163,-1105477477,902490367,-845826061,-282557424,369367549,-676074841,576268719,2080557894,1550048360,-155690249,-824690012,-29703609,375936593,1921174816,764824934,-499328573,-988444729,1583188216,1285690404,912503089,-713015084,1150572498,2055487610,859585121,946584591,1710259374,-137080126,-1842435003,-1639287860,356646922,627148272,1663669341,-913668441,160950983,-1815005376,-299034307,1232276544,1350457266,-1344214387,-1949614878,-1166275124,-1975337126,-22161116,1809790940,604398151,-1158853030,-1475323485,188327134,457171821,-374302375,1068891463,873300423,1712997796,-1105385441,-1292863352,-443645025,632163741,1353109518,1775603815,-673294834,2016008108,138403003,2122878483,326303630,1938545603,1790384323,-492135478,-1323519356,-973986470,170707273,-1720472032,-642130999,1845791804,1896260361,-1233754931,-1791605714,-805064802,646492014,1836258335,-1567035373,-1376827006,532786335,-1889242532,1712809406,1492323917,2117684705,1389298909,689561155,549899339,929832463,-1915185196,-1467246927,1390857137,129886307,199482882,-692772181,-1003645789,-1406419318,-82317471,454688394,1237870504,-2145130990,1444018087,-491868212,1828654655,1973541499,757862005,1464228188,-479303443,1567935943,385001556,-1898674670,1622698626,-1767812856,1429065966,222850552,530782138,-880671362,-1574954,1399796324,-2110456173,-315268538,-386339560,-1372806616,-2119481578,-516128259,-1365756172,-1143706971,-2003235856,-2079512585,91720339,572201429,-469559497,-1577542344,-1372973381,-106961627,-2049232868,-950669770,-632855237,1468665992,-2048059017,684664160,-2023227382,1802651809,-1000368643,-1692791727,-1655681515,1054139168,1379250474,47144330,-831572375,1974465637,-48258271,-639196881,-1186690382,-1859516826,-1818871751,-794641254,-433033705,1088389917,-108992261,2137294486,-1866004319,1642874683,794642272,-1004248700,-1786574286,76716208,773758712,-1844915460,74141270,1330896881,1122490350,86640983,-1507406080,-1061342924,1013969363,-35060205,-1841813705,-1897447246,1629747495,-1087815210,1185878016,-1540217235,1171047491,1360398608,-2081919520,-136646612,959708868,-405925676,755302333,-95680631,-1911339558,642728308,848752970,1349750715,-232099664,2044769392,26170731,376664447,1692985156,1968422260,719275490,76036651,2066888238,-310861101,122599351,2125450317,1043903539,-1031207024,-1854086708,-185070066,-516558674,1161822950,-828478645,1258602713,2020482708,271334629,-1507656121,1334537229,-217078750,-1256000752,-16216619,1548236,788989298,-140266818,-1216137757,552142598,-146732447,-1143000216,781586827,372136542,-1974092515,-342081685,-1878311236,1592310005,1213175402,-979341144,-1790864975,-428331137,1642594836,-920852927,605114595,-1609293830,2051052816,641160576,1266991207,909801181,-1008991503,1083478626,45917479,-1141586215,-2074841551,930982006,732141576,1810429890,206620686,-607210578,-94727387,1083689247,-1369191247,1728659014,-327570345,-1540054154,-223647698,-753975273,-1207960813,1407325483,-1037591995,-901112276,-206542722,927970300,-2059749890,1553148473,-423551582,-1784760852,-1986981526,-1859105120,-2098561578,1961284726,-1092004475,683073508,-1076801079,1800769317,-644397115,-1284321670,-534824072,-773253991,53048598,-1796338339,-799466906,1103553468,-1556830929,-508782135,-544492149,-886059720,-11447086,-154099814,1112394377,-1070691805,678590936,1857515436,1114409517,1384221561,-54171668,1132054668,-1066944789,-808741993,1824556649,-383928799,-925500145,1501675592,-461924187,-1842736272,1711936590,-978132115,597427582,705315140,-1987996689,-737466805,590384063,1440272901,1595106315,-1289364757,-1793230298,271855506,-1371396248,-1298326392,-1635447731,2053740365,2101453474,652331269,-351366728,319935067,46866365,799354577,-2020458713,-422513648,-973236813,-293500931,164597008,1328680167,-724334331,-19281272,-1660220084,40411988,-582642582,1009871190,19108961,-691826719,-1172563322,1478456290,1405613489,-1242522592,1589857205,-96759753,735564179,2016885898,283513755,-973999407,398021416,-1991930311,-1444882007,-2033612203,-796834107,-189619161,-1519258539,-421047064,-922166685,346835895,1714806346,-1694616023,-1026254907,1107006684,-701682688,753458884,546418511,565813234,1919368234,1944268307,1936727265,617598058,1259353554,371909975,-792712598,-966654900,591512198,-2029271390,1660689205,-612717070,2123212694,695908609,-1490900635,-1808385315,78722216,414646947,-1786215106,762949101,-1402600490,804433404,-773750690,-416801724,-1026768757,1066272118,-492367809,627484552,1861354224,-1052253067,-1554163635,502015515,-1126942851,758911502,-1947835018,-1274860479,1755520298,-566742360,-2032932314,1175962378,114425778,-637248480,-621076424,-1642551669,910106069,1558834139,340714960,771235552,-95532333,738820425,1684186493,-133960208,491076432,-323321013,2130071135,-47625123,-488439261,206771496,1980237168,1833413824,129491728,-1061886198,1532273701,758743130,1467587321,122436559,578525430,1569019434,1312557815,-700278260,235288,1733492081,51785236,2091427708,1034650616,322219143,1044582634,549955597,263185526,1117059372,-963014841,1911480553,1294651517,768352735,116409545,-505322523,787651908,1386971477,816668196,98639215,892834200,-2089307261,-596143874,341154403,-1968579635,-1928623504,1741453586,-1414307416,-1547413969,-1995974001,1369998643,12567574,96382357,1190244299,-1195184664,861024021,-1382944667,-1655842190,490686100,335214605,919212570,350271704,295995960,1989108925,-836477578,-1535894665,62872747,-1567363038,-1590292200,-1282995814,1231080723,1435451360,-370370470,1293895996,-1607856800,-1267235558,628683828,-597325199,180294218,-1721108812,1417682125,-891149820,-933034089,-1732059547,-60789378,1648695916,1292341995,673372852,508264950,-641772837,22828671,-1317212882,1805671816,1225187123,-195065893,-1787826829,-372510507,-824530692,-1588899960,2040067581,217749388,739218666,-2097161633,-1220076664,1993530979,-823332060,1875614966,840058249,-626982980,-1312051607,-324407787,-150027942,-1298042199,-33973418,1090838603); +/*FRC*/Random.twister.import_mti(549); void (makeScript(14)); +/*FRC*/count=216; tryItOut("\"use strict\"; "); +/*FRC*/Random.twister.import_mti(556); void (makeScript(14)); +/*FRC*/count=217; tryItOut("mathy0 = (function(x, y) { return Math.imul(Math.fround(( ~ Math.fround((Math.imul(((((( + x) | 0) && (x | 0)) | 0) | 0), (Math.log10(-0x0ffffffff) | 0)) | 0)))), ( + ( - Math.atan2(y, x)))); }); testMathyFunction(mathy0, [-0x0ffffffff, 0x100000001, -0x080000001, Number.MAX_VALUE, -0x100000000, -0x080000000, -0x07fffffff, -0, Number.MIN_VALUE, 0x07fffffff, -Number.MAX_VALUE, 0/0, 1, Math.PI, 0x100000000, 0x080000001, -Number.MIN_VALUE, 0, -1/0, 0x080000000, 42, 0x0ffffffff, 0x100000001, 1/0]); "); +/*FRC*/Random.twister.import_mta(-874658311,763465114,1786816308,-2080790729,-2040450115,-1387626819,-236922785,1390068034,-741312198,-1949182097,-449695711,1758371569,1977673448,1318930925,166891211,-869733511,-1042612582,1675424657,2126385821,-517567342,525341292,-2139699984,-1530212496,1914169429,1487386976,1769436005,-24526553,633731892,-430665268,-972202669,-26960541,-2087333780,1518584241,937451691,729444781,-2065388032,-995832159,-1144629076,-231530789,-619614043,-130309225,-509971770,-106542042,163511928,1952188893,488015694,-1698446394,-1345714694,97353327,1456852467,432143611,1241857016,1890476005,-428149401,1485449017,1206077429,769258544,238351953,-2134154242,555226718,24262115,-1987575874,1920152844,-1528125127,-466676111,-1701612065,-1207052296,652517790,1581876373,1441030722,938340271,-1917044541,-604480048,88024680,167052964,1240363596,401851365,111936929,-1921794367,-290568419,328062380,-292263603,329541872,1483141108,65748095,1442404808,183035011,26173653,-862519797,-2026751444,161357730,659699081,1902232506,615334027,-1440804402,-2060792272,1885607498,-617748419,1324488504,1543592687,-1407989172,610134243,999546767,1519579599,1606831840,-1394566948,232076468,-1930031834,1533795382,1733893861,-385972181,-2070545480,-642820367,633382988,346923248,44351242,441436287,-719951996,1813759930,1236699993,724960150,677835629,2028015490,-1252295452,-799070759,810493815,-1703344393,1120987552,-1225991777,-262821287,-1997650805,1431104048,856602058,-514532959,1517163088,-1754835348,-160156183,996656256,-1818138618,187204362,1941639072,-545019986,1624602769,2019008302,-303592125,-2120278687,933562668,-1183892825,1275826153,-1900718802,1007978804,-264945580,1110824838,586961624,1581519431,1590605940,-492303358,-565191225,-931314750,603433342,-181144850,1609546783,1444592669,1941206729,-1328571796,-521815580,145612633,-1093242645,620373663,536044970,466816382,-558398582,-961427683,-1908999114,341140793,-992131785,893003768,-228473806,-415491132,-283177113,-2049826100,-1281951085,-1151302113,1691904006,110866330,-288942882,800373381,-1613452876,-1916309347,735534157,29771360,-1643924035,618408332,-1045263744,-1560940576,-1637422951,-206444893,1199839443,854878464,1100301190,-2040967584,-1356471304,1965039859,-429212614,729153027,-1601163502,-1558995807,1368221950,-1383631571,366250968,2063088158,-241317432,-1477202744,2096355958,1289904605,1384143301,876562029,-1387920321,-1679778124,1507282381,1096729560,-441697063,-283251184,465524181,159778952,696004001,-1767606370,-1799900055,77288719,1810303473,1036422364,1706981712,181215218,68892695,242779163,-1689945591,1527937964,-1922863508,-2099373787,-1937270855,-346714801,1983958400,1564729334,673476056,1953648673,1554784863,-1410922101,1561943604,-1753642100,-1378966002,807554942,-435755449,1208260754,1695839571,920034484,-2046162602,20059493,1503178421,1400992552,502292968,-562483993,888066374,-407689728,1337290056,1076398674,-625468845,-622508459,-2083071103,-1123840604,-901692340,-969657991,-797787450,1511990691,-907779204,-1233027745,-1258550931,1874916779,1697752771,-741727854,-492873851,-737245499,1646524803,1384965380,-1231726086,867036486,796885576,-71828134,-1490197734,261297528,1396160196,-329983521,-1638723210,-368472696,-626141557,-1734138652,-1564257242,1775463688,-1494007550,128317247,624253705,1018754169,1399095084,-1352498055,1475873795,288327448,-1230870626,744975667,1140413999,1279024290,1313599812,-1775937554,150737232,-908380263,-433173527,1233846155,988418734,-1558843111,726542326,-184922738,-1688902438,1415135617,395956785,1311430302,1617828279,-1509055819,1575599608,-523531773,772162045,-1665443516,1540986558,-1027337341,-617308845,2009210651,1449910415,-1725447902,1855956951,1634826978,-988163588,1622147829,552338081,-1409679669,1730756563,-1383015938,1213569476,-1404841069,-1667967122,-1958623729,-607143460,-1870819696,499384468,-863811365,-1946616793,852655496,1832395572,1907386225,-64781463,-1264770324,-1065983013,339334363,1232986097,1730724796,238386594,294080087,450249380,-1901799491,-904392901,2066161334,-2109262541,-1642652379,-206909728,276501021,-1929053027,151912233,-562301673,1336037565,698116469,-249692345,1199359737,135992783,-81124792,1992650292,1763681681,-420459075,1390442849,-533893583,-1446926460,-1697856812,199134202,-1333309452,-73607214,-1898563439,-602965432,1272366441,1102632673,-841778484,-1624512522,1312646933,248917468,1132460706,901571815,1185286454,-1481523996,1918650349,-1247774126,-1192265439,-1356461043,-130147117,-593711992,1708969066,1599929702,1517861207,-1931215929,-616539134,-13311113,129603253,52254506,-1323896063,1924021352,1710608315,-896247123,-2058007544,476338508,755473604,-1931672601,151101045,1941977258,1865910707,-666764597,918329623,-951494692,-1151028871,1199196146,276522261,-1175727439,-1478197765,160566761,-650652722,1189323867,1625714906,470017407,925856738,-783804898,-1619491378,-296537192,1544427394,2024897656,-1838741704,841836972,404807991,1011055380,681949936,-1645108413,-786508132,-161890832,-1079958935,1391409773,-492343671,756695845,1552803653,-1439418332,-1532262728,471818798,-1093836576,-921716264,-1526498471,-504423677,-584616198,-388993506,-1640599355,1895729423,1466088979,-104350594,-701118926,2029298746,524403808,36354562,-1492458351,-6936233,-264902740,536727148,1306834300,1161990806,2120538572,1593120734,-238840203,20062444,713646224,1741843970,-62337601,810386898,-925383127,381059925,-548722456,434921642,-142125804,-1843424016,-1993821857,-1522544388,-753253089,1998392243,-1533414560,1619369669,1995126616,-658722663,1863767083,-986304798,1185989171,453179070,-921035806,1854739452,-130562990,-1661461444,-921954888,1546382251,1330926292,1236967404,1748219004,-621342785,-1651973890,-900465139,772748358,-1908415287,276244869,-209862608,-1211200135,694639658,-1692143955,395950463,325432480,96684574,1450384137,796644518,-1468553630,-1124758609,1557716570,-984139653,1234961279,-1217451144,-1296538068,673511218,1504940808,-966500421,-1600487403,183365684,2084006228,1151811067,-2096903224,-811499543,218241789,-694567040,240505288,1966071643,-1045045055,-1504817349,1574993268,-1990006384,-1825370762,525291035,719875861,2006842640,-843315558,592946712,1929302307,-1580147273,1255774481,773255116,1853071851,990654994,2085369566,-1478457966,1082645720,235720978,-1148782123,1081310059,51947350,-2127268223,1298073624,-1790915562,1983916657,404087416,1506701081,390054895,-331971111,-291053471,-1832248895,-1560043204,203577044,1805400294,-42089701,888561493,-403738192,1540163664,-1272432252,168137600,1036799129,-1979289473,-57733605,-1515451473,1419929469,296978878,-1414800429,-232157189,-1967449529,581089569,-1433301428,1870021041,-1416657524,-1828609003,1868754519,-252213304,-896064367,-1148263435,1268807786,-1111835834,2084259201,814145007,-691230708,1329291130,861093277,810657220,-2115969174,-1288718489,1721837324,-220515018); +/*FRC*/Random.twister.import_mti(76); void (makeScript(14)); +/*FRC*/count=218; tryItOut("v0 = a1.length;"); +/*FRC*/Random.twister.import_mti(89); void (makeScript(14)); +/*FRC*/count=219; tryItOut("mathy3 = (function(x, y) { return Math.log((( ! Math.fround(Math.cos(Math.fround((Math.pow(/*FARR*/[].some, ( ! Number.MAX_VALUE)) | 0))))) | 0)); }); testMathyFunction(mathy3, [0x0ffffffff, -0x080000000, Number.MIN_VALUE, -Number.MIN_VALUE, -0x080000001, Math.PI, -0x100000000, 1, 0x080000000, 0x100000001, 0x100000000, Number.MAX_VALUE, -Number.MAX_VALUE, -0x07fffffff, -1/0, -0x0ffffffff, 42, 0x07fffffff, 0/0, 1/0, 0, -0, 0x100000001, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(209); void (makeScript(14)); +/*FRC*/count=220; tryItOut("/*ADP-2*/Object.defineProperty(a0, 17, { configurable: ((1).call(null, ).window = (y)( /x/g , \"\\uDF59\")), enumerable: (x % 6 != 3), get: Promise.prototype.catch.bind(this.i1), set: (function mcc_() { var xgcezs = 0; return function() { ++xgcezs; if (xgcezs > 9) { dumpln('hit!'); try { v0 = this.b1.byteLength; } catch(e0) { } try { Object.preventExtensions(p1); } catch(e1) { } v1 = evaluate(\"\\\"use strict\\\"; mathy4 = (function(x, y) { return (mathy1(Math.log10(( ! (Math.acosh(y) > Math.imul(0x07fffffff, y)))), Math.fround(( - Math.fround(Math.hypot((y >>> 0), Math.fround((Math.fround(x) || Math.fround(y)))))))) ? Math.fround(( ! Math.tanh(1))) : ((x ? mathy0((Math.cos(x) | 0), ( ! ( + ( ~ (((y >>> 0) ? Math.fround(y) : y) >>> 0))))) : Math.abs(x)) <= Math.fround((((Math.atan2((Math.hypot((Math.atan(x) >>> 0), (y >>> 0)) >>> 0), ( ~ x)) >>> 0) >> ( ~ (x | 0))) >>> 0)))); }); testMathyFunction(mathy4, [-0x0ffffffff, -0x100000000, 0/0, -0x080000000, 1, 0x080000001, Number.MAX_VALUE, -0, -Number.MIN_VALUE, 0x07fffffff, 1/0, -0x080000001, 0, 0x080000000, Math.PI, 0x100000001, 0x100000001, -1/0, -Number.MAX_VALUE, -0x07fffffff, Number.MIN_VALUE, 42, 0x100000000, 0x0ffffffff]); \", ({ global: g0, fileName: 'evaluate.js', lineNumber: 42, newContext: (x % 4 == 1), isRunOnce: true, noScriptRval: true, catchTermination: true, saveFrameChain: false })); } else { dumpln('miss!'); try { Array.prototype.sort.call(a1, (function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51, a52, a53, a54, a55, a56, a57, a58, a59, a60, a61, a62, a63, a64) { var r0 = a54 * 8; var r1 = a37 | 2; var r2 = a26 ^ a22; var r3 = a8 + a55; a39 = 0 + a60; var r4 = 2 % 1; var r5 = a25 % a3; var r6 = 1 & a53; var r7 = a45 / a17; var r8 = r6 & 8; var r9 = a53 - a51; var r10 = a4 & 3; var r11 = 9 / a5; print(r1); var r12 = 5 * a28; var r13 = a45 - r8; print(a51); print(a54); var r14 = 9 ^ 3; r10 = a30 ^ a49; var r15 = 5 + r11; var r16 = a40 ^ a4; var r17 = 2 - a57; var r18 = a25 % a1; var r19 = r9 ^ r3; r6 = 1 ^ r0; var r20 = 7 | 2; var r21 = r8 % r3; var r22 = r0 * 2; var r23 = 2 - a37; var r24 = r4 % a35; var r25 = r7 * 0; var r26 = a31 & x; print(a38); var r27 = a33 + r21; var r28 = 5 | a22; var r29 = 9 + a41; r10 = 7 - a8; var r30 = a40 * 7; print(a15); var r31 = 0 % 6; var r32 = a27 & 0; var r33 = a35 ^ a10; var r34 = a38 - 1; var r35 = r25 * a39; var r36 = a6 / r22; r11 = 7 % a25; var r37 = a38 * 6; var r38 = r25 / a28; var r39 = a45 & a22; var r40 = r16 * 8; var r41 = 4 % a30; a50 = 2 ^ r23; var r42 = 0 * a1; r38 = r22 % 8; var r43 = 9 - r6; var r44 = 9 ^ a10; var r45 = a29 / 7; a15 = a55 / 8; var r46 = a1 / a31; var r47 = a38 * r20; print(a2); var r48 = 3 % 6; a27 = 1 ^ 0; var r49 = a22 | 8; var r50 = 3 | r6; var r51 = r40 * 4; var r52 = 8 + 8; a42 = r23 + r33; var r53 = a54 % 9; var r54 = a1 & a46; a50 = a35 % a62; var r55 = r39 & a1; return a2; })); } catch(e0) { } try { i1.send(m1); } catch(e1) { } Array.prototype.pop.apply(a0, [a0]); } };})() });"); +/*FRC*/Random.twister.import_mta(251124250,-1973005267,351231958,1836820868,-979981010,212200102,-188794909,1593214720,-2089605803,-536258958,150681658,886268778,612445606,-1677366598,-920500487,-1885357040,728750252,-1939864917,1211415390,215794904,-727195333,102417784,1107752013,960803369,-556735259,1032389831,-379974843,431060770,-640569717,-1622745808,1360192143,-163149922,-36396168,639680397,1187267434,751563491,2053935751,-971886436,1461105879,2006824173,212755239,519341997,102072372,-1415334484,-1803665434,2051889698,535170674,1761223112,-1886262137,-1528658146,1833078400,298266531,120118927,1096278627,1978625124,-67974681,-122537987,840778753,-702789624,1757581053,-1830956580,-238223774,-467232027,685337913,1806581145,-1359023605,-1761572161,635782957,-2129074279,1112787304,-900251815,1007753413,-1379773430,-1499976132,-2034198883,1800588449,1189237293,-1760632159,93621871,-55588092,1743014264,-1009997931,750244238,-1876236715,923841399,-2052019148,1667790773,-779672094,2002964179,1876792360,-1460235806,1937673151,1601466514,-447346622,1454394098,-1976597458,-1753355765,1932219710,839976572,-2023944073,-1102039748,1910805419,-518339029,1892030754,1742987566,-1106324542,63794678,-1299166320,126066530,73153579,-1776916319,1732176119,-644618171,-1472454727,-1569916734,1794987534,-1970392037,-370050016,-538274149,301880380,-944912677,-1341361693,-1223757504,-1229198633,139770381,-817846578,1302331259,1145375686,384272955,-1066997164,-270459014,-565139101,-1062492843,-270270430,867204570,1301798453,-874971311,-871885982,-2110986082,-1238086827,1021191584,356926069,536491334,-820185191,1042027187,-923344017,-579897360,229312330,-1504199614,1413141826,-426126793,2072615860,357810999,1892674547,2141729707,-1217571944,-1170398089,-776904080,-1099719364,1078578685,-1075679791,1568512251,-837874943,-361940766,1531168354,471558251,-1393487921,1861014386,709345866,1044142173,-1126325653,1910972564,-1987036092,-1539667875,442323776,-1387136876,696283048,682727976,-1905332282,1339470342,1635819857,-163097673,712069250,-1317256593,751363603,-704740670,160614802,1364371830,-148561670,234484240,1432987283,-1519400252,1871927011,-854990728,-647693092,-2143966978,-1529367383,-943708452,597253715,-286033526,1477344180,46084430,1797548344,-1599603166,-1280010878,252719856,-1185781494,265013005,-700752318,-1595780220,1006952721,1443648290,-2043864472,945022977,-1245890948,-768965339,-1967286703,1376435442,-1250665765,-2050277958,-1071969012,480613700,1410717661,-1635185757,311977026,1868061670,156482710,-90364854,1253770260,-624467642,466024394,1489946133,-1261326743,1868636943,-925269370,-1979964224,-725409341,-775918869,-351822802,-1545795217,1268953802,1207270647,1290196376,1614258118,181543112,-1725619945,1883769139,-467919687,-1504614060,1132486127,330185757,-1900787814,-2043941877,-1244831143,-1466562139,-944413017,510376027,924065405,-1887142045,302988110,491290228,1085915509,1321578244,-1699422841,464423691,-58805270,63576344,-1456723569,261332669,2014170476,1732853416,369305072,-1631914633,-1532630868,2062012898,-1717667435,1653556621,-589951780,-1166852578,-2066168698,1181778705,-1027892089,-1556346443,-326132060,-188116183,-1034128739,1607112158,230863443,1878118038,-1536688105,913586772,551867866,484474726,1865378703,975112574,2118131711,1421708696,-1233445150,646705321,1239410110,374613310,80754338,-2025548126,187866661,1604404724,-1216334729,1581398628,1753570499,111812218,604248084,1611652154,-367278956,29618387,1251139529,1838886889,714240142,1146807623,1968664122,-1905395253,-504181815,-590524477,-929319479,-1718507815,-1468487119,890645373,1518625872,-1216410609,-1555309168,-713613762,-554773736,-473915647,654153699,1311524944,1975468404,-586867313,-1171341122,-984034921,-859066300,1064463559,-1779599925,-1383266278,-18334177,-818862482,-251143868,1687769180,1321571048,503796979,1764246974,1591700314,803745219,613394108,-2009886961,262835666,1154183034,-1807192242,-799488922,242979297,-1270134837,144892507,-1635454163,-177884144,-919610488,1914275650,1180049667,732485871,1863388981,-782063580,-1261366374,937116367,-233598870,1996673033,-1045822201,1765536044,-636404995,1016523586,1820369637,-127068320,-832626118,1707805519,-962103559,1221845315,-1494469085,-1949116168,1437242115,1111915661,-934197822,-1581728070,1417357336,434894309,-740216763,612818045,-1989059518,-2051101559,-1947341966,17857620,1480546967,617111326,657473829,1345543965,1353059567,1469321405,666417344,1783038677,-276410047,-185903782,-23934885,-982994685,1865151192,6913647,1217145462,1317716336,250851971,-2009930403,-1228037073,1717768763,-1913776878,-1077755843,1556153273,388342803,1405125520,431739383,-1129588401,1335799880,-1434679665,-974130175,-1613488956,1875888726,-884343439,1906388654,695612098,328686,157268986,1331655502,-987762659,1263022544,2037814181,-1388548150,-255496985,478198435,1904278880,-2090449335,863698820,623457497,360512765,1948358871,-489757632,1681724835,1953334876,-1111026465,494668533,-1249757520,-2130758272,1559258365,1892012742,-1009587960,1957440596,-700395849,670476173,-323203968,-1297448206,-83071013,1823828342,1069486899,-1795766051,-423996069,-1745893326,-1769973465,-323055466,-1870745326,1223091152,-2014701057,727030650,1340394054,-1788945785,1223274671,1971001154,1040944550,515621298,-844510790,-1244589891,-154976970,-1761312246,1345168294,-16100085,1538308779,1991945409,-297613192,-751079898,-1048749488,-588596602,767449277,2036439145,1257726354,1394233809,576722719,2008773522,1045907740,-622809297,-581418178,-673131229,1113375652,-346430114,-120585758,1822932089,1349183075,-837868845,-1939412824,2062853788,-219533905,-590557464,-890162541,160687748,-2050401091,2058103046,-1999553341,-336239134,441192965,-1883145718,-1725611945,956162953,1720821870,2033858337,963095671,-1325224259,1494428738,1433612021,-384091870,1054887012,114342127,-1182496425,-705229974,-1263019995,-341178074,-511812235,419893704,-1911067317,1689605,590048070,561797045,-1733434443,-1631437056,-1287890449,1752110214,1919943481,-399088880,-719700747,-1447551331,-1326422110,1965375104,-1679807593,1385986699,373071519,1164515617,-2063226349,60049086,1521686594,1043084638,757163622,-310095785,-1764017596,334922193,-161471342,-524742250,1339656152,-2129733452,-1326099284,1602770221,952929794,-1840443404,-260648299,300114654,-1788216683,103026577,-2076204756,-1258683171,743764537,521278316,-255946167,-1951676037,-2046095782,-2095139139,-1436525714,-405150469,-1465515493,-857109809,1572804485,-747598340,391479111,1783341494,2070191137,-959254224,-292980862,416486152,-130969819,1333378633,1890130161,-10599383,309896489,947043368,-1191651074,-1287263986,-259046990,-319561775,-93606498,-1401277612,-893052415,1645158605,754059777,-662629825,1275200469,1373473458,1205304446,351380716,15475433,-363771950,-138674182,1465330902,-1501998701,-1036828313,1012194781,-715569652,-346902816,-1982951362,1672720915); +/*FRC*/Random.twister.import_mti(110); void (makeScript(14)); +/*FRC*/count=221; tryItOut("this.zzz.zzz;"); +/*FRC*/Random.twister.import_mti(120); void (makeScript(14)); +/*FRC*/count=222; tryItOut("/*RXUB*/var r = new RegExp(\"\\\\1\", \"gym\"); var s = \"\"; print(uneval(r.exec(s))); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(173); void (makeScript(14)); +/*FRC*/count=223; tryItOut("\"use strict\"; print(x);"); +/*FRC*/Random.twister.import_mti(183); void (makeScript(14)); +/*FRC*/count=224; tryItOut(""); +/*FRC*/Random.twister.import_mti(190); void (makeScript(14)); +/*FRC*/count=225; tryItOut("\"use asm\"; mathy2 = (function(x, y) { return ( + (( + (( + ( + (Math.sign(y) | 0))) | 0)) + ( + (((Math.max(Math.fround((x < (y ^ y))), (y * (Math.fround(((y >>> 0) > Math.fround(x))) >>> 0))) >>> 0) <= (Math.max((Math.atan2(x, Math.hypot(x, 42)) >>> 0), Math.min(( + ( ~ y)), 0x080000001)) >>> 0)) >>> 0)))); }); testMathyFunction(mathy2, [0, [0], (new Boolean(false)), '\\0', (new String('')), '/0/', true, NaN, '', (new Boolean(true)), 0.1, ({valueOf:function(){return 0;}}), undefined, /0/, '0', -0, null, [], objectEmulatingUndefined(), false, ({toString:function(){return '0';}}), (new Number(0)), (new Number(-0)), (function(){return 0;}), ({valueOf:function(){return '0';}}), 1]); "); +/*FRC*/Random.twister.import_mti(444); void (makeScript(14)); +/*FRC*/count=226; tryItOut("\"use strict\"; s0 += s2;"); +/*FRC*/Random.twister.import_mti(456); void (makeScript(14)); +/*FRC*/count=227; tryItOut("mathy1 = (function(x, y) { \"use strict\"; \"use asm\"; return Math.fround((Math.fround(Math.ceil((mathy0(((y >>> 0) ? ((x !== y) | 0) : 1/0), Math.fround(Math.asinh(y))) >>> 0))) - Math.fround((Math.sign((Math.pow(((y / ( + Math.atanh(x))) >>> 0), Math.imul(( ! mathy0(x, Math.fround(x))), (((Math.cos(( + y)) | 0) * (((x & (y >>> 0)) >>> 0) | 0)) | 0))) | 0)) | 0)))); }); testMathyFunction(mathy1, [0/0, 0, 0x100000001, -0, 0x0ffffffff, -1/0, -0x100000000, 1/0, -0x080000001, Math.PI, 0x100000000, 0x080000000, -0x0ffffffff, -0x07fffffff, 0x07fffffff, 0x100000001, 42, -Number.MIN_VALUE, Number.MIN_VALUE, -Number.MAX_VALUE, Number.MAX_VALUE, -0x080000000, 1, 0x080000001]); "); +/*FRC*/Random.twister.import_mta(-1156850708,440725750,1713100845,1969178154,1642745235,-921687557,-2130898239,1817868079,-1902746782,-2129318626,1967276909,304736444,1183751979,-1290579245,1228696715,-578483957,703927717,41504660,-1954515074,211386495,533487877,-1355911446,-697669029,-1344597158,2070408179,-499448523,-425444066,1880069019,-797478308,-1639052338,-261439810,256605970,-479273509,593961563,-2043481516,-345929006,-434706349,-1177822364,-609158900,845409926,1723310062,529169081,1683040182,-916891206,1314673301,718943200,553774105,-354296245,-1329616945,312234723,-444161710,660327239,-1528870117,-1888124798,604955052,-1180577828,-1329348583,-388182772,-1715086347,-550623655,1594939580,128430381,2144240817,1473495496,-490561364,-315103565,1594678164,2134808136,-154784634,715355732,733916203,-2036360425,464188622,1568858734,-940290571,-174238833,131144456,-1825880249,1261236928,1308207386,-1504370009,-1678630531,617403208,876860498,-1780689904,-1198446429,-674641926,-1190564579,1096050389,-96894839,864852774,-288923111,-297681241,1189510596,2088131198,-1740561336,714079054,996709409,-316847242,1635734402,991581733,1960677620,-1350313550,1907176243,-195130177,-1187596519,1978636721,329984466,1428786201,509963303,-1872534984,1194027346,299528683,-1681436942,2095926659,428275311,240424726,2116863825,-1559605252,-1601027657,1322250788,-1029555977,-89610691,-1145879113,1587176518,-962534635,-1826608290,-882353792,1967152095,-1628719457,-926898166,-7480678,-831092410,-1943063161,192186336,1464780369,-2022026044,1477535111,1275459646,1584847573,-1333724509,780225814,640362662,1489274502,240097415,114863998,883261596,-81937103,-1090038188,66864985,-852186504,-427528252,982478513,-197078143,227161939,-2122368059,-304276693,1554876448,-1549840797,-1193954455,-627631420,1401644296,-470964683,2119656160,1634017400,1875453614,951053921,-1808975471,920897629,-655477561,1077878344,-1769664042,996353636,1556990846,-2084501793,1390688325,-1872270280,-1278381250,1270852410,-1227164901,1385532237,-560766662,129867698,1282569579,-2137056753,-1559199694,-2146478432,-142927182,457436813,1624043114,98736677,-2071283176,1574988829,-1436512418,-1366055939,-743409277,-1680761781,-2017615425,1204855860,-1822852621,321338766,232818868,-1465178129,-358636593,-1224255286,-262476972,612826823,-2023252875,-1699466301,-1526341478,133440400,-610820341,-1994176758,1258492300,-1211462093,-928522469,1776909456,1776540256,-1252105945,928688720,-399795407,1899043414,-1441208109,-1676315603,-587300077,-1922609547,1593647158,-564766234,925319253,737715144,-1070557697,-494261640,665323683,-1533947006,681862479,2113880924,1895671988,12684666,-623911724,593479246,165764215,1867449927,-308361496,748422593,-1746702400,1789707064,-1482735876,1290065327,1474752706,1186317450,-1467928425,-1585795799,567608518,736594195,-1965191145,105520814,483177519,1855992272,1179443893,-305470751,-1707904450,-1588582954,2134070478,852040969,-2014018927,-1705642624,-1073919330,-1200168849,596417551,1475721442,-1034368190,-670459663,2022229942,1550976232,2133217886,1492170198,1022841997,-1195426211,1698146564,1592769100,924909086,-325560919,-807010162,1404025170,284837021,-165637862,1086836655,1760051191,-1935998471,620009883,1201777445,-323838177,1135141803,1107517227,-652859032,-593958326,832502053,-504109920,-1569691192,276883025,1609234751,-1000995164,688696386,671201778,300150179,604893170,-525092956,-1526714982,-1980748425,348863829,21902872,1278581926,80803736,2014109905,-1405069990,-93215575,-1064159340,-1380788452,121026338,422554009,-1146939393,-1447675443,1433780623,-385065425,371893769,1873444270,819641674,1369561402,464189816,1198204653,-1143257059,-750212969,-2081876061,-1033525335,1320962445,-1366469619,2013312005,1456661636,-724212888,1193080294,2109464866,460709556,1627724493,2081963832,1498287653,889279834,-1811520664,1637894025,1281269449,-386960029,648164079,424616623,-456829784,-1727783687,-1555809357,-1418386448,499557797,362375672,1774654419,-1262202034,-390539197,1920484417,-311597553,195463276,-158248254,1689562156,69096216,1919281947,394822947,-995954563,-518441766,2060607505,-1294433569,1794045245,1414880412,-2093883932,1691604548,651796224,1558144103,-940691761,2118023247,1214470959,1923269275,1442223538,2021993153,-213708482,-756537499,1332367593,-478982667,681998548,2062535873,-1162688797,708825879,2015875147,557458437,612886482,1384031370,-248643303,668903294,-1985896731,1326552862,803878762,-63987654,-367868267,1435281356,-1341963420,-1051784585,-878082907,-86674431,553189130,-771547915,495900798,1635705594,1781952354,-242479045,-576045492,-1750802583,-1753679629,-1385497648,-936037319,759026470,-916653095,1602652699,1613682324,-933777443,808927519,804599700,1811393241,425431509,-1465276904,-298811854,-1867980435,1272816517,1092806191,584344952,-1943403482,1148184118,-792932834,-480779845,295228657,314469966,1012311168,1527845306,-890175452,1485088832,1581800233,225208702,1874895233,-1501057037,-1327893621,-596971795,730726834,-1257920746,2132038834,-1543483444,-2062575663,-519356207,-160517185,-1142985983,-1020883055,-758421703,-1368171511,-292775955,-1700252986,1261857123,143081624,1426099717,1105069310,188512175,2003008200,2033633404,-1341060381,-116711772,1524848244,1985568270,1222850065,1239950419,-1906977718,1654298024,1521785437,1617283094,-489995836,-1597537036,-400795227,-856303761,1903003273,-2074651150,-91365610,-819627883,-1327183793,-1754177054,-1567673768,718302647,935719374,-2085922394,1017591937,-477274198,-1393235235,720454335,430351972,1776219719,55464623,-1213473995,-1916102813,112205803,587521360,597027074,-1755490282,-2097270051,865478936,392579600,-1961469412,-1955166823,-576200431,487755014,1488304164,588522654,-1841579055,700767748,1893742492,-409537436,1554861964,1561398731,1561816836,1380107013,-1761741479,1341177955,-980806249,1100804816,1140271607,-346888897,1681320240,-843419241,-1406124224,990063584,1358199210,90081526,-1996968675,-647242333,1269950488,-1197835015,-663232743,1514214890,-192346596,1580693945,-891156301,1096260168,-1053718337,1028562137,-1523364843,2065342911,-1382639034,-199223176,1896914453,2096649499,79487959,1375442398,336711913,-1742391883,1394272148,-111823392,1054916934,-916351007,2022168671,245911250,572127521,1534767847,1956472536,-96073951,703900578,-274435411,-2091599566,924747212,1467208153,-1367175606,1138202495,1236831384,-92313971,1514841474,1011007273,-868994738,1235253521,1714328098,-491073507,-498183451,1082086701,1717984306,-576911208,-691881330,-838590825,2095199149,-1158096058,-1046160543,-89506589,-751183940,-1322313752,345379382,-48207154,1722682478,-344295848,313087460,-1155267669,-33289429,854511598,-625761569,-1261419298,1218419472,-881442417,-1217730022,1514932162,1981623181,1929246903,1782427797,-406813556,884453140,-1999053922,-1567465278,-2097226579,2106595538,9662481,227444539,1709009946,-866742780,1341868412); +/*FRC*/Random.twister.import_mti(96); void (makeScript(14)); +/*FRC*/count=228; tryItOut("\"use strict\"; for (var p in g2) { /*RXUB*/var r = r2; var s = s1; print(r.test(s)); }"); +/*FRC*/Random.twister.import_mta(-1140033182,-1914963017,-1290912272,-420740856,-1838509240,626628997,87510493,1388811901,-259402261,585538334,-1027772165,1083870027,-1602623812,798333551,-1438323676,-1400055561,1795868840,-196334716,49172140,21651252,-2131767418,1599569442,-1613185644,-913926656,1632225692,752129172,-2128498810,-529787149,2131772664,1472227531,743576912,-1310437401,1611827178,-316078312,-451402748,-1579260045,499583901,1326193150,-719588507,1999907265,1181827997,-780176800,892631084,-325519397,691780976,-761702551,1720279006,-1714173064,-1911635321,1068448215,-1520044803,769702561,-144493622,-1905418693,928966236,1953298373,192557620,1911165673,1938830370,-1904006001,1823857654,489724294,-389058699,-475383953,1105207183,-2129987033,-1523090974,1884651296,1574370226,-640194353,-610698838,1189678536,1503792127,-1010540967,1406604283,-1159490784,-897694456,332343150,1847583388,-1010170401,1520727083,821885964,1083535476,1787535902,663446858,-886872311,764436468,894915802,-713427438,-577693599,1424416453,554506009,-745015635,-1454748451,-1364221828,2140639248,-1283912959,-1255801827,1276678464,1728627815,-1768283481,1026600550,-126316766,-889651001,-958547460,1414833970,-2078342262,-1255380680,-1254171748,732190750,-188158785,320584439,1047891553,-266839026,517837300,-1940074990,2075734630,211266296,-1846269920,1148444044,711071605,-845660731,-1271847528,-1998862777,-420114727,344004708,950223812,-1310040523,8429257,730895462,-1169360678,648525427,-1662516245,-1360484657,-694601017,-838378507,1496333660,486660095,-423123937,-2078915208,-541586538,-897693200,1741925211,649396325,-618952538,1075041700,1343187035,28627603,303340480,1741541236,-1301037219,-117335202,102470922,-1529410871,874624891,465970482,524704261,-197180683,-1042380100,1018173628,2111070829,819680880,741431012,-907598372,151278097,1279184910,-342231992,-858711517,-1754901603,996490691,2145381939,-1476946925,127028765,2001486109,1932400079,1059926992,244672582,-883074089,-1045275091,-1174734367,-717826544,429156955,-2089601725,1433603222,405289224,640235890,-1727570620,921113980,1880695320,-39869953,-539470444,557464671,-617326280,-1297919348,1244157784,356820379,545021155,-1328446042,562764750,1560644849,-70242668,-336384186,121444192,1227553153,-1022790143,894420119,-1470779125,249629665,-430787437,191204056,2142584533,-201635425,1070436100,-185541557,-1884903451,516493021,-751736388,-1223676072,-747270474,261037445,-93957754,-241902492,-678331688,-84314515,-1167688705,-1557651937,1624270223,2123852183,-1742230957,169789392,-1750526924,1488332742,923889732,-932327515,1815623635,-923336271,579231139,-270885231,288712812,1031927896,-2126861933,-1668575408,1674209992,1627094856,-2128983528,287429074,-30374596,-1424181273,2081266791,311465216,3371083,832785407,-1607475006,491247442,-1555490396,-394351056,1620078627,-1770203947,503942728,755711733,-1115613709,-1702785437,565336360,-2026505718,36102974,-1964681686,-1308104407,-1900036795,-91902447,337124749,429165436,1434443435,-56601315,1494906609,-1247047277,159242270,-1158146522,-671211393,43476871,-319599419,556336176,1353573915,498805612,-1710251867,1257921124,-1963236566,603947947,-202314795,-700291692,1377241656,1291569215,-1187193211,956556653,-1984139946,504957445,-1676593153,-382821729,-1969140402,-1751003585,-278935617,-504406773,122766810,-1360834599,1535574790,30003351,1581660494,-1857416430,-2024484273,-476982663,1077046136,1284598861,635641478,1848485822,1001420121,-781765039,-1255084584,-1958186001,394102100,-1265470710,1464782221,1687806180,1562243172,-770109480,1634003162,-2098150710,1417007077,1339566330,-1689297381,-2020766257,2090703859,978707539,505512690,-1402026951,2051643283,996307937,1345728833,13445724,-559784693,1888862212,11042544,-39668908,-1218991027,-1303326322,-837384789,370606165,-1678304876,-1381282153,-1790580530,1625765803,2120780848,494200783,-728292211,-1056201017,-267784510,-464465971,-680821564,559685786,396870124,1019584468,1908203285,1323054128,2032613663,-1949032509,1652069437,1868268009,-456618605,606863402,1299511768,1898414353,392114486,-1026260814,1535080726,-1402200091,2049295893,2899041,1618833634,1956708596,85245361,1140735206,-536077838,435033985,-1804048663,826109931,-1173585990,-845231510,832711121,-1039302633,-714771384,1686661658,-2008154021,1303836274,-988607675,-383416076,1644975765,-560797238,-1101463080,-1694855792,741391756,976219070,1612350866,1622760104,1295631826,-752033723,1683176352,-748881307,941452233,1160153964,827645135,1239946718,863636454,464806057,681003125,322047683,952755590,1479674458,-1564213901,791375193,-1989334916,-601352548,-1918193493,252026815,-1125932406,626249425,-1654703150,1908577782,913408004,-235476670,1853183649,-5768118,1881483385,-1737082392,1072633628,-1932130465,-1187019849,150211058,-2073737336,591130071,-1760133417,574591800,915585059,-354710005,-1574031560,1001492175,-1082966628,20754963,-708593143,-1587020390,1882011296,821073278,548191601,-1354860876,-1595627404,-593349562,1926251113,-1525149024,1907014372,-400478512,1397625195,-1607610159,-948145401,106746238,-2106143494,-2052908846,-568993331,-342278435,-1564631119,493812263,497820315,-1489358284,1599147766,-503624986,-39860918,2085649128,-988009925,375757872,-1041154415,364543781,1904097951,-2047756786,-1877146423,740456368,-215295010,91763261,-1612567733,2009245518,471999665,1347277182,1125849446,1543199387,1779100121,-697146586,-834247366,-1861767475,-1278065158,1239716314,-884801084,-613754820,-706438404,1504480665,1363648225,-1045041287,930532566,-695196816,1621666060,-964931881,324899590,-413278002,-111235711,157741719,369626724,-1618702933,-1773557641,2099258237,1836500264,-542492729,-943163429,-1040029937,404334397,-2125675189,180920159,-404043120,-1449575361,-1298497411,1493650370,416745277,1766923985,1418886571,-2128534429,-1079877122,37916057,698120094,-1105438589,140388078,-859076894,-1355878758,-515992062,-582578903,-1188285885,1077668490,-345495267,-830264822,-1136149340,-1888194858,2103148524,-1425788462,-734413266,-287393523,-1556734377,-695408975,916254680,2007999993,-119484682,-1242222544,-391335256,1679151,-1351596256,-274873512,-1353724330,2007822648,-1866195255,624555824,-2032531250,-1250071119,127470901,1453723972,-1004525144,988204444,1502150683,-475137636,478828551,-1883449038,1301824179,692470183,-1159067214,1839633326,1144746471,-631271511,1884402958,1405012934,-418267552,231826069,-683178276,2134811669,-915162825,-292496475,267825613,1601330009,633170295,-2027059573,1823323850,2131032478,-1769907066,9773885,1303440372,367227436,996968458,701432913,-1316780411,1858224698,-449268457,-21006561,-433682133,956962581,-1057988284,1602002910,665973102,1556056554,1113285260,-111254264,-1824830734,444216126,1636344575,37907351,-1739171939,-787932793,901864059,1345969874,863959579,1548878738,1995078582,1357045912,-122048824,-643521178,-2063814367); +/*FRC*/Random.twister.import_mti(256); void (makeScript(14)); +/*FRC*/count=229; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return ( + (( + ( + Math.imul(Math.atanh(Math.tanh(((Math.pow(-0x100000000, Math.fround(y)) >>> 0) | 0))), ( + Math.fround(Math.atan2(Math.fround(y), Math.sign((x ** -Number.MIN_VALUE)))))))) - ( + mathy1(( + (( + (mathy1((( - ( + Math.asinh(( - Number.MIN_VALUE)))) | 0), (-0x080000001 | 0)) | 0)) ** (( + (( + Math.hypot((x ** 42), (( ~ (x | 0)) | 0))) === Math.fround((((x >>> 0) ? (Math.max((Math.pow((y | 0), x) | 0), (Math.imul(( + y), (y | 0)) | 0)) >>> 0) : (y >>> 0)) >>> 0)))) | 0))), ((Math.atanh(( ~ x)) << ( ~ Math.acos(( + Math.round(( + y)))))) >>> 0))))); }); testMathyFunction(mathy2, /*MARR*/[undefined, function(){}, function(){}, function(){}, undefined, function(){}, undefined, function(){}, function(){}, undefined, function(){}, function(){}, undefined, undefined, function(){}, function(){}, function(){}, function(){}, function(){}, undefined, function(){}, undefined, function(){}, undefined, undefined, function(){}, function(){}, function(){}, function(){}, undefined, undefined, undefined, function(){}, function(){}, undefined, function(){}, undefined, function(){}, function(){}, function(){}, undefined, undefined, function(){}, undefined, function(){}, undefined, undefined, function(){}, function(){}, undefined, function(){}, undefined, undefined, function(){}, function(){}, undefined, undefined, function(){}, function(){}, undefined, undefined, undefined, function(){}, function(){}, function(){}, function(){}, undefined, function(){}, function(){}, undefined, function(){}, function(){}, function(){}, function(){}, function(){}, undefined, function(){}, function(){}, function(){}, undefined, undefined, undefined, function(){}, undefined, undefined, function(){}, undefined, function(){}, function(){}, undefined, undefined, function(){}, undefined, undefined, undefined, function(){}, undefined, function(){}, function(){}, function(){}, undefined, undefined, function(){}, undefined, undefined, function(){}, undefined, function(){}, function(){}, undefined, function(){}, function(){}, undefined, function(){}, function(){}, undefined, undefined, undefined, function(){}, undefined, function(){}, function(){}, undefined, function(){}, function(){}, function(){}, function(){}, undefined, function(){}, function(){}, function(){}, undefined, function(){}, function(){}, undefined, undefined, undefined, undefined, function(){}, function(){}, undefined, undefined, function(){}, undefined, function(){}, undefined, function(){}, function(){}]); "); +/*FRC*/Random.twister.import_mta(-204083064,1672017222,325879062,697045772,-2036483633,1220540020,-734511039,1913692239,1768826438,-42957874,-938399307,1507124864,-38242802,244717243,-405170991,1723296407,49279044,423963916,-1570319639,794593946,-423192723,-742111146,-378930261,2141289329,-1433802560,633542930,1952546932,239777674,-2070346562,-404757526,-275791475,-1884373057,1186049013,-352703510,-167209862,1530737230,-1632006328,-1150205793,1727521719,-1727267642,-1079392281,2024124206,-1713999087,-1102688077,308950099,1224024352,-1281697760,-550280305,320640573,719173435,-1076503761,188812443,-23936333,-191822438,64643913,-652268196,-751961150,-1664087887,-270295940,-1636056277,1574329768,222484404,799135855,-6001050,469434678,-684153821,-1505794467,-982367484,392076041,1889683186,2128127103,316901140,-407138043,286815172,-521270054,426727532,-1929660020,560622974,2031914145,-505350673,1761625241,-1514467788,-1520904762,1072153877,1337186437,1404050887,-2058780378,1568562247,-337504162,-1556738365,-896196043,-348647150,-1482195096,-2128235752,-1316115150,296983442,1883769643,803789178,1641009960,1227848112,-1954755121,1703987720,-1389121955,-1562692729,1566351183,-727735627,977182096,-1662835943,1183825673,1144071758,702267429,-1890286216,772022371,-789953199,-1872244866,16562766,1799163988,-682613801,-1510893283,1312545898,-1478686464,-615229561,-676475741,228113699,-472272883,-1362419297,-654650361,-1046480762,2090423522,1236533702,1266306949,685691092,-868323807,-606578142,1075266982,1690712128,1531174338,88443978,-1556761410,-1298495262,-602728773,-1428516872,1631197680,-485560743,-598845834,1048275492,-460740998,-1576109006,-404792940,1861211772,-541666312,-1786696652,-1107305885,-1263022437,-184296337,593407469,1270588173,1626790513,-249017474,1216299697,-1222482578,1639209546,-1271428057,-122458393,-1597677367,-2135844971,-117886725,-2078439339,10094486,-1677620646,-746947891,963407437,-1104885674,790848266,1376705371,772601220,105649286,-1804137369,-2117157432,-1329273695,-1517080324,-888151624,-1918355413,29720081,-1001186715,1941768887,-1845480567,-694400343,-1473130003,815690131,-332871801,-1430803945,905715596,437310002,86752916,-1985757805,1440229671,1160183755,-1931018579,338105115,-998633178,761055626,1487239432,1177779392,629791679,-1272414385,512250987,-178424504,1644377090,-93477281,-491882852,-1497849206,810259464,-996028397,-1209756338,735764297,-1008844751,-1196171556,-351378330,1829434897,1270125609,932888318,-1835110305,-1797689928,807735576,818161534,582989109,1724814718,648517294,414715660,1171718383,-1659567635,-176053895,992799607,-815558584,-1591363512,1402305625,-2138333821,1192499884,1680708120,1087623443,-1774411339,1456133427,40031560,1372964325,-1652649865,-472227402,29944193,-628358442,1886974801,-25661871,-1164044127,1801515707,1707412646,2054545554,1842973808,1978218847,-1601501527,2330650,-1048997421,1051876356,-1496205074,1487392587,-542441769,-1107039350,-1493391364,1197249211,1541644336,-1415507657,-1793313105,233901881,-1254969854,-1116689785,810000438,-1685221504,241212718,-668330021,1737938995,-1540351450,-1375321941,1171211848,218625791,1292914129,-1236216080,-1716668124,655682934,1049298462,922185570,1682526888,-1865118545,2050142715,-562936993,-739863928,1882936192,1383229476,-87988583,905109589,-1409223745,-62598124,239374175,1387319593,1855396841,1957485039,353886488,239694297,1907983656,994192407,-2118115974,-979223672,437834559,756435542,2024082266,-681535564,888318673,132524715,927895926,-393687959,-790881360,429377291,-1779724518,-1347728598,-1736365346,1627516927,1898998350,-589656489,1176749909,-578787742,1370668023,-2099857618,689040555,-1379142914,-765244020,817093027,-1098443585,770739046,1189685799,-228018156,1368465447,-1895777792,282425801,306783144,-917526599,-16824252,-1187110751,-626282723,1781304969,77146125,1319510538,-463466081,1075777435,-1092902982,441766833,-691022082,869925694,-1440069916,741819567,1114104112,1427669103,-1995960447,-347048903,2118350450,-587859304,-1930247551,-169431575,-1373013412,-249318229,-1809779698,2106091244,-1586161821,1079007657,-1900981550,1399908699,-631162383,2107050133,-1842297789,-577775122,-177391493,-28717685,-1517870899,1744855420,662916400,882236229,1045991984,762627640,-1590723002,1227242410,583923861,-983150493,-56890696,-756222178,1127373722,-732453709,1757350912,-676314082,-617543495,1307001182,-904276836,-831680750,157363332,-1904712446,163545571,-493872218,1545955412,-1226122901,1366362460,-1554122626,828783129,-2123941357,-760028085,427473056,-1937347852,1422044635,1876555892,-1105643868,1593115855,1722603422,875095469,-2109944631,1969898141,-344563572,73466743,-829757149,-2029248390,758735836,1579040713,-1273132532,-99284844,-72749309,-867766935,1419666940,432338766,-1159042865,1908346443,1525829778,-143665524,-1432980938,1760438763,-1280196864,620318276,-1674648622,-1783183473,1932845814,878920071,440969703,190493447,-1145202005,354184513,1405935254,-1094430567,-2063512827,-995411582,1584663355,-794511723,808696933,505137164,313983430,-401098906,-859219880,1738770609,-1229993530,974621962,-1917707231,1462232177,-1085189144,1222500996,-1867786400,-202165366,1397671945,-107731250,1714909248,2091726829,805173393,653800885,-1461145682,-1204238826,156863899,-774938943,-58673834,1805134362,1030867299,1548771657,-1581168301,-81778422,235432696,932357166,671447205,-520872608,-1975041642,182222045,1939799768,-1198928822,1871219763,-15366911,598661718,2118262994,-971735767,-1147951,-131073750,77189549,77786596,1811727965,-1329226184,2117388712,1646035055,775426480,-1751193023,1268885172,-1737191460,100921805,-606422053,1685893652,2117408837,296718306,-2007585502,-870587312,-1673473552,1171320814,-476290175,35568687,-535562304,-1107329728,-1841850171,-1774009480,-1601055980,27315208,1325750814,-1747145295,224518614,-1229001222,1617093152,-1827570298,1248223918,1474053721,1825921882,-245410181,839503299,-544834879,1292615443,-736514293,-1340013903,1792111747,1079778752,1239625344,-49621888,-1161771865,-135255214,1568157934,1575323821,-1009820366,-1008824868,1296043317,-2044717489,846568961,75766058,1175099495,-182954366,2125859712,-702707102,1124725303,1647256123,-1108733736,-297366175,-1674765214,-650399562,1937847539,-764158770,-1525069541,597679974,503462757,-115268387,1190834471,1459633937,2002356816,1917477338,-172807642,1346856596,943183132,-1761281447,702286977,154130283,410632272,1287496753,-1853478677,-1406714819,-1947506602,1069126386,1619423325,-455277080,-1432149507,-1284456882,-22674518,2003524381,-671366831,-1630450408,1614684905,748299668,-1046926796,-103779377,-119274737,1010184865,-1752367905,1472036630,-34084532,-1697417324,-309250756,-1948720072,1227739194,455901108,2097708604,1936034735,-2068306024,956758866,-603610949,-750664567,109989249,-729348655,1381710540,1830509139,-282945176,1087274060,-336817286,-1209837046,-1768838895,-1275908904); +/*FRC*/Random.twister.import_mti(337); void (makeScript(14)); +/*FRC*/count=230; tryItOut("print(x);var y = -11;"); +/*FRC*/Random.twister.import_mti(377); void (makeScript(14)); +/*FRC*/count=231; tryItOut("/*infloop*/for((/*MARR*/[new String('q'), true, arguments, a, this, this, new String('q'), true, new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), a, arguments, this, a, this, arguments, this, new String('q'), a, a, new String('q'), a, this, this, a, a, arguments, arguments, new String('q'), a, a, true, arguments, a, true, new String('q')].some(new RegExp(\"[^\\\\s\\\\\\u001d\\\\S\\\\v-\\\\u00CA]+?\", \"\")))(new XPCNativeWrapper(window)) in ( '' )) return;"); +/*FRC*/Random.twister.import_mta(-1078331983,14118415,-1698796412,-1812337189,-2033196900,-281937749,1458190739,1707481727,-1645889127,-865722852,-309507757,-328278196,-952564958,643960899,-1097750449,1856897110,-1296326622,-691085980,822252243,-1639768380,-337712926,-1730801769,229535211,287700759,-1670683222,-1120083904,706492441,1548926358,-940409863,349853837,628490243,907446348,1642295305,1656798579,-680201752,2128857583,-1639825406,488413064,-1508668331,-1372423481,-807180137,-1323645165,1510308692,1166765433,1464758886,766389655,-321279745,-606320442,937161193,-1812058103,-1889212412,411402527,-11941432,474921209,1929092501,-1187886220,-413988638,1776944690,-998092660,-2030265934,-899140734,-377760679,-1988231435,2011827601,1059520239,-1657739392,-571968918,-1703272481,-1459948519,1436012906,1514081155,1396792979,784026018,1289367936,1665815719,545646963,-128083695,499003545,-1600043085,1011338322,-295882164,959725817,-74802378,-494846508,286390127,-108729959,-104860668,40085505,-526987493,481705125,-2406113,1494205289,856434516,-531686701,659636730,1580806219,878360299,1319487814,-494681615,1666756073,-1964532690,-1962363300,-859323144,-1671808731,58916797,590055264,-177888964,-730366229,-1249478298,-968558983,-1612788384,-938913501,1789340076,743396779,1045120354,607193032,989203478,132880385,-77774907,1446931310,390002845,-255792479,1071061390,354096537,1549449429,1664555428,-1067569321,2146199161,1809799933,728316588,420383164,162097717,227462961,-216342699,2013625998,2055055544,1853332863,-523924444,1799653810,679952707,409401583,-1534811149,414106946,83255224,526493906,2074607037,-1408374119,-919639955,-2138587028,1923307794,388308663,70779100,9296462,-1362537507,1317531750,-1902051496,-1376271155,2124332504,137316101,1697069367,-1496864953,-1072003845,-2021775977,1954549859,924251764,2035889344,37602371,869021496,-596436509,1437385890,-434022241,17850190,-1364159144,-151688107,1074152915,1954512915,-512141514,-1252756286,-1859279845,1795050850,-226293115,-167731125,-792340292,-1554448963,-1402236491,26116592,1583458742,1190867071,-16901404,-811949247,680419388,-262328773,-1099376809,-63709984,-357419765,606037277,625639970,-12194464,-8315706,-475782489,-1350691062,-726220917,523209921,473997791,-727584658,733705126,-1602368208,-1668239555,803637192,947579764,1215311601,623752248,-935472263,-548770497,-169663447,1692545148,-1894241305,1930002354,990563846,-292962297,1993737516,2137330072,178440848,-1275192330,-1350481483,516342612,-2137758105,-1393934618,210463113,559766572,75226610,1694990591,732904911,1901851063,894748251,1831319402,1428905986,-1912126459,-562555328,2119719796,-1267404730,1291612681,1872718578,56226319,1098458496,1089446408,1202707163,-963057271,2044905184,-1415910884,-714978408,1892920360,-1881250285,388417616,1790868398,1678661513,-1651021050,1701300238,-1885147014,1052401163,1906860292,573548178,-935459237,-1052527161,1315095670,1555396055,-2084328737,1127960787,1654418587,-2047521769,1595030136,-1862363142,1972239756,-518033601,-1662253487,-2100933925,2034101455,-1652759273,-695332459,-1649513748,-2084179111,-847574110,-1575346164,-1417292688,979398793,-607661181,-1652085245,-129197354,2014913233,1835800279,-1042572063,1456846763,-450015680,-187611528,1041374284,1795896556,-627107734,605905289,-1922323997,-1628728855,-493286229,-1072396145,705567231,1718718754,627241485,604561767,1017627375,-1936969848,-315582023,-318652899,-556550023,983678133,989137966,1665421710,432332986,1306139120,1960325501,706222661,1408894180,1691976385,-1408266308,-824637734,1721828716,-2093006561,-1262708173,-867962176,-1836498739,-1953708103,1183379670,-635290233,-177496093,-1026317389,-1520386592,-1549933425,1846237991,-1934482068,931452597,-1738633120,426466584,1669576824,-1847576920,1093984576,-509171897,-827626681,-336236646,1612258076,1903000171,-1140440947,164093363,549115475,-1053176674,2000507818,987371579,-716501979,-1325435663,1257024101,-1729246652,-2071839069,-452337418,1924101128,-580902375,-1485525231,-1719251309,962797649,22865582,559215541,1447260725,-1848327295,1571045368,536243243,-196699190,-1420196619,-1671116504,1008547943,-1477933926,1664740494,-1802563832,-588366322,1882730594,323779798,764087968,1370208638,-1743086524,-1117750290,437100557,-2143220848,-560160295,-662023653,-1452474508,-421066662,-945589531,1128886388,1384191695,-156372800,1430230935,-109055059,848954155,-1567502627,103574991,1936188790,-943890042,773124601,-167617415,-1983786088,-1527084803,1352010184,-213557068,47368319,-1161954277,-695800378,1345395599,-1685623409,511842978,-1475110130,1974295472,2112018669,1468823034,-885788243,-974774659,1698752051,1115560110,-1456200394,1921242355,-1823658727,-448059290,-2104780660,125330937,1347801441,-1090941579,332265318,-1740823193,896976788,113400815,-1681250698,-908356058,-1030151198,564278516,437029331,725272017,468582497,-1496310716,1994011701,-254880688,331203259,-136379848,-393459591,-948981940,-256074305,-1527970619,1761039953,1171041972,517710368,-539513415,-1885765023,-1515078139,947958330,1194979328,-291329675,2119197724,1990523722,-292925576,-942701380,1921982110,826642752,-2041401419,-1484681339,-1896378449,-2000755935,1072155177,-926858789,-1917862248,-888303739,1419507167,464763344,456957851,-938616481,-707088201,-1599185259,-144443322,956229224,-1630610394,388919083,587883253,-2040645359,-395459453,-1076298038,2073689792,-1378947147,467720702,-730144642,797917953,-387926487,224532732,-1125991754,-113647976,-2073828948,-102584190,-2074713487,-1833967352,-646238595,-109207517,-470392187,717273651,1847714839,263921896,-1285635377,-1852560126,1506589536,2040456848,-802916090,228059277,850900856,-538147566,-74785749,-1234374098,452023590,-978675768,433877545,1725713483,-1143803680,616708805,1966308848,994303334,-1706066322,60804230,529354724,-665100030,-104433066,-1339688545,596027196,54698101,-1752931842,308432074,-1660888819,1283488182,1543181318,311218507,1842863907,-71725774,-694876496,1131044718,1026914298,1935635376,-1330584591,1373638636,1028005011,-752617912,-1914167003,-1355399116,-1727417559,422050535,1955522028,-838730155,679787553,-1325339400,970192150,-248710986,233297447,1791787633,-1147816564,1303778016,538826006,-533725897,-682820589,-1318617593,-756070070,843864011,132750277,-458439695,466833163,2082718736,-799429966,1497115633,1270148984,-735710265,366753597,-1305470048,215972353,-358479680,921106451,1780313826,557109339,-2047376220,-585597329,-614533158,1279420423,1086453500,288948792,-20123594,-422228154,-606192384,-1280723239,1849447737,-1084959842,-2019962549,2104011490,-99162861,289155730,1816800634,246024088,1472432108,-1726779332,777017156,-498625130,-1727902702,347003007,517620492,319762878,-250491786,-1706651768,-505215417,-1392000881,1894340875,80951238,1807835180,-1069456878,1231164844,-265142703,590237266,1735876466,-1386455611,-2021657664,-1601804863,-196196052); +/*FRC*/Random.twister.import_mti(58); void (makeScript(14)); +/*FRC*/count=232; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return ( + (( + ( ! x)) == Math.fround(( - ((x ^ mathy1(0, (y >>> 0))) ? (( ! mathy1(0x100000001, ( ! 0))) >>> 0) : x))))); }); testMathyFunction(mathy4, [1, 0x080000001, Number.MIN_VALUE, -Number.MAX_VALUE, 0x100000000, 0x0ffffffff, 0x100000001, -1/0, -0x0ffffffff, Number.MAX_VALUE, -0x080000000, 0/0, -0, 1/0, 0x080000000, Math.PI, 0x100000001, 42, 0x07fffffff, -Number.MIN_VALUE, -0x07fffffff, 0, -0x080000001, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(231); void (makeScript(14)); +/*FRC*/count=233; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return ( + ( + (( + mathy0(Math.fround((y == (Math.hypot(x, x) | 0))), -0x0ffffffff)) & ( + Math.tanh((Math.atan2(y, Math.min(Math.fround(Math.cos(( ~ x))), ( ~ y))) | 0)))))); }); testMathyFunction(mathy5, /*MARR*/[undefined, undefined, x, x, objectEmulatingUndefined(), new Number(1), new Number(1), objectEmulatingUndefined(), undefined, undefined, x, x, x, objectEmulatingUndefined(), new Number(1), x, new Number(1), x, objectEmulatingUndefined(), x, undefined, objectEmulatingUndefined(), new Number(1), new Number(1), x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, new Number(1), x, x, new Number(1), objectEmulatingUndefined(), new Number(1), undefined, x, objectEmulatingUndefined(), undefined, new Number(1), new Number(1), objectEmulatingUndefined(), new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), new Number(1), x, new Number(1), undefined, new Number(1), new Number(1), objectEmulatingUndefined(), undefined, x, new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), undefined, new Number(1), undefined, undefined, x, objectEmulatingUndefined(), undefined, new Number(1), new Number(1), x, objectEmulatingUndefined(), undefined, x, objectEmulatingUndefined(), undefined, x, objectEmulatingUndefined(), x, x, x, x, x, x, x, x, x, new Number(1), new Number(1), x, x, new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), undefined, x, x, objectEmulatingUndefined(), new Number(1), x, objectEmulatingUndefined(), undefined, new Number(1), undefined, new Number(1), objectEmulatingUndefined(), undefined, objectEmulatingUndefined(), new Number(1), undefined, objectEmulatingUndefined(), new Number(1), x, objectEmulatingUndefined(), undefined, x, new Number(1), undefined, x, undefined, new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), x, x, objectEmulatingUndefined(), undefined, undefined, undefined, undefined, undefined, new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), undefined, undefined, x, objectEmulatingUndefined(), x, undefined, undefined, x, new Number(1), x, undefined, undefined, objectEmulatingUndefined(), new Number(1), undefined, objectEmulatingUndefined(), objectEmulatingUndefined(), undefined, new Number(1), new Number(1), objectEmulatingUndefined(), undefined, undefined, new Number(1), objectEmulatingUndefined(), objectEmulatingUndefined(), x, undefined]); "); +/*FRC*/Random.twister.import_mta(2079508741,192109453,-1550605500,-2066050616,-1065042573,75493487,573206136,855696622,916784838,478901442,1961207769,-652116598,482301240,-697204873,-321884764,132106931,-1015745092,-1272667642,1925404559,576913803,508577465,439982167,-186995353,1280027259,-139832042,-1098549216,-1117490222,1606067525,1374553109,-1932798681,1264489799,385910190,-1146808064,-1282974317,-753953860,165903342,-716935758,1138417875,210284126,-547671968,-611755387,1178105979,-1608317438,-1921571465,-117075423,1605021936,2119427800,893012499,2021384354,-2132944050,636939759,-1689657311,-1076315406,-440807263,37914522,-1401017912,-76775048,-2014276029,2080308963,571337153,51901318,-1545196615,-1806086819,1745977552,-916981892,477833131,-445632912,1260873062,-850761936,987806385,941030583,683306744,-290694885,620897300,1112001507,-239236728,-865857213,-1838904163,-1775353994,-487315055,1698483766,-895044131,1237219458,1330550606,-1293636808,1607833847,1583832526,1093538769,1753960519,-579016048,1480703710,40290900,2102779336,2082989052,1593089747,-1907887274,-1682940395,1366331071,1824982919,-57573739,-1043187361,-187956364,241074736,565473058,-228351691,275933869,-1659704387,1433934939,1232341292,-562345038,-1530879186,214790726,1594581772,313674300,548353180,-1030257895,1635229940,315284755,1911447697,1463638873,-1196116058,959955084,676842227,-1813522832,1151922466,-2107344366,2092039565,-1351036633,171561650,-723769892,1679458195,803876568,-2096924599,2134908722,-1430604382,-1135529302,-1386078433,958545263,-693107592,-2018042397,-425902587,-1209077869,-722589332,1289390855,-1712440837,-61786589,1294984984,295956442,1142403098,1102694860,-1879826101,-1351570157,392538648,2120483540,1943968320,32681196,1472979661,740294565,-1840719534,2068290506,-186506107,-1334108059,1490881890,1446865370,481382262,2017046473,-827660401,106316329,-1204212965,-1739306149,1197585506,-202077859,-106870274,-2060954074,1936644708,1770029162,287233305,96178453,1621299596,309931581,-287859973,-2101287778,-29215214,-1524623641,1643352227,-1429778305,1735218831,-467535192,-1299740296,344377058,-1340135942,955788098,-1731419850,932157274,2024715400,2090406952,-2131352274,-128360664,-1783493778,-1381372266,-495991416,-1160422459,-1719474264,2106818523,-858863121,1047441884,889680599,-823062538,143896005,-1544887125,26864546,1275565333,1827342792,35267724,-545859407,-294781913,2102888479,1984169775,1846358734,839456570,-813648227,645868314,2122863241,1670662592,-937651606,969205293,-1573169569,-1530933986,467531163,-1582412355,793895272,1281069899,-1512392597,-1584874102,93536091,472954567,-2105514465,467250425,-1509076944,109391131,688387756,-618669859,-1619295381,-473405572,-1806470398,-937686467,-1742223984,1654728137,267709785,-1637119829,874675311,1766708928,-183100408,-2009379323,-189448610,1596305814,-25677536,1284500858,-782951820,-2089735806,-1567584550,1847074894,-263581230,-1300951159,-192353561,-1805530130,667822294,1943002135,-573935953,-810935490,-2063044982,-2084344601,-164776016,-1456646865,-313401439,-1645369830,392894746,-675719686,-711010985,1731392385,-2096867984,1397725084,-105069584,1062472163,857460573,-1405757123,1579918506,-434908623,207130637,767308786,-1703679014,-71217060,1712555159,-1166466986,2124611344,-536483067,-236537174,-1481926503,-20506925,115896209,-603926388,-1907853373,-1031454439,1205721242,426265841,292908766,-458080683,-1968426443,623827468,-1075899295,-1961428533,-1348588241,1853337648,1384459667,1740840745,-873465818,1366841197,1908194476,-1459438613,1800542742,457924753,765729893,382788358,1491510227,928085983,-1131735234,543141270,-1567211212,1087745384,-303825634,-640348636,-1596719163,-659281867,1931474673,1394675437,-1950428503,-766246014,-394981982,1024241274,1476098136,1915239068,-1988831264,1019905637,344790841,1657163933,-800035461,-801715264,1700784544,-1335747718,147532988,-394690651,-1060287008,835275999,-1111034070,1392915658,105854864,261458514,379490280,1455264988,884726170,-1242367899,2138120756,2045252189,-1379111864,-1333726102,1687752125,374721788,-2008079879,555575641,-288529271,-2139162206,-673424017,995564239,1591453013,1614748061,1313879966,802084555,-135775878,-1495886984,27274568,1454497387,2144588898,1598198043,-2084208108,742357613,1678653793,-1911946728,-1605084353,-1022843832,-1576794929,932827616,-1392937778,1131370409,1027447963,-1545532640,2021431889,269753578,-1652608422,-901284890,-629147331,1261084165,-781761401,761293222,-630513224,1844483569,1493279190,-904332579,1786893353,-377253251,257035018,837488895,783457778,-1093755400,498858839,1138238977,-1723747451,-1474851093,1273272859,-749672316,-1175212703,588613057,-1729630674,-331926917,-229396195,-1189309586,1325828429,478918393,1679537133,-214720394,211076548,656940049,1453806791,864789223,1374337476,-1346527737,1480767423,937693341,-1928578667,-654825990,2139293674,-528511415,-418270567,1052487077,1186466051,-1693805620,230352232,-748689094,83788832,-888393491,1550714323,1828296912,2130703465,-419391550,1777023362,-117468157,943787419,267889112,1350161254,1997139694,-1835032617,-1032880172,2094313492,76709479,413237530,-787358748,2021533496,-606933932,-268655769,1719126255,-643015641,524685409,1729509682,-976890155,212941442,-542148167,-65993251,1463031614,1335066700,892511732,-93228517,1520748879,2084093947,-989717055,323380158,325292575,-1399200492,211742343,-278863323,1143296113,1048903821,521004098,-1304828263,-1978624331,1532151706,838741185,-1589954834,344562393,-866148850,1987463942,328980350,1105122482,557396583,871752910,280398190,1461617730,-1655389226,198487601,-1077205448,2069736223,645891945,638571103,485330388,1224214519,85843389,-1419020126,781048809,-128271815,806714656,-433575892,-1384502998,-2132762962,1661145507,-316517326,-1339466519,-1469235349,-756373934,2047562426,488283292,-544529315,1512874492,1277159525,1348037268,-2030194041,-2098068850,-1487816650,-1251999114,272386863,-1228259502,-992694665,264413063,1277138542,1584178929,1254045953,965234843,-166264262,-2137833265,-1263617445,1288716427,-131566290,-1018450262,1654772005,-1990641622,1908537841,954194922,-25183297,2017710387,840476370,1975254979,-1122425597,-1100013243,1662065786,-96583511,2031099007,334433374,-2130532089,-48089792,-855177883,-646517829,1570095290,47932525,1017234016,-1756301894,-175498553,1663861500,-1229372703,-1451616598,-676585117,-584549435,45515062,80214958,877932504,1375598232,-238307208,1648030143,-373880012,1994223522,1009211526,-1969979266,203130263,336006365,1829767163,1586916905,2066965618,-862874490,-151292792,-2061587697,-1504480832,-1235488993,-796303709,280418617,1381113163,924267071,2138307925,1666183362,616031642,-1447316738,136820119,1849243728,854627238,-1229217049,1280234124,-851220937,1718067842,-1142246898,-2139821514,-1481003362,51751736,1712256713,-1623008393,-859190892,2122474875,1789561119,39567047,-186267465); +/*FRC*/Random.twister.import_mti(97); void (makeScript(14)); +/*FRC*/count=234; tryItOut("e1.delete(this.h2);"); +/*FRC*/Random.twister.import_mti(110); void (makeScript(14)); +/*FRC*/count=235; tryItOut(";"); +/*FRC*/Random.twister.import_mti(116); void (makeScript(14)); +/*FRC*/count=236; tryItOut("\"use strict\"; M:if((x % 3 == 1)) {( '' );t1.set(t2, ({valueOf: function() { for (var v of e0) { v2 = evaluate(\"function f2(i1) { yield new RegExp(\\\"(?:^|\\\\\\\\b)|(?=\\\\\\\\W[^])|(.)\\\\\\\\u0016\\\\\\\\1|(?=(?:[^])[^]|(?!\\\\\\\\v{0,}))|(?!^)\\\", \\\"yim\\\") } \", ({ global: g1, fileName: 'evaluate.js', lineNumber: 42, newContext: true, isRunOnce: (x % 3 != 0), noScriptRval: false, catchTermination: true, saveFrameChain: false, element: o0, elementProperty: o1.s0, sourceMapURL: o0.s1, sourcePolicy: 'NO_SOURCE' })); }return 3; }})); } else if (Math.atan2(/(?!(?:[^]+?))|[\\u0073-\\u00CD\\u0031\\f\\s](?=\\cV)(?=\\s)((?![^])\\D?)/y, 20)) {null; }"); +/*FRC*/Random.twister.import_mta(828438299,7585847,2095724621,680332070,-350605807,-238728848,1817709511,415410120,-1308905427,-1232096388,-1150821180,1687133581,-1268032661,-254345835,-1924410601,-1351337026,1612611943,-186099835,-293145139,1847784449,-2024118551,2146134013,-1960647958,2129003447,-695515114,-651544828,1900696231,-208348135,-1382440582,195822256,2094052450,-1137859972,-2085342492,1447929671,-461782686,-1064692550,-1642206095,-299872321,-2111254939,903939639,3289946,727484016,1551580313,-1927830985,1021956429,-2146558791,-556381775,776844637,-1689991657,1854132241,-1009779417,-1779638668,77331533,1368630844,-1852085624,-1489577784,-725497361,136837009,-1952681861,1389306675,-35671298,-72253263,2128936320,867233080,-1192298830,1691218401,-1361811839,-299694872,1058535921,-472947578,-466930507,1268789275,-226132465,1374646711,1630196967,-1400984896,720109649,-332152248,105904432,48366508,-956208427,2012563766,1663645313,1169027613,-1444897060,1787865045,-791857594,275662500,4286303,-1651626454,653701786,897194278,-1037902594,-1864699692,1353307114,1557151780,879938138,173901290,-741573284,-1618537962,-24424026,1656199726,1159218300,-618810943,990503631,1069275963,1630373796,-318538584,-834061153,201563050,1404946448,1353847802,1413459575,-1229480581,-347607087,-680758054,1837791560,-941281062,1708555344,-974955919,-1649047913,85529622,-2093713949,-1678581126,-199345422,-2085618740,1871354416,150841050,668406817,-287855139,-334628653,1096440502,-893935791,-13916479,-1143075131,-570500853,-1403463426,-1942579092,992019563,1613370893,-131419968,-1034690071,277103393,1939927077,-393048266,-286048228,-798149785,1941182550,6284195,-211582257,1132253087,-1578406396,-145994042,675188753,11437121,-1998587671,565809336,1904877357,-1893952256,-1774631084,-944175027,-1981941374,-623408790,-669482121,-1336035117,794435572,1862560734,-843414881,-1745519758,-1622968866,-712851135,-612259268,-1747559849,-1099756609,712975265,551726991,-829959847,-441633820,2019513605,-268090137,608861588,-2045679668,1617550841,288035504,-1693892554,-1505358017,-1226803194,-1650966279,-934232630,290183303,-1178485956,526786361,1099536081,889817,-25643617,1519357420,-617515307,265369421,945178936,195143755,1298537934,1309619998,-973454612,-137021680,-219069150,-468415311,-1509948067,-1787490780,170163377,-928711201,1067299910,1066344237,1084172254,265338472,797294865,1408255102,-1698142877,1082161179,-1626221539,1042941761,-249823820,-9425175,-875285072,1673644350,-1523909542,-802296353,-1971625104,-1052714522,-1096396706,-1556083682,-1319154757,71966433,1691928561,1551988048,-431203548,1982889812,-603696634,480535362,1887396369,-840341979,-1582915302,-1174161061,1891402379,1329939723,1129666545,1555684027,245621839,-1268884520,-1543474153,-586039041,1081159082,944502510,2135745020,1123200543,1563920654,-290685850,1748286640,-227223386,1806621948,-546975728,-629348492,1375510575,-1515468075,921815745,-1138470323,-1278515313,-1936511081,1470916328,-1022476342,854934540,1844841076,-1008253998,-716636844,-365522439,1300068220,468988991,-968757373,1711251389,-1896815226,-5454597,-493595047,-1080992992,670114449,-582170087,-25032010,-643631979,287073389,-458866099,-1905863272,863431586,1396743677,-1385854456,-51058898,411271374,-866529507,-333879793,874677135,-318644896,-1069673487,388835816,-618219590,228726164,-1998256230,-1109010376,715289992,2058720704,-884657970,-1400620168,929018869,-56026349,-1571434655,-992127932,1787352372,-585003714,-256936991,745623680,896248807,560327509,1063772628,142130861,384530259,628369345,150035889,874152059,1635250738,1960134298,-189876586,609721137,-865429233,1364933017,1085802635,426792955,-1887540226,-811820076,-2136813745,25604347,529956793,-1255691371,-1029440327,-733606056,-2024400178,-20899402,-1981695641,-380045636,-1109040793,780269261,649339587,-1979518083,-1731247546,458614107,-904102025,-1101624787,-1474251604,1486994637,-296603953,1794627853,-1106309870,1537911353,1382345714,-1714778490,-353565735,1292346339,1264812733,116829732,-1099270785,-1853679908,-402958135,-1202950931,-635442452,1158091059,-731932487,-441164982,1004322160,-1443408997,-1108568256,143384813,1122944416,987337948,-956328431,-987761188,934959894,566868192,-189254546,-1768219173,1895338432,976611672,-1128529455,-1962442552,-1367128274,-1488123463,1390063076,1228462326,-1706253527,529814287,79127907,519694481,1209537565,-12855997,484459186,-310344528,-991737071,1323502469,728117192,-608969665,-1492628087,849139200,835537933,961884745,-1589617763,-601923087,1884537586,-44484740,-769566555,2101779347,1012813210,1026627265,-136111978,1108300370,-976227007,789824389,-1629370903,-1278461243,-1247902623,-1167739786,-1264968607,-1620179727,-1216804456,-110130469,821724016,1933679580,1521156721,33497596,409778204,2036793809,497277577,-123848121,-1778133597,-617132350,818936960,1218548754,1027905811,1917710359,1506992174,991384910,185143508,2043176350,-469937560,-1778186791,-1697661337,748762685,-1263961734,-629710687,-1848948820,460585486,1922899309,-1922759631,-132058327,548320444,-1685982748,-823106187,1643695153,-941459631,-1514158380,-2003813710,-1382848559,1408560443,-1049431745,-1439059213,2132197311,1874396461,-454878110,248293882,1826734867,-2069209658,1805636601,1812957166,-2039592041,1828587358,-1398398422,-1969209195,-1249493657,239989801,-1513808494,1082817525,1400068012,1920561733,1731300936,-1939861548,984746157,1502119340,1762992492,33312390,467381733,-458785965,-1331905188,-515649236,-118612345,284813111,-1248406338,-2067527601,186875997,-1284986919,395040728,-253865925,1958100507,-635561990,919129829,-1920946346,-727923088,-535970883,-897871747,-588486578,1481514636,-320815751,910554304,-1749753863,1735325579,-2115577939,31351238,1351183846,1821655890,1470479202,1502146116,243105229,1134645444,1290180412,1894473640,660888008,-408828338,-127340443,668415135,361230900,-1231869982,-1229802514,-276160399,-1555073475,1587037555,718867859,1676659608,-393779495,401477814,1384647405,-993257714,-1322342794,1197032547,1254773099,86012266,956345249,-41070829,-2020688143,-1651614570,-580729905,-1059599396,-317473227,721799373,1935490481,114971987,554340640,-624618226,-1262967903,334354644,821038944,-1030893903,1934300922,-177151495,711717243,-1169002874,596487376,-1536188599,1269889387,1550624662,-1087500187,-34290600,917860100,-1529162080,-404757929,2056349041,63679566,-116707068,-1747941782,1945662510,1022837466,2109396716,1248347882,2047647277,-621294986,-449501605,799444294,-333555884,534227505,1805431101,102387090,111139145,1307174049,-1849791312,-482262463,1747078374,-2113818917,-1333637109,-1347234564,440214658,-1301326663,-1871009254,1610997423,1844542101,-94035952,1660476144,689184967,1941778658,-1760855797,-1054291769,-428342415,906567506,652188716,-411278717,97692800,-1853659176,-1423249134,-2089190942,2037704156,588700672,-1677219619,-83711795,-912203953); +/*FRC*/Random.twister.import_mti(152); void (makeScript(14)); +/*FRC*/count=237; tryItOut("for (var v of o2) { o0.g1.o0.v2 = r0.multiline; }h0.__proto__ = h1;"); +/*FRC*/Random.twister.import_mti(202); void (makeScript(14)); +/*FRC*/count=238; tryItOut("mathy5 = (function(x, y) { return Math.fround(Math.log(mathy4((( ! Math.min(y, Math.fround(( - y)))) >>> 0), ( + (Math.fround(((Math.hypot((y < y), x) | 0) , (y | 0))) ^ Math.round(y)))))); }); testMathyFunction(mathy5, [0x080000000, -0x07fffffff, 0, 0x080000001, 0x0ffffffff, 0/0, -0x080000001, -0x080000000, -Number.MIN_VALUE, Number.MIN_VALUE, Number.MAX_VALUE, -0x0ffffffff, Math.PI, 42, 0x100000001, -0x100000000, 0x100000000, 0x07fffffff, 1, -1/0, 0x100000001, 1/0, -Number.MAX_VALUE, -0]); "); +/*FRC*/Random.twister.import_mti(385); void (makeScript(14)); +/*FRC*/count=239; tryItOut("mathy5 = (function(x, y) { return (( + (( ~ y) ? Math.fround(((((Math.sin((y >>> 0)) >>> 0) >>> 0) << (Math.tan((mathy3(y, ((( ~ ( + x)) >>> 0) >>> 0)) >>> 0)) >>> 0)) >>> 0)) : 0x080000001)) ? Math.log2(( + ( ! (-Number.MAX_VALUE | 0)))) : Math.sinh(mathy2((((( + (x >>> 0)) >>> 0) , Math.fround(((( + x) + (-Number.MIN_VALUE >>> 0)) >>> 0))) >>> 0), ((Math.fround(Math.sinh((y >>> 0))) - Math.fround((((Math.ceil(Math.fround((Math.hypot((y >>> 0), (y >>> 0)) >>> 0))) >>> 0) || (y >>> 0)) >>> 0))) >>> 0)))); }); "); +/*FRC*/Random.twister.import_mta(1711965575,-1147277749,-104464093,1751575750,906080061,-1002267916,-674066469,654124352,1775964094,1820238447,-770028464,578635511,1031581668,-1342268506,-1427952989,992389321,-566624114,-770340957,-752296930,1833343805,-1527623309,-1067547596,-915901823,-1247518238,-547806905,1412636141,447179429,-497627940,-625474135,-1995353175,-411477019,1897961986,-2123368288,1754784448,1639590817,-831848709,-1753245999,-977334940,996542851,-1776628722,-828830214,-2013605357,-685574698,-96943766,-347976044,-1347324887,-180797633,-1616657664,-1753137847,1527913508,-587896093,1099624606,73983267,-1134244802,-1981018939,1654854532,-966217447,-295987825,2097816951,-959501738,-998325189,-453800156,-685239319,2106570600,747388798,735921483,-8275770,1796221942,1645436792,711973818,1457592865,-547573657,-1639576279,1300154062,418643098,-1600162844,-1296843550,683159393,1837008440,1021726242,386180037,70912437,830343492,-1586073079,-502458596,-1918662991,146626727,-899984164,2092852560,877319941,-1763900601,463693522,300285382,21088409,798256788,31639752,-511067738,-1720024078,-1367320537,-2018789804,1638017568,-1759840640,809656432,-810565147,901642907,656217098,-966791569,-1969614709,-1675634129,521546477,-1512462677,1737204116,1650378207,651220810,-1218817501,780870184,-820894444,1152305896,743293470,-1329822689,-1016439386,-1723012120,493886683,379280939,376587908,776840028,168013472,-918394357,-494538483,-1612377314,1204384915,1542633785,519410650,-483359966,-495964562,-524334179,-257294376,722604699,173198820,1653415187,-755479112,-1297786153,1214230036,598169389,636594915,905068130,-923489699,-562166419,-361553709,-40458630,703929507,-2043975568,1251558950,80850537,1074106212,-1878326400,1289617788,747340365,943824411,-66166358,1709469153,-1213279813,1102860997,-758401950,1734148250,-183501986,-862001302,-1098228672,1707756436,1234943737,1313700302,1988887229,-1920873365,-1873049959,911734653,1136630827,1147401974,1107152125,1188425979,682908603,12787624,272068391,-1622864078,2122110005,-153291366,650832623,-1649617335,505725128,190486250,-103416891,-115527163,1439837411,-2032545022,-844604627,1801292644,-1307585796,-1828073512,-1919596500,2140743355,1318142465,-1526319788,-1837141635,-732409996,1665500691,1500357182,1517426795,717183421,-1309936622,1195372064,1026949331,-1344594034,1408410381,-1864161729,1340250256,-813686450,-1570398916,-543747842,1912354898,-1009836033,-1458661118,1301960377,-426548422,143917379,830710317,1830416109,-1103160971,-1459571780,962178472,-365041596,945886241,-1286909079,-1654293478,-368959396,-453729719,1575295722,1205413565,573346766,1932348807,-1652472518,1840250729,1811412948,1270209337,-2054374765,1721244585,1698814497,1299291878,2003416785,1878711207,937350292,-1454316460,-1451124075,-520138311,-331154883,876391970,-721358097,-1365091343,-1339342854,-1834076773,1586655754,-330200294,-1721695736,-362316268,203074372,275058472,89263740,-467194217,-36896902,-283241953,-562008043,-505810708,-607428477,-2115620802,1134726154,-1819835263,189884864,766081623,-1327144155,-611510240,-1487658436,-332759344,-475242066,1125920082,-720517545,-1188449214,461528858,-1400068194,1838463919,-2092060937,-1119290635,1736502728,1799189100,1391873257,1738310956,1084616599,-2079053778,-1593135520,485438730,-1342790906,-1798691693,-1277864204,196070404,478248791,-26370056,-404584922,367191425,1222385247,1789154206,-710685984,-1553582877,-111387093,-1021781973,-1756791418,-1556922322,-371043960,-1671168868,-16580484,-1108307344,-1989217363,-2036889253,-2087127376,-1963758682,-1293651821,-2098776022,-785235777,-1559224129,-1797848212,1284033299,-559950216,1723849363,-1994992406,1512004295,839044964,1087592928,520501527,1397880873,182211884,-1668460552,1568729128,229156408,569755832,1504730001,1789017679,1512528246,149431672,-1964605103,-1507892320,750079358,-1894908795,1307486618,-1586064449,-793203742,1113726162,-619328027,-1541273320,623982162,-41781372,1798895325,1861943658,1461190266,-225729815,482075148,1590255599,-473686897,1989965240,1674811893,-525872801,-1482449990,-1074284338,1227776657,-75967849,1367177864,2015360091,-1207883920,-1778195971,53691844,-888913405,-520459244,-1820170380,-458976610,289696685,339046937,2052691283,1112423858,883050908,831616737,-1088999892,-1181900338,849727094,2097210808,684786743,-162015207,-210509359,600662534,1473111300,687741143,-657526459,-284236665,4020375,1078739173,1996020028,1847767940,602202265,-143736085,-1896914707,414427133,-952375774,-1391037888,-1989442887,-416256256,-412291509,1087393675,113568023,-1050601479,-2088505212,-1716192393,816519841,-1731046676,1123186810,-1689027074,279019817,222754448,-1466271349,-281212729,1347186999,1529543307,606446199,-1423034445,-42240788,-1411400557,1610972819,1673139949,1432092208,-3594148,-1117387738,346839534,-1791577042,1353557938,-138616370,2007132420,390716009,-271790012,-479637159,-1074907237,-636249964,1293421213,-231622965,2064100145,-1711982251,701188347,314621438,-978279774,637291835,-209263502,155618773,-1495031953,254091535,1748389503,-1098142821,1662385791,66516635,1577920830,255523200,59849700,-303197959,-2082501691,607161722,-1581541681,-1921771308,-446568080,-1208142686,570314580,-902198409,1327804421,-1683034126,1509759056,-1377746560,-550508549,-1076720768,1017626924,797529169,-367860503,-941458394,1475335892,-1718447060,848968806,1829418286,-362705680,1563473537,-962380606,948976626,278603883,-1850251183,1333535713,-1518165548,-1614808439,1006620553,816690088,-1056961828,1519158470,-1623458565,322660274,1083474476,-1932598635,1404488951,-159247395,1698231697,-353752709,-1981676906,-1441644461,691584694,-681607067,2007322716,66341373,917914063,295662036,1475817967,-25479487,735199887,2058549786,1373021317,1802973734,-1462739188,1060937817,1027579240,-1987712872,-1396733113,-1603831280,947859235,-105007174,881767784,-316571844,246118000,327501736,-2073431175,487375137,1428334213,1966630973,-219202073,973241909,-389789579,1504633889,-1106905317,-1483451577,1196720286,889416647,-2079870482,101716927,759004400,1747689268,-870312351,646680967,-1015298735,2069261481,-2147311702,2117728383,-52805403,-1718379398,2004734016,-246010261,153466250,125714087,-350244946,1937366609,1060999131,-1849843638,276926843,1882398416,-762370838,-1770851803,1947273917,-1904763499,-199433347,-45755358,1054352942,1709882737,-1448170499,-1600961128,-331533472,160063463,-1561724942,-1168529291,468475172,-659139343,-818542316,1132520529,-1132077688,-1520901046,716491174,-2010498520,1325593806,1972458353,-107690610,1599837136,-1350783518,1465887025,1027556578,1668330789,-1875582382,801545765,-182471375,373160830,1259213001,571350411,1326080385,-1364134020,-1780940826,-1664693487,770435688,-388720375,-1143805682,-560531205,1788213576,-1401364422,322642000,1884067894,1975604820,2101640382,-1209309976,-1882614977,843451398,-1060732491,-864551826,622210621,84088475); +/*FRC*/Random.twister.import_mti(70); void (makeScript(14)); +/*FRC*/count=240; tryItOut("/*ODP-1*/Object.defineProperty(t1, \"toSource\", ({get: Date.prototype.getSeconds, configurable: false}));"); +/*FRC*/Random.twister.import_mti(94); void (makeScript(14)); +/*FRC*/count=241; tryItOut("i0 = Proxy.create(h1, g0);"); +/*FRC*/Random.twister.import_mti(110); void (makeScript(14)); +/*FRC*/count=242; tryItOut("\"use strict\"; /*bLoop*/for (let yczlqi = 0; yczlqi < 15; ++yczlqi) { if (yczlqi % 5 == 2) { Object.defineProperty(o0, \"v2\", { configurable: (x % 6 == 4), enumerable: (x % 12 != 0), get: function() { return o2.t1.length; } }); } else { (/(?=(?=(?:$)*)|(?![^][^]{2,}))/gyi); } } "); +/*FRC*/Random.twister.import_mta(-2063917203,-1515720533,46903135,-332737339,29732323,93271513,-577637811,744366114,1745618890,-2078583704,1096651037,-108119822,-258759784,-1935054331,-1033957972,-293857346,1937867658,-266300040,-553588768,329501322,584923744,1727001697,1249096152,-69019924,1535854498,2070285642,1634146137,-1350678400,-106579076,1100622494,-2048181779,-1419231037,340692979,-898649118,-345624174,763253739,-541490540,-803738128,-1640246743,937501007,759773208,473109487,1784003292,-1704069362,767122322,1551505627,-1782417132,-1613749018,-1615284007,-864702817,-114278118,-1292399947,217242593,407770143,1420674297,1236929569,-412878899,1097743627,742568996,-1828610883,-856527863,-1853274284,2100374831,1212888705,-2082673670,1012000647,-1738177278,-1294588807,822567079,331590400,1003679800,860512059,-784181307,763867417,-629788027,377319028,1459243165,1866619724,-1282251119,1302660806,617037701,605603214,-1506091638,-1693159577,406523809,-1967535528,-1128317374,1287982798,-299405709,2013773196,283182568,-833502687,-1590136991,122756897,-1857680331,2142830386,-381689811,1375168069,2016023715,1081910968,-896700004,44938494,568634582,-789763552,1394214953,921281917,-1879870355,562384405,-1279569864,1628326641,-98053540,37065315,978375955,1442453931,551600456,612195191,1424041147,129601755,-694041793,-1613883374,1735669627,-1392360280,-1013728433,1615728996,-1074360670,977106697,-2137646926,1640997057,-481492280,1519087750,-1936800928,-154698153,85390585,-1676056565,-402889887,1808906308,1223183083,405120979,-43214637,1547980513,850731091,1580050751,1612665660,-765558385,-1526929366,451327670,-1318898953,-651015311,-87235885,-874369743,774424776,224869415,1463841162,109663797,-880917359,490302487,256896595,-82737235,-1025675216,1919490645,-173930430,142653398,541093819,1959837418,-778546687,355904996,1618518523,-480737920,-1387987240,1461035575,1891734891,163226831,-1523287762,1280628468,1288412599,-546033831,-2026999665,-544672301,620508927,-1594701236,2100180012,103340158,1155476791,-2127048008,-780035956,1332252426,-2145097360,1177399076,426217653,1088343447,-648712440,-1958292567,-1327601273,4167363,-527225616,383743036,-373945868,-1315206477,-2088807107,1911795599,1073998387,1173010847,498452199,982198881,-12604381,-1369898614,1476369288,-852557716,306925392,-1960098602,-585495759,2041428681,-601643706,-111744932,1000814550,-1011652539,1808088185,-928798954,558242517,-2105415875,-2069703307,1384850241,-1282445873,1866647068,1247854603,1905686499,1504690255,-1310332081,1621084772,-2107197900,-1567069496,1959050701,-285354974,-1285325000,-1766194269,2031767085,612713076,1335702400,374437785,-983017358,813381446,1502732346,70822581,-668344763,-694658549,2109508695,-1118431354,959598634,1917290059,-2017735603,311807727,-1264416157,561535579,-756031759,1630000551,-1582291839,-1849327476,-358481688,-1656715954,1493044983,-1084486424,-1385470928,625792127,-586119766,2064435812,-522343020,-647587681,-620646195,1826614169,-1632060862,-627118319,1281891735,-860788156,-798306828,269232402,516077972,-1582095729,-1432727548,-991775267,2099571510,2042626742,-417097971,355390976,-1432168384,1462267588,-1014998740,196082457,190751148,-498519632,1219466265,-130506710,-1340954260,-2062835565,-1703964395,-497847479,2138110498,70843011,-390114642,1788933185,-1802128953,-1160790419,-448725639,1703685479,-2063365502,-769334084,-2034217122,1735713718,-327379669,-1044489660,1589510464,-793718364,1235398582,-28777828,-225525748,860131056,-1327552693,-1514638203,-895323750,-1885488775,-465446222,-953444425,-801796064,-1909887054,566182061,463267827,-2023308811,1865633156,551169034,103210635,-706498198,-907260526,1936958681,-1604187863,1062418598,619406467,-1107429436,265174757,-51150528,315586111,-1887418364,-106711469,234057203,537479627,-929377076,1421222155,-2131008128,20993679,25387958,615628200,-1412436290,25108237,192206991,1747743621,-770800741,1594792707,265931129,1844899891,-1492829091,1451892732,1263207935,712341283,1326898681,278889112,-536267058,-1317077085,-1363323634,62886534,-819289660,-90607445,144830072,2002373501,-1191412846,-923830633,-252014571,1706613423,-1968057127,-2111627637,1551532423,-590497490,-1001228199,-1565709245,-363242936,124274905,-1903172100,-459665221,-1642356521,725351790,-886932834,-2048883438,-2107427992,-1805517091,-2139167998,1053843302,-317776561,1446465021,1137392708,-1912357213,-907082298,851888209,-1843060500,-995223961,-294368227,17510384,1384059822,-65730878,1920405471,2102377423,246809516,-325705852,-1111508435,459085548,1748607919,245987144,1442227220,-2022665557,353286595,564654506,-721628681,1511957474,-1233317169,-1921377575,235214924,-403571592,1563149422,981592919,266403387,256775673,-1931180891,-1394559479,-1251967666,270980473,-1059375091,-253099111,497661823,-944481669,2048760969,-1326107599,-1496629325,-352196830,-339358364,300609583,-44524348,-1363500017,-1807644184,1756613804,-976388206,393464648,1229963735,1542159806,-1856553826,-1531686818,1940107826,-1405255210,-740901081,1870646039,-846439036,69980966,1243227432,-331909537,-1040498499,-1258421256,-1754096047,-689686898,-60672183,495285565,-1618736095,-2083367912,1120650238,40860267,1422363935,1681763105,671265494,1886124974,-777479250,801304810,-2066168471,-665679475,1288056441,980324500,-1921410832,-1323376414,181419725,-1384550761,-930570561,-601400705,-1469037770,-1351686808,-1676832119,-249333303,-1274417003,1287881053,-2051380405,-232981122,263312644,536274902,1955148365,-1103577300,-1210536590,-620932299,-2060658275,-266302238,-1889277817,-300847312,66755518,1091475987,1755255231,970320509,-1245605312,-1279276970,-1484151059,-781160338,-807732507,1104398612,56640499,-1179809404,1148983823,-2075261567,-983442137,32590833,-1330628224,-1912095085,616928186,1643066518,16387791,669525970,982731081,1369609865,-2045680208,-1090017331,1394381561,-1034538566,-605665432,503055933,-1325779975,1608873654,1646976645,-20893844,347692641,-456639661,194453587,1954843486,-108652660,-747280636,640774585,-928929427,1436352633,-220240694,-214018003,1865231311,1147410350,-1727393062,-12623496,-2023256544,-1993932444,-2017477465,1257181366,-1369614006,1750067832,937524764,987080357,182251377,-1000391820,996901110,118550208,767293730,718731607,-1496851855,731021214,-286041998,-1103480866,731649453,706005786,-543721833,-1430406936,-1940093289,1962418020,-573475058,-592281567,436216694,-1408755872,-1611092727,-363003484,1749208563,-1791085884,-1186475367,69627353,504455468,778070583,681027486,-1285579777,-591178743,-556583349,-1190984705,-250022207,-776666187,1378458342,12296017,-1179503440,461050325,-2081322200,1282746542,-306748235,876369094,-1787075275,378994292,195456121,-1834513043,265277464,-1213190449,-248806277,-70969000,-223977306,-679071489,320713077,-238890572,-1153254579,-1718189796,1250789277,-648157951,-2017743005,-1959468168,-1649087940,-666761258,360088010); +/*FRC*/Random.twister.import_mti(10); void (makeScript(14)); +/*FRC*/count=243; tryItOut("\"use strict\"; a1.toString = (function mcc_() { var pzcuny = 0; return function() { ++pzcuny; this.f0(/*ICCD*/pzcuny % 4 == 1);};})();"); +/*FRC*/Random.twister.import_mti(34); void (makeScript(14)); +/*FRC*/count=244; tryItOut("mathy1 = (function(x, y) { \"use strict\"; return mathy0(Math.expm1(Math.tanh(Math.exp((( + (1/0 >>> 0)) >>> 0)))), (Math.asinh((Math.asinh(mathy0(Math.pow(x, (Math.tanh(1/0) | 0)), 1)) >>> 0)) >>> 0)); }); "); +/*FRC*/Random.twister.import_mti(165); void (makeScript(14)); +/*FRC*/count=245; tryItOut("mathy0 = (function(x, y) { return (( + ( ! ( + (y | 0)))) || Math.fround(Math.fround(Math.hypot(Math.fround((Math.min(( + (((Number.MAX_VALUE | 0) === (y | 0)) | 0)), ( + ( + ((Math.cbrt(y) >>> 0) >= (( ! (Math.asin(( + x)) >>> 0)) | 0))))) >>> 0)), Math.fround(Math.fround(Math.pow(Math.fround(( - Math.fround(y))), Math.fround(y)))))))); }); "); +/*FRC*/Random.twister.import_mti(339); void (makeScript(14)); +/*FRC*/count=246; tryItOut("let x = Object.defineProperty(e, \"toLowerCase\", ({configurable: (x % 5 == 4)})), jucorz, qoajnj, a, b, kgiizm, e = \"\\u1160\", c = undefined;var jyoojr = new ArrayBuffer(4); var jyoojr_0 = new Int16Array(jyoojr); jyoojr_0[0] = -0; var jyoojr_1 = new Uint32Array(jyoojr); ( /x/g );s0 += 'x';"); +/*FRC*/Random.twister.import_mti(544); void (makeScript(14)); +/*FRC*/count=247; tryItOut("/*iii*//* no regression tests found *//*hhh*/function mvgmpl(a, x, ...c){p1 + this.s0;\nfor (var v of h1) { try { s0 += 'x'; } catch(e0) { } try { s1 += s0; } catch(e1) { } f1(i1); }\n}"); +/*FRC*/Random.twister.import_mta(36982092,-357847263,1027144273,491024457,1975215662,-1228184055,72352703,-938277593,1887086059,-2065054818,846274517,-1797271992,1659092976,2054328378,520595568,2003416717,1843850920,-386866853,1558142086,818506906,2122554136,2133293838,-1953728071,-524306168,867573481,1313523467,1251270702,1179858665,1865280372,-1800193584,1079514139,2144289071,-1873304385,1704316336,258777383,-550059309,1973567879,295764912,-1192903439,-1504597955,836372123,-567592372,-420268317,1194745318,1248665718,-1537501051,-609641573,-1100537825,989796354,1810623429,-1992510382,-2070241135,75007566,401212157,-831126275,109365999,711528829,2036240645,1560552197,-77965827,48137858,195514391,2094426914,-1257212411,1347607885,-623447025,1006736810,-603032143,-1771710047,-1640289276,-1033478980,-1278811818,-1693653684,-804388164,1664878060,-1038192833,-435571192,-1358728323,-502643190,1396287120,1590316222,695467601,1509629852,1678497773,260889569,-215551562,-1360389672,1916558745,-730620432,-1491179620,573424454,951582374,1856622554,-580372584,-93973294,1602993591,-29174023,-1158980264,1421304081,-1686239262,-158435571,-904985250,-1386591091,10827817,220170982,1893754329,-902787989,1490235919,-2129624040,80085843,1842604974,933171712,343677671,-1056960310,1156376449,-223614058,-1716241599,200661188,194713094,1862053603,-740229261,-114284919,-1063833294,-1845691966,-523003679,1638152399,-384471440,374253238,1473704202,1474688825,1685744196,1686400366,-1005021661,681619669,-1374774454,-1602186345,635457743,-128218624,-1795143382,2123567002,-1566098911,-725118259,-1146040245,653983563,-1258992425,1389121184,-744430370,751790299,-1453021634,-1513422674,1820686049,1150096138,-567800725,633176141,682321836,432589270,765948525,-422509377,-1429000893,-1802740373,739226003,-1094059746,12450256,-1156024658,-1899729530,-1839243052,918334464,2065270350,-665544557,128950299,-1236820698,-60201755,-670016348,-1796117591,-1666814871,84475407,1550938846,1193946423,1686207042,-1555665640,-542708706,-1587083982,-1399587268,-147300017,-1914091999,1750137163,-165092010,754756124,-1119765555,851170984,-221531332,-370138238,1783160897,-326450575,-1782805419,-1915222267,819823431,151132660,-1277624834,-1179460969,38787232,-1935064455,129806023,-354267552,-1164188560,1606654210,-1276320509,1605589468,238276114,1696741418,-367936093,-1717437332,-1920929707,-1508474189,1249338459,996941340,927752958,946433025,587921420,1120885625,-1161779486,1502798649,-266679187,923546530,1014456594,1839028014,-1802713934,1920706686,-342297541,1819594549,-30499216,1120242751,-277161579,-704269647,764842734,1647838417,-1557702050,-1605299002,-1234443663,987636819,1455054887,-2079109643,-1032459920,-1616743566,254154671,1114920773,1817199759,-559355678,-437113353,1540238865,1676037350,-100498661,-30041940,-1559250398,-813460362,667888434,-505267804,251156156,-1967589749,-1879465269,857767848,-993887289,-239173626,136586421,567268730,1298022497,1390002308,-558021752,-780703891,313848244,-1207245838,1815450964,-865141121,-1817211118,-1324974891,-1288816230,1051116487,1917148771,-100084470,949520149,-1116505692,-2065600515,332768975,1107109407,1486798227,-2116325802,-17496789,872029786,-151508284,1086995255,-317119821,-1948271141,250186842,-736060207,-1548351328,225514559,-1436252845,775853635,545556842,1600359077,1000787167,-1997364352,-1063277954,-1894005674,-329034542,-1850722351,-66102054,1041588636,1177353969,1906538318,14319670,816360111,-1973317200,-146252128,-212107549,531044205,-1034985647,-51663067,1251415039,-1808485154,-1250754680,-1116560629,-1772311234,1787041247,542150013,590268371,-1961684505,1821747351,-520167957,-911447484,-535536998,-2077868371,793377162,1095601909,1177405933,1610558389,985646067,-1111695250,811546114,-240815855,519116524,-840895557,-689536528,1793563419,193489412,-768373346,1849499448,-1044897369,-321400362,421531243,223225178,1305285116,-777270819,530223918,-2002062635,-131778100,-579872312,255813050,-668377266,1210752365,-1776062730,-1505666554,-1870395152,-464019519,-1358618489,-723550103,1493589880,1189294763,-1869126159,420775210,981779074,1233798979,-1279674763,947140950,-1331744152,1904056740,1392439474,1122216566,-1079205895,376842901,1351691625,-233311457,512703272,-958215441,819225611,-11611148,-1323474908,1862267674,-499542,-746211743,-81328337,-777240011,1037065900,-995116511,1526470764,1180563229,1666720504,1982613969,-176425837,592439112,2059664760,-601621615,741832664,1652289983,-1491527161,-1020389510,-1541575474,-370285604,1722837243,-516065974,1512833095,-1967260283,1118546753,1821908188,-9222622,-1382923496,-2117267828,-1614486835,1808144954,-1241686542,-1417130409,-1505463703,-481434318,-1265252813,-1745168842,762791901,650651674,-852020357,-702972706,-693668700,1401381561,1541821795,-2011172254,155089121,-1145755833,-1891506987,-1353771220,-1617867214,-331146530,1551710365,-1732588335,-2078112125,1900862184,1125483688,445633480,1756569000,-10482867,-1758128067,1362722166,-1572805566,1323166395,711565817,-1652639646,2050724326,1421706940,-1450369624,1232723361,1362990464,-1154442050,-1257908119,78925126,1189382569,-2063487062,1961709599,916169225,-142423939,1539032492,-830116403,930626469,1768131647,-1952241127,924052088,1788877458,1001471226,1171012233,282319342,-1532655118,2127627436,-54636701,-1497700131,2137986459,1077384162,-628894542,385426500,1522562855,-586185665,1492638544,-759598189,130954066,249032823,-1812880945,1489087429,176597731,1562555247,2112973425,-831833861,1230546701,1283259063,-1213511355,-1266763762,1293339534,-972108979,-221023163,-2027340271,-553490845,2146078955,578309685,-458449521,1311575124,2070781688,-1088885838,947345689,425983856,-500973079,-926112894,1842845915,-1150130821,887699348,-1819827941,-790436916,-2042473204,-1824419093,-1811635321,-1181706566,-1434484168,-1856146703,1550530685,-47337498,2020891171,-508251485,-488052766,999679763,281386738,-1812076671,-1777811967,2035050823,-1560844127,-1414124224,-328496551,-1339829217,-880061082,-1696477855,-709419154,2132228920,254648262,1945674138,1956849687,1542249136,-1623152420,-1697012653,354133347,1675840109,1740457825,1371832171,165814476,-137334450,-1114923144,-68885100,4480288,-1288749331,1667371855,462948758,1551326421,744636258,836709402,-1170969627,-1536405794,696826581,-1828853676,438320121,2146303638,-1119133296,-2022878742,-1323570004,-1144771051,-1036031407,-294519132,1078867169,1539906124,123678598,1790186492,1703093491,-222682962,415531099,-735779959,-685641768,-971892567,-2107065031,652617510,1743589931,305574971,1787564455,895175638,-1462473091,804782040,163715718,97361778,-298714441,1215464151,-712826334,-1750647853,-360638453,-490169375,431329160,-566743915,804776336,1368507033,-767456559,327844349,1668134788,-1078854980,-1038103381,801684369,-1979971330,-1437196701,-1288495068,801883504,1317094768,192488795,2018127632,-1971990721,920460167,216446968,1648493662); +/*FRC*/Random.twister.import_mti(44); void (makeScript(14)); +/*FRC*/count=248; tryItOut("/*MXX2*/o1.g1.Date.prototype.getMinutes = h2;"); +/*FRC*/Random.twister.import_mti(60); void (makeScript(14)); +/*FRC*/count=249; tryItOut("mathy4 = (function(x, y) { return ( + (mathy0(( + y), ( ! ( + ( - Math.hypot((y | 0), y))))) / Math.fround(( + Math.ceil(( + ( - ( + mathy2((Math.tan((Math.min(x, x) | 0)) >>> 0), (1/0 | x)))))))))); }); testMathyFunction(mathy4, [Number.MIN_VALUE, -0x100000000, -0x0ffffffff, 42, -0x07fffffff, 0, 0x100000000, 0x100000001, Number.MAX_VALUE, 0x100000001, 0x0ffffffff, Math.PI, -Number.MAX_VALUE, -0x080000001, 0/0, -1/0, 0x07fffffff, 1, -0x080000000, 0x080000001, -0, 1/0, -Number.MIN_VALUE, 0x080000000]); "); +/*FRC*/Random.twister.import_mti(258); void (makeScript(14)); +/*FRC*/count=250; tryItOut("\"use strict\"; print(window(3.throw(/(3)[^]{2,5}(?!(\\0)+?)*/yi)) = \"\\u4C01\");"); +/*FRC*/Random.twister.import_mta(-630116706,854538596,-1260032077,1075727983,1582233674,-149436712,-545602573,1177352237,-1051003211,1680692219,-478018312,398571267,-603701929,1437586559,671192604,1951980565,-1041703762,-1860376479,-1242106539,-1098071296,-1604886710,-150432199,-979205770,1801187836,409575731,-972581595,246738328,-1603525748,657382197,-538144056,1809326899,1194991198,-1536322948,-851868939,-311065387,1808163454,32438585,1053772256,1164017684,1856677054,-1333472492,103952752,1072043630,-1114874646,252181022,-2054117382,-2060540808,1206935497,-1001498475,-67219100,1282472106,319110737,817714659,-252815334,-266111919,289570819,-543397445,-482924575,220759945,135700192,-840528556,-2057590481,914707380,-174746817,-226016399,-620665473,-1008543208,-459145722,-1197515137,982051826,-1754915482,2063485187,23367009,-96655121,-1894486728,430227862,-180865637,885594508,2035223206,-1950306387,-211793061,-800866131,230142964,-509491020,2040851257,-1913202594,-152061353,1895414239,-1904166927,165755635,-824013632,815453375,543419323,-289231962,-1374894655,-1397788352,5709251,-1901958618,-1009501430,-1424544684,695957528,2014240732,1831113925,1268322045,1735805310,1321435823,1917327305,-544594833,-1535041123,345095138,-10283889,-585387528,1542297245,1147545773,19049682,-860794353,-1478939253,-855562111,-1012826251,193636893,-780561393,-204719742,-1742954707,1864575395,2056994387,-1601301313,-222837279,-2120942915,598161842,1851133279,-814769839,-1016028691,753687062,-168842681,-220389881,-616757686,-1345314175,-595027308,101052042,715933038,1490900217,683365027,2052463461,1224295378,-209196495,-60330751,-1334296694,463457497,555557325,-1679219784,2041205557,693902902,1359991978,21894837,1862741638,-395948408,-73118229,-981268814,614395684,1921316718,-461367013,1075487176,-1365047878,603989388,1387772412,120130261,300874821,-2063740788,1626016567,-1085308851,-827017096,-17447418,-917487886,-1464436611,1724362312,-1453987707,193350376,-1987800268,-744727331,-2120054613,285062776,226551122,-439635970,-1253572557,-2002524023,-911322619,1320867157,1401720496,-1904474996,-8928969,-158290696,-892672039,-928988212,-1042267442,-1251433734,-197313878,-1403690361,907772199,-871119086,1156215586,1903029076,-1834719893,-521009902,-890582549,-2057251702,1647729087,1986798438,-652096612,493286789,-40784745,-1634634521,-868071160,-1452390910,1132656718,-542522459,879659758,213913121,-1143774619,190594375,850105857,-1153399757,-1434651726,600585921,-1806794826,1290256,111203745,461361249,1991631964,-572658143,-1947066229,-1200342865,-251976609,85831519,-1984853372,-298300774,-792110182,872798616,566183199,-744090123,1850850715,-827407782,1228628644,998892972,527656870,690909980,450258893,-1848068239,1269234030,65483246,-195975419,-816709458,1735617893,-1753200588,1769285539,-208947691,400541671,-1735345770,-141760343,-1714520092,-33706584,1984958409,-1783970602,-1227046661,285807492,-2123835121,1812815958,1106511226,1094176893,1332234666,602105751,-879323584,-1338493442,-867737485,1151675085,510083844,34965929,1540640394,1903465007,-700330748,772073777,731275067,549525481,-1464556589,1792772013,-472215350,-346376765,1374392781,-157640650,2083914859,-1727958478,695401741,-1242331812,1746508744,-1841701304,991020230,883272713,-190902260,-2027660845,-867746674,-2051056687,-29066961,-279201785,1579754429,-2096521230,-451300677,122201291,-724951197,1233028348,-393053430,232453103,1627204924,2090083297,-162334962,373995001,-1507687754,917481606,-291742274,849458656,981503696,2061145215,695421692,-450718882,1088801648,-1988629598,104708368,1599406886,1146439872,-2146654670,483977982,489601416,-1870487180,819115451,-143788790,-933870624,1769800042,550924475,173001685,-1488154738,2093070767,345316843,-73473617,1783753770,550121309,-1575151479,-468128178,-1262489367,-1302459887,-1491960604,643075688,-1631875712,1237688669,-884577694,-280797912,1877609556,-41523621,1292948822,701087618,-478464266,1047355268,670952813,-1496381628,-1163978113,807303541,1633288733,804252287,1787216182,-1865061148,-912369954,1680937014,1729395236,-181088084,1934852564,-1604488790,-1472747842,1663107083,140663188,-1164380541,-9130986,-76563549,-531631423,-1588764699,541111058,1377803040,986107697,-98275512,2081447734,100339427,-612619954,-1328494041,1245198066,-706825143,207591082,-1133091046,2089873523,1054579677,1363614283,491852922,1828844270,-1353566814,-198066098,531576170,819729828,23109765,-2130544844,-401368951,-2121078086,-179013307,-89312550,1025400823,299179778,689851950,1895730678,-1942421,1896052292,88452924,-828734518,698155150,-2089573915,-801879776,74208312,197839653,-993111965,931096940,-408417892,-106393066,-545795297,-75933120,442586427,-101195975,272172177,2115064709,-2123420229,-1079913200,-222429158,126454057,1254194707,-1302787186,-391054968,997483929,1010536629,-1734669360,-1492144431,367282362,25683909,-1886720847,-1377531842,-533091648,-740541816,-1151565421,-576031933,410132373,246213665,2075991378,824251199,1651731080,543797294,-1553143221,-1511229712,863074484,1195870716,868974223,-323445425,867648330,-1237272509,-2089381378,-1099172061,-803488862,203059031,-461237148,-1487880065,1157272218,478051925,118421936,708188906,1137644953,297137431,-1959189165,1745196992,-1389975084,1899983398,1232006738,-557163444,1554208197,754463450,1073977961,-172649908,1302963390,901191264,197758002,640458947,-463374663,488848545,-611022530,-435945315,-16057121,-1295209741,-1663718893,1229685309,-368612871,-1429469772,-22347852,-33142279,-662067586,-1386361500,-1752601979,1584749249,-2057693399,1283512593,494393493,-1221011958,-1343710210,-278171790,1128523240,898482188,427418756,-125336055,-1015682568,-1179017889,-578620230,725135694,1116841954,-400874022,1752033108,-1583296240,1451380852,997855343,-1154905054,460776673,1183404425,794644556,1204542628,-310673982,-1749096492,113701052,-1395654528,1625390981,1476519247,-1883219761,-1114801871,-1818796611,-1036852330,-856093439,1227109658,-385183139,190702893,-1713788412,1462565159,651370130,826732968,-1822381794,563019339,-1393841537,-289436596,1084512422,-1142645099,1109206338,1625082690,-794783772,-1337091566,534006898,-979744981,-565305377,921136906,312499672,593365667,787979968,-648417186,-220195451,-1102495479,524079126,-1128748991,-1481750853,-332265793,1991552452,1594194195,1366061370,1737762607,1679895675,-924189279,-635874090,-1004327182,-992250356,-1736825436,-1697415527,-1997815526,-999496945,-4127954,-172223273,274801589,-1609722953,-854279663,893538196,-404470057,-953249016,-847291491,1725423503,-922470496,134553880,1502744773,1921408156,1149213284,-1957823196,1152949840,210522134,-1467000610,1253042736,1348962166,1904259012,301361360,1304913534,-1027499589,885555807,2028886857,-908545779,-2098874020,-415946593,1836618826,1231722043,813334818,541339738,-1091121809,950583329,1617303652,812221237); +/*FRC*/Random.twister.import_mti(28); void (makeScript(14)); +/*FRC*/count=251; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"(?:\\\\1(\\\\B(?:^)[\\\\n-\\uc8dc\\\\W\\\\w]|(?=6)\\\\d*?(?![^]){1,})+)\", \"y\"); var s = \"\\u31af\"; print(uneval(r.exec(s))); "); +/*FRC*/Random.twister.import_mta(880176732,740831908,221665190,814238031,190314184,-137006685,2065480701,1370903308,1787622296,-996836551,675633540,-1978338941,-502643230,1025410336,-740666589,-552193476,-1601850709,-961125047,-1847795126,2042015531,1644124710,-1293612645,1908518086,-1628001437,2126850606,1881481120,-140634022,859262803,-259941765,396229382,972839444,-339667449,-273844940,-1851580112,-192144252,643701075,-304503574,624511267,2106862668,-1441046012,-1414930128,612855470,587054784,-552012065,-1513620180,1467161222,-76056322,883257380,-803495796,-2046699883,1129715071,973773757,-438476978,-110422686,-553313025,-847537840,-642633712,-1108371053,610467678,-2053133087,2118718136,1748226414,-460984132,-746557464,405839663,1380331078,-1005566144,1177652766,-482376998,-609700591,-395445495,2100879883,54977751,57713670,1353457310,-1533389918,1884460588,2137559242,-1923280354,1803661345,-1725118647,-335712210,1106220668,-1397478639,-667864989,-1092863951,-846438678,-565481138,676184042,1792598750,-185414432,-2098149072,290321680,711959686,1265927169,45594368,-514509426,-1629429414,-414761767,-932702689,1967975891,1167954756,369635861,-854467829,1081030769,2024086853,462450572,1556171412,339576624,602090929,571277805,-376855804,201552515,-1350972009,1346074282,-1985494030,-905583469,-509482015,608855000,1925288736,-1067482722,142871539,-979266240,-422279148,1632935770,-2009156229,2019695761,122801325,-1789286881,93778005,-473561912,285179010,-1935526480,-1481776264,-2132410649,1499350603,1753398774,-271386683,1974951218,-311951380,43336001,430883932,-1209271212,1660528209,734137182,286796511,1036895470,-2099526380,-1808974888,-1292803998,847057289,432086013,181342875,369977608,-1730638533,174398054,577100799,-374609657,2069847797,-879462640,-1330782464,-1491330865,1305763508,-322855979,1154624106,-1491557897,283030942,-903659545,-1470566855,-1107055518,-1919224186,-622764432,-764453641,-807698587,705430054,-1443814453,1920394334,-1346115678,-2001369680,803929107,1658937042,-99866018,431350800,427453033,956624849,1714421713,-1290454591,-1881816228,585085771,-2071374510,164747236,1949385299,-1057115440,-1751061652,1331483329,684083019,86762308,-344541164,77784606,-239943158,-1738562702,703271500,-1896118090,114290721,1667129636,2140049379,538752472,2134151875,-311456604,-2044228134,396462912,1161907153,738597465,1948108982,1862256424,-410588026,1295626464,1581455136,1734890304,-372218228,475328482,-124507491,711135105,-16837273,-1561322962,-187613045,187920667,-2087704173,-254176706,-939197650,-771920961,-791572040,-217205535,201367216,970129089,814620500,1296197993,-1734417503,1681170321,-983751473,1501770866,-836853259,-793804305,-1273853147,1389749872,3672365,476435356,1611449041,298150598,375958673,1950854414,1963265588,-1651032914,1465086863,-506454913,-53885264,-179093619,1964729830,-1790983981,227394063,-1686748325,921357350,1859817617,1952807090,1396701448,1567502065,327695077,-1944205851,-1401000518,121042400,-2029720544,1525480906,-1406582977,-196814468,-1398340561,-34502711,666054493,1752626173,-201302022,1763622924,1879256649,1381498313,555674201,-396396427,1363833773,-710965401,-1093476102,-1722113966,1689479287,691289829,-914772666,1815892683,1532674402,-1718049501,-982783803,-646968612,20064551,-1907464882,-1494220996,-445880161,-304756518,-1498398817,-1524720549,-1680408658,-1513852304,1043377520,255783519,-1385825588,874035462,1905328354,200706622,-484946972,1827787282,-560128079,-2061720307,520327477,864565294,-374174840,647312336,99897454,419360041,721838521,101466833,-1572083450,-1320525623,-982673223,-932297466,991991980,1258999680,508125871,208679177,2077868788,479083701,1865346873,-710753770,-2012032507,809855606,-983208475,2060164398,-1463504245,-632210558,-648621605,27393897,-1207331916,586589002,-462563825,558411090,-1820997974,131714355,944502065,-1015562971,385167822,-3427503,-542531741,1641653766,-2118288930,875260718,-1125078262,-1710671125,-1614432750,1676336792,1105359490,-251922534,-427952106,-627992738,2111695680,-1985424253,1888340314,707066190,-1921936382,458254011,1005368203,1157888384,-715787212,-2031425058,275378246,-850708887,-691897209,-252816830,-1017049674,1177366657,-1311293269,-1911632607,527952987,-1750874468,-525702821,-433429577,1909263052,-1040186442,-30165937,-1427222400,1525225959,1079535889,-1766078289,2072511005,-1494195196,-2004658923,-1707873193,-1594245545,-1648835006,-675973705,-1279991109,-1452271535,-1619552059,-284519681,1796671949,1388078462,-1519992330,-219765281,221954823,553987218,-1610780357,514737395,-1313345953,-1466400071,1980838668,473445759,1640756084,906455119,1544578973,751793026,350447223,454181765,2046798415,499507524,2032028478,629856328,1034746929,-117497637,687575467,-1619995101,1015974828,114397166,-86982253,-1017340651,-196933277,-226496226,-753727149,-1034669228,541826993,-1097683199,604889973,2119020475,-738953625,145838911,393512480,-2143388728,-655220748,256484323,-11358060,1621218216,-1624337273,1967749579,973784159,-1817906812,2020038596,-1695367082,-2008688667,-210610874,1944107897,-1554751288,1611226980,-1297681494,217653654,1588308207,205079104,442016699,1807892032,79589653,-1294808926,589628624,1364368040,354616408,-1534400113,-237074299,-1924052816,1651140465,1658124772,228243239,-1189065849,2016828841,378078786,-357179427,1280983654,1338092736,-202698100,391530815,-1634564798,-1124848488,-975004910,-1543743939,2130034071,-1218142624,-184159147,1282613315,2065434732,-90471391,722462723,260767504,-746831643,307187039,-1058810096,-1419812485,-176215360,-1639649726,1873142961,-1772741541,-407866660,1238079180,1995089830,-1612001332,820740441,-816224415,-1301409096,1007801225,84515979,-320847723,-1481058533,966789740,2048004755,-1382729778,-1319298193,-912235948,1785921821,184278438,-1149552339,836741680,1469698241,-1323395143,-2030341623,-1385479857,-300220006,2102646062,425128479,1142814161,-2129593474,-277242790,-868710791,870012389,233350105,568928750,-510738560,-1299289916,-282166681,-446800246,-737411172,379445031,6133245,582366518,-809267925,758549734,-971659537,-1522551574,1284815507,1512966669,2070194721,907617629,1414986752,875816141,-1488211969,-1727967223,-1898875501,-2126316311,-1193091080,-769744251,1449616641,1220282518,477965273,-1765230128,-2030756970,1926627382,-840494902,-1623752467,-1748852476,-1144783305,-1390711173,-1823222829,2114712362,2079955877,-1646648280,-1111219099,769963220,1440511565,1885244323,1204709970,-437666948,2081623206,-1294794851,-924054650,259594829,-1126375460,1886061802,508207812,1981794706,-1695639998,245818014,-915209074,-1366172154,45063621,1731998898,-789378394,-457791754,372234317,-653485562,-1282045537,-656567815,-73311660,1322648809,-1758137452,912699683,-602202709,853302247,1565425922,-1487356135,-1688261028,-1262728813,1133399949,-1294790639,1254818250,-970211463,1407653984,1270550063,667686209,-1833409989); +/*FRC*/Random.twister.import_mti(69); void (makeScript(14)); +/*FRC*/count=252; tryItOut("mathy1 = (function(x, y) { return (( ~ (Math.hypot(( + Math.pow(( + Math.tan(x)), Math.fround(Math.fround(Math.imul(Math.fround(-0x07fffffff), (Math.pow(y, y) | 0)))))), ( ~ (false | 0))) >>> 0)) >>> 0); }); "); +/*FRC*/Random.twister.import_mti(185); void (makeScript(14)); +/*FRC*/count=253; tryItOut("for (var p in v0) { o1.f1(i0); }"); +/*FRC*/Random.twister.import_mti(205); void (makeScript(14)); +/*FRC*/count=254; tryItOut("/*vLoop*/for (hkvxud = 0; hkvxud < 47; ++hkvxud) { let y = hkvxud; s1 = Array.prototype.join.call(a1, s2); } "); +/*FRC*/Random.twister.import_mti(247); void (makeScript(14)); +/*FRC*/count=255; tryItOut("/*oLoop*/for (let yjozlf = 0; yjozlf < 39; x, ++yjozlf) { m2.set(p2, null ? (( '' *= new RegExp(\"[^]\", \"gy\")) >>> [[[]]]) : (void options('strict_mode'))); } "); +/*FRC*/Random.twister.import_mti(412); void (makeScript(14)); +/*FRC*/count=256; tryItOut("mathy2 = (function(x, y) { return Math.exp(( - ((((x | 0) ? ((x ? (Math.log10((x | 0)) | 0) : Math.min(y, y)) | 0) : ((x === (( + Math.tanh(( + x))) >>> 0)) | 0)) | 0) ^ (( + ( + Math.cbrt(Math.fround(0/0)))) ** ( + ( ~ x)))))); }); testMathyFunction(mathy2, [0x080000001, 0x07fffffff, 0x0ffffffff, -0x07fffffff, -0x080000000, 0x080000000, Number.MIN_VALUE, -0, 1, -0x080000001, Math.PI, -Number.MAX_VALUE, -1/0, 0x100000001, Number.MAX_VALUE, 42, 0x100000000, 0x100000001, -Number.MIN_VALUE, -0x0ffffffff, -0x100000000, 0/0, 1/0, 0]); "); +/*FRC*/Random.twister.import_mti(615); void (makeScript(14)); +/*FRC*/count=257; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var ff = foreign.ff;\n var Int16ArrayView = new stdlib.Int16Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n var Uint32ArrayView = new stdlib.Uint32Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n i0 = (i0);\n i0 = (i0);\n {\n d1 = (-1125899906842625.0);\n }\n return (((i0)))|0;\n i0 = ((((0xe0bf64a9)) >> (((abs(((((((0x4502dbf1)) << ((0x257c10a7))))) >> (x **= x)))|0) == (((0x5f7101e8) % (0x76a9d24c)) >> ((0xffffffff)-(0xffffffff)-(0x8cd3d3c3)))))) >= (imul((i0), ((((0xfb5b0c17))>>>((Int16ArrayView[((0x374eb0d9)-(0xffc6a0d3)) >> 1])))))|0));\n i0 = (false);\n i0 = (0x337119a9);\n d1 = (d1);\n return (((i0)*0x54b88))|0;\n {\n return ((((((0x9dbae297)+(i0)+((+(((0xffffffff)) ^ ((0x252cf2ef)))) >= ((-262145.0) + (-536870913.0)))) | ((0xb796031e)+(i0)+((((0xae8223e2))>>>((0x93c3ba51))) != (0xcd82534d)))) > (((i0)) ^ ((0xffffffff))))))|0;\n }\n (Float32ArrayView[(((0x271fb9d) == (((Int16ArrayView[0]))>>>((Uint32ArrayView[4096]))))+(0xd6b6aa93)) >> 2]) = (((!(0xffffffff))));\n switch ((abs((((i0)) & ((i0))))|0)) {\n case 1:\n d1 = (-33554431.0);\n case -3:\n i0 = (0xc9f3c6b0);\n break;\n }\n d1 = (((-2251799813685249.0)) / ((d1)));\n return ((((imul((i0), (0xfb59756b))|0))))|0;\n }\n return f; })(this, {ff: arguments.callee.caller}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [Math.PI, -0x100000000, Number.MAX_VALUE, 1/0, 1, 0x0ffffffff, 0x100000001, 0x100000001, 0/0, -Number.MAX_VALUE, -Number.MIN_VALUE, 0x100000000, 0x07fffffff, -0x080000001, 0, 0x080000001, 0x080000000, -0x0ffffffff, -1/0, -0x080000000, -0x07fffffff, Number.MIN_VALUE, -0, 42]); "); +/*FRC*/Random.twister.import_mta(-347561513,1716645192,986048841,916522274,-1419970625,-1302239743,-1702859213,2066778769,167245516,-1407051595,-1568159838,409258213,270364004,1334538205,-1554067674,830417808,-892607936,-1119817587,651851651,952565085,-189123195,-475324327,-1575971409,1584611723,2045747545,1016518877,318810985,609233747,939562270,-1826043687,-2121332115,565875154,-2140112036,-1001397233,-2146990019,602638470,553347243,-1885038772,-1323028648,5829760,-37650834,58534847,1696180787,1202751553,-2033564860,385549691,-1669342038,484940521,-66738203,-693471709,-672247156,564151122,1528404549,1908536099,-1632136527,-660430056,-93796059,1621114770,-1108169539,1845892030,-1554564576,-986145824,561956236,-2865742,-753928887,-948415555,303978714,1896887051,-674090012,1287551811,1672656035,-654474797,-1715048628,-1298089173,1165419102,455256421,529972611,1178597053,253526489,330807456,1498711056,-1130654332,-1460383033,-357046939,679663771,2146170152,-253585260,-2123555021,1306228897,-735731187,-1710177482,-882927949,-1923209102,1484178585,-881536728,-818766523,-1796180947,-1443769039,-513346081,-1003862336,285854535,-1620545573,-599565866,-1923591332,-2119636063,278767713,-794728123,-74715436,-1809333111,2022470943,160180220,927905494,1504772179,-1757843101,1280826380,1361957726,-1066827307,1270701950,-977448435,272171197,-935697558,1563560691,-1539857075,-1697163499,-401079432,-181626944,-1181487697,734549153,794473987,2025263411,-1039455773,-1586285227,207361871,-1290841809,1799374992,1903606990,86191871,1451221643,-527678328,1977752280,-1320112224,195412648,-372376153,-264549824,454412948,-537555279,1023222909,957649141,1337676533,-1772215979,-571295704,-1608274462,-1671853307,-2142637563,1501256931,-1258736879,-1342295732,2124503973,662773901,-695211080,-1511418001,2085276077,-533419077,-192110957,-1268454977,-1586307045,1517877601,1486435854,-1580827722,-1546765329,978002937,194648226,-589538181,204805807,547336309,-30061947,-413662621,-2023173360,1609395680,910197404,-1339516544,427158096,25719017,1278776275,1086891097,1498952856,980896108,331392673,-623303791,-1252989950,81746710,103371638,-1669878818,-1672856784,23221817,815951891,-144875056,1352243373,-1853277747,457606975,708876201,-424349112,-568989472,-1101981803,-1350887885,563550361,2140768905,1430508116,-92149585,-1173902476,-415497208,-1725481119,-536256782,1785796223,1687879138,-1557932699,259218283,-1515956032,181742152,-688056163,-268414400,-297104170,-1429453574,-779663032,1644876653,-1739588754,1063182705,326132993,282117845,-17401199,1313686831,-291001685,-1421354625,579677344,-1782154692,-1726758326,1544672021,-22735511,132039986,-1629063353,-703114492,-1456725188,540566558,1869771125,-1279726007,-46767183,-714607488,64956679,-1685386653,1334810039,1332640371,1355907585,-304584210,846468246,1290332033,-1057716711,189379499,821321598,-2097223379,-548297627,824259446,-2063566628,-1232163595,99614433,-1218077270,880424530,-1293451213,-1248217844,-791475608,630865290,669296890,-635405063,-1400026118,-1076255605,1597073291,1339691902,-1512730457,-210082643,819416509,-787121405,1238089165,-2064899038,-1634813000,1514735449,2126815001,1883738355,92311141,470715301,-629754121,769115793,-1919430199,-776278933,-850001233,1406693036,-123566599,1996123416,590281537,-2123391004,-96616779,1616842196,1877224753,-1945187635,1070392588,1268946458,-1599065435,2143266159,1965340184,1938192932,1012396220,799656514,-1174649693,-326070381,1134000484,-1772774100,-288579383,-1742144197,-764043756,2018249978,-1450258114,498338525,715571017,-2147407558,735457211,592182731,32681329,440189472,1258345775,-1915465666,-1500629719,-1223878217,-199003992,-978541730,-1317900290,755245977,2101110221,1608409465,-1232309468,1146625176,-1526910928,-2121013543,952227417,-2097898811,1414221895,2078567892,1037819559,2114933589,-650466721,505157360,98014873,-283814641,-544957656,473064049,742122836,1817959484,-275364263,-1183811532,1564618918,-1101167913,1779954678,1714162846,1005016358,1985377151,-989727401,1698134411,1128271232,-952962868,1595725472,-434397369,322691966,1757294549,-1719748296,-2122563041,-1989216080,-699692800,1618715350,1574594085,968348020,726584776,-11655814,-2139013614,936721427,1688210303,1488817422,-1005291103,-34577620,-170051697,1349483478,1720022791,316716264,-406939853,-365685149,-640118552,140636230,475648707,-343518621,1442763257,1727692474,-145329908,-1745639678,911576311,-739352333,-506935403,1349169120,-288029176,-1573610983,-559033569,-17616807,1568372007,1426289045,382993761,-1109256274,1787701912,1679849823,1076331579,-225129564,-556389146,633119124,-232864970,793655403,771660226,1904347305,502680950,1442923150,-985333319,-1681104979,-1865927627,885996790,236128099,709726542,-1046980847,1204907101,659754935,-83630416,-1785428089,-46942906,-1694909074,-1339183282,-1883956040,1161516717,-1338244769,2045358892,554341549,1354756958,517732637,2089372551,2050732427,-228330806,900027856,1061423721,969180112,758411472,-995490749,9573574,996321933,1962713373,-775131135,-552481593,-1613380788,-477499507,-1973210664,253846022,-1056542165,316228760,-282310619,-1466583261,1117013877,-2067916399,-1707643606,-1953001966,623611194,-813489322,-1192881535,-819905262,1536339825,1504462057,-1155654112,-1376624631,482282245,-1838227837,-532928110,-1675545554,-833746155,737213998,-1882059654,-1461796787,-15302563,-1353879430,1816130068,1031042306,1355988876,1830965043,661193449,-826491097,1587541659,1995143126,1698335184,653989367,-958172984,-287455108,1187246271,-1171497829,1639469145,1117531306,2026891199,-1627419147,1481400293,1768652790,-176952811,-1722998462,1628744702,1009940557,205241148,125448431,599796979,1843643061,-1605175735,1326892823,-304834183,23201893,-408204023,1618362447,-570418180,207909970,-672375368,264592943,1486298451,1074602514,1184010009,581462626,-106112548,-1177880553,1290670677,-879291363,-889506144,-75344935,437869738,1368289038,1010902307,-101703105,1736989384,-599719259,-1239230011,-1383833636,-517513750,-1288442736,516168572,1559959008,1191346108,959562446,-768365423,1689725384,-1773100038,576823276,260015352,-922522976,-897724197,1153648725,-938549044,1919178515,2142088554,628965071,-1783408342,892109976,-1734785809,-1028942586,-1512237936,469970471,797738841,-370479906,-614684749,1915259230,776861503,-406194705,2012971852,-1603612687,-1145551130,793062164,-576594401,1390797521,-1638548747,963123340,2069605926,-408839096,1640857580,1678203413,944464386,-412113551,90046220,611811175,-731591381,45188686,-755982288,2134856135,-817687904,973397596,-1190590986,1558901350,821884851,-1776174878,2144376787,-1929757986,-161544533,1876584701,1977986459,-1558516035,102417512,-644565024,-1588328926,49923046,-724927097,1638212051,-486826797,1096215322,-148594253,1082584124,-1519196903,193911574,1888131581,-1063440473,-1088914433,-2046356351,280196847,1464036935,-900292978); +/*FRC*/Random.twister.import_mti(66); void (makeScript(14)); +/*FRC*/count=258; tryItOut("g1.valueOf = (function(j) { if (j) { try { s0 = s2.charAt(v0); } catch(e0) { } s1 = a1.join(s2); } else { i0.next(); } });function x(c = /*FARR*/[...[], , \"\u03a0\", [1], ...[]].some, b = ( /x/g .__defineSetter__(\"x\", /x/ )), x = this, x = x, w, x, z, window, x, get) { \"use strict\"; Array.prototype.pop.apply(a0, [m1]); } s2 += s2;"); +/*FRC*/Random.twister.import_mti(347); void (makeScript(14)); +/*FRC*/count=259; tryItOut("Array.prototype.shift.call(a2);\nlet (w = -19, e, ijlwik, b, z = let (b = x) window, NaN, \u3056 = (let (z, x, window, lfrepi, x, x, adbpuo, vepibm, x) window), x = new XPCNativeWrapper(x = \"\\u497E\")) { e2.has(o0); }\n"); +/*FRC*/Random.twister.import_mta(-2072082520,328852345,755306086,1598598131,569427018,-2078136282,172356511,-1496358529,1370779546,-1347366008,-2008964726,1561184039,-1474756016,-1404211139,842121040,1095075967,-2020651870,955334842,1539170967,-2031547511,449045445,-414268829,-607155752,-729978662,-1699376697,-964057115,1315284175,-2016668382,5562502,-318764769,1590579082,712355040,985077193,-1629874020,1990642676,1920393786,-1840853983,-1516133654,-623524050,-1899163527,1459829176,-289459349,183301536,2056032910,-209738033,1585454347,-912227146,-612161366,-2006566331,-1718297716,1702196345,-1950320748,-1741895010,-1150875305,-1459923505,-458309493,1261614404,-217233508,-1496352290,-826650153,-45510980,-1288270517,-1249307903,-5363587,1001581354,1540778229,1319952767,-2088980783,-1111242229,745534239,792796444,-948651596,-445423504,-1388817799,746583788,1508037388,-511318800,-953502502,-1295662480,-2124930559,49463751,1595688767,208628735,1365829820,-239341183,327266916,1449931580,1463536834,1275912580,-498789919,-1869051502,2077974843,-1511953121,1217931175,-637993836,499922414,-1821397796,-1622098458,120564400,-143179637,1348466682,-2130942825,7330065,1676712340,-1325517642,-205248297,84545749,1306845038,-1123887691,1840081928,-288050818,748491188,-209673328,1511626315,615338643,-1102692134,1176404812,-701113492,1900463816,1795946146,440741087,-1972278756,868767324,343556595,-1533652964,-911920550,453035831,-2124368399,-37477099,-134216132,-1893489300,-40972006,2032386452,-865412001,1951747122,1343108029,2026665786,-876318307,1625838022,1227241694,2039727223,1411279923,529924072,-1848907793,13676098,1794276669,1688577359,233239861,-1931232503,839010804,387164493,-300566637,186639692,-1862125722,354716333,1973323594,-383280651,1137396281,-516283129,-1891683523,790836421,-612978159,-1662823684,-431490353,1543674360,-1055373065,-1261051928,-766990115,1832040888,-668070140,708938504,1586262588,72260667,-76553797,-2006981982,225264641,877652676,-811828991,-1600649304,928081876,-1860490441,-886478214,557925315,-2147157377,1475851370,-90556162,-249193373,-798786814,1659047939,-1526724358,105469623,709667464,-1706962765,-620225139,1403594982,1150411055,1040674345,-1412894107,1839396534,-792589971,61247127,-114602862,-1175409466,1112473880,1067203128,-920773274,1598309553,122858037,1528369618,-1442138652,1959733581,1929211039,955926119,1407737634,1784858302,-1612188048,-436826669,99383576,386193800,1938747958,128966550,-1778709030,-673456293,1846201832,479497048,-1847284192,1525030097,354309149,-1242927378,-752149458,-250360199,-312764374,-714817930,10931841,-364478374,-1498138929,166390243,-877739245,-881439653,-1022186542,-119840349,1647152479,-269221862,123439961,-547176003,823007447,1577988053,-1911630293,427931751,1701839934,1696405765,-1403411152,-1615614546,-249993264,1052698353,-587691636,-176544096,-960918589,-589967859,1646759026,-1671813902,-1259786927,-1450594923,-1980497164,-6506045,1521399784,-738080001,1063959692,-1133367890,421437917,-829154259,-1522990286,-1738244207,1060145068,-59891435,58999497,2032228613,-1542036872,977435338,1707189415,-1190061242,-407107565,277017592,-312980969,1378238266,1023905331,1505076442,1232758040,2094391004,709511994,243003031,-1005495646,842686371,-336260260,-134113187,895223668,752368877,-883461479,-1218756770,1267320375,842500032,1939440746,2083756033,1758809469,570283698,-2007524996,-1197793517,483998105,1221108254,-1986397839,-1104666710,-1871688397,413891826,-1207774329,-2111372672,624307854,-1637673060,-2074091251,-1408641910,700088932,1217966906,354114454,-1788773420,178145979,-1840325386,-1146654472,-241342316,-1710203471,1114790035,2055102789,19318843,-397999287,1011780036,-1566797076,-83665139,-1505432537,260137540,-55957146,-178499065,921237603,-1033147402,-679458193,-2085325264,-1040458560,1882898969,-992795848,604372442,-2119805108,619933764,1544166344,-1016348652,-1299471690,-7807932,-1245489980,-573011477,-1822081722,2116450184,-98018153,-828844203,1691380487,1850299711,-807598522,-1147322457,1500279290,-396555781,258357910,-484227166,806237640,-112604410,321561460,1216181823,1147654682,30915005,345535524,-1174178056,-1875356749,665136912,682933232,-1370150758,-906114150,979010054,964316202,-828634299,-1746950045,-1607638751,-1995597588,628439137,643002033,1906395479,1894902034,-1968459077,405955035,1446777161,404637190,566194430,1582270181,-477808766,1639471241,-1666317160,-1263461219,310588078,-529877678,973588229,-61008105,969023569,1189687131,-1058771560,580002594,1498142741,1068517396,-180097229,-51431398,1132546620,-932185679,-1089966735,809320649,-1676711583,-924386723,1018422889,998794296,-705479882,2024376737,-12857044,-353767136,2057590944,935684301,1321417219,377505328,1089460165,1125165623,-923912676,35506528,450686586,568172050,1244558466,51365493,-305120328,-1889914172,-202646289,1141809137,-630872661,1111310097,159562273,1119525071,-1577512702,775233773,693917918,-2130351491,-1994830798,-1052645581,-715686122,1558020411,358435769,-107938688,-1527718718,1131034706,-1665008248,434080096,-1469447994,-1829499019,-1188214965,-1557519850,137011714,-995589459,871125110,1344401484,-1912005305,-1122982230,817384386,-936013391,-1038077242,-1192075468,-976224336,-338641538,-1820206789,-697288516,-1306054301,-182270309,-599281159,-777832519,255251077,1799789030,-619606095,941487705,540703538,-1955367376,339244408,-2099241357,-1669303657,101726931,55063391,1103779471,-1393951622,-277581548,234354788,906434442,980359609,-1174734829,1599097778,477815043,-689692833,-585091264,-1494548023,-279564512,1362689365,251118897,-965680782,-172520473,-1758044692,-1751941375,-347760759,-929851502,-1242617707,-162728609,-1067733277,-2108289656,-2052540583,-675128710,1858882809,-620114085,-990568798,-1103912332,514468264,-231595227,2115259631,-1755468201,-238538396,593736433,1330636932,-1176611627,-1750403960,-1656820637,-316014036,1548912160,1372952524,1611634073,246537023,467189354,-474718121,-1350349441,2048593850,-723178130,1436909691,-939859500,-885134157,-2106302854,171687354,1409307229,-1526055679,-415568080,28711750,-1015147776,-1139232124,-719528508,1713767683,-1189393306,1584992547,-518237331,-678308356,-1208441220,-1471857031,-1584063167,855703183,1859430599,-1371233490,576026059,-1205466352,-157409895,589736297,-90164577,1339398016,-623474639,-1087446370,-1388827907,-595954625,1934747086,-338541544,856785315,615108371,-1556295678,-2006023209,-301447217,-477920592,-718443939,-435294826,1680323890,645829761,-444966317,2095566860,-87688064,1880367586,248123847,684176326,-1105123188,747288371,-1757629899,-1839437710,1131260494,-1568200404,128623826,-155236434,1424421465,868365729,-1356797807,1807342020,-2103479446,-1722300277,2066113525,-1978154442,658910067,1068160725,-1064954708,731347178,1161186943,-1377653534,879109340,-776202957,871208375,-558437125,-1942541354,-917549650,-1827244286,2070202786,-1581616042); +/*FRC*/Random.twister.import_mti(10); void (makeScript(14)); +/*FRC*/count=260; tryItOut("/*RXUB*/var r = r0; var s = \"\"; print(r.exec(s)); "); +/*FRC*/Random.twister.import_mti(195); void (makeScript(14)); +/*FRC*/count=261; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return Math.asinh((Math.expm1(( + Math.exp(mathy1(x, y)))) >>> 0)); }); testMathyFunction(mathy3, [1, 0/0, 0x100000001, 0, 1/0, 0x07fffffff, 0x080000001, Number.MIN_VALUE, -1/0, -0, 0x100000000, 0x080000000, 42, Math.PI, -0x080000001, -Number.MIN_VALUE, -0x07fffffff, -Number.MAX_VALUE, Number.MAX_VALUE, -0x100000000, -0x080000000, -0x0ffffffff, 0x0ffffffff, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(283); void (makeScript(14)); +/*FRC*/count=262; tryItOut("g1.v1 = g2.a2.length;"); +/*FRC*/Random.twister.import_mti(302); void (makeScript(14)); +/*FRC*/count=263; tryItOut("/*oLoop*/for (ttbtkr = 0; ttbtkr < 71; ++ttbtkr) { /*ADP-1*/Object.defineProperty(this.a1, 15, ({get: ({a2:z2})})); } "); +/*FRC*/Random.twister.import_mti(345); void (makeScript(14)); +/*FRC*/count=264; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return Math.atan2(Math.atan2((mathy0((Math.abs((( ! x) | 0)) | 0), ((Math.fround(( - Math.fround(y))) % Math.imul(Math.fround((Math.fround(( + x)) % ( + y))), ((Math.max(( + -0x080000000), x) >>> 0) | 0))) | 0)) | 0), Math.ceil(Math.fround(Math.imul((( + x) | 0), 1/0)))), Math.sinh((Math.abs((mathy0(Math.hypot((Math.asinh((0x0ffffffff | 0)) | 0), y), Math.asin(0x100000001)) >>> 0)) >>> 0))); }); "); +/*FRC*/Random.twister.import_mta(-1317266966,-1976794197,35518907,41635979,-495214271,-433222123,1982994295,1360533404,1362183839,-2067481251,-719556498,1296521533,-258064171,-1403309925,1162169594,1078389869,-1810408980,199109861,-1438550574,1214654556,1648962483,1364468357,1370935381,27345674,-2098861428,16888724,-384828495,982395107,-1739727715,564403654,62558272,-994251266,1283303033,-1279437850,992393341,-1963509579,1930252135,658806549,-580780394,-2041469084,554507182,-1231182273,2034816694,2060633619,-1267367605,760412282,796593306,2093137151,1660898603,-1024568771,-2065346121,-988862083,100324167,404907310,-1216196191,1891897627,-1072275634,-141074387,-1119903642,-496682282,-649298150,1806055833,1949019028,-453758242,399091379,-1233886622,1545495834,-200997460,-1625376484,-1716939831,-1632961936,1107426298,127993938,-1809856080,-1811728718,-183693880,-2008684781,-891078653,265591139,1784078687,1134843355,1131984089,-115915801,-1360815462,579223764,-265841105,327159864,104598512,593055263,1551118769,1711611441,393770183,-78341665,800345365,254561400,-1520555500,-1596182553,1314925884,-1800141040,1379983940,546077319,-2039539739,763538889,-828701436,1036686324,2103884156,-911982441,-693033136,2015458101,-249906739,-1543961795,-1359606748,1670841595,1612418591,-676284417,-689936077,-581560087,-1191654009,-1210845479,293769705,-755306636,925394903,1211916157,-692177236,-622773415,-903677204,1804257538,-1711345990,-346182327,-1235622958,1571084924,870189134,115575333,-310357359,741426530,-783533647,-524808655,564248367,1151109622,-1418688037,-1461765972,-327245917,1047400023,980637851,2023007023,-16784893,1476471697,1413775848,-613057920,-1732585021,-100517557,-528101465,-272894845,-768807217,-105819995,293850785,770820103,-810309793,1737254183,-1864352866,1437579962,-1713341310,1574169540,-968592763,403802597,1768558971,-1627894666,-656539662,239235657,-318321004,-640146297,-1207347285,1579119261,200959697,90741486,-1526130692,335455906,-1942587413,687429156,2052546908,1451570334,-318644691,976625122,-476751390,-750429264,35257438,-1122183204,242537800,1990701391,-61698299,-262402281,-389052278,239682201,432059793,-1249226353,-1362316275,852353377,1515965544,643106396,1250402278,2146962439,-25198769,1720525918,-378447182,1885994218,-982997210,897650004,1177899309,-1751504488,2050551026,-615488155,258101722,246547682,177976714,-814354540,-1067151652,130052851,-1503608794,228679111,-764675336,957354842,743682953,-80589534,-955971582,-1679548398,-1893763307,842919559,-1417072995,-474411588,-476271016,1960221854,-2000028038,1064720778,1125209946,-1689600988,-1932754255,941321227,699393692,751701204,368787675,1145390827,1925139703,-1696360162,581863917,-900624303,474927847,-697699434,-1216264353,1676419226,-97457144,395153810,-851690405,2039283836,794310678,351431717,-487534643,-605001480,-187119719,-1246811193,1112585216,1891726737,-152379800,-837994033,-1781816487,1242811617,1852418870,-639305438,1060375929,1662666254,-955619201,676218762,1632570972,1925888940,-2008765233,-1542967996,-949530250,-790273279,-641438510,1860652017,426925796,-218836488,-3987363,-547322673,-1459273517,1880889323,-1847234037,-958920614,-416903052,2122521604,-367072256,-956522609,-673433155,-2087785524,-1189733909,-1364523498,276436917,621451866,-989370913,-1093818306,515558322,-1378677883,856836717,1483676585,-1732572086,-825690947,-896424395,-1120744116,1740637396,-558040898,-1509733326,2144537820,1859387053,1965969203,1385402744,1420238007,745063889,-2024574488,805434484,1134900725,-552026046,624550110,94171538,2031730582,-1443151460,330536256,-327503014,-2042594237,-658643439,576231320,-1273399029,1672492159,1676531478,1814622218,757948366,479977884,1071759895,-816861826,1080007393,1821032650,1117958400,-1831658505,-1771402009,-1239578797,1011075386,-1701749733,-439285708,290568783,-2138876074,422406707,1770635127,-1879316489,-1524279941,-1866248050,-1670496984,-800296935,-1806788979,306543942,-1545600759,-658600686,-1462792091,-898707022,-386438546,-1107689140,1302215187,1712497252,1963797031,-210267329,-1803821777,-1511272935,-2091383401,406892950,-512241874,-189540335,1157665005,-2058348306,-2002260728,-1931443141,-316101370,-2072302998,-1298745984,-829306662,1207428568,-1016812977,-454047672,-1959433431,-1405204024,448871449,-193483058,-1583839221,-1047625146,324399799,-1442369122,1701130872,-1909984247,1861389407,1065413000,80892431,-678484277,2069457210,392096714,1003437176,-1050424909,36646056,-703134123,910839961,143352040,723415245,-483891125,-220595673,-1717609820,-1646082577,-1299841362,-1087983527,2073055675,-815610381,-509037280,19481332,923618556,-183780714,615571202,-56835682,-1978156775,-608678755,1335872817,-659437359,-1740887166,1103609086,-964208838,1191156363,1123696464,-1468023294,2097646551,-712611793,278279957,-558234936,-1586351036,1033237904,1001208781,-194138371,-1165465880,-225600803,1388053083,2016506468,389872242,1752359055,420442536,1273102105,2107422019,-704909105,-1852181847,811825216,138556689,-1277753003,1615167718,-902024524,-304483464,-1351390488,1625529597,1488668959,-85439760,310658641,-547361499,932213560,1642939440,29302458,-1295895896,1265832846,471425802,-810732304,-67927939,2128062071,-1464438903,1772522584,111259604,-591832319,-1544091404,430522266,-525928015,1021646680,-1491150367,452687077,-1603134686,670467134,-873638559,-245269375,-5041797,-634909722,-1484129275,753562590,1453428927,740702401,1550267100,433296316,-1625357040,607618748,-416974323,1124050089,1206280787,-159724030,-1062206244,-422267025,1853169023,-1328789786,561098100,1203191445,1306475336,-90100792,-1183842546,755115778,868941780,-850621670,-1276955778,1942730875,1073573876,-1509058896,-1520437385,-2113945283,680659244,1666215631,-504077155,-435173167,-503442750,-1335118088,-1022882574,1470169643,-970346356,-704404971,-1972043833,-1225404200,330981869,1328335524,-1201801813,-1531386587,-1781004630,-825262393,1089250814,-1410395385,-687764440,-1608849203,136562926,2028013519,-1484952491,261469499,2076522350,1899748169,112782120,1813010867,-1363915135,1979811338,969060917,-2008791012,1304415234,-2030772808,1817955869,-1003470814,-731074602,497016930,142139009,940672040,-1593647127,-454073935,-602722812,-1853675861,-663880471,-2005036837,1889125698,-1595601133,1514733468,842147191,-772322157,-2011152899,-989450924,709209493,-429641585,-114580047,751061055,-1458974855,78098593,-1262797446,1308402106,1919069712,-1584549567,1741722492,1631816589,-772547696,1384740749,58330515,-1273153100,-711617490,-974122563,-739016145,1920039815,1780334177,1010464889,116208874,-322569696,-487665488,151201024,-1566401209,-806585402,-1233430242,96056033,104802719,-113481511,-328788813,1373142768,1443706021,-879089215,-1923333954,1169781242,-995311074,-553724068,397270568,204499560,-1371226976,273560141,24180802,-1526320107,-333667211,29529263,-944975992,323020942,794678179,1550606074); +/*FRC*/Random.twister.import_mti(2); void (makeScript(14)); +/*FRC*/count=265; tryItOut("\"use strict\"; Array.prototype.forEach.call(a1, (function(j) { if (j) { try { i2.next(); } catch(e0) { } Array.prototype.sort.apply(o0.a1, []); } else { try { neuter(b0, \"same-data\"); } catch(e0) { } v2 = Object.prototype.isPrototypeOf.call(b0, h0); } }), s2);\n/\\2|(\\B|($)|$\\s)/yim;\n"); +/*FRC*/Random.twister.import_mti(521); void (makeScript(14)); +/*FRC*/count=266; tryItOut("p1 + '';"); +/*FRC*/Random.twister.import_mti(530); void (makeScript(14)); +/*FRC*/count=267; tryItOut("new XPCNativeWrapper( '' ? new RegExp(\"\\\\b([\\\\d3-\\\\u0080\\\\S\\u9783-\\uff8b][\\u4932-\\\\u00A1\\\\x0b-h]{1,})?(?!\\\\1)|\\\\2\", \"\") : length);"); +/*FRC*/Random.twister.import_mta(194107329,-1554045640,-1888750768,-1812308985,729661030,-532768820,-23392869,-2015739127,-1813934439,1099974906,478376970,1402890898,1455059510,-12557422,195967047,-1255334737,-1485310186,-633176294,-2053398258,-1459263502,-2035290783,1155031651,610303623,-34720552,-896048941,1983316378,-1949275745,1302304320,-923916959,1075508446,-455532091,-1177945752,1529124515,1826902755,-512448686,889749315,-1707291584,-267715197,-497358858,1829992519,-1175758835,-2000042586,518632766,1908402855,68517478,1871508521,-1336601390,-1073350971,-1586435991,-1868830947,-2045538014,235809203,-1651982274,-1297424305,-383218365,-1814288654,-2105114577,-1801198969,-1662292461,-1009429147,-1942474514,1655610581,-929934433,-1066916393,-999957484,1503609269,1542440678,1311785524,1730038675,69627574,2098831095,-864177959,-235117403,886455598,-768546451,-1265840370,-86473974,39561071,265603204,-1586256472,1477579522,-1721366924,-261155668,1270371471,23683306,1849068578,-923578215,2042981201,1216461180,1881289761,893220537,-2008510482,-1737292054,732962557,1321740246,-793430896,-131132530,778929460,-1912272081,-877582027,-572958338,968042553,-402815394,-1204683115,1355170241,219600498,1244217052,-1565575216,-329590927,844438153,-300615396,-977201760,-1697675260,2140954682,1100724024,-2073557808,-91637272,1693244675,1955991388,-1467828601,-368145896,-565775954,-894730293,309847458,-2064683084,-978398599,-805864529,-1157143472,-1660599963,-1194209493,-1818493984,747414805,-1133315974,422864917,166943148,1307333346,1543530978,-327075268,-866364980,-8351919,943092518,1713725241,-1944923012,-576461177,17444235,-90337236,1374123930,1551984137,-739428586,-2011564599,1207835021,-1730884460,-908298867,1838436497,-1669948531,151292260,-762663571,788447854,-602099175,2001222975,76079296,1459122634,455628404,837752220,1907267174,-1627455344,-1274871024,1448352032,1176150536,1426173327,-1622874986,-1003148058,1292029732,-1969983350,-679303510,1673199300,2037889957,-1386803549,300939409,-2108992202,-1422921880,-375377013,2083917131,465568712,-528396434,2036267154,645521705,1940435944,-173506352,-497239353,-1065681423,196707773,1343814570,1346247223,-1138781858,-1435238898,286760525,365410244,-913951277,1142580844,-1355535752,-773583000,-78326113,-833640597,655221106,1560260405,1127116944,-408289153,751044745,-491931960,-1943338708,-1979366705,1089776447,-485083692,-1093889998,-851093618,520096379,1906090652,964415281,1576595951,707222798,-779779356,1648365742,-1973493887,-842538021,-280259521,-794789525,2051887391,-762220012,-184500961,-1751211206,1959170723,-1045021599,-214019191,1488237198,1457817667,1430764468,182743648,-1066698208,-309304932,1595372854,115340488,2104682630,458723297,225289910,-1364240187,1808626818,-145097428,2042631271,1873196622,1115200042,-1236147987,1637555601,413265746,-437304967,-1525280483,-1552013363,654705913,-656301208,-95642444,1469136343,528124778,-421192144,1715313391,-952227816,-827810969,-1417556444,-2006549750,843333958,1255053051,1092119945,1030759344,-223997295,-498007440,-1548329346,1342892342,-59125388,1751680005,45549249,-1527600958,1413727422,529563643,1582708292,1669348101,89779037,-7902658,-1337582241,-210125076,1470229205,853847175,848202198,-2052937230,-1675821665,213534189,-1626998479,1973094078,-1079153530,578767592,-2095000320,2115850680,-195581753,1729090662,-1194243797,78924171,-31734614,1364045346,-762075198,2001497949,-899178387,-1887006014,-438756602,-1560873044,1199522974,2074635805,-151406234,1260913032,673369627,-1914217316,-1480265777,-890243451,696149556,1917122589,-1001876386,-1309222610,407952537,1412269521,1055353570,-1930095950,-1162402717,254618814,-1983441634,1725053380,461404565,1147457042,609707524,-872611378,-881694938,-665740935,-460305120,179221792,-1381919082,-2086812594,-632692659,1858709306,369383705,-1523162460,-1463608020,1066438622,1938464458,1415462127,-638713920,-863057933,-1952854803,1054471036,1747492809,-735576122,808025968,-3883671,-505160200,-649752413,1833950498,1460558090,-1305739468,1862875344,1326391280,1827612812,750113049,-204790539,-1098781395,-1070429001,-317193968,-497323684,18180229,1397717997,416452749,211142100,-24272054,96701624,-1046505900,-1365995040,242197117,617381493,2071162176,236496934,2028070538,141860042,1299442264,-850652134,910110953,-880140304,619482451,52170586,14961227,1517483488,1234464228,-579126320,-405893579,-488091637,-811968253,1357205784,858596492,-1768607490,-776352463,-1151720650,-1458389289,-1654099928,718787020,1263248036,-1519411495,-1412440221,1115880607,639281053,-1650564976,-1732234481,58517880,-1254350422,-103146311,-83943238,1507977788,1851169637,-1942129052,1221265359,1421125705,-1538798854,1507435013,-1452938324,1733938673,1430476770,-258404160,-278197858,700764767,-1798937158,-1917057952,1819505140,-1223484835,1913582145,1718852593,789931661,-683576901,-1598368114,322995238,-2100025088,-958715209,-1305359645,2098928200,-2054979486,-96593007,-1714285130,4311919,980528270,393704918,1294260142,-1620487092,-172072911,211921059,-2060925088,477742014,583776106,1236449243,301772694,1167660484,58493714,1712466523,1436038377,327510836,-1512901657,-476262375,2025975630,-500267991,-1693349022,-1778120454,2042552474,-1375760593,-593925667,-1499301546,890538922,-956466615,470421894,1020673218,-1242687684,144237251,-1240202394,434637682,1120282962,-1042858853,-1242192229,813748841,31720504,-1390218262,1778299535,1208877953,-875044410,-1054402065,-107344518,586970835,-902618163,-264956147,2049247880,1562911198,415562233,207830032,-1143964403,11681676,1185611489,1317476769,1072141093,-129673403,46323519,108331025,2029024201,980525754,-441153601,-528884284,-1556031993,954135944,-1906918764,1722656785,-1708257682,743451491,1980999976,2084916364,-953146803,337576135,1299537228,23827118,1898558677,-1573937532,-1355988821,-1210428337,-1622725511,-2121137279,894371559,463580535,754755710,389692834,1184405809,-469347114,752672703,-421063717,-502827098,-249665304,675009316,1992989247,-1984457888,-1900336888,147092425,1153261850,1384031537,-139652648,-1066749872,-685162705,455782981,-1157049856,486492915,-423410343,-193407918,-1843793119,-1781541110,-279189777,-251692654,711809296,-174176882,1052987237,373563284,-1608680488,1844083318,1737149166,766522610,846123736,122769004,206221712,-634503412,252496444,1298038571,-252044514,-33109591,-1895476128,-1011850883,-1435461842,-1297572891,-1223189757,465622647,2106493663,416322232,260617840,2035706862,-1018491783,126162741,-1392582389,1121619708,-1892076084,-485920737,-335895441,801327980,-978724379,-805927563,-2068636105,1698824044,-2052240193,1512621066,-2003103166,-2100972387,-1459404441,297179596,1831842752,1938930905,307312095,1220641314,1175504520,1495600207,1634190216,859244958,242002430,1515303944,476298723,914836680,1073853733,-873828426,-621414958,590491023,332562855,-953010966,-213052243,2064569610); +/*FRC*/Random.twister.import_mti(320); void (makeScript(14)); +/*FRC*/count=268; tryItOut("\"use strict\"; e2.add(p2);"); +/*FRC*/Random.twister.import_mti(346); void (makeScript(14)); +/*FRC*/count=269; tryItOut("const this.v0 = evaluate(\"((function fibonacci(qtmxtq) { ; if (qtmxtq <= 1) { ; return 1; } ; return fibonacci(qtmxtq - 1) + fibonacci(qtmxtq - 2); })(7))\", ({ global: g1.g0.g1, fileName: 'evaluate.js', lineNumber: 42, newContext: (x % 2 != 1), isRunOnce: /*FARR*/[((void options('strict'))), , , .../*MARR*/[x, false, false, false, x, x, false, false, false, false, false, false, x, x, x, false, 1.2e3, x, 1.2e3, x, x, false, false, false, false, false, 1.2e3, 1.2e3, false, false, false, 1.2e3, false, 1.2e3, x, x, x, false, false], (Object.defineProperty(window, \"findIndex\", ({set: \"\\uDF11\", configurable: '' , enumerable: \"\\uCECE\"}))), /x/ , (arguments && -28), .../*FARR*/[], , (4277), x, .../*MARR*/[x, \"use strict\" , \"use strict\" , \"use strict\" , x, \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , true, x, true, x, x, \"use strict\" , true, x, x, x]].sort(q => q), noScriptRval: (x % 3 != 1), catchTermination: true, saveFrameChain: false }));"); +/*FRC*/Random.twister.import_mta(-213400937,-2010144597,-2146381884,1720974271,-1500873960,939326243,1639953005,2045430084,-39824299,613837769,1652856813,-1909282878,-1804603734,-1638051741,-1518036715,-836396261,-169800574,1102133759,-507604397,595942102,26976596,-757504608,1352761609,1887336146,869304066,-934007719,-1031274022,-458882966,-915893821,-868356660,161983318,67365710,1074892848,427721206,1464527556,-2136841664,-1921073174,-968988250,-1651507523,-477198552,1802601566,-1741313244,23958274,290077461,739959755,-554589986,1262190942,-1263804765,1422312243,-1187523840,1205711280,243641200,-97751946,-85228632,80397527,1193452676,652681645,-606294155,2110446861,1516624841,-896251425,-185389365,-390066782,665582542,-155477225,1273350440,1920996851,-1190986206,-1480473412,1142468541,-940079107,64489124,-1048930827,638897299,603490077,-795619670,79432373,-1589109484,632117630,-1426820152,280564412,1155643028,1228574116,137122486,-2129705609,-1533471775,-1490277339,-443031515,351013972,-1290348054,96486351,-518295393,-1523708626,1869221994,-477267058,-1120890840,-1364406304,-1124711525,920848264,-1629897806,-1074516405,1859576561,-573262228,-49763281,-1118104012,631677154,1476224265,-1583168826,-3821890,-816895029,1612865007,1259521043,121521108,448559398,-411007529,-1656946384,1212024921,43381286,52384008,329968925,-183667015,-804445095,1059609593,2117270358,1022360494,-353628721,284618596,-689863997,-1270226017,-337484940,1617142526,-1444730766,1255516332,-2056540329,330903446,899783046,448542048,1897141572,-1605341626,-1206031035,-2033794820,-521242139,366883898,680775410,359996210,507060722,1056936123,-1488080253,-708822542,-1102390013,1578419067,172727233,799549639,1075495478,1604908791,189084777,1266691012,1371909258,383023634,-1872919743,-1095503889,-489697835,-402066596,314184227,-85867066,1690488557,2104365828,-2096092452,-563995538,1747499173,1336582785,1424995658,35354153,1737220805,-1410121618,-1430280399,-1023588187,553998217,-14458062,-627924012,778618983,1298342228,-1085761023,-2024325964,1735371326,-138753388,553962316,895284760,-1854896558,981385822,-615422668,-2064474914,-204655816,-1858667165,-1238331624,981064598,622891150,2019718099,-1376012733,-1826026741,229898456,1628411695,-1543002272,-618798341,900912088,-2003535569,-1150605012,-1572534437,1120364477,1413789001,-1798597734,-1084087352,1756239525,1040288657,1435869785,-656139236,1654646086,-1713968476,-2123135776,1427250082,-483873084,-1412039291,-1089080688,-331759467,698306090,34969799,-1625240230,-636519523,1806126843,-874537383,-2047344079,525981175,-680828360,233171754,-879739462,-687634033,568611577,1118907133,-117795060,-68922319,-1657624057,-1690440362,1518791732,-212344871,-806476478,-1806161902,405382208,-462218312,-452313465,1906166812,-228706693,-636110571,-1006314512,1769411001,791001147,31404794,112615279,634878690,2032510228,-1294877180,381928515,1681417692,1790189544,-1360942106,945984714,-934340177,-1480738131,844342525,609898630,-1192684263,267528909,-1941874084,-1344724506,450932321,-592532936,1794780041,1410015709,-544308721,486342417,-1878159831,1814760586,736223221,-269874727,-1119656740,-467723670,-1126079619,601425087,944508010,1955186775,-242792119,628797239,566056199,-1800381695,-469083724,-1009812099,-1206422785,354880201,-966267523,2094444152,1650061641,1435707040,-1499950249,197221040,1001515232,-907097595,216304287,1213920441,-1400737195,52625397,1003880487,1498884448,-491722952,4559920,-1672417130,-2147229471,-1711940730,-1243252828,-819297033,493107970,-242139596,-817832773,-1045876319,-439616321,2072777075,266875308,697348857,-1734135061,2074545317,692090030,-650691357,-1906200371,697539105,127191019,1171707403,-2074328543,-1703109331,980375464,308968319,239443587,300845215,1534237441,330089774,-363212115,-634088438,269402996,1467932574,1281534706,-859293220,1663732465,333358105,-2122504080,-534008569,-1249840015,-1108733857,-51217120,-329425881,1292406047,278023170,1548308732,1014122045,-1360231470,179097612,1109722606,1027324568,1197703426,788674069,418402272,1083082421,436178785,1666331826,1505654364,-856219729,-1365889829,-1415682014,-1593356183,-360257449,-55895201,2128283729,1560400689,-241743578,-881570349,1645297751,206135418,2012272769,1442833135,812486462,-1225029300,2091173700,-955596243,594937130,322180494,1671123004,1241232413,1503929846,-1381124300,881716139,-2141970305,-1318109473,1016929734,462283887,1824619194,1512511017,-149768534,259827473,1873899421,-1438086188,-13143418,-1512589356,-2121499078,1191269521,223535013,1772132982,584213452,1622851568,801302221,1955936465,1191268867,-1214148566,718365107,-170686454,1817955931,90336227,677002987,-792399533,1825605125,1197465700,-1182228230,905932984,381293536,1777172112,-780218330,1936511464,-22167083,971642077,1112198820,-386524518,-624511280,644062104,-281065329,554587318,1064017681,-1343191075,418662834,470968418,-1692980587,1701067255,435884409,973142956,-1225970750,-1263646597,-894719166,640410636,-507373568,1081649620,-660924371,630959908,-625326612,942270723,396853820,-173545254,207335075,1636931656,1690772260,673638243,-917445679,272388063,-2021350506,892164300,-692770585,293922889,-1886867564,1075401226,1662790691,1266194667,-1090953619,1601975164,1066976479,-332060646,-1058884981,423631438,1920798730,1674689922,549201491,-1084919299,-433776272,-1200784129,-1306280936,5422518,-1982886844,-675565833,-1962255611,-1040602910,-1266540782,1875587355,-1908243004,-985109537,-973369251,560347682,422286975,-1444364306,-1644158920,-1661487618,-794303450,-364896814,1500904258,-1177099156,1214535017,-166118307,-1903077682,-221063036,378640348,-1809582968,1950988449,2142666363,1063735584,-1630032768,-57651586,-363197863,448037267,-1433207481,1587214413,281562561,-1632773031,361939870,1744537544,1841389882,-1396186685,-1753826216,1882437044,-771691601,-132195508,1563864161,446357152,1137175144,382111250,824300958,-189735129,-215216046,-1816961813,2026545220,-934471420,577641761,-1657925066,-222764256,306187724,1060801423,1101454451,-191474601,-1583584887,391631863,-1357776754,309090476,-18372769,852107416,26961548,-112968223,-1815029914,1623520101,1374430952,1386376035,2132407500,1110791500,-1856072985,711060036,1688159812,1031863284,121017062,1111880301,268722712,-327382427,-148665460,1468573290,-388411180,1948231549,717483479,614998209,-351394696,-733649945,544690218,1996720431,1761790907,1530759312,-533392005,1254938151,741964277,-454793697,-424116872,563823496,1807849330,1169792776,-709381560,-1416207382,2028180387,-1557392435,-1099074352,-1028738907,301124356,-1033871140,-1578926678,-1428445702,1945371315,1821261829,-1570921295,-901987649,-568629534,-853411583,-705198025,-394514793,-678725969,1023050174,1852529742,1388951056,491083066,566421346,1743216928,2114103392,109261553,2119102311,-1425344988,-652590063,2050834307,1292078525,1225425198,553611755); +/*FRC*/Random.twister.import_mti(141); void (makeScript(14)); +/*FRC*/count=270; tryItOut("var eval = (this.x <= 28.toString());/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(243); void (makeScript(14)); +/*FRC*/count=271; tryItOut("i0.send(h0);"); +/*FRC*/Random.twister.import_mti(255); void (makeScript(14)); +/*FRC*/count=272; tryItOut("/*ODP-2*/Object.defineProperty(g0.o1, \"0\", { configurable: true, enumerable: true, get: (function(j) { if (j) { try { e2.has(a1); } catch(e0) { } try { v1 = null; } catch(e1) { } p0.valueOf = (function(j) { if (j) { (void schedulegc(g1)); } else { e2.has((Math.atan(window))); } }); } else { try { p2 + o0; } catch(e0) { } this.m0.has(s1); } }), set: (function() { for (var j=0;j<1;++j) { f1(j%4==1); } }) });M:with({e: window})this.h2.enumerate = Date.prototype.toLocaleTimeString.bind(p0);"); +/*FRC*/Random.twister.import_mti(417); void (makeScript(14)); +/*FRC*/count=273; tryItOut("\"use asm\"; e0 = new Set;"); +/*FRC*/Random.twister.import_mti(427); void (makeScript(14)); +/*FRC*/count=274; tryItOut("\"use strict\"; this.i1.next();"); +/*FRC*/Random.twister.import_mti(436); void (makeScript(14)); +/*FRC*/count=275; tryItOut("\"use strict\"; mathy3 = (function(x, y) { \"use strict\"; return ( + ( - (Math.sqrt(y) == Math.fround(mathy1(Math.fround(x), Math.fround(( + Math.hypot(( + Math.fround((Math.fround(Math.fround(mathy0(Math.fround(y), Math.fround((( ! (y | 0)) | 0))))) ? Math.fround(( - x)) : Math.fround(y)))), ( ~ ( ! x)))))))))); }); "); +/*FRC*/Random.twister.import_mti(590); void (makeScript(14)); +/*FRC*/count=276; tryItOut("mathy2 = (function(x, y) { return Math.log1p(Math.hypot(( + Math.tanh(mathy1((Math.fround((x >>> 0)) >>> 0), Math.fround(Math.fround((0x080000001 && ( + ( ! ( + y))))))))), ( + ( ! ( + Math.abs(( + Math.fround(((( + (x && Math.fround(Math.max(( + y), x)))) >>> 0) === x))))))))); }); "); +/*FRC*/Random.twister.import_mta(1819303509,2090170916,-238245521,2139375414,-1731077273,1590026051,864666547,-932579992,1628114671,1467845039,-1563499467,-876902033,-1859695489,-963107856,-1749358812,1478681997,-1721068592,-2045436101,626496954,1204585129,-1630723334,-611773976,-840125597,1974701530,-1203712752,1226718726,-1567100570,-1855160773,557913730,-44337839,939427103,917691384,1699888747,-86268604,1933435080,-1206739424,1526013966,-1786412763,-1724819186,-1350667009,712592906,-1349943026,-1331430941,-1334944213,-2138548302,2104068381,-1622198292,1753021395,2046808183,2048248225,1027747348,-1946477063,-908359249,298220022,96122446,1807300617,-190951759,1064748660,-1851657697,1727582684,-614936903,1674020077,-1502472899,-1374759945,73628892,-997222142,883398770,-1699741297,-348608290,1031262391,1958828958,1862324930,-611959073,125590725,1750119775,-1203070554,1541183073,-332401966,1241909912,2009353601,-834276528,-461376423,492188437,-336461202,-1466596179,-366837602,1419129136,-1403838630,-1578758134,1774923040,-1445481178,-614954285,-1609652542,-1160976702,-1620975370,-472614686,-1464295415,-718076416,-903563770,50935719,-821691515,935447881,1315199270,-1062360286,-836442737,1649534589,-91128655,647441437,1199161686,-1585591487,1251536523,-1928431836,-7543785,-1134991896,-625118192,-1990325166,2130478952,1055455652,235563729,1595819517,458500266,-601350992,-1786019604,1089275290,-1128858631,-690574357,-1477791200,-1529362728,405819520,-587845444,-2088294303,358179298,1237159131,-1312666489,1206280354,398771216,2068701386,116308273,-198716445,-1210859687,441687167,-648263946,1820542781,-1023961955,762482136,458844852,2014743230,2023756085,-115911215,-1213985519,1757096296,792775989,928690924,432878378,-1899597241,-618155331,438892253,183589765,1751272606,1434554446,-2002016944,635985734,-2097687891,1114183215,-1453554971,-1343644827,736755498,195971187,-795076743,-1175751815,1748117704,-2013173293,1186057176,-489018437,-1679833811,279921753,-1114260378,357719118,1239511339,624095380,-218827955,-1495552523,883431285,448077476,1625353690,-1330155299,1348644139,612448988,-1176828112,-888090654,1675759079,304549614,-1809165978,-1901070908,-156594655,1785977828,102079227,831004462,305300991,1462450024,1810832276,-1277120998,1583211608,690842463,-238236595,-1560537,35058125,644900323,2114655098,-544062982,-1211285645,987024674,-1158482775,-576111171,2126231582,1812637593,757699120,660513616,344696241,924280211,-1297309318,-192934036,906892420,787650710,-721293055,1184556931,-722436870,-2136258057,-1066269225,708319400,-1457513198,-1285264773,406268630,373415278,987791728,-1460562100,-282219506,-1632391245,792794024,1186376099,-1962486437,-84307650,-125715778,-23232143,-868676814,1766016922,1978994549,1967164774,-1555564570,1842026625,-2119048817,-633167640,-1532164603,739089828,-1853626554,-1156412950,-273627104,191649685,802817274,-1220842347,-926443606,1181216572,-1352512557,113535595,682278189,1407661191,1868502622,945055305,720747357,1850891354,-1236339963,-681261247,-1458475278,-1323801872,-2079760696,-890048442,-858113927,-365633213,452291122,-1077014550,-1656871213,-1421409667,890800743,-2037267580,-133249259,1497743519,2061424617,2014616141,-1039363946,1841820281,668518827,-1758207613,-1232423464,-867658221,1605568559,950246757,-2025023786,178916514,-953902407,-246436465,-1925667407,766515207,-1517130282,-433896516,861210434,-148652005,-124926860,383532149,1620853909,838707109,-626363918,-390639947,-469042987,-1918930529,-525733223,-82531368,-1755914364,-412768089,-477096503,1587968064,1125174989,1955376758,119193732,-1353926433,1492381603,1602068396,-405667542,-609893934,-2108496921,-1873006177,225236717,1424373413,-642630233,1639443838,-224275884,441346690,826295841,-726494955,485589940,1262295368,-1248917633,1989750169,-465287593,922478290,358061675,674971560,2038061331,-204874483,1288699491,-1791683372,-1443863610,2138976542,288035611,-644641616,1274140692,-407066928,-725674307,-1381793761,-1838616029,1590414642,-191617919,1727324757,156834140,1492918347,-2006510876,-127929325,245124316,-1885017328,-386573137,1079802899,2105846677,-483316886,1318477477,-1315073451,-1796483647,508192929,1371617766,-550277073,395012518,-873978662,-238214178,-1998404998,2044161570,-1444956299,315071514,1931446328,735310828,841381017,1951620563,-1955735446,1940176433,346679348,-2093250146,1027548336,-924840583,1237235609,2018794697,914138667,483339067,1892775557,1455493232,-1604936072,-837179634,323337079,7739812,914016360,2010721150,-1305293744,1548990306,-1425422216,778392479,1904860220,-2132136155,-561287534,-2017257877,55779054,-792721417,-1350431263,684641003,2064582292,353792234,2072977803,-619113582,-378181338,304607004,251057538,232034100,1622282852,-2028596910,1994558539,1352336299,1469226104,974490262,590583455,302737582,325601298,-1935438794,425339883,1783883641,1011846142,1398394508,851549383,1644401576,-1179994203,-857469068,-2122408494,706156613,-1445317477,937401230,1398522149,2112318096,-438239999,648459113,1639268403,-765026715,-315676895,-282829578,-1561076724,-1984455146,-955101864,646517066,142807266,636113954,1385000249,1336227971,746799715,471860677,961868279,724784581,-12194444,-1634654092,1690283516,-705184976,-209645412,452891864,629351766,1540459660,2026375189,-1763529265,-1651274240,501564261,416629936,1034977739,-1667087208,-833464011,1993071350,-149802418,-870297208,-1263368040,1945097870,1714994714,1928049316,-1123410731,1753109692,-1007099015,-788479060,1054949707,601065701,-1013933898,-435061010,-10242033,-329601829,-1076691281,-1604270632,-153119883,-405802919,499786011,-629764684,-768709057,2119188873,-1937753664,455256986,-6926467,1701674873,2004831245,-1136347223,-2115876982,-209045059,460468223,1087338785,1562640428,-907192612,1919614122,-1263446734,1011530815,1213192839,-1158351965,-182354069,-1648829169,-644022160,296789331,1041786898,-692046545,-202472579,239916730,-1010000935,1215016844,175861592,-1798168937,-1070828457,1168166864,-297862270,-2109154744,-562636446,1643142591,1514916655,-35265868,-1965667626,-1506805934,278019267,-428174199,-24605485,102272992,-417353108,2114940925,-876967852,2033645810,630900121,-457198645,-432093247,1085097944,1661348856,1333698464,51373315,-898437905,527092423,-216575839,-1114818957,-642787212,-1613397103,1564456423,557530625,-885236535,-183296217,2023062962,2034822239,1713313272,-104084525,-570997418,-1130183143,-200455944,-488381834,466779420,1537940120,114885583,-516633441,235302134,-1049301192,1143483857,595771512,221712830,1830710250,1891716394,1369634484,2012939165,-1609811667,1634487421,762647872,-1235420777,-1369116893,517079688,483243846,-497239775,1053592215,548093040,-461890206,652116814,50341974,-694189403,1323483141,-2135200643,476395143,1677654921,404767612,220668073,-300256140,759308038,1713489187,-517178653,1731044992,-2101980495,-328905234,-1060520013,-681262276); +/*FRC*/Random.twister.import_mti(140); void (makeScript(14)); +/*FRC*/count=277; tryItOut("this.m0.get(v0);"); +/*FRC*/Random.twister.import_mti(153); void (makeScript(14)); +/*FRC*/count=278; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return Math.round(( + (Math.asinh((( - Math.fround(Math.fround(Math.fround(y)))) | 0)) | 0))); }); testMathyFunction(mathy5, [-0x080000000, Number.MAX_VALUE, 42, Number.MIN_VALUE, Math.PI, -0x0ffffffff, -1/0, -Number.MAX_VALUE, 0x100000001, -0x080000001, -0x07fffffff, -0, -Number.MIN_VALUE, 1, 0x080000001, 0x07fffffff, -0x100000000, 0x100000001, 0x0ffffffff, 0, 0x100000000, 0x080000000, 0/0, 1/0]); "); +/*FRC*/Random.twister.import_mti(237); void (makeScript(14)); +/*FRC*/count=279; tryItOut("/*ODP-3*/Object.defineProperty(g2, function(){}, { configurable: x, enumerable: true, writable: true, value: m1 });"); +/*FRC*/Random.twister.import_mti(274); void (makeScript(14)); +/*FRC*/count=280; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return Math.abs(Math.pow((mathy0((Math.sqrt(((y ** ((((y >>> 0) ? (y | 0) : (-0x080000001 >>> 0)) >>> 0) >>> 0)) >>> 0)) >>> 0), mathy0(x, (Math.max(-0x080000000, (y >>> 0)) | 0))) | 0), Math.asin((x >>> 0)))); }); testMathyFunction(mathy1, [Number.MIN_VALUE, -1/0, -0x0ffffffff, 1, 1/0, -0x07fffffff, 0x100000001, -0, Math.PI, -0x080000000, 42, 0x0ffffffff, -0x100000000, 0x100000000, -Number.MAX_VALUE, 0/0, 0x07fffffff, 0x080000001, 0, -Number.MIN_VALUE, Number.MAX_VALUE, 0x080000000, -0x080000001, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(447); void (makeScript(14)); +/*FRC*/count=281; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return Math.fround(Math.trunc((( + Math.round((Math.fround(Math.expm1(Math.fround((Math.log1p(x) | 0)))) | 0))) === Math.pow(x, ( ! ( + (Math.atanh(x) % 0x07fffffff))))))); }); testMathyFunction(mathy4, [0x080000000, 0x100000001, 1/0, 0x100000001, -0x07fffffff, 0x0ffffffff, Number.MIN_VALUE, Math.PI, 0x07fffffff, -0x100000000, -Number.MAX_VALUE, -0x0ffffffff, 0x100000000, -Number.MIN_VALUE, -0x080000001, 0/0, 0x080000001, 0, 42, -1/0, 1, Number.MAX_VALUE, -0, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(601); void (makeScript(14)); +/*FRC*/count=282; tryItOut("var cqzieb = new ArrayBuffer(2); var cqzieb_0 = new Uint16Array(cqzieb); print(cqzieb_0[0]); var cqzieb_1 = new Uint8ClampedArray(cqzieb); cqzieb_1[0] = 2; g0.a0 = arguments;print(b0);"); +/*FRC*/Random.twister.import_mta(137763641,-1121857709,252925214,-1012839140,1446822150,1322645000,930169283,-369414644,-2066957216,-4789829,1323808824,-1916231294,-934946432,1706565645,-2070929883,-1939904819,76108240,-714548042,-1178734747,-542730614,-1035565803,-684711035,30851193,154539618,520109704,-900535519,952887012,1116169309,-1454120971,-819757724,2079031192,750239416,1267687145,688255951,1268503400,1466899089,-1325799726,1586742313,-572538190,-643880141,245295980,-1425364137,-42986444,320726357,-713168746,1839466590,1419541139,1762875280,628935133,884346703,892275384,-902107258,465108446,2134520247,1228198362,-2048842514,1041113865,1136580533,-1638707249,1535150965,1243131557,59122775,152933500,1689825060,717544547,2142869531,-958538463,976841964,-349168921,641771530,248813718,-1611072907,636711881,867287556,2023416111,554778847,-979965451,2147324308,-2023115959,2096330020,-1811987738,1094780058,-1469411529,-794349076,1841562879,1476106579,-1970549963,-1633595088,36588646,-470161187,948216894,-457843719,780772847,696798817,50433749,1885273102,48748476,-1494566790,160229536,-2140468138,-516170082,-459099099,-968381569,24738327,75165498,462614568,1780736777,-714902562,1853465894,-510728575,-588138970,887139563,545059709,-505510968,1603120563,-2132276023,2048459691,-378353222,180561288,-1941416993,-576833563,1371008905,549059564,-629682929,999207926,564110778,-421874082,1884460159,1714733785,1648351052,-1081225318,544123837,1484035820,1917031682,905579034,-345586358,1771138874,-1386770540,19788970,-1672818324,651512867,2073759190,2019495622,320440636,-476950824,-1102864617,2066637095,-999078008,-1735295624,-1984399872,75406483,-1115509212,477406550,2014387573,169076050,-771472303,2070916977,1245596082,-512081805,2103650906,2003757626,2093804098,503512073,-854870411,-1376102763,445276213,-1613729307,2067027852,-627588188,-2029108027,545600069,-1158201960,934291091,-1982273618,-261870350,-705264902,-1078316800,-982682120,1808897045,-965878655,867085814,514588211,-1309128373,-998425067,1672538823,-353658026,1240172534,439648343,-2068010130,-419439910,-932747185,1312621922,1691695770,-278206863,405243416,-356306808,1231485219,-404033091,-1952865639,1419493815,881148493,-646837317,603646547,-1086532495,-97443958,979333400,-1258551111,531543501,-877576801,-466572248,1584025287,1391347758,-1187058172,-1658766,-1284975212,1969894033,193925844,-1637203282,1821996642,873746363,476168853,-1171558239,1884613323,826153710,371232496,-357465650,238671640,-251156211,-398605561,461593495,52152574,438785133,1173690559,704708987,-41687638,-212178329,703041213,424096236,932922764,1422787570,415557778,-120536198,1780029098,1653986377,-1580630149,441440256,-452538311,-739934490,954015514,-1744404383,1679246870,-732033707,-1672206861,805967175,521019560,-561267739,329115249,1812364773,-1373456339,804033852,1245054033,-987609506,-1929011333,1034160283,-295113035,-361739875,1555933384,-2098428387,-1675393670,2136989033,-509135318,-2114625553,891828518,379114999,208285619,-635869890,-660287695,2018885537,-706877325,-869310872,-1282342826,-1968167882,-2035694292,-620629924,-1240168667,976524516,-25004404,1797187310,-328372812,-2080817034,-165023942,1904313999,-2137693235,806152681,-1084222847,-392801908,1662365275,-1269930731,2119670893,-93875762,-60719400,1783879620,1375789313,-1673762220,-580599482,-80785037,-1365910591,985256051,-1061722217,-2059421746,1039410793,-2033596342,-2009296573,1675068070,-483719972,1233462180,155421777,-800842235,-1947801639,-1777765802,332274010,9236119,-17821506,-141127502,-1990953044,979757109,-306582337,958013362,897850421,435777750,-1308438118,-1314176714,1799947927,1400048163,-1740355937,-271501591,1390354132,-1836484612,293478479,-1548500963,60466651,-190366137,-610926688,-373655487,-43035026,-1351173666,748948870,586250251,1529701859,1950468623,-1513564800,-1441559900,223765474,-2094900652,1133299479,-1788610216,-1377392740,1873872468,1326140708,-80333709,-1741597449,827754164,1578132912,1839392328,1215350082,1180947140,-1684495132,-878226773,-2101509376,-543822893,578886793,500289877,1065740002,-1470940392,308200199,-1334713973,1059684040,1337665600,-1737049015,1687303353,1012956232,1995985475,1608724276,839672188,1941015982,-191645307,-42426167,-732957684,2038040183,-19393586,-950058385,-1402498470,1142289005,581486470,-2031895393,2142592287,87598863,-1209395449,462894597,483438251,-1712084846,-1754726539,89976734,-1082049070,-565177908,1346175402,-545998167,1569158727,187636239,2143440987,-54931445,-87208566,-2052183009,-1828537316,1537019680,903092298,674655477,84458981,1941603880,1851654895,1269155435,900403153,-1636203493,7671469,-527328388,-1921784573,1690486917,923683556,990641473,-1832920231,-1795843507,-415507775,-1295119736,-1107706642,370840004,-840893564,831850754,-229962332,1288277457,-1869477566,2140065486,-2107040704,-256386660,1845302638,-556463033,-1600501089,-1175329495,1200492370,177086700,1319591811,-1698245455,-595892325,1130598664,-1107154699,513313346,-1615860356,1257944465,1203767285,2041475777,380735514,775981322,-277426245,1125411876,-1757568477,-1777459198,-1601964111,-781399082,-1806306641,-948816448,626098832,281674423,-1959615773,1670336590,-1468425643,-1054544819,355850588,1030370484,-160522194,-1701328299,1269707934,1012971295,-1730228078,-790980183,-306415052,392401054,-1783914230,1241300472,275726365,-1126847207,-1105608586,80859593,1776635904,-1638964285,-464950869,-361961525,1515951360,-138499644,-1066435983,-218242920,-745449986,-105041083,-896802757,-1977022510,985904724,-1833240750,36718625,-518776654,1133414294,1821422637,-2132158004,-1768905327,282529860,-779445369,1547001941,-332132891,-1399042447,1664412791,580405274,-923891008,-1375247397,351945351,-967480108,-221316331,-1539817317,157366409,-98216605,436182692,733323392,110974972,-2083519625,-2093982115,1863084814,466657298,-374099812,-2108216000,-1534939055,-2147352478,-1365927427,2144813758,-353569109,1422458727,-1576048136,650006293,-525135279,1684622157,-1256974717,-748529859,1088021235,-775077847,1422256677,299525636,-900190116,166342915,196537246,482827160,1226793036,-1841519931,425048224,1539084809,186623355,1659903967,-1074067121,2002678967,-286336900,1144300096,-1308804928,1685974011,1867336161,574967632,738366860,1613715358,1106888917,1291290258,1357820767,-2023899397,1747119903,-777216199,-885819605,1833589111,2001782686,-229397649,241564057,-1196002284,931305124,-970731324,134773599,-611564561,1663955648,546825864,1485565295,1529729981,1880122327,1857202590,963483125,1118437090,1795364321,-919641741,-1599614819,-739568101,1894573990,-1506418501,-1166528696,1981748255,796713200,2106009329,-887489042,1695686802,-1910043195,-2004778338,-961140267,-449426720,-616152907,-125593541,1659076674,-482161098,802884084,1421885824,1858195393,-537837286,-599364630,1419403633,2140132249,336018561,-668263860); +/*FRC*/Random.twister.import_mti(26); void (makeScript(14)); +/*FRC*/count=283; tryItOut("\"use strict\"; let(sypblf, x, qmzoph, x, sbkbzg, z, x, x) ((function(){{}})());"); +/*FRC*/Random.twister.import_mti(102); void (makeScript(14)); +/*FRC*/count=284; tryItOut("mathy0 = (function(x, y) { \"use asm\"; return (Math.log((Math.fround(Math.hypot(Math.imul(Math.pow(Math.fround(Math.cos((Math.atan(x) >>> 0))), (y >> Math.atan2(y, -0x0ffffffff))), ( + ( + (( + y) % ( + y))))), Math.fround(Math.atan2(( + Math.acosh((Math.sqrt((x >>> 0)) >>> 0))), ( + ((((((Math.trunc(((((-Number.MIN_VALUE >>> 0) >> Math.fround(x)) >>> 0) | 0)) | 0) % (Math.log1p(y) | 0)) | 0) >>> 0) ? ( + y) : (Math.sinh(-0x07fffffff) >>> 0)) >>> 0)))))) >>> 0)) >>> 0); }); testMathyFunction(mathy0, [Number.MIN_VALUE, 0x100000001, 0x080000000, -0x080000000, 0x080000001, 0, 0x0ffffffff, 1/0, -0, 1, 0x100000000, -0x0ffffffff, 0x100000001, -0x100000000, Number.MAX_VALUE, -Number.MAX_VALUE, -0x07fffffff, Math.PI, -1/0, -0x080000001, 42, -Number.MIN_VALUE, 0x07fffffff, 0/0]); "); +/*FRC*/Random.twister.import_mti(375); void (makeScript(14)); +/*FRC*/count=285; tryItOut("\"use strict\"; this.f2(i2);"); +/*FRC*/Random.twister.import_mti(387); void (makeScript(14)); +/*FRC*/count=286; tryItOut("\"use strict\"; /*oLoop*/for (let bahnza = 0, vzgnjl; bahnza < 105; ++bahnza) { /*tLoop*/for (let w of /*MARR*/[Infinity, (-1/0), objectEmulatingUndefined(), objectEmulatingUndefined(), /x/ , (-1/0), function(){}, objectEmulatingUndefined(), objectEmulatingUndefined(), Infinity, Infinity, /x/ , function(){}, Infinity, function(){}, (-1/0), Infinity, Infinity, objectEmulatingUndefined(), function(){}, function(){}, (-1/0), Infinity, function(){}, (-1/0), /x/ , objectEmulatingUndefined(), objectEmulatingUndefined(), (-1/0), function(){}, /x/ , /x/ , function(){}, /x/ , /x/ , /x/ , /x/ , objectEmulatingUndefined(), /x/ , (-1/0), objectEmulatingUndefined(), objectEmulatingUndefined(), /x/ , (-1/0), (-1/0), /x/ , objectEmulatingUndefined(), (-1/0), Infinity, (-1/0), objectEmulatingUndefined(), (-1/0), /x/ , Infinity, Infinity, objectEmulatingUndefined(), (-1/0), Infinity, (-1/0), (-1/0), function(){}, Infinity]) { o1.g2.toSource = (function(j) { if (j) { try { t0 + s1; } catch(e0) { } o1.g2.v0 = this.t2.length; } else { try { this.f2 = Proxy.createFunction(h1, this.f2, g0.f0); } catch(e0) { } try { Array.prototype.unshift.call(g0.a1, this.p0); } catch(e1) { } m1.set(o1.g1, -22); } }); } } "); +/*FRC*/Random.twister.import_mta(812793969,1545510026,1023412261,-219297775,-1342045071,-2014511200,-1954764076,-1674162180,-1225865816,-1207474507,1533224582,1863186127,-1810435966,1744400326,636112435,-940931849,-1179200953,-1639233459,1510429455,-803365216,-141026056,-1436985653,1791298014,1143331119,-1987392866,-1038321815,-1203893156,1831912537,-354264143,423065417,559257016,-2017139990,523604577,-1321700359,1434773334,-1431111199,1270410789,955609245,942137026,1994030260,2126964944,846301131,1075071799,1429224069,-189065105,1139889162,1500823206,1432606838,600440295,-1553571723,1653831825,1196580355,-399313017,-1101218724,-561252884,-2056507309,114684912,-2001101446,1801918489,-151104996,-552884991,2099296511,619562888,-1574283292,1235399529,-109956501,-903801771,983473582,-207379532,-704215139,44121930,209927419,1015636882,-1248869633,45265491,-666069909,-678997345,1536722230,1800168398,882218439,-1764875677,397032721,603827304,-745929281,707505380,1285016812,-1561537876,1450489517,1029694907,364834791,-1153622722,1922682673,869619609,-1671846276,1372204551,-1623422947,-147049066,-1364552805,1517163307,-2027731317,724996284,148276728,170219562,-75479848,-951936977,640697993,275910587,-444193343,-1409315906,-1888697439,-2131336900,-442073780,-1341745112,1616823191,-1985239297,898542221,1754006664,-1454006495,867227457,-1795995814,-750055679,-659392714,439629187,1228741500,-694501879,-1046241222,1159314043,-1552684742,-885342523,104429929,-494254719,715594890,-1158559242,-1714594992,1522469291,1863849871,-15173802,-1027483883,-1431840537,1247811244,-1822941418,1140377053,-480234955,1694619659,1680217772,-1037971623,-1031097963,673314289,-238539389,139831723,1578677729,-1611197822,-238693312,349410477,2052235947,-313174428,782880583,-1250768002,934212961,-1450453032,657706369,-843752238,-1265447266,-1392147382,1807124874,-507577190,-1821051974,1769948050,1802676861,-1388854778,1916196653,-527045434,686745179,404570599,721586600,321560082,844630435,1807598638,-769871488,-2005153342,1567504621,-323039987,-1939412917,444821203,990917682,-599541777,-1550817712,-998406797,2071434802,649545495,70479985,318602181,-164221304,389943473,1165097875,-1828100656,-1819255308,-1636982927,-1740225051,1248161930,353789343,455005165,-159761087,-617779330,-413689916,-177626980,-106755383,-1051260703,-1191072774,-1825589458,-1487918638,-1809910372,-1186631188,-1132322774,956033314,-45870767,1842782485,-1794214649,-1395024138,-1007153131,-354629810,1054049440,-992385379,1602889225,1255609214,1394333453,2040561173,-580644563,-1999142498,1015934042,1727451896,200292593,199544770,-1245882367,2090060304,2065019433,-1264255421,1085178944,1164638006,-1737194293,1536233083,1357301094,1873337868,811261221,-747854771,-242447412,-1175510573,-1409903755,1062381092,416197333,-150835366,1588095160,51498261,-1212605432,-612521612,975444054,-1237517980,-1353942671,-801986444,-1557782378,-1817620266,-1978755020,1835552115,-444323424,-725228404,1450773158,-291205275,819407469,-724117088,1892143138,-1933433427,-1372650244,-776630738,-968287840,2020567785,-694998368,1178865530,-780845961,558231863,-1308985428,-83579321,-1646323846,-387135363,-992542531,-710682872,1411785567,-2089737877,-381873189,1021057220,1610166293,1138893948,-790580656,947713600,1285139914,1322628456,455197766,1428751816,-461225565,833680412,1119476990,-1062852323,-1296403956,-699227839,-1187696068,-1090020016,-1525793039,-255734495,798826871,1429595894,-468775037,-789651046,-146975590,1031540159,-1820766014,850798463,-1594453172,-1533784006,1741086221,966620698,2050120500,85418472,1857168984,-453525436,-1282011584,1787877214,-172337749,-609334958,-1459868039,69877139,321138919,-1554652093,737061819,-1769901241,-2057790421,191237738,-1030748972,-2044168097,1363263940,1836527005,1757641242,-1023021973,-463382225,-665115022,373010367,-17906738,1709363586,478366592,1742015791,2073699054,147873603,473226798,-1875800072,-1070428912,-1109956305,-1446898282,-1647710965,1910635075,-988814573,-1909148052,1877070674,-1050273782,1974942579,1506370731,-618654217,-504349065,-1486124395,-1229254874,-771301738,-1254457109,724044974,-220102530,2078598621,-704097579,313352393,-1458457109,-1369664793,797457803,-886351078,1958131713,-269096348,-1230566061,1436759345,-195860774,393283984,372483939,-803596838,-1012126242,-1031373211,-220637899,1312153462,-80327321,-1867202461,-253059239,151887146,-1884463678,-253343451,801798490,-1493828368,2012547916,605499922,-895381886,1772944999,216662267,1567621445,61031675,1689148427,2142290494,-1041169099,1247237631,724742289,1743112214,-523267358,-1782388255,-832642624,-560494250,-161214313,-1120163526,1039020901,-1126512019,1257012578,-1797052538,-750417599,1245401689,-1546088374,1104993583,1932497272,1373787640,-1852101664,-1958113634,621297848,834155201,-1104113024,-1416266005,-1297202645,-408455901,-506777733,-1442172420,1480351717,-1671958211,-964553077,-1112101366,1084229100,-1950704666,-608921623,1548476567,1764351165,-1606477892,-274999496,-2138530882,1353890842,-1463868133,728161274,-720211032,921451316,-759961709,1956801417,-2040176769,-1020699833,11071740,482642759,453938947,488242178,-377236505,-6033854,-1981296825,769430237,1263979843,942150811,38667310,-20615288,-1395966837,-1565848470,2092496441,1081468714,-512983077,568835198,603585218,591477423,998208247,-2077678011,-1143573439,706237823,1291461964,-41078485,-1516656140,-1261635960,840511559,348862085,-721258481,-1240984248,-780762720,1122690482,-1118499156,43666527,1576722669,-284586686,-1980179003,-172173855,-941117949,878946131,973363554,1031530752,-1947012726,1327068371,157657272,298843502,-801295257,1413760142,-1649673316,984361578,-1933801313,1684941332,-1556864086,744724294,645628988,-733028832,1320490008,1737842972,518763362,-351705124,1874008992,-1363511235,-801811244,-2003752621,1083726797,2102344526,1466109118,-1008172317,710591336,247611056,-827127877,-1292907175,-1848121665,-1310041215,-455816832,355788487,709718946,-1358610235,1531158288,-837762349,-2105613250,-119427030,161983163,1336427843,-465279597,-920326821,-2091509102,-1258720989,-1646763115,-333778106,-1766189458,-1217560832,-262070172,-707926882,-1938579873,-1807950802,1603202231,394468760,-1217803815,1056033911,61712467,-373193490,-169383702,-466474625,1237278116,-2042533697,-965906891,-769176637,-228584471,-397636163,-1345324278,-661323641,-727893774,-2044386270,-1966290305,-901456467,-197045239,-208059830,-1415975881,1611917432,1676485948,-1248252004,-972511655,1391464993,402878051,989472580,511126066,-785519794,-1057325797,-313049686,2048955587,-693540168,584446128,-1745883049,2123359417,145064077,-495758273,35437484,59938318,1545212503,1334933357,1259769659,-1176313185,-2008867284,-291002899,104835144,1911479385,-219689956,-1343188732,-2033695830,-472213227,-210052191,-1586768389,-234009915,-1788085601,-658934283,-530741175,-724636182,-23595626,61808446,-1346190279,480670557,-588004349,-285480515); +/*FRC*/Random.twister.import_mti(41); void (makeScript(14)); +/*FRC*/count=287; tryItOut("v1 = (a2 instanceof v2);"); +/*FRC*/Random.twister.import_mti(56); void (makeScript(14)); +/*FRC*/count=288; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return Math.max(( ! Math.pow((Math.imul(y, Math.ceil(x)) >>> 0), Math.fround(Math.fround((Math.atan2(((( ! 1/0) > y) >>> 0), ((x > (x === -0)) >>> 0)) >>> 0))))), (Math.pow((( ! ((yield this.__defineSetter__(\"x\", \"\\uBA63\")))) | 0), (((( + Math.exp((( + Math.log2(( + y))) >>> 0))) === ((Math.fround(Math.imul((Math.round((y | 0)) >>> 0), ( + x))) ** y) >>> 0)) >>> 0) | 0)) | 0)); }); testMathyFunction(mathy1, [-Number.MIN_VALUE, -0x080000000, -0x07fffffff, 1/0, Math.PI, 1, 0x100000001, Number.MAX_VALUE, -0x080000001, -1/0, 0x100000001, 0x100000000, Number.MIN_VALUE, -0x0ffffffff, 0x07fffffff, 42, 0/0, -0, 0x0ffffffff, -Number.MAX_VALUE, 0, 0x080000001, -0x100000000, 0x080000000]); "); +/*FRC*/Random.twister.import_mti(415); void (makeScript(14)); +/*FRC*/count=289; tryItOut("testMathyFunction(mathy5, [-0x0ffffffff, 42, 1, -0x080000001, Number.MAX_VALUE, 0x080000000, 0, -Number.MAX_VALUE, Number.MIN_VALUE, -0x100000000, -Number.MIN_VALUE, 0x07fffffff, 0x080000001, 0/0, 0x100000001, Math.PI, 0x0ffffffff, -1/0, -0x080000000, 0x100000001, 1/0, 0x100000000, -0, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(447); void (makeScript(14)); +/*FRC*/count=290; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return (Math.fround(Math.asinh(Math.fround(Math.max(( + Math.PI), Math.imul(y, x))))) && Math.fround((Math.atan2(( ! ( + (( + 0x080000000) + (y * y)))), Math.hypot(Math.fround(-0x080000000), Math.fround(Math.tanh(y)))) ? ( + ( + (( + (Math.atan2(-0x080000000, (x | 0)) | 0)) ? Math.fround(Math.hypot(x, (Math.pow(y, x) >>> 0))) : ( + mathy4(x, y))))) : (Math.trunc((( ~ Math.fround(mathy4(((Math.round(x) | 0) >>> 0), (( - ( + ( ! ( + x)))) >>> 0)))) | 0)) | 0)))); }); testMathyFunction(mathy5, /*MARR*/[function(){}, arguments.callee, function(){}, arguments.callee, function(){}, arguments.callee, objectEmulatingUndefined(), arguments.callee, objectEmulatingUndefined(), objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mta(-1996836171,-260194431,-2073467195,195574885,710574519,1230263697,325789371,1490298415,-1582997618,302076285,1870614157,1079782846,1489897330,-333946928,1513250886,1343303709,410252601,714903566,-563421241,-956848314,-238409505,-910668158,-235527894,-1876540727,725811754,371479671,1279804089,-307937240,-1497589245,1095278372,-1837540715,1574696817,-1533228645,1534738794,845242031,1463925030,937183930,-72050110,-626650847,-1788263020,-670290721,626353273,1964161814,518230754,559460329,-1493121867,-251298862,-727208261,-510501800,1216224043,1429883110,765022370,261939764,-939859987,-254250228,-1770485168,850457993,1040767808,1339900551,1894268192,615626727,316543800,231841973,-422091160,-1196927512,362539282,-1561550699,-1338630499,-539532852,168186598,-1486800327,470463975,2097823272,1956304253,394655360,-1905004631,767141297,-724939204,-1566194110,-1315546324,-241396488,713139395,887395397,-289168845,206811913,1569475610,264231586,574548982,656093604,797425368,-191929918,1440768796,-1205549450,547038844,-730066589,-959769497,-859327155,-1446684249,1972412120,-597453413,-237529315,-1024130538,161711423,-1062361686,-143951205,449005192,-455944468,1553624423,-814666655,-1874459399,647461416,-978798712,-745800834,291629887,-1482567795,-1754127890,-1581127671,-424976573,-566788723,-1105714361,197941895,-889644676,-812127646,-571018117,-831805408,733034806,-1725375026,-1139952528,-1487194331,-13721951,-1766126426,924985235,1109693208,988033969,476804673,-1369711340,1233256660,680498476,1879371153,601979945,1475449588,-201640235,630758921,-1334972568,1090119513,-236305746,-2102390940,1168688013,335972689,894628029,-1157433246,-449148491,1065060815,849082340,-2117610446,1044215576,-814448351,1319916592,-2131150910,-1793082712,827962353,-316625258,1752370770,1987505302,-652281181,-1134751433,-1869772618,-452020155,-1864726084,645838204,-496124512,1059049499,2102042001,-1169244194,-788508786,1421446396,-1275345355,-1547529537,-1904658100,67041440,1557042195,1956784333,-1269108786,2120564517,45106356,-1748986511,-1446617017,1706599802,-1331088368,-2056903979,1096541811,-69113249,1069581613,-1047471659,-550643632,1797119562,1104252720,-1415285100,1838627016,1911608879,-1768201595,-1582876559,831301096,1010482319,832724853,1547425572,1910516355,-1306038256,1336439775,575064240,-1192708398,-212719118,-662088769,-1079546492,1422943190,1317549486,1635958937,-1022937628,541969696,-1791759378,-1951977542,1173616135,-178078491,-1968616058,-1406982140,2032880598,1497453044,-862883206,-1371846228,-1223553095,-1755803454,799598166,-897431218,1830994867,-61452316,587174000,1918243677,1305097494,-714154236,-1408356208,-999604893,1843793728,-785060272,-1462954048,1381684712,462815217,168058403,-1369211955,1557637943,-898165113,-9275755,-1279044481,234412659,569808387,-1330164733,-1113397583,-1880747197,-94368081,206104378,-314023440,511511920,-572667703,1703128566,1572780284,-1870127343,1962731084,1409966205,-228114417,1563855976,-361031393,1240731804,1233283326,-1004255131,339377785,-1164309,-2102371355,-104057393,-1668284254,895773556,-350878264,-1995090864,497461229,1830533841,1482759693,-854361552,-680697107,-1652685806,2061482885,-1540736019,740340363,-827900096,-459919672,869744631,-2054784479,-1113129794,-180100312,-1588608280,-4636617,1029069720,-1001284999,768076923,-442231041,-756451657,1916431129,524673435,1137545229,2135980872,-620337277,-2121362467,1553196168,-1789065090,-874183415,1412490363,-806585918,843424336,1968249273,-982753023,-398337329,1761169030,-1162905982,398603600,-435687103,-1627385017,-1181753630,168870829,407353969,286601848,717895947,1383049914,-2130589759,206717096,1696822247,-1050167230,-1587424807,2110942989,359506065,-119086053,-1994105799,-238482811,1795276180,-94767241,-879993676,1164396270,-1632204306,-1806026878,-797517747,351933711,906054640,1469679106,-1047689867,-705809529,-1368199512,-330154626,-842410235,1809969706,1185118939,1151459319,-777955440,1087557178,1654103837,-650699049,-1450740533,449013552,-1603096784,-499982151,727280130,1256330082,-1805360546,-1502662526,484990518,1419193689,-218792212,565461525,254829902,-1953613279,-624285877,281500976,1481708733,-759137145,-48185415,-1052582493,-1142003873,1971712976,1566958159,1721851613,-517005011,1834235205,-784488012,-1975893715,-857696194,-1490797448,946013648,-119808094,-1755634089,74787848,-952126191,889473796,-1718142970,756304146,1478122192,1469083698,1316880172,-485933951,723702935,144510053,-1314826157,-1173435675,-1595044301,-130826150,-2019030075,1308816980,-782663525,-252713583,-963795732,-2021515794,-298524531,1117359032,-969002086,-1634249490,900798190,825929130,590922147,2062653039,-1204334216,-1842102744,1164317236,2034058207,-750803510,-215803859,-1336406953,589493711,-44019489,-1671149842,-1690623795,1539987314,447572769,-682600547,801898131,152801896,-2041445190,-537432206,1359818277,-1168454011,-1766883315,1855679333,810698494,-486670222,-874290587,766158858,2016779959,-551935877,-2035674672,576542284,-384822558,801699681,872502988,1334710981,-687019844,-1195240662,1577958928,1672363442,1369380552,1563322193,-1347599327,-2110993241,1775044986,689080834,-984858764,1384429700,509198538,-107441675,-1257365973,1001327716,-1548037871,-24074766,1294685782,1121925903,2076540721,685733762,-920956788,-302904221,-1765122395,443338491,-584398919,-1610189333,-867381306,2116373101,-1376484952,-2032549267,221834534,1019988517,-1910335417,-1397133124,-469786412,-974944594,-2134748587,162382640,-1290832062,-1967453304,-651795244,176655097,-99138770,2083803475,-42016365,-1804075499,-2072886888,-2127288433,-2017416802,1089516248,-229814719,710281991,-594973723,-2124633778,-1908161012,1358484629,-1016024607,535429637,-1043142927,-787309274,1141813799,198440672,-709077292,671336286,1477140433,-1054941808,384294343,2091740119,2028637647,-490403417,1824015797,-1304085142,-827940325,-2110780142,221912968,143959103,-1800918516,-770051019,-117651466,1977996479,353343076,-1281580585,-274806830,-879916089,1850139415,366681277,693257167,2044427980,-1071205307,-1878357790,-732096400,-499555998,1914721183,1923172414,-836481656,1624528668,-1532990402,-1967109875,-1896999781,-1554832125,1505352884,-1786702930,119659384,-25426703,-1673966903,319576249,200740160,-1692751702,442584668,648194741,310426475,1811200370,-32199685,-1822143908,-929775377,-903113223,-1263428391,-1203690416,422212931,-562357612,-576409632,-687521589,-1846734375,-1227635948,-777463783,-857979854,1340693283,1241606842,541233285,-550704610,-19161714,-1960437140,-1286072095,-1180294410,-1397927455,155062983,241052226,1575355360,1432249950,1173407512,-1619768964,-1280077300,242744241,-1628723107,-23314663,458145945,1933550196,-1001170505,-1766157023,-125155702,-1654648955,-1110425792,-1357118209,18953360,-1091995435,610902929,1662793174,-1501040949,-663763277,2041875023,1982991713,1073786662,-1291551018,692777232,-395206015); +/*FRC*/Random.twister.import_mti(192); void (makeScript(14)); +/*FRC*/count=291; tryItOut("mathy3 = (function(x, y) { return ((Math.hypot((Math.expm1(Math.acosh(x)) >>> 0), ( - ((x + (Math.imul(x, x) >>> 0)) >>> 0))) >>> ( ! ( + (Math.fround(Math.pow(x, (x | 0))) - -Number.MIN_VALUE)))) + ( + Math.log10((( + Math.hypot(Math.fround(Math.asin(Math.fround(x))), Math.fround((Math.fround(( + x)) === (0/0 | 0))))) | 0)))); }); testMathyFunction(mathy3, [0x080000000, 42, 0x100000001, 0x0ffffffff, -0x0ffffffff, -Number.MIN_VALUE, -0x07fffffff, Number.MIN_VALUE, 1, 0x080000001, 0, -0x080000000, 1/0, 0x100000001, Number.MAX_VALUE, Math.PI, 0x07fffffff, -Number.MAX_VALUE, 0/0, -0x100000000, -0, -0x080000001, -1/0, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(462); void (makeScript(14)); +/*FRC*/count=292; tryItOut("mathy1 = (function(x, y) { return (((Math.min((Math.fround(Math.asin(((( - y) >>> 0) >= ( + (( + ( + (x >= -Number.MAX_VALUE))) && ( + Math.fround(mathy0((x | 0), Math.fround(-0x07fffffff))))))))) >>> 0), (((Math.abs((( ! (Math.fround(( - ((x >>> 0) << 0x080000001))) | 0)) | 0)) >= ( + (( ! ( ~ ( + ( + Math.acosh(( + y)))))) >>> 0))) >>> 0) >>> 0)) >>> 0) | ( + (( + Math.trunc(( + (Math.sign((x >>> 0)) >>> 0)))) & ( + Math.log10(((Math.exp(( + ( + Math.imul(Math.fround((( ~ y) | 0)), ( + y))))) || (Math.atan2(((0x100000001 >>> 0) < y), x) >>> 0)) >>> 0)))))) | 0); }); testMathyFunction(mathy1, [objectEmulatingUndefined(), -0, ({valueOf:function(){return 0;}}), [0], undefined, '/0/', (new Number(0)), (function(){return 0;}), '', '0', 0, ({toString:function(){return '0';}}), ({valueOf:function(){return '0';}}), /0/, false, null, (new Boolean(true)), NaN, true, (new String('')), [], '\\0', 0.1, 1, (new Boolean(false)), (new Number(-0))]); "); +/*FRC*/Random.twister.import_mta(2023839513,-165131601,-2067336131,-608862154,-203463365,1941184259,-1639942305,407872418,1638481970,347725180,-2134664980,-732642333,-1314642899,589022839,1616488522,1709092818,-742134549,834650834,-1924189394,-1552666872,-1562241829,-429112197,-458586283,1687891135,-1323148473,-975370260,-1897533076,1483031542,633494950,-385262006,618327725,2019937343,-572183326,-1558517177,-692024244,-2020973645,-1495175700,-1349390531,1343867371,576647469,-462816144,865259491,-1994142261,1448314969,-611976032,-1026002068,1710548879,508708169,-848954444,-933026815,-584070604,711252240,-1027587682,-1485432323,-845785864,-502424489,-166428862,-1859197187,209012828,-992052759,-563879648,656569263,1835404580,1073354566,458416705,-716142652,1858010032,-305693631,751706121,-1549097023,306304344,1812047760,-1122231637,-228955467,725571872,-193237405,-1981811185,-1346222381,367033280,974221683,-1215488625,-1415213697,1735536970,852714808,-1207142232,498279338,-868896190,-1282675399,-611381078,1147337356,-955994074,-1697930922,1567981080,-1879215541,1951376043,1406278341,773176536,-1087649342,939206727,-397494175,-764021175,1466071496,-110053887,-398817429,-1216946070,1314732581,171665407,717740282,1431958331,-763389285,-1525353894,691359591,603261697,-1601283042,-1758430446,1219816853,1679743346,-1494492532,91492509,-1023107175,-458331569,-1227266025,-1275234107,1827021552,-2140878257,613919161,101549545,196867805,-260562360,938536324,-1166856487,-1009303509,-389878606,628635285,-645182319,-420409992,427676958,-1449237976,475014343,-102679217,1477045315,-1105122460,221864400,1256776356,-680794491,-1965716363,-1785056754,-2033129270,-1426879666,1683620605,733167680,1455422682,-854531198,-488993925,759097363,-871122831,-1452120176,1621675261,-298864278,1264853034,-1199684656,-680877526,1652730623,537320992,-1073224900,-1237663574,2008458804,1533090919,1489524734,-1439926662,-588900722,-2129701726,262661252,57974453,-1807192699,328276377,8206703,-1927870113,-179380087,254729862,-1166814726,-1000968845,1000243373,-698522991,50719678,2067284968,-1552643420,-729227718,-1806501226,-1281087140,-2068146827,432281687,1192968635,-458164668,-958990396,-1722882706,-1182831957,2146799267,-1347489398,-811400579,-1668986183,490116588,409053156,845811049,543821859,1058213315,-410024175,-443397719,1646052908,-668532002,-283934248,231104394,-1028409017,-675803477,-2007491032,-1461132285,-1620385241,1951352065,1770373153,-481003242,597593455,-636656414,862366626,370228004,-812524739,99244522,-835118148,800912335,883555756,-815088548,-1939737827,-694271588,-1674719739,-1603579731,1227910042,-1047856829,844941303,-1435175058,-2108433493,1251543619,1441317335,1220796258,834151474,-1158773217,-1518498315,289778912,760029745,1434546591,1516208103,35327168,-1536018849,1859552929,1278147634,263645106,-1615036303,-80091944,221374914,1660853552,1321336007,-1831097766,352108284,-1543415113,-1454030899,934138555,-705717221,-485209846,-2107252235,-1963804092,-1616383053,-304495227,1922219046,1621059661,298712207,-1022670171,-972892060,680219020,-2043993008,-2019688562,535813108,-2041910346,1890450132,1645427023,1463133070,-794967462,1670440788,1120553557,549000436,1434340361,-398812619,1245024900,1303445538,-609104539,1318783499,812484079,-1754886699,2087305597,1165932293,1290467476,-685647245,1928813641,1501614357,-616344924,342813488,527808029,388775434,709379684,-1902448019,1849877694,-974356677,1843180917,-836151453,1260173898,977608523,-1793629334,271307066,1613861109,-1454725324,-1283975323,-2019812841,378823856,636893748,-1564009513,253097396,-233476655,704685093,1064415611,1680020539,-79551724,-823514377,-1084647851,1134792263,-1748681653,-2015010282,-304422746,-1183205267,-266194455,266667096,1157154759,1555403181,-2016329627,-985107900,-175908763,1206888802,775144115,1473775221,-704533819,-670811551,-815617714,253172338,1073926617,1004492196,-162671376,-612633884,1945992444,-1310524561,1260420460,522208844,-635811388,1804877690,1565643526,-390906833,-1796538615,-154641696,-244574819,-63776983,958475638,-204272544,188642306,-262863745,-1099282525,1938972114,515471184,-1924284718,156606401,1925008304,-493869610,-780519300,-1680093476,-1322839079,884555148,639961099,1476137467,2074737033,53114913,-919081804,26024727,1677391088,1684788121,-1323635147,823178435,2084003016,-60158739,1688200030,898379824,-503941584,38433404,-1494750599,-1972620793,-1392346678,611310749,608854307,1019495194,-553073907,-1657073790,214898089,826357028,-967792320,-966118953,512415822,1553988487,1744376323,-495277655,410947998,-524975021,983178915,-182567094,-1866780527,-873382142,1125946144,1602623342,1814308426,1655082028,-2058007086,-261704257,491161529,171499706,-432222056,2082240112,-602791144,-789025316,-1781361191,1851274068,-343528070,-1972720472,1909214438,-792961731,382356808,-341948180,250568151,-1387786498,641083750,209570229,2058851546,1898964810,1818650238,1492828184,531462395,1967905130,2132745062,-2048718016,1430533068,-1631621093,828526747,14012627,901535913,-1973009391,-454244350,-805242232,-1181180268,-1376071460,-2002461751,-22026003,1330965388,-364768901,-560827437,-1764057430,1748964857,1017814421,1206861575,-1803756521,2036414933,-123073593,-1718586185,1376088264,857004724,-499625281,-1494154361,-1340240482,1247489767,-1545647396,-572819393,1266833363,1285830619,-1002806296,81328851,-1461982930,-2078152050,-828838123,-493016028,775449088,-1447809465,-2085411771,-1830053536,-527162718,1402676145,-613346773,-195133916,936327650,202136103,-846821076,-33494222,554713106,-1891855974,1427663749,-979050686,-964855572,-978665607,282436536,-1036177744,-1693051182,1741801335,591311859,99330387,-775041439,-305224666,1053240296,-204189405,624447153,549332137,1265824123,447983237,-1016631686,-916136374,1710348749,-1634621784,1887428423,-678778255,-236264167,873971873,223114629,-517056561,1446262915,1825917344,332927149,1679225272,904410622,295884430,768806371,1100706168,-1165754497,-489160573,-320494586,-1910877791,984586677,1054443101,-1150179983,-1349546419,1844674117,-924215313,2114536709,302904513,324010042,409180095,340344757,-384690933,310558382,1629891783,-1962759143,-82193903,-1926894655,-1370878694,525273802,657859666,-546596645,1090732391,1362675192,-891164853,1326553025,1707816207,1914041819,-2010044527,510272347,725842541,605634626,204658685,1396148314,-1784718425,350410990,-1734376704,703717982,-1576844081,-359982363,-1157848641,2035180629,619074698,1318357543,-730322021,-953857760,-343461426,-1285859370,835234098,-1595816366,-159435431,776254940,202465571,-559544945,-1797950324,1365917278,285430766,-728467500,-681127226,-457167039,81169029,97904879,-1572593690,168169437,-420689981,1516251982,-2142984474,625075753,-844313983,-1985513732,-2014242910,-1463380505,1441122674,995207567,-1003493563,-1713002192,1585166978,1151317197,739118939,-1252847944,-1350954013,1136652586); +/*FRC*/Random.twister.import_mti(244); void (makeScript(14)); +/*FRC*/count=293; tryItOut("while(( /x/g ) && 0){v0 = evalcx(\"v1 = evaluate(\\\"undefined\\\", ({ global: g0, fileName: 'evaluate.js', lineNumber: 42, newContext: false, isRunOnce: (x % 29 == 25), noScriptRval: (x % 10 == 0), catchTermination: false, saveFrameChain: false, elementProperty: s1, sourceMapURL: s2 }));\", g2);print(x); }"); +/*FRC*/Random.twister.import_mti(348); void (makeScript(14)); +/*FRC*/count=294; tryItOut("mathy2 = (function(x, y) { return Math.atan2((( ~ (((Math.atan2((Math.sinh((x ? 0x080000000 : y)) >>> 0), (Math.atan2((0x0ffffffff | 0), (x >>> 0)) >>> 0)) >>> 0) - ((( ! (Math.max(Math.fround(x), Math.fround(x)) <= ( ! 0x07fffffff))) >>> 0) | 0)) | 0)) | 0), mathy1((Math.imul((Math.imul(Math.PI, (x ? y : (((0x080000000 | 0) <= (x | 0)) | 0))) >>> 0), Math.sinh(Math.atanh(y))) >>> 0), ((Math.imul(x, y) | 0) === Math.imul((Math.abs((0x080000001 >>> 0)) | 0), (y ^ x))))); }); "); +/*FRC*/Random.twister.import_mta(678471567,1986638603,1236606086,-995269791,-602473404,1226852477,-786637229,1008448944,991812506,-969841354,893968633,-548373881,-1810192285,1473627686,-795476416,-1466443980,-1200986822,1010665268,-1532745522,1489144355,567258592,-1472110507,-1262276114,-306332874,4722650,-1037585052,-1672211388,262646122,1052528543,760813329,-651812688,-220154519,410888224,-21834753,-1265257902,-1191797876,1152052201,-2134370100,1486591348,620671856,727687106,-1820980243,1600748045,200595254,1829892099,-1857726526,-418482895,1255447460,-1513889081,1899666913,544847330,1585396649,1330689889,865016240,1991315183,1248358202,-783674510,1938226311,822200378,-1948436334,446264192,-1892968442,-1308107905,470096438,-737694961,940283476,1168711556,301847304,503807381,555745109,178933341,-1066827123,1952012690,754881861,1537149993,1148665711,-1662196866,2045044564,1714969305,608124319,2093480958,971126338,-1162414016,-1042463637,89900550,1790897914,83305899,1763668614,-890596248,-1482444131,-2080555074,-1943563480,-1328651270,1251692493,861051384,-2048833780,-16660925,-1855060147,1985937092,74200543,1551762694,-1447251464,546536006,-1514431737,-550081057,321491642,1081837560,1979749888,1984562558,-1759459756,-582503212,1255087087,-1957611299,743045886,-563317274,937739754,-1028119769,914103479,-2041719557,411817179,-413382043,-532142060,1023533059,-2088141955,136579705,1399499873,-115043716,-1498564724,730311045,1404800450,151647699,1081521912,-956768752,1424179544,625786431,543925039,118956473,-1288285436,-1877992570,-458321808,851679313,117948816,-1611166163,1348813598,814207715,-992524122,2043145680,1805665274,1347687632,-1168757139,1185710120,-295573970,-1771261849,-577097705,-1403949859,1289397367,-48895724,-570044994,1999679163,2098793775,-524813044,324024241,-1658420015,-1907753852,1146251935,1559066440,1809032759,1835494040,1143930565,-1533875188,261504400,572049229,-358151586,454926732,-827711672,-1300933115,-1147505614,-274917530,346089241,-2002341030,-272540024,1549300617,-1680350263,-478039792,-686343407,-1421417235,319425352,1859070401,390504073,254661118,315618772,1359094220,-2130498316,1386468048,-330910491,868757715,-927546798,465967590,545207406,1134518543,535917736,489914396,1420411327,1583049224,1648433535,-1374029358,-300647196,-750093072,638946994,-1855650001,478348427,940952218,-678080093,-1988049515,1155249186,1363990126,1273595832,-131098179,184259844,216535341,-1260184767,130608979,1335306591,-1831972326,-140107187,-2006540739,-1922484206,841242969,1373433125,-1769122345,-1344126033,185117593,-2145562380,-1249580130,-2049541682,-80017218,-754246015,-311837197,588533625,669415511,1941186967,-934679463,753411300,1943802655,1956598084,722077961,-351632845,-1779916084,-1454578123,1072863774,64899257,643789251,-973289795,176350371,1916492550,2015673214,472275337,1733193228,-74620860,1375991646,1975176827,2033687915,2049491470,-145386181,-247317431,-2136877743,1636298322,-41625916,2089966064,639640606,-1565273137,-50348389,700990031,-2079385341,512832354,-1495895825,854876710,1871599640,1566199410,923159051,-1685178936,1563156264,1646693911,-1602068264,-873764494,559759936,946515529,-1215525307,-365866684,-1797301394,-1462416293,709009109,-1187650436,-686626383,-155090071,-1515153720,124420895,-1204677701,538614902,-1047428665,23018519,296253873,-758819650,-1753547653,1824572518,-125988048,1394495424,-952535876,-704324569,78308142,-1538057906,-2123236996,1614110543,1289932086,-1072756189,-565196814,1729563120,1497072234,-949116560,-1573552416,-1024429319,1960338210,635650363,856237198,400453423,-582499322,969745493,-1576820574,1863895565,-666235462,928101885,-1664820012,1707401961,-2049971439,-1759953365,834176850,743708008,1779813597,-802223358,-369819137,-813652461,-1113874089,-1175088020,1885114562,-2072741622,1934063892,2134540412,-1596471460,1497493543,552487633,-1196453627,1704588043,714347039,2027773716,-1019377350,605522595,2125900064,2093214318,1860067195,1806299352,-2019652093,1579717455,-1042998978,-536413454,-274283073,-1443258954,-1590580623,-1813927247,-1053666658,-432103228,1597634742,908135818,427112345,1083787272,1525174545,954796270,-138688253,-2026391269,-1271039768,477529277,1869383733,143466694,-733534024,-644997298,130805994,1187894467,-702262212,1630681801,-758063857,-1556272459,695487021,907909936,1177251664,1529388335,742544294,-833242330,2024555984,1494679925,-383280676,1636469264,92241921,2015809041,-51850812,1693797945,-146960908,931705785,1922767726,-1601949009,-350273899,824433175,1270109467,-1691847714,34903579,-682642234,1413494372,-971786722,1792364159,1933687876,2126588539,-1223606319,1676711110,-286518772,-755770669,522006865,517630395,325147682,1032935991,838362404,1968158450,-2025309300,695694242,1468141506,-349393018,-1762501993,1646060209,1836099606,-1532353703,-1023665473,783404517,-2071050992,381063568,2038464079,1775969739,2111485063,-732759631,-1675257434,911080856,-1955817742,87649011,624242873,77159112,908049119,285525643,247440537,-1373647986,598378788,-24303469,-215085851,1576387575,1564970447,1406906167,-495186936,1460842716,625645495,-1509625178,-838634150,-1598323134,-917829941,1535062669,-917501743,-696146397,-1587553344,1107865965,-226431127,1039940428,1664931625,1744592081,-299243,934335661,840551037,-162824299,-849219532,1513720458,-951937985,1931713179,-1180855037,-1404620789,83122281,774613099,-134584846,797226950,-1204293383,-252984320,-1857892523,1228205838,113075938,2110241007,1035816451,-633538035,1455962070,-729335542,420445103,1431500274,270929287,212919406,-1501060847,2137824215,-1164926320,278975553,-2000233101,672500222,1343622404,-1867311697,1317928026,-386982991,1255393546,1598803177,562228944,-1762437449,761562081,-157196660,-1837896628,1312869105,136466507,1493519559,-1831372399,543966100,-1034130280,-1912147028,2069548934,1701335269,1521115318,1754868665,1628780316,-573739453,-556419232,-1957964544,-2069978638,87602716,-2007896111,982523701,504009260,437304311,-512525823,-578035699,161666697,1304719645,2139883985,-1831571073,-1242756220,983639187,-2098785233,1315695363,-1806918129,-347930635,-964465487,1153690473,-740955094,1130273259,853664868,-899125644,-2071843838,-2029650976,-706935548,1116319265,1817659512,393575104,1684900939,496626533,619034491,-1503579728,148731107,1632360757,-534029475,-1991507087,-897127125,1788815014,-1260367739,828441124,-1566768985,-1802476871,122382650,-1044903850,1824883557,-1031725150,-571803031,138105928,-228780316,126171300,-1724822105,-260695589,227667916,-19151016,1043442239,632953001,-1957107496,-1903443989,1471697217,476788320,1925603066,-1410207881,-2121554804,-1559540666,-426129680,1530662442,507751382,1900450074,1867438918,-1020959987,1805253927,-1654807504,1144224571,-1952043281,-1126780795,-443392303,1775214194,-271581651,1179228012,-1923419767,-920332254,1098979955,-487069048,-1349893197,-174283064); +/*FRC*/Random.twister.import_mti(76); void (makeScript(14)); +/*FRC*/count=295; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return (mathy2((((( + Math.fround((( ! ( + Math.imul(( + x), ( + x)))) + mathy4((y >>> 0), 0x07fffffff)))) >= ( + ((Math.expm1((-0x080000001 | 0)) | 0) - ( + Math.hypot(( + -0x080000000), ( + Math.sinh(Math.PI))))))) >>> 0) <= ( + ( + Math.sin(Math.asin(Math.fround((((y | 0) ? x : (Math.min((x | 0), x) | 0)) | 0))))))), mathy0(Math.fround(( ! (((Math.pow((x | 0), (-Number.MAX_VALUE | 0)) | 0) + x) | 0))), ( + ( + (0x0ffffffff & Math.atan2(Math.fround((y < Math.fround(x))), Math.min(y, x))))))) | 0); }); testMathyFunction(mathy5, [-0x0ffffffff, 0x080000000, -Number.MIN_VALUE, -0x080000000, -0, 1, -0x080000001, Math.PI, 0x100000001, 0x100000000, 42, 0x080000001, -0x100000000, 1/0, Number.MIN_VALUE, 0x07fffffff, -0x07fffffff, 0, 0/0, 0x100000001, -Number.MAX_VALUE, Number.MAX_VALUE, 0x0ffffffff, -1/0]); "); +/*FRC*/Random.twister.import_mti(464); void (makeScript(14)); +/*FRC*/count=296; tryItOut("mathy4 = (function(x, y) { return mathy0(( + Math.fround(Math.pow((Math.sinh(Math.atanh((y >>> 0))) >>> 0), (Math.hypot((((Math.hypot(x, (y | 0)) | 0) | 0) >>> Math.min(Math.min(y, Math.max(Math.fround(y), Math.fround(x))), Math.imul(x, x))), x) | 0)))), Math.hypot(Math.atan2((( - y) == ( ! x)), ((( - (x & x)) >>> 0) != x)), ( + mathy2(( + ( + mathy0(Math.fround(x), Math.fround(Math.cos(mathy0(x, x)))))), ( + y))))); }); testMathyFunction(mathy4, /*MARR*/[(-1/0), /x/g , \"\" , /x/g , /x/g , (-1/0), /x/g , \"\" , \"\" , (-1/0), /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , /x/g , \"\" , (-1/0), /x/g , (-1/0), \"\" , (-1/0), (-1/0), \"\" , /x/g , /x/g , /x/g , /x/g ]); "); +/*FRC*/Random.twister.import_mta(-81041361,-839051361,-623604865,1802829347,-2051122448,1299058226,989369569,-357343175,344981794,-1321739315,371506995,941283963,1523136772,1677634107,-815556540,1579263110,-1991149732,1175593475,863650768,2050136207,-26624847,614511244,-1043340726,601133867,-805320514,-1663446799,1489954276,-1735590229,-1664784523,285362799,-780103857,963732194,555344556,1933421195,200884740,275868333,-1768532239,240199691,2131751342,-1325011784,1380954006,-670187460,-2123092341,-1187587762,1898108334,-2091602036,414251349,1606137869,2108712841,644949865,1029422073,-1147567716,1022540897,-1496748704,321621314,966905650,-294360571,-1231081581,641996141,-1279159981,-189021978,-1644257641,323289300,-523187601,-1099315422,1975926558,766803507,806354099,1199847983,1021710771,1886877522,559128132,1177023148,1648791784,443348136,1283375314,-1905091389,-1746360577,-399771335,1503633710,-485854156,720087181,-872425321,-1259955050,-130119863,-1052071808,-204657284,1448530095,1933900946,-306597932,1122472445,1984731542,197096139,908983098,-1161342081,375625726,1090354220,840667244,-1652306734,1408809580,694359807,-1972025554,-585282934,571785018,1352381170,1970222606,723928711,932570833,-1390951877,298795453,1191157688,-1946093328,-555606004,119780109,199520241,686273763,-1933884706,1925267731,-1616997448,-168994556,1369897690,1367021161,-1247244672,733735791,583928483,1926398927,1534364557,-1781651238,-1156923536,-1109390942,-496551964,-1384473436,288059178,-288964827,-745078274,-233174086,2022579870,-1782226048,-1400701096,1260562935,-2028125894,-1815363115,-530362786,-1143257445,1013003903,1727221023,-727491588,-173938075,-1920896672,781332745,1220344518,1089116563,1109959504,-176086494,2105734859,1893801865,-78743344,164763767,1627871993,1956124143,58017581,-725259428,1975851558,826928100,-1426810970,736401444,-479285176,-107585124,2115911294,1354654728,-328638670,684355146,1768646589,-2127282668,-923832514,1015472940,-1746546450,1511309346,-824855418,494897634,1136974238,-1518189793,-748824529,1712541678,-874468461,-2009264654,-1029003430,1344987193,-629402986,22851234,-623114750,117747422,-262101809,1599992694,-847427718,-629102991,1943185100,897942174,866117760,-2123168321,1495372111,-1355323808,1575742462,64606999,-1769514907,-738102732,-1891829624,137808243,-1879467874,-1508924544,1933852171,1910995715,-1236193486,-13599199,1821708300,-1370297037,432655492,-1594911661,-156031429,1823916882,-1666887654,865719801,-1069289169,-1554334838,1070339401,-381755462,897989307,1254993506,1605569963,338500215,-1208476880,-2052001142,397179901,2014554118,-1758534554,-467845443,1586214379,-559536048,-1293855089,-98853616,-556602168,-1726510538,-20505130,-1289822210,-895510952,-1611156970,818334185,868712308,2069495683,1495824073,-1443652843,1946753855,1083183743,1641236583,-1533107436,199162734,581270889,-330940563,1349556557,-2100546226,-693185311,921510659,-1294790417,2000680970,-687246724,265029255,-1882748966,738624366,-887238093,153450419,1581364956,-1127332778,408654802,1475895524,-707252059,617240218,297143141,334929088,957486150,825599621,-933461260,-1154450794,702611294,-1954423108,-432959821,-1552289130,823092910,-2119997372,-678350048,-567863770,754529754,-1562168036,-2025325799,-807661736,1658304471,-1657156737,-1174951759,544881001,-1735135624,-1618944904,-208003857,856579831,-1630859728,-132972816,-1412010137,-2119901479,2047023984,285256440,1757337882,-640265168,-195141592,288135217,-415511013,1254234290,963720022,13596778,-1054576927,1632715077,659957478,-204473496,1279380139,826164029,266798521,-769983644,481849967,1483599399,1123641917,-941112538,-1504689677,532488363,745984336,-1150192807,-293571751,-106796723,1867097464,-1153578865,-1110632692,1860704825,1643301072,539673562,-1058614407,1461626311,1355414658,-1904116133,191036825,-1610361978,-444155222,-1542540778,-670792738,821556957,-1065377227,-1366510733,1320954949,2062176016,1590517076,-2075005984,-2088633195,1275111558,-1733401400,-1947428620,416958045,-209875615,-2112260413,-1772761954,-1053184677,1695718079,-1680159632,-410752907,-522939977,-1879068155,-1597259682,-1445782164,1186982171,1625277355,-371888622,794043710,-201237157,312624818,-1747358958,-325691499,-238570943,1470194327,472256558,-1196719963,-1279507767,1242919143,-1660307372,-1290430091,475221721,-1200123921,709305980,-1981734898,-1619499412,-179332709,-558056433,38280342,-448965523,-654666788,1477389122,-220457118,607119811,-157612068,-671812369,-1401219564,-1730664159,-141018831,-1808457622,-1354500597,1679498955,1871659645,1804039681,333598785,-1550133359,-1467302808,1931688758,907937142,956067968,2092180448,-2054913559,-2120683860,1747712624,1024203468,201756166,-440982834,1010117775,-1268779708,-1718667475,1669745206,-1399620698,156258863,672716022,-1559162970,108064672,1731868943,1049533816,77871597,1584995840,-1122736090,1939888523,-49649670,1526264281,-1049611722,162989999,-1427636093,-285386624,-1382688521,1761642539,1194415548,-1207173766,-1039180725,559797818,-1371093293,2003418409,579460988,454617840,-100849347,-189616934,1074416148,840664242,-1488380743,1227730434,-56116216,1873855929,1300876472,-1180200195,-490957394,129412778,711312721,615988865,210730520,-474926562,848526897,1069512061,1849218127,-1689148353,-777035468,-2264676,1797472668,-200454434,-490922646,123973757,-914201007,-1317600850,-1036254981,1770014003,-1621380713,1505667493,1488171019,219156986,-451851508,-231952215,-1350791044,-563752462,-346165155,794308639,1828109979,-1896652691,-363365627,-676700227,840437591,-2106102292,-9352612,-1244536698,401504594,-1715602281,-542316174,746452941,419715083,643540208,2112502689,-1551181762,2002826427,-1002500933,-1670358103,-456487743,1631348107,-823762610,-1098371490,1834599475,-1139321761,-2031748738,-1660984720,2118533,209567245,-1340525186,-928657486,-1095833036,-1265015495,1319319860,897029789,-716714325,110250596,-1322367657,-840098674,2120905032,756757402,-1684470583,-1228784858,-1945313530,595292510,1170690468,-1385046414,-1451330123,921251384,-1131898146,-1732464969,1426149215,-601668917,1808320255,-876665041,1247920556,-494586063,-884796929,-1370446568,1034864033,1564017816,911726270,-724488838,-1576959637,-877378461,-1142718644,751523976,-774682099,1166110915,1489223173,1783133616,-1961577184,1461884436,-597373275,1140417626,1407677685,-1563450916,153014007,942148557,1480946780,-1387589491,-1282445760,-1731255513,650806271,-1644384826,961543053,2115066239,1799068301,-1564380348,-1141021331,-592195860,-1295903866,1528355343,1726847853,1663748849,-795001992,-28029193,-1560084609,269447419,-500687847,1050279581,2099980922,-1359062162,-1867501039,-900747649,538579437,-1202665423,1545127494,-1717609906,495162201,-1350949985,-617530826,1230877464,-1150997285,310952502,1136299495,795338081,-1921607558,1992828899,-940419508,-1296301808,-615300007,-1243419033,-311210977,1722833802,-1003197217,275852553,2022068210,27283621); +/*FRC*/Random.twister.import_mti(248); void (makeScript(14)); +/*FRC*/count=297; tryItOut("yagqvp;h2.getOwnPropertyNames = f0;"); +/*FRC*/Random.twister.import_mti(289); void (makeScript(14)); +/*FRC*/count=298; tryItOut("\"use strict\"; a2 = this.r0.exec(s1);"); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=299; tryItOut("\"use strict\"; a1.valueOf = (arguments.callee.caller.caller).call;"); +/*FRC*/Random.twister.import_mti(326); void (makeScript(14)); +/*FRC*/count=300; tryItOut("M:if(x = Proxy.create((function handlerFactory() {return {getOwnPropertyDescriptor: function(){}, getPropertyDescriptor: function(){}, defineProperty: function() { throw 3; }, getOwnPropertyNames: function() { return []; }, delete: function() { return true; }, fix: mathy0, has: function() { throw 3; }, hasOwn: function() { return false; }, get: function() { return undefined }, set: function(receiver, name, val) { x[name] = val; return true; }, iterate: function() { return (function() { for (var name in x) { yield name; } })(); }, enumerate: function() { var result = []; for (var name in x) { result.push(name); }; return result; }, keys: function() { return []; }, }; })(\"\\u704B\"), ({/*toXFun*/valueOf: (function() { for (var j=0;j<6;++j) { f2(j%2==1); } }) })\u000c)) { if ((eval).call(x, x)) let (kztsay, c = return e) { /*hhh*/function ptmedt({}){ /x/g ;}ptmedt((new RegExp(\"([^\\\\S\\\\D])|\\\\D.(\\\\1)+|\\u9fbd\", \"im\") >= true)); }} else {m1.toString = (function mcc_() { var psngcf = 0; return function() { ++psngcf; if (/*ICCD*/psngcf % 7 == 3) { dumpln('hit!'); Object.defineProperty(this, \"g0.v1\", { configurable: /x/ , enumerable: Math.pow( /x/g , x), get: function() { return false; } }); } else { dumpln('miss!'); try { m1.delete(s1); } catch(e0) { } try { v1 = g2.eval(\"v2.valueOf = (function() { for (var j=0;j<19;++j) { f0(j%3==0); } });\"); } catch(e1) { } (void schedulegc(g1)); } };})();r0 = /^/gm; }"); +/*FRC*/Random.twister.import_mta(655141068,-1402085854,510580908,653313211,-1876164411,1400901184,2758359,-762304080,1980457992,1177538348,709241833,1233093193,-948394049,1278655011,2096267778,-1489867713,1384848822,1788746462,-1844446738,-1631576569,786725542,-1520209716,1232738278,1339301423,-362266005,1617034484,1895427396,-346083350,1708548268,675790933,1061092167,-1138783504,-1446627403,769947124,841026095,-1808567289,-1189470763,17393071,472305585,928958923,-1861056456,-1441595887,-1584329891,577346318,-1059428880,-588788774,473787482,1227742107,665189276,-291117816,1526568306,2138706837,-781456645,1757941915,-1298783926,-648333068,-523306902,-785231719,2031440203,-1896919895,-1744980608,2075722968,237619537,370232723,-2042322041,-530429313,-863600066,57491253,1707552168,1066210563,986450547,128239575,1034696300,-293124022,346824280,-1584493629,-1127991313,1984751740,-1117736541,-833074298,-1487002363,1224348234,-1194437855,-495697146,-1457049071,-929982704,807393395,1344420730,-1450744195,-1580871292,1670773952,-1849223104,-33048943,1984408009,-464692349,-31756316,-229623701,563730038,84599725,55204813,-278013806,-1188758792,1662144714,-1438993259,-976826021,961180442,-1792263451,373206357,239335795,251803665,520365171,1227535606,-1485614344,1064328985,-98836971,-1033720364,2081967103,-351943395,466274569,-1506468829,255661493,2005762931,1891766583,243944688,1017025352,-1265457508,110799456,-308516154,-1772762269,-811765306,-500946069,104238753,-1692632624,-1131655596,2141147065,-848737768,-955273906,673910500,-779954242,-1743281068,1714383635,-63080407,-409050420,-2097186236,117491746,-2094016437,-718181419,-95935890,1459422956,1902064188,1700708061,1255970647,-243288514,-1381496298,1140656170,-152818281,1940986364,-1809459198,-25313616,-1360673289,-21784364,-656208776,-753880687,-1365691233,2033783962,-530312663,961167373,667722042,1108821940,-1121969479,55025969,1910099364,1130593104,932234090,-57880502,49030784,1428319196,2133831199,-470494084,-1838349681,319206007,-697508041,-285930959,-2051596645,974118790,175032608,1406972807,-1765577690,-1675781699,-1616113529,412781920,-942310955,209990474,-165439291,169651472,-622089191,181252532,-68687783,-1490498403,-2001513982,-1184503714,-28981266,1387001643,-1303311104,-766480085,461814274,1150062120,444555030,-58854817,1000052204,-391725498,-1605518526,-199733767,904922593,-1589239001,-1047364040,-4760299,631469454,-991469383,-721294252,1965470788,1415185495,924649039,47896228,619594452,-1152523664,616990612,-1847746874,1064559558,93508916,1680391678,1123192292,1871305283,196961508,966133297,-2142892510,1769790212,-365023119,879905985,-1475227173,12418872,59837673,-21167168,935646874,627426261,1399074245,-2027707971,-1975503432,285211511,-997496141,-1395121297,1395194763,-914298856,1656143054,-1364176291,-309563705,-2022936772,-837941442,-1116106665,1536814362,-275098454,-1304415609,-273905662,-1835096853,-538454477,465898588,1633519740,764727806,2005464343,-1900949453,1007597861,-1929925607,-149161048,-1344682793,457765078,-1233760527,-413226136,1182048081,-18321400,-179983487,894447056,-429498651,-593766486,182357996,-2138134062,563274268,-1908475765,-63624176,346722251,1481987004,123787037,1559228116,-2020848173,619047178,-1795593643,-1607186129,-155666072,914750799,1214556651,-580286268,772331502,466196800,-578292549,1881649283,-1349109809,-1067369445,-958914822,-1828632184,1678850130,-1025416395,871022529,62023107,-1376740535,749158872,1346733903,270393810,1214628345,1883172787,-1474238988,19915547,-137348984,2058774912,-686419370,621064579,-1800957510,-1115756948,549042782,625821876,1878186610,1965635682,780844518,730748968,-594282653,-494344103,-1834419763,1353020149,-511801902,805126171,1497355547,503876507,-839402203,-763420588,1546297894,-1600027156,-83612450,1762235484,-198032088,1665094746,-1224816446,-906661646,-1060854378,-1027066443,-1981316844,704382154,-273375434,1318946294,-1449319035,-294446833,1136706267,1316612641,473577531,-1482996729,-2042385321,1050397500,-1012206748,-596659834,1927094449,-1890741481,583668212,-1208253725,-703138574,-44594064,709396801,-505684772,-1377685263,-168486754,940446053,1857162068,-1516303294,278192065,1601178498,1307443261,1941527834,-1285060537,1747439790,-252091750,1852291474,697470823,1573944144,-2043469137,-1435917160,914696108,63663675,-820203819,1726525297,-377397923,-782412969,1866478736,1220003349,-2005123218,215826564,243145442,1423027594,-2142842989,-1645542824,-1444002743,1556367701,-133984819,2024001238,1111359982,357467748,-1295383407,1579915028,709701148,-1915982179,-2140954115,-1577713289,-2091877045,-2028401021,2022821490,-391801437,203418131,-399491714,-840984788,-506981637,1927800788,-110069991,-1356049011,602234406,1185389904,-1546024237,-1855453445,-1324149158,1540079764,-2128219329,-750682785,621912575,142484060,-1631024961,7112138,357047546,2090143791,1307496102,-2000031403,-362731222,695178355,-157727094,1763920633,-1403708755,1739844946,-1930361582,-967693153,-1442247218,692777708,875281031,1160426923,1704456254,2099609511,-933317785,186584386,904837856,-683224014,-1501370242,-324558171,-1688175962,2007571348,606831532,-1947316057,97956837,-815424817,-142223011,-1548564044,-42928323,327402365,-493386462,1863402425,-1323644291,-1763802112,578188606,322535673,-545308871,-166997366,362471013,1789197690,1487630122,1219392602,-288848448,-384672681,-2134337791,263348361,-987697963,-1328202038,-144489299,-1342627668,-2098774420,-369494530,1653792110,-825022940,1291000685,-165655202,-798924295,1101004949,-41848232,1921574396,698543080,836647729,1624192859,645791656,1100739562,-849429579,-395942546,999923536,-157122793,1699941940,363048458,869908332,118572179,-389773861,-605227996,-989941396,1788500018,1306653512,1057105654,-290184233,1389828758,389274865,506301063,1230588788,-1736777007,1848419121,862885297,772384187,-1500007844,-1175640482,-2054369211,-254473495,-1719632218,1978454082,1376771436,-1894567013,975154913,-1645081270,1265202894,1445039254,-1519908809,1537798788,-1237912927,456977192,-966702392,-1306070400,-1924228412,1745791386,-363416352,-412719023,198298360,1960390957,1598140127,-427635316,-681784634,-2124265275,-1259518947,592047124,-1418888629,1410853391,450460355,1555402635,1973010577,2060282536,-1283222919,-321804157,-1312402174,646183802,-334159515,-669974778,-325948221,-281444382,479875518,178869430,-868850858,1279839245,-1879304022,1126294191,1610431572,1835739116,-2144665991,446810904,-1157810183,-1237039790,252088736,-1374866965,-658940776,186858500,224442660,-624845214,1225383046,476021961,-1601917100,122051877,24701840,-481480344,1694173211,-1007791150,-113592903,-272144362,-536368572,-939028135,1949959757,-607507152,78274854,-882070730,1037879848,1855757459,311804340,1302237876,1892454383,-1452185181,1170924867,1171829320,1172114025,-1193678709,506235022,1521191048,1884931536,-1025833167); +/*FRC*/Random.twister.import_mti(515); void (makeScript(14)); +/*FRC*/count=301; tryItOut("testMathyFunction(mathy5, [0, -0x100000000, 0x0ffffffff, 1, 0x100000000, -Number.MIN_VALUE, 0x100000001, 1/0, Math.PI, -0x080000001, Number.MIN_VALUE, 0x080000000, -0x07fffffff, -Number.MAX_VALUE, 0x080000001, -0x0ffffffff, Number.MAX_VALUE, 0/0, -0x080000000, -0, 0x07fffffff, 42, -1/0, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(547); void (makeScript(14)); +/*FRC*/count=302; tryItOut("mathy5 = (function(x, y) { return Math.hypot(Math.fround(Math.pow(Math.max((( ! y) | 0), Math.pow(Math.hypot(x, y), ( + mathy2(( + y), ( + (mathy2(((mathy2((y | 0), (0x080000001 | 0)) | 0) | 0), (y | 0)) | 0)))))), Math.fround(mathy2(Math.fround(((Math.PI | Math.fround((Math.fround(y) >> Math.fround(0x100000001)))) ? ( + Math.min((x >>> 0), ( + y))) : (( ~ y) >>> 0))), Math.fround(x))))), Math.fround(Math.atanh((((Math.min(x, ((( + Math.fround(y)) >>> 0) ? Math.cbrt(y) : x)) >>> 0) + (y >>> 0)) >>> 0)))); }); "); +/*FRC*/Random.twister.import_mta(2037832577,125872707,34401772,-1648103367,1740512706,-842262978,-1458644149,-420564900,-1963351073,-789582722,1169488950,-1038668330,-1121063904,725075813,945521233,929962447,520233843,-2067033494,1443569185,-159106012,-1847474899,-475789968,-965512774,1150878793,2083460201,-800273444,-126877479,-1826413907,-3360991,2145892965,-1323069195,-301009629,274048938,599899931,41487399,1956030575,-2109226340,373171256,1374071141,764995043,-998249077,1460190670,1364740173,891629058,317126082,66091147,894938183,-105655068,507340535,-1679324109,-812190740,501767951,-1965075008,-1782966857,-1426083611,-630296069,-656708993,-777411843,-615144672,778644222,16383435,1447225104,-1726014636,-1346085892,1048527314,-1061050015,874089952,-1450972046,-244899382,-1606076854,288654227,453028051,-131711254,-1110190479,712850570,974806037,1755690819,1697606956,138241658,2076010528,-224162523,-1491473295,1644405114,316937966,-1841096446,-727874941,1119215815,-715100981,407674008,-1627227232,-504246153,1724120214,-308738894,1846473163,-807892680,390326343,-13251689,426442597,1901357255,1428435239,-1841210536,1031418632,2050336715,730511755,486881560,1847582709,-1600191607,-1215584370,-1353213978,-163211843,48801235,1377983126,200156390,1281571515,1521011130,296151607,-908501915,-1051821487,-1177845342,-645431658,1242231997,2055556192,-1011116268,1960120726,1470668806,2085581766,-663087436,-2131406856,1895654418,-164155411,-1823818501,-1779114439,812287003,-710311246,146604215,-988781317,-302472916,-1387414630,-1126246205,1939831792,-755311479,566291466,-831746375,2040515312,91050416,-1191611397,721788321,-837383359,1661430682,496049424,-1487269796,-18968105,-453838965,-324002095,-898363506,-1819396066,-311131056,1961825696,-1163697399,538469045,-1963766864,668738257,1327915605,-932065712,-1972152865,1858136722,1207024274,1003673881,-617795064,-1389190954,1109494906,-1842204719,-149305034,-1887421145,1744169018,-964422517,2123339990,-580385027,1057443450,-871253926,-1198027790,574903953,-1751387233,-755239063,1175881279,-283388600,1711968767,1462534776,-864062588,-156208823,212224359,1229228037,202657110,-1648948720,-1084335401,1208377854,2117786257,-2087384553,1476799944,-63546501,2019868370,-249192230,-93997080,-1797554095,-1909649709,-612568403,-487012451,1194451892,-1781900369,1080645998,-1947406191,-407963899,144447769,-1267242140,240493455,-196681759,525281395,-877162644,-1007575159,1062846305,-151191364,-950322799,-1179352103,207333860,1192065456,574260762,-902444974,651111010,88719577,806925075,-1128614197,-915259332,-938302388,751659148,-422725811,-28848547,2096645273,-2038076791,1326937572,-42773572,-1275596338,117769137,1821143682,-1799851450,879834199,-862814688,-1281087752,1083607113,1491665142,152555730,-1274689197,1492082789,-1592289861,1981847848,2095949073,-1132822337,417380858,1989666817,-2084437074,664309247,-471263609,1974421542,-1529787707,1958517082,1541186070,1632136539,995265820,1723017183,-916921080,-1772641280,-1437185839,1768622102,-854316481,2029245484,2072003395,1838297923,1641378628,-253572120,-29214192,-797490392,1065454106,-994944208,-1627310579,-660849002,-2124360717,1161981882,1349762294,-744224015,2053656270,61325317,-2118931306,-1531848732,-1833738780,-1485993963,1620146234,-1975812738,1645180978,-1408342087,901016753,-1356704483,-1338565935,-1648986616,-620678005,-429515653,-1676196866,1800497415,842910948,-2136272628,526511412,-1560392123,-1976199984,498328697,-2100419985,-207645761,-579953630,-1518940997,1041611942,-169762163,-1084441148,-697231114,324388107,-464289773,-590806951,-177863862,1205177427,554218984,1199740285,-1514654111,133082937,1836120376,1045271967,-1438354826,-2041373946,1891880880,1188146731,-1612131057,951289199,-1216348287,-1003573372,-1273148757,626829969,884840617,32909505,-1269085686,-1245007745,-2083347658,-1474767685,1366659292,511702041,-1546009121,-1933984877,324755596,682717603,-274704081,-407139069,-46447089,403051445,1805806921,734043126,-1484838695,1600950382,-762026429,-1705148059,-869410658,-1015389351,1555626052,-315555164,-2086677389,-1556767324,-1519913792,120851656,-918444593,-2011914859,-453233402,-1259600114,-1509370889,717756602,-1248487811,798772968,-884280758,1397730832,-207052541,322260194,-1721275385,1284744429,-846151744,-1378249255,-1541704168,-1110637735,437432345,-1825350266,312365597,-800715481,-1383244299,-1776629912,713763708,-627918178,-9248849,-1777586074,-1317574284,-2000736170,1302150911,1605354397,813308410,278369286,-932324849,1763233379,-993629031,56317542,-1656966995,1385580030,688082357,-96648634,-102492562,-1911168423,93111264,772865843,-702382343,890007356,-1588709544,1118851014,-1958329240,787065448,-1747557581,-85526019,-38361445,849920354,697700801,-763990414,1921106526,1164391411,-693860866,-1231482137,2070056669,-1214648892,1581923215,1146505280,494928913,-1483164192,37230436,322261932,681755868,1764398996,1786756326,101250442,-121815860,-759125310,2044673333,-1266495688,-1077149360,-159772812,302645079,1990197100,1227400654,-1655521176,931281094,-1753039841,27090855,-1929525603,-756680388,124650133,-1249066126,287092688,826833354,-44964029,1560458290,1636617008,1746147555,-1178632695,-1908003085,-983492964,-742260970,475737921,-2098207639,-1374250678,-647178985,1115198162,-448859188,-931458874,396409592,220557421,-1356301572,-1993802238,884280943,1388368428,-1264172722,-904326389,981855704,-1417754435,524913776,752223807,-1184517985,917830925,2048987690,307223840,-1206809665,-1321322734,1428649400,1383804601,1009527324,-2127862599,1161886319,349585853,1963198128,1896179375,1462571362,-1018577668,525104111,2065020469,-349043526,-2058292930,590961831,938207392,1520593907,-901196473,-521642920,-1362283977,-330967420,-959541422,-402755075,-2120388175,2131782465,610917450,191165817,1050622238,-1549133523,-1953566553,620944230,1940428623,1539231372,1751809657,-1889756464,933755432,-369945575,1640572071,1403114087,-670554524,-1556972954,-2093822613,1187595712,-43608806,-1193662651,-1905915152,-1247213470,-1741300785,1028617291,-1678807710,811950191,-1119815341,-1704047301,-2124327033,1929303587,-877448929,40529921,115088936,-1320761207,1580310526,1441001724,1946019531,1160579543,560413114,-898653231,1827377367,-1395160879,2984091,1743453971,-1988362241,-1516907662,-606208969,1494549056,-417679433,449351698,-270869323,1197036037,652816173,1345510598,-1500680316,-1432188360,-327698859,793738742,389552295,-934997207,-879831559,-2128880554,653428933,-1346981675,-61011344,418371774,1553616489,-167694551,-1984149860,-976601141,1909995381,-1984566041,347645640,-1283995122,2144103053,126384384,-119063173,1667344711,-989127441,1366945037,-773101572,1523305880,1218375182,-863372015,-424680238,286957187,-702614376,1306208758,924947089,1171866679,-346032486,213345009,699101718,1176551719,956229949,685074541,-1745217913,-1622128288,-2133288527,-1372183168,-1829889989,1059153793); +/*FRC*/Random.twister.import_mti(247); void (makeScript(14)); +/*FRC*/count=303; tryItOut("\"use strict\"; /* no regression tests found */function x(x, e, this.e = a >>> z, x = (window.unwatch(\"replace\")), \u3056, eval, x, x, d, x, w = \"\\u5137\", eval, x, NaN, NaN = -22, c, e = 22, d, x = /(?:\\s|(?:\\b?))|[\\W\\d\\S\\D]^|((?!\\w))|(?=[\\x63-\u0bbc-\\w\\\u2bc2-\\u00dC]).{2}|\\W/yi, window, c, eval, eval, x, x = 15, window, b, x, x = \"\" , x = 15, NaN, eval = this, let, window = function ([y]) { }, x, eval, b, eval, w, eval = window, x, a, y, w, x = /x/g , x, x, y, x, c, b, c, NaN, this.x, x) { return null } /*MXX2*/o0.o2.o1.o1.g1.WeakMap.prototype.get = b1;"); +/*FRC*/Random.twister.import_mta(1963413310,850201618,1731894179,513537786,-2042248139,-383337271,-555757252,-1806056496,-564162759,1934348759,1304652455,-1040980436,77610681,-1402718853,-1265882818,-105285220,176403026,1567374862,-65887915,1542430528,231817426,-29703840,844990347,453568991,173664178,646564601,-83354549,-1831946747,-845128735,1962528963,-1039699880,-2120101594,-65092906,1253366061,-446770141,470826467,-1197048149,-1668214255,-249105749,-1768180759,2048896893,-551963756,-900623893,-444877372,-1490868122,1671178053,40346773,-1691961746,-211742029,679356111,-1865969398,2076326582,642685211,-649993864,-979770243,1444051997,445880952,1283756162,448039131,-195333175,-1717643140,612593977,1926351370,1826596933,1204732351,-737741472,886689102,861912525,1270706467,1108371836,-902284693,654497248,-1786829314,-1547990502,217896761,1045894597,-1649626944,-1788107214,-610651023,625656441,-245879487,-1219301664,760291536,-644736990,-418069908,249681110,2002901566,-1044888400,1684039669,-1305618070,636113119,-914321226,-1642947254,885485492,-58219183,1072818246,98660148,191200340,428320207,-69756912,2096798939,1236671371,-776907464,2087049383,-1569425662,-1471763820,1067967462,2032087738,-1243040425,-27699165,-2086177881,790809197,538339190,1772224427,1436785036,-1387264538,1230378805,-119446478,-1079554443,-612413039,451390539,-511640235,223118635,-740663360,-1763619660,1545257200,-1708764930,-1219536487,1667435644,2017826717,-1105573196,1865325354,1972495007,-1548504495,1037436512,1341610316,-1043889594,485334349,-1338046444,-1431244742,1438807313,-1167697866,-1863937070,-352271787,706266426,572844205,1641562191,288229941,-10730872,316140042,-710682632,1912613780,16784000,-392850071,-1741413764,-1938219782,-1460797149,753892194,-2106727437,-1967891438,1557049643,-93168803,-873981338,1981364422,950446463,-349288451,-817275561,-435285620,342123021,246263787,-811848710,74803962,1893177753,2110084009,837751527,-1007038306,-860662887,-851647314,-656784181,-2266828,-1434045060,760598470,-611470664,-99757687,-1804442401,-2122733665,-454736737,1261485500,1469025048,-654209709,-546083191,-409490789,69109803,-1393991673,1123080751,1352135719,-960812693,-1312748544,-2001838109,-52593099,2095133184,1343674582,1604154791,-1299240319,-829919631,388992627,41340969,1759402411,-454844424,-251760395,-1288937752,1069463172,128140647,1338099504,-820325664,-448016156,-1405809032,-1565399216,1155059650,-858364184,-688885219,1865583277,-1860301353,-222484881,-210024726,-1400797072,-1710981556,1040193757,-1153410613,-1310809048,1495450905,1030627770,77568320,313733248,786836574,1335059735,845738391,1014591091,1557224288,37534782,-1567010531,1592849632,2095657876,665535249,1860327753,1716501834,1580065117,1687052054,1269979477,2050342251,242828317,-1959396278,-811996592,-1231622830,1616432415,-988207763,1472577007,860087620,-1460987282,-270757312,-1392520281,-2085844063,1390009094,910789017,1670020441,-1681988578,-1076910128,-845355474,-178439683,-1121433784,-493632761,-1403312679,447431856,2106067773,-1250897990,-170112557,-638072414,-64163028,-1155123899,-1284764444,-1054945490,1800087105,-1078148506,-1967670859,683878755,94546714,-1616939411,-1781901943,-1083916126,936734413,-687235987,-569278566,-1092195177,-1381066467,1296856138,-851632786,1572295701,1454012194,-1169145490,1664470223,1796546409,-127329656,24046661,1743787786,850744663,866693794,-867740802,-371292542,62809036,-1649193208,-1148007065,-1345707597,2050799540,499875663,715531529,610857678,1610632973,-2019065009,-1720542274,387429551,2056719868,-1983024753,-867824319,341175936,1405358237,-647361096,1248718192,-2053458805,315737472,-587942465,-1319470052,-796115779,2065613589,1737414756,-1740861728,539037026,-1803789168,-1655362751,-100885275,1975456706,2083086661,1571991592,-585104748,-67336724,25053221,-1566943719,1643117693,756819775,-1059014843,1019137489,-1242975594,-978884328,-1778916798,1402252358,1142860486,413024323,164475698,-502568413,1614854363,-299486015,180762241,-143125049,-183513664,2092331140,-878814476,829090247,1654399421,572364117,-2035807400,-1311065041,-615077268,1917972996,181049312,1879383004,576713082,1670708481,-1959197374,-1402342834,2085402966,591643279,1221366680,358983766,-1881714490,1673531829,-298528222,-959503514,-1497240562,-915028478,-835421373,1147697044,1879771308,-1581207427,-1699488666,1782493080,1897650248,319361384,837589456,-202801679,-54738890,88387484,-270311750,-1397248983,648443282,-1365689987,434847731,-1207119172,-296766342,-1642840422,1986872823,-1412117495,-614007330,-87361624,574028044,1558731835,1791215176,-2046250216,1072214130,-1167534274,-346624902,1631777957,-1749578489,543682557,1779564206,-1995505484,1313974065,381168081,-1211256545,1118548432,365502621,1203683700,-2125814763,-535080993,1180724003,349814566,1872061288,-1842392911,-2063927454,1325846411,277064781,-1610433205,653406041,309716024,-260063451,62879506,1330326043,938175569,-1462831333,-1877540461,2115159993,1908377606,1770510893,600023375,-571064014,300381651,2086910038,1582171028,-1316420940,1780648117,840084512,1028472010,-90637624,17001853,-846221690,-1660695548,1436571755,-680347525,-549254773,-1015945560,-975934311,1413592710,-1206283982,-2007289948,245348312,1630597738,-465054535,-411730541,-1723075739,1054918497,-1667476711,1833161798,1078629140,-1285050895,-1726976150,-522653617,-66753291,-285169072,1666029641,761707057,-487649853,1590495659,1082632536,1527899716,-172685853,-1810134679,-1890020762,-363827462,1262727925,-1435451581,853875192,508051889,-757146550,-966281278,-475786377,-457321912,-2146042315,1351974434,-318301146,444977289,2110089453,1918399323,1466523728,1453871633,1151526373,-1939774241,-1096168290,1603404952,-630531839,-1062413174,-1306167965,1045300992,-456455549,-1542821853,-1659760709,-545912953,-1537221075,-682961946,-2062460862,-179029575,-2090164201,2105553777,-1337635254,446401412,-1351867081,2099703439,-1487264552,110543014,18467813,-1474279086,1631967221,-1252280905,351819906,1977267831,1323911529,-772121577,-99009704,-383938366,-574162063,1591256213,-1873041185,1338639777,1535769372,-26015516,1479582277,1644872322,-1837216773,1557063604,-1043696411,564839101,1931807155,793881296,1209622460,-1482278850,-647524578,-1423458424,-847391689,-548467090,442843156,535084859,1088515086,1391104317,-953399128,482072579,1670507790,377181823,323286954,-886546469,-1545764850,553726050,-1616178446,-1685623670,2101939504,1308696147,-548190467,-1507536104,-1056110552,-803349030,-147088971,1807683883,1605965767,1912704721,675112747,1376042523,-720297562,1063629414,-4356350,-75217290,-2107964189,-1621299093,2011060846,-1007256738,899848624,664598867,1953712596,-1803977218,889232915,1522717787,1418176422,1122758603,7384680,-779414120,1798392922,-1706144914,1359974313,-1749535692,-2021792812,634120694,-2104309848,298658462,-1927518301,-2136748387,-411663562,474652892,-662305751,1265581647); +/*FRC*/Random.twister.import_mti(186); void (makeScript(14)); +/*FRC*/count=304; tryItOut("v2 + g2;v1 = t1[16];function window(z, NaN)\"use asm\"; function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n {\n switch ((((i2)) >> ((0x24c63a12) / (-0x678dfd)))) {\n case -3:\n i2 = ((function ([y]) { })());\n break;\n case 0:\n d1 = (d1);\n break;\n case -1:\n d1 = (d0);\n break;\n case -1:\n d0 = (68719476736.0);\n break;\n }\n }\n d1 = (d0);\n i2 = (-0x8000000);\n d0 = (((-1.00390625)) / ((d1)));\n return (((i2)+(0xf6f85f12)))|0;\n }\n return f;window;"); +/*FRC*/Random.twister.import_mti(489); void (makeScript(14)); +/*FRC*/count=305; tryItOut("/*vLoop*/for (pmgvch = 0; pmgvch < 85; ++pmgvch) { z = pmgvch; t2 + ''; } "); +/*FRC*/Random.twister.import_mti(521); void (makeScript(14)); +/*FRC*/count=306; tryItOut("testMathyFunction(mathy4, [-0x07fffffff, 1, -0x080000001, -1/0, 0x07fffffff, -0x0ffffffff, 0x080000001, 42, 0, 0x100000000, -Number.MIN_VALUE, 0x100000001, -Number.MAX_VALUE, Math.PI, 0/0, Number.MIN_VALUE, 0x100000001, Number.MAX_VALUE, -0x100000000, 0x080000000, 0x0ffffffff, 1/0, -0, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(553); void (makeScript(14)); +/*FRC*/count=307; tryItOut("\"use strict\"; v1 = a0.reduce, reduceRight((function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var Infinity = stdlib.Infinity;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n {\n d0 = (-140737488355329.0);\n }\n switch (((((abs((0x630ac9f0))|0))) | (((0xffffffff) ? (0x548b4f0c) : (0xfd44b476))))) {\n case -1:\n (Float32ArrayView[(w) >> 2]) = ((d0));\n break;\n case -2:\n d0 = (d0);\n break;\n case -3:\n i1 = (((((((0xfd6876fc) ? (0xc44b2494) : (0xffffffff))-((0x0) <= (0x3d3e3544))) | ((imul((0x250ebfa1), (0x58e1811e))|0) % (((0xfdb87ff6))|0))) / (x == w))>>>((0x324d0e82)-(i1))));\n break;\n case 0:\n d0 = (Infinity);\n break;\n }\n return ((0x66bbb*(i1)))|0;\n }\n return f; }));function \u3056(w = delete x.x, x) { print((4277)); } a1.reverse(a2);"); +/*FRC*/Random.twister.import_mta(-356516872,1445543224,168383713,1976110207,1093419666,1237949708,-457844587,-271824720,1486981768,1369879030,-1091711604,-1388975500,619603563,-2128549567,-2045359258,1735860261,1918780220,-842914243,-335577928,956305435,-2055882866,728801120,-171036523,-1835303202,-1439974818,-828555180,1499523945,-1316406754,-171150993,-1764882125,41638211,1808155126,-1142153923,720207579,924574193,-1019485015,-1013348623,-1911641374,1080703386,1627230211,1619662401,-324807577,-759208023,1969470314,-88914107,1749343664,237775909,-1343024227,-86192151,-1599258722,-302637880,-197313557,1562343610,-1841063732,-775802978,-792753138,933576082,-399422236,-43316561,-45715830,-1586790154,192563493,-1842718665,1081551560,721426381,-1746712543,497328701,-378122203,-159740731,1666688097,-1863283624,-815006106,94139275,1735346801,242750873,4845496,730145139,276987486,752397424,955208986,1699328017,-902511759,1099618391,868282914,-199800934,-1566539147,-1073425897,389935056,-166312219,-1464860423,161935978,-1377418394,78560881,-406009041,82383463,-146427271,-1851181245,445902942,-675568910,-1405727673,396558937,440251236,-109961923,-1008408629,-1840979320,-1132993916,-667792619,65606721,-1229888788,903615786,-736361120,1842240342,-545244079,2109254806,1073762530,-1191092576,-1341008186,2020793211,-1423631217,236044283,1768166143,1837860649,396568800,-1346655015,-905508773,-1878972476,500767636,-705800173,1918937335,-1709409000,-2101119956,548069767,-179217786,-290566790,1029711650,-1886395372,-1437036298,-1085955886,1406056635,-219135566,-1257020087,691445276,1507025986,1106524703,-37719298,-418522735,1080420818,-977855972,-1602853433,-149483379,668512607,-1864653409,-494370870,395569698,-1202747751,-1789980149,880639795,171969245,429181373,916823215,-2053414964,382796928,1415394995,-851264548,188328735,667652458,-668944562,507991534,1091660100,1034638825,1574832710,-511569891,-184514506,1188262148,1028075596,-1665076195,1894065192,-434019056,-1262032063,-157377872,2007750529,-1301427282,2139698321,-1367830656,-1749713597,875123821,-1011053114,-355807836,1704307628,25861678,-2122550087,-2067864819,-42103283,-800212253,-481823529,1866728908,1736782950,585242668,484592051,-64250397,-1218995200,-1055371166,1136221889,-873587113,-184316235,-331312865,958325236,124867055,-1145742082,219252946,489993353,-1700152316,-160696832,1287398698,-387210468,118818965,-958347364,-451836875,60873346,1893879417,-10690793,479973783,1626729845,-1630855101,1242195172,-1786496241,-1922596098,1847027650,247885612,-7305550,1803426978,1130597938,1083180364,-205074758,1359825636,-660782436,-695028208,-1870307268,-1406421909,-1398112710,-296185039,-1201483092,-307613326,-601366713,-18483048,1575042249,189218704,967060475,-1889341174,1811554884,-1761509125,-840478858,-1781123331,-1337705159,168630391,119938887,-1888486511,370070644,472385750,1956332593,-231502892,1584860274,1092063418,1800669314,-2083399443,529394290,104063764,-2094253472,-1304954941,989738741,-1169778343,-1209604835,-813143823,345263096,1276479403,-1775817928,-558152184,695056053,-1383383655,1032855341,2129574707,-837005651,216850443,-87287300,-354412183,1806434630,783021201,-19275609,-912765284,547759838,796890373,-310668967,1480373360,2063767576,-806822254,27891216,1208131568,-1915179793,670673118,-1457632032,1532741429,-674770076,867296317,-1411958009,156641039,184223183,1275074139,613843447,-991075083,-2058678725,-47361500,-1995891648,894274829,1281323084,84514487,1595855292,845902209,1159708597,2137336302,971323535,2049098551,-71130088,-1116781255,558075858,908523138,-1299360694,938714845,1590419609,-1387308700,-1579211981,850020682,1992504285,-1884254538,-735310747,1408865008,-1131459420,-495046571,837483469,387044023,2023504940,1398928514,1854951848,-989914026,1772503563,-264814424,1121604206,-2120803141,-803407486,-1428401890,223867307,-848816043,-2130904710,-104107545,1071009527,1084868845,1988522350,840005846,1810602142,-1900983496,691728665,1276835654,1206370754,-237708202,-1885880948,2130207982,-74966854,2062957511,-1236836123,-388796204,880292212,953991965,-123389682,-552643457,1363808623,1836438595,-1511331994,-1591481942,1509879284,410186759,-957467130,488717833,-1079759110,2108140046,57087522,1764203374,1257521082,1377796014,2072629938,1961181002,1817752293,1152013117,1180714284,1389676198,-525509782,398712154,1508320684,-1655219250,595618397,-1558165549,-1024383125,-1988094001,1846807173,310696060,-1525150962,-98104242,-1008651908,-1181448707,-1785346651,1049566581,305810046,-753011628,-961674811,-2091529553,-153260318,-372337624,979497877,482276785,-187235708,1830234496,1873737809,427228610,-699462784,1807975830,-1717217503,-1330201573,-1643372061,-1652669173,616283281,-490262312,-636175340,585828711,255527931,-433303924,248795200,-1754379928,-104323249,-207986744,-1937911184,329273982,1008357747,1166464822,1239206993,1187689244,2018370126,1743553218,-1899032112,-1579057553,425528340,608441748,-851529540,371343419,1693533309,1149186361,-1286185259,1093690888,369290870,327774775,1920420530,1573195863,2111600680,709871835,2009767335,-1776507746,625617658,573869278,1518502001,-854422162,364516770,-767424017,-240715285,-1744156523,-1180032140,1836664316,-1603508973,-753523219,1523562599,-1383927509,4659624,-1152998059,-1242333321,822041374,1183133634,-297609281,1751514420,1636729180,-192515027,-81745418,1514978794,-1474742152,1632912406,1188887456,537127619,-863461863,1100982823,-167506659,1319018086,-1227957877,-483125851,566916378,-421067052,2007470105,-1529921841,-461782500,129567181,1093077412,-1693928566,-371570762,-654000230,1849214943,660099107,1217429547,1371134788,-191626250,1912541918,-1861164309,2108003011,1089489051,-278552725,-1302555943,-212762130,-1341186858,409561488,-149281524,-2094677959,-427965156,1701905663,1253892323,-2082068511,806320643,731071256,-426049851,-2014804661,-312425897,1605174327,1742594468,1567175128,-1856296302,344393985,179074628,2133958988,-272983128,-1149926692,-286568600,1332210733,831616980,-2003901303,-813573606,-351819897,86971927,-1867794249,511314848,-1019865217,-2088225525,-1480313857,816616259,346215369,1745023666,-1842315956,1634461365,-1413734040,-939585414,1061836159,-384003232,499673745,1582136570,1512272573,-295251090,1930510981,-554849815,-412534782,-1091363115,-1040206289,-789624434,-2009766034,1820354224,-80572135,1574398362,-1027763924,-851488961,-2022705281,-2116128511,-167191732,630462690,1385692354,65369715,1814312765,-974272173,-87110534,-403720587,2093145884,1067274846,1416688701,-1539653239,1160312902,-880458786,821445242,-488703586,1127476778,-648149855,-2049042265,-611525351,1464627369,-1344906855,1655379580,-308857082,842082260,2123591996,488204605,-1755208650,138349603,239088533,-1733759899,1093150112,295800388,694953545,1974230174,616441770,-617820109,-1623649603,560957245,-1366815996,-1568116847,-1520956844,-1475828174); +/*FRC*/Random.twister.import_mti(347); void (makeScript(14)); +/*FRC*/count=308; tryItOut("/*RXUB*/var r = /((?:(?=.|.*?))*)(?!(?=\\1))|[^]/y; var s = \"\"; print(r.test(s)); function e(NaN = Object.defineProperty(z, this, ({enumerable: false})))\"use asm\"; function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n d1 = (d0);\n return (((1)))|0;\n }\n return f;print(uneval(v0));"); +/*FRC*/Random.twister.import_mta(1217721537,1059872124,1629294987,-1458162042,1257292803,-1177123607,-755093674,-1770534646,-349017721,-1495112901,-1022414689,-168780129,-1952281087,-1877552665,740106504,-1166349519,1228197155,-1674499468,-1488057,503590518,-1586541260,-822574827,652429118,1281564909,-1325290582,-1636089603,-2124297682,1398289523,1281594789,1162566005,291019882,1715048089,376091558,-1603385024,-1213314704,518536491,1238566193,-145009243,1354653585,1524098103,589596828,-470331019,1185647814,-505953205,1040097929,-657189423,-155395233,-2088086039,-560361953,-686133237,-95739586,1254861257,-1004569382,2126731252,212763258,531476464,-2024867673,-1500687488,1755437363,1128051276,-1362960641,-841446253,501738828,-1496878110,-449607320,1103512927,-1996901833,-1073644957,-1306402146,-982856894,1913645713,159678709,1528425484,104788614,-1181821784,-508336742,-1473422788,-981830699,1186468586,103717372,-1135228721,1116436897,-1408039322,183826643,-1898062297,390598251,603654876,-1014164751,970376334,-1074540349,1287625817,1934022559,-876965538,-1650408884,-2102820064,492090727,215372296,-572924828,-2121463654,1679288440,-299185129,-2072261797,505267694,1048961373,-84619379,292050761,-549113038,1518319826,-1041843937,-1009498874,-1344040399,-655333080,1501824616,1754310746,1295610900,-1399002987,-1798385732,495639667,-1549402655,-313855685,1084812320,-1181940055,2105861981,1275340836,1349122674,-1175017274,819617007,105193912,1753168499,199056117,1253828605,178771776,1556374949,-1205146284,-2144372927,-1202943444,1037406,-1758327514,1678840065,1390029033,1075594767,642106469,-960295780,-782589225,1375461067,-1898333311,1841062179,-123537944,1779293200,90518122,2053293463,1953180146,-614314586,-1688897485,278474405,1086208589,1005356622,-1519499454,-1762087615,1791974740,-648478964,-766653133,-1927447418,460027178,749706698,-989017913,1391181926,2126891096,-570529642,-1064708531,-623314348,-1536299534,-2080341888,-1605335309,1452768510,-1466049638,-1155148314,-1343511601,-2139235263,-1089850747,-611617541,737371560,-1873563457,1393327999,890552741,71982593,670210576,1898947493,1826715690,1549485008,563678499,5882284,-1913867598,-684320534,601028315,-1745331270,1415181392,1560074200,-1746191276,-1183500386,599770651,562699038,958506835,939895452,-1201370887,-212260509,-132444588,-263349895,1958339517,-385770585,273528639,-330014922,1851858614,976609819,1110104304,1649952366,-98435967,1757170440,-724186243,-2112292610,208242727,910906584,-1224562749,-879937162,826458825,-471086293,-553445933,1341637463,14949925,346169306,-2002259553,1790494373,-2143951948,-1166505436,-1170642876,-2139409777,-291450075,202529397,-1549426302,1703311174,-869812047,1523071409,1298248781,910569839,1808336079,-95759217,-1679914156,-1495386703,-1157263305,-1268041828,714114902,1658978315,1599205054,1567618762,-909931761,-757278542,239874895,525113345,-981689250,796096076,-816459911,-1759149779,725760362,-785163880,-1197629284,1403498011,1531050247,-482884702,662764240,-1031769931,590087706,-1020123602,-1835126739,1237231701,-2003189643,-1312543461,446962574,1971719981,-1928653184,1650495900,-1060781955,-741326176,583770894,1798718668,-748989661,-419654748,-447155520,-904988239,-1651793924,-1823434991,158469009,-1993485488,2085030227,-1358045826,-2133479061,-1776243354,1519267306,569589502,487302789,-1346584759,769465140,2036242025,1833978054,1972304228,1494172141,-105862888,-1922209320,120310378,-1725542813,-762990732,1315993331,1299425406,828880461,-1200131752,-335381969,-1175729007,74760134,1930234030,-155387129,1872969754,-1606315968,1159106915,1307931278,398797129,-996182463,1132227371,-763713301,-124952411,1302129181,1195958603,-1662203796,-47413034,-495525468,-1229325750,1144528512,701567466,36276287,1029950389,-457279682,1882520617,1608024206,1866922559,1095203151,-1395298328,2095576388,979813219,-2059104774,365348015,1714310819,-1036493912,209343641,-1249578402,2132098914,-1987704762,1023809807,1903658520,1042847418,1306739297,-953016557,2060000774,-1680273995,-1195042454,-7908118,2138301993,-1426718341,-2141012931,-789501884,880148069,2088361183,1134943693,-318226864,-1485519829,2138309609,-1039254563,-363362725,983312581,1771717776,-279769269,1461465841,217735805,-2071498930,1850407842,1091416412,260000761,-2146150241,-1074326890,1460384781,-483762007,2104042654,910222791,945510332,96861849,-178625166,420097739,1379293838,-749353615,138499004,1379952994,1545457304,1506294712,1314009966,1607798976,-1173234147,-969518143,-837076111,1170157152,1825071240,499403422,586039447,-1176679787,-1454125246,-306801619,2133125488,1393938436,-1256723792,-71912915,1714471570,1460836835,-1366946469,-2124952493,-65954518,1446196240,35799285,-1794499966,-1963821066,1079815694,1914722569,316431991,1283474708,-245591233,-1500471362,-1955418177,-1271725757,-206820640,362887681,225758297,-1354796385,1503501824,1800521552,1285715245,-2016201492,1632600446,1585362761,-908608032,1876673504,489538709,-826900748,508265197,282332294,1696282369,1627204503,-1971983734,1665684638,-1080351017,1157018732,-1876420639,765049475,1062062443,1414986417,203077382,412447784,-1321780725,-757192718,-4549302,-1201952110,-2060654795,794525079,2081295513,-1156319845,-1737744168,1788027093,494249521,1937004249,1801267581,1387354461,885807229,-196560056,-1371839197,-1592586385,120472369,2116903211,1743409167,-1494342104,1049326561,-1140387128,-1192441691,1112877241,-614902971,-410016986,137118906,1480203302,131161935,-1436496937,-112505002,-2072474479,-1511053622,705874616,1942568087,-264133308,1883588862,-1026455571,-89841285,1796217122,976723804,2013419240,-102353573,249744977,785453901,1500830318,-1618259004,1139452270,-384740648,-1643963701,1960325994,768901135,620432238,1038805115,-917179870,-259714137,608208696,-482776650,-1151818771,1320877477,699453284,-901575586,-1587714517,927407206,-321775894,1821849573,-954890373,-1351480546,-1229484007,258907100,-1098671862,698307206,-1853105366,30317355,1260801489,1928034520,112917401,-439504842,-1686643301,1196460632,482083884,-297612747,-1854138870,-2094521594,2078190484,-733217305,46692190,-1353280983,475257883,-1986608629,321147285,1809103262,2040369988,1313923053,1968278505,-386754462,-2121700967,1880383530,1890998064,-29518723,755971650,-1988443596,-745726327,-1867190860,-374938459,485647934,-2026486022,1428292640,345002371,2122084564,-217792862,-1319682820,147192430,-479816898,-202554407,1866185022,-1494042819,-226335264,1875645822,1480358009,-1496146596,-486938336,2093763429,128874555,1898341968,-962300188,-532021819,-868012824,568578400,-487145442,-181171797,1812914008,1293328400,574368472,1487899871,2090039463,-1950687814,815838038,1689524808,1271505915,1599201043,-1236558687,1750436463,-1686215108,-1892172459,-1285698196,-551217079,-1708946156,-528463281,-1222126156,-625666058,-637776154,1865824075,-2099364607,-288395715,-864383528,-501325584,-783898148,10117028,-2024696216,-184313597); +/*FRC*/Random.twister.import_mti(192); void (makeScript(14)); +/*FRC*/count=309; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(202); void (makeScript(14)); +/*FRC*/count=310; tryItOut("\"use strict\"; v1 = (t0 instanceof a2);"); +/*FRC*/Random.twister.import_mti(217); void (makeScript(14)); +/*FRC*/count=311; tryItOut("\"use strict\"; /*RXUB*/var r = new RegExp(\"[\\\\W\\\\W]?\", \"i\"); var s = \"\\uc696\"; print(uneval(s.match(r))); "); +/*FRC*/Random.twister.import_mti(317); void (makeScript(14)); +/*FRC*/count=312; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return Math.fround((( + (( + (Math.log10((0x080000000 >>> 0)) >>> 0)) >= ( + Math.hypot(( + (( ~ y) >>> 0)), Math.fround(( ! ( + ( ~ ( + y))))))))) - Math.acos(Math.log10(((((Math.cosh(x) | 0) | 0) + (x | 0)) | 0))))); }); testMathyFunction(mathy4, [1, 42, 0/0, -0x0ffffffff, 0x100000000, -Number.MAX_VALUE, -0x080000001, -0x07fffffff, -0x080000000, Math.PI, -1/0, -Number.MIN_VALUE, 0x0ffffffff, -0, -0x100000000, 0x080000001, 0, 0x07fffffff, 0x080000000, 1/0, Number.MIN_VALUE, Number.MAX_VALUE, 0x100000001, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(506); void (makeScript(14)); +/*FRC*/count=313; tryItOut("\"use strict\"; /*vLoop*/for (let nxpncs = 0; nxpncs < 32; ++nxpncs) { const d = nxpncs; print(/*UUV1*/(x.sin = (OSRExit).bind())); } "); +/*FRC*/Random.twister.import_mti(578); void (makeScript(14)); +/*FRC*/count=314; tryItOut("\"use asm\"; with({c: x})a1.pop(v0);"); +/*FRC*/Random.twister.import_mta(1305888732,-174328190,1296244987,-1306336848,-633937301,-747714122,-1928480956,579518317,-1882804446,-1807267816,-30100210,-29903032,1759417017,-10657850,1770213738,-2101985474,1561150782,1407975372,-1263229674,1988584456,-1452906058,-34099516,1047457018,-460240641,-2147081039,1116906978,1705947236,902499835,-68046229,2056001340,-1194841628,1203051719,-513034337,-45630714,1561199093,164770564,1359556845,-453597930,-1189638499,-1095944495,-244414875,134480179,-448714793,1076155767,-735233207,-1138202055,286926795,-1717586896,-274183089,-1282150805,-500767018,853258987,444243195,1722444458,-2052899470,-102262766,-321024233,-1448155094,-1313452345,-1544526557,-1062649859,447024151,528027383,1779216540,1222420603,1336561206,112367780,-515154979,-409369964,-816564224,-507184068,-1767963747,-1686939237,1985235585,1839994108,660798407,-1863802808,837636136,937104515,1936388080,1450600748,-1222996900,-614690937,-531939609,-1253644315,-1223449786,-2042279354,-521375601,1042124827,-1123920310,2079492181,-1034753143,1190929820,426696118,-797723357,-1408507181,-676880028,-994178852,-672869642,-2079384468,-1459852827,-1085323341,-166786929,1721979124,723106304,1152549051,1460159285,-1040598344,-1744037928,-1071925354,1118382041,901175642,-1413281815,1702237028,1717016141,-731611883,-1558844020,-1525756384,-883506388,1572773483,1285210537,391106774,37917482,-888302449,-1482426482,-1881185523,714235832,1735664056,1035697038,-1961730233,-377356982,-604129816,-620695087,1986855009,-359541489,1332310515,-1256546407,-1029739815,569278337,-1194850061,-1056170180,1368063638,-148956627,339275660,85176452,-1467610602,552435416,-1690033091,-1815179457,655487250,1105936237,-101000396,-697664616,2115155364,-1526435358,-1805614804,26440244,-1180672031,217726446,1660723307,-2055217745,-1367595487,-868429044,1715711695,-885488756,-1756859314,309187182,-1484392833,717309296,-36138850,-1148186020,1592927870,1310111068,1047116383,14597198,602839591,1039785882,1751212547,-834120717,397121948,-1508577011,-31796802,1450981469,1895871981,-186545503,1271215473,122551377,-729197259,1390537357,-1905635723,1896515206,-1068355651,-1949109840,77784922,706739389,-1998964170,-615652793,1744519538,296500191,-353666806,1214939472,-116712495,-1749546764,-1248180235,-2079310298,935601361,-1098931344,1428151712,-975308957,1246760316,-1189244210,-999472585,1530354075,-1154031252,-777229960,322935595,-1360317838,1788746631,775572276,1575111117,-169163695,1324576486,-2015822773,284129383,-1469642002,1910025310,200329335,-726861807,-3475089,-803706645,1584804413,-634645583,-1907192668,-804191386,-71330059,1637774959,1262933501,-270113329,-1930130197,-674890178,187823041,-700761197,10327894,-236882042,-138009260,-111419204,-1126117873,1844187506,-1480444662,1797697361,1290336293,-1347496978,1814388359,-666385092,1554342306,635378451,-333255709,-1703516213,269264865,1607065852,803064655,145694016,558604232,222814371,338543300,230671041,-1892231424,-1565590771,-1337161290,-1260968742,1639827040,74093440,1107267276,-1939966162,1484067426,-1560657528,274225442,-459051626,1139538469,-1559180262,256003066,-725160715,-864241036,1551406681,-623861256,-1021691993,1610590500,-1905463293,-905578688,-1027032096,1855609140,-1342727155,1479319689,-539954994,-1436873362,-1965124511,-542267521,1984536481,407497958,-845294591,-739004054,1527001247,497387381,627552353,221578404,1903009903,822020805,-1007812926,-564634650,627835937,-957158696,889031708,-1423434774,1766639502,621880856,2082983928,-2071670243,-643545847,-1249686652,1457319356,-487774760,-158790556,1054983848,1826663067,1007193494,1741764188,1631657185,1463462964,98797513,-126260039,406131871,1512229586,535723422,890522741,-720293299,1073944,1201857171,1895177286,-727443567,-2077276242,-874651996,-537093579,-1039217951,-580511954,557129550,-906721839,-1907012381,-427469273,911473922,-579401287,-774902368,-668374977,-1961072850,-317070368,1607459508,581906643,887836328,1393574428,-1499907349,1340393428,705662164,-1789755526,-1445449160,963194875,463897624,1234627491,2079999774,1714962828,-380591953,-1046805243,-561365690,-475987537,277456679,-858911446,1593999488,-1492931209,-1984903576,-1284663606,1720670933,-735458241,154650741,-2055034548,181900303,-1735266652,-430188886,-25733321,-899604256,-70561824,743760925,-804161326,-39198372,-241848011,1120261108,997654313,388473880,1860299950,-721902545,-1784744688,1914059682,1765780715,293810751,-2065767521,-637730024,-1006832899,180286771,-131308617,424262867,778789273,2080162859,47570940,-1630318812,-1955332583,1649401203,499517705,811252988,570002372,1022079579,-12504844,435255627,-170246363,1874558290,-1308201960,-2107689097,-1640703556,131405429,-1313560700,2056120046,1848288218,1487790737,-990886101,1764466933,1191251544,1309815201,1839697583,-894629037,1263206131,647938684,-1934266010,2067056766,1490994157,-879681069,1738244611,936658395,-653864062,-50312942,157381710,-1949353884,-41893358,-445233735,783210847,366316834,-641523551,-149057558,1770754625,1169179454,806262001,1454783617,-313131078,-601798606,-2112342352,1367486140,-1831828212,507722954,392888500,880322186,1112638207,1892305069,-1884243501,-1710412801,-321079325,1716720705,1467268839,1442694365,212914814,-293433965,-1645844306,-1523340001,-2056663219,1966162601,-902078771,1924816356,1339191990,-476966340,-232693113,1594405702,-399604894,-345114239,1545214684,1287208733,223777243,-1750597669,-1743448080,1897555306,1409425815,-262576024,-448402198,339413582,1503466690,2085107711,-106955291,1745114956,771563251,-1075737050,744059478,1096337380,-1651364398,762377571,603465421,-620542697,-1383469373,1760575285,215587906,-1183437294,-803382788,-1676577356,1308111778,-429735183,-1882169288,-36184175,1773147218,460591591,1410253667,-1643711533,-91479728,-1074815893,1139434197,-67838092,1018206791,-511294467,1243382522,-415971150,1250052426,1848405226,1680909190,-886566057,129476268,-1711828458,-7907660,-1364705009,-1714502671,-1107322468,1186554676,1920585198,715982808,-1860547060,-199796217,724809846,1371565044,-1209190453,-1337835677,-1144916919,-1580508084,-1219776951,1420509230,1811178902,-1144825632,1540954514,743200942,-2081501503,1743015307,223307757,1929857196,1452800057,1126138761,-2143804451,-1661050549,1777632547,-2052788805,-597182136,-1465923343,1311149872,504047396,-260646272,-687943011,-1561875696,132166813,1032394890,-1504562881,1381532542,-228764194,-1694504609,-354849193,835092093,1167571512,-1266755727,1011267113,2004350204,157136806,2088644935,-805723060,1771620171,719184919,-1442340951,234694834,1085477252,-129059389,1959031733,2043359690,-428052622,1222246028,-23855090,-470883934,295957025,194885863,1582293794,1798334923,180003402,1352216259,1930991031,1204179589,1910078300,-1110950800,-1825710900,-1499527277,358147226,-1271707070,1048477459,-1684756560,-2137358003,711362330,2067517691,344944428,-1922526992,-1307342911); +/*FRC*/Random.twister.import_mti(9); void (makeScript(14)); +/*FRC*/count=315; tryItOut("/*vLoop*/for (yajvya = 0; yajvya < 78; ++yajvya) { var b = yajvya; print(b); } "); +/*FRC*/Random.twister.import_mti(45); void (makeScript(14)); +/*FRC*/count=316; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return (((Math.trunc((Math.fround(( ~ Math.fround(Math.hypot((( ! (y >>> 0)) >>> 0), ( + Math.log10(y)))))) | 0)) | 0) >>> 0) === (Math.log10(((y >= mathy1((x !== x), 0)) + (((0/0 | 0) == (( + ((x | 0) == ( ~ x))) | 0)) | 0))) | 0)); }); testMathyFunction(mathy4, [-0x07fffffff, 0x100000000, 42, -1/0, -0x080000001, 0x0ffffffff, 0x080000001, 0x07fffffff, -Number.MAX_VALUE, Number.MIN_VALUE, 0/0, -0x080000000, -0x0ffffffff, 1, 1/0, 0x080000000, Number.MAX_VALUE, Math.PI, -0, 0x100000001, 0, 0x100000001, -Number.MIN_VALUE, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(277); void (makeScript(14)); +/*FRC*/count=317; tryItOut("\"use strict\"; arguments.callee.caller.caller.caller.caller.caller.caller.caller.arguments = window;d.stack;"); +/*FRC*/Random.twister.import_mti(322); void (makeScript(14)); +/*FRC*/count=318; tryItOut("mathy1 = (function(x, y) { return ( ~ (Math.acos(Math.fround((mathy0((Math.hypot(Math.atan2(( + ( + (( + y) , ( + Math.pow(0x080000001, x))))), Math.fround(x)), (((x | 0) || -0x07fffffff) | 0)) | 0), (( + Math.atan2(( + x), ( + Math.fround(( - Math.fround(y)))))) >>> 0)) >>> 0))) | 0)); }); testMathyFunction(mathy1, [-0x0ffffffff, 0x100000001, 1, -0x080000000, 0x080000001, -0x07fffffff, 1/0, Math.PI, 0x0ffffffff, 0x100000000, -1/0, -Number.MAX_VALUE, 42, Number.MAX_VALUE, Number.MIN_VALUE, 0x080000000, 0, 0x07fffffff, 0x100000001, -0x080000001, -Number.MIN_VALUE, -0x100000000, -0, 0/0]); "); +/*FRC*/Random.twister.import_mti(503); void (makeScript(14)); +/*FRC*/count=319; tryItOut("s2 += s0;/*RXUB*/var r = r2; var s = s1; print(s.replace(r, c, \"gm\")); "); +/*FRC*/Random.twister.import_mta(-1353511343,-1916855552,1882119219,-443485227,-311851196,-1619273542,196156820,224240290,-1307588677,1716774484,1366342205,-1768211032,1031499807,-367859823,-1977032314,214532076,875820783,704704119,1522153920,676890240,-2118457450,1187385142,1587161989,-1229922347,-749781271,-1333235899,500821918,-1557823585,-856511462,1726607900,-1795646106,-250574463,-1168926040,-1633414960,1139283930,-6416120,1608309796,254704834,-1928014524,-954125935,1371521312,-795022518,-1580983927,2022640808,-1601763392,-430840095,-708245094,333242346,-912247900,-86226161,1038461880,1900264219,503049226,386143131,-1523520344,410777790,1029498452,-2073832318,-117565761,-1343614048,957335918,1251311510,-1222742274,-320550306,-1257922025,488272024,-1094312571,1203005376,637247231,2635443,1576503490,1320957933,251535996,1350901311,-573738021,1569297657,1413905002,1818736397,-1538056362,-1912039031,-1629189789,-2120763979,588673377,-1324245303,341549845,-1599031521,459270687,-1727083628,-156260281,261885300,-465838137,801582547,31588096,647402901,1461212742,449426904,912074233,-1683291885,-1488821540,-649228701,-1624111164,-1639513241,-1966189153,2106100300,-1767051663,225255267,212184842,224316424,-39848423,-718481840,958614112,1474983484,-550312079,-1026341684,-1075637737,-386082604,-2103820564,-105245662,-1171272632,1495732986,-2072541101,-50948604,-717328694,1218832928,-1964391878,-883958769,-919195252,-1590550100,-546570839,-1892408879,1364082867,353274826,-1474121195,1265930986,-1270988436,-307653639,-1669880267,47684680,-2099572214,-109994616,-1757271553,204438726,-741166025,-1082768930,1392141887,571437698,-1106795239,1106622796,-1482710386,-1831954657,1832715886,-589821433,-817142351,-1455174472,-335864614,-142469293,-780935423,763984737,330676234,-1066514534,-495256735,-437213369,-1915934157,684926507,950235787,530649358,-908736407,-715619995,-1575868156,876383245,-354550140,-76749850,782476545,1313460503,-1762338072,-292932275,2076627779,483078710,1278572627,-1215573805,-648062496,-1603391601,1406517239,965188816,372458544,-1419235190,-153378691,1141281512,-1568988724,267564991,-1334046553,966216095,-1918314527,-442529334,783350028,1588190805,2113964043,-781337420,-851769018,284242717,-599388931,-1381995768,-1961071191,-1130619107,553927445,245113753,1628591671,-441866164,236482421,372534061,-1415102713,-2020898395,1516053043,420433888,1834959162,-2074589707,1255717519,38125824,63626875,-1652314652,-51572541,444485559,-82211850,1862817164,1818441987,295191572,21842710,1237238329,2092670890,-2044889614,1368279762,-1438596842,-143435511,-278501839,-459658934,245636506,-928488340,-1912451945,-42351945,-504678112,1476905607,-899274195,876201007,1339089989,1454186025,-1648169448,1588497977,-1839465197,-1436686271,-504961208,-1587038686,1012212085,-1666478629,1938513743,683819721,1676372276,-1294307034,1173782089,-554403329,884330448,-1695310224,1397610558,1614109062,1439317318,-1862718083,-1970291004,259980488,161056251,-1963493081,-786761031,2059027816,-2139570010,-528556682,-1175224149,44171054,-2121523403,-930218556,-988223883,1623973142,1515899383,-1536174786,-1022447214,-280034483,271890088,2095480718,-1761492435,836033406,1544368846,737223270,-1068285340,1645720711,1075528332,854722815,-336880846,-1680630481,-752484961,-503035460,1372815025,-243634894,1728576201,-1542474065,1243021502,-701301738,1390213176,-841361435,623127275,-1342282008,-238508912,1244202874,7275533,-345024313,30387936,-736701224,165116179,-1491260312,1843753366,-96035025,-1090881019,1151949581,815230444,1574048679,141079826,-1246670774,676946738,-1471964611,250240115,-221194119,80442623,997393892,1608281871,1352265509,-1722036034,-1896904314,-1088059661,1297546628,1195784079,-313010061,-1971719817,368956907,-1159985117,874887433,1206699960,-2041588925,-771706549,1145628181,1678629606,-1284699850,-547457326,1262854663,-1109813222,-1111888160,-815271507,-1111282177,-1496203050,695011610,-987866371,-1497628449,-620073703,1929177120,-1121618817,1105046871,-523085712,672511195,-1851464647,-1089185466,-1088015995,-898777778,987941239,-169193829,-1130911084,1471050198,-2085223053,73954327,-779688615,-881008856,-481836614,-881304454,-2022564901,1875139783,316158292,-1417504738,932734466,-70590463,-1570884524,-876978139,1988438138,-1114906518,760756656,-839378130,-216409443,-921612690,1505860465,-1693262267,-1035593115,-500664526,291949516,2129917573,-1814633643,1459324236,-1083536191,-718401529,-99984540,377289964,-1483663099,-1177177294,-1718020379,968282304,2108263210,-1593524111,1555830885,-449391869,-31712682,1015252177,-285803005,1425692426,621168702,810692549,1703681245,-1703745838,-92968632,-56836154,-157822360,296989323,-1528646674,-910692490,-1333921231,669278960,1763200362,382793794,1719733516,-1625515983,-1627002086,-1589160943,-582196415,419719146,492244555,275698590,-700622024,854349964,-425917947,-204849602,-272772344,-1462031308,878222854,1190492967,103629385,-482095891,392069824,-735996985,-235713177,-622758653,401473270,-61522453,596994697,-927909730,-823643851,-1330148817,1067380427,-347284914,-1615704489,-435280713,-1413761233,85040576,-762038487,908213559,1544836670,2134627606,-1945505881,620806403,-568787248,-43906071,-447001448,-1684371673,-253265873,-592918204,1640795665,979021873,1123526569,-2143273268,-436821207,1415734804,420170711,-2081199960,-581031803,1910587384,843724256,1522057918,631746849,-856809460,-219277644,432060094,-395042872,965091024,928139516,2067493774,-1058341888,-36409128,-577311160,633310859,-1803749680,906346253,491862077,-677337570,-400449994,-875433828,-1350887560,-760321458,283559786,214103596,37727240,374896777,1616734343,-15765805,2145149348,988883743,-2117536831,-2017758600,-2047546480,885213349,-1505709869,1491356252,232281113,-1369182921,620443478,-1456537852,-864025976,-1604909259,230958990,790184387,-441935793,933092509,-87039600,389839656,325246876,-1307347002,1188220529,2142023511,624150687,-736067641,-1964435434,1787545737,-1641952609,2025058938,-221530071,1576626137,288393014,410474518,-550750051,-918480260,1901664945,2025639188,1794047430,1690303588,-953488718,422238351,1453295917,1241138008,-932824934,1939949220,289442479,-2035932507,-15355577,-4110700,1950579010,1561227533,-133224539,554094113,1511417261,-1968467169,-514026277,-586865959,2087947093,-1770388617,-501293890,94805059,1434529346,939012186,-728387745,-162964670,1773431183,1253426978,-393836805,-405436447,629922744,471959250,1229394526,-1182027860,-420870869,-953251242,-976132191,499295981,857679437,-103242276,-365677172,-1613946039,377538462,-2139999631,1687176815,-405079499,992113680,-1603168888,447059687,2139204886,-463491605,736272353,1788415458,-1550051606,184967706,-1921777761,-1020895825,-1128650132,-2111009213,-1128129684,-148401625,927046801,198153336,-19691195,273989143,217241852,1065846503,-939414029,-459522230,-781731597,-1336753806); +/*FRC*/Random.twister.import_mti(31); void (makeScript(14)); +/*FRC*/count=320; tryItOut("\"use strict\"; mathy5 = (function(x, y) { \"use strict\"; return ( + (( + (( - (( + mathy1(( + ( - (y | 0))), ( + ( - Math.fround(Math.atan2((-Number.MAX_VALUE >>> 0), y)))))) >>> 0)) >>> 0)) > ( + Math.pow((Math.log2(Math.fround(mathy3(( ! Math.fround((Math.fround(-0) / x))), ( - x)))) ? (( + (-Number.MIN_VALUE | 0)) | 0) : y), Math.fround((((x , y) >>> 0) || Math.fround(y))))))); }); testMathyFunction(mathy5, ['\\0', objectEmulatingUndefined(), ({valueOf:function(){return '0';}}), undefined, (new Number(-0)), [], 0.1, (new Number(0)), /0/, 1, (new String('')), (new Boolean(true)), ({valueOf:function(){return 0;}}), '0', (new Boolean(false)), NaN, (function(){return 0;}), -0, null, 0, true, [0], ({toString:function(){return '0';}}), false, '', '/0/']); "); +/*FRC*/Random.twister.import_mti(291); void (makeScript(14)); +/*FRC*/count=321; tryItOut("\"use strict\"; b = linkedList(b, 1350);"); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=322; tryItOut("print( \"\" );"); +/*FRC*/Random.twister.import_mti(318); void (makeScript(14)); +/*FRC*/count=323; tryItOut("mathy5 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var pow = stdlib.Math.pow;\n var NaN = stdlib.NaN;\n var imul = stdlib.Math.imul;\n var ff = foreign.ff;\n var Int8ArrayView = new stdlib.Int8Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n var Int32ArrayView = new stdlib.Int32Array(heap);\n var Float64ArrayView = new stdlib.Float64Array(heap);\n var Uint16ArrayView = new stdlib.Uint16Array(heap);\n var Int16ArrayView = new stdlib.Int16Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n var i3 = 0;\n var d4 = -2.3611832414348226e+21;\n i2 = ((129.0) < (d1));\n d4 = (d4);\n i3 = (0xe0db760a);\n d4 = (-8796093022207.0);\n (Int8ArrayView[((i2)-((~~(+(1.0/0.0))) <= (abs((((0x7df2d48f)) | ((0x7d780bc4))))|0))) >> 0]) = ((0xa15c5a1c) % (0xffffffff));\n d4 = ((9.671406556917033e+24) + (-18446744073709552000.0));\n {\n d1 = ((+(0xbd1a78f3)) + (((4277).\u3056 = allocationMarker())));\n }\n switch ((0x5d45394f)) {\n case 0:\n; break;\n default:\n d4 = (+pow(((d1)), ((Float32ArrayView[((i3)) >> 2]))));\n }\n return (((0x9fb5b184)))|0;\n {\n d0 = (1.5474250491067253e+26);\n }\n (Int32ArrayView[0]) = ((0xfd7f975a)-((((d0))) ? (0xdf27ffc4) : ((0x2ce3f157))));\n d4 = (d1);\n d4 = (d0);\n d1 = (-1.5111572745182865e+23);\n d4 = (-((0.0625)));\n i2 = (0x54bc094f);\n {\n; }\n (Float64ArrayView[(0x5541*(!(0x5e937a0f))) >> 3]) = ((137438953473.0));\n i3 = ((((0xff766960))>>>(((-20)>>>(((((0x3c9ca020)) >> ((0xe688c21f))))-(0x7eb4cef8))) / ((((0xa50850ab) == (((0xf861c288))>>>((0xffffffff)))))>>>((((0xffffffff))>>>((0x841c0a2))) % (0x6f355352))))));\n (Uint16ArrayView[4096]) = (((((i3) ? (((d0)) / ((+/*FFI*/ff(((17179869185.0)))))) : ((new ({x: this})(x))))) << (((+/*FFI*/ff(((NaN)), ((~((0x143dd4ec)-(0x81e042ce)))), ((5.0)), ((1.125)), ((-73786976294838210000.0)), ((-65537.0)))) > (-((+(0x38e38e4f))))))) / ( /x/ <<= new RegExp(\"\\\\3+?|(?!(?=^)+|\\uc5ed\\\\D|\\\\d)|(?=\\\\b)(?=\\\\B|[^])(?:\\\\uD446){4,6}{2,}\", \"yim\")));\n i2 = (0x16be6e4c);\n /*FFI*/ff(((imul(((i3) ? (!(/*FFI*/ff(((-147573952589676410000.0)), ((17179869185.0)), ((-2147483649.0)), ((-15.0)), ((70368744177665.0)))|0)) : (0x9e66503b)), ((~~((1.888946593147858e+22) + (-137438953473.0))) <= ((-0x73b66*(0xac0f5f4d)) >> ((0xfeaf282a)-(0x5d177067)))))|0)), ((~((0xc9e77919)))));\n i2 = (-0x8000000);\n (Int8ArrayView[((0xfad5bc35)-(0xffffffff)) >> 0]) = (/*UUV2*/(z.toString = z.forEach));\n (Int16ArrayView[4096]) = ((0xf9f83d8b));\n d0 = (+(0.0/0.0));\n switch ((~((((-0x8000000)) ^ ((0x145ebd16))) % (((0xfa7b72a5)) >> ((-0x8000000)))))) {\n default:\n return (((-0x8000000)))|0;\n }\n i2 = (i2);\n return (((0xb5ceadf2)-(0xe7f1b524)))|0;\n }\n return f; })(this, {ff: \n(yield)}, new ArrayBuffer(4096)); testMathyFunction(mathy5, ['/0/', 0.1, undefined, false, ({toString:function(){return '0';}}), '0', (function(){return 0;}), (new String('')), ({valueOf:function(){return '0';}}), (new Number(0)), -0, ({valueOf:function(){return 0;}}), null, [], '\\0', objectEmulatingUndefined(), '', /0/, (new Boolean(false)), true, 1, 0, (new Number(-0)), [0], NaN, (new Boolean(true))]); "); +/*FRC*/Random.twister.import_mta(1354524648,-1141057456,-1481617964,-866207045,-157353650,-167702911,832335138,-117496460,-923334185,1869269988,1045914034,394282424,356948257,-1191921826,472025239,-535014051,1095872966,300444625,1537734614,-1583230494,444724439,881285895,685521648,379291847,1624483900,938757746,-861713847,837781276,-244653249,1668935051,-1507750277,-1509352869,-1687375263,734117961,1174653936,-1138281763,867977840,-2136388532,2079558965,-1044643158,-1834525884,-1490449565,-1086257421,-1561897286,-1019245872,202469032,2003809414,-371889942,1030598427,-653094322,1991511992,1132809864,1202984913,-1956776800,-1418434766,1010411285,1814286798,1321196352,995537303,-271692249,-1946542389,-614193141,-509804753,1735207020,1123437995,-1031162646,-312999493,1470103933,-219218402,476841913,-1270714179,-1736660014,-1069712913,1410197866,772362504,1094425036,2052459149,-2011732307,-91475174,350445058,205963906,-401406594,-1682479252,-2112000931,925091421,-1384095156,353568269,-1540273408,-874638770,855959874,1949521039,1512987434,1870906872,1299184804,940437366,2029046776,-1786880256,-1764081237,707187829,-1295054802,1108520744,-1229023779,1422638024,403769413,1449357908,-1305532581,2073422270,-1989390820,-668760859,-883266827,1190866403,-1016726560,1254686497,-1804810684,-2060710462,1965388656,-2012013085,-1987951754,457741664,-500242056,509137904,765224833,663182494,-1771336475,1764490396,-72008059,-645862135,-142202546,-1543264099,-711206275,1417894243,-1526291908,-791516470,-589421027,-369474959,-1283709343,470073209,-1739783596,-1322146174,1290703934,1178901085,2060925580,-667564523,-1567047549,-1756773586,-1440906344,507251258,-180149930,368775674,-180186405,1725873762,1017856366,1398149891,-1914068703,-239698956,-941914593,-1993402888,-949712131,1510405499,-475980889,-307614059,1764221866,-529169866,-1893885946,1478197922,-944838136,-513925672,140342921,1553257019,-1282449124,-467749925,-128516970,1904251423,-323455956,1761434913,-2003312457,2045971980,-133709713,362311296,980109938,361399076,-1131402436,-1259314853,1442689782,-325300840,-764515116,-722901300,2132318044,1452096102,-1161544271,857091175,-1390777867,1127797081,-1176698650,-1230071002,477001503,1789337435,-36104104,-811796046,-452657101,-358626518,951154808,1256411009,-2075850050,-1876086094,-163920658,-1304358331,1817236013,-285352714,943536963,9508374,549406102,940432154,480078008,1231934239,1166356504,-345324146,-1738331864,2098488035,-730893320,-95558749,-749455629,488660948,399230188,1920347319,1818570815,-1603427038,-321559398,-835108343,-1215023449,136362572,-1161414916,-1735338194,1616878887,-1194964626,1355923809,1577980534,1884329728,-1933063254,250704900,118479731,1024850435,-1079843138,-1915798184,-509097486,1081334747,1036733221,286062022,-502143739,1306010784,-571742750,1497594419,-1766797838,2119615471,2089685243,577699658,2136510228,1986190260,-837530069,837394603,1228366637,-1064249425,412715109,-2124113392,-1957719301,-1356098770,-452900478,-54393034,-917227310,-84452293,-2053303719,514708326,-209945261,-1337377568,-1400919666,875900868,50127275,1935037691,1758669721,-1968132889,64942279,-1913842929,-1189925727,-789793995,-710132542,-33951370,656308119,-1553494638,1876166774,416937874,270169417,-1344453849,-1057829663,2081420896,598523986,-1561553286,-2090663793,328013986,-2109978306,-637424692,-1399085967,680605730,910548495,327171987,-1612391292,-2027995644,1318882000,-1066497663,683568833,189300459,1946539812,-2027954793,188256962,-1256484234,-893436833,-830071749,-596630295,80347819,-310993558,-1171695247,1891763977,-2033387991,968569628,-1920992731,1503654353,-843097388,-293885528,-763556497,-775068136,-1045525373,-11344126,-4200809,-1833870748,-1081911892,326709794,1561617682,-1983577916,-757996521,-1169723135,1132406648,499998039,1179935163,-168985169,-1845988352,-1882740009,-1834796457,644725120,-93104485,-59179195,1111875057,-566011259,-1189556938,1739429295,87632927,1003700147,-489216979,-1510904300,-1443956461,-1888786191,-1932512212,1043025424,-621272196,-2001699838,-50699298,999937535,2129405159,683653960,-1528241315,2001071106,-579872014,1496982865,1285296925,-946986546,1256495523,-938580098,-1668499745,-1381883715,-75955998,-760321387,2077311800,40760502,273290846,2135192470,1467464548,-1108912816,-111828170,-1513695351,-1986038012,73718866,-769163128,-1767433410,-1300443666,-111649774,-160263344,312968650,-397527865,-926066288,-375313126,1358604985,2086224122,55815845,-732627938,1235663919,-1533689853,1693242077,-1338071180,-453915950,-876434856,-1805060469,-1442112482,-647138490,1194653026,-279360175,-1552813813,-320540386,1182789770,2042070123,-656554147,-2081640391,-1329327778,1939895780,923236832,1604130722,893124592,-1964339179,686558531,-631829588,217482866,849714720,352265456,1758916959,-1538087799,1787663983,-1901405831,816437764,-1253142653,523381761,702720726,-470185653,283390173,1685900150,-1141961586,1879592614,-235637775,739921162,440121310,-814592291,-995088159,988492679,-1067188828,751377323,1479769943,-466634665,-178912009,-263676429,302258214,-1170114439,922691474,-707732581,1603001672,-1443586968,-1396696880,1935037194,518232649,-1651277648,-1354060715,1088228713,-1236524373,-1946484466,-34490079,-895227397,-945938225,-601289988,701596388,-1969652072,1937113435,-1093035903,1120763842,-280114683,1870143501,-909598837,1970239426,1346014915,-1703591320,-1961972850,1839754056,234585522,1928470421,417872186,-2017533655,2112919336,-1061578995,61287526,406061986,1395985283,174189120,-333521768,806327230,1343505354,-1774554693,768293369,-1585670071,-1450668572,-187409917,371967256,1495883760,938949423,1501661858,1768064071,-1235025723,12707318,179574230,1806721187,1674869259,1005261040,-953408216,-910457938,26590444,189298717,-2055735383,-1253902445,923337683,-2031792245,2046825428,440074274,412886650,-789554526,-925787681,995561454,1597788271,-339479666,600457978,986279443,-1907476695,1164156312,-1558858084,-1042115995,1113287693,1539279187,1636048575,-1246935589,370889125,744104776,2083457322,-1760883229,261877071,-1657766560,-1568118789,-462957047,-646355043,1897063962,-705426303,828222478,1270071404,-237352630,-1933469833,162554469,689159065,908889514,1322762500,-24738579,-492657005,1958207560,-353710533,1536407801,-1414570345,-1937166172,-1754489602,-1597922630,-1672122553,-1733244979,2083484771,-1584766672,-1122406997,-717647575,-2091586871,1982485645,-187472174,-878646181,1263111994,721468669,1859728065,1385386772,-331179231,2000801803,1778636767,-1123313031,-1809178719,682997774,-306155675,783368955,-1948939798,-1893339470,237216956,360525710,630337548,-915996756,-320635127,2058538864,-302716213,-714272968,-795402641,-1878677087,668880793,2058514767,1682474139,-656627256,1158707032,-414501997,2042748589,-483041512,-1864562028,97308473,-1379202385,-2070906167,-1522048613,2056068242,213646605,1485778016,1475920268,1170335264,-309439139,1719844536,-1600951708); +/*FRC*/Random.twister.import_mti(9); void (makeScript(14)); +/*FRC*/count=324; tryItOut("testMathyFunction(mathy2, [Math.PI, 0/0, 0x0ffffffff, Number.MIN_VALUE, -0x07fffffff, 0x100000000, -0x100000000, Number.MAX_VALUE, 0x100000001, 0x080000000, -0x080000001, -1/0, -Number.MAX_VALUE, -0x080000000, 42, -0, -0x0ffffffff, 0, 0x080000001, 0x07fffffff, 1, 1/0, 0x100000001, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mti(41); void (makeScript(14)); +/*FRC*/count=325; tryItOut("var qbamrs = new ArrayBuffer(8); var qbamrs_0 = new Float64Array(qbamrs); print(qbamrs_0[0]); qbamrs_0[0] = 1; var qbamrs_1 = new Float32Array(qbamrs); g2.a0 = Array.prototype.filter.call(a0, Int8Array);print([z1,,]);print(\"\\u3FBD\");e0.add(g2.m2);e0.__proto__ = g0;v2 = (i2 instanceof m1);this.i1 = a2.keys;print(qbamrs_1[0]); /x/g ;"); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=326; tryItOut("s2 += g2.s1;"); +/*FRC*/Random.twister.import_mti(199); void (makeScript(14)); +/*FRC*/count=327; tryItOut("\"use strict\"; t1[9];"); +/*FRC*/Random.twister.import_mti(210); void (makeScript(14)); +/*FRC*/count=328; tryItOut("\"use strict\"; o2.s0 += 'x';"); +/*FRC*/Random.twister.import_mti(222); void (makeScript(14)); +/*FRC*/count=329; tryItOut("v1 = null;"); +/*FRC*/Random.twister.import_mti(233); void (makeScript(14)); +/*FRC*/count=330; tryItOut("/*bLoop*/for (ntucyp = 0, igyzxs; ntucyp < 113 && (\"\\u6720\"); ++ntucyp) { if (ntucyp % 47 == 46) { \"\\uEBBD\"; } else { ( /x/ \u000c.yoyo( \"\" )); } } "); +/*FRC*/Random.twister.import_mti(354); void (makeScript(14)); +/*FRC*/count=331; tryItOut("mathy5 = (function(x, y) { \"use strict\"; \"use asm\"; return (Math.imul(Math.fround((Math.fround(( + Math.log(( + -0x080000001)))) || Math.fround(( + Math.atan2(( + x), ( + Math.exp(Math.fround((Math.fround((mathy3((x | 0), (-0x100000000 | 0)) | 0)) && Math.fround((Math.fround(y) + Math.fround(x)))))))))))), (Math.fround(Math.sign(Math.fround(( + (( + ((Math.fround((( ~ x) >>> 0)) ? {} : Math.atanh(x)) | 0)) ** ( + y)))))) | 0)) | 0); }); testMathyFunction(mathy5, /*MARR*/[0, (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), 0, 0, (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, 0, (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, (timeout(1800)) ** (4277), 0, 0, 0, 0, 0, 0, (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, 0, (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), 0, (timeout(1800)) ** (4277), 0, 0, (timeout(1800)) ** (4277), (timeout(1800)) ** (4277), 0, 0, 0, 0, 0, (timeout(1800)) ** (4277)]); "); +/*FRC*/Random.twister.import_mta(-195083982,52595795,-2088850056,2015154690,912051073,292063934,-1729473863,-1717573911,-947142010,-69567989,-1073575804,130222788,-1234090063,242517970,-298684653,-1879992910,848131132,-1053357323,1454315643,-1375744289,1536612865,-1753043647,578905570,1137287674,754802393,-524025255,1842101374,727142741,-1067955367,1347386446,-956646528,-434407473,-669551605,1272386727,592022840,861123415,-1895923873,-732386239,-1785688362,1449230755,-478224456,626113261,1100454784,98766366,-35144742,1270846693,-987838588,-341562792,917700345,-1272428287,-445476955,-2143713104,-976418828,2037590066,-1624826878,-767668048,-771102377,1961588199,-1125412886,1723123651,-1035631800,1008080083,742214014,294062690,-1920679259,-1661803768,-331666904,-1528496193,2020876118,-1007385112,-93161662,1928138022,-1745400428,-576241281,-419173335,2013970277,-1261272723,-136354027,956804698,-1191511616,1992621437,-1567196749,-1216469252,189910138,1672431332,-2084848358,-2006063128,-287202647,875175913,-1360369878,1608856064,791272390,-1593237637,1643536531,-54398223,152568806,-900623448,-1624321690,319188567,-1927836916,-1302828657,980524590,54150470,117080275,560184123,-733841093,-261980915,-483215435,-1517495723,-847110911,2016638802,-1794225400,-1135254553,1113056023,1881582702,-156148083,655711152,1984911936,-163884652,-2036864426,-1907146765,411817554,390758660,-1042871843,-1814352818,1932364240,29558643,-785226573,-346457189,599344844,-632108863,1396587147,-1470368834,104227433,-478355179,-305954448,-2107066877,503008985,-983368573,2076733332,2133913931,-290596218,-1446982111,-32922548,1125486697,1665410645,1183750529,-571046626,-1406003971,-295755183,-1126316212,1422159703,1183123410,164223968,789675857,1976182514,-1324796467,97616680,605661819,-429013520,1568688716,102124721,156830983,-1836366404,-1049242729,68742820,936166816,-321822405,-1301746151,1737415062,-347610443,1091132266,-1442228911,1975966082,-513002265,-579606986,403848515,-1611291031,-1637789712,2096043295,-358911156,147876905,565663297,491690545,133039275,954720370,-1815162737,1543982392,-295077416,2106080405,464493444,-803118979,-248582378,1978011496,1558839994,595513792,818882704,1924354903,-837287734,-1138156999,-1329872075,-959719313,-271159404,-1652844959,-1416987624,1345163356,-922839472,1305255732,-1587631643,-661380413,1431295379,-78782946,2005887729,1586169416,-1306553704,813280766,-503669189,1662188391,-1888429977,-1633460836,-65448277,371131274,1545413626,-437108572,1119124893,1991535657,-688269271,172708073,-1042274337,-949030818,1702873468,2048172054,-128977678,-2071366130,1761588870,-393425987,-1007537781,-966693551,1086042310,754850519,-1980315124,-236774324,-921302242,1113493701,939939783,-784200394,-1518750660,-208234404,-244400367,208967443,-1235178436,665139232,115856241,-897350436,979382000,-783149,1803424148,2029530186,669456197,1703179586,-224931921,-166856235,870448735,1381041917,-2083691050,-418371049,671121976,-2016099375,-1054694353,-1705926029,1253435309,1565603244,328927893,-1826548925,-1312899654,-1362870541,344708003,1209248438,476671516,489344840,-426962582,1520843405,591444469,-1193281738,169315676,1986790654,1996947722,-1246787725,813362970,-1120353531,-1621026002,1962218506,-487253960,-34780671,-1248676734,-1597165618,-1976432199,-76786723,535681216,1488072563,-1980768914,1697231857,-389934989,-1155469521,-1269762025,1581902642,29691359,-1147962686,1044051481,-1921200786,-1848208786,640880517,-1724484575,1950009624,279583851,-1021657790,1971836576,1767799989,-348797023,1080077344,-73880744,-1608750209,-1766896085,1066851231,-1175356404,1681635971,2099363172,-625026429,-1011980112,2090022599,-533871801,1748702729,-1954294803,-1176574948,-843545284,-1586603465,1038245845,-1139245299,-189671244,733707667,-126524651,-740777370,-1102224243,-100778492,-1508477004,-1525838508,581366212,1768419470,-526284683,-1587307367,-1654952122,2030392902,-390484224,-2061358987,2035369594,-1180578671,-297366886,82824294,357965981,-145861450,726299607,-1490755820,-1816219489,1185737763,-1148851083,-784522969,-256594203,76678986,-1072023553,1549102166,1095703837,1624408206,-1623270821,1653189182,179859118,1676391548,-1813798368,1283605209,690802379,1202978185,32297167,280184474,1584528192,-1342529691,2038125235,-269323936,-1566409102,531768421,788892917,1107984536,-877321397,-1109787234,2132911884,2124351301,1107217287,-703708463,324947739,439486262,2133195543,849883868,1609344909,481810991,1446098664,-210967310,-2014644781,-333862247,420364339,967293142,1574298150,1291972578,2127880320,-1454763300,-262690776,-440621056,1060681085,1270483762,-923897884,-1018072249,-2008848174,-1996565020,1852158872,1931774315,971189816,-1397567419,-1077025495,-483162852,-95266560,-1444344795,-860599785,1119201252,375026938,1204029424,-831501249,-1867875502,-832346070,2010058554,-865765464,-38034967,708277935,1169231690,1132232719,-904153653,-1853152039,-1208502082,1846485128,834752470,1710487859,946110391,909049176,-1821303056,1357074384,-374664855,-1793597811,936715791,1128881402,1170746172,-1676581993,-694217618,366038706,-323634490,-756450714,290758403,2130032198,-851709485,147622820,-1176664403,-1362052259,-871675253,370372611,894390076,-1197920131,1444074169,-2052404156,-1607136400,321202222,1997194126,1829906674,416217569,-921593607,-1156895637,-1338753219,-1955210930,-221336089,788087891,237771246,555395484,-973747625,-18623694,1826240926,1293530571,-351961692,-1038158875,-351654970,-1735215322,-2098972943,-147994013,-1034523732,1656735304,-817578578,-596236618,446164920,-444925112,1302766381,1604202799,1686570318,-1634057388,837421593,1261757334,-660665808,1663060750,-1115292195,-1496904238,-561084124,1794279794,-1774610969,1420242637,-34464397,63805439,-280600831,559731502,1063353143,803775384,-573757916,-2026927704,-148750112,932574609,-1512942781,-733717863,-742446311,-584848972,-356135342,809304001,-1067040647,1668596499,-1441160820,-943517708,1968819127,620881432,-1879461883,451438099,-1505767147,109514191,-49464873,-418717554,-1214563635,-441583343,-2010370302,279179395,1437100142,-299483866,-1939575552,-513824245,1105353397,1171036609,97952231,511633757,-250455084,-79985262,1330706059,768090436,1367803786,-1209830120,219385333,-920439946,818372761,-1292549914,1611477996,-1474973112,83535130,1797109684,518075626,-1227667668,1653181278,-785217137,-1312475851,45880044,-1693831184,1636018612,480350683,1680949665,726008266,1343811568,378024414,216977984,-1461282986,-1831117442,609479609,2131800016,147609721,1575919933,1128671446,-65594580,-1775438983,-99993310,375070540,-458667991,-1288936691,1008106149,-819968716,-175612473,-1815439914,-609088863,-1458822289,934423128,-407982005,88250927,624674341,-1421739559,-178579181,1877693644,-409724369,-1567259152,1612661992,2044916681,-736549769,1380123324,-580923711,-403524229,-1775919784,1572951068,-783246028,851416283,-968362013,1769074562); +/*FRC*/Random.twister.import_mti(213); void (makeScript(14)); +/*FRC*/count=332; tryItOut("a1[({valueOf: function() { { void 0; try { gcparam('markStackLimit', 4294967295); } catch(e) { } } s1 = x;return 18; }})] = e1;"); +/*FRC*/Random.twister.import_mti(244); void (makeScript(14)); +/*FRC*/count=333; tryItOut("/*hhh*/function axwmvj([, ]){v1 = (b2 instanceof e2);}axwmvj();"); +/*FRC*/Random.twister.import_mti(335); void (makeScript(14)); +/*FRC*/count=334; tryItOut("\"use strict\"; o1.g2.v1 = t1.byteOffset;"); +/*FRC*/Random.twister.import_mti(354); void (makeScript(14)); +/*FRC*/count=335; tryItOut("\"use strict\"; L/*\n*/:if((x % 6 == 1)) {/*RXUB*/var r = r2; var s = s0; print(r.exec(s)); v0 = Object.prototype.isPrototypeOf.call(v2, f2); } else if ((void shapeOf(15))) for (var p in g0.f2) { try { e0.delete(g1); } catch(e0) { } try { m1.has(h1); } catch(e1) { } for (var p in t1) { try { Array.prototype.push.call(a1, f0, o0); } catch(e0) { } try { h1.__iterator__ = (function(j) { if (j) { try { Object.prototype.watch.call(i0, /(?!\\d)+?|^(?:^\u357d)?|\\\ud218|\\3/gi, f1); } catch(e0) { } try { v1 = evaluate(\"null\", ({ global: g2, fileName: 'evaluate.js', lineNumber: 42, newContext: (x % 4 == 2), isRunOnce: (x % 4 != 3), noScriptRval: true, catchTermination: false, saveFrameChain: false })); } catch(e1) { } try { m0.get(i1); } catch(e2) { } t2.set(t0, 4); } else { try { f0.valueOf = f0; } catch(e0) { } /*RXUB*/var r = this.r1; var s = s2; print(r.test(s)); } }); } catch(e1) { } try { o2 = new Object; } catch(e2) { } Array.prototype.push.call(g1.a0, \"\\uDCEE\", this.a2, p1); } } else {/*MXX1*/o0 = g1.Set.prototype.keys;d => { yield /x/ } }x = (new function w (x) { Object.prototype.watch.call(h1, \"1\", /*wrap2*/(function(){ var nhujew = NaN; var teqsgj = XPCSafeJSObjectWrapper; return teqsgj;})()); } ())\n;"); +/*FRC*/Random.twister.import_mta(-1252968070,-390448618,-1071347340,-253950609,688139742,-842668278,1581500497,513850551,695022254,-471910402,-1176123266,2110003174,2095199827,1852511362,883882224,968260348,-1610229690,1041335526,-289916110,1356726051,1265107809,-541857962,447075134,131150427,-1543374986,-739262496,1431299620,1738526581,1894654187,2056526995,1521800454,849306278,1295897712,-1071425027,-1775259619,-441578149,-710033389,729839247,-1737819257,-1159939710,1720596887,1699472103,-693639103,1472386010,1146149103,801780111,-10474437,1921155463,-219546678,-1461027414,-156724614,1901304097,-1070412429,-77653092,-613876960,-1656686247,1336749749,-1525617022,-862289942,-1242385787,-225551873,882126986,1984309737,-912244218,1620915336,-2048789774,-2009657483,-515350391,-590300080,1115346487,1593090017,1020733998,-1157906515,-585135468,1449732501,854099361,-1155123337,-353761480,287009561,300534723,-1086553145,-1895449957,1101852143,-285837651,1244729524,2137678758,-605607978,-1085959508,643902860,-1203107025,958917181,-1290541009,-999182306,-1448768666,-542938080,-1554227984,-2073532875,1350080064,-787967886,1769399592,-1569429812,-18121374,-873851431,-898223505,-1893419614,1522111495,-861165851,-472115796,-1201916413,-1551632526,-968122422,742136510,-1175062694,1395319179,1879297592,352815832,1588836459,-1382909548,709157268,1509245709,-245340958,-1588618298,-1368702132,-26539657,-1134899564,-364085760,-2095011979,618779490,1314756671,-1336393144,1356415249,-649653908,1665188384,-1468247401,-898140776,1513418872,180794574,1952999263,1372899816,-556097708,1739424746,-203601882,-1426971357,442216687,1661672758,1098840094,902806599,-166364483,-1836489718,-2145849854,821586276,1425158412,472130619,-1160558584,-971904358,1944344609,1148737565,-1713822882,830418275,-647181103,-1895808359,1620967355,1078623181,216400985,-630874429,-1004797269,569927169,1202395761,1437986729,-453906306,-1993571430,-1544747731,-226798415,-396770972,-1549567996,717899209,-2013492798,-692067219,-484707406,-1413776370,-188923560,-1831039353,1181448845,263448743,-496294623,93819174,-1806571398,-882553151,-1866500594,468078762,-188449132,-1285657837,-1708599466,1231596142,860258829,373401155,1773095000,663053527,-896925682,1895046742,-1470952839,571692073,-2065513818,-1303929078,1201561774,-447292755,-2026068506,318696933,-745479559,-1240305706,636342115,-841768256,1949084935,-1656205237,-938217172,-580919621,-1836984837,-770998368,270586828,-1790232418,388818487,-1399818686,-1694804593,-157307724,-770075416,37648722,1044218336,-516975788,-1191384499,1252523677,209319103,-1501030382,1568942803,-242226905,881637752,-574846696,-385468507,-1054724139,-1668635997,1003156040,1724307244,1873854620,-735175500,-1448248880,1221801441,1271480276,-83002235,-1363245895,2052607791,-1352465625,-1893400457,-205476530,-737565885,138889925,-767422727,555103257,1177818008,1047318594,1376823278,267719581,-1503320227,-666800577,2100591642,1934756214,-1817351600,-1095992007,1000742795,1337506994,-1411029227,-1084382745,-1084336764,2011948173,258133270,1000301855,1282759844,-288064722,-256245430,-1372280362,-93490396,905677677,1753164558,139099692,-713749245,-132479597,2046388428,78827539,1955540098,-1025933632,1387323083,2074331980,-1479142841,1030183360,-19616626,-1672875723,1116896903,1321425372,-1422065754,2063728937,9242941,490442438,-542093355,97819442,-627612298,-124930257,4758102,1605930518,2070064205,2060884656,497430904,-318144997,-1337245714,1443491725,-207137865,-375723691,2044923505,-1468317693,-913772571,1784175345,-880742807,-1110341927,-708693095,-163417732,2133886522,1682627829,1117165192,-1940141744,-1813195799,-1406499257,659103736,-1266688887,1790086865,-46649246,80895895,-1924067358,-2092353409,-1170197282,1779200128,-1622851655,-57347605,479373694,-239372187,-847663602,1473933006,-1902990854,-34628239,-871731011,-1292981439,-785132317,1597293658,-960336893,2017118339,1429001388,416653259,-297231490,-262359498,-2053304681,-157790768,998349736,2134094967,386350563,-1707659752,870228117,630177265,-39683726,-1431530724,-1795609655,442481577,-639032413,-264605379,1939125253,1326954479,827115523,800159396,-106502120,485742039,-1781447213,-1242093759,-1101000142,-1006553682,-540038744,212041708,471337616,1224310542,-510458920,-2006851801,1461308031,1751684416,-301214329,-1359755545,-474485009,-868173413,1812801177,-1579834988,1150895816,2044611718,-804903626,1286574800,1787049576,544518725,-1805206429,1959504478,394498520,-272448458,-1588040367,-1386155924,-1219701334,-1607203171,1190542824,1274160290,-1335603038,428440674,768363076,-627593790,-498935536,-1899556271,-1757833158,-1246313346,-1175301325,61069911,1664880039,1596770080,1564552049,-562454056,920803616,-1759237752,1643517520,1811992379,313514668,354056649,240666533,396805453,-418387082,-1228850733,222795022,-45078921,106345066,2141509689,712737807,-1862377126,-1942041458,447242380,1613421361,870899852,37536834,-1855014925,263333926,281550049,2139042348,-412210858,879142036,591407732,493547928,-470120349,-422417621,-2138786769,-500163738,2125698993,-431597737,1238994191,1766560121,1092723173,1333062978,-1751455770,-1000104057,-1995249868,-1706958990,2026219734,-1031859001,-2022752279,-1183174550,-1849747313,-2080100679,-330252840,2096362080,1119446187,-597445520,-1912133045,1829020945,-2036112414,-2081245232,1442608650,-1509541842,-545256929,1454757749,-144624312,1987582465,-97307012,-179697038,-1137700376,441260633,-565837550,1146154550,707089793,-1180362182,337474445,1424940272,-2069147093,-100935420,46490426,1219615230,-969818393,-1920456920,-1070733065,2072952367,-2073438480,277521269,-220878536,-1468741593,-1411850183,639319806,-822242971,463613164,-1574649775,68199191,-297505873,-1486588010,435710762,1179067460,-1421178624,510976531,282579593,1744111190,-1639530844,-1625291597,329700607,-1215736767,-1497209897,-791425657,-10970183,-1593177201,-575807115,-351967755,-1521642059,201647566,595752812,-155168233,-1435132282,1178754752,-774091991,1302779570,1294325582,-1567050023,-664597154,1570435652,1203533897,-117700230,-268282206,1662646745,1119421826,1786002536,-1721864849,-1040084450,1511644912,1102502673,1935187729,-1840645725,695825097,-1327588049,-39043796,-303241202,2041163956,406039277,-1132720926,-346533811,-532597969,1740501163,-2076703336,1611420038,-1889103392,381551954,1668820396,-1800103442,-701789835,834838199,1641821476,328662262,-794578148,98833912,-2007490303,906120765,1072646412,891034107,-1000993084,1150672368,1096316126,862740200,1262325706,563952648,-446486013,-2093860537,-632146735,-70536077,1909941444,-973878406,-722376032,-1391975807,-63988130,631465568,-124191312,-1723189745,-1699771474,1668071286,1786387419,1686092582,-91123517,783552087,1023008662,373943346,-1503440321,-1809733855,1048854299,-337869681,-908893049,-394692328,178479206,-94122828,-1603987998,-1276637130,1687537978,-693140048,-1044675087,-963049238,2065832686,369561197); +/*FRC*/Random.twister.import_mti(246); void (makeScript(14)); +/*FRC*/count=336; tryItOut("\"use strict\"; /*infloop*/L:for(b = true(window, ({})); (NaN = /x/g ); Symbol( /x/ , /x/ )) {new Function }var bhxjvo = new ArrayBuffer(2); var bhxjvo_0 = new Float64Array(bhxjvo); print(bhxjvo_0[0]); print(bhxjvo);"); +/*FRC*/Random.twister.import_mti(459); void (makeScript(14)); +/*FRC*/count=337; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return Math.max(Math.hypot(((( + y) + ( ! (-1/0 | 0))) | 0), (Math.fround(Math.pow(( + ( ! Math.fround(Math.atan(y)))), ( + Math.max((y >>> 0), (Math.abs(Math.sign(( + 0x080000001))) >>> 0))))) << Math.fround(Math.round(x)))), ( ! ( + mathy1(( + Number.MIN_VALUE), ( + ( + ( ! -0x07fffffff))))))); }); "); +/*FRC*/Random.twister.import_mta(517548899,1080489727,1962970635,541703345,828465757,434868417,922780629,-1177130693,-2036117931,-54074718,940848667,-326398124,-2024678685,64880666,823621434,-896187935,-1119216797,-1181020216,1717557108,151680273,-1775525736,1324430280,-103013291,1294744731,884405377,-1260498230,-1675293115,911968546,-978016058,1096459704,199257087,864326641,-1220453500,-977687140,214981892,1159686405,-1047585130,1752034155,1530457771,-1779731411,-2116631133,581248421,-404773533,-1584874460,-288918743,-1789901234,-495635362,-1474672106,1539774195,1805407708,-1629598109,1585446704,1237920090,1324636132,-893239829,488943590,-195421078,-422999078,566358779,-1627649135,-1140044014,-336451292,1302048890,829373345,1300501563,1250545795,768548636,-411387620,1651770550,-826845191,-602635824,52056288,-671746784,1669545114,75029686,1758140092,159838716,-1824759304,1302323534,143776631,-1282488189,2138940874,763444313,820313680,-1716319747,-227304972,152509987,-1538153586,-212488375,1068004285,1976258234,-569849369,1319100394,-1315457278,369016910,-249964988,-778481382,1016675252,542486116,-1785634483,-2037487691,-29828855,-1266520042,-2119965642,2044485108,2138082138,174109945,1095728430,1095456972,-1846516003,-26557064,-1222501484,-695795996,-151226759,287435136,343256251,316252125,-1150936219,311846607,558389595,383838631,-58775386,-129378697,1325053379,315832662,1188978113,-850334462,-1384077249,-1348111003,1470526336,-59751119,-1896285527,742167067,-1198105671,-2044781111,-1607544878,-1355258178,191370136,-642966083,-643604621,2142042835,497936743,-1719419366,2090883541,-2111321386,1535927202,-6750267,251185740,-1192198533,-1468112368,1231085919,-710695104,1998428268,-94988254,586878673,-517127647,1297763006,-1292912257,670510868,-135142566,1503187501,1149349909,1922521853,-845951222,-483058841,1971883837,1367698858,1402172452,1438976148,-1062321067,-1460509745,1867746151,1653794272,849973678,1490619349,-707408492,-1013588898,273796349,1179337457,-1426254928,-712842652,1919233176,-1462564175,-1747817661,2010632552,-830539015,-1204827569,151506905,2124379837,1902096512,-516245154,-1468579416,-410620816,1526318344,1776539533,1157677288,1329187278,-239834457,-713937494,1896786877,-308118357,-85353245,-1066796662,-111100935,-925932801,702826792,-1274512117,1246843168,1975335356,-150501128,815807826,1165866083,59588571,1519241101,477879053,429604517,-2122529080,1119029632,-255438597,1929106982,-1516229865,-1327443166,-1377807382,-1464381563,-2021247933,1681709598,647022535,-609227110,-1136805522,-365640565,856535224,-961820693,-1205545843,1833361257,-1761071689,1797842264,90129815,-279324779,-1318128016,-1271746187,872833108,453015904,-1639711479,1076572492,-1669361630,-1026434583,-950171758,1913599952,-1069022588,658904241,885811772,-944073217,1777682295,739031526,-2612239,-424763126,1584188825,585644040,-1384731936,1031502069,814852700,1917477641,2092330430,-933647426,-1372363480,-1612492367,-1305007500,221038326,-469547639,-1200582751,1131806397,-378137182,295126046,-1001416180,-1620019327,597300822,1015415095,-471271439,-1651864999,2113322205,1255237874,2037386165,-132030992,-2002343924,2107134732,461792442,-1081035535,1281134760,-702296958,-948434554,1876727617,1928217212,-1650091834,-712077184,-1071966734,2011855717,708765618,1163572625,226989955,1629839893,560558339,691236365,-1920631308,1235401943,-1126160653,-383383625,905614895,-1117925313,-789468648,1973724078,-1024935607,963121401,532045185,-319936060,694465360,244934756,-745738726,-922515119,434682452,-1116309767,-894005316,1785103187,1513359585,-254666146,984932124,-257198257,1519162033,-718608311,2098169746,1490257825,-1086325753,-1564622112,2044202155,-758343655,477062977,877486220,123357662,422055250,-110407893,2001990153,-1874812546,2060246759,322762822,-182001222,1147900900,-756448336,-791084043,2038074250,1175891576,492569321,1684856725,-2018425236,1912213630,-1249987047,1984339883,-722906227,174505556,1524707285,477353095,556205335,2020719404,231764974,-1627393173,-93442256,-669239645,227176630,1818197629,-1632013678,-43056198,654366002,-49378037,-1778421372,1734285230,686401009,-1659316102,2063817988,-145855735,727743368,-1169919084,827074458,-195388054,109556054,-773536819,-1872620046,1080814751,331572660,1509734726,-1746304639,-1403848771,-1916815633,580775065,-203437139,398732377,1835682793,2073061055,865255932,-169058463,566266418,-60267127,418853071,963139906,1865968078,477187043,-1792695192,1274521128,-1889930912,-913961660,-260313035,1784087753,-468208512,-2127278495,1520174985,-1084254607,1715794872,1117455300,608441474,-1263654458,971236522,14808996,-938471456,-313401233,1189021537,510782584,1152113930,-2125504113,2054879976,2019116779,2116546704,1691160558,1387408371,-890810814,178736841,1866957743,329834223,158992405,-748165761,2066938400,954142207,56807972,1322848157,-208659766,93301579,411393156,281226734,90840467,1638592084,1296322352,-1776861252,-355237528,-1136638256,-1509804215,796115117,-1906483372,-2478833,-1430789335,1517077097,1075798015,-823540000,1795604360,29144224,1258072520,-1664786876,-1877894588,1104557581,-1569114068,-854842853,201690057,-289845377,1203593557,1335148945,-1692297521,-363344178,-1129832231,2131330328,1547628008,507717502,-926091546,933092301,-2042376681,51084402,1057990129,152081953,352123503,1708939069,-1059289641,-1871760930,1205763532,1854513832,-1503371526,1402301751,-1435378523,573144887,-2093884244,1630610285,660318350,2136890435,-997367005,35082016,-852559523,-1417204814,-2104784488,1718498085,-950666850,1051912783,849680020,-1528799547,-1329305583,-2043303887,712873162,1180116381,-982008198,-175995909,-1064925714,297415161,535735139,-1696597737,-463758428,2054804417,-1529052246,214352221,-428600405,-818394464,-1586312733,-85639918,-946426002,-940697929,-1874578423,-942830592,-524362987,2052799889,-1524056334,2001624310,-1356565168,607890841,523586027,-2050267813,377851086,1930308610,1606122400,958707238,1688912503,1163212287,1616122182,1767531233,-176321044,1642696965,1441938122,-336982659,1599905127,-812413303,-1848454319,1471688804,1232644632,-98013722,1158063175,-1329885655,-642483735,-1041636719,-733235481,84727025,1205730736,38887728,-655755147,-294494058,-201439784,-76067353,123067082,-1745622642,831773774,578875024,-8606387,-1233721471,318798900,-533259929,1890711025,1850177526,1605240853,-112689206,1169740205,1846392056,922225211,1416468681,-1230783115,717915195,1129775265,971838306,837393171,-741826830,-717103214,1792956892,511919574,-1594391359,796103947,103271213,1362481933,-2089235307,1976657410,-1052576813,1079171676,705221241,1499462218,825058632,1228701847,1393431479,-449655684,-1539793825,979947907,2120451242,-710946279,397307039,1015342954,-1114968573,1744820536,481102197,-1428658213,-60785332,-733233420,1356269572,-662173323,-300851586,237424540,100756424,-1583745515,1669888527); +/*FRC*/Random.twister.import_mti(64); void (makeScript(14)); +/*FRC*/count=338; tryItOut("/*RXUB*/var r = r2; var s = s2; print(s.search(r)); "); +/*FRC*/Random.twister.import_mti(618); void (makeScript(14)); +/*FRC*/count=339; tryItOut("print(uneval(i0));"); +/*FRC*/Random.twister.import_mta(-1728364142,1608553043,-1847894456,-1194305357,-87748239,-1627800874,281419818,-1850822179,-247824335,210019990,-969001057,-1325967001,-1510427507,-1715472900,-421652570,2029136671,982086748,833939582,-1177968939,-1078199926,1587248462,-1526246063,932094322,1845635824,1555049988,-915678331,528882075,-1550502420,450340916,-459160629,-18019913,2137891372,812580157,-1936760640,-1323283820,1333791972,-23684219,-1108422753,1083895734,-1563350994,-259706894,-1450856374,505237903,502993793,1327990892,1774175915,1154353381,-243194315,1415890106,-618407714,-114769884,-835250747,-1690669790,443259235,1642174302,-1267707551,-1933645598,1667213963,-870680706,504985718,-1156525454,231434165,-2147247697,-181005558,545851098,-2030692918,1919642243,-750568841,1935620408,1645202209,-1355520241,1816632261,1045782492,-1726089068,-567130736,-1200924633,1989653988,988880207,-2096924134,1208164984,1210255656,160162020,460915546,-1428254256,1881758427,-914373215,2012514042,545186476,1454618847,2101074577,-662342012,-1054101233,1264498358,-527516542,447058965,-335711199,1065205431,930185148,-325166022,516087846,-469527685,-1754283690,-346629719,-26892446,1507227272,1533875005,504714456,302037746,890297716,-806286675,-576412165,1094642616,-1541296514,-1914221894,1722869113,1357052639,-1795060588,-810735397,326329701,1982029736,1145456530,1106303054,-223138973,-283275520,1969214623,-2015707294,892197330,156017923,-1405276297,930391630,431571339,799548103,-15163246,2133819593,660159263,-122141169,1636803669,-1427408918,1880259133,-262454920,-456103826,1400546477,-562288109,1706632988,680723502,-963584389,774244295,1879900686,903258125,-1471481158,-1053040931,617763153,-222772584,1504175334,-31055445,802524999,2052522374,385692621,-1958510716,745578528,2057407044,1946725190,600126324,-1353727780,-509766031,-265597280,-943990140,-652426862,1109974802,-903586830,2035457250,14331582,1003759175,1243125880,-1667497653,1925878299,823611334,-895687594,2067398190,896497959,-2139428474,-925244374,-1125371514,1293148815,-363178646,1941760141,-146681080,-451933408,21154594,24430524,-2014101978,-1501369942,128105304,-1283842353,-2106071883,149909996,-1477095775,999081432,1660365204,-636950392,624856445,543565465,-810533030,-1540293654,1709130204,-902820147,908507943,-538160990,-1615112157,1647890218,-975835580,1297218859,-1545584762,-1414415821,676315534,1732360796,2113179061,196345721,-2061658529,1603476384,145187221,-1904729984,591546723,-722639518,1948190407,735651113,1314884930,-958030555,-1275969335,-933394924,42797977,1071631336,1901225405,-2109045202,-465910927,1788711461,-1574896253,-1635169113,1944498434,-293721,-1807759028,1895258621,417838009,884390989,-908807083,-630760164,-960732574,2126478348,1873604566,770217068,-724053808,-1321058976,-546470026,-1184712516,-792566423,-320242137,-170532913,-396993337,-1193759095,673589267,748872091,-1887732661,1806489915,-1450235631,1796724632,427915916,-465089707,1535917545,1823819589,-424731122,692066640,132917859,1268255661,-1837202438,-1605620450,-751864578,1943999481,786773463,700775284,-1101866661,-1076155290,1576090022,-266140313,-227360412,1855756502,1255841241,2016882722,-1878969293,1853318006,1860526800,-868142540,777767609,-332309110,308732026,834582298,1715489505,-643161802,822025233,-975332848,-1209444478,344784717,-655295638,1169340051,-235989438,-680874421,1089896914,-811238728,542891044,1935257907,-1559892191,1868704115,-419773244,-16199357,591847250,657610398,2138427346,-2135773466,-1804522578,1184381612,772141416,213208564,-1363730246,-745244402,1646776633,-1775471420,416327101,-1386273571,-1702604622,571388505,1841403765,-1355069934,-1137524734,-352063506,-919971929,136710836,918419867,-1016787964,2014950065,-1549819293,-1409155391,1770624278,1865324890,1785825794,-147569306,-421926653,-501787584,178133613,1733103790,-698979867,1502475382,-322622410,228777120,74273969,-687462696,-1171211238,-384929699,-2096332421,-1903682793,-1506602861,-1021281020,2043132222,-1322356107,-2054205033,-1802956837,-332509263,-550144548,-16254927,-1704465997,16436788,2046024777,793157598,1530695673,1273805916,548039674,227323020,-1753668266,-33896578,-602282217,2087994012,-929723347,451165261,1339879570,1743029694,-2090186986,521961751,-1480776921,-1098067905,-1249885883,-1411399442,-343706137,262706645,863449218,1603722123,1669028100,-1059741332,-506052483,-1698423061,-563208455,-710310394,660605670,2105846943,195826789,2019049519,1424792786,-852484890,536541324,-732286494,1817828157,-86884758,1702798953,-1185590892,1828531853,10391889,-703835414,-147717791,454418369,1569011177,-2021407244,-2104824230,-402457680,1226648992,-1924197751,716873577,1046105785,1186052268,-942458306,-451211072,391645834,-1875409985,-356280197,2020338769,-881577772,1525469541,-1416425486,1867977410,-501078733,-413140726,-1000044714,-214578630,-1708641565,1887362889,604860364,1864379563,-431410269,996575315,-1547718201,1419281534,2110693665,-799538200,-380902888,442250731,1932634477,-851672207,-2113090551,853232846,183853033,-282499740,1997427805,1057067448,1412182361,-1943525108,-1406005677,-1820444164,-1289985643,1627909493,-1393769415,1370461127,1860815161,-835352086,-1937782783,1100831530,243799270,-1511809136,-391965546,1906241459,1271567525,-282146475,1325303556,-255360167,1508042065,618808179,1135913089,1192224102,1286811131,-1604205528,-617115537,526580039,1066454758,2142861839,-409172042,1637033557,1787771342,-267297819,-135618798,-47471849,-671398389,-1482376802,-1763715807,1378860986,182308705,2017536695,-2082025007,360624390,1787664563,-1516393878,-391217245,1681964444,-354032125,-405660745,-761734566,297480262,249551393,-1693501958,-288828084,73824359,475704996,-1965999121,-567315487,-248505656,1174660224,1979368746,-133209292,456316008,-1168017791,-905926763,351744203,-737177214,-35970536,1020646781,1462168042,-1974978503,-1057450781,-1947998271,1496805010,-1145643434,941324116,-1702692576,1086297251,-93806633,1414856871,-1729825422,387472957,-758100355,-1173592048,2106414067,1818306505,-2097658103,-99372136,276191009,41263225,167495947,-1299177016,633639758,1456784929,466691961,-673431950,-1807886622,1544957374,1740380837,-923987658,-939333825,-1118157231,1099221456,-1164300568,-1666538339,-533377274,-1476916730,826309425,2121199122,-859345797,889685625,-1353066727,1258580012,-338800566,1349430101,1619647792,1697237907,387052607,983828188,-2045124237,1681414755,946459263,627278495,1001370100,-1837198682,667905477,-356240771,325539575,-1002348901,-1966148740,502955364,580859371,1160650901,1318429032,47398694,2048032053,-1067838081,1332736752,-684698086,1732460921,943511902,-1340449768,670473298,-815554240,386734567,-1203201406,-140226952,-1457298018,-1660717566,2040985099,78086344,1826844043,820188994,854086413,-877625373,-1040572524,-2081885723,-1159454288,1149214653,411417669,1618734304,1225910969,152751525,-1766212062); +/*FRC*/Random.twister.import_mti(3); void (makeScript(14)); +/*FRC*/count=340; tryItOut("\"use strict\"; v0 = (h0 instanceof t1);"); +/*FRC*/Random.twister.import_mti(18); void (makeScript(14)); +/*FRC*/count=341; tryItOut("mathy0 = (function(x, y) { return (Math.atan((( + (( - x) < Math.fround(Math.atan2(Math.fround(y), x)))) + ((x >= (y + ( - x))) <= y))) | Math.hypot((((y < (x >>> 0)) < (y % Math.fround(Math.pow((-Number.MIN_VALUE >>> 0), ((Math.imul(0x0ffffffff, y) >>> 0) >>> 0))))) | 0), (((z = Proxy.createFunction((function handlerFactory() {return {getOwnPropertyDescriptor: function() { throw 3; }, getPropertyDescriptor: function(name) { var desc = Object.getPropertyDescriptor(x); desc.configurable = true; return desc; }, defineProperty: function(name, desc) { Object.defineProperty(x, name, desc); }, getOwnPropertyNames: function() { return Object.getOwnPropertyNames(x); }, delete: function(name) { return delete x[name]; }, fix: function() { if (Object.isFrozen(x)) { return Object.getOwnProperties(x); } }, has: function(name) { return name in x; }, hasOwn: function(name) { return Object.prototype.hasOwnProperty.call(x, name); }, get: function(receiver, name) { return x[name]; }, set: function(receiver, name, val) { x[name] = val; return true; }, iterate: function() { return (function() { for (var name in x) { yield name; } })(); }, enumerate: function() { var result = []; for (var name in x) { result.push(name); }; return result; }, keys: function() { return Object.keys(x); }, }; })( /x/ ), decodeURIComponent) >>> 0) ? ((( ~ (y | 0)) + Math.tan(( + y))) >>> 0) : (( ! x) >>> 0)) >>> 0))); }); "); +/*FRC*/Random.twister.import_mti(359); void (makeScript(14)); +/*FRC*/count=342; tryItOut("\"use asm\"; /*bLoop*/for (var vybjpe = 0; ((Int8Array(/((?!\\B^|[^]{1}){2}|(?:(?!\\B))|(?![\\d\\S\\0-\\u00fF\\n-\\v])|\\u002e+?.|\\s{1,3}+)/yi))) && vybjpe < 100; ++vybjpe) { if (vybjpe % 8 == 3) { g2.m0 = new Map; } else { i0 = new Iterator(o1.i2); } } "); +/*FRC*/Random.twister.import_mta(680978191,-582735582,-503277984,-1712417544,1154533646,809193530,-986483485,749071393,1505274823,1850579698,-1389705391,824628467,698440855,-902145465,-1987277859,500837247,-824826155,1927184084,1153966852,852003662,201908099,-649216285,-553390392,1732590242,821186452,-59694213,798020687,198864054,1821076228,56960196,1760484252,285756926,-326883301,553371931,-1397475674,-55628680,1819072738,253388057,-213208796,-1625461005,-1868144781,624153122,232590332,1475156863,-1982186426,-732981242,1199640678,1364519438,-1909563992,671933548,-2082628836,-1648020103,1031183990,715980356,-268357374,-1956382976,1789634963,349599601,1174004690,-224326563,-1461495976,-1509364304,783759580,-596858271,-1354169162,1933786210,62213233,413692393,82022774,-549646177,-2117946364,-786487804,-2131676085,780433890,-877328342,-559397534,1825778414,1881100990,801834393,-885043775,1245411190,-42269964,1284353465,-973185343,-33293682,1022731803,1552702637,305178776,2091044344,857752069,-972183874,437657940,-673457673,-1245094784,-965135615,916927585,-330161972,-882602742,-1734724072,212713724,-580373110,-1098095695,1978604752,346690035,928573584,443816810,1670235594,-1089092400,1449019946,-1818599490,-1971678241,-171783032,-1804894457,-68423131,-1079634031,-1852836944,269939198,-724076022,659226992,-1460529114,-19456058,1365327782,831333120,-1772249158,-69059451,1101281409,667915487,1159102705,1330471916,1104904600,1929872292,56198452,-1313236655,15471977,1705772859,1647084852,1279448423,1521963927,3594216,-387265257,-1341491670,1281243649,646550313,-1934788763,-1386708513,483130689,-2113214185,-26299606,2017745556,2070747320,829565935,690632301,1856393738,-1344247551,2087868084,418321293,-995954920,510695611,-2115735966,-1452469312,1712486429,1985905439,-548736680,566533336,-984620799,576267410,-703312351,-37827820,-987274497,-615431049,825044078,-91468306,-372563897,-1572784637,1328819915,1401933775,-830463391,770856002,-482946692,1695858512,1937573418,1691491871,2040045803,1360359638,-658565402,516123419,1227338852,-757074121,661982747,-381833874,1076240930,-2020605129,175852740,-976666655,1726516509,-807651558,324256644,866692076,1461062001,198042398,-967552669,-253212233,895171724,1255373232,202042273,-437423842,-527070959,-1042807511,-917177065,-716261030,1451437012,-1930204735,-1250518067,1350590479,1598271653,-1760435897,-1371988882,1345717267,-1372351932,515109360,-1109904912,-1932129325,854789876,-2088968356,-973747982,775228164,751026287,-395872332,-1184175576,978232179,-2046725876,-445560049,824054573,774284676,-1058826772,-778017319,-1207858050,-723935280,-1747736961,1673443377,726222438,486007518,-1635138170,1932839968,535679066,664146485,1301755208,1004447848,-809896747,-177731936,1071916050,1598327855,-1597997275,-554084828,-458857606,-1888930756,-297354632,-1383449593,-602674904,1675487241,-1102133279,1080748772,1902118959,434582318,64673887,1482794065,1809039576,1072974862,375676197,1501366100,-854344047,891193679,-579806725,396822249,952324209,1858692235,-1502163368,-1757419866,467986699,1654327365,1146380951,1360528238,-228943950,501605880,-1464628926,2044885955,1672029851,-539433245,-1854251816,144155078,306839522,-1722701197,980438111,459937788,-1300175802,674660845,508177992,-1557366516,-1964274235,1405090610,50070615,811918268,-429928893,-1636905708,274993751,135903429,-1693277229,-358670544,1978746299,-1573647905,-159171421,412033776,1834404274,1326807010,764039025,2096863883,2031671250,-1522418712,219470304,-780042483,-1567437603,-1347219578,-558076894,-414967122,503607051,389878953,1106241701,359128185,291772628,1651687385,1253274098,1121525607,-404127642,664715408,1027836098,2012007464,1990080057,46002737,986350391,-525355636,-864239992,-1969302896,-1441410813,-93145696,-1512255446,-83051367,-1688956815,1291099115,1034405277,133149979,-796069398,1625040386,1780952045,2060962514,-1466365952,-1748790386,-1617478452,-1189692622,1657387958,-849721906,-2123129716,-1100800209,-1319063034,-1554169248,892201337,-423781585,1020365073,-260632272,-374381318,824892614,943423558,-2001805327,211732668,-2066956463,-170778239,112802091,-1939252244,1330121377,-1805107036,-1159922445,-2012343992,1333793899,425340934,304357196,-1801012745,1202370210,1789232061,872257642,-1701344973,26610541,947848345,1938570267,333744144,-159474025,341662709,290315605,762248148,1543106413,-1455667043,1308739287,1050643694,-368001533,2046394790,-401069038,1645160452,-920925811,-1976507887,1309939999,-1889141260,1697777697,-1100785841,1106833041,902120046,-1414134773,106801160,-1866521552,-352563308,23287055,-208568593,1861605908,1516635770,-1430424970,1241096345,806035410,272709363,630948113,1080157787,1464279139,478229845,-798590341,1869177306,-126602292,-266012953,-1757544336,1774298991,-1157955182,-1216546063,790220489,1492107375,1413563574,1116133353,-237300177,1027459145,1786964120,-656315345,-998256517,-1185148481,-1779159036,-126616865,-422206242,602716981,2053323157,-163848737,1974363656,1947560095,-1895933798,-658425470,-1719551536,1450173308,923404203,-516484494,-1990424302,287761868,1368050203,1537690899,1712119619,-842863502,206799507,-1010780671,-28874733,1953547859,219946898,1405589630,-1403981234,-2026679579,1629888672,-1843968734,-1634773663,-1430434216,733605443,1714139835,-954101303,808981022,-25798548,1494828271,178922836,2081787770,412797497,1940171071,-1734267942,748728265,-1562720910,596962264,-1941003892,-855547948,1169555946,-1961206501,-1543216820,-1451696608,2019097727,-1889739042,1920731378,-1031333875,-1263002771,2053138856,1774499781,-824095845,-1363812461,945057347,-1165553775,-2088585161,-1523313729,243667301,-1198347657,-772427343,219836912,-24598295,1792144006,-95397837,9252554,661497446,-15102350,-1408333198,-498938531,1885295030,-1595128572,760375870,-979476938,469210953,2054382208,1729771450,-862105240,1686245260,-2033595144,-1231903590,2024814891,1533244241,1388299159,-340979076,1629795083,-1651382237,-1645553520,570273411,-1630089484,175741139,-1788851525,-1400330559,1939953554,931229541,1128872056,-32765366,1290151596,-1520449690,-720385082,1049215808,1534784421,209299718,-530199425,1722783740,450904870,-532982937,1568795690,1788992348,-1581001560,1923569074,1765180980,554121419,-213137023,905303154,1772004064,1960242931,-1067523012,-823421764,1785427204,2091939187,-1774481269,-1787822117,-841026940,-86481308,-2127317501,-1338574,589330832,-1978381452,-1767344737,1945746703,-828173737,501309034,979075870,-83597679,-6452044,723150922,-1900918292,-1040757861,1035474562,1417060213,1351278234,1453139390,329493323,1644679058,276866067,-1665035939,-1507233880,554232203,1592223680,1399605216,-272996456,-296923588,-963663287,-1436819535,453636194,-1117972138,-1932053930,-942264325,-696972141,1392547744,1114325278,1558453173,-1018659944,-423210266,601456224,1274993428,-1982296584,437322308,-533907316); +/*FRC*/Random.twister.import_mti(513); void (makeScript(14)); +/*FRC*/count=343; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return (Math.log1p((Math.fround(Math.min(Math.fround(((Math.fround(Math.ceil(Math.fround(Math.fround((42 ? Math.fround(y) : 0x100000000))))) || -0) >>> 0)), Math.fround(Math.min((1/0 | 0), ((mathy0((y >>> mathy0(y, -0x07fffffff)), y) !== (Math.abs((y | 0)) | 0)) | 0))))) | 0)) | 0); }); testMathyFunction(mathy1, [Number.MAX_VALUE, 0x100000001, 0/0, 0x07fffffff, 1, 0x080000001, -0x100000000, -0x080000001, 0x080000000, 0x100000000, -0x0ffffffff, Number.MIN_VALUE, -0x080000000, 42, -1/0, 0, Math.PI, 0x0ffffffff, -Number.MAX_VALUE, -0x07fffffff, 0x100000001, -0, 1/0, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(1968962556,-667155539,49712299,1559750761,-234023394,-1033336056,658664157,-673460936,-29555468,95236454,-1886403655,45998944,-651717155,1672323710,-1776464911,-1951997477,-757515423,607762826,-1982111337,1978699914,-1261618527,-1676637813,492259141,1109336496,227365652,-2026276255,904276361,637830001,606671731,1947634581,1606616732,-1278504569,420687401,2033416841,-2044484112,-2045601130,163283491,1348796413,1820132916,1713857943,2105550808,1577141649,-423659050,1181469130,-1677927892,1593655418,1109958047,-537509125,-1871076787,-1196237775,1109269095,-1496795676,-209462276,468460468,1070776853,442939849,-422711953,1458149750,782659179,-1934585298,-897200376,20217618,-2144017852,-1231843287,-251848925,-1980435669,-992591312,1507231144,-795154477,-1927039376,1692144017,447782139,-1459268382,1370112582,1648901411,632163593,-1805690095,165568758,-575588705,-150274407,-1607281637,1441998939,-1873907204,422203388,5501467,-2022273897,-143782880,1732780563,-1976388471,1595104293,1435622035,-1052642021,-1035631206,-694909290,1619128221,364772286,-369301751,-2125708072,65069460,-1515304994,1649074251,-745582520,-351976359,-1796167018,2135295303,-213779736,-1422722811,290409661,1611241498,315929259,-732644905,-345415393,1585071708,1163461408,-302781849,1183672730,-1829169294,-2108673783,425950691,-2115819766,39939413,-493434445,195289367,-1013708549,113451757,652341442,1505836538,1475993664,-2147383864,349285356,-1003316052,-1708922050,-1559373589,-859536136,-41217038,-609495584,849008108,-1232482450,-707924097,57034820,-1382519224,1642162999,-25511834,1379211283,1250399983,-1175426345,-505309343,1985721753,-1462319385,758711273,-29557637,13780576,-843989977,-2144001776,-644276299,-2029080342,54474564,1048310897,265058885,-428333609,1111637295,1225453392,1241648458,1536430904,212696675,-660386669,-551767774,-1992535022,-1651075888,2039590652,-837947530,-669453170,-1581872834,-1975236279,1888596740,1889744211,1016225573,1294671309,-458109149,-1395557170,1723813204,1595705038,-1447489944,-743172031,-179733310,-1366847162,651116251,-1186231587,-96615200,2113032059,-1600441766,-1103511309,1148298139,-1050239461,-1453567391,-2007061927,611074932,-420140270,1433153301,-322978352,-220250289,950686164,904468683,63722578,-1797269721,-934634020,-1492920949,-1362196044,-2061681867,-2062754858,1509863030,1776820872,-364810054,200569307,509047338,-1865768500,661044805,1142513282,221428198,1107821389,472633006,-1077946980,577180110,688144237,-557709190,-1787276628,-736197802,703500008,471065291,32912429,-1220018895,864726871,-713303606,120823851,637751051,-1573010741,1874984590,1567531097,-362147929,-863815954,1842762513,-1722177230,-230914101,-584068276,-1359347633,-1357841613,1746912446,169439252,-425424165,1118131532,-189409416,-2065310631,-398077581,1203050548,1638930799,1393184335,-1143265975,835383816,1529730396,-1623393018,419827707,664473912,-1964965119,-1856086317,-446915318,1502930520,2044543888,-272975467,1925170747,1497241153,-2048115278,743179790,-1943637039,-952007304,1905934433,-2092776095,-215142558,-1763385795,244154649,1218533992,861938179,117410252,1419004725,-225170994,-1290791864,-2038804999,978604416,-2110201500,1165996017,-1995432523,590607823,885883347,-2076051243,-577359853,-1798998655,-541069065,-1665824010,-1197381716,1936679266,829679126,1234711448,-932222243,1788439427,1164305125,-1797649333,1227937705,-2109378303,1136838169,-572416917,1913085810,1433263748,922261186,-1594083482,2023988039,-1069719671,-1229004960,1303609809,320583267,1888090690,168055595,-2125659819,266328460,1713370857,1073111123,333086291,-1172331239,907352381,1794698273,2076098427,-832766816,747935226,1286784372,-1601267040,-1248641692,716778153,-1035062311,-1971127444,1345931411,-616645671,943986968,1469032,569487929,1001665354,-1072201881,1725882266,-842955516,2123487776,-2051391676,2020189153,602249698,-1275454470,-1428682812,462034347,1301133818,471345543,-808838226,1213920885,-1252638345,-1131492903,-474736979,184400816,-1522840847,-1979353904,-251358833,484422182,313367336,995999964,-649077707,963904852,-496535483,-815085772,214495921,580814240,33568638,-1408263725,-1360893167,-745163162,-200745943,-994801466,-1984514941,2130549754,-718010442,-1910718644,-1872438432,1571729184,-1550447804,-7935518,-704558743,-1865852359,-818593831,-77939222,90126955,2056565511,205171719,412224103,-1960711878,-848959083,1134263271,638625594,-1090957495,642033303,208499671,1152328538,1301662503,-257013292,950079220,1389609118,1628287918,-1265815039,796923152,708894678,-273949195,575939484,1709304543,-1324083003,-1891376342,-1538566877,5979634,-918344199,1765974182,-734517472,1420309234,-1873074768,-1253807918,1831885637,-330011417,1578409278,1704400186,-1986929610,1113434150,1073106356,1975852171,-2083152412,1256961763,-1280112259,1202452114,1267240045,-327024994,1137213651,1376430993,-1441707501,-641653039,-1517562496,-1843480435,-1087502752,-929824282,150084431,-115703010,-858454029,-359007093,-1925377160,2094487114,-273718872,1998358470,781296293,1886617098,1295444165,-596636529,-1324934051,-438284045,1134421154,1854946797,334501657,-618993448,-144670937,-863274594,329402232,-717309746,2138222052,286020669,-610149243,-2028352400,-1187479020,-1299260141,2055888964,-273733558,-1796583645,-1578405804,1211210663,1113110769,-47357937,967577696,1815175801,1314863073,882892962,1697059553,175712453,-1176704069,734758101,1169810490,-2144125846,-1265178394,1605613214,526249082,-1922975392,-298166167,188491495,-783265118,-915879698,-1954014018,-1098940159,-909017928,1075214344,-1910694986,990786816,-1326083061,-2030893698,-163404291,-2102083877,-1940019215,956731598,1834724389,54241309,-878298745,-994715236,-483177638,-59185930,-2028771063,1955272374,-1745409050,-501549270,-1027460936,932587142,-459660755,-1462287058,633754749,331139341,-1653913373,-178857059,1494511710,1663781457,-426046579,1247031765,-653515956,-1500353965,1767413020,-1034940826,1622890426,-547192936,926708648,911669007,164313111,-1177176038,-1853358745,-2136792095,-1077601795,1943337186,59049528,779830704,1494873036,1501917957,24485344,-795328262,1766979741,-565369556,2105699320,1734781504,1606639108,1103291623,161186764,-615265423,535414535,-760227443,-204385867,1688341385,1387632483,-1729540857,1525448785,356442953,-1730677524,-533197447,27989444,-1191952506,-641642426,397363166,-1411978029,1158340768,-829019960,1934191642,1686101042,471696690,420613181,496406974,-1464952787,185563267,-226597140,-23472350,-1367918553,-621441877,-544718603,-161630855,-450058444,1282510953,-2006040647,-250956936,305829771,1925061951,-26664707,-1652551577,-1242104367,1360298154,1703108041,-2121148175,-98331242,-1009389595,-1282265128,1945751928,-1294416643,-1733230713,-1867369497,-703643061,-1488123902,1369718226,-1777950158,-147527194,666101564,-292486635,-2009492327,1421051227,1600904845,148302587,1436191557,-1153993348,-1211624341); +/*FRC*/Random.twister.import_mti(97); void (makeScript(14)); +/*FRC*/count=344; tryItOut("this.f0(p2);"); +/*FRC*/Random.twister.import_mti(109); void (makeScript(14)); +/*FRC*/count=345; tryItOut("m1.set(i0, e2);"); +/*FRC*/Random.twister.import_mti(126); void (makeScript(14)); +/*FRC*/count=346; tryItOut("a0.forEach((function() { try { v2 = Object.prototype.isPrototypeOf.call(p1, i0); } catch(e0) { } for (var p in t1) { try { this.v2 = evalcx(\"function f0(s2) { continue ; } \", g0); } catch(e0) { } try { o1.__proto__ = o1.o2.e0; } catch(e1) { } o0 + t2; } return g0; }));"); +/*FRC*/Random.twister.import_mti(229); void (makeScript(14)); +/*FRC*/count=347; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(238); void (makeScript(14)); +/*FRC*/count=348; tryItOut("testMathyFunction(mathy4, [-Number.MIN_VALUE, 0/0, -0x0ffffffff, 42, -0x080000000, -0x080000001, 0x100000000, 1/0, -0x07fffffff, 0x080000001, -1/0, 0x0ffffffff, 0x07fffffff, Number.MAX_VALUE, 0x100000001, 0, 0x080000000, Math.PI, 1, 0x100000001, -0, -Number.MAX_VALUE, Number.MIN_VALUE, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(270); void (makeScript(14)); +/*FRC*/count=349; tryItOut("\"use strict\"; \"use asm\"; mathy3 = (function(x, y) { return ((Math.log10((( + (( + ( + ( ! -0x0ffffffff))) | 0)) | 0)) | 0) ? Math.exp(Math.fround(( ~ (-0x080000001 | 0)))) : ((( - Math.log2(Math.atan2(x, x))) | 0) ? (Math.fround(( ~ (( ! x) >>> 0))) | 0) : (Math.exp(mathy1(((x != y) != (Math.exp((y >>> 0)) >>> 0)), ( ! (Math.tan((y >>> 0)) >>> 0)))) | 0))); }); testMathyFunction(mathy3, [Number.MIN_VALUE, 0/0, 0x100000000, 0x0ffffffff, -0x07fffffff, Math.PI, -Number.MAX_VALUE, 0x080000001, 0x100000001, 0x07fffffff, 0x080000000, Number.MAX_VALUE, -Number.MIN_VALUE, 0x100000001, -0, 0, -1/0, -0x0ffffffff, -0x100000000, 42, 1/0, -0x080000000, 1, -0x080000001]); "); +/*FRC*/Random.twister.import_mti(561); void (makeScript(14)); +/*FRC*/count=350; tryItOut("L: for (var v of h2) { v0 = a2.length; }"); +/*FRC*/Random.twister.import_mti(596); void (makeScript(14)); +/*FRC*/count=351; tryItOut("mathy0 = (function(x, y) { return Math.hypot((Math.min((-0x0ffffffff & x), x) && Math.sinh(Math.hypot(y, (( ! x) | 0)))), ( + Math.cosh(Math.fround(Math.min(((y + (Math.cosh((Math.fround(x) <= x)) | 0)) | 0), (Math.min(Math.fround(x), Math.fround(y)) | 0)))))); }); testMathyFunction(mathy0, [Math.PI, 0/0, 0x080000000, 0x080000001, 0x100000001, -Number.MAX_VALUE, Number.MAX_VALUE, Number.MIN_VALUE, -0x0ffffffff, 0x100000000, 0x100000001, -0x07fffffff, -0x080000000, -0x080000001, 1/0, 0x07fffffff, 0, 0x0ffffffff, -1/0, -0x100000000, -Number.MIN_VALUE, 1, -0, 42]); "); +/*FRC*/Random.twister.import_mta(-158479634,-27045456,160041890,524430744,1834563155,-1912166677,1719152059,-1884238930,2054657607,-870542947,542327326,18237488,1582744623,-1203320079,862985671,-768602381,939341338,753998033,-172250257,656767148,-681850392,518012548,1213018238,-755069270,-834912483,1403027883,1062115765,-433298909,1331141106,1911889520,-444961498,1544616957,-406018627,1021812556,919359936,1577118762,-70157886,-2054321561,-307170170,1967693697,1518988425,1888959544,826232692,-1477499131,-1228962068,496446352,619522351,1847224217,231071521,-252336477,-360785428,-1256920563,-1485836975,199017133,-387138959,1170286528,476597117,-1597364913,1982543645,678694721,-1662373114,-1323471489,664873016,-1561600020,-1285360473,1905997313,-1208899060,1176878097,-1977965914,-121307281,1097746028,1810892693,2044294430,1938649803,214333995,706715459,-161354392,-849720364,220391385,1576769009,1377457318,1075225433,248356623,1678518749,-1558190348,394683497,-1527540169,-1467086279,-1817834452,-1179028141,7643625,1256801816,787720049,1769700219,-1102572231,-230328891,1610337814,-862860886,-51545210,-485366243,-124257658,635623965,-1041217035,1490301821,-260996660,-1937263531,1605504311,185268493,546798977,902949194,452896173,-309748235,-1359927711,-1762142942,236787944,172434340,327586268,286054322,-473769761,608232067,793820431,-1470998814,792043332,947115651,-776812327,460765307,-815345139,-1462270006,1873707403,832931675,-797262468,1037600567,1064710690,502186920,-1957764739,320428835,-1035418373,1434201395,686534974,-727959230,-1992076546,-530635861,-953266306,-1977774937,-1942241885,1345176437,1940035444,230748237,1884367062,-708692480,1139549448,-1851053188,419652420,-1405006848,1123206549,-1861756072,-278613382,1084467409,-675886644,-1622211576,2068195756,1690559042,609323600,1141752991,-1431252591,-1121877732,-1219527748,711541217,779960349,-1074808132,920713750,1172678614,1157456023,-1737435909,-1594736718,1068867787,1717333631,-1124134768,-37858636,911558154,-518493265,1737878318,-1800576819,1723415379,1313981598,-671498740,755232156,1980865267,361755022,-288076273,1751345281,566619577,1714667303,1006316694,940262087,508015059,-1156273616,45356077,610617699,-1831259577,-1573124073,511454429,-1273964552,-1032594458,27661095,1259897579,-1387998900,408142496,-250330573,520521283,-2043882055,-1383053350,1279310805,-651887778,-1356310300,-1692413393,-1274409613,-240274155,-1614850491,-528161470,-1746502057,92278204,-756977180,666365638,522625555,-784845609,-482389217,1636600660,1737554809,-1960753691,-544224532,1206180534,1419232801,-328123679,128358932,228026624,2074308974,-1938885358,1733808967,-1313514120,-1259725208,-748228867,-1129846955,-108493086,-495856233,-2118891216,573161638,2097232986,2142409762,1914166210,159699033,588670843,813305265,-1768020515,1453454811,-877479031,688940916,-924022904,1401849214,843518623,791287760,-1431019361,-1884851300,-1988151481,-381159093,-782346930,-610438252,-1159807157,-989820985,868831661,-238476286,698617819,2117593388,-987186752,-155994634,1951615120,579828066,875604415,-1857796295,668421263,144901707,1538142004,2089497383,1172324697,2063577964,721493981,694714355,1734169633,748540794,-282041856,562409434,675985426,-2041012521,1687920659,-1326254923,-1002412067,-1533784903,953808605,1934226590,1561685202,-827164806,-528318667,-1851400466,1694784402,818581727,-1794576506,-1525529054,-438162868,957680864,612069453,2138071740,-1285423801,-220260075,501582124,-204380791,1819769883,691805885,942693576,-689709230,-1218603260,781490109,340745874,1958147379,-820100640,1217833977,1055868871,1332027602,1547703780,46965837,-1749417208,2123190727,-533279588,-699520281,-1813632836,-1289400258,1708523575,-993657380,-1368831842,-1314156167,-1359342763,520600801,331809101,-1287377720,1625947665,938218800,-1668663857,647888161,-898835424,-1180657133,919114425,1830802785,92238547,1034970246,1482847761,-1892513251,-1836365202,-1308223681,389376335,-720749378,2047406074,-1770269169,-833856747,-225205445,-1943593496,1546313895,893735248,1630758791,-705081260,1214525270,-1600443164,1433486624,-1653276813,1361959114,-55710910,-1011256038,429650917,919529675,565600619,1282982370,1719512761,-2032447525,100440627,-650791192,-2118916630,1365814643,-1468678851,1833373795,-1440074641,-1705915023,1509741733,-1616189067,250755277,573859776,571395664,804894076,-775486456,1193981840,636004747,-1013862227,-1898478845,122609103,-2103071201,-2139622009,1577798293,-525363222,-724061445,114532317,1649820272,810934694,-2121461978,-932944522,528209232,2080504764,-1400811231,833645414,-559748160,-1359359754,-708161886,1432665578,1278192823,1370437103,807850015,1155892666,1417951053,-1382641023,1265567740,-1609385766,-1493899764,2136144078,-1410600670,1637475708,5037525,-1218057915,764798253,2072394217,1306047706,692484364,2126521615,496870093,-1069502973,751622377,-34754012,1259880118,-342028733,-1779976730,1120856893,-603347763,1753501041,-373013722,-1803552680,1507608035,686887623,-1430882508,1837052562,1505047633,-670875708,1007809405,503641117,-1407434224,895038576,1110545608,-1755963065,538582380,-1726218718,-366261795,780595451,-1691746017,-883734374,1122530364,142588360,-1174118182,-1091726179,1107007334,1600974980,1255581823,-1395719316,585262056,-191582891,-1691186212,-1746662039,-901239315,-105778120,1972736166,861902629,1668791847,-809852477,-1214130275,-473471643,-2006412670,-1883312727,-751549644,-2036456956,-554654861,-584208604,1422599072,429270123,459372796,-1786953611,1818231172,-1207920269,-1581250660,-1766290958,1935525195,2131256290,-1253911707,-767703674,-973164882,-789452295,-2071442413,537426752,-364566636,-496314435,-1747274815,1261605693,382005644,1386324225,900818523,1539318913,598814177,-145365694,100317263,-348526602,1862649364,-251662802,-214799300,-476110649,-894928772,756132459,-1945614566,960023321,-817795445,-857196310,-1181811168,1867760596,-1857134398,406653907,1411832720,1354849648,-385891181,1895617101,-2146916872,-281298556,-1111739785,-261800046,-19242775,-1358322909,-1231088616,967390565,952346484,-1048773522,-811299056,1624935300,-749794474,1615049284,578887704,830468461,-1201951734,-949709973,-453309062,1659862912,1159363552,58330151,-2060052430,798771399,507196400,618104613,1518658466,-1936687718,531430203,1515231915,540833011,731253491,-261448212,1833590478,1183783574,-618272189,293832413,347825004,926981322,868132383,-840711984,-2114338110,534034087,1854479265,772430393,-1438197969,-1271151818,1644798085,947964848,280349016,-21934478,-1558538164,-1468334509,431373883,99396430,-399273706,111610949,-2101740084,1585918276,967284895,1466234233,1517889981,1686780206,-835932186,2021619335,897853790,-434537448,1401651399,-726846689,725264146,-770350613,968536986,-1552487388,383607952,-101464079,873594020,-2065125834,1828428551,-1202755756,-1084775838,-1848952019,845287362,321634018,1013732071); +/*FRC*/Random.twister.import_mti(191); void (makeScript(14)); +/*FRC*/count=352; tryItOut("mathy1 = (function(x, y) { return ( + (( + (Math.fround(mathy0(((Math.acos((y | 0)) | (( ~ x) >>> 0)) >>> 0), (y >>> (( + ( - ( + Number.MIN_VALUE))) | 0)))) <= ((Math.round(( + mathy0(( ~ 0x080000000), Math.fround(x)))) | 0) | 0))) - ( + ( + Math.tanh(( + (((Math.ceil(Number.MIN_VALUE) | 0) / ((mathy0((( + Math.PI) >>> 0), x) >>> 0) | 0)) | 0))))))); }); testMathyFunction(mathy1, [0x100000001, Math.PI, -0x080000001, -0x080000000, -1/0, 0x07fffffff, -Number.MAX_VALUE, 0x0ffffffff, 1/0, 0x080000000, 0x100000000, 0x080000001, -0, -0x100000000, 1, -0x0ffffffff, -Number.MIN_VALUE, Number.MIN_VALUE, 0x100000001, Number.MAX_VALUE, -0x07fffffff, 0, 0/0, 42]); "); +/*FRC*/Random.twister.import_mti(443); void (makeScript(14)); +/*FRC*/count=353; tryItOut("\"use strict\"; mathy4 = (function(x, y) { \"use strict\"; return Math.hypot(Math.fround(Math.pow((mathy0((Math.expm1((Math.tan(y) | 0)) | 0), y) >>> 0), mathy0((Math.hypot(((mathy0(Math.fround(y), ( - x)) | 0) ? x : (( + x) | 0)), (( + (-1/0 || (y | 0))) * (Math.fround(x) - x))) >>> 0), ( + Math.sin(Math.fround((Math.hypot(0/0, (Math.exp(( ! y)) | 0)) | 0))))))), ( + (Math.hypot((Math.max(y, (Math.fround(( ~ Math.fround(y))) | 0)) | 0), Math.fround(Math.tan((x > y)))) | 0))); }); testMathyFunction(mathy4, [42, 0/0, 0, 0x080000000, -0x0ffffffff, -0, -0x07fffffff, Number.MAX_VALUE, 0x100000001, 1/0, 1, 0x100000000, -Number.MIN_VALUE, Number.MIN_VALUE, -Number.MAX_VALUE, 0x080000001, -0x080000000, -1/0, -0x100000000, 0x0ffffffff, Math.PI, -0x080000001, 0x07fffffff, 0x100000001]); "); +/*FRC*/Random.twister.import_mta(1524171091,-2024491652,-2122934833,-1460996551,481185205,1782797189,1507012418,77392918,1808878314,1459240658,1658676840,-2039073938,78043777,148167498,-1351916810,671047857,603024790,-1838871026,-1926211690,-2058079230,-1699065376,1900160469,1699802082,-1346790722,-1057087467,-1035306561,-23415165,-901947784,1939179716,-1833988535,1374956333,-709092657,-174571900,2063584668,793553856,-1970448988,-161771327,224281514,-1368110139,-1660272745,1183562515,84018551,1254067550,2006129567,-1289345044,-1067050242,1167625552,168684201,-474183501,-1456027589,-1425635160,595264849,1217997265,-190666748,1242661159,1032512085,-468545302,-1146609920,1429309627,845474558,-545066371,-3353076,606919558,-2104992188,1989347992,1004718186,1661047029,-282716018,-873709677,-73588183,1738800015,2114244275,-1464749966,628092176,854256611,2060149202,969004398,-1789957300,456816971,200231355,1301761062,89977988,1022011736,-607658345,729446099,-18551966,-32496922,715438129,175025077,1855141814,-961296791,102363621,571203787,1427700087,1723082809,-1324530568,-77247503,717069923,-250189894,1730839999,1585749412,-711944799,1298280466,-1711749254,1240720135,-2054393073,-477777989,1006755194,-925552349,1367952551,2134743004,1257795580,1802736081,-1387549728,-414628241,-1642464465,1135933668,-1104335556,-1719050081,-1156478973,1340674032,1949033027,1919205084,-1272222468,1066011412,-776069171,-1533792821,502111270,1648710581,-493541694,-353019601,-1816961525,936356557,1408151274,476849572,27405442,-1662687854,-2059683747,846403442,277312239,-1176077190,-1956060372,-1392859967,1595788278,505800929,-2073200179,1871574891,-957156222,-2048346077,-680982884,830251227,1950488278,-681813394,936729861,1750689320,-1526902165,-1726294285,156910846,2128114537,-973555492,-184196534,-153892782,-639554288,-917855241,1575668905,-560880148,-476030744,-1878187231,991976059,32808617,-1369264527,-1529152593,-815775735,1883597610,-314283447,1514936844,1932908166,944780236,-2146481850,-1207499819,1735497467,-1541497741,-638940311,-355786081,-1442505276,1230323817,-863410681,617456382,69484791,1493354409,-337385850,-1835948804,222846739,2075942862,892465274,-1242518709,-1041988366,-1898528992,2019014890,-827213679,1418681213,1150245560,1486779756,-1900065739,-419571689,1915244936,-2113581386,-637671615,-485500256,2080876059,88318762,730193450,128506557,-2055123559,-314709422,1618696770,-150794555,790944780,1146326533,1444094402,775658969,-1858084954,-326347519,122739451,-2080987786,-71522382,1286215501,-266744784,466397009,-290361159,-887579806,-1343414662,-982286806,436232776,39278742,1442902621,1355629659,-2004992236,-1632854574,1590941109,-126935829,1747984771,1530602432,-876529790,-759223658,-601573435,-1143690705,-1520231439,1212794932,-124112111,658119132,1103861266,1343085454,214105265,1995223907,656259966,-1227240051,942893458,1435968351,-502450836,-156414708,1755255310,1463451352,468769979,1710319885,-1011158513,1500369133,-1123858385,-974250626,1918574431,-1169576787,-1942105222,-487438818,1052858283,1881427681,-218418174,707144763,984357867,-375909431,-708830677,-646594658,-312694677,-2039320026,-647149220,924852273,-661846115,-1732054991,-909370432,-933959924,1961757803,-1767046579,-323488468,-794318660,-495953296,336501695,11446544,1056532888,1577517504,1351514330,-1880585265,-869899691,2050491540,139021339,-1196675618,-1614078833,1236490842,2032032925,287165014,-1905656707,55744518,1535086827,-887272826,-1340723212,1592795389,-979912989,-2013785036,1921718738,-306042432,1572289127,-330753078,1597986366,-974658945,-1769839480,103198418,-1396535969,-693831725,1225428813,-957710499,-565341147,-1423169490,-1444699852,-1143191893,-864065711,-1172895836,-673026626,-357052467,113109224,-1092554817,-2071079287,-1107755138,1033935769,-18132981,2003154168,1480782460,694191876,1406086864,-1641552365,-1976438234,-1236853824,-572267341,798778698,559036759,1686606874,973461530,1420310801,-1571886859,805774010,-1066383504,-289986058,-1510280939,-1379912769,-64142106,1202823798,1811457310,-1617358603,-1679682450,981195461,-573281327,-1692043938,-968751535,-928054128,1991443588,-1170502548,240209382,322420143,126319769,1589282550,390119466,-562794155,1295600988,-333209405,1153678684,-467361634,1755721877,-2073548097,-1854715001,1239749172,556086317,52761311,1329391989,389746510,1290862409,-812203324,-195263914,-1192320731,1488257459,-1979155789,379766520,2058980081,365927985,-400618246,880222293,-1405022311,1130503539,-885826962,1517172343,-1993596179,2136696360,-1529340960,-1109870126,-1518942153,-1811554278,-971155418,-1806609484,194828062,1398319244,870834424,-2125350797,764330616,-1130924741,-89684194,390279847,112853042,1311210861,-345948962,1751049351,-1647588457,723920666,1366991401,676497362,395416064,1682414698,-1108732991,651092637,-15614676,-139663834,-630258621,-1836727661,-1834141196,-926546410,-1149791093,-2001603319,-860000836,-1108290506,-682944179,-211817284,-1151748187,450477130,-620747894,426428207,-1977556153,-1767006484,-1929167109,-109560390,-602385454,-590549456,2025568872,-585713046,-180255678,-462703538,-2002533836,1381652000,1519193420,-1127198614,1177941942,170995074,997880312,-1726273803,1812987239,1178145709,230640915,-1304239835,-208482425,129453775,-1291543993,423164352,1540937060,1789090866,-1825496967,-1407091289,1880753837,203848496,-1480933325,510304833,-2031711828,-1756399538,182859521,-1298594739,-1236741115,1050697538,1488965049,-1820227477,-1389615715,856179005,683731653,-933322496,-504557638,-864441233,154480412,-1307425328,1973228370,-1870521189,-847313421,-1450183338,1404238120,-1956166498,615538184,37300552,-1118267957,-1286544916,827363933,-440022770,605880028,-1818195721,2039774111,1267000574,-1073303820,511517794,-685963379,189940804,-672355957,1670150325,953245191,1197498246,-1228922500,903496932,1080618533,-903724584,-1079193145,-1226749055,-556256853,-1022598241,1041939376,1907977468,-1005846688,-1535471179,724711102,-167198083,711693183,-1340965624,695073855,37822215,-3503107,-1796302471,592332942,116961387,697643431,1130268036,-447112120,-246406400,1984686864,-2056976140,-1501221135,1481252673,1197291316,-1033879008,1368838468,-610392183,-894699157,-286106975,581087592,-713465433,611408753,161509648,897817842,-1446009000,-1146043981,-344041765,1254862209,-26001826,-729724966,290834930,627704247,-1117754536,1051441112,1737386097,-675392251,876358447,-1585063289,1115059314,2063153531,-2109025635,201512442,-1106591879,1281072184,-1263875987,1308004744,-1316989337,-193486774,2028537167,980805944,1387060995,1311882156,948801378,-372399270,1098793891,-954271561,-1477665742,-211257324,142689807,-1167758873,561160504,546384746,-1148351126,226677893,-310849703,-1108066848,1602062739,291434197,1411817652,880503128,-1781310291,-635569713,-334216941,2066598527,22103492,-1605790679,186432740,324742776,511438733,-1385331273,-1317306796,-544499681,1047284421); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=354; tryItOut("mathy1 = (function(x, y) { return ( + Math.hypot(( + ((((Math.atanh(((((0/0 | 0) >>> (Math.tan(Math.atan(x)) | 0)) | 0) >>> 0)) >>> 0) >>> 0) ** (Math.abs(mathy0(y, (( + y) >>> 0))) | 0)) | 0)), ( + ( + mathy0(( + Math.hypot(x, mathy0(((Math.fround(x) * Math.fround(Math.hypot(y, ( ! Math.fround(x))))) | 0), (y | 0)))), (((((mathy0(x, (x >>> 0)) + (Math.log10((y >>> 0)) >>> 0)) >>> 0) >>> 0) ? (mathy0(42, x) | 0) : ((Math.atan2((-Number.MAX_VALUE | 0), x) | 0) | 0)) | 0)))))); }); testMathyFunction(mathy1, /*MARR*/[(-1/0), {}, (-1/0), (-1/0), (-1/0), {}, {}, {}, (-1/0), (-1/0), {}, {}, (-1/0), {}, {}, {}, (-1/0), (-1/0), (-1/0), (-1/0), {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, (-1/0), (-1/0), (-1/0), (-1/0), {}, (-1/0), {}, {}, (-1/0), (-1/0), {}, {}, (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), (-1/0), {}, (-1/0)]); "); +/*FRC*/Random.twister.import_mti(580); void (makeScript(14)); +/*FRC*/count=355; tryItOut("\"use strict\"; let(c) { try { return; } catch(z if (function(){throw y;})()) { try { return timeout(1800); } catch(z if (function(){w = b;})()) { return (void options('strict_mode')); } catch(c) { for(let y in []); } finally { let(c) { with({}) for(let z in []);} } } catch(a if (function(){throw window;})()) { this.zzz.zzz; } catch(window if z--) { for(let z in /*MARR*/[null, (0/0)]) for(let a of /*MARR*/[new Boolean(false), new Number(1), true, [(void 0)], true, true, new Boolean(false), [(void 0)], new Boolean(false), new Boolean(false), new Boolean(false), new Boolean(false), [(void 0)], [(void 0)], new Number(1), true, [(void 0)], [(void 0)], [(void 0)], new Number(1), new Boolean(false), new Boolean(false), new Boolean(false), true, new Boolean(false), true, [(void 0)], new Number(1), [(void 0)], new Number(1), new Number(1), [(void 0)], new Number(1), [(void 0)], new Number(1), [(void 0)], new Number(1), new Boolean(false), true, true, true, new Number(1), [(void 0)], new Number(1), [(void 0)], true, true, new Boolean(false), [(void 0)], new Boolean(false), new Boolean(false), [(void 0)], [(void 0)], new Boolean(false), [(void 0)], new Number(1), new Number(1), new Boolean(false), true, new Number(1), [(void 0)], new Number(1), new Boolean(false), true, new Boolean(false), new Boolean(false)]) (x) = \u3056; } catch(x if (4277) **= (intern(Math.atan2( '' , -15)))) { with({}) with({}) { for(let b in (((x)) = 'fafafa'.replace(/a/g, (function(y) { v1 = g1.eval(\"testMathyFunction(mathy4, [Math.PI, 0x0ffffffff, 0x080000000, -0x100000000, 1/0, -0x080000001, -Number.MIN_VALUE, -0x0ffffffff, 0x07fffffff, -1/0, 0, 1, 0/0, 0x100000001, Number.MIN_VALUE, 0x100000001, Number.MAX_VALUE, 42, 0x080000001, -0, 0x100000000, -0x080000000, -0x07fffffff, -Number.MAX_VALUE]); \"); }).call)) if ((d = \"\\u6A8C\"))) return this; } } catch\n(d) { d.lineNumber; } finally { let(gltpmm, b = true, c = (/*MARR*/[x].some(/[^][^]/yi ? [z1]\u0009 : 3.resolve, Math.atan2(7, true).watch(13, objectEmulatingUndefined)))) ((function(){for(let d of (/*UUV1*/(y.indexOf = objectEmulatingUndefined)) if ((4277))) with({}) { d.fileName; } })()); } }for(let e of /*FARR*/[]) return Object.defineProperty(window, \"fontsize\", ({}));"); +/*FRC*/Random.twister.import_mta(1961968766,-1908487425,-1590851616,-826311322,808530887,70875308,-1632778231,-967668481,521297980,1349424668,-1600739475,-90291430,639632342,-580512157,-1564520335,1248151869,1348459924,-238411359,-193952997,-434136679,-872669000,1267880532,-963682063,1160753406,-2031062231,-1776577465,423540622,-636984136,1621912111,-863945952,-2025652274,306978637,995558816,-713690286,-471320205,1747370890,1245750587,1632421254,1056181142,1312455951,1474897579,1977103336,-1623942837,223458356,87542941,-1127972022,-257032359,2061227763,1742237567,697864779,432167187,-509165489,665768154,1828455517,315416612,-606752883,-799245584,-1400951112,-1527848767,-1124800473,1762093914,-383681877,-609085859,-841957788,1702399581,330735872,1378951610,2064059100,2068564067,-734156639,-1550262627,1105385957,923324917,821774724,710212692,678193257,1271674767,375719395,-1621755211,667109881,368651862,118675157,952002587,-860543795,1300202782,754819841,-1515309386,-1715932133,-863895280,1025822934,-1379929946,1884337411,155807145,-957036386,-145292906,-644160937,-1881383261,542160286,185722460,2134371657,-466184615,1536683659,-1044503938,1350360767,-825686520,1315923003,192461862,-936113743,1445220133,1802173017,371816747,-2046519131,299240649,599407639,-895667265,1692853538,-1033807683,173377237,2007887166,-975488230,-530953635,-829479584,-2096882502,908380531,-830885628,1374159448,-796181824,1630058889,-800432370,-1794883681,2101743073,743119666,-850775527,1736148084,478942616,-1207909472,-1554971765,185450672,1379964332,740026540,-1741491447,-971113618,1324279133,2053698438,-1998878320,-476598302,990480364,-1144357150,-909051663,1017968447,-946254530,-294613326,-2010444166,1135261889,1982536251,-136509591,305070482,-320163022,-491265740,364278757,107319221,-1912535662,-505361469,1285069949,1092297483,-1198639433,-1699132657,-1523168434,-1248369103,-1791567819,69149145,899600264,-720668720,1553531504,2035277070,-1132422922,1568647173,789380210,1258057766,1074618634,-500884010,369610875,-1804602896,-1392182427,446774339,2052801872,-715044712,-1736997277,2084163383,-1984580108,-1696967159,1107612577,1261277070,1448364781,1088916086,1383077481,-1904480963,1159524790,-1725982113,1880202871,1139334530,2111104279,1416398436,-1636538265,227443505,-738846906,253574483,-760404412,1153814706,40956377,-839179801,1657527984,1049032101,-1735828402,1102260805,639070636,-1383099187,-1542728358,-894897003,-52536429,27068781,109690545,540507588,201571482,855512005,731415687,-1640836,1389899315,1465943899,805532159,2103064579,1322986227,106429819,-1749053190,-1194281109,554853680,400127214,-1936502459,1778817873,1069270116,-689348658,-924855630,1341565273,1578223755,-2084027638,-1112916725,767945198,1885325811,320670826,538980212,1735460352,1057686131,1113582806,1766007998,216226858,-2051708543,-87034401,-1139779894,1297410438,11024376,-8102765,694613509,-404584094,-515211582,-1501528239,-464847240,398970861,1301741385,1299527670,-1070308622,-2078596736,-338963470,1669498060,645006280,-1246062990,-1463962722,-613700449,-1548470809,-1775337252,671402700,2118626401,-1177338248,389843299,659219557,-1379565697,758541892,-316641684,-596303447,1229164754,-1791781541,-514560756,-944158674,1544605414,-1745752179,2062039207,-1605203084,-873669008,1836020330,-784050155,172561563,906327082,-519658669,119201572,-1291748923,1929731824,-1298318293,-1678306215,-2048627179,767356091,689352374,-1739248024,-1398014617,1168862951,-2026828263,-144345246,526483461,-569683710,691200491,-1735220133,-1891809254,1082709016,-1106985753,1768242293,47832233,-925655799,1922153779,384191620,-244080969,63280818,-98474356,-1566757790,313626884,1481732285,-542475456,1935196695,188575119,-2042082325,1319343486,-426390661,89227627,215373775,379469846,-1875064421,-160702462,-594881495,1027772948,-1010914112,-402293585,219029703,576262237,-1156148422,-1489565219,-728805986,1440399761,-1612346771,-430260159,-1870840640,-1081262466,-991815948,294210711,144849884,1509368136,-332075596,2035479582,-3958647,1788389076,1419506850,1099215035,-378174354,-1471370955,415419292,283749186,2068917968,516410350,1853822716,-380485634,-1579279084,-802680360,-1372016588,677500085,5607503,97894104,1896339504,1061168394,309097696,-1409464914,-1208685381,-1140128911,1084621367,117421528,2051971524,-614794017,-971934471,-909368530,1258816108,1849932470,-1111547885,507377827,1745220580,-1844216078,1706443736,1601838337,1717061417,282750541,1164398763,-1784647314,521339051,-262638789,-730261279,1213415533,-672359933,-216982835,1161289637,-1536738417,-164034771,554893428,-502997005,1388217620,452578935,-131246909,-139218853,-827964331,-900466659,-397642659,1847880291,-1377300461,-564517551,1838124202,-841232626,1657364114,1081863936,1300721633,1185568508,1651382552,-571001167,60744566,-1774946012,-673253436,1529405694,218897161,956095941,-48066966,-495176896,893962951,-752594406,2061642108,-1737477997,58520487,-1119084634,-865369745,-1612548738,-1980345989,-752374757,2140668553,-384522756,-1505810584,2047975457,1976147896,385863840,1549538495,480535631,-1316269667,1042125246,-1938698270,-2099997389,1336006154,343855563,2132426338,708237484,483571968,-970726117,-1339278342,-1503616076,-470006654,-199639437,-1292383764,-1533839446,-612113015,-1449055505,1634419078,-887091593,1666214840,-1392147614,71002335,-1605805319,-422475108,-1951865715,-2039770174,-1178989086,700240764,-703793774,1811688350,755040292,-554001363,1596633117,-1530348188,713346975,1700790838,1096590013,-1299099087,-710033869,378061327,-1395498339,1960963960,-210919459,-357942442,1699911013,-34085351,-554578587,-983306967,-1336962245,170293974,1772371028,1349698195,655664499,-395787911,380276727,-1927018183,693634359,1011459581,-541625164,-612396756,1210397624,-816040668,-264646766,1625724184,-157749819,-1004042303,-150682148,2138903003,-664277388,1132666776,-1877680496,-1273845333,1986350216,307610267,686799243,31900597,822690691,-1979238598,-1952101858,1506298296,885265302,-1522226084,-1845578121,-1749631885,200718242,-1239894937,1048230416,100714373,1548495037,957085841,-726348413,193052577,-209681630,-827671249,-340199201,377710773,-2059694778,1543734005,-1120310462,-984238343,-1181515211,-1676197256,-536672972,-427841671,-1182247876,-153156936,129936676,1273113173,444731892,163454022,134917751,-1894032620,-843461817,957569706,-481504940,-1651165256,-901508993,-1873424544,-1431779135,-1910008117,-1409869686,-1382864181,151750247,369071894,697876238,-1202151567,-2035737414,-2047464594,227371967,-206536954,-1431420063,703837039,2067076862,-377783592,2024035561,1861053204,-1254818053,1712541924,544748089,1632898229,73557051,-192651833,680718323,-1365473638,-517221801,-1682197947,1604445145,-1434786088,-235097971,-43076384,1972242391,-2075988218,1899403041,-1763603845,1780194902,-576946776,1883250885,1026004249,-1606771915,-1264250397,-98326547,-943226324); +/*FRC*/Random.twister.import_mti(468); void (makeScript(14)); +/*FRC*/count=356; tryItOut("mathy2 = (function(x, y) { return ( + ( + Math.min((Math.hypot(((Math.fround((( + (y || y)) >>> 0)) >>> 0) | 0), (mathy0(y, Math.sin(y)) | 0)) | 0), (( + (Math.log10(Math.fround(0x080000000)) >>> 0)) >>> 0)))); }); "); +/*FRC*/Random.twister.import_mti(609); void (makeScript(14)); +/*FRC*/count=357; tryItOut("\"use strict\"; (/\\2((?:\\2*?[^\\cK\u68d9-\u00db\\s\\S]*))/m ? x : \u0009\"\\u1764\" = (makeFinalizeObserver('tenured')));"); +/*FRC*/Random.twister.import_mta(-2144719613,949170196,-179519423,-1532597532,1567007063,-268037134,-352610067,183394485,-1114162592,-1773083710,-1927851338,-2023155446,-1508477,532382436,254480012,1830302063,92969856,352974463,-887849881,-2013605969,930589758,-1598632240,-1699050308,1841510672,480460457,-2033409062,-985119231,-2021986389,-1951887997,-1644471626,-1113508909,-797946402,1215539003,-1467530394,966004260,-92097346,1388870619,-1030933638,-1114936018,617110190,-315429328,-843441020,1269088531,-1552970924,-482291761,52591667,-785542815,2042680698,-148451194,228175045,-1431887009,-291801141,1662858142,-1769732756,1024734818,-1157000861,698848725,577463619,1632494500,244454796,-665742798,-500274351,984894349,-149908546,-1202716387,386204003,-1309521268,645513693,-55070075,-591786406,-2031885745,-1464205175,78585282,-754345167,1024638737,445515948,1908831916,1656484854,2015288783,-1368399743,1090666044,754363965,-566664385,-1382036232,-333051161,-1076717511,-772824563,-972531087,-1203510537,-1653138210,1732999580,605424617,180795187,-1381534375,-1640371606,-202924118,-1898789150,1520583475,39582495,-2120797076,-1851570772,1636021122,1135054257,-221692617,-390610739,-1452393330,-906798209,24578192,1175975589,-145843921,1744640660,252869598,1303790589,201964091,2018838599,-778297131,-1940868826,482497516,-897229580,-7398906,-362570871,1759120234,-28085861,-125064138,-1282699264,1616948952,650172735,-669196267,-1284752888,288578538,-771618216,1219062799,213963745,-702421832,1602453064,1488252810,-241939981,1598359134,72890061,-1107398448,1659387394,-814317070,-1221374215,-1882681642,671325769,1765855328,-1197370579,1813936848,1357412147,674894141,-1054805186,2054110509,-19059910,-28240513,-1678914566,-1650242230,1039459896,-2099547208,494482434,1904381914,293857916,1824741496,-1555596268,79448600,1075453309,1841796973,-829659169,599787251,904690620,1653568527,-334469764,758847180,632204141,640024435,402542653,-4339030,-1734531795,-389549228,420866607,-765567041,1335783258,-1066145657,1608450573,2129716799,-1291176861,-2126005050,2023774501,-299904733,287657452,-33741611,1079133822,-1556096131,936689351,771665540,1132512493,882574624,1266535348,-290297074,142279996,1498429992,-921720512,-1627210295,-266218488,-4734082,1219430166,-622572979,-573387035,1257244586,917261993,1591669371,-354525923,-638965292,-1505867521,137205104,-295367626,-96371346,-699988565,-1922409036,1904613229,-1277318593,1204818479,1616616999,992365396,541925896,945939327,-976167725,933438954,848486001,-1181075404,1391029407,449007426,-951718091,-69608561,798716807,1516720685,-1233420265,152173503,1629269953,-1732969672,-727952284,2077518781,-237442305,-619158027,74365445,-757835739,-1644787568,652057481,1056516619,-1331242646,-1459482692,-347207434,1032636610,-1301466747,-1019615212,480832436,1875363763,-1007455789,-620017904,-802925022,-289850963,1698465979,174410389,-1977119777,-1736379220,-1331147706,1868577287,-1693739563,-880249397,-308269571,162091475,-695573843,-1837003351,270237143,-873407912,765332661,60536342,-984938775,-508533967,-1164373331,-986294927,-1972528560,-276643316,832852878,-1504863563,1961906785,1474155666,-106941049,-1125098917,1908347171,1243512075,-1798555735,-698849682,-2047523206,1435428352,911246439,-1723736643,-1441941649,927563418,1956002331,531474391,2055371335,2124402819,-1710881647,138729940,-486679236,-1393694916,1972725588,-1898645314,947779942,-770444277,1656914580,402328907,625127402,-1436739140,279980716,-1757001098,1357307124,-234185874,1669902308,1786961215,732797941,1938015375,1803796769,867416249,-1159582347,153673053,539380712,-801009931,1553137860,317266816,-1148062283,1570228300,-2034564818,693602987,-1646195064,-600087665,-1876995184,-843100170,-726529100,-757737275,122067504,-381428651,-1431711532,2065525741,1113791206,-346420588,310711438,904674101,-520211557,-472369146,840472583,-640928049,-1819967793,-1338331946,842608874,-78470040,1324729557,-1334640350,-1721402725,143773199,-86346724,1771636882,605918597,1467823464,705254708,773180572,70555730,1448279093,39347639,-78501065,-2017698953,363530529,1713583511,-1885464493,1488413999,489913,1076763089,-1774408924,-1219008600,1744786370,-54801901,-1553061918,-2113708081,885185608,-1759129233,-544476544,-1232093507,-388473928,1874625172,-1637863178,-1340504920,-1172695074,153192186,-1425512727,350346152,-1304732822,-1265026943,-669868914,607300021,1467320961,-1869594324,-1109736586,1859669331,589708711,-501756957,-812328283,1937430269,-1129688075,1028847726,-316538925,-1636770938,1218014062,175935966,-1699452308,-1097445095,-1188064566,-1801296289,-735702630,102875587,-721037771,-744145807,-1079932868,-642412591,-1519956390,1632555992,-27351221,798489725,-270381369,-295300480,-803462264,1081918545,1811557480,-338475327,1780606306,188708369,1035366971,892438937,-2025181854,1180996751,591959746,918344261,-1621420650,971876562,-2806618,-266647286,-457785349,1802199859,1500913148,-1620644273,1960276459,-37832086,-923105875,588541256,53049108,1636650437,1570396411,1745724227,297576210,1885558197,1820547447,-1370068074,90807026,-1337759770,-780992007,114050244,193143554,-351188139,1859061739,-5130625,1627465639,1551411192,-2115761665,-334976303,-975571857,1736625917,-487628097,1573604775,647376222,1295607809,250971745,-1299063352,170535429,-1261255933,1256156272,-1469873570,217617595,-1383272372,971083338,1589322539,-1591611114,-310451869,-1507275692,-652884786,1838578948,-638833799,569047789,991514824,1865188140,314676334,-473624047,431754112,-1560310492,2045460906,1710586328,-1796899174,1362684096,1657083554,2082327613,339444807,-259314996,-480335906,1075989579,-420739836,1931663329,298617400,-1545411065,-712718008,1500022253,1366557775,-1439761376,942747286,1380064699,-1091582161,-770617178,1194996758,-690815962,-457779992,16783529,-1742083919,-1237978197,1770346008,-352865676,1877738294,245874960,519481644,-1258121860,1273505038,-481389686,318281430,1620052709,-960938656,181543783,-2048648104,-2129578224,551122312,645133365,-393857069,1955645181,-376760430,-592616032,-1237388242,162593643,-706694574,434506361,773611709,-1337471884,-1063248123,-1190382826,-1432438295,-1742228337,-755638008,1478524749,-1842298189,-534851318,663235733,-2005524054,-1447405159,1150930082,1438284192,-1477912530,2143446478,-546374398,-321411298,-313441806,1768265312,-782738639,-1391287334,-835575577,-1847144065,1608100464,1847711596,1740815535,882082258,-1820805319,-1165178199,-1918294756,-1917505176,-1181812159,727850277,-70020987,1856309995,-430521253,-471554572,967709485,1659847001,-419234020,-870015299,70161621,1721934163,-283665324,641511126,-1014044691,-1555175547,-1922048265,-2123175831,1590312540,-1289078209,174295840,-1236052850,1677047638,1249216056,1961517659,-576027389,1461470706,2057317978,447827391,-1330770398,1362174997,1031892365,-2144044097,1750228679,-252135295,-774333828,1837407967); +/*FRC*/Random.twister.import_mti(283); void (makeScript(14)); +/*FRC*/count=358; tryItOut("h2.defineProperty = f1;"); +/*FRC*/Random.twister.import_mti(296); void (makeScript(14)); +/*FRC*/count=359; tryItOut("\"use strict\"; Array.prototype.shift.call(a2, Math.atan(Set.prototype));"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=360; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(339); void (makeScript(14)); +/*FRC*/count=361; tryItOut("a0.push(b1);"); +/*FRC*/Random.twister.import_mti(356); void (makeScript(14)); +/*FRC*/count=362; tryItOut("\"use strict\"; Object.defineProperty(this, \"v0\", { configurable: false, enumerable: (w = Proxy.create(({/*TOODEEP*/})(new RegExp(\"[\\\\S]\", \"yim\")), eval).__defineGetter__(\"b\", \"\" )), get: function() { return evaluate(\"/* no regression tests found */\", ({ global: g1, fileName: null, lineNumber: 42, newContext: false, isRunOnce: (x % 3 == 1), noScriptRval: (x % 5 == 0), catchTermination: true, saveFrameChain: false, elementProperty: s2, sourceMapURL: s1, sourcePolicy: 'SAVE_SOURCE' })); } });/*infloop*/L:while(((yield x = Proxy.create((function handlerFactory() {return {getOwnPropertyDescriptor: decodeURI, getPropertyDescriptor: function(name) { var desc = Object.getPropertyDescriptor(x); desc.configurable = true; return desc; }, defineProperty: function(){}, getOwnPropertyNames: function() { return []; }, delete: function() { return true; }, fix: function() { return []; }, has: function(name) { return name in x; }, hasOwn: function() { return false; }, get: function() { return undefined }, set: function() { return true; }, iterate: function() { throw 3; }, enumerate: function() { return []; }, keys: function() { return []; }, }; })(/(?:\\3)+?/gi), /*MARR*/[ /x/g , (0/0), null, /x/g , null, Infinity, Infinity, /x/g , null, Infinity, (0/0), /x/g , null, (0/0), null, null, /x/g , /x/g , /x/g , Infinity, Infinity, (0/0), Infinity, (0/0), Infinity, Infinity, null, Infinity, null, (0/0), (0/0), null, Infinity, (0/0), Infinity, (0/0), Infinity, (0/0), (0/0), Infinity, Infinity, null, (0/0), (0/0), /x/g , (0/0), null, null, (0/0), Infinity, null, Infinity, (0/0), Infinity, /x/g , (0/0), (0/0), Infinity, /x/g , /x/g , /x/g , null, (0/0), /x/g , Infinity, /x/g , Infinity, /x/g , /x/g , /x/g , /x/g , Infinity, (0/0), /x/g , Infinity, null].filter(decodeURIComponent)))))x;\nt2 + '';\n"); +/*FRC*/Random.twister.import_mta(-2074409852,-2019788470,86425587,1730912600,-2049324401,-2102578694,-10896094,-52668717,-2068010172,905019302,-14753936,-609340048,-1560527199,-1713021760,-417479930,146398238,154673548,34922485,1675249090,-820400064,-998410510,1266452381,-1545319747,1157370874,-1127753263,572070926,2144504144,-1114495546,-1331492336,-397421237,-2015729624,324497858,-1000373701,481739587,1455126071,465554419,1265073375,1442496646,1876057964,61406849,-510188768,-1161935655,855593832,-569113219,1203936080,-2005675843,-2093660645,-880271031,997382470,-416267709,-1221388602,-286754944,2140500829,-1556831909,1282866627,-288417923,-1961593494,1361820695,1523798589,1143302746,-106749339,-1271807828,1460342952,1802951623,-672945508,-1464188256,457658824,-1583403687,1709057071,828902061,-1550141584,-1108985698,-779265312,-1678161745,-1935471191,-722759289,-192672364,-1031466811,1825579552,1028281017,-1444558177,-80910015,1480220701,1569351780,-859056442,1160618714,-1328287337,1833616378,1111694036,-567718782,-1293796511,-1026504595,788200293,-1570630570,-539294847,-1635997761,-1714426814,1103717929,555835611,1942549022,535649005,-1441078679,1135164501,-185640135,-163015837,-2078647094,625933712,786838807,-208202616,289119208,2073358802,-1410853530,1871136526,1182569250,-236655362,-1597743721,1027866135,881730626,-601527548,968733779,755335256,-145421219,-697619909,1643439766,577915607,881269615,1729597555,512502034,-1639231021,-843591228,-61071759,121713054,-1658519049,105179452,-961690191,-835807472,1627734591,-2049834347,-1409438444,983317007,-990522509,-798391947,661933454,196100763,1047677783,12346641,-149026184,-1851392306,-1419359116,-938062260,-1867519820,-689602033,982343616,-70774317,1197563342,-1961180850,411808677,1621162684,-2004448359,-933107141,-1888641238,-1153628189,-629567101,1810915177,-137690076,746471811,687235756,1031672139,540617586,-1615697113,302270404,-563766071,770873160,-315228913,-525330345,965838167,-1724729256,-1125657688,1635763249,-891448201,1996711035,1728176294,-106337872,-290685566,660693708,-775217761,1031794551,-232887201,710870953,-308538793,823764768,-377425255,-315832377,-697444286,-65321269,-967163858,251078314,651346887,-877993464,-391951843,-760775954,515001175,-1865646613,1114320221,2012508692,1420570664,-401089246,53247970,-391252034,525182062,1721147338,2084880430,669220334,2101805091,164289772,797030153,296315688,-1687448269,-1705564033,1246672874,-132883495,538069031,-1877808453,-311812185,1259890231,-1979119479,-305839816,-1734993762,2011201498,138877010,-578689507,1631426455,1281898726,1264755947,2129208839,1497163332,-1669883751,-213605652,-1310711998,1176419232,939628896,328810787,-746180157,-1185235647,1290771389,-1447282471,1231918490,-600958393,536707139,-700231994,440039323,1023013324,1132849156,830930058,326727360,139592230,-2050328893,-272088263,-50111029,801732281,-2138253610,-895483129,1476374949,322132732,-1153274534,-77650599,-10193733,240092417,1734499567,-2135764255,240939894,-1765304988,-1383350895,1290989726,-901383614,-2132808979,249611012,1937190735,360443367,983809653,-722091939,346346500,1692494584,1751444613,2059753054,-15992799,-2091518040,410262059,137776886,-999965789,5957872,-1793521247,-1031982688,-1721261276,876049240,-1445966009,1791800800,14228130,725113770,1975834396,1035866161,413712190,-1865810579,-973413622,-1795955877,370839946,975187686,-170183124,1261183899,693838167,-813736418,-563445453,1342385668,-125049663,1726604993,707818670,-416546507,-1020892013,1855526445,-1574664640,44779214,1930580942,514706236,498485799,-1672103848,825378095,-1025473093,1906629263,-1553043543,-949389744,-1708867809,-183168012,1236871488,733903572,-638372849,-1147617984,2011446291,298710024,1535789531,740559382,-338309673,-1531968364,1145198782,477262692,19079432,-1788354237,-1170007786,-2072893110,-2034692002,376428263,-736473810,-222804625,1822051588,1040910342,589658918,1614349158,-712093355,702944227,-637442490,-1605878791,1921543541,1303101356,-443544156,1946282149,-1831279397,-1444421315,-2000816950,1557221751,1959273521,-39661334,-663914796,-1804902077,-1636050457,38602800,145683149,309981251,-1022878754,-888906912,-1525011474,-1646786026,-1434516958,-1620557066,-780423318,-1978537011,258278396,1254745112,-1139947545,-122429856,-1274208360,-2106240041,922571910,-1285830823,-1594703320,1652985720,610516222,-478345235,-205839008,-652893247,1826089302,632993758,-1277649740,248811041,-1324733605,825355638,1109724709,-2117460080,1300237650,699013196,-929452144,-1232010125,-1964980171,576662051,-594466647,-79923420,-1366710982,-117013415,-2020664678,-352192738,1510648156,502720800,-1984095140,164180476,-1796610301,2119192390,-2131418947,90811625,1180360097,-1516997714,1992055443,1778036508,2006334313,-619355733,566018713,1954600693,-2063600096,1799193517,485012191,-1666423470,1843432271,-1514822637,1927973608,1429997701,275456346,1772408749,1882749457,1995057465,1727379732,1857002529,-1015988211,-1362249842,270527918,445796499,-1952599293,1141593861,794002492,-621928796,10046427,2092497944,-831222797,1531120941,165046674,1724421620,-1467099545,-552486149,-159042707,492833335,-1468954486,-1630408064,-99524049,-38116801,547359073,-1545372150,1381528113,-1549516229,1951472583,-401566129,-989308823,-1515293884,-1567915485,1523386080,-308586153,-1877432418,1832760350,-1845774356,817674683,-339401235,1933160860,920254364,-634324084,-1203211829,1076313302,-674721987,-1919673381,1251660248,-944617304,2062480523,-1222339721,121420097,1043180723,-514475951,1569535500,-1229956457,-1306175999,76708937,468409135,605644470,-1650071372,1205908129,752959842,357447959,-1854047617,1236489436,529670926,-1951157580,-1869751817,1660168786,836323722,-1310172664,-2146535503,-1637505301,692985126,-1303896048,-1059526892,156348395,732980401,1499673054,-1404277865,-1465756490,-625281484,-469019039,-259966416,-486153536,290025730,895187568,-279282542,785920284,419195026,-2046618251,1999254686,1935650996,619333037,1679550701,1790504742,-1220494351,1226253910,-1009599205,1097094625,913231111,491053342,1169338667,-1067022515,-1230642831,-456527668,1290143034,1770470581,1513541876,-1678807077,1449349940,537819500,549706180,-559483475,1239672201,-879241787,-1121412474,368501981,-1772104248,1315499079,-1056378617,-1220253565,1000565337,868552165,2001269383,-472956486,-823012826,903263245,-802143821,-394365365,98669902,-1655402409,1535813298,-1797069170,963427279,-259135451,297829598,1865580909,-1663303950,1703409158,-1104030920,-380975311,197801998,-568182185,-483740127,1815631988,549643449,1867525881,-1949115472,649931359,1916049058,-1545556119,-848982388,-1165833447,-1073696304,-842616857,448388917,-1537129394,629638702,-655765626,-1319720859,-292382371,-197038986,694970943,-1195839070,558352097,-2124558134,1826867296,-1403381623,1944416514,-1321905505,709446233,1305697684,-1007524889,1284501952,213383261,-241785054); +/*FRC*/Random.twister.import_mti(278); void (makeScript(14)); +/*FRC*/count=363; tryItOut("\"use strict\"; const w = (let (c = this) [,]);const w = (4277);print(uneval(s0));"); +/*FRC*/Random.twister.import_mti(375); void (makeScript(14)); +/*FRC*/count=364; tryItOut("\"use strict\"; o0.g1.a0[({valueOf: function() { /*tLoop*/for (let z of /*MARR*/[Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, Infinity, Infinity, function(){}, function(){}, -3/0, [1], -3/0, Infinity, function(){}, function(){}, [1], function(){}, [1], function(){}, -3/0, function(){}, function(){}, [1], Infinity, -3/0, Infinity, [1], function(){}, function(){}, function(){}, [1], function(){}, -3/0, [1], Infinity, [1], function(){}, function(){}, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, Infinity, [1], [1], function(){}, -3/0, Infinity, Infinity, function(){}, Infinity, [1], -3/0, Infinity, [1], [1], -3/0, Infinity, Infinity, function(){}, -3/0, -3/0, function(){}, function(){}, function(){}, Infinity, function(){}, -3/0, function(){}, [1], [1], -3/0, [1], [1], -3/0]) { f2.toSource = (function(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14) { var r0 = 2 & a10; var r1 = a14 % a10; var r2 = a12 | a8; var r3 = a8 % 3; var r4 = r1 / a11; var r5 = a0 & 2; var r6 = 7 * z; var r7 = 5 ^ r1; var r8 = a5 | a8; var r9 = 1 ^ a8; var r10 = r2 / a10; var r11 = r8 ^ a1; var r12 = a3 & r1; var r13 = 9 * r7; var r14 = 6 + a9; var r15 = r6 % r6; var r16 = r5 & 7; var r17 = a7 | 1; a9 = 1 - a4; a5 = r2 ^ r14; var r18 = 1 * x; r13 = a11 - 8; var r19 = 0 ^ r16; var r20 = a10 + r0; var r21 = 4 * r18; var r22 = a9 % r13; var r23 = a2 - 0; var r24 = r16 & r15; r15 = a5 | r13; r22 = 2 + r5; var r25 = r24 | 8; a0 = r1 | 9; var r26 = 0 - a0; r10 = 6 % r14; var r27 = r20 * r23; var r28 = 7 - r20; var r29 = 1 % 6; var r30 = r7 ^ r15; r17 = r4 / 2; return x; }); }return 0; }})] = a = (y) = x;"); +/*FRC*/Random.twister.import_mta(-1696882844,-1219754384,372205426,675072300,1333925596,-827918902,-698911040,8084359,-617439165,1913610986,1149043444,15663135,-94131693,-110220874,1711522860,-670222225,1665050625,-1620801573,-561357703,-441343517,397870095,-756007715,2139676893,248922219,1489354747,-1426021461,1620663717,-660298315,-398002541,95938997,-331363505,-845468847,-1096188318,-977063763,1338127501,-1660433367,1585297078,-1290348138,-203338702,740500303,1492908001,882844411,330765938,285984576,-938651644,-923192696,-1788317738,763434674,-595937081,1030500983,433825761,632506748,643782652,-282319984,-1258460174,-837318218,-1248445999,-1691181571,-117658743,-1522505162,648027214,-1510931545,-135213039,573029596,848671908,-449937789,1456905352,492999077,-1663254594,-1178807502,-1071452465,-1831350433,693008055,-442518,1352533526,672822523,1542355590,37292759,1874661324,1223822841,1093695291,1469973234,1946694354,-872500684,-225544461,-329450486,-413215215,295515345,-992902228,-1287643917,-826727563,340080353,-1451656224,-1228796471,33451069,-1049367046,-1284058605,1311393818,1124765060,567971550,-1959167830,-957251002,1110091026,-1079914654,-188910350,-528340791,-1964386787,572576107,1820633922,-1603301283,1377089554,1529012965,913338502,-1450243072,-2133210424,-667194150,-1846239083,-1096848267,-1490927452,660310438,323644665,1915966067,-291514976,-1585477486,822287736,1784389618,102218594,-1113752441,1069078844,1265292400,-352138119,1293993488,-1490476289,1256155191,-2079151800,-121413438,-1363489819,-1163613672,-358703932,-1550962188,2000643344,613421657,-275832538,-1562652455,-45258054,1362618906,-7191402,480510060,-1478911427,154378683,-1005273889,1073893118,-513930979,-1546245718,-1289190954,830773697,2092333156,-187905626,-1492216522,-598106034,-1829412838,-734396046,-869054801,-448563265,-2032896617,-538123117,983507708,99250532,9326724,124440485,1999802300,-507698393,-1808718847,-627724015,-1299676941,-279569002,-1870513166,-597563702,1817590615,183989417,912352541,-1585437553,752654451,-950904856,-2004777505,926592833,-1312357842,-1558859162,857556742,1024140694,335092395,114562061,1627182127,958867949,-2146986442,725863201,-1432144507,1250254845,1720438369,1341036328,-1536883754,848175427,895002877,-2122780141,-363419196,-103988874,1529864388,-1875394671,1780569113,-341671837,-1888171918,-43833430,1407868088,763954249,913349369,697529205,367045260,-1195316096,-914537604,-689443791,2016724563,-1152872485,-1569791336,1064755235,-796670629,2052413633,-1109546131,-517234551,-1284535719,-1578687325,-1045777864,1773537967,1914640224,1881888028,753215653,1275190480,195900316,479006037,1675648463,-429693277,1772763640,-691508206,497604112,-1673407232,313666408,-1170434380,1387142175,-1052674831,-103703618,-1415746609,279623821,2030521337,-1279009298,1764091589,-594697050,1940618541,-346326794,196531573,58138834,-1091627767,966492657,-1120576384,-1801559721,1138524187,1471282149,358336176,-234073840,-230528695,-1378944172,1419325385,443026930,130039315,-1367323961,-1337289993,-186232037,-1693787835,-1646324465,-1972444723,-1578490215,-1792211187,-1518450286,-2037522802,1663913771,-1997237506,1035981106,-1185525667,1886574588,582695733,516648617,-1210211223,-1314682669,1403726964,-1449283823,214770980,-1870526759,-373627570,-1177526685,-708918502,-1472879407,-1365651856,-206741259,-1041086337,1256654206,-2002830348,1228161554,1923946687,1914672879,-1112615383,-633658746,1404542429,1036206706,-1701846543,1225899701,220370350,75828870,1850684393,1272683109,553457852,89617857,-399714169,-1890900946,245926307,1453357110,-1118040513,-1883514286,-76382330,-1073720506,59178913,-1522189970,-1775220158,-987019624,-1872633774,-178448989,1058602181,2146209739,-1904343660,-1467389351,-421975008,1295050734,-1701697870,-69792182,-487004521,-704490136,-1855639535,757345291,-100414417,1700961539,1343677654,-1609823777,-997002441,1093343994,1196309498,1969101809,394594033,-1920860876,-1938341559,-2037289634,-972914854,-2079560909,1197843610,1812641761,-1227182182,466297935,1054738775,2002774617,-1363122527,1424894352,-732706857,440498732,-2084988340,1910952103,729298582,269577730,1657638191,-1936701294,-2040686638,1823575051,-1768314584,250498037,-1268676596,-329119535,-610970013,-310059784,990181786,-777503830,536921626,-1610592386,-923537450,201857094,-1756500756,1709581516,-693300093,-1364221137,682556547,-1386462643,2035532340,-219631974,22641431,-211781432,-1914869157,83314398,855975297,-1211176147,681053247,-595269374,177618430,505575567,304984789,1673533033,-257667914,259355174,1069654356,1252299987,-427568973,1184776341,1893386827,1217125913,2130464261,137322653,1679972865,2109976851,326882664,1416359042,869340420,-1858520746,-592572306,1562685183,1177787968,108230349,-1751448170,905638425,595621975,1518705363,1498422228,2090978968,-44188247,-436948278,1619803402,1991329148,715069900,-1642090284,1044712020,-2075548548,-1259067557,448612547,-100163594,2025362174,-1065036150,-332508132,-362736561,-1422427979,1279634437,-2124921956,-1435211405,-866340901,1781243755,-1615111505,2140686110,-1658897178,1995711401,1129258982,-1582599351,-1165905550,-370730251,-885671791,2010683786,-1458855965,-1918224336,824045010,-722443649,-1917818363,-493444433,853935990,-1316085469,1816235785,39651157,-112569747,-655898301,341952649,470204826,556381450,-1441562967,2069276379,705533172,-1487079588,2062284828,-1518080313,344194103,2014958778,-192020676,-248481958,-2005711145,1880534620,-774539964,373138387,794034736,-1911569482,-1669960844,-1369287964,-1069100607,840568675,888948932,1078679486,153225287,-1738386794,-1355230525,1876291202,-1290868445,354579162,-224705845,-332580720,846643381,-1131443961,-1589867560,1405169180,103271020,-1356232339,1756103636,-2054074402,-46489214,367605036,-252807853,874152548,889248996,-116433931,656089541,-87497685,-1628431377,721376144,849844326,-115488108,26278547,1744872839,1169336486,-356331865,-700115249,-910252104,1180063805,-1558169173,-1033098052,-1507340025,836335893,-320348466,793774414,-1742932242,-51515410,1779633883,-2115414879,-1250336279,-275018929,2131119704,-35708364,-1660846821,1842052547,782079963,834289244,-50207784,-718505426,-2147480400,1124523946,-1025392930,-1020275210,-789952297,2071636200,-302594364,-1291050734,589229806,964528852,639755108,1458070341,868874637,482577622,-1652873924,-1501464614,-519670576,1295745573,-2040383088,-695606770,713779363,2133813430,-767824951,751811065,-996736218,671128887,-932216797,-154169296,1484606726,-2119736154,-213929059,-1378711109,-700194152,21218915,665429026,-95515085,-776295921,-803774500,-1163669219,-115460148,1305145808,-732382383,47044039,1937485758,1376372887,2122395180,-1000707521,580561974,1975676129,35910816,-1581916072,540694840,660111691,402876421,548286079,-697193650,1205228365,1979359431,383776124,-1446366913,-263931319,375267843,1323893859,839847612,1100517797,-1081777880); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=365; tryItOut("\"use strict\"; s0 += 'x';"); +/*FRC*/Random.twister.import_mti(314); void (makeScript(14)); +/*FRC*/count=366; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(323); void (makeScript(14)); +/*FRC*/count=367; tryItOut("Object.defineProperty(this, \"o2.v1\", { configurable: (x % 24 != 16), enumerable: false, get: function() { return evalcx(\"/*MXX3*/g1.Object.defineProperties = g2.Object.defineProperties;\", this.g0); } });"); +/*FRC*/Random.twister.import_mti(360); void (makeScript(14)); +/*FRC*/count=368; tryItOut("M:for(var c = x in Math.min(x, -0x07fffffff)) m1.set(o2.s2, h1);"); +/*FRC*/Random.twister.import_mti(459); void (makeScript(14)); +/*FRC*/count=369; tryItOut("\"use strict\"; /*bLoop*/for (var ucwdxm = 0; ucwdxm < 17; ++ucwdxm) { if (ucwdxm % 2 == 0) { print(x); } else { f2(b0); } } "); +/*FRC*/Random.twister.import_mti(503); void (makeScript(14)); +/*FRC*/count=370; tryItOut("mathy4 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var acos = stdlib.Math.acos;\n var atan2 = stdlib.Math.atan2;\n var atan = stdlib.Math.atan;\n var ff = foreign.ff;\n var Int16ArrayView = new stdlib.Int16Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n i0 = (/*FFI*/ff(((0x36de041b)), ((((((0xdddb31e)+(0xe7b88c0b)+(0x3d344353))>>>(((0x7a35174f))-((0xd289a10) >= (0xcb8fa81e)))) % (0xf3cbb816)) << (((x)>>>((0x55fa9451) / (0x6334be6))) / ((((makeFinalizeObserver('nursery'))))>>>((/*FFI*/ff(((2.4178516392292583e+24)), ((73786976294838210000.0)), ((4.835703278458517e+24)), ((131073.0)), ((268435455.0)), ((1.0)), ((-4.722366482869645e+21)), ((2147483648.0)), ((-3.022314549036573e+23)), ((-2199023255553.0)), ((513.0)), ((33554433.0)), ((32.0)))|0)+(i1)))))), ((6.044629098073146e+23)), ((274877906945.0)), ((abs((((/*FFI*/ff(((268435457.0)), ((-32769.0)), ((-8796093022209.0)), ((-4398046511105.0)), ((72057594037927940.0)), ((16385.0)))|0)) ^ ((i0)+(i1))))|0)), ((abs((((0xfaf507e0)-(0xfa98238e)+(0xfde730b1)) | ((i0))))|0)), ((((0xff29c345)-(0xffffffff)) >> ((-0x8000000)-(0x7b786755)))))|0);\n switch ((((0x52be5c66) / (0x40d88d6b))|0)) {\n }\n {\n i0 = (i0);\n }\n return (((0x11f58c8a)))|0;\n {\n i1 = (i1);\n }\n (Int16ArrayView[((i1)-((((0xffc1bdb8)*-0xc1829)>>>((i0))))+((0x0) >= (((makeFinalizeObserver('tenured')))))) >> 1]) = (((0x6906fcae) >= (new RegExp(\"\\\\3${4,}\", \"gim\")))+(i0));\n return (((imul(((~~(+(((-0x8000000))>>>((0x1757fcd4))))) != (((0xfe608a06)-(0xb235ac1f)+(0xffffffff)) | ((0x317ea44d) % (0x63acf90)))), ((4294967296.0) < (+acos(((+(x)))))))|0) % (((0xffffffff) % (0xdcdf2ae9)) << (((+atan2((((+atan(((7.555786372591432e+22)))))), ((Float32ArrayView[4096])))) >= (-274877906945.0))+((imul(((0xd5134665) < (0x35e723ec)), (i1))|0) <= (~(((0x2d53c355))-((-0x8000000)))))))))|0;\n }\n return f; })(this, {ff: intern(x)}, new ArrayBuffer(4096)); testMathyFunction(mathy4, [Number.MAX_VALUE, Math.PI, 42, 0/0, 0, -0x07fffffff, 0x100000000, -Number.MIN_VALUE, -0x080000001, Number.MIN_VALUE, 0x100000001, 0x0ffffffff, -0, -1/0, 0x07fffffff, 1/0, 0x080000000, 0x100000001, -0x0ffffffff, -0x080000000, -0x100000000, 1, -Number.MAX_VALUE, 0x080000001]); "); +/*FRC*/Random.twister.import_mta(740868763,-12651536,-1320513883,2032403590,1593663405,-106908085,-1829145408,-340872767,-1067988973,149267369,224260733,46051063,1694937673,368349069,51977270,-1758856280,-1683735638,-469167177,-2128372841,163157771,-240447752,360227104,1929157123,-1878763258,541076725,1750421474,1888580825,-1894322371,-1603551500,1316713106,-806127371,1787965930,-1416620268,-1523869025,-519384457,-1437385137,1247978216,265216080,1307658640,1943771145,-1586032074,-872267820,-1108000830,-1755959222,697354826,-1741255094,-779408560,1085777409,1417406280,-1163791147,619779058,-1162296351,1692010734,1429013667,1858368711,893303555,-1112816671,1780000654,-1054056909,-51490985,647308428,1171274723,-397043734,1796797025,1000358070,-460105316,1970098352,-1798465490,1363973101,-1862799575,835150843,49093041,20753366,1071838052,1648278354,1734282863,2015339925,903104165,2129518773,-403499503,-383223943,-1796377064,1620210913,1255320207,815047101,-1019523692,2144616713,-1743162355,964318154,1495988272,-1613256648,-546257622,950977253,996110739,799369010,-507472256,-1603608833,609383018,401082251,-2019939109,-1988907365,1116849579,-1409841200,-1394386990,-1909201611,-1907203969,-213144601,-2043159296,-1055763872,202142023,1721470709,-910967660,1725420646,-1891888094,494408356,-1164316125,762767844,-757390545,1817703764,-1237973630,1752671974,916834683,-1144214790,1820919400,688638958,-318412621,1428361113,-2113816341,615701184,2023410923,423685438,1959995600,1515851165,-365404815,1172532774,1904402520,-39672363,-1227434748,-478579051,-1146038881,-1748892131,-1668844625,1899748778,1422685017,-1376305573,563034956,-673985085,851602854,-1673870706,-1739982736,2067820386,1919399556,-2101260064,1223717536,355222731,-612176310,-476863106,1135799852,970640789,285582783,1073532151,1271354353,931301336,482035292,-944190142,-365874280,1972416698,-178716640,1587542575,-1889774776,-1263157296,-700196712,-589219562,1245453405,426862245,270743948,538880799,-1769825384,-1853104707,-1980450310,159176734,934318711,-1954589334,1279553410,-1399236796,-265608940,-2138051461,-1255898085,-877936968,-1242260930,-1262312295,1926843073,-113536628,85697057,-826202469,181970354,-852599508,-741476078,86676532,-875201348,367508894,496001010,30744764,-1070477901,1730001143,1605238370,895060297,1778065036,-63204483,-149335528,-425033101,-734455339,650703850,-1601097560,1751291118,1101460196,-497158943,1493198088,104759477,-1744126635,-1035553038,-656959921,408862222,489733923,1273204215,-50093632,947170882,-840563013,1522362567,-700943687,797503212,-175271405,-2033505124,-1242331382,1233488828,-704729133,-1070064280,-1565164870,-1479197600,-1752804982,939097303,1427165552,1385255021,-1924992708,145434930,-1864636252,-1987890847,-1598432142,16167449,1148059530,168133779,1209726060,2083773771,-1476511166,-696345803,-1222922747,1381885757,962048505,1045012342,-1051399052,-695349781,-945550630,-749296810,-1802217509,-1821963613,1436907359,692955272,-413112695,43905345,-1383209918,-1116818660,-143634548,-1735322398,-318138543,1972936740,214630332,779693273,-1414118032,-1122184378,-1529534156,885341033,229943213,-1138019271,854039078,172083017,2054935050,1424246596,403826657,-1345859708,-1312965075,1759625121,1885763172,168837606,-1264145765,2058755855,204082950,26401037,1681400652,-569583655,255579425,982689341,-157722518,1105138848,-587755651,2051122122,1567580615,836831858,528191566,1583995419,-754025605,-1023103548,-1574172017,-1073753836,-1286504954,37935481,481227316,-299424196,-1089834285,-1479530334,-1695813392,-476412076,1948550935,-649181008,-982895722,193905684,1044668413,-1320405077,-884720579,470814517,1925518742,719457333,-1553333156,616088363,2127337926,1788525119,583233778,-1518113756,1731338773,-999809693,80567126,-1786168812,-1710030119,2011289359,2136622503,348810112,-1097270439,-1762667901,1287131331,271432992,1436797203,-961301135,1004961239,-1224311102,701701137,-1561147838,-1491440467,-266009884,-1583313441,-1656937527,-210871876,-1095341708,368708681,-173437781,-1253038992,421849253,-1543940713,-1146356749,-580930542,1886819633,-1901210883,-1520312822,157273058,-1960665845,-13046368,366219581,1746724910,1586150354,2016896957,-1010068531,853666449,-1265427900,708860473,1027005687,1813400199,1685686990,299605898,1839144677,1168586832,1726558359,1659633906,1635548488,1053652486,1210909590,1025292148,-1120153463,2114856989,-607020874,2027351339,2133048441,-1519997812,2130690039,-867790472,593150355,-593397651,-1255532157,-1683360633,1797846171,1738735889,-484024448,440287516,1698971034,244255424,1757772675,-657615018,-1616434545,1708981711,-1231424183,-865411364,889792547,265142472,-268656568,247829530,-727968847,1593218840,-739213082,15653855,57508454,2000057923,1520206424,-414542197,80921653,-1215425881,-297525882,-341625115,-1901122419,70002828,1307869218,-936566014,491614430,1542295307,-345872121,-2047064044,243603004,-311924123,-35257752,-151939443,1824193419,2112618195,-689381013,404465256,-1351051750,247838114,1888772703,1129977625,1732398175,433083112,788918595,-787094308,-1759106933,1682342441,1699850307,1146855372,655773319,-333761260,194727402,1641292027,-800491038,206360445,-168169977,-486012052,1846872744,-454114416,1874792677,-593346962,980775635,1875184415,-2107113327,1309497791,-1325207192,-144869128,46171392,-980055552,-1447263453,1891732629,-904406229,53909128,1822348005,-1207376560,1145995134,-2067023979,912722303,465288449,1694136587,940480645,1006391812,-350247671,-1771197573,852192394,1234309629,-720790405,1485917792,1316715647,-1955871950,-1645504502,-972236659,-1157684794,-1734728569,1158646910,365902563,-1943018594,-32736817,39290232,-170125900,-43532852,-1194086809,1073429270,1882813634,-849417506,517606909,-198402905,409727017,-1718767849,-628904544,1824378856,1676739230,1775585061,1803779890,-1438407262,2088356343,1270835364,781964443,-38773677,1759054707,-1629090867,-1689788777,821299367,618537700,977904032,362352019,985791329,-1109064091,717604481,-1502224722,-15125740,-1445514271,176584882,-1065586129,1279118127,1348793508,-21537267,-1951475242,1403319669,1355495954,-873159860,-1774987667,-288199681,-1946712836,86659303,126040669,663823837,-873111107,-118917318,-630201391,-1178088996,-682326639,-940777951,1868541119,252372035,-1006205833,1688314313,707272875,1651756550,1410754656,284429755,703539330,-1710292697,-1645598531,-1437963110,-1475749460,330985085,-1659994225,-1534736439,2049794727,86583527,-1235808608,-307085018,-216462902,-1916229776,812881536,1565936047,759200770,-1530843417,-1684831111,-810220952,753277674,-490668452,1112105438,-732515011,-1044376763,-463904644,-808065143,1835148845,-2119696274,1776804770,-205775638,854543276,-1968428810,1627317486,276708598,135191803,-1489209714,-1893321696,-1650216458,1090475489,2051748264,1295091665,-568376838,1973982899,-1735994315,-1498222537,-260408221,-1162323862,1688501323,1422739748); +/*FRC*/Random.twister.import_mti(315); void (makeScript(14)); +/*FRC*/count=371; tryItOut("\"use strict\"; f1(o1);function x(x, x) { \"use strict\"; yield window } a1.sort((function(j) { g2.f2(j); }));"); +/*FRC*/Random.twister.import_mti(415); void (makeScript(14)); +/*FRC*/count=372; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return Math.fround(( ! (( + mathy0((( + (( + ((Math.atan2(y, -0x080000000) | 0) | x)) >> 0x0ffffffff)) >>> 0), (Math.log1p((x >>> 0)) >>> 0))) | Math.fround((( - ((Math.cosh((( + (( ! x) >>> 0)) >>> 0)) >>> 0) | 0)) | 0))))); }); testMathyFunction(mathy2, [(new Number(-0)), [], -0, NaN, true, ({valueOf:function(){return '0';}}), null, 1, '/0/', [0], objectEmulatingUndefined(), ({valueOf:function(){return 0;}}), (new Boolean(true)), 0.1, '0', 0, '\\0', false, (new Boolean(false)), ({toString:function(){return '0';}}), undefined, /0/, (new Number(0)), (function(){return 0;}), (new String('')), '']); "); +/*FRC*/Random.twister.import_mti(610); void (makeScript(14)); +/*FRC*/count=373; tryItOut("(void schedulegc(g0));"); +/*FRC*/Random.twister.import_mti(619); void (makeScript(14)); +/*FRC*/count=374; tryItOut("b2 = t0.buffer;"); +/*FRC*/Random.twister.import_mta(1196004563,-1097970700,-638275889,-930504450,1771993730,1780906995,813600850,1275678037,1188271500,-191971974,-727371,1219343995,-1983072763,1690874753,85718804,622290518,868331090,1178490779,-1207400811,-1907592651,-2032759220,-1786784259,131066955,651429613,988754923,1977358594,-1066053543,-2084216932,1741906582,-1113813309,41905846,1330940370,752347931,-312533551,2075082079,-1955246862,-331069747,-1470658491,-1530309545,1565460793,-1372832536,1136127807,273061678,-1079374814,-1981345999,1715504020,339413434,-673451572,1923734584,1052930674,-104910852,-1534728932,-1417308954,17964198,-1923983108,-146197648,911623390,-555953255,-22035044,2085577477,1794460146,-1559436418,-2000532538,2021754904,1980904194,1570825951,-427951869,-97143613,-257464400,295860416,-1808600198,-177751060,-50760994,1594513153,1313469560,-893881616,1598074339,-1676987818,-986435384,1878297586,75227827,1480817607,1262263648,-2088606463,-469226294,1331565432,-440039860,-1767181618,799271568,1668613881,-676296763,-2129547565,7126915,565557990,727447105,-1379424597,1780982192,-1459560162,1910113211,1272761577,-896844160,1550438933,-2089273454,-2038428635,-1873085281,1808180766,-554666358,-1501171267,1710336442,853496610,1641435700,1722077392,-1951274609,-1330614115,-2045522762,-1553505978,1292016772,-822586163,618674647,67282865,1325711036,54286464,-2107105389,216929758,906472337,689609395,-189422782,833122302,-862940785,1730349485,-1876282934,-933462042,-408160573,1282040712,-982438785,-822023866,-980590257,1945359618,-198913353,-164130507,-318592856,1829036870,-1984990702,840313239,2046974759,345278608,-1502083641,-1479912794,1185055882,-1109637730,1963855981,1359240404,-1697683619,405818220,2120581712,553838765,-1439837094,332791928,2136476159,218190424,-1178515008,474118577,701269747,-399964388,-1913524490,-1599620212,-2090120756,554944601,-1069353083,889549655,1680541711,-1435100932,-1732829384,-1080548570,1784828608,-586052304,464863351,-131959165,-554344998,-648788814,681219454,-1380551911,1972918716,-1958554579,-594520253,-1553849275,-961291723,-746401284,-1220015047,812706649,1840034511,216948294,-2032981920,-1826070640,-508724162,-1123767569,-1504444703,1853051120,-953532414,146456337,-627139900,-1054178533,1565079162,626232109,1119148316,34370581,1562012900,1420387723,1231282848,1626462480,-1813325605,1125795075,407258287,-754107143,-1342878382,897973081,746547045,-530792147,-667129436,-1086580093,-2134119093,-727086286,824319865,1283656263,-2076604278,949889898,-348718426,-1289777041,211468919,-1909401159,1799870760,721153228,819968118,1421628812,-87453,651139896,-1512832985,-1407289211,57581246,1262008497,1312873273,-1252265987,599137992,2006203083,1314104265,1707192058,-569336820,1604675487,-1219941832,-1681547555,47807707,-1644270191,1713570851,843230492,1094727745,-1745542697,943711968,492544269,1878982632,-560349903,-1903355716,302279924,1480054720,1023374147,1536000821,-1334869997,-134772062,1986688151,1433476382,1324469920,-1005442076,-978352832,-1983055645,1861704104,-776040942,-56755573,723079370,-1489942945,-152079994,1760541069,-1631518801,172978751,-1371865501,-1434576987,-471778660,-723655106,-380690390,2098638384,1658490039,1706697929,1085453098,1931088881,-553974963,36587099,-64965824,1768340457,599681382,574367817,737337763,2025361695,1682373428,782663208,2110457233,576748550,733229674,-574310927,1615414229,-1303920799,-389220699,717147010,1268568217,-1141390272,385264763,1038899759,-1728214060,414218638,-1510437041,-2074569836,-865839445,1906441257,-1028699726,134009369,-814563488,803259322,791313983,-260790095,-1216978392,495684037,1695242462,251756887,-1758130677,1527655893,1419832061,1924504394,-1209775676,1999642536,-665914633,-622138278,616725883,-2123008891,1689338158,1693161454,96662346,1197975876,1220319678,-157327287,-78242033,1192386604,-1327166250,943289844,-938107926,763663600,-453270428,-439566237,-80877193,-1266544387,-1359216739,1203507441,-1309977800,-1192181127,-1616915085,1722637045,-1784087682,269985218,-83374314,821665681,-1734849732,204559087,-212157721,-618685161,1991887974,-426007171,1795751488,1973075334,-1815861583,1776802147,416237215,-840734380,-1854138045,-2138641793,-736569681,-101294860,-1912505039,-1743711939,456904637,-794872238,802344560,331178324,758413768,426948695,-145769441,-1444450499,-1104551882,83759447,-954438520,-307610658,-798575331,-1028495636,-1195028806,2126540828,-1715770470,-1563983146,1783202265,-668402583,754859039,845780808,1938650341,420068030,-525773929,1195001713,-1945808563,1912232541,-1895501842,275316653,946085828,889996866,1447396407,-1373596159,185122338,-1322420156,-733309539,1391183161,-763371165,-1884569966,-1223914048,-962821839,-1440140049,-137307160,1804040321,-2044140353,-1482935647,899078111,-288006216,-2092610947,381645261,1872339633,1156008081,-582197068,-136039847,-1258307341,-1846339341,-390609332,-1707508044,1384932945,36485812,929670334,415323445,850865441,-1734060026,647910516,199348374,628820346,-2143580103,1100966998,-1074284261,-2112845303,-1497748521,-1176732238,-1043325689,-1686119288,1989253738,1971142143,281149874,-535189806,100456487,726278735,-1810468912,-306930459,-991958453,1421646748,1172527875,-1601922204,1267773901,438474170,-246459697,796236463,1707836125,441975919,-430910995,658720419,277375004,-1936275185,1990022978,-2076394582,1556146761,-1061607867,-1029845095,-324393213,-1989605407,-1710431328,-1473635044,-252178577,895515790,-368467040,-621996340,-2024834948,395606245,2043909061,1982069666,-444309549,-792570040,-737448053,-1301793138,-786985901,-95496516,598397722,174620594,221237761,207127536,1211396699,-346696423,-653316026,-1435617064,741230534,585839547,1522939606,1125470630,-1764293365,-804983427,197544838,-1746919153,-1855887984,523787293,306636841,-1881261308,506682938,1838760910,-2089636080,192531066,-208773373,-2052005136,-959445236,1270808776,-1260250047,1932856301,-89921577,932846418,-665262449,1067419951,-1861443690,-242873936,-1949866877,1732042756,1746642528,-1055150131,1968365411,-1900566175,-358796320,-1582314048,-1968843893,-549844513,122676022,-712050409,1701263809,-202765083,552639136,-727967237,234628090,-775024668,-397219076,247537879,1138428147,735312710,720109792,538194837,-899343365,536393339,-541412406,-1884031019,-1981918272,1985891911,1656204686,1743640139,-274625714,-753053600,1729669207,1830568889,-1676576964,-45018351,1936993148,780571480,523495675,790508625,-1244628787,828715106,-932718627,-32206399,-945414605,-787558659,-2096577153,-1686142354,801553909,1461919397,-823441847,1028730305,-1837233656,1748793174,-1890487013,-1799940797,-1779778213,-1708974513,-1827658106,487860402,554780906,-1802187646,-1809183432,-252078072,-601372460,1694073430,-1650506122,-545125587,1441404742,703081597,318199460,-1406332317,37476661,-89242671,1644455642,1672914937,1595698904,1503804770,742842994,-942891188,1791676331); +/*FRC*/Random.twister.import_mti(8); void (makeScript(14)); +/*FRC*/count=375; tryItOut("i2 = a1.values;"); +/*FRC*/Random.twister.import_mti(22); void (makeScript(14)); +/*FRC*/count=376; tryItOut("m2 + o2.i0;"); +/*FRC*/Random.twister.import_mti(37); void (makeScript(14)); +/*FRC*/count=377; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(46); void (makeScript(14)); +/*FRC*/count=378; tryItOut("/*MXX2*/g1.Error.prototype.name = v0;"); +/*FRC*/Random.twister.import_mti(59); void (makeScript(14)); +/*FRC*/count=379; tryItOut("/*vLoop*/for (var hmkymp = 0, y = (arguments[\"caller\"]%=((/(?!(.|\u11b8))/gym)\u0009(window) = undefined)); hmkymp < 5; ++hmkymp) { var b = hmkymp; var alsgnx = new ArrayBuffer(8); var alsgnx_0 = new Int16Array(alsgnx); print(alsgnx_0[0]); alsgnx_0[0] = 12; b1.valueOf = (function() { a2.pop(b1); return h2; }); } "); +/*FRC*/Random.twister.import_mti(339); void (makeScript(14)); +/*FRC*/count=380; tryItOut("{ void 0; abortgc(); }"); +/*FRC*/Random.twister.import_mti(350); void (makeScript(14)); +/*FRC*/count=381; tryItOut("/*RXUB*/var r = false; var s = \"\"; print(r.exec(s)); "); +/*FRC*/Random.twister.import_mta(-571129066,1295493378,444899427,-311142693,249303024,1920387568,1730472476,261617369,137284085,-1786792096,-464006820,2101852234,-1403605394,-1903646009,1668409718,-1763428153,-1434491713,-1117197231,-350040185,355386129,2107100192,-773326632,995085293,1345698999,1745209784,1800272272,-834072228,-991609717,1096447631,-350846028,-797270271,-454804013,697293448,1128471761,808219046,33541121,1315323520,-573347015,-1741252878,1408325349,631187444,-3704370,-1423259934,1275604916,-1684568186,-1876624791,2036440759,2071483560,671653255,605995723,1626726319,-848915851,1712806439,222887144,1591709890,-619662762,-134630075,-1063232555,1698663252,-1816096978,-1470493683,-2051983132,-415295356,1301840875,-1029308849,-1158394388,67882092,2108648447,1671110191,-1643178387,-1761132269,-1163701468,-1573846845,1657250111,-2049400292,-1120380957,338103441,-1814738261,1485823830,-16858277,-1351546541,-1009868963,-1081424644,1653374585,-348536653,1149211748,-815152435,185671425,1745556966,1884109988,891961525,1347938559,-1965670701,613373667,2131979493,1081322582,-24521937,990422990,1000976087,852617125,-1896887792,2006966379,1070393630,31955416,-1578615676,-1659892277,459129938,-2001337759,986020491,981685928,1048427113,-1870084120,-1989870902,-1470352574,-2000912155,-856721766,-1839538817,-376201329,-1043343919,1687621368,-1756812981,1211650667,1303462249,367739928,484743190,627215804,1251139542,815711004,-190158285,1703697195,-413363997,-509312572,-1782878521,1040237584,-1588563025,-1334771536,-853805376,-802172311,414228370,1092308742,-1361406164,994586662,1359952770,1435473148,-2121457461,-318221768,1006538547,-1572147832,1807547820,1832391048,-1038148214,901828273,-960629187,-536295177,-1899616321,-1063775430,747387389,1431222469,644887436,-931349221,-623529987,1545665602,-599365262,1211750316,327734581,1785094048,-479374317,-1723991928,166662799,-1260027229,-897466444,-1008175031,-703446445,57632551,1279224598,-1287666001,1253572816,-1134035315,196250126,961612038,331546223,-2019737649,-270667339,-641333210,-678802938,-716215916,-602861517,-204896607,156701358,1372223609,-1043255024,-764978483,-895685961,-341230479,-397649827,-1660792566,-1177358799,516165056,1328276831,1165179444,1993114697,-99381634,508282898,-1149668671,186559571,865672896,-1840428304,-1339736622,-1538072144,1610892474,614619786,-237891362,756115669,-2005357180,-1776264651,-1495322864,-1143896339,-1070389583,-995269461,599983531,139502403,-1573971814,-531277020,1539242279,1879701447,-229121505,-1437747389,45126386,-752388863,1864846583,-133586755,380883915,1479074614,-1043132430,1559247685,-2083751623,1517829117,-1512006141,-1043114803,310276909,221113830,850060818,874943869,341706116,-1886897364,-1003847295,-470499327,1714641212,84772713,-483670689,-943572320,-2112029834,1919725342,2011282851,1444355263,491095551,2092164077,-410656523,1386238868,1858688726,172042923,473406022,-2037856897,-89632827,1558977519,-473082973,-1311974287,254257531,-658530658,-1994140912,786427156,1182354216,-413182275,1371462078,-1673651918,2105816546,-1366372037,461530988,538574444,-260074193,-781716184,-792043732,388434267,-2046220277,-1429296950,295181121,-313796554,4192905,778345055,-949599983,-316851508,1959841590,1659624990,974886348,-1877702956,1917069980,370782870,469139741,536324980,-1877836455,1972674091,573935627,-1408734752,33363364,608149644,-1314664861,2127932468,1109377758,-1768818020,55319663,2138545241,961160785,-1014953556,-1021901017,1195975622,-469769570,845247854,-904864961,-1315985868,-1417569782,-25587920,1487549269,394513803,1880382703,-1707457719,1611833283,-451112040,-1133877633,-384331745,-1386291516,-177717267,313588005,-1538604946,11526320,-215085643,-1880444113,1475747973,-183225333,154848629,-79930787,-1708525387,-1973552832,-279141832,-1241214560,1272225652,627862153,119422702,-1891913952,337963153,1773898908,1126764128,781797924,-829661870,-1374905422,-203981891,987702562,-1621433460,-5686913,617893927,1132213409,-731981387,-1417409008,-126168495,-258469557,291220862,352107020,-1643424082,243235456,-808497550,710139313,-3475811,-200712213,-674951941,-1424741196,1337045478,-19665348,1271506210,329884148,-326431919,901328309,-1661737331,1355688440,362294139,-132550916,2097226732,1905874100,-1046344271,-867200231,-913239882,2129201058,-2050830099,1285301550,-1324226604,-1058839977,-269949593,-120260386,-709053995,-1763501847,-1131921337,-623904866,1376560716,-1609360603,102959172,-2049987072,-1521273559,-1417903965,903205977,-1163991173,2097720488,1893198284,942904791,-804766223,74688157,-1071439919,-380656256,-1149411222,-539851866,-2074776063,-890116369,967905446,466906674,1484462131,-623407549,-497768239,-461177465,-2093494281,1050367936,-1710782250,1611615486,-728931939,2025499121,1014236047,-348976351,1075462857,518085717,522843431,1319269600,-967249031,849690744,-52407181,-64794974,-616766097,1452387559,-1161307209,-611846930,1371897582,-1550834716,67276608,-245353824,-442125457,1224965530,-384004348,-1835510732,750705425,-625973463,426954805,868839982,32055009,1527528847,593505795,1650794962,1418804124,-1279219120,-2121341135,692928507,-875011291,-39023232,-162879460,1492429788,-1881176029,68962358,1934152469,-918828196,1113315769,-1467931468,-1360988456,1997502391,1843585673,1219881208,2049481488,-392009221,760854302,526112810,-1948572138,1590805256,-1427766137,-2120944248,-671278716,1362226070,-761410575,467466413,106702248,-691436941,-591767785,1283462469,175968819,750955053,365826245,-306981858,-1891730151,-1565270364,-989199755,-1945681132,-743851419,1247219425,623755701,1877003504,-682904368,1842927326,-1148890360,-359747544,-412506,1200568482,1698099508,761061858,267268748,1426420555,471334061,825486069,-267157946,1923819268,1182799877,-495980969,301379348,1424961024,691735187,-1851053359,807959318,-2097541291,-288352104,1653937698,1105207528,853176476,-1639474915,-431586838,-849545419,-1234640905,-1179588591,835479962,-1153299084,536610233,886526916,-671993426,-1947987369,699466833,802996827,-556858374,-1364301360,-2064618929,-518620741,867413364,703958813,-1951812612,1172383029,-334353617,1515269181,-341782727,-577816545,1721338971,2049106138,-1203055594,-423104490,-1701006497,-554399344,1227753769,-540137833,-723450952,1157149568,-827141984,226178500,-2023798937,-517290866,314355502,1854969566,1707035604,-1146979950,1739798274,-1534511305,1461936026,-640740098,949870352,2102448458,-1187010149,-941065283,1116889678,-1026119656,-1180202137,634457620,1929960560,-1245375642,1047789422,-1547529485,-1434342921,1504407697,121667460,-1143900711,-1259087901,748276963,670347673,64762627,-493076489,20686271,-296007095,1099154275,1505535848,-1795700907,1537919455,-292608090,1577159363,-481190350,-1830001313,-251820787,2028142566,1320957023,341495644,1842250113,267072719,756102094,1662128706,-1648297627,-692055186,-871454015,347680724,-79294370); +/*FRC*/Random.twister.import_mti(334); void (makeScript(14)); +/*FRC*/count=382; tryItOut("return \"\\u208C\";"); +/*FRC*/Random.twister.import_mti(363); void (makeScript(14)); +/*FRC*/count=383; tryItOut("\"use strict\"; testMathyFunction(mathy1, [-1/0, Math.PI, 0x080000000, 1, -Number.MAX_VALUE, Number.MIN_VALUE, -0x100000000, 0x080000001, -0x080000001, -Number.MIN_VALUE, 0x100000000, Number.MAX_VALUE, 0x100000001, 0, -0x07fffffff, -0x080000000, 0/0, 0x100000001, 0x07fffffff, -0, 42, 1/0, -0x0ffffffff, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(395); void (makeScript(14)); +/*FRC*/count=384; tryItOut("\"use strict\"; print(x);function 19(x, eval = function ()\"use asm\"; var NaN = stdlib.NaN;\n var Infinity = stdlib.Infinity;\n var Uint8ArrayView = new stdlib.Uint8Array(heap);\n var Uint32ArrayView = new stdlib.Uint32Array(heap);\n var Int8ArrayView = new stdlib.Int8Array(heap);\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n (Uint8ArrayView[((i1)-(!(0x575f84e5))) >> 0]) = ((i1));\n (Uint32ArrayView[((i1)) >> 2]) = ((0xe4f93fbe)+(!(length))+(i0));\n (Uint8ArrayView[1]) = (((2097153.0) >= (-1152921504606847000.0))-((0x2d741087) != (0x24eff7bd)));\n i0 = (i1);\n i1 = (i0);\n return +(((i0) ? (3.0) : (NaN)));\n i1 = ((0x7fffffff) >= (~~(288230376151711740.0)));\n {\n i0 = ((0x8c4917b3) < (0xa6467905));\n }\n i1 = (i0);\n i1 = ((Infinity) >= (+(0.0/0.0)));\n {\n {\n (Int8ArrayView[((i0)-(i0)+((-262145.0) < (8.0))) >> 0]) = ((i0)-(i0)-((1.0) > ((1.0) + (+(-1.0/0.0)))));\n }\n }\n {\n (Float64ArrayView[((i1)*-0xc224) >> 3]) = ((1.0));\n }\n i0 = ((i0) ? (i0) : (i1));\n return +((65.0));\n }\n return f;.prototype)\"use asm\"; var Uint16ArrayView = new stdlib.Uint16Array(heap);\n var Int16ArrayView = new stdlib.Int16Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var i2 = 0;\n d1 = (-((-18014398509481984.0)));\n (Uint16ArrayView[4096]) = ((i2)+(i2)+(i0));\n (Int16ArrayView[1]) = (((0x50aa7cdc)));\n d1 = ((((d1) + (+(0xe61ba234)))) % ((d1)));\n {\n i2 = (i0);\n }\n i0 = ((((i0)+((i0) ? (i2) : (i2)))>>>((i2))) < (((0xffffffff)+(i2))>>>(-0xb752b*(!(i2)))));\n return (((i0)))|0;\n }\n return f;print(x);"); +/*FRC*/Random.twister.import_mta(-260518808,683843753,1971153964,358785460,-1725399075,900824394,453830067,944562444,-1581032685,1207844087,-1002620066,1797520287,-1365570448,1233871212,1114804557,-935025635,127916326,97940124,1759686973,-518429258,-1398369683,241087430,-2002551262,802589422,1843258619,-34404627,422479435,489125407,-1229156819,-810637153,1904027360,885563834,1814322986,1621922082,-1518119600,-872410015,-134527094,1392121644,-270930294,1550706458,-105164898,1731207945,-1696316503,-236417695,170272900,-1289104541,-2021920285,1451952882,-624775340,182615276,-1145473371,459485036,-486421221,1718400507,-996878801,1886142025,-706329052,-1473273213,278042530,-18037513,1127318163,680767949,-593174743,-633377238,166403434,-238728090,642900497,-2121793485,1574394060,791125462,-1424293490,-1864066206,1739909219,116398392,-1260632005,438369739,-759575501,-993604833,144123818,-1178647615,-1794302472,393251462,-1838803725,1144404349,1332116780,-1578661485,1465588041,1792297467,-1832871211,34170125,1725848868,-850246624,433246303,-1117913600,644215683,1887820603,-2126641936,-933465359,-1977790146,733302565,-150384593,-229269359,-1882344971,-1303920410,311080015,-1045847747,1325009802,-1908604037,946629345,-371810021,-552610012,694856635,-273986903,936919173,-1718743061,-1750407486,-1997042132,-726418475,2108012016,-945203407,-519871161,-1897661794,-85533622,2094623503,1412521691,-953777732,163171994,-139285562,-1024092199,990761599,1090141172,1362036969,-1311737200,-348807382,433627312,1415023612,1868087542,-1440821725,-305049418,-1593469855,-468389886,424408155,-1853503734,-2043534077,1112767192,319145704,-1698601837,1550809735,423676575,-4158145,1833352791,1051074958,135965983,-304607628,1236895360,1155997661,-162608760,-14011671,-412630417,532850712,-1281407426,1220196578,507382540,679874131,-738926650,841132425,-1838516780,-1798229839,1555322649,-1314792350,-1140572293,1018380630,-708561272,-1589579028,1639814918,2011213638,-374613689,543559379,-1492452079,-145032982,1045370895,-1178265697,-1255403283,1398340115,402089344,1312788829,654575666,104459033,1933255931,-1722870801,-706079827,-1890706956,1494826369,-748854369,-314328458,1868590640,382301809,-1176683020,-1721177917,379397400,294652892,1758549392,-2023212356,1042012417,418851551,-411177167,428957066,194369456,-453647096,1241244826,-697946167,-1853780362,-412235536,1089796250,-1550708091,-1140683697,-1213392936,-284897834,-1524124789,-1832135247,1007075203,322486224,1763128617,2009880658,1814948625,-661175126,-1172416217,1088669239,-967199219,-797897555,-952895346,-1254355386,358152883,-327399218,-1599967921,1442313778,-871972055,1037836775,-1156287786,-1475478909,1356730981,-1050055892,-1033132321,6014128,-20217213,-2146410014,-1845442264,925425926,-1497112138,-347970702,1859712853,350991220,1594583267,-1423066933,-1970469825,300797700,1701111866,405606186,61606609,-267617632,1857510401,1070565168,677151580,8780450,-99348958,775368813,-2097773704,-706445103,597805697,-846482141,-757847819,-1602145531,-604586052,-1989870214,675876867,1418557206,1193496410,-1414166125,-1168878300,-1951254641,235510381,370139741,-362800493,-2139024831,2045452284,641170361,670796140,-854884509,-1842863718,-1440071089,-1604908623,949940837,-322402688,777757051,-123071107,1457226119,-1143706233,-1528769484,31790353,-2072635479,-1897766430,-1562870581,1524528921,-1062855563,1159699697,2013131184,-1733254482,-1639587658,-807521170,886401536,-1046766966,1856436730,1499773663,889161898,1529591988,-873455518,-1106659251,1041862206,-1735227099,1726879687,1207981941,-1263753831,-779663981,355177867,559779279,-1198319374,-326579003,445262079,-1527066637,1819352796,1645677739,11523192,-2114039451,-295322225,1354820147,-895497604,1247022017,43647297,-1912850870,1001850412,1928772645,-299868425,-861360622,-316817002,1594703438,2116725383,-1070301023,840540624,-1170326320,-613262470,1804979741,1937207410,-1876898715,-379927653,-1428342441,-849811937,-573440481,-1952931016,-375807386,49784469,-1091069918,-51545785,-1257032826,670373449,-1604283611,-489358367,-432395999,-1007462597,-714429860,929565851,1698576937,-1330033542,1183830194,-48645024,1661373849,2091128846,-166437435,-1039430880,-42858613,-1620316538,-2051073400,-629333022,2028710051,-1999742850,-941188941,1589539944,-521285301,-682111387,936262451,-2049453147,1321737412,-881054676,-883185539,2090252216,-390378274,-1352483028,1675157705,2068361095,1372895897,-1128110674,675401633,581702436,1963423814,571142924,-321847715,1692968930,1931295624,1087065691,-2119244935,809331417,-497789900,-859437551,-148459926,1403247346,1535597356,483550504,1114444848,697978885,-745107033,1425214104,1718116185,1495321992,-2025682297,-41895827,1632529104,-970636509,463397235,1637330339,-610314879,1648221851,-1188468711,-1268375664,511213194,-1880538241,-1660314116,-1012605064,-203477511,-1892380683,922293392,-1719898207,-1268630798,1372746793,946458955,-630264401,-2014940511,-1259363719,-792030703,79079123,-119351624,227970020,1128406992,627163403,398498301,240048748,-1789780238,-541257958,1233990402,1941788310,1032104344,610953818,-969616128,-1186842521,-1942473355,27847691,-2126995286,-977128426,-752308595,1017399179,1603149794,-2140831036,-1594417691,-631871699,2016755169,-2042602638,1616419434,1145891506,1153147625,1250034473,704642812,-229446463,-41852092,-2061440982,335567887,168561086,-1806254666,1130786837,-1678576030,103786954,-1886793193,-54898731,61597814,1215856580,-647845063,2109618437,1238546711,-1396166840,1583615390,-468860166,2115419478,-1968221970,1927892127,1850388873,-1538188549,-1157596939,539744662,-1918618788,-1609044505,2028335362,198003673,-1624817017,-8533998,439124909,346817315,827718045,-889428443,564275424,1026100422,566643732,9915718,-1784867582,-1810686554,1351963273,505468429,-1851524473,695591330,-1875365722,-597546462,379049623,-709857145,731184136,-531231743,1551017151,-506032671,-342629797,1642277875,232975178,-251285801,-1719816633,1929903936,-1886254884,781459784,1892851811,386570646,1943636666,-1325441076,-1208678184,834216751,-1821322611,1563371931,-2007067863,-1730551078,612979761,1131100855,1133078925,-290845122,136452272,-1682034164,-2007795111,1035904021,-1646576786,-1660533372,-2071592125,-1511682380,-1211383926,-1267359019,-410208362,1506500588,1437586549,-1466055659,1443872126,-1651989551,374565337,1231217128,-219470517,801676569,-907565231,1346269246,287184,1603336717,-865197075,-671962306,793402693,933522206,-1130836168,-1426852044,742577930,1344217503,-2022443494,-435162892,-366293967,-1357058065,1814624001,386528118,-442886429,1192451336,370930034,-131311051,-271789510,677373220,-288784490,613211744,-853305246,-2056435360,-624292239,1366874197,162517947,-1473479339,1941401398,-338301701,-1466619181,1773677095,-1147672768,-521609576,-356469019,2025340538,-1456270965,-1822471614,2134971877,1553260609,-1606704694,-2087103993,-1561863372,-1832798461,467961597); +/*FRC*/Random.twister.import_mti(588); void (makeScript(14)); +/*FRC*/count=385; tryItOut("v0 = Object.prototype.isPrototypeOf.call(g0, t0);"); +/*FRC*/Random.twister.import_mti(603); void (makeScript(14)); +/*FRC*/count=386; tryItOut("\"use strict\"; Array.prototype.sort.apply(a2, [m1]);"); +/*FRC*/Random.twister.import_mta(-1239331060,1802112143,-1233963660,-1109573488,2020912513,-511067584,1043104650,1698292491,-1642133178,1359193639,-1403911349,-1763482303,1425594991,1516612685,1911350464,-1259781383,1363731388,-151080083,744413171,-1925780007,1857358310,-674812234,51924975,-913433093,-19792351,1390246269,1780200381,-484926183,955951027,1663070723,2079587710,-309495276,1382782474,-1410809167,1265542527,1703271759,-426489623,-1427805511,-1382929163,-821917130,1705258670,-1568438885,2021693902,-244240720,-783405753,-488859291,-1322555178,-1433983733,-241263601,1411291548,1225208165,1349157098,-408395322,-134167528,-1000378640,1026800367,-1018053646,-585411293,2042879422,-1323482476,-17023313,-1965132077,1232461135,-2101257291,-2120180140,1176007842,-1738253107,-271381300,-766379267,-962253238,1960184378,-1252205812,-2095215016,596740391,240036119,-933139673,2100006434,605227455,-1046742131,238890005,20596330,-1178319782,155271328,-634233390,215718972,-425369484,-1502700132,71188483,-1687522740,-1466050320,545688538,1516767975,-501960491,-913202840,-382590330,-637687487,-2137476958,215749000,1612331013,-51899050,70230637,-1594305165,-745754467,-1566267801,-677981752,-1020518594,622217623,-451584967,541577998,-812644747,-1252518912,-1525653934,1573114394,1790082872,1375334604,1356317749,-1039887192,-1272005411,-1686228057,-727707974,1723314523,2112103267,1928925274,654508564,1929777751,1526477120,-1434800284,-788030831,1421240646,-65062952,-1492590020,-849850929,1577989021,-1397072807,1985569089,-696586854,1737766293,386630568,-999779931,-2096113962,1288758453,2076515525,1434692226,1337826340,2035303191,-2090689792,-2065266906,626494044,287178392,-569193253,-1943813558,-1070936117,-1095592941,-66772582,-1611502848,2018270835,-1525366746,68247510,1203981500,-2106486509,-334617048,849453459,277908632,-1258542489,1151330136,-1395608482,1688966925,1126644102,-10724953,-1631457138,200701150,-2105548975,112182280,-313104302,765673082,-457196140,1003524861,-1522183346,-1303717084,-1777251098,-2047976768,-1676787036,1019932219,-603383298,-1856166604,606498567,646744683,174511510,-1175589342,-1545430890,-1059783968,327933675,1519176993,-641912108,462995481,-2056914799,-109803495,-1833985610,1565877246,-253468709,-609978126,736884858,684467145,-1308623920,1737875237,-911874139,-553589335,1661086417,1834099190,437770862,997697549,-1738340221,-923838818,-512126022,2090734008,-1153542796,-1656565746,-1289529504,2036222860,1414833500,1994213901,-250099190,-1679979037,747050832,-1901299359,1455827791,-492972743,201663701,-1705362938,-706033357,-415021133,-1412407289,-675832281,-143325710,264378386,555014157,-1763375605,-1311229408,1542269151,-1516280958,2060523995,-1982757008,-188440415,-148532702,-1225358436,1700705127,-693985958,2111109437,-1570365681,-310606694,-1006910399,1214053007,-566028857,-1235910275,-1410434405,172544942,1865872790,-483571511,-712292540,-1137145643,-1274085079,1598088401,1707548702,-610381832,1693860432,-1393988279,1022917249,-1384350927,491712469,-1998439061,943261677,-1128959335,-1502681128,2080854024,-2134794624,-770753630,-657658486,338500599,-1933890574,967056431,1779402217,1751634790,-461667568,-1079757812,1460164640,1782454536,244338170,-1209520542,1187243819,-2141787832,1200001624,-1211835116,-2009262912,1027204780,498498768,1454603489,-1797962672,-1389612947,779051015,-999506263,-336263267,-97967548,1899681218,-2035486587,535687527,-842814758,1092607054,1725258845,-475074214,697077221,-1386143441,-1184796276,-52779999,-1946467898,566644786,1566973621,-141484049,-1245216873,-1340624421,1595681712,1255097211,418984080,174117723,155109018,278240753,-1890128200,681947638,-1889897141,-692037091,2073003543,-1561113509,1314998693,756445478,-729904047,-1067796217,-597334479,1473623562,-1280962779,-120857276,-38781737,-995434340,934127557,643376382,-1383986289,305355073,577553192,-1918050734,2074652467,274534110,-1640282229,515422765,-501300038,-1218846638,1713144592,782457153,-1554635114,-1177328060,-742116593,355151450,1098252172,1271156773,751892610,478729825,-290665256,-9875833,779957738,2080296340,644198811,-1183208873,-32241847,1474378265,437758798,-1108458192,1819111733,453346907,-1289789275,-1089009333,1804759376,-1885390712,-59958953,-1858359189,2056195982,2083222092,1609514144,1800300002,-289598266,1892861694,786533230,-1455228770,2012513018,-1857930127,-1204124743,-761532542,1358311778,345400848,397973788,980227986,-1173055155,-1675694714,-880307449,-67083840,388006489,-172309486,-1800381172,-684654401,-1950071072,796678932,473013155,1561872151,232834081,593668649,-355569151,1308066430,189736957,68151042,-1730452422,774307915,1880556268,2045926311,-256880046,-181578736,-2127481467,1655510136,-1982612111,682985720,-1986878568,1495742933,1868784365,-1006786584,-1387256038,-338889704,682221664,1465513669,-1853609129,47203693,-1917515819,-997905077,1611342405,232099724,-1830925337,278403441,-106804798,251761532,1203329409,1885091459,-2009877925,-1895348502,1252794705,-1210281992,-1166245365,-1489025270,474252608,1373718137,-399189440,1675338584,-23288953,-332111240,-108981377,-1176152790,-189926233,853322014,-791235977,-121102633,-1770432930,-751230933,-1418604730,1657139352,1427510826,-1981594094,1035443852,50729323,1407495603,1719574238,-1500589969,1609731172,422805156,1362441681,-687588545,-394445776,-1601985435,-188353176,2028397635,256825201,1696443213,462864412,-663602059,-13673424,717445373,-1206553628,605213733,-6131686,-783309037,1262403860,-2129029419,-1156027243,1920788762,-1159406570,1194481990,-1176315154,1175646536,-768952301,199336738,377992967,-1999044287,318702169,1169714654,1171711150,-152989478,-16989446,-1681561831,1807402245,-1000937106,-342076135,-1293496777,-415679982,1482121544,-1867133118,1204630779,-1123395691,-1036740077,-864288969,-1951488247,-949341827,-1066421119,-1523570626,1079932182,372237629,1478856449,-1344054208,-669424867,1906119173,-1240594616,553839400,-1461257880,1612982776,1109694190,-63247847,-723329393,-1096256030,-1416579963,714776872,709041401,1686821864,-269570039,-297927685,1908641939,-810749399,-1118804119,-2048996901,1175200310,-1032659875,-1473728395,932899489,535869161,-884246253,-618708197,-1498510364,1696902798,1082971154,1670730724,255147311,-1834451363,-2021606924,-1796745281,-1067428626,-1808895310,1315923506,1240248905,1554676090,-1315584567,2141392828,914500021,-2112757422,1128275969,-967586748,2017605313,-1640401053,-1468499980,1562469779,-593447475,-1464787603,896625870,-1122352886,-324362786,-2048567158,-1540616630,1120666753,952346719,-1060295099,-770830007,28313479,-185747652,-2051502524,410477328,761809186,476526482,-1980600748,63883403,762516613,-274191872,1258077444,1504912107,1198708546,1319359934,-162715566,42055421,-2051625268,1037694665,-1211291080,-1845504128,1109708544,456788654,47578987,210688451,-1552895116,-521314881,-1856194345,637598862,-1473817764,174061150,25550072,-989983410,-1019057475,561885204); +/*FRC*/Random.twister.import_mti(47); void (makeScript(14)); +/*FRC*/count=387; tryItOut("/*RXUB*/var r = /(?!${2}\\B|(?=\\d)+?\\\ucb84*|\\0{0,1}?)|\\B*??/yim; var s = \"\"; print(r.exec(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mta(1453928405,-2027456708,-1788267697,422741983,669278073,-1431534121,1059331158,-666991588,2051876140,-1604457874,-834102820,-1368614145,-1176853800,462739529,1773298594,626258848,-1455894892,-886555612,122200585,1501398200,1542755767,-1586049905,1300229232,323820511,1901541860,-827818631,559366946,-306156546,554314310,1692321642,1504042983,-1429705491,564983453,393418360,-2090615272,-48536978,1576939220,-854465592,-365673778,-1235797476,-398307241,1905640299,-1436099393,-516440307,298104239,1469327127,-1947042853,-1852061605,-499319147,848064135,1654219044,-2079801573,-964894713,-988745614,-606738200,1883872128,531742734,523914631,-435027251,172150256,635869385,1146555218,1824909730,1913447988,-1277523930,1844609134,-510603208,588869002,-937207709,414119301,1337490348,-932347586,-176690496,-1658194625,-287528705,418077135,764404847,-432553603,-953853839,1369970404,-874112750,-1394762656,-1919251828,-1297597578,1270109305,1551473087,-1106625645,371456314,-1942171635,-1351869987,-1627394735,269982545,1088029841,-1959042727,616153964,192059717,-948462063,303939656,1275650993,1643888127,-834239712,1227633279,-1907879260,-1176383241,1786227901,-586931437,593174402,1121774558,-75964869,528150190,-1536573453,-1877136393,-1365485435,1128676707,1966455723,-895606963,1912152198,864981790,839345685,2061936432,-533228139,-2072584264,-776660199,1827686083,-1496268887,-766023985,837077270,-815063907,2119298810,1168872483,-1484711623,1508701521,1464663534,-1816587654,-1657572987,-876592835,-1553778500,-619130379,61046149,56240284,1879629874,-1805016925,-1941013865,-1892011908,737300857,653891707,-1119521497,-424475465,-943569375,-1984097524,1145942099,1133458189,940487419,-1920210467,1292251027,621841074,1576540418,-391454899,1127168845,-794191632,-1518547304,1220842078,-521931256,1836764803,-2067782542,1826472621,-1250669700,1724303586,-615609611,194272349,-774116034,536714110,-2025917984,695373953,81655679,1190205683,1373800870,-1619615274,860524722,-590456317,-427862362,-1706253743,-224118478,-534802441,-26547310,928298208,-375785707,-1726763109,-170049023,581335537,-401672203,1954805770,-19888093,-713762988,1868037035,1611299479,1361096651,1136851165,-1122129760,-467643859,1446720694,-1608665666,-145238040,-1606491575,-462855706,-1309010615,-1507168247,-1058785111,260725706,17156629,-1461665193,-742751881,-515695011,1013696476,111484948,1282709356,1428124275,-538995022,-892924143,859483406,512432523,2093032818,1545371126,-1613016937,915777590,1795436798,-25718111,1535390422,1960485754,2143297609,-707655933,-717807435,-787085522,2026180703,1371297989,-399042826,-122554498,985054572,-1130157250,1572511466,528227313,-1965522131,1589721777,-230453414,546297160,739896484,-1096857351,-741397777,-674722110,-1249198449,-294922681,-948042792,210373912,-307704144,-1461452247,378622093,-868166703,861961285,1843173464,-492583210,-505686833,-1316999657,-791394926,797249532,1114498483,759222097,971093851,1072535394,-320049919,1869803414,1717941918,1123272259,697798419,-1953319781,-123972214,-1906669488,-510504029,1690629341,1104282067,1785958956,-249357887,-370661024,798720390,1949690910,707084547,-514186192,297196225,-544220285,1149009910,252092558,1777240254,-138149306,862876472,-280236464,-1857527003,-1035339189,-684696212,-2121827472,1934847669,428202449,-532847587,-1774075362,-2102029998,-76436477,-1059711984,-1481984426,-70645739,-97427009,1628662349,35826372,-300383312,-1395542346,428095836,-286714998,-1583855937,788328229,1820792521,1610384739,2140769929,-55241229,-2025326319,-1199498722,267254280,1446371382,364295956,408566602,-10602619,1009655537,-1377615445,104399958,1205454074,2096927790,1848890852,-629214242,-1243158503,-1869478594,-1616815645,-670281391,2009957699,-859232053,-2120720802,1712925140,1163373141,-1578615559,582546058,886114620,-1640349578,-401009926,308530338,132249296,1577002142,-42184832,-1587992761,-1078078103,-557838378,582507992,-1254015621,-317420012,2035681943,-341416669,-2049872325,176138858,-57268399,1172254496,-1943647488,1046223695,-1990180722,-172194362,1919620056,2125879108,-2110659109,889549793,-909668290,701433557,1714684986,21066331,-59495516,1132604439,-1531900039,-375662063,-255037926,1930663605,182916322,1751067635,-537635538,994465842,-942056121,-1310870825,859755299,1900697839,-1469104256,-309472333,78043676,-1086359436,1830454380,-965213892,-1885954012,-1613456387,-482942430,-113327872,-68525710,1040225654,212416117,-1552762586,-627801434,1693760824,1272850189,1375454706,95711390,2048777465,1282410024,-1735316819,-1409574975,-341965676,-1786897018,1002861307,447608967,1308584697,1289474339,-2075778517,216333641,503411095,-34925328,91909047,1191946513,1216775317,1251562372,2009458498,-155867597,-2102284828,-194375047,1456286299,540061757,2118836832,1597377436,-188711504,-402068504,-1375074927,1138562139,805806650,12247869,1093003690,-157250701,-197535251,1120862016,-1924879260,-815526535,90529399,-1191717720,260300403,-772206025,-2022851627,1595825630,-1885715699,-37563446,46174790,-1710745303,-1994347114,912878137,-2005380191,-911803973,-1261377679,-1559511591,136697780,1863211727,-842935438,1999738367,462272760,-737981333,-968195365,1119447388,330340903,-1504299956,-781840693,-547973699,1717216501,117445583,-1705686945,238510389,1994979244,148048974,910940494,-1122552332,-1047809057,-2041458016,306918976,785046135,-36606659,2055337178,-284852833,-567645014,670205241,-1262177052,-43699762,1188291567,-241302774,216777525,2056575977,570080999,-1718983739,-832412406,1792491222,322877487,837116496,1176027698,1664709508,1359174209,-1906476868,1023552051,-1018276901,1444845737,-958145712,555873268,1646938056,-1281070297,1277597783,-169309652,-295496789,265748368,-866435972,865340683,1811270468,997626068,-2052568717,-509066757,-515101452,-1398821234,-137573827,1665516367,1668524175,-529092697,-1873321596,-1277572382,-1948771095,-618452280,-972640354,-245664420,-1320371903,1611750443,1288268232,1656761641,-1814222005,-2147284994,-2104402965,-1105854987,-1052293310,991270552,1554001187,-611906811,-1210309383,-1691809581,-680299877,-1901408031,1140014035,-928444509,-21756839,1957384977,1738518259,1295400412,-257819732,1243773999,-165235485,1139367486,-7244908,-1843697656,284833370,1899479344,-1345494301,-405046289,981872011,597793020,598737443,-864441885,-1122785708,221296965,-2072524852,1407044906,-1436080504,1243915705,1812535598,-452631794,-1068683437,1424823095,-139226818,-1090352847,-2126989304,1859060179,1019169222,-93318639,625382477,2141844670,-822473694,1919396551,-1613470689,-74506737,1989289202,-1504082978,226549574,47277793,-1397109060,-1675745409,1166897051,638621828,-950878323,-1681242186,-1502980065,780112298,-349504762,1005354357,1811247970,1707224740,1201019460,-1542880244,-698284803,1487121623,-493338729,575284904,-1132685778,-1465767780,73675872,-1656717613,-1783430675,-1765353162,1036683025); +/*FRC*/Random.twister.import_mti(41); void (makeScript(14)); +/*FRC*/count=388; tryItOut("mathy0 = (function(x, y) { return ( + (( + (Math.asin(((( - (( + (x | 0)) | 0)) ? 0 : (Number.MIN_VALUE || 0/0)) >>> 0)) >>> 0)) ? ((((-0x100000000 | 0) < (y | 0)) | 0) >>> ( + (( + (Math.max(Math.sign(x), ((Math.trunc((x | 0)) | 0) >>> 0)) >>> 0)) - ( + Math.atanh((Math.log(-Number.MIN_VALUE) >>> 0)))))) : ( + Math.cosh(Math.atan2(( + (( + Math.atan(y)) >> ( + x))), y))))); }); testMathyFunction(mathy0, [Number.MAX_VALUE, 0x080000000, -0x07fffffff, Number.MIN_VALUE, -1/0, 1/0, 0/0, 0x100000001, -0x0ffffffff, 42, 0x07fffffff, -Number.MAX_VALUE, Math.PI, 0x0ffffffff, -0x100000000, 0x100000000, -0x080000000, -0, 0x100000001, 0, 1, -Number.MIN_VALUE, -0x080000001, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(308); void (makeScript(14)); +/*FRC*/count=389; tryItOut("if((x % 2 == 0)) i1 = new Iterator(this.o0.b2);"); +/*FRC*/Random.twister.import_mti(353); void (makeScript(14)); +/*FRC*/count=390; tryItOut("\"use strict\"; /*iii*/print(txostj);/*hhh*/function txostj(){a0.shift(o2.o2, f0);}"); +/*FRC*/Random.twister.import_mti(420); void (makeScript(14)); +/*FRC*/count=391; tryItOut("testMathyFunction(mathy3, [0x0ffffffff, -0x080000001, 0/0, 0, 0x080000001, -Number.MIN_VALUE, 42, 0x100000001, -Number.MAX_VALUE, -0x0ffffffff, -0, 0x100000000, -0x07fffffff, 1, Math.PI, 0x100000001, -0x080000000, 0x07fffffff, -0x100000000, Number.MAX_VALUE, 1/0, Number.MIN_VALUE, 0x080000000, -1/0]); "); +/*FRC*/Random.twister.import_mti(452); void (makeScript(14)); +/*FRC*/count=392; tryItOut("{{} }"); +/*FRC*/Random.twister.import_mti(485); void (makeScript(14)); +/*FRC*/count=393; tryItOut("print(uneval(i1));"); +/*FRC*/Random.twister.import_mti(494); void (makeScript(14)); +/*FRC*/count=394; tryItOut("v0 = null;"); +/*FRC*/Random.twister.import_mti(505); void (makeScript(14)); +/*FRC*/count=395; tryItOut("\"use strict\"; for (var v of b2) { Array.prototype.reverse.apply(a2, []); }"); +/*FRC*/Random.twister.import_mti(522); void (makeScript(14)); +/*FRC*/count=396; tryItOut("\"use strict\"; function g1.f1(t1) \"use asm\"; var exp = stdlib.Math.exp;\n var NaN = stdlib.NaN;\n var Infinity = stdlib.Infinity;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var d2 = -524288.0;\n var d3 = -17.0;\n d2 = (+exp(((d0))));\n {\n d0 = ((d1) + (d1));\n }\n (Float32ArrayView[((0x2e813361)-(((0xe626b06b) ? (73786976294838210000.0) : (-2.3611832414348226e+21)) < ((NaN) + (d2)))) >> 2]) = ((((d3)) / ((d3))));\n d1 = (d2);\n; (Float64ArrayView[0]) = ((d1));\n d2 = (Infinity);\n return ((((Math.log2(Object.defineProperty(e, \"d\", ({value: -9})))) ? (-0x5f6ed39) : (0x7114d626))-(1)))|0;\n }\n return f;"); +/*FRC*/Random.twister.import_mta(-1673060253,814402394,749679152,1896939025,-1302436030,1396389982,-1888617688,-1481502672,1960462351,754609123,-1614464942,1499013618,-1361117182,2024355833,-1975987331,-1083707253,-1911940474,1339227229,393785511,-1369505149,-1001603999,711206683,350756635,877617595,-1604452364,-1388268191,865754696,395230258,2062149408,-12383064,-72785429,1064005026,-1995954472,-170144395,675322732,1322231639,1489113988,707537659,-1343496002,86078236,1338529019,-806958373,-644559517,-783283915,-202945794,1783694913,637308191,-1428672299,1292512248,-30884373,-1637240539,1119949940,1829480010,-1139546557,-11962859,1355202009,420467985,1472422515,1205990590,301196690,-1425332161,761576,-1317134149,-800342616,-1037457594,-1815882299,1504272753,-770226655,413014383,1357752361,1069250663,-1363625717,299288731,-1394635268,-959609313,697923236,2071289514,634161498,244232071,586358598,-868514193,1224352883,800909847,-201222483,-2122341042,991598818,-1969598654,424086137,-587888015,-121791488,751964234,-1008449971,1938849260,-1938387684,-1153205948,242731827,-1268002326,-102817048,1483435306,734560933,-2029358583,652130229,1550990177,575734667,-581066880,1116944366,277551039,-492036624,746849491,-633391769,1599823256,-213600594,1004928437,-175311453,2057593897,1507681207,2079133255,867133682,1901448143,1560014905,-1403487113,-33242429,590065602,-1175133696,-1680422660,1669657695,991262690,-1635731834,1519474234,643273421,36831306,1222884792,1789862322,937928634,1824518597,-496478532,2136786124,66725077,-945046576,-916519611,577821135,-1086402113,190083574,-1372474038,430528425,128519602,1757440367,1157393978,-2053517628,-1069810066,-462486406,1586029223,672227528,1688383429,-973391934,-1604920224,-290528086,808854234,-689911775,638923869,66971612,2101855960,521415730,1212313110,423683434,1498643328,-1930291227,649371053,-868702037,1507473327,-533483684,-465304801,-147335916,-1194863716,-1715454331,-460788432,-1297549633,1419112732,857233938,551708281,2118764415,863418656,-2062651894,-1708124473,-1679330013,-114730910,573765164,1558485230,1231238191,-1010775306,1191097795,1544611551,1341980647,-1861568076,1744273846,-1006678531,658352302,-452867489,-1651851973,-851175035,495846809,2038074645,1705905991,-299198580,-2072455712,-334688161,1042813702,-602969517,1071648202,-1559805858,469699426,-767212924,901812364,1720762030,1638683122,395218410,-108081244,-1530356864,-1157273328,-1274602830,-2112093033,-2035542425,-1837028108,-972379448,-1607394926,821403833,1342742138,-1507167778,-1771934815,-1622245010,-2105287020,-623549227,-1236205394,1052469141,-1817601205,142783408,1906390357,-2120962611,931425927,946453797,-456276304,2085682938,-2042218714,-565317598,1507723791,-1858100220,1588602667,-1347880192,-374749053,-86686489,1475371095,-434570888,-1684745671,-18813053,-976313173,-977191401,1073447509,-850973241,238718665,1626176608,873687713,1076541861,420290729,-520334974,-1518010996,705924044,450345133,-524889436,-1201685232,-358214100,1763793611,2116304296,-158274349,1504880602,-302680835,-1530154250,356677466,663224595,2012798306,-862807435,-924323085,-1467697450,1792822230,-1793735345,1735290987,-1775097599,-1489192820,-919267388,126406319,-2054593308,-341197685,-1684103462,-1536810259,-2012880836,708512731,1929787353,271455633,-551911454,997385532,-1195324854,-402690829,-2020127050,-852946822,454972578,1981403761,-362603694,-958193850,632980374,1240166673,414231503,-1570157066,-843204128,208539943,1130290370,-684602060,1941877194,1313566318,-1978243119,1689681003,-1455738437,-801767405,-55212992,627915560,-1095726496,-168673459,-20134345,-321438462,150168067,1707226526,2141116700,472861084,-364612238,1873563137,-747580564,-1427824785,-94627587,791784720,-1112199194,1277727252,2066338458,-2038406839,-1056505380,-803091180,716273410,700968044,2118708212,687307076,-446064090,-34326101,232013197,-2025142848,1383263104,-1521308108,1416982537,-807626646,-650545064,1356715463,-409881122,-466075658,-1320212880,1926787727,-872656206,-2138586836,2035278156,-975398483,-1021600873,-1283373146,1531269155,-2140800483,-1824246844,1841020005,1028300726,-901366265,1541041010,-581670968,-1146889450,955406522,1866412825,-1286750352,1349998533,-2078026688,-1064780365,225573190,-1051406787,1838485187,1812256349,-403481111,-1016447342,-588621200,186889202,-1483983088,1528006756,1187825594,-92318253,92839219,-1946945351,-1892103538,-1851204019,-1730452577,-1966938707,-406349529,110892384,-181292637,-538789908,653242240,-1879049909,136283264,2090073904,-1754208381,-1556714210,259011406,1460801052,-1931060696,1754134767,-1743842996,-583173965,2084032341,-107221619,-952416491,-1870253668,117617056,1493306318,407554297,-1649357575,1481259210,-1194978055,-156833244,-1076074913,941775847,-2037139804,474264190,224935201,-752328337,296949448,-428911477,1273264190,1829433929,-484888176,-901344359,-1399500339,1174555259,-1007377260,-191180349,-1729515516,-1570058830,1170202483,1874658646,-1637355837,1483032961,594875696,481609725,-809617539,-1372573216,787085215,-414566147,40818666,-606152795,1086315351,1205992922,1267387564,-35937038,1529148792,1284528234,-550590227,-1485552524,-720104281,900686169,1472516186,-2038624440,-417692792,1318915566,1257574441,1619268542,-1475093206,1166875045,1931571643,1861701655,-1981587438,-580091218,-1610787810,-440073436,-616219055,1007441703,2094230277,-2073905433,-2141760723,-955418079,1230213324,-291457099,1981290236,705536961,-1075402754,1419842347,-524879483,-663104735,1730341973,1323617031,-522930841,-337003371,-1851662762,752433329,2103613493,-1137114146,911087171,370456785,-965623651,-876861909,258889525,271265764,-1730431139,-1234949913,939428241,-1490613531,669400512,909044528,1031572409,1806720494,-1404910781,-1112342300,1688507575,-1107360354,931152817,-388324417,-101546573,-1346606696,1832727163,1512972171,257244555,791030318,1679488886,1396040800,804599552,914859513,-1418556894,1186583641,826723263,-652326992,1265193788,-338096892,-1543063700,-742852168,-1758441781,-1409372960,-2008473525,-357186448,960280359,509843445,1694315854,1045636835,-235860066,1275167730,732948450,104721153,1368066572,-291385104,-2036388663,-715538758,984897394,-770406236,-1816805175,1902852546,-888033168,-980115145,1715214612,-171428661,1957917324,-171453644,1818586209,88909766,-1041170070,-1570650420,-1762424766,549533918,-144206535,-414025280,-1810178242,417836745,2068850627,1685481239,-1747968077,-1386522753,1017291054,-488591161,-1772871296,-1492260390,173477824,-1357872493,-689386664,5744715,-1085064333,1580394333,635960337,1442388295,1464760446,537674330,-1823917070,-712745881,-170147894,722893032,490839399,-1609274272,-832820342,16921615,1964473185,-1526550583,-462260315,1709320774,1088248357,-177077246,1066462740,-492846305,2140261573,-1640176388,313146205,1798214022,-1915795164,354285797,-203611298,421630548,-781957108,699295226,1324085672,1277037550,403958368); +/*FRC*/Random.twister.import_mti(210); void (makeScript(14)); +/*FRC*/count=397; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return ( + (Math.sqrt((Math.imul((Math.fround(( - Math.fround(Math.tan(0x0ffffffff)))) | 0), Math.cbrt(0x07fffffff)) | 0)) | 0)); }); testMathyFunction(mathy3, [1, 0, 42, Math.PI, -Number.MAX_VALUE, Number.MIN_VALUE, 0x080000000, 0x080000001, -0x07fffffff, -Number.MIN_VALUE, -0x0ffffffff, 0x100000001, -0x080000000, -1/0, 1/0, -0, -0x080000001, Number.MAX_VALUE, 0/0, 0x07fffffff, 0x0ffffffff, -0x100000000, 0x100000001, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(321); void (makeScript(14)); +/*FRC*/count=398; tryItOut("\"use strict\"; this.a0.push(o2, t2, o2.t1);"); +/*FRC*/Random.twister.import_mti(351); void (makeScript(14)); +/*FRC*/count=399; tryItOut("/*infloop*/do a2 = []; while(/*UUV2*/(\u3056.add = \u3056.values));"); +/*FRC*/Random.twister.import_mti(424); void (makeScript(14)); +/*FRC*/count=400; tryItOut("mathy5 = (function(x, y) { return (Math.exp(Math.fround(mathy1(Math.fround(( + Math.fround(x))), 0))) - ( + (( + ( + Math.pow(0x100000001, ((Math.fround(Math.pow((Math.atan2(y, x) | 0), y)) ^ ( + Math.fround(mathy4(((Math.sin(( + -1/0)) | 0) >>> 0), Math.fround(1/0))))) | 0)))) >= ( + Math.hypot((Math.fround(( - Math.fround(0x0ffffffff))) | 0), (Math.round((x >>> 0)) | 0)))))); }); testMathyFunction(mathy5, [-0x07fffffff, 0x07fffffff, 42, -1/0, Number.MIN_VALUE, -0x0ffffffff, 1, 0x100000001, 0x100000000, 0/0, -Number.MAX_VALUE, 0x080000001, 0x100000001, 1/0, 0x0ffffffff, 0x080000000, -Number.MIN_VALUE, -0, -0x100000000, Math.PI, 0, -0x080000001, -0x080000000, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mta(-907166752,-1903363449,725756538,-18306426,1862371663,-226014153,-1942241292,-980796584,9075813,134027433,272592841,-2145425534,1181369917,-1822102993,-1851177338,-874293397,-1771293154,180091328,1394231597,-2028396102,899763935,1414002759,329855390,388779610,-1767186015,1099425757,-1770548512,1698614106,-2023255379,310045198,-529936242,1017530507,1702289601,1214578632,-1291362731,-11966291,-1649560726,-241523500,158646704,-739874581,1575150626,1065633271,1563813256,1072819972,802461547,2137794451,344791217,-990914482,-475844263,-1182700261,-16292615,1860213412,-1535879474,-99038168,1054202190,1002400695,-1677658503,-994393438,177677603,1465119589,12194851,-967418536,598676088,-1664125103,-1949454523,-1186179059,1865268002,1916008476,1684697196,-1283822155,-644858880,1470028762,-243972746,-1259110850,507095931,1564392683,-1158309497,-607977799,1649999384,-773708801,1956037364,1404716922,1022701463,-1518677629,-2033683936,960589958,-1451729178,856736512,-66478803,-1855688188,-240581835,-1754756797,1881362546,2007768931,1641411256,1318386654,-1671862031,-1270061644,-338813480,-731299108,716398178,1557664250,427945804,41416561,472581058,762591454,119019707,-648148377,1919347441,-1542354713,919342178,-724475423,991264083,1379838508,-2112321387,64568601,1043433913,-1752383992,-1979071622,-460008694,1246237437,-332998907,2019485111,-267099680,-548763327,-179300274,-156049680,-1024146811,-417444926,1530339246,723837783,443661047,2145985707,-60642211,515972190,1227474847,864495767,1701579185,-857605694,288267144,-838956228,-1368181249,-1289851447,107274931,-1796945902,110504072,-1439230122,-394714350,1495353360,1817449928,-1833831230,710645383,1521019043,1862014995,2072283602,1902811476,160439137,1557726271,1285359160,-727233196,68662302,-576807235,-1214974014,2110475127,-407368272,1524963866,-1402018019,1255985217,-2125014652,-975305574,-2024809167,2128039244,-1651316572,2005494097,-457703718,-526519458,-1657967177,-18983735,493051101,-1093927511,1659599699,1727090706,1136698383,2040552753,1077284127,-1275474991,-1205441033,448054034,733440699,1432840365,1642596584,-1096718489,-1210685527,768157574,-1659835856,107466000,-54121074,-138302440,1826850799,38530676,1349405087,-2134257772,710203041,-500693360,559027066,1578515852,-1038582121,-84760276,-168700022,673034231,1778383719,-1349366716,215527747,-766907418,1951828528,-1560575186,1087272605,917251342,-674446211,-853849487,696490162,1348535342,-1302258328,2042030387,-1885761237,1679443155,184996495,466894575,-1054098896,1778631984,176859187,875104536,886198050,484950670,-2117377408,-1588439536,-1639973232,-755636139,86182351,1946985829,-313748142,-1836425963,-1530548358,1670087622,35924930,-1521816985,-1865589702,-662889919,-1339692309,-514215574,606089958,1114126434,-1476452157,1838706794,-1630083954,1100145496,-1378759630,1048323893,215021243,-428350130,-243723323,646545118,-818462612,-814756436,-1533845198,-1659392711,-474152519,30227114,1255624417,-1330776014,14938576,-1919659555,330658942,-1149300208,-1769340619,-1459483916,860740941,-990180792,-777951423,1494163304,-1369794749,1270611109,-1472382513,1992261267,1454073597,1493793125,868841607,-629750869,-997003478,-814514974,-788514756,1089867500,-45176813,-1556574704,-759672017,-176829829,-1661513148,-2077667682,1274986239,461521872,-147269275,2024612678,280073914,418496608,-286035184,19493307,-2092998092,-915682653,-957701566,767658348,-1012658829,1509411436,418258663,-2099201924,1255119845,-617862630,224915763,452627935,452829505,-2127503196,167173443,862154540,1372372718,2141767560,1378006640,-1650097319,152584962,408044717,1662483828,395725698,928370120,-218786787,80499048,-882759725,1031321286,637418617,-1161093356,1356350824,-381318996,-1587675864,851258050,-368546273,1451329176,718438287,-1465332750,-1636663336,-702538215,-1380270345,868514076,2080081751,-1725098976,-840704421,107090069,-782462267,-1368883543,376967678,1761592641,1496906924,1121331663,-1618105037,-644053756,1585642696,898512697,-2006854498,-1645644635,-1792976367,-444300474,1422182125,-405722083,1556808484,415346024,684681166,1803230513,-2070076238,-1247228263,89678925,-1027392357,-1961415814,-613904966,1488519811,-1750010347,1027372401,-926396779,-430822177,-204218418,-429123565,-1257090531,1784846630,-1743829180,-1538069430,272797509,-992055699,-19791828,2007112027,-701653822,-959791933,335731555,1378540577,-1564569787,2004456680,885482465,1193776852,-1888704344,-832914825,1613306035,1500290717,-2138963407,-262424499,929719965,75021736,1378441791,1178935307,1589086073,-1272847023,-316485740,-861651506,-257806668,-1686299715,-152928343,-195608711,21504609,138231443,-1850270797,-1864158741,1923749563,397472509,-995267196,-1787308877,-2088758074,1685491614,2106894559,-1848732910,382711528,1747411981,-1627351757,1518083697,428947263,-1781267852,1624265853,-154065759,-206325332,-1760341490,-292594900,301666372,-847545752,-535673130,1528827343,-591819603,1104907958,624152137,-949927342,-662599205,-1436151869,-1582596562,1524847898,1976328509,-1823172540,695883486,300707662,171941211,1903540274,-1484566859,399356601,-846865238,561468121,-956560964,1609485640,-294513930,-519627567,-1014290035,-537281779,845554205,-1321007886,1795383351,2028278339,509014591,-441974429,1251374001,227971693,-719478447,-1724751971,1507360706,-420223483,921184158,-413188484,-161547404,-2099368664,1596061888,1569027488,1127817555,-795042221,1472944248,876896548,378099958,-346751905,-189948995,433001054,-333471931,-985350410,-590259975,482799317,-2003402534,1798156554,-1588645382,2127256281,762823819,-2018474963,-1504771919,-555837484,1778883939,-1270314364,-600812720,184182661,685640991,1572877992,-246758947,1079684508,-1881556914,-1414728600,-474928420,1643126551,2145235503,277100669,-886479224,1807705980,-2031131,-2061472310,-525611918,1252022525,959145098,252402656,1824002355,344994986,2037070023,1220550563,-362446438,1215635698,-163017743,200577498,1899127355,1349529542,523292053,100666080,2017268491,-546543981,-1933256092,-1286702589,-1881669907,194767075,936148759,1786721401,-936053969,-1251998113,1044949882,-1038786026,163291689,1254907963,509577626,573031590,2088357257,-286588949,-960866686,1457533171,422032814,713161774,-744070858,1315437511,807106849,-890179926,129066494,1638644654,-121088099,1019807131,-1517739271,-407383704,-423682393,-547675031,840865652,1594057053,-909702155,-1894923694,101750293,1565655358,997798316,471038796,-866723751,-184956769,12575230,-668741202,-1012927416,60463689,773671129,-1098488274,-175988117,1566595860,337359601,640081089,1296732444,-1083762270,2071014145,-474795657,1814127681,-1495570142,1229642656,1613144183,-1449551719,-505471154,-1391856620,1660158587,1619992517,9599586,-53629520,909227362,-2138760482,1820671412,1267272681,-1648591387,1557284463,-328447381,-1442499887,1356325263,-266168011,-893171213,821298835); +/*FRC*/Random.twister.import_mti(39); void (makeScript(14)); +/*FRC*/count=401; tryItOut(";"); +/*FRC*/Random.twister.import_mti(45); void (makeScript(14)); +/*FRC*/count=402; tryItOut("mathy2 = (function(x, y) { return Math.fround(( ! Math.fround((Math.fround((mathy0(( + Math.log10(Math.fround(Math.fround(Math.sinh((y || y)))))), ( + x)) < (Math.acos((mathy1(Math.fround(42), (0x0ffffffff >>> 0)) >>> 0)) | 0))) - ((((((Math.sqrt(((Math.atan2(((Math.tan((x | 0)) | 0) >>> 0), x) >>> 0) >>> 0)) >>> 0) >>> 0) == (mathy1(( + (((1/0 >>> 0) != (x >>> 0)) >>> 0)), Math.imul(Math.tanh(Math.fround(y)), Math.atan(y))) >>> 0)) >>> 0) | 0) > ( + (((Math.fround(( + y)) >>> 0) / ( ! x)) >>> 0))))))); }); testMathyFunction(mathy2, [0, 42, 0/0, -0x0ffffffff, 0x100000001, Number.MIN_VALUE, -1/0, -Number.MIN_VALUE, 1/0, 0x100000000, Number.MAX_VALUE, 0x100000001, 0x07fffffff, 0x080000000, -0, -0x080000001, 1, -Number.MAX_VALUE, -0x080000000, -0x07fffffff, 0x0ffffffff, -0x100000000, Math.PI, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(383); void (makeScript(14)); +/*FRC*/count=403; tryItOut("this.e1.add(f1);v0 = evalcx(\"!(x( \\\"\\\" ))\", g1);"); +/*FRC*/Random.twister.import_mti(468); void (makeScript(14)); +/*FRC*/count=404; tryItOut("\"use strict\"; o2.o0.v0 = (o2.g2 instanceof s2);\"\\u5BC9\";t2.set(t1, 18);"); +/*FRC*/Random.twister.import_mti(551); void (makeScript(14)); +/*FRC*/count=405; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(560); void (makeScript(14)); +/*FRC*/count=406; tryItOut("\"use strict\"; v1 = (b2 instanceof p2);"); +/*FRC*/Random.twister.import_mti(575); void (makeScript(14)); +/*FRC*/count=407; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return Math.fround(mathy0((Math.pow(((Math.fround(y) % Math.min(mathy1((Math.sin(x) >>> 0), (-0x07fffffff >>> 0)), (( - (( ! -0x0ffffffff) | 0)) | 0))) >>> 0), Math.log2(Math.hypot(x, (Math.atan(Math.imul(Math.abs(y), x)) >>> 0)))) >>> 0), Math.fround(((( + (mathy2(( + x), (y ? (Math.max(x, (Math.fround(Math.hypot(Math.fround(y), Math.fround(y))) | 0)) | 0) : y)) >>> 0)) << Math.log10(y)) >>> 0)))); }); "); +/*FRC*/Random.twister.import_mta(-1939598915,-148923784,1208861099,-632350823,-412319728,-915310766,-1398822949,-1184590242,-1013276138,294978826,-262927476,-849873572,-1799194528,452852092,-1162069151,360815734,-243525199,1571249117,-819417837,863648004,676747073,-13179034,-4122540,-1827282322,-235504222,-1702047037,-495168442,-401510606,1586333690,-191265341,1378631721,674485369,1078259834,-48253142,2002950043,1478061917,283784807,-608504341,-360211749,2002797870,320770128,1313515193,-383134941,2102477510,833483032,2109826987,864877667,631394843,635060356,-1112862868,-1412840961,1407296977,1480566877,-1744064779,1549176031,1030669344,-1007280257,-2036304044,-949147568,167846538,173111410,1077667442,-1655663060,-1382293681,1647170156,1616604968,-191094620,323119855,1179226041,858182472,-2051178725,-641876374,-1712154990,166583919,-2047750985,892434670,-1612009548,164195663,-1347464417,-1612488679,1665880076,-1964722823,1588099407,-631871859,91801473,-229652106,1868580382,1079197749,-1091779978,1661082733,-1919087426,630513049,-504914371,-529111281,1887511959,-1553963645,1286564396,-1632374093,-1634125101,1284947311,-1032611912,-914077360,1155666846,315846452,-1641243467,-240579192,350782486,-1628397698,-1502105561,-589921764,355401886,442276258,1125697653,743210513,81034499,-1930816634,588796443,415553301,-2097108904,-1133112259,549610259,1317746284,-608495060,-1755452568,91602440,1809667845,861648661,405815965,-1837461966,163228862,1956356566,-329483657,-1642954117,1080808911,-786152925,-1805971394,-757756736,1857086274,-1561146274,1854563692,947495377,-881649695,-1425497155,1510099919,1551620561,320569675,201425538,-1275280741,-1158754176,-1172930462,1139967345,-1077466003,-1715813439,1472032912,-259932283,681622320,-1993565766,-463740662,602408067,147307060,-1449626085,2045624135,-1684743955,-583599821,-1412899953,-639634526,-448697007,707432684,-1320590469,-1798789760,1332797319,-1002857736,-444767863,1408255171,-2004439502,-346618977,1139718210,806277081,1624395948,925247775,23478141,-403995771,1814009266,907965442,-2031828190,-1740011750,1982025765,-1866432818,2146294992,-1005728533,-2031623534,448811685,-1787074677,219344721,1831775825,-2132446999,-1906150297,-1306974148,356402635,-1759950639,1294890710,1933951533,1248143433,-1290127158,1126857351,517990070,875794230,450775986,1688207293,1277710882,-1161768394,-1114576379,1236003382,2058960762,-307205081,-815907085,-1680668583,-563351723,-1274274290,-914509380,1961018488,-178469665,1339487895,-837576251,455543683,1447596139,-1542018757,-1393439579,-2111932192,-733993619,-1067740395,-49961087,-956131819,-1401284965,-372392618,-1937416866,-504937985,734871476,1851332401,-1570491703,-894408919,-388043556,1682202005,-261223344,-703947215,-2024930546,-968096517,-380890389,-1885716525,-1378811609,-1306395041,2063686940,-331289866,-317250047,-1999102306,1214603747,850339462,-850621525,453519070,-1578055353,-1369765819,1358509997,1068403083,1118013182,205099944,38906584,931584123,-1350727681,1444698784,-1453839413,-493626633,2021083943,1618931363,-507425754,1898141537,-445374723,-1613329848,1511113344,1063660133,-702917853,1692328056,-784293657,-549860426,1907039454,858553145,1199645900,-1103957120,1746407399,662853635,-170882510,-840902599,-981322054,835135520,80263660,-252690675,137504411,1899131911,2034929851,-730030206,996559615,1975209932,-1918302230,961124574,-1466755524,-799709875,-1372528123,1650341271,4063533,-603688497,-428683479,-1230142533,-1878558675,-213936824,-1827718349,1841648952,1633126960,-143136163,434859201,621587915,1007960131,-104345447,1483176672,-1665923513,1706963220,157909952,-636150958,-642306074,-201840382,-1034982255,1598616954,-1298065947,-599084031,1292938942,1247076213,352792989,-1156431955,-1262837592,562939080,1257400118,440818964,-2143225407,1872019023,9149598,927741922,1476258041,1897404299,1940126617,2032164765,-360823528,-684879812,1755624602,-548665699,-629428552,-43566946,1393314402,1057872973,623301352,-856160786,2056395825,-220413703,791325611,1391192416,-1871971727,86607437,-1121386859,-802124291,-1646217531,-1835432192,-1525246349,-1486326519,1315305512,-254875754,290788114,-807578351,1750614114,42466834,-6482465,776389548,1251155443,191498260,-1876165897,1307387920,-1031725696,-255494563,241524188,-529949358,2113336999,-1516251719,734316898,1253912464,1716616922,-727589991,990269392,-833117392,-800620974,1648410133,617970511,-953734918,-1081782132,1712742566,1885573033,-1892615578,359853691,-1426946876,-2052050872,-107224725,-704428570,-1009009428,-438837935,-603748238,-1942727464,817344577,458343789,11679727,-158179287,129813386,280752618,1688104345,-102531642,1289209444,-1878736697,-50490537,1369200835,1849675749,550101405,929624841,1151996503,216956085,25069026,-307770119,-1141018301,139305459,-1278942097,-1564773008,-286722987,-245377795,1187140376,1403013335,535873674,812791520,825267837,-1695039055,-2019313967,-1116818067,-1369256898,1083484214,2116667189,336528163,2127401764,1818646462,995880439,-685982531,110964604,-915995722,253709540,-1951124286,-2130899454,-928144206,1628625395,-4699636,649265438,992203989,-1438141685,676616268,145963882,28209557,-1789051982,591092126,269732037,-1833946932,810921345,-827646904,1808204746,1664498949,2138037035,608604093,1368557600,769787830,-930661013,970028519,-2114250272,581524803,319910444,16824760,-1234962927,1516712010,-832555737,-2137410923,-395503653,-1897367939,692464322,370910010,152372899,-1692133749,1277426430,452711311,106910902,-2144238196,-1894295676,-1223349994,-443937717,79007716,-170686976,2042337275,-710766566,-1514743636,473260964,196193170,1028382345,-987918604,531838326,-279316444,-890858852,-1865226028,-910827562,1202654925,-230926827,-1741250035,-1269128236,-667445388,-1573990364,1639617516,765892063,82692025,-541941610,-1762875033,1261677766,-1981557907,-1858292305,1053570350,130526842,-635601128,193842873,-550073703,890028512,-1203838538,1147025934,-212350122,831977967,-620264789,94367014,1858424904,-1002327190,1103718859,1602814451,-442294251,-487125014,620926007,-628492876,813903012,-659752868,-892260304,-2060366097,-121790739,774719689,2116152403,1348940215,-1548552266,2071912986,-479370860,688518196,-411068101,-1216223878,-1577427265,140440659,-1261884918,-1690087077,-1523020140,743181488,811483465,-1843352333,-1869489429,-86755800,7869229,-1820893167,484141043,-1910318202,-567429909,1655124920,-1644343407,661111627,2107984637,582042779,724528974,1943787805,-1712961375,-1300025338,54215548,858002244,1219364746,-1959816450,-1569993342,871984151,-212821169,27061927,789399756,-2117255801,1373009145,343851721,-1182516362,549804014,2067133683,1713542082,1451685179,-1551712449,981242452,1575940638,2019117845,-459139283,-1027071823,-828137339,1434290029,-534048707,196372605,424927378,-1139652785,-1109607304,-915412176,413921838,-899346488,1867407221,741239412,-1557000829,-1141914802); +/*FRC*/Random.twister.import_mti(244); void (makeScript(14)); +/*FRC*/count=408; tryItOut("testMathyFunction(mathy3, [-0x100000000, -Number.MAX_VALUE, 42, 0x07fffffff, -0x0ffffffff, 0/0, 0x080000001, -0x080000001, 0, -0x080000000, 1, -0x07fffffff, Math.PI, -0, 1/0, 0x100000001, 0x100000000, -1/0, Number.MAX_VALUE, 0x0ffffffff, 0x080000000, Number.MIN_VALUE, 0x100000001, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mti(276); void (makeScript(14)); +/*FRC*/count=409; tryItOut("\"use strict\"; m0.set(b2, p2);"); +/*FRC*/Random.twister.import_mti(293); void (makeScript(14)); +/*FRC*/count=410; tryItOut("/*infloop*/for(var a = \"\\uCBEC\"; this; /x/ ) {print(a);v2 = a1.length; }"); +/*FRC*/Random.twister.import_mti(385); void (makeScript(14)); +/*FRC*/count=411; tryItOut(";"); +/*FRC*/Random.twister.import_mti(391); void (makeScript(14)); +/*FRC*/count=412; tryItOut("print(m2);"); +/*FRC*/Random.twister.import_mti(400); void (makeScript(14)); +/*FRC*/count=413; tryItOut("g0.m0.has(h0);"); +/*FRC*/Random.twister.import_mti(416); void (makeScript(14)); +/*FRC*/count=414; tryItOut("mathy5 = (function(x, y) { return (( - Math.fround(Math.max(0x100000001, ( ~ ( + x))))) <= mathy1(Math.exp(Math.fround(( ~ ((0x080000000 ? x : ( + x)) | 0)))), (( ! (Math.max((Math.fround(((Math.fround(y) * (0x100000001 >>> 0)) > (( + (( + x) & ( + y))) >>> 0))) >>> 0), ( - ( ~ x))) >>> 0)) >>> 0))); }); testMathyFunction(mathy5, [0/0, 0x100000001, Number.MAX_VALUE, Number.MIN_VALUE, -0x100000000, 0x080000000, -0x080000001, 0, 1, -Number.MIN_VALUE, Math.PI, -Number.MAX_VALUE, 1/0, -1/0, -0x07fffffff, 0x0ffffffff, 0x080000001, 0x100000001, 42, 0x07fffffff, -0x0ffffffff, -0x080000000, -0, 0x100000000]); "); +/*FRC*/Random.twister.import_mta(-1129781818,1116405894,-767992907,64343969,-343391793,-634024631,-163524629,-461545149,-1320066066,-299286496,-1519368638,-1346969247,-1854049076,140704183,2054651514,-1159235222,-144102690,1208911487,1577178888,-1650955627,1527062058,-2046561812,89995091,-385876458,682838761,547517152,439842940,1334780512,-1809022665,-1263238500,-2113984938,559742431,-752347284,1497664081,-1119246718,582569859,376356698,44272103,-1963985302,1330453296,-309482668,-1301507644,1322948483,702967537,1025491643,124614719,917974207,-1131418500,1581330304,-1295673579,-453549804,-874842155,-110415845,-864543929,-911483219,-1100050404,-1976092644,1823070412,-827021945,-2049592773,-391096437,1874498277,813503860,1470490664,185492289,-1878416551,-117580316,-1298183063,406657073,244004064,1340442283,1558872972,1330540324,-1415185659,-1808555969,1681019920,-1092994179,-240074117,-222326930,540483622,-1315377707,1054585107,-1913457026,1515178751,462338552,1688293667,-1205753475,-1458202838,-1292988765,-928074888,1264282758,1100376090,1742468389,-938604330,-1633476316,1866642357,225795853,-1704470712,-440910361,661036906,-453795548,-312058293,-1099129204,1939141326,2086734112,-1079524341,1992546372,529660118,-874669662,1453515755,111142723,-2050028948,1244856611,-2066629848,-382930457,39979854,95957889,-936014854,-2137213940,995481411,-1082967749,-1719193918,-1818664256,-527167712,-849573711,-1392247158,-1845668312,-695212145,-768475336,1904114733,650469001,1195197517,-940478698,-1235402828,-1875839225,1659308249,-1469121736,611690447,-813968640,-1049994695,1340534905,-48621330,789452691,-1297436399,-29351886,-1035898325,-1052788647,50227635,-1196924892,436665741,-1544965410,257696907,1532859628,2045024065,-1635684952,-2119761358,-1970246040,-422446505,2051158345,-576472475,1179424970,-272875853,352234962,-437966548,-1953472278,1546248973,-185657655,-1980566223,-22185782,1710460487,-2027666456,-939914069,-1062284297,-1771832342,2083711995,-1692177911,-2122857442,-1558296505,-1639922781,395932903,1959839222,346618209,-2030930544,605397722,830572912,-1062708138,592400425,204289909,585637387,-235880113,-682370319,-1601105826,-1758478083,615544073,991020329,-306125061,-1436807343,-770999139,-1115071365,-413530388,-243522256,-1471879630,-1610012909,-665265550,1952057256,2084263001,1542050018,147189822,476625733,1083087621,-1080455480,-2139626954,-7028980,1634936393,-1411766069,885662926,-41341176,1129705365,-659775599,-944906684,1791572352,-431474246,1952740341,-1143641493,-1643998562,674359745,1956615619,-39331402,-1314675985,723264224,-463491906,285325850,352335579,-2103045824,-1572876308,1487565774,-1144004614,190086405,663505114,1831729031,2081263577,-1856118673,-2100265150,90494233,195659768,-1540397654,1882641215,-2050969316,1239663008,-985302877,-1786818408,512966546,-819900097,1583052595,-1296752050,-1921314188,186283926,-864340679,-1465112157,487400337,-1473207976,999707288,65572092,275936910,59464843,136587912,-1040488432,-2038200828,1070085374,-1499739609,-858424387,-1809316555,932044332,-684836912,389895133,296381092,-540182955,1649198329,2044685979,-1962655705,2110847979,-1506329738,-960815501,178894175,1332300458,-777135033,1758528791,1652149077,1431492604,-813315657,895808373,1408104273,-1838284881,1502442173,1871638523,-1179872531,-1423520670,1708902762,-1739516372,1972619458,-1385072400,-929600432,1887166222,1341667588,1067451302,446178682,-1189048209,110257645,-722835880,1336706940,-1958427082,1645310812,-1272021915,-826080287,-1715580366,274582354,492025287,-1059747140,-963315484,-1036997194,-1539459674,166826712,496872255,163684077,-1217570079,-1989957100,1587186667,484222899,-2101205770,1042588833,-2068244463,451501695,59054958,-448204715,-1693427745,-1853830666,107217295,602330328,-1997789978,-753152740,1779651792,-378978392,432279743,-1219594462,1773220064,541456671,-1630713774,-1974723657,-233707812,-406112115,1446689969,-1604231187,-743415099,-126127335,1342290294,-1063086516,1459781338,-1031479218,-413428498,158108188,-1624716540,17677024,-1183089888,804402349,-714780178,411252925,-2010736199,-2073752673,933663413,1211952007,-1966226726,-1226135109,2091346044,-1257007000,62756538,510548500,1294310491,531139832,183050369,-901719736,521274185,-1077812376,1624050115,-844971898,-689621762,-1649280315,1449451622,330235003,-891115141,668340927,1455256639,-703379710,2063741589,-1664308768,1641683684,1976530354,1180703290,-655955026,-1259258632,1637328124,-1845786919,-1350357991,-1906694037,-1011884998,1188759597,-180264624,1987357329,-1624007807,2057911640,-1058512900,-448345563,-1524507879,1509554046,-2129735454,1341346480,716564222,1521960796,-341679086,-956632212,103092289,-1010430851,-891856489,1138209238,590368576,1354216902,114615695,2015725673,-238852159,127905937,1694445421,91667028,-189741760,761720545,-1248519657,-379409761,2131333833,-262795343,-1335760243,-1739654842,2114209005,-184519090,1896039292,-210383193,-1430763241,589282190,2125515988,1419964170,1437593618,-797240731,-255773231,156468458,-582220512,209872922,856699825,-125975593,-237165074,1330311353,232681624,786276124,1180284500,104811509,773105334,209739752,-1080671665,-1836321520,757257475,1018190664,-317924508,-1744439287,1139939677,573659965,2118780445,213699575,-695628171,250299933,1630176688,-743146632,674529010,-613206594,-807608881,-1777899187,-1153590440,-1912910168,-1994179519,-1589072612,378831855,-1001829884,1158584938,-437593735,1464572317,461350675,-1643548923,-1665232622,-1477798545,318168860,1021812389,-1501361951,-1956720513,-811429442,-599758634,-1787498462,768905437,-192999034,-182698408,815245487,935714633,-1898146322,-92429200,-2068186100,-1990032184,1023756621,706348004,-1715165139,202107644,-1733886740,-180073431,446048366,1867096735,1073102059,-1015375939,693123915,-531294773,584237550,-2063623127,-1213911802,-37175217,-395669077,2095551224,-1745783097,1939343411,1660323464,-479308763,-1408511767,-475598689,445453622,-1228571809,1980195543,1250363934,-694549802,-152990986,-106845243,-1147237497,-374223000,-1415608863,1795992169,-1209041135,163141490,-1988538500,1370489994,835442449,1823016693,1828539721,1815467453,-1870356656,-1161502395,871959794,805166970,-117020388,727707317,1459741044,1342147607,-1060067998,1484084854,-616313991,964837853,1548041364,-2121823658,1010127496,1749987283,-1982007783,1712204424,349907956,-110018474,243157125,1562974353,-184513761,299192871,661202285,932661498,420164543,1604413112,-665736220,-717938197,-135847285,1467970753,-1105589011,1223764898,-2034580826,626702629,-1125338529,2127024748,361846586,-1205615163,1373658677,-1813794823,-1370964823,-1176542940,435819361,-1440173056,751158155,293720782,816635739,-1406824362,-974359781,1117177298,605968782,1868876829,-1270106112,1202537455,-1634440866,1041544175,2146962495,1097039396,1523388463,-1800442109,-1811089593,1130489639,451448104,-215891738,-1783779856,-1965318950,-380916486,674796565,406087897); +/*FRC*/Random.twister.import_mti(41); void (makeScript(14)); +/*FRC*/count=415; tryItOut("f2 = /*wrap3*/(function(){ \"use strict\"; var csnygt = String.prototype.toLowerCase(({a2:z2}), /x/g ) = delete c.a; (encodeURI)(); });"); +/*FRC*/Random.twister.import_mti(154); void (makeScript(14)); +/*FRC*/count=416; tryItOut("\"use strict\"; throw StopIteration;a2.sort((function(stdlib, foreign, heap){ \"use asm\"; var imul = stdlib.Math.imul;\n var exp = stdlib.Math.exp;\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n i1 = (0xfc244bbd);\n return ((((0xa92cf*((((0xfc98bba7)+(0x91c81f71)) << ((0x10f2b1a9) % (0x3289815))) >= (imul((0xb878a2ab), ((0xa8135c2b) <= (0x87559e29)))|0))) << ((0x76b53196)-(i1))) % (((0x31213c58)+(!(1))-(0x8712d7e)) << ((i1)-((((0xfdebfe77))>>>((0x36c0636a))) != (((0xdae3e9e7))>>>((0x325817c2))))+(((0x89526d0) > (0x1d979b6d)) ? ((0x1cc2f81) > (0x66b2fe94)) : ((0x3548242e)))))))|0;\nm2.delete((x | ((p={}, (p.z = new RegExp(\"(?!\\\\3)+|\\\\uEF5a[^].{1}|(?!((?=\\\\b)*)\\\\1)+\", \"\"))())))); d0 = (d0);\n {\n d0 = (+(-1.0/0.0));\n }\n d0 = ((17.0) + (1024.0));\n; d0 = ((+exp(((d0)))) + (+(0x0)));\n i1 = (i1);\n {\n i1 = ((i1) ? ((((i1)*-0x37b28)|0) == ((((-0x8000000) < (0xfd0baab))-(i1)-(0xffffffff)) & (((0xbf8c783a) != (0x716c5b0c))))) : ((-7.737125245533627e+25) < (+(1.0/0.0))));\n }\n d0 = (17592186044416.0);\n d0 = (+(0.0/0.0));\n {\n {\n switch ((~~(d0))) {\n case 1:\n return (((-0x4f6e040)))|0;\n break;\n case -3:\n i1 = (!(!((i1) ? (i1) : (1))));\n break;\n default:\n {\n; }\n }\n }\n }\n return (((i1)))|0;\n }\n return f; }), g0, h1, t2);"); +/*FRC*/Random.twister.import_mta(1203919455,1684598191,-1802812432,1646158920,-246004294,-867065242,866464861,-1333028457,-1752162052,-1780719564,-798313423,443716656,-1936421485,-791622523,1557626791,589152464,1064926252,1307130126,-266130496,-1143960962,-81699022,888317662,-937688562,-1301341025,-1124840825,1743174186,-1469962106,956469692,1687340693,-441314140,420636067,-1057399438,-1766623283,1334237845,1261099681,-1912749519,440256065,-428249501,-2043490810,1546858248,-884820844,-409833627,887546468,-5369547,1689554200,813961919,-1778443046,-1194582687,-1897414624,-1853935966,1527907740,1870731133,-156649727,-1438551662,114697922,-1336567784,969864460,361447076,667122944,1698195877,967347889,-571438118,-93419647,-1475822636,203028292,647566615,200124753,25473723,-2097875481,-303741912,1510518329,1717554812,-1870723038,14251514,-388076146,747295450,-797785149,1029113058,1058801489,467137325,-1683322017,1577702007,-32855856,134300528,1586515543,-363967969,-1479488826,-2028953311,1381757390,203464943,-899459680,-165959990,163594818,459093244,1054276509,2127257227,-1338290673,1180872469,-179126307,994050486,-838553046,362163398,1168748935,1694764917,962260749,-690457954,1158175636,897702944,-462484540,-1452898532,-643965185,958012418,-1559561614,-1688188786,1662229351,207268953,705237973,-336343180,-881731709,1364783178,245946701,386108165,602632711,592895227,-432249356,1188268238,-2077510727,1719821839,425104616,500388315,1570727631,1509526655,-2052251718,-977505086,820194777,-1859068713,-605041756,1643273142,1546213777,-132129392,-846245484,1247561999,269656885,-1386030552,-858080867,-1990626708,-811327216,-1249737274,-1762937,234952296,1174510550,1821584928,-649811320,-1861872841,-1623736416,-1407122752,-394240105,-1486857257,-1105352038,699759269,-2096140039,-1280047621,-1621189196,-1932342928,-1794232953,-396952697,-473214447,-921401141,1357658678,-1015469967,-1736379865,1112666342,708827186,-1886550717,-1466455198,449018112,723374511,870368198,1491804336,-779900862,510807425,-167136422,-2089221643,-1751997376,1135846662,-1585851258,125608442,-450616758,283613774,-703723869,1126664235,-351786764,-1383752186,1439849089,392313683,862792968,807440469,-821592489,-1721993840,-1060959585,1618628213,-755257296,934932037,-1196099812,-1214418026,1195836202,-2062610944,235701000,383304170,-73018041,1139568214,1754323276,1239306391,-441683657,-1772138687,1246462585,530813609,-1706928791,-1854844996,1463796115,-1985221714,-1858842789,199503173,-908091764,764476030,1390739655,-1903530335,-159419706,1640365945,-296704506,1175624864,516820629,-258818113,-1816214372,643448342,1924109269,1841819434,-559001056,-568994166,-394717333,1967476828,539796358,1610035375,-1627141885,-86977340,1942049660,-1107708828,-1470483080,1216349533,1912336862,426283027,-1602172464,-1338462882,-1427616038,1971543609,-26349878,103228036,1708173499,-2107664279,1823958846,1359908997,-988401797,242600638,1849582646,593005328,500363861,124449536,-1116364962,953432223,-1121740673,-1483488928,-1864055776,61915571,-1215688620,-1663679653,815052398,1310785575,-692264834,-2105342623,-2057104275,-698988298,204794352,-1053973159,-1690371512,1982103960,1658085995,-656300001,2109484640,333512343,910260128,647188333,-1752622122,1310088404,1791766894,2122229274,598713091,-1974612750,951925700,177715776,1136819735,2062423091,-28520316,2026798584,1946565271,-1106558312,2063898851,2043011561,1603026207,18950093,1382440448,-659229358,634733476,1006474662,1783932292,749291977,-1953210979,-697304774,1147144072,2142909831,-1734111765,686703964,1906606956,720957241,-1359832046,183123208,764678840,159526729,2085559502,184105589,2050327598,1885513901,-234142342,1492840128,-220435703,-1554367550,-421833286,236465753,-1861268583,102491544,1209386487,1560815408,-1228884247,-1154037954,48785032,-189557045,-344650985,2082050818,12782020,2006004816,-1794856278,-1722000963,2025350399,160139531,-1151467673,-2072646107,-1577100484,121468128,633382126,-1822407275,-1138927640,-1905780159,193310247,-1876704897,1994101600,-1848941018,902436355,-478731674,-1626411014,867240169,845974746,714666446,1350942357,-1874716879,1788562039,-1682054597,757157224,-1294450677,715049722,-725364619,2118695581,-1280938240,-656277819,1038259826,1964403977,-790015167,1226257595,1549921241,-688984041,-664356246,1456022170,-1519358041,1991279046,-1820754527,1155154302,1516116782,-1630018093,-1926949554,1902448828,-1294631914,-1797518255,968290558,-2070344384,1150094680,-1429873173,1360785876,-1619675506,-1254943851,1413440359,2136217610,1544375939,-571597960,-1808417423,-1493596963,575684040,628370696,388446280,364982243,-1933520823,1437294425,2006933696,-518796185,1705808346,-1363224332,-837904117,-1283941427,806419726,1380204087,-1654970699,-1278031364,524531608,230508224,798777776,1365029984,-1667488118,271944418,235988634,-1483845733,752527670,239231373,-168903875,-1489250851,-811142725,-1431078952,1358391702,-1266163047,-552071605,1531123103,-250455468,1657785011,-1487735272,-1194135320,678386152,1393420892,-826268936,-509866303,656372105,-1623448521,1938295261,1700102135,517749524,814031783,-1276489365,-214770248,-1307538149,-1622760733,20030185,1058609953,899719778,-2116566568,-385635865,1892816574,-1916292573,102044407,-476435694,-271826452,-2013853251,1204322238,-1927515261,1291417700,153738492,-1961034964,-1899579876,213970386,-862753744,1207973666,1756515127,440740131,-1344744382,24210186,1609789760,-468004134,-1022913705,-493913663,-964288495,393125404,-1983806699,-569968940,1370930143,-656342577,-1904353736,1374185572,-2054483209,-1371114908,1224913344,-2119331784,1360952929,-678967294,-2011574112,-1139041247,-86828831,-1439483977,1988740123,569033275,-840592865,-972704651,-895042798,-1189654316,1834677899,1791599097,1913128970,-95311371,-1791509247,1981091449,-569168812,748048956,426126018,-1727590916,1891315609,-1335636948,-1579307165,788324169,1228595370,-1061686589,451081621,-357627003,-1784635345,1923389626,-1397649134,-176894954,-2010271599,-574834404,947628265,-1122749468,-732457061,822456483,-196741867,-1532693569,-2103236216,-261074288,-1334254231,2126173136,37980353,1315925820,-826871211,1559459115,198686337,-84761958,818181928,639718503,535096089,-367149354,-1226979762,528708355,-25704391,1089768629,370624672,-1247999511,1285266872,445649349,158099108,-1386351841,1575007717,163019031,10259170,1717163435,-883610898,-150597402,697321595,-1311490982,1355276855,-1109220436,402650818,-117071512,-942065072,-1230267144,-1050702839,964122947,-2046623686,1330829634,224147910,1080808037,-2147048309,-1923261729,100735498,-1543992867,-106027673,1519947317,-1965559131,296910321,-1980359211,497415642,-2005024401,373823532,-1643237164,-934002591,562151456,-466902500,1336654271,-1137259724,-10790496,-1193770978,-1118353485,-139318987,1077026587,-11316897,-183621967,446586194,-1447452148,783317614,1259118694,1548328868,446003789,-1962407811,936151230); +/*FRC*/Random.twister.import_mti(102); void (makeScript(14)); +/*FRC*/count=417; tryItOut("mathy3 = (function(x, y) { return Math.pow(Math.sinh((Math.trunc((((Math.fround((Math.fround(y) >> Math.fround(x))) | 0) && (x | 0)) | 0)) | 0)), Math.atan((x - Math.min((x ? y : ( ~ y)), x)))); }); testMathyFunction(mathy3, [(new Number(-0)), (new Number(0)), (new Boolean(false)), 0.1, /0/, null, 0, ({valueOf:function(){return '0';}}), ({valueOf:function(){return 0;}}), undefined, 1, '', (function(){return 0;}), objectEmulatingUndefined(), (new Boolean(true)), [], '\\0', ({toString:function(){return '0';}}), -0, true, [0], NaN, '/0/', false, '0', (new String(''))]); "); +/*FRC*/Random.twister.import_mti(283); void (makeScript(14)); +/*FRC*/count=418; tryItOut("\"use strict\"; testMathyFunction(mathy4, [0x0ffffffff, 0, 1/0, -Number.MIN_VALUE, Number.MAX_VALUE, 0x07fffffff, -0x080000000, -Number.MAX_VALUE, 0x080000000, -0x080000001, -1/0, 0/0, 0x100000001, 0x080000001, 0x100000001, -0x07fffffff, 1, Number.MIN_VALUE, Math.PI, 0x100000000, -0, 42, -0x0ffffffff, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(315); void (makeScript(14)); +/*FRC*/count=419; tryItOut("(x);"); +/*FRC*/Random.twister.import_mti(339); void (makeScript(14)); +/*FRC*/count=420; tryItOut("testMathyFunction(mathy3, [Number.MIN_VALUE, -0x07fffffff, -Number.MIN_VALUE, Math.PI, 42, 0x100000001, -0x080000001, 0x080000000, 1, 1/0, 0x100000001, 0x080000001, -1/0, Number.MAX_VALUE, 0, 0/0, -0x080000000, 0x100000000, -0x100000000, 0x07fffffff, -0, 0x0ffffffff, -0x0ffffffff, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mti(371); void (makeScript(14)); +/*FRC*/count=421; tryItOut("\"use strict\"; \"use asm\"; mathy5 = (function(x, y) { return (Math.imul(Math.cosh((Math.min(((mathy1(x, (y | 0)) | 0) >>> 0), ((((Math.log2((( + 0x100000000) > (x | 0))) | 0) >= y) | 0) >>> 0)) | 0)), (Math.sqrt(y) | 0)) ? (((( + Math.acosh((x >> ( + 0)))) >>> 0) ? (Math.log(Math.hypot((( + (( + y) >> ( + y))) >>> 0), Math.atan2(( ~ y), -0x080000001))) >>> 0) : (Math.fround(Math.log(Math.fround(mathy2(x, x)))) >>> 0)) >>> 0) : Math.trunc(mathy4(Math.fround(Math.acos((( - x) | 0))), ( ! (x >>> y))))); }); testMathyFunction(mathy5, [1, Number.MAX_VALUE, -0, -1/0, 0x07fffffff, 42, 0/0, -0x080000000, -Number.MAX_VALUE, -0x0ffffffff, Number.MIN_VALUE, 0x080000000, 0, -0x080000001, 0x100000001, 0x100000000, -Number.MIN_VALUE, 1/0, Math.PI, 0x080000001, -0x100000000, 0x0ffffffff, 0x100000001, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mta(-631646540,-1198465554,-439140747,18731555,-491660173,-2074662999,730374655,450093482,-711227756,1141832018,419834239,-535368164,-1385326562,713888884,-2051318503,-1186645301,77898063,493205736,1255112055,1750171770,-692485338,1906663006,-1214226864,643914235,375377103,-1164981065,-1836068395,406407256,46790492,-2017084359,-1121482740,1636025029,-511153651,-1323263153,-1335218057,-2058688609,916988260,1395453409,1611231518,-2110843439,-971297189,1412501695,1395721080,-715025583,1324107835,-1605568075,-1785079815,-202112375,-1750623974,919213905,1608147253,-1064066580,-227389743,-71703671,809866724,267030746,-1006256726,-226643903,-1936984700,450941872,1567640624,-2123723544,1255696126,1988745221,967732031,1875687887,735732889,120875215,2009268477,-887751454,110052700,-1981266487,-1452338406,1153245305,-612181170,-1222327351,-1120818845,1766519451,320094452,-753562930,2064656999,1945906188,1294564676,1029467352,585704396,1596491953,370379903,556650437,-139809889,1064600563,-724236505,1167149611,1381886782,1652105163,1701481677,1671065113,1019201348,-1261473491,-731806770,-117133375,461221308,1664969171,636971357,-733106371,-1360581704,-859676754,1405247440,-1281747494,95239663,574724002,-728441183,-1382096616,-1218233178,1118980827,-374594840,-1377371378,-132352603,985001835,-1576352969,659262637,-2915370,-499865563,-89401688,-917529841,-161580698,-318216326,878358412,540874824,-1903742224,784338500,-984655495,-1296743439,-1023175422,-276432518,-659931618,-1388308719,1780209742,1572018066,-1448128793,342044784,1352074570,1685400915,-1633886843,584668429,2094469599,-624549012,-1902717576,-671118145,-1287291359,-2019279276,-1259684200,-590215212,1643338797,824249344,1414728097,-1557663704,68054881,66953318,-972702964,1652402745,-266943222,1770920637,1502449569,965875914,1543375698,-143758636,66403459,679645614,-1365021625,1624621093,766731723,261094876,-1750985510,-115988818,276892005,-2060377825,426568449,1244415475,-476774705,557287161,311726550,1767902335,453947415,-600084177,121838721,-1162088043,-179623051,-19377697,1934638983,-1041486455,-1282993088,428873281,-21126055,-757956845,-1716506097,205890090,-1198909954,-279530731,13046007,-1280501296,-1549129027,-748275188,-1783863717,1181436945,-337755910,349151020,-653758128,-1019731820,-2057594276,-2049075913,2078528793,30495648,1418056164,1795135329,1098528336,1634422974,-736393872,-1209272703,127497895,508274821,2016097662,-229975021,1877176096,176284315,-1427158287,356880370,1291006429,867408343,-1883730195,-2032504795,-1754110538,1139815283,-846707225,2024128244,-1165191009,-478646015,1801048130,1980547642,220386678,-674287568,983254455,860386705,801926805,2043464493,1686442326,1412671301,1014799046,737227095,1230546609,572302982,908147987,1313053280,-268702758,1900465686,655343421,1104832030,740645051,620819687,400060762,1342673552,178469933,-145697496,-1302997628,654599404,-993188844,1673267358,-1667900802,58294987,-743936929,16311240,-1659637439,-1774413763,-1148587617,1123698315,-1413588546,700426710,496265070,-2020388006,455777029,-1722193238,-1113352335,-1982072937,1115024894,-1088946842,1511993771,972263764,1681835136,-846691420,-1706412232,-1063685737,2102220270,1587889493,1521131896,350566292,-1880421999,1927669380,-1756667648,63215740,822200861,219195868,2073774139,-1478105678,338652765,-1573648337,-1916793291,-1224867617,1708860574,-494401186,1523516172,1634928621,1874251018,1058531615,1778571891,-1722836924,-1108389420,-1667410174,1564770359,1912646971,-792183807,103467408,1521180285,-383890546,1961041936,2043337152,-1576699791,1235756213,-953998938,-2029420455,1579658180,-2066838060,-314045056,-1030071080,1822743285,40845873,-1057505529,-609641956,-1278311759,-1751569299,278704956,-1712902338,-1059413648,-1271447177,-325924790,1531776543,-704128449,-603583818,657066063,-1004856834,-390660752,789400233,739973551,1804799292,1773021206,-278337471,1891808726,-853964672,1008753715,1442302828,-323229691,490678525,860855990,1236495998,-701636959,1660840797,-1637962676,-1743462444,1541687181,-1874382367,2101570366,-1949260446,-1819067752,-302077288,914568840,440439994,-2123421173,857861883,-756327639,126084733,989784645,2015390637,-1000782915,178406040,10778227,-1250789858,-25261340,1899888191,-805149971,-1675257793,48925680,-767752019,1120557097,-884341411,-1794946453,786051348,-1092496488,-399382816,409421947,886692800,-588690645,-881234779,-77946866,1925681097,156991285,1910576107,1167498932,537249754,-769620075,759078355,-563209247,905559467,254353224,-852005328,-342626447,-403620367,-179581445,-524805975,1585771890,1079642931,576693793,1463612085,-1610336258,-1896915339,-230007184,2017388743,-1218523758,-1326596301,604518997,-96252349,-1664622144,-1821194949,1369799881,-1016063286,444697705,-1861045215,-1003465767,261360974,-743390804,-439724800,-1573994783,-1643082795,-1809555613,337874364,152102005,1464911075,1097810299,-214938441,650282415,-1874566920,-505174241,864687956,1589005935,-2090221601,841326222,-1523218846,-113995316,422456361,1712768020,1020291730,1285435129,1287808235,-128440674,-1021970877,595101523,-1108200980,-1348689007,-1951995847,-853581567,980460891,-557772355,1470457290,-433610013,-1098438414,1711190732,1268431408,-251525802,717003118,-1113968744,1348305185,1255633950,-361392564,908432664,1634716116,1737740294,1210401578,-2007932509,-2081270508,1206646961,1243318696,-659985016,-2141668119,-544268904,746727467,-1711822775,-685599376,-1634602082,-1129638091,-248836360,678150521,-788367583,-746732115,-650674385,-56794996,1295970614,490909554,1981078709,820608772,-581598470,2057759166,1840958264,-1905998086,1566289844,-740106135,-2046171004,-1640714651,-1461985747,-960389294,792508941,-786352691,1738621264,-24459939,-948545077,1844002418,1575776430,-1056946146,259493149,1031949539,-330985777,1672130093,1845723868,-631656154,-2035713926,882067339,1653066442,-914091645,827386262,597512017,1999359844,353151745,-502693496,81561341,1551564015,-1553643482,1874734096,-1664161607,-785717394,462615809,1199267156,580089653,673876453,197020152,-505172609,-2060267537,-134484672,810691564,468380614,1667168905,-592660928,1733302124,1415616907,1504314782,1493278998,373208665,2107297503,1253864500,-1668118467,-1822783721,-5578270,1419385165,-1333693915,1664385306,-1397365710,1272239723,-599240761,-1928441275,-508457847,-1825180413,-489824693,888211330,-1695003400,2002745792,-1533603040,1279288674,-1359669848,1735758415,-1403994697,688452731,507422944,1424421399,1327329949,1863354188,-67794489,1106817532,-619425071,-753880132,1972933517,-1995989765,397667567,1111667903,1879905453,2018626661,-2022259502,-901044707,1009186449,801754054,1464010349,149633867,-2030237779,-633199065,1963978312,1556625020,1926325528,481242785,-2010365587,1990425245,2141862840,1336255833,-958277205,361915678,-288598674,-1155037767,-1164428051,577595257,-1277713729,894149409); +/*FRC*/Random.twister.import_mti(129); void (makeScript(14)); +/*FRC*/count=422; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return Math.fround(( ~ Math.fround(( + ( + ( ! ( + (( ! (( ~ ( ! Math.fround(Math.PI))) | 0)) | 0)))))))); }); testMathyFunction(mathy0, [-0x080000000, 1/0, -0x0ffffffff, 0/0, 0, -0x100000000, -0x080000001, 0x100000001, -Number.MIN_VALUE, 1, 0x100000001, 42, 0x100000000, 0x080000001, 0x0ffffffff, Number.MIN_VALUE, 0x080000000, -0, Number.MAX_VALUE, Math.PI, -Number.MAX_VALUE, -0x07fffffff, 0x07fffffff, -1/0]); "); +/*FRC*/Random.twister.import_mti(225); void (makeScript(14)); +/*FRC*/count=423; tryItOut("mathy5 = (function(x, y) { return (( - Math.cos(Math.fround(Math.pow(( + Math.fround(mathy4(Math.fround(( + Math.sign(( + x)))), Math.fround(y)))), Math.fround(0x080000001))))) | 0); }); testMathyFunction(mathy5, [Number.MIN_VALUE, Math.PI, 0x100000001, -0, 1, 0x080000000, -Number.MAX_VALUE, Number.MAX_VALUE, 0x0ffffffff, -0x07fffffff, -1/0, -0x080000000, 0x100000001, 1/0, -0x100000000, 0x100000000, 0x07fffffff, -Number.MIN_VALUE, -0x080000001, 0/0, 0x080000001, 42, 0, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(336); void (makeScript(14)); +/*FRC*/count=424; tryItOut("o1.m1.get(this.o1.f2);"); +/*FRC*/Random.twister.import_mti(355); void (makeScript(14)); +/*FRC*/count=425; tryItOut("Array.prototype.unshift.apply(a2, []);"); +/*FRC*/Random.twister.import_mti(375); void (makeScript(14)); +/*FRC*/count=426; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return (Math.min((mathy1((Math.max((Math.max(( - x), y) >>> 0), (0/0 | 0)) | 0), (Math.acos((mathy3(Math.exp(mathy1((((x | 0) != (y | 0)) | 0), y)), y) | 0)) | 0)) >>> 0), (( + ( + ( + (Math.asin(Math.tanh(( + ( - Math.fround(Math.pow(x, Math.fround(-0x100000000))))))) | 0)))) >>> 0)) >>> 0); }); testMathyFunction(mathy4, [1/0, 0x100000001, -0x100000000, -0x0ffffffff, 0x080000000, 42, Math.PI, -0x080000000, 0x07fffffff, 0x080000001, 1, -1/0, 0x0ffffffff, Number.MAX_VALUE, -0x07fffffff, -0x080000001, 0x100000001, 0x100000000, 0/0, -Number.MIN_VALUE, 0, Number.MIN_VALUE, -Number.MAX_VALUE, -0]); "); +/*FRC*/Random.twister.import_mti(612); void (makeScript(14)); +/*FRC*/count=427; tryItOut("/*infloop*/ for each((void version(180)).b in this) throw new RegExp(\"(?=[^])\", \"i\")\n/*RXUB*/var r = /(?!\\u758A)\\b|.|(\\2)\\3{1,}|\\1*?|(?!\\3+?)+/gm; var s = \"\"; print(uneval(r.exec(s))); print(r.lastIndex); \n"); +/*FRC*/Random.twister.import_mta(1754379575,923296974,318715243,1393229544,-1444631358,-979919083,2089345854,1868258814,1107475315,1202398197,490072797,-1999054866,1623144337,-1795423973,144524170,818482953,-381427323,1227146143,-728704876,1977103585,948479004,965708041,-1660621161,841179462,178260209,570754629,874663147,-1237699012,705155568,2057043539,327819262,889938969,1391081539,-1869032403,417192410,1104518363,562852366,-197858474,-1752483975,699786846,383413632,-1950990499,766046882,1784335265,-1660075591,-623591594,-1214089864,180129270,828241856,-1876490774,-1341280242,30552232,-681683377,110396573,-2070087758,271007835,1157885597,-1083086066,1415464433,1219420684,1013263590,703733126,-292669386,2106041310,1845172859,-1348663872,660649300,225809200,-1372842424,-1906785361,-1483983008,-1971939280,-1393343191,-874066108,2082339273,-1569794398,-1506315358,-125295316,53894153,1494911604,1772328743,1816382140,-186933216,659621118,-671924909,-174938394,-1044704233,713852083,1161864242,-192295939,-1311007646,-242771945,678200275,1949494049,-2075676680,-2019013653,1414372665,-190762375,1495396362,-1131030490,-2130852529,1525773136,1616093932,-1908086029,-1694740645,618651358,76522911,-1379208547,566867157,1847025013,745118002,906712427,1983206216,1770897088,-2062443026,1661952649,1516693775,550899561,208464347,282426342,959697152,452241924,52803589,-1134992008,460131791,130099048,-786512838,137630821,1793215425,1474990764,-1543979254,260196445,-1382330981,-352557195,-79954724,394929901,-413296054,-1131413958,1772935017,1600146881,-1103196809,1951358869,-860316508,-82197281,-1912186480,687163052,1849269817,293660833,1480649259,487457304,1291482335,-1042573524,321835000,1388484976,-1801373701,754215471,833420255,954742336,-1956077750,-458763067,-1969247507,-508629372,1164118523,1962845375,763986739,-1519853503,1593654499,315330241,2050545626,1887167448,1398663075,-1152354232,532648525,2113785951,-800786885,167152280,823181411,1232290609,1520862880,-343435616,-1723223710,242721836,-1068863096,2118004159,-938136201,1297625293,-2129589633,1290801835,-1862905248,1207771840,-2128197144,-380956562,-1619982310,774184991,131752169,-950970322,1035164393,-1393317079,-1865347053,-546420370,737257913,-1546414241,-2106795342,-1298537297,-2144540277,279105081,1314249612,367971139,-754106097,1644453374,-626356233,1598883514,-255898349,1382841904,739935998,-1574861867,-1268895486,-1519505356,-645348924,-84655340,-1245725752,-1723997442,661636139,921119050,1758437504,212241038,-1248141547,-163233122,-311563261,1497761712,-1409656946,371736302,-1178255249,-121233490,-2014325343,934171474,2091729640,463765606,-1556131850,-1527110251,340822796,-2039233505,-1792550336,-620664530,-97148702,-894528009,-114811755,-2060695653,679598666,521978049,352496758,1029569820,1520853326,-1095949398,-1764293325,-1524773518,-250399489,409347923,487107921,-827124086,-1422868807,1106719512,307736237,65724420,-2048200935,-1715348922,-251553820,-1509495952,-875934023,-1171670307,-1202964640,1505823145,580988108,-1568843353,1583569181,1066910839,-1813074873,1687178579,226395645,277294376,-613298295,-442105523,262979304,-1325087081,-1551326300,1715546033,1852482526,1900033914,-793373294,-1876389183,-874663509,1085164231,-1511023094,-1180860093,1946640498,-1517705528,-809857135,637821617,-1929458466,137777643,-669762147,-1358758344,712794730,2044707943,989828508,1910230598,1751027419,79959713,-973932139,-1023359323,-1580056402,2080039093,-113939772,-1622360835,1690447666,-1293265674,1417751999,12006077,-1298989857,-1674470350,1086181094,-29999120,-1152571637,-599289378,159224060,2058379481,1712957653,-269610835,1486239162,385328172,-284572513,1973850878,-1126117607,-1107506493,-1071759469,-517585582,-1126990948,1680326828,989381364,374866928,-1432441180,-212272693,-1751034535,-395463473,1322584626,-957260509,853079833,1298706360,-730153073,-1944026099,-1986993178,800725444,-1451367529,-1451254063,783863845,-1376070393,2098296602,212728791,-669684484,-1271102784,-836382646,1227203411,-154724,-395129748,-259681840,-1655290768,-833919506,-1063307032,1906773284,-2056191512,-1914269293,-716717356,634719473,-142165021,-786911485,-398592160,-943242759,-930238174,1690505765,-1475682567,395556924,234601501,911036704,1318305453,-646022784,979443427,868067333,-873795819,1371068941,-1123117776,-934078770,-33515815,-234489653,1099814191,1725136305,-1358707912,1779895864,-467537175,1206156997,1645396554,-1651071132,1306655102,-1475431502,333156153,1500618972,-356616779,605055126,796265549,-847001050,-941687252,1487248039,617900560,-1482154262,1656511581,-1515934176,-4970279,-19359866,151071271,1541265899,-1888283675,-262520838,2130661329,575052946,639384608,1838007407,1541258726,2068274832,1704089945,1935820061,1941361673,-1826494006,1415880544,-2128403210,-1253752129,1378143716,-86695463,283211646,313876568,-1991380081,598069885,410892526,-1315290085,276910459,232857952,100574896,333525964,-220826776,1548146840,-1057429164,-1858317373,-1369749894,836595655,507267519,-922707981,601547861,-563704311,1194210041,347992109,-1455309756,-2048306400,4478032,1331373783,693586852,-1301568513,-947960667,1555582889,1623902183,-1573342451,-308185350,1060944878,-2075984553,-1999963772,-278673169,-1045881282,-797832404,911003014,-298143602,812193401,140981818,28617666,-1910847680,-1524699856,-2129695513,1815295217,1503595993,-403316266,-339815842,-2023487363,-1730945613,2106597473,-861715250,270109666,-229601026,-1102483925,1633407029,-1285568059,1997859518,163953711,-1451795552,-684579964,-600577567,956047750,825660366,837579458,2095379153,601113728,1842633207,-307451371,-493592016,1627482418,33359484,-527673370,-1336688548,-1559233513,304150739,505477195,565229816,-1207103229,-421291850,1599865392,-815194502,1525766181,-2062974265,285866432,-1580338145,601144166,-521423326,-283771661,-2110904661,1764286039,-1163995267,196899065,-871270824,821492240,-1946025514,-26796505,1351492602,-1864990614,-1600384236,1308664940,-1895950098,320682298,629510261,1007967752,-730400542,-1859169675,342923127,-845137205,-68609268,313803115,131483382,1921017436,580482351,1810685238,1196023094,1992322714,1700769690,1546729605,1500745777,-1872748654,803938608,1742465059,-998736056,731025245,-1266535432,1160622597,-451035255,735487849,-2101167802,-2114214080,344944421,-101081842,427738334,-620199550,-1644501530,1008001141,-698873908,-2064857702,1410704676,-1154061817,-815813536,969038577,1195945215,-231630562,-1054789323,-687196020,122112788,1889786331,2125324533,1527764896,-2003921774,1141311591,-186770002,764386551,1561609802,-1552528500,1029237608,753445658,1885836345,644771480,195794994,369321108,-2551165,1970172432,1441832024,-21683924,1545829685,1830047512,597665571,254141356,-640902878,1147202025,-667413646,208188889,1966116198,-339704313,-137910337,-13288327,983295194,910251618,-1984702900,-433054671,1823384183,-950573956); +/*FRC*/Random.twister.import_mti(619); void (makeScript(14)); +/*FRC*/count=428; tryItOut("v1 = t2.length;function \u3056(x)\"use asm\"; var Infinity = stdlib.Infinity;\n var Uint32ArrayView = new stdlib.Uint32Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n var Uint8ArrayView = new stdlib.Uint8Array(heap);\n var Uint16ArrayView = new stdlib.Uint16Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n (Uint32ArrayView[((i1)-(0xfe96f9a6)) >> 2]) = (((i1) ? (1) : ((((i1)-(i1)+(!(0xffffffff)))>>>(((0x23685c4d) != (0xea4184f9))-(!(i1))))))+(1));\n d0 = (eval(\"\\\"use strict\\\"; mathy5 = (function(stdlib, foreign, heap){ \\\"use asm\\\"; var ff = foreign.ff;\\n function f(i0, i1)\\n {\\n i0 = i0|0;\\n i1 = i1|0;\\n var d2 = 4294967297.0;\\n return (((((((0xa88177fb) == (0x9ad0cd61))*-0xd8727)>>>(-(i1))) < (0xd189ceee))))|0;\\n }\\n return f; })(this, {ff: function(y) { yield y; /*infloop*/for(var window in (((let (e=eval) e))(( /x/g .valueOf( \\\"\\\" , \\\"\\\\uC41B\\\")))))v2 = Object.prototype.isPrototypeOf.call(v1, h1);; yield y; }}, new ArrayBuffer(4096)); \", ++x));\n (Float32ArrayView[((Uint8ArrayView[2])) >> 2]) = ((Infinity));\n (Uint16ArrayView[0]) = (((0xf69eee5f) ? ((((0xffffffff)-(0xfac7e0c5))>>>(((0xb94ddf25)))) != (0xfe47fb7b)) : (0xbfad377))+(0x33dc0179)-(((-0x1c72f*((d0) == (281474976710657.0))) << ((-0x46ec50e) / ((0xced85*(0xf9bdc906)) << ((0xffffffff)-(0x5cdfd4ca)))))));\n {\n d0 = (+(1.0/0.0));\n }\n return +((7.555786372591432e+22));\n }\n return f;/*vLoop*/for (var jokhhm = 0, vdrxia; jokhhm < 28; ++jokhhm) { var e = jokhhm; m0.set(v2, t2); } "); +/*FRC*/Random.twister.import_mta(1044713080,14122757,-1250139041,21801874,1529368658,438334352,2059232886,1959757563,-619267806,1103256153,1853108952,1032570313,-1509020614,-337436298,163242649,-1610223209,1483019953,1637940621,-86605589,-1673829102,1338192422,-996864906,36773372,-815350504,639856421,2122419594,-2004939328,-1638475417,288053275,1768341213,-63502827,-520411941,420866745,-834378895,372317963,1559655759,1459585536,370885960,-1979607885,2132798838,-254787534,231926573,-1260624790,545015127,-510655102,967874641,1384697907,-2064278495,598834001,-1922238863,-1426587398,67993479,-182628364,-1789292939,615467617,968857406,485407999,1110458067,757181585,-853630649,1088147616,-1784557845,-1110224117,-1251067207,-1820899002,1835569448,-1243912058,362260677,-2042474756,1008578036,946491464,-1647180870,-854950750,867129419,-1019849607,-940690008,-1941755608,-1899490876,1279095654,-2014115886,1872403931,1803205995,-1485763370,185469982,1458198340,2017370611,1877044170,-113432654,288896353,512188201,-651434960,-1255812061,-788429299,969718482,748061786,506182954,-1479542565,-458842500,926862931,-1525006314,1645179997,-1028264187,-1453507470,1320762530,-1774928196,1441989586,-1133594468,1292963072,-1475464533,-20415620,440654088,-1116516367,-1133311458,708002740,1623766873,280872330,774102318,-182314495,1096199584,24232004,-1012172097,91501164,-1786873236,-1893559420,1340251444,-876051425,909256592,-1266270767,1848992646,1503725818,1931953529,602952333,1733418213,284993389,-254565223,30224479,2003741991,2146288882,-1987457387,-362137921,-1959784806,-787537287,-839569674,-132022203,-330761595,1713193071,1888769803,-1582482785,72296388,-290855018,-716161228,450599886,1727083459,1041681746,-378221029,1227574515,-1689282750,-1538063653,1695439563,-1610674413,1330294269,-1135548166,711531715,-1680816923,-1096766054,42003499,-831131631,1858284019,-890115093,240975634,1370622098,-1994366858,-1312617635,796617923,934169304,301905559,1295296012,480464561,507238965,639969396,1545124034,-408135291,1051757663,-459964573,-830365300,152114552,712257547,740923084,1471996835,1092010451,-2075280708,-1048440074,1610395073,-567334095,-1785215345,-246794091,-563718783,-436651159,990404460,823112562,1523405631,-1398305393,1171611797,-1375983897,1188409467,1824303589,-1761292934,-408064208,626874561,-1631117124,466651182,-766552952,-1895250186,-970755437,1926926754,873913591,864501015,-477134117,-1860042631,-394674667,1668285088,-656662805,-772545650,-1950358375,116778748,-327015283,-914581949,-1160407780,-152402778,-1807477914,-1046458324,1312601775,-59998549,-1092459360,64322569,-1002532952,-2054681946,1503957834,1925955637,-1520232221,92162460,2054821801,-1860444407,566004374,-1001499869,-1504203866,695503969,581686598,1944864279,-496003126,2075995010,-533786100,154175286,-41981737,-1856359105,-1677782584,-2002267908,-837535930,784524453,-1614343117,698224771,-2026792659,-1884308045,1895499730,2103232970,-297398608,1180320035,1679426394,604104012,-909006311,111936444,422284984,1727243700,524376041,1484490524,-630074110,367550424,-671714586,-1562200964,-1761998567,534326922,1991287996,973188845,-661870950,1689414051,-990428203,1075440523,1733753936,256838486,-1767625460,-1872818400,-1930954242,167902215,1300567595,1806900254,-1161732076,1285808457,-561832230,1933314635,-1754752102,365857211,-1879456368,-676899173,-733671358,-1791283645,-1183745121,-651192245,-1814874153,704657822,309766352,-476038831,30411533,288409860,-2016615992,2077056534,1144532886,-1258769670,-1798236802,860022226,-1446231960,2130256923,456660851,855407345,705338437,1042714130,-1367802197,-1587458117,1797118013,-1317030564,-803854460,2018291839,-520934260,-277300945,128701733,-1111044534,-319322057,1588470561,856865854,-583581839,345192601,1197401523,342065159,-281669017,-1399030618,1195240875,211299954,-1688722153,-753141274,-559881716,-1283758020,1014621721,-1494031779,-890287633,923990574,1457138128,-1072103152,1464494020,-1042985654,-1948337959,-1558853624,599467554,739801827,-742627726,-102899270,-250058406,-1830622624,922192534,-1995677629,-1414486756,-598064048,661382911,-1192887351,-784740772,2050241607,-1827890382,602850671,-1380219938,1407278658,-1143127049,-96206178,763160784,-1476942384,1689825688,19263747,-352998746,1744624760,-1318697444,-2006652313,1321689887,-1871283714,-1645840682,-1690261427,-750311546,1483906058,-1278837930,-174050947,1746859370,591157343,-1656539529,-1872124047,-487514927,-894743618,-1376344547,-633143158,827113734,337407735,-1918443036,402082233,1788424607,1319850969,1464119586,-1781620101,114863802,1034972752,-1863493884,982697653,426166064,1251419273,773248623,636660806,1013051122,480246106,-137204417,1470346601,71363471,1446827744,-1436605776,-888868291,1114788138,429320537,-837175695,-1838024762,1803372843,1854024636,-1001474810,-859310848,1212273357,2128215140,2119263286,822235758,-927255860,-375264036,-1022487707,998573862,1836055832,1773616045,-1584241981,866719031,-439112170,-269819114,-1333460446,797189630,-691394706,1130634841,-637375882,-797643842,-13890738,540475226,2067350854,91415114,820556959,1959868011,1061519547,-1553948413,985848654,-527892038,1148109147,1562689362,70124963,-1036562442,1866054885,-2000549155,-825621984,681633452,-851104038,2097389912,-652189523,1443047223,631627509,1472607942,-1531408746,1893137643,-759139363,-1449953673,1607467613,1420742260,1940211130,615285721,-602833177,-503797912,-748480800,890062509,1742440462,-1505429577,337496642,52943945,-25054590,363908534,1125128010,-830005009,-942816225,294006862,-1459310763,-979769519,-1123463448,-890585678,-1917298824,873555174,617614334,-1198247400,821710056,1719114169,1160628938,-2045589702,146275998,-1759063356,1566770681,-2101790155,430292487,-833081455,-132296616,1909839541,-2102039660,-840944654,-1185411809,-1433197335,-1593463449,1163999153,404556054,814596390,-548965186,-1560957120,-701152308,-1259431884,-2102286854,-163074642,-1890187245,948839685,-866295392,-974037150,-217258137,-1237831632,-1657980026,-1354734844,-1330407038,-355892482,-1342455602,300282599,-194271944,42706109,-1544684033,659888622,-1075574335,564325231,-498061468,1077234068,1787637966,-1817605223,-1110542608,1082237365,-311384242,-226933145,-449921451,1510997837,-695706022,1107955355,1707807888,172862052,-798522336,-674557418,-1854612282,2062060222,-14638074,-1141370647,-1774355636,-1119374379,-1602546907,-1922346646,1010136620,1882520083,1801737408,1896016713,-873347205,744720089,1391892412,861731988,-1384756120,1178555013,1811460450,1011395113,-1286497645,1477082016,1204056024,-491281316,-1536805824,1128118368,1147151176,-1313203229,2007673942,1671272778,1676037060,-587815397,288555218,-251351075,2010384585,1100908552,1653768804,2111813049,1712281740,-306209223,1414079297,314951453,-1588934323,-1987348739,1044323453,1443974996,-574139094,256385442,-1127458807,-1367342185,-1176895261,1058468076,1812998935,926708310); +/*FRC*/Random.twister.import_mti(52); void (makeScript(14)); +/*FRC*/count=429; tryItOut("switch(new XPCSafeJSObjectWrapper(((uneval(\"\\u89E1\"))))) { case ({ get x c (\u3056, d, b, a, x, b, NaN, x, x, x = /x/g , x, NaN, NaN, x, \u3056, y, x = /(?=R{1,1})/m, get, \u3056, x, \u3056, NaN, e, a, eval, x, c, a = '' , NaN, set, e, x = c, b = \"\" , z, b, x, x, z, y = /x/g , \u3056, d, y, NaN, window, x, z, x, x, x, NaN, z, x, x = x, x, w, a, x, w, x, setter, NaN, x, x, x, x = \"\\u8B8B\", window, y = this) { \"use strict\"; return z } , x: '' }): /*RXUB*/var r = new RegExp(\"\\\\3\", \"ym\"); var s = \"\\n\\u11b8\"; print(uneval(r.exec(s))); print(r.lastIndex); }"); +/*FRC*/Random.twister.import_mta(-1168156926,519419015,-791678280,-815450888,-944016778,-1868032730,2032956200,482844055,-302648572,-1164117880,-1875240062,2040407938,995804002,-1970179919,482667119,-203254467,-1805082551,881764270,1955558460,2122800675,1759355570,1863211153,37876426,-159848001,601833375,-202511393,-2122290939,-706873507,-75024047,223088997,577884303,-1745873751,-1480824770,470386987,620920254,1073907755,1703905560,1481035648,-1287126085,1881797332,-1590150867,1681872387,-130760678,-126668787,745607211,1933757347,-1594394135,-1514147729,-167120822,-185703746,-391701973,-547550740,1011782899,2077890509,861662817,1102432718,-76238353,1436159201,1878199234,-1623071970,-1276204816,-1126671332,-959623223,2035486780,40206079,631780600,1889781182,971242544,-1098393792,1482418559,1405992591,1655389170,48780044,-676715002,-348844023,-1997826380,1875177038,-1420060823,2130322097,937795231,-88684195,907892894,306262217,-1882348236,-708764467,-449788360,-1794251346,-1908103118,-1025126081,1597028258,-415835881,765005118,-1122043391,-987212595,974690360,-315308868,-736642935,-695591500,296418370,378452083,-1377662229,398362995,-1445216578,-858285247,2071966119,-1221332197,-1559141935,805758818,-1248952308,-1063666692,-1281330239,2062126833,-309488702,-1718179941,1848212348,1379673181,629897957,1746708558,-1751239962,-440530823,-1073536253,320504625,-1983289773,-1611915582,-851893147,-643008420,1319869893,-834487076,-2042388332,27180804,-846090712,-1296214085,-1577377201,2116425261,2065401776,1955243392,-1961330099,528347759,444204590,-892465314,-922680090,-1431832869,552152991,471870202,1547575512,1013948636,647909012,-225179040,-576884427,-984359084,1552432896,1578863622,494977556,241117741,-624423096,-1304182176,-360457507,165655262,-691896638,-1809787153,-1920860188,1911703630,-731811048,-1306463869,707887277,1528624770,-1268327573,1794644848,86274322,1293029593,249403999,294564177,427693224,-1968965206,-350265046,-642058496,748750702,2631305,-1370150929,-1904783548,666226039,-94011172,-612960899,203719686,898261493,1203990433,980897215,-534751566,-1965085534,-1353674442,654203902,-1660004515,-1973973138,1620232459,-1180182731,-1308625465,155420983,-102622218,1538941401,-267503096,1054961147,-1941394237,-328516890,-1719393498,1939882550,447833711,-2100160443,-1133374346,1325209686,796575347,1425547261,562772983,396793775,757361552,-1849288263,562161433,558106447,-274289506,-1155194751,-1400941446,-1171350008,-734680626,1918320900,-90115171,-1872801163,-1851338519,1784068312,-1054206639,1423424820,-1340089682,829677424,1619394044,-807852170,-1580302861,1054399043,-1355680169,-699485907,811027271,-232318164,2045110188,782551994,-1925073612,-1556295562,793196807,1738895997,-1187151149,1876079744,-937217690,1580831604,2141153035,-965779271,1732738052,1415245675,1344652101,-1742569543,-1076571857,1782975174,-333966846,18558575,1786499232,-2036730526,-69397576,947850178,1528950269,1868941528,1231918069,1109717881,-1288123509,-639683632,-1151155772,-186189999,520667889,-437596024,-1932871065,-2004411666,-1124212826,-552248371,-1177141227,220773823,1939997622,1082279315,-1219262008,1844681347,270874081,-286712364,-1762177320,-1393910474,-1270272677,-1215673702,-1897740199,1059122371,-563269597,-1704849614,1165642673,612584506,1105106747,1998218770,-1285878923,1763669567,-788027634,-799619890,435030939,-490135915,-1135490640,1860934265,-1956290997,-419121749,-1346972270,1059458294,-1164337986,1445793901,-581339057,-422136100,-387233115,-1403469831,-661026750,358104349,-1097356290,964635914,1533728979,1371336619,-1167190625,1631140417,-888864896,1488900670,-669848768,-100080462,-1252175803,2142608049,1291146846,-55702265,-1781834257,1844357462,-1108211980,-545942618,1137779011,-653203997,70474918,-1448566174,1462391236,179296071,-1061502320,74586638,-551731985,1850785655,54169778,-1942752118,-1353494011,1252472623,1325213056,362667827,826683469,-2111503029,1707510061,-296862636,-303656074,561256865,292962971,-482888769,-265899682,-249390205,1388688521,140793181,-208384288,1443661663,1090634597,1463848864,-1663478168,-997534477,-363566017,-1722128447,883083254,-662894048,790102797,980146184,-884952870,-1398574987,-663867868,590974281,1262401148,497350853,-1466673276,735676990,-537325682,2049039586,-831431220,1226445571,1944780468,2043245745,-1701689229,1720194426,1133646702,925218951,-1383733568,-1994345711,1898646439,-981169111,-1720405573,-1062022602,-250729953,-269067147,619479803,-1264879803,1946642413,-1825660627,-1467590883,1552177991,-1947081369,1144560111,-254497300,-1614060060,1994798760,1494964361,838985277,610370871,-2039722182,320058285,-1459781610,-1879637634,-1805158377,1859990950,457593205,1126604716,-1838461905,-755208058,1318449281,210039753,1608009070,428566704,1383026945,-792930107,-1625926020,770732977,-1594539322,-636358922,-1277869585,269891649,1808838118,956961472,872091337,1509203454,1766432980,2084791434,401865155,1114997143,853844287,1822649918,-2000205565,-1547642811,706068501,-1386028702,-1153809982,1763471130,1196920291,-1458544498,725727379,-536566525,217021907,1648135385,1319488998,44979737,-1200444735,663295497,-1959797622,1297306,152619870,1467463685,-1246004812,-1403383089,1302904539,-1305572170,12612461,-311561851,1232085997,-1230839350,-341765123,-1919531953,1303723804,1285842791,1174841376,-1320808977,676001416,1914034891,-1666794697,-967871176,952732850,-517660269,832174798,-1960755188,1372487858,-1733296524,1552420063,-1018734351,136975960,732140912,-425727343,-239425761,-714146572,-1589386663,520389208,-1006001600,84802971,1194958033,-2121139015,-593289524,1274320387,699052485,1391083628,-1424387900,898546935,-1172944414,-864028495,-1778504379,-391028103,-1076214727,1077115065,381085084,-352681185,1615435572,-429086946,-1533538252,635042288,657362626,-1296117694,2132421086,-1600843693,717196297,-598196155,27847432,-848649014,-315941360,99695519,-787344815,-1503893674,-728431803,-511330272,2144747235,1879285949,-1079912450,106460592,-1275637059,-489807302,-1892042304,1291973084,-873239935,1854066029,-1970237057,1804156215,1646491422,-372804511,-1733397641,-565942783,298528296,-887033088,-716704625,1257439958,-601283763,-1572260225,1820540394,1532426993,1573262616,887782483,-1210159558,-229324082,-62985420,-1689442262,1376552182,580654423,-1419818085,1288205421,-1570145872,1371598196,-942790631,-953333460,1761098544,-2087580062,138972469,1267164197,-1873478245,-1214828757,-1001436074,1388212022,585097413,135221887,148389073,-175336053,171026627,-992033998,-706129598,-2000410421,-1617857744,1978577075,1884950859,91460992,-45643176,-423967401,1803669777,-493932054,90966867,-376557630,-1737760545,1928484961,1791645675,1312933070,-123639264,309382267,-321266561,782455939,121841735,-654988479,1335057631,-208926565,331109997,-1894961694,1491228958,1462427172,-583640926,-504985183,-1915051398,-222296023,-233922890,639637061,1790259852,-659871832); +/*FRC*/Random.twister.import_mti(189); void (makeScript(14)); +/*FRC*/count=430; tryItOut("/*tLoop*/for (let d of /*MARR*/[objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), function(){}, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), 1e4, function(){}, 1e4, new String(''), objectEmulatingUndefined(), new String(''), new String(''), 1e4, 1e4, objectEmulatingUndefined(), function(){}, objectEmulatingUndefined(), 1e4, objectEmulatingUndefined(), new String(''), objectEmulatingUndefined(), function(){}, function(){}, 1e4, new String(''), 1e4, new String(''), new String(''), 1e4, 1e4, objectEmulatingUndefined(), 1e4, function(){}, objectEmulatingUndefined(), function(){}, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), new String(''), function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, objectEmulatingUndefined(), 1e4, function(){}, objectEmulatingUndefined(), objectEmulatingUndefined(), function(){}, function(){}, 1e4, objectEmulatingUndefined(), objectEmulatingUndefined(), 1e4, function(){}, objectEmulatingUndefined(), function(){}, new String(''), objectEmulatingUndefined(), objectEmulatingUndefined(), new String(''), function(){}, objectEmulatingUndefined(), function(){}, 1e4, 1e4, 1e4, objectEmulatingUndefined(), new String(''), function(){}, 1e4, objectEmulatingUndefined(), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), new String(''), objectEmulatingUndefined(), 1e4, 1e4, new String(''), objectEmulatingUndefined(), 1e4, function(){}, 1e4, objectEmulatingUndefined(), function(){}, new String(''), objectEmulatingUndefined(), 1e4, new String(''), objectEmulatingUndefined(), 1e4, objectEmulatingUndefined(), new String(''), objectEmulatingUndefined()]) { let (e) window }"); +/*FRC*/Random.twister.import_mti(450); void (makeScript(14)); +/*FRC*/count=431; tryItOut("g0 + '';"); +/*FRC*/Random.twister.import_mti(459); void (makeScript(14)); +/*FRC*/count=432; tryItOut("f0.__iterator__ = (function mcc_() { var ecszjr = 0; return function() { ++ecszjr; f1(/*ICCD*/ecszjr % 8 == 4);};})();"); +/*FRC*/Random.twister.import_mti(483); void (makeScript(14)); +/*FRC*/count=433; tryItOut("\"use strict\"; /*ODP-3*/Object.defineProperty(h1, \"callee\", { configurable: false, enumerable: false, writable: true, value: g1.h2 });"); +/*FRC*/Random.twister.import_mti(508); void (makeScript(14)); +/*FRC*/count=434; tryItOut("mathy1 = (function(x, y) { return ( ! (Math.fround(Math.expm1(( + ((( + x) | 0) < y)))) >= ( + ( ! ((y ^ x) >>> 0))))); }); testMathyFunction(mathy1, [-1/0, -0x080000001, Number.MIN_VALUE, -0x080000000, -0x100000000, 0x080000001, 1, 1/0, -Number.MAX_VALUE, 42, -Number.MIN_VALUE, 0x0ffffffff, -0x07fffffff, 0x100000001, 0x100000000, 0/0, 0x080000000, 0x07fffffff, 0x100000001, -0x0ffffffff, -0, 0, Number.MAX_VALUE, Math.PI]); "); +/*FRC*/Random.twister.import_mta(1325849383,-388682902,-1766018973,-1943280306,1824032872,-938651951,-479454727,-1512810321,-171431079,345593478,-146868570,1503000670,1821681003,1218551820,-702558999,-1977108366,1749464554,505823017,539447540,662528756,108141697,-1898448869,911457303,-1506141514,-1145564091,-1695671311,1636632414,909597937,-1858385684,-2068534447,-852951067,1247108271,-2057099957,-1036130790,639607478,523745085,-1932122874,1522360308,-876496763,-1719495672,-2134395336,84964045,-691395056,-1765497548,-908036646,-181376863,-601575125,963738034,1217630304,-2114432012,-412496395,1693393635,-1896842452,768059021,-1679776475,-844200142,-1265484980,-1628838545,618744092,-1175195269,1384338397,-1739416606,839665144,-1701553735,-1431916355,534312150,-1747049838,525344826,-63074498,-409348195,-2064718771,-1389479095,1719512536,1589425261,1152759863,-1701869918,-975873914,1356283981,1767599213,700813374,381391699,-594784292,1105230522,1118712662,1523750292,949168156,-612045010,1043672440,1464981347,1270283719,1733655633,212241875,-1437459957,-979127704,1779592833,809776234,1668225154,1668737873,1959790199,2118341301,129566866,-1246872314,-530055385,549374540,-2019773239,-1883661082,-644706552,-966500662,733498365,-378390278,-1231669301,-1646307035,-531800091,-855444388,2087279168,506667240,-591448482,-1273668278,-1411068838,-272644926,981430872,-39480126,-1449482113,1527526105,1225770462,-646713089,-1784705492,1010563476,-530952239,209148701,470702919,-933377296,728833795,-794370616,1068788063,1301716904,1894395582,-643301294,-991772785,458669200,-1135023345,1994256622,138961101,-1645722927,-50728364,-1669947766,1951134956,1010131652,204153543,-455831809,1149565748,1826821652,2011189672,-1245023021,-2023389391,-41782375,-1882248593,-31011858,-1712596610,-1695949633,-625995176,1186169958,-1689373969,-1848220271,425985810,887468880,-2027370634,-22228035,617386137,-865404666,-1286341344,-1478475313,1234798776,-672741083,1025349364,-1851872338,1580329655,-421914600,-995513920,-1030038703,1991615563,1692874746,-242914008,1199754355,-396924871,-1494419771,941586726,1303882368,-1574642416,1498318140,1397839939,-1866295563,1636170897,441067637,-1273365873,-1376557809,964860027,160565867,-557983661,-1376135373,2107889492,1935250976,-1521729967,-507788860,-425567351,-223614186,276352757,-1612716533,-1664802915,1605198686,-1485932121,-1785146545,-832070007,-562503460,977554376,-1709775595,-1193378899,-1669826175,18183193,-2145314906,-1946395322,-185531656,1452851512,589924179,-134492434,530476768,1630969311,627901885,-254097859,-838508581,-1133962320,1263803347,31637751,621331463,725881691,132629264,-709213190,-835880144,627510152,2076623030,1308719766,-2021546798,1150063662,-1029915637,-1682944353,1473120948,57473607,1768871227,672201537,-1939030892,-711351116,144560943,737430156,-191592355,-254442311,-468169329,-1296522672,346937357,2137568511,-2043682822,-1076662330,2048927575,-1414532836,-1151024790,-419223855,1943761382,420888850,-332910640,1486950959,900853095,1078490259,-82502242,710772045,-1738064804,1729074785,-1106145959,1142670113,955589621,1564353336,934930746,913203817,1947326651,1555344669,-2082032218,-711835133,1922303879,2061489929,155612816,1177243409,-191593658,749367671,-409487580,-462593583,-2053143409,-1497900168,-944718793,1732043512,1768550285,-2052200242,240570303,-1958542977,-321288286,-995663238,732439909,-865247305,-2083420569,2115959543,1227396392,-1044348541,-1275182509,-183877714,700043002,-705806959,346030093,1383721305,-2064287438,1425877048,1005251284,-1206169243,461692161,1100744824,-2088352898,365317034,254833053,1333763825,164918318,-1109046712,-513051371,-1814784471,1194871163,-212609948,-244588446,-1858035812,-1238874405,1048870580,-1640461869,-1419012439,-1572706566,-162893369,2081555609,-312503020,1045452615,-1464529344,849336634,-1249372909,-1375914465,555670815,-970696432,-623180286,979171129,-626550240,-787089500,848823478,-1564962810,1254666287,703132638,-1648047473,-1264766393,-1337028001,-890707427,550287187,-1567689938,1952233688,-2098930226,1612730687,-280823713,356128676,1192571305,-1694534098,-571612174,-944168662,-792234172,1391603667,1769871592,429210281,-1015928286,-1998349843,-1945072305,1232882986,-533029611,-1585422575,-762756562,-763431842,-220216290,-652319480,1684955168,-1558404123,2136742111,-755888000,-401983406,-1340117978,-1677825138,572997680,1521495585,523364017,-1626970542,433590532,-754281413,1181738015,-1486219683,479737991,-1101488759,1922410631,-827454722,730956617,870528188,1584044349,-1918805917,1552769292,-1100947494,1022482215,1574073506,652522756,-1289286814,1317113117,1923462169,1295009079,346740988,1140431393,384525890,-1897811952,-1786071719,1036940231,1358733368,-137346316,1106710888,-2112490108,1902535436,-1016689025,337306348,-1372525830,693293710,-489600395,2104506766,1597896227,1304867682,1782920621,-1142198073,359523572,-492973962,-354668362,73791885,149399851,15469497,469932481,927253254,491389944,1125417403,955470381,1076474249,2125768626,-2089420445,-1522722610,1975430552,-372938453,1506813027,293229037,343928067,1812397344,-1715643612,-1606868552,-511170432,40906069,-1783388617,-895410529,-1747687595,1629191276,-2128297170,2019380064,1570493045,468989282,873334402,-1434539107,406686370,-2051609574,-137139783,-357162214,1791174616,731809599,-1436549980,-1598950631,1356323075,1933811915,-778102580,1221140052,-688745239,-555539811,-1169961024,315057934,-1476915674,1277720538,1604860534,936278730,214404010,1181706823,-1183518337,1594266397,-1981729440,-1265148750,140072045,1139372622,-576984874,668058586,709512263,-1006118869,-790377723,516737292,602057227,-1210173921,1103071724,2094135585,107340926,-1614543260,-1137031734,-262702573,1299201503,1491169814,1552857837,-727587669,-1239324213,-680298377,-1256154087,-554707946,414316055,-533997701,1241161237,-1183686846,-879266565,-898837049,-1305285262,-262666123,2112677440,-788548148,-1923298422,971655480,656617005,318186194,-354757551,1788212258,1427973136,1707544848,367343033,-495615524,-401855065,-710722371,609986821,-146214075,1888334839,778914193,-1063664946,-115674558,127535589,742657454,1313734864,-2079132546,617133904,-1894489445,-2062398831,1170746821,-1079798512,894814253,627788201,-418190156,-713759949,-270208273,-1622395972,-195772691,1643675654,-1052975698,-1182682472,1518317440,258453952,-831810935,1432535175,-940745183,133689415,-2036861452,1267029042,332845294,1354736285,-874010723,-1028657006,-1259869634,10511416,391366749,1818162913,-393772156,1245192178,2145671060,999555392,1629173064,-1056577211,-302304609,731501192,-1388256291,1983327865,-324371705,470258780,-469737307,-2016448669,-1995471865,-1241996925,-464336827,-1263325955,1545624493,-434629686,778274699,992574445,1744512849,750775022,1376874636,164167393,1676211921,-814903446,1422489549,-60212015,32623709,-151896805,2073485125,1528827755,-1867999780,711688183,-1286343290,-413938616); +/*FRC*/Random.twister.import_mti(37); void (makeScript(14)); +/*FRC*/count=435; tryItOut("v2 = a0.length;"); +/*FRC*/Random.twister.import_mti(50); void (makeScript(14)); +/*FRC*/count=436; tryItOut("function shapeyConstructor(kwazbu){return this; }/*tLoopC*/for (let y of /*FARR*/[, , null, (4277), ({window: e, b: '' }), Map.prototype.forEach.prototype]) { try{let xcpmqu = shapeyConstructor(y); print('EETT'); print(xcpmqu);}catch(e){print('TTEE ' + e); } }"); +/*FRC*/Random.twister.import_mti(233); void (makeScript(14)); +/*FRC*/count=437; tryItOut("\"use strict\"; (Math.max( /x/g , 21));print((4277));\u000c"); +/*FRC*/Random.twister.import_mti(301); void (makeScript(14)); +/*FRC*/count=438; tryItOut("\"use strict\"; mathy2 = (function(x, y) { \"use strict\"; return Math.hypot(( + Math.imul(mathy0(( - y), Math.tan(( + x))), (mathy0(Math.imul(x, ( ! mathy1((((0x080000001 >>> 0) < (-0x080000000 >>> 0)) >>> 0), Math.imul(x, x)))), x) | 0))), Math.fround(mathy0(Math.pow((x >>> 0), (Math.log((x >>> 0)) >>> 0)), (mathy0((42 >>> 0), ((( + (( + Math.sin((y !== x))) >>> 0)) >>> 0) >>> 0)) >>> 0)))); }); testMathyFunction(mathy2, [-Number.MIN_VALUE, -0x080000000, 0x100000001, 1, -0x100000000, 0/0, Math.PI, -0x0ffffffff, 0x080000000, -0x07fffffff, Number.MAX_VALUE, 0x080000001, 0x100000001, 42, 0x0ffffffff, Number.MIN_VALUE, -Number.MAX_VALUE, -0, 0, -1/0, -0x080000001, 0x100000000, 0x07fffffff, 1/0]); "); +/*FRC*/Random.twister.import_mti(588); void (makeScript(14)); +/*FRC*/count=439; tryItOut("mathy0 = (function(x, y) { return Math.imul(Math.fround(( - ((( + ( ~ Math.min(y, (Math.cosh(y) >>> 0)))) * Math.atan2(( + ( ! ( + ( + Math.sign(( + x)))))), 0x0ffffffff)) | 0))), ((( + Math.hypot(( + (( + 0/0) + ( + x))), ((((Math.imul((y >>> 0), x) | 0) >>> 0) ? Math.sinh(( - y)) : x) >>> 0))) >= ( + Math.asinh(Math.fround((x || (Math.max((y >>> 0), (x | 0)) >>> 0)))))) | 0)); }); testMathyFunction(mathy0, [1, 0x100000001, -Number.MAX_VALUE, 42, 0x07fffffff, 0, 0x100000000, 0/0, -0x080000000, 0x080000000, -Number.MIN_VALUE, Math.PI, 0x0ffffffff, 0x080000001, -0x080000001, -0x0ffffffff, 1/0, -0, -1/0, Number.MAX_VALUE, 0x100000001, -0x100000000, -0x07fffffff, Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mta(-413138546,-1808200463,-511712006,1791261875,56003134,-1708452700,88905334,-931322310,2041552895,1710613102,-513039284,-204504218,-1708126244,-1896447604,415344795,1388834801,624731177,1586636135,1629160803,-687735896,-1966500818,-2116487947,100035353,1244990189,1106577534,1292431464,-756040033,-11671934,-1700400097,2106145449,-1924891260,1491053573,1963200993,-46187615,-1077823025,-457549578,271488628,-472540482,17299814,707194545,1617688958,1040775164,-1442872596,-1909716389,-403342078,-179871,1549055840,944460273,934865660,-134851107,-1469341675,1066102715,-1883057648,-364100097,-442320134,-9173656,-1547505680,-1145713243,-601789439,-516732708,408330482,889249756,234866471,1818413369,-1369156885,161430556,-635718102,-188753664,2098216004,-1167802731,1320906325,191077772,-338872164,-1599710810,961136083,-929822754,-379676069,672393971,-483286618,2028165740,1149567030,1265547874,-1962351345,-1915176493,1285442829,1585567580,-1903849872,-93764294,1780570837,1950428266,622344694,-1629037868,-987113710,-1607864251,1200234563,108656267,-1535881507,-451946077,526248186,1557796692,-1825166365,1571558398,1476800843,-651192075,-1706613083,1259897950,1232626466,148065546,-463808648,-594582986,-200952250,1592797490,658437058,48583681,159151114,-1315201717,-433001617,-1515905986,984604606,98487098,1650225292,425984075,1118814328,-202073448,9557177,-1809837312,1185680093,1225670732,-1765178556,779993662,-273051261,115141273,-1704885354,915049477,1529325972,-393567597,-1584870493,-1030511072,1787326565,-1781274742,-1850463194,-138840933,-1025395289,465299514,1541307132,-1739555926,-166290235,1253973249,-1892065627,-1794470177,1190934781,362635589,1131694200,597721349,-531398410,-223664058,828204327,-924378943,-256579120,-498308169,-431257438,-781745043,1849693959,2045234084,1058639873,-460943601,858405426,613026428,-1183232193,-1375911811,-1426059202,-1510991374,192571093,82928890,128508951,947640077,1712311435,-1514566975,-5100240,1690670862,2046218191,722757242,-1435077509,1724162910,147929903,-387426643,645640568,104965845,16364671,1478991738,-615390121,-1775363837,-1346787931,-501253936,250931997,674418301,-1235720350,454475563,-1178372801,-1837395795,631988044,1873727314,-149778559,1666586908,-861055992,895885280,575958823,-1958058820,-1982946715,-1529083001,-387079531,-1715447606,1132698240,255022440,-1647625036,-1500546088,408486773,-1924432610,-59132158,1141891838,-1937064857,282771417,-742622179,-1420463445,1705265287,448793526,1827536457,1174786639,1781732291,-1085576926,-1771650683,-1699784038,296207992,-1981403388,-879835214,1400028674,48455670,-1277681272,-835919043,-1120882025,-1925819419,2055725708,-360644309,-236178503,896868413,-106575713,2059280874,130636113,-2014401857,1866119491,-1754049627,1410280760,-297139047,864930844,340357274,-1007049417,-1361615248,737711908,1539851256,720217602,422025429,-1441382079,-1190643645,-89672253,-1707597235,227334639,473102681,-1791770442,-1109872240,282265722,-1280932716,735252347,-204546225,-1227109233,-1102370942,-859980877,1921283320,-2030784119,609721126,234705915,1229724029,1391484075,-24682565,1342406190,1542946489,2017867610,-443518060,-1572096091,256548479,-1029550269,1604915883,1163547356,-765964668,-1992270954,242169796,244206904,400095628,1282251314,-717206900,2003044604,-691365257,1528460526,71869875,1449166175,-252471009,87452674,1551307000,-43126744,-1952896108,-242353448,-654025042,-10362086,-1915132027,1051838979,-132908637,6278857,1773426944,-1608703589,1244398731,-437791954,-1578446342,224986518,-1729528166,448999802,-505027660,28265950,-1251533567,1138020392,-1489467492,1638914937,-1583716156,-756586133,-1996220436,372923512,-1631078084,686271731,-1917955765,371736186,-1175348319,294730056,-993669251,489091882,-388730410,1711034681,1783838702,-215481874,650962866,254931853,-582825208,1878789480,-1686216374,1507710690,-2055447805,-1161764331,1576679843,19093212,-314840126,781609075,-90166456,1393518816,667809170,554300920,-369570700,1217418211,1815767760,538278839,793890689,-1664379087,-1722841758,-1589828302,1943557016,-1414537782,-1393592354,1674883406,1795622928,1379934860,1242200231,574758504,-1131897072,-1967335633,1256464402,-1989346599,-1950037431,1574066083,-1160763183,2016545021,82499335,-818773790,-1520265148,911188244,874053219,1846161433,1356212416,-1514505803,722024789,-174766147,493927103,1363104494,793616899,-599864759,-2099930399,-404062069,523031154,-1429226000,-1136127841,1234162033,-81949728,397442889,874776983,1829121847,1210947855,463692205,-243543268,-667695319,-1508127738,-1083627973,1383265028,1671797144,-1654937054,-1463190099,835883683,-920952287,5021281,-1917827560,2079143839,-1194749955,-355950293,-1659852628,631488036,-536151300,939487323,1691173357,1272840999,-1799215895,-1381417715,635734124,539034427,-1571073809,-1467043599,921535195,-737601167,11557118,1072811739,-1890517174,-1763107683,-220416258,-57863428,167486894,-1446586430,-320458812,870792901,926598368,1612668282,-1056441853,-1276809055,-75068438,746336124,-1603944683,-1770916088,1102796452,-115197116,331243975,-1063002682,-21274522,1631232765,-1096721141,-1113402624,-250022315,-851264663,-411362406,-336908040,-1186806484,-1246032434,2019907559,-450339502,-222971086,442182319,464822501,1092670314,656035274,-1024552894,-1260384224,-348772015,-894178982,-1719046769,-1380883863,2009874914,1346644818,-1175828910,-551812178,-713840392,-2116083928,200219706,-1509032795,276891862,1263749313,337875658,-370332979,-151579246,-767924632,-1743374108,-308033937,1083190607,-913364942,2005787860,1798438816,-2063288799,-877940051,841979997,1508316148,1395756049,1410694539,643503551,78872130,1576737173,591013748,1978508010,-319729631,-2025695514,552157792,1255712069,1629019599,-606206228,-1094343954,-1315412505,-906402515,-1951989154,720650315,33751639,-445902506,680982143,-661896199,1134037447,8533092,2012534753,-2099070211,1575493679,-1404132161,-705728238,-1086656755,-1387536384,-920045235,-313431867,-1704102015,1798849990,-394211850,78232074,802473453,757458161,-463206469,-1073314473,-137894557,646466998,-1217501378,296782720,968492558,-1171370258,1517735673,-852057117,1252410149,-1652078477,-1387344026,-615158347,1666488547,1502488484,1523807240,1634564427,-463756886,1105603174,-2048154090,1649379801,-730968459,9556338,-1674381187,-708658319,-569822734,171878257,-1835726531,-393562253,965163026,-610854308,126471356,1098081472,2140847923,-2119064612,-823924086,907241241,406838872,1019475288,-646621488,-249948258,-2083568832,1977193203,-1594290512,2128130258,907151422,-281088228,-657403115,1900075684,1902118146,-1608494768,-2144936723,-1861155795,-1122835026,290330509,1924262922,237033990,-535755931,-1624043602,-1563659761,-1069639668,304931686,1602539336,-142156738,1745792597,2089995957,-1807872186,-790945506,-627931277,1484939822,1770485393,849396630,-2042846823,1858124408); +/*FRC*/Random.twister.import_mti(252); void (makeScript(14)); +/*FRC*/count=440; tryItOut("function shapeyConstructor(slkwpf){return slkwpf; }/*tLoopC*/for (let a of /*MARR*/[]) { try{let xbohqc = new shapeyConstructor(a); print('EETT'); neuter(b1, \"change-data\");}catch(e){print('TTEE ' + e); } }function NaN()Math.hypot(23, /*UUV1*/(c.getMonth = Math.min(10, -18)))switch(x) { case x: v1 = o0.t2.BYTES_PER_ELEMENT;break; default: with(Math.round(\u3056 = Proxy.createFunction(({/*TOODEEP*/})(a), (1 for (x in [])), \"\" ))){yield; } }"); +/*FRC*/Random.twister.import_mti(561); void (makeScript(14)); +/*FRC*/count=441; tryItOut("\"use strict\"; v0 = a2.reduce, reduceRight();"); +/*FRC*/Random.twister.import_mta(-1361053736,-530983461,-2048916488,1513371707,-1173356805,-726648656,1651154999,2083649261,1636762771,1285717478,645685898,-1025882418,413326673,-1874933817,501453460,2141278028,-1372265150,1803686230,-1476859159,-1175576575,-1361736815,1039146950,1330559397,1909890559,791527145,1266904766,778178585,2109288269,-68008584,1155934266,1616401752,-1151162809,-1858129817,-341938023,148865561,1737502549,2130367011,-1545539721,-1515865628,-1792129780,-1295955131,944281629,-1147117235,-551248651,-395152689,-545638951,806061197,-2003350424,609392616,-1234538190,1415528625,1483911285,1859684210,-145606171,1764912923,-1750644523,1220382557,1129222507,-664008536,-1036802388,555987679,-126193744,-1807560863,720499670,911540554,-1233403713,213152565,-490936493,1818095831,-67650336,1011665498,-1993985399,340272727,-1839911742,-1593098629,-15259263,-1649467808,-1648284795,-525641104,-1829016341,583799529,-1728249440,735568011,577710306,1955438257,-992388635,-529172219,-2101785337,667717582,124684935,651884473,-960961136,-425024486,339717424,859247861,-1211854877,298207210,-1649493857,-2002556310,14045207,1385261974,1613368350,966334887,-1124606645,201377879,-2054532676,-1303728470,-596671806,-220456670,613364531,-704244263,-1759188447,-1824490258,-1396737444,-1433825088,1918139205,-1711620995,-2012371933,-1421214165,-466363721,154344802,919205705,277126915,-442564726,1433927472,-782394977,-8159655,187317535,1898955913,585424299,-105154660,2101933370,230711018,-1875705968,915101383,1705872718,308029711,1116740236,2069654060,-1136664097,134312593,567875091,251069122,-1173000961,1353251470,-36328689,1944066540,-1297910044,1659139450,-2116935834,1824957828,-727695807,-1891817048,1265490749,1892611782,-729368817,-662839008,-2092384523,220287464,-1010072588,-1982786707,-395445848,-1835888075,-167131360,1319293717,30900063,1787713502,939955140,1202288888,2097044812,-327574456,-1247768226,205787392,-1863698109,2040505917,-2107410986,518522701,-745269493,-801529930,381135830,-1598474932,-1617197883,-1965132715,-2132876952,568283725,-942337462,-2086207065,438342334,1340688779,-2043889225,-784632191,1997615095,764105574,1651070850,-1174923698,132947857,-788153874,1876678269,-2048473597,-686416101,1025213691,-478805659,-828535376,2122997539,-951934493,-798923957,1883812057,-51883195,1009298406,97793824,1295509372,-571293614,-1890006190,-785995900,738246217,410798702,883859504,-1248698659,-1533599177,-1251086331,-987781821,1434454309,2000246185,-2090544139,1923133215,713808436,320610084,2063586683,695755482,1206588963,1416512465,688808501,1933024617,1163454817,-1414472255,-1794464790,1061453961,948277700,-965267347,2057816781,1961482858,304395600,-729745419,1809005744,-45002591,33511366,-535986027,1078520268,1941730298,1094149358,-178806524,-868304531,234623834,-39933231,1843656151,-918894735,-1965276771,1482226296,-1242031480,-1227854106,-508454082,-1384426958,-220277676,1486037115,-1784317148,1588317844,-1150345281,1945858726,-1185638540,231912280,-1938797105,213106251,1208528983,-1593987688,-1293519525,-493644414,1647416643,-526153671,503526875,1269432460,-2043561417,552478026,-1103911978,-1258570319,1458924143,56965708,-290650136,2112626150,-1574605729,452038890,-1502937286,-63125334,860515734,88595700,-678704308,1824581394,1942257144,-1816016774,-1984814033,-1287963264,1604269710,-820967052,-595412600,-1160525331,896030236,1636603663,941463477,-2055227715,1994193564,-1199371650,-1222913804,727072579,1362169226,-2006842090,-190562306,1708751903,-827437112,1613403574,1141692093,-237359029,1886018229,1702612489,-1038879763,1915085729,1138232362,2065949227,-2028346670,561542368,1408115396,-856573913,1923741525,-804925702,668863718,-1040219965,-1224508559,-537269752,-686201820,1816936679,96152917,180636847,1521721109,260590138,-428210234,-78780748,-960946387,-1686702437,734968764,298595833,1807970632,-95785963,-1030890742,528489380,2054393467,911631455,-489636414,-1545020396,-865323826,847722409,718942035,-1990588382,1629351642,190011832,-1395951081,-710699353,1115961977,156792058,-253019495,1460856583,1449660446,1617142158,-1956596953,-1082506574,1652043893,-1369504964,1510951250,-1737085308,-443560575,122475927,-988797469,1648819689,1355514801,-87879666,1854881679,1670846165,1689806247,-2128064839,-1796699968,-1855246357,-753411855,-1298575904,-2042360917,134223184,1774785286,-1068503810,1053169991,1617930176,1632115972,1045045147,-1462308053,1528704262,-1458847233,-1014151634,-448142135,1845278946,1414723041,-1299695785,-314569424,-1715453738,1261491108,717249189,92013487,-2015425481,981908929,-323949221,-586798323,-2052936376,-603720920,-1753170052,1396216063,1549536556,997214870,1923408106,-1918705568,-427510339,2033368172,-1368964093,-302059744,-515004189,-1300386245,1040029827,273830660,-1795878892,1660785626,2139718279,-1257394644,1402495713,-1119413193,-109898140,-653729957,-313189892,-1378585036,210694822,-228220260,1143050676,-1858464308,2059234484,-2007596943,-122505113,554183206,634916440,653906342,-1914163290,-1035989355,-1268688819,-124858026,-1382420487,-103281862,-1228737455,-185102919,1159931799,-1170972917,2118239402,-1316506533,-2127431987,-689306256,-2060337502,-1876864222,-880326675,-1196201073,1325620260,1411342736,-237667563,-780013536,-1435745841,-360994824,-1097659109,390398546,-1157711145,129843112,1970749537,430682382,707511226,543821374,1917586731,307569292,1452680506,-761276377,-2075077279,1747921792,919639000,-1504835114,-682391142,728338658,-2044177836,1560178604,819365604,1707188426,491062181,-2033042658,1748907470,-899050248,-1667869058,49785788,-797377964,607230642,1486915690,1045861209,1409380842,1161763857,-945961650,718962025,-1323191332,278245168,-1937930672,-706696472,-780460061,-749942432,-98064065,1824584453,783388226,1538616465,-1413643869,1151514416,1934517410,42288288,1784283242,-530309741,-1685266775,810905960,-995300754,210243501,-1202581111,-1799183504,2136362769,681349516,-566048248,-227860570,298525280,793449565,-199438038,-248752742,-993010947,-1751514136,-132905883,1482380215,638871381,1544493717,-535108161,945129565,-932198229,1108249647,-154255853,-1506170117,1830511080,1917294037,-715941083,2032191094,-221686582,-1342114322,-1240436191,-498320290,265695753,-1656039166,-306831436,-390795759,1347923026,505376346,-740315878,-770689092,201882820,354347961,2070649672,1014679965,1925195461,1208524688,-2016681971,1536944709,1319022780,2129333526,-613618014,162033996,1372600013,-837814921,1196284139,243661784,-365161165,-1020433003,-741037030,856099368,-520964230,997037887,-2066452713,1368729699,2065086189,-1038655293,-283039471,-49406624,-1925509875,511968830,-1634290306,-267485093,1145024154,-240450867,1831662104,-570580741,-64864877,-2059601249,-1370403362,-191169065,700716196,834372610,-819221036,1445609578,105545934,395746775,1303563230,1469431255,641124912,1796603746,-509313155,-763377029,2031969650,-346230517,1982326504); +/*FRC*/Random.twister.import_mti(250); void (makeScript(14)); +/*FRC*/count=442; tryItOut("i0 + '';function a()(window(true))print(x);"); +/*FRC*/Random.twister.import_mti(328); void (makeScript(14)); +/*FRC*/count=443; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( + Math.min(( + (Math.pow(({y: x, prototype: x = false }), (4277)))), (( - (Math.imul((mathy0(((((y >>> 0) !== (((((y == Number.MIN_VALUE) | 0) == (y | 0)) | 0) >>> 0)) >>> 0) | 0), (( ! y) | 0)) | 0), y) | 0)) | 0))); }); testMathyFunction(mathy1, [Number.MIN_VALUE, 0, -0x080000001, 1, -0, -0x0ffffffff, 0x100000001, Math.PI, 0x080000000, -1/0, -0x07fffffff, 0x100000001, 1/0, 42, -Number.MIN_VALUE, -0x080000000, 0x080000001, -Number.MAX_VALUE, Number.MAX_VALUE, 0/0, 0x100000000, 0x07fffffff, -0x100000000, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(579); void (makeScript(14)); +/*FRC*/count=444; tryItOut("\"use asm\"; i1.next();"); +/*FRC*/Random.twister.import_mti(588); void (makeScript(14)); +/*FRC*/count=445; tryItOut("var d = allocationMarker() % eval(\"v0 = o1[\\\"constructor\\\"];\");e0 + g2.g2.s2;function y(x, x) { \"use strict\"; yield (4277) } print(d);"); +/*FRC*/Random.twister.import_mta(-680639063,-366546217,-1358134844,755273309,-1445635466,225707021,-890440885,-39991433,-1797715548,-25281419,-1196596303,-1637282349,-1143502439,1267583717,-1206932591,765251424,-1720588816,1475538598,1079840151,308381247,-914837345,-308839182,-37752052,-1242684099,1466259381,60512435,1095799492,1154195152,-871084002,-573389428,1710508831,1676314327,-784723952,-852155689,1043707745,-997701100,-143571485,-404786466,420429927,2100234570,1012918965,1573936930,466610009,1088814988,-96773995,862507013,1080702848,-1022140872,1636324397,2071040246,1300451458,375679391,-2022071691,-882354444,523451155,1058437604,214868007,-726084350,-864011089,809591434,-1962949751,668883670,274456188,-1591812178,-59468758,1859468574,694629819,969690564,-1194696494,-838388209,1444736630,1805633659,1177143877,-1651356046,391536394,-1621721328,2105828562,-1708258624,1860570033,-550781959,-1233110521,-882999502,1681970192,-1159344503,-1857036393,-916979101,-1441260681,1102275947,-869674842,1492783908,-1492342871,461011341,2093958464,652030835,1438219956,1670034199,301448900,414177945,-374006224,1284052225,760219050,51775250,-280138828,358694924,-1638695264,1540553961,-1102103755,1566545443,-1813012180,-1940051606,-2036616155,211755622,-1849526176,2141107465,1359167137,-2057289263,1366549662,424469794,980042343,-1747630127,2018239044,-41284517,478081415,823038729,438042035,-1569998653,-1345074446,-1558571461,-501162400,-591813027,-450321356,917855773,-860514906,-825945071,-1971005650,82052904,1579041367,355640474,1498778168,795022897,-1741743690,674272572,1881069450,-1720178467,1663942565,-295039202,-515522793,690579722,654141670,711739479,1396853312,2144017545,886150634,2053764940,1166398795,-905487765,-1246261683,886521121,-189375777,-1530855649,-2030065634,1614875691,-854289999,471196939,-1774895751,-1475480851,-239774122,-882879891,1848148724,673423486,-1995446859,-1808646340,-1653223238,-254179208,2052727203,-368674076,-1040015969,538202187,-862964250,1271361763,-1738817023,-1567848477,-1694261738,-1068537675,1916452840,383042939,173904308,-1334186046,1881340215,850945546,827624254,633512859,-775545669,663854104,1579847680,2031613076,-1779176180,1508684573,497194563,982216642,629718368,2043330790,2027629104,1252483189,-1257787424,277342846,-900699291,-2081819384,-20437501,-1549334239,-2136461833,-1288267650,1096238950,-21795847,-1021998877,1283264626,-2054480001,-589972461,-1911782653,-1408049239,-704741763,-914234007,2032051800,841428267,1817741416,-489488743,-766460790,-1009617724,1356581145,473108723,-1601499240,155591709,-1227833246,1178348916,-1223125374,1383332159,-499321705,43928408,2050119786,-2119998292,1117753421,189227188,1484083512,1053949311,386745669,-380404478,1917186777,-257521310,-854798715,-954981490,1257883988,295394840,-1537426172,-1364600592,-111260233,275955727,-1308706640,2131248731,948089252,-1578967665,-1685550130,1197137227,835283702,-39585679,-2004183660,-1649377433,80916505,552968463,456722062,-2063634079,-1615556490,1194831969,588646089,-2146320910,-1302686471,-1986515373,-769072075,-1685423440,867264985,493473713,-1692449711,2812664,-60614685,-21191217,-720746460,-69812389,1320643705,48612729,1789301411,57582049,-553600005,-1512987935,1819726692,44224541,1336688205,-2128060882,-941108686,-1949479746,839014075,702959874,-1172649272,2031551438,1530342201,657477596,870379928,-337612620,1151127672,-840022199,-685770227,1070414954,1984324087,-1177069230,-848756504,-800455544,-1437111365,-344000702,686774783,469924904,-1163931273,-1645029179,-1922538328,-306694243,-2087652840,807123153,-1137271981,-365301927,473247601,78058696,-1134138402,252780737,1029941105,-843286317,-500855721,2093364818,849568551,-127724738,1668528582,491688528,-1862945554,630392629,2019201044,1648246082,-121195893,-1423451177,-838914384,1871519673,104590834,1303010016,1504152206,2100829186,2127470299,-1104508335,541604403,-1631874029,-219252687,-2078882809,485657942,1766654786,840456716,-1136958773,-882067251,99212026,-146965340,-1504383052,295608039,-131553365,-572336787,-1290071623,402736635,-324649274,-960165500,-1961289920,-112882048,-1941824578,621968968,-852345095,-255684029,-389879698,-1746873694,-2051218195,1191739211,-1412761005,1657037278,518196289,-1387550046,-1094574401,1971181621,1987900601,957197019,389948603,1477832611,-1563314950,-2010512238,937355818,-78151283,1586269302,-1374806164,74198271,-105043521,284721306,-1860228241,-1846123752,-1661458795,1898141616,-1604781249,-1171246210,120017032,-37508141,786700910,11874078,1520983665,-1234087465,-1182530807,-36293395,-223823514,505610403,2037922228,-1044352098,200058125,-864142864,516156525,1492901936,-1822613867,-378883270,-673734205,1801314771,-752546964,-440477022,-1103315848,1894908850,1088284799,-998676979,-1236558878,-791233421,1932358823,2036537543,-551648749,1965355653,-979626880,398294140,-1191963990,-98084435,778950824,-1927932519,-1584723383,321876964,1229140805,-2055574674,-613555643,1784827531,886258424,-1804582915,569041504,-1374170079,202781671,741854340,-564471292,1140357531,-220264695,851599160,958189345,919862384,-1948011898,-1991641553,1074172937,841150971,2103998341,-2016504491,1824968358,1920655856,-1623986134,2144189781,627961146,125313317,921157424,-2035396692,1130614330,153572992,-1305981193,-1467390589,-1145292499,-378844504,-1336117691,-1194055178,1413698758,-2000294552,2059536352,-274784754,1546818727,586051101,-1777713988,-583115291,-1633397171,1789757391,949936765,702142187,324354156,-1663201799,858303110,102943925,-832923955,-215924441,-1583066247,-2144327316,-1210433915,-1248685910,929658692,545815174,602146911,805738888,-433292255,-1656709188,-35095437,608647437,-212796841,50394643,-411712095,812151462,-1299618368,-660285965,-1904959469,771581397,-1198560129,-962236318,-1092596597,-1690769235,-47673719,-500141444,1531016953,-2072273872,-1575880761,2038538272,222554083,1355978942,-489741747,-1372949026,1999154522,-118793466,-2082917945,-1241568731,723867945,-509973937,243025327,-573947653,-1778319523,227601634,888609477,1212813401,1351050007,2074019024,-1837885689,1982004977,-1665900627,-1138862780,-1224316539,-1057617691,913672868,1701043590,264040732,-1828482440,-1574592631,1007030182,-1900536604,-1910407663,1969570937,-1611004989,209506744,290622410,607781664,1799452552,-1768810893,1254816417,-807027708,574595642,-683206087,-1386033293,1517765724,1102780496,-1818428160,1687945877,794509226,1289826901,2126026925,464548026,-983844604,-897164263,-707709754,-1829814823,898662727,864225252,1026975968,-530793975,1554729986,1709299155,1568880110,1720077131,858982559,-1987638629,-2074980865,407535218,-295842573,-2066788367,-1146861579,1194652385,266028664,1282809650,-762035710,-1538412161,-14094335,2048500703,964090539,-966882665,-1108910376,-406968831,1353027926,-1949317905,69550499,1839140882,185285531,2015187312,1263556755,1475430871,631209730,481398119); +/*FRC*/Random.twister.import_mti(125); void (makeScript(14)); +/*FRC*/count=446; tryItOut("mathy2 = (function(x, y) { return Math.sign(( + mathy1(( + mathy0(( + (Math.asinh((Math.max(y, y) >>> 0)) >>> 0)), ( + (Math.fround(( - y)) && x)))), Math.imul(y, Math.sign(Math.round(x)))))); }); testMathyFunction(mathy2, [1, null, /0/, ({valueOf:function(){return 0;}}), (new Number(0)), '\\0', false, objectEmulatingUndefined(), ({valueOf:function(){return '0';}}), 0.1, NaN, '0', [0], (new Boolean(true)), [], ({toString:function(){return '0';}}), (new Boolean(false)), '/0/', 0, (new String('')), '', (new Number(-0)), true, -0, (function(){return 0;}), undefined]); "); +/*FRC*/Random.twister.import_mti(295); void (makeScript(14)); +/*FRC*/count=447; tryItOut("\"use strict\"; /*tLoop*/for (let w of /*MARR*/[]) { m0.has(this.e0); }"); +/*FRC*/Random.twister.import_mti(338); void (makeScript(14)); +/*FRC*/count=448; tryItOut("\"use strict\"; /*MXX2*/g0.g1.RegExp.prototype.test = t0;"); +/*FRC*/Random.twister.import_mti(354); void (makeScript(14)); +/*FRC*/count=449; tryItOut("g0.v2 = g1.a1.reduce, reduceRight(f1, /*MARR*/[x, NaN, x, x, NaN, NaN, NaN, x, NaN, NaN, NaN, x, x, NaN, x, x, NaN, NaN, NaN, x, NaN, x, x, NaN, NaN, x, x, NaN, NaN, x, NaN, x, x, NaN, NaN, NaN, x, x, x, x, NaN, x, NaN, NaN, x, x].some(encodeURI\n, (eval--)) >> (x), a2);"); +/*FRC*/Random.twister.import_mti(584); void (makeScript(14)); +/*FRC*/count=450; tryItOut("L:if((x % 12 != 11)) { if ( '' ) {{}yield; } else {v2 + e2; }}"); +/*FRC*/Random.twister.import_mta(-394795701,-1371838115,-546146453,-2047506860,1313132993,545714159,-1763375916,-365658131,1544002971,-1032236657,738172389,-368611715,-59016525,-542688410,-524339609,-1254297103,-1775287362,1267634034,-1910803613,-993210076,-1223963161,1966300299,260152241,-327551128,-1069613898,-1275766793,-888177582,-237139508,95716117,953654844,1296247062,-1767787408,-1889525242,-2033220848,-432192761,1425770956,-1556544228,-1499306933,1207213154,1480181654,1540152596,1366513651,936346554,484511295,983269744,240698216,-1398818171,1212649600,781695903,1870830340,390131582,1104774048,265709041,-498985042,-1946483953,-1098579284,-2075410784,-211903121,1947696577,1110280991,269964528,-84744137,575484143,1193706804,1102668543,106469508,-1783639859,1550034016,-869672413,375783614,722059703,-690316453,2092156617,-728178769,1885766365,1538252627,175055941,-660862409,808657551,-2127862810,1820879129,-1073208065,754135576,1779656249,349174598,2086193953,1090857884,1918352533,-457644806,-263396117,992645655,1649751559,-1467463813,-1126792218,1978905777,-1772123857,-861604,205811045,-694817612,100483769,-1655271824,76423004,1284664499,-1049417315,130060172,663453244,2006405794,-1104286189,-205781985,-315875959,1724378037,721761391,-691964973,1470452654,116920203,-1789817284,685853596,2003659707,-1847401180,-1689242493,-1750743980,1706995164,1496001704,443674133,-1514141333,-278492922,237030304,-806345797,1819052892,-1883448173,543321517,2098969642,2047977191,-413950896,1005822900,-1153141225,1514916595,-832182447,546524697,2067734913,-1393356392,-1143580158,541822612,-1011141084,-693146176,-405394693,-1990265730,-2055320786,-2119272426,492191717,-291033406,1257220578,1185677174,700337533,-903224549,1600596052,2138929931,341177397,194955189,1963613867,-1941181620,-1338111717,1140969506,808956394,-251116017,-161302577,1922689016,40961283,-1947479044,-1846307907,1531679828,1786833789,321762228,1924642429,2143930323,938230292,-348308800,-250674998,1367984093,-816704125,-1980372098,-568511989,-1649211888,1447452766,-561782729,2073448567,59541339,608335168,-740659428,-847548071,419880139,-2072297531,1615579624,304292064,-589873085,1448262276,-1877001086,-900018672,2076441770,569857583,-1251841304,-1203775257,-1542357353,-186770685,-863192370,126141080,113248357,-373824090,-2069025923,197714982,-36242112,-1618783310,-599218436,-1040929275,-1604320594,640311736,282872023,-1901371384,1154358244,-137179582,-1873325447,2005166263,-133793990,2105285799,-7305660,1287070023,2102966021,420655384,959074811,-818417497,1482564741,1428992496,1134098773,-1922478187,436548525,-200190193,-2093583325,384217552,-355017685,71041610,-637236420,-863658245,861716369,77681091,2133275123,1848720080,-56650347,1216682618,381242700,1794998043,-457942940,-770661836,-459162737,782821974,552360212,491511629,-564458034,1359114692,525888104,-1029412895,2087345514,-19270020,-215825109,-411283498,1903356711,-1667926863,-783570994,1448107603,-905683044,2014694273,-428710192,-1307036981,240131473,1824145446,-1786562698,-561284774,575120988,-678368435,-697969497,-1689159930,-1571331374,750925857,1490280596,-288449870,398291485,-1975223518,-631776900,-1135825538,1649215512,-1798971955,-1933122405,931269453,-1644085163,728858420,1559726967,-1344654534,1400940257,-352298443,-1037454374,1639883693,-1475125688,-990533730,1211627709,329211017,-311676307,1383942835,1054142621,-1643174720,-1611744566,-1898401220,1996016272,1920695090,343787877,-1926877538,132695860,700971226,-28452097,-1083323789,-1247483206,-298027729,1392650487,876334525,1465574808,2028021546,-531617258,25676755,128895197,-2090484833,-636600349,-886370348,2124784939,-270861960,1508402453,-137473042,-2112067700,-2113545988,-477408095,1857892802,-524024022,-353616935,1723485455,-1550588399,1506464520,1310645444,-1717349192,-1828776995,-1115350541,-1149894381,1528996829,-12266726,-1670636574,1827447981,2033447888,-295745689,351531367,571854327,-1155900110,963526827,-99697264,-2035332514,-1515753171,7151078,-395443763,-1953745569,1803093083,-680881040,-1145431678,2046493626,-1920645791,1126763094,-2043167356,-1441944960,-1577638108,-606614694,988800141,1623687656,1765231570,-1521006701,-1858507957,-1138266100,-1521254261,-1152658444,-920772949,1775808090,-767800395,-399991952,-683895768,163942142,581544857,-251422932,559901591,-1256373178,-1383218470,-700803103,1832338232,-1662198710,1254962461,-23220140,586984240,-2102749476,978094065,-1463983034,1333651916,1645868928,-1407772299,303722393,1757114549,-561519031,-565729916,703568375,-730433430,457789804,-1669989666,2061032424,-228899378,-278498362,-308590442,-973586798,-1572592835,-1239249151,1046401272,1282506710,585622297,1660705980,654085670,1381071132,1395145598,-360958764,-1069098690,494353015,1340741850,-1750501569,-152621954,-430046487,1276041498,841669291,-397267525,-552012032,-732041844,-1070420055,636465676,-145297670,-1180050517,-653165268,-952313350,-110677351,-177210379,1692996484,-1682047187,-495982010,-296963194,-1352272012,-1028359288,-1571086807,252270426,369573113,935558325,-130476066,206413420,-971100646,-1778339411,536144622,700259527,2050854648,-1761641998,1298814774,-1630275521,-1402475409,-172429821,1019561860,-498122826,1838270318,-192570723,-403944947,1272069548,1997056593,1852757083,1688784832,526164010,544675782,1511870210,-506801431,1092733878,-1267030099,1432389488,1647929752,-177477402,-1954830362,1990619565,-131605643,283890171,-1490521890,1892353929,1410098735,-608958983,-1011941462,-277627486,-1075432557,671212622,-1334450648,-1943908246,1549381141,-1634505236,-526251583,-1923505384,-1915654395,-1961539003,716035618,885093605,-221417893,-1603349140,-264110853,1097815931,2063013000,1690592936,-922789353,-856562530,-1786620293,-1025978005,1077125251,-460882687,-642216553,-863466741,-1778896773,1066704572,632636481,279354003,1555781099,-959944314,-2143833215,1868532889,1925542211,2048132844,-1766076060,-921035217,-461706137,-1297276993,-1373838676,-1316200705,-655895250,618900326,-639740612,-1641387912,742725006,-106578942,920114951,1393675740,-498521693,167006165,-949461308,-1694963571,1996666143,1602806129,-987411264,2048266034,-2127234383,-107290345,2038160805,-430231484,-1846404594,-1446161347,-2059376130,1545459499,3229250,-129466116,-1493536778,-498762180,1957121183,-1775018539,-880056082,-1301081781,-1101952326,-1008680256,254682160,1959777909,907608563,-543596750,-1784519326,-2018896584,1855876101,1361538706,-1297674770,802026922,-1716026960,-987373960,-1863964685,1456497773,1718059345,430743060,-151702083,581621892,86811226,2089995846,-1787067531,-743401792,219443697,-555597884,1561734052,-433547847,265384322,12115069,-30050392,-1705686969,1859840238,-2090055670,-1200403894,1997084780,1137657940,1599058628,1286456097,-738239538,-1932532519,50280623,-1083286397,-1792353194,-105661545,-942923995,-1110292859,-1995182850,288185932,1690993621,2147024057,196913702,-402753689); +/*FRC*/Random.twister.import_mti(78); void (makeScript(14)); +/*FRC*/count=451; tryItOut("\"use strict\"; for (var v of g2) { try { for (var v of p1) { try { v0 = evaluate(\"this.v1 = t2.BYTES_PER_ELEMENT;\", ({ global: g1.g1, fileName: 'evaluate.js', lineNumber: 42, newContext: [ /x/g ], isRunOnce: (x % 112 != 104), noScriptRval: (x(y))+=yield x, catchTermination: false, saveFrameChain: false })); } catch(e0) { } try { v0 = a2.length; } catch(e1) { } print(uneval(a2)); } } catch(e0) { } try { ; } catch(e1) { } v1 = (this.g2 instanceof e0); }"); +/*FRC*/Random.twister.import_mti(257); void (makeScript(14)); +/*FRC*/count=452; tryItOut("\"use strict\"; switch(((4277) = Math.log1p({})\n)) { default: break; case 4: print(null);break; v0 = a2.length;case 2: case /x/g : ;break; }"); +/*FRC*/Random.twister.import_mti(403); void (makeScript(14)); +/*FRC*/count=453; tryItOut("mathy2 = (function(x, y) { \"use asm\"; return Math.min(((((mathy1(y, ( + (( + y) == ( + y)))) >>> 0) < Math.imul(y, x)) ** Math.hypot(Math.fround((y <= 0x100000000)), y)) | 0), (Math.atan(mathy1(((Math.max((Math.hypot(( + mathy0(y, x)), Math.fround(y)) | 0), Math.fround(0x100000000)) | 0) ** y), ((Math.log10(( + (Math.fround(( - x)) !== y))) === x) | 0))) | 0)); }); testMathyFunction(mathy2, [0x080000000, -0x100000000, Number.MAX_VALUE, -0x080000001, 0, 0x0ffffffff, 0/0, 0x100000001, -Number.MIN_VALUE, -1/0, Math.PI, 0x100000001, 0x07fffffff, Number.MIN_VALUE, 0x080000001, -0x080000000, -Number.MAX_VALUE, 1/0, 42, -0x07fffffff, 1, -0, -0x0ffffffff, 0x100000000]); "); +/*FRC*/Random.twister.import_mta(814265381,-733142950,-1068476938,-999923762,569811822,1141861286,-1911850839,1528588135,-1439795327,-1538519400,1921835432,963815426,1178338372,1025594246,-656434869,-681420031,522165329,1818119328,-1929372844,789978810,644423688,1015832122,-2145487691,1581362851,-1937545998,1197497648,437426266,-47284365,1312470530,1971957749,-517148948,-2013870019,1578171391,-1510209146,-36391975,-411324688,738689043,804558635,506870112,-978042063,1856629798,-809882543,1464506473,950170292,-260403378,921613878,-1120750228,1233106154,-827949285,-19952566,1141232212,90078474,-749805167,851018462,-265849310,-2137938728,1123868737,-334866075,-1374074455,1070126797,1548276506,-1000098108,-443716480,802467853,483960492,-1167965058,336354504,702751804,106518377,308258875,503451933,317308344,-1887332212,57986567,-649160680,1757067360,1386938313,-1966924748,2006784930,-2128457720,-576426656,1227176230,-1938418683,1350218401,1190004646,1638096504,341428536,1732048141,-2095600846,838209842,593071162,-68492593,-1504929146,-216351876,890176662,254962343,-1960386494,-251726941,408481321,-505873766,-39764931,-1757388088,163889721,-809363540,1335628043,-1520909123,1723616791,1838092744,1649398046,1635651392,-1507328822,-2035712557,-1725970548,974807670,-85378075,354415285,-666300022,1815417914,476049545,-2027747660,-413335403,-296925377,-737941674,1869597035,-1374959340,-1952911653,721981817,1235409682,-1151100201,-643883878,1647741950,1657276970,-1281458775,849763651,-160433513,-1908845750,679580179,5966332,1089326200,-1529571469,-201863251,-508978763,-113619396,1337204102,859697310,-628813241,1861890073,-1183678455,-512460758,1682070205,-2025915054,715239534,1254082725,652519903,414261557,-113316821,1443300869,-422454217,582575419,-4254543,-1200854537,-2074355627,-1981168901,138528741,1736016582,626074839,-1744735204,-37918462,1997215479,-1881099242,-655390210,-1616542705,1809318671,345981565,-1515738192,-159490144,2007606357,-2063366844,-2001159187,-1687967091,1671711928,-915171792,96295978,-412209578,1449432330,-1224538408,-1953055984,-322377226,1867722624,-2091140393,-44913044,1770617568,-1792563,-1781938054,1845886744,1956466695,-262740867,-1370396523,-2065208775,-1001190736,-1744734456,757635629,-323564324,1727955226,-1107880220,4062378,1510021693,1479699819,-40421287,1239574220,202301837,829153722,-1252055812,-2083562855,-539307003,-1818645477,-1204032377,-145895004,-1034232650,384763590,1595458049,-1257187485,-157556544,1526907127,-2136220475,-1407696517,-344510485,-1256903673,1792960726,897054571,-286259402,-1724748005,-608994125,1510035872,-132350913,1925053775,-281061776,-554746014,2070718759,1799242202,-1033163740,410613340,1278886719,-1182485385,1531367880,709321025,1263833991,758482606,-1862643352,-1304143737,927596473,1742408170,271853595,174372048,1786978314,1628909797,487102231,-293545000,1068256018,539350346,-1701776712,491610515,-1798993637,-843692705,-1195991636,1989405319,932502727,1269548008,716732750,1685302017,-123282674,777662809,11769381,-1208799529,641337415,-1618629579,1276070195,-1237350184,1224132233,-2107289352,-36688367,-598833560,-1208555135,-1876235888,-383228684,-1020091113,1643020402,762205974,1460267261,988196370,-316865164,-1966033319,-270861340,-1551947348,1041120673,-158223162,-1093192194,2132199664,-79799119,-1685571672,1628315080,610129049,-125982981,-48998880,2062879154,-234892493,-1910128024,-1840041979,239689784,-150310579,1766264632,-707243061,1731217719,1470999202,1943996768,624555666,-146258732,2039216487,368863367,1455767074,1880092029,513963610,860027186,-1156647607,691381909,-2105066856,2036504458,162435859,-220863198,-274816909,-131110128,-1168075938,-1631589046,666009041,747503030,-1971139695,371234721,-1773797537,1792528608,1934250452,-1294261855,-1777577375,839949527,-728187946,-1136513781,-610939729,1133557474,331669924,-772854094,-1707742553,-2146358302,-1835912964,633339319,-126232299,-1046442698,-1494305714,471895056,1597101366,564113157,2017818080,1922094000,1531988654,1391982906,-1003118367,737035204,489734329,-668395858,1815993794,-2143478626,-98463490,447924422,1673945868,-1217464342,-1434094976,-1995357955,-705700413,-270448213,1454045224,1957824616,-2128693185,2067873829,-449405249,-1915569402,-435055872,-1832545905,1227304751,-1151478834,808455396,-1126558781,1078904815,315581894,834626475,-683352072,-291842688,-204798169,-1956299610,-1330746308,-1986929562,-1628385439,-1342771160,12709982,-1038524586,-948788128,-123037648,1426457175,636334952,757655926,210214522,76343828,797335583,-1429567776,1482582117,-898667732,-1296360969,-1686384619,429820875,-509106786,897060653,-1416589889,-1597256271,-1276020847,-427901365,1172536921,-483875986,-2022058981,-1384941690,-244510502,-131982441,-90458167,-884752207,-199062950,-964394789,-367375103,1007056560,-667963167,1354145371,644750668,1713379147,-931526991,-408355334,-1201394204,436635919,-15658355,-609910662,318175287,568693139,1687916292,-875655864,-1004068288,-2118272765,212876109,-504241919,1681751728,-1393327034,656278180,-399022509,158039172,-1462319104,-1170376682,163288250,368780503,1976189571,1336097331,-465507703,-1202055943,-317856281,-1543174350,566225914,1176229278,2099109092,-817080384,-133387175,-1061555048,784174417,-1883675815,1053133722,-2146418841,954707884,2011202057,1027248026,-1551274629,169067985,-501034004,2008601775,-543396076,85573473,1704462009,2026601137,-1202307850,1169740089,-568165072,1507569335,-979539633,-2092536092,712817725,1560389535,-1568144873,-1398396631,912310861,1185070608,1087850754,695451313,1994135562,178493631,1776258949,-1804283020,-684475415,2125997244,2082505114,-406748361,1895999282,278364054,-28758189,1401729830,-1877390654,829495986,-382781968,360307998,1942083271,1150416315,1454104504,-1052587781,627383332,-518161760,-188425713,1785045287,752692610,1114253579,-45171322,383438952,1568562782,1207896772,-90031231,1939897760,2036791017,-837329096,-1610350565,-1467379560,-1179928228,893492356,2067955772,1019886940,1931181141,-879060267,-1142382021,1014271593,-18277844,-1375897016,1024874808,-415875669,1502027545,-1611045134,-1609196296,74027027,-1875091820,386934134,170655358,-888999118,-224813479,1397880715,1695697198,-611604740,-1969592144,704960479,-986134364,469069822,-1877915836,550125460,-204872170,-232676179,-1951367541,-575517589,-1677533513,-520098553,-1849634430,-31227605,-790308842,-1010556546,2094380577,221006590,-517316638,-1773766685,-1439337322,2125620012,-1907722736,-738251284,-763492969,2118556858,-115187537,60986744,-962334260,363275495,-1903840804,-1309581874,-1279306267,-1353972868,-1800764116,-1330761019,607050701,775563531,-1784690348,1563644929,-1568495180,-296260178,177429773,255231070,-1594287083,1424398663,1516818416,-1540548895,964612531,1253227783,-812076623,-238502427,-706649616,1177857166,-2018552718,1447465913,2032782477,2083073741,1215175427,-166374860,563263434,1910671089); +/*FRC*/Random.twister.import_mti(87); void (makeScript(14)); +/*FRC*/count=454; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var ff = foreign.ff;\n var Int8ArrayView = new stdlib.Int8Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n (Int8ArrayView[0]) = ((0xf847e7d7)-((abs((imul((0xd7bc278a), ((((3.8685626227668134e+25)) / ((-536870913.0))) <= ((0x81bab0e1) ? (18014398509481984.0) : (-1023.0))))|0))|0) > (((0x4c867e06) / (0x55c54df4)) ^ (((((0x9bcce99e)) >> ((-0x8000000))) > (imul((0xf9ea56a6), (0x18039cb2))|0))+(i1))))+((((i1))>>>((0xb1f902bf) / (0xffffffff)))));\n (Float32ArrayView[1]) = ((+((((-3.022314549036573e+23)) - ((d0))))));\n d0 = (0.00390625);\n d0 = (-268435457.0);\n d0 = (+/*FFI*/ff(((1.5111572745182865e+23))));\n i1 = (0x65e2f3a5);\n return +((d0));\n }\n return f; })(this, {ff: Float64Array}, new ArrayBuffer(4096)); testMathyFunction(mathy1, [1/0, Number.MIN_VALUE, -0x07fffffff, 0, 0x100000000, 1, 0x100000001, -Number.MAX_VALUE, 0x080000000, 0x080000001, -Number.MIN_VALUE, -0x080000001, 42, Number.MAX_VALUE, -1/0, 0x07fffffff, -0, 0/0, 0x100000001, -0x080000000, Math.PI, -0x0ffffffff, -0x100000000, 0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(450); void (makeScript(14)); +/*FRC*/count=455; tryItOut("mathy4 = (function(x, y) { return ( + mathy2(mathy2(Math.fround((Math.min(Math.imul(x, (-0x100000000 | 0)), Math.asinh(( - (Math.log(Math.fround(x)) | 0)))) >> ( + Math.tanh(Math.pow((-0x080000001 >>> 0), (x >>> 0)))))), (Math.fround(( ~ (y >>> 0))) + (Math.PI >= x))), ((Math.pow(( ! ( + Math.hypot(( + ( + (( + y) << ( + y)))), ( + x)))), (Math.fround(Math.atan2(Math.fround(Math.fround(Math.imul(Math.fround(y), Math.fround(0x100000001)))), Math.fround(x))) | 0)) | 0) >>> Math.fround(( + ( + ( + Math.pow(y, -0x07fffffff)))))))); }); testMathyFunction(mathy4, [0x080000000, 1, -Number.MAX_VALUE, 0, Number.MIN_VALUE, -Number.MIN_VALUE, 42, -0x100000000, -1/0, -0x080000000, 0x100000001, Math.PI, -0x07fffffff, 0x0ffffffff, 0x100000000, 0x100000001, -0x080000001, Number.MAX_VALUE, -0x0ffffffff, 1/0, 0x07fffffff, 0x080000001, 0/0, -0]); "); +/*FRC*/Random.twister.import_mta(-1548268469,-19339878,-842670129,1346019817,-534844795,1501538539,204217180,-652637880,2009838628,1416534434,272550523,663939126,823577052,531495578,-1427638982,484971995,-2070659161,-1644438081,1310033046,-225233510,725491760,848758586,1457760831,-1246706200,-2050060077,1223307892,1152855048,-530280678,247402659,-1040488532,584175446,211516137,-641874830,331375465,-1254533213,621886935,-1292595718,-684413871,-345764068,1362815839,-654986820,987232858,-67517280,-2141623741,1097978388,-511162309,-1088792049,-1397917851,1585600438,110716462,-916343859,1955127895,-656312212,883130460,-1581698195,-1672757681,66983979,-384166225,786152938,659494153,-1964567710,-923021738,-950436765,462911361,1761304764,94704727,-256804713,578686866,2099937573,839696227,684406054,1104878040,-1515254984,-471131188,-1940787095,1894005667,735839051,-193466744,1045734302,-289273385,1551184703,-388810540,-871406059,-2130809176,985819885,-401721488,-584179978,-568870259,1575139320,1949614244,-600392951,-344952395,1010142343,-2069495941,-951440581,-1072817810,1647421418,-10978314,1844304594,1162882262,-419030963,-343272562,1631827398,-1106120360,-1562940368,-1668640802,1013190747,1492674314,-1530145580,-1004518004,-1528550774,816800348,-1160990196,-713127393,-1022347757,-764565610,630602043,121504345,853580264,59311461,-78131618,432022892,-1439784495,1101937458,495325001,-370547641,-976480471,1887283131,111816554,1573283965,1930308638,2106143629,-696168938,-12512310,14918497,938099287,1938684254,1494225109,1165337694,1089951506,1096150173,-986276286,1385927239,1658615923,-2004876128,-1653681018,1311468046,-883778002,-681765912,-42572667,-122838401,-2126443083,1833752987,-858308772,980328504,1377742629,-1375088937,1483234518,-1312350223,-820676006,271036359,795201531,-1904630618,1454278733,1345029192,-2036673858,1423598430,666235648,470103541,-60390469,-166703796,523065166,1634121036,-1721521325,-1500683333,2128526402,-495046747,1284783275,714794162,-1590231478,-411178394,1040914484,1050369493,-1978133145,-1916275569,-268556002,148248535,-102506032,1264205912,-1395174751,176300490,1608024726,1229353285,-1314845120,-1226752965,799437629,2144426331,1757696038,-848984540,-659931480,2134036236,309706147,1564830086,-1956363738,489531988,378180725,1531374532,-1387236866,1808250680,1073142796,1280534938,1086807438,2093091698,-811922578,-1703486507,177076013,-1972480713,-1261695061,222506989,824935853,-708425513,40123629,-2002715031,-785168962,957465174,-853438240,-1302290387,-690456544,2104209136,-88220588,-2052380997,349168643,880738363,-1456826980,961529648,1079254812,991495699,-192926153,302893275,270753742,1402028468,368206970,-1725759681,-382249149,298900928,-222855798,-469109043,591595652,-222454874,-1806703300,-2040708835,349975553,1306028060,1911995405,1239918519,-1724650505,-155514304,2097670879,478777420,-722092754,-999398529,642982897,-624775257,-290471124,896920013,1772540320,1961822891,-844526309,-1847156987,-945116889,1316799024,-668948007,1668902799,1963978483,979833248,-1584577552,495362626,873619542,1975142955,1057087419,1518650216,1665857394,-731985273,2003446353,294384891,1580006867,838352514,946558915,-712468129,-237502759,-940073870,521542990,1411022977,918476440,423024113,574692314,1300749083,-1940083807,203358732,-718797348,1758282079,694653899,242094259,1453754258,1434499022,2034647722,1055072522,458326819,1247719597,-1196629623,857405330,-799867223,-1009196511,-457074106,-863288892,1715901842,-1845916472,1337999253,-1072501084,-1657091354,-1946893226,-555001950,1149358869,-1348221825,-31725894,291279127,-661662336,-563287332,88994664,492044366,-484329225,-309814635,1448804841,706932352,-994987491,1993551835,1443498748,-779107590,151669430,984191491,124785648,51431591,-131990915,-490758303,-201567023,1395180185,174814647,-744466169,-841850656,-366595040,149365580,-699317939,1289598994,-1524870734,587922844,1220176226,1918796518,-87471293,1101760893,-272029746,-756468067,697851900,-1929895176,645585084,-830422954,1767976713,921287155,1095459538,-1205447107,532870692,1396656629,-1825079467,-936612410,-1817478481,950910992,967116770,-1776084847,-1024154037,415687029,-1981494954,1732559068,2089287099,555116197,2120464079,-1510769762,-1402341866,-1760723928,-1757276423,-699786029,-2028071355,-679900857,2072636340,-237520770,-1271443438,1644653907,1146225643,-1196528248,543201827,1221996378,554061155,-1200683784,-986435189,42725466,301309521,1583539487,1007587337,-1485491849,-449077396,-1329555228,738074277,2134872458,-1460649703,799741242,-597471486,740562154,2072613527,1868817896,-2042439734,-1766468463,-1984529838,1536614842,1293431752,506602122,-1520106615,1048439781,-1244459447,1035174844,-1686657993,-287511260,659827883,1898885780,-249021429,1216982829,-296123541,1543736844,2029042078,-1779538058,-244917731,856892275,552607104,462487350,1022812748,1734293264,1511889395,1026979773,1057941615,348963593,-1210721801,-609070925,1475367696,2026046945,1259306254,-614968637,-504389249,2076933078,970854578,-287917996,-659187024,1343368798,-1484119409,180814850,-2020152586,-344139129,-29573968,453930011,1074744130,1090300467,1889315707,729582088,-1098591009,205107632,1905010572,1021381629,2061367230,2082590025,1807561930,-935578902,614838470,172061644,-988516738,-1376260550,2029440577,2078749055,-646627894,-1501330000,-1219681329,1905832105,-666534652,-578290766,-170684097,457876648,-1900810827,671475410,-1193679766,2049043979,430583505,150015340,-1941695543,-76417327,1125305102,-121732748,17374629,1037320048,-1335765665,1042811372,-2027215104,1079889381,1687454629,-912095690,-1394632418,2132907418,-1213738099,938124352,972332003,1624496794,-518061145,-1150611370,1730136014,-1537845428,2135912285,-1894317510,1266965475,315598474,-1360197949,1617349613,443651277,1830134150,1449795484,1644887039,550584220,1968767728,-237430063,9862266,-1688671583,1012542655,-2091646849,-320329275,1875847996,-1963839253,-25583041,-89881368,1812877105,-628922329,1426418954,-1997354882,-10067022,-876316734,-713037622,1954085288,-1320489914,-1604356346,-1374607162,-899618367,-795739446,-1780156313,5770327,953514455,57001732,489214351,1691493758,132595198,-2114156987,-1160121109,1956015790,-1670023931,16967956,1791790537,1049944315,-485971410,619804135,359532939,620071765,-1168145211,1116413302,901327181,-1516237589,-1950079841,-276477821,-792239054,2085132259,2000149148,1980778455,937646324,1971042798,-1825120843,-1315161239,-1863685741,2003875349,1749620032,-1347823074,-173934064,-910026568,832143854,-163666978,384656236,-227339093,-560111719,-1742695220,488823567,-1025275540,1681547376,703370442,1317974325,1247938248,-982522780,-1850548320,2057254186,1248896804,-140917228,-459161949,-1036887917,456627097,1300568123,-33698608,-195542850,-711084310,1966468934,1927667678,-594162675,1290274080,-1891763960,852375222,-441716660,813529970); +/*FRC*/Random.twister.import_mti(174); void (makeScript(14)); +/*FRC*/count=456; tryItOut("mathy0 = (function(x, y) { return (( + (Math.acosh((Math.hypot((Math.cosh((( + ( ~ ( + x))) >>> 0)) >>> 0), (Math.expm1(Math.fround(Math.sqrt((Number.MAX_VALUE >>> 0)))) >>> 0)) >>> 0)) >>> 0)) >>> 0); }); testMathyFunction(mathy0, [-0x100000000, 0x0ffffffff, -Number.MAX_VALUE, -Number.MIN_VALUE, 0x100000001, 0, -0x080000000, Number.MIN_VALUE, 0x100000001, -0x0ffffffff, 42, 0x080000001, -0x080000001, Number.MAX_VALUE, 0x07fffffff, 1/0, 0x080000000, 1, 0x100000000, 0/0, -1/0, -0, -0x07fffffff, Math.PI]); "); +/*FRC*/Random.twister.import_mti(289); void (makeScript(14)); +/*FRC*/count=457; tryItOut("/*iii*/t0 = t2.subarray(17, (void version(180)));/*hhh*/function lyhaff( \"\" , y, a, \u3056, NaN, ReferenceError = x, NaN, [, ], x = ({ for each (x in (let (nlygzc) \"\" )) for (z of []) for (c of window) for (x in 11), set acos z (z, x, ...window) { yield x } }), [, b], x = (Math.cosh(null >>= 1)), x, x, this.e, x, eval, z, x, NaN, y = this, y, x, y = z, eval, b, \u3056, x, b, x = /x/g , c, eval, x = new RegExp(\"\\\\2([^]{3,})|(?:(?=(\\\\u0007)\\\\w?)){1,}\", \"m\"), d = \"\\u742A\", e, y, x = -2, x, e, yield, x, x, x, y, x = function ([y]) { }, eval, eval, z, a, \u3056, x = false, let, x, w, x = this, (function ([y]) { })(), w, z, eval, x = -14, b, x, w, y, c, NaN, d, x, x, w, x, x, d, x = window, this.x, x, z, d, x, x, NaN, b, c, b, w, z){v1 = o0.a0.length;}"); +/*FRC*/Random.twister.import_mta(1324836032,842641474,2093171328,-1510229284,412210083,70140314,-2143592715,-1394127453,-1112499905,680975230,-1127909650,-933120898,1945985054,-2090676963,1280181470,-2122691392,-1559783172,1933017120,338733802,1074137191,1101022654,-1735480249,-1701928603,1172527183,372529915,375918213,-310962294,1612806549,798673141,934153749,-948618495,-2097373274,-2036619784,1332519488,1846869390,-1016330381,638795248,-2008621760,-663429687,-351547474,1961720011,-445988526,-1288679535,48746439,-1539631556,790443798,-801415448,-1285583165,-741064544,-1216865528,-51957908,1827005425,-1181547628,-1205620769,2015699107,1934740801,-1448142649,-1108995484,1372842575,-1594307200,-11172660,1088245939,1245081365,1815323671,1426405065,1663753269,535563176,1727776882,1935683195,496403780,1776196580,-756026728,-270387742,868428133,872820953,-187582399,-574559862,-1318894690,359815023,326944450,-175078682,1874756950,648423516,1924115164,-604462803,1283079852,-64451495,393957779,1794742264,-472655747,1527952371,-1016278398,1542642407,913446689,-1125762953,-1396381882,-1539633263,-173382777,2021608396,2097171802,1869131681,1913261504,719337058,911870310,1630314983,-1112038588,-1169199314,-968581974,-1048901126,214444573,-838763598,383663490,-1655562731,808749423,-1084637900,2144230798,572525729,-1704318974,-1937232821,918744818,-298386881,1177165454,-1013000643,1819164704,1229782209,257018111,320728746,-1803299778,-688638302,-1460540134,-1844812997,-1475230167,786495782,727225319,-633113765,1500380414,1677439788,635347262,-171367531,346240428,-526575386,-534359483,623964687,-144640689,299106009,242717357,229946909,-1104284734,648534189,-558950485,-112868302,1187608448,-111161399,2037606837,-1703423764,-128486000,1420946359,1374293491,-1376280693,-1277201257,-1668345073,491659458,-1141567024,-1075606661,1645407420,-942441352,-1469735920,735833937,756856253,-502038470,125323155,1901461276,1901688812,-1523929240,70001828,-1706070901,-441031978,-598480315,-41064659,1953047919,819370749,-837511136,-1806004140,-56024681,1776235891,-892491477,-1037552927,-1765638404,-2063140930,569576850,2133932160,959502793,1263664106,-134396352,-1607936014,-496344314,1723252660,-26906506,177897926,-292483589,-1607572621,-578899001,1241561661,-1126920264,-1453361014,412119320,-333899754,-700339799,356002728,1840935994,-602186981,494616066,1363446664,1500773397,203747689,1306744043,-843348477,-1506531509,-1721339269,-1859370384,-2053972694,1461605013,1038331143,-1676675744,155856561,-807915302,-408503011,1271278564,2011100967,-993512574,1697200370,1351977022,-1379291661,468022891,-1514554844,1848445000,-488623037,903933895,-1903061529,1135070347,794879991,552817786,-1597672655,-1707266866,-19328754,1637749299,1395508389,-1344449402,622991587,705284179,1109645105,-2114861297,1111366917,1319267442,-837790443,-214275847,1922383560,-213298236,-994244106,64934265,-788207610,1028061613,1977100158,1755467097,-1655965198,-615466700,1291326279,-671294813,-1440743967,1293977161,2082535180,-1525555061,723860017,-1318871001,320322352,1398947186,1440148787,491439728,2090080948,12753107,-274641814,1219233116,-2071276108,2113641874,-400521040,-1080602627,1047674282,1140294546,-779316296,-341441865,-492862330,-1531684679,2120412314,-1875037270,421442765,-810060685,-811505965,1614880089,1525212899,1505477901,883404903,967593086,415900944,1260128188,87653244,1084580381,-603876337,-1919362329,-658168584,1257896528,681910471,829974625,-236227029,2022241988,-861527120,-1346314668,1889872267,-400656638,-690680647,-978108635,-444269611,235715403,-788991456,-897322486,-1106736454,-942565010,546552967,-1260582540,139141699,-790338623,-1310323575,382949766,1998181406,-1655108236,-1587831562,84387275,820716021,-431150907,951455513,-1832719499,-1795645597,745420381,-955501310,-1078517888,-392350235,1317841158,273259638,1502813269,1809837887,-689929055,744825515,882599501,-646548057,-1448990207,131189838,931387142,-322155416,878031981,-1080620835,-878809143,-922980844,1987917249,-995535554,-1017155818,1970750166,1446411348,814008898,591311163,-748531909,-888961482,1296026712,662050445,-2130558088,-1417975809,-78930658,1305715265,-1301210882,803165285,881393219,-1806795963,1924779958,1918208725,-1351007961,-1398487731,1203767876,-1337701073,-1943641121,634290112,-161856800,-1829890864,1002840630,-1102189883,-2140097324,-263525611,1995241528,-664129998,296722077,710964448,-18708811,-1173842054,827164955,-1662403996,-541633443,1866662894,-2087237744,-117512160,-1726885435,2112649272,-1577227643,1602494624,1321008554,-762370164,470366285,1913339960,-1838868747,927682088,-40047703,934144138,-849248281,66788721,-201521634,927052142,-530643850,-429833047,118629817,-917922700,-785429549,-1665202224,999652226,261666813,-543028469,382931595,-654492321,1936431442,219568248,1270777267,-1577332569,701730162,-484332390,360313288,1662574009,-403554662,-932471719,34367331,-981258857,-75996784,656639575,-1870116835,1469192317,1190854229,-864893220,-160127460,95092033,1610946085,1430440661,68474606,-774932024,-1600296432,-483876228,-1664922632,-1235210181,-748133745,-1745397162,-509757071,-1602354163,-1732065585,958546588,-2142789563,792750258,-1659288285,968045235,-1266135792,-1632358136,-2082343542,-894961189,682586281,-1742799466,-844172529,-1539239510,-1109830235,-1089829958,-1351317960,104475033,385425033,782237595,-722616089,687008715,2124160608,147215524,1431049390,-719653733,527963269,-361169372,955100330,919681936,1945578768,1482742421,-349450789,-1173047711,-1697408817,-1622257356,-1279024133,-1134673189,-1229794616,1501344933,-1605620824,1928532678,169670983,-555354854,-348860142,-1001016873,-1088459533,-1863341002,-1271180026,143126534,-535686753,1126431430,-965961872,-1882700136,1565495970,-1034464555,1640288685,-1628081104,-830076729,-1416412326,-948603521,-68889742,2079811202,693137509,2099975749,619562571,574198150,1994425391,1596825266,455499815,340610969,681507849,28678716,-1521385449,-487242288,-1509159361,-80561650,-238185160,1157820494,-253026596,1866176623,1726801037,-1557652241,234444137,508042664,53468497,411479530,1367485882,294786592,769239483,852720641,556685934,-161074970,-102900153,675572325,-662877573,577353694,1407892491,1820889176,1094627440,1442799059,1553499201,361532537,-158963911,-1551902741,-113572576,1941987200,342527656,1932440999,-2143048841,827266241,782745582,1610104247,344001126,508658021,1592080535,282430106,1203071359,1360661360,-88825552,1078002460,1962065014,-1178970689,-416608801,1797094096,-694852728,-1587955434,-797803698,79407337,45524912,-2043775114,251403427,-1479010540,685598405,-1660680384,-1952714016,-323653008,939270580,-87842749,1592441255,1414880841,-457589172,1289707122,-427876697,186022342,190117334,244678343,166281083,531671538,952817665,-1728059414,962366051,-858158541,1641911038,1919435018,-1324392445,-1630797486,-1546174631,1993616637); +/*FRC*/Random.twister.import_mti(412); void (makeScript(14)); +/*FRC*/count=458; tryItOut("\"use strict\"; mathy3 = (function(x, y) { \"use strict\"; return (Math.tanh(Math.max(((x ** (( + (Math.fround(Math.trunc(x)) >>> 0)) >>> 0)) >>> 0), (( + Math.cos(( + 0x07fffffff))) | 0))) >= Math.atanh(Math.expm1(Math.fround(Math.max(( + (( + Math.imul(x, Math.fround(y))) & ( + x))), y))))); }); "); +/*FRC*/Random.twister.import_mti(588); void (makeScript(14)); +/*FRC*/count=459; tryItOut("m1.get(v1);"); +/*FRC*/Random.twister.import_mti(601); void (makeScript(14)); +/*FRC*/count=460; tryItOut("selectforgc(o2);"); +/*FRC*/Random.twister.import_mti(610); void (makeScript(14)); +/*FRC*/count=461; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(619); void (makeScript(14)); +/*FRC*/count=462; tryItOut("g2.v0 = evalcx(\"function f2(m0) { yield ++\\u3056 != /($)/yim } \", g2);"); +/*FRC*/Random.twister.import_mta(863808705,-1065146379,-1460319724,-468856811,-1627481431,1185041400,-1606937120,1145551824,-1397389921,-2022479182,433889799,-670836086,-952240399,681312197,-768474644,1300952115,194019368,-1736621184,-1908344124,-582170250,-1562243466,422485898,-134086263,1643092924,-1518532877,-689664077,259606716,-1982336740,1268132769,1805477516,-574535677,2027465086,1747904221,-391612980,-1368546835,-1946901593,2001270770,-131824061,1044079204,1116068893,459730395,598817677,-855464204,1896175271,-1334008559,-529124563,-1028976419,-1402401337,-1597740012,1498419681,2146568506,1264294327,-2082236059,694740562,1456795747,-2005548547,1056317207,-1532784851,342405166,-1369064530,1509651094,1597711657,869411116,99228544,2079702090,-1744740478,-757047992,13018095,-1777761171,231542638,-1456449271,1488024131,1576034638,-1162307072,401089007,-262912563,-615492539,420897459,554767304,-1562985243,-1166954076,-1223555708,-2071035701,201221107,-917923474,-1591287958,-1001650529,467874919,2081201158,-596442387,1596618529,-63469304,-679628831,1382111359,1226467110,560843059,-617599562,1257152118,1299647421,-153338470,-768685253,-1352356528,-2114020228,919646488,-1390906791,-512101044,-711943011,968962136,2132840057,1442033439,1098114950,1229212367,707143034,-604410035,-1057471948,418847417,-1190248185,-674539780,-1150064922,-315607290,-1518757833,923770201,729330354,2147064938,-10189555,-1753513115,-993533224,-1058449397,-1827830798,736711216,-1225312951,2116029686,-242225303,-1866150087,1318023161,1193106873,1304612397,-1194704590,1578947919,416313466,-391248959,1858161103,1078824872,2012037516,1694614407,1847557865,1511262639,984629845,-647715995,441321108,-1068718289,-1470234030,-67561043,236205351,1689065250,-1563268930,-1603297274,-1574250847,-231442795,-161389770,-1195302777,-467183953,-289595641,-1452000219,25168354,131625475,-1603414225,-826779023,1693883854,-2043930793,757494775,-836051761,-1310031777,-1154672782,-403744486,1722924995,-2079330214,1737336894,-764201303,-1346092465,2029154727,1588347468,-116547215,-1291709711,-1396969776,-1079394096,444281870,-1204299025,280528341,1265246262,1009420676,-1031540694,1357109744,-2038364047,-798193515,-1557584748,998838482,1207691091,678314324,-941384251,1349516840,-724202748,-2089926500,-550220123,-1594012932,32550335,149668936,343321715,1653105748,1404871454,40026483,-824353949,-1096337645,-1806811715,-1318296467,-1237562203,-710800760,-311340573,-798374190,2073421046,1046352806,-433785694,2087697338,1822607236,-1189078721,1225576712,322386191,-1852086387,-488161740,-631122323,-867757046,286456975,-1839710190,-1293629198,860962804,80555873,1150004622,-2019764181,551062544,1233466837,954357240,1532496043,9724500,1962674351,1908079174,1054779465,-895327435,1769714392,-1792881796,1075534542,-132134684,1567275182,-239748726,-1317416215,1765963199,853324997,1379520366,-1080046344,-1606455011,1085051614,788773317,-1803439534,648885716,2045577995,-1785931047,-1051731176,-260898413,-681466892,-601241482,-216867470,-91941315,2095483094,1640977377,-1960784571,-2049436802,321366610,1475703513,1102578784,-768449279,-1271709872,1295967484,1418828473,-158855372,182868815,1650497548,1263644411,-1885439385,1899838282,-1277127507,1117645679,-826767613,80005639,-1876965801,124237809,-1105876727,1758562267,-454741731,491559591,-312205286,-559216222,-1502692289,462238567,-707115501,-640882181,-1605606558,-1776719600,2098356553,-703388712,-764479316,164929655,-1974802660,1756664484,-580738040,-501278905,1275288397,-1655261156,-394512020,-1387773534,132556357,1018651348,-1938836219,1634082358,1143746614,-2076940053,688280257,-2076809951,-323831520,251914949,505293935,1074080487,2109283803,-1768646570,-271223818,-2059578650,-498445726,-27414948,-2258014,-2078256939,-651325526,-112010732,348570812,-478259019,1194104185,1414032170,-1332936065,-1286100771,1492191731,161406839,-2055770154,-465398984,-54747245,1255608065,1520576186,-2026961665,-618089592,-1519671866,-389334823,808714744,-2098754611,-1779312541,1928520966,1826342246,649259570,930705222,-1814986984,1180610670,-1874356168,1477940355,188779220,651323780,-44107243,1702945339,-1565884983,665962272,-984538198,-1067700454,-727114631,1124100305,997297967,-2103050634,-1372176238,-367458450,1837677255,-1013996252,587219177,758118309,-1534698282,-2081685001,-1387242297,-1285681636,794458520,1102599048,-420104362,-618943693,-494056088,-1255546273,-1826869977,-1956675470,-1825663118,1883567117,-1252406720,289162219,286277172,-2050731118,468900910,133394068,-785220013,-251366342,829313564,-564928604,-1706720969,2075640361,-2035523380,-1975447637,-476938757,-1216462626,280810611,-2087549272,443993677,1763531519,-584986426,-532477266,1225864735,-519523631,1667180905,-638495646,-1984160211,228934633,1242652709,901248454,223704895,361456780,2017812758,241231988,-1465819531,-344113960,123037095,871503678,-2073975929,371452176,-1481170192,1280383646,1848823755,1852517532,-1865588437,451982630,-354848729,-861950137,1548827479,1515641044,395875466,1660802880,-536417595,-1600197446,-1819210502,-905936176,-1976605851,-1110227660,1601395059,1348528336,1113082218,2024444639,-318029050,-1917051049,1391790995,2085203294,-793881304,1866621345,-857990427,-985314350,1857564199,1054925506,2133742220,922300167,-1541096877,-1725057609,-1077636202,-1438695375,-1701928285,-1372522409,-423390731,-1286090324,-1599567010,-595689348,216112212,1833874471,2145557998,727749527,-1104693243,-1792475322,-1353076330,-1599035957,-1657205427,-350512037,-291883652,1762727395,1603242816,1049099730,-1467485074,778599291,1271508071,1124041420,1216267062,-1572628396,1369313716,-1421087646,674624300,1649155697,554431024,229271296,-866034199,706170391,290194552,-874675612,-667122854,-764319282,1638637783,-1990417329,1784873814,675078114,-292720648,-1318120687,-1768279193,-1322479440,-402747193,-1869198941,-1554990365,734934226,-1139799910,1587811817,-925884104,36999594,-1181768119,-376839803,1161639115,1596536439,151940457,32151496,432943180,392958920,-1618589120,887460305,-2637765,-804669950,1138572618,-1382521636,-1272193924,1402711918,1849823458,-592220607,-2005451234,29836316,-1929417167,1666637090,-1889344486,243859800,2067149460,-1738587609,1539186107,1524852244,-737572599,1387773112,-937826704,-549268582,936857315,1852407125,1788620023,-1232254977,734593951,1001461737,766002410,-1162328789,331891409,-1042781033,-936254008,-1843089375,1387674940,-151250272,-587759764,-321385938,-1891253838,1643821032,-1914265474,-711890879,1343520886,-1197550090,270811747,-1737501898,425031694,234380278,1742058445,-68664641,-1660169019,-1860383776,1526771512,-717867942,893280782,809040296,1795350939,-412646215,1374387736,-1632685200,1681215460,584380533,-266176726,153964553,-456502961,67206942,-1349370995,1747107884,1573759640,-1090752629,586654556,569081865,-1886129662,1760995625,205159386,1605677287,2022470413,1736095624,-1803703398,711877147,1464550654,329960344); +/*FRC*/Random.twister.import_mti(155); void (makeScript(14)); +/*FRC*/count=463; tryItOut("\"use strict\"; Object.freeze(this.o1.a2);"); +/*FRC*/Random.twister.import_mti(168); void (makeScript(14)); +/*FRC*/count=464; tryItOut("testMathyFunction(mathy2, [1/0, -0x100000000, 42, 0/0, 0x100000000, 0, 0x100000001, 0x07fffffff, -0x0ffffffff, -0x07fffffff, Number.MAX_VALUE, Number.MIN_VALUE, -1/0, 1, 0x100000001, -0x080000000, 0x080000001, -0x080000001, -0, 0x0ffffffff, -Number.MIN_VALUE, 0x080000000, -Number.MAX_VALUE, Math.PI]); "); +/*FRC*/Random.twister.import_mti(200); void (makeScript(14)); +/*FRC*/count=465; tryItOut("g0.v0 = t1.length;"); +/*FRC*/Random.twister.import_mti(216); void (makeScript(14)); +/*FRC*/count=466; tryItOut("a1.sort((function(j) { f2(j); }), t0, o0.e0, g0.h2);"); +/*FRC*/Random.twister.import_mti(253); void (makeScript(14)); +/*FRC*/count=467; tryItOut("/*infloop*/for(//h\n{x: {e: d, x, x, window, 19: {x: x, x, x, x\n: \u3056}, z, x: [], w: {window: z, x: {}, x: x, e: {x: {x: [eval], c: (Math.trunc(22))[\"1\"], NaN: {y, x: y, x: \u3056, eval: x, y}, \u3056: w, c, x: x}, b: [, [, NaN, {(x.then( /x/g , /\\1/)).__proto__, x: a, w: x}, []], , , [, {d: [], e}]], eval, x, \u3056, NaN, x: {x: x, e: {x: {}, z: x, window, x: []}, x, eval: {b: y, e: [[], {}, a], x, x: {NaN, window: {\u3056: []}}}}}, x: [], x: {c: x, NaN}, c: [{}, eval, [[, , {x, z}], \"\\u4E30\"(-13), , , ], ], e: {x: [--x[\"every\"], , [], x, , ], \u3056, window, NaN, d: b}}}, x, NaN: [, window, , {NaN: [d, e, {}, , , , [, , , x]], window: b, \u3056: (4277).z, \u3056: {x, window, d: {x: [{NaN: [], x: [window, {\u3056}, ], x: x}, x, [{w, x: y, e}, c, {x: x.__proto__}], {y, x, x, d: [{z: []}, ]}], NaN: {w, c: {z: x, NaN}}, z, x: window, x, y: {y: x, x: z}}}, x, window: {NaN, x: b, w, x: b, x: yield}}\u000c, ], this: {w: e, x: [], x, a, \u3056: x, x: [, , , , , , , ], b: \u3056, new RegExp(\"\\\\3\", \"ym\"), d: []}, NaN: [{x, ((d = function(id) { return id } | (NaN !== w)))(timeout(1800)): x, d: c, \u3056, window: {w, x: c, x: [, {}, , , [[[], ]], ], x: {x}, d: x}, d, e, y}, , {}, {b: {y: {x, {x: {x: [{x}]}, x: [, , c], y: {window: {\u3056: [], x: [], w: {NaN, x}}, x: x, w, x}}: a, b: ((function sum_indexing(sqheis, dqhuly) { ; return sqheis.length == dqhuly ? 0 : sqheis[dqhuly] + sum_indexing(sqheis, dqhuly + 1); })(/*MARR*/[Infinity, \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", Infinity, 0x3FFFFFFF, 0x3FFFFFFF, 0x3FFFFFFF, \"\\u2D25\", Infinity, 0x3FFFFFFF, 0x3FFFFFFF, \"\\u2D25\", \"\\u2D25\", 0x3FFFFFFF, \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\", \"\\u2D25\"], 0)).__proto__, eval, x: y}, eval, e, x: x, a: {x: NaN, x}, c: d, y: [, [, x, ], , e]}, x: x, w: {}, x: [[{a: x, d: [, , x, b], x: {w, window: []}, window}, Float32Array.length, , z, , []]], y: x, z: [[, ], , {}, {x: y, x: [, ], x: [{x: of, x}, , [, ], ]}, a, arguments[\"getInt16\"], eval]}, {e: {w, z: {}, window, NaN, y: {}, NaN: [x]}}, [{e: {}, x: [, x], NaN: {w, a: x, eval, x: c, window: {x, x, z: [], c: {a: {a, x: [, x], eval: [, {}]}}, x: [[], [], , ]}}, x: c, b: x, x: b\u0009, this: [{e: a}\u000c, , {}]}, , {}, arguments.callee.arguments, , , , {x, x: [, [], {y: []}, , [, ]], x, e}], , {x, y, x: z, z, \u3056: c}], w: e, NaN: [, [RegExp.$1, x, ]], x, \u3056} = this.__defineSetter__(\"x\", /*wrap1*/(function(){ \"use strict\"; Array.prototype.sort.call(a0, (function() { for (var j=0;j<35;++j) { f0(j%2==1); } }), p1, (let (x = 0x80000000) -24));return decodeURI})()); (( + Math.fround((Math.fround(x) ? (x || (x & 0x080000000)) : Math.hypot(x, Math.log10((0x0ffffffff >>> 0)))))) << (Math.sqrt(( + (0x0ffffffff % ( + x)))) >>> 0)); (4277)) print(w);function x(c, x) { \"\" ; } a0.shift();"); +/*FRC*/Random.twister.import_mta(-1984028945,-649029673,-1705511094,-215819603,-1059940313,-1416268394,-1415872872,-125323836,1464373140,-1699920907,-2054314147,955234900,280326792,45028227,-200228438,-1829516360,-1755086976,1755899432,-834693028,-1180313764,609147914,442035849,1795397930,710379162,281949645,1875891702,1554298206,1555218186,-282636983,-618618596,1596360807,442855020,1628930022,-105263372,347158441,1812889614,229877522,1074312058,-274226490,396015535,-1595386061,-676242882,-1770984374,2144161903,-877584933,1088702585,1455260526,-1165863965,-347328500,-28757580,324266230,1001975617,138448496,-912934040,470999516,1165883642,-1469871764,770107351,1795307605,-1831877169,1545983658,801094887,-1932374256,2001041907,1784468336,289981994,275065265,1384679849,1074225689,-1723422767,1097973710,2012240084,2101231236,-730070422,-38171663,-729244868,-354521240,2144298685,567452659,986348375,-2091574751,-865155437,402334394,-445034757,339258521,-1542708683,1892958825,-772429450,-399544409,-755943753,2071825386,485191012,1919466038,-1167872141,-542632858,93011424,1188768393,1557041477,871951082,-1654261848,-1984815078,-197950370,448308754,-1009631081,1314574087,-821571540,-50887828,893600788,2038921508,1754790674,1985125395,578746875,-898551874,478124826,986553950,-1507713017,492398818,504216175,-494599909,-1288542690,1507365206,-1958623543,1886266825,-678867635,1049343029,-1355329716,-1075671192,1157750185,1747339999,-1877343218,866665579,-1640210254,-1535148967,416649984,352798402,-1343180090,-1178774352,1689097202,1489317834,1517999290,105208634,-1785952157,-1256187685,-1736772628,1704888060,-1022846850,91842160,1760285410,396041497,1712673316,1788931552,-969921550,1964611024,-2050595175,1948224538,-1050704068,-1570554274,1760192401,-272132983,1660605013,-2003951016,-812902870,-780390246,-360143632,1841709530,-1053516821,-1660628393,1573253380,-1402687354,-550217753,1065915078,-58419584,-1698751874,397090957,1784566357,-1761603400,2118460834,1098903064,1268743316,1634735456,-172195181,-1329596042,-866727171,1574882132,-1305922467,1214655111,1421815023,-524933001,-2086638936,853601063,-288559054,-1183272128,1969786164,1956063953,1568697525,-534823226,-818323594,1792114190,214621703,120688093,-2109165568,740468573,648762865,-1345516169,1253846123,954514756,-815016966,-403193328,1307108648,1627737280,827050688,-2100672517,109392269,1972104340,971938496,93088573,1796037365,307173927,-83551072,-1600826572,-1732233916,1573904401,1171168306,388762067,-1071748967,-1915338609,-233335702,325553236,-713887671,-1752710624,-794397819,-266729615,-1071864418,-455383354,622657404,1449772483,-1753855906,-1985699048,156027886,490553051,1851622618,-539447474,796982371,1887069816,-1174947872,7284781,862473108,-2066852197,359258548,-1552449543,1451254930,-245755841,-2116914678,65556119,-2127065619,-2088642707,314690725,-571134431,-1301228694,1894718054,-923456007,-566493071,-1375344519,-1090050872,1528036018,485620609,1949746748,-167496655,-604875617,-540600831,-288033732,566478218,-1535539432,35284162,-957414632,-1944757541,854849778,988187137,-1300034393,-1643439767,370839110,1915620189,1880188893,401203153,-573508198,1924804563,-115471934,1761331989,-553721510,1201535743,-579248134,-990472453,20497074,922441885,-1951337872,-434446734,-1888714300,1504781381,1419026460,1721519903,-646793286,824407766,1980430063,663557041,442737065,283886617,-1159981242,693736121,1479942483,-1936869485,377118130,792387991,-1681173477,-1410243122,-29184311,-310414095,-1746007924,-1257130915,1189163303,840260297,1634031577,-668899162,-1139483497,418847792,1326094779,391297301,1022173604,-1890802493,432377278,-547672654,-256373810,155809529,1776617529,-2019520105,27810685,1314088812,1593707848,1037778700,752275016,903600658,960747513,1961808889,-1433968448,1892086770,1767448322,-127191939,-1869155829,326397828,-9822251,954972848,572792285,1401230244,1444128434,-1088791633,-1144607821,1826519069,-312255757,-1925065785,802587408,-612842480,1817730810,-644244606,397197514,1457031037,1750551469,-1945007723,-1042539509,699131875,-1359424766,-1274426987,510408157,1213183851,-1287121646,1649662912,557844850,756093641,-1663457859,-1759966649,-364502346,1379545737,989115679,-1050283467,1536901199,-2033377051,-1893547634,1731662392,-1901842662,-143488257,-1740719112,-2103647585,1698278384,1931286894,-702428592,1438171963,-5197644,-137825066,300244576,109512412,1800820479,-1985750175,1666333185,308827035,-1533061386,-1504456072,-375318369,2097752955,-2001065788,-897526022,415129081,678430648,1440059098,-599008126,-2132751973,-1903831251,2071181151,-629261242,-939575853,716638426,-332072189,-2054852120,-1644486022,594423486,1199290292,644495344,-1866920004,-933178134,1000463671,-1996879409,1390444164,-962136289,-1628988659,381185150,1720162444,1235534851,-1737133754,1907050999,-1011259117,859531712,-676071153,-1831128860,-231890886,155083185,1627346216,445557831,1365272996,-139202487,369237559,-1580395278,-126987544,-1575304763,1342620580,-619878507,1620735523,-804888255,1636226283,-1663859064,-1549793756,-1695587537,178254574,364089900,1842928285,1489028492,410410078,-508955788,1936146980,-1062099206,-174707090,1840338725,-2018990071,-1591263423,33171731,1527217594,-509856746,1351043758,-662185824,1358797492,1161625727,-1257344038,-98456077,-433631264,1741576876,935032495,-787526235,1790508848,-1212471197,-576880245,1724144514,-919076179,-958828865,1462961314,954776604,814870623,1542964895,-1364737844,2128985402,1418448063,1404794056,929539762,-1992357811,-46458094,1133454082,847333538,-634781909,-1717333547,2001063822,-1518565309,735671185,1408972962,831750118,-145542479,-1067052014,1809545262,516709161,-377647127,1534628516,-398035374,-1422807073,1582210348,-1402390889,-1274512163,-1678936276,1794781676,360383038,1114441448,103127872,-636066348,742759826,151770620,427385865,1432633568,1175256016,-1736043038,1705353853,-1717993034,1601757234,1874681781,-1901637775,-561628295,1211596769,-2048287080,-907927880,-1488121943,846273418,-849390791,-1708022315,1627388998,1819189481,-392673570,182767422,769165644,1389171587,1945980986,553397326,-90202020,1149577592,-1293360539,375334493,-1805046252,-1786445128,1667781105,1494644638,-1672566326,-743752331,-335162690,487279079,14891947,-1905201765,-1564246855,-212727223,-1148398797,621919642,-1964813432,1056626207,2056321635,1733219039,-953169557,-529096281,1578737243,521339864,499619790,916981219,-1395617693,-1103536818,402235179,1286526676,1872965530,1617642674,528569801,1824799368,-1455704028,-356125690,-979343454,-1519876791,1271927016,160711679,2053851416,1275152940,1485153959,136422653,351205558,1387683362,-1463271032,1802915774,-2065997765,-774055172,-1997675832,-1478219465,1262129892,-2084101078,-1289021452,-1564935766,-575116390,-232780974,877868660,1558918000,2034797176,1809449472,-1729659303,-1200640798,1610594285,1631611686,-1915794339,-1008366203,-1942822456); +/*FRC*/Random.twister.import_mti(119); void (makeScript(14)); +/*FRC*/count=468; tryItOut("\"use strict\"; m1.delete(b2);"); +/*FRC*/Random.twister.import_mti(132); void (makeScript(14)); +/*FRC*/count=469; tryItOut("\"use strict\"; /*MXX3*/g2.Float32Array.prototype = g2.Float32Array.prototype;"); +/*FRC*/Random.twister.import_mti(145); void (makeScript(14)); +/*FRC*/count=470; tryItOut("testMathyFunction(mathy3, [-0x0ffffffff, -0x080000000, -0x100000000, 1, 0x0ffffffff, 1/0, 0x080000001, -0x07fffffff, -1/0, 0x080000000, 0x100000000, -0x080000001, 0x07fffffff, Number.MAX_VALUE, -Number.MIN_VALUE, -0, 0, -Number.MAX_VALUE, 0x100000001, Number.MIN_VALUE, 42, Math.PI, 0/0, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(177); void (makeScript(14)); +/*FRC*/count=471; tryItOut("mathy3 = (function(x, y) { return (((( + ( + Math.hypot(( - Math.fround(( + y))), x))) >>> 0) ^ ((Math.exp(Math.fround(Math.trunc(x))) | 0) | 0)) | 0); }); testMathyFunction(mathy3, [0x100000001, Number.MIN_VALUE, 1, 0/0, 0x07fffffff, -0, 0, -Number.MAX_VALUE, 0x080000000, -1/0, 0x0ffffffff, -0x100000000, -0x080000000, -0x080000001, 1/0, -0x0ffffffff, -Number.MIN_VALUE, 42, 0x100000000, Number.MAX_VALUE, -0x07fffffff, 0x100000001, 0x080000001, Math.PI]); "); +/*FRC*/Random.twister.import_mti(307); void (makeScript(14)); +/*FRC*/count=472; tryItOut("\"use strict\"; s0 = new String;"); +/*FRC*/Random.twister.import_mti(317); void (makeScript(14)); +/*FRC*/count=473; tryItOut("testMathyFunction(mathy5, [0x100000001, -0x0ffffffff, 0x080000001, Number.MIN_VALUE, Number.MAX_VALUE, -Number.MAX_VALUE, -0x080000000, 42, 0x100000000, -0x080000001, 0x080000000, 0x0ffffffff, 1, 0x100000001, 0/0, Math.PI, -1/0, -0x100000000, 0x07fffffff, 0, -Number.MIN_VALUE, -0x07fffffff, 1/0, -0]); "); +/*FRC*/Random.twister.import_mti(349); void (makeScript(14)); +/*FRC*/count=474; tryItOut("\"use strict\"; \"use asm\"; /*bLoop*/for (var kokppi = 0; kokppi < 28; ++kokppi) { if (kokppi % 41 == 38) { a1[ \"\" ] = [,,]; } else { v1 = evaluate(\"new RegExp(\\\"\\\\\\\\d$\\\", \\\"i\\\");\", ({ global: g2, fileName: null, lineNumber: 42, newContext: e, isRunOnce: (x % 4 == 0), noScriptRval: this, catchTermination: false, saveFrameChain: false, element: g1.o1, sourceMapURL: s0 })); } } "); +/*FRC*/Random.twister.import_mti(622); void (makeScript(14)); +/*FRC*/count=475; tryItOut("\"use strict\"; mathy2 = (function(x, y) { \"use strict\"; return Math.fround((Math.fround(((Math.acos(Math.pow(y, Math.asin((((Math.min(x, 0x080000000) | 0) ** (( + Math.max(y, Math.fround(42))) | 0)) | 0)))) >>> 0) !== Math.cbrt(Math.fround((Math.log10((y | 0)) | 0))))) / Math.tan(Math.hypot(mathy1((0x080000001 | 0), y), (Math.max((x >>> 0), (Math.asin(x) | 0)) | 0))))); }); testMathyFunction(mathy2, [0x07fffffff, 0x100000000, 0x0ffffffff, 0/0, 0x080000000, 0x100000001, 0x100000001, -0x07fffffff, 42, -Number.MIN_VALUE, -0x0ffffffff, 0, Math.PI, -1/0, -Number.MAX_VALUE, 0x080000001, 1/0, -0, Number.MAX_VALUE, Number.MIN_VALUE, -0x080000000, -0x100000000, 1, -0x080000001]); "); +/*FRC*/Random.twister.import_mta(-215482904,645770586,1765410536,-1707882803,1201858896,-246224454,-636483430,-2113577131,-380159394,1400130485,-1762194480,283436221,-1339081050,1876815375,-1791870626,-883853733,-86924231,1550613361,-2035492888,-1780982826,-1097609407,-642435178,-1867599195,211060803,344572997,1764355355,137586805,1042422215,-1510964124,-851826213,-2050441479,1651229047,-92663707,1303883782,549399673,1616792325,1772133822,-1348034523,-1553030401,1254486613,1491322079,-1668575446,1949640716,1325243912,-263916206,1268880543,-1631111831,616984994,-2003343213,1605102156,622449549,-61991472,-2033181583,504345418,-105669656,1957409429,536715893,-854624226,213701808,-843911823,339217795,217503078,-149316086,1492562725,1348773529,-1991477159,1373964159,-898874377,1427785165,-1792085623,1447656271,-1187530933,-1961279884,-433169356,826486820,-1796013150,-1234679505,1365653894,-728754240,-576766544,1244766284,-1310966610,1301502018,-1260733377,-1128933526,812506190,1111632779,1520709487,770550287,461020791,-951208929,-1231964,-754293820,1463596591,1918135983,-510467324,432552113,1729742927,1513699179,392324293,1300128925,-1000121532,1171950470,-1112869794,352493748,-1538113891,-1023265825,1267102492,-1858636342,-1980199609,-607325056,346810425,-1184039108,-587146435,-507324174,1348530008,2138300929,-214785290,-1310767779,-941758604,-1025061225,1297519788,113535652,1570774505,2103547466,1250575754,-1176151837,-1421996304,-769955885,-325513352,102098341,-766612742,420383072,1284462769,-1887548287,964364325,-338737073,1931114455,1115698664,-1920605460,1296617367,-1951415469,-908794002,-1154654778,-2033630314,1892526258,-114640312,150248326,1408587092,1497290265,-880782553,1885865430,-1238168865,683857294,1397920676,1909306209,400696139,-361868317,1520253840,303576945,-206625535,-46458123,371983241,804607859,635196640,69330049,-2098779588,188289444,-160325497,-776690440,-1669253127,-1106409610,1766978474,-1992940433,-2124194860,1104692430,1513033071,1115778197,-141048869,1134579761,105276128,-533670279,1932063332,-1229705454,1374369279,225344486,-1096139825,226419584,-1344541994,1460485291,1128074345,376470546,175676819,1561162371,-173016895,-1024185614,1052291055,-1762026461,-520405207,1294275116,-1751366186,-2105753894,-1711223086,-1360987960,-1262870742,1287890499,-148864717,-1222072216,-1200667480,-1086206889,-749272634,1502415923,-1980833346,-1102072630,1182199515,1588467447,-1535374408,1634319648,688006114,666507426,1862811278,-1702305029,-849280037,-666374219,1378671813,-1158789200,-981391390,1083585811,1841187914,-1738436619,2067166634,665631647,-2092999975,-2002880732,809045355,-487842191,396761657,-766415321,-2022520049,-2029912885,1077000616,1543174064,-211008153,-433422391,-2058133576,-1625755102,246923332,-198761573,1359362229,-68255508,-1389285245,1415642432,-1311409521,-1851777444,-420855122,1972949737,2059931156,-588196020,438062148,1191720518,-1147076383,-290101094,1071503713,69820647,953609530,-1720335903,-389064558,-1408082353,1784722677,56578578,505183437,-495438114,179087102,-1112492827,-71013360,-772893462,-607117421,-1521425151,709044667,-841131182,-1106246085,1488165081,-430445150,823515320,760930088,808702033,549959716,994540846,-164587322,-643485193,-1551546233,284739520,188310728,1413316167,-1184813874,313263407,1627313012,2080582465,326180891,-1482660439,-1094719649,-1823540340,507329189,575744292,-1071944875,-906093469,272319539,-14548934,781342648,112096923,978287659,676908472,1704292009,-1536439248,-1257036344,1713024585,-654642042,1026923603,2146381343,2058385655,2066481788,-1252609989,-1377211108,-1488599885,-172481510,1146070969,-1983084933,27042370,-338768483,1032228449,1611071485,-1191668617,1049282185,450801342,1823457450,-1102548114,-1760226623,-844655708,239469872,1019585567,2122252830,-192845678,671323809,1272933760,1443858455,1620872327,-1905798986,1683714466,287525364,-1897999211,1952617531,1449674003,-871376766,2098118117,1146716705,2107800181,858871364,1375642669,-915214,1864541725,1615041904,-995611420,-1960838332,1189895494,-333839422,-1150907598,1079550402,1513399830,1218680646,535448927,100808364,-1620227809,31737170,-376783119,-2022399427,-997116075,-1950686235,-1096596868,-2139247539,843178127,-1854366645,-1483242660,-341601332,1349731212,-1711940865,1573858333,-257309999,-1078953731,629005157,1689310833,377215940,248295880,-134924861,-1119915418,1893559247,-1098707017,-755554410,807578713,601152025,-2114953611,420134269,-1825771345,317828594,-1208536577,-1525855753,-204810311,652229452,-753795901,-200747611,1505899785,-1735278253,-2003574291,-752607057,1511739583,541195683,1428996320,39237830,-332414665,1421001958,1149570222,213542364,-703454437,-775868150,920922161,-221645226,606298477,-800020972,-18056556,942110090,1283175307,-440611081,-2013670548,-249989987,-82167408,1458945100,12271870,-421758793,1636191646,283153473,-252169821,1675113677,1980318799,-891162613,-1932771478,-1011288613,-83125210,928813787,322902010,1384985286,-1520279031,1825172640,-1150724341,199608271,743112008,1325397591,1013862232,1277071037,1048153309,762671753,752584520,-1526852126,1006773060,-768022581,1846917931,-234242726,-38151112,1758586758,-621978253,-1839081265,714727729,-878067436,-1247984205,-145008779,586427412,-1671827775,-359659435,-513165055,1227445925,661871280,-1036888103,326440404,1466258595,12889457,-132306182,725002070,1769890181,-90404913,1103431521,-2060653877,598312815,-2056706025,-1943683414,-1910103673,-1749187057,526321871,1136463505,418152779,-2088024012,-1662665897,1802188671,-1527770956,1339564890,70773983,-1603078060,786829823,-425254740,-467613949,-1495680568,-99438242,-2040207445,1157129391,-1154203037,-1652185222,1299968374,258229767,983629814,-1232961695,750347027,-738965135,1188028254,557868721,-1277383215,865764955,1676418772,1359485355,1163128530,-1557819561,722199940,-1174610948,1027295053,772940757,734071476,-986522440,2139567146,1374953279,-1328987937,-253371400,-950242556,715916020,23355893,1858468667,-332683251,-641878262,216700595,1296720496,-791621964,1325161368,1046373859,-1548028771,495408130,-1631884114,-439995843,2030073751,-343010617,-2116000849,971632236,934418795,717520545,1346636880,302120262,351926875,-1670189361,-934634959,1083705069,1423883950,-1871264990,-190010724,-1629571099,810529236,2055948396,1320076356,-1871031353,-992198295,617089286,-557570616,-133125640,2027596647,2079004119,1485541108,1314089644,-227654389,457518214,-1353317057,359021870,1714369504,-808998229,-102056922,1445038132,-801771274,-25362105,607940247,665252281,-561085626,-577097502,1728119450,1856189008,-1432342829,-1692773363,-1793444540,683633219,-34693579,-221280798,1609840535,-480997733,-86658280,1250363401,1474079229,-1868886434,-33421146,-1157632231,1051686465,-521805994,132560679,-555984023,-2095825471,277928549,-238298750,1246498229,-130295071,-950730672,584082583,-2010702382,-124092589,-1419454110); +/*FRC*/Random.twister.import_mti(248); void (makeScript(14)); +/*FRC*/count=476; tryItOut("a2.splice(NaN, 12);function window(w = (4277), y = let ([] = ({} = /* Comment */\"\u03a0\"), e, a, w = length, \u3056, sthxpz, x, vvlsal, b) Uint32Array(x, new RegExp(\"\\\\B+\", \"im\")))/*FARR*/[--x, x].map(XPCSafeJSObjectWrapper, x)/*tLoop*/for (let w of /*MARR*/[new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), x, null, new String('q'), new String('q'), x, new String('q'), new String('q'), x, null, null, null, x, null, x, x, null, x, null, new String('q'), new String('q'), x, x, x, new String('q'), null, new String('q'), new String('q'), x, x, new String('q'), new String('q'), null, x, null, null, x, x, x, new String('q'), x, x, new String('q'), new String('q'), x, null, new String('q'), new String('q'), x, null, x, x, null, x, new String('q'), new String('q'), new String('q'), x, x, x, x, null, new String('q'), x, x, null, new String('q'), new String('q'), new String('q'), null, x, x, new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), null, new String('q'), null, null, new String('q'), new String('q'), null, x, null, null, new String('q'), null, new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), new String('q'), x, new String('q'), x, x, x, x, x, x, x, x, x, x, new String('q'), x]) { s0 += 'x'; }"); +/*FRC*/Random.twister.import_mta(1662810868,390715757,367070668,2061224405,-1417313166,2147068351,1878863498,-777595688,58213052,765181604,40582722,-333493514,-1222348079,-1844912644,1949559327,927220332,-1390027304,588748375,532737291,-1005064263,-2131404036,-2048053909,-1681393584,-1611253983,2072929609,1288713711,-1325558771,-533613468,-608778913,196889015,382806768,-1676489369,715156360,1827399700,786318897,-976668094,1975638365,-1639293460,-53409525,1403333127,1875085835,1794768967,-679018841,1543130724,-1965998369,1552603744,-558954565,1593569613,-1797363456,-1126642750,756555026,-1997698015,-362431572,1343234388,1479818910,-1659656662,181223751,144808975,-2084599489,-1626720093,939714158,385465740,-643273211,365229681,-1582518345,599970987,-768923121,25964387,1847989283,-1694635266,1602106889,-672315403,1502531371,-1828169466,-1075526558,895992637,1246179543,-1240341215,-2074110323,-2072942297,1372014834,1102771857,1096268057,1294990945,257145476,-1192425365,1279757714,-1530346866,-36987295,1077079327,1043570355,-324412631,-784372569,625717151,-1125331160,1540001024,1027199735,-1421139035,-788231124,-1487207462,-1581587050,-32964972,1975405904,-294567698,-990278453,-54639121,-978206246,645770010,995350224,-1983464125,1971649803,-425406784,1911306986,874055894,-754698801,993322661,1961009165,-830253962,1498287180,1324984565,1242704197,-795444189,-250125963,535866772,-1768321260,-1235182859,913512876,-1592976739,857696622,2032651610,36491513,-176447668,-2106303542,-1331317430,-294371719,1776142400,-1627209954,1890846155,-1240747607,256445676,1535320690,1313239363,1559416598,765549296,-1806861228,-450303442,1217452912,1689307354,1699157351,-231423276,1181378312,564904237,1239826117,-1223547524,1143495506,-335948051,1202818025,-324075929,-1444068085,-1754449100,-850312444,-2107982517,-1661737440,102223915,124431440,-919007441,84184639,-152117710,-122908322,602177983,-1042779042,1156007937,-417797500,236939694,-258575968,1891858177,-1669329005,2080863482,13119807,2079955479,-755249612,555743174,1426685221,59993899,502403445,688629767,1406749934,1908590219,1028228129,1098681037,1561966141,1275137760,1240664281,-2015157720,1188881600,416965742,1341017644,-1904988719,137476934,-1586623432,-635172000,-669363667,2144278055,-1481404000,229041692,-43202607,-1195320657,-1495133876,-1943052547,1047996702,1700083864,-84576135,-438815364,-996363789,1455056114,366523131,-1368881671,-1751831504,55432756,-967850299,-570373097,126086099,847136597,-758203862,-1789903350,-1705317214,1378317108,1438866641,-2106479032,1752839961,-268098363,856857025,1001820717,-1360455456,2044226367,-777781377,-1648641688,-656741606,915866700,-683889147,-1074420188,-728926093,-581317289,-276008444,1822158662,1486556457,1728892587,1904146041,-1206227683,1415041230,-171554431,-93558575,67123905,-1014450854,66416079,-422395307,633610769,1541344466,-1080633788,-1367844057,464608345,-398976418,1591032558,1772793792,200805827,-2001296062,-1666927105,-2080677714,1800776014,1098936350,1791382795,-813208160,-614846259,-1555222093,906804024,1614730774,2004355485,-516867824,-1375526520,744818798,-1522442777,1797245007,-979809674,476065491,-1984903944,-1814276819,-2102819276,52079117,-484207192,291666585,1572378001,-1540350509,-1865098409,-828654488,-774726357,1582923161,1039454081,-808577317,1563805182,-1613132709,-626056000,1777527279,609179567,-213764702,1273387983,1430946891,-1142920902,109994798,-605717245,-981944365,1493407933,-1533952753,-1428623757,382607222,1322067317,-776543198,-2019519511,-1731413661,1224300429,-324440679,-1494726819,-367494746,-1855922298,1206239482,1348747430,1290436558,-409644293,223687559,969083259,-592084367,1795537418,45375312,-237956432,-203021937,962171565,-372117649,-283806575,849870739,1640934416,1322499045,240762015,504188480,517689445,-957492007,1741005546,1585308695,1020530724,1115917759,1324459702,305044407,-1379123262,-1331797163,1374647512,-1923651485,114595704,713540172,-925880429,1037423744,467827869,-1303015054,-1829657800,-1409563685,179037923,-1458585857,755449938,-702029496,575889383,2144528849,-658774221,1609815104,-1155576160,-725655811,1222968713,-1843250511,-1611603025,-1181559734,-1385864214,-1621360143,-511475275,-665665473,-455482158,838439604,-2084538581,-767306167,457300150,145822908,1371387797,115809897,688547500,-1748104254,24217807,-1516730770,-1750682084,-463303929,1890052406,-1848180075,-486709428,1228581261,-585639964,848626917,-1635671770,-1175541927,-231710943,1460542391,-1662341127,1404578969,-881208151,838276153,-722051683,-1068946093,-556650750,-311905795,-586239865,-621739296,1532274427,1013110850,-295445879,926995534,1849919671,1336818231,904037242,775715909,-626999127,1988801799,1164783032,538568780,-568839822,-2043170395,1731148599,-736509565,-464553962,-333255539,-2132681959,-742783863,-1497386701,642372217,1320423377,-198327705,1535234167,222076869,1720754955,-356373464,1405005134,1455181771,-367992285,-1041551482,-808432328,-146385548,-1942328824,1142599941,1450353008,1235905842,-1937796602,-330286912,1274313597,1031166409,-296861272,2142711134,629103205,701077724,-253228734,-909334523,1067553333,-1530959931,-1509554938,1124071311,1665314915,1875770012,415840308,-124965411,743071746,-1908476893,165747491,-265778924,-1656864116,1369833794,-1446261949,-427825959,1115550690,1304080427,1899147220,-1700820056,-623093976,1885303226,-160920369,466625916,1469212744,-2144364061,551840054,-982966726,800616597,-706499105,1516295834,1241743687,992827193,-30713548,1078318084,-1111738241,591021760,-920504169,-996073442,-1390412408,1879550524,-1190940227,-765286074,1159459542,2131350666,-666368696,-1322972347,1055770878,-1728921795,-948824251,-178147946,471012840,508220918,1634343623,-566854705,-313916938,-950537604,427579600,1316837983,286748377,1873769203,-1938263157,-311959118,-709905782,-899907943,-967751362,-1368917354,-1437665638,-425545480,1769944467,713629278,169006714,-2015202402,-1550348033,-1495888303,206936519,1026243882,78816049,-1177322577,571735792,248192932,-1593466159,-1331372487,797407809,1787752375,775785932,-1529097305,-1640142383,-1408341701,-1242772558,-534395278,1047385075,1369556145,-1156401903,1356795390,1126677538,196387315,1655004994,1691870775,-999002262,278224070,-981849146,983342594,463010142,-1733013304,1451123829,591981174,965489223,1473793509,-1667026303,203022484,330695360,1049352515,-1416346662,-1227644541,-2121664328,-1749559805,-237967742,-1057620448,-2005457608,1614077147,-70797725,-2093043446,1729569422,-649767576,-1158980797,1305342887,-1044553353,601126652,37749233,-1192560327,1372839594,1216573689,1424179333,-1955180903,-242068478,434658051,-283444660,-347736000,1761757371,288367576,-804275610,1662465322,1399154068,-803256560,-1680285567,-175188505,1168080084,-500090398,-1044761606,-1093170729,-1992353366,-676871292,300911213,1809890759,-1536895648,-969800122,1606825096,-529463826,-1780324800,-999985628,-1821156810); +/*FRC*/Random.twister.import_mti(352); void (makeScript(14)); +/*FRC*/count=477; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(361); void (makeScript(14)); +/*FRC*/count=478; tryItOut("\"use strict\"; s0 += 'x';"); +/*FRC*/Random.twister.import_mti(370); void (makeScript(14)); +/*FRC*/count=479; tryItOut("\"use strict\"; var ioycpy = new ArrayBuffer(6); var ioycpy_0 = new Int16Array(ioycpy); ioycpy_0[0] = -4; var ioycpy_1 = new Uint16Array(ioycpy); ioycpy_1[0] = 16; var ioycpy_2 = new Uint8Array(ioycpy); print(ioycpy_2[0]); ioycpy_2[0] = 7; var ioycpy_3 = new Uint8Array(ioycpy); var ioycpy_4 = new Float32Array(ioycpy); ioycpy_4[0] = 23; var ioycpy_5 = new Uint8ClampedArray(ioycpy); print(ioycpy_5[0]); var ioycpy_6 = new Int16Array(ioycpy); print(ioycpy_6[0]); { void 0; void relazifyFunctions(this); }x = v0;v0 = g1.eval(\"(void schedulegc(g1));\");s1 = '';"); +/*FRC*/Random.twister.import_mti(474); void (makeScript(14)); +/*FRC*/count=480; tryItOut("o2.v0 = this.b1.byteLength;"); +/*FRC*/Random.twister.import_mti(490); void (makeScript(14)); +/*FRC*/count=481; tryItOut("for (var p in i1) { try { for (var p in e2) { try { Array.prototype.push.call(a0, e1, this.b0, b1); } catch(e0) { } a0.splice(NaN, 12); } } catch(e0) { } v1 = a1.length; }"); +/*FRC*/Random.twister.import_mti(574); void (makeScript(14)); +/*FRC*/count=482; tryItOut("s0 += s0;"); +/*FRC*/Random.twister.import_mti(586); void (makeScript(14)); +/*FRC*/count=483; tryItOut("v1 = evaluate(\"t0[({valueOf: function() { a1[({/*toXFun*/toSource: function() { return '' ; } })] = p1;return 18; }})];\", ({ global: g0, fileName: 'evaluate.js', lineNumber: 42, newContext: false, isRunOnce: true, noScriptRval: false, catchTermination: true, saveFrameChain: false }));"); +/*FRC*/Random.twister.import_mta(-610863644,-672706302,-1762635568,-1958517985,1595589465,-976304028,2145219035,-581529945,1165358027,-900969592,133738818,376230954,-1991425107,1036217042,-154496821,-878944661,309491988,-843292511,-2023645375,-1374062601,-323030492,597718175,-1721921160,-785579775,-1856186771,1540799088,110260021,-1312882744,-53511096,-714038262,288778185,847187699,-496224887,1781066705,-825855572,1661568872,-593548673,1105167721,-694945883,-530744821,1482191515,-381018117,1623308535,-84898629,-2071510760,-438198708,-1597438030,-528492893,-1618523545,-1722006607,1782064059,-116869154,739418543,2053684799,1193524775,1343324794,1896367640,-752677059,-335809209,-1303432545,1959523224,-1868309064,-98348229,2033643078,19231375,-1883457555,2104606891,136167368,1333854960,-1779098696,-583800391,-318312578,-251068066,1941439027,1300604258,-1245039721,1915276123,1176058133,-1969879794,-1054314694,1604988750,-69296207,-232390716,1989898902,534888258,-1124101663,1648038141,293991200,-490609876,-779937842,796116136,-780963910,247757098,835589889,-1207506081,-571175106,-961634230,1403982127,-1383671591,278439631,-1028110539,1508204648,-31811360,1070945956,1246261152,316623569,-365075408,-808762834,-655352664,-1664935216,-350592472,-908913104,618744981,678958341,65066184,1444433231,995278803,1928188880,-551649694,1647828914,1544130360,651489817,1451494938,1160879573,-751856772,882310693,100027930,-1259842299,-381922265,1380099642,-51607912,-279062669,-233034689,143662875,496095667,621298129,-348101568,99556245,-466413943,-1961418904,-1300360775,324164257,308416073,-1275738747,1351060455,1786999324,-1822570820,454026325,379394859,163306547,-1478435451,421559322,-2051769489,-837139310,421040155,452309849,-1858986977,-1671440661,-257677173,913812604,-1694346664,1171084003,-1197078648,1734520863,2044745762,-887117050,-32684833,1187698349,-748549794,-1202165017,-1392152406,281321268,2122548880,1871934773,2110405086,-1689167998,1840625853,-1478004477,257965582,-1615968615,-788135077,607901774,1762779592,1459897925,100286948,1238923948,1512990201,76727237,-559818953,1858158249,-1662264269,-264452332,-1035145117,1085932700,237843398,-1625432529,-807307107,211529050,1146373785,-429634775,77057483,-16293681,-54316388,-1382642866,-826500212,-732365232,-2088848704,-1140315509,207548699,-491398308,1068166242,-2023567527,-1093036814,-1989407845,1381947992,820739060,-1024094286,-1778308962,-1413424688,-1645712621,2125303894,1174770995,1990289821,-1428612373,-657518575,-1384720450,546980993,-626122048,986905169,939160173,1271045920,-607569264,-759544812,-1707477861,1821360583,195571583,-1507770875,1555247972,-1527106569,-692612929,-829594060,24037055,-1134925975,1681886903,2029606634,770656459,263109652,1773892725,1233886456,985007463,890471862,1247050706,2048057565,-564106995,467611197,925228447,-123788701,251464939,-62155841,918301562,1580525310,-1582502693,1474089096,1080794177,1166333896,29957509,-1583297956,770876988,-913692684,-861265235,-583845269,1881336225,760198730,-70297042,-798966360,1026817654,-1446715591,1027191679,-1355140119,-1480933501,-1762661689,1710168860,-2027346484,1976575076,63280500,-1431357859,1791678278,1163540812,1092243499,1308076332,-232370064,-800608261,-386831911,-1936703775,-29773349,-931932689,723165194,-1280767162,2078448012,-1671523522,-1639332325,-961888662,-1939134138,-1898752413,-172700689,-1754910317,-2106630483,-347070192,6976647,128746309,-35971890,-746227548,-140992934,-598396264,962494769,941169159,82705312,-771235919,2117036457,-994514341,1153575890,-256473956,-1106874557,-291733479,1977233096,121946491,-818245677,1196520279,-289992305,-1952954907,1049590028,1923147512,-232461623,798563769,1646986566,913446463,1553487302,-604163040,2008185629,-1161485819,662614565,-1786393563,-328853508,1219522214,-992243452,-1049332112,-629233230,2071026787,-1228206307,1080168955,-2072634208,-1143461616,-1422525749,1184630182,-1582582749,1415377713,212356218,1746208777,-159965238,-1151009373,-999993815,-1043557859,-1467535759,-1111243671,788327217,739379621,771152735,120279807,2091626625,267233561,1084414500,-1375880708,-90513509,1168967604,1204194928,1076865758,-551719916,1311354240,-335434534,-136804090,-1763275320,-2114970799,-354621278,-594350012,-1744347979,1098007454,-1408461929,-1886953202,1311397634,1628861232,1974399784,842203948,539385434,-2040614844,-685119688,-1575175432,1171099390,-2087806120,-796480103,1908626947,-1435724218,-1646614895,1776216710,-87531618,1463015312,-1277926267,1583184986,1651875146,-585630152,108590665,-1195856284,-227169928,614530012,-1366522277,446935012,1889045164,895571086,851617975,1323526864,-658656802,-827553183,-1166679219,2102408307,-313004479,479680892,1800953376,1014440740,-301408113,1275277521,-1897623913,1116687831,398771935,613240011,1227479686,1982100328,-1307818452,1101761200,-882723706,418656356,345601448,-1139991153,998345983,-2101482290,1861570172,-151732387,-869728436,-431275607,951100754,-1124041362,1570257189,-1911804814,-554641134,-614544418,-597112352,1562230523,234216069,1210180802,-1066040627,-819071234,-355581771,1742147654,-1437091838,-2130760638,-182305658,-1530627972,206822169,-514757135,-1024853458,-1541349234,-360753304,-98024327,-1526633564,368774209,1093770578,23622868,-999896698,-796833836,1412267079,-176057576,1116452663,-751850279,1991312809,1326081346,1520686299,1125457493,-679303269,-1348249772,239522405,-2095553594,-1727506403,-208471439,682933381,-1111462407,624873759,317131430,-1448555018,1266454093,-1934747381,-843365067,1327441477,-1388272406,-1469880138,-1195731337,-1057649766,1605650964,-1866540628,-1952531161,1467342778,983170915,307808909,-1889427687,2037728191,-458834775,1710210493,-320371472,-150348525,995273175,-1852987058,-1661369453,1455911977,487799122,1357297789,1464294645,1571377363,-646000125,-2017192417,-9029727,-914736304,-1819425497,-12947142,1667529845,-521124672,-1838196050,-2120325278,596859312,-905346192,-661717127,-481394085,1221892579,1920570194,-1923297824,1044057827,-1315734608,-977853341,483185230,-765415763,-744084291,-811109666,648052907,1896475393,-1268062784,97046001,-1048930211,2128797012,-1009739520,-2032625808,-1442079756,-1570924246,1139951961,1497868557,228796940,711043877,349111260,30808775,-701413233,2078823289,1223860448,920307486,273376729,1585611217,-538360007,-2099814066,-928024816,1546909132,1857781134,1957326595,10939815,1453672318,-1020241327,-884013605,44537658,1220110993,-256403233,1295455487,463378766,-623528578,2132402397,998967077,2015007353,-110291697,636187726,-1417599118,1157359344,-1866476548,-1269677470,-535288046,1998881560,-1788983430,-1703885606,-1892146245,-1473998026,1331601308,1747482605,-1365838207,1738219338,-1005711534,591153561,1965643748,-482368197,-607882157,-1135613511,1583622273,99471179,-941657515,1584927975,-489506498,1931745664,381153291,1573919080,270458029,-860912796,-1256501206,-341501981,671544332); +/*FRC*/Random.twister.import_mti(45); void (makeScript(14)); +/*FRC*/count=484; tryItOut("\"use asm\"; mathy4 = (function(x, y) { \"use strict\"; return Math.fround((Math.fround((Math.hypot(Math.fround((( ! (((x >> (-1/0 >>> y)) & ((y | 0) ? Math.hypot(((Math.min(( + 0), Math.fround(x)) >>> 0) >>> 0), Math.log1p(x)) : -1/0)) >>> 0)) >>> 0)), (( + ((( + Math.sign(( + 1))) >>> 0) ** y)) >>> 0)) | 0)) >= (Math.hypot(Math.acos((Math.hypot((mathy1(Math.round((Math.max((y | 0), (y | 0)) | 0)), mathy0(Math.fround(( ~ y)), Math.imul(Number.MAX_VALUE, y))) | 0), (Math.fround(Math.hypot(Math.fround(-0x080000001), Math.fround(0x100000001))) | 0)) | 0)), Math.max(( ! ( + x)), ( + Math.atan2(( + y), ( + Math.PI))))) >>> 0))); }); testMathyFunction(mathy4, [-Number.MIN_VALUE, 0x0ffffffff, 0/0, -0x080000001, -0x07fffffff, 0x080000001, -1/0, 0x07fffffff, 42, 0, Number.MIN_VALUE, Math.PI, 0x100000001, 0x100000001, 1, 0x080000000, 1/0, -Number.MAX_VALUE, -0x0ffffffff, -0, -0x080000000, Number.MAX_VALUE, 0x100000000, -0x100000000]); "); +/*FRC*/Random.twister.import_mti(459); void (makeScript(14)); +/*FRC*/count=485; tryItOut("for (var v of t2) { try { o1 = o1.__proto__; } catch(e0) { } try { m1.has(p2); } catch(e1) { } try { print(e2); } catch(e2) { } s2 = new String; }"); +/*FRC*/Random.twister.import_mti(493); void (makeScript(14)); +/*FRC*/count=486; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return (( ! ( + Math.exp((Math.atan((Math.fround(Math.round(Math.fround(( + Math.ceil(( + y)))))) | 0)) >>> 0)))) >>> 0); }); testMathyFunction(mathy3, [-0, (new Number(-0)), [0], (new Boolean(true)), '', /0/, '0', false, '/0/', (function(){return 0;}), (new String('')), NaN, '\\0', ({toString:function(){return '0';}}), (new Boolean(false)), ({valueOf:function(){return '0';}}), ({valueOf:function(){return 0;}}), 1, 0, [], true, undefined, 0.1, null, (new Number(0)), objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mti(590); void (makeScript(14)); +/*FRC*/count=487; tryItOut("\"use strict\"; v0 = Object.prototype.isPrototypeOf.call(g1.a1, h2);"); +/*FRC*/Random.twister.import_mti(608); void (makeScript(14)); +/*FRC*/count=488; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return Math.fround(( ! (Math.pow(mathy4((( ~ ( + ( + Math.min(( + y), ( + (( ! (x | 0)) | 0)))))) | 0), Math.fround(-0x080000000)), ( + Math.abs(y))) - Math.fround(Math.hypot(-0x080000001, Math.pow(Math.atanh(Math.fround(y)), x)))))); }); testMathyFunction(mathy5, [(function(){return 0;}), '/0/', '0', -0, (new String('')), false, 0, (new Number(-0)), ({valueOf:function(){return 0;}}), null, 1, [0], [], true, '\\0', (new Boolean(true)), ({valueOf:function(){return '0';}}), ({toString:function(){return '0';}}), (new Boolean(false)), undefined, NaN, /0/, objectEmulatingUndefined(), 0.1, (new Number(0)), '']); "); +/*FRC*/Random.twister.import_mta(-394447911,-1677818383,-1385539757,1558791989,-1086471517,-1892097356,1298901010,-1400791382,-1762508479,497100027,1766061919,1085927217,1486439200,450189022,246625938,1838794582,291112660,-1071918949,-1097039480,1128148380,-98950617,1112384108,690192769,520769928,-677462411,-418270410,-175599195,1659955032,31460389,-303783905,1849677609,-465724726,1660439456,1709995265,1715471723,-1815451349,-1328633619,-999999387,1529498614,-1265695966,1724844964,-241410880,-1326873814,-28394237,1232159705,-757502185,-2017323534,541043377,428764747,174055595,70581949,1912708454,-106637595,882197438,-151513041,-472192814,1827798689,-1310133113,-841288939,843324686,-937137135,724889532,-1772800106,-28501538,880890667,1733262536,-248716446,-2096826108,111761093,381692402,-1268085359,-593207263,179037870,-588605752,653050544,-169354957,-80367353,69432915,-1527579109,-1084993421,-255163584,-1936495366,969281148,-589335688,-238649978,-1491116573,1382100299,1920331715,-1086116740,-132467456,654271928,-998613165,417850178,1989754625,1179581210,-560513572,-706614953,-1658005995,2028744270,-215474936,-530798273,-222951099,284527895,-2006674630,939818241,-1918622609,-1492112755,869024832,-555789116,-32273357,865883298,-236852746,-1620283184,-1903037059,-881732153,1611092895,1553552469,-1016546367,-2045627702,357985867,468672669,-1212447586,-313062884,881127660,-1817872464,1438415864,-556414322,887638223,-286964478,-1056934675,668753974,1938514919,578473576,-190569357,1803343095,-1479579506,1516329591,-2004721109,-1887302460,414795642,871309268,-655544808,-225722033,2081929420,192591853,-1203922706,288908950,-1903497468,1337323627,1499394720,-2093527853,-1116598845,369412424,1642994962,-1850039166,1357588109,-1446672642,579485082,-572309170,-1484082472,1504936068,1604405917,-1275182627,827524637,267288230,-222228116,-71581362,-8369120,-1093871915,510662837,2126022788,789227153,-264008812,-519283754,-1887450481,662510481,-691470958,688611977,-495584112,-248685355,79211353,-138892619,2042992166,5945288,1817532359,1151867644,-696859198,-1379483126,884841205,-396050917,1133864111,-2144052585,-1724901567,587066797,1023899834,-1174148511,-688781999,259052017,1243787865,-1402481374,869615554,-468623980,-638360036,-814031120,628285620,697773709,1771721499,-1195583720,-178986244,2095660968,-275742569,-1135382718,108708161,-715094891,1175557499,613877906,-1931483622,194541583,892222568,208851371,-1396864435,-7856775,-1669668601,968932275,-476038155,585139580,89253228,740097582,420154392,-2004150077,1896733309,-698294103,1529653286,-1574635474,811416010,485125788,1945681225,-499753349,-1293248591,1071640634,-1016429218,-1986611719,-2037468974,757509537,1340392481,-1186209918,-286578823,-555750309,-971108352,866796378,975203425,1939832516,1361655663,560969316,-529876664,-1532547637,865244853,-921522647,-1083994249,1306671327,-332221517,229535023,720836564,-1844657399,1569261176,1274687192,-495562692,1107957854,247594313,1199091392,525826316,1607899388,-281099776,-269333722,2124830090,-1805340408,-842298933,-1969137770,-1194036616,735810393,1180880432,-177435959,-1724712224,1829975067,1035460470,-1195403082,283705768,1906439387,231684906,-1354358866,258375420,-638494952,-1206922393,389581648,2117444396,1394869952,253013073,-912539305,-762631746,-595085956,-1077949955,1624856083,730251997,417817647,-694624699,2093867410,-889437957,704055772,374185351,120291355,-1256337622,-1979043157,-919223121,-1748574964,-143535585,-1120546388,1209133575,-1059036749,2133760673,2055665323,1321368911,-2142929820,819055887,-1358102989,126223991,-965093000,159913084,1309643047,779262824,1337078161,-1321934778,-1742817094,1130371692,-1778014162,-1308754048,-258769369,-739437021,-783427085,1972095019,1440454941,492544944,-1119691207,73360588,2129960151,-1546485511,-349346285,-236556123,-1719511092,1317158076,-278133684,1768481892,1597454858,921860395,1460183104,-942767736,-391027905,1812086838,484962259,-1221480983,-650061405,223010210,-1506282736,1613118053,-1810391248,126080550,7459252,-2111545638,-1800243381,1175669323,-757420963,1793680434,-281057025,-622126284,853221806,-1365427605,1614497377,1045046368,-1254647106,-962705088,1568116652,-1205952411,-455814957,1050828463,2093914235,1110645845,1391310938,-532086177,1051110149,1865052933,-1993787319,675973003,536695179,-236041906,-1875954990,-1366421156,-601222742,532108569,-1879871849,-823935665,-445267785,921286721,-74399796,437859422,-1118759334,-1444290540,-1923398979,-1072197008,708006981,764174670,1704575252,2036360052,1040525865,-890836722,-1691938256,-1786083492,772616370,1745705631,1692717511,-1402305928,1735320238,-422597420,-626535844,362851742,-1732662801,987561697,1410933707,40572346,-857968779,2053876224,565997608,1569721664,-1371736562,218350542,1384671919,-1581583346,-1786697820,1498965483,-1544906587,-1239427690,-2123038887,296284725,1196385052,1408085932,783092075,1837893545,-553440157,1344963330,-1304578822,139243828,-1686309058,1454954298,-1911595494,1289019788,-220755250,-1276206157,1025244793,834234746,379265282,974090284,684138501,-1223744465,1881321451,1719365855,563773815,1024918312,457871766,1588268333,-1854212839,-56025523,1653744177,2141591667,-1676545314,-1714220757,-295756525,-51607400,-1369525270,-1061925466,14722541,-1949166208,-508145188,-1019247505,-940602391,285112185,-1961842368,2077969723,-390978339,-1815486158,-306281904,-668798466,-902374861,1600007572,-631144357,-2140277112,-351939217,1457421989,-227079504,-668527974,-528323767,-1588479231,-107048843,-1144782979,-1141658002,-199330619,-1575899967,-2097267904,1679006772,1080130692,-1037663906,1699241808,126518707,-2002705125,-1762905603,1396766391,647676880,-1825723763,-915480802,-1484731639,-669904918,731536851,-1232711730,-1505531983,-862012023,-453501322,-1163692657,326204039,876118705,-1204115244,1869716401,524578446,-1019458504,681526863,-1615891694,1006817827,-1690964957,217303140,-486386972,-276532759,1216295684,-1288242430,-811883937,1372842658,-273125433,1189540674,108495648,1893238330,-1879753696,492130244,-2070245947,566835515,719634415,1960847380,-1103889786,-1190610990,677402876,224647839,2071418514,513604868,1237677109,766893283,1169264490,440257891,-1147502994,1768997787,1643971259,900808848,1374853211,1320614546,-1938382461,185282062,-1297909873,1067396208,-947569807,-2060149515,-960770462,987746450,-673580368,-1002526733,-772245101,-1550317512,2007085750,-363026985,1721630008,388127135,1640828049,831337836,1370877272,1569581806,-1471208383,59361608,852721730,-2116612983,1711154526,137246794,-670203925,-457284414,1031867335,-663384096,668010079,833341949,-1896262993,1433693792,58831170,-294089218,1300736965,-1758421737,235461971,1742939230,277463591,272521765,-108193108,-1963705116,-640857297,-401952337,377338099,265287578,381190085,461009043,111315775,-1896182014,-675706628,-895313209,1112812146,-2010551380,-1300136918); +/*FRC*/Random.twister.import_mti(176); void (makeScript(14)); +/*FRC*/count=489; tryItOut("mathy0 = (function(x, y) { return ( + ( ! ( + Math.atanh(( + (Math.fround(x) != Math.fround(( + Math.min(y, 0))))))))); }); testMathyFunction(mathy0, [0x100000000, 0x080000000, 1, -1/0, -0x07fffffff, 1/0, -0x080000001, 0, -0x080000000, -Number.MIN_VALUE, 0x080000001, 0x0ffffffff, Number.MAX_VALUE, -Number.MAX_VALUE, Number.MIN_VALUE, -0x0ffffffff, -0x100000000, 0/0, 0x100000001, 42, Math.PI, -0, 0x07fffffff, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(266); void (makeScript(14)); +/*FRC*/count=490; tryItOut("e0.has((intern( /x/ )));print(x);"); +/*FRC*/Random.twister.import_mti(305); void (makeScript(14)); +/*FRC*/count=491; tryItOut("/*RXUB*/var r = /(?!(?!\\W)[^])*?/m; var s = \"\\u00d5\"; print(r.test(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(446); void (makeScript(14)); +/*FRC*/count=492; tryItOut("{ void 0; try { gcparam('markStackLimit', 4294967295); } catch(e) { } }"); +/*FRC*/Random.twister.import_mti(459); void (makeScript(14)); +/*FRC*/count=493; tryItOut("\"use asm\"; /*RXUB*/var r = r0; var s = s2; print(r.test(s)); function \u3056(c) { for (var v of this.f0) { try { v2 = Object.prototype.isPrototypeOf.call(f1, b2); } catch(e0) { } try { (void schedulegc(this.g2)); } catch(e1) { } try { Array.prototype.reverse.call(o0.g0.a2); } catch(e2) { } b2.__proto__ = m0; }\neval = x, d = /x/g , c;[[1]];\n } Object.defineProperty(this, \"v2\", { configurable: false, enumerable: true, get: function() { return false; } });"); +/*FRC*/Random.twister.import_mta(1527028912,22947385,302633970,-1333794353,-1140011370,2091704407,-1424893681,2073587819,1518559263,1841223936,-1821961470,29409502,1760782971,2117728317,147442050,-1035212188,572672674,-893073512,1334978172,-871826605,96600305,569635431,1760283242,1409827633,-1456534585,-160672365,-373171645,-1557903316,-68959461,-327397647,-20798960,186093520,-1975321993,-138887382,1053913668,-865327257,-1447934398,-869281291,-1882806731,708829241,-1692092731,-294972413,1734021383,-333913338,-148151224,269264213,-407212820,-129793965,1126460649,-885502845,-1958905271,-1382651239,-1053403423,-187929614,-1955213,-1549488637,1932214354,1275816678,1681518846,-1935413331,1124161244,824568807,1474407658,1950825829,1132794255,1592590702,1612250613,-414508907,271222127,-577307846,1713403350,-1174606566,1290234197,751860011,1072344728,2101442935,893785829,2006796106,1761356556,-1194259450,1185485712,-684649794,-807802784,-1143162196,224957895,-523874045,723709566,1685773061,-1799389603,-1061792786,1451957542,-1806630817,1752364396,2088325145,-181789003,1939190524,1016794810,715680130,-874314700,822212314,13754164,1881394517,-39003672,2127130914,606669958,1050595676,-67662111,-1382969054,-2112689422,430921429,-86608475,721315640,-641019950,1947303719,2145855725,-469439422,-1641664785,-802901016,449665252,864013208,-1009791579,1563547869,-322685000,-1349395351,-1505722251,-879559887,2044715319,604231686,-844101608,-338388785,-809723235,242813370,1617358558,-1003905813,-1941387435,-935669817,108817897,1261620742,-1352732327,-160170493,1678353416,1400613754,-1315930567,-848952949,-207182928,242925577,20116642,-1911894320,-1554365072,-2050598542,1126906875,1791712671,437498214,2084403797,1330567455,-1377143635,2032485937,596802104,682758142,1917140294,-14851676,-1388163886,-2079277893,499839536,-2097482024,346891068,507323563,-203449563,-2017319714,1911209680,50020884,858450884,-1037739420,-517441048,221447782,-1370430916,188141561,199569114,910681093,527057536,1932303382,-545602773,2005723474,1165934315,1154084934,1008286590,925789588,-220510007,-57736566,-1521489818,828226005,-702975433,-89799093,-1621839660,-503881551,-94401987,113092556,1487375665,733143382,-2120274943,366586005,1565686515,-381403689,130883130,-1908238629,1136465068,1373225033,-308614039,1887191687,-920398646,1319138694,-905213350,1245046841,1895057030,-880357530,-295353694,-893832149,358148526,-1987467313,-1809054358,-529648292,1506758494,307324410,1652176866,321153228,-1971218150,-1534131395,1468078780,-1676469625,-209220077,38218052,-778397051,1841208384,-213957142,1978484517,-92828060,-978499870,1394272261,1580153027,1229334740,-1543892450,1267634667,231738475,-1663526803,-698275751,-1578171105,980401569,1724713201,2015810506,-319599483,1841822803,414392495,-421818719,-638286105,1753181718,992098462,1375578426,947639668,-185719968,626201457,677853538,732625326,1549989436,-948517506,-372062567,-1090679253,1262152726,88930494,-841530525,1760603521,-1007440008,-1061943992,1744142534,-1729542615,-227419945,-1127671597,-1905727672,-682146955,1634931690,-502844935,1467129417,-1283762429,1277527249,1844490217,1347724989,743272490,763077919,1172753225,646374448,273847188,1488951017,-2037757725,359744710,1593977955,-824632331,-1901567080,1616096078,258334985,-675334236,-1976550028,-978033923,-1289650391,-398820417,-2029860584,167491459,-729105490,-332756760,-729322100,1303143020,-715714571,1741755174,-252000433,-1423622267,-913131602,987771859,1774140289,2043597800,-1340809047,807062485,-702842092,2086399531,877283565,-48530118,-430916258,160728382,-1893265910,-1894871402,401117824,-822975166,-449402421,851848575,1167655344,899417419,-1559662303,1288740590,1928122684,-402584845,421208431,-1726276759,-681107958,-206003996,1036556939,1115034358,382197324,1018867774,-80293783,2143215742,-1534143493,1787288315,-1737472630,-2146811540,607194175,-535385327,1513660915,-917251770,-1146017789,2091900921,1294793910,-70134348,650346511,-684563101,1699965624,-1036976033,1170048762,1258956508,-1370694092,623015289,-1643597326,-484553333,-991638496,1676739883,-1630327254,1461145822,-1888167608,1730141503,-1132505280,-1621257171,543432539,74488393,-1626058357,-1755340061,-1994963305,176523343,-1053525820,182756885,-2120335858,-1273047013,1367402745,819879977,1228754849,-1958942166,-1173499265,1555741269,1232743429,-1647668240,1360084621,-283395772,-58577812,-661079232,5846683,-589289970,1077910601,-1325897455,1606565875,-733986981,1447832893,-746891139,1709878449,-306830431,1262278888,-1015768288,1639613633,1904915046,2112564794,-1512189808,1367416602,238366810,661190889,-1515322528,-910028767,-234399238,-1423493506,1863052821,-1025808285,-341595125,713517963,1056549732,1760329109,1301037799,-947111049,282289469,-926714052,-202272476,1090828878,-1487241285,-2049392467,1105078343,363831117,330908969,-1679220228,1398011656,-495970128,1614509768,1702332192,-1546531008,-509811122,-1926045929,-1538757178,1416705217,2030898791,1702729967,1968052234,-1276486531,1685119547,-1878764193,-2066764230,-120971630,524325202,1559345752,-281952632,304521920,-539471979,1941077504,-618215562,1589616846,-395178358,-655105401,1151741415,-1546702804,-1425297267,-1831837438,58724371,1338522441,1142553069,836915460,410842393,898346668,1747908243,1751648321,508361801,587985868,-1190599307,1051356222,-1256669320,-1792378939,-1123363847,1401705049,1148600733,-675732376,869130486,1934538124,-1444659747,1383584835,-1185061989,1014463974,-1580938706,-2118571782,173261351,628358573,-1558392921,-988770018,292967018,1959362156,-820512024,-1520530065,1094954408,-1022070442,634827233,699835653,-780294525,-1081210936,-1594069703,1056969154,-1109016442,558998726,-330419861,2086376545,-1803941665,-1647743228,-547862591,-1606040968,-1130031922,1257335168,-1327257902,-1938747250,-878550066,1686126707,-904505926,-1832953547,628975687,-1999277935,-822972851,1075379552,-1437373222,-452573954,-1553536441,-1318545801,2118807207,239052479,-1009988908,1732653202,1502825074,1787099665,1101172981,-1209106759,2125491255,1298042153,-1246248343,-1204770875,-949262032,-112639971,1427168983,-619240844,280482566,710097353,-1044636736,1490854670,-1122733103,1732363781,-1584770267,-1094431210,-1587523588,-618995522,-220616005,-1461002851,-1103075808,1213529620,-1237501981,-1114533485,498697422,-1408371925,-416788837,-1737803944,584124471,-1889390941,-1852818979,1770310044,-775535248,1608635748,1278232869,695623535,1539982678,308223636,1684620623,1710623258,-719904573,-1410555152,-1762229817,2084219545,1540503236,927110229,1327315705,457363742,1467827992,1505789134,-819688837,235208656,-500412150,10958754,1034774510,-1900805655,1344510912,1135882877,231565945,-26689235,931203174,240648263,105398062,-1244542015,1342150205,886730124,-404140515,1403540136,-1275517994,-1009489980,-1536431937,-748373279,-1941852757,-774826495,-1595717655,676346172,-1713494490,139559064,-2103838948); +/*FRC*/Random.twister.import_mti(105); void (makeScript(14)); +/*FRC*/count=494; tryItOut("\"use strict\"; mathy1 = (function(x, y) { \"use strict\"; return Math.fround((Math.fround((Math.pow(( - (Math.sign((x | 0)) | 0)), (x | y)) | 0)) !== Math.fround(( ! Math.fround((-0x080000000 != ( + Math.pow(( + x), ( + ( + Math.sinh(((y ? x : y) | 0)))))))))))); }); testMathyFunction(mathy1, [Number.MIN_VALUE, Math.PI, -0, 0x07fffffff, 0/0, 0x080000001, 1/0, 0x080000000, -0x100000000, 42, -0x0ffffffff, -0x080000001, -Number.MIN_VALUE, -Number.MAX_VALUE, 0x0ffffffff, 0x100000001, 0x100000001, -0x07fffffff, 0x100000000, 1, Number.MAX_VALUE, -1/0, 0, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(287); void (makeScript(14)); +/*FRC*/count=495; tryItOut("/*RXUB*/var r = new RegExp(\".\", \"gyi\"); var s = Math.asinh(10); print(uneval(r.exec(s))); "); +/*FRC*/Random.twister.import_mti(374); void (makeScript(14)); +/*FRC*/count=496; tryItOut("g1 + '';"); +/*FRC*/Random.twister.import_mti(383); void (makeScript(14)); +/*FRC*/count=497; tryItOut("\"use strict\"; neuter(g2.b1, \"change-data\");"); +/*FRC*/Random.twister.import_mti(396); void (makeScript(14)); +/*FRC*/count=498; tryItOut("try { x.name; } catch(c if (function(){for(let x of (function() { \"use strict\"; yield (new (4)(arguments)); } })()) return;})()) { (a); } catch(e if ((Math.imul(0, 9)) <<= true)) { Object.defineProperty(this, \"a1\", { configurable: (e % 52 == 44), enumerable: true, get: function() { return arguments.callee.caller.arguments; } }); } catch(z if \u3056 = Proxy.create(({/*TOODEEP*/})(null), '' )) { return; } catch(c if (function(){this.zzz.zzz;})()) { return; } \u000dfinally { for(let y in []);//h\n } return;"); +/*FRC*/Random.twister.import_mta(1696960431,-778284359,-2123468125,-2098839227,-1486791491,1014510921,-1157187815,1611218827,1620263357,-624373252,621464798,1086793283,-316107735,-955219999,1084191219,547067703,1485393398,-1038826578,-292695444,-706969347,-1365659387,-1847859627,2060353894,2140695750,1226419304,-2099006485,-1823912843,257621337,-978191316,1100544620,761772669,-777679101,-1135581982,1337711647,2013123664,-1490505211,-1105468821,2041683070,1238335598,-716913670,-74275437,-115573387,-1377480577,684082476,863959749,1407598782,-2141259818,1531660779,1560834256,1369756396,1804331093,-1377652882,57359262,-2088485623,-1114308652,-897581996,1114986312,-1575441120,462874931,-1723156996,-1629825922,1996581933,1276809445,-1427334440,-256979166,-625561563,1904999395,-1885187418,-960924905,-1411131284,1482185578,1555313753,611007687,-1926941106,-1540875145,-865894172,2144819784,94127234,68449050,1457465188,1136033740,260373617,1134731551,-55113232,274955563,1799035649,506290725,108886068,-581830130,952753354,-682200723,-1551868194,-1795557339,-791475703,-802233181,1278890782,-1408673958,428277756,-112971453,-2116958368,-1421175726,463835481,-596084938,-687597731,238631620,-801502781,-1713425799,-463996906,-1801669091,1735916379,1890157181,89375468,847096271,427107169,-1828840680,-384059798,-705193614,1815546036,-168700761,-994786708,1676301422,-1414826792,295180586,1785541277,1080351113,-1357502012,-1562228015,-1431759742,658546550,-1705591326,-1926573721,-1567871398,-1637804307,1475978212,870824305,-1708229813,-1882584103,1805749389,1096263065,-1016314765,1475853082,-1879103108,1014463182,513106250,-2019124567,1780318272,1185413021,-431793151,1012088974,-1245470709,433773689,-1254523018,1618830533,1206295629,-621980578,1049440691,25095706,1040858678,-123828893,1733432284,-340437576,-1136580473,-277927363,-1078381190,-348725662,1292681780,1379850230,-351547406,-961201848,1227448094,-1347927551,-1669120863,1831712826,-359370728,-268419195,1157161083,656645978,222915710,-1641736035,1343391639,1735627834,606577101,-142104945,185771852,1170659561,164112478,-1005825548,464620383,-2018454288,1783287493,619874307,-1738475165,343436974,-558787374,-1422241992,1478230776,-500813473,1276769381,1457761444,-572482747,1435360428,-1391617642,2118904051,278788699,838668694,-229612922,-1576489838,526274737,319873539,1762146948,592312835,1237552898,2005251454,286853695,-1864634548,-1342408606,-111847679,1578632444,-293737974,-1554800561,-525989372,-654727940,-1847698408,566365530,-1667306837,-1021398567,-380011966,-232476109,827794799,-1068636671,857980120,-776072547,99063740,1492690004,1563621561,38134476,709694753,-1827282848,1684288041,-53109466,1004505035,-545274087,-1207997474,-1431213819,200012286,716356707,2142418010,-1836394272,1051390152,-1792684144,-355906482,-478356505,1997619271,-411632770,315351318,-313579343,1571098838,386968525,436516452,-1469843373,1517199560,1506586446,-2070687558,1408905720,-1077417036,743634533,-673005659,1148302589,342661994,-1944287293,1218201480,1082407590,-962964619,1617865570,-1675135651,440140660,-1559772279,456286624,99190605,-237321115,53552727,1116638563,1703877503,-212355895,-1270999755,-1809609885,582049927,-1919310234,2133337575,-112334002,815861366,-1172935359,1816073931,-806369594,-923376790,-1232034128,895064119,1938276536,430713571,-541475482,1304246533,1228771703,-1880955800,-1574817450,802756949,1912682350,1016893858,627068666,-1138242732,810166412,1573051016,-587640266,267534550,-631911661,-1414900437,-508128262,-1177871295,374580312,-2003967148,1943846895,1409195680,-291284418,1058147761,-389868091,504723705,-1094486520,-903508448,-1942771981,-264866461,471060822,-171403387,-1912633154,1488322956,-4752114,-585002872,966034363,-1292707021,-450052330,1860193769,1268906429,-560341253,-1278930333,-495429300,-878001811,-928722849,-1976654696,1341856590,-1885271604,-1483516387,1369258396,-1585642403,-379110178,1526909410,-2041862542,1853435996,-1071660971,-1128217671,-1329448003,1759862402,753964163,626005688,-1946711679,-118441930,-1437656905,2089280407,-1966198790,-865592182,-1083167488,-309506196,-729331580,301790815,-332582202,1839721700,-1407145507,-126027871,-353027513,2096701305,-2098585214,599517036,-1294334613,-1704620071,111616166,504827345,-586936881,1053106481,999905713,-1768237185,1792202099,30883720,-353280216,2075618458,476263319,-256285463,1557896718,445374571,-247929366,929581352,-1008459871,1168578355,1130212157,327356131,1903475666,-1307488419,-1811206104,-9975233,781190268,-1141939952,-929024715,1102695865,-700585185,-490252813,2097381850,926793539,-689784388,1936786642,-2136322851,-520748434,908429747,1703494060,1836827219,-1960701971,1169623277,-528939498,251615109,-2142047873,1235187990,1889408336,-364688128,398669042,-1356141902,888947141,1208342788,-1831714911,682435472,-994410440,-352893185,-86555139,-1281759160,1144463356,506220282,539035239,-523873240,-1656243214,-390221663,785807323,837563742,-243820884,328605883,2104988432,979902640,459604319,476279882,674131995,2018762802,-1337760466,1295133222,-1880248664,492528116,-433664551,1291110108,-300141759,619431865,802586999,1158858054,-1490229467,-1860865099,126761738,708321245,334671744,-23635105,1920586195,-1257808763,-1850281910,1732484312,129766067,611264414,943326214,1207302321,1968313628,1721022881,1660565787,1302255369,-138184947,-1908892693,-794987794,-355848297,324036674,1907503868,2776885,-1120630148,-570384439,1341436234,-1443563657,-1982267050,1418973674,1420824343,1346229775,-1020458623,-939332182,-1542317062,685081175,-1505506709,1035468288,1755330017,2073278324,610516966,976825418,-1897741302,-214372611,977803419,975254154,-339862060,-1965987040,1914286820,582356492,-1743954168,1786273790,2118498804,1286798974,1008596983,-1849865055,-1383147606,-1360955943,1935741040,374796639,-219891195,-88959045,-1645599424,-2104781429,310439167,1548990127,1339385829,1730707715,1310700509,-304379130,2107322544,-697848064,-1009403640,-48285860,2085705887,-157520342,132159740,1483696991,993301442,-268229988,925504799,-267391484,-1762755171,-1927876954,-625074848,457427569,866052547,-157769845,1174708763,-1393710317,-1671944988,-1684973471,526435416,70390259,131344007,-1358472464,-1330847529,-638523847,2140079394,-1173582842,181023459,-910699885,425305837,-48639996,1836453894,557209343,-2070852621,1112445020,-784155456,1583457789,-749653293,2038307620,-829559057,1450682515,-693021046,-1414626087,1733738262,1797509677,-1908685132,54598403,1024659450,-24943425,-1035603157,-1507945757,2052670147,348730644,1898351384,-1586459530,-527933715,32168162,-1433456508,-443457535,1370451342,-218398415,-202023729,-1003396035,1085169216,1964720036,-624570576,-651516495,-1113630832,-1308747012,428202726,-128951449,75119383,2012748318,1460734053,577095770,-143596387,-1578135053,-244461017,903428386,-1973987515,-719707972,-1533970313,1345621277,1587748903,-260825500,-588104160); +/*FRC*/Random.twister.import_mti(109); void (makeScript(14)); +/*FRC*/count=499; tryItOut("s2 += s2;"); +/*FRC*/Random.twister.import_mti(121); void (makeScript(14)); +/*FRC*/count=500; tryItOut("mathy2 = (function(x, y) { return ( + Math.log10(( + (((((y & ((y >>> 0) / y)) | 0) - ((( ! (x | 0)) | 0) | 0)) | 0) >= Math.pow(Math.asin(x), x))))); }); "); +/*FRC*/Random.twister.import_mti(245); void (makeScript(14)); +/*FRC*/count=501; tryItOut("\"use strict\"; L:switch(\n('fafafa'.replace(/a/g, (function(x, y) { return 1/0; }))).watch(\"sin\", new Function)) { case 5: /*bLoop*/for (let wrabbz = 0; wrabbz < 114; ++wrabbz) { if (wrabbz % 5 == 0) { for (var p in e2) { try { Object.prototype.watch.call(s0, \"toString\", encodeURIComponent); } catch(e0) { } try { t1 = new Uint8ClampedArray(b1, 48, v2); } catch(e1) { } v0 = a0.length; } } else { t1[11] = this.o1; } } break; for(let \u3056 = (timeout(1800)) in delete x.x) {this.a0.shift(); }case (( /x/g )(Math.imul(\"\\uBF49\", 21), x)): /*ADP-2*/Object.defineProperty(a0, , { configurable: /\\3/im.yoyo(false), enumerable: true, get: (function() { m2.get( \"\" ); return v2; }), set: (function(stdlib, foreign, heap){ \"use asm\"; function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var d2 = 9007199254740992.0;\n var i3 = 0;\n var i4 = 0;\n return ((0x6109c*(i3)))|0;\n }\n return f; }) });break; }"); +/*FRC*/Random.twister.import_mta(1914865186,-1676108099,-1691993280,-650440606,-1237315159,916104206,2097618738,1445386814,66350210,-378927233,1909135051,-299550862,750609456,461397461,-196674914,460921272,-135735189,70774244,1934408828,783444531,-406795706,418251039,1387787312,-1347495463,-573677113,819269875,-799368714,-1568010391,693306400,-14321487,1536768606,1240139395,1375712354,251833325,-1030147879,1423408715,1417014703,-530759665,-1068161278,504801259,1444898349,-1949497572,1246719084,-1600730150,-919243657,-1654079463,470852747,5394355,423517224,1572524633,90666764,1019350751,-1566404885,1169129141,2036107872,1226103743,1767880354,1686151528,1100443864,-1065302889,-2922691,1495479668,1501727664,-1773447984,-793235596,-837039015,1120136213,1568206449,-991649917,1805784767,-1653951186,-1731231428,-133840776,-1184534729,-751395593,-295871122,1703788185,95824702,251704364,434191328,-650168746,-846465716,1489976665,-1279051951,-519312810,1641903808,-1928976399,-30044183,-1230061070,-1577852885,544349587,-748809224,1280688039,790584647,703174853,-1074766630,-988119384,-247891564,341372071,93887526,402092530,-432089551,1452843147,1875451701,391544405,-397355037,445368810,-1462412123,-825167212,-1687855701,-1941232260,1930332869,-1342555660,861814534,-1623996703,-534075495,67253950,-2126097280,-94945730,462255561,1804600216,75428587,-1876697498,679973050,-1174027448,1721294958,641047089,1173798628,-3152652,623857623,-861130131,1421061666,2038185229,-592913720,-607458657,-1178258384,-1563966140,1417210133,-987389354,-1113820531,-1003868746,-1557886405,1931208762,1816630177,1928222940,-499900338,-1860334307,-1372945701,-1262258747,636104935,-1938636250,1679879195,1615192985,909467742,-170868283,-165156730,1493286144,162158973,-269406966,-1370754371,-666312508,-359844814,1476967482,-627296831,-701857331,-252736062,1242227419,-648671070,1851694444,1198211916,-837777310,-1953559527,1480337418,-1069614622,2145749777,1373593585,-672789761,-931423892,575717831,1254609209,1167494870,-188953845,-1825045204,272980082,1672653625,1227225815,1525396420,10056059,-784410553,1978830945,1467825989,-333273676,1426163882,1096028808,489196132,158016518,529273856,714804912,494390777,-1890087337,1193910597,349619607,1655902525,-590353162,2038853379,606038509,207771575,1235903599,-1994700078,961566498,1029971303,-1013808680,-1778512169,2140532152,15676500,-943205627,-1736644893,-1764662026,969716447,1166687264,-433355461,-1644884304,-193954086,-948746089,-1507538924,-2066177211,1021892582,-1283349430,624352610,-1028135636,1760340467,-189539721,451343908,-896085071,1459891032,-1881516339,-522127537,-1695432960,-800065055,-396749046,-1388900730,-1346809999,-685171227,-1306713964,-2006580470,1284892241,670500419,-1198149086,310175447,668160535,1192756469,1062105403,57568588,-1723897475,220539886,1199672395,1839570312,1453023596,-992851339,1019798534,602209354,-1060054908,1026188983,1268127861,796691426,1923926031,-450441910,1546202008,348910626,771837864,-2133535095,1936780562,-312502872,-1962168582,1296846345,-1850405581,270787209,-1634007947,-1658332110,2050141471,-35616549,-762071296,-373837564,-1438118681,-1214655482,-1983418300,-968091740,424658193,1703264467,30542987,306762415,1068438734,-370397382,649649568,103857449,121692999,1382151907,146018432,-1223467121,131329061,83040083,-725094717,-1085520443,-1419148564,1018605705,290389245,189865117,-953363460,-1783701238,1982746653,-1648386486,-1494037955,-704699498,1104919995,-1896954348,1933836045,-354799097,607448121,867761360,1705701623,407826520,-278384958,312043239,320369163,-296172912,1900686263,-628490368,-152765540,-1472774502,-176923754,691460970,2064481939,-678729372,1947926958,1830268327,1319186386,-369950176,1647555415,-808007996,431908438,-206305560,-300946873,485980144,-111612338,-1001322804,-1649757287,475918639,-1588520887,1823501861,429255831,1546915541,-679172167,1706898263,1359544863,-51253743,950482423,-465116458,-1193370324,-607955780,1809069649,1079750359,-1481460092,1978271924,1166836816,1361051368,-1559122925,-500931571,-1293121024,-915984775,-1561517110,1515260610,71151278,1831650431,1948993042,1113108263,1404521126,614408230,-575721072,-465215887,-1266707286,1969680397,1674835954,1101881022,-1620337337,-1922153094,2109011562,1110059227,-660373760,-537551962,634587767,1302666453,2004779878,-1635630395,-565730767,-506830249,904575480,-7209917,902542116,858351960,-923459676,-125524981,-1729440,467322853,828202815,-1624007854,1067938127,-1214284932,-1136469803,1185582683,2069045002,1858377887,-517684153,1649714697,592654765,-1715148854,-1589257872,-1209473945,1706663827,1134031938,-912769149,-1165547999,756287855,-686014693,-2035426208,1314173499,624478033,-1166661417,214448956,54767822,-1580891904,-120782732,-370687988,1883895845,775886763,-1512474673,1836603635,1620878086,1602196121,-863721819,484851003,1341573036,1313663405,714193802,1444900305,-1910014375,24607113,-1790337886,-661631821,-2134827288,1623871146,-918359374,725303494,-1192144036,617178481,-719802023,583010870,-1944431146,-1023967296,-1832273639,-1260363941,32211122,-639116484,-1387056018,1786655746,1265874437,-1819745180,1682876475,-1529980602,167399937,924665299,831929865,-1061323985,1060382781,-1121861691,-1432215059,241296596,-1658773872,2108755579,-1794335436,-1424244450,653832742,-1345576777,-1718259359,99296511,-1158232456,-1921352108,68287864,-1158061297,-565535302,-886924916,745291984,-1567735674,910182564,-1888541249,-277242676,-1512198150,-1767933001,-455761828,561635567,540927068,19069712,328708361,1022207772,770324787,-1934959738,-2143598057,2101595930,494161786,381619090,-190371775,-1617493491,-219061866,-255088330,-686354270,357132949,280620844,1055969393,873573776,-1196859414,2017081781,1887417973,-934758630,2129685375,-1069400429,-1462829731,1396876429,1227292293,-591499959,76490851,141373005,361464257,-1775615785,-1354132020,1035786526,-1176417372,-1096993142,398757017,-483392028,1104336557,-290384765,36434373,1003602788,1859761900,-757357751,-425109911,197069778,-1210745114,1590003467,-2110316430,-969919744,-1814055371,1276919178,-1958688155,1442290390,-1194792466,2096570997,-1161545286,-1306041524,-504374001,-1073167332,-1253719782,-1729663388,828812611,-185252829,-1101128967,1912971090,-870709761,-851906838,-1732976060,-1788548016,1645804392,-1518973214,-1257509383,-362441970,301019647,269444023,-1478776001,-1375245757,-52687620,-1453145628,581066132,1349040088,1069209261,1022287752,-1504240943,2106218044,-1812037861,-1973659783,1133946682,2140049982,2099233244,1101510867,1247622074,-1563359108,-1481960894,581381798,-902130419,-98272635,-456151018,-1774401858,343697714,2027237621,2127932734,-788348383,-2090821032,-1128639729,-121800231,-800690847,-1192863066,2052150193,770419114,-1671650985,-553372421,-1948954371,958211788,-2061957321,-1175449334,656936075,-1136750718,1871754388,1746830077,-638554779,1536403176,-2038382766); +/*FRC*/Random.twister.import_mti(113); void (makeScript(14)); +/*FRC*/count=502; tryItOut("g1.i2.send(h1);"); +/*FRC*/Random.twister.import_mti(128); void (makeScript(14)); +/*FRC*/count=503; tryItOut("m1.has(b0);"); +/*FRC*/Random.twister.import_mti(141); void (makeScript(14)); +/*FRC*/count=504; tryItOut("m2 = new Map;"); +/*FRC*/Random.twister.import_mti(151); void (makeScript(14)); +/*FRC*/count=505; tryItOut("a2.shift();"); +/*FRC*/Random.twister.import_mti(163); void (makeScript(14)); +/*FRC*/count=506; tryItOut("L:do {e1 + m1;t0[15] = i1; } while((y = (Math.acos(( + (Math.PI ? Math.fround(Math.acos(Math.PI)) : x))))) && 0);"); +/*FRC*/Random.twister.import_mti(307); void (makeScript(14)); +/*FRC*/count=507; tryItOut("mathy5 = (function(x, y) { return mathy1(Math.fround(Math.atanh((mathy3(( + Math.expm1(Math.fround(mathy3(Math.fround(Math.fround(( ! Math.fround(y)))), Math.fround((Math.asinh((y >>> 0)) >>> 0)))))), Math.min(Math.fround(( + Math.fround(x))), Math.fround((x == Math.max(mathy1(0x080000000, y), x))))) >>> 0))), (Math.hypot(Math.trunc((((y >>> 0) ? (Math.max(x, ( + 0x080000001)) | 0) : (x | 0)) | 0)), (Math.hypot(Math.log1p(x), (Math.asinh(x) | 0)) | 0)) , Math.atan2((((y >>> 0) , ((( + (x >>> 0)) ^ x) >>> 0)) >>> 0), Math.fround(Math.tanh(y))))); }); testMathyFunction(mathy5, [(function(){return 0;}), -0, NaN, 1, '\\0', '/0/', ({toString:function(){return '0';}}), [], (new Number(-0)), false, objectEmulatingUndefined(), '', ({valueOf:function(){return 0;}}), (new Number(0)), [0], ({valueOf:function(){return '0';}}), (new String('')), /0/, '0', 0.1, 0, (new Boolean(false)), true, undefined, (new Boolean(true)), null]); "); +/*FRC*/Random.twister.import_mta(-1563472731,2126148856,-1536649323,984357888,-1532440985,626608252,441332256,-1630950125,-1843740113,1450328262,-1957674132,284441667,-275021505,1424483792,-1399306085,-1062700317,1632159583,-1604142604,789863606,-2079817404,-1329188925,1791757914,1195893680,1298703901,-327798327,-13536288,1323330315,452800555,-2086482986,-675629576,-1321924446,733768447,1061970985,1082730695,444911606,-1015300563,-2028402829,-973872050,-1149518887,-761552689,1519980823,-1448931181,212687062,-1302016696,-1712309890,-40806128,-817956137,-2101850035,-1230856070,-1745213660,1610218243,144238914,-1693105873,-169035902,-1766220346,-1939961843,378090949,-170718923,-1685530462,1794856599,-1368988294,-1106707263,-1077545677,1773639432,669158863,1429893819,-573901851,-267826917,2136039396,1794896556,-391538216,1979232829,-223919465,-1056587603,-1215048296,-721795154,-1074091430,-1390248965,43088164,-1312913989,460649693,1617146695,737340009,1451050765,-551380009,102683206,-470199340,-509499775,1149976222,-853523602,-1823053069,560526006,1168476144,-1584382867,-1116311829,1422751728,-135030411,1012750912,-1492000279,-1654340786,1321368475,-750976907,-1898849511,-1820232475,-1095275993,1906852841,-1601689666,-339565876,1417761821,996564388,-33834297,21108584,-1391970366,151409058,468484741,-1295338903,-676054302,1751315850,-998775529,188273085,-1356438470,-1330073383,746189288,1836931025,-1157314771,-186509640,-491167263,-1758916825,-1730300999,-159885460,-1226327464,-1590065606,641286953,-513391535,-892806449,-30771346,-829940405,-1686922609,2036055827,1976670786,732622886,945758896,1100639628,995941803,181130051,-1084243779,482759419,633363540,-1069374594,-1309925387,-1243790887,723345761,-584416465,809461256,923781577,-406842139,-936769865,-1892647061,-1294308364,-689944104,-949880491,-1913945326,1951297059,1196962083,-527390587,-848597775,-664908686,-915319729,1370504948,-351125042,301455417,-190122431,-1250193247,-2065527233,345067973,133191769,-1906810952,-640556605,-1402717196,-2062488492,223461145,-1254093206,-515871267,-1972127529,-302843284,315559759,-1515530262,398509613,-1636061485,558387302,-1135802973,689333103,1596234618,1938523374,1158818512,1167800762,-1214476508,806896737,-1140565678,816248176,1766303889,1285458007,-1201983291,-239604116,-204327716,-504613318,1826570441,-2014494927,-535660386,2131216309,-242274931,1796336914,94086509,765211520,649590794,171112277,-1061297530,-51130500,-1478747865,334324552,1775406035,-972640017,-1792958464,990701303,43289624,99077403,-1623167625,-262921708,1608615534,1226208179,-1711455772,-371477131,-1726312069,1909204876,2897578,2070022487,453680966,2055147331,1691957190,-1191180676,-1707871561,1577350838,-1717114199,628868826,1595996675,-1511559352,-1740482475,1626401911,-533915762,-37531371,-876138913,-306116753,1789294465,141754108,-1607121199,-1250949870,-50920114,173317447,1977096444,784210444,1625375877,-585544590,2142765768,-1868086654,1705848982,-1981227652,-1131465469,1358752518,-1096566969,-1781562547,-874726463,-1352666198,-1206612371,814771468,325740043,1740366305,29300161,292164890,-326562030,1022211485,-1666880510,-496876220,1081228961,1296424902,-1322209001,-122760336,-1085012800,95204812,669600347,803810491,1986010479,320117330,107355243,1205476782,1788971111,-815197110,1856109292,1781040832,-1357253392,1775663585,1919846163,1899841445,-2125560104,2024358593,1015919962,-1640937547,-1842811835,1369670744,-2105791594,623715660,-1676897588,-1243805156,-279484,-460443426,17361368,-387016894,103974317,-1970662245,-1967834606,1233321948,-1776014580,1832021319,-1001783766,-1059063747,-571408572,-1974133207,-434717056,450487510,-1450758722,-632637780,923761523,-1787634027,195412798,252395954,-862833371,1618531597,-747162416,-636429915,1302144067,-1798163274,-418835362,1435974013,-1905867442,-1248020092,-1077994343,324119903,-2103907002,1081533431,628815437,-1687468451,-541608750,1356000857,1164846952,1170810422,1383212291,-1426144558,-1441326598,-620359674,1306209741,-1625545571,-222355693,-1338122603,-588499642,-435690945,334756953,-1857995318,749199170,-703473723,1764340565,749922541,960629500,-1521155677,-2058722380,-1528646217,203159815,-770886803,-1623488707,1593269822,1898097460,1049709558,30842353,400123542,1904044697,-1902304246,-236321698,180866886,-89000360,-1466223482,1175107318,-879472490,2095542416,1993947448,994053430,833867142,-1820063565,-143626230,-1309173668,140733589,-791643757,1345417851,-82821105,-1066106136,-2041166055,-2118020591,520808891,-1213495734,1111044321,-150189845,-1997962769,1328189773,602499627,97524151,-1704057018,-1454857201,1197615765,1552378943,-895733904,-1652097150,-1798124431,-1687177035,-1140248442,-141261438,114153354,1237214950,-1148414186,943193574,1992485102,1759932662,1551648983,-1002589953,-2059137430,318666769,1878723888,-415544335,1750705047,-799266531,-911163866,1321586176,-1133886640,576767675,-1816987767,872359375,-1204424350,1587998069,625001319,-1384589450,-424806962,699532455,-1234987078,-1316955815,1855014548,518792630,-829698180,751076612,-1590417649,1508682885,678284371,1234251191,715336199,-638627550,1564461586,1451601053,240980822,-1480854373,1941667185,-1879649532,-1419302177,1204185960,-595434368,409290098,-1674720366,-1716363582,578748533,1411119228,666902045,-289564474,437479159,-1052679995,-1202919456,970600082,-2036572552,1979141822,1854744498,-510892430,1290379885,936437312,-1429595308,264505944,-1199046476,697180832,-2116001087,1049433284,391643004,-885785755,34749691,1826929219,-408595613,40434537,-1086258812,-1199180827,-1605171881,219985285,-398045785,132806658,-931200818,-1842812769,844599840,-1745163829,1094279611,-1766781064,876441357,-917150324,-1826268383,1828192597,233849434,-1583770948,904002163,1781838490,-167692713,-1487833202,1677608483,-1932456697,1983953884,-1546767203,-1702796199,310524781,-561905766,-1457413123,-335323044,310638311,-357248395,1797881788,-1058067654,-1898428009,250421021,1352064261,347416510,1710049605,462237826,669447289,-110702228,912536238,1485567545,-328294842,-816475790,-1856010911,-1075278714,-1757430987,237663431,346985967,-1496193288,1096297129,-525413566,-93140361,-39140045,-1260048029,-2091317494,-554687189,-176767845,1359422387,1132000896,220844891,-1022703677,357599603,-1559095796,-224881053,-229751869,-1420597892,522538837,-9783046,-1490575627,2083674810,1717789912,1399375206,-780541197,-1348496627,1432372131,-1579568468,73633451,339675554,1845329370,-727187830,-1266045674,540288077,-1513932008,-584277345,1127923710,-1821094770,-1879402614,-496773720,1608289929,920479108,-2144749068,2138199651,-2025701226,-717469428,-928488080,1260770039,-297049348,-814459091,25206034,863055768,1669653154,-561264111,-1717385370,-1804294393,-809841255,1571139746,-201752687,1737014860,431735934,123776764,-702162969,-1505794754,857671618,452116083,17360396,1660434257,17916786,-1773667177,-2075964437,-28451897,-198168669,2040041169); +/*FRC*/Random.twister.import_mti(63); void (makeScript(14)); +/*FRC*/count=508; tryItOut("w = x;for (var v of f2) { try { s0 += 'x'; } catch(e0) { } try { this.i0 + h0; } catch(e1) { } o1.g1.t1[2] = \"\\u1571\"; }"); +/*FRC*/Random.twister.import_mti(144); void (makeScript(14)); +/*FRC*/count=509; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n var d2 = 35184372088831.0;\n {\n d2 = (d0);\n }\n {\n switch ((((i1)-((0xa985b270))) ^ ((0xb90663c4)+(i1)))) {\n }\n }\n d2 = (d2);\n d2 = (((d2)) / ((+(1.0/0.0))));\n {\n d0 = (eval(\"function ([y]) { }\", \"\\u8FBF\").__defineGetter__(\"w\", function x (w) { \"use strict\"; return \"\" } )(x.unwatch(\"setMonth\"), /*UUV2*/(y.indexOf = y.getDay)));\n }\n i1 = ((((((-0x8000000)+(0xfde42c57))>>>((0xffffffff))) / (0xa3a4b55))>>>((0xff3b84d4)-(0x85413f92))) < (((-(((-(0x19ac3e14)) >> (((0x224200e) == (0x0))+((0xc7449c50)))))))>>>(-0xe94dc*((0x1e5927fe) < (0x99261b9b)))));\n switch (((((0x3e31f403) < (0x1dcaf73c))-(i1)) | ((/*FFI*/ff(((3.022314549036573e+23)), ((-1.9342813113834067e+25)), ((257.0)), ((-1.0625)))|0)))) {\n case -3:\n i1 = ((+(-1.0/0.0)) < (d0));\n break;\n case 1:\n d0 = (d0);\n break;\n }\n {\n d0 = (1.5111572745182865e+23);\n }\n return +((Float64ArrayView[1]));\n }\n return f; })(this, {ff: (4277)}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [0/0, -Number.MIN_VALUE, 1, 0x0ffffffff, 0x100000001, -0x07fffffff, 0x100000000, 0x100000001, -0x0ffffffff, 0x080000000, 42, Number.MIN_VALUE, Math.PI, -0x080000000, -Number.MAX_VALUE, 0x080000001, -0x080000001, 0x07fffffff, 1/0, Number.MAX_VALUE, -1/0, 0, -0, -0x100000000]); "); +/*FRC*/Random.twister.import_mta(2000574185,1542226566,224885883,1884067811,-1831328042,-1955504631,397276231,-821086093,-594368983,1200689495,645850645,640479663,626615205,-1397883207,-57895911,1942156342,-1183188747,283641038,1585654941,200771662,-387909457,-1217315415,617831268,322607293,-2012464014,-122334512,-574075348,-1168248067,1407887130,777546943,-1540295338,-623719908,2104595523,-2012845679,-1437919272,-1249952170,-2050836010,-1393766748,538528165,1039435378,-1021512042,-96669893,995270687,-548738250,1295485255,1185037526,-2030930548,2115081050,-427440924,274315408,771649542,585205746,-881425768,634226807,-1043607185,482862401,-1893355199,-319796386,-1248217327,1063173870,-1885478136,-330735551,-1389061466,-674874326,-451926753,-1179592069,1186455753,202625667,-1165284782,-1623988685,-1540193623,2094626068,-504424965,-941350562,-204505835,2105693528,-1685949090,1720230543,1869245124,-828265402,1752697273,884810251,-1947451957,805675852,922232733,1601277528,139724269,783039778,289458167,2053742322,1601204995,-1705327796,-1605465015,1179903339,1424731964,-1247378663,-1793239483,-2003665712,576117732,432856689,-1291924596,1629576407,1749940552,1711276187,-322952018,-134062472,1913334116,993466911,-1885616563,-1784479844,-681844097,1472035418,-768464983,-1597792624,1228442727,-117488048,415857552,-1228734450,2098023101,577947758,-1419748823,-1606562141,149384377,-411789974,-157284773,-1642808333,1901200337,1340542298,1774063835,-2047728970,-105029408,639070487,-1153932272,383258573,339493899,1050907968,1516844047,-347574197,1786646564,23093165,2042812445,994051652,-1556075917,1695254546,-1329372625,-1881116773,-24203156,-277561139,1352743492,2081332405,1538898778,-1179155057,1286678251,610185923,-340750332,498294982,618808605,-1530400567,-543877745,2044808063,-1744444254,374946645,-341603331,-365424099,-225126916,-1356471814,-387935349,-875951754,-955140476,599596800,135179907,-594528294,605245242,1952941768,-423442871,1632586500,-1501002408,-2025062647,-317201113,-1967117072,-1149651559,-305461094,-938580714,453247212,80267762,-1503869213,-220399740,871783598,-1920431444,-1005285904,1593298406,-1603741129,-609871905,2102762465,336656729,-1679294874,-1099512692,-1723831233,-1922092108,1694695911,-194894333,1802390081,-1213226981,2020181884,1132934277,-1931218407,1148577110,-374605015,1929376770,1853221760,674055723,1748770296,1900455820,182466683,-1687067255,-159701340,-666467712,-101074034,1392775127,-1394011334,-655106055,1266791282,1388920627,-2063004185,1706462613,1654172103,28483547,416191966,-428930176,26860681,-1649803898,1197334196,-208187953,398192402,1807125511,-786962038,-475650519,336756214,984412817,-246928863,-1011890718,1767330194,561977179,266417451,35369834,-1951747992,-494448982,-654937240,1352148476,-667386732,-53302315,1683470189,-57922130,1423596955,-521801612,764487101,-226848061,-1629685464,-846346470,-737573154,-1500852312,-711518532,-1121149161,-149675619,-1474781158,-413768709,1435169777,1162190314,701734466,-944485088,-1998253341,-2009760082,518654544,374339158,-725298315,2136145627,418165277,465237903,-442503709,-987482983,1425844949,955940576,979700386,246765845,-1868094746,-365709967,2106123272,90306298,1656047299,252454094,-565415677,2133564405,-1705126740,-353397723,732387494,-841230556,-1440242349,-1279362863,-1858406085,1104209581,1718760019,-211272071,-1730263833,-2050707469,-258428534,-1082741703,-1502581142,1766202482,1714139309,-2048232275,1793795650,1225128383,758552119,1221619969,450590339,-883870210,-433839008,439021066,-23348062,-1419994673,-1446878441,1993297961,1287770072,-68867609,1420837659,1365083300,1419783194,-1505927853,201590657,-1430064082,-172892402,-1458387663,-7864671,-850754775,-771506106,-1507828699,1638015889,681427073,1574199297,-1581863546,1392554737,1309404864,-1573840238,-568441597,1717790334,2084650014,-616494774,550867408,880860498,1732032208,370496153,-736684561,-1125111576,-1050435185,1519938611,1018534950,-395236683,106448601,-1332620410,1534024518,-674344872,2051694248,-727133056,-1969718532,-471273810,1009647493,-1285553008,-1805733528,-1273904403,-1075761395,-290867172,-228174859,1150911903,562822192,1601890724,-2043393787,326448042,1663626944,-1493229452,-715990836,800194952,1241945495,452850371,1545029426,-509339798,-489820509,766300476,-83836967,865276702,-1781517387,-782987647,-281750681,-1208219847,2016028429,-1334693517,-1612023126,-24897131,-1183964523,763379256,-2137792542,341690300,1021400346,-1197002029,1879392602,-1667351508,352570760,676247642,1711654321,324464867,1089626332,-2132493080,167762513,1810900027,140857873,-2067965330,-1463378668,-1965559247,-1919542527,1960294066,-2052943972,111139104,1467355804,-1086796523,-1548710137,-983854388,-1240578109,1366309276,1129624247,-797433119,-183654610,-1474425941,1954198045,645326654,-1454275518,1485660024,371698449,152505472,907569027,-1610297734,-510169961,-904455613,-2022990536,2154689,1408127980,-280637387,542307632,1631101366,-1010691036,-1974898943,629251193,-1971380420,1123248683,888859461,-2011153277,-315591869,1800494454,-1134953843,300996698,1806333477,-1660376890,-1510897277,1821902252,1539482392,57878606,334042228,-166209759,-1834279019,-303106142,627438379,795472530,1127750218,-903052401,-1582871466,1752166779,-274153717,-2070337960,1636858921,-1594566619,951754788,-4062574,773978820,-677157971,492246660,218559274,-2060154360,-655832400,-1813281806,-1160851470,-2125461524,617881256,-1470977025,-1548525660,1539780246,-1920246445,-364941292,-2096527572,529039435,-1757048287,1300182915,-674547676,-909566901,2045724025,1017627354,1020473978,-878300385,-1129044749,1473376419,-1385649449,866318684,-109900293,706735059,1077755817,88540420,2070988069,363675556,-1588786395,974552451,2084854519,746790962,1923762018,1972347513,1351025992,1161067957,2121246624,1677186488,-1099299082,-1941403764,276005501,589395413,881630466,-263188435,-789634025,1628583981,2014204219,-670711249,1819353970,773087440,1731051011,-1006750884,293994113,333604950,-1349108416,-43615523,-2121339687,-879911835,-1586496799,2043409546,2011163051,-443504127,1604926628,37850220,1692871354,-1251192512,-1283588516,1699181885,1302889476,1555191396,369242524,1486480439,-566524447,1389812315,1787695992,1971365955,1881876631,-925287569,-1107562177,-199286984,-2053462652,1908323005,1755997495,-1610127266,1431491602,1442143917,1794459884,-300750711,-952611748,2010148742,-852744941,-569863874,-1978755579,-349151542,14465720,-173588769,-91179207,-238639287,-787706759,1389722881,-1875698787,192656508,575546139,-1846097858,-470011308,-627284885,-1329519397,-20933138,-800722859,1132164777,-645133982,215271612,72993558,942894076,1857591541,813243602,1604603929,-1340469860,1479210599,-1149239139,-1891234145,969067185,371200252,1604784204,1404980294,-1311613892,1948472029,1869697087,857169944,1034197186,-774095048,2099224051,1825903123,-1643873743,1398969981,2049871133,1544782398); +/*FRC*/Random.twister.import_mti(184); void (makeScript(14)); +/*FRC*/count=510; tryItOut("\"use strict\"; testMathyFunction(mathy5, /*MARR*/[new Number(1), arguments.caller, arguments.caller, arguments.caller, /x/g , arguments.caller, /x/g , false, false, false, arguments.caller, arguments.caller, arguments.caller, /x/g , /x/g , new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), new Number(1), /x/g , false, arguments.caller, false, arguments.caller, false, arguments.caller, new Number(1), arguments.caller, /x/g , arguments.caller, false, /x/g , /x/g , false, false, /x/g , false, new Number(1), false, arguments.caller, arguments.caller, new Number(1), new Number(1), arguments.caller, arguments.caller, arguments.caller, /x/g , /x/g , /x/g , arguments.caller, arguments.caller, /x/g , arguments.caller, arguments.caller, /x/g , new Number(1), new Number(1), arguments.caller, arguments.caller, arguments.caller, /x/g , /x/g , /x/g , arguments.caller, arguments.caller, /x/g , false, /x/g , false, false, false, false, arguments.caller, false, arguments.caller, false, arguments.caller, new Number(1), false, arguments.caller, arguments.caller, arguments.caller, new Number(1), arguments.caller, arguments.caller, false]); "); +/*FRC*/Random.twister.import_mti(378); void (makeScript(14)); +/*FRC*/count=511; tryItOut("testMathyFunction(mathy0, [false, objectEmulatingUndefined(), (new Boolean(true)), ({valueOf:function(){return '0';}}), true, (new String('')), '', (new Number(0)), '0', ({valueOf:function(){return 0;}}), 0.1, 1, ({toString:function(){return '0';}}), -0, [], (new Boolean(false)), /0/, null, '\\0', (new Number(-0)), NaN, [0], undefined, 0, '/0/', (function(){return 0;})]); "); +/*FRC*/Random.twister.import_mti(412); void (makeScript(14)); +/*FRC*/count=512; tryItOut("testMathyFunction(mathy0, [0x100000000, 0, -0x080000001, 1/0, 0x100000001, 1, 0x100000001, 0/0, Math.PI, -1/0, 0x080000000, -0x100000000, 0x0ffffffff, -Number.MAX_VALUE, -Number.MIN_VALUE, -0x080000000, 0x080000001, Number.MAX_VALUE, -0x07fffffff, 0x07fffffff, 42, -0x0ffffffff, Number.MIN_VALUE, -0]); "); +/*FRC*/Random.twister.import_mti(444); void (makeScript(14)); +/*FRC*/count=513; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return mathy0(((((( + (( + mathy0((1/0 | 0), (Math.cbrt((Math.fround(Math.log(Math.fround((-0x100000000 & Number.MAX_VALUE)))) | 0)) | 0))) >>> 0)) >>> 0) | 0) ^ Math.fround(Math.tanh((((mathy0(y, y) != Math.fround(Math.imul(Math.fround((( + (( + ((x >>> 0) , (x >>> 0))) >>> 0)) >>> 0)), Math.fround((((x | 0) & (x | 0)) | 0))))) >>> 0) >>> 0)))) >>> 0), Math.acosh(( + Math.atanh(Math.fround(( + (x ^ ( + x)))))))); }); testMathyFunction(mathy1, /*MARR*/[objectEmulatingUndefined(), new String(''), (1/0), new String(''), new String(''), objectEmulatingUndefined(), new String('')]); "); +/*FRC*/Random.twister.import_mta(-1801952298,-1304743718,566043852,489805015,-531543359,1786345519,-829788740,1809833959,-272370180,-1569096817,-333771335,-1728908818,-810799265,1739212347,1881055306,-297506658,1074876534,854883583,-1388488397,665796281,1327904010,649992960,355955485,43632409,724351988,-774051325,1737934502,-1397833407,942326083,1130906423,775804857,935876639,1745232697,-46432185,784674102,1687665621,-14163184,-1853273227,148760616,681146315,-770793279,1688546986,-835577588,897871423,-1539669165,56220167,753310273,-603508153,1753098616,2009569717,-760031267,-1343082931,-294655843,865224532,-1785190316,-1436515526,-27780820,787748884,889061889,-1147729143,-19081051,1026571126,-152324397,1316039635,-1454843826,-1584274525,-1670221360,246186333,545690855,1505422878,-1820177112,-1936013047,1285284413,-1546185697,-1259493085,-1402571015,-2111631133,-669152663,-1547046789,-1935357910,597883391,-1539043810,-1480535244,-1403692587,-132406143,-2139773779,441511355,345790764,-438565431,626723500,-1209815468,1216344343,-554345278,-2111341471,543731447,-2008992405,-910007493,-1156309530,384260299,116909453,2128448661,2035927847,2109966518,-5698020,99510853,1168266856,-1203761238,1432576230,-161129667,-1519079101,-961144838,-2085397929,-1458388301,-678748865,2084740225,1227077836,1611744546,-232576475,-1334546670,-1230053304,-1252913799,-235395407,1091571159,-1747512949,-2038044562,-1533686654,1503404301,-836735734,-1132259411,-258590724,-630158807,1052592093,-420992453,1665565431,-809570633,-718400779,-727524927,-1388656067,-171328389,-1946305535,2056109345,1263965882,1660959368,-1836357218,1903082066,-2111757589,1866218592,-1545797305,106955876,1410804007,-234054733,448825771,-728836838,932824174,708745945,1041613585,941012711,-1819979995,-1471114908,1353753653,-1004135191,-197095146,841956400,731689125,1025303429,-1728556711,365833260,-1420697555,-333087041,1762719910,-1412252055,599201056,1385801299,175029157,636842384,1186012161,-1336408137,26323653,-2108138972,-1285290603,-1144413858,-1173380171,-947087757,-380356045,-1963300586,-1932966627,-1553229458,-150805985,-1291400575,1034853362,420464217,-6287540,-974365132,49677389,-300954265,-2052651475,1701421595,-1200157644,1003274361,-532490889,892574877,-1911838610,2020411560,-2131213983,-238956250,1380183673,-226943662,-916064355,1863320487,916329303,-1151860637,23173495,-1973896162,-887680425,679730964,-571400836,148868890,-1610881269,627304837,-925513759,-1273174399,-848055627,-145152961,1977060388,-81366463,-469798353,1349830865,-1481644522,1811902017,795466255,2124364685,1083333881,564432806,1650039648,1129589538,119035447,-395295372,1749402670,962483233,-1367618130,318893810,-106325192,1891386068,1092389315,924918987,-595657114,1272186637,661268468,178398538,-229206488,-373642128,359312675,582579217,1474576028,1668211520,-1742784259,201736099,1224422452,1573690224,994264301,-1745876199,-379858334,-2045436988,-1423199459,2066401879,-82829041,171686206,-957911072,1199507514,323494050,1906233704,-347109765,142483756,-1618197724,984022517,-50282327,-485338451,2037748211,1416135902,488181032,804223012,-2002080507,875732847,-167016353,-1025150349,1245343749,-1188564876,1452198683,985016593,1086668429,-1460906250,-1536806376,1307482478,-912138877,675375823,-325192047,-1720884567,1108836714,1970932352,-425047093,57392124,1636449167,2005701087,-93370330,514747562,-252590258,-133708269,-1983934090,1069122711,-759873515,299832789,2005425989,1024797938,-1909070299,825541587,-1764878343,1749974441,-2001833979,-2066150097,320658838,1615357098,101206299,750457159,982708841,-1816469580,1018646214,-1931346949,-1579729014,1815654704,119236401,841538651,-484104758,-1173379293,-784207991,-1619263957,532478506,674423260,1901369125,-1821897580,1503275796,-259069345,1834619336,-1088148846,320927261,-872172502,-1646990409,-423352160,-1357749296,-1033470503,-753789884,617884579,-654443494,1563208858,-1378310197,-797269223,296956456,716350543,-1036491798,1393224318,-854654441,509848995,-437615369,-1872613493,-1521045866,1780778272,-327565773,-1043143499,-1181881208,-1917931037,341108358,1924198587,-1976907710,-1830494989,1082214578,969905434,1339727281,1703108167,-512554103,1885988301,-2091395618,-1953350022,-1102523545,270426248,147111250,2079000747,-24708614,-197637370,-1645243034,1738553363,-1014117457,-988911159,-1421114,2112221696,-1795193782,-458957448,175096490,-1397794509,-49110667,603912913,414664077,337514792,-1599186906,1051966636,-1105782367,1259359233,-1770060279,426661778,728394224,-1703504933,-939603961,883124164,638241748,301161674,-1590348711,-1553879915,1868923718,-496163155,1667505408,-42907518,-2036092252,692915459,1754995506,1299706225,130313085,2054725386,1400167607,1491090675,-2079900366,-192054279,-1251295838,1674422448,-486890823,1189817432,-1639992594,1535021770,1805354471,-1264938935,-1420138658,-391995421,1985708512,-2002592565,-241492053,-200919926,-1502226465,-808280685,369080670,-382415373,1748034014,112970838,-228152415,-1918465554,2018752316,2129124529,-1075560017,-771274579,-321182760,1737602594,-767381440,1310066842,-363529288,336959926,1857387182,111264272,-511389874,-901341343,-385651916,-661866881,-658790472,-300064143,1361072113,-50169637,1743946464,826390020,-452401065,1697035480,-480072831,2065976037,-1243087774,713796714,1974045043,-448970859,767911938,-1633926808,245136039,613372268,339303049,1713644308,-682096401,-1154360010,188022500,-84796209,382295324,1692221305,2133066036,-2023510922,-1850476352,-2115872403,-1909851530,-1062593943,-174972970,2054377799,620043416,-479635052,1607072765,-1104727211,-1500984240,-1834620772,1983775882,756783911,-130688423,1327343444,-1069092623,-292904376,-1276022874,-551485866,-21649649,-403725527,-1095907601,-1657597527,-299763571,-505258201,-1814829878,-743824063,-1466529675,1563066897,861817158,932919850,-1946963511,2076996878,-693360362,185625330,-147865501,1442733836,1292736475,-7929649,682865919,2016096203,807406715,-1505619750,887363801,-1711343483,-695251358,1325519178,-1803549884,1091648938,-130222230,-1308911204,-880246411,1776080713,765187953,148989748,-1995639020,1695134184,1732964794,-2029814392,1113692674,203063295,-2022924641,1429231589,1248623313,-469309899,1018370773,-1096687938,-1789473612,-1230905499,-379092216,458717654,291046366,-1073245300,-1356357955,2039061524,2146544547,-1464971327,1220930619,-863091202,-1181857254,1821160978,1271948092,82970567,682918911,-306775401,1939967145,-168568469,-883341516,867603721,-1553406943,1545486086,1541306269,1841636773,-1734784108,-727140420,-1637742646,756128897,-1095586238,1218946173,1964751464,949150263,886740197,-2012860983,-1895995123,-287984617,569580403,-117439134,2106480777,342802533,-190753444,1576821326,1316744189,-1252467943,1070459054,555457393,1661085365,497016907,1518883782,-2073811606,2037544050,-345779149,579409903,1351117072,-336625721,1682341803,1086008105,610665397,-1495045928); +/*FRC*/Random.twister.import_mti(97); void (makeScript(14)); +/*FRC*/count=514; tryItOut("\"\\uAEA4\";"); +/*FRC*/Random.twister.import_mti(120); void (makeScript(14)); +/*FRC*/count=515; tryItOut("b2 + '';"); +/*FRC*/Random.twister.import_mti(129); void (makeScript(14)); +/*FRC*/count=516; tryItOut("while((( /* Comment */new XPCNativeWrapper(11))) && 0)x = linkedList(x, 76);"); +/*FRC*/Random.twister.import_mti(195); void (makeScript(14)); +/*FRC*/count=517; tryItOut("/*RXUB*/var r = /\\2\\2(?!\\2)/; var s = \"\"; print(s.match(r)); "); +/*FRC*/Random.twister.import_mti(285); void (makeScript(14)); +/*FRC*/count=518; tryItOut("\"use strict\"; /* no regression tests found */"); +/*FRC*/Random.twister.import_mti(294); void (makeScript(14)); +/*FRC*/count=519; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(303); void (makeScript(14)); +/*FRC*/count=520; tryItOut("/*MXX2*/g2.DataView.prototype.setFloat32 = o0;"); +/*FRC*/Random.twister.import_mti(316); void (makeScript(14)); +/*FRC*/count=521; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(326); void (makeScript(14)); +/*FRC*/count=522; tryItOut("((Math.max(true, x)).then(new XPCSafeJSObjectWrapper(this.__defineSetter__(\"eval\", ((1 for (x in []))).apply).watch(\"toJSON\", Math.acosh(x))), function(y) { return /((?:\\B^{2,})|(\u728d*?)|\\r){2,}|(?!((?=[])|(?!\\S)))+/gyi }.prototype));"); +/*FRC*/Random.twister.import_mta(-1542506216,1931503799,-1893261511,-1120009065,1285182702,435587698,1391478413,2096215807,1581976337,-160734831,1729302791,1688745131,757291973,212613089,287899547,1912337649,558349049,754430163,-1514492731,-973194200,1882919040,1860321747,518513143,1021006073,-646062356,1052545570,-2003059966,-1083879564,-339194381,-688494608,116105698,1502010042,318754142,883899947,1236914060,2037964240,1341368203,521168606,-421556515,76902646,-653725685,-809790619,-1248786912,62336445,692011639,2071841141,293535267,-1142060753,-1223375525,1499797186,-1497283033,-393967417,-1414559733,-2023055932,761525921,30134311,-392278619,1366358386,1746409091,-2114491729,-1931825669,-328506580,342154894,11662737,-1485489248,1217985272,1071267647,1124951501,-975299525,-783445781,134116323,290988976,-641501919,1048321173,-1463219901,-380072278,269393340,-1379206086,-1523527788,-1275230523,-1480197267,2037106160,-1165257402,3693834,-185136501,1253869418,80893489,-1888885929,1184161759,2111173694,711934139,-1806994601,-751833077,869202795,-1948158090,-1724596677,581832647,1427681484,197180121,662974456,730705722,-28582350,-901343016,-1584606022,103036844,-11968959,897076110,471674388,1832526894,-234953887,-1360062082,-526759263,184083481,-1472964149,-455660393,-561905447,333990507,-2028287521,-1511860437,609097034,1599694184,1689495453,2093138071,-1566528752,-1046936949,644646168,-1886994704,-1704740584,1259688632,-1012150303,1302700792,-776941364,1040701618,-1245205130,78674374,-1498971341,-2103950822,476802605,-196748768,-1671085692,361449254,-1748890210,1034005526,-515267156,1318547400,949997434,476459832,35733400,1262474022,301294746,534803839,1134280132,1985426758,-2064213369,252618307,-536192444,-142547209,-752143046,-1288603449,-1224621740,-45296108,203934205,-961899940,1669343016,-1446542682,-196687704,435588221,1505480933,-1645215909,-1749641667,1082296654,1883500666,857240496,1802708188,-979266180,696974533,-1861908090,-844994324,2033514511,828925629,-1881210311,-29557727,-988402119,-1463038436,-1395810568,-1538910756,701531876,-214089578,-37770792,-913216267,1678667835,255003327,1089141101,2057822672,1169765379,-961675949,-1568069544,-1941343074,-600678388,-83649370,870269138,-198137443,394918242,-1774887804,-774218608,-1069773877,-2144070760,-85036695,1994845224,-648490336,-1748789351,-1334541034,-1018244774,1968862459,1308272651,1508911046,-864218980,1339908471,-1005574307,677713836,-583500182,-1305719856,-1861961259,-1059195308,-1471405343,-715860222,-1254843437,1224228583,-40094353,694170144,75471412,1548227389,685393858,1935299356,-428528325,1785932203,-2109111418,-491484216,1939198588,1688448188,813234813,1769398001,-931331889,-1545627581,46714848,1498947484,-699715630,1969881637,1472793287,1782233039,-278481225,1361695803,357469548,-1188246878,711091157,885252861,-225706518,672001114,-584071149,-2146469875,1073927962,179520110,-1243237247,-1418825089,-1148139898,-1547546046,669435654,-1162382314,-971013324,-1923191148,-1357357473,1828737761,1958471911,-718983162,476404132,1603624146,-1126732060,-1930099640,-435679661,-1135070183,439843737,-294516279,-1547262761,283395139,-1385860689,1955327673,1941487613,143198636,1426148533,1242613,1384311965,-1048414441,-180312858,-219006329,-330617254,274734512,-1337569186,1027831459,-1157253494,-1737053985,-1749962355,168292723,-730912071,1599712233,-1783488611,1077648450,-148746626,1628539385,-918956763,1802284915,-1561017737,-360866574,-726743897,-985626873,486955124,-1413787180,-527794973,-250906893,-574284388,-485768610,-1446875335,78925578,494237648,728981533,188946351,-1799817221,2003808317,1569847202,1691278709,1247430186,-1877064097,-1037347614,249633114,-473103292,1405309697,2032358592,1348212780,-1487200460,-1940431061,-1414061591,-560377553,-79349282,236636936,904499326,1358433499,-696204421,1942430882,-1486689445,221949375,-1214224999,-1898031843,-1357949754,-1450678750,2125684643,-759554036,-951799744,-491258348,606132167,1849680152,-398541124,507142098,-712384804,-200485768,-141950838,-1285619221,228858021,-1063012416,-900419832,-571965731,-1645124460,-463683187,-1628589714,1491036963,8518069,-1127956065,-520696614,-1203482239,-19122362,1110464299,866003579,1121600491,1191286279,-462945043,1400754813,-328709689,-919773884,-101315609,395606722,-1259758347,1025840743,477433675,-684360794,-29816179,1805968065,478949808,313582365,1882682968,-2005580551,-451878301,957840164,2065959119,-1695003862,-1349926710,1837440857,1603623735,897831878,618484293,468515595,80423165,-1622696485,-1144083466,-1540083555,768884527,-513220495,-2070970059,1434552913,-1205640587,1521931386,1281545197,-1924870349,1323985993,-99976092,1548187698,-1615501347,1023126042,1766510250,-117439937,-795783695,-1366952116,1718562106,1044430087,-1297102148,-819768644,-309634307,1445659461,-173861677,-1930043121,2056939703,-883341850,1578569696,-1801499663,939110990,-1815970570,849145482,86162904,1770189179,1551722307,-563767231,303541983,-673710814,-1124848182,238517350,1403930378,1161793370,1049997067,-1907036546,4286976,1668587129,1768058593,1657834265,1140911691,-450507725,1521569292,2120383721,-1774895534,-2032453220,150896480,-562103398,-1729213994,1878297725,-802760397,443028706,-220931224,-1529317954,-573315270,-1286365334,1892239870,-1172086654,-218783651,-1093098887,-271679837,623657825,-360353935,-523479716,-1155927615,-297936487,850119845,496646529,1328102684,294914617,-536158991,284617189,-1672457512,609685821,-227637130,535175005,-901082193,1447420852,399072522,-1869942629,-950026678,768734574,-1451683341,986466193,-542023072,-1352992227,-951634340,-1783494955,1264604218,-1001883779,-1446015772,-635428725,762534250,472432854,-287610124,-1073861122,-968055203,-2062297962,798636942,481901482,-1155807006,479628325,-584849067,1205576073,619467264,-1597494369,76005604,-363361526,559015416,-1847124032,-37291257,-11718629,-4855952,1374256838,-1405033639,1814360607,-361490031,-1311389158,688332865,1096353850,-1375264714,2055647441,-1577365386,-2147294666,-854258362,-2059873966,533148219,1143256130,-1955523475,419808330,804592535,2043137883,-1491235034,1961758457,1017199267,-70561195,-790316614,1670307186,2115361109,-1511335265,614218225,1284750430,864563866,-1845213375,-739713360,-1040391232,-1558470650,-23422743,903759455,1927152898,-1827015312,-576218140,736789945,1434453597,-73019818,2071787190,-1840753657,363849249,576562662,106671030,-1637144280,1900772454,-1561848870,576980047,-1399057144,3210907,1557738925,-1311736353,-641369322,-1638363226,-1195703441,2095021940,318590852,1039717665,-254184900,1487519513,513056313,2035771318,1083946295,-1229127177,-915356461,-2142977234,121196609,729514348,-997417496,751724044,-1918144678,-1048666440,417817168,1844279690,-67866120,2075068733,-462850905,-71034542,1798127867,407946803,-177656497,875641795,2076865690,353535367,-755906678,-1749581643,29448049,573631188); +/*FRC*/Random.twister.import_mti(603); void (makeScript(14)); +/*FRC*/count=523; tryItOut("Object.preventExtensions(v2);"); +/*FRC*/Random.twister.import_mti(613); void (makeScript(14)); +/*FRC*/count=524; tryItOut("/*RXUB*/var r = /((?=\\1.+?)){1,}|(?=$)*?/gyi; var s = \"\"; print(r.exec(s)); "); +/*FRC*/Random.twister.import_mta(1760411773,2072763680,-25114192,493429432,-1778184685,536433491,-889883399,-373789088,-1749101615,-832804327,-1330622079,-1957546560,1652468,710042852,96565818,-1535159668,1847298247,257582984,931042373,-1069618635,-187743156,-635857975,169990032,1649705791,-1521207947,1477092787,-1073233817,-803783620,36830546,-1166683442,-61726548,-1476783645,-449838352,446454465,-1911315372,1909600678,-503092846,-62098188,-1209422680,964241877,-2075192870,-1852717322,-2033964575,419977749,-1823480277,41268024,-1235051838,-945786966,87063066,-703236977,858746109,-557262331,-1805470784,1934452293,-1747311446,-18231033,763884515,-1819208555,396880886,-551252958,356593647,592445862,-75448050,1471837083,-2123779761,-598417076,-957579568,768770192,2004173110,-771099058,-690820542,755450777,-1446890776,1565191501,1858360247,-1160538698,-1304622173,-1890877200,1940253911,-1172110185,-963214726,-273650946,-20673284,1287473977,1081213140,1910830262,2121274408,1096494833,-791207034,-1097540569,-1900597003,-1078561338,-780417197,-436574390,-983300569,1410328036,249252187,1854301637,203688097,-544455630,1767902381,1927942502,-1068721466,-2075286116,-1954682223,-205179852,885182619,-382963593,246233970,-1875854621,2096599898,-1760258327,1230695239,1118612080,745115704,-40907648,-2035477274,623030718,-304535717,-371190551,776124295,-1997280486,233401890,1121974648,1335938729,-622807507,183139589,1097268060,404061360,1649742232,-1030757524,2119305633,-1962620549,-1080113180,1964392797,-1090926979,-2032895729,-1771958711,571888349,-1598965246,-1170944811,2010641994,1912462060,-917727278,1724471148,-1345828374,-2129494534,-393550635,-1916640481,-1992312741,1709796000,-1336242482,-2106181162,-243599255,1237508729,1171606658,494638180,-63883745,-1605651713,-1371352400,-1131050669,1564512379,-735393525,813693090,917559306,-428096389,668016620,1142395330,321853441,-1017453407,-960798508,743604103,1197971308,-1312210994,275404121,594035066,860959275,506921614,-88050377,212821444,-205969170,-639761883,1379814584,-938613164,594048648,-167751512,469410820,-767311388,-34539458,-1210663569,792807519,1622718335,-1559527602,57616817,-964611838,1136253864,2078044014,-1631567302,623407434,1199259216,-632847449,190794118,-1113083979,-1583486309,2035430932,1193499021,-821819129,-1073746948,6426460,1598166089,-1723540429,2034240253,-1907821784,1140954402,1465326302,-1034421015,86120758,-802298998,1281510885,-604695942,1831280171,-1438607185,1971093165,534734373,-48370892,-1034704313,-549173896,-819238379,792446000,-54590294,-1438278663,-2106708494,643070685,1623675579,92883562,-1768287726,-1090113539,-914704193,-1190927458,-2127693035,-2015249597,-1191753086,1821912690,796913463,603351110,475726764,595811320,1176728048,1980528881,-1533395948,-1815553539,-1342999613,1151123682,205406546,1400798621,997458855,-294443805,1271755898,2129993018,-2060359299,533068790,233426635,-1116882874,-1077212463,-1381147179,-468005077,606245854,-415182784,-683740740,1212200465,-159333446,807051911,686238523,-128961008,-395656765,459001192,-1871710549,-651961589,434925782,1081196243,-579022210,1597097502,798180345,-1572996117,1893487382,-1217198889,-614463244,-1496762006,-1169044605,1271465887,-294389553,-70655172,1009077456,-1328944643,1709346376,1867933977,362872256,-883937017,-130767063,2064800497,-2126404309,-570722764,1282928797,569160882,-279556399,1211419624,1403220148,2063783991,51285400,1991662872,964920640,-1288842664,-1974728726,821245970,1418102299,966438184,1595529089,-531251653,-835480343,479346704,-1482669873,-874594865,-658578123,-1837993389,-36524313,-291807136,-247152669,-1039150392,1472672371,1363872054,-447213587,-871537092,-1037847018,-1003763260,-708978153,646133604,-2086849159,-1546351600,1539815106,-1088490737,1057896095,1801778620,-411368257,937009748,-1754636068,-1808091894,1666830747,-237547129,170617097,-745606029,358109979,459603384,1018276131,599223555,583312252,1766753210,-1454519644,-175107104,1246582527,-1004935534,-1789253494,252717921,-985872840,1181960485,1236841156,38242621,-979636858,1304970084,959398912,-1696920843,-2042998939,-1817292254,914359791,108572138,-1729002824,1223228160,-162421768,-1644563990,815606572,974366972,1274184629,-486649648,-1251797661,-1303969704,-1733846851,1169688531,-444010543,1072297974,-1696945257,1125711473,468010353,-794497645,178324932,697763636,-733523821,724869933,1583937026,758882618,1893319189,-469949484,-1128981925,1202631996,-861766135,-2053951633,83290989,1906732234,-1739478882,1758727247,1333099543,265886019,52383429,-326444608,1606193231,-1061825471,562803731,2028599771,-628238510,-1871146634,-15572935,1568078261,1047140227,-1465742053,-714352487,631356003,-1436211857,-2136948598,-1237637001,-1929021439,2020138779,999244265,-1194717243,516136778,-1460779988,1025063034,472305994,-552579324,-1157132083,-1125613888,374050061,487581199,536693765,1588995237,-1692824660,129189850,2112105448,-78360933,1842310789,-1121683045,-2119473602,721840200,1489295382,-724907855,-523473430,1493574178,-939451094,1864069424,1410202441,133962838,705616033,-1654866649,-883096451,1758588268,816028857,-1273188140,-1978194831,-42148818,-1374517544,-879321176,1443216483,-578555340,1649141062,446432754,1312242035,1298835557,529186373,241753102,-1182036907,1941616908,1771541024,-1435283604,-945762243,-13337862,1259481353,720858332,-1512363927,-1096266825,318031202,944858488,-1674872056,341862113,1857605372,-1551534919,792328042,487970789,834367281,1796409524,593643467,-43750081,-1588106731,1263072286,-1363620697,1709111781,-550150529,-1078507621,394663642,2052058104,-1818227354,-1194526621,-467841665,2071233931,1445288817,644218787,-1184406340,-334643826,-113889387,1082075250,155250132,-1178671864,-174752023,564701345,1737105200,-763639235,-1783428862,131519680,1111266327,-1166588069,1312399220,-773236777,-720832044,-1415823935,-951935904,-1869824663,549483659,-594824761,-1810361881,-1355009649,777828373,-200759873,-1820240315,-1655728143,-726085467,1148923424,2040257587,965955874,-1563830638,416857387,1048582705,990935590,-2023989270,1447876641,932783393,-295933580,233101251,1981583981,1726139197,1068854958,546072463,1129993112,1206959020,157620785,-496887829,-864435366,-1232493541,-362194399,-1020592656,172648129,1499140004,-51796625,1376515901,-285737465,1493856166,1536660191,670172923,1586181808,-1939264804,-1710754859,5355452,74875368,407447651,864304567,1527960368,867216017,-1586220734,-1090273248,746642546,-47612682,1173973154,-105343743,1077701810,6944592,941422239,1086723334,-2051845262,-34122600,-1198248905,-1351763005,-1502562002,1065297185,301490694,-885991591,1180355709,1113954887,1565866934,-736629492,-878787860,910728321,1521280928,125907613,-737612779,-2003227233,1452815385,865833521,945425274,152502131,-1429658576,963022319,-2146905265,637566780,1126506383,601482753,-79398991,229592052,976016967,-216619293); +/*FRC*/Random.twister.import_mti(299); void (makeScript(14)); +/*FRC*/count=525; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ((( + Math.max(( + (( ! (( ! Math.fround(Math.hypot(Math.fround(( + Math.abs((Math.min(y, x) >>> 0)))), Math.fround(x)))) >>> 0)) >>> 0)), ( + mathy0((y <= y), y)))) >>> 0) === ((x * ( + x)) | 0)); }); testMathyFunction(mathy1, [Number.MIN_VALUE, -Number.MIN_VALUE, 0x080000000, -0x0ffffffff, 0x07fffffff, Math.PI, 0, 1, 0x100000000, -0x080000001, 0x100000001, 0x0ffffffff, 0x100000001, Number.MAX_VALUE, -Number.MAX_VALUE, -0x080000000, 1/0, -0, -0x100000000, 0/0, -0x07fffffff, 42, 0x080000001, -1/0]); "); +/*FRC*/Random.twister.import_mti(495); void (makeScript(14)); +/*FRC*/count=526; tryItOut("print(h0);"); +/*FRC*/Random.twister.import_mti(504); void (makeScript(14)); +/*FRC*/count=527; tryItOut("m0.has(o0.h2);"); +/*FRC*/Random.twister.import_mti(520); void (makeScript(14)); +/*FRC*/count=528; tryItOut("testMathyFunction(mathy4, [({valueOf:function(){return '0';}}), (new Boolean(false)), ({toString:function(){return '0';}}), null, (new Number(-0)), '0', (new Number(0)), ({valueOf:function(){return 0;}}), [0], (function(){return 0;}), /0/, 0.1, -0, [], NaN, 1, (new Boolean(true)), 0, false, objectEmulatingUndefined(), undefined, '', '/0/', true, (new String('')), '\\0']); "); +/*FRC*/Random.twister.import_mti(554); void (makeScript(14)); +/*FRC*/count=529; tryItOut("(this);\nprint(x);\n"); +/*FRC*/Random.twister.import_mti(606); void (makeScript(14)); +/*FRC*/count=530; tryItOut("/*bLoop*/for (var kfvpnc = 0; kfvpnc < 2 && ((c) = \"\\u19C5\" >> /x/ ); ++kfvpnc) { if (kfvpnc % 18 == 15) { b1 = new ArrayBuffer(0); } else { /* no regression tests found */ } } "); +/*FRC*/Random.twister.import_mta(285101994,1335469773,-1387679096,784084365,-1856328630,1892709546,-246474657,-702467494,-1887377127,1493250177,763172527,259647341,451947313,33551320,-21663610,-1313217293,-954669179,-1556328722,-1040303074,-1595247244,1685907533,-1174238223,-179042059,-1245135386,1571778333,1818265717,1302996093,-344073274,-1650841107,-938330079,1206960175,183557731,-271983530,-1077682705,1714063257,-1712328475,1128202752,1204946718,446982961,-1189079008,-199189061,-870242014,-930907174,-1890447409,529333561,-2144811315,1684238351,1065096933,1230390275,-1387239388,189310022,-879083554,-878154827,1395247683,850825453,788997316,-909764425,-2083329839,1082734369,-2019173279,374611077,399423526,1871262773,1390504965,117153226,1406510033,-487198564,-1314028310,-730323191,-981732359,69045947,1122280727,707671117,-870220734,133549865,-1910436739,181364765,-11470607,-1972244838,-624898712,73567347,385209438,1428511279,-409350057,-943325023,1948918557,-1823323269,-1917797974,2028639611,-861409849,1737121691,1839081598,1721587012,-1794998992,-914192821,-1319312616,-1285663272,-1365124162,1154820781,-824512190,-1005492852,-2123290762,158213840,1913555248,473719807,475825901,304729983,1355844451,-346093994,-304364341,709755848,431523843,1512231091,1074893677,413276643,-97390897,-1097013935,1456606439,-1383623975,-949418296,-1111027579,-1285436936,13063197,-648886085,1711481332,1238271839,660973934,1312172623,-1956786281,1870556866,935912408,1233268150,-195862989,616631313,385412744,-89982765,246548028,1545308246,-1083904882,-363958624,-1880924518,-1417692365,-1175856104,-1478722797,1402931925,957539022,-723610729,2099271618,-984624679,1282715489,591215937,-966311167,-1208412982,-898571070,-860434635,56172017,-787695171,-1345346915,1754531830,-405924871,-1259164806,-185765898,1364911712,-113607698,1716294072,-446616595,-933064000,1404420399,-1292917682,973520846,868756083,1907899531,-166501920,-2009598507,1243853410,-1487786191,1368438775,671195288,-598720201,965551051,-242143195,1901465151,394448541,178710644,145785541,-326540480,-1776148270,1383637101,1070240414,-1957594030,1357676129,1371132693,-657009833,459042334,555415762,-1201838907,-224955003,-369093486,-1932516117,308004898,2060485090,-1776089853,49713867,989058935,-117668258,-471887894,-1947723534,-1951414974,-2132728198,-821675674,-500594884,-752052863,-359012594,2100541814,-1950819174,2060126177,553651894,1441837597,345769170,1871965317,-1440185420,-1600942074,-1254169140,-976584149,-175231480,1435432187,227255094,1197714866,1908810904,1633931179,1871395700,1534599675,-642028248,-208945814,-580109485,1225477688,-1531651071,1912399712,-689460680,-1073199537,1568954009,-1996920897,1057924023,-689712218,-1391341768,-801140254,-2080649844,-965581590,-1471179269,632870100,2067379416,1071714156,1786751196,-48387476,1875864266,866847555,-1376484836,2022330034,-1855923710,-1607786067,541035093,2023513018,1594017106,-1931404235,-1395142572,1219830494,-1971294208,-1614813851,822723317,-205317625,1314385491,-1829250949,-1140793915,-1990287311,1926361169,-664203383,1489581438,1203674157,1923764328,-451542390,1018243404,-1133018674,-1492030994,-1314377412,23321189,758723419,-725532460,-764130917,-350057674,-1044875123,788897179,1491680162,-759568400,-1878739016,521011385,-559392279,2044418981,-519082512,-1503315792,-1283041785,-1562589352,-121206856,-1630054876,-1536360534,-1689608955,-1549773120,2118717868,98945727,766442194,1239718031,-32556677,-2099248300,743685908,538556585,-1854017730,-831599004,1703248389,-1717885648,601294966,-330971652,1776653064,1020609550,1634560750,1421849204,-638817394,-1518353021,-1344464858,922373226,-1445682195,-1563782663,336083502,2100148468,2118738447,-503344469,59838673,1939418165,-1137605949,1202575529,-1623244453,-1666352349,1973676467,-1307104413,-1579335707,-1255549633,483350114,1159973579,1720327892,1641682142,61735710,-748434097,-723470745,-514636358,-1055031039,906492112,2056350610,-1610929467,364275506,-874055560,1804525311,-1090631050,-96360066,879136148,9694366,711876446,-1003422697,-1649862067,-1934995694,-1821049702,1058705046,1677478773,-301247998,-1848133379,976139323,-660188469,424946242,-26804187,42489748,2071177431,-613509249,185132495,-82850646,252704091,1517985245,72860988,1411060139,-1017593663,-1204099070,546786926,208248849,-979307513,1214299640,589042522,-240473993,2068417110,-1624825754,-1646534833,748384083,-1834189914,1078373729,826366994,-337596597,-176538183,2090010713,-1964805474,282236669,-797403784,-722496205,1327709937,-273534399,-1895442144,1021543572,-26838467,1440430527,1609517572,-150672289,311195959,-1016253207,-1234305374,-1509286128,1592485961,-1778018228,-760765375,1938098475,2125289453,-1437567785,1321533455,-841890563,-1611899216,317461800,-2019875338,1972508882,-326392760,-1118628905,-2047119273,-1540889920,1147821763,-1854798330,805630309,1151587929,2087711187,-882893829,-2043406004,957522956,535960386,-246274673,-76348593,-402038633,-352505685,-183458782,-1721988665,1990678188,-2048386819,957212138,696987043,820909354,-1027053085,1654505856,-477829125,-857813065,622682057,-2015147044,1546995152,1392842322,2025324262,256018807,-2115049132,-1513944677,-1349633929,-1506238811,1311461652,-609365665,318956382,1870820623,355869297,-1052374291,763552526,1550157906,1341291976,718842074,-1868074979,-2105043183,-1823551855,651214125,638691063,-1093215306,-669337421,-1140616431,774518737,-1415260139,1751032364,69932726,-78959647,-550012429,190150471,-1439276737,-1179627057,1417256007,-2013992058,-145513868,844368713,1656319004,-1002180687,515513499,319438355,2056874449,2071615195,544788068,-675856596,1489335252,353072265,999456306,500197435,1530916252,827516865,-1303650910,-276628004,-580449783,-859336144,-1858740435,-511907736,540140153,1440187448,-1656540279,-1043488399,1698463362,-1048971510,41569587,-933708878,872425863,-42592236,1965167041,1377965983,351092476,-1387419264,-881630553,-477620729,-353863025,784802438,1431271539,-553162855,1109667769,884519416,-760781067,1960929612,1291832186,-1516259919,-238159633,1783348477,-822372159,-475445087,1670481614,102150320,125385834,94686567,690027325,546971893,-2090354635,938502136,-526940877,-697247451,-2017234170,-1042451965,-1616563718,-576390085,-1686086890,-1282226551,1003559243,-2052152590,476341439,-849868746,32156815,-1774262848,1785090451,1623100346,-1244570133,1132910784,-782725701,1103925897,1637477310,-325785447,-1227416249,1781232435,-1065694507,1140197643,-177060349,158493358,455782441,-1705009369,877819452,-2053822706,168646109,-957786706,-481120255,1240000982,1573556644,1814221313,-1521784518,-419994879,759653262,-1072995622,1620848439,939440025,-731056477,1732720354,-1184934328,-164043601,-1849635746,1208158847,-766782645,-1472317682,-2070758149,1211503638,1591414695,-1386317286,-450054074,-1788511895,-1767847015,-252017952,-1409789819,1426072432,1033777068,456784794,1029192929,1692682374); +/*FRC*/Random.twister.import_mti(87); void (makeScript(14)); +/*FRC*/count=531; tryItOut("for (var v of m1) { try { ; } catch(e0) { } try { ; } catch(e1) { } try { v1 = r0.ignoreCase; } catch(e2) { } print(uneval(e0)); }"); +/*FRC*/Random.twister.import_mti(112); void (makeScript(14)); +/*FRC*/count=532; tryItOut("do {s0 += 'x';/* no regression tests found */ } while((eval >>>= window) && 0);"); +/*FRC*/Random.twister.import_mti(191); void (makeScript(14)); +/*FRC*/count=533; tryItOut("\"use strict\"; f0(g1);"); +/*FRC*/Random.twister.import_mti(203); void (makeScript(14)); +/*FRC*/count=534; tryItOut("function shapeyConstructor(owqzlp){return this; }/*tLoopC*/for (let y of /*MARR*/[x, x, new Boolean(true), arguments, new Boolean(true), true, arguments, new Boolean(true), arguments, arguments, arguments, x, x, true, arguments, true, arguments, new Boolean(true), x, new String(''), new Boolean(true), true, x, new String(''), new String(''), arguments, true, new Boolean(true), arguments, new String(''), x, new String(''), new Boolean(true), arguments, arguments, new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), new Boolean(true), x, new Boolean(true), true, new String(''), new String(''), x, new String(''), true, x, true, new Boolean(true), new Boolean(true), new Boolean(true), true, x, new String(''), arguments, new Boolean(true), x, new Boolean(true), arguments, new String(''), new Boolean(true), arguments, arguments, arguments, x, new String(''), new String(''), new String(''), arguments, new String(''), new Boolean(true), x, new Boolean(true), x, new Boolean(true), new String('')]) { try{let bhdsnv = shapeyConstructor(y); print('EETT'); e1.has(a0);}catch(e){print('TTEE ' + e); } }"); +/*FRC*/Random.twister.import_mti(445); void (makeScript(14)); +/*FRC*/count=535; tryItOut("\"use strict\"; v1 = r0.toString;"); +/*FRC*/Random.twister.import_mti(459); void (makeScript(14)); +/*FRC*/count=536; tryItOut("mathy3 = (function(x, y) { return ((Math.expm1(( + mathy0(( + ( - Math.max(x, x))), Math.cos(( + x))))) !== Math.fround((( + mathy0(( + ( ! ( - y))), Math.exp(((x << x) >>> 0)))) <= Math.fround(((Math.fround(y) - Math.fround(( + Math.fround(Math.round(Math.fround(x)))))) - ( ~ -0x080000000)))))) | 0); }); testMathyFunction(mathy3, [-1/0, -0x080000000, Number.MIN_VALUE, -Number.MAX_VALUE, 0x080000000, 1, -0x080000001, 0x080000001, -Number.MIN_VALUE, -0x0ffffffff, 0x100000001, 0, -0x07fffffff, Number.MAX_VALUE, Math.PI, 0x100000001, 0x100000000, 0/0, -0x100000000, 0x0ffffffff, 0x07fffffff, -0, 1/0, 42]); "); +/*FRC*/Random.twister.import_mta(745019423,1457681445,-15205877,-481429138,-1928198164,-583256919,-504108109,-837135698,636534247,1532604091,-778601064,2076350214,-1879433012,62471383,1068644507,-1352664414,242314611,-1745096112,1123632013,677113872,845417349,1168681909,68105914,1641717533,2107592868,-866604086,1259584014,2106970366,-1278956352,924914741,60588382,621345539,1098021854,-1617957951,2037705957,-590572841,-1508740136,813524871,1492800211,1919612932,1444177396,551709620,-1563539733,497997240,522767093,-768889644,-1723555601,1290909521,-304400547,-1381158220,-818925756,164372775,1774246969,-151736827,-1838445921,-2065278610,-244651756,-912114075,1477588748,-1329627363,-396117016,1645405554,-1788520172,-2069985991,-321444633,1652551196,543243411,-59364820,2052825207,2126872089,401922595,707212380,1748758325,23037460,-1927621185,-1276284450,-1281954090,-2072052320,1088587194,-2023981388,1149802471,-1723681518,979577065,2020353950,1884516288,-1234098097,1623849506,1537941972,1732378255,1456344067,417670126,-1729465673,1658821812,-102570676,-1545250195,-2036837601,1543871128,1364477110,-1629673106,913387137,-951289795,-1276858084,190009297,-173019844,1399135256,-1901704197,-1570059395,1328999162,-1801517983,1969213312,1113836530,-321082542,-1408561696,-1362378212,-1178587261,-1653002261,-1020046995,1031840785,-1942585672,445395604,-1787332916,1214170620,1423785194,1395683971,-398952632,-1896749250,2145256585,-107337322,-1228488597,429800671,-325472919,-1759431103,907947715,2120115845,-159655127,1404321250,-2092929621,-725543712,-1766907561,-1390815806,-495956032,163288703,367127247,-1293739508,674349215,1640013793,175194797,-145714359,1521308382,2036061840,-797921886,-1794698588,-2037302592,-1664986741,-558723433,-1225273237,-884232970,1567291590,-1972004394,-652284536,1300680707,-2009401853,-353508142,-186303526,1785026346,-74155878,762752115,-2097706703,-292447890,-1153581907,611978344,661509199,273367555,1694201278,480199303,-1683572041,1958632438,49401263,-2042037766,1889052022,-1603328695,-212845521,-372794205,730328314,1550828179,-1955865924,-1279071774,-359198900,215667847,-363577402,730580594,-2127450296,-935653375,444606900,1137661715,51493404,1021895583,-2102775026,621753872,-1742526005,1961775455,-181102028,1148860862,1558342680,1175548012,-1852245286,579916867,-114309771,-1849952228,-522973248,-1197608864,-1492705076,-693638219,-2125540682,-1403312327,1314588924,514757579,-278742481,1000620020,-2085320125,-1598862621,-244899229,-1360145734,1197029544,-386518728,1000205690,1196793439,344656467,-10804433,-925734991,1475959116,-1580224136,-1527125476,374163141,-1432357454,-1365089480,598203659,-85677948,-2100427522,2016459615,-1630715945,-113387105,-2077355151,1492749039,-1819999,50636107,1264763493,-11832921,393527775,965995734,2116688043,1218479306,-220823812,1022627691,-45554304,-1522602546,1264857964,187493471,-334111990,-2006643157,-1547581924,1458933324,1135914002,-260465678,1411905256,1572498131,-1531069847,-1751632815,-2146740632,1559036189,-1914861222,-668986168,260852755,2032461848,-103972790,-2118144542,393923709,-161151120,994517090,932726943,-389058846,-1042071960,-600686096,684963065,1177949975,1920112486,1083042575,-1645019533,-1681495573,1542399750,-1461053208,-980691169,712881600,-152138736,1244313095,-1614889606,1312999649,1153844859,-353587328,961907865,2101134792,-1032749395,-505737717,1731924107,-709962048,1069944172,480652084,1382017678,616057226,-1670642549,958146100,645574730,1064649924,1752632765,1016874726,-1937010862,1510186651,1225697237,-1362587575,372069680,-410499253,-1823215846,-1396209115,1895018335,-1696393560,-919362179,1829505204,1252956436,2072594751,1096241862,-885444282,-179757632,659632753,2058023882,-269300673,328168927,-1887333621,-722150528,998417948,1339181542,784918386,1881538734,1592096171,-1923810724,-2045120085,-1082953262,711014651,-1801423037,-119041148,-1482303738,597282910,297666327,-705553578,1117172032,1869548587,-65145870,1013792995,5665481,-2007100550,1262418556,611131471,-164483738,1182995021,944808831,52242713,-788920610,-459035761,-1107490677,-1588788454,585384910,1660974765,-332518819,-728037797,1188779916,1366008708,468285716,-571821532,1691309762,1233899676,-1156129643,1112349689,1787261094,-1260637451,2018415868,-439474055,-697766441,-1990899009,-759516972,870464735,-1898071506,-445959561,-877087794,-2043626063,585448512,1427297865,567582232,-1301577346,-581834233,1070430790,-1129077383,-2024875075,-69306764,-1630075912,-1512071081,718112531,1966572476,-1912501551,247368886,-1261252417,-1212784919,-1917034181,-1349849453,-1533247554,289943314,987333384,-1268449748,-1318928233,2022623738,2001513395,-1019618265,-354727093,-1559927975,-1521508043,-1329043157,2092958678,-1695587151,-673905005,1033395147,-151451441,1051932119,1789378108,-2119153320,1248719406,1887642915,34757323,-1727857889,568248237,63220627,3696890,1780438679,-1034625520,-254642881,1101137245,-1089523245,198413143,-693616800,1875026633,-633661198,616683103,-708937236,-593132535,-1267678259,-1236219020,1596101834,-1394110851,-1911176209,1612227731,-1466003896,1783213635,-1492627470,2019025965,-2095219045,-1829135285,-1123145361,-99361746,1227305196,-1224796229,1423556698,-1641516779,821054209,293141312,1361948921,-1869151060,-221677620,-1450573792,960890358,510317106,1799769286,-637826021,714933675,-329524996,925371337,792628842,1410293431,-30867239,723296861,1182311708,790305481,584769370,1101080393,1423228637,-1565197618,-2129108561,682506793,1380494441,1933518996,1595372766,-160147360,402825651,1053882909,-1039290593,798506712,288490036,-1287731126,1389403330,729499472,474208009,-2068982008,1382954227,-1040482583,-1087164357,1806295513,-204254119,1504183774,-365723491,1820154928,1032646174,2037925793,-1254776021,-479333341,-603632116,-578576612,1716575517,1021114272,1685765630,853096902,494522688,-1103863340,-53841241,37926452,-685593701,-539473474,694213036,-535352648,-1164750510,-926628846,-888171064,-1967969582,-1863208103,-948968505,1915442497,-1933097661,-151307276,2088532774,-1026961966,1327946977,-100648047,1509768180,2073033621,-586200766,1945696007,-1721792355,1391031057,-527120907,-1007994447,-483252742,447701306,1652179712,125419917,1689291762,-2092107244,-1608493886,-464143587,-1035878784,339019803,-10315162,1292179615,-101554702,1451885749,-2028432589,-2041870148,1780640189,-1892928497,-1451153711,-178054365,1229153670,1581985437,324347265,-1090731132,395388202,-1366575098,-698689122,82724776,-1612917955,1156532126,482606001,-551975632,2118392657,-185024799,-1702033284,455346600,-339951162,-1274121675,-901323939,316985684,-1276594297,-929611119,899925866,-869557456,1037934879,-1003701089,-497719286,1749738085,-1052436224,-2032430006,23836339,1176496501,-228572541,1050176289,1872616535,475373303,1403723637,-1060646694,-71100772,16825535,-507844148,-157222050,698329834,-1590123914,-1728075161,796508557,-759793434,329693787,1029127598); +/*FRC*/Random.twister.import_mti(107); void (makeScript(14)); +/*FRC*/count=537; tryItOut("a2.toSource = (function(j) { if (j) { try { Array.prototype.splice.apply(a2, [NaN, x]); } catch(e0) { } try { v1 = (b2 instanceof v2); } catch(e1) { } v2 = evalcx(\"/* no regression tests found */\", g1); } else { Array.prototype.unshift.call(a2, t2, h2); } });"); +/*FRC*/Random.twister.import_mti(179); void (makeScript(14)); +/*FRC*/count=538; tryItOut("throw StopIteration;"); +/*FRC*/Random.twister.import_mti(189); void (makeScript(14)); +/*FRC*/count=539; tryItOut("with({z: (4277)})arguments;"); +/*FRC*/Random.twister.import_mti(261); void (makeScript(14)); +/*FRC*/count=540; tryItOut("\"use strict\"; /*RXUB*/var r = /^(?:(?!$(?:\\D))?)?{1,1}/gyim; var s = \"\"; print(r.test(s)); "); +/*FRC*/Random.twister.import_mta(1864917194,-1722927204,-854238770,-1043867573,206101759,1998997246,-1026389760,-516069057,-1047272386,-1496697827,1935656757,-1288716071,1868722269,191745449,-1205529662,2058123736,448124474,-1028812271,-1605827036,827880842,-1018024705,1967861998,1792811894,-736828647,-2060896580,-1060733902,-1912438444,1696748982,1484217972,-702855620,-1240164715,-700435168,-1468239640,-1894418287,920563948,426036162,-1313528257,-1217936515,-1606973667,181728599,330669641,-2007499952,617102411,1422396341,-641227947,-1811356171,1082088100,-1539923930,-2139183558,140162411,131446974,-1993799524,2009898545,211349913,-167514246,-823803906,-1560593625,-1058105861,256036030,338262375,-644350735,1627062985,2085600689,-1758148991,-232617579,465679069,-2093663111,506903754,-280150209,604883573,1103780468,859649616,811567115,-1896013504,148572182,-916687929,-1326053092,-906280195,988297900,-450483938,1743197775,499296432,380311140,-730697956,-1256706255,1599763323,2044382813,1417760577,-1720511357,1242182891,-1167682739,1404375296,2102416879,-1674665164,2029020062,-283464477,268402,1562786014,-1324413173,-440797153,-1350172434,-995903868,67570819,-1413537517,-1312576518,-653273259,-727335625,-1047024083,1372889232,1030894320,-1295809887,74166787,-1767989273,2061211429,-1138899213,188894256,-1637816567,-332873791,557532538,926373240,492250463,-1621410466,1409121725,-400984664,-1694798717,-2135462010,1172331,-1508807404,-417425546,-1304578261,1823230507,1053676825,-1536870999,1964504784,-1241360561,-1312268378,-1971871544,1758228774,-1639436557,-1170755032,1466323250,50984673,-568430911,-1086650927,623884908,1791699581,-555974051,-1348508483,1938503593,-768053952,327070374,952592117,174510424,-2052521837,1529663607,927769962,-1910392426,-959318694,-1883417794,-446383644,-9467682,1913598948,516036127,-159493759,-1645582193,736517627,1513278151,1669186732,1005909231,523771563,1934376714,-945351317,-1251661332,286038304,-17202119,-177006092,837906649,-163092514,823080765,-680260378,-202011831,1394064650,1112724311,431286672,-739298112,1561277273,-359181157,-1685414654,703194194,-1965267447,2128399605,166561342,-674423642,-1546972418,-365683512,863154981,-887883046,1080248924,653366205,736680673,255429232,-1374255121,330077971,-417069911,-359066265,-1609942885,1692027749,-838440892,1895936339,441520453,-1578904859,-859623900,792376588,-747586124,881236747,1452812768,1434123092,1557308229,2036866098,1072819952,-937129212,-162641109,-78432717,453171473,-1887924645,-1459305045,-1374025640,-913489534,1680848027,-1494616728,-786431753,1580476913,-1526180541,-677547047,-1234413405,155761252,-1682415521,842581322,1446981033,-116629655,-285503047,1664789157,-1881666448,-1135641675,438792299,485545929,-1745519226,299957455,1770178181,-859725828,-263937668,-1136522814,129289048,-1331235948,935142225,1036339138,1250263244,-2145486064,192545514,-107179034,-462438473,386197221,559416891,-609821365,11683531,727837430,-670015584,1404056957,2133445377,572979430,953680337,118044035,-1466265095,2090441345,-454461737,1389064411,862467795,1517693071,200121356,1135290688,1818848941,-1743073406,59037021,417890419,-103293368,-1240692250,-2082949503,226261211,218927434,1748677061,1828298193,-1491315851,548861141,2133383077,300540535,291826576,-1620682345,1958481332,-157335357,247589615,919416521,-516014132,600394589,-1709088132,-1776794549,884682550,-871768999,1975202442,-1963189718,1243940222,-951109831,-1432187565,-227981958,1737813294,1388611816,1836739345,-142223394,873098166,413383576,-677591403,-712551239,-1214572973,241945491,225809190,-1598596417,-947319983,-1058098027,189404334,-469229593,563844128,-786714637,2070118941,-463819088,2052353015,291021853,-820192822,1460166448,-285027921,595760880,-2114261922,1120442226,174574841,233320734,1147449091,-1282341080,-318543400,-1536172538,1629809821,-863381795,36803986,2043594492,-1342021336,-503564506,-1364273759,-1742760723,539002840,723402384,1753432982,1532143655,794498385,1309597795,1280011958,887668422,317818011,1085370953,1964067819,2109834930,130076863,1383847686,1989600584,270835744,-697661026,161907131,-160869473,-1569990601,1568566971,-1604336095,935025384,-1136347040,-230101893,-1326794560,-666207790,1265364756,634264949,887960430,1377781438,-1942363762,1066804846,1969352435,-176209925,-1818097562,1207600776,2056569819,-374140612,1939311520,583087184,-392668297,749371945,1089894152,1875571949,1826857498,-1315830331,1049917696,-39910513,-857954816,-1358478710,-1876211011,1888768969,-1849417055,-1652272363,-679924218,-2120152289,363537616,-134507233,-2118589932,-397396794,-157613324,-596497933,-1317414670,1000868316,1799426957,563838093,-232900753,-1250690255,-736343845,-736911317,-332642341,-1387413816,1749528027,654264333,-402907131,-1884296080,21174997,-52701473,1536140564,-1192861094,-2101611437,-1577064808,1623471536,235985412,839989236,-849401478,-803798570,-1986294240,2005318901,-1753088631,317481609,55365876,-594446371,201934056,-667809752,-732894239,-963276850,560037817,395251882,-1926539763,-1297698228,1024222985,1303383560,1076565898,1327201355,1712858713,-825811444,-424571320,1454071100,-733473109,-1822376124,2028411372,-1572192262,-2023460400,231805718,309129789,1704225839,-1020232298,1296301620,1723314076,-110970465,1169282990,1879325640,832120614,1916421807,539124836,-1899341754,-325472129,1285069537,675696740,1998171741,-184365030,-1361263202,-1841632886,-889413588,-650721597,-432126147,1748810059,1781506359,1352823150,421319894,-305012265,-2123761582,278197929,727025133,-328173619,1263801598,1509980338,1338739495,-1664825513,1107149508,-1672035317,569360425,-988414561,-197869504,1496761531,-623342839,801752592,2067977923,332064325,-846322998,-278135653,1336023483,1320440787,300488747,-70697946,252350528,-1386543256,1842385239,-131880861,299620869,-778000571,-1608555306,-1856983473,-171096413,-1029166947,78690922,-1858046736,299454595,-277098290,259821591,373251658,1344130159,309616389,-117440688,699995410,323245698,-689884873,-896420583,-1129638257,-1151181969,1900550572,-1726172430,-291569457,-1731008585,1355502568,1858853236,940808338,2060650067,-1453346950,279360928,1269825514,1228654564,-436415558,709116310,-92616372,-1371797878,-2078643230,-793535332,-603411872,-1123819865,-1333451273,-1864157761,1322120512,-1468191998,756002288,550193775,1205265224,92626526,2057630028,-1835812979,1722853182,-70585411,-155587803,-981223058,-630671559,-1228513639,1231658335,-1438063,1960733375,-915298266,-310767668,17689224,2038086162,657450104,-2084635764,-1992652134,884207128,-2026095709,-1355233647,742852349,909209016,294447566,-1296535765,-2025592934,1329994202,2111627835,-483259388,-301584018,105118725,1383103973,1991130511,1988896550,-599158608,-1793908208,344906499,805228016,1437667086,256594568,238130012,-1582241138,-2093065891,-1836194972,-1272933438,-1058525873,-1555274158,1013623431,-552834286); +/*FRC*/Random.twister.import_mti(66); void (makeScript(14)); +/*FRC*/count=541; tryItOut("mathy4 = (function(x, y) { return Math.fround(Math.atan2(Math.fround(( + (Math.fround(Math.log1p(Math.fround(x))) == Math.fround(Math.pow(( ! (y | 0)), mathy2(x, x)))))), Math.fround(mathy2(( - x), (Math.expm1(mathy1(Math.cbrt(-0), Math.asinh(x))) | 0))))); }); testMathyFunction(mathy4, [Number.MAX_VALUE, -0x07fffffff, 0x080000000, 0x100000001, -Number.MAX_VALUE, -0x080000001, -0, 0, 0x100000001, 1, Number.MIN_VALUE, -0x100000000, 0x0ffffffff, -Number.MIN_VALUE, Math.PI, 1/0, -1/0, 0x080000001, -0x080000000, 0x100000000, 0/0, 42, -0x0ffffffff, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(273); void (makeScript(14)); +/*FRC*/count=542; tryItOut("\"use strict\"; {Math; }\n(x);\n"); +/*FRC*/Random.twister.import_mti(353); void (makeScript(14)); +/*FRC*/count=543; tryItOut("let y = new RegExp(\"\\\\1{4}\", \"gyim\");/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(464); void (makeScript(14)); +/*FRC*/count=544; tryItOut("v0 = evalcx(\"this.t1.set(this.t1, 7);\", g0);"); +/*FRC*/Random.twister.import_mti(487); void (makeScript(14)); +/*FRC*/count=545; tryItOut("\"use strict\"; this.a1.push(((function sum_slicing(elhger) { m0 = x;; return elhger.length == 0 ? 0 : elhger[0] + sum_slicing(elhger.slice(1)); })(/*MARR*/[objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined()])), p0);"); +/*FRC*/Random.twister.import_mta(537762279,645716975,-1776179177,-1278247750,-1979636038,536690048,336136143,-1407888353,1701505115,1888229880,-267713670,2138942032,20579614,-882137113,-50907149,418500557,1336274120,-778280698,-1325658621,1312466004,-1495813756,-2078815927,-2002073457,701860051,1106789012,-1256228923,-941436438,-131602463,-14810315,774814798,-965893032,1014601135,-126008166,-1131186061,-2095216239,-2137966315,1046513598,-1835215291,1686415406,308906920,-1512826064,-1415013558,-1115918591,-2013636991,508816223,-1339511676,-1686053325,934932456,1252268003,285654742,131617978,1048545306,-1823634181,-483131499,-1289604066,249602690,-669088357,1345222389,506944097,124124395,-730245454,-358653937,-759577579,-1358788514,-1292873752,1448423663,-1448423379,-133860740,524698446,-1283091842,1635353284,594365216,-2145722000,1237096221,-1345684735,1039100065,1053125687,272098146,1411693331,328827495,1263567862,2068951290,463474856,-1312890392,-695735034,724537271,1607575296,-651583361,-733218098,-215853276,-1663543142,159145910,-1674725360,-1232825885,2008227949,-1505998076,1185916196,-341797267,-1149878850,1323291809,-1887421803,1516424908,-1673275649,1941196816,436153528,-1207010630,-1547493509,656530287,-2105680337,-1047219381,1198239189,-1280819451,561022674,1932694502,479716003,1289766994,-1059772113,736064638,139545849,1512898746,-523869644,-1085007942,2058938631,-979624267,-1148023835,-703934166,-1101811230,509598444,943047465,-24817713,1473182998,723865309,-337947353,2009390555,-1706293426,1099655694,-450474909,-2013923547,-1302328870,1691334798,-1900866075,-434484272,-723423950,-1436016026,-2049691405,-1524455565,405156790,710712850,-1783160785,-220396996,-199026167,-1674585506,1967337561,1816936275,1265434973,1775961535,1534812735,1024307148,-605162616,1863414223,849896984,-548242380,1204505509,-38157042,914446190,439210806,-1247508044,1413568052,1251743210,-2069511902,173940637,-900619959,105626064,235493825,1471553802,-516209956,2096451751,-1005947617,1360983871,1919009526,255556027,1139485385,-94134291,-327933170,770154058,444941323,78435294,-1424032584,-390534812,790068867,-376648493,720069851,681522029,1379265052,1125061313,-1397524489,1417825078,223101602,600054590,735822789,-1204642160,-1051585896,404938144,1795677686,-2041858744,-1766230186,-1003407322,260987160,-1838955400,-611769272,282045085,554794400,-168702358,1448664906,1069731827,88322138,-489623949,872373393,298411044,-2052935924,1628556311,1982646434,1621708693,1583143613,1858516056,1801957035,-1144337453,-887950475,889725275,1740183731,1172166813,26066116,-314886989,-700998847,-391050963,-239179605,697334621,1109140849,-621595333,-280003299,603865706,-82103861,-539049272,-1681988574,1189919293,-1157189440,-1614648596,186540569,-1569257801,-259483599,2012515378,35792696,-1387524593,87355549,-423279616,-631454893,773947846,-2083478227,12049500,323103646,1847180254,179911251,877324143,-416214012,-2027150530,1217169406,-491183671,55070319,-1162090695,941154102,494304415,-1827269764,1466749211,821876103,-942348454,-904348587,-1523246514,36608700,531242170,1014074226,-281110444,1810427503,-1684254108,-453678401,187183622,-959204866,-657231783,-755032553,1200261170,2110634530,629412155,2074314077,-255202334,945197513,-256440396,-1979850918,-908356444,-1019309446,-50000248,41207499,2032371963,1730571888,822073759,-322830643,1248490745,-349641248,1766071074,1311674083,507720261,-1592837141,2112296862,-1347203141,1491466528,1991500660,1989944616,-276229855,-1457036545,-1870035626,-1145402333,1877385875,1950460437,-1450281605,-1601797481,-805521244,292332314,1107941163,192601846,613189049,179242204,767996377,-1760747071,735214560,1546452894,845675946,11515786,-369495625,1864198979,380298925,-1286256342,1075105131,-284572347,442759724,-136663284,-652367173,1566490770,1516676090,-1279801813,1602894213,-28517005,1180666489,-576901599,-882077578,408226597,1800719179,1313839360,767220833,-893063676,-479258150,-1518308182,1439995337,1373727360,-2143791059,-772073316,1551254936,611705359,-1937716605,-30973938,-1483800986,-581879436,-588038878,-2124585303,1477427441,119455331,-803508366,-571795056,479228896,-1459572920,-369015239,2080578748,758541369,6882234,785970903,-499860518,1091435400,335678611,-571407537,819618552,-1861213762,2095403798,236605334,-1639676342,-1832679844,787766184,-865121180,1159842844,-405239666,1274556649,707077145,1690069984,809134301,-1882657796,150740362,1190949828,446366631,-1819683750,-2147228994,-1826399283,-1630414796,-1809730660,-1847654162,900470366,1731333154,-1200603557,1148232404,-550050085,-1812633570,-668542299,-1322245974,2000642101,-2076767628,-604969851,-485967447,1862417072,-1484464252,-28499352,-858093556,2105351329,1427765410,1260717633,-1294697091,751840206,1608681725,836512998,-1443435860,335374389,1245089422,-1955145980,1621995589,639176866,-319203952,1895255031,1472810776,1099855690,1769686,-1590226294,-1044912705,-2080061578,-699283674,807955158,1286622081,-1384374382,227308479,-1562402392,-1341308026,1418717356,1817933949,-1606968344,1661329305,563623681,1404975689,2083731634,-808286677,-2098810993,1120261571,-248471813,-1824298343,-1824722453,853237143,-1196881629,-1724495037,192949731,-315736843,-1700884981,-110914058,944092631,131000999,-1840221210,1341559254,451851435,223976839,354796207,-509581277,890809267,-781878167,-1745646305,-1573667923,700662675,964155665,1134841494,1362409337,312657850,1832628351,-1516606588,1319518605,723089112,-1238004398,-1745314046,1573028022,1112856823,-607214798,-1613996354,-1568740059,-417824756,467169026,-1790686776,2136276440,-1420666456,650234015,-798318465,-511299004,291944509,-1085487267,-1858645258,2088414183,1108532714,1632475479,-1821313872,-614617799,-974054293,1630918440,95555546,-1221439596,-1622123282,641428688,1713895060,752898901,-1280563786,690764432,-1232696952,-753808879,345856604,137505228,-477569128,-1197472836,2039703172,-1057633647,-1441753906,-857652874,1065472230,1687815816,577726973,2134773353,1576089957,1432815788,1473560270,2130907467,390245957,2026894188,1204372931,1978089875,-1483140784,638144416,1577065314,-1357124352,807621124,1123835404,135351852,-1282358733,422318653,151969621,257595660,1471263951,-1410022330,121939213,2024715165,1960580774,-2124484785,1047588677,2097479820,-471582067,-1885701053,-734800518,2039337566,-1317705468,1658339619,1846392426,889706982,2037442336,691590459,2056574866,-1620566008,-1943796077,-804871663,1815697811,564314,-2126995271,594121263,292003780,-1132133084,-1033049440,1571371102,1625859906,-690406001,1689373952,1763323377,309988053,-940864514,-1986325938,-665106501,1153387950,-1212652641,2047727698,755594722,-570181633,807930084,-869035375,-1888894431,992940073,16531087,-1463997742,-1841158442,66939499,-148273976,931122108,-1777801200,1815946833,-695348249,-687704072,-925642819,-678887984,-1647739059,-2112083584,-933315321,-2097787707); +/*FRC*/Random.twister.import_mti(120); void (makeScript(14)); +/*FRC*/count=546; tryItOut("\"use strict\"; /*vLoop*/for (bzucze = 0; bzucze < 49; ++bzucze) { const x = bzucze; ; } "); +/*FRC*/Random.twister.import_mti(149); void (makeScript(14)); +/*FRC*/count=547; tryItOut("\"use strict\"; testMathyFunction(mathy0, [-0x100000000, Number.MIN_VALUE, -0x0ffffffff, 0x100000000, 0x080000000, -0x080000000, 0x100000001, -Number.MAX_VALUE, 1, 0, 42, 0x07fffffff, Math.PI, 1/0, -0x07fffffff, Number.MAX_VALUE, 0x0ffffffff, -1/0, -0x080000001, -Number.MIN_VALUE, 0/0, 0x080000001, -0, 0x100000001]); "); +/*FRC*/Random.twister.import_mti(181); void (makeScript(14)); +/*FRC*/count=548; tryItOut("{}Object.defineProperty(this, \"v0\", { configurable: false, enumerable: new RegExp(\"(?:(?=$\\\\B?|(?!\\\\D)\\u6833))(?=\\\\b[]\\\\b|(?!\\u25d2){3}+){16777216,}\", \"\"), get: function() { return evaluate(\"\\\"\\\\u713F\\\";\", ({ global: this.g2, fileName: null, lineNumber: 42, newContext: null, isRunOnce: null, noScriptRval: /\\2*?/ym, catchTermination: false, saveFrameChain: false })); } });"); +/*FRC*/Random.twister.import_mta(-1609303759,-157020364,1776146048,-892831583,1191347018,-705675012,-1785128585,2016678056,-1203376574,-1423517072,-512815844,-1799573229,761424834,-757121672,-1304274149,-1616721857,1824428631,507531525,-186107340,-884145561,1781757137,-1436371795,1238728386,-83049009,1620030100,217272901,1117756587,415929133,-1681009109,1582026381,-1842511190,1998300172,1972728219,-195665959,-2036161368,1860988729,967848273,1639922722,1124223834,-1717773668,897187296,-508585987,906808847,-1495921017,1339890010,-1790531444,1539831586,493726116,-919291180,-2014778069,-915537109,-1601823628,-1541340012,-185793123,1258038014,400053178,1091749923,-1029900989,-153012521,-1978978127,-1891442879,-775133740,71269990,625680198,1039183491,255555398,1053256957,-1097613476,-1971215450,-478138231,594409479,-1197180517,1692446738,-2056412996,718354554,485787855,-243768249,-1956685695,-1760912565,-1208471011,1918781867,389987583,361164147,2120627244,759111463,451967027,1694047369,-36278152,-610103233,1739550686,2110387914,1303548574,-1820438697,-260839597,2116392445,-959596266,-495011228,1990354951,1213388765,154153623,821290960,-713194665,-1575711942,-1825322782,-1099313032,804372334,-784321942,225580544,-2036984670,1374633885,-1508022334,-2133662954,-669025353,-2044331597,-1724062860,676689598,697635288,-550319287,1281038602,-1558985302,-2064144668,564516919,-621582163,-1049363721,-600365311,-1065778145,1762951590,-483022881,-1968552851,-666150083,-1514787551,442733508,838538275,431708667,1761057995,1209223542,1649559793,547578473,-1299048746,876719843,-1075026786,1441883775,833492923,-108150437,-1264063217,300032190,1078544293,-1006133754,107843669,-195325026,920133187,-1537184464,-624300315,455549217,-1947435616,-357229918,-1315095834,500542400,-1401137612,289766688,-1673921495,-473888976,936525266,1411003067,1520917844,-1322876772,1835273751,1575008616,1989080631,1568231518,-2108649666,1042340964,2112366258,-1539216186,-458329068,-1627403566,175694676,-1822455197,1463637777,-1416440348,-1047674213,-1929270766,212780565,-912527571,409867337,-766456834,2041980879,1951721704,1337700135,-1901640551,-585458314,834808909,-344580178,-450493983,-273044378,-1130883052,1645734993,2029527150,-1633723416,-604846922,-382592254,-1807079061,1899799381,-1264731845,827417593,1326574065,-1715168397,957999832,-1577647947,1577494448,732409593,973396410,-1013889673,346812912,22852166,1598636846,-142027477,-1628677630,1860989399,1057850675,-334228567,1636817064,1638801489,-1431689887,782716426,1286826033,2121762208,1671387459,1550857138,-767849967,-905009469,-392713780,669203843,2026450238,-1713138654,1971675955,320894999,1428039518,2048114498,2090683127,1985615170,-575849857,-763512274,-1765769322,63113573,-1157034174,399147956,-503298219,1261324394,841955547,-98707885,-283048628,-681469228,1912422059,-320060837,-857925944,-961860412,-763990908,2126164419,1117367412,1744990767,93284288,1567941947,2049319118,100237277,-346657951,1093684596,-1322467677,-1113327514,-1581301601,-1352857799,-1117535992,338719376,2016248975,-513194159,-1683081229,-956325771,-960819850,-1094788659,-1816246082,403817077,1194462156,-55945670,75944224,-504025668,58736164,2054950757,-326657192,-282412859,-1879718364,-2121110217,93608818,-904360067,110948135,-93499151,-294884876,-2111866444,1575976771,1620486689,-1048984400,-1224829052,-1415158678,-1281570954,222686948,-1093981583,-475490598,166184371,-461938602,-1632529963,1802856124,-256433362,1095623607,564758921,1605832221,1394231351,372871583,803974517,-1189347324,-1555467512,810953346,2109500721,-1217502103,-1590434492,-1429672983,-827444403,1307556006,-2105622380,899966398,1519807332,815442693,-958728942,-1871728713,918700475,-786962001,-1601806844,1745883612,-1011680236,-1078475945,2043688316,1989355978,-887880539,-1563314958,-573369540,1195012497,-234775884,-863483200,1440639415,584677506,-612192812,1832210274,-1530547508,152375884,1826312549,1311984934,1826650416,-1345834129,-1443047472,-143255692,-377394689,420192611,-2135964366,659589,640183226,-379582167,-1075070985,-847141167,1736888784,-784009180,998832366,-402123728,209883644,773849825,972003079,784124781,-1974491146,317573105,408125533,1222217757,737405939,-620925128,-1790711147,-1158274995,-1976309914,580160624,-1440376136,-200186040,432893439,-498379358,-456384261,955285239,494662037,232616064,-1760483666,267708441,1846345007,-1971691876,-782011763,-1341211954,-1087022891,2047628108,-532717053,-942649866,180026334,62654841,-748782788,-2019276248,-453363202,-1952638123,-974246299,1450757434,-100472516,-1654735941,-1335321964,-819600259,1034837223,-1163890006,-700492596,1066245555,869902711,528932147,229305834,-1741115074,-1353025578,489782629,513107048,2032756071,-243386137,1437083901,338208522,659863218,40127898,700413322,1542102183,1228054454,469937567,-1538495689,-1218916531,950740648,209220466,585257043,1062164092,563841507,1598341957,-418161554,1732188162,753799788,1411737248,-1275058494,-555790921,1997549464,1969532001,1070112478,347458034,338719222,-860203614,1282145862,984732930,1137315228,1480590391,435855834,-970400012,1100510010,-1913702131,-1297053771,-2051595571,-1434093720,-1124576029,-217702132,138325761,246750208,962580787,-679149889,-944192071,-757012096,2028962521,1107718553,1439985712,1851931865,1887796048,1157352284,-668616091,795387741,2103908387,341465748,442958221,-1286364971,-953487325,1238390116,-1273131869,1411745510,-709670866,389302815,353237880,1421669912,-1439270902,-161499161,-815923004,394255261,-1870360431,1540775375,-1340456254,-1830484137,-700317582,-866286447,-1190038630,-1424493287,1507204142,-1456725355,938545902,756136699,-2111307183,-1452374841,-457843960,1534419344,1160374060,-426589539,2069078119,2053264349,1963897062,-926840688,486918381,-1245348218,-1116610660,-1324580098,-761797066,2034284794,-1779443208,-1380068544,1529229757,-103650728,157088258,-1894824515,-1074227452,1965979377,1560622529,-877012046,218482183,-1351103651,1929437427,-1449751128,-115295754,-454400934,1015682505,67236370,529873022,836801781,204591924,-951025905,345339007,-1291883028,-104051655,-508674308,1516391974,-630232682,349850296,1587465330,-1336247613,323243219,232812738,829361469,1674019607,-1250149337,-1296370811,1726813445,-2049325052,-529010172,-1331433801,-174684957,170596715,51813826,757308204,-1899531365,-734855614,-1111819783,366977975,-1056882393,1368210674,693201038,878672261,1668235617,-1859518800,-1645504281,1088171897,-1443325443,1860368375,557649975,297299585,-1628616800,1631348181,1224538005,-652977528,227514863,-1076281263,-905742345,1097944465,410860817,-1396335337,-106462466,1283433526,-1153755625,1404708676,-1664410361,-1528517423,1078428719,-137827958,-179324356,509761523,204817677,-1364675292,-1022168051,-94205542,-1850648356,-1347517802,315169271,224228949,1451391447,1399932171,-535124332,1712918120,1090333143,1325071577,-1825893517,1376372769,409091786); +/*FRC*/Random.twister.import_mti(443); void (makeScript(14)); +/*FRC*/count=549; tryItOut("\"use strict\"; v1 = g2.eval(\"function f2(f1) new f1()\");"); +/*FRC*/Random.twister.import_mti(492); void (makeScript(14)); +/*FRC*/count=550; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return (Math.hypot(Math.min((( ! (y ? ( + (( + (Math.min((Math.min(x, (x | 0)) | 0), (y | 0)) | 0)) && ( + x))) : ((Math.imul((x >>> 0), (( - x) >>> 0)) >>> 0) >>> 0))) | 0), Math.trunc(( + ((( + Number.MIN_VALUE) > 0) < ((x | 0) === (Math.sign(x) >>> 0)))))), (mathy0((( + (Math.fround(( ~ Math.fround(x))) >>> 0)) >>> 0), (( + Math.log1p(( + (( ! y) !== y)))) && -0x080000000)) >>> 0)) >>> 0); }); testMathyFunction(mathy4, [0x100000001, -1/0, 0x080000000, -0x07fffffff, 0, 0/0, 1, 0x07fffffff, Number.MAX_VALUE, -0x080000000, -Number.MIN_VALUE, -0, 0x100000001, 0x0ffffffff, -0x0ffffffff, 0x100000000, 1/0, 0x080000001, -Number.MAX_VALUE, -0x080000001, Math.PI, 42, Number.MIN_VALUE, -0x100000000]); "); +/*FRC*/Random.twister.import_mta(-883114668,-874794091,-966729789,-2084691034,-316117624,-646002758,2141585709,-813921251,-768137456,-1806844048,1489761027,-1822483580,2132235142,975926382,1267167099,1597989728,1494055968,131744253,1175339846,976117371,-1280018630,1462965782,-1157099765,2112697504,122267843,387778908,-2007202772,-1971634270,-1895550210,-127338062,774241019,-1209356520,-2072565375,1094000590,-943590711,-566610736,2045575591,1032030258,-1467873671,-303812163,-1854644855,-831085398,-1467881521,1487002321,725147045,849819860,-375027524,1134904680,-166538202,-1449469974,-465360648,-1932537859,-1804722807,270187806,874821379,-1389093572,-1401504888,784498198,-1872308543,-468186499,724320118,442481412,190787193,1104689514,1174784153,193216428,-1376167909,-1057492194,1112399859,1950750783,1985785118,2051995400,201575518,1815563534,1089866247,1712080709,239596831,-1436385373,-2131568568,-1242307526,-50998663,-481379018,2076758346,1471317289,-1156043877,-703387976,716268200,-289474227,-1065085126,-103937210,1862868011,615128023,-1256929904,866726415,877827732,1681040970,-1226476860,387425083,1808735859,-685247700,-1530287383,-1047603956,307214782,-282678530,-987899680,-18736825,-1964732527,-1168475701,1525209608,1255714767,-381332706,-1024057366,-150210819,-826903573,-45858920,-260090908,-303778581,587492265,-149217208,958952213,-1279783143,-1048595345,829474100,-367596622,1290865750,-906256561,429842894,248149215,-1938971205,1581023159,-527689054,-623703181,1812428410,-1540389704,-1425612538,400098211,-59279590,1145847466,143768604,317977672,1552402621,-220242959,207150554,981204910,-1407486971,-2052716860,637680913,-978632565,198008122,-833262390,-715109993,-520539182,1717849507,-63278359,-1795902547,44880725,-1803174794,48521634,373060322,659436552,1654968139,1443458603,-2106940225,1318333885,-1376813975,1560298577,1209878961,664142784,-825533909,-1316247256,-1433998639,887032370,288762785,1601478950,-1044867342,-1861316632,756911127,-414598944,-725079083,-1471976096,1876016519,-352277936,-559282648,1142309963,-1262224104,-1525707711,-1814893175,-801664837,-1083833692,2134188090,1594155353,1418160642,-1553512518,-1362588485,1405326821,1473906342,-159422528,1312743525,1971609418,-665022314,713696916,-1377221309,947747413,-1843779993,575363360,823022007,483094851,2117851407,-1706235420,-1833357232,288827856,375957312,-1991832331,-87240519,-1105856181,224549084,1572812022,-484180383,-804516975,-59507712,-1864545600,-809062753,-861893704,430529500,746198964,1831996145,-1331354956,-446389107,2077148738,980368509,-134875328,668025750,-451260123,1935133500,750161243,1118809028,-1094538017,1707224226,874057248,1144674599,-1913300594,582595180,341793963,-2115745715,442418780,233505436,-1842950898,-702328049,-684967260,521032957,176010758,1828283817,-152361258,656545246,-334121786,-330193764,-1856778256,-932179259,-1767474910,696164425,1139977262,1886597259,-483842889,-501674346,-1860170403,-937811773,1819991603,-811228742,128037946,1713886348,101726805,1629545709,-1749464500,1075420107,-1753551282,207992003,-892907183,571798721,-988746846,1097747564,864270584,175217694,-277383764,-1668534954,1862426884,877683116,-765737007,-978201653,1571117078,-761354179,51516627,-100581384,-775751456,164053180,-1212037148,54682409,-2085021887,-551597871,1525814608,1467778972,971276091,423127484,548319287,-2010459912,-608815922,1560906318,-2016914415,715500108,-1762390424,1133723869,-1373846483,851730304,1623200105,-1707805076,2091549021,1316581727,-448787644,1051567535,2088832662,314721239,-1323912988,1691051062,-1470209183,1220205501,1910538088,1794145849,-1913273869,-1987928229,1087058001,824361783,1041878522,125061346,1331780943,-626548589,-833457883,2066850818,-1945370949,-1783805536,-104887537,1267287152,-1612797550,-1817332218,183163891,-723224143,1161842377,83665996,675598164,-1636214285,-1209723938,588389458,-1365482860,-476834757,-287163940,804183382,-2144936521,-661402029,629634061,222568066,257846045,1817220323,2099395621,-1206725413,-1168001048,982129726,-1148953315,2069026036,978421850,21214410,-958705175,1243190564,-1268560383,702811993,200332205,589688554,366285740,-1628688949,1932596251,1502678193,-846756786,-1244854218,944362000,-772980706,1407620461,-2120781526,2028786182,-1009617726,376151769,-1983221783,-1820728945,366996650,1215993341,-1503137986,-2081259390,-434927623,581643406,1064457138,-376638385,1813313124,1238967188,-1205785985,1016891357,-2065306851,165165963,78819721,-1533305356,-1498073302,1954893845,-1808917910,-2143499059,-475303242,-1817073335,-319311790,1536544416,1410167589,-848844306,-730224446,-1174708676,-538933955,-1035160508,-1515048625,-1563110364,74362382,-2142631733,-113912332,-341646839,-734792730,729822263,547255569,-1102897638,961502360,-2033869662,-1766414420,362225260,-1950181549,-183149493,1491615389,-823352572,386601065,-1643036746,-1763661877,1930011799,146745398,1055651563,773896439,-178981033,-98649919,-428609695,1723489476,-1269909165,1864002903,105714867,639693645,1730818570,-1762129819,-2091820114,1721117891,462043827,1121797508,724308859,-972145057,328987297,-1287020286,-2097194815,1695649126,813733654,-210922354,1035553185,1357037265,635649132,-1846016787,858687437,-527821729,1687909980,2002369725,1848171292,-37354820,-1321731506,842992558,1317306375,1139886907,-375458129,1269729288,-428045866,90767337,1221685872,1815851500,1301711611,-1057695072,442627064,-906985312,814455622,-1683558175,-498836529,2036458038,763546262,1611576408,-1265596003,-1755659582,-1782351147,-1884001491,-1872516929,-61084041,-213662124,-1773148004,-292045166,-1443109451,-856625671,1752904079,-2047741508,2003551323,1362354154,492342400,1508561252,-254856121,1878000218,-1190905606,1990668556,966085792,-564003920,105425993,321257471,-377935830,1539580502,-353180582,-1547758420,1342568876,27422268,-847259846,634477712,1677774134,379962105,-2075492532,-1097465367,809664046,259606421,1233018292,-853535316,1318323339,638523732,475024786,-398343103,-1142473882,1283033174,-360016005,-1084924150,2056906508,-1469920113,1649719812,2109002432,1303442850,946717891,483481723,1204275954,-946281297,-1496450718,-1041318417,-511158911,954856859,-2033484125,-410375141,1494290015,235386936,-1857053089,-1897456967,-443109214,954649739,-1471498530,1136891384,-1842939673,477828709,1250914467,794374632,-1020696465,-73159088,670124479,-551318105,934979605,767258249,1261110356,-428423548,-132931078,2034268884,1432826482,-872497367,-2066602426,-1635062654,1663448883,-1800094192,90447822,-1762944340,-448438250,1029721578,-2024022064,-1008624051,-1804232035,1236348861,919229531,-765682662,-1385089907,1647165455,-1270296394,-558893797,1741119235,1221943518,590795183,465444712,719264367,790464642,694979271,785895840,-917512892,792433485,331237606,-1983015636,998499293,600437717,634568672,997593801,521259786,1032277553,1989066399,-760776639,860048599,-870143259); +/*FRC*/Random.twister.import_mti(208); void (makeScript(14)); +/*FRC*/count=551; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return Math.fround(mathy1((( + Math.tanh(( + ( + Math.atan2(( + Math.atan2((y >>> 0), ( + y))), y))))) >>> 0), (Math.sinh(( ~ y)) >>> 0))); }); testMathyFunction(mathy3, [-0x0ffffffff, Number.MIN_VALUE, -0, -0x080000000, 0x080000000, -0x07fffffff, -Number.MAX_VALUE, -0x100000000, -Number.MIN_VALUE, 0x080000001, -0x080000001, 0x0ffffffff, Number.MAX_VALUE, 0, 0x07fffffff, 0x100000001, 42, 0/0, -1/0, 0x100000001, 0x100000000, 1, 1/0, Math.PI]); "); +/*FRC*/Random.twister.import_mti(349); void (makeScript(14)); +/*FRC*/count=552; tryItOut("let(w) ((function(){let(c) ((function(){return;})());})());"); +/*FRC*/Random.twister.import_mti(367); void (makeScript(14)); +/*FRC*/count=553; tryItOut("v2 = t1.byteOffset;"); +/*FRC*/Random.twister.import_mti(380); void (makeScript(14)); +/*FRC*/count=554; tryItOut("\"use strict\"; function x(x = x, x, x, NaN = /*RXUE*//(?:[\\d].)*/i.exec(\"\\u9b27\\u9b27\\u9b27\\u9b27\\u9b27\"), d, z = -26, eval, \u3056, w, x, delete, a, e = w, x, \u3056, window, x, , x, this.x = window, x, b, x = undefined, x, b = 26, NaN, z, NaN, x, d, x, a, eval, x, x, window = new RegExp(\"(?!(?:\\\\b){1,1})\", \"yi\"), x, x, x, w, x, a, c, window, z, window, z = undefined, x = \"\u03a0\", x, x, x = undefined, x, \u3056, this.x = -16, a, x) { return x } new RegExp(\"(?!(?!\\\\3{0,2}))|\\\\3(?=\\\\2)\", \"yi\");"); +/*FRC*/Random.twister.import_mta(1689288574,-95263266,143351188,-989578517,-843374873,-889400052,-1131758620,-242318506,-1313562696,-1651703576,-1091149921,-1275303292,51435471,-1245870162,-1534307549,301763750,-228137051,-647042843,888525198,2036892186,-1129230148,1806496059,1439784561,1349212268,345665458,133305095,-2025856320,161823627,1116881191,779480279,-382620492,-2130522540,1985279969,-1830555374,1843361049,650249646,1902925224,-1058717310,-1556907886,-1999530126,42859198,1466114662,368826106,1139040011,1944313100,227050439,-1512513771,2044941295,1692452843,-620559921,889887371,-2075160242,1893635696,738112010,1445683972,-1716915497,-1240656516,27006591,-1004704439,-996987187,-1900334084,-1969115640,312865994,2008465089,-349317641,-2083569094,-820109175,-703017256,-2143460646,-422061692,-466733867,-766870284,-229622105,1338538315,-1484739541,527013408,839174891,1805343413,989726097,1067544462,821442076,-1258950607,-1783164229,-7972376,-257658478,1854750244,-243043015,-683463678,-1618885221,1031953394,-799421209,1901693868,-865006450,-996148106,-1998580825,1902574075,1861972529,1713988842,-587983678,-1982078262,-341907837,-1729033446,-1032177225,2004071258,-430818130,1890192734,720013088,-2056319576,-996162202,-1755064191,673260781,2015921040,423555,-1979198699,1069532562,-1057343409,-401951712,-1696153480,-559006929,1119366440,-120780669,1575471255,-472115321,7350439,-278380073,-945498519,-1081132392,2075625599,-914935814,405387163,1690856334,-892301624,1298947310,-1077333677,-2034229498,-1782000381,20126092,1281273619,1225581196,-1239591435,-832111660,509209611,548697605,755712592,715855465,2140289440,-1631637080,-9172174,-1453438450,-258929375,1843013904,-300263775,-187499529,1714774181,-248208015,1843311967,1051901731,119737777,1229987059,-30549174,-1119251970,1119072172,1167419007,1317475663,972077899,-1015558657,-1380815293,-2135580312,-1114289631,1927834603,-142182019,2010079426,-1945361750,-407993075,1908472626,828946493,-1057392580,-239045377,-534732787,2127413838,-1439350116,511476417,231523164,1363917646,951612042,357679152,1486875781,24944604,2126499301,497535992,1475742201,749268727,1016379826,441503324,1795631633,-80989420,-1096598459,-611740291,797783182,-2052412251,1361956810,767963387,-9435332,1534771765,662426514,-299252329,-1467394971,273001950,-383448415,-1290027823,1412736584,-548689927,776964705,-1715197110,39683984,-1926181008,900788100,625823049,1882077382,-1685552141,-1225402939,-1642316679,-849970026,1119479570,141282332,1631064948,-168818412,-1504205180,-615512616,1148933629,2112029298,-957404727,-1873343079,-1964943829,-2064415673,-2010113995,-565475148,-593026242,-1881253721,-452240226,-1650849766,183505368,1344228531,522507259,752677097,-2065604819,1453263784,1839082684,76663093,-2023770138,-1826016170,1063309227,1123244836,-365169060,-520437961,247931187,376038353,-44940853,-48984864,-506316289,-92782926,-194703021,-578336788,1942024739,-1393105617,-1082847629,136932285,849916378,-222840451,-403588548,1325160374,-747255276,1873753461,-1385487128,-373848431,1254661946,-693256491,1995016756,-1692080484,1894321793,-243883689,-259494039,-2103054047,1797586368,-2041625686,-553954480,218858516,341175055,-1785699802,418211885,411295635,382801678,360888680,1578448107,1801025439,1631442889,1065422501,2030618828,-1018762656,1748503839,774229688,-657324525,1412694730,-882457797,1970466702,-1568862709,-2099710383,-1943110966,1382970674,377723994,1651062952,-1346678712,-1850413301,1675132200,527811627,875241048,-1635902654,-669463323,965374761,2031750490,1339776508,-1965978511,2028971931,-1585610825,1277094430,-1913741984,1470829132,-987734748,309090194,-1160672792,-1137302084,854303899,-1081652236,-857753804,1496226800,-1646414539,-519537392,-260728800,2067992396,-366130226,-1769296065,-469619031,2013535211,-2096409588,934484901,2005223116,-698824156,174978013,266419450,-317458932,1368296825,-820617254,-244937186,-613471692,-1806498152,-757851668,-1828866878,-2084973104,991915716,780134538,-100238456,826078692,-23090538,-478687069,-71193070,1953083176,90105321,1442420126,527679174,-320603603,-958299639,559578835,-1958474140,835791521,2028801584,-564953856,-1427833404,-765003355,743582974,204377546,-1526207031,-678169761,-912762050,2024784410,1192845725,1666162203,168669873,-1757076283,-909793426,-1099748043,314318856,-1008961751,-1521808528,1453038788,1061943492,1838710483,-180315231,-187644551,-1803285762,1838165296,-1162614642,977240162,1548609104,437416812,-2048629474,-913947245,509293762,1508388174,-1582912996,-557797332,-1480458708,1677462552,461293982,-650533408,-964507965,-1239580742,-1421356098,-1585597677,1751018985,391716652,-2071460990,192440692,179522678,1174186751,-1893567516,1525240365,2112003278,1264419920,358835746,-1469378364,-2004384770,-2007845560,-393685847,-2059448061,1787807423,-247344745,2139336306,1735068132,1398383357,-1295108052,926376401,-1024874413,1430484852,-67304863,1051584532,1063166647,567885755,-1122512492,1923768330,-1207713144,-1126122052,349796524,-1960259202,-161831837,785820093,-1427819329,247726373,-1744573165,1020332799,522587539,163153252,297947344,614206114,408868116,68478279,1917332864,1248336084,609185317,1573591648,1163547102,-1958725070,1362390906,1870653257,1712915125,166993648,-567573745,1257514527,202592973,1115261558,1964617989,128479338,-1116476223,279322043,897253548,-154118555,-784336644,1355582239,-2137009862,-655023337,-1247325914,91822900,666208720,828078824,-1865270684,-1708838807,-1413668343,-1526210305,-1249530512,461336396,2115641397,-653775232,1550887368,-967993200,1693519890,-742766267,-220920510,832760351,446700403,-1687215071,-1627401737,-1602772699,288064257,652860672,1406832684,-1290600513,-2067464928,87919142,-1012368029,-1553927577,1083816175,1625790659,1437386513,-1462589455,-757684241,-465129638,1478310373,-618370685,-809436455,933573669,1585121779,-2010275295,-1635551775,-1397965628,1845426403,599667575,-1948997252,-600517394,1637546579,2134435890,-1719910366,1536534515,-1050291789,1767645830,52699697,-691722325,164406573,-753125314,1325101505,-1971373320,987166602,-1509805998,2068514222,743430725,-1255926306,108010323,-95474157,-1890795920,34955315,-1668143274,858514256,574437592,1935287222,619895185,-1243728948,-80004731,1222141678,134975701,2023095868,1637368277,-1960020939,-196823468,-468833300,-69848785,435459630,11487798,-2096759931,-1323903342,435001606,1214519670,-101398308,870205147,-54210811,827004596,-1501315996,1350942253,-1879203508,-180491326,-1166813192,647624668,597194406,15068792,-383115216,-1180865381,1375598250,-1890568531,-741966894,-1637559402,1493461564,-21917029,1153277065,-339034617,877257690,-1390959094,-1233220869,1810479076,1020626014,-233995991,763401421,-479768032,-744703684,-480928315,89155834,-230945612,592662287,-197313018,-639450194,-1688624030,-731238797,1758940291,38992735,-840506087,1177674593,1277543757,-2028428258); +/*FRC*/Random.twister.import_mti(78); void (makeScript(14)); +/*FRC*/count=555; tryItOut("e1.has(f1);"); +/*FRC*/Random.twister.import_mti(91); void (makeScript(14)); +/*FRC*/count=556; tryItOut("mathy4 = (function(x, y) { return ((( + (Math.log10(Math.fround(mathy0(Math.fround(Math.hypot(Math.fround(( ! (Math.log2(x) | 0))), x)), Math.fround(x)))) >>> 0)) >>> 0) * (( ~ (y | 0)) <= mathy1(y, ( + ( - (( + (y | 0)) | 0)))))); }); testMathyFunction(mathy4, [-1/0, 0x100000001, -0x07fffffff, -0x080000000, 1/0, 0x0ffffffff, -Number.MAX_VALUE, 0, Number.MIN_VALUE, 0x080000000, -0x100000000, 0/0, 0x100000000, -0, Number.MAX_VALUE, 42, -0x080000001, 1, 0x100000001, -Number.MIN_VALUE, 0x080000001, 0x07fffffff, -0x0ffffffff, Math.PI]); "); +/*FRC*/Random.twister.import_mti(281); void (makeScript(14)); +/*FRC*/count=557; tryItOut("\"use strict\"; let (w = x, e = (void options('strict')), w = (new Uint8Array().unwatch(\"wrappedJSObject\")), x = allocationMarker(), d = -19, tnlant, z = new XPCSafeJSObjectWrapper(true), \u3056, c, qlyxaa) { { void 0; void schedulegc(this); } }function z(c, [[[, , , , , x, {x: [, arguments.callee.arguments]}], , ], , z, \u3056], x[\"wrappedJSObject\"], x, NaN, x, a, \u3056 = (d = Proxy.createFunction(({/*TOODEEP*/})(6), function shapeyConstructor(ykztso){\"use strict\"; delete ykztso[\"getUTCHours\"];{ Object.prototype.watch.call(e0, new String(\"-14\"), (function() { t0[1]; return f1; })); } delete ykztso[\"getUTCHours\"];ykztso[\"getUTCHours\"] = x;ykztso[\"keys\"] = /*wrap1*/(function(){ v0 = evaluate(\"h0 + this.h2;\", ({ global: g2, fileName: 'evaluate.js', lineNumber: 42, newContext: new RegExp(\"\\\\D{1}(?!\\\\S)?|[^]+?+*\", \"gi\"), isRunOnce: (x % 3 == 2), noScriptRval: null, catchTermination: \"\" , saveFrameChain: false, elementProperty: s0, sourceMapURL: s2, sourcePolicy: 'SAVE_SOURCE' }));return function shapeyConstructor(xnneyv){this[\"valueOf\"] = Uint32Array;if (xnneyv) Object.seal(this);for (var ytqptdtnj in this) { }Object.seal(this);if (\u3056) this[\"valueOf\"] = x;{ (new RegExp(\"(?:\\\\d*?){2,5}|(?!\\\\2\\\\S\\\\B{4}|\\\\2)\", \"gim\")); } { p2 + v0; } Object.preventExtensions(this);return this; }})();for (var ytqdaaogi in ykztso) { }return ykztso; })), x = Math.hypot(let (b) window, [[1]]), eval, y, x, [], window, x = '' , x, x, y = /(?:(?:\\b|[^]{0,})*)*/y, window, x, window, window = 10, x, e, y, arguments, b, x, c, y, x, \u3056 = \"\\uF61A\", setter = \"\" , window, window, x, w, e, x, e = window, c = window, eval, a, x) { yield /*tLoop*/for (let b of /*MARR*/[(1/0), (1/0), function(){}, (1/0), \"\\u9140\", \"\\u9140\", (1/0)]) { t2[this.v0] = ({}); } } m2.set(g2, v2);"); +/*FRC*/Random.twister.import_mta(1230079670,-1187993390,1491661901,-678873107,847035961,-979057194,1113505623,-218083664,1230999896,448147273,-325783007,-1871482215,-447387481,907852739,1500882306,1892925040,331637150,1018379942,-1945100288,-618835202,-1425217023,-1645416724,31659750,1063415753,-1184389327,-1337378273,-807378618,76760816,-1184142856,1803273944,-1045044646,-1015729043,-125939862,-1076177132,-1436810418,680559636,-1845050976,1633809600,1346778895,-1905624095,146324582,1079330788,-1729118433,-1719129015,1124618795,1061740290,-448895609,-939280592,701569616,-1337768405,-1430235463,1131922300,1378945466,1020246044,2140109845,2003434412,1689635276,1470354721,-594884319,-53184709,368564964,387642790,-358284078,-424237141,-830827054,286783376,-229327403,318392533,398714174,-387234260,-2142998065,-1098232047,2140605822,1796165987,1976321084,768677266,2025701241,-1016787366,1412464152,-522563412,96765991,1582684853,1647356798,-1679871263,-389960931,1441298206,2055206546,-1581879592,-101394411,-1709588868,130362169,1605923378,1516387565,-716814966,559697993,764311968,1958833046,1108371560,-673076412,-294885390,-1025063531,-2007304009,-588026082,-481199114,-1129418054,-811785469,-1580976614,-1949683476,569391917,-622025768,-87141644,2048636269,-398875303,-70779772,-643398552,-1241737357,1971363222,1923219400,-2065010895,-123753151,-931025970,1221761029,1881929570,-1728378751,1985525096,-111804665,-209046069,-418483981,-298505746,-423136064,461224780,-1686957216,-1729593644,567224297,-738563873,1775191774,-1839042572,-158010469,-1888094157,-1188433074,259891321,-450335743,42748062,-1479783118,714515945,-268651535,446155393,-550724182,36989714,1846262458,834575406,1149707455,-357505611,-1095434098,1504599396,-1736959475,-925944543,121119931,-838296597,-87180577,1776329690,1632380006,-1191911884,-1517375083,269330794,2116306995,-78842757,-574879349,363964880,-865788332,752404501,1056873394,814832262,-414235587,-317029151,1673735379,-1035672118,1887036478,-830415728,508722428,1619120327,-31416458,-765751885,559538064,-1800514555,-337837930,164294401,935558742,-921836445,-1316887492,1880843222,-1782183426,1262621072,-656184122,-215284469,1262908781,-1324713941,567679579,32939935,733641933,1582400184,-357541496,-715097052,684270318,-529492367,-977277302,-121741520,1958864938,-1667659923,-1388379827,1595832439,-2090531452,-1343173214,508998520,-788665177,1429399851,1562555243,-1615467850,1360748668,-1679692725,-1044513593,-1675718247,1840018390,1720869025,957346461,-707277391,-1549150175,524543480,1490058457,-1499987936,293814659,-802404859,-1023288203,-1920671963,-1113239684,-1860325281,172038669,-733354057,-1465339183,-1201658790,-195941002,1984858190,-720802082,-139277379,1784401130,-1236327588,883435237,-1255777537,-1536951358,1449223058,-1340197207,-2073858996,724533798,1551750740,1422317890,1809337110,1508691772,332192508,982031566,-1835539512,1678772310,-1591750115,-1834372936,148300457,-770530461,1130829878,1411723484,912691832,-2100548331,1128520166,586617800,-42335263,2046436659,780562570,-984245132,389082774,740307385,-1711564141,-1169738108,-361246533,1799755712,-1643465883,-919215748,1108747947,-1405626847,1762355958,-538138063,-1962170158,-2100289527,-1555342212,-383131826,-1335707038,-1265588561,-1087870294,-216744454,-1256785356,-2144721645,822432913,438096776,822425208,1434761320,696453266,1039599604,-959352604,-1798486287,-1993891496,277290471,-784179656,-887403754,-604621958,1961890120,-1795836948,613347558,122067233,1535667459,274152677,1426359262,-206832514,194365944,1058302325,1422818913,-713118184,1145606074,1587957616,-752109234,-628544585,-1437302302,-1982638514,174756779,-1061880832,-442351697,1910754614,67651264,-1031041773,1756747739,-1929432466,-2005101660,1146037550,999715,-1571716757,159488153,-2000927561,1545585827,1572118894,-865103895,1723115839,-873596130,1767597048,1986933404,761251605,-293179644,-1556461674,-1547996805,-2025021891,-164668444,1104489074,371923185,17214582,1919939770,-1046698392,1070862273,1471596168,-934065239,417292895,-1326857964,-1221003856,1317324332,-1803679363,-1677803478,801532625,1306810481,-1716125876,-746273725,665601242,399380766,-2107552905,-1429893103,1683880429,2012973840,-2023729315,1958842513,353378274,11066723,-797315543,-271149263,-1892185641,643629796,-796311250,1348985149,-1260325799,713459401,1574293742,901390049,1005277254,-1876568618,952348476,-1240386835,2016471571,1762106526,-318939265,-1091256536,-2132299391,552505452,732558100,-799675472,924536636,104144595,-1614498958,1531565403,167603498,2099553385,-2090353157,821137759,-97389491,1714971338,1631619261,-622344646,-1139807277,-350254054,224133320,384603891,-10392445,-1039066716,1637921486,795723540,-2107827172,719766434,1353990933,245031208,2066224187,-651881084,-1959795927,148647798,753914972,524081961,705859638,408997724,-310868561,588148351,1765533872,-870119123,-2057980254,1394471609,-769019897,229816842,-1429005210,-788369983,-930392406,-2011468186,-2138333046,-1821339,985270731,-1688388742,-1480473870,-818710861,568969475,-1352950050,-2053034559,1877951507,-1751903694,1994936914,1133838215,891277724,-1364958900,-1535781392,-1495695191,-252100403,-784860901,778267671,1605438049,744487993,1176034941,-1897160794,1610738185,1078081679,-677656048,503518714,1628989052,-586645046,-2005323370,-1509950465,-106893258,1374913144,1989818612,-1465419682,-731990826,1143381824,-939845473,253972715,-482174248,-1019397693,-1912332562,610659287,1081592817,-1805503276,-1330108752,-1774726763,-490136787,-307220694,-875103115,-295909330,-249503257,779938729,1017264893,-1892617539,636631524,-1106113835,1521861986,-1865981899,-77424657,-272901047,-923555637,993886934,-632356853,250552455,-1590886154,1864083007,-579615461,-1706315512,-1555660803,-1893757501,-595563638,195896256,824182222,301930532,1288614462,194493334,-986722927,1438258821,1823163746,1017922379,1900190577,2010382469,-761082995,1915818035,1203266341,404062961,1601110690,1425363291,-2047195285,-1263105870,-1269449767,-443482297,-395919927,2088507956,-1645775676,2116154875,798332042,-1248196459,568828819,-2122313293,1586383696,-1521969189,-1331188694,-875949360,1876795528,1440653689,354077361,38624272,628485595,-1566603128,1880630466,1444475845,998084035,342525244,1330530919,-1680712566,208531150,-2116310073,1524892394,-430813606,-156354768,2118032610,1867550617,-1475318749,-1272584920,-1583331930,1044143533,1952577317,-1507305321,-1286314486,771310597,352748007,160683309,466202910,543476116,-2120714396,652117711,1409079015,1635879611,-517161450,-1521358644,-307225520,966286389,282768949,745502166,1425882310,1783059786,191717761,1000828941,711252881,-375099767,1636277712,-1687937893,1020976658,-1329822315,76420701,-1206505924,-1503567433,1500700952,316165870,-1548891091,890816936,1418877716,1772559488,-555568868,541063685,-1673818589,-71677947,48040359,1541042344,-1650421237,297591429,-1833307722); +/*FRC*/Random.twister.import_mti(46); void (makeScript(14)); +/*FRC*/count=558; tryItOut(";"); +/*FRC*/Random.twister.import_mti(52); void (makeScript(14)); +/*FRC*/count=559; tryItOut("\"use strict\"; print(x);"); +/*FRC*/Random.twister.import_mti(62); void (makeScript(14)); +/*FRC*/count=560; tryItOut("mathy4 = (function(x, y) { return Math.tan((Math.log1p((mathy2(( + y), (x >>> 0)) >>> 0)) >>> 0)); }); "); +/*FRC*/Random.twister.import_mti(113); void (makeScript(14)); +/*FRC*/count=561; tryItOut("g0.o1.i2.send(a1);"); +/*FRC*/Random.twister.import_mti(131); void (makeScript(14)); +/*FRC*/count=562; tryItOut("mathy5 = (function(x, y) { \"use strict\"; return (Math.sqrt(Math.min(Math.fround((mathy3(((Math.cbrt((( + x) | 0)) | 0) <= y), ( + mathy2(( + x), ( + (( + (y | 0)) | 0))))) | 0)), ( + mathy0(( + ((Math.fround(Math.asinh((y >>> 0))) * ((x | 0) < Math.atan2(x, (y >>> 0)))) | 0)), ( + (((y >>> 0) + ( + ( + y))) >>> 0)))))) | 0); }); "); +/*FRC*/Random.twister.import_mti(346); void (makeScript(14)); +/*FRC*/count=563; tryItOut("g0.a2.forEach();"); +/*FRC*/Random.twister.import_mti(414); void (makeScript(14)); +/*FRC*/count=564; tryItOut("mathy3 = (function(x, y) { \"use strict\"; \"use asm\"; return ( + Math.atanh(( + ((Math.fround((Math.round(Math.fround(-1/0)) >>> 0)) !== (Math.fround(mathy1(Math.fround((Math.asin((y >>> 0)) >>> 0)), Math.fround((mathy2((x | 0), ( + Math.log10(Math.fround((-0x100000000 !== -Number.MAX_VALUE))))) | 0)))) >>> 0)) >>> 0)))); }); testMathyFunction(mathy3, /*MARR*/[new Number(1.5), (-1/0), (-1/0), new Number(1.5), (-1/0), (-1/0), (-1/0), new Number(1.5), (-1/0), (-1/0), (-1/0), new Number(1.5), (-1/0), (-1/0), (-1/0)]); "); +/*FRC*/Random.twister.import_mti(577); void (makeScript(14)); +/*FRC*/count=565; tryItOut("\"use strict\"; {v2 = (g2.a1 instanceof s1);m0.get(i0); }"); +/*FRC*/Random.twister.import_mti(622); void (makeScript(14)); +/*FRC*/count=566; tryItOut("mathy1 = (function(x, y) { return Math.fround(( - Math.fround(( + ( + ( ~ ( + Math.max(Math.max((y | 0), ((((x >>> 0) - (y >>> 0)) >>> 0) ? y : ( ! 0x100000000))), (x !== y))))))))); }); "); +/*FRC*/Random.twister.import_mta(1688780410,-1669638553,1580299350,2126663915,-1573530774,-657883368,304731212,-1258675428,-1555503033,-1451763940,1324727009,-1326722601,-872710124,1369339560,-1156685117,957587856,-462918882,1613787850,214835650,375981029,-218522459,-1410463895,-1947891725,-1822952012,1045250387,-1511970553,602476982,869823464,-136249488,171717263,-1475974660,1923466909,616923057,-1945431005,-546856669,31412134,1549741628,-1374195599,-1271980775,1547473263,-850254243,-1234108113,-1124643253,883921127,-1695426269,-125144923,-1238864993,1499084578,737808300,493549122,-1456425196,-1593578821,-1628668796,1496005552,17757213,-1459101796,353933501,2021565180,-963952063,-442469460,-1909696750,1522386554,2110255416,299178171,186582095,-1791148119,2127689209,-1349245073,-1834212417,701745397,393899596,1370024616,-214035953,381279783,1357927604,733868229,1102277924,710543235,-403250618,-974528202,-684049415,-334441355,480122937,1217896110,-1823159367,1825339697,1715539864,1297458315,-1722651672,-1630750205,-400088698,-1155858878,-907954147,177971512,-1732042178,503668252,1635778501,-1080893066,-946989751,1850475392,1072486313,-2083940187,-1166130802,-1341394573,266780857,2124345508,2034705035,1187012596,142895112,-1015733329,-1095717109,1037238854,-2038339155,-2090295683,184898477,1107151901,-484442129,-1785550912,1147823753,190542808,538065350,-1570878791,909331298,-197929097,2032280790,-345994758,-609251992,1726319827,1068304478,1177118256,-929676255,432941551,-1522244023,-1940273157,94713886,2128951167,819987103,-1400677131,455907970,-962338286,-185367427,364082452,-1776524814,2029349529,446911230,835955416,-940510436,1030107069,-1427986023,1727970284,-1797343734,432720528,2126324692,-313049343,-876939639,1478999444,1781730984,1975971834,-1951150792,556724372,633133186,506934026,-289798706,-359048131,-704466940,-222938841,-861193767,1588744660,1769784653,1421248607,319988503,-1718417788,-263516117,165133557,507974022,1595731463,392985990,-1890581909,-83043498,149429530,19665430,-2075885277,-159074465,537656535,1477952590,-924105032,309488134,-1505233936,2024029066,-107624817,742228528,912121391,1307589848,28413004,1509581477,1815974042,-260316729,-1993783003,-1598358673,2077621658,1595898254,1641897875,1875108218,-2091638666,-1954833972,500740680,-519772018,-1415664261,2133571052,-234251591,-1180390146,-241629338,374978724,-1548875678,1346111591,-2105466686,1531489871,19573950,1243281382,-638995271,1262253616,-1922272786,-1466136280,-564840135,776193036,-647971254,-585628854,-775409463,-1892198793,-1879546808,-807615690,1522371983,117678165,1291547634,1702644716,2137052574,442209304,-2086055082,-321141766,-1311598929,716780175,-1853172308,-608013167,-1857712789,2065163108,-812481937,-1779261883,-1597480636,-1059146080,182594680,-781827182,1809481792,-1948270035,160070935,104093283,-619276050,64643057,-1253955685,2079209337,1456307098,93081074,-1775011457,-591622611,-329330862,-811271062,-1640135305,1192220755,1430028296,-674173476,-1383282769,-1827003960,2131000165,-272021280,-1803377243,314720361,-1528649809,-2002809900,-200070058,1295036985,-347113628,-819539235,1704199331,1359248406,-1710505102,217782151,1886758790,-1608144955,1447884745,186148932,156442271,1239696778,-933238841,-894891268,123448068,-182494603,1269924329,-396766622,443811720,1227518356,-637776325,41441902,1309398862,148195511,-1830977917,1858721583,918412394,-313995734,-1296589198,-2115252792,1726353565,1122846552,-1055673398,-160987778,-762476090,-596211162,-1278203385,-1491516356,-1376926342,1033402919,2056140786,539293236,-85498397,827750820,1223304034,1272890482,-1834723912,715499687,-472830301,-1550588251,1369960070,-923133976,232973273,-959215886,-1810531911,1086310083,1287266778,-1588416200,666877765,-1242336724,1531516222,507383033,-66977501,1864866986,1545636036,2143306624,1637653254,2146877988,455417992,771299820,24149216,-1515260740,-1309201228,835614267,-1598545766,101652970,-1380961031,1185558539,-241058180,956332763,1671876982,-1484610369,-1199297259,-1417529713,680845845,-148953555,2087647636,1435784819,-1190337432,-614928221,703003925,1949275455,-362184704,1644529845,-870843501,-1520551207,1720242510,-1915160635,-1356631166,-2089659935,-1646961853,-404803344,1390815463,-384566689,-2066680337,-1420452914,-660779958,157962243,-729311037,-1655703047,586282613,-999050166,1440157611,-280784636,-994454734,47416906,-344134428,-1314501239,663842136,920984036,-1355722817,-793979670,1311791536,1254627213,1061587038,-723671563,1629414624,118113443,-176142236,-2135279690,1360942516,-1196387595,-1721254850,1828392001,1634622307,267323249,1440209047,1050313657,1504855101,1895030347,-544290946,-1492546862,955444855,485345789,-405994931,-2012756181,-171337026,-897094449,1481771290,-985537199,1129409464,1607164221,-820670857,196040806,2006070725,-1097341600,1931203138,1572694193,1898654494,-989531330,-1455387411,-519777485,-1598406172,849168414,496104266,339944077,-1147964967,-1112793108,254918915,-852909653,1315316549,436243715,602757553,-1971298509,596183244,406086807,-1734698728,1411400311,555995616,1366787222,2088208764,-197542674,2146673442,1748165944,1214349024,1238180829,229626691,1078057725,-461360037,660267075,1424308818,725701258,2086808759,647677876,752562909,-1962572724,-1881195427,980295494,-1965193,803608715,1076399885,1968833804,1858967391,-530873196,394912734,-546472464,436041945,-331856118,-619358888,-1483590637,606773779,-1419984859,77511006,655282256,1295958585,224432976,96712137,1172372198,-440256931,-2081966720,-1729680137,1964664201,-587954846,599460366,370098773,-1494601564,-885979252,-2045405739,1582158360,-2127691893,-1076813075,1736091592,1365628652,-1000695972,2119862105,1188722610,-442692732,-1092465459,79797518,16017638,338590914,1763417793,-1328952427,1394705166,-525967760,1007902359,1289858143,1650661420,-240262669,2019456511,-1886660147,863273956,-869570638,-2031875725,223934188,140713791,350862447,1230082508,-241213654,1525031072,-1405304537,296740085,934692186,1592509500,-651736794,-1558282472,-612356091,1833237943,-1545518431,857474293,-1465990750,665650890,-1066254528,-889748563,1329635791,-1807745305,276039366,-1037944063,-908281376,-2041534997,-677625162,-333878312,-222621698,-938715164,-1419250778,-1726993751,-1206231959,494920281,-2015663675,-1854930858,1544469383,662147932,14618097,-818123755,-218741526,1094177308,2099854143,-949558551,110542833,1005301792,1751401790,1867264583,-1786451514,812740272,1263462532,-510403914,969687401,-1446960434,393510675,290216087,-1693161084,2050758259,-2117654523,-1180014767,-990790218,-1355063677,-249139520,482695088,-393112288,1857194201,-297839198,1640856584,-711068623,-231575588,-743073588,779452823,1480452624,-2116137891,770126068,1046435947,-528491224,202285862,-237371622,-220962368,1035591235,-67714995,1415099428,-1243315781,547758231,-1917764697,-1028740784,1398876904,-754628649,-501214145,-1007545676); +/*FRC*/Random.twister.import_mti(141); void (makeScript(14)); +/*FRC*/count=567; tryItOut("mathy3 = (function(x, y) { return Math.log1p(Math.log2(( + mathy1(( + ( ~ Math.hypot(Math.log(y), Math.round(y)))), ( + ( ! Math.fround(( - y)))))))); }); testMathyFunction(mathy3, [0x100000001, 0x100000001, 0x100000000, 0x080000000, -0, 0x0ffffffff, 0x080000001, Math.PI, -0x080000001, 1/0, 0, -1/0, -0x0ffffffff, -Number.MIN_VALUE, 42, -Number.MAX_VALUE, Number.MAX_VALUE, 1, 0x07fffffff, -0x080000000, 0/0, -0x100000000, Number.MIN_VALUE, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(285); void (makeScript(14)); +/*FRC*/count=568; tryItOut("mathy3 = (function(x, y) { return Math.fround((Math.fround(( + mathy2(( + (y ? ( ~ (x >>> 0)) : ( + ( - (Number.MIN_VALUE | 0))))), ( + Math.max(Math.atan2(y, x), ( + Math.log(( + Math.max(( ! 0x0ffffffff), ( ! y)))))))))) / Math.fround(Math.trunc(( + (( + x) | ( + ( + (( + ( + (( + x) & ( + y)))) ? ( + (mathy2((( + Math.ceil(x)) | 0), ((( ! y) | 0) >>> 0)) >>> 0)) : Math.cosh(Math.fround((x ? (Math.atan(-Number.MIN_VALUE) | 0) : ( ~ ( + x)))))))))))))); }); "); +/*FRC*/Random.twister.import_mti(596); void (makeScript(14)); +/*FRC*/count=569; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return Math.min((( + (Math.max((( ~ ( + Math.fround(Math.hypot(Math.fround(x), Math.fround(x))))) ^ y), Number.MAX_VALUE) >>> 0)) >>> 0), mathy0((Math.abs(Math.atan2(y, ((Math.tanh(x) >>> 0) <= (y >>> 0)))) >>> 0), Math.exp(Math.sign(( + y))))); }); testMathyFunction(mathy1, [42, 0x100000001, 0, -1/0, 1, 1/0, -0x080000001, 0x100000000, 0x07fffffff, -0, -Number.MAX_VALUE, 0x100000001, 0x0ffffffff, 0x080000000, -0x080000000, 0x080000001, -0x07fffffff, -0x0ffffffff, Number.MIN_VALUE, Number.MAX_VALUE, Math.PI, -Number.MIN_VALUE, 0/0, -0x100000000]); "); +/*FRC*/Random.twister.import_mta(-1331398988,1509794767,156817173,-1045021345,575989308,64814507,624662992,477192457,900009838,-109565684,1962741840,-448268356,970026720,1010766667,-974230282,1590639054,292971014,159913872,-940840518,-1628504780,-1790052522,-1408651923,-1775944284,1629985444,-1291138517,1293500710,-31376455,-1275610989,702493478,-561752015,-1207412085,1311500886,-597929610,-1452277389,-1879430748,629198712,-107922142,2106121011,-2079512022,-501429440,-1290069162,41411780,1780479041,1970573181,1173866857,-259928818,1899817179,29238619,-1255798024,-1456192410,-960985983,-2107662359,586399389,-2087761966,930002559,1493476274,532044210,-1569098392,-364207922,322333182,1283273437,1872002058,-308955650,1757318678,-328889303,-1907183845,-962339448,-1718385955,-1068595226,1274867163,-866893553,-2016585317,-2035194466,54098128,-256613366,105083174,-1593933373,-1191250577,-315896634,-923028891,283302290,-123624376,1684226138,-436678641,-2120017128,-746912936,-1473543868,-742111228,-812411641,-1741957175,-2036848007,1516918978,1634169487,-1489153734,1268520528,-1900437651,1391964802,-139515605,1927656457,-1021435411,2100185808,-556231353,1508533393,-1411271414,-474219216,-2045760620,896495023,-1566047072,1937974916,1078293135,10769211,459668354,1735253260,-1141850431,-392986563,1826478196,882103481,-1108872151,-533679512,-1360310226,-1931081587,1542311255,-1220597850,361401514,-2055631000,1056327098,182200518,600169144,1878335303,-551515421,608323035,-202050044,1353681647,1906712555,1783712978,127711459,-2112755639,1173705342,934825318,-1440685267,-1152981600,1374163033,1229898932,486428042,794791990,2098445746,513601063,795319051,-1459655181,1730913970,-284940311,205690143,121499389,-612840111,-1402871414,-1178375,1973671474,-1847191429,1088650892,-788768960,-960028571,-1324505332,1004035191,-2028456998,317236146,928086999,-1002513588,883357904,189376665,-1912732915,-1961694585,1885157532,-2115119838,676600735,-1235629523,-997567786,1817638144,1018281911,962409906,-940512286,-1648603201,-643736752,-1586951286,1128779872,-1309586790,2034785203,1483542908,-1648244877,-1676799247,-2104362,-1789779749,934561531,-1681084510,-808871938,-1210458040,413083501,426617339,1718522859,-1932750835,860547959,1098353206,1498642532,-275429991,611365102,-1687048939,-1028645989,527597230,1373657953,-130967661,-586409438,1428927303,1970504761,-240592615,-48752694,-258379909,108561976,1026328604,-553927746,-509288793,-797263197,638589024,-637567181,881624339,71354606,-4908814,-1934879334,840874511,1849126224,503419371,1857468046,903891783,-1193441591,631325778,394640422,599854022,948487522,-122912601,43053485,614861876,-175814792,888830365,822601313,-1889185884,1828557748,-1219893640,337253959,-829764202,-182277114,-377963695,-1097458579,348838532,804101090,-1865101454,1681104983,-1635978012,-247813119,1563294499,1559753192,1699567515,-560302193,996216083,2024595053,1404020945,-1639759081,-1415665321,2122479324,-930968764,-1728877128,-843499572,596829349,-1812069872,1913875737,600321795,-1588234192,-1966619053,-244723950,-750923187,958950722,-1208474533,-597137620,1749939548,535595124,1409368587,-1060937042,-1706842453,1666237427,-518479163,1240532735,-231390310,-915957957,-711340758,-1993275049,-838894951,1696907373,1698951926,-194875689,113700383,-389973563,842780249,-947042135,607949687,1842770062,-1775927624,1318247051,-1549788326,-611341357,-1851753124,1343700854,316284121,1159062518,-982447638,-91170393,-1170356293,-971979689,321187288,-1675675879,-824363660,1096591285,1731019579,1903495573,54940436,322382466,-1429434660,1998115003,-16972809,-1094725499,1811809891,-1242625699,-1240767996,2107076453,1947759673,-1059963319,1427253143,-868729327,-2064313267,1663729176,-1970135566,442362413,1992388893,-243635281,486084239,-1627369880,1120771094,192148857,-1926645334,-540290182,-1552301974,-1709538181,1532359463,-1511498248,1299258096,1150682282,782915063,1239131187,-1407881189,-1784105059,-403679779,-506804119,-1037590849,-630822801,-1259554370,-1499928758,-891389642,546753408,1002581684,-2072324480,-1230597863,1340222766,-1676419572,-363741452,701140362,-950672205,-1039077212,-717536364,1545860012,924559054,817504115,934657990,-610236319,1959949957,721644029,31501434,613338833,537467861,-39272866,-1654725038,1672948734,292056134,2038295785,434210386,1962607824,625568560,1426952782,-2057889687,18386594,-896385406,-566839903,-1872730507,-20107364,-373571753,1330394951,171274548,-618064135,-550463707,1279184327,-1546606788,-47132720,-572435356,-1322356342,607777327,267652735,1585740901,-789068067,-963501541,774020071,441181170,1242460439,874741537,410199364,-934778165,179851290,547861609,-1301211500,-999884111,478830260,1887934133,1600385018,-85997503,956026296,1501054424,-1695365366,-559546074,1618063782,3771422,678277696,1340576532,-442921043,2007616216,-1193577840,404881503,-1387972808,-1445475468,145784733,-1375360635,1513796493,-1082994351,250276605,-1718847382,667213390,-1601932467,-1933650711,1677559732,-580349444,-1492371301,1652171228,-317128689,2116509310,492538124,-2031730057,532519461,1752985015,400062810,481851922,1161994646,-1655723821,-1651617387,1590553994,-27281053,460684104,-1698306335,-876333776,-1543207518,-1686159370,-888664144,734364407,-1269844750,409971977,-634296802,-1762562885,-1434857996,-899818713,-1370409298,-1157734930,1922778587,-1996358309,1397847070,-1290740445,-241129531,-1280229445,-553027556,-603185224,-1206271617,-1055545569,-835534100,52037507,-280409409,-2005184684,-770844464,-1486337091,-1068651240,-1892730239,-619035820,1667686119,-1068971489,1555099268,1845124718,-1286697440,-237782458,-653481507,666636783,-395212328,-1200689915,-2055917440,-1032480484,2067759933,877450531,-1962452548,-706479783,-2094647498,1618609446,-465005192,215167857,-1003404817,-1043861109,1471749941,51003983,1716717711,-1055188649,-216322889,-811647158,1753704786,2044374844,-1658597211,211370524,-1016376930,913495103,2111458403,-1476257350,1971718635,1810007326,-573839622,1011945414,-1332964470,-1622013192,-1248587928,-2004382401,-108193766,-1010769487,125323859,-115733063,1461833499,42889982,1075261629,-118928945,-36369858,236113755,427373461,-1372023277,-1424220398,589206139,-1251624466,-520929345,916031435,1595062393,-547851066,-1586089746,1805610898,1413549732,1745855348,1366709688,-1844133026,868171647,-1498353393,-1008588444,1032235323,-504483188,2141958879,1350877920,1889805877,-2147156981,1125765328,-198326461,-1341144097,-684083066,606361602,-691597352,148170553,625091882,-1424829560,784909008,-1182929059,-31478333,-436074405,2016644743,930159182,-764316204,-568757148,-946112199,-263565726,-1292480864,1727859027,624608322,1589734056,-24613017,464210638,1111957136,572649215,-1390119657,836715246,1653186370,417719384,-2067624258,1519040940,-951780601,2068067924,-91808533,-793106746,-349492772,1142833048,1019021114,903678813,-385862558,-1419036712,-2040230149); +/*FRC*/Random.twister.import_mti(186); void (makeScript(14)); +/*FRC*/count=570; tryItOut("g0[\"fromCharCode\"] = e0;"); +/*FRC*/Random.twister.import_mti(202); void (makeScript(14)); +/*FRC*/count=571; tryItOut("\"use strict\"; e1.add(a = x);"); +/*FRC*/Random.twister.import_mti(242); void (makeScript(14)); +/*FRC*/count=572; tryItOut("m0.has(i1);"); +/*FRC*/Random.twister.import_mti(255); void (makeScript(14)); +/*FRC*/count=573; tryItOut("\"use strict\"; h1.fix = (function() { o2.t0 + s1; return v1; });"); +/*FRC*/Random.twister.import_mti(280); void (makeScript(14)); +/*FRC*/count=574; tryItOut("m0.set(g2, g0.a1);"); +/*FRC*/Random.twister.import_mti(300); void (makeScript(14)); +/*FRC*/count=575; tryItOut("mathy4 = (function(x, y) { return ( ~ ((( + Math.fround(( + Math.imul((y >>> 0), (mathy3(Math.fround(( - (x | 0))), Math.fround((( + x) && y))) >>> 0))))) | 0) , (mathy0(y, (y | 0)) | 0))); }); "); +/*FRC*/Random.twister.import_mti(427); void (makeScript(14)); +/*FRC*/count=576; tryItOut("\"use asm\"; mathy3 = (function(x, y) { \"use strict\"; return (((Math.imul(((((Math.fround((x > x)) | 0) >>> (Math.fround(( ! Math.fround(( + Math.log10(( + y)))))) | 0)) | 0) >>> 0), (( + Math.pow(Math.imul(x, x), ((Math.pow(( + x), ((( ~ (x | 0)) | 0) >>> 0)) >>> 0) | 0))) >>> 0)) >>> 0) , Math.fround(Math.pow(Math.fround(Math.log10(Math.cos((Math.atanh(y) >>> 0)))), Math.fround(( + ( ! Math.imul(( + Math.hypot(( + y), ( + y))), ( + ( ~ Math.fround(x)))))))))) >>> 0); }); testMathyFunction(mathy3, [0x100000001, 0, -0, -0x07fffffff, 0x080000000, Math.PI, 0x07fffffff, Number.MAX_VALUE, 42, 0x100000001, Number.MIN_VALUE, 0x0ffffffff, -1/0, 0x080000001, 0/0, -0x080000001, -Number.MAX_VALUE, -0x080000000, -0x100000000, -Number.MIN_VALUE, 1, 0x100000000, -0x0ffffffff, 1/0]); "); +/*FRC*/Random.twister.import_mta(1704331085,1667888329,1348997415,510018649,-1831616706,-910894575,1207998334,1458326128,-1620266054,-2024912904,-280842310,-305740038,-1557214379,755185668,837017730,-666044450,-1034540589,232222522,1430035816,11045564,-80799416,1398913942,-1193564263,-1976203824,1177228538,342440855,76912167,1214629671,-959640974,-1703972256,-1647690390,383116547,-1798769218,-586165288,-1939446118,1555640119,-403353256,711665493,1055520436,-1139539450,915552442,349976687,-1148127426,381051731,-1852363277,-383337681,936512503,1084864241,-337054878,-188868510,1101727553,-273305121,-1589391196,1308704521,1333778029,-759972571,-1238334929,392131003,-1534970640,-1055819825,714192649,-1339254648,1810029870,-951706756,-906387960,2146014422,-1870409689,-43455712,1635293095,-504398382,615622001,1479395719,-614901111,-207747275,-416989903,302567368,243254744,1565549716,1228594463,1344192960,-429804486,-457126762,26023212,-1970514261,-940787966,-286548660,460939737,2009106183,-2041827547,1767143616,-1667920988,436876835,-862465919,-1178463088,642629142,-1469153698,1827530406,-480219816,1473178262,-152278468,1684611756,1385548074,-709003363,-17644519,-1743628642,-1596335889,-786642865,628194758,-724543498,705959778,-60733561,-356890789,-1555235248,87095577,-838860481,104098307,1166988247,187161097,1664711988,1417473317,555593517,-1732664091,717177715,-420195636,1403523500,-1050716788,-802874153,-112517047,-1248675871,-1384473923,-119446955,38033695,1849983072,1571802939,-484686958,86217822,1852042019,-659065043,-1167452810,544816819,1509859657,1361144753,1704829915,-899404063,47763743,650794054,300513186,954403150,-82682266,1460124465,485039073,-1645343246,1303305166,17907678,-462307235,986110884,1762850093,-1650150024,644670715,-485354632,-155302507,1878557174,546474902,-65935305,1649619595,344386157,88196113,1140068437,1048674743,-1222727154,745509610,1761167845,-1672157016,271619735,1375344148,-795112561,1152534112,556282850,-1038727299,-1468193313,1012166472,537961456,-509144005,1541502365,293689925,-1673966751,1087499232,-215227995,-1456931277,-613070965,-409946488,-1493924775,1227622703,-493805703,727223978,1941728377,-770934867,-1474305385,316453040,-22892161,-348994293,1585994865,-523364649,-229806330,-580224688,293099007,1332802056,-1095028264,750850945,-776173693,244647892,-1878810947,470127783,-106831046,-939602526,1142750626,-398907688,-1835079208,196276581,-2085475594,1591486106,-2024747570,1050501965,168265508,-1353302353,1802295808,-1317062573,-207716505,1412607886,-745503653,-1694484510,-1073537769,-1032453118,1507857053,1252534465,976372534,1594789873,-49174112,-687577786,1616594756,-1400341525,911296336,-1372439036,-638395665,-556608314,1920596899,2050612415,379319359,-1792932481,-222377253,-1648146399,1312912195,-8889501,195816533,-1443880456,827541308,-1273722220,912533112,-1601147365,1349567464,2018577457,1018757677,-896516509,724743468,1428823099,447263510,-261245734,1347330908,-602015006,-1301285322,-155753216,427526829,-108263625,-340174847,941445496,461286043,-1473630525,-1017141837,-2122218935,-714790390,1106737971,-59258953,-221115278,1645863333,-24419,218551629,1021396079,327882436,1301799882,19807163,450244360,906924955,-1804385217,-1574819492,1582394516,-1156362121,1283944943,-458952062,-488383220,273654765,-982171790,-331906451,-330755502,531613813,-1449197150,32170929,940924539,1979976329,-968213139,590713305,1858898599,66774016,350965688,1391138613,-523785132,-517818977,-1863148603,906730214,-1145568714,-852166389,-1336311343,858519928,1256892124,-895756414,624375237,-1153869448,1964203597,1064080302,-1252602297,1991900510,1200843746,1804858762,533559096,175043254,1424245450,-778479345,-30256469,1577668566,1259323987,1949878728,179363373,-1352216780,-1702551456,1125781250,1690448820,847617281,-2139545657,-708843935,-1974629863,1275579915,-994094951,-571110520,2092578634,1596396549,714591064,1600269776,1150766678,16391637,-159392265,875748543,249805982,-2039251191,1432940958,1937964153,-628482963,2016537893,1200105508,1475825231,604615883,830006558,1892052071,1674619213,1280832908,2146995828,594467369,2051531008,1289577682,-1473122546,2123335279,-1054351377,31549923,1866340330,-1278548335,1472637442,-754203055,1471639812,-341432997,1393034046,1661485791,451873278,-290103889,1221983148,-1893345658,1171096384,1723666196,-929928264,1713777131,1393100068,-2060704111,1660568532,355085837,-446288457,638283970,-1146777508,817913980,-1131536235,-963801107,1690523533,-351999432,2136318939,-307496080,-1594750476,1719200435,-1899489588,-32632740,354907751,1483491524,-341236694,467141091,208675106,1808430482,845153760,-2004377090,-1672914697,156539154,1030571853,1522918784,-1219550249,1916042909,-306743982,-1658949739,-1387093629,291804144,1531325224,-1723271086,-2029689720,-1435999505,318291612,1159343693,178720571,-1387657600,447627955,-904488513,472698817,338637231,-707840828,-1888217405,222185917,236602551,-506807834,2079933694,-2115865007,-1578994030,-1069406019,1545228223,723583153,-583188259,24880646,383082714,1866498566,1376529968,1156847048,412292093,-928912569,719204789,-1201499261,-964941014,-516766129,-1573190401,-875551588,-1947166658,-1821553859,402521211,-1227641573,213659206,1075667748,-542737964,1337151139,461215161,56493615,1552119554,-191951089,-787065586,698139878,1607244919,537964629,-1314381611,-1199496397,1396555299,-1533660737,-298392244,-1398243477,2108805728,686294980,-18696484,-1742709432,-613868962,1007415297,2036161569,655567528,-2043381333,-794390828,-1571651765,-965584511,-173897084,-1742289575,-1383270615,-1267097854,916553631,-957691746,-1490671624,-1119536931,1815878083,-663341778,-1868182390,1209290516,-220760120,1531262099,1177784584,-1504244093,2101542971,-448693060,1123555437,-1101836630,2083087226,1220733332,-1446338663,636492278,-1946673720,-1744132357,591568875,1040603439,1202078399,429979316,-1271541687,1638902659,926194948,-1928905075,906733199,974044357,214143190,-125704815,-1366576925,-902259599,-348066650,-948007365,903624972,1793922087,-1766961285,-1200426610,-874713347,-1674306236,507858240,200923986,-512932644,551741266,-122878328,303916139,-1558967192,92253135,-484450890,-1767886352,1729672684,-778147640,246568865,1052800410,1578651290,1052184471,-2015500824,-1819328049,-2083708830,-292357140,1400146355,1202912133,-448200921,1821434793,1682288507,1709568860,1157580114,490135330,-63355013,-342320536,889123219,377840215,731486777,723328692,647220778,459986266,-787014047,-790710545,-1786406329,813934751,-1658807623,1546691843,2127557797,1258622713,-876746403,149113686,984321565,-1507737094,1835396181,202272637,-603232660,17351093,-1995284410,-157826609,1321031099,1494141076,1585109067,-1078455107,1437068637,-1102144889,-316818344,-1778106767,-146588268,190140860,1870306576,-1933950365,1451980849,214164471,1900910961,856200440,313039898,-1914332526); +/*FRC*/Random.twister.import_mti(107); void (makeScript(14)); +/*FRC*/count=577; tryItOut("\"use asm\"; /*RXUB*/var r = new RegExp(\"(\\\\D)+|\\\\2+\", \"g\"); var s = \"\\u728d\\u728d\\u728d\\u728d\"; print(uneval(s.match(r))); "); +/*FRC*/Random.twister.import_mti(312); void (makeScript(14)); +/*FRC*/count=578; tryItOut("v0 = t0.length"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=579; tryItOut("var r0 = 8 * 0; x = x - x; var r1 = x ^ x; var r2 = r0 ^ 3; x = r1 / 5; r0 = x & x; var r3 = r2 ^ r1; var r4 = r2 % r3; r0 = r2 * 6; var r5 = r3 + 9; print(r1); r4 = 6 | r4; var r6 = r1 ^ r4; r0 = r2 | r0; var r7 = x % r2; var r8 = 4 % r4; var r9 = r5 & r6; r7 = r7 * r8; r0 = r8 + 5; r2 = r0 / 0; var r10 = r3 ^ 6; var r11 = 9 - r0; r5 = r3 - r6; var r12 = x + r2; var r13 = r3 + r1; var r14 = r10 - r0; var r15 = 9 - 9; var r16 = 4 & 7; var r17 = 5 | r13; r11 = r15 & 6; r2 = r15 % 2; var r18 = 8 / x; var r19 = 7 - r11; var r20 = 7 * r15; var r21 = 3 / r17; var r22 = 8 & 8; var r23 = r5 + 0; var r24 = r14 * r6; var r25 = r3 + 6; var r26 = r14 * r13; var r27 = r16 ^ x; var r28 = r2 & r12; var r29 = r0 | r6; var r30 = r5 | 8; r9 = r9 / r6; var r31 = r30 + r27; var r32 = 4 ^ r1; r31 = 9 % r8; var r33 = r12 % r3; var r34 = r12 ^ r32; var r35 = r15 / 3; var r36 = r15 | r24; var r37 = r31 | 5; var r38 = r16 + 2; var r39 = r11 * r2; var r40 = r37 | 8; "); +/*FRC*/Random.twister.import_mta(-72003681,873504477,-188624601,474214802,414511200,1108032381,-1865173660,1064712609,-14089367,-1322461136,304100592,597376845,701775833,-178648271,-1932234213,-1638183291,-937189039,-728736024,359871289,1710998624,-2112226847,-1631755536,1231741898,148897775,-1587795724,331733554,561187771,707927083,1885011581,337705781,1697472905,2018509890,-2093966146,-617784104,1510377159,580795228,-1753544611,-2042887416,-1727044213,-249463118,-2120347020,1490179538,-655061427,1015619750,-147476485,150416539,-1519344538,568018974,-1349502731,1990796732,-1544806003,1589357797,532846269,-984735977,833820700,1676838746,317006015,1314608583,-761197687,293415814,426633794,1663307341,1289981880,921755956,989912995,-1982182607,-1240097065,-1016411463,-2003489430,221006157,1412207187,379525476,722966489,1634383481,-630641447,281157271,-1736728751,-1322651626,1746011076,-325671991,1037248744,1538989871,-1626301019,1064643715,-2080718423,94524733,-1955317830,-975029446,1421511733,-1075649273,1821149437,-327227716,-126403593,-1123009977,-1197522876,197599539,425210216,-1794784361,-1554618282,-1453487352,356586644,-896837840,-1050478469,-901950748,432198268,1406446515,-1798641822,-540368513,-852701464,179627061,1479281776,1728512183,494535885,422483896,1733803267,-671891209,1156409589,-1590070768,-81622695,2068910209,-837724610,-1973125010,-1792202779,345442541,-974203270,-1277024551,1543401041,-1075279787,-2022239211,1286774380,-36010586,-1126539784,802550201,315407906,2090308352,-375453711,-1393295875,-385819918,-1466203131,-2101117569,1017068426,-1647458371,-2043405462,-727234426,-337326158,-1501623502,-699852586,-691420267,905307004,-1566571485,1679430366,-260496740,-1191547295,1626127884,-1051234154,-1278966007,86737390,726894206,292286190,452629661,1709253776,-1285731933,-1568674037,188675116,99349529,-55515333,1768738877,-1996871771,625942685,137332719,-1815929926,-1980264004,1117764187,-1422906520,1607962356,825076355,1462166132,1565224006,-1582906983,980392159,1978507940,-316375152,-372320973,1844533894,2089586439,1419117667,-1239932326,-435857921,-542175826,1432065390,-786946135,747219497,2023655820,-1070998254,-1873465732,757993904,-1858607977,933342461,-312678759,657210119,-22030927,-1815857751,-553159047,64016637,-574950051,-72147096,508909913,1182423385,1195455185,167237201,-939018475,-1989107001,-2090277600,911772556,-599727018,-654233804,-548713827,731051513,176964807,1347165,-1894636412,-1865582264,163586149,-1165575,1186920952,-1826639636,1830950398,-1850992552,-2066715601,-1186870570,-448081978,2039476833,-1208778004,747573723,577706042,1235678286,-1885074208,2040661587,1404476655,-1499942157,-1368217447,-1681036007,1806340909,-1488270542,883168230,-1318621767,-138506592,293620609,2129311554,-1635518715,-151521647,132691354,-820470585,898308935,1922809781,1783675703,1326639113,-328341925,275277238,638626425,1551461649,-431609559,1996972490,619099807,-1956095357,-1590050842,-1727647972,-1349456123,31829705,-1548796723,-381922001,1392188607,-467455932,-109179686,-1251168884,579706699,-1911666758,2049200246,873019872,-432956421,1652378643,1222254117,-1946761385,-1273872338,-1848602690,1440291169,414752996,1067850663,-88366257,1099470908,-1258350554,-1473131165,-657760353,-650303331,1206637149,2011047234,1065234444,626883797,-944736179,162334816,-1904621680,-1404197392,-971158926,-1934352512,1758736657,-317711322,1318852178,-2013362559,-1826003172,830367785,1049124483,-1987090827,-1243648392,-1156062832,746311978,-2050264824,-454612876,1901103590,334244582,961760192,-460994821,-1645604054,780847858,-758441131,-2003210453,1087862703,-1226063137,-1763523736,-1311266401,-492089974,-743391,371485152,1457771240,-1095186937,1846459687,725440354,1706050526,-459055738,1562076243,-2127897852,245231650,706030899,-1233205386,1988915503,561187919,1645655653,-2004462738,306127853,1970263988,779763574,2054016297,-1145844257,91823108,1320520701,-1873174851,-1522748610,-708370343,1609423746,2144043896,681848822,-1996639879,371452879,1230424338,415122196,202415295,-1956671465,808479367,-1215082192,-2056145614,660577670,2085072127,-842058380,-1719448568,1593230621,-336973035,328945941,-1229392988,-2108333770,1239580084,1627548239,1467201017,1102754561,-668478968,-1247358439,1082670844,-1112519524,1937675522,-848448224,-1104491172,204337411,1867778554,41492314,-1638521189,1513248695,-1397550471,-816544585,564856189,140359725,-125128618,-788390526,9145708,215103125,754934445,256299594,-637219629,1541977776,-788102202,1081071544,193339042,-551868277,1032347260,-1766307199,1408372485,-920704396,899571219,-208066100,1619986299,100439943,716290744,1299952453,-652615710,-1810432381,-100528876,-711088098,-1340096636,-1069673383,-1518134733,515725856,-1524658432,142668140,-864997149,-1794589531,-703591684,317793648,100199197,-1954696327,1082886431,1937903852,355177861,-1781668256,-502851062,1615009878,236976139,1280598677,24473499,-734068871,-545056164,286766592,-1607981637,1950122522,1712831758,374325937,1781929069,-1708686594,489957599,860257438,-100918827,-299860053,1311748962,-1628072460,250944319,-1221713637,-184635086,1136895205,-56885427,814254458,1326014731,1718065721,-31097001,777183026,2012536435,-430809852,856034283,-1310680701,831453715,1362725800,1616044171,1648462994,-1622210990,-514250938,-1765528545,437294386,1050597700,-100919571,1701645998,-1850424061,-480736449,-1393622305,1829077289,1839980,-340117003,-172969037,-1253196796,-1502120846,-478101087,1817256934,1688368146,1285180384,1098025451,2117188686,-1859302480,2102207222,-658767020,-186711304,-1354792443,-70782293,-1139977094,-1608170749,1806662250,-664415061,1941466271,2126918528,2044855286,1357530785,1538014253,-1009772373,-1256017238,-1746480990,571669245,1063415645,-341993789,-1080070476,1761051159,1097499057,20711455,1247643486,1532298395,-1954166412,2034255442,246723928,180323272,-770727791,-507484292,-846311767,1847714719,-2001524322,-1359657040,-58376933,226527432,-1279351277,509584263,-499730044,2044694511,-1857593817,-1947763164,1224881760,-1792184052,1994019225,-1043108883,-764670637,-1664018953,-943994485,1160485382,-2040700751,-963399487,-1920914725,850218848,-293687787,-846000936,1735146547,-169287937,495118289,66216710,-1142826799,-71080117,1914127134,125430800,225641174,-86360821,-141011129,29691097,-775817143,-658015368,589995042,-41950490,-565858090,478725848,1477603200,-1255628210,-1569910938,997836489,1395545771,930525898,1493392794,1248023768,1820484717,621888859,964595350,-414973849,-1701006098,-638113916,-1685561028,2085581385,-1772150774,186214035,967307587,1663973421,-132457682,-555756151,1983449853,-1040629124,-974159837,-904429296,-1305361529,1612067086,-1212913738,1300565509,-515479293,-949089920,737973369,864628613,906420432,1874518907,148835272,-2000216578,-1986559020,-1820827411,-1659304643,-1659871618,1073240828,1136008651,-1511564172,-911848962,-981921171); +/*FRC*/Random.twister.import_mti(132); void (makeScript(14)); +/*FRC*/count=580; tryItOut("for (var v of v1) { try { i1 = new Iterator(g1.t0); } catch(e0) { } let v0 = new Number(e0); }"); +/*FRC*/Random.twister.import_mti(162); void (makeScript(14)); +/*FRC*/count=581; tryItOut("delete eval.x;"); +/*FRC*/Random.twister.import_mti(206); void (makeScript(14)); +/*FRC*/count=582; tryItOut("var ikcxpa, a, w, eval, a, \u3056, x;throw x;"); +/*FRC*/Random.twister.import_mti(296); void (makeScript(14)); +/*FRC*/count=583; tryItOut("/*bLoop*/for (let tpyolp = 0; tpyolp < 5; ++tpyolp) { if (tpyolp % 7 == 2) { h0.getPropertyDescriptor = (function() { s0 += this.s1; return t0; }); } else { Array.prototype.pop.apply(a1, []); } } "); +/*FRC*/Random.twister.import_mti(351); void (makeScript(14)); +/*FRC*/count=584; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return (Math.max(Math.fround((((Math.max(Math.fround((Math.fround(x) || Math.fround(y))), Math.fround((x > Math.fround(x)))) >>> 0) < (Math.fround((Math.fround((Math.log1p(Math.fround((Math.asinh((y >>> 0)) >>> 0))) >>> 0)) ** Math.fround(x))) >>> 0)) >>> 0)), mathy2(Math.asin(x), (Math.imul((mathy0(Math.cbrt(( ~ (x , x))), (Math.PI | 0)) | 0), (x | 0)) | 0))) | 0); }); testMathyFunction(mathy3, /*MARR*/[0x10000000, (1/0), 0x10000000, (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), 0x10000000, 0x10000000, 0x10000000, (1/0), (1/0), (1/0), 0x10000000, (1/0), 0x10000000, (1/0), 0x10000000, (1/0), (1/0), 0x10000000, 0x10000000, (1/0), (1/0), 0x10000000, 0x10000000, (1/0), (1/0), (1/0), 0x10000000, (1/0), 0x10000000, (1/0), 0x10000000, (1/0), (1/0), 0x10000000, (1/0), (1/0), (1/0), (1/0), (1/0), 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, (1/0), (1/0), 0x10000000, (1/0), (1/0), (1/0), (1/0), (1/0), (1/0), 0x10000000, 0x10000000, (1/0), (1/0), (1/0), (1/0), (1/0), 0x10000000, (1/0), (1/0), (1/0), 0x10000000, 0x10000000, (1/0), (1/0), (1/0), 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, (1/0), 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, (1/0), (1/0), 0x10000000, 0x10000000, (1/0), (1/0), (1/0), 0x10000000, 0x10000000, 0x10000000, (1/0), 0x10000000, (1/0), 0x10000000, (1/0), (1/0), 0x10000000, 0x10000000, (1/0), 0x10000000, (1/0), (1/0), 0x10000000, 0x10000000, (1/0), 0x10000000, 0x10000000, 0x10000000, 0x10000000, 0x10000000, (1/0), 0x10000000, 0x10000000, (1/0), (1/0), (1/0), 0x10000000, (1/0), 0x10000000, 0x10000000, 0x10000000, 0x10000000]); "); +/*FRC*/Random.twister.import_mta(-883079268,1541597210,-1625037493,215086428,-1260446732,613857311,-906658235,2090401208,58645160,-1743349314,-928319295,-2040221295,2092867020,-487925842,1084054812,-1360302222,-1554578176,-433096880,-1050358788,-125088940,1252140799,1308937053,-803406739,-910701672,-571206758,1941125142,1502353108,289042533,1395054876,236788264,580212737,-1534607009,1695964928,947569503,-2075680501,1151680013,1374627060,-797447929,-202568672,4489253,535509509,-1604754820,-880183757,1083538728,-1120911676,480750136,481937050,-1883913410,-1351979609,1467857477,-415051603,918675002,-812434098,1053700352,666272028,-95669011,604149954,-1385423420,2079910237,-179639052,1186646098,1751020734,-2054298258,-1971469263,717993052,922537606,-1149341338,-1194235400,-283763453,-65562371,1831343755,1923482724,-2014366511,-1010239296,926671504,-1506577252,-378248824,1166539761,-25531757,1052472575,-694897702,164624479,669712856,238156820,-1043787917,992264857,-1693643920,-1774651285,390924127,202801054,-1697615487,-2009682931,-946028912,-1208641065,693867509,-1176394576,905782630,-1305741942,956294754,771948120,1776279672,-1194638071,456070460,-573824370,-844118032,-757501723,36889240,-911612559,664088686,-1877257662,179204999,-65353517,-722296969,-652541247,-868785372,-2103703725,1081540521,-1086994338,661659700,-1842734667,-757821291,-242427440,-333358092,-915735042,2137443591,-1677720096,-946440892,-611372342,738510952,1706575432,-706156664,-1214116271,131263049,888425032,2143851446,783362397,-1190255664,-1553690302,1356474366,-256189835,1802202650,1318749565,-638778800,1806550110,-1324794851,318440324,1663766322,-786591846,-1051032402,-417302429,1323745495,78048258,-1575333291,-1132810820,122763984,129915633,-1812683890,-836352074,435474506,6151464,1859697179,94653314,586368549,1846907948,-1160633197,-296961081,647265244,812402650,-284676042,244867533,1233701384,43864313,-503299341,1848560547,1348443607,-212596158,227486209,1956918005,444255334,645797770,1853902920,1489467400,-728391131,-1674104427,-529669051,746234855,-1291237446,632607247,103788250,-1802115504,-164435107,-620018527,-1165469081,-1847742278,-853579292,-304336675,1418151595,-1530944256,-214344673,-982425046,686846245,676650602,-1361456548,1982629901,-1204416617,473275747,134504436,-625076039,709311553,-259103408,1022789823,-2032502000,1892733375,497638830,1518761802,-1726482710,-1004617237,344559426,278230053,-1796115793,-713049703,1090059923,-1727532705,552165687,-1402436606,-1086897407,-844161471,272482644,121769329,-309951832,-383861581,-1356408190,-338067411,-658312616,1481344927,78437592,2110728776,2021197417,203446327,-1299220129,906285565,-1405049771,-1118958869,-117109517,1737781587,-1162113876,692313675,1977056606,-666009600,846182394,-1975283371,1668345126,-1333918358,-104236591,-1122329311,-307814969,-1591518758,1788963546,780608700,-769500841,-1840158956,-3927570,-807479907,-850151062,-2132068620,-1083302994,-830191752,-971940418,679890117,639626363,-1327479896,-1893619994,1612229717,1175425116,1207680068,-1469231494,711955070,-45724579,-1663982824,665136024,-2085908787,-1153084824,-1606085382,1827331869,1585979819,2007284015,1938903544,-487610070,144324768,-1611503235,1198363231,-542725300,-1016403433,1099114647,-2093057191,-257358587,2008127048,-671573390,913342548,-2133600487,-1779553736,1412777897,-529958052,68602335,1930425826,-1724620358,-1538488480,-1627389868,-931627884,-1582850490,-1812004879,-1691961265,1722757713,-852433947,-1797439249,1698599781,1958624109,-1826200334,-1801516563,1826024754,-117403582,2115958412,160209349,-390520276,1263074946,-1165838382,1702076396,-1472428952,-912333876,-35786253,-1763830146,-421646716,1418568505,-331543340,-600355136,357372289,-1572143999,-47484559,-57694895,-1816369306,1427711111,-687341409,1624411931,-909653679,389424051,590547331,1111308444,-396133553,-424556949,1209994687,1304144846,1037714181,575828161,1454508741,-1995347115,-537925477,172927881,-368237004,-1544545878,-1700494806,-420671632,1533278015,586025175,638508368,1069803926,-1848991134,-344755475,701740163,490032062,2126931184,1296719588,-37184999,-460795435,-808016281,30971855,-637076100,-1509242632,706215437,-1389401606,279656566,95372515,725799892,-999980254,-206521104,-788635144,1615567563,652937144,835574965,-625343524,358171352,1864964993,754026241,442310851,-1446690241,-825313954,651493975,-1816261372,1976406563,1780244024,-1572502459,-246456266,-550986658,-185113753,-1182401353,424700333,855215493,1179253846,1799577369,-297640814,-1974366949,241411082,278680344,150288093,1892604012,477644521,-278880840,258153804,-479578623,1690185180,-1778076266,1121877796,-1340182674,-2028804910,210278761,1571299315,955277785,-1976578246,981448357,1813292764,300546802,-1516214656,-750908695,1431113691,-1812948315,1174958554,-754300911,-917541594,-1351880030,-1942190048,30629050,1837683077,-998163568,641038207,1571604217,-1482801119,2136275211,-595940945,1549999003,988200862,-1442041896,-1295634256,8077035,-1306230146,440253169,161414939,-1565216444,60689826,-1911986942,-1604579208,900447597,1516065290,573890310,-62538123,-628464335,540885716,-1297328019,414450844,-1877025143,-76952628,532469005,-903077263,-1491090311,994275506,-393473123,1565243530,1902919834,55538099,-2048650628,333217413,1645519802,-1262406840,-1571425917,1213310574,-745152883,-76302204,-970731012,492660967,2111510367,-3532712,1661696440,780357740,-632428298,-329932393,642553719,-1338389427,450328268,5425547,156350338,-1338410815,1754139021,950599975,1806024174,-771567866,-453450845,430769623,-1026094811,-289457466,-159632392,243206370,1083282026,1401538269,1652105296,-958846304,-951058639,1510938016,1376477685,-738131668,-1888722946,1495215165,1873580457,508338125,1850542733,1226110210,-299425128,-220833315,-2100120890,-2062470237,-380761839,1399790853,-449398088,-1273386680,66045532,1727788593,1247069808,-1688628069,-1627201716,1189982228,-717309035,468802457,-1333243059,-64241881,1899640775,-191525719,827163775,-140017726,-1643531925,-1900841695,1088525675,-1910488838,-554916895,309098038,702362497,547665749,-1624049837,2012520922,-1865923460,1407850022,-266891246,207650882,-143557479,1005899747,-573669565,-1850389194,1185153019,-2078224130,-13413543,-1794775539,-243496227,902601699,-1187464792,2016380330,2069208591,1923499922,2088946159,-2025741532,-1460296441,1679178367,1462762217,1827456182,-421125254,-433221297,-1834339792,-210876842,796852709,1162126557,678431704,-2045000351,1279770524,372092232,1310038805,1808461262,-655564691,-1696255385,938963323,-1408697091,-1247090825,1120602471,-1154677505,534556600,-999001877,875157161,1691572039,437693536,-704524161,835571158,1390763559,-1191134168,1712865315,-407623369,1151968319,-390869864,2116788378,1680088879,579373383,1963335007,168723317,-1025675111,564212926,1930275455,-1567711495,-1154028539,-1440902751,-580830274,-166678838); +/*FRC*/Random.twister.import_mti(228); void (makeScript(14)); +/*FRC*/count=585; tryItOut("print(x);\nv0 = -Infinity;\n"); +/*FRC*/Random.twister.import_mti(261); void (makeScript(14)); +/*FRC*/count=586; tryItOut(" for each(var y in Math.trunc(x)) print(y);"); +/*FRC*/Random.twister.import_mti(330); void (makeScript(14)); +/*FRC*/count=587; tryItOut("/*tLoop*/for (let c of /*MARR*/[true, ({}), new Boolean(true), new Boolean(true), (-1/0), new Boolean(true), new Boolean(true), new Boolean(true), (-1/0), new Boolean(true), (-1/0), true, ({}), new Boolean(true), (-1/0), ({}), ({}), ({})]) { /*tLoop*/for (let x of /*MARR*/[new Boolean(false), function(){}, /x/ , undefined, new Number(1), undefined, undefined, undefined, /x/ , /x/ , new Number(1), function(){}, function(){}, /x/ , function(){}, function(){}, new Number(1), new Number(1), function(){}, undefined, function(){}, new Boolean(false), function(){}, new Boolean(false), undefined, new Number(1), /x/ , new Boolean(false), function(){}, /x/ , new Number(1), new Boolean(false), new Number(1), new Boolean(false), new Boolean(false), new Boolean(false), function(){}, function(){}, undefined, undefined, function(){}, new Number(1), new Boolean(false), new Number(1), new Number(1), function(){}, new Number(1), undefined, new Boolean(false), new Boolean(false), /x/ , undefined, new Boolean(false), function(){}, /x/ , new Number(1), function(){}, new Boolean(false), new Boolean(false), new Boolean(false), undefined, new Number(1), new Boolean(false), /x/ , undefined, /x/ , undefined, undefined, new Boolean(false), function(){}, function(){}, function(){}, new Number(1), new Boolean(false), new Boolean(false), new Number(1), new Number(1), new Boolean(false), new Boolean(false), new Boolean(false), /x/ , function(){}, /x/ , /x/ , function(){}, undefined, new Number(1), new Number(1), new Boolean(false), function(){}, new Number(1), undefined, new Boolean(false), /x/ , new Boolean(false), /x/ , new Number(1), function(){}, function(){}, /x/ , new Number(1), function(){}, undefined, new Boolean(false), new Number(1), /x/ , new Number(1), new Number(1), new Boolean(false), undefined, new Number(1), function(){}, new Boolean(false), function(){}, /x/ , new Boolean(false), /x/ , new Number(1), undefined, new Number(1), undefined, function(){}, function(){}, /x/ , new Boolean(false), new Boolean(false), undefined, new Number(1), new Boolean(false), function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, /x/ , /x/ , function(){}, function(){}, /x/ , new Number(1), new Number(1), new Boolean(false), /x/ , new Boolean(false), new Number(1), function(){}, new Number(1), new Number(1), function(){}, new Number(1), new Number(1), /x/ , new Number(1), new Boolean(false), new Number(1)]) { s0 + p1; } }"); +/*FRC*/Random.twister.import_mta(406644270,-58385342,-466780437,-350163508,342585486,1225092250,-943095189,418317561,1056096602,-1156304663,-1317423346,-1877142924,-1155209524,1848445572,132768929,1499378781,64578500,2093622039,-1826277358,-214253844,1566630768,-709303499,-220245926,740587241,-909642907,-1412108360,-1659039356,1950053245,1073671373,40752101,-1321933099,513771868,-1797510270,1049298650,677651760,2109382049,583261945,1073674186,169916636,1605517563,-1085848676,1894810598,1637474862,1930481383,-1965887860,678007858,1517692774,1763952173,-1914530570,1993568550,117699718,489627961,-177522856,-1591906242,-1537895358,-534393313,210482195,-311805078,-1743665346,1623419275,-1171890339,-1566907697,-375525462,255363108,961198149,-503675194,-2031955507,-826344310,1437541580,-148324602,-1454515013,1637278075,2119739757,-1850617031,-1274642889,1341735030,323444410,-75612900,-1220982214,671426654,1477140108,2752105,1695309232,221053998,1724850192,1171727318,25236071,702385140,-1071059405,-1992433416,-1597443706,-1677441264,-1577515636,-484038327,-960677202,-1230294236,1062825394,-330940548,232131040,884816311,-1942182439,-38866337,1181227210,1585373919,-1681803965,-1826898358,1495572932,1248304608,-891641852,853586906,1366943566,-49350778,-1256938539,898791247,-1170238682,1072358827,-657122530,162989498,-1038688784,610531769,-139840746,789545415,186249046,-118011503,1615661181,719310752,-2082423811,-1529594391,-1341222430,-1343930265,731365094,-1987127042,-11755620,-1946296173,-1916804563,2055006169,468094673,-214661276,1045889705,861407001,1803241972,923261617,-983649950,2108133878,944223749,-989852880,432227250,-1760936555,1955675525,1892197781,1119019882,103143695,-2133723841,1371859806,-1291145690,694085266,-132000632,990824959,-1863931160,-40961036,-221923885,-2079222897,-1065634161,-1080726155,870355583,-1023446824,1586879510,-1281046299,561501024,-1312718071,1765446270,-1648096699,1462201510,-922158178,1124047662,-1385602483,-539467702,-1971534569,-1144344894,1398149723,2068596461,-542202501,838142831,252957618,1570755356,-353704565,-458368963,1179874224,574290160,1678376976,-1194676973,-765382492,117130056,222648636,923420892,1773019629,631809019,1285349933,-686664094,-1883537110,-1358468150,145770134,644514866,-1321573955,-1279186647,504660890,1649831164,-35200215,1789029519,2121484456,1702198699,114618679,1249708776,-974063811,1923111919,-1625043195,1758220006,-465299566,-1719760131,829037706,-657065176,-427367921,1811062461,-1392333308,1821278462,582878273,-1106358688,-2104143799,-901358314,162173037,-1129086835,-124846009,627316150,853864827,448359061,1397886,505414402,778120138,273817092,2033073901,-519706511,-1069133557,-1126923525,-384046158,1637344577,1586259944,-909049789,1900422000,-1936770872,1861625903,1570504826,-772214320,1312351119,1519972299,-1679798975,1869561888,2000512648,-1502120821,-1366944472,-571172856,1097403949,-695992543,454246676,1656112515,1615460893,1835178848,1018883620,1913443617,-84425468,2045363194,880811412,1674971257,191781916,2039216452,2098553104,-657105463,-780605481,1231758602,1325249781,1840660705,-54535926,-193520065,257429838,-1161358311,1336989474,-1579585598,1370799390,-26524915,879453870,321099354,552328578,-1040745071,406037074,511007934,803393239,779612136,-590024129,-227173231,-117982680,883932273,1654898738,-2077047911,-1795517370,717268043,-136049215,-450950774,1736779892,1010262214,1358573898,-1241804137,-642324266,-1936717337,-95952133,-756612401,-1035308391,1669284698,-2136026495,1938802095,-361811575,-1652994643,-1675013617,1534314131,-2097700302,1526534899,-251173739,2138031638,547584899,-386673601,440973945,218567669,756151709,1754256384,-1526384608,926877348,-1714838017,1123511963,-713180227,-1237940935,-1261386699,1183875401,-2028025889,1398695028,-2113818148,172407320,-2128203356,-485998146,-1990527807,502948092,-771180601,767834801,2131941580,-395542334,-1735493091,509656712,1378580859,1814131961,-1696345219,2054140467,-992175637,-1942349788,2135206867,96491161,1769703793,67598874,-70134187,-756675840,-21402233,1709304875,140830921,-470049264,-632591323,-754225616,1004792028,-1071138678,-1173798101,664033785,-1127486900,1411733399,1315980596,453961617,1147503284,-1858572361,1351006442,-1872829324,-769412027,-2087507660,2086708593,-543640515,-826461469,1860668304,820321834,-1480150335,1326801176,972195513,2043083025,682153442,1378876103,1546960226,367950008,796974269,-1499679311,-1584620990,1755524297,175694915,168342282,-1729212183,-62200,1282238628,59691817,1992612202,123599422,-1058146131,-762476099,1939426198,1910717804,1703638614,-860378161,-896156675,-647796113,1737784538,357199499,1954757301,-1226646138,-1837884195,-907255266,-771378689,1267526311,-1727186780,4504559,884651890,1101911062,1081024027,-1897628137,22172689,1298888702,235264540,700887545,594229691,1178427242,-441330955,-407868683,-1196273521,687676582,-502538711,48683976,776695541,-967630440,-978934553,-209652253,848398053,1949794734,1973207489,-156735002,600408370,-1815148309,-1953932345,246293228,-325220175,995257902,139115699,603889400,-1114438288,-195504583,1312727656,-1371556061,1544035402,-399908490,-1666118249,378571602,13247260,597473617,1010195736,-205332743,-1485513722,1240466237,337653966,1812209937,-1921347609,-520970227,1415084587,-1833261099,-3629450,-542302279,176470730,-983131019,2032144772,2047976312,2123104769,-1492761603,206760226,1334882808,-1888773623,-1488166908,-1112622883,1063743047,1674973470,2101418043,-1248587477,-1902527392,-1909298096,1280911283,1410598547,866229447,78042595,-251129529,966928790,378034461,-1149215365,-734013686,-1080802561,-1946450895,1826374258,1534468229,1018378190,1315324712,510387768,1419098533,-714278077,1864992154,-1910678165,-1336186585,191411286,426016420,1018654222,-1289959950,595039014,-654309338,-1843593617,-1230397755,-822722334,1798784869,1569801734,-1070241102,-215919898,1941311328,864872768,107773826,222754245,232558750,492473783,863152627,1627915282,-1563348550,-1149407904,-1518096955,876493766,1677801415,-1690733966,-1391646788,-876504791,-686081044,2019397600,-369226400,1532570478,-526911999,1941811562,890035196,1797371324,-901784941,1643638542,-2133816870,-787283100,-1196547655,-680668222,1353161802,1733986284,-1490651912,1156594417,1338128544,-32083191,-1360738880,-1200287123,1145148822,-1963317933,-796392800,957028903,-1621395686,1231338135,-618688129,1922040421,1463134096,731667024,-1567210284,558445004,1851242463,1591331716,-367409174,1951563127,-1144902708,1553923990,-1317422349,799801273,269812578,1907729190,-1506005169,-267789147,1734716592,-1784333319,1748625050,-117460137,1799791606,-1224600293,-1784938215,-466809689,-463517605,1391467296,-250972321,-289986832,1784941943,1692360358,-280284103,2033781517,199220552,-538240255,1133987160,1994078832,1043796431,-1872004150,797527394,-1954109499,-168493386,393635022,1403028103,506563024); +/*FRC*/Random.twister.import_mti(129); void (makeScript(14)); +/*FRC*/count=588; tryItOut("mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var imul = stdlib.Math.imul;\n var ff = foreign.ff;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var i2 = 0;\n i0 = (i2);\n i2 = ((imul((0xc9740844), (i2))|0) >= (((-0x8000000))|0));\n return +((-3.094850098213451e+26));\n }\n return f; })(this, {ff: Math.log10}, new ArrayBuffer(4096)); testMathyFunction(mathy0, [true, [], '', null, 1, /0/, (new String('')), [0], ({valueOf:function(){return 0;}}), (new Number(0)), '0', objectEmulatingUndefined(), '/0/', (new Boolean(false)), false, (new Boolean(true)), ({valueOf:function(){return '0';}}), (function(){return 0;}), ({toString:function(){return '0';}}), NaN, (new Number(-0)), 0, '\\0', 0.1, undefined, -0]); "); +/*FRC*/Random.twister.import_mti(255); void (makeScript(14)); +/*FRC*/count=589; tryItOut("\"use asm\"; a2.__iterator__ = f1;"); +/*FRC*/Random.twister.import_mti(268); void (makeScript(14)); +/*FRC*/count=590; tryItOut("throw x;"); +/*FRC*/Random.twister.import_mti(291); void (makeScript(14)); +/*FRC*/count=591; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return (( + ((( ! (((Math.fround(-0x080000000) | Math.max(( + x), -0x100000000)) >>> 0) < Math.min(Math.pow(x, y), (y >>> 0)))) >>> 0) ? ( + Math.round((Math.atan2((( ~ ( + (x - 0x080000001))) | 0), ((Math.fround(-Number.MIN_VALUE) ? Math.fround(1) : Math.pow(x, 0x07fffffff)) | 0)) | 0))) : ( + Math.fround(Math.cos(( + ( ! (Math.trunc((Math.atan2(x, Math.atan2(Math.fround(x), Math.fround(x))) >>> 0)) >>> 0)))))))) - ((Math.hypot((Math.fround(1) | 0), (Math.acos(Math.sqrt(y)) | 0)) | 0) >> (Math.max((y | 0), (((((mathy0((0x07fffffff >>> 0), (Math.hypot(Number.MIN_VALUE, x) >>> 0)) >>> 0) >>> 0) >> (Math.log1p(0x0ffffffff) >>> 0)) >>> 0) | 0)) | 0))); }); testMathyFunction(mathy3, [Number.MAX_VALUE, 0x100000001, -Number.MAX_VALUE, -0x0ffffffff, -0x080000001, 0x080000001, 1/0, 0/0, Number.MIN_VALUE, -Number.MIN_VALUE, 0x100000001, 0, 1, 0x07fffffff, 0x0ffffffff, Math.PI, 0x080000000, 42, -0x100000000, -1/0, -0, 0x100000000, -0x080000000, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mta(1651913539,-17795310,1511041627,-324465162,-2062668785,-766550749,-553134368,359781287,476903490,-1488726385,73654686,1578934351,30563368,-1650345807,1967788636,-748603297,-722146622,2020712805,471214368,-1576543625,2034334392,-1609776574,-1467025551,-1465833498,560549225,-127118012,1902187964,1327211687,1245440210,-903993070,-700253174,170569262,1811887135,1436534414,-407183340,109912500,514666484,1216031632,-1194046786,912592951,1528002632,1995550333,1160840537,-489087565,-326722922,96866069,1335004640,68653491,1428346470,-976036901,1379501220,-919245233,1646214906,639454095,-1668901359,702874416,360488071,-540546188,1658871773,-1967800931,618154249,1335663099,1339488417,-1504480763,-1922152941,773918208,694279213,-991419067,1738294217,629653492,1970458101,-1330352325,-1860535713,-526961003,1540029731,-94277212,-1697922424,309110304,1076012257,1073843799,342278156,-764113195,1389295676,-1579337763,-584904803,1181034069,510295856,2088393651,1035919864,712367035,814621065,-134561477,-456569511,751709359,-734133349,-119482659,-1953650845,2039245495,-528466662,-497550840,1380702427,-307384315,939896288,-659468851,496622006,1597230117,563419923,-731561659,1624404091,1043638970,-2063128904,398276159,2085996935,-1763422814,-1440645000,1998368010,2020128019,1869426128,-716002757,1866506286,467897215,1789227569,728648060,1500863942,503796614,-2120445051,-136986587,-350515965,-309492790,-1932798123,-1763995120,-921710325,301990004,-1260386644,-1180203723,1422826757,-893709996,-1248510229,-1289201133,869391224,-1882347454,796117039,1669940556,-1235631570,1132986762,-298807197,703644533,1187218392,-1789732397,1163413106,19082794,879586812,-1557926778,-828478209,754121897,-705763548,-1613299890,-387669131,226151568,-714690102,-1339962204,856338699,-1489639061,1076391994,-261309688,-672870478,1471612783,1865210,-424479049,-742703673,-753234164,609324787,-627962170,-811923369,935924628,732800435,1456273159,-1922214463,-911694891,1005970611,-4499211,451781655,1964633020,2046447134,-2015258550,1237850133,1113622548,2135608231,1826409356,1869881788,493020453,-121664920,1513902856,-1426284899,-2106302576,-1681268160,-822910225,-1917516674,-1210835920,820386133,-771942222,2064426115,2037003094,-1414625347,-133671722,-1531496601,1138150892,134663875,1841938292,1522039125,1960177332,1331333123,-550529561,252946705,-274703280,2142894651,-305590072,-1776242439,778974261,308145243,2048965138,-1015500061,-1660423993,-2085372215,-1625172431,1286055351,-965504725,123018696,590188539,-582886718,166083850,-675535148,1379243329,1263784821,360413592,326957507,-1334623382,206237340,-75296794,-1470621489,1686773995,-1305943042,-1477653114,1027057853,1463259793,-1577707042,-626734129,2131158748,1316972170,-2042562740,-2141364466,-545420175,1277727358,-442924093,950797495,1906662294,1076700040,-2130577762,1691410986,-1841101866,-405370431,-1439481698,-1361136726,-1216257499,2127193632,-1500955220,-1771320712,1718131402,168120192,1601244051,1245358416,-382618472,956560311,1897413992,-1317695608,-1533668014,-1587066530,-330306047,1726414560,1547752063,-986811313,-617963850,-1383187997,1923413782,-819241835,171573586,747154628,2129525342,1175278294,1604523616,530611218,-1049127110,555458655,-1483207783,-741092687,-788624887,-977944221,151589089,1944781276,-1605658042,2072438662,297252608,906597214,942765239,1625498341,870330587,1578778164,1008457897,1367471937,1041599575,2124252145,956845631,-1239541779,-431491421,231078430,-1528743833,-893744717,-1666119278,542037810,869618817,-662732999,-716844414,211218299,705078774,104565180,1775841284,1327931592,-2040056520,1915128096,-1215961103,-319379507,253445542,78401399,-1267107533,739657431,-748413574,-64530183,1181217917,-302135740,-422438217,-11829352,-1423877994,843051014,2029759937,518589711,150429828,566071376,-1410375613,-1521492042,350692634,1833115047,-884416937,-827536191,1204341831,1141082016,2046089899,1760870035,767389242,-1894589159,-190126782,789093695,336785746,1456283656,1851476641,-588891285,1434213391,-668361294,318205177,512624423,-1750842495,-539200202,511309284,-836547546,-302198209,-1946083333,-1959318283,-1237164698,639306928,-1595756821,-2129580580,1594551291,1152491740,-574515938,1875875251,-1456654353,-364761353,1671584523,1316480266,1148810435,-1085839746,-893150843,-1746531452,1377123377,-228799688,340270859,1454226187,-39754890,-638733488,-1432792974,1356129473,-1621277322,-628083409,-1214683315,1405660802,403885418,-1235802799,1573081313,1735688638,563071138,1991710371,-1065090409,2008017995,805617118,2056328866,1301246092,-745558348,-1825157987,-388243251,-1955220475,-913189742,162902808,-1727712941,1274764529,-1442491424,2109697118,1260050876,1012958471,148370842,1632763706,1505548637,311539823,1718803202,2098638256,1701017107,251929549,-534620329,-771402409,1472938241,-460664410,905908290,-901631607,-1143025149,-676026896,-1397064404,403552092,222799097,-377090313,-1696042948,54051150,-1491324912,544567030,-1535778110,490956078,1453106561,-610729740,1685757581,1913105989,1414466077,1251067986,1137367613,1436176845,-161504677,1952688375,1046751268,1649336505,-812122275,2131242715,801269058,-1303514512,791290353,590120497,-136426190,-229869603,659847822,1964441275,-512375075,435486816,1764540375,744030651,-595758773,-1703031560,-831374412,887555827,-73998995,-40763812,1507341206,873312777,1834817760,-333827057,-1994986666,691806206,762074658,1633079581,1355861380,1468240453,-1381141694,-592202791,225867616,-1373076816,-970469199,-1038446850,833483060,1070452604,15462690,-1331758390,-190160207,-662156259,-1355702326,501747478,1903905572,80401967,2073623560,342071989,196840784,1909983554,-179355941,-333587682,1748287199,1601276240,-532765677,-500411982,-547230237,-828031730,-600071270,1488116082,1600849359,1884116398,-1176856517,1993119601,-627408845,385472436,1090099132,1248893352,666974596,635284489,1387776128,-1581365654,2020854718,-1364346821,917500875,-691800918,481125059,-111178025,24375182,-961670031,-1958282226,1045032376,-1896223513,699248329,1729852045,1445487110,851742476,74818995,-429528297,-4592243,1755374814,-2112537297,1356986971,2145432097,79956890,-588187519,-381032748,-1194134373,-1804298532,1976219531,-26280904,497202960,-659921976,220385741,1699582694,-1110862808,2093598660,-1803369742,1241092352,1851940239,-1428003781,-379729778,-641440313,721973178,-449437943,1376182639,1430824394,693125709,-958933597,47287288,-1172422932,395012902,854165721,2052951705,-679916114,-1601829470,-722683174,1839631772,1379875530,-201641356,1832702335,75394722,-1413446021,-1156670320,-1149231651,1869965421,1606922152,1613306489,1566919060,1331888416,24061339,-162873692,-1288675937,1994264463,1936506845,-1973706518,-1396516533,1556026280,40499623,1964668978,-1033220869,-1217209445,-1660469452,187558073,686769002,-1175979681,-1534005609,1505066979,1435683336); +/*FRC*/Random.twister.import_mti(128); void (makeScript(14)); +/*FRC*/count=592; tryItOut("var egvxev = new ArrayBuffer(0); var egvxev_0 = new Uint8Array(egvxev); egvxev_0[0] = 23; print( \"\" );"); +/*FRC*/Random.twister.import_mti(165); void (makeScript(14)); +/*FRC*/count=593; tryItOut("const v1 = evaluate(\"/* no regression tests found */\", ({ global: g1, fileName: 'evaluate.js', lineNumber: 42, newContext: false, isRunOnce: (x % 14 != 4), noScriptRval: x, catchTermination: true, saveFrameChain: false }));"); +/*FRC*/Random.twister.import_mti(203); void (makeScript(14)); +/*FRC*/count=594; tryItOut("v1 = a1.length;"); +/*FRC*/Random.twister.import_mti(216); void (makeScript(14)); +/*FRC*/count=595; tryItOut("\"use strict\"; t0 = new Uint16Array(4);"); +/*FRC*/Random.twister.import_mti(229); void (makeScript(14)); +/*FRC*/count=596; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Int16ArrayView = new stdlib.Int16Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = -295147905179352830000.0;\n return (((Int16ArrayView[((0xad55c1d0)) >> 1])))|0;\n }\n return f; })(this, {ff: new Function}, new ArrayBuffer(4096)); testMathyFunction(mathy1, [-0x100000000, Number.MIN_VALUE, 42, 0x07fffffff, 0x100000001, -Number.MAX_VALUE, -0x080000001, 0x080000001, 0x100000000, 0x0ffffffff, -0, -0x07fffffff, 0x100000001, -Number.MIN_VALUE, -0x080000000, 0, -1/0, 1/0, Number.MAX_VALUE, 0x080000000, 0/0, -0x0ffffffff, Math.PI, 1]); "); +/*FRC*/Random.twister.import_mti(313); void (makeScript(14)); +/*FRC*/count=597; tryItOut("\"use asm\"; let set, x = (--a) == z instanceof x | (4277), x;for (var v of p2) { try { m0.get(\"\\uEEBA\"); } catch(e0) { } try { e1.has(o1); } catch(e1) { } try { v0 = -0; } catch(e2) { } t1.set(a0, 2); }"); +/*FRC*/Random.twister.import_mti(489); void (makeScript(14)); +/*FRC*/count=598; tryItOut("v2 = evaluate(\"v0 = Object.prototype.isPrototypeOf.call(m1, t2);\", ({ global: g0, fileName: 'evaluate.js', lineNumber: 42, newContext: x ? intern(length) : (4277), isRunOnce: false, noScriptRval: false, catchTermination: false, saveFrameChain: false }));\nv1.__proto__ = b1;\n"); +/*FRC*/Random.twister.import_mti(591); void (makeScript(14)); +/*FRC*/count=599; tryItOut("v1 = r0.toString;"); +/*FRC*/Random.twister.import_mti(605); void (makeScript(14)); +/*FRC*/count=600; tryItOut("mathy1 = (function(x, y) { return Math.min(( ~ (Math.fround(( + Math.max(( + (y < x)), ( + Math.atan2(x, x))))) || Math.max(( + ((( + (Number.MAX_VALUE >>> 0)) >>> 0) < ((( + ( ~ Math.fround(y))) <= x) | 0))), ( + ((( + (x , y)) >>> 0) | (x >>> 0)))))), (Math.sign(Math.imul(Math.atan2(( + Math.max(0x100000000, (Math.fround((y | 0)) | 0))), (Math.max(y, Math.log1p(1/0)) | 0)), (( ~ (x >>> 0)) >>> 0))) >>> 0)); }); testMathyFunction(mathy1, [0x080000001, Number.MIN_VALUE, 1/0, -Number.MIN_VALUE, -0, 0x07fffffff, 0/0, -0x0ffffffff, -Number.MAX_VALUE, 0x0ffffffff, -0x080000000, -0x07fffffff, 0x080000000, -0x100000000, -1/0, 1, 0x100000000, -0x080000001, 0, 42, Math.PI, 0x100000001, 0x100000001, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mta(-426407719,1587131776,1719689786,1154671534,717171553,-669348803,-2139555954,371503435,1023311561,535994414,-781033146,560391862,-512787932,-1172239431,-954744645,1518258367,-1616808241,1132749852,1535439696,-275320383,-119701012,1178238818,-1648277663,-1073109645,-1523377167,860608047,343945580,1487050807,1846922549,1463941890,1304601229,-844704278,1936931354,558680165,624184280,1916811850,1096737755,325977746,572026771,-7542413,-172284192,1595597781,-1650774460,-1140753214,1614112086,-260185344,934872362,849140847,-1230603829,-2137338715,662337476,1916231219,756688136,-1220635359,-259562662,-1896506446,2038386747,870424517,-131534692,-1184679394,-360057281,-193854243,-907291680,-1977236965,-1588648613,-103025090,-2061989287,-2004323966,-581689177,-591791874,-1366236672,1674084224,-966194588,-675198849,-890309152,-1087793511,1851926942,-871425004,1484632361,331767910,-652326814,1161723301,1436244602,1843723241,877140033,1003633003,1554202731,-481390944,-706056556,-1253961198,-811022174,125182588,1182354910,-1708413204,-938177133,-1114066317,-1256306688,1740868808,-595161530,748613483,-1566040131,-232106944,1937229448,-1932107227,-2026067975,-1240468950,-1278090913,1509913128,-340772884,-636756159,2112336906,-1161143542,2047438325,1373246995,1485453,-1319145245,1007492024,-1032196992,-2098237748,2028252798,-999377128,1254534638,-863761680,-315623311,1185355006,742878659,817812932,779360407,-2147066182,991992998,1146470497,1070372683,-1058372763,-752704015,-1281988127,1865224450,-469559762,-448712225,190784828,-1504144821,-1228759178,-1620501859,763564764,-1224215441,-1296197075,883908530,571616866,1427097671,-370483401,1054374573,-1798350311,943478922,-1721961427,-1722176371,406060190,1268701716,186583666,-1190884411,1108589627,-637150339,-1871965695,-177015221,1691366279,-456743675,-2101640947,1241630707,-1803899871,-543458289,247190020,1949298838,327816302,543938222,-1685543406,-433250846,-266885694,653003182,-699954369,-1816216390,1846552253,1334367275,230295315,293902948,-640993274,1375087946,-1465640673,140510791,1618608303,884993598,-1918620110,-2144163477,246828525,390309661,1527755327,-507762070,-1727509510,-1814590412,350599413,-1475265428,-1404605174,746644219,1330537701,-2017753797,929033948,326189574,-1802206012,29523087,-1066492374,2038947482,-1254381074,-870299138,227912001,-1069451869,-1376920694,-1114927422,1242993801,1784388556,-797896444,-1155149065,1380715017,-1973254510,632542874,-593059835,-264360751,1870635672,1540066451,-477886551,372786412,1846280187,1882806497,577993919,1863119044,-626175714,1690031448,-1966781630,-2037219979,617078652,1507317600,-323754315,-331195890,170056334,-1556776378,-1797151112,-1645368258,758255448,1400858867,-1344395672,-1877638481,-538824023,1159333060,-571479834,918541204,-1020833074,-1735416047,-773946392,1617966588,1308843249,1472266317,1068159896,-997764095,-1718563291,1951754282,1918571021,-1333249145,1044107467,2791492,1764592303,-1934056426,-256278240,-374679869,-1199146260,-2003196274,-1514394542,-923664972,788775662,1624757958,-434774684,1874168698,1409878196,-987789357,-1769623568,-626271622,1061736308,-139993031,-941470034,1996267372,-294869250,-2045393103,-913350828,-610037779,-969150999,-1432483450,1758086571,1931428653,1979306974,2046788697,646344905,20299857,-1754963218,1944957603,-1146455641,-551906305,-773178289,976854045,-954529741,1291302054,2003873331,-1799144211,1758855965,-1019475119,-203609251,-395809751,-1236294808,-772181275,440515940,1748410956,700422802,-82143525,-1617976517,-2020329245,-212974947,-259438675,391596785,-1466179448,-1241281314,1395594442,-82452958,799897079,-608478419,1893734247,-1677449807,-883179274,476197021,893124204,2094166763,1884126357,212544335,540054944,1259951912,1353442958,95212089,72006232,1493783182,338302684,-1435423264,-972923710,-1842239772,-199512448,-1765189437,11878243,1663907068,1367549829,-1191591359,-693388481,314512916,-1954101987,762622252,771632059,-623632846,1167713770,241597733,-651436712,-1729037851,-1056439155,1400421188,385330951,659287013,1982567656,546122810,229870466,1114449991,-130347363,-1783874498,-614889870,-48623296,-1986203934,-1295257212,1842740469,498515379,2025115236,1875980559,-1157530397,919811601,-1519280110,-2038357670,1429023841,-1429593759,-46257672,727193791,-355383948,-1732685926,-1355439929,1924771786,1932501615,1196823419,1841631573,812344255,416885054,1187429463,-787934191,-1809447767,309180330,852731579,1325948655,-632361590,295542477,-1711718894,2083689716,494789442,-1277713942,1619102098,-1289131088,-1331279888,891850006,1186838761,494418276,1563932835,1834478034,-771479760,1938509140,534080435,1949696540,1711101277,-2032851516,1782189786,-1919135566,729784150,686495798,2145819512,846027082,-1491107276,541601671,-1440755172,-1434749095,1592016659,-794933778,1160885146,1053645217,1070645650,-1698759294,298087313,2037143324,567068273,1007068506,-1669870934,613331028,-7881299,-954810740,1680848445,-819415027,-1610310742,2101695481,359284228,1371727286,1005896854,-2059534238,-802013412,-1856222866,1245975789,1648397535,-679588511,685910704,1705712081,1005964142,-235399197,1383115204,181337532,499378223,-1173126274,1518077535,359882745,383592897,-1286478910,-59499729,865488173,1984979224,165709044,1886455762,-1180965994,1947294388,-709803667,-1226334670,-1559558566,-356482408,688521059,1397148243,1200176602,-1354874283,-615464206,919627686,-468306824,680393690,-1450622955,1095101549,1047649771,-428918655,519815152,-29540004,-1618090026,1604809941,-1443054901,2010462836,2133930360,-429906443,2012935711,-1219196621,810750210,-1055039467,-1805656591,133524198,1825192945,-97636182,-440016151,-340697002,-1090927728,1780510950,-1381146014,724107865,-2061054674,-1042438275,34171892,-2092853776,514661086,1218158852,1835838696,567824598,1271601268,1045398885,1031039128,1706019977,1900378055,-412630035,1775237234,1687171825,522541622,1099818845,-740087708,-1880830334,1714815211,1947265618,-90666832,-853558054,-846080520,1762028885,1095052348,-634593988,-659501505,1832518705,1029120022,-1110293656,-2087726709,-1352545448,-937593140,1362074486,-914803730,-1343542974,-387827409,1836869699,1839409465,503330128,-2109000973,141984129,-1255361017,1183932449,-1008894278,1949182260,511360262,704242653,-606903711,1806670845,181329096,-736768510,-868008517,-154309020,1512190104,447797761,1947982628,-1765296448,67571800,325745946,648051543,941311217,103175396,-1760040158,1821830727,-941948604,240930937,-1910896234,2098047691,-1286840526,-1857354148,957277737,1613031881,240416384,1339428306,-820251558,260881619,-830088283,-1514389291,1365541391,904626843,-755382636,545313537,-1669769906,1248099429,-2079744095,1133613366,-1354649825,1499909115,-1771185888,-1604554649,1240005920,997369269,855010669,-944564767,-1822061027,677419110,-700788736,1940644932,1724780159,-153817569,-1944660753,-1743315333,446826171,-1298440819); +/*FRC*/Random.twister.import_mti(324); void (makeScript(14)); +/*FRC*/count=601; tryItOut("/*RXUB*/var r = r1; var s = this.s1; print(s.match(r)); "); +/*FRC*/Random.twister.import_mta(696936087,-498522868,-1236306562,-1640328507,-2015997830,255075624,139724272,-1763045002,-1778356731,1418437719,1305382937,-2090853128,-1533428591,1235893042,1150391152,-1544517970,662670055,817512652,-202084196,288958756,-1323755391,-463249861,-421983787,-1079558341,-1521480043,-1936376462,-547098082,597559031,14639831,-1761412689,1496707469,1272235079,783374041,852626027,-1824534727,333231723,1465072730,1486537464,-469796868,1141951185,-917176153,-1804375392,1338297840,158786999,435304433,1742350287,472978498,-1495974802,650275616,-1800698514,-1002657285,-643454327,580084197,84337236,1376842717,-1267335820,-1156793429,-1188399060,-1937530349,2098201262,-1451907492,112551215,191110323,-515045182,424075982,-529449315,-1245958366,-1512961720,1687290307,1250662703,-872956738,2034795373,-409253095,1940542257,1976408145,-1958408224,361874215,-2090464941,242887,1560159203,1108110747,1591539593,2051771462,902505165,669690416,1570345586,414103603,968097049,489174227,-924178940,-1729375284,367837513,-385621234,-712045108,1850583539,466274413,1301289871,-936607838,-776177510,1986133597,-426193418,639408017,916404998,-1388062377,607570029,645948805,453332747,-2104716603,-1000452483,-1074873840,-1992626060,-470192957,-584089561,1663948083,1684204103,-1246237302,-1614465584,727172992,-773900963,152984021,-532309031,-408968699,-308926701,-535683185,-1853481760,1355074534,-480374660,568033163,375084583,-2056399478,-1147497502,-590201372,-2116250144,665077698,509178099,1452390886,-192056826,69367235,1506267550,-729448135,-1333117574,584147772,2014560856,222937363,-1748600287,2014280292,-221611840,2010186360,517227446,-27977246,1632177235,678726049,1445705490,-478661353,-304997434,1419779663,1291044563,1474971520,1558733902,-1136471652,-1911364925,-178217908,690016430,-802950696,1227154721,-710637842,890794082,863223862,611140941,540862954,-874084042,1718339828,2044219961,-1407312669,-1623901844,1155930916,335376069,-189761152,-891878930,152176022,214261098,1066393881,1314614770,-1253967711,-618731752,1042439082,1992890712,-1056369059,-682773485,1347002303,-274413158,130234098,-1584065687,1972028372,701444051,-584181211,1541313508,-1724366113,-1060864655,1881823496,1063858839,181106017,1012081560,-659323658,-110535271,-1135732133,916951848,-1634448554,629257673,1887685472,-531709451,-1063570203,-23480570,-1242888261,241133651,449766895,53038149,1665874886,760339247,-2065482931,-990903143,-2015778616,-2123677869,956015225,819834224,1371415757,479597231,-2002879944,1786260364,-2117530340,-1284752822,-175392042,173441161,-770339947,-997589304,-1158969931,-69539886,1005567262,-965643841,-1258094158,64677902,174540143,-177635070,-1748464063,659903480,586547476,-406814545,-745268509,-896226744,-1115234273,-1640720804,1881107906,-461734778,-1352931104,-1651042224,-1304997330,-1999138717,-494998702,-1642851446,1419502284,-1829293134,309551653,-708186415,1464234104,-184240272,-442292745,1011616321,612948761,-936355882,193470135,1537799070,2106247467,811321016,744161057,-1780493604,1360572061,-1095827148,2143017677,-1830322831,1338412248,1520600558,-255085794,-679159261,-1066208227,-1910756525,1451356500,433564932,1571606901,-56614140,1579882608,203463368,-1178471545,-628238478,273374673,798589427,-50310860,1094264920,722064688,-40562847,287224377,-2108162615,-1311119744,834681638,1944721780,567733909,-1821730194,-1315073358,-90515220,-1103441160,-1753806195,1861022585,-702635107,280579264,750119189,762064976,-1179791519,505759558,1110015842,-180137768,139456519,120330347,2046843319,1087049218,604475882,-173633357,526545598,-1028332780,132150938,-1323944554,1395841917,2054844870,1051408219,-2115900369,-1171570274,500283325,-733608787,-1704849020,-1586560205,2015868160,-552936181,1336507508,1853350185,-1601209478,-54256719,1649349874,-1412242915,-613268117,957854903,-704038789,1549730830,1701203568,1675325856,429605100,2140521005,2002855709,-1716718811,-1475880301,-648650473,1122612137,-1387693236,-220951569,-405421462,1059972164,1727927642,-1903218450,1657936874,-993847516,-1236010821,-1695594560,-586746423,1201659660,-93669096,109212356,-1241247823,783612602,-248115949,1770452964,1561553761,-2037079559,-761022020,555294400,-9778225,400592610,-1083318212,-611850257,578252978,1894149404,-1149616007,-1187234943,-407719918,-1451284931,-373586743,1862745996,-1695397865,-1303461578,671207890,-1705572578,2053813217,-1250919809,820939244,746553185,565814980,1774284257,-1036316292,-129177975,-1261548652,128775223,355372447,1338975696,1473239082,-317531303,-2121621101,-2072758527,2020935146,1989835475,-505003782,2034994215,-1771999440,-1860094988,-1685187993,-562243163,715504945,-1473045176,1561377725,-863531660,-726535830,1339626676,643800626,423933051,-176192380,-843289096,895244010,1244968205,518566367,-66284901,-1544574522,1869327273,-317604044,292666866,-1037067128,1007015004,274479870,351600826,1366168687,-981445169,1322943593,1878806668,2053957696,-673454819,1723934320,844021115,406642603,1279542918,503911070,-527997514,584453947,2112075701,457493754,1195125945,1579652561,2043197346,-646767745,455032475,-1830636752,1049150400,1368929655,-1475690483,-135504898,-1714005428,1729078589,-1906278496,-1066930512,-499804323,-588730333,-681289575,-223598175,-1588915756,-465814778,-1009812053,-1089883233,-18977843,-386442980,2142969152,947668373,-1044744769,277054079,959677365,-912326559,544765977,-2121329860,-628465491,212791705,1670609885,-1770838306,1811219681,-147916936,1146023260,-1384908501,-260299631,1269914498,331507613,1072132345,-1276287667,1007547762,663900748,727809444,-1662921985,425210013,1604722233,-359415178,731428278,-71001224,167579804,1825019255,1266311236,809243383,1555594983,-171509335,-121289091,-617800310,1595789502,198463857,-877263040,1372913715,250370314,2075819276,262440565,696822610,276032956,-1686410737,118351181,-1969862862,-1661454475,139710915,-747942690,-104286791,2103753255,1424262736,-346888251,1983287981,1249706985,-1058556379,-1727047297,858991064,-1216763742,450290207,384065548,432355807,-1563491923,393997230,1074342540,-1657709304,1004464969,-1790871627,-359015726,1587589480,-51642562,1970957166,-1501159683,1557273648,968206914,-409880718,-173491216,-529201890,-1370333776,-170658767,1810619620,-1552547499,1796247373,-1970955141,65877427,422159296,-960234927,1327667380,52058405,-580197605,509381666,1825796349,-377226028,-1667345845,2089216095,2095764108,1995388121,-1947575759,124844532,1172617058,1254563574,-344808330,-1351597756,-90036337,-807087775,-1985672274,1161370883,-481366775,1755125261,614800077,382756220,-1239077164,2039990410,805212558,2135742190,545804317,218924030,-225802005,1021027322,138200745,655912094,707785296,910967587,1930752114,1004274233,1542742406,-1733932387,-1604576563,-280359862,-1843309695,-1637400016,51417565,1272529689,-1341856476,1341224949,1712812724,-1471885365,1469744266); +/*FRC*/Random.twister.import_mti(107); void (makeScript(14)); +/*FRC*/count=602; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(116); void (makeScript(14)); +/*FRC*/count=603; tryItOut("\"use strict\"; v0 = Infinity;"); +/*FRC*/Random.twister.import_mti(127); void (makeScript(14)); +/*FRC*/count=604; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( + Math.tan(( + ((( ! ((( ! 0x100000000) >> (( - 0x080000001) | 0)) | 0)) >>> 0) ? Math.log10((Math.fround(( ! Math.fround(1/0))) >>> ( ~ mathy0(y, x)))) : ( + ( ~ ( + Math.hypot(-0x080000000, x)))))))); }); testMathyFunction(mathy1, [-Number.MAX_VALUE, 42, -0, 0x100000000, -0x080000001, -0x07fffffff, 0/0, 0, 0x07fffffff, Number.MAX_VALUE, -0x0ffffffff, 0x0ffffffff, 0x080000000, 1/0, -0x080000000, -1/0, 0x100000001, -0x100000000, 1, 0x080000001, -Number.MIN_VALUE, 0x100000001, Math.PI, Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mti(333); void (makeScript(14)); +/*FRC*/count=605; tryItOut("testMathyFunction(mathy2, [Math.PI, -0, 0x0ffffffff, 0x100000001, 42, -1/0, -0x0ffffffff, -Number.MAX_VALUE, -Number.MIN_VALUE, 0x100000000, 0x07fffffff, -0x080000001, 0, 0x080000000, 1/0, -0x07fffffff, -0x100000000, 0/0, -0x080000000, Number.MIN_VALUE, Number.MAX_VALUE, 1, 0x100000001, 0x080000001]); "); +/*FRC*/Random.twister.import_mti(365); void (makeScript(14)); +/*FRC*/count=606; tryItOut("\"use strict\"; {v0 = t1.length; }\na2 = r0.exec(s0);\n"); +/*FRC*/Random.twister.import_mti(424); void (makeScript(14)); +/*FRC*/count=607; tryItOut("\"use strict\"; testMathyFunction(mathy0, [0x080000001, -0x07fffffff, -0x0ffffffff, Math.PI, 0x0ffffffff, 0x100000001, -0x100000000, 42, -Number.MAX_VALUE, -0x080000001, 0x100000001, -1/0, 0x080000000, 0/0, 1, -0x080000000, -Number.MIN_VALUE, 0, 0x07fffffff, -0, Number.MAX_VALUE, 1/0, Number.MIN_VALUE, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(456); void (makeScript(14)); +/*FRC*/count=608; tryItOut("mathy4 = (function(x, y) { \"use asm\"; return ( + (((Math.fround(Math.min((0x080000001 | 0), (Math.expm1((Math.cbrt(y) | 0)) | 0))) | 0) >>> 0) >> ( + (((Math.fround(( ! Math.cos((x | 0)))) ** mathy2((x | 0), (((Math.log10(( ~ y)) | 0) ? (Math.tanh((x | 0)) | 0) : x) | 0))) >>> 0) >> (((Math.imul((Math.fround(0x080000001) / y), x) ? (-0x080000001 & y) : x) >= ( ~ x)) >>> 0))))); }); testMathyFunction(mathy4, /*MARR*/[arguments, arguments, ++d, ++d, ++d, arguments, ++d, arguments, arguments, arguments, ++d, ++d, ++d, arguments, ++d, ++d, arguments, arguments, ++d, arguments, arguments, ++d, ++d, arguments, ++d, arguments, ++d, ++d, arguments, ++d, ++d, ++d, arguments, arguments, ++d, arguments, arguments, arguments, ++d, arguments, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, arguments, arguments, ++d, ++d, arguments, ++d, arguments, arguments, arguments, ++d, ++d, arguments, ++d, arguments, arguments, arguments, ++d, arguments, arguments, ++d, ++d, arguments, arguments, ++d, ++d, ++d, arguments, ++d, ++d, ++d, arguments, ++d, arguments, ++d, ++d, arguments, ++d, ++d, ++d, ++d, ++d, arguments, ++d, arguments, ++d, arguments, ++d, arguments, arguments, ++d, arguments, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d, ++d]); "); +/*FRC*/Random.twister.import_mta(1263411559,-296238912,-419729327,1871992668,1713615952,1844145945,-917628473,709124436,1199778144,-1203565340,345932771,-2071246009,857392563,-816180511,-1871519036,1321419437,1613243788,1331708573,-1451568024,-120606536,2102948082,2068121537,1565867301,366767664,1827611528,-947723193,-1781069799,1440779456,1178090850,-1169466195,-1698870066,-1760251960,1964913006,1563114171,-440746752,1637690144,849727651,-839702171,1492089969,-758539483,-1490548124,1989401354,1604083340,-1443594373,-1162241594,451775131,1107593816,-1763614625,1150240478,-1796557650,-1883861541,530244912,1682069338,-2108787638,33956113,-1999983732,1117531784,1070466144,1549667948,1767466139,-1055469902,-611937729,1853952432,896255685,1883452654,1103177994,-1072973932,-708217858,-304789185,-1913577902,306227863,856903455,-2016265094,764281687,-976918208,838190609,1146291285,242037285,1172015247,423991238,1381691421,-18171000,1021612582,-315932971,-969175003,-354094714,-1112732730,1445388041,888574333,1967549011,442617882,351898014,-347564582,883164299,-1740429968,-598489403,-1301997297,53164204,353810569,1996655527,1735721532,-348931822,-1005058058,-657345676,-1246760220,661090839,-1539109681,-592067155,1955995820,-662918459,-240372189,-1472631051,34445360,-2136903606,-518033987,1176472180,963409591,-90355147,-306475326,-174980140,520198260,386327851,841786002,400481998,1672885378,-99020930,-1741680855,-1664531770,2030868425,1382666116,1205974432,1352509260,-928429586,-1859523093,-1579246655,-1497461130,-750101507,-7822319,1250084346,622961818,93075406,-681900311,-375733509,-661221850,-1126167785,-1603640033,1222355172,-1206679175,637300462,-12036358,-1795699248,-1982146012,-1076936198,920659823,1852433136,-2068858625,-1095478155,-991041291,1082251686,585776768,264906056,-233408854,1958995164,-1003526131,-851184635,-1356561471,-104012539,627855305,-439516988,1310234751,-800856785,-822864242,92414677,1282910469,2069540434,1446378988,1970971764,1718737362,-1713118768,406725271,-367251282,-827438547,523640516,285842387,603717465,1301002357,845570496,-169962718,-1261909918,2098559547,-1466745073,649230383,-2140715419,1108080215,1044035171,685135089,1994030265,-1846044566,1555052105,-1871950616,709371067,1740527942,61297653,-1695495939,-408424977,1449085546,-37704384,-149698111,813507353,-1908949829,-747972355,1224775840,-1326857360,-436533553,-811883602,3824736,-1845917906,1625968898,156794616,1696067747,1090274745,-1838912401,1970373831,1470079309,-675229683,1057453635,1406515606,1047671969,-290240946,-1085444748,357665335,-1174387509,-571926004,-1425348957,-298249391,980310665,-441134485,-1364292637,-569717858,1928835508,1398866057,-1429855675,-1674594990,864193648,1578844695,59909344,135073046,403842518,-1131493615,307197451,1842600145,1590828491,-1875963849,-618888143,217785815,-1688517236,-881579772,-709409525,-44474706,2087037111,-1927660682,1448540855,171840284,136809243,640289601,-1614689906,1501906550,-2093997681,-1436588914,1917331267,238660401,-1567327590,-1782037036,1223385910,1734707150,1540933188,1916791063,533562300,2021237596,1225987501,-1171542587,-255001377,1912299869,-1667593218,1418656970,1354094830,-561529602,-12132560,-1265426937,1754356948,-1333555239,486924119,-1863567555,1322239922,-347514012,-1924539117,-1737100086,-1249731080,-493574436,535917121,1969418263,-1658489645,134269611,-844053568,131628818,487932374,1678310320,222796129,744066577,-761636027,1596776388,-1905838523,1706472915,-1424288786,-738686874,2078552798,1414714850,549484662,-908672702,1909860656,-1867736945,-1205427599,-833614288,297722249,1285161459,877447427,888320234,2147358967,463627379,-114999531,1586272262,743945260,2054345432,1940088782,1872656164,967256174,298032003,-1916801885,515158191,1708729866,781332481,-245837824,-1586153613,1212939470,1987873764,420093096,806447440,-1391610730,2032756524,10454442,640902686,1870370036,1557880503,982002808,152537995,-1274557857,-1479913520,-1080173397,1178147562,684440774,-490533666,-28808733,-1782479653,-737295478,-1897813532,1759727208,-419370984,1224447022,550554834,-1974129283,-442248534,-6213003,576770584,528602553,427835183,1363088668,1221153685,246754803,-527759622,-280768870,-1872891305,630826369,-1692841759,1249843037,-1781116756,2029186856,-1503678877,-899905449,-2117128541,-1183529187,704256694,-1161794621,995432213,-1595177570,1902946080,-387579061,-1440386736,1408461007,-1769778568,-1967837766,1554741863,-692934531,1999140178,-1873516561,1008139288,1128082196,-1952328569,-839146938,-448158152,-1330134089,-926647355,-121023482,833698432,-1876693898,-986860705,1365622446,1982188963,-536631563,-226639421,1985059432,-1907255280,706951367,-547964432,1352251907,-72392481,995933203,-2092727311,-1075655079,1560386308,1702454537,-1067523192,1538590646,-1071406502,1523471570,-1494999774,-557824494,-1195416799,-1680734716,1746360036,-286578338,-304800848,-975100941,-1316624760,707861782,-1634753559,1051088574,1478591619,-233240600,-519766185,-178361691,-1031176633,-236784818,805568268,1670777677,-166624285,1229598027,-1292956919,-1345901388,203112188,-519224867,515627971,985545923,857670417,-1158630517,527049095,1392974663,151100491,529149359,1078542340,-1692431742,1404140328,-1240909466,-185676754,-88632955,-129203751,-332705797,1615948680,-1791174949,-1738640165,1984468238,-1352193857,1931914103,510515097,1923195652,83768555,2026385323,-1046308776,1143912357,1452372777,-25980011,-679984376,-1897200016,-1795663135,-1250462503,-1196991949,-931655136,-33985783,-284227162,-951265445,86099653,-837784683,-409238089,98450685,1643561009,175979886,-285082884,-1665680068,217059846,-981131804,607599494,-1585920446,275805316,-2186614,-80048932,2119198356,63410603,-881159969,1441373240,1888702866,-10297502,-768778283,-829269820,2091642325,-1627137969,-2006998146,2085508409,188033000,2103117513,160461067,-762410798,-923017127,-793979785,-1070327320,1304255967,-391416990,-874290211,-119007123,-208855815,1819594700,-645888776,308312099,108499974,578659890,1340998067,-190596698,-1029377724,-465828608,415475846,-207923290,-296445066,522604301,-2005023608,-1478180346,1102994819,279855171,634887148,-2087187806,-725145689,1111407156,1722288121,1080802423,357182172,1235069665,1189786971,1851696740,1799446237,-311781761,-1038956680,1829940962,2039160181,1155476782,-870988269,2124108018,-1466632931,447772100,906436925,-1342272245,317888628,-1204024050,-1148151225,83707198,-1419206344,687495064,-462277846,-1653635302,1666880913,494071549,-1250218884,437373691,1799052468,-1864415651,1970640826,-1068726221,172413889,-1012815465,733544044,-1857570281,-1721223441,-396461390,499562863,-1764930200,520519376,-244129354,379880040,-1817969032,-217632587,-95144014,309551897,471063992,536869154,1736779678,9291069,-1311485295,-772102074,440701256,-822308933,1643396908,-1793192987,-1564337839,-979035088,-1814020924,-62492646,-2094317298,378196284); +/*FRC*/Random.twister.import_mti(370); void (makeScript(14)); +/*FRC*/count=609; tryItOut("\"use strict\"; \"use asm\"; /*bLoop*/for (let ycggas = 0; ycggas < 64; ++ycggas) { if (ycggas % 6 == 5) { for each(y in (x = null)) {Array.prototype.forEach.apply(a1, [(function() { try { t0 = new Uint8ClampedArray(o2.g0.b1); } catch(e0) { } Object.prototype.watch.call(m2, \"prototype\", (function() { e1 = Proxy.create(this.h0, e0); return o1.h2; })); return g2.b1; }), t2]);/*ODP-2*/Object.defineProperty(a1, \"assign\", { configurable: (y % 5 == 0), enumerable: true, get: (function() { for (var j=0;j<37;++j) { f1(j%3==1); } }), set: String.prototype.substr.bind(p2) }); } } else { this.a0.splice(NaN, ({valueOf: function() { t0 = t2.subarray(7, 13);return 4; }}), g2, v2); } } "); +/*FRC*/Random.twister.import_mta(1691912367,2096519823,-42007020,1874501711,2035265326,-897070738,-982100155,534210728,1595714918,1491477929,1454815034,634156094,236091928,-2130900313,111166863,27600966,781942247,-779036309,755132146,143259098,1151964618,1172303758,2092936560,-1205466668,-1863648709,213224739,980024419,-659325330,-1083071846,-836950634,-194471491,663651251,-756791157,-226247416,729518630,1081735892,-448827201,1402672069,1856781151,-349477357,-526652543,1205434786,1662625340,-1333143725,295655009,-1870158940,-1203167770,-54001530,886246633,-2030931279,-1110149776,-752495366,-193376128,444784144,-175659384,1364060232,2087782781,-666991403,-454152231,-1838912432,1527567732,2069607972,1655706208,647643572,442411078,320526555,-803992972,-259508793,369071214,-651593249,-1626653953,1134583353,1422932982,1901318024,2012965553,1339031259,1686747208,1135211841,-527858664,-797662375,-1438020833,-970179128,-640304453,1433555058,106222516,1086018170,-2135262113,-2020750198,-614225315,-862818219,1314026346,1664432580,1026105615,-614870608,2043303373,1422026425,-186455921,723826344,1794238252,-834409961,-627649233,-1522477920,1766399871,-1798860057,757107811,-1896412603,-1767599560,1882598712,1513561921,2104039154,-1042016861,-2071735812,610763683,1224720451,1937748414,2053122318,1602001177,143499765,2030997569,-2063967003,-949854606,1770324187,-192040955,-470399596,-207691909,-1447339362,-781747924,1842436165,1434104571,684064056,1427494255,767874556,51564280,18619750,-2081189044,815367369,-1418608888,-1914039905,-646729328,-97647734,1093152594,-2119098770,-1244937237,-719794825,-817228202,1175482944,-890276400,-1503818031,-50275783,-1371020312,1546569108,-1401096357,741095454,672317045,321038376,1639340259,-1161815770,1894689936,883066028,-2072176634,-305390350,945768538,-575208672,-1077741910,-607069213,-1401722692,-1923866016,1555588614,-1790598595,1547949111,-1519858625,-1227157673,-960988888,2037545479,-418432795,1143341768,-1683219980,373392684,-485457751,-1695509156,-324203075,-140049812,706537329,-1945630131,346410461,835282808,-560104773,-955522261,-2066180013,-1875656283,2133500084,-2094343914,-1825171648,382381491,-132772579,1646855856,45948916,888210028,596563992,1567299733,-1430840756,1887789975,-1984533042,2081819456,1948900325,-812468458,-198846889,1385553707,1830051383,183102227,1995648841,73874432,-200619366,4781641,1083239181,-1188523770,-1584430905,518565428,1702872885,-662524625,86281485,1098017773,2002943049,554230813,986545124,-1430151739,-1866761293,1400974216,592505909,786396112,-340643083,398139944,101321440,727871026,-605489869,-187796340,-1766207353,968086261,1555541220,-1096136061,211200858,1219993382,1482976894,-1734448077,-799421669,688185465,75556657,-1008318819,-1779375020,-748752441,239581166,32883455,-130842652,-451092905,-719397720,-624183784,1036924876,-1966852374,-1061886153,-731294416,10514572,778345384,-580743290,1864549824,1551628034,40802404,1941685771,-1246471738,-1477059876,-49429637,-1580996066,1534817419,-185462209,-1946427903,-786144348,-1799075651,-1995132049,-2115459874,1856302835,1885615805,-68415328,343058169,1593879991,372668184,-261855070,-877792858,-305724472,-1739724120,252909646,-470194861,-250601792,-1960836345,1954364162,-441407546,790915985,1506110987,-2081933533,-297703023,-1789896762,-144051422,-422984386,-1426866373,1763155771,660965313,1294161322,-762447424,1340071734,627965128,1986633909,-1237068455,-884376689,-309905022,1429658509,-381274004,-92285467,-246759252,-588100498,1790514123,467545436,-1401430633,507654231,518148821,-2062178654,1269258409,-1475714314,1888010073,1756649139,1313822665,14351349,101667708,-2098444047,270132495,-1222198878,-1586779734,1826994447,-874618273,-490844036,397868331,-1234222343,-1440339076,1884530755,-1160930600,507893609,1682103531,67678113,1627792617,-1837332818,-1141445148,1774895630,-409730294,-733245458,1157349631,-1258337118,1290013750,-287699531,111121683,-301751374,906582042,966855583,846416023,-416245432,1344004606,1520395532,-335451142,-107235669,-353122916,-1638676067,1363167547,496187407,-954586434,868279442,-1636139174,-791140285,1596447384,-1899887521,1080869676,806733262,1818969833,-606269418,-49647126,-472458134,-2019115897,-1652464750,-1339346576,211278596,-1098521790,2019290354,874724220,-34759925,-1991635333,1001026452,527622326,-1140413837,-169709072,-238823556,-1068033387,-1397567345,-1373018877,-209610358,837121220,-886858010,-1667562932,-721124896,-978884616,937365670,2143869493,-66239361,-1643520351,921981800,-680105396,-261316530,1283281053,970494275,620958667,-1346814852,650301021,960143872,-1625493366,-134081502,-1809917112,-623673073,-675458587,-1821545618,-1503518908,-262673222,-1155028673,-1684877466,-1002973234,-617520692,-1449583606,298616987,1412958920,-1560961665,-413673274,1039531042,-1471979656,1191241745,49841211,856860847,-2099230910,-72296593,408033353,-332390515,935387628,1102808427,-798509653,-510775589,-324124039,-1563038112,-1892781131,1509531066,1657570402,33695932,851118749,-1372811790,-1557145234,2034034058,-1379947125,-1103810023,-799057954,-1355431796,1534051428,1891540374,1074032795,-1992757367,-1052782050,677899403,749865816,1161321063,834458602,-2086997888,-1439781620,-849897372,-508684542,754667967,-438808176,1086859893,-614449828,2060552312,1988647780,92748595,1126205371,-476354662,-1497784986,799576544,-530207973,796311101,-1293911609,-2007637315,-1226920446,676808440,-1894815059,-1042443561,-1226777651,-779595562,1073864583,-1970649176,1533882732,-2132596938,1257412394,1631497221,180604165,1027053690,-1943392808,-1234675296,553594989,907820990,-651256238,1181301562,1337773718,1577995610,-812959257,-1238321208,-1829818238,10916514,-1280909058,-1995592881,-916867575,-1265537866,-2073877449,-2097575004,-931582556,-817089805,-943200612,158266322,-1865759694,1355595929,2064207204,-2085291182,-1805459512,-700752603,758733150,760997872,2072667783,-644547079,-1827333028,1452141562,-1116529559,-1052279810,-2062657725,-360844689,-348059908,1337290922,-425488195,199977833,1774202844,-535426604,663722884,1774722926,1401827835,1335474925,-67632139,-1990254265,-101988787,1554291263,18284196,-177966992,-470608405,-1169861076,236705606,-1412514620,-786178912,1906542637,-711916722,-1155603814,433240345,-886093632,115015474,520135869,1009402366,-616526019,2068121560,-331026760,-551240628,972934565,-415419308,-1360179408,-933918359,-2143601405,-159257027,1498438826,-1163450759,883330182,-1598791617,-559111667,-1374630850,684646057,858836202,1703301028,-872909059,-1766088665,1085620845,920132771,646688137,77346317,-1942465061,312901910,1206901195,1234277170,-608268553,279242224,-1233423228,188645912,969161458,-1931448724,-1493759025,758870201,-304139594,-2007416810,-1371279267,694510385,-1921695085,-696731807,897164374,-1974088578,-1927838563,449690454,-205271069,2107666094,-168381423,-1950266883,-1336510469,-1961725429,131474439); +/*FRC*/Random.twister.import_mti(300); void (makeScript(14)); +/*FRC*/count=610; tryItOut("with({}) { Date.prototype.getUTCDate } let(e) { try { b = window; } catch(x) { try { let(b) ((function(){for(let x in ((4277) for (a in w = arguments) for each (z in /*MARR*/[function(){}, \"use strict\" , new String(''), function(){}, function(){}, \"use strict\" , function(){}, function(){}, function(){}, function(){}, \"use strict\" , \"use strict\" , function(){}, \"use strict\" , function(){}, function(){}, new String(''), function(){}, function(){}, function(){}, function(){}, function(){}, new String(''), \"use strict\" , new String(''), function(){}, new String(''), function(){}, new String(''), function(){}, new String(''), function(){}, \"use strict\" , function(){}, \"use strict\" , new String(''), function(){}, \"use strict\" , \"use strict\" , \"use strict\" , function(){}, \"use strict\" , \"use strict\" , function(){}, function(){}, function(){}, new String(''), \"use strict\" , \"use strict\" , function(){}, \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , \"use strict\" , function(){}, \"use strict\" , new String(''), \"use strict\" , new String(''), function(){}, new String(''), function(){}, new String(''), function(){}, function(){}, \"use strict\" , \"use strict\" , function(){}, \"use strict\" , function(){}, function(){}, \"use strict\" , new String(''), \"use strict\" , new String(''), \"use strict\" , new String(''), function(){}, function(){}, \"use strict\" , function(){}, new String(''), \"use strict\" , \"use strict\" , function(){}, function(){}]) for (eval of /*FARR*/[...[]]) for (arguments[\"delete\"] in window) for (name of 19))) for(let a of /*FARR*/[Math.max( \"\" , 3), Math.hypot(arguments, \"\" ), (-\"\\uDD89\" ? this.__defineSetter__(\"e\", function d (b) { yield [,] } ) : /*UUV1*/(z.catch = new Function)), x]) let(x) { yield (new decodeURI());}})()); } finally { function shapeyConstructor(mgstdw){if (mgstdw) for (var ytqxsliuf in this) { }Object.freeze(this);this[\"valueOf\"] = (1/0);delete this[\"includes\"];if ((function c (y) { return -256341890 } ).call(null, /x/g )) this[\"includes\"] = x;this[\"valueOf\"] = Int16Array;this[\"now\"] = eval;if ( /x/ \n) Object.defineProperty(this, \"now\", ({value: 'fafafa'.replace(/a/g, Proxy), configurable: eval(\"print(o2.h0);\")}));if (mgstdw) this[\"valueOf\"] = /*wrap2*/(function(){ var vzlrvx = new DataView(); var pffvez = d => { \"use strict\"; var v2 = t0.length; } ; return pffvez;})();delete this[\"includes\"];return this; } } } finally { try { g0 + e1; } finally { let(b = x, yhjgap, a = (window = '' )) ((function(){with({}) let(NaN) ((function(){x.message;})());})()); } } }"); +/*FRC*/Random.twister.import_mta(-1679816253,1261856853,515938102,-93921004,-1115194403,-2040055704,449570140,315120884,1725981675,-775367455,-1342007591,1082582178,77664968,1399582805,-1520364845,-637472975,-1468987370,-1629318318,-148682338,-551238193,764037949,571786865,824931866,1544629585,1941956162,-123536355,-1977092922,-1076583493,-1827428463,1654322355,-23555438,837438103,375643905,-1549351320,-2072401073,156169645,-1633078528,1965846595,-685679415,1739897205,-148191943,-1292236576,-2038167922,-737915263,654048694,-1181911261,-1028269882,-170726617,1462468489,1821804782,2003574506,-105293871,1629200226,-1561031139,-1230068951,-1715194232,-2103324027,-446487222,-325937611,1832374288,-1527390979,-1283755034,-1533462710,921892787,909344462,675378620,-286256253,-1199950636,-588878550,-315624109,-1034730521,2093547619,-1431819339,982531370,1838195188,1017668119,-71853454,1452979457,1357656078,-1096479961,-1465046100,-660423526,-45953383,1771219558,-836755069,2049303535,-560453067,285380905,-337415221,-2008697671,1351425136,207864845,-720532772,-116167836,-1021247700,-826137890,-1373374426,771389294,-1624127497,975035411,-401286742,-86651763,187545046,-150472100,874054607,-1416012278,2089904492,-1389061439,1697558694,-1631985518,-1785326118,-497467843,1811839969,940472037,-1563026204,1263660655,-1823263036,53052727,-817291748,-1921032131,-1238523582,-920054734,1510941950,-1665910328,1114962991,1118292929,1226322413,-722223050,220566329,822141902,-304469509,1611475578,1968559020,-968262102,2133131409,1559987056,-401715931,-1110871296,-1537735550,2046396673,1368942269,-382953299,-1531461610,818691486,-1324398285,-851013923,1321689228,-452719759,-1208930924,1254132631,-1446970452,-1587249838,-625483570,-476151883,-771425627,1866574577,-842127376,146759879,-869071349,-151512856,1758451835,970697052,480275236,1884785971,-1647710281,-1053672844,-840381499,1657064045,-1650510614,1926783276,192497315,373928165,1742779320,-442222822,172609163,75324495,974076446,919257835,-1968001487,-497811055,641783050,1347800217,824710073,-902818374,2076141287,-823178286,-705148793,431163987,2110136471,1052154693,-1694309972,-402363808,-982849922,960033969,-1057259518,891226387,-816652777,-1464037101,1804269848,533722084,1501621573,1177033202,-1915242169,2013284576,-1109853498,1590170474,1996306263,-882247082,-1989469962,-293765333,416875036,-1451885648,159541023,278259993,2102432150,415215443,356580042,1116094392,-1107907667,-905975918,-1732024813,-572564305,55312156,1544574002,-1187170227,1430942119,332877795,-154609545,-1412544954,-1713058853,1040228366,-536580833,-1723911011,-1294439510,515624101,-156536809,-1064120953,-338498780,-1649684149,-1700897547,-97666742,755281624,1912312471,-1305972763,453859446,-1494633436,1034538915,1995918958,-1668582268,-519190413,-1620913758,1305746296,300952529,1919563620,-21777486,-302664808,1498383989,-1104724619,967718899,2143443247,401911431,571007007,362379408,-1746453072,657061881,342240480,1053021111,1554669711,1112820898,-1444584061,347915891,-914118087,807317442,1936030649,-31948411,685989007,421904191,-762488603,1602055544,-1609107181,-58342084,2024964190,1594089579,-756860020,-350481893,-2133021945,1190800719,1848766605,-1363783724,1120965996,-1223686713,-636638282,531126884,-706313551,-1906995612,-1803087948,-498160913,287943742,-654746652,87021128,1177646036,-1907586412,56203715,2017697028,1863850685,-959590287,1787337318,925418679,1910813543,-2055886451,-118660234,-1458119891,2055336808,1447743689,-257645798,-102323054,1443364259,-1980177705,1791898394,-118740890,2137900676,-870360498,-1250297297,1979018976,-1655716005,642397253,-348051520,-1624211106,1127137602,-1376515760,1772001431,-25579063,-1505954428,-86529500,-625028268,1270093147,186213322,-1179207137,-1414773898,-811767990,-1286701761,772368035,17249723,-721268033,333388725,-722802850,-448523293,-1540938827,-956828489,380282573,-539383147,582105104,25619955,961937918,1412400466,1358989383,1159293579,-1394840154,-356527030,716333458,1071153732,-1587775862,-450205407,1361878533,-505882684,512229461,751621826,-670873177,-23469798,1020105661,1281028111,-1280845132,-735009760,149785362,796403145,1046978833,-781985994,-915577242,803116440,232181795,-1377048324,-200171501,-1784503059,-1592413420,926786216,1509050127,-1159102810,1280731220,-1497050257,-1377610973,1885293503,574427034,2041374546,-1524427614,-1424398576,-1697056059,-1250995278,-1071192231,-1320943214,941728483,-598862788,199845460,-92268588,-120620364,812610790,-2123547282,253927867,1434693803,-1048512073,196483772,1089147832,2131475192,1897211048,-232223742,-243934187,1370282956,434425469,-1475611268,1207347950,1020613004,1160990448,1806237344,393438306,2126148072,1251092146,-1066321364,-1554385113,356776109,-452127025,403527492,-1377251192,689426654,-1937838495,761043037,-345489551,-1024177546,-640951500,21954913,-525726761,-234300791,-1763343550,-965477668,961802176,-1004228467,-1287229996,-353188389,-999048849,-1744809285,1284812926,279651331,42982142,-1808524029,701106746,-1561782712,1017610366,1289608024,-457100544,393839676,-1773532162,-1329804943,-1611861274,239933629,-1323126599,948932793,-1767950956,195716724,426466366,-2046004112,-1517834509,-259308430,-1692078577,1065461325,-795228770,-2041392725,-2009814768,1959577894,262083588,1102265224,2119856353,-1527872100,1271504383,259159101,-1191607319,1980220954,13227437,1909853321,-503689442,1461312823,-1368622351,-1627273290,-497414182,-1927762432,978057251,1529911035,-1249356589,-2078194501,531922844,2142264212,-1422344697,1857121490,351309319,-153591727,2058447329,-786060219,-1545362982,1996112026,-913743501,672337255,941981856,-2036162402,-282198153,1490049461,1437827650,-120137488,-1976373695,1419900628,1354095800,460220113,1452088359,442449621,-777566384,-913584781,1739940097,1880487040,1676450673,571167546,860726718,529042136,-846029299,-823229281,-253664370,1157395663,-1828329536,-631223248,67559821,1114805040,337354937,1146447833,-1204091529,16097872,1954399936,-1658413642,479543713,-768229554,1216912901,629154540,1450655192,-512442507,88766759,95472275,-1057986536,-972263859,-459491049,2052613050,-179452490,-827502184,1706877021,1300873042,1055567102,-1613649630,-713727017,1633184461,-756959009,759277156,-950155286,1525100846,-105727362,-301181371,562747291,897626009,-2008937110,887138852,1958380997,-726651608,-1651051890,1857068760,914731985,1956162295,-1389863974,-645731601,-1120329197,-799375274,-285060342,-1014210530,1382381281,-1245075041,1815363653,1094421285,370127095,-1185268901,-1455680926,1642557650,1895031217,913556504,-1405520345,-195873104,1876628485,715638348,-718901169,-1059564548,1812512778,1920840978,-1261881841,1878593803,1459801906,1662714144,1638465556,1568828178,768690905,546873914,769450648,-51791603,1471071691,1076957567,-1754003855,699335371,-88031152,-123287417,1790268792,-1583087643,-1549267160,263527171,-749874525,563603340); +/*FRC*/Random.twister.import_mti(316); void (makeScript(14)); +/*FRC*/count=611; tryItOut("/*bLoop*/for (gjwvfe = 0; gjwvfe < 49; ++gjwvfe) { if (gjwvfe % 2 == 1) { this.v2.valueOf = (function(stdlib, foreign, heap){ \"use asm\"; var NaN = stdlib.NaN;\n var abs = stdlib.Math.abs;\n var imul = stdlib.Math.imul;\n var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Int8ArrayView = new stdlib.Int8Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = 1.25;\n var d3 = -4503599627370497.0;\n var d4 = -1.9342813113834067e+25;\n switch ((((0xf973740a)-(-0x8000000)-(0xffffffff)) | ((0xffd2ea67)-(0xbcf117ca)))) {\n case -3:\n d3 = (+((NaN)));\n default:\n d1 = (+((((((0x8aa68065) / (0x72f7bdc3)) << ((!(-0x6c72064))+((Int8ArrayView[((-0x8000000)) >> 0]))+((abs((0x701d41c8))|0))))))>>>(((0x187ad18) >= (0xc1c45af1))+(0xa24024c0))));\n }\n switch (((((imul((0x9293620e), (0xf9c94c4e))|0))) | ((/*FFI*/ff(((d1)), ((524289.0)), ((-2.0)), ((-1.1805916207174113e+21)), ((-128.0)), ((590295810358705700000.0)), ((-2049.0)), ((-36028797018963970.0)))|0)))) {\n default:\n d1 = ((0x6203816f) ? (((((-0x8000000)) << ((0x7fffffff) / (0x88eda16)))) ? (d4) : (d4)) : (Infinity));\n }\n return (((-0x5751411)-(((((0xfe58963f) ? (0xffffffff) : (0xc435bffe))+((((0xc5784a96)) | ((0x39f0ea3d))))-(-0x39ef5bf))>>>(((((0xfc0b246d))>>>((0xfb5f7599))))+(!(0x8e00b582))+(0xfbfdfb27))) > (((((0x2ab7ba45) / (0x0)) << ((0x7c24dec4) % (0x0))) / ((0xcca1a071)))>>>(((-0x8000000) == (~(((0xd99dc49f) <= (0x1ed9e8cb))))))))))|0;\n }\n return f; })(this, {ff: (new XPCSafeJSObjectWrapper((z--)))}, new ArrayBuffer(4096)); } else { /*vLoop*/for (var tfyznh = 0; tfyznh < 93; ++tfyznh) { c = tfyznh; ( /x/g ); } } } "); +/*FRC*/Random.twister.import_mta(1018520492,-1104918007,85119593,461707533,1222310496,-1209670278,-240429874,-1709705780,813819841,-836019704,901825274,-1009749805,-1156885943,-883742194,-1962705473,623747235,-1118190165,-1964738342,-1489630732,-701932740,537470619,1600328163,-1948944389,2095889873,-823054223,1382063617,-1202155286,-1710013019,674558122,-1676296594,-725717703,1999915408,165557360,1994175984,-189261097,-2094368799,-826142557,1508909514,673621523,2069236087,1479673105,-1545074544,16928022,-979862119,1136521618,1476985763,667252161,1104896719,-591822420,-3820006,1037322636,1008304079,-1730554926,-1060095051,-657062329,-242068569,-799505171,-739869765,977679184,1874029985,1321483727,-1006202789,1926038135,-2064298623,443392611,525470119,1689422547,-118750463,-466277374,-515224302,1633698974,702221302,-1379706137,-1376993547,-1193465959,-314439513,1947679732,-1606242025,-224986006,1539932626,769811909,-1712085134,-802697041,-170836511,-345492203,247277100,-1483850159,-1406083945,-1392744950,-1984118490,-937390098,-2064990305,-477597180,-2083884980,-361119889,1834615856,231583052,588777463,1076304493,733877065,-1680732915,-290560788,1429377532,-671826113,-485175468,83483991,1589072378,-780863095,2040967379,-2092799074,-1070128474,-724431473,61680435,-28905211,-1536156067,1545214240,541764276,-1382653617,-1961429483,195234841,2147151048,998936152,335880753,697665944,1909495884,-634271448,1517032603,-1133059534,982196957,-1666711140,1871585253,-147294245,-305513590,377180953,1786885495,1040871821,-2071661136,1445651404,-1484331153,-1512103112,-372532400,-362748548,1486077087,-168635770,1653434887,2079781351,2042563113,326109391,-639051784,1117208590,-1312390692,1745979712,-310950506,821732757,681839594,-1032082705,-1492163834,1247606380,-1244570132,-1999389505,1365535740,817535340,1056104292,1117332691,29456375,756903394,-987008115,-913154657,596312504,1694935536,2082488040,310021703,122860564,1416518384,-1344883492,1774000330,1457388674,29824329,-2037240113,1705367892,-977601436,750052057,-56958926,1508778431,-148036161,485934998,375215592,-175188363,865752290,1639264403,892976661,1958396872,2093937116,-1992175005,-1570749308,-833470875,-81445810,-637793621,-72036542,-636235144,162777781,1254431795,-1126664308,1927593321,488225959,381623675,1246620704,330777417,-1926427030,767918362,1228445386,-266810999,-1311054231,326412883,1774116475,1561245870,1634864803,277341048,1297150210,799654790,255972879,722512630,-1884563972,641606609,-65498353,1135527309,-2080687256,1766998159,1809751867,1511162478,-1299210403,-1655844623,-292958033,670958147,944438552,-910151203,-1144901734,-501376384,395832950,-971141396,-1647215262,720765995,-1523505266,-253793904,-1718574392,1625972474,-313328629,776772825,-1225964283,-1000071382,436645997,1593939270,1800766899,-2029958861,-320234391,-577010865,437161995,291620383,-773990952,-1691560980,-19892960,-25909601,-1998984903,73292672,1405302714,-1370489065,-871659025,2031625024,772934286,-766206224,2018580570,464692851,-122483040,-2118023716,-1935508393,1227091692,1334553271,1382743856,-1256541287,-426036916,-1131840614,1851737773,-656159135,1021197631,176201447,-1070361304,-1046272712,1503599141,-1519461651,-263344053,-369911718,1438224209,-1398147040,597183969,-1297120037,203082154,-1445029107,1293740396,1800200402,-1898192115,-1429537857,1618566055,-781990363,-627865995,439151088,-2016235175,-648719530,-1944548183,37864299,-1403952876,944955560,-1775711071,-1131348329,-1612943396,-792491298,1593255940,340263058,-1119381917,-1197691988,-1673621178,-1513759381,701362855,396407616,-1704788418,-382358262,1971816845,1680233446,-96113236,-128688060,-1191875224,1908463364,-1341475434,2039613509,870856784,765871099,2083127606,110200398,-1780415715,-1289961942,-1023236749,810218123,1039873119,-275545952,-257058895,-2015161632,1622953787,-1061671652,-2054576564,-371757599,-1562294364,2026673552,-400859542,-962934313,1887163954,234755790,-2129713337,-1966721201,449967552,-1570683118,-232359256,114649180,-2128858824,-812347824,-1268212142,-2140777671,-1310684146,282474292,-1769509923,755932285,-407473081,-333365284,143996951,1065366638,-150231022,-1790220136,-245810077,639759165,-433468656,-135114354,-75320856,-738540221,-75634365,-1829670043,-57560494,-5413580,-1465523521,-285701995,-619793772,-12353502,-539637148,1401398046,1024918622,1066198963,-1868054523,502698018,2034018401,-1675793789,612515361,-681381911,695582218,295365082,-1835614410,366650768,250234609,24218622,1477168845,-697519650,2087858272,1768943495,-588289554,1718353091,-811091989,635601303,-135328963,-1655129197,-1503624445,1974520365,1455614818,1792043790,1582782116,-1131041485,-1445333323,-250673519,-563335401,-104556611,856720398,163225329,-1572998899,113489809,-1439948856,644830470,-2110883000,-652615286,-420396217,1926063730,-506928144,-194334347,-530242562,269751314,-89643064,1884116797,890710427,-434876361,953235529,-50974390,-1235116694,-90088956,1762364976,-1169323992,-1897121661,-1255367281,-1459775982,1390038697,-576128169,1329376547,1505625787,296632432,-1180001630,1545274518,-1585468964,-103792958,-1177348709,210717022,-1332890288,-1480021574,455229545,-988039980,1444551364,1387505170,1907089494,907479657,-1310965753,-1161066768,-1454856061,1412102218,-1323118841,-457342226,-1138542398,1299634056,-1749419117,431014898,1771957570,-1499963326,-2090677758,-1333628796,-517934505,1772653992,1894709383,-1309391548,-101388588,1121062016,-1745978508,450823349,1338446681,-1577045566,1640510784,-309546182,-188352634,1827278874,1808005500,598017323,1760721016,-122058735,511343194,689430397,148288511,731514656,-1600406582,1829639906,914194693,-910253766,542728134,-61277872,498262727,869261647,-1925958479,1693594620,1539155606,-1046568732,-2072355960,-564847737,1484620932,873477098,18900586,1545158897,1927950861,-2128632223,353043558,-1643730633,-1458341918,568659149,330177040,-354248895,39752527,-1390295759,-1857772568,393437735,-1119366452,-699261559,-2035409417,-1857085177,125934289,2012084131,-385548465,-1350072555,-1817758400,898399779,2120765735,-1306712271,936937292,1617721799,41107806,145471568,1585492285,-1659648672,327327925,-1640910143,1857388923,-1075683065,-1977611919,-632504855,-1646383285,713740804,624911803,-124609654,-1882856683,755777166,-108582503,-1103899828,-340621803,-1428307293,615964893,1256479151,-1905044389,-221124320,1805452502,27632128,1851308157,500341698,17754113,408327705,2055159627,-523692216,2063351008,-1724018224,1299437551,1270026213,-1797652232,79273034,-1693808799,-996465093,555160382,-1428591102,-1614660360,-324079483,-1007966560,-219834527,1606072100,1761153513,1233409131,-835358053,371671872,531432505,228627620,-677098624,-953757308,-716995487,1545261296,-349063074,-2078342615,1542315531,225621774,297130719,2085239666,382829358,-1037836278,982392568,652020130,-1261548685,1851318311,1316355419,-1386690132,704076711,-2109220011); +/*FRC*/Random.twister.import_mti(378); void (makeScript(14)); +/*FRC*/count=612; tryItOut("testMathyFunction(mathy1, [0x080000000, -Number.MIN_VALUE, 0x100000000, 0x100000001, 0/0, -0x0ffffffff, -Number.MAX_VALUE, -0x100000000, -0x07fffffff, -0, 0, 0x080000001, Number.MIN_VALUE, Math.PI, 0x100000001, -0x080000000, 0x07fffffff, 42, -0x080000001, Number.MAX_VALUE, 1, 1/0, 0x0ffffffff, -1/0]); "); +/*FRC*/Random.twister.import_mti(410); void (makeScript(14)); +/*FRC*/count=613; tryItOut("var mxftqn = new ArrayBuffer(16); var mxftqn_0 = new Uint8ClampedArray(mxftqn); mxftqn_0[0] = -24; var mxftqn_1 = new Uint32Array(mxftqn); print(mxftqn_1[0]); mxftqn_1[0] = 15; var mxftqn_2 = new Int32Array(mxftqn); mxftqn_2[0] = -20; var mxftqn_3 = new Int16Array(mxftqn); print(mxftqn_3[0]); mxftqn_3[0] = 18; v2 = this.a0.length;( \"\" );"); +/*FRC*/Random.twister.import_mti(497); void (makeScript(14)); +/*FRC*/count=614; tryItOut("yfkwsa((\u3056 = (d = z)), this.\u000c__defineSetter__(\"\\u3056\", function shapeyConstructor(xvbgqh){\"use strict\"; for (var ytqwsyasl in this) { }this[\"arguments\"] = new String('q');delete this[\"arguments\"];if (xvbgqh) this[\"arguments\"] = Uint8Array;Object.seal(this);Object.defineProperty(this, \"toLocaleLowerCase\", ({get: e => { return function(id) { return id } } , enumerable: (x % 21 != 2)}));return this; }));/*hhh*/function yfkwsa(y, b, x, x, e, d = x, z, x = '' , w, NaN, x, x, c = function(id) { return id }, x, c, x, \"-29\", window, \u3056, x, x, e, x, w, NaN, x, x, e, x, x, a, eval, window, x, x, x, x, e, z = true, x, e, b, e, w = \"\" , x, NaN, e, x){print(x);}"); +/*FRC*/Random.twister.import_mta(-1567052806,216217090,-1111522733,905417962,-1989915253,1829703671,1138867223,-1069954879,2132698057,-1936928605,-997017386,-1377634692,-1186530071,-1159531837,70899557,-1572416611,-1298319536,-826032279,-848023907,-1128470081,-528755892,-164470740,-1188448109,48596436,1507920234,-316453148,174931226,-1377898520,1025137465,-85124942,-643312187,36482473,-1857927888,-2059671374,1521741927,661674244,-1979100254,-2718300,1164662676,1098580770,-242145354,1351955097,1097640411,294891508,-2145707883,1828608520,-2127283727,-760548964,-914143641,-1538556222,-300973816,-1239326271,2005702022,1078931059,1228672798,-1543586816,760444501,304067723,-143720268,-1346048440,44130896,-1133169294,973979587,770596652,796041623,-1478574872,368247823,-707641413,1804035808,-1247045989,1123524415,-581256258,-1101721613,-210687622,1584788619,-1061151990,543244503,761366143,-590999570,1799618771,-1327830149,-1133670656,1952044476,-183735897,784563796,743952309,1282544790,-419675263,-1510042940,230214239,-1416423529,-1070564282,-1206790414,-1360632856,-515671700,473551379,-951869315,454757419,-316699589,2037187939,-2087533072,108222692,-651094468,1378837121,-1283054068,-673046292,-1345800639,-859031605,158828080,1266783859,1408896466,-1244646492,-1873393320,42868427,1314149206,-327308278,-1838062913,-280221030,1374487138,1527727512,1182327226,1385464099,-1867473084,-423798879,1969578000,-1070691976,521869171,-1739300544,2092839619,1875908940,-1214279852,-387730190,2066116273,-1918015831,-1784442359,-392106599,1766580905,669648473,-1012190604,1670819727,-931684238,588477209,-1135119180,2030118107,-1552788739,-767901080,2041859063,-2089554711,-219376313,762265293,174101895,-2069461510,-156408487,1950252082,-1169808138,1529612755,1001310731,-2013566058,-823931339,-159152321,1994968525,-1600450891,845425607,1134868173,-1957652038,-1860707555,-654378069,-1453909162,-1119438867,320610810,1773330021,-1113945786,-1048204435,-1120495411,1349020856,1636476910,395865632,1754287768,424667260,595123250,-1593148978,597683163,-185513983,-1161251815,872701056,-337134148,-650909947,-1057965151,-459145351,-936943568,-1366859492,987686052,111337103,-1783954311,-550060845,-682889179,1781827954,-1854630108,-1360900196,791986916,-472872478,1989487151,-1442924032,1504779287,-2073002718,982250025,-1653373473,-785199947,-1849421559,-236990716,-48364309,718568373,1420683231,-163970583,603319129,-1207669423,1946798798,813300655,-705232439,-1540995808,861232345,-1290034803,-1538309872,-378469373,1434917813,671794707,1877363661,243225784,569014069,1039203618,-497431475,1730680067,-1476870647,1606730395,2110873840,587166724,-41804317,-1889972243,-1897123574,-139574696,1989230601,379667618,-634820779,-27957708,-1095331820,1658183751,1922176780,1644544273,-1811910727,1830965370,761614199,-180126868,2007718562,-451853327,1511759504,-384457757,1800751970,-246857943,1337640031,-299204704,1661537058,-2015906780,1700754628,-1545025409,1912195824,-1167711300,1039602306,-426237199,2042592737,1027876342,-2059252718,-1136484411,740202726,1584248581,-1237645590,2001609699,-1921121958,1837787163,-982714009,700983371,-1368900102,-62564111,1687753280,-1323595271,839286303,-1749118424,1510200197,-1994473479,1566268808,1324643310,-566613925,958815623,1863985863,-1783859523,-1814078610,-429876295,-752491987,2001858390,1128266471,1916322547,440743030,-271800506,880896239,1836528687,-1216319988,-1335056827,-1270811048,1760737809,-1438302326,678471144,1729150760,-377245248,1673132123,605278713,-1987586173,-1344630131,-1978420815,-136494527,-1909508891,1945864344,1661479524,-359456564,285781260,-1277593864,-120555470,-552819256,1146074037,-4655662,1510600272,-1580106306,1244280906,1447531249,-837403452,538126179,-220645552,171918615,-663115998,175395527,1297732034,1367048386,-2055523269,2040369926,220452621,-780080177,102415832,1907430636,432772798,-1415845995,65282801,-321464948,-760153964,-1893682140,-1206689183,434379796,31146556,-1596614213,582542252,-1498469155,-1846507098,944560799,-1927053771,-227945183,-1298881872,-1334805526,2132426846,-1950340626,-237131074,133717651,-1983841819,-901256358,-1539110897,-1129166646,-373352863,856817595,1658307079,955571206,511433541,1905900864,-110633714,106477351,-1870120884,1781935515,627364090,1148745873,1252076054,546781856,-1694179723,155782620,-814617721,1537735240,1563374818,228481724,5016512,-1778011206,214040505,708883059,-665481675,-620029618,-383756733,-917971072,-1266825386,444939888,-576439,388017119,-576906975,846835859,1564591106,213204690,233332524,516687551,68411187,-152428,1226344701,244779539,180898559,124857008,-481946239,-1678814053,368398326,-2115979063,1481592828,1052348228,561338225,-1881247117,-922954461,859287611,-1490908483,968483573,1669539275,-87486333,1487282611,-386101785,-788798635,-468371738,-506020531,1928984940,-2115150085,-1256976670,394291281,-1249641314,1975068155,-1980271715,2103722410,1249038955,1799959834,-1465406261,-794590664,779327693,1835339027,1741799176,-1123037430,-1511879618,-1613362329,-1854886525,-1146558662,691885837,556118131,-1940632058,2006434285,-619667096,-1708787575,999736415,985247404,-1369028290,1539366662,-1402868896,-1667018950,1606980352,779400329,1479168702,2142500584,-472689812,-1351023399,411527977,-476309939,-430002482,859032603,1272849587,1737963130,997407579,-773868208,1230483121,-1465596190,856978208,416413405,997098123,1331016508,2079533440,-80886962,70677124,-1474300475,-1516308363,76356303,754387555,-1770244015,1333339260,1193729589,-214481889,-1985780869,-1530615124,1779731257,326070845,947068622,16604731,-253132485,-794690825,965080494,-655411573,2121476268,1078346461,-516479462,204079799,1081037716,-622029827,378279294,790774902,1663738021,-17467351,2065395779,-1724377125,-107825921,-1982381413,-420435828,1679946378,-684964209,-625436408,951926976,-1940991950,-1153098569,-42246570,1688221991,469341555,1749770045,1004053535,542174181,2029272646,919817358,-1791950541,870060004,-1307125753,-19157938,729390221,38821365,1155056356,-1106323231,1306639147,-708374316,-485619421,-1317051542,-1204412112,-1293887913,-58350566,1766083977,1254510853,795940183,-870742033,1333988828,-858540010,-1973475690,976802543,-134971367,-1482924462,-2119678187,-466556185,-727837806,467652229,-189750063,-631054947,-1790156589,-1052408189,450046846,-1168105008,-276820450,1621320238,-564828674,53933041,1123170669,-598100619,380596475,758159794,-1110232210,834652568,-575961141,774253380,1495169013,757186187,841079523,-813715440,1726228046,1238466930,-520359307,1786181471,-1004456046,511861283,1712164291,1773830794,-1516588856,154611748,24695328,1470963699,2013421083,-200675132,1042585172,900333189,302699906,181317601,1750458207,-1525619613,-1322181552,-778399968,1119953686,-613189722,514991897,-1871962142,676920793,-1841896197,1221164697,-566189692,-474310032,-1098988110,-2136352916,-1053629771,-1301549306,-1994794040); +/*FRC*/Random.twister.import_mti(485); void (makeScript(14)); +/*FRC*/count=615; tryItOut("mathy2 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = 0.125;\n var i3 = 0;\n d2 = (-8388609.0);\n d1 = (1099511627777.0);\n (Float32ArrayView[((0xfe5296e8)+(!(i3))) >> 2]) = ((+(0.0/0.0)));\n return +((+(0xffffffff)));\n }\n return f; })(this, {ff: (mathy3).bind}, new ArrayBuffer(4096)); testMathyFunction(mathy2, /*MARR*/[this, /x/g , this, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), /x/g , NaN, objectEmulatingUndefined(), objectEmulatingUndefined(), /x/g , /x/g , NaN, /x/g , /x/g , NaN, this, NaN, objectEmulatingUndefined(), NaN, objectEmulatingUndefined(), this, objectEmulatingUndefined(), /x/g , this, NaN, NaN, objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), objectEmulatingUndefined(), /x/g , this, /x/g , objectEmulatingUndefined(), this, /x/g , NaN, objectEmulatingUndefined(), this, NaN]); "); +/*FRC*/Random.twister.import_mta(-1652915633,1861691317,-1816979979,700928332,-183891628,1192188573,-1372258464,991598618,-1388877795,1057527913,1514423788,-935095929,-625619199,-553155490,2010543493,274076501,-251763336,-176493202,-1071124816,-1820591065,-520723315,-798416032,-1064142301,1958726473,136849462,1682164220,-1724840569,259606624,239156322,1392103552,-509147906,1797392211,-1202395942,-1393071777,-79388315,-704689532,-1677822924,-2090658169,1380219133,-1188704992,1146496881,-1371632541,-1119212700,-323217042,-7840103,-453579379,589802149,-1769986314,-92138582,-1482407236,-328492814,379799504,-553740050,-1718499195,-1273114050,1349976210,24626969,-2145425568,2128551977,1618280795,-1838230337,-1281773869,-840462594,345249949,679057963,-381117324,495445564,771976310,800887026,1691365498,1902497503,-396983377,563267075,-1987986318,-1011654935,1715541101,-1757472567,-838921798,183770744,-1302984327,367584051,498850980,-1728200873,-2034365830,-965412428,-1902261079,-1721572801,1244577727,-457549957,-1013675992,468391843,-1490737097,1397048176,-658617997,1921687971,-1104905682,-126731095,972770963,-1429793262,1190116557,-1341200275,-1522800539,1423682355,1943509055,2023645771,-157289167,-7080703,-1269677533,1818853649,276362055,-1039716519,911739904,-1744175769,-971173967,974443698,-1872801260,-1387624784,2121962575,44426938,1075236984,1320650855,1933787105,1936592084,-2095053577,-1447033305,813011946,1745601066,813428529,-313485906,594708330,-130086325,1608424240,1655004637,-1216790276,-157199520,-2048516426,-1322969108,25522911,-1875388066,317234359,1571817568,771208638,1470036661,1986672111,1113914809,-410859311,-597064625,1584407197,-2107730798,1241508552,-513979426,1394696473,-1037492439,-1346124756,135991340,-308570029,1228661966,-787987822,777057455,-1375740955,1167495059,1248166826,-2099103402,-228799292,1981743875,1960806943,-1331992756,322304187,1381097080,1499560764,-995124930,1820722618,114719290,1927748898,-1968868825,-464766706,1424704866,-755854912,311074280,1383531914,345960519,-1243651036,-379817119,-405725906,72095558,674940054,-682178997,-1304020842,1228017299,1700948589,-1844395454,-54658602,-636701807,375921859,-1730429038,-1321503957,372779441,830253581,1042342904,-1804405703,-344648212,361205536,-1568857817,2050646154,809810191,-1449794460,-1002952704,-1008701991,1914783843,-1882034699,1769105766,40853344,1938767627,-1976342939,1585050065,1689698942,291001066,-1683239454,-1071266197,-2006228950,1590018461,-1315095816,1406072684,1935862377,1279209827,479230527,-1910083180,344393994,1880054052,999768844,-1017386222,2147411599,-1310356721,-1864610024,711270936,184473139,-508784832,489839977,-1282101077,955637722,-732486129,-1010141456,1870438479,-1348129422,488156562,-110172874,997305456,1946084238,-1493693603,1328049479,1310619391,1945994599,-809248549,-197342513,-1560598194,2079037907,-212467765,527619598,1547122819,-909090485,-1357073587,-1981080825,1560518244,-486370996,-1638922407,213905852,325151879,-1585370786,-1331913064,-1075114643,731244115,-1450765590,1388873424,943335888,1949272024,-63106297,1214891630,1473598622,-615521494,-909474285,2126238754,-967746786,-772639567,-1048819511,-1950339468,-1965655756,-34410888,-54297989,-1797023964,2079468044,-787511679,-2030289001,2056656885,1416121227,-1002729099,-551104197,528009169,-906853517,1212305929,749755448,-1100484655,16472641,-906871131,-1929433137,214037063,1356096852,1596449966,13270262,1233358416,-1418338109,-1300245862,782284102,94147722,78231841,-2067053018,951795580,561158615,-973849330,-556209029,1656837698,-302524139,974059301,-1480015534,-2078670672,1451039863,1374191383,2033436196,-586539195,-1244440902,835630870,-1040391784,1603632169,1067374175,-956338519,1749373047,1079333504,-867538181,-458504264,518376545,62707621,-1160526286,-1517449237,563582764,-297281444,1185029689,239087077,-858549395,-1773327936,1160271143,439775390,-995074331,1824589768,2089262560,1759929140,-1189506253,-1140005768,-1456627237,-1329115496,-1695529312,-46378472,1464146611,-1343552968,-572644541,-827836477,73754152,-388428799,-937688287,-1067924403,1221869587,-1665675667,674435466,-1347172778,654477267,1946867091,1107971230,342608367,1899181160,-571562663,-1996125611,-898825457,1137730110,447314001,1454314692,1818980805,-1052516414,-1160107190,-379888373,-81343857,666271374,-1401576665,-191635046,1983465187,2145211330,1878206543,-1625484963,-411850307,887420827,691471040,136473210,1558747537,1067811354,743856348,919919678,-483559123,315029846,1009418217,1412274915,308994001,598857636,1918708775,-667956380,-104274969,-1233522368,1262113771,-1308709426,-510020468,-1315081985,-655727175,1699026285,-1238690705,154458977,292136181,803011277,-347147265,-235945265,-1262938503,1369879964,1136408534,-1309952066,1462141217,-682846554,-1053689734,-610304233,769377913,-1164144273,-337684543,-715625852,-1145377391,414097711,-1873076951,398487412,550228228,-662234220,620546151,384871256,-1468790921,1180310675,-243271733,-2106202756,1296634089,563326070,-1696824305,-853500895,-739114487,-653192621,-107662910,1035822095,563657531,1383511611,1711261588,1411358184,926545230,500036268,-1941118781,184723673,-37415114,1460770394,1516620948,-270573649,1353014075,-1639152444,-743661791,740679805,-1816717431,13743337,1718181263,-204484671,2111172034,-145971179,-416546189,161459528,-1230419393,576823363,1714795642,-1681053804,2073944349,-198576757,-1836428566,-873455035,-804989863,684023209,1159609057,-2083732398,-2124955536,-969032864,168247645,527966141,-162732239,-68859972,-1094028397,-1467670511,1746274495,1699417285,-384453076,-1500702406,-2020795907,2092281225,25313396,2138753711,-513153092,509737293,-1409841218,1051230229,-1229658937,-346924992,1014921129,-578804025,898272895,325616805,-1621623467,-1987356135,-1220295373,-1388959618,-1377414071,-1532047369,337441385,714552353,2060308821,2118579562,581604073,403396009,-1578308346,-735017084,-704175741,1018192853,1391077399,954585221,-342764184,-1365022310,2062631597,-937572424,485218307,450321934,-1484962440,973885508,-197434351,-1974541812,-1253545824,1712711613,1739594406,-94842179,-1143502228,-310122678,-142345136,1645112429,-770518956,396847901,-2066517293,-1686002303,-1653856628,-1791934080,-1315323102,-1421502676,-1509596366,810324005,-1112199466,-142276172,1769817732,1546124405,1828586131,-210253644,828512566,2115083506,-470212206,1323229415,-44435122,-1391322373,384783943,2052672273,1651377239,809076728,247783433,-350228006,480914174,1063198978,451418894,-628913648,607586708,-1962687871,1957391014,580648115,645266913,1049660879,1645376799,-192576248,1511594103,-668182913,680491162,493746544,-2113202175,1309552113,488114100,-1749580174,2016829097,1098990198,606590245,1106100705,457763862,1919172545,936346959,1104333334,387087505,-1293146949,612340536,1798637613,-623218403,-2091519003,-2058441566,688268346,1065990260,-1771902518,-970397986,-1543551911,-481229213); +/*FRC*/Random.twister.import_mti(106); void (makeScript(14)); +/*FRC*/count=616; tryItOut("a0.forEach((function() { try { Array.prototype.push.call(this.a0, g1.b0, a0); } catch(e0) { } try { v0 = r0.source; } catch(e1) { } g2.v2 = evalcx(\"function this.f0(g1) { s1 = new String(p2); } \", g2); return v2; }), g0);"); +/*FRC*/Random.twister.import_mti(201); void (makeScript(14)); +/*FRC*/count=617; tryItOut("\"use asm\"; a1[7] = this.h1;"); +/*FRC*/Random.twister.import_mti(216); void (makeScript(14)); +/*FRC*/count=618; tryItOut("this.t2 = new Float64Array(a0);"); +/*FRC*/Random.twister.import_mti(230); void (makeScript(14)); +/*FRC*/count=619; tryItOut("x;"); +/*FRC*/Random.twister.import_mti(258); void (makeScript(14)); +/*FRC*/count=620; tryItOut("mathy4 = (function(x, y) { return Math.hypot(( ~ (Math.hypot((Math.max(y, Math.fround(Math.acos(Math.fround(y)))) >>> 0), (Math.pow(( - 0x07fffffff), Math.min((Math.min((x >>> 0), (x >>> 0)) >>> 0), ( + Math.max(y, x)))) | 0)) >>> 0)), ((mathy2(((Math.fround((Math.tanh(x) | 0)) + mathy2((( + (x | 0)) | 0), (y | 0))) >>> 0), (Math.trunc((mathy0(((( ~ (-1/0 | 0)) | 0) !== x), ( + Math.trunc(y))) >>> 0)) >>> 0)) >>> 0) >>> 0)); }); testMathyFunction(mathy4, [42, 0x07fffffff, -0x07fffffff, -Number.MIN_VALUE, -0x080000001, 0x0ffffffff, -0x0ffffffff, -0x080000000, 1, 1/0, -1/0, 0/0, 0x080000000, Number.MAX_VALUE, -0, 0x080000001, 0x100000001, 0x100000001, Math.PI, -Number.MAX_VALUE, -0x100000000, 0, Number.MIN_VALUE, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(572); void (makeScript(14)); +/*FRC*/count=621; tryItOut("\"use strict\"; \"use asm\"; b1.toSource = DataView;"); +/*FRC*/Random.twister.import_mti(586); void (makeScript(14)); +/*FRC*/count=622; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return (Math.pow((((Math.hypot(Math.PI, 0x0ffffffff) | 0) <= ( + Math.hypot((( ~ ( ! x)) | 0), ((( + ( + mathy3(( + x), ( + y)))) | 0) | 0)))) | 0), (Math.fround((Math.fround(( + mathy1(Math.log2((y | (y == y))), Math.trunc((0x100000001 | x))))) == Math.fround(Math.expm1(x)))) | 0)) | 0); }); testMathyFunction(mathy5, [0x100000001, Number.MIN_VALUE, 0x100000000, 0x100000001, 0, -Number.MAX_VALUE, 0x07fffffff, -0x07fffffff, -1/0, 1, Math.PI, -Number.MIN_VALUE, -0x100000000, 0x080000000, 42, Number.MAX_VALUE, -0, 0x080000001, -0x080000000, 0x0ffffffff, -0x0ffffffff, 0/0, 1/0, -0x080000001]); "); +/*FRC*/Random.twister.import_mta(-951836219,-1728884641,134951223,86017712,-690404019,567190414,-1096796896,-1655308921,-89750782,2031073301,-1354520627,-672956165,501149192,986464633,1760254610,-1912159236,830940508,-772973930,825031232,1492054630,-1327565815,-1677420381,1434206484,220254074,591937547,-1169372975,-1393403953,-154182402,-1647968711,1635071971,-1356495712,-1379809837,-1739225775,870741707,-1412539080,-1772075763,-178061851,1253449166,-145903279,779864547,900537215,1175172253,-435875426,-250810137,-877127907,270302745,800906012,1806803597,-72997335,812634346,-1171368925,-1391810293,-1735834508,2073904489,-219741114,1418973042,-738348615,1064710808,1353122224,-1383940465,-514007923,881160516,-1229096187,-651435998,60668788,1393426866,-1689430280,484237472,-810742005,-156515862,-146391652,639536241,1415939330,1721604975,964994504,-1095574330,-179789996,1168882645,-431298068,540216967,1929905040,1648019297,-1535965362,1789251986,1760500916,-136814205,-1708500102,815316214,441951497,550817413,403732014,-1571650563,1699954751,-930562649,1510737910,1727883993,1151522790,-748801943,-260558876,-1636312236,1037673436,142615290,506007379,230859243,-900644104,-2088089958,708061154,1236363629,381276289,-994145542,1521370740,-361331517,460312763,1131123476,-1546113356,1745732429,1350639167,-369054947,477437845,1674793515,-1792827056,719291087,131026929,1147398613,-277279546,-1724659349,752030478,-1845066464,1168486876,-1887436325,354589901,-702747813,957756055,1666972697,-484449699,-1935537038,265103411,883658618,-2104043885,373150901,-43380809,476357663,-657659771,1881606587,-1239282508,-303354634,1364059369,992156173,-1866165899,-1159706653,1171286259,-569779978,810678448,-1101702485,336787098,-1994517203,-553132775,-1406228763,1575325049,-328950773,-1579044090,-1695499990,-465420050,2000056542,318682866,-1291311990,1989619632,426016537,-1861905592,-707607253,524174425,1598865768,1435339778,1865269624,1128531377,342113859,-897554062,127643155,-731743349,1045811719,201385045,-1744846210,294030016,1914670171,450462274,1505501728,1166620341,-1026648428,-1320050969,-745805007,1516893567,2131569558,-1499999208,787882874,-404687701,-326882872,-475754298,-342493964,-920071500,-1382622071,1649196810,-1789142724,-15325116,-819674711,164820358,-173305230,-2133927782,-1583786344,-1161407744,894760274,444548006,-760541029,-1411479902,-1209630175,625548718,-1170207282,699037129,-1842390073,-1628454648,1967105012,-1652543010,1088511884,-1624212065,695583140,1365797662,-1528005485,-1458404634,-12350121,-2059865639,698795198,-472431320,1461923861,1772127234,-342711252,19015233,-898579294,-1365367170,797003591,-1952878826,-1359098416,1529444865,-2040677782,-1714137787,2131456917,-312858611,1821650040,1628537761,984236408,1654136543,-344208716,-1378435818,-1650385735,1499077993,-40909976,305275080,1030205699,785145060,406235198,270615977,1456696360,-300201065,-984641014,-1478423125,591548054,216655120,1744156621,1052466508,1843614771,-2131328268,717705832,-439387758,-1562618763,201419505,363534576,-861430831,-1617771234,461732517,-1752586826,1357339357,-405492123,1488316646,51809985,-1390060599,-1776441725,2048724482,777942668,1256960877,-1423108321,1232888898,120719514,56446774,-404881327,-533556056,542650013,-364431134,421125180,1264201868,175088711,809935469,-765541835,-1075280240,-2072704443,1640365054,706795176,1841400191,-908518469,542519548,1472840888,-293042209,-45289981,1039502129,1780569841,1820593612,-1739589527,1824858952,-1813620419,36622338,-294342452,-751687460,-895476630,210204394,1239967583,619735681,-1231755006,1654832957,-857617162,704275497,1731201153,1348958577,1054310303,-83841248,1284937992,972898577,-954319098,1771814957,-1449896669,-1226086106,-1932259173,1923112910,101069730,-2002394050,-216799966,1596862307,-1428643332,1948781872,-1558944004,687195851,1858026268,667204224,-1130377124,839084593,-784678346,-1388250895,-1453888952,-872351972,-2009345554,-672946537,1482342301,-1467825577,-876867823,1957592325,351814435,1929291596,1308597031,-1714439771,2140170204,-283572660,565089,-1959267338,-1932173248,1744759440,2091646850,1323759328,1883816614,-1474408923,-1470297279,220177808,-1738924794,574089646,1371130287,705255004,1061518584,639835408,-5885192,-247221440,-1337945309,150948243,-231044031,365090918,-1643401181,-1792908432,756031251,502857842,-535750719,-204137704,1384077402,-1052162997,456094052,-399491713,1247759631,2030497046,1479437230,-1124453878,-2082269735,-2138693320,1736181285,-1368912592,500699015,937026738,1032941426,-1745662601,1105558242,-1523991798,1568038994,-1308472110,1888982599,653682994,-1312567530,-49278594,2063927671,-1085652513,1762015506,1076617448,39567742,683790103,-1577351046,-1941387422,2058970325,1740646771,-726637801,-1346617964,-48891182,978239889,76030194,1300123047,-798333374,-243190971,-819944466,1133391568,-532762344,-1484559709,151687268,1899419938,584196197,522053795,1690992542,-729225010,-591740064,-1085446361,-1879463004,-1122815108,-1359964719,1411239240,1553120016,-2088168010,1122956033,-1604179460,1407495914,1708970975,1135561462,-267493749,264560407,1432224796,1914159821,291751132,-535714757,-2083574886,-171023095,1996990248,-1762519257,-1881830182,574646508,-62449821,-1200494326,-1869193376,-1032369696,-1785643947,259545539,2000661855,496356301,2144589480,-636862410,243100478,590008110,-51320721,-1287843917,529941853,317450858,876955897,1787499424,-1731861703,219121465,660494325,1571127548,-1310178238,373439989,-1997958865,-1740776884,1689378147,-1052030426,-123163536,1728753004,-1424482808,1220802104,1296538007,-1212859194,-418017697,-33538706,866286879,2065504176,-2082052772,-1136525609,-1408453584,1061330765,1813683220,-21706754,-989855878,-1813922373,1904037412,1040157051,-487490341,-1126421283,-689813817,-2147096664,-647402068,-1140488030,1982896704,-2134115291,204010478,-188161547,987144235,131713725,1003633573,-418991671,-407609236,1811078978,-930872137,1789149180,-1907275912,1217064464,1328719031,1638829135,-2141652095,1596520480,1298248219,-1776985638,-1878775750,-427477525,2049993228,-2133544192,-343987148,342051992,-1222626594,-1040850240,1312383147,-2101576672,-1514768855,801688895,35686990,1936056785,-1613570409,1010371515,-90774342,2009436651,-1844541456,157473556,1924698336,1069460187,1550079156,1721092921,-227955353,1260438345,-1830226379,-695073177,1343473595,-398129374,1860225952,-1775796378,2030399682,-1252246771,926788243,-108064783,-965819247,-934529514,1429123610,-2050816161,-1717072933,-400085862,1856894576,-88348214,-942811896,529485725,-678302324,-715406136,-200498299,1042901014,-661464051,1766331944,-458833059,-1326886713,2126823804,-1547334372,1296995530,769590443,323045195,-1681278591,1545453476,-1976305309,-1112928640,113932315,1831320687,1899827650,-494970177,-1536328358,1180632080,-849309365,-592648590,-1046384275,852804393,382235799,-2096798546,992086507,-1159763020,1004790902); +/*FRC*/Random.twister.import_mti(229); void (makeScript(14)); +/*FRC*/count=623; tryItOut("\"use strict\"; mathy0 = (function(stdlib, foreign, heap){ \"use asm\"; var cos = stdlib.Math.cos;\n var abs = stdlib.Math.abs;\n var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n {\n (Float64ArrayView[((i0)-(i0)+(((-0x8000000) ? (0x30ed798c) : (0xd3129c9f)) ? (i0) : ((0x0) > (0x6b847e79)))) >> 3]) = ((d1));\n }\n i0 = (x = \"\\u8FF5\");\n return (((0xef3c2e02)*-0x789fd))|0;\n i0 = ((((i0)*-0x4c7d)>>>((/*FFI*/ff(((+cos(((+abs(((+(0.0/0.0))))))))))|0)-(((/*FFI*/ff()|0))))) != (0x3b410593));\n d1 = (d1);\n {\n d1 = (Infinity);\n }\n d1 = (x);\n {\n d1 = (-7.555786372591432e+22);\n }\n d1 = (4398046511105.0);\n return (((Float64ArrayView[1])))|0;\n }\n return f; })(this, {ff: (x = NaN).call}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mti(586); void (makeScript(14)); +/*FRC*/count=624; tryItOut("\"use strict\"; /* no regression tests found */function a(window = --arguments[1], {window: [{z, : [{}, {z: /*iii*/v1 = g2.eval(\"/* no regression tests found */\");/*hhh*/function wppqwb(window, x = \"\\uB072\".getOwnPropertyNames( /x/g ), NaN = (4277), \u3056, w, x, a, x, x, a, e = eval, z, window, x = window, \u3056, x, \u3056, e = this, eval, {} = \"\\uACE4\", e, a, a, (function ([y]) { })(), \u3056, x, x = x, x, NaN, e, \u3056, NaN, \u3056, x, y, b, b, x, b, x, w = /(?!^{2}(?!^){0,16385})/m, x, , x, delete, x, b, x, x, of, x, e, x){v1 = evaluate(\"(false);\", ({ global: g2.g2, fileName: null, lineNumber: 42, newContext: true, isRunOnce: '' , noScriptRval: (x % 2 == 0), catchTermination: (x % 3 != 1), saveFrameChain: false }));}}], x}, , [[[], z], , ], ], y: arguments[\"4\"], x: {}, x: x}, x, x = (4277), x, x, x = x, w, x, x, x, x, x, b = /(?:\\uA075\\w*)|^{0,}|\\b{4}/gm, x = window, w, x)\"use asm\"; var abs = stdlib.Math.abs;\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(d0, i1)\n {\n d0 = +d0;\n i1 = i1|0;\n switch ((((0xa0cadd72) / (0xe315650)) >> ((!(0xfd2cede7))+(0xa30dfb6e)))) {\n case -3:\n d0 = (((2097151.0)) - ((+abs(((Float32ArrayView[4096]))))));\n break;\n }\n return +((+(0x7fffffff)));\n }\n return f;v0 = this.a2.every((function(j) { if (j) { try { Array.prototype.unshift.call(a2, o1); } catch(e0) { } try { /*ADP-3*/Object.defineProperty(a1, 4, { configurable: (x % 4 == 3), enumerable: false, writable: true, value: o2 }); } catch(e1) { } a1 = Array.prototype.filter.apply(a1, [(function() { try { v0 = a0.some((function(j) { if (j) { try { v2 = evaluate(\"new RegExp(\\\"\\\\\\\\2\\\", \\\"gym\\\")\", ({ global: g2.g0, fileName: 'evaluate.js', lineNumber: 42, newContext: true, isRunOnce: (x % 6 != 0), noScriptRval: this, catchTermination: (x % 2 == 1), saveFrameChain: false })); } catch(e0) { } g2.toString = encodeURIComponent; } else { try { m0.delete(i2); } catch(e0) { } try { Array.prototype.sort.apply(a1, [(function() { for (var j=0;j<34;++j) { this.f0(j%4==1); } }), f0]); } catch(e1) { } try { for (var p in e1) { try { v1 = a2.reduce, reduceRight((function() { try { f0 = Proxy.createFunction(h0, f0, f1); } catch(e0) { } g0 = newGlobal({ sameZoneAs: /x/g , cloneSingletons: -11 }); return o0; }), x, x, e1, o2, p1, g2); } catch(e0) { } /*ODP-2*/Object.defineProperty(h2, \"call\", { configurable: [z1], enumerable: /x/ , get: f0, set: (function() { try { t0 = new Int8Array(this.t2); } catch(e0) { } try { /*MXX1*/o2 = g2.Object.prototype.isPrototypeOf; } catch(e1) { } try { v0 = o2.g1.eval(\"[1,,];\"); } catch(e2) { } g0.e1.add(this.o2); return b0; }) }); } } catch(e2) { } this.s1 += s2; } })); } catch(e0) { } Array.prototype.sort.apply(a0, [(function() { try { m1.__proto__ = o0.o0.p2; } catch(e0) { } try { for (var v of f2) { try { a0.shift(); } catch(e0) { } i1 = new Iterator(a2); } } catch(e1) { } try { (void schedulegc(this.g2)); } catch(e2) { } t1.set(a2, \"\\u195E\"); return g1; })]); return m0; }), p1, m0]); } else { try { o0.valueOf = (function() { for (var j=0;j<79;++j) { f0(j%4==0); } }); } catch(e0) { } e1.has(g1.b2); } }), this.p2, m2, h0);"); +/*FRC*/Random.twister.import_mta(-1899344055,-602203584,-1458337129,1752064668,1637315107,582795944,-1936849439,-2022857113,-1468756485,1798129909,1286119200,393830630,-1971865439,1773530267,-225523656,-279654955,66054787,-550011202,-823435259,-852077696,-561613146,-745868386,467123079,-1830735880,-760642882,-1143043648,1397775829,-958862640,1341155611,1130839572,2094407357,-459850481,1693338180,510568565,-1190548587,1491765093,-1708072469,810198458,381908524,-787290007,1404978540,246902024,-161883398,-313921512,-1452106788,-556327705,1035044396,2107696371,-1429259670,-1082209056,-1445950475,-979514124,-1445682644,1397744432,1980691675,-1167026794,-648597204,1432788549,425677621,1346592012,2118492837,-1067654593,-235154532,-1381054867,-1584709691,1711011818,-86866561,1480333866,331071091,-1701888456,1343999247,929896141,-1690172767,-703658438,-1908930639,-1510716119,2052948879,1198917572,855228316,-32989327,1568402473,-89000386,673033759,1880025127,-523902600,-1043021075,-1937908440,-1287158133,-405842811,509369266,2124517625,363123161,803098662,-2094140961,252809079,-882306897,-128384980,726172843,196847821,1976593333,104723019,-703401407,-1981727712,-1690664784,1875585067,418458942,1623649566,-1280071902,1500699692,1456825935,-38126057,-1096857840,-249750571,1961341673,-542222505,2055988213,-1785150229,2077723401,-768974623,1470457385,1461517453,2127730218,-387140723,-1120606153,59399312,-732741112,-81950271,-752601355,-1032470094,1377773159,-383565283,-1633329166,-1345774459,-167308812,2107256236,1097916085,354551069,2116289311,-723353765,618491117,1846905831,-1541934469,417653100,-731979021,-2080992962,1391006445,-807016969,439453635,-914580455,-2062848684,-476529248,388442098,-194671755,-1893907233,1441585993,518449279,-743453620,-1120704307,1910375111,-1338920714,-566715927,1056250672,-984858329,-55427492,1521114533,1918343598,1647791125,-173659385,1044919916,1575349619,-1556675307,-1768876904,-1990361795,-176388825,-905644071,988544090,1257544449,1960157864,-1558300509,-1715690482,-751745158,198521795,-1317740379,-1497273780,-2146863826,197274867,-1853682517,1283846322,2027699680,484287633,-922898794,-511139481,374086069,-1094854183,-141450669,389513137,98042848,2124701970,1109898749,1853304657,1989489983,-1549398898,-1567007325,147486441,461999500,-1882912865,-407049340,1478888953,-408544016,-883132088,158211743,1196436107,-2090710474,1138438508,-1539806887,-1252420694,-1598827252,560775393,1311272648,-2092530010,260611900,922066242,-300374441,-2030461897,-299185289,608844083,-701031208,-1071855907,-938213658,858725832,-1416843755,2116618600,-1250929334,2070931079,2064855163,614478980,-57492868,417496459,-1993028473,-1634159831,-836787576,-1118018212,-1293433440,-1659517234,1157698150,-526662876,-1333483233,611521033,-1590863216,-1815067971,1310710714,-1073274793,-1097212021,1978370885,448942302,-401154216,-1952267425,1079134954,-627746351,1837319514,2139906429,-1727732024,-260050855,-989102628,-693112088,-223057378,-2118564449,1164213023,663171530,-1642703171,-1949125919,-1250732076,226393385,762845575,-786825279,1149935119,1539446021,-512226065,402957841,1237480535,179375984,-888995881,1216546554,1500628532,789478062,301628196,-2051744541,1379912619,1721572648,2136895057,-1133270597,-136525005,-1524355946,-1477263237,1486956034,-1564133114,1104782469,2126241391,-1409658666,-125763657,1117356399,1085412741,1615904667,-1603896408,-1423642471,1111915334,-540166612,1133158844,810678073,917040796,296350287,-1848947450,-805691305,-639378249,-1533362364,127907869,1860658275,-485075466,314730057,1591705126,153269236,1314393042,-345987861,1751896737,1025682340,-1651436256,-2095720651,229154565,-1032723450,1026880944,908937923,1007141570,562375988,1165597104,2101797479,640060148,-1301689173,-1906102456,39990794,-1112774806,-184696542,-1490964842,205222642,390190362,-1065220586,171094447,1682887228,1005054921,236351896,1867340189,1115661217,-581860600,-1914340190,-912851522,1112728383,-375502148,1369739534,567387375,-540936855,667796371,-1024274575,503560838,146775330,-307494979,1336166391,-1248351440,-1817799743,1064722342,1684879952,-357483101,-107657139,2125479951,228128837,-1924396579,944500757,782595366,-1566208819,744629350,1008691458,-607084502,1128396913,-1246429755,-40346761,144994602,1546965867,684280765,-1005890782,-1822424773,1005690169,1442264694,-1840282043,-1024234459,-1968649450,-909641590,285509577,828350083,34680093,-209162997,-565144141,2021852652,789903160,517084582,-846047811,2122540449,-902009893,328531952,2074591936,-1778107342,-2098802634,-1320739265,910437903,1945557132,370220920,-550991195,-302226016,427300848,-1642343959,-1377764838,1174239147,-994884236,1488197324,-941251942,1490797550,91717796,-323692875,-1009259711,-14004345,1638325850,-251963190,-2142124219,1301459480,-179339152,-2027024904,1374956432,-803888034,435321331,1893512721,664307461,-2089933125,-933123877,1927388712,-284753398,-70278459,-2029263194,-1815763825,949795411,-728832967,1961512606,-1846385189,-1078840979,-1524659428,1215412592,-1148437153,-2079948904,653279273,2038789072,567693764,1420640278,-608966983,1581486018,2023644828,904163022,1370041052,-224110843,-548790420,935803187,-973037095,-1440136962,-1950881847,32663486,-389842368,-224942625,1608649497,369219335,2042201777,2134297855,1127463739,1412530175,-1198042535,-2034336041,-860202991,-1118173548,-486948090,106688578,1003582974,-793650010,-981951873,-1343049392,1782894297,1274721842,-741661039,-326479359,-832971577,-1095647316,1979750281,258196734,1764190362,-351678741,219048628,-506358793,1463339739,-587486981,795551654,-1986836902,-859890894,717482456,-1516174191,1464621873,-2019664932,-1871965228,1972584975,-389664010,-1574164392,-679334852,1291023187,-525926767,-122896,-811405579,982853083,-874208478,715841012,-597120897,1207356658,-1637264349,1465824281,1256628506,1923468897,1660743170,-323500029,-328836640,-300001237,-1088639854,962219630,2002864524,2079536995,124004314,-1148728995,531976777,-669968204,936811041,1873275059,-516617677,-2084163926,-2067700663,-1040367373,63494432,-618561335,863308753,-1152968844,-742092489,1622225274,1903991854,-1148939913,-339926196,-956351459,1868816835,332862269,-1741829069,-436955750,313716846,-1078279926,1718753140,-696613062,477470835,846618802,-369160512,1694911413,-684736096,329110128,-1819193484,451318514,1169966667,907730598,-507874161,168573297,-922190241,-663126735,-514515564,54877293,-1561057319,1852850419,1740731051,-763911978,1181965255,695149899,257496334,1517365336,-1186524575,-6564026,1055490966,-19885808,-1490921261,-1853041495,-1068674548,-1295544464,577308440,1903512708,-756693558,-198824203,1539997055,891900496,900324886,-1590437653,-1043652926,970521832,953072835,1465934999,1573309900,2003969813,-1520677556,-232658396,-840831232,1076256931,1295735259,-1124322210,1132188884,837529519,-805839327,224393047,2064599450,1338090393,647371663,-1458080609,-595805594); +/*FRC*/Random.twister.import_mti(535); void (makeScript(14)); +/*FRC*/count=625; tryItOut("('fafafa'.replace(/a/g, String.prototype.italics)\n);"); +/*FRC*/Random.twister.import_mti(607); void (makeScript(14)); +/*FRC*/count=626; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return ( + (( + (Math.max((mathy0(x, (Math.atan2((( ! y) | 0), (( + Math.pow(x, ( + Math.PI))) | 0)) | 0)) | 0), (Math.atan(mathy3(Math.fround(( + y)), ( ~ -0x080000001))) | 0)) | 0)) , ( + Math.min((( - (x >>> 0)) >>> 0), mathy2(Math.hypot(Math.fround(Math.min(Math.fround(0x100000000), ( + x))), (Math.expm1(( + (mathy0((x >>> 0), (y >>> 0)) >>> 0))) | 0)), ( + x)))))); }); testMathyFunction(mathy4, [0, Math.PI, -0x0ffffffff, -Number.MIN_VALUE, 0x100000001, -1/0, 0x0ffffffff, 42, 0x080000000, 0x100000001, Number.MIN_VALUE, 0x100000000, Number.MAX_VALUE, 1/0, -0x07fffffff, 1, -0x100000000, 0x080000001, 0x07fffffff, -0, -0x080000001, -0x080000000, -Number.MAX_VALUE, 0/0]); "); +/*FRC*/Random.twister.import_mta(-1652170709,332521511,213136546,-2032664842,260863218,1390274450,-1539504563,118398457,-16061611,1576242512,-1648849855,517323961,1553291437,251873811,-1655435591,-823239962,-256690694,327247229,2145599024,-245830982,-1004174379,-1860298057,-842804600,836818835,-1710561670,-1468310053,639366604,306467559,-496733109,1481240582,-890900478,-2104721944,376316832,-937502963,3306269,322883026,164723021,-613146808,-1468809960,419665063,549663105,-1203582010,-1094364969,643355590,425999526,-1525194285,550708224,-2036188742,1730403363,426643740,371501284,-988269363,-703217419,118505902,1430909883,-685267511,2008907877,-1286121108,1369759062,-2013515703,-309624362,-1555165321,-1852023765,-1319931487,1192858939,-171386692,-1631954416,1335849098,981509679,923137921,681016135,522081862,1794499747,920111431,962933652,-1144751615,901436645,1623546239,-650497128,-1266221584,1768522976,1972450697,665958939,-52909907,1152964413,-1530450542,-957316136,-784437405,-1616907905,1663099612,1009281379,2108417738,-748356094,223039989,1345743497,-1300931375,1914522918,-355077328,-1400684037,-214884000,1493698324,1241445540,-1404251217,-1177162223,-796705180,520638761,-1874160181,-1610189532,-1734219232,41200453,134478009,1712875241,1930918527,-1018373765,210465747,837352178,862017895,-51448836,310181210,1299763561,-255089184,-1746154302,209086438,1802499004,-163509893,-1552893747,1861484422,912544960,-1159625994,-549658704,766394875,576452254,-1754935014,-1865199875,111964951,-1429996481,-780404516,-930433007,-872275597,361086065,-1800004693,-1805424638,-2064557177,777822252,290010010,1027370126,1355880311,2085338656,1095593866,-1427251687,2028378152,410870289,222462855,-1823478783,-418948914,-1840023727,741091317,655920545,2004564408,-440144106,-950582869,1582958038,1827401536,1273454343,1599724451,2120847855,-1079114449,1834122116,1577404582,-308971040,-1670951956,-834937807,1881652536,-420718143,415873126,-1972886535,-607083045,-2104781313,-2049561512,-1310597492,1035416746,-2097701664,-241921281,779418212,-1154952179,1136563804,540124062,352402363,-1740671079,2114977555,1351348749,766864195,-1195384923,470872294,1974556628,-1822370471,-14720379,182248785,-1940250513,-751343932,-1019821171,1013068027,-2035812652,955094166,-1421611770,-756175575,886089953,168555152,1566605415,-1965040889,-412719018,1992491534,-994978310,2033544791,-1756551467,276793893,-2071623308,-1679293638,1121490823,1982849073,-728952704,-1554312029,-1585760418,-1579387139,-306464823,-2113078541,628779479,-108257448,1246129859,-2139434121,-104629694,355753559,-1235049458,12332719,358516667,-1052526997,-2004221110,2775773,-929999374,999983593,1370323133,-1004016535,-2140882559,-1842103095,600605935,-1096164768,980013921,-726454627,1107200822,-1429455019,-1997801625,1548663136,1267083430,729472419,642727243,1052615995,945870195,2124934197,-196223163,-1331649599,-996367255,-519750674,1908110140,1652981817,-1574032825,1906814728,-491185673,855681380,776032327,1646573944,2095151148,-959204627,715382223,-1856541889,2112865890,-741710210,-1327847500,-1020376269,2029108793,-749910195,-1147564390,822636742,-73447725,1614462258,-1146460930,-898235400,2011915587,-557510846,99190912,380450857,1404413159,361464688,1060702302,-219494127,1593699337,-1016806222,-1856984983,1030378284,-94987966,-1833855797,-1887014054,-1874469754,-1409857579,-115336074,31876316,-153294706,-716985042,-397815901,1858421447,-1234308125,-197325266,-1169328183,1363047190,-1799496582,200868786,837088145,1386989607,-331224424,1388599769,-671766536,711414812,-57767901,1598555486,1821120756,-467830368,1946229438,753786429,2016474391,392466044,777176593,-1479143568,-1069438722,1035247089,937514023,-1290456994,412990634,1162165473,1228071868,2026788188,157915886,-1864626640,1251396266,977801343,320887404,553589748,542872644,-914123694,-138371796,960876755,-1270806807,1170682424,-1330399446,-943995374,-1764606266,44790174,-768357775,1457306904,-1689908336,-390748280,789841533,-539847746,49528198,85898046,799108088,-767464055,484038732,1245615010,-1501526397,942884364,1630752638,-938725132,-1903296665,-1567434561,-1778622558,1796801715,-921233101,-52638678,1726557353,898970116,-169160864,278733372,12830122,-704557116,-1690370401,-1435199328,1434357801,897277780,61292520,1956749037,-54223683,-1281992246,437108264,445279658,1847916052,-319486950,-972722441,1297743802,1783083498,-1300603193,1739441828,-377138414,-1492639129,1814110710,1741037801,-884872697,-1207579336,-1159479147,2093243569,1130144544,868103463,395286050,-1340056655,-182295599,1456443726,1505570883,238694322,687833630,-1417807609,267176441,-723135293,1071784363,433894947,-1847913205,1347270912,-230711250,1791473523,-1545336343,-78942232,-448633978,-529616936,38425774,-388699142,-1172850463,484080334,-537231690,-66688080,1779802,2144979924,-1946458436,-1111418130,1320611666,1940014952,1408924022,1416621036,1588522700,-241740476,207275902,1165791922,1703591114,-202050864,-974869947,1769281977,-1072708289,-284493540,-984701264,1521305121,-1439927428,1293040065,2048235958,-1976726720,441326024,1032458965,1629039926,-416346884,-1027508581,1922676161,1854810518,-1921107066,-2065768522,-1274739551,1919999737,-717934148,748781884,-1614962458,1914763325,-110107020,433860725,229174932,-2045167916,-1261194127,1977081577,1463016648,2106613018,629698444,1459552870,267985573,-413533335,683045850,-990355209,-1051307861,-1916069402,1544189179,788492510,11657964,884034331,450028554,-827789614,979783030,1865665481,-667481987,639766429,710563249,-687618733,-695915987,-1773158433,-215380818,568580618,-1202281612,2034137388,408835851,1415160905,-356749102,-1581836826,-2003145675,2006892757,2048296824,-394985588,-1745385771,813290209,1785489060,1171664369,1023838832,1431887484,1677148858,404292513,1510788781,-1546656822,550840196,-428412810,1173412639,-1498527169,1565213675,-848540600,1907525184,-335815602,-368175434,1623190040,-667581836,2024704518,-1755248,1026550204,1243223271,-359861910,-1419913087,-1381661176,-430167710,390566607,935649190,207908967,789618147,1412585187,1624736196,31427352,-694488852,-1769360087,-2021148867,-1152610089,-718518851,-1994862391,577371508,1155030941,-1742179389,-810558388,1551764664,2110612700,-1824145319,587102782,-653072632,1130261776,2000378118,-1460221546,1005745319,-1987174692,361576501,1246499548,-864952684,-991197149,-1653789487,952177689,696997556,1010448204,730898933,671274829,-614228126,-1662353129,-980601948,-1430306926,-1608550371,1569160269,980876214,-449251506,59750146,2097115466,324883482,-139197169,9035854,1212263835,722966353,2053140743,-1207537257,-1893158743,-494381031,-1443719598,-1607421346,-477707753,-2027048816,-620123770,-1305706135,309191436,-1357792554,-36828897,1399789614,-353661925,721765755,1645925762,-178456091,1110950770,1815155390,663362277,-1537078087,-462992628,1635126922,-1472515132,-1701593232); +/*FRC*/Random.twister.import_mti(263); void (makeScript(14)); +/*FRC*/count=627; tryItOut("Array.prototype.sort.call(g0.a2, (function(j) { if (j) { Array.prototype.sort.apply(this.a2, [(function mcc_() { var iffnky = 0; return function() { ++iffnky; if (false) { dumpln('hit!'); try { h0.delete = f1; } catch(e0) { } try { t0[new (/(?=\\1)/gi)((\"\\uCD41\"))]; } catch(e1) { } /*MXX2*/g1.Date.prototype.toJSON = o0; } else { dumpln('miss!'); try { o1 + t1; } catch(e0) { } Array.prototype.splice.call(a0, -1, 12, x); } };})(), b1]); } else { try { a0 = a1.map(e0); } catch(e0) { } try { o0.a0[7] = x; } catch(e1) { } v0 = Object.prototype.isPrototypeOf.call(g1, o1.s0); } }), p1, g2.p0, o2.b0);"); +/*FRC*/Random.twister.import_mti(534); void (makeScript(14)); +/*FRC*/count=628; tryItOut("testMathyFunction(mathy2, [Number.MIN_VALUE, Math.PI, 42, -0x0ffffffff, 0x100000000, Number.MAX_VALUE, 0/0, 0, 0x080000001, -Number.MAX_VALUE, 0x100000001, 0x0ffffffff, -1/0, -Number.MIN_VALUE, -0, -0x080000000, 0x100000001, 1/0, 0x07fffffff, -0x100000000, -0x080000001, 0x080000000, -0x07fffffff, 1]); "); +/*FRC*/Random.twister.import_mti(566); void (makeScript(14)); +/*FRC*/count=629; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(576); void (makeScript(14)); +/*FRC*/count=630; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return ((Math.acosh((Math.acos((mathy1(Number.MIN_VALUE, (Math.imul(Math.fround(((y >>> 0) == (42 | 0))), (y >>> 0)) >>> 0)) >>> 0)) >>> 0)) | 0) % ( + (mathy3((((( ~ (x >>> 0)) ? Math.atan2(0x100000001, -0x080000001) : x) | 0) != ((Math.max(x, x) ? ( + ( + Math.log10(( + 0/0)))) : x) | 0)), Math.imul(y, x)) % ( + Math.pow(( ~ (y >>> 0)), Math.acosh(y)))))); }); testMathyFunction(mathy4, [[], 0.1, null, undefined, '', '\\0', NaN, objectEmulatingUndefined(), /0/, ({valueOf:function(){return '0';}}), '/0/', (new Number(0)), 0, (new Boolean(false)), ({valueOf:function(){return 0;}}), (function(){return 0;}), true, 1, (new Number(-0)), (new Boolean(true)), ({toString:function(){return '0';}}), [0], (new String('')), false, '0', -0]); "); +/*FRC*/Random.twister.import_mta(-1163398874,-1272953706,1690712543,-1371313813,-1905864274,-415821297,-1119232310,1842098034,-688125040,758593130,-1431948750,-199311447,-1388896015,-2144525919,-682133822,-1921255124,-2046323921,1716301659,915823343,-739904725,2063221891,1762468029,354226133,854020758,-722884591,-1026101267,-1066983252,1510288084,115560304,-2036928024,-1173532388,-1368034730,1567192193,-614736385,-515142381,670545048,828405098,-1950113734,697241916,-1989017531,1677241911,1301380616,-286428403,1107620097,-132036770,60025718,1463744305,-1271418878,-48210486,122196748,-17287157,-1752634257,-1333997049,1984488263,-605127806,584693202,-157198934,-1382234085,-1067716902,-588663913,-2051174747,-1412233348,1267499855,-523607158,124681867,776208446,-2132757319,1183421779,-267125026,-473094934,-2098130779,682401080,912675037,1858225971,1373617251,-277587055,920108166,1589502449,-1557358452,1835594245,-1368865649,214522630,330780920,-1904015960,1162889729,518528246,-736106270,-2143794682,2120831947,1615167239,375619775,-313909258,519784590,1020828797,-600282548,1475466829,903551860,-67609799,1665823930,-1574113960,513357604,-534965567,500518826,1315147951,-53031430,1177436009,-2038034241,-635483441,723216851,-1125476727,307372255,-641895220,-1594848407,-1961579137,-230158933,554633610,-1225976373,1050721912,-979214573,-804180612,-603823948,1984094482,1608228730,-402777709,-172595511,572596671,2026203354,90817242,898802037,1813017576,838393035,-305915653,-1802384194,2096153451,-786297557,-1512984538,-1929418089,351435816,969177169,-202615022,-1845217675,-1545693414,-1463064698,898330737,1417945760,1542244878,-1787295855,-1929170483,1780643505,1798627035,-1561141647,-1815248517,-1077945540,665975428,-1326019917,-826202051,1545471715,-1389090315,-1251589962,1106215133,-1174321322,-1083365527,-1634541016,-226753901,1041501163,1232104964,718745978,1389346959,-1517323095,1825431496,654817743,994947980,-582630087,-460188251,-1479617148,2104425710,-843038187,145163504,-1803472430,-1708125578,-1676221791,-654053959,2125540230,-1197019755,1246751451,941229698,1223406176,167610884,595754226,468874827,801996131,-657448128,1954448325,-538944348,-1825084047,-1703382825,-818178451,1754375655,1762808620,-1328382846,-332513293,2033420909,-462373924,-1702279638,318127698,1787982589,-1523234026,1413362427,457895372,-1464164947,-917700498,808782321,1250147618,1868573354,-2108133917,-391559007,1727087846,-1703006562,1464056098,1752255282,-1533794256,2000126282,1837401880,196223031,-1183268052,1670297584,-1504333604,1183610520,756391410,405243134,2110912159,-1789426775,1046590855,787361224,-731560808,-1833366987,-198530085,-1896965941,819678082,485043312,993421130,242064093,1567266711,1323917703,2031633003,-223739008,1622463674,436535576,-446459960,-933215047,1556090406,-248857534,1315123683,1246236374,-598521706,-2082761450,550352685,421727841,1865257833,-1506830742,-1411825656,-1718209395,-1883487141,-1182805866,-217024578,-2116342504,-789424905,-305088821,2088968884,-794964197,-127559512,880286054,-1842287050,701043712,-1647148227,-1521676784,-2685366,461920200,656867094,-307227318,785177380,2133420084,1388637003,-344692779,-928527897,581364900,-208980938,-951498011,965553079,-77667869,-368074190,418577060,-1908812695,1989603938,1731983114,565385781,-1116205700,-1076208636,-117643390,1906665840,652257648,-1658015914,-1813752406,1982107368,1708365238,-913486309,-2142984949,1073927475,-1896410584,1772738543,1252855443,768570250,347534027,-1847367365,29524753,-835451129,1449495115,-435610484,-961491958,1271456384,-1684576077,-1281595165,1639438903,131442596,-2114398618,-332125317,121382668,355168282,1849475350,238962706,776160464,990131165,-992598619,-1626568560,-1773038438,-1867430020,-1737234601,775228017,-586565189,-1466004367,-295712726,1986311499,681518268,-1500342223,781022298,-513567430,-1410243606,430454786,-177548615,1027081830,-5783034,-1771338304,1766342364,965791765,-1250388163,1593638905,1639151136,1168248591,591833882,-1149729439,1032396200,-743615308,-1308555814,1020750988,1520341006,484127104,2040833164,-836921997,-1824051035,-1932689412,-339394787,-1664745952,286451167,2046571799,813698443,340529316,-2125924272,-1204271245,-1455888693,-135181790,667949137,-1678365359,441903021,153373363,1585697086,-1344540900,1077681961,425277695,403167720,-950415667,-1082466937,860962110,2120357134,481145719,-1463433429,-1021082764,1508771645,-1489885581,1218138334,-377000784,773764169,-773962369,-679125947,1902643145,1420157548,1358455111,2103086321,-1111968975,1507084277,1970725015,968781970,-1445565460,1400753701,-46294370,249601501,939376125,-1757136361,-248272576,1806334462,-1299766321,1241954154,47339307,-228676521,-165394822,-2063937919,-504830201,-847787146,-1634791888,151313793,-1521118837,-1360841769,-688565507,620711834,-1966574515,708642595,1531410913,-1755940793,-860835024,1859486854,769182347,1454442782,-1415229096,-1029784233,1235628928,-1565162436,292477597,1255080555,-1773046187,1322121250,-1770102043,-436200396,7836012,336317310,-990715004,-1294834345,939762764,-408540991,1088109124,-1874770423,1934014819,-1457286019,-454438397,-1590784949,205693001,1856697076,127688521,441856435,2035878033,-848844718,-1118156748,1685322073,793281269,-42675213,-2136205189,649261602,814032685,-827051021,1607243084,843830949,-1384092088,1641144498,-493132261,-1860197680,196228638,-2015940628,-980820478,-227233913,279822508,1614130183,-916862808,1316117044,-462434351,-2122064786,1403142565,-524696370,1540838877,-1917916768,1458883987,-2123682425,1479104807,-1511223801,794546507,1460087769,771254650,1646039455,2010583571,-241482512,1381230514,-368118930,-505378384,-567648324,-1736686828,-1873311,290251907,-96335527,230118513,699241046,725351325,767871478,903508558,1746253658,1301780532,273202024,679230579,198478733,-384100761,567278258,366727499,1725723142,431734890,-2121687102,1130738578,-1319891653,-1246147796,889577064,-22485212,1169364693,922373008,306047042,1243678229,770102167,881130404,43146136,12011855,-1792604099,337360306,1344965971,78504031,1025283789,-760856167,935225158,-2129194006,-948350195,-714060473,-807396517,-1433257566,-39790061,-205022101,1781583207,2142419636,168821166,-242844996,-24231648,-1500162759,-1096852862,-1938389852,-2078801931,-1880031582,1308170696,1021591671,1650660029,709524276,850246143,-1898485116,1066456904,236430967,-360308527,986708181,-2102514022,2002068858,-1253035984,946949188,1934438472,-1227979148,660903645,1981363411,1920960944,-901639343,-829019793,-2137162115,2098247437,1692477611,360029069,-613017900,-1906743980,779048631,5112971,1342027585,432961076,-812774060,-1850693180,1685669538,1146374539,1770203524,-72442053,-994299384,938457673,1860626903,-1937838022,-38185987,1620297380,-218191892,1666317694,1899066856,-1157630766,2031892561,-247380078,901210154,-1201108035,206680200,1813427250,-1126670647,-1905632052,79560622); +/*FRC*/Random.twister.import_mti(270); void (makeScript(14)); +/*FRC*/count=631; tryItOut("i2.next();"); +/*FRC*/Random.twister.import_mti(279); void (makeScript(14)); +/*FRC*/count=632; tryItOut("\"use strict\"; e0.delete(g1);"); +/*FRC*/Random.twister.import_mti(292); void (makeScript(14)); +/*FRC*/count=633; tryItOut("selectforgc(o1);"); +/*FRC*/Random.twister.import_mti(301); void (makeScript(14)); +/*FRC*/count=634; tryItOut("\"use strict\"; testMathyFunction(mathy2, [-0x100000000, 0, 0x080000001, -Number.MIN_VALUE, 0x100000001, -0x07fffffff, -1/0, -0, 0x100000001, Number.MIN_VALUE, Math.PI, -0x0ffffffff, 0/0, Number.MAX_VALUE, 42, 1, 0x07fffffff, 1/0, 0x080000000, -Number.MAX_VALUE, -0x080000001, 0x100000000, 0x0ffffffff, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(333); void (makeScript(14)); +/*FRC*/count=635; tryItOut("\"use strict\"; f1 = (function() { for (var j=0;j<21;++j) { f1(j%3==0); } });"); +/*FRC*/Random.twister.import_mti(351); void (makeScript(14)); +/*FRC*/count=636; tryItOut("h0.defineProperty = f2;"); +/*FRC*/Random.twister.import_mti(364); void (makeScript(14)); +/*FRC*/count=637; tryItOut("\"use strict\"; p1.__proto__ = i1;"); +/*FRC*/Random.twister.import_mti(376); void (makeScript(14)); +/*FRC*/count=638; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return (Math.log10(( + ( + ( + ( ~ Math.max(Math.fround((( + (Math.atan2((x >>> 0), (x >>> 0)) >>> 0)) < Math.fround((Math.fround((( ! x) >>> 0)) ** x)))), y)))))) | 0); }); "); +/*FRC*/Random.twister.import_mti(502); void (makeScript(14)); +/*FRC*/count=639; tryItOut("let({} = c(NaN), w = x, \u3056 = /x/g , \u3056 = ((function factorial(vjwpbt) { ; if (vjwpbt == 0) { ; return 1; } {}; return vjwpbt * factorial(vjwpbt - 1); })(2)), \u3056) ((function(){let(y = x, a = length(/(?![^])([])*(?:[^]){2,4}(\\B\\b{1,4})(.|\\v*?)*?+?/gym)) { const o0 = new Object;}})());"); +/*FRC*/Random.twister.import_mta(-1478233732,-1119368770,758447822,80602259,-1566064082,792630057,-549721576,-2020265244,-793865441,-1794202108,830971482,141630337,517180928,1780583369,158987169,573545153,-216953438,1859685377,-1865255322,861808449,920758708,-133120984,802935451,1220207137,-1060345804,-580801839,932095780,-1149898568,411385009,1573144551,146437944,1906607306,-165931670,-1321837621,1567122054,-852052783,-1325972375,1641775484,1033093091,2975228,566454659,1278409307,218736544,1096485512,-1612585441,-1003748398,-632371958,-259257216,1579076517,-1972555522,783797345,-4413297,1601388147,-1055651825,1237311620,-1163661621,-1897558133,-803799477,1526773128,-1430592875,-991308503,1011826310,-1291230711,-14351636,976951295,-1739054469,1937385018,-1490485218,755195379,-606546829,1413401285,266511821,1878589446,2093355602,1095458379,1971195430,922226214,-1059415532,1107997956,1068395401,-989701726,120092998,328319322,1807597753,1248454997,-1832167708,922114186,868141534,-1531730837,-2042210163,742100452,-1050487316,939427831,1456538284,1935794156,-1124749882,1905809864,-1666013640,1447794500,611017344,-824163017,-60264516,-489619535,1616608682,-1012469359,1461885666,-952301746,-1917287900,-785122557,1968935736,1238589317,-1892614705,-201344613,119804359,-2104231563,-1726842659,-617577142,-1527195743,-14094478,-1833152220,-1323617868,2024036092,-1409519877,-1583402566,407624375,-258733077,86206417,175450422,930409222,1471599003,657327084,-72327806,-2050911775,-194032047,-1521407108,1664062368,578604425,-618654528,1732362460,-413086189,1068279190,-967666314,2143836747,498360342,1328245982,1750433895,-1135795107,320456331,-1751374292,-1299641602,-817422989,-694110387,-1740801851,295048554,93159974,-677457350,1009183437,1830525984,521555793,1264984749,2024405313,1581024486,-506753660,-1064588018,1971079830,1034683056,860350013,-1305328092,-344176898,77522726,1591843378,807155798,-1641080323,-1089925514,-136928089,1382986246,-1756347738,1277421269,-298035872,1127365765,643238975,1787753615,-671255287,2121406240,1817790547,-306842110,-1979007821,-1578435175,-279486207,-163866876,-1319777389,527826501,-2130080507,-1198163611,1489028980,-1926451203,1912296349,578946927,934360044,-1899615352,282727200,2002369990,-1989837424,-782326941,-1554159118,-2119777543,1537047201,-2039145380,-228577658,-232805664,-376018144,697060951,-1577699790,-1710900379,1644834152,904711456,-639890545,-1167150617,-1762074170,-34306637,-1898247203,-462973093,853901362,-1552680169,1565849988,1045218727,373352328,1763368683,-580855781,-914679589,-478159087,-309554996,2044774967,1374991351,-181781180,-1953126474,1332701734,1033791215,-914337088,2026263841,105561598,-1946937146,996437186,820133287,360072052,1992512187,-1655656308,879478672,1137855036,1328288853,184466999,-613878399,518955427,1421735677,-292353307,-2089179547,1850843359,-1486534158,-1969093694,-10820890,1171449397,1829776436,1869532105,1995733038,2048403616,-1397082848,1244769099,-1069730790,1489149211,1430746273,1893819252,-845735913,-436072782,67625789,-1508080481,-676742704,-504735899,-1422989037,925794133,-62241701,681869231,139137483,-1047240842,-818676289,843277621,-1587142617,-1027298070,972381785,-27942266,905142668,1354921544,-2101532452,-1164856666,482557461,-750098977,602328685,-1285534059,-688834505,264462888,1115185160,-2117421034,802028329,-1367377990,864901885,-2083316671,-943548339,-372309061,1999436677,1281856707,366651150,350457940,-971640581,-1679251519,1493867087,2096241548,1411365908,-1527903196,158183780,1964342356,1739256361,695690842,1059299055,1579697907,-1751661329,18189980,-344407420,-652896244,866624197,502800000,878636939,-834657437,1540041414,-2025721478,760556698,-545958054,2146378511,299568083,1053796340,1931380978,-572409731,-260666401,-109203653,-708872172,-475682045,-1126470084,1671168171,845629616,-549342456,-237768306,1384981796,-653598185,1287565663,1025681435,-484833941,-1533488216,2055578286,1115671977,1933455607,-1414032792,-920465400,-802571545,612222167,-748634656,-466282375,1072622442,849224567,-54535589,-423925898,1842951544,-1037831041,-1597669760,-1941176980,1198451665,-2050924119,252661151,-650393915,661263330,-1009061294,-210782373,271241793,70807419,-898168725,877126171,1031376010,942040844,1704224221,1473973079,2001144996,849636985,1914579030,746896973,-1842798027,-1452500710,-1070621637,751639291,1886547508,-426012548,-1600039932,-440041271,118905901,-334330967,413325808,1644543715,1275762071,-1484883201,706503091,-2023187805,-1870855930,1575360796,-1187556045,1410800452,-2122126697,1117329534,153874222,1086538808,-313308994,-1077671933,-408897754,2051210120,-604465131,702868175,-911141369,1652936337,409801810,-1814793962,-1095592599,1815975180,15743680,-2012688733,-1673942474,-595781884,1594157649,-353920179,2060257368,853052669,-1461149835,1196955110,603137639,-2144591973,-683359711,1895802161,-2122334511,-1706152541,-642977434,-2100598794,2003172646,-380523524,-2137673965,-710436752,1789726395,-2130801840,46662452,1837229804,-727917788,730239996,-848230609,-1129822212,1956123300,2103693185,1518387142,-1141632667,1896444486,-1962659934,23419238,2073447001,-1012158187,-729623349,1165433284,-1511398073,-59682100,-1597447887,41407088,1618377265,-1426880966,1774779687,-1880909445,-1228550270,64682419,1638965447,-918344904,1405702032,9555424,426833738,-173113160,950207670,361755873,-493541884,-480237087,1861547019,1101115285,1235157933,-1061160539,-55214577,-1554753477,1655231467,1963692368,1104622766,1003816110,-635527695,-1551978513,436463436,586851841,1243461549,-618877931,1926307165,1377886652,-587713929,-110351773,2117433195,-1665335794,613531043,-1195270396,-1877155986,1549524793,394920291,-1559418671,1634787499,1801137824,-1187591434,-1958886282,2003306720,-1582147731,-92629088,-1927657083,-1522170698,101714416,-1354322856,-476032361,-668890780,-592457187,908678407,-1380661025,1867235998,537154112,1642230951,1251404706,-1911157867,-323393140,227804639,-538286067,911396460,1058489314,1953926868,2051540286,884307679,-1932659308,-315274508,-1745585542,-2021198110,632871395,-708123205,-445977338,691522045,-674800585,-49533988,-1944203063,-1797745529,1069011719,1479164197,1262683213,-123824378,831602650,664575356,1447440913,-44414776,1975808696,-1065222167,77158837,1334302058,-746527216,-618679462,-414380800,-791881056,-1648500522,2117488944,-2086977415,1918850434,88262715,354408123,-561489670,435170243,130451627,-1960761855,112510144,2075255168,2091659750,-85965867,29686142,1335488015,915636709,-223525926,-1912761995,1154980233,-1065401391,1933278427,2166806,968607686,240640835,1799833263,-935108336,-1579389360,1232669930,-2047616627,-1012529540,1999641425,-2120395433,1110078484,-1149982427,2108257167,-886998079,-1644550835,1901576538,-2002713926,-525482999,-1108273030,-363205581,2052933595,-1549811412,-143567035,-1491665486,1356689678,169183504,-197867536,-1251317566); +/*FRC*/Random.twister.import_mti(187); void (makeScript(14)); +/*FRC*/count=640; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(196); void (makeScript(14)); +/*FRC*/count=641; tryItOut("mathy1 = (function(x, y) { return Math.fround(mathy0(Math.fround(Math.fround(Math.log1p(( + Math.sin(( ~ ((( + y) | 0) | 0))))))), Math.fround(Math.fround(mathy0(Math.fround(( + ((( + (( - x) | 0)) >>> 0) ? ( + (x > (x | 0))) : ( + ( ! ( + Math.cos(( + (x != Math.hypot(y, -0x07fffffff)))))))))), Math.fround(Math.fround(Math.min(Math.fround(Math.sqrt((y >>> 0))), ( ! (-1/0 | 0)))))))))); }); "); +/*FRC*/Random.twister.import_mti(430); void (makeScript(14)); +/*FRC*/count=642; tryItOut("/*hhh*/function oqgxgh(\u3056){/* no regression tests found */}/*iii*/x = (p={}, (p.z = new XPCNativeWrapper((oqgxgh.yoyo(Math))))()), x = (ReferenceError.prototype.toString).call( /x/ , undefined, 6), \u3056, x = x|=\"\\u3118\" %= /x/g , z, oqgxgh = oqgxgh, x;;function x(x, a, x, a, oqgxgh, a = true, x, delete, oqgxgh, a, x = ({a1:1}), x, c = /(?:(?:\uf166).|(?!\\b{1,})|\\u002A$\\b$)/, x, w = function ([y]) { }, x, e = /x/ , oqgxgh, b, oqgxgh, e = /x/g ) /* Comment */oqgxghv0 = evaluate(\"/* no regression tests found */\", ({ global: g0, fileName: 'evaluate.js', lineNumber: 42, newContext: \"\\u03ED\", isRunOnce: true, noScriptRval: this, catchTermination: (x % 2 != 1), saveFrameChain: false }));\nvar okxipk = new ArrayBuffer(2); var okxipk_0 = new Float32Array(okxipk); okxipk_0[0] = -22; var okxipk_1 = new Uint8ClampedArray(okxipk); print(okxipk_1[0]); okxipk_1[0] = 10; var okxipk_2 = new Uint8ClampedArray(okxipk); okxipk_2[0] = -29; var okxipk_3 = new Int16Array(okxipk); okxipk_3[0] = -13; var okxipk_4 = new Uint16Array(okxipk); okxipk_4[0] = -9; print(-10);s2 += s2;a2 = r0.exec(this.g0.s0);\n"); +/*FRC*/Random.twister.import_mta(-1361917198,-735066112,1571103103,-2017518164,-642470267,-92162230,1510694859,745263617,-832325203,1877789970,-289808093,686642850,1986250546,1809002805,-187654115,-115997897,309667733,743014591,1242140681,625359305,-268166582,297257066,-1545431163,1008312932,2139152285,-1409286986,-73705691,857124027,1164744732,-189308997,-1317763035,1329346298,-675928064,1991483181,1762911459,155399261,-1015267387,1309365613,-60423640,1768531837,905467705,2097457716,341260100,83657682,-1002789289,23377026,-2036763012,756978809,-1282800227,-145555290,872164781,-222114512,1573406919,1012641297,-486121327,-2020256823,1848613386,-694666212,-1436786970,-2100019566,315202282,1275377092,-564117669,2143765174,-163747547,-1745979526,2141739317,1946122250,1466375762,-1065468108,246394614,-770271998,-423690402,698551069,2121651679,862590210,-838626736,1613151870,-1032765864,1108875408,550687811,1729432352,1291994183,-282850278,715070081,1923048541,2121972508,-1989277737,-1482336740,-1240251982,-1522873905,463246710,204915274,-1592195304,-1625100495,1405280639,-616731100,1620168039,708808678,-1333531344,-184808087,1903613908,-1459135821,-953412655,-1746952417,-1195319619,-749363222,-1719001040,63117877,1362973303,158856481,-887736533,-1740453605,377380892,544864377,-1661710953,1692698951,825903341,-1957645583,861540395,2026175994,1208645190,256294312,-218299956,-2011122990,744621812,1093707692,-2063161632,-85797445,1158914129,1668759368,-949987942,-762303908,716443943,1865908366,-1306843054,1326079609,-366357435,-1804170665,-411523565,1719733690,57486711,1027886367,-996552217,1130502641,-1248770137,-1244057137,1290866525,965431767,-1638508403,87369074,-1783330459,-1898852331,1634256952,-2035012856,1358039838,-1388463053,-1941414869,2063532812,-1543757390,-682665639,-471775151,-1686241219,-1122941434,-52273052,-169571169,-576102416,-430134988,-1484086837,840568264,-882788277,-246063875,607062483,617721718,470050342,1441051934,1305654445,-895444344,429343910,945322035,-1654585114,-118127779,-1628164986,403274133,-306456799,-251473857,-232835590,-1238544221,1200206788,1021132647,2054756860,238741782,2053052859,-995823910,2079787514,56473650,-277764578,-1160957079,2002212365,93075688,1438374353,1348011662,-1720760691,-1046079302,1770356844,-945734131,-1746684219,-1181478711,-1175930520,-796909618,-1169543919,-1098693728,-2012069541,-266169623,-625056746,-530796510,-158214652,-1559597164,-1476740725,-774799222,-410172581,2141836453,696098334,-2094643801,-179477169,302261952,-461506917,-1985500292,-297244426,1483125779,1196513228,2122927935,958631606,1409218545,805147088,-497691970,-501024911,1816359893,-85927674,1347381286,-1731440306,1357654163,384085965,-31710194,-454071901,-331235490,1483136991,739256034,752522085,-42099232,1210248123,982168780,1731993784,-1265743589,-643682530,-1584583177,-904994023,237625928,-2062451647,211681521,-2001779428,-127136028,315972102,1272378299,-1116421686,1379497741,-2069586623,796505179,-1010769532,-507647359,-1782550723,184750523,345159257,270397866,550103907,1598826976,-2059574567,1910619935,619767642,1632528723,-1233212588,-2051862678,742844507,166801136,531874980,-1420861500,-937520960,21144996,180172558,2016891025,-92440814,-1529519984,533260809,31070462,1208256057,1033209995,390146719,1463485526,-1284696331,-1921309026,2119744578,-90221247,-480420038,-149831682,307177679,-1189336705,2107819847,-930026134,-907025865,-17738437,1487470099,-397100763,-2104254390,847537975,-410537758,-541439426,1404440563,-430592323,614849409,-1369097364,-713696920,225927119,-66472044,472736382,1699461996,-1400021870,-1794280664,-330250337,130748414,-1902540881,994126568,289668835,-1577189912,948082584,-2059522373,2096915837,2114224742,501927661,-660803926,-185499047,-1934031076,-1277283092,-1202383869,612952687,-779965889,1500959444,-1650270600,1451725337,-432207834,567272226,1749103193,1436225907,1096047761,552482717,1517573579,-188623042,1623358176,-1982610640,-534380103,474174341,-915075577,687871165,35786311,-553618320,-1986698106,472961018,583944713,-1774627833,63200980,-809648486,1775508004,2000310246,-1884231683,-1330763019,267334608,-105224235,97981802,1156822178,-293133441,-78751692,-22603261,670367447,-1219073263,-853859458,-848691663,1072475225,848108070,-1079045953,1758455319,-765441543,434196446,1258193028,1827973648,483344761,1027046753,-1202033230,-794024059,-1964244086,-522742547,519673668,-1360985473,-1221044726,-119172448,256231790,-1166306499,-658602599,-1028665350,-866358347,-584520647,1349673225,-1456884096,-999864151,1604203655,-1547528390,-696190978,599823724,-1325503973,-1845421216,288312590,1808897125,1622724324,-1233798019,1672731691,-131552835,-1033677629,1333804950,301452799,89083759,2075394928,-1710012126,-540358494,1873553531,2127933867,257261473,-200583773,-421492644,1046147056,1824440674,1487259914,-222924932,-270167541,729690945,-760774707,-267510527,1719876270,-1723354283,-1058391111,-962358476,1749396994,385095733,-1638166126,-1612707428,1955748235,1181772260,-1040655603,-385233751,-680445393,1209500290,1120223852,533420804,-1044192004,-1791347577,1158333323,-1433744921,-1759703938,1504743635,1939727884,349136262,1231974625,-1718880341,-1612426839,-142866,2097149743,1782220792,79550837,1036332649,-150280229,1850304682,1265798265,-1411674162,1691343400,779947157,-229840402,1683507763,-372129372,-496446414,-1601221267,-1286136712,-1359426376,-857726332,-1328203735,710548236,-2008518979,875250473,-1132123443,-352756800,-1755547512,1621585990,-1564844156,-1672022606,1100149543,-296396852,1521658490,-1545914167,675707231,-2145542201,784420210,-495181491,-962177130,-911920120,-752870130,1946297186,-482703663,1604033558,1712454319,382893676,1227177273,-1006599308,-874026211,168692241,20380893,-986381605,-1489055840,-503694008,92145120,-428156472,-1867080441,-1962666198,528210161,1954774874,752472616,1747430126,-695338210,-1984621913,-1227112938,473649475,1659051359,760381097,1191946522,-464386950,1667700905,250918471,-1509141564,-182436649,-1636328590,-1486275785,-1260400851,-2064422641,-959181264,-1282348319,1694266603,971260421,1434223889,101216690,-1655803865,304053114,1786847818,7354994,1357941249,229384596,-625821515,429343748,1553303559,1816940249,-1931779477,1069320694,1386974366,43932056,-1883855760,-1524166953,1356316655,-1889697785,-1260575043,-1506793339,-1654941627,1172216871,1183125609,1012377389,-1562845107,1628961969,-1770781028,-458516528,-468800037,-1020257033,-398211315,1041881882,-839775824,-224650770,-1433116505,82355391,-1414311765,800779265,-465826546,1048072905,-236499820,209489352,1796326619,-1769403997,1796538981,516404290,556347164,1008242370,-1848918093,-759867977,1975498871,249908124,-46148455,-1507033480,1950763755,-1246803049,907889730,569361817,-1936984627,-1779563823,-1520676672,-1425623014,858701148,1306282421,1373474040,-144576805,-1062965748,1376682971,-1802611310,-943373572); +/*FRC*/Random.twister.import_mti(408); void (makeScript(14)); +/*FRC*/count=643; tryItOut("/*tLoop*/for (let e of /*MARR*/[({}), function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, ({}), function(){}, ({}), ({}), ({}), function(){}, ({}), function(){}, function(){}, function(){}, function(){}, function(){}, function(){}, ({}), function(){}, ({}), function(){}, ({}), ({})]) { print(e); }"); +/*FRC*/Random.twister.import_mti(492); void (makeScript(14)); +/*FRC*/count=644; tryItOut("Array.prototype.reverse.apply(a1, [x]);\ne1 + '';\n"); +/*FRC*/Random.twister.import_mti(533); void (makeScript(14)); +/*FRC*/count=645; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( + (Math.min((Math.cos((y ** y)) | 0), mathy0(Math.cos((x | 0)), ( + Math.max(x, ((mathy0((y >>> 0), (( - Math.fround(Math.sinh(x))) >>> 0)) >>> 0) >>> 0))))) >> ( ~ Math.pow(-0x100000000, Math.fround(Math.max(Math.fround(Math.imul((y ? x : x), ( + x))), Math.fround(Math.PI))))))); }); "); +/*FRC*/Random.twister.import_mta(-520362102,386774157,489036178,1530127842,-898069073,216567194,-2139582287,71499572,-1354177776,1828425652,-1742028572,-434565216,-57456308,172578385,568654317,-1884547182,753854394,1787596581,-1469367977,-1996724418,-623181995,-1713981933,903693655,-965733899,-1551220186,-2022258842,950751039,-522905395,-321707884,-800769742,1657885714,1349457776,2017605227,1917553164,-234552694,-966582634,-245865016,-902277961,190638909,-1112640333,1379701880,1385058984,-255316331,1425043967,1808558336,-773077773,1066002402,-431060801,-487705850,1875376,-4000340,-1616299330,-1848541214,919605509,1159860391,59085966,1832679402,-1797852034,-1469852704,-1642727590,1846925408,-184685282,1613298271,1674895537,-556986566,-1546231858,-1821018654,-1129413801,2039451465,885666167,1036267271,976293710,1414710010,970328985,-431432849,1543388679,438950087,629491289,1556685345,2120957221,1573121338,-184869243,-1672902205,-1467422793,-1908797852,-848186272,-102237945,-1174181206,-1184795413,1796905301,-23505213,-1461473891,-596860664,1716322158,-625747092,-1512646225,-580184763,-1449464514,-222778024,1948962531,404495276,791757314,1724402821,-1821012873,725452877,857236879,-283236143,-256949094,831227427,-1284372675,1593805319,328172484,-2103835642,1511281133,-479152778,138441389,-569505601,-89058552,-696793434,1967604676,-536496041,-867945015,863013623,1160160692,-1828453983,-2019124106,-478581192,-519577630,503036223,-1592982877,-1464582681,1983106527,-1194211562,457314927,1898593991,671114493,631851098,1709722594,-158354795,295934850,-1242801971,-1063174326,1595300950,-1679907698,-1925929653,1709734908,173018022,465208134,826976174,-163226220,388078946,414471909,-1021014275,1738957167,1369261962,-622138409,-651890824,-533597791,65104803,-1741799879,-393728379,-2075706688,1394901655,-1530689401,-93474156,843130879,526522947,1175880273,1722912530,-300687260,-482588871,1151963206,-1219503764,1591053564,-1515201912,188533812,-2090834495,-779077098,-1057353503,1211470874,-651831716,-308087282,-1273237340,966876627,86134544,-1660864730,19793017,-1954078993,-1182796682,-254900914,-176067227,246635685,649778130,-699870122,773074968,-746267135,-99189854,323245901,247108028,-658204436,-1096447260,-22408708,2115287071,1441525546,-2034196197,1127404558,393735436,692839619,1722107003,957510350,-110239832,-1454908775,1421259324,1531084361,1371643272,-138207537,-999607013,1873394906,-1007781793,-639587282,-1426058440,1164133367,1878686935,587885684,453808315,1069030912,-2095671486,-1746938895,-499753381,1049539188,-41946462,-689353996,-1138800963,-1752803239,896013931,1196501111,-2083355007,-1520784281,-1908491341,-252354069,-80219449,-1281483052,-1331559019,-946740300,481054858,1565582951,-1628146609,1438582328,-1486325533,-926646187,-617264237,-1877716358,70865716,1417304240,689651433,282911175,-1756248042,-112108819,-1893161001,2081789157,243109246,-1150308471,2055264148,-270400211,975986670,-1878649534,1931091521,1943856314,-1151854793,589343188,-2005317123,-124943629,-639288282,-1226464628,-907502513,2037920437,-505089312,-306543103,906411720,-1964103096,1946785456,-1979067307,125633526,1659213240,-2123277412,-865297536,-558586488,1800094695,1374614921,1561739734,834556153,136432353,-1556393039,780109345,996997069,-349721895,525841244,-1116072798,2089589761,729717979,-1651437082,-1746504462,544662008,-905511809,-1610358215,-1156517539,1512262544,-1606636290,311100615,1763001877,95030266,-814490047,221984548,-903601802,-706850891,1236452301,-1053229356,901975004,-1076809685,-1227469380,-1174413226,-457768794,-339711856,-271660813,-1076083849,-1203890996,-1693835789,1543085139,-1317719798,996727281,48022489,1002665657,1868115523,1955172179,400148219,243910416,613404820,1924267346,-251661769,-993622136,66800539,642944936,-1022576827,1875373439,-1777698206,-660166246,-2029241833,-753189820,-1666988968,-1638358268,-152855086,715562806,249116519,1464595458,-613993347,1838842959,-1511726277,1102024164,-1592077118,90435786,-691361554,-382498501,125853381,1633942041,737160223,2128619342,-2085125794,-200378457,-411049977,737956164,-1606188163,333735530,-1531453863,1302827598,-1100021645,1939942683,-734230587,-1184187390,1695775487,629125923,-1386959141,-750861603,-1134069144,647536831,651106130,447211184,519112377,99052881,880783075,533996920,-2118334267,-870848612,-1523697764,-1729031124,1513862280,-1745933297,-1419386463,174013840,198532068,959965324,88713209,-639822888,1285433475,123018368,617072645,-1582434532,-1223487201,783880351,479426133,-1601229852,-1030076072,-203037300,-1931445061,1785626502,-630762407,940077476,-1177679618,-1122579486,-1571609016,384218272,1417329335,-960139566,1989687808,36659484,1954826374,-1622554724,1131122564,-2088793252,-207374995,301063246,-1154135096,547539217,-577709311,-1267009790,1513857261,965227395,256709247,-717276371,-1877152473,-1169372186,-1745496266,-509963599,382509200,-1221941172,-100477521,982766940,-1162779212,-551369671,-686686414,1624749086,1828350138,-129168223,478161650,987908635,2052294010,277246867,1518695221,-602057836,-653465738,-1661061949,1142158021,-823801999,-887292837,-933494594,1351242961,-1208989515,-91040984,1183349352,642995678,1717083550,-1200682173,-69526590,1749919131,94513194,-766172717,98941905,-1075825664,1736752496,-2047240803,1985920544,-632525275,272452126,-67603455,-1548146492,-2006634252,1181200830,633215705,1493297954,-585122101,-1142752417,-1160836949,-1493116817,1394279433,-196068360,111167834,-252302477,1400050167,-1725667777,-1230571478,539293034,-2117138070,-1531852430,-241361394,751795856,1958541629,1634080881,584616497,391822715,-287617455,1861029233,417629193,702851115,-1549707893,1958012928,1612872913,-327885878,2132148332,-851094104,-735150282,984128768,-1779583085,1760792605,-1680165763,1575530924,-1907918778,-1377869219,1862047566,1260670273,-1381512353,907675884,-32167672,-1958404170,1724041425,21927067,1999221888,-1158530377,-424359522,640671607,-44376964,-444593233,1414974090,-958896553,-1440060039,-1912392851,-8444264,2092328802,1839679972,-627710130,611829001,11985466,1781815598,208318752,-1153815531,212178239,318120430,-2076860369,995149000,-1280559610,1024812659,-620182842,943861073,-1600409049,-1582870365,-1142238850,762296745,-643156872,-980833468,69212579,-305547236,846190701,-245260893,1433164259,313920775,1353271018,687653512,652868787,427540557,2122800427,-1020931663,98776105,622739434,812175951,-1794491669,1221439586,514023529,-2015113190,2083388477,445130850,844065723,-1957607857,-1347011386,435038872,-1194017035,-1153161452,-1305464509,1275048629,-1179622070,1287762576,478657611,-1272755753,1403770159,797077365,-2081212641,938208033,-1105716788,-1031528340,1986628639,1316961137,1356978121,-412492727,-1352142164,-1182638741,-916957433,1281306329,1348743516,1843982413,-1607290499,-1454240071,1857003566,-981729126,1761535262,1350344257,-200438415,-619179420); +/*FRC*/Random.twister.import_mti(137); void (makeScript(14)); +/*FRC*/count=646; tryItOut("\"use strict\"; this.m1.set(s2, s2);"); +/*FRC*/Random.twister.import_mti(154); void (makeScript(14)); +/*FRC*/count=647; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return (Math.sin(( + Math.fround(Math.pow(Math.fround(mathy0(y, (y ** -0x100000000))), (Math.tan(-0) ? -0x0ffffffff : (x >>> 0)))))) + Math.asin((Math.asinh(((( ! (0x080000000 | 0)) % y) >>> 0)) >>> 0))); }); testMathyFunction(mathy3, [-0x080000001, Number.MIN_VALUE, 0x0ffffffff, 1, -0x07fffffff, 1/0, -0, 0x07fffffff, -0x100000000, 0x080000000, Number.MAX_VALUE, 0x080000001, Math.PI, 0x100000000, 0x100000001, 0/0, -0x080000000, 42, 0x100000001, -Number.MAX_VALUE, -1/0, -Number.MIN_VALUE, 0, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(346); void (makeScript(14)); +/*FRC*/count=648; tryItOut("\"use strict\"; /*RXUB*/var r = /\ua521(?!\\1)/yim; var s = \"\\u614c\\u00db\"; print(r.exec(s)); print(r.lastIndex); "); +/*FRC*/Random.twister.import_mti(434); void (makeScript(14)); +/*FRC*/count=649; tryItOut("mathy3 = (function(x, y) { return ((Math.cbrt(mathy0(Math.max(x, ( ! (Math.min((x >>> 0), (y >>> 0)) >>> 0))), (( ~ ((Math.pow((y >>> 0), (( + ( - x)) | 0)) >>> 0) >>> 0)) >>> 0))) >> mathy1(Math.fround(Math.pow(Math.fround(( + ( + ( + (( - (x | 0)) | 0))))), Math.fround(x))), (x * Math.fround(y)))) | 0); }); testMathyFunction(mathy3, [-0x07fffffff, -Number.MIN_VALUE, Number.MIN_VALUE, -1/0, 1, 42, 0x100000001, 0/0, 0x100000001, -0x080000000, Math.PI, -0, 0x080000001, Number.MAX_VALUE, 0x07fffffff, 0x080000000, 0x100000000, 0, 0x0ffffffff, -0x0ffffffff, -0x100000000, 1/0, -0x080000001, -Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mta(-657369335,88495917,346954365,-1182969359,-1616292587,-710225916,1165255450,862173581,-674221882,-1157205651,1572181839,1658508019,2091069459,1264616817,-197923259,-627634330,-970946357,1465546797,2088124987,1303103371,1760895028,1639265340,-1395258235,96443300,-2055336607,-1278923456,-1420993115,49141964,-143959291,839067021,-1421344540,1451892359,684988744,-2110272883,1133725274,-1522734619,1215196550,-2036505172,-1101547259,1716738115,-59239815,829442738,1228686278,-1575754826,1348976663,1225282401,486890700,-1955214292,2057149316,-2058346654,-1862903450,-1611054909,-1565062077,-681324490,-108017946,706613511,814297124,778202250,1603045438,764387077,-429677285,806365830,874312772,1802859864,-1626412906,-2103032150,251916746,-1253760086,882761937,2105046132,1536228815,209335459,-474273651,306435627,254587934,-61736665,-1905771559,1698234396,-1546087012,-1862155619,-990805267,1389748643,-1156416220,-1655609065,1988464686,503527517,-21455471,1306344030,-1428009525,-2080767641,-1804038861,-1289097649,-926645016,-1751718627,1826817127,-1532608908,-1600303769,2147229686,334232797,1602034721,-1900230850,483028663,-1332313202,1297710483,607472490,1595587257,1419304157,-1250850061,-505959632,-726663187,513637529,-275362734,-1695574696,693952178,-187948638,363782411,166486404,186228610,-1764263384,-702780264,846200723,345934482,406573018,90638236,723574310,-362413215,762011229,1504842758,609309651,-1548863134,-1456137359,-1311823660,-491540220,1602782900,105749783,1947626748,867873130,-714679019,-232523914,1699370279,1182744786,-1831734697,-395355672,-1950078736,-1272161367,-1358796630,-2082573618,-405113521,1200933288,641173333,1338473699,-1662176600,-361930158,1123744491,-1206422508,-676832343,-441066192,-905042720,287969260,-702782635,-242242714,-846227481,1348580954,1165292571,1622380807,924773725,32055433,506953248,-291257270,757020679,1718931840,-160541526,1560616467,-474582809,284311545,-1978757320,945904609,-779519449,1123235518,904473443,139863596,-1725421085,-1069864417,663689314,1055410652,1284868104,-737767478,1109170770,-8088899,-1612318128,-992397585,554828370,-1602933660,-121887542,-1457195705,-975207644,1810807917,-1251116643,1738407619,-421355464,865385070,-91926373,-1630093758,-909953667,1310393714,-2008497767,-1169774177,339872558,-569566965,1256154059,-2083232030,985304791,1405113266,-2021180312,460022483,845512021,999026868,-392446548,18392666,-172836639,1391140765,-1067831654,-721865056,-59761252,1335923009,-175716656,167725891,818071803,1510018583,705815340,-771099509,1487816340,123817207,-2033657616,-1983668887,1328661337,1889769345,-2086503863,-2086087975,-1741653585,313494043,896162896,-1184891204,-2005491570,-520438847,-368785213,661931159,-498488166,-1663056695,1480858003,1303753369,-949836549,-1711800040,650670606,-1819600656,-54280434,-677169116,1976886224,-1316461526,803921911,109620630,1054027152,197483436,360202865,-1902219507,1590822650,1606232606,2027727165,1625300568,-737650713,1197314576,1016421892,310018599,-520510924,1858168233,1248846580,1787161789,-873134590,-1701947929,-659306725,1265601219,-1171175651,460119003,808558058,1213473098,819387130,-1054699991,1469869824,513477229,-1244959513,-160620297,396095889,1284584805,-1950532877,433997337,2067151231,1673887269,-1126300912,-2133997039,-311189378,1504767058,1595393250,1079654343,1197570586,-1581660051,-825675692,-2128636702,347910225,-11013514,-1178109735,601896680,806882236,990980326,224332436,-1341330585,-1971440991,-652508023,311993849,-398276463,-1808042813,-439524018,419639343,1246358226,1719393283,602084752,-949599493,-1417059625,-1777967173,-663309680,686838461,-911182320,-1970180972,-61420081,-964915329,-1305122437,-208649350,-302579388,-1075169955,-1913319530,1109033034,980785510,1279445727,-79321237,48848053,1732954959,1280956412,-1080954182,2084445631,1538448144,1665794355,1345603591,-1253771958,-1044121248,-1714391876,-1233656066,-1347710319,-1015414896,-1179094768,-209792847,-908663437,-1306922250,-595262806,-575725265,-1085663302,-367604046,-201836583,-2042241493,-1396178930,-953165067,1631987849,-1036641339,1065288794,-909008499,98648616,117592861,-192791915,2055395668,-1538887357,391797734,1708099040,-1301468326,-433796832,502053673,-153987431,-950151240,-2024129425,1307010338,1924713672,-1033534117,-910728473,595527637,841255625,2070308683,1827994317,-1933027080,572097605,1748018895,1671330930,-353001236,-961970896,-816252661,-273310873,-1985740424,-1291186372,-1050705495,-2140008722,-71494669,-1625870887,-1989166063,-1586098509,1585310372,-510605474,966965195,1614648633,504930944,-480012606,-1049714783,-1779391029,1784764418,323011040,-606170205,-764876729,-993512534,1370265646,-1161192877,103299329,-413309546,-749875193,-1300382020,-2092164186,10150186,-103032787,-764036584,1314113846,-1852923344,1084432619,-112701822,1389535406,1738337060,406501417,1849869807,1343042203,703605107,-545117508,-1244506366,473961600,53176866,962846724,-1338903403,-494664963,1499343635,31491128,1912558338,886475262,-1584840211,-297072814,69159654,-1097890000,-1881543638,-60816054,951225239,1967477659,723501830,-2115105482,22212300,-18760883,-76266341,25567476,105255583,1012976578,-174379665,232053203,-388637482,-1755945823,968081837,-2094014775,730220331,-700331896,-1135739925,769033941,1859573505,931107375,-1390466196,-1819172770,384252687,979360153,57289318,-1324367316,-97853216,-810914010,-537878887,2115722710,1694112518,485297843,-642839461,-1873729924,1100141607,470740485,1820796081,312280722,-1298053491,370141870,470310332,-908910340,1649326821,317366304,1242966393,-452289228,1414492538,-1911150336,-1110738656,-1064551600,1250733818,1748697246,1638269669,1628441179,-1821784525,-1669718164,1255128849,-546349453,1724662306,-1925468936,365060521,1692844550,1933116129,-139230794,1374238209,-697583326,68862100,2135991107,46396865,1271930074,1466354374,-1165275486,-1865605675,-1945266503,1943545789,491608278,-607076684,1362775459,-1220834976,2081516804,1417092040,-1499195451,1824757320,-560894877,-1183742108,788412181,425214258,2136196677,1615758483,-1485393083,406599867,-1561169376,219430771,-2048995084,824592830,238188022,-1491792393,964651960,1329194675,2079224309,-1369101371,575171919,-1824575647,-281945548,-1727906748,210847080,-1937926602,1526585701,-245907301,-149324525,1678603401,-1410362370,-163425479,-838366231,-989782151,-391245824,1857937281,-749934955,418164036,637160276,-875738464,1428225915,-1169581795,341876336,-997002942,842463220,1076171090,-1972093108,-205716746,1869881623,-1369824173,1180005973,1346333067,-604510128,119992769,1434285375,-1134161810,957152197,-1960262323,-1611433907,914325466,1703859634,-989568651,-177853130,-604460921,51736673,1285068763,1247756927,857458931,989416676,2021465052,1708490124,-582745039,1265921338,68605284,1411962818,278563460,253302212,-574487246,801517215,1335201143,-1655652972); +/*FRC*/Random.twister.import_mti(39); void (makeScript(14)); +/*FRC*/count=650; tryItOut("\"use strict\"; var jbbstp = new ArrayBuffer(0); var jbbstp_0 = new Float64Array(jbbstp); var jbbstp_1 = new Uint8Array(jbbstp); print(jbbstp_1[0]); var jbbstp_2 = new Uint16Array(jbbstp); e0.add(h1);return;/* no regression tests found */print(uneval(e1));break ;"); +/*FRC*/Random.twister.import_mti(137); void (makeScript(14)); +/*FRC*/count=651; tryItOut("\"use strict\"; v0 = Object.prototype.isPrototypeOf.call(h0, g2.g0.e0);"); +/*FRC*/Random.twister.import_mti(158); void (makeScript(14)); +/*FRC*/count=652; tryItOut("mathy2 = (function(x, y) { return mathy1(( - Math.fround(Math.max((Math.log(x) | 0), Math.fround(Math.acosh(-0x100000000))))), Math.imul(Math.fround(Math.max(( ! ( + Math.ceil((x | 0)))), y)), Math.fround(( - Math.exp((-1/0 >>> ( + (0x0ffffffff !== (y | 0))))))))); }); testMathyFunction(mathy2, [1/0, 0x080000001, -0, 0x100000000, 0x100000001, 0x0ffffffff, 0/0, Math.PI, Number.MIN_VALUE, 0x07fffffff, -Number.MIN_VALUE, -1/0, 1, -0x100000000, 42, 0x080000000, 0x100000001, -Number.MAX_VALUE, -0x080000000, -0x080000001, -0x07fffffff, 0, Number.MAX_VALUE, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(366); void (makeScript(14)); +/*FRC*/count=653; tryItOut("mathy4 = (function(x, y) { \"use asm\"; return (( ! ((((Math.log1p(y) == Math.atan2((x % x), Math.fround(((((x >>> 0) & (0 | 0)) | 0) % y)))) ** (( ! y) | 0)) | 0) | 0)) | 0); }); testMathyFunction(mathy4, [42, -0x080000001, 0, -0, 0x0ffffffff, -Number.MAX_VALUE, 0x100000001, -0x07fffffff, 0x100000001, 1, -0x080000000, Number.MIN_VALUE, -0x0ffffffff, Number.MAX_VALUE, 0x07fffffff, 1/0, -Number.MIN_VALUE, Math.PI, -0x100000000, 0x080000001, -1/0, 0x080000000, 0x100000000, 0/0]); "); +/*FRC*/Random.twister.import_mti(533); void (makeScript(14)); +/*FRC*/count=654; tryItOut("a0 = new Array;"); +/*FRC*/Random.twister.import_mti(543); void (makeScript(14)); +/*FRC*/count=655; tryItOut("\"use strict\"; null;"); +/*FRC*/Random.twister.import_mti(567); void (makeScript(14)); +/*FRC*/count=656; tryItOut("\"use strict\"; e2 = new Set(p0);"); +/*FRC*/Random.twister.import_mti(580); void (makeScript(14)); +/*FRC*/count=657; tryItOut("mathy2 = (function(x, y) { \"use strict\"; return Math.min((( ! ( ~ ( + ( - ((( ~ (y >>> 0)) >>> 0) | 0))))) | 0), Math.fround(Math.imul(Math.fround((( + x) ? (Math.hypot((Math.imul(y, 0x07fffffff) | 0), (((x !== Math.fround(y)) ? Math.cosh(y) : x) | 0)) | 0) : Math.tanh(( + ((( ! (y >>> 0)) >>> 0) == ( + y)))))), Math.fround(((((Math.round(((Math.pow((Number.MIN_VALUE >>> 0), (x , Math.hypot(x, y))) | 0) | 0)) >>> 0) >>> 0) ? x : Math.fround(Math.pow(Math.fround(Math.asin(x)), Math.fround(x)))) | 0))))); }); testMathyFunction(mathy2, [0x080000001, -0x07fffffff, -1/0, -Number.MAX_VALUE, 0x080000000, Number.MIN_VALUE, -0x100000000, Math.PI, 0x07fffffff, -0x080000001, -0x080000000, 0x100000000, 1/0, 0, 0/0, 42, 0x100000001, 1, -Number.MIN_VALUE, Number.MAX_VALUE, 0x0ffffffff, -0x0ffffffff, 0x100000001, -0]); "); +/*FRC*/Random.twister.import_mta(-1204426949,2041191693,1126130967,428139358,-2057243803,-350342923,867394341,-357066294,1157203591,208627851,930280575,775328967,500104404,-43209383,-1931788051,-1011203215,-1835525648,-1188351166,1556006360,-183234629,-1523957803,-452792673,1369377842,1080632780,-1953857817,140914087,282752072,410289934,-970908904,-218536476,553676699,-1508396520,459230783,1632846343,1917656064,-1237152549,1293777888,1471008365,-1434305515,1585248097,174753271,1124256455,154356210,-1619421893,-310268940,661817109,-633811798,-929260864,518527793,1263552145,-275255110,2019738219,-1992955162,630835296,-840483740,1773914896,602390459,-1907423758,1636071439,-1373230924,-427322765,-1781033464,-908410906,926285788,873885902,1822309347,-1689477917,-1038832005,-1067613833,1337232035,-1632400774,-1366084090,-330723320,-233998496,-1426811489,921268709,-439688017,677350243,1386712920,-789170558,639862918,-1580939911,-92896639,362028822,-1586053410,189519227,-176210575,-1700877003,-492148235,-799089632,1905493460,-1639406956,493464951,814328949,1816675052,-1380184726,1662189896,1230127850,652679347,1187821496,-882677375,1959552374,-315029372,-1598299336,-1601566931,-1353940211,1248023898,312831869,-508170487,-1672468502,-759055587,423148502,-625457575,-2018678287,324270858,1316658744,1840762719,1791868913,169753623,1398180133,-1774888411,1188190460,-572727875,1935420721,553655703,-629178792,1212139525,-132572201,-429613817,-1669657754,-1903415992,1967331350,278192153,-1729262699,1910188708,1320915571,154177783,-371399058,1738542325,1357350868,-1926426334,-1343811008,349723099,1948587115,730880337,362291887,1279368637,252310172,1417813782,127568330,545828417,1819209755,-2027549713,2084912793,1437216334,1793512995,-940220336,1166096517,936923521,1239522317,-235073830,-819603750,-2100453014,-429351185,-110512252,932776798,760468063,-1536242364,548861672,-1439148924,933654333,2079828448,-231845431,539389880,-232899953,-1590335066,438541874,-1757689754,1308339847,-1054208913,2100474926,-1750533551,-2138346844,127437226,61902672,-506589883,875475538,478371996,1536320344,1073142506,1656747741,1344243552,-165008087,1042794634,228319365,1118161594,-974423484,-1158076875,-393824180,1592569078,-248025683,-217231537,-991571548,-333101068,48212062,-229336118,800051237,1930059055,151071756,-636314634,-952072235,1702411778,1235016779,-408499899,-1161608559,1706615686,1368957786,-1647814884,-391806571,-194254219,1946534031,2061898196,1897995018,588971341,352669175,-1839032311,473524534,205377775,1822616731,-216846451,1976811540,534308289,-394634099,-296084146,338151609,-442434152,-1799953040,-273797684,-81389361,-846100218,-405175439,-1871396941,-2021584074,2079192271,1428285436,-1777576116,-1003431434,1917676910,271078025,-296917599,-86980754,-948535701,1526863008,421525552,1712674953,-1376745718,-2012015604,969170318,1760193852,404429044,2117784783,2008003030,636886332,-749011783,952421648,-2057524966,-82177248,974818011,-267496981,1788707066,-2127349191,2108971576,386815503,877711009,-307532870,-1297982032,1856685456,1004038806,-1926000327,1972019032,-1584800975,425320790,1906509285,130920222,-1775998833,-669151292,-974643404,1891805082,372936868,736403266,-437209141,-1957274973,-263711163,1319833392,1720123931,1756860090,1373342507,1205723053,-668277191,-2137922015,-578382575,332480163,358206696,1813950534,1329271625,304629033,60874357,428372413,1680853450,-1417242123,228072136,-1124193619,233066545,1953626141,1185481914,388963182,1719811,-591769277,1297983530,1871650768,-452950851,1231861637,126440372,1927449472,-202779832,-366274297,-1798887238,-1487392567,-1178796809,-907988084,-437037710,1202311445,1434088557,-1972285128,1802325696,-1756467285,1521323419,-1808057130,2016803827,-947746070,948223041,-1208379296,-1777958723,-954590681,1289835535,366396746,-1270794459,-1142147155,-293607238,1825458529,1778276244,1105322279,-1768471546,319044474,918839872,-2015862065,-1062784018,1849423311,-2002724240,1234704738,-156300608,-2046555412,287218094,2084304814,153636189,-1115008193,109283283,2008173703,1179432667,-1395923738,731551302,-1771030200,1466467259,-691534612,-1405067511,700675004,-1934556748,1797620658,1586049771,-1643078078,257382921,-2108374267,-930656848,-1537504372,-1624992147,1361830672,1891498601,1237810344,855037814,1249546847,1718774612,1574057214,-1729378585,725089827,1818935225,-1918495408,-1678284099,48021323,413341560,210410899,-822865196,-1228129741,-122655176,-477827527,-687681775,-1456629855,396962396,-1601316103,1578847703,-273309706,928049669,-966171542,1222145798,992142098,758295549,-1574069161,-335136560,395270876,1505748880,1120785447,-837088138,1879046480,712214189,1099368370,1625655914,-618132857,-1371343830,-1475759373,-1297399140,-2069323471,1237326653,1810199890,-1786937519,661160253,-1974239867,900008781,-1283732575,-191958457,-261270839,-407564701,1453908183,926148343,1249507032,191989979,-739746468,-382716796,-388359561,-183137766,-1834180491,-2071544228,602586961,771417206,-2012619530,-1779074785,2065191750,783108584,-329978859,843003393,1642653540,757836185,1307575388,27797818,-447218941,-736128490,1238778037,529828445,-1923966596,2113026785,-1908090286,608449886,-1542510343,1632307607,1152374211,31558143,-355323179,-589053501,-982679067,1040091716,144018910,-178139137,-1683455496,1889193279,-466069723,1516779860,-1109196387,1767864335,10287586,53454015,276465221,-754523473,-1403563438,179945619,304258716,1321543122,1915886053,164596519,-40745177,779622590,1962596721,-1755953770,2136423414,-475052700,-1773417010,-2038093763,850213510,825242970,1192219074,-877763700,508753366,793164149,1737208502,-211664910,-335540341,1815326361,-649981336,-2037988510,1708757236,429906076,1038697797,-2094123180,1211554124,-1251048944,1522855865,-246433148,2080644982,701943270,-1415300432,-1618217637,-1250828323,-1926199593,1240907307,1686664746,258859640,-758194112,-964294082,-2067043637,-1524615778,544228754,1298906275,377066625,175722143,1821542750,-1653235629,1987835175,1794791341,300247960,-1577536379,-374561756,-271719304,-1364811486,-128883971,654278602,-78503913,1262847964,-1514710861,-516958168,-822605449,1869701974,454452425,-336709653,781113629,-447255555,1600317907,-902124812,-475803188,884270545,-2117457826,1052407642,1133495309,933613615,631116913,-1477484908,2165941,1449700966,1172783750,368564185,412696929,-2019030901,-246472014,-622783836,33103568,321046288,1950395821,1149980607,604748535,-1427529007,277045912,-692223383,-2093083318,1757419733,-1836492806,-2029129813,1202215114,-1215003703,1514780847,-1663598876,528346790,900308593,1409217653,-873180734,3737621,-142614300,453253477,926646737,295081257,-1434593673,1184011949,-1340890821,1047778021,1208097046,-1188614658,-1558570109,1673616854,-954775378,746408501,821935556,1617885630,1849634326,1516158492,-1240808322,-438543949,-760690211,-2096215142,1592076799); +/*FRC*/Random.twister.import_mti(324); void (makeScript(14)); +/*FRC*/count=658; tryItOut("\"use strict\"; mathy0 = (function(x, y) { return ( + Math.imul(( + (( ~ (Math.cosh(((Math.min(0, x) | 0) >>> (y | 0))) | 0)) | 0)), ( + ((( + ( + (Math.acos(Math.expm1(y)) >>> 0))) >>> 0) < (Math.hypot(((((y >>> 0) <= ( + (( + (x & ( + y))) << x))) | 0) >>> 0), y) >>> 0))))); }); "); +/*FRC*/Random.twister.import_mti(509); void (makeScript(14)); +/*FRC*/count=659; tryItOut("mathy3 = (function(x, y) { return ( + Math.cbrt(Math.fround(Math.tanh(Math.fround(Math.min(Math.hypot((y >>> x), x), y)))))); }); testMathyFunction(mathy3, [Number.MAX_VALUE, -0x080000001, 1/0, -0x0ffffffff, 0x100000001, 0/0, Math.PI, -1/0, 0x100000000, 42, -0, Number.MIN_VALUE, 1, 0x080000000, -Number.MAX_VALUE, -0x080000000, -0x100000000, 0, 0x100000001, 0x080000001, 0x07fffffff, -Number.MIN_VALUE, 0x0ffffffff, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(618); void (makeScript(14)); +/*FRC*/count=660; tryItOut("e2.has(f0);"); +/*FRC*/Random.twister.import_mta(-419364590,-1608248020,4779068,1431100345,1514902166,945909621,-690019620,745979021,907187003,-1793531716,782114885,1358705597,1208711557,-399115604,1052570893,26508286,1740077747,1131268369,28257109,664508389,-66675380,829448585,1660503745,1389790170,-1295753380,572439689,1304249397,1140131814,-1571506059,1741321016,-1157469185,1712084316,755609837,1894159677,-372472864,-202128735,-1783179564,102421328,-1013727198,793131397,1275537403,-185272784,1895920673,543700269,-41806430,1734709389,1866450363,93642779,1435543315,-552476118,271342576,-1774824186,-699770260,85533027,1495728638,15905780,-1831666714,-1831673954,968777138,102733299,2027224325,84261015,1991333495,1476082747,-1360034796,1912145325,740128244,-1326436143,-515473453,-2113184703,716939746,-127921578,1564643054,1753076457,-1556676166,-280881333,-859374447,-1014893191,-191309182,-1770240602,-1273735129,-324633535,-1079263116,-1961632105,-1405642915,1200585026,-1909465327,1438549432,24122911,2018851592,202110453,-943267807,1380615242,-1703709916,476562982,1672158776,1785463975,-129424029,715772155,1093354296,1411262981,1114004787,-955534326,-1239775041,755086397,-210081949,383725404,-1686143523,2132289199,-1217938285,-2026750361,-1442421211,-174539438,774000435,-731942674,1137924347,-1067597378,1162198204,908408623,-137654983,2063004898,-1978688700,1669894419,-1044486312,-1739506372,-1479296156,1414236080,-1774264022,1743472725,-320721900,-450201264,607330062,407827394,823864185,-623046708,-1828906276,-434072713,744406171,-1397184223,-1548305137,2005126322,-1643175791,-1251758485,-2034642200,-11130666,576577106,1912540265,1086019622,304623485,682906490,1184066806,1968591184,1233948337,-763071014,-1971018748,-660041665,-1332892863,659800236,1557636849,-167342566,149129275,1517335676,30591043,1379533535,-1097077166,-792481757,-670184362,-1275549000,564711315,1125232415,54633386,-477078474,1740040179,-2053522967,-143267257,1295041452,1576356437,-1173215974,-1402314447,1711283062,359974268,-1324705824,-1725081999,2185592,-1160941203,777516164,1254817777,163744603,-1257058396,-1194055383,-21872167,555987713,936639632,223090535,-1503720714,1700652520,1944100876,772465801,-207542113,-1091639121,-718829303,831265959,-1108938184,1096211514,-833245951,-707051096,-1749672039,353764143,-2022401140,-1137023592,-1028653510,-2085286881,-489042581,2102279273,-775525824,1259146363,-906796256,-1054393824,-742328287,-2090555098,1397499644,1657680793,1049561607,1985367959,1116812550,-854393087,-1041010345,1213777792,10826293,2057374774,-1012393594,-142734321,1330405842,96761439,514245185,2085216643,-489687462,-905601795,909440830,-1561392926,956765610,2105310358,-446025402,1294436685,1215029943,1672955822,1589453138,1830421719,-1621204090,529606006,-1469772752,-549104372,781271185,-406890322,1426932835,-430099853,992501247,-1888002719,1778506022,-1961072043,1261522390,-80245378,1129712674,-908808100,78940125,-1105278542,-347878345,-318193711,-2118502835,-393192990,1588729905,1863159418,-465221886,1508536422,1556467395,583386587,-1023551647,-1883429965,-319612246,1602619179,1236652488,-117558317,51668091,13139838,-19130244,1531597352,2122237502,1942598999,284686134,-582894259,-1957125707,1338195945,380404277,-2041166810,-2069104756,1352862361,955056968,-1616485855,555766169,-1433832263,-1197605529,-1449400370,-649244824,1918092778,1402824498,1816135015,61918631,-2046575422,1617789028,-110637808,207911710,1942818714,-457230957,-1384424116,1579747343,-1737115199,-822041738,1789207008,-268341303,-104696117,1741527097,530804732,1524259832,1402531075,341055807,1623868582,-1953502333,-1849105247,647415029,-1242423629,1288098026,-1632354604,-163393537,1667860540,164690647,-1958326083,-1116069128,1646293825,-1983438000,819090349,903774979,106201199,-1185487561,1059445606,1336860185,-1257431966,859121200,231276735,1700794155,1467464409,2017863444,-1826971841,-296638759,1328133776,215638162,129552802,49767980,-512093080,1090458559,588871330,1914252815,-1840102629,-1394548469,2075919622,-1416419877,1995561495,23538579,-844290304,-2006265118,-525408952,-1920872884,233494996,154786852,-1093168334,341500408,342929319,1562808995,-253803172,2052988529,-1758489750,1252435079,-288947492,-1970973191,1712804008,1338388772,-41817318,-756731826,295232384,-431665780,854326761,2094209184,736542206,475070445,1999643477,-1255432176,-178533870,-1686683547,252717078,2094899744,1087172249,1207374895,-1959928485,-1510341521,-1350787838,2005687829,-406916065,-280082731,-479079608,-2033166309,1536005036,588639053,-559854866,868648205,-983885104,-2116225617,-1022241844,-216824761,-764562927,-1722947123,283015851,2058611663,711883135,1168008753,1133667641,-1701424875,-1535094134,1944224009,-1938675641,-355402528,1074679673,1956931219,1575199350,526889449,194449796,-691259818,130141827,1601547364,596764545,1768373233,277155295,-2129971,-184905428,-675448631,-536392306,-1245765534,1051018693,-101815253,-2095921639,546139319,-160242320,1621835180,1184226173,518058833,-1132504844,1594778484,-1350044448,-1162467351,-212047308,2028169244,1773429756,84959938,-1257926881,373696648,523003615,1556572428,815643520,1159636301,1042643075,794715705,1852118501,-1534411431,-214648695,-95472754,-220428057,-1704766231,1692406699,1097752660,-1406154017,2096955948,1665466477,117083886,-31858898,-1956040999,-1127125522,1657819577,1783604695,327354581,-637223381,1270631670,360555787,360767690,228968595,-1719903397,1263693850,1894238877,645637377,-1079224899,-37239722,1688644785,-1678845191,1748882132,400566308,-124788454,-1683273182,-1759168226,-814419381,2052142829,110930723,1985339318,819051808,964255879,299151206,-1269090885,1390399242,814404838,1645952844,-779202301,212120520,1314137155,1924656787,-1662974674,1891709071,1745147867,1190071539,-1957886766,888294593,2084847307,2066588246,1980437626,616472738,1075314431,1412142606,1160213831,1626589368,1567537528,855481003,-1453330471,-1277618800,-503745275,2022384131,-1691215389,-912561927,2051077005,1668626559,1649906732,2046133588,-1928059687,271280645,1223704429,-1074111911,15160038,-1326073365,90736456,6092549,-513865547,-656248687,-1035292904,-666545583,843814398,940381102,-926249699,-9879839,-1369766457,-861156834,-1586318986,-1994246273,1871669248,-1928212006,-2071013209,848388048,751989804,-1766397796,-1640412335,298223475,-1640342644,-266068156,-844427709,14792269,-26601875,-1364383311,1186518296,-1343060325,-1124743518,-1980101752,1829139935,146711283,-1857091767,864429226,2134572974,-1515959562,-1590541812,-934868546,-197973204,-179615973,-1010395022,-942398031,1668455087,1031144617,672198965,-802297615,-2056756416,-1060086379,-1763319920,-857380632,2095652536,-2145393160,372175656,-1936196310,-892989865,-1776893178,-1366102602,1042718671,-569749683,500376971,166083938,-697159341,99904226,1375487918,820240321,-139041813,-2022901916,-190020131,52555314,-1460158228); +/*FRC*/Random.twister.import_mti(7); void (makeScript(14)); +/*FRC*/count=661; tryItOut("mathy2 = (function(x, y) { return mathy1(Math.sqrt(( + Math.min((Math.imul((y * Math.fround(x)), 0) | 0), ((x === ((( + ( ~ x)) <= Math.min(x, ikmigy)) | 0)) | 0)))), Math.fround((Math.tan((( + (( + Number.MAX_VALUE) ? ( + y) : ( + y))) | 0)) | 0))); }); "); +/*FRC*/Random.twister.import_mti(197); void (makeScript(14)); +/*FRC*/count=662; tryItOut("mathy3 = (function(x, y) { return ( ~ (Math.max((((Math.min(x, y) | 0) , ( ! ( + (mathy1((mathy0(y, Math.pow(y, 0x07fffffff)) | 0), y) >>> 0)))) | 0), (( + Math.pow(( + ( + ( + (Math.hypot((-1/0 >>> 0), (Math.atan2(-1/0, x) >>> 0)) >>> 0)))), ( + Math.fround(Math.ceil(Math.pow(1/0, (y % (Math.atan2((y | 0), (y | 0)) | 0)))))))) | 0)) | 0)); }); "); +/*FRC*/Random.twister.import_mti(443); void (makeScript(14)); +/*FRC*/count=663; tryItOut("\"use strict\"; mathy3 = (function(x, y) { return Math.atan2(Math.asinh(( + ( + ( + y)))), (( + Math.tan(( + ( - (((x < ( + (( + x) ** ( + y)))) - (x | 0)) | 0))))) >>> 0)); }); testMathyFunction(mathy3, [-0, -0x080000001, Math.PI, 42, -1/0, -Number.MAX_VALUE, -0x0ffffffff, -0x07fffffff, -Number.MIN_VALUE, 1, 0, -0x100000000, 0x100000001, 0/0, 0x080000001, 0x0ffffffff, Number.MIN_VALUE, 0x100000001, Number.MAX_VALUE, 1/0, 0x07fffffff, 0x080000000, -0x080000000, 0x100000000]); "); +/*FRC*/Random.twister.import_mti(590); void (makeScript(14)); +/*FRC*/count=664; tryItOut("testMathyFunction(mathy4, [0x0ffffffff, 0x080000000, 0, 42, 0x080000001, 0/0, -0x080000000, -0, 1, Math.PI, -0x100000000, 0x07fffffff, 1/0, -0x07fffffff, -Number.MAX_VALUE, 0x100000000, Number.MAX_VALUE, Number.MIN_VALUE, -1/0, 0x100000001, -0x080000001, 0x100000001, -0x0ffffffff, -Number.MIN_VALUE]); "); +/*FRC*/Random.twister.import_mti(622); void (makeScript(14)); +/*FRC*/count=665; tryItOut("\"use strict\"; h0 + '';"); +/*FRC*/Random.twister.import_mta(1593975424,1023005758,-211668070,1792204132,236313150,-1902799615,1615819675,-175265961,-315456447,554296872,1376221769,1004360710,1872195322,-448585452,-563382511,-1726642037,2112179847,402903258,1238673633,-854537503,333263370,825883250,968178502,1674691681,-496396316,-95914764,1651041994,313834992,-681219306,-143981527,-9174295,1700566089,-512379592,1078077283,-1122831367,1438440067,1218082860,-150612409,-915774818,-528576698,434871449,-1997590210,-1715886186,-1054968548,507570613,2032806603,2076544348,109036340,288208080,-1309130285,-2012615526,1269318017,771147038,1278786899,1189905031,394890914,-183093445,64048557,897617606,534047156,1758856864,-625773576,-616477378,308781256,1425128726,4756082,-1638085016,-1251154374,-393173633,272856508,34959784,1107239246,-1017951154,-1257161340,496829427,86310169,169132676,-533775960,803090808,-2106786664,1131693088,589881878,-1077649415,-907414113,-1646369905,360083854,-703713486,-77534615,1449474131,-1936833808,1626308324,580456147,407116953,1538458585,1013991311,893577687,-293711244,-1128558017,116262045,212594784,1174166032,1193506484,1508585081,-1481263083,-1219122358,-1277135180,253510675,1906416278,1305451741,-1597990655,-896063250,211386655,-20436378,324458736,-382356540,-1804216988,813502804,-1299120210,-1057601265,-1393218702,161709674,-1499931627,1382604095,-792093776,589884733,35722243,1307606118,1638928423,42162891,248578659,691285457,2049731995,-1522825791,1836677401,492116832,-1354789853,-1345051094,-767926985,-97618701,-761394816,634795271,574624495,1003998071,-459731576,-1732933680,-608713370,1126732908,-229952691,1840229609,-1369599326,713048749,-180434710,-1766301516,1168441572,1168720171,-1004084681,1408571219,1446800146,-471779428,523492314,-176355217,-1414905600,-2011651554,-678987212,234903087,-1034034196,-1789419710,1756259936,832720943,1848621525,-1126563903,1851595649,-1454033925,-832556592,-265385654,701193892,214930942,1359469515,-2094787841,-955159299,409271741,737414538,-289569523,-1026105999,-119964455,9963909,336854778,2005864973,-841218376,1998493562,-98611723,1691550182,973795738,-1306671241,-1159070902,-842826966,2068219264,1662958818,28041529,-1863717132,-55002587,920881193,-1333360916,994706719,-1438778047,1144414339,526834080,2136167294,-570239180,2004421685,1413860346,581064765,1907977709,-2039359338,-1029134035,-84672803,2101393563,-116461139,-1748998720,1817344412,-107745603,-1230181859,1435890943,-1507562009,1261259394,-86972858,-858021076,-967308475,27873829,-759808167,-2006619204,1773398743,360652529,-166419868,1386342217,-598376596,-586966903,152895958,715837559,857007151,-604168353,-320966734,1720646898,-1059582205,702051085,1720334408,1653962837,477234121,2129750217,763870558,208891623,740919155,-912795485,-1847135196,-1198353386,335148342,1775770182,-1972048262,-103149124,-2064837677,2111431132,-591792664,1901494957,-1815573731,-401952098,633549914,267542641,-1069664416,-56156721,1877482321,-157765087,744639028,366940920,-860890398,-1911189242,-1453592641,1865310421,-26189361,-1117523253,153890298,-380693403,-1636958107,401453341,-898090235,1853121721,180350425,-1086815296,1622015291,1830493569,132492603,-326201373,-961590061,56864865,-603376210,1144378281,-186243877,-2036796301,-879892037,-843895859,102040098,-505622941,1899734087,2081234924,601518365,1325894596,-1223760012,-2123554055,859997202,530252958,-101293450,-267423150,914966937,1137434408,538057706,1850902102,837118440,-102968832,-1041794593,-948927127,-223715238,1415754791,287140467,-2054803575,2103242292,-1931562900,-1709096573,-582536465,-1883273035,-992818894,1065895436,-1460689025,1434221674,-1034636630,-1828943449,-318111209,326274465,1222119550,-831211194,-839378922,2100288312,-1988876264,1821798784,-874039081,-1901932921,-1474924129,-1720919529,857283570,-1575237344,338407846,1850461877,1078748400,-855077234,1706413899,1268599855,1651276022,66644445,1047267415,-800910127,1805702858,88056345,-44505013,-768746694,-756969824,588579864,810156259,1670730213,-196568576,1642290294,1377263691,2098670673,-1569955486,-1675007550,-992211713,151381136,1635505217,-634104473,-1775095796,-827851446,-22478497,1793294888,1925611914,-1713153272,-1221768605,1947602881,1761386143,-1970032709,1476373018,-966807895,1809256235,-1234096562,-1032575797,-1725916922,1624064665,-1883091126,302220137,-451854142,698854878,-2101924143,-684467182,329648435,1392406434,1004223394,2121601061,-301921749,-70250213,1837859146,-1230404263,-1039900305,1177732188,1715454068,-309954554,942837376,573932781,-839568142,369621995,761099332,-2027880787,800131532,-1246458772,-1638157150,1042434839,19822733,1963129193,-284877355,828282279,-514715294,265832968,-1982806955,-806609078,333186426,364631076,1015453034,1107159105,872465035,-1514470176,-239599354,-4632790,-100735267,-1276613107,-681680172,-66285568,813606294,-1963960294,664742058,1062527888,843047690,-1261196721,819849273,-1919575899,633367081,476459142,-581598219,-454079940,-1554214250,-778309323,-973410034,-1424487869,-199958606,1567218473,402075536,1973343540,428012301,1254882524,-211801073,290708502,-1859309042,-1257314127,1432001692,1122260383,-305982847,541778840,1426057930,-2031301404,-1230216450,-150291773,1581668579,-1567037202,1913516017,-2071742566,-890593324,-1360389197,1680782245,1301365697,-2118614459,643533902,1762862345,820509721,403163047,1326421938,2073490120,202563467,2109485036,1080691799,-1366739488,1242256703,2054784974,285997434,499340454,-1197631593,1640102802,-950022416,-1303223925,-460436818,616365146,12757045,1497618786,-1821718348,-765068354,-2046370059,-1839615615,-1030591306,-313438533,1674578524,-1484920397,1369465501,-590051873,1102574815,1387015453,1727793989,219362038,1029774646,-381744997,1318654589,-2093058534,150765316,1788445815,998494985,-623295394,1667560470,-988917684,164608538,-191069768,-2022243544,-1344635323,-1288373864,-1841544275,-1608849218,435910671,-742102969,-681942266,-573104311,-1971695793,-1722333944,-923330538,-48383115,1492264922,599221639,-384689330,-1746339968,-973764870,-64060898,-831851576,50825950,1960838762,2059796514,-1510498626,-895328261,-238391936,1232795069,2134459643,1950393864,590295083,1965516974,409028805,334303782,-1170232298,2074555349,1379660948,903798376,-577895743,-2047231287,2114086120,1216817521,1006908980,-636893566,-336165288,-1221352116,-428744935,56011401,115975623,-982728771,1008114599,1191570457,-773356953,1293219191,-99621455,1560064076,-1027237988,-1056965055,-2106019930,1194754247,1246991733,-2143796553,-1783900615,-1694368143,-1163485757,-89874726,795650343,758590821,-2039988897,-261784955,705248137,-1136205549,-398016688,-827846730,-1245808437,1822981309,-1901250946,-756532597,-530301768,-1307709191,-554628634,1567788449,1393341611,1953367775,690829914,-1634792039,1124957172,1005787180,595278123,1822211451,1402172528,-244670284,1176943774); +/*FRC*/Random.twister.import_mti(7); void (makeScript(14)); +/*FRC*/count=666; tryItOut("\"use strict\"; for (var p in v0) { /*ADP-1*/Object.defineProperty(a1, 3, ({configurable: z, enumerable: \"\\u43FA\"})); }function x(x)xArray.prototype.push.call(a2, 1e+81 instanceof \"\" , i2);"); +/*FRC*/Random.twister.import_mti(134); void (makeScript(14)); +/*FRC*/count=667; tryItOut("mathy0 = (function(x, y) { return (Math.sin((Math.fround(Math.trunc(Math.atan2((y !== Math.pow(y, (Math.atan2((x | 0), y) | 0))), Math.fround(Math.cosh(( + (y ? y : -Number.MIN_VALUE))))))) | 0)) | 0); }); "); +/*FRC*/Random.twister.import_mti(257); void (makeScript(14)); +/*FRC*/count=668; tryItOut("/*RXUB*/var r = new RegExp(\"((?!(?:(?=.[^]\\u73eb){0}))){4,}|(?:(?:(?:[^\\\\t-\\\\u0091\\\\s])[^]|^{1}{2,3}))(?=[^])((\\\\b$|\\\\d{1,3}|(?=[^]$|\\\\f)?))\", \"gm\"); var s = \"\"; print(uneval(r.exec(s))); "); +/*FRC*/Random.twister.import_mta(969799090,-2100805613,540269689,1808233372,1584418611,520606260,1666130606,718341800,-1870940453,-1242132845,1902555837,-1269821291,1553747668,1254722371,-1766906764,-1845209203,-187598538,-1389220829,2088718929,1841129514,667543905,1350704932,1524930875,617635935,-1927241331,-113889525,687170130,-1433757816,1485013683,-248791371,-1253527390,165724068,-1743922367,93870645,-2093210340,-1565482947,1019035287,1086224162,-453230184,-1648761392,-1181584507,1132175845,1363149358,413124205,1685136640,-1153068546,-221769322,1064598564,-1542533779,-1675054392,1395048381,-675600969,-195115063,-706688179,2134561522,1652542201,1751816845,1122166638,1155853060,877727393,402465945,314021480,543463327,613269095,1039953864,2127923092,1955363193,933744359,-234951293,1763645186,-469227708,-1280062718,1464351932,-657096144,-635096127,580150132,1913150157,-1849241752,-1888428440,944269755,444009677,-1086899343,657862802,1178805658,-543432284,-1671955296,-1790076187,1572382412,471016281,-1875161823,1878722661,-309096133,-1228642166,-1554308574,-932168929,1021082274,-26459234,1509473378,11998773,73231416,-1879503,1131220965,1704503752,1330781214,-719046765,-1741412877,-803679299,-704315540,878024243,416908954,-1231172687,549100233,-518709038,-1332513979,2064888880,1075858176,1251249533,-2063752622,290682033,1839322991,-576228823,-1792166857,-693644608,516430710,-1793314046,396369488,82746042,-985386507,-7958163,1285691556,-891569790,531701145,1280729903,-1502379857,1235183760,-1094399954,-393458268,418619093,459525292,184889401,-114285558,1448486804,1353857113,-36944637,-61263529,-626767598,1468812497,-1200826867,475848983,-130470958,1057640792,1421282554,336943698,842986740,1008069131,1191246925,-170201840,-486552244,1132431622,210134119,1296416056,-9839351,-981835376,-1552484290,-742295676,-831736678,-772289532,-1512406752,491761946,827549605,-963471099,1745388745,1085556711,1497680349,-413761871,-874040574,1478947754,1991612564,-881306273,-693862677,1566184899,2144090835,1058901248,-294512516,-733091346,-89641634,1414483495,-1344750552,-127017929,1831004227,-101067122,326637972,1990548540,1956265658,-1053242765,1083708810,-1896940505,1709882080,1510399469,202694601,-1816606213,1049739892,1665297046,-1125733409,-519441958,-2112253299,-1624457370,-1652300554,1708967151,56637682,-2099147749,1870389528,-1244609428,431545204,-1532786009,1247736453,-1228728856,1944642605,-1650057078,351242604,-1623632877,-1369271464,-743546155,998474704,-1819622844,-454427475,-1854478492,379928804,180230627,-1524003038,818957489,-783229970,1103906598,1048218759,-1768247019,1751450144,-1674770601,-791422314,-1000069294,712404112,-591726163,1911686844,-1811120786,-125732730,-260179284,-913831481,1695780877,2015301329,-1655709941,-2081861595,-583245892,-347973246,-465753192,-663371818,-1324678963,1856750844,-1100601971,-1487089966,65803481,1597380711,-873908652,-1181600353,-738770911,1967843670,251991043,2027512899,-1865366035,679396098,-793130512,-163444098,387547845,-1243927491,1402479096,-805589270,-925452993,-1887624336,-1712018938,-439191287,-1945699602,1430638573,1323298280,-610384836,683198967,-1696312736,1747223924,-1493501837,-1774349738,48540003,1785860613,-340743740,-586487851,-788242552,-826330041,1530410779,906227708,1284724591,1814365059,757280463,636343819,1548018845,2037180248,111940069,839417488,-1229880592,-761148178,1530505932,-680863938,87949324,28786136,982972366,33232865,2111634861,743165501,-1291579197,-1385357141,-1716636629,-448607204,2118321379,715404671,580844783,146584732,1434788603,184938665,-598067130,1547376457,-282134895,-213378731,-693036152,-380386007,1589459832,706092508,-1608834647,2026657102,1054765863,-332961299,1557665283,-197134921,-1788389220,-703181076,-1590368744,1683195844,1237851781,968574010,-315971542,878992450,1533453068,-36179395,-2116963479,-1752870244,-15000360,-893773514,-11555263,-1018898471,-1715013342,1697579420,1695680118,-803111697,-211236225,-2143887052,-1570291989,-1345447748,-803466921,1220366502,242239730,-514806980,-806417889,-2098864056,-1050531360,-1253114382,1065258105,-1280325459,-495333396,-1173095206,82079496,1661377940,-2130553699,1004092584,736678463,-2103599357,1905575354,701064965,-312059489,-414438741,-1637805209,-1573446045,719720266,1761106242,-546696147,1342521467,790555118,-691990503,-1879590959,-797756971,413231516,-979170746,-1240519573,445740132,-1295959933,1642598965,-1447213338,-2044297031,-1759373933,-1085220180,-620421962,2132861393,527503378,-1628626158,307595702,-2099238435,1091925543,1104840234,2025725375,-365308396,-1276258052,995900469,1995767215,-1592692688,698009663,1900784991,-1371335650,-1441825760,-1464838830,1918479528,249337785,-964874783,437161244,-798128590,-302645332,-2087370715,-883759762,-2003774421,1618997033,965240861,1251917294,1356865764,-311764664,1617178177,-827847937,-119661122,1710184334,105180761,-1876332524,1053455408,-443812043,1574589851,2042271544,1537697848,131927919,-1110720262,368240261,-322084311,701951663,-2113250178,-2105297498,529510221,1724237600,-2098904573,775600248,1125644926,-1930721721,838720921,982341060,1831334145,682980047,-911613919,-1056524366,1084294108,-2076858541,-21128046,506666464,-177583601,428966979,1295623310,380151421,-160996475,-108163992,-2100509694,376096682,-1440841970,363948882,-300033518,2137546665,-1474440833,2128846663,1828562708,1130698274,1388744306,461235847,-1933784431,-35673146,539223533,186399322,-621097800,1513043196,618151172,-586955757,1407401892,-102299562,1973868220,-1688907277,316879842,-1890323475,833785808,1399911503,1476136336,2049633159,1079220420,620384157,-1768490752,1437581624,278829082,1203357037,-1526719725,1876981689,1796506049,-745507425,-329810434,-20856315,-1414752166,1746804189,-1834560170,-295640130,-742264254,2134716016,1063533366,2081237706,-157699738,-912910813,1633578392,1068712730,1406507527,800897097,-474095602,-1991536160,-344390083,-1781678819,2135126764,-1432547964,2103627462,-229820644,-216511577,-158478314,-1227315916,2131719176,1804765547,786409271,-1824631446,187626307,1853041479,256296528,1202000374,-574091993,-2029115678,-1809302712,-1043358304,1059034245,-1035273193,471340367,-2009850351,-1669615210,341424457,1167082989,-374971803,-1889608384,502853620,1949591532,-329083064,846994245,-1881066958,1067504186,-851857519,-872632353,-1629899314,1465677561,-261383302,960310081,603885778,1408641640,1372320861,1948377302,-1063057140,-1648785149,-2142768033,-2018702984,-1109092975,251689086,-370838513,1608850329,1960218830,2044511683,-1543109274,-401243157,-399549568,1764282150,512865123,1896437170,-1905058896,-1328410053,365725510,631959360,337227002,-1031964199,-1224846811,-640488049,-777214265,-1911230022,741018783,1244134362,-2061861243,-1447817493,1460315848,-1162299383,316690654,-540698066,-546662674,-1884650508,-880367717,-1490260453,-2073952075,-1702336122,-844274647,224108248,-2089422602,108498621); +/*FRC*/Random.twister.import_mti(296); void (makeScript(14)); +/*FRC*/count=669; tryItOut("v0 = (this.v2 instanceof p1);"); +/*FRC*/Random.twister.import_mti(311); void (makeScript(14)); +/*FRC*/count=670; tryItOut("\"use strict\"; mathy5 = (function(x, y) { return (Math.atan2((Math.log(Math.sinh(Math.fround(Math.pow(Math.fround((Math.fround(mathy2(Math.fround(y), Math.fround(y))) , Math.fround((( ! (x >>> 0)) >>> 0)))), y)))) | 0), (Math.acosh(Math.abs(Math.fround(((( ~ Number.MAX_VALUE) ^ (mathy2(x, y) >>> 0)) >>> 0)))) | 0)) | 0); }); testMathyFunction(mathy5, [(new Number(-0)), [], true, (new Boolean(true)), 0.1, NaN, false, '0', '', (new Number(0)), (new String('')), undefined, (function(){return 0;}), '\\0', -0, 0, /0/, (new Boolean(false)), objectEmulatingUndefined(), 1, '/0/', ({toString:function(){return '0';}}), null, ({valueOf:function(){return '0';}}), ({valueOf:function(){return 0;}}), [0]]); "); +/*FRC*/Random.twister.import_mti(506); void (makeScript(14)); +/*FRC*/count=671; tryItOut("\"use strict\"; let a = [,,z1];m2 = new WeakMap;"); +/*FRC*/Random.twister.import_mti(550); void (makeScript(14)); +/*FRC*/count=672; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return Math.cbrt(Math.fround(Math.max(Math.fround((Math.expm1(x) === Math.fround(( - ( + y))))), (Math.acosh((Math.max(Math.fround(Math.trunc(( - ( + y)))), (([,] != ( + x)) | 0)) | 0)) | 0)))); }); testMathyFunction(mathy4, [(new Number(0)), [], '', (new Boolean(true)), /0/, (new Number(-0)), [0], null, NaN, ({valueOf:function(){return '0';}}), '/0/', (new Boolean(false)), false, (function(){return 0;}), '0', true, 0.1, 1, ({toString:function(){return '0';}}), ({valueOf:function(){return 0;}}), (new String('')), -0, '\\0', objectEmulatingUndefined(), undefined, 0]); "); +/*FRC*/Random.twister.import_mta(716023893,-1460056874,-1671495896,806754303,-1734214519,-1896395781,-831676446,-300578205,-595400828,2136394387,-1854590685,-324137289,-42400935,1250759696,-1464564058,-1873712497,2088533554,-596957758,1076513210,738014303,31180717,-986623715,623088878,899128377,1294201352,639835521,463068285,859069543,-1147936103,-1966481821,-1459249026,379264346,278296747,-1995520347,-1473310744,-18987127,1791067775,1654521896,-1548342368,-1515870372,907897554,-797041495,-257424281,880573657,-1920222997,1202617595,-1171142361,-690650126,934202972,-1422096583,-1257755285,1592529857,-435538948,-1823470768,-2115912948,792175079,-1544370671,1040046799,-437915473,269705360,660697932,-903020178,128313771,788785789,99063310,-831947422,-1435622045,1751000639,-1249297357,1923420286,-571718958,-1793490228,844750072,24142640,1222358521,-315279049,508281289,-1310782287,1017186410,385872571,-1862669619,-108697785,915470751,-1043322176,826515961,2075372754,272616481,-67336601,-764411795,-1137460577,-1262707003,-673251628,-1401799977,-585938755,1433536267,-439554697,919825101,-1114962239,-550669809,-182835613,22626171,1198162520,-1124311044,-1585866508,1514230219,-1061792047,947031033,-1797360042,1984309450,-1038758461,-307252698,-1508087447,-1796290491,1830240770,1739186413,423816562,1839113872,-1162507450,2085105399,1535931445,761243841,-1057001158,662311014,-1742156585,-1515131754,-776552673,-996702635,-642792609,442246808,-738955865,524691504,-562172720,-1249758318,924462671,819911774,-1745107236,1547365973,-423042965,155686366,1138450665,-1045029298,-869047755,1436788034,339502035,-1679821665,1142305667,-97407023,-1129035457,314782430,-860127802,561345854,1685685870,374979626,-1062775764,1732297694,-1109176214,-447226386,-1603249885,-1605101975,-454548853,-1163637996,-360108327,-843002487,2109276811,581312416,-2124577689,-575431216,1398749049,-174758687,1445161749,-546248194,917741854,-1979054581,1738154006,-1374734754,-221590501,1812380339,1289683210,-882400021,-732222740,-182941730,1313157853,1125706984,-1434059269,-521298004,1936253843,-1874765972,1490733909,-526795648,-719741112,374937427,1334066896,1133632158,496160896,-2007398098,1984992588,467505750,-1432720054,-301233527,514314130,-275057919,611168781,-1563358608,1688032279,444137536,-110621290,-1760354316,977957999,-1885016637,-1269597619,1033505622,-1611522893,-446143663,-598486204,1184854420,159504938,1060722919,-776370517,-975354046,1561509197,-266524745,1958576384,-951474066,-999815925,-433598383,-875658428,1294282447,-1225124741,-1167226041,1564371375,415136264,-129507558,146980199,1546155959,-1708717197,1268569328,390014936,-213441910,-1181402881,1244450640,846468942,-1565345775,-334375220,71467876,564630014,-1414844061,-1896217624,-1770743561,499993040,1270725424,1077326072,1060988868,1243202154,-636162876,1147256345,1034436736,-647513846,1912281805,-1610047050,895673217,1288662197,1490820903,-2072300766,-196363103,-939916586,852949385,-241514787,507612714,-1419830890,573339098,-1214686696,-465065961,1616096142,1196565351,-1855253942,2069142367,1088228194,-217362404,-1387903768,-1050295032,-1096865458,1286958888,574982359,-673151829,-1215818199,-1359267452,-932608770,-1957639535,-698996,-265803106,1199687097,-72303374,989713968,-1318071651,-685818537,445844781,-46385210,1444026632,573784157,250589012,-1691428067,1373604529,-160565169,1998268350,-599533097,387212277,1415639741,-1876790239,-456254304,-1352285520,1714873545,-1100024264,-80145300,-545133397,774057133,-1596889501,1511688241,954610853,1603874940,-1473486695,1859741983,-906473600,-874385068,-1043967562,320130390,1065471610,-1639797849,-319263440,674504676,-1443409646,679262463,640121708,1188159389,-1754689584,1673186696,-716086578,-2002361971,-2036034224,-158983579,-423162969,-788791905,2071216880,802666855,934054065,-1761158464,-609523914,-2106843810,1721565583,-1082982570,1109859581,2122820392,1561999269,-1655323762,-1241512293,-349781916,-1421596624,860403783,1599953066,373736314,-496681012,-971205061,1417704461,-1866210651,1821555659,406312379,1211459066,594179097,-1693359945,176461014,-713231925,1694532645,-959051022,107217927,-877469413,624808878,1328524426,1078436870,-1187837344,481551539,-1682587785,1864157244,-1913756076,1809541382,759489024,-184328570,-1809302840,1381341250,1269718006,-49915346,2141779290,-1555404356,-745064555,-854773591,-10348301,-1857023597,-1193419053,-699709557,915165243,577569389,1343354504,-1258055168,-240690424,-1622654400,-1969325436,1130858755,-1005505182,-1653477833,1835017199,-1211680495,1677045757,265438203,-705596250,715001837,1424488873,-89651875,-267320168,417090440,-1208717021,1487254751,378954894,1238039081,-243966086,-399086001,-1578388359,-409130044,-969062000,1750937668,928572364,1103413434,2140262586,-1918233764,-1615493999,-601402527,-1084027002,218044619,1721649724,168808429,1106576777,-318392460,2135073954,-733516978,435833740,-1572040337,-925056267,-312160969,-401673378,-940275163,-285685814,-1488174435,1747429797,160154243,-417137042,-1970316905,-1679144522,-2053572629,571972249,170079635,959809335,1731898598,-919280780,1097784661,901530412,-959521464,-1427937513,-1815840429,-641353455,-784421850,1294653703,-307546399,1336689428,-779947622,121324473,972542594,750846709,-357409085,1554721745,8968421,1429835647,1977995885,2098671459,1017672655,-915937671,-607043588,-283547008,1346998748,-1989417329,-1579900899,-744900318,640928452,1298297099,-238706292,-360225654,1606509559,-470362017,-1446454020,-1028749756,517992945,-850775738,1894101041,690107007,-638358962,-911059550,-874229337,1797459370,1461097728,-1922070390,1242583577,-1244375602,643993524,705348826,1832179394,1006676863,1073984135,1693152449,999309441,-1981879437,373324611,307726740,381092547,867089563,-966810814,-1090534282,1695390229,-493999523,1746177133,427792622,-215214950,-343806511,1309027132,1183810963,-103953595,-308467248,1404152581,-1194016388,1137449584,-1687181866,-1171569550,411534250,-2025296458,465404256,-1530461024,1968143927,-547955609,-153387941,-1233037343,1443240649,1957931495,-1058517917,-832885592,-399279697,1982523386,1351867943,1972753374,-22715017,712972205,-1877356240,2129914730,-1251080408,1746576295,-1779059738,749280761,-832484251,-1828844434,-967174537,-1128356186,-1061727807,653375194,-687119226,614738925,-1874600336,-883265663,-664141785,688778389,-1168518941,-1559550736,-1366444225,1809582537,-815078951,1728759758,-1123793144,1641312965,839748244,-393040756,-189644208,417162389,-1145255518,345965279,-59253156,-244931021,-2101288938,-2121217311,1814067323,1017184873,-1255531145,-1550464402,230496526,337463305,803653510,-737968814,208196218,1938091304,-414561693,-1160877422,-1315354694,-29789507,-743517661,-1096400230,-191281247,1077727742,6175330,-1458565413,-1133283607,-1144326177,1038144309,209394188,30259516,-1254722936,2020858169,-1630338218,852701794,-1177561185,-1863652888,1659808082,1511334782); +/*FRC*/Random.twister.import_mti(102); void (makeScript(14)); +/*FRC*/count=673; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return Math.fround(Math.min(((Math.hypot(( + Math.sign((Math.fround(Math.pow(Math.fround(( ! (0/0 >>> 0))), ( + 1/0))) >>> 0))), Math.acos(Math.min((0x080000000 <= Math.sign(x)), (( - Math.abs(y)) >>> 0)))) | 0) / (Math.max(Math.fround(y), Math.fround(mathy2(Math.fround(Math.exp(Math.fround(Math.atan2(-0x07fffffff, y)))), ( + Math.hypot(x, Math.fround(Math.PI)))))) | 0)), ( ~ Math.min(( + x), ((x + (( ! (x >>> 0)) >>> 0)) | 0))))); }); testMathyFunction(mathy4, [(new Number(-0)), NaN, [0], false, (new String('')), '\\0', (new Boolean(false)), '/0/', [], '0', 0.1, 1, 0, /0/, ({toString:function(){return '0';}}), undefined, (new Boolean(true)), (function(){return 0;}), '', (new Number(0)), ({valueOf:function(){return 0;}}), true, null, -0, objectEmulatingUndefined(), ({valueOf:function(){return '0';}})]); "); +/*FRC*/Random.twister.import_mti(448); void (makeScript(14)); +/*FRC*/count=674; tryItOut("\"use strict\"; v0 = t0.length;"); +/*FRC*/Random.twister.import_mti(461); void (makeScript(14)); +/*FRC*/count=675; tryItOut("v2 = r2.toString;"); +/*FRC*/Random.twister.import_mti(475); void (makeScript(14)); +/*FRC*/count=676; tryItOut("\"use strict\"; /*MXX3*/g0.WeakSet = g1.WeakSet;"); +/*FRC*/Random.twister.import_mti(488); void (makeScript(14)); +/*FRC*/count=677; tryItOut("\"use strict\"; i1 + '';"); +/*FRC*/Random.twister.import_mti(497); void (makeScript(14)); +/*FRC*/count=678; tryItOut("v1 = (e1 instanceof v1);"); +/*FRC*/Random.twister.import_mti(512); void (makeScript(14)); +/*FRC*/count=679; tryItOut("\"use strict\"; for (var v of o1) { try { this.g1.e0.has(z); } catch(e0) { } try { p1.valueOf = (function() { for (var j=0;j<10;++j) { f0(j%2==0); } }); } catch(e1) { } m1.has(p2); }"); +/*FRC*/Random.twister.import_mti(558); void (makeScript(14)); +/*FRC*/count=680; tryItOut("delete f1[\"toLocaleString\"];"); +/*FRC*/Random.twister.import_mti(570); void (makeScript(14)); +/*FRC*/count=681; tryItOut("mathy3 = (function(x, y) { \"use strict\"; return ( + Math.atan2(( + Math.fround(Math.tanh(Math.atan2(( + ( ~ (x && x))), ( + Math.pow(0x080000000, x)))))), (Math.pow(((Math.log1p(((( ! (x | 0)) | 0) | 0)) | 0) >>> 0), (Math.atan((((((( ! x) !== x) | 0) >>> 0) !== (Math.hypot(0x100000001, x) >>> 0)) | 0)) >>> 0)) >>> 0))); }); testMathyFunction(mathy3, [0/0, -0x080000000, -0x0ffffffff, 0x100000000, -0x100000000, -Number.MIN_VALUE, 1, 42, Number.MAX_VALUE, 0x07fffffff, -0x080000001, -1/0, 0x080000001, -0, -0x07fffffff, 0x080000000, Math.PI, 0x100000001, Number.MIN_VALUE, -Number.MAX_VALUE, 0x100000001, 0x0ffffffff, 1/0, 0]); "); +/*FRC*/Random.twister.import_mta(586217040,1816296953,-1861071448,542889115,802442794,-125923919,1687949162,757529281,582148340,214156921,-2109762453,1349716066,112403957,461897896,80834878,1419784436,2060610376,-1698881152,2095525480,-2126964607,207907186,171212456,-1789584819,1868235565,2070700389,2096246958,561588885,1667000919,441521790,1021304955,2081779041,-796439504,-501349577,-641887064,2043811722,810492033,-1909715054,488901915,877435282,1359051396,-255673598,207160728,-1133237743,1267337188,-484063954,643613987,-1548352756,-1229739495,1687683101,74984527,411467509,-1807131805,563063821,1232805637,699506242,41847360,1545344014,778223459,1780361937,429100085,472057728,-1109333780,1203611285,1134368338,310967709,183598886,1204077783,268982165,-1600704210,-3633841,128325729,-1266165603,1326740108,1827118009,-1465290755,-270892359,-1390005134,-1260201226,-824417709,-1845715620,-1326216189,-1213915523,1577007619,-50261012,-188862448,1254517043,1273993580,-1602674379,1316653855,1652711328,-1200175544,-385718416,-1159502454,41161430,1097442030,-1650432434,1681648608,1599526180,556475818,-948183405,-285249430,1855692751,2040462853,769356404,1893846549,248882308,1632384641,741704037,896392884,1019710218,2144522661,-182625463,1551984091,-941058453,815914438,1993138639,2041688418,-591599835,1024483766,-1712906244,841494793,1158286064,-1498256849,-1803037431,1328294694,-1638995488,391215917,624598817,-1450369310,-1131478910,-994108487,348599029,-2079710613,-509434518,-429864258,-1532728080,314048918,124768415,596288893,-1695528107,-409566609,-308691177,-2002059178,807423536,-1907566807,2068233040,831121435,-2044274,1885053994,604574584,-220950700,-981994819,-933178439,92964373,1315075602,121519401,932575545,-480400314,2070245546,597806816,1495408795,-1745717828,1914798716,1039798825,1472675465,-64503162,922565908,528262153,850285716,155828773,-1940737015,-1196845001,-477180293,-597822290,940037877,-972685037,-1674162074,531646042,-996138423,290474534,826329192,1183232442,827197738,295877907,-760132734,-525203654,30906149,680639189,-785381882,-960808535,-608845516,-793883780,-1945532330,-2051273098,386413277,827312962,-1603851310,1301856245,1122959047,-1160216234,-455561633,-982779798,-416364370,2126015752,-604091224,-246946456,1974783314,1625535619,277864410,-529840335,1651046695,-1417654135,1853346752,-899697135,-1196188676,1029630835,-1942708033,1855306157,-162769083,338710924,36510137,-1116219551,-907050952,1406439272,-183654326,-1653305622,-664757860,-422673620,-1680475663,-1655869268,477641494,-222453690,1331824309,-259573236,1223200953,690844440,895506236,1207810251,895840202,529083986,-1814434689,1926863448,377581894,1778492343,375392750,999960476,1393288229,1115868570,803906352,-1253162447,1892004047,1583382608,1375225548,-633256634,2106083863,920832763,-584393278,1813069242,322866479,1567688114,1826302948,2079297051,-748532210,-305066247,-582500096,-1786164701,505527697,-445827127,1565474677,-1481079011,-1600036048,-1827925783,-1661115313,-1425831383,1376868201,1157006764,1040024641,1311071361,-184829465,2126526634,790734993,-1583617290,-1333364534,-1630490683,2032083873,237693102,-986490462,1675210054,-973800029,-1116343146,2118469675,1341527685,-1957812553,-1253840221,-1001823780,-1643566387,-1799257653,-1883830128,-1276113097,-611602467,-1660883394,177677061,-1806233242,437217350,1717590995,2112138194,15013779,-1030454701,-535298267,-1209206600,-499750672,-1994212826,-1139920967,-2047426587,689513179,-1166049320,-403049171,-1749393802,1679615971,1418158554,646460694,614029892,-45920619,766610763,1083585049,-1224556378,-1324881909,-1159364712,2053125958,-1264053595,1053347778,-897478396,90268524,277958725,110964738,-399090003,2140520866,-1650889656,527855173,-1376506933,-1168984301,-1102925398,-200141496,1915935746,-1318497090,2082893593,1939943396,764497570,-1122945967,-1712209989,587365892,1099352801,1548114546,1656888095,1889045305,1763832350,-1826509609,-811828732,636857619,2114771369,317337523,1997114163,1273332170,-2018813036,594895458,-1422446674,242240465,-1563113468,1580169005,1663300251,323701577,1417045493,-946373886,1662452172,-663283509,1350071849,948999752,629525970,1369808345,-1074874457,58570047,999277201,295455785,219436666,-1454788318,307215499,108454683,1738608012,-400158959,1669641890,-851887812,-1471605246,446594592,-413301502,-635765825,-1065138290,-888710425,74221024,-1868471437,-116456581,-1534174934,2007234517,-2092352431,1686971448,1035525355,319841677,-18289906,-1280580545,-1368074597,-1347446776,995755840,519503019,1405700913,-1517607596,1352218777,-1654774846,1145680359,787458948,-605718213,837043613,-1123638837,-98847451,-122510943,-743850448,780540733,918578917,-1586171728,-1002779134,-89976777,-503594752,-1469440097,753227207,-1359584597,-1429999128,1403818397,-1937733389,1503229226,1424630429,-736034088,1146381927,-2036165673,815621012,-1070056746,1670280955,445825026,213820040,1665938025,-930904024,1349301100,1411568038,1615196255,692237406,-796808655,61100726,785252031,130864103,417268712,803564901,-702033412,-1226975040,-363258982,1804598813,-447451060,-443884726,-1307061092,1576679897,-535498226,1006946256,353352658,1044384139,-1332432204,177987759,-1259200967,-10847333,-1243617107,-1230602339,114963793,-750786266,-102521026,-693841932,1744438949,274781673,1097760699,-1257368276,-240353758,-623088130,884857123,1069731462,-1000995263,-343892280,-1735213892,732938276,1031444179,1254478831,-2076543765,-1960282286,-2128764994,1104874487,513128713,-1341861528,-807755528,-1360277659,828834681,376884929,1217566916,150675508,1680478797,2081484619,-1264678757,-2044980309,433605285,-1072281027,-1520967151,1106495805,-29464544,400322781,-1268895652,-334071403,-819333097,-1469974762,-365164392,801577993,910593852,2042853154,-2096577305,-1973025414,927197674,-100402272,-1328000749,834225179,1824652462,-1766834546,1636748140,1627593387,-819769160,-1123918564,-72402579,-510501333,-990086506,-1368543767,1717153825,-1615135689,1478127914,632417794,1706157005,-951221297,-302254284,1101374274,-913811892,-2041168536,-1661939065,2052905974,291029698,2100351746,-1293314304,85574387,-1373695695,-741527858,-1065662217,-901948081,-1364638040,1340225077,303293769,566924017,1690989687,1276032296,-2039375480,1896354362,-1235001710,146248279,-2029032242,2095518251,-134072393,572833180,-471915038,1375174762,659324808,1351032291,1594157413,-1247489073,2076499541,1154604415,326685494,1179102786,-767418667,-156066653,1077360263,-212743051,912915256,-1843047323,1756616566,-1540533367,682267082,1606069990,-469089149,-852925450,1959825752,961213920,306318536,-27980394,-910519262,-2062537342,146068980,-561733687,-715516900,251051156,1554687144,1667489216,1000398752,-1675822181,-903520815,1839495698,-709401138,4943389,1732759826,-222480811,-2034898207,-1034897257,-249524429,-1619974864,-1356271114,-1418875114,-309733839,-629202481); +/*FRC*/Random.twister.import_mti(181); void (makeScript(14)); +/*FRC*/count=682; tryItOut("var mlecdv = new ArrayBuffer(1); var mlecdv_0 = new Int16Array(mlecdv); mlecdv_0[0] = -19; var mlecdv_1 = new Uint8ClampedArray(mlecdv); var mlecdv_2 = new Uint16Array(mlecdv); mlecdv_2[0] = -29; var mlecdv_3 = new Uint16Array(mlecdv); var mlecdv_4 = new Int8Array(mlecdv); continue ;a2.splice(NaN, x = (x) = window, a0);v2 = b2.byteLength; /x/ ;/*oLoop*/for (pugsad = 0; pugsad < 89 && (0); ++pugsad) { ( '' ); } "); +/*FRC*/Random.twister.import_mti(422); void (makeScript(14)); +/*FRC*/count=683; tryItOut("var qtpqdt = new ArrayBuffer(8); var qtpqdt_0 = new Float64Array(qtpqdt); qtpqdt_0[0] = -3; var qtpqdt_1 = new Uint8ClampedArray(qtpqdt); qtpqdt_1[0] = 27; var qtpqdt_2 = new Uint32Array(qtpqdt); var qtpqdt_3 = new Int8Array(qtpqdt); print(qtpqdt_3[0]); qtpqdt_3[0] = -18; var qtpqdt_4 = new Int16Array(qtpqdt); print(qtpqdt_4[0]); qtpqdt_4[0] = -10; var qtpqdt_5 = new Uint8Array(qtpqdt); qtpqdt_5[0] = -22; var qtpqdt_6 = new Float32Array(qtpqdt); print(qtpqdt_6[0]); qtpqdt_6[0] = -21; var qtpqdt_7 = new Float64Array(qtpqdt); qtpqdt_7[0] = y; var qtpqdt_8 = new Float32Array(qtpqdt); print(qtpqdt_8[0]); var qtpqdt_9 = new Uint32Array(qtpqdt); qtpqdt_9[0] = 5; m1.valueOf = (function() { try { m0.has(p1); } catch(e0) { } try { this.t1[({valueOf: function() { (new Function(\"( /x/ );\"))return 6; }})] = s1; } catch(e1) { } this.e2.has(this.g1.t1); return p2; });t0[({valueOf: function() { -11;\nthis.p2 + '';\nreturn 1; }})] = f1;if(qtpqdt_7) { if (this) Array.prototype.forEach.apply(a0, [(function() { g2.v0 = -0; throw t1; })]); else /*MXX2*/g2.Date.prototype = this.g0.a1;}this.v1 = Array.prototype.reduce, reduceRight.apply(a1, [(function(j) { if (j) { try { o2.f2 = s0; } catch(e0) { } try { t1[12] = g1.m0; } catch(e1) { } s2.toString = (function() { try { s1 = s2.charAt(13); } catch(e0) { } try { a0[10] = \"\\u753E\"; } catch(e1) { } try { for (var p in p2) { try { a0 = r1.exec(s2); } catch(e0) { } try { this.a1 = r1.exec(s0); } catch(e1) { } try { m2.delete(h0); } catch(e2) { } s2 += 'x'; } } catch(e2) { } s2.__iterator__ = (function() { a0.forEach(this.f0, g0.a2, this.g0, t2, s2); return a0; }); return o0.m1; }); } else { try { this.f0.toSource = (function() { try { h0.getPropertyDescriptor = window; } catch(e0) { } try { i0.send(m0); } catch(e1) { } v0 = o0.g0.g0.eval(\"a0.pop(t0, t0);\"); return g1.o1.b2; }); } catch(e0) { } try { this.t2[15]; } catch(e1) { } for (var v of t1) { try { this.a1.toString = (function() { const v2 = a1.length; return g2; }); } catch(e0) { } try { function shapeyConstructor(xsqoqd){\"use strict\"; return this; } } catch(e1) { } for (var p in g1.h2) { try { selectforgc(o2); } catch(e0) { } try { t0 = new Int16Array(a2); } catch(e1) { } try { selectforgc(o1); } catch(e2) { } v1 = a2.length; } } } }), o0.o2]);for (var p in this.e0) { this.o2.t1 + i1; }"); +/*FRC*/Random.twister.import_mta(-1421538365,-1742191193,808081897,-1285259713,-762052142,-251184156,-350819961,752987281,-1938213266,1728025060,-611164146,874902718,-1570006948,959627231,883352785,1856011925,-1462389356,787132333,80355165,41649502,737514704,1212630210,-549358380,431497638,-1000166030,1896252468,2064595908,598642690,-1314445817,108459743,-327587814,312779123,-1926952108,-729607078,-1379240616,-1444911774,2103003066,1233837396,-1543490127,1643653291,315007057,1393796879,563176853,-1221562048,-88362534,-773637296,-1579216088,-237604653,-1752562576,-167264820,1538233670,-1717316171,-375918853,1956462462,679342462,-24141770,-1919042088,-2100667640,-1844599518,382631976,823466259,754037353,-1760341015,2048251275,1861697934,1606329080,1954955359,-1571009525,-1156132959,986664673,-1085301951,1921352340,-1858374520,1036563861,-461500116,-496958464,-1523902752,1270442331,-27774669,-945077361,300275399,236227296,-400275966,497360557,-334802513,1687794445,1010447721,261720946,-342015442,679918087,1262746942,-1725451132,-1430612061,-1205441077,629142275,1332175651,1701755261,-1800411586,832383172,-161339509,-1348569905,-1152223532,-1494652846,1856173869,-1451156185,-1731614490,-1721450836,1378121630,379119025,-1026831808,-543755728,1138133673,1021372481,1099473990,1652066821,-1718666592,-156956048,-1598662405,456130339,1950521351,-829195027,1165524447,2066394445,-1918231285,551577849,-454655371,-229210003,-1748087914,-736000709,-871050007,694735365,735441145,1097340590,535927281,-991819530,684903335,-71548357,1206825689,695388265,292341893,240529791,-2136343875,-159544591,-126391446,-501636705,-640272904,440502597,496775640,-716633485,-728649570,-1172903229,883986255,1570492093,-1144919666,-523536963,-1818587519,1285424417,-816107691,348726659,461812131,-667675632,-1184134711,1305011332,474114355,1911674742,1231911875,-1216581590,2107465277,-777853723,424702803,-1269534978,1588365680,1721329664,1107572587,-957570435,-1239867516,1845272241,1485276185,425698681,1072438204,1942242622,1201925616,612187545,1385986964,881385186,-895768453,-888683529,-86368810,216510632,770561565,-1694045749,1886207763,-788835490,-1170243897,-1131760088,949552163,-1602338365,1551207231,-800775331,-1615563096,1543440853,1641375903,-2130101486,-465194378,-38543562,1919857501,2013132119,-585237519,-1479823405,-1265211164,-273988261,1285240384,540774476,-1770221521,-1442594956,1252361550,-301399532,-982955409,-1197138285,514578146,1172562936,-1781051601,-157588860,-1783749165,-438835101,-2118542593,-1458020263,2141669348,-695271951,2115388514,-1975865828,741192279,-918247710,376049924,947328285,-1765204496,-603325090,-1054812181,1004626839,848289468,1079931635,1072061554,-1029169263,-1545227933,858241123,-1270391408,591061907,1006683464,-873933563,1043012716,914907534,-325153260,1546004119,-1664897520,-1579727456,-1624094490,1887332354,2096012882,1008477098,-1152868698,1887200136,-2072292769,1174426305,335193914,-1706637158,1914198950,-901381232,-446066892,-641248162,1908528141,1740556779,768455458,493506203,1373571139,-743624187,276592271,1209901907,-119867030,-423376416,1729071724,1683016197,1883163931,686769931,1746574551,-2048970913,-1332475405,1730303627,-1964517603,1917536290,1899579171,-991531498,-229055990,-1676155018,379777201,1951426994,1753137051,2098514601,2143235077,-2042042971,-541391977,-510946104,-296380001,-1352224733,252939222,1967865010,1730284069,2146022009,-119105142,1440937660,-1723895174,1496597438,721745580,-1083548640,-239201061,312882334,23660647,1666946364,-1606074864,-1285290903,-1174500056,-1435844375,-2099845994,-2135485095,-601026386,-1892776339,-266965986,-1424975801,-760320148,940494681,-108195917,1273118639,-349066095,160018459,-1708513619,-13113321,1766983008,-871924636,153449933,-870043757,-121568489,514456723,410091681,-527018847,-300834769,1202577320,587163857,1653227350,1226003994,-1870130467,715887183,878823588,247678400,1284456229,1393720622,-1554074983,1153033103,-1411716629,-493177773,-1915015950,-787107416,-1115820873,-518993901,721905261,-1442385142,1383408910,-146645666,437383,-129418698,674280239,1724948362,1262807375,-1043194850,-1470253794,-1351436801,-324486637,-922664617,-967616905,197956848,-1303419837,-2060606211,1057929241,1896735606,-1794071108,1480252848,527712719,-1896160047,676738917,1966056263,-928394600,1800697882,1214702130,1019144294,2059647298,1132051754,501022202,757725513,1533424035,621571992,-1155287022,886981781,-1596097442,1581288586,-1000370792,-366460901,-939063808,640405758,-13543044,-1107910996,276046324,2043690553,-990923490,-2073769051,-664913199,977530724,-193655753,-137635708,983172063,805102985,-1315459838,1467003748,1580864650,1507546663,1364056891,1849031810,-568522606,-1057006843,-39251543,-1079627503,287868959,1278510082,725592138,1941987004,655313833,-2027745978,1112870743,-888728250,132893045,-977550281,-1212566100,-1167955592,-835575323,-1977638369,-1570107668,-482319851,-1019864277,269203320,988418806,768981582,-1077532676,1605446260,-2129690628,1419742628,-1066683484,662056921,-448160056,-622756859,-252952049,-1591130398,2000903735,-1134023889,-89825579,182267195,-468946859,-2063460592,919960536,199957136,1821228372,1255780122,-1177622424,-622704949,2141254123,-1336539232,1390596226,-522344678,-27571623,294485874,397732095,1249489425,-2016613906,-1227647718,234583099,409520802,-2051718544,145250067,293644461,-11894812,-1532364315,-882913161,-239395525,172559519,1177372456,502477612,-831389042,1364429114,-1593985891,-1723229311,-2010848983,-235100752,902814614,2055675623,-1616748754,303432550,-2108710608,1817505585,-56137360,1306423321,-1072739050,-417907049,-1439140847,-49556858,-786888426,1316777608,1231379890,1480417947,1476485036,1751404556,-1640314058,981082818,-1503127167,-385227974,-666251670,1869819436,1419707402,-443017211,982265528,-571928240,-491061689,552537246,797018957,-1727639948,72062097,93083908,-827639889,1484266021,-1503152380,-1321346347,1895755184,994737909,-449146745,1431188719,1735121439,2125138955,330432358,-930360315,451628840,-979763213,-651404151,-1901138993,-1040319966,1472711877,-1593606827,-2021464308,-829553249,-1302047801,153763530,-1240860898,-1871996716,-1294521589,388477673,1591546703,1691585896,1865853548,-524288825,1735063168,790769497,-820190377,-2142959094,93869018,-987563691,-485367098,157981157,-492538708,1944925727,1399172519,568890927,-2094125799,-1679774623,-2098524983,-1927701256,-1469718320,-395173042,-1427973374,1738159278,468932190,13322973,1959266158,1907746637,-431419093,1896534782,1600032214,555280913,102788587,-660665811,-1425326567,-1629647923,1381563267,2054546810,1113976619,-17261867,-863961329,-302341314,-1460481815,2135670380,-1392616327,1287113402,-1676003817,-1264825827,585029577,-435474844,1762311051,787013817,900723496,1473766144,469098476,-713455438,318478135,-1821076338,-1442966156,1929804542,760725945,382692001,-233789891,-652289679,-1748237155); +/*FRC*/Random.twister.import_mti(484); void (makeScript(14)); +/*FRC*/count=684; tryItOut("\"use strict\"; h2.valueOf = (function() { for (var j=0;j<7;++j) { f0(j%5==0); } });"); +/*FRC*/Random.twister.import_mti(501); void (makeScript(14)); +/*FRC*/count=685; tryItOut("this.t1.toSource = function(y) { return y };"); +/*FRC*/Random.twister.import_mti(521); void (makeScript(14)); +/*FRC*/count=686; tryItOut("o2.v2 = Object.prototype.isPrototypeOf.call(s0, s1);"); +/*FRC*/Random.twister.import_mti(539); void (makeScript(14)); +/*FRC*/count=687; tryItOut("\"use strict\"; /*RXUB*/var r = /\\3*(?!(?!\\d)${2,}|[^\\0\u0006-\\u77F8\\xAE\\u7B2F])?/gm; var s = \"\"; print(uneval(s.match(r))); "); +/*FRC*/Random.twister.import_mta(-267321964,2050892857,-1268462763,-912819017,650318200,685525380,626009740,-834953929,1431574540,-755472005,-404462349,21097946,-1136537335,1203009449,708592688,-868949989,-197261203,1863889734,-151643605,794872247,199182312,-1640556696,464298935,2081112627,559420477,1825195737,2145563779,1606822734,449614005,-879385180,1878839671,398069173,645205551,2111476454,657484813,1503914100,-1545182228,-916609712,586396108,-1753208446,1966778223,1048164281,-1577430568,-1284507384,-487702601,-226130056,44296867,-1997334253,1795713438,1463670869,-1207115701,1376084062,637515211,-1791916221,1809341887,-2035978936,1712521821,-1404089255,-1853473775,1903066713,777596681,-440252644,1483370805,-841023982,620919879,1195892901,220496330,-229200681,-813429441,-366821333,865824336,-1319939540,487501022,1302329725,-1050245728,7822322,470393704,1484775967,-347050390,-967920829,1299445601,-1277244689,1628023443,-1560908749,-215178245,44099611,258249386,609094074,838963768,-2130180230,-942929355,1039066677,-816674139,-1919283594,-1555549598,1707994863,1527020069,-130866945,997210267,1189309329,-1403674918,1723559871,-1797335634,308961634,1584584469,-822215066,88528126,1860414327,1824232761,-1346096114,536136476,759214318,-573603675,2033056971,1119613912,842520714,-1854996935,-1935798046,-884101936,544982431,-1043419918,49676280,1993629024,288443081,-1006051383,-1262685981,-1367392818,-913023750,585878523,788932506,-1408416707,255164442,267792979,641372394,-923956216,1786619501,-1568148586,735470575,545459784,-287488560,-1575603340,118285600,695566682,-1888503281,306190071,-946238693,-968504087,-1454933298,-1345247300,489658679,1308499127,1983425955,1244084226,1215199060,1464275091,835303376,214004914,-632939308,583147280,-1133407524,2003459888,1908654251,-906717431,1546348243,-762796206,-83770158,-2136151743,-1627656716,448555553,-1703985803,1791891298,-160543403,1528514988,-1290504188,-1180107922,-1675900520,-433135756,-1269828532,-1663557433,-1576890626,-1589970383,103789291,-2127831782,-231322561,380092384,-1693358710,1721653429,1186501257,-80323393,-448912521,125255293,1501002577,-1689681302,2136846597,-1016832219,1370003987,1547258713,804760252,495108311,-1904029361,-343413829,-25426084,-1096669644,-1826403163,1221409176,-574753768,460853598,-2040877684,-967769499,1514231919,1150504169,-166271422,-79936701,2078883587,1358770575,1624465930,-532035068,270776100,1571716166,-1316657806,974979644,139185084,-24616049,-47436209,734321565,345659778,-400578705,1113535411,87361032,-1317430181,109647171,39928329,1676230918,-1604117283,-983624753,995157667,727757393,589063655,403047044,90593455,1481070992,-1839138009,80644213,883254403,1966808462,1046731581,828418835,-1222402635,-1054697122,15242096,1245971769,-700205143,1655411153,789124691,274665277,1660134580,-169678195,1911734434,169755366,1581989867,-420508906,-583469646,1348385769,-1362819167,-1336833917,131117060,-449516008,433655104,-544084640,187532786,-1517739879,1968416805,1130541958,-1300380802,1506120331,-703723288,1800447200,-882047813,562210152,-1897963498,874926353,-425242907,731943932,-34331347,1829632127,2065672075,-317381368,1467779864,1146508370,2048476734,-1259172073,1795788796,-1793185758,923579667,1600209861,1745279156,1291183862,-1447580579,1199989560,1842046650,-1547860627,266169710,1207868953,648822065,-219785262,1303119753,-96600186,662867007,-1086229550,227773260,-1217128603,-325480981,-478719319,1178044645,-1108198058,61626534,-1859479438,125221086,1628545185,57629198,-856589251,2048591889,198928056,-2053404212,-2143807760,-135216025,800349223,1767524777,-1015719751,1747417766,-1090910219,-2084651065,1524653551,-472543190,441100743,1253583627,1918778935,-1594987510,-936869446,194235955,-333607868,-336041641,-600328126,-222817811,82383957,-100093061,82996882,1350702403,-827816448,1826928946,374401065,2068312196,-1657418124,651744349,851451362,-1374810159,-951857812,-354364860,1740593358,-935299881,-809876420,73830369,2139021288,-876781295,276254016,-108468012,-755377973,1862720060,879012581,-1780529886,-1350126592,1181666424,153641275,689512767,1422879418,1441807448,1489621839,-841933239,-1381576958,-1935092527,1894287087,1573864013,1574230280,-1703680886,1144249955,-270420867,535753632,1396618876,74054822,-305666544,1114903264,-269911053,-625141177,-1908238404,292004239,-1375223249,-1997993287,2002766699,889839552,1266022275,-600555967,-1685635678,1879529802,-2110956428,-413524941,-1556050823,-50740824,-385815861,-1546707672,-1554249835,688691506,-478145961,-969895368,-978555279,1029537483,1064562063,1808327020,532474108,852435683,-1269528529,-893867319,1925841511,1722967122,1933037328,-696207391,-94439204,1213823256,974856043,-664386211,-1422003695,-1430035461,-1035850605,-567512389,-480631254,-1546049745,481056256,-510391637,525309503,-1423453442,86893422,-1477550381,29898489,-2005146657,416970574,1478913176,1088124221,-1485850539,637407682,1737711238,-32514959,-1755060067,200344143,-567673167,-625252341,-1238942354,-464807984,-504545494,-467662201,-2057443519,-2018287949,2080717471,1850841914,2043800875,1879707581,652863663,776002606,537562914,1151348132,1712941213,-501858209,747530067,474641871,235735216,-683295008,-1760756,1408261630,-1126368601,1235382734,-1926595292,-1117873389,591229698,310750725,-1079033886,1680477700,1314389840,-1052635445,-1561565425,121288020,18137890,1934104701,-1606640073,-1754756668,1870230681,1816298633,-864718753,42675499,1943263018,-9515694,-786917495,1286839313,-76102963,1491223059,959238063,1426264152,881495144,25494499,1683771266,-130884666,-1742559322,1126963063,-1698033047,1237276326,-838228455,-1055552802,1666097950,1263219145,656693087,1053700872,529366625,-113586409,1085612549,1965998528,-1010670487,297005482,-2025642763,-1345082172,1035788533,762703892,56511060,-1663834994,610931123,1287355610,-1197950396,-384949244,-434843254,-952236790,-1992424215,484569081,523642691,1237979001,-529875393,-1272266011,-1092550021,-597737498,-1129121800,-1802551750,-584016074,-1408270036,-1997513044,-2108528435,-967116214,2121770208,936009051,1797342018,1918808614,-1958701869,-1471913988,1818324574,903382719,1753848667,-733035236,-1289885829,957173835,-54027964,510176638,-2012609345,1231022046,1468284977,-1703897036,25838703,-1008063557,-468238459,1253234039,-1928424102,-937577712,441475311,-1265004663,1356605013,796197100,-385032237,1940503004,1091372981,-1544051458,1580128477,-796601869,-965928009,1651264669,-1220596413,734644490,-151381441,1369827131,-1523550071,889571079,77573618,-1625155806,157177944,769983080,166873525,-1188691168,2144678052,-462882412,728413580,-628645189,1049769490,1523889565,1860197075,1154420714,1139610077,-1337807017,-743958133,-2136728290,1876439011,-501523573,894580729,-2092184264,231978721,-1187451734,1006055327,1615473648,1221730248,776107133,-455049752,2095673534,-253660045); +/*FRC*/Random.twister.import_mti(387); void (makeScript(14)); +/*FRC*/count=688; tryItOut("const c = (([, , , x] = new Function));for(let z = (Math.max(18, x)) in (void options('strict'))) {print(x);(/^/gim); }"); +/*FRC*/Random.twister.import_mta(-1823970904,-1238168907,-1229522681,-1890208003,-1880549024,1655654924,1010311728,-1913647051,322177051,369312526,-1449124826,619136371,1502514334,1007860522,1553126021,623322833,-1306511406,-1624325375,-238339701,1848066712,279405384,-435043353,324639209,1125912584,-576220716,-1068790068,1557453495,1122914148,-543938034,-1498439300,-1462851218,1381266069,-1781482654,542369058,-292300631,-807451827,-2013989758,-224329783,392970945,33679811,-1719927492,-1143277038,1553604586,1334964695,2022372677,1344448081,-2052371688,765614167,-229824056,576813231,1291624941,-328977220,1839181583,2072475293,144946411,875089728,1435795192,1743557561,99883043,1875449969,-691984119,1885368068,-1587797574,-1215515549,-721757257,2135141838,-802559735,-668770577,-1034351388,2043099146,1544127666,681459442,1573981246,205333891,1550964790,645380,1651703600,-900917959,-1444957056,1131262408,-918182810,1688606898,892149205,-1012690400,-891458857,-1206028617,1980566233,1465333324,-1043985034,1476580042,-1060800879,-1078643025,897916742,-241662202,2089209452,-604767916,-917265367,147184845,-1192089540,1710823495,356239954,-612893346,92712096,1296505240,2140978464,2073011664,-75860676,-1679821269,375855588,732310028,-292387919,802019115,-1498261043,-1147671675,1352973027,1605790170,-2024111441,115897718,-2105646119,130220326,2142555380,619139281,1756027564,-71697090,-1233647250,-1795294578,1970921431,1329492439,-1202667767,-1296895436,1794060313,-1649548382,-1882280709,1890231,-1601364173,-1445248113,636331308,-162179410,-263149598,-667607725,1600626025,193783790,-680172895,809633179,250525623,1154176208,-1996717439,-346397658,1125139070,1657217458,236676898,-1377582419,-1503308953,1962001116,1720942344,833283842,1174555944,591379886,-1787273795,-739151772,-846709036,-2010481180,-1617651475,-49637707,-828570350,-531393484,-1279627330,-901896015,473246426,1010363503,-172239292,-134398750,402684013,-1623304692,-1441080503,967162573,-685150340,528028588,1263609744,2097955406,-1966911489,803270241,153045267,955934252,1283831152,1236285563,-461758138,1947684723,771406547,-1193319556,42737716,644679743,274494050,-383813514,1424786783,-2112761228,325351596,149669782,-1760067552,-1053931670,1993099803,-428404678,-1353963991,-2146540200,95702912,-1757697516,1035952340,-1594588048,-1698150853,-7464639,2028364540,1423195689,928265941,835859718,1605476070,-767574391,2101603435,-1382223077,353436760,-466195020,1070778945,-972641560,-1353926608,-492263060,-290631383,-772926506,147217781,-1848448340,931624007,1828373369,393062182,-1105348125,-342461251,-945874168,1230033851,-1618157076,-1635401438,-1516036764,-1084433925,1974280278,-1406503322,-2013452704,-1501748145,-2000832235,420978240,1886641373,-323076963,1882599399,-1503294881,-1351406678,-248153341,905636323,1321710906,-839651850,1939316030,2087579543,-564739795,-1379825635,-461808193,-1498972439,1322229755,531903874,1102409794,1188331548,-1320638517,636892621,1324183395,-1229780084,-28559125,-682213511,-1406102246,1497083014,1226590190,1883320962,111500323,-2015003720,-1629533651,473822041,-351566665,-1367066792,-774086352,1567882517,-1814401783,-1172688360,-1016336221,863931047,74931709,-185990368,1298975771,573429486,-1039633507,-562704474,-1110620264,1720842292,-333434187,-467402849,-199991557,1070249262,511413679,-720929193,1272156980,-427415579,-1973979325,1526846681,898868770,-1799271613,-1985722616,-689627761,577756436,-1214273864,753394698,577663836,1108214298,1760826482,377559583,-917290673,465145509,1766135326,-1107125336,-1963650681,362656721,2037087536,-650232398,-1991266479,-365621727,1981855472,-933458868,-1383475503,-1352384499,-2081218683,-1785661788,-1947983096,1248161221,794267904,663442289,-1237273056,1003559945,-1970879636,-217284371,-1866686481,1466134513,1052731074,-1075654157,1546041434,-1562076140,-1073261424,-1232422056,1491111924,1385499720,-91611545,-971373188,-1193087404,1587093631,1813631270,-1053702432,-604939841,-943547626,422616190,545614102,-401371419,-618192744,-1624084281,353190872,1842742156,-896458044,2423640,-1346998195,-597854012,23283071,-2135541599,1400202151,-1821231115,-917539696,-1566885924,-1046316534,-159638778,-584638903,1489502371,1925126170,1192861903,-1021390043,1215894412,1016272199,-1122823482,-1916283057,-628153235,-93443238,-809713529,-1094086932,-22113891,1408670611,986396910,-1485643798,1644236710,1144355193,-1052172455,-559957755,-281069148,1263499260,-1357719662,-755119907,-770082836,951260407,1032638906,-674110129,892192580,-1870362636,-618348181,-414818956,1570309514,-1875714088,798882924,-1301364836,601632508,-223999637,404671077,-1224665342,-2099052134,-1521484553,-334981159,158517658,1739962230,-1148570116,-1590914173,1975827448,-214221652,1160476672,-1007167382,719411693,1663379211,2015871950,-206911998,-426329855,-178568292,-291328144,856355761,690053761,1836419971,373477278,-1112823453,-398549339,-1031479338,-1638759122,1364253223,351926618,-1615959891,-1228315307,203121922,1611265039,2113272993,1045993620,1488002734,633018124,1406518210,-470343356,1198648274,-2015201563,-859052967,1691133541,211573037,-256387435,-323971599,1048663789,351897002,-1300008077,-1353081238,1476212356,103707383,805222032,1764927289,529543981,504437272,1540424621,-1823691365,432931096,553863123,-878570675,-140491375,-228780875,525929659,1572440619,1816134351,242804885,-109232507,342376359,738713319,-449174461,1313209962,-1088911005,-928804986,224445694,1610394968,-1965045930,-237017197,1862151622,-945433730,-387884592,1572105729,-1502948783,-307259817,-2059885740,-2093249749,-1385892972,-2070279143,-2047360393,-651844746,-1835181381,-1647496477,-1511176591,129488098,-557475509,2103939952,1408520136,1976568946,1212623643,-940157077,1028312938,1422294130,2078284018,1151297093,1543936212,1422504030,-1392900278,1857911902,1747149644,-642953974,-1010989475,1249687070,-386935390,1097518917,2103208628,702544640,-532260543,-89247795,-1250287862,-495681,1625809307,-1166784652,-1618754497,-348918310,-1410742817,-788976643,-1484988740,1172370777,587368707,-795159501,-588066543,1374002311,-1588921975,-1173143401,-160137951,1759023187,1135613777,-244066977,824257639,-79269901,-171726678,376702244,648568442,1614942027,-271461790,-502969461,-2010940798,1961183926,395014636,-1750895870,578162472,1515922411,-411896790,119502065,-1222273209,1588938352,-964682179,-763075888,-1933570212,-774800557,200064402,-778009334,359412066,659422353,-711466461,-792062817,770606350,1988641584,-485580422,-927203449,1787078811,-1899772899,1028115719,-455671654,-431583465,152793496,40578465,-1608025124,-1728949016,395428939,491236516,1340498487,-325537881,-75823014,-147952358,1978211208,-1456144369,1766192216,-156197611,1356373999,-1599234,1110914129,-1197101162,2093030344,1408742888,633522773,422481742,-70529594,274574120,-1571424071,979220109,1674808939,513947402,693851403,1349595474,977387814,1613829567,-1757704751); +/*FRC*/Random.twister.import_mti(60); void (makeScript(14)); +/*FRC*/count=689; tryItOut("mathy3 = (function(x, y) { \"use strict\"; \"use asm\"; return ((( + (( + Math.max((x / (y >>> 0)), x)) & ( + Math.fround((Math.fround(Math.sign(x)) | (x | 0)))))) != Math.fround((Math.trunc(((Math.imul((x | 0), (( + Math.fround(x)) | 0)) | 0) | 0)) | 0))) & mathy1(Math.fround(Math.atan2(Math.fround((( + x) <= -0x080000000)), y)), (((Math.tan(Math.fround(mathy1((function(x, y) { \"use strict\"; return Math.cos(y); }), ( + Math.hypot(x, x))))) >>> 0) <= ( + y)) | 0))); }); testMathyFunction(mathy3, [Number.MIN_VALUE, -0x080000000, Math.PI, 0/0, -0, 0x100000001, 1, 0x100000000, -Number.MAX_VALUE, -0x0ffffffff, 0x080000000, 0x0ffffffff, 1/0, -Number.MIN_VALUE, -0x100000000, 0x07fffffff, -0x07fffffff, -0x080000001, 42, Number.MAX_VALUE, -1/0, 0x100000001, 0x080000001, 0]); "); +/*FRC*/Random.twister.import_mti(365); void (makeScript(14)); +/*FRC*/count=690; tryItOut("print((yield /*UUV2*/(a.substr = a.getUTCHours)));"); +/*FRC*/Random.twister.import_mti(430); void (makeScript(14)); +/*FRC*/count=691; tryItOut("\"use strict\"; t0.set(a2, 13);"); +/*FRC*/Random.twister.import_mti(444); void (makeScript(14)); +/*FRC*/count=692; tryItOut("\"use strict\"; mathy4 = (function(x, y) { \"use strict\"; return (((( ~ (mathy3(x, Math.fround(Math.max((((Math.atan(0x100000001) | 0) & (0x100000001 | 0)) | 0), Math.fround(-Number.MAX_VALUE)))) ^ ( ~ (Math.atan(Math.fround(x)) | 0)))) | 0) , (Math.fround(Math.hypot(Math.fround(Math.atan2(Math.fround((Math.min((Math.sqrt(-1/0) | 0), ((Math.cbrt(-0) >>> 0) | 0)) - Math.fround(x))), Math.log((y | 0)))), Math.fround(((-Number.MAX_VALUE * Math.fround(Math.cbrt(Math.pow(( + y), -0x100000000)))) | 0)))) | 0)) | 0); }); testMathyFunction(mathy4, [-0x080000001, 42, 0x100000001, 0/0, Math.PI, 0x07fffffff, 0x080000001, -1/0, -Number.MIN_VALUE, 1/0, -0, 0x100000000, -0x100000000, -0x080000000, 0x100000001, 0x0ffffffff, -0x0ffffffff, -Number.MAX_VALUE, 1, Number.MAX_VALUE, 0, 0x080000000, Number.MIN_VALUE, -0x07fffffff]); "); +/*FRC*/Random.twister.import_mta(757992481,-1994605664,1907407923,-1794554771,-1555115286,649004527,-1568904833,121852317,1043097283,-2074834457,274715405,-880731333,1133533215,661849669,-1543053349,-1417763723,-180093021,323691889,1863150377,-1085102426,685985974,1978368220,-846815267,664863088,126906384,1290332280,-2141473743,1510911743,-1603474414,290204855,869618175,537461852,856479130,-697917627,223205243,-1519598784,352554151,1008484047,-1425885297,631020575,815330954,2014298219,57401687,1299403992,1939684385,-1668865886,-1635170605,769617342,1469473829,163546492,975798108,-1882287273,-650184912,-1560153538,1118140686,259074160,-114607423,2013633930,-375531723,898257598,-1258564645,1952626360,-833440829,63048593,-1827585258,-1885531466,-505374206,-743443199,-742784401,2046424285,308374926,18231439,-165378777,833150774,504755866,1793621045,794990552,1294064472,1085644599,-285163138,-2047653432,1908615808,1049150891,-1579184225,-1455027893,-327754458,-757684829,881539356,1074182018,1548758996,-2003315230,-438696256,-261108731,1931715528,1912951282,2004788637,750074154,1921464792,743567234,-495141639,1880068270,-458652671,-888399205,-1158218300,-1090758205,-1864775414,1350387667,-825995643,-856246672,1021094844,1394829737,800905800,-1015770625,798979301,1388095389,-917389760,916731593,-797922776,-2078812168,43034896,-541236027,1337292196,2034473178,121281635,515329305,1330534526,-802491286,-318534633,-2131479536,801287822,1152010191,905982720,-1737747391,-200124942,-465901032,-1297052713,-1048279910,-850244357,183128521,-1772314640,-1078840189,758236592,706371528,899034843,-224624235,973745955,810403658,1116383292,-503757590,-604020096,-568537842,1802559717,-1066688007,-985808219,1879958482,1622225349,-521401464,-1567247770,-1832986687,-1828210752,1382104022,-261446957,-2016414514,-2002824981,-1842577007,-771863203,-1997345231,1502733441,280475114,413918218,564510106,846887107,142630903,2065713724,-1687213111,-317412989,-1657214202,-1452761964,-279487884,-1752847694,525877989,-1997855436,993054599,-204130149,1830467709,533960109,-1786031018,1828408524,-724283847,734181505,83751133,896136246,-799490911,356023655,135501986,1272517111,-1538090985,-1820748552,1996941310,-14075530,2094918186,573967468,-1149486346,-1242281254,2121584258,-135614363,2034218592,584847063,-1239997552,-2087409280,-246047846,973538339,1680343371,2083486363,-1781160498,-24655452,1947010196,1523919108,-1873883549,-54762638,1087429407,1225026322,1477378493,-1104205543,1387710669,-1118139430,-1613563769,-270203171,644442819,2047242144,319760451,1334663275,1163954283,1608298621,142942571,1903068754,-695924907,-688320721,-1319662832,1434805036,1687000437,1848704291,1982384160,-1178062717,-1300595776,-1067792968,1581318538,-1562827450,575804681,739545731,-464206498,552839821,1779506819,-107971922,-47126037,374291547,-559654810,-656322561,-363721737,-849106248,-641956476,764899162,-2046393522,-1800441955,-135293706,360493281,1053104601,-692692448,-1968410872,1433643994,569279131,1460871126,-1532511773,80959517,774754402,-2114883092,-559297521,-1767633448,-661878533,-1311717464,1420868715,-767492267,1383870844,26636879,-1196267514,1924057364,268391214,1262814473,1702125007,1985886930,1828252738,-839393062,-53088596,1324888967,951499281,817405389,639413834,-2074862714,-1298317445,-1815262019,-1679590373,-1036583452,-1637865850,900416713,-565588442,73907379,494600038,-725309630,1779235292,1761294254,-1326926287,-2009003962,-670247137,1084135539,-1993725596,-1798127601,1760732379,-1751738314,967327452,598320434,1335237968,1587171115,-1429093654,-1062793499,160916128,142584228,766568270,-1095434121,1012448028,-2117836343,-16454592,1120296958,-2022571638,-625975628,-706472555,135694507,966773258,-1280468736,-18209440,835557080,817940356,-733642821,-1488788883,668367043,-1334640544,-548238764,1860234986,-151526687,-336016824,441358948,1531702089,-386699783,2034413805,-256764134,435392535,-485131877,1666900145,1424552772,-1694415699,-167803891,579067214,-1363391500,-2074375663,-456387080,-1925172905,-2076583632,-126737518,1712006883,-1268618945,-626499900,-1524136450,-1774502947,1799861453,1352464975,968140223,375552785,781439502,-415022845,-772505507,2028763316,-1593750685,-145958482,2117646502,1057444080,1457164431,-276184468,1842440028,218496160,372595394,2000423384,-1778725732,-2120880540,-1593914738,870376018,-532816910,-420423241,1865709784,1140983396,636687114,-118092986,304935370,1581125997,-204291746,802728318,-201425098,-418047602,1663007448,1828416607,-433608719,858366059,-1541683539,1949165491,1312654035,902881340,-1174628063,-816527944,1790130252,-816660871,-630911227,-1797138324,652388060,366379612,-2109216535,-558840341,-1427895634,361978878,-556608189,-1331300861,-1968427210,-2022712559,-1943983653,-1808325923,-1924722261,242147800,-497956912,999236111,740744350,-92996523,-1109761971,-1992294714,493688176,-620959911,254219368,2121398329,-871715443,1378012182,-1162751501,-371420729,-285858403,1193496055,-1837652402,1080771403,-1800377797,-1373018075,-1939999948,-1131355794,-2056573613,-127808594,-791952350,-466365442,-1332983206,-825410878,2064794759,1456213555,-2125086694,-626454446,-811931000,1936903741,-1012851104,-521641623,-1228882545,110774985,1358177194,312869126,726677104,-1635013520,-825491308,74645467,-162030577,-574264503,1454951190,1661218174,-1275522106,228128618,1474957395,1103603977,-1438558835,1597534698,1237756057,-1061756623,-1152304847,-226461859,-191122441,1236930362,-177949793,-19086368,-1566495739,-1412211860,-1194564574,-432281527,-599380649,2023729576,1521796927,89824747,-97067933,147494265,1715400198,-1622233204,-1852107484,-468300538,2133179383,-1857531934,1212600109,-1294698884,-239690141,1003567738,1547502827,1359536187,1991303975,-757685562,1688005544,785103284,1206264802,302850028,-1467826941,1246448778,-151840846,-1349216566,998976153,-1597107236,558152009,2002932313,-533193846,1204285667,842014786,-2089305650,1975587860,1713497329,-36110677,351307055,-1310016174,-627816902,1865026172,-528789371,651379440,-824580469,-766256210,-969158325,-1701093441,1222855845,767817235,-1320691241,-1446054956,-332873310,438208337,1186557769,-889298085,-330251395,-336598908,-1332025157,851069870,-1846171436,1919167984,844788476,-1199824767,-1345248524,-2048346126,58310033,247624988,634951953,1217190907,171687841,-1240417476,679536964,119009175,-1374776191,849271009,301855736,1650271086,-897453789,31436170,1325716112,-665757693,1390260236,-1447183272,2001444927,1805047516,-450327790,-1663579207,1852865861,-1606308556,360519512,-1809160994,-1274344986,-1261734887,-1161707667,1683218176,174285554,-343490576,282100288,711489419,-1272539801,1656783165,-1933366181,371703339,-301511646,-2130750909,-1118593880,-1993583542,1472422482,-1259436795,1515050792,-764664689,637514440,-2060996573,-770494117,-539132366,-1700014311,204534846,-2000268761,784335553,1227743730,1952821120,-1599353321); +/*FRC*/Random.twister.import_mti(122); void (makeScript(14)); +/*FRC*/count=693; tryItOut("M:for(y = x in let (a) \"\\u1B6A\") {a0.shift(b0);e0.has(h2); }"); +/*FRC*/Random.twister.import_mti(243); void (makeScript(14)); +/*FRC*/count=694; tryItOut("mathy2 = (function(x, y) { return Math.min(( + ( ! (( - y) | 0))), (mathy1((Math.cos(mathy0(x, (y >>> 0))) >>> 0), (Math.fround(Math.imul(((((( - mathy1(x, Number.MAX_VALUE)) >>> 0) !== (Number.MIN_VALUE >>> 0)) ? ( + x) : Math.fround(Math.sin((y >>> 0)))) | 0), (mathy0(y, Math.fround(Math.atan2(Math.fround(y), Math.fround(((0x100000001 >>> 0) << (Math.hypot(-0x080000000, x) >>> 0)))))) | 0))) >>> 0)) >>> 0)); }); "); +/*FRC*/Random.twister.import_mti(483); void (makeScript(14)); +/*FRC*/count=695; tryItOut("\"use asm\"; mathy0 = (function(x, y) { \"use strict\"; return (Math.fround(( ~ Math.fround(Math.hypot(Math.tanh(Math.acos(y)), (-0x080000001 ? x : Math.asin(x)))))) >= ( ~ (Math.sin((Math.imul(( ~ y), Math.fround(Math.log10(Math.log10((( - (y | 0)) | 0))))) >>> 0)) >>> 0))); }); testMathyFunction(mathy0, [0x0ffffffff, -0x07fffffff, -0x0ffffffff, 42, 0x100000001, 0x100000000, -0, 0x100000001, Number.MIN_VALUE, -Number.MIN_VALUE, -0x080000000, 1/0, Math.PI, -0x080000001, -Number.MAX_VALUE, 0/0, 0x07fffffff, 0x080000001, -0x100000000, -1/0, 0, 1, 0x080000000, Number.MAX_VALUE]); "); +/*FRC*/Random.twister.import_mta(1082940340,-1004274228,1803164079,1133222079,-1805573307,2078557502,-177098385,1977678984,2084040098,-1304943743,-801943267,518470433,-1181183082,789584287,-1197865642,-1382756899,-444743077,393387114,-788687125,1052938263,-173572585,1705963572,-953067308,623550164,866317920,459440686,717169227,-1160610649,-1002570374,1580256611,-1600031699,-1825946117,894706796,1401909945,-2038348931,1590585127,-1989652896,1859661000,-263594785,879405019,1601940671,627515449,-1350150998,-1112851521,-725649656,-647297058,681463526,2127114048,1459424936,-1482330531,1999857843,-2107023867,379827432,-215672119,1205065587,825051012,-768891168,563849329,-430585807,102659169,-2108649230,1860840732,1020946153,-1190859823,-1996246119,199362950,-1508686740,1904243186,1063082723,-961913777,-353278299,1639705644,-1204023566,-1177925950,-1427717108,1195731014,876014762,-1845343948,-1458844465,-1942641552,2090035867,1880837637,1411521625,-1693221012,356467693,1134227912,1474128868,2011777938,1877982947,-1375027332,768963210,-1460011452,-1188613931,-2108452408,1345819980,-490655902,1895404502,-481541026,1458187587,-626596782,9382323,1145231792,-1153395029,439398761,821251373,-1417489399,-1154479498,-1672640677,1453637799,-693638643,-2003778904,690613508,718358443,-814524186,-1243574078,-1977850730,-1695800472,-1279429217,2056875762,-353696170,919755497,1242640202,1212374056,-221250053,158111115,1878219223,-41653960,-386357493,497687501,1303282826,-1265332406,-1363832730,-624477915,1398393925,-1221417107,-2131076665,-1201248703,-296896391,-2007370186,-1290748278,817432105,-388640433,-1758256483,296504647,513401204,1997335001,-1052900197,372236421,-1557768245,-1117930199,713757158,598097820,-1284170456,1438975994,404222442,-1715931632,-1117644655,-901161874,255505577,-1546715472,1298997963,-1475865885,1843261457,-492520519,1610759845,-1357518281,-946196381,-1339557260,-1551576847,-1791334081,-2092158673,-1819612616,407419919,-600572224,-440837185,-124989761,2083825422,1891386029,-439598632,-465942196,361259362,-1496451982,1784929713,-296074901,-639260519,-761990616,614471274,450833307,-1146991456,-253714835,-6524663,770909494,-1109069015,-1538760347,-1449578628,520853514,-38288486,-817362970,-2058017834,440216085,460874948,-164060533,1244309293,1431441610,383483274,509565453,77962223,220999651,-1345513246,-128606322,2035854950,573629488,-253988928,-1107011614,621687802,-1469405499,143992394,336095181,-1404239646,649962338,-1104551280,-1187003329,249132660,-560736648,1468048415,-1568382180,1313996198,-1968153078,-115291620,-67814063,-45775787,802805679,-855462433,1748734213,1297596321,-830611753,1078727881,-2003266411,1948617399,316074483,-2130651183,-2087820986,678978883,-1136590917,2002779830,-1076029906,799933108,1032242252,-357824086,-182764933,-329516211,-1616721410,665501561,-852498847,1761432149,-344993463,-1421288893,1283506441,-174354265,1502242478,88392980,-2055077158,-1919852490,-224426981,-1116814233,1982062828,523340491,439196475,1340011988,645506360,-1776110508,1608784678,34216719,1065920215,2117179318,-1600038800,-319330127,-2105697263,-629064239,-437036542,1124980156,787337165,-1460744580,-831352093,1489816827,-508927578,-1162590662,702680778,1438986357,178655432,-1610671172,-144096049,-174677862,591440315,-254505013,743640518,-998223476,716655047,-1319765331,1824849952,-657377232,-438905009,-2070381827,454167481,1228482482,-1481198724,-1504184367,160765557,1147590098,-715196514,-550241457,-533620547,-1159918290,1397260118,-1534551222,-2103550895,-1514015897,1895919076,-1188221731,-1628684675,873858690,1163883577,463083727,875700870,-411856756,1077042916,1559549110,1587770429,-576169589,-993861493,2069077654,860507624,-958727341,1221242979,1095660497,1248535970,-814668147,-135933928,1909401192,850469993,2086229988,2135511339,1090512936,-2099928232,-602656587,233380231,1217939449,1127104461,121004664,-51504813,1606351832,-322601694,1470779994,678760940,1081781017,-183510198,1742404904,538746307,1296229055,-1954097278,1141369279,1813500602,-224636101,1741606453,-1403955999,-194975745,1495112996,-1283423639,-2055078355,-979312542,-1011261322,-231568435,-968219615,1156376219,-2078904878,-1267745076,401911159,-612769513,1607467974,989661254,778267437,1728818617,-2042929560,252174345,-41042600,2043807495,-1521745696,1182240682,-1818880497,1730188895,-1569829749,813521890,-152724706,-142287462,1515660912,-736170851,-1220842995,-1850361686,-1343098981,1365165290,1780762281,-598721776,-1352623616,1170970773,53923434,-1807483724,1263488956,-1080884667,1716622488,-513372616,222560877,1744034095,-931364298,-1588139483,2104838471,-822357882,1312911758,195446356,1736689920,-292183993,-1365041077,833776599,-379893216,-1463433523,-2055099879,859109800,-613981749,1580102495,747110364,-1791851745,-2042547845,-915389056,1499998945,898463751,-907866565,-1176602963,1550274939,-1094898017,1722751827,-1100290696,175281297,1654503886,240839174,-1214726061,2098790854,673011908,-883205282,1348092033,1135006235,132293971,665765634,-992992803,1821927377,142541884,-721932611,580775018,-2017077114,-1793038780,1572879952,-1790670606,257756260,-1445581507,2081646865,1088877764,-439608132,334036979,-228114894,-1596958495,1794302253,-368014501,1711630848,1596321635,-1232202067,973478284,851645044,-1916139040,774567241,1316521365,1749601413,1291246322,-55709474,1895947190,-1381782788,431317685,-177494702,2041809598,907435611,-1196482169,1020379805,1227967601,316084074,1579920707,318695281,-1131715621,1698953931,-2021207287,1938819214,-901478843,-1242472483,-182338181,1137144323,-899463946,990160474,1222948447,1594910322,-375502126,-363590204,197156654,1558636878,1316266840,-959007470,-1511580750,-121611624,1533524436,1946850295,-489487649,-1154822134,1034935024,-570288724,-2015832754,874870113,-752378310,626360880,1237958610,1335029634,-1976798860,990858053,471604643,-172892511,1295160966,-1179938230,2032478839,1566440402,-1085282320,137284242,1048993752,2135340345,2027369669,859925237,-1574415481,1040342091,-753033612,732644556,-156741089,-815452546,-804994806,1694066183,-531424894,-1205443916,-1804381415,-1248231758,-1282086554,908475957,-1997330495,-453545146,1642060025,736244202,245656276,-233862806,-1618485628,1076913161,947676457,1397103836,1246201362,-1609744030,859536785,-368752002,2067295594,-189944452,-38718198,515951703,-954438357,1504275749,-769982227,-853424814,-948846889,-200220497,1854958191,1351431532,390431903,267876516,-178604089,-1671363764,1929650948,-1028522749,2022279633,-1189965301,-1822114628,-2111349561,-490961503,762332569,-1505466738,-1369087220,-1703897097,2011753728,-139980371,-1064218341,-159760498,-1168454931,1249292091,-940106505,1820237203,721852478,-974142787,-327530746,-2035869128,1683277330,1794457864,216669328,88386613,1646332829,1303584704,724426339,1054304302,-1233737768,-59201258,-1283601140,-462014828,-1391017426,948775585,-753783453,1617293744,1564719945,-679655465); +/*FRC*/Random.twister.import_mti(57); void (makeScript(14)); +/*FRC*/count=696; tryItOut("mathy3 = (function(stdlib, foreign, heap){ \"use asm\"; var cos = stdlib.Math.cos;\n var acos = stdlib.Math.acos;\n var imul = stdlib.Math.imul;\n var ff = foreign.ff;\n var Int32ArrayView = new stdlib.Int32Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = -1023.0;\n var i3 = 0;\n var i4 = 0;\n var i5 = 0;\n var i6 = 0;\n (Int32ArrayView[0]) = (0xfffff*((-0x46ad7f7)));\n i0 = ((-((+(~(((!(/*FFI*/ff(((2.3611832414348226e+21)), ((-2.4178516392292583e+24)))|0)) ? (i0) : ((-2251799813685249.0) != (295147905179352830000.0)))))))) < ((((yield 5))) ? (+cos(((d2)))) : (+((+acos(((Float32ArrayView[((0x983f4728)-(0xcd075414)) >> 2]))))))));\n i6 = (0x4f859643);\n i5 = (/*FFI*/ff(((d1)))|0);\n return (((imul((((+(0x5a1018ab))) ? (0xfe043d47) : ((255.0) <= (-68719476737.0))), (i0))|0) / ((-((i6) ? (i3) : (0xf99b7bbd))) ^ (-0xfffff*(i5)))))|0;\n }\n return f; })(this, {ff: void new RegExp(\"((\\\\b)(\\\\u0012?)\\\\w\\\\b)\", \"i\")}, new ArrayBuffer(4096)); testMathyFunction(mathy3, [-0x080000001, -0x0ffffffff, 1, 0x100000001, -0x080000000, Math.PI, 0/0, 0x100000000, 0, -1/0, -0x100000000, 0x07fffffff, -Number.MIN_VALUE, 0x0ffffffff, 1/0, -0x07fffffff, -0, 0x100000001, Number.MIN_VALUE, Number.MAX_VALUE, -Number.MAX_VALUE, 0x080000001, 0x080000000, 42]); "); +/*FRC*/Random.twister.import_mta(-1281079732,1128551315,-376194966,-115578924,-1583212145,215020136,1060890321,1026373819,341269931,-1168222227,1776824074,2057166163,803615272,285802694,-1473179874,600495044,-353393648,-872205587,143796306,-308642214,2037464654,1142646122,-1140789459,-1217242245,1006840512,1695312858,748963905,-408988508,-987484218,1379887874,-1900813955,1982721514,637373084,470360090,1059047116,1574702545,1122070115,1758417035,2061735327,-355321861,889589340,1902915846,2042087544,1613573909,237517345,1511378293,-1996728333,1449625234,-1563992267,701128664,-932815012,150407279,-1485268760,-581985180,-599358945,1166914721,-1044750117,2128247418,-124098939,-2031251201,-497717046,-626672133,281955781,-757832329,-332977666,1864026919,942066749,1667891474,-1447730933,504839615,-804409609,1995236948,-1225414598,863373318,1015503680,-1399496456,856112406,-11647796,-875504680,-915672869,-276983224,-615419274,1098868036,792388087,1355588434,-2041766130,574736252,1536477948,1857475840,1627186974,-1395401051,-112530904,135824533,2060240332,1867201266,1786916506,-1926413836,-1757520715,-1428840160,-1428214648,-395973987,827958359,556881168,-1028234166,1185586733,1721541473,-1614101203,-1387612418,1539641099,-1373868912,1599383980,-796460476,1775046443,-1675166349,-521590279,-1246344404,-1682852924,155591822,-676953612,2034978209,413617493,-98321480,666344300,-375681157,2111209998,462927532,-1531093880,-1739631941,-1392823503,558173408,1262933392,31126252,-1114193797,993685795,-1605323189,-1738115027,1365347091,1275212169,1728970909,-1106082062,-709530435,-506442908,1945552379,827239665,1905482311,-1841498530,615977602,1207874884,396537665,834465524,-243268020,-1583551456,-23998236,-1181579705,-1085762962,-241204574,-304641546,979540429,1882761121,-732164016,-2086087814,501858749,937243527,-1455830140,-1224859411,-1450986446,307526440,1757911493,-525403695,850125366,855447670,562119588,-743912854,-183185065,575847083,666058402,1934463332,-3676738,-1251173775,-1093349346,2113310806,-1129026709,-1184885515,-99804105,-1676620077,-835647367,-412940778,-547300525,-1712228808,1607735888,-979554777,98407820,697304524,2042417703,-373183861,-1866562879,-36400124,893549803,599667832,-852663431,1416551956,1179068836,1625270110,-862281166,-94797750,-1336089322,1517381011,-73610377,-91367937,418943265,2079142672,881077104,1514571716,816190048,-1064371075,1869040966,-1378096361,-1605359703,-1356433241,-1402389436,568419412,-361072364,398770589,567988147,1898430526,980108698,-769300270,-818666686,-1481212444,238668447,939015388,506199999,-507147723,-2137486882,-2095356145,-310778096,656059768,-1963828594,-352446091,-1234245345,1355690085,1694862688,-1528685370,-1858053301,-739395078,1598368008,-212263812,1277639323,-1482798968,1394975316,-123519100,-153172573,-627890123,-1043181132,1260391647,159969848,-1384662183,762747377,451468989,660596758,516432247,2044163799,-1113882877,-2057388913,333357309,-327950299,2127317689,317289654,1649468314,1923519058,266281606,-1775925383,-589746495,-1209754584,1178020522,1303665586,-235134705,1009676651,2047780206,-956403146,1395772253,-936254175,-1145287409,886355577,1309625001,-1514125928,-769878118,1371494447,-537479777,523354139,812152783,-1762887245,-1481494747,-1723581689,893618161,-1946859059,-767284861,1370481534,9332292,-1700973534,-661269634,-406595871,2014631419,396078799,-325771918,32739567,346671934,-850462559,-235009607,-1209128900,-970285706,228730309,-269934427,805669593,-2083302389,-1520526228,410800620,692975636,791954889,1377011668,-1049899249,-74545590,1889222617,-1097561678,-148409401,-2068853893,478553673,1605990023,-902798131,1553504859,-619494722,-53521573,-1678685297,644172826,-2004933585,-445305710,-705788772,666057368,1356257455,1474405593,982181177,-1063854611,-1260610944,1823677249,-692447086,1793200855,-1043012968,456948841,1566312398,1214834304,-537316886,369339171,263011930,495499739,-1563902178,-552186459,-1471941922,-185658352,68786477,1184728187,221354110,1453833,1921626088,-566128196,-1355091287,192990735,1054504729,243082100,-2097136811,304772544,-782280248,-1950418808,1765946828,649864299,499739170,-984594139,-2063028576,-1637349457,-1126012925,1890112941,320856132,-1135264422,789889657,-753838246,-545052015,1654564817,-1217931387,325806242,-143574451,-1075665635,-251173259,-1920144030,-767436033,2139088912,-608149676,574356488,2054241891,-66232476,1227760081,2142394849,-616772385,1977808811,-597802441,1926690385,-169468956,-791986769,940958179,249453082,-1945686921,1724556572,1358708863,-1204908088,127061428,13701738,-132304112,-19804417,1510422906,-161690969,-1415580304,-406248138,-1200793837,-580120677,1574228344,639431127,1826095167,-1761266622,993192457,1110254074,-707340044,-1158181060,-1474133774,266675685,865266122,-410496431,1048264958,230083997,-1632717135,-1850601882,733043148,-2038989485,32034439,-945583746,-308044368,-749245452,-1268872245,-1970547448,1565306075,-1724203642,1887673186,68395548,-1699057790,-1637661943,1045743492,1632751443,-1636117129,-1537961561,1151990205,1494754292,344570822,-1502934009,226176927,1679450968,-854942350,368878374,1510905256,-741505428,2131654064,-1128271828,-922388462,-673142330,668605477,1369571955,38151630,-365390522,1254243947,1770226419,-317632447,1435494681,-794449702,-456798118,-1185760145,1576130977,-598019139,-1748866576,1370447022,-1729412785,-1577007094,-643272474,-1001955280,-1259276106,860084977,-2086050918,1799282967,-1788541181,-2010993171,463005661,-829660753,-869319241,1975380251,607266591,-1831518637,464877959,-254889918,-562818506,148984834,254059404,-2095161951,2101526522,-284445555,-1730734202,1713847200,846161893,-931948174,1896967870,-102864481,-2107384422,1105603939,527007001,-721415404,1688741194,-1328024550,1743341289,-1357801948,-175284670,1421466564,-1006537927,228297260,2068155633,-2124767838,1690377438,-234779861,-1036263269,508846871,1354673783,-770844851,1465246714,311231105,1182963923,-2051097383,702594655,428557795,-704186771,117573052,2144257747,1095735441,-1002420715,1647971093,-1653014955,683646745,710377600,-413205247,893180930,434038852,1862115306,-1235342812,-540967880,1540009777,-501971445,-1291011047,1658964308,-1554788783,-1579406783,-1068044389,-974642131,-416926577,1708424592,712872556,14431111,-1102166168,1655983220,-701129461,593895135,-622386562,-1488715727,-510913571,-1101215930,-1507302552,-138433700,-2069243469,139887112,-1104325913,-319275336,-1500226521,269728896,295919655,-2120720137,254794277,-718633278,-398402298,-1120322053,-849108229,-133676241,-542100181,1160642969,-1398695043,2051023623,1763142151,360352865,2005737418,-743371928,-913581443,139077181,2125404324,-214594269,-583300429,-825750774,1171420457,359329292,671079327,-2029193368,-171386694,1394439551,2113213382,-1403222935,1834433577,-1362109237,-841367977,-1483995294,1220724973,1656781969,256708808,1818833455,-1869746372,597892421); +/*FRC*/Random.twister.import_mti(138); void (makeScript(14)); +/*FRC*/count=697; tryItOut("\"use strict\"; mathy4 = (function(x, y) { \"use strict\"; return ((Math.sin(( + Math.imul(Math.fround(Math.cbrt(( + (0x100000001 && (Number.MIN_VALUE >> Math.ceil(x)))))), Math.fround(( - ( + Math.pow(( + x), ( + Number.MIN_VALUE)))))))) | 0) && ( + ( + ((Math.abs(((Math.max(x, (0x080000001 >>> 0)) >>> 0) | 0)) | 0) ^ x)))); }); testMathyFunction(mathy4, [-0x100000000, Number.MAX_VALUE, 0x080000001, -0x07fffffff, 0/0, -Number.MAX_VALUE, 0x100000000, -0x0ffffffff, -Number.MIN_VALUE, 0x0ffffffff, 0x100000001, 0x07fffffff, 42, Number.MIN_VALUE, 0, -0x080000001, -1/0, -0x080000000, 0x100000001, Math.PI, 1, 0x080000000, 1/0, -0]); "); +/*FRC*/Random.twister.import_mti(355); void (makeScript(14)); +/*FRC*/count=698; tryItOut("mathy3 = (function(x, y) { return Math.atan2(Math.asinh(Math.fround((Math.fround(( + (( + y) ? ( + x) : ( + (( ~ ( ! Number.MIN_VALUE)) >>> 0))))) ? Math.fround(Math.hypot(mathy0(1, ( + (y | x))), Math.fround(Math.fround(Math.cos(Math.fround(( + ( + 0x100000001)))))))) : (( ~ (Math.min((((y >>> 0) / Math.fround(x)) % ( + ( + ( + ( + 42))))), ( + ( + ( + y)))) >>> 0)) >>> 0)))), ( + Math.min(( - (Math.log(Math.fround((x - (-0x0ffffffff | 0)))) | 0)), ( + (Math.cos((Math.exp(Math.imul(x, (((y >>> 0) < (x >>> 0)) >>> 0))) >>> 0)) >>> 0))))); }); "); +/*FRC*/Random.twister.import_mta(78104178,2112355812,54290955,317026503,864718495,1523253632,-179774765,1724188142,1424795270,1289877094,-1432877972,-1678494365,1850615167,1155844080,-372513238,853876668,-2606141,-1135335623,-937627182,650094173,-732858350,748106297,628668500,-429079949,-269862282,-762428025,366173061,239736796,-31817277,-1520194968,960222991,-953672262,-1259135183,-1213373548,-1207725102,-1947537884,1256671947,-1711129874,-1579718977,-1003638369,-1459349787,392871408,795433478,-1611373752,1939988251,1893009046,-1201362755,1010144398,-563152156,2038399861,1145669998,1665128214,1790209070,1838259794,1705847174,-2021570762,507310702,994006762,2116741383,897794520,-1388163626,-974770693,369725027,2070461280,-1969244652,1209093043,608805807,-673409550,97429612,-838856172,-943095034,-763384817,-1906594363,966373765,1206432271,1539685189,-710953184,791303047,-1807824319,-1699767963,942100514,-1340466568,1783631998,-1858802234,1591170598,-1921380349,-1173877618,1727280686,-1466617152,761370503,-1525873166,423858853,-1986618800,82200456,-1226279721,1839743469,1207081350,-582451843,1324839321,599139390,227237699,1696940947,90772794,1753792922,-1309435672,1713594891,-1999550135,-66362536,405444036,-323745417,1426178776,48595911,265083360,-1889853565,1756643955,-2052374384,900889849,-770889371,1741605781,-725796074,578330821,-2032410974,-915582424,-834882275,1780653503,-1118881696,547506112,-1681067389,-1801194167,674816228,2074670471,110710080,-1605069680,2065785041,385903698,-269740479,-273217940,2021812188,1214029955,-513866752,912964961,1699573499,-1471194888,-1203087329,-552039102,1431932157,1546755185,-745111570,-593612433,1526335539,-843675579,1475835755,-275352708,-1191529418,1307778387,1865755839,-1429969965,390777131,-168856560,438224524,904451594,837457157,1987914902,1629777656,-182587304,-1988308465,1753438224,1316616376,1015123083,855842391,270307925,-1751506339,-2127129600,504656001,817856910,-482219316,-1733823762,573763130,-516509879,-657249469,1894592054,1091658518,-329728820,1764590929,317196891,-718938324,-424975882,1566300987,-294490657,-1259733527,-1748743164,-58138656,418374711,1619773281,694137488,-1587904727,-2037936333,-1115782847,-975297948,52430093,911808691,1206045797,-168011151,-1264117160,1348752566,-1969284430,1475565639,964022419,465367877,2015685793,254344116,182229117,-1621098920,1283921499,615437276,-233810286,1702635362,-1546866523,-117751063,-1658254211,-1833878552,-1708648196,-349852777,937357527,1901891810,-1180738731,1144589540,1467807872,-1544312716,415265893,-2064105529,-1704920230,445072751,768465291,276428390,123859002,1234754337,1190115337,1506537779,-1625191022,1986396480,-71636919,-481459514,-1775311042,-738806851,-240091156,-643527729,-945922986,1158013715,422127510,67833981,464199347,-1301844643,-380900043,177106624,1906961584,1792038479,-1387853682,-729290319,580894549,307128352,1069980812,1347223740,-1711232406,892566051,1203368764,-849802300,-1741920472,775550169,679922501,233705515,-2067400540,723994754,-612418072,451918167,2140691132,-1101001953,2035211225,1077997069,-1708902049,-796795875,-1585725474,1155771605,-1607211035,702510118,388276938,-1001104112,464627654,326532393,-1758132901,-384419994,1078858073,-1648630033,-404696952,1261339083,-169603982,-1495800917,-946950108,-550423010,-502184838,-747574742,-1561696211,-922690307,-472565351,-153408721,-1637208098,620778986,-640621535,-336785818,155541189,1324175355,-265587029,1282434480,585700948,878409752,-458548682,969370509,731879369,810176847,808176904,2032207021,1470979044,1927415092,-1519808326,102180895,-1715678622,-1788727390,-1315185158,-1839088031,685814885,-1880631064,1694731760,890356742,367422337,-1900940015,1927141258,-1083337669,-463331760,-1340219020,-1954473053,907592106,853151539,1794801135,519008432,1047826641,1193589465,2864637,215393058,-1561350686,-426652963,473288787,1844707986,713282642,835065935,1833919630,-1065219034,1380936428,-1599305266,-1126219870,-1496557393,-501037174,776256422,-1060315489,555929575,-1538609148,-835114032,-429812294,-1360916460,743986203,-2132741092,-40557477,-1413900380,-552653289,1389701472,1748429731,-1642437057,-1933132997,181341339,-1230262942,-434535586,-1496307045,-2089694032,1186826002,1544373828,-15914468,2002005773,1403744989,-1755776013,-149719212,-1745473677,669128777,87404024,-154982905,1164146618,526649020,-1733188763,218477029,-310168990,827047538,899695280,-34751605,-2020077494,52568379,-1571487972,-748699598,607448935,-541325746,-270137134,846475672,1563307052,1966785205,1361144961,-716351975,-626657154,-1153725285,-2089684638,382675045,-1039419716,-1888727685,-573440159,-1758105485,1203100204,727496477,702758899,-1224991904,22013887,574002672,481457353,446237691,-1578296824,1784494197,1236082771,542344005,147781688,-1499068798,-1914496830,821947282,1525700434,-1863346677,1185098180,1867961060,1384062212,-1682185368,-1503931816,-427206111,257270875,-1850453314,-353307047,-1742616078,-428303274,-504897140,779547424,272567331,-770910592,-1671561076,1487922293,877421983,-1900223964,274582918,-986553729,532736039,922532063,1302307241,1688179189,1862892351,642567147,-2122418812,316980553,-1874150230,698891275,670521048,-757751462,-995347121,634201125,1784098288,-360317972,-353999931,744080400,1774843550,2009498549,515617082,-1112823871,977852488,34076696,943331574,-2054713932,1313572646,1886246968,1707008215,-1864082149,-1680598105,-643515785,-737951646,272690669,1290314777,-1871219503,-677780159,-298298247,265575412,-1153079436,263008756,579395958,279073703,-99573474,2128382495,-658018302,-461019486,2114762372,-317705187,938488069,537715912,233224351,1873548693,1639176448,1518356747,-359802041,25758472,-1013563668,840565756,-2049958686,219988771,1554402009,-1893555373,-863302071,2089204071,-1711475960,1186673373,-740449029,-796203454,1762175415,465598731,553233019,792578106,-1794240877,-1300621860,2074296313,-1291017613,-717577912,1037277531,-641894498,-1864180291,2010806982,1111804288,-2140661990,-1867054052,-664804326,-1482751235,-1267303426,1116117924,-666514581,-524613,184048701,-1363010153,-1907541328,-562338842,1720473894,-2132654145,1332295227,343107930,-1112501263,-603926914,2006069763,-1994295997,1442201251,-1769463656,-1524422590,317174463,692052510,1132472585,-655883339,-699085056,319226350,-1920071138,-370864948,1408811137,-235168682,-1655824525,-949384107,702497686,-1398944258,1203373843,-1492256190,-2004102554,-1013552608,963119466,1648386671,-1940317234,-1778210551,-372206204,1064681277,-1003594065,1385830990,900111299,1765402843,1254797640,-2116333113,324338419,-967595074,-2107567600,583169014,-1879536991,1466001393,1049104497,2069089981,1839925534,1296705321,-324209576,740784011,-2131249404,1012525903,-1400157148,-1040735233,-126689818,-1140302826,423077193,150411424,-1003475774,-628372256,-1386405009,-244994461,-362848654,388165922,1349033240,257315548); +/*FRC*/Random.twister.import_mti(97); void (makeScript(14)); +/*FRC*/count=699; tryItOut("\"use strict\"; testMathyFunction(mathy4, [-0x0ffffffff, Number.MAX_VALUE, 1, 0x0ffffffff, 0x100000001, Math.PI, -Number.MAX_VALUE, 42, Number.MIN_VALUE, 0x080000001, 0x080000000, -0, 1/0, -0x080000001, -0x100000000, 0x07fffffff, 0, 0/0, 0x100000000, -0x07fffffff, 0x100000001, -Number.MIN_VALUE, -1/0, -0x080000000]); "); +/*FRC*/Random.twister.import_mti(129); void (makeScript(14)); +/*FRC*/count=700; tryItOut("testMathyFunction(mathy5, [1/0, -0x080000001, -0x080000000, 0/0, 0x080000001, -Number.MAX_VALUE, 0x100000001, 42, -0x100000000, Math.PI, -1/0, Number.MAX_VALUE, Number.MIN_VALUE, -Number.MIN_VALUE, 0x07fffffff, 0x100000001, 0x080000000, -0x07fffffff, -0, 0x0ffffffff, 0, 0x100000000, 1, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(161); void (makeScript(14)); +/*FRC*/count=701; tryItOut("a0 + m1;"); +/*FRC*/Random.twister.import_mti(173); void (makeScript(14)); +/*FRC*/count=702; tryItOut("Array.prototype.unshift.apply(a0, [b2, g0, b2]);"); +/*FRC*/Random.twister.import_mti(200); void (makeScript(14)); +/*FRC*/count=703; tryItOut("s0 += 'x';"); +/*FRC*/Random.twister.import_mti(209); void (makeScript(14)); +/*FRC*/count=704; tryItOut("Array.prototype.unshift.apply(a0, [s1, h2, /*UUV2*/(d.toFixed = d.add) , (this).call((function shapeyConstructor(pthlfd){if ( '' ) for (var ytqtzbbur in this) { }this[\"length\"] = \"\\u8DB2\";return this; }).call((function ([y]) { })(), let, undefined), ((Array.prototype.reduce)(\"\\u97D1\").eval(\" /x/g \")), [,,z1]), e2, b1]);"); +/*FRC*/Random.twister.import_mti(503); void (makeScript(14)); +/*FRC*/count=705; tryItOut("testMathyFunction(mathy4, [0x100000001, -0x0ffffffff, 0x100000000, -Number.MIN_VALUE, Number.MIN_VALUE, -0x080000001, 0x0ffffffff, 0x080000000, 1/0, -0, 0x080000001, Number.MAX_VALUE, -0x07fffffff, -Number.MAX_VALUE, -1/0, Math.PI, 0, 0x100000001, -0x080000000, 1, 0/0, -0x100000000, 42, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(535); void (makeScript(14)); +/*FRC*/count=706; tryItOut("s0 += s2;"); +/*FRC*/Random.twister.import_mti(547); void (makeScript(14)); +/*FRC*/count=707; tryItOut("/* no regression tests found */"); +/*FRC*/Random.twister.import_mti(556); void (makeScript(14)); +/*FRC*/count=708; tryItOut("\"use strict\"; mathy0 = (function(x, y) { \"use asm\"; return Math.tanh(Math.acos(Math.fround((Math.fround(( + ( - ( + ( + ( ! (( + Math.asin(( + 42))) | 0))))))) >>> (y ? Math.fround((x >>> 0x100000001)) : ( + Math.max(( + Math.fround(Math.min(0x080000001, Math.fround(x)))), Math.sin(( + Math.sin(x)))))))))); }); testMathyFunction(mathy0, [-0x0ffffffff, 0x0ffffffff, 0x100000001, Number.MIN_VALUE, 0x080000000, 0x100000001, -0x07fffffff, 42, Math.PI, -Number.MAX_VALUE, -0, -0x080000000, -1/0, -Number.MIN_VALUE, 0x07fffffff, 1, Number.MAX_VALUE, -0x100000000, -0x080000001, 0x080000001, 1/0, 0/0, 0x100000000, 0]); "); +/*FRC*/Random.twister.import_mta(-747582320,-1445119064,-1512420852,2099268635,-1426222966,-1601241971,-784957973,-114715791,38016084,-890239880,991208124,-597978120,2136756180,1105146272,139715423,1940519719,495409981,-550112142,1227264659,1021809772,222863231,-1647308463,2012163719,-524260024,-1208334288,-121787904,784741405,284814174,1409168011,-408695128,1059486228,-639093572,-96752702,912060828,207116097,-601319681,97510735,1866794242,1996320978,-42512321,289737130,-2024064248,1230575712,-1886483018,1779801679,511772649,-129951713,-910284973,-354233026,-1282370039,-613474862,-1384382491,-793750657,-751733425,766922939,1596028180,-812417547,977519824,1114522777,585974644,1967604742,-1034831256,-125419569,445592365,-872632871,-961298271,1332861708,770584329,21807841,-493177849,-489432175,1315953303,-328444906,-1660174592,1715457063,-295440673,-347030215,-113182705,1054508929,-1225405484,877971756,484572833,2136798550,1909463593,572399391,1733090831,1904075535,745570710,1245705896,1556940255,-1513840203,1635102207,-761823521,430477587,913844830,-134574943,-1477680244,-1298420726,-2119407922,1213528639,1168262511,224448873,-1895757895,391445888,-929963860,-1916647460,-2078994254,852082941,2006303846,-1912240178,-428423240,-352954131,-1454043621,-849447634,255006935,-1401054410,-776077971,-1334862818,-1059895604,-910300235,-1057238595,1454156520,2076636851,-519750365,1107416809,-546078541,1483065303,-1344277732,-840924294,-496502591,-795803045,-1063212022,-1919899392,272650018,-1912139388,1491487500,-380682883,257750338,1259126265,1899056156,2123671274,703870247,479259470,-9528548,-2072114073,-178997401,-1448924947,1743826036,740970716,407696896,1183150228,1968022042,-2076667536,442573,-1536525635,581475489,1558245114,-460531218,730020448,-1709822790,-829109146,793640721,-1927109491,-426887598,-1440420901,-43984565,1925890815,297817602,631904182,-2082387126,-1141226513,52126473,250252074,-838135865,581432456,-1042418839,-1191412783,-93640710,77248808,-449279896,-404668962,536026608,1090764681,-674843935,-1918954028,-69311843,875771746,-1755738278,-1589892028,-944030260,-398014727,1018156864,-1774654382,-796817433,-616590075,-269620091,-1366419292,673554554,1497621406,-1854849419,2091547987,563580919,2022833882,-406150918,1378806440,-864482163,-18770389,-109199261,-397352538,-348616318,-1337881750,-1890039768,-1022177091,-1092868662,-117471050,-1966289321,887534747,-62737182,-546623935,-1922518730,-1751138146,1103578747,864184023,-755952125,-1830425513,846469994,619196060,-1031202646,2092282181,1051649328,806367670,2125890274,794861719,-653621544,-90608788,-1082078949,1888446627,-1896224006,-741649103,74403700,-452266661,2046108220,952010936,-311119300,-1477588092,-1124309077,1596504647,-155001303,-1857781094,-320727450,1948078798,935415361,353430597,1803617149,674045190,-6379149,-251639057,-865255917,296704969,-216227886,700432346,612292383,-785857590,-966858623,1285160092,1347548464,-1319017557,-548322535,168881781,-693722966,-1913884188,1065761294,859740445,742290539,-160298483,1826250862,1446988602,1648876043,962679701,569904558,-2087933280,-691063282,-701483463,-1686321178,835818933,1615096337,1865781399,-436942259,1354991642,-1945295748,-476017826,1546251889,-1253857051,-1276237002,387721520,-886078485,-2124551147,-1924448098,1063745706,-2049695485,1433811913,-1682500986,109167308,154507377,-1233784864,1817881972,51710235,1101155871,-1051991780,-1054678412,-791866973,1143352775,1983403301,1800429315,505744525,-1881869391,-804618524,619264461,2036353915,1997491286,847133921,252258500,-447855364,2112833372,-1102723781,-887262945,278467778,-1785058688,-1072153724,-1997345843,1708473208,-770112849,507101891,440752869,1269246776,-248791388,-63665946,-1099417854,910058979,-229019954,1295762024,-1555654913,-1559616658,1468990938,183857581,1506684141,-808011228,-779352244,-1125318823,-1395347899,-671138710,1463827648,1587035211,1858237840,-1885407985,-1530448372,-231621594,-1895916150,181284994,-58602811,1197609713,929680916,-1853907936,-76913281,1749049514,943486756,641745942,-1313850312,696536873,-78460484,-1431154482,1928407987,-1673649193,78704099,-235589708,-213795426,-1004289902,1573955109,104948661,1314403554,1102980757,-952846028,212746115,1667660788,103710391,-1688325167,145940892,-1256359988,-37857161,1205540982,-468393810,139315207,-1613667690,2105065889,-2070923409,-98533477,-1256140165,-480273194,432751185,-1458248144,-1916336158,-96578358,-789082905,-783049784,830070934,725924367,-1832154111,-1092934382,828640230,-493457908,1717482622,1043402247,-1769169246,-257539600,-689866773,1934821545,-423696750,922243227,-883976145,1152050356,-1285854479,1469677140,1645527971,-1242557164,-242556038,1213770086,102806734,-387037071,828441331,-1799892417,1511292940,-619734059,-937529199,-307063446,-1081324542,-1339157393,-968842709,557772976,-334897974,-189154865,-1746687160,-182290174,-639555717,-559240876,585160208,-676264162,1628994245,-611376025,855312464,1131517457,-2050330733,66247321,460484650,1791438554,936794703,-6605995,972067874,2017384309,-987299070,-108501925,1534880360,1163791207,348631358,-570202653,81215440,-747343885,-736780017,-315643122,-1272345370,725951444,-1004641647,1555259900,1997686118,1778592959,-1015012385,2101281703,-1160842130,1090103681,-1792360636,441267416,-329490366,1963553058,-23243393,-316848492,-827393847,1988794458,-886410290,-2107080850,-1258010291,97156806,864290149,647503021,-2122763495,236814712,1315064238,-120280054,951204425,-905552866,572819892,1961361895,1031406800,1730908929,1372729569,-1336295702,1311007242,1260642500,1593726700,738984049,339713619,-969522083,75967350,-1626394720,1352500881,-612563763,1236965169,268897694,-1379517686,-1163031904,1589764096,1791326635,79019653,-1987721146,878883856,1712717945,-2118829798,-986558181,892486561,1026771176,1983641218,-1838592362,-2143158893,-1578431491,-2811166,1512571893,-1518640836,1103429882,-1413500208,388787665,1761121800,-1488876764,280846944,1057450061,-1881081796,-1739457302,1220987840,-1280869670,758411689,1396535603,-1172079186,62720894,-1583621731,808221487,-1942229945,2141496625,-421788141,1499572356,1984872463,1877774293,1439300488,1882826236,-125504709,-700505786,47714602,-143615830,-320232669,-431682461,-423190591,-168597965,372910074,-937409298,504137005,204633250,758950539,1059220155,-378418841,1799569471,1449711792,-2096063071,1091492415,-1538420963,2101643441,-874832836,-989068516,-1366968173,651566178,216186213,780676766,864704563,-237264555,710935464,-1842911144,-342123116,-1784138858,52763826,676668420,-114917745,-663020445,-343746106,596644424,46847576,-167186748,2008651603,1474357791,-218741731,-495123090,806820249,-2126299144,1103494423,1113164,451647889,-1701504300,2048331844,-983949862,-585006105,-1318650980,-542749162,715062790,733135302,-369643543,-352399953,921286960,-1398507037,-41199883,-1667713997); +/*FRC*/Random.twister.import_mti(117); void (makeScript(14)); +/*FRC*/count=709; tryItOut("mathy4 = (function(x, y) { return ( ! (mathy3(((mathy3(y, y) || (Math.cos((x | 0)) >>> 0)) | 0), ( + Math.max(( + Math.max(( + (( + y) >> ( + Math.log2(Math.fround(Number.MIN_VALUE))))), y)), ( + Math.fround((Math.fround(y) === Math.fround(mathy0(x, x)))))))) % ( ~ x))); }); testMathyFunction(mathy4, [1/0, 1, Math.PI, 0/0, -0x080000001, -0x080000000, -Number.MAX_VALUE, 0x080000000, -0x100000000, Number.MAX_VALUE, -0, -0x07fffffff, -1/0, 0x100000001, 0, 0x100000000, -0x0ffffffff, 0x100000001, 0x0ffffffff, 42, 0x080000001, Number.MIN_VALUE, -Number.MIN_VALUE, 0x07fffffff]); "); +/*FRC*/Random.twister.import_mti(335); void (makeScript(14)); +/*FRC*/count=710; tryItOut("/*oLoop*/for (var aigyyf = 0; aigyyf < 111; ++aigyyf) { o0.__proto__ = g1; } "); +/*FRC*/Random.twister.import_mti(367); void (makeScript(14)); +/*FRC*/count=711; tryItOut("\"use strict\"; mathy5 = (function(stdlib, foreign, heap){ \"use asm\"; var ff = foreign.ff;\n function f(i0, d1)\n {\n i0 = i0|0;\n d1 = +d1;\n var d2 = -1152921504606847000.0;\n var d3 = -17179869184.0;\n return (((0x602d8e93) / (((0x574e303b) / (\"\\u7BFB\"))>>>(((d3))))))|0;\n }\n return f; })(this, {ff: (function handlerFactory() {return {getOwnPropertyDescriptor: function(){}, getPropertyDescriptor: function(){}, defineProperty: function(){}, getOwnPropertyNames: undefined, delete: function(y) { yield y; y;; yield y; }, fix: function(y) { \"use strict\"; yield y; continue ;; yield y; }, has: '' , hasOwn: function() { return false; }, get: function(receiver, name) { var prop = x[name]; return (typeof prop) === 'function' ? prop.bind(x) : prop; }, set: function() { return true; }, iterate: function() { return (function() { throw StopIteration; }); }, enumerate: function() { return []; }, keys: function() { throw 3; }, }; })}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mti(546); void (makeScript(14)); +/*FRC*/count=712; tryItOut("if(-21) print(22); else if (\"\\u2689\") {v1 = (h1 instanceof t0); }"); +/*FRC*/Random.twister.import_mta(-1213136638,1260808023,1317826786,-1732653145,863083091,560202445,886039215,1885072060,238860339,-817767073,-1862865682,1321872396,-1032194340,-75500274,-1628617909,21464035,-549667895,729452157,1830863519,2031229426,-1592203028,699449267,1959449104,-391754007,734505812,-1400936078,-1114840901,1098730208,2072596018,1504938436,-1004907985,1283249938,-812012815,-986702989,1813209205,334574313,-636479509,-2064452501,396168367,-1897781506,580087092,-2002431750,-209780972,2078397616,1667910185,2093554603,595397154,1469168783,393346245,212857900,339372874,-1012166352,-1277059991,1243215633,744644627,-1514963441,937872562,-1880504100,-286420241,55784993,1494616641,543992890,768036114,-410350501,-1089512472,1937726648,1375519416,-1652953473,2066842927,1014299672,319878810,-2111854867,1707146324,772355165,-225827252,-1682789595,-1884561305,98947264,1715856973,-521891592,-679352818,-1434139153,-1146255085,1683742482,-542658822,1596658727,-81459617,-340720739,-1041978774,1086362571,1809455438,88557309,-803830128,683151434,-2073171422,-762379553,1464883069,246708937,100032970,-2090096607,1438549109,-1129530697,1061322535,422769798,566931695,332970168,1882582603,1978564665,1277240099,767898928,-1065378600,-643978879,-1600553270,-636086334,-1993219525,-1588868872,-2092250430,701707351,-305051493,1421042443,-772022316,-97899642,-1018210331,-54663890,1060419776,-1051138268,1912207863,-414877529,755572132,-999132589,1566777069,821273090,-632723193,-2025687727,-845664645,1383740547,495352148,435523359,2036180724,-1795825243,-1696675939,1722868655,-1728657750,-880094068,-593132767,1111088277,-341202224,1590944686,-1082064422,242665955,1771806782,-1203817194,-625550393,715543580,-126843488,-1572103366,1306708422,-1289905373,1416281817,285517372,-1589460862,-900720367,58638037,882783753,830995772,-491405174,-7294037,-29579016,-407524922,573771497,762734440,290415215,1982690258,1331658601,-1244381751,-397793348,1108867398,-1422092813,1507787787,630736479,-857140391,-125323996,380004018,998965851,792501677,-1625974611,-1524007106,1984432704,1866408835,-1012662979,1843245971,-87566468,-618106748,1722814981,90561289,-1024507964,1463274639,83154379,1754681706,1059492373,1648471778,534310181,825198117,-1625318512,-930242102,-1315401259,390075635,-1772784195,1166761304,-647759283,107600131,-124705587,1166379892,-420815217,-1501968464,102889288,-486483562,1205591139,-1726867827,1632706121,-765865436,1765682269,1519318641,-426508348,-174164906,-268484165,-1109641114,1357080959,1416697295,1451518009,-1478324522,-1110869305,232866209,1233344281,-1231864082,-277627715,-935516126,1612445353,217942966,1777613998,-2021301232,-2102261993,939383549,-1932894709,-334754441,-1682165917,-612645319,-373642847,1606530176,247757687,1783519510,-1203278423,12015635,-1449497032,-407196026,-1711154278,-1500666350,365252372,1978833147,-1689881316,1309130787,1149698448,-371788170,-1134761563,-1394995469,-1775956571,2017605549,-23876911,-1544159057,-1249327130,606259639,-469911944,-203517631,-2125676549,570199224,1013864792,-1534809610,-1853722017,-749234201,-1306015431,561933334,-562902064,-401793540,-167332169,650333451,1082124923,-1465785384,829935180,644496900,1545013437,278318012,1017528133,713574691,443733536,568762197,-1567112198,2060541015,1285769935,436012723,-1770827409,601013534,-1312110806,102815682,-1802430569,1942521466,-20458977,1497171752,-148629888,-904547115,1254338845,-1623164626,2108896439,-208958599,1832857798,1968425626,-1444834024,-1950564366,-832402388,1052827862,1344350271,792495144,-1228224420,-1401380495,-780532417,-231574887,1304095659,-1985561247,900897207,1641906062,1302913691,-1456028402,-136388271,-2014141163,1441168343,1299930987,842753872,1928933041,40378102,-525263130,-972775426,1388178530,-659229812,-896775659,523813579,-1673751810,-902163063,1014325421,377819303,893963387,-1464809008,-1759642802,-1989142982,-163979796,-281136209,-1255742559,1410450359,-2096284522,402917036,-1749289025,552652960,-1661562277,-987242389,-1228425501,1772505345,99333261,1786610943,-1943142471,1460949206,1528399729,-844108083,737866122,1269965333,-1721165125,-749519606,661863777,-577707629,-107599314,-206331589,-1626132633,1667332178,154929286,657402558,-1812420928,-671267262,666513940,271830551,193600986,1184193638,-1447193302,829738626,-374316331,1047481463,83955845,1691359427,438577130,606957604,1402781826,-124029281,96801143,818868259,843076876,1151814501,-2132546984,447416589,664172587,-911052076,2062931158,-1805969750,-909344222,1703492749,-1113901689,612029180,-414795691,1464955924,-1763098933,1549816010,30893487,-781004965,-1735219930,1535997219,226274607,-1385756153,-669567666,804437298,1624801656,1803946765,-1839659278,-1543921852,-1937001243,1545979427,730916517,898247005,-951985312,1216754418,1464520533,-1079788398,-1979940331,812463974,465914101,242507472,-1669602802,1401021650,1769251810,-1301237090,1812160492,1888918320,-711050075,-1960552948,-779200630,-1050447513,1046618711,-131642301,-627255594,1061135774,-165265398,143220702,-208424100,-2056188073,1476786229,1616868501,-232463755,-1125063055,1501216403,-1974028342,-794201713,-5138,526641449,-577658269,-686778627,-1929749654,-493621515,-679137340,934611427,1672701705,237869229,1118228151,-139452568,1624966836,-178128955,916023346,-752953687,1107080422,-326141744,1490184873,1853883193,1348968732,-630043989,-1920117670,107101939,1763460123,907564844,896411552,-785658599,1601377146,-1023804204,1722264916,-1869878807,1966116205,1082197588,-312241367,735168164,-1877138409,608339501,-1013540621,-1273789891,-64439151,1026128350,-1301736480,1684101409,-1437693881,-108977817,-679133540,-188098366,1433671839,963922051,814293889,21089773,2146843580,-1865665713,-1311103298,514863619,2077738333,143946521,2047590618,-1221406051,-630417476,-1997867749,416237151,-1191288735,-553084460,1567367862,203557643,182149946,1266726838,-1748592899,-540381763,-1738721494,-1422118358,1846800677,-1143653815,-340511681,1923331716,-439784595,-270542318,-676253375,-246257443,-524869511,841825023,-149664285,633208160,275023991,1831285861,-1419769364,599789239,1493323253,-1007505578,-480897618,-2083374902,-809356369,582511703,1056566132,202856446,159591173,-1652207617,-398317544,182116825,636853304,429981599,-56307205,478328924,421656730,329938788,1285787659,-1849346879,-97779609,511483939,808466399,1855071886,39739755,294857067,-892093007,-677322193,-1705267423,-798608729,-2021791551,-2130714384,-1606595482,1024717358,-1877483073,-1076624689,476809163,1329573190,737086118,-1744343621,-225452210,-1372800609,-1200717266,2050160814,1255622969,-1569886759,830948988,-1785988943,2112058178,-2002212711,850435368,-1615679333,-1702152698,154433184,-1286449495,-1632490582,-1426665888,85409017,-408174789,1396269076,692484973,-51189207,615362145,1145243134,-770139521,1584778269,-343239443,-35046321,-211182878,138690563); +/*FRC*/Random.twister.import_mti(10); void (makeScript(14)); +/*FRC*/count=713; tryItOut("mathy5 = (function(x, y) { return ( ! Math.min((( + Math.fround((Math.fround(( + (0x07fffffff | 0))) ? Math.fround(x) : Math.fround(y)))) >>> 0), Math.pow((Math.cosh((y ^ x)) >>> 0), (((0x080000001 >>> 0) ? (Math.expm1(x) >>> 0) : Math.fround(y)) >>> 0)))); }); testMathyFunction(mathy5, [-1/0, -0x080000001, 0x080000001, -Number.MIN_VALUE, Number.MAX_VALUE, 0, -0, 0/0, 1/0, -0x100000000, -0x07fffffff, 0x07fffffff, 0x0ffffffff, -Number.MAX_VALUE, 1, -0x080000000, Math.PI, 0x100000001, 42, 0x100000000, Number.MIN_VALUE, 0x100000001, 0x080000000, -0x0ffffffff]); "); +/*FRC*/Random.twister.import_mti(194); void (makeScript(14)); +/*FRC*/count=714; tryItOut("print(x);"); +/*FRC*/Random.twister.import_mti(204); void (makeScript(14)); +/*FRC*/count=715; tryItOut("mathy4 = (function(x, y) { return ((mathy3((( ! (mathy2((Math.exp((-0x080000001 >>> 0)) >>> 0), Math.hypot(0/0, ((( + ( + Math.fround(x))) < (x | 0)) | 0))) | 0)) >>> 0), ( + Math.atan2(( + Math.sign(y)), ( + (( ~ (-0 >>> 0)) >>> 0))))) >>> 0) ? (((( + Math.ceil(( + Math.max(Math.acos(Math.fround(Math.min(Math.fround(( ~ x)), Math.fround(x)))), ( ! y))))) >>> 0) * ( + ( + mathy1(( + ( + (( + Math.fround(Math.atanh((x >>> 0)))) >> ( + y)))), ( + (y <= ( + y))))))) >>> 0) : Math.imul(Math.cbrt(Math.ceil(Math.fround((Math.pow(Math.fround(x), (Math.fround(( + Number.MIN_VALUE)) | 0)) | 0)))), Math.min((-Number.MAX_VALUE >>> 0), (y >>> 0)))); }); testMathyFunction(mathy4, /*MARR*/[(-1/0)]); "); +/*FRC*/Random.twister.import_mti(620); void (makeScript(14)); +/*FRC*/count=716; tryItOut("v1 = -0;"); +/*FRC*/Random.twister.import_mta(67171819,579021062,-1516591313,-219141894,-853673252,59550672,579271763,-1182755603,1998204068,848208545,-214040404,-386893492,406242826,1810179325,-36592686,1372607854,-1679522827,963768155,1625906227,291181017,480387165,-1560818642,-153689464,1486846085,-1151811906,534377932,1330387010,1562125921,1197461487,693935930,-976751411,844091714,-1481278651,-997071296,-1518731018,1933664330,-1812465640,-2054358563,-1194151955,-659213169,876584731,1652176767,1938076808,885422021,-185738792,2026514163,11590662,-21819055,1992384806,-545060608,-1427005804,292956513,1030175280,-1319394687,1945519003,-2123386737,952844784,408435106,-802655215,1175455395,-1790486198,1323720380,-896368025,-1381806207,-984659923,1904533455,501411882,876151751,-507144734,384537188,1167507914,-1510938409,49705371,-606667309,55888521,-379041521,557944681,-1542988972,1926530763,-1670321041,-1399728996,834634643,1152681915,-53673516,-1218343382,1209355040,-1274913864,242374156,-1458612186,-274774516,371607547,778665403,1027623998,875471421,-987687408,596334200,-1054761279,-1073558479,-31798885,1666980620,-227647255,-2044163816,-503649942,-1573114356,-1712228277,-2058305065,1617520688,185312115,-355850743,488028082,1202681855,875423300,-951745626,605118629,-2027889952,-1251164765,-1735052693,-1768661999,-1009245477,700195335,48443007,1751328866,-813378519,1093299811,1534834383,-379568323,-794702762,-508142513,1633492554,2136197810,11966302,215114813,94442403,-1566014124,-65560171,68706192,-562904858,-1419229817,1287138736,1278927931,1097659170,1651020400,-569356273,485377392,-1967658991,-803357179,-2135544891,-932073044,794934515,-730140570,775069812,55021791,1894700910,744278695,1006828024,-846107377,-1555663879,-1438670266,-881787832,-201886225,2146600093,393600026,-1577072756,641340906,1028503483,-280772081,-493151357,-1684472581,-1026828686,860794764,-2012217737,-944609262,-1574586569,-1698474335,1737450682,766012584,492031719,264975037,-1783090221,-1890840916,315751452,1225609778,-1788995431,1145390008,1092787878,-925953858,-1421723769,703252959,942059185,1339762032,7346576,-41690627,1434762002,-2016290160,1850225316,-646161346,58046337,-960169989,683098186,-1991355041,-321503517,-884458764,-1377656815,1438750361,1414463620,-1353987612,445293208,1349858180,705428834,1085762136,-1401662439,-779054317,886043698,-104190536,1174914909,-701770768,-1445183750,-1127759628,357750226,226576243,-1445682417,1716998552,1832662015,-1857704250,320744525,-1383627055,-113425309,-1221537837,-1865830971,-1234444220,891036998,317057747,-1102729085,969892644,1462893164,319076533,-611587798,-180304521,-603298021,469005314,-1280010327,1059585651,-826422604,1961506193,-307804107,-1805905936,-57739818,1933769245,1016938826,-1007563261,-575373682,1644929640,185909968,1016155905,270322604,337190118,1673410736,1714817135,1072491468,1505635211,-422418808,-1852736563,-1268276153,1553092542,1469501392,1576731876,2129940792,-53727341,951997580,-1197645684,87600377,336208295,-1587230255,1347328602,-528204291,1686320605,239763696,1515382200,-781353694,1842875451,-1637693591,133221733,1667521291,-224241750,-1586529216,-998734339,514580869,-2039331256,-102405571,-1025906759,720953596,1224989795,2092807391,-1810296993,628286010,94735126,-1447917604,-798952884,935456959,1394552596,-1020027322,1078239592,2049471003,1487260756,40665732,508167519,-1478301905,1351859753,-841552958,1259649836,454830928,397212489,1049285443,-1901347083,444767360,-321845281,-2001862630,1229338512,-1619961477,719195690,793495059,169211511,-767630280,556799826,1071057211,1673603060,-1601313016,-1031741650,972310666,-178156563,1088155259,1124112926,1990937827,-539199654,303435995,1253966222,472037577,2012739724,1462741435,-1373932137,139139427,2070826805,1677224985,-1769243884,1786897930,82453074,-1141499253,-2125465443,2084261002,-2079708786,93480318,543643705,133666357,322571609,313920843,1624997889,860998116,-1838949282,1554648173,-1831671215,1496565182,1048365627,-373044273,1167043199,123615015,-744070477,665898064,-169312187,-575154743,-1947391798,-1606425435,520869267,-1179377536,1241974186,2142335418,1403693540,883658788,-122452200,1928801526,1953551149,1070292984,905882264,-1502622162,-258249997,992933266,-826936667,-792863780,1798065672,1339013979,204424761,-536542450,-1497002202,1143176881,-276232074,-1987164951,-351947213,-1777621988,1407567379,1188929756,-1157259855,563626956,1744736662,-101361423,-1752153555,722602967,-389883464,-2057206279,1983364365,-1564377941,312160901,376974022,-343313837,-1553487180,960370749,1205526970,-1580880711,-26545662,1278823171,156095411,-902668966,141225804,37988355,-1903885657,857339709,1779384994,563856179,-659383555,865817678,1012033850,555901852,-703843608,2012212532,-888614755,-1473808915,1336208845,-134411081,411169259,949895356,-693453701,988939573,-1878335535,1925027500,-820802881,-539127540,-2071163540,-1500152993,1209232501,-1055684406,-1611769356,-1425698293,878622776,2119190310,-233286626,-1037147034,-210476996,-1459587989,1843124016,-1072273021,-1144856506,509571430,-20995901,-1568401926,372237136,718790962,-1967181696,179512144,-1405872660,1093954568,2035995590,654085393,522756723,796228635,1015876779,1653639519,-887542375,121982718,-1281602215,2114729395,960960113,-1147987621,1550783858,643528644,-512190099,-839480845,1309006049,-1948418490,527991206,1022085422,1008199967,-1351905327,1176853614,-435447421,843222361,1602793298,-1885341383,-1443688281,1527617253,628633555,-1145874196,-192140669,-1052198770,732810804,-599733893,-850661071,-1118958801,-1879457331,1961657803,1968888614,-1948304999,-2035516569,-1721710364,-619999199,935999853,-1692830437,121530199,1615674388,-48039321,-1147778684,300863292,-1427301119,821714222,-1204786327,950037371,723738189,-1118389870,-356762899,-2039464732,1178869417,801172866,345924416,-943949554,117519129,998923908,889789582,-1501677528,-2114424745,512401977,-182623459,-1823549774,-765953661,-134584905,-1318151703,-1690375466,2055088229,-1461210335,1981970840,-356506742,-1916186563,1489701063,1124339932,-1901380161,711396813,-1423339408,352612653,-478574459,1214202461,-1266116728,-1104001165,-1957421846,1775745369,-640164699,-1881197178,-579594578,1745071301,-1416480577,1171613607,1002683015,-1357790911,892277531,1869123668,-1621213018,-707223856,-1795159827,1609083495,1467553875,-47454278,-1287439671,-1649023724,-1314489261,-1147733966,-505230191,-963417596,-1847580275,-370700965,-769905626,213166686,-866446522,-936344130,-123831421,1056880885,1645247708,313111156,1185768625,1593254903,1006005333,-2122279714,-151759715,475853030,-1758080096,-512261186,-641054419,21022747,-822719113,1844698800,1851944842,1068677109,820701309,-1083521933,2057813837,-216749794,723010640,-1846306096,-1490468177,1561745077,-866284605,-2070815564,772719814,1342308078,1358420471,-387021800,141895310,-264599144,909059821,218328630); +/*FRC*/Random.twister.import_mti(7); void (makeScript(14)); +/*FRC*/count=717; tryItOut("\"use strict\"; mathy4 = (function(x, y) { return (( + Math.acos((( + mathy3(( + (( ! y) >>> 0)), ( + (a = \"\\uFF73\" >>> y)))) >>> 0))) | 0); }); "); +/*FRC*/Random.twister.import_mti(125); void (makeScript(14)); +/*FRC*/count=718; tryItOut("print(uneval(g0.f1));"); +/*FRC*/Random.twister.import_mti(137); void (makeScript(14)); +/*FRC*/count=719; tryItOut("mathy4 = (function(x, y) { \"use strict\"; return ( ~ ( + ( ! (( ~ ([] = x)) | 0)))); }); "); +/*FRC*/Random.twister.import_mti(212); void (makeScript(14)); +/*FRC*/count=720; tryItOut("mathy2 = (function(x, y) { return ((((((Math.exp(Math.fround((Math.atan2((( + ( + x)) >>> 0), y) >>> 0))) | 0) - (((y | ( ! x)) & (x && -0x080000000)) | 0)) | 0) | 0) ? (Math.fround(Math.imul(Math.fround(( + mathy1(Math.sinh((mathy0((x | 0), Math.fround(( ~ Math.fround(Math.fround(( ! Math.fround(y))))))) | 0)), Math.imul(( + x), (x <= x))))), Math.fround(( + Math.fround(x))))) | 0) : Math.fround(( ~ Math.pow((x , x), x)))) | 0); }); "); +/*FRC*/Random.twister.import_mti(519); void (makeScript(14)); +/*FRC*/count=721; tryItOut("/*infloop*/for(let (4277).__proto__ in (4277)) v1 = t0.length;"); +/*FRC*/Random.twister.import_mti(588); void (makeScript(14)); +/*FRC*/count=722; tryItOut("\"use strict\"; a2.splice(2, ({valueOf: function() { print(uneval(s1));return 0; }}));"); +/*FRC*/Random.twister.import_mti(612); void (makeScript(14)); +/*FRC*/count=723; tryItOut("\"use strict\"; mathy1 = (function(x, y) { return ( ~ ( + (( + ( ~ ( ~ (y ** 0/0)))) ? ( + (( + (Math.cos(y) ** x)) == ( ~ Math.max(-Number.MIN_VALUE, Math.sqrt(x))))) : ( + Math.log((y ? y : ((-1/0 + ( + ( + ( ~ ( + mathy0(( + 0x100000001), (x >>> 0))))))) | 0))))))); }); "); +/*FRC*/Random.twister.import_mta(1118065296,-854047852,-1031960116,1192672930,641254526,1908315655,307804292,1352605061,1754085431,-1124170321,38764971,-287694930,-1100935132,680590127,-2090772252,933059473,-57778353,-291045508,811635850,1764971251,1564650772,1915134711,1064653255,365342739,1303335653,-1457320314,-2069932846,-794290806,892701870,1666830404,1790754031,-1233099705,1131057340,-2068761965,240082193,-1024250735,1944697308,-1966798108,45033007,-610890055,-1867781156,-278337985,-1181118968,-1434700995,-1747962614,-817109828,2039261563,-1294849,-1990918177,493593407,278932645,-2124561172,715191188,-726849238,-403755074,-1367477018,-838698825,1114172139,1392560101,1735949205,-1486534947,126030250,-779721095,84980746,1129237186,417241925,-1446785010,-1168246159,1103555170,-1895860983,-893081412,-1591125036,-1843444953,-947226648,-2100697021,-182092864,1888707829,729538083,-1871345642,-439048425,-1076149083,-2112494221,-2047501903,132108903,1112658516,-75909967,-1966103819,1518499058,-65872576,-849145212,-1294481620,582471424,745827856,1689638758,-1211223361,-1948585242,-1501464171,1771711787,-664986335,-80603570,1718381407,-884069287,-1517142651,347649140,-267575808,-1401651869,1371967575,287549684,-1049454060,-835481877,1867261956,-1468139446,1303149546,-1695505004,414547503,-494399353,1230760908,-2439451,-1382310456,1700519303,-1884824139,-1356589577,1399888623,-2075183466,361284648,1357942096,-1024409419,-839371081,-719986764,-2043971765,-651846552,-1273441140,97133034,549394715,1158487249,347291383,-105541998,-1071501584,1055765141,1044175784,-1003935195,625888874,-1674618053,1806246240,1080620596,1114460139,507965619,1717558663,1545535915,-1109822544,358754445,1622958960,-870136496,-1867890365,-1784214635,1669470547,1075552270,-2034108767,-1465104267,1383687449,-1249334914,-1683226836,986362796,1585035175,561407070,892414896,-1127783833,-889728122,477245537,-1496517277,-859245240,-46827425,-1157526565,-325455109,-1022580604,44130113,-1056603162,-995249819,-1165106964,-97794873,-1187820531,570540224,-642491922,-1049394238,-487267749,1565098641,605706603,1460128673,727267558,-865919090,1878645151,-1839454710,1024873917,355755406,1041734763,-1642131538,-459413291,1873661040,472845998,429390643,2046356892,1489777527,312473645,-202520209,384117993,-2085413829,1170818930,2070384955,535364313,-1076333906,1319779621,549471572,-806240318,-787278047,-1159302360,-205038126,58046159,-2030771926,458870738,-1544804962,589977122,-10391337,-531868805,-655196041,2146564655,-742837245,-812402432,-1815595859,-1775389770,-1728865425,-680723692,-1609388832,760817557,968902066,-1072303872,1162398882,1599494091,-180223239,-1558174289,1051978543,-301222711,-1539326530,-723455610,1398098826,-1534527356,1311239777,-1986355422,1124863409,-891882199,1370451584,1690525991,1210397581,778246617,-1936641788,-626746375,82481398,-917871444,1967835401,56082781,1879286776,1433485226,-848019475,-1397093554,1478680116,-1539798890,1037373107,2096638383,-856374886,-215591303,1645045931,963744561,510320957,-1486050927,-792328358,346363854,-1905147993,809685475,941003316,1857647150,-1130815233,241041223,1331016420,-1758666957,-1632254313,-1185146678,-2057467912,1682004145,1117733660,-1617239,-2063985145,-1197872412,-468148110,-1948603339,-75849453,-1198571526,1428138380,-422638545,137158716,-2002334626,-1283027964,-1482152100,651518353,-646472214,1906648503,-1118409645,445401950,345360604,-1724894908,-408962843,-2005169127,-1795088612,-1004795094,1696914196,-946934603,-169719870,-1203380915,-1447032500,610786126,2010695701,-1562821178,-122184574,-1630453597,-616367793,543313367,1484439249,-937693531,-1703773735,982929178,1760975216,1559722599,892926331,1380976814,-2087041330,-2117785371,880584755,1449883311,-171412819,-573355002,645460574,-1870575740,1045377745,-1337853700,-372396787,1008408777,-38807604,694689874,-1124822762,-239436816,-1390345936,297379920,225716821,-1887715347,-1067107549,1386444495,1688028776,-860013754,-1894082204,779627137,611914107,1767097141,-1500918567,-387692055,-277062889,1662133726,1895411574,1832244413,-1648350379,872050718,1622727183,1429739958,-1121682570,1555228276,661572926,564021358,1334479221,1179306425,-2122272708,1813626614,-1014187463,-741905748,-1974135793,-2037322622,-2100880139,495770311,949206828,-1057839717,669991453,191349772,78965999,180892203,219902004,-630232103,49655691,1627975884,645773376,1467474543,1446422197,-274324186,2042562136,-338843075,-546915792,1727968291,-798896504,226768594,-255009351,1630900943,406366878,828064391,-230364835,-762819443,1841269300,-1287178495,-1730265520,133638582,-554848990,1416380903,863439568,-229146471,-1220212569,2032345627,-1927478960,-1604473369,1587234031,-778417788,-429351626,-1451298033,1079660820,1741805825,1214055097,966386009,-2011545611,-1435896712,1319638546,-1156349621,-644765761,-895399181,-1550363920,-50867257,-458098927,1593598197,-1471292297,73860776,-1674996396,1093922937,1287056474,-430388937,-2090475013,1826454232,871041293,-1167913113,-405101596,1191039008,-1297218000,-1238791906,1581301319,-524265426,569384817,-1970435273,-281209773,-1961998549,1753370447,-1962803032,1344486459,1510592395,-1340370095,-1254477991,1579801899,-760816342,776555497,1115426912,-572045992,600231438,-429450735,891205937,11446990,1242587994,-1214135162,-513254720,-857468929,1079284576,-1615033626,1930454928,-82221872,926955523,1889826346,1290502542,1853245295,-764249094,1137264858,-811031175,-231759318,1678868197,303126810,-499161620,17168662,128462292,-373698659,615006023,-47954781,-943131178,-2062491584,-1550990420,1910306784,-135437141,-421346803,-1916305388,-2043392660,-1833249964,-1794424952,-610485439,1782103640,2075243683,299470250,-1093215291,1924783382,1484693317,-651087163,-261190278,1751555629,-743996766,2120885368,2111290008,-645482891,-127643418,-461746795,-878783956,1236022159,-1337437795,748310577,-89546387,-1423110940,-1600961775,574745,128636104,1086634416,835868966,738037064,-593071035,876119860,-2016323312,103878814,-1199754583,1551006112,616259587,1601628034,1119410640,2100634887,232433726,-1085060915,1159714639,-329679890,1307473641,462513900,851840324,-944677141,1924272820,-1696143103,1888679694,-1078762275,913905731,-970280410,1522967396,-1151201262,2030689837,640765706,-1567514686,503388155,-36697213,-2013941546,-429748898,1459050401,774333285,-543898178,239119840,-818968531,1837640843,1600346842,-860904285,-760167436,698150324,837469133,-1251614095,558255412,-434860169,1747091374,39098584,223052266,1137590727,781428044,-562797191,1783037156,-894980623,-616106599,422817184,859454065,-2100674402,454451653,-1229024602,738797483,-763143817,-130638660,-235331823,817047265,-1229879303,-355969581,1123122904,1434105930,1846442870,-1088767987,-682934563,359995311,-233853276,930168350,-1731643613,1227827798,1404276364,583585116,-1134023664,-300406315,1187986636,1494594560,-463299607,1375098228,2003079165); +/*FRC*/Random.twister.import_mti(233); void (makeScript(14)); +/*FRC*/count=724; tryItOut("mathy2 = (function(x, y) { \"use asm\"; return (Math.acos(( + (( - (((Math.sinh(((x & (-1/0 | 0)) | 0)) >>> 0) ? Math.hypot(( + Math.hypot(Math.trunc(0x07fffffff), x)), -Number.MAX_VALUE) : Math.acos(Math.fround(mathy0(( + (mathy1(y, y) >> x)), ( + y))))) >>> 0)) >>> 0))) | 0); }); "); +/*FRC*/Random.twister.import_mti(416); void (makeScript(14)); +/*FRC*/count=725; tryItOut("o0.m0 = new WeakMap;"); +/*FRC*/Random.twister.import_mti(429); void (makeScript(14)); +/*FRC*/count=726; tryItOut("f0.__iterator__ = Array.prototype.concat;"); +/*FRC*/Random.twister.import_mti(443); void (makeScript(14)); +/*FRC*/count=727; tryItOut(""); +/*FRC*/Random.twister.import_mti(450); void (makeScript(14)); +/*FRC*/count=728; tryItOut("/*vLoop*/for (let mnsxqv = 0; mnsxqv < 37; ++mnsxqv) { var a = mnsxqv; v2 = Object.prototype.isPrototypeOf.call(m0, b2); } "); +/*FRC*/Random.twister.import_mti(488); void (makeScript(14)); +/*FRC*/count=729; tryItOut("/*infloop*/for(x; \"\\u82EF\".eval(\"(\\u3056--).__proto__ = x\"); (yield (encodeURI)(x.watch(\"callee\", XPCSafeJSObjectWrapper), (x.__defineGetter__(\"window\", function(q) { \"use strict\"; return q; })) %= (x = Proxy.create(({/*TOODEEP*/})(x), \"\\u758C\"))))) {/*RXUB*/var r = g1.r0; var s = s0; print(s.match(r)); }"); +/*FRC*/Random.twister.import_mta(-919993108,411157182,-2008615572,-864364529,-953593857,-649227574,-1128068913,1568862589,-431857465,-1072178540,104222032,-1384881841,533234117,1812932166,1904290326,1066508584,1889818120,-2032277657,-100837311,500587610,1380737341,838275227,-355939635,851581181,-1261688156,483716742,-1177664703,-1124967583,-1731060947,-334708804,-442934275,703089383,-1563834161,1446322594,303616751,928828156,-1099889607,30311543,2120400240,-339564770,306909191,-1199755243,-1832203852,-475674894,1673721078,2045210934,-405971367,-1860951190,837134455,306005878,1819515054,1723560135,-1875534862,-1808976837,298003027,1286048436,1310018740,-288854678,1249170747,-1421210432,-917765150,1593218992,-913957586,1227172398,510000597,1153619004,-1641053588,-788994464,726476034,994806133,-2110623552,-28419419,565783444,92996006,1498706926,119937204,-1179916545,143945413,-1577943026,1900336651,963254438,387347448,-1699493236,-1097571380,-677114601,662046069,1510015610,1319966858,710543564,924689657,-2094424966,1442021330,-34451766,1891634090,570165142,-665234161,268092326,-1272723623,2050041587,59198189,-1744332364,921037502,-1919635476,-1122603200,1824476610,-2143875308,-8605487,-967078137,1943467966,-242067090,-2038157455,-203619715,-689641077,-1083526768,-738390977,1970567244,405997672,611587058,-1277443751,1206545600,1056192350,-1730780283,-780133911,883836524,1437596720,1643538160,126942050,-1896832433,293853526,624885179,-364626981,1853833412,1946066239,279130707,868379829,1020396112,1740358576,-2034577371,785134834,-1864259451,-1912515728,-1557685642,-234501728,637889412,4400515,-900091610,-1902363105,-395192440,1549033480,-1366523490,1032100230,-1723717019,-1807595727,1065504507,-1524118881,1000126187,-1464973621,183486990,-2105143065,-2145206850,1028065432,-489276149,-2142407857,-695107575,1079916220,1007227390,477247470,-251598875,687822252,2019913055,440534899,1132316132,153535740,930153443,-159417318,-15334323,-182532723,-1838581669,-1986691529,-1695396861,-1649457981,-26546429,1227172949,-644349377,1120506854,-1438396066,1419762296,2106516445,610604831,-473965062,1256215234,-384811187,-722577474,-330989042,-978834906,805351724,1860520856,1026407718,386469336,669652747,63978434,-1135711390,1920797983,709671447,1764237779,1381467480,302710715,2083808352,1562199951,-1423501817,2121161180,-1729992724,650773906,1208364603,-1947467699,-272411226,-1682749514,75746751,1111858243,1935533645,449848484,121024695,-1279341528,-1075447352,1421259063,910133748,-1484249740,-2109940425,-839860266,-470775578,-1670148481,143486186,-978472941,-1664487345,1059493676,1356987389,1673423671,-827396264,1797596167,-1312429186,1041299609,468800213,1446708461,1658858058,2026283144,-47179824,-447157667,-298865802,1495312347,1101122177,-1881656860,989140631,446461444,1301593698,-24702182,-1133041285,262237159,2100956044,300522267,-2005838054,-376992117,1145427784,1531815398,-1402126222,-970148879,-652863112,-843528237,-221213724,1349727391,393916659,1972897459,-377745183,293892763,-1382033986,254037094,-255037351,238423660,1529815481,-503361433,1309922446,-1282937527,-2090994411,-1695164128,314261713,-1402556778,-1587754564,-1979339442,1874270825,-2055000980,-1781864356,992573975,-1031791856,-1602800534,-1033364079,-1166593370,-2128473142,2136865131,-2040457489,-1483924313,1919760442,-806813263,1978645787,-419677520,1040736265,1171409770,-1413979040,2111622825,-743607285,-903674581,-801946366,-593861031,-1523162979,-1648770064,552608155,-1954068749,2126122090,1697532254,567101615,1151328561,-2119597941,-1499456732,-715797522,291554107,-1160827887,153518292,-1375688000,1590455648,-1401113332,-2120816814,234906510,-1807848681,1836215973,1507666873,1011504151,1952875663,-801472969,-1619263635,-709339554,-73555521,281788476,-1488302610,1041459814,-1301199625,652534670,1891632091,-1381922350,1060589880,1751431110,-804603987,1311947804,-1441060539,-1399467650,-1850774200,903764054,-1464975380,1443796452,-351643612,1634730937,-1008856703,-105722996,-36067720,-579538463,1297813695,1606882315,690522788,-1188785785,-920874870,659918504,-1984194899,-325585893,1213995198,334775068,-627665647,810666618,1381761931,1553217558,-662675739,-2058718139,-257843405,1214283241,2093627578,2102195258,-330142889,-1259890339,-1281480676,1215889718,-2054070344,-1508520400,2126156993,-2034185387,1655604538,-1741925978,210594200,256699342,1135846925,-1695762903,1337360332,1721599071,-275537883,1721080292,-586749651,-565208226,-1177280732,1416633230,2080047587,-2054608008,458710431,1032159410,237402522,1073408335,1496525152,245796046,-373799547,2078870761,-1901038607,1037996663,1134341481,-2008390066,210312863,-765405418,627303458,871184526,416126446,500237571,-258313090,1998857554,-1928705196,-1091171775,965356305,-277306822,2138587179,243018458,-690555614,-406152005,-2140376634,215412471,1280593723,-1791094133,1855252297,-1411097738,171289967,-2047292697,374480197,-1108856421,-1364780549,-1694507935,87251745,-1708322563,-2096134181,-1068261926,-593817128,1306636847,1831554427,1369492104,-1302531808,67109041,2143223202,1927656585,-738000992,686040939,-1723273189,-834684434,-454185753,-491056576,221988907,-1657177523,-1734965781,-264442446,986667749,2026415681,855854413,-755131041,1052244887,-451952838,-886596901,1123042712,823519201,1889699524,1524588327,356660087,874286506,-1022647950,2128577957,938692850,1531956043,-1076230029,-1589089561,-2006766874,-90622677,576353523,1198346207,-819716228,-402019442,-1925563560,-251355890,-39361650,-601481329,-771582915,-1969722870,1393296059,-61262744,2009741206,1379037907,-464527435,499966387,-1562020143,122600740,-117280115,2006653034,-269908468,-1234490785,-1534433213,658445441,-212253755,-629086956,806553041,-302141727,-703429154,-346826175,-549312938,-58474275,264034627,-49267783,-1805095042,-475103239,1515435455,-213802965,11311478,-776741518,-1284850494,-146181794,-1663133383,-1469247996,1572770417,-884713320,-539114609,1734922239,-2038028861,-1495348203,-559854657,-1513748464,-440501725,-168883020,1251293855,9512007,-485637267,-2025532268,536940445,785551510,659324620,1160816570,82719650,-1218204574,-467897654,-718947242,367862541,1984501769,317680038,-1354345893,2059956906,1361642917,1775733894,901128702,-1939646232,-990864961,764779165,-1221888734,-458189435,1294085321,1073897464,-1459625245,1594515716,-360587486,-2119686671,-2019028644,-4515136,-244457838,-1019000641,-128211036,273857649,-1234953807,-133359242,-66297216,-1625593869,1616531413,-981741196,1096637360,-359631650,1799779202,947416781,-476286420,-578600777,-172144809,1233730925,640724711,1563956880,-137839288,-2024784972,-1547870344,-1500652721,-777652947,-1827856348,-557561035,887932115,-466433239,-635649258,2137473106,-95431581,-1881023605,1071665247,-1914679793,-400115949,-585815432,-519648621,-1882453642,1876882031,-1728783011,-1935007473,-78917696,537375640,-1535830299,726174903,945176840,1797488058); +/*FRC*/Random.twister.import_mti(245); void (makeScript(14)); +/*FRC*/count=730; tryItOut(";\nprint((4277));\n"); +/*FRC*/Random.twister.import_mti(294); void (makeScript(14)); +/*FRC*/count=731; tryItOut("\"use strict\"; e2.toString = (function(j) { if (j) { try { a1[ /x/g .eval(\"/* no regression tests found */\") << Object.defineProperty(b, \"eval\", ({value: b >= e, configurable: (d = [,,z1]), enumerable: (x % 2 == 0)}))] = (new EvalError()); } catch(e0) { } try { s2.toString = (function(stdlib, foreign, heap){ \"use asm\"; var NaN = stdlib.NaN;\n var ff = foreign.ff;\n var Uint8ArrayView = new stdlib.Uint8Array(heap);\n var Float32ArrayView = new stdlib.Float32Array(heap);\n function f(i0, i1)\n {\n i0 = i0|0;\n i1 = i1|0;\n var d2 = 288230376151711740.0;\n /*FFI*/ff(((d2)), (((+(((i0)) << ((Uint8ArrayView[((0x6eb4059b)-(0x2b895a08)-(0x8304730d)) >> 0])))))), ((((i1)*-0xee827) & (((((0x34b24d59)) & ((0xfddaf644))) == (~~(-131073.0)))))), ((d2)), ((((d2) <= ((0xf92f848c) ? (1025.0) : (-1.0078125))))), ((-((d2)))), ((-0x6adaece)), ((-288230376151711740.0)));\n return (((i1)-(/*FFI*/ff()|0)))|0;\n((4277)); i0 = (i0);\n (Float32ArrayView[((~((i0)*0xfffff)) % ((((0x46493d57) <= (-0x655abf5))+(i0)) & ((0x1e6a8bb2)-(0xca3cbb91)+(0xfcc770cb)))) >> 2]) = ((274877906945.0));\n i0 = (i0);\n i0 = ((0x1fe0396e) <= (( '' .unwatch(\"1\"))));\n i1 = (i0);\n (Float32ArrayView[1]) = ((NaN));\n return (((0x32058a2a)-((0x0) >= ((0x47d2b821)))))|0;\n }\n return f; })(this, {ff: (function handlerFactory() {return {getOwnPropertyDescriptor: function(){}, getPropertyDescriptor: function(){}, defineProperty: function(){}, getOwnPropertyNames: function() { return []; }, delete: function() { return true; }, fix: function() { return []; }, has: function() { return false; }, hasOwn: undefined, get: function() { return undefined }, set: function() { return true; }, iterate: function() { return (function() { throw StopIteration; }); }, enumerate: function() { return []; }, keys: function() { return []; }, }; })}, new ArrayBuffer(4096)); } catch(e1) { } try { Object.defineProperty(this, \"a2\", { configurable: true, enumerable: true, get: function() { g2 = this; return arguments; } }); } catch(e2) { } /*MXX2*/g0.Boolean.length = g0.o1; } else { try { m1.set(o1, f2); } catch(e0) { } i0.send(s1); } });"); +/*FRC*/Random.twister.import_mta(719152384,-340731245,-1717549764,664469005,-1293331909,2126326684,-1548102673,-774733473,-444414414,1481407287,-1305018166,-657815129,167606892,1643363435,292445274,-773165439,-510701691,1799778062,1932901466,-206426840,163143388,-1595552986,302607287,1057354096,2106019789,-1658714991,-627009428,637258039,19036812,1724798581,1930076141,-1310294103,-2073939221,-277046909,366104484,1357301729,1042640479,-1084412034,959954296,-1669761049,268974686,670139283,-633948145,2077546260,-1190432132,-1128529226,-178118610,1868397855,-1813938214,856332150,813176897,-1961539038,323860248,225588270,1806858101,1243736865,1724185661,1315842914,296027857,454622291,496959313,-255725257,1282847356,259178030,-329329680,-335909423,-1966644880,1486740138,429133352,-1718633077,370372671,1779683119,2047682194,531199162,-781283067,-1150633929,944584839,-606151972,-1554342334,765520818,2066333496,1468447329,1242038929,-960087042,163058455,1407124632,279305399,1315098413,1029466832,-1596152614,-493185777,-1000336818,1513779494,1469271060,2046821668,-1342911907,237201451,353681064,1701606951,-802827435,-1989123742,-1940767236,226964763,-1979280759,2010230812,-1266378140,510306537,1680317036,-1708369306,-586933693,434389868,-2048795536,-1336090940,1184701599,-567258011,723947701,-513586628,1516615015,1407595441,-225987250,1131480259,446391914,-2062219936,-699121979,1061677627,-19380728,169381510,-1418751150,-775652419,1600851225,2006137108,1900290866,573805876,2007037915,-2101897199,-1682903076,-940881220,-1675476255,1319479058,543712839,-686429960,-539219771,-1918632323,1022306830,-1064131920,732537700,1051578715,1857754179,-196377694,-645490601,-1247237520,-33881135,-511317650,-827592150,-1071065080,977027032,-1586784307,1299055866,1442610642,686464069,-1165178884,1986550563,-2004352399,822484731,2010317945,999242249,770415557,-1869663383,-2001756947,587384388,-988907657,1236356791,-1028493610,-1816109842,-1182149635,151391547,1368664323,1516904088,734694430,649251884,629051361,96567633,-1516892751,-687812542,-315821607,-1773957188,953460418,-346000251,-190562423,606958289,1192287143,20011101,1314566090,-2125961409,-2055006175,-1026563429,1461707774,766781451,-674910774,-165633879,-1720250875,1133209896,715339419,2084132123,-1171856760,1321829431,183957219,1404360753,1451751626,5270716,-163649643,-595273406,-2098464867,287244022,-1614340672,-1865643613,978295955,937850760,-814173802,-1784885489,372885899,-493573676,2146783100,1462173345,811026509,731009970,-1288330242,1277508331,-1706516768,1318138588,1675380856,154614509,-1445895324,-64317319,1621806206,1297433462,2132479131,1588404758,-1071088616,-805456129,-184310306,-1552191757,-526746716,-571727935,1440638182,-1735296597,-2069497709,-64897554,423468729,367358789,-76035356,1892250831,-1142400096,-438103583,-490148523,-537231456,1481855923,-487136577,-1243687900,1772701041,-1923190233,947166551,1188063192,-1002731656,-740940862,-958173618,-451857899,-516353842,-1253807307,2045905801,-698191941,1757543406,-1435244439,-1292892643,-835455508,-721782548,-2020231307,-1718681427,-333668251,-1819872925,-707494277,650681317,-1703609450,1895279478,515919804,1420284022,-171195976,526346599,-1172011751,-1997881432,775074726,-1134212667,331797446,-671287261,403493711,-13483454,62359075,-589476173,321213234,-990833003,-61465880,-502231971,2103851244,446962994,-838670100,1153190345,-1652629144,-2026861198,1067391200,-1118994078,223722351,1197798127,-1699765110,-1938895087,826263832,264982143,691187794,1507710280,1572627156,157973684,1027189219,-1413950362,731638922,1253058625,34925512,168444055,-971273773,-910486837,-883815365,-1634684849,1706497284,-1036544737,866713776,-1118741903,-718137944,1285100815,-1210568340,-48094356,-846971794,-1543899085,429173164,1577076417,2018828658,1074526990,1286959502,209558317,-961155411,-226693174,2105686116,152051997,-2145462662,2005949599,-1539872221,508531056,-1066870368,-465479761,-1227113446,-814448373,228411124,1558136328,-2146287628,2098372753,760993030,-746647570,431536893,707522391,1942135059,1254134641,815751703,-376573406,890571648,1959876839,1937851993,-1903468479,1089538120,1090722831,36377258,1425069366,12815866,-538905293,-267548617,1862884732,-112770135,-123436093,693273697,1463079438,2078309213,1557740867,-335507882,-102809364,1024472616,831893685,1009340398,-1791297508,82958498,-277568757,-1991985996,1808734138,989561413,1966713503,-51932863,-446440337,1665007868,-178185939,1487833892,-9858546,946867317,577614636,-2093726423,-1995466495,-799828443,1090020292,1925167383,-1501286427,747081057,1281546722,537412086,-1738742729,671167446,485187035,-1732314248,-1981426986,1429196997,1867700673,1445345954,-784299936,810751318,1555737426,1949775925,-870865327,2064072822,-1857185767,-1541113163,1254149632,-1932058731,-375033976,-1815620314,410789102,-914950919,1593414133,-1964364966,1306960829,389030321,-199974735,-477025945,350858457,25360302,-826885447,-2101516487,297322384,-1461807255,-1614127569,54671094,-1441014930,-1758623124,-1516773327,-286566329,1239234472,-1001547385,1014868918,-1691007858,-1948996910,1007209046,-1601300399,-918999057,359370290,-1209810906,829208691,102206732,1611886045,1838834097,-1819465230,-1441356234,2017363233,-1655070942,-1732256362,766783527,1326503336,-480191061,-1578754699,-999898792,78618456,-1006381095,-319027511,1678988889,2087866760,764989442,1763334253,-263120911,-59871000,-475428666,-1479346683,-2139196446,-1651278702,-1612013303,1113576493,-1979977400,-1825678658,-1739634068,-1805684131,-921362986,2116189274,2144675817,1350268787,301271834,-1346633993,906983674,-1374031282,289167587,1481236070,-1145426040,-732465885,-201080501,-1735675086,-564241584,366142134,-471597753,-1030492583,-742106386,-191921289,153756765,-1081311668,-1257867779,-345503488,687613107,-1282591752,-2069407186,-728763311,-1146760644,113410115,-842800783,-1707839506,-1284788178,-1193489116,1909906538,-719073344,654713692,-952996422,-1321408529,-934502270,1740194527,1271418690,-209099793,-1334668626,-246184927,505284766,-1067299931,709943720,-1205933312,151240535,1221013904,430259705,2013559282,-1400285192,440742802,1769877728,-1746467684,-350450442,-1085035446,-2110442819,-1984259022,-806812329,1252571515,1286131052,853565181,-703494401,1219035694,-435351785,2114021693,-182214436,797887372,2046139935,-710854390,-2057181693,-1918803286,87349037,-239520355,-63765080,-1498303880,638440996,1648958923,-1100027680,851727497,1610492719,-305567311,1832119084,1771535463,-172947915,-131717336,479587344,615915370,-93410935,-672677570,-103659841,1683789881,192625843,-1440354312,1691067452,-1096874593,-2107962352,-955387821,-1231315699,-2105684295,-1455765535,972993725,2138058195,2077208541,787862829,-1443773044,1723847793,364865685,1205342557,-1094776936,1007058918,-1304496981,2037534759,646111412,1085657544,1637247353,-1222937533,1503006360,417003558,-622518826,-1674967500); +/*FRC*/Random.twister.import_mti(412); void (makeScript(14)); +/*FRC*/count=732; tryItOut("\"use strict\"; M:with(new XPCSafeJSObjectWrapper((new XPCSafeJSObjectWrapper([,] ? ({}) : e))))b0 + g0.b2;"); +/*FRC*/Random.twister.import_mti(510); void (makeScript(14)); +/*FRC*/count=733; tryItOut("this.m0.delete(b0);"); +/*FRC*/Random.twister.import_mti(523); void (makeScript(14)); +/*FRC*/count=734; tryItOut("b1.__proto__ = g2;"); +/*FRC*/Random.twister.import_mti(535); void (makeScript(14)); +/*FRC*/count=735; tryItOut(" for each(let y in \"\\u475D\") print(x);"); +/*FRC*/Random.twister.import_mti(585); void (makeScript(14)); +/*FRC*/count=736; tryItOut("mathy0 = (function(x, y) { \"use strict\"; return Math.fround(( ~ Math.fround(Math.ceil(((y ? Math.fround(Math.atan2(Math.atan(( + ((-0x07fffffff !== (1 | 0)) >>> 0))), y)) : (( ! ( + Math.max(( + Math.fround(Math.hypot(Math.fround(y), y))), Math.fround(x)))) | 0)) != (( ~ (y >>> 0)) >>> 0)))))); }); "); +/*FRC*/Random.twister.import_mta(-954217940,1982570715,-1073978042,2090567811,-1707259487,-336963116,75557213,711977021,172433226,560696336,-687847648,-942999521,553580523,-656099320,-251272101,-1687114230,-752412574,354243404,1975242614,1691676312,-2010250844,-133351726,57255267,1064692801,511467585,947887347,-1532523131,1454835684,2066682757,-1864439169,-582933415,-1357999713,580999759,837707684,540429110,574520645,1433295295,-800276183,2123457700,-607926263,-1836296712,2103777313,588511871,-1771072924,330867430,1837183398,447917793,-362703222,1298982754,-2135536815,-885252184,-887374667,385998215,68099084,600972128,-1456932809,-1926443297,116898267,823340743,2032965424,-390758420,-1569275719,1002763425,-1390793354,1730227429,2037086958,-859769596,-973920005,-2136678360,1709361382,-1653739717,990977605,1875367808,-601515540,1462814006,1865976490,1439819855,-856371197,-831543217,270593979,-35964857,1600941116,-2105212790,431126540,759176468,1431931229,1388695936,2059232049,1813775333,-975361446,187322698,-1655951518,-676866334,-559314348,689972212,1583839016,-1759960122,877931205,-213545640,-851197447,-720944064,1199857726,139758534,-1291991592,1684025704,-1444363454,1651030597,484648489,1479623433,2063423820,-1394008970,1225930625,-1576017674,229291365,416058790,-994941867,1823594846,1856369239,747714577,458477561,-807510676,-783361954,112012490,-813604449,-2132779704,-267767106,-18890583,-652826190,1160775083,-1083259228,-332536376,-1430513498,-1541780623,1435540902,-672393216,-794946192,1875205259,377753571,1545555004,210556704,836028679,1860544526,-1774504571,1206915975,505192176,1977039773,505915472,-881441296,-338299798,-1699340643,-844771169,-925098057,1851147842,684940692,1153114645,-239533365,-901884539,817565051,-469512675,-1969133726,153096632,572464557,1136561439,727428817,1260791948,-984234938,-572005369,-272687020,-2020547107,-215578294,467474579,1599626838,-1128034645,-364735827,-1535236003,1684249940,-1470830257,-1740364635,376287547,2047787698,1742435807,762446975,1301134853,-1915234824,-179359938,1856899048,-213474894,244565674,-1506942309,-753426069,1814108868,-552898355,-2059833520,-8445019,33679387,-1134022463,1979769445,1337872092,-379331528,2140592165,84807848,851848717,625940034,-635535081,1224208329,504235287,434641702,314394840,2136480653,-640127800,1085782412,1905036957,774941450,442295925,-1766398637,2056288526,670385186,-1786598304,-1431009409,-191449938,1912571170,510447303,92322764,-659219871,219402751,-1015034839,1664101278,-902068900,291715509,-1911406214,-519527126,-1898579949,217556279,1960152930,214256006,-1396561448,238886171,-149653204,960271295,1518281988,273792942,-2125932151,1821249845,-1178064367,-2141364410,-1360952352,449065071,1572372007,1811365807,1053966353,-568727815,59264401,-746150692,1288391664,961165364,-1911682429,950873087,-2018619829,1121092600,-1123626109,-186869296,56522970,2342649,1015367774,-1287817714,-1794028175,-1419820946,1361498301,-1735086790,-1859486339,-502304877,-1618352627,-1376681353,2108380183,-2145604868,-1750168569,1434024920,607846213,466646235,-454864283,-832315103,786982571,-783078004,-2108888831,748966368,200723995,-1349807268,1823444415,-435970195,1826467186,706754891,784483590,-878856672,432942204,-93713958,1484231654,-763044000,-721467742,-2141116976,300735220,874868509,696506688,1651147827,1926274105,933381176,-1060054789,1404610818,-1575701449,1103801485,1562865122,-1559711324,538431313,-1973002742,173683980,-464489263,2022005708,-382484226,636772384,-1711730376,1345565388,-881467289,2095961521,-499657769,-1777117662,-1470514607,1228994926,815200323,698806914,-1849390906,2056192324,183418760,1035252016,776527525,150057105,-475587471,1138580415,74205434,-903151039,-2115601593,-289033184,-1147001126,619117855,-457729582,1256939929,-241987810,-1765572712,1651357724,-1323351714,1288599567,111298551,759299855,200497286,-1087505914,-554980231,842969786,509467558,1104951038,-1427945806,-2066498654,-1542237045,-1307476687,-1052642685,-115240313,-1173245654,-1701230441,-50942870,-1327223225,-1332492077,1512263967,-860770235,-460320981,-1093366525,-342213790,2120166516,1929345832,-356483777,-1328647162,-842787230,2116343281,-1890045306,1599599402,-519032034,350483445,127903594,455173244,1090208620,1036339484,1059083923,1592835547,490116619,-1432762796,1429376891,-808929208,-1616967594,1091420430,-1020084345,-2034171241,-1616352914,-53724218,465106644,33279045,-706664413,-941907683,-1006392099,-1477382750,-748877858,1798839076,-11933804,-251824096,-1129527864,-307502054,1427653482,-454778683,1007540189,681749083,-1238777248,1177641903,941720367,1215721215,-1989799188,-1148335410,-241258330,315223294,1561591604,1730022124,-1320528237,1372294540,-1508033427,-1916449286,1489811065,1269890500,-2081594804,2070831639,-2037701581,1718615836,918286622,-1780056385,-50040017,-2013727048,725991079,-442038412,69616980,-644703863,-818585522,1191103187,-1435108184,1254447405,-1448507807,1454419215,-1998110553,240682409,1286785668,-697163362,682028712,33080731,-14801591,-352527698,1512495414,-789893688,23922544,826268171,1388391597,630035759,-207013325,-1113473483,583889836,-1681798686,324696360,675930040,-1018457806,-1341210904,-715781027,1274442159,342425598,300388588,-1541040285,425339589,1990277363,-898370572,-1313487760,245138524,-2109512953,1635301688,-743690228,-1181260145,1411312633,277041002,1442620151,2104049838,1912044186,-161184893,-217952257,-606538952,2107809845,-1459516812,-1670818402,-658681822,-1373058395,1286533116,-914682724,45771322,654215639,647726945,1568931413,-1427132191,1087883430,-202396862,536182159,46959000,-863094200,1903158095,-810745446,1202919298,-1062945036,642186468,1325060369,-1801655679,1136792636,-846384030,369104081,101192538,971080699,767792998,535985638,-851845282,-1036875577,-492597245,1777829379,-202757698,-578567084,1070246862,1847041071,-1665221015,726910775,-2004528169,306822435,2126404415,1654551180,1144102672,1622298554,800985773,1151104505,549196443,143831601,1794860143,549487669,85705240,-679832089,-1587234107,-967554273,63535105,-1805941080,1594118802,2108973450,488237810,-1707668856,251742015,1430743469,-442066767,1788186812,-166886683,536604691,1703492873,-2079008933,2016113121,-441255344,1154188148,1571431067,511126897,-1284441068,-283566519,-616361061,1299921990,616368457,1787664919,-317042146,2025571619,2115577395,1492497300,385991740,-1042491383,-229365727,-1465221394,-298831111,-595938524,688960846,130246478,-838701403,-1895103349,-344285902,506352945,-244668408,420954090,1539494532,740746837,1328654051,-1093377445,1658273083,-455925,286552980,-1139125715,-1429656405,659926544,1966710407,1802809428,-624184640,19556559,1269764588,189229561,-2026571936,-1116004581,75425712,519601311,-1110277226,-627978657,1303498113,1030520559,56246839,-675838587,-1560035580,-1812827067,1820282853,-1926775651,-447813759); +/*FRC*/Random.twister.import_mti(120); void (makeScript(14)); +/*FRC*/count=737; tryItOut("Object.prototype.watch.call(f2, \"getFullYear\", (function() { try { e2.delete(o0); } catch(e0) { } try { v0 = t1.byteOffset; } catch(e1) { } this.v2 = g0.eval(\"this.m1.set(e2, e1);\"); return g1; }));"); +/*FRC*/Random.twister.import_mti(177); void (makeScript(14)); +/*FRC*/count=738; tryItOut("\"use strict\"; for(y in ((new RegExp(\"(?!(\\\\b)*+)\", \"gyim\"))( '' )))h2.get = this.f1;"); +/*FRC*/Random.twister.import_mti(415); void (makeScript(14)); +/*FRC*/count=739; tryItOut("s1 += s0;"); +/*FRC*/Random.twister.import_mti(427); void (makeScript(14)); +/*FRC*/count=740; tryItOut("\"use strict\"; /*RXUB*/var r = r2; var s = s2; print(uneval(s.match(r))); print(r.lastIndex); \n/*MXX2*/g1.RangeError = o0;\n"); +/*FRC*/Random.twister.import_mti(541); void (makeScript(14)); +/*FRC*/count=741; tryItOut("Object.prototype.watch.call(i0, \"min\", f2);"); +/*FRC*/Random.twister.import_mti(557); void (makeScript(14)); +/*FRC*/count=742; tryItOut("e1.has(g1.g1);"); +/*FRC*/Random.twister.import_mti(573); void (makeScript(14)); +/*FRC*/count=743; tryItOut("mathy0 = (function(x, y) { return Math.log2((((( - y) | 0) << (((( - (x === Math.acos((( + (Number.MIN_VALUE >>> 0)) | 0)))) >>> 0) | (x | 0)) | 0)) | 0)); }); testMathyFunction(mathy0, [0, 0.1, ({valueOf:function(){return 0;}}), -0, undefined, '\\0', ({valueOf:function(){return '0';}}), NaN, (new String('')), (new Number(0)), (function(){return 0;}), (new Boolean(true)), '', null, '0', true, ({toString:function(){return '0';}}), objectEmulatingUndefined(), /0/, false, [0], 1, [], '/0/', (new Boolean(false)), (new Number(-0))]); "); +/*FRC*/Random.twister.import_mta(2109016540,-483260059,-50494902,-1779574710,-1609300791,479421804,1211951132,-1563205113,-1008156202,1085814964,94645060,965391114,-1864459828,203532008,413144175,-1921569548,1988329083,310332896,-2075937492,1109812093,1143412806,-1865806703,265573395,767248945,1957285376,-1718445341,910720198,-1014942735,539857779,-1503416449,1754449021,1167937538,1077642667,1537988703,200993841,-925762025,933622904,422006094,-2108512827,-593472445,448679904,259636056,544372629,-1401203193,853990791,1304657446,-100291829,541636962,858155487,794515193,1429006564,-2076642541,-1964978527,531728409,-1053948352,166524462,-220888422,-2139495897,-1014468911,-559520424,-1844115019,335669063,400560587,-609747802,1853133274,65925037,139992721,-34353631,1346115551,209686176,-673560875,531248248,-312910396,-610870157,-490059512,-132762281,-1424349408,-270994412,1966952545,-1094777287,420941549,-885951567,-43190154,406620886,837228406,1209684472,2012885323,378656674,1995472596,1427531727,1532671302,381332447,514047920,-1561030023,-600705941,-799776037,-1098906232,-1868346152,1673528765,-1304497662,-840238406,1216653855,-804917648,1888121486,839575670,-827888996,-889528930,536846778,2108253184,-442817159,-495659376,332102115,324259877,2097784220,1962705775,837548845,1862203136,-1459171277,-631536078,-1284258761,728070163,-1898208761,-1463282495,1182285310,1105500836,-878393363,1937320255,917073236,-578425963,-1800051993,1017743952,955235545,-1219786105,339519438,106469015,1918148851,-1189515239,-1500842551,336582323,-10711197,1441572491,-702237427,-1706887514,548429269,-411084568,800048819,757698761,521248346,-191677532,-87975288,706489059,-699426332,-767695403,-1197712940,898610962,-1558984561,-1126082584,-1240416989,-546850503,1267814371,-582985820,1567715041,-432998645,-744581469,1028723248,-1837989931,-204781711,-1561611312,-1675510027,-1876049950,1912999344,-1726063877,1599669661,607042232,-1452090063,-1067845570,-241718332,-1196166571,-803392697,-765538541,-240610093,-415507383,300560064,-1149546602,-2063389739,-1861669321,-1451634260,1449456310,-644623068,1909713452,2022663708,-845696221,231586879,-970583581,1985347767,-81789433,2082338282,412551241,-1443726802,-1135384049,-490956062,-312573910,-1525447744,1097405718,1019649791,732013443,2087140075,-842003123,-165182300,1634841609,-362682755,476003452,319960197,791207277,2033638199,218291854,-1223436890,381893951,939169750,1167309950,-1788570229,-713566109,374440683,1282616421,-725083858,-54548142,-1068292817,-1408490023,-465884712,-1938173729,1267700892,2137482893,653894365,1314802911,-1263372565,503250820,2066875426,-1070411196,347414920,-1728690661,-1785890061,-135287766,144410915,917361112,1158646800,1344871876,-168629071,-388745394,380345414,-1177544784,-176694234,1567267950,-573669,720199900,1569621615,-445401517,1018968197,167478657,-1038710500,978700611,436528178,-1830583406,-694986184,775638911,-895001815,-671283726,758877378,385096061,-555469511,-931303293,2058819038,-48845725,-1440848654,-99877259,-224964674,1503319091,-1538352764,-1043570090,792849150,1960414958,-775091309,-376991610,-775802255,-1534612886,478819829,-733108353,838407000,941389532,1651454462,-1678197327,-859382235,1270500042,1326119315,896342652,-1849161774,2038331503,1711287793,-1746217923,1465669890,1849907861,-816369453,1257749454,1484180372,-1328872132,1454909622,484508896,918416637,-520427404,-442317504,-320298844,-784343647,886323315,221727614,-589644804,1792244292,1114218155,132929503,1470512602,2124640953,-1575878820,1166723198,1948429663,-1688352310,1940154495,-201117585,-494679741,-1494381757,-989282599,901982909,-713903692,1850747414,-1138345989,1406599691,1646388089,-417743686,2141143165,1501959302,999250924,1688839155,1317192520,-1234015284,1185369990,-845743298,1446457487,-496537601,-1418896836,-1409522536,-737479477,344076579,660626329,1132564925,1584555943,1037672718,711356514,965181575,-43257622,-2117811778,2126534529,-202463677,2001437888,-309006768,-473895157,794589286,1834837133,-655252484,-713723569,1042144213,-1577730341,1769266672,1895973356,-422401141,-1833810599,1350586505,341192029,-1283911654,-1393294937,-1675390535,-871960380,-773619545,-1114235840,-2011938725,-420020681,-1596187846,-1317935658,-1771234155,-1048240713,-854993803,1798355350,-891120325,-209972191,537878977,448089620,-574751746,-1823627274,444226764,1179225953,-537293995,207622227,-725474927,-961784992,-1747542410,1402453344,995139215,-1569727211,-786599494,-1518256427,-302367527,-1982453565,-1183990099,1732238541,-772313565,779733864,1443329286,606090334,1299190662,595842092,-187983004,-977477188,-920339883,1342921048,-1092007504,1060304584,-711589475,1335029916,-1724214305,-1055408920,911557862,-1537328097,405826505,-2134115038,1084204080,-663150805,-1309900475,256951653,-695339582,1708919588,-2030355135,-1449288415,-789228560,566343487,1832648647,-856217812,1788374697,1298399248,66700139,-879719521,-934293615,1731490771,1208797423,-931827488,1781156135,-980511,-1460871674,1504180029,176916386,-1857731441,-513098684,1677329016,1070720309,-1485897977,-29988266,1065094307,-1121791422,-1125487641,-1856738414,425051513,-782534001,-2119592657,-699767629,1352455767,-988911831,-1174666216,1511875131,-50256697,1674464288,-1022477829,461912854,-800184868,95452758,-1195803339,-1295752832,758307571,-861557163,-109102307,-84131678,-900256087,-1985795865,615531621,-1441251617,1957276454,-827140001,-1488248139,807724343,968575480,1489023922,-1296392920,107062542,484467232,-643093971,-347909649,1887177281,2027044049,-296510522,674361643,-1582856699,381042527,-1574207242,-794079393,-809464414,813527817,-2091832665,2136194612,-199231483,1658481962,-2039894389,-248908703,-98977873,-369081324,-1716326275,1276047422,-1332384930,-2027303839,1988576924,1084015198,1878728833,-1090182692,-2085607093,-157146100,607541732,127114867,516455412,-1041250467,-801089628,-1409813047,819365434,1140152320,-576218654,-215543255,76357550,-2082409737,1738289631,-477772842,-550996116,-1416014537,-556871905,2083427253,279184752,-1943001661,-1912588273,1135723797,2039065387,-1686038234,-598083194,-1470005702,-938263651,-347391491,1725543869,-980691311,-915603547,-237407322,-1261130833,1289065185,-459433201,-1130685271,156640964,114057801,-111189286,541150635,1595879820,588432581,-1566701155,-2066026020,540765767,129112396,-494412348,-237542547,-2124122017,1878739063,1441957305,-2076213803,-901458771,1842528240,326850889,-268855252,709365030,-267446812,-918420659,857332938,-1770151534,-112991711,1441280137,-1803928567,-124512243,-1325000672,526769525,-283747326,-1721667666,1076272849,-633832301,-679098048,-667284521,-522991854,257982011,-1449539181,-513594972,142476319,-1740532554,348079224,-445872761,1734943848,-212953586,1675781,-546546564,961119109,-1797197943,1297881747,1809417701,-1831070756,1261736342,223113475,2088415451,-2048839075,-1377416066,-1591537733); +/*FRC*/Random.twister.import_mti(86); void (makeScript(14)); +/*FRC*/count=744; tryItOut("\"use strict\"; m2 = new Map;"); +/*FRC*/Random.twister.import_mti(96); void (makeScript(14)); +/*FRC*/count=745; tryItOut("v2 = Infinity;"); +/*FRC*/Random.twister.import_mti(107); void (makeScript(14)); +/*FRC*/count=746; tryItOut("mathy1 = (function(stdlib, foreign, heap){ \"use asm\"; var Infinity = stdlib.Infinity;\n var ff = foreign.ff;\n var Float64ArrayView = new stdlib.Float64Array(heap);\n function f(d0, d1)\n {\n d0 = +d0;\n d1 = +d1;\n var i2 = 0;\n var i3 = 0;\n var i4 = 0;\n d0 = (Infinity);\n (Float64ArrayView[1]) = ((d0));\n {\n d0 = (288230376151711740.0);\n }\n return (((((0x163edd78)) ? ((0xf90ebb74) >= (0x20d3a3d8)) : (i3))-((0xffffffff) == (((i3)+(0x46af3416))>>>((i2)*0x89b4a)))))|0;\n }\n return f; })(this, {ff: /*wrap1*/(function(){ v0 = Infinity;return XPCNativeWrapper})()}, new ArrayBuffer(4096)); "); +/*FRC*/Random.twister.import_mti(295); void (makeScript(14)); +/*FRC*/count=747; tryItOut("\"use strict\"; L:switch((void version(170))) { case 9: print(x);x = x != eval, a, osnpoo, yrukkm, this.x;this.m1.delete(p1);break; case 4: /*bLoop*/for (yocndb = 0; yocndb < 16; ++yocndb) { if (yocndb % 3 == 0) { print(x); } else { Array.prototype.sort.call(this.a2, (function mcc_() { var qzmxrd = 0; return function() { ++qzmxrd; if (qzmxrd > 5) { dumpln('hit!'); try { v1.__proto__ = f1; } catch(e0) { } f2 = x; } else { dumpln('miss!'); a0 = Array.prototype.concat.apply(g2.a0, [a1, this.t0]); } };})(), f1, b1, t2); } } break; case 4: /*RXUB*/var r = this.o1.r1; var s = s1; print(s.search(r)); case ((timeout(1800))(Float64Array(), '' )): print(\"\\uB8A4\");\np2 + m2;\n }"); +/*FRC*/Random.twister.import_mta(397710010,1935131599,1893517259,1009462796,1570272767,108014632,-1059162703,-1468976100,1388627460,1534881183,-1075116562,-278527576,-453746893,-1143568077,1050000894,-1812939111,-1367179306,-1771827596,-1163052486,768859732,1484831506,172076147,952629162,-1524271422,-952699296,1366887143,638881148,206989706,1747339188,1715701522,1497102211,1860058499,-1243588058,885150966,-2121262021,260083841,444706108,1549529619,298671526,1175939227,525117856,-84095023,-27676581,490173198,-1586310156,-1922094417,-1738886271,303841835,1620260140,-724229704,-1524915189,1786890604,1445298533,772894225,-1386567130,-272891458,1433129829,-790391066,-198025397,-680138595,-126236360,293759426,1636762128,1889477696,424355280,2131864302,169870863,-1953580419,-2123583208,557308961,-1798798185,576745114,866886447,-1189483584,1216864573,1026350352,1513084381,1613940445,-227477647,959676728,1057624584,-812893934,-1803565138,-1290257932,-851891020,-1802572405,-1738216036,-2004095663,-278377772,790159814,897262002,1897632220,-390033624,-2037050053,111281774,-351996329,-990913188,953162122,63606798,-62400065,-404198635,-494632283,480178079,-1636744130,-1707749455,-1450107328,-814351386,-174882098,272906923,-430589336,505994321,460094766,-644541227,-676620360,1357646823,-1461497814,-1608922738,903457955,-1498302608,-1179956968,-286305050,-372930386,-1933585589,-1328780461,-267039472,1403939035,-50915628,1486150970,736324659,-1232829327,1981323050,-1639274649,1202723349,-1919409030,-28403322,102955938,343300662,-1199789797,953699253,1693456556,-1629143526,1249244992,405610689,1059627030,-959746854,-661493061,-1916859852,-541365327,1613183052,1836805504,-1584316495,100547013,344507523,-1743736459,1587673848,-1783734062,742762200,-1260883611,615140516,-595627736,-111382738,-1701736238,771050544,-2137791584,944606356,1408349311,940489128,-1826497128,1052316683,203859099,1540834056,161808077,-1776053867,1043416163,-1886210388,-2134949773,1703566805,687274339,-79694113,-886073148,-1066027030,1230286757,-1730225310,-1533940855,1319048190,1568929539,-1427911907,-820221961,-1839848779,-2021003671,-1228670515,-1330822067,-1535911400,-563968230,-529830041,-1128848944,217255503,567855529,-271705304,1433648436,913864714,-1109033631,-1590021697,-1047404629,-105795032,1350969858,25278259,172782263,1111153536,-617080158,-1578275890,1873183401,491916880,121712695,-949694404,679454899,2050665022,-401379203,-883797435,-1598276888,-1865372416,1521364877,1854146426,-1571113712,-393395541,-1482627786,557239550,196343103,-1845329720,-1530973278,-92208558,-870099662,-101599435,-1357348644,243094479,-2013838911,1044952553,702042216,271577717,164968681,262476428,1558157732,298113444,-514174775,-21281198,907624780,-1958657979,1516316934,-361338843,1163018698,1223625700,-1167276095,595409647,-137997856,-953606039,837341328,1183301618,-1415732668,1270439287,50881568,-390788407,-645970952,1734650581,-286964954,1772004665,1275624405,-114859076,849129817,-802394892,1724250139,2111718908,998705632,-1443618231,1010137303,-1762365684,-376497241,-1191541305,788510135,872743618,-1482405987,31557576,-1534883205,1875582613,1089986603,1282825201,1640197087,2021887268,-2052213191,-767497050,1507361251,-8801271,-782098621,632419100,-262463802,-379608414,-1566712196,-645155880,537397041,-2063992334,-937500201,799643808,824468735,387606772,-1665976752,-162516892,-395970584,-372356571,-230082557,1729068380,1742192011,65809673,2106351105,-2024927155,168787970,-1298905587,-749178808,-1092753227,457979114,-1377304341,616395047,-326656094,-620067544,-1412571956,1878762225,961969015,-2007778736,1349406248,-1619103985,-2036952935,1074989325,-667671498,1851480780,-1185481059,-1809280676,879514970,1972908488,2051158164,-2080225070,1653488456,-2003275206,-1172813238,287387298,-970747593,-984970089,-1627487534,-771185878,302637427,-1277334184,-1791704369,-2093937774,525808237,1660502904,-2041251900,-1117532366,1183128141,856296908,-1981272651,245944512,-935824938,-873434790,-101613051,1235623543,163636336,1988715561,1389907279,925073350,-1504639797,115062921,-1097825636,-1430411179,-2055553856,-1143537468,782183323,371463277,-130925663,1021193741,-510070055,-1487269546,-212633145,59161212,-1717829337,-2057893176,1104728820,-1587732487,-1652536865,-582151695,2016426497,-1403193467,283484542,2136401954,-1224268817,-1720655064,1421892446,-1736106605,1604370857,-1449405013,42917010,-187476391,1330382567,-712488094,-1304323842,-890598189,-457188255,-392423234,1549811164,1666925727,-1210205052,1778755131,51304186,-1964031899,-1752599136,-1625735326,782742897,-1847055960,-2015341456,-1865323573,1461550692,32722215,2056048881,-1954755048,-586912377,32366289,622183237,-1900867033,2111822835,1139010017,-1193973113,-326415770,1927400485,573251039,-1071970850,1797610834,-1338163826,-679706198,-1160783180,-1518490439,-1207720241,191750613,-290741412,2053807171,1518834631,-1752414477,-1995724809,822570209,-2061456322,1571198796,-923995569,1679117558,-739306586,1250436542,-354372681,-1652320809,2085410362,-1377064053,489215960,-1720127429,991819754,-222360427,-202447564,-950444773,1981328386,-1449662088,-437075380,-1954177489,-643824748,-1136959042,-977001575,-1300818676,-213608309,-1759482091,7512916,-1565440824,174540719,476664800,-1025988651,544578456,-1893853818,-980625130,1903895341,-1186839658,1013406701,-1757581272,843850269,-1107757594,-1130211563,-1047441793,-1461628870,-1479536516,-52605960,-1885719154,540330370,-1262836383,-930855825,1609033764,674983015,-717523090,1404906527,-1705908284,1151643190,1677987439,-1629874516,-1519807266,-1477476911,-619288669,118670638,-1452633863,-1915026136,-2118081230,1045424650,-148403628,-108883460,1757006715,-1943782514,-1073504611,-725078413,1397097058,852059543,941732113,-1843703996,1086068015,-1159208969,-60604764,-1879523897,-1648840687,959389863,1654817332,153800255,-1816543204,303054635,-249427205,-1579653974,1773504571,-787884160,-388802988,-1083673295,2084600719,-1851203541,204090812,890431237,-251272330,101944853,1131129631,-1106983217,-711930254,1429767299,-172257429,-1400827350,2038791197,1575914746,530525387,1352508945,-1260734586,1349596058,1225937555,-267345256,1946119296,-797581531,1064100025,-1325535696,-1657960401,-87510629,1845782363,1008276032,1853803486,93758644,-111528765,-1054319699,-1712942981,-391820880,-1256545802,-1250789390,-43113509,-611972060,1842394976,-1330858897,-534248191,2050315242,-1895380150,-97526796,-148195230,1873386826,263887150,2108587184,1261288217,-1423529300,-889169164,533124347,2054386071,-1518923300,-287028907,1711783371,-390290529,-304640729,731341915,-1810629650,-1620777012,425542580,-880764947,1286791266,-381326956,-77867379,1412941941,-681731545,-1815549280,1983209933,-464102844,339355753,1507179341,1727467319,-1885638357,195772413,-201693083,-1042556479,1110976159,1016031200,1664488272,-2095268195,1336403928,-812659458,-891741501,2028412468,-589134259,1782928410,156538319); +/*FRC*/Random.twister.import_mti(131); void (makeScript(14)); +/*FRC*/count=748; tryItOut("testMathyFunction(mathy3, /*MARR*/[ 'A' , x, objectEmulatingUndefined(), x, objectEmulatingUndefined(), 'A' , 'A' , x, x, objectEmulatingUndefined(), 'A' , x, objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), 'A' , objectEmulatingUndefined(), 'A' , x, x, 'A' , x, objectEmulatingUndefined(), 'A' , 'A' , x, 'A' , x, objectEmulatingUndefined(), 'A' , 'A' , objectEmulatingUndefined(), objectEmulatingUndefined(), x, objectEmulatingUndefined(), x, 'A' , objectEmulatingUndefined(), objectEmulatingUndefined()]); "); +/*FRC*/Random.twister.import_mti(239); void (makeScript(14)); +/*FRC*/count=749; tryItOut("g2.m0.delete(i0);"); +/*FRC*/Random.twister.import_mti(255); void (makeScript(14)); +/*FRC*/count=750; tryItOut("this.e2.delete(o2.h2);"); +/*FRC*/Random.twister.import_mti(271); void (makeScript(14)); +/*FRC*/count=751; tryItOut("\"use strict\"; f1 + '';"); +/*FRC*/Random.twister.import_mti(280); void (makeScript(14)); +/*FRC*/count=752; tryItOut("{ void 0; void gc('compartment'); }"); + diff --git a/implementation-contributed/javascriptcore/stress/regress-159883.js b/implementation-contributed/javascriptcore/stress/regress-159883.js new file mode 100644 index 0000000000..dfc0ab729f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-159883.js @@ -0,0 +1,5 @@ +// Regression test for 159883. This test should not crash or throw an exception. + +d = new Date(-0x80000000, 42); +if (d.toString() != "Invalid Date") + throw "Expected \"Invalid Date\", but got :\"" + d + "\""; diff --git a/implementation-contributed/javascriptcore/stress/regress-159954.js b/implementation-contributed/javascriptcore/stress/regress-159954.js new file mode 100644 index 0000000000..356375d975 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-159954.js @@ -0,0 +1,23 @@ +// Regression test for 159954. This test should not crash or throw an exception. + +function testRegExp(regexpExpression) +{ + try { + let result = eval(regexpExpression); + + throw "Expected \"" + regexpExpression + "\" to throw and it didn't"; + } catch (e) { + if (e != "SyntaxError: Invalid regular expression: pattern exceeds string length limits") + throw e; + return true; + } +} + +testRegExp("/a{2147483649,2147483650}a{2147483649,2147483650}/.exec('aaaa')"); +testRegExp("/a{2147483649,2147483650}a{2147483649,2147483650}/.exec('aa')"); +testRegExp("/(?:\1{2147483649,2147483650})+/.exec('123')"); +testRegExp("/([^]{2147483648,2147483651}(?:.){2})+?/.exec('xxx')"); +testRegExp("/(\u0004\W\u0f0b+?$[\xa7\t\t-\ue118\f]{2147483648,2147483648})+.+?/u.exec('testing')"); +testRegExp("/(.{2147483649,2147483652})+?/g.exec('xxx')"); +testRegExp("/(?:(?:[\D]{2147483649})+?.)*?/igmy.exec('123\\n123')"); +testRegExp("/(?:\1{2147483648,})+?/m.exec('xxx')"); diff --git a/implementation-contributed/javascriptcore/stress/regress-160329.js b/implementation-contributed/javascriptcore/stress/regress-160329.js new file mode 100644 index 0000000000..156b62d1ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-160329.js @@ -0,0 +1,17 @@ +// Regression test for 160329. This test should not crash or throw an exception. + +function narrow(x) { + return x << 24 >> 24; +} + +noInline(narrow); + +for (var i = 0; i < 1000000; i++) { + let expected = i << 24; + let got = narrow(i); + expected = expected >> 24; + + if (expected != got) + throw "FAILURE, expected:" + expected + ", got:" + got; +} + diff --git a/implementation-contributed/javascriptcore/stress/regress-160749.js b/implementation-contributed/javascriptcore/stress/regress-160749.js new file mode 100644 index 0000000000..9fcd7f7e67 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-160749.js @@ -0,0 +1,91 @@ +// Regression test for 160749. This test should not exit with an error or crash. +// Check that the Baseline JIT GetByValWithCacheId and PutByValWithCahcedId stubs properly handle exceptions. + +function testCachedGetByVal() +{ + o = { }; + o['a'] = 42; + + let result = 0; + let loopCount = 100000; + let interationToChange = 90000; + let expectedResult = 42 * interationToChange; + let exceptions = 0; + let expectedExceptions = loopCount - interationToChange; + + for (let i = 0; i < loopCount; i++) { + if (i == interationToChange) { + Object.defineProperty(o, "a", { + enumerable: true, + get: function() { throw "error"; return 100; } + }); + } + + for (let v in o) { + try { + result += o[v.toString()]; + } catch(e) { + if (e == "error") + exceptions++; + else + throw "Got wrong exception \"" + e + "\""; + } + } + } + + if (result != expectedResult) + throw "Expected a result of " + expectedResult + ", but got " + result; + if (exceptions != expectedExceptions) + throw "1 Expected " + expectedExceptions + " exceptions, but got " + exceptions; +} + +noDFG(testCachedGetByVal); + +function testCachedPutByVal() +{ + o = { }; + o['a'] = 0; + + let result = 0; + let loopCount = 100000; + let iterationToChange = 90000; + let exceptions = 0; + let expectedExceptions = loopCount - iterationToChange; + + for (let i = 0; i < loopCount; i++) { + if (i == iterationToChange) { + result = o.a; + Object.defineProperty(o, "_a", { + enumerable: false, + value: -1 + }); + Object.defineProperty(o, "a", { + enumerable: true, + set: function(v) { throw "error"; o._a = v; } + }); + } + + for (let v in o) { + try { + o[v.toString()] = i + 1; + } catch(e) { + if (e == "error") + exceptions++; + else + throw "Got wrong exception \"" + e + "\""; + } + } + } + + if (result != iterationToChange) + throw "Expected a result of " + result + ", but got " + o.a; + if (o._a != -1) + throw "Expected o._b to -1, but it is " + o._a; + if (exceptions != expectedExceptions) + throw "Expected " + expectedExceptions + " exceptions, but got " + exceptions; +} + +noDFG(testCachedPutByVal); + +testCachedGetByVal(); +testCachedPutByVal(); diff --git a/implementation-contributed/javascriptcore/stress/regress-161995.js b/implementation-contributed/javascriptcore/stress/regress-161995.js new file mode 100644 index 0000000000..604e9390cd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-161995.js @@ -0,0 +1,14 @@ +// Regression test for 161995. + +function testStatic() +{ + return /a/Z; +} + +try { + testStatic(); + throw "Expected a SyntaxEerror for bad RegExp flags, but didn't get one."; +} catch(e) { + if (e != "SyntaxError: Invalid regular expression: invalid flags") + throw "Incorrect exception for bad RegExp flags. Got: " + e; +} diff --git a/implementation-contributed/javascriptcore/stress/regress-163748.js b/implementation-contributed/javascriptcore/stress/regress-163748.js new file mode 100644 index 0000000000..807798af81 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-163748.js @@ -0,0 +1,24 @@ +function assert(cond, msg = "") { + if (!cond) + throw new Error(msg); +} +noInline(assert); + +function shouldThrowSyntaxError(str) { + var hadError = false; + try { + eval(str); + } catch (e) { + if (e instanceof SyntaxError) + hadError = true; + } + assert(hadError, "Did not throw syntax error"); +} +noInline(shouldThrowSyntaxError); + +shouldThrowSyntaxError("var f = new Function('}{')"); +shouldThrowSyntaxError("var f = new Function('}}{{')"); + +var GeneratorFunction = function*(){}.constructor; +shouldThrowSyntaxError("var f = new GeneratorFunction('}{')"); +shouldThrowSyntaxError("var f = new GeneratorFunction('}}{{')"); diff --git a/implementation-contributed/javascriptcore/stress/regress-164081.js b/implementation-contributed/javascriptcore/stress/regress-164081.js new file mode 100644 index 0000000000..96b15eda96 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-164081.js @@ -0,0 +1,34 @@ +//@ runFTLNoCJIT + +// Regression test for https://webkit.org/b/164081. +// This test passes if it does not crash nor throws an error. + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +var count = 10000; + +var g_arr = new Array(count); +for (var z = 0; z < count; z+=2) { + testcase(z); +} +function testcase(z) { + var visited = []; + + g_arr[z]= Function('\'use strict\''); + g_arr[z][0]=5; + try { + g_arr[z+1] = new Uint32Array(8); //can skip + g_arr[z+1][6] = 0x41414141; // can skip + g_arr[z+1][7] = 0x41414141; // can skip + visited.push("set_caller"); + g_arr[z].caller= 1; + } catch (e) { + visited.push("caught_exception"); + } + shouldEqual(visited, "set_caller,caught_exception"); +} + diff --git a/implementation-contributed/javascriptcore/stress/regress-166812.js b/implementation-contributed/javascriptcore/stress/regress-166812.js new file mode 100644 index 0000000000..d55ed9a114 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-166812.js @@ -0,0 +1,17 @@ +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +(function() { + var exception; + var x = new Uint32Array(0x10); + try { + x.set(x.__proto__, 0); + } catch (e) { + exception = e; + } + + shouldEqual(exception, "TypeError: Receiver should be a typed array view"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/regress-168546.js b/implementation-contributed/javascriptcore/stress/regress-168546.js new file mode 100644 index 0000000000..fce57236dd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-168546.js @@ -0,0 +1,14 @@ +// This test passes if it does not crash. +try { + (function () { + let a = { + get val() { + [...{a = 1.45}] = []; + a.val.x; + }, + }; + + a.val; + })(); +} catch (e) { +} diff --git a/implementation-contributed/javascriptcore/stress/regress-169783.js b/implementation-contributed/javascriptcore/stress/regress-169783.js new file mode 100644 index 0000000000..1555e91e4d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-169783.js @@ -0,0 +1,20 @@ +//@ skip + +function test(a) { + var x = [1337, ...a, ...a, ...a, ...a, ...a]; +} +noInline(test); + +function doTest(a, shouldThrow) { + var exception; + try { + test(a); + } catch (e) { + exception = e; + } + if (shouldThrow && exception != "Error: Out of memory") + throw("FAILED"); +} + +var a = new Array(0x40000); +doTest(a, true); diff --git a/implementation-contributed/javascriptcore/stress/regress-169941.js b/implementation-contributed/javascriptcore/stress/regress-169941.js new file mode 100644 index 0000000000..f42d8f011d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-169941.js @@ -0,0 +1,19 @@ +// This test should not crash. + +function gc() { + for (let i = 0; i < 0x10; i++) { + var a2 = new ArrayBuffer(0x1000000); + } +} + +Array.prototype.__defineGetter__(0x1000, () => 1); + +gc(); + +for (let i = 0; i < 0x100; i++) { + var a1 = new Array(0x100).fill(1234.5678); +} + +gc(); + +new Array(0x100).splice(0).toString(); diff --git a/implementation-contributed/javascriptcore/stress/regress-170412.js b/implementation-contributed/javascriptcore/stress/regress-170412.js new file mode 100644 index 0000000000..bf288b93fb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170412.js @@ -0,0 +1,8 @@ +// This test passes if it does not crash. + +arr = new Array; +Object.defineProperty(arr, 18, ({writable: true, configurable: true})); +for (var i = 0; i < 3; ++i) { + Array.prototype.push.apply(arr, ["", () => { }, {}]); + Array.prototype.sort.apply(arr, [edenGC, []]); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-170473.js b/implementation-contributed/javascriptcore/stress/regress-170473.js new file mode 100644 index 0000000000..aa9aaba8dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170473.js @@ -0,0 +1,15 @@ +//@ skip +var heap = new SharedArrayBuffer(4096); +var Uint8ArrayView = new Uint8Array(heap); + +function test(k) { + var d = new Float32Array(); + var c = d | 0; + var b = 1 % c; + var a = b | 0; + Uint8ArrayView[a] = 0; +} +noInline(test); + +for (var k = 0; k < 200; ++k) + test(k); diff --git a/implementation-contributed/javascriptcore/stress/regress-170661.js b/implementation-contributed/javascriptcore/stress/regress-170661.js new file mode 100644 index 0000000000..0ee4709104 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170661.js @@ -0,0 +1,18 @@ +function f() { + (function bar() { + eval('1'); + f(); + }()); + + throw 1; +} + +var exception; +try { + f(); +} catch (e) { + exception = e; +} + +if (exception != "RangeError: Maximum call stack size exceeded.") + throw("FAILED"); diff --git a/implementation-contributed/javascriptcore/stress/regress-170732.js b/implementation-contributed/javascriptcore/stress/regress-170732.js new file mode 100644 index 0000000000..b4474c26c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170732.js @@ -0,0 +1,4 @@ +//@ runDefault("--exception=SyntaxError") +async function f() { + await async()=>{} +} diff --git a/implementation-contributed/javascriptcore/stress/regress-170896-with-contiguous-shape-profile.js b/implementation-contributed/javascriptcore/stress/regress-170896-with-contiguous-shape-profile.js new file mode 100644 index 0000000000..77af04ada2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170896-with-contiguous-shape-profile.js @@ -0,0 +1,13 @@ +function test() { + let a = [,,,,,,,,,]; + return a.concat(); +} +noInline(test); + +test()[0] = {}; // Set the ArrayAllocationProfile to ContiguousShape. + +for (let i = 0; i < 20000; ++i) { + var result = test(); + if (result[0]) + throw result.toString(); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-170896-with-double-shape-profile.js b/implementation-contributed/javascriptcore/stress/regress-170896-with-double-shape-profile.js new file mode 100644 index 0000000000..abda98beef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170896-with-double-shape-profile.js @@ -0,0 +1,13 @@ +function test() { + let a = [,,,,,,,,,]; + return a.concat(); +} +noInline(test); + +test()[0] = 1.2345; // Set the ArrayAllocationProfile to DoubleShape. + +for (let i = 0; i < 20000; ++i) { + var result = test(); + if (result[0]) + throw result.toString(); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-170896-with-int32-shape-profile.js b/implementation-contributed/javascriptcore/stress/regress-170896-with-int32-shape-profile.js new file mode 100644 index 0000000000..e792bd1b4d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170896-with-int32-shape-profile.js @@ -0,0 +1,13 @@ +function test() { + let a = [,,,,,,,,,]; + return a.concat(); +} +noInline(test); + +test()[0] = 42; // Set the ArrayAllocationProfile to Int32Shape. + +for (let i = 0; i < 20000; ++i) { + var result = test(); + if (result[0]) + throw result.toString(); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-170973.js b/implementation-contributed/javascriptcore/stress/regress-170973.js new file mode 100644 index 0000000000..f3d5b005eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170973.js @@ -0,0 +1,16 @@ +// This test passes if it does not crash. + +function test(i0, i1) { + i0 = i0|0; + i1 = i1|0; + if (i1 & 1) + i1 = (((i0 ? i1 : i1)-i0) ? false : 0); +} +noInline(test); + +for (var k = 0; k < 200; ++k) { + if (k < 100) + test(0, 0x80000001); + else + test(0x800, 0x80000001); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-170989.js b/implementation-contributed/javascriptcore/stress/regress-170989.js new file mode 100644 index 0000000000..00367dce05 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170989.js @@ -0,0 +1,7 @@ +class C extends Array {} +var c = new C(); +c.push(2,4,6); +var result = c.slice(9,2); +if (result.length) + throw ("FAILED: expected 0, actual " + result.length); + diff --git a/implementation-contributed/javascriptcore/stress/regress-170990.js b/implementation-contributed/javascriptcore/stress/regress-170990.js new file mode 100644 index 0000000000..c7c457b632 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-170990.js @@ -0,0 +1,15 @@ +function getter(arr, operand, resultArr) { + resultArr[0] = arr[operand]; +} + +function test(resultArr, arr, getter) { + getter(arr, 0, resultArr); + getter(arr, 1, resultArr); + resultArr[0] == arr[1]; +} +noInline(run); + +var arr = new Uint32Array([0x80000000,1]); +var resultArr = []; +for (var i = 0; i < 10000; i++) + test(resultArr, arr, getter); diff --git a/implementation-contributed/javascriptcore/stress/regress-171079.js b/implementation-contributed/javascriptcore/stress/regress-171079.js new file mode 100644 index 0000000000..0f02070e89 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-171079.js @@ -0,0 +1,38 @@ +function assert(actual, expected) { + if (actual != expected) + throw("FAILED: actual " + actual + ", expected " + expected); +} + +Object.defineProperty(this, "t0", { + get: function() { + "use strict"; + return t2.subarray(4, 7); + } +}); + +t2 = new Uint16Array(); + +var exception; +function test() { + exception = void 0; + try { + return t0; + } catch (e) { + exception = e; + } +} + +for (var i = 0; i < 100; ++i) { + test(); + assert(exception, void 0); +} + +t2.__proto__ = { + subarray: 1 +}; + +test(); +assert(exception, "TypeError: t2.subarray is not a function. (In 't2.subarray(4, 7)', 't2.subarray' is 1)"); + +test(); +assert(exception, "TypeError: t2.subarray is not a function. (In 't2.subarray(4, 7)', 't2.subarray' is 1)"); diff --git a/implementation-contributed/javascriptcore/stress/regress-172346.js b/implementation-contributed/javascriptcore/stress/regress-172346.js new file mode 100644 index 0000000000..7c24948175 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-172346.js @@ -0,0 +1,16 @@ +function test(){ + var get = []; + var p = new Proxy(Function(), { get:function(){ return Proxy; }}); + ({}) instanceof p; +} + +var exception; +try { + test(); +} catch (e) { + exception = e; +} + +if (exception != "TypeError: calling Proxy constructor without new is invalid") + throw "FAILED"; + diff --git a/implementation-contributed/javascriptcore/stress/regress-172383.js b/implementation-contributed/javascriptcore/stress/regress-172383.js new file mode 100644 index 0000000000..fc3c032cdc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-172383.js @@ -0,0 +1,40 @@ +// This test should not crash. + +let x = undefined; + +function foo(w, a0, a1) { + var r0 = x % a0; + var r1 = w ^ a1; + + var r4 = 3 % 7; + + var r6 = w ^ 0; + var r7 = r4 / r4; + var r9 = x - r7; + a1 = 0 + r0; + + var r11 = 0 & a0; + var r12 = r4 * a1; + var r7 = r11 & a0; + + var r15 = r11 | r4; + var r16 = 0 & r1; + var r20 = 5 * a0; + + var r2 = 0 + r9; + var r26 = r11 | r15; + var r29 = r16 + 0; + var r29 = r28 * r1; + var r34 = w / r12; + + var r28 = 0 / r7; + var r64 = r20 + 0; + var r65 = 0 + r6; + + return a1; +} +noInline(foo); + +for (var i = 0; i < 1886; i++) + foo("q"); + diff --git a/implementation-contributed/javascriptcore/stress/regress-172548.patch b/implementation-contributed/javascriptcore/stress/regress-172548.patch new file mode 100644 index 0000000000..a2f7331850 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-172548.patch @@ -0,0 +1,43 @@ +//@ run("custom-noCJIT-noConcurrentGC-noGenGC-noDFG", "--useConcurrentJIT=false", "--useConcurrentGC=false", "--useGenerationalGC=false", "--useDFGJIT=false") + +// This test should not crash. + +(function() { + function foo(x, y) { + return (( ~ (((((Math.fround(0 % y) >= y) ) / ((Math.max(((Math.atan2(((Math.pow((-Number.MAX_VALUE >>> 0), (x | 0)) | 0) >>> 0), y) >>> 0) - ( + (( ! (0 | 0)) | 0))), Math.pow(Math.fround(((x | 0) ^ y)), ( ! ( + y)))) | 0) | 0)) | 0) | 0)) | 0); + }; + + var inputs = [null, NaN, (1/0), NaN, (1/0), arguments.callee, null, (1/0), arguments.callee, NaN, (1/0), arguments.callee, (1/0), arguments.callee, NaN, null, NaN, null, (1/0), NaN, arguments.callee, (1/0), NaN, null, arguments.callee, (1/0), NaN, NaN, NaN, NaN, NaN, arguments.callee, null, (1/0), NaN, null, null, (1/0), (1/0), NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, null, null, (1/0), NaN, null, null, arguments.callee, NaN, NaN, null, null, arguments.callee, null, NaN, (1/0), NaN, NaN, arguments.callee, NaN, arguments.callee, null, NaN, NaN, null, arguments.callee, NaN, null, (1/0), NaN, arguments.callee, null, null, NaN, null, NaN, arguments.callee, arguments.callee, arguments.callee, arguments.callee, null, arguments.callee, (1/0), (1/0), (1/0), (1/0), (1/0), NaN, (1/0), arguments.callee, NaN, (1/0)]; + + for (var j = 0; j < inputs.length; ++j) { + for (var k = 0; k < inputs.length; ++k) { + foo(inputs[k], inputs[k]); + } + } + +})(); + +Math.ceil = "\uEB0D"; + +m2 = new Map; +m2.toSource = (function() { }); + +m1 = new Map; +m2.toString(); + +o2 = m1.__proto__; +m2 = new Map; + +test = function() { + Math.log1p(/x/g), Math.log1p(/x/g), Math.ceil(0x100000001); +}; + +for (var i = 0; i < 33000; i++) { + try { + test(); + } catch (e) { + } +} + +o2.g0 = this; +o2.h1 = {}; diff --git a/implementation-contributed/javascriptcore/stress/regress-173035.js b/implementation-contributed/javascriptcore/stress/regress-173035.js new file mode 100644 index 0000000000..c462f0c8c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-173035.js @@ -0,0 +1,6 @@ +//@ skip if ($hostOS != "" || $architecture != "x86-64") + +var a = []; +for (var i=0; i<0x04001000; i++) a.push(i+0.1); +a.length = 0x20000000; +a.slice(0x1fffffff,0x20000000); diff --git a/implementation-contributed/javascriptcore/stress/regress-173053.js b/implementation-contributed/javascriptcore/stress/regress-173053.js new file mode 100644 index 0000000000..2dae670fb2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-173053.js @@ -0,0 +1,19 @@ +var exception; + +try { + eval("'\\\r\n'"); +} catch (e) { + exception = e; +} + +if (exception) + throw "FAILED: \\r\\n should be handled as a line terminator"; + +try { + eval("'\\\n\r'"); +} catch (e) { + exception = e; +} + +if (exception != "SyntaxError: Unexpected EOF") + throw "FAILED: \\n\\r should NOT be handled as a line terminator. Expected exception: 'SyntaxError: Unexpected EOF', actual: '" + exception + "'"; diff --git a/implementation-contributed/javascriptcore/stress/regress-173321.js b/implementation-contributed/javascriptcore/stress/regress-173321.js new file mode 100644 index 0000000000..75ca1ae30c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-173321.js @@ -0,0 +1,56 @@ +var checks = 0; + +function shouldBe(o, testObj) +{ + checks = checks + 1; + + if (o.a != testObj.a) + throw "Check #" + checks + " o.a should be " + testObj.a + " , is " + o.a; + + if (o.b != testObj.b) + throw "Check #" + checks + " o.b should be " + testObj.b + " , is " + o.b; + + if (o.c != testObj.c) + throw "Check #" + checks + " o.c should be " + testObj.c + " , is " + o.c; + + if (o.p != testObj.p) + throw "Check #" + checks + " o.p should be " + testObj.p + " , is " + o.p; + + if (o.x != testObj.x) + throw "Check #" + checks + " o.x should be " + testObj.x + " , is " + o.x; + + if (o.y != testObj.y) + throw "Check #" + checks + " o.y should be " + testObj.y + " , is " + o.y; +} + +var testObjInitial = { a: 0, b: 1, c: 2, p: 100, x: 10, y: 11 }; +var testObjAfterReadOnlyProperty = { a: 101, b: 1, c: 2, p: 100, x: 10, y: 11 }; + +var SimpleObject = function () { + this.a = 0; + this.b = 1; + this.c = 2; +} + +var proto = { p: 100 }; + +SimpleObject.prototype = proto; + +var test = function () { + var o = new SimpleObject(); + o.x = 10; + o.y = 11; + return o; +} + +shouldBe(test(), testObjInitial); +shouldBe(test(), testObjInitial); +shouldBe(test(), testObjInitial); + +// Change the prototype chain by making "a" read-only. +Object.defineProperty(proto, "a", { value: 101, writable: false }); + +// Run a bunch of times to tier up. +for (var i = 0; i < 10000; i++) + shouldBe(test(), testObjAfterReadOnlyProperty); + diff --git a/implementation-contributed/javascriptcore/stress/regress-174044.js b/implementation-contributed/javascriptcore/stress/regress-174044.js new file mode 100644 index 0000000000..420eeab6e4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-174044.js @@ -0,0 +1,37 @@ +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=174044. This test should not throw or crash. + +function test1() +{ + let expected = ["\na", "\na", "\na", "\n"]; + + let str = "\na\na\na\n"; + let re = new RegExp(".*\\s.*", "g"); + + let match = str.match(re); + + if (match.length != expected.length) + throw "Expected match.length of " + expected.length + ", got " + match.length; + + for (let i = 0; i < expected.length; i++) { + if (match[i] != expected[i]) + throw "Expected match[" + i + "] to be \"" + expected[i] + "\", got \"" + match[i] + "\""; + } +} + +function test2() +{ + let result = undefined; + + let re = new RegExp(".*\\s.*", "g"); + let str = "\na\n"; + result = str.replace(re,'x'); + + if (result != "xx") + throw "Expected result of \"xx\", got \"" + result + "\""; +} + +for (let i = 0; i < 5000; i++) + test1(); + +for (let i = 0; i < 5000; i++) + test2(); diff --git a/implementation-contributed/javascriptcore/stress/regress-174948.js b/implementation-contributed/javascriptcore/stress/regress-174948.js new file mode 100644 index 0000000000..acc0dd35e0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-174948.js @@ -0,0 +1,5 @@ ++new function() {}; +new function() {}; +edenGC(); +(function() {}).prototype[0] = 0; + diff --git a/implementation-contributed/javascriptcore/stress/regress-176485.js b/implementation-contributed/javascriptcore/stress/regress-176485.js new file mode 100644 index 0000000000..20fe843156 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-176485.js @@ -0,0 +1,11 @@ +var exception; +try { + a2 = {};//some method ok//what ever object//Date() + Object.defineProperty(a2, "length",{get: Int32Array});//Int32Array here wrong,need a function + new Int32Array(this.a2); +} catch (e) { + exception = e; +} + +if (exception != "TypeError: calling Int32Array constructor without new is invalid") + throw "Exception not thrown"; diff --git a/implementation-contributed/javascriptcore/stress/regress-177423.js b/implementation-contributed/javascriptcore/stress/regress-177423.js new file mode 100644 index 0000000000..ae64f36b40 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-177423.js @@ -0,0 +1,14 @@ +// Regression test for bug 177423 +let r1 = /\k", "u"); + didThrow = false; +} catch(e) { + didThrow = true; +} + +if (!didThrow) + throw("Trying to create a named capture reference that starts with a number should Throw"); diff --git a/implementation-contributed/javascriptcore/stress/regress-177570.js b/implementation-contributed/javascriptcore/stress/regress-177570.js new file mode 100644 index 0000000000..70c8e56ed2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-177570.js @@ -0,0 +1,4 @@ +// Regression test for bug 177570 + +if (/(Q)+|(\S)+Z/.test("Z ")) + throw "/(Q)+|(\S)+Z/.test(\"Z \") should fail, but actually succeeds"; diff --git a/implementation-contributed/javascriptcore/stress/regress-177584.js b/implementation-contributed/javascriptcore/stress/regress-177584.js new file mode 100644 index 0000000000..990dca75f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-177584.js @@ -0,0 +1,18 @@ +function assertEqual(actual, expected) { + if (actual != expected) + throw "Failed: actual: " + actual + ", expected: " + expected; +} + +var a0 = [,,,,,,,,,,,,,]; + +Array.prototype.constructor = { + [Symbol.species]: function() { + return a0; + } +} + +var a1 = [1,2,3,4]; +var a2 = a1.concat(a0); + +assertEqual(a0, a2); +assertEqual(a0, "1,2,3,4,1,2,3,4,1,2,3,4,1,2,3,4,1"); diff --git a/implementation-contributed/javascriptcore/stress/regress-177600.js b/implementation-contributed/javascriptcore/stress/regress-177600.js new file mode 100644 index 0000000000..9590c524f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-177600.js @@ -0,0 +1,5 @@ +// This test passes if it does not crash. + +var regexp5 = new RegExp(/\t%%/); +Object.defineProperty(regexp5, "lastIndex" ,{value:"\w?\B", writable:false}); +Object.seal(regexp5); diff --git a/implementation-contributed/javascriptcore/stress/regress-178385.js b/implementation-contributed/javascriptcore/stress/regress-178385.js new file mode 100644 index 0000000000..10a20483a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-178385.js @@ -0,0 +1,16 @@ +//@ skip if $hostOS == "windows" or $memoryLimited +// FIXME: unskip this test when https://bugs.webkit.org/show_bug.cgi?id=179298 is fixed. + +var exception; +try { + var str0 = new String('@hBg'); + var collat3 = new Intl.Collator(); + str10 = str0.padEnd(0x7FFFFFFC, 1); + Object.defineProperty(collat3, Symbol.toStringTag, { value: str10 }); + collat3.toLocaleString(); +} catch (e) { + exception = e; +} + +if (exception != "Error: Out of memory") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-178386.js b/implementation-contributed/javascriptcore/stress/regress-178386.js new file mode 100644 index 0000000000..3c66e09c4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-178386.js @@ -0,0 +1,12 @@ +var str1 = String.fromCharCode(136, 115, 29, 20, 15, 155, 81); +str3 = str1.padEnd(0x7FFFFFFC, '123'); + +var exception; +try { + JSON.stringify(str3); +} catch (e) { + exception = e; +} + +if (exception != "Error: Out of memory") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-178420.js b/implementation-contributed/javascriptcore/stress/regress-178420.js new file mode 100644 index 0000000000..5d585442b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-178420.js @@ -0,0 +1,17 @@ +// This test passes if it does not crash. + +var arr0 = [42]; +var arr4 = [,,,,,,,,,,,,,,,,,,,,,,,,]; + +new Array(10000).map((function() { + arr4[-35] = 1.1; +}), this); + +arr0[0] = []; +gc(); + +Array.prototype.__proto__ = {}; +gc(); + +for(var i = 0; i < 65536; i++) + arr0['a'+i] = 1.1; diff --git a/implementation-contributed/javascriptcore/stress/regress-178890.js b/implementation-contributed/javascriptcore/stress/regress-178890.js new file mode 100644 index 0000000000..78b566fd86 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-178890.js @@ -0,0 +1,4 @@ +// Regression test for bug 178890 + +if (!/:(?:\w)+\(([']?)((?:\([^\)]+\)|[^\(\)]*){1,2})\1\)/.test(":not('.hs-processed')")) + throw "/:(?:\w)+\(([']?)((?:\([^\)]+\)|[^\(\)]*){1,2})\1\)/.test(\":not('.hs-processed')\") should succeed, but actually fails"; diff --git a/implementation-contributed/javascriptcore/stress/regress-179140.js b/implementation-contributed/javascriptcore/stress/regress-179140.js new file mode 100644 index 0000000000..7b77821c2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-179140.js @@ -0,0 +1,38 @@ +// Regression test for bug 179140. + +function testWithoutFTL() +{ + g=() => 0 + f=(a) => g.apply(0,a) + + noFTL(f); + + for(i=1e6;i--;) + f([]) + + try { + f({length:1e10}) + } catch(e) { + if (!(e instanceof RangeError)) + throw "Expected RangeError due to stack overflow"; + } +} + +function testWithFTL() +{ + g=() => 0 + f=(a) => g.apply(0,a) + + for(i=1e6;i--;) + f([]) + + try { + f({length:1e10}) + } catch(e) { + if (!(e instanceof RangeError)) + throw "Expected RangeError due to stack overflow"; + } +} + +testWithoutFTL(); +testWithFTL(); diff --git a/implementation-contributed/javascriptcore/stress/regress-179185.js b/implementation-contributed/javascriptcore/stress/regress-179185.js new file mode 100644 index 0000000000..be84a3d1b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-179185.js @@ -0,0 +1,3 @@ +// This test passes if it does not fail assertions on a debug build. +str = "Hello There Quick Brown Fox"; +str.replace(/(((el)|(ui))|((Br)|(Fo)))/g, () => { }); diff --git a/implementation-contributed/javascriptcore/stress/regress-179355.js b/implementation-contributed/javascriptcore/stress/regress-179355.js new file mode 100644 index 0000000000..bde91a030d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-179355.js @@ -0,0 +1,25 @@ +var arr0 = [1,2,3,4]; +var arr1 = new Array(1000); + +Array.prototype.__defineGetter__(1, function() { + [].concat(arr1); //generate to invalid JIT code here? +}); + +Array.prototype.__defineGetter__(Symbol.isConcatSpreadable, (function() { + for(var i=0;i<10000;i++) { + if(i==0) + arr1[i]; + this.x = 1.1; + arr1.legnth = 1; + } +})); + +var exception; +try { + arr1[1].toString(); +} catch (e) { + exception = e; +} + +if (exception != "RangeError: Maximum call stack size exceeded.") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-179562.js b/implementation-contributed/javascriptcore/stress/regress-179562.js new file mode 100644 index 0000000000..287e0ed6f0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-179562.js @@ -0,0 +1,33 @@ +//@ runFTLNoCJIT("--maxPerThreadStackUsage=400000") + +function runNearStackLimit(f) { + function t() { + try { + return t(); + } catch (e) { + return f(); + } + } + return t() +} + +function foo(a, b) { + return [{ + name: b + "" + a + }]; +} + +var exception; +try { + __v_25012 = [].concat( + foo(1, []), + runNearStackLimit(() => { + return foo("bla", Symbol.search); + }) + ); +} catch (e) { + exception = e; +} + +if (exception != "TypeError: Cannot convert a symbol to a string") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-179619.js b/implementation-contributed/javascriptcore/stress/regress-179619.js new file mode 100644 index 0000000000..78f1d4600e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-179619.js @@ -0,0 +1,67 @@ +//@ runDefault + +var createBuiltin = $vm.createBuiltin; +var loadGetterFromGetterSetter = $vm.loadGetterFromGetterSetter; + +var exception; +var getter; + +try { + getter = loadGetterFromGetterSetter(); +} catch (e) { + exception = e; +} +if (exception != "TypeError: Invalid use of loadGetterFromGetterSetter test function: argument is not a GetterSetter") + throw "FAILED"; +if (getter) + throw "FAILED: unexpected result"; +exception = undefined; + +try { + getter = loadGetterFromGetterSetter(undefined); +} catch (e) { + exception = e; +} +if (exception != "TypeError: Invalid use of loadGetterFromGetterSetter test function: argument is not a GetterSetter") + throw "FAILED"; +if (getter) + throw "FAILED: unexpected result"; +exception = undefined; + +function tryGetByIdText(propertyName) { return `(function (base) { return @tryGetById(base, '${propertyName}'); })`; } +let getSetterGetter = createBuiltin(tryGetByIdText("bar")); + +try { + noGetterSetter = { }; + getter = loadGetterFromGetterSetter(getSetterGetter(noGetterSetter, "bar")); +} catch (e) { + exception = e; +} +if (exception != "TypeError: Invalid use of loadGetterFromGetterSetter test function: argument is not a GetterSetter") + throw "FAILED"; +if (getter) + throw "FAILED: unexpected result"; +exception = undefined; + +try { + hasGetter = { get bar() { return 22; } }; + getter = loadGetterFromGetterSetter(getSetterGetter(hasGetter, "bar")); +} catch (e) { + exception = e; +} +if (exception) + throw "FAILED: unexpected exception: " + exception; +if (!getter) + throw "FAILED: unable to get getter"; + +try { + // When a getter is not specified, a default getter should be assigned as long as there's also a setter. + hasSetter = { set bar(x) { return 22; } }; + getter = loadGetterFromGetterSetter(getSetterGetter(hasSetter, "bar")); +} catch (e) { + exception = e; +} +if (exception) + throw "FAILED: unexpected exception: " + exception; +if (!getter) + throw "FAILED: unexpected result"; diff --git a/implementation-contributed/javascriptcore/stress/regress-179634.js b/implementation-contributed/javascriptcore/stress/regress-179634.js new file mode 100644 index 0000000000..3d46271035 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-179634.js @@ -0,0 +1,23 @@ +function foo() { + return { + get: function () { }, + set: Object, + }; +} + +var exception; +try { + Object.defineProperties({}, { + 2: foo(), + 0: foo(), + 1: foo(), + ' ': foo(), + 9: foo(), + B: 'B', + }); +} catch (e) { + exception = e; +} + +if (exception != "TypeError: Property description must be an object.") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-180219.js b/implementation-contributed/javascriptcore/stress/regress-180219.js new file mode 100644 index 0000000000..08ebb5b5cf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-180219.js @@ -0,0 +1,3 @@ +//@ runDefault +gc(); +flashHeapAccess({}); diff --git a/implementation-contributed/javascriptcore/stress/regress-180761.js b/implementation-contributed/javascriptcore/stress/regress-180761.js new file mode 100644 index 0000000000..ea82dd3766 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-180761.js @@ -0,0 +1,6 @@ +//@ runDefault + +// Regression test for bug 180761. This test should not crash. + +if (/(?:(?: |a)|\.a)* a*/.exec("/a.aaa") !== null) + throw "Expected /(?:(?: |a)|\.a)* a*/.exec(\"/a.aaa\") to not match"; diff --git a/implementation-contributed/javascriptcore/stress/regress-181388.js b/implementation-contributed/javascriptcore/stress/regress-181388.js new file mode 100644 index 0000000000..e5f6b4e0dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-181388.js @@ -0,0 +1,71 @@ +function assert(x) { + if (!x) + throw "FAIL"; +} + +(function() { + var trace = []; + + var foo = { + value: 5, + get bar() { + trace.push("get"); + return this.value; + }, + set bar(x) { + throw "Should not be reached"; + }, + set bar(x) { + trace.push("set2"); + this.value = x + 10000; + return this.value; + } + } + + assert(foo.value == 5); + assert(trace == ""); + assert(foo.bar == 5); + assert(trace == "get"); + + foo.bar = 20; + assert(trace == "get,set2"); + + assert(foo.value == 10020); + assert(trace == "get,set2"); + assert(foo.bar == 10020); + assert(trace == "get,set2,get"); +})(); + +(function() { + var trace = []; + + var foo = { + value: 5, + set bar(x) { + trace.push("set"); + this.value = x; + return this.value; + }, + get bar() { + throw "Should not be reached"; + }, + get bar() { + trace.push("get2"); + this.value += 10000; + return this.value; + }, + } + + assert(foo.value == 5); + assert(trace == ""); + assert(foo.bar == 10005); + assert(trace == "get2"); + + foo.bar = 20; + assert(trace == "get2,set"); + + assert(foo.value == 20); + assert(trace == "get2,set"); + assert(foo.bar == 10020); + assert(trace == "get2,set,get2"); +})(); diff --git a/implementation-contributed/javascriptcore/stress/regress-182419.js b/implementation-contributed/javascriptcore/stress/regress-182419.js new file mode 100644 index 0000000000..5b178dc86a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-182419.js @@ -0,0 +1,28 @@ +function assertEqual(actual, expected) { + if (actual != expected) + throw "FAILED: expect " + expected + ", actual " + actual; +} + +function test(index1, index2) { + function baz(a, b, c, ...args) { + return [args.length, args[index1], args[index2]]; + } + function jaz(...args) { + return baz.apply(null, args); + } + noInline(jaz); + + function check() { + let [length, a, b] = jaz(); + assertEqual(length, 0); + assertEqual(a, undefined); + assertEqual(b, undefined); + } + + for (let i = 0; i < 20000; i++) { + check(); + } +} + +test(0, 1); +test(0x7fffffff, 0); diff --git a/implementation-contributed/javascriptcore/stress/regress-185786.js b/implementation-contributed/javascriptcore/stress/regress-185786.js new file mode 100644 index 0000000000..f822e28389 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-185786.js @@ -0,0 +1,22 @@ +function foo() { + return new Proxy({}, + new Proxy({}, { + get: function () { + throw "expected exception"; + } + }) + ); +} + +var a = foo(); +var b = Object.create(a); + +var exception; +try { + for (var v in b) { } +} catch (e) { + exception = e; +} + +if (exception != "expected exception") + throw "FAIL"; diff --git a/implementation-contributed/javascriptcore/stress/regress-185888.js b/implementation-contributed/javascriptcore/stress/regress-185888.js new file mode 100644 index 0000000000..7f8570caab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-185888.js @@ -0,0 +1,11 @@ +//@skip if $memoryLimited +var exception; +try { + const str = "a".padStart(0x80000000 - 1); + new Date(str); +} catch (e) { + exception = e; +} + +if (exception != "Error: Out of memory") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-185896.js b/implementation-contributed/javascriptcore/stress/regress-185896.js new file mode 100644 index 0000000000..7742ee794b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-185896.js @@ -0,0 +1,14 @@ +var exception; +function* items() { + yield { }; + yield* 42; +} + +try { + for (let i of items()) { } +} catch (e) { + exception = e; +} + +if (exception != "TypeError: undefined is not a function (near '...yield* 42...')") + throw FAILED; diff --git a/implementation-contributed/javascriptcore/stress/regress-185995.js b/implementation-contributed/javascriptcore/stress/regress-185995.js new file mode 100644 index 0000000000..e7b14bea45 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-185995.js @@ -0,0 +1,13 @@ +(function() { + var exception; + try { + var list = { 'a' : 5 }; + for(const { x = x } in list) + x(); + } catch (e) { + exception = e; + } + + if (exception != "ReferenceError: Cannot access uninitialized variable.") + throw "FAILED"; +})(); diff --git a/implementation-contributed/javascriptcore/stress/regress-186943.js b/implementation-contributed/javascriptcore/stress/regress-186943.js new file mode 100644 index 0000000000..353841d3cd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-186943.js @@ -0,0 +1,5 @@ +// This test should not crash. +x = Reflect; +delete this.Reflect; + +for (var i = 0; i < 10000; ++i) { } diff --git a/implementation-contributed/javascriptcore/stress/regress-187006.js b/implementation-contributed/javascriptcore/stress/regress-187006.js new file mode 100644 index 0000000000..91098d8df4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-187006.js @@ -0,0 +1,16 @@ +Object.defineProperty(Array.prototype, '0', { + get() { }, + set() { throw new Error(); } +}); + +var __v_7772 = "GGCCGGGTAAAGTGGCTCACGCCTGTAATCCCAGCACTTTACCCCCCGAGGCGGGCGGA"; +var exception; + +try { + __v_7772.match(/[cgt]gggtaaa|tttaccc[acg]/ig); +} catch (e) { + exception = e; +} + +if (exception != "Error") + throw "FAILED"; diff --git a/implementation-contributed/javascriptcore/stress/regress-187010.js b/implementation-contributed/javascriptcore/stress/regress-187010.js new file mode 100644 index 0000000000..ec5d642112 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-187010.js @@ -0,0 +1,7 @@ +// This test should not crash. +var proto = Array.prototype; +class Test extends Array {} +new Test( 8, 9); + +Object.defineProperty(proto, 324800, { }); +new Test( 8, 9); diff --git a/implementation-contributed/javascriptcore/stress/regress-187060.js b/implementation-contributed/javascriptcore/stress/regress-187060.js new file mode 100644 index 0000000000..e4a820cdb1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-187060.js @@ -0,0 +1,9 @@ +// This test should not crash. + +for (var i = 0; i < 10000; i++) { + var arr = []; + arr.constructor = { + [Symbol.species]: function () { return ['unmodifiable']; } + } + arr.concat([1]); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-187074.js b/implementation-contributed/javascriptcore/stress/regress-187074.js new file mode 100644 index 0000000000..78763e166a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-187074.js @@ -0,0 +1,20 @@ +// This test should not crash. +var done = false; + +function runNearStackLimit(f) { + function t() { + try { + return t(); + } catch (e) { + if (!done) + return f(); + } + } + return t() +} + +runNearStackLimit(() => { + done = true; + eval("({ __proto__ : [], __proto__: {} })") +}); + diff --git a/implementation-contributed/javascriptcore/stress/regress-187091.js b/implementation-contributed/javascriptcore/stress/regress-187091.js new file mode 100644 index 0000000000..ac819f7e3e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-187091.js @@ -0,0 +1,20 @@ +// This test should not crash. + +function foo(x) { + x.a0 = 0; + Object.defineProperty(x, "a0", { value: 42 }); + x.a6 = 6; +} +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var x = { } + x.a1 = 1; + x.a2 = 2; + x.a3 = 3; + x.a4 = 4; + x.a7 = 7; + x.a5 = 5; + + foo(x); +} diff --git a/implementation-contributed/javascriptcore/stress/regress-187211.js b/implementation-contributed/javascriptcore/stress/regress-187211.js new file mode 100644 index 0000000000..ebf002298b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/regress-187211.js @@ -0,0 +1,80 @@ +function assert(successCondition) { + if (!successCondition) { + $vm.print("FAILED at:"); + $vm.dumpStack(); + throw "FAIL"; + } +} + +function testNonStrict() { + let foo = function () { } + let bar = function () { } + let arrow = () => { } + let arrow2 = () => { } + let native = $vm.dataLog; + let native2 = $vm.print; + + // This test relies on invoking hasOwnProperty on a builtin first before invoking + // it on a regular function. So, the following order is important here. + assert(isNaN.hasOwnProperty("prototype") == false); + assert(foo.hasOwnProperty("prototype") == true); + assert(arrow.hasOwnProperty("prototype") == false); + assert(native.hasOwnProperty("prototype") == false); + + assert(isFinite.hasOwnProperty("prototype") == false); + assert(bar.hasOwnProperty("prototype") == true); + assert(arrow2.hasOwnProperty("prototype") == false); + assert(native2.hasOwnProperty("prototype") == false); + + // Repeat to exercise HasOwnPropertyCache. + assert(isNaN.hasOwnProperty("prototype") == false); + assert(foo.hasOwnProperty("prototype") == true); + assert(arrow.hasOwnProperty("prototype") == false); + assert(native.hasOwnProperty("prototype") == false); + + assert(isFinite.hasOwnProperty("prototype") == false); + assert(bar.hasOwnProperty("prototype") == true); + assert(arrow2.hasOwnProperty("prototype") == false); + assert(native2.hasOwnProperty("prototype") == false); +} +noInline(testNonStrict); + +function testStrict() { + "use strict"; + + let foo = function () { } + let bar = function () { } + let arrow = () => { } + let arrow2 = () => { } + let native = $vm.dataLog; + let native2 = $vm.print; + + // This test relies on invoking hasOwnProperty on a builtin first before invoking + // it on a regular function. So, the following order is important here. + assert(isNaN.hasOwnProperty("prototype") == false); + assert(foo.hasOwnProperty("prototype") == true); + assert(arrow.hasOwnProperty("prototype") == false); + assert(native.hasOwnProperty("prototype") == false); + + assert(isFinite.hasOwnProperty("prototype") == false); + assert(bar.hasOwnProperty("prototype") == true); + assert(arrow2.hasOwnProperty("prototype") == false); + assert(native2.hasOwnProperty("prototype") == false); + + // Repeat to exercise HasOwnPropertyCache. + assert(isNaN.hasOwnProperty("prototype") == false); + assert(foo.hasOwnProperty("prototype") == true); + assert(arrow.hasOwnProperty("prototype") == false); + assert(native.hasOwnProperty("prototype") == false); + + assert(isFinite.hasOwnProperty("prototype") == false); + assert(bar.hasOwnProperty("prototype") == true); + assert(arrow2.hasOwnProperty("prototype") == false); + assert(native2.hasOwnProperty("prototype") == false); +} +noInline(testStrict); + +for (var i = 0; i < 10000; ++i) { + testNonStrict(); + testStrict(); +} diff --git a/implementation-contributed/javascriptcore/stress/relaxed-line-terminators-in-string.js b/implementation-contributed/javascriptcore/stress/relaxed-line-terminators-in-string.js new file mode 100644 index 0000000000..c675ac8694 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/relaxed-line-terminators-in-string.js @@ -0,0 +1,14 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(eval("'\u2028Japanese'").charCodeAt(0), 0x2028); +shouldBe(eval("'\u2029Japanese'").charCodeAt(0), 0x2029); +shouldBe(eval("'\u2028日本語'").charCodeAt(0), 0x2028); +shouldBe(eval("'\u2029日本語'").charCodeAt(0), 0x2029); + +shouldBe(eval("'\u2028Japanese' + 'hello' + 'world'").charCodeAt(0), 0x2028); +shouldBe(eval("'\u2029Japanese' + 'hello' + 'world'").charCodeAt(0), 0x2029); +shouldBe(eval("'\u2028日本語' + 'hello' + 'world'").charCodeAt(0), 0x2028); +shouldBe(eval("'\u2029日本語' + 'hello' + 'world'").charCodeAt(0), 0x2029); diff --git a/implementation-contributed/javascriptcore/stress/remove-phantom-after-setlocal.js b/implementation-contributed/javascriptcore/stress/remove-phantom-after-setlocal.js new file mode 100644 index 0000000000..3b792412b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/remove-phantom-after-setlocal.js @@ -0,0 +1,18 @@ +var constant = {}; + +function foo(o) { + var v = o.f; + return v === constant; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo({f:null}); + if (result !== false) + throw "Error: bogus result in loop"; +} + +var result = foo({f:constant}); +if (result !== true) + throw "Error: bogus result at end"; diff --git a/implementation-contributed/javascriptcore/stress/repeat-put-to-scope-global-with-same-value-watchpoint-invalidate.js b/implementation-contributed/javascriptcore/stress/repeat-put-to-scope-global-with-same-value-watchpoint-invalidate.js new file mode 100644 index 0000000000..fce955b366 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/repeat-put-to-scope-global-with-same-value-watchpoint-invalidate.js @@ -0,0 +1,23 @@ +function foo(v) { + global = v; +} + +function bar() { + return global; +} + +noInline(foo); +noInline(bar); + +var value = 42; +for (var i = 0; i < 10; ++i) + foo(value); +var n = 100000; +var m = 100; +for (var i = 0; i < n; ++i) { + if (i == n - m) + foo(value = 53); + var result = bar(); + if (result != value) + throw "Error: on iteration " + i + " got: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/repeated-arity-check-fail.js b/implementation-contributed/javascriptcore/stress/repeated-arity-check-fail.js new file mode 100644 index 0000000000..da4498e011 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/repeated-arity-check-fail.js @@ -0,0 +1,8 @@ +function bar(a,b,c,d,e,f,g,h,i,j,k) { +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) + bar(); + diff --git a/implementation-contributed/javascriptcore/stress/repeated-put-by-id-reallocating-transition.js b/implementation-contributed/javascriptcore/stress/repeated-put-by-id-reallocating-transition.js new file mode 100644 index 0000000000..e7b8b9a0f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/repeated-put-by-id-reallocating-transition.js @@ -0,0 +1,87 @@ +function foo(o) { + o.a = 0 + o.b = 1 + o.c = 2 + o.d = 3 + o.e = 4 + o.f = 5 + o.g = 6 + o.h = 7 + o.i = 8 + o.j = 9 + o.k = 10 + o.l = 11 + o.m = 12 + o.n = 13 + o.o = 14 + o.p = 15 + o.q = 16 + o.r = 17 + o.s = 18 + o.t = 19 + o.u = 20 + o.v = 21 + o.w = 22 + o.x = 23 + o.y = 24 + o.z = 25 +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var o = {}; + foo(o); + if (o.a != 0) + throw "Error: bad value for a: " + o.a; + if (o.b != 1) + throw "Error: bad value for b: " + o.b; + if (o.c != 2) + throw "Error: bad value for c: " + o.c; + if (o.d != 3) + throw "Error: bad value for d: " + o.d; + if (o.e != 4) + throw "Error: bad value for e: " + o.e; + if (o.f != 5) + throw "Error: bad value for f: " + o.f; + if (o.g != 6) + throw "Error: bad value for g: " + o.g; + if (o.h != 7) + throw "Error: bad value for h: " + o.h; + if (o.i != 8) + throw "Error: bad value for i: " + o.i; + if (o.j != 9) + throw "Error: bad value for j: " + o.j; + if (o.k != 10) + throw "Error: bad value for k: " + o.k; + if (o.l != 11) + throw "Error: bad value for l: " + o.l; + if (o.m != 12) + throw "Error: bad value for m: " + o.m; + if (o.n != 13) + throw "Error: bad value for n: " + o.n; + if (o.o != 14) + throw "Error: bad value for o: " + o.o; + if (o.p != 15) + throw "Error: bad value for p: " + o.p; + if (o.q != 16) + throw "Error: bad value for q: " + o.q; + if (o.r != 17) + throw "Error: bad value for r: " + o.r; + if (o.s != 18) + throw "Error: bad value for s: " + o.s; + if (o.t != 19) + throw "Error: bad value for t: " + o.t; + if (o.u != 20) + throw "Error: bad value for u: " + o.u; + if (o.v != 21) + throw "Error: bad value for v: " + o.v; + if (o.w != 22) + throw "Error: bad value for w: " + o.w; + if (o.x != 23) + throw "Error: bad value for x: " + o.x; + if (o.y != 24) + throw "Error: bad value for y: " + o.y; + if (o.z != 25) + throw "Error: bad value for z: " + o.z; +} diff --git a/implementation-contributed/javascriptcore/stress/replacement-watchpoint-dictionary.js b/implementation-contributed/javascriptcore/stress/replacement-watchpoint-dictionary.js new file mode 100644 index 0000000000..b3542263c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/replacement-watchpoint-dictionary.js @@ -0,0 +1,27 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var p = {f:42}; +var o = Object.create(p); + +for (var i = 0; i < 100; ++i) { + p["i" + i] = i; + for (var j = 0; j < 100; ++j) { + var result = foo(o); + if (result != 42) + throw "Error: bad result: " + result; + } +} + +// Make p a non-dictionary. +for (var i = 0; i < 100; ++i) { + var tmp = o.f; +} + +p.f = 43; +var result = foo(o); +if (result != 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/replacement-watchpoint.js b/implementation-contributed/javascriptcore/stress/replacement-watchpoint.js new file mode 100644 index 0000000000..d654ea776f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/replacement-watchpoint.js @@ -0,0 +1,22 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var p = {f:42}; +var o = Object.create(p); + +for (var i = 0; i < 100; ++i) { + p["i" + i] = i; + for (var j = 0; j < 100; ++j) { + var result = foo(o); + if (result != 42) + throw "Error: bad result: " + result; + } +} + +p.f = 43; +var result = foo(o); +if (result != 43) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/reserved-word-with-escape.js b/implementation-contributed/javascriptcore/stress/reserved-word-with-escape.js new file mode 100644 index 0000000000..d6db09ac21 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/reserved-word-with-escape.js @@ -0,0 +1,152 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax("var cocoa"); +testSyntax("var c\u006fcoa"); + +testSyntaxError(String.raw`var var`, String.raw`SyntaxError: Cannot use the keyword 'var' as a variable name.`); +testSyntaxError(String.raw`var v\u0061r`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`var v\u{0061}r`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`var var = 2000000;`, String.raw`SyntaxError: Cannot use the keyword 'var' as a variable name.`); +testSyntaxError(String.raw`var v\u0061r = 2000000;`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`var v\u{0061}r = 2000000`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`var {var} = obj)`, String.raw`SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'var'.`); +testSyntaxError(String.raw`var {v\u0061r} = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`var {v\u{0061}r} = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`var {var:var} = obj)`, String.raw`SyntaxError: Cannot use the keyword 'var' as a variable name.`); +testSyntaxError(String.raw`var {var:v\u0061r} = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`var {var:v\u{0061}r} = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`var [var] = obj`, String.raw`SyntaxError: Cannot use the keyword 'var' as a variable name.`); +testSyntaxError(String.raw`var [v\u0061r] = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`var [v\u{0061}r] = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`[var] = obj`, String.raw`SyntaxError: Unexpected keyword 'var'`); +testSyntaxError(String.raw`[v\u0061r] = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`[v\u{0061}r] = obj`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`function var() { }`, String.raw`SyntaxError: Cannot use the keyword 'var' as a function name.`); +testSyntaxError(String.raw`function v\u0061r() { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`function v\u{0061}r() { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`function a(var) { }`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`function a(v\u0061r) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`function a(v\u{0061}r) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`function a({var}) { }`, String.raw`SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'var'.`); +testSyntaxError(String.raw`function a({v\u0061r}) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`function a({v\u{0061}r}) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`function a({var:var}) { }`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`function a({var:v\u0061r}) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`function a({var:v\u{0061}r}) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`function a([var]) { }`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`function a([v\u0061r]) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`function a([v\u{0061}r]) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function var() { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a function name.`); +testSyntaxError(String.raw`(function v\u0061r() { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function v\u{0061}r() { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a(var) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a(v\u0061r) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a(v\u{0061}r) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({var}) { })`, String.raw`SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'var'.`); +testSyntaxError(String.raw`(function a({v\u0061r}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({v\u{0061}r}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({var:var}) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a({var:v\u0061r}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({var:v\u{0061}r}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a([var]) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a([v\u0061r]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a([v\u{0061}r]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a([{var}]) { })`, String.raw`SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'var'.`); +testSyntaxError(String.raw`(function a([{v\u0061r}]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a([{v\u{0061}r}]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a([{var:var}]) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a([{var:v\u0061r}]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a([{var:v\u{0061}r}]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a([[var]]) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a([[v\u0061r]]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a([[v\u{0061}r]]) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ hello: {var}}) { })`, String.raw`SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'var'.`); +testSyntaxError(String.raw`(function a({ hello: {v\u0061r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ hello: {v\u{0061}r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ hello: {var:var}}) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a({ hello: {var:v\u0061r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ hello: {var:v\u{0061}r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ hello: [var]}) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a({ hello: [v\u0061r]}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ hello: [v\u{0061}r]}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ 0: {var} }) { })`, String.raw`SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'var'.`); +testSyntaxError(String.raw`(function a({ 0: {v\u0061r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ 0: {v\u{0061}r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ 0: {var:var}}) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a({ 0: {var:v\u0061r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ 0: {var:v\u{0061}r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ 0: {value:var}}) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a({ 0: {value:v\u0061r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ 0: {value:v\u{0061}r}}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`(function a({ 0: [var]}) { })`, String.raw`SyntaxError: Cannot use the keyword 'var' as a parameter name.`); +testSyntaxError(String.raw`(function a({ 0: [v\u0061r]}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`(function a({ 0: [v\u{0061}r]}) { })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`try { } catch(var) { }`, String.raw`SyntaxError: Cannot use the keyword 'var' as a catch parameter name.`); +testSyntaxError(String.raw`try { } catch(v\u0061r) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`try { } catch(v\u{0061}r) { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`class var { }`, String.raw`SyntaxError: Cannot use the keyword 'var' as a class name.`); +testSyntaxError(String.raw`class v\u0061r { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`class v\u{0061}r { }`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`({ v\u0061r: 'Cocoa' })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u0061r'`); +testSyntaxError(String.raw`({ v\u{0061}r: 'Cocoa' })`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'v\u{0061}r'`); + +testSyntaxError(String.raw`{for(o i\u006E {}){}}`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'i\u006E'`); +testSyntaxError(String.raw`{for(o i\u{006E} {}){}}`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'i\u{006E}'`); + + +testSyntaxError(String.raw`implements`, String.raw`ReferenceError: Can't find variable: implements`); +testSyntaxError(String.raw`impleme\u006Ets`, String.raw`ReferenceError: Can't find variable: implements`); +testSyntaxError(String.raw`impleme\u{006E}ts`, String.raw`ReferenceError: Can't find variable: implements`); + +testSyntaxError(String.raw`'use strict'; implements`, String.raw`SyntaxError: Unexpected use of reserved word 'implements' in strict mode`); +testSyntaxError(String.raw`'use strict'; impleme\u006Ets`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'impleme\u006Ets'`); +testSyntaxError(String.raw`'use strict'; impleme\u{006E}ts`, String.raw`SyntaxError: Unexpected escaped characters in keyword token: 'impleme\u{006E}ts'`); diff --git a/implementation-contributed/javascriptcore/stress/resources/binary-op-test.js b/implementation-contributed/javascriptcore/stress/resources/binary-op-test.js new file mode 100644 index 0000000000..f115c70413 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/binary-op-test.js @@ -0,0 +1,135 @@ +// This test module provides infrastructure for generating and running tests on a binary +// operator. +// +// It works by generating test functions to exercise the specified operator using +// from permutations of operand value pairs. For each test, it computes the expected +// result by exercising the test function once (using the LLINT) at test generation time. +// The test runner later compares the result produced by the function (as it tiers up) +// against the expected result. +// +// The generated tests can exercise the operator using the following operand types. +// variable * variable +// constant * variable +// variable * constant +// +// If all goes well, this test module will terminate silently. If not, it will print +// errors. + +//============================================================================ +// Debugging options: + +var verbose = false; +var abortOnFirstFail = false; +var testFilterStr = undefined; // Define a filter string to filter tests to run. + +var verboseTestGeneration = false; + +//============================================================================ +// Test generation: + +function stringifyIfNeeded(x) { + if (typeof x == "string") + return '"' + x + '"'; + if (typeof x == "object") + return 'objWithVal:' + x; + return x; +} + +// operandTypes are "VarVar", "VarConst", and "ConstVar". +var funcIndex = 0; +function generateBinaryTests(tests, opName, op, operandTypes, leftValues, rightValues) { + var funcNamePrefix = opName + operandTypes; + for (var i = 0; i < leftValues.length; i++) { + for (var j = 0; j < rightValues.length; j++) { + var test = { }; + xStr = leftValues[i]; + yStr = rightValues[j]; + test.x = eval(xStr); + test.y = eval(yStr); + + var funcName = funcNamePrefix + funcIndex++; + if (operandTypes == "VarVar") { + test.signature = funcName + "(x, y) { return x " + op + " y }"; + test.name = test.signature + " with x:" + xStr + ", y:" + yStr; + } else if (operandTypes == "VarConst") { + test.signature = funcName + "(x, _) { return x " + op + " " + yStr + " }"; + test.name = test.signature + " with x:" + xStr; + } else if (operandTypes == "ConstVar") { + test.signature = funcName + "(_, y) { return " + xStr + " " + op + " y }"; + test.name = test.signature + " with y:" + yStr; + } + + test.func = eval("(function " + test.signature + ")"); + noInline(test.func); + + test.expectedResult = test.func(test.x, test.y); + test.name += ", expected:" + stringifyIfNeeded(test.expectedResult); + + tests.push(test); + if (verboseTestGeneration) + print("Generated " + test.name); + } + } +} + +//============================================================================ +// Test running and reporting: + +var errorReport = ""; + +function isIdentical(x, y) { + if (typeof x == "undefined" && typeof y == "undefined") + return true; + if (typeof x != typeof y) + return false; + if (x == y) { + if (x) + return true; + // Distinguish between 0 and negative 0. + if (1 / x == 1 / y) + return true; + } else if (Number.isNaN(x) && Number.isNaN(y)) + return true; + return false; +} + +function runTest(test) { + if (testFilterStr && !test.name.includes(testFilterStr)) + return; + + var firstFailed = -1; + try { + if (verbose) + print(test.name); + for (var i = 0; i < 10000; i++) { + var result = test.func(test.x, test.y); + if (isIdentical(result, test.expectedResult)) + continue; + if (firstFailed < 0) { + errorReport += "FAILED: " + test.name + " started failing on iteration " + i + + ": actual " + stringifyIfNeeded(result) + "\n"; + if (abortOnFirstFail) + throw errorReport; + firstFailed = i; + } + } + } catch(e) { + if (abortOnFirstFail) + throw e; // Negate the catch by re-throwing. + errorReport += "FAILED: Unexpected exception: " + e + "\n"; + } +} + +function run() { + if (verbose) + print("Start testing"); + + for (var test of tests) + runTest(test); + + if (errorReport !== "") + throw "Found failures:\n" + errorReport; + + if (verbose) + print("Done testing"); +} diff --git a/implementation-contributed/javascriptcore/stress/resources/binary-op-values.js b/implementation-contributed/javascriptcore/stress/resources/binary-op-values.js new file mode 100644 index 0000000000..c9c35e3f97 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/binary-op-values.js @@ -0,0 +1,73 @@ +// This file provides values that may be interesting for testing binary operations. + +var o1 = { + valueOf: function() { return 10; } +}; + +var posInfinity = 1 / 0; +var negInfinity = -1 / 0; + +var values = [ + 'o1', + 'null', + 'undefined', + 'true', + 'false', + + 'NaN', + 'posInfinity', + 'negInfinity', + '100.2', // Some random small double value. + '-100.2', + '2147483647.5', // Value that will get truncated down to 0x7fffffff (by shift ops). + '-2147483647.5', + '54294967296.2923', // Some random large double value. + '-54294967296.2923', + + '0', + '-0', + '1', + '-1', + '5', + '-5', + '31', + '-31', + '32', + '-32', + '0x3fff', + '-0x3fff', + '0x7fff', + '-0x7fff', + '0x10000', + '-0x10000', + '0x7ffffff', + '-0x7ffffff', + '0x7fffffff', + '-0x7fffffff', + '0x100000000', + '-0x100000000', + + '"abc"', + '"0"', + '"-0"', + '"1"', + '"-1"', + '"5"', + '"-5"', + '"31"', + '"-31"', + '"32"', + '"-32"', + '"0x3fff"', + '"-0x3fff"', + '"0x7fff"', + '"-0x7fff"', + '"0x10000"', + '"-0x10000"', + '"0x7ffffff"', + '"-0x7ffffff"', + '"0x7fffffff"', + '"-0x7fffffff"', + '"0x100000000"', + '"-0x100000000"', +]; diff --git a/implementation-contributed/javascriptcore/stress/resources/error-module.js b/implementation-contributed/javascriptcore/stress/resources/error-module.js new file mode 100644 index 0000000000..b68f95365a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/error-module.js @@ -0,0 +1 @@ +import {x} from "./error-module.js" diff --git a/implementation-contributed/javascriptcore/stress/resources/literal-parser-test-case.js b/implementation-contributed/javascriptcore/stress/resources/literal-parser-test-case.js new file mode 100644 index 0000000000..304c4e46dc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/literal-parser-test-case.js @@ -0,0 +1 @@ +x;1234 diff --git a/implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports-2.js b/implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports-2.js new file mode 100644 index 0000000000..54df32c0bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports-2.js @@ -0,0 +1,10 @@ +export let test = 42; +export function cocoa() +{ + return test; +} + +export function change() +{ + test = 55; +} diff --git a/implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports.js b/implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports.js new file mode 100644 index 0000000000..68019ca7e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/module-namespace-access-transitive-exports.js @@ -0,0 +1 @@ +export * from "./module-namespace-access-transitive-exports-2.js" diff --git a/implementation-contributed/javascriptcore/stress/resources/module-namespace-access.js b/implementation-contributed/javascriptcore/stress/resources/module-namespace-access.js new file mode 100644 index 0000000000..54df32c0bd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/module-namespace-access.js @@ -0,0 +1,10 @@ +export let test = 42; +export function cocoa() +{ + return test; +} + +export function change() +{ + test = 55; +} diff --git a/implementation-contributed/javascriptcore/stress/resources/shadow-chicken-support.js b/implementation-contributed/javascriptcore/stress/resources/shadow-chicken-support.js new file mode 100644 index 0000000000..d0b55848a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/shadow-chicken-support.js @@ -0,0 +1,67 @@ +"use strict"; + +var shadowChickenFunctionsOnStack = $vm.shadowChickenFunctionsOnStack; + +function describeFunction(f) +{ + var name; + try { + name = f.name; + } catch (e) {} + if (!name) + name = "<" + describe(f) + ">"; + return name; +} + +function describeArray(array) { + var result = "["; + for (var i = 0; i < array.length; ++i) { + if (i) + result += ", "; + result += describeFunction(array[i]); + } + return result + "]"; +} + +function compareStacks(stack, array) { + if (stack.length != array.length) + throw new Error("Bad stack length: " + describeArray(stack) + " (expected " + describeArray(array) + ")"); + for (var i = 0; i < stack.length; ++i) { + if (stack[i] != array[i]) + throw new Error("Bad stack at i = " + i + ": " + describeArray(stack) + " (expected " + describeArray(array) + ")"); + } +} + +function expectStack(array) { + var stack = shadowChickenFunctionsOnStack(); + if (verbose) + print("stack = " + describeArray(stack)); + var myTop = stack.pop(); + if (myTop != stackTop) + throw new Error("Bad stack top: " + myTop); + var myBottom = stack.shift(); + if (myBottom != shadowChickenFunctionsOnStack) + throw new Error("Bad stack bottom: " + myBottom); + myBottom = stack.shift(); + if (myBottom != expectStack) + throw new Error("Bad stack next-to-bottom: " + myBottom); + compareStacks(stack, array); +} + +var initialShadow; +var stackTop; + +function initialize() +{ + initialShadow = shadowChickenFunctionsOnStack(); + if (initialShadow.length != 3) + throw new Error("bad initial shadow length: " + initialShadow.length); + if (initialShadow[0] != shadowChickenFunctionsOnStack) + throw new Error("bad top of stack: " + describeFunction(initialShadow[0])); + if (initialShadow[1] != initialize) + throw new Error("bad middle of stack: " + describeFunction(initialShadow[1])); + stackTop = initialShadow[2]; + + expectStack([initialize]); +} + diff --git a/implementation-contributed/javascriptcore/stress/resources/standalone-pre.js b/implementation-contributed/javascriptcore/stress/resources/standalone-pre.js new file mode 100644 index 0000000000..b96b702274 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/standalone-pre.js @@ -0,0 +1,336 @@ +var errorMessage; +var self = this; + +self.testRunner = { + neverInlineFunction: neverInlineFunction, + numberOfDFGCompiles: numberOfDFGCompiles +}; + +var silentMode = true; +var throwOnFirstFail = true; +var silentTestPass, didPassSomeTestsSilently, didFailSomeTests, successfullyParsed; +silentTestPass = false; +didPassSomeTestsSilenty = false; +didFailSomeTests = false; + +function description(msg) +{ + if (silentMode) + return; + print(msg); + print("\nOn success, you will see a series of \"PASS\" messages, followed by \"TEST COMPLETE\".\n"); + print(); +} + +function debug(msg) +{ + if (silentMode) + return; + print(msg); +} + +function escapeString(text) +{ + return text.replace(/\0/g, ""); +} + +function testPassed(msg) +{ + if (silentTestPass) + didPassSomeTestsSilently = true; + else if (silentMode) + return; + else + print("PASS", escapeString(msg)); +} + +function testFailed(msg) +{ + didFailSomeTests = true; + if (!silentMode) + print("FAIL", escapeString(msg)); + if (throwOnFirstFail) + throw new Error(escapeString(msg)); +} + +function areNumbersEqual(_actual, _expected) +{ + if (_expected === 0) + return _actual === _expected && (1/_actual) === (1/_expected); + if (_actual === _expected) + return true; + if (typeof(_expected) == "number" && isNaN(_expected)) + return typeof(_actual) == "number" && isNaN(_actual); + return false; +} + +function areArraysEqual(_a, _b) +{ + try { + if (_a.length !== _b.length) + return false; + for (var i = 0; i < _a.length; i++) + if (!areNumbersEqual(_a[i], _b[i])) + return false; + } catch (ex) { + return false; + } + return true; +} + +function isMinusZero(n) +{ + // the only way to tell 0 from -0 in JS is the fact that 1/-0 is + // -Infinity instead of Infinity + return n === 0 && 1/n < 0; +} + +function isTypedArray(array) +{ + return array instanceof Int8Array + || array instanceof Int16Array + || array instanceof Int32Array + || array instanceof Uint8Array + || array instanceof Uint8ClampedArray + || array instanceof Uint16Array + || array instanceof Uint32Array + || array instanceof Float32Array + || array instanceof Float64Array; +} + +function isResultCorrect(_actual, _expected) +{ + if (areNumbersEqual(_actual, _expected)) + return true; + if (_expected + && (Object.prototype.toString.call(_expected) == + Object.prototype.toString.call([]) + || isTypedArray(_expected))) + return areArraysEqual(_actual, _expected); + return false; +} + +function stringify(v) +{ + if (v === 0 && 1/v < 0) + return "-0"; + else if (isTypedArray(v)) + return v.__proto__.constructor.name + ":[" + Array.prototype.join.call(v, ",") + "]"; + else + return "" + v; +} + +function shouldBe(_a, _b, _quiet) +{ + if ((typeof _a != "function" && typeof _a != "string") || (typeof _b != "function" && typeof _b != "string")) + debug("WARN: shouldBe() expects function or string arguments"); + var _exception; + var _av; + try { + _av = (typeof _a == "function" ? _a() : eval(_a)); + } catch (e) { + _exception = e; + } + var _bv = (typeof _b == "function" ? _b() : eval(_b)); + + if (_exception) + testFailed(_a + " should be " + stringify(_bv) + ". Threw exception " + _exception); + else if (isResultCorrect(_av, _bv)) { + if (!_quiet) { + testPassed(_a + " is " + (typeof _b == "function" ? _bv : _b)); + } + } else if (typeof(_av) == typeof(_bv)) + testFailed(_a + " should be " + stringify(_bv) + ". Was " + stringify(_av) + "."); + else + testFailed(_a + " should be " + stringify(_bv) + " (of type " + typeof _bv + "). Was " + _av + " (of type " + typeof _av + ")."); +} + +function dfgShouldBe(theFunction, _a, _b) +{ + if (typeof theFunction != "function" || typeof _a != "string" || typeof _b != "string") + debug("WARN: dfgShouldBe() expects a function and two strings"); + noInline(theFunction); + var exception; + var values = []; + + // Defend against tests that muck with numeric properties on array.prototype. + values.__proto__ = null; + values.push = Array.prototype.push; + + try { + while (!dfgCompiled({f:theFunction})) + values.push(eval(_a)); + values.push(eval(_a)); + } catch (e) { + exception = e; + } + + var _bv = eval(_b); + if (exception) + testFailed(_a + " should be " + stringify(_bv) + ". On iteration " + (values.length + 1) + ", threw exception " + exception); + else { + var allPassed = true; + for (var i = 0; i < values.length; ++i) { + var _av = values[i]; + if (isResultCorrect(_av, _bv)) + continue; + if (typeof(_av) == typeof(_bv)) + testFailed(_a + " should be " + stringify(_bv) + ". On iteration " + (i + 1) + ", was " + stringify(_av) + "."); + else + testFailed(_a + " should be " + stringify(_bv) + " (of type " + typeof _bv + "). On iteration " + (i + 1) + ", was " + _av + " (of type " + typeof _av + ")."); + allPassed = false; + } + if (allPassed) + testPassed(_a + " is " + _b + " on all iterations including after DFG tier-up."); + } + + return values.length; +} + +function shouldBeType(_a, _type) { + var exception; + var _av; + try { + _av = eval(_a); + } catch (e) { + exception = e; + } + + var _typev = eval(_type); + if (_av instanceof _typev) { + testPassed(_a + " is an instance of " + _type); + } else { + testFailed(_a + " is not an instance of " + _type); + } +} + +function shouldBeTrue(_a) { shouldBe(_a, "true"); } +function shouldBeFalse(_a) { shouldBe(_a, "false"); } +function shouldBeNaN(_a) { shouldBe(_a, "NaN"); } +function shouldBeNull(_a) { shouldBe(_a, "null"); } + +function shouldBeEqualToString(a, b) +{ + if (typeof a !== "string" || typeof b !== "string") + debug("WARN: shouldBeEqualToString() expects string arguments"); + var unevaledString = JSON.stringify(b); + shouldBe(a, unevaledString); +} + +function shouldBeUndefined(_a) +{ + var exception; + var _av; + try { + _av = eval(_a); + } catch (e) { + exception = e; + } + + if (exception) + testFailed(_a + " should be undefined. Threw exception " + exception); + else if (typeof _av == "undefined") + testPassed(_a + " is undefined."); + else + testFailed(_a + " should be undefined. Was " + _av); +} + +function shouldNotThrow(_a, _message) { + try { + typeof _a == "function" ? _a() : eval(_a); + testPassed((_message ? _message : _a) + " did not throw exception."); + } catch (e) { + testFailed((_message ? _message : _a) + " should not throw exception. Threw exception " + e + "."); + } +} + +function shouldThrow(_a, _e, _message) +{ + var _exception; + var _av; + try { + _av = typeof _a == "function" ? _a() : eval(_a); + } catch (e) { + _exception = e; + } + + var _ev; + if (_e) + _ev = eval(_e); + + if (_exception) { + if (typeof _e == "undefined" || _exception == _ev) + testPassed((_message ? _message : _a) + " threw exception " + _exception + "."); + else + testFailed((_message ? _message : _a) + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Threw exception " + _exception + "."); + } else if (typeof _av == "undefined") + testFailed((_message ? _message : _a) + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Was undefined."); + else + testFailed((_message ? _message : _a) + " should throw " + (typeof _e == "undefined" ? "an exception" : _ev) + ". Was " + _av + "."); +} + +function isSuccessfullyParsed() +{ + // FIXME: Remove this and only report unexpected syntax errors. + if (!errorMessage) + successfullyParsed = true; + shouldBeTrue("successfullyParsed"); + if (silentTestPass && didPassSomeTestsSilently) + debug("Passed some tests silently."); + if (silentTestPass && didFailSomeTests) + debug("Some tests failed."); + debug("\nTEST COMPLETE\n"); +} + + +function dfgCompiled(argument) +{ + var numberOfCompiles = "compiles" in argument ? argument.compiles : 1; + + if (!("f" in argument)) + throw new Error("dfgCompiled called with invalid argument."); + + if (argument.f instanceof Array) { + for (var i = 0; i < argument.f.length; ++i) { + if (testRunner.numberOfDFGCompiles(argument.f[i]) < numberOfCompiles) + return false; + } + } else { + if (testRunner.numberOfDFGCompiles(argument.f) < numberOfCompiles) + return false; + } + + return true; +} + +function dfgIncrement(argument) +{ + if (!self.testRunner) + return argument.i; + + if (argument.i < argument.n) + return argument.i; + + if (didFailSomeTests) + return argument.i; + + if (!dfgCompiled(argument)) + return "start" in argument ? argument.start : 0; + + return argument.i; +} + +function noInline(theFunction) +{ + if (!self.testRunner) + return; + + testRunner.neverInlineFunction(theFunction); +} + +function finishJSTest() +{ + isSuccessfullyParsed(); + if (didFailSomeTests) + throw new Error("Some Tests Failed"); +} diff --git a/implementation-contributed/javascriptcore/stress/resources/typedarray-constructor-helper-functions.js b/implementation-contributed/javascriptcore/stress/resources/typedarray-constructor-helper-functions.js new file mode 100644 index 0000000000..bf34db4c6a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/typedarray-constructor-helper-functions.js @@ -0,0 +1,60 @@ +load("./resources/standalone-pre.js"); + +"use strict"; + +var typedArrays = ["Int8Array", "Uint8Array", "Uint8ClampedArray", "Int16Array", "Uint16Array", "Int32Array", "Uint32Array", "Float32Array", "Float64Array"]; + +function forEachTypedArray(constructors, testFunction, name, args) { + for (let i = 0; i < constructors.length; ++i) { + let typedArray = constructors[i]; + + let result; + if (name !== "") + result = eval(typedArray + "." + name + args) + else + result = eval("new " + typedArray + args) + + let testResult = testFunction(result, typedArray) + if (testResult !== true) + return testResult; + } + + return true; +} + +function hasSameValues(msg, array1, array2) { + if (array1.length !== array2.length) { + debug(msg + "The arrays had differing lengths, first array: " + array1 + " length: " + array1.length + " second array: " + array2 + " length" + array2.length); + return false; + } + + let allSame = true; + for (let i = 0; i < array1.length; ++i) { + allSame = allSame && Object.is(array1[i], array2[i]); + } + + if (!allSame) + debug(msg + "The array did not have all the expected elements, first array: " + array1 + " second array: " + array2); + return allSame; + +} + +function testConstructorFunction(name, args, expected) { + function foo(array, constructor) { + if (!hasSameValues(constructor + "." + name + " did not produce the correct result on " + name + args, array, expected)) + return false + return true; + } + + return forEachTypedArray(typedArrays, foo, name, args); +} + +function testConstructor(args, expected) { + function foo(array, constructor) { + if (!hasSameValues(constructor + args + " did not produce the correct result", array, expected)) + return false + return true; + } + + return forEachTypedArray(typedArrays, foo, "", args); +} diff --git a/implementation-contributed/javascriptcore/stress/resources/typedarray-test-helper-functions.js b/implementation-contributed/javascriptcore/stress/resources/typedarray-test-helper-functions.js new file mode 100644 index 0000000000..c915b2697c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/typedarray-test-helper-functions.js @@ -0,0 +1,105 @@ +load("./resources/standalone-pre.js"); + +var typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +var signedArrays = [Int8Array, Int16Array, Int32Array, Float32Array, Float64Array]; + +var intArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array]; + +var floatArrays = [Float32Array, Float64Array]; + +function forEachTypedArray(constructors, testFunction /* , initialValues */ ) { + let initialValues = arguments[2]; + for (let i = 0; i < constructors.length; ++i) { + let typedArray = constructors[i]; + + let array; + if (initialValues) { + array = new typedArray(initialValues); + } else + array = new typedArray(); + + let testResult = testFunction(array, typedArray) + if (testResult !== true) + return testResult; + } + + return true; +} + +function isSameFunctionForEachTypedArrayPrototype(name) { + function eq(array) { return array[name] === Int32Array.prototype[name]; } + return forEachTypedArray(typedArrays, eq); +} + +function hasSameValues(msg, array1, array2) { + if (array1.length !== array2.length) { + debug(msg + " first array: " + array1 + " second array: " + array2); + return false; + } + + let allSame = true; + for (let i = 0; i < array1.length; ++i) { + allSame = allSame && Object.is(array1[i], array2[i]); + } + + if (!allSame) + debug(msg + " first array: " + array1 + " second array: " + array2); + return allSame; + +} + +function testPrototypeFunctionHelper(constructors, name, args, init, result, expectedArray) { + + function foo(array, constructor) { + let res = eval("array." + name + args); + + if (expectedArray) { + if (!hasSameValues("array did not change correctly on " + constructor + ",", array, expectedArray)) + return false; + } + + if (typeof result === "object") + return hasSameValues(name + " returned the wrong result on " + constructor + ",", res, result); + else { + if (res !== result) { + debug(name + " returned the wrong result on " + constructor + ", returned: " + res + " but expected: " + result); + return false; + } + return true; + } + } + + return forEachTypedArray(constructors, foo, init); +} + +function testPrototypeFunctionOnSigned(name, args, init, result /* expectedArray */) { + return testPrototypeFunctionHelper(signedArrays, name, args, init, result, arguments[4]); +} + +function testPrototypeFunctionOnFloat(name, args, init, result /* expectedArray */) { + return testPrototypeFunctionHelper(floatArrays, name, args, init, result, arguments[4]); +} + +function testPrototypeFunction(name, args, init, result /* expectedArray */) { + return testPrototypeFunctionHelper(typedArrays, name, args, init, result, arguments[4]); +} + +function testPrototypeReceivesArray(name, thisValues) { + function tester (array, constructor) { + var passed = true; + for (var thisValue of thisValues) { + try { + eval("array." + name).call(thisValue); + passed = false; + debug("did not throw an error when given an invalid |this| on " + constructor); + } catch (err) {} + + } + + return passed; + } + + return forEachTypedArray(typedArrays, tester); +} + diff --git a/implementation-contributed/javascriptcore/stress/resources/unary-op-test.js b/implementation-contributed/javascriptcore/stress/resources/unary-op-test.js new file mode 100644 index 0000000000..ce55e87895 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/resources/unary-op-test.js @@ -0,0 +1,134 @@ +// This test module provides infrastructure for generating and running tests on a unary +// operator. +// +// It works by generating test functions to exercise the specified operator on operand +// values in a provided set. For each test, it computes the expected result by exercising +// the test function once (using the LLINT) at test generation time. +// The test runner later compares the result produced by the function (as it tiers up) +// against the expected result. +// +// The generated tests will exercise the operator on a variable. +// +// If all goes well, this test module will terminate silently. If not, it will print +// errors. + +//============================================================================ +// Debugging options: + +var verbose = false; +var abortOnFirstFail = false; +var testFilterStr = undefined; // Define a filter string to filter tests to run. + +var verboseTestGeneration = false; + +//============================================================================ +// Test generation: + +function stringifyIfNeeded(x) { + if (typeof x == "string") + return '"' + x + '"'; + if (typeof x == "object") + return 'objWithVal:' + x; + return x; +} + +// operatorTypes can be "Prefix" or "Postfix". +// resultTypes can be "ImmediateResult" or "PostResult". PostResult is mainly for +// checking the value of a variable on subsequent inspection, so we can confirm that the +// postfix operator did do its job. +var funcIndex = 0; +function generateBinaryTests(tests, opName, operatorType, resultType, op, inValues) { + var funcNamePrefix = opName + resultType; + for (var i = 0; i < inValues.length; i++) { + var test = { }; + xStr = inValues[i]; + test.x = eval(xStr); + + var funcName = funcNamePrefix + funcIndex++; + if (operatorType == "Prefix") { + if (resultType == "ImmediateResult") + test.signature = funcName + "(x) { return " + op + "x }"; + else if (resultType == "PostResult") + test.signature = funcName + "(x) { " + op + "x; return x; }"; + } else if (operatorType == "Postfix") { + if (resultType == "ImmediateResult") + test.signature = funcName + "(x) { return x" + op + " }"; + else if (resultType == "PostResult") + test.signature = funcName + "(x) { x" + op + "; return x; }"; + } + + test.name = test.signature + " with x:" + xStr; + + test.func = eval("(function " + test.signature + ")"); + noInline(test.func); + + test.expectedResult = test.func(test.x); + test.name += ", expected:" + stringifyIfNeeded(test.expectedResult); + + tests.push(test); + if (verboseTestGeneration) + print("Generated " + test.name); + } +} + +//============================================================================ +// Test running and reporting: + +var errorReport = ""; + +function isIdentical(x, y) { + if (typeof x == "undefined" && typeof y == "undefined") + return true; + if (typeof x != typeof y) + return false; + if (x == y) { + if (x) + return true; + // Distinguish between 0 and negative 0. + if (1 / x == 1 / y) + return true; + } else if (Number.isNaN(x) && Number.isNaN(y)) + return true; + return false; +} + +function runTest(test) { + if (testFilterStr && !test.name.includes(testFilterStr)) + return; + + var firstFailed = -1; + try { + if (verbose) + print(test.name); + for (var i = 0; i < 10000; i++) { + var result = test.func(test.x); + if (isIdentical(result, test.expectedResult)) + continue; + if (firstFailed < 0) { + errorReport += "FAILED: " + test.name + " started failing on iteration " + i + + ": actual " + stringifyIfNeeded(result) + "\n"; + if (abortOnFirstFail) + throw errorReport; + firstFailed = i; + } + } + } catch(e) { + if (abortOnFirstFail) + throw e; // Negate the catch by re-throwing. + errorReport += "FAILED: Unexpected exception: " + e + "\n"; + } +} + +function run() { + if (verbose) + print("Start testing"); + + for (var test of tests) + runTest(test); + + if (errorReport !== "") + throw "Found failures:\n" + errorReport; + + if (verbose) + print("Done testing"); +} diff --git a/implementation-contributed/javascriptcore/stress/rest-elements.js b/implementation-contributed/javascriptcore/stress/rest-elements.js new file mode 100644 index 0000000000..d8cc18bec6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-elements.js @@ -0,0 +1,193 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +(function () { + var [a, b, ...c] = "Cocoa"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`["c","o","a"]`); +}()); + +(function () { + var [a, b, ...c] = "Co"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`[]`); +}()); + +(function () { + var [a, b, ...c] = "C"; + shouldBe(a, 'C'); + shouldBe(b, undefined); + shouldBe(JSON.stringify(c), String.raw`[]`); +}()); + +(function () { + var a, b, c; + [a, b, ...c] = "Cocoa"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`["c","o","a"]`); +}()); + +(function () { + var a, b, c; + [a, b, ...c] = "Co"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`[]`); +}()); + +(function () { + var a, b, c; + [a, b, ...c] = "C"; + shouldBe(a, 'C'); + shouldBe(b, undefined); + shouldBe(JSON.stringify(c), String.raw`[]`); +}()); + +(function ([a, b, ...c]) { + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`["c","o","a"]`); +}("Cocoa")); + +(function ([a, b, ...c]) { + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`[]`); +}("Co")); + +(function ([a, b, ...c]) { + shouldBe(a, 'C'); + shouldBe(b, undefined); + shouldBe(JSON.stringify(c), String.raw`[]`); +}("C")); + +testSyntaxError(String.raw`var [a, ...b, c] = 20`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`var [a, ...b,] = 20`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`var [a, ...b,,] = 20`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`var [a, ...b = 20] = 20`, String.raw`SyntaxError: Unexpected token '='. Expected a closing ']' following a rest element destructuring pattern.`); + +testSyntaxError(String.raw`(function ([a, ...b,]) { })`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`(function ([a, ...b,,]) { })`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`(function ([a, ...b = 20,,]) { })`, String.raw`SyntaxError: Unexpected token '='. Expected a closing ']' following a rest element destructuring pattern.`); + + +testSyntaxError(String.raw`[a, ...b, c] = 20`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`[a, ...b,] = 20`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`[a, ...b,,] = 20`, String.raw`SyntaxError: Unexpected token ','. Expected a closing ']' following a rest element destructuring pattern.`); +testSyntaxError(String.raw`[a, ...b = 20] = 20`, String.raw`SyntaxError: Unexpected token '='. Expected a closing ']' following a rest element destructuring pattern.`); + +(function () { + var a, b, c; + [a, b, ...[...c]] = "Cocoa"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(JSON.stringify(c), String.raw`["c","o","a"]`); +}()); + +(function () { + var a, b, c, d, e, f; + [a, b, ...{ 0: c, 1: d, 2: e, 3: f }] = "Cocoa"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(c, 'c'); + shouldBe(d, 'o'); + shouldBe(f, undefined); +}()); + +(function () { + var a, b, c, d, e; + [a, b, ...[c, d, ...e]] = "Cocoa"; + shouldBe(a, 'C'); + shouldBe(b, 'o'); + shouldBe(c, 'c'); + shouldBe(d, 'o'); + shouldBe(JSON.stringify(e), String.raw`["a"]`); +}()); + +function iterator(array) { + var nextCount = 0; + var returnCount = 0; + var original = array.values(); + return { + [Symbol.iterator]() { + return this; + }, + + next() { + ++nextCount; + return original.next(); + }, + + return() { + ++returnCount; + return { done: true }; + }, + + reportNext() { + return nextCount; + }, + + reportReturn() { + return returnCount; + } + }; +}; + +(function () { + var iter = iterator([1, 2, 3]); + var [...a] = iter; + shouldBe(iter.reportNext(), 4); + shouldBe(iter.reportReturn(), 0); + shouldBe(JSON.stringify(a), String.raw`[1,2,3]`); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [a, b, ...c] = iter; + shouldBe(iter.reportNext(), 4); + shouldBe(iter.reportReturn(), 0); + shouldBe(a, 1); + shouldBe(b, 2); + shouldBe(JSON.stringify(c), String.raw`[3]`); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [a, b, c, d, ...e] = iter; + shouldBe(iter.reportNext(), 4); + shouldBe(iter.reportReturn(), 0); + shouldBe(a, 1); + shouldBe(b, 2); + shouldBe(c, 3); + shouldBe(d, undefined); + shouldBe(JSON.stringify(e), String.raw`[]`); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var a, b; + [...[a, b]] = iter; + shouldBe(iter.reportNext(), 4); + shouldBe(iter.reportReturn(), 0); + shouldBe(a, 1); + shouldBe(b, 2); +}()); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-2.js b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-2.js new file mode 100644 index 0000000000..c14cac8c36 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-2.js @@ -0,0 +1,19 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function foo(...args) { + return args[0]; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + // Warm it up on in bound accesses. + assert(foo(i) === i); +} + +Array.prototype[0] = 50; +for (let i = 0; i < 10000; i++) + assert(foo() === 50); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-3.js b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-3.js new file mode 100644 index 0000000000..d25868744c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-3.js @@ -0,0 +1,22 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function foo(...args) { + return args[0]; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + // Warm it up on both in bound and out of bound accesses. + if (i % 2) + assert(foo(i) === i); + else + assert(foo() === undefined); +} + +Object.prototype[0] = 50; +for (let i = 0; i < 10000; i++) + assert(foo() === 50); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-4.js b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-4.js new file mode 100644 index 0000000000..4226770674 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-4.js @@ -0,0 +1,20 @@ + +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function foo(...args) { + return args[0]; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + // Warm it up on in bound accesses. + assert(foo(i) === i); +} + +Object.prototype[0] = 50; +for (let i = 0; i < 10000; i++) + assert(foo() === 50); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-5.js b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-5.js new file mode 100644 index 0000000000..5449872c63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints-5.js @@ -0,0 +1,25 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function foo(...args) { + return args[0]; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + // Warm it up on both in bound and out of bound accesses. + if (i % 2) + assert(foo(i) === i); + else + assert(foo() === undefined); +} + +let newProto = [50]; +newProto.__proto__ = null; + +Array.prototype.__proto__ = newProto; +for (let i = 0; i < 10000; i++) + assert(foo() === 50); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints.js b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints.js new file mode 100644 index 0000000000..8a70e42d4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-allocation-elimination-watchpoints.js @@ -0,0 +1,22 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function foo(...args) { + return args[0]; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + // Warm it up on both in bound and out of bound accesses. + if (i % 2) + assert(foo(i) === i); + else + assert(foo() === undefined); +} + +Array.prototype[0] = 50; +for (let i = 0; i < 10000; i++) + assert(foo() === 50); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-and-default-arguments.js b/implementation-contributed/javascriptcore/stress/rest-parameter-and-default-arguments.js new file mode 100644 index 0000000000..ee1b45178e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-and-default-arguments.js @@ -0,0 +1,36 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + assert(hasThrown); +} +noInline(shouldThrowTDZ); + +function foo(a = function() { return c; }, b = a(), ...c) { + return a(); +} +noInline(foo); + +function baz(a = function() { return b; }, ...b) { + return a(); +} + +for (let i = 0; i < 1000; i++) { + shouldThrowTDZ(function() { foo(undefined, undefined, 10, 20); }); + let o = {x: 20}; + let result = baz(undefined, 10, o, "baz"); + assert(result.length === 3); + assert(result[0] === 10); + assert(result[1] === o); + assert(result[2] === "baz"); +} diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-basics.js b/implementation-contributed/javascriptcore/stress/rest-parameter-basics.js new file mode 100644 index 0000000000..e8f1007bc3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-basics.js @@ -0,0 +1,103 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +function foo(a, ...b) { + return b; +} +noInline(foo); + +function bar(a, ...b) { + return a + b[0]; +} +noInline(bar); + +function baz(a, ...b) { + function capture() { return b; } + assert(b[0] === capture()[0]); + return a + b[0]; +} +noInline(baz); + +function jaz(a, ...b) { + function capture() { return a + b[0]; } + assert(capture() === a + b[0]); + return a + b[0]; +} +noInline(jaz); + +function kaz(a = 10, ...b) { + return a + b[0] +} +noInline(kaz); + +function raz(a = 10, ...b) { + function capture() { return a + b[0]; } + assert(capture() === a + b[0]); + return a + b[0]; +} +noInline(raz); + +function restLength(a, ...b) { + return b.length; +} +noInline(restLength); + +function testArgumentsObject(...args) { + assert(args.length === arguments.length); + for (let i = 0; i < args.length; i++) + assert(args[i] === arguments[i]); +} +noInline(testArgumentsObject); + +function strictModeLikeArgumentsObject(a, ...args) { + assert(arguments[0] === a); + a = "a"; + assert(arguments[0] !== a); + assert(arguments[0] === 20); + assert(arguments.length === 2); + assert(args.length === 1); + assert(arguments[1] === args[0]); + arguments[1] = "b"; + assert(args[0] !== "b"); +} +noInline(strictModeLikeArgumentsObject); + +for (let i = 0; i < 10000; i++) { + let a1 = foo(10, 20); + assert(a1 instanceof Array); + assert(a1.length === 1); + assert(a1[0] === 20); + + let a2 = foo(10); + assert(a2 instanceof Array); + assert(a2.length === 0); + + let a3 = bar(10, 20); + assert(a3 === 30); + + let a4 = baz(10, 20); + assert(a4 === 30); + + let a5 = jaz("hello", "world"); + assert(a5 === "helloworld"); + + let a6 = kaz(undefined, 40); + assert(a6 === 50); + + let a7 = kaz(undefined, 40); + assert(a7 === 50); + + assert(restLength() === 0); + assert(restLength(1) === 0); + assert(restLength(1, 1) === 1); + assert(restLength(1, 1, 1) === 2); + assert(restLength(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) === 20); + + let obj = {foo: 40}; + testArgumentsObject("hello", obj, 100, 12.34, "world", obj, [1, 2, 3]); + + strictModeLikeArgumentsObject(20, 30); +} diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-having-a-bad-time.js b/implementation-contributed/javascriptcore/stress/rest-parameter-having-a-bad-time.js new file mode 100644 index 0000000000..cc0205b1c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-having-a-bad-time.js @@ -0,0 +1,68 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} +noInline(assert); + +function test1() { + function foo(...c) { + return c; + } + noInline(foo); + + let arr = [1,2,3]; + for (let i = 0; i < 10000; i++) { + let result = foo(...arr); + assert(result.length === 3); + assert(result.length === arr.length); + assert(result[0] === arr[0]); + assert(result[1] === arr[1]); + assert(result[2] === arr[2]); + } + + let called = false; + Reflect.defineProperty(Array.prototype, "10", { + get() { return 35; }, + set(x) { called = true; } + }); + let called2 = false; + Reflect.defineProperty(Array.prototype, "0", { + get: function() { print("In get!"); return 35; }, + set: function(x) { called2 = true; } + }); + + for (let i = 0; i < 10000; i++) { + let result = foo(...arr); + assert(result.length === 3); + assert(result[0] === arr[0]); + assert(result[0] === 1); + assert(result[1] === arr[1]); + assert(result[2] === arr[2]); + result[10] = 25; + assert(result[10] === 35); + assert(called); + called = false; + + result[0] = "foo"; + assert(!called2); // Creating a rest should defineProperty, ensuring we don't call the setter. + } + + for (let i = 0; i < 10000; i++) { + let result = foo(...arr); + assert(result.length === 3); + assert(result[0] === arr[0]); + assert(result[0] === 1); + assert(result[1] === arr[1]); + assert(result[2] === arr[2]); + result[11] = 35; + assert(result.length === 12); + result[10] = 25; + assert(result[10] === 35); + assert(called); + called = false; + + result[0] = "foo"; + assert(!called2); // Creating a rest should defineProperty, ensuring we don't call the setter. + } +} +test1(); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-inlined.js b/implementation-contributed/javascriptcore/stress/rest-parameter-inlined.js new file mode 100644 index 0000000000..92f266b2f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-inlined.js @@ -0,0 +1,38 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +function bar(...rest) { + return rest; +} + +function foo(a, b, c) { + return bar(a, b, c); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let result = foo(10, 20, 30); + assert(result.length === 3); + assert(result[0] === 10); + assert(result[1] === 20); + assert(result[2] === 30); +} + +function baz(...rest) { + return rest; +} +function jaz(a, b, c) { + return baz.apply(null, Array.prototype.slice.call(arguments)); +} +noInline(jaz); + +for (let i = 0; i < 50000; i++) { + let result = jaz(10, 20, 30); + assert(result.length === 3); + assert(result[0] === 10); + assert(result[1] === 20); + assert(result[2] === 30); +} diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-is-destructuring.js b/implementation-contributed/javascriptcore/stress/rest-parameter-is-destructuring.js new file mode 100644 index 0000000000..4ca72ec462 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-is-destructuring.js @@ -0,0 +1,88 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +function test(f, count = 1000) { + for (let i = 0; i < count; i++) + f(); +} + +function foo(a = function() { return c; }, ...[b = function() { return a; }, ...c]) { + assert(b()() === c); + assert(a() === c); +} + + +test(function() { + foo(undefined, undefined, {}); +}); + +function bar(a, ...{c}) { + return c; +} +test(function() { + assert(bar(10, 20, 30) === undefined); +}); + +function baz(...[{b}, {b: c}, ...d]) { + return [b, c, d]; +} +test(function() { + let o = {}; + + let result = baz({b: 20}, {b: 30}, 40, o); + assert(result.length === 3); + assert(result[0] === 20); + assert(result[1] === 30); + assert(result[2].length === 2); + assert(result[2][0] === 40); + assert(result[2][1] === o); +}); + +function jaz(...[...[...c]]) { + return c; +} +test(function() { + let result = jaz(10, 20); + assert(result.length === 2); + assert(result[0] === 10); + assert(result[1] === 20); +}); + +let raz = (a, ...[b, ...c]) => { + return [b, ...c]; +}; +test(function() { + let result = raz(10, 20, 30, 40); + assert(result.length === 3); + assert(result[0] === 20); + assert(result[1] === 30); + assert(result[2] === 40); +}); + +Array.prototype.c = 500; +test(function() { + assert(bar(10, 20, 30) === 500); +}); + +raz = (a, ...[b = function() { return c; }, ...c]) => { + return b(); +}; +test(function() { + let result = raz(undefined, undefined, 20, 30); + assert(result.length === 2); + assert(result[0] === 20); + assert(result[1] === 30); +}); + +raz = (a, ...[b = function() { return c; }, d = b(), ...c]) => { }; +test(function() { + let threw = false; + try { + raz(undefined, undefined, undefined, undefined); + } catch(e) { + threw = e instanceof ReferenceError; } + assert(threw); +}); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-many-arguments.js b/implementation-contributed/javascriptcore/stress/rest-parameter-many-arguments.js new file mode 100644 index 0000000000..9a2cb289c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-many-arguments.js @@ -0,0 +1,51 @@ +//@ if $architecture == "x86" then defaultSpotCheckNoMaximalFlush else defaultRun end + +function assert(b) { + if (!b) + throw new Error("Bad!") +} +noInline(assert); + +let calledGet = false; +let definedAccessor = false; +function test() { + function foo(...rest) { + return rest; + } + noInline(foo); + + for (let i = 0; i < 10000; i++) { + const size = 800; + let arr = new Array(size); + for (let i = 0; i < size; i++) + arr[i] = i; + let result = foo(...arr); + + assert(result.length === arr.length); + assert(result.length === size); + for (let i = 0; i < arr.length; i++) { + assert(arr[i] === result[i]); + assert(result[i] === i); + } + if (definedAccessor) { + calledGet = false; + result[0]; + assert(!calledGet); + arr[0]; + assert(calledGet); + + let testArr = [...arr]; + calledGet = false; + testArr[0]; + assert(!calledGet); + } + } +} +test(); + +definedAccessor = true; +Reflect.defineProperty(Array.prototype, "0", { + get() { calledGet = true; return 0; }, + set(x) { } +}); +test(); diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-negative.js b/implementation-contributed/javascriptcore/stress/rest-parameter-negative.js new file mode 100644 index 0000000000..632dad958c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-negative.js @@ -0,0 +1,21 @@ +function __f_5484(__v_22596) { + if (!__v_22596) throw new Error(); +} + +try { + noInline(__f_5484); +} catch (e) {} + +function __f_5485(...__v_22597) { + return __v_22597[-13]; +} + +try { + noInline(__f_5485); +} catch (e) {} + +for (let __v_22598 = 0; __v_22598 < 10000; __v_22598++) { + try { + __f_5484(__f_5485(__v_22598) === __v_22598); + } catch (e) {} +} diff --git a/implementation-contributed/javascriptcore/stress/rest-parameter-various-types.js b/implementation-contributed/javascriptcore/stress/rest-parameter-various-types.js new file mode 100644 index 0000000000..8efd934e29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/rest-parameter-various-types.js @@ -0,0 +1,98 @@ +function assert(b) { + if (!b) + throw new Error("Bad!"); +} +noInline(assert); + +function foo(a, b, ...c) { + return c; +} +noInline(foo); +function bar(a, b, ...c) { + return c; +} +noInline(bar); + +function baz(a, b, ...c) { // allow this to be inlined + return c; +} + +noInline(isNaN); + +function test1(f, iters) { + for (let i = 0; i < iters; i++) { + let result = f(10, 20, 20.5, 22.45, 23.50); + assert(result.length === 3); + assert(result[0] === 20.5) + assert(result[1] === 22.45) + assert(result[2] === 23.50); + } + + let o = {}; + let result = f(10, 20, 20.4, o, 20.2); + assert(result.length === 3); + assert(result[0] === 20.4) + assert(result[1] === o) + assert(result[2] === 20.2); + + result = f(10, 20, 20.4, 20.45, NaN); + assert(result.length === 3); + assert(result[0] === 20.4) + assert(result[1] === 20.45) + assert(isNaN(result[2])); +} +test1(foo, 1000); +test1(bar, 10000); +test1(baz, 10000); + +function makeTest2() { + return eval(`${Math.random()}; + ;(function test2(f, iters) { + let a = 10; + let b = 20; + for (let i = 0; i < iters; i++) { + if (i === iters - 2) { + b = {}; + } else if (i === iters - 1) { + b = NaN; + } + + let r = f(a, b); + assert(r.length === 2); + assert(r[0] === a || (isNaN(a) && isNaN(r[0]))); + assert(r[1] === b || (isNaN(b) && isNaN(r[1]))); + } + })`); +} +function f1(...rest) { return rest; } +function f2(...rest) { return rest; } +function f3(...rest) { return rest; } +makeTest2()(f1, 1000); +makeTest2()(f2, 10000); +makeTest2()(f3, 500000); + +function test3(f, iters) { + let o = {}; + for (let i = 0; i < iters; i++) { + let r = f(i, o, 25); + assert(r.length === 2 || r.length === 10000); + assert(r[0] === o); + assert(r[1] === 25); + if (r.length === 10000) + assert(r[9999] === 30); + } +} + +function f11(i, ...rest) { + if (i === 999) + rest[9999] = 30; + return rest; +} +function f22(i, ...rest) { + if (i === 49999) + rest[9999] = 30; + return rest; +} +test3(f11, 1000); +test3(f22, 50000); + diff --git a/implementation-contributed/javascriptcore/stress/retry-cache-later.js b/implementation-contributed/javascriptcore/stress/retry-cache-later.js new file mode 100644 index 0000000000..1f4cfdaedd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/retry-cache-later.js @@ -0,0 +1,18 @@ +//@ runNoCJIT("--useLLInt=false", "--useDFGJIT=false") + +function foo(o) { + return o.i7; +} + +var o = {}; +for (var i = 0; i < 100; ++i) + o["i" + i] = i; +for (var i = 0; i < 100; i+=2) + delete o["i" + i]; + +for (var i = 0; i < 100; ++i) { + var result = foo(o); + if (result != 7) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/right-left-context-invalidated-by-input.js b/implementation-contributed/javascriptcore/stress/right-left-context-invalidated-by-input.js new file mode 100644 index 0000000000..30274d780d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/right-left-context-invalidated-by-input.js @@ -0,0 +1,25 @@ +//@ runDefault + +function test(when) +{ + /bar/.exec("foo bar baz"); + + function validateContexts(when) + { + if (RegExp.leftContext !== "foo ") + throw "Error: " + when + ": bad leftContext: " + RegExp.leftContext; + if (RegExp.rightContext !== " baz") + throw "Error: " + when + ": bad rightContext: " + RegExp.rightContext; + } + + if (when === "before") + validateContexts("before"); + + RegExp.input = ""; + + if (when === "after") + validateContexts("after"); +} + +test("before"); +test("after"); diff --git a/implementation-contributed/javascriptcore/stress/ropes-symbol-toprimitive.js b/implementation-contributed/javascriptcore/stress/ropes-symbol-toprimitive.js new file mode 100644 index 0000000000..f6dcf19219 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/ropes-symbol-toprimitive.js @@ -0,0 +1,28 @@ +function ropify(a,b,c) { + return a + b + c; +} +noInline(ropify); + +function ropify2(a,b,c) { + return a + b + c; +} +noInline(ropify2); + +let test = new String("test"); + +for (let i = 0; i < 100000; i++) { + if (ropify("a", "b", test) !== "abtest") + throw "wrong on warmup"; +} + +String.prototype[Symbol.toPrimitive] = function() { return "changed"; } + +if (ropify("a", "b", test) !== "abchanged") + throw "watchpoint didn't fire"; + + +// Test we don't start doing the wrong thing if the prototype chain has been mucked with. +for (let i = 0; i < 100000; i++) { + if (ropify2("a", "b", test) !== "abchanged") + throw "wrong on warmup"; +} diff --git a/implementation-contributed/javascriptcore/stress/runtime-array.js b/implementation-contributed/javascriptcore/stress/runtime-array.js new file mode 100644 index 0000000000..2372750098 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/runtime-array.js @@ -0,0 +1,15 @@ +var createRuntimeArray = $vm.createRuntimeArray; + +function testArrayConcat() { + var array = createRuntimeArray(1, 2, 3); + var result = array.concat(); + + if (result.length != 3) + throw new Error("Runtime array length is incorrect"); + for (var i = 0; i < result.length; i++) { + if (result[i] != i + 1) + throw new Error("Runtime array concat result is incorrect"); + } +}; + +testArrayConcat(); diff --git a/implementation-contributed/javascriptcore/stress/runtime-throw-through-optimized-code.js b/implementation-contributed/javascriptcore/stress/runtime-throw-through-optimized-code.js new file mode 100644 index 0000000000..1d9df1ddfb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/runtime-throw-through-optimized-code.js @@ -0,0 +1,33 @@ +function foo(a, s) { + return a[s] + 1; +} + +var shouldThrow = false; +function bar() { + if (shouldThrow) + throw "hello"; + return 42; +} + +var a = {}; +a.__defineGetter__("bar", bar); + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = foo(a, "bar"); + if (result != 43) + throw "Error: bad result: " + result; +} + +var didThrow; +try { + shouldThrow = true; + foo(a, "bar"); +} catch (e) { + didThrow = e; +} + +if (didThrow != "hello") + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-anonymous-function.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-anonymous-function.js new file mode 100644 index 0000000000..5876df74cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-anonymous-function.js @@ -0,0 +1,22 @@ +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + function foo(f) { + f(); + } + + function baz() { + foo(function() { + let x = 0; + let o = {}; + for (let i = 0; i < 5000; i++) { + o[i] = i; + i++; + i--; + x++; + } + }); + } + + runTest(baz, ["(anonymous function)", "foo", "baz"]); +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-basic.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-basic.js new file mode 100644 index 0000000000..c122870dad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-basic.js @@ -0,0 +1,44 @@ +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + function bar(y) { + let x; + for (let i = 0; i < 20; i++) + x = new Error(); + return x; + } + noInline(bar); + + function foo() { + bar(1000); + } + noInline(foo); + + function nothing(x) { return x; } + noInline(nothing); + + runTest(foo, ["Error", "bar", "foo"]); + + function top() { + let x = 0; + for (let i = 0; i < 25; i++) { + x++; + x--; + } + } + + function jaz(x) { return x + top(); } + function kaz(y) { + return jaz(y) + 5; + } + function checkInlining() { + for (let i = 0; i < 100; i++) + kaz(104); + } + + // Tier it up. + for (let i = 0; i < 1000; i++) + checkInlining(); + + runTest(checkInlining, ["jaz", "kaz", "checkInlining"]); +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-bound-function-name.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-bound-function-name.js new file mode 100644 index 0000000000..7ebaa433a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-bound-function-name.js @@ -0,0 +1,28 @@ +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + function foo() { + let o = {}; + for (let i = 0; i < 100; i++) { + o[i + "p"] = i; + } + } + + function bar() { + let o = {}; + for (let i = 0; i < 100; i++) { + o[i + "p"] = i; + } + } + + let boundFoo = foo.bind(null); + let boundBar = bar.bind(null); + + let baz = function() { + boundFoo(); + boundBar(); + } + + runTest(baz, ["foo", "bound foo", "baz"]); + runTest(baz, ["bar", "bound bar", "baz"]); +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-deep-stack.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-deep-stack.js new file mode 100644 index 0000000000..c339691638 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-deep-stack.js @@ -0,0 +1,33 @@ +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + function foo(x) { + let o = {}; + for (let i = 0; i < 1000; i++) { + let x = i; + x--; + o["x" + x] = x; + } + return x; + } + noInline(foo); + const limit = 300; + let hellaDeep = function(i) { + if (i < limit) + hellaDeep(i + 1); + else + foo(i); + } + + let start = function() { + hellaDeep(1); + } + + let stackTrace = []; + stackTrace.push("foo"); + for (let i = 0; i < limit; i++) + stackTrace.push("hellaDeep"); + stackTrace.push("start"); + + runTest(start, stackTrace); +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-display-name.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-display-name.js new file mode 100644 index 0000000000..dab71080a7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-display-name.js @@ -0,0 +1,49 @@ +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + function foo() { + let o = {}; + for (let i = 0; i < 500; i++) + o[i + "p"] = i; + } + foo.displayName = "display foo"; + runTest(foo, ["display foo"]); + + + function baz() { + let o = {}; + for (let i = 0; i < 500; i++) + o[i + "p"] = i; + } + Object.defineProperty(baz, 'displayName', { get: function() { throw new Error("shouldnt be called"); } }); // We should ignore this because it's a getter. + runTest(baz, ["baz"]); + + + function bar() { + let o = {}; + for (let i = 0; i < 500; i++) + o[i + "p"] = i; + } + bar.displayName = 20; // We should ignore this because it's not a string. + runTest(bar, ["bar"]); + + function jaz() { + let o = {}; + for (let i = 0; i < 500; i++) + o[i + "p"] = i; + } + jaz.displayName = ""; // We should ignore this because it's the empty string. + runTest(jaz, ["jaz"]); + + function makeFunction(displayName) { + let result = function() { + let o = {}; + for (let i = 0; i < 500; i++) + o[i + "p"] = i; + }; + result.displayName = displayName; + return result; + } + + runTest(makeFunction("hello world"), ["hello world"]) +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-internal-function-name.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-internal-function-name.js new file mode 100644 index 0000000000..8892ca3503 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-internal-function-name.js @@ -0,0 +1,17 @@ +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + function foo() { + let x; + for (let i = 0; i < 1000; i++) + x = new Error(); + } + runTest(foo, ["Error", "foo"]); + + function bar() { + let x; + for (let i = 0; i < 1000; i++) + x = new Function(); + } + runTest(bar, ["Function", "bar"]); +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler-microtasks.js b/implementation-contributed/javascriptcore/stress/sampling-profiler-microtasks.js new file mode 100644 index 0000000000..ce35d16ab1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler-microtasks.js @@ -0,0 +1,56 @@ +var abort = $vm.abort; + +if (platformSupportsSamplingProfiler()) { + load("./sampling-profiler/samplingProfiler.js"); + + let tree = null; + function testResults() { + if (!tree) + tree = makeTree(); + else + updateCallingContextTree(tree); + + let result = doesTreeHaveStackTrace(tree, ["jar", "hello", "promiseReactionJob"], false); + return result; + } + + let o1 = {}; + let o2 = {}; + function jar(x) { + for (let i = 0; i < 1000; i++) { + o1[i] = i; + o2[i] = i + o1[i]; + i++; + i--; + } + return x; + } + noInline(jar) + + let numLoops = 0; + function loop() { + let counter = 0; + const numPromises = 100; + function jaz() { + Promise.resolve(42).then(function hello(v1) { + for (let i = 0; i < 100; i++) + jar(); + counter++; + if (counter >= numPromises) { + numLoops++; + if (!testResults()) { + if (numLoops > 5) + abort(); + else + loop(); + } + } + }); + } + + for (let i = 0; i < numPromises; i++) + jaz(); + } + + loop(); +} diff --git a/implementation-contributed/javascriptcore/stress/sampling-profiler/samplingProfiler.js b/implementation-contributed/javascriptcore/stress/sampling-profiler/samplingProfiler.js new file mode 100644 index 0000000000..3767a230f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sampling-profiler/samplingProfiler.js @@ -0,0 +1,90 @@ +if (!platformSupportsSamplingProfiler()) + throw new Error("Sampling profiler not supported"); + +startSamplingProfiler(); + +function assert(b) { + if (!b) + throw new Error("bad stack trace") +} + +let nodePrototype = { + makeChildIfNeeded: function(name) { + if (!this.children[name]) + this.children[name] = makeNode(name); + return this.children[name]; + } +}; + +function makeNode(name) { + let node = Object.create(nodePrototype); + node.name = name; + node.children = {}; + return node +} + +function updateCallingContextTree(root) { + let stacktraces = samplingProfilerStackTraces(); + for (let stackTrace of stacktraces) { + let node = root; + for (let i = stackTrace.length; i--; ) { + let functionName = stackTrace[i]; + node = node.makeChildIfNeeded(functionName); + } + } +} + +function doesTreeHaveStackTrace(tree, stackTrace, isRunFromRunTest = true, verbose = false) { + // stack trace should be top-down array with the deepest + // call frame at index 0. + if (isRunFromRunTest) + stackTrace = [...stackTrace, "runTest", "(program)"]; + else + stackTrace = [...stackTrace]; + + let node = tree; + for (let i = stackTrace.length; i--; ) { + node = node.children[stackTrace[i]]; + if (!node) { + if (verbose) + print("failing on " + i + " : " + stackTrace[i]); + return false; + } + } + return true; +} + +function makeTree() { + let root = makeNode(""); + updateCallingContextTree(root); + return root; +} + +const VERBOSE = false; +// This test suite assumes that "runTest" is being called +// from the global scope. +function runTest(func, stackTrace) { + const timeToFail = 50000; + let startTime = Date.now(); + let root = makeNode(""); + do { + for (let i = 0; i < 100; i++) { + for (let i = 0; i < 10; i++) { + func(); + } + updateCallingContextTree(root); + if (doesTreeHaveStackTrace(root, stackTrace)) { + if (VERBOSE) + print(`Time to finish: ${Date.now() - startTime}`); + return; + } + } + } while (Date.now() - startTime < timeToFail); + print(JSON.stringify(root, undefined, 2)); + doesTreeHaveStackTrace(root, stackTrace, true, true); + throw new Error("Bad stack trace"); +} + +function dumpTree(tree) { + print(JSON.stringify(tree, undefined, 2)); +} diff --git a/implementation-contributed/javascriptcore/stress/scoped-arguments-array-length.js b/implementation-contributed/javascriptcore/stress/scoped-arguments-array-length.js new file mode 100644 index 0000000000..3217bd3376 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/scoped-arguments-array-length.js @@ -0,0 +1,17 @@ +function foo(a) { + var result = 0; + if (!a) + return function() { return a }; + for (var i = 0; i < arguments.length; ++i) + result += arguments[i]; + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42, i); + if (result != 42 + i) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/scoped-arguments-out-of-bounds-change-structure.js b/implementation-contributed/javascriptcore/stress/scoped-arguments-out-of-bounds-change-structure.js new file mode 100644 index 0000000000..533437d6e3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/scoped-arguments-out-of-bounds-change-structure.js @@ -0,0 +1,30 @@ +function foo(o) +{ + var theO = (function() { return o; })(); + var x = theO.f; + arguments[42]; + return x + theO.f; +} + +// Break some watchpoints. +var o = {f:24}; +o.g = 43; + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}); + if (result != 84) + throw "Error: bad result: " + result; +} + +var globalO = {f:42}; +Object.prototype.__defineGetter__(42, function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { return 75; }); + return 33; +}); +var result = foo(globalO); +if (result != 42 + 75) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/scoped-arguments-test.js b/implementation-contributed/javascriptcore/stress/scoped-arguments-test.js new file mode 100644 index 0000000000..838c91b5a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/scoped-arguments-test.js @@ -0,0 +1,16 @@ +function foo(a) +{ + (function() { return a; })(); + return [arguments[0], arguments]; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42); + if (result[0] != 42) + throw new Error("result[0] is not 42: " + result[0]); + if (result[1][0] != 42) + throw new Error("result[1][0] is not 42: " + result[1][0]); +} + diff --git a/implementation-contributed/javascriptcore/stress/scoped-arguments-write-barrier-should-be-on-scope-object.js b/implementation-contributed/javascriptcore/stress/scoped-arguments-write-barrier-should-be-on-scope-object.js new file mode 100644 index 0000000000..78c1ea6e56 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/scoped-arguments-write-barrier-should-be-on-scope-object.js @@ -0,0 +1,35 @@ +//@ runDefault +// This test should not crash. + +var arr = []; +let numberOfIterations = 1000; + +function captureScopedArguments(i) { + try { + eval("arr[" + i + "] = arguments"); + } catch(e) { + } +} + +function addPointersToEdenGenObjects(i) { + Array.prototype.push.call(arr[i], [,,]); + + try { + Array.prototype.reverse.call(arr[i]) + } catch (e) { + } +} + +for (var i = 0; i < numberOfIterations; i++) { + captureScopedArguments(i); +} + +gc(); // Promote those ScopeArguments to the old generation. + +for (var i = 0; i < numberOfIterations; i++) { + addPointersToEdenGenObjects(i); +} + +edenGC(); // Do eden GC to scan the remembered set which should include the ScopedArguments. + +gc(); // Scan the ScopedArguments again. They better not point to collected objects. diff --git a/implementation-contributed/javascriptcore/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js b/implementation-contributed/javascriptcore/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js new file mode 100644 index 0000000000..7c821043a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/scoped-then-direct-arguments-get-by-val-in-baseline.js @@ -0,0 +1,30 @@ +function direct() { + return arguments; +} + +function scoped(a) { + if (!effectful42()) + return function() { return a; } + return arguments; +} + +function foo(a) { + try { + return a[0]; + } catch (e) { + return -23; + } +} + +for (var i = 0; i < 100; ++i) { + var result = foo(scoped(42)); + if (result != 42) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100; ++i) { + var result = foo(direct(42)); + if (result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/set-add-check-failure.js b/implementation-contributed/javascriptcore/stress/set-add-check-failure.js new file mode 100644 index 0000000000..32bd6c1622 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-add-check-failure.js @@ -0,0 +1,35 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var func = Set.prototype.add; +function target(set) +{ + return func.call(set, 42); +} +noInline(target); + +for (var i = 0; i < 1e6; ++i) { + var set = new Set(); + shouldBe(target(set), set); + shouldBe(set.has(42), true); +} +shouldThrow(() => { + target(new Map()); +}, `TypeError: Set operation called on non-Set object`); diff --git a/implementation-contributed/javascriptcore/stress/set-add-clobber-set-has.js b/implementation-contributed/javascriptcore/stress/set-add-clobber-set-has.js new file mode 100644 index 0000000000..1f2dc9a88d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-add-clobber-set-has.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var set = new Set(); + var res1 = set.has(42); + set.add(42); + var res2 = set.has(42); + return [res1, res2]; +} + +for (var i = 0; i < 1e6; ++i) { + var [res1, res2] = test(); + shouldBe(res1, false); + shouldBe(res2, true); +} diff --git a/implementation-contributed/javascriptcore/stress/set-add-create-bucket.js b/implementation-contributed/javascriptcore/stress/set-add-create-bucket.js new file mode 100644 index 0000000000..879c6368f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-add-create-bucket.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var set = new Set(); + var res1 = set.has(42); + set.add(42); + var res2 = set.has(42); + set.add(42); + var res3 = set.has(42); + set.delete(42); + var res4 = set.has(42); + return [res1, res2, res3, res4]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var [res1, res2, res3, res4] = test(); + shouldBe(res1, false); + shouldBe(res2, true); + shouldBe(res3, true); + shouldBe(res4, false); +} diff --git a/implementation-contributed/javascriptcore/stress/set-add-cse.js b/implementation-contributed/javascriptcore/stress/set-add-cse.js new file mode 100644 index 0000000000..b2252aa486 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-add-cse.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var set = new Set(); + var r1 = set.has(42); + set.add(42); + var r2 = set.has(42); + return [r1, r2]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + let [r1, r2] = test(); + shouldBe(r1, false); + shouldBe(r2, true); +} diff --git a/implementation-contributed/javascriptcore/stress/set-add-does-not-clobber-map-get.js b/implementation-contributed/javascriptcore/stress/set-add-does-not-clobber-map-get.js new file mode 100644 index 0000000000..120e8ed791 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-add-does-not-clobber-map-get.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new Map(); + var set = new Set(); + map.set(42, 42); + var res1 = map.get(42); + set.add(42); + var res2 = map.get(42); + return res1 + res2; +} + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(), 84); diff --git a/implementation-contributed/javascriptcore/stress/set-clone-instance-iterator-change.js b/implementation-contributed/javascriptcore/stress/set-clone-instance-iterator-change.js new file mode 100644 index 0000000000..340bb2585c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-clone-instance-iterator-change.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let set = new Set([0, 1, 2, 3, 4]); +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, set.size); +} + +set[Symbol.iterator] = function () { return [][Symbol.iterator](); }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/set-clone-iterator-change.js b/implementation-contributed/javascriptcore/stress/set-clone-iterator-change.js new file mode 100644 index 0000000000..0c001c61b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-clone-iterator-change.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let set = new Set([0, 1, 2, 3, 4]); +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, set.size); +} + +Set.prototype[Symbol.iterator] = function () { return [][Symbol.iterator](); }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/set-clone-next-change.js b/implementation-contributed/javascriptcore/stress/set-clone-next-change.js new file mode 100644 index 0000000000..78db528cbc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-clone-next-change.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let set = new Set([0, 1, 2, 3, 4]); +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, set.size); +} + +set[Symbol.iterator]().__proto__.next = function () { return {done:true}; }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/set-clone.js b/implementation-contributed/javascriptcore/stress/set-clone.js new file mode 100644 index 0000000000..835a2bd311 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-clone.js @@ -0,0 +1,16 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let set = new Set([0, 1, 2, 3, 4]); +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, set.size); +} +Set.prototype.add = function empty(value) { }; +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/set-constructor-adder.js b/implementation-contributed/javascriptcore/stress/set-constructor-adder.js new file mode 100644 index 0000000000..c69ae91f39 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-constructor-adder.js @@ -0,0 +1,34 @@ +// Set constructor with adder change. + +var originalAdder = Set.prototype.add; +var counter = 0; + +Set.prototype.add = function (value) { + counter++; + return originalAdder.call(this, value); +}; + +var values = [0, 1, 2, 3, 4, 5, 4, 3, 2, 1, 0]; +var set = new Set(values); +if (set.size !== 6) + throw "Error: bad set size " + set.size; +if (counter !== values.length) + throw "Error: bad counter " + counter; + +Set.prototype.add = function () { + throw new Error("adder called"); +}; + +var set = new Set(); +var set = new Set([]); +var error = null; +try { + var set = new Set([0]); +} catch (e) { + error = e; +} +if (!error) + throw "Error: error not thrown"; +if (String(error) !== "Error: adder called") + throw "Error: bad error " + String(error); + diff --git a/implementation-contributed/javascriptcore/stress/set-constructor.js b/implementation-contributed/javascriptcore/stress/set-constructor.js new file mode 100644 index 0000000000..958cb3b2d1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-constructor.js @@ -0,0 +1,69 @@ +// Set constructor behaviors. + +if (typeof Set !== 'function') + throw "Error: bad value" + typeof Set; + +function testCallTypeError(item) { + var error = null; + try { + var set = Set(item); + } catch (e) { + error = e; + } + if (!error) + throw "Error: error not thrown"; + if (String(error) !== "TypeError: calling Set constructor without new is invalid") + throw "Error: bad error " + String(error); +} + +var pass = [ + [ null, 0 ], + [ undefined, 0 ], + [ "Cocoa", 4 ], + [ [0, 1, 2, 3, 4], 5 ], + [ [0, 0, 0, 1, 0], 2 ], + [ ["A", "B", "A"], 2 ], + [ new String("cocoa"), 3 ], + [ new String("Cocoa"), 4 ], + [ new Set([0,1,2,3,4]), 5], + [ new Set([1,1,1,1]), 1], + [ new Map([[1, 2],[1, 2]]), 1], + [ new Map([[1, 2],[2, 2]]), 2], +]; + +for (var pair of pass) { + var set = new Set(pair[0]); + if (set.size !== pair[1]) + throw "Error: bad set size " + set.size; + testCallTypeError(pair[0]); +} + +function testTypeError(item) { + var error = null; + try { + var set = new Set(item); + } catch (e) { + error = e; + } + if (!error) + throw "Error: error not thrown"; + if (String(error) !== "TypeError: Type error") + throw "Error: bad error " + String(error); +} + +var nonIterable = [ + 42, + Symbol("Cappuccino"), + true, + false, + {}, + new Date(), + new Error(), + Object(Symbol("Matcha")), + (function () { }), +]; + +for (var item of nonIterable) { + testTypeError(item); + testCallTypeError(item); +} diff --git a/implementation-contributed/javascriptcore/stress/set-inherit-add.js b/implementation-contributed/javascriptcore/stress/set-inherit-add.js new file mode 100644 index 0000000000..8985d296ec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-inherit-add.js @@ -0,0 +1,28 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +let set = new Set([0, 1, 2, 3, 4]); +for (let i = 0; i < 1e2; ++i) { + let cloned = new Set(set); + shouldBe(cloned.size, set.size); +} + +class DerivedSet extends Set { + constructor(set) + { + super(set); + } + + add(value) + { + // ignore. + } +} + +for (let i = 0; i < 1e2; ++i) { + let cloned = new DerivedSet(set); + shouldBe(cloned.size, 0); +} diff --git a/implementation-contributed/javascriptcore/stress/set-iterator-result-should-have-expected-shape.js b/implementation-contributed/javascriptcore/stress/set-iterator-result-should-have-expected-shape.js new file mode 100644 index 0000000000..5b7d12bae8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-iterator-result-should-have-expected-shape.js @@ -0,0 +1,33 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +{ + let set = new Set(); + set.add(42); + let iterator = set[Symbol.iterator](); + { + let result = iterator.next(); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`); + shouldBe(result.done, false); + shouldBe(result.value, 42); + } + { + let result = iterator.next(); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`); + shouldBe(result.done, true); + shouldBe(result.value, undefined); + } +} + +{ + let set = new Set(); + let iterator = set[Symbol.iterator](); + { + let result = iterator.next(); + shouldBe(JSON.stringify(Object.getOwnPropertyNames(result).sort()), `["done","value"]`); + shouldBe(result.done, true); + shouldBe(result.value, undefined); + } +} diff --git a/implementation-contributed/javascriptcore/stress/set-iterators-next.js b/implementation-contributed/javascriptcore/stress/set-iterators-next.js new file mode 100644 index 0000000000..a0e416525c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-iterators-next.js @@ -0,0 +1,115 @@ +// This test checks the behavior of the iterator.next methods on Set objects + +var testArray = [1,2,3,4,5,6] +var testSet = new Set(); +for (var [key, value] of testArray.entries()) { + testSet.add(value); +} +var keys = testSet.keys(); +var i = 0; +while (true) { + var {done, value: key} = keys.next(); + if (done) + break; + if (testArray.indexOf(key) === -1) + throw "Error: bad value: " + key; + i++; +} + +if (testSet.size !== i) + throw "Error: bad value: " + i; + +var value = keys.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var values = testSet.values(); +var i = 0; +while (true) { + var {done, value} = values.next(); + if (done) + break; + i++; + if (testArray.indexOf(value) === -1) + throw "Error: bad value: " + value; +} + +if (testSet.size !== i) + throw "Error: bad value: " + i; + +var value = values.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var entries = testSet.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (key !== value) + throw "Error: bad value: " + key + " " + value; + if (!testSet.has(value)) + throw "Error: bad value: " + value; + if (!testSet.has(key)) + throw "Error: bad value: " + key; + i++; + if (testArray.indexOf(value) === -1) + throw "Error: bad value: " + value + " " + i; +} while (!done); + +if (testSet.size !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var entries = testSet.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (key !== value) + throw "Error: bad value: " + key + " " + value; + if (!testSet.has(key)) + throw "Error: bad value: " + value; + i++; + if (i % 4 === 0) + testSet.add(100000 + i); +} while (!done); + +if (testSet.size !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; + +function otherKey(key) { + return (key + 1) % testArray.length; +} + +var entries = testSet.entries(); +var i = 0; +do { + var {done, value: entry} = entries.next(); + if (done) + break; + var [key, value] = entry; + if (!testSet.has(key)) + throw "Error: bad value: " + value + " " + testSet.get(key); + i++; + if (i % 4 === 0) + testSet.delete(otherKey(key)); +} while (!done); + +if (testSet.size !== i) + throw "Error: bad value: " + i; + +var value = entries.next().value; +if (value !== undefined) + throw "Error: bad value: " + value; diff --git a/implementation-contributed/javascriptcore/stress/set-same-prototype.js b/implementation-contributed/javascriptcore/stress/set-same-prototype.js new file mode 100644 index 0000000000..65f5c7118b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-same-prototype.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var proto = {}; +var object = Object.preventExtensions(Object.create(proto)); + +shouldBe(Object.setPrototypeOf(object, proto), object); +shouldThrow(() => { + Object.setPrototypeOf(object, {}); +}, `TypeError: Attempted to assign to readonly property.`); +shouldBe(Reflect.getPrototypeOf(object), proto); + +shouldBe(Reflect.setPrototypeOf(object, proto), true); +shouldBe(Reflect.setPrototypeOf(object, {}), false); +shouldBe(Reflect.getPrototypeOf(object), proto); + +object.__proto__ = proto; +shouldThrow(() => { + object.__proto__ = {}; +}, `TypeError: Attempted to assign to readonly property.`); +shouldBe(object.__proto__, proto); diff --git a/implementation-contributed/javascriptcore/stress/set-untyped-normalize-cse.js b/implementation-contributed/javascriptcore/stress/set-untyped-normalize-cse.js new file mode 100644 index 0000000000..d2587497dd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-untyped-normalize-cse.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var keys = [ + "Cappuccino", + -0.0, + Symbol("Cocoa"), + 42, + -42, + null, + undefined, + 420.5, + 0xffffffff, + 0x80000000, + -1, + -2147483648, + {}, + [], + false, + true, + NaN, +]; + +let i = 0; +let set = new Set(); +for (let key of keys) + set.add(key); + +function test(set, key) +{ + return set.has(key) + set.has(key); +} +noInline(test); + +for (let i = 0; i < 1e4; ++i) { + let j = 0; + for (let key of keys) { + shouldBe(test(set, key), 2); + } +} +shouldBe(test(set, 0.0), 2); diff --git a/implementation-contributed/javascriptcore/stress/set-untyped-normalize.js b/implementation-contributed/javascriptcore/stress/set-untyped-normalize.js new file mode 100644 index 0000000000..22c4eac58c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/set-untyped-normalize.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var keys = [ + "Cappuccino", + -0.0, + Symbol("Cocoa"), + 42, + -42, + null, + undefined, + 420.5, + 0xffffffff, + 0x80000000, + -1, + -2147483648, + {}, + [], + false, + true, + NaN, +]; + +let i = 0; +let set = new Set(); +for (let key of keys) + set.add(key); + +function test(set, key) +{ + return set.has(key); +} +noInline(test); + +for (let i = 0; i < 1e4; ++i) { + let j = 0; + for (let key of keys) { + shouldBe(test(set, key), true); + } +} +shouldBe(test(set, 0.0), true); diff --git a/implementation-contributed/javascriptcore/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js b/implementation-contributed/javascriptcore/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js new file mode 100644 index 0000000000..095135791f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/setter-same-base-and-rhs-invalid-assertion-inside-access-case.js @@ -0,0 +1,17 @@ +function ctor() {} +ctor.prototype.__defineSetter__("f", function () { }); + +function theFunc(o) { + o.f = o; +} +noInline(theFunc); +function run(o) { + theFunc(o); +} + +for (let i = 0; i < 100000; ++i) { + run(new ctor()) + let o = new ctor(); + o.g = 54; + run(o); +} diff --git a/implementation-contributed/javascriptcore/stress/setter.js b/implementation-contributed/javascriptcore/stress/setter.js new file mode 100644 index 0000000000..c13d8d5a15 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/setter.js @@ -0,0 +1,47 @@ +function foo(o, v1) { + o.f = v1; + o.k = v1 * 33; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) { + var o = {g_: 5}; + o.__defineSetter__("f", function(value) { this.g_ += 42 * value; }); + o.__defineSetter__("g", function(value) { this.g_ += 43 * value; }); + o.__defineSetter__("h", function(value) { this.g_ += 44 * value; }); + o.__defineSetter__("i", function(value) { this.g_ += 45 * value; }); + o.__defineSetter__("j", function(value) { this.g_ += 46 * value; }); + o.__defineSetter__("k", function(value) { this.g_ += 47 * value; }); + foo(o, 29); + if (o.g_ != 5 + 42 * 29 + 29 * 47 * 33) + throw "Error: bad result: " + o.g_; +} + +// Test the case where those fields aren't setters anymore. +var o = {g_: 5}; +o.f = 1; +o.g = 2; +o.h = 3; +o.i = 4; +o.j = 5; +o.k = 6; +foo(o, 29); +if (o.g_ != 5) + throw "Error: bad value of g_: " + o.g_; +if (o.f != 29) + throw "Error: bad value of f: " + o.f; +if (o.k != 29 * 33) + throw "Error: bad value of k: " + o.k; + +// Test the case where they are setters but they're not the same setters. +var o = {g_: 5}; +o.__defineSetter__("f", function(value) { this.g_ += 52 * value; }); +o.__defineSetter__("g", function(value) { this.g_ += 53 * value; }); +o.__defineSetter__("h", function(value) { this.g_ += 54 * value; }); +o.__defineSetter__("i", function(value) { this.g_ += 55 * value; }); +o.__defineSetter__("j", function(value) { this.g_ += 56 * value; }); +o.__defineSetter__("k", function(value) { this.g_ += 57 * value; }); +foo(o, 29); +if (o.g_ != 5 + 52 * 29 + 29 * 57 * 33) + throw "Error: bad result at end: " + o.g_; diff --git a/implementation-contributed/javascriptcore/stress/shadow-chicken-disabled.js b/implementation-contributed/javascriptcore/stress/shadow-chicken-disabled.js new file mode 100644 index 0000000000..a731003188 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/shadow-chicken-disabled.js @@ -0,0 +1,56 @@ +//@ runNoFTL; runNoLLInt; runFTLNoCJITValidate + +"use strict"; + +var verbose = false; +load("resources/shadow-chicken-support.js"); +initialize(); + +(function test1() { + function foo() { + expectStack([foo, test1]); + } + + function bar() { + return foo(); + } + + function baz() { + return bar(); + } + + baz(); +})(); + +(function test2() { + function foo() { + } + + function bar() { + return foo(); + } + + function baz() { + return bar(); + } + + baz(); +})(); + +(function test3() { + function foo() { + expectStack([foo, test3]); + } + + function bar() { + return foo(); + } + + function baz() { + return bar(); + } + + baz(); +})(); + + diff --git a/implementation-contributed/javascriptcore/stress/shadow-chicken-enabled.js b/implementation-contributed/javascriptcore/stress/shadow-chicken-enabled.js new file mode 100644 index 0000000000..19cf73d040 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/shadow-chicken-enabled.js @@ -0,0 +1,210 @@ +//@ runShadowChicken + +"use strict"; + +var shadowChickenFunctionsOnStack = $vm.shadowChickenFunctionsOnStack; + +var verbose = false; + +load("resources/shadow-chicken-support.js"); +initialize(); + +(function test1() { + function foo() { + expectStack([foo, bar, baz, test1]); + } + + function bar() { + return foo(); + } + + function baz() { + return bar(); + } + + baz(); +})(); + +(function test2() { + function foo() { + } + + function bar() { + return foo(); + } + + function baz() { + return bar(); + } + + baz(); +})(); + +(function test3() { + if (verbose) { + print("test3:"); + print("bob = " + describe(bob)); + print("thingy = " + describe(thingy)); + print("foo = " + describe(foo)); + print("bar = " + describe(bar)); + print("baz = " + describe(baz)); + } + + function bob() { + if (verbose) + print("Doing bob..."); + expectStack([bob, thingy, foo, bar, baz, test3]); + } + + function thingy() { + return bob(); + } + + function foo() { + if (verbose) + print("Doing foo..."); + expectStack([foo, bar, baz, test3]); + return thingy(); + } + + function bar() { + return foo(); + } + + function baz() { + return bar(); + } + + baz(); +})(); + +(function test4() { + if (verbose) { + print("test4:"); + print("bob = " + describe(bob)); + print("thingy = " + describe(thingy)); + print("foo = " + describe(foo)); + print("bar = " + describe(bar)); + print("baz = " + describe(baz)); + } + + function bob(thingyIsTail) { + if (verbose) + print("Doing bob..."); + expectStack([bob, thingy, foo, bar, baz, test4]); + } + + function thingy(isTail) { + bob(false); + return bob(isTail); + } + + function foo() { + if (verbose) + print("Doing foo..."); + expectStack([foo, bar, baz, test4]); + thingy(false); + return thingy(true); + } + + function bar() { + foo(); + return foo(); + } + + function baz() { + bar(); + return bar(); + } + + baz(); +})(); + +(function test5a() { + if (verbose) + print("In test5a:"); + var foos = 50; + + function foo(ttl) { + if (ttl <= 1) { + var array = []; + for (var i = 0; i < foos; ++i) + array.push(foo); + array.push(test5a); + expectStack(array); + return; + } + return foo(ttl - 1); + } + + foo(foos); +})(); + +(function test5b() { + if (verbose) + print("In test5b:"); + var foos = 100; + + function foo(ttl) { + if (ttl <= 1) { + var array = []; + for (var i = 0; i < foos; ++i) + array.push(foo); + array.push(test5b); + expectStack(array); + return; + } + return foo(ttl - 1); + } + + foo(foos); +})(); + +(function test6() { + if (verbose) { + print("In test6"); + print("foo = " + describe(foo)); + print("array.push = " + describe([].push)); + } + + var foos = 128; + + function foo(ttl) { + if (ttl <= 1) { + var array = []; + for (var i = 0; i < foos; ++i) + array.push(foo); + array.push(test6); + expectStack(array); + return; + } + return foo(ttl - 1); + } + + foo(foos); + + if (verbose) + print("Done with test6."); +})(); + +(function test7() { + var foos = 200000; + + function foo(ttl) { + if (ttl <= 1) { + var stack = shadowChickenFunctionsOnStack(); + var expectedStack = []; + expectedStack.push(shadowChickenFunctionsOnStack); + while (expectedStack.length < stack.length - 2) + expectedStack.push(foo); + expectedStack.push(test7); + expectedStack.push(stackTop); + compareStacks(stack, expectedStack); + return; + } + return foo(ttl - 1); + } + + foo(foos); +})(); + diff --git a/implementation-contributed/javascriptcore/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js b/implementation-contributed/javascriptcore/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js new file mode 100644 index 0000000000..fd918f869e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/shadow-chicken-reading-from-scope-after-ftl-osr-exit-bytecode-liveness.js @@ -0,0 +1,17 @@ +//@ runNoCJIT("--forceDebuggerBytecodeGeneration=true", "--alwaysUseShadowChicken=true") + +"use strict"; + +function foo(b) { + if (b) + throw "foo"; + return b; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) + foo(false); + +try { + foo(true); +} catch(e) { } diff --git a/implementation-contributed/javascriptcore/stress/simple-ai-effect.js b/implementation-contributed/javascriptcore/stress/simple-ai-effect.js new file mode 100644 index 0000000000..f05d208b1b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-ai-effect.js @@ -0,0 +1,39 @@ +var doEffect = false; +var didEffect = false; + +function bar(o, p) +{ + if (doEffect) { + delete p.g; + p.__defineGetter__("g", () => { + didEffect = true; + return 42; + }); + } +} + +noInline(bar); + +function foo(o, p) { + var result = o.f + p.g; + bar(o, p); + return result + o.f + p.g; +} + +noInline(foo); + +var o = {g: 1}; +o.h = 2; + +for (var i = 0; i < 10000; ++i) { + var result = foo({f: 1}, {g: 3}); + if (result != 8) + throw "Error: bad result in loop: " + result; +} + +doEffect = true; +var result = foo({f: 1}, {g: 3}); +if (result != 47) + throw "Error: bad result at end: " + result; +if (!didEffect) + throw "Error: did not do effect"; diff --git a/implementation-contributed/javascriptcore/stress/simple-polyvariant-call-inlining-example.js b/implementation-contributed/javascriptcore/stress/simple-polyvariant-call-inlining-example.js new file mode 100644 index 0000000000..633b276cac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-polyvariant-call-inlining-example.js @@ -0,0 +1,32 @@ +function foo(baz) { + return bar(baz); +} + +function fuzz(baz) { + return bar(baz); +} + +function bar(baz) { + return baz(); +} + +function baz1() { + return 42; +} + +function baz2() { + return 24; +} + +noInline(foo); +noInline(fuzz); + +for (var i = 0; i < 100000; ++i) { + var result = foo(baz1); + if (result != 42) + throw "Error: bad result: " + result; + var result = fuzz(baz2); + if (result != 24) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/simple-polyvariant-get-by-id-inlining-example.js b/implementation-contributed/javascriptcore/stress/simple-polyvariant-get-by-id-inlining-example.js new file mode 100644 index 0000000000..554ab09c73 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-polyvariant-get-by-id-inlining-example.js @@ -0,0 +1,24 @@ +function foo(o) { + return bar(o); +} + +function fuzz(o) { + return bar(o); +} + +function bar(o) { + return o.f; +} + +noInline(foo); +noInline(fuzz); + +for (var i = 0; i < 100000; ++i) { + var result = foo({f:42}); + if (result != 42) + throw "Error: bad result: " + result; + var result = fuzz({g:23, f:24}); + if (result != 24) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/simple-polyvariant-put-by-id-inlining-example.js b/implementation-contributed/javascriptcore/stress/simple-polyvariant-put-by-id-inlining-example.js new file mode 100644 index 0000000000..8eb6272f7e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-polyvariant-put-by-id-inlining-example.js @@ -0,0 +1,26 @@ +function foo(o) { + bar(o); +} + +function fuzz(o) { + bar(o); +} + +function bar(o) { + o.f = 42; +} + +noInline(foo); +noInline(fuzz); + +for (var i = 0; i < 100000; ++i) { + var o = {}; + foo(o); + if (o.f != 42) + throw "Error: bad result: " + o.f; + o = {f:23}; + var result = fuzz(o); + if (o.f != 42) + throw "Error: bad result: " + o.f; +} + diff --git a/implementation-contributed/javascriptcore/stress/simple-prototype-accesses.js b/implementation-contributed/javascriptcore/stress/simple-prototype-accesses.js new file mode 100644 index 0000000000..a580879df8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-prototype-accesses.js @@ -0,0 +1,20 @@ +function Foo() { +} +Foo.prototype.f = 42; +Foo.prototype.g = 43; +Foo.prototype.h = 44; +Foo.prototype.i = 45; +Foo.prototype.j = 46; +Foo.prototype.k = 47; + +function foo(o) { + return o.f + o.k; +} + +noInline(foo); + +for (var i = 0; i < 100; ++i) { + var result = foo(new Foo()); + if (result != 89) + throw "Error: bad result for Foo: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding-fail.js b/implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding-fail.js new file mode 100644 index 0000000000..404f27b88e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding-fail.js @@ -0,0 +1,11 @@ +function foo() { + return /(f)(o)(o)/.exec("bar"); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result !== null) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding.js b/implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding.js new file mode 100644 index 0000000000..9039320227 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-regexp-exec-folding.js @@ -0,0 +1,19 @@ +function foo() { + return /(f)(o)(o)/.exec("foo"); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result.length != 4) + throw "Error: bad result: " + result; + if (result[0] != "foo") + throw "Error: bad result: " + result; + if (result[1] != "f") + throw "Error: bad result: " + result; + if (result[2] != "o") + throw "Error: bad result: " + result; + if (result[3] != "o") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/simple-regexp-test-folding-fail.js b/implementation-contributed/javascriptcore/stress/simple-regexp-test-folding-fail.js new file mode 100644 index 0000000000..b7ec383f69 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-regexp-test-folding-fail.js @@ -0,0 +1,11 @@ +function foo() { + return /(f)(o)(o)/.test("bar"); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result != false) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/simple-regexp-test-folding.js b/implementation-contributed/javascriptcore/stress/simple-regexp-test-folding.js new file mode 100644 index 0000000000..ef9b840530 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simple-regexp-test-folding.js @@ -0,0 +1,11 @@ +function foo() { + return /(f)(o)(o)/.test("foo"); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result != true) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js b/implementation-contributed/javascriptcore/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js new file mode 100644 index 0000000000..df4a352dde --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/simplify-varargs-mandatory-minimum-smaller-than-limit.js @@ -0,0 +1,15 @@ +function foo() { return 42; } + +function bar() { return foo.apply(this, arguments); } + +function baz() { return bar(1, 2, 3); } + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(); + if (result != 42) + throw "Error: bad result: " + result; +} + + diff --git a/implementation-contributed/javascriptcore/stress/singleton-scope-then-overwrite.js b/implementation-contributed/javascriptcore/stress/singleton-scope-then-overwrite.js new file mode 100644 index 0000000000..7f87304a0b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/singleton-scope-then-overwrite.js @@ -0,0 +1,20 @@ +function foo(a) { + var x = a + 1; + var f = function(a) { + return x + a; + }; + noInline(f); + for (var i = 0; i < 10000; ++i) { + var result = f(i); + if (result != a + 1 + i) + throw "Error: bad result: " + result; + } + x = 999; + var result = f(1); + if (result != 999 + 1) + throw "Error: bad result: " + result; +} + +noInline(foo); +for (var i = 0; i < 3; ++i) + foo(42 + i); diff --git a/implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc-and-overwrite.js b/implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc-and-overwrite.js new file mode 100644 index 0000000000..d15c57935d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc-and-overwrite.js @@ -0,0 +1,20 @@ +function foo(a) { + var x = a + 1; + return function(a) { + return x + a; + }; +} + +var f = foo(42); +noInline(f); + +for (var i = 0; i < 10000; ++i) { + var result = f(i); + if (result != 42 + 1 + i) + throw "Error: bad result: " + result; +} + +var f = foo(43); +var result = f(1); +if (result != 43 + 1 + 1) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc.js b/implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc.js new file mode 100644 index 0000000000..a6e1dccb28 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/singleton-scope-then-realloc.js @@ -0,0 +1,20 @@ +function foo(a) { + var x = a + 1; + return function(a) { + return x += a; + }; +} + +var f = foo(42); +noInline(f); + +for (var i = 0; i < 10000; ++i) { + var result = f(1); + if (result != 42 + 1 + i + 1) + throw "Error: bad result: " + result; +} + +var f = foo(43); +var result = f(1); +if (result != 43 + 1 + 1) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-dfg.js b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-dfg.js new file mode 100644 index 0000000000..8ee2b251d5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-dfg.js @@ -0,0 +1,17 @@ +var globalResult; +Object.prototype.valueOf = function() { globalResult = 1; } + +function foo() { + globalResult = 0; + +arguments; + return globalResult; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result !== 1) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32-dfg.js b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32-dfg.js new file mode 100644 index 0000000000..fe645e8c94 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32-dfg.js @@ -0,0 +1,12 @@ +function foo() { + return isInt32(arguments); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result !== false) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32.js b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32.js new file mode 100644 index 0000000000..93d6cb1aaf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-int32.js @@ -0,0 +1,24 @@ +function foo(p) { + var result = 42; + var o = arguments; + if (p) + result = isInt32(o); + return result; +} + +noInline(foo); + +var result = foo(true); +if (result !== false) + throw "Error: bad result at beginning: " + result; + +for (var i = 0; i < 10000; ++i) { + var result = foo(false); + if (result !== 42) + throw "Error: bad result: " + result; +} + +var result = foo(true); +if (result !== false) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-sneakier.js b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-sneakier.js new file mode 100644 index 0000000000..eb17c73944 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check-sneakier.js @@ -0,0 +1,37 @@ +function bar(o, p) { + var o2 = {f: 0}; + if (p) + o2.f = o; + return +o2.f; +} + +var globalResult; +Object.prototype.valueOf = function() { globalResult = 1; }; + +function foo(p, q) { + globalResult = 0; + var o = arguments; + if (p) + bar(o, q); + return globalResult; +} + +noInline(foo); + +foo(true, false); + +for (var i = 0; i < 10000; ++i) { + bar(1, true); + bar({}, false); +} + +for (var i = 0; i < 10000; ++i) { + var result = foo(false, true); + if (result !== 0) + throw "Error: bad result: " + result; +} + +var result = foo(true, true); +if (result !== 1) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check.js b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check.js new file mode 100644 index 0000000000..0317f94ac3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-arguments-past-invalid-check.js @@ -0,0 +1,23 @@ +var globalResult; +Object.prototype.valueOf = function() { globalResult = 1; } + +function foo(p) { + globalResult = 0; + var o = arguments; + if (p) + +o; + return globalResult; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(false); + if (result !== 0) + throw "Error: bad result: " + result; +} + +var result = foo(true); +if (result !== 1) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneakier.js b/implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneakier.js new file mode 100644 index 0000000000..eff3483d8a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneakier.js @@ -0,0 +1,35 @@ +function bar(o, p) { + if (p) + return +o.f; + return 42; +} + +var globalResult; +Function.prototype.valueOf = function() { globalResult = 1; }; + +function foo(p, q) { + globalResult = 0; + var o = function() { }; + var o2 = {f: o}; + if (p) + bar(o2, q); + return globalResult; +} + +noInline(foo); + +foo(true, false); + +for (var i = 0; i < 10000; ++i) + bar({f:42}, true); + +for (var i = 0; i < 10000; ++i) { + var result = foo(false, true); + if (result !== 0) + throw "Error: bad result: " + result; +} + +var result = foo(true, true); +if (result !== 1) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneaky.js b/implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneaky.js new file mode 100644 index 0000000000..33d3ec9dd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-function-past-invalid-check-sneaky.js @@ -0,0 +1,13 @@ +function foo(p) { + var o = function() { }; + var q = {f: p ? o : 42}; + var tmp = q.f + 1; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(false); + +foo(true); + diff --git a/implementation-contributed/javascriptcore/stress/sink-multigetbyoffset.js b/implementation-contributed/javascriptcore/stress/sink-multigetbyoffset.js new file mode 100644 index 0000000000..29c4dbbc65 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-multigetbyoffset.js @@ -0,0 +1,27 @@ +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=147165 + +function Foo() { } +Foo.prototype.f = 42; + +function get(o, p) { + if (p) + return o.f; + return 42; +} + +for (var i = 0; i < 100000; ++i) { + get({ f: 42 }, i % 2); + get({ o: 10, f: 42 }, i % 2); +} + +function foo() { + var o = new Foo(); + return get(o, isFinalTier()); +} +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(); + if (result !== 42) + throw new Error("Result should be 42 but was " + result); +} diff --git a/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-int32.js b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-int32.js new file mode 100644 index 0000000000..7a20d4f278 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-int32.js @@ -0,0 +1,24 @@ +function foo(p) { + var result = 42; + var o = {}; + if (p) + result = isInt32(o); + return result; +} + +noInline(foo); + +var result = foo(true); +if (result !== false) + throw "Error: bad result at end: " + result; + +for (var i = 0; i < 10000; ++i) { + var result = foo(false); + if (result !== 42) + throw "Error: bad result: " + result; +} + +var result = foo(true); +if (result !== false) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneakier.js b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneakier.js new file mode 100644 index 0000000000..147df9817b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneakier.js @@ -0,0 +1,32 @@ +function bar(o, p) { + if (p) + return +o.f; + return 42; +} + +function foo(p, q) { + var result = 0; + var o = {valueOf: function() { result = 1; }}; + var o2 = {f: o}; + if (p) + bar(o2, q); + return result; +} + +noInline(foo); + +foo(true, false); + +for (var i = 0; i < 10000; ++i) + bar({f:42}, true); + +for (var i = 0; i < 10000; ++i) { + var result = foo(false, true); + if (result !== 0) + throw "Error: bad result: " + result; +} + +var result = foo(true, true); +if (result !== 1) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneaky.js b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneaky.js new file mode 100644 index 0000000000..7b38cef9a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check-sneaky.js @@ -0,0 +1,20 @@ +function foo(p) { + var result = 0; + var o = {valueOf: function() { result = 1; }}; + var q = {f: p ? o : 42}; + var tmp = q.f + 1; + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(false); + if (result !== 0) + throw "Error: bad result: " + result; +} + +var result = foo(true); +if (result !== 1) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check.js b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check.js new file mode 100644 index 0000000000..15daa8925d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-object-past-invalid-check.js @@ -0,0 +1,20 @@ +function foo(p) { + var result = 0; + var o = {valueOf:function() { result = 1; }}; + if (p) + +o; + return result; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(false); + if (result !== 0) + throw "Error: bad result: " + result; +} + +var result = foo(true); +if (result !== 1) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/sink-phantom-new-array-buffer-exit-ok.js b/implementation-contributed/javascriptcore/stress/sink-phantom-new-array-buffer-exit-ok.js new file mode 100644 index 0000000000..d279877050 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-phantom-new-array-buffer-exit-ok.js @@ -0,0 +1,8 @@ +function foo() { +} +function bar() { + foo(...[42]); +} +for (var i = 0; i < 400000; i++) { + bar(); +} diff --git a/implementation-contributed/javascriptcore/stress/sink-put-stack-over-kill-stack.js b/implementation-contributed/javascriptcore/stress/sink-put-stack-over-kill-stack.js new file mode 100644 index 0000000000..151a07d93e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-put-stack-over-kill-stack.js @@ -0,0 +1,16 @@ +function* avocado_1() {} + +function apricot_0(alpaca_0) { + if (alpaca_0) {} +} + +class __c_0 extends null {} + +function banana_2() { + apricot_0(); + avocado_1(() => null); +} + +for (let i = 0; i < 100000; i++) { + banana_2(); +} diff --git a/implementation-contributed/javascriptcore/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js b/implementation-contributed/javascriptcore/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js new file mode 100644 index 0000000000..d4340e7d04 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink-to-impossible-multi-get-by-offset-on-prototypes.js @@ -0,0 +1,41 @@ +"use strict"; + +function ThingA() { +} + +ThingA.prototype = {bug: 42}; + +function ThingB() { +} + +ThingB.prototype = {bug: 43}; + +function ThingC() { +} + +ThingC.prototype = {bug: 44}; + +function bar(o, p) { + if (p) + return o.bug; + return null; +} + +function foo(p) { + var o = new ThingC(); + return bar(o, p); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + bar(new ThingA(), true); + bar(new ThingB(), true); +} + +for (var i = 0; i < 10000; ++i) + foo(false); + +var result = foo(true); +if (result != 44) + throw new Error("Bad result: " + result); diff --git a/implementation-contributed/javascriptcore/stress/sink_checkstructure.js b/implementation-contributed/javascriptcore/stress/sink_checkstructure.js new file mode 100644 index 0000000000..2427a63eb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sink_checkstructure.js @@ -0,0 +1,17 @@ +function foo(p, q) { + var o = {}; + if (p) o.f = 42; + if (q) { o.f++; return o; } +} +noInline(foo); + +var expected = foo(false, true).f; + +for (var i = 0; i < 1000000; i++) { + foo(true, true); +} + +var result = foo(false, true).f; + +if (!Object.is(result, expected)) + throw "Error: expected " + expected + "; FTL produced " + result; diff --git a/implementation-contributed/javascriptcore/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js b/implementation-contributed/javascriptcore/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js new file mode 100644 index 0000000000..ef44d26362 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/slightly-more-difficult-to-fold-reflective-arguments-access.js @@ -0,0 +1,16 @@ +function foo() { + var a = arguments; + return a[0]; +} + +function bar(x) { + return foo(x); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar(42); + if (result != 42) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/sloppy-mode-function-hoisting.js b/implementation-contributed/javascriptcore/stress/sloppy-mode-function-hoisting.js new file mode 100644 index 0000000000..35b78fb4b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sloppy-mode-function-hoisting.js @@ -0,0 +1,743 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} + +function test(f, ...args) { + for (let i = 0; i < 500; i++) + f(...args); +} + +function falsey() { return false; } +noInline(falsey); +function truthy() { return true; } +noInline(truthy); + +test(function() { + var a; + assert(a === undefined); + { + function a() { return 20; } + } + assert(a() === 20); +}); + +test(function(a) { + var a; + assert(a === undefined); + { + function a() { return 20; } + } + assert(a === undefined); +}); + +test(function({a}) { + var a; + assert(a === undefined); + { + function a() { return 20; } + } + assert(a === undefined); +}, {}); + +test(function() { + let a; + assert(a === undefined); + { + function a() { return 20; } + } + assert(a === undefined); +}); + +test(function() { + assert(a === undefined); + function foo() { return a(); } + { + function a() { return 20; } + } + assert(a() === 20); + assert(foo() === 20); +}); + +test(function(a = 30) { + assert(a === 30); + function foo() { return a; } + assert(foo() === 30); + { + function a() { return 20; } + assert(a() === 20); + assert(foo() === 30); + } + assert(a === 30); + assert(foo() === 30); +}); + +test(function() { + let x = 15; + assert(x === 15); + assert(a === undefined); + { + let x = {x: 20}; + function a() { return x; } + assert(a() === x); + assert(a().x === 20); + } + assert(a().x === 20); + assert(x === 15); +}); + +test(function() { + let x = 15; + assert(x === 15); + assert(a === undefined); + let f; + { + let x = {x: 20}; + assert(a() === x); + assert(a().x === 20); + + function a() { throw new Error; } + function a() { return x; } + f = a; + } + assert(a().x === 20); + assert(x === 15); + assert(f().x === 20); +}); + +test(function() { + let x = 15; + let f; + assert(x === 15); + assert(a === undefined); + assert(f === undefined); + { + function a() { return f; } + f = a; + } + assert(x === 15); + assert(f() === f); +}); + +test(function() { + function a() { return 20; } + let f = a; + assert(a() === 20); + { + function a() { return 25; } + assert(a() === 25); + } + assert(f() === 20); + assert(a() === 25); +}); + +test(function() { + assert(f === undefined); + for (let i = 0; i < 10; i++) { + function f() { return i; } + assert(f() === i); + } + assert(f() === 9); +}); + +test(function() { + assert(f === undefined); + let nums = [0, 1, 2, 3]; + for (let i of nums) { + function f() { return i; } + assert(f() === i); + } + assert(f() === 3); +}); + +test(function() { + assert(f === undefined); + let obj = {0:0, 1:1, 2:2, 3:3}; + for (let i in obj) { + function f() { return i; } + assert(f() === i); + } + assert(f() === "3"); +}); + +test(function() { + assert(f === undefined); + let nums = [0, 1, 2, 3]; + let funcs = [] + for (let i of nums) { + function f() { return i; } + funcs.push(f); + assert(f() === i); + } + assert(f() === 3); + assert(funcs.length === nums.length); + for (let i = 0; i < funcs.length; i++) { + assert(funcs[i]() === nums[i]); + } +}); + +test(function() { + assert(f === undefined); + try { + throw new Error("foo"); + } catch(e) { + function f() { return 20; } + } + assert(f() === 20); +}); + +test(function() { + assert(f === undefined); + try { + ; + } catch(e) { + function f() { return 20; } + } + assert(f === undefined); +}); + +test(function() { + assert(foo === undefined); + if (falsey()) { + function foo() { return 20; } + } + assert(foo === undefined); +}); + +test(function() { + assert(foo === undefined); + if (falsey()) + function foo() { return 20; } + assert(foo === undefined); +}); + +test(function() { + assert(foo === undefined); + if (truthy()) { + function foo() { return 20; } + } + assert(foo() === 20); +}); + +test(function() { + assert(foo === undefined); + while (truthy()) { + assert(foo() === 20); + break; + + function foo() { return 20; } + } + assert(foo === undefined); +}); + +test(function() { + assert(foo === undefined); + while (truthy()) { + assert(foo() === 20); + function foo() { return 20; } + break; + } + assert(foo() === 20); +}); + +test(function() { + function bar() { return foo; } + assert(foo === undefined); + assert(bar() === undefined); + while (truthy()) { + break; + + function foo() { return 20; } + } + assert(foo === undefined); + assert(bar() === undefined); +}); + +test(function() { + function bar() { return foo; } + assert(foo === undefined); + assert(bar() === undefined); + while (truthy()) { + function foo() { return 20; } + break; + } + assert(foo() === 20); + assert(bar()() === 20); +}); + +test(function() { + function bar() { return foo; } + assert(foo === undefined); + assert(bar() === undefined); + while (falsey()) { + function foo() { return 20; } + } + assert(foo === undefined); + assert(bar() === undefined); +}); + +test(function() { + var a = "a"; + assert(a === "a"); + { + let b = 1; + assert(a === "a"); + { + let c = 2; + assert(a === "a"); + { + let d = 3; + function a() { return b + c+ d; } + assert(a() === 6); + } + assert(a() === 6); + } + assert(a() === 6); + } + assert(a() === 6); +}); + +test(function() { + assert(foo === undefined); + switch(1) { + case 0: + function foo() { return 20; } + break; + case 1: + assert(foo() === 20); + break; + } + assert(foo === undefined); +}); + +test(function() { + assert(foo === undefined); + switch(1) { + case 1: + assert(foo() === 20); + case 0: + function foo() { return 20; } + break; + } + assert(foo() === 20); +}); + +test(function() { + assert(foo === undefined); + switch(1) { + case 0:{ + function foo() { return 20; } + break; + } + } + assert(foo === undefined); +}); + +test(function() { + assert(foo === undefined); + switch(0) { + case 0:{ + function foo() { return 20; } + break; + } + } + assert(foo() === 20); +}); + +test(function() { + assert(foo === undefined); + switch(0) { + case 0: + function foo() { return bar; } + break; + case 1: + let bar = 20; + break; + } + + let threw = false; + try { + foo(); + } catch (e) { + assert(e instanceof ReferenceError); + threw = true; + } + assert(threw); +}); + +test(function() { + assert(foo === undefined); + switch(0) { + case 0: + function foo() { return bar; } + case 1: + let bar = 20; + break; + } + + assert(foo() === 20); +}); + +test(function() { + assert(foo === undefined); + switch(1) { + case 0: + function foo() { return bar; } + case 1: + let bar = 20; + assert(foo() === 20); + break; + } + + assert(foo === undefined); +}); + +test(function() { + function capFoo1() { return foo; } + assert(foo === undefined); + assert(capFoo1() === undefined); + switch(1) { + case 0: + function foo() { return bar; } + function capFoo2() { return foo; } + case 1: + let bar = 20; + assert(foo() === 20); + assert(capFoo1() === undefined); + assert(capFoo2() === foo); + assert(capFoo2()() === 20); + break; + } + + assert(foo === undefined); +}); + +test(function() { + assert(foo === undefined); + switch(1) { + case 1: + let bar = 20; + assert(foo() === 20); + case 0: + function foo() { return bar; } + } + + assert(foo() === 20); +}); + +test(function(a) { + assert(a === 25); + switch(1) { + case 0: + function a() { return bar; } + case 1: + let bar = 20; + assert(a() === 20); + break; + } + + assert(a === 25); +}, 25); + +test(function() { + let a = 25; + assert(a === 25); + switch(1) { + case 0: + function a() { return bar; } + case 1: + let bar = 20; + assert(a() === 20); + break; + } + + assert(a === 25); +}); + +test(function() { + const a = 25; + assert(a === 25); + switch(1) { + case 0: + function a() { return bar; } + case 1: + let bar = 20; + assert(a() === 20); + break; + } + + assert(a === 25); +}); + +test(function() { + let foo = {}; + class a { constructor() { return foo; } } + assert(new a === foo); + switch(1) { + case 0: + function a() { return bar; } + case 1: + let bar = 20; + assert(a() === 20); + break; + } + + assert(new a === foo); +}); + +test(function() { + assert(f === undefined); + { + if (true) + function f() { return 20; } + assert(f() === 20); + } + assert(f() === 20); +}); + +test(function() { + assert(f === undefined); + { + if (false) + function f() { return 20; } + assert(f === undefined); + } + assert(f === undefined); +}); + +test(function() { + var x; + assert(f === undefined); + if (true) + if (true) + if (true) + function f() { return 20; } + assert(f() === 20); +}); + +test(function() { + var x; + assert(f === undefined); + { + if (true) + if (false) + if (true) + function f() { return 20; } + } + assert(f === undefined); +}); + +test(function() { + var x; + assert(f === undefined); + { + while (false) + while (false) + if (true) + function f() { return 20; } + } + assert(f === undefined); +}); + +test(function() { + assert(f === undefined); + var f = 20; + assert(f === 20); + while (false) + while (false) + if (true) + function f() { return 20; } + assert(f === 20); +}); + +test(function() { + assert(f === undefined); + var f = 20; + assert(f === 20); + var i = 2; + { + while (i-- > 0) + while (i-- > 0) + if (true) + function f() { return 20; } + } + assert(f() === 20); +}); + +test(function() { + assert(f === undefined); + var f = 20; + assert(f === 20); + var i = 2; + { + while (i-- > 0) + while (i-- > 0) + if (false) + function f() { return 20; } + } + assert(f === 20); +}); + +test(function() { + assert(f === undefined); + var f = 20; + assert(f === 20); + var i = 2; + { + while (i-- > 0) + while (i-- > 0) + if (false) + function f() { return 20; } + else + function f() { return 30; } + } + assert(f() === 30); +}); + +test(function() { + assert(f === undefined); + if (true) { + label: function f() { return 20; } + } + assert(f() === 20); +}); + +test(function() { + assert(f === undefined); + if (true) { + label: label2: label3: function f() { return 20; } + } + assert(f() === 20); +}); + +test(function() { + assert(a === undefined); + assert(b === undefined); + assert(c === undefined); + assert(d === undefined); + assert(e === undefined); + assert(f === undefined); + assert(g === undefined); + assert(h === undefined); + assert(i === undefined); + assert(j === undefined); + assert(k === undefined); + assert(l === undefined); + assert(m === undefined); + assert(n === undefined); + assert(o === undefined); + assert(p === undefined); + assert(q === undefined); + assert(r === undefined); + assert(s === undefined); + assert(t === undefined); + assert(u === undefined); + assert(v === undefined); + assert(w === undefined); + assert(x === undefined); + assert(y === undefined); + assert(z === undefined); + { + function a() { } + function b() { } + function c() { } + function d() { } + function e() { } + function f() { } + function g() { } + function h() { } + function i() { } + function j() { } + function k() { } + function l() { } + function m() { } + function n() { } + function o() { } + function p() { } + function q() { } + function r() { } + function s() { } + function t() { } + function u() { } + function v() { } + function w() { } + function x() { } + function y() { } + function z() { } + } + assert(typeof a === "function"); + assert(typeof b === "function"); + assert(typeof c === "function"); + assert(typeof d === "function"); + assert(typeof e === "function"); + assert(typeof f === "function"); + assert(typeof g === "function"); + assert(typeof h === "function"); + assert(typeof i === "function"); + assert(typeof j === "function"); + assert(typeof k === "function"); + assert(typeof l === "function"); + assert(typeof m === "function"); + assert(typeof n === "function"); + assert(typeof o === "function"); + assert(typeof p === "function"); + assert(typeof q === "function"); + assert(typeof r === "function"); + assert(typeof s === "function"); + assert(typeof t === "function"); + assert(typeof u === "function"); + assert(typeof v === "function"); + assert(typeof w === "function"); + assert(typeof x === "function"); + assert(typeof y === "function"); + assert(typeof z === "function"); +}); + +test(function() { + function outer() { return f; } + assert(outer() === undefined); + { + assert(outer() === undefined); + assert(f() === 2); + f = 100 + assert(outer() === undefined); + function f() { return 1 } + assert(outer() === 100); + f = 200 + assert(outer() === 100); // 100 + function f() { return 2 } + assert(outer() === 200); + } +}); + +for (let i = 0; i < 500; i++) + assert(foo() === 25); +function foo() { return 20; } + +{ + function foo() { return 25; } + assert(foo() === 25); +} +assert(foo() === 25); + +for (let i = 0; i < 500; i++) + assert(bar() === "bar2"); +function bar() { return "bar1"; } +if (falsey()) { + { + if (falsey()) { + function bar() { return "bar2"; } + } + } +} +assert(bar() === "bar2"); + +for (let i = 0; i < 500; i++) + assert(baz() === "baz2"); +function baz() { return "baz1"; } +while (falsey()) { + if (falsey()) { + function baz() { return "baz2"; } + } +} +assert(baz() === "baz2"); diff --git a/implementation-contributed/javascriptcore/stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js b/implementation-contributed/javascriptcore/stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js new file mode 100644 index 0000000000..682f25d6ef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sloppy-mode-hoist-arguments-function-non-simple-parameter-list.js @@ -0,0 +1,158 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +(function (x = 20) { + var a; + assert(arguments.length === 0); + assert(typeof arguments !== "function"); + { + function arguments() { + } + + function b() { + var g = 1; + a[5]; + } + } + assert(typeof arguments === "function"); +}()); + +(function (x = () => arguments) { + var a; + let originalArguments = x(); + assert(originalArguments === arguments); + let z; + { + function arguments() { return 25; } + z = arguments; + + function b() { + var g = 1; + a[5]; + } + } + assert(z !== originalArguments); + assert(x() === z); + assert(typeof z === "function"); + assert(z() === 25); +}()); + +(function ({arguments}) { + assert(arguments === 20); + + var a; + { + function arguments() { return 25; } + assert(arguments() === 25); + + function b() { + var g = 1; + a[5]; + } + } + + assert(arguments === 20); +}({arguments: 20})); + +(function (y = () => arguments, {arguments}) { + assert(y() === arguments); + var a; + { + function arguments() { return 25; } + assert(arguments() === 25); + assert(y() !== arguments); + + function b() { + var g = 1; + a[5]; + } + } + + assert(y() === arguments); +}(undefined, {arguments: {}})); + +(function (y = () => arguments, z = y(), {arguments}) { + assert(typeof z === "object"); + assert(z.length === 3); + assert(z[0] === undefined); + assert(z[1] === undefined); + assert(typeof z[2] === "object"); + assert(z[2].arguments === arguments); + assert(y() === arguments); + + var a; + { + function arguments() { return 25; } + assert(arguments() === 25); + assert(y() !== arguments); + + function b() { + var g = 1; + a[5]; + } + } + + assert(y() === arguments); +}(undefined, undefined, {arguments: {}})); + +(function (arguments) { + assert(arguments === 25); + + var a; + { + function arguments() { return 30; } + assert(arguments() === 30); + + function b() { + var g = 1; + a[5]; + } + } + + assert(arguments === 25); +}(25)); + +(function (arguments) { + assert(arguments === 25); + let foo = () => arguments; + assert(foo() === arguments); + + var a; + { + function arguments() { return 30; } + assert(arguments() === 30); + assert(foo() === 25); + + function b() { + var g = 1; + a[5]; + } + } + + assert(arguments === 25); + assert(foo() === arguments); +}(25)); + +(function () { + assert(arguments.length === 1); + assert(arguments[0] === 25); + + let outer = () => arguments; + var a; + { + assert(outer()[0] === 25); + function arguments() { return 30; } + assert(outer() === arguments); + assert(outer()() === 30); + assert(arguments() === 30); + + function b() { + var g = 1; + a[5]; + } + } + + assert(arguments() === 30); +}(25)); diff --git a/implementation-contributed/javascriptcore/stress/slow-path-generator-updating-current-node-dfg.js b/implementation-contributed/javascriptcore/stress/slow-path-generator-updating-current-node-dfg.js new file mode 100644 index 0000000000..32e92636ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/slow-path-generator-updating-current-node-dfg.js @@ -0,0 +1,27 @@ +// FIXME: Bring back something like the deferGC probability mode. +// https://bugs.webkit.org/show_bug.cgi?id=166627 +//@ skip +// //@ runFTLNoCJIT("--deferGCShouldCollectWithProbability=true", "--deferGCProbability=1.0") + +function foo(a) { + return a.push(25); +} + +function bar(a) { + for (let i = 0; i < a.length; i++) { + a[i] = i; + } + return foo(a); +} + +noInline(bar); + +for (let i = 0; i < 100; i++) { + let smallArray = [1, 2, 3, 4, 5]; + bar(smallArray); +} + +let largeArray = []; +for (let i = 0; i < 10000000; i++) + largeArray.push(i); +bar(largeArray); diff --git a/implementation-contributed/javascriptcore/stress/sort-array-with-undecided.js b/implementation-contributed/javascriptcore/stress/sort-array-with-undecided.js new file mode 100644 index 0000000000..4a009439f0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sort-array-with-undecided.js @@ -0,0 +1 @@ +new Array(100).sort(function(a, b) { return a - b; }); diff --git a/implementation-contributed/javascriptcore/stress/sorting-boolean-result-comparator.js b/implementation-contributed/javascriptcore/stress/sorting-boolean-result-comparator.js new file mode 100644 index 0000000000..80a091c0ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sorting-boolean-result-comparator.js @@ -0,0 +1,15 @@ +function checkArray(array) { + array = array.map((value, index) => { return { value, index }; }); + array = array.sort((a, b) => b.value <= a.value); + + for (let i = 1; i < array.length; i++) { + if (array[i].value < array[i - 1].value) + throw new Error(); + + if (array[i].value == array[i - 1].value && array[i].index <= array[i - 1].index) + throw new Error(); + } +} + +checkArray([7,4,2,0,5,5,4,3,9]); +checkArray([1,0,1]); diff --git a/implementation-contributed/javascriptcore/stress/source-origin.js b/implementation-contributed/javascriptcore/stress/source-origin.js new file mode 100644 index 0000000000..14b3aec4eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/source-origin.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(callerSourceOrigin().endsWith('source-origin.js'), true); +shouldBe([ 0 ].map(callerSourceOrigin)[0].endsWith('source-origin.js'), true); +shouldBe(eval(`callerSourceOrigin()`).endsWith('source-origin.js'), true); +shouldBe((0, eval)(`callerSourceOrigin()`).endsWith('source-origin.js'), true); +shouldBe((new Function(`return callerSourceOrigin()`))().endsWith('source-origin.js'), true); +shouldBe((Function(`return callerSourceOrigin()`))().endsWith('source-origin.js'), true); diff --git a/implementation-contributed/javascriptcore/stress/sparse-array-entry-update-144067.js b/implementation-contributed/javascriptcore/stress/sparse-array-entry-update-144067.js new file mode 100644 index 0000000000..6802ee1721 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sparse-array-entry-update-144067.js @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2015 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// Regression test for https://bugs.webkit.org/show_bug.cgi?id=144067. +// This test aims to continually override the setter in a sparse array object, and +// trigger GCs to give it a chance to collect the newly set entry value if the bug exists. +// With the bug fixed, this test should not crash. + +var data = {}; +var sparseObj = {}; + +for (var i = 0; i < 5; i++) + sparseObj[i] = i; + +function useMemoryToTriggerGCs() { + var arr = []; + var limit = $vm.dfgTrue() ? 10000 : 100; + for (var i = 0; i < limit; i++) + arr[i] = { a: "using" + i, b: "up" + i, c: "memory" + i }; + return arr; +} + +function foo(x) { + if (!x) + return; + data.textContent = sparseObj.__defineSetter__("16384", foo); + for (var i = 0; i < 10; i++) + sparseObj.__defineSetter__("" + (16384 + i), foo); + useMemoryToTriggerGCs(); + sparseObj[16384] = x - 1; +} + +var recursionDepthNeededToTriggerTheFailure = 100; +foo(recursionDepthNeededToTriggerTheFailure); diff --git a/implementation-contributed/javascriptcore/stress/sparse-define-empty-descriptor.js b/implementation-contributed/javascriptcore/stress/sparse-define-empty-descriptor.js new file mode 100644 index 0000000000..6f9de14e3e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sparse-define-empty-descriptor.js @@ -0,0 +1,6 @@ +var array = []; +array[10000000] = 42; +Object.defineProperty(array, 10000000, {configurable: true, enumerable: true, writable: true}); +var result = array[10000000]; +if (result != 42) + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/sparse-map-non-overlapping.js b/implementation-contributed/javascriptcore/stress/sparse-map-non-overlapping.js new file mode 100644 index 0000000000..4723365c82 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sparse-map-non-overlapping.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testing(object) { + var value = object[1000]; + shouldBe(object[1000], 42); +} + +testing({ + 0: 0, + 1: 1, + 1000: 42 +}); + +var object = { + 0: 0, + get 1000() { + return 42; + }, + 1: 1, +}; +testing(object); +shouldBe(object[0], 0); +shouldBe(object[1], 1); diff --git a/implementation-contributed/javascriptcore/stress/sparse-map-non-skip-getter-overriding.js b/implementation-contributed/javascriptcore/stress/sparse-map-non-skip-getter-overriding.js new file mode 100644 index 0000000000..48bf81c5a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sparse-map-non-skip-getter-overriding.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var obj = { + 0: 0, + 1: 1, + get 1() { + return 42; + } +}; + +function testing(object) { + shouldBe(object[1], 42); + shouldBe(obj[0], 0); +} +noInline(testing); + +for (var i = 0; i < 10000; ++i) + testing(obj); diff --git a/implementation-contributed/javascriptcore/stress/sparse-map-non-skip.js b/implementation-contributed/javascriptcore/stress/sparse-map-non-skip.js new file mode 100644 index 0000000000..fb37d458c0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sparse-map-non-skip.js @@ -0,0 +1,44 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function testing(object) { + shouldBe(object[0], 0); + shouldBe(object[1], 1); + shouldBe(object[2], "String"); +} +noInline(testing); + +function testing2(object) { + shouldBe(object[0], 0); + shouldBe(object[1], 1); + shouldBe(object[2], "String"); +} +noInline(testing2); + +for (var i = 0; i < 10000; ++i) + testing({ + 0: 0, + 1: 1, + 2: "String" + }); + +testing({ + 0: 0, + get 1() { + return 1; + }, + 2: "String" +}); + +for (var i = 0; i < 10000; ++i) + testing2({ + 0: 0, + get 1() { + return 1; + }, + 2: "String" + }); + +/* vim: set sw=4 ts=4 et tw=80 : */ diff --git a/implementation-contributed/javascriptcore/stress/sparse_splice.js b/implementation-contributed/javascriptcore/stress/sparse_splice.js new file mode 100644 index 0000000000..6565dd4e52 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sparse_splice.js @@ -0,0 +1,12 @@ +var myArray = Array(); +myArray[ 10000 ] = "a"; +myArray[ 10001 ] = "b"; +myArray[ 10002 ] = "c"; + +// remove element at index 1001 +myArray.splice( 10001, 1 ); + +if (myArray[10000] != "a") + throw "Splicing Error! start index changed"; +if (myArray[10001] != "c") + throw "Splicing Error! removed element not removed"; diff --git a/implementation-contributed/javascriptcore/stress/spec-empty-flows-through-cell-checks.js b/implementation-contributed/javascriptcore/stress/spec-empty-flows-through-cell-checks.js new file mode 100644 index 0000000000..ebf6019895 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spec-empty-flows-through-cell-checks.js @@ -0,0 +1,24 @@ +// This test shouldn't crash. + +class A { }; + +class B extends A { + constructor(a, b) { + var f = () => b ? this : {}; + if (a) { + var val = f() == super(); + } else { + super(); + var val = f(); + } + } +}; + +for (var i=0; i < 10000; i++) { + try { + new B(true, true); + } catch (e) { + } + var a = new B(false, true); + var c = new B(true, false); +} diff --git a/implementation-contributed/javascriptcore/stress/splay-flash-access-1ms.js b/implementation-contributed/javascriptcore/stress/splay-flash-access-1ms.js new file mode 100644 index 0000000000..2010ec2c31 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/splay-flash-access-1ms.js @@ -0,0 +1,903 @@ +//@ skip if $memoryLimited +//@ runNoisyTestDefault +//@ runNoisyTestNoCJIT + +// Copyright 2013 the V8 project authors. All rights reserved. +// Copyright (C) 2015 Apple Inc. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// Performance.now is used in latency benchmarks, the fallback is Date.now. +var performance = performance || {}; +performance.now = (function() { + return performance.now || + performance.mozNow || + performance.msNow || + performance.oNow || + performance.webkitNow || + Date.now; +})(); + +// Simple framework for running the benchmark suites and +// computing a score based on the timing measurements. + + +// A benchmark has a name (string) and a function that will be run to +// do the performance measurement. The optional setup and tearDown +// arguments are functions that will be invoked before and after +// running the benchmark, but the running time of these functions will +// not be accounted for in the benchmark score. +function Benchmark(name, doWarmup, doDeterministic, run, setup, tearDown, latencyResult, minIterations) { + this.name = name; + this.doWarmup = doWarmup; + this.doDeterministic = doDeterministic; + this.run = run; + this.Setup = setup ? setup : function() { }; + this.TearDown = tearDown ? tearDown : function() { }; + this.latencyResult = latencyResult ? latencyResult : null; + this.minIterations = minIterations ? minIterations : 32; +} + + +// Benchmark results hold the benchmark and the measured time used to +// run the benchmark. The benchmark score is computed later once a +// full benchmark suite has run to completion. If latency is set to 0 +// then there is no latency score for this benchmark. +function BenchmarkResult(benchmark, time, latency) { + this.benchmark = benchmark; + this.time = time; + this.latency = latency; +} + + +// Automatically convert results to numbers. Used by the geometric +// mean computation. +BenchmarkResult.prototype.valueOf = function() { + return this.time; +} + + +// Suites of benchmarks consist of a name and the set of benchmarks in +// addition to the reference timing that the final score will be based +// on. This way, all scores are relative to a reference run and higher +// scores implies better performance. +function BenchmarkSuite(name, reference, benchmarks) { + this.name = name; + this.reference = reference; + this.benchmarks = benchmarks; + BenchmarkSuite.suites.push(this); +} + + +// Keep track of all declared benchmark suites. +BenchmarkSuite.suites = []; + +// Scores are not comparable across versions. Bump the version if +// you're making changes that will affect that scores, e.g. if you add +// a new benchmark or change an existing one. +BenchmarkSuite.version = '9'; + +// Override the alert function to throw an exception instead. +alert = function(s) { + throw "Alert called with argument: " + s; +}; + + +// To make the benchmark results predictable, we replace Math.random +// with a 100% deterministic alternative. +BenchmarkSuite.ResetRNG = function() { + Math.random = (function() { + var seed = 49734321; + return function() { + // Robert Jenkins' 32 bit integer hash function. + seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff; + seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff; + seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff; + seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff; + seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff; + seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff; + return (seed & 0xfffffff) / 0x10000000; + }; + })(); +} + + +// Runs all registered benchmark suites and optionally yields between +// each individual benchmark to avoid running for too long in the +// context of browsers. Once done, the final score is reported to the +// runner. +BenchmarkSuite.RunSuites = function(runner) { + var continuation = null; + var suites = BenchmarkSuite.suites; + var length = suites.length; + BenchmarkSuite.scores = []; + var index = 0; + function RunStep() { + while (continuation || index < length) { + if (continuation) { + continuation = continuation(); + } else { + var suite = suites[index++]; + if (runner.NotifyStart) runner.NotifyStart(suite.name); + continuation = suite.RunStep(runner); + } + if (continuation && typeof window != 'undefined' && window.setTimeout) { + window.setTimeout(RunStep, 25); + return; + } + } + + // show final result + if (runner.NotifyScore) { + var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores); + var formatted = BenchmarkSuite.FormatScore(100 * score); + runner.NotifyScore(formatted); + } + } + RunStep(); +} + + +// Counts the total number of registered benchmarks. Useful for +// showing progress as a percentage. +BenchmarkSuite.CountBenchmarks = function() { + var result = 0; + var suites = BenchmarkSuite.suites; + for (var i = 0; i < suites.length; i++) { + result += suites[i].benchmarks.length; + } + return result; +} + + +// Computes the geometric mean of a set of numbers. +BenchmarkSuite.GeometricMean = function(numbers) { + var log = 0; + for (var i = 0; i < numbers.length; i++) { + log += Math.log(numbers[i]); + } + return Math.pow(Math.E, log / numbers.length); +} + + +// Computes the geometric mean of a set of throughput time measurements. +BenchmarkSuite.GeometricMeanTime = function(measurements) { + var log = 0; + for (var i = 0; i < measurements.length; i++) { + log += Math.log(measurements[i].time); + } + return Math.pow(Math.E, log / measurements.length); +} + + +// Computes the average of the worst samples. For example, if percentile is 99, this will report the +// average of the worst 1% of the samples. +BenchmarkSuite.AverageAbovePercentile = function(numbers, percentile) { + // Don't change the original array. + numbers = numbers.slice(); + + // Sort in ascending order. + numbers.sort(function(a, b) { return a - b; }); + + // Now the elements we want are at the end. Keep removing them until the array size shrinks too much. + // Examples assuming percentile = 99: + // + // - numbers.length starts at 100: we will remove just the worst entry and then not remove anymore, + // since then numbers.length / originalLength = 0.99. + // + // - numbers.length starts at 1000: we will remove the ten worst. + // + // - numbers.length starts at 10: we will remove just the worst. + var numbersWeWant = []; + var originalLength = numbers.length; + while (numbers.length / originalLength > percentile / 100) + numbersWeWant.push(numbers.pop()); + + var sum = 0; + for (var i = 0; i < numbersWeWant.length; ++i) + sum += numbersWeWant[i]; + + var result = sum / numbersWeWant.length; + + // Do a sanity check. + if (numbers.length && result < numbers[numbers.length - 1]) { + throw "Sanity check fail: the worst case result is " + result + + " but we didn't take into account " + numbers; + } + + return result; +} + + +// Computes the geometric mean of a set of latency measurements. +BenchmarkSuite.GeometricMeanLatency = function(measurements) { + var log = 0; + var hasLatencyResult = false; + for (var i = 0; i < measurements.length; i++) { + if (measurements[i].latency != 0) { + log += Math.log(measurements[i].latency); + hasLatencyResult = true; + } + } + if (hasLatencyResult) { + return Math.pow(Math.E, log / measurements.length); + } else { + return 0; + } +} + + +// Converts a score value to a string with at least three significant +// digits. +BenchmarkSuite.FormatScore = function(value) { + if (value > 100) { + return value.toFixed(0); + } else { + return value.toPrecision(3); + } +} + +// Notifies the runner that we're done running a single benchmark in +// the benchmark suite. This can be useful to report progress. +BenchmarkSuite.prototype.NotifyStep = function(result) { + this.results.push(result); + if (this.runner.NotifyStep) this.runner.NotifyStep(result.benchmark.name); +} + + +// Notifies the runner that we're done with running a suite and that +// we have a result which can be reported to the user if needed. +BenchmarkSuite.prototype.NotifyResult = function() { + var mean = BenchmarkSuite.GeometricMeanTime(this.results); + var score = this.reference[0] / mean; + BenchmarkSuite.scores.push(score); + if (this.runner.NotifyResult) { + var formatted = BenchmarkSuite.FormatScore(100 * score); + this.runner.NotifyResult(this.name, formatted); + } + if (this.reference.length == 2) { + var meanLatency = BenchmarkSuite.GeometricMeanLatency(this.results); + if (meanLatency != 0) { + var scoreLatency = this.reference[1] / meanLatency; + BenchmarkSuite.scores.push(scoreLatency); + if (this.runner.NotifyResult) { + var formattedLatency = BenchmarkSuite.FormatScore(100 * scoreLatency) + this.runner.NotifyResult(this.name + "Latency", formattedLatency); + } + } + } +} + + +// Notifies the runner that running a benchmark resulted in an error. +BenchmarkSuite.prototype.NotifyError = function(error) { + if (this.runner.NotifyError) { + this.runner.NotifyError(this.name, error); + } + if (this.runner.NotifyStep) { + this.runner.NotifyStep(this.name); + } +} + + +// Runs a single benchmark for at least a second and computes the +// average time it takes to run a single iteration. +BenchmarkSuite.prototype.RunSingleBenchmark = function(benchmark, data) { + function Measure(data) { + var elapsed = 0; + var start = new Date(); + + // Run either for 1 second or for the number of iterations specified + // by minIterations, depending on the config flag doDeterministic. + for (var i = 0; (benchmark.doDeterministic ? + i= keys[i + 1]) { + throw new Error("Splay tree not sorted"); + } + } +} + + +function SplayRun() { + // Replace a few nodes in the splay tree. + for (var i = 0; i < kSplayTreeModifications; i++) { + var key = InsertNewNode(); + var greatest = splayTree.findGreatestLessThan(key); + if (greatest == null) splayTree.remove(key); + else splayTree.remove(greatest.key); + } + SplayUpdateStats(performance.now()); +} + + +/** + * Constructs a Splay tree. A splay tree is a self-balancing binary + * search tree with the additional property that recently accessed + * elements are quick to access again. It performs basic operations + * such as insertion, look-up and removal in O(log(n)) amortized time. + * + * @constructor + */ +function SplayTree() { +}; + + +/** + * Pointer to the root node of the tree. + * + * @type {SplayTree.Node} + * @private + */ +SplayTree.prototype.root_ = null; + + +/** + * @return {boolean} Whether the tree is empty. + */ +SplayTree.prototype.isEmpty = function() { + return !this.root_; +}; + + +/** + * Inserts a node into the tree with the specified key and value if + * the tree does not already contain a node with the specified key. If + * the value is inserted, it becomes the root of the tree. + * + * @param {number} key Key to insert into the tree. + * @param {*} value Value to insert into the tree. + */ +SplayTree.prototype.insert = function(key, value) { + if (this.isEmpty()) { + this.root_ = new SplayTree.Node(key, value); + return; + } + // Splay on the key to move the last node on the search path for + // the key to the root of the tree. + this.splay_(key); + if (this.root_.key == key) { + return; + } + var node = new SplayTree.Node(key, value); + if (key > this.root_.key) { + node.left = this.root_; + node.right = this.root_.right; + this.root_.right = null; + } else { + node.right = this.root_; + node.left = this.root_.left; + this.root_.left = null; + } + this.root_ = node; +}; + + +/** + * Removes a node with the specified key from the tree if the tree + * contains a node with this key. The removed node is returned. If the + * key is not found, an exception is thrown. + * + * @param {number} key Key to find and remove from the tree. + * @return {SplayTree.Node} The removed node. + */ +SplayTree.prototype.remove = function(key) { + if (this.isEmpty()) { + throw Error('Key not found: ' + key); + } + this.splay_(key); + if (this.root_.key != key) { + throw Error('Key not found: ' + key); + } + var removed = this.root_; + if (!this.root_.left) { + this.root_ = this.root_.right; + } else { + var right = this.root_.right; + this.root_ = this.root_.left; + // Splay to make sure that the new root has an empty right child. + this.splay_(key); + // Insert the original right child as the right child of the new + // root. + this.root_.right = right; + } + return removed; +}; + + +/** + * Returns the node having the specified key or null if the tree doesn't contain + * a node with the specified key. + * + * @param {number} key Key to find in the tree. + * @return {SplayTree.Node} Node having the specified key. + */ +SplayTree.prototype.find = function(key) { + if (this.isEmpty()) { + return null; + } + this.splay_(key); + return this.root_.key == key ? this.root_ : null; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value. + */ +SplayTree.prototype.findMax = function(opt_startNode) { + if (this.isEmpty()) { + return null; + } + var current = opt_startNode || this.root_; + while (current.right) { + current = current.right; + } + return current; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value that + * is less than the specified key value. + */ +SplayTree.prototype.findGreatestLessThan = function(key) { + if (this.isEmpty()) { + return null; + } + // Splay on the key to move the node with the given key or the last + // node on the search path to the top of the tree. + this.splay_(key); + // Now the result is either the root node or the greatest node in + // the left subtree. + if (this.root_.key < key) { + return this.root_; + } else if (this.root_.left) { + return this.findMax(this.root_.left); + } else { + return null; + } +}; + + +/** + * @return {Array<*>} An array containing all the keys of tree's nodes. + */ +SplayTree.prototype.exportKeys = function() { + var result = []; + if (!this.isEmpty()) { + this.root_.traverse_(function(node) { result.push(node.key); }); + } + return result; +}; + + +/** + * Perform the splay operation for the given key. Moves the node with + * the given key to the top of the tree. If no node has the given + * key, the last node on the search path is moved to the top of the + * tree. This is the simplified top-down splaying algorithm from: + * "Self-adjusting Binary Search Trees" by Sleator and Tarjan + * + * @param {number} key Key to splay the tree on. + * @private + */ +SplayTree.prototype.splay_ = function(key) { + if (this.isEmpty()) { + return; + } + // Create a dummy node. The use of the dummy node is a bit + // counter-intuitive: The right child of the dummy node will hold + // the L tree of the algorithm. The left child of the dummy node + // will hold the R tree of the algorithm. Using a dummy node, left + // and right will always be nodes and we avoid special cases. + var dummy, left, right; + dummy = left = right = new SplayTree.Node(null, null); + var current = this.root_; + while (true) { + if (key < current.key) { + if (!current.left) { + break; + } + if (key < current.left.key) { + // Rotate right. + var tmp = current.left; + current.left = tmp.right; + tmp.right = current; + current = tmp; + if (!current.left) { + break; + } + } + // Link right. + right.left = current; + right = current; + current = current.left; + } else if (key > current.key) { + if (!current.right) { + break; + } + if (key > current.right.key) { + // Rotate left. + var tmp = current.right; + current.right = tmp.left; + tmp.left = current; + current = tmp; + if (!current.right) { + break; + } + } + // Link left. + left.right = current; + left = current; + current = current.right; + } else { + break; + } + } + // Assemble. + left.right = current.left; + right.left = current.right; + current.left = dummy.right; + current.right = dummy.left; + this.root_ = current; +}; + + +/** + * Constructs a Splay tree node. + * + * @param {number} key Key. + * @param {*} value Value. + */ +SplayTree.Node = function(key, value) { + this.key = key; + this.value = value; +}; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.left = null; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.right = null; + + +/** + * Performs an ordered traversal of the subtree starting at + * this SplayTree.Node. + * + * @param {function(SplayTree.Node)} f Visitor function. + * @private + */ +SplayTree.Node.prototype.traverse_ = function(f) { + var current = this; + while (current) { + var left = current.left; + if (left) left.traverse_(f); + f(current); + current = current.right; + } +}; +function jscSetUp() { + SplaySetup(); +} + +function jscTearDown() { + SplayTearDown(); +} + +function jscRun() { + SplayRun(); +} + +jscSetUp(); +var __before = preciseTime(); +var times = []; +for (var i = 0; i < 2000; ++i) { + var _before = preciseTime(); + jscRun(); + var _after = preciseTime(); + times.push(_after - _before); + flashHeapAccess(1); +} +var __after = preciseTime(); +jscTearDown(); + +function averageAbovePercentile(numbers, percentile) { + // Don't change the original array. + numbers = numbers.slice(); + + // Sort in ascending order. + numbers.sort(function(a, b) { return a - b; }); + + // Now the elements we want are at the end. Keep removing them until the array size shrinks too much. + // Examples assuming percentile = 99: + // + // - numbers.length starts at 100: we will remove just the worst entry and then not remove anymore, + // since then numbers.length / originalLength = 0.99. + // + // - numbers.length starts at 1000: we will remove the ten worst. + // + // - numbers.length starts at 10: we will remove just the worst. + var numbersWeWant = []; + var originalLength = numbers.length; + while (numbers.length / originalLength > percentile / 100) + numbersWeWant.push(numbers.pop()); + + var sum = 0; + for (var i = 0; i < numbersWeWant.length; ++i) + sum += numbersWeWant[i]; + + var result = sum / numbersWeWant.length; + + // Do a sanity check. + if (numbers.length && result < numbers[numbers.length - 1]) { + throw "Sanity check fail: the worst case result is " + result + + " but we didn't take into account " + numbers; + } + + return result; +} + +print("That took " + (__after - __before) * 1000 + " ms."); + +function printPercentile(percentile) +{ + print("Above " + percentile + "%: " + averageAbovePercentile(times, percentile) * 1000 + " ms."); +} + +printPercentile(99.9); +printPercentile(99.5); +printPercentile(99); +printPercentile(97.5); +printPercentile(95); +printPercentile(90); +printPercentile(75); +printPercentile(50); +printPercentile(0); + +gc(); diff --git a/implementation-contributed/javascriptcore/stress/splay-flash-access.js b/implementation-contributed/javascriptcore/stress/splay-flash-access.js new file mode 100644 index 0000000000..68dcb29d7a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/splay-flash-access.js @@ -0,0 +1,904 @@ +//@ skip if $memoryLimited || $architecture == "x86" +//@ runNoisyTestDefault +//@ runNoisyTestNoCJIT + +// Copyright 2013 the V8 project authors. All rights reserved. +// Copyright (C) 2015 Apple Inc. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// Performance.now is used in latency benchmarks, the fallback is Date.now. +var performance = performance || {}; +performance.now = (function() { + return performance.now || + performance.mozNow || + performance.msNow || + performance.oNow || + performance.webkitNow || + Date.now; +})(); + +// Simple framework for running the benchmark suites and +// computing a score based on the timing measurements. + + +// A benchmark has a name (string) and a function that will be run to +// do the performance measurement. The optional setup and tearDown +// arguments are functions that will be invoked before and after +// running the benchmark, but the running time of these functions will +// not be accounted for in the benchmark score. +function Benchmark(name, doWarmup, doDeterministic, run, setup, tearDown, latencyResult, minIterations) { + this.name = name; + this.doWarmup = doWarmup; + this.doDeterministic = doDeterministic; + this.run = run; + this.Setup = setup ? setup : function() { }; + this.TearDown = tearDown ? tearDown : function() { }; + this.latencyResult = latencyResult ? latencyResult : null; + this.minIterations = minIterations ? minIterations : 32; +} + + +// Benchmark results hold the benchmark and the measured time used to +// run the benchmark. The benchmark score is computed later once a +// full benchmark suite has run to completion. If latency is set to 0 +// then there is no latency score for this benchmark. +function BenchmarkResult(benchmark, time, latency) { + this.benchmark = benchmark; + this.time = time; + this.latency = latency; +} + + +// Automatically convert results to numbers. Used by the geometric +// mean computation. +BenchmarkResult.prototype.valueOf = function() { + return this.time; +} + + +// Suites of benchmarks consist of a name and the set of benchmarks in +// addition to the reference timing that the final score will be based +// on. This way, all scores are relative to a reference run and higher +// scores implies better performance. +function BenchmarkSuite(name, reference, benchmarks) { + this.name = name; + this.reference = reference; + this.benchmarks = benchmarks; + BenchmarkSuite.suites.push(this); +} + + +// Keep track of all declared benchmark suites. +BenchmarkSuite.suites = []; + +// Scores are not comparable across versions. Bump the version if +// you're making changes that will affect that scores, e.g. if you add +// a new benchmark or change an existing one. +BenchmarkSuite.version = '9'; + +// Override the alert function to throw an exception instead. +alert = function(s) { + throw "Alert called with argument: " + s; +}; + + +// To make the benchmark results predictable, we replace Math.random +// with a 100% deterministic alternative. +BenchmarkSuite.ResetRNG = function() { + Math.random = (function() { + var seed = 49734321; + return function() { + // Robert Jenkins' 32 bit integer hash function. + seed = ((seed + 0x7ed55d16) + (seed << 12)) & 0xffffffff; + seed = ((seed ^ 0xc761c23c) ^ (seed >>> 19)) & 0xffffffff; + seed = ((seed + 0x165667b1) + (seed << 5)) & 0xffffffff; + seed = ((seed + 0xd3a2646c) ^ (seed << 9)) & 0xffffffff; + seed = ((seed + 0xfd7046c5) + (seed << 3)) & 0xffffffff; + seed = ((seed ^ 0xb55a4f09) ^ (seed >>> 16)) & 0xffffffff; + return (seed & 0xfffffff) / 0x10000000; + }; + })(); +} + + +// Runs all registered benchmark suites and optionally yields between +// each individual benchmark to avoid running for too long in the +// context of browsers. Once done, the final score is reported to the +// runner. +BenchmarkSuite.RunSuites = function(runner) { + var continuation = null; + var suites = BenchmarkSuite.suites; + var length = suites.length; + BenchmarkSuite.scores = []; + var index = 0; + function RunStep() { + while (continuation || index < length) { + if (continuation) { + continuation = continuation(); + } else { + var suite = suites[index++]; + if (runner.NotifyStart) runner.NotifyStart(suite.name); + continuation = suite.RunStep(runner); + } + if (continuation && typeof window != 'undefined' && window.setTimeout) { + window.setTimeout(RunStep, 25); + return; + } + } + + // show final result + if (runner.NotifyScore) { + var score = BenchmarkSuite.GeometricMean(BenchmarkSuite.scores); + var formatted = BenchmarkSuite.FormatScore(100 * score); + runner.NotifyScore(formatted); + } + } + RunStep(); +} + + +// Counts the total number of registered benchmarks. Useful for +// showing progress as a percentage. +BenchmarkSuite.CountBenchmarks = function() { + var result = 0; + var suites = BenchmarkSuite.suites; + for (var i = 0; i < suites.length; i++) { + result += suites[i].benchmarks.length; + } + return result; +} + + +// Computes the geometric mean of a set of numbers. +BenchmarkSuite.GeometricMean = function(numbers) { + var log = 0; + for (var i = 0; i < numbers.length; i++) { + log += Math.log(numbers[i]); + } + return Math.pow(Math.E, log / numbers.length); +} + + +// Computes the geometric mean of a set of throughput time measurements. +BenchmarkSuite.GeometricMeanTime = function(measurements) { + var log = 0; + for (var i = 0; i < measurements.length; i++) { + log += Math.log(measurements[i].time); + } + return Math.pow(Math.E, log / measurements.length); +} + + +// Computes the average of the worst samples. For example, if percentile is 99, this will report the +// average of the worst 1% of the samples. +BenchmarkSuite.AverageAbovePercentile = function(numbers, percentile) { + // Don't change the original array. + numbers = numbers.slice(); + + // Sort in ascending order. + numbers.sort(function(a, b) { return a - b; }); + + // Now the elements we want are at the end. Keep removing them until the array size shrinks too much. + // Examples assuming percentile = 99: + // + // - numbers.length starts at 100: we will remove just the worst entry and then not remove anymore, + // since then numbers.length / originalLength = 0.99. + // + // - numbers.length starts at 1000: we will remove the ten worst. + // + // - numbers.length starts at 10: we will remove just the worst. + var numbersWeWant = []; + var originalLength = numbers.length; + while (numbers.length / originalLength > percentile / 100) + numbersWeWant.push(numbers.pop()); + + var sum = 0; + for (var i = 0; i < numbersWeWant.length; ++i) + sum += numbersWeWant[i]; + + var result = sum / numbersWeWant.length; + + // Do a sanity check. + if (numbers.length && result < numbers[numbers.length - 1]) { + throw "Sanity check fail: the worst case result is " + result + + " but we didn't take into account " + numbers; + } + + return result; +} + + +// Computes the geometric mean of a set of latency measurements. +BenchmarkSuite.GeometricMeanLatency = function(measurements) { + var log = 0; + var hasLatencyResult = false; + for (var i = 0; i < measurements.length; i++) { + if (measurements[i].latency != 0) { + log += Math.log(measurements[i].latency); + hasLatencyResult = true; + } + } + if (hasLatencyResult) { + return Math.pow(Math.E, log / measurements.length); + } else { + return 0; + } +} + + +// Converts a score value to a string with at least three significant +// digits. +BenchmarkSuite.FormatScore = function(value) { + if (value > 100) { + return value.toFixed(0); + } else { + return value.toPrecision(3); + } +} + +// Notifies the runner that we're done running a single benchmark in +// the benchmark suite. This can be useful to report progress. +BenchmarkSuite.prototype.NotifyStep = function(result) { + this.results.push(result); + if (this.runner.NotifyStep) this.runner.NotifyStep(result.benchmark.name); +} + + +// Notifies the runner that we're done with running a suite and that +// we have a result which can be reported to the user if needed. +BenchmarkSuite.prototype.NotifyResult = function() { + var mean = BenchmarkSuite.GeometricMeanTime(this.results); + var score = this.reference[0] / mean; + BenchmarkSuite.scores.push(score); + if (this.runner.NotifyResult) { + var formatted = BenchmarkSuite.FormatScore(100 * score); + this.runner.NotifyResult(this.name, formatted); + } + if (this.reference.length == 2) { + var meanLatency = BenchmarkSuite.GeometricMeanLatency(this.results); + if (meanLatency != 0) { + var scoreLatency = this.reference[1] / meanLatency; + BenchmarkSuite.scores.push(scoreLatency); + if (this.runner.NotifyResult) { + var formattedLatency = BenchmarkSuite.FormatScore(100 * scoreLatency) + this.runner.NotifyResult(this.name + "Latency", formattedLatency); + } + } + } +} + + +// Notifies the runner that running a benchmark resulted in an error. +BenchmarkSuite.prototype.NotifyError = function(error) { + if (this.runner.NotifyError) { + this.runner.NotifyError(this.name, error); + } + if (this.runner.NotifyStep) { + this.runner.NotifyStep(this.name); + } +} + + +// Runs a single benchmark for at least a second and computes the +// average time it takes to run a single iteration. +BenchmarkSuite.prototype.RunSingleBenchmark = function(benchmark, data) { + function Measure(data) { + var elapsed = 0; + var start = new Date(); + + // Run either for 1 second or for the number of iterations specified + // by minIterations, depending on the config flag doDeterministic. + for (var i = 0; (benchmark.doDeterministic ? + i= keys[i + 1]) { + throw new Error("Splay tree not sorted"); + } + } +} + + +function SplayRun() { + // Replace a few nodes in the splay tree. + for (var i = 0; i < kSplayTreeModifications; i++) { + var key = InsertNewNode(); + var greatest = splayTree.findGreatestLessThan(key); + if (greatest == null) splayTree.remove(key); + else splayTree.remove(greatest.key); + } + SplayUpdateStats(performance.now()); +} + + +/** + * Constructs a Splay tree. A splay tree is a self-balancing binary + * search tree with the additional property that recently accessed + * elements are quick to access again. It performs basic operations + * such as insertion, look-up and removal in O(log(n)) amortized time. + * + * @constructor + */ +function SplayTree() { +}; + + +/** + * Pointer to the root node of the tree. + * + * @type {SplayTree.Node} + * @private + */ +SplayTree.prototype.root_ = null; + + +/** + * @return {boolean} Whether the tree is empty. + */ +SplayTree.prototype.isEmpty = function() { + return !this.root_; +}; + + +/** + * Inserts a node into the tree with the specified key and value if + * the tree does not already contain a node with the specified key. If + * the value is inserted, it becomes the root of the tree. + * + * @param {number} key Key to insert into the tree. + * @param {*} value Value to insert into the tree. + */ +SplayTree.prototype.insert = function(key, value) { + if (this.isEmpty()) { + this.root_ = new SplayTree.Node(key, value); + return; + } + // Splay on the key to move the last node on the search path for + // the key to the root of the tree. + this.splay_(key); + if (this.root_.key == key) { + return; + } + var node = new SplayTree.Node(key, value); + if (key > this.root_.key) { + node.left = this.root_; + node.right = this.root_.right; + this.root_.right = null; + } else { + node.right = this.root_; + node.left = this.root_.left; + this.root_.left = null; + } + this.root_ = node; +}; + + +/** + * Removes a node with the specified key from the tree if the tree + * contains a node with this key. The removed node is returned. If the + * key is not found, an exception is thrown. + * + * @param {number} key Key to find and remove from the tree. + * @return {SplayTree.Node} The removed node. + */ +SplayTree.prototype.remove = function(key) { + if (this.isEmpty()) { + throw Error('Key not found: ' + key); + } + this.splay_(key); + if (this.root_.key != key) { + throw Error('Key not found: ' + key); + } + var removed = this.root_; + if (!this.root_.left) { + this.root_ = this.root_.right; + } else { + var right = this.root_.right; + this.root_ = this.root_.left; + // Splay to make sure that the new root has an empty right child. + this.splay_(key); + // Insert the original right child as the right child of the new + // root. + this.root_.right = right; + } + return removed; +}; + + +/** + * Returns the node having the specified key or null if the tree doesn't contain + * a node with the specified key. + * + * @param {number} key Key to find in the tree. + * @return {SplayTree.Node} Node having the specified key. + */ +SplayTree.prototype.find = function(key) { + if (this.isEmpty()) { + return null; + } + this.splay_(key); + return this.root_.key == key ? this.root_ : null; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value. + */ +SplayTree.prototype.findMax = function(opt_startNode) { + if (this.isEmpty()) { + return null; + } + var current = opt_startNode || this.root_; + while (current.right) { + current = current.right; + } + return current; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value that + * is less than the specified key value. + */ +SplayTree.prototype.findGreatestLessThan = function(key) { + if (this.isEmpty()) { + return null; + } + // Splay on the key to move the node with the given key or the last + // node on the search path to the top of the tree. + this.splay_(key); + // Now the result is either the root node or the greatest node in + // the left subtree. + if (this.root_.key < key) { + return this.root_; + } else if (this.root_.left) { + return this.findMax(this.root_.left); + } else { + return null; + } +}; + + +/** + * @return {Array<*>} An array containing all the keys of tree's nodes. + */ +SplayTree.prototype.exportKeys = function() { + var result = []; + if (!this.isEmpty()) { + this.root_.traverse_(function(node) { result.push(node.key); }); + } + return result; +}; + + +/** + * Perform the splay operation for the given key. Moves the node with + * the given key to the top of the tree. If no node has the given + * key, the last node on the search path is moved to the top of the + * tree. This is the simplified top-down splaying algorithm from: + * "Self-adjusting Binary Search Trees" by Sleator and Tarjan + * + * @param {number} key Key to splay the tree on. + * @private + */ +SplayTree.prototype.splay_ = function(key) { + if (this.isEmpty()) { + return; + } + // Create a dummy node. The use of the dummy node is a bit + // counter-intuitive: The right child of the dummy node will hold + // the L tree of the algorithm. The left child of the dummy node + // will hold the R tree of the algorithm. Using a dummy node, left + // and right will always be nodes and we avoid special cases. + var dummy, left, right; + dummy = left = right = new SplayTree.Node(null, null); + var current = this.root_; + while (true) { + if (key < current.key) { + if (!current.left) { + break; + } + if (key < current.left.key) { + // Rotate right. + var tmp = current.left; + current.left = tmp.right; + tmp.right = current; + current = tmp; + if (!current.left) { + break; + } + } + // Link right. + right.left = current; + right = current; + current = current.left; + } else if (key > current.key) { + if (!current.right) { + break; + } + if (key > current.right.key) { + // Rotate left. + var tmp = current.right; + current.right = tmp.left; + tmp.left = current; + current = tmp; + if (!current.right) { + break; + } + } + // Link left. + left.right = current; + left = current; + current = current.right; + } else { + break; + } + } + // Assemble. + left.right = current.left; + right.left = current.right; + current.left = dummy.right; + current.right = dummy.left; + this.root_ = current; +}; + + +/** + * Constructs a Splay tree node. + * + * @param {number} key Key. + * @param {*} value Value. + */ +SplayTree.Node = function(key, value) { + this.key = key; + this.value = value; +}; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.left = null; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.right = null; + + +/** + * Performs an ordered traversal of the subtree starting at + * this SplayTree.Node. + * + * @param {function(SplayTree.Node)} f Visitor function. + * @private + */ +SplayTree.Node.prototype.traverse_ = function(f) { + var current = this; + while (current) { + var left = current.left; + if (left) left.traverse_(f); + f(current); + current = current.right; + } +}; +function jscSetUp() { + SplaySetup(); +} + +function jscTearDown() { + SplayTearDown(); +} + +function jscRun() { + SplayRun(); +} + +jscSetUp(); +var __before = preciseTime(); +var times = []; +for (var i = 0; i < 10000; ++i) { +//for (var i = 0; i < 1000000; ++i) { + var _before = preciseTime(); + jscRun(); + var _after = preciseTime(); + times.push(_after - _before); + flashHeapAccess(); +} +var __after = preciseTime(); +jscTearDown(); + +function averageAbovePercentile(numbers, percentile) { + // Don't change the original array. + numbers = numbers.slice(); + + // Sort in ascending order. + numbers.sort(function(a, b) { return a - b; }); + + // Now the elements we want are at the end. Keep removing them until the array size shrinks too much. + // Examples assuming percentile = 99: + // + // - numbers.length starts at 100: we will remove just the worst entry and then not remove anymore, + // since then numbers.length / originalLength = 0.99. + // + // - numbers.length starts at 1000: we will remove the ten worst. + // + // - numbers.length starts at 10: we will remove just the worst. + var numbersWeWant = []; + var originalLength = numbers.length; + while (numbers.length / originalLength > percentile / 100) + numbersWeWant.push(numbers.pop()); + + var sum = 0; + for (var i = 0; i < numbersWeWant.length; ++i) + sum += numbersWeWant[i]; + + var result = sum / numbersWeWant.length; + + // Do a sanity check. + if (numbers.length && result < numbers[numbers.length - 1]) { + throw "Sanity check fail: the worst case result is " + result + + " but we didn't take into account " + numbers; + } + + return result; +} + +print("That took " + (__after - __before) * 1000 + " ms."); + +function printPercentile(percentile) +{ + print("Above " + percentile + "%: " + averageAbovePercentile(times, percentile) * 1000 + " ms."); +} + +printPercentile(99.9); +printPercentile(99.5); +printPercentile(99); +printPercentile(97.5); +printPercentile(95); +printPercentile(90); +printPercentile(75); +printPercentile(50); +printPercentile(0); + +gc(); diff --git a/implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint-2.js b/implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint-2.js new file mode 100644 index 0000000000..7dde5342d6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint-2.js @@ -0,0 +1,22 @@ +function foo(a) { + return [...a]; +} +noInline(foo); + +let arr = []; +for (let i = 0; i < 10000; i++) { + if (i % 100 === 0) + arr.push([], i); + foo(arr); +} + +let calledIterator = false; +let arrayIterator = [][Symbol.iterator]().__proto__; +arrayIterator.next = function() { + calledIterator = true; + return {done: true}; +}; + +let r = foo(arr); +if (!calledIterator || r.length) + throw new Error("Bad result"); diff --git a/implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint.js b/implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint.js new file mode 100644 index 0000000000..ac774535c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-array-iterator-watchpoint.js @@ -0,0 +1,25 @@ +function foo(a) { + return [...a]; +} +noInline(foo); + +let arr = []; +for (let i = 0; i < 10000; i++) { + if (i % 100 === 0) + arr.push([], i); + foo(arr); +} + +let calledIterator = false; +Array.prototype[Symbol.iterator] = function iterator() { + calledIterator = true; + return { + next() { + return {done: true}; + } + }; +}; + +foo(arr); +if (!calledIterator) + throw new Error("Bad result"); diff --git a/implementation-contributed/javascriptcore/stress/spread-call-convert-to-static-call.js b/implementation-contributed/javascriptcore/stress/spread-call-convert-to-static-call.js new file mode 100644 index 0000000000..f572664fd5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-call-convert-to-static-call.js @@ -0,0 +1,29 @@ +function assert(b) { + if (!b) + throw new Error("Bad!"); +} +noInline(assert); + +function baz(...args) { + return args; +} +noInline(baz); +function bar(a, ...args) { + return baz(...args, 42, ...args); +} +function foo(a, b, c, d) { + return bar(a, b, c, d); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let r = foo(i, i+1, i+2, i+3); + assert(r.length === 7); + assert(r[0] === i+1); + assert(r[1] === i+2); + assert(r[2] === i+3); + assert(r[3] === 42); + assert(r[4] === i+1); + assert(r[5] === i+2); + assert(r[6] === i+3); +} diff --git a/implementation-contributed/javascriptcore/stress/spread-calling.js b/implementation-contributed/javascriptcore/stress/spread-calling.js new file mode 100644 index 0000000000..592a8e7bf2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-calling.js @@ -0,0 +1,83 @@ +function testFunction() { + if (arguments.length !== 10) + throw "wrong number of arguments expected 10 was " + arguments.length; + for (let i in arguments) { + if ((arguments[i] | 0) !== (i | 0)) + throw "argument " + i + " expected " + i + " was " + arguments[i]; + } +} + +function testEmpty() { + if (arguments.length !== 0) + throw "wrong length expected 0 was " + arguments.length; +} + +iter = Array.prototype.values; + +function makeObject(array, iterator) { + let obj = { [Symbol.iterator]: iterator, length: array.length }; + for (let i in array) + obj[i] = array[i]; + return obj; +} + +function otherIterator() { + return { + count: 6, + next: function() { + if (this.count < 10) + return { value: this.count++, done: false }; + return { done: true }; + } + }; +} + +count = 0; +function* totalIter() { + for (let i = count; i < count+5; i++) { + yield i; + } + count += 5; +} + +function throwingIter() { + return { + count: 0, + next: function() { + if (this.count < 10) + return { value: this.count++, done: false }; + throw new Error("this should have been caught"); + } + }; +} + +object1 = makeObject([1, 2, 3], iter); +object2 = makeObject([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], iter); +object3 = makeObject([], otherIterator); +object4 = makeObject([], totalIter); +objectThrow = makeObject([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], throwingIter); + +for (let i = 0; i < 3000; i++) { + count = 0; + testFunction(0, ...[1, 2, 3], ...[4], 5, 6, ...[7, 8, 9]); + testFunction(...[0, 1], 2, 3, ...[4, 5, 6, 7, 8], 9); + testFunction(...[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); + testFunction(0, ...object1, 4, 5, ...[6, 7, 8, 9]); + testFunction(...object2); + testFunction(0, ...object1, 4, 5, ...object3); + testFunction(0, ..."12345", ...object3); + testEmpty(...[]); + testFunction(...object4, ...object4); + testFunction.call(null, 0, ...[1, 2, 3], 4, 5, 6, 7, 8, 9); + testFunction.apply(null, [0, ...[1, 2, 3], 4, 5, 6, 7, 8, 9]) + let failed = false; + try { + testFunction(...objectThrow); + failed = true; + } catch (e) { + if (!e instanceof Error) + failed = true; + } + if (failed) + throw "did not throw an exeption even though it should have"; +} diff --git a/implementation-contributed/javascriptcore/stress/spread-capture-rest.js b/implementation-contributed/javascriptcore/stress/spread-capture-rest.js new file mode 100644 index 0000000000..6ad7dbe756 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-capture-rest.js @@ -0,0 +1,80 @@ +(function () { + "use strict"; + + function shouldBe(actual, expected) + { + if (actual !== expected) + throw new Error('bad value: ' + actual); + } + noInline(shouldBe); + + function capture(arg) + { + } + noInline(capture); + + var flag = false; + + function a(...args) + { + // This makes args and Spread non-phantom. + capture(args); + if (flag) { + OSRExit(); + return args[0]; + } + return b(...args); + } + + function b(...args) + { + return Math.max(...args); + } + + for (var i = 0; i < 1e6; ++i) { + flag = i > (1e6 - 100); + var ret = a(0, 1, 2, 3, 4); + if (!flag) + shouldBe(ret, 4); + else + shouldBe(ret, 0); + } +}()); + +(function () { + "use strict"; + + function shouldBe(actual, expected) + { + if (actual !== expected) + throw new Error('bad value: ' + actual); + } + noInline(shouldBe); + + function capture(arg) + { + } + noInline(capture); + + var flag = false; + + function a(...args) + { + // This makes args and Spread non-phantom. + capture(args); + if (flag) { + OSRExit(); + return args[0]; + } + return Math.max(...args); + } + + for (var i = 0; i < 1e6; ++i) { + flag = i > (1e6 - 100); + var ret = a(0, 1, 2, 3, 4); + if (!flag) + shouldBe(ret, 4); + else + shouldBe(ret, 0); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/spread-consults-correct-global-object.js b/implementation-contributed/javascriptcore/stress/spread-consults-correct-global-object.js new file mode 100644 index 0000000000..29b6323173 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-consults-correct-global-object.js @@ -0,0 +1,18 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +function spread(a) { + return [...a]; +} +noInline(spread); + +const foo = {}; + +let secondGlobalObject = createGlobalObject(); +secondGlobalObject.Array.prototype[0] = foo; +let x = secondGlobalObject.Function("return [, 20];")(); +let result = spread(x); +assert(result.length === 2); +assert(result[0] === foo); +assert(result[1] === 20); diff --git a/implementation-contributed/javascriptcore/stress/spread-correct-global-object-on-exception.js b/implementation-contributed/javascriptcore/stress/spread-correct-global-object-on-exception.js new file mode 100644 index 0000000000..dec8e71c54 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-correct-global-object-on-exception.js @@ -0,0 +1,45 @@ +var globalObjectForObject = $vm.globalObjectForObject; + +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +function spread(a) { + return [...a]; +} +noInline(spread); + +const objectText = ` + let o = { + [Symbol.iterator]() { + return { + next() { + return {done: true}; + } + }; + } + }; + o; +`; + +let o = eval(objectText); +for (let i = 0; i < 1000; i++) { + if (i % 23 === 0) + o = eval(objectText); + spread(o); +} + +let myGlobalObject = globalObjectForObject(new Object); + +let secondGlobalObject = createGlobalObject(); +let o2 = secondGlobalObject.Function("return {};")(); + +let error = null; +try { + spread(o2); +} catch(e) { + error = e; +} + +assert(error); +assert(globalObjectForObject(error) === myGlobalObject); diff --git a/implementation-contributed/javascriptcore/stress/spread-escapes-but-create-rest-does-not.js b/implementation-contributed/javascriptcore/stress/spread-escapes-but-create-rest-does-not.js new file mode 100644 index 0000000000..46809c9bf8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-escapes-but-create-rest-does-not.js @@ -0,0 +1,35 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function getProperties(obj) { + let properties = []; + for (let name of Object.getOwnPropertyNames(obj)) { + properties.push(name); + } + return properties; +} + +function theFunc(obj, index, ...args) { + let functions = getProperties(obj); + let func = functions[index % functions.length]; + obj[func](...args); +} + +let o = {}; +let obj = { + valueOf: function (x, y) { + assert(x === 42); + assert(y === o); + try { + } catch (e) {} + } +}; + +for (let i = 0; i < 1e5; ++i) { + for (let _i = 0; _i < 100; _i++) { + } + theFunc(obj, 897989, 42, o); +} diff --git a/implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not-double.js b/implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not-double.js new file mode 100644 index 0000000000..8662b8d648 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not-double.js @@ -0,0 +1,35 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function getProperties(obj) { + let properties = []; + for (let name of Object.getOwnPropertyNames(obj)) { + properties.push(name); + } + return properties; +} + +function theFunc(obj, index) { + let args = [42.195, 20.2]; + let functions = getProperties(obj); + let func = functions[index % functions.length]; + obj[func](...args); +} + +let obj = { + valueOf: function (x, y) { + assert(x === 42.195); + assert(y === 20.2); + try { + } catch (e) {} + } +}; + +for (let i = 0; i < 1e5; ++i) { + for (let _i = 0; _i < 100; _i++) { + } + theFunc(obj, 897989); +} diff --git a/implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not.js b/implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not.js new file mode 100644 index 0000000000..b397677436 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-escapes-but-new-array-buffer-does-not.js @@ -0,0 +1,35 @@ +function assert(b) { + if (!b) + throw new Error; +} +noInline(assert); + +function getProperties(obj) { + let properties = []; + for (let name of Object.getOwnPropertyNames(obj)) { + properties.push(name); + } + return properties; +} + +function theFunc(obj, index) { + let args = [42, 20]; + let functions = getProperties(obj); + let func = functions[index % functions.length]; + obj[func](...args); +} + +let obj = { + valueOf: function (x, y) { + assert(x === 42); + assert(y === 20); + try { + } catch (e) {} + } +}; + +for (let i = 0; i < 1e5; ++i) { + for (let _i = 0; _i < 100; _i++) { + } + theFunc(obj, 897989); +} diff --git a/implementation-contributed/javascriptcore/stress/spread-forward-call-varargs-stack-overflow.js b/implementation-contributed/javascriptcore/stress/spread-forward-call-varargs-stack-overflow.js new file mode 100644 index 0000000000..b4957baf49 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-forward-call-varargs-stack-overflow.js @@ -0,0 +1,58 @@ +//@ skip if $architecture == "x86" +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + +function identity(a) { return a; } +noInline(identity); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo(a, ...args) { + let arg = identity(a); + try { + let r = bar(...args, ...args); + return r; + } catch(e) { + return arg; + } +} +noInline(foo); + +for (let i = 0; i < 40000; i++) { + let args = []; + for (let i = 0; i < 400; i++) { + args.push(i); + } + + let o = {}; + let r = foo(o, ...args); + let i = 0; + for (let arg of args) { + assert(r[i] === arg); + i++; + } + for (let arg of args) { + assert(r[i] === arg); + i++; + } +} + +for (let i = 0; i < 20; i++) { + let threw = false; + let o = {}; + let args = []; + let argCount = maxArguments() * (2/3); + argCount = argCount | 0; + for (let i = 0; i < argCount; i++) { + args.push(i); + } + + let r = foo(o, ...args); + assert(r === o); +} diff --git a/implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js b/implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js new file mode 100644 index 0000000000..8196a5d7df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol-2.js @@ -0,0 +1,46 @@ +function assert(b, m="") { + if (!b) + throw new Error("Bad assertion: " + m); +} +noInline(assert); + +let called = false; +function baz(c) { + if (c) { + Array.prototype[Symbol.iterator] = function() { + assert(false, "should not be called!"); + let i = 0; + return { + next() { + assert(false, "should not be called!"); + } + }; + } + } +} +noInline(baz); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo(c, ...args) { + args = [...args]; + baz(c); + return bar.apply(null, args); +} +noInline(foo); + +function test(c) { + const args = [{}, 20, [], 45]; + let r = foo(c, ...args); + assert(r.length === r.length); + for (let i = 0; i < r.length; i++) + assert(r[i] === args[i]); +} +noInline(test); +for (let i = 0; i < 40000; i++) { + test(false); +} +test(true); diff --git a/implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js b/implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js new file mode 100644 index 0000000000..72bd04f132 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-forward-varargs-rest-parameter-change-iterator-protocol.js @@ -0,0 +1,49 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + +let called = false; +function baz(c) { + if (c) { + Array.prototype[Symbol.iterator] = function() { + let i = 0; + return { + next() { + i++; + if (i === 2) + return {done: true}; + return {value: 40, done: false}; + } + }; + } + } +} +noInline(baz); + +function bar(...args) { + return args; +} +noInline(bar); + +function foo(c, ...args) { + baz(c); + return bar(...args); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + const c = false; + const args = [{}, 20, [], 45]; + let r = foo(c, ...args); + assert(r.length === r.length); + for (let i = 0; i < r.length; i++) + assert(r[i] === args[i]); +} + +const c = true; +const args = [{}, 20, [], 45]; +let r = foo(c, ...args); +assert(r.length === 1); +assert(r[0] === 40); diff --git a/implementation-contributed/javascriptcore/stress/spread-forward-varargs-stack-overflow.js b/implementation-contributed/javascriptcore/stress/spread-forward-varargs-stack-overflow.js new file mode 100644 index 0000000000..b11d45ed98 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-forward-varargs-stack-overflow.js @@ -0,0 +1,52 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} +noInline(assert); + +function bar(...args) { + return args; +} + +function foo(a, ...args) { + try { + let r = bar(...args, ...args); + return r; + } catch(e) { + return a; + } +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let args = []; + for (let i = 0; i < 400; i++) { + args.push(i); + } + + let o = {}; + let r = foo(o, ...args); + let i = 0; + for (let arg of args) { + assert(r[i] === arg); + i++; + } + for (let arg of args) { + assert(r[i] === arg); + i++; + } +} + +for (let i = 0; i < 20; i++) { + let threw = false; + let o = {}; + let args = []; + let argCount = maxArguments() * (2/3); + argCount = argCount | 0; + for (let i = 0; i < argCount; i++) { + args.push(i); + } + + let r = foo(o, ...args); + assert(r === o); +} diff --git a/implementation-contributed/javascriptcore/stress/spread-in-tail.js b/implementation-contributed/javascriptcore/stress/spread-in-tail.js new file mode 100644 index 0000000000..a2a8cb803b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-in-tail.js @@ -0,0 +1,18 @@ +function foo(b, y, d) { + // Note that when we fixed this, this simpler thing would also crash: + // var [x] = [...y]; + + var [a, x, c] = [b, ...y, d]; + return [a, x, c]; +} + +function test(args, expected) { + var actual = foo.apply(this, args); + if ("" + actual != "" + expected) + throw "Error: bad result: " + actual; +} + +test([1, [], 2], [1, 2, void 0]); +test([1, [2], 3], [1, 2, 3]); +test([1, [2, 3], 4], [1, 2, 3]); + diff --git a/implementation-contributed/javascriptcore/stress/spread-multi-layers.js b/implementation-contributed/javascriptcore/stress/spread-multi-layers.js new file mode 100644 index 0000000000..60ae69e057 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-multi-layers.js @@ -0,0 +1,47 @@ +(function () { + "use strict"; + + function shouldBe(actual, expected) + { + if (actual !== expected) + throw new Error('bad value: ' + actual); + } + noInline(shouldBe); + + var flag = false; + + function a(...args) + { + return b(...args); + } + + function b(...args) + { + if (flag) { + OSRExit(); + return args[0]; + } + return c(...args); + } + + function c(...args) + { + return d(...args); + } + + function d(...args) + { + return Math.max(...args); + } + noInline(d); + + var array = [0, 1, 2, 3, 4, 5]; + for (var i = 0; i < 1e6; ++i) { + flag = i > (1e6 - 100); + var ret = a(...array); + if (!flag) + shouldBe(ret, 5); + else + shouldBe(ret, 0); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/spread-non-array.js b/implementation-contributed/javascriptcore/stress/spread-non-array.js new file mode 100644 index 0000000000..124789ad2a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-non-array.js @@ -0,0 +1,62 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion."); +} +function foo(m) { + return [...m]; +} +noInline(foo); + +let map = new Map; +map.set(20, 30); +map.set(40, 50); + +let called = 0; +let customIterator = { + [Symbol.iterator]: function() { + called++; + let count = 0; + return { + next() { + called++; + count++; + if (count === 1) + return {done: false, value: [20, 30]}; + if (count === 2) + return {done: false, value: [40, 50]}; + return {done: true}; + } + }; + } +}; +for (let i = 0; i < 10000; i++) { + for (let o of [customIterator, map]) { + let [[a, b], [c, d]] = foo(o); + assert(a === 20); + assert(b === 30); + assert(c === 40); + assert(d === 50); + } + assert(called === 4); + called = 0; +} + +function bar(m) { + return [...m, ...m]; +} +noInline(bar); +for (let i = 0; i < 10000; i++) { + for (let o of [customIterator, map]) { + let [[a, b], [c, d], [e, f], [g, h]] = bar(o); + assert(a === 20); + assert(b === 30); + assert(c === 40); + assert(d === 50); + assert(e === 20); + assert(f === 30); + assert(g === 40); + assert(h === 50); + } + assert(called === 8); + called = 0; +} diff --git a/implementation-contributed/javascriptcore/stress/spread-non-varargs.js b/implementation-contributed/javascriptcore/stress/spread-non-varargs.js new file mode 100644 index 0000000000..dc26af7a7c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-non-varargs.js @@ -0,0 +1,35 @@ +(function () { + "use strict"; + + function shouldBe(actual, expected) + { + if (actual !== expected) + throw new Error('bad value: ' + actual); + } + noInline(shouldBe); + + var flag = false; + + function a(...args) + { + if (flag) { + OSRExit(); + return args[0]; + } + return b(...args); + } + + function b(...args) + { + return Math.max(...args); + } + + for (var i = 0; i < 1e6; ++i) { + flag = i > (1e6 - 100); + var ret = a(0, 1, 2, 3, 4); + if (!flag) + shouldBe(ret, 4); + else + shouldBe(ret, 0); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/spread-optimized-properly.js b/implementation-contributed/javascriptcore/stress/spread-optimized-properly.js new file mode 100644 index 0000000000..3c8566d80a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-optimized-properly.js @@ -0,0 +1,155 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function test(f) { f(); } + +function shallowEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; ++i) { + if (a[i] !== b[i]) + return false; + } + return true; +} + +function makeArrayIterator(arr, f) { + let i = 0; + return { + next() { + f(); + if (i >= arr.length) + return {done: true}; + return {value: arr[i++], done: false}; + } + }; +} + +test(function() { + let arr = [10, 20]; + arr.__proto__ = {[Symbol.iterator]: Array.prototype[Symbol.iterator]}; + function bar(a) { + a.x; + return [...a]; + } + noInline(bar); + for (let i = 0; i < 10000; i++) { + assert(shallowEq(bar(arr), arr)); + } +}); + +test(function() { + let arr = [10, 20]; + let count = 0; + function callback() { + count++; + } + + arr.__proto__ = { + [Symbol.iterator]: function() { + return makeArrayIterator(this, callback); + } + }; + + function bar(a) { + a.x; + return [...a]; + } + noInline(bar); + for (let i = 0; i < 10000; i++) { + let t = bar(arr); + assert(count === 3); + count = 0; + assert(shallowEq(t, arr)); + } +}); + +test(function() { + let arr = [10, 20]; + let count = 0; + function callback() { + count++; + } + + arr[Symbol.iterator] = function() { + return makeArrayIterator(this, callback); + }; + + function bar(a) { + a.x; + return [...a]; + } + noInline(bar); + for (let i = 0; i < 10000; i++) { + let t = bar(arr); + assert(count === 3); + count = 0; + assert(shallowEq(t, arr)); + } +}); + +test(function() { + let arr = [10, 20]; + arr[Symbol.iterator] = Array.prototype[Symbol.iterator]; + function bar(a) { + a.x; + return [...a]; + } + noInline(bar); + for (let i = 0; i < 10000; i++) { + assert(shallowEq(bar(arr), arr)); + } +}); + +test(function() { + let arr = [, 20]; + let callCount = 0; + Object.defineProperty(arr, 0, {get() { ++callCount; return 10; }}); + function bar(a) { + a.x; + return [...a]; + } + noInline(bar); + for (let i = 0; i < 10000; i++) { + let t = bar(arr); + assert(callCount === 1); + assert(shallowEq(t, arr)); + assert(callCount === 2); + callCount = 0; + } +}); + +// We run this test last since it fires watchpoints for the protocol. +test(function() { + let iter = [][Symbol.iterator](); + let iterProto = Object.getPrototypeOf(iter); + let oldNext = iterProto.next; + + function hackedNext() { + let val = oldNext.call(this); + if ("value" in val) { + val.value++; + } + return val; + } + + function test(a) { + a.x; + return [...a]; + } + + for (let i = 0; i < 10000; ++i) { + let arr = [1,,3]; + let callCount = 0; + Object.defineProperty(arr, 1, { get: function() { ++callCount; iterProto.next = hackedNext; return 2; } }); + let t = test(arr); + assert(callCount === 1); + assert(t.length === 3); + assert(t[0] === 1); + assert(t[1] === 2); + assert(t[2] === 3); + iterProto.next = oldNext; + } +}); diff --git a/implementation-contributed/javascriptcore/stress/spread-outer-create-rest.js b/implementation-contributed/javascriptcore/stress/spread-outer-create-rest.js new file mode 100644 index 0000000000..11e881ae33 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/spread-outer-create-rest.js @@ -0,0 +1,22 @@ +"use strict"; + +function assert(b) { + if (!b) + throw new Error("Bad"); +} + +function foo(...args) { + return bar(args); +} +noInline(foo); + +function bar(args) { + return baz(...args); +} + +function baz(a, b) { + return a + b; +} + +for (let i = 0; i < 10000; ++i) + assert(foo(i, i+1) === (i + (i + 1))); diff --git a/implementation-contributed/javascriptcore/stress/static-function-delete.js b/implementation-contributed/javascriptcore/stress/static-function-delete.js new file mode 100644 index 0000000000..66ccf01457 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-function-delete.js @@ -0,0 +1,10 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(RegExp.prototype.hasOwnProperty('exec'), true); +shouldBe(delete RegExp.prototype.exec, true); +shouldBe(RegExp.prototype.hasOwnProperty('exec'), false); +shouldBe(delete RegExp.prototype.exec, true); +shouldBe(RegExp.prototype.hasOwnProperty('exec'), false); diff --git a/implementation-contributed/javascriptcore/stress/static-function-put.js b/implementation-contributed/javascriptcore/stress/static-function-put.js new file mode 100644 index 0000000000..d47d5c8080 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-function-put.js @@ -0,0 +1,11 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +var exec = RegExp.prototype.exec; +var nested = Object.create(RegExp.prototype); + +nested.exec = "Hello"; +shouldBe(nested.hasOwnProperty('exec'), true); +shouldBe(nested.exec, "Hello"); +shouldBe(/hello/.exec, exec); diff --git a/implementation-contributed/javascriptcore/stress/static-getter-delete.js b/implementation-contributed/javascriptcore/stress/static-getter-delete.js new file mode 100644 index 0000000000..c88ca0a376 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-delete.js @@ -0,0 +1,47 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +// Before static functions (& accessors) are reified. +shouldThrow(function () { + 'use strict'; + RegExp.prototype.multiline = 'ok'; +}, 'TypeError: Attempted to assign to readonly property.'); + +(function () { + 'use strict'; + shouldBe(delete RegExp.prototype.global, true); + shouldBe(RegExp.prototype.hasOwnProperty('global'), false); + RegExp.prototype.global = 'hello' + shouldBe(RegExp.prototype.global, 'hello'); +}()); + +// After static functions (& accessors) are reified. +shouldThrow(function () { + 'use strict'; + RegExp.prototype.multiline = 'ok'; +}, 'TypeError: Attempted to assign to readonly property.'); + +(function () { + 'use strict'; + shouldBe(delete RegExp.prototype.multiline, true); + shouldBe(RegExp.prototype.hasOwnProperty('multiline'), false); + RegExp.prototype.multiline = 'hello' + shouldBe(RegExp.prototype.multiline, 'hello'); +}()); diff --git a/implementation-contributed/javascriptcore/stress/static-getter-descriptors.js b/implementation-contributed/javascriptcore/stress/static-getter-descriptors.js new file mode 100644 index 0000000000..a53096dc9f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-descriptors.js @@ -0,0 +1,12 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var descriptor = Object.getOwnPropertyDescriptor(RegExp.prototype, 'global'); +shouldBe(JSON.stringify(descriptor), '{"enumerable":false,"configurable":true}'); + +shouldBe(descriptor.enumerable, false); +shouldBe(descriptor.configurable, true); +shouldBe(descriptor.set, undefined); +shouldBe(typeof descriptor.get, 'function'); diff --git a/implementation-contributed/javascriptcore/stress/static-getter-enumeration.js b/implementation-contributed/javascriptcore/stress/static-getter-enumeration.js new file mode 100644 index 0000000000..c67fd15939 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-enumeration.js @@ -0,0 +1,8 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var keys = Object.keys(/Cocoa/); + +shouldBe(JSON.stringify(keys.sort()), '[]'); // non enumerable diff --git a/implementation-contributed/javascriptcore/stress/static-getter-get.js b/implementation-contributed/javascriptcore/stress/static-getter-get.js new file mode 100644 index 0000000000..1d6acfa38f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-get.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var reg1 = /Cocoa/gi; +shouldBe(reg1.global, true); +shouldBe(reg1.ignoreCase, true); +shouldBe(reg1.multiline, false); +shouldBe(reg1.source, 'Cocoa'); + +var reg2 = /Cocoa/im; +shouldBe(reg2.global, false); +shouldBe(reg2.ignoreCase, true); +shouldBe(reg2.multiline, true); +shouldBe(reg2.source, 'Cocoa'); + +var reg3 = /Cappuccino/gm; +shouldBe(reg3.global, true); +shouldBe(reg3.ignoreCase, false); +shouldBe(reg3.multiline, true); +shouldBe(reg3.source, 'Cappuccino'); diff --git a/implementation-contributed/javascriptcore/stress/static-getter-in-names.js b/implementation-contributed/javascriptcore/stress/static-getter-in-names.js new file mode 100644 index 0000000000..0c44df29ce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-in-names.js @@ -0,0 +1,7 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(JSON.stringify(Object.getOwnPropertyNames(RegExp.prototype).sort()), '["compile","constructor","dotAll","exec","flags","global","ignoreCase","multiline","source","sticky","test","toString","unicode"]'); +shouldBe(JSON.stringify(Object.getOwnPropertyNames(/Cocoa/).sort()), '["lastIndex"]'); diff --git a/implementation-contributed/javascriptcore/stress/static-getter-names.js b/implementation-contributed/javascriptcore/stress/static-getter-names.js new file mode 100644 index 0000000000..00630898ac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-names.js @@ -0,0 +1,16 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var names = [ + 'global', + 'ignoreCase', + 'multiline', + 'source', +]; + +for (var name of names) { + var descriptor = Object.getOwnPropertyDescriptor(RegExp.prototype, name); + shouldBe(descriptor.get.name, 'get ' + name); +} diff --git a/implementation-contributed/javascriptcore/stress/static-getter-put.js b/implementation-contributed/javascriptcore/stress/static-getter-put.js new file mode 100644 index 0000000000..aac8f4f1c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/static-getter-put.js @@ -0,0 +1,38 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldThrow(function () { + 'use strict'; + RegExp.prototype.global = 'Cocoa'; +}, 'TypeError: Attempted to assign to readonly property.'); + +// Twice. +shouldThrow(function () { + 'use strict'; + RegExp.prototype.global = 'Cocoa'; +}, 'TypeError: Attempted to assign to readonly property.'); + +(function () { + 'use strict'; + delete RegExp.prototype.global; + RegExp.prototype.global = 'Cocoa'; + shouldBe(RegExp.prototype.global, 'Cocoa'); + shouldBe(/Cappuccino/.global, 'Cocoa'); +}()); diff --git a/implementation-contributed/javascriptcore/stress/strcat-emtpy.js b/implementation-contributed/javascriptcore/stress/strcat-emtpy.js new file mode 100644 index 0000000000..bf68ea1f14 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/strcat-emtpy.js @@ -0,0 +1,14 @@ +function foo() { + "use strict"; + let a = "hello" + a; + return a; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(); + } catch (e) { + } +} diff --git a/implementation-contributed/javascriptcore/stress/strict-function-structure.js b/implementation-contributed/javascriptcore/stress/strict-function-structure.js new file mode 100644 index 0000000000..2d5ef71b1e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/strict-function-structure.js @@ -0,0 +1,8 @@ +function foo(f) { f.hasOwnProperty("arguments"); } +noInline(foo); + +function bar() {} +foo(bar); + +function baz() { "use strict"; } +foo(baz); diff --git a/implementation-contributed/javascriptcore/stress/strict-mode-arguments-caller.js b/implementation-contributed/javascriptcore/stress/strict-mode-arguments-caller.js new file mode 100644 index 0000000000..4ce89e3855 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/strict-mode-arguments-caller.js @@ -0,0 +1,13 @@ +function strictArguments() { + "use strict"; + return arguments; +} + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(strictArguments().caller, undefined); +shouldBe('caller' in strictArguments(), false); +shouldBe(Object.getOwnPropertyDescriptor(strictArguments(), 'caller'), undefined); diff --git a/implementation-contributed/javascriptcore/stress/strict-nested-function-structure.js b/implementation-contributed/javascriptcore/stress/strict-nested-function-structure.js new file mode 100644 index 0000000000..ef9d23558f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/strict-nested-function-structure.js @@ -0,0 +1,12 @@ +function foo(f) { f.hasOwnProperty("arguments"); } +noInline(foo); + +function bar() {} +foo(bar); + +function baz() { + "use strict"; + function boo() {} + return boo; +} +foo(baz()); diff --git a/implementation-contributed/javascriptcore/stress/strict-to-this-int.js b/implementation-contributed/javascriptcore/stress/strict-to-this-int.js new file mode 100644 index 0000000000..806ed0bd7f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/strict-to-this-int.js @@ -0,0 +1,25 @@ +function foo(a, b) { + var result = a + b; + if (result) + return (a + b) + result + this; + else + return this.f; +} + +noInline(foo); + +var x; +Number.prototype.valueOf = function() { return x; }; + +function test(this_, a, b, x_) { + x = x_; + var result = foo.call(this_, a, b); + if (result != (a + b) * 2 + x_) + throw "Error: bad result: " + result; +} + +for (var i = 0; i < 100000; ++i) + test(5, 1, 2, 100); + +test(5, 2000000000, 2000000000, 1); +test(5, 1073741774, 1073741774, 1000); diff --git a/implementation-contributed/javascriptcore/stress/string-compare.js b/implementation-contributed/javascriptcore/stress/string-compare.js new file mode 100644 index 0000000000..253e7cc631 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-compare.js @@ -0,0 +1,78 @@ +let typeCases = [ + "", + "0", + "1", + "a", + "aa", +] + +let operators = ["<", "<=", ">", ">=", "==", "!=", "===", "!=="]; + +function makeRope(a) +{ + return a + a; +} +noInline(makeRope); + +function makeString(a) +{ + return makeRope(a).slice(a.length); +} +noInline(makeString); + +for (let operator of operators) { + eval(` + function compareStringIdent(a, b) + { + return a ${operator} b; + } + noInline(compareStringIdent); + + function compareStringString(a, b) + { + return a ${operator} b; + } + noInline(compareStringString); + + function compareStringIdentString(a, b) + { + return a ${operator} b; + } + noInline(compareStringIdentString); + + function compareStringStringIdent(a, b) + { + return a ${operator} b; + } + noInline(compareStringStringIdent); + `); + + for (let left of typeCases) { + for (let right of typeCases) { + let expected = eval("'" + left + "'" + operator + "'" + right + "'"); + eval(` + for (let i = 0; i < 1e3; ++i) { + let stringIdentResult = compareStringIdent('${left}', '${right}'); + if (stringIdentResult !== ${expected}) + throw "Failed compareStringIdent('${left}', '${right}'), got " + stringIdentResult + " expected ${expected}"; + let resolvedLeftString = makeString('${left}'); + let resovledRightString = makeString('${right}'); + let stringStringResult = compareStringString(resolvedLeftString, resovledRightString); + if (stringStringResult !== ${expected}) + throw "Failed compareStringString('${left}', '${right}'), got " + stringStringResult + " expected ${expected}"; + stringStringResult = compareStringString(makeString('${left}'), makeString('${right}')); + if (stringStringResult !== ${expected}) + throw "Failed compareStringString('${left}', '${right}'), got " + stringStringResult + " expected ${expected}"; + + if (compareStringIdentString(makeString('${left}'), '${right}') !== ${expected}) + throw "Failed compareStringIdentString('${left}', '${right}'), expected was ${expected}"; + if (compareStringStringIdent('${left}', makeString('${right}')) !== ${expected}) + throw "Failed compareStringStringIdent('${left}', '${right}'), expected was ${expected}"; + + if (('${left}' ${operator} '${right}') !== ${expected}) + throw "Failed constant folding of ('${left}' ${operator} '${right}'). How do you even fail constant folding?"; + } + `) + } + } +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure-not-dead.js b/implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure-not-dead.js new file mode 100644 index 0000000000..5478f73da6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure-not-dead.js @@ -0,0 +1,31 @@ +var globalString; + +function foo(o, v) +{ + var x = o.f; + globalString = String.fromCharCode(v); + return x + o.f; +} + +// Break some watchpoints. +var o = {f:24}; +o.g = 43; + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, {valueOf: function() { return 32; }}); + if (result != 84) + throw "Error: bad result: " + result; +} + +var globalO = {f:42}; +var weirdValue = {valueOf: function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { return 75; }); + return 33; +}}; +var result = foo(globalO, weirdValue); +if (result != 42 + 75) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure.js b/implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure.js new file mode 100644 index 0000000000..ab60026d7a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-from-char-code-change-structure.js @@ -0,0 +1,29 @@ +function foo(o, v) +{ + var x = o.f; + String.fromCharCode(v); + return x + o.f; +} + +noInline(foo); + +// Break some watchpoints. +var o = {f:24}; +o.g = 43; + +for (var i = 0; i < 10000; ++i) { + var result = foo({f:42}, {valueOf: function() { return 32; }}); + if (result != 84) + throw "Error: bad result: " + result; +} + +var globalO = {f:42}; +var weirdValue = {valueOf: function() { + delete globalO.f; + globalO.__defineGetter__("f", function() { return 75; }); + return 33; +}}; +var result = foo(globalO, weirdValue); +if (result != 42 + 75) + throw "Error: bad result at end: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/string-from-char-code-slow.js b/implementation-contributed/javascriptcore/stress/string-from-char-code-slow.js new file mode 100644 index 0000000000..0fea07b3af --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-from-char-code-slow.js @@ -0,0 +1,10 @@ +var result = (function() { + var result; + for (var i = 0; i < 1000000; ++i) + result = String.fromCharCode(1000); + return result +})(); + +if (result != "Ϩ") + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/string-from-code-point.js b/implementation-contributed/javascriptcore/stress/string-from-code-point.js new file mode 100644 index 0000000000..1ae22ec716 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-from-code-point.js @@ -0,0 +1,135 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error("bad value: " + String(actual)); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +function toCodePoints(string) { + var result = []; + for (var codePoint of string) { + result.push(codePoint.codePointAt(0)); + } + return result; +} + +shouldBe(String.fromCodePoint(), ""); +shouldBe(String.fromCodePoint(0), "\0"); +shouldBe(String.fromCodePoint(0, 0), "\0\0"); + +var tests = [ + "", + "Hello", + "Cocoa", + "Cappuccino Cocoa", + "日本語", + "マルチバイト", + "吉野屋", + "𠮷野家", // Contain a surrogate pair. +]; + +for (var test of tests) { + shouldBe(String.fromCodePoint.apply(String, toCodePoints(test)), test); +} + +function passThrough(codePoint) { + var string = String.fromCodePoint(codePoint); + shouldBe(string.codePointAt(0), codePoint); +} + +var numberTests = [ + [ 0x10FFFF, "\uDBFF\uDFFF" ], + [ 0x10FFFE, "\uDBFF\uDFFE" ], + [ 0xFFFF, "\uFFFF" ], + [ 0x10000, "\uD800\uDC00" ], + [ 0x10001, "\uD800\uDC01" ], + [ -0.0, "\u0000" ], + [ 0xD800, "\uD800" ], + [ 0xDC00, "\uDC00" ], +]; + +for (var test of numberTests) { + shouldBe(String.fromCodePoint(test[0]), test[1]); +} + +shouldBe(String.fromCodePoint(0xD800, 0xDC00).codePointAt(0), 0x10000); + +// Non-character code points. +for (var i = 0; i < 17; ++i) { + var plane = 0x10000 * i; + passThrough(plane + 0xFFFE); + passThrough(plane + 0xFFFF); +} + +for (var start = 0xFDD0; start <= 0xFDEF; ++start) { + passThrough(start); +} + +var invalidTests = [ + -1, + 1.2, + 1.5, + 30.01, + -11.0, + NaN, + Number.Infinity, + -Number.Infinity, + 0x10FFFF + 1, + 0x7FFFFFFF, + 0x7FFFFFFF + 1, + 0xFFFFFFFF, + 0xFFFFFFFF + 1, + 0x100000000 + 32, // String.fromCharCode(0x100000000 + 32) produces a space, but String.fromCodePoint should throw an error. + "Hello", + undefined, + {}, +]; + +for (var test of invalidTests) { + shouldThrow(function () { + String.fromCodePoint(test); + }, "RangeError: Arguments contain a value that is out of range of code points"); +} + +// toNumber causes errors. +shouldThrow(function () { + String.fromCodePoint(Symbol.iterator); +}, "TypeError: Cannot convert a symbol to a number") + +var toNumberObject = { + valueOf() { + throw new Error("valueOf is called"); + } +}; + +shouldThrow(function () { + String.fromCodePoint(toNumberObject); +}, "Error: valueOf is called") + +shouldThrow(function () { + String.fromCodePoint(Symbol.iterator, toNumberObject); +}, "TypeError: Cannot convert a symbol to a number") + +var convertAndPassTests = [ + [ null, "\0" ], + [ [], "\0" ], + [ "0x41", "A" ], + [ "", "\0" ], + [ true, "\u0001" ], + [ false, "\u0000" ], +]; + +for (var test of convertAndPassTests) { + shouldBe(String.fromCodePoint(test[0]), test[1]); +} diff --git a/implementation-contributed/javascriptcore/stress/string-ident-to-not-string-var-equality.js b/implementation-contributed/javascriptcore/stress/string-ident-to-not-string-var-equality.js new file mode 100644 index 0000000000..3ceb1b262f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-ident-to-not-string-var-equality.js @@ -0,0 +1,32 @@ +function foo(a, b) { + return a === b; +} + +function bar(a, b) { + return b === a; +} + +function test(a, b, expected) { + var fooActual = foo(a, b); + var barActual = bar(a, b); + + if (fooActual != expected) + throw new Error("Bad result: " + fooActual); + if (barActual != expected) + throw new Error("Bad result: " + barActual); +} + +for (var i = 0; i < 10000; ++i) { + test("foo", "foo", true); + test("foo", "bar", false); + test("fuz", 42, false); + test("buz", {}, false); + test("bla", null, false); +} + +var fooString = ""; +fooString += "f"; +for (var i = 0; i < 2; ++i) + fooString += "o"; + +test(fooString, "foo", true); diff --git a/implementation-contributed/javascriptcore/stress/string-instanceof.js b/implementation-contributed/javascriptcore/stress/string-instanceof.js new file mode 100644 index 0000000000..929a6c99f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-instanceof.js @@ -0,0 +1,13 @@ +function foo(value, proto) +{ + return value instanceof proto; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo("hello", String); + if (result) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/string-iterators.js b/implementation-contributed/javascriptcore/stress/string-iterators.js new file mode 100644 index 0000000000..f66b620031 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-iterators.js @@ -0,0 +1,212 @@ +// This test checks the behavior of the String iterator + +var testString = "Cocoa,Cappuccino"; +var stringIterator = testString[Symbol.iterator](); +var stringIteratorPrototype = stringIterator.__proto__; +var stringIteratorPrototypeNext = stringIteratorPrototype.next; + +if (stringIterator.hasOwnProperty('next')) + throw "next method should exists on %StringIteratorPrototype%"; +if (!stringIteratorPrototype.hasOwnProperty('next')) + throw "next method should exists on %StringIteratorPrototype%"; + +var iterator = testString[Symbol.iterator](); +var i = 0; +while (true) { + var {done, value} = iterator.next(); + if (done) + break; + if (value !== testString[i]) + throw "Error: bad value: " + value; + i++; +} + +if (testString.length !== i) + throw "Error: bad value: " + i; + +function testSurrogatePair(testString, expected, numberOfElements) { + if (testString.length !== numberOfElements) + throw "Error: bad value: " + testString.length; + + var iterator = testString[Symbol.iterator](); + var i = 0; + while (true) { + var {done, value} = iterator.next(); + if (done) + break; + if (value !== expected[i]) + throw "Error: bad value: " + value; + i++; + } + + if (i !== expected.length) + throw "Error: bad value: " + i; + + for (var codePoint of testString) { + if (value !== expected[i]) + throw "Error: bad value: " + value; + } +} + +// "\uD842\uDFB7\u91ce\u5bb6" +var testString = "𠮷野家"; +var expected = [ + String.fromCharCode(0xD842, 0xDFB7), + String.fromCharCode(0x91CE), + String.fromCharCode(0x5BB6), +]; +testSurrogatePair(testString, expected, 4); + +var testString = "A\uD842"; +var expected = [ + String.fromCharCode(0x0041), + String.fromCharCode(0xD842), +]; +testSurrogatePair(testString, expected, 2); + +var testString = "A\uD842A"; +var expected = [ + String.fromCharCode(0x0041), + String.fromCharCode(0xD842), + String.fromCharCode(0x0041), +]; +testSurrogatePair(testString, expected, 3); + +var testString = "A\uD842\uDFB7"; +var expected = [ + String.fromCharCode(0x0041), + String.fromCharCode(0xD842, 0xDFB7), +]; +testSurrogatePair(testString, expected, 3); + +var testString = "\uD842A\uDFB7"; +var expected = [ + String.fromCharCode(0xD842), + String.fromCharCode(0x0041), + String.fromCharCode(0xDFB7), +]; +testSurrogatePair(testString, expected, 3); + +var testString = "\uDFB7\uD842A"; +var expected = [ + String.fromCharCode(0xDFB7), + String.fromCharCode(0xD842), + String.fromCharCode(0x0041), +]; +testSurrogatePair(testString, expected, 3); + +var string1 = "Cocoa"; +var string1Iterator = string1[Symbol.iterator](); +var index = 0; +while (true) { + var result = stringIteratorPrototypeNext.call(string1Iterator); + var value = result.value; + if (result.done) { + break; + } + if (value !== string1[index++]) + throw "Error: bad value: " + value; +} +if (index !== 5) + throw "Error: bad index: " + index; + +function increment(iter) { + return stringIteratorPrototypeNext.call(iter); +} +var string1 = "Cocoa"; +var string2 = "Cocoa"; +var string1Iterator = string1[Symbol.iterator](); +var string2Iterator = string2[Symbol.iterator](); +for (var i = 0; i < 3; ++i) { + var value1 = increment(string1Iterator).value; + var value2 = increment(string2Iterator).value; + if (value1 !== value2) + throw "Error: bad value: " + value1 + " " + value2; +} + +var string1 = "Cappuccino"; +var string1Iterator = string1[Symbol.iterator](); + +var value = string1Iterator.next().value; +if (value !== "C") + throw "Error: bad value: " + value; +var value = string1Iterator.next().value; +if (value !== "a") + throw "Error: bad value: " + value; +var value = string1Iterator.next().value; +if (value !== "p") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "p") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "u") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "c") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "c") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "i") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "n") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== "o") + throw "Error: bad value: " + value; +var value = stringIteratorPrototypeNext.call(string1Iterator).value; +if (value !== undefined) + throw "Error: bad value: " + value; + +var primitives = [ + "string", + 42, + 0.03, + false, + true, + Symbol("Cocoa"), + null, + undefined +]; +for (var primitive of primitives) { + var didThrow = null; + try { + stringIteratorPrototypeNext.call(primitive); + } catch (e) { + didThrow = e; + } + if (!didThrow) + throw "Error: no error thrown"; + var message = 'TypeError: %StringIteratorPrototype%.next requires that |this| be a String Iterator instance'; + if (primitive == null) + message = 'TypeError: %StringIteratorPrototype%.next requires that |this| not be null or undefined' + if (String(didThrow) !== message) + throw "Error: bad error thrown: " + didThrow; +} + +var nonRelatedObjects = [ + {}, + [], + new Date(), + new Error(), + Object(Symbol()), + new String("Cappuccino"), + new Number(42), + new Boolean(false), + function () { }, +]; +for (var object of nonRelatedObjects) { + var didThrow = null; + try { + stringIteratorPrototypeNext.call(object); + } catch (e) { + didThrow = e; + } + if (!didThrow) + throw "Error: no error thrown"; + if (String(didThrow) !== 'TypeError: %StringIteratorPrototype%.next requires that |this| be a String Iterator instance') + throw "Error: bad error thrown: " + didThrow; +} diff --git a/implementation-contributed/javascriptcore/stress/string-joining-long-strings-should-not-crash.js b/implementation-contributed/javascriptcore/stress/string-joining-long-strings-should-not-crash.js new file mode 100644 index 0000000000..b300f4b838 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-joining-long-strings-should-not-crash.js @@ -0,0 +1,16 @@ +//@ skip if $memoryLimited +//@ runDefault if !$memoryLimited +// This test should not crash. + +var error; +let str = ''; +let arr = [{}, 2, 3]; +try { + for (let z = 0; z < 30; z++) + str = arr.join(str); // exponentially grow length of string. +} catch(e) { + error = e; +} + +if (!error) + throw Error("Failed"); diff --git a/implementation-contributed/javascriptcore/stress/string-normalize.js b/implementation-contributed/javascriptcore/stress/string-normalize.js new file mode 100644 index 0000000000..f9dae4948e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-normalize.js @@ -0,0 +1,120 @@ +function unicode(value) { + return value.split('').map((val) => "\\u" + ("0000" + val.charCodeAt(0).toString(16)).slice(-4)).join(''); +} + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${unicode(String(actual))}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldBe(String.prototype.hasOwnProperty('normalize'), true); +shouldBe(String.prototype.hasOwnProperty.length, 1); +shouldBe(Object.getOwnPropertyDescriptor(String.prototype, 'normalize').writable, true); +shouldBe(Object.getOwnPropertyDescriptor(String.prototype, 'normalize').enumerable, false); +shouldBe(Object.getOwnPropertyDescriptor(String.prototype, 'normalize').configurable, true); + +shouldThrow(() => { + "Test".normalize("Invalid"); +}, `RangeError: argument does not match any normalization form`); + +function normalizeTest(original, defaultValue, nfc, nfd, nfkc, nfkd) { + shouldBe(original.normalize(), defaultValue); + shouldBe(original.normalize("NFC"), nfc); + shouldBe(original.normalize("NFD"), nfd); + shouldBe(original.normalize("NFKC"), nfkc); + shouldBe(original.normalize("NFKD"), nfkd); +} + +{ + let text = "Cocoa"; + normalizeTest(text, text, text, text, text, text); +} + +{ + // うさぎ + // \u3046\u3055\u304e + let text = "\u3046\u3055\u304e"; + normalizeTest(text, text, text, "\u3046\u3055\u304d\u3099", text, "\u3046\u3055\u304d\u3099"); +} + +{ + // é + let text = "\u00e9"; + normalizeTest(text, text, text, "\u0065\u0301", text, "\u0065\u0301"); +} + +{ + // http://unicode.org/faq/normalization.html#6 + let text = "\u03d3"; + normalizeTest(text, text, text, "\u03d2\u0301", "\u038e", "\u03a5\u0301"); +} +{ + // http://unicode.org/faq/normalization.html#6 + let text = "\u03d4"; + normalizeTest(text, text, text, "\u03d2\u0308", "\u03ab", "\u03a5\u0308"); +} +{ + // http://unicode.org/faq/normalization.html#6 + let text = "\u1e9b"; + normalizeTest(text, text, text, "\u017f\u0307", "\u1e61", "\u0073\u0307"); +} + +{ + // http://unicode.org/faq/normalization.html#6 + let text = "\u1e9b"; + normalizeTest(text, text, text, "\u017f\u0307", "\u1e61", "\u0073\u0307"); +} + +{ + // http://unicode.org/faq/normalization.html#12 + normalizeTest("\ud834\udd60", + "\ud834\udd58\ud834\udd65\ud834\udd6e", + "\ud834\udd58\ud834\udd65\ud834\udd6e", + "\ud834\udd58\ud834\udd65\ud834\udd6e", + "\ud834\udd58\ud834\udd65\ud834\udd6e", + "\ud834\udd58\ud834\udd65\ud834\udd6e"); + normalizeTest("\uFB2C", + "\u05e9\u05bc\u05c1", + "\u05e9\u05bc\u05c1", + "\u05e9\u05bc\u05c1", + "\u05e9\u05bc\u05c1", + "\u05e9\u05bc\u05c1", + "\u05e9\u05bc\u05c1" + ); + normalizeTest("\u0390", + "\u0390", + "\u0390", + "\u03b9\u0308\u0301", + "\u0390", + "\u03b9\u0308\u0301" + ); + normalizeTest("\u1F82", + "\u1f82", + "\u1f82", + "\u03b1\u0313\u0300\u0345", + "\u1f82", + "\u03b1\u0313\u0300\u0345" + ); + normalizeTest("\uFDFA", + "\ufdfa", + "\ufdfa", + "\ufdfa", + "\u0635\u0644\u0649\u0020\u0627\u0644\u0644\u0647\u0020\u0639\u0644\u064a\u0647\u0020\u0648\u0633\u0644\u0645", + "\u0635\u0644\u0649\u0020\u0627\u0644\u0644\u0647\u0020\u0639\u0644\u064a\u0647\u0020\u0648\u0633\u0644\u0645" + ); +} diff --git a/implementation-contributed/javascriptcore/stress/string-object-define-own-property.js b/implementation-contributed/javascriptcore/stress/string-object-define-own-property.js new file mode 100644 index 0000000000..522522e8c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-object-define-own-property.js @@ -0,0 +1,69 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var string = new String("Cocoa"); +shouldBe(Reflect.defineProperty(string, 0, { +}), true); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + configurable: false +}), true); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + configurable: true +}), false); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + enumerable: true +}), true); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + enumerable: false +}), false); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + writable: false, +}), true); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + writable: false, + value: 'C', + configurable: true +}), false); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + writable: true, + value: 52, +}), false); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + value: 52, +}), false); +shouldBe(Reflect.get(string, 0), 'C'); + +shouldBe(Reflect.defineProperty(string, 0, { + writable: false, + value: 'C', + configurable: false +}), true); +shouldBe(Reflect.get(string, 0), 'C'); + +// Out of range. +shouldBe(Reflect.defineProperty(string, 2000, { + value: 'Cappuccino' +}), true); +shouldBe(Reflect.get(string, 2000), 'Cappuccino'); +shouldBe(Reflect.defineProperty(string, "Hello", { + value: 'Cappuccino' +}), true); +shouldBe(Reflect.get(string, "Hello"), 'Cappuccino'); diff --git a/implementation-contributed/javascriptcore/stress/string-object-put-by-index.js b/implementation-contributed/javascriptcore/stress/string-object-put-by-index.js new file mode 100644 index 0000000000..fd9cbd45fe --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-object-put-by-index.js @@ -0,0 +1,41 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, message) { + var error = null; + try { + func(); + } catch (e) { + error = e; + } + if (!error) + throw new Error("not thrown."); + if (String(error) !== message) + throw new Error("bad error: " + String(error)); +} + +function testSloppy(string) +{ + string[0] = 52; + shouldBe(string[0], 'C'); + + string[100] = 52; + shouldBe(string[100], 52); +} + +function testStrict(string) +{ + 'use strict'; + shouldThrow(() => { + string[0] = 52; + }, `TypeError: Attempted to assign to readonly property.`); + shouldBe(string[0], 'C'); + + string[100] = 52; + shouldBe(string[100], 52); +} + +testSloppy(new String("Cocoa")); +testStrict(new String("Cocoa")); diff --git a/implementation-contributed/javascriptcore/stress/string-out-of-bounds-negative-proto-value.js b/implementation-contributed/javascriptcore/stress/string-out-of-bounds-negative-proto-value.js new file mode 100644 index 0000000000..cb480504f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-out-of-bounds-negative-proto-value.js @@ -0,0 +1,14 @@ +function foo(s) { + return s[-1]; +} + +noInline(foo); + +String.prototype[-1] = "hello"; + +for (var i = 0; i < 100000; ++i) { + var result = foo("hello"); + if (result != "hello") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/string-proto.js b/implementation-contributed/javascriptcore/stress/string-proto.js new file mode 100644 index 0000000000..ddcf012a07 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-proto.js @@ -0,0 +1,12 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function target(value) +{ + return value.__proto__; +} +noInline(target); +for (var i = 0; i < 1e6; ++i) + shouldBe(target("Cocoa"), String.prototype) diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-charCodeAt-on-too-long-rope.js b/implementation-contributed/javascriptcore/stress/string-prototype-charCodeAt-on-too-long-rope.js new file mode 100644 index 0000000000..334be90bba --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-charCodeAt-on-too-long-rope.js @@ -0,0 +1,33 @@ +// Skip this test because it's slow and it tests a very narrow condition. +//@ skip + +function shouldEqual(actual, expected) { + if (actual != expected) { + throw "ERROR: expect " + expected + ", actual " + actual; + } +} + +s0 = ""; +s1 = "NaNxxxxx"; + +try { + for (var count = 0; count < 27; count++) { + var oldS1 = s1; + s1 += s1; + s0 = oldS1; + } +} catch (e) { } + +try { + s1 += s0; +} catch (e) { } + +var exception; +try { + for (var v of s1) { } +} catch (e) { + exception = e; +} + +shouldEqual(exception, "Error: Out of memory"); + diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-methods-endsWith-startsWith-includes-correctness.js b/implementation-contributed/javascriptcore/stress/string-prototype-methods-endsWith-startsWith-includes-correctness.js new file mode 100644 index 0000000000..ad267aa62a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-methods-endsWith-startsWith-includes-correctness.js @@ -0,0 +1,180 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!"); +} + +function test(f) { + for (let i = 0; i < 500; i++) + f(); +} + +test(function() { + let foo = "hello"; + let threw = false; + try { + foo.endsWith(/foo/); + } catch(e) { + assert(e.toString() === "TypeError: Argument to String.prototype.endsWith cannot be a RegExp"); + threw = true; + } + assert(threw); +}); + +test(function() { + let foo = "hello"; + let threw = false; + try { + foo.startsWith(/foo/); + } catch(e) { + assert(e.toString() === "TypeError: Argument to String.prototype.startsWith cannot be a RegExp"); + threw = true; + } + assert(threw); +}); + +test(function() { + let foo = "hello"; + let threw = false; + try { + foo.includes(/foo/); + } catch(e) { + assert(e.toString() === "TypeError: Argument to String.prototype.includes cannot be a RegExp"); + threw = true; + } + assert(threw); +}); + +test(function() { + let props = []; + let proxy = new Proxy(/foo/, { + get(theTarget, prop) { + props.push(prop); + return theTarget[prop]; + } + }); + + let foo = "hello"; + let threw = false; + try { + foo.endsWith(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Argument to String.prototype.endsWith cannot be a RegExp"); + threw = true; + } + assert(threw); + assert(props.length === 1); + assert(props[0] === Symbol.match); +}); + +test(function() { + let props = []; + let proxy = new Proxy(/foo/, { + get(theTarget, prop) { + props.push(prop); + return theTarget[prop]; + } + }); + + let foo = "hello"; + let threw = false; + try { + foo.startsWith(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Argument to String.prototype.startsWith cannot be a RegExp"); + threw = true; + } + assert(threw); + assert(props.length === 1); + assert(props[0] === Symbol.match); +}); + +test(function() { + let props = []; + let proxy = new Proxy(/foo/, { + get(theTarget, prop) { + props.push(prop); + return theTarget[prop]; + } + }); + + let foo = "hello"; + let threw = false; + try { + foo.includes(proxy); + } catch(e) { + assert(e.toString() === "TypeError: Argument to String.prototype.includes cannot be a RegExp"); + threw = true; + } + assert(threw); + assert(props.length === 1); + assert(props[0] === Symbol.match); +}); + +test(function() { + let props = []; + let proxy = new Proxy(/foo/, { + get(theTarget, prop) { + props.push(prop); + if (prop === Symbol.match) + return undefined; + return theTarget[prop]; + } + }); + + let foo = "/foo/"; + let threw = false; + let result = foo.includes(proxy); + assert(result); + assert(props.length === 5); + assert(props[0] === Symbol.match); + assert(props[1] === Symbol.toPrimitive); + assert(props[2] === "toString"); + assert(props[3] === "source"); + assert(props[4] === "flags"); +}); + +test(function() { + let props = []; + let proxy = new Proxy(/foo/, { + get(theTarget, prop) { + props.push(prop); + if (prop === Symbol.match) + return undefined; + return theTarget[prop]; + } + }); + + let foo = "/foo/"; + let threw = false; + let result = foo.startsWith(proxy); + assert(result); + assert(props.length === 5); + assert(props[0] === Symbol.match); + assert(props[1] === Symbol.toPrimitive); + assert(props[2] === "toString"); + assert(props[3] === "source"); + assert(props[4] === "flags"); +}); + +test(function() { + let props = []; + let proxy = new Proxy(/foo/, { + get(theTarget, prop) { + props.push(prop); + if (prop === Symbol.match) + return undefined; + return theTarget[prop]; + } + }); + + let foo = "/foo/"; + let threw = false; + let result = foo.endsWith(proxy); + assert(result); + assert(props.length === 5); + assert(props[0] === Symbol.match); + assert(props[1] === Symbol.toPrimitive); + assert(props[2] === "toString"); + assert(props[3] === "source"); + assert(props[4] === "flags"); +}); diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js b/implementation-contributed/javascriptcore/stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js new file mode 100644 index 0000000000..0072f8ba3c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-replace-should-throw-out-of-memory-error-when-using-too-much-memory.js @@ -0,0 +1,23 @@ +//@ skip if $memoryLimited +//@ runFTLNoCJIT("--timeoutMultiplier=1.5") if !$memoryLimited +//@ slow! +// This test should not crash or fail any assertions. + +function shouldEqual(testId, actual, expected) { + if (actual != expected) { + throw testId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +var exception = undefined; + +s2 = 'x'.repeat(0x3fffffff); +r0 = /((?=\S))/giy; + +try { + s2.replace(r0, '') +} catch (e) { + exception = e; +} + +shouldEqual(10000, exception, "Error: Out of memory"); diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment-strict.js b/implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment-strict.js new file mode 100644 index 0000000000..665ed4b556 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment-strict.js @@ -0,0 +1,15 @@ +"use strict"; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var error = null; +let charAt = String.prototype.charAt; +try { + charAt(); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment.js b/implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment.js new file mode 100644 index 0000000000..8a5ca0136d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-scopes-global-lexical-environment.js @@ -0,0 +1,13 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var error = null; +let charAt = String.prototype.charAt; +try { + charAt(); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-scopes-strict.js b/implementation-contributed/javascriptcore/stress/string-prototype-scopes-strict.js new file mode 100644 index 0000000000..2830646869 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-scopes-strict.js @@ -0,0 +1,51 @@ +"use strict"; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var error = null; +try { + eval(` + var charAt = String.prototype.charAt; + charAt(); + `); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +var error = null; +try { + var charAt = String.prototype.charAt; + charAt(); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +var error = null; +try { + let charAt = String.prototype.charAt; + charAt(); + function refer() { charAt; } +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +(function () { + var error = null; + var ok = 42; + try { + var charAt = String.prototype.charAt; + charAt(); + } catch (e) { + error = e; + } + + function refer() { charAt; } // Refer the charAt variable. + shouldBe(String(error), `TypeError: Type error`); + return ok; +}()); diff --git a/implementation-contributed/javascriptcore/stress/string-prototype-scopes.js b/implementation-contributed/javascriptcore/stress/string-prototype-scopes.js new file mode 100644 index 0000000000..3b61e71635 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-prototype-scopes.js @@ -0,0 +1,54 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var error = null; +try { + eval(` + var charAt = String.prototype.charAt; + charAt(); + `); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +var error = null; +try { + var charAt = String.prototype.charAt; + charAt(); +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +var error = null; +try { + let charAt = String.prototype.charAt; + charAt(); + function refer() { charAt; } +} catch (e) { + error = e; +} +shouldBe(String(error), `TypeError: Type error`); + +(function () { + var error = null; + var ok = 42; + try { + var charAt = String.prototype.charAt; + charAt(); + } catch (e) { + error = e; + } + + function refer() { charAt; } // Refer the charAt variable. + shouldBe(String(error), `TypeError: Type error`); + return ok; +}()); + +var object = { __proto__: String.prototype, toString() { return "Cocoa"; } }; +with (object) { + shouldBe(charAt(0), `C`); +} diff --git a/implementation-contributed/javascriptcore/stress/string-raw.js b/implementation-contributed/javascriptcore/stress/string-raw.js new file mode 100644 index 0000000000..17c769bb02 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-raw.js @@ -0,0 +1,154 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${actual}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldBe(String.raw.name, 'raw'); +shouldBe(String.raw.length, 1); + +shouldThrow(function () { + String.raw(); +}, "TypeError: String.raw requires template not be null or undefined"); + +shouldThrow(function () { + String.raw(undefined); +}, "TypeError: String.raw requires template not be null or undefined"); + +shouldThrow(function () { + String.raw({ raw: undefined }); +}, "TypeError: String.raw requires template.raw not be null or undefined"); + +shouldThrow(function () { + String.raw({ raw: null }); +}, "TypeError: String.raw requires template.raw not be null or undefined"); + +shouldThrow(function () { + String.raw({ + get length() { + return new Error('template.length called'); + }, + + raw: { + get length() { + throw new Error("template.raw.length called"); + } + } + }); +}, "Error: template.raw.length called"); + +shouldBe(String.raw({ + raw: { + length: -1 + } +}), ""); + +shouldBe(String.raw({ + raw: { + length: -2.5 + } +}), ""); + +shouldBe(String.raw({ + raw: { + length: -Infinity + } +}), ""); + +shouldBe(String.raw({ + raw: { + length: 0 + } +}), ""); + +shouldBe(String.raw({ + raw: { + length: NaN + } +}), ""); + +function generateTemplate() { + var cooked = []; + cooked.raw = Array.from(arguments); + return cooked; +} + +shouldBe(String.raw(generateTemplate("", ",", ",", ""), "Cocoa", "Cappuccino", "Matcha"), "Cocoa,Cappuccino,Matcha"); +shouldBe(String.raw(generateTemplate("", ",", ",", ""), "Cocoa", "Cappuccino", "Matcha", "Hello"), "Cocoa,Cappuccino,Matcha"); +shouldBe(String.raw(generateTemplate("", ",", ",", ""), "Cocoa", "Cappuccino"), "Cocoa,Cappuccino,"); +shouldBe(String.raw(generateTemplate("", ",", ",", ""), "Cocoa"), "Cocoa,,"); +shouldBe(String.raw(generateTemplate("", ",", ",", "")), ",,"); + +function Counter(p) { + var count = 0; + return { + toString() { + return count++; + } + }; +} + +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter)), "0123"); +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter), counter), "01234"); +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter), counter, counter), "012345"); +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter), counter, counter, counter), "0123456"); +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter), counter, counter, counter, counter), "0123456"); +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter), counter, counter, counter, counter), "0123456"); +var counter = Counter(); +shouldBe(String.raw(generateTemplate(counter, counter, counter, counter), counter, counter, counter, counter, counter), "0123456"); + + +shouldBe(String.raw({ + raw: { + length: 3.5, + 0: "a", + 1: "b", + 2: "c" + } +}, "d", "e", "f", "g"), "adbec"); + +shouldBe(String.raw({ + raw: { + length: 2.3, + 0: "a", + 1: "b", + 2: "c" + } +}, "d", "e", "f", "g"), "adb"); + +shouldBe(String.raw({ + raw: { + length: 2.3, + 0: "a", + 2: "c" + } +}, "d", "e", "f", "g"), "adundefined"); + +shouldBe(String.raw({ + raw: { + length: 2.3, + 0: "a", + 1: "b", + 2: "c" + } +}, undefined, "e", "f", "g"), "aundefinedb"); diff --git a/implementation-contributed/javascriptcore/stress/string-repeat-copy-chars-crash.js b/implementation-contributed/javascriptcore/stress/string-repeat-copy-chars-crash.js new file mode 100644 index 0000000000..62758a3e63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-repeat-copy-chars-crash.js @@ -0,0 +1,8 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var s = 'xxxxxxxxxxxxxxAxxxxxxxxxxxxxxxxxxxxA–'; +var result = s.replace(/A/g, 'b'); +shouldBe(result, 'xxxxxxxxxxxxxxbxxxxxxxxxxxxxxxxxxxxb–'); diff --git a/implementation-contributed/javascriptcore/stress/string-repeat-edge-cases.js b/implementation-contributed/javascriptcore/stress/string-repeat-edge-cases.js new file mode 100644 index 0000000000..8ba9e1dc17 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-repeat-edge-cases.js @@ -0,0 +1,57 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: {String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +{ + let object = { + toString() + { + return "C"; + } + }; + shouldBe(String.prototype.repeat.call(object, 2.5), "CC"); + shouldBe(String.prototype.repeat.call(object, -0), ""); + shouldBe(String.prototype.repeat.call(object, 1), "C"); + shouldBe(String.prototype.repeat.call(object, { + valueOf() + { + return 2.5; + } + }), "CC"); + shouldThrow(() => { + String.prototype.repeat.call(object, { + valueOf() + { + throw new Error("OK"); + } + }); + }, `Error: OK`); +} + +{ + shouldBe(String.prototype.repeat.call("", 0), ""); + shouldBe(String.prototype.repeat.call("", 0xFFFFFFFFF), ""); + shouldThrow(() => { + String.prototype.repeat.call("", Infinity); + }, `RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity`); + + shouldThrow(() => { + String.prototype.repeat.call("", -2000); + }, `RangeError: String.prototype.repeat argument must be greater than or equal to 0 and not be Infinity`); +} diff --git a/implementation-contributed/javascriptcore/stress/string-replace-constant-folding-replacer-not-string.js b/implementation-contributed/javascriptcore/stress/string-replace-constant-folding-replacer-not-string.js new file mode 100644 index 0000000000..6c44cb33ac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-replace-constant-folding-replacer-not-string.js @@ -0,0 +1,13 @@ +function foo() { + "foo".replace(/f/g, ""); + return "foo".replace(/f/g, 42); +} +noInline(foo); + +let result; +for (let i = 0; i < 10000; i++) { + result = foo(); + if (result !== "42oo") + throw new Error("Error: bad result: " + result); +} + diff --git a/implementation-contributed/javascriptcore/stress/string-replace-proxy.js b/implementation-contributed/javascriptcore/stress/string-replace-proxy.js new file mode 100644 index 0000000000..d0a3c3eff3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-replace-proxy.js @@ -0,0 +1,50 @@ +function assert(assertion) { + if (typeof assertion != "string") + throw new Error("Invalid assertion."); + + let result = eval(assertion); + + if (!result) + throw new Error("Bad assertion: " + assertion); +} + +let calls = 0; +let getSet = []; + +function resetTracking() +{ + calls = 0; + getSet = []; +} + +let getSetProxyReplace = new Proxy( + { + replace: function(string, search, replaceWith) + { + calls++; + return string.replace(search, replaceWith); + } + }, { + get: function(o, k) + { + getSet.push(k); + return o[k]; + }, + set: function(o, k, v) + { + getSet.push(k); + o[k] = v; + } + }); + +resetTracking(); +let replaceResult = getSetProxyReplace.replace("This is a test", / /g, "_"); +assert('replaceResult == "This_is_a_test"'); +assert('calls === 1') +assert('getSet == "replace"'); + +resetTracking(); +replaceResult = getSetProxyReplace.replace("This is a test", " ", "_"); +assert('replaceResult == "This_is a test"'); +assert('calls === 1') +assert('getSet == "replace"'); diff --git a/implementation-contributed/javascriptcore/stress/string-rope-with-custom-valueof.js b/implementation-contributed/javascriptcore/stress/string-rope-with-custom-valueof.js new file mode 100644 index 0000000000..0eb7f80b73 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-rope-with-custom-valueof.js @@ -0,0 +1,61 @@ +// This file tests the concatenating of known strings with different objects with overridden valueOf functions. +// Note: we intentionally do not test Symbols since they cannot be appended to strings... + +function catNumber(obj) { + return "test" + "things" + obj; +} +noInline(catNumber); + +number = { valueOf: function() { return 1; } }; + +function catBool(obj) { + return "test" + "things" + obj; +} +noInline(catBool); + +bool = { valueOf: function() { return true; } }; + +function catUndefined(obj) { + return "test" + "things" + obj; +} +noInline(catUndefined); + +undef = { valueOf: function() { return undefined; } }; + +function catRandom(obj) { + return "test" + "things" + obj; +} +noInline(catRandom); + +i = 0; +random = { valueOf: function() { + switch (i % 3) { + case 0: + return number.valueOf(); + case 1: + return bool.valueOf(); + case 2: + return undef.valueOf(); + } +} }; + +for (i = 0; i < 100000; i++) { + if (catNumber(number) !== "testthings1") + throw "bad number"; + if (catBool(bool) !== "testthingstrue") + throw "bad bool"; + if (catUndefined(undef) !== "testthingsundefined") + throw "bad undefined"; + if (catRandom(random) !== "testthings" + random.valueOf()) + throw "bad random"; +} + +// Try passing new types to each of the other functions. +for (i = 0; i < 100000; i++) { + if (catUndefined(number) !== "testthings1") + throw "bad number"; + if (catNumber(bool) !== "testthingstrue") + throw "bad bool"; + if (catBool(undef) !== "testthingsundefined") + throw "bad undefined"; +} diff --git a/implementation-contributed/javascriptcore/stress/string-symbol-customization.js b/implementation-contributed/javascriptcore/stress/string-symbol-customization.js new file mode 100644 index 0000000000..5ecaf0c4db --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/string-symbol-customization.js @@ -0,0 +1,108 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +shouldThrow(() => { + "Cocoa".search({ + [Symbol.search]: 42 + }); +}, `TypeError: 42 is not a function`); + +shouldThrow(() => { + "Cocoa".match({ + [Symbol.match]: 42 + }); +}, `TypeError: 42 is not a function`); + +shouldThrow(() => { + "Cocoa".search({ + [Symbol.search]: {} + }); +}, `TypeError: Object is not a function`); + +shouldThrow(() => { + "Cocoa".match({ + [Symbol.match]: {} + }); +}, `TypeError: Object is not a function`); + +shouldBe("Cocoa".search({ + [Symbol.search]: null, + toString() + { + return "C" + } +}), 0); + +shouldBe("Cocoa".match({ + [Symbol.match]: null, + toString() + { + return "C" + } +})[0], "C"); + +shouldBe("Cocoa".search({ + [Symbol.search]: undefined, + toString() + { + return "C" + } +}), 0); + +shouldBe("Cocoa".match({ + [Symbol.match]: undefined, + toString() + { + return "C" + } +})[0], "C"); + +shouldBe("Cocoa".search({ + [Symbol.search]() + { + return 42; + } +}), 42); + +shouldBe("Cocoa".match({ + [Symbol.match]() + { + return 42; + } +}), 42); + +RegExp.prototype[Symbol.search] = function () { return 42; }; +RegExp.prototype[Symbol.match] = function () { return 42; }; + +shouldBe("Cocoa".search({ + [Symbol.search]: null +}), 42); + +shouldBe("Cocoa".match({ + [Symbol.match]: null +}), 42); + +shouldBe("Cocoa".search({ + [Symbol.search]: undefined +}), 42); + +shouldBe("Cocoa".match({ + [Symbol.match]: undefined +}), 42); diff --git a/implementation-contributed/javascriptcore/stress/sub-order-evaluation.js b/implementation-contributed/javascriptcore/stress/sub-order-evaluation.js new file mode 100644 index 0000000000..21f923431b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sub-order-evaluation.js @@ -0,0 +1,27 @@ +function assert(a, message) { + if (!a) + throw new Error(message); +} + +function assertThrowTypeError(a, b, message) { + try { + let n = a - b; + assert(false, message + ": Should throw TypeError, but executed without exception"); + } catch (e) { + assert(e instanceof TypeError, message + ": expected TypeError, got: " + e); + } +} + +let o = { + valueOf: function () { throw new Error("Oops"); } +}; + +assertThrowTypeError(Symbol("3"), o, "Symbol + Object should throw TypeError"); + +try { + let n = o - Symbol("3"); + assert(false, message + ": Should throw Error, but executed without exception"); +} catch (e) { + assert(e.message === "Oops","Expected Error('Oops'), got: " + e); +} + diff --git a/implementation-contributed/javascriptcore/stress/sub-overflows-after-not-equal.js b/implementation-contributed/javascriptcore/stress/sub-overflows-after-not-equal.js new file mode 100644 index 0000000000..06c62ee096 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/sub-overflows-after-not-equal.js @@ -0,0 +1,16 @@ +function foo(a) { + if (a != 0) + return a - 1; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(42); + if (result != 41) + throw "Error: bad result in loop: " + result; +} + +var result = foo(-2147483648); +if (result != -2147483649) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/super-call-does-not-look-up-constructor.js b/implementation-contributed/javascriptcore/stress/super-call-does-not-look-up-constructor.js new file mode 100644 index 0000000000..1a14249994 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-call-does-not-look-up-constructor.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var called = null; +class B { + constructor() { + called = 'B'; + } +} + +class C extends B { +} +B.prototype.constructor = function F() { + called = 'F'; +}; + +new C(); +shouldBe(called, 'B'); diff --git a/implementation-contributed/javascriptcore/stress/super-call-function-subclass.js b/implementation-contributed/javascriptcore/stress/super-call-function-subclass.js new file mode 100644 index 0000000000..375c00996e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-call-function-subclass.js @@ -0,0 +1,15 @@ +function assert(a) { + if (!a) + throw new Error("Bad"); +} + +class A extends Function { + t() { + super.call(this); + return 3; + } +} + +let a = new A(); +assert(a.t() == 3); + diff --git a/implementation-contributed/javascriptcore/stress/super-dot-call-and-apply.js b/implementation-contributed/javascriptcore/stress/super-dot-call-and-apply.js new file mode 100644 index 0000000000..0d52683ed4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-dot-call-and-apply.js @@ -0,0 +1,50 @@ +function assert(a) { + if (!a) + throw new Error("Bad Assertion!"); +} + +class A { + constructor(prop) { + this.prop = prop; + } + call() { + return this.prop; + } + apply() { + return this.prop; + } +} + +class B extends A { + testSuper() { + assert(super.call() == 'value'); + assert(super.apply() == 'value'); + } +} + +const obj = new B('value') +obj.testSuper() + +class C {} + +class D extends C { + testSuper() { + try { + super.call(); + assert(false); + } catch(e) { + assert(e.message == "super.call is not a function. (In 'super.call()', 'super.call' is undefined)"); + } + + try { + super.apply(); + assert(false); + } catch(e) { + assert(e.message == "super.apply is not a function. (In 'super.apply()', 'super.apply' is undefined)"); + } + } +} + +let d = new D(); +d.testSuper(); + diff --git a/implementation-contributed/javascriptcore/stress/super-force-ic-fail.js b/implementation-contributed/javascriptcore/stress/super-force-ic-fail.js new file mode 100644 index 0000000000..dbff88d3af --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-force-ic-fail.js @@ -0,0 +1,56 @@ +let assert = (a) => { + if (!a) + throw Error("Bad Assertion"); +} + +let aObj = { + get foo() { return this.a; } +}; + +let obj = { + jaz() { + return super.foo; + } +}; +obj.a = "foo"; + +Object.setPrototypeOf(obj, aObj); + +noInline(obj.jaz); + +for (let i = 0; i < 10000; i++) { + if (i == 9999) { + delete aObj.foo; + assert(obj.jaz() === undefined); + } else { + assert(obj.jaz() == "foo"); + } + +} + +let bObj = { + get foo() { return this.a; } +}; + +let obj2 = { + foo() { + return super.foo; + } +}; +obj2.a = "foo"; + +Object.setPrototypeOf(obj2, bObj); + +noInline(obj.jaz); + +for (let i = 0; i < 10000; i++) { + if (i == 9999) { + Object.defineProperty(bObj, "foo", { + get: () => {return "boo"; } + }); + assert(obj2.foo() == "boo"); + } else { + assert(obj2.foo() == "foo"); + } +} + diff --git a/implementation-contributed/javascriptcore/stress/super-get-by-id.js b/implementation-contributed/javascriptcore/stress/super-get-by-id.js new file mode 100644 index 0000000000..2097163d62 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-get-by-id.js @@ -0,0 +1,207 @@ +"use strict"; + +var createCustomGetterObject = $vm.createCustomGetterObject; + +function assert(a) { + if (!a) + throw new Error("Bad!"); +} + +var Base = class Base { + constructor() { this._name = "Name"; } + get name() { return this._name; } // If this instead returns a static: return "Foo" things somewhat work. + set name(x) { this._name = x; } +}; + +var Subclass = class Subclass extends Base { + get name() { return super.name; } +}; + +function getterName(instance) { + return instance.name; +} + +noInline(getterName); + +function getterValue(instance) { + return instance.value; +} + +noInline(getterValue); + +const runTimes = 10000; + +// Base case +var instance = new Subclass; +for (let i = 0; i < runTimes; i++) + assert(getterName(instance) == "Name"); + +// Polymorphic case + +class PolymorphicSubclass { + get value() { return super.value; } +}; + +let numPolymorphicClasses = 4; +let subclasses = new Array(numPolymorphicClasses); +for (let i = 0; i < numPolymorphicClasses; i++) { + let BaseCode = ` + (class Base${i} { + get value() { return this._value; } + }); + `; + + let Base = eval(BaseCode); + subclasses[i] = new PolymorphicSubclass(); + subclasses[i]._value = i; + + Object.setPrototypeOf(subclasses[i], Base.prototype); +} + +for (let i = 0; i < runTimes; i++) { + let index = i % numPolymorphicClasses; + let value = getterValue(subclasses[index]); + assert(value == index); +} + +// Megamorphic case + +let nClasses = 1000; +class MegamorphicSubclass { + get value() { return super.value; } +}; + +subclasses = new Array(nClasses); +for (let i = 0; i < nClasses; i++) { + let BaseCode = ` + (class Base${i + 4} { + get value() { return this._value; } + }); + `; + + let Base = eval(BaseCode); + subclasses[i] = new MegamorphicSubclass(); + subclasses[i]._value = i; + + Object.setPrototypeOf(subclasses[i], Base.prototype); +} + +for (let i = 0; i < runTimes; i++) { + let index = i % nClasses; + let value = getterValue(subclasses[index]); + assert(value == index); +} + +// CustomGetter case + +let customGetter = createCustomGetterObject(); +Object.setPrototypeOf(customGetter, Object.prototype); + +let subObj = { + __proto__: customGetter, + get value () { + return super.customGetterAccessor; + } +} + +for (let i = 0; i < runTimes; i++) { + let value = getterValue(subObj); + assert(value == 100); +} + +subObj.shouldThrow = true; +for (let i = 0; i < runTimes; i++) { + try { + getterValue(subObj); + assert(false); + } catch(e) { + assert(e instanceof TypeError); + }; +} + +// CustomValue case + +customGetter = createCustomGetterObject(); +Object.setPrototypeOf(customGetter, Object.prototype); + +subObj = { + __proto__: customGetter, + get value () { + return super.customGetter; + } +} + +for (let i = 0; i < runTimes; i++) { + let value = getterValue(subObj); + assert(value == 100); +} + +subObj.shouldThrow = true; +for (let i = 0; i < runTimes; i++) { + let value = getterValue(subObj); + assert(value == 100); +} + +// Exception handling case + +class BaseException { + constructor() { this._name = "Name"; } + get name() { + if (this.shouldThrow) + throw new Error("Forced Exception"); + return this._name; + } +}; + +class SubclassException extends BaseException { + get name() { return super.name; } +}; + +let eObj = new SubclassException; +for (let i = 0; i < runTimes; i++) + assert(getterName(eObj) == "Name"); + +eObj.shouldThrow = true; +for (let i = 0; i < runTimes; i++) { + try { + getterValue(eObj); + assert(false); + } catch(e) { + eObj.shouldThrow = false; + assert(getterName(eObj) == "Name"); + }; +} + +// In getter exception handling + +class BaseExceptionComplex { + constructor() { this._name = "Name"; } + foo () { + if (this.shouldThrow) + throw new Error("Forced Exception"); + } + get name() { + this.foo(); + return this._name; + } +}; + +class SubclassExceptionComplex extends BaseExceptionComplex { + get name() { + try { + return super.name; + } catch(e) { + this.shouldThrow = false; + return super.name; + } + } +}; + +eObj = new SubclassExceptionComplex; +for (let i = 0; i < runTimes; i++) + assert(getterName(eObj) == "Name"); + +eObj.shouldThrow = true; +for (let i = 0; i < runTimes; i++) + assert(getterName(eObj) == "Name"); + diff --git a/implementation-contributed/javascriptcore/stress/super-getter-reset-ic.js b/implementation-contributed/javascriptcore/stress/super-getter-reset-ic.js new file mode 100644 index 0000000000..35c335b98b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-getter-reset-ic.js @@ -0,0 +1,33 @@ +let assert = (a) => { + if (!a) + throw "Bad!"; +} + +let n = 200; + +let A = { + c: 42 +} + +let C = { + __proto__: A +} + +let B = { + __proto__: C, + f(i) { + return super.c; + } +} + +var result = 0; +for (var i = 0; i < n; ++i) { + if (i == n / 2 ) { + // This operation is going to force op_get_by_id_with_this to be regenerated + Object.defineProperty(A, "c", {get: () => 12}); + } + result += B.f(i); +} + +assert(result, 5400); + diff --git a/implementation-contributed/javascriptcore/stress/super-in-lexical-scope.js b/implementation-contributed/javascriptcore/stress/super-in-lexical-scope.js new file mode 100644 index 0000000000..48dee401ec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-in-lexical-scope.js @@ -0,0 +1,63 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error) + "(Expected: " + message + ")"); +} + +testSyntaxError(`super()`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(`super.hello()`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(` +{ + super(); +} +`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(` +{ + super.hello(); +} +`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(` +function test() +{ + super(); +} +`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(` +function test() +{ + super.hello(); +} +`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(` +function test() +{ + { + super(); + } +} +`, `SyntaxError: super is not valid in this context.`); +testSyntaxError(` +function test() +{ + { + super.hello(); + } +} +`, `SyntaxError: super is not valid in this context.`); diff --git a/implementation-contributed/javascriptcore/stress/super-method-calls-check-tdz.js b/implementation-contributed/javascriptcore/stress/super-method-calls-check-tdz.js new file mode 100644 index 0000000000..2c76c6e9b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-method-calls-check-tdz.js @@ -0,0 +1,25 @@ +class Base {} + +class Derived extends Base { + constructor() { + super.method(); + super(); + } +}; + +function test() { + let failed = false + try { + new Derived(); + failed = true; + } catch (e) { + if (!(e instanceof ReferenceError)) + failed = true; + } + if (failed) + throw "did not throw reference error"; +} + +for (i = 0; i < 10000; i++) { + test(); +} diff --git a/implementation-contributed/javascriptcore/stress/super-property-access-exceptions.js b/implementation-contributed/javascriptcore/stress/super-property-access-exceptions.js new file mode 100644 index 0000000000..cf413c15a8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-property-access-exceptions.js @@ -0,0 +1,153 @@ +function assert(b, m = "Bad!") { + if (!b) { + throw new Error(m); + } +} + +function test(f, iters = 1000) { + for (let i = 0; i < iters; i++) + f(); +} + +test(function() { + function fooProp() { return 'foo'; } + noInline(fooProp); + + let shouldThrow = false; + class A { + get foo() { + if (shouldThrow) + throw new Error; + return 20; + } + get x() { return this._x; } + } + + class B extends A { + constructor(x) { + super(); + this._x = x; + } + + bar() { + this._x = super.foo; + } + + baz() { + this._x = super[fooProp()]; + } + } + + function foo(i) { + let b = new B(i); + noInline(b.__lookupGetter__('foo')); + let threw = false; + try { + b.bar(); + } catch(e) { + threw = true; + } + if (threw) + assert(b.x === i); + else + assert(b.x === 20); + } + function bar(i) { + let b = new B(i); + noInline(b.__lookupGetter__('foo')); + let threw = false; + try { + b.baz(); + } catch(e) { + threw = true; + } + if (threw) + assert(b.x === i); + else + assert(b.x === 20, "b.x " + b.x + " " + i); + } + noInline(bar); + + for (let i = 0; i < 10000; i++) { + foo(i); + bar(i); + } + shouldThrow = true; + foo(23); + bar(24); + +}, 1); + +test(function() { + function fooProp() { return 'foo'; } + noInline(fooProp); + + function func(i) { + if (shouldThrow) + throw new Error(); + return i; + } + noInline(func); + + let shouldThrow = false; + class A { + set foo(x) { + this._x = x; + } + get x() { return this._x; } + } + + class B extends A { + constructor(x) { + super(); + this._x = x; + } + + bar(x) { + super.foo = func(x); + } + + baz(x) { + super[fooProp()] = func(x); + } + } + + function foo(i) { + let b = new B(i); + noInline(b.__lookupGetter__('foo')); + let threw = false; + try { + b.bar(i + 1); + } catch(e) { + threw = true; + } + if (threw) + assert(b.x === i); + else + assert(b.x === i + 1); + } + function bar(i) { + let b = new B(i); + noInline(b.__lookupGetter__('foo')); + let threw = false; + try { + b.baz(i + 1); + } catch(e) { + threw = true; + } + if (threw) + assert(b.x === i); + else + assert(b.x === i + 1); + } + noInline(bar); + + for (let i = 0; i < 10000; i++) { + foo(i); + bar(i); + } + shouldThrow = true; + foo(23); + bar(24); + +}, 1); diff --git a/implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this-2.js b/implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this-2.js new file mode 100644 index 0000000000..9dba44591c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this-2.js @@ -0,0 +1,58 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function test(f, n = 1000) { + for (let i = 0; i < n; ++i) + f(); +} + +let o1 = { + get foo() { + return this; + } +}; + +let o2 = { + __proto__: o1, + a() { + "use strict"; + return super.foo; + }, + + aa() { + "use strict"; + let arr = () => super.foo; + return arr(); + } +}; + +var A = o2.a; +var AA = o2.aa; + +let globalObj = this; + +AA(); + +test(function() { + let num = o2.a.call(25); + assert(typeof num === "object"); + assert(num instanceof Number); + + let str = o2.a.call("foo bar"); + assert(typeof str === "object"); + assert(str instanceof String); + assert(str == "foo bar"); + + let o = {}; + assert(o2.a.call(o) === o); + + assert(A() === globalObj); + assert(AA() === globalObj); + + assert(o2.a.call(undefined) === globalObj); + assert(o2.a.call(null) === globalObj); + assert(o2.aa.call(undefined) === globalObj); + assert(o2.aa.call(null) === globalObj); +}); diff --git a/implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this.js b/implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this.js new file mode 100644 index 0000000000..e293a290d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-property-access-object-literal-to-this.js @@ -0,0 +1,108 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function test(f, n = 1000) { + for (let i = 0; i < n; ++i) + f(); +} + +let o1 = { + get foo() { + "use strict"; + return this; + } +}; + +let o2 = { + __proto__: o1, + a() { + return super.foo; + }, + + aa() { + let arr = () => super.foo; + return arr(); + }, + + b() { + "use strict"; + return super.foo; + }, + + bb() { + "use strict"; + let arr = () => super.foo; + return arr(); + } +}; + +var A = o2.a; +var AA = o2.aa; +var B = o2.b; +var BB = o2.b; + +let globalObj = this; + +test(function() { + let num = o2.a.call(25); + assert(typeof num === "object"); + assert(num instanceof Number); + + let str = o2.a.call("foo bar"); + assert(typeof str === "object"); + assert(str instanceof String); + assert(str == "foo bar"); + + let o = {}; + assert(o2.a.call(o) === o); + + assert(A() === globalObj); +}); + +test(function() { + let num = o2.aa.call(25); + assert(typeof num === "object"); + assert(num instanceof Number); + + let str = o2.aa.call("foo bar"); + assert(typeof str === "object"); + assert(str instanceof String); + assert(str == "foo bar"); + + let o = {}; + assert(o2.aa.call(o) === o); + + assert(AA() === globalObj); +}); + +test(function() { + let num = o2.b.call(25); + assert(typeof num === "number"); + assert(num === 25); + + let str = o2.b.call("foo bar"); + assert(typeof str === "string"); + assert(str === "foo bar"); + + let o = {}; + assert(o2.b.call(o) === o); + + assert(B() === undefined); +}); + +test(function() { + let num = o2.bb.call(25); + assert(typeof num === "number"); + assert(num === 25); + + let str = o2.bb.call("foo bar"); + assert(typeof str === "string"); + assert(str === "foo bar"); + + let o = {}; + assert(o2.bb.call(o) === o); + + assert(BB() === undefined); +}); diff --git a/implementation-contributed/javascriptcore/stress/super-property-access-tdz.js b/implementation-contributed/javascriptcore/stress/super-property-access-tdz.js new file mode 100644 index 0000000000..3abbf207d0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-property-access-tdz.js @@ -0,0 +1,92 @@ +function assert(b, m = "Bad!") { + if (!b) { + throw new Error(m); + } +} + +function test(f, iters = 1000) { + for (let i = 0; i < iters; i++) + f(); +} + +function shouldThrowTDZ(f) { + let threw = false; + try { + f(); + } catch(e) { + assert(e instanceof ReferenceError); + assert(e.toString() === "ReferenceError: Cannot access uninitialized variable."); + threw = true; + } + assert(threw); +} + +test(function() { + class A { + get foo() { + return this._x; + } + set foo(x) { + this._x = x; + } + } + + function fooProp() { return 'foo'; } + + class B extends A { + constructor() { + super.foo = 20; + } + } + + class C extends A { + constructor() { + super[fooProp()] = 20; + } + } + + class D extends A { + constructor() { + super[fooProp()]; + } + } + + class E extends A { + constructor() { + super.foo; + } + } + + class F extends A { + constructor() { + (() => super.foo = 20)(); + } + } + + class G extends A { + constructor() { + (() => super[fooProp()] = 20)(); + } + } + + class H extends A { + constructor() { + (() => super[fooProp()])(); + } + } + + class I extends A { + constructor() { + (() => super.foo)(); + } + } + + shouldThrowTDZ(function() { new B; }); + shouldThrowTDZ(function() { new C; }); + shouldThrowTDZ(function() { new D; }); + shouldThrowTDZ(function() { new E; }); + shouldThrowTDZ(function() { new F; }); + shouldThrowTDZ(function() { new G; }); + shouldThrowTDZ(function() { new H; }); + shouldThrowTDZ(function() { new I; }); +}); diff --git a/implementation-contributed/javascriptcore/stress/super-property-access-to-this.js b/implementation-contributed/javascriptcore/stress/super-property-access-to-this.js new file mode 100644 index 0000000000..ab3e464303 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-property-access-to-this.js @@ -0,0 +1,48 @@ +"use strict"; +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} + +function test(f, n = 1000) { + for (let i = 0; i < n; ++i) + f(); +} + +class Base { + get foo() { return this; } +} + +class Child extends Base { + a() { + return super.foo; + } + + b() { + let arr = () => super.foo; + return arr(); + } +}; + +let A = Child.prototype.a; +var AA = Child.prototype.a; +this.AAA = Child.prototype.a; + +let globalObj = this; + +test(function() { + assert(Child.prototype.a.call("xyz") === "xyz"); + let obj = {}; + assert(Child.prototype.a.call(obj) === obj); + assert(Child.prototype.a.call(25) === 25); + assert(Child.prototype.a.call(globalObj) === globalObj); + + assert(Child.prototype.b.call("xyz") === "xyz"); + assert(Child.prototype.b.call(obj) === obj); + assert(Child.prototype.b.call(25) === 25); + assert(Child.prototype.b.call(globalObj) === globalObj); + + assert(A() === undefined); + assert(AA() === undefined); + assert(AAA() === undefined); +}); diff --git a/implementation-contributed/javascriptcore/stress/super-property-access.js b/implementation-contributed/javascriptcore/stress/super-property-access.js new file mode 100644 index 0000000000..65996a7597 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/super-property-access.js @@ -0,0 +1,586 @@ +function assert(b, m = "Bad!") { + if (!b) { + throw new Error(m); + } +} + +function test(f, iters = 1000) { + for (let i = 0; i < iters; i++) + f(); +} + +function func(x) { + return x; +} +noInline(func); + +test(function() { + class A { + constructor(x) + { + this._value = x; + } + + set value(x) { this._value = x; } + get value() { return this._value; } + } + + class B extends A { + set value(x) { super.value = x; } + get value() { return super.value; } + } + + let arr = []; + for (let i = 0; i < 1000; i++) { + arr.push(new B(20)); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === 20); + } + for (let i = 0; i < 1000; i++) { + arr[i].value = i; + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } +}, 2); + +test(function() { + function value() { return 'value'; } + noInline(value); + + class A { + constructor(x, f = func) + { + this._value = x; + this._func = f; + } + + set value(x) { this._value = x; } + get value() { return this._value; } + get func() { return this._func; } + } + + class B extends A { + set value(x) { super[value()] = x; } + get value() { return super[value()]; } + inc() { return super[value()]++; } + dec() { return super[value()]--; } + preInc() { return ++super[value()]; } + preDec() { return --super[value()]; } + plusEq(x) { super[value()] += x; } + minusEq(x) { super[value()] -= x; } + timesEq(x) { super[value()] *= x; } + divEq(x) { super[value()] /= x; } + + funcDot(x) { return super.func(x); } + funcBracket(x) { return super.func(x); } + } + + let arr = []; + for (let i = 0; i < 1000; i++) { + arr.push(new B(20)); + } + for (let i = 0; i < 1000; i++) { + let t = arr[i].value; + assert(t === 20); + } + for (let i = 0; i < 1000; i++) { + arr[i].value = i; + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].inc(); + assert(v === i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i+1); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].dec(); + assert(v === i+1); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].preInc(); + assert(v === i+1); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i+1); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].preDec(); + assert(v === i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + arr[i].plusEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i+i); + } + + for (let i = 0; i < 1000; i++) { + arr[i].minusEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + arr[i].timesEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i*i); + } + + for (let i = 0; i < 1000; i++) { + if (i === 0) + arr[i].value = 0; + else + arr[i].divEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + arr[i] = new B(0, function(a) { return i + a; }); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].funcDot(i) === i + i); + assert(arr[i].funcBracket(i*2) === i + i*2); + } + +}, 2); + + +test(function() { + class A { + constructor(x, f = func) + { + this._value = x; + this._func = f; + } + + set value(x) { this._value = x; } + get value() { return this._value; } + get func() { return this._func; } + } + + class B extends A { + set value(x) { (() => super.value = x)(); } + get value() { return (() => super.value)(); } + inc() { return (() => super.value++)(); } + dec() { return (() => super.value--)(); } + preInc() { return (() => ++super.value)(); } + preDec() { return (() => --super.value)(); } + plusEq(x) { (() => super.value += x)(); } + minusEq(x) { (() => super.value -= x)(); } + timesEq(x) { (() => super.value *= x)(); } + divEq(x) { (() => super.value /= x)(); } + + funcDot(x) { return (() => super.func(x))(); } + funcBracket(x) { return (() => super.func(x))(); } + } + + let arr = []; + for (let i = 0; i < 1000; i++) { + arr.push(new B(20)); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === 20); + } + for (let i = 0; i < 1000; i++) { + arr[i].value = i; + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].inc(); + assert(v === i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i+1); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].dec(); + assert(v === i+1); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].preInc(); + assert(v === i+1); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i+1); + } + + for (let i = 0; i < 1000; i++) { + let v = arr[i].preDec(); + assert(v === i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + arr[i].plusEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i+i); + } + + for (let i = 0; i < 1000; i++) { + arr[i].minusEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + arr[i].timesEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i*i); + } + + for (let i = 0; i < 1000; i++) { + if (i === 0) + arr[i].value = 0; + else + arr[i].divEq(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].value === i); + } + + for (let i = 0; i < 1000; i++) { + arr[i] = new B(0, function(a) { return i + a; }); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].funcDot(i) === i + i); + assert(arr[i].funcBracket(i*2) === i + i*2); + } + +}, 2); + +test(function() { + function foo() { return 'foo'; } + noInline(foo); + class A { } + let obj = {}; + A.prototype.foo = obj; + A.prototype[0] = obj; + + + class B extends A { + baz() { return super[foo()]; } + jaz() { return super.foo; } + bar() { return super[0]; } + + } + + assert((new B).baz() === obj); + assert((new B).jaz() === obj); + assert((new B).bar() === obj); +}); + +test(function() { + class A { } + for (let i = 0; i < 1000; i++) + A.prototype[i] = i; + + + class B extends A { + index(i) { return super[i]; } + } + + let b = new B; + for (let i = 0; i < 1000; i++) { + assert(b.index(i) === i); + } +}, 2); + +test(function() { + let obj = {}; + class A { constructor(r) { this._foo = r; } } + Object.defineProperty(A.prototype, '0', { get: function() { return this._foo; } }); + + class B extends A { + bar() { return super[0]; } + } + + let rand = Math.random(); + assert((new B(rand)).bar() === rand); +}); + +test(function() { class A { + constructor() { this._array = []; } + set foo(x) { + this._array.push(x); + } + get array() { return this._array; } + } + + class B extends A { + baz(i) { + let o = {x:20, y:30, [i]:i}; + for (super.foo in o) { } + } + } + let arr = []; + for (let i = 0; i < 20; i++) + arr.push(new B); + for (let i = 0; i < arr.length; i++) { + let obj = arr[i]; + obj.baz(i); + } + for (let i = 0; i < arr.length; i++) { + let obj = arr[i].array; + assert(obj.length === 3) + assert(obj[0] === '' + i); + assert(obj[1] === 'x') + assert(obj[2] === 'y') + } +}, 100); + +test(function() { + function foo() { return 'foo'; } + noInline(foo); + class A { + constructor() { this._array = []; } + set foo(x) { + this._array.push(x); + } + get array() { return this._array; } + } + + class B extends A { + baz(i) { + let o = {x:20, y:30, [i]:i}; + for (super[foo()] in o) { } + } + } + let arr = []; + for (let i = 0; i < 20; i++) + arr.push(new B); + for (let i = 0; i < arr.length; i++) { + let obj = arr[i]; + obj.baz(i); + } + for (let i = 0; i < arr.length; i++) { + let obj = arr[i].array; + assert(obj.length === 3) + assert(obj[0] === '' + i); + assert(obj[1] === 'x') + assert(obj[2] === 'y') + } +}, 100); + +test(function() { + class A { + constructor() { this._array = []; } + set foo(x) { + this._array.push(x); + } + get array() { return this._array; } + } + + class B extends A { + baz(i) { + let o = ['' + i, "x", "y"]; + for (super.foo of o) { } + } + } + let arr = []; + for (let i = 0; i < 20; i++) + arr.push(new B); + for (let i = 0; i < arr.length; i++) { + let obj = arr[i]; + obj.baz(i); + } + for (let i = 0; i < arr.length; i++) { + let obj = arr[i].array; + assert(obj.length === 3) + assert(obj[0] === '' + i); + assert(obj[1] === 'x') + assert(obj[2] === 'y') + } +}, 100); + +test(function() { + function foo() { return 'foo'; } + class A { + constructor() { this._array = []; } + set foo(x) { + this._array.push(x); + } + get array() { return this._array; } + } + + class B extends A { + baz(i) { + let o = ['' + i, "x", "y"]; + for (super[foo()] of o) { } + } + } + let arr = []; + for (let i = 0; i < 20; i++) + arr.push(new B); + for (let i = 0; i < arr.length; i++) { + let obj = arr[i]; + obj.baz(i); + } + for (let i = 0; i < arr.length; i++) { + let obj = arr[i].array; + assert(obj.length === 3) + assert(obj[0] === '' + i); + assert(obj[1] === 'x') + assert(obj[2] === 'y') + } +}, 100); + +test(function() { + class A { + constructor() { + this._foo = null; + } + set foo(x) { + this._foo = x; + } + get foo() { return this._foo; } + } + function obj(i) { return {o: i}; } + noInline(obj); + + class B extends A { + baz(i) { + ;({o: super.foo} = obj(i)); + } + } + let arr = []; + for (let i = 0; i < 1000; i++) { + arr.push((new B)); + } + for (let i = 0; i < 1000; i++) { + arr[i].baz(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].foo === i); + } +}, 10); + +test(function() { + function foo() { return 'foo'; } + noInline(foo); + class A { + constructor() { + this._foo = null; + } + set foo(x) { + this._foo = x; + } + get foo() { return this._foo; } + } + function obj(i) { return {o: i}; } + noInline(obj); + + class B extends A { + baz(i) { + ;({o: super[foo()]} = obj(i)); + } + } + let arr = []; + for (let i = 0; i < 1000; i++) { + arr.push((new B)); + } + for (let i = 0; i < 1000; i++) { + arr[i].baz(i); + } + for (let i = 0; i < 1000; i++) { + assert(arr[i].foo === i); + } +}, 10); + +test(function() { + class A { + constructor() { + this._foo = null; + } + get call() { + let ret = () => 'call'; + noInline(ret); + return ret; + } + get apply() { + let ret = () => 'apply'; + noInline(ret); + return ret; + } + } + + class B extends A { + foo() { + return super.call({}, 20, 30); + } + bar() { + return super.apply({}, [10, 20]); + } + } + for (let i = 0; i < 1000; i++) { + let b = new B; + assert(b.foo() === 'call'); + assert(b.bar() === 'apply'); + } +}, 2); + +test(function() { + class A { + constructor(i) { this._i = i; } + get foo() { + return function(strings, ...values) { + return [strings, values]; + } + } + get i() { return this._i; } + } + + class B extends A { + baz() { + return super.foo`hello${super.i}world`; + } + } + + let arr = []; + for (let i = 0; i < 1000; i++) { + let b = new B(i); + arr.push(b); + } + for (let i = 0; i < 1000; i++) { + let r = arr[i].baz(); + assert(r.length === 2); + assert(r[0].length === 2); + assert(r[0][0] === 'hello'); + assert(r[0][1] === 'world'); + assert(r[1].length === 1); + assert(r[1][0] === i); + } +}, 10); diff --git a/implementation-contributed/javascriptcore/stress/switch-typeof-indirect.js b/implementation-contributed/javascriptcore/stress/switch-typeof-indirect.js new file mode 100644 index 0000000000..392b94bfed --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/switch-typeof-indirect.js @@ -0,0 +1,41 @@ +function bar(value) { + return typeof value; +} +noInline(bar); + +function foo(value) { + switch (bar(value)) { + case "undefined": + return 0; + case "object": + return 1; + case "function": + return 2; + case "boolean": + return 3; + case "number": + return 4; + case "string": + return 5; + default: + return 6; + } +} + +noInline(foo); + +function test(value, expected) { + var result = foo(value); + if (result != expected) + throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")"; +} + +for (var i = 0; i < 10000; ++i) { + test(void 0, 0); + test({}, 1); + test(function() { return 42; }, 2); + test(true, 3); + test(42, 4); + test(42.5, 4); + test("hello", 5); +} diff --git a/implementation-contributed/javascriptcore/stress/switch-typeof-slightly-indirect.js b/implementation-contributed/javascriptcore/stress/switch-typeof-slightly-indirect.js new file mode 100644 index 0000000000..291f2a7589 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/switch-typeof-slightly-indirect.js @@ -0,0 +1,39 @@ +function foo(value) { + var t = typeof value; + if (!t) + return -1; + switch (t) { + case "undefined": + return 0; + case "object": + return 1; + case "function": + return 2; + case "boolean": + return 3; + case "number": + return 4; + case "string": + return 5; + default: + return 6; + } +} + +noInline(foo); + +function test(value, expected) { + var result = foo(value); + if (result != expected) + throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")"; +} + +for (var i = 0; i < 10000; ++i) { + test(void 0, 0); + test({}, 1); + test(function() { return 42; }, 2); + test(true, 3); + test(42, 4); + test(42.5, 4); + test("hello", 5); +} diff --git a/implementation-contributed/javascriptcore/stress/switch-typeof.js b/implementation-contributed/javascriptcore/stress/switch-typeof.js new file mode 100644 index 0000000000..90c374bd17 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/switch-typeof.js @@ -0,0 +1,36 @@ +function foo(value) { + switch (typeof value) { + case "undefined": + return 0; + case "object": + return 1; + case "function": + return 2; + case "boolean": + return 3; + case "number": + return 4; + case "string": + return 5; + default: + return 6; + } +} + +noInline(foo); + +function test(value, expected) { + var result = foo(value); + if (result != expected) + throw "Error: bad type code for " + value + ": " + result + " (expected " + expected + ")"; +} + +for (var i = 0; i < 10000; ++i) { + test(void 0, 0); + test({}, 1); + test(function() { return 42; }, 2); + test(true, 3); + test(42, 4); + test(42.5, 4); + test("hello", 5); +} diff --git a/implementation-contributed/javascriptcore/stress/symbol-and-string-constructor.js b/implementation-contributed/javascriptcore/stress/symbol-and-string-constructor.js new file mode 100644 index 0000000000..4a88e863ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-and-string-constructor.js @@ -0,0 +1,10 @@ +function performString(value) { + return String(value); +} +noInline(performString); + +for (var i = 0; i < 10000; ++i) { + var result = performString(Symbol.iterator); + if (result !== 'Symbol(Symbol.iterator)') + throw new Error('bad value: ' + result); +} diff --git a/implementation-contributed/javascriptcore/stress/symbol-array-from.js b/implementation-contributed/javascriptcore/stress/symbol-array-from.js new file mode 100644 index 0000000000..8fed9072fc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-array-from.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var called = false; +Object.defineProperty(Symbol.prototype, Symbol.iterator, { + get() { + "use strict"; + shouldBe(typeof this, "symbol"); + called = true; + return null; + } +}); + +var symbol = Symbol("Cocoa"); +{ + called =false; + Array.from(symbol); + shouldBe(called, true); +} +{ + called =false; + Uint8Array.from(symbol); + shouldBe(called, true); +} diff --git a/implementation-contributed/javascriptcore/stress/symbol-define-property.js b/implementation-contributed/javascriptcore/stress/symbol-define-property.js new file mode 100644 index 0000000000..bac3ec05f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-define-property.js @@ -0,0 +1,33 @@ +// This tests Object.create, Object.defineProperty, Object.defineProperties work with Symbol. + +function testSymbol(object) { + if (!object.hasOwnProperty(Symbol.iterator)) + throw "Error: object doesn't have Symbol.iterator"; + if (object.propertyIsEnumerable(Symbol.iterator)) + throw "Error: Symbol.iterator is defined as enumerable"; + if (JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)) !== '{"value":42,"writable":false,"enumerable":false,"configurable":false}') + throw "Error: bad property descriptor " + JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)); + if (Object.getOwnPropertySymbols(object).length !== 1) + throw "Error: bad value " + Object.getOwnPropertySymbols(object).length; + if (Object.getOwnPropertySymbols(object)[0] !== Symbol.iterator) + throw "Error: bad value " + String(Object.getOwnPropertySymbols(object)[0]); +} + +var object = Object.create(Object.prototype, { + [Symbol.iterator]: { + value: 42 + } +}); +testSymbol(object); + +var object = Object.defineProperties({}, { + [Symbol.iterator]: { + value: 42 + } +}); +testSymbol(object); + +var object = Object.defineProperty({}, Symbol.iterator, { + value: 42 +}); +testSymbol(object); diff --git a/implementation-contributed/javascriptcore/stress/symbol-description.js b/implementation-contributed/javascriptcore/stress/symbol-description.js new file mode 100644 index 0000000000..27e39797c1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-description.js @@ -0,0 +1,83 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var s0 = Symbol("Cocoa"); +var s1 = Symbol("Cappuccino"); + +shouldBe(s0.description, "Cocoa"); +shouldBe(s0.toString(), "Symbol(Cocoa)"); +shouldBe(s1.description, "Cappuccino"); +shouldBe(s1.toString(), "Symbol(Cappuccino)"); + +var o0 = Object(s0); +var o1 = Object(s1); + +shouldBe(o0.description, "Cocoa"); +shouldBe(o0.toString(), "Symbol(Cocoa)"); +shouldBe(o1.description, "Cappuccino"); +shouldBe(o1.toString(), "Symbol(Cappuccino)"); + +var descriptor = Object.getOwnPropertyDescriptor(Symbol.prototype, "description"); +shouldBe(descriptor.enumerable, false); +shouldBe(descriptor.configurable, true); +shouldBe(descriptor.set, undefined); +shouldBe(typeof descriptor.get, "function"); + +shouldThrow(() => { + "use strict"; + s0.description = "Matcha"; +}, `TypeError: Attempted to assign to readonly property.`); +shouldThrow(() => { + "use strict"; + o0.description = "Matcha"; +}, `TypeError: Attempted to assign to readonly property.`); + +shouldThrow(() => { + descriptor.get.call({}); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + descriptor.get.call(null); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + descriptor.get.call(undefined); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + descriptor.get.call(42); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + descriptor.get.call("Hello"); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + descriptor.get.call(42.195); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + descriptor.get.call(false); +}, `TypeError: Symbol.prototype.description requires that |this| be a symbol or a symbol object`); + +shouldBe(descriptor.get.call(s0), "Cocoa"); +shouldBe(descriptor.get.call(o0), "Cocoa"); +o0.__proto__ = {}; +shouldBe(descriptor.get.call(o0), "Cocoa"); diff --git a/implementation-contributed/javascriptcore/stress/symbol-equality-over-gc.js b/implementation-contributed/javascriptcore/stress/symbol-equality-over-gc.js new file mode 100644 index 0000000000..180e2fb576 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-equality-over-gc.js @@ -0,0 +1,23 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + let symbol = Symbol(); + let object1 = { + [symbol]: 42 + } + let object2 = { + [symbol]: 42 + } + symbol = null; + fullGC(); + shouldBe(Object.getOwnPropertySymbols(object1)[0], Object.getOwnPropertySymbols(object2)[0]); +} +noInline(test); + +for (let i = 0; i < 1000; ++i) + test(); diff --git a/implementation-contributed/javascriptcore/stress/symbol-equality.js b/implementation-contributed/javascriptcore/stress/symbol-equality.js new file mode 100644 index 0000000000..eb64a89d4c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-equality.js @@ -0,0 +1,34 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function equal(a, b) { + return a == b; +} +noInline(equal); + +function strictEqual(a, b) { + return a === b; +} +noInline(strictEqual); + +var s1 = Symbol() +var s2 = Symbol(); + +var list = [ + [ [ s1, s1 ], true ], + [ [ s2, s1 ], false ], + [ [ s1, s2 ], false ], + [ [ s2, s2 ], true ], + [ [ s2, 42 ], false ], +]; + +list.forEach(function (set) { + var pair = set[0]; + var result = set[1]; + for (var i = 0; i < 10000; ++i) { + shouldBe(equal(pair[0], pair[1]), result); + shouldBe(strictEqual(pair[0], pair[1]), result); + } +}); diff --git a/implementation-contributed/javascriptcore/stress/symbol-error-messages.js b/implementation-contributed/javascriptcore/stress/symbol-error-messages.js new file mode 100644 index 0000000000..8e3531e0a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-error-messages.js @@ -0,0 +1,46 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var symbol = Symbol("Cocoa"); + +shouldThrow(() => { + // ToString => error. + "" + symbol; +}, `TypeError: Cannot convert a symbol to a string`); + +shouldThrow(() => { + // ToNumber => error. + +symbol; +}, `TypeError: Cannot convert a symbol to a number`); + +shouldThrow(() => { + Symbol.keyFor("Cappuccino"); +}, `TypeError: Symbol.keyFor requires that the first argument be a symbol`); + +shouldThrow(() => { + Symbol.prototype.toString.call(null); +}, `TypeError: Symbol.prototype.toString requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + Symbol.prototype.toString.call({}); +}, `TypeError: Symbol.prototype.toString requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + Symbol.prototype.valueOf.call(null); +}, `TypeError: Symbol.prototype.valueOf requires that |this| be a symbol or a symbol object`); + +shouldThrow(() => { + Symbol.prototype.valueOf.call({}); +}, `TypeError: Symbol.prototype.valueOf requires that |this| be a symbol or a symbol object`); diff --git a/implementation-contributed/javascriptcore/stress/symbol-get-own-property.js b/implementation-contributed/javascriptcore/stress/symbol-get-own-property.js new file mode 100644 index 0000000000..33b14a5de3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-get-own-property.js @@ -0,0 +1,14 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var symbol = Symbol("Cocoa"); +shouldBe(symbol[0], undefined); + +// ToObject(symbol). +symbol[0] = "Hello"; +shouldBe(symbol[0], undefined); + +Symbol.prototype[30] = 42; +shouldBe(symbol[30], 42); diff --git a/implementation-contributed/javascriptcore/stress/symbol-hasInstance.js b/implementation-contributed/javascriptcore/stress/symbol-hasInstance.js new file mode 100644 index 0000000000..8801eb8b4d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-hasInstance.js @@ -0,0 +1,54 @@ +// This file tests the functionality of Symbol.hasInstance. + + +// Test a custom Symbol.hasInstance on a function object. +function Constructor(x) {} +foo = new Constructor(); + +if (!(foo instanceof Constructor)) + throw "should be instanceof"; + +Object.defineProperty(Constructor, Symbol.hasInstance, {value: function(value) { + if (this !== Constructor) + throw "|this| should be Constructor"; + if (value !== foo) + throw "first argument should be foo"; + return false; +} }); + + +if (foo instanceof Constructor) + throw "should not be instanceof"; + + +// Test Symbol.hasInstance on an ordinary object. +ObjectClass = {} +ObjectClass[Symbol.hasInstance] = function (value) { + return value !== null && (typeof value === "object" || typeof value === "function"); +} + +if (!(foo instanceof ObjectClass)) + throw "foo should be an instanceof ObjectClass"; + +if (!(Constructor instanceof ObjectClass)) + throw "Constructor should be an instanceof ObjectClass"; + +NumberClass = {} +NumberClass[Symbol.hasInstance] = function (value) { + return typeof value === "number"; +} + +if (!(1 instanceof NumberClass)) + throw "1 should be an instanceof NumberClass"; + +if (foo instanceof NumberClass) + throw "foo should be an instanceof NumberClass"; + + +// Test the Function.prototype[Symbol.hasInstance] works when actually called. +descriptor = Object.getOwnPropertyDescriptor(Function.prototype, Symbol.hasInstance); +if (descriptor.writable !== false || descriptor.configurable !== false || descriptor.enumerable !== false) + throw "Function.prototype[Symbol.hasInstance] has a bad descriptor"; + +if (!Function.prototype[Symbol.hasInstance].call(Constructor, foo)) + throw "Function.prototype[Symbol.hasInstance] should claim that foo is an instanceof Constructor"; diff --git a/implementation-contributed/javascriptcore/stress/symbol-instanceof.js b/implementation-contributed/javascriptcore/stress/symbol-instanceof.js new file mode 100644 index 0000000000..7285da8b7d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-instanceof.js @@ -0,0 +1,13 @@ +function foo(value, proto) +{ + return value instanceof proto; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(Symbol("hello"), Symbol); + if (result) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/symbol-registry.js b/implementation-contributed/javascriptcore/stress/symbol-registry.js new file mode 100644 index 0000000000..5ea3663111 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-registry.js @@ -0,0 +1,125 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error("bad value: " + actual); +} + +(function () { + var hello = Symbol("Hello"); + var proto = Symbol("__proto__"); + + for (var sym of [ hello, proto, Symbol.iterator ]) { + var key = Symbol.keyFor(sym); + test(key, undefined); + // twice + var key = Symbol.keyFor(sym); + test(key, undefined); + } +}()); + +(function () { + var keys = [ + "Hello", + "__proto__", + "Symbol.iterator", + '', + null, + undefined, + 42, + 20.5, + -42, + -20.5, + true, + false, + {}, + function () {}, + [], + ]; + for (var key of keys) { + var sym = Symbol.for(key); + test(typeof sym, "symbol"); + test(sym.toString(), "Symbol(" + String(key) + ")"); + + var sym2 = Symbol.for(key); + test(sym === sym2, true); + + var key = Symbol.keyFor(sym); + test(key, key); + var key = Symbol.keyFor(sym2); + test(key, key); + } +}()); + +(function () { + var error = null; + try { + var key = { + toString() { + throw new Error('toString'); + } + }; + Symbol.for(key); + } catch (e) { + error = e; + } + if (!error) + throw new Error('not thrown'); + if (String(error) !== 'Error: toString') + throw new Error('bad error: ' + String(error)); +}()); + +(function () { + var elements = [ + null, + undefined, + 42, + 20.5, + true, + false, + 'string', + {}, + function () {}, + [], + ]; + for (var item of elements) { + var error = null; + try { + Symbol.keyFor(item); + } catch (e) { + error = e; + } + if (!error) + throw new Error('not thrown'); + if (String(error) !== 'TypeError: Symbol.keyFor requires that the first argument be a symbol') + throw new Error('bad error: ' + String(error)); + } +}()); + +(function () { + for (var i = 0; i < 10000; ++i) + Symbol.for(i); + gc(); +}()); + +(function () { + for (var i = 0; i < 100; ++i) { + var symbol = Symbol.for(i); + test(String(symbol), "Symbol(" + i + ")"); + test(symbol, Symbol.for(i)); + gc(); + } + gc(); +}()); + +(function () { + var symbols = []; + for (var i = 0; i < 100; ++i) { + var symbol = Symbol.for(i); + symbols.push(symbol); + } + + for (var i = 0; i < 100; ++i) + test(Symbol.for(i), symbols[i]); + + for (var i = 0; i < 100; ++i) + test(Symbol.keyFor(Symbol(i)), undefined); +}()); diff --git a/implementation-contributed/javascriptcore/stress/symbol-seal-and-freeze.js b/implementation-contributed/javascriptcore/stress/symbol-seal-and-freeze.js new file mode 100644 index 0000000000..4f507cd9ee --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-seal-and-freeze.js @@ -0,0 +1,26 @@ +// This tests Object.seal and Object.freeze affect on Symbol properties. + +var object = { + [Symbol.iterator]: 42 +}; + +if (!object.hasOwnProperty(Symbol.iterator)) + throw "Error: object doesn't have Symbol.iterator"; +if (JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)) !== '{"value":42,"writable":true,"enumerable":true,"configurable":true}') + throw "Error: bad property descriptor " + JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)); +if (Object.getOwnPropertySymbols(object).length !== 1) + throw "Error: bad value " + Object.getOwnPropertySymbols(object).length; +if (Object.getOwnPropertySymbols(object)[0] !== Symbol.iterator) + throw "Error: bad value " + String(Object.getOwnPropertySymbols(object)[0]); + +Object.seal(object); +if (!object.hasOwnProperty(Symbol.iterator)) + throw "Error: object doesn't have Symbol.iterator"; +if (JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)) !== '{"value":42,"writable":true,"enumerable":true,"configurable":false}') + throw "Error: bad property descriptor " + JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)); + +Object.freeze(object); +if (!object.hasOwnProperty(Symbol.iterator)) + throw "Error: object doesn't have Symbol.iterator"; +if (JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)) !== '{"value":42,"writable":false,"enumerable":true,"configurable":false}') + throw "Error: bad property descriptor " + JSON.stringify(Object.getOwnPropertyDescriptor(object, Symbol.iterator)); diff --git a/implementation-contributed/javascriptcore/stress/symbol-should-not-break-for-in.js b/implementation-contributed/javascriptcore/stress/symbol-should-not-break-for-in.js new file mode 100644 index 0000000000..87fb16b0f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-should-not-break-for-in.js @@ -0,0 +1,29 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion."); +} + +function foo(o) { + let r = []; + for (let p in o) + r.push(o[p]); + return r; +} +noInline(foo); + +let o = {}; +o[Symbol()] = "symbol"; +o.prop = "prop"; +for (let i = 0; i < 1000; i++) { + let arr = foo(o); + assert(arr.length === 1); + assert(arr[0] === "prop"); +} + +o.prop2 = "prop2"; +for (let i = 0; i < 1000; i++) { + let arr = foo(o); + assert(arr.length === 2); + assert(arr[0] === "prop"); + assert(arr[1] === "prop2"); +} diff --git a/implementation-contributed/javascriptcore/stress/symbol-species.js b/implementation-contributed/javascriptcore/stress/symbol-species.js new file mode 100644 index 0000000000..01f756c001 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-species.js @@ -0,0 +1,15 @@ +speciesConstructors = [RegExp, Array, Int32Array.__proto__, Map, Set, ArrayBuffer, Promise]; + +function testSymbolSpeciesOnConstructor(constructor) { + if (constructor[Symbol.species] !== constructor) + throw "Symbol.species should return the constructor for " + constructor.name; + constructor[Symbol.species] = true; + if (constructor[Symbol.species] !== constructor) + throw "Symbol.species was mutable " + constructor.name; + + // Symbol.species should be configurable. + Object.defineProperty(constructor, Symbol.species, { value: true }); +} + + +speciesConstructors.forEach(testSymbolSpeciesOnConstructor); diff --git a/implementation-contributed/javascriptcore/stress/symbol-toprimitive-errors.js b/implementation-contributed/javascriptcore/stress/symbol-toprimitive-errors.js new file mode 100644 index 0000000000..56afea2d4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-toprimitive-errors.js @@ -0,0 +1,46 @@ +function shouldBe(func, expected) { + let result = func(); + if (result !== expected) + throw new Error("bad value"); +} + +function shouldThrow(func, errorType, message) { + let errorThrown = false; + let error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error("not thrown"); + if (!(error instanceof errorType)) + throw new Error("wrong error type thrown: " + error); + if (error.message !== message) + throw new Error("wrong message thrown: " + error.message); +} + +shouldBe(() => isNaN({}), true); +shouldBe(() => isNaN({[Symbol.toPrimitive]: undefined}), true); +shouldBe(() => isNaN({[Symbol.toPrimitive]: null}), true); +shouldBe(() => isNaN({[Symbol.toPrimitive]() { /* empty */ } }), true); +shouldBe(() => isNaN({[Symbol.toPrimitive]() { return NaN } }), true); +shouldBe(() => isNaN({[Symbol.toPrimitive]() { return 1 } }), false); + +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: 1 }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: NaN }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: true }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: "string" }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: Symbol() }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: {} }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: [] }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]: /regex/ }) }, TypeError, "Symbol.toPrimitive is not a function, undefined, or null"); + +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { return this } }) }, TypeError, "Symbol.toPrimitive returned an object"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { return {} } }) }, TypeError, "Symbol.toPrimitive returned an object"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { return [] } }) }, TypeError, "Symbol.toPrimitive returned an object"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { return /regex/ } }) }, TypeError, "Symbol.toPrimitive returned an object"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { return function(){} } }) }, TypeError, "Symbol.toPrimitive returned an object"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { return Symbol() } }) }, TypeError, "Cannot convert a symbol to a number"); +shouldThrow(() => { isNaN({[Symbol.toPrimitive]() { throw new Error("Inner Error") } }) }, Error, "Inner Error"); diff --git a/implementation-contributed/javascriptcore/stress/symbol-toprimitive.js b/implementation-contributed/javascriptcore/stress/symbol-toprimitive.js new file mode 100644 index 0000000000..fac7636459 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-toprimitive.js @@ -0,0 +1,18 @@ +// return object +let foo = { } +foo[Symbol.toPrimitive] = function() { return {} }; + +for (i = 0; i < 100000; i++) { + let failed = true; + try { + foo >= 1; + } catch (e) { + if (e instanceof TypeError) + failed = false; + } + + if (failed) + throw "should have thrown on return of object"; +} + +// The general use of Symbol.toPrimitive is covered in the ES6 tests. diff --git a/implementation-contributed/javascriptcore/stress/symbol-tostringtag-watchpoints.js b/implementation-contributed/javascriptcore/stress/symbol-tostringtag-watchpoints.js new file mode 100644 index 0000000000..8aac693c2e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-tostringtag-watchpoints.js @@ -0,0 +1,62 @@ +// Test changing the value of toStringTag + +// Test adding toStringTag to the base with miss. + +// SuperPrototype can't be an empty object since its transition +// watchpoint will be clobbered when assigning it to the prototype. +var SuperPrototype = { bar: 1 } +var BasePrototype = { } +Object.setPrototypeOf(BasePrototype, SuperPrototype); + +function Base() { } +Base.prototype = BasePrototype; + +var value = new Base(); + +if (value.toString() !== "[object Object]") + throw "bad miss toStringTag"; + +value[Symbol.toStringTag] = "hello"; + +if (value.toString() !== "[object hello]") + throw "bad swap on base value with miss"; + +// Test adding toStringTag to the prototype with miss. + +value = new Base(); + +if (value.toString() !== "[object Object]") + throw "bad miss toStringTag"; + +SuperPrototype[Symbol.toStringTag] = "superprototype"; + +if (value.toString() !== "[object superprototype]") + throw "bad prototype toStringTag change with miss"; + +// Test adding toStringTag to the base with a hit. + +value[Symbol.toStringTag] = "hello2"; + +if (value.toString() !== "[object hello2]") + throw "bad swap on base value with hit"; + +// Test toStringTag on the prototype. + +if (Object.getPrototypeOf(value).toString() !== "[object superprototype]") + throw "bad prototype toStringTag access"; + +// Test adding to string to the prototype with hit. + +value = new Base(); + +BasePrototype[Symbol.toStringTag] = "baseprototype"; + +if (value.toString() !== "[object baseprototype]") + throw "bad prototype toStringTag interception with hit"; + +// Test replacing the string on prototype. + +BasePrototype[Symbol.toStringTag] = "not-baseprototype!"; + +if (value.toString() !== "[object not-baseprototype!]") + throw "bad prototype toStringTag interception with hit"; diff --git a/implementation-contributed/javascriptcore/stress/symbol-tostringtag.js b/implementation-contributed/javascriptcore/stress/symbol-tostringtag.js new file mode 100644 index 0000000000..642109cf18 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-tostringtag.js @@ -0,0 +1,48 @@ +// This file tests the names of all the classes with builtin Symbol.toStringTags and Object.prototype.toString(). + +foo = { }; +foo[Symbol.toStringTag] = "test the tag"; + +if (foo != "[object test the tag]") + throw "failed on custom toStringTag"; + +function toStr(obj) { + return Object.prototype.toString.call(obj); +} + +function strName(str) { return "[object " + str + "]"; } + +if (toStr(Symbol()) !== strName("Symbol")) + throw "failed on Symbol"; + +if (toStr(Symbol.prototype) !== strName("Symbol")) + throw "failed on Symbol.prototype"; + +objects = ["JSON", "Math"]; + +for (name of objects) { + value = eval(name) + if (toStr(value) !== strName(name)) + throw "failed on " + name; +} + +iterators = ['Array', 'Map', 'Set', 'String']; + +for (name of iterators) { + value = eval('new ' + name + '()[Symbol.iterator]()'); + if (toStr(value) !== strName(name + ' Iterator')) + throw 'failed on Iterator of ' + name; + if (toStr(Object.getPrototypeOf(value)) !== strName(name + ' Iterator')) + throw 'failed on Iterator.prototype of ' + name; +} + +classes = { "ArrayBuffer": 10, "DataView": new ArrayBuffer(10), "Promise": function() { return 1 }, "Set": undefined, "WeakMap": undefined, "WeakSet": undefined }; + +for (name in classes) { + value = eval(name); + if (toStr(new value(classes[name])) !== strName(name)) + throw "failed on new object of " + name; + if (toStr(value.prototype) !== strName(name)) + throw "failed on prototype of " + name; +} + diff --git a/implementation-contributed/javascriptcore/stress/symbol-with-json.js b/implementation-contributed/javascriptcore/stress/symbol-with-json.js new file mode 100644 index 0000000000..d9127b305b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/symbol-with-json.js @@ -0,0 +1,29 @@ +// This tests JSON correctly behaves with Symbol. + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(JSON.stringify(Symbol('Cocoa')), undefined); + +var object = {}; +var symbol = Symbol("Cocoa"); +object[symbol] = 42; +object['Cappuccino'] = 42; +shouldBe(JSON.stringify(object), '{"Cappuccino":42}'); + +shouldBe(JSON.stringify(object, [ Symbol('Cocoa') ]), "{}"); + +// The property that value is Symbol will be ignored. +shouldBe(JSON.stringify({ cocoa: Symbol('Cocoa'), cappuccino: Symbol('Cappuccino') }), '{}'); +shouldBe(JSON.stringify({ cocoa: Symbol('Cocoa'), cappuccino: 'cappuccino', [Symbol('Matcha')]: 'matcha' }), '{"cappuccino":"cappuccino"}'); +var object = {foo: Symbol()}; +object[Symbol()] = 1; +shouldBe(JSON.stringify(object), '{}'); + +// The symbol value included in Array will be converted to null +shouldBe(JSON.stringify([ Symbol('Cocoa') ]), '[null]'); +shouldBe(JSON.stringify([ "hello", Symbol('Cocoa'), 'world' ]), '["hello",null,"world"]'); +var array = [Symbol()]; +shouldBe(JSON.stringify(array), '[null]'); diff --git a/implementation-contributed/javascriptcore/stress/tagged-template-object-collect.js b/implementation-contributed/javascriptcore/stress/tagged-template-object-collect.js new file mode 100644 index 0000000000..e1cd910819 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-template-object-collect.js @@ -0,0 +1,16 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + + +function tag(site) +{ + return site; +} + +{ + for (var i = 0; i < 1e4; ++i) + eval(`(function () { return tag\`${i}\`; })()`); +} +gc(); diff --git a/implementation-contributed/javascriptcore/stress/tagged-template-object.js b/implementation-contributed/javascriptcore/stress/tagged-template-object.js new file mode 100644 index 0000000000..f2c51142b1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-template-object.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function tag(site) +{ + return site; +} + +{ + function a() { + return tag`Hello`; + } + + function b() { + return tag`Hello`; + } + + shouldBe(a() === b(), false); + gc(); + var tagA = a(); + gc(); + shouldBe(tagA === b(), false); +} diff --git a/implementation-contributed/javascriptcore/stress/tagged-template-tdz.js b/implementation-contributed/javascriptcore/stress/tagged-template-tdz.js new file mode 100644 index 0000000000..22466c12c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-template-tdz.js @@ -0,0 +1,51 @@ +function shouldThrowTDZ(func) { + let hasThrown = false; + try { + func(); + } catch(e) { + if (e.name.indexOf("ReferenceError") !== -1) + hasThrown = true; + } + if (!hasThrown) + throw new Error("Did not throw TDZ error"); +} +noInline(shouldThrowTDZ); + +function test(f) { + for (let i = 0; i < 1000; i++) + f(); +} + +test(function() { + shouldThrowTDZ(function() { + (a)``; + let a; + }); +}); + +test(function() { + shouldThrowTDZ(function() { + (a)``; + let a; + function capture() { return a; } + }); +}); + +test(function() { + shouldThrowTDZ(()=> { (a)``; }); + let a; +}); + +test(function() { + shouldThrowTDZ(()=> { eval("(a)``"); }); + let a; +}); + + +test(function() { + shouldThrowTDZ(()=> { (globalLet)``; }); +}); +test(function() { + shouldThrowTDZ(()=> { eval("(globalLet)``;")}); +}); +let globalLet; diff --git a/implementation-contributed/javascriptcore/stress/tagged-templates-identity.js b/implementation-contributed/javascriptcore/stress/tagged-templates-identity.js new file mode 100644 index 0000000000..2ab5c7bec0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-templates-identity.js @@ -0,0 +1,141 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + JSON.stringify(actual)); +} + +var templates = []; +function tag(siteObject) { + templates.push(siteObject); +} + +tag`Hello`; +tag`World`; +tag`Hello`; +shouldBe(templates.length, 3); +shouldBe(templates[0] !== templates[1], true); +shouldBe(templates[0] !== templates[2], true); + +templates = []; +tag`Hello\n`; +tag`Hello\r`; +tag`Hello\u2028`; +shouldBe(templates.length, 3); +shouldBe(templates[0] !== templates[1], true); +shouldBe(templates[0] !== templates[2], true); + +templates = []; +eval("tag`Hello\n`"); +eval("tag`Hello\r`"); +eval("tag`Hello\u2028`"); +shouldBe(templates.length, 3); +shouldBe(templates[0] !== templates[1], true); +shouldBe(templates[0] !== templates[2], true); + +templates = []; +eval("tag`Hello\n`"); +eval("tag`Hello\\n`"); +eval("tag`Hello\r`"); +eval("tag`Hello\\r`"); +shouldBe(templates.length, 4); +shouldBe(templates[0] !== templates[1], true); +shouldBe(templates[0] !== templates[2], true); +shouldBe(templates[0] !== templates[3], true); +shouldBe(templates[1] !== templates[2], true); +shouldBe(templates[1] !== templates[3], true); +shouldBe(templates[2] !== templates[3], true); + +var v = 0; +templates = []; +eval("tag`Hello\n${v}world`"); +eval("tag`Hello\n${v}world`"); +shouldBe(templates.length, 2); +shouldBe(templates[0] !== templates[1], true); + +var v = 0; +templates = []; +eval("tag`Hello${v}\nworld`"); +eval("tag`Hello\n${v}world`"); +shouldBe(templates.length, 2); +shouldBe(templates[0] !== templates[1], true); + +var v = 0; +templates = []; +for (v = 0; v < 3; ++v) { + tag`Hello${v}world`; + if (!v) continue; + shouldBe(templates[v] === templates[v - 1], true); +} + +templates = []; +tag`Hello${1}world`; +tag`Hello${2}world`; +shouldBe(templates[0] !== templates[1], true); + +// Disable eval caching if a tagged template occurs in eval code +var v = 0; +templates = []; +for (v = 0; v < 3; ++v) { + eval("tag`Hello${v}world`"); + if (!v) continue; + shouldBe(templates[v] !== templates[v - 1], true); +} + +templates = []; +eval("tag`Hello${1}world`"); +eval("tag`Hello${2}world`"); +eval("tag`Hello${3}world`"); +shouldBe(templates[0] !== templates[1], true); +shouldBe(templates[1] !== templates[2], true); + + +// Disable eval caching if a tagged template occurs in a nested function +var v = 0; +templates = []; +for (v = 0; v < 6; v += 2) { + eval("(function() { for (var i = 0; i < 2; ++i) tag`Hello${v}world` })()"); + shouldBe(templates[v] === templates[v + 1], true); +} + +shouldBe(templates[0] !== templates[2], true); +shouldBe(templates[0] !== templates[4], true); +shouldBe(templates[1] !== templates[3], true); +shouldBe(templates[1] !== templates[5], true); +shouldBe(templates[2] !== templates[4], true); +shouldBe(templates[3] !== templates[5], true); + +templates = []; +eval("(function() { for (var i = 0; i < 2; ++i) tag`Hello${1}world` })()"); +eval("(function() { for (var i = 0; i < 2; ++i) tag`Hello${2}world` })()"); +eval("(function() { for (var i = 0; i < 2; ++i) tag`Hello${2}world` })()"); +shouldBe(templates[0] === templates[1], true); +shouldBe(templates[0] !== templates[2], true); +shouldBe(templates[0] !== templates[4], true); +shouldBe(templates[1] !== templates[3], true); +shouldBe(templates[1] !== templates[5], true); +shouldBe(templates[2] === templates[3], true); +shouldBe(templates[2] !== templates[4], true); +shouldBe(templates[3] !== templates[5], true); +shouldBe(templates[4] === templates[5], true); + +// Disable eval caching if a tagged template occurs in an even deeper nested function +var v = 0; +templates = []; +for (v = 0; v < 3; ++v) { + eval("(function() { (function() { tag`Hello${v}world` })() })()"); + if (!v) continue; + shouldBe(templates[v] !== templates[v - 1], true); +} + +templates = []; +eval("(function() { (function() { for (var i = 0; i < 2; ++i) tag`Hello${1}world` })() })()"); +eval("(function() { (function() { for (var i = 0; i < 2; ++i) tag`Hello${2}world` })() })()"); +eval("(function() { (function() { for (var i = 0; i < 2; ++i) tag`Hello${2}world` })() })()"); +shouldBe(templates[0] === templates[1], true); +shouldBe(templates[0] !== templates[2], true); +shouldBe(templates[0] !== templates[4], true); +shouldBe(templates[1] !== templates[3], true); +shouldBe(templates[1] !== templates[5], true); +shouldBe(templates[2] === templates[3], true); +shouldBe(templates[2] !== templates[4], true); +shouldBe(templates[3] !== templates[5], true); +shouldBe(templates[4] === templates[5], true); diff --git a/implementation-contributed/javascriptcore/stress/tagged-templates-raw-strings.js b/implementation-contributed/javascriptcore/stress/tagged-templates-raw-strings.js new file mode 100644 index 0000000000..5970b72398 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-templates-raw-strings.js @@ -0,0 +1,63 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + JSON.stringify(actual)); +} + +function tag(results) { + return function (siteObject) { + shouldBe(siteObject.raw.length, results.length); + for (var i = 0; i < siteObject.raw.length; ++i) { + shouldBe(siteObject.raw[i], results[i]); + } + }; +} + +tag([''])``; +tag(['hello'])`hello`; +tag(['hello', 'world'])`hello${0}world`; +tag(['hello\\u2028', 'world'])`hello\u2028${0}world`; +tag(['hello\\u2028\\u2029', 'world'])`hello\u2028\u2029${0}world`; +tag(['hello\\n\\r', 'world'])`hello\n\r${0}world`; + +function testEval(content, results) { + var split = 0; + var g = tag(results); + eval("g`" + content + "`"); +} + +for (var ch of [ '\'', '"', '\\', 'b', 'f', 'n', 'r', 't', 'v' ]) + testEval("\\" + ch, ["\\" + ch]); + +var evaluated = []; +for (var i = 0; i < 0x10000; ++i) { + var code = i.toString(16); + var input = "\\u" + '0'.repeat(4 - code.length) + code; + evaluated.push(input); +} +testEval(evaluated.join('${split}'), evaluated) + +testEval("Hello\rWorld", [ "Hello\nWorld" ]); +testEval("Hello\nWorld", [ "Hello\nWorld" ]); + +testEval("Hello\r\rWorld", [ "Hello\n\nWorld" ]); +testEval("Hello\r\nWorld", [ "Hello\nWorld" ]); +testEval("Hello\n\nWorld", [ "Hello\n\nWorld" ]); +testEval("Hello\n\rWorld", [ "Hello\n\nWorld" ]); + +testEval("Hello\n\r\nWorld", [ "Hello\n\nWorld" ]); +testEval("Hello\r\n\rWorld", [ "Hello\n\nWorld" ]); +testEval("Hello\n\n\nWorld", [ "Hello\n\n\nWorld" ]); + +testEval("Hello\n\r\n\rWorld", [ "Hello\n\n\nWorld" ]); +testEval("Hello\n\r\n\nWorld", [ "Hello\n\n\nWorld" ]); +testEval("Hello\r\n\n\nWorld", [ "Hello\n\n\nWorld" ]); + +testEval("Hello\\\n\r\rWorld", [ "Hello\\\n\n\nWorld" ]); +testEval("Hello\\\r\n\n\nWorld", [ "Hello\\\n\n\nWorld" ]); +testEval("Hello\\\n\r\n\nWorld", [ "Hello\\\n\n\nWorld" ]); +testEval("Hello\\\n\r\r\nWorld", [ "Hello\\\n\n\nWorld" ]); + +testEval("\u2028", [ "\u2028" ]); +testEval("\u2029", [ "\u2029" ]); +testEval("\\u2028", [ "\\u2028" ]); +testEval("\\u2029", [ "\\u2029" ]); diff --git a/implementation-contributed/javascriptcore/stress/tagged-templates-syntax.js b/implementation-contributed/javascriptcore/stress/tagged-templates-syntax.js new file mode 100644 index 0000000000..9d1eda1012 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-templates-syntax.js @@ -0,0 +1,70 @@ +function tag() { +} + +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax("tag``"); +testSyntax("tag`Hello`"); +testSyntax("tag`Hello${tag}`"); +testSyntax("tag`${tag}`"); +testSyntax("tag`${tag} ${tag}`"); +testSyntax("tag`${tag}${tag}`"); + +testSyntax("tag.prop``"); +testSyntax("tag.prop`Hello`"); +testSyntax("tag.prop`Hello${tag}`"); +testSyntax("tag.prop`${tag}`"); +testSyntax("tag.prop`${tag} ${tag}`"); +testSyntax("tag.prop`${tag}${tag}`"); + +testSyntax("tag[prop]``"); +testSyntax("tag[prop]`Hello`"); +testSyntax("tag[prop]`Hello${tag}`"); +testSyntax("tag[prop]`${tag}`"); +testSyntax("tag[prop]`${tag} ${tag}`"); +testSyntax("tag[prop]`${tag}${tag}`"); + +testSyntax("(tag())``"); +testSyntax("(tag())`Hello`"); +testSyntax("(tag())`Hello${tag}`"); +testSyntax("(tag())`${tag}`"); +testSyntax("(tag())`${tag} ${tag}`"); +testSyntax("(tag())`${tag}${tag}`"); + +testSyntax("(class { say() { super.tag`` } })"); +testSyntax("(class { say() { super.tag`Hello` } })"); +testSyntax("(class { say() { super.tag`Hello${tag}` } })"); +testSyntax("(class { say() { super.tag`${tag}` } })"); +testSyntax("(class { say() { super.tag`${tag} ${tag}` } })"); +testSyntax("(class { say() { super.tag`${tag}${tag}` } })"); + +testSyntax("(class extends Hello { constructor() { super()`` } })"); +testSyntax("(class extends Hello { constructor() { super()`Hello` } })"); +testSyntax("(class extends Hello { constructor() { super()`Hello${tag}` } })"); +testSyntax("(class extends Hello { constructor() { super()`${tag}` } })"); +testSyntax("(class extends Hello { constructor() { super()`${tag} ${tag}` } })"); +testSyntax("(class extends Hello { constructor() { super()`${tag}${tag}` } })"); + +testSyntaxError("super`Hello${tag}`", "SyntaxError: super is not valid in this context."); +testSyntaxError("(class { say() { super`Hello${tag}` } })", "SyntaxError: Cannot use super as tag for tagged templates."); diff --git a/implementation-contributed/javascriptcore/stress/tagged-templates-template-object.js b/implementation-contributed/javascriptcore/stress/tagged-templates-template-object.js new file mode 100644 index 0000000000..b805de9a46 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-templates-template-object.js @@ -0,0 +1,43 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function tag(elements) { + return function (siteObject) { + shouldBe(siteObject instanceof Array, true); + shouldBe(Object.isFrozen(siteObject), true); + shouldBe(siteObject.raw instanceof Array, true); + shouldBe(Object.isFrozen(siteObject.raw), true); + shouldBe(siteObject.hasOwnProperty("raw"), true); + shouldBe(siteObject.propertyIsEnumerable("raw"), false); + shouldBe(siteObject.length, arguments.length); + shouldBe(siteObject.raw.length, arguments.length); + var count = siteObject.length; + for (var i = 0; i < count; ++i) { + shouldBe(siteObject.hasOwnProperty(i), true); + var desc = Object.getOwnPropertyDescriptor(siteObject, i); + shouldBe(desc.writable, false); + shouldBe(desc.enumerable, true); + shouldBe(desc.configurable, false); + } + shouldBe(siteObject.length, elements.length + 1); + for (var i = 0; i < elements.length; ++i) + shouldBe(arguments[i + 1], elements[i]); + }; +} + +var value = { + toString() { + throw new Error('incorrect'); + }, + valueOf() { + throw new Error('incorrect'); + } +}; + +tag([])``; +tag([])`Hello`; +tag([])`Hello World`; +tag([value])`Hello ${value} World`; +tag([value, value])`Hello ${value} OK, ${value}`; diff --git a/implementation-contributed/javascriptcore/stress/tagged-templates-this.js b/implementation-contributed/javascriptcore/stress/tagged-templates-this.js new file mode 100644 index 0000000000..24a59920cf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-templates-this.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function tag() { + "use strict"; + return this; +} + +var object = { + tag() { + 'use strict'; + return this; + } +}; + +shouldBe(tag`Hello`, undefined); +shouldBe((function () { return tag }())`Hello`, undefined); +shouldBe(object.tag`Hello`, object); +shouldBe(object['tag']`Hello`, object); +shouldBe(object[(function () { return 'tag'; }())]`Hello`, object); + +with (object) { + shouldBe(tag`Hello`, object); +} diff --git a/implementation-contributed/javascriptcore/stress/tagged-templates.js b/implementation-contributed/javascriptcore/stress/tagged-templates.js new file mode 100644 index 0000000000..eb714bf33d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tagged-templates.js @@ -0,0 +1,67 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + JSON.stringify(actual)); +} + +function raw(siteObject) { + var result = ''; + for (var i = 0; i < siteObject.raw.length; ++i) { + result += siteObject.raw[i]; + if ((i + 1) < arguments.length) { + result += arguments[i + 1]; + } + } + return result; +} + +function cooked(siteObject) { + var result = ''; + for (var i = 0; i < siteObject.raw.length; ++i) { + result += siteObject[i]; + if ((i + 1) < arguments.length) { + result += arguments[i + 1]; + } + } + return result; +} + +function Counter() { + var count = 0; + return { + toString() { + return count++; + } + }; +} + +var c = Counter(); +shouldBe(raw`Hello ${c} World ${c}`, `Hello 0 World 1`); +var c = Counter(); +shouldBe(raw`${c}${c}${c}`, `012`); +var c = Counter(); +shouldBe(raw`${c}${ ` ${c} ` }${c}`, `1 0 2`); +var c = Counter(); +shouldBe(raw`${c}${ raw` ${c} ` }${c}`, `1 0 2`); +var c = Counter(); +shouldBe(raw`${c}${ ` ${c}${c} ` }${c}`, `2 01 3`); +var c = Counter(); +shouldBe(raw`${c}${ raw` ${c}${c} ` }${c}`, `2 01 3`); + +shouldBe(raw``, ``); +shouldBe(cooked``, ``); +shouldBe(raw`\n`, `\\n`); +shouldBe(cooked`\n`, `\n`); +shouldBe(raw`\v`, `\\v`); +shouldBe(cooked`\v`, `\v`); +shouldBe(raw` + +`, `\n\n`); +shouldBe(cooked` + +`, `\n\n`); +shouldBe(raw`\ +\ +`, `\\\n\\\n`); +shouldBe(cooked`\ +\ +`, ``); diff --git a/implementation-contributed/javascriptcore/stress/tail-call-host-call-throw.js b/implementation-contributed/javascriptcore/stress/tail-call-host-call-throw.js new file mode 100644 index 0000000000..3e87329c98 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-call-host-call-throw.js @@ -0,0 +1,36 @@ +"use strict"; + +function foo(func, arg) { + return func(arg); +} + +noInline(foo); + +function a() { return 1; } +function b() { return 2; } +function c() { return 3; } +function d() { return 4; } +function e() { return 5; } +function f() { return 6; } +function g() { return 7; } +function h() { return 8; } +function i() { return 9; } +function j() { return 0; } +function k() { return 1; } +function l() { return 2; } +function m() { return 3; } + +var funcs = [a, b, c, d, e, f, g, h, i, l, m, Array]; + +for (var i = 0; i < 100000; ++i) + foo(funcs[i % funcs.length], 1); + +var result = null; +try { + result = foo(Array, -1); +} catch (e) { + if (e.toString() != "RangeError: Array size is not a small enough positive integer.") + throw "Error: bad exception at end: " + e; +} +if (result != null) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/tail-call-in-inline-cache.js b/implementation-contributed/javascriptcore/stress/tail-call-in-inline-cache.js new file mode 100644 index 0000000000..d8d64f1543 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-call-in-inline-cache.js @@ -0,0 +1,10 @@ +"use strict"; + +function tail() { } + +var obj = { + get x() { return tail(0); } +}; + +for (var i = 0; i < 10; ++i) + obj.x; diff --git a/implementation-contributed/javascriptcore/stress/tail-call-no-stack-overflow.js b/implementation-contributed/javascriptcore/stress/tail-call-no-stack-overflow.js new file mode 100644 index 0000000000..b8127372c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-call-no-stack-overflow.js @@ -0,0 +1,45 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function sloppyLoop(n) { + if (n > 0) + return sloppyLoop(n - 1); +} + +function strictLoop(n) { + "use strict"; + if (n > 0) + return strictLoop(n - 1); +} + +// We have two of these so that we can test different stack alignments +function strictLoopArityFixup1(n, dummy) { + "use strict"; + if (n > 0) + return strictLoopArityFixup1(n - 1); +} + +function strictLoopArityFixup2(n, dummy1, dummy2) { + "use strict"; + if (n > 0) + return strictLoopArityFixup2(n - 1); +} + +shouldThrow(function () { sloppyLoop(100000); }, 'RangeError: Maximum call stack size exceeded.'); + +// These should not throw +strictLoop(100000); +strictLoopArityFixup1(1000000); +strictLoopArityFixup2(1000000); diff --git a/implementation-contributed/javascriptcore/stress/tail-call-profiler.js b/implementation-contributed/javascriptcore/stress/tail-call-profiler.js new file mode 100644 index 0000000000..5733707a5a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-call-profiler.js @@ -0,0 +1,29 @@ +//@ runProfiler +// This tests the profiler DFG node, CountExecution, plays nicely with TailCalls. + +"use strict"; + +function tail(a) { return 1; } +noInline(tail); + +function inlineTail(a) { + return tail(a); +} + +function inlineTailVarArgs(a) { + return tail(...[a]) +} + +function inlineTailTernary(a) { + return true ? tail(a) : null; +} + +function body() { + for (var i = 0; i < 10000; i++) { + inlineTail(1); + inlineTailVarArgs(1); + inlineTailTernary(1) + } +} + +body(); diff --git a/implementation-contributed/javascriptcore/stress/tail-call-recognize.js b/implementation-contributed/javascriptcore/stress/tail-call-recognize.js new file mode 100644 index 0000000000..1681e40201 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-call-recognize.js @@ -0,0 +1,183 @@ +function callerMustBeRun() { + if (!Object.is(callerMustBeRun.caller, runTests)) + throw new Error("Wrong caller, expected run but got ", callerMustBeRun.caller); +} + +function callerMustBeStrict() { + var errorThrown = false; + try { + callerMustBeStrict.caller; + } catch (e) { + errorThrown = true; + } + if (!errorThrown) + throw Error("Wrong caller, expected strict caller but got ", callerMustBeStrict.caller); +} + +function runTests() { + // Statement tests + (function simpleTailCall() { + "use strict"; + return callerMustBeRun(); + })(); + + (function noTailCallInTry() { + "use strict"; + try { + return callerMustBeStrict(); + } catch (e) { + throw e; + } + })(); + + (function tailCallInCatch() { + "use strict"; + try { } catch (e) { return callerMustBeRun(); } + })(); + + (function tailCallInFinally() { + "use strict"; + try { } finally { return callerMustBeRun(); } + })(); + + (function tailCallInFinallyWithCatch() { + "use strict"; + try { } catch (e) { } finally { return callerMustBeRun(); } + })(); + + (function tailCallInFinallyWithCatchTaken() { + "use strict"; + try { throw null; } catch (e) { } finally { return callerMustBeRun(); } + })(); + + (function noTailCallInCatchIfFinally() { + "use strict"; + try { throw null; } catch (e) { return callerMustBeStrict(); } finally { } + })(); + + (function tailCallInFor() { + "use strict"; + for (var i = 0; i < 10; ++i) + return callerMustBeRun(); + })(); + + (function tailCallInWhile() { + "use strict"; + while (true) + return callerMustBeRun(); + })(); + + (function tailCallInDoWhile() { + "use strict"; + do + return callerMustBeRun(); + while (true); + })(); + + (function noTailCallInForIn() { + "use strict"; + for (var x in [1, 2]) + return callerMustBeStrict(); + })(); + + (function noTailCallInForOf() { + "use strict"; + for (var x of [1, 2]) + return callerMustBeStrict(); + })(); + + (function tailCallInIf() { + "use strict"; + if (true) + return callerMustBeRun(); + })(); + + (function tailCallInElse() { + "use strict"; + if (false) throw new Error("WTF"); + else return callerMustBeRun(); + })(); + + (function tailCallInSwitchCase() { + "use strict"; + switch (0) { + case 0: return callerMustBeRun(); + } + })(); + + (function tailCallInSwitchDefault() { + "use strict"; + switch (0) { + default: return callerMustBeRun(); + } + })(); + + (function tailCallWithLabel() { + "use strict"; + dummy: return callerMustBeRun(); + })(); + + (function tailCallInTaggedTemplateString() { + "use strict"; + return callerMustBeRun`test`; + })(); + + // Expression tests, we don't enumerate all the cases where there + // *shouldn't* be a tail call + + (function tailCallComma() { + "use strict"; + return callerMustBeStrict(), callerMustBeRun(); + })(); + + (function tailCallTernaryLeft() { + "use strict"; + return true ? callerMustBeRun() : unreachable(); + })(); + + (function tailCallTernaryRight() { + "use strict"; + return false ? unreachable() : callerMustBeRun(); + })(); + + (function tailCallLogicalAnd() { + "use strict"; + return true && callerMustBeRun(); + })(); + + (function tailCallLogicalOr() { + "use strict"; + return false || callerMustBeRun(); + })(); + + (function memberTailCall() { + "use strict"; + return { f: callerMustBeRun }.f(); + })(); + + (function bindTailCall() { + "use strict"; + return callerMustBeRun.bind()(); + })(); + + // Function.prototype tests + + (function applyTailCall() { + "use strict"; + return callerMustBeRun.apply(); + })(); + + (function callTailCall() { + "use strict"; + return callerMustBeRun.call(); + })(); + + // No tail call for constructors + (function noTailConstruct() { + "use strict"; + return new callerMustBeStrict(); + })(); +} + +for (var i = 0; i < 10000; ++i) + runTests(); diff --git a/implementation-contributed/javascriptcore/stress/tail-call-varargs-no-stack-overflow.js b/implementation-contributed/javascriptcore/stress/tail-call-varargs-no-stack-overflow.js new file mode 100644 index 0000000000..a29a3e03b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-call-varargs-no-stack-overflow.js @@ -0,0 +1,28 @@ +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function sloppyLoop(n) { + if (n > 0) + return sloppyLoop(...[n - 1]); +} + +function strictLoop(n) { + "use strict"; + if (n > 0) + return strictLoop(...[n - 1]); +} + +shouldThrow(function () { sloppyLoop(100000); }, 'RangeError: Maximum call stack size exceeded.'); +strictLoop(100000); diff --git a/implementation-contributed/javascriptcore/stress/tail-calls-dont-overwrite-live-stack.js b/implementation-contributed/javascriptcore/stress/tail-calls-dont-overwrite-live-stack.js new file mode 100644 index 0000000000..d9563d1d28 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tail-calls-dont-overwrite-live-stack.js @@ -0,0 +1,30 @@ +"use strict"; + +function tail(a, b) { } +noInline(tail); + +var obj = { + method: function (x) { + return tail(x, x); + }, + + get fromNative() { return tail(0, 0); } +}; +noInline(obj.method); + +function getThis(x) { return this; } +noInline(getThis); + +for (var i = 0; i < 10000; ++i) { + var that = getThis(obj.method(42)); + + if (!Object.is(that, undefined)) + throw new Error("Wrong 'this' value in call, expected undefined but got " + that); + + that = getThis(obj.method(...[42])); + if (!Object.is(that, undefined)) + throw new Error("Wrong 'this' value in varargs call, expected undefined but got " + that); + + if (!Object.is(obj.fromNative, undefined)) + throw new Error("Wrong 'fromNative' value, expected undefined but got " + obj.fromNative); +} diff --git a/implementation-contributed/javascriptcore/stress/tailCallForwardArguments.js b/implementation-contributed/javascriptcore/stress/tailCallForwardArguments.js new file mode 100644 index 0000000000..f654f7298c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tailCallForwardArguments.js @@ -0,0 +1,163 @@ +var createBuiltin = $vm.createBuiltin; + +// This is pretty bad but I need a private name. +var putFuncToPrivateName = createBuiltin(`(function (func) { @arrayIteratorIsDone = func })`) +putFuncToPrivateName(function (a,b) { return b; }) + +function createTailCallForwardingFuncWith(body, thisValue) { + return createBuiltin(`(function (a) { + "use strict"; + + ${body} + + return @tailCallForwardArguments(@arrayIteratorIsDone, ${thisValue}); + })`); +} + +var foo = createTailCallForwardingFuncWith("", "@undefined"); + +function baz() { + return foo.call(true, 7); +} +noInline(baz); + + + +var fooNoInline = createTailCallForwardingFuncWith("", "@undefined"); +noInline(foo); + +for (let i = 0; i < 100000; i++) { + if (baz.call() !== undefined) + throw new Error(i); + if (fooNoInline.call(undefined, 3) !== undefined) + throw new Error(i); +} + +putFuncToPrivateName(function () { "use strict"; return { thisValue: this, argumentsValue: arguments}; }); +var foo2 = createTailCallForwardingFuncWith("", "this"); +var fooNI2 = createTailCallForwardingFuncWith("", "this"); +noInline(fooNI2); + +function baz2() { + return foo2.call(true, 7); +} +noInline(baz2); + +for (let i = 0; i < 100000; i++) { + let result = foo2.call(true, 7); + if (result.thisValue !== true || result.argumentsValue.length !== 1 || result.argumentsValue[0] !== 7) + throw new Error(i); + result = baz2.call(); + if (result.thisValue !== true || result.argumentsValue.length !== 1 || result.argumentsValue[0] !== 7) + throw new Error(i); + result = fooNI2.call(true, 7); + if (result.thisValue !== true || result.argumentsValue.length !== 1 || result.argumentsValue[0] !== 7) + throw new Error(i); +} + +putFuncToPrivateName(function () { "use strict"; return this; }); +var foo3 = createTailCallForwardingFuncWith("", "{ thisValue: this, otherValue: 'hello'} "); +var fooNI3 = createTailCallForwardingFuncWith("", "{ thisValue: this, otherValue: 'hello'} "); +noInline(fooNI3); +function baz3() { + return foo3.call(true, 7); +} +noInline(baz3); + +for (let i = 0; i < 100000; i++) { + let result = foo3.call(true, 7); + if (result.thisValue !== true) + throw new Error(i); + result = baz3.call(); + if (result.thisValue !== true) + throw new Error(i); + result = fooNI3.call(true, 7); + if (result.thisValue !== true) + throw new Error(i); +} + + +putFuncToPrivateName(function () { "use strict"; return this; }); +let bodyText = ` +for (let i = 0; i < 100; i++) { + if (a + i === 100) + return a; +} +`; +var foo4 = createTailCallForwardingFuncWith(bodyText, "{ thisValue: this, otherValue: 'hello'} "); +var fooNI4 = createTailCallForwardingFuncWith(bodyText, "{ thisValue: this, otherValue: 'hello'} "); +noInline(fooNI4); +function baz4() { + return foo4.call(true, 0); +} +noInline(baz4); + +for (let i = 0; i < 100000; i++) { + let result = foo4.call(true, 0); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); + result = baz4.call(); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); + result = fooNI4.call(true, 0); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); + result = fooNI4.call(true, 1); + if (result !== 1) + throw new Error(i); + result = fooNI4.call(true, ""); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); +} + +var testFunc = function () { "use strict"; return this; } +noInline(testFunc); +putFuncToPrivateName(testFunc); + +var foo5 = createTailCallForwardingFuncWith(bodyText, "{ thisValue: this, otherValue: 'hello'} "); +var fooNI5 = createTailCallForwardingFuncWith(bodyText, "{ thisValue: this, otherValue: 'hello'} "); +noInline(fooNI5); +function baz5() { + return foo5.call(true, 0); +} +noInline(baz5); + +for (let i = 0; i < 100000; i++) { + let result = foo5.call(true, 0); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); + result = baz5.call(); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); + result = fooNI5.call(true, 0); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); + result = fooNI5.call(true, 1); + if (result !== 1) + throw new Error(i); + result = fooNI5.call(true, ""); + if (result.thisValue !== true || result.otherValue !== "hello") + throw new Error(i); +} + +putFuncToPrivateName(function() { return arguments; }); +var foo6 = createTailCallForwardingFuncWith(bodyText, "{ thisValue: this, otherValue: 'hello'} "); +function baz6() { + "use strict" + return foo6.apply(this, arguments); +} +noInline(baz6); + +function arrayEq(a, b) { + if (a.length !== b.length) + throw new Error(); + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + throw new Error(); + } +} +let args = ["a", {}, [], Symbol(), 1, 1.234, undefined, null]; +for (let i = 0; i < 100000; i++) { + let result = baz6.apply(undefined, args); + arrayEq(result, args); +} diff --git a/implementation-contributed/javascriptcore/stress/tdz-this-in-try-catch.js b/implementation-contributed/javascriptcore/stress/tdz-this-in-try-catch.js new file mode 100644 index 0000000000..89f22baf57 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tdz-this-in-try-catch.js @@ -0,0 +1,22 @@ +var __v_6388 = class __c_95 { +}; +var __v_6392 = class __c_97 extends __v_6388 { + constructor() { + var __v_6407 = () => { + try { + __v_6386(); + } catch (e) {} + try { + super.foo = 'q'; + } catch (e) {} + super() + try { + this.idValue + } catch (e) {} + }; + __v_6407(); + } +}; +for (var i = 0; i < 1000; ++i) { + new __v_6392() +} diff --git a/implementation-contributed/javascriptcore/stress/template-literal-line-terminators.js b/implementation-contributed/javascriptcore/stress/template-literal-line-terminators.js new file mode 100644 index 0000000000..c4ee4a4db7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/template-literal-line-terminators.js @@ -0,0 +1,57 @@ + +function test(actual, expected) { + if (actual !== expected) + throw new Error("bad value: actual: " + actual + ", expected: " + expected); +} + +function testEval(script, expected) { + test(eval(script), expected); +} + +function testEvalLineNumber(script, expected, lineNum) { + testEval(script, expected); + + var error = null; + var actualLine; + try { + eval(script + ';throw new Error("line");'); + } catch (error) { + actualLine = error.line; + } + test(actualLine, lineNum); +} + +test(`Hello`, "Hello"); +test(`Hello World`, "Hello World"); +test(` +`, "\n"); +test(`Hello +World`, "Hello\nWorld"); + +testEvalLineNumber("`Hello World`", "Hello World", 1); + +testEvalLineNumber("`Hello\rWorld`", "Hello\nWorld", 2); +testEvalLineNumber("`Hello\nWorld`", "Hello\nWorld", 2); + +testEvalLineNumber("`Hello\r\rWorld`", "Hello\n\nWorld", 3); +testEvalLineNumber("`Hello\r\nWorld`", "Hello\nWorld", 2); +testEvalLineNumber("`Hello\n\nWorld`", "Hello\n\nWorld", 3); +testEvalLineNumber("`Hello\n\rWorld`", "Hello\n\nWorld", 3); + +testEvalLineNumber("`Hello\n\r\nWorld`", "Hello\n\nWorld", 3); +testEvalLineNumber("`Hello\r\n\rWorld`", "Hello\n\nWorld", 3); +testEvalLineNumber("`Hello\n\n\nWorld`", "Hello\n\n\nWorld", 4); + +testEvalLineNumber("`Hello\n\r\n\rWorld`", "Hello\n\n\nWorld", 4); +testEvalLineNumber("`Hello\n\r\n\nWorld`", "Hello\n\n\nWorld", 4); +testEvalLineNumber("`Hello\r\n\n\nWorld`", "Hello\n\n\nWorld", 4); + +testEvalLineNumber("`Hello\\\n\r\rWorld`", "Hello\n\nWorld", 4); +testEvalLineNumber("`Hello\\\r\n\n\nWorld`", "Hello\n\nWorld", 4); +testEvalLineNumber("`Hello\\\n\r\n\nWorld`", "Hello\n\nWorld", 4); +testEvalLineNumber("`Hello\\\n\r\r\nWorld`", "Hello\n\nWorld", 4); + +testEvalLineNumber("`\u2028`", "\u2028", 2); +testEvalLineNumber("`\u2029`", "\u2029", 2); +testEvalLineNumber("`\\u2028`", "\u2028", 1); +testEvalLineNumber("`\\u2029`", "\u2029", 1); diff --git a/implementation-contributed/javascriptcore/stress/template-literal-syntax.js b/implementation-contributed/javascriptcore/stress/template-literal-syntax.js new file mode 100644 index 0000000000..346c8dd080 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/template-literal-syntax.js @@ -0,0 +1,111 @@ + +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax("`Hello`"); +testSyntax("(`Hello`)"); +testSyntax("(`Hello`) + 42"); +testSyntax("`\nHello\nWorld`"); +testSyntax("`\nHello\n${World}`"); +testSyntax("`${World}`"); +testSyntax("`${World} Hello`"); +testSyntax("`$ {World} Hello`"); +testSyntax("`\\uFEFFtest`"); +testSyntax("`\r\n`"); +testSyntax("`\\r\\n`"); +testSyntax("`\n`"); +testSyntax("`\\n`"); +testSyntax("`\u2028`"); +testSyntax("`\\u2028`"); +testSyntax("`\u2029`"); +testSyntax("`\\u2029`"); +testSyntax("`\\0`"); +testSyntax("`\0`"); +testSyntax("`\\x7f`"); +testSyntax("(`Hello`) + 42"); +testSyntax("`\\\n`"); +testSyntax("`\\\r\n`"); +testSyntax("`\\\r`"); +testSyntax("Hello`bad escape sequence: \\unicode`"); +testSyntax("Hello`\\00`"); +testSyntax("Hello`\\01`"); +testSyntax("Hello`\\1`"); +testSyntax("Hello`\\xo`"); +testSyntax("Hello`\\x0o`"); +testSyntax("Hello`\\uo`"); +testSyntax("Hello`\\u0o`"); +testSyntax("Hello`\\u00o`"); +testSyntax("Hello`\\u000o`"); +testSyntax("Hello`\\u{o`"); +testSyntax("Hello`\\u{0o`"); +testSyntax("Hello`\\u{110000o`"); + +testSyntaxError("`Hello", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello${expr}", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello${}", "SyntaxError: Unexpected token '}'. Template literal expression cannot be empty."); +testSyntaxError("`Hello${expr} ${}", "SyntaxError: Unexpected token '}'. Template literal expression cannot be empty."); +testSyntaxError("`Hello${expr}", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello${expr} ${expr}", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello${expr`", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello${expr} ${expr`", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello expr${`", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello${expr} expr${`", "SyntaxError: Unexpected EOF"); +testSyntaxError("`Hello ${}`", "SyntaxError: Unexpected token '}'. Template literal expression cannot be empty."); +testSyntaxError("`Hello${expr} ${}`", "SyntaxError: Unexpected token '}'. Template literal expression cannot be empty."); +testSyntaxError("`\\07`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); +for (var i = 1; i < 7; ++i) { + testSyntaxError("`\\" + i + "`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); + testSyntaxError("`${expr}\\" + i + "`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); +} +// \8 and \9 are not allowed. +for (var i = 8; i < 9; ++i) { + testSyntaxError("`\\" + i + "`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); + testSyntaxError("`${expr}\\" + i + "`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); +} +testSyntaxError("`\\x7`", "SyntaxError: \\x can only be followed by a hex character sequence"); +testSyntaxError("`${expr}\\x7`", "SyntaxError: \\x can only be followed by a hex character sequence"); +testSyntaxError("`\\x`", "SyntaxError: \\x can only be followed by a hex character sequence"); +testSyntaxError("`${expr}\\x`", "SyntaxError: \\x can only be followed by a hex character sequence"); +testSyntaxError("`\\u`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`${expr}\\u`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u2`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`${expr}\\u2`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u20`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`${expr}\\u20`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u202`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`${expr}\\u202`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); + +testSyntaxError("`bad escape sequence: \\unicode`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); + +testSyntaxError("`\\00`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); +testSyntaxError("`\\01`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); +testSyntaxError("`\\1`", "SyntaxError: The only valid numeric escape in strict mode is '\\0'"); +testSyntaxError("`\\xo`", "SyntaxError: \\x can only be followed by a hex character sequence"); +testSyntaxError("`\\x0o`", "SyntaxError: \\x can only be followed by a hex character sequence"); +testSyntaxError("`\\uo`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u0o`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u00o`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u000o`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u{o`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u{0o`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); +testSyntaxError("`\\u{110000o`", "SyntaxError: \\u can only be followed by a Unicode character sequence"); diff --git a/implementation-contributed/javascriptcore/stress/template-literal.js b/implementation-contributed/javascriptcore/stress/template-literal.js new file mode 100644 index 0000000000..5f66d6d0bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/template-literal.js @@ -0,0 +1,239 @@ + +function test(actual, expected) { + if (actual !== expected) + throw new Error("bad value: " + actual); +} + +function testEval(script, expected) { + test(eval(script), expected); +} + +function testEmbedded(value, expected) { + var template = `Hello ${value} World`; + test(template, expected); +} + +test(``, ""); +test(`${""}`, ""); +test(`${``}`, ""); +test(`${``}${``}${``}${""}`, ""); + +test(`Hello World`, "Hello World"); +test(`Hello + World`, "Hello\n World"); + +test(`\uFEFF`, "\uFEFF"); +testEval("`\uFEFF`", "\uFEFF"); + +test(`\x20`, "\x20"); +test(`\x2020`, "\x2020"); + +for (var ch of [ '\'', '"', '\\', 'b', 'f', 'n', 'r', 't', 'v' ]) + testEval("`\\" + ch + "`", eval("'\\" + ch + "'")); + +test(`\ +Hello World`, "Hello World"); + +test(`\ + +Hello World`, "\nHello World"); + +test(`\u2028\u2029\r\n`, "\u2028\u2029\r\n"); +test(`\u2028\u2029\n\r\n`, "\u2028\u2029\n\r\n"); +test(`\u2028200`, "\u2028200"); + +testEmbedded(42, "Hello 42 World"); +testEmbedded("ISUCA", "Hello ISUCA World"); +testEmbedded(null, "Hello null World"); +testEmbedded(undefined, "Hello undefined World"); +testEmbedded({}, "Hello [object Object] World"); + +(function () { + var object = { + name: "Cocoa", + }; + var array = [ + "Cappuccino" + ] + test(`Hello ${object.name} and ${array[0]} :D`, "Hello Cocoa and Cappuccino :D"); +}()); + +(function () { + function ok() { + return "Cocoa"; + } + test(`Hello ${ ok() }`, "Hello Cocoa"); +}()); + +(function () { + var object = { + toString() { + return 'Cocoa'; + } + }; + test(`Hello ${object} :D`, "Hello Cocoa :D"); +}()); + +// Immediately adjacent template expressions, with empty intermediate template strings. +test(`${"C"}${"o"}${"c"}${"o"}${"a"}`, "Cocoa"); +test(`${"C"}${"o"}${"c"}${"o"}${" "}`, "Coco "); + +// Nested templates. +test(`Hello ${ `Cocoa` }`, "Hello Cocoa"); +test(`Hello ${ `Co${`c`}oa` }`, "Hello Cocoa"); + +// Evaluation order +(function () { + var count = 0; + + function check(num) { + var now = count++; + test(now, num); + return now; + } + + test(`Hello ${ `${ check(0) } ${ ` ${ check(1) } ${ check(2) }` } ${ check(3) }` } ${ check(4) }`, "Hello 0 1 2 3 4") +}()); + +// Exceptions + +(function () { + function gen(num) { + return { + toString() { + throw new Error(num); + } + }; + } + + var error = null; + try { + var template = `${gen(0)} ${gen(1)} ${gen(2)}`; + } catch (e) { + error = e; + } + if (!error) + throw new Error('no error thrown'); + if (String(error) !== 'Error: 0') + throw new Error("bad error: " + String(error)); + + var error = null; + try { + var template = `${52} ${gen(0)} ${gen(1)}`; + } catch (e) { + error = e; + } + if (!error) + throw new Error('no error thrown'); + if (String(error) !== 'Error: 0') + throw new Error("bad error: " + String(error)); +}()); + + +(function () { + var stat= { + count: 0 + }; + function gen(num) { + stat[num] = { + called: true, + count: stat.count++, + toString: null + }; + return { + toString() { + stat[num].toString = { + called: true, + count: stat.count++, + }; + throw new Error(num); + } + }; + } + + var error = null; + try { + var template = `${gen(0)} ${gen(1)} ${gen(2)}`; + } catch (e) { + error = e; + } + if (!error) + throw new Error('no error thrown'); + if (String(error) !== 'Error: 0') + throw new Error("bad error: " + String(error)); + test(stat[0].count, 0); + test(stat[0].toString.called, true); + test(stat[0].toString.count, 1); + test(stat[1], undefined); + test(stat[2], undefined); +}()); + +(function () { + var stat= { + count: 0 + }; + function gen(num) { + stat[num] = { + called: true, + count: stat.count++, + toString: null + }; + return { + toString() { + stat[num].toString = { + called: true, + count: stat.count++, + }; + throw new Error(num); + } + }; + } + + var error = null; + try { + var template = `${ `${gen(0)}` } ${ `${gen(1)} ${gen(2)}` }`; + } catch (e) { + error = e; + } + if (!error) + throw new Error('no error thrown'); + if (String(error) !== 'Error: 0') + throw new Error("bad error: " + String(error)); + test(stat[0].count, 0); + test(stat[0].toString.called, true); + test(stat[0].toString.count, 1); + test(stat[1], undefined); + test(stat[2], undefined); +}()); + +dfgTests =[ + function testSingleNode() { + for (var i = 0; i < 1000; i++) + `${1}` + }, + function testPreNode() { + for (var i = 0; i < 1000; i++) + `n${1}` + }, + function testPostNode() { + for (var i = 0; i < 1000; i++) + `${1}n` + }, + function testSingleObjectNode() { + for (var i = 0; i < 1000; i++) + `${{}}` + }, + function testObjectPreNode() { + for (var i = 0; i < 1000; i++) + `n${{}}` + }, + function testObjectPostNode() { + for (var i = 0; i < 1000; i++) + `${{}}n` + }, +]; + +for(var f of dfgTests) { + noInline(f) + f(); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/template-string-tags-eval.js b/implementation-contributed/javascriptcore/stress/template-string-tags-eval.js new file mode 100644 index 0000000000..42bff1ea52 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/template-string-tags-eval.js @@ -0,0 +1,17 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function tag(site) +{ + return site; +} + +var site1 = eval("0, tag`Cocoa`"); +var site2 = eval("1, tag`Cappuccino`"); +var site3 = eval("2, tag`Cocoa`"); + +shouldBe(site1 !== site3, true); +shouldBe(site1 !== site2, true); diff --git a/implementation-contributed/javascriptcore/stress/test-finally.js b/implementation-contributed/javascriptcore/stress/test-finally.js new file mode 100644 index 0000000000..07bb332a4c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/test-finally.js @@ -0,0 +1,1446 @@ +// This test just creates functions which exercise various permutations of control flow +// thru finally blocks. The test passes if it does not throw any exceptions or crash on +// bytecode validation. +//@ skip + +if (this.window) + print = console.log; + +var steps; +var returned; +var thrown; +var testLineNumber; + +let NothingReturned = "NothingReturned"; +let NothingThrown = "NothingThrown"; + +function assertResults(expectedSteps, expectedReturned, expectedThrown) { + let stepsMismatch = (steps != expectedSteps); + let returnedMismatch = (returned != expectedReturned); + let thrownMismatch = (thrown != expectedThrown && !("" + thrown).startsWith("" + expectedThrown)); + + if (stepsMismatch || returnedMismatch || thrownMismatch) { + print("FAILED Test @ line " + testLineNumber + ":"); + print(" Actual: steps: " + steps + ", returned: " + returned + ", thrown: '" + thrown + "'"); + print(" Expected: steps: " + expectedSteps + ", returned: " + expectedReturned + ", thrown: '" + expectedThrown + "'"); + } + if (stepsMismatch) + throw "FAILED Test @ line " + testLineNumber + ": steps do not match: expected ='" + expectedSteps + "' actual='" + steps + "'"; + if (returnedMismatch) + throw "FAILED Test @ line " + testLineNumber + ": returned value does not match: expected ='" + expectedReturned + "' actual='" + returned + "'"; + if (thrownMismatch) + throw "FAILED Test @ line " + testLineNumber + ": thrown value does does not match: expected ='" + expectedThrown + "' actual='" + thrown + "'"; +} + +function resetResults() { + steps = []; + returned = NothingReturned; + thrown = NothingThrown; +} + +function append(step) { + let next = steps.length; + steps[next] = step; +} + +function test(func, expectedSteps, expectedReturned, expectedThrown) { + testLineNumber = new Error().stack.match(/global code@.+\.js:([0-9]+)/)[1]; + resetResults(); + + try { + returned = func(); + } catch (e) { + thrown = e; + } + + assertResults(expectedSteps, expectedReturned, expectedThrown); +} + +// Test CompletionType::Normal on an empty try blocks. +test(() => { + try { + append("t2"); + for (var i = 0; i < 2; i++) { + try { + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,f1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Normal. +test(() => { + try { + append("t2"); + for (var i = 0; i < 2; i++) { + try { + append("t1"); + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Break. +test(() => { + try { + append("t2"); + for (var i = 0; i < 2; i++) { + try { + append("t1"); + break; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Continue. +test(() => { + try { + append("t2"); + for (var i = 0; i < 2; i++) { + try { + append("t1"); + continue; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Return. +test(() => { + try { + append("t2"); + for (var i = 0; i < 2; i++) { + try { + append("t1"); + return; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Throw. +test(() => { + try { + append("t2"); + for (var i = 0; i < 2; i++) { + try { + append("t1"); + throw { }; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,c1,f1,t1,c1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Normal in a for-of loop. +test(() => { + let arr = [1, 2]; + try { + append("t2"); + for (let x of arr) { + try { + append("t1"); + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Break in a for-of loop. +test(() => { + let arr = [1, 2]; + try { + append("t2"); + for (let x of arr) { + try { + append("t1"); + break; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Continue in a for-of loop. +test(() => { + let arr = [1, 2]; + try { + append("t2"); + for (let x of arr) { + try { + append("t1"); + continue; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Return in a for-of loop. +test(() => { + let arr = [1, 2]; + try { + append("t2"); + for (let x of arr) { + try { + append("t1"); + return; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,f1,f2", undefined, NothingThrown); + +// Test CompletionType::Throw in a for-of loop. +test(() => { + let arr = [1, 2]; + try { + append("t2"); + for (let x of arr) { + try { + append("t1"); + throw { }; + } catch(a) { + append("c1"); + } finally { + append("f1"); + } + } + } catch(b) { + append("c2"); + } finally { + append("f2"); + } + +}, "t2,t1,c1,f1,t1,c1,f1,f2", undefined, NothingThrown); + + +// No abrupt completions. +test(() => { + append("a"); + try { + append("b"); + } finally { + append("c"); + } + append("d"); + return 400; + +}, "a,b,c,d", 400, NothingThrown); + + +// Return after a. Should not execute any finally blocks, and return a's result. +test(() => { + append("a"); + return 100; + try { + append("b"); + return 200; + try { + append("c"); + return 300; + } finally { + append("d"); + } + append("e"); + return 500; + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a", 100, NothingThrown); + +// Return after b. Should execute finally block f only, and return b's result. +test(() => { + append("a"); + try { + append("b"); + return 200; + try { + append("c"); + return 300; + } finally { + append("d"); + } + append("e"); + return 500; + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,f", 200, NothingThrown); + +// Return after c. Should execute finally blocks d and f, and return c's result. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + return 300; + } finally { + append("d"); + } + append("e"); + return 500; + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,c,d,f", 300, NothingThrown); + +// Return after c and d. Should execute finally blocks d and f, and return last return value from d. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + return 300; + } finally { + append("d"); + return 400; + } + append("e"); + return 500; + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,c,d,f", 400, NothingThrown); + +// Return after c, d, and f. Should execute finally blocks d and f, and return last return value from f. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + return 300; + } finally { + append("d"); + return 400; + } + append("e"); + return 500; + } finally { + append("f"); + return 600; + } + append("g"); + return 700; + +}, "a,b,c,d,f", 600, NothingThrown); + +// Return after g. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + } finally { + append("d"); + } + append("e"); + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,c,d,e,f,g", 700, NothingThrown); + +// Throw after a. +test(() => { + append("a"); + throw 100; + try { + append("b"); + throw 200; + try { + append("c"); + throw 300; + } finally { + append("d"); + } + append("e"); + throw 500; + } finally { + append("f"); + } + append("g"); + throw 700; + +}, "a", NothingReturned, 100); + +// Throw after b. +test(() => { + append("a"); + try { + append("b"); + throw 200; + try { + append("c"); + throw 300; + } finally { + append("d"); + } + append("e"); + throw 500; + } finally { + append("f"); + } + append("g"); + throw 700; + +}, "a,b,f", NothingReturned, 200); + +// Throw after c. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } finally { + append("d"); + } + append("e"); + throw 500; + } finally { + append("f"); + } + append("g"); + throw 700; + +}, "a,b,c,d,f", NothingReturned, 300); + +// Throw after c and d. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } finally { + append("d"); + throw 400; + } + append("e"); + throw 500; + } finally { + append("f"); + } + append("g"); + throw 700; + +}, "a,b,c,d,f", NothingReturned, 400); + +// Throw after c, d, and f. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } finally { + append("d"); + throw 400; + } + append("e"); + throw 500; + } finally { + append("f"); + throw 600; + } + append("g"); + return 700; + +}, "a,b,c,d,f", NothingReturned, 600); + +// Throw after g. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + } finally { + append("d"); + } + append("e"); + } finally { + append("f"); + } + append("g"); + throw 700; + +}, "a,b,c,d,e,f,g", NothingReturned, 700); + +// Throw after b with catch at z. +test(() => { + append("a"); + try { + append("b"); + throw 200; + try { + append("c"); + throw 300; + } finally { + append("d"); + } + append("e"); + throw 500; + } catch (e) { + append("z"); + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,z,f,g", 700, NothingThrown); + +// Throw after b with catch at z and rethrow at z. +test(() => { + append("a"); + try { + append("b"); + throw 200; + try { + append("c"); + throw 300; + } finally { + append("d"); + } + append("e"); + throw 500; + } catch (e) { + append("z"); + throw 5000; + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,z,f", NothingReturned, 5000); + +// Throw after c with catch at y and z. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } catch (e) { + append("y"); + } finally { + append("d"); + } + append("e"); + } catch (e) { + append("z"); + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,c,y,d,e,f,g", 700, NothingThrown); + +// Throw after c with catch at y and z, and rethrow at y. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } catch (e) { + append("y"); + throw 3000; + } finally { + append("d"); + } + append("e"); + } catch (e) { + append("z"); + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,c,y,d,z,f,g", 700, NothingThrown); + +// Throw after c with catch at y and z, and rethrow at y and z. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } catch (e) { + append("y"); + throw 3000; + } finally { + append("d"); + } + append("e"); + } catch (e) { + append("z"); + throw 5000; + } finally { + append("f"); + } + append("g"); + return 700; + +}, "a,b,c,y,d,z,f", NothingReturned, 5000); + +// Throw after c with catch at y and z, and rethrow at y, z, and f. +test(() => { + append("a"); + try { + append("b"); + try { + append("c"); + throw 300; + } catch (e) { + append("y"); + throw 3000; + } finally { + append("d"); + } + append("e"); + } catch (e) { + append("z"); + throw 5000; + } finally { + append("f"); + throw 600; + } + append("g"); + return 700; + +}, "a,b,c,y,d,z,f", NothingReturned, 600); + +// No throw or return in for-of loop. +test(() => { + class TestIterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + for (var element of arr) { + append(element); + } + append("x"); + return 200; + +}, "c,n,0,n,1,n,2,n,x", 200, NothingThrown); + +// Break in for-of loop. +test(() => { + class TestIterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + break; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r,x", 200, NothingThrown); + +// Break in for-of loop with throw in Iterator.return(). +test(() => { + class Iterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + throw 300; + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new Iterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + break; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", NothingReturned, 300); + +// Break in for-of loop with Iterator.return() returning a non object. +test(() => { + class Iterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new Iterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + break; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", NothingReturned, 'TypeError'); + +// Return in for-of loop. +test(() => { + class TestIterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + return 100; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", 100, NothingThrown); + +// Return in for-of loop with throw in Iterator.return(). +test(() => { + class Iterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + throw 300; + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new Iterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + return 100; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", NothingReturned, 300); + +// Return in for-of loop with Iterator.return() returning a non object. +test(() => { + class Iterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new Iterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + return 100; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", NothingReturned, 'TypeError'); + + +// Throw in for-of loop. +test(() => { + class Iterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new Iterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + throw 100; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", NothingReturned, 100); + +// Throw in for-of loop with throw in Iterator.return(). +test(() => { + class Iterator { + constructor() { + append("c"); + this.i = 0; + } + next() { + append("n"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("r"); + throw 300; + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new Iterator(); + } + + for (var element of arr) { + append(element); + if (element == 1) + throw 100; + } + append("x"); + return 200; + +}, "c,n,0,n,1,r", NothingReturned, 100); + +// Handling return in finally block F1 with try-finally in F1's body. +test(() => { + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + append("f1b"); + } + +}, "t1a,f1a,t2,f2,f1b", "r1", NothingThrown); + +// Handling return in finally block F1 with try-finally in F1's body, with F1 in a for-of loop. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + for (var element of arr) { + append(element); + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + append("f1b"); + } + } + append("x"); + +}, "ci,ni,0,t1a,f1a,t2,f2,f1b,ri", "r1", NothingThrown); + +// Handling break in finally block F1 with try-finally in F1's body, with F1 in a for-of loop. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + for (var element of arr) { + append(element); + try { + append("t1a"); + break; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + append("f1b"); + } + } + append("x"); + +}, "ci,ni,0,t1a,f1a,t2,f2,f1b,ri,x", undefined, NothingThrown); + +// Handling return in a for-of loop in finally block F1 with try-finally in F1's body. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + try { + append("t1a"); + for (var element of arr) { + append(element); + return "r1"; + } + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + append("f1b"); + } + append("x"); + +}, "t1a,ci,ni,0,ri,f1a,t2,f2,f1b", "r1", NothingThrown); + +// Handling break in a for-of loop in finally block F1 with try-finally in F1's body. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 3); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + try { + append("t1a"); + for (var element of arr) { + append(element); + break; + } + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + append("f1b"); + } + append("x"); + +}, "t1a,ci,ni,0,ri,t1b,f1a,t2,f2,f1b,x", undefined, NothingThrown); + +// Handling return in finally block F1 with a for-of loop in F1's body. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 2); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + for (var element of arr) { + append(element); + } + append("f1b"); + } + + append("x"); + +}, "t1a,f1a,ci,ni,0,ni,1,ni,f1b", "r1", NothingThrown); + +// Handling return in finally block F1 with a for-of loop nesting a try-finally in F1's body. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 2); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + for (var element of arr) { + append(element); + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + } + append("f1b"); + } + + append("x"); + +}, "t1a,f1a,ci,ni,0,t2,f2,ni,1,t2,f2,ni,f1b", "r1", NothingThrown); + +// Handling return in finally block F1 with a for-of loop in F1's body + break in for-of loop. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 2); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + for (var element of arr) { + append(element); + break; + } + append("f1b"); + } + + append("x"); + +}, "t1a,f1a,ci,ni,0,ri,f1b", "r1", NothingThrown); + +// Handling return in finally block F1 with a for-of loop nesting a try-finally in F1's body + break in for-of loop. +test(() => { + class TestIterator { + constructor() { + append("ci"); + this.i = 0; + } + next() { + append("ni"); + let done = (this.i == 2); + return { done, value: this.i++ }; + } + return() { + append("ri"); + return { } + } + } + + var arr = []; + arr[Symbol.iterator] = function() { + return new TestIterator(); + } + + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + for (var element of arr) { + append(element); + try { + append("t2"); + } catch (e) { + append("c2"); + } finally { + append("f2"); + } + break; + } + append("f1b"); + } + + append("x"); + +}, "t1a,f1a,ci,ni,0,t2,f2,ri,f1b", "r1", NothingThrown); + +// Handling return in finally block F1 with try-finally in F1's body. +test(() => { + try { + append("t1a"); + return "r1"; + append("t1b"); + } catch(e) { + append("c1"); + } finally { + append("f1a"); + + try { + append("t2"); + throw "t2"; + } catch (e) { + append("c2"); + // t2 caught here, and completion type set back to normal. + } finally { + append("f2"); + } + append("f1b"); + } + +}, "t1a,f1a,t2,c2,f2,f1b", "r1", NothingThrown); + +if (this.window) + print("PASSED"); diff --git a/implementation-contributed/javascriptcore/stress/test-spec-misc.js b/implementation-contributed/javascriptcore/stress/test-spec-misc.js new file mode 100644 index 0000000000..4194b0c9c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/test-spec-misc.js @@ -0,0 +1,43 @@ +var a = [ "String", false, 42 ]; +var count = 0; + +function getX(fromDFG) { + if (fromDFG) + return 42; + return false; +} + +noInline(getX); + +function foo(index) { + var result = false; + var x = getX($vm.dfgTrue()); + + x * 2; + + var y = a[index % a.length]; + result = y === x; + count += 1; + return result; +} + +noInline(foo); + +var loopCount = 10000; + +function bar() { + var result; + + for (var i = 0; i < loopCount - 1; i++) + result = foo(i) + + result = foo(0); + + return result; +} + +var result = bar(); +if (result != false) + throw "Error: bad result expected false: " + result; +if (count != loopCount) + throw "Error: bad count, expected: " + loopCount + ", got: " + count; diff --git a/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-cells.js b/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-cells.js new file mode 100644 index 0000000000..58c2e5e9d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-cells.js @@ -0,0 +1,192 @@ +// Attempts to induce a crash resulting from the FTL emitting code that clobbers the tag registers and then +// throwing an exception without restoring those tag registers' values. + +function ftlFunction(array, callee) { + // Gotta use lots of gprs. + var x0 = array[0]; + var x1 = array[1]; + var x2 = array[2]; + var x3 = array[3]; + var x4 = array[4]; + var x5 = array[5]; + var x6 = array[6]; + var x7 = array[7]; + var x8 = array[8]; + var x9 = array[9]; + var x10 = array[10]; + var x11 = array[11]; + var x12 = array[12]; + var x13 = array[13]; + var x14 = array[14]; + var x15 = array[15]; + var x16 = array[16]; + var x17 = array[17]; + var x18 = array[18]; + var x19 = array[19]; + var x20 = array[20]; + var x21 = array[21]; + var x22 = array[22]; + var x23 = array[23]; + var x24 = array[24]; + var x25 = array[25]; + var x26 = array[26]; + var x27 = array[27]; + var x28 = array[28]; + var x29 = array[29]; + var x30 = array[30]; + var x31 = array[31]; + var x32 = array[32]; + var x33 = array[33]; + var x34 = array[34]; + var x35 = array[35]; + var x36 = array[36]; + var x37 = array[37]; + var x38 = array[38]; + var x39 = array[39]; + var x40 = array[40]; + var x41 = array[41]; + var x42 = array[42]; + var x43 = array[43]; + var x44 = array[44]; + var x45 = array[45]; + var x46 = array[46]; + var x47 = array[47]; + var x48 = array[48]; + var x49 = array[49]; + var x50 = array[50]; + var x51 = array[51]; + var x52 = array[52]; + var x53 = array[53]; + var x54 = array[54]; + var x55 = array[55]; + var x56 = array[56]; + var x57 = array[57]; + var x58 = array[58]; + var x59 = array[59]; + var x60 = array[60]; + var x61 = array[61]; + var x62 = array[62]; + var x63 = array[63]; + + // Make a call that will throw, when we ask it to. + callee("hello"); + + // Use all of those crazy values. + return [x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63] +} + +noInline(ftlFunction); + +// Create some callees that are too crazy to get inlined or devirtualized, but that don't have effects. + +function happyCallee0() { return 0 }; +function happyCallee1() { return 1 }; +function happyCallee2() { return 2 }; +function happyCallee3() { return 3 }; +function happyCallee4() { return 4 }; +function happyCallee5() { return 5 }; +function happyCallee6() { return 6 }; +function happyCallee7() { return 7 }; +function happyCallee8() { return 8 }; +function happyCallee9() { return 9 }; +function happyCallee10() { return 10 }; +function happyCallee11() { return 11 }; +function happyCallee12() { return 12 }; +function happyCallee13() { return 13 }; +function happyCallee14() { return 14 }; +function happyCallee15() { return 15 }; +function happyCallee16() { return 16 }; +function happyCallee17() { return 17 }; +function happyCallee18() { return 18 }; +function happyCallee19() { return 19 }; +function happyCallee20() { return 20 }; +function happyCallee21() { return 21 }; +function happyCallee22() { return 22 }; +function happyCallee23() { return 23 }; +function happyCallee24() { return 24 }; +function happyCallee25() { return 25 }; +function happyCallee26() { return 26 }; +function happyCallee27() { return 27 }; +function happyCallee28() { return 28 }; +function happyCallee29() { return 29 }; +function happyCallee30() { return 30 }; +function happyCallee31() { return 31 }; +function happyCallee32() { return 32 }; +function happyCallee33() { return 33 }; +function happyCallee34() { return 34 }; +function happyCallee35() { return 35 }; +function happyCallee36() { return 36 }; +function happyCallee37() { return 37 }; +function happyCallee38() { return 38 }; +function happyCallee39() { return 39 }; +function happyCallee40() { return 40 }; +function happyCallee41() { return 41 }; +function happyCallee42() { return 42 }; +function happyCallee43() { return 43 }; +function happyCallee44() { return 44 }; +function happyCallee45() { return 45 }; +function happyCallee46() { return 46 }; +function happyCallee47() { return 47 }; +function happyCallee48() { return 48 }; +function happyCallee49() { return 49 }; +function happyCallee50() { return 50 }; +function happyCallee51() { return 51 }; +function happyCallee52() { return 52 }; +function happyCallee53() { return 53 }; +function happyCallee54() { return 54 }; +function happyCallee55() { return 55 }; +function happyCallee56() { return 56 }; +function happyCallee57() { return 57 }; +function happyCallee58() { return 58 }; +function happyCallee59() { return 59 }; +function happyCallee60() { return 60 }; +function happyCallee61() { return 61 }; +function happyCallee62() { return 62 }; +function happyCallee63() { return 63 }; + +var happyCallees = [happyCallee0, happyCallee1, happyCallee2, happyCallee3, happyCallee4, happyCallee5, happyCallee6, happyCallee7, happyCallee8, happyCallee9, happyCallee10, happyCallee11, happyCallee12, happyCallee13, happyCallee14, happyCallee15, happyCallee16, happyCallee17, happyCallee18, happyCallee19, happyCallee20, happyCallee21, happyCallee22, happyCallee23, happyCallee24, happyCallee25, happyCallee26, happyCallee27, happyCallee28, happyCallee29, happyCallee30, happyCallee31, happyCallee32, happyCallee33, happyCallee34, happyCallee35, happyCallee36, happyCallee37, happyCallee38, happyCallee39, happyCallee40, happyCallee41, happyCallee42, happyCallee43, happyCallee44, happyCallee45, happyCallee46, happyCallee47, happyCallee48, happyCallee49, happyCallee50, happyCallee51, happyCallee52, happyCallee53, happyCallee54, happyCallee55, happyCallee56, happyCallee57, happyCallee58, happyCallee59, happyCallee60, happyCallee61, happyCallee62, happyCallee63]; + +for (var i = 0; i < happyCallees.length; ++i) + noInline(happyCallees[i]); + +// Unlike the other test (throw-from-ftl-call-ic-slow-path.js), we want to populate the registers with cells in +// this test. +var array = new Array(); +for (var i = 0; i < 64; ++i) + array[i] = new Object(); + +// Now, do some warming up. +for (var i = 0; i < 100000; ++i) { + var result = ftlFunction(array, happyCallees[i % happyCallees.length]); + if (result.length != array.length) + throw "Error: bad length: " + result; + for (var j = 0; j < result.length; ++j) { + if (result[j] != array[j]) + throw "Error: bad entry at j = " + j + ": " + result; + } +} + +// Finally, attempt to trigger the bug. +var notACell = 42; +for (var i = 0; i < 100; ++i) { + try { + ftlFunction(array, Int8Array); + } catch (e) { + if (e.message.indexOf("constructor without new is invalid") < 0) + throw "Error: bad exception message: " + e.message; + var result = notACell.f; + if (result !== void 0) { + print("Bad outcome of accessing f on notACell."); + print("Here's notACell:", notACell, describe(notACell)); + print("Here's the result:", result, describe(result)); + throw "Error: bad outcome of accessing f on " + notACell + ": " + result; + } + var result2 = result + 5; + var result3 = notACell + 5; + if ("" + result2 != "NaN") + throw "Error: bad outcome of adding 5 to result: " + result2; + if (result3 != 47) + throw "Error: bad outcome of adding 5 to 42: " + result3; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-undefined.js b/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-undefined.js new file mode 100644 index 0000000000..64c6f3129a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path-undefined.js @@ -0,0 +1,192 @@ +// Attempts to induce a crash resulting from the FTL emitting code that clobbers the tag registers and then +// throwing an exception without restoring those tag registers' values. + +function ftlFunction(array, callee) { + // Gotta use lots of gprs. + var x0 = array[0]; + var x1 = array[1]; + var x2 = array[2]; + var x3 = array[3]; + var x4 = array[4]; + var x5 = array[5]; + var x6 = array[6]; + var x7 = array[7]; + var x8 = array[8]; + var x9 = array[9]; + var x10 = array[10]; + var x11 = array[11]; + var x12 = array[12]; + var x13 = array[13]; + var x14 = array[14]; + var x15 = array[15]; + var x16 = array[16]; + var x17 = array[17]; + var x18 = array[18]; + var x19 = array[19]; + var x20 = array[20]; + var x21 = array[21]; + var x22 = array[22]; + var x23 = array[23]; + var x24 = array[24]; + var x25 = array[25]; + var x26 = array[26]; + var x27 = array[27]; + var x28 = array[28]; + var x29 = array[29]; + var x30 = array[30]; + var x31 = array[31]; + var x32 = array[32]; + var x33 = array[33]; + var x34 = array[34]; + var x35 = array[35]; + var x36 = array[36]; + var x37 = array[37]; + var x38 = array[38]; + var x39 = array[39]; + var x40 = array[40]; + var x41 = array[41]; + var x42 = array[42]; + var x43 = array[43]; + var x44 = array[44]; + var x45 = array[45]; + var x46 = array[46]; + var x47 = array[47]; + var x48 = array[48]; + var x49 = array[49]; + var x50 = array[50]; + var x51 = array[51]; + var x52 = array[52]; + var x53 = array[53]; + var x54 = array[54]; + var x55 = array[55]; + var x56 = array[56]; + var x57 = array[57]; + var x58 = array[58]; + var x59 = array[59]; + var x60 = array[60]; + var x61 = array[61]; + var x62 = array[62]; + var x63 = array[63]; + + // Make a call that will throw, when we ask it to. + callee("hello"); + + // Use all of those crazy values. + return [x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63] +} + +noInline(ftlFunction); + +// Create some callees that are too crazy to get inlined or devirtualized, but that don't have effects. + +function happyCallee0() { return 0 }; +function happyCallee1() { return 1 }; +function happyCallee2() { return 2 }; +function happyCallee3() { return 3 }; +function happyCallee4() { return 4 }; +function happyCallee5() { return 5 }; +function happyCallee6() { return 6 }; +function happyCallee7() { return 7 }; +function happyCallee8() { return 8 }; +function happyCallee9() { return 9 }; +function happyCallee10() { return 10 }; +function happyCallee11() { return 11 }; +function happyCallee12() { return 12 }; +function happyCallee13() { return 13 }; +function happyCallee14() { return 14 }; +function happyCallee15() { return 15 }; +function happyCallee16() { return 16 }; +function happyCallee17() { return 17 }; +function happyCallee18() { return 18 }; +function happyCallee19() { return 19 }; +function happyCallee20() { return 20 }; +function happyCallee21() { return 21 }; +function happyCallee22() { return 22 }; +function happyCallee23() { return 23 }; +function happyCallee24() { return 24 }; +function happyCallee25() { return 25 }; +function happyCallee26() { return 26 }; +function happyCallee27() { return 27 }; +function happyCallee28() { return 28 }; +function happyCallee29() { return 29 }; +function happyCallee30() { return 30 }; +function happyCallee31() { return 31 }; +function happyCallee32() { return 32 }; +function happyCallee33() { return 33 }; +function happyCallee34() { return 34 }; +function happyCallee35() { return 35 }; +function happyCallee36() { return 36 }; +function happyCallee37() { return 37 }; +function happyCallee38() { return 38 }; +function happyCallee39() { return 39 }; +function happyCallee40() { return 40 }; +function happyCallee41() { return 41 }; +function happyCallee42() { return 42 }; +function happyCallee43() { return 43 }; +function happyCallee44() { return 44 }; +function happyCallee45() { return 45 }; +function happyCallee46() { return 46 }; +function happyCallee47() { return 47 }; +function happyCallee48() { return 48 }; +function happyCallee49() { return 49 }; +function happyCallee50() { return 50 }; +function happyCallee51() { return 51 }; +function happyCallee52() { return 52 }; +function happyCallee53() { return 53 }; +function happyCallee54() { return 54 }; +function happyCallee55() { return 55 }; +function happyCallee56() { return 56 }; +function happyCallee57() { return 57 }; +function happyCallee58() { return 58 }; +function happyCallee59() { return 59 }; +function happyCallee60() { return 60 }; +function happyCallee61() { return 61 }; +function happyCallee62() { return 62 }; +function happyCallee63() { return 63 }; + +var happyCallees = [happyCallee0, happyCallee1, happyCallee2, happyCallee3, happyCallee4, happyCallee5, happyCallee6, happyCallee7, happyCallee8, happyCallee9, happyCallee10, happyCallee11, happyCallee12, happyCallee13, happyCallee14, happyCallee15, happyCallee16, happyCallee17, happyCallee18, happyCallee19, happyCallee20, happyCallee21, happyCallee22, happyCallee23, happyCallee24, happyCallee25, happyCallee26, happyCallee27, happyCallee28, happyCallee29, happyCallee30, happyCallee31, happyCallee32, happyCallee33, happyCallee34, happyCallee35, happyCallee36, happyCallee37, happyCallee38, happyCallee39, happyCallee40, happyCallee41, happyCallee42, happyCallee43, happyCallee44, happyCallee45, happyCallee46, happyCallee47, happyCallee48, happyCallee49, happyCallee50, happyCallee51, happyCallee52, happyCallee53, happyCallee54, happyCallee55, happyCallee56, happyCallee57, happyCallee58, happyCallee59, happyCallee60, happyCallee61, happyCallee62, happyCallee63]; + +for (var i = 0; i < happyCallees.length; ++i) + noInline(happyCallees[i]); + +// Unlike the other test (throw-from-ftl-call-ic-slow-path.js), we want to populate the registers with undefined +// in this test. +var array = new Array(); +for (var i = 0; i < 64; ++i) + array[i] = void 0; + +// Now, do some warming up. +for (var i = 0; i < 100000; ++i) { + var result = ftlFunction(array, happyCallees[i % happyCallees.length]); + if (result.length != array.length) + throw "Error: bad length: " + result; + for (var j = 0; j < result.length; ++j) { + if (result[j] != array[j]) + throw "Error: bad entry at j = " + j + ": " + result; + } +} + +// Finally, attempt to trigger the bug. +var notACell = 42; +for (var i = 0; i < 100; ++i) { + try { + ftlFunction(array, Int8Array); + } catch (e) { + if (e.message.indexOf("constructor without new is invalid") < 0) + throw "Error: bad exception message: " + e.message; + var result = notACell.f; + if (result !== void 0) { + print("Bad outcome of accessing f on notACell."); + print("Here's notACell:", notACell, describe(notACell)); + print("Here's the result:", result, describe(result)); + throw "Error: bad outcome of accessing f on " + notACell + ": " + result; + } + var result2 = result + 5; + var result3 = notACell + 5; + if ("" + result2 != "NaN") + throw "Error: bad outcome of adding 5 to result: " + result2; + if (result3 != 47) + throw "Error: bad outcome of adding 5 to 42: " + result3; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path.js b/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path.js new file mode 100644 index 0000000000..259c2528b2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/throw-from-ftl-call-ic-slow-path.js @@ -0,0 +1,192 @@ +// Attempts to induce a crash resulting from the FTL emitting code that clobbers the tag registers and then +// throwing an exception without restoring those tag registers' values. + +function ftlFunction(array, callee) { + // Gotta use lots of gprs. + var x0 = array[0]; + var x1 = array[1]; + var x2 = array[2]; + var x3 = array[3]; + var x4 = array[4]; + var x5 = array[5]; + var x6 = array[6]; + var x7 = array[7]; + var x8 = array[8]; + var x9 = array[9]; + var x10 = array[10]; + var x11 = array[11]; + var x12 = array[12]; + var x13 = array[13]; + var x14 = array[14]; + var x15 = array[15]; + var x16 = array[16]; + var x17 = array[17]; + var x18 = array[18]; + var x19 = array[19]; + var x20 = array[20]; + var x21 = array[21]; + var x22 = array[22]; + var x23 = array[23]; + var x24 = array[24]; + var x25 = array[25]; + var x26 = array[26]; + var x27 = array[27]; + var x28 = array[28]; + var x29 = array[29]; + var x30 = array[30]; + var x31 = array[31]; + var x32 = array[32]; + var x33 = array[33]; + var x34 = array[34]; + var x35 = array[35]; + var x36 = array[36]; + var x37 = array[37]; + var x38 = array[38]; + var x39 = array[39]; + var x40 = array[40]; + var x41 = array[41]; + var x42 = array[42]; + var x43 = array[43]; + var x44 = array[44]; + var x45 = array[45]; + var x46 = array[46]; + var x47 = array[47]; + var x48 = array[48]; + var x49 = array[49]; + var x50 = array[50]; + var x51 = array[51]; + var x52 = array[52]; + var x53 = array[53]; + var x54 = array[54]; + var x55 = array[55]; + var x56 = array[56]; + var x57 = array[57]; + var x58 = array[58]; + var x59 = array[59]; + var x60 = array[60]; + var x61 = array[61]; + var x62 = array[62]; + var x63 = array[63]; + + // Make a call that will throw, when we ask it to. + callee("hello"); + + // Use all of those crazy values. + return [x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19, x20, x21, x22, x23, x24, x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42, x43, x44, x45, x46, x47, x48, x49, x50, x51, x52, x53, x54, x55, x56, x57, x58, x59, x60, x61, x62, x63] +} + +noInline(ftlFunction); + +// Create some callees that are too crazy to get inlined or devirtualized, but that don't have effects. + +function happyCallee0() { return 0 }; +function happyCallee1() { return 1 }; +function happyCallee2() { return 2 }; +function happyCallee3() { return 3 }; +function happyCallee4() { return 4 }; +function happyCallee5() { return 5 }; +function happyCallee6() { return 6 }; +function happyCallee7() { return 7 }; +function happyCallee8() { return 8 }; +function happyCallee9() { return 9 }; +function happyCallee10() { return 10 }; +function happyCallee11() { return 11 }; +function happyCallee12() { return 12 }; +function happyCallee13() { return 13 }; +function happyCallee14() { return 14 }; +function happyCallee15() { return 15 }; +function happyCallee16() { return 16 }; +function happyCallee17() { return 17 }; +function happyCallee18() { return 18 }; +function happyCallee19() { return 19 }; +function happyCallee20() { return 20 }; +function happyCallee21() { return 21 }; +function happyCallee22() { return 22 }; +function happyCallee23() { return 23 }; +function happyCallee24() { return 24 }; +function happyCallee25() { return 25 }; +function happyCallee26() { return 26 }; +function happyCallee27() { return 27 }; +function happyCallee28() { return 28 }; +function happyCallee29() { return 29 }; +function happyCallee30() { return 30 }; +function happyCallee31() { return 31 }; +function happyCallee32() { return 32 }; +function happyCallee33() { return 33 }; +function happyCallee34() { return 34 }; +function happyCallee35() { return 35 }; +function happyCallee36() { return 36 }; +function happyCallee37() { return 37 }; +function happyCallee38() { return 38 }; +function happyCallee39() { return 39 }; +function happyCallee40() { return 40 }; +function happyCallee41() { return 41 }; +function happyCallee42() { return 42 }; +function happyCallee43() { return 43 }; +function happyCallee44() { return 44 }; +function happyCallee45() { return 45 }; +function happyCallee46() { return 46 }; +function happyCallee47() { return 47 }; +function happyCallee48() { return 48 }; +function happyCallee49() { return 49 }; +function happyCallee50() { return 50 }; +function happyCallee51() { return 51 }; +function happyCallee52() { return 52 }; +function happyCallee53() { return 53 }; +function happyCallee54() { return 54 }; +function happyCallee55() { return 55 }; +function happyCallee56() { return 56 }; +function happyCallee57() { return 57 }; +function happyCallee58() { return 58 }; +function happyCallee59() { return 59 }; +function happyCallee60() { return 60 }; +function happyCallee61() { return 61 }; +function happyCallee62() { return 62 }; +function happyCallee63() { return 63 }; + +var happyCallees = [happyCallee0, happyCallee1, happyCallee2, happyCallee3, happyCallee4, happyCallee5, happyCallee6, happyCallee7, happyCallee8, happyCallee9, happyCallee10, happyCallee11, happyCallee12, happyCallee13, happyCallee14, happyCallee15, happyCallee16, happyCallee17, happyCallee18, happyCallee19, happyCallee20, happyCallee21, happyCallee22, happyCallee23, happyCallee24, happyCallee25, happyCallee26, happyCallee27, happyCallee28, happyCallee29, happyCallee30, happyCallee31, happyCallee32, happyCallee33, happyCallee34, happyCallee35, happyCallee36, happyCallee37, happyCallee38, happyCallee39, happyCallee40, happyCallee41, happyCallee42, happyCallee43, happyCallee44, happyCallee45, happyCallee46, happyCallee47, happyCallee48, happyCallee49, happyCallee50, happyCallee51, happyCallee52, happyCallee53, happyCallee54, happyCallee55, happyCallee56, happyCallee57, happyCallee58, happyCallee59, happyCallee60, happyCallee61, happyCallee62, happyCallee63]; + +for (var i = 0; i < happyCallees.length; ++i) + noInline(happyCallees[i]); + +// We want the input array to have an easy-to-deal-with type that isn't exactly the same as the type that +// ftlFunction will return. +var array = new Int32Array(64); +for (var i = 0; i < array.length; ++i) + array[i] = i; + +// Now, do some warming up. +for (var i = 0; i < 100000; ++i) { + var result = ftlFunction(array, happyCallees[i % happyCallees.length]); + if (result.length != array.length) + throw "Error: bad length: " + result; + for (var j = 0; j < result.length; ++j) { + if (result[j] != array[j]) + throw "Error: bad entry at j = " + j + ": " + result; + } +} + +// Finally, attempt to trigger the bug. +var notACell = 42; +for (var i = 0; i < 100; ++i) { + try { + ftlFunction(array, Int8Array); + } catch (e) { + if (e.message.indexOf("constructor without new is invalid") < 0) + throw "Error: bad exception message: " + e.message; + var result = notACell.f; + if (result !== void 0) { + print("Bad outcome of accessing f on notACell."); + print("Here's notACell:", notACell, describe(notACell)); + print("Here's the result:", result, describe(result)); + throw "Error: bad outcome of accessing f on " + notACell + ": " + result; + } + var result2 = result + 5; + var result3 = notACell + 5; + if ("" + result2 != "NaN") + throw "Error: bad outcome of adding 5 to result: " + result2; + if (result3 != 47) + throw "Error: bad outcome of adding 5 to 42: " + result3; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/throw-from-ftl-in-loop.js b/implementation-contributed/javascriptcore/stress/throw-from-ftl-in-loop.js new file mode 100644 index 0000000000..b87cc8e270 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/throw-from-ftl-in-loop.js @@ -0,0 +1,13 @@ +var didThrow = false; +try { + (function() { + for (var i = 0; i < 1000000; ++i) { } + throw 42; + })(); +} catch (e) { + if (e != 42) + throw "Error: bad result: " + e; + didThrow = true; +} +if (!didThrow) + throw "Error: should have thrown but didn't."; diff --git a/implementation-contributed/javascriptcore/stress/throw-from-ftl.js b/implementation-contributed/javascriptcore/stress/throw-from-ftl.js new file mode 100644 index 0000000000..aac2e9ea7d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/throw-from-ftl.js @@ -0,0 +1,25 @@ +function foo(p) { + var o = {f:42}; + if (p) + throw o; + return o; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var o = foo(false); + if (o.f != 42) + throw "Error: bad result: " + o.f; +} + +var didThrow = false; +try { + foo(true); +} catch (e) { + if (e.f != 42) + throw "Error: bad result in catch: " + o.f; + didThrow = true; +} +if (!didThrow) + throw "Error: should have thrown but didn't."; diff --git a/implementation-contributed/javascriptcore/stress/throw-through-optimized-code.js b/implementation-contributed/javascriptcore/stress/throw-through-optimized-code.js new file mode 100644 index 0000000000..0feb240ed3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/throw-through-optimized-code.js @@ -0,0 +1,30 @@ +function foo(f) { + return f(1) + 1; +} + +var shouldThrow = false; +function bar(x) { + if (shouldThrow) + throw "hello"; + return 42 - x; +} + +noInline(foo); +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = foo(bar); + if (result != 42) + throw "Error: bad result: " + result; +} + +var didThrow; +try { + shouldThrow = true; + foo(bar); +} catch (e) { + didThrow = e; +} + +if (didThrow != "hello") + throw "Error: didn't throw or threw wrong exception: " + didThrow; diff --git a/implementation-contributed/javascriptcore/stress/tier-up-in-loop-with-cfg-simplification.js b/implementation-contributed/javascriptcore/stress/tier-up-in-loop-with-cfg-simplification.js new file mode 100644 index 0000000000..874904bc44 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tier-up-in-loop-with-cfg-simplification.js @@ -0,0 +1,24 @@ +var False = false; + +function foo(p, array) { + var result = 0; + var i = 0; + if (array.length) { + if (p) { + } else { + return; + } + do { + result += array[i++]; + } while (False); + } + return result; +} + +noInline(foo); + +for (var i = 0; i < 1000000; ++i) { + var result = foo(true, [42]); + if (result != 42) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-int32-sensible.js b/implementation-contributed/javascriptcore/stress/to-int32-sensible.js new file mode 100644 index 0000000000..4f5a12bbb5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-int32-sensible.js @@ -0,0 +1,40 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +// ValueToInt32(DoubleRep) +function toInt32(number) +{ + return (number * 0.5) >> 0; +} +noInline(toInt32); +for (var i = 0; i < 1e5; ++i) + toInt32(i * 1.0); + +function test(number) +{ + return toInt32(number * 2); +} + +const INT32_MAX = 2147483647; +const INT32_MIN = -2147483648; + +shouldBe(test(INT32_MAX - 1), INT32_MAX - 1); +shouldBe(test(INT32_MAX - 0.5), INT32_MAX - 1); +shouldBe(test(INT32_MAX), INT32_MAX); +shouldBe(test(INT32_MAX + 0.5), INT32_MAX); +shouldBe(test(INT32_MAX + 1), INT32_MIN); + +shouldBe(test(INT32_MIN - 1), INT32_MAX); +shouldBe(test(INT32_MIN - 0.5), INT32_MIN); +shouldBe(test(INT32_MIN), INT32_MIN); +shouldBe(test(INT32_MIN + 0.5), INT32_MIN + 1); +shouldBe(test(INT32_MIN + 1), INT32_MIN + 1); + +shouldBe(test(Number.EPSILON), 0); +shouldBe(test(Number.NaN), 0); +shouldBe(test(Number.POSITIVE_INFINITY), 0); +shouldBe(test(Number.NEGATIVE_INFINITY), 0); +shouldBe(test(Number.MAX_SAFE_INTEGER), -1); +shouldBe(test(Number.MIN_SAFE_INTEGER), 1); diff --git a/implementation-contributed/javascriptcore/stress/to-int32-sensible2.js b/implementation-contributed/javascriptcore/stress/to-int32-sensible2.js new file mode 100644 index 0000000000..bbfe9be7f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-int32-sensible2.js @@ -0,0 +1,55 @@ +//@ runFTLNoCJIT + +var testCases = [ + { value: -Number.MAX_VALUE, expected: 0 }, + { value: Number.MAX_VALUE, expected: 0 }, + { value: -Number.MIN_VALUE, expected: 0 }, + { value: Number.MIN_VALUE, expected: 0 }, + { value: -Infinity, expected: 0 }, + { value: Infinity, expected: 0 }, + { value: NaN, expected: 0 }, + { value: -NaN, expected: 0 }, + { value: 0, expected: 0 }, + { value: -0, expected: 0 }, + { value: 1, expected: 1 }, + { value: -1, expected: -1 }, + { value: 5, expected: 5 }, + { value: -5, expected: -5 }, + + { value: 0x80000001, expected: -2147483647 }, + { value: 0x80000000, expected: -2147483648 }, + { value: 0x7fffffff, expected: 2147483647 }, + { value: 0x7ffffffe, expected: 2147483646 }, + + { value: -2147483647, expected: -2147483647 }, + { value: -2147483648, expected: -2147483648 }, + { value: -2147483649, expected: 2147483647 }, + { value: -2147483650, expected: 2147483646 }, + + { value: 2147483646, expected: 2147483646 }, + { value: 2147483647, expected: 2147483647 }, + { value: 2147483648, expected: -2147483648 }, + { value: 2147483649, expected: -2147483647 }, +]; + +var numFailures = 0; +for (var i = 0; i < testCases.length; i++) { + try { + var testCase = testCases[i]; + var test = new Function("x", "y", "y = " + i + "; return x|0;"); + noInline(test); + + for (var k = 0; k < 10000; ++k) { + actual = test(testCase.value); + if (actual != testCase.expected) + throw ("FAILED: x|0 where x = " + testCase.value + ": expected " + testCase.expected + ", actual " + actual); + } + } catch (e) { + print(e); + numFailures++; + } +} + +if (numFailures) + throw("Found " + numFailures + " failures"); + diff --git a/implementation-contributed/javascriptcore/stress/to-lower-case-intrinsic-on-empty-rope.js b/implementation-contributed/javascriptcore/stress/to-lower-case-intrinsic-on-empty-rope.js new file mode 100644 index 0000000000..58f31244f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-lower-case-intrinsic-on-empty-rope.js @@ -0,0 +1,26 @@ +function assert(b) { + if (!b) + throw new Error("bad!"); +} + +function returnRope() { + function helper(r, s) { + // I'm paranoid about RegExp matching constant folding. + return s.match(r)[1]; + } + noInline(helper); + return helper(/(b*)fo/, "fo"); +} +noInline(returnRope); + +function lower(a) { + return a.toLowerCase(); +} +noInline(lower); + +for (let i = 0; i < 10000; i++) { + let rope = returnRope(); + assert(!rope.length); + assert(isRope(rope)); // Keep this test future proofed. If this stops returning a rope, we should try to find another way to return an empty rope. + lower(rope); +} diff --git a/implementation-contributed/javascriptcore/stress/to-lower-case.js b/implementation-contributed/javascriptcore/stress/to-lower-case.js new file mode 100644 index 0000000000..28c4392d76 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-lower-case.js @@ -0,0 +1,30 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +let tests = [ + ["FOO", "foo"], + ["fff\u00C2", "fff\u00E2"], + ["foo", "foo"], + ["foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"], + ["BaR", "bar"], + ["FOO\u00A9", "foo\u00A9"], + ["#$#$", "#$#$"], + ["&&&\u00A9", "&&&\u00A9"], + ["&&&\u00C2", "&&&\u00E2"], + ["ABC\u0100", "abc\u0101"], +]; + +function foo(a) { + return a.toLowerCase(); +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + for (let i = 0; i < tests.length; i++) { + let test = tests[i][0]; + let result = tests[i][1]; + assert(foo(test) === result); + } +} diff --git a/implementation-contributed/javascriptcore/stress/to-number-basics.js b/implementation-contributed/javascriptcore/stress/to-number-basics.js new file mode 100644 index 0000000000..438b21660d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-basics.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test1(value) +{ + return Number(value) <= 42; +} +noInline(test1); + +// Int32. +for (var i = 0; i < 1e4; ++i) + shouldBe(test1(42), true); + +// Doubles. +for (var i = 0; i < 1e4; ++i) + shouldBe(test1(42.195), false); + +// Non numbers. +for (var i = 0; i < 1e4; ++i) + shouldBe(test1("Hello"), false); diff --git a/implementation-contributed/javascriptcore/stress/to-number-convert-identity-without-execution.js b/implementation-contributed/javascriptcore/stress/to-number-convert-identity-without-execution.js new file mode 100644 index 0000000000..1378e470d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-convert-identity-without-execution.js @@ -0,0 +1,26 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x, y) +{ + if (x) + return Number(y); + return y; +} +noInline(test); + +// Converted to Identity, but since Number is handled by inlining, it emits ForceOSRExit. +// So converted Identity is never executed. +for (var i = 0; i < 1e4; ++i) + shouldBe(test(false, 41), 41); + + +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, 41), 41); +var object = { valueOf() { return 41; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, object), 41); +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, { valueOf() { return 42.195; } }), 42.195); diff --git a/implementation-contributed/javascriptcore/stress/to-number-int52.js b/implementation-contributed/javascriptcore/stress/to-number-int52.js new file mode 100644 index 0000000000..b58ac92b8f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-int52.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x) { + var y = x; + var z = y * 2; + if (z) { + z += y; + z += y; + z += y; + } + return Number(z) < 42; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(test(1000000000), false); + +// Extend to Doubles. +for (var i = 0; i < 1e4; ++i) + shouldBe(test(42.195), false); + +// Leave ToNumber for objects. +// And this should update the value profiling to accept doubles in ToNumber calls. +var object = { valueOf() { return 42.195; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(object), false); diff --git a/implementation-contributed/javascriptcore/stress/to-number-intrinsic-convert-to-identity-without-execution.js b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-convert-to-identity-without-execution.js new file mode 100644 index 0000000000..5d6007bbc0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-convert-to-identity-without-execution.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x, y) +{ + if (x) + return +y; + return y; +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(test(false, 41), 41); +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, 41), 41); +var object = { valueOf() { return 41; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, object), 41); +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, { valueOf() { return 42.195; } }), 42.195); diff --git a/implementation-contributed/javascriptcore/stress/to-number-intrinsic-int52.js b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-int52.js new file mode 100644 index 0000000000..1dcbf83fd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-int52.js @@ -0,0 +1,29 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x) { + var y = x; + var z = y * 2; + if (z) { + z += y; + z += y; + z += y; + } + return isFinite(z); +} +noInline(test); + +for (var i = 0; i < 1e4; ++i) + shouldBe(test(1000000000), true); + +// Extend to Doubles. +for (var i = 0; i < 1e4; ++i) + shouldBe(test(42.195), true); + +// Leave ToNumber for objects. +// And this should update the value profiling to accept doubles in ToNumber calls. +var object = { valueOf() { return 42.195; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(object), true); diff --git a/implementation-contributed/javascriptcore/stress/to-number-intrinsic-object-without-execution.js b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-object-without-execution.js new file mode 100644 index 0000000000..7482bbdc5c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-object-without-execution.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x, y) +{ + if (x) + return +y; + return y; +} +noInline(test); + +var object = { valueOf() { return 41; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(false, object), object); +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, object), 41); diff --git a/implementation-contributed/javascriptcore/stress/to-number-intrinsic-value-profiling.js b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-value-profiling.js new file mode 100644 index 0000000000..9f6cc04cea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-intrinsic-value-profiling.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x) { + return isFinite(x); +} +noInline(test); + +var object = { valueOf() { return 42; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(object), true); + +// This should update the value profiling to accept doubles in ToNumber calls. +var object = { valueOf() { return 42.195; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(object), true); diff --git a/implementation-contributed/javascriptcore/stress/to-number-object-without-execution.js b/implementation-contributed/javascriptcore/stress/to-number-object-without-execution.js new file mode 100644 index 0000000000..856e0da829 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-object-without-execution.js @@ -0,0 +1,20 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x, y) +{ + if (x) + return Number(y); + return y; +} +noInline(test); + +var object = { valueOf() { return 41; } }; +// Since Number is handled by inlining, it emits ForceOSRExit. +for (var i = 0; i < 1e4; ++i) + shouldBe(test(false, object), object); + +for (var i = 0; i < 1e4; ++i) + shouldBe(test(true, object), 41); diff --git a/implementation-contributed/javascriptcore/stress/to-number-object.js b/implementation-contributed/javascriptcore/stress/to-number-object.js new file mode 100644 index 0000000000..689249a4df --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-object.js @@ -0,0 +1,70 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test1(object) +{ + // The prediction should be Int32. + return Number(object); +} +noInline(test1); + +function test12(object) +{ + // Should be Int32 comparison. + return Number(object) <= 42; +} +noInline(test12); + +var object1 = { valueOf() { return 42; } }; +for (var i = 0; i < 1e4; ++i) { + shouldBe(test1(object1), 42); + shouldBe(test12(object1), true); +} + +function test2(object) +{ + // The prediction should be Doubles. + return Number(object); +} +noInline(test2); + +function test22(object) +{ + // Should be Double comparison. + return Number(object) <= 42; +} +noInline(test22); + +var object2 = { valueOf() { return 42.195; } }; +for (var i = 0; i < 1e4; ++i) { + shouldBe(test2(object2), 42.195); + shouldBe(test22(object2), false); +} + +function test3(object) +{ + // The prediction should be Int32, and later it should be Doubles. + return Number(object); +} +noInline(test3); + +function test32(object) +{ + // Should be Int32 comparison. And later, OSR exit occurs with 42.195. And it should be recompiled as Double comparison. + return Number(object) <= 42; +} +noInline(test32); + +var value = 42; +var object3 = { valueOf() { return value; } }; +for (var i = 0; i < 1e4; ++i) { + shouldBe(test3(object3), value); + shouldBe(test32(object3), true); +} +value = 42.195; +for (var i = 0; i < 1e4; ++i) { + shouldBe(test3(object3), value); + shouldBe(test32(object3), false); +} diff --git a/implementation-contributed/javascriptcore/stress/to-number-throws-correct-exception.js b/implementation-contributed/javascriptcore/stress/to-number-throws-correct-exception.js new file mode 100644 index 0000000000..382a730af8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-throws-correct-exception.js @@ -0,0 +1,121 @@ +function test(op) { + let test = ` + function runTest(iters) { + let shouldThrow = false; + let a = { + valueOf() { + if (shouldThrow) + throw "a"; + return 0; + } + }; + let {proxy: b, revoke} = Proxy.revocable({}, { + get: function(target, prop) { + if (prop === "valueOf") { + if (shouldThrow) + throw new Error("Should not be here!"); + return function() { + return 0; + } + } + } + }); + function f(a, b) { + return a ${op} b; + } + noInline(f); + for (let i = 0; i < iters; i++) { + f(a, b); + } + + shouldThrow = true; + let validException = false; + let exception = null; + revoke(); + try { + f(a, b); + } catch(e) { + validException = e === "a"; + exception = e; + } + if (!validException) + throw new Error("Bad operation: " + exception.toString() + " with iters: " + iters); + } + runTest(2); + runTest(10); + runTest(50); + runTest(1000); + runTest(10000); + `; + eval(test); +} +let ops = [ + "+" + , "-" + , "*" + , "**" + , "/" + , "%" + , "&" + , "|" + , "^" + , ">>" + , ">>>" + , "<<" +]; +for (let op of ops) + test(op); + +function test2(op) { + function runTest(iters) { + let test = ` + let shouldThrow = false; + let a = { + valueOf() { + if (shouldThrow) + throw "a"; + return 0; + } + }; + let {proxy: b, revoke} = Proxy.revocable({}, { + get: function(target, prop) { + if (prop === "valueOf") { + if (shouldThrow) + throw new Error("Should not be here!"); + return function() { + return 0; + } + } + } + }); + function f(a, b) { + return a ${op} b; + } + noInline(f); + for (let i = 0; i < ${iters}; i++) { + f(a, b); + } + + shouldThrow = true; + let validException = false; + let exception = null; + revoke(); + try { + f(a, b); + } catch(e) { + validException = e === "a"; + exception = e; + } + if (!validException) + throw new Error("Bad operation: " + exception.toString() + " with iters: " + ${iters}); + `; + eval(Math.random() + ";" + test); + } + runTest(2); + runTest(10); + runTest(50); + runTest(1000); + runTest(10000); +} +for (let op of ops) + test2(op); diff --git a/implementation-contributed/javascriptcore/stress/to-number-value-profiling.js b/implementation-contributed/javascriptcore/stress/to-number-value-profiling.js new file mode 100644 index 0000000000..ea69fe5cf3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-number-value-profiling.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function test(x) { + return Number(x) < 42; +} +noInline(test); + +var object = { valueOf() { return 42; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(object), false); + +// Leave ToNumber for objects. +// And this should update the value profiling to accept doubles in ToNumber calls. +var object = { valueOf() { return 42.195; } }; +for (var i = 0; i < 1e4; ++i) + shouldBe(test(object), false); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic-boolean-edge.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-boolean-edge.js new file mode 100644 index 0000000000..3f2ebb15f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-boolean-edge.js @@ -0,0 +1,19 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = builtin(true); + shouldBe(object instanceof Boolean, true); + shouldBe(object.valueOf(), true); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic-null-or-undefined-edge.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-null-or-undefined-edge.js new file mode 100644 index 0000000000..c2fb990f3a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-null-or-undefined-edge.js @@ -0,0 +1,36 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); + })`); + noInline(builtin); + + for (var i = 0; i < 1e4; ++i) + shouldThrow(() => builtin(null), `TypeError: null is not an object`); +}()); + +(function () { + var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); + })`); + noInline(builtin); + + for (var i = 0; i < 1e4; ++i) + shouldThrow(() => builtin(undefined), `TypeError: undefined is not an object`); +}()); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic-number-edge.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-number-edge.js new file mode 100644 index 0000000000..73b0b50f87 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-number-edge.js @@ -0,0 +1,23 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = builtin(42); + shouldBe(object instanceof Number, true); + shouldBe(object.valueOf(), 42); + + var object = builtin(42.195); + shouldBe(object instanceof Number, true); + shouldBe(object.valueOf(), 42.195); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic-object-edge.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-object-edge.js new file mode 100644 index 0000000000..7eacd172cc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-object-edge.js @@ -0,0 +1,27 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var arg = {}; + var object = builtin(arg); + shouldBe(object, arg); + + var arg = []; + var object = builtin(arg); + shouldBe(object, arg); + + var arg = function () { }; + var object = builtin(arg); + shouldBe(object, arg); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic-string-edge.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-string-edge.js new file mode 100644 index 0000000000..738d1ba6bc --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-string-edge.js @@ -0,0 +1,19 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = builtin("Cocoa"); + shouldBe(object instanceof String, true); + shouldBe(object.valueOf(), "Cocoa"); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic-symbol-edge.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-symbol-edge.js new file mode 100644 index 0000000000..33a13a8a23 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic-symbol-edge.js @@ -0,0 +1,19 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + var object = builtin(Symbol("Cocoa")); + shouldBe(object instanceof Symbol, true); + shouldBe(String(object.valueOf()), `Symbol(Cocoa)`); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/to-object-intrinsic.js b/implementation-contributed/javascriptcore/stress/to-object-intrinsic.js new file mode 100644 index 0000000000..3b5fb3a877 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-object-intrinsic.js @@ -0,0 +1,53 @@ +var createBuiltin = $vm.createBuiltin; + +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +var builtin = createBuiltin(`(function (target) { + return @toObject(target, ""); +})`); +noInline(builtin); + +(function () { + for (var i = 0; i < 1e4; ++i) { + shouldThrow(() => builtin(null), `TypeError: null is not an object`); + shouldThrow(() => builtin(undefined), `TypeError: undefined is not an object`); + var object = builtin(42); + shouldBe(object instanceof Number, true); + shouldBe(object.valueOf(), 42); + + var object = builtin("Cocoa"); + shouldBe(object instanceof String, true); + shouldBe(object.valueOf(), "Cocoa"); + + var object = builtin(true); + shouldBe(object instanceof Boolean, true); + shouldBe(object.valueOf(), true); + + var object = builtin(Symbol("Cocoa")); + shouldBe(object instanceof Symbol, true); + shouldBe(String(object.valueOf()), `Symbol(Cocoa)`); + + var arg = {}; + var object = builtin(arg); + shouldBe(object, arg); + } +}()); + diff --git a/implementation-contributed/javascriptcore/stress/to-property-key-correctness.js b/implementation-contributed/javascriptcore/stress/to-property-key-correctness.js new file mode 100644 index 0000000000..bab89a2f0d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-property-key-correctness.js @@ -0,0 +1,130 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion"); +} + +function test(f) { + for (let i = 0; i < 100; i++) + f(); +} + +test(function() { + let error = null; + let handler = { + has: function(theTarget, property) { + assert(error === null); // Make sure we don't call into has more than once. Make sure we throw on the fist error. + error = new Error; + throw error; + } + }; + let proxy = new Proxy({}, handler); + let foo = {}; + + let threw = false; + try { + Object.defineProperty(foo, "foo", proxy); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); +}); + +test(function() { + let error = null; + let handler = { + has: function(theTarget, property) { + assert(error === null); // Make sure we don't call into has more than once. Make sure we throw on the fist error. + if (property === "set") { + error = new Error; + throw error; + } + return Reflect.has(theTarget, property); + } + }; + let proxy = new Proxy({}, handler); + let foo = {}; + + let threw = false; + try { + Object.defineProperty(foo, "foo", proxy); + } catch(e) { + threw = true; + assert(e === error); + } + assert(threw); +}); + +function arrayEq(a, b) { + if (a.length !== b.length) + return false; + for (let i = 0; i < a.length; i++) { + if (a[i] !== b[i]) + return false; + } + return true; + +} +test(function() { + let error = null; + let hasArray = []; + let getArray = []; + let handler = { + has: function(theTarget, property) { + hasArray.push(property); + return Reflect.has(theTarget, property); + }, + get: function(theTarget, property, receiver) { + getArray.push(property); + return Reflect.get(theTarget, property, receiver); + } + }; + + let target = { + enumerable: true, + configurable: true, + value: 45 + }; + let proxy = new Proxy(target, handler); + let foo = {}; + Object.defineProperty(foo, "foo", proxy); + assert(arrayEq(hasArray, ["enumerable", "configurable", "value", "writable", "get", "set"])); + assert(arrayEq(getArray, ["enumerable", "configurable", "value"])); + assert(foo.foo === 45); +}); + +test(function() { + let error = null; + let hasArray = []; + let getArray = []; + let handler = { + has: function(theTarget, property) { + hasArray.push(property); + return Reflect.has(theTarget, property); + }, + get: function(theTarget, property, receiver) { + getArray.push(property); + return Reflect.get(theTarget, property, receiver); + } + }; + + let target = { + enumerable: true, + configurable: true, + value: 45, + writable: true, + get: function(){}, + set: function(){} + }; + let proxy = new Proxy(target, handler); + let foo = {}; + let threw = false; + try { + Object.defineProperty(foo, "foo", proxy); + } catch(e) { + threw = true; + } + assert(threw); + assert(arrayEq(hasArray, ["enumerable", "configurable", "value", "writable", "get", "set"])); + assert(arrayEq(hasArray, getArray)); +}); diff --git a/implementation-contributed/javascriptcore/stress/to-string-int32.js b/implementation-contributed/javascriptcore/stress/to-string-int32.js new file mode 100644 index 0000000000..5279fe5c6d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-int32.js @@ -0,0 +1,59 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); +} + +function toString(value, radix) +{ + return value.toString(radix); +} +noInline(toString); + +function toString10(value) +{ + return `${value}`; +} +noInline(toString10); + +function expected(num, radix) +{ + let characters = "0123456789abcdefghijklmnopqrstuvwxyz"; + let result = ""; + let negative = false; + if (num < 0) { + negative = true; + num = -num; + } + + do { + const index = num % radix; + result = characters[index] + result; + num = (num - index) / radix; + } while (num); + + if (negative) + return '-' + result; + return result; +} + +for (var i = 0; i < 1e4; ++i) { + toString(i, 10); + toString(i, 36); + toString10(i); +} + +for (var radix = 2; radix < 37; ++radix) { + for (var lessThanRadix = -2000; lessThanRadix < radix; ++lessThanRadix) + shouldBe(toString(lessThanRadix, radix), expected(lessThanRadix, radix)); + for (var greaterThanRadix = radix; greaterThanRadix < 2000; ++greaterThanRadix) + shouldBe(toString(greaterThanRadix, radix), expected(greaterThanRadix, radix)); +} + +{ + var radix = 10; + for (var lessThanRadix = -2000; lessThanRadix < radix; ++lessThanRadix) + shouldBe(toString10(lessThanRadix), expected(lessThanRadix, radix)); + for (var greaterThanRadix = radix; greaterThanRadix < 2000; ++greaterThanRadix) + shouldBe(toString10(greaterThanRadix), expected(greaterThanRadix, radix)); +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-int52.js b/implementation-contributed/javascriptcore/stress/to-string-int52.js new file mode 100644 index 0000000000..e1f323f765 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-int52.js @@ -0,0 +1,59 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error(`bad value: expected:(${expected}),actual:(${actual})`); +} + +function toString(value, radix) +{ + return fiatInt52(value).toString(radix); +} +noInline(toString); + +function toString10(value) +{ + return `${fiatInt52(value)}`; +} +noInline(toString10); + +function expected(num, radix) +{ + let characters = "0123456789abcdefghijklmnopqrstuvwxyz"; + let result = ""; + let negative = false; + if (num < 0) { + negative = true; + num = -num; + } + + do { + const index = num % radix; + result = characters[index] + result; + num = (num - index) / radix; + } while (num); + + if (negative) + return '-' + result; + return result; +} + +for (var i = 0; i < 1e4; ++i) { + toString(i, 10); + toString(i, 36); + toString10(i); +} + +for (var radix = 2; radix < 37; ++radix) { + for (var lessThanRadix = -2000; lessThanRadix < radix; ++lessThanRadix) + shouldBe(toString(lessThanRadix, radix), expected(lessThanRadix, radix)); + for (var greaterThanRadix = radix; greaterThanRadix < 2000; ++greaterThanRadix) + shouldBe(toString(greaterThanRadix, radix), expected(greaterThanRadix, radix)); +} + +{ + var radix = 10; + for (var lessThanRadix = -2000; lessThanRadix < radix; ++lessThanRadix) + shouldBe(toString10(lessThanRadix), expected(lessThanRadix, radix)); + for (var greaterThanRadix = radix; greaterThanRadix < 2000; ++greaterThanRadix) + shouldBe(toString10(greaterThanRadix), expected(greaterThanRadix, radix)); +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-non-cell-use.js b/implementation-contributed/javascriptcore/stress/to-string-non-cell-use.js new file mode 100644 index 0000000000..573cd567c6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-non-cell-use.js @@ -0,0 +1,43 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function shouldThrow(func, errorMessage) +{ + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function toString(value) +{ + return `${value}`; +} +noInline(toString); + +for (var i = 0; i < 1e4; ++i) { + shouldBe(toString(i), i + ""); + shouldBe(toString(null), "null"); + shouldBe(toString(undefined), "undefined"); + shouldBe(toString(10.5), "10.5"); + shouldBe(toString(-10.5), "-10.5"); + shouldBe(toString(true), "true"); + shouldBe(toString(false), "false"); + shouldBe(toString(0 / 0), "NaN"); +} + +shouldBe(toString("HELLO"), "HELLO"); +shouldThrow(() => { + toString(Symbol("Cocoa")); +}, `TypeError: Cannot convert a symbol to a string`); diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-object-or-string.js b/implementation-contributed/javascriptcore/stress/to-string-on-object-or-string.js new file mode 100644 index 0000000000..43638c14cf --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-object-or-string.js @@ -0,0 +1,27 @@ +function Foo() { } + +Foo.prototype.toString = function() { return "hello" }; + +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(new Foo()); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "hello") + throw "Error: bad result: " + result; + + result = foo("world"); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "world") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-object.js b/implementation-contributed/javascriptcore/stress/to-string-on-object.js new file mode 100644 index 0000000000..60a89a4c43 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-object.js @@ -0,0 +1,19 @@ +function Foo() { } + +Foo.prototype.toString = function() { return "hello" }; + +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(new Foo()); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "hello") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-string-object.js b/implementation-contributed/javascriptcore/stress/to-string-on-string-object.js new file mode 100644 index 0000000000..e4435e5aac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-string-object.js @@ -0,0 +1,15 @@ +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(new String("hello")); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "hello") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object-then-object.js b/implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object-then-object.js new file mode 100644 index 0000000000..8eb040b78a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object-then-object.js @@ -0,0 +1,35 @@ +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(new String("hello")); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "hello") + throw "Error: bad result: " + result; + + result = foo("world"); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "world") + throw "Error: bad result: " + result; +} + +function Foo() { } + +Foo.prototype.toString = function() { return "hello" }; + +var result = foo(new Foo()); +if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; +} +if (result != "hello") + throw "Error: bad result: " + result; diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object.js b/implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object.js new file mode 100644 index 0000000000..5a5de96f47 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-string-or-string-object.js @@ -0,0 +1,23 @@ +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(new String("hello")); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "hello") + throw "Error: bad result: " + result; + + result = foo("world"); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "world") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-value-or-string.js b/implementation-contributed/javascriptcore/stress/to-string-on-value-or-string.js new file mode 100644 index 0000000000..8ced6c083a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-value-or-string.js @@ -0,0 +1,23 @@ +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(42); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "42") + throw "Error: bad result: " + result; + + result = foo("world"); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "world") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-on-value.js b/implementation-contributed/javascriptcore/stress/to-string-on-value.js new file mode 100644 index 0000000000..408e5ba4c9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-on-value.js @@ -0,0 +1,15 @@ +function foo(o) { + return String(o); +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(42); + if (typeof result != "string") { + describe(result); + throw "Error: result isn't a string"; + } + if (result != "42") + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-string-with-int52.js b/implementation-contributed/javascriptcore/stress/to-string-with-int52.js new file mode 100644 index 0000000000..c7fe985612 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-string-with-int52.js @@ -0,0 +1,15 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe((0xfffffffffff).toString(16), `fffffffffff`); +shouldBe((-0xfffffffffff).toString(16), `-fffffffffff`); +shouldBe((0xfffffffffff000).toString(16), `fffffffffff000`); +shouldBe((-0xfffffffffff000).toString(16), `-fffffffffff000`); + +shouldBe((0x8000000000000).toString(16), `8000000000000`); +shouldBe((-0x8000000000000).toString(16), `-8000000000000`); +shouldBe((0x8000000000000 - 1).toString(16), `7ffffffffffff`); +shouldBe((-0x8000000000000 + 1).toString(16), `-7ffffffffffff`); diff --git a/implementation-contributed/javascriptcore/stress/to-this-before-arrow-function-closes-over-this-that-starts-as-lexical-environment.js b/implementation-contributed/javascriptcore/stress/to-this-before-arrow-function-closes-over-this-that-starts-as-lexical-environment.js new file mode 100644 index 0000000000..d549a8a847 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-before-arrow-function-closes-over-this-that-starts-as-lexical-environment.js @@ -0,0 +1,58 @@ +function assert(b) { + if (!b) + throw new Error("Bad assertion!") +} + +function obj() { + return {}; +} +noInline(obj); + +// This test makes sure that when wrapper() is called with the closure created in foo() as |this| +// that we to_this the |this| that is a closure before the arrow function captures its value. +// This crashes if there is a bug in debug builds. + +const globalThis = this; +function foo() { + function capture() { return wrapper; } + function wrapper() { + let x = () => { + // This should not defineProperty on a JSLexicalEnvironment! That's a huge bug. + Object.defineProperty(this, "foo", { + get: function() { }, + set: function() { } + }); + assert(!("bar" in this)); + assert(this === globalThis); + } + + x(); + } + wrapper(); +} +foo(); + + +function foo2() { + function capture() { return wrapper; } + function wrapper() { + let x = () => { + // This should not defineProperty on a JSLexicalEnvironment! That's a huge bug. + Object.defineProperty(this, "foo", { + get: function() { }, + set: function() { } + }); + } + + x(); + + function bar() { + with (obj()) { + assert; + } + } + bar(); + } + wrapper(); +} +foo2(); diff --git a/implementation-contributed/javascriptcore/stress/to-this-boolean.js b/implementation-contributed/javascriptcore/stress/to-this-boolean.js new file mode 100644 index 0000000000..e5b3b76beb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-boolean.js @@ -0,0 +1,22 @@ +Boolean.prototype.negate = function () +{ + "use strict"; + return !this; +}; +noInline(Boolean.prototype.negate); + +for (var i = 0; i < 1e4; ++i) + (i % 4 === 0).negate(); +Boolean.prototype.negate.call(true); + +for (var i = 0; i < 1e4; ++i) + Boolean.prototype.negate.call(i); + +Boolean.prototype.negate2 = function () +{ + "use strict"; + return !this; +}; + +for (var i = 0; i < 1e4; ++i) + (true).negate2(); diff --git a/implementation-contributed/javascriptcore/stress/to-this-double.js b/implementation-contributed/javascriptcore/stress/to-this-double.js new file mode 100644 index 0000000000..34b1728613 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-double.js @@ -0,0 +1,8 @@ +Number.prototype.negate = function () +{ + "use strict"; + return -this; +}; + +for (var i = 1; i < 1e4; ++i) + (4.24242).negate(); diff --git a/implementation-contributed/javascriptcore/stress/to-this-global-object.js b/implementation-contributed/javascriptcore/stress/to-this-global-object.js new file mode 100644 index 0000000000..d449de0068 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-global-object.js @@ -0,0 +1,25 @@ +function test() { + return this.f; +} +noInline(test); + +function test2() { + "use strict"; + return this.f; +} +noInline(test2); + +f = 42; + +let get = eval; +let global = get("this"); + +for (var i = 0; i < 10000; ++i) { + let result = test.call(global); + if (result !== 42) + throw new Error("bad this value: " + result); + + result = test2.call(global); + if (result !== 42) + throw new Error("bad this value: " + result); +} diff --git a/implementation-contributed/javascriptcore/stress/to-this-int32.js b/implementation-contributed/javascriptcore/stress/to-this-int32.js new file mode 100644 index 0000000000..7cf0c2ad93 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-int32.js @@ -0,0 +1,8 @@ +Number.prototype.negate = function () +{ + "use strict"; + return -this; +}; + +for (var i = 1; i < 1e4; ++i) + (0x424242).negate(); diff --git a/implementation-contributed/javascriptcore/stress/to-this-int52.js b/implementation-contributed/javascriptcore/stress/to-this-int52.js new file mode 100644 index 0000000000..145f7a9d95 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-int52.js @@ -0,0 +1,8 @@ +Number.prototype.negate = function () +{ + "use strict"; + return -this; +}; + +for (var i = 1; i < 1e4; ++i) + (0xfffffff * 100000).negate(); diff --git a/implementation-contributed/javascriptcore/stress/to-this-number.js b/implementation-contributed/javascriptcore/stress/to-this-number.js new file mode 100644 index 0000000000..2f13a9fcfa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-number.js @@ -0,0 +1,20 @@ +Number.prototype.negate = function () +{ + "use strict"; + return -this; +}; +noInline(Number.prototype.negate); + +for (var i = 0; i < 1e4; ++i) + (i % 3 === 0 ? -i : i).negate(); + +for (var i = 0; i < 1e4; ++i) + ((i % 3 === 0 ? -i : i) * 0.2).negate(); + +for (var i = 0; i < 1e4; ++i) + ((i % 3 === 0 ? -i : i) * 1000000).negate(); + +Number.prototype.negate.call(-20000); + +for (var i = 0; i < 1e4; ++i) + Number.prototype.negate.call(i % 2 === 0); diff --git a/implementation-contributed/javascriptcore/stress/to-this-numbers.js b/implementation-contributed/javascriptcore/stress/to-this-numbers.js new file mode 100644 index 0000000000..17b148ec0d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-numbers.js @@ -0,0 +1,19 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} +noInline(shouldBe); + +Number.prototype.toThis = function toThis() +{ + 'use strict'; + return this; +}; +noInline(Number.prototype.toThis); + +for (var i = 0; i < 1e4; ++i) { + shouldBe((0.1).toThis(), 0.1); + shouldBe((42).toThis(), 42); + shouldBe((1024 * 1024 * 1024 * 1024).toThis(), (1024 * 1024 * 1024 * 1024)); +} diff --git a/implementation-contributed/javascriptcore/stress/to-this-on-constant-lexical-environment.js b/implementation-contributed/javascriptcore/stress/to-this-on-constant-lexical-environment.js new file mode 100644 index 0000000000..ddf863583c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-on-constant-lexical-environment.js @@ -0,0 +1,19 @@ +"use strict"; + +function foo() { + function bar(i) { + return this; + } + function inner() { + let result; + for (let i = 0; i < 1000000; i++) + result = bar(i); + return result; + } + noInline(inner); + return inner(); +} + +let result = foo(); +if (result !== undefined) + throw new Error("Bad result"); diff --git a/implementation-contributed/javascriptcore/stress/to-this-polymorphic.js b/implementation-contributed/javascriptcore/stress/to-this-polymorphic.js new file mode 100644 index 0000000000..5e8972d5f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-polymorphic.js @@ -0,0 +1,25 @@ +function foo() { + return this.f; +} + +noInline(foo); + +String.prototype.f = 43; +String.prototype.g = foo; +Number.prototype.f = 78; +Number.prototype.g = foo; + +for (var i = 0; i < 100000; ++i) { + var o = {f:foo}; + var result = o.f(); + if (result != foo) + throw "Error: bad object result: " + result; + o = "hello"; + result = o.g(); + if (result != 43) + throw "Error: bad string result: " + result; + o = 42; + result = o.g(); + if (result != 78) + throw "Error: bad number result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/to-this-string.js b/implementation-contributed/javascriptcore/stress/to-this-string.js new file mode 100644 index 0000000000..0d4f9b1c81 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-string.js @@ -0,0 +1,27 @@ +String.prototype.prefix = function (string) +{ + "use strict"; + // ToThis should be converted to Identity. + return string + this; +}; +noInline(String.prototype.prefix); + +String.prototype.first = function (string) +{ + return this.second(string); +}; + +String.prototype.second = function (string) +{ + // Duplicate ToThis(in first) should be converted to Identity. + return this + string; +}; +noInline(String.prototype.first); + + +for (var i = 0; i < 1e4; ++i) + String(i).prefix("Hello"); + + +for (var i = 0; i < 1e4; ++i) + String(i).first("Hello"); diff --git a/implementation-contributed/javascriptcore/stress/to-this-symbol.js b/implementation-contributed/javascriptcore/stress/to-this-symbol.js new file mode 100644 index 0000000000..e4520abcc4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/to-this-symbol.js @@ -0,0 +1,18 @@ +Symbol.prototype.identity = function () +{ + "use strict"; + return this; +}; +noInline(Symbol.prototype.identity); + +Symbol.prototype.identity2 = function () +{ + "use strict"; + return this; +}; + +for (var i = 1; i < 1e4; ++i) + Symbol.prototype.identity.call(Symbol(i)); + +for (var i = 1; i < 1e4; ++i) + Symbol.prototype.identity2.call(Symbol(i)); diff --git a/implementation-contributed/javascriptcore/stress/toprimitive-speculated-types.js b/implementation-contributed/javascriptcore/stress/toprimitive-speculated-types.js new file mode 100644 index 0000000000..3a18a19141 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/toprimitive-speculated-types.js @@ -0,0 +1,27 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + JSON.stringify(actual)); +} + +function raw(array) { + var result = ''; + for (var i = 0; i < array.length; ++i) { + result += array[i]; + } + return result; +} + +function Counter() { + return { + count: 0, + toString() { + // Return a number even if the "toString" method. + return this.count++; + } + }; +} + +for (var i = 0; i < 10000; ++i) { + var c = Counter(); + shouldBe(raw([c, c]), "01"); +} diff --git a/implementation-contributed/javascriptcore/stress/trailing-comma-in-function-parameters.js b/implementation-contributed/javascriptcore/stress/trailing-comma-in-function-parameters.js new file mode 100644 index 0000000000..7da381fe45 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/trailing-comma-in-function-parameters.js @@ -0,0 +1,63 @@ +function test(result, expected, message) { + if (result !== expected) + throw "Error: " + message + ". was: " + result + " wanted: " + expected; +} + +function evalWithThrow(text) { + var result; + try { + result = eval(text); + } catch (error) { + return error.toString(); + } + return result; +} + +test(evalWithThrow('typeof function(,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Expected a parameter pattern or a \')\' in parameter list.'); +test(evalWithThrow('typeof function(a,,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Expected a parameter pattern or a \')\' in parameter list.'); +test(evalWithThrow('function a(a, ...last,){ return; }'), 'SyntaxError: Unexpected token \',\'. Rest parameter should be the last parameter in a function declaration.'); +test(eval('typeof function(a,){ return a; }'), 'function'); +test(eval('typeof function(a, b,){ return a + b; }'), 'function'); +test(eval('typeof function(a, b, c, ){ return a + b + c; }'), 'function'); + +test(evalWithThrow('typeof ((,)=>{ return a; })'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('typeof ((a,,)=>{ return a; })'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('typeof ((a, ...last,)=>{ return a; })'), 'SyntaxError: Unexpected token \'...\''); +test(eval('typeof ((a,)=>{ return a; })'), 'function'); +test(eval('typeof ((a, b,)=>{ return a + b; })'), 'function'); +test(eval('typeof ((a, b, c)=>{ return a + b + c; })'), 'function'); + +test(evalWithThrow('typeof ((,)=>a)'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('typeof ((a,,)=>a)'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('(a,...last,)=>0;'), 'SyntaxError: Unexpected token \'...\''); +test(eval('typeof ((a,)=>a)'), 'function'); +test(eval('typeof ((a, b,)=>a + b)'), 'function'); +test(eval('typeof ((a, b, c)=>a + b + c)'), 'function'); + +test(evalWithThrow('typeof ((,)=>a)'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('typeof ((a,,)=>a)'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('(a,...last,)=>0;'), 'SyntaxError: Unexpected token \'...\''); +test(eval('typeof ((a,)=>a)'), 'function'); +test(eval('typeof ((a, b,)=>a + b)'), 'function'); +test(eval('typeof ((a, b, c)=>a + b + c)'), 'function'); + +test(evalWithThrow('typeof function(a = "x0",,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Expected a parameter pattern or a \')\' in parameter list.'); +test(evalWithThrow('typeof function(a = "x0",...last,){ return a; }'), 'SyntaxError: Unexpected token \',\'. Rest parameter should be the last parameter in a function declaration.'); +test(eval('typeof function(a = "x0",){ return a; }'), 'function'); +test(eval('typeof function(a = "x1", b = "y1",){ return a + b; }'), 'function'); +test(eval('typeof function(a = "x2", b = "y2", c = "z3"){ return a + b + c; }'), 'function'); + +test(evalWithThrow('(function(a){ return a; })(,)'), 'SyntaxError: Unexpected token \',\''); +test(evalWithThrow('(function(a){ return a; })("A",,)'), 'SyntaxError: Unexpected token \',\''); +test(eval('(function(a){ return a; })("A",)'), 'A'); +test(eval('(function(a, b,){ return a + b; })("A", "B",)'), 'AB'); +test(eval('(function(a, b, c){ return a + b + c; })("A", "B", "C",)'), 'ABC'); + +test(eval('(function(a){ return arguments.length; })("A",)'), 1); +test(eval('(function(a, b,){ return arguments.length; })("A", "B",)'), 2); +test(eval('(function(a, b, c){ return arguments.length; })("A", "B", "C",)'), 3); +test(eval('(function(a,) { }).length'), 1); +test(eval('(function(a, b, ) { }).length'), 2); +test(eval('(function(a, b, c, ) { }).length'), 3); + + diff --git a/implementation-contributed/javascriptcore/stress/trailing-comma-in-patterns.js b/implementation-contributed/javascriptcore/stress/trailing-comma-in-patterns.js new file mode 100644 index 0000000000..7353e90c2d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/trailing-comma-in-patterns.js @@ -0,0 +1,157 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function iterator(array) { + var nextCount = 0; + var returnCount = 0; + var original = array.values(); + return { + [Symbol.iterator]() { + return this; + }, + + next() { + ++nextCount; + return original.next(); + }, + + return() { + ++returnCount; + return { done: true }; + }, + + reportNext() { + return nextCount; + }, + + reportReturn() { + return returnCount; + } + }; +}; + +(function () { + var iter = iterator([1, 2, 3]); + var [] = iter; + shouldBe(iter.reportNext(), 0); + shouldBe(iter.reportReturn(), 1); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [,] = iter; + shouldBe(iter.reportNext(), 1); + shouldBe(iter.reportReturn(), 1); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [,,] = iter; + shouldBe(iter.reportNext(), 2); + shouldBe(iter.reportReturn(), 1); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [,,,] = iter; + shouldBe(iter.reportNext(), 3); + shouldBe(iter.reportReturn(), 1); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [,,,,] = iter; + shouldBe(iter.reportNext(), 4); + shouldBe(iter.reportReturn(), 0); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [,,,,,] = iter; + shouldBe(iter.reportNext(), 4); + shouldBe(iter.reportReturn(), 0); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [,a,] = iter; + shouldBe(iter.reportNext(), 2); + shouldBe(iter.reportReturn(), 1); + shouldBe(a, 2); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [a,] = iter; + shouldBe(iter.reportNext(), 1); + shouldBe(iter.reportReturn(), 1); + shouldBe(a, 1); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [a,,] = iter; + shouldBe(iter.reportNext(), 2); + shouldBe(iter.reportReturn(), 1); + shouldBe(a, 1); +}()); + +(function () { + var iter = iterator([1, 2, 3]); + var [a,b = 42,] = iter; + shouldBe(iter.reportNext(), 2); + shouldBe(iter.reportReturn(), 1); + shouldBe(a, 1); + shouldBe(b, 2); +}()); + +(function () { + var {} = { Cocoa: 15, Cappuccino: 13 }; +}()); + +(function () { + var {Cocoa,} = { Cocoa: 15, Cappuccino: 13 }; + shouldBe(Cocoa, 15); +}()); + +(function () { + var {Cocoa = 'Cocoa',} = { Cocoa: 15, Cappuccino: 13 }; + shouldBe(Cocoa, 15); +}()); + +(function () { + var {Cocoa, Kilimanjaro = 'Coffee'} = { Cocoa: 15, Cappuccino: 13 }; + shouldBe(Cocoa, 15); + shouldBe(Kilimanjaro, 'Coffee'); +}()); + +(function () { + var {Cocoa, Kilimanjaro = 'Coffee'} = {}; + shouldBe(Cocoa, undefined); + shouldBe(Kilimanjaro, 'Coffee'); +}()); + +(function () { + var {Cocoa, Kilimanjaro = 'Coffee',} = { Cocoa: 15, Cappuccino: 13 }; + shouldBe(Cocoa, 15); + shouldBe(Kilimanjaro, 'Coffee'); +}()); + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(String.raw`var {,} = {Cocoa: 15}`, String.raw`SyntaxError: Unexpected token ','. Expected a property name.`); +testSyntaxError(String.raw`var {,} = {}`, String.raw`SyntaxError: Unexpected token ','. Expected a property name.`); diff --git a/implementation-contributed/javascriptcore/stress/tricky-array-bounds-checks.js b/implementation-contributed/javascriptcore/stress/tricky-array-bounds-checks.js new file mode 100644 index 0000000000..699f350b63 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tricky-array-bounds-checks.js @@ -0,0 +1,28 @@ +function foo(a, i, p) { + if (p || !$vm.dfgTrue()) + return [$vm.dfgTrue(), a[(i - ($vm.dfgTrue() ? 2147483646 : 0)) | 0], a[i], a[(i + ($vm.dfgTrue() ? 2147483646 : 0)) | 0], $vm.dfgTrue()]; + return [12]; +} + +noInline(foo); + +function arraycmp(a, b) { + if (a.length != b.length) + return false; + for (var i = 0; i < a.length; ++i) { + if (a[i] != b[i]) + return false; + } + return true; +} + +for (var i = 0; i < 100000; ++i) { + var result = foo([42], 0, false); + if (!arraycmp(result, [false, 42, 42, 42, false]) && !arraycmp(result, [12])) + throw "Error: bad result for i = " + i + ": " + result; +} + +var result = foo([1, 2, 3, 4, 5], -2147483646, true); +if (!arraycmp(result, [true, 5, void 0, void 0, false]) + && !arraycmp(result, [false, void 0, void 0, void 0, false])) + throw "Error: bad result for trick: " + result; diff --git a/implementation-contributed/javascriptcore/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js b/implementation-contributed/javascriptcore/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js new file mode 100644 index 0000000000..4b526a1580 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tricky-indirectly-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js @@ -0,0 +1,36 @@ +var count = 0; + +function bar(f) { + if (++count < 10) + return; + count = 0; + throw f; +} + +noInline(bar); + +function fuzz(a) { + return a != true; +} + +function foo(a) { + var x = a + 1; + var y = a + 2; + var f = (function() { return x; }); + while (fuzz(y)) { + bar(f); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js b/implementation-contributed/javascriptcore/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js new file mode 100644 index 0000000000..f69d064043 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tricky-inferred-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js @@ -0,0 +1,33 @@ +var count = 0; + +function bar(f) { + if (++count < 10) + return; + count = 0; + throw f; +} + +noInline(bar); + +var shouldContinue = true; + +function foo(a) { + var x = a + 1; + var f = (function() { return x; }); + while (shouldContinue) { + bar(f); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js b/implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js new file mode 100644 index 0000000000..5b481e5c37 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables-and-creates-the-activation-outside-the-loop.js @@ -0,0 +1,31 @@ +var count = 0; + +function bar(f) { + if (++count < 10) + return; + count = 0; + throw f; +} + +noInline(bar); + +function foo(a) { + var x = a + 1; + var f = (function() { return x; }); + for (;;) { + bar(f); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables.js b/implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables.js new file mode 100644 index 0000000000..3f79f07fec --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/tricky-infinite-loop-that-uses-captured-variables.js @@ -0,0 +1,30 @@ +var count = 0; + +function bar(f) { + if (++count < 10) + return; + count = 0; + throw f; +} + +noInline(bar); + +function foo(a) { + var x = a + 1; + for (;;) { + bar(function() { return x; }); + } +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + try { + foo(i); + } catch (f) { + var result = f(); + if (result != i + 1) + throw "Error: bad result for i = " + i + ": " + result; + } +} + diff --git a/implementation-contributed/javascriptcore/stress/trim.js b/implementation-contributed/javascriptcore/stress/trim.js new file mode 100644 index 0000000000..2b1d1fd516 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/trim.js @@ -0,0 +1,53 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function startTest(string, expected) { + shouldBe(string.trimStart(), expected); + shouldBe(string.trimLeft(), expected); +} + +function endTest(string, expected) { + shouldBe(string.trimEnd(), expected); + shouldBe(string.trimRight(), expected); +} + +function trimTest(string, expected) { + shouldBe(string.trim(), expected); +} + +startTest(` Hello `, `Hello `); +endTest(` Hello `, ` Hello`); +trimTest(` Hello `, `Hello`); + +startTest(` 日本語 `, `日本語 `); +endTest(` 日本語 `, ` 日本語`); +trimTest(` 日本語 `, `日本語`); + +startTest(`Hello`, `Hello`); +endTest(`Hello`, `Hello`); +trimTest(`Hello`, `Hello`); + +startTest(`日本語`, `日本語`); +endTest(`日本語`, `日本語`); +trimTest(`日本語`, `日本語`); + +startTest(``, ``); +endTest(``, ``); +trimTest(``, ``); + +startTest(` `, ``); +endTest(` `, ``); +trimTest(` `, ``); + +startTest(` A`, `A`); +endTest(` A`, ` A`); +trimTest(` A`, `A`); + +startTest(`A `, `A `); +endTest(`A `, `A`); +trimTest(`A `, `A`); + +shouldBe(String.prototype.trimStart, String.prototype.trimLeft); +shouldBe(String.prototype.trimEnd, String.prototype.trimRight); diff --git a/implementation-contributed/javascriptcore/stress/trivially-foldable-reflective-arguments-access.js b/implementation-contributed/javascriptcore/stress/trivially-foldable-reflective-arguments-access.js new file mode 100644 index 0000000000..1d21c8520f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/trivially-foldable-reflective-arguments-access.js @@ -0,0 +1,15 @@ +function foo() { + return arguments[0]; +} + +function bar(x) { + return foo(x); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) { + var result = bar(42); + if (result != 42) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/try-catch-custom-getter-as-get-by-id.js b/implementation-contributed/javascriptcore/stress/try-catch-custom-getter-as-get-by-id.js new file mode 100644 index 0000000000..fe7d5c4c7a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-catch-custom-getter-as-get-by-id.js @@ -0,0 +1,55 @@ +var createCustomGetterObject = $vm.createCustomGetterObject; + +function assert(b) { + if (!b) throw new Error("b"); +} +noInline(assert); + +let i; +var o1 = createCustomGetterObject(); +o1.shouldThrow = false; + +var o2 = { + customGetter: 40 +} + +var o3 = { + x: 100, + customGetter: 50 +} + +i = -1000; +bar(i); +foo(i); +function bar(i) { + if (i === -1000) + return o1; + + if (i % 2) + return o3; + else + return o2; +} +noInline(bar); + +function foo(i) { + var o = bar(i); + var v; + try { + v = o.customGetter; + } catch(e) { + assert(o === o1); + } +} +noInline(foo); + +foo(i); +for (i = 0; i < 1000; i++) + foo(i); + +i = -1000; +for (let j = 0; j < 1000; j++) { + if (j > 10) + o1.shouldThrow = true; + foo(i); +} diff --git a/implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id-register-restoration.js b/implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id-register-restoration.js new file mode 100644 index 0000000000..77eb156f58 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id-register-restoration.js @@ -0,0 +1,57 @@ +function assert(b) { + if (!b) throw new Error("bad value"); +} +noInline(assert); + +let i; +var o1 = { + get f() { + if (i === -1000) + throw new Error("hello"); + return 20; + }, + x: "x" +}; + +var o2 = { + f: 40 +} + +var o3 = { + x: 100, + f: "f" +} + +function bar(i) { + if (i === -1000) + return o1; + + if (i % 2) + return o3; + else + return o2; +} +noInline(bar); + +function foo(i) { + var o = bar(i); + let v; + let v2; + let v3; + try { + v2 = o.x; + v = o.f; + } catch(e) { + assert(v2 === "x"); + assert(o === o1); + } +} +noInline(foo); + +foo(i); +for (i = 0; i < 1000; i++) + foo(i); + +i = -1000; +for (let j = 0; j < 1000; j++) + foo(i); diff --git a/implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id.js b/implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id.js new file mode 100644 index 0000000000..6e8fb59da3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-catch-getter-as-get-by-id.js @@ -0,0 +1,53 @@ +function assert(b) { + if (!b) throw new Error("b"); +} +noInline(assert); + + +let i; +var o1 = { + get f() { + if (i === -1000) + throw new Error("hello"); + return 20; + } +}; + +var o2 = { + f: 40 +} + +var o3 = { + x: 100, + f: 50 +} + +function bar(i) { + if (i === -1000) + return o1; + + if (i % 2) + return o3; + else + return o2; +} +noInline(bar); + +function foo(i) { + var o = bar(i); + var v; + try { + v = o.f + } catch(e) { + assert(o === o1); + } +} +noInline(foo); + +foo(i); +for (i = 0; i < 1000; i++) + foo(i); + +i = -1000; +for (let j = 0; j < 1000; j++) + foo(i); diff --git a/implementation-contributed/javascriptcore/stress/try-catch-setter-as-put-by-id.js b/implementation-contributed/javascriptcore/stress/try-catch-setter-as-put-by-id.js new file mode 100644 index 0000000000..265c719723 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-catch-setter-as-put-by-id.js @@ -0,0 +1,54 @@ +function assert(b) { + if (!b) + throw new Error("bad assertion"); +} +noInline(assert); + + +let i; +var o1 = { + set f(v) { + if (i === -1000) + throw new Error("hello"); + this._v = v; + } +}; + +var o2 = { + f: 40 +} + +var o3 = { + x: 100, + f: 50 +} + +function bar(i) { + if (i === -1000) + return o1; + + if (i % 2) + return o3; + else + return o2; +} +noInline(bar); + +function foo(i) { + let o = bar(i); + let v = o.x; + try { + o.f = v; + } catch(e) { + assert(o === o1); + } +} +noInline(foo); + +foo(i); +for (i = 0; i < 1000; i++) + foo(i); + +i = -1000; +for (let j = 0; j < 1000; j++) + foo(i); diff --git a/implementation-contributed/javascriptcore/stress/try-catch-stub-routine-replaced.js b/implementation-contributed/javascriptcore/stress/try-catch-stub-routine-replaced.js new file mode 100644 index 0000000000..db164088b9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-catch-stub-routine-replaced.js @@ -0,0 +1,87 @@ +// The main purpose of this test is to ensure that +// we will re-use no longer in use CallSiteIndices for +// inline cache stubs. See relevant code in destructor +// which calls: +// DFG::CommonData::removeCallSiteIndex(.) +// CodeBlock::removeExceptionHandlerForCallSite(.) +// Which add old call site indices to a free list. + +function assert(b) { + if (!b) + throw new Error("bad value"); +} +noInline(assert); + +var arr = [] +function allocate() { + for (var i = 0; i < 10000; i++) + arr.push({}); +} + +function hello() { return 20; } +noInline(hello); + +let __jaz = {}; +function jazzy() { + return __jaz; +} +noInline(jazzy); + +function foo(o) { + let baz = hello(); + let jaz = jazzy(); + let v; + try { + v = o.f; + v = o.f; + v = o.f; + } catch(e) { + assert(baz === 20); + assert(jaz === __jaz); + assert(v === 2); // Really flagCount. + } + return v; +} +noInline(foo); + +var objChain = {f: 40}; +var fakeOut = {x: 30, f: 100}; +for (let i = 0; i < 1000; i++) + foo(i % 2 ? objChain : fakeOut); + +var i; +var flag = "flag"; +var flagCount = 0; +objChain = { + get f() { + if (flagCount === 2) + throw new Error("I'm testing you."); + if (i === flag) + flagCount++; + return flagCount; + } +}; +for (i = 0; i < 100; i++) { + allocate(); + if (i === 99) + i = flag; + foo(objChain); +} + +fakeOut = {x: 30, get f() { return 100}}; +for (i = 0; i < 100; i++) { + allocate(); + if (i === 99) + i = flag; + foo(fakeOut); +} + +var o = { + get f() { + return flagCount; + }, + x: 100 +}; + +for (i = 0; i < 100; i++) + foo(o); diff --git a/implementation-contributed/javascriptcore/stress/try-get-by-id-poly-proto.js b/implementation-contributed/javascriptcore/stress/try-get-by-id-poly-proto.js new file mode 100644 index 0000000000..d73ef37e7c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-get-by-id-poly-proto.js @@ -0,0 +1,41 @@ +var createBuiltin = $vm.createBuiltin; +var loadGetterFromGetterSetter = $vm.loadGetterFromGetterSetter; + +function assert(b, m) { + if (!b) + throw new Error("Bad:" + m); +} + +function makePolyProtoObject() { + function foo() { + class C { + constructor() { this._field = 42; } + }; + return new C; + } + for (let i = 0; i < 15; ++i) + foo(); + return foo(); +} + +function tryGetByIdText(propertyName) { return `(function (base) { return @tryGetById(base, '${propertyName}'); })`; } +let getFoo = createBuiltin(tryGetByIdText("foo")); +let getBar = createBuiltin(tryGetByIdText("bar")); +let getNonExistentField = createBuiltin(tryGetByIdText("nonExistentField")); + +let x = makePolyProtoObject(); +x.__proto__ = { foo: 42, get bar() { return 22; } }; +let barGetter = Object.getOwnPropertyDescriptor(x.__proto__, "bar").get; +assert(typeof barGetter === "function"); +assert(barGetter() === 22); + +function validate(x) { + assert(getFoo(x) === 42); + assert(loadGetterFromGetterSetter(getBar(x)) === barGetter); + assert(getNonExistentField(x) === undefined); +} +noInline(validate); + +for (let i = 0; i < 1000; ++i) { + validate(x); +} diff --git a/implementation-contributed/javascriptcore/stress/try-get-by-id-should-spill-registers-dfg.js b/implementation-contributed/javascriptcore/stress/try-get-by-id-should-spill-registers-dfg.js new file mode 100644 index 0000000000..22507c1572 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-get-by-id-should-spill-registers-dfg.js @@ -0,0 +1,12 @@ +var createBuiltin = $vm.createBuiltin; + +let f = createBuiltin(`(function (arg) { + let r = @tryGetById(arg, "prototype"); + if (arg !== true) throw new @Error("Bad clobber of arg"); + return r; +})`); +noInline(f); + +for (let i = 0; i < 10000; i++) { + f(true); +} diff --git a/implementation-contributed/javascriptcore/stress/try-get-by-id.js b/implementation-contributed/javascriptcore/stress/try-get-by-id.js new file mode 100644 index 0000000000..5407eec169 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/try-get-by-id.js @@ -0,0 +1,175 @@ +var createBuiltin = $vm.createBuiltin; +var getGetterSetter = $vm.getGetterSetter; + +function tryGetByIdText(propertyName) { return `(function (base) { return @tryGetById(base, '${propertyName}'); })`; } + +function tryGetByIdTextStrict(propertyName) { return `(function (base) { "use strict"; return @tryGetById(base, '${propertyName}'); })`; } + +// Test get value off object. +{ + let get = createBuiltin(tryGetByIdText("caller")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("caller")); + noInline(getStrict); + + let obj = {caller: 1}; + + for (let i = 0; i < 100000; i++) { + if (get(obj) !== 1) + throw new Error("wrong on iteration: " + i); + if (getStrict(obj) !== 1) + throw new Error("wrong on iteration: " + i); + } +} + +// Test slot is custom function trap for a value. +{ + let get = createBuiltin(tryGetByIdText("caller")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("caller")); + noInline(getStrict); + + let func = function () {}; + + for (let i = 0; i < 100000; i++) { + if (get(func) !== null) + throw new Error("wrong on iteration: " + i); + if (getStrict(func) !== null) + throw new Error("wrong on iteration: " + i); + } +} + +// Test slot is a GetterSetter. +{ + let get = createBuiltin(tryGetByIdText("getterSetter")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("getterSetter")); + noInline(getStrict); + + let obj = {}; + Object.defineProperty(obj, "getterSetter", { get: function () { throw new Error("should not be called"); } }); + + for (let i = 0; i < 100000; i++) { + if (get(obj) !== getGetterSetter(obj, "getterSetter")) + throw new Error("wrong on iteration: " + i); + if (getStrict(obj) !== getGetterSetter(obj, "getterSetter")) + throw new Error("wrong on iteration: " + i); + } +} + +// Test slot is unset. +{ + let get = createBuiltin(tryGetByIdText("getterSetter")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("getterSetter")); + noInline(getStrict); + + let obj = {}; + + for (let i = 0; i < 100000; i++) { + if (get(obj) !== undefined) + throw new Error("wrong on iteration: " + i); + if (getStrict(obj) !== undefined) + throw new Error("wrong on iteration: " + i); + } +} + +// Test slot is on a proxy with value. +{ + let get = createBuiltin(tryGetByIdText("value")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("value")); + noInline(getStrict); + + let obj = {value: 1}; + let p = new Proxy(obj, { get: function() { throw new Error("should not be called"); } }); + + for (let i = 0; i < 100000; i++) { + if (get(p) !== null) + throw new Error("wrong on iteration: " + i); + if (getStrict(p) !== null) + throw new Error("wrong on iteration: " + i); + } +} + +// Test mutating inline cache. +{ + let get = createBuiltin(tryGetByIdText("caller")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("caller")); + noInline(getStrict); + + let obj = {caller : 1}; + let func = function() {}; + + for (let i = 0; i < 100000; i++) { + if (i % 100 === 0) { + if (get(func) !== null) + throw new Error("wrong on iteration: " + i); + if (getStrict(func) !== null) + throw new Error("wrong on iteration: " + i); + } else { + if (get(obj) !== 1) + throw new Error("wrong on iteration: " + i); + if (getStrict(obj) !== 1) + throw new Error("wrong on iteration: " + i); + } + } +} + +// Test new type on each iteration. +{ + let get = createBuiltin(tryGetByIdText("caller")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("caller")); + noInline(getStrict); + + let func = function() {}; + + for (let i = 0; i < 100000; i++) { + if (i % 100 === 0) { + if (get(func) !== null) + throw new Error("wrong on iteration: " + i); + if (getStrict(func) !== null) + throw new Error("wrong on iteration: " + i); + } else { + let obj = {caller : 1}; + if (get(obj) !== 1) + throw new Error("wrong on iteration: " + i); + if (getStrict(obj) !== 1) + throw new Error("wrong on iteration: " + i); + } + } +} + +// Test with array length. This is null because the value is not cacheable. +{ + let get = createBuiltin(tryGetByIdText("length")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("length")); + noInline(getStrict); + + let arr = []; + + for (let i = 0; i < 100000; i++) { + if (get(arr) !== null) + throw new Error("wrong on iteration: " + i); + if (getStrict(arr) !== null) + throw new Error("wrong on iteration: " + i); + } +} + +// Test with non-object. +{ + let get = createBuiltin(tryGetByIdText("length")); + noInline(get); + let getStrict = createBuiltin(tryGetByIdTextStrict("length")); + noInline(getStrict); + + for (let i = 0; i < 100000; i++) { + if (get(1) !== undefined) + throw new Error("wrong on iteration: " + i); + if (getStrict(1) !== undefined) + throw new Error("wrong on iteration: " + i); + } +} diff --git a/implementation-contributed/javascriptcore/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js b/implementation-contributed/javascriptcore/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js new file mode 100644 index 0000000000..56f1bc7417 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/type-check-hoisting-phase-hoist-check-structure-on-tdz-this-value.js @@ -0,0 +1,51 @@ +function __isPropertyOfType(obj, name, type) { + desc = Object.getOwnPropertyDescriptor(obj, name) + return typeof type === 'undefined' || typeof desc.value === type; +} +function __getProperties(obj, type) { + let properties = []; + for (let name of Object.getOwnPropertyNames(obj)) { + if (__isPropertyOfType(obj, name, type)) properties.push(name); + } + let proto = Object.getPrototypeOf(obj); + while (proto && proto != Object.prototype) { + Object.getOwnPropertyNames(proto).forEach(name => { + }); + proto = Object.getPrototypeOf(proto); + } + return properties; +} +function* __getObjects(root = this, level = 0) { + if (level > 4) return; + let obj_names = __getProperties(root, 'object'); + for (let obj_name of obj_names) { + let obj = root[obj_name]; + yield* __getObjects(obj, level + 1); + } +} +function __getRandomObject() { + for (let obj of __getObjects()) { + } +} +var theClass = class { + constructor() { + if (242487 != null && typeof __getRandomObject() == "object") try { + } catch (e) {} + } +}; +var childClass = class Class extends theClass { + constructor() { + var arrow = () => { + try { + super(); + } catch (e) {} + this.idValue + }; + arrow()()(); + } +}; +for (var counter = 0; counter < 1000; counter++) { + try { + new childClass(); + } catch (e) {} +} diff --git a/implementation-contributed/javascriptcore/stress/type-of-functions-and-objects.js b/implementation-contributed/javascriptcore/stress/type-of-functions-and-objects.js new file mode 100644 index 0000000000..9363158e44 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/type-of-functions-and-objects.js @@ -0,0 +1,86 @@ +function foo(v) { + return typeof v; +} + +function bar(v) { + switch (typeof v) { + case "object": + return 1; + case "function": + return 2; + default: + return 3; + } +} + +function baz(v) { + return typeof v == "function"; +} + +function fuzz(v) { + return typeof v == "object"; +} + +noInline(foo); +noInline(bar); +noInline(baz); +noInline(fuzz); + +function test() { + var errors = []; + + function testValue(v, expected) { + function expect(f, expected) { + var result = f(v); + if (result != expected) + errors.push(f.name + "(" + v + ") returned " + result + " instead of " + expected); + } + + switch (expected) { + case "function": + expect(foo, "function"); + expect(bar, 2); + expect(baz, true); + expect(fuzz, false); + break; + case "object": + expect(foo, "object"); + expect(bar, 1); + expect(baz, false); + expect(fuzz, true); + break; + case "other": + var result = foo(v); + if (result == "object" || result == "function") + errors.push("foo(" + v + ") returned " + result + " but expected something other than object or function"); + expect(bar, 3); + expect(baz, false); + expect(fuzz, false); + break; + default: + throw "Bad expected case"; + } + } + + testValue({}, "object"); + testValue(function() { }, "function"); + testValue("hello", "other"); + testValue(42, "other"); + testValue(null, "object"); + testValue(void 0, "other"); + testValue(42.5, "other"); + testValue(Map, "function"); + testValue(Date, "function"); + testValue(Map.prototype, "object"); + + if (!errors.length) + return; + + for (var i = 0; i < errors.length; ++i) + print("Error: " + errors[i]); + throw "Encountered errors during test run."; +} + +for (var i = 0; i < 10000; ++i) + test(); + diff --git a/implementation-contributed/javascriptcore/stress/typed-array-byte-offset.js b/implementation-contributed/javascriptcore/stress/typed-array-byte-offset.js new file mode 100644 index 0000000000..39d3cf2da6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typed-array-byte-offset.js @@ -0,0 +1,17 @@ +function foo(array) { + return array.byteOffset; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(new Int32Array(100)); + if (result != 0) + throw "Error: bad result for fast typed array: " + result; + result = foo(new Int32Array(100000)); + if (result != 0) + throw "Error: bad result for big typed array: " + result; + result = foo(new Int32Array(new ArrayBuffer(100), 4, 1)); + if (result != 4) + throw "Error: bad result for wasteful typed array: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/typed-array-get-by-val-profiling.js b/implementation-contributed/javascriptcore/stress/typed-array-get-by-val-profiling.js new file mode 100644 index 0000000000..f0ea641010 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typed-array-get-by-val-profiling.js @@ -0,0 +1,91 @@ +function testArray(arrayType) +{ + var testCode = + ` + // We make this look like a polymorphic types for incomingObject but the GetByVal are never actually + // polymorphic. The boolean isTypedArray let us differentiate the types. + function ${ arrayType }AndObjectSpeculationInBounds(incomingObject, iterationLength, isTypedArray) { + var output = 0; + output += incomingObject.length; + + if (isTypedArray) { + for (var i = 0; i < iterationLength; ++i) { + output += incomingObject[i]; + } + } else { + for (var i = 0; i < iterationLength; ++i) { + output += incomingObject[i]; + } + } + return output; + } + noInline(${ arrayType }AndObjectSpeculationInBounds); + + var typedArray = new ${ arrayType }(64); + var regularArray = new Array(64); + for (var i = 0; i < 64; ++i) { + typedArray[i] = i; + regularArray[i] = i; + } + + // Access in bounds. + for (var i = 0; i < 1e4; ++i) { + var output = ${ arrayType }AndObjectSpeculationInBounds(typedArray, 64, true); + if (output !== 32 * 65) + throw "${ arrayType }AndObjectSpeculationInBounds(typedArray, 64, true) failed, value = " + output; + + var output = ${ arrayType }AndObjectSpeculationInBounds(regularArray, 64, false); + if (output !== 32 * 65) + throw "${ arrayType }AndObjectSpeculationInBounds(regularArray, 64, false) failed, value = " + output; + } + + // One out of bounds on top of the in bounds profile. + { + var output = ${ arrayType }AndObjectSpeculationInBounds(typedArray, 128, true); + if (output === output) + throw "${ arrayType }AndObjectSpeculationInBounds(typedArray, 128, true) failed, value = " + output; + + var output = ${ arrayType }AndObjectSpeculationInBounds(regularArray, 128, false); + if (output === output) + throw "${ arrayType }AndObjectSpeculationInBounds(regularArray, 128, false) failed, value = " + output; + } + + // Same but here we make out-of-bounds a normal case. + function ${ arrayType }AndObjectSpeculationOutOfBounds(incomingObject, iterationLength, isTypedArray) { + var output = 0; + output += incomingObject.length; + + if (isTypedArray) { + for (var i = 0; i < iterationLength; ++i) { + output += incomingObject[i]|0; + } + } else { + for (var i = 0; i < iterationLength; ++i) { + output += incomingObject[i]|0; + } + } + return output; + } + noInline(${ arrayType }AndObjectSpeculationOutOfBounds); + + for (var i = 0; i < 1e4; ++i) { + var output = ${ arrayType }AndObjectSpeculationOutOfBounds(typedArray, 128, true); + if (output !== 32 * 65) + throw "${ arrayType }AndObjectSpeculationOutOfBounds(typedArray, 128, true) failed, value = " + output; + + var output = ${ arrayType }AndObjectSpeculationOutOfBounds(regularArray, 128, false); + if (output !== 32 * 65) + throw "${ arrayType }AndObjectSpeculationOutOfBounds(regularArray, 128, false) failed, value = " + output; + }` + eval(testCode); +} + +testArray("Int8Array"); +testArray("Uint8Array"); +testArray("Uint8ClampedArray"); +testArray("Int16Array"); +testArray("Uint16Array"); +testArray("Int32Array"); +testArray("Uint32Array"); +testArray("Float32Array"); +testArray("Float64Array"); diff --git a/implementation-contributed/javascriptcore/stress/typed-array-put-by-val-profiling.js b/implementation-contributed/javascriptcore/stress/typed-array-put-by-val-profiling.js new file mode 100644 index 0000000000..9f70a23058 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typed-array-put-by-val-profiling.js @@ -0,0 +1,98 @@ +function testArray(arrayType) +{ + var testCode = + ` + function testOutOfBoundsValues(regularArray, typedArray) { + for (var i = 0; i < 16; ++i) { + var typedArrayValue = typedArray[i] + if (typedArrayValue !== i) { + throw "Failed ${ arrayType }AndObjectSpeculationInBounds, typedArrayValue = " + typedArrayValue + " for i = " + i; + } + var regularArrayValue = regularArray[i]; + if (regularArrayValue !== i) { + throw "Failed ${ arrayType }AndObjectSpeculationInBounds, regularArrayValue = " + regularArrayValue + " for i = " + i; + } + } + for (var i = 16; i < 24; ++i) { + var typedArrayValue = typedArray[i] + if (typedArrayValue !== undefined) { + throw "Failed ${ arrayType }AndObjectSpeculationInBounds, typedArrayValue = " + typedArrayValue + " for i = " + i; + } + var regularArrayValue = regularArray[i]; + if (regularArrayValue !== i) { + throw "Failed ${ arrayType }AndObjectSpeculationInBounds, regularArrayValue = " + regularArrayValue + " for i = " + i; + } + } + } + + // We make this look like a polymorphic types for incomingObject but the GetByVal are never actually + // polymorphic. The boolean isTypedArray let us differentiate the types. + function ${ arrayType }AndObjectSpeculationInBounds(incomingObject, iterationLength, isTypedArray) { + if (isTypedArray) { + for (var i = 0; i < iterationLength; ++i) { + incomingObject[i] = i; + } + } else { + for (var i = 0; i < iterationLength; ++i) { + incomingObject[i] = i; + } + } + } + noInline(${ arrayType }AndObjectSpeculationInBounds); + + var typedArray = new ${ arrayType }(16); + var regularArray = new Array(16); + + // Access in bounds. + for (var i = 0; i < 1e4; ++i) { + ${ arrayType }AndObjectSpeculationInBounds(regularArray, 16, false); + ${ arrayType }AndObjectSpeculationInBounds(typedArray, 16, true); + } + for (var i = 0; i < 16; ++i) { + var typedArrayValue = typedArray[i] + if (typedArrayValue !== i) { + throw "Failed ${ arrayType }AndObjectSpeculationInBounds, typedArrayValue = " + typedArrayValue + " for i = " + i; + } + var regularArrayValue = regularArray[i]; + if (regularArrayValue !== i) { + throw "Failed ${ arrayType }AndObjectSpeculationInBounds, regularArrayValue = " + regularArrayValue + " for i = " + i; + } + } + + // One "out of bounds" on top of the in bounds profile. + ${ arrayType }AndObjectSpeculationInBounds(regularArray, 24, false); + ${ arrayType }AndObjectSpeculationInBounds(typedArray, 24, true); + testOutOfBoundsValues(regularArray, typedArray); + + // Same but here we make out-of-bounds a normal case. + function ${ arrayType }AndObjectSpeculationOutOfBounds(incomingObject, iterationLength, isTypedArray) { + if (isTypedArray) { + for (var i = 0; i < iterationLength; ++i) { + incomingObject[i] = i; + } + } else { + for (var i = 0; i < iterationLength; ++i) { + incomingObject[i] = i; + } + } + } + noInline(${ arrayType }AndObjectSpeculationOutOfBounds); + + var typedArray = new ${ arrayType }(16); + var regularArray = new Array(16); + for (var i = 0; i < 1e4; ++i) { + ${ arrayType }AndObjectSpeculationInBounds(regularArray, 24, false); + ${ arrayType }AndObjectSpeculationInBounds(typedArray, 24, true); + }` + eval(testCode); +} + +testArray("Int8Array"); +testArray("Uint8Array"); +testArray("Uint8ClampedArray"); +testArray("Int16Array"); +testArray("Uint16Array"); +testArray("Int32Array"); +testArray("Uint32Array"); +testArray("Float32Array"); +testArray("Float64Array"); diff --git a/implementation-contributed/javascriptcore/stress/typed-array-view-set-should-not-crash-on-exception.js b/implementation-contributed/javascriptcore/stress/typed-array-view-set-should-not-crash-on-exception.js new file mode 100644 index 0000000000..2e3d1c90b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typed-array-view-set-should-not-crash-on-exception.js @@ -0,0 +1,27 @@ +//@ runFTLNoCJIT +// This test passes if it does not crash. + +function shouldEqual(testId, actual, expected) { + if (actual != expected) { + throw testId + ": ERROR: expect " + expected + ", actual " + actual; + } +} + +arr = new Array; + +Object.defineProperty(arr, 1, { + configurable: true, enumerable: true, + get: Date.prototype.getSeconds, +}); + +typedArray = new Float64Array(16); +typedArray[0] = 0; + +var exception = undefined; +try { + typedArray.set(arr, 0); +} catch (e) { + exception = e; +} + +shouldEqual(10000, exception, "TypeError: Type error"); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-access-monomorphic-neutered.js b/implementation-contributed/javascriptcore/stress/typedarray-access-monomorphic-neutered.js new file mode 100644 index 0000000000..009e5bf29f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-access-monomorphic-neutered.js @@ -0,0 +1,54 @@ +typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + + +function check(array, thunk, count) { + let failed = true; + try { + thunk(array, count); + } catch(e) { + if (e != "TypeError: Underlying ArrayBuffer has been detached from the view") + throw new Error([thunk, count, e]); + failed = false; + } + if (failed) + throw new Error([thunk, count]); +} +noInline(check); + +function test(thunk, array) { + let fn = Function("array", "i", thunk); + noInline(fn); + for (let i = 0; i < 10000; i++) + check(array, fn, i); +} + +for (let constructor of typedArrays) { + let array = new constructor(10); + transferArrayBuffer(array.buffer); + test("array[0]", array); + test("delete array[0]", array); + test("Object.getOwnPropertyDescriptor(array, 0)", array); + test("Object.defineProperty(array, 0, { value: 1, writable: true, configurable: false, enumerable: true })", array); + test("array[0] = 1", array); + test("array[i] = 1", array); +} + +function testFTL(thunk, array, failArray) { + let fn = Function("array", "i", thunk); + noInline(fn); + for (let i = 0; i < 10000; i++) + fn(array, i) + check(failArray, fn, 10000); +} + +for (let constructor of typedArrays) { + let array = new constructor(10); + let failArray = new constructor(10); + transferArrayBuffer(failArray.buffer); + testFTL("array[0]", array, failArray); + testFTL("delete array[0]", array, failArray); + testFTL("Object.getOwnPropertyDescriptor(array, 0)", array, failArray); + testFTL("Object.defineProperty(array, 0, { value: 1, writable: true, configurable: false, enumerable: true })", array, failArray); + testFTL("array[0] = 1", array, failArray); + testFTL("array[i] = 1", array, failArray); +} diff --git a/implementation-contributed/javascriptcore/stress/typedarray-access-neutered.js b/implementation-contributed/javascriptcore/stress/typedarray-access-neutered.js new file mode 100644 index 0000000000..7a64211b77 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-access-neutered.js @@ -0,0 +1,30 @@ +typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + + +function check(thunk, count) { + let array = new constructor(10); + transferArrayBuffer(array.buffer); + let failed = true; + try { + thunk(array); + } catch(e) { + if (e != "TypeError: Underlying ArrayBuffer has been detached from the view") + throw new Error([thunk, count, e]); + failed = false; + } + if (failed) + throw new Error([thunk, count]); +} + +function test(thunk, count) { + for (constructor of typedArrays) + check(thunk, count); +} + +for (let i = 0; i < 10000; i++) { + test((array) => array[0], i); + test((array) => delete array[0], i); + test((array) => Object.getOwnPropertyDescriptor(array, 0), i); + test((array) => Object.defineProperty(array, 0, { value: 1, writable: true, configurable: false, enumerable: true }), i) + test((array) => array[0] = 1, i); +} diff --git a/implementation-contributed/javascriptcore/stress/typedarray-add-property-to-base-object.js b/implementation-contributed/javascriptcore/stress/typedarray-add-property-to-base-object.js new file mode 100644 index 0000000000..f8e2760615 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-add-property-to-base-object.js @@ -0,0 +1,21 @@ +// This tests that we don't fast path intrinsics when they should not be fast pathed. Currently, +// that means that we don't inline length and byteLength when they are "connected" to a TypedArray. + +(function body() { + function foo(a) { + return a.length + a.byteLength + a.byteOffset; + } + + let array = new Int32Array(10); + + for (let i = 0; i < 100000; i++) + foo(array); + + + Object.defineProperty(array, "length", { value: 0 }); + Object.defineProperty(array, "byteLength", { value: 0 }); + Object.defineProperty(array, "byteOffset", { value: 0 }); + + if (foo(array) !== 0) + throw "wrong number!"; +})(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-bad-getter.js b/implementation-contributed/javascriptcore/stress/typedarray-bad-getter.js new file mode 100644 index 0000000000..c75f4a88f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-bad-getter.js @@ -0,0 +1,36 @@ +// This tests that we don't fast path intrinsics when they should not be fast pathed. Currently, +// that means that we don't inline length, byteLength, and byteOffset when they are called +// from a non-TypedArray. + +(function body() { + function foo(a) { + return a.length + a.byteLength + a.byteOffset; + } + noInline(foo); + + let proto = { } + + let properties = ["length", "byteLength", "byteOffset"]; + properties.map(function(name) { + let getter = Int32Array.prototype.__lookupGetter__(name); + Object.defineProperty(proto, name, { get : getter }); + }); + + function Bar() { + return this; + } + + Bar.prototype = proto; + let bar = new Bar(); + + let noThrow = false; + for (let i = 0; i < 100000; i++) { + try { + foo(bar); + noThrow = true + } catch (e) { + } + if (noThrow) + throw "broken"; + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-configure-index.js b/implementation-contributed/javascriptcore/stress/typedarray-configure-index.js new file mode 100644 index 0000000000..e82de0bdf6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-configure-index.js @@ -0,0 +1,57 @@ +typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +function assert(cond) { + if (!cond) + throw new Error("bad assertion!"); +} + +function assertThrows(thunk, error) { + let failed = true; + try { + thunk(); + } catch (e) { + if (error && e != error) + throw new Error("bad assertion!"); + failed = false; + } + if (failed) + throw new Error("bad assertion!"); +} + +function makeDescriptor(accessor, configurable, writable, enumerable) { + let o = {writable, configurable, enumerable} + if (accessor) + o.get = () => 1; + else + o.value = 1; + return o; +} + +let bools = [true, false]; + +function test(array, a, c, error ) { + for (w of bools) { + for (e of bools) { + assertThrows(() => Object.defineProperty(a, 0, makeDescriptor(a, c, w, e), error)); + } + } +} + +function foo() { + for (constructor of typedArrays) { + let a = new constructor(10); + Object.defineProperty(a, 0, makeDescriptor(false, false, true, true)); + assert(a[0] === 1); + assertThrows(() => Object.defineProperty(a, 0, makeDescriptor(false, false, true, false), "TypeError: Attempting to store non-enumerable or non-writable indexed property on a typed array.")); + assertThrows(() => Object.defineProperty(a, 0, makeDescriptor(false, false, false, false), "TypeError: Attempting to store non-enumerable or non-writable indexed property on a typed array.")); + assertThrows(() => Object.defineProperty(a, 0, makeDescriptor(false, false, false, true), "TypeError: Attempting to store non-enumerable or non-writable indexed property on a typed array.")); + + test(a, false, true, "TypeError: Attempting to configure non-configurable property."); + for (c of bools) { + test(a, true, c, "TypeError: Attempting to store accessor indexed property on a typed array.") + } + } +} + +for (let i = 0; i < 100; i++) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-construct-iterator.js b/implementation-contributed/javascriptcore/stress/typedarray-construct-iterator.js new file mode 100644 index 0000000000..d1d80d5330 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-construct-iterator.js @@ -0,0 +1,66 @@ +// Test a bunch of things about typed array constructors with iterators. + +// Test that the dfg actually respects iterators. +let foo = [1,2,3,4]; + +function iterator() { + return { i: 0, + next: function() { + if (this.i < foo.length/2) { + return { done: false, + value: foo[this.i++] + }; + } + return { done: true }; + } + }; +} + +foo[Symbol.iterator] = iterator; + +(function body() { + + for (var i = 1; i < 100000; i++) { + if (new Int32Array(foo).length !== 2) + throw "iterator did not run"; + } + +})(); + +// Test that the optimizations used for iterators during construction is valid. + +foo = { 0:0, 1:1, 2:2, 3:3 }; +count = 4; +foo.__defineGetter__("length", function() { + return count--; +}); + +foo[Symbol.iterator] = Array.prototype[Symbol.iterator]; + +if (new Int32Array(foo).length !== 2) + throw "iterator did not run"; + +// Test that we handle length is unset... whoops. + +foo = { 0:0, 2:2, 3:3 }; + +if (new Int32Array(foo).length !== 0) + throw "did not handle object with unset length"; + +// Test that we handle prototypes with accessors. + +foo = { 0:0, 2:2, 3:3 }; +foo[Symbol.iterator] = Array.prototype[Symbol.iterator]; +foo.length = 4; +bar = { }; + +bar.__defineGetter__("1", function() { + foo.length = 0; + return 1; +}); + + +foo.__proto__ = bar; + +if (new Int32Array(foo).length !== 2) + throw "did not handle object with accessor on prototype"; diff --git a/implementation-contributed/javascriptcore/stress/typedarray-constructor.js b/implementation-contributed/javascriptcore/stress/typedarray-constructor.js new file mode 100644 index 0000000000..0e8eaf7498 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-constructor.js @@ -0,0 +1,69 @@ +load("./resources/typedarray-constructor-helper-functions.js"); + +let TypedArray = Object.getPrototypeOf(Int32Array); + +class A extends TypedArray { + constructor() { super(); } + +} + +shouldThrow("new A()"); + +let foo = [1,2,3,4]; + +function iterator() { + return { i: 0, + next: function() { + if (this.i < foo.length/2) { + return { done: false, + value: foo[this.i++] + }; + } + return { done: true }; + } + }; +} + +foo[Symbol.iterator] = iterator; + +shouldBeTrue("testConstructor('(foo)', [1,2])"); +debug(""); + +debug("Test that we don't premptively convert to native values and use a gc-safe temporary storage."); + + +done = false; +obj = { + valueOf: function() { + if (!done) + throw "bad"; + return 1; + } +}; + +foo = [obj, 2, 3, 4]; + +function iterator2() { + done = false; + return { i: 0, + next: function() { + gc(); + if (this.i < foo.length/2) { + return { done: false, + value: foo[this.i++] + }; + } + done = true; + return { done: true }; + } + }; +} + +foo[Symbol.iterator] = iterator2; + +shouldBeTrue("testConstructor('(foo)', [1,2])"); + +shouldBeTrue("testConstructor('(true)', [0])"); +shouldBeTrue("testConstructor('(`hi`)', [])"); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-copyWithin.js b/implementation-contributed/javascriptcore/stress/typedarray-copyWithin.js new file mode 100644 index 0000000000..e5e79aa0e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-copyWithin.js @@ -0,0 +1,16 @@ +load("./resources/typedarray-test-helper-functions.js"); +description("This test checks the behavior of the TypedArray.prototype.copyWithin function"); + + +shouldBe("Int32Array.prototype.copyWithin.length", "2"); +shouldBe("Int32Array.prototype.copyWithin.name", "'copyWithin'"); + +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('copyWithin')"); +shouldBeTrue("testPrototypeReceivesArray('copyWithin', [undefined, this, { }, [ ], true, ''])"); + +shouldBeTrue("testPrototypeFunction('copyWithin', '(0, 3)', [1, 2, 3, 4, 5], [4, 5, 3, 4, 5])"); +shouldBeTrue("testPrototypeFunction('copyWithin', '(0, 3, 4)', [1, 2, 3, 4, 5], [4, 2, 3, 4, 5])"); +shouldBeTrue("testPrototypeFunction('copyWithin', '(0, -2, -1)', [1, 2, 3, 4, 5], [4, 2, 3, 4, 5])"); +shouldBeTrue("testPrototypeFunction('copyWithin', '(5, -5, 5)', [1, 2, 3, 4, 5], [1, 2, 3, 4, 5])"); +shouldBeTrue("testPrototypeFunction('copyWithin', '(1, -5, 5)', [1, 2, 3, 4, 5], [1, 1, 2, 3, 4])"); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-every.js b/implementation-contributed/javascriptcore/stress/typedarray-every.js new file mode 100644 index 0000000000..c4e979cab5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-every.js @@ -0,0 +1,56 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.every function" +); + +shouldBe("Int32Array.prototype.every.length", "1"); +shouldBe("Int32Array.prototype.every.name", "'every'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('every')"); +shouldBeTrue("testPrototypeReceivesArray('every', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function isBigEnough(element, index, array) { + if (this.value) + return element >= this.value; + return element >= 10; +} +shouldBeTrue("testPrototypeFunction('every', '(isBigEnough)', [12, 5, 8, 13, 44], false)"); +shouldBeTrue("testPrototypeFunction('every', '(isBigEnough)', [12, 54, 18, 13, 44], true)"); +debug(""); + +debug("2.0 Two Argument Testing"); +var thisValue = { value: 11 }; +shouldBeTrue("testPrototypeFunction('every', '(isBigEnough, thisValue)', [12, 15, 10, 13, 44], false)"); +shouldBeTrue("testPrototypeFunction('every', '(isBigEnough, thisValue)', [12, 54, 82, 13, 44], true)"); +debug(""); + +debug("3.0 Array Element Changing"); +function isBigEnoughAndChange(element, index, array) { + array[array.length - 1 - index] = 5; + return (element >= 10); +} +shouldBeTrue("testPrototypeFunction('every', '(isBigEnoughAndChange)', [12, 15, 1, 13, 44], false, [12, 15, 5, 5, 5])"); +shouldBeTrue("testPrototypeFunction('every', '(isBigEnoughAndChange)', [12, 15, 10, 13, 44], false, [12, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldThrow("testPrototypeFunction('every', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('every', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.every callback must be a function'"); +shouldThrow("testPrototypeFunction('every', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.every callback must be a function'"); +shouldThrow("testPrototypeFunction('every', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.every callback must be a function'"); +shouldThrow("testPrototypeFunction('every', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.every callback must be a function'"); +shouldThrow("testPrototypeFunction('every', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.every callback must be a function'"); +debug(""); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-fill.js b/implementation-contributed/javascriptcore/stress/typedarray-fill.js new file mode 100644 index 0000000000..755b44047c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-fill.js @@ -0,0 +1,49 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.fill function" +); + +shouldBe("Int32Array.prototype.fill.length", "1"); +shouldBe("Int32Array.prototype.fill.name", "'fill'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('fill')"); +shouldBeTrue("testPrototypeReceivesArray('fill', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +shouldBeTrue("testPrototypeFunction('fill', '(12)', [15, 5, 8, 13, 44], [12,12,12,12,12])"); +shouldBeTrue("testPrototypeFunction('fill', '(true)', [12, 54, 18, 13, 44], [1,1,1,1,1])"); +debug(""); + +debug("2.0 Two Argument Testing"); +shouldBeTrue("testPrototypeFunction('fill', '(12, 2)', [14, 15, 10, 13, 44], [14, 15, 12, 12, 12])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, NaN)', [14, 15, 10, 13, 44], [4, 4, 4, 4, 4])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, -5)', [14, 15, 10, 13, 44], [4, 4, 4, 4, 4])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, -1)', [14, 15, 10, 13, 44], [14, 15, 10, 13, 4])"); +debug(""); + +debug("3.0 Three Argument Testing"); +shouldBeTrue("testPrototypeFunction('fill', '(4, -1, 0)', [14, 15, 10, 13, 44], [14, 15, 10, 13, 44])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, 1, 1)', [14, 15, 10, 13, 44], [14, 15, 10, 13, 44])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, 1, NaN)', [14, 15, 10, 13, 44], [14, 15, 10, 13, 44])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, NaN, NaN)', [14, 15, 10, 13, 44], [14, 15, 10, 13, 44])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, NaN, 5)', [14, 15, 10, 13, 44], [4, 4, 4, 4, 4])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, -3, -2)', [14, 15, 10, 13, 44], [14, 15, 4, 13, 44])"); +shouldBeTrue("testPrototypeFunction('fill', '(4, 5, 5)', [14, 15, 10, 13, 44], [14, 15, 10, 13, 44])"); + +debug("4.0 Coercion Testing"); +for (constructor of typedArrays) { + count = 0; + let p = new Proxy({}, { get(target, name) { + count++; + return target[name]; + }}); + new constructor(10).fill(p); + shouldBeTrue("count === 40"); +} + + + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-filter.js b/implementation-contributed/javascriptcore/stress/typedarray-filter.js new file mode 100644 index 0000000000..5e85923817 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-filter.js @@ -0,0 +1,103 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.filter function" +); + +shouldBe("Int32Array.prototype.filter.length", "1"); +shouldBe("Int32Array.prototype.filter.name", "'filter'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('filter')"); +shouldBeTrue("testPrototypeReceivesArray('filter', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function keepEven(e, i) { + return !(e & 1) || (this.keep ? this.keep.indexOf(i) >= 0 : false); +} +shouldBeTrue("testPrototypeFunction('filter', '(keepEven)', [12, 5, 8, 13, 44], [12, 8, 44])"); +shouldBeTrue("testPrototypeFunction('filter', '(keepEven)', [11, 54, 18, 13, 1], [54, 18])"); +debug(""); + +debug("2.0 Two Argument Testing"); +var thisValue = { keep: [1, 3] }; +shouldBeTrue("testPrototypeFunction('filter', '(keepEven, thisValue)', [12, 23, 11, 1, 45], [12, 23, 1])"); +debug(""); + +debug("3.0 Array Element Changing"); +function keepEvenAndChange(e, i, a) { + a[a.length - 1 - i] = 5; + return !(e & 1); +} +shouldBeTrue("testPrototypeFunction('filter', '(keepEvenAndChange)', [12, 15, 2, 13, 44], [12, 2], [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldThrow("testPrototypeFunction('filter', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('filter', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.filter callback must be a function'"); +shouldThrow("testPrototypeFunction('filter', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.filter callback must be a function'"); +shouldThrow("testPrototypeFunction('filter', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.filter callback must be a function'"); +shouldThrow("testPrototypeFunction('filter', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.filter callback must be a function'"); +shouldThrow("testPrototypeFunction('filter', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.filter callback must be a function'"); +debug(""); + +debug("6.0 Symbol.species Test"); +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); + +function accept() { return true; } + +function testSpecies(array, constructor) { + let newArray = array.filter(accept); + return newArray instanceof constructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpecies)"); + +Foo = class extends Int32Array { } +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:Foo, writable:true }); }); +function testSpeciesWithFoo(array, constructor) { + let newArray = array.filter(accept); + return newArray instanceof Foo; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesWithFoo)"); +debug(""); + +debug("6.2 Symbol.species Test throws"); +subclasses.forEach(function(constructor) { constructor[Symbol.species] = 1; }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = Array; }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); +debug(""); + +debug("6.2 Symbol.species Test with Defaults"); +subclasses.forEach(function(constructor) { constructor[Symbol.species] = null; }); +function testSpeciesIsDefault(array, constructor) { + let newArray = array.filter(accept); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = undefined; }); +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); +function testSpeciesRemoveConstructor(array, constructor) { + array.constructor = undefined; + let newArray = array.filter(accept); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesRemoveConstructor)"); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-find.js b/implementation-contributed/javascriptcore/stress/typedarray-find.js new file mode 100644 index 0000000000..b1902c45a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-find.js @@ -0,0 +1,53 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.find function" +); + +shouldBe("Int32Array.prototype.find.length", "1"); +shouldBe("Int32Array.prototype.find.name", "'find'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('find')"); +shouldBeTrue("testPrototypeReceivesArray('find', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function keepEven(e, i) { + return !(e & 1) || (this.keep ? this.keep === i : false); +} +shouldBeTrue("testPrototypeFunction('find', '(keepEven)', [12, 5, 8, 13, 44], 12)"); +shouldBeTrue("testPrototypeFunction('find', '(keepEven)', [11, 13, 17, 13, 22], 22)"); +shouldBeTrue("testPrototypeFunction('find', '(keepEven)', [11, 13, 17, 13, 11], undefined)"); +debug(""); + +debug("2.0 Two Argument Testing"); +var thisValue = { keep: 3 }; +shouldBeTrue("testPrototypeFunction('find', '(keepEven, thisValue)', [11, 23, 11, 1, 44], 1)"); +debug(""); + +debug("3.0 Array Element Changing"); +function keepEvenAndChange(e, i, a) { + a[a.length - 1 - i] = 5; + return !(e & 1); +} +shouldBeTrue("testPrototypeFunction('find', '(keepEvenAndChange)', [11, 15, 3, 12, 44], undefined, [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldBeTrue("testPrototypeFunction('find', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], 12)"); +shouldThrow("testPrototypeFunction('find', '(isBigEnoughAndException)', [9, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('find', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.find callback must be a function'"); +shouldThrow("testPrototypeFunction('find', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.find callback must be a function'"); +shouldThrow("testPrototypeFunction('find', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.find callback must be a function'"); +shouldThrow("testPrototypeFunction('find', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.find callback must be a function'"); +shouldThrow("testPrototypeFunction('find', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.find callback must be a function'"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-findIndex.js b/implementation-contributed/javascriptcore/stress/typedarray-findIndex.js new file mode 100644 index 0000000000..e015b7c5a5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-findIndex.js @@ -0,0 +1,53 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.findIndex function" +); + +shouldBe("Int32Array.prototype.findIndex.length", "1"); +shouldBe("Int32Array.prototype.findIndex.name", "'findIndex'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('findIndex')"); +shouldBeTrue("testPrototypeReceivesArray('findIndex', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function keepEven(e, i) { + return !(e & 1) || (this.keep ? this.keep === i : false); +} +shouldBeTrue("testPrototypeFunction('findIndex', '(keepEven)', [12, 5, 8, 13, 44], 0)"); +shouldBeTrue("testPrototypeFunction('findIndex', '(keepEven)', [11, 13, 17, 13, 22], 4)"); +shouldBeTrue("testPrototypeFunction('findIndex', '(keepEven)', [11, 13, 17, 13, 11], -1)"); +debug(""); + +debug("2.0 Two Argument Testing"); +var thisValue = { keep: 3 }; +shouldBeTrue("testPrototypeFunction('findIndex', '(keepEven, thisValue)', [11, 23, 11, 1, 44], 3)"); +debug(""); + +debug("3.0 Array Element Changing"); +function keepEvenAndChange(e, i, a) { + a[a.length - 1 - i] = 5; + return !(e & 1); +} +shouldBeTrue("testPrototypeFunction('findIndex', '(keepEvenAndChange)', [11, 15, 3, 12, 44], -1, [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldBeTrue("testPrototypeFunction('findIndex', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], 0)"); +shouldThrow("testPrototypeFunction('findIndex', '(isBigEnoughAndException)', [9, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('findIndex', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.findIndex callback must be a function'"); +shouldThrow("testPrototypeFunction('findIndex', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.findIndex callback must be a function'"); +shouldThrow("testPrototypeFunction('findIndex', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.findIndex callback must be a function'"); +shouldThrow("testPrototypeFunction('findIndex', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.findIndex callback must be a function'"); +shouldThrow("testPrototypeFunction('findIndex', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.findIndex callback must be a function'"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-forEach.js b/implementation-contributed/javascriptcore/stress/typedarray-forEach.js new file mode 100644 index 0000000000..0d69ffed4c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-forEach.js @@ -0,0 +1,91 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.forEach function" +); + +shouldBe("Int32Array.prototype.forEach.length", "1"); +shouldBe("Int32Array.prototype.forEach.name", "'forEach'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('forEach')"); +shouldBeTrue("testPrototypeReceivesArray('forEach', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +var passed = true; +var thisPassed = true; +var typedArray; +function createChecker(expected, callback, thisValue) { + function checkCorrect(array) { + let list = [] + function accumulate(e, i, a) { + list.push(callback.call(this, e, i, a)); + } + + typedArray = array; + array.forEach(accumulate, thisValue); + + if (list.length !== expected.length) { + debug("forEach did not work correctly, computed array: " + list + " expected array: " + expected); + passed = false; + } + + for (let i = 0; i < list.length; ++i) + if (list[i] !== expected[i]) { + debug("forEach did not work correctly, computed array: " + list + " expected array: " + expected); + passed = false; + } + } + + return checkCorrect; +} + +function foo(e, i) { + if (this.value !== 3) + thisPassed = false; + return e; +} + + +debug("1.0 Single Argument Testing"); + +forEachTypedArray(typedArrays, createChecker([1, 2, 3, 4, 5], foo, undefined), [1, 2, 3, 4, 5]); +shouldBeTrue("passed"); +debug(""); + +debug("2.0 Two Argument Testing"); +passed = true; +thisPassed = true; + +forEachTypedArray(typedArrays, createChecker([1, 2, 3, 4, 5], foo, { value: 3 }), [1, 2, 3, 4, 5]); +shouldBeTrue("passed && thisPassed"); + +passed = true; +thisPassed = true; +forEachTypedArray(typedArrays, createChecker([1, 2, 3, 4, 5], foo, { value: 2 }), [1, 2, 3, 4, 5]); +shouldBeTrue("passed && !thisPassed"); +debug(""); + +debug("3.0 Array Element Changing"); +function changeArray(e, i, a) { + a[a.length - 1 - i] = 5; + return e; +} + +forEachTypedArray(typedArrays, createChecker([11, 12, 13, 5, 5], changeArray), [11, 12, 13, 14, 15]); +shouldBeTrue("passed && hasSameValues('array did not mutate correctly', typedArray, [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element); +} +shouldThrow("testPrototypeFunction('forEach', '(isBigEnoughAndException)', [9, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('forEach', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.forEach callback must be a function'"); +shouldThrow("testPrototypeFunction('forEach', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.forEach callback must be a function'"); +shouldThrow("testPrototypeFunction('forEach', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.forEach callback must be a function'"); +shouldThrow("testPrototypeFunction('forEach', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.forEach callback must be a function'"); +shouldThrow("testPrototypeFunction('forEach', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.forEach callback must be a function'"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-from.js b/implementation-contributed/javascriptcore/stress/typedarray-from.js new file mode 100644 index 0000000000..dbbfc8a2ed --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-from.js @@ -0,0 +1,47 @@ +load("./resources/typedarray-constructor-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.from function" +); + +shouldBe("Int32Array.from.length", "1"); +shouldBe("Int32Array.from.name", "'from'"); +debug(""); + +debug("testConstructorFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +shouldBeTrue("testConstructorFunction('from', '([])', [])"); +shouldBeTrue("testConstructorFunction('from', '([2])', [2])"); +shouldBeTrue("testConstructorFunction('from', '([2,3,4])', [2,3,4])"); +debug(""); + +debug("2.0 Two Argument Testing"); +function even(e, i) { + return !(e & 1) || (this.change ? this.change.indexOf(i) >= 0 : false); +} +shouldBeTrue("testConstructorFunction('from', '([12, 5, 8, 13, 44], even)', [1, 0, 1, 0, 1])"); +shouldBeTrue("testConstructorFunction('from', '([11, 54, 18, 13, 1], even)', [0, 1, 1, 0, 0])"); +debug(""); + +debug("3.0 Three Argument Testing"); +var thisValue = { change: [1, 3] }; +shouldBeTrue("testConstructorFunction('from', '([12, 23, 11, 1, 45], even, thisValue)', [1, 1, 0, 1, 0])"); +debug(""); + + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldThrow("testConstructorFunction('from', '([12, 15, 10, 13, 44], isBigEnoughAndException)', false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testConstructorFunction('from', '( [12, 15, 10, 13, 44], 8)', false)"); +shouldThrow("testConstructorFunction('from', '([12, 15, 10, 13, 44], \"wrong\")', false)"); +shouldThrow("testConstructorFunction('from', '([12, 15, 10, 13, 44], new Object())', false)"); +shouldThrow("testConstructorFunction('from', '([12, 15, 10, 13, 44], null)', false)"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-functions-with-neutered.js b/implementation-contributed/javascriptcore/stress/typedarray-functions-with-neutered.js new file mode 100644 index 0000000000..0e66ec94ce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-functions-with-neutered.js @@ -0,0 +1,169 @@ +typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +proto = Int8Array.prototype.__proto__; + +function getGetter(prop) { + return Object.getOwnPropertyDescriptor(proto, prop).get; +} + +function unit() { } + + +prototypeFunctions = [ + { func:getGetter("length"), args:[], result:0 }, + { func:getGetter("byteLength"), args:[], result:0 }, + { func:getGetter("byteOffset"), args:[], result:0 }, + { func:proto.copyWithin, args:[0, 1] }, + { func:proto.entries, args:[] }, + { func:proto.every, args:[unit] }, + { func:proto.every, args:[1] }, + { func:proto.filter, args:[unit] }, + { func:proto.find, args:[] }, + { func:proto.findIndex, args:[] }, + { func:proto.forEach, args:[] }, + { func:proto.indexOf, args:[] }, + { func:proto.join, args:[] }, + { func:proto.keys, args:[] }, + { func:proto.lastIndexOf, args:[] }, + { func:proto.map, args:[] }, + { func:proto.reduce, args:[] }, + { func:proto.reduceRight, args:[] }, + { func:proto.reverse, args:[] }, + { func:proto.set, args:[[]] }, + { func:proto.set, args:[new Int32Array(1)] }, + { func:proto.set, args:[new Int32Array(1)] }, + { func:proto.set, args:[new Int32Array(1), -1], error:"RangeError: Offset should not be negative" }, + { func:proto.slice, args:[] }, + { func:proto.some, args:[] }, + { func:proto.sort, args:[] }, + { func:proto.subarray, args:[] }, + { func:proto.toString, args:[] }, + { func:proto.values, args:[] }, +]; + +arrays = typedArrays.map(function(constructor) { + let view = new constructor(10); + transferArrayBuffer(view.buffer); + return view; +}); + +function checkProtoFunc(testArgs) { + function throwsCorrectError(elem) { + try { + result = testArgs.func.call(...[elem, ...testArgs.args]); + if (testArgs.result !== undefined) { + return result === testArgs.result; + } + } catch (e) { + if (testArgs.error) + return e == testArgs.error; + return e == "TypeError: Underlying ArrayBuffer has been detached from the view"; + } + return false; + } + + if (!arrays.every(throwsCorrectError)) + throw "bad" + testArgs.func.name; +} + +function test() { + prototypeFunctions.forEach(checkProtoFunc); +} + +for (var i = 0; i < 1000; i++) + test(); + +// Test that we handle neutering for any toInteger neutering the arraybuffer. +prototypeFunctions = [ + { func:proto.copyWithin, args:["prim", "prim", "prim"] }, + { func:proto.every, args:["func"] }, + { func:proto.fill, args:["prim", "prim", "prim"] }, + { func:proto.filter, args:["func"] }, + { func:proto.find, args:["func"] }, + { func:proto.findIndex, args:["func"] }, + { func:proto.forEach, args:["func"] }, + { func:proto.indexOf, args:["na", "prim"] }, + { func:proto.includes, args:["na", "prim"] }, + { func:proto.join, args:["prim"] }, + { func:proto.lastIndexOf, args:["na", "prim"] }, + { func:proto.map, args:["func"] }, + { func:proto.reduce, args:["func"] }, + { func:proto.reduceRight, args:["func"] }, + { func:proto.set, args:["array", "prim"] }, + { func:proto.slice, args:["prim", "prim"] }, + { func:proto.some, args:["func"] }, + { func:proto.sort, args:["func"] }, + { func:proto.subarray, args:["prim", "prim"] }, +]; + +function defaultForArg(arg, argNum) +{ + if (arg === "func") + return () => { return argNum; } + if (arg === "array") + return [1,2]; + + return argNum; +} + +function callWithArgs(func, array, args, argNum) { + let failed = true; + try { + func.call(array, ...args); + } catch (e) { + if (e != "TypeError: Underlying ArrayBuffer has been detached from the view") + throw new Error(e); + failed = false; + } + if (failed) + throw new Error([func, argNum]); +} + + +function checkArgumentsForType(func, args, constructor) { + let defaultArgs = args.map(defaultForArg); + + for (let argNum = 0; argNum < args.length; argNum++) { + let arg = args[argNum]; + let callArgs = defaultArgs.slice(); + + if (arg === "na") + continue; + + let array = new constructor(10); + if (arg === "func") { + callArgs[argNum] = () => { + transferArrayBuffer(array.buffer); + return func === array.every ? 1 : 0; + }; + callWithArgs(func, array, callArgs, argNum); + } else if (arg === "prim") { + callArgs[argNum] = { [Symbol.toPrimitive]() { + transferArrayBuffer(array.buffer); + return argNum; + } }; + callWithArgs(func, array, callArgs, argNum); + } else if (arg === "array") { + callArgs[argNum] = new Array(4); + callArgs[argNum].fill(2); + let desc = { get: () => { + transferArrayBuffer(array.buffer); + return 1; + } }; + Object.defineProperty(callArgs[argNum], 1, desc); + callWithArgs(func, array, callArgs, argNum); + } else + throw new Error(arg); + } +} + +function checkArguments({func, args}) { + for (constructor of typedArrays) + checkArgumentsForType(func, args, constructor); +} + +function test2() { + prototypeFunctions.forEach(checkArguments); +} + +test2(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-getownproperty-not-configurable.js b/implementation-contributed/javascriptcore/stress/typedarray-getownproperty-not-configurable.js new file mode 100644 index 0000000000..91fbb5d5c3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-getownproperty-not-configurable.js @@ -0,0 +1,20 @@ +typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + +function assert(cond) { + if (!cond) + throw new Error("bad assertion!"); +} + +function foo() { + for (constructor of typedArrays) { + let a = new constructor(10); + let b = Object.getOwnPropertyDescriptor(a, 0); + assert(b.value === 0); + assert(b.writable === false); + assert(b.enumerable === true); + assert(b.configurable === false); + } +} + +for (let i = 0; i < 100; i++) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-getter-on-self.js b/implementation-contributed/javascriptcore/stress/typedarray-getter-on-self.js new file mode 100644 index 0000000000..293a0d37b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-getter-on-self.js @@ -0,0 +1,43 @@ +// This tests that intrinsics that are attached to self of an object correctly abort +// when the self value is changed. + +(function body() { + function foo(a) { + return a.length; + } + noInline(foo); + + function bar(a) { + return a.byteLength; + } + noInline(bar); + + function baz(a) { + return a.byteOffset; + } + noInline(baz); + + let array = new Int32Array(10); + + let properties = ["length", "byteLength", "byteOffset"]; + properties.map(function(name) { + let getter = Int32Array.prototype.__lookupGetter__(name); + Object.defineProperty(array, name, { get: getter, configurable: true }); + }); + + for (let i = 0; i < 100000; i++) + foo(array); + + properties.map(function(name) { + Object.defineProperty(array, name, { value: null }); + }); + + if (foo(array) !== null) + throw "length should have been null"; + + if (bar(array) !== null) + throw "byteLength should have been null"; + + if (baz(array) !== null) + throw "byteOffset should have been null"; +})(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-includes.js b/implementation-contributed/javascriptcore/stress/typedarray-includes.js new file mode 100644 index 0000000000..d6c03af8da --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-includes.js @@ -0,0 +1,10 @@ +load("resources/typedarray-test-helper-functions.js"); + +for (constructor of typedArrays) { + let a = new constructor(10); + passed = true; + result = a.includes({ valueOf() { passed = false; return 1; } }); + shouldBeTrue("passed"); + shouldBeFalse("result"); +} +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-indexOf.js b/implementation-contributed/javascriptcore/stress/typedarray-indexOf.js new file mode 100644 index 0000000000..7dd5f001aa --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-indexOf.js @@ -0,0 +1,67 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.indexOf function" +); + +shouldBe("Int32Array.prototype.indexOf.length", "1"); +shouldBe("Int32Array.prototype.indexOf.name", "'indexOf'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('indexOf')"); +shouldBeTrue("testPrototypeReceivesArray('indexOf', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +function keepEven(e, i) { + return !(e & 1) || (this.keep ? this.keep === i : false); +} + +var array = [2, 5, 9, 2] + +shouldBeTrue("testPrototypeFunction('indexOf', '(2, -500)', array, 0)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(9, 500)', array, -1)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(2)', array, 0)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(7)', array, -1)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(2, 3)', array, 3)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(2, 2)', array, 3)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(2, 0)', array, 0)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(2, -1)', array, 3)"); +shouldBeTrue("testPrototypeFunction('indexOf', '(2, -2)', array, 3)"); +debug(""); + +debug("Check object coersion"); +for (constructor of typedArrays) { + a = new constructor([0,2,3]); + passed = true; + + shouldBe("a.indexOf({ valueOf() { passed = false; return 1; }})", "-1"); + shouldBeTrue("passed"); + shouldBe("a.indexOf(3, {valueOf: () => -1})", "2"); + + // test we don't coerce non-native values + shouldBe("a.indexOf(\"abc\")", "-1"); + shouldBe("a.indexOf(null)", "-1"); + shouldBe("a.indexOf(undefined)", "-1"); + shouldBe("a.indexOf({1: ''})", "-1"); + shouldBe("a.indexOf(\"\")", "-1"); +} + + +for (constructor of intArrays) { + a = new constructor([0,2,3]); + + shouldBe("a.indexOf(2.0)", "1"); + shouldBe("a.indexOf(2.5)", "-1"); +} + +for (constructor of floatArrays) { + a = new constructor([0,2.0,3.6, NaN, Infinity]); + + shouldBe("a.indexOf(2.0)", "1"); + shouldBe("a.indexOf(2.5)", "-1"); + shouldBe("a.indexOf(3.600001)", "-1"); + shouldBe("a.indexOf(NaN)", "-1"); + shouldBe("a.indexOf(Infinity)", "4"); +} + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-intrinsic-getters-change-prototype.js b/implementation-contributed/javascriptcore/stress/typedarray-intrinsic-getters-change-prototype.js new file mode 100644 index 0000000000..2e27b6f425 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-intrinsic-getters-change-prototype.js @@ -0,0 +1,39 @@ +// This tests that TypedArray length and byteLength correctly dump code when the prototypes move. + +(function body() { + function foo(a) { + return a.length; + } + noInline(foo); + + function bar(a) { + return a.byteLength; + } + noInline(bar); + + function baz(a) { + return a.byteOffset; + } + noInline(baz); + + let array = new Int32Array(15); + + while(numberOfDFGCompiles(foo) < 1) { + foo(array); + bar(array); + baz(array); + } + + Object.setPrototypeOf(array, null); + + let passed = false; + + if (foo(array) !== undefined) + throw "length should have become undefined when the prototype changed"; + if (bar(array) !== undefined) + throw "byteLength should have become undefined when the prototype changed"; + if (baz(array) !== undefined) + throw "byteOffset should have become undefined when the prototype changed"; + + +})(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-lastIndexOf.js b/implementation-contributed/javascriptcore/stress/typedarray-lastIndexOf.js new file mode 100644 index 0000000000..c740043242 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-lastIndexOf.js @@ -0,0 +1,64 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.lastIndexOf function" +); + +shouldBe("Int32Array.prototype.lastIndexOf.length", "1"); +shouldBe("Int32Array.prototype.lastIndexOf.name", "'lastIndexOf'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('lastIndexOf')"); +shouldBeTrue("testPrototypeReceivesArray('lastIndexOf', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +var array = [2, 5, 9, 2] + +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2, -500)', array, -1)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(9, 500)', array, 2)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2)', array, 3)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(5)', array, 1)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(7)', array, -1)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2, 3)', array, 3)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2, 2)', array, 0)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2, 0)', array, 0)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2, -1)', array, 3)"); +shouldBeTrue("testPrototypeFunction('lastIndexOf', '(2, -2)', array, 0)"); +debug(""); + +debug("Check object coersion"); +for (constructor of typedArrays) { + a = new constructor([0,2,3]); + passed = true; + + shouldBe("a.lastIndexOf({ valueOf() { passed = false; return 1; }})", "-1"); + shouldBeTrue("passed"); + shouldBe("a.lastIndexOf(3, {valueOf: () => 3})", "2"); + + // test we don't coerce non-native values + shouldBe("a.lastIndexOf(\"abc\")", "-1"); + shouldBe("a.lastIndexOf(null)", "-1"); + shouldBe("a.lastIndexOf(undefined)", "-1"); + shouldBe("a.lastIndexOf({1: ''})", "-1"); + shouldBe("a.lastIndexOf(\"\")", "-1"); +} + + +for (constructor of intArrays) { + a = new constructor([0,2,3]); + + shouldBe("a.lastIndexOf(2.0)", "1"); + shouldBe("a.lastIndexOf(2.5)", "-1"); +} + +for (constructor of floatArrays) { + a = new constructor([0,2.0,3.6, NaN, Infinity]); + + shouldBe("a.lastIndexOf(2.0)", "1"); + shouldBe("a.lastIndexOf(2.5)", "-1"); + shouldBe("a.lastIndexOf(3.600001)", "-1"); + shouldBe("a.lastIndexOf(NaN)", "-1"); + shouldBe("a.lastIndexOf(Infinity)", "4"); +} + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-length-dictionary.js b/implementation-contributed/javascriptcore/stress/typedarray-length-dictionary.js new file mode 100644 index 0000000000..0a1f2dcee1 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-length-dictionary.js @@ -0,0 +1,19 @@ +// This tests that we do not inline cache intrinsic getters when the base structure is a dictionary. + +foo = new Int32Array(10); + +function len() { + return foo.length; +} +noInline(len); + +foo.bar = 1; +foo.baz = 2; +delete foo.bar; + +for (i = 0; i < 1000; i++) + len() + +Object.defineProperty(foo, "length", { value: 1 }); +if (len() !== 1) + throw "bad result"; diff --git a/implementation-contributed/javascriptcore/stress/typedarray-map.js b/implementation-contributed/javascriptcore/stress/typedarray-map.js new file mode 100644 index 0000000000..1d9a890d22 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-map.js @@ -0,0 +1,102 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.map function" +); + +shouldBe("Int32Array.prototype.map.length", "1"); +shouldBe("Int32Array.prototype.map.name", "'map'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('map')"); +shouldBeTrue("testPrototypeReceivesArray('map', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function even(e, i) { + return !(e & 1) || (this.change ? this.change.indexOf(i) >= 0 : false); +} +shouldBeTrue("testPrototypeFunction('map', '(even)', [12, 5, 8, 13, 44], [1, 0, 1, 0, 1], [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('map', '(even)', [11, 54, 18, 13, 1], [0, 1, 1, 0, 0])"); +debug(""); + +debug("2.0 Two Argument Testing"); +var thisValue = { change: [1, 3] }; +shouldBeTrue("testPrototypeFunction('map', '(even, thisValue)', [12, 23, 11, 1, 45], [1, 1, 0, 1, 0])"); +debug(""); + +debug("3.0 Array Element Changing"); +function evenAndChange(e, i, a) { + a[a.length - 1 - i] = 5; + return !(e & 1); +} +shouldBeTrue("testPrototypeFunction('map', '(evenAndChange)', [12, 15, 2, 13, 44], [1, 0, 1, 0, 0], [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldThrow("testPrototypeFunction('map', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('map', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.map callback must be a function'"); +shouldThrow("testPrototypeFunction('map', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.map callback must be a function'"); +shouldThrow("testPrototypeFunction('map', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.map callback must be a function'"); +shouldThrow("testPrototypeFunction('map', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.map callback must be a function'"); +shouldThrow("testPrototypeFunction('map', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.map callback must be a function'"); +debug(""); + +debug("6.0 Symbol.species Test"); +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); + +function id(x) { return x; } + +function testSpecies(array, constructor) { + let newArray = array.map(id); + return newArray instanceof constructor; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpecies)"); + +Foo = class extends Int32Array { } +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:Foo, writable:true }); }); +function testSpeciesWithFoo(array, constructor) { + let newArray = array.map(id); + return newArray instanceof Foo; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesWithFoo)"); +debug(""); + +debug("6.1 Symbol.species Test throws"); +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:1, writable:true }); }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = Array; }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); +debug(""); + +debug("6.2 Symbol.species Test with Defaults"); +subclasses.forEach(function(constructor) { constructor[Symbol.species] = null; }); +function testSpeciesIsDefault(array, constructor) { + let newArray = array.map(id); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = undefined; }); +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); +function testSpeciesRemoveConstructor(array, constructor) { + array.constructor = undefined; + let newArray = array.map(id); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesRemoveConstructor)"); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-of.js b/implementation-contributed/javascriptcore/stress/typedarray-of.js new file mode 100644 index 0000000000..0e852dd8c8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-of.js @@ -0,0 +1,21 @@ +load("./resources/typedarray-constructor-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.of function" +); + +shouldBe("Int32Array.of.length", "0"); +shouldBe("Int32Array.of.name", "'of'"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, expected)"); +debug(""); + +shouldBeTrue("testConstructorFunction('of', '()', [])"); +shouldBeTrue("testConstructorFunction('of', '(1)', [1])"); +shouldBeTrue("testConstructorFunction('of', '(1,2,3)', [1,2,3])"); + +shouldThrow("testConstructorFunction('of', '.call(false)', false)", "'TypeError: TypedArray.of requires its this argument to subclass a TypedArray constructor'"); +shouldThrow("testConstructorFunction('of', '.call({})', false)", "'TypeError: TypedArray.of requires its this argument to subclass a TypedArray constructor'"); +shouldThrow("testConstructorFunction('of', '.call([])', false)", "'TypeError: TypedArray.of requires its this argument to subclass a TypedArray constructor'"); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-reduce.js b/implementation-contributed/javascriptcore/stress/typedarray-reduce.js new file mode 100644 index 0000000000..39a6da31a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-reduce.js @@ -0,0 +1,59 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.reduce function" +); + +shouldBe("Int32Array.prototype.reduce.length", "1"); +shouldBe("Int32Array.prototype.reduce.name", "'reduce'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('reduce')"); +shouldBeTrue("testPrototypeReceivesArray('reduce', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function createArray(acc, e, i, a) { + if (typeof acc !== "object") + acc = [acc]; + acc.push(e); + return acc; +} + +function sum(acc, e, i, a) { return acc + e; } + +shouldBeTrue("testPrototypeFunction('reduce', '(createArray)', [12, 5, 8, 13, 44], [12, 5, 8, 13, 44], [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('reduce', '(sum)', [1, 2, 3, 4, 5], 15)"); +debug(""); + +debug("2.0 Two Argument Testing"); + +shouldBeTrue("testPrototypeFunction('reduce', '(createArray, [1])', [12, 23, 11, 1, 45], [1, 12, 23, 11, 1, 45], [12, 23, 11, 1, 45])"); +debug(""); + +debug("3.0 Array Element Changing"); +function createArrayAndChange(acc, e, i, a) { + a[a.length - 1 - i] = 5; + acc.push(e); + return acc; +} +shouldBeTrue("testPrototypeFunction('reduce', '(createArrayAndChange, [])', [12, 15, 2, 13, 44], [12, 15, 2, 5, 5], [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(acc, element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldThrow("testPrototypeFunction('reduce', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('reduce', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduce callback must be a function'"); +shouldThrow("testPrototypeFunction('reduce', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduce callback must be a function'"); +shouldThrow("testPrototypeFunction('reduce', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduce callback must be a function'"); +shouldThrow("testPrototypeFunction('reduce', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduce callback must be a function'"); +shouldThrow("testPrototypeFunction('reduce', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduce callback must be a function'"); +shouldThrow("testPrototypeFunction('reduce', '(new Function())', [], false)", "'TypeError: TypedArray.prototype.reduce of empty array with no initial value'"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-reduceRight.js b/implementation-contributed/javascriptcore/stress/typedarray-reduceRight.js new file mode 100644 index 0000000000..d5db3c7b6e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-reduceRight.js @@ -0,0 +1,59 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.reduceRight function" +); + +shouldBe("Int32Array.prototype.reduceRight.length", "1"); +shouldBe("Int32Array.prototype.reduceRight.name", "'reduceRight'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('reduceRight')"); +shouldBeTrue("testPrototypeReceivesArray('reduceRight', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function createArray(acc, e, i, a) { + if (typeof acc !== "object") + acc = [acc]; + acc.push(e); + return acc; +} + +function sum(acc, e, i, a) { return acc + e; } + +shouldBeTrue("testPrototypeFunction('reduceRight', '(createArray)', [12, 5, 8, 13, 44], [12, 5, 8, 13, 44].reverse(), [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('reduceRight', '(sum)', [1, 2, 3, 4, 5], 15)"); +debug(""); + +debug("2.0 Two Argument Testing"); + +shouldBeTrue("testPrototypeFunction('reduceRight', '(createArray, [1])', [12, 23, 11, 1, 45], [1, 45, 1, 11, 23, 12], [12, 23, 11, 1, 45])"); +debug(""); + +debug("3.0 Array Element Changing"); +function createArrayAndChange(acc, e, i, a) { + a[a.length - 1 - i] = 5; + acc.push(e); + return acc; +} +shouldBeTrue("testPrototypeFunction('reduceRight', '(createArrayAndChange, [])', [12, 15, 2, 13, 44], [44, 13, 2, 5, 5], [5, 5, 5, 5, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(acc, element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldThrow("testPrototypeFunction('reduceRight', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('reduceRight', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduceRight callback must be a function'"); +shouldThrow("testPrototypeFunction('reduceRight', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduceRight callback must be a function'"); +shouldThrow("testPrototypeFunction('reduceRight', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduceRight callback must be a function'"); +shouldThrow("testPrototypeFunction('reduceRight', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduceRight callback must be a function'"); +shouldThrow("testPrototypeFunction('reduceRight', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.reduceRight callback must be a function'"); +shouldThrow("testPrototypeFunction('reduceRight', '(new Function())', [], false)", "'TypeError: TypedArray.prototype.reduceRight of empty array with no initial value'"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-set.js b/implementation-contributed/javascriptcore/stress/typedarray-set.js new file mode 100644 index 0000000000..fac5fc7ced --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-set.js @@ -0,0 +1,27 @@ +load("./resources/typedarray-test-helper-functions.js"); +description("This test checks the behavior of the TypedArray.prototype.set function"); + +shouldBe("Int32Array.prototype.set.length", "1"); +shouldBe("Int32Array.prototype.set.name", "'set'"); + +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('set')"); +shouldBeTrue("testPrototypeReceivesArray('set', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("1.0 Normal Calls"); +shouldBeTrue("testPrototypeFunction('set', '([2, 3, 4])', [1, 2, 3, 4, 5], undefined, [2, 3, 4, 4, 5])"); +debug("This next should pass because -.1 when converted to an integer is -0"); +shouldBeTrue("testPrototypeFunction('set', '([2, 3, 4], -.1)', [1, 2, 3, 4, 5], undefined, [2, 3, 4, 4, 5])"); +shouldBeTrue("testPrototypeFunction('set', '([2, 3, 4], 2)', [1, 2, 3, 4, 5], undefined, [1, 2, 2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('set', '([], 5)', [1, 2, 3, 4, 5], undefined, [1, 2, 3, 4, 5])"); +shouldBeTrue("testPrototypeFunction('set', '([])', [1, 2, 3, 4, 5], undefined, [1, 2, 3, 4, 5])"); +debug(""); + +debug("2.0 Bad Range Test"); +shouldThrow("testPrototypeFunction('set', '([], -1)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Offset should not be negative'"); +shouldThrow("testPrototypeFunction('set', '([2, 3, 4], -1)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Offset should not be negative'"); +shouldThrow("testPrototypeFunction('set', '([2, 3, 4], -1.23412)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Offset should not be negative'"); +shouldThrow("testPrototypeFunction('set', '([2, 3, 4], 1000)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Range consisting of offset and length are out of bounds'"); +shouldThrow("testPrototypeFunction('set', '([2, 3, 4], 1e42*1.2434325231)', [1, 2, 3, 4, 5], false, false)", "'RangeError: Range consisting of offset and length are out of bounds'"); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-slice.js b/implementation-contributed/javascriptcore/stress/typedarray-slice.js new file mode 100644 index 0000000000..99cbba6f6a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-slice.js @@ -0,0 +1,172 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.slice function" +); + +shouldBe("Int32Array.prototype.slice.length", "2"); +shouldBe("Int32Array.prototype.slice.name", "'slice'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('slice')"); +shouldBeTrue("testPrototypeReceivesArray('slice', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Test Basic Functionality"); +shouldBeTrue("testPrototypeFunction('slice', '(2, 3)', [12, 5, 8, 13, 44], [8], [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('slice', '(5, 5)', [12, 5, 8, 13, 44], [])"); +shouldBeTrue("testPrototypeFunction('slice', '(0, 5)', [12, 5, 8, 13, 44], [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('slice', '()', [12, 5, 8, 13, 44], [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('slice', '(0, -5)', [12, 5, 8, 13, 44], [])"); +shouldBeTrue("testPrototypeFunction('slice', '(-3, -2)', [12, 5, 8, 13, 44], [8])"); +shouldBeTrue("testPrototypeFunction('slice', '(4, 2)', [12, 5, 8, 13, 44], [])"); +shouldBeTrue("testPrototypeFunction('slice', '(-50, 50)', [12, 5, 8, 13, 44], [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('slice', '(0, 10)', 100000, [0,0,0,0,0,0,0,0,0,0])"); +debug(""); + +debug("2.0 Preserve Underlying bits"); + +var intView = new Int32Array(5); +intView[0] = -1; +var floatView = new Float32Array(intView.buffer); +floatView = floatView.slice(0,1); +intView = new Int32Array(floatView.buffer); + +shouldBe("intView[0]", "-1"); +debug(""); + +debug("3.0 Creates New Buffer"); + +var intView = new Int32Array(1) +var newView = intView.slice(0,1); +newView[0] = 1; +debug(""); + +shouldBe("intView[0]", "0"); +debug(""); + +debug("4.0 Symbol.species Test"); +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); + +function testSpecies(array, constructor) { + let newArray = array.slice(0, 0); + return newArray instanceof constructor; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpecies)"); + +Foo = class extends Int32Array { } +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:Foo, writable:true }); }); +function testSpeciesWithFoo(array, constructor) { + let newArray = array.slice(0, 0); + return newArray instanceof Foo; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesWithFoo)"); +debug(""); + +debug("4.1 Symbol.species Test throws"); +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:1, writable:true }); }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = Array; }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); +debug(""); + +debug("4.2 Symbol.species Test with Defaults"); +subclasses.forEach(function(constructor) { constructor[Symbol.species] = null; }); +function testSpeciesIsDefault(array, constructor) { + let newArray = array.slice(0, 0); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = undefined; }); +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); +function testSpeciesRemoveConstructor(array, constructor) { + array.constructor = undefined; + let newArray = array.slice(0, 0); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesRemoveConstructor)"); +debug(""); + +debug("5.0 Symbol.species returns a different type"); +buffer = new ArrayBuffer(64); +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:1, writable:true }); }); + +function setArray(array) { + array[0] = 43; + array[1] = 1.345; + array[3] = NaN; + array[4] = -Infinity; + array[5] = Infinity; + array[6] = -1; + array[7] = -0; + for (let i = 0; i < array.length; i++) + array[i] = 0; + +} + +function testSpeciesWithSameBuffer(unused, constructor) { + return typedArrays.every(function(speciesConstructor) { + constructor[Symbol.species] = function() { return new speciesConstructor(buffer); }; + let array = new constructor(buffer); + let otherArray = new speciesConstructor(buffer); + setArray(array); + for (let i = 0; i < array.length; i++) + otherArray[i] = array[i]; + + let resultString = otherArray.toString(); + + setArray(array); + otherArray = array.slice(0,array.length) + let sliceString = otherArray.toString(); + + if (sliceString === resultString) + return true; + + debug("Symbol.species didn't get the correct result got: " + sliceString + " but wanted: " + resultString); + debug("with initial type: " + constructor.__proto__.name + " and species type " + otherArray.constructor.name); + return false; + }); +} +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesWithSameBuffer)"); + +function testSpeciesWithTransferring(unused, constructor) { + + let array = new constructor(10); + Object.defineProperty(constructor, Symbol.species, { get() { + transferArrayBuffer(array.buffer); + return undefined; + }, configurable: true }); + + try { + array.slice(0,1); + return false; + } catch (e) { } + + array = new constructor(10); + Object.defineProperty(constructor, Symbol.species, { get() { + return function(len) { + let a = new constructor(len); + transferArrayBuffer(a.buffer); + return a; + } + }, configurable: true }); + + try { + array.slice(0,1); + return false; + } catch (e) { } + + return true; +} + +shouldBeTrue("forEachTypedArray(typedArrays, testSpeciesWithTransferring)"); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-some.js b/implementation-contributed/javascriptcore/stress/typedarray-some.js new file mode 100644 index 0000000000..013c496852 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-some.js @@ -0,0 +1,56 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.some function" +); + +shouldBe("Int32Array.prototype.some.length", "1"); +shouldBe("Int32Array.prototype.some.name", "'some'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('some')"); +shouldBeTrue("testPrototypeReceivesArray('some', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 Single Argument Testing"); +function isBigEnough(element, index, array) { + if (this.value) + return element >= this.value; + return element >= 10; +} +shouldBeTrue("testPrototypeFunction('some', '(isBigEnough)', [12, 5, 8, 13, 44], true, [12, 5, 8, 13, 44])"); +shouldBeTrue("testPrototypeFunction('some', '(isBigEnough)', [2, 4, 8, 3, 4], false)"); +debug(""); + +debug("2.0 Two Argument Testing"); +var thisValue = { value: 11 }; +shouldBeTrue("testPrototypeFunction('some', '(isBigEnough, thisValue)', [2, 5, 10, 3, 4], false)"); +shouldBeTrue("testPrototypeFunction('some', '(isBigEnough, thisValue)', [12, 54, 82, 13, 44], true)"); +debug(""); + +debug("3.0 Array Element Changing"); +function isBigEnoughAndChange(element, index, array) { + array[array.length - 1 - index] = 5; + return (element >= 10); +} +shouldBeTrue("testPrototypeFunction('some', '(isBigEnoughAndChange)', [2, 5, 1, 13, 44], false, [5, 5, 5, 5, 5])"); +shouldBeTrue("testPrototypeFunction('some', '(isBigEnoughAndChange)', [12, 15, 10, 13, 44], true, [12, 15, 10, 13, 5])"); +debug(""); + +debug("4.0 Exception Test"); +function isBigEnoughAndException(element, index, array) { + if(index==1) throw "exception from function"; + return (element >= 10); +} +shouldBeTrue("testPrototypeFunction('some', '(isBigEnoughAndException)', [12, 15, 10, 13, 44], true)"); +shouldThrow("testPrototypeFunction('some', '(isBigEnoughAndException)', [1, 15, 10, 13, 44], false)"); +debug(""); + +debug("5.0 Wrong Type for Callback Test"); +shouldThrow("testPrototypeFunction('some', '(8)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.some callback must be a function'"); +shouldThrow("testPrototypeFunction('some', '(\"wrong\")', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.some callback must be a function'"); +shouldThrow("testPrototypeFunction('some', '(new Object())', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.some callback must be a function'"); +shouldThrow("testPrototypeFunction('some', '(null)', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.some callback must be a function'"); +shouldThrow("testPrototypeFunction('some', '()', [12, 15, 10, 13, 44], false)", "'TypeError: TypedArray.prototype.some callback must be a function'"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-sort.js b/implementation-contributed/javascriptcore/stress/typedarray-sort.js new file mode 100644 index 0000000000..6941e0ad29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-sort.js @@ -0,0 +1,57 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.sort function" +); + +shouldBe("Int32Array.prototype.sort.length", "1"); +shouldBe("Int32Array.prototype.sort.name", "'sort'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('sort')"); +shouldBeTrue("testPrototypeReceivesArray('sort', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("testPrototypeFunction has the following arg list (name, args, init, result [ , expectedArray ])"); +debug(""); + +debug("1.0 No Argument Testing"); +shouldBeTrue("testPrototypeFunction('sort', '()', [12, 5, 8, 13, 44], [5, 8, 12, 13, 44], [5, 8, 12, 13, 44])"); +shouldBeTrue("testPrototypeFunction('sort', '()', [2, 4, 8, 3, 4], [2, 3, 4, 4, 8])"); +debug(""); + +debug("1.1 Signed Numbers"); +shouldBeTrue("testPrototypeFunctionOnSigned('sort', '()', [12, -5, 8, -13, 44], [-13, -5, 8, 12, 44])"); +debug(""); + +debug("1.2 Float Numbers"); +shouldBeTrue("testPrototypeFunctionOnFloat('sort', '()', [12, -5, 0, -0, -13, 44], [-13, -5, -0, 0, 12, 44])"); + +debug("1.3 Negative NaNs"); +var buffer = new ArrayBuffer(8); +var intView = new Int32Array(buffer); +var floatView = new Float32Array(buffer); +intView[0] = -1; + +floatView.sort(); +shouldBeTrue("Object.is(floatView[0],0) && Object.is(floatView[1], NaN)"); +debug(""); + +debug("2.0 Custom Function Testing"); +function sortBackwards(a, b) { return b - a; } +shouldBeTrue("testPrototypeFunction('sort', '(sortBackwards)', [2, 5, 10, 3, 4], [10, 5, 4, 3, 2])"); +debug(""); + +debug("3.0 Exception Test"); +var count = 0; +function compareException(a, b) { + if(count++ === 4) throw "exception from function"; + return a < b; +} +shouldThrow("testPrototypeFunction('sort', '(compareException)', [12, 15, 10, 13, 44], true)"); +debug(""); + +debug("4.0 Wrong Type for Callback Test"); +shouldBeTrue("testPrototypeFunction('sort', '(8)', [12, 15, 10, 13, 44], [10, 12, 13, 15, 44])"); +shouldBeTrue("testPrototypeFunction('sort', '(\"wrong\")', [12, 15, 10, 13, 44], [10, 12, 13, 15, 44])"); +shouldBeTrue("testPrototypeFunction('sort', '(new Object())', [12, 15, 10, 13, 44], [10, 12, 13, 15, 44])"); +shouldBeTrue("testPrototypeFunction('sort', '(null)', [12, 15, 10, 13, 44], [10, 12, 13, 15, 44])"); +debug(""); +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-subarray.js b/implementation-contributed/javascriptcore/stress/typedarray-subarray.js new file mode 100644 index 0000000000..eb730e4ba4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-subarray.js @@ -0,0 +1,78 @@ +load("./resources/typedarray-test-helper-functions.js"); +description( +"This test checks the behavior of the TypedArray.prototype.subarray function" +); + +shouldBe("Int32Array.prototype.subarray.length", "2"); +shouldBe("Int32Array.prototype.subarray.name", "'subarray'"); +shouldBeTrue("isSameFunctionForEachTypedArrayPrototype('subarray')"); +shouldBeTrue("testPrototypeReceivesArray('subarray', [undefined, this, { }, [ ], true, ''])"); +debug(""); + +debug("1.0 Symbol.species Test"); +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); + +function testSpecies(array, constructor) { + let newArray = array.subarray(0, 0); + return newArray instanceof constructor; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpecies)"); + +Foo = class extends Int32Array { } +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:Foo, writable:true }); }); +function testSpeciesWithFoo(array, constructor) { + let newArray = array.subarray(0, 0); + return newArray instanceof Foo; +} +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesWithFoo)"); +debug(""); + +debug("4.1 Symbol.species Test throws"); +subclasses.forEach(function(constructor) { Object.defineProperty(constructor, Symbol.species, { value:1, writable:true }); }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = Array; }); +shouldThrow("forEachTypedArray(subclasses, testSpecies)"); +debug(""); + +debug("4.2 Symbol.species Test with Defaults"); +subclasses.forEach(function(constructor) { constructor[Symbol.species] = null; }); +function testSpeciesIsDefault(array, constructor) { + let newArray = array.subarray(0, 0); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses.forEach(function(constructor) { constructor[Symbol.species] = undefined; }); +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesIsDefault)"); + +subclasses = typedArrays.map(function(constructor) { return class extends constructor { } } ); +function testSpeciesRemoveConstructor(array, constructor) { + array.constructor = undefined; + let newArray = array.subarray(0, 0); + let defaultConstructor = typedArrays[subclasses.indexOf(constructor)]; + return newArray instanceof defaultConstructor; +} + +shouldBeTrue("forEachTypedArray(subclasses, testSpeciesRemoveConstructor)"); + +debug("5.0 Coercion First Argument"); +shouldBeTrue("testPrototypeFunction('subarray', '(true)', [1, 2, 3, 4], [2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('subarray', '(\"abc\")', [1, 2, 3, 4], [1, 2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('subarray', '({ valueOf() { return Infinity; } })', [1, 2, 3, 4], [])"); +shouldBeTrue("testPrototypeFunction('subarray', '({ valueOf() { return -0; } })', [1, 2, 3, 4], [1, 2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('subarray', '(null)', [1, 2, 3, 4], [1, 2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('subarray', '(undefined)', [1, 2, 3, 4], [1, 2, 3, 4])"); + +debug("5.1 Coercion Second Argument"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, true)', [1, 2, 3, 4], [1])"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, \"abc\")', [1, 2, 3, 4], [])"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, \"1\")', [1, 2, 3, 4], [1])"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, undefined)', [1, 2, 3, 4], [1, 2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, { valueOf() { return Infinity; } })', [1, 2, 3, 4], [1, 2, 3, 4])"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, { valueOf() { return -0; } })', [1, 2, 3, 4], [])"); +shouldBeTrue("testPrototypeFunction('subarray', '(0, null)', [1, 2, 3, 4], [])"); + +finishJSTest(); diff --git a/implementation-contributed/javascriptcore/stress/typedarray-view-string-properties-neutered.js b/implementation-contributed/javascriptcore/stress/typedarray-view-string-properties-neutered.js new file mode 100644 index 0000000000..dbf6815b13 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typedarray-view-string-properties-neutered.js @@ -0,0 +1,49 @@ +typedArrays = [Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array]; + + +function call(thunk) { + thunk(); +} +noInline(call); + +let name = ["map", "reduce"]; +// First test with every access being neutered. +function test(constructor) { + let array = new constructor(10); + transferArrayBuffer(array.buffer); + for (let i = 0; i < 10000; i++) { + call(() => { + if (array.map !== constructor.prototype.map) + throw new Error(); + }); + call(() => { + if (array[name[i % 2]] !== constructor.prototype[name[i % 2]]) + throw new Error(); + }); + } +} + +for (constructor of typedArrays) { + test(constructor); +} + +// Next test with neutered after tier up. +function test(constructor) { + let array = new constructor(10); + let i = 0; + fnId = () => { + if (array.map !== constructor.prototype.map) + throw new Error(); + }; + fnVal = () => { + if (array[name[i % 2]] !== constructor.prototype[name[i % 2]]) + throw new Error(); + }; + for (; i < 10000; i++) { + call(fnId); + call(fnVal); + } + transferArrayBuffer(array.buffer); + call(fnId); + call(fnVal); +} diff --git a/implementation-contributed/javascriptcore/stress/typeof-dfg-function-or-object.js b/implementation-contributed/javascriptcore/stress/typeof-dfg-function-or-object.js new file mode 100644 index 0000000000..6441112bfb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typeof-dfg-function-or-object.js @@ -0,0 +1,25 @@ +function assert(b) { + if (!b) { + throw new Error("Bad") + } +} + +function foo(arg) { + let o; + if (arg) { + o = {}; + } else { + o = function() { } + } + return typeof o; +} +noInline(foo); + +for (let i = 0; i < 10000; i++) { + let bool = !!(i % 2); + let result = foo(bool); + if (bool) + assert(result === "object"); + else + assert(result === "function"); +} diff --git a/implementation-contributed/javascriptcore/stress/typeof-symbol.js b/implementation-contributed/javascriptcore/stress/typeof-symbol.js new file mode 100644 index 0000000000..02dbb05f3a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/typeof-symbol.js @@ -0,0 +1,16 @@ +(function () { + function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${actual}`); + } + noInline(shouldBe); + + function target() { + var symbol = Symbol("Cocoa"); + shouldBe(typeof symbol, "symbol"); + } + noInline(target); + + for (var i = 0; i < 10000; ++i) + target(); +}()); diff --git a/implementation-contributed/javascriptcore/stress/uint32-comparison-jump.js b/implementation-contributed/javascriptcore/stress/uint32-comparison-jump.js new file mode 100644 index 0000000000..8a6be9f71a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/uint32-comparison-jump.js @@ -0,0 +1,141 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function above(a, trap) { + let result = 0; + for (let i = 0; (a >>> 0) > (i >>> 0); ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(above); + +function aboveOrEqual(a, trap) { + let result = 0; + for (let i = 0; (a >>> 0) >= (i >>> 0); ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(aboveOrEqual); + +function below(a, trap) { + let result = 0; + for (let i = 0; (i >>> 0) < (a >>> 0); ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(below); + +function belowOrEqual(a, trap) { + let result = 0; + for (let i = 0; (i >>> 0) <= (a >>> 0); ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(belowOrEqual); + +function notAbove(a, trap) { + let result = 0; + for (let i = 0; (a >>> 0) > (i >>> 0) && a; ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(notAbove); + +function notAboveOrEqual(a, trap) { + let result = 0; + for (let i = 0; (a >>> 0) >= (i >>> 0) && a; ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(notAboveOrEqual); + +function notBelow(a, trap) { + let result = 0; + for (let i = 0; (i >>> 0) < (a >>> 0) && a; ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(notBelow); + +function notBelowOrEqual(a, trap) { + let result = 0; + for (let i = 0; (i >>> 0) <= (a >>> 0) && a; ++i) { + result += i; + if (i === trap) + break; + } + return result; +} +noInline(notBelowOrEqual); + +for (var i = 0; i < 1e2; ++i) { + shouldBe(above(0, -1), 0); + shouldBe(above(20000, -1), 199990000); + shouldBe(above(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(aboveOrEqual(0, -1), 0); + shouldBe(aboveOrEqual(20000, -1), 200010000); + shouldBe(aboveOrEqual(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(below(0, -1), 0); + shouldBe(below(20000, -1), 199990000); + shouldBe(below(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(belowOrEqual(0, -1), 0); + shouldBe(belowOrEqual(20000, -1), 200010000); + shouldBe(belowOrEqual(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(notAbove(0, -1), 0); + shouldBe(notAbove(20000, -1), 199990000); + shouldBe(notAbove(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(notAboveOrEqual(0, -1), 0); + shouldBe(notAboveOrEqual(20000, -1), 200010000); + shouldBe(notAboveOrEqual(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(notBelow(0, -1), 0); + shouldBe(notBelow(20000, -1), 199990000); + shouldBe(notBelow(-1, 10000), 50005000); +} + +for (var i = 0; i < 1e2; ++i) { + shouldBe(notBelowOrEqual(0, -1), 0); + shouldBe(notBelowOrEqual(20000, -1), 200010000); + shouldBe(notBelowOrEqual(-1, 10000), 50005000); +} + diff --git a/implementation-contributed/javascriptcore/stress/uint32-comparison.js b/implementation-contributed/javascriptcore/stress/uint32-comparison.js new file mode 100644 index 0000000000..07bec6a698 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/uint32-comparison.js @@ -0,0 +1,88 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function above(a, b) { + return (a >>> 0) > (b >>> 0); +} +noInline(above); + +function aboveOrEqual(a, b) { + return (a >>> 0) >= (b >>> 0); +} +noInline(aboveOrEqual); + +function below(a, b) { + return (a >>> 0) < (b >>> 0); +} +noInline(below); + +function belowOrEqual(a, b) { + return (a >>> 0) <= (b >>> 0); +} +noInline(belowOrEqual); + +(function aboveTest() { + for (let i = 0; i < 1e5; ++i) { + shouldBe(above(0, 20), false); + shouldBe(above(0, 0), false); + shouldBe(above(0, -0), false); + shouldBe(above(-1, 0), true); + shouldBe(above(-1, -1), false); + shouldBe(above(-1, 1), true); + shouldBe(above(1, -1), false); + shouldBe(above(1, 0xffffffff), false); + shouldBe(above(0xffffffff, 0xffffffff), false); + shouldBe(above(-1, 0xffffffff), false); + shouldBe(above(-1, 0xfffffffff), false); + } +}()); + +(function aboveOrEqualTest() { + for (let i = 0; i < 1e5; ++i) { + shouldBe(aboveOrEqual(0, 20), false); + shouldBe(aboveOrEqual(0, 0), true); + shouldBe(aboveOrEqual(0, -0), true); + shouldBe(aboveOrEqual(-1, 0), true); + shouldBe(aboveOrEqual(-1, -1), true); + shouldBe(aboveOrEqual(-1, 1), true); + shouldBe(aboveOrEqual(1, -1), false); + shouldBe(aboveOrEqual(1, 0xffffffff), false); + shouldBe(aboveOrEqual(0xffffffff, 0xffffffff), true); + shouldBe(aboveOrEqual(-1, 0xffffffff), true); + shouldBe(aboveOrEqual(-1, 0xfffffffff), true); + } +}()); + +(function belowTest() { + for (let i = 0; i < 1e5; ++i) { + shouldBe(below(0, 20), true); + shouldBe(below(0, 0), false); + shouldBe(below(0, -0), false); + shouldBe(below(-1, 0), false); + shouldBe(below(-1, -1), false); + shouldBe(below(-1, 1), false); + shouldBe(below(1, -1), true); + shouldBe(below(1, 0xffffffff), true); + shouldBe(below(0xffffffff, 0xffffffff), false); + shouldBe(below(-1, 0xffffffff), false); + shouldBe(below(-1, 0xfffffffff), false); + } +}()); + +(function belowOrEqualTest() { + for (let i = 0; i < 1e5; ++i) { + shouldBe(belowOrEqual(0, 20), true); + shouldBe(belowOrEqual(0, 0), true); + shouldBe(belowOrEqual(0, -0), true); + shouldBe(belowOrEqual(-1, 0), false); + shouldBe(belowOrEqual(-1, -1), true); + shouldBe(belowOrEqual(-1, 1), false); + shouldBe(belowOrEqual(1, -1), true); + shouldBe(belowOrEqual(1, 0xffffffff), true); + shouldBe(belowOrEqual(0xffffffff, 0xffffffff), true); + shouldBe(belowOrEqual(-1, 0xffffffff), true); + shouldBe(belowOrEqual(-1, 0xfffffffff), true); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/uint32-to-number-constant-folding.js b/implementation-contributed/javascriptcore/stress/uint32-to-number-constant-folding.js new file mode 100644 index 0000000000..ce0587a070 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/uint32-to-number-constant-folding.js @@ -0,0 +1,84 @@ +function uint32ToNumberMinusOne() +{ + return (-1) >>> 0; +} +noInline(uint32ToNumberMinusOne); + +function uint32ToNumberMinusOnePlusInteger(a) +{ + return ((-1) >>> 0) + a; +} +noInline(uint32ToNumberMinusOnePlusInteger); + +function inlineMinusOne() +{ + return -1; +} + +function uint32ToNumberOnHiddenMinusOne() +{ + return inlineMinusOne() >>> 0; +} +noInline(uint32ToNumberOnHiddenMinusOne); + +function uint32ToNumberOnHiddenMinusOnePlusInteger(a) +{ + return (inlineMinusOne() >>> 0) + a; +} +noInline(uint32ToNumberOnHiddenMinusOnePlusInteger); + +function inlineLargeNegativeNumber1() +{ + return -2251799813685248; +} + +function inlineLargeNegativeNumber2() +{ + return -2251799813685249; +} + +function inlineLargeNegativeNumber3() +{ + return -2251799813685250; +} + +function uint32ToNumberOnHiddenLargeNegativeNumber1() +{ + return inlineLargeNegativeNumber1() >>> 0; +} +noInline(uint32ToNumberOnHiddenLargeNegativeNumber1); + +function uint32ToNumberOnHiddenLargeNegativeNumber2() +{ + return inlineLargeNegativeNumber2() >>> 0; +} +noInline(uint32ToNumberOnHiddenLargeNegativeNumber2); + +function uint32ToNumberOnHiddenLargeNegativeNumber3() +{ + return inlineLargeNegativeNumber3() >>> 0; +} +noInline(uint32ToNumberOnHiddenLargeNegativeNumber3); + +for (let i = 0; i < 1e6; ++i) { + if (uint32ToNumberMinusOne() !== 4294967295) + throw "Failed uint32ToNumberMinusOne()"; + + if (uint32ToNumberMinusOnePlusInteger(1) !== 4294967296) + throw "Failed uint32ToNumberMinusOnePlusOne()"; + + if (uint32ToNumberOnHiddenMinusOne() !== 4294967295) + throw "Failed uint32ToNumberOnHiddenMinusOne()"; + + if (uint32ToNumberOnHiddenMinusOnePlusInteger(1) !== 4294967296) + throw "Failed uint32ToNumberOnHiddenMinusOnePlusInteger()"; + + if (uint32ToNumberOnHiddenLargeNegativeNumber1() !== 0) + throw "Failed uint32ToNumberOnHiddenLargeNegativeNumber1()"; + + if (uint32ToNumberOnHiddenLargeNegativeNumber2() !== 4294967295) + throw "Failed uint32ToNumberOnHiddenLargeNegativeNumber2()"; + + if (uint32ToNumberOnHiddenLargeNegativeNumber3() !== 4294967294) + throw "Failed uint32ToNumberOnHiddenLargeNegativeNumber3()"; +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/uint32-to-number-fold-constant-with-do-overflow.js b/implementation-contributed/javascriptcore/stress/uint32-to-number-fold-constant-with-do-overflow.js new file mode 100644 index 0000000000..cedea943f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/uint32-to-number-fold-constant-with-do-overflow.js @@ -0,0 +1,27 @@ +function foo(a, b) { + return a >>> b; +} + +function bar(a, b) { + return foo(a, b); +} + +noInline(bar); + +for (var i = 0; i < 1000000; ++i) { + var result = bar(-1, 0); + if (result != 4294967295) + throw "Error: bad result: " + result; +} + +function baz(a) { + return foo(a, 1); +} + +noInline(baz); + +for (var i = 0; i < 1000000; ++i) { + var result = baz(-1); + if (result != 2147483647) + throw "Error: bad result: " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/uint32-to-number-overflows-to-uint52.js b/implementation-contributed/javascriptcore/stress/uint32-to-number-overflows-to-uint52.js new file mode 100644 index 0000000000..4885dd8580 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/uint32-to-number-overflows-to-uint52.js @@ -0,0 +1,50 @@ +function simpleArith(number) +{ + return (number >>> 0) + 1; +} +noInline(simpleArith); + +for (let i = 0; i < 1e6; ++i) { + let simpleArithResult = simpleArith(i); + if (simpleArithResult !== i + 1) + throw "Failed simpleArith(i) at i = " + i; + + simpleArithResult = simpleArith(2147483647); + if (simpleArithResult !== 2147483648) + throw "Failed simpleArith(2147483647)"; + + simpleArithResult = simpleArith(-1); + if (simpleArithResult !== 4294967296) + throw "Failed simpleArith(-1) at i = " + i; +} + +// Make it OSR Exit. +if (simpleArith({ valueOf: function() { return 5; }}) !== 6) + throw "Failed simpleArith({ toValue: function() { return 5; }}"; +if (simpleArith("WebKit!") !== 1) + throw "Failed simpleArith({ toValue: function() { return 5; }}"; + + +function compareToLargeNumber(value) +{ + return (value >>> 0) < 4294967294; +} +noInline(compareToLargeNumber); + +for (let i = 0; i < 1e6; ++i) { + let compareResult = compareToLargeNumber(i); + if (compareResult !== true) + throw "Failed compareToLargeNumber(i) at i = " + i; + + compareResult = compareToLargeNumber(-3); + if (compareResult !== true) + throw "Failed compareToLargeNumber(4294967293) at i = " + i; + + compareResult = compareToLargeNumber(-2); + if (compareResult !== false) + throw "Failed compareToLargeNumber(4294967294) at i = " + i; + + compareResult = compareToLargeNumber(-1); + if (compareResult !== false) + throw "Failed compareToLargeNumber(4294967295) at i = " + i; +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/uint32array-unsigned-load.js b/implementation-contributed/javascriptcore/stress/uint32array-unsigned-load.js new file mode 100644 index 0000000000..14c795949c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/uint32array-unsigned-load.js @@ -0,0 +1,15 @@ +function foo(a) { + return a[0] + 1; +} + +noInline(foo); + +var a = new Uint32Array(1); +a[0] = -1; + +for (var i = 0; i < 10000; ++i) { + var result = foo(a); + if (result != 4294967296) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/undecided-concat.js b/implementation-contributed/javascriptcore/stress/undecided-concat.js new file mode 100644 index 0000000000..77fc0153ea --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/undecided-concat.js @@ -0,0 +1,8 @@ +// This is guaranteed to scribble free cells. +//@ runNoCJITValidate + +var result = (new Array(64).concat(new Array(64))).concat(["hello"]); + +var value = result[0]; +if (value !== void 0) + throw "Error: bad result: " + value; diff --git a/implementation-contributed/javascriptcore/stress/undecided-length.js b/implementation-contributed/javascriptcore/stress/undecided-length.js new file mode 100644 index 0000000000..8bd8e901b8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/undecided-length.js @@ -0,0 +1,25 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +var array = []; + +function test1(array) +{ + return array.length; +} +noInline(test1); +for (var i = 0; i < 1e5; ++i) + shouldBe(test1(array), 0); + +var array = []; +array.ok = 42; + +function test2(array) +{ + return array.length; +} +noInline(test2); +for (var i = 0; i < 1e5; ++i) + shouldBe(test2(array), 0); diff --git a/implementation-contributed/javascriptcore/stress/undefined-access-dictionary-then-proto-change.js b/implementation-contributed/javascriptcore/stress/undefined-access-dictionary-then-proto-change.js new file mode 100644 index 0000000000..96fefa47d9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/undefined-access-dictionary-then-proto-change.js @@ -0,0 +1,17 @@ +function foo() { + var p = {}; + var o = {}; + o.__proto__ = p; + var result; + for (var i = 0; i < 100; ++i) { + result = o.f; + if (i == 50) + p.f = 42; + } + return result; +} + +var result = foo(); +if (result != 42) + throw "Error: bad result: " + result; + diff --git a/implementation-contributed/javascriptcore/stress/undefined-access-then-proto-change.js b/implementation-contributed/javascriptcore/stress/undefined-access-then-proto-change.js new file mode 100644 index 0000000000..e04b63cf8f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/undefined-access-then-proto-change.js @@ -0,0 +1,19 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var p = {}; +var o = Object.create(p); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== void 0) + throw "Error: bad result in loop: " + result; +} + +p.f = 42; +var result = foo(o); +if (result !== 42) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/undefined-access-then-self-change.js b/implementation-contributed/javascriptcore/stress/undefined-access-then-self-change.js new file mode 100644 index 0000000000..685ab10020 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/undefined-access-then-self-change.js @@ -0,0 +1,18 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var o = Object.create(null); + +for (var i = 0; i < 10000; ++i) { + var result = foo(o); + if (result !== void 0) + throw "Error: bad result in loop: " + result; +} + +o.f = 42 +var result = foo(o); +if (result !== 42) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/unescape.js b/implementation-contributed/javascriptcore/stress/unescape.js new file mode 100644 index 0000000000..f8c1524348 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/unescape.js @@ -0,0 +1,7 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +shouldBe(unescape("%0"), "%0"); +shouldBe(unescape("%a"), "%a"); diff --git a/implementation-contributed/javascriptcore/stress/unscopables.js b/implementation-contributed/javascriptcore/stress/unscopables.js new file mode 100644 index 0000000000..a6efd36cfd --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/unscopables.js @@ -0,0 +1,239 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + var array = []; + var unscopables = array[Symbol.unscopables]; + + test(typeof unscopables, "object"); + test(unscopables.__proto__, undefined); + test(String(Object.keys(unscopables).sort()), "copyWithin,entries,fill,find,findIndex,includes,keys,values"); +}()); + +(function () { + var find = "Cocoa"; + var forEach = "Hidden"; + var array = []; + test(typeof array.find, "function"); + + with (array) { + test(typeof find, "string"); + test(find, "Cocoa"); + test(typeof forEach, "function"); + test(__proto__, Array.prototype); // array's unscopables.__proto__ is undefined => false. + } +}()); + +(function () { + var object = { + [Symbol.unscopables]: { + Cocoa: false, + Cappuccino: true + }, + + Cocoa: null, + Cappuccino: null + }; + + var Cocoa = "Cocoa"; + var Cappuccino = "Cappuccino"; + var toString = "toString"; + + with (object) { + test(Cocoa, null); + test(Cappuccino, "Cappuccino"); + test(toString, "toString"); // object.toString is hidden by unscopables.toString. + } + + object[Symbol.unscopables].Cocoa = true; + + with (object) { + test(Cocoa, "Cocoa"); + test(Cappuccino, "Cappuccino"); + } +}()); + +(function () { + var unscopables = Object.create(null); + unscopables.Cocoa = false; + unscopables.Cappuccino = true; + + var object = { + [Symbol.unscopables]: unscopables, + Cocoa: null, + Cappuccino: null, + Matcha: null + }; + + var Cocoa = "Cocoa"; + var Cappuccino = "Cappuccino"; + var Matcha = "Matcha"; + var toString = "toString"; + + with (object) { + test(Cocoa, null); + test(Cappuccino, "Cappuccino"); + test(Matcha, null); + test(toString, Object.prototype.toString); + } + + object[Symbol.unscopables].Cocoa = true; + object[Symbol.unscopables].Cappuccino = false; + object[Symbol.unscopables].toString = true; + + with (object) { + test(Cocoa, "Cocoa"); + test(Cappuccino, null); + test(toString, "toString"); + test(Matcha, null); + } +}()); + +(function () { + var proto = Object.create(null); + var unscopables = Object.create(proto); + unscopables.Cocoa = false; + unscopables.Cappuccino = true; + + var object = { + [Symbol.unscopables]: unscopables, + Cocoa: null, + Cappuccino: null, + Matcha: null + }; + + var Cocoa = "Cocoa"; + var Cappuccino = "Cappuccino"; + var Matcha = "Matcha"; + var toString = "toString"; + + with (object) { + test(Cocoa, null); + test(Cappuccino, "Cappuccino"); + test(Matcha, null); + test(toString, Object.prototype.toString); + } + + object[Symbol.unscopables].Cocoa = true; + object[Symbol.unscopables].Cappuccino = false; + object[Symbol.unscopables].toString = true; + + with (object) { + test(Cocoa, "Cocoa"); + test(Cappuccino, null); + test(toString, "toString"); + test(Matcha, null); + } + + proto.Matcha = true; + + with (object) { + test(Cocoa, "Cocoa"); + test(Cappuccino, null); + test(toString, "toString"); + test(Matcha, "Matcha"); + } +}()); + +(function () { + var object = { + get Cocoa() { + throw new Error("bad trap"); + }, + Cappuccino: null + }; + + object[Symbol.unscopables] = { + Cocoa: true, + Cappuccino: true + }; + + var Cocoa = "Cocoa"; + var Cappuccino = "Cappuccino"; + var toString = "toString"; + + with (object) { + test(Cocoa, "Cocoa"); + } + + object[Symbol.unscopables].Cocoa = false; + + var error = null; + try { + with (object) { + Cocoa; + } + } catch (e) { + error = e; + } + test(String(error), "Error: bad trap"); +}()); + +(function () { + var object = { + Cocoa: null, + }; + Object.defineProperty(object, Symbol.unscopables, { + get: function () { + throw new Error("unscopables trap"); + } + }); + + var Cocoa = "Cocoa"; + var Cappuccino = "Cappuccino"; + + var error = null; + try { + with (object) { + Cocoa + } + } catch (e) { + error = e; + } + test(String(error), "Error: unscopables trap"); + + with (object) { + test(Cappuccino, "Cappuccino"); + } +}()); + +(function () { + var object = { + [Symbol.unscopables]: { + get Cocoa() { + throw new Error("unscopables trap"); + } + }, + Cocoa: null, + }; + var Cocoa = "Cocoa"; + var Cappuccino = "Cappuccino"; + + var error = null; + try { + with (object) { + Cocoa + } + } catch (e) { + error = e; + } + test(String(error), "Error: unscopables trap"); + + with (object) { + test(Cappuccino, "Cappuccino"); + } +}()); + +(function () { + var object = { + [Symbol.unscopables]: 42, + Cocoa: "OK", + }; + var Cocoa = "Cocoa"; + + with (object) { + test(Cocoa, "OK"); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/unshift-array-storage.js b/implementation-contributed/javascriptcore/stress/unshift-array-storage.js new file mode 100644 index 0000000000..a4f9fb4eef --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/unshift-array-storage.js @@ -0,0 +1,13 @@ +// FIXME: Bring back something like the deferGC probability mode. +// https://bugs.webkit.org/show_bug.cgi?id=166627 +//@ skip +// //@ runFTLNoCJIT("--scribbleFreeCells=true", "--deferGCShouldCollectWithProbability=true", "--deferGCProbability=1") + +// Create some array storage. +var array = []; +ensureArrayStorage(array); + +for (var i = 0; i < 1000; ++i) + array.push(i); + +array.unshift(1, 2, 3, 4); // This will crash if we aren't careful about when we GC during unshift. diff --git a/implementation-contributed/javascriptcore/stress/unshiftCountSlowCase-correct-postCapacity.js b/implementation-contributed/javascriptcore/stress/unshiftCountSlowCase-correct-postCapacity.js new file mode 100644 index 0000000000..f1efbf5f55 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/unshiftCountSlowCase-correct-postCapacity.js @@ -0,0 +1,26 @@ +//@ if $buildType == "release" && !$memoryLimited then runDefault else skip end + +function temp(i) { + let a1 = [{}]; + a1.foo = 20; + a1.foo1 = 20; + a1.foo2 = 20; + a1.foo3 = 20; + a1.foo4 = 20; + a1.foo5 = 20; + a1.foo6 = 20; + a1.foo8 = 20; + a1.foo10 = 20; + a1.foo11 = 20; + delete a1[0]; + try { + let args = [-15, 1, 'foo', 20, 'bar']; + for (let j = 0; j < i; ++j) + args.push(j); + for (let i = 0; i < 2**31 - 1; ++i) { + Array.prototype.splice.apply(a1, args); + } + } catch(e) { } +} +let i = 62; +temp(i); diff --git a/implementation-contributed/javascriptcore/stress/untyped-add.js b/implementation-contributed/javascriptcore/stress/untyped-add.js new file mode 100644 index 0000000000..00cf16878e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-add.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a + b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [2, 3.5, "31", 5]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-bit-and.js b/implementation-contributed/javascriptcore/stress/untyped-bit-and.js new file mode 100644 index 0000000000..8c952240a8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-bit-and.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a & b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [0, 2, 2, 0]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-bit-or.js b/implementation-contributed/javascriptcore/stress/untyped-bit-or.js new file mode 100644 index 0000000000..1160a928f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-bit-or.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a | b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [3, 2, 3, 6]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-bit-xor.js b/implementation-contributed/javascriptcore/stress/untyped-bit-xor.js new file mode 100644 index 0000000000..3b11fab2e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-bit-xor.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a ^ b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [3, 0, 1, 6]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-div.js b/implementation-contributed/javascriptcore/stress/untyped-div.js new file mode 100644 index 0000000000..d1b74d8b9c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-div.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a / b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [0.5, 1.25, 1.5, 2]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-equality.js b/implementation-contributed/javascriptcore/stress/untyped-equality.js new file mode 100644 index 0000000000..093761b1f6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-equality.js @@ -0,0 +1,20 @@ +function foo(a, b) { + return a == b; +} + +noInline(foo); + +var data = [ + [5, 6.5, false], + ["foo", "bar", false], + [true, false, false], + ["42", 42, true], + [1.2, 1.2, true] +]; + +for (var i = 0; i < 100000; ++i) { + var test = data[i % data.length]; + var result = foo(test[0], test[1]); + if (result != test[2]) + throw "Error: bad result for " + test + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/untyped-less-than.js b/implementation-contributed/javascriptcore/stress/untyped-less-than.js new file mode 100644 index 0000000000..c37f36715d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-less-than.js @@ -0,0 +1,23 @@ +function foo(a, b) { + return a < b; +} + +noInline(foo); + +var data = [ + [5, 6.5, true], + ["foo", "bar", false], + [true, false, false], + [false, true, true], + ["42", 42, false], + [1.2, 1.2, false], + ["-1", 1, true], + [-1, "1", true] +]; + +for (var i = 0; i < 100000; ++i) { + var test = data[i % data.length]; + var result = foo(test[0], test[1]); + if (result != test[2]) + throw "Error: bad result for " + test + ": " + result; +} diff --git a/implementation-contributed/javascriptcore/stress/untyped-lshift.js b/implementation-contributed/javascriptcore/stress/untyped-lshift.js new file mode 100644 index 0000000000..9b8b866b07 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-lshift.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a << b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [2, 4, 6, 8]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-mul.js b/implementation-contributed/javascriptcore/stress/untyped-mul.js new file mode 100644 index 0000000000..90af2dc378 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-mul.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a * b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [2, 5, 6, 8]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 2); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-rshift.js b/implementation-contributed/javascriptcore/stress/untyped-rshift.js new file mode 100644 index 0000000000..9222dceb99 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-rshift.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a >> b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [0, 1, 1, 2]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-sub.js b/implementation-contributed/javascriptcore/stress/untyped-sub.js new file mode 100644 index 0000000000..bd128b6305 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-sub.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a - b; +} + +noInline(foo); + +var things = [1, 2.5, "3", {valueOf: function() { return 4; }}]; +var results = [0, 1.5, 2, 3]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/untyped-urshift.js b/implementation-contributed/javascriptcore/stress/untyped-urshift.js new file mode 100644 index 0000000000..756c24f1eb --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/untyped-urshift.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return a >>> b; +} + +noInline(foo); + +var things = [1, 2.5, "-3", {valueOf: function() { return 4; }}]; +var results = [0, 1, 2147483646, 2]; + +for (var i = 0; i < 100000; ++i) { + var result = foo(things[i % things.length], 1); + var expected = results[i % results.length]; + if (result != expected) + throw "Error: bad result for i = " + i + ": " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/use-arguments-as-object-pointer.js b/implementation-contributed/javascriptcore/stress/use-arguments-as-object-pointer.js new file mode 100644 index 0000000000..c9d24c125a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/use-arguments-as-object-pointer.js @@ -0,0 +1,13 @@ +function foo() { + arguments = {f:42}; + return arguments.f; +} + +noInline(foo); + +for (var i = 0; i < 100000; ++i) { + var result = foo(); + if (result != 42) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/v8-crypto-strict.js b/implementation-contributed/javascriptcore/stress/v8-crypto-strict.js new file mode 100644 index 0000000000..c33d7736b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-crypto-strict.js @@ -0,0 +1,1697 @@ +"use strict"; + +/* + * Copyright (c) 2003-2005 Tom Wu + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, + * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY + * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + * + * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL, + * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER + * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF + * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT + * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * In addition, the following condition applies: + * + * All redistributions must retain an intact copy of this copyright notice + * and disclaimer. + */ + +// Basic JavaScript BN library - subset useful for RSA encryption. + +// Bits per digit +var dbits; +var BI_DB; +var BI_DM; +var BI_DV; + +var BI_FP; +var BI_FV; +var BI_F1; +var BI_F2; + +// JavaScript engine analysis +var canary = 0xdeadbeefcafe; +var j_lm = ((canary&0xffffff)==0xefcafe); + +// (public) Constructor +function BigInteger(a,b,c) { + this.array = new Array(); + if(a != null) + if("number" == typeof a) this.fromNumber(a,b,c); + else if(b == null && "string" != typeof a) this.fromString(a,256); + else this.fromString(a,b); +} + +// return new, unset BigInteger +function nbi() { return new BigInteger(null); } + +// am: Compute w_j += (x*this_i), propagate carries, +// c is initial carry, returns final carry. +// c < 3*dvalue, x < 2*dvalue, this_i < dvalue +// We need to select the fastest one that works in this environment. + +// am1: use a single mult and divide to get the high bits, +// max digit bits should be 26 because +// max internal value = 2*dvalue^2-2*dvalue (< 2^53) +function am1(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + while(--n >= 0) { + var v = x*this_array[i++]+w_array[j]+c; + c = Math.floor(v/0x4000000); + w_array[j++] = v&0x3ffffff; + } + return c; +} + +// am2 avoids a big mult-and-extract completely. +// Max digit bits should be <= 30 because we do bitwise ops +// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31) +function am2(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + var xl = x&0x7fff, xh = x>>15; + while(--n >= 0) { + var l = this_array[i]&0x7fff; + var h = this_array[i++]>>15; + var m = xh*l+h*xl; + l = xl*l+((m&0x7fff)<<15)+w_array[j]+(c&0x3fffffff); + c = (l>>>30)+(m>>>15)+xh*h+(c>>>30); + w_array[j++] = l&0x3fffffff; + } + return c; +} + +// Alternately, set max digit bits to 28 since some +// browsers slow down when dealing with 32-bit numbers. +function am3(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + + var xl = x&0x3fff, xh = x>>14; + while(--n >= 0) { + var l = this_array[i]&0x3fff; + var h = this_array[i++]>>14; + var m = xh*l+h*xl; + l = xl*l+((m&0x3fff)<<14)+w_array[j]+c; + c = (l>>28)+(m>>14)+xh*h; + w_array[j++] = l&0xfffffff; + } + return c; +} + +// This is tailored to VMs with 2-bit tagging. It makes sure +// that all the computations stay within the 29 bits available. +function am4(i,x,w,j,c,n) { + var this_array = this.array; + var w_array = w.array; + + var xl = x&0x1fff, xh = x>>13; + while(--n >= 0) { + var l = this_array[i]&0x1fff; + var h = this_array[i++]>>13; + var m = xh*l+h*xl; + l = xl*l+((m&0x1fff)<<13)+w_array[j]+c; + c = (l>>26)+(m>>13)+xh*h; + w_array[j++] = l&0x3ffffff; + } + return c; +} + +// am3/28 is best for SM, Rhino, but am4/26 is best for v8. +// Kestrel (Opera 9.5) gets its best result with am4/26. +// IE7 does 9% better with am3/28 than with am4/26. +// Firefox (SM) gets 10% faster with am3/28 than with am4/26. + +var setupEngine = function(fn, bits) { + BigInteger.prototype.am = fn; + dbits = bits; + + BI_DB = dbits; + BI_DM = ((1<= 0; --i) r_array[i] = this_array[i]; + r.t = this.t; + r.s = this.s; +} + +// (protected) set from integer value x, -DV <= x < DV +function bnpFromInt(x) { + var this_array = this.array; + this.t = 1; + this.s = (x<0)?-1:0; + if(x > 0) this_array[0] = x; + else if(x < -1) this_array[0] = x+DV; + else this.t = 0; +} + +// return bigint initialized to value +function nbv(i) { var r = nbi(); r.fromInt(i); return r; } + +// (protected) set from string and radix +function bnpFromString(s,b) { + var this_array = this.array; + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 256) k = 8; // byte array + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else { this.fromRadix(s,b); return; } + this.t = 0; + this.s = 0; + var i = s.length, mi = false, sh = 0; + while(--i >= 0) { + var x = (k==8)?s[i]&0xff:intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-") mi = true; + continue; + } + mi = false; + if(sh == 0) + this_array[this.t++] = x; + else if(sh+k > BI_DB) { + this_array[this.t-1] |= (x&((1<<(BI_DB-sh))-1))<>(BI_DB-sh)); + } + else + this_array[this.t-1] |= x<= BI_DB) sh -= BI_DB; + } + if(k == 8 && (s[0]&0x80) != 0) { + this.s = -1; + if(sh > 0) this_array[this.t-1] |= ((1<<(BI_DB-sh))-1)< 0 && this_array[this.t-1] == c) --this.t; +} + +// (public) return string representation in given radix +function bnToString(b) { + var this_array = this.array; + if(this.s < 0) return "-"+this.negate().toString(b); + var k; + if(b == 16) k = 4; + else if(b == 8) k = 3; + else if(b == 2) k = 1; + else if(b == 32) k = 5; + else if(b == 4) k = 2; + else return this.toRadix(b); + var km = (1< 0) { + if(p < BI_DB && (d = this_array[i]>>p) > 0) { m = true; r = int2char(d); } + while(i >= 0) { + if(p < k) { + d = (this_array[i]&((1<>(p+=BI_DB-k); + } + else { + d = (this_array[i]>>(p-=k))&km; + if(p <= 0) { p += BI_DB; --i; } + } + if(d > 0) m = true; + if(m) r += int2char(d); + } + } + return m?r:"0"; +} + +// (public) -this +function bnNegate() { var r = nbi(); BigInteger.ZERO.subTo(this,r); return r; } + +// (public) |this| +function bnAbs() { return (this.s<0)?this.negate():this; } + +// (public) return + if this > a, - if this < a, 0 if equal +function bnCompareTo(a) { + var this_array = this.array; + var a_array = a.array; + + var r = this.s-a.s; + if(r != 0) return r; + var i = this.t; + r = i-a.t; + if(r != 0) return r; + while(--i >= 0) if((r=this_array[i]-a_array[i]) != 0) return r; + return 0; +} + +// returns bit length of the integer x +function nbits(x) { + var r = 1, t; + if((t=x>>>16) != 0) { x = t; r += 16; } + if((t=x>>8) != 0) { x = t; r += 8; } + if((t=x>>4) != 0) { x = t; r += 4; } + if((t=x>>2) != 0) { x = t; r += 2; } + if((t=x>>1) != 0) { x = t; r += 1; } + return r; +} + +// (public) return the number of bits in "this" +function bnBitLength() { + var this_array = this.array; + if(this.t <= 0) return 0; + return BI_DB*(this.t-1)+nbits(this_array[this.t-1]^(this.s&BI_DM)); +} + +// (protected) r = this << n*DB +function bnpDLShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + var i; + for(i = this.t-1; i >= 0; --i) r_array[i+n] = this_array[i]; + for(i = n-1; i >= 0; --i) r_array[i] = 0; + r.t = this.t+n; + r.s = this.s; +} + +// (protected) r = this >> n*DB +function bnpDRShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + for(var i = n; i < this.t; ++i) r_array[i-n] = this_array[i]; + r.t = Math.max(this.t-n,0); + r.s = this.s; +} + +// (protected) r = this << n +function bnpLShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + var bs = n%BI_DB; + var cbs = BI_DB-bs; + var bm = (1<= 0; --i) { + r_array[i+ds+1] = (this_array[i]>>cbs)|c; + c = (this_array[i]&bm)<= 0; --i) r_array[i] = 0; + r_array[ds] = c; + r.t = this.t+ds+1; + r.s = this.s; + r.clamp(); +} + +// (protected) r = this >> n +function bnpRShiftTo(n,r) { + var this_array = this.array; + var r_array = r.array; + r.s = this.s; + var ds = Math.floor(n/BI_DB); + if(ds >= this.t) { r.t = 0; return; } + var bs = n%BI_DB; + var cbs = BI_DB-bs; + var bm = (1<>bs; + for(var i = ds+1; i < this.t; ++i) { + r_array[i-ds-1] |= (this_array[i]&bm)<>bs; + } + if(bs > 0) r_array[this.t-ds-1] |= (this.s&bm)<>= BI_DB; + } + if(a.t < this.t) { + c -= a.s; + while(i < this.t) { + c += this_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c -= a_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c -= a.s; + } + r.s = (c<0)?-1:0; + if(c < -1) r_array[i++] = BI_DV+c; + else if(c > 0) r_array[i++] = c; + r.t = i; + r.clamp(); +} + +// (protected) r = this * a, r != this,a (HAC 14.12) +// "this" should be the larger one if appropriate. +function bnpMultiplyTo(a,r) { + var this_array = this.array; + var r_array = r.array; + var x = this.abs(), y = a.abs(); + var y_array = y.array; + + var i = x.t; + r.t = i+y.t; + while(--i >= 0) r_array[i] = 0; + for(i = 0; i < y.t; ++i) r_array[i+x.t] = x.am(0,y_array[i],r,i,0,x.t); + r.s = 0; + r.clamp(); + if(this.s != a.s) BigInteger.ZERO.subTo(r,r); +} + +// (protected) r = this^2, r != this (HAC 14.16) +function bnpSquareTo(r) { + var x = this.abs(); + var x_array = x.array; + var r_array = r.array; + + var i = r.t = 2*x.t; + while(--i >= 0) r_array[i] = 0; + for(i = 0; i < x.t-1; ++i) { + var c = x.am(i,x_array[i],r,2*i,0,1); + if((r_array[i+x.t]+=x.am(i+1,2*x_array[i],r,2*i+1,c,x.t-i-1)) >= BI_DV) { + r_array[i+x.t] -= BI_DV; + r_array[i+x.t+1] = 1; + } + } + if(r.t > 0) r_array[r.t-1] += x.am(i,x_array[i],r,2*i,0,1); + r.s = 0; + r.clamp(); +} + +// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20) +// r != q, this != m. q or r may be null. +function bnpDivRemTo(m,q,r) { + var pm = m.abs(); + if(pm.t <= 0) return; + var pt = this.abs(); + if(pt.t < pm.t) { + if(q != null) q.fromInt(0); + if(r != null) this.copyTo(r); + return; + } + if(r == null) r = nbi(); + var y = nbi(), ts = this.s, ms = m.s; + var pm_array = pm.array; + var nsh = BI_DB-nbits(pm_array[pm.t-1]); // normalize modulus + if(nsh > 0) { pm.lShiftTo(nsh,y); pt.lShiftTo(nsh,r); } + else { pm.copyTo(y); pt.copyTo(r); } + var ys = y.t; + + var y_array = y.array; + var y0 = y_array[ys-1]; + if(y0 == 0) return; + var yt = y0*(1<1)?y_array[ys-2]>>BI_F2:0); + var d1 = BI_FV/yt, d2 = (1<= 0) { + r_array[r.t++] = 1; + r.subTo(t,r); + } + BigInteger.ONE.dlShiftTo(ys,t); + t.subTo(y,y); // "negative" y so we can replace sub with am later + while(y.t < ys) y_array[y.t++] = 0; + while(--j >= 0) { + // Estimate quotient digit + var qd = (r_array[--i]==y0)?BI_DM:Math.floor(r_array[i]*d1+(r_array[i-1]+e)*d2); + if((r_array[i]+=y.am(0,qd,r,j,0,ys)) < qd) { // Try it out + y.dlShiftTo(j,t); + r.subTo(t,r); + while(r_array[i] < --qd) r.subTo(t,r); + } + } + if(q != null) { + r.drShiftTo(ys,q); + if(ts != ms) BigInteger.ZERO.subTo(q,q); + } + r.t = ys; + r.clamp(); + if(nsh > 0) r.rShiftTo(nsh,r); // Denormalize remainder + if(ts < 0) BigInteger.ZERO.subTo(r,r); +} + +// (public) this mod a +function bnMod(a) { + var r = nbi(); + this.abs().divRemTo(a,null,r); + if(this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r,r); + return r; +} + +// Modular reduction using "classic" algorithm +function Classic(m) { this.m = m; } +function cConvert(x) { + if(x.s < 0 || x.compareTo(this.m) >= 0) return x.mod(this.m); + else return x; +} +function cRevert(x) { return x; } +function cReduce(x) { x.divRemTo(this.m,null,x); } +function cMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } +function cSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +Classic.prototype.convert = cConvert; +Classic.prototype.revert = cRevert; +Classic.prototype.reduce = cReduce; +Classic.prototype.mulTo = cMulTo; +Classic.prototype.sqrTo = cSqrTo; + +// (protected) return "-1/this % 2^DB"; useful for Mont. reduction +// justification: +// xy == 1 (mod m) +// xy = 1+km +// xy(2-xy) = (1+km)(1-km) +// x[y(2-xy)] = 1-k^2m^2 +// x[y(2-xy)] == 1 (mod m^2) +// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2 +// should reduce x and y(2-xy) by m^2 at each step to keep size bounded. +// JS multiply "overflows" differently from C/C++, so care is needed here. +function bnpInvDigit() { + var this_array = this.array; + if(this.t < 1) return 0; + var x = this_array[0]; + if((x&1) == 0) return 0; + var y = x&3; // y == 1/x mod 2^2 + y = (y*(2-(x&0xf)*y))&0xf; // y == 1/x mod 2^4 + y = (y*(2-(x&0xff)*y))&0xff; // y == 1/x mod 2^8 + y = (y*(2-(((x&0xffff)*y)&0xffff)))&0xffff; // y == 1/x mod 2^16 + // last step - calculate inverse mod DV directly; + // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints + y = (y*(2-x*y%BI_DV))%BI_DV; // y == 1/x mod 2^dbits + // we really want the negative inverse, and -DV < y < DV + return (y>0)?BI_DV-y:-y; +} + +// Montgomery reduction +function Montgomery(m) { + this.m = m; + this.mp = m.invDigit(); + this.mpl = this.mp&0x7fff; + this.mph = this.mp>>15; + this.um = (1<<(BI_DB-15))-1; + this.mt2 = 2*m.t; +} + +// xR mod m +function montConvert(x) { + var r = nbi(); + x.abs().dlShiftTo(this.m.t,r); + r.divRemTo(this.m,null,r); + if(x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r,r); + return r; +} + +// x/R mod m +function montRevert(x) { + var r = nbi(); + x.copyTo(r); + this.reduce(r); + return r; +} + +// x = x/R mod m (HAC 14.32) +function montReduce(x) { + var x_array = x.array; + while(x.t <= this.mt2) // pad x so am has enough room later + x_array[x.t++] = 0; + for(var i = 0; i < this.m.t; ++i) { + // faster way of calculating u0 = x[i]*mp mod DV + var j = x_array[i]&0x7fff; + var u0 = (j*this.mpl+(((j*this.mph+(x_array[i]>>15)*this.mpl)&this.um)<<15))&BI_DM; + // use am to combine the multiply-shift-add into one call + j = i+this.m.t; + x_array[j] += this.m.am(0,u0,x,i,0,this.m.t); + // propagate carry + while(x_array[j] >= BI_DV) { x_array[j] -= BI_DV; x_array[++j]++; } + } + x.clamp(); + x.drShiftTo(this.m.t,x); + if(x.compareTo(this.m) >= 0) x.subTo(this.m,x); +} + +// r = "x^2/R mod m"; x != r +function montSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +// r = "xy/R mod m"; x,y != r +function montMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + +Montgomery.prototype.convert = montConvert; +Montgomery.prototype.revert = montRevert; +Montgomery.prototype.reduce = montReduce; +Montgomery.prototype.mulTo = montMulTo; +Montgomery.prototype.sqrTo = montSqrTo; + +// (protected) true iff this is even +function bnpIsEven() { + var this_array = this.array; + return ((this.t>0)?(this_array[0]&1):this.s) == 0; +} + +// (protected) this^e, e < 2^32, doing sqr and mul with "r" (HAC 14.79) +function bnpExp(e,z) { + if(e > 0xffffffff || e < 1) return BigInteger.ONE; + var r = nbi(), r2 = nbi(), g = z.convert(this), i = nbits(e)-1; + g.copyTo(r); + while(--i >= 0) { + z.sqrTo(r,r2); + if((e&(1< 0) z.mulTo(r2,g,r); + else { var t = r; r = r2; r2 = t; } + } + return z.revert(r); +} + +// (public) this^e % m, 0 <= e < 2^32 +function bnModPowInt(e,m) { + var z; + if(e < 256 || m.isEven()) z = new Classic(m); else z = new Montgomery(m); + return this.exp(e,z); +} + +// protected +BigInteger.prototype.copyTo = bnpCopyTo; +BigInteger.prototype.fromInt = bnpFromInt; +BigInteger.prototype.fromString = bnpFromString; +BigInteger.prototype.clamp = bnpClamp; +BigInteger.prototype.dlShiftTo = bnpDLShiftTo; +BigInteger.prototype.drShiftTo = bnpDRShiftTo; +BigInteger.prototype.lShiftTo = bnpLShiftTo; +BigInteger.prototype.rShiftTo = bnpRShiftTo; +BigInteger.prototype.subTo = bnpSubTo; +BigInteger.prototype.multiplyTo = bnpMultiplyTo; +BigInteger.prototype.squareTo = bnpSquareTo; +BigInteger.prototype.divRemTo = bnpDivRemTo; +BigInteger.prototype.invDigit = bnpInvDigit; +BigInteger.prototype.isEven = bnpIsEven; +BigInteger.prototype.exp = bnpExp; + +// public +BigInteger.prototype.toString = bnToString; +BigInteger.prototype.negate = bnNegate; +BigInteger.prototype.abs = bnAbs; +BigInteger.prototype.compareTo = bnCompareTo; +BigInteger.prototype.bitLength = bnBitLength; +BigInteger.prototype.mod = bnMod; +BigInteger.prototype.modPowInt = bnModPowInt; + +// "constants" +BigInteger.ZERO = nbv(0); +BigInteger.ONE = nbv(1); +// Copyright (c) 2005 Tom Wu +// All Rights Reserved. +// See "LICENSE" for details. + +// Extended JavaScript BN functions, required for RSA private ops. + +// (public) +function bnClone() { var r = nbi(); this.copyTo(r); return r; } + +// (public) return value as integer +function bnIntValue() { + var this_array = this.array; + if(this.s < 0) { + if(this.t == 1) return this_array[0]-BI_DV; + else if(this.t == 0) return -1; + } + else if(this.t == 1) return this_array[0]; + else if(this.t == 0) return 0; + // assumes 16 < DB < 32 + return ((this_array[1]&((1<<(32-BI_DB))-1))<>24; +} + +// (public) return value as short (assumes DB>=16) +function bnShortValue() { + var this_array = this.array; + return (this.t==0)?this.s:(this_array[0]<<16)>>16; +} + +// (protected) return x s.t. r^x < DV +function bnpChunkSize(r) { return Math.floor(Math.LN2*BI_DB/Math.log(r)); } + +// (public) 0 if this == 0, 1 if this > 0 +function bnSigNum() { + var this_array = this.array; + if(this.s < 0) return -1; + else if(this.t <= 0 || (this.t == 1 && this_array[0] <= 0)) return 0; + else return 1; +} + +// (protected) convert to radix string +function bnpToRadix(b) { + if(b == null) b = 10; + if(this.signum() == 0 || b < 2 || b > 36) return "0"; + var cs = this.chunkSize(b); + var a = Math.pow(b,cs); + var d = nbv(a), y = nbi(), z = nbi(), r = ""; + this.divRemTo(d,y,z); + while(y.signum() > 0) { + r = (a+z.intValue()).toString(b).substr(1) + r; + y.divRemTo(d,y,z); + } + return z.intValue().toString(b) + r; +} + +// (protected) convert from radix string +function bnpFromRadix(s,b) { + this.fromInt(0); + if(b == null) b = 10; + var cs = this.chunkSize(b); + var d = Math.pow(b,cs), mi = false, j = 0, w = 0; + for(var i = 0; i < s.length; ++i) { + var x = intAt(s,i); + if(x < 0) { + if(s.charAt(i) == "-" && this.signum() == 0) mi = true; + continue; + } + w = b*w+x; + if(++j >= cs) { + this.dMultiply(d); + this.dAddOffset(w,0); + j = 0; + w = 0; + } + } + if(j > 0) { + this.dMultiply(Math.pow(b,j)); + this.dAddOffset(w,0); + } + if(mi) BigInteger.ZERO.subTo(this,this); +} + +// (protected) alternate constructor +function bnpFromNumber(a,b,c) { + if("number" == typeof b) { + // new BigInteger(int,int,RNG) + if(a < 2) this.fromInt(1); + else { + this.fromNumber(a,c); + if(!this.testBit(a-1)) // force MSB set + this.bitwiseTo(BigInteger.ONE.shiftLeft(a-1),op_or,this); + if(this.isEven()) this.dAddOffset(1,0); // force odd + while(!this.isProbablePrime(b)) { + this.dAddOffset(2,0); + if(this.bitLength() > a) this.subTo(BigInteger.ONE.shiftLeft(a-1),this); + } + } + } + else { + // new BigInteger(int,RNG) + var x = new Array(), t = a&7; + x.length = (a>>3)+1; + b.nextBytes(x); + if(t > 0) x[0] &= ((1< 0) { + if(p < BI_DB && (d = this_array[i]>>p) != (this.s&BI_DM)>>p) + r[k++] = d|(this.s<<(BI_DB-p)); + while(i >= 0) { + if(p < 8) { + d = (this_array[i]&((1<>(p+=BI_DB-8); + } + else { + d = (this_array[i]>>(p-=8))&0xff; + if(p <= 0) { p += BI_DB; --i; } + } + if((d&0x80) != 0) d |= -256; + if(k == 0 && (this.s&0x80) != (d&0x80)) ++k; + if(k > 0 || d != this.s) r[k++] = d; + } + } + return r; +} + +function bnEquals(a) { return(this.compareTo(a)==0); } +function bnMin(a) { return(this.compareTo(a)<0)?this:a; } +function bnMax(a) { return(this.compareTo(a)>0)?this:a; } + +// (protected) r = this op a (bitwise) +function bnpBitwiseTo(a,op,r) { + var this_array = this.array; + var a_array = a.array; + var r_array = r.array; + var i, f, m = Math.min(a.t,this.t); + for(i = 0; i < m; ++i) r_array[i] = op(this_array[i],a_array[i]); + if(a.t < this.t) { + f = a.s&BI_DM; + for(i = m; i < this.t; ++i) r_array[i] = op(this_array[i],f); + r.t = this.t; + } + else { + f = this.s&BI_DM; + for(i = m; i < a.t; ++i) r_array[i] = op(f,a_array[i]); + r.t = a.t; + } + r.s = op(this.s,a.s); + r.clamp(); +} + +// (public) this & a +function op_and(x,y) { return x&y; } +function bnAnd(a) { var r = nbi(); this.bitwiseTo(a,op_and,r); return r; } + +// (public) this | a +function op_or(x,y) { return x|y; } +function bnOr(a) { var r = nbi(); this.bitwiseTo(a,op_or,r); return r; } + +// (public) this ^ a +function op_xor(x,y) { return x^y; } +function bnXor(a) { var r = nbi(); this.bitwiseTo(a,op_xor,r); return r; } + +// (public) this & ~a +function op_andnot(x,y) { return x&~y; } +function bnAndNot(a) { var r = nbi(); this.bitwiseTo(a,op_andnot,r); return r; } + +// (public) ~this +function bnNot() { + var this_array = this.array; + var r = nbi(); + var r_array = r.array; + + for(var i = 0; i < this.t; ++i) r_array[i] = BI_DM&~this_array[i]; + r.t = this.t; + r.s = ~this.s; + return r; +} + +// (public) this << n +function bnShiftLeft(n) { + var r = nbi(); + if(n < 0) this.rShiftTo(-n,r); else this.lShiftTo(n,r); + return r; +} + +// (public) this >> n +function bnShiftRight(n) { + var r = nbi(); + if(n < 0) this.lShiftTo(-n,r); else this.rShiftTo(n,r); + return r; +} + +// return index of lowest 1-bit in x, x < 2^31 +function lbit(x) { + if(x == 0) return -1; + var r = 0; + if((x&0xffff) == 0) { x >>= 16; r += 16; } + if((x&0xff) == 0) { x >>= 8; r += 8; } + if((x&0xf) == 0) { x >>= 4; r += 4; } + if((x&3) == 0) { x >>= 2; r += 2; } + if((x&1) == 0) ++r; + return r; +} + +// (public) returns index of lowest 1-bit (or -1 if none) +function bnGetLowestSetBit() { + var this_array = this.array; + for(var i = 0; i < this.t; ++i) + if(this_array[i] != 0) return i*BI_DB+lbit(this_array[i]); + if(this.s < 0) return this.t*BI_DB; + return -1; +} + +// return number of 1 bits in x +function cbit(x) { + var r = 0; + while(x != 0) { x &= x-1; ++r; } + return r; +} + +// (public) return number of set bits +function bnBitCount() { + var r = 0, x = this.s&BI_DM; + for(var i = 0; i < this.t; ++i) r += cbit(this_array[i]^x); + return r; +} + +// (public) true iff nth bit is set +function bnTestBit(n) { + var this_array = this.array; + var j = Math.floor(n/BI_DB); + if(j >= this.t) return(this.s!=0); + return((this_array[j]&(1<<(n%BI_DB)))!=0); +} + +// (protected) this op (1<>= BI_DB; + } + if(a.t < this.t) { + c += a.s; + while(i < this.t) { + c += this_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c += this.s; + } + else { + c += this.s; + while(i < a.t) { + c += a_array[i]; + r_array[i++] = c&BI_DM; + c >>= BI_DB; + } + c += a.s; + } + r.s = (c<0)?-1:0; + if(c > 0) r_array[i++] = c; + else if(c < -1) r_array[i++] = BI_DV+c; + r.t = i; + r.clamp(); +} + +// (public) this + a +function bnAdd(a) { var r = nbi(); this.addTo(a,r); return r; } + +// (public) this - a +function bnSubtract(a) { var r = nbi(); this.subTo(a,r); return r; } + +// (public) this * a +function bnMultiply(a) { var r = nbi(); this.multiplyTo(a,r); return r; } + +// (public) this / a +function bnDivide(a) { var r = nbi(); this.divRemTo(a,r,null); return r; } + +// (public) this % a +function bnRemainder(a) { var r = nbi(); this.divRemTo(a,null,r); return r; } + +// (public) [this/a,this%a] +function bnDivideAndRemainder(a) { + var q = nbi(), r = nbi(); + this.divRemTo(a,q,r); + return new Array(q,r); +} + +// (protected) this *= n, this >= 0, 1 < n < DV +function bnpDMultiply(n) { + var this_array = this.array; + this_array[this.t] = this.am(0,n-1,this,0,0,this.t); + ++this.t; + this.clamp(); +} + +// (protected) this += n << w words, this >= 0 +function bnpDAddOffset(n,w) { + var this_array = this.array; + while(this.t <= w) this_array[this.t++] = 0; + this_array[w] += n; + while(this_array[w] >= BI_DV) { + this_array[w] -= BI_DV; + if(++w >= this.t) this_array[this.t++] = 0; + ++this_array[w]; + } +} + +// A "null" reducer +function NullExp() {} +function nNop(x) { return x; } +function nMulTo(x,y,r) { x.multiplyTo(y,r); } +function nSqrTo(x,r) { x.squareTo(r); } + +NullExp.prototype.convert = nNop; +NullExp.prototype.revert = nNop; +NullExp.prototype.mulTo = nMulTo; +NullExp.prototype.sqrTo = nSqrTo; + +// (public) this^e +function bnPow(e) { return this.exp(e,new NullExp()); } + +// (protected) r = lower n words of "this * a", a.t <= n +// "this" should be the larger one if appropriate. +function bnpMultiplyLowerTo(a,n,r) { + var r_array = r.array; + var a_array = a.array; + var i = Math.min(this.t+a.t,n); + r.s = 0; // assumes a,this >= 0 + r.t = i; + while(i > 0) r_array[--i] = 0; + var j; + for(j = r.t-this.t; i < j; ++i) r_array[i+this.t] = this.am(0,a_array[i],r,i,0,this.t); + for(j = Math.min(a.t,n); i < j; ++i) this.am(0,a_array[i],r,i,0,n-i); + r.clamp(); +} + +// (protected) r = "this * a" without lower n words, n > 0 +// "this" should be the larger one if appropriate. +function bnpMultiplyUpperTo(a,n,r) { + var r_array = r.array; + var a_array = a.array; + --n; + var i = r.t = this.t+a.t-n; + r.s = 0; // assumes a,this >= 0 + while(--i >= 0) r_array[i] = 0; + for(i = Math.max(n-this.t,0); i < a.t; ++i) + r_array[this.t+i-n] = this.am(n-i,a_array[i],r,0,0,this.t+i-n); + r.clamp(); + r.drShiftTo(1,r); +} + +// Barrett modular reduction +function Barrett(m) { + // setup Barrett + this.r2 = nbi(); + this.q3 = nbi(); + BigInteger.ONE.dlShiftTo(2*m.t,this.r2); + this.mu = this.r2.divide(m); + this.m = m; +} + +function barrettConvert(x) { + if(x.s < 0 || x.t > 2*this.m.t) return x.mod(this.m); + else if(x.compareTo(this.m) < 0) return x; + else { var r = nbi(); x.copyTo(r); this.reduce(r); return r; } +} + +function barrettRevert(x) { return x; } + +// x = x mod m (HAC 14.42) +function barrettReduce(x) { + x.drShiftTo(this.m.t-1,this.r2); + if(x.t > this.m.t+1) { x.t = this.m.t+1; x.clamp(); } + this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3); + this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2); + while(x.compareTo(this.r2) < 0) x.dAddOffset(1,this.m.t+1); + x.subTo(this.r2,x); + while(x.compareTo(this.m) >= 0) x.subTo(this.m,x); +} + +// r = x^2 mod m; x != r +function barrettSqrTo(x,r) { x.squareTo(r); this.reduce(r); } + +// r = x*y mod m; x,y != r +function barrettMulTo(x,y,r) { x.multiplyTo(y,r); this.reduce(r); } + +Barrett.prototype.convert = barrettConvert; +Barrett.prototype.revert = barrettRevert; +Barrett.prototype.reduce = barrettReduce; +Barrett.prototype.mulTo = barrettMulTo; +Barrett.prototype.sqrTo = barrettSqrTo; + +// (public) this^e % m (HAC 14.85) +function bnModPow(e,m) { + var e_array = e.array; + var i = e.bitLength(), k, r = nbv(1), z; + if(i <= 0) return r; + else if(i < 18) k = 1; + else if(i < 48) k = 3; + else if(i < 144) k = 4; + else if(i < 768) k = 5; + else k = 6; + if(i < 8) + z = new Classic(m); + else if(m.isEven()) + z = new Barrett(m); + else + z = new Montgomery(m); + + // precomputation + var g = new Array(), n = 3, k1 = k-1, km = (1< 1) { + var g2 = nbi(); + z.sqrTo(g[1],g2); + while(n <= km) { + g[n] = nbi(); + z.mulTo(g2,g[n-2],g[n]); + n += 2; + } + } + + var j = e.t-1, w, is1 = true, r2 = nbi(), t; + i = nbits(e_array[j])-1; + while(j >= 0) { + if(i >= k1) w = (e_array[j]>>(i-k1))&km; + else { + w = (e_array[j]&((1<<(i+1))-1))<<(k1-i); + if(j > 0) w |= e_array[j-1]>>(BI_DB+i-k1); + } + + n = k; + while((w&1) == 0) { w >>= 1; --n; } + if((i -= n) < 0) { i += BI_DB; --j; } + if(is1) { // ret == 1, don't bother squaring or multiplying it + g[w].copyTo(r); + is1 = false; + } + else { + while(n > 1) { z.sqrTo(r,r2); z.sqrTo(r2,r); n -= 2; } + if(n > 0) z.sqrTo(r,r2); else { t = r; r = r2; r2 = t; } + z.mulTo(r2,g[w],r); + } + + while(j >= 0 && (e_array[j]&(1< 0) { + x.rShiftTo(g,x); + y.rShiftTo(g,y); + } + while(x.signum() > 0) { + if((i = x.getLowestSetBit()) > 0) x.rShiftTo(i,x); + if((i = y.getLowestSetBit()) > 0) y.rShiftTo(i,y); + if(x.compareTo(y) >= 0) { + x.subTo(y,x); + x.rShiftTo(1,x); + } + else { + y.subTo(x,y); + y.rShiftTo(1,y); + } + } + if(g > 0) y.lShiftTo(g,y); + return y; +} + +// (protected) this % n, n < 2^26 +function bnpModInt(n) { + var this_array = this.array; + if(n <= 0) return 0; + var d = BI_DV%n, r = (this.s<0)?n-1:0; + if(this.t > 0) + if(d == 0) r = this_array[0]%n; + else for(var i = this.t-1; i >= 0; --i) r = (d*r+this_array[i])%n; + return r; +} + +// (public) 1/this % m (HAC 14.61) +function bnModInverse(m) { + var ac = m.isEven(); + if((this.isEven() && ac) || m.signum() == 0) return BigInteger.ZERO; + var u = m.clone(), v = this.clone(); + var a = nbv(1), b = nbv(0), c = nbv(0), d = nbv(1); + while(u.signum() != 0) { + while(u.isEven()) { + u.rShiftTo(1,u); + if(ac) { + if(!a.isEven() || !b.isEven()) { a.addTo(this,a); b.subTo(m,b); } + a.rShiftTo(1,a); + } + else if(!b.isEven()) b.subTo(m,b); + b.rShiftTo(1,b); + } + while(v.isEven()) { + v.rShiftTo(1,v); + if(ac) { + if(!c.isEven() || !d.isEven()) { c.addTo(this,c); d.subTo(m,d); } + c.rShiftTo(1,c); + } + else if(!d.isEven()) d.subTo(m,d); + d.rShiftTo(1,d); + } + if(u.compareTo(v) >= 0) { + u.subTo(v,u); + if(ac) a.subTo(c,a); + b.subTo(d,b); + } + else { + v.subTo(u,v); + if(ac) c.subTo(a,c); + d.subTo(b,d); + } + } + if(v.compareTo(BigInteger.ONE) != 0) return BigInteger.ZERO; + if(d.compareTo(m) >= 0) return d.subtract(m); + if(d.signum() < 0) d.addTo(m,d); else return d; + if(d.signum() < 0) return d.add(m); else return d; +} + +var lowprimes = [2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509]; +var lplim = (1<<26)/lowprimes[lowprimes.length-1]; + +// (public) test primality with certainty >= 1-.5^t +function bnIsProbablePrime(t) { + var i, x = this.abs(); + var x_array = x.array; + if(x.t == 1 && x_array[0] <= lowprimes[lowprimes.length-1]) { + for(i = 0; i < lowprimes.length; ++i) + if(x_array[0] == lowprimes[i]) return true; + return false; + } + if(x.isEven()) return false; + i = 1; + while(i < lowprimes.length) { + var m = lowprimes[i], j = i+1; + while(j < lowprimes.length && m < lplim) m *= lowprimes[j++]; + m = x.modInt(m); + while(i < j) if(m%lowprimes[i++] == 0) return false; + } + return x.millerRabin(t); +} + +// (protected) true if probably prime (HAC 4.24, Miller-Rabin) +function bnpMillerRabin(t) { + var n1 = this.subtract(BigInteger.ONE); + var k = n1.getLowestSetBit(); + if(k <= 0) return false; + var r = n1.shiftRight(k); + t = (t+1)>>1; + if(t > lowprimes.length) t = lowprimes.length; + var a = nbi(); + for(var i = 0; i < t; ++i) { + a.fromInt(lowprimes[i]); + var y = a.modPow(r,this); + if(y.compareTo(BigInteger.ONE) != 0 && y.compareTo(n1) != 0) { + var j = 1; + while(j++ < k && y.compareTo(n1) != 0) { + y = y.modPowInt(2,this); + if(y.compareTo(BigInteger.ONE) == 0) return false; + } + if(y.compareTo(n1) != 0) return false; + } + } + return true; +} + +// protected +BigInteger.prototype.chunkSize = bnpChunkSize; +BigInteger.prototype.toRadix = bnpToRadix; +BigInteger.prototype.fromRadix = bnpFromRadix; +BigInteger.prototype.fromNumber = bnpFromNumber; +BigInteger.prototype.bitwiseTo = bnpBitwiseTo; +BigInteger.prototype.changeBit = bnpChangeBit; +BigInteger.prototype.addTo = bnpAddTo; +BigInteger.prototype.dMultiply = bnpDMultiply; +BigInteger.prototype.dAddOffset = bnpDAddOffset; +BigInteger.prototype.multiplyLowerTo = bnpMultiplyLowerTo; +BigInteger.prototype.multiplyUpperTo = bnpMultiplyUpperTo; +BigInteger.prototype.modInt = bnpModInt; +BigInteger.prototype.millerRabin = bnpMillerRabin; + +// public +BigInteger.prototype.clone = bnClone; +BigInteger.prototype.intValue = bnIntValue; +BigInteger.prototype.byteValue = bnByteValue; +BigInteger.prototype.shortValue = bnShortValue; +BigInteger.prototype.signum = bnSigNum; +BigInteger.prototype.toByteArray = bnToByteArray; +BigInteger.prototype.equals = bnEquals; +BigInteger.prototype.min = bnMin; +BigInteger.prototype.max = bnMax; +BigInteger.prototype.and = bnAnd; +BigInteger.prototype.or = bnOr; +BigInteger.prototype.xor = bnXor; +BigInteger.prototype.andNot = bnAndNot; +BigInteger.prototype.not = bnNot; +BigInteger.prototype.shiftLeft = bnShiftLeft; +BigInteger.prototype.shiftRight = bnShiftRight; +BigInteger.prototype.getLowestSetBit = bnGetLowestSetBit; +BigInteger.prototype.bitCount = bnBitCount; +BigInteger.prototype.testBit = bnTestBit; +BigInteger.prototype.setBit = bnSetBit; +BigInteger.prototype.clearBit = bnClearBit; +BigInteger.prototype.flipBit = bnFlipBit; +BigInteger.prototype.add = bnAdd; +BigInteger.prototype.subtract = bnSubtract; +BigInteger.prototype.multiply = bnMultiply; +BigInteger.prototype.divide = bnDivide; +BigInteger.prototype.remainder = bnRemainder; +BigInteger.prototype.divideAndRemainder = bnDivideAndRemainder; +BigInteger.prototype.modPow = bnModPow; +BigInteger.prototype.modInverse = bnModInverse; +BigInteger.prototype.pow = bnPow; +BigInteger.prototype.gcd = bnGCD; +BigInteger.prototype.isProbablePrime = bnIsProbablePrime; + +// BigInteger interfaces not implemented in jsbn: + +// BigInteger(int signum, byte[] magnitude) +// double doubleValue() +// float floatValue() +// int hashCode() +// long longValue() +// static BigInteger valueOf(long val) +// prng4.js - uses Arcfour as a PRNG + +function Arcfour() { + this.i = 0; + this.j = 0; + this.S = new Array(); +} + +// Initialize arcfour context from key, an array of ints, each from [0..255] +function ARC4init(key) { + var i, j, t; + for(i = 0; i < 256; ++i) + this.S[i] = i; + j = 0; + for(i = 0; i < 256; ++i) { + j = (j + this.S[i] + key[i % key.length]) & 255; + t = this.S[i]; + this.S[i] = this.S[j]; + this.S[j] = t; + } + this.i = 0; + this.j = 0; +} + +function ARC4next() { + var t; + this.i = (this.i + 1) & 255; + this.j = (this.j + this.S[this.i]) & 255; + t = this.S[this.i]; + this.S[this.i] = this.S[this.j]; + this.S[this.j] = t; + return this.S[(t + this.S[this.i]) & 255]; +} + +Arcfour.prototype.init = ARC4init; +Arcfour.prototype.next = ARC4next; + +// Plug in your RNG constructor here +function prng_newstate() { + return new Arcfour(); +} + +// Pool size must be a multiple of 4 and greater than 32. +// An array of bytes the size of the pool will be passed to init() +var rng_psize = 256; +// Random number generator - requires a PRNG backend, e.g. prng4.js + +// For best results, put code like +// +// in your main HTML document. + +var rng_state; +var rng_pool; +var rng_pptr; + +// Mix in a 32-bit integer into the pool +function rng_seed_int(x) { + rng_pool[rng_pptr++] ^= x & 255; + rng_pool[rng_pptr++] ^= (x >> 8) & 255; + rng_pool[rng_pptr++] ^= (x >> 16) & 255; + rng_pool[rng_pptr++] ^= (x >> 24) & 255; + if(rng_pptr >= rng_psize) rng_pptr -= rng_psize; +} + +// Mix in the current time (w/milliseconds) into the pool +function rng_seed_time() { + // Use pre-computed date to avoid making the benchmark + // results dependent on the current date. + rng_seed_int(1122926989487); +} + +// Initialize the pool with junk if needed. +if(rng_pool == null) { + rng_pool = new Array(); + rng_pptr = 0; + var t; + while(rng_pptr < rng_psize) { // extract some randomness from Math.random() + t = Math.floor(65536 * Math.random()); + rng_pool[rng_pptr++] = t >>> 8; + rng_pool[rng_pptr++] = t & 255; + } + rng_pptr = 0; + rng_seed_time(); + //rng_seed_int(window.screenX); + //rng_seed_int(window.screenY); +} + +function rng_get_byte() { + if(rng_state == null) { + rng_seed_time(); + rng_state = prng_newstate(); + rng_state.init(rng_pool); + for(rng_pptr = 0; rng_pptr < rng_pool.length; ++rng_pptr) + rng_pool[rng_pptr] = 0; + rng_pptr = 0; + //rng_pool = null; + } + // TODO: allow reseeding after first request + return rng_state.next(); +} + +function rng_get_bytes(ba) { + var i; + for(i = 0; i < ba.length; ++i) ba[i] = rng_get_byte(); +} + +function SecureRandom() {} + +SecureRandom.prototype.nextBytes = rng_get_bytes; +// Depends on jsbn.js and rng.js + +// convert a (hex) string to a bignum object +function parseBigInt(str,r) { + return new BigInteger(str,r); +} + +function linebrk(s,n) { + var ret = ""; + var i = 0; + while(i + n < s.length) { + ret += s.substring(i,i+n) + "\n"; + i += n; + } + return ret + s.substring(i,s.length); +} + +function byte2Hex(b) { + if(b < 0x10) + return "0" + b.toString(16); + else + return b.toString(16); +} + +// PKCS#1 (type 2, random) pad input string s to n bytes, and return a bigint +function pkcs1pad2(s,n) { + if(n < s.length + 11) { + alert("Message too long for RSA"); + return null; + } + var ba = new Array(); + var i = s.length - 1; + while(i >= 0 && n > 0) ba[--n] = s.charCodeAt(i--); + ba[--n] = 0; + var rng = new SecureRandom(); + var x = new Array(); + while(n > 2) { // random non-zero pad + x[0] = 0; + while(x[0] == 0) rng.nextBytes(x); + ba[--n] = x[0]; + } + ba[--n] = 2; + ba[--n] = 0; + return new BigInteger(ba); +} + +// "empty" RSA key constructor +function RSAKey() { + this.n = null; + this.e = 0; + this.d = null; + this.p = null; + this.q = null; + this.dmp1 = null; + this.dmq1 = null; + this.coeff = null; +} + +// Set the public key fields N and e from hex strings +function RSASetPublic(N,E) { + if(N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N,16); + this.e = parseInt(E,16); + } + else + alert("Invalid RSA public key"); +} + +// Perform raw public operation on "x": return x^e (mod n) +function RSADoPublic(x) { + return x.modPowInt(this.e, this.n); +} + +// Return the PKCS#1 RSA encryption of "text" as an even-length hex string +function RSAEncrypt(text) { + var m = pkcs1pad2(text,(this.n.bitLength()+7)>>3); + if(m == null) return null; + var c = this.doPublic(m); + if(c == null) return null; + var h = c.toString(16); + if((h.length & 1) == 0) return h; else return "0" + h; +} + +// Return the PKCS#1 RSA encryption of "text" as a Base64-encoded string +//function RSAEncryptB64(text) { +// var h = this.encrypt(text); +// if(h) return hex2b64(h); else return null; +//} + +// protected +RSAKey.prototype.doPublic = RSADoPublic; + +// public +RSAKey.prototype.setPublic = RSASetPublic; +RSAKey.prototype.encrypt = RSAEncrypt; +//RSAKey.prototype.encrypt_b64 = RSAEncryptB64; +// Depends on rsa.js and jsbn2.js + +// Undo PKCS#1 (type 2, random) padding and, if valid, return the plaintext +function pkcs1unpad2(d,n) { + var b = d.toByteArray(); + var i = 0; + while(i < b.length && b[i] == 0) ++i; + if(b.length-i != n-1 || b[i] != 2) + return null; + ++i; + while(b[i] != 0) + if(++i >= b.length) return null; + var ret = ""; + while(++i < b.length) + ret += String.fromCharCode(b[i]); + return ret; +} + +// Set the private key fields N, e, and d from hex strings +function RSASetPrivate(N,E,D) { + if(N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N,16); + this.e = parseInt(E,16); + this.d = parseBigInt(D,16); + } + else + alert("Invalid RSA private key"); +} + +// Set the private key fields N, e, d and CRT params from hex strings +function RSASetPrivateEx(N,E,D,P,Q,DP,DQ,C) { + if(N != null && E != null && N.length > 0 && E.length > 0) { + this.n = parseBigInt(N,16); + this.e = parseInt(E,16); + this.d = parseBigInt(D,16); + this.p = parseBigInt(P,16); + this.q = parseBigInt(Q,16); + this.dmp1 = parseBigInt(DP,16); + this.dmq1 = parseBigInt(DQ,16); + this.coeff = parseBigInt(C,16); + } + else + alert("Invalid RSA private key"); +} + +// Generate a new random private key B bits long, using public expt E +function RSAGenerate(B,E) { + var rng = new SecureRandom(); + var qs = B>>1; + this.e = parseInt(E,16); + var ee = new BigInteger(E,16); + for(;;) { + for(;;) { + this.p = new BigInteger(B-qs,1,rng); + if(this.p.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.p.isProbablePrime(10)) break; + } + for(;;) { + this.q = new BigInteger(qs,1,rng); + if(this.q.subtract(BigInteger.ONE).gcd(ee).compareTo(BigInteger.ONE) == 0 && this.q.isProbablePrime(10)) break; + } + if(this.p.compareTo(this.q) <= 0) { + var t = this.p; + this.p = this.q; + this.q = t; + } + var p1 = this.p.subtract(BigInteger.ONE); + var q1 = this.q.subtract(BigInteger.ONE); + var phi = p1.multiply(q1); + if(phi.gcd(ee).compareTo(BigInteger.ONE) == 0) { + this.n = this.p.multiply(this.q); + this.d = ee.modInverse(phi); + this.dmp1 = this.d.mod(p1); + this.dmq1 = this.d.mod(q1); + this.coeff = this.q.modInverse(this.p); + break; + } + } +} + +// Perform raw private operation on "x": return x^d (mod n) +function RSADoPrivate(x) { + if(this.p == null || this.q == null) + return x.modPow(this.d, this.n); + + // TODO: re-calculate any missing CRT params + var xp = x.mod(this.p).modPow(this.dmp1, this.p); + var xq = x.mod(this.q).modPow(this.dmq1, this.q); + + while(xp.compareTo(xq) < 0) + xp = xp.add(this.p); + return xp.subtract(xq).multiply(this.coeff).mod(this.p).multiply(this.q).add(xq); +} + +// Return the PKCS#1 RSA decryption of "ctext". +// "ctext" is an even-length hex string and the output is a plain string. +function RSADecrypt(ctext) { + var c = parseBigInt(ctext, 16); + var m = this.doPrivate(c); + if(m == null) return null; + return pkcs1unpad2(m, (this.n.bitLength()+7)>>3); +} + +// Return the PKCS#1 RSA decryption of "ctext". +// "ctext" is a Base64-encoded string and the output is a plain string. +//function RSAB64Decrypt(ctext) { +// var h = b64tohex(ctext); +// if(h) return this.decrypt(h); else return null; +//} + +// protected +RSAKey.prototype.doPrivate = RSADoPrivate; + +// public +RSAKey.prototype.setPrivate = RSASetPrivate; +RSAKey.prototype.setPrivateEx = RSASetPrivateEx; +RSAKey.prototype.generate = RSAGenerate; +RSAKey.prototype.decrypt = RSADecrypt; +//RSAKey.prototype.b64_decrypt = RSAB64Decrypt; + + +var nValue="a5261939975948bb7a58dffe5ff54e65f0498f9175f5a09288810b8975871e99af3b5dd94057b0fc07535f5f97444504fa35169d461d0d30cf0192e307727c065168c788771c561a9400fb49175e9e6aa4e23fe11af69e9412dd23b0cb6684c4c2429bce139e848ab26d0829073351f4acd36074eafd036a5eb83359d2a698d3"; +var eValue="10001"; +var dValue="8e9912f6d3645894e8d38cb58c0db81ff516cf4c7e5a14c7f1eddb1459d2cded4d8d293fc97aee6aefb861859c8b6a3d1dfe710463e1f9ddc72048c09751971c4a580aa51eb523357a3cc48d31cfad1d4a165066ed92d4748fb6571211da5cb14bc11b6e2df7c1a559e6d5ac1cd5c94703a22891464fba23d0d965086277a161"; +var pValue="d090ce58a92c75233a6486cb0a9209bf3583b64f540c76f5294bb97d285eed33aec220bde14b2417951178ac152ceab6da7090905b478195498b352048f15e7d"; +var qValue="cab575dc652bb66df15a0359609d51d1db184750c00c6698b90ef3465c99655103edbf0d54c56aec0ce3c4d22592338092a126a0cc49f65a4a30d222b411e58f"; +var dmp1Value="1a24bca8e273df2f0e47c199bbf678604e7df7215480c77c8db39f49b000ce2cf7500038acfff5433b7d582a01f1826e6f4d42e1c57f5e1fef7b12aabc59fd25"; +var dmq1Value="3d06982efbbe47339e1f6d36b1216b8a741d410b0c662f54f7118b27b9a4ec9d914337eb39841d8666f3034408cf94f5b62f11c402fc994fe15a05493150d9fd"; +var coeffValue="3a3e731acd8960b7ff9eb81a7ff93bd1cfa74cbd56987db58b4594fb09c09084db1734c8143f98b602b981aaa9243ca28deb69b5b280ee8dcee0fd2625e53250"; + +setupEngine(am3, 28); + +var TEXT = "The quick brown fox jumped over the extremely lazy frog! " + + "Now is the time for all good men to come to the party."; +var encrypted; + +function encrypt() { + var RSA = new RSAKey(); + RSA.setPublic(nValue, eValue); + RSA.setPrivateEx(nValue, eValue, dValue, pValue, qValue, dmp1Value, dmq1Value, coeffValue); + encrypted = RSA.encrypt(TEXT); +} + +function decrypt() { + var RSA = new RSAKey(); + RSA.setPublic(nValue, eValue); + RSA.setPrivateEx(nValue, eValue, dValue, pValue, qValue, dmp1Value, dmq1Value, coeffValue); + var decrypted = RSA.decrypt(encrypted); + if (decrypted != TEXT) { + throw new Error("Crypto operation failed"); + } +} + +for (var i = 0; i < 8; ++i) { + encrypt(); + decrypt(); +} diff --git a/implementation-contributed/javascriptcore/stress/v8-deltablue-strict.js b/implementation-contributed/javascriptcore/stress/v8-deltablue-strict.js new file mode 100644 index 0000000000..8badbe947c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-deltablue-strict.js @@ -0,0 +1,878 @@ +"use strict"; + +// Copyright 2008 the V8 project authors. All rights reserved. +// Copyright 1996 John Maloney and Mario Wolczko. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +// This implementation of the DeltaBlue benchmark is derived +// from the Smalltalk implementation by John Maloney and Mario +// Wolczko. Some parts have been translated directly, whereas +// others have been modified more aggresively to make it feel +// more like a JavaScript program. + +/** + * A JavaScript implementation of the DeltaBlue constraint-solving + * algorithm, as described in: + * + * "The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver" + * Bjorn N. Freeman-Benson and John Maloney + * January 1990 Communications of the ACM, + * also available as University of Washington TR 89-08-06. + * + * Beware: this benchmark is written in a grotesque style where + * the constraint model is built by side-effects from constructors. + * I've kept it this way to avoid deviating too much from the original + * implementation. + */ + + +/* --- O b j e c t M o d e l --- */ + +Object.prototype.inheritsFrom = function (shuper) { + function Inheriter() { } + Inheriter.prototype = shuper.prototype; + this.prototype = new Inheriter(); + this.superConstructor = shuper; +} + +function OrderedCollection() { + this.elms = new Array(); +} + +OrderedCollection.prototype.add = function (elm) { + this.elms.push(elm); +} + +OrderedCollection.prototype.at = function (index) { + return this.elms[index]; +} + +OrderedCollection.prototype.size = function () { + return this.elms.length; +} + +OrderedCollection.prototype.removeFirst = function () { + return this.elms.pop(); +} + +OrderedCollection.prototype.remove = function (elm) { + var index = 0, skipped = 0; + for (var i = 0; i < this.elms.length; i++) { + var value = this.elms[i]; + if (value != elm) { + this.elms[index] = value; + index++; + } else { + skipped++; + } + } + for (var i = 0; i < skipped; i++) + this.elms.pop(); +} + +/* --- * + * S t r e n g t h + * --- */ + +/** + * Strengths are used to measure the relative importance of constraints. + * New strengths may be inserted in the strength hierarchy without + * disrupting current constraints. Strengths cannot be created outside + * this class, so pointer comparison can be used for value comparison. + */ +function Strength(strengthValue, name) { + this.strengthValue = strengthValue; + this.name = name; +} + +Strength.stronger = function (s1, s2) { + return s1.strengthValue < s2.strengthValue; +} + +Strength.weaker = function (s1, s2) { + return s1.strengthValue > s2.strengthValue; +} + +Strength.weakestOf = function (s1, s2) { + return this.weaker(s1, s2) ? s1 : s2; +} + +Strength.strongest = function (s1, s2) { + return this.stronger(s1, s2) ? s1 : s2; +} + +Strength.prototype.nextWeaker = function () { + switch (this.strengthValue) { + case 0: return Strength.WEAKEST; + case 1: return Strength.WEAK_DEFAULT; + case 2: return Strength.NORMAL; + case 3: return Strength.STRONG_DEFAULT; + case 4: return Strength.PREFERRED; + case 5: return Strength.REQUIRED; + } +} + +// Strength constants. +Strength.REQUIRED = new Strength(0, "required"); +Strength.STONG_PREFERRED = new Strength(1, "strongPreferred"); +Strength.PREFERRED = new Strength(2, "preferred"); +Strength.STRONG_DEFAULT = new Strength(3, "strongDefault"); +Strength.NORMAL = new Strength(4, "normal"); +Strength.WEAK_DEFAULT = new Strength(5, "weakDefault"); +Strength.WEAKEST = new Strength(6, "weakest"); + +/* --- * + * C o n s t r a i n t + * --- */ + +/** + * An abstract class representing a system-maintainable relationship + * (or "constraint") between a set of variables. A constraint supplies + * a strength instance variable; concrete subclasses provide a means + * of storing the constrained variables and other information required + * to represent a constraint. + */ +function Constraint(strength) { + this.strength = strength; +} + +/** + * Activate this constraint and attempt to satisfy it. + */ +Constraint.prototype.addConstraint = function () { + this.addToGraph(); + planner.incrementalAdd(this); +} + +/** + * Attempt to find a way to enforce this constraint. If successful, + * record the solution, perhaps modifying the current dataflow + * graph. Answer the constraint that this constraint overrides, if + * there is one, or nil, if there isn't. + * Assume: I am not already satisfied. + */ +Constraint.prototype.satisfy = function (mark) { + this.chooseMethod(mark); + if (!this.isSatisfied()) { + if (this.strength == Strength.REQUIRED) + alert("Could not satisfy a required constraint!"); + return null; + } + this.markInputs(mark); + var out = this.output(); + var overridden = out.determinedBy; + if (overridden != null) overridden.markUnsatisfied(); + out.determinedBy = this; + if (!planner.addPropagate(this, mark)) + alert("Cycle encountered"); + out.mark = mark; + return overridden; +} + +Constraint.prototype.destroyConstraint = function () { + if (this.isSatisfied()) planner.incrementalRemove(this); + else this.removeFromGraph(); +} + +/** + * Normal constraints are not input constraints. An input constraint + * is one that depends on external state, such as the mouse, the + * keybord, a clock, or some arbitraty piece of imperative code. + */ +Constraint.prototype.isInput = function () { + return false; +} + +/* --- * + * U n a r y C o n s t r a i n t + * --- */ + +/** + * Abstract superclass for constraints having a single possible output + * variable. + */ +function UnaryConstraint(v, strength) { + UnaryConstraint.superConstructor.call(this, strength); + this.myOutput = v; + this.satisfied = false; + this.addConstraint(); +} + +UnaryConstraint.inheritsFrom(Constraint); + +/** + * Adds this constraint to the constraint graph + */ +UnaryConstraint.prototype.addToGraph = function () { + this.myOutput.addConstraint(this); + this.satisfied = false; +} + +/** + * Decides if this constraint can be satisfied and records that + * decision. + */ +UnaryConstraint.prototype.chooseMethod = function (mark) { + this.satisfied = (this.myOutput.mark != mark) + && Strength.stronger(this.strength, this.myOutput.walkStrength); +} + +/** + * Returns true if this constraint is satisfied in the current solution. + */ +UnaryConstraint.prototype.isSatisfied = function () { + return this.satisfied; +} + +UnaryConstraint.prototype.markInputs = function (mark) { + // has no inputs +} + +/** + * Returns the current output variable. + */ +UnaryConstraint.prototype.output = function () { + return this.myOutput; +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this constraint. Assume + * this constraint is satisfied. + */ +UnaryConstraint.prototype.recalculate = function () { + this.myOutput.walkStrength = this.strength; + this.myOutput.stay = !this.isInput(); + if (this.myOutput.stay) this.execute(); // Stay optimization +} + +/** + * Records that this constraint is unsatisfied + */ +UnaryConstraint.prototype.markUnsatisfied = function () { + this.satisfied = false; +} + +UnaryConstraint.prototype.inputsKnown = function () { + return true; +} + +UnaryConstraint.prototype.removeFromGraph = function () { + if (this.myOutput != null) this.myOutput.removeConstraint(this); + this.satisfied = false; +} + +/* --- * + * S t a y C o n s t r a i n t + * --- */ + +/** + * Variables that should, with some level of preference, stay the same. + * Planners may exploit the fact that instances, if satisfied, will not + * change their output during plan execution. This is called "stay + * optimization". + */ +function StayConstraint(v, str) { + StayConstraint.superConstructor.call(this, v, str); +} + +StayConstraint.inheritsFrom(UnaryConstraint); + +StayConstraint.prototype.execute = function () { + // Stay constraints do nothing +} + +/* --- * + * E d i t C o n s t r a i n t + * --- */ + +/** + * A unary input constraint used to mark a variable that the client + * wishes to change. + */ +function EditConstraint(v, str) { + EditConstraint.superConstructor.call(this, v, str); +} + +EditConstraint.inheritsFrom(UnaryConstraint); + +/** + * Edits indicate that a variable is to be changed by imperative code. + */ +EditConstraint.prototype.isInput = function () { + return true; +} + +EditConstraint.prototype.execute = function () { + // Edit constraints do nothing +} + +/* --- * + * B i n a r y C o n s t r a i n t + * --- */ + +var Direction = new Object(); +Direction.NONE = 0; +Direction.FORWARD = 1; +Direction.BACKWARD = -1; + +/** + * Abstract superclass for constraints having two possible output + * variables. + */ +function BinaryConstraint(var1, var2, strength) { + BinaryConstraint.superConstructor.call(this, strength); + this.v1 = var1; + this.v2 = var2; + this.direction = Direction.NONE; + this.addConstraint(); +} + +BinaryConstraint.inheritsFrom(Constraint); + +/** + * Decides if this constraint can be satisfied and which way it + * should flow based on the relative strength of the variables related, + * and record that decision. + */ +BinaryConstraint.prototype.chooseMethod = function (mark) { + if (this.v1.mark == mark) { + this.direction = (this.v2.mark != mark && Strength.stronger(this.strength, this.v2.walkStrength)) + ? Direction.FORWARD + : Direction.NONE; + } + if (this.v2.mark == mark) { + this.direction = (this.v1.mark != mark && Strength.stronger(this.strength, this.v1.walkStrength)) + ? Direction.BACKWARD + : Direction.NONE; + } + if (Strength.weaker(this.v1.walkStrength, this.v2.walkStrength)) { + this.direction = Strength.stronger(this.strength, this.v1.walkStrength) + ? Direction.BACKWARD + : Direction.NONE; + } else { + this.direction = Strength.stronger(this.strength, this.v2.walkStrength) + ? Direction.FORWARD + : Direction.BACKWARD + } +} + +/** + * Add this constraint to the constraint graph + */ +BinaryConstraint.prototype.addToGraph = function () { + this.v1.addConstraint(this); + this.v2.addConstraint(this); + this.direction = Direction.NONE; +} + +/** + * Answer true if this constraint is satisfied in the current solution. + */ +BinaryConstraint.prototype.isSatisfied = function () { + return this.direction != Direction.NONE; +} + +/** + * Mark the input variable with the given mark. + */ +BinaryConstraint.prototype.markInputs = function (mark) { + this.input().mark = mark; +} + +/** + * Returns the current input variable + */ +BinaryConstraint.prototype.input = function () { + return (this.direction == Direction.FORWARD) ? this.v1 : this.v2; +} + +/** + * Returns the current output variable + */ +BinaryConstraint.prototype.output = function () { + return (this.direction == Direction.FORWARD) ? this.v2 : this.v1; +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this + * constraint. Assume this constraint is satisfied. + */ +BinaryConstraint.prototype.recalculate = function () { + var ihn = this.input(), out = this.output(); + out.walkStrength = Strength.weakestOf(this.strength, ihn.walkStrength); + out.stay = ihn.stay; + if (out.stay) this.execute(); +} + +/** + * Record the fact that this constraint is unsatisfied. + */ +BinaryConstraint.prototype.markUnsatisfied = function () { + this.direction = Direction.NONE; +} + +BinaryConstraint.prototype.inputsKnown = function (mark) { + var i = this.input(); + return i.mark == mark || i.stay || i.determinedBy == null; +} + +BinaryConstraint.prototype.removeFromGraph = function () { + if (this.v1 != null) this.v1.removeConstraint(this); + if (this.v2 != null) this.v2.removeConstraint(this); + this.direction = Direction.NONE; +} + +/* --- * + * S c a l e C o n s t r a i n t + * --- */ + +/** + * Relates two variables by the linear scaling relationship: "v2 = + * (v1 * scale) + offset". Either v1 or v2 may be changed to maintain + * this relationship but the scale factor and offset are considered + * read-only. + */ +function ScaleConstraint(src, scale, offset, dest, strength) { + this.direction = Direction.NONE; + this.scale = scale; + this.offset = offset; + ScaleConstraint.superConstructor.call(this, src, dest, strength); +} + +ScaleConstraint.inheritsFrom(BinaryConstraint); + +/** + * Adds this constraint to the constraint graph. + */ +ScaleConstraint.prototype.addToGraph = function () { + ScaleConstraint.superConstructor.prototype.addToGraph.call(this); + this.scale.addConstraint(this); + this.offset.addConstraint(this); +} + +ScaleConstraint.prototype.removeFromGraph = function () { + ScaleConstraint.superConstructor.prototype.removeFromGraph.call(this); + if (this.scale != null) this.scale.removeConstraint(this); + if (this.offset != null) this.offset.removeConstraint(this); +} + +ScaleConstraint.prototype.markInputs = function (mark) { + ScaleConstraint.superConstructor.prototype.markInputs.call(this, mark); + this.scale.mark = this.offset.mark = mark; +} + +/** + * Enforce this constraint. Assume that it is satisfied. + */ +ScaleConstraint.prototype.execute = function () { + if (this.direction == Direction.FORWARD) { + this.v2.value = this.v1.value * this.scale.value + this.offset.value; + } else { + this.v1.value = (this.v2.value - this.offset.value) / this.scale.value; + } +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this constraint. Assume + * this constraint is satisfied. + */ +ScaleConstraint.prototype.recalculate = function () { + var ihn = this.input(), out = this.output(); + out.walkStrength = Strength.weakestOf(this.strength, ihn.walkStrength); + out.stay = ihn.stay && this.scale.stay && this.offset.stay; + if (out.stay) this.execute(); +} + +/* --- * + * E q u a l i t y C o n s t r a i n t + * --- */ + +/** + * Constrains two variables to have the same value. + */ +function EqualityConstraint(var1, var2, strength) { + EqualityConstraint.superConstructor.call(this, var1, var2, strength); +} + +EqualityConstraint.inheritsFrom(BinaryConstraint); + +/** + * Enforce this constraint. Assume that it is satisfied. + */ +EqualityConstraint.prototype.execute = function () { + this.output().value = this.input().value; +} + +/* --- * + * V a r i a b l e + * --- */ + +/** + * A constrained variable. In addition to its value, it maintain the + * structure of the constraint graph, the current dataflow graph, and + * various parameters of interest to the DeltaBlue incremental + * constraint solver. + **/ +function Variable(name, initialValue) { + this.value = initialValue || 0; + this.constraints = new OrderedCollection(); + this.determinedBy = null; + this.mark = 0; + this.walkStrength = Strength.WEAKEST; + this.stay = true; + this.name = name; +} + +/** + * Add the given constraint to the set of all constraints that refer + * this variable. + */ +Variable.prototype.addConstraint = function (c) { + this.constraints.add(c); +} + +/** + * Removes all traces of c from this variable. + */ +Variable.prototype.removeConstraint = function (c) { + this.constraints.remove(c); + if (this.determinedBy == c) this.determinedBy = null; +} + +/* --- * + * P l a n n e r + * --- */ + +/** + * The DeltaBlue planner + */ +function Planner() { + this.currentMark = 0; +} + +/** + * Attempt to satisfy the given constraint and, if successful, + * incrementally update the dataflow graph. Details: If satifying + * the constraint is successful, it may override a weaker constraint + * on its output. The algorithm attempts to resatisfy that + * constraint using some other method. This process is repeated + * until either a) it reaches a variable that was not previously + * determined by any constraint or b) it reaches a constraint that + * is too weak to be satisfied using any of its methods. The + * variables of constraints that have been processed are marked with + * a unique mark value so that we know where we've been. This allows + * the algorithm to avoid getting into an infinite loop even if the + * constraint graph has an inadvertent cycle. + */ +Planner.prototype.incrementalAdd = function (c) { + var mark = this.newMark(); + var overridden = c.satisfy(mark); + while (overridden != null) + overridden = overridden.satisfy(mark); +} + +/** + * Entry point for retracting a constraint. Remove the given + * constraint and incrementally update the dataflow graph. + * Details: Retracting the given constraint may allow some currently + * unsatisfiable downstream constraint to be satisfied. We therefore collect + * a list of unsatisfied downstream constraints and attempt to + * satisfy each one in turn. This list is traversed by constraint + * strength, strongest first, as a heuristic for avoiding + * unnecessarily adding and then overriding weak constraints. + * Assume: c is satisfied. + */ +Planner.prototype.incrementalRemove = function (c) { + var out = c.output(); + c.markUnsatisfied(); + c.removeFromGraph(); + var unsatisfied = this.removePropagateFrom(out); + var strength = Strength.REQUIRED; + do { + for (var i = 0; i < unsatisfied.size(); i++) { + var u = unsatisfied.at(i); + if (u.strength == strength) + this.incrementalAdd(u); + } + strength = strength.nextWeaker(); + } while (strength != Strength.WEAKEST); +} + +/** + * Select a previously unused mark value. + */ +Planner.prototype.newMark = function () { + return ++this.currentMark; +} + +/** + * Extract a plan for resatisfaction starting from the given source + * constraints, usually a set of input constraints. This method + * assumes that stay optimization is desired; the plan will contain + * only constraints whose output variables are not stay. Constraints + * that do no computation, such as stay and edit constraints, are + * not included in the plan. + * Details: The outputs of a constraint are marked when it is added + * to the plan under construction. A constraint may be appended to + * the plan when all its input variables are known. A variable is + * known if either a) the variable is marked (indicating that has + * been computed by a constraint appearing earlier in the plan), b) + * the variable is 'stay' (i.e. it is a constant at plan execution + * time), or c) the variable is not determined by any + * constraint. The last provision is for past states of history + * variables, which are not stay but which are also not computed by + * any constraint. + * Assume: sources are all satisfied. + */ +Planner.prototype.makePlan = function (sources) { + var mark = this.newMark(); + var plan = new Plan(); + var todo = sources; + while (todo.size() > 0) { + var c = todo.removeFirst(); + if (c.output().mark != mark && c.inputsKnown(mark)) { + plan.addConstraint(c); + c.output().mark = mark; + this.addConstraintsConsumingTo(c.output(), todo); + } + } + return plan; +} + +/** + * Extract a plan for resatisfying starting from the output of the + * given constraints, usually a set of input constraints. + */ +Planner.prototype.extractPlanFromConstraints = function (constraints) { + var sources = new OrderedCollection(); + for (var i = 0; i < constraints.size(); i++) { + var c = constraints.at(i); + if (c.isInput() && c.isSatisfied()) + // not in plan already and eligible for inclusion + sources.add(c); + } + return this.makePlan(sources); +} + +/** + * Recompute the walkabout strengths and stay flags of all variables + * downstream of the given constraint and recompute the actual + * values of all variables whose stay flag is true. If a cycle is + * detected, remove the given constraint and answer + * false. Otherwise, answer true. + * Details: Cycles are detected when a marked variable is + * encountered downstream of the given constraint. The sender is + * assumed to have marked the inputs of the given constraint with + * the given mark. Thus, encountering a marked node downstream of + * the output constraint means that there is a path from the + * constraint's output to one of its inputs. + */ +Planner.prototype.addPropagate = function (c, mark) { + var todo = new OrderedCollection(); + todo.add(c); + while (todo.size() > 0) { + var d = todo.removeFirst(); + if (d.output().mark == mark) { + this.incrementalRemove(c); + return false; + } + d.recalculate(); + this.addConstraintsConsumingTo(d.output(), todo); + } + return true; +} + + +/** + * Update the walkabout strengths and stay flags of all variables + * downstream of the given constraint. Answer a collection of + * unsatisfied constraints sorted in order of decreasing strength. + */ +Planner.prototype.removePropagateFrom = function (out) { + out.determinedBy = null; + out.walkStrength = Strength.WEAKEST; + out.stay = true; + var unsatisfied = new OrderedCollection(); + var todo = new OrderedCollection(); + todo.add(out); + while (todo.size() > 0) { + var v = todo.removeFirst(); + for (var i = 0; i < v.constraints.size(); i++) { + var c = v.constraints.at(i); + if (!c.isSatisfied()) + unsatisfied.add(c); + } + var determining = v.determinedBy; + for (var i = 0; i < v.constraints.size(); i++) { + var next = v.constraints.at(i); + if (next != determining && next.isSatisfied()) { + next.recalculate(); + todo.add(next.output()); + } + } + } + return unsatisfied; +} + +Planner.prototype.addConstraintsConsumingTo = function (v, coll) { + var determining = v.determinedBy; + var cc = v.constraints; + for (var i = 0; i < cc.size(); i++) { + var c = cc.at(i); + if (c != determining && c.isSatisfied()) + coll.add(c); + } +} + +/* --- * + * P l a n + * --- */ + +/** + * A Plan is an ordered list of constraints to be executed in sequence + * to resatisfy all currently satisfiable constraints in the face of + * one or more changing inputs. + */ +function Plan() { + this.v = new OrderedCollection(); +} + +Plan.prototype.addConstraint = function (c) { + this.v.add(c); +} + +Plan.prototype.size = function () { + return this.v.size(); +} + +Plan.prototype.constraintAt = function (index) { + return this.v.at(index); +} + +Plan.prototype.execute = function () { + for (var i = 0; i < this.size(); i++) { + var c = this.constraintAt(i); + c.execute(); + } +} + +/* --- * + * M a i n + * --- */ + +/** + * This is the standard DeltaBlue benchmark. A long chain of equality + * constraints is constructed with a stay constraint on one end. An + * edit constraint is then added to the opposite end and the time is + * measured for adding and removing this constraint, and extracting + * and executing a constraint satisfaction plan. There are two cases. + * In case 1, the added constraint is stronger than the stay + * constraint and values must propagate down the entire length of the + * chain. In case 2, the added constraint is weaker than the stay + * constraint so it cannot be accomodated. The cost in this case is, + * of course, very low. Typical situations lie somewhere between these + * two extremes. + */ +function chainTest(n) { + planner = new Planner(); + var prev = null, first = null, last = null; + + // Build chain of n equality constraints + for (var i = 0; i <= n; i++) { + var name = "v" + i; + var v = new Variable(name); + if (prev != null) + new EqualityConstraint(prev, v, Strength.REQUIRED); + if (i == 0) first = v; + if (i == n) last = v; + prev = v; + } + + new StayConstraint(last, Strength.STRONG_DEFAULT); + var edit = new EditConstraint(first, Strength.PREFERRED); + var edits = new OrderedCollection(); + edits.add(edit); + var plan = planner.extractPlanFromConstraints(edits); + for (var i = 0; i < 100; i++) { + first.value = i; + plan.execute(); + if (last.value != i) + alert("Chain test failed."); + } +} + +/** + * This test constructs a two sets of variables related to each + * other by a simple linear transformation (scale and offset). The + * time is measured to change a variable on either side of the + * mapping and to change the scale and offset factors. + */ +function projectionTest(n) { + planner = new Planner(); + var scale = new Variable("scale", 10); + var offset = new Variable("offset", 1000); + var src = null, dst = null; + + var dests = new OrderedCollection(); + for (var i = 0; i < n; i++) { + src = new Variable("src" + i, i); + dst = new Variable("dst" + i, i); + dests.add(dst); + new StayConstraint(src, Strength.NORMAL); + new ScaleConstraint(src, scale, offset, dst, Strength.REQUIRED); + } + + change(src, 17); + if (dst.value != 1170) alert("Projection 1 failed"); + change(dst, 1050); + if (src.value != 5) alert("Projection 2 failed"); + change(scale, 5); + for (var i = 0; i < n - 1; i++) { + if (dests.at(i).value != i * 5 + 1000) + alert("Projection 3 failed"); + } + change(offset, 2000); + for (var i = 0; i < n - 1; i++) { + if (dests.at(i).value != i * 5 + 2000) + alert("Projection 4 failed"); + } +} + +function change(v, newValue) { + var edit = new EditConstraint(v, Strength.PREFERRED); + var edits = new OrderedCollection(); + edits.add(edit); + var plan = planner.extractPlanFromConstraints(edits); + for (var i = 0; i < 10; i++) { + v.value = newValue; + plan.execute(); + } + edit.destroyConstraint(); +} + +// Global variable holding the current planner. +var planner = null; + +function deltaBlue() { + chainTest(100); + projectionTest(100); +} + +for (var i = 0; i < 155; ++i) + deltaBlue(); diff --git a/implementation-contributed/javascriptcore/stress/v8-earley-boyer-strict.js b/implementation-contributed/javascriptcore/stress/v8-earley-boyer-strict.js new file mode 100644 index 0000000000..7794433609 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-earley-boyer-strict.js @@ -0,0 +1,4592 @@ +// [DFG] call-varargs-from-inlined-code-with-odd-number-of-arguments.js fails in POSIX environment if SamplingProfiler is enabled +// https://bugs.webkit.org/show_bug.cgi?id=153704 +//@ if $hostOS == "linux" then defaultNoSamplingProfilerRun else defaultRun end +// This file is automatically generated by scheme2js, except for the +// benchmark harness code at the beginning and end of the file. +"use strict"; + +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/************* GENERATED FILE - DO NOT EDIT *************/ +/* + * To use write/prints/... the default-output port has to be set first. + * Simply setting SC_DEFAULT_OUT and SC_ERROR_OUT to the desired values + * should do the trick. + * In the following example the std-out and error-port are redirected to + * a DIV. +function initRuntime() { + function escapeHTML(s) { + var tmp = s; + tmp = tmp.replace(/&/g, "&"); + tmp = tmp.replace(//g, ">"); + tmp = tmp.replace(/ /g, " "); + tmp = tmp.replace(/\n/g, "
"); + tmp = tmp.replace(/\t/g, "    "); + return tmp; + + } + + document.write("
"); + SC_DEFAULT_OUT = new sc_GenericOutputPort( + function(s) { + var stdout = document.getElementById('stdout'); + stdout.innerHTML = stdout.innerHTML + escapeHTML(s); + }); + SC_ERROR_OUT = SC_DEFAULT_OUT; +} +*/ + + +function sc_print_debug() { + sc_print.apply(null, arguments); +} +/*** META ((export *js*)) */ +var sc_JS_GLOBALS = this; + +var __sc_LINE=-1; +var __sc_FILE=""; + +/*** META ((export #t)) */ +function sc_alert() { + var len = arguments.length; + var s = ""; + var i; + + for( i = 0; i < len; i++ ) { + s += sc_toDisplayString(arguments[ i ]); + } + + return alert( s ); +} + +/*** META ((export #t)) */ +function sc_typeof( x ) { + return typeof x; +} + +/*** META ((export #t)) */ +function sc_error() { + var a = [sc_jsstring2symbol("*error*")]; + for (var i = 0; i < arguments.length; i++) { + a[i+1] = arguments[i]; + } + throw a; +} + +/*** META ((export #t) + (peephole (prefix "throw "))) +*/ +function sc_raise(obj) { + throw obj; +} + +/*** META ((export with-handler-lambda)) */ +function sc_withHandlerLambda(handler, body) { + try { + return body(); + } catch(e) { + if (!e._internalException) + return handler(e); + else + throw e; + } +} + +var sc_properties = new Object(); + +/*** META ((export #t)) */ +function sc_putpropBang(sym, key, val) { + var ht = sc_properties[sym]; + if (!ht) { + ht = new Object(); + sc_properties[sym] = ht; + } + ht[key] = val; +} + +/*** META ((export #t)) */ +function sc_getprop(sym, key) { + var ht = sc_properties[sym]; + if (ht) { + if (key in ht) + return ht[key]; + else + return false; + } else + return false; +} + +/*** META ((export #t)) */ +function sc_rempropBang(sym, key) { + var ht = sc_properties[sym]; + if (ht) + delete ht[key]; +} + +/*** META ((export #t)) */ +function sc_any2String(o) { + return jsstring2string(sc_toDisplayString(o)); +} + +/*** META ((export #t) + (peephole (infix 2 2 "===")) + (type bool)) +*/ +function sc_isEqv(o1, o2) { + return (o1 === o2); +} + +/*** META ((export #t) + (peephole (infix 2 2 "===")) + (type bool)) +*/ +function sc_isEq(o1, o2) { + return (o1 === o2); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isNumber(n) { + return (typeof n === "number"); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isComplex(n) { + return sc_isNumber(n); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isReal(n) { + return sc_isNumber(n); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isRational(n) { + return sc_isReal(n); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isInteger(n) { + return (parseInt(n) === n); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix ", false"))) +*/ +// we don't have exact numbers... +function sc_isExact(n) { + return false; +} + +/*** META ((export #t) + (peephole (postfix ", true")) + (type bool)) +*/ +function sc_isInexact(n) { + return true; +} + +/*** META ((export = =fx =fl) + (type bool) + (peephole (infix 2 2 "==="))) +*/ +function sc_equal(x) { + for (var i = 1; i < arguments.length; i++) + if (x !== arguments[i]) + return false; + return true; +} + +/*** META ((export < = arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export > >fx >fl) + (type bool) + (peephole (infix 2 2 ">"))) +*/ +function sc_greater(x, y) { + for (var i = 1; i < arguments.length; i++) { + if (x <= arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export <= <=fx <=fl) + (type bool) + (peephole (infix 2 2 "<="))) +*/ +function sc_lessEqual(x, y) { + for (var i = 1; i < arguments.length; i++) { + if (x > arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export >= >=fl >=fx) + (type bool) + (peephole (infix 2 2 ">="))) +*/ +function sc_greaterEqual(x, y) { + for (var i = 1; i < arguments.length; i++) { + if (x < arguments[i]) + return false; + x = arguments[i]; + } + return true; +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "=== 0"))) +*/ +function sc_isZero(x) { + return (x === 0); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "> 0"))) +*/ +function sc_isPositive(x) { + return (x > 0); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "< 0"))) +*/ +function sc_isNegative(x) { + return (x < 0); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "%2===1"))) +*/ +function sc_isOdd(x) { + return (x % 2 === 1); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix "%2===0"))) +*/ +function sc_isEven(x) { + return (x % 2 === 0); +} + +/*** META ((export #t)) */ +var sc_max = Math.max; +/*** META ((export #t)) */ +var sc_min = Math.min; + +/*** META ((export + +fx +fl) + (peephole (infix 0 #f "+" "0"))) +*/ +function sc_plus() { + var sum = 0; + for (var i = 0; i < arguments.length; i++) + sum += arguments[i]; + return sum; +} + +/*** META ((export * *fx *fl) + (peephole (infix 0 #f "*" "1"))) +*/ +function sc_multi() { + var product = 1; + for (var i = 0; i < arguments.length; i++) + product *= arguments[i]; + return product; +} + +/*** META ((export - -fx -fl) + (peephole (minus))) +*/ +function sc_minus(x) { + if (arguments.length === 1) + return -x; + else { + var res = x; + for (var i = 1; i < arguments.length; i++) + res -= arguments[i]; + return res; + } +} + +/*** META ((export / /fl) + (peephole (div))) +*/ +function sc_div(x) { + if (arguments.length === 1) + return 1/x; + else { + var res = x; + for (var i = 1; i < arguments.length; i++) + res /= arguments[i]; + return res; + } +} + +/*** META ((export #t)) */ +var sc_abs = Math.abs; + +/*** META ((export quotient /fx) + (peephole (hole 2 "parseInt(" x "/" y ")"))) +*/ +function sc_quotient(x, y) { + return parseInt(x / y); +} + +/*** META ((export #t) + (peephole (infix 2 2 "%"))) +*/ +function sc_remainder(x, y) { + return x % y; +} + +/*** META ((export #t) + (peephole (modulo))) +*/ +function sc_modulo(x, y) { + var remainder = x % y; + // if they don't have the same sign + if ((remainder * y) < 0) + return remainder + y; + else + return remainder; +} + +function sc_euclid_gcd(a, b) { + var temp; + if (a === 0) return b; + if (b === 0) return a; + if (a < 0) {a = -a;}; + if (b < 0) {b = -b;}; + if (b > a) {temp = a; a = b; b = temp;}; + while (true) { + a %= b; + if(a === 0) {return b;}; + b %= a; + if(b === 0) {return a;}; + }; + return b; +} + +/*** META ((export #t)) */ +function sc_gcd() { + var gcd = 0; + for (var i = 0; i < arguments.length; i++) + gcd = sc_euclid_gcd(gcd, arguments[i]); + return gcd; +} + +/*** META ((export #t)) */ +function sc_lcm() { + var lcm = 1; + for (var i = 0; i < arguments.length; i++) { + var f = Math.round(arguments[i] / sc_euclid_gcd(arguments[i], lcm)); + lcm *= Math.abs(f); + } + return lcm; +} + +// LIMITATION: numerator and denominator don't make sense in floating point world. +//var SC_MAX_DECIMALS = 1000000 +// +// function sc_numerator(x) { +// var rounded = Math.round(x * SC_MAX_DECIMALS); +// return Math.round(rounded / sc_euclid_gcd(rounded, SC_MAX_DECIMALS)); +// } + +// function sc_denominator(x) { +// var rounded = Math.round(x * SC_MAX_DECIMALS); +// return Math.round(SC_MAX_DECIMALS / sc_euclid_gcd(rounded, SC_MAX_DECIMALS)); +// } + +/*** META ((export #t)) */ +var sc_floor = Math.floor; +/*** META ((export #t)) */ +var sc_ceiling = Math.ceil; +/*** META ((export #t)) */ +var sc_truncate = parseInt; +/*** META ((export #t)) */ +var sc_round = Math.round; + +// LIMITATION: sc_rationalize doesn't make sense in a floating point world. + +/*** META ((export #t)) */ +var sc_exp = Math.exp; +/*** META ((export #t)) */ +var sc_log = Math.log; +/*** META ((export #t)) */ +var sc_sin = Math.sin; +/*** META ((export #t)) */ +var sc_cos = Math.cos; +/*** META ((export #t)) */ +var sc_tan = Math.tan; +/*** META ((export #t)) */ +var sc_asin = Math.asin; +/*** META ((export #t)) */ +var sc_acos = Math.acos; +/*** META ((export #t)) */ +var sc_atan = Math.atan; + +/*** META ((export #t)) */ +var sc_sqrt = Math.sqrt; +/*** META ((export #t)) */ +var sc_expt = Math.pow; + +// LIMITATION: we don't have complex numbers. +// LIMITATION: the following functions are hence not implemented. +// LIMITATION: make-rectangular, make-polar, real-part, imag-part, magnitude, angle +// LIMITATION: 2 argument atan + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_exact2inexact(x) { + return x; +} + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_inexact2exact(x) { + return x; +} + +function sc_number2jsstring(x, radix) { + if (radix) + return x.toString(radix); + else + return x.toString(); +} + +function sc_jsstring2number(s, radix) { + if (s === "") return false; + + if (radix) { + var t = parseInt(s, radix); + if (!t && t !== 0) return false; + // verify that each char is in range. (parseInt ignores leading + // white and trailing chars) + var allowedChars = "01234567890abcdefghijklmnopqrstuvwxyz".substring(0, radix+1); + if ((new RegExp("^["+allowedChars+"]*$", "i")).test(s)) + return t; + else return false; + } else { + var t = +s; // does not ignore trailing chars. + if (!t && t !== 0) return false; + // simply verify that first char is not whitespace. + var c = s.charAt(0); + // if +c is 0, but the char is not "0", then we have a whitespace. + if (+c === 0 && c !== "0") return false; + return t; + } +} + +/*** META ((export #t) + (type bool) + (peephole (not))) +*/ +function sc_not(b) { + return b === false; +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isBoolean(b) { + return (b === true) || (b === false); +} + +function sc_Pair(car, cdr) { + this.car = car; + this.cdr = cdr; +} + +sc_Pair.prototype.toString = function() { + return sc_toDisplayString(this); +}; +sc_Pair.prototype.sc_toWriteOrDisplayString = function(writeOrDisplay) { + var current = this; + + var res = "("; + + while(true) { + res += writeOrDisplay(current.car); + if (sc_isPair(current.cdr)) { + res += " "; + current = current.cdr; + } else if (current.cdr !== null) { + res += " . " + writeOrDisplay(current.cdr); + break; + } else // current.cdr == null + break; + } + + res += ")"; + + return res; +}; +sc_Pair.prototype.sc_toDisplayString = function() { + return this.sc_toWriteOrDisplayString(sc_toDisplayString); +}; +sc_Pair.prototype.sc_toWriteString = function() { + return this.sc_toWriteOrDisplayString(sc_toWriteString); +}; +// sc_Pair.prototype.sc_toWriteCircleString in IO.js + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_Pair"))) +*/ +function sc_isPair(p) { + return (p instanceof sc_Pair); +} + +function sc_isPairEqual(p1, p2, comp) { + return (comp(p1.car, p2.car) && comp(p1.cdr, p2.cdr)); +} + +/*** META ((export #t) + (peephole (hole 2 "new sc_Pair(" car ", " cdr ")"))) +*/ +function sc_cons(car, cdr) { + return new sc_Pair(car, cdr); +} + +/*** META ((export cons*)) */ +function sc_consStar() { + var res = arguments[arguments.length - 1]; + for (var i = arguments.length-2; i >= 0; i--) + res = new sc_Pair(arguments[i], res); + return res; +} + +/*** META ((export #t) + (peephole (postfix ".car"))) +*/ +function sc_car(p) { + return p.car; +} + +/*** META ((export #t) + (peephole (postfix ".cdr"))) +*/ +function sc_cdr(p) { + return p.cdr; +} + +/*** META ((export #t) + (peephole (hole 2 p ".car = " val))) +*/ +function sc_setCarBang(p, val) { + p.car = val; +} + +/*** META ((export #t) + (peephole (hole 2 p ".cdr = " val))) +*/ +function sc_setCdrBang(p, val) { + p.cdr = val; +} + +/*** META ((export #t) + (peephole (postfix ".car.car"))) +*/ +function sc_caar(p) { return p.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car"))) +*/ +function sc_cadr(p) { return p.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr"))) +*/ +function sc_cdar(p) { return p.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr"))) +*/ +function sc_cddr(p) { return p.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.car.car"))) +*/ +function sc_caaar(p) { return p.car.car.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.car"))) +*/ +function sc_cadar(p) { return p.car.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.car"))) +*/ +function sc_caadr(p) { return p.cdr.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.car"))) +*/ +function sc_caddr(p) { return p.cdr.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.car.cdr"))) +*/ +function sc_cdaar(p) { return p.car.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.cdr"))) +*/ +function sc_cdadr(p) { return p.cdr.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.cdr"))) +*/ +function sc_cddar(p) { return p.car.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.cdr"))) +*/ +function sc_cdddr(p) { return p.cdr.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.car.car.car"))) +*/ +function sc_caaaar(p) { return p.car.car.car.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.car.car"))) +*/ +function sc_caadar(p) { return p.car.cdr.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.car.car"))) +*/ +function sc_caaadr(p) { return p.cdr.car.car.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.car.car"))) +*/ +function sc_caaddr(p) { return p.cdr.cdr.car.car; } +/*** META ((export #t) + (peephole (postfix ".car.car.car.cdr"))) +*/ +function sc_cdaaar(p) { return p.car.car.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.car.cdr"))) +*/ +function sc_cdadar(p) { return p.car.cdr.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.car.cdr"))) +*/ +function sc_cdaadr(p) { return p.cdr.car.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.car.cdr"))) +*/ +function sc_cdaddr(p) { return p.cdr.cdr.car.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.car.cdr.car"))) +*/ +function sc_cadaar(p) { return p.car.car.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.cdr.car"))) +*/ +function sc_caddar(p) { return p.car.cdr.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.cdr.car"))) +*/ +function sc_cadadr(p) { return p.cdr.car.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.cdr.car"))) +*/ +function sc_cadddr(p) { return p.cdr.cdr.cdr.car; } +/*** META ((export #t) + (peephole (postfix ".car.car.cdr.cdr"))) +*/ +function sc_cddaar(p) { return p.car.car.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".car.cdr.cdr.cdr"))) +*/ +function sc_cdddar(p) { return p.car.cdr.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.car.cdr.cdr"))) +*/ +function sc_cddadr(p) { return p.cdr.car.cdr.cdr; } +/*** META ((export #t) + (peephole (postfix ".cdr.cdr.cdr.cdr"))) +*/ +function sc_cddddr(p) { return p.cdr.cdr.cdr.cdr; } + +/*** META ((export #t)) */ +function sc_lastPair(l) { + if (!sc_isPair(l)) sc_error("sc_lastPair: pair expected"); + var res = l; + var cdr = l.cdr; + while (sc_isPair(cdr)) { + res = cdr; + cdr = res.cdr; + } + return res; +} + +/*** META ((export #t) + (type bool) + (peephole (postfix " === null"))) +*/ +function sc_isNull(o) { + return (o === null); +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isList(o) { + var rabbit; + var turtle; + + var rabbit = o; + var turtle = o; + while (true) { + if (rabbit === null || + (rabbit instanceof sc_Pair && rabbit.cdr === null)) + return true; // end of list + else if ((rabbit instanceof sc_Pair) && + (rabbit.cdr instanceof sc_Pair)) { + rabbit = rabbit.cdr.cdr; + turtle = turtle.cdr; + if (rabbit === turtle) return false; // cycle + } else + return false; // not pair + } +} + +/*** META ((export #t)) */ +function sc_list() { + var res = null; + var a = arguments; + for (var i = a.length-1; i >= 0; i--) + res = new sc_Pair(a[i], res); + return res; +} + +/*** META ((export #t)) */ +function sc_iota(num, init) { + var res = null; + if (!init) init = 0; + for (var i = num - 1; i >= 0; i--) + res = new sc_Pair(i + init, res); + return res; +} + +/*** META ((export #t)) */ +function sc_makeList(nbEls, fill) { + var res = null; + for (var i = 0; i < nbEls; i++) + res = new sc_Pair(fill, res); + return res; +} + +/*** META ((export #t)) */ +function sc_length(l) { + var res = 0; + while (l !== null) { + res++; + l = l.cdr; + } + return res; +} + +/*** META ((export #t)) */ +function sc_remq(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + while (l !== null) { + if (l.car !== o) { + tail.cdr = sc_cons(l.car, null); + tail = tail.cdr; + } + l = l.cdr; + } + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_remqBang(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + var needsAssig = true; + while (l !== null) { + if (l.car === o) { + needsAssig = true; + } else { + if (needsAssig) { + tail.cdr = l; + needsAssig = false; + } + tail = l; + } + l = l.cdr; + } + tail.cdr = null; + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_delete(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + while (l !== null) { + if (!sc_isEqual(l.car, o)) { + tail.cdr = sc_cons(l.car, null); + tail = tail.cdr; + } + l = l.cdr; + } + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_deleteBang(o, l) { + var dummy = { cdr : null }; + var tail = dummy; + var needsAssig = true; + while (l !== null) { + if (sc_isEqual(l.car, o)) { + needsAssig = true; + } else { + if (needsAssig) { + tail.cdr = l; + needsAssig = false; + } + tail = l; + } + l = l.cdr; + } + tail.cdr = null; + return dummy.cdr; +} + +function sc_reverseAppendBang(l1, l2) { + var res = l2; + while (l1 !== null) { + var tmp = res; + res = l1; + l1 = l1.cdr; + res.cdr = tmp; + } + return res; +} + +function sc_dualAppend(l1, l2) { + if (l1 === null) return l2; + if (l2 === null) return l1; + var rev = sc_reverse(l1); + return sc_reverseAppendBang(rev, l2); +} + +/*** META ((export #t)) */ +function sc_append() { + if (arguments.length === 0) + return null; + var res = arguments[arguments.length - 1]; + for (var i = arguments.length - 2; i >= 0; i--) + res = sc_dualAppend(arguments[i], res); + return res; +} + +function sc_dualAppendBang(l1, l2) { + if (l1 === null) return l2; + if (l2 === null) return l1; + var tmp = l1; + while (tmp.cdr !== null) tmp=tmp.cdr; + tmp.cdr = l2; + return l1; +} + +/*** META ((export #t)) */ +function sc_appendBang() { + var res = null; + for (var i = 0; i < arguments.length; i++) + res = sc_dualAppendBang(res, arguments[i]); + return res; +} + +/*** META ((export #t)) */ +function sc_reverse(l1) { + var res = null; + while (l1 !== null) { + res = sc_cons(l1.car, res); + l1 = l1.cdr; + } + return res; +} + +/*** META ((export #t)) */ +function sc_reverseBang(l) { + return sc_reverseAppendBang(l, null); +} + +/*** META ((export #t)) */ +function sc_listTail(l, k) { + var res = l; + for (var i = 0; i < k; i++) { + res = res.cdr; + } + return res; +} + +/*** META ((export #t)) */ +function sc_listRef(l, k) { + return sc_listTail(l, k).car; +} + +/* // unoptimized generic versions +function sc_memX(o, l, comp) { + while (l != null) { + if (comp(l.car, o)) + return l; + l = l.cdr; + } + return false; +} +function sc_memq(o, l) { return sc_memX(o, l, sc_isEq); } +function sc_memv(o, l) { return sc_memX(o, l, sc_isEqv); } +function sc_member(o, l) { return sc_memX(o, l, sc_isEqual); } +*/ + +/* optimized versions */ +/*** META ((export #t)) */ +function sc_memq(o, l) { + while (l !== null) { + if (l.car === o) + return l; + l = l.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_memv(o, l) { + while (l !== null) { + if (l.car === o) + return l; + l = l.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_member(o, l) { + while (l !== null) { + if (sc_isEqual(l.car,o)) + return l; + l = l.cdr; + } + return false; +} + +/* // generic unoptimized versions +function sc_assX(o, al, comp) { + while (al != null) { + if (comp(al.car.car, o)) + return al.car; + al = al.cdr; + } + return false; +} +function sc_assq(o, al) { return sc_assX(o, al, sc_isEq); } +function sc_assv(o, al) { return sc_assX(o, al, sc_isEqv); } +function sc_assoc(o, al) { return sc_assX(o, al, sc_isEqual); } +*/ +// optimized versions +/*** META ((export #t)) */ +function sc_assq(o, al) { + while (al !== null) { + if (al.car.car === o) + return al.car; + al = al.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_assv(o, al) { + while (al !== null) { + if (al.car.car === o) + return al.car; + al = al.cdr; + } + return false; +} +/*** META ((export #t)) */ +function sc_assoc(o, al) { + while (al !== null) { + if (sc_isEqual(al.car.car, o)) + return al.car; + al = al.cdr; + } + return false; +} + +/* can be used for mutable strings and characters */ +function sc_isCharStringEqual(cs1, cs2) { return cs1.val === cs2.val; } +function sc_isCharStringLess(cs1, cs2) { return cs1.val < cs2.val; } +function sc_isCharStringGreater(cs1, cs2) { return cs1.val > cs2.val; } +function sc_isCharStringLessEqual(cs1, cs2) { return cs1.val <= cs2.val; } +function sc_isCharStringGreaterEqual(cs1, cs2) { return cs1.val >= cs2.val; } +function sc_isCharStringCIEqual(cs1, cs2) + { return cs1.val.toLowerCase() === cs2.val.toLowerCase(); } +function sc_isCharStringCILess(cs1, cs2) + { return cs1.val.toLowerCase() < cs2.val.toLowerCase(); } +function sc_isCharStringCIGreater(cs1, cs2) + { return cs1.val.toLowerCase() > cs2.val.toLowerCase(); } +function sc_isCharStringCILessEqual(cs1, cs2) + { return cs1.val.toLowerCase() <= cs2.val.toLowerCase(); } +function sc_isCharStringCIGreaterEqual(cs1, cs2) + { return cs1.val.toLowerCase() >= cs2.val.toLowerCase(); } + + + + +function sc_Char(c) { + var cached = sc_Char.lazy[c]; + if (cached) + return cached; + this.val = c; + sc_Char.lazy[c] = this; + // add return, so FF does not complain. + return undefined; +} +sc_Char.lazy = new Object(); + +sc_Char.prototype.toString = function() { + return this.val; +}; +// sc_toDisplayString == toString +sc_Char.prototype.sc_toWriteString = function() { + return "#\\" + this.val; +}; + +/*** META ((export #t) + (type bool) + (peephole (postfix "instanceof sc_Char"))) +*/ +function sc_isChar(c) { + return (c instanceof sc_Char); +} + +/*** META ((export char=?) + (type bool) + (peephole (hole 2 c1 ".val === " c2 ".val"))) +*/ +var sc_isCharEqual = sc_isCharStringEqual; +/*** META ((export char?) + (type bool) + (peephole (hole 2 c1 ".val > " c2 ".val"))) +*/ +var sc_isCharGreater = sc_isCharStringGreater; +/*** META ((export char<=?) + (type bool) + (peephole (hole 2 c1 ".val <= " c2 ".val"))) +*/ +var sc_isCharLessEqual = sc_isCharStringLessEqual; +/*** META ((export char>=?) + (type bool) + (peephole (hole 2 c1 ".val >= " c2 ".val"))) +*/ +var sc_isCharGreaterEqual = sc_isCharStringGreaterEqual; +/*** META ((export char-ci=?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() === " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCIEqual = sc_isCharStringCIEqual; +/*** META ((export char-ci?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() > " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCIGreater = sc_isCharStringCIGreater; +/*** META ((export char-ci<=?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() <= " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCILessEqual = sc_isCharStringCILessEqual; +/*** META ((export char-ci>=?) + (type bool) + (peephole (hole 2 c1 ".val.toLowerCase() >= " c2 ".val.toLowerCase()"))) +*/ +var sc_isCharCIGreaterEqual = sc_isCharStringCIGreaterEqual; + +var SC_NUMBER_CLASS = "0123456789"; +var SC_WHITESPACE_CLASS = ' \r\n\t\f'; +var SC_LOWER_CLASS = 'abcdefghijklmnopqrstuvwxyz'; +var SC_UPPER_CLASS = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + +function sc_isCharOfClass(c, cl) { return (cl.indexOf(c) != -1); } +/*** META ((export #t) + (type bool)) +*/ +function sc_isCharAlphabetic(c) + { return sc_isCharOfClass(c.val, SC_LOWER_CLASS) || + sc_isCharOfClass(c.val, SC_UPPER_CLASS); } +/*** META ((export #t) + (type bool) + (peephole (hole 1 "SC_NUMBER_CLASS.indexOf(" c ".val) != -1"))) +*/ +function sc_isCharNumeric(c) + { return sc_isCharOfClass(c.val, SC_NUMBER_CLASS); } +/*** META ((export #t) + (type bool)) +*/ +function sc_isCharWhitespace(c) { + var tmp = c.val; + return tmp === " " || tmp === "\r" || tmp === "\n" || tmp === "\t" || tmp === "\f"; +} +/*** META ((export #t) + (type bool) + (peephole (hole 1 "SC_UPPER_CLASS.indexOf(" c ".val) != -1"))) +*/ +function sc_isCharUpperCase(c) + { return sc_isCharOfClass(c.val, SC_UPPER_CLASS); } +/*** META ((export #t) + (type bool) + (peephole (hole 1 "SC_LOWER_CLASS.indexOf(" c ".val) != -1"))) +*/ +function sc_isCharLowerCase(c) + { return sc_isCharOfClass(c.val, SC_LOWER_CLASS); } + +/*** META ((export #t) + (peephole (postfix ".val.charCodeAt(0)"))) +*/ +function sc_char2integer(c) + { return c.val.charCodeAt(0); } +/*** META ((export #t) + (peephole (hole 1 "new sc_Char(String.fromCharCode(" n "))"))) +*/ +function sc_integer2char(n) + { return new sc_Char(String.fromCharCode(n)); } + +/*** META ((export #t) + (peephole (hole 1 "new sc_Char(" c ".val.toUpperCase())"))) +*/ +function sc_charUpcase(c) + { return new sc_Char(c.val.toUpperCase()); } +/*** META ((export #t) + (peephole (hole 1 "new sc_Char(" c ".val.toLowerCase())"))) +*/ +function sc_charDowncase(c) + { return new sc_Char(c.val.toLowerCase()); } + +function sc_makeJSStringOfLength(k, c) { + var fill; + if (c === undefined) + fill = " "; + else + fill = c; + var res = ""; + var len = 1; + // every round doubles the size of fill. + while (k >= len) { + if (k & len) + res = res.concat(fill); + fill = fill.concat(fill); + len *= 2; + } + return res; +} + +function sc_makejsString(k, c) { + var fill; + if (c) + fill = c.val; + else + fill = " "; + return sc_makeJSStringOfLength(k, fill); +} + +function sc_jsstring2list(s) { + var res = null; + for (var i = s.length - 1; i >= 0; i--) + res = sc_cons(new sc_Char(s.charAt(i)), res); + return res; +} + +function sc_list2jsstring(l) { + var a = new Array(); + while(l !== null) { + a.push(l.car.val); + l = l.cdr; + } + return "".concat.apply("", a); +} + +var sc_Vector = Array; + +sc_Vector.prototype.sc_toWriteOrDisplayString = function(writeOrDisplay) { + if (this.length === 0) return "#()"; + + var res = "#(" + writeOrDisplay(this[0]); + for (var i = 1; i < this.length; i++) + res += " " + writeOrDisplay(this[i]); + res += ")"; + return res; +}; +sc_Vector.prototype.sc_toDisplayString = function() { + return this.sc_toWriteOrDisplayString(sc_toDisplayString); +}; +sc_Vector.prototype.sc_toWriteString = function() { + return this.sc_toWriteOrDisplayString(sc_toWriteString); +}; + +/*** META ((export vector? array?) + (type bool) + (peephole (postfix " instanceof sc_Vector"))) +*/ +function sc_isVector(v) { + return (v instanceof sc_Vector); +} + +// only applies to vectors +function sc_isVectorEqual(v1, v2, comp) { + if (v1.length !== v2.length) return false; + for (var i = 0; i < v1.length; i++) + if (!comp(v1[i], v2[i])) return false; + return true; +} + +/*** META ((export make-vector make-array)) */ +function sc_makeVector(size, fill) { + var a = new sc_Vector(size); + if (fill !== undefined) + sc_vectorFillBang(a, fill); + return a; +} + +/*** META ((export vector array) + (peephole (vector))) +*/ +function sc_vector() { + var a = new sc_Vector(); + for (var i = 0; i < arguments.length; i++) + a.push(arguments[i]); + return a; +} + +/*** META ((export vector-length array-length) + (peephole (postfix ".length"))) +*/ +function sc_vectorLength(v) { + return v.length; +} + +/*** META ((export vector-ref array-ref) + (peephole (hole 2 v "[" pos "]"))) +*/ +function sc_vectorRef(v, pos) { + return v[pos]; +} + +/*** META ((export vector-set! array-set!) + (peephole (hole 3 v "[" pos "] = " val))) +*/ +function sc_vectorSetBang(v, pos, val) { + v[pos] = val; +} + +/*** META ((export vector->list array->list)) */ +function sc_vector2list(a) { + var res = null; + for (var i = a.length-1; i >= 0; i--) + res = sc_cons(a[i], res); + return res; +} + +/*** META ((export list->vector list->array)) */ +function sc_list2vector(l) { + var a = new sc_Vector(); + while(l !== null) { + a.push(l.car); + l = l.cdr; + } + return a; +} + +/*** META ((export vector-fill! array-fill!)) */ +function sc_vectorFillBang(a, fill) { + for (var i = 0; i < a.length; i++) + a[i] = fill; +} + + +/*** META ((export #t)) */ +function sc_copyVector(a, len) { + if (len <= a.length) + return a.slice(0, len); + else { + var tmp = a.concat(); + tmp.length = len; + return tmp; + } +} + +/*** META ((export #t) + (peephole (hole 3 a ".slice(" start "," end ")"))) +*/ +function sc_vectorCopy(a, start, end) { + return a.slice(start, end); +} + +/*** META ((export #t)) */ +function sc_vectorCopyBang(target, tstart, source, sstart, send) { + if (!sstart) sstart = 0; + if (!send) send = source.length; + + // if target == source we don't want to overwrite not yet copied elements. + if (tstart <= sstart) { + for (var i = tstart, j = sstart; j < send; i++, j++) { + target[i] = source[j]; + } + } else { + var diff = send - sstart; + for (var i = tstart + diff - 1, j = send - 1; + j >= sstart; + i--, j--) { + target[i] = source[j]; + } + } + return target; +} + +/*** META ((export #t) + (type bool) + (peephole (hole 1 "typeof " o " === 'function'"))) +*/ +function sc_isProcedure(o) { + return (typeof o === "function"); +} + +/*** META ((export #t)) */ +function sc_apply(proc) { + var args = new Array(); + // first part of arguments are not in list-form. + for (var i = 1; i < arguments.length - 1; i++) + args.push(arguments[i]); + var l = arguments[arguments.length - 1]; + while (l !== null) { + args.push(l.car); + l = l.cdr; + } + return proc.apply(null, args); +} + +/*** META ((export #t)) */ +function sc_map(proc, l1) { + if (l1 === undefined) + return null; + // else + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + var revres = null; + while (l1 !== null) { + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + revres = sc_cons(proc.apply(null, applyArgs), revres); + } + return sc_reverseAppendBang(revres, null); +} + +/*** META ((export #t)) */ +function sc_mapBang(proc, l1) { + if (l1 === undefined) + return null; + // else + var l1_orig = l1; + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + while (l1 !== null) { + var tmp = l1; + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + tmp.car = proc.apply(null, applyArgs); + } + return l1_orig; +} + +/*** META ((export #t)) */ +function sc_forEach(proc, l1) { + if (l1 === undefined) + return undefined; + // else + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + while (l1 !== null) { + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + proc.apply(null, applyArgs); + } + // add return so FF does not complain. + return undefined; +} + +/*** META ((export #t)) */ +function sc_filter(proc, l1) { + var dummy = { cdr : null }; + var tail = dummy; + while (l1 !== null) { + if (proc(l1.car) !== false) { + tail.cdr = sc_cons(l1.car, null); + tail = tail.cdr; + } + l1 = l1.cdr; + } + return dummy.cdr; +} + +/*** META ((export #t)) */ +function sc_filterBang(proc, l1) { + var head = sc_cons("dummy", l1); + var it = head; + var next = l1; + while (next !== null) { + if (proc(next.car) !== false) { + it.cdr = next + it = next; + } + next = next.cdr; + } + it.cdr = null; + return head.cdr; +} + +function sc_filterMap1(proc, l1) { + var revres = null; + while (l1 !== null) { + var tmp = proc(l1.car) + if (tmp !== false) revres = sc_cons(tmp, revres); + l1 = l1.cdr; + } + return sc_reverseAppendBang(revres, null); +} +function sc_filterMap2(proc, l1, l2) { + var revres = null; + while (l1 !== null) { + var tmp = proc(l1.car, l2.car); + if(tmp !== false) revres = sc_cons(tmp, revres); + l1 = l1.cdr; + l2 = l2.cdr + } + return sc_reverseAppendBang(revres, null); +} + +/*** META ((export #t)) */ +function sc_filterMap(proc, l1, l2, l3) { + if (l2 === undefined) + return sc_filterMap1(proc, l1); + else if (l3 === undefined) + return sc_filterMap2(proc, l1, l2); + // else + var nbApplyArgs = arguments.length - 1; + var applyArgs = new Array(nbApplyArgs); + var revres = null; + while (l1 !== null) { + for (var i = 0; i < nbApplyArgs; i++) { + applyArgs[i] = arguments[i + 1].car; + arguments[i + 1] = arguments[i + 1].cdr; + } + var tmp = proc.apply(null, applyArgs); + if(tmp !== false) revres = sc_cons(tmp, revres); + } + return sc_reverseAppendBang(revres, null); +} + +/*** META ((export #t)) */ +function sc_any(proc, l) { + var revres = null; + while (l !== null) { + var tmp = proc(l.car); + if(tmp !== false) return tmp; + l = l.cdr; + } + return false; +} + +/*** META ((export any?) + (peephole (hole 2 "sc_any(" proc "," l ") !== false"))) +*/ +function sc_anyPred(proc, l) { + return sc_any(proc, l)!== false; +} + +/*** META ((export #t)) */ +function sc_every(proc, l) { + var revres = null; + var tmp = true; + while (l !== null) { + tmp = proc(l.car); + if (tmp === false) return false; + l = l.cdr; + } + return tmp; +} + +/*** META ((export every?) + (peephole (hole 2 "sc_every(" proc "," l ") !== false"))) +*/ +function sc_everyPred(proc, l) { + var tmp = sc_every(proc, l); + if (tmp !== false) return true; + return false; +} + +/*** META ((export #t) + (peephole (postfix "()"))) +*/ +function sc_force(o) { + return o(); +} + +/*** META ((export #t)) */ +function sc_makePromise(proc) { + var isResultReady = false; + var result = undefined; + return function() { + if (!isResultReady) { + var tmp = proc(); + if (!isResultReady) { + isResultReady = true; + result = tmp; + } + } + return result; + }; +} + +function sc_Values(values) { + this.values = values; +} + +/*** META ((export #t) + (peephole (values))) +*/ +function sc_values() { + if (arguments.length === 1) + return arguments[0]; + else + return new sc_Values(arguments); +} + +/*** META ((export #t)) */ +function sc_callWithValues(producer, consumer) { + var produced = producer(); + if (produced instanceof sc_Values) + return consumer.apply(null, produced.values); + else + return consumer(produced); +} + +/*** META ((export #t)) */ +function sc_dynamicWind(before, thunk, after) { + before(); + try { + var res = thunk(); + return res; + } finally { + after(); + } +} + + +// TODO: eval/scheme-report-environment/null-environment/interaction-environment + +// LIMITATION: 'load' doesn't exist without files. +// LIMITATION: transcript-on/transcript-off doesn't exist without files. + + +function sc_Struct(name) { + this.name = name; +} +sc_Struct.prototype.sc_toDisplayString = function() { + return "#"; +}; +sc_Struct.prototype.sc_toWriteString = sc_Struct.prototype.sc_toDisplayString; + +/*** META ((export #t) + (peephole (hole 1 "new sc_Struct(" name ")"))) +*/ +function sc_makeStruct(name) { + return new sc_Struct(name); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_Struct"))) +*/ +function sc_isStruct(o) { + return (o instanceof sc_Struct); +} + +/*** META ((export #t) + (type bool) + (peephole (hole 2 "(" 1 " instanceof sc_Struct) && ( " 1 ".name === " 0 ")"))) +*/ +function sc_isStructNamed(name, s) { + return ((s instanceof sc_Struct) && (s.name === name)); +} + +/*** META ((export struct-field) + (peephole (hole 3 0 "[" 2 "]"))) +*/ +function sc_getStructField(s, name, field) { + return s[field]; +} + +/*** META ((export struct-field-set!) + (peephole (hole 4 0 "[" 2 "] = " 3))) +*/ +function sc_setStructFieldBang(s, name, field, val) { + s[field] = val; +} + +/*** META ((export #t) + (peephole (prefix "~"))) +*/ +function sc_bitNot(x) { + return ~x; +} + +/*** META ((export #t) + (peephole (infix 2 2 "&"))) +*/ +function sc_bitAnd(x, y) { + return x & y; +} + +/*** META ((export #t) + (peephole (infix 2 2 "|"))) +*/ +function sc_bitOr(x, y) { + return x | y; +} + +/*** META ((export #t) + (peephole (infix 2 2 "^"))) +*/ +function sc_bitXor(x, y) { + return x ^ y; +} + +/*** META ((export #t) + (peephole (infix 2 2 "<<"))) +*/ +function sc_bitLsh(x, y) { + return x << y; +} + +/*** META ((export #t) + (peephole (infix 2 2 ">>"))) +*/ +function sc_bitRsh(x, y) { + return x >> y; +} + +/*** META ((export #t) + (peephole (infix 2 2 ">>>"))) +*/ +function sc_bitUrsh(x, y) { + return x >>> y; +} + +/*** META ((export js-field js-property) + (peephole (hole 2 o "[" field "]"))) +*/ +function sc_jsField(o, field) { + return o[field]; +} + +/*** META ((export js-field-set! js-property-set!) + (peephole (hole 3 o "[" field "] = " val))) +*/ +function sc_setJsFieldBang(o, field, val) { + return o[field] = val; +} + +/*** META ((export js-field-delete! js-property-delete!) + (peephole (hole 2 "delete" o "[" field "]"))) +*/ +function sc_deleteJsFieldBang(o, field) { + delete o[field]; +} + +/*** META ((export #t) + (peephole (jsCall))) +*/ +function sc_jsCall(o, fun) { + var args = new Array(); + for (var i = 2; i < arguments.length; i++) + args[i-2] = arguments[i]; + return fun.apply(o, args); +} + +/*** META ((export #t) + (peephole (jsMethodCall))) +*/ +function sc_jsMethodCall(o, field) { + var args = new Array(); + for (var i = 2; i < arguments.length; i++) + args[i-2] = arguments[i]; + return o[field].apply(o, args); +} + +/*** META ((export new js-new) + (peephole (jsNew))) +*/ +function sc_jsNew(c) { + var evalStr = "new c("; + evalStr +=arguments.length > 1? "arguments[1]": ""; + for (var i = 2; i < arguments.length; i++) + evalStr += ", arguments[" + i + "]"; + evalStr +=")"; + return eval(evalStr); +} + +// ======================== RegExp ==================== +/*** META ((export #t)) */ +function sc_pregexp(re) { + return new RegExp(sc_string2jsstring(re)); +} + +/*** META ((export #t)) */ +function sc_pregexpMatch(re, s) { + var reg = (re instanceof RegExp) ? re : sc_pregexp(re); + var tmp = reg.exec(sc_string2jsstring(s)); + + if (tmp == null) return false; + + var res = null; + for (var i = tmp.length-1; i >= 0; i--) { + if (tmp[i] !== null) { + res = sc_cons(sc_jsstring2string(tmp[i]), res); + } else { + res = sc_cons(false, res); + } + } + return res; +} + +/*** META ((export #t)) */ +function sc_pregexpReplace(re, s1, s2) { + var reg; + var jss1 = sc_string2jsstring(s1); + var jss2 = sc_string2jsstring(s2); + + if (re instanceof RegExp) { + if (re.global) + reg = re; + else + reg = new RegExp(re.source); + } else { + reg = new RegExp(sc_string2jsstring(re)); + } + + return jss1.replace(reg, jss2); +} + +/*** META ((export pregexp-replace*)) */ +function sc_pregexpReplaceAll(re, s1, s2) { + var reg; + var jss1 = sc_string2jsstring(s1); + var jss2 = sc_string2jsstring(s2); + + if (re instanceof RegExp) { + if (re.global) + reg = re; + else + reg = new RegExp(re.source, "g"); + } else { + reg = new RegExp(sc_string2jsstring(re), "g"); + } + + return jss1.replace(reg, jss2); +} + +/*** META ((export #t)) */ +function sc_pregexpSplit(re, s) { + var reg = ((re instanceof RegExp) ? + re : + new RegExp(sc_string2jsstring(re))); + var jss = sc_string2jsstring(s); + var tmp = jss.split(reg); + + if (tmp == null) return false; + + return sc_vector2list(tmp); +} + + +/* =========================================================================== */ +/* Other library stuff */ +/* =========================================================================== */ + +/*** META ((export #t) + (peephole (hole 1 "Math.floor(Math.random()*" 'n ")"))) +*/ +function sc_random(n) { + return Math.floor(Math.random()*n); +} + +/*** META ((export current-date) + (peephole (hole 0 "new Date()"))) +*/ +function sc_currentDate() { + return new Date(); +} + +function sc_Hashtable() { +} +sc_Hashtable.prototype.toString = function() { + return "#{%hashtable}"; +}; +// sc_toWriteString == sc_toDisplayString == toString + +function sc_HashtableElement(key, val) { + this.key = key; + this.val = val; +} + +/*** META ((export #t) + (peephole (hole 0 "new sc_Hashtable()"))) +*/ +function sc_makeHashtable() { + return new sc_Hashtable(); +} + +/*** META ((export #t)) */ +function sc_hashtablePutBang(ht, key, val) { + var hash = sc_hash(key); + ht[hash] = new sc_HashtableElement(key, val); +} + +/*** META ((export #t)) */ +function sc_hashtableGet(ht, key) { + var hash = sc_hash(key); + if (hash in ht) + return ht[hash].val; + else + return false; +} + +/*** META ((export #t)) */ +function sc_hashtableForEach(ht, f) { + for (var v in ht) { + if (ht[v] instanceof sc_HashtableElement) + f(ht[v].key, ht[v].val); + } +} + +/*** META ((export hashtable-contains?) + (peephole (hole 2 "sc_hash(" 1 ") in " 0))) +*/ +function sc_hashtableContains(ht, key) { + var hash = sc_hash(key); + if (hash in ht) + return true; + else + return false; +} + +var SC_HASH_COUNTER = 0; + +function sc_hash(o) { + if (o === null) + return "null"; + else if (o === undefined) + return "undefined"; + else if (o === true) + return "true"; + else if (o === false) + return "false"; + else if (typeof o === "number") + return "num-" + o; + else if (typeof o === "string") + return "jsstr-" + o; + else if (o.sc_getHash) + return o.sc_getHash(); + else + return sc_counterHash.call(o); +} +function sc_counterHash() { + if (!this.sc_hash) { + this.sc_hash = "hash-" + SC_HASH_COUNTER; + SC_HASH_COUNTER++; + } + return this.sc_hash; +} + +function sc_Trampoline(args, maxTailCalls) { + this['__trampoline return__'] = true; + this.args = args; + this.MAX_TAIL_CALLs = maxTailCalls; +} +// TODO: call/cc stuff +sc_Trampoline.prototype.restart = function() { + var o = this; + while (true) { + // set both globals. + SC_TAIL_OBJECT.calls = o.MAX_TAIL_CALLs-1; + var fun = o.args.callee; + var res = fun.apply(SC_TAIL_OBJECT, o.args); + if (res instanceof sc_Trampoline) + o = res; + else + return res; + } +} + +/*** META ((export bind-exit-lambda)) */ +function sc_bindExitLambda(proc) { + var escape_obj = new sc_BindExitException(); + var escape = function(res) { + escape_obj.res = res; + throw escape_obj; + }; + try { + return proc(escape); + } catch(e) { + if (e === escape_obj) { + return e.res; + } + throw e; + } +} +function sc_BindExitException() { + this._internalException = true; +} + +var SC_SCM2JS_GLOBALS = new Object(); + +// default tail-call depth. +// normally the program should set it again. but just in case... +var SC_TAIL_OBJECT = new Object(); +SC_SCM2JS_GLOBALS.TAIL_OBJECT = SC_TAIL_OBJECT; +// ======================== I/O ======================= + +/*------------------------------------------------------------------*/ + +function sc_EOF() { +} +var SC_EOF_OBJECT = new sc_EOF(); + +function sc_Port() { +} + +/* --------------- Input ports -------------------------------------*/ + +function sc_InputPort() { +} +sc_InputPort.prototype = new sc_Port(); + +sc_InputPort.prototype.peekChar = function() { + if (!("peeked" in this)) + this.peeked = this.getNextChar(); + return this.peeked; +} +sc_InputPort.prototype.readChar = function() { + var tmp = this.peekChar(); + delete this.peeked; + return tmp; +} +sc_InputPort.prototype.isCharReady = function() { + return true; +} +sc_InputPort.prototype.close = function() { + // do nothing +} + +/* .............. String port ..........................*/ +function sc_ErrorInputPort() { +}; +sc_ErrorInputPort.prototype = new sc_InputPort(); +sc_ErrorInputPort.prototype.getNextChar = function() { + throw "can't read from error-port."; +}; +sc_ErrorInputPort.prototype.isCharReady = function() { + return false; +}; + + +/* .............. String port ..........................*/ + +function sc_StringInputPort(jsStr) { + // we are going to do some charAts on the str. + // instead of recreating all the time a String-object, we + // create one in the beginning. (not sure, if this is really an optim) + this.str = new String(jsStr); + this.pos = 0; +} +sc_StringInputPort.prototype = new sc_InputPort(); +sc_StringInputPort.prototype.getNextChar = function() { + if (this.pos >= this.str.length) + return SC_EOF_OBJECT; + return this.str.charAt(this.pos++); +}; + +/* ------------- Read and other lib-funs -------------------------------*/ +function sc_Token(type, val, pos) { + this.type = type; + this.val = val; + this.pos = pos; +} +sc_Token.EOF = 0/*EOF*/; +sc_Token.OPEN_PAR = 1/*OPEN_PAR*/; +sc_Token.CLOSE_PAR = 2/*CLOSE_PAR*/; +sc_Token.OPEN_BRACE = 3/*OPEN_BRACE*/; +sc_Token.CLOSE_BRACE = 4/*CLOSE_BRACE*/; +sc_Token.OPEN_BRACKET = 5/*OPEN_BRACKET*/; +sc_Token.CLOSE_BRACKET = 6/*CLOSE_BRACKET*/; +sc_Token.WHITESPACE = 7/*WHITESPACE*/; +sc_Token.QUOTE = 8/*QUOTE*/; +sc_Token.ID = 9/*ID*/; +sc_Token.DOT = 10/*DOT*/; +sc_Token.STRING = 11/*STRING*/; +sc_Token.NUMBER = 12/*NUMBER*/; +sc_Token.ERROR = 13/*ERROR*/; +sc_Token.VECTOR_BEGIN = 14/*VECTOR_BEGIN*/; +sc_Token.TRUE = 15/*TRUE*/; +sc_Token.FALSE = 16/*FALSE*/; +sc_Token.UNSPECIFIED = 17/*UNSPECIFIED*/; +sc_Token.REFERENCE = 18/*REFERENCE*/; +sc_Token.STORE = 19/*STORE*/; +sc_Token.CHAR = 20/*CHAR*/; + +var SC_ID_CLASS = SC_LOWER_CLASS + SC_UPPER_CLASS + "!$%*+-./:<=>?@^_~"; +function sc_Tokenizer(port) { + this.port = port; +} +sc_Tokenizer.prototype.peekToken = function() { + if (this.peeked) + return this.peeked; + var newToken = this.nextToken(); + this.peeked = newToken; + return newToken; +}; +sc_Tokenizer.prototype.readToken = function() { + var tmp = this.peekToken(); + delete this.peeked; + return tmp; +}; +sc_Tokenizer.prototype.nextToken = function() { + var port = this.port; + + function isNumberChar(c) { + return (c >= "0" && c <= "9"); + }; + function isIdOrNumberChar(c) { + return SC_ID_CLASS.indexOf(c) != -1 || // ID-char + (c >= "0" && c <= "9"); + } + function isWhitespace(c) { + return c === " " || c === "\r" || c === "\n" || c === "\t" || c === "\f"; + }; + function isWhitespaceOrEOF(c) { + return isWhitespace(c) || c === SC_EOF_OBJECT; + }; + + function readString() { + res = ""; + while (true) { + var c = port.readChar(); + switch (c) { + case '"': + return new sc_Token(11/*STRING*/, res); + case "\\": + var tmp = port.readChar(); + switch (tmp) { + case '0': res += "\0"; break; + case 'a': res += "\a"; break; + case 'b': res += "\b"; break; + case 'f': res += "\f"; break; + case 'n': res += "\n"; break; + case 'r': res += "\r"; break; + case 't': res += "\t"; break; + case 'v': res += "\v"; break; + case '"': res += '"'; break; + case '\\': res += '\\'; break; + case 'x': + /* hexa-number */ + var nb = 0; + while (true) { + var hexC = port.peekChar(); + if (hexC >= '0' && hexC <= '9') { + port.readChar(); + nb = nb * 16 + hexC.charCodeAt(0) - '0'.charCodeAt(0); + } else if (hexC >= 'a' && hexC <= 'f') { + port.readChar(); + nb = nb * 16 + hexC.charCodeAt(0) - 'a'.charCodeAt(0); + } else if (hexC >= 'A' && hexC <= 'F') { + port.readChar(); + nb = nb * 16 + hexC.charCodeAt(0) - 'A'.charCodeAt(0); + } else { + // next char isn't part of hex. + res += String.fromCharCode(nb); + break; + } + } + break; + default: + if (tmp === SC_EOF_OBJECT) { + return new sc_Token(13/*ERROR*/, "unclosed string-literal" + res); + } + res += tmp; + } + break; + default: + if (c === SC_EOF_OBJECT) { + return new sc_Token(13/*ERROR*/, "unclosed string-literal" + res); + } + res += c; + } + } + }; + function readIdOrNumber(firstChar) { + var res = firstChar; + while (isIdOrNumberChar(port.peekChar())) + res += port.readChar(); + if (isNaN(res)) + return new sc_Token(9/*ID*/, res); + else + return new sc_Token(12/*NUMBER*/, res - 0); + }; + + function skipWhitespaceAndComments() { + var done = false; + while (!done) { + done = true; + while (isWhitespace(port.peekChar())) + port.readChar(); + if (port.peekChar() === ';') { + port.readChar(); + done = false; + while (true) { + curChar = port.readChar(); + if (curChar === SC_EOF_OBJECT || + curChar === '\n') + break; + } + } + } + }; + + function readDot() { + if (isWhitespace(port.peekChar())) + return new sc_Token(10/*DOT*/); + else + return readIdOrNumber("."); + }; + + function readSharp() { + var c = port.readChar(); + if (isWhitespace(c)) + return new sc_Token(13/*ERROR*/, "bad #-pattern0."); + + // reference + if (isNumberChar(c)) { + var nb = c - 0; + while (isNumberChar(port.peekChar())) + nb = nb*10 + (port.readChar() - 0); + switch (port.readChar()) { + case '#': + return new sc_Token(18/*REFERENCE*/, nb); + case '=': + return new sc_Token(19/*STORE*/, nb); + default: + return new sc_Token(13/*ERROR*/, "bad #-pattern1." + nb); + } + } + + if (c === "(") + return new sc_Token(14/*VECTOR_BEGIN*/); + + if (c === "\\") { // character + var tmp = "" + while (!isWhitespaceOrEOF(port.peekChar())) + tmp += port.readChar(); + switch (tmp.length) { + case 0: // it's escaping a whitespace char: + if (sc_isEOFObject(port.peekChar)) + return new sc_Token(13/*ERROR*/, "bad #-pattern2."); + else + return new sc_Token(20/*CHAR*/, port.readChar()); + case 1: + return new sc_Token(20/*CHAR*/, tmp); + default: + return new sc_Token(13/*ERROR*/, "unknown character description: #\\" + tmp); + } + } + + // some constants (#t, #f, #unspecified) + var res; + var needing; + switch (c) { + case 't': res = new sc_Token(15/*TRUE*/, true); needing = ""; break; + case 'f': res = new sc_Token(16/*FALSE*/, false); needing = ""; break; + case 'u': res = new sc_Token(17/*UNSPECIFIED*/, undefined); needing = "nspecified"; break; + default: + return new sc_Token(13/*ERROR*/, "bad #-pattern3: " + c); + } + while(true) { + c = port.peekChar(); + if ((isWhitespaceOrEOF(c) || c === ')') && + needing == "") + return res; + else if (isWhitespace(c) || needing == "") + return new sc_Token(13/*ERROR*/, "bad #-pattern4 " + c + " " + needing); + else if (needing.charAt(0) == c) { + port.readChar(); // consume + needing = needing.slice(1); + } else + return new sc_Token(13/*ERROR*/, "bad #-pattern5"); + } + + }; + + skipWhitespaceAndComments(); + var curChar = port.readChar(); + if (curChar === SC_EOF_OBJECT) + return new sc_Token(0/*EOF*/, curChar); + switch (curChar) + { + case " ": + case "\n": + case "\t": + return readWhitespace(); + case "(": + return new sc_Token(1/*OPEN_PAR*/); + case ")": + return new sc_Token(2/*CLOSE_PAR*/); + case "{": + return new sc_Token(3/*OPEN_BRACE*/); + case "}": + return new sc_Token(4/*CLOSE_BRACE*/); + case "[": + return new sc_Token(5/*OPEN_BRACKET*/); + case "]": + return new sc_Token(6/*CLOSE_BRACKET*/); + case "'": + return new sc_Token(8/*QUOTE*/); + case "#": + return readSharp(); + case ".": + return readDot(); + case '"': + return readString(); + default: + if (isIdOrNumberChar(curChar)) + return readIdOrNumber(curChar); + throw "unexpected character: " + curChar; + } +}; + +function sc_Reader(tokenizer) { + this.tokenizer = tokenizer; + this.backref = new Array(); +} +sc_Reader.prototype.read = function() { + function readList(listBeginType) { + function matchesPeer(open, close) { + return open === 1/*OPEN_PAR*/ && close === 2/*CLOSE_PAR*/ + || open === 3/*OPEN_BRACE*/ && close === 4/*CLOSE_BRACE*/ + || open === 5/*OPEN_BRACKET*/ && close === 6/*CLOSE_BRACKET*/; + }; + var res = null; + + while (true) { + var token = tokenizer.peekToken(); + + switch (token.type) { + case 2/*CLOSE_PAR*/: + case 4/*CLOSE_BRACE*/: + case 6/*CLOSE_BRACKET*/: + if (matchesPeer(listBeginType, token.type)) { + tokenizer.readToken(); // consume token + return sc_reverseBang(res); + } else + throw "closing par doesn't match: " + listBeginType + + " " + listEndType; + + case 0/*EOF*/: + throw "unexpected end of file"; + + case 10/*DOT*/: + tokenizer.readToken(); // consume token + var cdr = this.read(); + var par = tokenizer.readToken(); + if (!matchesPeer(listBeginType, par.type)) + throw "closing par doesn't match: " + listBeginType + + " " + par.type; + else + return sc_reverseAppendBang(res, cdr); + + + default: + res = sc_cons(this.read(), res); + } + } + }; + function readQuote() { + return sc_cons("quote", sc_cons(this.read(), null)); + }; + function readVector() { + // opening-parenthesis is already consumed + var a = new Array(); + while (true) { + var token = tokenizer.peekToken(); + switch (token.type) { + case 2/*CLOSE_PAR*/: + tokenizer.readToken(); + return a; + + default: + a.push(this.read()); + } + } + }; + + function storeRefence(nb) { + var tmp = this.read(); + this.backref[nb] = tmp; + return tmp; + }; + + function readReference(nb) { + if (nb in this.backref) + return this.backref[nb]; + else + throw "bad reference: " + nb; + }; + + var tokenizer = this.tokenizer; + + var token = tokenizer.readToken(); + + // handle error + if (token.type === 13/*ERROR*/) + throw token.val; + + switch (token.type) { + case 1/*OPEN_PAR*/: + case 3/*OPEN_BRACE*/: + case 5/*OPEN_BRACKET*/: + return readList.call(this, token.type); + case 8/*QUOTE*/: + return readQuote.call(this); + case 11/*STRING*/: + return sc_jsstring2string(token.val); + case 20/*CHAR*/: + return new sc_Char(token.val); + case 14/*VECTOR_BEGIN*/: + return readVector.call(this); + case 18/*REFERENCE*/: + return readReference.call(this, token.val); + case 19/*STORE*/: + return storeRefence.call(this, token.val); + case 9/*ID*/: + return sc_jsstring2symbol(token.val); + case 0/*EOF*/: + case 12/*NUMBER*/: + case 15/*TRUE*/: + case 16/*FALSE*/: + case 17/*UNSPECIFIED*/: + return token.val; + default: + throw "unexpected token " + token.type + " " + token.val; + } +}; + +/*** META ((export #t)) */ +function sc_read(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + var reader = new sc_Reader(new sc_Tokenizer(port)); + return reader.read(); +} +/*** META ((export #t)) */ +function sc_readChar(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + var t = port.readChar(); + return t === SC_EOF_OBJECT? t: new sc_Char(t); +} +/*** META ((export #t)) */ +function sc_peekChar(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + var t = port.peekChar(); + return t === SC_EOF_OBJECT? t: new sc_Char(t); +} +/*** META ((export #t) + (type bool)) +*/ +function sc_isCharReady(port) { + if (port === undefined) // we assume the port hasn't been given. + port = SC_DEFAULT_IN; // THREAD: shared var... + return port.isCharReady(); +} +/*** META ((export #t) + (peephole (postfix ".close()"))) +*/ +function sc_closeInputPort(p) { + return p.close(); +} + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_InputPort"))) +*/ +function sc_isInputPort(o) { + return (o instanceof sc_InputPort); +} + +/*** META ((export eof-object?) + (type bool) + (peephole (postfix " === SC_EOF_OBJECT"))) +*/ +function sc_isEOFObject(o) { + return o === SC_EOF_OBJECT; +} + +/*** META ((export #t) + (peephole (hole 0 "SC_DEFAULT_IN"))) +*/ +function sc_currentInputPort() { + return SC_DEFAULT_IN; +} + +/* ------------ file operations are not supported -----------*/ +/*** META ((export #t)) */ +function sc_callWithInputFile(s, proc) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_callWithOutputFile(s, proc) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_withInputFromFile(s, thunk) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_withOutputToFile(s, thunk) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_openInputFile(s) { + throw "can't open " + s; +} + +/*** META ((export #t)) */ +function sc_openOutputFile(s) { + throw "can't open " + s; +} + +/* ----------------------------------------------------------------------------*/ +/*** META ((export #t)) */ +function sc_basename(p) { + var i = p.lastIndexOf('/'); + + if(i >= 0) + return p.substring(i + 1, p.length); + else + return ''; +} + +/*** META ((export #t)) */ +function sc_dirname(p) { + var i = p.lastIndexOf('/'); + + if(i >= 0) + return p.substring(0, i); + else + return ''; +} + +/* ----------------------------------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_withInputFromPort(p, thunk) { + try { + var tmp = SC_DEFAULT_IN; // THREAD: shared var. + SC_DEFAULT_IN = p; + return thunk(); + } finally { + SC_DEFAULT_IN = tmp; + } +} + +/*** META ((export #t)) */ +function sc_withInputFromString(s, thunk) { + return sc_withInputFromPort(new sc_StringInputPort(sc_string2jsstring(s)), thunk); +} + +/*** META ((export #t)) */ +function sc_withOutputToPort(p, thunk) { + try { + var tmp = SC_DEFAULT_OUT; // THREAD: shared var. + SC_DEFAULT_OUT = p; + return thunk(); + } finally { + SC_DEFAULT_OUT = tmp; + } +} + +/*** META ((export #t)) */ +function sc_withOutputToString(thunk) { + var p = new sc_StringOutputPort(); + sc_withOutputToPort(p, thunk); + return p.close(); +} + +/*** META ((export #t)) */ +function sc_withOutputToProcedure(proc, thunk) { + var t = function(s) { proc(sc_jsstring2string(s)); }; + return sc_withOutputToPort(new sc_GenericOutputPort(t), thunk); +} + +/*** META ((export #t) + (peephole (hole 0 "new sc_StringOutputPort()"))) +*/ +function sc_openOutputString() { + return new sc_StringOutputPort(); +} + +/*** META ((export #t)) */ +function sc_openInputString(str) { + return new sc_StringInputPort(sc_string2jsstring(str)); +} + +/* ----------------------------------------------------------------------------*/ + +function sc_OutputPort() { +} +sc_OutputPort.prototype = new sc_Port(); +sc_OutputPort.prototype.appendJSString = function(obj) { + /* do nothing */ +} +sc_OutputPort.prototype.close = function() { + /* do nothing */ +} + +function sc_StringOutputPort() { + this.res = ""; +} +sc_StringOutputPort.prototype = new sc_OutputPort(); +sc_StringOutputPort.prototype.appendJSString = function(s) { + this.res += s; +} +sc_StringOutputPort.prototype.close = function() { + return sc_jsstring2string(this.res); +} + +/*** META ((export #t)) */ +function sc_getOutputString(sp) { + return sc_jsstring2string(sp.res); +} + + +function sc_ErrorOutputPort() { +} +sc_ErrorOutputPort.prototype = new sc_OutputPort(); +sc_ErrorOutputPort.prototype.appendJSString = function(s) { + throw "don't write on ErrorPort!"; +} +sc_ErrorOutputPort.prototype.close = function() { + /* do nothing */ +} + +function sc_GenericOutputPort(appendJSString, close) { + this.appendJSString = appendJSString; + if (close) + this.close = close; +} +sc_GenericOutputPort.prototype = new sc_OutputPort(); + +/*** META ((export #t) + (type bool) + (peephole (postfix " instanceof sc_OutputPort"))) +*/ +function sc_isOutputPort(o) { + return (o instanceof sc_OutputPort); +} + +/*** META ((export #t) + (peephole (postfix ".close()"))) +*/ +function sc_closeOutputPort(p) { + return p.close(); +} + +/* ------------------ write ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_write(o, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(sc_toWriteString(o)); +} + +function sc_toWriteString(o) { + if (o === null) + return "()"; + else if (o === true) + return "#t"; + else if (o === false) + return "#f"; + else if (o === undefined) + return "#unspecified"; + else if (typeof o === 'function') + return "#"; + else if (o.sc_toWriteString) + return o.sc_toWriteString(); + else + return o.toString(); +} + +function sc_escapeWriteString(s) { + var res = ""; + var j = 0; + for (i = 0; i < s.length; i++) { + switch (s.charAt(i)) { + case "\0": res += s.substring(j, i) + "\\0"; j = i + 1; break; + case "\b": res += s.substring(j, i) + "\\b"; j = i + 1; break; + case "\f": res += s.substring(j, i) + "\\f"; j = i + 1; break; + case "\n": res += s.substring(j, i) + "\\n"; j = i + 1; break; + case "\r": res += s.substring(j, i) + "\\r"; j = i + 1; break; + case "\t": res += s.substring(j, i) + "\\t"; j = i + 1; break; + case "\v": res += s.substring(j, i) + "\\v"; j = i + 1; break; + case '"': res += s.substring(j, i) + '\\"'; j = i + 1; break; + case "\\": res += s.substring(j, i) + "\\\\"; j = i + 1; break; + default: + var c = s.charAt(i); + if ("\a" !== "a" && c == "\a") { + res += s.substring(j, i) + "\\a"; j = i + 1; continue; + } + if ("\v" !== "v" && c == "\v") { + res += s.substring(j, i) + "\\v"; j = i + 1; continue; + } + //if (s.charAt(i) < ' ' || s.charCodeAt(i) > 127) { + // CARE: Manuel is this OK with HOP? + if (s.charAt(i) < ' ') { + /* non printable character and special chars */ + res += s.substring(j, i) + "\\x" + s.charCodeAt(i).toString(16); + j = i + 1; + } + // else just let i increase... + } + } + res += s.substring(j, i); + return res; +} + +/* ------------------ display ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_display(o, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(sc_toDisplayString(o)); +} + +function sc_toDisplayString(o) { + if (o === null) + return "()"; + else if (o === true) + return "#t"; + else if (o === false) + return "#f"; + else if (o === undefined) + return "#unspecified"; + else if (typeof o === 'function') + return "#"; + else if (o.sc_toDisplayString) + return o.sc_toDisplayString(); + else + return o.toString(); +} + +/* ------------------ newline ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_newline(p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString("\n"); +} + +/* ------------------ write-char ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_writeChar(c, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(c.val); +} + +/* ------------------ write-circle ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_writeCircle(o, p) { + if (p === undefined) // we assume not given + p = SC_DEFAULT_OUT; + p.appendJSString(sc_toWriteCircleString(o)); +} + +function sc_toWriteCircleString(o) { + var symb = sc_gensym("writeCircle"); + var nbPointer = new Object(); + nbPointer.nb = 0; + sc_prepWriteCircle(o, symb, nbPointer); + return sc_genToWriteCircleString(o, symb); +} + +function sc_prepWriteCircle(o, symb, nbPointer) { + // TODO sc_Struct + if (o instanceof sc_Pair || + o instanceof sc_Vector) { + if (o[symb] !== undefined) { + // not the first visit. + o[symb]++; + // unless there is already a number, assign one. + if (!o[symb + "nb"]) o[symb + "nb"] = nbPointer.nb++; + return; + } + o[symb] = 0; + if (o instanceof sc_Pair) { + sc_prepWriteCircle(o.car, symb, nbPointer); + sc_prepWriteCircle(o.cdr, symb, nbPointer); + } else { + for (var i = 0; i < o.length; i++) + sc_prepWriteCircle(o[i], symb, nbPointer); + } + } +} + +function sc_genToWriteCircleString(o, symb) { + if (!(o instanceof sc_Pair || + o instanceof sc_Vector)) + return sc_toWriteString(o); + return o.sc_toWriteCircleString(symb); +} +sc_Pair.prototype.sc_toWriteCircleString = function(symb, inList) { + if (this[symb + "use"]) { // use-flag is set. Just use it. + var nb = this[symb + "nb"]; + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + if (inList) + return '. #' + nb + '#'; + else + return '#' + nb + '#'; + } + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + + var res = ""; + + if (this[symb] !== undefined) { // implies > 0 + this[symb + "use"] = true; + if (inList) + res += '. #' + this[symb + "nb"] + '='; + else + res += '#' + this[symb + "nb"] + '='; + inList = false; + } + + if (!inList) + res += "("; + + // print car + res += sc_genToWriteCircleString(this.car, symb); + + if (sc_isPair(this.cdr)) { + res += " " + this.cdr.sc_toWriteCircleString(symb, true); + } else if (this.cdr !== null) { + res += " . " + sc_genToWriteCircleString(this.cdr, symb); + } + if (!inList) + res += ")"; + return res; +}; +sc_Vector.prototype.sc_toWriteCircleString = function(symb) { + if (this[symb + "use"]) { // use-flag is set. Just use it. + var nb = this[symb + "nb"]; + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + return '#' + nb + '#'; + } + if (this[symb]-- === 0) { // if we are the last use. remove all fields. + delete this[symb]; + delete this[symb + "nb"]; + delete this[symb + "use"]; + } + + var res = ""; + if (this[symb] !== undefined) { // implies > 0 + this[symb + "use"] = true; + res += '#' + this[symb + "nb"] + '='; + } + res += "#("; + for (var i = 0; i < this.length; i++) { + res += sc_genToWriteCircleString(this[i], symb); + if (i < this.length - 1) res += " "; + } + res += ")"; + return res; +}; + + +/* ------------------ print ---------------------------------------------------*/ + +/*** META ((export #t)) */ +function sc_print(s) { + if (arguments.length === 1) { + sc_display(s); + sc_newline(); + } + else { + for (var i = 0; i < arguments.length; i++) + sc_display(arguments[i]); + sc_newline(); + } +} + +/* ------------------ format ---------------------------------------------------*/ +/*** META ((export #t)) */ +function sc_format(s, args) { + var len = s.length; + var p = new sc_StringOutputPort(); + var i = 0, j = 1; + + while( i < len ) { + var i2 = s.indexOf("~", i); + + if (i2 == -1) { + p.appendJSString( s.substring( i, len ) ); + return p.close(); + } else { + if (i2 > i) { + if (i2 == (len - 1)) { + p.appendJSString(s.substring(i, len)); + return p.close(); + } else { + p.appendJSString(s.substring(i, i2)); + i = i2; + } + } + + switch(s.charCodeAt(i2 + 1)) { + case 65: + case 97: + // a + sc_display(arguments[j], p); + i += 2; j++; + break; + + case 83: + case 115: + // s + sc_write(arguments[j], p); + i += 2; j++; + break; + + case 86: + case 118: + // v + sc_display(arguments[j], p); + p.appendJSString("\n"); + i += 2; j++; + break; + + case 67: + case 99: + // c + p.appendJSString(String.fromCharCode(arguments[j])); + i += 2; j++; + break; + + case 88: + case 120: + // x + p.appendJSString(arguments[j].toString(6)); + i += 2; j++; + break; + + case 79: + case 111: + // o + p.appendJSString(arguments[j].toString(8)); + i += 2; j++; + break; + + case 66: + case 98: + // b + p.appendJSString(arguments[j].toString(2)); + i += 2; j++; + break; + + case 37: + case 110: + // %, n + p.appendJSString("\n"); + i += 2; break; + + case 114: + // r + p.appendJSString("\r"); + i += 2; break; + + case 126: + // ~ + p.appendJSString("~"); + i += 2; break; + + default: + sc_error( "format: illegal ~" + + String.fromCharCode(s.charCodeAt(i2 + 1)) + + " sequence" ); + return ""; + } + } + } + + return p.close(); +} + +/* ------------------ global ports ---------------------------------------------------*/ + +var SC_DEFAULT_IN = new sc_ErrorInputPort(); +var SC_DEFAULT_OUT = new sc_ErrorOutputPort(); +var SC_ERROR_OUT = new sc_ErrorOutputPort(); + +var sc_SYMBOL_PREFIX = "\u1E9C"; +var sc_KEYWORD_PREFIX = "\u1E9D"; + +/*** META ((export #t) + (peephole (id))) */ +function sc_jsstring2string(s) { + return s; +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9C' +"))) +*/ +function sc_jsstring2symbol(s) { + return sc_SYMBOL_PREFIX + s; +} + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_string2jsstring(s) { + return s; +} + +/*** META ((export #t) + (peephole (symbol2jsstring_immutable))) +*/ +function sc_symbol2jsstring(s) { + return s.slice(1); +} + +/*** META ((export #t) + (peephole (postfix ".slice(1)"))) +*/ +function sc_keyword2jsstring(k) { + return k.slice(1); +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9D' +"))) +*/ +function sc_jsstring2keyword(s) { + return sc_KEYWORD_PREFIX + s; +} + +/*** META ((export #t) + (type bool)) +*/ +function sc_isKeyword(s) { + return (typeof s === "string") && + (s.charAt(0) === sc_KEYWORD_PREFIX); +} + + +/*** META ((export #t)) */ +var sc_gensym = function() { + var counter = 1000; + return function(sym) { + counter++; + if (!sym) sym = sc_SYMBOL_PREFIX; + return sym + "s" + counter + "~" + "^sC-GeNsYm "; + }; +}(); + + +/*** META ((export #t) + (type bool)) +*/ +function sc_isEqual(o1, o2) { + return ((o1 === o2) || + (sc_isPair(o1) && sc_isPair(o2) + && sc_isPairEqual(o1, o2, sc_isEqual)) || + (sc_isVector(o1) && sc_isVector(o2) + && sc_isVectorEqual(o1, o2, sc_isEqual))); +} + +/*** META ((export number->symbol integer->symbol)) */ +function sc_number2symbol(x, radix) { + return sc_SYMBOL_PREFIX + sc_number2jsstring(x, radix); +} + +/*** META ((export number->string integer->string)) */ +var sc_number2string = sc_number2jsstring; + +/*** META ((export #t)) */ +function sc_symbol2number(s, radix) { + return sc_jsstring2number(s.slice(1), radix); +} + +/*** META ((export #t)) */ +var sc_string2number = sc_jsstring2number; + +/*** META ((export #t) + (peephole (prefix "+" s))) + ;; peephole will only apply if no radix is given. +*/ +function sc_string2integer(s, radix) { + if (!radix) return +s; + return parseInt(s, radix); +} + +/*** META ((export #t) + (peephole (prefix "+"))) +*/ +function sc_string2real(s) { + return +s; +} + + +/*** META ((export #t) + (type bool)) +*/ +function sc_isSymbol(s) { + return (typeof s === "string") && + (s.charAt(0) === sc_SYMBOL_PREFIX); +} + +/*** META ((export #t) + (peephole (symbol2string_immutable))) +*/ +function sc_symbol2string(s) { + return s.slice(1); +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9C' +"))) +*/ +function sc_string2symbol(s) { + return sc_SYMBOL_PREFIX + s; +} + +/*** META ((export symbol-append) + (peephole (symbolAppend_immutable))) +*/ +function sc_symbolAppend() { + var res = sc_SYMBOL_PREFIX; + for (var i = 0; i < arguments.length; i++) + res += arguments[i].slice(1); + return res; +} + +/*** META ((export #t) + (peephole (postfix ".val"))) +*/ +function sc_char2string(c) { return c.val; } + +/*** META ((export #t) + (peephole (hole 1 "'\\u1E9C' + " c ".val"))) +*/ +function sc_char2symbol(c) { return sc_SYMBOL_PREFIX + c.val; } + +/*** META ((export #t) + (type bool)) +*/ +function sc_isString(s) { + return (typeof s === "string") && + (s.charAt(0) !== sc_SYMBOL_PREFIX); +} + +/*** META ((export #t)) */ +var sc_makeString = sc_makejsString; + + +/*** META ((export #t)) */ +function sc_string() { + for (var i = 0; i < arguments.length; i++) + arguments[i] = arguments[i].val; + return "".concat.apply("", arguments); +} + +/*** META ((export #t) + (peephole (postfix ".length"))) +*/ +function sc_stringLength(s) { return s.length; } + +/*** META ((export #t)) */ +function sc_stringRef(s, k) { + return new sc_Char(s.charAt(k)); +} + +/* there's no stringSet in the immutable version +function sc_stringSet(s, k, c) +*/ + + +/*** META ((export string=?) + (type bool) + (peephole (hole 2 str1 " === " str2))) +*/ +function sc_isStringEqual(s1, s2) { + return s1 === s2; +} +/*** META ((export string?) + (type bool) + (peephole (hole 2 str1 " > " str2))) +*/ +function sc_isStringGreater(s1, s2) { + return s1 > s2; +} +/*** META ((export string<=?) + (type bool) + (peephole (hole 2 str1 " <= " str2))) +*/ +function sc_isStringLessEqual(s1, s2) { + return s1 <= s2; +} +/*** META ((export string>=?) + (type bool) + (peephole (hole 2 str1 " >= " str2))) +*/ +function sc_isStringGreaterEqual(s1, s2) { + return s1 >= s2; +} +/*** META ((export string-ci=?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() === " str2 ".toLowerCase()"))) +*/ +function sc_isStringCIEqual(s1, s2) { + return s1.toLowerCase() === s2.toLowerCase(); +} +/*** META ((export string-ci?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() > " str2 ".toLowerCase()"))) +*/ +function sc_isStringCIGreater(s1, s2) { + return s1.toLowerCase() > s2.toLowerCase(); +} +/*** META ((export string-ci<=?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() <= " str2 ".toLowerCase()"))) +*/ +function sc_isStringCILessEqual(s1, s2) { + return s1.toLowerCase() <= s2.toLowerCase(); +} +/*** META ((export string-ci>=?) + (type bool) + (peephole (hole 2 str1 ".toLowerCase() >= " str2 ".toLowerCase()"))) +*/ +function sc_isStringCIGreaterEqual(s1, s2) { + return s1.toLowerCase() >= s2.toLowerCase(); +} + +/*** META ((export #t) + (peephole (hole 3 s ".substring(" start ", " end ")"))) +*/ +function sc_substring(s, start, end) { + return s.substring(start, end); +} + +/*** META ((export #t)) +*/ +function sc_isSubstring_at(s1, s2, i) { + return s2 == s1.substring(i, i+ s2.length); +} + +/*** META ((export #t) + (peephole (infix 0 #f "+" "''"))) +*/ +function sc_stringAppend() { + return "".concat.apply("", arguments); +} + +/*** META ((export #t)) */ +var sc_string2list = sc_jsstring2list; + +/*** META ((export #t)) */ +var sc_list2string = sc_list2jsstring; + +/*** META ((export #t) + (peephole (id))) +*/ +function sc_stringCopy(s) { + return s; +} + +/* there's no string-fill in the immutable version +function sc_stringFill(s, c) +*/ + +/*** META ((export #t) + (peephole (postfix ".slice(1)"))) +*/ +function sc_keyword2string(o) { + return o.slice(1); +} + +/*** META ((export #t) + (peephole (prefix "'\\u1E9D' +"))) +*/ +function sc_string2keyword(o) { + return sc_KEYWORD_PREFIX + o; +} + +String.prototype.sc_toDisplayString = function() { + if (this.charAt(0) === sc_SYMBOL_PREFIX) + // TODO: care for symbols with spaces (escape-chars symbols). + return this.slice(1); + else if (this.charAt(0) === sc_KEYWORD_PREFIX) + return ":" + this.slice(1); + else + return this.toString(); +}; + +String.prototype.sc_toWriteString = function() { + if (this.charAt(0) === sc_SYMBOL_PREFIX) + // TODO: care for symbols with spaces (escape-chars symbols). + return this.slice(1); + else if (this.charAt(0) === sc_KEYWORD_PREFIX) + return ":" + this.slice(1); + else + return '"' + sc_escapeWriteString(this) + '"'; +}; +/* Exported Variables */ +var BgL_testzd2boyerzd2; +var BgL_nboyerzd2benchmarkzd2; +var BgL_setupzd2boyerzd2; +/* End Exports */ + +var translate_term_nboyer; +var translate_args_nboyer; +var untranslate_term_nboyer; +var BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer; +var BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer; +var translate_alist_nboyer; +var apply_subst_nboyer; +var apply_subst_lst_nboyer; +var tautologyp_nboyer; +var if_constructor_nboyer; +var rewrite_count_nboyer; +var rewrite_nboyer; +var rewrite_args_nboyer; +var unify_subst_nboyer; +var one_way_unify1_nboyer; +var false_term_nboyer; +var true_term_nboyer; +var trans_of_implies1_nboyer; +var is_term_equal_nboyer; +var is_term_member_nboyer; +var const_nboyer; +var sc_const_3_nboyer; +var sc_const_4_nboyer; +{ + (sc_const_4_nboyer = (new sc_Pair("\u1E9Cimplies",(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cu",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cu",(new sc_Pair("\u1E9Cw",null)))))),null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cw",null)))))),null))))))); + (sc_const_3_nboyer = sc_list((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccompile",(new sc_Pair("\u1E9Cform",null)))),(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair((new sc_Pair("\u1E9Ccodegen",(new sc_Pair((new sc_Pair("\u1E9Coptimize",(new sc_Pair("\u1E9Cform",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ceqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreaterp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clesseqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatereqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cboolean",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ciff",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ceven1",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Codd",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccountps-",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Cpred",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccountps-loop",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Cpred",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfact-",(new sc_Pair("\u1E9Ci",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfact-loop",(new sc_Pair("\u1E9Ci",(new sc_Pair((1),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse-",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Creverse-loop",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdivides",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cassume-true",(new sc_Pair("\u1E9Cvar",(new sc_Pair("\u1E9Calist",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cvar",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))),(new sc_Pair("\u1E9Calist",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cassume-false",(new sc_Pair("\u1E9Cvar",(new sc_Pair("\u1E9Calist",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cvar",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))),(new sc_Pair("\u1E9Calist",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctautology-checker",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ctautologyp",(new sc_Pair((new sc_Pair("\u1E9Cnormalize",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfalsify",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfalsify1",(new sc_Pair((new sc_Pair("\u1E9Cnormalize",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cprime",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))),null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cprime1",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Cx",null)))),null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair("\u1E9Cp",(new sc_Pair("\u1E9Cq",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cq",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair("\u1E9Cp",(new sc_Pair("\u1E9Cq",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cq",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair("\u1E9Cp",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cimplies",(new sc_Pair("\u1E9Cp",(new sc_Pair("\u1E9Cq",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cp",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cq",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair((new sc_Pair("\u1E9Cf",null)),null)))))))),(new sc_Pair((new sc_Pair("\u1E9Ct",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))))),(new sc_Pair("\u1E9Cd",(new sc_Pair("\u1E9Ce",null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cd",(new sc_Pair("\u1E9Ce",null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cd",(new sc_Pair("\u1E9Ce",null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Ca",null)))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cb",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cc",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair("\u1E9Ca",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair((new sc_Pair("\u1E9Cplus-fringe",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Ca",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cexec",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cpds",(new sc_Pair("\u1E9Cenvrn",null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cexec",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cexec",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cpds",(new sc_Pair("\u1E9Cenvrn",null)))))))),(new sc_Pair("\u1E9Cenvrn",null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmc-flatten",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Cy",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cb",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cy",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Cintersect",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Ck",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Ck",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Ck",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair((new sc_Pair("\u1E9Cexp",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),(new sc_Pair("\u1E9Ck",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse-loop",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Cy",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Creverse-loop",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccount-list",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Csort-lp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Ccount-list",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ccount-list",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cbig-plus1",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair("\u1E9Cl",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair("\u1E9Ci",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cbig-plus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cbase",null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Ci",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cj",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cj",(new sc_Pair((1),null)))))),null)))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cpower-rep",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Ci",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cpower-eval",(new sc_Pair((new sc_Pair("\u1E9Cbig-plus",(new sc_Pair((new sc_Pair("\u1E9Cpower-rep",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cpower-rep",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair("\u1E9Cbase",null)))))))))),(new sc_Pair("\u1E9Cbase",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cj",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair("\u1E9Cb",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Ca",null)))),null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cy",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cy",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cw",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cw",(new sc_Pair("\u1E9Cx",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cb",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cc",null)))))),null)))))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cb",(new sc_Pair("\u1E9Cc",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cy",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cz",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Cgcd",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cvalue",(new sc_Pair((new sc_Pair("\u1E9Cnormalize",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cvalue",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cy",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnlistp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair((new sc_Pair("\u1E9Cgopher",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csamefringe",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatest-factor",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatest-factor",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((1),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((1),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair((new sc_Pair("\u1E9Cgreatest-factor",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes-list",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Ctimes-list",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ctimes-list",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cprime-list",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cprime-list",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cprime-list",(new sc_Pair("\u1E9Cy",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cw",(new sc_Pair("\u1E9Cz",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cz",null)))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cz",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cw",(new sc_Pair((1),null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cgreatereqp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cor",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cand",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cy",(new sc_Pair((1),null)))))),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((1),null)))))),(new sc_Pair(sc_list("\u1E9Cand", (new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))), (new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair("\u1E9Cb",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))), (new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Ca",null)))), (new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cb",null)))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Ca",null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csub1",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cl",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cl",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cl",null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csort2",(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cl",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Csort2",(new sc_Pair("\u1E9Cl",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdsort",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Csort2",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx1",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx2",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx3",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx4",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx5",(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair("\u1E9Cx6",(new sc_Pair("\u1E9Cx7",null)))))),null)))))),null)))))),null)))))),null)))))),null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((6),(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cx7",null)))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((2),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((2),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair("\u1E9Cy",(new sc_Pair((2),null)))))),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Csigma",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Ci",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Ci",null)))),null)))))),(new sc_Pair((2),null)))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cy",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cx",null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cz",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnot",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cz",null)))),null)))))),null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair((new sc_Pair("\u1E9Cdelete",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmeaning",(new sc_Pair((new sc_Pair("\u1E9Cplus-tree",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair("\u1E9Ca",null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cadd1",(new sc_Pair("\u1E9Cy",null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cnumberp",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cnth",(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Ci",null)))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clast",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Clast",(new sc_Pair("\u1E9Cb",null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Ca",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Ccar",(new sc_Pair((new sc_Pair("\u1E9Clast",(new sc_Pair("\u1E9Ca",null)))),null)))),(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair("\u1E9Cb",null)))))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clessp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ct",null)),(new sc_Pair("\u1E9Cz",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cf",null)),(new sc_Pair("\u1E9Cz",null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cassignment",(new sc_Pair("\u1E9Cx",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Cassignedp",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cassignment",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Ca",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cassignment",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cb",null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Ccar",(new sc_Pair((new sc_Pair("\u1E9Cgopher",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccar",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair((new sc_Pair("\u1E9Ccdr",(new sc_Pair((new sc_Pair("\u1E9Cgopher",(new sc_Pair("\u1E9Cx",null)))),null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Clistp",(new sc_Pair("\u1E9Cx",null)))),(new sc_Pair((new sc_Pair("\u1E9Ccdr",(new sc_Pair((new sc_Pair("\u1E9Cflatten",(new sc_Pair("\u1E9Cx",null)))),null)))),(new sc_Pair((new sc_Pair("\u1E9Ccons",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cquotient",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cx",null)))))),(new sc_Pair("\u1E9Cy",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Czerop",(new sc_Pair("\u1E9Cy",null)))),(new sc_Pair((new sc_Pair("\u1E9Czero",null)),(new sc_Pair((new sc_Pair("\u1E9Cfix",(new sc_Pair("\u1E9Cx",null)))),null)))))))),null)))))), (new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cget",(new sc_Pair("\u1E9Cj",(new sc_Pair((new sc_Pair("\u1E9Cset",(new sc_Pair("\u1E9Ci",(new sc_Pair("\u1E9Cval",(new sc_Pair("\u1E9Cmem",null)))))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cif",(new sc_Pair((new sc_Pair("\u1E9Ceqp",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Ci",null)))))),(new sc_Pair("\u1E9Cval",(new sc_Pair((new sc_Pair("\u1E9Cget",(new sc_Pair("\u1E9Cj",(new sc_Pair("\u1E9Cmem",null)))))),null)))))))),null)))))))); + (const_nboyer = (new sc_Pair((new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cf",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cc",(new sc_Pair((new sc_Pair("\u1E9Czero",null)),null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cy",(new sc_Pair("\u1E9Cf",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair((new sc_Pair("\u1E9Ctimes",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Cc",(new sc_Pair("\u1E9Cd",null)))))),null)))))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cz",(new sc_Pair("\u1E9Cf",(new sc_Pair((new sc_Pair("\u1E9Creverse",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair((new sc_Pair("\u1E9Cappend",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cnil",null)),null)))))),null)))),null)))))),(new sc_Pair((new sc_Pair("\u1E9Cu",(new sc_Pair("\u1E9Cequal",(new sc_Pair((new sc_Pair("\u1E9Cplus",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cdifference",(new sc_Pair("\u1E9Cx",(new sc_Pair("\u1E9Cy",null)))))),null)))))))),(new sc_Pair((new sc_Pair("\u1E9Cw",(new sc_Pair("\u1E9Clessp",(new sc_Pair((new sc_Pair("\u1E9Cremainder",(new sc_Pair("\u1E9Ca",(new sc_Pair("\u1E9Cb",null)))))),(new sc_Pair((new sc_Pair("\u1E9Cmember",(new sc_Pair("\u1E9Ca",(new sc_Pair((new sc_Pair("\u1E9Clength",(new sc_Pair("\u1E9Cb",null)))),null)))))),null)))))))),null))))))))))); + BgL_nboyerzd2benchmarkzd2 = function() { + var args = null; + for (var sc_tmp = arguments.length - 1; sc_tmp >= 0; sc_tmp--) { + args = sc_cons(arguments[sc_tmp], args); + } + var n; + return ((n = ((args === null)?(0):(args.car))), (BgL_setupzd2boyerzd2()), (BgL_runzd2benchmarkzd2(("nboyer"+(sc_number2string(n))), (1), function() { + return (BgL_testzd2boyerzd2(n)); + }, function(rewrites) { + if ((sc_isNumber(rewrites))) + switch (n) { + case (0): + return (rewrites===(95024)); + break; + case (1): + return (rewrites===(591777)); + break; + case (2): + return (rewrites===(1813975)); + break; + case (3): + return (rewrites===(5375678)); + break; + case (4): + return (rewrites===(16445406)); + break; + case (5): + return (rewrites===(51507739)); + break; + default: + return true; + break; + } + else + return false; + }))); + }; + BgL_setupzd2boyerzd2 = function() { + return true; + }; + BgL_testzd2boyerzd2 = function() { + return true; + }; + translate_term_nboyer = function(term) { + var lst; + return (!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), ((lst = (term.cdr)), ((lst === null)?null:(new sc_Pair((translate_term_nboyer((lst.car))), (translate_args_nboyer((lst.cdr)))))))))); + }; + translate_args_nboyer = function(lst) { + var sc_lst_5; + var term; + return ((lst === null)?null:(new sc_Pair(((term = (lst.car)), (!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), (translate_args_nboyer((term.cdr))))))), ((sc_lst_5 = (lst.cdr)), ((sc_lst_5 === null)?null:(new sc_Pair((translate_term_nboyer((sc_lst_5.car))), (translate_args_nboyer((sc_lst_5.cdr)))))))))); + }; + untranslate_term_nboyer = function(term) { + var optrOpnd; + var tail1131; + var L1127; + var falseHead1130; + var symbol_record; + if (!(term instanceof sc_Pair)) + return term; + else + { + (falseHead1130 = (new sc_Pair(null, null))); + (L1127 = (term.cdr)); + (tail1131 = falseHead1130); + while (!(L1127 === null)) { + { + (tail1131.cdr = (new sc_Pair((untranslate_term_nboyer((L1127.car))), null))); + (tail1131 = (tail1131.cdr)); + (L1127 = (L1127.cdr)); + } + } + (optrOpnd = (falseHead1130.cdr)); + return (new sc_Pair(((symbol_record = (term.car)), (symbol_record[(0)])), optrOpnd)); + } + }; + BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer = function(sym) { + var r; + var x; + return ((x = (sc_assq(sym, BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer))), ((x!== false)?(x.cdr):((r = [sym, null]), (BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer = (new sc_Pair((new sc_Pair(sym, r)), BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer))), r))); + }; + (BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer = null); + translate_alist_nboyer = function(alist) { + var sc_alist_6; + var term; + return ((alist === null)?null:(new sc_Pair((new sc_Pair((alist.car.car), ((term = (alist.car.cdr)), (!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), (translate_args_nboyer((term.cdr))))))))), ((sc_alist_6 = (alist.cdr)), ((sc_alist_6 === null)?null:(new sc_Pair((new sc_Pair((sc_alist_6.car.car), (translate_term_nboyer((sc_alist_6.car.cdr))))), (translate_alist_nboyer((sc_alist_6.cdr)))))))))); + }; + apply_subst_nboyer = function(alist, term) { + var lst; + var temp_temp; + return (!(term instanceof sc_Pair)?((temp_temp = (sc_assq(term, alist))), ((temp_temp!== false)?(temp_temp.cdr):term)):(new sc_Pair((term.car), ((lst = (term.cdr)), ((lst === null)?null:(new sc_Pair((apply_subst_nboyer(alist, (lst.car))), (apply_subst_lst_nboyer(alist, (lst.cdr)))))))))); + }; + apply_subst_lst_nboyer = function(alist, lst) { + var sc_lst_7; + return ((lst === null)?null:(new sc_Pair((apply_subst_nboyer(alist, (lst.car))), ((sc_lst_7 = (lst.cdr)), ((sc_lst_7 === null)?null:(new sc_Pair((apply_subst_nboyer(alist, (sc_lst_7.car))), (apply_subst_lst_nboyer(alist, (sc_lst_7.cdr)))))))))); + }; + tautologyp_nboyer = function(sc_x_11, true_lst, false_lst) { + var tmp1125; + var x; + var tmp1126; + var sc_x_8; + var sc_tmp1125_9; + var sc_tmp1126_10; + var sc_x_11; + var true_lst; + var false_lst; + while (true) { + if ((((sc_tmp1126_10 = (is_term_equal_nboyer(sc_x_11, true_term_nboyer))), ((sc_tmp1126_10!== false)?sc_tmp1126_10:(is_term_member_nboyer(sc_x_11, true_lst))))!== false)) + return true; + else + if ((((sc_tmp1125_9 = (is_term_equal_nboyer(sc_x_11, false_term_nboyer))), ((sc_tmp1125_9!== false)?sc_tmp1125_9:(is_term_member_nboyer(sc_x_11, false_lst))))!== false)) + return false; + else + if (!(sc_x_11 instanceof sc_Pair)) + return false; + else + if (((sc_x_11.car)===if_constructor_nboyer)) + if ((((sc_x_8 = (sc_x_11.cdr.car)), (tmp1126 = (is_term_equal_nboyer(sc_x_8, true_term_nboyer))), ((tmp1126!== false)?tmp1126:(is_term_member_nboyer(sc_x_8, true_lst))))!== false)) + (sc_x_11 = (sc_x_11.cdr.cdr.car)); + else + if ((((x = (sc_x_11.cdr.car)), (tmp1125 = (is_term_equal_nboyer(x, false_term_nboyer))), ((tmp1125!== false)?tmp1125:(is_term_member_nboyer(x, false_lst))))!== false)) + (sc_x_11 = (sc_x_11.cdr.cdr.cdr.car)); + else + if (((tautologyp_nboyer((sc_x_11.cdr.cdr.car), (new sc_Pair((sc_x_11.cdr.car), true_lst)), false_lst))!== false)) + { + (false_lst = (new sc_Pair((sc_x_11.cdr.car), false_lst))); + (sc_x_11 = (sc_x_11.cdr.cdr.cdr.car)); + } + else + return false; + else + return false; + } + }; + (if_constructor_nboyer = "\u1E9C*"); + (rewrite_count_nboyer = (0)); + rewrite_nboyer = function(term) { + var term2; + var sc_term_12; + var lst; + var symbol_record; + var sc_lst_13; + { + (++rewrite_count_nboyer); + if (!(term instanceof sc_Pair)) + return term; + else + { + (sc_term_12 = (new sc_Pair((term.car), ((sc_lst_13 = (term.cdr)), ((sc_lst_13 === null)?null:(new sc_Pair((rewrite_nboyer((sc_lst_13.car))), (rewrite_args_nboyer((sc_lst_13.cdr)))))))))); + (lst = ((symbol_record = (term.car)), (symbol_record[(1)]))); + while (true) { + if ((lst === null)) + return sc_term_12; + else + if ((((term2 = ((lst.car).cdr.car)), (unify_subst_nboyer = null), (one_way_unify1_nboyer(sc_term_12, term2)))!== false)) + return (rewrite_nboyer((apply_subst_nboyer(unify_subst_nboyer, ((lst.car).cdr.cdr.car))))); + else + (lst = (lst.cdr)); + } + } + } + }; + rewrite_args_nboyer = function(lst) { + var sc_lst_14; + return ((lst === null)?null:(new sc_Pair((rewrite_nboyer((lst.car))), ((sc_lst_14 = (lst.cdr)), ((sc_lst_14 === null)?null:(new sc_Pair((rewrite_nboyer((sc_lst_14.car))), (rewrite_args_nboyer((sc_lst_14.cdr)))))))))); + }; + (unify_subst_nboyer = "\u1E9C*"); + one_way_unify1_nboyer = function(term1, term2) { + var lst1; + var lst2; + var temp_temp; + if (!(term2 instanceof sc_Pair)) + { + (temp_temp = (sc_assq(term2, unify_subst_nboyer))); + if ((temp_temp!== false)) + return (is_term_equal_nboyer(term1, (temp_temp.cdr))); + else + if ((sc_isNumber(term2))) + return (sc_isEqual(term1, term2)); + else + { + (unify_subst_nboyer = (new sc_Pair((new sc_Pair(term2, term1)), unify_subst_nboyer))); + return true; + } + } + else + if (!(term1 instanceof sc_Pair)) + return false; + else + if (((term1.car)===(term2.car))) + { + (lst1 = (term1.cdr)); + (lst2 = (term2.cdr)); + while (true) { + if ((lst1 === null)) + return (lst2 === null); + else + if ((lst2 === null)) + return false; + else + if (((one_way_unify1_nboyer((lst1.car), (lst2.car)))!== false)) + { + (lst1 = (lst1.cdr)); + (lst2 = (lst2.cdr)); + } + else + return false; + } + } + else + return false; + }; + (false_term_nboyer = "\u1E9C*"); + (true_term_nboyer = "\u1E9C*"); + trans_of_implies1_nboyer = function(n) { + var sc_n_15; + return ((sc_isEqual(n, (1)))?(sc_list("\u1E9Cimplies", (0), (1))):(sc_list("\u1E9Cand", (sc_list("\u1E9Cimplies", (n-(1)), n)), ((sc_n_15 = (n-(1))), ((sc_isEqual(sc_n_15, (1)))?(sc_list("\u1E9Cimplies", (0), (1))):(sc_list("\u1E9Cand", (sc_list("\u1E9Cimplies", (sc_n_15-(1)), sc_n_15)), (trans_of_implies1_nboyer((sc_n_15-(1))))))))))); + }; + is_term_equal_nboyer = function(x, y) { + var lst1; + var lst2; + var r2; + var r1; + if ((x instanceof sc_Pair)) + if ((y instanceof sc_Pair)) + if ((((r1 = (x.car)), (r2 = (y.car)), (r1===r2))!== false)) + { + (lst1 = (x.cdr)); + (lst2 = (y.cdr)); + while (true) { + if ((lst1 === null)) + return (lst2 === null); + else + if ((lst2 === null)) + return false; + else + if (((is_term_equal_nboyer((lst1.car), (lst2.car)))!== false)) + { + (lst1 = (lst1.cdr)); + (lst2 = (lst2.cdr)); + } + else + return false; + } + } + else + return false; + else + return false; + else + return (sc_isEqual(x, y)); + }; + is_term_member_nboyer = function(x, lst) { + var x; + var lst; + while (true) { + if ((lst === null)) + return false; + else + if (((is_term_equal_nboyer(x, (lst.car)))!== false)) + return true; + else + (lst = (lst.cdr)); + } + }; + BgL_setupzd2boyerzd2 = function() { + var symbol_record; + var value; + var BgL_sc_symbolzd2record_16zd2; + var sym; + var sc_sym_17; + var term; + var lst; + var sc_term_18; + var sc_term_19; + { + (BgL_sc_za2symbolzd2recordszd2alistza2_2z00_nboyer = null); + (if_constructor_nboyer = (BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer("\u1E9Cif"))); + (false_term_nboyer = ((sc_term_19 = (new sc_Pair("\u1E9Cf",null))), (!(sc_term_19 instanceof sc_Pair)?sc_term_19:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((sc_term_19.car))), (translate_args_nboyer((sc_term_19.cdr)))))))); + (true_term_nboyer = ((sc_term_18 = (new sc_Pair("\u1E9Ct",null))), (!(sc_term_18 instanceof sc_Pair)?sc_term_18:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((sc_term_18.car))), (translate_args_nboyer((sc_term_18.cdr)))))))); + (lst = sc_const_3_nboyer); + while (!(lst === null)) { + { + (term = (lst.car)); + if (((term instanceof sc_Pair)&&(((term.car)==="\u1E9Cequal")&&((term.cdr.car) instanceof sc_Pair)))) + { + (sc_sym_17 = ((term.cdr.car).car)); + (value = (new sc_Pair((!(term instanceof sc_Pair)?term:(new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((term.car))), (translate_args_nboyer((term.cdr)))))), ((sym = ((term.cdr.car).car)), (BgL_sc_symbolzd2record_16zd2 = (BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer(sym))), (BgL_sc_symbolzd2record_16zd2[(1)]))))); + (symbol_record = (BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer(sc_sym_17))); + (symbol_record[(1)] = value); + } + else + (sc_error("ADD-LEMMA did not like term: ", term)); + (lst = (lst.cdr)); + } + } + return true; + } + }; + BgL_testzd2boyerzd2 = function(n) { + var optrOpnd; + var term; + var sc_n_20; + var answer; + var sc_term_21; + var sc_term_22; + { + (rewrite_count_nboyer = (0)); + (term = sc_const_4_nboyer); + (sc_n_20 = n); + while (!(sc_n_20=== 0)) { + { + (term = (sc_list("\u1E9Cor", term, (new sc_Pair("\u1E9Cf",null))))); + (--sc_n_20); + } + } + (sc_term_22 = term); + if (!(sc_term_22 instanceof sc_Pair)) + (optrOpnd = sc_term_22); + else + (optrOpnd = (new sc_Pair((BgL_sc_symbolzd2ze3symbolzd2record_1ze3_nboyer((sc_term_22.car))), (translate_args_nboyer((sc_term_22.cdr)))))); + (sc_term_21 = (apply_subst_nboyer(((const_nboyer === null)?null:(new sc_Pair((new sc_Pair((const_nboyer.car.car), (translate_term_nboyer((const_nboyer.car.cdr))))), (translate_alist_nboyer((const_nboyer.cdr)))))), optrOpnd))); + (answer = (tautologyp_nboyer((rewrite_nboyer(sc_term_21)), null, null))); + (sc_write(rewrite_count_nboyer)); + (sc_display(" rewrites")); + (sc_newline()); + if ((answer!== false)) + return rewrite_count_nboyer; + else + return false; + } + }; +} +/* Exported Variables */ +var BgL_parsezd2ze3nbzd2treesze3; +var BgL_earleyzd2benchmarkzd2; +var BgL_parsezd2ze3parsedzf3zc2; +var test; +var BgL_parsezd2ze3treesz31; +var BgL_makezd2parserzd2; +/* End Exports */ + +var const_earley; +{ + (const_earley = (new sc_Pair((new sc_Pair("\u1E9Cs",(new sc_Pair((new sc_Pair("\u1E9Ca",null)),(new sc_Pair((new sc_Pair("\u1E9Cs",(new sc_Pair("\u1E9Cs",null)))),null)))))),null))); + BgL_makezd2parserzd2 = function(grammar, lexer) { + var i; + var parser_descr; + var def_loop; + var nb_nts; + var names; + var steps; + var predictors; + var enders; + var starters; + var nts; + var sc_names_1; + var sc_steps_2; + var sc_predictors_3; + var sc_enders_4; + var sc_starters_5; + var nb_confs; + var BgL_sc_defzd2loop_6zd2; + var BgL_sc_nbzd2nts_7zd2; + var sc_nts_8; + var BgL_sc_defzd2loop_9zd2; + var ind; + { + ind = function(nt, sc_nts_10) { + var i; + { + (i = ((sc_nts_10.length)-(1))); + while (true) { + if ((i>=(0))) + if ((sc_isEqual((sc_nts_10[i]), nt))) + return i; + else + (--i); + else + return false; + } + } + }; + (sc_nts_8 = ((BgL_sc_defzd2loop_9zd2 = function(defs, sc_nts_11) { + var rule_loop; + var head; + var def; + return ((defs instanceof sc_Pair)?((def = (defs.car)), (head = (def.car)), (rule_loop = function(rules, sc_nts_12) { + var nt; + var l; + var sc_nts_13; + var rule; + if ((rules instanceof sc_Pair)) + { + (rule = (rules.car)); + (l = rule); + (sc_nts_13 = sc_nts_12); + while ((l instanceof sc_Pair)) { + { + (nt = (l.car)); + (l = (l.cdr)); + (sc_nts_13 = (((sc_member(nt, sc_nts_13))!== false)?sc_nts_13:(new sc_Pair(nt, sc_nts_13)))); + } + } + return (rule_loop((rules.cdr), sc_nts_13)); + } + else + return (BgL_sc_defzd2loop_9zd2((defs.cdr), sc_nts_12)); + }), (rule_loop((def.cdr), (((sc_member(head, sc_nts_11))!== false)?sc_nts_11:(new sc_Pair(head, sc_nts_11)))))):(sc_list2vector((sc_reverse(sc_nts_11))))); + }), (BgL_sc_defzd2loop_9zd2(grammar, null)))); + (BgL_sc_nbzd2nts_7zd2 = (sc_nts_8.length)); + (nb_confs = (((BgL_sc_defzd2loop_6zd2 = function(defs, BgL_sc_nbzd2confs_14zd2) { + var rule_loop; + var def; + return ((defs instanceof sc_Pair)?((def = (defs.car)), (rule_loop = function(rules, BgL_sc_nbzd2confs_15zd2) { + var l; + var BgL_sc_nbzd2confs_16zd2; + var rule; + if ((rules instanceof sc_Pair)) + { + (rule = (rules.car)); + (l = rule); + (BgL_sc_nbzd2confs_16zd2 = BgL_sc_nbzd2confs_15zd2); + while ((l instanceof sc_Pair)) { + { + (l = (l.cdr)); + (++BgL_sc_nbzd2confs_16zd2); + } + } + return (rule_loop((rules.cdr), (BgL_sc_nbzd2confs_16zd2+(1)))); + } + else + return (BgL_sc_defzd2loop_6zd2((defs.cdr), BgL_sc_nbzd2confs_15zd2)); + }), (rule_loop((def.cdr), BgL_sc_nbzd2confs_14zd2))):BgL_sc_nbzd2confs_14zd2); + }), (BgL_sc_defzd2loop_6zd2(grammar, (0))))+BgL_sc_nbzd2nts_7zd2)); + (sc_starters_5 = (sc_makeVector(BgL_sc_nbzd2nts_7zd2, null))); + (sc_enders_4 = (sc_makeVector(BgL_sc_nbzd2nts_7zd2, null))); + (sc_predictors_3 = (sc_makeVector(BgL_sc_nbzd2nts_7zd2, null))); + (sc_steps_2 = (sc_makeVector(nb_confs, false))); + (sc_names_1 = (sc_makeVector(nb_confs, false))); + (nts = sc_nts_8); + (starters = sc_starters_5); + (enders = sc_enders_4); + (predictors = sc_predictors_3); + (steps = sc_steps_2); + (names = sc_names_1); + (nb_nts = (sc_nts_8.length)); + (i = (nb_nts-(1))); + while ((i>=(0))) { + { + (sc_steps_2[i] = (i-nb_nts)); + (sc_names_1[i] = (sc_list((sc_nts_8[i]), (0)))); + (sc_enders_4[i] = (sc_list(i))); + (--i); + } + } + def_loop = function(defs, conf) { + var rule_loop; + var head; + var def; + return ((defs instanceof sc_Pair)?((def = (defs.car)), (head = (def.car)), (rule_loop = function(rules, conf, rule_num) { + var i; + var sc_i_17; + var nt; + var l; + var sc_conf_18; + var sc_i_19; + var rule; + if ((rules instanceof sc_Pair)) + { + (rule = (rules.car)); + (names[conf] = (sc_list(head, rule_num))); + (sc_i_19 = (ind(head, nts))); + (starters[sc_i_19] = (new sc_Pair(conf, (starters[sc_i_19])))); + (l = rule); + (sc_conf_18 = conf); + while ((l instanceof sc_Pair)) { + { + (nt = (l.car)); + (steps[sc_conf_18] = (ind(nt, nts))); + (sc_i_17 = (ind(nt, nts))); + (predictors[sc_i_17] = (new sc_Pair(sc_conf_18, (predictors[sc_i_17])))); + (l = (l.cdr)); + (++sc_conf_18); + } + } + (steps[sc_conf_18] = ((ind(head, nts))-nb_nts)); + (i = (ind(head, nts))); + (enders[i] = (new sc_Pair(sc_conf_18, (enders[i])))); + return (rule_loop((rules.cdr), (sc_conf_18+(1)), (rule_num+(1)))); + } + else + return (def_loop((defs.cdr), conf)); + }), (rule_loop((def.cdr), conf, (1)))):undefined); + }; + (def_loop(grammar, (sc_nts_8.length))); + (parser_descr = [lexer, sc_nts_8, sc_starters_5, sc_enders_4, sc_predictors_3, sc_steps_2, sc_names_1]); + return function(input) { + var optrOpnd; + var sc_optrOpnd_20; + var sc_optrOpnd_21; + var sc_optrOpnd_22; + var loop1; + var BgL_sc_stateza2_23za2; + var toks; + var BgL_sc_nbzd2nts_24zd2; + var sc_steps_25; + var sc_enders_26; + var state_num; + var BgL_sc_statesza2_27za2; + var states; + var i; + var conf; + var l; + var tok_nts; + var sc_i_28; + var sc_i_29; + var l1; + var l2; + var tok; + var tail1129; + var L1125; + var goal_enders; + var BgL_sc_statesza2_30za2; + var BgL_sc_nbzd2nts_31zd2; + var BgL_sc_nbzd2confs_32zd2; + var nb_toks; + var goal_starters; + var sc_states_33; + var BgL_sc_nbzd2confs_34zd2; + var BgL_sc_nbzd2toks_35zd2; + var sc_toks_36; + var falseHead1128; + var sc_names_37; + var sc_steps_38; + var sc_predictors_39; + var sc_enders_40; + var sc_starters_41; + var sc_nts_42; + var lexer; + var sc_ind_43; + var make_states; + var BgL_sc_confzd2setzd2getza2_44za2; + var conf_set_merge_new_bang; + var conf_set_adjoin; + var BgL_sc_confzd2setzd2adjoinza2_45za2; + var BgL_sc_confzd2setzd2adjoinza2za2_46z00; + var conf_set_union; + var forw; + var is_parsed; + var deriv_trees; + var BgL_sc_derivzd2treesza2_47z70; + var nb_deriv_trees; + var BgL_sc_nbzd2derivzd2treesza2_48za2; + { + sc_ind_43 = function(nt, sc_nts_49) { + var i; + { + (i = ((sc_nts_49.length)-(1))); + while (true) { + if ((i>=(0))) + if ((sc_isEqual((sc_nts_49[i]), nt))) + return i; + else + (--i); + else + return false; + } + } + }; + make_states = function(BgL_sc_nbzd2toks_50zd2, BgL_sc_nbzd2confs_51zd2) { + var v; + var i; + var sc_states_52; + { + (sc_states_52 = (sc_makeVector((BgL_sc_nbzd2toks_50zd2+(1)), false))); + (i = BgL_sc_nbzd2toks_50zd2); + while ((i>=(0))) { + { + (v = (sc_makeVector((BgL_sc_nbzd2confs_51zd2+(1)), false))); + (v[(0)] = (-1)); + (sc_states_52[i] = v); + (--i); + } + } + return sc_states_52; + } + }; + BgL_sc_confzd2setzd2getza2_44za2 = function(state, BgL_sc_statezd2num_53zd2, sc_conf_54) { + var conf_set; + var BgL_sc_confzd2set_55zd2; + return ((BgL_sc_confzd2set_55zd2 = (state[(sc_conf_54+(1))])), ((BgL_sc_confzd2set_55zd2!== false)?BgL_sc_confzd2set_55zd2:((conf_set = (sc_makeVector((BgL_sc_statezd2num_53zd2+(6)), false))), (conf_set[(1)] = (-3)), (conf_set[(2)] = (-1)), (conf_set[(3)] = (-1)), (conf_set[(4)] = (-1)), (state[(sc_conf_54+(1))] = conf_set), conf_set))); + }; + conf_set_merge_new_bang = function(conf_set) { + return ((conf_set[((conf_set[(1)])+(5))] = (conf_set[(4)])), (conf_set[(1)] = (conf_set[(3)])), (conf_set[(3)] = (-1)), (conf_set[(4)] = (-1))); + }; + conf_set_adjoin = function(state, conf_set, sc_conf_56, i) { + var tail; + return ((tail = (conf_set[(3)])), (conf_set[(i+(5))] = (-1)), (conf_set[(tail+(5))] = i), (conf_set[(3)] = i), ((tail<(0))?((conf_set[(0)] = (state[(0)])), (state[(0)] = sc_conf_56)):undefined)); + }; + BgL_sc_confzd2setzd2adjoinza2_45za2 = function(sc_states_57, BgL_sc_statezd2num_58zd2, l, i) { + var conf_set; + var sc_conf_59; + var l1; + var state; + { + (state = (sc_states_57[BgL_sc_statezd2num_58zd2])); + (l1 = l); + while ((l1 instanceof sc_Pair)) { + { + (sc_conf_59 = (l1.car)); + (conf_set = (BgL_sc_confzd2setzd2getza2_44za2(state, BgL_sc_statezd2num_58zd2, sc_conf_59))); + if (((conf_set[(i+(5))])=== false)) + { + (conf_set_adjoin(state, conf_set, sc_conf_59, i)); + (l1 = (l1.cdr)); + } + else + (l1 = (l1.cdr)); + } + } + return undefined; + } + }; + BgL_sc_confzd2setzd2adjoinza2za2_46z00 = function(sc_states_60, BgL_sc_statesza2_61za2, BgL_sc_statezd2num_62zd2, sc_conf_63, i) { + var BgL_sc_confzd2setza2_64z70; + var BgL_sc_stateza2_65za2; + var conf_set; + var state; + return ((state = (sc_states_60[BgL_sc_statezd2num_62zd2])), ((((conf_set = (state[(sc_conf_63+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)?((BgL_sc_stateza2_65za2 = (BgL_sc_statesza2_61za2[BgL_sc_statezd2num_62zd2])), (BgL_sc_confzd2setza2_64z70 = (BgL_sc_confzd2setzd2getza2_44za2(BgL_sc_stateza2_65za2, BgL_sc_statezd2num_62zd2, sc_conf_63))), (((BgL_sc_confzd2setza2_64z70[(i+(5))])=== false)?(conf_set_adjoin(BgL_sc_stateza2_65za2, BgL_sc_confzd2setza2_64z70, sc_conf_63, i)):undefined), true):false)); + }; + conf_set_union = function(state, conf_set, sc_conf_66, other_set) { + var i; + { + (i = (other_set[(2)])); + while ((i>=(0))) { + if (((conf_set[(i+(5))])=== false)) + { + (conf_set_adjoin(state, conf_set, sc_conf_66, i)); + (i = (other_set[(i+(5))])); + } + else + (i = (other_set[(i+(5))])); + } + return undefined; + } + }; + forw = function(sc_states_67, BgL_sc_statezd2num_68zd2, sc_starters_69, sc_enders_70, sc_predictors_71, sc_steps_72, sc_nts_73) { + var next_set; + var next; + var conf_set; + var ender; + var l; + var starter_set; + var starter; + var sc_l_74; + var sc_loop1_75; + var head; + var BgL_sc_confzd2set_76zd2; + var BgL_sc_statezd2num_77zd2; + var state; + var sc_states_78; + var preds; + var BgL_sc_confzd2set_79zd2; + var step; + var sc_conf_80; + var BgL_sc_nbzd2nts_81zd2; + var sc_state_82; + { + (sc_state_82 = (sc_states_67[BgL_sc_statezd2num_68zd2])); + (BgL_sc_nbzd2nts_81zd2 = (sc_nts_73.length)); + while (true) { + { + (sc_conf_80 = (sc_state_82[(0)])); + if ((sc_conf_80>=(0))) + { + (step = (sc_steps_72[sc_conf_80])); + (BgL_sc_confzd2set_79zd2 = (sc_state_82[(sc_conf_80+(1))])); + (head = (BgL_sc_confzd2set_79zd2[(4)])); + (sc_state_82[(0)] = (BgL_sc_confzd2set_79zd2[(0)])); + (conf_set_merge_new_bang(BgL_sc_confzd2set_79zd2)); + if ((step>=(0))) + { + (sc_l_74 = (sc_starters_69[step])); + while ((sc_l_74 instanceof sc_Pair)) { + { + (starter = (sc_l_74.car)); + (starter_set = (BgL_sc_confzd2setzd2getza2_44za2(sc_state_82, BgL_sc_statezd2num_68zd2, starter))); + if (((starter_set[(BgL_sc_statezd2num_68zd2+(5))])=== false)) + { + (conf_set_adjoin(sc_state_82, starter_set, starter, BgL_sc_statezd2num_68zd2)); + (sc_l_74 = (sc_l_74.cdr)); + } + else + (sc_l_74 = (sc_l_74.cdr)); + } + } + (l = (sc_enders_70[step])); + while ((l instanceof sc_Pair)) { + { + (ender = (l.car)); + if ((((conf_set = (sc_state_82[(ender+(1))])), ((conf_set!== false)?(conf_set[(BgL_sc_statezd2num_68zd2+(5))]):false))!== false)) + { + (next = (sc_conf_80+(1))); + (next_set = (BgL_sc_confzd2setzd2getza2_44za2(sc_state_82, BgL_sc_statezd2num_68zd2, next))); + (conf_set_union(sc_state_82, next_set, next, BgL_sc_confzd2set_79zd2)); + (l = (l.cdr)); + } + else + (l = (l.cdr)); + } + } + } + else + { + (preds = (sc_predictors_71[(step+BgL_sc_nbzd2nts_81zd2)])); + (sc_states_78 = sc_states_67); + (state = sc_state_82); + (BgL_sc_statezd2num_77zd2 = BgL_sc_statezd2num_68zd2); + (BgL_sc_confzd2set_76zd2 = BgL_sc_confzd2set_79zd2); + sc_loop1_75 = function(l) { + var sc_state_83; + var BgL_sc_nextzd2set_84zd2; + var sc_next_85; + var pred_set; + var i; + var pred; + if ((l instanceof sc_Pair)) + { + (pred = (l.car)); + (i = head); + while ((i>=(0))) { + { + (pred_set = ((sc_state_83 = (sc_states_78[i])), (sc_state_83[(pred+(1))]))); + if ((pred_set!== false)) + { + (sc_next_85 = (pred+(1))); + (BgL_sc_nextzd2set_84zd2 = (BgL_sc_confzd2setzd2getza2_44za2(state, BgL_sc_statezd2num_77zd2, sc_next_85))); + (conf_set_union(state, BgL_sc_nextzd2set_84zd2, sc_next_85, pred_set)); + } + (i = (BgL_sc_confzd2set_76zd2[(i+(5))])); + } + } + return (sc_loop1_75((l.cdr))); + } + else + return undefined; + }; + (sc_loop1_75(preds)); + } + } + else + return undefined; + } + } + } + }; + is_parsed = function(nt, i, j, sc_nts_86, sc_enders_87, sc_states_88) { + var conf_set; + var state; + var sc_conf_89; + var l; + var BgL_sc_ntza2_90za2; + { + (BgL_sc_ntza2_90za2 = (sc_ind_43(nt, sc_nts_86))); + if ((BgL_sc_ntza2_90za2!== false)) + { + (sc_nts_86.length); + (l = (sc_enders_87[BgL_sc_ntza2_90za2])); + while (true) { + if ((l instanceof sc_Pair)) + { + (sc_conf_89 = (l.car)); + if ((((state = (sc_states_88[j])), (conf_set = (state[(sc_conf_89+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)) + return true; + else + (l = (l.cdr)); + } + else + return false; + } + } + else + return false; + } + }; + deriv_trees = function(sc_conf_91, i, j, sc_enders_92, sc_steps_93, sc_names_94, sc_toks_95, sc_states_96, BgL_sc_nbzd2nts_97zd2) { + var sc_loop1_98; + var prev; + var name; + return ((name = (sc_names_94[sc_conf_91])), ((name!== false)?((sc_conf_91=(0))) + if (((k>=i)&&(((sc_state_99 = (sc_states_96[k])), (conf_set = (sc_state_99[(prev+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false))) + { + (prev_trees = (deriv_trees(prev, i, k, sc_enders_92, sc_steps_93, sc_names_94, sc_toks_95, sc_states_96, BgL_sc_nbzd2nts_97zd2))); + (ender_trees = (deriv_trees(ender, k, j, sc_enders_92, sc_steps_93, sc_names_94, sc_toks_95, sc_states_96, BgL_sc_nbzd2nts_97zd2))); + loop3 = function(l3, l2) { + var l4; + var sc_l2_100; + var ender_tree; + if ((l3 instanceof sc_Pair)) + { + (ender_tree = (sc_list((l3.car)))); + (l4 = prev_trees); + (sc_l2_100 = l2); + while ((l4 instanceof sc_Pair)) { + { + (sc_l2_100 = (new sc_Pair((sc_append((l4.car), ender_tree)), sc_l2_100))); + (l4 = (l4.cdr)); + } + } + return (loop3((l3.cdr), sc_l2_100)); + } + else + return (loop2((ender_set[(k+(5))]), l2)); + }; + return (loop3(ender_trees, l2)); + } + else + (k = (ender_set[(k+(5))])); + else + return (sc_loop1_98((l1.cdr), l2)); + } + }; + return (loop2((ender_set[(2)]), l2)); + } + else + (l1 = (l1.cdr)); + } + else + return l2; + } + }), (sc_loop1_98((sc_enders_92[(sc_steps_93[prev])]), null))))); + }; + BgL_sc_derivzd2treesza2_47z70 = function(nt, i, j, sc_nts_101, sc_enders_102, sc_steps_103, sc_names_104, sc_toks_105, sc_states_106) { + var conf_set; + var state; + var sc_conf_107; + var l; + var trees; + var BgL_sc_nbzd2nts_108zd2; + var BgL_sc_ntza2_109za2; + { + (BgL_sc_ntza2_109za2 = (sc_ind_43(nt, sc_nts_101))); + if ((BgL_sc_ntza2_109za2!== false)) + { + (BgL_sc_nbzd2nts_108zd2 = (sc_nts_101.length)); + (l = (sc_enders_102[BgL_sc_ntza2_109za2])); + (trees = null); + while ((l instanceof sc_Pair)) { + { + (sc_conf_107 = (l.car)); + if ((((state = (sc_states_106[j])), (conf_set = (state[(sc_conf_107+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)) + { + (l = (l.cdr)); + (trees = (sc_append((deriv_trees(sc_conf_107, i, j, sc_enders_102, sc_steps_103, sc_names_104, sc_toks_105, sc_states_106, BgL_sc_nbzd2nts_108zd2)), trees))); + } + else + (l = (l.cdr)); + } + } + return trees; + } + else + return false; + } + }; + nb_deriv_trees = function(sc_conf_110, i, j, sc_enders_111, sc_steps_112, sc_toks_113, sc_states_114, BgL_sc_nbzd2nts_115zd2) { + var sc_loop1_116; + var tmp1124; + var prev; + return ((prev = (sc_conf_110-(1))), ((((tmp1124 = (sc_conf_110=(0))) { + if (((k>=i)&&(((state = (sc_states_114[k])), (conf_set = (state[(prev+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false))) + { + (nb_prev_trees = (nb_deriv_trees(prev, i, k, sc_enders_111, sc_steps_112, sc_toks_113, sc_states_114, BgL_sc_nbzd2nts_115zd2))); + (nb_ender_trees = (nb_deriv_trees(ender, k, j, sc_enders_111, sc_steps_112, sc_toks_113, sc_states_114, BgL_sc_nbzd2nts_115zd2))); + (k = (ender_set[(k+(5))])); + (n +=(nb_prev_trees*nb_ender_trees)); + } + else + (k = (ender_set[(k+(5))])); + } + return (sc_loop1_116((l.cdr), n)); + } + else + (l = (l.cdr)); + } + else + return sc_n_118; + } + }), (sc_loop1_116((sc_enders_111[(sc_steps_112[prev])]), (0)))))); + }; + BgL_sc_nbzd2derivzd2treesza2_48za2 = function(nt, i, j, sc_nts_119, sc_enders_120, sc_steps_121, sc_toks_122, sc_states_123) { + var conf_set; + var state; + var sc_conf_124; + var l; + var nb_trees; + var BgL_sc_nbzd2nts_125zd2; + var BgL_sc_ntza2_126za2; + { + (BgL_sc_ntza2_126za2 = (sc_ind_43(nt, sc_nts_119))); + if ((BgL_sc_ntza2_126za2!== false)) + { + (BgL_sc_nbzd2nts_125zd2 = (sc_nts_119.length)); + (l = (sc_enders_120[BgL_sc_ntza2_126za2])); + (nb_trees = (0)); + while ((l instanceof sc_Pair)) { + { + (sc_conf_124 = (l.car)); + if ((((state = (sc_states_123[j])), (conf_set = (state[(sc_conf_124+(1))])), ((conf_set!== false)?(conf_set[(i+(5))]):false))!== false)) + { + (l = (l.cdr)); + (nb_trees = ((nb_deriv_trees(sc_conf_124, i, j, sc_enders_120, sc_steps_121, sc_toks_122, sc_states_123, BgL_sc_nbzd2nts_125zd2))+nb_trees)); + } + else + (l = (l.cdr)); + } + } + return nb_trees; + } + else + return false; + } + }; + (lexer = (parser_descr[(0)])); + (sc_nts_42 = (parser_descr[(1)])); + (sc_starters_41 = (parser_descr[(2)])); + (sc_enders_40 = (parser_descr[(3)])); + (sc_predictors_39 = (parser_descr[(4)])); + (sc_steps_38 = (parser_descr[(5)])); + (sc_names_37 = (parser_descr[(6)])); + (falseHead1128 = (new sc_Pair(null, null))); + (L1125 = (lexer(input))); + (tail1129 = falseHead1128); + while (!(L1125 === null)) { + { + (tok = (L1125.car)); + (l1 = (tok.cdr)); + (l2 = null); + while ((l1 instanceof sc_Pair)) { + { + (sc_i_29 = (sc_ind_43((l1.car), sc_nts_42))); + if ((sc_i_29!== false)) + { + (l1 = (l1.cdr)); + (l2 = (new sc_Pair(sc_i_29, l2))); + } + else + (l1 = (l1.cdr)); + } + } + (sc_optrOpnd_22 = (new sc_Pair((tok.car), (sc_reverse(l2))))); + (sc_optrOpnd_21 = (new sc_Pair(sc_optrOpnd_22, null))); + (tail1129.cdr = sc_optrOpnd_21); + (tail1129 = (tail1129.cdr)); + (L1125 = (L1125.cdr)); + } + } + (sc_optrOpnd_20 = (falseHead1128.cdr)); + (sc_toks_36 = (sc_list2vector(sc_optrOpnd_20))); + (BgL_sc_nbzd2toks_35zd2 = (sc_toks_36.length)); + (BgL_sc_nbzd2confs_34zd2 = (sc_steps_38.length)); + (sc_states_33 = (make_states(BgL_sc_nbzd2toks_35zd2, BgL_sc_nbzd2confs_34zd2))); + (goal_starters = (sc_starters_41[(0)])); + (BgL_sc_confzd2setzd2adjoinza2_45za2(sc_states_33, (0), goal_starters, (0))); + (forw(sc_states_33, (0), sc_starters_41, sc_enders_40, sc_predictors_39, sc_steps_38, sc_nts_42)); + (sc_i_28 = (0)); + while ((sc_i_28=(0))) { + { + (states = sc_states_33); + (BgL_sc_statesza2_27za2 = BgL_sc_statesza2_30za2); + (state_num = i); + (sc_enders_26 = sc_enders_40); + (sc_steps_25 = sc_steps_38); + (BgL_sc_nbzd2nts_24zd2 = BgL_sc_nbzd2nts_31zd2); + (toks = sc_toks_36); + (BgL_sc_stateza2_23za2 = (BgL_sc_statesza2_30za2[i])); + loop1 = function() { + var sc_loop1_127; + var prev; + var BgL_sc_statesza2_128za2; + var sc_states_129; + var j; + var i; + var sc_i_130; + var head; + var conf_set; + var sc_conf_131; + { + (sc_conf_131 = (BgL_sc_stateza2_23za2[(0)])); + if ((sc_conf_131>=(0))) + { + (conf_set = (BgL_sc_stateza2_23za2[(sc_conf_131+(1))])); + (head = (conf_set[(4)])); + (BgL_sc_stateza2_23za2[(0)] = (conf_set[(0)])); + (conf_set_merge_new_bang(conf_set)); + (sc_i_130 = head); + while ((sc_i_130>=(0))) { + { + (i = sc_i_130); + (j = state_num); + (sc_states_129 = states); + (BgL_sc_statesza2_128za2 = BgL_sc_statesza2_27za2); + (prev = (sc_conf_131-(1))); + if (((sc_conf_131>=BgL_sc_nbzd2nts_24zd2)&&((sc_steps_25[prev])>=(0)))) + { + sc_loop1_127 = function(l) { + var k; + var ender_set; + var state; + var ender; + var l; + while (true) { + if ((l instanceof sc_Pair)) + { + (ender = (l.car)); + (ender_set = ((state = (sc_states_129[j])), (state[(ender+(1))]))); + if ((ender_set!== false)) + { + (k = (ender_set[(2)])); + while ((k>=(0))) { + { + if ((k>=i)) + if (((BgL_sc_confzd2setzd2adjoinza2za2_46z00(sc_states_129, BgL_sc_statesza2_128za2, k, prev, i))!== false)) + (BgL_sc_confzd2setzd2adjoinza2za2_46z00(sc_states_129, BgL_sc_statesza2_128za2, j, ender, k)); + (k = (ender_set[(k+(5))])); + } + } + return (sc_loop1_127((l.cdr))); + } + else + (l = (l.cdr)); + } + else + return undefined; + } + }; + (sc_loop1_127((sc_enders_26[(sc_steps_25[prev])]))); + } + (sc_i_130 = (conf_set[(sc_i_130+(5))])); + } + } + return (loop1()); + } + else + return undefined; + } + }; + (loop1()); + (--i); + } + } + (optrOpnd = BgL_sc_statesza2_30za2); + return [sc_nts_42, sc_starters_41, sc_enders_40, sc_predictors_39, sc_steps_38, sc_names_37, sc_toks_36, optrOpnd, is_parsed, BgL_sc_derivzd2treesza2_47z70, BgL_sc_nbzd2derivzd2treesza2_48za2]; + } + }; + } + }; + BgL_parsezd2ze3parsedzf3zc2 = function(parse, nt, i, j) { + var is_parsed; + var states; + var enders; + var nts; + return ((nts = (parse[(0)])), (enders = (parse[(2)])), (states = (parse[(7)])), (is_parsed = (parse[(8)])), (is_parsed(nt, i, j, nts, enders, states))); + }; + BgL_parsezd2ze3treesz31 = function(parse, nt, i, j) { + var BgL_sc_derivzd2treesza2_132z70; + var states; + var toks; + var names; + var steps; + var enders; + var nts; + return ((nts = (parse[(0)])), (enders = (parse[(2)])), (steps = (parse[(4)])), (names = (parse[(5)])), (toks = (parse[(6)])), (states = (parse[(7)])), (BgL_sc_derivzd2treesza2_132z70 = (parse[(9)])), (BgL_sc_derivzd2treesza2_132z70(nt, i, j, nts, enders, steps, names, toks, states))); + }; + BgL_parsezd2ze3nbzd2treesze3 = function(parse, nt, i, j) { + var BgL_sc_nbzd2derivzd2treesza2_133za2; + var states; + var toks; + var steps; + var enders; + var nts; + return ((nts = (parse[(0)])), (enders = (parse[(2)])), (steps = (parse[(4)])), (toks = (parse[(6)])), (states = (parse[(7)])), (BgL_sc_nbzd2derivzd2treesza2_133za2 = (parse[(10)])), (BgL_sc_nbzd2derivzd2treesza2_133za2(nt, i, j, nts, enders, steps, toks, states))); + }; + test = function(k) { + var x; + var p; + return ((p = (BgL_makezd2parserzd2(const_earley, function(l) { + var sc_x_134; + var tail1134; + var L1130; + var falseHead1133; + { + (falseHead1133 = (new sc_Pair(null, null))); + (tail1134 = falseHead1133); + (L1130 = l); + while (!(L1130 === null)) { + { + (tail1134.cdr = (new sc_Pair(((sc_x_134 = (L1130.car)), (sc_list(sc_x_134, sc_x_134))), null))); + (tail1134 = (tail1134.cdr)); + (L1130 = (L1130.cdr)); + } + } + return (falseHead1133.cdr); + } + }))), (x = (p((sc_vector2list((sc_makeVector(k, "\u1E9Ca"))))))), (sc_length((BgL_parsezd2ze3treesz31(x, "\u1E9Cs", (0), k))))); + }; + BgL_earleyzd2benchmarkzd2 = function() { + var args = null; + for (var sc_tmp = arguments.length - 1; sc_tmp >= 0; sc_tmp--) { + args = sc_cons(arguments[sc_tmp], args); + } + var k; + return ((k = ((args === null)?(7):(args.car))), (BgL_runzd2benchmarkzd2("earley", (1), function() { + return (test(k)); + }, function(result) { + return ((sc_display(result)), (sc_newline()), result == 132); + }))); + }; +} + + +/************* END OF GENERATED CODE *************/ +// Invoke this function to run a benchmark. +// The first argument is a string identifying the benchmark. +// The second argument is the number of times to run the benchmark. +// The third argument is a function that runs the benchmark. +// The fourth argument is a unary function that warns if the result +// returned by the benchmark is incorrect. +// +// Example: +// RunBenchmark("new Array()", +// 1, +// function () { new Array(1000000); } +// function (v) { +// return (v instanceof Array) && (v.length == 1000000); +// }); + +SC_DEFAULT_OUT = new sc_GenericOutputPort(function(s) {}); +SC_ERROR_OUT = SC_DEFAULT_OUT; + +function RunBenchmark(name, count, run, warn) { + for (var n = 0; n < count; ++n) { + var result = run(); + if (!warn(result)) { + throw new Error("Earley or Boyer did incorrect number of rewrites"); + } + } +} + +var BgL_runzd2benchmarkzd2 = RunBenchmark; + +for (var i = 0; i < 4; ++i) { + BgL_earleyzd2benchmarkzd2(); + BgL_nboyerzd2benchmarkzd2(); +} diff --git a/implementation-contributed/javascriptcore/stress/v8-parameter-scoping.js b/implementation-contributed/javascriptcore/stress/v8-parameter-scoping.js new file mode 100644 index 0000000000..46b0eb6ab3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-parameter-scoping.js @@ -0,0 +1,103 @@ +// Copyright 2014, the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +function assert(b) { + if (!b) + throw new Error("bad"); +} + +function assertEquals(a, b) { + assert(a === b); +} + +function assertTrue(a) { + assert(a === true); +} + +;(function testExpressionTypes() { + "use strict"; + ((x, y = x) => assertEquals(42, y))(42); + + ((x, y = (x)) => assertEquals(42, y))(42); + ((x, y = `${x}`) => assertEquals("42", y))(42); + ((x, y = x = x + 1) => assertEquals(43, y))(42); + ((x, y = x()) => assertEquals(42, y))(() => 42); + ((x, y = new x()) => assertEquals(42, y.z))(function() { this.z = 42 }); + ((x, y = -x) => assertEquals(-42, y))(42); + ((x, y = ++x) => assertEquals(43, y))(42); + ((x, y = x === 42) => assertTrue(y))(42); + ((x, y = (x == 42 ? x : 0)) => assertEquals(42, y))(42); + + ((x, y = function() { return x }) => assertEquals(42, y()))(42); + ((x, y = () => x) => assertEquals(42, y()))(42); + + // Literals + ((x, y = {z: x}) => assertEquals(42, y.z))(42); + ((x, y = {[x]: x}) => assertEquals(42, y[42]))(42); + ((x, y = [x]) => assertEquals(42, y[0]))(42); + ((x, y = [...x]) => assertEquals(42, y[0]))([42]); + + ((x, y = class { + static [x]() { return x } + }) => assertEquals(42, y[42]()))(42); + ((x, y = (new class { + z() { return x } + })) => assertEquals(42, y.z()))(42); + + ((x, y = (new class Y { + static [x]() { return x } + z() { return Y[42]() } + })) => assertEquals(42, y.z()))(42); + + ((x, y = (new class { + constructor() { this.z = x } + })) => assertEquals(42, y.z))(42); + ((x, y = (new class Y { + constructor() { this.z = x } + })) => assertEquals(42, y.z))(42); + + ((x, y = (new class extends x { + })) => assertEquals(42, y.z()))(class { z() { return 42 } }); + + // Defaults inside destructuring + ((x, {y = x}) => assertEquals(42, y))(42, {}); + ((x, [y = x]) => assertEquals(42, y))(42, []); +})(); + +;(function testMultiScopeCapture() { + "use strict"; + var x = 1; + { + let y = 2; + ((x, y, a = x, b = y) => { + assertEquals(3, x); + assertEquals(3, a); + assertEquals(4, y); + assertEquals(4, b); + })(3, 4); + } +})(); diff --git a/implementation-contributed/javascriptcore/stress/v8-raytrace-strict.js b/implementation-contributed/javascriptcore/stress/v8-raytrace-strict.js new file mode 100644 index 0000000000..46ca6e8923 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-raytrace-strict.js @@ -0,0 +1,904 @@ +"use strict"; + +// The ray tracer code in this file is written by Adam Burmister. It +// is available in its original form from: +// +// http://labs.flog.nz.co/raytracer/ +// +// It has been modified slightly by Google to work as a standalone +// benchmark, but the all the computational code remains +// untouched. This file also contains a copy of parts of the Prototype +// JavaScript framework which is used by the ray tracer. + +// Variable used to hold a number that can be used to verify that +// the scene was ray traced correctly. +var checkNumber; + + +// ------------------------------------------------------------------------ +// ------------------------------------------------------------------------ + +// The following is a copy of parts of the Prototype JavaScript library: + +// Prototype JavaScript framework, version 1.5.0 +// (c) 2005-2007 Sam Stephenson +// +// Prototype is freely distributable under the terms of an MIT-style license. +// For details, see the Prototype web site: http://prototype.conio.net/ + + +var Class = { + create: function() { + return function() { + this.initialize.apply(this, arguments); + } + } +}; + + +Object.extend = function(destination, source) { + for (var property in source) { + destination[property] = source[property]; + } + return destination; +}; + + +// ------------------------------------------------------------------------ +// ------------------------------------------------------------------------ + +// The rest of this file is the actual ray tracer written by Adam +// Burmister. It's a concatenation of the following files: +// +// flog/color.js +// flog/light.js +// flog/vector.js +// flog/ray.js +// flog/scene.js +// flog/material/basematerial.js +// flog/material/solid.js +// flog/material/chessboard.js +// flog/shape/baseshape.js +// flog/shape/sphere.js +// flog/shape/plane.js +// flog/intersectioninfo.js +// flog/camera.js +// flog/background.js +// flog/engine.js + + +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Color = Class.create(); + +Flog.RayTracer.Color.prototype = { + red : 0.0, + green : 0.0, + blue : 0.0, + + initialize : function(r, g, b) { + if(!r) r = 0.0; + if(!g) g = 0.0; + if(!b) b = 0.0; + + this.red = r; + this.green = g; + this.blue = b; + }, + + add : function(c1, c2){ + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red + c2.red; + result.green = c1.green + c2.green; + result.blue = c1.blue + c2.blue; + + return result; + }, + + addScalar: function(c1, s){ + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red + s; + result.green = c1.green + s; + result.blue = c1.blue + s; + + result.limit(); + + return result; + }, + + subtract: function(c1, c2){ + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red - c2.red; + result.green = c1.green - c2.green; + result.blue = c1.blue - c2.blue; + + return result; + }, + + multiply : function(c1, c2) { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red * c2.red; + result.green = c1.green * c2.green; + result.blue = c1.blue * c2.blue; + + return result; + }, + + multiplyScalar : function(c1, f) { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red * f; + result.green = c1.green * f; + result.blue = c1.blue * f; + + return result; + }, + + divideFactor : function(c1, f) { + var result = new Flog.RayTracer.Color(0,0,0); + + result.red = c1.red / f; + result.green = c1.green / f; + result.blue = c1.blue / f; + + return result; + }, + + limit: function(){ + this.red = (this.red > 0.0) ? ( (this.red > 1.0) ? 1.0 : this.red ) : 0.0; + this.green = (this.green > 0.0) ? ( (this.green > 1.0) ? 1.0 : this.green ) : 0.0; + this.blue = (this.blue > 0.0) ? ( (this.blue > 1.0) ? 1.0 : this.blue ) : 0.0; + }, + + distance : function(color) { + var d = Math.abs(this.red - color.red) + Math.abs(this.green - color.green) + Math.abs(this.blue - color.blue); + return d; + }, + + blend: function(c1, c2, w){ + var result = new Flog.RayTracer.Color(0,0,0); + result = Flog.RayTracer.Color.prototype.add( + Flog.RayTracer.Color.prototype.multiplyScalar(c1, 1 - w), + Flog.RayTracer.Color.prototype.multiplyScalar(c2, w) + ); + return result; + }, + + brightness : function() { + var r = Math.floor(this.red*255); + var g = Math.floor(this.green*255); + var b = Math.floor(this.blue*255); + return (r * 77 + g * 150 + b * 29) >> 8; + }, + + toString : function () { + var r = Math.floor(this.red*255); + var g = Math.floor(this.green*255); + var b = Math.floor(this.blue*255); + + return "rgb("+ r +","+ g +","+ b +")"; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Light = Class.create(); + +Flog.RayTracer.Light.prototype = { + position: null, + color: null, + intensity: 10.0, + + initialize : function(pos, color, intensity) { + this.position = pos; + this.color = color; + this.intensity = (intensity ? intensity : 10.0); + }, + + toString : function () { + return 'Light [' + this.position.x + ',' + this.position.y + ',' + this.position.z + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Vector = Class.create(); + +Flog.RayTracer.Vector.prototype = { + x : 0.0, + y : 0.0, + z : 0.0, + + initialize : function(x, y, z) { + this.x = (x ? x : 0); + this.y = (y ? y : 0); + this.z = (z ? z : 0); + }, + + copy: function(vector){ + this.x = vector.x; + this.y = vector.y; + this.z = vector.z; + }, + + normalize : function() { + var m = this.magnitude(); + return new Flog.RayTracer.Vector(this.x / m, this.y / m, this.z / m); + }, + + magnitude : function() { + return Math.sqrt((this.x * this.x) + (this.y * this.y) + (this.z * this.z)); + }, + + cross : function(w) { + return new Flog.RayTracer.Vector( + -this.z * w.y + this.y * w.z, + this.z * w.x - this.x * w.z, + -this.y * w.x + this.x * w.y); + }, + + dot : function(w) { + return this.x * w.x + this.y * w.y + this.z * w.z; + }, + + add : function(v, w) { + return new Flog.RayTracer.Vector(w.x + v.x, w.y + v.y, w.z + v.z); + }, + + subtract : function(v, w) { + if(!w || !v) throw 'Vectors must be defined [' + v + ',' + w + ']'; + return new Flog.RayTracer.Vector(v.x - w.x, v.y - w.y, v.z - w.z); + }, + + multiplyVector : function(v, w) { + return new Flog.RayTracer.Vector(v.x * w.x, v.y * w.y, v.z * w.z); + }, + + multiplyScalar : function(v, w) { + return new Flog.RayTracer.Vector(v.x * w, v.y * w, v.z * w); + }, + + toString : function () { + return 'Vector [' + this.x + ',' + this.y + ',' + this.z + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Ray = Class.create(); + +Flog.RayTracer.Ray.prototype = { + position : null, + direction : null, + initialize : function(pos, dir) { + this.position = pos; + this.direction = dir; + }, + + toString : function () { + return 'Ray [' + this.position + ',' + this.direction + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Scene = Class.create(); + +Flog.RayTracer.Scene.prototype = { + camera : null, + shapes : [], + lights : [], + background : null, + + initialize : function() { + this.camera = new Flog.RayTracer.Camera( + new Flog.RayTracer.Vector(0,0,-5), + new Flog.RayTracer.Vector(0,0,1), + new Flog.RayTracer.Vector(0,1,0) + ); + this.shapes = new Array(); + this.lights = new Array(); + this.background = new Flog.RayTracer.Background(new Flog.RayTracer.Color(0,0,0.5), 0.2); + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Material) == 'undefined') Flog.RayTracer.Material = {}; + +Flog.RayTracer.Material.BaseMaterial = Class.create(); + +Flog.RayTracer.Material.BaseMaterial.prototype = { + + gloss: 2.0, // [0...infinity] 0 = matt + transparency: 0.0, // 0=opaque + reflection: 0.0, // [0...infinity] 0 = no reflection + refraction: 0.50, + hasTexture: false, + + initialize : function() { + + }, + + getColor: function(u, v){ + + }, + + wrapUp: function(t){ + t = t % 2.0; + if(t < -1) t += 2.0; + if(t >= 1) t -= 2.0; + return t; + }, + + toString : function () { + return 'Material [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Material.Solid = Class.create(); + +Flog.RayTracer.Material.Solid.prototype = Object.extend( + new Flog.RayTracer.Material.BaseMaterial(), { + initialize : function(color, reflection, refraction, transparency, gloss) { + this.color = color; + this.reflection = reflection; + this.transparency = transparency; + this.gloss = gloss; + this.hasTexture = false; + }, + + getColor: function(u, v){ + return this.color; + }, + + toString : function () { + return 'SolidMaterial [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } + } +); +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Material.Chessboard = Class.create(); + +Flog.RayTracer.Material.Chessboard.prototype = Object.extend( + new Flog.RayTracer.Material.BaseMaterial(), { + colorEven: null, + colorOdd: null, + density: 0.5, + + initialize : function(colorEven, colorOdd, reflection, transparency, gloss, density) { + this.colorEven = colorEven; + this.colorOdd = colorOdd; + this.reflection = reflection; + this.transparency = transparency; + this.gloss = gloss; + this.density = density; + this.hasTexture = true; + }, + + getColor: function(u, v){ + var t = this.wrapUp(u * this.density) * this.wrapUp(v * this.density); + + if(t < 0.0) + return this.colorEven; + else + return this.colorOdd; + }, + + toString : function () { + return 'ChessMaterial [gloss=' + this.gloss + ', transparency=' + this.transparency + ', hasTexture=' + this.hasTexture +']'; + } + } +); +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Shape) == 'undefined') Flog.RayTracer.Shape = {}; + +Flog.RayTracer.Shape.Sphere = Class.create(); + +Flog.RayTracer.Shape.Sphere.prototype = { + initialize : function(pos, radius, material) { + this.radius = radius; + this.position = pos; + this.material = material; + }, + + intersect: function(ray){ + var info = new Flog.RayTracer.IntersectionInfo(); + info.shape = this; + + var dst = Flog.RayTracer.Vector.prototype.subtract(ray.position, this.position); + + var B = dst.dot(ray.direction); + var C = dst.dot(dst) - (this.radius * this.radius); + var D = (B * B) - C; + + if(D > 0){ // intersection! + info.isHit = true; + info.distance = (-B) - Math.sqrt(D); + info.position = Flog.RayTracer.Vector.prototype.add( + ray.position, + Flog.RayTracer.Vector.prototype.multiplyScalar( + ray.direction, + info.distance + ) + ); + info.normal = Flog.RayTracer.Vector.prototype.subtract( + info.position, + this.position + ).normalize(); + + info.color = this.material.getColor(0,0); + } else { + info.isHit = false; + } + return info; + }, + + toString : function () { + return 'Sphere [position=' + this.position + ', radius=' + this.radius + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; +if(typeof(Flog.RayTracer.Shape) == 'undefined') Flog.RayTracer.Shape = {}; + +Flog.RayTracer.Shape.Plane = Class.create(); + +Flog.RayTracer.Shape.Plane.prototype = { + d: 0.0, + + initialize : function(pos, d, material) { + this.position = pos; + this.d = d; + this.material = material; + }, + + intersect: function(ray){ + var info = new Flog.RayTracer.IntersectionInfo(); + + var Vd = this.position.dot(ray.direction); + if(Vd == 0) return info; // no intersection + + var t = -(this.position.dot(ray.position) + this.d) / Vd; + if(t <= 0) return info; + + info.shape = this; + info.isHit = true; + info.position = Flog.RayTracer.Vector.prototype.add( + ray.position, + Flog.RayTracer.Vector.prototype.multiplyScalar( + ray.direction, + t + ) + ); + info.normal = this.position; + info.distance = t; + + if(this.material.hasTexture){ + var vU = new Flog.RayTracer.Vector(this.position.y, this.position.z, -this.position.x); + var vV = vU.cross(this.position); + var u = info.position.dot(vU); + var v = info.position.dot(vV); + info.color = this.material.getColor(u,v); + } else { + info.color = this.material.getColor(0,0); + } + + return info; + }, + + toString : function () { + return 'Plane [' + this.position + ', d=' + this.d + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.IntersectionInfo = Class.create(); + +Flog.RayTracer.IntersectionInfo.prototype = { + isHit: false, + hitCount: 0, + shape: null, + position: null, + normal: null, + color: null, + distance: null, + + initialize : function() { + this.color = new Flog.RayTracer.Color(0,0,0); + }, + + toString : function () { + return 'Intersection [' + this.position + ']'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Camera = Class.create(); + +Flog.RayTracer.Camera.prototype = { + position: null, + lookAt: null, + equator: null, + up: null, + screen: null, + + initialize : function(pos, lookAt, up) { + this.position = pos; + this.lookAt = lookAt; + this.up = up; + this.equator = lookAt.normalize().cross(this.up); + this.screen = Flog.RayTracer.Vector.prototype.add(this.position, this.lookAt); + }, + + getRay: function(vx, vy){ + var pos = Flog.RayTracer.Vector.prototype.subtract( + this.screen, + Flog.RayTracer.Vector.prototype.subtract( + Flog.RayTracer.Vector.prototype.multiplyScalar(this.equator, vx), + Flog.RayTracer.Vector.prototype.multiplyScalar(this.up, vy) + ) + ); + pos.y = pos.y * -1; + var dir = Flog.RayTracer.Vector.prototype.subtract( + pos, + this.position + ); + + var ray = new Flog.RayTracer.Ray(pos, dir.normalize()); + + return ray; + }, + + toString : function () { + return 'Ray []'; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Background = Class.create(); + +Flog.RayTracer.Background.prototype = { + color : null, + ambience : 0.0, + + initialize : function(color, ambience) { + this.color = color; + this.ambience = ambience; + } +} +/* Fake a Flog.* namespace */ +if(typeof(Flog) == 'undefined') var Flog = {}; +if(typeof(Flog.RayTracer) == 'undefined') Flog.RayTracer = {}; + +Flog.RayTracer.Engine = Class.create(); + +Flog.RayTracer.Engine.prototype = { + canvas: null, /* 2d context we can render to */ + + initialize: function(options){ + this.options = Object.extend({ + canvasHeight: 100, + canvasWidth: 100, + pixelWidth: 2, + pixelHeight: 2, + renderDiffuse: false, + renderShadows: false, + renderHighlights: false, + renderReflections: false, + rayDepth: 2 + }, options || {}); + + this.options.canvasHeight /= this.options.pixelHeight; + this.options.canvasWidth /= this.options.pixelWidth; + + /* TODO: dynamically include other scripts */ + }, + + setPixel: function(x, y, color){ + var pxW, pxH; + pxW = this.options.pixelWidth; + pxH = this.options.pixelHeight; + + if (this.canvas) { + this.canvas.fillStyle = color.toString(); + this.canvas.fillRect (x * pxW, y * pxH, pxW, pxH); + } else { + if (x === y) { + checkNumber += color.brightness(); + } + // print(x * pxW, y * pxH, pxW, pxH); + } + }, + + renderScene: function(scene, canvas){ + checkNumber = 0; + /* Get canvas */ + if (canvas) { + this.canvas = canvas.getContext("2d"); + } else { + this.canvas = null; + } + + var canvasHeight = this.options.canvasHeight; + var canvasWidth = this.options.canvasWidth; + + for(var y=0; y < canvasHeight; y++){ + for(var x=0; x < canvasWidth; x++){ + var yp = y * 1.0 / canvasHeight * 2 - 1; + var xp = x * 1.0 / canvasWidth * 2 - 1; + + var ray = scene.camera.getRay(xp, yp); + + var color = this.getPixelColor(ray, scene); + + this.setPixel(x, y, color); + } + } + if (checkNumber !== 2321) { + throw new Error("Scene rendered incorrectly"); + } + }, + + getPixelColor: function(ray, scene){ + var info = this.testIntersection(ray, scene, null); + if(info.isHit){ + var color = this.rayTrace(info, ray, scene, 0); + return color; + } + return scene.background.color; + }, + + testIntersection: function(ray, scene, exclude){ + var hits = 0; + var best = new Flog.RayTracer.IntersectionInfo(); + best.distance = 2000; + + for(var i=0; i= 0 && info.distance < best.distance){ + best = info; + hits++; + } + } + } + best.hitCount = hits; + return best; + }, + + getReflectionRay: function(P,N,V){ + var c1 = -N.dot(V); + var R1 = Flog.RayTracer.Vector.prototype.add( + Flog.RayTracer.Vector.prototype.multiplyScalar(N, 2*c1), + V + ); + return new Flog.RayTracer.Ray(P, R1); + }, + + rayTrace: function(info, ray, scene, depth){ + // Calc ambient + var color = Flog.RayTracer.Color.prototype.multiplyScalar(info.color, scene.background.ambience); + var oldColor = color; + var shininess = Math.pow(10, info.shape.material.gloss + 1); + + for(var i=0; i 0.0){ + color = Flog.RayTracer.Color.prototype.add( + color, + Flog.RayTracer.Color.prototype.multiply( + info.color, + Flog.RayTracer.Color.prototype.multiplyScalar( + light.color, + L + ) + ) + ); + } + } + + // The greater the depth the more accurate the colours, but + // this is exponentially (!) expensive + if(depth <= this.options.rayDepth){ + // calculate reflection ray + if(this.options.renderReflections && info.shape.material.reflection > 0) + { + var reflectionRay = this.getReflectionRay(info.position, info.normal, ray.direction); + var refl = this.testIntersection(reflectionRay, scene, info.shape); + + if (refl.isHit && refl.distance > 0){ + refl.color = this.rayTrace(refl, reflectionRay, scene, depth + 1); + } else { + refl.color = scene.background.color; + } + + color = Flog.RayTracer.Color.prototype.blend( + color, + refl.color, + info.shape.material.reflection + ); + } + + // Refraction + /* TODO */ + } + + /* Render shadows and highlights */ + + var shadowInfo = new Flog.RayTracer.IntersectionInfo(); + + if(this.options.renderShadows){ + var shadowRay = new Flog.RayTracer.Ray(info.position, v); + + shadowInfo = this.testIntersection(shadowRay, scene, info.shape); + if(shadowInfo.isHit && shadowInfo.shape != info.shape /*&& shadowInfo.shape.type != 'PLANE'*/){ + var vA = Flog.RayTracer.Color.prototype.multiplyScalar(color, 0.5); + var dB = (0.5 * Math.pow(shadowInfo.shape.material.transparency, 0.5)); + color = Flog.RayTracer.Color.prototype.addScalar(vA,dB); + } + } + + // Phong specular highlights + if(this.options.renderHighlights && !shadowInfo.isHit && info.shape.material.gloss > 0){ + var Lv = Flog.RayTracer.Vector.prototype.subtract( + info.shape.position, + light.position + ).normalize(); + + var E = Flog.RayTracer.Vector.prototype.subtract( + scene.camera.position, + info.shape.position + ).normalize(); + + var H = Flog.RayTracer.Vector.prototype.subtract( + E, + Lv + ).normalize(); + + var glossWeight = Math.pow(Math.max(info.normal.dot(H), 0), shininess); + color = Flog.RayTracer.Color.prototype.add( + Flog.RayTracer.Color.prototype.multiplyScalar(light.color, glossWeight), + color + ); + } + } + color.limit(); + return color; + } +}; + + +function renderScene(){ + var scene = new Flog.RayTracer.Scene(); + + scene.camera = new Flog.RayTracer.Camera( + new Flog.RayTracer.Vector(0, 0, -15), + new Flog.RayTracer.Vector(-0.2, 0, 5), + new Flog.RayTracer.Vector(0, 1, 0) + ); + + scene.background = new Flog.RayTracer.Background( + new Flog.RayTracer.Color(0.5, 0.5, 0.5), + 0.4 + ); + + var sphere = new Flog.RayTracer.Shape.Sphere( + new Flog.RayTracer.Vector(-1.5, 1.5, 2), + 1.5, + new Flog.RayTracer.Material.Solid( + new Flog.RayTracer.Color(0,0.5,0.5), + 0.3, + 0.0, + 0.0, + 2.0 + ) + ); + + var sphere1 = new Flog.RayTracer.Shape.Sphere( + new Flog.RayTracer.Vector(1, 0.25, 1), + 0.5, + new Flog.RayTracer.Material.Solid( + new Flog.RayTracer.Color(0.9,0.9,0.9), + 0.1, + 0.0, + 0.0, + 1.5 + ) + ); + + var plane = new Flog.RayTracer.Shape.Plane( + new Flog.RayTracer.Vector(0.1, 0.9, -0.5).normalize(), + 1.2, + new Flog.RayTracer.Material.Chessboard( + new Flog.RayTracer.Color(1,1,1), + new Flog.RayTracer.Color(0,0,0), + 0.2, + 0.0, + 1.0, + 0.7 + ) + ); + + scene.shapes.push(plane); + scene.shapes.push(sphere); + scene.shapes.push(sphere1); + + var light = new Flog.RayTracer.Light( + new Flog.RayTracer.Vector(5, 10, -1), + new Flog.RayTracer.Color(0.8, 0.8, 0.8) + ); + + var light1 = new Flog.RayTracer.Light( + new Flog.RayTracer.Vector(-3, 5, -15), + new Flog.RayTracer.Color(0.8, 0.8, 0.8), + 100 + ); + + scene.lights.push(light); + scene.lights.push(light1); + + var imageWidth = 100; // $F('imageWidth'); + var imageHeight = 100; // $F('imageHeight'); + var pixelSize = "5,5".split(','); // $F('pixelSize').split(','); + var renderDiffuse = true; // $F('renderDiffuse'); + var renderShadows = true; // $F('renderShadows'); + var renderHighlights = true; // $F('renderHighlights'); + var renderReflections = true; // $F('renderReflections'); + var rayDepth = 2;//$F('rayDepth'); + + var raytracer = new Flog.RayTracer.Engine( + { + canvasWidth: imageWidth, + canvasHeight: imageHeight, + pixelWidth: pixelSize[0], + pixelHeight: pixelSize[1], + "renderDiffuse": renderDiffuse, + "renderHighlights": renderHighlights, + "renderShadows": renderShadows, + "renderReflections": renderReflections, + "rayDepth": rayDepth + } + ); + + raytracer.renderScene(scene, null, 0); +} + +for (var i = 0; i < 6; ++i) + renderScene(); diff --git a/implementation-contributed/javascriptcore/stress/v8-regexp-strict.js b/implementation-contributed/javascriptcore/stress/v8-regexp-strict.js new file mode 100644 index 0000000000..cbb8852ae9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-regexp-strict.js @@ -0,0 +1,1615 @@ +"use strict"; + +// Copyright 2009 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// Automatically generated on 2009-01-30. + +// This benchmark is generated by loading 50 of the most popular pages +// on the web and logging all regexp operations performed. Each +// operation is given a weight that is calculated from an estimate of +// the popularity of the pages where it occurs and the number of times +// it is executed while loading each page. Finally the literal +// letters in the data are encoded using ROT13 in a way that does not +// affect how the regexps match their input. + +function runRegExpBenchmark() { + var re0 = /^ba/; + var re1 = /(((\w+):\/\/)([^\/:]*)(:(\d+))?)?([^#?]*)(\?([^#]*))?(#(.*))?/; + var re2 = /^\s*|\s*$/g; + var re3 = /\bQBZPbageby_cynprubyqre\b/; + var re4 = /,/; + var re5 = /\bQBZPbageby_cynprubyqre\b/g; + var re6 = /^[\s\xa0]+|[\s\xa0]+$/g; + var re7 = /(\d*)(\D*)/g; + var re8 = /=/; + var re9 = /(^|\s)lhv\-h(\s|$)/; + var str0 = 'Zbmvyyn/5.0 (Jvaqbjf; H; Jvaqbjf AG 5.1; ra-HF) NccyrJroXvg/528.9 (XUGZY, yvxr Trpxb) Puebzr/2.0.157.0 Fnsnev/528.9'; + var re10 = /\#/g; + var re11 = /\./g; + var re12 = /'/g; + var re13 = /\?[\w\W]*(sevraqvq|punaaryvq|tebhcvq)=([^\&\?#]*)/i; + var str1 = 'Fubpxjnir Synfu 9.0 e115'; + var re14 = /\s+/g; + var re15 = /^\s*(\S*(\s+\S+)*)\s*$/; + var re16 = /(-[a-z])/i; + function runBlock0() { + for (var i = 0; i < 6511; i++) { + re0.exec('pyvpx'); + } + for (var i = 0; i < 1844; i++) { + re1.exec('uggc://jjj.snprobbx.pbz/ybtva.cuc'); + } + for (var i = 0; i < 739; i++) { + 'QBZPbageby_cynprubyqre'.replace(re2, ''); + } + for (var i = 0; i < 598; i++) { + re1.exec('uggc://jjj.snprobbx.pbz/'); + } + for (var i = 0; i < 454; i++) { + re1.exec('uggc://jjj.snprobbx.pbz/fepu.cuc'); + } + for (var i = 0; i < 352; i++) { + /qqqq|qqq|qq|q|ZZZZ|ZZZ|ZZ|Z|llll|ll|l|uu|u|UU|U|zz|z|ff|f|gg|g|sss|ss|s|mmm|mm|m/g.exec('qqqq, ZZZ q, llll'); + } + for (var i = 0; i < 312; i++) { + re3.exec('vachggrkg QBZPbageby_cynprubyqre'); + } + for (var i = 0; i < 282; i++) { + re4.exec('/ZlFcnprUbzrcntr/Vaqrk-FvgrUbzr,10000000'); + } + for (var i = 0; i < 177; i++) { + 'vachggrkg'.replace(re5, ''); + } + for (var i = 0; i < 170; i++) { + '528.9'.replace(re6, ''); + re7.exec('528'); + } + for (var i = 0; i < 156; i++) { + re8.exec('VCPhygher=ra-HF'); + re8.exec('CersreerqPhygher=ra-HF'); + } + for (var i = 0; i < 144; i++) { + re0.exec('xrlcerff'); + } + for (var i = 0; i < 139; i++) { + '521'.replace(re6, ''); + re7.exec('521'); + re9.exec(''); + /JroXvg\/(\S+)/.exec(str0); + } + for (var i = 0; i < 137; i++) { + 'qvi .so_zrah'.replace(re10, ''); + 'qvi .so_zrah'.replace(/\[/g, ''); + 'qvi.so_zrah'.replace(re11, ''); + } + for (var i = 0; i < 117; i++) { + 'uvqqra_ryrz'.replace(re2, ''); + } + for (var i = 0; i < 95; i++) { + /(?:^|;)\s*sevraqfgre_ynat=([^;]*)/.exec('sevraqfgre_naba=nvq%3Qn6ss9p85n868ro9s059pn854735956o3%26ers%3Q%26df%3Q%26vpgl%3QHF'); + } + for (var i = 0; i < 93; i++) { + 'uggc://ubzr.zlfcnpr.pbz/vaqrk.psz'.replace(re12, ''); + re13.exec('uggc://ubzr.zlfcnpr.pbz/vaqrk.psz'); + } + for (var i = 0; i < 92; i++) { + str1.replace(/([a-zA-Z]|\s)+/, ''); + } + for (var i = 0; i < 85; i++) { + 'svefg'.replace(re14, ''); + 'svefg'.replace(re15, ''); + 'uggc://cebsvyr.zlfcnpr.pbz/vaqrk.psz'.replace(re12, ''); + 'ynfg'.replace(re14, ''); + 'ynfg'.replace(re15, ''); + re16.exec('qvfcynl'); + re13.exec('uggc://cebsvyr.zlfcnpr.pbz/vaqrk.psz'); + } + } + var re17 = /(^|[^\\])\"\\\/Qngr\((-?[0-9]+)\)\\\/\"/g; + var str2 = '{"anzr":"","ahzoreSbezng":{"PheeraplQrpvznyQvtvgf":2,"PheeraplQrpvznyFrcnengbe":".","VfErnqBayl":gehr,"PheeraplTebhcFvmrf":[3],"AhzoreTebhcFvmrf":[3],"CrepragTebhcFvmrf":[3],"PheeraplTebhcFrcnengbe":",","PheeraplFlzoby":"\xa4","AnAFlzoby":"AnA","PheeraplArtngvirCnggrea":0,"AhzoreArtngvirCnggrea":1,"CrepragCbfvgvirCnggrea":0,"CrepragArtngvirCnggrea":0,"ArtngvirVasvavglFlzoby":"-Vasvavgl","ArtngvirFvta":"-","AhzoreQrpvznyQvtvgf":2,"AhzoreQrpvznyFrcnengbe":".","AhzoreTebhcFrcnengbe":",","PheeraplCbfvgvirCnggrea":0,"CbfvgvirVasvavglFlzoby":"Vasvavgl","CbfvgvirFvta":"+","CrepragQrpvznyQvtvgf":2,"CrepragQrpvznyFrcnengbe":".","CrepragTebhcFrcnengbe":",","CrepragFlzoby":"%","CreZvyyrFlzoby":"\u2030","AngvirQvtvgf":["0","1","2","3","4","5","6","7","8","9"],"QvtvgFhofgvghgvba":1},"qngrGvzrSbezng":{"NZQrfvtangbe":"NZ","Pnyraqne":{"ZvaFhccbegrqQngrGvzr":"@-62135568000000@","ZnkFhccbegrqQngrGvzr":"@253402300799999@","NytbevguzGlcr":1,"PnyraqneGlcr":1,"Renf":[1],"GjbQvtvgLrneZnk":2029,"VfErnqBayl":gehr},"QngrFrcnengbe":"/","SvefgQnlBsJrrx":0,"PnyraqneJrrxEhyr":0,"ShyyQngrGvzrCnggrea":"qqqq, qq ZZZZ llll UU:zz:ff","YbatQngrCnggrea":"qqqq, qq ZZZZ llll","YbatGvzrCnggrea":"UU:zz:ff","ZbaguQnlCnggrea":"ZZZZ qq","CZQrfvtangbe":"CZ","ESP1123Cnggrea":"qqq, qq ZZZ llll UU\':\'zz\':\'ff \'TZG\'","FubegQngrCnggrea":"ZZ/qq/llll","FubegGvzrCnggrea":"UU:zz","FbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq\'G\'UU\':\'zz\':\'ff","GvzrFrcnengbe":":","HavirefnyFbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq UU\':\'zz\':\'ff\'M\'","LrneZbaguCnggrea":"llll ZZZZ","NooerivngrqQnlAnzrf":["Fha","Zba","Ghr","Jrq","Guh","Sev","Fng"],"FubegrfgQnlAnzrf":["Fh","Zb","Gh","Jr","Gu","Se","Fn"],"QnlAnzrf":["Fhaqnl","Zbaqnl","Ghrfqnl","Jrqarfqnl","Guhefqnl","Sevqnl","Fngheqnl"],"NooerivngrqZbaguAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""],"VfErnqBayl":gehr,"AngvirPnyraqneAnzr":"Tertbevna Pnyraqne","NooerivngrqZbaguTravgvirAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguTravgvirAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""]}}'; + var str3 = '{"anzr":"ra-HF","ahzoreSbezng":{"PheeraplQrpvznyQvtvgf":2,"PheeraplQrpvznyFrcnengbe":".","VfErnqBayl":snyfr,"PheeraplTebhcFvmrf":[3],"AhzoreTebhcFvmrf":[3],"CrepragTebhcFvmrf":[3],"PheeraplTebhcFrcnengbe":",","PheeraplFlzoby":"$","AnAFlzoby":"AnA","PheeraplArtngvirCnggrea":0,"AhzoreArtngvirCnggrea":1,"CrepragCbfvgvirCnggrea":0,"CrepragArtngvirCnggrea":0,"ArtngvirVasvavglFlzoby":"-Vasvavgl","ArtngvirFvta":"-","AhzoreQrpvznyQvtvgf":2,"AhzoreQrpvznyFrcnengbe":".","AhzoreTebhcFrcnengbe":",","PheeraplCbfvgvirCnggrea":0,"CbfvgvirVasvavglFlzoby":"Vasvavgl","CbfvgvirFvta":"+","CrepragQrpvznyQvtvgf":2,"CrepragQrpvznyFrcnengbe":".","CrepragTebhcFrcnengbe":",","CrepragFlzoby":"%","CreZvyyrFlzoby":"\u2030","AngvirQvtvgf":["0","1","2","3","4","5","6","7","8","9"],"QvtvgFhofgvghgvba":1},"qngrGvzrSbezng":{"NZQrfvtangbe":"NZ","Pnyraqne":{"ZvaFhccbegrqQngrGvzr":"@-62135568000000@","ZnkFhccbegrqQngrGvzr":"@253402300799999@","NytbevguzGlcr":1,"PnyraqneGlcr":1,"Renf":[1],"GjbQvtvgLrneZnk":2029,"VfErnqBayl":snyfr},"QngrFrcnengbe":"/","SvefgQnlBsJrrx":0,"PnyraqneJrrxEhyr":0,"ShyyQngrGvzrCnggrea":"qqqq, ZZZZ qq, llll u:zz:ff gg","YbatQngrCnggrea":"qqqq, ZZZZ qq, llll","YbatGvzrCnggrea":"u:zz:ff gg","ZbaguQnlCnggrea":"ZZZZ qq","CZQrfvtangbe":"CZ","ESP1123Cnggrea":"qqq, qq ZZZ llll UU\':\'zz\':\'ff \'TZG\'","FubegQngrCnggrea":"Z/q/llll","FubegGvzrCnggrea":"u:zz gg","FbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq\'G\'UU\':\'zz\':\'ff","GvzrFrcnengbe":":","HavirefnyFbegnoyrQngrGvzrCnggrea":"llll\'-\'ZZ\'-\'qq UU\':\'zz\':\'ff\'M\'","LrneZbaguCnggrea":"ZZZZ, llll","NooerivngrqQnlAnzrf":["Fha","Zba","Ghr","Jrq","Guh","Sev","Fng"],"FubegrfgQnlAnzrf":["Fh","Zb","Gh","Jr","Gu","Se","Fn"],"QnlAnzrf":["Fhaqnl","Zbaqnl","Ghrfqnl","Jrqarfqnl","Guhefqnl","Sevqnl","Fngheqnl"],"NooerivngrqZbaguAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""],"VfErnqBayl":snyfr,"AngvirPnyraqneAnzr":"Tertbevna Pnyraqne","NooerivngrqZbaguTravgvirAnzrf":["Wna","Sro","Zne","Nce","Znl","Wha","Why","Nht","Frc","Bpg","Abi","Qrp",""],"ZbaguTravgvirAnzrf":["Wnahnel","Sroehnel","Znepu","Ncevy","Znl","Whar","Whyl","Nhthfg","Frcgrzore","Bpgbore","Abirzore","Qrprzore",""]}}'; + var str4 = 'HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str5 = 'HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var re18 = /^\s+|\s+$/g; + var str6 = 'uggc://jjj.snprobbx.pbz/vaqrk.cuc'; + var re19 = /(?:^|\s+)ba(?:\s+|$)/; + var re20 = /[+, ]/; + var re21 = /ybnqrq|pbzcyrgr/; + var str7 = ';;jvaqbj.IjPurpxZbhfrCbfvgvbaNQ_VQ=shapgvba(r){vs(!r)ine r=jvaqbj.rirag;ine c=-1;vs(d1)c=d1.EbyybssCnary;ine bo=IjTrgBow("IjCnayNQ_VQ_"+c);vs(bo&&bo.fglyr.ivfvovyvgl=="ivfvoyr"){ine fns=IjFns?8:0;ine pheK=r.pyvragK+IjBOFpe("U")+fns,pheL=r.pyvragL+IjBOFpe("I")+fns;ine y=IjBOEC(NQ_VQ,bo,"Y"),g=IjBOEC(NQ_VQ,bo,"G");ine e=y+d1.Cnaryf[c].Jvqgu,o=g+d1.Cnaryf[c].Urvtug;vs((pheKe)||(pheLo)){vs(jvaqbj.IjBaEbyybssNQ_VQ)IjBaEbyybssNQ_VQ(c);ryfr IjPybfrNq(NQ_VQ,c,gehr,"");}ryfr erghea;}IjPnapryZbhfrYvfgrareNQ_VQ();};;jvaqbj.IjFrgEbyybssCnaryNQ_VQ=shapgvba(c){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;c=IjTc(NQ_VQ,c);vs(d1&&d1.EbyybssCnary>-1)IjPnapryZbhfrYvfgrareNQ_VQ();vs(d1)d1.EbyybssCnary=c;gel{vs(q.nqqRiragYvfgrare)q.nqqRiragYvfgrare(z,s,snyfr);ryfr vs(q.nggnpuRirag)q.nggnpuRirag("ba"+z,s);}pngpu(r){}};;jvaqbj.IjPnapryZbhfrYvfgrareNQ_VQ=shapgvba(){ine z="zbhfrzbir",q=qbphzrag,s=IjPurpxZbhfrCbfvgvbaNQ_VQ;vs(d1)d1.EbyybssCnary=-1;gel{vs(q.erzbirRiragYvfgrare)q.erzbirRiragYvfgrare(z,s,snyfr);ryfr vs(q.qrgnpuRirag)q.qrgnpuRirag("ba"+z,s);}pngpu(r){}};;d1.IjTc=d2(n,c){ine nq=d1;vs(vfAnA(c)){sbe(ine v=0;v0){vs(nq.FzV.yratgu>0)nq.FzV+="/";nq.FzV+=vh[v];nq.FtZ[nq.FtZ.yratgu]=snyfr;}}};;d1.IjYvzvg0=d2(n,f){ine nq=d1,vh=f.fcyvg("/");sbe(ine v=0;v0){vs(nq.OvC.yratgu>0)nq.OvC+="/";nq.OvC+=vh[v];}}};;d1.IjRVST=d2(n,c){jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]=IjTrgBow("IjCnayNQ_VQ_"+c+"_Bow");vs(jvaqbj["IjCnayNQ_VQ_"+c+"_Bow"]==ahyy)frgGvzrbhg("IjRVST(NQ_VQ,"+c+")",d1.rvsg);};;d1.IjNavzSHC=d2(n,c){ine nq=d1;vs(c>nq.Cnaryf.yratgu)erghea;ine cna=nq.Cnaryf[c],nn=gehr,on=gehr,yn=gehr,en=gehr,cn=nq.Cnaryf[0],sf=nq.ShF,j=cn.Jvqgu,u=cn.Urvtug;vs(j=="100%"){j=sf;en=snyfr;yn=snyfr;}vs(u=="100%"){u=sf;nn=snyfr;on=snyfr;}vs(cn.YnY=="Y")yn=snyfr;vs(cn.YnY=="E")en=snyfr;vs(cn.GnY=="G")nn=snyfr;vs(cn.GnY=="O")on=snyfr;ine k=0,l=0;fjvgpu(nq.NshP%8){pnfr 0:oernx;pnfr 1:vs(nn)l=-sf;oernx;pnfr 2:k=j-sf;oernx;pnfr 3:vs(en)k=j;oernx;pnfr 4:k=j-sf;l=u-sf;oernx;pnfr 5:k=j-sf;vs(on)l=u;oernx;pnfr 6:l=u-sf;oernx;pnfr 7:vs(yn)k=-sf;l=u-sf;oernx;}vs(nq.NshP++ 0)||(nethzragf.yratgu==3&&bG>0))){pyrneGvzrbhg(cay.UgU);cay.UgU=frgGvzrbhg(cay.UvqrNpgvba,(nethzragf.yratgu==3?bG:cay.UvqrGvzrbhgInyhr));}};;d1.IjErfrgGvzrbhg=d2(n,c,bG){c=IjTc(n,c);IjPnapryGvzrbhg(n,c);riny("IjFgnegGvzrbhg(NQ_VQ,c"+(nethzragf.yratgu==3?",bG":"")+")");};;d1.IjErfrgNyyGvzrbhgf=d2(n){sbe(ine c=0;c]/g; + var str15 = 'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669316860113296&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzs-aowb_80=44132r503660'; + var str16 = 'FrffvbaQQS2=s6r4579npn4rn2135s904r0s75pp1o5334p6s6pospo12696; AFP_zp_dfctwzs-aowb_80=44132r503660; __hgzm=144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.965867047679498800.1231363638.1231363638.1231363638.1; __hgzo=144631658.0.10.1231363638; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669316860113296&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str17 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231363621014&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231363621014&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyr.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=348699119.1231363624&tn_fvq=1231363624&tn_uvq=895511034&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str18 = 'uggc://jjj.yrobapbva.se/yv'; + var str19 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669316860113296&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str20 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669316860113296&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + function runBlock3() { + for (var i = 0; i < 27; i++) { + 'e115'.replace(/[A-Za-z]/g, ''); + } + for (var i = 0; i < 23; i++) { + 'qvfcynl'.replace(re27, ''); + 'cbfvgvba'.replace(re27, ''); + } + for (var i = 0; i < 22; i++) { + 'unaqyr'.replace(re14, ''); + 'unaqyr'.replace(re15, ''); + 'yvar'.replace(re14, ''); + 'yvar'.replace(re15, ''); + 'cnerag puebzr6 fvatyr1 gno'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1 gno'.replace(re15, ''); + 'fyvqre'.replace(re14, ''); + 'fyvqre'.replace(re15, ''); + re28.exec(''); + } + for (var i = 0; i < 21; i++) { + 'uggc://jjj.zlfcnpr.pbz/'.replace(re12, ''); + re13.exec('uggc://jjj.zlfcnpr.pbz/'); + } + for (var i = 0; i < 20; i++) { + 'cntrivrj'.replace(re29, ''); + 'cntrivrj'.replace(re30, ''); + re19.exec('ynfg'); + re19.exec('ba svefg'); + re8.exec('VC=74.125.75.3'); + } + for (var i = 0; i < 19; i++) { + re31.exec('ra'); + } + for (var i = 0; i < 18; i++) { + str10.split(re32); + str11.split(re32); + str12.replace(re33, ''); + re8.exec('144631658.0.10.1231363570'); + re8.exec('144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.3426875219718084000.1231363570.1231363570.1231363570.1'); + re8.exec(str13); + re8.exec(str14); + re8.exec('__hgzn=144631658.3426875219718084000.1231363570.1231363570.1231363570.1'); + re8.exec('__hgzo=144631658.0.10.1231363570'); + re8.exec('__hgzm=144631658.1231363570.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str10); + re34.exec(str11); + } + for (var i = 0; i < 17; i++) { + str0.match(/zfvr/gi); + str0.match(/bcren/gi); + str15.split(re32); + str16.split(re32); + 'ohggba'.replace(re14, ''); + 'ohggba'.replace(re15, ''); + 'puvyq p1 svefg sylbhg pybfrq'.replace(re14, ''); + 'puvyq p1 svefg sylbhg pybfrq'.replace(re15, ''); + 'pvgvrf'.replace(re14, ''); + 'pvgvrf'.replace(re15, ''); + 'pybfrq'.replace(re14, ''); + 'pybfrq'.replace(re15, ''); + 'qry'.replace(re14, ''); + 'qry'.replace(re15, ''); + 'uqy_zba'.replace(re14, ''); + 'uqy_zba'.replace(re15, ''); + str17.replace(re33, ''); + str18.replace(/%3P/g, ''); + str18.replace(/%3R/g, ''); + str18.replace(/%3q/g, ''); + str18.replace(re35, ''); + 'yvaxyvfg16'.replace(re14, ''); + 'yvaxyvfg16'.replace(re15, ''); + 'zvahf'.replace(re14, ''); + 'zvahf'.replace(re15, ''); + 'bcra'.replace(re14, ''); + 'bcra'.replace(re15, ''); + 'cnerag puebzr5 fvatyr1 ps NU'.replace(re14, ''); + 'cnerag puebzr5 fvatyr1 ps NU'.replace(re15, ''); + 'cynlre'.replace(re14, ''); + 'cynlre'.replace(re15, ''); + 'cyhf'.replace(re14, ''); + 'cyhf'.replace(re15, ''); + 'cb_uqy'.replace(re14, ''); + 'cb_uqy'.replace(re15, ''); + 'hyJVzt'.replace(re14, ''); + 'hyJVzt'.replace(re15, ''); + re8.exec('144631658.0.10.1231363638'); + re8.exec('144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.965867047679498800.1231363638.1231363638.1231363638.1'); + re8.exec('4413268q3660'); + re8.exec('4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n'); + re8.exec('SbeprqRkcvengvba=633669321699093060'); + re8.exec('VC=74.125.75.20'); + re8.exec(str19); + re8.exec(str20); + re8.exec('AFP_zp_tfwsbrg-aowb_80=4413268q3660'); + re8.exec('FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n'); + re8.exec('__hgzn=144631658.965867047679498800.1231363638.1231363638.1231363638.1'); + re8.exec('__hgzo=144631658.0.10.1231363638'); + re8.exec('__hgzm=144631658.1231363638.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str15); + re34.exec(str16); + } + } + var re36 = /uers|fep|fryrpgrq/; + var re37 = /\s*([+>~\s])\s*([a-zA-Z#.*:\[])/g; + var re38 = /^(\w+|\*)$/; + var str21 = 'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58; ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669358527244818&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str22 = 'FrffvbaQQS2=s15q53p9n372sn76npr13o271n4s3p5r29p235746p908p58; __hgzm=144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.4127520630321984500.1231367822.1231367822.1231367822.1; __hgzo=144631658.0.10.1231367822; __hgzp=144631658; ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669358527244818&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str23 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231367803797&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367803797&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Szrffntvat.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1192552091.1231367807&tn_fvq=1231367807&tn_uvq=1155446857&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str24 = 'ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669358527244818&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str25 = 'ZFPhygher=VC=66.249.85.130&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669358527244818&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str26 = 'hy.ynat-fryrpgbe'; + var re39 = /\\/g; + var re40 = / /g; + var re41 = /\/\xc4\/t/; + var re42 = /\/\xd6\/t/; + var re43 = /\/\xdc\/t/; + var re44 = /\/\xdf\/t/; + var re45 = /\/\xe4\/t/; + var re46 = /\/\xf6\/t/; + var re47 = /\/\xfc\/t/; + var re48 = /\W/g; + var re49 = /uers|fep|fglyr/; + function runBlock4() { + for (var i = 0; i < 16; i++) { + ''.replace(/\*/g, ''); + /\bnpgvir\b/.exec('npgvir'); + /sversbk/i.exec(str0); + re36.exec('glcr'); + /zfvr/i.exec(str0); + /bcren/i.exec(str0); + } + for (var i = 0; i < 15; i++) { + str21.split(re32); + str22.split(re32); + 'uggc://ohyyrgvaf.zlfcnpr.pbz/vaqrk.psz'.replace(re12, ''); + str23.replace(re33, ''); + 'yv'.replace(re37, ''); + 'yv'.replace(re18, ''); + re8.exec('144631658.0.10.1231367822'); + re8.exec('144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.4127520630321984500.1231367822.1231367822.1231367822.1'); + re8.exec(str24); + re8.exec(str25); + re8.exec('__hgzn=144631658.4127520630321984500.1231367822.1231367822.1231367822.1'); + re8.exec('__hgzo=144631658.0.10.1231367822'); + re8.exec('__hgzm=144631658.1231367822.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str21); + re34.exec(str22); + /\.([\w-]+)|\[(\w+)(?:([!*^$~|]?=)["']?(.*?)["']?)?\]|:([\w-]+)(?:\(["']?(.*?)?["']?\)|$)/g.exec(str26); + re13.exec('uggc://ohyyrgvaf.zlfcnpr.pbz/vaqrk.psz'); + re38.exec('yv'); + } + for (var i = 0; i < 14; i++) { + ''.replace(re18, ''); + '9.0 e115'.replace(/(\s+e|\s+o[0-9]+)/, ''); + 'Funer guvf tnqtrg'.replace(//g, ''); + 'Funer guvf tnqtrg'.replace(re39, ''); + 'uggc://cebsvyrrqvg.zlfcnpr.pbz/vaqrk.psz'.replace(re12, ''); + 'grnfre'.replace(re40, ''); + 'grnfre'.replace(re41, ''); + 'grnfre'.replace(re42, ''); + 'grnfre'.replace(re43, ''); + 'grnfre'.replace(re44, ''); + 'grnfre'.replace(re45, ''); + 'grnfre'.replace(re46, ''); + 'grnfre'.replace(re47, ''); + 'grnfre'.replace(re48, ''); + re16.exec('znetva-gbc'); + re16.exec('cbfvgvba'); + re19.exec('gno1'); + re9.exec('qz'); + re9.exec('qg'); + re9.exec('zbqobk'); + re9.exec('zbqobkva'); + re9.exec('zbqgvgyr'); + re13.exec('uggc://cebsvyrrqvg.zlfcnpr.pbz/vaqrk.psz'); + re26.exec('/vt/znvytnqtrg'); + re49.exec('glcr'); + } + } + var re50 = /(?:^|\s+)fryrpgrq(?:\s+|$)/; + var re51 = /\&/g; + var re52 = /\+/g; + var re53 = /\?/g; + var re54 = /\t/g; + var re55 = /(\$\{nqiHey\})|(\$nqiHey\b)/g; + var re56 = /(\$\{cngu\})|(\$cngu\b)/g; + function runBlock5() { + for (var i = 0; i < 13; i++) { + 'purpx'.replace(re14, ''); + 'purpx'.replace(re15, ''); + 'pvgl'.replace(re14, ''); + 'pvgl'.replace(re15, ''); + 'qrpe fyvqrgrkg'.replace(re14, ''); + 'qrpe fyvqrgrkg'.replace(re15, ''); + 'svefg fryrpgrq'.replace(re14, ''); + 'svefg fryrpgrq'.replace(re15, ''); + 'uqy_rag'.replace(re14, ''); + 'uqy_rag'.replace(re15, ''); + 'vape fyvqrgrkg'.replace(re14, ''); + 'vape fyvqrgrkg'.replace(re15, ''); + 'vachggrkg QBZPbageby_cynprubyqre'.replace(re5, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq'.replace(re15, ''); + 'cb_guz'.replace(re14, ''); + 'cb_guz'.replace(re15, ''); + 'fhozvg'.replace(re14, ''); + 'fhozvg'.replace(re15, ''); + re50.exec(''); + /NccyrJroXvg\/([^\s]*)/.exec(str0); + /XUGZY/.exec(str0); + } + for (var i = 0; i < 12; i++) { + '${cebg}://${ubfg}${cngu}/${dz}'.replace(/(\$\{cebg\})|(\$cebg\b)/g, ''); + '1'.replace(re40, ''); + '1'.replace(re10, ''); + '1'.replace(re51, ''); + '1'.replace(re52, ''); + '1'.replace(re53, ''); + '1'.replace(re39, ''); + '1'.replace(re54, ''); + '9.0 e115'.replace(/^(.*)\..*$/, ''); + '9.0 e115'.replace(/^.*e(.*)$/, ''); + ''.replace(re55, ''); + ''.replace(re55, ''); + str1.replace(/^.*\s+(\S+\s+\S+$)/, ''); + 'tzk%2Subzrcntr%2Sfgneg%2Sqr%2S'.replace(re30, ''); + 'tzk'.replace(re30, ''); + 'uggc://${ubfg}${cngu}/${dz}'.replace(/(\$\{ubfg\})|(\$ubfg\b)/g, ''); + 'uggc://nqpyvrag.hvzfrei.arg${cngu}/${dz}'.replace(re56, ''); + 'uggc://nqpyvrag.hvzfrei.arg/wf.at/${dz}'.replace(/(\$\{dz\})|(\$dz\b)/g, ''); + 'frpgvba'.replace(re29, ''); + 'frpgvba'.replace(re30, ''); + 'fvgr'.replace(re29, ''); + 'fvgr'.replace(re30, ''); + 'fcrpvny'.replace(re29, ''); + 'fcrpvny'.replace(re30, ''); + re36.exec('anzr'); + /e/.exec('9.0 e115'); + } + } + var re57 = /##yv4##/gi; + var re58 = /##yv16##/gi; + var re59 = /##yv19##/gi; + var str27 = '##yv4##Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.##yv16##Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str28 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.##yv16##Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str29 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.##yv19##Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str30 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl.##OE## ##OE## ##N##Yrnea zber##/N##'; + var str31 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl. ##N##Yrnea zber##/N##'; + var str32 = 'Cbjreshy Zvpebfbsg grpuabybtl urycf svtug fcnz naq vzcebir frphevgl.Trg zber qbar gunaxf gb terngre rnfr naq fcrrq.Ybgf bs fgbentr (5 TO) - zber pbby fghss ba gur jnl. Yrnea zber##/N##'; + var str33 = 'Bar Jvaqbjf Yvir VQ trgf lbh vagb Ubgznvy, Zrffratre, Kobk YVIR \u2014 naq bgure cynprf lbh frr #~#argjbexybtb#~#'; + var re60 = /(?:^|\s+)bss(?:\s+|$)/; + var re61 = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/; + var re62 = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/; + var str34 = '${1}://${2}${3}${4}${5}'; + var str35 = ' O=6gnyg0g4znrrn&o=3&f=gc; Q=_lyu=K3bQZGSxnT4lZzD3OS9GNmV3ZGLkAQxRpTyxNmRlZmRmAmNkAQLRqTImqNZjOUEgpTjQnJ5xMKtgoN--; SCF=qy'; + function runBlock6() { + for (var i = 0; i < 11; i++) { + str27.replace(/##yv0##/gi, ''); + str27.replace(re57, ''); + str28.replace(re58, ''); + str29.replace(re59, ''); + str30.replace(/##\/o##/gi, ''); + str30.replace(/##\/v##/gi, ''); + str30.replace(/##\/h##/gi, ''); + str30.replace(/##o##/gi, ''); + str30.replace(/##oe##/gi, ''); + str30.replace(/##v##/gi, ''); + str30.replace(/##h##/gi, ''); + str31.replace(/##n##/gi, ''); + str32.replace(/##\/n##/gi, ''); + str33.replace(/#~#argjbexybtb#~#/g, ''); + / Zbovyr\//.exec(str0); + /##yv1##/gi.exec(str27); + /##yv10##/gi.exec(str28); + /##yv11##/gi.exec(str28); + /##yv12##/gi.exec(str28); + /##yv13##/gi.exec(str28); + /##yv14##/gi.exec(str28); + /##yv15##/gi.exec(str28); + re58.exec(str28); + /##yv17##/gi.exec(str29); + /##yv18##/gi.exec(str29); + re59.exec(str29); + /##yv2##/gi.exec(str27); + /##yv20##/gi.exec(str30); + /##yv21##/gi.exec(str30); + /##yv22##/gi.exec(str30); + /##yv23##/gi.exec(str30); + /##yv3##/gi.exec(str27); + re57.exec(str27); + /##yv5##/gi.exec(str28); + /##yv6##/gi.exec(str28); + /##yv7##/gi.exec(str28); + /##yv8##/gi.exec(str28); + /##yv9##/gi.exec(str28); + re8.exec('473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29'); + re8.exec('SbeprqRkcvengvba=633669325184628362'); + re8.exec('FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29'); + /AbxvnA[^\/]*/.exec(str0); + } + for (var i = 0; i < 10; i++) { + ' bss'.replace(/(?:^|\s+)bss(?:\s+|$)/g, ''); + str34.replace(/(\$\{0\})|(\$0\b)/g, ''); + str34.replace(/(\$\{1\})|(\$1\b)/g, ''); + str34.replace(/(\$\{pbzcyrgr\})|(\$pbzcyrgr\b)/g, ''); + str34.replace(/(\$\{sentzrag\})|(\$sentzrag\b)/g, ''); + str34.replace(/(\$\{ubfgcbeg\})|(\$ubfgcbeg\b)/g, ''); + str34.replace(re56, ''); + str34.replace(/(\$\{cebgbpby\})|(\$cebgbpby\b)/g, ''); + str34.replace(/(\$\{dhrel\})|(\$dhrel\b)/g, ''); + 'nqfvmr'.replace(re29, ''); + 'nqfvmr'.replace(re30, ''); + 'uggc://${2}${3}${4}${5}'.replace(/(\$\{2\})|(\$2\b)/g, ''); + 'uggc://wf.hv-cbegny.qr${3}${4}${5}'.replace(/(\$\{3\})|(\$3\b)/g, ''); + 'arjf'.replace(re40, ''); + 'arjf'.replace(re41, ''); + 'arjf'.replace(re42, ''); + 'arjf'.replace(re43, ''); + 'arjf'.replace(re44, ''); + 'arjf'.replace(re45, ''); + 'arjf'.replace(re46, ''); + 'arjf'.replace(re47, ''); + 'arjf'.replace(re48, ''); + / PC=i=(\d+)&oe=(.)/.exec(str35); + re60.exec(' '); + re60.exec(' bss'); + re60.exec(''); + re19.exec(' '); + re19.exec('svefg ba'); + re19.exec('ynfg vtaber'); + re19.exec('ba'); + re9.exec('scnq so '); + re9.exec('zrqvgobk'); + re9.exec('hsgy'); + re9.exec('lhv-h'); + /Fnsnev|Xbadhrebe|XUGZY/gi.exec(str0); + re61.exec('uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf'); + re62.exec('#Ybtva_rznvy'); + } + } + var re63 = /\{0\}/g; + var str36 = 'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n; ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669321699093060&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_tfwsbrg-aowb_80=4413268q3660'; + var str37 = 'FrffvbaQQS2=4ss747o77904333q374or84qrr1s9r0nprp8r5q81534o94n; AFP_zp_tfwsbrg-aowb_80=4413268q3660; __hgzm=144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.2294274870215848400.1231364074.1231364074.1231364074.1; __hgzo=144631658.0.10.1231364074; __hgzp=144631658; ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669321699093060&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str38 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231364057761&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231364057761&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Ssevraqf.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1667363813.1231364061&tn_fvq=1231364061&tn_uvq=1917563877&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str39 = 'ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669321699093060&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str40 = 'ZFPhygher=VC=74.125.75.20&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669321699093060&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + function runBlock7() { + for (var i = 0; i < 9; i++) { + '0'.replace(re40, ''); + '0'.replace(re10, ''); + '0'.replace(re51, ''); + '0'.replace(re52, ''); + '0'.replace(re53, ''); + '0'.replace(re39, ''); + '0'.replace(re54, ''); + 'Lrf'.replace(re40, ''); + 'Lrf'.replace(re10, ''); + 'Lrf'.replace(re51, ''); + 'Lrf'.replace(re52, ''); + 'Lrf'.replace(re53, ''); + 'Lrf'.replace(re39, ''); + 'Lrf'.replace(re54, ''); + } + for (var i = 0; i < 8; i++) { + 'Pybfr {0}'.replace(re63, ''); + 'Bcra {0}'.replace(re63, ''); + str36.split(re32); + str37.split(re32); + 'puvyq p1 svefg gnournqref'.replace(re14, ''); + 'puvyq p1 svefg gnournqref'.replace(re15, ''); + 'uqy_fcb'.replace(re14, ''); + 'uqy_fcb'.replace(re15, ''); + 'uvag'.replace(re14, ''); + 'uvag'.replace(re15, ''); + str38.replace(re33, ''); + 'yvfg'.replace(re14, ''); + 'yvfg'.replace(re15, ''); + 'at_bhgre'.replace(re30, ''); + 'cnerag puebzr5 qbhoyr2 NU'.replace(re14, ''); + 'cnerag puebzr5 qbhoyr2 NU'.replace(re15, ''); + 'cnerag puebzr5 dhnq5 ps NU osyvax zbarl'.replace(re14, ''); + 'cnerag puebzr5 dhnq5 ps NU osyvax zbarl'.replace(re15, ''); + 'cnerag puebzr6 fvatyr1'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1'.replace(re15, ''); + 'cb_qrs'.replace(re14, ''); + 'cb_qrs'.replace(re15, ''); + 'gnopbagrag'.replace(re14, ''); + 'gnopbagrag'.replace(re15, ''); + 'iv_svefg_gvzr'.replace(re30, ''); + /(^|.)(ronl|qri-ehf3.wbg)(|fgberf|zbgbef|yvirnhpgvbaf|jvxv|rkcerff|punggre).(pbz(|.nh|.pa|.ux|.zl|.ft|.oe|.zk)|pb(.hx|.xe|.am)|pn|qr|se|vg|ay|or|ng|pu|vr|va|rf|cy|cu|fr)$/i.exec('cntrf.ronl.pbz'); + re8.exec('144631658.0.10.1231364074'); + re8.exec('144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.2294274870215848400.1231364074.1231364074.1231364074.1'); + re8.exec('4413241q3660'); + re8.exec('SbeprqRkcvengvba=633669357391353591'); + re8.exec(str39); + re8.exec(str40); + re8.exec('AFP_zp_kkk-gdzogv_80=4413241q3660'); + re8.exec('FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7'); + re8.exec('__hgzn=144631658.2294274870215848400.1231364074.1231364074.1231364074.1'); + re8.exec('__hgzo=144631658.0.10.1231364074'); + re8.exec('__hgzm=144631658.1231364074.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7'); + re34.exec(str36); + re34.exec(str37); + } + } + var re64 = /\b[a-z]/g; + var re65 = /^uggc:\/\//; + var re66 = /(?:^|\s+)qvfnoyrq(?:\s+|$)/; + var str41 = 'uggc://cebsvyr.zlfcnpr.pbz/Zbqhyrf/Nccyvpngvbaf/Cntrf/Pnainf.nfck'; + function runBlock8() { + for (var i = 0; i < 7; i++) { + str1.match(/\d+/g); + 'nsgre'.replace(re64, ''); + 'orsber'.replace(re64, ''); + 'obggbz'.replace(re64, ''); + 'ohvygva_jrngure.kzy'.replace(re65, ''); + 'ohggba'.replace(re37, ''); + 'ohggba'.replace(re18, ''); + 'qngrgvzr.kzy'.replace(re65, ''); + 'uggc://eff.paa.pbz/eff/paa_gbcfgbevrf.eff'.replace(re65, ''); + 'vachg'.replace(re37, ''); + 'vachg'.replace(re18, ''); + 'vafvqr'.replace(re64, ''); + 'cbvagre'.replace(re27, ''); + 'cbfvgvba'.replace(/[A-Z]/g, ''); + 'gbc'.replace(re27, ''); + 'gbc'.replace(re64, ''); + 'hy'.replace(re37, ''); + 'hy'.replace(re18, ''); + str26.replace(re37, ''); + str26.replace(re18, ''); + 'lbhghor_vtbbtyr/i2/lbhghor.kzy'.replace(re65, ''); + 'm-vaqrk'.replace(re27, ''); + /#([\w-]+)/.exec(str26); + re16.exec('urvtug'); + re16.exec('znetvaGbc'); + re16.exec('jvqgu'); + re19.exec('gno0 svefg ba'); + re19.exec('gno0 ba'); + re19.exec('gno4 ynfg'); + re19.exec('gno4'); + re19.exec('gno5'); + re19.exec('gno6'); + re19.exec('gno7'); + re19.exec('gno8'); + /NqborNVE\/([^\s]*)/.exec(str0); + /NccyrJroXvg\/([^ ]*)/.exec(str0); + /XUGZY/gi.exec(str0); + /^(?:obql|ugzy)$/i.exec('YV'); + re38.exec('ohggba'); + re38.exec('vachg'); + re38.exec('hy'); + re38.exec(str26); + /^(\w+|\*)/.exec(str26); + /znp|jva|yvahk/i.exec('Jva32'); + /eton?\([\d\s,]+\)/.exec('fgngvp'); + } + for (var i = 0; i < 6; i++) { + ''.replace(/\r/g, ''); + '/'.replace(re40, ''); + '/'.replace(re10, ''); + '/'.replace(re51, ''); + '/'.replace(re52, ''); + '/'.replace(re53, ''); + '/'.replace(re39, ''); + '/'.replace(re54, ''); + 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/{0}?[NDO]&{1}&{2}&[NDR]'.replace(re63, ''); + str41.replace(re12, ''); + 'uggc://jjj.snprobbx.pbz/fepu.cuc'.replace(re23, ''); + 'freivpr'.replace(re40, ''); + 'freivpr'.replace(re41, ''); + 'freivpr'.replace(re42, ''); + 'freivpr'.replace(re43, ''); + 'freivpr'.replace(re44, ''); + 'freivpr'.replace(re45, ''); + 'freivpr'.replace(re46, ''); + 'freivpr'.replace(re47, ''); + 'freivpr'.replace(re48, ''); + /((ZFVR\s+([6-9]|\d\d)\.))/.exec(str0); + re66.exec(''); + re50.exec('fryrpgrq'); + re8.exec('8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn'); + re8.exec('SbeprqRkcvengvba=633669340386893867'); + re8.exec('VC=74.125.75.17'); + re8.exec('FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn'); + /Xbadhrebe|Fnsnev|XUGZY/.exec(str0); + re13.exec(str41); + re49.exec('unfsbphf'); + } + } + var re67 = /zrah_byq/g; + var str42 = 'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669325184628362&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str43 = 'FrffvbaQQS2=473qq1rs0n2r70q9qo1pq48n021s9468ron90nps048p4p29; __hgzm=144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.3931862196947939300.1231364380.1231364380.1231364380.1; __hgzo=144631658.0.10.1231364380; __hgzp=144631658; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669325184628362&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str44 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_vzntrf_wf&qg=1231364373088&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231364373088&punaary=svz_zlfcnpr_hfre-ivrj-pbzzragf%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Spbzzrag.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1158737789.1231364375&tn_fvq=1231364375&tn_uvq=415520832&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str45 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669325184628362&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str46 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669325184628362&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var re68 = /^([#.]?)((?:[\w\u0128-\uffff*_-]|\\.)*)/; + var re69 = /\{1\}/g; + var re70 = /\s+/; + var re71 = /(\$\{4\})|(\$4\b)/g; + var re72 = /(\$\{5\})|(\$5\b)/g; + var re73 = /\{2\}/g; + var re74 = /[^+>] [^+>]/; + var re75 = /\bucpyv\s*=\s*([^;]*)/i; + var re76 = /\bucuvqr\s*=\s*([^;]*)/i; + var re77 = /\bucfie\s*=\s*([^;]*)/i; + var re78 = /\bhfucjrn\s*=\s*([^;]*)/i; + var re79 = /\bmvc\s*=\s*([^;]*)/i; + var re80 = /^((?:[\w\u0128-\uffff*_-]|\\.)+)(#)((?:[\w\u0128-\uffff*_-]|\\.)+)/; + var re81 = /^([>+~])\s*(\w*)/i; + var re82 = /^>\s*((?:[\w\u0128-\uffff*_-]|\\.)+)/; + var re83 = /^[\s[]?shapgvba/; + var re84 = /v\/g.tvs#(.*)/i; + var str47 = '#Zbq-Vasb-Vasb-WninFpevcgUvag'; + var str48 = ',n.svryqOgaPnapry'; + var str49 = 'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669357391353591&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_kkk-gdzogv_80=4413241q3660'; + var str50 = 'FrffvbaQQS2=p98s8o9q42nr21or1r61pqorn1n002nsss569635984s6qp7; AFP_zp_kkk-gdzogv_80=4413241q3660; AFP_zp_kkk-aowb_80=4413235p3660; __hgzm=144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.2770915348920628700.1231367708.1231367708.1231367708.1; __hgzo=144631658.0.10.1231367708; __hgzp=144631658; ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669357391353591&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str51 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231367691141&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367691141&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Sjjj.zlfcnpr.pbz%2S&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=320757904.1231367694&tn_fvq=1231367694&tn_uvq=1758792003&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str52 = 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55332979829981?[NDO]&aqu=1&g=7%2S0%2S2009%2014%3N38%3N42%203%20480&af=zfacbegny&cntrAnzr=HF%20UCZFSGJ&t=uggc%3N%2S%2Sjjj.zfa.pbz%2S&f=1024k768&p=24&x=L&oj=994&ou=634&uc=A&{2}&[NDR]'; + var str53 = 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq qbhoyr2 ps'; + var str54 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669357391353591&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str55 = 'ZFPhygher=VC=74.125.75.3&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669357391353591&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str56 = 'ne;ng;nh;or;oe;pn;pu;py;pa;qr;qx;rf;sv;se;to;ux;vq;vr;va;vg;wc;xe;zk;zl;ay;ab;am;cu;cy;cg;eh;fr;ft;gu;ge;gj;mn;'; + var str57 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886&GHVQ=1'; + var str58 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886'; + var str59 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886; mvc=m:94043|yn:37.4154|yb:-122.0585|p:HF|ue:1'; + var str60 = 'ZP1=I=3&THVQ=6nnpr9q661804s33nnop45nosqp17q85; zu=ZFSG; PHYGHER=RA-HF; SyvtugTebhcVq=97; SyvtugVq=OnfrCntr; ucfie=Z:5|S:5|G:5|R:5|Q:oyh|J:S; ucpyv=J.U|Y.|F.|E.|H.Y|P.|U.; hfucjrn=jp:HFPN0746; ZHVQ=Q783SN9O14054831N4869R51P0SO8886; mvc=m:94043|yn:37.4154|yb:-122.0585|p:HF'; + var str61 = 'uggc://gx2.fgp.f-zfa.pbz/oe/uc/11/ra-hf/pff/v/g.tvs#uggc://gx2.fgo.f-zfa.pbz/v/29/4RQP4969777N048NPS4RRR3PO2S7S.wct'; + var str62 = 'uggc://gx2.fgp.f-zfa.pbz/oe/uc/11/ra-hf/pff/v/g.tvs#uggc://gx2.fgo.f-zfa.pbz/v/OQ/63NP9O94NS5OQP1249Q9S1ROP7NS3.wct'; + var str63 = 'zbmvyyn/5.0 (jvaqbjf; h; jvaqbjf ag 5.1; ra-hf) nccyrjroxvg/528.9 (xugzy, yvxr trpxb) puebzr/2.0.157.0 fnsnev/528.9'; + function runBlock9() { + for (var i = 0; i < 5; i++) { + str42.split(re32); + str43.split(re32); + 'svz_zlfcnpr_hfre-ivrj-pbzzragf,svz_zlfcnpr_havgrq-fgngrf'.split(re20); + str44.replace(re33, ''); + 'zrah_arj zrah_arj_gbttyr zrah_gbttyr'.replace(re67, ''); + 'zrah_byq zrah_byq_gbttyr zrah_gbttyr'.replace(re67, ''); + re8.exec('102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98'); + re8.exec('144631658.0.10.1231364380'); + re8.exec('144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.3931862196947939300.1231364380.1231364380.1231364380.1'); + re8.exec('441326q33660'); + re8.exec('SbeprqRkcvengvba=633669341278771470'); + re8.exec(str45); + re8.exec(str46); + re8.exec('AFP_zp_dfctwzssrwh-aowb_80=441326q33660'); + re8.exec('FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98'); + re8.exec('__hgzn=144631658.3931862196947939300.1231364380.1231364380.1231364380.1'); + re8.exec('__hgzo=144631658.0.10.1231364380'); + re8.exec('__hgzm=144631658.1231364380.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + } + for (var i = 0; i < 4; i++) { + ' yvfg1'.replace(re14, ''); + ' yvfg1'.replace(re15, ''); + ' yvfg2'.replace(re14, ''); + ' yvfg2'.replace(re15, ''); + ' frneputebhc1'.replace(re14, ''); + ' frneputebhc1'.replace(re15, ''); + str47.replace(re68, ''); + str47.replace(re18, ''); + ''.replace(/&/g, ''); + ''.replace(re35, ''); + '(..-{0})(\|(\d+)|)'.replace(re63, ''); + str48.replace(re18, ''); + '//vzt.jro.qr/vij/FC/${cngu}/${anzr}/${inyhr}?gf=${abj}'.replace(re56, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/${anzr}/${inyhr}?gf=${abj}'.replace(/(\$\{anzr\})|(\$anzr\b)/g, ''); + 'Jvaqbjf Yvir Ubgznvy{1}'.replace(re69, ''); + '{0}{1}'.replace(re63, ''); + '{1}'.replace(re69, ''); + '{1}'.replace(re63, ''); + 'Vzntrf'.replace(re15, ''); + 'ZFA'.replace(re15, ''); + 'Zncf'.replace(re15, ''); + 'Zbq-Vasb-Vasb-WninFpevcgUvag'.replace(re39, ''); + 'Arjf'.replace(re15, ''); + str49.split(re32); + str50.split(re32); + 'Ivqrb'.replace(re15, ''); + 'Jro'.replace(re15, ''); + 'n'.replace(re39, ''); + 'nwnkFgneg'.split(re70); + 'nwnkFgbc'.split(re70); + 'ovaq'.replace(re14, ''); + 'ovaq'.replace(re15, ''); + 'oevatf lbh zber. Zber fcnpr (5TO), zber frphevgl, fgvyy serr.'.replace(re63, ''); + 'puvyq p1 svefg qrpx'.replace(re14, ''); + 'puvyq p1 svefg qrpx'.replace(re15, ''); + 'puvyq p1 svefg qbhoyr2'.replace(re14, ''); + 'puvyq p1 svefg qbhoyr2'.replace(re15, ''); + 'puvyq p2 ynfg'.replace(re14, ''); + 'puvyq p2 ynfg'.replace(re15, ''); + 'puvyq p2'.replace(re14, ''); + 'puvyq p2'.replace(re15, ''); + 'puvyq p3'.replace(re14, ''); + 'puvyq p3'.replace(re15, ''); + 'puvyq p4 ynfg'.replace(re14, ''); + 'puvyq p4 ynfg'.replace(re15, ''); + 'pbclevtug'.replace(re14, ''); + 'pbclevtug'.replace(re15, ''); + 'qZFAZR_1'.replace(re14, ''); + 'qZFAZR_1'.replace(re15, ''); + 'qbhoyr2 ps'.replace(re14, ''); + 'qbhoyr2 ps'.replace(re15, ''); + 'qbhoyr2'.replace(re14, ''); + 'qbhoyr2'.replace(re15, ''); + 'uqy_arj'.replace(re14, ''); + 'uqy_arj'.replace(re15, ''); + 'uc_fubccvatobk'.replace(re30, ''); + 'ugzy%2Rvq'.replace(re29, ''); + 'ugzy%2Rvq'.replace(re30, ''); + str51.replace(re33, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/cebgbglcr.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/cebgbglcr.wf${5}'.replace(re72, ''); + str52.replace(re73, ''); + 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55332979829981?[NDO]&{1}&{2}&[NDR]'.replace(re69, ''); + 'vztZFSG'.replace(re14, ''); + 'vztZFSG'.replace(re15, ''); + 'zfasbbg1 ps'.replace(re14, ''); + 'zfasbbg1 ps'.replace(re15, ''); + str53.replace(re14, ''); + str53.replace(re15, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq'.replace(re14, ''); + 'cnerag puebzr6 fvatyr1 gno fryrpgrq ovaq'.replace(re15, ''); + 'cevznel'.replace(re14, ''); + 'cevznel'.replace(re15, ''); + 'erpgnatyr'.replace(re30, ''); + 'frpbaqnel'.replace(re14, ''); + 'frpbaqnel'.replace(re15, ''); + 'haybnq'.split(re70); + '{0}{1}1'.replace(re63, ''); + '|{1}1'.replace(re69, ''); + /(..-HF)(\|(\d+)|)/i.exec('xb-xe,ra-va,gu-gu'); + re4.exec('/ZlFcnprNccf/NccPnainf,45000012'); + re8.exec('144631658.0.10.1231367708'); + re8.exec('144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.2770915348920628700.1231367708.1231367708.1231367708.1'); + re8.exec('4413235p3660'); + re8.exec('441327q73660'); + re8.exec('9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473'); + re8.exec('SbeprqRkcvengvba=633669350559478880'); + re8.exec(str54); + re8.exec(str55); + re8.exec('AFP_zp_dfctwzs-aowb_80=441327q73660'); + re8.exec('AFP_zp_kkk-aowb_80=4413235p3660'); + re8.exec('FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473'); + re8.exec('__hgzn=144631658.2770915348920628700.1231367708.1231367708.1231367708.1'); + re8.exec('__hgzo=144631658.0.10.1231367708'); + re8.exec('__hgzm=144631658.1231367708.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str49); + re34.exec(str50); + /ZFVR\s+5[.]01/.exec(str0); + /HF(?=;)/i.exec(str56); + re74.exec(str47); + re28.exec('svefg npgvir svefgNpgvir'); + re28.exec('ynfg'); + /\bp:(..)/i.exec('m:94043|yn:37.4154|yb:-122.0585|p:HF'); + re75.exec(str57); + re75.exec(str58); + re76.exec(str57); + re76.exec(str58); + re77.exec(str57); + re77.exec(str58); + /\bhfucce\s*=\s*([^;]*)/i.exec(str59); + re78.exec(str57); + re78.exec(str58); + /\bjci\s*=\s*([^;]*)/i.exec(str59); + re79.exec(str58); + re79.exec(str60); + re79.exec(str59); + /\|p:([a-z]{2})/i.exec('m:94043|yn:37.4154|yb:-122.0585|p:HF|ue:1'); + re80.exec(str47); + re61.exec('cebgbglcr.wf'); + re68.exec(str47); + re81.exec(str47); + re82.exec(str47); + /^Fubpxjnir Synfu (\d)/.exec(str1); + /^Fubpxjnir Synfu (\d+)/.exec(str1); + re83.exec('[bowrpg tybony]'); + re62.exec(str47); + re84.exec(str61); + re84.exec(str62); + /jroxvg/.exec(str63); + } + } + var re85 = /eaq_zbqobkva/; + var str64 = '1231365729213'; + var str65 = '74.125.75.3-1057165600.29978900'; + var str66 = '74.125.75.3-1057165600.29978900.1231365730214'; + var str67 = 'Frnepu%20Zvpebfbsg.pbz'; + var str68 = 'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn; ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669340386893867&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str69 = 'FrffvbaQQS2=8sqq78r9n442851q565599o401385sp3s04r92rnn7o19ssn; __hgzm=144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1877536177953918500.1231365779.1231365779.1231365779.1; __hgzo=144631658.0.10.1231365779; __hgzp=144631658; ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669340386893867&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str70 = 'I=3%26THVQ=757q3ss871q44o7o805n8113n5p72q52'; + var str71 = 'I=3&THVQ=757q3ss871q44o7o805n8113n5p72q52'; + var str72 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231365765292&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231365765292&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Sohyyrgvaf.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1579793869.1231365768&tn_fvq=1231365768&tn_uvq=2056210897&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str73 = 'frnepu.zvpebfbsg.pbz'; + var str74 = 'frnepu.zvpebfbsg.pbz/'; + var str75 = 'ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669340386893867&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str76 = 'ZFPhygher=VC=74.125.75.17&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669340386893867&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + function runBlock10() { + for (var i = 0; i < 3; i++) { + '%3Szxg=ra-HF'.replace(re39, ''); + '-8'.replace(re40, ''); + '-8'.replace(re10, ''); + '-8'.replace(re51, ''); + '-8'.replace(re52, ''); + '-8'.replace(re53, ''); + '-8'.replace(re39, ''); + '-8'.replace(re54, ''); + '1.5'.replace(re40, ''); + '1.5'.replace(re10, ''); + '1.5'.replace(re51, ''); + '1.5'.replace(re52, ''); + '1.5'.replace(re53, ''); + '1.5'.replace(re39, ''); + '1.5'.replace(re54, ''); + '1024k768'.replace(re40, ''); + '1024k768'.replace(re10, ''); + '1024k768'.replace(re51, ''); + '1024k768'.replace(re52, ''); + '1024k768'.replace(re53, ''); + '1024k768'.replace(re39, ''); + '1024k768'.replace(re54, ''); + str64.replace(re40, ''); + str64.replace(re10, ''); + str64.replace(re51, ''); + str64.replace(re52, ''); + str64.replace(re53, ''); + str64.replace(re39, ''); + str64.replace(re54, ''); + '14'.replace(re40, ''); + '14'.replace(re10, ''); + '14'.replace(re51, ''); + '14'.replace(re52, ''); + '14'.replace(re53, ''); + '14'.replace(re39, ''); + '14'.replace(re54, ''); + '24'.replace(re40, ''); + '24'.replace(re10, ''); + '24'.replace(re51, ''); + '24'.replace(re52, ''); + '24'.replace(re53, ''); + '24'.replace(re39, ''); + '24'.replace(re54, ''); + str65.replace(re40, ''); + str65.replace(re10, ''); + str65.replace(re51, ''); + str65.replace(re52, ''); + str65.replace(re53, ''); + str65.replace(re39, ''); + str65.replace(re54, ''); + str66.replace(re40, ''); + str66.replace(re10, ''); + str66.replace(re51, ''); + str66.replace(re52, ''); + str66.replace(re53, ''); + str66.replace(re39, ''); + str66.replace(re54, ''); + '9.0'.replace(re40, ''); + '9.0'.replace(re10, ''); + '9.0'.replace(re51, ''); + '9.0'.replace(re52, ''); + '9.0'.replace(re53, ''); + '9.0'.replace(re39, ''); + '9.0'.replace(re54, ''); + '994k634'.replace(re40, ''); + '994k634'.replace(re10, ''); + '994k634'.replace(re51, ''); + '994k634'.replace(re52, ''); + '994k634'.replace(re53, ''); + '994k634'.replace(re39, ''); + '994k634'.replace(re54, ''); + '?zxg=ra-HF'.replace(re40, ''); + '?zxg=ra-HF'.replace(re10, ''); + '?zxg=ra-HF'.replace(re51, ''); + '?zxg=ra-HF'.replace(re52, ''); + '?zxg=ra-HF'.replace(re53, ''); + '?zxg=ra-HF'.replace(re54, ''); + 'PAA.pbz'.replace(re25, ''); + 'PAA.pbz'.replace(re12, ''); + 'PAA.pbz'.replace(re39, ''); + 'Qngr & Gvzr'.replace(re25, ''); + 'Qngr & Gvzr'.replace(re12, ''); + 'Qngr & Gvzr'.replace(re39, ''); + 'Frnepu Zvpebfbsg.pbz'.replace(re40, ''); + 'Frnepu Zvpebfbsg.pbz'.replace(re54, ''); + str67.replace(re10, ''); + str67.replace(re51, ''); + str67.replace(re52, ''); + str67.replace(re53, ''); + str67.replace(re39, ''); + str68.split(re32); + str69.split(re32); + str70.replace(re52, ''); + str70.replace(re53, ''); + str70.replace(re39, ''); + str71.replace(re40, ''); + str71.replace(re10, ''); + str71.replace(re51, ''); + str71.replace(re54, ''); + 'Jrngure'.replace(re25, ''); + 'Jrngure'.replace(re12, ''); + 'Jrngure'.replace(re39, ''); + 'LbhGhor'.replace(re25, ''); + 'LbhGhor'.replace(re12, ''); + 'LbhGhor'.replace(re39, ''); + str72.replace(re33, ''); + 'erzbgr_vsenzr_1'.replace(/^erzbgr_vsenzr_/, ''); + str73.replace(re40, ''); + str73.replace(re10, ''); + str73.replace(re51, ''); + str73.replace(re52, ''); + str73.replace(re53, ''); + str73.replace(re39, ''); + str73.replace(re54, ''); + str74.replace(re40, ''); + str74.replace(re10, ''); + str74.replace(re51, ''); + str74.replace(re52, ''); + str74.replace(re53, ''); + str74.replace(re39, ''); + str74.replace(re54, ''); + 'lhv-h'.replace(/\-/g, ''); + re9.exec('p'); + re9.exec('qz p'); + re9.exec('zbqynory'); + re9.exec('lhv-h svefg'); + re8.exec('144631658.0.10.1231365779'); + re8.exec('144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.1877536177953918500.1231365779.1231365779.1231365779.1'); + re8.exec(str75); + re8.exec(str76); + re8.exec('__hgzn=144631658.1877536177953918500.1231365779.1231365779.1231365779.1'); + re8.exec('__hgzo=144631658.0.10.1231365779'); + re8.exec('__hgzm=144631658.1231365779.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str68); + re34.exec(str69); + /^$/.exec(''); + re31.exec('qr'); + /^znk\d+$/.exec(''); + /^zva\d+$/.exec(''); + /^erfgber$/.exec(''); + re85.exec('zbqobkva zbqobk_abcnqqvat '); + re85.exec('zbqgvgyr'); + re85.exec('eaq_zbqobkva '); + re85.exec('eaq_zbqgvgyr '); + /frpgvba\d+_pbagragf/.exec('obggbz_ani'); + } + } + var re86 = /;\s*/; + var re87 = /(\$\{inyhr\})|(\$inyhr\b)/g; + var re88 = /(\$\{abj\})|(\$abj\b)/g; + var re89 = /\s+$/; + var re90 = /^\s+/; + var re91 = /(\\\"|\x00-|\x1f|\x7f-|\x9f|\u00ad|\u0600-|\u0604|\u070f|\u17b4|\u17b5|\u200c-|\u200f|\u2028-|\u202f|\u2060-|\u206f|\ufeff|\ufff0-|\uffff)/g; + var re92 = /^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/; + var re93 = /^([:.#]*)((?:[\w\u0128-\uffff*_-]|\\.)+)/; + var re94 = /^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/; + var str77 = '#fubhgobk .pybfr'; + var str78 = 'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669341278771470&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzssrwh-aowb_80=441326q33660'; + var str79 = 'FrffvbaQQS2=102n9o0o9pq60132qn0337rr867p75953502q2s27s2s5r98; AFP_zp_dfctwzssrwh-aowb_80=441326q33660; __hgzm=144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1670816052019209000.1231365869.1231365869.1231365869.1; __hgzo=144631658.0.10.1231365869; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669341278771470&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str80 = 'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669350559478880&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R=; AFP_zp_dfctwzs-aowb_80=441327q73660'; + var str81 = 'FrffvbaQQS2=9995p6rp12rrnr893334ro7nq70o7p64p69rqn844prs1473; AFP_zp_dfctwzs-aowb_80=441327q73660; __hgzm=144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar); __hgzn=144631658.1796080716621419500.1231367054.1231367054.1231367054.1; __hgzo=144631658.0.10.1231367054; __hgzp=144631658; ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669350559478880&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str82 = '[glcr=fhozvg]'; + var str83 = 'n.svryqOga,n.svryqOgaPnapry'; + var str84 = 'n.svryqOgaPnapry'; + var str85 = 'oyvpxchaxg'; + var str86 = 'qvi.bow-nppbeqvba qg'; + var str87 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_nccf_wf&qg=1231367052227&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231367052227&punaary=svz_zlfcnpr_nccf-pnainf%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyr.zlfcnpr.pbz%2SZbqhyrf%2SNccyvpngvbaf%2SCntrf%2SPnainf.nfck&nq_glcr=grkg&rvq=6083027&rn=0&sez=1&tn_ivq=716357910.1231367056&tn_fvq=1231367056&tn_uvq=1387206491&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str88 = 'uggc://tbbtyrnqf.t.qbhoyrpyvpx.arg/cntrnq/nqf?pyvrag=pn-svz_zlfcnpr_zlfcnpr-ubzrcntr_wf&qg=1231365851658&uy=ra&nqfnsr=uvtu&br=hgs8&ahz_nqf=4&bhgchg=wf&nqgrfg=bss&pbeeryngbe=1231365851658&punaary=svz_zlfcnpr_ubzrcntr_abgybttrqva%2Psvz_zlfcnpr_aba_HTP%2Psvz_zlfcnpr_havgrq-fgngrf&hey=uggc%3N%2S%2Scebsvyrrqvg.zlfcnpr.pbz%2Svaqrk.psz&nq_glcr=grkg&rvq=6083027&rn=0&sez=0&tn_ivq=1979828129.1231365855&tn_fvq=1231365855&tn_uvq=2085229649&synfu=9.0.115&h_u=768&h_j=1024&h_nu=738&h_nj=1024&h_pq=24&h_gm=-480&h_uvf=2&h_wnin=gehr&h_acyht=7&h_azvzr=22'; + var str89 = 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55023338617756?[NDO]&aqu=1&g=7%2S0%2S2009%2014%3N12%3N47%203%20480&af=zfacbegny&cntrAnzr=HF%20UCZFSGJ&t=uggc%3N%2S%2Sjjj.zfa.pbz%2S&f=0k0&p=43835816&x=A&oj=994&ou=634&uc=A&{2}&[NDR]'; + var str90 = 'zrgn[anzr=nwnkHey]'; + var str91 = 'anpuevpugra'; + var str92 = 'b oS={\'oT\':1.1};x $8n(B){z(B!=o9)};x $S(B){O(!$8n(B))z A;O(B.4L)z\'T\';b S=7t B;O(S==\'2P\'&&B.p4){23(B.7f){12 1:z\'T\';12 3:z/\S/.2g(B.8M)?\'ox\':\'oh\'}}O(S==\'2P\'||S==\'x\'){23(B.nE){12 2V:z\'1O\';12 7I:z\'5a\';12 18:z\'4B\'}O(7t B.I==\'4F\'){O(B.3u)z\'pG\';O(B.8e)z\'1p\'}}z S};x $2p(){b 4E={};Z(b v=0;v<1p.I;v++){Z(b X 1o 1p[v]){b nc=1p[v][X];b 6E=4E[X];O(6E&&$S(nc)==\'2P\'&&$S(6E)==\'2P\')4E[X]=$2p(6E,nc);17 4E[X]=nc}}z 4E};b $E=7p.E=x(){b 1d=1p;O(!1d[1])1d=[p,1d[0]];Z(b X 1o 1d[1])1d[0][X]=1d[1][X];z 1d[0]};b $4D=7p.pJ=x(){Z(b v=0,y=1p.I;v-1:p.3F(2R)>-1},nX:x(){z p.3y(/([.*+?^${}()|[\]\/\\])/t,\'\\$1\')}});2V.E({5V:x(1O){O(p.I<3)z A;O(p.I==4&&p[3]==0&&!1O)z\'p5\';b 3P=[];Z(b v=0;v<3;v++){b 52=(p[v]-0).4h(16);3P.1x((52.I==1)?\'0\'+52:52)}z 1O?3P:\'#\'+3P.2u(\'\')},5U:x(1O){O(p.I!=3)z A;b 1i=[];Z(b v=0;v<3;v++){1i.1x(5K((p[v].I==1)?p[v]+p[v]:p[v],16))}z 1O?1i:\'1i(\'+1i.2u(\',\')+\')\'}});7F.E({3n:x(P){b J=p;P=$2p({\'L\':J,\'V\':A,\'1p\':1S,\'2x\':A,\'4s\':A,\'6W\':A},P);O($2O(P.1p)&&$S(P.1p)!=\'1O\')P.1p=[P.1p];z x(V){b 1d;O(P.V){V=V||H.V;1d=[(P.V===1r)?V:Y P.V(V)];O(P.1p)1d.E(P.1p)}17 1d=P.1p||1p;b 3C=x(){z J.3H($5S(P'; + var str93 = 'hagreunyghat'; + var str94 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669341278771470&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str95 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&Pbhagel=IIZ%3Q&SbeprqRkcvengvba=633669350559478880&gvzrMbar=-8&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R%3Q'; + var str96 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669341278771470&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str97 = 'ZFPhygher=VC=74.125.75.1&VCPhygher=ra-HF&CersreerqPhygher=ra-HF&CersreerqPhygherCraqvat=&Pbhagel=IIZ=&SbeprqRkcvengvba=633669350559478880&gvzrMbar=0&HFEYBP=DKWyLHAiMTH9AwHjWxAcqUx9GJ91oaEunJ4tIzyyqlMQo3IhqUW5D29xMG1IHlMQo3IhqUW5GzSgMG1Iozy0MJDtH3EuqTImWxEgLHAiMTH9BQN3WxkuqTy0qJEyCGZ3YwDkBGVzGT9hM2y0qJEyCF0kZwVhZQH3APMDo3A0LJkQo2EyCGx0ZQDmWyWyM2yiox5uoJH9D0R='; + var str98 = 'shapgvba (){Cuk.Nccyvpngvba.Frghc.Pber();Cuk.Nccyvpngvba.Frghc.Nwnk();Cuk.Nccyvpngvba.Frghc.Synfu();Cuk.Nccyvpngvba.Frghc.Zbqhyrf()}'; + function runBlock11() { + for (var i = 0; i < 2; i++) { + ' .pybfr'.replace(re18, ''); + ' n.svryqOgaPnapry'.replace(re18, ''); + ' qg'.replace(re18, ''); + str77.replace(re68, ''); + str77.replace(re18, ''); + ''.replace(re39, ''); + ''.replace(/^/, ''); + ''.split(re86); + '*'.replace(re39, ''); + '*'.replace(re68, ''); + '*'.replace(re18, ''); + '.pybfr'.replace(re68, ''); + '.pybfr'.replace(re18, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/fperra/${inyhr}?gf=${abj}'.replace(re87, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/fperra/1024?gf=${abj}'.replace(re88, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/jvafvmr/${inyhr}?gf=${abj}'.replace(re87, ''); + '//vzt.jro.qr/vij/FC/tzk_uc/jvafvmr/992/608?gf=${abj}'.replace(re88, ''); + '300k120'.replace(re30, ''); + '300k250'.replace(re30, ''); + '310k120'.replace(re30, ''); + '310k170'.replace(re30, ''); + '310k250'.replace(re30, ''); + '9.0 e115'.replace(/^.*\.(.*)\s.*$/, ''); + 'Nppbeqvba'.replace(re2, ''); + 'Nxghryy\x0a'.replace(re89, ''); + 'Nxghryy\x0a'.replace(re90, ''); + 'Nccyvpngvba'.replace(re2, ''); + 'Oyvpxchaxg\x0a'.replace(re89, ''); + 'Oyvpxchaxg\x0a'.replace(re90, ''); + 'Svanamra\x0a'.replace(re89, ''); + 'Svanamra\x0a'.replace(re90, ''); + 'Tnzrf\x0a'.replace(re89, ''); + 'Tnzrf\x0a'.replace(re90, ''); + 'Ubebfxbc\x0a'.replace(re89, ''); + 'Ubebfxbc\x0a'.replace(re90, ''); + 'Xvab\x0a'.replace(re89, ''); + 'Xvab\x0a'.replace(re90, ''); + 'Zbqhyrf'.replace(re2, ''); + 'Zhfvx\x0a'.replace(re89, ''); + 'Zhfvx\x0a'.replace(re90, ''); + 'Anpuevpugra\x0a'.replace(re89, ''); + 'Anpuevpugra\x0a'.replace(re90, ''); + 'Cuk'.replace(re2, ''); + 'ErdhrfgSvavfu'.split(re70); + 'ErdhrfgSvavfu.NWNK.Cuk'.split(re70); + 'Ebhgr\x0a'.replace(re89, ''); + 'Ebhgr\x0a'.replace(re90, ''); + str78.split(re32); + str79.split(re32); + str80.split(re32); + str81.split(re32); + 'Fcbeg\x0a'.replace(re89, ''); + 'Fcbeg\x0a'.replace(re90, ''); + 'GI-Fcbg\x0a'.replace(re89, ''); + 'GI-Fcbg\x0a'.replace(re90, ''); + 'Gbhe\x0a'.replace(re89, ''); + 'Gbhe\x0a'.replace(re90, ''); + 'Hagreunyghat\x0a'.replace(re89, ''); + 'Hagreunyghat\x0a'.replace(re90, ''); + 'Ivqrb\x0a'.replace(re89, ''); + 'Ivqrb\x0a'.replace(re90, ''); + 'Jrggre\x0a'.replace(re89, ''); + 'Jrggre\x0a'.replace(re90, ''); + str82.replace(re68, ''); + str82.replace(re18, ''); + str83.replace(re68, ''); + str83.replace(re18, ''); + str84.replace(re68, ''); + str84.replace(re18, ''); + 'nqiFreivprObk'.replace(re30, ''); + 'nqiFubccvatObk'.replace(re30, ''); + 'nwnk'.replace(re39, ''); + 'nxghryy'.replace(re40, ''); + 'nxghryy'.replace(re41, ''); + 'nxghryy'.replace(re42, ''); + 'nxghryy'.replace(re43, ''); + 'nxghryy'.replace(re44, ''); + 'nxghryy'.replace(re45, ''); + 'nxghryy'.replace(re46, ''); + 'nxghryy'.replace(re47, ''); + 'nxghryy'.replace(re48, ''); + str85.replace(re40, ''); + str85.replace(re41, ''); + str85.replace(re42, ''); + str85.replace(re43, ''); + str85.replace(re44, ''); + str85.replace(re45, ''); + str85.replace(re46, ''); + str85.replace(re47, ''); + str85.replace(re48, ''); + 'pngrtbel'.replace(re29, ''); + 'pngrtbel'.replace(re30, ''); + 'pybfr'.replace(re39, ''); + 'qvi'.replace(re39, ''); + str86.replace(re68, ''); + str86.replace(re18, ''); + 'qg'.replace(re39, ''); + 'qg'.replace(re68, ''); + 'qg'.replace(re18, ''); + 'rzorq'.replace(re39, ''); + 'rzorq'.replace(re68, ''); + 'rzorq'.replace(re18, ''); + 'svryqOga'.replace(re39, ''); + 'svryqOgaPnapry'.replace(re39, ''); + 'svz_zlfcnpr_nccf-pnainf,svz_zlfcnpr_havgrq-fgngrf'.split(re20); + 'svanamra'.replace(re40, ''); + 'svanamra'.replace(re41, ''); + 'svanamra'.replace(re42, ''); + 'svanamra'.replace(re43, ''); + 'svanamra'.replace(re44, ''); + 'svanamra'.replace(re45, ''); + 'svanamra'.replace(re46, ''); + 'svanamra'.replace(re47, ''); + 'svanamra'.replace(re48, ''); + 'sbphf'.split(re70); + 'sbphf.gno sbphfva.gno'.split(re70); + 'sbphfva'.split(re70); + 'sbez'.replace(re39, ''); + 'sbez.nwnk'.replace(re68, ''); + 'sbez.nwnk'.replace(re18, ''); + 'tnzrf'.replace(re40, ''); + 'tnzrf'.replace(re41, ''); + 'tnzrf'.replace(re42, ''); + 'tnzrf'.replace(re43, ''); + 'tnzrf'.replace(re44, ''); + 'tnzrf'.replace(re45, ''); + 'tnzrf'.replace(re46, ''); + 'tnzrf'.replace(re47, ''); + 'tnzrf'.replace(re48, ''); + 'ubzrcntr'.replace(re30, ''); + 'ubebfxbc'.replace(re40, ''); + 'ubebfxbc'.replace(re41, ''); + 'ubebfxbc'.replace(re42, ''); + 'ubebfxbc'.replace(re43, ''); + 'ubebfxbc'.replace(re44, ''); + 'ubebfxbc'.replace(re45, ''); + 'ubebfxbc'.replace(re46, ''); + 'ubebfxbc'.replace(re47, ''); + 'ubebfxbc'.replace(re48, ''); + 'uc_cebzbobk_ugzy%2Puc_cebzbobk_vzt'.replace(re30, ''); + 'uc_erpgnatyr'.replace(re30, ''); + str87.replace(re33, ''); + str88.replace(re33, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf${5}'.replace(re72, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/qlaYvo.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/qlaYvo.wf${5}'.replace(re72, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/rssrpgYvo.wf${4}${5}'.replace(re71, ''); + 'uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/rssrpgYvo.wf${5}'.replace(re72, ''); + str89.replace(re73, ''); + 'uggc://zfacbegny.112.2b7.arg/o/ff/zfacbegnyubzr/1/U.7-cqi-2/f55023338617756?[NDO]&{1}&{2}&[NDR]'.replace(re69, ''); + str6.replace(re23, ''); + 'xvab'.replace(re40, ''); + 'xvab'.replace(re41, ''); + 'xvab'.replace(re42, ''); + 'xvab'.replace(re43, ''); + 'xvab'.replace(re44, ''); + 'xvab'.replace(re45, ''); + 'xvab'.replace(re46, ''); + 'xvab'.replace(re47, ''); + 'xvab'.replace(re48, ''); + 'ybnq'.split(re70); + 'zrqvnzbqgno lhv-anifrg lhv-anifrg-gbc'.replace(re18, ''); + 'zrgn'.replace(re39, ''); + str90.replace(re68, ''); + str90.replace(re18, ''); + 'zbhfrzbir'.split(re70); + 'zbhfrzbir.gno'.split(re70); + str63.replace(/^.*jroxvg\/(\d+(\.\d+)?).*$/, ''); + 'zhfvx'.replace(re40, ''); + 'zhfvx'.replace(re41, ''); + 'zhfvx'.replace(re42, ''); + 'zhfvx'.replace(re43, ''); + 'zhfvx'.replace(re44, ''); + 'zhfvx'.replace(re45, ''); + 'zhfvx'.replace(re46, ''); + 'zhfvx'.replace(re47, ''); + 'zhfvx'.replace(re48, ''); + 'zlfcnpr_nccf_pnainf'.replace(re52, ''); + str91.replace(re40, ''); + str91.replace(re41, ''); + str91.replace(re42, ''); + str91.replace(re43, ''); + str91.replace(re44, ''); + str91.replace(re45, ''); + str91.replace(re46, ''); + str91.replace(re47, ''); + str91.replace(re48, ''); + 'anzr'.replace(re39, ''); + str92.replace(/\b\w+\b/g, ''); + 'bow-nppbeqvba'.replace(re39, ''); + 'bowrpg'.replace(re39, ''); + 'bowrpg'.replace(re68, ''); + 'bowrpg'.replace(re18, ''); + 'cnenzf%2Rfglyrf'.replace(re29, ''); + 'cnenzf%2Rfglyrf'.replace(re30, ''); + 'cbchc'.replace(re30, ''); + 'ebhgr'.replace(re40, ''); + 'ebhgr'.replace(re41, ''); + 'ebhgr'.replace(re42, ''); + 'ebhgr'.replace(re43, ''); + 'ebhgr'.replace(re44, ''); + 'ebhgr'.replace(re45, ''); + 'ebhgr'.replace(re46, ''); + 'ebhgr'.replace(re47, ''); + 'ebhgr'.replace(re48, ''); + 'freivprobk_uc'.replace(re30, ''); + 'fubccvatobk_uc'.replace(re30, ''); + 'fubhgobk'.replace(re39, ''); + 'fcbeg'.replace(re40, ''); + 'fcbeg'.replace(re41, ''); + 'fcbeg'.replace(re42, ''); + 'fcbeg'.replace(re43, ''); + 'fcbeg'.replace(re44, ''); + 'fcbeg'.replace(re45, ''); + 'fcbeg'.replace(re46, ''); + 'fcbeg'.replace(re47, ''); + 'fcbeg'.replace(re48, ''); + 'gbhe'.replace(re40, ''); + 'gbhe'.replace(re41, ''); + 'gbhe'.replace(re42, ''); + 'gbhe'.replace(re43, ''); + 'gbhe'.replace(re44, ''); + 'gbhe'.replace(re45, ''); + 'gbhe'.replace(re46, ''); + 'gbhe'.replace(re47, ''); + 'gbhe'.replace(re48, ''); + 'gi-fcbg'.replace(re40, ''); + 'gi-fcbg'.replace(re41, ''); + 'gi-fcbg'.replace(re42, ''); + 'gi-fcbg'.replace(re43, ''); + 'gi-fcbg'.replace(re44, ''); + 'gi-fcbg'.replace(re45, ''); + 'gi-fcbg'.replace(re46, ''); + 'gi-fcbg'.replace(re47, ''); + 'gi-fcbg'.replace(re48, ''); + 'glcr'.replace(re39, ''); + 'haqrsvarq'.replace(/\//g, ''); + str93.replace(re40, ''); + str93.replace(re41, ''); + str93.replace(re42, ''); + str93.replace(re43, ''); + str93.replace(re44, ''); + str93.replace(re45, ''); + str93.replace(re46, ''); + str93.replace(re47, ''); + str93.replace(re48, ''); + 'ivqrb'.replace(re40, ''); + 'ivqrb'.replace(re41, ''); + 'ivqrb'.replace(re42, ''); + 'ivqrb'.replace(re43, ''); + 'ivqrb'.replace(re44, ''); + 'ivqrb'.replace(re45, ''); + 'ivqrb'.replace(re46, ''); + 'ivqrb'.replace(re47, ''); + 'ivqrb'.replace(re48, ''); + 'ivfvgf=1'.split(re86); + 'jrggre'.replace(re40, ''); + 'jrggre'.replace(re41, ''); + 'jrggre'.replace(re42, ''); + 'jrggre'.replace(re43, ''); + 'jrggre'.replace(re44, ''); + 'jrggre'.replace(re45, ''); + 'jrggre'.replace(re46, ''); + 'jrggre'.replace(re47, ''); + 'jrggre'.replace(re48, ''); + /#[a-z0-9]+$/i.exec('uggc://jjj.fpuhryreim.arg/Qrsnhyg'); + re66.exec('fryrpgrq'); + /(?:^|\s+)lhv-ani(?:\s+|$)/.exec('sff lhv-ani'); + /(?:^|\s+)lhv-anifrg(?:\s+|$)/.exec('zrqvnzbqgno lhv-anifrg'); + /(?:^|\s+)lhv-anifrg-gbc(?:\s+|$)/.exec('zrqvnzbqgno lhv-anifrg'); + re91.exec('GnoThvq'); + re91.exec('thvq'); + /(pbzcngvoyr|jroxvg)/.exec(str63); + /.+(?:ei|vg|en|vr)[\/: ]([\d.]+)/.exec(str63); + re8.exec('144631658.0.10.1231365869'); + re8.exec('144631658.0.10.1231367054'); + re8.exec('144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('144631658.1670816052019209000.1231365869.1231365869.1231365869.1'); + re8.exec('144631658.1796080716621419500.1231367054.1231367054.1231367054.1'); + re8.exec(str94); + re8.exec(str95); + re8.exec(str96); + re8.exec(str97); + re8.exec('__hgzn=144631658.1670816052019209000.1231365869.1231365869.1231365869.1'); + re8.exec('__hgzn=144631658.1796080716621419500.1231367054.1231367054.1231367054.1'); + re8.exec('__hgzo=144631658.0.10.1231365869'); + re8.exec('__hgzo=144631658.0.10.1231367054'); + re8.exec('__hgzm=144631658.1231365869.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re8.exec('__hgzm=144631658.1231367054.1.1.hgzpfe=(qverpg)|hgzppa=(qverpg)|hgzpzq=(abar)'); + re34.exec(str78); + re34.exec(str79); + re34.exec(str81); + re74.exec(str77); + re74.exec('*'); + re74.exec(str82); + re74.exec(str83); + re74.exec(str86); + re74.exec('rzorq'); + re74.exec('sbez.nwnk'); + re74.exec(str90); + re74.exec('bowrpg'); + /\/onfr.wf(\?.+)?$/.exec('/uggc://wf.hv-cbegny.qr/tzk/ubzr/wf/20080602/onfr.wf'); + re28.exec('uvag ynfgUvag ynfg'); + re75.exec(''); + re76.exec(''); + re77.exec(''); + re78.exec(''); + re80.exec(str77); + re80.exec('*'); + re80.exec('.pybfr'); + re80.exec(str82); + re80.exec(str83); + re80.exec(str84); + re80.exec(str86); + re80.exec('qg'); + re80.exec('rzorq'); + re80.exec('sbez.nwnk'); + re80.exec(str90); + re80.exec('bowrpg'); + re61.exec('qlaYvo.wf'); + re61.exec('rssrpgYvo.wf'); + re61.exec('uggc://jjj.tzk.arg/qr/?fgnghf=uvajrvf'); + re92.exec(' .pybfr'); + re92.exec(' n.svryqOgaPnapry'); + re92.exec(' qg'); + re92.exec(str48); + re92.exec('.nwnk'); + re92.exec('.svryqOga,n.svryqOgaPnapry'); + re92.exec('.svryqOgaPnapry'); + re92.exec('.bow-nppbeqvba qg'); + re68.exec(str77); + re68.exec('*'); + re68.exec('.pybfr'); + re68.exec(str82); + re68.exec(str83); + re68.exec(str84); + re68.exec(str86); + re68.exec('qg'); + re68.exec('rzorq'); + re68.exec('sbez.nwnk'); + re68.exec(str90); + re68.exec('bowrpg'); + re93.exec(' .pybfr'); + re93.exec(' n.svryqOgaPnapry'); + re93.exec(' qg'); + re93.exec(str48); + re93.exec('.nwnk'); + re93.exec('.svryqOga,n.svryqOgaPnapry'); + re93.exec('.svryqOgaPnapry'); + re93.exec('.bow-nppbeqvba qg'); + re81.exec(str77); + re81.exec('*'); + re81.exec(str48); + re81.exec('.pybfr'); + re81.exec(str82); + re81.exec(str83); + re81.exec(str84); + re81.exec(str86); + re81.exec('qg'); + re81.exec('rzorq'); + re81.exec('sbez.nwnk'); + re81.exec(str90); + re81.exec('bowrpg'); + re94.exec(' .pybfr'); + re94.exec(' n.svryqOgaPnapry'); + re94.exec(' qg'); + re94.exec(str48); + re94.exec('.nwnk'); + re94.exec('.svryqOga,n.svryqOgaPnapry'); + re94.exec('.svryqOgaPnapry'); + re94.exec('.bow-nppbeqvba qg'); + re94.exec('[anzr=nwnkHey]'); + re94.exec(str82); + re31.exec('rf'); + re31.exec('wn'); + re82.exec(str77); + re82.exec('*'); + re82.exec(str48); + re82.exec('.pybfr'); + re82.exec(str82); + re82.exec(str83); + re82.exec(str84); + re82.exec(str86); + re82.exec('qg'); + re82.exec('rzorq'); + re82.exec('sbez.nwnk'); + re82.exec(str90); + re82.exec('bowrpg'); + re83.exec(str98); + re83.exec('shapgvba sbphf() { [angvir pbqr] }'); + re62.exec('#Ybtva'); + re62.exec('#Ybtva_cnffjbeq'); + re62.exec(str77); + re62.exec('#fubhgobkWf'); + re62.exec('#fubhgobkWfReebe'); + re62.exec('#fubhgobkWfFhpprff'); + re62.exec('*'); + re62.exec(str82); + re62.exec(str83); + re62.exec(str86); + re62.exec('rzorq'); + re62.exec('sbez.nwnk'); + re62.exec(str90); + re62.exec('bowrpg'); + re49.exec('pbagrag'); + re24.exec(str6); + /xbadhrebe/.exec(str63); + /znp/.exec('jva32'); + /zbmvyyn/.exec(str63); + /zfvr/.exec(str63); + /ag\s5\.1/.exec(str63); + /bcren/.exec(str63); + /fnsnev/.exec(str63); + /jva/.exec('jva32'); + /jvaqbjf/.exec(str63); + } + } + for (var i = 0; i < 5; i++) { + runBlock0(); + runBlock1(); + runBlock2(); + runBlock3(); + runBlock4(); + runBlock5(); + runBlock6(); + runBlock7(); + runBlock8(); + runBlock9(); + runBlock10(); + runBlock11(); + } +} + +for (var i = 0; i < 3; ++i) + runRegExpBenchmark(); diff --git a/implementation-contributed/javascriptcore/stress/v8-richards-strict.js b/implementation-contributed/javascriptcore/stress/v8-richards-strict.js new file mode 100644 index 0000000000..11fdc5bf28 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-richards-strict.js @@ -0,0 +1,539 @@ +"use strict"; + +// Copyright 2006-2008 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// This is a JavaScript implementation of the Richards +// benchmark from: +// +// http://www.cl.cam.ac.uk/~mr10/Bench.html +// +// The benchmark was originally implemented in BCPL by +// Martin Richards. + + +/** + * The Richards benchmark simulates the task dispatcher of an + * operating system. + **/ +function runRichards() { + var scheduler = new Scheduler(); + scheduler.addIdleTask(ID_IDLE, 0, null, COUNT); + + var queue = new Packet(null, ID_WORKER, KIND_WORK); + queue = new Packet(queue, ID_WORKER, KIND_WORK); + scheduler.addWorkerTask(ID_WORKER, 1000, queue); + + queue = new Packet(null, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_A, 2000, queue); + + queue = new Packet(null, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_B, 3000, queue); + + scheduler.addDeviceTask(ID_DEVICE_A, 4000, null); + + scheduler.addDeviceTask(ID_DEVICE_B, 5000, null); + + scheduler.schedule(); + + if (scheduler.queueCount != EXPECTED_QUEUE_COUNT || + scheduler.holdCount != EXPECTED_HOLD_COUNT) { + var msg = + "Error during execution: queueCount = " + scheduler.queueCount + + ", holdCount = " + scheduler.holdCount + "."; + throw new Error(msg); + } +} + +var COUNT = 1000; + +/** + * These two constants specify how many times a packet is queued and + * how many times a task is put on hold in a correct run of richards. + * They don't have any meaning a such but are characteristic of a + * correct run so if the actual queue or hold count is different from + * the expected there must be a bug in the implementation. + **/ +var EXPECTED_QUEUE_COUNT = 2322; +var EXPECTED_HOLD_COUNT = 928; + + +/** + * A scheduler can be used to schedule a set of tasks based on their relative + * priorities. Scheduling is done by maintaining a list of task control blocks + * which holds tasks and the data queue they are processing. + * @constructor + */ +function Scheduler() { + this.queueCount = 0; + this.holdCount = 0; + this.blocks = new Array(NUMBER_OF_IDS); + this.list = null; + this.currentTcb = null; + this.currentId = null; +} + +var ID_IDLE = 0; +var ID_WORKER = 1; +var ID_HANDLER_A = 2; +var ID_HANDLER_B = 3; +var ID_DEVICE_A = 4; +var ID_DEVICE_B = 5; +var NUMBER_OF_IDS = 6; + +var KIND_DEVICE = 0; +var KIND_WORK = 1; + +/** + * Add an idle task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {int} count the number of times to schedule the task + */ +Scheduler.prototype.addIdleTask = function (id, priority, queue, count) { + this.addRunningTask(id, priority, queue, new IdleTask(this, 1, count)); +}; + +/** + * Add a work task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addWorkerTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new WorkerTask(this, ID_HANDLER_A, 0)); +}; + +/** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addHandlerTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new HandlerTask(this)); +}; + +/** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addDeviceTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new DeviceTask(this)) +}; + +/** + * Add the specified task and mark it as running. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ +Scheduler.prototype.addRunningTask = function (id, priority, queue, task) { + this.addTask(id, priority, queue, task); + this.currentTcb.setRunning(); +}; + +/** + * Add the specified task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ +Scheduler.prototype.addTask = function (id, priority, queue, task) { + this.currentTcb = new TaskControlBlock(this.list, id, priority, queue, task); + this.list = this.currentTcb; + this.blocks[id] = this.currentTcb; +}; + +/** + * Execute the tasks managed by this scheduler. + */ +Scheduler.prototype.schedule = function () { + this.currentTcb = this.list; + while (this.currentTcb != null) { + if (this.currentTcb.isHeldOrSuspended()) { + this.currentTcb = this.currentTcb.link; + } else { + this.currentId = this.currentTcb.id; + this.currentTcb = this.currentTcb.run(); + } + } +}; + +/** + * Release a task that is currently blocked and return the next block to run. + * @param {int} id the id of the task to suspend + */ +Scheduler.prototype.release = function (id) { + var tcb = this.blocks[id]; + if (tcb == null) return tcb; + tcb.markAsNotHeld(); + if (tcb.priority > this.currentTcb.priority) { + return tcb; + } else { + return this.currentTcb; + } +}; + +/** + * Block the currently executing task and return the next task control block + * to run. The blocked task will not be made runnable until it is explicitly + * released, even if new work is added to it. + */ +Scheduler.prototype.holdCurrent = function () { + this.holdCount++; + this.currentTcb.markAsHeld(); + return this.currentTcb.link; +}; + +/** + * Suspend the currently executing task and return the next task control block + * to run. If new work is added to the suspended task it will be made runnable. + */ +Scheduler.prototype.suspendCurrent = function () { + this.currentTcb.markAsSuspended(); + return this.currentTcb; +}; + +/** + * Add the specified packet to the end of the worklist used by the task + * associated with the packet and make the task runnable if it is currently + * suspended. + * @param {Packet} packet the packet to add + */ +Scheduler.prototype.queue = function (packet) { + var t = this.blocks[packet.id]; + if (t == null) return t; + this.queueCount++; + packet.link = null; + packet.id = this.currentId; + return t.checkPriorityAdd(this.currentTcb, packet); +}; + +/** + * A task control block manages a task and the queue of work packages associated + * with it. + * @param {TaskControlBlock} link the preceding block in the linked block list + * @param {int} id the id of this block + * @param {int} priority the priority of this block + * @param {Packet} queue the queue of packages to be processed by the task + * @param {Task} task the task + * @constructor + */ +function TaskControlBlock(link, id, priority, queue, task) { + this.link = link; + this.id = id; + this.priority = priority; + this.queue = queue; + this.task = task; + if (queue == null) { + this.state = STATE_SUSPENDED; + } else { + this.state = STATE_SUSPENDED_RUNNABLE; + } +} + +/** + * The task is running and is currently scheduled. + */ +var STATE_RUNNING = 0; + +/** + * The task has packets left to process. + */ +var STATE_RUNNABLE = 1; + +/** + * The task is not currently running. The task is not blocked as such and may +* be started by the scheduler. + */ +var STATE_SUSPENDED = 2; + +/** + * The task is blocked and cannot be run until it is explicitly released. + */ +var STATE_HELD = 4; + +var STATE_SUSPENDED_RUNNABLE = STATE_SUSPENDED | STATE_RUNNABLE; +var STATE_NOT_HELD = ~STATE_HELD; + +TaskControlBlock.prototype.setRunning = function () { + this.state = STATE_RUNNING; +}; + +TaskControlBlock.prototype.markAsNotHeld = function () { + this.state = this.state & STATE_NOT_HELD; +}; + +TaskControlBlock.prototype.markAsHeld = function () { + this.state = this.state | STATE_HELD; +}; + +TaskControlBlock.prototype.isHeldOrSuspended = function () { + return (this.state & STATE_HELD) != 0 || (this.state == STATE_SUSPENDED); +}; + +TaskControlBlock.prototype.markAsSuspended = function () { + this.state = this.state | STATE_SUSPENDED; +}; + +TaskControlBlock.prototype.markAsRunnable = function () { + this.state = this.state | STATE_RUNNABLE; +}; + +/** + * Runs this task, if it is ready to be run, and returns the next task to run. + */ +TaskControlBlock.prototype.run = function () { + var packet; + if (this.state == STATE_SUSPENDED_RUNNABLE) { + packet = this.queue; + this.queue = packet.link; + if (this.queue == null) { + this.state = STATE_RUNNING; + } else { + this.state = STATE_RUNNABLE; + } + } else { + packet = null; + } + return this.task.run(packet); +}; + +/** + * Adds a packet to the worklist of this block's task, marks this as runnable if + * necessary, and returns the next runnable object to run (the one + * with the highest priority). + */ +TaskControlBlock.prototype.checkPriorityAdd = function (task, packet) { + if (this.queue == null) { + this.queue = packet; + this.markAsRunnable(); + if (this.priority > task.priority) return this; + } else { + this.queue = packet.addTo(this.queue); + } + return task; +}; + +TaskControlBlock.prototype.toString = function () { + return "tcb { " + this.task + "@" + this.state + " }"; +}; + +/** + * An idle task doesn't do any work itself but cycles control between the two + * device tasks. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed value that controls how the device tasks are scheduled + * @param {int} count the number of times this task should be scheduled + * @constructor + */ +function IdleTask(scheduler, v1, count) { + this.scheduler = scheduler; + this.v1 = v1; + this.count = count; +} + +IdleTask.prototype.run = function (packet) { + this.count--; + if (this.count == 0) return this.scheduler.holdCurrent(); + if ((this.v1 & 1) == 0) { + this.v1 = this.v1 >> 1; + return this.scheduler.release(ID_DEVICE_A); + } else { + this.v1 = (this.v1 >> 1) ^ 0xD008; + return this.scheduler.release(ID_DEVICE_B); + } +}; + +IdleTask.prototype.toString = function () { + return "IdleTask" +}; + +/** + * A task that suspends itself after each time it has been run to simulate + * waiting for data from an external device. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ +function DeviceTask(scheduler) { + this.scheduler = scheduler; + this.v1 = null; +} + +DeviceTask.prototype.run = function (packet) { + if (packet == null) { + if (this.v1 == null) return this.scheduler.suspendCurrent(); + var v = this.v1; + this.v1 = null; + return this.scheduler.queue(v); + } else { + this.v1 = packet; + return this.scheduler.holdCurrent(); + } +}; + +DeviceTask.prototype.toString = function () { + return "DeviceTask"; +}; + +/** + * A task that manipulates work packets. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed used to specify how work packets are manipulated + * @param {int} v2 another seed used to specify how work packets are manipulated + * @constructor + */ +function WorkerTask(scheduler, v1, v2) { + this.scheduler = scheduler; + this.v1 = v1; + this.v2 = v2; +} + +WorkerTask.prototype.run = function (packet) { + if (packet == null) { + return this.scheduler.suspendCurrent(); + } else { + if (this.v1 == ID_HANDLER_A) { + this.v1 = ID_HANDLER_B; + } else { + this.v1 = ID_HANDLER_A; + } + packet.id = this.v1; + packet.a1 = 0; + for (var i = 0; i < DATA_SIZE; i++) { + this.v2++; + if (this.v2 > 26) this.v2 = 1; + packet.a2[i] = this.v2; + } + return this.scheduler.queue(packet); + } +}; + +WorkerTask.prototype.toString = function () { + return "WorkerTask"; +}; + +/** + * A task that manipulates work packets and then suspends itself. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ +function HandlerTask(scheduler) { + this.scheduler = scheduler; + this.v1 = null; + this.v2 = null; +} + +HandlerTask.prototype.run = function (packet) { + if (packet != null) { + if (packet.kind == KIND_WORK) { + this.v1 = packet.addTo(this.v1); + } else { + this.v2 = packet.addTo(this.v2); + } + } + if (this.v1 != null) { + var count = this.v1.a1; + var v; + if (count < DATA_SIZE) { + if (this.v2 != null) { + v = this.v2; + this.v2 = this.v2.link; + v.a1 = this.v1.a2[count]; + this.v1.a1 = count + 1; + return this.scheduler.queue(v); + } + } else { + v = this.v1; + this.v1 = this.v1.link; + return this.scheduler.queue(v); + } + } + return this.scheduler.suspendCurrent(); +}; + +HandlerTask.prototype.toString = function () { + return "HandlerTask"; +}; + +/* --- * + * P a c k e t + * --- */ + +var DATA_SIZE = 4; + +/** + * A simple package of data that is manipulated by the tasks. The exact layout + * of the payload data carried by a packet is not importaint, and neither is the + * nature of the work performed on packets by the tasks. + * + * Besides carrying data, packets form linked lists and are hence used both as + * data and worklists. + * @param {Packet} link the tail of the linked list of packets + * @param {int} id an ID for this packet + * @param {int} kind the type of this packet + * @constructor + */ +function Packet(link, id, kind) { + this.link = link; + this.id = id; + this.kind = kind; + this.a1 = 0; + this.a2 = new Array(DATA_SIZE); +} + +/** + * Add this packet to the end of a worklist, and return the worklist. + * @param {Packet} queue the worklist to add this packet to + */ +Packet.prototype.addTo = function (queue) { + this.link = null; + if (queue == null) return this; + var peek, next = queue; + while ((peek = next.link) != null) + next = peek; + next.link = this; + return queue; +}; + +Packet.prototype.toString = function () { + return "Packet"; +}; + +for (var i = 0; i < 350; ++i) + runRichards(); diff --git a/implementation-contributed/javascriptcore/stress/v8-splay-strict.js b/implementation-contributed/javascriptcore/stress/v8-splay-strict.js new file mode 100644 index 0000000000..f3b377d0d7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/v8-splay-strict.js @@ -0,0 +1,395 @@ +"use strict"; + +// Copyright 2009 the V8 project authors. All rights reserved. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +// This benchmark is based on a JavaScript log processing module used +// by the V8 profiler to generate execution time profiles for runs of +// JavaScript applications, and it effectively measures how fast the +// JavaScript engine is at allocating nodes and reclaiming the memory +// used for old nodes. Because of the way splay trees work, the engine +// also has to deal with a lot of changes to the large tree object +// graph. + +// Configuration. +var kSplayTreeSize = 8000; +var kSplayTreeModifications = 80; +var kSplayTreePayloadDepth = 5; + +var splayTree = null; + + +function GeneratePayloadTree(depth, tag) { + if (depth == 0) { + return { + array : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ], + string : 'String for key ' + tag + ' in leaf node' + }; + } else { + return { + left: GeneratePayloadTree(depth - 1, tag), + right: GeneratePayloadTree(depth - 1, tag) + }; + } +} + + +function GenerateKey() { + // The benchmark framework guarantees that Math.random is + // deterministic; see base.js. + return Math.random(); +} + + +function InsertNewNode() { + // Insert new node with a unique key. + var key; + do { + key = GenerateKey(); + } while (splayTree.find(key) != null); + var payload = GeneratePayloadTree(kSplayTreePayloadDepth, String(key)); + splayTree.insert(key, payload); + return key; +} + + + +function SplaySetup() { + splayTree = new SplayTree(); + for (var i = 0; i < kSplayTreeSize; i++) InsertNewNode(); +} + + +function SplayTearDown() { + // Allow the garbage collector to reclaim the memory + // used by the splay tree no matter how we exit the + // tear down function. + var keys = splayTree.exportKeys(); + splayTree = null; + + // Verify that the splay tree has the right size. + var length = keys.length; + if (length != kSplayTreeSize) { + throw new Error("Splay tree has wrong size"); + } + + // Verify that the splay tree has sorted, unique keys. + for (var i = 0; i < length - 1; i++) { + if (keys[i] >= keys[i + 1]) { + throw new Error("Splay tree not sorted"); + } + } +} + + +function SplayRun() { + // Replace a few nodes in the splay tree. + for (var i = 0; i < kSplayTreeModifications; i++) { + var key = InsertNewNode(); + var greatest = splayTree.findGreatestLessThan(key); + if (greatest == null) splayTree.remove(key); + else splayTree.remove(greatest.key); + } +} + + +/** + * Constructs a Splay tree. A splay tree is a self-balancing binary + * search tree with the additional property that recently accessed + * elements are quick to access again. It performs basic operations + * such as insertion, look-up and removal in O(log(n)) amortized time. + * + * @constructor + */ +function SplayTree() { +}; + + +/** + * Pointer to the root node of the tree. + * + * @type {SplayTree.Node} + * @private + */ +SplayTree.prototype.root_ = null; + + +/** + * @return {boolean} Whether the tree is empty. + */ +SplayTree.prototype.isEmpty = function() { + return !this.root_; +}; + + +/** + * Inserts a node into the tree with the specified key and value if + * the tree does not already contain a node with the specified key. If + * the value is inserted, it becomes the root of the tree. + * + * @param {number} key Key to insert into the tree. + * @param {*} value Value to insert into the tree. + */ +SplayTree.prototype.insert = function(key, value) { + if (this.isEmpty()) { + this.root_ = new SplayTree.Node(key, value); + return; + } + // Splay on the key to move the last node on the search path for + // the key to the root of the tree. + this.splay_(key); + if (this.root_.key == key) { + return; + } + var node = new SplayTree.Node(key, value); + if (key > this.root_.key) { + node.left = this.root_; + node.right = this.root_.right; + this.root_.right = null; + } else { + node.right = this.root_; + node.left = this.root_.left; + this.root_.left = null; + } + this.root_ = node; +}; + + +/** + * Removes a node with the specified key from the tree if the tree + * contains a node with this key. The removed node is returned. If the + * key is not found, an exception is thrown. + * + * @param {number} key Key to find and remove from the tree. + * @return {SplayTree.Node} The removed node. + */ +SplayTree.prototype.remove = function(key) { + if (this.isEmpty()) { + throw Error('Key not found: ' + key); + } + this.splay_(key); + if (this.root_.key != key) { + throw Error('Key not found: ' + key); + } + var removed = this.root_; + if (!this.root_.left) { + this.root_ = this.root_.right; + } else { + var right = this.root_.right; + this.root_ = this.root_.left; + // Splay to make sure that the new root has an empty right child. + this.splay_(key); + // Insert the original right child as the right child of the new + // root. + this.root_.right = right; + } + return removed; +}; + + +/** + * Returns the node having the specified key or null if the tree doesn't contain + * a node with the specified key. + * + * @param {number} key Key to find in the tree. + * @return {SplayTree.Node} Node having the specified key. + */ +SplayTree.prototype.find = function(key) { + if (this.isEmpty()) { + return null; + } + this.splay_(key); + return this.root_.key == key ? this.root_ : null; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value. + */ +SplayTree.prototype.findMax = function(opt_startNode) { + if (this.isEmpty()) { + return null; + } + var current = opt_startNode || this.root_; + while (current.right) { + current = current.right; + } + return current; +}; + + +/** + * @return {SplayTree.Node} Node having the maximum key value that + * is less than the specified key value. + */ +SplayTree.prototype.findGreatestLessThan = function(key) { + if (this.isEmpty()) { + return null; + } + // Splay on the key to move the node with the given key or the last + // node on the search path to the top of the tree. + this.splay_(key); + // Now the result is either the root node or the greatest node in + // the left subtree. + if (this.root_.key < key) { + return this.root_; + } else if (this.root_.left) { + return this.findMax(this.root_.left); + } else { + return null; + } +}; + + +/** + * @return {Array<*>} An array containing all the keys of tree's nodes. + */ +SplayTree.prototype.exportKeys = function() { + var result = []; + if (!this.isEmpty()) { + this.root_.traverse_(function(node) { result.push(node.key); }); + } + return result; +}; + + +/** + * Perform the splay operation for the given key. Moves the node with + * the given key to the top of the tree. If no node has the given + * key, the last node on the search path is moved to the top of the + * tree. This is the simplified top-down splaying algorithm from: + * "Self-adjusting Binary Search Trees" by Sleator and Tarjan + * + * @param {number} key Key to splay the tree on. + * @private + */ +SplayTree.prototype.splay_ = function(key) { + if (this.isEmpty()) { + return; + } + // Create a dummy node. The use of the dummy node is a bit + // counter-intuitive: The right child of the dummy node will hold + // the L tree of the algorithm. The left child of the dummy node + // will hold the R tree of the algorithm. Using a dummy node, left + // and right will always be nodes and we avoid special cases. + var dummy, left, right; + dummy = left = right = new SplayTree.Node(null, null); + var current = this.root_; + while (true) { + if (key < current.key) { + if (!current.left) { + break; + } + if (key < current.left.key) { + // Rotate right. + var tmp = current.left; + current.left = tmp.right; + tmp.right = current; + current = tmp; + if (!current.left) { + break; + } + } + // Link right. + right.left = current; + right = current; + current = current.left; + } else if (key > current.key) { + if (!current.right) { + break; + } + if (key > current.right.key) { + // Rotate left. + var tmp = current.right; + current.right = tmp.left; + tmp.left = current; + current = tmp; + if (!current.right) { + break; + } + } + // Link left. + left.right = current; + left = current; + current = current.right; + } else { + break; + } + } + // Assemble. + left.right = current.left; + right.left = current.right; + current.left = dummy.right; + current.right = dummy.left; + this.root_ = current; +}; + + +/** + * Constructs a Splay tree node. + * + * @param {number} key Key. + * @param {*} value Value. + */ +SplayTree.Node = function(key, value) { + this.key = key; + this.value = value; +}; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.left = null; + + +/** + * @type {SplayTree.Node} + */ +SplayTree.Node.prototype.right = null; + + +/** + * Performs an ordered traversal of the subtree starting at + * this SplayTree.Node. + * + * @param {function(SplayTree.Node)} f Visitor function. + * @private + */ +SplayTree.Node.prototype.traverse_ = function(f) { + var current = this; + while (current) { + var left = current.left; + if (left) left.traverse_(f); + f(current); + current = current.right; + } +}; + +SplaySetup(); +SplayRun(); +SplayTearDown(); diff --git a/implementation-contributed/javascriptcore/stress/value-add-on-double-array-with-holes.js b/implementation-contributed/javascriptcore/stress/value-add-on-double-array-with-holes.js new file mode 100644 index 0000000000..367e8f7496 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/value-add-on-double-array-with-holes.js @@ -0,0 +1,100 @@ +let testCases = [ + // Numbers + ['1', NaN, NaN, 2, 2], + ['1.5', NaN, NaN, 1 + 1.5, 1 + 1.5], + [NaN, NaN, NaN, NaN, NaN], + + // Strings. + ['""', '"undefined"', '"undefined"', '"1"', '"1"'], + ['new String()', '"undefined"', '"undefined"', '"1"', '"1"'], + ['"WebKit!"', '"undefinedWebKit!"', '"WebKit!undefined"', '"1WebKit!"', '"WebKit!1"'], + + // Objects. + ['{ }', '"undefined[object Object]"', '"[object Object]undefined"', '"1[object Object]"', '"[object Object]1"'], + ['{ foo: 1 }', '"undefined[object Object]"', '"[object Object]undefined"', '"1[object Object]"', '"[object Object]1"'], + ['{ toString: function() { return ""; } }', '"undefined"', '"undefined"', '"1"', '"1"'], + ['{ toString: function() { return "WebKit"; } }', '"undefinedWebKit"', '"WebKitundefined"', '"1WebKit"', '"WebKit1"'], + + // Others. + ['null', NaN, NaN, 1, 1], + ['undefined', NaN, NaN, NaN, NaN] +]; + +for (let testCase of testCases) { + let otherOperand = testCase[0]; + let expectedLeftValueWithHole = testCase[1]; + let expectedRightValueWithHole = testCase[2]; + let expectedLeftValue = testCase[3]; + let expectedRightValue = testCase[4]; + eval( + `// Those holes are not observable by arithmetic operation. + // The return value is always going to be NaN. + function nonObservableHoleOnLhs(array, otherValue) { + return array[0] + otherValue; + } + noInline(nonObservableHoleOnLhs); + + function observableHoleOnLhs(array, otherValue) { + let value = array[0]; + return [value + otherValue, value]; + } + noInline(observableHoleOnLhs); + + function nonObservableHoleOnRhs(array, otherValue) { + return otherValue + array[0]; + } + noInline(nonObservableHoleOnRhs); + + function observableHoleOnRhs(array, otherValue) { + let value = array[0]; + return [otherValue + value, value]; + } + noInline(observableHoleOnRhs); + + let testArray = new Array; + for (let i = 1; i < 3; ++i) { + testArray[i] = i + 0.5 + } + + let isEqual = function(a, b) { + if (a === a) { + return a === b; + } + return b !== b; + } + + for (let i = 0; i < 1e4; ++i) { + let lhsResult1 = nonObservableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult1, ${expectedLeftValueWithHole})) + throw "Error on nonObservableHoleOnLhs at i = " + i + " with operand " + ${otherOperand} + " expected " + ${expectedLeftValueWithHole} + " got " + lhsResult1; + let lhsResult2 = observableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult2[0], ${expectedLeftValueWithHole}) || lhsResult2[1] !== undefined) + throw "Error on observableHoleOnLhs at i = " + i; + + let rhsResult1 = nonObservableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult1, ${expectedRightValueWithHole})) + throw "Error on nonObservableHoleOnRhs at i = " + i + " with operand " + ${otherOperand} + " expected " + ${expectedRightValueWithHole} + " got " + rhsResult1; + let rhsResult2 = observableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult2[0], ${expectedRightValueWithHole}) || rhsResult2[1] !== undefined) + throw "Error on observableHoleOnRhs at i = " + i; + } + + // Fill the hole, make sure everything still work correctly. + testArray[0] = 1.; + for (let i = 0; i < 1e4; ++i) { + let lhsResult1 = nonObservableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult1, ${expectedLeftValue})) + throw "Error on non hole nonObservableHoleOnLhs at i = " + i + " expected " + ${expectedLeftValue} + " got " + lhsResult1; + let lhsResult2 = observableHoleOnLhs(testArray, ${otherOperand}); + if (!isEqual(lhsResult2[0], ${expectedLeftValue}) || lhsResult2[1] !== 1) + throw "Error on non hole observableHoleOnLhs at i = " + i + " expected " + ${expectedLeftValue} + " got " + lhsResult2[0]; + + let rhsResult1 = nonObservableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult1, ${expectedRightValue})) + throw "Error on non hole nonObservableHoleOnRhs at i = " + i + " with operand " + ${otherOperand} + " expected " + ${expectedRightValue} + " got " + rhsResult1; + let rhsResult2 = observableHoleOnRhs(testArray, ${otherOperand}); + if (!isEqual(rhsResult2[0], ${expectedRightValue}) || rhsResult2[1] !== 1) + throw "Error on non hole observableHoleOnRhs at i = " + i; + }` + ); +} \ No newline at end of file diff --git a/implementation-contributed/javascriptcore/stress/value-to-boolean.js b/implementation-contributed/javascriptcore/stress/value-to-boolean.js new file mode 100644 index 0000000000..9b39a84840 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/value-to-boolean.js @@ -0,0 +1,67 @@ +//@ if $buildType == "release" then runDefault else skip end + +function assert(b) { + if (!b) + throw new Error("Bad assertion") +} +noInline(assert); + +let tests = [ + [true, true], + [false, false], + ["", false], + ["" + "" + "", false], + ["foo", true], + ["foo" + "bar", true], + [{}, true], + [Symbol(), true], + [undefined, false], + [null, false], + [0, false], + [-0, false], + [+0, false], + [NaN, false], + [10, true], + [10.2012, true], + [function() { }, true], + [new String("foo"), true], + [new String(""), true], + [new String, true] +]; + +function test1(c) { + return !!c; +} +noInline(test1); + +function test2(c) { + if (c) + return true; + return false; +} +noInline(test2); + +function test3(c) { + if (!c) + return false; + return true; +} +noInline(test3); + +let testFunctions = [test1, test2, test3]; + +for (let testFunction of testFunctions) { + for (let i = 0; i < 10000; i++) { + let item = tests[i % tests.length]; + assert(testFunction(item[0]) === item[1]); + } +} + +let masquerader = makeMasquerader(); +for (let testFunction of testFunctions) { + for (let i = 0; i < 10000; i++) { + for (let i = 0; i < 10000; i++) { + assert(testFunction(masquerader) === false); + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/value-to-int32-undefined-constant.js b/implementation-contributed/javascriptcore/stress/value-to-int32-undefined-constant.js new file mode 100644 index 0000000000..38b914019b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/value-to-int32-undefined-constant.js @@ -0,0 +1,12 @@ +function foo() { + return (void 0) | 0; +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) { + var result = foo(); + if (result != 0) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/value-to-int32-undefined.js b/implementation-contributed/javascriptcore/stress/value-to-int32-undefined.js new file mode 100644 index 0000000000..7e35169e26 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/value-to-int32-undefined.js @@ -0,0 +1,12 @@ +function foo(a) { + return a | 0; +} + +noInline(foo()); + +for (var i = 0; i < 10000; ++i) { + var result = foo(void 0); + if (result != 0) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/values-unscopables.js b/implementation-contributed/javascriptcore/stress/values-unscopables.js new file mode 100644 index 0000000000..3deb96cfab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/values-unscopables.js @@ -0,0 +1,53 @@ +function test(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +(function () { + var array = []; + var values = 42; + + with (array) { + test(values, 42); + } + + array[Symbol.unscopables].values = false; + + with (array) { + test(values, Array.prototype.values); + } +}()); + +(function () { + var map = new Map(); + var values = 42; + + with (map) { + test(values, Map.prototype.values); + } + + map[Symbol.unscopables] = { + values: true + }; + + with (map) { + test(values, 42); + } +}()); + +(function () { + var set = new Set(); + var values = 42; + + with (set) { + test(values, Set.prototype.values); + } + + set[Symbol.unscopables] = { + values: true + }; + + with (set) { + test(values, 42); + } +}()); diff --git a/implementation-contributed/javascriptcore/stress/var-injection-cache-invalidation.js b/implementation-contributed/javascriptcore/stress/var-injection-cache-invalidation.js new file mode 100644 index 0000000000..6d65bcbc39 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/var-injection-cache-invalidation.js @@ -0,0 +1,21 @@ +//@ skip if $memoryLimited + +a = 0; + +function allocateLotsOfThings(array) { + for (let i = 0; i < 1e4; i++) + array[i] = { next: array[Math.floor(i / 2)] }; +} + +function test() { + a = 5; + for (var i = 0; i < 1e3; i++) { + allocateLotsOfThings([]); + edenGC(); + eval("var a = new Int32Array(100);"); + } +} +noInline(test); +noDFG(test); + +test(); diff --git a/implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit-strict-mode.js b/implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit-strict-mode.js new file mode 100644 index 0000000000..12759c0bac --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit-strict-mode.js @@ -0,0 +1,26 @@ +"use strict"; + +function foo(a, b) { + return a + b; +} + +function baz(a, b) { + function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); + } + return bar(a, b); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = baz(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit.js b/implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit.js new file mode 100644 index 0000000000..2acb4d4d65 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-closure-inlined-exit.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a + b; +} + +function baz(a, b) { + function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); + } + return bar(a, b); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = baz(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-exit.js b/implementation-contributed/javascriptcore/stress/varargs-exit.js new file mode 100644 index 0000000000..9c9cd0995e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-exit.js @@ -0,0 +1,21 @@ +function foo(a, b) { + return a + b; +} + +function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = bar(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-inlined-exit.js b/implementation-contributed/javascriptcore/stress/varargs-inlined-exit.js new file mode 100644 index 0000000000..de951e1b0d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-inlined-exit.js @@ -0,0 +1,25 @@ +function foo(a, b) { + return a + b; +} + +function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); +} + +function baz(a, b) { + return bar(a, b); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = baz(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js new file mode 100644 index 0000000000..f1fbee1e3f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird-reversed-args.js @@ -0,0 +1,42 @@ +function foo(a, b) { + return a + b; +} + +function verify(a, b) { + if (a !== b) + throw "Error: the two arguments objects aren't identical."; +} + +noInline(verify); + +function bar() { + var a = arguments; + this.verify(arguments, a); + return foo.apply(null, a); +} + +function baz(a, b) { + return this.bar(a + 1, b + 1); +} + +noInline(baz); + +for (var i = 0; i < 20000; ++i) { + var o = { + baz: baz, + bar: bar, + verify: function() { } + }; + var result = o.baz(1, 2); + if (result != 1 + 1 + 2 + 1) + throw "Error: bad result: " + result; +} + +var o = { + baz: baz, + bar: bar, + verify: verify +}; +var result = o.baz(1, 2); +if (result != 1 + 1 + 2 + 1) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird.js b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird.js new file mode 100644 index 0000000000..04a6d4b988 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing-weird.js @@ -0,0 +1,42 @@ +function foo(a, b) { + return a + b; +} + +function verify(a, b) { + if (a !== b) + throw "Error: the two arguments objects aren't identical."; +} + +noInline(verify); + +function bar() { + var a = arguments; + this.verify(arguments, a); + return foo.apply(null, a); +} + +function baz(a, b) { + return this.bar(a, b); +} + +noInline(baz); + +for (var i = 0; i < 20000; ++i) { + var o = { + baz: baz, + bar: bar, + verify: function() { } + }; + var result = o.baz(1, 2); + if (result != 1 + 2) + throw "Error: bad result: " + result; +} + +var o = { + baz: baz, + bar: bar, + verify: verify +}; +var result = o.baz(1, 2); +if (result != 1 + 2) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing.js b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing.js new file mode 100644 index 0000000000..23890d14e7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit-aliasing.js @@ -0,0 +1,41 @@ +function foo(a, b) { + return a + b; +} + +function verify(a, b) { + if (a !== b) + throw "Error: the two arguments objects aren't identical."; + if (a[0] !== 42) + throw "Error: the first argument isn't 42 (a)."; + if (b[0] !== 42) + throw "Error: the first argument isn't 42 (b)."; +} + +noInline(verify); + +var global = false; +function bar(x) { + var a = arguments; + if (global) { + x = 42; + verify(arguments, a); + } + return foo.apply(null, a); +} + +function baz(a, b) { + return bar(a, b); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 2) + throw "Error: bad result: " + result; +} + +global = true; +var result = baz(1, 2); +if (result != 42 + 2) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit.js b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit.js new file mode 100644 index 0000000000..c841e9c2d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-inlined-simple-exit.js @@ -0,0 +1,28 @@ +function foo(a, b) { + return a + b; +} + +var global; +function bar() { + var a = arguments; + var tmp = global + 1; + return tmp + foo.apply(null, a); +} + +function baz(a, b) { + return bar(a, b); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + global = i; + var result = baz(1, 2); + if (result != i + 1 + 1 + 2) + throw "Error: bad result: " + result; +} + +global = 1.5; +var result = baz(1, 2); +if (result != 1.5 + 1 + 1 + 2) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-inlining-underflow.js b/implementation-contributed/javascriptcore/stress/varargs-inlining-underflow.js new file mode 100644 index 0000000000..02a94f841a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-inlining-underflow.js @@ -0,0 +1,18 @@ +function baz() { +} + +function bar() { + baz.apply(this, arguments); +} + +for (var i = 0; i < 1000; ++i) + bar(1, 2, 3, 4, 5, 6, 7); + +function foo() { + bar(); +} + +noInline(foo); + +for (var i = 0; i < 10000; ++i) + foo(); diff --git a/implementation-contributed/javascriptcore/stress/varargs-no-forward.js b/implementation-contributed/javascriptcore/stress/varargs-no-forward.js new file mode 100644 index 0000000000..87de84b514 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-no-forward.js @@ -0,0 +1,18 @@ +function foo(a, b, c) { + return a + b * 2 + c * 3; +} + +noInline(foo); + +function baz(args) { + return foo.apply(this, args); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz([5, 6, 7]); + if (result != 5 + 6 * 2 + 7 * 3) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/varargs-simple.js b/implementation-contributed/javascriptcore/stress/varargs-simple.js new file mode 100644 index 0000000000..f604a74ed7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-simple.js @@ -0,0 +1,18 @@ +function foo(a, b, c) { + return a + b * 2 + c * 3; +} + +noInline(foo); + +function baz() { + return foo.apply(this, arguments); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(5, 6, 7); + if (result != 5 + 6 * 2 + 7 * 3) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/varargs-then-slow-call.js b/implementation-contributed/javascriptcore/stress/varargs-then-slow-call.js new file mode 100644 index 0000000000..a766ae7069 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-then-slow-call.js @@ -0,0 +1,40 @@ +function foo(a, b) { + return a + b; +} +noInline(foo); + +function bar() { + return foo.apply(this, arguments); +} + +function fuzz(a, b, c, d, e, f) { + return a + b + c + d + e + f; +} +noInline(fuzz); + +function baz(array) { + var a = array[0]; + var b = array[1]; + var c = array[2]; + var d = array[3]; + var e = array[4]; + var f = array[5]; + var g = array[6]; + var h = array[7]; + var i = array[8]; + var j = array[9]; + + var x = bar(a, b); + var y = fuzz(a, b, c, d, e, f); + + return a + b + c + d + e + f + g + h + i + j + x + y; +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]); + if (result != 61) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/varargs-too-few-arguments.js b/implementation-contributed/javascriptcore/stress/varargs-too-few-arguments.js new file mode 100644 index 0000000000..36c062a668 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-too-few-arguments.js @@ -0,0 +1,16 @@ +function foo(a, b) { + return [a, b]; +} + +function bar() { + return foo.apply(null, arguments); +} + +noInline(bar); + +for (var i = 0; i < 10000; ++i) { + var result = bar(1); + if ("" + result != "1,") + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/varargs-two-level.js b/implementation-contributed/javascriptcore/stress/varargs-two-level.js new file mode 100644 index 0000000000..52288edff4 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-two-level.js @@ -0,0 +1,22 @@ +function foo(a, b, c) { + return a + b * 2 + c * 3; +} + +noInline(foo); + +function bar() { + return foo.apply(this, arguments); +} + +function baz() { + return bar.apply(this, arguments); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(5, 6, 7); + if (result != 5 + 6 * 2 + 7 * 3) + throw "Error: bad result: " + result; +} + diff --git a/implementation-contributed/javascriptcore/stress/varargs-varargs-closure-inlined-exit.js b/implementation-contributed/javascriptcore/stress/varargs-varargs-closure-inlined-exit.js new file mode 100644 index 0000000000..b7b2d4c359 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-varargs-closure-inlined-exit.js @@ -0,0 +1,24 @@ +function foo(a, b) { + return a + b; +} + +function baz() { + function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); + } + return bar.apply(null, arguments); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = baz(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit-strict-mode.js b/implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit-strict-mode.js new file mode 100644 index 0000000000..139d75d996 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit-strict-mode.js @@ -0,0 +1,27 @@ +"use strict"; + +function foo(a, b) { + return a + b; +} + +function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); +} + +function baz() { + return bar.apply(this, arguments); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = baz(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit.js b/implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit.js new file mode 100644 index 0000000000..7a243cb63c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-varargs-inlined-exit.js @@ -0,0 +1,25 @@ +function foo(a, b) { + return a + b; +} + +function bar() { + var a = arguments; + var tmp = arguments[0] + 1; + return tmp + foo.apply(null, a); +} + +function baz() { + return bar.apply(this, arguments); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) { + var result = baz(1, 2); + if (result != 1 + 1 + 3) + throw "Error: bad result: " + result; +} + +var result = baz(1.5, 2); +if (result != 1.5 + 1 + 3.5) + throw "Error: bad result at end: " + result; diff --git a/implementation-contributed/javascriptcore/stress/varargs-with-unused-count.js b/implementation-contributed/javascriptcore/stress/varargs-with-unused-count.js new file mode 100644 index 0000000000..48ab08b9a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/varargs-with-unused-count.js @@ -0,0 +1,23 @@ +function foo(p, q, r) { + while (r) { + if (p) + return 1; + else if (p) + return 2; + else + throw "error"; + } +} + +function bar() { + foo.apply(this, arguments); +} + +function baz(a, b, c, d) { + bar(a, b, c, d); +} + +noInline(baz); + +for (var i = 0; i < 10000; ++i) + baz(1, 2, 3, 4); diff --git a/implementation-contributed/javascriptcore/stress/variable-named-eval-under-tdz.js b/implementation-contributed/javascriptcore/stress/variable-named-eval-under-tdz.js new file mode 100644 index 0000000000..324fa770a9 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/variable-named-eval-under-tdz.js @@ -0,0 +1,87 @@ +function shouldThrowTDZ(func) { + var hasThrown = false; + try { + func(); + } catch(e) { + hasThrown = e instanceof ReferenceError; + } + if (!hasThrown) + throw new Error("Did not throw TDZ error"); +} + +function test(f, n = 1000) { + for (let i = 0; i < n; i++) + f(); +} + +test(function() { + function foo() { + eval("20"); + let eval; + } + shouldThrowTDZ(foo); +}); + +test(function() { + function foo() { + eval("20"); + let {eval} = {eval:450}; + } + shouldThrowTDZ(foo); +}); + +test(function() { + function foo() { + eval("20"); + const eval = 45; + } + shouldThrowTDZ(foo); +}); + +test(function() { + function foo() { + eval("20"); + } + shouldThrowTDZ(foo); + let eval; +}); + +test(function() { + function foo() { + eval("20"); + } + shouldThrowTDZ(foo); + let {eval} = {eval:450}; +}); + +test(function() { + function foo() { + eval("20"); + } + shouldThrowTDZ(foo); + const eval = 45; +}); + +{ + let threw = false; + try { + eval(20); + let eval; + } catch(e) { + threw = e instanceof ReferenceError; + } + if (!threw) + throw new Error("Bad") +} + +{ + let threw = false; + try { + eval(20); + const eval = 25; + } catch(e) { + threw = e instanceof ReferenceError; + } + if (!threw) + throw new Error("Bad") +} diff --git a/implementation-contributed/javascriptcore/stress/variable-under-tdz-eval-tricky.js b/implementation-contributed/javascriptcore/stress/variable-under-tdz-eval-tricky.js new file mode 100644 index 0000000000..23b94c35ab --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/variable-under-tdz-eval-tricky.js @@ -0,0 +1,60 @@ +function assert(b) { + if (!b) + throw new Error("Bad!") +} + + +{ + let threw = false; + try { + let underTDZ = { + prop: eval("function pleaseTDZMe(){ return underTDZ; }; pleaseTDZMe();") + }; + } catch(e) { + threw = e instanceof ReferenceError; + } + assert(threw); +} + +{ + let threw = false; + try { + const underTDZ = { + prop: eval("function pleaseTDZMe(){ return underTDZ; }; pleaseTDZMe();") + }; + } catch(e) { + threw = e instanceof ReferenceError; + } + assert(threw); +} + +{ + let threw = false; + try { + class underTDZ extends eval("function pleaseTDZMe() { return underTDZ; }; pleaseTDZMe()") { }; + } catch(e) { + threw = e instanceof ReferenceError; + } + assert(threw); +} + +{ + let threw = false; + try { + let b = {a: eval("function b(){ return b; }"), b: (1, eval)("(b())")}; + } catch(e) { + threw = e instanceof SyntaxError; + } + assert(threw); +} + +{ + let threw = false; + try { + let {b} = {a: eval("function b(){ return b; }"), b: (1, eval)("print(b())")}; + } catch(e) { + threw = e instanceof SyntaxError; + } + assert(threw); +} + diff --git a/implementation-contributed/javascriptcore/stress/vector-length-hint-array-constructor.js b/implementation-contributed/javascriptcore/stress/vector-length-hint-array-constructor.js new file mode 100644 index 0000000000..8e8f52cf45 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/vector-length-hint-array-constructor.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + String(actual) + ' ' + String(expected)); +} + +function test(constructor) +{ + var array = new constructor(1, 2); + for (var i = 0; i < 20; ++i) + array.push(i); + return array; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var result = test(Array); + shouldBe(JSON.stringify(result), `[1,2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]`); +} diff --git a/implementation-contributed/javascriptcore/stress/vector-length-hint-new-array.js b/implementation-contributed/javascriptcore/stress/vector-length-hint-new-array.js new file mode 100644 index 0000000000..d8cb6c9905 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/vector-length-hint-new-array.js @@ -0,0 +1,18 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + String(actual) + ' ' + String(expected)); +} + +function test(v0, v1) +{ + var array = [v0, v1]; + for (var i = 0; i < 20; ++i) + array.push(i); + return array; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var result = test(1, 2); + shouldBe(JSON.stringify(result), `[1,2,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]`); +} diff --git a/implementation-contributed/javascriptcore/stress/watchdog-dont-malloc-when-in-c-code.js b/implementation-contributed/javascriptcore/stress/watchdog-dont-malloc-when-in-c-code.js new file mode 100644 index 0000000000..a004b553e7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/watchdog-dont-malloc-when-in-c-code.js @@ -0,0 +1,5 @@ +//@ runFTLEagerWatchdog + +for (let i = 0; i < 7000; ++i) { + mallocInALoop(); +} diff --git a/implementation-contributed/javascriptcore/stress/weak-map-constructor-adder.js b/implementation-contributed/javascriptcore/stress/weak-map-constructor-adder.js new file mode 100644 index 0000000000..67034bc7a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weak-map-constructor-adder.js @@ -0,0 +1,51 @@ +// WeakMap constructor with adder change. + +var originalAdder = WeakMap.prototype.set; +var counter = 0; + +WeakMap.prototype.set = function (key, value) { + counter++; + return originalAdder.call(this, key, value); +}; + +var obj0 = {}; +var obj1 = {}; +var obj2 = []; +var obj3 = new Date(); +var obj4 = new Error(); +var obj5 = JSON; + +var values = [ + [ obj0, 0 ], + [ obj1, 1 ], + [ obj2, 2 ], + [ obj3, 3 ], + [ obj4, 4 ], + [ obj5, 5 ], + [ obj4, 4 ], + [ obj3, 3 ], + [ obj2, 2 ], + [ obj1, 1 ], + [ obj0, 0 ], +]; +var map = new WeakMap(values); +if (counter !== values.length) + throw "Error: bad counter " + counter; + +WeakMap.prototype.set = function () { + throw new Error("adder called"); +}; + +var map = new WeakMap(); +var map = new WeakMap([]); +var error = null; +try { + var map = new WeakMap([ [0, 0] ]); +} catch (e) { + error = e; +} +if (!error) + throw "Error: error not thrown"; +if (String(error) !== "Error: adder called") + throw "Error: bad error " + String(error); + diff --git a/implementation-contributed/javascriptcore/stress/weak-map-constructor.js b/implementation-contributed/javascriptcore/stress/weak-map-constructor.js new file mode 100644 index 0000000000..353a313f3f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weak-map-constructor.js @@ -0,0 +1,144 @@ +// WeakMap constructor behaviors. + +if (typeof WeakMap !== 'function') + throw "Error: bad value" + typeof WeakMap; + +function testCallTypeError(item) { + var error = null; + try { + var map = WeakMap(item); + } catch (e) { + error = e; + } + if (!error) + throw "Error: error not thrown"; + if (String(error) !== "TypeError: calling WeakMap constructor without new is invalid") + throw "Error: bad error " + String(error); +} +var obj1 = {}; +var obj2 = []; +var obj3 = new Date(); +var obj4 = new Error(); + +var pass = [ + null, + undefined, + [], + new Set(), + new Map(), + "", + + [ + [obj1, 1], + [obj2, 2], + [obj3, 3], + ], + + [ + [obj1, 1], + [obj1, 2], + [obj1, 3], + ], + + [ + { 0: obj2, 1: 'O' }, + { 0: obj3, 1: 'K' }, + { 0: obj4, 1: 'K' }, + ], + + new Map([ + [obj1, 1], + [obj2, 2], + [obj3, 3], + ]), + + new Map([ + [obj1, 1], + [obj1, 2], + [obj1, 3], + ]), + + new Map([ + { 0: obj2, 1: 'O' }, + { 0: obj3, 1: 'K' }, + { 0: obj4, 1: 'K' }, + ]), +]; + +for (var value of pass) { + var map = new WeakMap(value); + testCallTypeError(value); +} + +function testTypeError(item, message) { + var error = null; + try { + var map = new WeakMap(item); + } catch (e) { + error = e; + } + if (!error) + throw "Error: error not thrown"; + if (!message) + message = "TypeError: Type error"; + if (String(error) !== message) + throw "Error: bad error " + String(error); +} + +var nonIterable = [ + 42, + Symbol("Cappuccino"), + true, + false, + {}, + new Date(), + new Error(), + Object(Symbol("Matcha")), + (function () { }), +]; + +for (var item of nonIterable) { + testTypeError(item); + testCallTypeError(item); +} + +var notContainNextItem = [ + "Cocoa", + [0, 1, 2, 3, 4], + [0, 0, 0, 1, 0], + ["A", "B", "A"], + new String("cocoa"), + new String("Cocoa"), + new Set([0,1,2,3,4]), + new Set([1,1,1,1]), +]; + +for (var item of notContainNextItem) { + testTypeError(item); + testCallTypeError(item); +} + +var nonObjectKeys = [ + [ + [0, 1], + [1, 2], + [1, 3], + ], + + [ + [1, 1], + [1, 2], + [1, 3], + ], + + [ + { 0: 'C', 1: 'O' }, + { 0: 'C', 1: 'K' }, + { 0: 'V', 1: 'K' }, + ], +]; + +for (var item of nonObjectKeys) { + testTypeError(item, 'TypeError: Attempted to set a non-object key in a WeakMap'); + testCallTypeError(item); +} diff --git a/implementation-contributed/javascriptcore/stress/weak-set-constructor-adder.js b/implementation-contributed/javascriptcore/stress/weak-set-constructor-adder.js new file mode 100644 index 0000000000..3c600c1b4a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weak-set-constructor-adder.js @@ -0,0 +1,51 @@ +// WeakSet constructor with adder change. + +var originalAdder = WeakSet.prototype.add; +var counter = 0; + +WeakSet.prototype.add = function (key) { + counter++; + return originalAdder.call(this, key); +}; + +var obj0 = {}; +var obj1 = {}; +var obj2 = []; +var obj3 = new Date(); +var obj4 = new Error(); +var obj5 = JSON; + +var values = [ + obj0, + obj1, + obj2, + obj3, + obj4, + obj5, + obj4, + obj3, + obj2, + obj1, + obj0, +]; +var set = new WeakSet(values); +if (counter !== values.length) + throw new Error("bad counter " + counter); + +WeakSet.prototype.add = function () { + throw new Error("adder called"); +}; + +var set = new WeakSet(); +var set = new WeakSet([]); +var error = null; +try { + var set = new WeakSet([ 0 ]); +} catch (e) { + error = e; +} +if (!error) + throw new Error("error not thrown"); +if (String(error) !== "Error: adder called") + throw new Error("bad error " + String(error)); + diff --git a/implementation-contributed/javascriptcore/stress/weak-set-constructor.js b/implementation-contributed/javascriptcore/stress/weak-set-constructor.js new file mode 100644 index 0000000000..1b5057200d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weak-set-constructor.js @@ -0,0 +1,146 @@ +// WeakSet constructor behaviors. + +if (typeof WeakSet !== 'function') + throw new Error("bad value" + typeof WeakSet); + +function testCallTypeError(item) { + var error = null; + try { + var set = WeakSet(item); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (String(error) !== "TypeError: calling WeakSet constructor without new is invalid") + throw new Error("bad error " + String(error)); +} +var obj1 = {}; +var obj2 = []; +var obj3 = new Date(); +var obj4 = new Error(); + +var pass = [ + null, + undefined, + [], + new Set(), + new Map(), + "", + + [ + obj1, + obj2, + obj3, + ], + + [ + obj1, + obj1, + obj1, + ], + + [ + obj2, + obj3, + obj4, + ], + + new Map([ + [obj1, 1], + [obj2, 2], + [obj3, 3], + ]), + + new Map([ + [obj1, 1], + [obj1, 2], + [obj1, 3], + ]), + + new Set([ + obj1, + obj2, + obj3, + ]), + + new Set([ + obj1, + obj1, + obj1, + ]), + + new Map([ + { 0: obj2, 1: 'O' }, + { 0: obj3, 1: 'K' }, + { 0: obj4, 1: 'K' }, + ]), + + new Set([ + obj2, + obj3, + obj4, + ]) +]; + +for (var value of pass) { + var set = new WeakSet(value); + testCallTypeError(value); +} + +function testTypeError(item, message) { + var error = null; + try { + var set = new WeakSet(item); + } catch (e) { + error = e; + } + if (!error) + throw new Error("error not thrown"); + if (!message) + message = "TypeError: Type error"; + if (String(error) !== message) + throw new Error("bad error " + String(error)); +} + +var nonIterable = [ + 42, + Symbol("Cappuccino"), + true, + false, + {}, + new Date(), + new Error(), + Object(Symbol("Matcha")), + (function () { }), +]; + +for (var item of nonIterable) { + testTypeError(item); + testCallTypeError(item); +} + +var nonObjectKeys = [ + [ + 0, + 1, + 1, + ], + + [ + 1, + 1, + 1, + ], + + [ + 'C', + 'C', + 'V', + ], +]; + +for (var item of nonObjectKeys) { + testTypeError(item, 'TypeError: Attempted to add a non-object key to a WeakSet'); + testCallTypeError(item); +} diff --git a/implementation-contributed/javascriptcore/stress/weakmap-cse-set-break.js b/implementation-contributed/javascriptcore/stress/weakmap-cse-set-break.js new file mode 100644 index 0000000000..5dc6535b68 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakmap-cse-set-break.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new WeakMap(); + var key = {}; + var key2 = {}; + + map.set(key, 42); + var res1 = map.get(key); + map.set(key2, 2017); + var res2 = map.get(key); + return [res1, res2]; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var [res1, res2] = test(); + shouldBe(res1, 42); + shouldBe(res2, 42); +} diff --git a/implementation-contributed/javascriptcore/stress/weakmap-cse.js b/implementation-contributed/javascriptcore/stress/weakmap-cse.js new file mode 100644 index 0000000000..14ebc8ad40 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakmap-cse.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var map = new WeakMap(); + var key = {}; + var key2 = {}; + + map.set(key, 42); + map.set(key2, 2017); + if (map.has(key)) + return map.get(key); + return 0; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(), 42); diff --git a/implementation-contributed/javascriptcore/stress/weakmap-gc.js b/implementation-contributed/javascriptcore/stress/weakmap-gc.js new file mode 100644 index 0000000000..f63f4752ce --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakmap-gc.js @@ -0,0 +1,11 @@ +function test() +{ + var map = new WeakMap(); + for (var i = 0; i < 1e6; ++i) { + map.set({}, i); + } + return map; +} +noInline(test); +var map = test(); +fullGC(); diff --git a/implementation-contributed/javascriptcore/stress/weakmap-set-change-get.js b/implementation-contributed/javascriptcore/stress/weakmap-set-change-get.js new file mode 100644 index 0000000000..b511e580a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakmap-set-change-get.js @@ -0,0 +1,27 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var key1 = {}; + var map = new WeakMap(); + var res1 = map.get(key1); + map.set(key1, 20); + var res2 = map.get(key1); + map.set(key1, 400); + var res3 = map.get(key1); + map.delete(key1); + var res4 = map.get(key1); + return [res1, res2, res3, res4]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var [res1, res2, res3, res4] = test(); + shouldBe(res1, undefined); + shouldBe(res2, 20); + shouldBe(res3, 400); + shouldBe(res4, undefined); +} diff --git a/implementation-contributed/javascriptcore/stress/weakmap-set-cse.js b/implementation-contributed/javascriptcore/stress/weakmap-set-cse.js new file mode 100644 index 0000000000..f5f04936ad --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakmap-set-cse.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var key1 = {}; + var map = new WeakMap(); + var r1 = map.get(key1); + map.set(key1, 42); + var r2 = map.get(key1); + return [r1, r2]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + let [r1, r2] = test(); + shouldBe(r1, undefined); + shouldBe(r2, 42); +} diff --git a/implementation-contributed/javascriptcore/stress/weakset-add-change-get.js b/implementation-contributed/javascriptcore/stress/weakset-add-change-get.js new file mode 100644 index 0000000000..78fabef8a5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakset-add-change-get.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var key1 = {}; + var set = new WeakSet(); + var res1 = set.has(key1); + set.add(key1); + var res2 = set.has(key1); + set.delete(key1); + var res3 = set.has(key1); + return [res1, res2, res3]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + var [res1, res2, res3] = test(); + shouldBe(res1, false); + shouldBe(res2, true); + shouldBe(res3, false); +} diff --git a/implementation-contributed/javascriptcore/stress/weakset-add-cse.js b/implementation-contributed/javascriptcore/stress/weakset-add-cse.js new file mode 100644 index 0000000000..d0c4cea668 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakset-add-cse.js @@ -0,0 +1,22 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var key1 = {}; + var set = new WeakSet(); + var r1 = set.has(key1); + set.add(key1); + var r2 = set.has(key1); + return [r1, r2]; +} +noInline(test); + +for (var i = 0; i < 1e5; ++i) { + let [r1, r2] = test(); + shouldBe(r1, false); + shouldBe(r2, true); +} diff --git a/implementation-contributed/javascriptcore/stress/weakset-cse-add-break.js b/implementation-contributed/javascriptcore/stress/weakset-cse-add-break.js new file mode 100644 index 0000000000..8774d69e91 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakset-cse-add-break.js @@ -0,0 +1,24 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var set = new WeakSet(); + var key = {}; + var key2 = {}; + + set.add(key); + var res1 = set.has(key); + set.add(key2); + var res2 = set.has(key); + return [res1, res2]; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) { + var [res1, res2] = test(); + shouldBe(res1, true); + shouldBe(res2, true); +} diff --git a/implementation-contributed/javascriptcore/stress/weakset-cse.js b/implementation-contributed/javascriptcore/stress/weakset-cse.js new file mode 100644 index 0000000000..2ba008bb49 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakset-cse.js @@ -0,0 +1,21 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test() +{ + var set = new WeakSet(); + var key = {}; + var key2 = {}; + + set.add(key); + set.add(key2); + if (set.has(key)) + return set.has(key); + return 0; +} +noInline(test); + +for (var i = 0; i < 1e6; ++i) + shouldBe(test(), true); diff --git a/implementation-contributed/javascriptcore/stress/weakset-gc.js b/implementation-contributed/javascriptcore/stress/weakset-gc.js new file mode 100644 index 0000000000..d8432fe42b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weakset-gc.js @@ -0,0 +1,11 @@ +function test() +{ + var set = new WeakSet(); + for (var i = 0; i < 1e6; ++i) { + set.add({}); + } + return set; +} +noInline(test); +var set = test(); +fullGC(); diff --git a/implementation-contributed/javascriptcore/stress/weird-equality-folding-cases.js b/implementation-contributed/javascriptcore/stress/weird-equality-folding-cases.js new file mode 100644 index 0000000000..d2c618ee9d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weird-equality-folding-cases.js @@ -0,0 +1,13 @@ +function test(actualFunction, expected) { + var actual = actualFunction(); + if (actual != expected) + throw new Error("bad in " + actualFunction + " result: " + actual); +} + +noInline(test); + +for (var i = 0; i < 10000; ++i) { + test(function() { return "5" == 5; }, true); + test(function() { return ({valueOf:function(){return 42;}}) == 42; }, true); + test(function() { return ({valueOf:function(){return 42;}}) == ({valueOf:function(){return 42;}}) }, false); +} diff --git a/implementation-contributed/javascriptcore/stress/weird-getter-counter.js b/implementation-contributed/javascriptcore/stress/weird-getter-counter.js new file mode 100644 index 0000000000..ff9433447b --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weird-getter-counter.js @@ -0,0 +1,24 @@ +function foo(o) { + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, expected, expectedCount) { + var result = foo(o); + if (result != expected) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineGetter__("f", function() { + counter++; + return 84; + }); + test(o, 84, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/weird-put-stack-varargs.js b/implementation-contributed/javascriptcore/stress/weird-put-stack-varargs.js new file mode 100644 index 0000000000..ffa9ab19f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weird-put-stack-varargs.js @@ -0,0 +1,26 @@ +function baz() { + if (!foo.arguments[1]) + throw "Error: foo.arguments[1] should be truthy but is falsy: " + foo.arguments[1]; +} + +noInline(baz); + +function foo(a, b) { + if (a) + b = 42; + baz(); +} + +function fuzz(a, b) { + return a + b; +} + +function bar(array1, array2) { + fuzz.apply(this, array1); + foo.apply(this, array2); +} + +noInline(bar); + +for (var i = 0; i < 100000; ++i) + bar([false, false], [false, true]); diff --git a/implementation-contributed/javascriptcore/stress/weird-setter-counter-syntactic.js b/implementation-contributed/javascriptcore/stress/weird-setter-counter-syntactic.js new file mode 100644 index 0000000000..b3843e895e --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weird-setter-counter-syntactic.js @@ -0,0 +1,29 @@ +function foo(o, value) { + o.f = value; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + var o = { + get f() { + return this._f; + }, + set f(value) { + counter++; + this._f = value; + } + }; + test(o, i, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/weird-setter-counter.js b/implementation-contributed/javascriptcore/stress/weird-setter-counter.js new file mode 100644 index 0000000000..d76bceeb7d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/weird-setter-counter.js @@ -0,0 +1,26 @@ +function foo(o, value) { + o.f = value; + return o.f; +} + +noInline(foo); + +var counter = 0; + +function test(o, value, expectedCount) { + var result = foo(o, value); + if (result != value) + throw new Error("Bad result: " + result); + if (counter != expectedCount) + throw new Error("Bad counter value: " + counter); +} + +for (var i = 0; i < 100000; ++i) { + var o = {}; + o.__defineSetter__("f", function(value) { + counter++; + this._f = value; + }); + o.__defineGetter__("f", function() { return this._f; }); + test(o, i, counter + 1); +} diff --git a/implementation-contributed/javascriptcore/stress/with.js b/implementation-contributed/javascriptcore/stress/with.js new file mode 100644 index 0000000000..b9ad0c28f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/with.js @@ -0,0 +1,24 @@ +function foo (x, y, z, newX, checkZ, errorMessage) { + with(z) { + x = y; + } + if (x !== newX || !checkZ(z)) { + throw errorMessage; + } +} + +for (var i = 0; i < 10000; ++i) { + foo(1, 2, {a:42}, 2, z => z.a === 42, "Error: bad result for non-overlapping case, i = " + i); + foo(1, 2, {x:42}, 1, z => z.x === 2, "Error: bad result for setter case, i = " + i); + foo(1, 2, {y:42}, 42, z => z.y === 42, "Error: bad result for getter case, i = " + i); + foo(1, 2, {x:42, y:13}, 1, z => z.x === 13 && z.y === 13, "Error: bad result for setter/getter case, i = " + i); + foo(1, 2, "toto", 2, z => z === "toto", "Error: bad result for string case, i = " + i); + try { + foo(1, 2, null, 2, z => + {throw "Error: missing type error, i = " + i}, "Unreachable"); + } catch (e) { + if (!(e instanceof TypeError)) { + throw e; + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/with_and_arith.js b/implementation-contributed/javascriptcore/stress/with_and_arith.js new file mode 100644 index 0000000000..85cbf93f29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/with_and_arith.js @@ -0,0 +1,6 @@ +for (var i = 0; i < 10000;) { + var x = 1; + with({}) { + i += x; + } +} diff --git a/implementation-contributed/javascriptcore/stress/yield-and-line-terminator.js b/implementation-contributed/javascriptcore/stress/yield-and-line-terminator.js new file mode 100644 index 0000000000..139332b47d --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-and-line-terminator.js @@ -0,0 +1,36 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax(` +function * gen() { + yield + 20; +} +`); + +testSyntaxError(` +function * gen() { + yield + *20; +} +`, "SyntaxError: Unexpected token '*'"); diff --git a/implementation-contributed/javascriptcore/stress/yield-label-generator.js b/implementation-contributed/javascriptcore/stress/yield-label-generator.js new file mode 100644 index 0000000000..99a99baa2f --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-label-generator.js @@ -0,0 +1,58 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +function *test() { + { + yield: for (var i = 0; i < 1000; ++i) { + break yield; + } + } +} +`, `SyntaxError: Cannot use 'yield' as a label in a generator function.`); + +testSyntaxError(` +function *test() { + { + label: for (var i = 0; i < 1000; ++i) { + break yield; + } + } +} +`, `SyntaxError: Unexpected keyword 'yield'. Expected an identifier as the target for a break statement.`); + +testSyntaxError(` +function *test() { + { + label: for (var i = 0; i < 1000; ++i) { + continue yield; + } + } +} +`, `SyntaxError: Unexpected keyword 'yield'. Expected an identifier as the target for a continue statement.`) + +testSyntax(` +function *test() { + "OK" ? yield : "NG"; // This is not a label. +} +`); diff --git a/implementation-contributed/javascriptcore/stress/yield-label.js b/implementation-contributed/javascriptcore/stress/yield-label.js new file mode 100644 index 0000000000..009a3a6e29 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-label.js @@ -0,0 +1,64 @@ +// http://ecma-international.org/ecma-262/6.0/#sec-identifiers-static-semantics-early-errors +// If the "yield" label is used under the sloppy mode and the context is not +// a generator context, we can use "yield" as a label. + +(function () { + { + yield: for (var i = 0; i < 1000; ++i) { + break yield; + } + } + { + yield: for (var i = 0; i < 1000; ++i) { + continue yield; + } + } +}()); + + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +function test() { + "use strict"; + { + yield: for (var i = 0; i < 1000; ++i) { + break yield; + } + } +} +`, `SyntaxError: Cannot use 'yield' as a label in strict mode.`); + +testSyntaxError(` +function test() { + "use strict"; + { + label: for (var i = 0; i < 1000; ++i) { + break yield; + } + } +} +`, `SyntaxError: Unexpected keyword 'yield'. Expected an identifier as the target for a break statement.`); + +testSyntaxError(` +function test() { + "use strict"; + { + label: for (var i = 0; i < 1000; ++i) { + continue yield; + } + } +} +`, `SyntaxError: Unexpected keyword 'yield'. Expected an identifier as the target for a continue statement.`) diff --git a/implementation-contributed/javascriptcore/stress/yield-named-accessors-generator.js b/implementation-contributed/javascriptcore/stress/yield-named-accessors-generator.js new file mode 100644 index 0000000000..a137a3eed2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-named-accessors-generator.js @@ -0,0 +1,17 @@ +function *t1() { + let object = { + get yield() { + }, + set yield(value) { + } + } +} +function *t2() { + "use strict"; + let object = { + get yield() { + }, + set yield(value) { + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/yield-named-accessors.js b/implementation-contributed/javascriptcore/stress/yield-named-accessors.js new file mode 100644 index 0000000000..e2924223e2 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-named-accessors.js @@ -0,0 +1,17 @@ +function t1() { + let object = { + get yield() { + }, + set yield(value) { + } + } +} +function t2() { + "use strict"; + let object = { + get yield() { + }, + set yield(value) { + } + } +} diff --git a/implementation-contributed/javascriptcore/stress/yield-named-variable-generator.js b/implementation-contributed/javascriptcore/stress/yield-named-variable-generator.js new file mode 100644 index 0000000000..3fe8046d1a --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-named-variable-generator.js @@ -0,0 +1,112 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntaxError(` +function *t1() { + var yield = 20; +} +`, `SyntaxError: Cannot use 'yield' as a variable name in a generator function.`); +testSyntaxError(` +function *t1() { + let yield = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); +testSyntaxError(` +function *t1() { + const yield = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); + +testSyntaxError(` +function *t1() { + var { yield } = 20; +} +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); +testSyntaxError(` +function *t1() { + let { yield } = 20; +} +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); +testSyntaxError(` +function *t1() { + const { yield } = 20; +} +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); + +testSyntaxError(` +function *t1() { + var { i: yield } = 20; +} +`, `SyntaxError: Cannot use 'yield' as a variable name in a generator function.`); +testSyntaxError(` +function *t1() { + let { i: yield } = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); +testSyntaxError(` +function *t1() { + const { i: yield } = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); + +testSyntaxError(` +function *t1() { + var [ yield ] = 20; +} +`, `SyntaxError: Cannot use 'yield' as a variable name in a generator function.`); +testSyntaxError(` +function *t1() { + let [ yield ] = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); +testSyntaxError(` +function *t1() { + const [ yield ] = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); + +testSyntaxError(` +function *t1() { + function yield() { } +} +`, `SyntaxError: Unexpected keyword 'yield'`); +testSyntax(` +function t1() { + function *yield() { + } +} +`); + +testSyntaxError(` +function *t1() { + try { + } catch (yield) { + } +} +`, `SyntaxError: Cannot use 'yield' as a catch parameter name in a generator function.`); + +testSyntax(` +function *t1() { + (function yield() {}) +} +`); diff --git a/implementation-contributed/javascriptcore/stress/yield-named-variable.js b/implementation-contributed/javascriptcore/stress/yield-named-variable.js new file mode 100644 index 0000000000..3809b32289 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-named-variable.js @@ -0,0 +1,198 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax(` +function t1() { + var yield = 20; +} +`); +testSyntax(` +function t1() { + let yield = 20; +} +`); +testSyntax(` +function t1() { + const yield = 20; +} +`); + +testSyntaxError(` +function t1() { + "use strict"; + var yield = 20; +} +`, `SyntaxError: Cannot use 'yield' as a variable name in strict mode.`); +testSyntaxError(` +function t1() { + "use strict"; + let yield = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.`); +testSyntaxError(` +function t1() { + "use strict"; + const yield = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.`); + +testSyntax(` +function t1() { + var { yield } = 20; +} +`); +testSyntax(` +function t1() { + let { yield } = 20; +} +`); +testSyntax(` +function t1() { + const { yield } = 20; +} +`); + +testSyntaxError(` +function t1() { + "use strict"; + var { yield } = 20; +} +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); +testSyntaxError(` +function t1() { + "use strict"; + let { yield } = 20; +} +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); +testSyntaxError(` +function t1() { + "use strict"; + const { yield } = 20; +} +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); + +testSyntax(` +function t1() { + var { i: yield } = 20; +} +`); +testSyntax(` +function t1() { + let { i: yield } = 20; +} +`); +testSyntax(` +function t1() { + const { i: yield } = 20; +} +`); + +testSyntaxError(` +function t1() { + "use strict"; + var { i: yield } = 20; +} +`, `SyntaxError: Cannot use 'yield' as a variable name in strict mode.`); +testSyntaxError(` +function t1() { + "use strict"; + let { i: yield } = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.`); +testSyntaxError(` +function t1() { + "use strict"; + const { i: yield } = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.`); + +testSyntax(` +function t1() { + var [ yield ] = 20; +} +`); +testSyntax(` +function t1() { + let [ yield ] = 20; +} +`); +testSyntax(` +function t1() { + const [ yield ] = 20; +} +`); + +testSyntaxError(` +function t1() { + "use strict"; + var [ yield ] = 20; +} +`, `SyntaxError: Cannot use 'yield' as a variable name in strict mode.`); +testSyntaxError(` +function t1() { + "use strict"; + let [ yield ] = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.`); +testSyntaxError(` +function t1() { + "use strict"; + const [ yield ] = 20; +} +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.`); + +testSyntax(` +function t1() { + function yield() { } +} +`); +testSyntaxError(` +function t1() { + "use strict"; + function yield() { } +} +`, `SyntaxError: Cannot use 'yield' as a function name in strict mode.`); + +testSyntax(` +function t1() { + try { + } catch (yield) { + } +} +`); +testSyntaxError(` +function t1() { + "use strict"; + try { + } catch (yield) { + } +} +`, `SyntaxError: Cannot use 'yield' as a catch parameter name in strict mode.`); + +testSyntax(` +function t1() { + function yield() { + "use strict"; + } +} +`); diff --git a/implementation-contributed/javascriptcore/stress/yield-out-of-generator.js b/implementation-contributed/javascriptcore/stress/yield-out-of-generator.js new file mode 100644 index 0000000000..64200c7473 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-out-of-generator.js @@ -0,0 +1,166 @@ +function testSyntax(script) { + try { + eval(script); + } catch (error) { + if (error instanceof SyntaxError) + throw new Error("Bad error: " + String(error)); + } +} + +function testSyntaxError(script, message) { + var error = null; + try { + eval(script); + } catch (e) { + error = e; + } + if (!error) + throw new Error("Expected syntax error not thrown"); + + if (String(error) !== message) + throw new Error("Bad error: " + String(error)); +} + +testSyntax(` +yield; +`); + +testSyntaxError(` +yield*; +`, "SyntaxError: Unexpected token ';'"); + +testSyntaxError(` +yield 0; +`, "SyntaxError: Unexpected number '0'"); + +testSyntax(` +yield* 0; +`); + +testSyntax(` +function hello() { + yield; +} +`); + +testSyntaxError(` +function hello() { + yield*; +} +`, "SyntaxError: Unexpected token ';'"); + +testSyntaxError(` +function hello() { + yield 0; +} +`, "SyntaxError: Unexpected number '0'"); + +testSyntax(` +function hello() { + yield* 0; +} +`); + +testSyntax(` +function *gen() { + function hello() { + yield; + } +} +`); + +testSyntaxError(` +function *gen() { + function hello() { + yield*; + } +} +`, "SyntaxError: Unexpected token ';'"); + +testSyntaxError(` +function *gen() { + function hello() { + yield 0; + } +} +`, "SyntaxError: Unexpected number '0'"); + +testSyntax(` +function *gen() { + function hello() { + yield* 0; + } +} +`); + +testSyntax(` +function *gen() { + yield; +} +`); + +testSyntaxError(` +function *gen() { + yield*; +} +`, "SyntaxError: Unexpected token '*'"); + +testSyntax(` +function *gen() { + yield 0; +} +`); + +testSyntax(` +function *gen() { + yield* 0; +} +`); + +testSyntax(` +function *gen() { + { + let i = 30; + function ok() { + return i; + } + yield; + } +} +`); + +testSyntaxError(` +function *gen() { + { + let i = 30; + function ok() { + return i; + } + yield*; + } +} +`, "SyntaxError: Unexpected token '*'"); + +testSyntax(` +function *gen() { + { + let i = 30; + function ok() { + return i; + } + yield 0; + } +} +`); + +testSyntax(` +function *gen() { + { + let i = 30; + function ok() { + return i; + } + yield* 0; + } +} +`); diff --git a/implementation-contributed/javascriptcore/stress/yield-reserved-word.js b/implementation-contributed/javascriptcore/stress/yield-reserved-word.js new file mode 100644 index 0000000000..e6c5ef2d91 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-reserved-word.js @@ -0,0 +1,196 @@ +function shouldNotThrow(func) { + let error; + try { + func(); + } catch (e) { + error = e; + } + if (error) + throw new Error(`bad error: ${String(error)}`); +} + +function shouldThrow(func, errorMessage) { + let errorThrown = false; + let error; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error('not thrown'); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +function checkClassicNoSyntaxError(source) { + shouldNotThrow(() => eval(source)); +} + +function checkClassicSyntaxError(source, errorMessage) { + shouldThrow(() => eval(source), errorMessage); +} + +function checkStrictSyntaxError(source, errorMessage) { + shouldThrow(() => checkModuleSyntax(source), errorMessage); +} + + +function checkNoSyntaxErrorCases(source) { + checkClassicNoSyntaxError(source); + + // A nested function within a generator is allowed to use the "yield" name again + // within its body because they have FunctionBody[~Yield]. Same with method bodies. + checkClassicNoSyntaxError(`function *gen() { function f() { ${source} } }`); + checkClassicNoSyntaxError(`function *gen() { async function f() { ${source} } }`); + checkClassicNoSyntaxError(`function *gen() { let f = () => { ${source} } }`); + checkClassicNoSyntaxError(`function *gen() { let f = async () => { ${source} } }`); + checkClassicNoSyntaxError(`function *gen() { var o = { f() { ${source} } } }`); + checkClassicNoSyntaxError(`function *gen() { var o = { async f() { ${source} } } }`); + checkClassicNoSyntaxError(`function *gen() { var o = { get f() { ${source} } } }`); + checkClassicNoSyntaxError(`function *gen() { var o = { set f(x) { ${source} } } }`); +} + + +checkNoSyntaxErrorCases(`var yield`); +checkNoSyntaxErrorCases(`let yield`); +checkNoSyntaxErrorCases(`const yield = 1`); +checkNoSyntaxErrorCases(`var {yield} = {}`); +checkNoSyntaxErrorCases(`yield: 1`); +checkNoSyntaxErrorCases(`function yield(){}`); +checkNoSyntaxErrorCases(`function foo(yield){}`); + +checkNoSyntaxErrorCases(`(class { *yield(){} })`); // GeneratorMethod allows "yield" due to PropertyName[?Yield]. +checkNoSyntaxErrorCases(`function *yield(){}`); // GeneratorDeclaration allows "yield" name due to BindingIdentifier[?Yield]. + +checkNoSyntaxErrorCases(`var o = { yield(yield){ var yield } }`); // PropertyName[?Yield] ( UniqueFormalParameters[~Yield] ) { FunctionBody[~Yield] } +checkNoSyntaxErrorCases(`var o = { *yield(){} }`); // GeneratorMethod[?Yield] +checkNoSyntaxErrorCases(`var o = { async yield(){} }`); // AsyncMethod[?Yield] +checkNoSyntaxErrorCases(`var o = { get x(){ var yield } }`); // get PropertyName[?Yield] () { FunctionBody[~Yield] } +checkNoSyntaxErrorCases(`var o = { set x(yield){} }`); // set PropertyName[?Yield] ( PropertySetParameterList) { FunctionBody[~Yield] } +checkNoSyntaxErrorCases(`var o = { set x(yield){} }`); // PropertySetParameterList : FormalParameter[~Yield] + + +// Disallowed inside a generator. + +checkClassicSyntaxError(` +function* foo() { yield: 1; } +`, `SyntaxError: Cannot use 'yield' as a label in a generator function.`); + +checkClassicSyntaxError(` +function* foo() { var yield; } +`, `SyntaxError: Cannot use 'yield' as a variable name in a generator function.`); + +checkClassicSyntaxError(` +function* foo() { let yield; } +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in a generator function.`); + +checkClassicSyntaxError(` +function* foo() { var {yield} = {}; } +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.`); + +checkClassicSyntaxError(` +function* foo(yield){} +`, `SyntaxError: Cannot use 'yield' as a parameter name in a generator function.`); + +// GeneratorExpression BindingIdentifier[+Yield] on the name. +checkClassicSyntaxError(` +(function* yield() { }) +`, `SyntaxError: Cannot declare generator function named 'yield'.`); + +// GeneratorDeclaration BindingIdentifier[?Yield] on the name. +checkClassicSyntaxError(` +function* foo() { function* yield(){} } +`, `SyntaxError: Cannot use 'yield' as a generator function name in a generator function.`); + +// class BindingIdentifier[?Yield] on the name. +checkClassicSyntaxError(` +function* gen() { (class yield {}) } +`, `SyntaxError: Unexpected keyword 'yield'. Expected opening '{' at the start of a class body.`); + + +// Disallowed in strict code. + +checkStrictSyntaxError(` +function* foo() { yield: 1; } +`, `SyntaxError: Cannot use 'yield' as a label in strict mode.:2`); + +checkStrictSyntaxError(` +var yield; +`, `SyntaxError: Cannot use 'yield' as a variable name in strict mode.:2`); + +checkStrictSyntaxError(` +let yield; +`, `SyntaxError: Cannot use 'yield' as a lexical variable name in strict mode.:2`); + +checkStrictSyntaxError(` +var {yield} = {}; +`, `SyntaxError: Cannot use abbreviated destructuring syntax for keyword 'yield'.:2`); + +checkStrictSyntaxError(` +yield: 1 +`, `SyntaxError: Cannot use 'yield' as a label in strict mode.:2`); + +checkStrictSyntaxError(` +import {yield} from 'foo' +`, `SyntaxError: Cannot use keyword as imported binding name.:2`); + +checkStrictSyntaxError(` +function* foo(yield){} +`, `SyntaxError: Cannot use 'yield' as a parameter name in strict mode.:2`); + +checkStrictSyntaxError(` +function* yield(){} +`, `SyntaxError: Cannot use 'yield' as a generator function name in strict mode.:2`); + +checkStrictSyntaxError(` +(function* yield(){}) +`, `SyntaxError: Cannot use 'yield' as a generator function name in strict mode.:2`); + +checkStrictSyntaxError(` +function* gen() { (class yield {}) } +`, `SyntaxError: Unexpected keyword 'yield'. Expected opening '{' at the start of a class body.:2`); + +checkClassicSyntaxError(` +function *get() { var o = { yield }; } +`, `SyntaxError: Cannot use 'yield' as a shorthand property name in a generator function.`); + + +// Edge cases where ~Yield re-enables use of yield in non-strict code. + +// FunctionDeclaration[Yield]: +// function BindingIdentifier[?Yield] ( FormalParameters[~Yield] ) { FunctionBody[~Yield] } +checkClassicSyntaxError(`function *gen() { function yield() {} }`, `SyntaxError: Unexpected keyword 'yield'`); +checkClassicNoSyntaxError(`function *gen() { function f(yield) {} }`); + +// FunctionExpression: +// function BindingIdentifier[~Yield]opt ( FormalParameters[~Yield] ) { FunctionBody[~Yield] } +checkClassicNoSyntaxError(`function *gen() { (function yield() {}) }`); +checkClassicNoSyntaxError(`function *gen() { (function f(yield) {}) }`) +checkClassicNoSyntaxError(`function *gen() { (function yield(yield) {}) }`) +checkClassicNoSyntaxError(`function *gen() { (function(yield) {}) }`); + +// AsyncFunctionDeclaration[Yield]: +// async function BindingIdentifier[?Yield] ( FormalParameters[~Yield]) { AsyncFunctionBody } +checkClassicSyntaxError(`function *gen() { async function yield() {} }`, `SyntaxError: Unexpected keyword 'yield'`); +checkClassicNoSyntaxError(`function *gen() { async function f(yield) {} }`); + +// AsyncFunctionExpression: +// async function BindingIdentifier[~Yield]opt ( FormalParameters[~Yield] ) { AsyncFunctionBody } +checkClassicNoSyntaxError(`function *gen() { (async function yield() {}) }`); +checkClassicNoSyntaxError(`function *gen() { (async function f(yield) {}) }`) +checkClassicNoSyntaxError(`function *gen() { (async function yield(yield) {}) }`); +checkClassicNoSyntaxError(`function *gen() { (async function(yield) {}) }`); + +// ArrowFunction[Yield]: +// ArrowParameters[?Yield] => ConciseBody +checkClassicSyntaxError(`function *gen() { let f = (yield) => {} }`, `SyntaxError: Cannot use 'yield' as a parameter name in a generator function.`); + +// ArrowFunction[Yield]: +// ArrowParameters[?Yield] => ConciseBody +checkClassicSyntaxError(`function *gen() { let f = (yield) => {} }`, `SyntaxError: Cannot use 'yield' as a parameter name in a generator function.`); + +// AsyncArrowFunction[Yield]: +// async AsyncArrowBindingIdentifier[?Yield] => AsyncConciseBody +checkClassicSyntaxError(`function *gen() { let f = async (yield) => {} }`, `SyntaxError: Cannot use 'yield' as a parameter name in a generator function.`); diff --git a/implementation-contributed/javascriptcore/stress/yield-star-throw-continue.js b/implementation-contributed/javascriptcore/stress/yield-star-throw-continue.js new file mode 100644 index 0000000000..46efaa6e7c --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/yield-star-throw-continue.js @@ -0,0 +1,73 @@ +function shouldBe(actual, expected) { + if (actual !== expected) + throw new Error(`bad value: ${String(actual)}`); +} + +function shouldThrow(func, errorMessage) { + var errorThrown = false; + var error = null; + try { + func(); + } catch (e) { + errorThrown = true; + error = e; + } + if (!errorThrown) + throw new Error("not thrown"); + if (String(error) !== errorMessage) + throw new Error(`bad error: ${String(error)}`); +} + +(function () { + function * generator() { + yield * (function * () { + try { + yield "foo"; + } catch(e) { + return; + } + }()); + // OK, continue executing. + yield "bar"; + } + var iter = generator(); + iter.next(); + shouldBe(iter["throw"]().value, "bar"); +}()); + +(function () { + function * generator() { + yield * (function * () { + try { + yield "foo"; + } catch (e) { + throw e; + } + }()); + // OK, continue executing. + yield "bar"; + } + var iter = generator(); + iter.next(); + shouldThrow(() => { + iter["throw"](new Error("NG")); + }, `Error: NG`); +}()); + +(function () { + function * generator() { + yield * (function * () { + try { + yield "foo"; + } catch (e) { + } + yield "cocoa"; + }()); + // OK, continue executing. + yield "bar"; + } + var iter = generator(); + iter.next(); + shouldBe(iter["throw"]().value, "cocoa"); + shouldBe(iter.next().value, "bar"); +}()); diff --git a/implementation-contributed/javascriptcore/stress/zero-to-string.js b/implementation-contributed/javascriptcore/stress/zero-to-string.js new file mode 100644 index 0000000000..1f76620da6 --- /dev/null +++ b/implementation-contributed/javascriptcore/stress/zero-to-string.js @@ -0,0 +1,43 @@ +function shouldBe(actual, expected) +{ + if (actual !== expected) + throw new Error('bad value: ' + actual); +} + +function test2() +{ + return 0..toString(2); +} +noInline(test2); + +function test4() +{ + return 0..toString(4); +} +noInline(test4); + +function test8() +{ + return 0..toString(8); +} +noInline(test8); + +function test16() +{ + return 0..toString(16); +} +noInline(test16); + +function test32() +{ + return 0..toString(32); +} +noInline(test32); + +for (var i = 0; i < 1e5; ++i) { + shouldBe(test2(), '0'); + shouldBe(test4(), '0'); + shouldBe(test8(), '0'); + shouldBe(test16(), '0'); + shouldBe(test32(), '0'); +} diff --git a/implementation-contributed/javascriptcore/typeProfiler/arrow-functions.js b/implementation-contributed/javascriptcore/typeProfiler/arrow-functions.js new file mode 100644 index 0000000000..50905cf8b6 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/arrow-functions.js @@ -0,0 +1,42 @@ +var findTypeForExpression = $vm.findTypeForExpression; +var returnTypeFor = $vm.returnTypeFor; + +load("./driver/driver.js"); + +let foo = (x) => x; +let bar = abc => abc; +let baz = abc => { return abc; }; +let jaz = abc => { }; + +function wrapper(b) { + let baz = (x) => x; + baz(b); + + let foo = yyy => yyy; + foo(b); +} + +// ====== End test cases ====== + +foo(20); +var types = returnTypeFor(foo); +assert(types.globalTypeSet.displayTypeName === T.Integer, "Function 'foo' should return 'Integer'"); + +bar("hello"); +types = returnTypeFor(bar); +assert(types.globalTypeSet.displayTypeName === T.String, "Function 'bar' should return 'String'"); + +baz("hello"); +types = returnTypeFor(baz); +assert(types.globalTypeSet.displayTypeName === T.String, "Function 'baz' should return 'String'"); + +jaz("hello"); +types = returnTypeFor(jaz); +assert(types.globalTypeSet.displayTypeName === T.Undefined, "Function 'jaz' should return 'Undefined'"); + +wrapper("hello"); +types = findTypeForExpression(wrapper, "x)"); +assert(types.instructionTypeSet.displayTypeName === T.String, "Parameter 'x' should be 'String'"); + +types = findTypeForExpression(wrapper, "yyy =>"); +assert(types.instructionTypeSet.displayTypeName === T.String, "Parameter 'yyy' should be 'String'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/basic.js b/implementation-contributed/javascriptcore/typeProfiler/basic.js new file mode 100644 index 0000000000..378e0a4201 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/basic.js @@ -0,0 +1,44 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() { + +function foo(bar){} +foo(20); +foo(20.5); + +var test = {x:20, y:50}; +test = "hello"; + +} +wrapper(); + +// ====== End test cases ====== + +var types = findTypeForExpression(wrapper, "bar)"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Number) !== -1, "Primitive type names should contain 'Number'"); +assert(types.instructionTypeSet.displayTypeName === T.Number , "Primitive type names display name should be 'Number'"); + +types = findTypeForExpression(wrapper, "test = {"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Variable 'test' should have been type 'String' globally"); +assert(types.instructionTypeSet.structures.length === 1, "Variable 'test' should have one structure"); +assert(types.instructionTypeSet.structures[0].constructorName === "Object", "variable 'test'") +assert(types.instructionTypeSet.structures[0].proto.constructorName === "Object", "Variable 'test' shouldn't have a prototype"); +assert(types.instructionTypeSet.structures[0].proto.proto === null, "Variable 'test' shouldn't have a prototype"); +assert(types.instructionTypeSet.structures[0].constructorName === "Object", "variable 'test' should have constructor name 'Object'") +assert(types.globalTypeSet.displayTypeName === "Object", "Variable 'test' global type name should display as 'Object'"); +assert(types.instructionTypeSet.structures[0].fields.length === 2, "variable 'test' should have two fields: x,y"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "variable 'test' should have field 'x'"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("y") !== -1, "variable 'test' should have field 'y'"); + +types = findTypeForExpression(wrapper, "test = \"h"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Variable 'test' should have been type 'String' globally"); +assert(types.instructionTypeSet.displayTypeName === T.String, "Variable 'test' should have been display type 'String' at this instruction"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Variable 'test' should have been type 'String' globally"); +assert(types.instructionTypeSet.structures.length === 0, "Variable 'test' at this instruction shouldn't have a structure."); +assert(types.globalTypeSet.structures.length === 1, "Variable 'test' should still have one structure"); +assert(types.globalTypeSet.structures[0].fields.indexOf("x") !== -1, "variable 'test' should have field 'x' globally"); +assert(types.globalTypeSet.structures[0].fields.indexOf("y") !== -1, "variable 'test' should have field 'y' globally"); + diff --git a/implementation-contributed/javascriptcore/typeProfiler/captured.js b/implementation-contributed/javascriptcore/typeProfiler/captured.js new file mode 100644 index 0000000000..656003477b --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/captured.js @@ -0,0 +1,34 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +var changeFoo; +function wrapper() { + +var foo=20; +changeFoo = function(arg) { foo = arg; } + +} +wrapper(); + +// ====== End test cases ====== + +var types = findTypeForExpression(wrapper, "foo=20;"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain exactly only one item globally"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain exactly only one item on the instruction"); +assert(types.globalTypeSet.displayTypeName === T.Integer, "global display name should be Integer"); +assert(types.instructionTypeSet.displayTypeName === T.Integer, "instruction display name should be Integer"); + +changeFoo(20.5); +types = findTypeForExpression(wrapper, "foo=20;"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain STILL only contain exactly one item on the instruction"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Global primitive type names should now still contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Number) !== -1, "Global primitive type names should now contain 'Number'"); +assert(types.globalTypeSet.primitiveTypeNames.length === 2, "Global primitive type names should contain exactly two items globally"); +assert(types.globalTypeSet.displayTypeName === T.Number, "global display name should be Number"); + +changeFoo(null); + diff --git a/implementation-contributed/javascriptcore/typeProfiler/classes.js b/implementation-contributed/javascriptcore/typeProfiler/classes.js new file mode 100644 index 0000000000..52ac8b022d --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/classes.js @@ -0,0 +1,31 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() { + +class Base { constructor() { this._base = true; } }; +class Derived extends Base { constructor() { super(); this._derived = true; } }; + +var baseInstance = new Base; +var derivedInstance = new Derived; + +} +wrapper(); + +// ====== End test cases ====== + +var types = findTypeForExpression(wrapper, "baseInstance = new Base"); +assert(types.globalTypeSet.displayTypeName === "Base", "variable 'baseInstance' should have displayTypeName 'Base'"); +assert(types.instructionTypeSet.displayTypeName === "Base", "variable 'baseInstance' should have displayTypeName 'Base'"); +assert(types.instructionTypeSet.structures.length === 1, "Variable 'baseInstance' should have one structure"); +assert(types.instructionTypeSet.structures[0].fields.length === 1, "variable 'baseInstance' should have one field: _base"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("_base") !== -1, "variable 'baseInstance' should have field '_base'"); + +types = findTypeForExpression(wrapper, "derivedInstance = new Derived"); +assert(types.globalTypeSet.displayTypeName === "Derived", "variable 'derivedInstance' should have displayTypeName 'Derived'"); +assert(types.instructionTypeSet.displayTypeName === "Derived", "variable 'derivedInstance' should have displayTypeName 'Derived'"); +assert(types.instructionTypeSet.structures.length === 1, "Variable 'derivedInstance' should have one structure"); +assert(types.instructionTypeSet.structures[0].fields.length === 2, "variable 'derivedInstance' should have one field: _base,_derived"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("_base") !== -1, "variable 'derivedInstance' should have field '_base'"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("_derived") !== -1, "variable 'derivedInstance' should have field '_derived'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/deltablue-for-of.js b/implementation-contributed/javascriptcore/typeProfiler/deltablue-for-of.js new file mode 100644 index 0000000000..89f820c5a6 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/deltablue-for-of.js @@ -0,0 +1,872 @@ +//@ if $buildType == "debug" or $architecture =~ /arm|mips/ then skip else runTypeProfiler end + +// Copyright 2008 the V8 project authors. All rights reserved. +// Copyright 1996 John Maloney and Mario Wolczko. + +// This program is free software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +// This implementation of the DeltaBlue benchmark is derived +// from the Smalltalk implementation by John Maloney and Mario +// Wolczko. Some parts have been translated directly, whereas +// others have been modified more aggresively to make it feel +// more like a JavaScript program. + +/** + * A JavaScript implementation of the DeltaBlue constraint-solving + * algorithm, as described in: + * + * "The DeltaBlue Algorithm: An Incremental Constraint Hierarchy Solver" + * Bjorn N. Freeman-Benson and John Maloney + * January 1990 Communications of the ACM, + * also available as University of Washington TR 89-08-06. + * + * Beware: this benchmark is written in a grotesque style where + * the constraint model is built by side-effects from constructors. + * I've kept it this way to avoid deviating too much from the original + * implementation. + */ + + +/* --- O b j e c t M o d e l --- */ + +Object.prototype.inheritsFrom = function (shuper) { + function Inheriter() { } + Inheriter.prototype = shuper.prototype; + this.prototype = new Inheriter(); + this.superConstructor = shuper; +} + +function OrderedCollection() { + this.elms = new Array(); +} + +OrderedCollection.prototype.add = function (elm) { + this.elms.push(elm); +} + +OrderedCollection.prototype.at = function (index) { + return this.elms[index]; +} + +OrderedCollection.prototype.size = function () { + return this.elms.length; +} + +OrderedCollection.prototype.removeFirst = function () { + return this.elms.pop(); +} + +OrderedCollection.prototype.remove = function (elm) { + var index = 0, skipped = 0; + for (var value of this.elms) { + if (value != elm) { + this.elms[index] = value; + index++; + } else { + skipped++; + } + } + for (var i = 0; i < skipped; i++) + this.elms.pop(); +} + +/* --- * + * S t r e n g t h + * --- */ + +/** + * Strengths are used to measure the relative importance of constraints. + * New strengths may be inserted in the strength hierarchy without + * disrupting current constraints. Strengths cannot be created outside + * this class, so pointer comparison can be used for value comparison. + */ +function Strength(strengthValue, name) { + this.strengthValue = strengthValue; + this.name = name; +} + +Strength.stronger = function (s1, s2) { + return s1.strengthValue < s2.strengthValue; +} + +Strength.weaker = function (s1, s2) { + return s1.strengthValue > s2.strengthValue; +} + +Strength.weakestOf = function (s1, s2) { + return this.weaker(s1, s2) ? s1 : s2; +} + +Strength.strongest = function (s1, s2) { + return this.stronger(s1, s2) ? s1 : s2; +} + +Strength.prototype.nextWeaker = function () { + switch (this.strengthValue) { + case 0: return Strength.WEAKEST; + case 1: return Strength.WEAK_DEFAULT; + case 2: return Strength.NORMAL; + case 3: return Strength.STRONG_DEFAULT; + case 4: return Strength.PREFERRED; + case 5: return Strength.REQUIRED; + } +} + +// Strength constants. +Strength.REQUIRED = new Strength(0, "required"); +Strength.STONG_PREFERRED = new Strength(1, "strongPreferred"); +Strength.PREFERRED = new Strength(2, "preferred"); +Strength.STRONG_DEFAULT = new Strength(3, "strongDefault"); +Strength.NORMAL = new Strength(4, "normal"); +Strength.WEAK_DEFAULT = new Strength(5, "weakDefault"); +Strength.WEAKEST = new Strength(6, "weakest"); + +/* --- * + * C o n s t r a i n t + * --- */ + +/** + * An abstract class representing a system-maintainable relationship + * (or "constraint") between a set of variables. A constraint supplies + * a strength instance variable; concrete subclasses provide a means + * of storing the constrained variables and other information required + * to represent a constraint. + */ +function Constraint(strength) { + this.strength = strength; +} + +/** + * Activate this constraint and attempt to satisfy it. + */ +Constraint.prototype.addConstraint = function () { + this.addToGraph(); + planner.incrementalAdd(this); +} + +/** + * Attempt to find a way to enforce this constraint. If successful, + * record the solution, perhaps modifying the current dataflow + * graph. Answer the constraint that this constraint overrides, if + * there is one, or nil, if there isn't. + * Assume: I am not already satisfied. + */ +Constraint.prototype.satisfy = function (mark) { + this.chooseMethod(mark); + if (!this.isSatisfied()) { + if (this.strength == Strength.REQUIRED) + alert("Could not satisfy a required constraint!"); + return null; + } + this.markInputs(mark); + var out = this.output(); + var overridden = out.determinedBy; + if (overridden != null) overridden.markUnsatisfied(); + out.determinedBy = this; + if (!planner.addPropagate(this, mark)) + alert("Cycle encountered"); + out.mark = mark; + return overridden; +} + +Constraint.prototype.destroyConstraint = function () { + if (this.isSatisfied()) planner.incrementalRemove(this); + else this.removeFromGraph(); +} + +/** + * Normal constraints are not input constraints. An input constraint + * is one that depends on external state, such as the mouse, the + * keybord, a clock, or some arbitraty piece of imperative code. + */ +Constraint.prototype.isInput = function () { + return false; +} + +/* --- * + * U n a r y C o n s t r a i n t + * --- */ + +/** + * Abstract superclass for constraints having a single possible output + * variable. + */ +function UnaryConstraint(v, strength) { + UnaryConstraint.superConstructor.call(this, strength); + this.myOutput = v; + this.satisfied = false; + this.addConstraint(); +} + +UnaryConstraint.inheritsFrom(Constraint); + +/** + * Adds this constraint to the constraint graph + */ +UnaryConstraint.prototype.addToGraph = function () { + this.myOutput.addConstraint(this); + this.satisfied = false; +} + +/** + * Decides if this constraint can be satisfied and records that + * decision. + */ +UnaryConstraint.prototype.chooseMethod = function (mark) { + this.satisfied = (this.myOutput.mark != mark) + && Strength.stronger(this.strength, this.myOutput.walkStrength); +} + +/** + * Returns true if this constraint is satisfied in the current solution. + */ +UnaryConstraint.prototype.isSatisfied = function () { + return this.satisfied; +} + +UnaryConstraint.prototype.markInputs = function (mark) { + // has no inputs +} + +/** + * Returns the current output variable. + */ +UnaryConstraint.prototype.output = function () { + return this.myOutput; +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this constraint. Assume + * this constraint is satisfied. + */ +UnaryConstraint.prototype.recalculate = function () { + this.myOutput.walkStrength = this.strength; + this.myOutput.stay = !this.isInput(); + if (this.myOutput.stay) this.execute(); // Stay optimization +} + +/** + * Records that this constraint is unsatisfied + */ +UnaryConstraint.prototype.markUnsatisfied = function () { + this.satisfied = false; +} + +UnaryConstraint.prototype.inputsKnown = function () { + return true; +} + +UnaryConstraint.prototype.removeFromGraph = function () { + if (this.myOutput != null) this.myOutput.removeConstraint(this); + this.satisfied = false; +} + +/* --- * + * S t a y C o n s t r a i n t + * --- */ + +/** + * Variables that should, with some level of preference, stay the same. + * Planners may exploit the fact that instances, if satisfied, will not + * change their output during plan execution. This is called "stay + * optimization". + */ +function StayConstraint(v, str) { + StayConstraint.superConstructor.call(this, v, str); +} + +StayConstraint.inheritsFrom(UnaryConstraint); + +StayConstraint.prototype.execute = function () { + // Stay constraints do nothing +} + +/* --- * + * E d i t C o n s t r a i n t + * --- */ + +/** + * A unary input constraint used to mark a variable that the client + * wishes to change. + */ +function EditConstraint(v, str) { + EditConstraint.superConstructor.call(this, v, str); +} + +EditConstraint.inheritsFrom(UnaryConstraint); + +/** + * Edits indicate that a variable is to be changed by imperative code. + */ +EditConstraint.prototype.isInput = function () { + return true; +} + +EditConstraint.prototype.execute = function () { + // Edit constraints do nothing +} + +/* --- * + * B i n a r y C o n s t r a i n t + * --- */ + +var Direction = new Object(); +Direction.NONE = 0; +Direction.FORWARD = 1; +Direction.BACKWARD = -1; + +/** + * Abstract superclass for constraints having two possible output + * variables. + */ +function BinaryConstraint(var1, var2, strength) { + BinaryConstraint.superConstructor.call(this, strength); + this.v1 = var1; + this.v2 = var2; + this.direction = Direction.NONE; + this.addConstraint(); +} + +BinaryConstraint.inheritsFrom(Constraint); + +/** + * Decides if this constraint can be satisfied and which way it + * should flow based on the relative strength of the variables related, + * and record that decision. + */ +BinaryConstraint.prototype.chooseMethod = function (mark) { + if (this.v1.mark == mark) { + this.direction = (this.v2.mark != mark && Strength.stronger(this.strength, this.v2.walkStrength)) + ? Direction.FORWARD + : Direction.NONE; + } + if (this.v2.mark == mark) { + this.direction = (this.v1.mark != mark && Strength.stronger(this.strength, this.v1.walkStrength)) + ? Direction.BACKWARD + : Direction.NONE; + } + if (Strength.weaker(this.v1.walkStrength, this.v2.walkStrength)) { + this.direction = Strength.stronger(this.strength, this.v1.walkStrength) + ? Direction.BACKWARD + : Direction.NONE; + } else { + this.direction = Strength.stronger(this.strength, this.v2.walkStrength) + ? Direction.FORWARD + : Direction.BACKWARD + } +} + +/** + * Add this constraint to the constraint graph + */ +BinaryConstraint.prototype.addToGraph = function () { + this.v1.addConstraint(this); + this.v2.addConstraint(this); + this.direction = Direction.NONE; +} + +/** + * Answer true if this constraint is satisfied in the current solution. + */ +BinaryConstraint.prototype.isSatisfied = function () { + return this.direction != Direction.NONE; +} + +/** + * Mark the input variable with the given mark. + */ +BinaryConstraint.prototype.markInputs = function (mark) { + this.input().mark = mark; +} + +/** + * Returns the current input variable + */ +BinaryConstraint.prototype.input = function () { + return (this.direction == Direction.FORWARD) ? this.v1 : this.v2; +} + +/** + * Returns the current output variable + */ +BinaryConstraint.prototype.output = function () { + return (this.direction == Direction.FORWARD) ? this.v2 : this.v1; +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this + * constraint. Assume this constraint is satisfied. + */ +BinaryConstraint.prototype.recalculate = function () { + var ihn = this.input(), out = this.output(); + out.walkStrength = Strength.weakestOf(this.strength, ihn.walkStrength); + out.stay = ihn.stay; + if (out.stay) this.execute(); +} + +/** + * Record the fact that this constraint is unsatisfied. + */ +BinaryConstraint.prototype.markUnsatisfied = function () { + this.direction = Direction.NONE; +} + +BinaryConstraint.prototype.inputsKnown = function (mark) { + var i = this.input(); + return i.mark == mark || i.stay || i.determinedBy == null; +} + +BinaryConstraint.prototype.removeFromGraph = function () { + if (this.v1 != null) this.v1.removeConstraint(this); + if (this.v2 != null) this.v2.removeConstraint(this); + this.direction = Direction.NONE; +} + +/* --- * + * S c a l e C o n s t r a i n t + * --- */ + +/** + * Relates two variables by the linear scaling relationship: "v2 = + * (v1 * scale) + offset". Either v1 or v2 may be changed to maintain + * this relationship but the scale factor and offset are considered + * read-only. + */ +function ScaleConstraint(src, scale, offset, dest, strength) { + this.direction = Direction.NONE; + this.scale = scale; + this.offset = offset; + ScaleConstraint.superConstructor.call(this, src, dest, strength); +} + +ScaleConstraint.inheritsFrom(BinaryConstraint); + +/** + * Adds this constraint to the constraint graph. + */ +ScaleConstraint.prototype.addToGraph = function () { + ScaleConstraint.superConstructor.prototype.addToGraph.call(this); + this.scale.addConstraint(this); + this.offset.addConstraint(this); +} + +ScaleConstraint.prototype.removeFromGraph = function () { + ScaleConstraint.superConstructor.prototype.removeFromGraph.call(this); + if (this.scale != null) this.scale.removeConstraint(this); + if (this.offset != null) this.offset.removeConstraint(this); +} + +ScaleConstraint.prototype.markInputs = function (mark) { + ScaleConstraint.superConstructor.prototype.markInputs.call(this, mark); + this.scale.mark = this.offset.mark = mark; +} + +/** + * Enforce this constraint. Assume that it is satisfied. + */ +ScaleConstraint.prototype.execute = function () { + if (this.direction == Direction.FORWARD) { + this.v2.value = this.v1.value * this.scale.value + this.offset.value; + } else { + this.v1.value = (this.v2.value - this.offset.value) / this.scale.value; + } +} + +/** + * Calculate the walkabout strength, the stay flag, and, if it is + * 'stay', the value for the current output of this constraint. Assume + * this constraint is satisfied. + */ +ScaleConstraint.prototype.recalculate = function () { + var ihn = this.input(), out = this.output(); + out.walkStrength = Strength.weakestOf(this.strength, ihn.walkStrength); + out.stay = ihn.stay && this.scale.stay && this.offset.stay; + if (out.stay) this.execute(); +} + +/* --- * + * E q u a l i t y C o n s t r a i n t + * --- */ + +/** + * Constrains two variables to have the same value. + */ +function EqualityConstraint(var1, var2, strength) { + EqualityConstraint.superConstructor.call(this, var1, var2, strength); +} + +EqualityConstraint.inheritsFrom(BinaryConstraint); + +/** + * Enforce this constraint. Assume that it is satisfied. + */ +EqualityConstraint.prototype.execute = function () { + this.output().value = this.input().value; +} + +/* --- * + * V a r i a b l e + * --- */ + +/** + * A constrained variable. In addition to its value, it maintain the + * structure of the constraint graph, the current dataflow graph, and + * various parameters of interest to the DeltaBlue incremental + * constraint solver. + **/ +function Variable(name, initialValue) { + this.value = initialValue || 0; + this.constraints = new OrderedCollection(); + this.determinedBy = null; + this.mark = 0; + this.walkStrength = Strength.WEAKEST; + this.stay = true; + this.name = name; +} + +/** + * Add the given constraint to the set of all constraints that refer + * this variable. + */ +Variable.prototype.addConstraint = function (c) { + this.constraints.add(c); +} + +/** + * Removes all traces of c from this variable. + */ +Variable.prototype.removeConstraint = function (c) { + this.constraints.remove(c); + if (this.determinedBy == c) this.determinedBy = null; +} + +/* --- * + * P l a n n e r + * --- */ + +/** + * The DeltaBlue planner + */ +function Planner() { + this.currentMark = 0; +} + +/** + * Attempt to satisfy the given constraint and, if successful, + * incrementally update the dataflow graph. Details: If satifying + * the constraint is successful, it may override a weaker constraint + * on its output. The algorithm attempts to resatisfy that + * constraint using some other method. This process is repeated + * until either a) it reaches a variable that was not previously + * determined by any constraint or b) it reaches a constraint that + * is too weak to be satisfied using any of its methods. The + * variables of constraints that have been processed are marked with + * a unique mark value so that we know where we've been. This allows + * the algorithm to avoid getting into an infinite loop even if the + * constraint graph has an inadvertent cycle. + */ +Planner.prototype.incrementalAdd = function (c) { + var mark = this.newMark(); + var overridden = c.satisfy(mark); + while (overridden != null) + overridden = overridden.satisfy(mark); +} + +/** + * Entry point for retracting a constraint. Remove the given + * constraint and incrementally update the dataflow graph. + * Details: Retracting the given constraint may allow some currently + * unsatisfiable downstream constraint to be satisfied. We therefore collect + * a list of unsatisfied downstream constraints and attempt to + * satisfy each one in turn. This list is traversed by constraint + * strength, strongest first, as a heuristic for avoiding + * unnecessarily adding and then overriding weak constraints. + * Assume: c is satisfied. + */ +Planner.prototype.incrementalRemove = function (c) { + var out = c.output(); + c.markUnsatisfied(); + c.removeFromGraph(); + var unsatisfied = this.removePropagateFrom(out); + var strength = Strength.REQUIRED; + do { + for (var u of unsatisfied.elms) { + if (u.strength == strength) + this.incrementalAdd(u); + } + strength = strength.nextWeaker(); + } while (strength != Strength.WEAKEST); +} + +/** + * Select a previously unused mark value. + */ +Planner.prototype.newMark = function () { + return ++this.currentMark; +} + +/** + * Extract a plan for resatisfaction starting from the given source + * constraints, usually a set of input constraints. This method + * assumes that stay optimization is desired; the plan will contain + * only constraints whose output variables are not stay. Constraints + * that do no computation, such as stay and edit constraints, are + * not included in the plan. + * Details: The outputs of a constraint are marked when it is added + * to the plan under construction. A constraint may be appended to + * the plan when all its input variables are known. A variable is + * known if either a) the variable is marked (indicating that has + * been computed by a constraint appearing earlier in the plan), b) + * the variable is 'stay' (i.e. it is a constant at plan execution + * time), or c) the variable is not determined by any + * constraint. The last provision is for past states of history + * variables, which are not stay but which are also not computed by + * any constraint. + * Assume: sources are all satisfied. + */ +Planner.prototype.makePlan = function (sources) { + var mark = this.newMark(); + var plan = new Plan(); + var todo = sources; + while (todo.size() > 0) { + var c = todo.removeFirst(); + if (c.output().mark != mark && c.inputsKnown(mark)) { + plan.addConstraint(c); + c.output().mark = mark; + this.addConstraintsConsumingTo(c.output(), todo); + } + } + return plan; +} + +/** + * Extract a plan for resatisfying starting from the output of the + * given constraints, usually a set of input constraints. + */ +Planner.prototype.extractPlanFromConstraints = function (constraints) { + var sources = new OrderedCollection(); + for (var c of constraints.elms) { + if (c.isInput() && c.isSatisfied()) + // not in plan already and eligible for inclusion + sources.add(c); + } + return this.makePlan(sources); +} + +/** + * Recompute the walkabout strengths and stay flags of all variables + * downstream of the given constraint and recompute the actual + * values of all variables whose stay flag is true. If a cycle is + * detected, remove the given constraint and answer + * false. Otherwise, answer true. + * Details: Cycles are detected when a marked variable is + * encountered downstream of the given constraint. The sender is + * assumed to have marked the inputs of the given constraint with + * the given mark. Thus, encountering a marked node downstream of + * the output constraint means that there is a path from the + * constraint's output to one of its inputs. + */ +Planner.prototype.addPropagate = function (c, mark) { + var todo = new OrderedCollection(); + todo.add(c); + while (todo.size() > 0) { + var d = todo.removeFirst(); + if (d.output().mark == mark) { + this.incrementalRemove(c); + return false; + } + d.recalculate(); + this.addConstraintsConsumingTo(d.output(), todo); + } + return true; +} + + +/** + * Update the walkabout strengths and stay flags of all variables + * downstream of the given constraint. Answer a collection of + * unsatisfied constraints sorted in order of decreasing strength. + */ +Planner.prototype.removePropagateFrom = function (out) { + out.determinedBy = null; + out.walkStrength = Strength.WEAKEST; + out.stay = true; + var unsatisfied = new OrderedCollection(); + var todo = new OrderedCollection(); + todo.add(out); + while (todo.size() > 0) { + var v = todo.removeFirst(); + for (var c of v.constraints.elms) { + if (!c.isSatisfied()) + unsatisfied.add(c); + } + var determining = v.determinedBy; + for (var next of v.constraints.elms) { + if (next != determining && next.isSatisfied()) { + next.recalculate(); + todo.add(next.output()); + } + } + } + return unsatisfied; +} + +Planner.prototype.addConstraintsConsumingTo = function (v, coll) { + var determining = v.determinedBy; + var cc = v.constraints; + for (var c of cc.elms) { + if (c != determining && c.isSatisfied()) + coll.add(c); + } +} + +/* --- * + * P l a n + * --- */ + +/** + * A Plan is an ordered list of constraints to be executed in sequence + * to resatisfy all currently satisfiable constraints in the face of + * one or more changing inputs. + */ +function Plan() { + this.v = new OrderedCollection(); +} + +Plan.prototype.addConstraint = function (c) { + this.v.add(c); +} + +Plan.prototype.size = function () { + return this.v.size(); +} + +Plan.prototype.constraintAt = function (index) { + return this.v.at(index); +} + +Plan.prototype.execute = function () { + for (var c of this.v.elms) { + c.execute(); + } +} + +/* --- * + * M a i n + * --- */ + +/** + * This is the standard DeltaBlue benchmark. A long chain of equality + * constraints is constructed with a stay constraint on one end. An + * edit constraint is then added to the opposite end and the time is + * measured for adding and removing this constraint, and extracting + * and executing a constraint satisfaction plan. There are two cases. + * In case 1, the added constraint is stronger than the stay + * constraint and values must propagate down the entire length of the + * chain. In case 2, the added constraint is weaker than the stay + * constraint so it cannot be accomodated. The cost in this case is, + * of course, very low. Typical situations lie somewhere between these + * two extremes. + */ +function chainTest(n) { + planner = new Planner(); + var prev = null, first = null, last = null; + + // Build chain of n equality constraints + for (var i = 0; i <= n; i++) { + var name = "v" + i; + var v = new Variable(name); + if (prev != null) + new EqualityConstraint(prev, v, Strength.REQUIRED); + if (i == 0) first = v; + if (i == n) last = v; + prev = v; + } + + new StayConstraint(last, Strength.STRONG_DEFAULT); + var edit = new EditConstraint(first, Strength.PREFERRED); + var edits = new OrderedCollection(); + edits.add(edit); + var plan = planner.extractPlanFromConstraints(edits); + for (var i = 0; i < 100; i++) { + first.value = i; + plan.execute(); + if (last.value != i) + alert("Chain test failed."); + } +} + +/** + * This test constructs a two sets of variables related to each + * other by a simple linear transformation (scale and offset). The + * time is measured to change a variable on either side of the + * mapping and to change the scale and offset factors. + */ +function projectionTest(n) { + planner = new Planner(); + var scale = new Variable("scale", 10); + var offset = new Variable("offset", 1000); + var src = null, dst = null; + + var dests = new OrderedCollection(); + for (var i = 0; i < n; i++) { + src = new Variable("src" + i, i); + dst = new Variable("dst" + i, i); + dests.add(dst); + new StayConstraint(src, Strength.NORMAL); + new ScaleConstraint(src, scale, offset, dst, Strength.REQUIRED); + } + + change(src, 17); + if (dst.value != 1170) alert("Projection 1 failed"); + change(dst, 1050); + if (src.value != 5) alert("Projection 2 failed"); + change(scale, 5); + for (var i = 0; i < n - 1; i++) { + if (dests.at(i).value != i * 5 + 1000) + alert("Projection 3 failed"); + } + change(offset, 2000); + for (var i = 0; i < n - 1; i++) { + if (dests.at(i).value != i * 5 + 2000) + alert("Projection 4 failed"); + } +} + +function change(v, newValue) { + var edit = new EditConstraint(v, Strength.PREFERRED); + var edits = new OrderedCollection(); + edits.add(edit); + var plan = planner.extractPlanFromConstraints(edits); + for (var i = 0; i < 10; i++) { + v.value = newValue; + plan.execute(); + } + edit.destroyConstraint(); +} + +// Global variable holding the current planner. +var planner = null; + +function deltaBlue() { + chainTest(50); + projectionTest(50); +} + +for (var i = 0; i < 30; ++i) + deltaBlue(); diff --git a/implementation-contributed/javascriptcore/typeProfiler/dfg-jit-optimizations.js b/implementation-contributed/javascriptcore/typeProfiler/dfg-jit-optimizations.js new file mode 100644 index 0000000000..7e1b1aaa75 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/dfg-jit-optimizations.js @@ -0,0 +1,54 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function tierUpToDFG(func, arg) +{ + for (var i = 0; i < 1000; i++) + func(arg); +} + +var types = [T.Boolean, T.Integer, T.Null, T.Number, T.String, T.Undefined]; +var values = [true, 1, null, 1.1, "hello", undefined]; +var funcs = [function(x) { return x; }, function(x) { return x; }, function(x) { return x; }, + function(x) { return x; }, function(x) { return x; }, function(x) { return x; }] + +assert(types.length === values.length && values.length === funcs.length); + +// Make sure baseline DFG type check optimizations work. +// Tier up each function on a different type, then call it with all other primitive types to make sure they're recorded. +for (var i = 0; i < types.length; i++) { + var func = funcs[i]; + var type = types[i]; + var value = values[i]; + noInline(func); + tierUpToDFG(func, value); + var typeInfo = findTypeForExpression(func, "x"); + assert(typeInfo.instructionTypeSet.primitiveTypeNames.length === 1, "Only one primitive type should have been seen so far."); + assert(typeInfo.instructionTypeSet.primitiveTypeNames.indexOf(type) !== -1, "Should have been optimized on type: " + type); + for (var j = 0; j < types.length; j++) { + if (type === T.Number && types[j] === T.Integer) { + // If we optimize on type Number, but we pass in an Integer, our typecheck will still pass, so we wont directly get + // type Integer because T.Integer is implied to be contained in T.Number. + continue; + } + + func(values[j]); + typeInfo = findTypeForExpression(func, "x"); + assert(typeInfo.instructionTypeSet.primitiveTypeNames.indexOf(types[j]) !== -1, "Should have seen type: " + types[j] + " " + i + "," + j); + } +} + +function testStrucure(obj) { return obj; } +var obj = {x: 20}; +tierUpToDFG(testStrucure, obj); +var types = findTypeForExpression(testStrucure, "obj"); +assert(types.instructionTypeSet.structures.length === 1, "variable 'test' should have exactly structure"); +assert(types.instructionTypeSet.structures[0].fields.length === 1, "variable 'test' should have exactly ONE field"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "variable 'test' should have field 'x'"); + +testStrucure({x:20, y: 40}) +types = findTypeForExpression(testStrucure, "obj"); +assert(types.instructionTypeSet.structures.length === 1, "variable 'test' should have still have exactly one structure"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "variable 'test' should have field 'x'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("y") !== -1, "variable 'test' should have field optional field 'y'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/dictionary-mode.js b/implementation-contributed/javascriptcore/typeProfiler/dictionary-mode.js new file mode 100644 index 0000000000..f348d7e31f --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/dictionary-mode.js @@ -0,0 +1,29 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() +{ + +var foo = {}; +for (var i = 0; i < 150; i++) { + foo["hello" + i] = i; +} +var shouldBeInDictionaryMode = foo; + +var shouldNotBeInDictionaryMode = { + "1": 1, + "2": 2, + "3": 3 +} + +} +wrapper(); + +var types = findTypeForExpression(wrapper, "shouldBeInDictionaryMode"); +assert(types.globalTypeSet.structures.length === 1, "Should have one structure."); +assert(types.globalTypeSet.structures[0].isInDictionaryMode, "Should be in dictionary mode"); + +types = findTypeForExpression(wrapper, "shouldNotBeInDictionaryMode"); +assert(types.globalTypeSet.structures.length === 1, "Should have one structure."); +assert(!types.globalTypeSet.structures[0].isInDictionaryMode, "Should not be in dictionary mode"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/driver/driver.js b/implementation-contributed/javascriptcore/typeProfiler/driver/driver.js new file mode 100644 index 0000000000..4ea44adb7d --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/driver/driver.js @@ -0,0 +1,27 @@ +// Types matching those in runtime/TypeSet +var T = { + Boolean:"Boolean", + Integer: "Integer", + Null: "Null", + Number: "Number", + Many: "(many)", + String: "String", + Undefined: "Undefined", + Symbol: "Symbol", + UndefinedOrNull: "(?)" +}; + +var TOptional = { + Boolean:"Boolean?", + Integer: "Integer?", + Number: "Number?", + String: "String?", + Symbol: "Symbol?" +}; + +function assert(condition, reason) { + if (!condition) + throw new Error(reason); +} + +var MaxStructureCountWithoutOverflow = 100; diff --git a/implementation-contributed/javascriptcore/typeProfiler/es6-block-scoping.js b/implementation-contributed/javascriptcore/typeProfiler/es6-block-scoping.js new file mode 100644 index 0000000000..03300f9599 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/es6-block-scoping.js @@ -0,0 +1,85 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +let changeFoo; +let tdzError; +let scoping; +let scoping2; +function noop(){} +function arr() { + return [1, 1.5, "hello", {}]; +} + +function wrapper() { + +let foo=20; +changeFoo = function(arg) { foo = arg; } + +scoping = function () +{ + let x = "hello"; + if (true) { + let x = 20; + const y = true; + x = "h" + } + noop(x); +} + +scoping2 = function() +{ + for (const item of arr()) { + noop(item); + } +} + +} +wrapper(); + +// ====== End test cases ====== + +var types = findTypeForExpression(wrapper, "foo=20;"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain exactly only one item globally"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain exactly only one item on the instruction"); +assert(types.globalTypeSet.displayTypeName === T.Integer, "global display name should be Integer"); +assert(types.instructionTypeSet.displayTypeName === T.Integer, "instruction display name should be Integer"); + +changeFoo(20.5); +types = findTypeForExpression(wrapper, "foo=20;"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain STILL only contain exactly one item on the instruction"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Global primitive type names should now still contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Number) !== -1, "Global primitive type names should now contain 'Number'"); +assert(types.globalTypeSet.primitiveTypeNames.length === 2, "Global primitive type names should contain exactly two items globally"); +assert(types.globalTypeSet.displayTypeName === T.Number, "global display name should be Number"); + + +scoping(); +types = findTypeForExpression(scoping, "x = 20"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain only one item on the instruction"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.globalTypeSet.primitiveTypeNames.length === 2, "Primitive type names should contain two items: [String, Integer]"); + +types = findTypeForExpression(scoping, "x)"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Global primitive type names should have string."); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Global primitive type names should have string."); + +types = findTypeForExpression(scoping, "y = true"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Boolean) !== -1, "Global primitive type names should have boolean."); +assert(types.globalTypeSet.primitiveTypeNames.length === 1, "type only have one item."); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Boolean) !== -1, "Global primitive type names should have boolean."); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "type only have one item."); + + +scoping2(); +types = findTypeForExpression(scoping2, "item)"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Number) !== -1, "Primitive type names should contain 'Number'"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Primitive type names should contain 'String'"); +assert(types.instructionTypeSet.structures.length === 1, "should have one structure"); +assert(types.instructionTypeSet.structures[0].constructorName === "Object", "Should be object"); +assert(types.instructionTypeSet.structures[0].fields.length === 0, "Should have no fields"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/es6-classes.js b/implementation-contributed/javascriptcore/typeProfiler/es6-classes.js new file mode 100644 index 0000000000..bdb74ba375 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/es6-classes.js @@ -0,0 +1,41 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +let changeFoo; +let tdzError; +let scoping; +let scoping2; +function noop(){} + +function wrapper() { + class Animal { + constructor() { } + methodA() {} + } + class Dog extends Animal { + constructor() { super() } + methodB() {} + } + + let dogInstance = new Dog; + const animalInstance = new Animal; +} +wrapper(); + +// ====== End test cases ====== + +var types = findTypeForExpression(wrapper, "dogInstance ="); +assert(types.globalTypeSet.displayTypeName === "Dog", "Should show constructor name"); +assert(types.globalTypeSet.structures[0].constructorName === "Dog", "Should be Dog"); +assert(types.globalTypeSet.structures[0].proto.fields.length === 2, "should have two fields"); +assert(types.globalTypeSet.structures[0].proto.fields.indexOf("constructor") !== -1, "should have constructor"); +assert(types.globalTypeSet.structures[0].proto.fields.indexOf("methodB") !== -1, "should have methodB"); + +types = findTypeForExpression(wrapper, "animalInstance ="); +assert(types.globalTypeSet.displayTypeName === "Animal", "Should show constructor name"); +assert(types.globalTypeSet.structures.length === 1, "should have one structure"); +assert(types.globalTypeSet.structures[0].constructorName === "Animal", "Should be Animal"); +assert(types.globalTypeSet.structures[0].proto.fields.length === 2, "should have two fields"); +assert(types.globalTypeSet.structures[0].proto.fields.indexOf("constructor") !== -1, "should have constructor"); +assert(types.globalTypeSet.structures[0].proto.fields.indexOf("methodA") !== -1, "should have methodA"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/getter-richards.js b/implementation-contributed/javascriptcore/typeProfiler/getter-richards.js new file mode 100644 index 0000000000..b02f590814 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/getter-richards.js @@ -0,0 +1,595 @@ +//@ if $buildType == "debug" or $architecture =~ /arm|mips/ then skip else runTypeProfiler end + +// Copyright 2006-2008 the V8 project authors. All rights reserved. +// Copyright 2014 Apple Inc. +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following +// disclaimer in the documentation and/or other materials provided +// with the distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived +// from this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +// This is a JavaScript implementation of the Richards +// benchmark from: +// +// http://www.cl.cam.ac.uk/~mr10/Bench.html +// +// The benchmark was originally implemented in BCPL by +// Martin Richards. It was then ported to JavaScript by the +// V8 project authors, and then subsequently it was modified +// to use getters and setters by WebKit authors. + + +/** + * The Richards benchmark simulates the task dispatcher of an + * operating system. + **/ +function runRichards() { + var scheduler = new Scheduler(); + scheduler.addIdleTask(ID_IDLE, 0, null, COUNT); + + var queue = new Packet(null, ID_WORKER, KIND_WORK); + queue = new Packet(queue, ID_WORKER, KIND_WORK); + scheduler.addWorkerTask(ID_WORKER, 1000, queue); + + queue = new Packet(null, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_A, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_A, 2000, queue); + + queue = new Packet(null, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + queue = new Packet(queue, ID_DEVICE_B, KIND_DEVICE); + scheduler.addHandlerTask(ID_HANDLER_B, 3000, queue); + + scheduler.addDeviceTask(ID_DEVICE_A, 4000, null); + + scheduler.addDeviceTask(ID_DEVICE_B, 5000, null); + + scheduler.schedule(); + + if (scheduler.queueCount != EXPECTED_QUEUE_COUNT || + scheduler.holdCount != EXPECTED_HOLD_COUNT) { + var msg = + "Error during execution: queueCount = " + scheduler.queueCount + + ", holdCount = " + scheduler.holdCount + "."; + throw new Error(msg); + } +} + +var COUNT = 1000; + +/** + * These two constants specify how many times a packet is queued and + * how many times a task is put on hold in a correct run of richards. + * They don't have any meaning a such but are characteristic of a + * correct run so if the actual queue or hold count is different from + * the expected there must be a bug in the implementation. + **/ +var EXPECTED_QUEUE_COUNT = 2322; +var EXPECTED_HOLD_COUNT = 928; + + +/** + * A scheduler can be used to schedule a set of tasks based on their relative + * priorities. Scheduling is done by maintaining a list of task control blocks + * which holds tasks and the data queue they are processing. + * @constructor + */ +function Scheduler() { + this._queueCount = 0; + this._holdCount = 0; + this._blocks = new Array(NUMBER_OF_IDS); + this._list = null; + this._currentTcb = null; + this._currentId = null; +} + +var ID_IDLE = 0; +var ID_WORKER = 1; +var ID_HANDLER_A = 2; +var ID_HANDLER_B = 3; +var ID_DEVICE_A = 4; +var ID_DEVICE_B = 5; +var NUMBER_OF_IDS = 6; + +var KIND_DEVICE = 0; +var KIND_WORK = 1; + +Scheduler.prototype.__defineGetter__("queueCount", function() { return this._queueCount; }); +Scheduler.prototype.__defineSetter__("queueCount", function(value) { this._queueCount = value; }); +Scheduler.prototype.__defineGetter__("holdCount", function() { return this._holdCount; }); +Scheduler.prototype.__defineSetter__("holdCount", function(value) { this._holdCount = value; }); +Scheduler.prototype.__defineGetter__("blocks", function() { return this._blocks; }); +Scheduler.prototype.__defineSetter__("blocks", function(value) { this._blocks = value; }); +Scheduler.prototype.__defineGetter__("list", function() { return this._list; }); +Scheduler.prototype.__defineSetter__("list", function(value) { this._list = value; }); +Scheduler.prototype.__defineGetter__("currentTcb", function() { return this._currentTcb; }); +Scheduler.prototype.__defineSetter__("currentTcb", function(value) { this._currentTcb = value; }); +Scheduler.prototype.__defineGetter__("currentId", function() { return this._currentId; }); +Scheduler.prototype.__defineSetter__("currentId", function(value) { this._currentId = value; }); + +/** + * Add an idle task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {int} count the number of times to schedule the task + */ +Scheduler.prototype.addIdleTask = function (id, priority, queue, count) { + this.addRunningTask(id, priority, queue, new IdleTask(this, 1, count)); +}; + +/** + * Add a work task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addWorkerTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new WorkerTask(this, ID_HANDLER_A, 0)); +}; + +/** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addHandlerTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new HandlerTask(this)); +}; + +/** + * Add a handler task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + */ +Scheduler.prototype.addDeviceTask = function (id, priority, queue) { + this.addTask(id, priority, queue, new DeviceTask(this)) +}; + +/** + * Add the specified task and mark it as running. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ +Scheduler.prototype.addRunningTask = function (id, priority, queue, task) { + this.addTask(id, priority, queue, task); + this.currentTcb.setRunning(); +}; + +/** + * Add the specified task to this scheduler. + * @param {int} id the identity of the task + * @param {int} priority the task's priority + * @param {Packet} queue the queue of work to be processed by the task + * @param {Task} task the task to add + */ +Scheduler.prototype.addTask = function (id, priority, queue, task) { + this.currentTcb = new TaskControlBlock(this.list, id, priority, queue, task); + this.list = this.currentTcb; + this.blocks[id] = this.currentTcb; +}; + +/** + * Execute the tasks managed by this scheduler. + */ +Scheduler.prototype.schedule = function () { + this.currentTcb = this.list; + while (this.currentTcb != null) { + if (this.currentTcb.isHeldOrSuspended()) { + this.currentTcb = this.currentTcb.link; + } else { + this.currentId = this.currentTcb.id; + this.currentTcb = this.currentTcb.run(); + } + } +}; + +/** + * Release a task that is currently blocked and return the next block to run. + * @param {int} id the id of the task to suspend + */ +Scheduler.prototype.release = function (id) { + var tcb = this.blocks[id]; + if (tcb == null) return tcb; + tcb.markAsNotHeld(); + if (tcb.priority > this.currentTcb.priority) { + return tcb; + } else { + return this.currentTcb; + } +}; + +/** + * Block the currently executing task and return the next task control block + * to run. The blocked task will not be made runnable until it is explicitly + * released, even if new work is added to it. + */ +Scheduler.prototype.holdCurrent = function () { + this.holdCount++; + this.currentTcb.markAsHeld(); + return this.currentTcb.link; +}; + +/** + * Suspend the currently executing task and return the next task control block + * to run. If new work is added to the suspended task it will be made runnable. + */ +Scheduler.prototype.suspendCurrent = function () { + this.currentTcb.markAsSuspended(); + return this.currentTcb; +}; + +/** + * Add the specified packet to the end of the worklist used by the task + * associated with the packet and make the task runnable if it is currently + * suspended. + * @param {Packet} packet the packet to add + */ +Scheduler.prototype.queue = function (packet) { + var t = this.blocks[packet.id]; + if (t == null) return t; + this.queueCount++; + packet.link = null; + packet.id = this.currentId; + return t.checkPriorityAdd(this.currentTcb, packet); +}; + +/** + * A task control block manages a task and the queue of work packages associated + * with it. + * @param {TaskControlBlock} link the preceding block in the linked block list + * @param {int} id the id of this block + * @param {int} priority the priority of this block + * @param {Packet} queue the queue of packages to be processed by the task + * @param {Task} task the task + * @constructor + */ +function TaskControlBlock(link, id, priority, queue, task) { + this._link = link; + this._id = id; + this._priority = priority; + this._queue = queue; + this._task = task; + if (queue == null) { + this.state = STATE_SUSPENDED; + } else { + this.state = STATE_SUSPENDED_RUNNABLE; + } +} + +/** + * The task is running and is currently scheduled. + */ +var STATE_RUNNING = 0; + +/** + * The task has packets left to process. + */ +var STATE_RUNNABLE = 1; + +/** + * The task is not currently running. The task is not blocked as such and may +* be started by the scheduler. + */ +var STATE_SUSPENDED = 2; + +/** + * The task is blocked and cannot be run until it is explicitly released. + */ +var STATE_HELD = 4; + +var STATE_SUSPENDED_RUNNABLE = STATE_SUSPENDED | STATE_RUNNABLE; +var STATE_NOT_HELD = ~STATE_HELD; + +TaskControlBlock.prototype.__defineGetter__("link", function() { return this._link; }); +TaskControlBlock.prototype.__defineGetter__("id", function() { return this._id; }); +TaskControlBlock.prototype.__defineGetter__("priority", function() { return this._priority; }); +TaskControlBlock.prototype.__defineGetter__("queue", function() { return this._queue; }); +TaskControlBlock.prototype.__defineSetter__("queue", function(value) { this._queue = value; }); +TaskControlBlock.prototype.__defineGetter__("task", function() { return this._task; }); +TaskControlBlock.prototype.__defineGetter__("state", function() { return this._state; }); +TaskControlBlock.prototype.__defineSetter__("state", function(value) { this._state = value; }); + +TaskControlBlock.prototype.setRunning = function () { + this.state = STATE_RUNNING; +}; + +TaskControlBlock.prototype.markAsNotHeld = function () { + this.state = this.state & STATE_NOT_HELD; +}; + +TaskControlBlock.prototype.markAsHeld = function () { + this.state = this.state | STATE_HELD; +}; + +TaskControlBlock.prototype.isHeldOrSuspended = function () { + return (this.state & STATE_HELD) != 0 || (this.state == STATE_SUSPENDED); +}; + +TaskControlBlock.prototype.markAsSuspended = function () { + this.state = this.state | STATE_SUSPENDED; +}; + +TaskControlBlock.prototype.markAsRunnable = function () { + this.state = this.state | STATE_RUNNABLE; +}; + +/** + * Runs this task, if it is ready to be run, and returns the next task to run. + */ +TaskControlBlock.prototype.run = function () { + var packet; + if (this.state == STATE_SUSPENDED_RUNNABLE) { + packet = this.queue; + this.queue = packet.link; + if (this.queue == null) { + this.state = STATE_RUNNING; + } else { + this.state = STATE_RUNNABLE; + } + } else { + packet = null; + } + return this.task.run(packet); +}; + +/** + * Adds a packet to the worklist of this block's task, marks this as runnable if + * necessary, and returns the next runnable object to run (the one + * with the highest priority). + */ +TaskControlBlock.prototype.checkPriorityAdd = function (task, packet) { + if (this.queue == null) { + this.queue = packet; + this.markAsRunnable(); + if (this.priority > task.priority) return this; + } else { + this.queue = packet.addTo(this.queue); + } + return task; +}; + +TaskControlBlock.prototype.toString = function () { + return "tcb { " + this.task + "@" + this.state + " }"; +}; + +/** + * An idle task doesn't do any work itself but cycles control between the two + * device tasks. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed value that controls how the device tasks are scheduled + * @param {int} count the number of times this task should be scheduled + * @constructor + */ +function IdleTask(scheduler, v1, count) { + this._scheduler = scheduler; + this._v1 = v1; + this._count = count; +} + +IdleTask.prototype.__defineGetter__("scheduler", function() { return this._scheduler; }); +IdleTask.prototype.__defineGetter__("v1", function() { return this._v1; }); +IdleTask.prototype.__defineSetter__("v1", function(value) { this._v1 = value; }); +IdleTask.prototype.__defineGetter__("count", function() { return this._count; }); +IdleTask.prototype.__defineSetter__("count", function(value) { this._count = value; }); + +IdleTask.prototype.run = function (packet) { + this.count--; + if (this.count == 0) return this.scheduler.holdCurrent(); + if ((this.v1 & 1) == 0) { + this.v1 = this.v1 >> 1; + return this.scheduler.release(ID_DEVICE_A); + } else { + this.v1 = (this.v1 >> 1) ^ 0xD008; + return this.scheduler.release(ID_DEVICE_B); + } +}; + +IdleTask.prototype.toString = function () { + return "IdleTask" +}; + +/** + * A task that suspends itself after each time it has been run to simulate + * waiting for data from an external device. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ +function DeviceTask(scheduler) { + this._scheduler = scheduler; + this._v1 = null; +} + +DeviceTask.prototype.__defineGetter__("scheduler", function() { return this._scheduler; }); +DeviceTask.prototype.__defineGetter__("v1", function() { return this._v1; }); +DeviceTask.prototype.__defineSetter__("v1", function(value) { this._v1 = value; }); + +DeviceTask.prototype.run = function (packet) { + if (packet == null) { + if (this.v1 == null) return this.scheduler.suspendCurrent(); + var v = this.v1; + this.v1 = null; + return this.scheduler.queue(v); + } else { + this.v1 = packet; + return this.scheduler.holdCurrent(); + } +}; + +DeviceTask.prototype.toString = function () { + return "DeviceTask"; +}; + +/** + * A task that manipulates work packets. + * @param {Scheduler} scheduler the scheduler that manages this task + * @param {int} v1 a seed used to specify how work packets are manipulated + * @param {int} v2 another seed used to specify how work packets are manipulated + * @constructor + */ +function WorkerTask(scheduler, v1, v2) { + this._scheduler = scheduler; + this._v1 = v1; + this._v2 = v2; +} + +WorkerTask.prototype.__defineGetter__("scheduler", function() { return this._scheduler; }); +WorkerTask.prototype.__defineGetter__("v1", function() { return this._v1; }); +WorkerTask.prototype.__defineSetter__("v1", function(value) { this._v1 = value; }); +WorkerTask.prototype.__defineGetter__("v2", function() { return this._v2; }); +WorkerTask.prototype.__defineSetter__("v2", function(value) { this._v2 = value; }); + +WorkerTask.prototype.run = function (packet) { + if (packet == null) { + return this.scheduler.suspendCurrent(); + } else { + if (this.v1 == ID_HANDLER_A) { + this.v1 = ID_HANDLER_B; + } else { + this.v1 = ID_HANDLER_A; + } + packet.id = this.v1; + packet.a1 = 0; + for (var i = 0; i < DATA_SIZE; i++) { + this.v2++; + if (this.v2 > 26) this.v2 = 1; + packet.a2[i] = this.v2; + } + return this.scheduler.queue(packet); + } +}; + +WorkerTask.prototype.toString = function () { + return "WorkerTask"; +}; + +/** + * A task that manipulates work packets and then suspends itself. + * @param {Scheduler} scheduler the scheduler that manages this task + * @constructor + */ +function HandlerTask(scheduler) { + this._scheduler = scheduler; + this._v1 = null; + this._v2 = null; +} + +HandlerTask.prototype.__defineGetter__("scheduler", function() { return this._scheduler; }); +HandlerTask.prototype.__defineGetter__("v1", function() { return this._v1; }); +HandlerTask.prototype.__defineSetter__("v1", function(value) { this._v1 = value; }); +HandlerTask.prototype.__defineGetter__("v2", function() { return this._v2; }); +HandlerTask.prototype.__defineSetter__("v2", function(value) { this._v2 = value; }); + +HandlerTask.prototype.run = function (packet) { + if (packet != null) { + if (packet.kind == KIND_WORK) { + this.v1 = packet.addTo(this.v1); + } else { + this.v2 = packet.addTo(this.v2); + } + } + if (this.v1 != null) { + var count = this.v1.a1; + var v; + if (count < DATA_SIZE) { + if (this.v2 != null) { + v = this.v2; + this.v2 = this.v2.link; + v.a1 = this.v1.a2[count]; + this.v1.a1 = count + 1; + return this.scheduler.queue(v); + } + } else { + v = this.v1; + this.v1 = this.v1.link; + return this.scheduler.queue(v); + } + } + return this.scheduler.suspendCurrent(); +}; + +HandlerTask.prototype.toString = function () { + return "HandlerTask"; +}; + +/* --- * + * P a c k e t + * --- */ + +var DATA_SIZE = 4; + +/** + * A simple package of data that is manipulated by the tasks. The exact layout + * of the payload data carried by a packet is not importaint, and neither is the + * nature of the work performed on packets by the tasks. + * + * Besides carrying data, packets form linked lists and are hence used both as + * data and worklists. + * @param {Packet} link the tail of the linked list of packets + * @param {int} id an ID for this packet + * @param {int} kind the type of this packet + * @constructor + */ +function Packet(link, id, kind) { + this._link = link; + this._id = id; + this._kind = kind; + this._a1 = 0; + this._a2 = new Array(DATA_SIZE); +} + +Packet.prototype.__defineGetter__("link", function() { return this._link; }); +Packet.prototype.__defineSetter__("link", function(value) { this._link = value; }); +Packet.prototype.__defineGetter__("id", function() { return this._id; }); +Packet.prototype.__defineSetter__("id", function(value) { this._id = value; }); +Packet.prototype.__defineGetter__("kind", function() { return this._kind; }); +Packet.prototype.__defineGetter__("a1", function() { return this._a1; }); +Packet.prototype.__defineSetter__("a1", function(value) { this._a1 = value; }); +Packet.prototype.__defineGetter__("a2", function() { return this._a2; }); + +/** + * Add this packet to the end of a worklist, and return the worklist. + * @param {Packet} queue the worklist to add this packet to + */ +Packet.prototype.addTo = function (queue) { + this.link = null; + if (queue == null) return this; + var peek, next = queue; + while ((peek = next.link) != null) + next = peek; + next.link = this; + return queue; +}; + +Packet.prototype.toString = function () { + return "Packet"; +}; + +for (var i = 0; i < 150; ++i) + runRichards(); diff --git a/implementation-contributed/javascriptcore/typeProfiler/inheritance.js b/implementation-contributed/javascriptcore/typeProfiler/inheritance.js new file mode 100644 index 0000000000..9bc64510f4 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/inheritance.js @@ -0,0 +1,53 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() +{ + +var theA = new A; +var theB = new B; +var theC = new C; +var hierarchyTest = new B; +hierarchyTest = new C; + +var secondHierarchyTest = Object.create(theB); +secondHierarchyTest = Object.create(theC); + +var secondB = Object.create(theB); + +function A() { }; +function B() { }; B.prototype.__proto__ = A.prototype; +function C() { }; C.prototype.__proto__ = A.prototype; + +} +wrapper(); + +// ====== End test cases ====== + +types = findTypeForExpression(wrapper, "theA = n"); +assert(types.globalTypeSet.displayTypeName === "A", "variable 'theA' should have displayTypeName 'A'"); +assert(types.instructionTypeSet.displayTypeName === "A", "variable 'theA' should have displayTypeName 'A'"); + +types = findTypeForExpression(wrapper, "theB = n"); +assert(types.globalTypeSet.displayTypeName === "B", "variable 'theB' should have displayTypeName 'B'"); +assert(types.instructionTypeSet.displayTypeName === "B", "variable 'theB' should have displayTypeName 'B'"); + +types = findTypeForExpression(wrapper, "theC = n"); +assert(types.globalTypeSet.displayTypeName === "C", "variable 'theC' should have displayTypeName 'C'"); +assert(types.instructionTypeSet.displayTypeName === "C", "variable 'theC' should have displayTypeName 'C'"); + +types = findTypeForExpression(wrapper, "hierarchyTest = new B;"); +assert(types.globalTypeSet.displayTypeName === "A", "variable 'hierarchyTest' should have displayTypeName 'A'"); + +types = findTypeForExpression(wrapper, "hierarchyTest = new C;"); +assert(types.globalTypeSet.displayTypeName === "A", "variable 'hierarchyTest' should have displayTypeName 'A'"); + +types = findTypeForExpression(wrapper, "secondHierarchyTest = Object.create(theB);"); +assert(types.globalTypeSet.displayTypeName === "A", "variable 'secondHierarchyTest' should have displayTypeName 'A'"); + +types = findTypeForExpression(wrapper, "secondHierarchyTest = Object.create(theC);"); +assert(types.globalTypeSet.displayTypeName === "A", "variable 'secondHierarchyTest' should have displayTypeName 'A'"); + +types = findTypeForExpression(wrapper, "secondB"); +assert(types.globalTypeSet.displayTypeName === "B", "variable 'secondB' should have displayTypeName 'B'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/int52-dfg.js b/implementation-contributed/javascriptcore/typeProfiler/int52-dfg.js new file mode 100644 index 0000000000..60fcefb96d --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/int52-dfg.js @@ -0,0 +1,19 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function test() +{ + var ok = 0; + for (var i = 0; i < 1e4; ++i) { + // Int52. ProfileType should not use AnyIntUse edge in 32bit environment. + // If 32bit uses AnyIntUse, it leads crashing. + ok += 0xfffffffff; + } + return ok; +} +test(); + +var types = findTypeForExpression(test, "ok += 0x"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should one candidate."); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/loop.js b/implementation-contributed/javascriptcore/typeProfiler/loop.js new file mode 100644 index 0000000000..2ff7e1fc7e --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/loop.js @@ -0,0 +1,59 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function testForIn(x) { + for (var arg1 in x) + x; + + for (arg2 in x) + x; + + for ({x: arg3} in x) + x; + + for (var {x: arg4} in x) + x; +} + +function testForOf(x) { + for (var arg1 of x) + x; + + for (arg2 of x) + x; + + for ({x: arg3} of x) + x; + for (var {x: arg4} of x) + x; +} + +testForIn([1]) +var types = findTypeForExpression(testForIn, "arg1"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Primitive type names should contain 'String'"); +types = findTypeForExpression(testForIn, "arg2"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Primitive type names should contain 'String'"); +types = findTypeForExpression(testForIn, "arg3"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Undefined) !== -1, "Primitive type names should contain 'Undefined'"); +types = findTypeForExpression(testForIn, "arg4"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Undefined) !== -1, "Primitive type names should contain 'Undefined'"); + +testForOf([1]) +types = findTypeForExpression(testForOf, "arg1"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +types = findTypeForExpression(testForOf, "arg2"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +types = findTypeForExpression(testForOf, "arg3"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Undefined) !== -1, "Primitive type names should contain 'Undefined'"); +types = findTypeForExpression(testForOf, "arg4"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Undefined) !== -1, "Primitive type names should contain 'Undefined'"); +testForOf([{x:29}]) +types = findTypeForExpression(testForOf, "arg1"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "variable 'arg1' should have field 'x'"); +types = findTypeForExpression(testForOf, "arg2"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "variable 'arg2' should have field 'x'"); +types = findTypeForExpression(testForOf, "arg3"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +types = findTypeForExpression(testForOf, "arg4"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/optional-fields.js b/implementation-contributed/javascriptcore/typeProfiler/optional-fields.js new file mode 100644 index 0000000000..222de55a7c --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/optional-fields.js @@ -0,0 +1,54 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +var func; +function wrapper() { + +func = function(arg){}; + +} +wrapper(); + +// ====== End test cases ====== + +var obj = {x:20, y:50}; + +func(obj); +var types = findTypeForExpression(wrapper, "arg"); +assert(types.instructionTypeSet.structures.length === 1, "arg should have one structure"); +assert(types.instructionTypeSet.structures[0].fields.length === 2, "arg should have two fields"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "arg should have field: 'x'"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("y") !== -1, "arg should have field: 'y'"); +assert(types.instructionTypeSet.structures[0].optionalFields.length === 0, "arg should have zero optional fields"); + +obj.z = 40; +func(obj); +types = findTypeForExpression(wrapper, "arg"); +assert(types.instructionTypeSet.structures[0].fields.length === 2, "arg should still have two fields"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "arg should have field: 'x'"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("y") !== -1, "arg should have field: 'y'"); +assert(types.instructionTypeSet.structures[0].optionalFields.length === 1, "arg should have one optional field"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("z") !== -1, "arg should have optional field: 'z'"); + +obj["foo"] = "type"; +obj["baz"] = "profiler"; +func(obj); +types = findTypeForExpression(wrapper, "arg"); +assert(types.instructionTypeSet.structures[0].fields.length === 2, "arg should still have two fields"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("x") !== -1, "arg should have field: 'x'"); +assert(types.instructionTypeSet.structures[0].fields.indexOf("y") !== -1, "arg should have field: 'y'"); +assert(types.instructionTypeSet.structures[0].optionalFields.length === 3, "arg should have three optional field"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("z") !== -1, "arg should have optional field: 'z'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("foo") !== -1, "arg should have optional field: 'foo'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("baz") !== -1, "arg should have optional field: 'baz'"); + +func({}); +types = findTypeForExpression(wrapper, "arg"); +assert(types.instructionTypeSet.structures[0].fields.length === 0, "arg should have no common fields"); +assert(types.instructionTypeSet.structures[0].optionalFields.length === 5, "arg should have five optional field"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("x") !== -1, "arg should have optional field: 'x'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("y") !== -1, "arg should have optional field: 'y'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("z") !== -1, "arg should have optional field: 'z'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("foo") !== -1, "arg should have optional field: 'foo'"); +assert(types.instructionTypeSet.structures[0].optionalFields.indexOf("baz") !== -1, "arg should have optional field: 'baz'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/overflow.js b/implementation-contributed/javascriptcore/typeProfiler/overflow.js new file mode 100644 index 0000000000..0bf543bb62 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/overflow.js @@ -0,0 +1,42 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() +{ + +var x; +var Proto = function() {}; +var oldProto; +for (var i = 0; i < MaxStructureCountWithoutOverflow; i++) { + // Make sure we get a new prototype chain on each assignment to x because objects with shared prototype chains will be merged. + x = new Proto; + x['field' + i] = 20; + x = x + oldProto = Proto; + Proto = function() {}; + Proto.prototype.__proto__ = oldProto.prototype; +} +x = {}; + +var y; +Proto = function() {}; +oldProto = null; +for (var i = 0; i < MaxStructureCountWithoutOverflow - 1; i++) { + y = new Proto; + y['field' + i] = 20; + y = y + oldProto = Proto; + Proto = function() {}; + Proto.prototype.__proto__ = oldProto.prototype; +} +y = {}; + +} +wrapper(); + +var types = findTypeForExpression(wrapper, "x;"); +assert(types.isOverflown, "x should be overflown with too many structure shapes."); + +var types = findTypeForExpression(wrapper, "y;"); +assert(!types.isOverflown, "y should not be overflown with too many structure shapes."); diff --git a/implementation-contributed/javascriptcore/typeProfiler/return.js b/implementation-contributed/javascriptcore/typeProfiler/return.js new file mode 100644 index 0000000000..c10cd7e1d8 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/return.js @@ -0,0 +1,36 @@ +var returnTypeFor = $vm.returnTypeFor; + +load("./driver/driver.js"); + +function foo(x) { return x; } +function Ctor() { + if (!(this instanceof Ctor)) + return "Not called with `new`"; +} + +// ====== End test cases ====== + +foo(20); +var types = returnTypeFor(foo); +assert(types.globalTypeSet.displayTypeName === T.Integer, "Function 'foo' should return 'Integer'"); + +foo(20.5); +types = returnTypeFor(foo); +assert(types.globalTypeSet.displayTypeName === T.Number, "Function 'foo' should return 'Number' after being called twice"); + +foo("hello"); +types = returnTypeFor(foo); +assert(types.globalTypeSet.displayTypeName === T.Many, "Function 'foo' should return '(many)' after being called three times"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Function 'foo' should have returned 'String' at some point"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Function 'foo' should have returned 'Integer' at some point"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Number) !== -1, "Function 'foo' should have returned 'Number' at some point"); + +new Ctor; +types = returnTypeFor(Ctor); +assert(types.globalTypeSet.displayTypeName === "Ctor", "Function 'Ctor' should return 'Ctor'"); +assert(types.globalTypeSet.structures.length === 1, "Function 'Ctor' should have seen one structure"); + +Ctor(); +types = returnTypeFor(Ctor); +assert(types.globalTypeSet.displayTypeName === "Object", "Function 'Ctor' should return Object"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Function 'Ctor' should return String"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/symbol.js b/implementation-contributed/javascriptcore/typeProfiler/symbol.js new file mode 100644 index 0000000000..79daf6439e --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/symbol.js @@ -0,0 +1,46 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() { + var s1 = Symbol(); + + var sCaptured = Symbol(); + function foo() { + sCaptured = null; + } + foo(); + + function bar(s3) { return s3; } + for (var i = 0; i < 1000; i++) + bar(i) + bar(Symbol()) + + function baz(s4) { return s4; } + for (var i = 0; i < 1000; i++) + baz(Symbol()) + baz("hello") +} + +wrapper(); + +// ====== End test cases ====== + +var types = findTypeForExpression(wrapper, "s1"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 1, "Primitive type names should contain one type"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Symbol) !== -1, "Primitive type names should contain 'Symbol'"); + +types = findTypeForExpression(wrapper, "sCaptured"); +assert(types.globalTypeSet.primitiveTypeNames.length === 2, "Primitive type names should contain two items."); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Symbol) !== -1, "Primitive type names should contain 'Symbol'"); +assert(types.globalTypeSet.primitiveTypeNames.indexOf(T.Null) !== -1, "Primitive type names should contain 'Null'"); + +types = findTypeForExpression(wrapper, "s3"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 2, "Primitive type names should contain 2 items"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Integer) !== -1, "Primitive type names should contain 'Integer'"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Symbol) !== -1, "Primitive type names should contain 'Symbol'"); + +types = findTypeForExpression(wrapper, "s4"); +assert(types.instructionTypeSet.primitiveTypeNames.length === 2, "Primitive type names should contain 2 items"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.String) !== -1, "Primitive type names should contain 'String'"); +assert(types.instructionTypeSet.primitiveTypeNames.indexOf(T.Symbol) !== -1, "Primitive type names should contain 'Symbol'"); diff --git a/implementation-contributed/javascriptcore/typeProfiler/type-profiler-gc.js b/implementation-contributed/javascriptcore/typeProfiler/type-profiler-gc.js new file mode 100644 index 0000000000..791e8bdc90 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/type-profiler-gc.js @@ -0,0 +1,25 @@ +load("./driver/driver.js"); + +// The goal of this test is to just ensure that we don't crash the type profiler. + +function bar(o) { + o[Math.random() + "foo"] = new Array(100); + return o; +} +noInline(bar); + +function foo(o) { + let x = bar(o); + return x; +} +noInline(foo); + +let o = {}; +for (let i = 0; i < 2000; i++) { + if (i % 5 === 0) + o = {}; + foo(o); + for (let i = 0; i < 20; i++) { + new Array(100); + } +} diff --git a/implementation-contributed/javascriptcore/typeProfiler/weird-prototype-chain.js b/implementation-contributed/javascriptcore/typeProfiler/weird-prototype-chain.js new file mode 100644 index 0000000000..ac38e30c82 --- /dev/null +++ b/implementation-contributed/javascriptcore/typeProfiler/weird-prototype-chain.js @@ -0,0 +1,23 @@ +var findTypeForExpression = $vm.findTypeForExpression; + +load("./driver/driver.js"); + +function wrapper() { + +function foo(o) { + let variableName = o; + return variableName; +} +let o1 = new Number; +o1.__proto__ = null; +foo(o1); + +let o2 = function() {} +foo(o2); + +} +wrapper(); + +// ====== End test cases ====== +var types = findTypeForExpression(wrapper, "variableName;"); +assert(types.instructionTypeSet.displayTypeName === "Object", "'Object' should be our TOP."); diff --git a/implementation-contributed/javascriptcore/wasm/Builder.js b/implementation-contributed/javascriptcore/wasm/Builder.js new file mode 100644 index 0000000000..e94f0a31a4 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/Builder.js @@ -0,0 +1,779 @@ +/* + * Copyright (C) 2016 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import * as assert from 'assert.js'; +import * as BuildWebAssembly from 'Builder_WebAssemblyBinary.js'; +import * as LLB from 'LowLevelBinary.js'; +import * as WASM from 'WASM.js'; +import * as util from 'utilities.js'; + +const _isValidValue = (value, type) => { + switch (type) { + // We allow both signed and unsigned numbers. + case "i32": return Math.round(value) === value && LLB.varint32Min <= value && value <= LLB.varuint32Max; + case "i64": return true; // FIXME https://bugs.webkit.org/show_bug.cgi?id=163420 64-bit values + case "f32": return typeof(value) === "number" && isFinite(value); + case "f64": return typeof(value) === "number" && isFinite(value); + default: throw new Error(`Implementation problem: unknown type ${type}`); + } +}; +const _unknownSectionId = 0; + +const _normalizeFunctionSignature = (params, ret) => { + assert.isArray(params); + for (const p of params) + assert.truthy(WASM.isValidValueType(p) || p === "void", `Type parameter ${p} needs a valid value type`); + if (typeof(ret) === "undefined") + ret = "void"; + assert.isNotArray(ret, `Multiple return values not supported by WebAssembly yet`); + assert.truthy(WASM.isValidBlockType(ret), `Type return ${ret} must be valid block type`); + return [params, ret]; +}; + +const _errorHandlingProxyFor = builder => builder["__isProxy"] ? builder : new Proxy(builder, { + get: (target, property, receiver) => { + if (property === "__isProxy") + return true; + if (target[property] === undefined) + throw new Error(`WebAssembly builder received unknown property '${property}'`); + return target[property]; + } +}); + +const _maybeRegisterType = (builder, type) => { + const typeSection = builder._getSection("Type"); + if (typeof(type) === "number") { + // Type numbers already refer to the type section, no need to register them. + if (builder._checked) { + assert.isNotUndef(typeSection, `Can not use type ${type} if a type section is not present`); + assert.isNotUndef(typeSection.data[type], `Type ${type} does not exist in type section`); + } + return type; + } + assert.hasObjectProperty(type, "params", `Expected type to be a number or object with 'params' and optionally 'ret' fields`); + const [params, ret] = _normalizeFunctionSignature(type.params, type.ret); + assert.isNotUndef(typeSection, `Can not add type if a type section is not present`); + // Try reusing an equivalent type from the type section. + types: + for (let i = 0; i !== typeSection.data.length; ++i) { + const t = typeSection.data[i]; + if (t.ret === ret && params.length === t.params.length) { + for (let j = 0; j !== t.params.length; ++j) { + if (params[j] !== t.params[j]) + continue types; + } + type = i; + break; + } + } + if (typeof(type) !== "number") { + // Couldn't reuse a pre-existing type, register this type in the type section. + typeSection.data.push({ params: params, ret: ret }); + type = typeSection.data.length - 1; + } + return type; +}; + +const _importFunctionContinuation = (builder, section, nextBuilder) => { + return (module, field, type) => { + assert.isString(module, `Import function module should be a string, got "${module}"`); + assert.isString(field, `Import function field should be a string, got "${field}"`); + const typeSection = builder._getSection("Type"); + type = _maybeRegisterType(builder, type); + section.data.push({ field: field, type: type, kind: "Function", module: module }); + // Imports also count in the function index space. Map them as objects to avoid clashing with Code functions' names. + builder._registerFunctionToIndexSpace({ module: module, field: field }); + return _errorHandlingProxyFor(nextBuilder); + }; +}; + +const _importMemoryContinuation = (builder, section, nextBuilder) => { + return (module, field, {initial, maximum}) => { + assert.isString(module, `Import Memory module should be a string, got "${module}"`); + assert.isString(field, `Import Memory field should be a string, got "${field}"`); + section.data.push({module, field, kind: "Memory", memoryDescription: {initial, maximum}}); + return _errorHandlingProxyFor(nextBuilder); + }; +}; + +const _importTableContinuation = (builder, section, nextBuilder) => { + return (module, field, {initial, maximum, element}) => { + assert.isString(module, `Import Table module should be a string, got "${module}"`); + assert.isString(field, `Import Table field should be a string, got "${field}"`); + section.data.push({module, field, kind: "Table", tableDescription: {initial, maximum, element}}); + return _errorHandlingProxyFor(nextBuilder); + }; +}; + +const _exportFunctionContinuation = (builder, section, nextBuilder) => { + return (field, index, type) => { + assert.isString(field, `Export function field should be a string, got "${field}"`); + const typeSection = builder._getSection("Type"); + if (typeof(type) !== "undefined") { + // Exports can leave the type unspecified, letting the Code builder patch them up later. + type = _maybeRegisterType(builder, type); + } + + // We can't check much about "index" here because the Code section succeeds the Export section. More work is done at Code().End() time. + switch (typeof(index)) { + case "string": break; // Assume it's a function name which will be revealed in the Code section. + case "number": break; // Assume it's a number in the "function index space". + case "object": + // Re-exporting an import. + assert.hasObjectProperty(index, "module", `Re-exporting "${field}" from an import`); + assert.hasObjectProperty(index, "field", `Re-exporting "${field}" from an import`); + break; + case "undefined": + // Assume it's the same as the field (i.e. it's not being renamed). + index = field; + break; + default: throw new Error(`Export section's index must be a string or a number, got ${index}`); + } + + const correspondingImport = builder._getFunctionFromIndexSpace(index); + const importSection = builder._getSection("Import"); + if (typeof(index) === "object") { + // Re-exporting an import using its module+field name. + assert.isNotUndef(correspondingImport, `Re-exporting "${field}" couldn't find import from module "${index.module}" field "${index.field}"`); + index = correspondingImport; + if (typeof(type) === "undefined") + type = importSection.data[index].type; + if (builder._checked) + assert.eq(type, importSection.data[index].type, `Re-exporting import "${importSection.data[index].field}" as "${field}" has mismatching type`); + } else if (typeof(correspondingImport) !== "undefined") { + // Re-exporting an import using its index. + let exportedImport; + for (const i of importSection.data) { + if (i.module === correspondingImport.module && i.field === correspondingImport.field) { + exportedImport = i; + break; + } + } + if (typeof(type) === "undefined") + type = exportedImport.type; + if (builder._checked) + assert.eq(type, exportedImport.type, `Re-exporting import "${exportedImport.field}" as "${field}" has mismatching type`); + } + section.data.push({ field: field, type: type, kind: "Function", index: index }); + return _errorHandlingProxyFor(nextBuilder); + }; +}; + +const _normalizeMutability = (mutability) => { + if (mutability === "mutable") + return 1; + else if (mutability === "immutable") + return 0; + else + throw new Error(`mutability should be either "mutable" or "immutable", but got ${mutability}`); +}; + +const _exportGlobalContinuation = (builder, section, nextBuilder) => { + return (field, index) => { + assert.isNumber(index, `Global exports only support number indices right now`); + section.data.push({ field, kind: "Global", index }); + return _errorHandlingProxyFor(nextBuilder); + } +}; + +const _exportMemoryContinuation = (builder, section, nextBuilder) => { + return (field, index) => { + assert.isNumber(index, `Memory exports only support number indices`); + section.data.push({field, kind: "Memory", index}); + return _errorHandlingProxyFor(nextBuilder); + } +}; + +const _exportTableContinuation = (builder, section, nextBuilder) => { + return (field, index) => { + assert.isNumber(index, `Table exports only support number indices`); + section.data.push({field, kind: "Table", index}); + return _errorHandlingProxyFor(nextBuilder); + } +}; + +const _importGlobalContinuation = (builder, section, nextBuilder) => { + return () => { + const globalBuilder = { + End: () => nextBuilder + }; + for (let op of WASM.description.value_type) { + globalBuilder[util.toJavaScriptName(op)] = (module, field, mutability) => { + assert.isString(module, `Import global module should be a string, got "${module}"`); + assert.isString(field, `Import global field should be a string, got "${field}"`); + assert.isString(mutability, `Import global mutability should be a string, got "${mutability}"`); + section.data.push({ globalDescription: { type: op, mutability: _normalizeMutability(mutability) }, module, field, kind: "Global" }); + return _errorHandlingProxyFor(globalBuilder); + }; + } + return _errorHandlingProxyFor(globalBuilder); + }; +}; + +const _checkStackArgs = (op, param) => { + for (let expect of param) { + if (WASM.isValidType(expect)) { + // FIXME implement stack checks for arguments. https://bugs.webkit.org/show_bug.cgi?id=163421 + } else { + // Handle our own meta-types. + switch (expect) { + case "addr": break; // FIXME implement addr. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "any": break; // FIXME implement any. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "bool": break; // FIXME implement bool. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "call": break; // FIXME implement call stack argument checks based on function signature. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "global": break; // FIXME implement global. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "local": break; // FIXME implement local. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "prev": break; // FIXME implement prev, checking for whetever the previous value was. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "size": break; // FIXME implement size. https://bugs.webkit.org/show_bug.cgi?id=163421 + default: throw new Error(`Implementation problem: unhandled meta-type "${expect}" on "${op}"`); + } + } + } +} + +const _checkStackReturn = (op, ret) => { + for (let expect of ret) { + if (WASM.isValidType(expect)) { + // FIXME implement stack checks for return. https://bugs.webkit.org/show_bug.cgi?id=163421 + } else { + // Handle our own meta-types. + switch (expect) { + case "any": break; + case "bool": break; // FIXME implement bool. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "call": break; // FIXME implement call stack return check based on function signature. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "control": break; // FIXME implement control. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "global": break; // FIXME implement global. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "local": break; // FIXME implement local. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "prev": break; // FIXME implement prev, checking for whetever the parameter type was. https://bugs.webkit.org/show_bug.cgi?id=163421 + case "size": break; // FIXME implement size. https://bugs.webkit.org/show_bug.cgi?id=163421 + default: throw new Error(`Implementation problem: unhandled meta-type "${expect}" on "${op}"`); + } + } + } +}; + +const _checkImms = (op, imms, expectedImms, ret) => { + const minExpectedImms = expectedImms.filter(i => i.type.slice(-1) !== '*').length; + if (minExpectedImms !== expectedImms.length) + assert.ge(imms.length, minExpectedImms, `"${op}" expects at least ${minExpectedImms} immediate${minExpectedImms !== 1 ? 's' : ''}, got ${imms.length}`); + else + assert.eq(imms.length, minExpectedImms, `"${op}" expects exactly ${minExpectedImms} immediate${minExpectedImms !== 1 ? 's' : ''}, got ${imms.length}`); + for (let idx = 0; idx !== expectedImms.length; ++idx) { + const got = imms[idx]; + const expect = expectedImms[idx]; + switch (expect.name) { + case "function_index": + assert.truthy(_isValidValue(got, "i32") && got >= 0, `Invalid value on ${op}: got "${got}", expected non-negative i32`); + // FIXME check function indices. https://bugs.webkit.org/show_bug.cgi?id=163421 + break; + case "local_index": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "global_index": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "type_index": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "value": + assert.truthy(_isValidValue(got, ret[0]), `Invalid value on ${op}: got "${got}", expected ${ret[0]}`); + break; + case "flags": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "offset": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + // Control: + case "default_target": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "relative_depth": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "sig": + assert.truthy(WASM.isValidBlockType(imms[idx]), `Invalid block type on ${op}: "${imms[idx]}"`); + break; + case "target_count": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "target_table": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + case "reserved": break; // improve checking https://bugs.webkit.org/show_bug.cgi?id=163421 + default: throw new Error(`Implementation problem: unhandled immediate "${expect.name}" on "${op}"`); + } + } +}; + +const _createFunctionBuilder = (func, builder, previousBuilder) => { + let functionBuilder = {}; + for (const op in WASM.description.opcode) { + const name = util.toJavaScriptName(op); + const value = WASM.description.opcode[op].value; + const ret = WASM.description.opcode[op]["return"]; + const param = WASM.description.opcode[op].parameter; + const imm = WASM.description.opcode[op].immediate; + + const checkStackArgs = builder._checked ? _checkStackArgs : () => {}; + const checkStackReturn = builder._checked ? _checkStackReturn : () => {}; + const checkImms = builder._checked ? _checkImms : () => {}; + + functionBuilder[name] = (...args) => { + let nextBuilder; + switch (name) { + default: + nextBuilder = functionBuilder; + break; + case "End": + nextBuilder = previousBuilder; + break; + case "Block": + case "Loop": + case "If": + nextBuilder = _createFunctionBuilder(func, builder, functionBuilder); + break; + } + + // Passing a function as the argument is a way to nest blocks lexically. + const continuation = args[args.length - 1]; + const hasContinuation = typeof(continuation) === "function"; + const imms = hasContinuation ? args.slice(0, -1) : args; // FIXME: allow passing in stack values, as-if code were a stack machine. Just check for a builder to this function, and drop. https://bugs.webkit.org/show_bug.cgi?id=163422 + checkImms(op, imms, imm, ret); + checkStackArgs(op, param); + checkStackReturn(op, ret); + const stackArgs = []; // FIXME https://bugs.webkit.org/show_bug.cgi?id=162706 + func.code.push({ name: op, value: value, arguments: stackArgs, immediates: imms }); + if (hasContinuation) + return _errorHandlingProxyFor(continuation(nextBuilder).End()); + return _errorHandlingProxyFor(nextBuilder); + }; + }; + + return _errorHandlingProxyFor(functionBuilder); +} + +const _createFunction = (section, builder, previousBuilder) => { + return (...args) => { + const nameOffset = (typeof(args[0]) === "string") >>> 0; + const functionName = nameOffset ? args[0] : undefined; + let signature = args[0 + nameOffset]; + const locals = args[1 + nameOffset] === undefined ? [] : args[1 + nameOffset]; + for (const local of locals) + assert.truthy(WASM.isValidValueType(local), `Type of local: ${local} needs to be a valid value type`); + + if (typeof(signature) === "undefined") + signature = { params: [] }; + + let type; + let params; + if (typeof signature === "object") { + assert.hasObjectProperty(signature, "params", `Expect function signature to be an object with a "params" field, got "${signature}"`); + let ret; + ([params, ret] = _normalizeFunctionSignature(signature.params, signature.ret)); + signature = {params, ret}; + type = _maybeRegisterType(builder, signature); + } else { + assert.truthy(typeof signature === "number"); + const typeSection = builder._getSection("Type"); + assert.truthy(!!typeSection); + // FIXME: we should allow indices that exceed this to be able to + // test JSCs validator is correct. https://bugs.webkit.org/show_bug.cgi?id=165786 + assert.truthy(signature < typeSection.data.length); + type = signature; + signature = typeSection.data[signature]; + assert.hasObjectProperty(signature, "params", `Expect function signature to be an object with a "params" field, got "${signature}"`); + params = signature.params; + } + + const func = { + name: functionName, + type, + signature: signature, + locals: params.concat(locals), // Parameters are the first locals. + parameterCount: params.length, + code: [] + }; + + const functionSection = builder._getSection("Function"); + if (functionSection) + functionSection.data.push(func.type); + + section.data.push(func); + builder._registerFunctionToIndexSpace(functionName); + + return _createFunctionBuilder(func, builder, previousBuilder); + } +}; + +export default class Builder { + constructor() { + this.setChecked(true); + let preamble = {}; + for (const p of WASM.description.preamble) + preamble[p.name] = p.value; + this.setPreamble(preamble); + this._sections = []; + this._functionIndexSpace = new Map(); + this._functionIndexSpaceCount = 0; + this._registerSectionBuilders(); + } + setChecked(checked) { + this._checked = checked; + return this; + } + setPreamble(p) { + this._preamble = Object.assign(this._preamble || {}, p); + return this; + } + _functionIndexSpaceKeyHash(obj) { + // We don't need a full hash, just something that has a defined order for Map. Objects we insert aren't nested. + if (typeof(obj) !== 'object') + return obj; + const keys = Object.keys(obj).sort(); + let entries = []; + for (let k in keys) + entries.push([k, obj[k]]); + return JSON.stringify(entries); + } + _registerFunctionToIndexSpace(name) { + if (typeof(name) === "undefined") { + // Registering a nameless function still adds it to the function index space. Register it as something that can't normally be registered. + name = {}; + } + const value = this._functionIndexSpaceCount++; + // Collisions are fine: we'll simply count the function and forget the previous one. + this._functionIndexSpace.set(this._functionIndexSpaceKeyHash(name), value); + // Map it both ways, the number space is distinct from the name space. + this._functionIndexSpace.set(this._functionIndexSpaceKeyHash(value), name); + } + _getFunctionFromIndexSpace(name) { + return this._functionIndexSpace.get(this._functionIndexSpaceKeyHash(name)); + } + _registerSectionBuilders() { + for (const section in WASM.description.section) { + switch (section) { + case "Type": + this[section] = function() { + const s = this._addSection(section); + const builder = this; + const typeBuilder = { + End: () => builder, + Func: (params, ret) => { + [params, ret] = _normalizeFunctionSignature(params, ret); + s.data.push({ params: params, ret: ret }); + return _errorHandlingProxyFor(typeBuilder); + }, + }; + return _errorHandlingProxyFor(typeBuilder); + }; + break; + + case "Import": + this[section] = function() { + const s = this._addSection(section); + const importBuilder = { + End: () => this, + }; + importBuilder.Global = _importGlobalContinuation(this, s, importBuilder); + importBuilder.Function = _importFunctionContinuation(this, s, importBuilder); + importBuilder.Memory = _importMemoryContinuation(this, s, importBuilder); + importBuilder.Table = _importTableContinuation(this, s, importBuilder); + return _errorHandlingProxyFor(importBuilder); + }; + break; + + case "Function": + this[section] = function() { + const s = this._addSection(section); + const functionBuilder = { + End: () => this + // FIXME: add ability to add this with whatever. + }; + return _errorHandlingProxyFor(functionBuilder); + }; + break; + + case "Table": + this[section] = function() { + const s = this._addSection(section); + const tableBuilder = { + End: () => this, + Table: ({initial, maximum, element}) => { + s.data.push({tableDescription: {initial, maximum, element}}); + return _errorHandlingProxyFor(tableBuilder); + } + }; + return _errorHandlingProxyFor(tableBuilder); + }; + break; + + case "Memory": + this[section] = function() { + const s = this._addSection(section); + const memoryBuilder = { + End: () => this, + InitialMaxPages: (initial, maximum) => { + s.data.push({ initial, maximum }); + return _errorHandlingProxyFor(memoryBuilder); + } + }; + return _errorHandlingProxyFor(memoryBuilder); + }; + break; + + case "Global": + this[section] = function() { + const s = this._addSection(section); + const globalBuilder = { + End: () => this, + GetGlobal: (type, initValue, mutability) => { + s.data.push({ type, op: "get_global", mutability: _normalizeMutability(mutability), initValue }); + return _errorHandlingProxyFor(globalBuilder); + } + }; + for (let op of WASM.description.value_type) { + globalBuilder[util.toJavaScriptName(op)] = (initValue, mutability) => { + s.data.push({ type: op, op: op + ".const", mutability: _normalizeMutability(mutability), initValue }); + return _errorHandlingProxyFor(globalBuilder); + }; + } + return _errorHandlingProxyFor(globalBuilder); + }; + break; + + case "Export": + this[section] = function() { + const s = this._addSection(section); + const exportBuilder = { + End: () => this, + }; + exportBuilder.Global = _exportGlobalContinuation(this, s, exportBuilder); + exportBuilder.Function = _exportFunctionContinuation(this, s, exportBuilder); + exportBuilder.Memory = _exportMemoryContinuation(this, s, exportBuilder); + exportBuilder.Table = _exportTableContinuation(this, s, exportBuilder); + return _errorHandlingProxyFor(exportBuilder); + }; + break; + + case "Start": + this[section] = function(functionIndexOrName) { + const s = this._addSection(section); + const startBuilder = { + End: () => this, + }; + if (typeof(functionIndexOrName) !== "number" && typeof(functionIndexOrName) !== "string") + throw new Error(`Start section's function index must either be a number or a string`); + s.data.push(functionIndexOrName); + return _errorHandlingProxyFor(startBuilder); + }; + break; + + case "Element": + this[section] = function(...args) { + if (args.length !== 0 && this._checked) + throw new Error("You're doing it wrong. This element does not take arguments. You must chain the call with another Element()"); + + const s = this._addSection(section); + const elementBuilder = { + End: () => this, + Element: ({tableIndex = 0, offset, functionIndices}) => { + s.data.push({tableIndex, offset, functionIndices}); + return _errorHandlingProxyFor(elementBuilder); + } + }; + + return _errorHandlingProxyFor(elementBuilder); + }; + break; + + case "Code": + this[section] = function() { + const s = this._addSection(section); + const builder = this; + const codeBuilder = { + End: () => { + // We now have enough information to remap the export section's "type" and "index" according to the Code section we are currently ending. + const typeSection = builder._getSection("Type"); + const importSection = builder._getSection("Import"); + const exportSection = builder._getSection("Export"); + const startSection = builder._getSection("Start"); + const codeSection = s; + if (exportSection) { + for (const e of exportSection.data) { + if (e.kind !== "Function" || typeof(e.type) !== "undefined") + continue; + switch (typeof(e.index)) { + default: throw new Error(`Unexpected export index "${e.index}"`); + case "string": { + const index = builder._getFunctionFromIndexSpace(e.index); + assert.isNumber(index, `Export section contains undefined function "${e.index}"`); + e.index = index; + } // Fallthrough. + case "number": { + const index = builder._getFunctionFromIndexSpace(e.index); + if (builder._checked) + assert.isNotUndef(index, `Export "${e.field}" does not correspond to a defined value in the function index space`); + } break; + case "undefined": + throw new Error(`Unimplemented: Function().End() with undefined export index`); // FIXME + } + if (typeof(e.type) === "undefined") { + // This must be a function export from the Code section (re-exports were handled earlier). + let functionIndexSpaceOffset = 0; + if (importSection) { + for (const {kind} of importSection.data) { + if (kind === "Function") + ++functionIndexSpaceOffset; + } + } + const functionIndex = e.index - functionIndexSpaceOffset; + e.type = codeSection.data[functionIndex].type; + } + } + } + if (startSection) { + const start = startSection.data[0]; + let mapped = builder._getFunctionFromIndexSpace(start); + if (!builder._checked) { + if (typeof(mapped) === "undefined") + mapped = start; // In unchecked mode, simply use what was provided if it's nonsensical. + assert.isA(start, "number"); // It can't be too nonsensical, otherwise we can't create a binary. + startSection.data[0] = start; + } else { + if (typeof(mapped) === "undefined") + throw new Error(`Start section refers to non-existant function '${start}'`); + if (typeof(start) === "string" || typeof(start) === "object") + startSection.data[0] = mapped; + // FIXME in checked mode, test that the type is acceptable for start function. We probably want _registerFunctionToIndexSpace to also register types per index. https://bugs.webkit.org/show_bug.cgi?id=165658 + } + } + return _errorHandlingProxyFor(builder); + }, + + }; + codeBuilder.Function = _createFunction(s, builder, codeBuilder); + return _errorHandlingProxyFor(codeBuilder); + }; + break; + + case "Data": + this[section] = function() { + const s = this._addSection(section); + const dataBuilder = { + End: () => this, + Segment: data => { + assert.isArray(data); + for (const datum of data) { + assert.isNumber(datum); + assert.ge(datum, 0); + assert.le(datum, 0xff); + } + s.data.push({ data: data, index: 0, offset: 0 }); + let thisSegment = s.data[s.data.length - 1]; + const segmentBuilder = { + End: () => dataBuilder, + Index: index => { + assert.eq(index, 0); // Linear memory index must be zero in MVP. + thisSegment.index = index; + return _errorHandlingProxyFor(segmentBuilder); + }, + Offset: offset => { + // FIXME allow complex init_expr here. https://bugs.webkit.org/show_bug.cgi?id=165700 + assert.isNumber(offset); + thisSegment.offset = offset; + return _errorHandlingProxyFor(segmentBuilder); + }, + }; + return _errorHandlingProxyFor(segmentBuilder); + }, + }; + return _errorHandlingProxyFor(dataBuilder); + }; + break; + + default: + this[section] = () => { throw new Error(`Unknown section type "${section}"`); }; + break; + } + } + + this.Unknown = function(name) { + const s = this._addSection(name); + const builder = this; + const unknownBuilder = { + End: () => builder, + Byte: b => { + assert.eq(b & 0xFF, b, `Unknown section expected byte, got: "${b}"`); + s.data.push(b); + return _errorHandlingProxyFor(unknownBuilder); + } + }; + return _errorHandlingProxyFor(unknownBuilder); + }; + } + _addSection(nameOrNumber, extraObject) { + const name = typeof(nameOrNumber) === "string" ? nameOrNumber : ""; + const number = typeof(nameOrNumber) === "number" ? nameOrNumber : (WASM.description.section[name] ? WASM.description.section[name].value : _unknownSectionId); + if (this._checked) { + // Check uniqueness. + for (const s of this._sections) + if (number !== _unknownSectionId) + assert.falsy(s.name === name && s.id === number, `Cannot have two sections with the same name "${name}" and ID ${number}`); + // Check ordering. + if ((number !== _unknownSectionId) && (this._sections.length !== 0)) { + for (let i = this._sections.length - 1; i >= 0; --i) { + if (this._sections[i].id === _unknownSectionId) + continue; + assert.le(this._sections[i].id, number, `Bad section ordering: "${this._sections[i].name}" cannot precede "${name}"`); + break; + } + } + } + const s = Object.assign({ name: name, id: number, data: [] }, extraObject || {}); + this._sections.push(s); + return s; + } + _getSection(nameOrNumber) { + switch (typeof(nameOrNumber)) { + default: throw new Error(`Implementation problem: can not get section "${nameOrNumber}"`); + case "string": + for (const s of this._sections) + if (s.name === nameOrNumber) + return s; + return undefined; + case "number": + for (const s of this._sections) + if (s.id === nameOrNumber) + return s; + return undefined; + } + } + optimize() { + // FIXME Add more optimizations. https://bugs.webkit.org/show_bug.cgi?id=163424 + return this; + } + json() { + const obj = { + preamble: this._preamble, + section: this._sections + }; + // JSON.stringify serializes -0.0 as 0.0. + const replacer = (key, value) => { + if (value === 0.0 && 1.0 / value === -Infinity) + return "NEGATIVE_ZERO"; + return value; + }; + return JSON.stringify(obj, replacer); + } + AsmJS() { + "use asm"; // For speed. + // FIXME Create an asm.js equivalent string which can be eval'd. https://bugs.webkit.org/show_bug.cgi?id=163425 + throw new Error("asm.js not implemented yet"); + } + WebAssembly() { return BuildWebAssembly.Binary(this._preamble, this._sections); } +}; diff --git a/implementation-contributed/javascriptcore/wasm/Builder_WebAssemblyBinary.js b/implementation-contributed/javascriptcore/wasm/Builder_WebAssemblyBinary.js new file mode 100644 index 0000000000..e949835d84 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/Builder_WebAssemblyBinary.js @@ -0,0 +1,261 @@ +/* + * Copyright (C) 2016 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import * as assert from 'assert.js'; +import LowLevelBinary from 'LowLevelBinary.js'; +import * as WASM from 'WASM.js'; + +const put = (bin, type, value) => bin[type](value); + +const putResizableLimits = (bin, initial, maximum) => { + assert.truthy(typeof initial === "number", "We expect 'initial' to be an integer"); + let hasMaximum = 0; + if (typeof maximum === "number") { + hasMaximum = 1; + } else { + assert.truthy(typeof maximum === "undefined", "We expect 'maximum' to be an integer if it's defined"); + } + + put(bin, "varuint1", hasMaximum); + put(bin, "varuint32", initial); + if (hasMaximum) + put(bin, "varuint32", maximum); +}; + +const putTable = (bin, {initial, maximum, element}) => { + assert.truthy(WASM.isValidType(element), "We expect 'element' to be a valid type. It was: " + element); + put(bin, "varint7", WASM.typeValue[element]); + + putResizableLimits(bin, initial, maximum); +}; + +const valueType = WASM.description.type.i32.type + +const putGlobalType = (bin, global) => { + put(bin, valueType, WASM.typeValue[global.type]); + put(bin, "varuint1", global.mutability); +}; + +const putOp = (bin, op) => { + put(bin, "uint8", op.value); + if (op.arguments.length !== 0) + throw new Error(`Unimplemented: arguments`); // FIXME https://bugs.webkit.org/show_bug.cgi?id=162706 + + switch (op.name) { + default: + for (let i = 0; i < op.immediates.length; ++i) { + const type = WASM.description.opcode[op.name].immediate[i].type + if (!bin[type]) + throw new TypeError(`Unknown type: ${type} in op: ${op.name}`); + put(bin, type, op.immediates[i]); + } + break; + case "i32.const": { + assert.eq(op.immediates.length, 1); + let imm = op.immediates[0]; + // Do a static cast to make large int32s signed. + if (imm >= 2 ** 31) + imm = imm - (2 ** 32); + put(bin, "varint32", imm); + break; + } + case "br_table": + put(bin, "varuint32", op.immediates.length - 1); + for (let imm of op.immediates) + put(bin, "varuint32", imm); + break; + } +}; + +const putInitExpr = (bin, expr) => { + putOp(bin, { value: WASM.description.opcode[expr.op].value, name: expr.op, immediates: [expr.initValue], arguments: [] }); + putOp(bin, { value: WASM.description.opcode.end.value, name: "end", immediates: [], arguments: [] }); +}; + +const emitters = { + Type: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const entry of section.data) { + put(bin, "varint7", WASM.typeValue["func"]); + put(bin, "varuint32", entry.params.length); + for (const param of entry.params) + put(bin, "varint7", WASM.typeValue[param]); + if (entry.ret === "void") + put(bin, "varuint1", 0); + else { + put(bin, "varuint1", 1); + put(bin, "varint7", WASM.typeValue[entry.ret]); + } + } + }, + Import: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const entry of section.data) { + put(bin, "string", entry.module); + put(bin, "string", entry.field); + put(bin, "uint8", WASM.externalKindValue[entry.kind]); + switch (entry.kind) { + default: throw new Error(`Implementation problem: unexpected kind ${entry.kind}`); + case "Function": { + put(bin, "varuint32", entry.type); + break; + } + case "Table": { + putTable(bin, entry.tableDescription); + break; + } + case "Memory": { + let {initial, maximum} = entry.memoryDescription; + putResizableLimits(bin, initial, maximum); + break; + }; + case "Global": + putGlobalType(bin, entry.globalDescription); + break; + } + } + }, + + Function: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const signature of section.data) + put(bin, "varuint32", signature); + }, + + Table: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const {tableDescription} of section.data) { + putTable(bin, tableDescription); + } + }, + + Memory: (section, bin) => { + // Flags, currently can only be [0,1] + put(bin, "varuint1", section.data.length); + for (const memory of section.data) + putResizableLimits(bin, memory.initial, memory.maximum); + }, + + Global: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const global of section.data) { + putGlobalType(bin, global); + putInitExpr(bin, global) + } + }, + + Export: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const entry of section.data) { + put(bin, "string", entry.field); + put(bin, "uint8", WASM.externalKindValue[entry.kind]); + switch (entry.kind) { + case "Global": + case "Function": + case "Memory": + case "Table": + put(bin, "varuint32", entry.index); + break; + default: throw new Error(`Implementation problem: unexpected kind ${entry.kind}`); + } + } + }, + Start: (section, bin) => { + put(bin, "varuint32", section.data[0]); + }, + Element: (section, bin) => { + const data = section.data; + put(bin, "varuint32", data.length); + for (const {tableIndex, offset, functionIndices} of data) { + put(bin, "varuint32", tableIndex); + + let initExpr; + if (typeof offset === "number") + initExpr = {op: "i32.const", initValue: offset}; + else + initExpr = offset; + putInitExpr(bin, initExpr); + + put(bin, "varuint32", functionIndices.length); + for (const functionIndex of functionIndices) + put(bin, "varuint32", functionIndex); + } + }, + + Code: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const func of section.data) { + let funcBin = bin.newPatchable("varuint32"); + const localCount = func.locals.length - func.parameterCount; + put(funcBin, "varuint32", localCount); + for (let i = func.parameterCount; i < func.locals.length; ++i) { + put(funcBin, "varuint32", 1); + put(funcBin, "varint7", WASM.typeValue[func.locals[i]]); + } + + for (const op of func.code) + putOp(funcBin, op); + + funcBin.apply(); + } + }, + + Data: (section, bin) => { + put(bin, "varuint32", section.data.length); + for (const datum of section.data) { + put(bin, "varuint32", datum.index); + // FIXME allow complex init_expr here. https://bugs.webkit.org/show_bug.cgi?id=165700 + // For now we only handle i32.const as offset. + put(bin, "uint8", WASM.description.opcode["i32.const"].value); + put(bin, WASM.description.opcode["i32.const"].immediate[0].type, datum.offset); + put(bin, "uint8", WASM.description.opcode["end"].value); + put(bin, "varuint32", datum.data.length); + for (const byte of datum.data) + put(bin, "uint8", byte); + } + }, +}; + +export const Binary = (preamble, sections) => { + let wasmBin = new LowLevelBinary(); + for (const p of WASM.description.preamble) + put(wasmBin, p.type, preamble[p.name]); + for (const section of sections) { + put(wasmBin, WASM.sectionEncodingType, section.id); + let sectionBin = wasmBin.newPatchable("varuint32"); + const emitter = emitters[section.name]; + if (emitter) + emitter(section, sectionBin); + else { + // Unknown section. + put(sectionBin, "string", section.name); + for (const byte of section.data) + put(sectionBin, "uint8", byte); + } + sectionBin.apply(); + } + wasmBin.trim(); + return wasmBin; +}; diff --git a/implementation-contributed/javascriptcore/wasm/LowLevelBinary.js b/implementation-contributed/javascriptcore/wasm/LowLevelBinary.js new file mode 100644 index 0000000000..f9bc8a3706 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/LowLevelBinary.js @@ -0,0 +1,339 @@ +/* + * Copyright (C) 2016 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import * as assert from 'assert.js'; +import * as WASM from 'WASM.js'; + +const _initialAllocationSize = 1024; +const _growAllocationSize = allocated => allocated * 2; + +export const varuint32Min = 0; +export const varint7Min = -0b1000000; +export const varint7Max = 0b111111; +export const varuint7Max = 0b1111111; +export const varuint32Max = ((((1 << 31) >>> 0) - 1) * 2) + 1; +export const varint32Min = -((1 << 31) >>> 0); +export const varint32Max = ((1 << 31) - 1) >>> 0; +export const varBitsMax = 5; + +const _getterRangeCheck = (llb, at, size) => { + if (0 > at || at + size > llb._used) + throw new RangeError(`[${at}, ${at + size}) is out of buffer range [0, ${llb._used})`); +}; + +const _hexdump = (buf, size) => { + let s = ""; + const width = 16; + const base = 16; + for (let row = 0; row * width < size; ++row) { + const address = (row * width).toString(base); + s += "0".repeat(8 - address.length) + address; + let chars = ""; + for (let col = 0; col !== width; ++col) { + const idx = row * width + col; + if (idx < size) { + const byte = buf[idx]; + const bytestr = byte.toString(base); + s += " " + (bytestr.length === 1 ? "0" + bytestr : bytestr); + chars += 0x20 <= byte && byte < 0x7F ? String.fromCharCode(byte) : "·"; + } else { + s += " "; + chars += " "; + } + } + s+= " |" + chars + "|\n"; + } + return s; +}; + +export default class LowLevelBinary { + constructor() { + this._buf = new Uint8Array(_initialAllocationSize); + this._used = 0; + } + + newPatchable(type) { return new PatchableLowLevelBinary(type, this); } + + // Utilities. + get() { return this._buf; } + trim() { this._buf = this._buf.slice(0, this._used); } + + hexdump() { return _hexdump(this._buf, this._used); } + _maybeGrow(bytes) { + const allocated = this._buf.length; + if (allocated - this._used < bytes) { + let buf = new Uint8Array(_growAllocationSize(allocated)); + buf.set(this._buf); + this._buf = buf; + } + } + _push8(v) { this._buf[this._used] = v & 0xFF; this._used += 1; } + + // Data types. + uint8(v) { + if ((v & 0xFF) >>> 0 !== v) + throw new RangeError(`Invalid uint8 ${v}`); + this._maybeGrow(1); + this._push8(v); + } + uint16(v) { + if ((v & 0xFFFF) >>> 0 !== v) + throw new RangeError(`Invalid uint16 ${v}`); + this._maybeGrow(2); + this._push8(v); + this._push8(v >>> 8); + } + uint24(v) { + if ((v & 0xFFFFFF) >>> 0 !== v) + throw new RangeError(`Invalid uint24 ${v}`); + this._maybeGrow(3); + this._push8(v); + this._push8(v >>> 8); + this._push8(v >>> 16); + } + uint32(v) { + if ((v & 0xFFFFFFFF) >>> 0 !== v) + throw new RangeError(`Invalid uint32 ${v}`); + this._maybeGrow(4); + this._push8(v); + this._push8(v >>> 8); + this._push8(v >>> 16); + this._push8(v >>> 24); + } + float(v) { + if (isNaN(v)) + throw new RangeError("unimplemented, NaNs"); + // Unfortunately, we cannot just view the actual buffer as a Float32Array since it needs to be 4 byte aligned + let buffer = new ArrayBuffer(4); + let floatView = new Float32Array(buffer); + let int8View = new Uint8Array(buffer); + floatView[0] = v; + for (let byte of int8View) + this._push8(byte); + } + + double(v) { + if (isNaN(v)) + throw new RangeError("unimplemented, NaNs"); + // Unfortunately, we cannot just view the actual buffer as a Float64Array since it needs to be 4 byte aligned + let buffer = new ArrayBuffer(8); + let floatView = new Float64Array(buffer); + let int8View = new Uint8Array(buffer); + floatView[0] = v; + for (let byte of int8View) + this._push8(byte); + } + + varuint32(v) { + assert.isNumber(v); + if (v < varuint32Min || varuint32Max < v) + throw new RangeError(`Invalid varuint32 ${v} range is [${varuint32Min}, ${varuint32Max}]`); + while (v >= 0x80) { + this.uint8(0x80 | (v & 0x7F)); + v >>>= 7; + } + this.uint8(v); + } + varint32(v) { + assert.isNumber(v); + if (v < varint32Min || varint32Max < v) + throw new RangeError(`Invalid varint32 ${v} range is [${varint32Min}, ${varint32Max}]`); + do { + const b = v & 0x7F; + v >>= 7; + if ((v === 0 && ((b & 0x40) === 0)) || (v === -1 && ((b & 0x40) === 0x40))) { + this.uint8(b & 0x7F); + break; + } + this.uint8(0x80 | b); + } while (true); + } + varuint64(v) { + assert.isNumber(v); + if (v < varuint32Min || varuint32Max < v) + throw new RangeError(`unimplemented: varuint64 larger than 32-bit`); + this.varuint32(v); // FIXME implement 64-bit var{u}int https://bugs.webkit.org/show_bug.cgi?id=163420 + } + varint64(v) { + assert.isNumber(v); + if (v < varint32Min || varint32Max < v) + throw new RangeError(`unimplemented: varint64 larger than 32-bit`); + this.varint32(v); // FIXME implement 64-bit var{u}int https://bugs.webkit.org/show_bug.cgi?id=163420 + } + varuint1(v) { + if (v !== 0 && v !== 1) + throw new RangeError(`Invalid varuint1 ${v} range is [0, 1]`); + this.varuint32(v); + } + varint7(v) { + if (v < varint7Min || varint7Max < v) + throw new RangeError(`Invalid varint7 ${v} range is [${varint7Min}, ${varint7Max}]`); + this.varint32(v); + } + varuint7(v) { + if (v < varuint32Min || varuint7Max < v) + throw new RangeError(`Invalid varuint7 ${v} range is [${varuint32Min}, ${varuint7Max}]`); + this.varuint32(v); + } + block_type(v) { + if (!WASM.isValidBlockType(v)) + throw new Error(`Invalid block type ${v}`); + this.varint7(WASM.typeValue[v]); + } + string(str) { + let patch = this.newPatchable("varuint32"); + for (const char of str) { + // Encode UTF-8 2003 code points. + const code = char.codePointAt(); + if (code <= 0x007F) { + const utf8 = code; + patch.uint8(utf8); + } else if (code <= 0x07FF) { + const utf8 = 0x80C0 | ((code & 0x7C0) >> 6) | ((code & 0x3F) << 8); + patch.uint16(utf8); + } else if (code <= 0xFFFF) { + const utf8 = 0x8080E0 | ((code & 0xF000) >> 12) | ((code & 0xFC0) << 2) | ((code & 0x3F) << 16); + patch.uint24(utf8); + } else if (code <= 0x10FFFF) { + const utf8 = (0x808080F0 | ((code & 0x1C0000) >> 18) | ((code & 0x3F000) >> 4) | ((code & 0xFC0) << 10) | ((code & 0x3F) << 24)) >>> 0; + patch.uint32(utf8); + } else + throw new Error(`Unexpectedly large UTF-8 character code point '${char}' 0x${code.toString(16)}`); + } + patch.apply(); + } + + // Getters. + getSize() { return this._used; } + getUint8(at) { + _getterRangeCheck(this, at, 1); + return this._buf[at]; + } + getUint16(at) { + _getterRangeCheck(this, at, 2); + return this._buf[at] | (this._buf[at + 1] << 8); + } + getUint24(at) { + _getterRangeCheck(this, at, 3); + return this._buf[at] | (this._buf[at + 1] << 8) | (this._buf[at + 2] << 16); + } + getUint32(at) { + _getterRangeCheck(this, at, 4); + return (this._buf[at] | (this._buf[at + 1] << 8) | (this._buf[at + 2] << 16) | (this._buf[at + 3] << 24)) >>> 0; + } + getVaruint32(at) { + let v = 0; + let shift = 0; + let byte = 0; + do { + byte = this.getUint8(at++); + ++read; + v = (v | ((byte & 0x7F) << shift) >>> 0) >>> 0; + shift += 7; + } while ((byte & 0x80) !== 0); + if (shift - 7 > 32) throw new RangeError(`Shifting too much at ${at}`); + if ((shift == 35) && ((byte & 0xF0) != 0)) throw new Error(`Unexpected non-significant varuint32 bits in last byte 0x${byte.toString(16)}`); + return { value: v, next: at }; + } + getVarint32(at) { + let v = 0; + let shift = 0; + let byte = 0; + do { + byte = this.getUint8(at++); + v = (v | ((byte & 0x7F) << shift) >>> 0) >>> 0; + shift += 7; + } while ((byte & 0x80) !== 0); + if (shift - 7 > 32) throw new RangeError(`Shifting too much at ${at}`); + if ((shift == 35) && (((byte << 26) >> 30) != ((byte << 25) >> 31))) throw new Error(`Unexpected non-significant varint32 bits in last byte 0x${byte.toString(16)}`); + if ((byte & 0x40) === 0x40) { + const sext = shift < 32 ? 32 - shift : 0; + v = (v << sext) >> sext; + } + return { value: v, next: at }; + } + getVaruint1(at) { + const res = this.getVaruint32(at); + if (res.value !== 0 && res.value !== 1) throw new Error(`Expected a varuint1, got value ${res.value}`); + return res; + } + getVaruint7(at) { + const res = this.getVaruint32(at); + if (res.value > varuint7Max) throw new Error(`Expected a varuint7, got value ${res.value}`); + return res; + } + getString(at) { + const size = this.getVaruint32(at); + const last = size.next + size.value; + let i = size.next; + let str = ""; + while (i < last) { + // Decode UTF-8 2003 code points. + const peek = this.getUint8(i); + let code; + if ((peek & 0x80) === 0x0) { + const utf8 = this.getUint8(i); + assert.eq(utf8 & 0x80, 0x00); + i += 1; + code = utf8; + } else if ((peek & 0xE0) === 0xC0) { + const utf8 = this.getUint16(i); + assert.eq(utf8 & 0xC0E0, 0x80C0); + i += 2; + code = ((utf8 & 0x1F) << 6) | ((utf8 & 0x3F00) >> 8); + } else if ((peek & 0xF0) === 0xE0) { + const utf8 = this.getUint24(i); + assert.eq(utf8 & 0xC0C0F0, 0x8080E0); + i += 3; + code = ((utf8 & 0xF) << 12) | ((utf8 & 0x3F00) >> 2) | ((utf8 & 0x3F0000) >> 16); + } else if ((peek & 0xF8) === 0xF0) { + const utf8 = this.getUint32(i); + assert.eq((utf8 & 0xC0C0C0F8) | 0, 0x808080F0 | 0); + i += 4; + code = ((utf8 & 0x7) << 18) | ((utf8 & 0x3F00) << 4) | ((utf8 & 0x3F0000) >> 10) | ((utf8 & 0x3F000000) >> 24); + } else + throw new Error(`Unexpectedly large UTF-8 initial byte 0x${peek.toString(16)}`); + str += String.fromCodePoint(code); + } + if (i !== last) + throw new Error(`String decoding read up to ${i}, expected ${last}, UTF-8 decoding was too greedy`); + return str; + } +}; + +class PatchableLowLevelBinary extends LowLevelBinary { + constructor(type, lowLevelBinary) { + super(); + this.type = type; + this.target = lowLevelBinary; + this._buffered_bytes = 0; + } + _push8(v) { ++this._buffered_bytes; super._push8(v); } + apply() { + this.target[this.type](this._buffered_bytes); + for (let i = 0; i < this._buffered_bytes; ++i) + this.target.uint8(this._buf[i]); + } +}; diff --git a/implementation-contributed/javascriptcore/wasm/README.md b/implementation-contributed/javascriptcore/wasm/README.md new file mode 100644 index 0000000000..06515755fb --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/README.md @@ -0,0 +1,98 @@ +# `wasmjs`: JavaScript tooling for WebAssembly + +`wasmjs` is a self-contained collection of JavaScript tools which can create and +manipulate WebAssembly representations and binaries. At its core is `wasm.json`, +a JSON decription of the WebAssembly format and other interesting facts about +WebAssembly as used by the Webkit project (such as the names of associated +JavaScriptCore B3 opcodes). + +`wasmjs` requires modern JavaScript features such as ES6 modules, which is +acceptable because WebAssembly is itself contemporary to these other features. + + +# `Builder` API + +The current core API of `wasmjs` is the `Builder` API from `Builder.js`. It is +used to build WebAssembly modules, and assemble them to valid `.wasm` binaries +(held in an `ArrayBuffer`). The `Builder` is a small DSL which looks similar to +the WebAssembly [binary format][]. Each section is declared through a property +on the `Builder` object, and each declaration returns a proxy object which has +properties specific to that section. Proxies are "popped" back by invoking their +`.End()` property. + +The `Code` section has properties for each [WebAssembly opcode][]. Opcode which +create a scope can be nested using a lambda. + + [binary format]: https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md#high-level-structure + [WebAssembly opcode]: https://github.com/WebAssembly/design/blob/master/Semantics.md + +A simple example: + +```javascript +import Builder from 'Builder.js'; + +const builder = new Builder(); + +// Construct the equivalent of: (module (func "answer" (i32.const 42) (return))) +builder + // Declare a Type section, which the builder will auto-fill as functions are defined. + .Type().End() + // Declare a Function section, which the builder will auto-fill as functions are defined. + .Function().End() + .Export() + // Export the "answer" function (defined below) to JavaScript. + .Function("answer") + .End() + .Code() + // The "answer" function takes an i32 parameters, and returns an i32. + .Function("answer", { params: ["i32"], ret: "i32" }) + // Create a block returning an i32, whose body is the enclosed lambda. + .Block("i32", b => b + .GetLocal(0) // Parameters are in the same index space as locals. + .I32Const(0) // Generate an i32 constant. + .I32Eq() // A comparison, using the two values currently on the stack. + .If("i32") // Consume the comparison result, returning an i32. + .I32Const(42) + .Else() + .I32Const(1) + .End() + ) + .Return() // Return the top of the stack: the value returned by the block. + .End() // End the current function. + .End(); // End the Code section. + +// Create an ArrayBuffer which is a valid WebAssembly `.wasm` file. +const bin = builder.WebAssembly().get(); + +// Use the standard WebAssembly JavaScript API to compile the module, and instantiate it. +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); + +// Invoke the compiled WebAssembly function. +const result0 = instance.exports.answer(0); +if (result0 !== 42) + throw new Error(`Expected 42, got ${result0}.`); + +const result1 = instance.exports.answer(1); +if (result1 !== 1) + throw new Error(`Expected 1, got ${result1}.`); +``` + + +# Testing + +* `self-test` tests `wasmjs` itself. +* `js-api` tests the [WebAssembly JavaScript API](https://github.com/WebAssembly/design/blob/master/JS.md). +* `function-tests` tests the WebAssembly compiler's implementation. + +All tests can be executed using: + +```bash +JSSHELL=/path/to/my/js-shell test.sh +``` + +They can also be executed by using WebKit's `run-javascriptcore-tests` tool: + +```bash +./Tools/Scripts/run-javascriptcore-tests --release --filter wasm -arch x86_64 +``` diff --git a/implementation-contributed/javascriptcore/wasm/WASM.js b/implementation-contributed/javascriptcore/wasm/WASM.js new file mode 100644 index 0000000000..3c9df68714 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/WASM.js @@ -0,0 +1,76 @@ +/* + * Copyright (C) 2016-2017 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +import * as utilities from 'utilities.js'; + +const _mapValues = from => { + let values = {}; + for (const key in from) + values[key] = from[key].value; + return values; +}; + +export const description = utilities.json("wasm.json"); +export const type = Object.keys(description.type); +const _typeSet = new Set(type); +export const isValidType = v => _typeSet.has(v); +export const typeValue = _mapValues(description.type); +const _valueTypeSet = new Set(description.value_type); +export const isValidValueType = v => _valueTypeSet.has(v); +const _blockTypeSet = new Set(description.block_type); +export const isValidBlockType = v => _blockTypeSet.has(v); +export const externalKindValue = _mapValues(description.external_kind); +export const sections = Object.keys(description.section); +export const sectionEncodingType = description.section[sections[0]].type; + +export function* opcodes(category = undefined) { + for (let op in description.opcode) + if (category !== undefined && description.opcode[op].category === category) + yield { name: op, opcode: description.opcode[op] }; +}; +export const memoryAccessInfo = op => { + // <-----------valueType-----------> <-------type-------><---------width--------> <--sign--> + const classify = /((?:i32)|(?:i64)|(?:f32)|(?:f64))\.((?:load)|(?:store))((?:8)|(?:16)|(?:32))?_?((?:s|u)?)/; + const found = op.name.match(classify); + const valueType = found[1]; + const type = found[2]; + const width = parseInt(found[3] ? found[3] : valueType.slice(1)); + const sign = (() => { + switch (found[4]) { + case "s": return "signed"; + case "u": return "unsigned"; + default: return "agnostic"; + } + })(); + return { valueType, type, width, sign }; +}; + +export const constForValueType = valueType => { + for (let op in description.opcode) + if (op.endsWith(".const") && description.opcode[op]["return"] == valueType) + return op; + throw new Error(`Implementation problem: no const type for ${valueType}`); +}; + diff --git a/implementation-contributed/javascriptcore/wasm/assert.js b/implementation-contributed/javascriptcore/wasm/assert.js new file mode 100644 index 0000000000..979e22d8f3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/assert.js @@ -0,0 +1,197 @@ +/* + * Copyright (C) 2016-2017 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +const _fail = (msg, extra) => { + throw new Error(msg + (extra ? ": " + extra : "")); +}; + +export const isNotA = (v, t, msg) => { + if (typeof v === t) + _fail(`Shouldn't be ${t}`, msg); +}; + +export const isA = (v, t, msg) => { + if (typeof v !== t) + _fail(`Should be ${t}, got ${typeof(v)}`, msg); +}; + +export const isNotUndef = (v, msg) => isNotA(v, "undefined", msg); +export const isUndef = (v, msg) => isA(v, "undefined", msg); +export const notObject = (v, msg) => isNotA(v, "object", msg); +export const isObject = (v, msg) => isA(v, "object", msg); +export const notString = (v, msg) => isNotA(v, "string", msg); +export const isString = (v, msg) => isA(v, "string", msg); +export const notNumber = (v, msg) => isNotA(v, "number", msg); +export const isNumber = (v, msg) => isA(v, "number", msg); +export const notFunction = (v, msg) => isNotA(v, "function", msg); +export const isFunction = (v, msg) => isA(v, "function", msg); + +export const hasObjectProperty = (o, p, msg) => { + isObject(o, msg); + isNotUndef(o[p], msg, `expected object to have property ${p}`); +}; + +export const isArray = (v, msg) => { + if (!Array.isArray(v)) + _fail(`Expected an array, got ${typeof(v)}`, msg); +}; + +export const isNotArray = (v, msg) => { + if (Array.isArray(v)) + _fail(`Expected to not be an array`, msg); +}; + +export const truthy = (v, msg) => { + if (!v) + _fail(`Expected truthy`, msg); +}; + +export const falsy = (v, msg) => { + if (v) + _fail(`Expected falsy`, msg); +}; + +export const eq = (lhs, rhs, msg) => { + if (typeof lhs !== typeof rhs) + _fail(`Not the same: "${lhs}" and "${rhs}"`, msg); + if (Array.isArray(lhs) && Array.isArray(rhs) && (lhs.length === rhs.length)) { + for (let i = 0; i !== lhs.length; ++i) + eq(lhs[i], rhs[i], msg); + } else if (lhs !== rhs) { + if (typeof lhs === "number" && isNaN(lhs) && isNaN(rhs)) + return; + _fail(`Not the same: "${lhs}" and "${rhs}"`, msg); + } else { + if (typeof lhs === "number" && (1.0 / lhs !== 1.0 / rhs)) // Distinguish -0.0 from 0.0. + _fail(`Not the same: "${lhs}" and "${rhs}"`, msg); + } +}; + +export const matches = (lhs, rhs, msg) => { + if (typeof lhs !== "string" || !(rhs instanceof RegExp)) + _fail(`Expected string and regex object, got ${typeof lhs} and ${typeof rhs}`, msg); + if (!rhs.test(lhs)) + _fail(`"${msg}" does not match ${rhs}`, msg); +}; + +const canonicalizeI32 = (number) => { + if (Math.round(number) === number && number >= 2 ** 31) + number = number - 2 ** 32; + return number; +} + +export const eqI32 = (lhs, rhs, msg) => { + return eq(canonicalizeI32(lhs), canonicalizeI32(rhs), msg); +}; + +export const ge = (lhs, rhs, msg) => { + isNotUndef(lhs); + isNotUndef(rhs); + if (!(lhs >= rhs)) + _fail(`Expected: "${lhs}" < "${rhs}"`, msg); +}; + +export const le = (lhs, rhs, msg) => { + isNotUndef(lhs); + isNotUndef(rhs); + if (!(lhs <= rhs)) + _fail(`Expected: "${lhs}" > "${rhs}"`, msg); +}; + +const _throws = (func, type, message, ...args) => { + try { + func(...args); + } catch (e) { + if (e instanceof type) { + if (e.message === message) + return e; + // Ignore source information at the end of the error message if the + // expected message didn't specify that information. Sometimes it + // changes, or it's tricky to get just right. + const evaluatingIndex = e.message.indexOf(" (evaluating '"); + if (evaluatingIndex !== -1) { + const cleanMessage = e.message.substring(0, evaluatingIndex); + if (cleanMessage === message) + return e; + } + } + _fail(`Expected to throw a ${type.name} with message "${message}", got ${e.name} with message "${e.message}"`); + } + _fail(`Expected to throw a ${type.name} with message "${message}"`); +}; + +export async function throwsAsync(promise, type, message) { + try { + await promise; + } catch (e) { + if (e instanceof type) { + if (e.message === message) + return e; + // Ignore source information at the end of the error message if the + // expected message didn't specify that information. Sometimes it + // changes, or it's tricky to get just right. + const evaluatingIndex = e.message.indexOf(" (evaluating '"); + if (evaluatingIndex !== -1) { + const cleanMessage = e.message.substring(0, evaluatingIndex); + if (cleanMessage === message) + return e; + } + } + _fail(`Expected to throw a ${type.name} with message "${message}", got ${e.name} with message "${e.message}"`); + } + _fail(`Expected to throw a ${type.name} with message "${message}"`); +} + +const _instanceof = (obj, type, msg) => { + if (!(obj instanceof type)) + _fail(`Expected a ${typeof(type)}, got ${typeof obj}`); +}; + +// Use underscore names to avoid clashing with builtin names. +export { + _throws as throws, + _instanceof as instanceof, +}; + +const asyncTestImpl = (promise, thenFunc, catchFunc) => { + asyncTestStart(1); + promise.then(thenFunc).catch(catchFunc); +}; + +const printExn = (e) => { + print("Failed: ", e); + print(e.stack); +}; + +export const asyncTest = (promise) => asyncTestImpl(promise, asyncTestPassed, printExn); +export const asyncTestEq = (promise, expected) => { + const thenCheck = (value) => { + if (value === expected) + return asyncTestPassed(); + print("Failed: got ", value, " but expected ", expected); + + } + asyncTestImpl(promise, thenCheck, printExn); +}; diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/add-12.js b/implementation-contributed/javascriptcore/wasm/function-tests/add-12.js new file mode 100644 index 0000000000..67ac1d72db --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/add-12.js @@ -0,0 +1,72 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export().Function("f0").Function("f1").End() + .Code() + .Function("f0", { params: ["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(1) + .I32Add() + .GetLocal(2) + .I32Add() + .GetLocal(3) + .I32Add() + .GetLocal(4) + .I32Add() + .GetLocal(5) + .I32Add() + .GetLocal(6) + .I32Add() + .GetLocal(7) + .I32Add() + .GetLocal(8) + .I32Add() + .GetLocal(9) + .I32Add() + .GetLocal(10) + .I32Add() + .GetLocal(11) + .I32Add() + .Return() + .End() + .Function("f1", { params: ["i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .GetLocal(0) + .Call(0) + .Return() + .End() + .End() + +const bin = b.WebAssembly().get(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin)); +function testWasmModuleFunctions(...tests) { + for (let i = 0; i < tests.length; i++) { + const func = instance.exports['f' + i]; + for (let test of tests[i]) { + let result = test[0].value; + let args = test[1].map(x => x.value); + assert.eq(result, func(...args)); + } + } +} + +testWasmModuleFunctions([[{ type: "i32", value: 78 }, [{ type: "i32", value: 1 }, { type: "i32", value: 2 }, { type: "i32", value: 3 }, { type: "i32", value: 4 }, { type: "i32", value: 5 }, { type: "i32", value: 6 }, { type: "i32", value: 7 }, { type: "i32", value: 8 }, { type: "i32", value: 9 }, { type: "i32", value: 10 }, { type: "i32", value: 11 }, { type: "i32", value: 12 }]], + [{ type: "i32", value: 166 }, [{ type: "i32", value: 1 }, { type: "i32", value: 2 }, { type: "i32", value: 3 }, { type: "i32", value: 4 }, { type: "i32", value: 5 }, { type: "i32", value: 6 }, { type: "i32", value: 7 }, { type: "i32", value: 8 }, { type: "i32", value: 9 }, { type: "i32", value: 10 }, { type: "i32", value: 11 }, { type: "i32", value: 100 }]] + ], + [[{ type: "i32", value: 12 }, [{ type: "i32", value: 1 }]], + [{ type: "i32", value: 1200 }, [{ type: "i32", value: 100 }]], + [{ type: "i32", value: 0 }, [{ type: "i32", value: 0 }]], + ]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/basic-element.js b/implementation-contributed/javascriptcore/wasm/function-tests/basic-element.js new file mode 100644 index 0000000000..114f3c814c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/basic-element.js @@ -0,0 +1,34 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + + +const tableDescription = {initial: 1, element: "anyfunc"}; +const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Element() + .Element({tableIndex: 0, offset: 0, functionIndices: [0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const table = new WebAssembly.Table(tableDescription); +new WebAssembly.Instance(module, {imp: {table}}); +const foo = table.get(0); +const objs = []; +for (let i = 0; i < 10000; i++) { + objs.push(new String("foo")); + if (foo(20) !== 20 + 42) + throw new Error("bad!!!"); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/br-as-return.js b/implementation-contributed/javascriptcore/wasm/function-tests/br-as-return.js new file mode 100644 index 0000000000..763657fc09 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/br-as-return.js @@ -0,0 +1,31 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("br1") + .Function("br0") + .End() + .Code() + .Function("br1", { params: [], ret: "i32" }) + .Block("void", b => { + return b.I32Const(0) + .Br(1) + }) + .Unreachable() + .End() + + .Function("br0", { params: [], ret: "i32" }) + .I32Const(0) + .Br(0) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eq(instance.exports.br1(), 0) +assert.eq(instance.exports.br0(), 0) diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/br-if-as-return.js b/implementation-contributed/javascriptcore/wasm/function-tests/br-if-as-return.js new file mode 100644 index 0000000000..ea2e6bd4a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/br-if-as-return.js @@ -0,0 +1,32 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("br1") + .Function("br0") + .End() + .Code() + .Function("br1", { params: [], ret: "i32" }) + .Block("i32", b => { + return b.I32Const(0) + .I32Const(1) + .BrIf(1) + }) + .End() + + .Function("br0", { params: [], ret: "i32" }) + .I32Const(0) + .I32Const(1) + .BrIf(0) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eq(instance.exports.br1(), 0) +assert.eq(instance.exports.br0(), 0) diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/br-if-loop-less-than.js b/implementation-contributed/javascriptcore/wasm/function-tests/br-if-loop-less-than.js new file mode 100644 index 0000000000..ee05e159a0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/br-if-loop-less-than.js @@ -0,0 +1,65 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export().Function("f0").End() + .Code() + .Function("f0", { params: ["i32", "i32"], ret: "i32" }) + .Loop("void") + .Block("void", b => + b.Block("void", b => + b.GetLocal(0) + .GetLocal(1) + .I32Eq() + .BrIf(0) + .Br(1) + ) + .I32Const(0) + .Return() + ) + .Block("void", b => + b.Block("void", b => + b.GetLocal(0) + .I32Const(0) + .I32Eq() + .BrIf(0) + .Br(1) + ) + .I32Const(1) + .Return() + ) + .GetLocal(0) + .I32Const(1) + .I32Sub() + .SetLocal(0) + .Br(0) + .End() + .Unreachable() + .End() + .End() + +const bin = b.WebAssembly().get(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin)); + +function testWasmModuleFunctions(...tests) { + for (let i = 0; i < tests.length; i++) { + const func = instance.exports['f' + i]; + for (let test of tests[i]) { + let result = test[0].value; + let args = test[1].map(x => x.value); + assert.eq(result, func(...args)); + } + } +} + +testWasmModuleFunctions([[{type: "i32", value: 1 }, [{ type: "i32", value: 0 }, { type: "i32", value: 1 }]], + [{type: "i32", value: 0 }, [{ type: "i32", value: 1 }, { type: "i32", value: 0 }]], + [{type: "i32", value: 0 }, [{ type: "i32", value: 2 }, { type: "i32", value: 1 }]], + [{type: "i32", value: 1 }, [{ type: "i32", value: 1 }, { type: "i32", value: 2 }]], + [{type: "i32", value: 0 }, [{ type: "i32", value: 2 }, { type: "i32", value: 2 }]], + [{type: "i32", value: 0 }, [{ type: "i32", value: 1 }, { type: "i32", value: 1 }]], + [{type: "i32", value: 1 }, [{ type: "i32", value: 2 }, { type: "i32", value: 6 }]], + [{type: "i32", value: 0 }, [{ type: "i32", value: 100 }, { type: "i32", value: 6 }]] + ]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/br-table-as-return.js b/implementation-contributed/javascriptcore/wasm/function-tests/br-table-as-return.js new file mode 100644 index 0000000000..c7ad86b77a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/br-table-as-return.js @@ -0,0 +1,52 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("br1Default") + .Function("br0Default") + .Function("br1Case") + .Function("br0Case") + .End() + .Code() + .Function("br1Default", { params: [], ret: "i32" }) + .Block("void", b => { + return b.I32Const(0) + .I32Const(100) + .BrTable(1, 1) + }) + .Unreachable() + .End() + + .Function("br0Default", { params: [], ret: "i32" }) + .I32Const(0) + .I32Const(100) + .BrTable(0, 0) + .End() + + .Function("br1Case", { params: [], ret: "i32" }) + .Block("void", b => { + return b.I32Const(0) + .I32Const(100) + .BrTable(1, 1) + }) + .Unreachable() + .End() + + .Function("br0Case", { params: [], ret: "i32" }) + .I32Const(0) + .I32Const(0) + .BrTable(0, 0) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eq(instance.exports.br1Default(), 0) +assert.eq(instance.exports.br0Default(), 0) +assert.eq(instance.exports.br1Case(), 0) +assert.eq(instance.exports.br0Case(), 0) diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/brTableAsIf.js b/implementation-contributed/javascriptcore/wasm/function-tests/brTableAsIf.js new file mode 100644 index 0000000000..0e3fe76685 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/brTableAsIf.js @@ -0,0 +1,38 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export().Function('f0').End() + .Code() + .Function('f0', { params: ["i32"], ret: "i32" }, ["i32"]) + .Block("void", (b) => + b.Block("void", (b) => + b.GetLocal(0) + .BrTable(1, 0) + .I32Const(21) + .Return() + ).I32Const(20) + .Return() + ).I32Const(22) + .End() + .End() + +const bin = b.WebAssembly().get(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin)); +function testWasmModuleFunctions(...tests) { + for (let i = 0; i < tests.length; i++) { + const func = instance.exports['f' + i]; + for (let test of tests[i]) { + let result = test[0].value; + let args = test[1].map(x => x.value); + assert.eq(result, func(...args)); + } + } +} +testWasmModuleFunctions([[{type: "i32", value: 22 }, [{ type: "i32", value: 0 }]], + [{type: "i32", value: 20 }, [{ type: "i32", value: 1 }]], + [{type: "i32", value: 20 }, [{ type: "i32", value: 11 }]], + [{type: "i32", value: 20 }, [{ type: "i32", value: -100 }]] + ]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/brTableManyValues.js b/implementation-contributed/javascriptcore/wasm/function-tests/brTableManyValues.js new file mode 100644 index 0000000000..2c4ef16bb7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/brTableManyValues.js @@ -0,0 +1,56 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export().Function('f0').End() + .Code() + .Function('f0', { params: ["i32"], ret: "i32" }, ["i32"]) + .Block("i32", (b) => + b.Block("i32", (b) => + b.Block("i32", (b) => + b.Block("i32", (b) => + b.Block("i32", (b) => + b.I32Const(200) + .GetLocal(0) + .BrTable(3, 2, 1, 0, 4) + ).I32Const(10) + .I32Add() + .Return() + ).I32Const(11) + .I32Add() + .Return() + ).I32Const(12) + .I32Add() + .Return() + ).I32Const(13) + .I32Add() + .Return() + ).I32Const(14) + .I32Add() + .Return() + .End() + .End() + +const bin = b.WebAssembly().get(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin)); +function testWasmModuleFunctions(...tests) { + for (let i = 0; i < tests.length; i++) { + const func = instance.exports['f' + i]; + for (let test of tests[i]) { + let result = test[0].value; + let args = test[1].map(x => x.value); + assert.eq(result, func(...args)); + } + } +} +testWasmModuleFunctions([[{type: "i32", value: 213 }, [{ type: "i32", value: 0 }]], + [{type: "i32", value: 212 }, [{ type: "i32", value: 1 }]], + [{type: "i32", value: 211 }, [{ type: "i32", value: 2 }]], + [{type: "i32", value: 210 }, [{ type: "i32", value: 3 }]], + [{type: "i32", value: 214 }, [{ type: "i32", value: 4 }]], + [{type: "i32", value: 214 }, [{ type: "i32", value: 5 }]], + [{type: "i32", value: 214 }, [{ type: "i32", value: -1 }]], + [{type: "i32", value: 214 }, [{ type: "i32", value: -1000 }]] + ]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/brTableWithLoop.js b/implementation-contributed/javascriptcore/wasm/function-tests/brTableWithLoop.js new file mode 100644 index 0000000000..86d1811386 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/brTableWithLoop.js @@ -0,0 +1,42 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export().Function('f0').End() + .Code() + .Function('f0', { params: ["i32"], ret: "i32" }, ["i32"]) + .Loop("void") + .Block("void", (b) => + + b.GetLocal(0) + .GetLocal(1) + .I32Const(1) + .I32Add() + .SetLocal(1) + .GetLocal(0) + .I32Const(1) + .I32Sub() + .SetLocal(0) + .BrTable(0, 1)) + .End() + .GetLocal(1) + .End() + .End() + +const bin = b.WebAssembly().get(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin)); +function testWasmModuleFunctions(...tests) { + for (let i = 0; i < tests.length; i++) { + const func = instance.exports['f' + i]; + for (let test of tests[i]) { + let result = test[0].value; + let args = test[1].map(x => x.value); + assert.eq(result, func(...args)); + } + } +} +testWasmModuleFunctions([[{type: "i32", value: 1 }, [{ type: "i32", value: 0 }]], + [{type: "i32", value: 2 }, [{ type: "i32", value: 1 }]] + ]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/context-switch.js b/implementation-contributed/javascriptcore/wasm/function-tests/context-switch.js new file mode 100644 index 0000000000..0595e6d9ee --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/context-switch.js @@ -0,0 +1,277 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +{ + function makeInstance() { + const tableDescription = {initial: 1, element: "anyfunc"}; + const builder = new Builder() + .Type() + .Func([], "void") + .End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params:["i32"], ret:"void"}) + .GetLocal(0) // parameter to call + .GetLocal(0) // call index + .CallIndirect(0, 0) // calling function of type [] => 'void' + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table(tableDescription); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; + } + + function makeInstance2(f) { + const builder = new Builder() + .Type() + .End() + .Import() + .Function("imp", "f", {params:[], ret:"void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "void" }) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, {imp: {f}}); + } + + const {instance: i1, table: t1} = makeInstance(); + const foo = i1.exports.foo; + + let called = false; + let shouldThrow = false; + const i2 = makeInstance2(function() { + called = true; + if (shouldThrow) + throw new Error("Threw"); + }); + + t1.set(0, i2.exports.foo); + for (let i = 0; i < 1000; ++i) { + foo(0); + assert.eq(called, true); + called = false; + } + shouldThrow = true; + for (let i = 0; i < 1000; ++i) { + assert.throws(() => foo(0), Error, "Threw"); + assert.eq(called, true); + called = false; + } +} + +{ + function makeInstance() { + const tableDescription = {initial: 1, element: "anyfunc"}; + const builder = new Builder() + .Type() + .Func(["i32"], "void") + .End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params:["i32", "i32"], ret:"void"}) + .GetLocal(1) // parameter to call + .GetLocal(0) // call index + .CallIndirect(0, 0) // calling function of type ['i32'] => 'void' + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table(tableDescription); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; + } + + function makeInstance2(memory, f) { + const builder = new Builder() + .Type() + .End() + .Import() + .Function("imp", "f", {params:['i32', 'i32'], ret:"void"}) + .Memory("imp", "memory", memoryDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "void" }) + .GetLocal(0) + .GetLocal(0) + .I32Load(2, 0) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, {imp: {f, memory}}); + } + + const {instance: i1, table: t1} = makeInstance(); + const foo = (memOffset) => i1.exports.foo(0, memOffset); + + const memoryDescription = {initial:1}; + const mem = new WebAssembly.Memory(memoryDescription); + let called = false; + + const pageSize = 64 * 1024; + let buf = new Uint32Array(mem.buffer); + const i2 = makeInstance2(mem, function(i, value) { + assert.eq(i & 3, 0); + assert.eq(buf[i/4], value); + called = true; + }); + t1.set(0, i2.exports.foo); + + for (let i = 0; i < pageSize/4; ++i) { + buf[i] = i+1; + } + + for (let i = 0; i < pageSize/4; ++i) { + foo(i*4); + assert.eq(called, true); + called = false; + } + + for (let i = pageSize/4; i < 2*pageSize/4; ++i) { + assert.throws(() => foo(i*4), WebAssembly.RuntimeError, "Out of bounds memory access"); + assert.eq(called, false); + } +} + +{ + function makeInstance() { + const tableDescription = {initial: 1, element: "anyfunc"}; + const builder = new Builder() + .Type() + .Func(["i32"], "void") + .End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params:["i32", "i32"], ret:"void"}) + .GetLocal(1) // parameter to call + .GetLocal(0) // call index + .CallIndirect(0, 0) // calling function of type ['i32'] => 'void' + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table(tableDescription); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; + } + + function makeInstance2(memory, f) { + const builder = new Builder() + .Type() + .End() + .Import() + .Function("imp", "f", {params:['i32', 'i32'], ret:"void"}) + .Memory("imp", "memory", memoryDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "void" }) + .GetLocal(0) + .GetLocal(0) + .I32Load(2, 0) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, {imp: {f, memory}}); + } + + function exportImport(f) { + let builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "f", {params: ['i32'], ret:"void"}) + .End() + .Function().End() + .Export() + .Function("func", {module: "imp", field: "f"}) + .End() + .Code().End(); + return (new WebAssembly.Instance(new WebAssembly.Module(builder.WebAssembly().get()), {imp: {f}})).exports.func; + } + + const {instance: i1, table: t1} = makeInstance(); + const foo = (memOffset) => i1.exports.foo(0, memOffset); + + const memoryDescription = {initial:1}; + const mem = new WebAssembly.Memory(memoryDescription); + let called = false; + + const pageSize = 64 * 1024; + let buf = new Uint32Array(mem.buffer); + const i2 = makeInstance2(mem, function(i, value) { + assert.eq(i & 3, 0); + assert.eq(buf[i/4], value); + called = true; + }); + + const exportedImport = exportImport(function(offset) { + i2.exports.foo(offset); + }); + t1.set(0, exportedImport); + + for (let i = 0; i < pageSize/4; ++i) { + buf[i] = i+1; + } + + for (let i = 0; i < pageSize/4; ++i) { + foo(i*4); + assert.eq(called, true); + called = false; + } + + for (let i = pageSize/4; i < 2*pageSize/4; ++i) { + assert.throws(() => foo(i*4), WebAssembly.RuntimeError, "Out of bounds memory access"); + assert.eq(called, false); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/dead-call.js b/implementation-contributed/javascriptcore/wasm/function-tests/dead-call.js new file mode 100644 index 0000000000..d56e15b11d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/dead-call.js @@ -0,0 +1,29 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("dead-call") + .End() + .Code() + .Function("crash", { params: [], ret: "i32" }) + .Unreachable() + .End() + + .Function("dead-call", { params: [], ret: "i32" }) + .I32Const(0) + .If("i32", b => + b.Call(0) + .Return() + .Else() + .I32Const(1) + ) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/double-instance.js b/implementation-contributed/javascriptcore/wasm/function-tests/double-instance.js new file mode 100644 index 0000000000..0c4eadddd1 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/double-instance.js @@ -0,0 +1,64 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +// The call sequence is as follows: +// +// js -js2wasm-> i1.callAnother() +// -wasm2wasm-> i0.callAnother() +// -wasm2js-> i1.boom() +// -calldirect-> i1.doStackCheck() +// -calldirect-> dummy() +// -calldirect-> i1.doStackCheck() +// -calldirect-> dummy() +// +// We therefore have i1 indirectly calling into itself, through another +// instance. When returning its cached stack limit should still be valid, but +// our implementation used to set it to UINTPTR_MAX causing an erroneous stack +// check failure at the second doStackCheck() call. + +const builder = new Builder() + .Type() + .End() + .Import() + .Function("imp", "boom", {params:["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret:"i32"}) + .Function("imp", "callAnother", {params:["i32"], ret:"i32"}) + .End() + .Function().End() + .Export() + .Function("boom") + .Function("callAnother") + .End() + .Code() + .Function("boom", {params:["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret:"i32"}) + /* call doStackCheck */.GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).Call(4) + .Return() + .End() + .Function("callAnother", {params:["i32"], ret:"i32"}) + /* call imp:callAnother */.GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).Call(1) + /* call doStackCheck */.GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).Call(4) + .Return() + .End() + .Function("doStackCheck", {params:["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret:"i32"}) + /* call dummy */.GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).GetLocal(0).Call(5) + .Return() + .End() + .Function("dummy", {params:["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret:"i32"}) + .GetLocal(0) + .Return() + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); + +let i1; + +const imp = { + boom: () => { throw new Error(`This boom should not get called!`); }, + callAnother: () => { i1.exports["boom"](0xdeadbeef); }, +} + +const i0 = new WebAssembly.Instance(module, { imp }); +i1 = new WebAssembly.Instance(module, { imp: i0.exports }); + +i1.exports["callAnother"](0xc0defefe); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/exceptions.js b/implementation-contributed/javascriptcore/wasm/function-tests/exceptions.js new file mode 100644 index 0000000000..952513f265 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/exceptions.js @@ -0,0 +1,67 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +function makeInstance() { + const tableDescription = {initial: 1, element: "anyfunc"}; + const builder = new Builder() + .Type() + .Func(["i32", "i32"], "i32") + .Func(["i32"], "i32") + .End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", 0 /*['i32', 'i32'] => 'i32'*/) + .GetLocal(1) // parameter to call + .GetLocal(0) // call index + .CallIndirect(1, 0) // calling function of type ['i32'] => 'i32' + .Return() + .End() + .Function("bar", 1 /*['i32'] => 'i32'*/) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table(tableDescription); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; +} + +{ + const {instance, table} = makeInstance(); + const foo = instance.exports.foo; + const bar = instance.exports.bar; + assert.eq(table.get(0), null); + + for (let i = 0; i < 1000; i++) { + assert.throws(() => foo(0, i), WebAssembly.RuntimeError, "call_indirect to a null table entry"); + } + + table.set(0, foo); + assert.eq(table.get(0), foo); + + for (let i = 0; i < 1000; i++) { + assert.throws(() => foo(1 + i, i), WebAssembly.RuntimeError, "Out of bounds call_indirect"); + } + + for (let i = 0; i < 1000; i++) { + assert.throws(() => foo(0, i), WebAssembly.RuntimeError, "call_indirect to a signature that does not match"); + } + + table.set(0, bar); + assert.eq(table.get(0), bar); + for (let i = 0; i < 25; i++) { + assert.eq(foo(0, i), i + 42); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/f32-const.js b/implementation-contributed/javascriptcore/wasm/function-tests/f32-const.js new file mode 100644 index 0000000000..f76beaf909 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/f32-const.js @@ -0,0 +1,26 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("answer") + .Function("minInt") + .End() + .Code() + .Function("answer", { params: [], ret: "f32" }) + .F32Const(.5) + .End() + + .Function("minInt", { params: [], ret: "f32" }) + .F32Const(-1) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eq(instance.exports.answer(), .5); +assert.eq(instance.exports.minInt(), -1); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/f64-const.js b/implementation-contributed/javascriptcore/wasm/function-tests/f64-const.js new file mode 100644 index 0000000000..dedfc21ac2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/f64-const.js @@ -0,0 +1,26 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("answer") + .Function("minInt") + .End() + .Code() + .Function("answer", { params: [], ret: "f64" }) + .F64Const(42.424242) + .End() + + .Function("minInt", { params: [], ret: "f64" }) + .F64Const(-1) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eq(instance.exports.answer(), 42.424242); +assert.eq(instance.exports.minInt(), -1); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/factorial.js b/implementation-contributed/javascriptcore/wasm/function-tests/factorial.js new file mode 100644 index 0000000000..d01d37316a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/factorial.js @@ -0,0 +1,36 @@ +import * as assert from '../assert.js' +import Builder from '../Builder.js' + +const b = new Builder(); +b.Type().End() + .Import().End() + .Function().End() + .Export() + .Function("fac") + .End() + .Code() + .Function("fac", { params: ["i32"], ret: "i32" }) + .GetLocal(0) + .I32Const(0) + .I32Eq() + .If("void", b => + b.I32Const(1) + .Return() + ) + .GetLocal(0) + .GetLocal(0) + .I32Const(1) + .I32Sub() + .Call(0) + .I32Mul() + .Return() + .End() + .End() + +const m = new WebAssembly.Module(b.WebAssembly().get()); +const fac = (new WebAssembly.Instance(m)).exports.fac; +assert.eq(fac(0), 1); +assert.eq(fac(1), 1); +assert.eq(fac(2), 2); +assert.eq(fac(4), 24); +assert.throws(() => fac(1e7), RangeError, "Maximum call stack size exceeded."); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/float-sub.js b/implementation-contributed/javascriptcore/wasm/function-tests/float-sub.js new file mode 100644 index 0000000000..e29ab7aa72 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/float-sub.js @@ -0,0 +1,42 @@ +import * as assert from '../assert.js' +import Builder from '../Builder.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("bar", { params: ["f32", "f32"], ret: "f32" }, []) + .GetLocal(0) + .GetLocal(1) + .F32Sub() + .Return() + .End() + + .Function("foo", { params: ["f32", "f32"], ret: "f32" }, []) + .GetLocal(0) + .GetLocal(1) + .Call(0) + .Return() + .End() + .End() + +const bin = b.WebAssembly() +bin.trim(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin.get())); + +let x = new Float32Array(3); +x[0] = 0; +x[1] = 1.5; +x[2] = x[0] - x[1]; +assert.eq(instance.exports.bar(x[0], x[1]), x[2]); +assert.eq(instance.exports.foo(x[0], x[1]), x[2]); + +x[0] = 100.1234 +x[1] = 12.5; +x[2] = x[0] - x[1]; +assert.eq(instance.exports.bar(x[0], x[1]), x[2]); +assert.eq(instance.exports.foo(x[0], x[1]), x[2]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/function-import-return-value.js b/implementation-contributed/javascriptcore/wasm/function-tests/function-import-return-value.js new file mode 100644 index 0000000000..6e11782ed0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/function-import-return-value.js @@ -0,0 +1,247 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +{ + let called = false; + + const tests = { + i32: [ + [20, (x) => assert.eq(x, 20)], + [20.888, (x) => assert.eq(x, 20.888 | 0)], + [Math.PI, (x) => assert.eq(x, Math.PI | 0)], + [{valueOf() { assert.truthy(!called); called = true; return 25; } }, (x) => { assert.truthy(called); assert.eq(x, 25); called = false; }], + [NaN, (x) => assert.eq(x, NaN | 0)], + [-0.0, (x) => assert.eq(1/x, Infinity)], + [undefined, (x) => assert.eq(x, undefined | 0)], + [null, (x) => assert.eq(x, null | 0)], + [Number.MAX_SAFE_INTEGER, (x) => assert.eq(x, Number.MAX_SAFE_INTEGER | 0)], + [2**32 - 1, (x) => assert.eq(x, (2**32 - 1) | 0)], + [2**32 - 1000, (x) => assert.eq(x, (2**32 - 1000) | 0)], + [-1000, (x) => assert.eq(x, -1000)], + ], + f32: [ + [20, (x) => assert.eq(x, 20)], + [20.888, (x) => assert.eq(x, Math.fround(20.888))], + [Math.PI, (x) => assert.eq(x, Math.fround(Math.PI))], + [{valueOf() { assert.truthy(!called); called = true; return 25.82; } }, (x) => { assert.truthy(called); assert.eq(x, Math.fround(25.82)); called = false; }], + [NaN, (x) => assert.truthy(isNaN(x))], + [-0.0, (x) => assert.eq(1/x, -Infinity)], + [undefined, (x) => assert.truthy(isNaN(x))], + [null, (x) => assert.eq(x, 0)], + [Number.MAX_SAFE_INTEGER, (x) => assert.eq(x, Math.fround(Number.MAX_SAFE_INTEGER))], + [-1000, (x) => assert.eq(x, -1000)], + ], + f64: [ + [20, (x) => assert.eq(x, 20)], + [2**24, (x) => assert.eq(x, 2**24)], + [2**52, (x) => assert.eq(x, 2**52)], + [20.8888888, (x) => assert.eq(x, 20.8888888)], + [Math.PI, (x) => assert.eq(x, Math.PI)], + [{valueOf() { assert.truthy(!called); called = true; return 25.82; } }, (x) => { assert.truthy(called); assert.eq(x, 25.82); called = false; }], + [NaN, (x) => assert.truthy(isNaN(x))], + [-0.0, (x) => assert.eq(1/x, -Infinity)], + [undefined, (x) => assert.truthy(isNaN(x))], + [null, (x) => assert.eq(x, 0)], + [Number.MAX_SAFE_INTEGER, (x) => assert.eq(x, Number.MAX_SAFE_INTEGER)], + [-1000, (x) => assert.eq(x, -1000)], + ] + }; + + for (let type of Reflect.ownKeys(tests)) { + const builder = new Builder() + .Type().End() + .Import() + .Function("imp", "func", { params: [], ret: type}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: type}) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + + for (let test of tests[type]) { + const func = () => { + return test[0]; + }; + + const instance = new WebAssembly.Instance(module, {imp: {func}}); + const ret = instance.exports.foo(); + test[1](ret); + } + } +} + +{ + let types = ["i32", "f32", "f64"]; + for (let type of types) { + const builder = new Builder() + .Type().End() + .Import() + .Function("imp", "func", { params: [], ret: type}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: type}) + .Call(0) + .Unreachable() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + let error = null; + const func = () => { + return { + valueOf() { + error = new Error; + throw error; + } + }; + }; + + const instance = new WebAssembly.Instance(module, {imp: {func}}); + for (let i = 0; i < 100; i++) { + let threw = false; + try { + instance.exports.foo(); + } catch(e) { + assert.eq(e, error); + threw = true; + error = null; + } + assert.truthy(threw); + } + } +} + +{ + const builder = new Builder() + .Type().End() + .Import() + .Function("imp", "func", { params: [], ret: "i64"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "void"}) + .Call(0) + .Drop() + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const func = () => 20; + const instance = new WebAssembly.Instance(module, {imp: {func}}); + for (let i = 0; i < 100; i++) { + assert.throws(() => instance.exports.foo(), TypeError, "i64 not allowed as return type or argument to an imported function"); + } +} + +{ + const builder = new Builder() + .Type().End() + .Import() + .Function("imp", "func", { params: ["i64"], ret: "void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "void"}) + .I64Const(20) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const func = () => 20; + const instance = new WebAssembly.Instance(module, {imp: {func}}); + for (let i = 0; i < 100; i++) { + assert.throws(() => instance.exports.foo(), TypeError, "i64 not allowed as return type or argument to an imported function"); + } +} + +{ + const builder = new Builder() + .Type().End() + .Import() + .Function("imp", "func", { params: ["i64"], ret: "void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "void"}) + .I64Const(20) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + let called = false; + const func = () => { + called = true; + } + const instance = new WebAssembly.Instance(module, {imp: {func}}); + for (let i = 0; i < 100; i++) { + assert.throws(() => instance.exports.foo(), TypeError, "i64 not allowed as return type or argument to an imported function"); + assert.eq(called, false); + } +} + +{ + const builder = new Builder() + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: ["i64"], ret: "void"}) + .I64Const(20) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + let called = false; + let value = { + valueOf() { + called = true; + } + }; + const instance = new WebAssembly.Instance(module); + for (let i = 0; i < 100; i++) { + assert.throws(() => instance.exports.foo(value), Error, "WebAssembly function with an i64 argument can't be called from JavaScript"); + assert.eq(called, false); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-2.js b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-2.js new file mode 100644 index 0000000000..fba01318f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-2.js @@ -0,0 +1,82 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +{ + const memoryDescription = {initial: 0, maximum: 2}; + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryDescription) + .Function("imp", "func", {params: [], ret: "void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .Call(0) + .GetLocal(0) + .I32Load(0, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + + const func = () => { + memory.grow(1); + (new Uint32Array(memory.buffer))[0] = 42; + }; + + const instance = new WebAssembly.Instance(module, {imp: {memory, func}}); + assert.eq(instance.exports.foo(0), 42); +} + +{ + const memoryDescription = {initial: 0, maximum: 2}; + const tableDescription = {initial: 1, maximum: 1, element: "anyfunc"}; + const builder = (new Builder()) + .Type() + .Func([], "void") + .End() + .Import() + .Memory("imp", "memory", memoryDescription) + .Function("imp", "func", {params: [], ret: "void"}) + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .I32Const(0) + .CallIndirect(0, 0) // call [] => void + .GetLocal(0) + .I32Load(0, 0) + .Return() + .End() + .Function("bar", {params: [], ret: "void"}) + .Call(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const table = new WebAssembly.Table(tableDescription); + + const func = () => { + memory.grow(1); + (new Uint32Array(memory.buffer))[0] = 0xbadbeef; + }; + + const instance = new WebAssembly.Instance(module, {imp: {memory, func, table}}); + table.set(0, instance.exports.bar); + assert.eq(instance.exports.foo(0), 0xbadbeef); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-3.js b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-3.js new file mode 100644 index 0000000000..d2e1145b0f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-3.js @@ -0,0 +1,34 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +{ + const memoryDescription = {initial: 0, maximum: 2}; + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", {params: [], ret: "void"}) + .Unreachable() + .GrowMemory(0) + .End() + .Function("bar", {params: [], ret: "void"}) + .Unreachable() + .CurrentMemory(0) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); // Just make sure it parses. + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, {imp: {memory}}); + + assert.throws(() => instance.exports.foo(), WebAssembly.RuntimeError, "Unreachable code should not be executed") + assert.throws(() => instance.exports.bar(), WebAssembly.RuntimeError, "Unreachable code should not be executed") +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-4.js b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-4.js new file mode 100644 index 0000000000..f26709a5eb --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-4.js @@ -0,0 +1,34 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +{ + const memoryDescription = {initial: 0, maximum: 50}; + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryDescription) + .Function("imp", "func", {params: [], ret: "void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "i32"}) + .Call(0) + .CurrentMemory(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + + const func = () => { + memory.grow(42); + }; + + const instance = new WebAssembly.Instance(module, {imp: {memory, func}}); + assert.eq(instance.exports.foo(), 42); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-cause-gc.js b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-cause-gc.js new file mode 100644 index 0000000000..007aaf1a34 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory-cause-gc.js @@ -0,0 +1,61 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +function escape(){} +noInline(escape); + +for (let i = 0; i < 10; ++i) { + const max = 1024*2; + const memoryDescription = {initial: 0, maximum: max}; + const growMemoryAmount = 256; + + const builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "func", {params: [], ret: "void"}) + .Memory("imp", "memory", memoryDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "i32"}) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .I32Const(1) + .Call(2) + .I32Const(growMemoryAmount) + .GrowMemory(0) + .Return() + .End() + .Function("bar", {params: ["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret: "void"}) + .Call(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + + function func() { } + + const instance = new WebAssembly.Instance(module, {imp: {memory, func}}); + for (let i = 0; i < max/growMemoryAmount; ++i) { + instance.exports.foo(); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory.js b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory.js new file mode 100644 index 0000000000..a30603a5f5 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/grow-memory.js @@ -0,0 +1,207 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +const pageSize = 64 * 1024; +const maxPageCount = (2**32) / pageSize; + +function binaryShouldNotParse(builder, msg = "") { + const bin = builder.WebAssembly().get(); + let threw = false; + try { + const module = new WebAssembly.Module(bin); + } catch(e) { + assert.truthy(e instanceof WebAssembly.CompileError); + if (msg) + assert.truthy(e.message.indexOf(msg) !== -1); + threw = true; + } + assert.truthy(threw); +} + +{ + // Can't grow_memory if no memory is defined. + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export().End() + .Code() + .Function({ret: "void", params: []}) + .I32Const(25) + .GrowMemory(0) + .Drop() + .End() + .End(); + + binaryShouldNotParse(builder, "grow_memory is only valid if a memory is defined or imported"); +} + +{ + // Can't current_memory if no memory is defined. + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export().End() + .Code() + .Function({ret: "void", params: []}) + .I32Const(25) + .CurrentMemory(0) + .Drop() + .End() + .End(); + + binaryShouldNotParse(builder, "current_memory is only valid if a memory is defined or imported"); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .Function({ret: "void", params: []}) + .I32Const(25) + .GrowMemory(1) + .Drop() + .End() + .End(); + + binaryShouldNotParse(builder, "reserved varUint1 for grow_memory must be zero"); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .Function({ret: "void", params: []}) + .I32Const(25) + .CurrentMemory(1) + .Drop() + .End() + .End(); + + binaryShouldNotParse(builder, "reserved varUint1 for current_memory must be zero"); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .Function({ret: "void", params: []}) + .I32Const(25) + .CurrentMemory(0xffffff00) + .Drop() + .End() + .End(); + + binaryShouldNotParse(builder, "can't parse reserved varUint1 for current_memory"); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .Function({ret: "void", params: []}) + .I32Const(25) + .GrowMemory(0xffffff00) + .Drop() + .End() + .End(); + + binaryShouldNotParse(builder, "can't parse reserved varUint1 for grow_memory"); +} + +{ + const memoryDescription = {initial: 20, maximum: 50}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["i32"], ret: "i32"}) + .GetLocal(0) + .GrowMemory(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const instance = new WebAssembly.Instance(module, {imp: {memory: new WebAssembly.Memory(memoryDescription)}}); + let currentPageSize = memoryDescription.initial; + for (let i = 0; i < memoryDescription.maximum - memoryDescription.initial; i++) { + assert.eq(instance.exports.foo(1), currentPageSize); + ++currentPageSize; + } + + for (let i = 0; i < 1000; i++) { + assert.eq(instance.exports.foo(1), -1); + assert.eq(instance.exports.foo(0), currentPageSize); + } +} + +{ + const memoryDescription = {initial: 20, maximum: 100}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32"}) + .CurrentMemory(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, {imp: {memory}}); + let currentPageSize = memoryDescription.initial; + for (let i = 0; i < memoryDescription.maximum - memoryDescription.initial; i++) { + assert.eq(instance.exports.foo(), currentPageSize); + ++currentPageSize; + memory.grow(1); + } +} + +{ + const memoryDescription = {initial: 20, maximum: 100}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32"}) + .I32Const(-1) + .GrowMemory(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, {imp: {memory}}); + for (let i = 0; i < 20; i++) { + assert.eq(instance.exports.foo(), -1); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/i32-const.js b/implementation-contributed/javascriptcore/wasm/function-tests/i32-const.js new file mode 100644 index 0000000000..aae67a252b --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/i32-const.js @@ -0,0 +1,32 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("answer") + .Function("minInt") + .Function("maxInt") + .End() + .Code() + .Function("answer", { params: [], ret: "i32" }) + .I32Const(42) + .End() + + .Function("minInt", { params: [], ret: "i32" }) + .I32Const(-1) + .End() + + .Function("maxInt", { params: [], ret: "i32" }) + .I32Const(0xffffffff) + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eq(instance.exports.answer(), 42); +assert.eq(instance.exports.minInt(), -1); +assert.eq(instance.exports.maxInt(), -1); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/i32-load.js b/implementation-contributed/javascriptcore/wasm/function-tests/i32-load.js new file mode 100644 index 0000000000..0c220cfc74 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/i32-load.js @@ -0,0 +1,35 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().Function('f0').End() + .Code() + .Function('f0', { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(1) + .GetLocal(0) + .I32Store(2, 0) + .GetLocal(1) + .I32Load(2, 0) + .Return() + .End() + .End(); + +const bin = b.WebAssembly().get(); +const instance = new WebAssembly.Instance(new WebAssembly.Module(bin)); +function testWasmModuleFunctions(...tests) { + for (let i = 0; i < tests.length; i++) { + const func = instance.exports['f' + i]; + for (let test of tests[i]) { + let result = test[0].value; + let args = test[1].map(x => x.value); + assert.eq(result, func(...args)); + } + } +} +testWasmModuleFunctions([[{type: "i32", value: 0 }, [{ type: "i32", value: 0 }, { type: "i32", value: 10 }]], + [{type: "i32", value: 100 }, [{ type: "i32", value: 100 }, { type: "i32", value: 112 }]], + [{type: "i32", value: 1000000 }, [{ type: "i32", value: 1000000 }, { type: "i32", value: 10 }]] + ]); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/i32-load8-s.js b/implementation-contributed/javascriptcore/wasm/function-tests/i32-load8-s.js new file mode 100644 index 0000000000..3582754e82 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/i32-load8-s.js @@ -0,0 +1,24 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().Function("foo").End() + .Code() + .Function("foo", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(1) + .GetLocal(0) + .I32Store(2, 0) + .GetLocal(1) + .I32Load8S(0, 0) + .Return() + .End() + .End() + +const bin = b.WebAssembly().get(); +const foo = (new WebAssembly.Instance(new WebAssembly.Module(bin))).exports.foo; +assert.eq(foo(0, 10), 0); +assert.eq(foo(100, 112), 100); +assert.eq(foo(1000000, 10), 0x40); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/i64-from-js-exceptions.js b/implementation-contributed/javascriptcore/wasm/function-tests/i64-from-js-exceptions.js new file mode 100644 index 0000000000..4cd9cfcd22 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/i64-from-js-exceptions.js @@ -0,0 +1,40 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const builder = (new Builder()) + .Type().End() + .Import() + .Function("import", "sideEffects", {params: [], ret: "void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", {params: ["i64"], ret: "void"}) + .Call(0) + .Return() + .End() + .Function("bar", {params: [], ret: "i64"}) + .Call(0) + .I32Const(25) + .I64ExtendUI32() + .Return() + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +let called = false; +const imp = { + import: { + sideEffects() { called = true; } + } +}; + +const instance = new WebAssembly.Instance(module, imp); +assert.throws(() => instance.exports.foo(20), WebAssembly.RuntimeError, "WebAssembly function with an i64 argument can't be called from JavaScript"); +assert.throws(() => instance.exports.foo({valueOf() { throw new Error("Should not be called!"); }}), WebAssembly.RuntimeError, "WebAssembly function with an i64 argument can't be called from JavaScript"); +assert.throws(() => instance.exports.bar(), WebAssembly.RuntimeError, "WebAssembly function that returns i64 can't be called from JavaScript"); +assert.eq(called, false); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/if-no-else-non-void.js b/implementation-contributed/javascriptcore/wasm/function-tests/if-no-else-non-void.js new file mode 100644 index 0000000000..8833164caa --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/if-no-else-non-void.js @@ -0,0 +1,16 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Code() + .Function("bad-if", { params: [], ret: "i32" }) + .I32Const(0) + .If("i32", b => b.I32Const(0)) + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +assert.throws(() => new WebAssembly.Module(bin), WebAssembly.CompileError, "WebAssembly.Module doesn't validate: If-block had a non-void result type: I32 but had no else-block, in function at index 0 (evaluating 'new WebAssembly.Module(bin)')"); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/invalid-duplicate-export.js b/implementation-contributed/javascriptcore/wasm/function-tests/invalid-duplicate-export.js new file mode 100644 index 0000000000..c47b1e1662 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/invalid-duplicate-export.js @@ -0,0 +1,19 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "void"}) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + assert.throws(() => new WebAssembly.Module(bin), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 31 / 39: duplicate export: 'foo'"); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/load-offset.js b/implementation-contributed/javascriptcore/wasm/function-tests/load-offset.js new file mode 100644 index 0000000000..7419a190ac --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/load-offset.js @@ -0,0 +1,165 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: 1}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Load(2, 4) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 1}); + const instance = new WebAssembly.Instance(module, {imp: {mem: memory}}); + + const number = 0x0abbccdd; + (new Uint32Array(memory.buffer))[1] = number; + assert.eq(instance.exports.foo(0), number); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: 1}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I64Load32U(2, 4) + .I64Popcnt() + .I32WrapI64() + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 1}); + const instance = new WebAssembly.Instance(module, {imp: {mem: memory}}); + + const number = 2**32 - 1; + (new Uint32Array(memory.buffer))[1] = number; + assert.eq(instance.exports.foo(0), 32); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: 1}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I64Load32S(2, 4) + .I64Popcnt() + .I32WrapI64() + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 1}); + const instance = new WebAssembly.Instance(module, {imp: {mem: memory}}); + + const number = 2**32 - 1; + (new Uint32Array(memory.buffer))[1] = number; + assert.eq(instance.exports.foo(0), 64); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: 1}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I64Load(2, 4) + .I64Popcnt() + .I32WrapI64() + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 1}); + const instance = new WebAssembly.Instance(module, {imp: {mem: memory}}); + + const number = 2**32 - 1; + (new Uint32Array(memory.buffer))[1] = number; + (new Uint32Array(memory.buffer))[2] = 0xff00ff00; + assert.eq(instance.exports.foo(0), 32 + 16); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: 1}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "f32"}) + .GetLocal(0) + .F32Load(2, 4) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 1}); + const instance = new WebAssembly.Instance(module, {imp: {mem: memory}}); + + const number = Math.PI; + (new Float32Array(memory.buffer))[1] = number; + assert.eq(instance.exports.foo(0), Math.fround(number)); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: 1}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "f64"}) + .GetLocal(0) + .F64Load(2, 8) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 1}); + const instance = new WebAssembly.Instance(module, {imp: {mem: memory}}); + + const number = Math.PI; + (new Float64Array(memory.buffer))[1] = number; + assert.eq(instance.exports.foo(0), number); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/loop-mult.js b/implementation-contributed/javascriptcore/wasm/function-tests/loop-mult.js new file mode 100644 index 0000000000..ce39696791 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/loop-mult.js @@ -0,0 +1,43 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export() + .Function("loop") + .End() + .Code() + .Function("loop", { params: ["i32"], ret: "i32" }, ["i32"]) + .I32Const(0) + .SetLocal(1) + .Loop("void") + .Block("void", b => + b.GetLocal(0) + .I32Const(0) + .I32Eq() + .BrIf(0) + .GetLocal(0) + .GetLocal(1) + .I32Add() + .SetLocal(1) + .GetLocal(0) + .I32Const(1) + .I32Sub() + .SetLocal(0) + .Br(1) + ) + .End() + .GetLocal(1) + .Return() + .End() + .End() + +const bin = b.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); + +assert.eq(0, instance.exports.loop(0)); +assert.eq(1, instance.exports.loop(1)); +assert.eq(3, instance.exports.loop(2)); +assert.eq(5050, instance.exports.loop(100)); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/loop-sum.js b/implementation-contributed/javascriptcore/wasm/function-tests/loop-sum.js new file mode 100644 index 0000000000..ce39696791 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/loop-sum.js @@ -0,0 +1,43 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export() + .Function("loop") + .End() + .Code() + .Function("loop", { params: ["i32"], ret: "i32" }, ["i32"]) + .I32Const(0) + .SetLocal(1) + .Loop("void") + .Block("void", b => + b.GetLocal(0) + .I32Const(0) + .I32Eq() + .BrIf(0) + .GetLocal(0) + .GetLocal(1) + .I32Add() + .SetLocal(1) + .GetLocal(0) + .I32Const(1) + .I32Sub() + .SetLocal(0) + .Br(1) + ) + .End() + .GetLocal(1) + .Return() + .End() + .End() + +const bin = b.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); + +assert.eq(0, instance.exports.loop(0)); +assert.eq(1, instance.exports.loop(1)); +assert.eq(3, instance.exports.loop(2)); +assert.eq(5050, instance.exports.loop(100)); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/many-args-tail-call-sp-restored.js b/implementation-contributed/javascriptcore/wasm/function-tests/many-args-tail-call-sp-restored.js new file mode 100644 index 0000000000..47bb539382 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/many-args-tail-call-sp-restored.js @@ -0,0 +1,72 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +{ + const count = 1000; + const signature = []; + for (let i = 0; i < count; ++i) + signature.push("i32"); + + let builder = new Builder() + .Type() + .End() + .Import() + .Function("imp", "f1", {params:signature, ret:"void"}) + .Function("imp", "f2", {params:signature, ret:"void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: signature, ret: "void" }); + + for (let i = 0; i < count; ++i) + builder = builder.GetLocal(i); + + builder = builder.Call(0); + + for (let i = count; i--; ) + builder = builder.GetLocal(i); + + builder = builder.Call(1).Return().End().End(); + + let calledF1 = false; + let calledF2 = false; + + function f1(...args) { + calledF1 = true; + let realArgs = [...args, ...args]; + return end(...realArgs); + } + noInline(f1); + + function end() {} + noInline(end); + + + function f2(...args) { + calledF2 = true; + let called = false; + assert.eq(args.length, count); + for (let i = 0; i < args.length; ++i) { + assert.eq(args[i], args.length - i - 1); + } + } + noInline(f2); + + let instance = new WebAssembly.Instance(new WebAssembly.Module(builder.WebAssembly().get()), {imp: {f1, f2}}); + + const args = []; + for (let i = 0; i < count; ++i) + args.push(i); + + for (let i = 0; i < 50; ++i) { + instance.exports.foo(...args); + + assert.eq(calledF1, true); + assert.eq(calledF2, true); + calledF1 = false; + calledF2 = false; + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/many-arguments-to-function.js b/implementation-contributed/javascriptcore/wasm/function-tests/many-arguments-to-function.js new file mode 100644 index 0000000000..b14d08efa0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/many-arguments-to-function.js @@ -0,0 +1,186 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +{ + const b = new Builder() + .Type().End() + .Import().Function("imp", "func", { params: ["i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32", "i32"], ret:"i32" }).End() + .Function().End() + .Export().Function("f0").End() + .Code() + .Function("f0", { params: [], ret: "i32" }) + .I32Const(0) + .I32Const(1) + .I32Const(2) + .I32Const(3) + .I32Const(4) + .I32Const(5) + .I32Const(6) + .I32Const(7) + .I32Const(8) + .I32Const(9) + .I32Const(10) + .I32Const(11) + .I32Const(12) + .I32Const(13) + .I32Const(14) + .I32Const(15) + .I32Const(16) + .I32Const(17) + .Call(0) + .Return() + .End() + .End() + + function foo(...args) { + for (let i = 0; i < args.length; i++) { + if (args[i] !== i) + throw new Error("Bad!"); + } + } + + let imp = {imp: {func: foo}} + let instance = new WebAssembly.Instance(new WebAssembly.Module(b.WebAssembly().get()), imp); + for (let i = 0; i < 100; i++) + instance.exports.f0(); +} + +{ + const b = new Builder() + .Type().End() + .Import().Function("imp", "func", { params: ["f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32"], ret:"f32" }).End() + .Function().End() + .Export().Function("f0").End() + .Code() + .Function("f0", { params: [], ret: "f32" }) + .F32Const(0.5) + .F32Const(1.5) + .F32Const(2.5) + .F32Const(3.5) + .F32Const(4.5) + .F32Const(5.5) + .F32Const(6.5) + .F32Const(7.5) + .F32Const(8.5) + .F32Const(9.5) + .F32Const(10.5) + .F32Const(11.5) + .F32Const(12.5) + .F32Const(13.5) + .F32Const(14.5) + .F32Const(15.5) + .F32Const(16.5) + .F32Const(17.5) + .Call(0) + .Return() + .End() + .End() + + function foo(...args) { + for (let i = 0; i < args.length; i++) { + if (args[i] !== (i + 0.5)) + throw new Error("Bad!"); + } + } + + let imp = {imp: {func: foo}} + let instance = new WebAssembly.Instance(new WebAssembly.Module(b.WebAssembly().get()), imp); + for (let i = 0; i < 100; i++) + instance.exports.f0(); +} + +{ + const b = new Builder() + .Type().End() + .Import().Function("imp", "func", { params: ["f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32"], ret:"f32" }).End() + .Function().End() + .Export().Function("f0").End() + .Code() + .Function("f0", { params: ["f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32", "f32"] , ret: "f32" }) + .GetLocal(0) + .GetLocal(1) + .GetLocal(2) + .GetLocal(3) + .GetLocal(4) + .GetLocal(5) + .GetLocal(6) + .GetLocal(7) + .GetLocal(8) + .GetLocal(9) + .GetLocal(10) + .GetLocal(11) + .GetLocal(12) + .GetLocal(13) + .GetLocal(14) + .GetLocal(15) + .GetLocal(16) + .GetLocal(17) + .Call(0) + .Return() + .End() + .End() + + function foo(...args) { + for (let i = 0; i < args.length; i++) { + if (args[i] !== i) + throw new Error("Bad!"); + } + } + + let imp = {imp: {func: foo}} + let instance = new WebAssembly.Instance(new WebAssembly.Module(b.WebAssembly().get()), imp); + let arr = []; + for (let i = 0; i < 18; i++) + arr.push(i); + for (let i = 0; i < 100; i++) + instance.exports.f0(...arr); +} + + +{ + let signature = []; + function addType(t, i) { + for (let j = 0; j < i; j++) { + signature.push(t); + } + } + addType("i32", 16); + addType("f32", 16); + + let b = new Builder() + .Type().End() + .Import().Function("imp", "func", { params: signature, ret:"f32" }).End() + .Function().End() + .Export().Function("f0").End() + .Code() + .Function("f0", { params: signature , ret: "f32" }); + for (let i = 0; i < (16 + 16); i++) { + b = b.GetLocal(i); + } + + b = b.Call(0).Return().End().End(); + + function foo(...args) { + if (args.length !== 32) + throw new Error("Bad!") + + for (let i = 0; i < 16; i++) { + if (args[i] !== i) + throw new Error("Bad!"); + if (args[i + 16] !== (i + 16 + 0.5)) + throw new Error("Bad!"); + } + } + + let imp = {imp: {func: foo}} + let instance = new WebAssembly.Instance(new WebAssembly.Module(b.WebAssembly().get()), imp); + let arr = []; + for (let i = 0; i < 16; i++) + arr.push(i); + for (let i = 16; i < 32; i++) + arr.push(i + 0.5); + for (let i = 0; i < 100; i++) + instance.exports.f0(...arr); +} + + diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-access-past-4gib.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-access-past-4gib.js new file mode 100644 index 0000000000..1d3494ddd2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-access-past-4gib.js @@ -0,0 +1,130 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; +import * as LLB from '../LowLevelBinary.js'; +import * as WASM from '../WASM.js'; +import * as util from '../utilities.js'; + +const verbose = false; + +const pageSize = 64 * 1024; +const fourGiB = pageSize * 65536; +const initial = 64; +const maximum = 128; + +// When using fast memories, we allocate a redzone after the 4GiB huge +// allocation. This redzone is used to trap reg+imm accesses which exceed +// 32-bits. Anything past 4GiB must trap, but we cannot know statically that it +// will. + +const offsets = [ + 0, + 1, + 2, + 1024, + pageSize, + pageSize + pageSize / 2, + pageSize * 8, + pageSize * 16, + pageSize * 128, + pageSize * 512, + fourGiB / 4 - 4, + fourGiB / 4 - 3, + fourGiB / 4 - 2, + fourGiB / 4 - 1, + fourGiB / 4, + fourGiB / 4 + 1, + fourGiB / 4 + 2, + fourGiB / 4 + 3, + fourGiB / 4 + 4, + fourGiB / 2 - 4, + fourGiB / 2 - 3, + fourGiB / 2 - 2, + fourGiB / 2 - 1, + fourGiB / 2, + fourGiB / 2 + 1, + fourGiB / 2 + 2, + fourGiB / 2 + 3, + fourGiB / 2 + 4, + (fourGiB / 4) * 3, + fourGiB - 4, + fourGiB - 3, + fourGiB - 2, + fourGiB - 1, +]; + +for (let memoryDeclaration of [{ initial: initial }, { initial: initial, maximum: maximum }]) { + fullGC(); + + // Re-use a single memory so tests are more likely to get a fast memory. + const memory = new WebAssembly.Memory(memoryDeclaration); + if (verbose) + print(WebAssemblyMemoryMode(memory)); + const buf = new Uint8Array(memory.buffer); + + // Enumerate all memory access types. + for (const op of WASM.opcodes("memory")) { + const info = WASM.memoryAccessInfo(op); + + // The accesses should fault even if only the last byte is off the end. + let wiggles = [0]; + for (let wiggle = 0; wiggle !== info.width / 8; ++wiggle) + wiggles.push(wiggle); + + let builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDeclaration).End() + .Function().End() + .Export(); + + for (let offset of offsets) + switch (info.type) { + case "load": builder = builder.Function("get_" + offset); break; + case "store": builder = builder.Function("set_" + offset); break; + default: throw new Error(`Implementation problem: unknown memory access type ${info.type}`); + } + + builder = builder.End().Code(); + + const align = 0; // No need to be precise, it's just a hint. + const constInstr = util.toJavaScriptName(WASM.constForValueType(info.valueType)); + const instr = util.toJavaScriptName(op.name); + for (let offset of offsets) + switch (info.type) { + case "load": + builder = builder.Function("get_" + offset, { params: ["i32"] }).GetLocal(0)[instr](align, offset).Drop().End(); + break; + case "store": + builder = builder.Function("set_" + offset, { params: ["i32"] }).GetLocal(0)[constInstr](0xdead)[instr](align, offset).End(); + break; + default: + throw new Error(`Implementation problem: unknown memory access type ${info.type}`); + } + + builder = builder.End(); + + const instance = new WebAssembly.Instance(new WebAssembly.Module(builder.WebAssembly().get()), { imp: { memory: memory } }); + + for (let offset of offsets) { + for (let wiggle of wiggles) { + const address = LLB.varuint32Max - offset - wiggle; + if (verbose) + print(`${op.name.padStart(16, ' ')}: base address ${address > 0 ? '0x' : ' '}${address.toString(16).padStart(8, address > 0 ? '0' : ' ')} + offset 0x${offset.toString(16).padStart(8, '0')} - wiggle ${wiggle} = effective address 0x${(address + offset - wiggle).toString(16).padStart(16, '0')}`); + switch (info.type) { + case "load": + assert.throws(() => instance.exports["get_" + offset](address), WebAssembly.RuntimeError, `Out of bounds memory access`); + break; + case "store": + assert.throws(() => instance.exports["set_" + offset](address), WebAssembly.RuntimeError, `Out of bounds memory access`); + break; + default: throw new Error(`Implementation problem: unknown memory access type ${info.type}`); + } + } + } + + fullGC(); + } + + // Only check that the memory was untouched at the very end, before throwing it away entirely. + for (let idx = 0; idx < buf.byteLength; ++idx) + assert.eq(buf[idx], 0); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-alignment.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-alignment.js new file mode 100644 index 0000000000..abc5741214 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-alignment.js @@ -0,0 +1,48 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; +import * as WASM from '../WASM.js'; +import * as util from '../utilities.js'; + +const offset = 0; + +const memoryDeclaration = { initial: 1 }; +const memory = new WebAssembly.Memory(memoryDeclaration); + +for (const op of WASM.opcodes("memory")) { + const info = WASM.memoryAccessInfo(op); + const maxAlignLog2 = Math.log2(info.width / 8); + const constInstr = util.toJavaScriptName(WASM.constForValueType(info.valueType)); + const instr = util.toJavaScriptName(op.name); + for (let alignLog2 = 0; alignLog2 < 16; ++alignLog2) { + let builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDeclaration).End() + .Function().End() + .Code(); + let start, end; + switch (info.type) { + case "load": + builder = builder.Function({ params: ["i32"] }).GetLocal(0)[instr](alignLog2, offset).Drop().End(); + start = 5; + end = 8; + break; + case "store": + builder = builder.Function({ params: ["i32", info.valueType] }).GetLocal(0).GetLocal(1)[instr](alignLog2, offset).End(); + start = 7; + end = 9; + break; + default: + throw new Error(`Implementation problem: unknown memory access type ${info.type}`); + } + builder = builder.End(); + const instance = () => { + const module = new WebAssembly.Module(builder.WebAssembly().get()); + return new WebAssembly.Instance(module, { imp: { memory: memory } }); + }; + if (alignLog2 <= maxAlignLog2) + instance(); + else + assert.throws(instance, WebAssembly.CompileError, `WebAssembly.Module doesn't parse at byte ${start} / ${end}: byte alignment ${1 << alignLog2} exceeds ${info.type}'s natural alignment ${1 << maxAlignLog2}, in function at index 0`); + + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-grow-invalid.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-grow-invalid.js new file mode 100644 index 0000000000..ef62fd694e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-grow-invalid.js @@ -0,0 +1,29 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const verbose = false; + +const initial = 0; +const max = 0; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(initial, max).End() + .Export().Function("current").Function("grow").End() + .Code() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .End(); + +let instance = new WebAssembly.Instance(new WebAssembly.Module(builder.WebAssembly().get())); + +const current = instance.exports.current(); +const by = 2; +const result = instance.exports.grow(current + by); +if (verbose) + print(`Grow from ${current} (max ${max}) to ${current + by} returned ${result}, current now ${instance.exports.current()}`); + +assert.eq(result, -1); +assert.eq(current, instance.exports.current()); +assert.le(instance.exports.current(), max); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-import-and-grow.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-import-and-grow.js new file mode 100644 index 0000000000..1398d92b52 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-import-and-grow.js @@ -0,0 +1,131 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +const pageSize = 64 * 1024; + +const verbose = false; + +// https://github.com/WebAssembly/design/blob/master/Modules.md#imports +// Says: +// +// A linear memory import includes the same set of fields defined in the Linear +// Memory section: initial length and optional maximum length. The host +// environment must only allow imports of WebAssembly linear memories that have +// initial length greater-or-equal than the initial length declared in the +// import and that have maximum length less-or-equal than the maximum length +// declared in the import. This ensures that separate compilation can assume: +// memory accesses below the declared initial length are always in-bounds, +// accesses above the declared maximum length are always out-of-bounds and if +// initial equals maximum, the length is fixed. + +const instantiate = (builder, importObject = undefined) => { + return new WebAssembly.Instance( + new WebAssembly.Module( + builder.WebAssembly().get()), + importObject); +}; + +const test = (memoryToImport, importedMemoryDeclaration, growMemoryToImportBy = undefined, growImportedMemoryDeclarationBy = undefined, expectedFinal) => { + const builder0 = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(memoryToImport.initial, memoryToImport.maximum).End() + .Export() + .Function("current").Function("grow").Function("get") + .Memory("memory", 0) + .End() + .Code() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .End(); + + const builder1 = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", importedMemoryDeclaration).End() + .Function().End() + .Export() + .Function("current").Function("grow").Function("get") + .Memory("memory", 0) + .End() + .Code() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .End(); + + const i0 = instantiate(builder0); + const i1 = instantiate(builder1, { imp: { memory: i0.exports.memory } }); + assert.eq(i0.exports.current(), i1.exports.current()); + assert.eq(i0.exports.current(), memoryToImport.initial); + + if (growMemoryToImportBy !== undefined) { + const grow = i0.exports.grow(growMemoryToImportBy); + if (verbose) + print(`currents: ${i0.exports.current()} and ${i1.exports.current()} -- grow result: ${grow}`); + } + + if (growImportedMemoryDeclarationBy !== undefined) { + const grow = i1.exports.grow(growImportedMemoryDeclarationBy); + if (verbose) + print(`currents: ${i0.exports.current()} and ${i1.exports.current()} -- grow result: ${grow}`); + } + + assert.eq(i0.exports.current(), i1.exports.current()); + assert.eq(i0.exports.current(), expectedFinal); +}; + +const u = undefined; + +// Identical Just Works. +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, 0, u, 2); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, 1, u, 3); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, 2, u, 4); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, 3, u, 2); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, u, 0, 2); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, u, 1, 3); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, u, 2, 4); +test({ initial: 2, maximum: 4 }, { initial: 2, maximum: 4 }, u, 3, 2); + +// Allowed: imported initial is greater than declared. +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, 0, u, 2); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, 1, u, 3); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, 2, u, 4); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, 3, u, 2); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, 0, u, 2); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, 1, u, 3); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, 2, u, 4); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, 3, u, 2); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, u, 0, 2); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, u, 1, 3); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, u, 2, 4); +test({ initial: 2, maximum: 4 }, { initial: 1, maximum: 4 }, u, 3, 2); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, u, 0, 2); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, u, 1, 3); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, u, 2, 4); +test({ initial: 2, maximum: 4 }, { initial: 0, maximum: 4 }, u, 3, 2); + +// Allowed: imported maximum is lesser than declared. +test({ initial: 2, maximum: 3 }, { initial: 2, maximum: 4 }, 0, u, 2); +test({ initial: 2, maximum: 3 }, { initial: 2, maximum: 4 }, 1, u, 3); +test({ initial: 2, maximum: 3 }, { initial: 2, maximum: 4 }, 2, u, 2); +test({ initial: 2, maximum: 2 }, { initial: 2, maximum: 4 }, 0, u, 2); +test({ initial: 2, maximum: 2 }, { initial: 2, maximum: 4 }, 1, u, 2); +test({ initial: 2, maximum: 3 }, { initial: 2, maximum: 4 }, u, 0, 2); +test({ initial: 2, maximum: 3 }, { initial: 2, maximum: 4 }, u, 1, 3); +test({ initial: 2, maximum: 3 }, { initial: 2, maximum: 4 }, u, 2, 2); +test({ initial: 2, maximum: 2 }, { initial: 2, maximum: 4 }, u, 0, 2); +test({ initial: 2, maximum: 2 }, { initial: 2, maximum: 4 }, u, 1, 2); + +// Allowed: no declared maximum, same as above. +test({ initial: 2, maximum: 4 }, { initial: 2 }, 0, u, 2); + +// Disallowed: imported initial is lesser than declared. +assert.throws(() => test({ initial: 1, maximum: 4 }, { initial: 2, maximum: 4 }, u, u, 2), WebAssembly.LinkError, `Memory import imp:memory provided an 'initial' that is smaller than the module's declared 'initial' import memory size`); +assert.throws(() => test({ initial: 0, maximum: 4 }, { initial: 2, maximum: 4 }, u, u, 2), WebAssembly.LinkError, `Memory import imp:memory provided an 'initial' that is smaller than the module's declared 'initial' import memory size`); + +// Disallowed: imported maximum is greater than declared. +assert.throws(() => test({ initial: 2, maximum: 5 }, { initial: 2, maximum: 4 }, u, u, 2), WebAssembly.LinkError, `Memory import imp:memory provided a 'maximum' that is larger than the module's declared 'maximum' import memory size`); + +// Disallowed: no imported maximum, same as above. +assert.throws(() => test({ initial: 2 }, { initial: 2, maximum: 4 }, 0, u, 2), WebAssembly.LinkError, `Memory import imp:memory did not have a 'maximum' but the module requires that it does`); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-many.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-many.js new file mode 100644 index 0000000000..ba43c62d9e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-many.js @@ -0,0 +1,18 @@ +const memories = 128; +const verbose = false; +const initial = 1; + +let types = {}; + +for (let m = 0; m < memories; ++m) { + let memory = new WebAssembly.Memory({ initial: initial }); + let type = WebAssemblyMemoryMode(memory); + types[type] = types[type] ? types[type] + 1 : 1; +} + +if (verbose) { + let got = "Got: "; + for (let p in types) + got += ` ${types[p]}: ${p}`; + print(got); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-multiagent.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-multiagent.js new file mode 100644 index 0000000000..bf98c85099 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-multiagent.js @@ -0,0 +1,125 @@ +// This test times out, probably because of the while loop in the agent. +// https://bugs.webkit.org/show_bug.cgi?id=170958 +//@ skip + +const pageSize = 64 * 1024; + +const verbose = false; + +// Start multiple agents and create WebAssembly.Memory from each of +// them. Perform writes into each memory, and then check that the memory only +// contains that agent's writes. This would find bugs where an implementation's +// memory reuse is buggy. + +// Use the agent support from test262: https://github.com/tc39/test262/blob/master/INTERPRETING.md#host-defined-functions + +const testIterations = 2; +const numAgents = 8; +const initialPages = 64; +const numWrites = 1024; + +const stateWait = 0; +const stateReady = 1; +const stateCheck = 2; + +const startAgents = numAgentsToStart => { + for (let a = 0; a < numAgentsToStart; ++a) { + const agentScript = ` + let state = ${stateWait}; + let u8; + + if (${verbose}) + print("Agent ${a} started"); + $.agent.report("Agent ${a} started"); + + $.agent.receiveBroadcast((sab, newState) => { + if (${verbose}) + print("Agent ${a} received broadcast"); + u8 = new Uint8Array(sab); + state = newState; + }); + + const busyWaitForValue = value => { + // Busy-wait so that once the SAB write occurs all agents try to create a memory at the same time. + while (Atomics.load(u8, 0) !== value) ; + }; + + if (${verbose}) + print("Agent ${a} waits"); + $.agent.report("Agent ${a} waits"); + // FIXME: How can this work? The state variable is in the JS heap and the while loop + // prevents any JS-heap-modifying things from happening because JS is a synchronous + // language + // https://bugs.webkit.org/show_bug.cgi?id=170958 + while (state === ${stateWait}) ; + $.agent.report("Agent ${a} received SAB"); + // Use it for faster state change so all agents are more likely to execute at the same time. + busyWaitForValue(${stateReady}); + + let wasmMemory = new WebAssembly.Memory({ initial: ${initialPages} }); + let memory = new Uint8Array((wasmMemory).buffer); + if (${verbose}) + print("Agent ${a} performing writes"); + for (let write = 0; write < ${numWrites}; ++write) { + // Perform writes of our agent number at a random location. This memory should not be shared, if we see writes of other values then something went wrong. + const idx = (Math.random() * ${pageSize} * ${initialPages}) | 0; + memory[idx] = ${a}; + } + if (${verbose}) + print("Agent ${a} writes performed"); + $.agent.report("Agent ${a} performed writes"); + busyWaitForValue(${stateCheck}); + + if (${verbose}) + print("Agent ${a} checking"); + // Check that our memory only contains 0 and our agent number. + for (let idx = 0; idx < ${pageSize} * ${initialPages}; ++idx) + if (memory[idx] !== 0 && memory[idx] !== ${a}) + throw new Error("Agent ${a} found unexpected value " + memory[idx] + " at location " + idx); + $.agent.report("Agent ${a} checks out OK"); + $.agent.leaving(); + `; + + if (verbose) + print(`Starting agent ${a}`); + $.agent.start(agentScript); + } +}; + +const waitForAgents = numAgentsToWaitFor => { + for (let a = 0; a < numAgentsToWaitFor; ++a) { + while (true) { + const report = $.agent.getReport(); + if (report === null) { + $.agent.sleep(1); + continue; + } + if (verbose) + print(`Received: ${report}`); + break; + } + } +}; + +const broadcastToAgents = (sab, newState) => { + $.agent.broadcast(sab, newState); +}; + +const sab = new SharedArrayBuffer(1024); +const u8 = new Uint8Array(sab); + +for (let it = 0; it < testIterations; ++it) { + startAgents(numAgents); + waitForAgents(numAgents); + broadcastToAgents(sab, stateReady); + waitForAgents(numAgents); + $.agent.sleep(1); + Atomics.store(u8, 0, stateReady); + waitForAgents(numAgents); + $.agent.sleep(1); + Atomics.store(u8, 0, stateCheck); + waitForAgents(numAgents); + if (verbose) + print("Everyting was fine"); + $.agent.sleep(1); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-reuse.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-reuse.js new file mode 100644 index 0000000000..fecccceecd --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-reuse.js @@ -0,0 +1,113 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const count = 10; +const pages = 6; +const memoryDescription = {initial:1}; +const pageSize = 64 * 1024; + +function createWasmInstance(memory) { + const builder = new Builder() + .Type().End() + .Import() + .Memory("imp", "memory", memoryDescription) + .End() + .Function().End() + .Export() + .Function("current") + .Function("get") + .Function("grow") + .End() + .Code() + .Function("current", { params: [], ret: "i32" }) + .CurrentMemory(0) + .Return() + .End() + .Function("get", { params: ["i32"], ret: "i32" }) + .GetLocal(0) + .I32Load(2, 0) + .Return() + .End() + .Function("grow", { params: ["i32"], ret: "i32" }) + .GetLocal(0) + .GrowMemory(0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, {imp: {memory}}); +} + +function doFillMemory(mem, length) { + const buf = new Uint32Array(mem.buffer); + + for (let i = 0; i < length; ++i) { + buf[i * 4] = i + 1; + } +} + +function doCheckTrap(instances, mem, numPages, length) { + const buf = new Uint32Array(mem.buffer); + + for (let instance of instances) { + const foo = instance.exports.get; + for (let i = 0; i < length; i++) { + assert.eq(foo(i * 4), buf[i]); + } + assert.throws(() => foo(numPages * pageSize + 1), WebAssembly.RuntimeError, "Out of bounds memory access"); + } +} + +function doCheckNoTrap(instances, mem, numPages, length) { + const buf = new Uint32Array(mem.buffer); + + for (let instance of instances) { + const foo = instance.exports.get; + for (let i = 0; i < length; i++) { + assert.eq(foo(i * 4), buf[i]); + } + assert.eq(foo(numPages * pageSize + 1), 0); + } +} + +function doMemoryGrow(instances) { + const instance = instances[0]; // Take first instance and grow shared memory + instance.exports.grow(1); +} + +function doCheck(mem, instances, numPages) { + const length = mem.buffer.byteLength / 4; + + doFillMemory(mem, length); + doCheckTrap(instances, mem, numPages, length); + doMemoryGrow(instances); + doCheckNoTrap(instances, mem, numPages, length); +} + +function checkWasmInstancesWithSharedMemory() { + const mem = new WebAssembly.Memory(memoryDescription); + + const instances = []; + for (let i = 0; i < count; i++) { + instances.push(createWasmInstance(mem)); + } + + for(let i = 1; i < pages; i++) { + doCheck(mem, instances, i); + } + + let instance; + for (let i = 0; i < count; i++) { + instance = instances.shift(); + } + + fullGC(); + + const survivedInstances = [ instance ]; // Should survive only one instance after full GC + + doCheck(mem, survivedInstances, pages); // Recheck only for survie instances +} + +checkWasmInstancesWithSharedMemory(); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/memory-section-and-import.js b/implementation-contributed/javascriptcore/wasm/function-tests/memory-section-and-import.js new file mode 100644 index 0000000000..a1db9ce257 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/memory-section-and-import.js @@ -0,0 +1,31 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +const instantiate = (builder, importObject = undefined) => { + return new WebAssembly.Instance( + new WebAssembly.Module( + builder.WebAssembly().get()), + importObject); +}; + +const initial = 0; +const maximum = 2; + +const builder0 = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(initial, maximum).End() + .Export() + .Memory("memory", 0) + .End() + .Code().End(); + +const builder1 = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", { initial: initial, maximum: maximum }).End() + .Function().End() + .Memory().InitialMaxPages(initial, maximum).End() + .Code().End(); + +const i0 = instantiate(builder0); +assert.throws(() => instantiate(builder1, { imp: { memory: i0.exports.memory } }), WebAssembly.CompileError, `WebAssembly.Module doesn't parse at byte 35 / 41: there can at most be one Memory section for now`); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/nameSection.js b/implementation-contributed/javascriptcore/wasm/function-tests/nameSection.js new file mode 100644 index 0000000000..d4dcd35976 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/nameSection.js @@ -0,0 +1,72 @@ +import * as assert from '../assert.js' + +/* +This test loads a WebAssembly file compiled by Emscripten with: + ./emsdk-portable/emscripten/incoming/em++ ./nameSection.cc -O2 -g4 -s WASM=1 -o nameSection.js -s EXPORTED_FUNCTIONS="['_parrot']" + +From the following C++ source file: + extern "C" { + int silly(int); + __attribute__((noinline)) int eggs(int i) { return silly(i); } + __attribute__((noinline)) int bacon(int i) { return eggs(i); } + __attribute__((noinline)) int spam(int i) { return bacon(i); } + __attribute__((noinline)) int parrot(int i) { return spam(i); } + } +*/ + +const verbose = false; +const wasmFile = 'nameSection.wasm'; + +const compile = (location, importObject = {}) => { + if (verbose) + print(`Processing ${location}`); + let buf = typeof readbuffer !== "undefined"? readbuffer(location) : read(location, 'binary'); + if (verbose) + print(` Size: ${buf.byteLength}`); + + let t0 = Date.now(); + let module = new WebAssembly.Module(buf); + let t1 = Date.now(); + if (verbose) + print(`new WebAssembly.Module(buf) took ${t1-t0} ms.`); + + if (verbose) + print(`Creating fake import object with ${WebAssembly.Module.imports(module).length} imports`); + for (let imp of WebAssembly.Module.imports(module)) { + if (typeof importObject[imp.module] === "undefined") + importObject[imp.module] = {}; + if (typeof importObject[imp.module][imp.name] === "undefined") { + switch (imp.kind) { + case "function": importObject[imp.module][imp.name] = () => {}; break; + case "table": importObject[imp.module][imp.name] = new WebAssembly.Table({ initial: 6, maximum: 6, element: "anyfunc" }); break; + case "memory": importObject[imp.module][imp.name] = new WebAssembly.Memory({ initial: 16777216 / (64 * 1024), maximum: 16777216 / (64 * 1024) }); break; + case "global": importObject[imp.module][imp.name] = 0; break; + } + } + + } + + let t2 = Date.now(); + let instance = new WebAssembly.Instance(module, importObject); + let t3 = Date.now(); + if (verbose) + print(`new WebAssembly.Module(buf) took ${t3-t2} ms.`); + + return instance; +}; + +let stacktrace; +const importObject = { env: { _silly: i => { stacktrace = (new Error).stack; return i + 42; } } }; +const instance = compile(wasmFile, importObject); +const result = instance.exports._parrot(1); +assert.eq(result, 1 + 42); + +assert.truthy(stacktrace); +stacktrace = stacktrace.split("\n"); +assert.falsy(stacktrace[0].indexOf("_silly") === -1); +assert.eq(stacktrace[1], "wasm-stub@[wasm code]"); // the wasm->js stub +assert.eq(stacktrace[2], ".wasm-function[_eggs]@[wasm code]"); +assert.eq(stacktrace[3], ".wasm-function[_bacon]@[wasm code]"); +assert.eq(stacktrace[4], ".wasm-function[_spam]@[wasm code]"); +assert.eq(stacktrace[5], ".wasm-function[_parrot]@[wasm code]"); +assert.eq(stacktrace[6], "wasm-stub@[wasm code]"); // wasm entry diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/nameSection.wasm b/implementation-contributed/javascriptcore/wasm/function-tests/nameSection.wasm new file mode 100644 index 0000000000000000000000000000000000000000..24b22b1aeea38e469c3260ba34d5da4a6db12153 GIT binary patch literal 13409 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 J5Z`?Ke*s81TjBr! literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/ret5.js b/implementation-contributed/javascriptcore/wasm/function-tests/ret5.js new file mode 100644 index 0000000000..bc08e878ae --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/ret5.js @@ -0,0 +1,21 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const b = new Builder(); +b.Type().End() + .Function().End() + .Export() + .Function("ret5") + .End() + .Code() + .Function("ret5", { params: [], ret: "i32" }) + .I32Const(5) + .Return() + .End() + .End(); + +const bin = b.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); + +assert.eq(instance.exports.ret5(), 5); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/rotl.js b/implementation-contributed/javascriptcore/wasm/function-tests/rotl.js new file mode 100644 index 0000000000..e978219be0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/rotl.js @@ -0,0 +1,32 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("i32Rotl") + .Function("i64Rotl") + .End() + .Code() + .Function("i32Rotl", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(1) + .I32Rotl() + .End() + + .Function("i64Rotl", { params: ["i64", "i64"], ret: "i64" }) + .GetLocal(0) + .GetLocal(1) + .I64Rotl() + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eqI32(instance.exports.i32Rotl(1, 1), 2); +assert.eqI32(instance.exports.i32Rotl(1, 2), 4); +assert.eqI32(instance.exports.i32Rotl(0xf, 2), 0x3c); +assert.eqI32(instance.exports.i32Rotl(0xf0000000, 1), 0xe0000001); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/rotr.js b/implementation-contributed/javascriptcore/wasm/function-tests/rotr.js new file mode 100644 index 0000000000..14f8d45329 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/rotr.js @@ -0,0 +1,31 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("i32Rotr") + .Function("i64Rotr") + .End() + .Code() + .Function("i32Rotr", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(1) + .I32Rotr() + .End() + + .Function("i64Rotr", { params: ["i64", "i64"], ret: "i64" }) + .GetLocal(0) + .GetLocal(1) + .I64Rotr() + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eqI32(instance.exports.i32Rotr(1, 1), 0x80000000); +assert.eqI32(instance.exports.i32Rotr(1, 2), 0x40000000); +assert.eqI32(instance.exports.i32Rotr(0xf, 2), 0xc0000003); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/shl.js b/implementation-contributed/javascriptcore/wasm/function-tests/shl.js new file mode 100644 index 0000000000..41ac11659d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/shl.js @@ -0,0 +1,32 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("i32Shl") + .Function("i64Shl") + .End() + .Code() + .Function("i32Shl", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(1) + .I32Shl() + .End() + + .Function("i64Shl", { params: ["i64", "i64"], ret: "i64" }) + .GetLocal(0) + .GetLocal(1) + .I64Shl() + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eqI32(instance.exports.i32Shl(1, 1), 2); +assert.eqI32(instance.exports.i32Shl(1, 2), 4); +assert.eqI32(instance.exports.i32Shl(0xf, 2), 0x3c); +assert.eqI32(instance.exports.i32Shl(0xf0000000, 1), 0xe0000000); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/shr-s.js b/implementation-contributed/javascriptcore/wasm/function-tests/shr-s.js new file mode 100644 index 0000000000..ec55d3536a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/shr-s.js @@ -0,0 +1,32 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("i32ShrS") + .Function("i64ShrS") + .End() + .Code() + .Function("i32ShrS", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(1) + .I32ShrS() + .End() + + .Function("i64ShrS", { params: ["i64", "i64"], ret: "i64" }) + .GetLocal(0) + .GetLocal(1) + .I64ShrS() + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eqI32(instance.exports.i32ShrS(1, 1), 0); +assert.eqI32(instance.exports.i32ShrS(1, 2), 0); +assert.eqI32(instance.exports.i32ShrS(0xf, 2), 0x3); +assert.eqI32(instance.exports.i32ShrS(0xf0000000, 1), 0xf8000000); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/shr-u.js b/implementation-contributed/javascriptcore/wasm/function-tests/shr-u.js new file mode 100644 index 0000000000..05ab2730e3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/shr-u.js @@ -0,0 +1,32 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("i32ShrU") + .Function("i64ShrU") + .End() + .Code() + .Function("i32ShrU", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(0) + .GetLocal(1) + .I32ShrU() + .End() + + .Function("i64ShrU", { params: ["i64", "i64"], ret: "i64" }) + .GetLocal(0) + .GetLocal(1) + .I64ShrU() + .End() + + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); +assert.eqI32(instance.exports.i32ShrU(1, 1), 0); +assert.eqI32(instance.exports.i32ShrU(1, 2), 0); +assert.eqI32(instance.exports.i32ShrU(0xf, 2), 0x3); +assert.eqI32(instance.exports.i32ShrU(0xf0000000, 1), 0x78000000); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/stack-overflow.js b/implementation-contributed/javascriptcore/wasm/function-tests/stack-overflow.js new file mode 100644 index 0000000000..cfbb5eed46 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/stack-overflow.js @@ -0,0 +1,221 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +{ + function makeInstance() { + const tableDescription = {initial: 1, element: "anyfunc"}; + const builder = new Builder() + .Type() + .Func(["i32"], "void") + .End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", 0 /*['i32'] => 'void'*/) + .GetLocal(0) // parameter to call + .GetLocal(0) // call index + .CallIndirect(0, 0) // calling function of type ['i32'] => 'i32' + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table(tableDescription); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; + } + + const {instance: i1, table: t1} = makeInstance(); + const {instance: i2, table: t2} = makeInstance(); + t2.set(0, i1.exports.foo); + t1.set(0, i2.exports.foo); + + function assertOverflows(instance) { + let stack; + try { + instance.exports.foo(0) + } catch(e) { + stack = e.stack; + } + stack = stack.split("\n"); + assert.truthy(stack.length > 50); + for (let i = 0; i < 50; ++i) { + let item = stack[stack.length - i - 1]; + assert.eq(item, '.wasm-function[0]@[wasm code]'); + } + } + assertOverflows(i1); + assertOverflows(i2); + +} + +{ + function makeInstance() { + const tableDescription = {initial: 1, element: "anyfunc"}; + const builder = new Builder() + .Type() + .Func([], "void") + .End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params:["i32"], ret:"void"}) + .GetLocal(0) // parameter to call + .GetLocal(0) // call index + .CallIndirect(0, 0) // calling function of type [] => 'void' + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table(tableDescription); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; + } + + function makeInstance2(f) { + const builder = new Builder() + .Type() + .End() + .Import() + .Function("imp", "f", {params:['i32'], ret:"void"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: [], ret: "void" }) + .I32Const(0) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, {imp: {f}}); + } + + const {instance: i1, table: t1} = makeInstance(); + const foo = i1.exports.foo; + const i2 = makeInstance2(i1.exports.foo); + t1.set(0, i2.exports.foo); + + function assertThrows(instance) { + let stack; + try { + instance.exports.foo(); + } catch(e) { + stack = e.stack; + } + assert.truthy(stack); + + stack = stack.split("\n"); + assert.truthy(stack.length > 50); + const one = '.wasm-function[1]@[wasm code]'; + const zero = '.wasm-function[0]@[wasm code]'; + let currentIndex = (one === stack[stack.length - 1]) ? 1 : 0; + for (let i = 0; i < 50; ++i) { + let item = stack[stack.length - 1 - i]; + if (currentIndex === 1) { + assert.eq(item, one); + currentIndex = 0; + } else { + assert.eq(currentIndex, 0); + assert.eq(item, zero); + currentIndex = 1; + } + } + } + + for (let i = 0; i < 20; ++i) { + assertThrows(i2); + assertThrows(i1); + } + + for (let i = 0; i < 20; ++i) { + assertThrows(i1); + assertThrows(i2); + } +} + +{ + function test(numArgs) { + function makeSignature() { + let args = []; + for (let i = 0; i < numArgs; ++i) { + args.push("i32"); + } + return {params: args}; + } + function makeInstance(f) { + let builder = new Builder() + .Type() + .Func([], "void") + .End() + .Import() + .Function("imp", "f", makeSignature()) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params:[], ret:"void"}); + for (let i = 0; i < numArgs; ++i) { + builder = builder.I32Const(i); + } + + builder = builder.Call(0).Return().End().End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, {imp: {f}}); + } + + function f(...args) { + assert.eq(args.length, numArgs); + for (let i = 0; i < args.length; ++i) + assert.eq(args[i], i); + + instance.exports.foo(); + } + let instance = makeInstance(f); + + let stack; + try { + instance.exports.foo(); + } catch(e) { + stack = e.stack; + } + assert.truthy(stack.split("\n").length > 25); + } + + for (let i = 0; i < 70; ++i) { + let r = Math.random() * 1000 | 0; + test(r); + } + + test(20); + test(20); + test(1000); + test(2); + test(1); + test(0); + test(700); + test(433); + test(42); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/stack-trace.js b/implementation-contributed/javascriptcore/wasm/function-tests/stack-trace.js new file mode 100644 index 0000000000..76e849d2e5 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/stack-trace.js @@ -0,0 +1,53 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "f", { params: [], ret: "void" }) + .End() + .Function().End() + .Export().Function("entry").End() + .Code() + // idx 1 + .Function("entry", {params: []}) + .Call(3) + .End() + // idx 2 + .Function({params: []}) + .Call(4) + .End() + // idx 3 + .Function({params: []}) + .Call(2) + .End() + // idx 4 + .Function({params: []}) + .Call(0) + .End() + .End(); + +let stacktrace; +let imp = () => { + stacktrace = (new Error).stack; +} + + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +let instance = new WebAssembly.Instance(module, {imp: {f: imp}}); +assert.falsy(stacktrace); +for (let i = 0; i < 10000; ++i) { + instance.exports.entry(); + assert.truthy(stacktrace); + stacktrace = stacktrace.split("\n"); + assert.truthy(stacktrace[0].indexOf("imp") !== -1); // the arrow function import named "imp". + assert.eq(stacktrace[1], "wasm-stub@[wasm code]"); // the wasm->js stub + assert.eq(stacktrace[2], ".wasm-function[4]@[wasm code]"); + assert.eq(stacktrace[3], ".wasm-function[2]@[wasm code]"); + assert.eq(stacktrace[4], ".wasm-function[3]@[wasm code]"); + assert.eq(stacktrace[5], ".wasm-function[1]@[wasm code]"); + assert.eq(stacktrace[6], "wasm-stub@[wasm code]"); // wasm entry + + stacktrace = null; +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/struct.js b/implementation-contributed/javascriptcore/wasm/function-tests/struct.js new file mode 100644 index 0000000000..cc5e21fd95 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/struct.js @@ -0,0 +1,28 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + +builder.Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export() + .Function("callFunc") + .End() + .Code() + .Function("callFunc", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(0) + .If("void", b => { + return b.GetLocal(0) + .GetLocal(1) + .I32Load(0, 4) + .I32Sub() + .Return() + }) + .I32Const(42) + .Return() + .End() + .End(); +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/table-basic-2.js b/implementation-contributed/javascriptcore/wasm/function-tests/table-basic-2.js new file mode 100644 index 0000000000..27361f4939 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/table-basic-2.js @@ -0,0 +1,57 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +function makeInstance(func) { + const builder = new Builder() + .Type() + .Func(["i32", "i32"], "i32") + .Func(["i32"], "i32") + .End() + .Import() + .Table("imp", "table", {initial: 20, element: "anyfunc"}) + .Function("imp", "func", { params: ["i32"], ret: "i32" }) + .End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", 0 /*['i32', 'i32'] => 'i32'*/) + .GetLocal(1) // parameter to call + .GetLocal(0) // call index + .CallIndirect(1, 0) // calling function of type ['i32'] => 'i32' + .Return() + .End() + .Function("bar", 1 /*['i32'] => 'i32'*/) + .GetLocal(0) + .Call(0) + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table({initial: 20, element: "anyfunc"}); + return {instance: new WebAssembly.Instance(module, {imp: {table, func}}), table}; +} + +{ + let i; + function func(x) { + if (x !== i) + throw new Error("Bad argument"); + return x + 44; + } + const {instance, table} = makeInstance(func); + const exports = instance.exports; + const foo = exports.foo; + table.set(0, exports.bar); + assert.eq(table.get(0), exports.bar); + + for (i = 0; i < 10000; i++) { + if (foo(0, i) !== i + 44) + throw new Error("Bad call indirect"); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/table-basic.js b/implementation-contributed/javascriptcore/wasm/function-tests/table-basic.js new file mode 100644 index 0000000000..0ff3b47664 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/table-basic.js @@ -0,0 +1,58 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +function makeInstance() { + const builder = new Builder() + .Type() + .Func(["i32", "i32"], "i32") + .Func(["i32"], "i32") + .End() + .Import() + .Table("imp", "table", {initial: 20, element: "anyfunc"}) + .End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", 0 /*['i32', 'i32'] => 'i32'*/) + .GetLocal(1) // parameter to call + .GetLocal(0) // call index + .CallIndirect(1, 0) // calling function of type ['i32'] => 'i32' + .Return() + .End() + .Function("bar", 1 /*['i32'] => 'i32'*/) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const table = new WebAssembly.Table({initial: 20, element: "anyfunc"}); + return {instance: new WebAssembly.Instance(module, {imp: {table}}), table}; +} + +{ + const {instance, table} = makeInstance(); + const exports = instance.exports; + const foo = exports.foo; + table.set(0, exports.bar); + assert.eq(table.get(0), exports.bar); + + for (let i = 0; i < 1000; i++) + assert.eq(foo(0, i), i + 42, "call_indirect"); +} + +{ + const {instance, table} = makeInstance(); + const foo = instance.exports.foo; + table.set(0, makeInstance().instance.exports.bar); // Cross instance function. + + for (let i = 0; i < 1000; i++) + assert.eq(foo(0, i), i + 42, "call_indirect"); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-after-cross-instance-call.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-after-cross-instance-call.js new file mode 100644 index 0000000000..196334582a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-after-cross-instance-call.js @@ -0,0 +1,64 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const pageSize = 64 * 1024; +const numPages = 10; + +const builder = (new Builder()) + .Type().End() + .Import() + .Memory("a", "b", {initial: numPages}) + .Function("foo", "bar", { params: [], ret: "void" }) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .Call(0) + .GetLocal(0) + .I32Load(2, 0) + .Return() + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); + +let importObject = {a: {b: new WebAssembly.Memory({initial: numPages})}}; + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("a", "b", {initial: numPages}) + .End() + .Function().End() + .Export().Function("bar").End() + .Code() + .Function("bar", { params: [], ret: "void" }) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + + importObject.foo = new WebAssembly.Instance(module, {a: {b: new WebAssembly.Memory({initial: numPages})}}).exports +} + +let foo1 = new WebAssembly.Instance(module, importObject).exports.foo; +importObject.foo = { bar() { } }; +let foo2 = new WebAssembly.Instance(module, importObject).exports.foo; + + +function wasmFrameCountFromError(e) { + let stackFrames = e.stack.split("\n").filter((s) => s.indexOf("wasm-") !== -1); + return stackFrames.length; +} + +for (let i = 0; i < 1000; i++) { + const e1 = assert.throws(() => foo1(numPages * pageSize + 1), WebAssembly.RuntimeError, "Out of bounds memory access"); + assert.eq(wasmFrameCountFromError(e1), 2); + const e2 = assert.throws(() => foo2(numPages * pageSize + 1), WebAssembly.RuntimeError, "Out of bounds memory access"); + assert.eq(wasmFrameCountFromError(e2), 2); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start-async.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start-async.js new file mode 100644 index 0000000000..83c7f8921a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start-async.js @@ -0,0 +1,83 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const memoryInfo = { initial: 2 }; +const tableInfo = { element: "anyfunc", initial: 8 }; + +async function StartTrapsAsync() { + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryInfo) + .Table("imp", "table", tableInfo) + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Start("startMeUp").End() + .Element() + .Element({ offset: 4, functionIndices: [0, 1] }) + .End() + .Code() + .Function("startMeUp", { params: [] }) + .I32Const(0).I32Load(2, 0).I32Const(0xfeedface).I32Store(2, 0) + .I32Const(4).I32Load(2, 0).I32Const(0xc0fec0fe).I32Store(2, 0) // This will trap. + // This is unreachable: + .I32Const(42).Call(0) // Calls func(42). + .End() + .End() + .Data() + .Segment([0xef, 0xbe, 0xad, 0xde]).Offset(1024).End() + .End(); + + const memory = new WebAssembly.Memory(memoryInfo); + const buffer = new Uint32Array(memory.buffer); + + const table = new WebAssembly.Table(tableInfo); + + // The instance will use these as addresses for stores. + buffer[0] = 128; + buffer[1] = 0xc0defefe; // This is out of bounds. + + // This function shouldn't get called because the trap occurs before the call. + let value = 0; + const func = v => value = v; + + const module = new WebAssembly.Module(builder.WebAssembly().get()); + const imp = { imp: { memory, table, func } }; + + const promise = WebAssembly.instantiate(module, imp); + await assert.throwsAsync(promise, WebAssembly.RuntimeError, `Out of bounds memory access`); + + assert.eq(value, 0); + + for (let i = 0; i < buffer.length; ++i) { + switch (i) { + case 0: assert.eq(buffer[i], 128); break; // Initial ArrayBuffer store. + case 1: assert.eq(buffer[i], 0xc0defefe); break; // Initial ArrayBuffer store. + case 32: assert.eq(buffer[i], 0xfeedface); break; // First store from start function. + case 256: assert.eq(buffer[i], 0xdeadbeef); break; // Data segment. + default: assert.eq(buffer[i], 0); break; // The rest. + } + } + + for (let i = 0; i < table.length; ++i) { + switch (i) { + case 4: assert.isFunction(table.get(i)); break; + case 5: assert.isFunction(table.get(i)); break; + default: assert.eq(table.get(i), null); break; + } + } + + // Call the imported `func`. + table.get(4)(0xf00f); + assert.eq(value, 0xf00f); + value = 0; + + // Call the start function again on the instance. The instance is otherwise inaccessible! + buffer[32] = 0; // Reset the location which will be set by the first store. + assert.throws(() => table.get(5)(), WebAssembly.RuntimeError, `Out of bounds memory access`); + assert.eq(buffer[32], 0xfeedface); // The first store should still succeed. + assert.eq(value, 0); +} + +assert.asyncTest(StartTrapsAsync()); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start.js new file mode 100644 index 0000000000..ea5a0ac716 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-from-start.js @@ -0,0 +1,80 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const memoryInfo = { initial: 2 }; +const tableInfo = { element: "anyfunc", initial: 8 }; + +(function StartTraps() { + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryInfo) + .Table("imp", "table", tableInfo) + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Start("startMeUp").End() + .Element() + .Element({ offset: 4, functionIndices: [0, 1] }) + .End() + .Code() + .Function("startMeUp", { params: [] }) + .I32Const(0).I32Load(2, 0).I32Const(0xfeedface).I32Store(2, 0) + .I32Const(4).I32Load(2, 0).I32Const(0xc0fec0fe).I32Store(2, 0) // This will trap. + // This is unreachable: + .I32Const(42).Call(0) // Calls func(42). + .End() + .End() + .Data() + .Segment([0xef, 0xbe, 0xad, 0xde]).Offset(1024).End() + .End(); + + const memory = new WebAssembly.Memory(memoryInfo); + const buffer = new Uint32Array(memory.buffer); + + const table = new WebAssembly.Table(tableInfo); + + // The instance will use these as addresses for stores. + buffer[0] = 128; + buffer[1] = 0xc0defefe; // This is out of bounds. + + // This function shouldn't get called because the trap occurs before the call. + let value = 0; + const func = v => value = v; + + const module = new WebAssembly.Module(builder.WebAssembly().get()); + const imp = { imp: { memory, table, func } }; + + assert.throws(() => new WebAssembly.Instance(module, imp), WebAssembly.RuntimeError, `Out of bounds memory access`); + + assert.eq(value, 0); + + for (let i = 0; i < buffer.length; ++i) { + switch (i) { + case 0: assert.eq(buffer[i], 128); break; // Initial ArrayBuffer store. + case 1: assert.eq(buffer[i], 0xc0defefe); break; // Initial ArrayBuffer store. + case 32: assert.eq(buffer[i], 0xfeedface); break; // First store from start function. + case 256: assert.eq(buffer[i], 0xdeadbeef); break; // Data segment. + default: assert.eq(buffer[i], 0); break; // The rest. + } + } + + for (let i = 0; i < table.length; ++i) { + switch (i) { + case 4: assert.isFunction(table.get(i)); break; + case 5: assert.isFunction(table.get(i)); break; + default: assert.eq(table.get(i), null); break; + } + } + + // Call the imported `func`. + table.get(4)(0xf00f); + assert.eq(value, 0xf00f); + value = 0; + + // Call the start function again on the instance. The instance is otherwise inaccessible! + buffer[32] = 0; // Reset the location which will be set by the first store. + assert.throws(() => table.get(5)(), WebAssembly.RuntimeError, `Out of bounds memory access`); + assert.eq(buffer[32], 0xfeedface); // The first store should still succeed. + assert.eq(value, 0); +})(); diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-load-2.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-load-2.js new file mode 100644 index 0000000000..a6a8973a9b --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-load-2.js @@ -0,0 +1,75 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const pageSize = 64 * 1024; +const numPages = 10; + +const builder = (new Builder()) + .Type().End() + .Import() + .Memory("a", "b", {initial: numPages}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Load(2, 0) + .Return() + .End() + .End(); + +function wasmFrameCountFromError(e) { + let stackFrames = e.stack.split("\n").filter((s) => s.indexOf("wasm-") !== -1); + return stackFrames.length; +} + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: numPages}) + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32", "i32"]}) + .GetLocal(0) + .I32Const(0) + .I32Eq() + .If("void", b => + b.GetLocal(1) + .GetLocal(1) + .I32Load(2, 0) + .Br(0) + .Else() + .GetLocal(0) + .Call(0) + .Br(0) + ) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const imp = { + imp: { + mem: new WebAssembly.Memory({initial: numPages}), + func: continuation + } + }; + const foo = new WebAssembly.Instance(module, imp).exports.foo; + const address = numPages*pageSize + 1; + function continuation(x) { + foo(x - 1, address); + } + + for (let i = 0; i < 5000; i++) { + const e = assert.throws(() => foo(5, address), WebAssembly.RuntimeError, "Out of bounds memory access (evaluating 'foo(x - 1, address)')"); + // There are 5 total calls, and each call does: + // JS entry, wasm entry, js call stub. + // The last call that traps just has JS entry and wasm entry. + assert.eq(wasmFrameCountFromError(e), 5 * 3 + 2); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-load.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-load.js new file mode 100644 index 0000000000..7cf0e980aa --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-load.js @@ -0,0 +1,34 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const pageSize = 64 * 1024; +const numPages = 10; + +const builder = (new Builder()) + .Type().End() + .Import() + .Memory("a", "b", {initial: numPages}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Load(2, 0) + .Return() + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const foo = new WebAssembly.Instance(module, {a: {b: new WebAssembly.Memory({initial: numPages})}}).exports.foo; + +function wasmFrameCountFromError(e) { + let stackFrames = e.stack.split("\n").filter((s) => s.indexOf("wasm-") !== -1); + return stackFrames.length; +} + +for (let i = 0; i < 1000; i++) { + const e = assert.throws(() => foo(numPages * pageSize + 1), WebAssembly.RuntimeError, "Out of bounds memory access"); + assert.eq(wasmFrameCountFromError(e), 2); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-store-2.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-store-2.js new file mode 100644 index 0000000000..cc550d7774 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-store-2.js @@ -0,0 +1,50 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const pageSize = 64 * 1024; +const numPages = 10; + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "mem", {initial: numPages}) + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32", "i32"]}) + .GetLocal(0) + .I32Const(0) + .I32Eq() + .If("void", b => + b.GetLocal(1) + .GetLocal(0) + .I32Store(2, 0) + .Br(0) + .Else() + .GetLocal(0) + .Call(0) + .Br(0) + ) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const imp = { + imp: { + mem: new WebAssembly.Memory({initial: numPages}), + func: continuation + } + }; + const foo = new WebAssembly.Instance(module, imp).exports.foo; + const address = numPages*pageSize + 1; + function continuation(x) { + foo(x - 1, address); + } + + for (let i = 0; i < 5000; i++) + assert.throws(() => foo(6, address), WebAssembly.RuntimeError, "Out of bounds memory access"); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/trap-store.js b/implementation-contributed/javascriptcore/wasm/function-tests/trap-store.js new file mode 100644 index 0000000000..365713a305 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/trap-store.js @@ -0,0 +1,29 @@ +import Builder from '../Builder.js' +import * as assert from '../assert.js' + +const pageSize = 64 * 1024; +const numPages = 10; + +{ + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("a", "b", {initial: numPages}) + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", {params: ["i32", "i32"]}) + .GetLocal(1) + .GetLocal(0) + .I32Store(2, 0) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const foo = new WebAssembly.Instance(module, {a: {b: new WebAssembly.Memory({initial: numPages})}}).exports.foo; + + for (let i = 0; i < 10000; i++) + assert.throws(() => foo(i, numPages * pageSize + 1), WebAssembly.RuntimeError, "Out of bounds memory access"); +} diff --git a/implementation-contributed/javascriptcore/wasm/function-tests/void-argument-type-should-be-a-validation-error.js b/implementation-contributed/javascriptcore/wasm/function-tests/void-argument-type-should-be-a-validation-error.js new file mode 100644 index 0000000000..47149b1d7f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/function-tests/void-argument-type-should-be-a-validation-error.js @@ -0,0 +1,22 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +function getBinary(params) { + const builder = (new Builder()) + builder.Type().End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export() + .Function("callFunc") + .End() + .Code() + .Function("callFunc", { params, ret: "void" }) + .Return() + .End() + .End(); + return builder.WebAssembly().get(); +} + +assert.throws(() => new WebAssembly.Module(getBinary(["i32", "void"])), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 15 / 47: can't get 1th argument Type"); +assert.throws(() => new WebAssembly.Module(getBinary(["void"])), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 14 / 46: can't get 0th argument Type"); +assert.throws(() => new WebAssembly.Module(getBinary(["i32", "void", "i32"])), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 15 / 48: can't get 1th argument Type"); diff --git a/implementation-contributed/javascriptcore/wasm/fuzz/export-function.js b/implementation-contributed/javascriptcore/wasm/fuzz/export-function.js new file mode 100644 index 0000000000..e4e286d88f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/fuzz/export-function.js @@ -0,0 +1,80 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const numRandomIterations = 128; + +// Generate wasm export functions of arity [0, max), using each valid +// WebAssembly type as parameters. Make sure this number is high enough to force +// non-register calls. +const maxArities = 64; + +// Calls a "check" function for each parameter received. +const paramExporter = (params, returnedParam, imports) => { + const ret = params.length ? params[returnedParam] : "void"; + let builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "checki32", { params: ["i32"] }) + .Function("imp", "checkf32", { params: ["f32"] }) + .Function("imp", "checkf64", { params: ["f64"] }) + .End() + .Function().End() + .Export() + .Function("func") + .End() + .Code() + .Function("func", { params: params, ret: ret }); + for (let i = 0; i < params.length; ++i) { + builder = builder.GetLocal(i); + switch (params[i]) { + case "i32": builder = builder.Call(0); break; + case "f32": builder = builder.Call(1); break; + case "f64": builder = builder.Call(2); break; + default: throw new Error(`Unexpected type`); + } + } + if (ret !== "void") + builder = builder.GetLocal(returnedParam); + builder = builder.Return().End().End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, { imp: imports }); +}; + +var buffer = new ArrayBuffer(8); +var viewi16 = new Int16Array(buffer); +var viewi32 = new Int32Array(buffer); +var viewf32 = new Float32Array(buffer); +var viewf64 = new Float64Array(buffer); +const random16 = () => (Math.random() * (1 + 0xffff)) | 0; +const setBuffer = () => { + for (let i = 0; i < 4; ++i) + viewi16[i] = random16(); +}; +const types = [ + { type: "i32", generate: () => { setBuffer(); return viewi32[0]; } }, + // i64 isn't supported. + { type: "f32", generate: () => { setBuffer(); return viewf32[0]; } }, + { type: "f64", generate: () => { setBuffer(); return viewf64[0]; } }, +]; + +for (let iteration = 0; iteration < numRandomIterations; ++iteration) { + const arity = (Math.random() * (maxArities + 1)) | 0; + let params = []; + let args = []; + for (let a = 0; a < arity; ++a) { + const type =( Math.random() * types.length) | 0; + params.push(types[type].type); + args.push(types[type].generate()); + } + let numChecked = 0; + const imports = { + checki32: v => assert.eq(v, args[numChecked++]), + checkf32: v => assert.eq(v, args[numChecked++]), + checkf64: v => assert.eq(v, args[numChecked++]), + }; + const returnedParam = (Math.random() * params.length) | 0; + const instance = paramExporter(params, returnedParam, imports); + const result = instance.exports.func(...args); + assert.eq(result, args.length ? args[returnedParam] : undefined); +} diff --git a/implementation-contributed/javascriptcore/wasm/fuzz/memory.js b/implementation-contributed/javascriptcore/wasm/fuzz/memory.js new file mode 100644 index 0000000000..c5db2e9f87 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/fuzz/memory.js @@ -0,0 +1,301 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +// FIXME: add the following: https://bugs.webkit.org/show_bug.cgi?id=171936 +// - add set() and shadow memory, this requires tracking when memory is shared +// - Support: empty, exported +// - Imported memory created through the JS API (both before and after instantiation, to cause recompilation) +// - recursive calls (randomly call other instance's exports, potentially exhausting stack) +// - Simplify code by allowing .Code().ExportFunction(...) in builder + +const tune = { + numRandomIterations: 64, + numRandomInvokes: 4, + maxInitial: 8, + maxMax: 8, + maxGrow: 8, + memoryGetCount: 1024, +}; + +const pageSize = 64 * 1024; // As determined by the WebAssembly specification. + +let logString = ""; +let log = what => logString += '\n' + what; + +let instances = []; + +const insert = (builder, importObject = undefined) => { + const location = (Math.random() * instances.length) | 0; + instances.splice(location, 0, new WebAssembly.Instance(new WebAssembly.Module(builder.WebAssembly().get()), importObject)); +} +const initialMaxObject = hasMax => { + const initial = (Math.random() * tune.maxInitial) | 0; + if (!hasMax) + return { initial: initial, max: undefined }; + const max = initial + ((Math.random() * tune.maxMax) | 0); + return { initial: initial, max: max }; +}; +const initialMaxObjectFrom = instance => { + const hasMax = instance.exports["max"] !== undefined; + const initial = (Math.random() * instance.exports.initial()) | 0; + if (!hasMax) + return { initial: initial }; + const max = Math.max(initial, instance.exports.max()) + ((Math.random() * tune.maxMax) | 0); + return { initial: initial, max: max }; +}; + +const action = { + '- delete': () => { + for (let count = 1 + (Math.random() * instances.length) | 0; instances.length && count; --count) { + const which = (Math.random() * instances.length) | 0; + log(` delete ${which} / ${instances.length}`); + instances.splice(which, 1); + } + }, + '^ invoke': () => { + if (!instances.length) { + log(` nothing to invoke`); + return; + } + for (let iterations = 0; iterations < tune.numRandomInvokes; ++iterations) { + const whichInstance = (Math.random() * instances.length) | 0; + const instance = instances[whichInstance]; + const whichExport = (Math.random() * Object.keys(instance.exports).length) | 0; + log(` instances[${whichInstance}].${Object.keys(instance.exports)[whichExport]}()`); + switch (Object.keys(instance.exports)[whichExport]) { + default: + throw new Error(`Implementation problem for key '${Object.keys(instance.exports)[whichExport]}'`); + case 'func': + assert.eq(instance.exports.func(), 42); + break; + case 'throws': { + let threw = false; + let address = 0; + if (instance.exports["current"]) { + // The instance has a memory. + const current = instance.exports.current(); + const max = instance.exports["max"] ? instance.exports.max() : (1 << 15); + address = pageSize * (current + ((Math.random() * (max - current)) | 0)); + } + // No memory in this instance. + try { instance.exports.throws(address); } + catch (e) { threw = true; } + assert.truthy(threw); + } break; + case 'get': { + const current = instance.exports.current(); + for (let access = tune.memoryGetCount; current && access; --access) { + const address = (Math.random() * (current * pageSize - 4)) | 0; + assert.eq(instance.exports.get(address), 0); + } + } break; + case 'current': + assert.le(instance.exports.initial(), instance.exports.current()); + break; + case 'initial': + assert.le(0, instance.exports.initial()); + break; + case 'max': + assert.le(instance.exports.initial(), instance.exports.max()); + assert.le(instance.exports.current(), instance.exports.max()); + break; + case 'memory': { + const current = instance.exports.current(); + const buffer = new Uint32Array(instance.exports.memory.buffer); + assert.eq(buffer.byteLength, current * pageSize); + for (let access = tune.memoryGetCount; current && access; --access) { + const address = (Math.random() * (current * pageSize - 4)) | 0; + assert.eq(instance.exports.get(address), 0); + } + } break; + case 'grow': { + const current = instance.exports.current(); + const by = (Math.random() * tune.maxGrow) | 0; + const hasMax = instance.exports["max"] !== undefined; + const result = instance.exports.grow(current + by); + log(` Grow from ${current} (max ${hasMax ? instance.exports.max() : "none"}) to ${current + by} returned ${result}, current now ${instance.exports.current()}`); + assert.le(current, instance.exports.current()); + if (result === -1) + assert.eq(current, instance.exports.current()); + if (hasMax) + assert.le(instance.exports.current(), instance.exports.max()); + } break; + } + } + }, + '+ memory: none': () => { + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export().Function("func").Function("throws").End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).Unreachable().Return().End() + .End(); + insert(builder); + }, + '+ memory: empty, section': () => { + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(0, 0).End() + .Export().Function("func").Function("throws").Function("current").Function("initial").Function("grow").Function("max").End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(0).Return().End() + .Function("max", { params: [], ret: "i32" }).I32Const(0).Return().End() + .End(); + insert(builder); + }, + '+ memory: section': () => { + const initialMax = initialMaxObject(false); + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(initialMax.initial, initialMax.max).End() + .Export().Function("func").Function("throws").Function("get").Function("current").Function("initial").Function("grow").End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(initialMax.initial).Return().End() + .End(); + insert(builder); + }, + '+ memory: section, max': () => { + const initialMax = initialMaxObject(true); + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(initialMax.initial, initialMax.max).End() + .Export().Function("func").Function("throws").Function("get").Function("current").Function("initial").Function("grow").Function("max").End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(initialMax.initial).Return().End() + .Function("max", { params: [], ret: "i32" }).I32Const(initialMax.max).Return().End() + .End(); + insert(builder); + }, + '+ memory: section, exported': () => { + const initialMax = initialMaxObject(false); + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(initialMax.initial, initialMax.max).End() + .Export() + .Function("func").Function("throws").Function("get").Function("current").Function("initial") + .Memory("memory", 0) + .End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(initialMax.initial).Return().End() + .End(); + insert(builder); + }, + '+ memory: section, exported, max': () => { + const initialMax = initialMaxObject(true); + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(initialMax.initial, initialMax.max).End() + .Export() + .Function("func").Function("throws").Function("get").Function("current").Function("initial").Function("grow").Function("max") + .Memory("memory", 0) + .End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(initialMax.initial).Return().End() + .Function("max", { params: [], ret: "i32" }).I32Const(initialMax.max).Return().End() + .End(); + insert(builder); + }, + '+ memory: imported, exported': () => { + let importFrom; + for (let idx = 0; idx < instances.length; ++idx) + if (instances[idx].exports.memory) { + importFrom = instances[idx]; + break; + } + if (!importFrom) + return; // No memory could be imported. + const initialMax = initialMaxObjectFrom(importFrom); + if (importFrom.exports["max"] === undefined) { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", initialMax).End() + .Function().End() + .Export() + .Function("func").Function("throws").Function("get").Function("current").Function("initial") + .Memory("memory", 0) + .End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(initialMax.initial).Return().End() + .End(); + insert(builder, { imp: { memory: importFrom.exports.memory } }); + } else { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", initialMax).End() + .Function().End() + .Export() + .Function("func").Function("throws").Function("get").Function("current").Function("initial").Function("grow").Function("max") + .Memory("memory", 0) + .End() + .Code() + .Function("func", { params: [], ret: "i32" }).I32Const(42).Return().End() + .Function("throws", { params: ["i32"] }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("get", { params: ["i32"], ret: "i32" }).GetLocal(0).I32Load(2, 0).Return().End() + .Function("current", { params: [], ret: "i32" }).CurrentMemory(0).Return().End() + .Function("grow", { params: ["i32"], ret: "i32" }).GetLocal(0).GrowMemory(0).Return().End() + .Function("initial", { params: [], ret: "i32" }).I32Const(initialMax.initial).Return().End() + .Function("max", { params: [], ret: "i32" }).I32Const(initialMax.max).Return().End() + .End(); + insert(builder, { imp: { memory: importFrom.exports.memory } }); + } + }, +}; +const numActions = Object.keys(action).length; +const performAction = () => { + const which = (Math.random() * numActions) | 0; + const key = Object.keys(action)[which]; + log(`${key}:`); + action[key](); +}; + +try { + for (let iteration = 0; iteration < tune.numRandomIterations; ++iteration) + performAction(); + log(`Finalizing:`); + // Finish by deleting the instances in a random order. + while (instances.length) + action["- delete"](); +} catch (e) { + // Ignore OOM while fuzzing. It can just happen. + if (e.message !== "Out of memory") { + print(`Failed: ${e}`); + print(logString); + throw e; + } +} diff --git a/implementation-contributed/javascriptcore/wasm/import-spec-tests.rb b/implementation-contributed/javascriptcore/wasm/import-spec-tests.rb new file mode 100755 index 0000000000..ac55ad0c4f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/import-spec-tests.rb @@ -0,0 +1,93 @@ +#!/usr/bin/env ruby + +# Copyright (C) 2016 Apple Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY +# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +require 'fileutils' +require 'getoptlong' +require 'pathname' +require 'rbconfig' +require 'open3' + +THIS_SCRIPT_PATH = Pathname.new(__FILE__).realpath +WASM_PATH = THIS_SCRIPT_PATH.dirname +raise unless WASM_PATH.basename.to_s == "wasm" +raise unless WASM_PATH.dirname.basename.to_s == "JSTests" + +def usage + puts "" + puts "usage:" + puts " import-spec-tests.rb --spec [-v]" + puts "" + puts " the wasm spec's git repo can be found here: https://github.com/WebAssembly/spec" + puts "" + exit 1 +end + +$specDirectory = nil +$verbose = false + +GetoptLong.new(['--spec',GetoptLong::REQUIRED_ARGUMENT], + ['-v', GetoptLong::OPTIONAL_ARGUMENT], + ['--help', GetoptLong::OPTIONAL_ARGUMENT], + ).each { + | opt, arg | + case opt + when '--help' + usage + when '--spec' + $specDirectory = arg + when '-v' + $verbose = true + end +} + +raise unless $specDirectory + +$resultDirectory = File.join(WASM_PATH, "spec-tests") +$harnessDirectory = File.join(WASM_PATH, "spec-harness") + +$specTestDirectory = File.join($specDirectory, "test") + +def removeDir(file) + begin + FileUtils.remove_dir(file) + rescue + puts "No directory: #{file}" if $verbose + end +end + +removeDir($resultDirectory) +removeDir($harnessDirectory) + +FileUtils.mkdir($resultDirectory) +FileUtils.cp_r(File.join($specTestDirectory, "harness"), $harnessDirectory) + +$genScript = File.join($specTestDirectory, "build.py") +stdout, stderr, status = Open3.capture3("#{$genScript} --js #{$resultDirectory}") +if stderr != "" + puts "failed to generate tests" + puts "The error is:\n--------------\n #{stderr}\n--------------\n" if $verbose +end +puts stdout if $verbose + diff --git a/implementation-contributed/javascriptcore/wasm/js-api/Instance.imports.exports.unicode.js b/implementation-contributed/javascriptcore/wasm/js-api/Instance.imports.exports.unicode.js new file mode 100644 index 0000000000..e86c209ecd --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/Instance.imports.exports.unicode.js @@ -0,0 +1,96 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +// Interesting Unicode corner cases. + +const names = [ + "", // Empty string. + "\u0000", // NUL + "␀", // SYMBOL FOR NUL + "\ufeff", // BYTE ORDER MARK + "\ufffc", // OBJECT REPLACEMENT CHARACTER + "�", // REPLACEMENT CHARACTER in case anything gets substituted this would be a duplicate, which WebAssembly disallows. + "\ufffe", // NONCHARACTER-FFFE + "\uffff", // NONCHARACTER-FFFF + "\u200e", // LEFT-TO-RIGHT MARK + "\u200f", // RIGHT-TO-LEFT MARK + "\u202a", // LEFT-TO-RIGHT EMBEDDING + "\u202b", // RIGHT-TO-LEFT EMBEDDING + "\u202d", // LEFT-TO-RIGHT OVERRIDE + "\u202e", // RIGHT-TO-LEFT OVERRIDE + "\u202c", // POP DIRECTIONAL FORMATTING + "🇨🇦", // REGIONAL INDICATOR SYMBOL LETTER C + REGIONAL INDICATOR SYMBOL LETTER A + "🈹", // PLAYING CARD BLACK JOKER + "👨‍❤️‍💋‍👨", // Combine a bunch of emoji + + // Duplicate entries are invalid, so normalization would cause issues. We want to catch those issues. + "한글", + "한글", // Normalized version of the above. + "Å", // LATIN CAPITAL LETTER A WITH RING ABOVE + "Å", // ANGSTROM SIGN + "Å", // LATIN CAPITAL LETTER A + COMBINING RING ABOVE + "À", // LATIN CAPITAL LETTER A + COMBINING GRAVE ACCENT + "À", // LATIN CAPITAL LETTER A WITH GRAVE + "ą̂́", // LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE + COMBINING OGONEK + "ą̂́", // LATIN SMALL LETTER A WITH OGONEK + COMBINING CIRCUMFLEX ACCENT + COMBINING ACUTE ACCENT + "Q̣̀", // LATIN CAPITAL LETTER Q + COMBINING GRAVE ACCENT + COMBINING DOT BELOW + "Q̣̀", // LATIN CAPITAL LETTER + COMBINING DOT BELOW + COMBINING GRAVE ACCENT + + // Combine way too many things: + + + + "Ĵ̸̨̛͙̙̱̯̺̖͔͎̣͓̬͉͓͙͔͈̥̖͎ͯ́̂͆̓̂̑ͥͧͤ͋̔ͥà̷̛̤̻̦͓͓̖̪̟͓͂ͫ̅ͦͦ̈̄̉̅̾̊̽͑ͬ̚͟͠v̡͙͕̟͎̰͆̿ͩ͗ͩ̀ͧ͂͆̾́͑ͦͭ̽ͦ̀͘a̧̻͖͓̗̻̩͌ͮ͗̈́͊̊̑̉̚̕S̡͖̱͈͚͉̩̺͎ͪͧ́͒̔̿̈ͫͥ̇ͦ̏͐̃ͭ́ͭ͢͝ç̧͎̮̤̙̗̻̯͖̮̙̰̞ͫ̽ͤ̓̊̇͆̀ͫ͂̒͐ͬ̇͂̉͒ͫ̚͘͞ͅṙ̷͓̹͈̮̪͔͓̫̓͛̅̑̉̏͂ͣ́̏͋́̓̚ͅȉͪͩ̍̽ͣ̊ͮ̚͞͏̴̵̯̹̠͖͈̠͎̦̀p͙̝̗̥̻̯̰͚̫̏̏ͯ͐ͧ͋̊̃̈̈́͢t̷͍͎̻̩̠̬̙̦̰͓̩̗̝̱̣̓̐ͫ̀̋̓͝", + + + + +]; + +// WebAssembly import objects have a two-level namespace with module and field. Both must be UTF-8. +let importObject = {}; +for (let idxModule = 0; idxModule < names.length; ++idxModule) { + assert.falsy(importObject.hasOwnProperty(names[idxModule])); + importObject[names[idxModule]] = {}; + for (let idxField = 0; idxField < names.length; ++idxField) { + assert.falsy(importObject[names[idxModule]].hasOwnProperty(names[idxField])); + importObject[names[idxModule]][names[idxField]] = () => 10000 * idxModule + idxField; + } +} + +let b = (new Builder()) + .Type().End(); + +b = b.Import(); +for (let idxModule = 0; idxModule < names.length; ++idxModule) + for (let idxField = 0; idxField < names.length; ++idxField) + b = b.Function(names[idxModule], names[idxField], { params: [], ret: "i32" }); +b = b.End(); + +b = b.Function().End(); + +b = b.Export(); +for (let idx = 0; idx < names.length; ++idx) + b = b.Function(names[idx]); +b = b.End(); + +b = b.Code(); +for (let idx = 0; idx < names.length; ++idx) + b = b.Function(names[idx], { params: [], ret: "i32" }).I32Const(idx).Return().End(); +b = b.End(); + +const module = new WebAssembly.Module(b.WebAssembly().get()); + +for (let idxModule = 0; idxModule < names.length; ++idxModule) + for (let idxField = 0; idxField < names.length; ++idxField) { + assert.eq(WebAssembly.Module.imports(module)[idxModule * names.length + idxField].module, names[idxModule]); + assert.eq(WebAssembly.Module.imports(module)[idxModule * names.length + idxField].name, names[idxField]); + } + +for (let idx = 0; idx < names.length; ++idx) + assert.eq(WebAssembly.Module.exports(module)[idx].name, names[idx]); + +const instance = new WebAssembly.Instance(module, importObject); + +for (let idx = 0; idx < names.length; ++idx) + assert.eq(instance.exports[names[idx]](), idx); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/Module-compile.js b/implementation-contributed/javascriptcore/wasm/js-api/Module-compile.js new file mode 100644 index 0000000000..d3beb33257 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/Module-compile.js @@ -0,0 +1,60 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +assert.isFunction(WebAssembly.compile); +assert.isFunction(WebAssembly.__proto__.compile); +assert.eq(WebAssembly.compile.length, 1); + +async function testPromiseAPI() { + { + // Can't declare more than one memory. + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .End(); + + try { + await WebAssembly.compile(builder.WebAssembly().get()); + } catch(e) { + assert.truthy(e instanceof WebAssembly.CompileError); + assert.truthy(e.message === "WebAssembly.Module doesn't parse at byte 34 / 43: there can at most be one Memory section for now"); + } + } + + { + try { + await WebAssembly.compile(); + } catch(e) { + assert.truthy(e instanceof TypeError); + assert.eq(e.message, "first argument must be an ArrayBufferView or an ArrayBuffer (evaluating 'WebAssembly.compile()')"); + } + } + + { + try { + await WebAssembly.compile(20); + } catch(e) { + assert.truthy(e instanceof TypeError); + assert.eq(e.message, "first argument must be an ArrayBufferView or an ArrayBuffer (evaluating 'WebAssembly.compile(20)')"); + } + } + + { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Export().End() + .Code() + .End(); + + let module = await WebAssembly.compile(builder.WebAssembly().get()); + assert.truthy(module instanceof WebAssembly.Module); + } +} + +assert.asyncTest(testPromiseAPI()); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/Module.customSection.js b/implementation-contributed/javascriptcore/wasm/js-api/Module.customSection.js new file mode 100644 index 0000000000..ccd1a724a9 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/Module.customSection.js @@ -0,0 +1,77 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +assert.throws(() => WebAssembly.Module.customSections(undefined, ""), TypeError, `WebAssembly.Module.customSections called with non WebAssembly.Module argument`); +assert.eq(WebAssembly.Module.customSections.length, 2); + +{ + const empty = new WebAssembly.Module((new Builder()).WebAssembly().get()); + assert.isArray(WebAssembly.Module.customSections(empty, "")); + assert.eq(WebAssembly.Module.customSections(empty, "").length, 0); +} + +{ + const single = new WebAssembly.Module((new Builder()) + .Unknown("hello").Byte(0x00).Byte(0x42).Byte(0xFF).End() + .WebAssembly().get()); + assert.eq(WebAssembly.Module.customSections(single, "").length, 0); + const hello = WebAssembly.Module.customSections(single, "hello"); + assert.eq(hello.length, 1); + assert.eq(hello[0].byteLength, 3); + const helloI8 = new Int8Array(hello[0]); + assert.eq(helloI8[0], 0x00); + assert.eq(helloI8[1], 0x42); + assert.eq(helloI8[2], -1); +} + +{ + const unicode = new WebAssembly.Module((new Builder()) + .Unknown("👨‍❤️‍💋‍👨").Byte(42).End() + .WebAssembly().get()); + const family = WebAssembly.Module.customSections(unicode, "👨‍❤️‍💋‍👨"); + assert.eq(family.length, 1); + assert.eq(family[0].byteLength, 1); + const familyI8 = new Int8Array(family[0]); + assert.eq(familyI8[0], 42); +} + +{ + const many = new WebAssembly.Module((new Builder()) + .Unknown("zero").Byte(0).End() + .Unknown("one").Byte(1).Byte(1).End() + .Unknown("one").Byte(2).Byte(2).Byte(2).End() + .Unknown("two").Byte(3).Byte(3).Byte(3).Byte(3).End() + .Unknown("one").Byte(4).Byte(4).Byte(4).Byte(4).Byte(4).End() + .WebAssembly().get()); + + const zero = WebAssembly.Module.customSections(many, "zero"); + assert.eq(zero.length, 1); + assert.eq(zero[0].byteLength, 1); + const zeroI8 = new Int8Array(zero[0]); + assert.eq(zeroI8[0], 0); + + const two = WebAssembly.Module.customSections(many, "two"); + assert.eq(two.length, 1); + assert.eq(two[0].byteLength, 4); + const twoI8 = new Int8Array(two[0]); + assert.eq(twoI8[0], 3); + assert.eq(twoI8[1], 3); + assert.eq(twoI8[2], 3); + assert.eq(twoI8[3], 3); + + const one = WebAssembly.Module.customSections(many, "one"); + assert.eq(one.length, 3); + let seen = 0; + const expect = [ + [1, 1], + [2, 2, 2], + [4, 4, 4, 4, 4], + ]; + for (const section of one) { + assert.eq(section.byteLength, expect[seen].length); + const I8 = new Int8Array(section); + for (let i = 0; i < expect[seen].length; ++i) + assert.eq(I8[i], expect[seen][i]); + ++seen; + } +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/Module.exports.js b/implementation-contributed/javascriptcore/wasm/js-api/Module.exports.js new file mode 100644 index 0000000000..76e3fd3fa5 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/Module.exports.js @@ -0,0 +1,43 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +assert.throws(() => WebAssembly.Module.exports(undefined), TypeError, `WebAssembly.Module.exports called with non WebAssembly.Module argument`); +assert.eq(WebAssembly.Module.exports.length, 1); + +{ + const m = new WebAssembly.Module((new Builder()).WebAssembly().get()); + assert.isArray(WebAssembly.Module.exports(m)); + assert.eq(WebAssembly.Module.exports(m).length, 0); + assert.truthy(WebAssembly.Module.exports(m) !== WebAssembly.Module.exports(m)); +} + +{ + const m = new WebAssembly.Module( + (new Builder()) + .Type().End() + .Function().End() + .Table() + .Table({initial: 20, maximum: 30, element: "anyfunc"}) + .End() + .Memory().InitialMaxPages(1, 1).End() + .Global().I32(42, "immutable").End() + .Export() + .Function("func") + .Table("tab", 0) + .Memory("mem", 0) + .Global("glob", 0) + .End() + .Code() + .Function("func", { params: [] }).Return().End() + .End() + .WebAssembly().get()); + assert.eq(WebAssembly.Module.exports(m).length, 4); + assert.eq(WebAssembly.Module.exports(m)[0].name, "func"); + assert.eq(WebAssembly.Module.exports(m)[0].kind, "function"); + assert.eq(WebAssembly.Module.exports(m)[1].name, "tab"); + assert.eq(WebAssembly.Module.exports(m)[1].kind, "table"); + assert.eq(WebAssembly.Module.exports(m)[2].name, "mem"); + assert.eq(WebAssembly.Module.exports(m)[2].kind, "memory"); + assert.eq(WebAssembly.Module.exports(m)[3].name, "glob"); + assert.eq(WebAssembly.Module.exports(m)[3].kind, "global"); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/Module.imports.js b/implementation-contributed/javascriptcore/wasm/js-api/Module.imports.js new file mode 100644 index 0000000000..1fc2dd56b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/Module.imports.js @@ -0,0 +1,38 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +assert.throws(() => WebAssembly.Module.imports(undefined), TypeError, `WebAssembly.Module.imports called with non WebAssembly.Module argument`); +assert.eq(WebAssembly.Module.imports.length, 1); + +{ + const m = new WebAssembly.Module((new Builder()).WebAssembly().get()); + assert.isArray(WebAssembly.Module.imports(m)); + assert.eq(WebAssembly.Module.imports(m).length, 0); + assert.truthy(WebAssembly.Module.imports(m) !== WebAssembly.Module.imports(m)); +} + +{ + const m = new WebAssembly.Module( + (new Builder()) + .Type().End() + .Import() + .Function("fooFunction", "barFunction", { params: [] }) + .Table("fooTable", "barTable", {initial: 20, element: "anyfunc"}) + .Memory("fooMemory", "barMemory", {initial: 20}) + .Global().I32("fooGlobal", "barGlobal", "immutable").End() + .End() + .WebAssembly().get()); + assert.eq(WebAssembly.Module.imports(m).length, 4); + assert.eq(WebAssembly.Module.imports(m)[0].module, "fooFunction"); + assert.eq(WebAssembly.Module.imports(m)[0].name, "barFunction"); + assert.eq(WebAssembly.Module.imports(m)[0].kind, "function"); + assert.eq(WebAssembly.Module.imports(m)[1].module, "fooTable"); + assert.eq(WebAssembly.Module.imports(m)[1].name, "barTable"); + assert.eq(WebAssembly.Module.imports(m)[1].kind, "table"); + assert.eq(WebAssembly.Module.imports(m)[2].module, "fooMemory"); + assert.eq(WebAssembly.Module.imports(m)[2].name, "barMemory"); + assert.eq(WebAssembly.Module.imports(m)[2].kind, "memory"); + assert.eq(WebAssembly.Module.imports(m)[3].module, "fooGlobal"); + assert.eq(WebAssembly.Module.imports(m)[3].name, "barGlobal"); + assert.eq(WebAssembly.Module.imports(m)[3].kind, "global"); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/call-indirect.js b/implementation-contributed/javascriptcore/wasm/js-api/call-indirect.js new file mode 100644 index 0000000000..01cd42f9b7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/call-indirect.js @@ -0,0 +1,106 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const wasmModuleWhichImportJS = () => { + const builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "func", { params: ["i32"] }) + .Table("imp", "table", { initial: 1, maximum: 1, element: "anyfunc"}) + .End() + .Function().End() + .Export() + .Function("changeCounter") + .Function("callFunc") + .End() + .Code() + .Function("changeCounter", { params: ["i32", "i32"] }) + .I32Const(42) + .GetLocal(0) + .I32Add() + .GetLocal(1) + .CallIndirect(0, 0) // Calls table[0](param[0] + 42). + .End() + .Function("callFunc", { params: ["i32"] }) + .GetLocal(0) + .Call(0) // Calls func(param[0] + 42) + .End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return module; +}; + +const makeTable = () => { + return new WebAssembly.Table({initial: 1, maximum: 1, element: "anyfunc"}); +}; + +(function MonomorphicImport() { + let counter = 0; + const counterSetter = v => counter = v; + const table = makeTable(); + const module = wasmModuleWhichImportJS(); + const instance = new WebAssembly.Instance(module, { imp: { func: counterSetter, table} }); + table.set(0, instance.exports.callFunc); + for (let i = 0; i < 4096; ++i) { + // Invoke this a bunch of times to make sure the IC in the wasm -> JS stub works correctly. + instance.exports.changeCounter(i, 0); + assert.eq(counter, i + 42); + } +})(); + +(function Polyphic2Import() { + let counterA = 0; + let counterB = undefined; + const counterASetter = v => counterA = v; + const counterBSetter = v => counterB = { valueB: v }; + const module = wasmModuleWhichImportJS(); + + const tableA = makeTable(); + const instanceA = new WebAssembly.Instance(module, { imp: { func: counterASetter, table: tableA} }); + tableA.set(0, instanceA.exports.callFunc); + + const tableB = makeTable(); + const instanceB = new WebAssembly.Instance(module, { imp: { func: counterBSetter, table: tableB} }); + tableB.set(0, instanceB.exports.callFunc); + for (let i = 0; i < 2048; ++i) { + instanceA.exports.changeCounter(i, 0); + assert.isA(counterA, "number"); + assert.eq(counterA, i + 42); + instanceB.exports.changeCounter(i, 0); + assert.isA(counterB, "object"); + assert.eq(counterB.valueB, i + 42); + } +})(); + +(function VirtualImport() { + const counterSetters = [ + v => counters[0] = v, + v => counters[1] = v + 1, + v => counters[2] = v + 2, + v => counters[3] = v + 3, + v => counters[4] = v + 4, + v => counters[5] = v + 5, + v => counters[6] = v + 6, + v => counters[7] = v + 7, + v => counters[8] = v + 8, + v => counters[9] = v + 9, + ]; + const num = counterSetters.length; + let counters = counterSetters.map(() => 0); + assert.eq(counters.length, num); + const module = wasmModuleWhichImportJS(); + let instances = []; + for (let i = 0; i < num; ++i) { + let table = makeTable(); + instances[i] = new WebAssembly.Instance(module, { imp: { func: counterSetters[i], table} }); + table.set(0, instances[i].exports.callFunc); + } + for (let i = 0; i < 2048; ++i) { + for (let j = 0; j < num; ++j) { + instances[j].exports.changeCounter(i, 0); + assert.isA(counters[j], "number"); + assert.eq(counters[j], i + 42 + j); + } + } +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/dont-mmap-zero-byte-memory.js b/implementation-contributed/javascriptcore/wasm/js-api/dont-mmap-zero-byte-memory.js new file mode 100644 index 0000000000..c4ec097c2f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/dont-mmap-zero-byte-memory.js @@ -0,0 +1,54 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +let mems = []; +function makeMem(initial) { + const desc = {initial}; + mems.push([desc, new WebAssembly.Memory(desc)]); +} +for (let i = 0; i < 100; ++i) { + makeMem(1); +} + +// This loop should not OOM! This tests a bug where we +// would call mmap with zero bytes if we ran out of +// fast memories but created a slow memory with zero +// initial page count. +for (let i = 0; i < 100; ++i) { + makeMem(0); +} + +function testMems() { + for (const [memDesc, mem] of mems) { + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memDesc) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(0) + .I32Load8U(0, 0) + .Return() + .End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const instance = new WebAssembly.Instance(module, {imp: {memory: mem}}); + if (mem.buffer.byteLength > 0) + assert.eq(instance.exports.foo(), 0); + else + assert.throws(() => instance.exports.foo(), WebAssembly.RuntimeError, "Out of bounds memory access"); + } +} + +testMems(); + +for (const [_, mem] of mems) + mem.grow(1); + +testMems(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/element-data.js b/implementation-contributed/javascriptcore/wasm/js-api/element-data.js new file mode 100644 index 0000000000..cb43f4f1ff --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/element-data.js @@ -0,0 +1,47 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +const memSizeInPages = 1; +const pageSizeInBytes = 64 * 1024; +const memoryDescription = { initial: memSizeInPages, maximum: memSizeInPages }; + +(function ElementBeforeData() { + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryDescription) + .Table("imp", "table", {element: "anyfunc", initial: 19}) // unspecified maximum. + .End() + .Function().End() + .Element() + .Element({offset: 19, functionIndices: [0, 0, 0, 0, 0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End() + .Data() + .Segment([0xde, 0xad, 0xbe, 0xef]).Offset(0).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const table = new WebAssembly.Table({element: "anyfunc", initial: 19}); + const imports = { + imp: { + memory: memory, + table: table, + } + }; + assert.throws(() => new WebAssembly.Instance(module, imports), WebAssembly.LinkError, `Element is trying to set an out of bounds table index (evaluating 'new WebAssembly.Instance(module, imports)')`); + // On Element failure, the Data section shouldn't have executed. + const buffer = new Uint8Array(memory.buffer); + for (let idx = 0; idx < memSizeInPages * pageSizeInBytes; ++idx) { + const value = buffer[idx]; + assert.eq(value, 0x00); + } +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/element.js b/implementation-contributed/javascriptcore/wasm/js-api/element.js new file mode 100644 index 0000000000..188ac74151 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/element.js @@ -0,0 +1,219 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +{ + // Bad element section b/c no Table section/import. + const builder = new Builder() + .Type().End() + .Function().End() + .Element() + .Element({tableIndex: 0, offset: 0, functionIndices: [0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 24 / 41: Element section for Table 0 exceeds available Table 0"); +} + +{ + // Bad table index. + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({element: "anyfunc", initial: 20}) + .End() + .Element() + .Element({tableIndex: 1, offset: 0, functionIndices: [0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 30 / 47: Element section for Table 1 exceeds available Table 1"); +} + +{ + // Overflow table maximum size. + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({element: "anyfunc", initial: 20, maximum: 20}) + .End() + .Element() + .Element({offset: 19, functionIndices: [0, 0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + const module = new WebAssembly.Module(builder.WebAssembly().get()); + assert.throws(() => new WebAssembly.Instance(module), WebAssembly.LinkError, "Element is trying to set an out of bounds table index"); +} + +{ + // Overflow table maximum size. + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({element: "anyfunc", initial: 20, maximum: 20}) + .End() + .Element() + .Element({offset: 20, functionIndices: [0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + const module = new WebAssembly.Module(builder.WebAssembly().get()); + assert.throws(() => new WebAssembly.Instance(module), WebAssembly.LinkError, "Element is trying to set an out of bounds table index"); +} + +{ + // Overflow function index space. + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({element: "anyfunc", initial: 20, maximum: 20}) + .End() + .Element() + .Element({offset: 0, functionIndices: [0, 0, 1]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 38 / 50: Element section's 0th element's 2th index is 1 which exceeds the function index space size of 1 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"); +} + +{ + function badInstantiation(actualTable, errorType, msg) { + // Overflow function index space. + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {element: "anyfunc", initial: 19}) // unspecified maximum. + .End() + .Function().End() + .Element() + .Element({offset: 19, functionIndices: [0, 0, 0, 0, 0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + assert.throws(() => new WebAssembly.Instance(module, {imp: {table: actualTable}}), errorType, msg); + } + + for (let i = 19; i < 19 + 5; i++) { + const table = new WebAssembly.Table({element: "anyfunc", initial: i}); + badInstantiation(table, WebAssembly.LinkError, "Element is trying to set an out of bounds table index (evaluating 'new WebAssembly.Instance(module, {imp: {table: actualTable}})')"); + } +} + +{ + function makeModule() { + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {element: "anyfunc", initial: 19}) // unspecified maximum. + .Global().I32("imp", "global", "immutable").End() + .End() + .Function().End() + .Element() + .Element({offset: {op: "get_global", initValue: 0}, functionIndices: [0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + return new WebAssembly.Module(bin); + } + + function test(i) { + const table = new WebAssembly.Table({element: "anyfunc", initial: 19}); + const global = i; + const module = makeModule(); + const instance = new WebAssembly.Instance(module, {imp: {table, global}}); + for (let j = 0; j < 19; j++) { + if (j === i) + assert.eq(table.get(j)(i*2), i*2 + 42); + else + assert.throws(() => table.get(j)(i*2), TypeError, "table.get(j) is not a function. (In 'table.get(j)(i*2)', 'table.get(j)' is null)"); + } + } + for (let i = 0; i < 19; i++) + test(i); + + assert.throws(() => test(19), Error, "Element is trying to set an out of bounds table index"); +} + +{ + function badModule() { + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {element: "anyfunc", initial: 19}) // unspecified maximum. + .Global().F32("imp", "global", "immutable").End() + .End() + .Function().End() + .Element() + .Element({offset: {op: "get_global", initValue: 0}, functionIndices: [0]}) + .End() + .Code() + .Function("foo", {params: ["i32"], ret: "i32"}) + .GetLocal(0) + .I32Const(42) + .I32Add() + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + return new WebAssembly.Module(bin); + } + + assert.throws(() => badModule(), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 58 / 72: Element init_expr must produce an i32"); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/export-arity.js b/implementation-contributed/javascriptcore/wasm/js-api/export-arity.js new file mode 100644 index 0000000000..41579532e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/export-arity.js @@ -0,0 +1,65 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +// Generate wasm export functions of arity [0, max), and call each of these +// export functions from JS with [0, max) parameters, for each valid WebAssembly +// type. Make sure this number is high enough to force non-register calls. +const maxArities = 64; + +const paramExporter = (numParams, paramType, imports) => { + let builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "check", { params: [paramType] }) + .End() + .Function().End() + .Export() + .Function("func") + .End() + .Code() + .Function("func", { params: Array(numParams).fill(paramType) }); + for (let i = 0; i < numParams; ++i) + builder = builder.GetLocal(i).Call(0); // Call the import for each received parameter. + builder = builder.Return().End().End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return new WebAssembly.Instance(module, { imp: imports }); +}; + +const types = [ + { type: "i32", value: 42, defaultWhenArityMismatch: 0 }, + // i64 isn't supported. + { type: "f32", value: 32.0, defaultWhenArityMismatch: NaN }, + { type: "f64", value: 64.0, defaultWhenArityMismatch: NaN }, +]; + +for (let type of types) { + for (let wasmArity = 0; wasmArity < maxArities; ++wasmArity) { + let numParamsCallingWith = undefined; + let numChecked = 0; + const check = value => { + assert.isNumber(value); + if (numParamsCallingWith <= wasmArity) { + if (numChecked < numParamsCallingWith) + assert.eq(value, type.value); + else + assert.eq(value, type.defaultWhenArityMismatch); + } else { + if (numChecked < wasmArity) + assert.eq(value, type.value); + else + assert.eq(value, type.defaultWhenArityMismatch); + } + ++numChecked; + }; + const instance = paramExporter(wasmArity, type.type, { check: check }); + for (let callerArity = 0; callerArity < maxArities; ++callerArity) { + numParamsCallingWith = callerArity; + const params = Array(callerArity).fill(type.value); + const result = instance.exports.func(...params); + assert.isUndef(result); + assert.eq(numChecked, wasmArity); // check() should be called as many times as the wasm function's arity. + numChecked = 0; // Reset the check counter for each arity iteration. + } + } +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/export-void-is-undef.js b/implementation-contributed/javascriptcore/wasm/js-api/export-void-is-undef.js new file mode 100644 index 0000000000..f9c93acb9a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/export-void-is-undef.js @@ -0,0 +1,19 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +let builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("func") + .End() + .Code() + .Function("func", { params: [] }) + .Return() + .End() +.End(); +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); + +assert.isUndef(instance.exports.func()); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/extension-MemoryMode.js b/implementation-contributed/javascriptcore/wasm/js-api/extension-MemoryMode.js new file mode 100644 index 0000000000..5608526bc2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/extension-MemoryMode.js @@ -0,0 +1,117 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +const iterations = 32; +const verbose = false; + +// This API isn't part of WebAssembly's official spec. It is use for testing within the shell. + +const version = 0x01; +const emptyModuleArray = Uint8Array.of(0x0, 0x61, 0x73, 0x6d, version, 0x00, 0x00, 0x00); + +assert.isFunction(WebAssemblyMemoryMode); + +const message = `WebAssemblyMemoryMode expects either a WebAssembly.Memory or WebAssembly.Instance`; +assert.throws(() => WebAssemblyMemoryMode(null), TypeError, message); +assert.throws(() => WebAssemblyMemoryMode(undefined), TypeError, message); +assert.throws(() => WebAssemblyMemoryMode(1), TypeError, message); +assert.throws(() => WebAssemblyMemoryMode(""), TypeError, message); +assert.throws(() => WebAssemblyMemoryMode({}), TypeError, message); +assert.throws(() => WebAssemblyMemoryMode(new WebAssembly.Module(emptyModuleArray)), TypeError, message); +assert.throws(() => WebAssemblyMemoryMode(new WebAssembly.Table({initial: 1, element: "anyfunc"})), TypeError, message); + +const validateMode = what => { + const mode = WebAssemblyMemoryMode(what); + if (verbose) + print(` ${mode}`); + switch (mode) { + case "Signaling": + break; + case "BoundsChecking": + break; + default: + throw new Error(`Unexpected WebAssembly.Memory mode '${mode}'`); + } + return what; +} + +const instantiate = builder => { + const bin = builder.WebAssembly(); + const module = new WebAssembly.Module(bin.get()); + return new WebAssembly.Instance(module); +}; + +(function testMemoryNoMax() { + if (verbose) + print(`testMemoryNoMax`); + let memories = []; + for (let i = 0; i != iterations; ++i) + memories.push(validateMode(new WebAssembly.Memory({ initial: i }))); + return memories; +})(); + +fullGC(); + +(function testMemory() { + if (verbose) + print(`testMemory`); + let memories = []; + for (let i = 0; i != iterations; ++i) + memories.push(validateMode(new WebAssembly.Memory({ initial: i, maximum: i }))); + return memories; +})(); + +fullGC(); + +(function testInstanceNoMemory() { + if (verbose) + print(`testInstanceNoMemory`); + let instances = []; + for (let i = 0; i != iterations; ++i) { + const builder = (new Builder()) + .Type().End() + .Function().End() + .Code().End(); + const instance = instantiate(builder); + // No-memory instances should never be Signaling: it would be wasteful. + assert.eq(WebAssemblyMemoryMode(instance), "BoundsChecking"); + if (verbose) + print(` ${WebAssemblyMemoryMode(instance)}`); + instances.push(instance); + } + return instances; +})(); + +fullGC(); + +(function testInstanceNoMax() { + if (verbose) + print(`testInstanceNoMax`); + let instances = []; + for (let i = 0; i != iterations; ++i) { + // Note: not exported! The internal API can still access. + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(i).End() + .Code().End(); + instances.push(validateMode(instantiate(builder))); + } +})(); + +fullGC(); + +(function testInstance() { + if (verbose) + print(`testInstance`); + let instances = []; + for (let i = 0; i != iterations; ++i) { + // Note: not exported! The internal API can still access. + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(i, i).End() + .Code().End(); + instances.push(validateMode(instantiate(builder))); + } +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/global-error.js b/implementation-contributed/javascriptcore/wasm/js-api/global-error.js new file mode 100644 index 0000000000..09f8d799dc --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/global-error.js @@ -0,0 +1,212 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +{ + // Test init from non-import. + const builder = new Builder(); + + builder.Type().End() + .Function().End() + .Global().GetGlobal("i32", 0, "immutable").End() + .Export() + .Function("getGlobal") + .Global("global", 1) + .End() + .Code() + + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(1) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + assert.throws(() => new WebAssembly.Module(bin.get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 26 / 59: get_global's index 0 exceeds the number of globals 0 (evaluating 'new WebAssembly.Module(bin.get())')"); +} + + +{ + // Test import mutable. + const builder = new Builder(); + + builder.Type().End() + .Import() + .Global().I32("imp", "global", "mutable").End() + .End() + .Function().End() + .Global().GetGlobal("i32", 0, "immutable").End() + .Export() + .Function("getGlobal") + .Global("global", 1) + .End() + .Code() + + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(1) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + assert.throws(() => new WebAssembly.Module(bin.get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 32 / 76: Mutable Globals aren't supported (evaluating 'new WebAssembly.Module(bin.get())')"); +} + +{ + // Test export mutable. + const builder = new Builder(); + + builder.Type().End() + .Function().End() + .Global().I32(0, "mutable").End() + .Export() + .Function("setGlobal") + .Global("global", 0) + .End() + .Code() + + .Function("setGlobal", { params: [], ret: "i32" }) + .GetGlobal(1) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + assert.throws(() => new WebAssembly.Module(bin.get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 51 / 59: 1th Export isn't immutable, named 'global' (evaluating 'new WebAssembly.Module(bin.get())')"); +} + +{ + // Test set immutable. + const builder = new Builder(); + + builder.Type().End() + .Function().End() + .Global().I32(0, "immutable").End() + .Export() + .Function("setGlobal") + .Global("global", 0) + .End() + .Code() + + .Function("setGlobal", { params: [], ret: "i32" }) + .I32Const(0) + .SetGlobal(0) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + assert.throws(() => new WebAssembly.Module(bin.get()), WebAssembly.CompileError, "WebAssembly.Module doesn't validate: set_global 0 is immutable, in function at index 0 (evaluating 'new WebAssembly.Module(bin.get())')"); +} + + +{ + // Test set non-existant global. + const builder = new Builder(); + + builder.Type().End() + .Function().End() + .Global().I32(0, "immutable").End() + .Export() + .Function("setGlobal") + .Global("global", 0) + .End() + .Code() + + .Function("setGlobal", { params: [], ret: "i32" }) + .I32Const(0) + .SetGlobal(1) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + assert.throws(() => new WebAssembly.Module(bin.get()), WebAssembly.CompileError, "WebAssembly.Module doesn't validate: set_global 1 of unknown global, limit is 1, in function at index 0 (evaluating 'new WebAssembly.Module(bin.get())')"); +} + + +{ + // Test set to incorrect type + const builder = new Builder(); + + builder.Type().End() + .Function().End() + .Global().F32(0, "mutable").End() + .Export() + .Function("setGlobal") + .End() + .Code() + + .Function("setGlobal", { params: [], ret: "i32" }) + .I32Const(0) + .SetGlobal(0) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + assert.throws(() => new WebAssembly.Module(bin.get()), WebAssembly.CompileError, "WebAssembly.Module doesn't validate: set_global 0 with type F32 with a variable of type I32, in function at index 0 (evaluating 'new WebAssembly.Module(bin.get())')"); +} + +for ( let imp of [undefined, null, {}, () => {}, "number", new Number(4)]) { + // Test import non-number. + const builder = new Builder(); + + builder.Type().End() + .Import() + .Global().I32("imp", "global", "immutable").End() + .End() + .Function().End() + .Global().GetGlobal("i32", 0, "immutable").End() + .Export() + .Function("getGlobal") + .Global("global", 1) + .End() + .Code() + + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(1) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + const module = new WebAssembly.Module(bin.get()); + assert.throws(() => new WebAssembly.Instance(module, { imp: { global: imp } }), WebAssembly.LinkError, "imported global imp:global must be a number (evaluating 'new WebAssembly.Instance(module, { imp: { global: imp } })')"); +} + +{ + const builder = new Builder() + .Type().End() + .Global().I64(0, "immutable").End() + .Export() + .Global("bigInt", 0) + .End(); + const module = new WebAssembly.Module(builder.WebAssembly().get()); + assert.throws(() => new WebAssembly.Instance(module), WebAssembly.LinkError, "exported global cannot be an i64 (evaluating 'new WebAssembly.Instance(module)')"); +} + +{ + const builder = new Builder() + .Type().End() + .Import() + .Global().I64("imp", "global", "immutable").End() + .End() + .Function().End() + .Global().GetGlobal("i64", 0, "immutable").End(); + const module = new WebAssembly.Module(builder.WebAssembly().get()); + assert.throws(() => new WebAssembly.Instance(module, { imp: { global: undefined } }), WebAssembly.LinkError, "imported global imp:global cannot be an i64 (evaluating 'new WebAssembly.Instance(module, { imp: { global: undefined } })')"); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/global-external-init-from-import.js b/implementation-contributed/javascriptcore/wasm/js-api/global-external-init-from-import.js new file mode 100644 index 0000000000..41fc6fa252 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/global-external-init-from-import.js @@ -0,0 +1,30 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = new Builder(); + +builder.Type().End() + .Import() + .Global().I32("imp", "global", "immutable").End() + .End() + .Function().End() + .Global().GetGlobal("i32", 0, "immutable").End() + .Export() + .Function("getGlobal") + .Global("global", 1) + .End() + .Code() + + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(1) + .End() + + .End() + +const bin = builder.WebAssembly(); +bin.trim(); + +const module = new WebAssembly.Module(bin.get()); +const instance = new WebAssembly.Instance(module, { imp: { global: 5 } }); +assert.eq(instance.exports.getGlobal(), 5); +assert.eq(instance.exports.global, 5); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/global-internal-init-from-import.js b/implementation-contributed/javascriptcore/wasm/js-api/global-internal-init-from-import.js new file mode 100644 index 0000000000..91bf35ba7a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/global-internal-init-from-import.js @@ -0,0 +1,26 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = new Builder(); + +builder.Type().End() + .Import() + .Global().I32("imp", "global", "immutable").End() + .End() + .Function().End() + .Global().GetGlobal("i32", 0, "mutable").End() + .Export().Function("getGlobal").End() + .Code() + + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(1) + .End() + + .End() + +const bin = builder.WebAssembly(); +bin.trim(); + +const module = new WebAssembly.Module(bin.get()); +const instance = new WebAssembly.Instance(module, { imp: { global: 5 } }); +assert.eq(instance.exports.getGlobal(), 5); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/global-mutate.js b/implementation-contributed/javascriptcore/wasm/js-api/global-mutate.js new file mode 100644 index 0000000000..06f7f2288d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/global-mutate.js @@ -0,0 +1,39 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +function createInternalGlobalModule() { + const builder = new Builder(); + + builder.Type().End() + .Function().End() + .Global().I32(5, "mutable").End() + .Export() + .Function("getGlobal") + .Function("setGlobal") + .End() + .Code() + + // GetGlobal + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(0) + .End() + + // SetGlobal + .Function("setGlobal", { params: ["i32"] }) + .GetLocal(0) + .SetGlobal(0) + .End() + + .End() + + const bin = builder.WebAssembly(); + bin.trim(); + + const module = new WebAssembly.Module(bin.get()); + const instance = new WebAssembly.Instance(module); + assert.eq(instance.exports.getGlobal(), 5); + instance.exports.setGlobal(3); + assert.eq(instance.exports.getGlobal(), 3); +} + +createInternalGlobalModule(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/globals-export.js b/implementation-contributed/javascriptcore/wasm/js-api/globals-export.js new file mode 100644 index 0000000000..66682694eb --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/globals-export.js @@ -0,0 +1,28 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = new Builder(); + +builder.Type().End() + .Import() + .Global().I32("imp", "global", "immutable").End() + .End() + .Function().End() + .Export() + .Function("getGlobal") + .Global("global", 0) + .End() + .Code() + + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(0) + .End() + + .End() + +const bin = builder.WebAssembly(); +bin.trim(); + +const module = new WebAssembly.Module(bin.get()); +const instance = new WebAssembly.Instance(module, { imp: { global: 5 } }); +assert.eq(instance.exports.global, 5); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/globals-import.js b/implementation-contributed/javascriptcore/wasm/js-api/globals-import.js new file mode 100644 index 0000000000..2922323447 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/globals-import.js @@ -0,0 +1,29 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = new Builder(); + +builder.Type().End() + .Import() + .Global().I32("imp", "global", "immutable").End() + .End() + .Function().End() + .Global().I32(5, "mutable").End() + .Export() + .Function("getGlobal") + .End() + .Code() + + // GetGlobal + .Function("getGlobal", { params: [], ret: "i32" }) + .GetGlobal(0) + .End() + + .End() + +const bin = builder.WebAssembly(); +bin.trim(); + +const module = new WebAssembly.Module(bin.get()); +const instance = new WebAssembly.Instance(module, { imp: { global: 5 } }); +assert.eq(instance.exports.getGlobal(), 5); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/memory-grow.js b/implementation-contributed/javascriptcore/wasm/js-api/memory-grow.js new file mode 100644 index 0000000000..0f8fc96a38 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/memory-grow.js @@ -0,0 +1,51 @@ +import { eq as assertEq, throws as assertThrows } from "../assert.js"; +const pageSize = 64*1024; + +let buffers = []; +for (let i = 0; i < 100; i++) { + const max = 5; + let pageCount = 1; + let x = new WebAssembly.Memory({initial: 1, maximum: max}); + for (let i = 0; i < (max - 1); i++) { + let int8Array = new Uint8Array(x.buffer); + + for (let i = 0; i < pageSize; i++) { + assertEq(int8Array[pageSize*(pageCount - 1) + i], 0); + int8Array[pageSize*(pageCount - 1) + i] = pageCount; + } + + for (let i = 0; i < pageCount; i++) { + for (let j = 0; j < pageSize; j++) { + assertEq(int8Array[i * pageSize + j], i + 1); + } + } + + let buffer = x.buffer; + assertEq(buffer.byteLength, pageCount * pageSize); + buffers.push(buffer); + let previousPageSize = x.grow(1); + assertEq(buffer.byteLength, 0); + assertEq(previousPageSize, pageCount); + ++pageCount; + } +} + +for (let buffer of buffers) { + assertEq(buffer.byteLength, 0); +} + +{ + const memory = new WebAssembly.Memory({initial: 1, maximum: 5}); + let buffer = memory.buffer; + assertEq(buffer.byteLength, 1*64*1024); + memory.grow(1); + assertEq(buffer.byteLength, 0); + + buffer = memory.buffer; + assertEq(buffer.byteLength, 2*64*1024); + + // This shouldn't neuter the buffer since it fails. + assertThrows(() => memory.grow(1000), RangeError, "WebAssembly.Memory.grow would exceed the memory's declared maximum size"); + assertEq(buffer.byteLength, 2*64*1024); + assertEq(memory.buffer, buffer); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/neutered-inputs.js b/implementation-contributed/javascriptcore/wasm/js-api/neutered-inputs.js new file mode 100644 index 0000000000..527d333f48 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/neutered-inputs.js @@ -0,0 +1,30 @@ +import * as assert from "../assert.js"; + +const fail = val => { throw new Error(`Expected promise to fail, instead got ${val}`); }; +const catcher = (errType, errMessage) => err => { + assert.eq(errType, err); + assert.eq(errMessage, err.message); +}; + +let neuteredArray = new Uint8Array(1); +transferArrayBuffer(neuteredArray.buffer); + +const testAsyncFunction = func => { + func(neuteredArray).then(fail).catch(catcher(TypeError, "underlying TypedArray has been detatched from the ArrayBuffer")); + func(neuteredArray.buffer).then(fail).catch(catcher(TypeError, "underlying TypedArray has been detatched from the ArrayBuffer")); +}; + +const testFunction = func => { + assert.throws(() => func(neuteredArray), TypeError, "underlying TypedArray has been detatched from the ArrayBuffer"); + assert.throws(() => func(neuteredArray.buffer), TypeError, "underlying TypedArray has been detatched from the ArrayBuffer"); +}; + +const testConstructor = func => { + assert.throws(() => new func(neuteredArray), TypeError, "underlying TypedArray has been detatched from the ArrayBuffer"); + assert.throws(() => new func(neuteredArray.buffer), TypeError, "underlying TypedArray has been detatched from the ArrayBuffer"); +}; + +testConstructor(WebAssembly.Module); +testAsyncFunction(WebAssembly.compile); +testFunction(WebAssembly.validate); +testAsyncFunction(WebAssembly.instantiate); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/promise-stack-overflow.js b/implementation-contributed/javascriptcore/wasm/js-api/promise-stack-overflow.js new file mode 100644 index 0000000000..bc92d5dfc7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/promise-stack-overflow.js @@ -0,0 +1,37 @@ +import * as assert from '../assert.js'; + +const module = Uint8Array.of(0x0, 0x61, 0x73, 0x6d, 0x1, 0x00, 0x00, 0x00); + +let promises = []; + +const runNearStackLimit = f => { + const t = () => { + try { + return t(); + } catch (e) { + return f(); + } + }; + return t(); +}; + +const touchArgument = arg => promises.push(arg); + +const compileMe = () => touchArgument(WebAssembly.compile(module)); + +async function testCompile() { + await touchArgument(async function() { + runNearStackLimit(compileMe); + }()); +} + +const instantiateMe = () => touchArgument(WebAssembly.instantiate(module)); + +async function testInstantiate() { + await touchArgument(async function() { + runNearStackLimit(instantiateMe); + }()); +} + +assert.asyncTest(testCompile()); +assert.asyncTest(testInstantiate()); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/table.js b/implementation-contributed/javascriptcore/wasm/js-api/table.js new file mode 100644 index 0000000000..b832e11766 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/table.js @@ -0,0 +1,322 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +{ + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {initial: 20, element: "anyfunc"}) + .End() + .Function().End() + .Table() + .Table({initial: 20, maximum: 30, element: "anyfunc"}) + .End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 34 / 41: Cannot have more than one Table for now"); +} + +{ + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + // Table count is zero. + .End() + .Code() + .End(); + new WebAssembly.Module(builder.WebAssembly().get()); +} + +{ + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({initial: 20, maximum: 30, element: "anyfunc"}) + .Table({initial: 20, maximum: 30, element: "anyfunc"}) + .End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 17 / 28: Table count of 2 is invalid, at most 1 is allowed for now (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"); +} + +{ + const builder = new Builder() + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: ["i32"]}) + .GetLocal(0) + .CallIndirect(0, 0) + .End() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 4 / 7: call_indirect is only valid when a table is defined or imported, in function at index 0 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"); +} + +{ + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({initial:20, element:"anyfunc"}) + .End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", {params: ["i32"]}) + .GetLocal(0) + .CallIndirect(0, 1) + .End() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 6 / 7: call_indirect's 'reserved' varuint1 must be 0x0, in function at index 0 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"); +} + +{ + // Can't export an undefined table + const builder = new Builder() + .Type().End() + .Function().End() + .Export() + .Table("foo", 0) + .End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 23 / 26: can't export Table 0 there are 0 Tables"); +} + +{ + // Can't export a table at index 1. + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({initial: 20, maximum: 30, element: "anyfunc"}) + .End() + .Export() + .Table("foo", 1) + .End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 30 / 33: can't export Table 1 there are 1 Tables"); +} + +function assertBadTable(tableDescription, message) { + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table(tableDescription) + .End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, message); +} + +function assertBadTableImport(tableDescription, message) { + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, message); +} + +{ + let badDescriptions = [ + [{initial: 10, element: "i32"}, + "WebAssembly.Module doesn't parse at byte 18 / 23: Table type should be anyfunc, got -1 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 34: Table type should be anyfunc, got -1 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, element: "f32"}, + "WebAssembly.Module doesn't parse at byte 18 / 23: Table type should be anyfunc, got -3 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 34: Table type should be anyfunc, got -3 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, element: "f64"}, + "WebAssembly.Module doesn't parse at byte 18 / 23: Table type should be anyfunc, got -4 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 34: Table type should be anyfunc, got -4 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, element: "i64"}, + "WebAssembly.Module doesn't parse at byte 18 / 23: Table type should be anyfunc, got -2 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 34: Table type should be anyfunc, got -2 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, maximum: 20, element: "i32"}, + "WebAssembly.Module doesn't parse at byte 18 / 24: Table type should be anyfunc, got -1 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 35: Table type should be anyfunc, got -1 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, maximum: 20, element: "f32"}, + "WebAssembly.Module doesn't parse at byte 18 / 24: Table type should be anyfunc, got -3 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 35: Table type should be anyfunc, got -3 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, maximum: 20, element: "f64"}, + "WebAssembly.Module doesn't parse at byte 18 / 24: Table type should be anyfunc, got -4 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 35: Table type should be anyfunc, got -4 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 10, maximum: 20, element: "i64"}, + "WebAssembly.Module doesn't parse at byte 18 / 24: Table type should be anyfunc, got -2 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 26 / 35: Table type should be anyfunc, got -2 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + + [{initial: 10, maximum: 9, element: "anyfunc"}, + "WebAssembly.Module doesn't parse at byte 21 / 24: resizable limits has a initial page count of 10 which is greater than its maximum 9 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 29 / 35: resizable limits has a initial page count of 10 which is greater than its maximum 9 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 1, maximum: 0, element: "anyfunc"}, + "WebAssembly.Module doesn't parse at byte 21 / 24: resizable limits has a initial page count of 1 which is greater than its maximum 0 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 29 / 35: resizable limits has a initial page count of 1 which is greater than its maximum 0 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 2**32 - 1, maximum: 2**32 - 2, element: "anyfunc"}, + "WebAssembly.Module doesn't parse at byte 29 / 32: resizable limits has a initial page count of 4294967295 which is greater than its maximum 4294967294 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 37 / 43: resizable limits has a initial page count of 4294967295 which is greater than its maximum 4294967294 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + [{initial: 2**31, element: "anyfunc"}, + "WebAssembly.Module doesn't parse at byte 24 / 27: Table's initial page count of 2147483648 is too big, maximum 10000000 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')", + "WebAssembly.Module doesn't parse at byte 32 / 38: Table's initial page count of 2147483648 is too big, maximum 10000000 (evaluating 'new WebAssembly.Module(builder.WebAssembly().get())')"], + ]; + + for (const d of badDescriptions) { + assertBadTable(d[0], d[1]); + assertBadTableImport(d[0], d[2]); + } +} + +{ + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {initial: 20, element: "anyfunc"}) + .Table("imp", "table", {initial: 20, element: "anyfunc"}) + .End() + .Function().End() + .Code() + .End(); + assert.throws(() => new WebAssembly.Module(builder.WebAssembly().get()), WebAssembly.CompileError, "WebAssembly.Module doesn't parse at byte 39 / 48: Cannot have more than one Table for now"); +} + + +{ + function assertBadTableInstance(tableDescription, table, message) { + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", tableDescription) + .End() + .Function().End() + .Code() + .End(); + const module = new WebAssembly.Module(builder.WebAssembly().get()); + assert.throws(() => new WebAssembly.Instance(module, {imp: {table}}), WebAssembly.LinkError, message); + } + + const badTables = [ + [{initial: 100, maximum:100, element:"anyfunc"}, new WebAssembly.Table({initial:100, element: "anyfunc"}), "Table import imp:table does not have a 'maximum' but the module requires that it does (evaluating 'new WebAssembly.Instance(module, {imp: {table}})')"], + [{initial: 100, maximum:100, element:"anyfunc"}, new WebAssembly.Table({initial:100, maximum:101, element: "anyfunc"}), "Imported Table imp:table 'maximum' is larger than the module's expected 'maximum' (evaluating 'new WebAssembly.Instance(module, {imp: {table}})')"], + [{initial: 100, element:"anyfunc"}, new WebAssembly.Table({initial:10, element: "anyfunc"}), "Table import imp:table provided an 'initial' that is too small (evaluating 'new WebAssembly.Instance(module, {imp: {table}})')"], + [{initial: 10, element:"anyfunc"}, new WebAssembly.Table({initial:9, element: "anyfunc"}), "Table import imp:table provided an 'initial' that is too small (evaluating 'new WebAssembly.Instance(module, {imp: {table}})')"], + ]; + for (const [d, t, m] of badTables) { + assertBadTableInstance(d, t, m); + } +} + +assert.throws(() => WebAssembly.Table.prototype.grow(undefined), TypeError, `expected |this| value to be an instance of WebAssembly.Table`); + +{ + { + const table = new WebAssembly.Table({element: "anyfunc", initial: 20, maximum: 30}); + assert.eq(20, table.grow(0)); + assert.eq(20, table.length); + assert.eq(20, table.grow(1)); + assert.eq(21, table.length); + } + + { + const table = new WebAssembly.Table({element: "anyfunc", initial: 20, maximum: 30}); + assert.eq(20, table.grow(10)); + assert.eq(30, table.grow(0)); + assert.throws(() => table.grow(1), RangeError, "WebAssembly.Table.prototype.grow could not grow the table"); + } + + { + const table = new WebAssembly.Table({element: "anyfunc", initial: 20}); + let called = false; + table.grow({valueOf() { called = true; return 42; }}); + assert.truthy(called); + assert.eq(62, table.length); + } + + { + const table = new WebAssembly.Table({element: "anyfunc", initial: 20}); + assert.throws(() => table.get(20), RangeError, "WebAssembly.Table.prototype.get expects an integer less than the length of the table"); + for (let i = 0; i < 20; i++) + assert.eq(table.get(i), null); + } + + { + const table = new WebAssembly.Table({element: "anyfunc", initial: 20}); + assert.throws(() => table.set(20, null), RangeError, "WebAssembly.Table.prototype.set expects an integer less than the length of the table"); + for (let i = 0; i < 20; i++) + table.set(i, null); + } + + { + // This should not throw + new WebAssembly.Table({initial: 2**20, maximum: 2**32 - 1, element: "anyfunc"}); + } +} + +{ + + function assertBadTable(table) { + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {initial: 25, element: "anyfunc"}) + .End() + .Function().End() + .Code() + .End(); + const module = new WebAssembly.Module(builder.WebAssembly().get()); + assert.throws(() => new WebAssembly.Instance(module, {imp: {table}}), WebAssembly.LinkError, "Table import imp:table is not an instance of WebAssembly.Table (evaluating 'new WebAssembly.Instance(module, {imp: {table}})')"); + } + assertBadTable(25); + assertBadTable(new Object); + assertBadTable([]); + assertBadTable(new WebAssembly.Memory({initial:1})); +} + +{ + const builder = new Builder() + .Type().End() + .Import() + .Table("imp", "table", {initial: 25, element: "anyfunc"}) + .End() + .Function().End() + .Export() + .Table("table", 0) + .Table("table2", 0) + .End() + .Code().End(); + + const module = new WebAssembly.Module(builder.WebAssembly().get()); + const table = new WebAssembly.Table({element: "anyfunc", initial: 25}); + const instance = new WebAssembly.Instance(module, {imp: {table}}); + assert.truthy(table === instance.exports.table); + assert.truthy(table === instance.exports.table2); +} + +{ + const builder = new Builder() + .Type().End() + .Function().End() + .Table() + .Table({initial: 20, maximum: 30, element: "anyfunc"}) + .End() + .Export() + .Table("table", 0) + .Table("table2", 0) + .End() + .Code().End(); + + const module = new WebAssembly.Module(builder.WebAssembly().get()); + const instance = new WebAssembly.Instance(module); + assert.eq(instance.exports.table, instance.exports.table2); + assert.eq(instance.exports.table.length, 20); + assert.truthy(instance.exports.table instanceof WebAssembly.Table); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_Data.js b/implementation-contributed/javascriptcore/wasm/js-api/test_Data.js new file mode 100644 index 0000000000..cca0cf3bc4 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_Data.js @@ -0,0 +1,180 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const memSizeInPages = 1; +const pageSizeInBytes = 64 * 1024; +const memoryDescription = { initial: memSizeInPages, maximum: memSizeInPages }; +const emptyMemory = { initial: 0, maximum: 2 }; + +// FIXME Some corner cases are ill-specified: https://github.com/WebAssembly/design/issues/897 + +const assertMemoryAllZero = memory => { + const buffer = new Uint8Array(memory.buffer); + for (let idx = 0; idx < buffer.length; ++idx) { + const value = buffer[idx]; + assert.eq(value, 0x00); + } +}; + +(function DataSection() { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Data() + .Segment([0xff, 0x2a]).Offset(4).End() + .Segment([0xde, 0xad, 0xbe, 0xef]).Offset(24).End() + .Segment([0xca, 0xfe]).Offset(25).End() // Overwrite. + .Segment([]).Offset(4).End() // Empty. + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, { imp: { memory: memory } }); + const buffer = new Uint8Array(memory.buffer); + for (let idx = 0; idx < memSizeInPages * pageSizeInBytes; ++idx) { + const value = buffer[idx]; + switch (idx) { + case 4: assert.eq(value, 0xff); break; + case 5: assert.eq(value, 0x2a); break; + case 24: assert.eq(value, 0xde); break; + case 25: assert.eq(value, 0xca); break; + case 26: assert.eq(value, 0xfe); break; + case 27: assert.eq(value, 0xef); break; + default: assert.eq(value, 0x00); break; + } + } +})(); + +(function DataSectionWithoutMemory() { + const builder = (new Builder()) + .Type().End() + .Data() + .Segment([0xff]).Offset(0).End() + .End(); + const bin = builder.WebAssembly().get(); + assert.throws(() => new WebAssembly.Module(bin), WebAssembly.CompileError, `WebAssembly.Module doesn't parse at byte 15 / 20: 0th Data segment has index 0 which exceeds the number of Memories 0`); +})(); + +(function EmptyDataSectionWithoutMemory() { + const builder = (new Builder()) + .Type().End() + .Data() + .Segment([]).Offset(0).End() + .End(); + const bin = builder.WebAssembly().get(); + assert.throws(() => new WebAssembly.Module(bin), WebAssembly.CompileError, `WebAssembly.Module doesn't parse at byte 15 / 19: 0th Data segment has index 0 which exceeds the number of Memories 0`); +})(); + +(function DataSectionBiggerThanMemory() { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Data() + .Segment(Array(memSizeInPages * pageSizeInBytes + 1).fill(0xff)).Offset(0).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + assert.throws(() => new WebAssembly.Instance(module, { imp: { memory: memory } }), WebAssembly.LinkError, `Invalid data segment initialization: segment of 65537 bytes memory of 65536 bytes, at offset 0, segment is too big (evaluating 'new WebAssembly.Instance(module, { imp: { memory: memory } })')`); + assertMemoryAllZero(memory); +})(); + +(function DataSectionOffTheEnd() { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Data() + .Segment([0xff]).Offset(memSizeInPages * pageSizeInBytes).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + assert.throws(() => new WebAssembly.Instance(module, { imp: { memory: memory } }), WebAssembly.LinkError, `Invalid data segment initialization: segment of 1 bytes memory of 65536 bytes, at offset 65536, segment writes outside of memory (evaluating 'new WebAssembly.Instance(module, { imp: { memory: memory } })')`); + assertMemoryAllZero(memory); +})(); + +(function DataSectionPartlyOffTheEnd() { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Data() + .Segment([0xff, 0xff]).Offset(memSizeInPages * pageSizeInBytes - 1).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + assert.throws(() => new WebAssembly.Instance(module, { imp: { memory: memory } }), WebAssembly.LinkError, `Invalid data segment initialization: segment of 2 bytes memory of 65536 bytes, at offset 65535, segment writes outside of memory (evaluating 'new WebAssembly.Instance(module, { imp: { memory: memory } })')`); + assertMemoryAllZero(memory); +})(); + +(function DataSectionEmptyOffTheEnd() { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Data() + .Segment([]).Offset(memSizeInPages * pageSizeInBytes).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, { imp: { memory: memory } }); + assertMemoryAllZero(memory); +})(); + +(function DataSectionEmptyOffTheEndWithEmptyMemory() { + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", emptyMemory).End() + .Data() + .Segment([]).Offset(memSizeInPages * pageSizeInBytes).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(emptyMemory); + assert.throws(() => new WebAssembly.Instance(module, { imp: { memory: memory } }), WebAssembly.LinkError, `Invalid data segment initialization: segment of 0 bytes memory of 0 bytes, at offset 65536, segment writes outside of memory`); + assertMemoryAllZero(memory); +})(); + +(function DataSectionSeenByStart() { + const offset = 1024; + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", memoryDescription) + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Start("foo").End() + .Code() + .Function("foo", { params: [] }) + .I32Const(offset) + .I32Load8U(0, 0) + .Call(0) // Calls func((i8.load(offset), align=2, offset=0). This should observe 0xff as set by the data section. + .End() + .End() + .Data() + .Segment([0xff]).Offset(offset).End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + let value = 0; + const setter = v => value = v; + const instance = new WebAssembly.Instance( + module, + { + imp: { + memory: memory, + func: setter + } + }); + assert.eq(value, 0xff); + const buffer = new Uint8Array(memory.buffer); + for (let idx = 0; idx < memSizeInPages * pageSizeInBytes; ++idx) { + const value = buffer[idx]; + if (idx == offset) + assert.eq(value, 0xff); + else + assert.eq(value, 0x00); + } +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_Instance.js b/implementation-contributed/javascriptcore/wasm/js-api/test_Instance.js new file mode 100644 index 0000000000..8d63be8285 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_Instance.js @@ -0,0 +1,162 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +(function EmptyModule() { + const builder = new Builder(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const instance = new WebAssembly.Instance(module); + assert.instanceof(instance, WebAssembly.Instance); +})(); + +(function ExportedAnswerI32() { + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("answer") + .End() + .Code() + .Function("answer", { params: [], ret: "i32" }) + .I32Const(42) + .Return() + .End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const instance = new WebAssembly.Instance(module); + const result = instance.exports.answer(); + assert.isA(result, "number"); + assert.eq(result, 42); +})(); + +(function ExportedNumber() { + for (let i = 0; i <= 129; ++i) { + const name = i.toString(); + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function(name) + .End() + .Code() + .Function(name, { params: [], ret: "i32" }) + .I32Const(i) + .Return() + .End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const instance = new WebAssembly.Instance(module); + const result = instance.exports[name](); + assert.isA(result, "number"); + assert.eq(result, i); + } +})(); + +const wasmModuleWhichImportJS = () => { + const builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Export() + .Function("changeCounter") + .End() + .Code() + .Function("changeCounter", { params: ["i32"] }) + .I32Const(42) + .GetLocal(0) + .I32Add() + .Call(0) // Calls func(param[0] + 42). + .End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + return module; +}; + +(function MonomorphicImport() { + let counter = 0; + const counterSetter = v => counter = v; + const module = wasmModuleWhichImportJS(); + const instance = new WebAssembly.Instance(module, { imp: { func: counterSetter } }); + for (let i = 0; i < 4096; ++i) { + // Invoke this a bunch of times to make sure the IC in the wasm -> JS stub works correctly. + instance.exports.changeCounter(i); + assert.eq(counter, i + 42); + } +})(); + +(function Polyphic2Import() { + let counterA = 0; + let counterB = undefined; + const counterASetter = v => counterA = v; + const counterBSetter = v => counterB = { valueB: v }; + const module = wasmModuleWhichImportJS(); + const instanceA = new WebAssembly.Instance(module, { imp: { func: counterASetter } }); + const instanceB = new WebAssembly.Instance(module, { imp: { func: counterBSetter } }); + for (let i = 0; i < 2048; ++i) { + instanceA.exports.changeCounter(i); + assert.isA(counterA, "number"); + assert.eq(counterA, i + 42); + instanceB.exports.changeCounter(i); + assert.isA(counterB, "object"); + assert.eq(counterB.valueB, i + 42); + } +})(); + +(function Polyphic3Import() { + let counterA = 0; + let counterB = undefined; + let counterC = undefined; + const counterASetter = v => counterA = v; + const counterBSetter = v => counterB = { valueB: v }; + const counterCSetter = v => counterC = { valueC: v }; + const module = wasmModuleWhichImportJS(); + const instanceA = new WebAssembly.Instance(module, { imp: { func: counterASetter } }); + const instanceB = new WebAssembly.Instance(module, { imp: { func: counterBSetter } }); + const instanceC = new WebAssembly.Instance(module, { imp: { func: counterCSetter } }); + for (let i = 0; i < 2048; ++i) { + instanceA.exports.changeCounter(i); + assert.isA(counterA, "number"); + assert.eq(counterA, i + 42); + instanceB.exports.changeCounter(i); + assert.isA(counterB, "object"); + assert.eq(counterB.valueB, i + 42); + instanceC.exports.changeCounter(i); + assert.isA(counterC, "object"); + assert.eq(counterC.valueC, i + 42); + } +})(); + +(function VirtualImport() { + const num = 10; // It's definitely going virtual at 10! + let counters = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]; + const counterSetters = [ + v => counters[0] = v, + v => counters[1] = v + 1, + v => counters[2] = v + 2, + v => counters[3] = v + 3, + v => counters[4] = v + 4, + v => counters[5] = v + 5, + v => counters[6] = v + 6, + v => counters[7] = v + 7, + v => counters[8] = v + 8, + v => counters[9] = v + 9, + ]; + assert.eq(counters.length, num); + assert.eq(counterSetters.length, num); + const module = wasmModuleWhichImportJS(); + let instances = []; + for (let i = 0; i < num; ++i) + instances[i] = new WebAssembly.Instance(module, { imp: { func: counterSetters[i] } }); + for (let i = 0; i < 2048; ++i) { + for (let j = 0; j < num; ++j) { + instances[j].exports.changeCounter(i); + assert.isA(counters[j], "number"); + assert.eq(counters[j], i + 42 + j); + } + } +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_Module.js b/implementation-contributed/javascriptcore/wasm/js-api/test_Module.js new file mode 100644 index 0000000000..94db1a436a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_Module.js @@ -0,0 +1,19 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +(function EmptyModule() { + const builder = new Builder(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + assert.instanceof(module, WebAssembly.Module); +})(); + +(function ModuleWithImports() { + const builder = (new Builder()) + .Type().End() + .Import() + .Function("foo", "bar", { params: [] }) + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_Start.js b/implementation-contributed/javascriptcore/wasm/js-api/test_Start.js new file mode 100644 index 0000000000..b44456932d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_Start.js @@ -0,0 +1,35 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +(function StartNamedFunction() { + const b = (new Builder()) + .Type().End() + .Import() + .Function("imp", "func", { params: ["i32"] }) + .End() + .Function().End() + .Start("foo").End() + .Code() + .Function("foo", { params: [] }) + .I32Const(42) + .Call(0) // Calls func(42). + .End() + .End(); + const bin = b.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + let value = 0; + const setter = v => value = v; + const instance = new WebAssembly.Instance(module, { imp: { func: setter } }); + assert.eq(value, 42); +})(); + +(function InvalidStartFunctionIndex() { + const b = (new Builder()) + .setChecked(false) + .Type().End() + .Function().End() + .Start(0).End() // Invalid index. + .Code().End(); + const bin = b.WebAssembly().get(); + assert.throws(() => new WebAssembly.Module(bin), Error, `WebAssembly.Module doesn't parse at byte 17 / 20: Start index 0 exceeds function index space 0 (evaluating 'new WebAssembly.Module(bin)')`); +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_basic_api.js b/implementation-contributed/javascriptcore/wasm/js-api/test_basic_api.js new file mode 100644 index 0000000000..08e74aa324 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_basic_api.js @@ -0,0 +1,128 @@ +import * as assert from '../assert.js'; +import * as utilities from '../utilities.js'; + +const version = 0x01; +const emptyModuleArray = Uint8Array.of(0x0, 0x61, 0x73, 0x6d, version, 0x00, 0x00, 0x00); +const invalidConstructorInputs = [undefined, null, "", 1, {}, []]; +const invalidInstanceImports = [null, "", 1]; + +const checkOwnPropertyDescriptor = (obj, prop, expect) => { + const descriptor = Object.getOwnPropertyDescriptor(obj, prop); + assert.eq(typeof descriptor.value, expect.typeofvalue); + assert.eq(descriptor.writable, expect.writable); + assert.eq(descriptor.configurable, expect.configurable); + assert.eq(descriptor.enumerable, expect.enumerable); +}; + +const checkAccessorOwnPropertyDescriptor = (obj, prop, expect) => { + const descriptor = Object.getOwnPropertyDescriptor(obj, prop); + assert.eq(typeof descriptor.value, "undefined"); + assert.eq(typeof descriptor.writable, "undefined"); + assert.eq(descriptor.configurable, expect.configurable); + assert.eq(descriptor.enumerable, expect.enumerable); +}; + +const functionProperties = { + "validate": { length: 1 }, + "compile": { length: 1 }, +}; +const constructorProperties = { + "Module": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, + "Instance": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, + "Memory": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, + "Table": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, + "CompileError": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, + "LinkError": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, + "RuntimeError": { typeofvalue: "function", writable: true, configurable: true, enumerable: false, length: 1 }, +}; + + +assert.isNotUndef(WebAssembly); +checkOwnPropertyDescriptor(utilities.global, "WebAssembly", { typeofvalue: "object", writable: true, configurable: true, enumerable: false }); +assert.eq(String(WebAssembly), "[object WebAssembly]"); +assert.isUndef(WebAssembly.length); +assert.eq(WebAssembly instanceof Object, true); +assert.throws(() => WebAssembly(), TypeError, `WebAssembly is not a function. (In 'WebAssembly()', 'WebAssembly' is an instance of WebAssembly)`); +assert.throws(() => new WebAssembly(), TypeError, `WebAssembly is not a constructor (evaluating 'new WebAssembly()')`); + +for (const f in functionProperties) { + assert.isNotUndef(WebAssembly[f]); + assert.eq(WebAssembly[f].name, f); + assert.eq(WebAssembly[f].length, functionProperties[f].length); +} + +for (const c in constructorProperties) { + assert.isNotUndef(WebAssembly[c]); + assert.eq(WebAssembly[c].name, c); + assert.eq(WebAssembly[c].length, constructorProperties[c].length); + checkOwnPropertyDescriptor(WebAssembly, c, constructorProperties[c]); + checkOwnPropertyDescriptor(WebAssembly[c], "prototype", { typeofvalue: "object", writable: false, configurable: false, enumerable: false }); + if (["CompileError", "LinkError", "RuntimeError"].indexOf(c) >= 0) + WebAssembly[c](); // Per spec, the WebAssembly.*Error types match ye olden JavaScript NativeError behavior: they can be constructed without `new`. + else + assert.throws(() => WebAssembly[c](), TypeError, `calling WebAssembly.${c} constructor without new is invalid`); + switch (c) { + case "Module": + for (const invalid of invalidConstructorInputs) + assert.throws(() => new WebAssembly[c](invalid), TypeError, `first argument must be an ArrayBufferView or an ArrayBuffer (evaluating 'new WebAssembly[c](invalid)')`); + for (const buffer of [new ArrayBuffer(), new DataView(new ArrayBuffer()), new Int8Array(), new Uint8Array(), new Uint8ClampedArray(), new Int16Array(), new Uint16Array(), new Int32Array(), new Uint32Array(), new Float32Array(), new Float64Array()]) + // FIXME the following should be WebAssembly.CompileError. https://bugs.webkit.org/show_bug.cgi?id=163768 + assert.throws(() => new WebAssembly[c](buffer), Error, `WebAssembly.Module doesn't parse at byte 0 / 0: expected a module of at least 8 bytes (evaluating 'new WebAssembly[c](buffer)')`); + assert.instanceof(new WebAssembly[c](emptyModuleArray), WebAssembly.Module); + break; + case "Instance": + for (const invalid of invalidConstructorInputs) + assert.throws(() => new WebAssembly[c](invalid), TypeError, `first argument to WebAssembly.Instance must be a WebAssembly.Module (evaluating 'new WebAssembly[c](invalid)')`); + const instance = new WebAssembly[c](new WebAssembly.Module(emptyModuleArray)); + assert.instanceof(instance, WebAssembly.Instance); + for (const invalid of invalidInstanceImports) + assert.throws(() => new WebAssembly[c](new WebAssembly.Module(emptyModuleArray), invalid), TypeError, `second argument to WebAssembly.Instance must be undefined or an Object (evaluating 'new WebAssembly[c](new WebAssembly.Module(emptyModuleArray), invalid)')`); + assert.isNotUndef(instance.exports); + checkAccessorOwnPropertyDescriptor(WebAssembly.Instance.prototype, "exports", { configurable: true, enumerable: false }); + assert.throws(() => WebAssembly.Instance.prototype.exports = undefined, TypeError, `Attempted to assign to readonly property.`); + assert.throws(() => WebAssembly.Instance.prototype.exports, TypeError, `expected |this| value to be an instance of WebAssembly.Instance`); + assert.isUndef(instance.exports.__proto__); + assert.eq(Reflect.isExtensible(instance.exports), false); + assert.eq(Symbol.iterator in instance.exports, false); + assert.eq(Symbol.toStringTag in instance.exports, true); + assert.eq(Object.getOwnPropertySymbols(instance.exports).length, 1); + assert.eq(Object.getOwnPropertySymbols(instance.exports)[0], Symbol.toStringTag); + assert.throws(() => instance.exports[Symbol.toStringTag] = 42, TypeError, `Attempted to assign to readonly property.`); + break; + case "Memory": + new WebAssembly.Memory({initial: 20}); + break; + case "Table": + new WebAssembly.Table({initial: 20, element: "anyfunc"}); + new WebAssembly.Table({initial: 20, maximum: 20, element: "anyfunc"}); + new WebAssembly.Table({initial: 20, maximum: 25, element: "anyfunc"}); + break; + case "CompileError": + case "LinkError": + case "RuntimeError": { + { + const e = new WebAssembly[c]; + assert.eq(e instanceof WebAssembly[c], true); + assert.eq(e instanceof Error, true); + assert.eq(e instanceof TypeError, false); + assert.eq(e.message, ""); + assert.eq(typeof e.stack, "string"); + const sillyString = "uh-oh!"; + const e2 = new WebAssembly[c](sillyString); + assert.eq(e2.message, sillyString + " (evaluating 'new WebAssembly[c](sillyString)')"); + } + { + const e = WebAssembly[c](); + assert.eq(e instanceof WebAssembly[c], true); + assert.eq(e instanceof Error, true); + assert.eq(e instanceof TypeError, false); + assert.eq(e.message, ""); + assert.eq(typeof e.stack, "string"); + const sillyString = "uh-oh!"; + const e2 = WebAssembly[c](sillyString); + assert.eq(e2.message, sillyString); + } + } break; + default: throw new Error(`Implementation error: unexpected constructor property "${c}"`); + } +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_memory.js b/implementation-contributed/javascriptcore/wasm/js-api/test_memory.js new file mode 100644 index 0000000000..520599270c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_memory.js @@ -0,0 +1,401 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + +const pageSize = 64 * 1024; +const maxPageCount = (2**32) / pageSize; + +function binaryShouldNotParse(builder) { + const bin = builder.WebAssembly().get(); + let threw = false; + try { + const module = new WebAssembly.Module(bin); + } catch(e) { + threw = true; + } + assert.truthy(threw); +} + +{ + // Can't declare more than one memory. + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .End(); + binaryShouldNotParse(builder); +} + +{ + // Can't declare more than one memory. + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", {initial: 20}) + .Memory("imp", "memory", {initial: 30}) + .End() + .Function().End() + .Export().End() + .Code() + .End(); + binaryShouldNotParse(builder); +} + +{ + // initial must be <= maximum. + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", {initial: 20, maximum: 19}) + .End() + .Function().End() + .Export().End() + .Code() + .End(); + binaryShouldNotParse(builder); +} + +{ + // No loads when no memory defined. + const builder = (new Builder()) + .Type().End() + .Import().End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", { params: ["i32"], ret: "i32" }) + .GetLocal(0) + .I32Load(2, 0) + .Return() + .End() + .End(); + + binaryShouldNotParse(builder); +} + +{ + // No stores when no memory defined. + const builder = (new Builder()) + .Type().End() + .Import() + .End() + .Function().End() + .Export().Function("foo").End() + .Code() + .Function("foo", { params: ["i32"] }) + .GetLocal(0) + .GetLocal(0) + .I32Store(2, 0) + .Return() + .End() + .End(); + + binaryShouldNotParse(builder); +} + +{ + // Can't export an undefined memory. + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Memory("memory", 0) + .End() + .Code() + .End(); + binaryShouldNotParse(builder); +} + +{ + // Can't export a non-zero memory index. + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Export() + .Memory("memory", 1) + .End() + .Code() + .End(); + binaryShouldNotParse(builder); +} + +{ + assert.throws(() => new WebAssembly.Memory(20), TypeError, "WebAssembly.Memory expects its first argument to be an object"); + assert.throws(() => new WebAssembly.Memory({}, {}), TypeError, "WebAssembly.Memory expects exactly one argument"); +} + +function test(f) { + noInline(f); + for (let i = 0; i < 2; i++) { + f(i); + } +} + +test(function() { + const memoryDescription = {initial: 2, maximum: 2}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["i32", "i32"], ret: "i32" }) + .GetLocal(1) + .GetLocal(0) + .I32Store(2, 0) + .GetLocal(1) + .I32Load(2, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, { imp: { memory: memory } }); + const foo = instance.exports.foo; + // foo(value, address) + + const bytes = memoryDescription.initial * pageSize; + for (let i = 0; i < (bytes/4); i++) { + let value = i + 1; + let address = i * 4; + let result = foo(value, address); + assert.truthy(result === value); + let arrayBuffer = memory.buffer; + let buffer = new Uint32Array(arrayBuffer); + assert.truthy(buffer[i] === value); + } +}); + +test(function() { + const memoryDescription = {initial: 2, maximum: 2}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["i32", "i32"], ret: "i32"}) + .GetLocal(1) + .GetLocal(0) + .I32Store8(0, 0) + .GetLocal(1) + .I32Load8U(0, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, { imp: { memory: memory } }); + const foo = instance.exports.foo; + // foo(value, address) + + const bytes = memoryDescription.initial * pageSize; + for (let i = 0; i < bytes; i++) { + let value = (i + 1); + let address = i; + let result = foo(value, address); + let expectedValue = (value & ((2**8) - 1)); + assert.truthy(result === expectedValue); + let arrayBuffer = memory.buffer; + let buffer = new Uint8Array(arrayBuffer); + assert.truthy(buffer[i] === expectedValue); + } +}); + +test(function() { + const memoryDescription = {initial: 2, maximum: 2}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["f32", "i32"], ret: "f32"}) + .GetLocal(1) + .GetLocal(0) + .F32Store(2, 0) + .GetLocal(1) + .F32Load(2, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, { imp: { memory: memory } }); + const foo = instance.exports.foo; + // foo(value, address) + + const bytes = memoryDescription.initial * pageSize; + for (let i = 0; i < (bytes/4); i++) { + let value = i + 1 + .0128213781289; + assert.truthy(value !== Math.fround(value)); + let address = i * 4; + let result = foo(value, address); + let expectedValue = Math.fround(result); + assert.truthy(result === expectedValue); + let arrayBuffer = memory.buffer; + let buffer = new Float32Array(arrayBuffer); + assert.truthy(buffer[i] === expectedValue); + } +}); + +test(function() { + const memoryDescription = {initial: 2, maximum: 2}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["f64", "i32"], ret: "f64"}) + .GetLocal(1) + .GetLocal(0) + .F64Store(3, 0) + .GetLocal(1) + .F64Load(3, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory(memoryDescription); + const instance = new WebAssembly.Instance(module, { imp: { memory: memory } }); + const foo = instance.exports.foo; + // foo(value, address) + + const bytes = memoryDescription.initial * pageSize; + for (let i = 0; i < (bytes/8); i++) { + let value = i + 1 + .0128213781289; + let address = i * 8; + let result = foo(value, address); + let expectedValue = result; + assert.truthy(result === expectedValue); + let arrayBuffer = memory.buffer; + let buffer = new Float64Array(arrayBuffer); + assert.truthy(buffer[i] === expectedValue); + } +}); + +test(function() { + const memoryDescription = {initial: 20, maximum: 25}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["f64", "i32"], ret: "f64"}) + .GetLocal(1) + .GetLocal(0) + .F64Store(3, 0) + .GetLocal(1) + .F64Load(3, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + + assert.throws(() => new WebAssembly.Instance(module, 20), TypeError, `second argument to WebAssembly.Instance must be undefined or an Object`); + assert.throws(() => new WebAssembly.Instance(module, {}), TypeError, `import imp:memory must be an object`); + assert.throws(() => new WebAssembly.Instance(module, {imp: { } }), WebAssembly.LinkError, `Memory import imp:memory is not an instance of WebAssembly.Memory`); + assert.throws(() => new WebAssembly.Instance(module, {imp: { memory: 20 } }), WebAssembly.LinkError, `Memory import imp:memory is not an instance of WebAssembly.Memory`); + assert.throws(() => new WebAssembly.Instance(module, {imp: { memory: [] } }), WebAssembly.LinkError, `Memory import imp:memory is not an instance of WebAssembly.Memory`); + assert.throws(() => new WebAssembly.Instance(module, {imp: { memory: new WebAssembly.Memory({initial: 19, maximum: 25}) } }), WebAssembly.LinkError, `Memory import imp:memory provided an 'initial' that is smaller than the module's declared 'initial' import memory size`); + assert.throws(() => new WebAssembly.Instance(module, {imp: { memory: new WebAssembly.Memory({initial: 20}) } }), WebAssembly.LinkError, `Memory import imp:memory did not have a 'maximum' but the module requires that it does`); + assert.throws(() => new WebAssembly.Instance(module, {imp: { memory: new WebAssembly.Memory({initial: 20, maximum: 26}) } }), WebAssembly.LinkError, `Memory import imp:memory provided a 'maximum' that is larger than the module's declared 'maximum' import memory size`); +}); + +test(function() { + const memoryDescription = {initial: 20}; + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", memoryDescription).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["f64", "i32"], ret: "f64"}) + .GetLocal(1) + .GetLocal(0) + .F64Store(3, 0) + .GetLocal(1) + .F64Load(3, 0) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + + function testMemImportError(instanceObj, expectedError) { + assert.throws(() => new WebAssembly.Instance(module, instanceObj), WebAssembly.LinkError, expectedError); + } + + testMemImportError({imp: { memory: new WebAssembly.Memory({initial: 19, maximum: 25}) } }, `Memory import imp:memory provided an 'initial' that is smaller than the module's declared 'initial' import memory size`); + testMemImportError({imp: { memory: new WebAssembly.Memory({initial: 19}) } }, `Memory import imp:memory provided an 'initial' that is smaller than the module's declared 'initial' import memory size`); + + // This should not throw. + new WebAssembly.Instance(module, {imp: {memory: new WebAssembly.Memory({initial:20})}}); + new WebAssembly.Instance(module, {imp: {memory: new WebAssembly.Memory({initial:20, maximum:20})}}); +}); + +{ + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Export() + .Memory("memory", 0) + .Memory("memory2", 0) + .End() + .Code() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const memory = new WebAssembly.Memory({initial: 20}); + const instance = new WebAssembly.Instance(module, {imp: {memory}}); + assert.truthy(memory === instance.exports.memory); + assert.truthy(memory === instance.exports.memory2); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Memory().InitialMaxPages(20, 25).End() + .Export() + .Memory("memory", 0) + .Memory("memory2", 0) + .End() + .Code() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + const instance = new WebAssembly.Instance(module); + assert.eq(instance.exports.memory, instance.exports.memory2); + assert.eq(instance.exports.memory.buffer.byteLength, 20 * pageSize); + assert.truthy(instance.exports.memory instanceof WebAssembly.Memory); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/test_memory_constructor.js b/implementation-contributed/javascriptcore/wasm/js-api/test_memory_constructor.js new file mode 100644 index 0000000000..b8893eab7a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/test_memory_constructor.js @@ -0,0 +1,83 @@ +// FIXME: use the assert library: https://bugs.webkit.org/show_bug.cgi?id=165684 +//@ skip if $memoryLimited +import Builder from '../Builder.js'; + +function assert(b) { + if (!b) { + throw new Error("Bad assertion"); + } +} + +{ + let threw = false; + try { + new WebAssembly.Memory({initial: 20, maximum: 19}); + } catch(e) { + assert(e instanceof RangeError); + assert(e.message === "'maximum' page count must be than greater than or equal to the 'initial' page count"); + threw = true; + } + assert(threw); +} + +const pageSize = 64 * 1024; +const maxPageCount = (2**32) / pageSize; + +function testInvalidSize(description, propName) { + let threw = false; + try { + new WebAssembly.Memory(description); + } catch(e) { + threw = true; + assert(e instanceof RangeError); + assert(e.message === `WebAssembly.Memory '${propName}' page count is too large`); + } + assert(threw); +} + +{ + function testInvalidInitial(v) { + testInvalidSize({initial: v}, "initial"); + } + + try { + new WebAssembly.Memory({initial: maxPageCount}); + new WebAssembly.Memory({initial: maxPageCount, maximum: maxPageCount}); + } catch(e) { + // These might throw, since we're asking for a lot of memory. + } + + testInvalidInitial(2**31); + testInvalidInitial(maxPageCount + 1); +} + +{ + function testInvalidMaximum(v) { + testInvalidSize({initial: 1, maximum: v}, "maximum"); + } + + testInvalidMaximum(2**31); + testInvalidMaximum(maxPageCount + 1); +} + +{ + for (let i = 0; i < 5; i++) { + let x = Math.random() * (2**10); + x |= 0; + const mem = new WebAssembly.Memory({initial: x, maximum: x + 100}); + assert(mem.buffer.byteLength === x * pageSize); + } +} + +{ + let bufferGetter = Object.getOwnPropertyDescriptor((new WebAssembly.Memory({initial:1})).__proto__, "buffer").get; + let threw = false; + try { + bufferGetter.call({}); + } catch(e) { + assert(e instanceof TypeError); + assert(e.message === "WebAssembly.Memory.prototype.buffer getter called with non WebAssembly.Memory |this| value"); + threw = true; + } + assert(threw); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/unique-signature.js b/implementation-contributed/javascriptcore/wasm/js-api/unique-signature.js new file mode 100644 index 0000000000..8f5a55fca3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/unique-signature.js @@ -0,0 +1,49 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +(function CallIndirectWithDuplicateSignatures() { + const builder = (new Builder()) + .Type() + .Func(["i32"], "i32") // 0 + .Func(["i32"], "i32") // 1 + .Func(["i32", "i32"], "i32") // 2 + .Func(["i32"], "i32") // 3 + .Func(["i32"], "i32") // 4 + .Func(["i32", "i32"], "i32") // 5 + .Func(["f64", "f64"], "f64") // 6 + .Func(["i32"], "f64") // 7 + .Func(["i32"], "f64") // 8 + .End() + .Function().End() + .Table() + .Table({initial: 4, maximum: 4, element: "anyfunc"}) + .End() + .Export() + .Function("entry") + .Table("table", 0) + .Function("callMe") + .End() + .Code() + .Function("entry", 1) + .I32Const(42) + .GetLocal(0) + .I32Add() + .I32Const(0) // Function index 0. + .CallIndirect(4, 0) // Different signature index, but same signature. + .Return() + .End() + .Function("callMe", 3) + .I32Const(3) + .GetLocal(0) + .I32Add() + .Return() + .End() + .End(); + const bin = builder.WebAssembly().get(); + const module = new WebAssembly.Module(bin); + let value0 = undefined; + const instance = new WebAssembly.Instance(module); + let table = instance.exports.table; + table.set(0, instance.exports.callMe); + assert.eq(instance.exports.entry(5), 5 + 42 + 3); +}()); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/validate.js b/implementation-contributed/javascriptcore/wasm/js-api/validate.js new file mode 100644 index 0000000000..4fe83c2869 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/validate.js @@ -0,0 +1,47 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +assert.isFunction(WebAssembly.validate); +assert.isFunction(WebAssembly.__proto__.validate); +assert.eq(WebAssembly.validate.length, 1); + +{ + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Memory().InitialMaxPages(1, 1).End() + .Export().End() + .Code() + .End(); + + assert.truthy(!WebAssembly.validate(builder.WebAssembly().get())); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Export().End() + .Code() + .End(); + + assert.truthy(WebAssembly.validate(builder.WebAssembly().get())); +} + +{ + const builder = (new Builder()); + builder.setChecked(false); + + builder.Type().End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Unknown("test").End() + .Import().Memory("imp", "memory", {initial: 20}).End() + .Function().End() + .Export().End() + .Code() + .End(); + + assert.falsy(WebAssembly.validate(builder.WebAssembly().get())); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/version.js b/implementation-contributed/javascriptcore/wasm/js-api/version.js new file mode 100644 index 0000000000..81cd7ff012 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/version.js @@ -0,0 +1,9 @@ +import * as assert from '../assert.js'; +import * as utilities from '../utilities.js'; + +for (let version = 0; version < 256; ++version) { + if (version === 1) + continue; + const emptyModuleArray = Uint8Array.of(0x0, 0x61, 0x73, 0x6d, version, 0x00, 0x00, 0x00); + assert.throws(() => new WebAssembly.Module(emptyModuleArray), WebAssembly.CompileError, `WebAssembly.Module doesn't parse at byte 8 / 8: unexpected version number ${version} expected 1`); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm-bad-signature.js b/implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm-bad-signature.js new file mode 100644 index 0000000000..169411ba5c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm-bad-signature.js @@ -0,0 +1,105 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const importName = "pierOne"; +const types = ["i32", "i64", "f32", "f64", "void"]; +const typesNonVoid = ["i32", "i64", "f32", "f64"]; +const swapType = (type, index) => types[(types.indexOf(type) + index) % types.length]; +const swapTypeNonVoid = (type, index) => typesNonVoid[(typesNonVoid.indexOf(type) + index) % typesNonVoid.length]; + +const signatures = [ + { params: ["i32"], ret: "void" }, + { params: ["i64"], ret: "void" }, + { params: ["f32"], ret: "void" }, + { params: ["f64"], ret: "void" }, + { params: ["i32"], ret: "i32" }, + { params: ["i64"], ret: "i64" }, + { params: ["f32"], ret: "f32" }, + { params: ["f64"], ret: "f64" }, + { params: ["i32", "f32"], ret: "i32" }, + { params: ["f32", "i32"], ret: "i32" }, + { params: ["i64", "f64"], ret: "i64" }, + { params: ["f64", "i64"], ret: "i64" }, + { params: ["i32", "f32", "i32"], ret: "i32" }, + { params: ["i32", "f32", "i32"], ret: "i32" }, + { params: ["i64", "f64", "i64"], ret: "i64" }, + { params: ["i64", "f64", "i64"], ret: "i64" }, + { params: Array(32).fill("i32"), ret: "i64" }, + { params: Array(32).fill("i64"), ret: "i64" }, + { params: Array(32).fill("f32"), ret: "i64" }, + { params: Array(32).fill("f64"), ret: "i64" }, +]; + +const makeImporter = signature => { + const builder = (new Builder()) + .Type().End() + .Import().Function("exports", importName, signature).End(); + return new WebAssembly.Module(builder.WebAssembly().get()); +}; + +const makeImportee = signature => { + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function(importName) + .End() + .Code() + .Function(importName, signature); + switch (signature.ret) { + case "i32": builder.I32Const(0); break; + case "i64": builder.I64Const(0); break; + case "f32": builder.F32Const(0); break; + case "f64": builder.F64Const(0); break; + case "void": break; + } + return new WebAssembly.Instance(new WebAssembly.Module(builder.Return().End().End().WebAssembly().get())); +}; + +(function BadSignatureDropStartParams() { + for (let signature of signatures) { + const importee = makeImportee(signature); + for (let i = 1; i <= signature.params.length; ++i) { + const badParamSignature = { params: signature.params.slice(i, signature.params.length), ret: signature.ret }; + const importer = makeImporter(badParamSignature); + assert.throws(() => new WebAssembly.Instance(importer, importee), WebAssembly.LinkError, `imported function exports:${importName} signature doesn't match the provided WebAssembly function's signature (evaluating 'new WebAssembly.Instance(importer, importee)')`); + } + } +})(); + +(function BadSignatureDropEndParams() { + for (let signature of signatures) { + const importee = makeImportee(signature); + for (let i = 1; i < signature.params.length; ++i) { + const badParamSignature = { params: signature.params.slice(0, i), ret: signature.ret }; + const importer = makeImporter(badParamSignature); + assert.throws(() => new WebAssembly.Instance(importer, importee), WebAssembly.LinkError, `imported function exports:${importName} signature doesn't match the provided WebAssembly function's signature (evaluating 'new WebAssembly.Instance(importer, importee)')`); + } + } +})(); + +(function BadSignatureSwapParam() { + for (let signature of signatures) { + const importee = makeImportee(signature); + for (let signatureIndex = 0; signatureIndex < signature.length; ++signatureIndex) { + for (let typeIndex = 1; typeIndex < typesNonVoid.length; ++typeIndex) { + let badParams = signature.params.slice(); + badParams[signatureIndex] = swapTypeNonVoid(badParams[signatureIndex], typeIndex); + const badParamSignature = { params: badParams, ret: signature.ret }; + const importer = makeImporter(badParamSignature); + assert.throws(() => new WebAssembly.Instance(importer, importee), WebAssembly.LinkError, `imported function exports:${importName} signature doesn't match the provided WebAssembly function's signature (evaluating 'new WebAssembly.Instance(importer, importee)')`); + } + } + } +})(); + +(function BadSignatureRet() { + for (let signature of signatures) { + const importee = makeImportee(signature); + for (let typeIndex = 1; typeIndex < types.length; ++typeIndex) { + const badParamSignature = { params: signature.params, ret: swapType(signature.ret, typeIndex) }; + const importer = makeImporter(badParamSignature); + assert.throws(() => new WebAssembly.Instance(importer, importee), WebAssembly.LinkError, `imported function exports:${importName} signature doesn't match the provided WebAssembly function's signature (evaluating 'new WebAssembly.Instance(importer, importee)')`); + } + } +})(); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm.js b/implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm.js new file mode 100644 index 0000000000..2df46e68f7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/wasm-to-wasm.js @@ -0,0 +1,72 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const callerTopBits = 0xC0FEBEEF; +const innerReturnHi = 0xDEADFACE; +const innerReturnLo = 0xC0FEC0FE; + +const callerModule = () => { + const builder = (new Builder()) + .Type().End() + .Import() + .Function("exports", "callMe", { params: ["i64"], ret: "i64" }) + .End() + .Function().End() + .Export() + .Function("entry") + .End() + .Code() + .Function("entry", { params: ["i32"], ret: "i32" }, ["i64"]) + .I32Const(callerTopBits).I64ExtendUI32().I32Const(32).I64ExtendUI32().I64Shl() // ((i64)callerTopBits) << 32 + .GetLocal(0).I64ExtendUI32() + .I64Or() // value: param | (((i64)callerTopBits << 32)) + .Call(0) // Calls exports.callMe(param | (((i64)callerTopBits) << 32)). + .TeeLocal(1).I32WrapI64() // lo: (i32)callResult + .GetLocal(1).I32Const(32).I64ExtendUI32().I64ShrU().I32WrapI64() // hi: (i32)(callResult >> 32) + .I32Xor() + .Return() + .End() + .End(); + return new WebAssembly.Module(builder.WebAssembly().get()); +}; + +const calleeModule = () => { + const builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "func", { params: ["i32", "i32"], ret: "i32" }) + .End() + .Function().End() + .Export() + .Function("callMe") + .End() + .Code() + .Function("callMe", { params: ["i64"], ret: "i64" }) + .GetLocal(0).I32WrapI64() // lo: (i32)param + .GetLocal(0).I32Const(32).I64ExtendUI32().I64ShrU().I32WrapI64() // hi: (i32)(param >> 32) + .Call(0) // Calls imp.func with the 64-bit value as i32 { hi, lo }. + .Drop() + .I32Const(innerReturnHi).I64ExtendUI32().I32Const(32).I64ExtendUI32().I64Shl().I32Const(innerReturnLo).I64ExtendUI32().I64Or() // ((i64)hi << 32) | (i64)lo + .Return() + .End() + .End(); + return new WebAssembly.Module(builder.WebAssembly().get()); +}; + +(function WasmToWasm() { + let value; + const func = (hi, lo) => { value = { hi: hi, lo: lo }; return hi ^ lo; }; + const callee = new WebAssembly.Instance(calleeModule(), { imp: { func: func } }); + const caller = new WebAssembly.Instance(callerModule(), callee); + for (let i = 0; i < 4096; ++i) { + assert.eq(caller.exports.entry(i), innerReturnHi ^ innerReturnLo); + assert.eq(value.lo >>> 0, callerTopBits); + assert.eq(value.hi >>> 0, i); + } +})(); + +// FIXME test the following https://bugs.webkit.org/show_bug.cgi?id=166625 +// - wasm->wasm using 32-bit things (including float), as well as 64-bit NaNs that don't get canonicalized +// - Do a throw two-deep +// - Check that the first wasm's instance is back in OK state (with table or global?) +// - Test calling through a Table diff --git a/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-compile-parallel.js b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-compile-parallel.js new file mode 100644 index 0000000000..12feaecb9e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-compile-parallel.js @@ -0,0 +1,58 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +async function throwExn() { + throw new Error(); +} + +async function test() { + const loopDepth = 10; + const numCompilations = 1; + const numVars = 30; + const params = []; + params.length = numVars; + params.fill("i32"); + + let builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params, ret: "i32" }); + + const makeLoop = (builder, depth) => { + if (depth === 0) + return builder; + + builder = builder + .Loop("i32", (b) => { + b.GetLocal(0) + .I32Const(1) + .I32Sub() + .TeeLocal(0) + .GetLocal(0) + .I32Eqz() + .BrIf(1); + + return makeLoop(b, depth - 1).Br(0); + }); + return builder + + } + + builder = makeLoop(builder, loopDepth); + builder = builder.End().End(); + + const bin = builder.WebAssembly().get(); + + let compilations = []; + for (let i = 0; i < numCompilations; ++i) { + compilations.push(WebAssembly.compile(bin)); + } + + await Promise.all(compilations); +} + +assert.asyncTest(test()); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-function.js b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-function.js new file mode 100644 index 0000000000..3195662f20 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-function.js @@ -0,0 +1,25 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + +const bin = builder.WebAssembly().get(); +const module = new WebAssembly.Module(bin); +const instance = new WebAssembly.Instance(module); + +assert.eq(Object.getPrototypeOf(instance.exports.foo), Function.prototype); +{ + assert.truthy(typeof instance.exports.foo === "function", "is_function bytecode should handle wasm function."); + let value = typeof instance.exports.foo; + assert.eq(value, "function", "the result of typeof should be 'function'"); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate-parallel.js b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate-parallel.js new file mode 100644 index 0000000000..b447bcad0b --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate-parallel.js @@ -0,0 +1,75 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +async function test() { + const loopDepth = 100; + const numCompilations = 1; + const numVars = 30; + const params = []; + params.length = numVars; + params.fill("i32"); + + let builder = (new Builder()) + .Type().End() + .Import() + .Memory("imp", "memory", { initial: 0 }) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params, ret: "i32" }); + + const makeLoop = (builder, depth) => { + if (depth === 0) + return builder; + + builder = builder + .Loop("i32", (b) => { + b.GetLocal(0) + .I32Const(1) + .I32Sub() + .TeeLocal(0) + .GetLocal(0) + .I32Eqz() + .BrIf(1); + + return makeLoop(b, depth - 1).Br(0); + }); + return builder; + } + + builder = makeLoop(builder, loopDepth); + builder = builder.End().End(); + + const bin = builder.WebAssembly().get(); + const memory = new WebAssembly.Memory({ initial: 0 }); + const importObject = { "imp": { "memory": memory } }; + + // Compile a bunch of instances in parallel. + let compilations = []; + for (let i = 0; i < numCompilations; ++i) { + compilations.push(WebAssembly.instantiate(bin, importObject)); + } + + let [inst] = await Promise.all(compilations); + let module = inst.module; + + // Compile a bunch of instances from modules in parallel. + compilations = []; + for (let i = 0; i < numCompilations; ++i) { + compilations.push(WebAssembly.instantiate(module, importObject)); + } + + await Promise.all(compilations); + + // Compile an instance from a module in parallel, have sync compilation steal it. + compilations = []; + compilations.push(WebAssembly.instantiate(module, importObject)); + inst = new WebAssembly.Instance(module, importObject); + + await Promise.all(compilations); +} + +assert.asyncTest(test()); diff --git a/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate.js b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate.js new file mode 100644 index 0000000000..f60672521e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/web-assembly-instantiate.js @@ -0,0 +1,192 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +assert.isFunction(WebAssembly.instantiate); +assert.isFunction(WebAssembly.__proto__.instantiate); +assert.eq(WebAssembly.instantiate.length, 1); + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + let {module, instance} = await WebAssembly.instantiate(bin); + assert.truthy(module instanceof WebAssembly.Module); + assert.truthy(instance instanceof WebAssembly.Instance); + assert.eq(instance.exports.foo(20), 1); + } + + assert.asyncTest(test()); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + try { + let {module, instance} = await WebAssembly.instantiate(bin, null); + } catch(e) { + assert.eq(e.message, "second argument to WebAssembly.instantiate must be undefined or an Object (evaluating 'WebAssembly.instantiate(bin, null)')"); + } + } + + assert.asyncTest(test()); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .F32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + try { + let {module, instance} = await WebAssembly.instantiate(bin); + } catch(e) { + assert.truthy(e instanceof WebAssembly.CompileError); + assert.eq(e.message, "WebAssembly.Module doesn't validate: control flow returns with unexpected type, in function at index 0"); + } + } + + assert.asyncTest(test()); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial:100}).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + try { + let {module, instance} = await WebAssembly.instantiate(bin, {imp: {memory: 20}}); + } catch(e) { + assert.eq(e.message, "Memory import imp:memory is not an instance of WebAssembly.Memory"); + } + } + + assert.asyncTest(test()); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial:100}).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + try { + const module = new WebAssembly.Module(bin); + let instance = await WebAssembly.instantiate(bin, {imp: {memory: 20}}); + } catch(e) { + assert.eq(e.message, "Memory import imp:memory is not an instance of WebAssembly.Memory"); + } + } + + assert.asyncTest(test()); +} + +{ + const builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + let module = new WebAssembly.Module(bin); + let instance = await WebAssembly.instantiate(module); + assert.truthy(instance instanceof WebAssembly.Instance); + assert.eq(instance.exports.foo(20), 1); + } + + assert.asyncTest(test()); +} + +{ + const builder = (new Builder()) + .Type().End() + .Import().Memory("imp", "memory", {initial:100}).End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(1) + .End() + .End(); + + const bin = builder.WebAssembly().get(); + + async function test() { + try { + await WebAssembly.instantiate(25); + } catch(e) { + // FIXME: Better error message here. + assert.eq(e.message, "first argument must be an ArrayBufferView or an ArrayBuffer (evaluating 'WebAssembly.instantiate(25)')"); + } + } + + assert.asyncTest(test()); +} diff --git a/implementation-contributed/javascriptcore/wasm/js-api/wrapper-function.js b/implementation-contributed/javascriptcore/wasm/js-api/wrapper-function.js new file mode 100644 index 0000000000..e3bc398653 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/js-api/wrapper-function.js @@ -0,0 +1,151 @@ +import Builder from '../Builder.js'; +import * as assert from '../assert.js'; + + +function exportImport(type) { + let builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "f", type) + .End() + .Function().End() + .Export() + .Function("func", {module: "imp", field: "f"}) + .End() + .Code().End(); + return new WebAssembly.Module(builder.WebAssembly().get()); +} + +{ + let type = { params: ["i32"], ret: "i32" }; + let module = exportImport(type); + let called = false; + let foo = (i) => { + called = true; + return i + 42; + }; + let instance = new WebAssembly.Instance(module, {imp: {f: foo}}); + assert.truthy(instance.exports.func !== foo); + for (let i = 0; i < 100; i++) { + let r1 = instance.exports.func(i); + assert.truthy(called); + called = false; + let r2 = foo(i); + called = false; + assert.eq(r1, r2); + } + + { + let builder = (new Builder()) + .Type().End() + .Import() + .Function("imp", "f", {params: []}) + .End() + .Function().End() + .Code().End(); + let module = new WebAssembly.Module(builder.WebAssembly().get()); + // This should not type check. + assert.throws(() => new WebAssembly.Instance(module, {imp: {f: instance.exports.func}}), WebAssembly.LinkError, "imported function imp:f signature doesn't match the provided WebAssembly function's signature"); + } + + { + assert.truthy(typeof instance.exports.func === "function", "is_function bytecode should handle wrapper function."); + let value = typeof instance.exports.func; + assert.eq(value, "function", "the result of typeof should be 'function'"); + } +} + +{ + const tableDescription = {element: "anyfunc", initial: 2}; + function makeInstance(type, imp) { + const builder = new Builder() + .Type() + .Func(["i32"], "i32") + .Func(["i32", "i32"], "i32") + .End() + .Import() + .Table("imp", "table", tableDescription) + .Function("imp", "f1", {params: ["i32"], ret:"i32"}) + .Function("imp", "f2", {params: ["i32", "i32"], ret:"i32"}) + .End() + .Function().End() + .Export() + .Function("foo") + .End() + .Element() + .Element({offset: 0, functionIndices: [0, 1]}) + .End() + .Code() + .Function("foo", 1) + .GetLocal(1) // parameter to call + .GetLocal(0) // call index + .CallIndirect(0, 0) // calling function of type ['i32'] => 'i32' + .Return() + .End() + .End(); + let module = new WebAssembly.Module(builder.WebAssembly().get()); + return new WebAssembly.Instance(module, imp); + } + + function Bar(){}; + noInline(Bar); + let called = false; + let foo = (i) => { + called = true; + new Bar; + return i*42; + } + let table = new WebAssembly.Table(tableDescription); + let inst = makeInstance({params:['i32'], ret:"i32"}, {imp: {f1: foo, f2:foo, table}}); + for (let i = 0; i < 1000; i++) { + let r1 = inst.exports.foo(0, i); + assert.truthy(called); + called = false; + let r2 = foo(i); + assert.truthy(called); + called = false; + assert.eq(r1, r2); + } + for (let i = 0; i < 1000; i++) { + assert.throws(() => inst.exports.foo(1, i), WebAssembly.RuntimeError, "call_indirect to a signature that does not match"); + assert.truthy(!called); + } + for (let i = 0; i < 1000; i++) { + let r1 = table.get(0)(i); + table.set(0, table.get(0)); // just make sure setting a wrapper function works. + assert.truthy(called); + called = false; + let r2 = table.get(1)(i); + assert.truthy(called); + called = false; + assert.eq(r1, r2); + } + + { + let nextInst = makeInstance({params:['i32'], ret:"i32"}, {imp: {f1: table.get(0), f2:inst.exports.foo, table}}); + for (let i = 0; i < 1000; i++) { + let r1 = nextInst.exports.foo(0, i); + assert.truthy(called); + called = false; + let r2 = foo(i); + assert.truthy(called); + called = false; + assert.eq(r1, r2); + } + + for (let i = 0; i < 1000; i++) { + assert.throws(() => nextInst.exports.foo(1, i), WebAssembly.RuntimeError, "call_indirect to a signature that does not match"); + assert.truthy(!called); + } + + for (let i = 0; i < 1000; i++) { + let r1 = table.get(1)(0, i); + assert.truthy(called); + called = false; + let r2 = foo(i); + assert.truthy(called); + called = false; + assert.eq(r1, r2); + } + } +} diff --git a/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/executable-memory-oom.js b/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/executable-memory-oom.js new file mode 100644 index 0000000000..e00aada8f1 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/executable-memory-oom.js @@ -0,0 +1,121 @@ +import * as assert from '../assert.js' +import Builder from '../Builder.js' + +const verbose = false; +const maxInstructionCount = 500; +const instancesTotal = 8; +const invocationsTotal = 8; +const tierUpCalls = 20000; // Call enough to trigger tier up and get it to compile. + +// This test starts running with a few bytes of executable memory available. Try +// to create and instantiate a module which will fail to fit. + +const randomProgram = instructionCount => { + let b = new Builder() + .Type().End() + .Function().End() + .Export() + .Function("foo") + .Function("bar") + .End() + .Code() + .Function("foo", { params: [], ret: "f32" }) + .F32Const(2.0) + .Return() + .End() + .Function("bar", { params: ["f32", "f32"], ret: "f32" }) + .GetLocal(0); + + // Insert a bunch of dependent instructions in a single basic block so that + // our compiler won't be able to strength-reduce. + const actions = [ + b => b.GetLocal(0).F32Sub(), + b => b.GetLocal(1).F32Sub(), + b => b.GetLocal(0).F32Add(), + b => b.GetLocal(1).F32Add(), + b => b.GetLocal(0).F32Mul(), + b => b.GetLocal(1).F32Mul(), + ]; + + while (--instructionCount) + b = actions[(Math.random() * actions.length) | 0](b); + + b = b.Return().End().End(); + + return b.WebAssembly().get(); +} + +let failCount = 0; +let callCount = 0; +let instances = []; + +const invoke = (instance, count) => { + if (verbose) + print(`Invoking`); + for (let i = 0; i < count; ++i) + assert.eq(instance.exports["foo"](), 2.0); + for (let i = 0; i < count; ++i) + instance.exports["bar"](2.0, 6.0); + ++callCount; +}; + +while (failCount === 0) { + const instructionCount = (Math.random() * maxInstructionCount + 1) | 0; + + if (verbose) + print(`Trying module with ${instructionCount} instructions.`); + + const buf = randomProgram(instructionCount); + let module; + + try { + module = new WebAssembly.Module(buf); + } catch (e) { + if (e instanceof WebAssembly.CompileError) { + if (verbose) + print(`Caught: ${e}`); + ++failCount; + } + else + throw new Error(`Expected a WebAssembly.CompileError, got ${e}`); + } + + if (module !== undefined) { + if (verbose) + print(`Creating instance`); + + let instance; + try { + instance = new WebAssembly.Instance(module); + } catch (e) { + if (e instanceof WebAssembly.LinkError) { + if (verbose) + print(`Caught: ${e}`); + ++failCount; + } + else + throw new Error(`Expected a WebAssembly.LinkError, got ${e}`); + } + + if (instance !== undefined) { + instances.push(instance); + invoke(instance, 1); + } + } +} + +if (callCount === 0) + throw new Error(`Expected to be able to allocate a WebAssembly module, instantiate it, and call its exports at least once`); + +// Make sure we can still call all the instances we create, even after going +// OOM. This will try to force tier-up as well, which should fail. + +if (verbose) + print(`Invoking all previously created instances`); + +for (let instance of instances) + invoke(instance, tierUpCalls); + +// Do it twice to revisit what should have gotten tiered up. +for (let instance of instances) + invoke(instance, 1); diff --git a/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/exports-oom.js b/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/exports-oom.js new file mode 100644 index 0000000000..0c3270ada0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/exports-oom.js @@ -0,0 +1,107 @@ +import * as assert from '../assert.js' +import Builder from '../Builder.js' + +const verbose = false; +const numFunctions = 2; +const maxParams = 128; + +// This test starts running with a few bytes of executable memory available. Try +// to create and instantiate modules which have way more exports than anything +// else. Hopefully they'll fail when trying to instantiate their entrypoints. + +const type = () => { + const types = ["i32", "f32", "f64"]; // Can't export i64. + return types[(Math.random() * types.length) | 0]; +}; + +const params = () => { + let p = []; + let count = (Math.random() * maxParams) | 0; + while (count--) + p.push(type()); + return p; +}; + +const randomProgram = () => { + let b = new Builder() + .Type().End() + .Function().End() + .Export(); + for (let f = 0; f < numFunctions; ++f) + b = b.Function(`f${f}`); + b = b.End().Code(); + for (let f = 0; f < numFunctions; ++f) + b = b.Function(`f${f}`, { params: params() }).Return().End(); + b = b.End(); + return b.WebAssembly().get(); +} + +let failCount = 0; +let callCount = 0; +let instances = []; + +const invoke = instance => { + let result = 0; + for (let f = 0; f < numFunctions; ++f) { + const name = `f${f}`; + if (verbose) + print(`Invoking ${name}`); + result += instance.exports[name](); + ++callCount; + } + return result; +}; + +while (failCount === 0) { + if (verbose) + print(`Trying...`); + + const buf = randomProgram(); + let module; + + try { + module = new WebAssembly.Module(buf); + } catch (e) { + if (e instanceof WebAssembly.CompileError) { + if (verbose) + print(`Caught: ${e}`); + ++failCount; + } + else + throw new Error(`Expected a WebAssembly.CompileError, got ${e}`); + } + + if (module !== undefined) { + if (verbose) + print(`Creating instance`); + + let instance; + try { + instance = new WebAssembly.Instance(module); + } catch (e) { + if (e instanceof WebAssembly.LinkError) { + if (verbose) + print(`Caught: ${e}`); + ++failCount; + } + else + throw new Error(`Expected a WebAssembly.LinkError, got ${e}`); + } + + if (instance !== undefined) { + instances.push(instance); + invoke(instance); + } + } +} + +if (callCount === 0) + throw new Error(`Expected to be able to allocate a WebAssembly module, instantiate it, and call its exports at least once`); + +// Make sure we can still call all the instances we create, even after going OOM. + +if (verbose) + print(`Invoking all previously created instances`); + +for (let instance of instances) + invoke(instance); diff --git a/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/imports-oom.js b/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/imports-oom.js new file mode 100644 index 0000000000..44cd973740 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/lowExecutableMemory/imports-oom.js @@ -0,0 +1,124 @@ +import * as assert from '../assert.js' +import Builder from '../Builder.js' + +const verbose = false; +const numFunctions = 2; +const maxParams = 32; + +// This test starts running with a few bytes of executable memory available. Try +// to create and instantiate modules which have way more imports than anything +// else. Hopefully they'll fail when trying to instantiate their entrypoints. + +const type = () => { + const types = ["i32", "f32", "f64"]; + return types[(Math.random() * types.length) | 0]; +}; + +const params = () => { + let p = []; + let count = (Math.random() * maxParams) | 0; + while (count--) + p.push(type()); + return p; +}; + +const randomProgram = () => { + let b = new Builder() + .Type().End() + .Import(); + const ps = params(); + for (let f = 0; f < numFunctions; ++f) + b = b.Function("imp", `${f}`, { params: ps }); + b = b.End() + .Function().End() + .Export(); + for (let f = 0; f < numFunctions; ++f) + b = b.Function(`call${f}`); + b = b.End() + .Code(); + for (let f = 0; f < numFunctions; ++f) { + b = b.Function(`call${f}`, { params: ps }); + for (let p = 0; p < ps.length; ++p) + b = b.GetLocal(p); + b = b.Call(f).End(); + } + b = b.End(); + return b.WebAssembly().get(); +} + +let failCount = 0; +let callCount = 0; +let instances = []; + +let imports = []; +for (let f = 0; f < numFunctions; ++f) + imports.push((...args) => { + if (verbose) + print(`Invoked ${f} with: ${args}`); + ++callCount; + }); + +const invoke = instance => { + let result = 0; + for (let f = 0; f < numFunctions; ++f) { + const name = `call${f}`; + if (verbose) + print(`Invoking ${name}`); + result += instance.exports[name](); + } + return result; +}; + +while (failCount === 0) { + if (verbose) + print(`Trying...`); + + const buf = randomProgram(); + let module; + + try { + module = new WebAssembly.Module(buf); + } catch (e) { + if (e instanceof WebAssembly.CompileError) { + if (verbose) + print(`Caught: ${e}`); + ++failCount; + } + else + throw new Error(`Expected a WebAssembly.CompileError, got ${e}`); + } + + if (module !== undefined) { + if (verbose) + print(`Creating instance`); + + let instance; + try { + instance = new WebAssembly.Instance(module, { imp: imports }); + } catch (e) { + if (e instanceof WebAssembly.LinkError) { + if (verbose) + print(`Caught: ${e}`); + ++failCount; + } + else + throw new Error(`Expected a WebAssembly.LinkError, got ${e}`); + } + + if (instance !== undefined) { + instances.push(instance); + invoke(instance); + } + } +} + +if (callCount === 0) + throw new Error(`Expected to be able to allocate a WebAssembly module, instantiate it, and call its exports at least once`); + +// Make sure we can still call all the instances we create, even after going OOM. + +if (verbose) + print(`Invoking all previously created instances`); + +for (let instance of instances) + invoke(instance); diff --git a/implementation-contributed/javascriptcore/wasm/modules/constant.wasm b/implementation-contributed/javascriptcore/wasm/modules/constant.wasm new file mode 100644 index 0000000000000000000000000000000000000000..106abdf698f9e2c55520b7badb0787d4b7eeea9d GIT binary patch literal 30 lcmZQbEY4+QU|?WlW2|Rz)Z%96VdO~8&nqrT%qwAL002zX1ZmI8$X*m43)j0b{(h6D;eh1Fi&8RXdrfL@ZQQWL0h(Z##;HNIHq XG0NJbzYl1Hu$E@-2D+0LfdSS3{*etG literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle/sum.wat b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle/sum.wat new file mode 100644 index 0000000000..3e223f76ce --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-cycle/sum.wat @@ -0,0 +1,7 @@ +(module + (import "./entry.js" "return42" (func $return42 (result i32))) + (type $t0 (func (param i32 i32) (result i32))) + (func $sum (export "sum") (type $t0) (param $p0 i32) (param $p1 i32) (result i32) + get_local $p1 + get_local $p0 + i32.add)) diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-function-namespace.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-function-namespace.js new file mode 100644 index 0000000000..054db030aa --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-function-namespace.js @@ -0,0 +1,11 @@ +import * as sum from "./sum.wasm" +import * as assert from '../assert.js'; + +assert.isObject(sum); +assert.isFunction(sum.sum); +assert.eq(sum.sum(32, 42), 74); +assert.eq(sum.sum(-2, 42), 40); + +assert.throws(() => { + sum.sum = 32; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-function.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-function.js new file mode 100644 index 0000000000..0be5b81f3a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-function.js @@ -0,0 +1,10 @@ +import { sum } from "./sum.wasm" +import * as assert from '../assert.js'; + +assert.isFunction(sum); +assert.eq(sum(32, 42), 74); +assert.eq(sum(-2, 42), 40); + +assert.throws(() => { + sum = 32; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-global-namespace.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-global-namespace.js new file mode 100644 index 0000000000..52a4dfabd8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-global-namespace.js @@ -0,0 +1,8 @@ +import * as constant from "./constant.wasm" +import * as assert from '../assert.js'; + +assert.isNumber(constant.constant); +assert.eq(constant.constant, 42); +assert.throws(() => { + constant.constant = 200; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-global.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-global.js new file mode 100644 index 0000000000..5ae7929ac7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-global.js @@ -0,0 +1,8 @@ +import { constant } from "./constant.wasm" +import * as assert from '../assert.js'; + +assert.isNumber(constant); +assert.eq(constant, 42); +assert.throws(() => { + constant = 200; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory-namespace.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory-namespace.js new file mode 100644 index 0000000000..bd32e3a6ef --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory-namespace.js @@ -0,0 +1,12 @@ +import * as memory from "./memory.wasm" +import * as assert from '../assert.js'; + +assert.instanceof(memory.memory, WebAssembly.Memory); +let buffer = new Uint8Array(memory.memory.buffer); +assert.eq(buffer[4], 0x10); +assert.eq(buffer[5], 0x00); +assert.eq(buffer[6], 0x10); +assert.eq(buffer[7], 0x00); +assert.throws(() => { + memory.memory = 200; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory.js new file mode 100644 index 0000000000..ed5eccf83c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-memory.js @@ -0,0 +1,12 @@ +import { memory } from "./memory.wasm" +import * as assert from '../assert.js'; + +assert.instanceof(memory, WebAssembly.Memory); +let buffer = new Uint8Array(memory.buffer); +assert.eq(buffer[4], 0x10); +assert.eq(buffer[5], 0x00); +assert.eq(buffer[6], 0x10); +assert.eq(buffer[7], 0x00); +assert.throws(() => { + memory = 200; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-start.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-start.js new file mode 100644 index 0000000000..c2274c04fa --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-start.js @@ -0,0 +1,9 @@ +import * as assert from '../assert.js'; + +Promise.all([ + import("./start.wasm"), + import("./start.wasm"), +]).then(([start0, start1]) => { + assert.eq(start0, start1); + assert.eq(start0.get(), 1); +}, $vm.abort); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-table-namespace.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-table-namespace.js new file mode 100644 index 0000000000..a9cc3ba19e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-table-namespace.js @@ -0,0 +1,15 @@ +import * as table from "./table.wasm" +import * as assert from '../assert.js'; + +assert.instanceof(table.table, WebAssembly.Table); +assert.eq(table.table.length, 3); +assert.isFunction(table.table.get(0)); +assert.isFunction(table.table.get(1)); +assert.eq(table.table.get(2), null); + +assert.eq(table.table.get(0)(), 42); +assert.eq(table.table.get(1)(), 83); + +assert.throws(() => { + table.table = 32; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/js-wasm-table.js b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-table.js new file mode 100644 index 0000000000..a27f51c2b3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/js-wasm-table.js @@ -0,0 +1,15 @@ +import { table } from "./table.wasm" +import * as assert from '../assert.js'; + +assert.instanceof(table, WebAssembly.Table); +assert.eq(table.length, 3); +assert.isFunction(table.get(0)); +assert.isFunction(table.get(1)); +assert.eq(table.get(2), null); + +assert.eq(table.get(0)(), 42); +assert.eq(table.get(1)(), 83); + +assert.throws(() => { + table = 32; +}, TypeError, `Attempted to assign to readonly property.`); diff --git a/implementation-contributed/javascriptcore/wasm/modules/memory.wasm b/implementation-contributed/javascriptcore/wasm/modules/memory.wasm new file mode 100644 index 0000000000000000000000000000000000000000..fb69610824bf8f59cfa16691ef35e9a3157f50ed GIT binary patch literal 37 scmZQbEY4+QU|?WnW@Hd#=VD~bP0h_Os$^o|=3-=UWZ`BJU=Uyc0Ad{kng9R* literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/memory.wat b/implementation-contributed/javascriptcore/wasm/modules/memory.wat new file mode 100644 index 0000000000..27a3b114e9 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/memory.wat @@ -0,0 +1,3 @@ +(module + (memory $memory (export "memory") 17) + (data (i32.const 4) "\10\00\10\00")) diff --git a/implementation-contributed/javascriptcore/wasm/modules/run-from-wasm.wasm b/implementation-contributed/javascriptcore/wasm/modules/run-from-wasm.wasm new file mode 100644 index 0000000000000000000000000000000000000000..87345e6cec55dac6aadbdc2f462e32675834a131 GIT binary patch literal 71 zcmZQbEY4+QU|?Y6U`k+MNMNjIU{Yd~(9s&;AUrMWKK^l0ZKD6a0xJRGAJ`R NGG?hTaI*ke+yK;01|a|d literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/start.wat b/implementation-contributed/javascriptcore/wasm/modules/start.wat new file mode 100644 index 0000000000..7744e42ab2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/start.wat @@ -0,0 +1,12 @@ +(module + (global $g0 (mut i32) i32.const 0) + (type $t0 (func)) + (func $increment (type $t0) + get_global $g0 + i32.const 1 + i32.add + set_global $g0) + (start $increment) + (type $t1 (func (result i32))) + (func $get (export "get") (type $t1) (result i32) + get_global $g0)) diff --git a/implementation-contributed/javascriptcore/wasm/modules/sum.wasm b/implementation-contributed/javascriptcore/wasm/modules/sum.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4c722a7c3b7fe21039c4846341ab14dfa9a499cf GIT binary patch literal 41 wcmZQbEY4+QU|?WmXG~zKuV<`hW@2PuXJ=$CF3n|N;NoOtXHZ~NV94SI0DheXY5)KL literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/sum.wat b/implementation-contributed/javascriptcore/wasm/modules/sum.wat new file mode 100644 index 0000000000..ba3f2a3593 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/sum.wat @@ -0,0 +1,6 @@ +(module + (type $t0 (func (param i32 i32) (result i32))) + (func $sum (export "sum") (type $t0) (param $p0 i32) (param $p1 i32) (result i32) + get_local $p1 + get_local $p0 + i32.add)) diff --git a/implementation-contributed/javascriptcore/wasm/modules/table.wasm b/implementation-contributed/javascriptcore/wasm/modules/table.wasm new file mode 100644 index 0000000000000000000000000000000000000000..7408c469a913e623fcd807697badcd38ded73bc9 GIT binary patch literal 61 zcmV~$(G5UA5Jl1ZW@o}$mFQwRu@ZkI68;sbA?MKVQ-DG%dP^~I*F_ns;_2J5i#m#= N8JcEua%n++v>(`*2IK$$ literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/table.wat b/implementation-contributed/javascriptcore/wasm/modules/table.wat new file mode 100644 index 0000000000..6a6b699621 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/table.wat @@ -0,0 +1,5 @@ +(module + (table $table (export "table") 3 anyfunc) + (func $f0 (result i32) i32.const 42) + (func $f1 (result i32) i32.const 83) + (elem (i32.const 0) $f0 $f1)) diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-import-wasm-export-i64-error.js b/implementation-contributed/javascriptcore/wasm/modules/wasm-import-wasm-export-i64-error.js new file mode 100644 index 0000000000..75ed5693ec --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-import-wasm-export-i64-error.js @@ -0,0 +1,4 @@ +import * as assert from '../assert.js'; +import("./wasm-imports-wasm-exports-i64-error/imports.wasm").then($vm.abort, function (error) { + assert.eq(String(error), `Error: exported global cannot be an i64`); +}).catch($vm.abort); diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports.js b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports.js new file mode 100644 index 0000000000..709d0bcad8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports.js @@ -0,0 +1,7 @@ +import { addOne } from "./wasm-imports-js-exports/imports.wasm" +import * as assert from '../assert.js'; + +assert.isFunction(addOne); +assert.eq(addOne(32), 33); +assert.eq(addOne(-2), -1); +assert.eq(addOne(0x7fffffff), -2147483648); diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wasm b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wasm new file mode 100644 index 0000000000000000000000000000000000000000..55d87e618fb166d735a3aa15769ffb46385481da GIT binary patch literal 68 zcmZQbEY4+QU|?Y6VM<`EXRJ?Pst1xx0*oAb`o*QWdRfKHK#GBpnTe5sor{qzF(t)6 UFO`9ji;Izi!I4pcL4bi90L7FG#{d8T literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wat b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wat new file mode 100644 index 0000000000..75112e0e45 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/imports.wat @@ -0,0 +1,7 @@ +(module + (import "./sum.js" "sum" (func $sum (param i32 i32) (result i32))) + (type $t0 (func (param i32) (result i32))) + (func $addOne (export "addOne") (type $t0) (param $p0 i32) (result i32) + i32.const 1 + get_local $p0 + call $sum)) diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/sum.js b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/sum.js new file mode 100644 index 0000000000..ad83b6739c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-exports/sum.js @@ -0,0 +1,4 @@ +export function sum(arg0, arg1) +{ + return arg0 + arg1; +} diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports.js b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports.js new file mode 100644 index 0000000000..274a6d23d8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports.js @@ -0,0 +1,15 @@ +import { addOne, getAnswer, table } from "./wasm-imports-js-re-exports-wasm-exports/imports.wasm" +import * as assert from '../assert.js'; + +assert.isFunction(addOne); +assert.eq(addOne(32), 33); +assert.eq(addOne(-2), -1); +assert.eq(addOne(0x7fffffff), -2147483648); + +assert.eq(getAnswer(), 42); + +assert.eq(table.length, 4); +assert.eq(table.get(0)(1, 2), 3); +assert.eq(table.get(1)(-1), 0); +assert.eq(table.get(2), null); +assert.eq(table.get(3), null); diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm new file mode 100644 index 0000000000000000000000000000000000000000..25b8e704dd4ad3158996b14696dd81770ce467c2 GIT binary patch literal 163 zcmZ9DOA5k35Cva%$9x>noInKEiD$^poma?68bOj6W=3>3S9cIsSv)AJc(8sV08~p) zkz$WDj*0jpyY}p~(a-X9p?!GquL-=8xt;x6okXm{CfM7kv>+22Cu{!SIyrs6IisgL(f%s41 literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/imports.wat b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/imports.wat new file mode 100644 index 0000000000..63c1d2c8d2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/imports.wat @@ -0,0 +1,28 @@ +(module + (import "./sum.wasm" "sum" (func $sum (param i32 i32) (result i32))) + (import "./sum.wasm" "answer" (global i32)) + (import "./sum.wasm" "answer1" (global f32)) + (import "./sum.wasm" "answer2" (global f64)) + (import "./sum.wasm" "answer3" (global f32)) + (import "./sum.wasm" "answer4" (global f64)) + (import "./sum.wasm" "table" (table $table 4 anyfunc)) + (type $t0 (func (param i32) (result i32))) + (func $addOne (export "addOne") (type $t0) (param $p0 i32) (result i32) + i32.const 1 + get_local $p0 + call $sum) + (type $t1 (func (result i32))) + (func $getAnswer (export "getAnswer") (type $t1) (result i32) + get_global 0) + (type $t2 (func (result f32))) + (func $getAnswer1 (export "getAnswer1") (type $t2) (result f32) + get_global 1) + (type $t3 (func (result f64))) + (func $getAnswer2 (export "getAnswer2") (type $t3) (result f64) + get_global 2) + (func $getAnswer3 (export "getAnswer3") (type $t2) (result f32) + get_global 3) + (func $getAnswer4 (export "getAnswer4") (type $t3) (result f64) + get_global 4) + (export "table" (table $table)) + (elem (i32.const 1) $addOne $getAnswer $getAnswer1)) diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/sum.wasm b/implementation-contributed/javascriptcore/wasm/modules/wasm-imports-wasm-exports/sum.wasm new file mode 100644 index 0000000000000000000000000000000000000000..4864c636ce59d9e81e69d9bc5dc2de1249f1f437 GIT binary patch literal 161 zcmYMqJqp4=6a?UzyiFc)FOk|p@TZSK58?`G#7J-z8|7Wiqj(HU7qZ|q^DzuU90-8Q zLt#dff^d!_T(u|--Q2&hONZ7!u}_`yX{YUN|LtpDw_4u9@!S&^zJdMX4pF WMR_Jh42)b{j2sM(jEf2P)twN-ZfZ$}=%yU}R=u aWMF4!WG*hvWnkpuWMpShU{qkp;syXNL=F4^ literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/sum.wat b/implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/sum.wat new file mode 100644 index 0000000000..91d8da91c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/modules/wasm-wasm-cycle/sum.wat @@ -0,0 +1,7 @@ +(module + (import "./entry.wasm" "return42" (func $return42 (result i32))) + (type $t0 (func (param i32 i32) (result i32))) + (func $sum (export "sum") (type $t0) (param $p0 i32) (param $p1 i32) (result i32) + get_local $p1 + get_local $p0 + i32.add)) diff --git a/implementation-contributed/javascriptcore/wasm/noJIT/noJIT.js b/implementation-contributed/javascriptcore/wasm/noJIT/noJIT.js new file mode 100644 index 0000000000..af6d0e4de0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/noJIT/noJIT.js @@ -0,0 +1,2 @@ +if (typeof WebAssembly !== "undefined") + throw new Error("Expect WebAssembly global object is undefined if JIT is off"); diff --git a/implementation-contributed/javascriptcore/wasm/regress/175693.js b/implementation-contributed/javascriptcore/wasm/regress/175693.js new file mode 100644 index 0000000000..b1ec7388b1 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/regress/175693.js @@ -0,0 +1,46 @@ +const file = "175693.wasm"; + +const verbose = false; + +if (typeof console === 'undefined') { + console = { log: print }; +} +var binary; +if (typeof process === 'object' && typeof require === 'function' /* node.js detection */) { + var args = process.argv.slice(2); + binary = require('fs').readFileSync(file); + if (!binary.buffer) binary = new Uint8Array(binary); +} else { + var args; + if (typeof scriptArgs != 'undefined') { + args = scriptArgs; + } else if (typeof arguments != 'undefined') { + args = arguments; + } + if (typeof readbuffer === 'function') { + binary = new Uint8Array(readbuffer(file)); + } else { + binary = read(file, 'binary'); + } +} +var instance = new WebAssembly.Instance(new WebAssembly.Module(binary), {}); +if (instance.exports.hangLimitInitializer) instance.exports.hangLimitInitializer(); +try { + if (verbose) + console.log('calling: func_0'); + instance.exports.func_0(); +} catch (e) { + if (verbose) + console.log(' exception: ' + e); +} +if (instance.exports.hangLimitInitializer) instance.exports.hangLimitInitializer(); +try { + if (verbose) + console.log('calling: hangLimitInitializer'); + instance.exports.hangLimitInitializer(); +} catch (e) { + if (verbose) + console.log(' exception: ' + e); +} +if (verbose) + console.log('done.') diff --git a/implementation-contributed/javascriptcore/wasm/regress/175693.wasm b/implementation-contributed/javascriptcore/wasm/regress/175693.wasm new file mode 100644 index 0000000000000000000000000000000000000000..1b6b5255eed3702938fee893ccb6dfd867a69a68 GIT binary patch literal 456 zcmZXQy-UMT6vgj-d5Pe)ricVe1|#hx9h{tdQ!@x|qKiWl#E+mYepJwsvOF^)Dmd8Du`#bMFh|anQ061%e03oKBhL~Vtm{Oag}(`-MGKji~DhO6c2V!0jEboz6lhWXw@N*Et~4Vc-R1;_%^>3 zYSQJKuZ)j_3I-%I4?N&pxgPRp;F>o1MS&ZERQx_fQv>om)01ufVH7|tD?r3L&mW(! z*}s|s$#r?*qzQubrJlhQExuOTVWqbWeo%oPmW0#RpV1NNWQBjH{QO7i%EQe-raGB- zI4Re_;rkNS1jnrkv;9~U1yT8);SAU=_yvylFMd(-vI$s1C`dASTX<5Lv c2GE=)c(5%~56p3#$QfIaOtiIH5=s$$14<@lU;qFB literal 0 HcmV?d00001 diff --git a/implementation-contributed/javascriptcore/wasm/regress/183342.js b/implementation-contributed/javascriptcore/wasm/regress/183342.js new file mode 100644 index 0000000000..3e485fd176 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/regress/183342.js @@ -0,0 +1,57 @@ +const verbose = false; + +{ + // The simplest module with a DataView offset. + let buffer = new Uint8Array(16); + buffer[ 8] = 0x00; // \0 + buffer[ 9] = 0x61; // a + buffer[10] = 0x73; // s + buffer[11] = 0x6d; // m + buffer[12] = 0x01; // version + buffer[13] = 0x00; // version + buffer[14] = 0x00; // version + buffer[15] = 0x00; // version + const view = new DataView(buffer.buffer, 8); + const module = new WebAssembly.Module(view); + const instance = new WebAssembly.Instance(module); +} + +{ + // A bunch of random offsets into large buffers with mostly valid content. + const headerSize = 16; + const roundToHeaderSize = s => Math.round(s / headerSize) * headerSize; + for (let attempt = 0; attempt < 100; ++attempt) { + const bufferSize = Math.max(roundToHeaderSize(Math.random() * 0xffff), headerSize * 2); + let buffer = new Uint8Array(bufferSize); + for (let i = 0; i < bufferSize; i += headerSize) { + buffer[ 0 + i] = 0x00; // \0 + buffer[ 1 + i] = 0x61; // a + buffer[ 2 + i] = 0x73; // s + buffer[ 3 + i] = 0x6d; // m + buffer[ 4 + i] = 0x01; // version + buffer[ 5 + i] = 0x00; // version + buffer[ 6 + i] = 0x00; // version + buffer[ 7 + i] = 0x00; // version + buffer[ 8 + i] = 0x00; // ID = custom + buffer[ 9 + i] = 0x80 | Math.round(Math.random() * 0x7f); // section byte size, LEB128 + buffer[10 + i] = 0x80 | Math.round(Math.random() * 0x7f); // section byte size, LEB128 + buffer[11 + i] = 0x00 | Math.round(Math.random() * 0x7f); // section byte size, LEB128 + buffer[12 + i] = 0x04; // custom section name length, LEB128 + buffer[13 + i] = 0x42; // B + buffer[14 + i] = 0x4f; // O + buffer[15 + i] = 0X4f; // O + buffer[16 + i] = 0x4d; // M + } + const viewOffset = roundToHeaderSize(Math.random() * bufferSize); + if (verbose) + print("Buffer size: ", bufferSize, " view offset: ", viewOffset, " view size: ", bufferSize - viewOffset); + const view = new DataView(buffer.buffer, viewOffset); + try { + const module = new WebAssembly.Module(view); + const instance = new WebAssembly.Instance(module); + } catch (e) { + if (verbose) + print(e); + } + } +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_BuilderJSON.js b/implementation-contributed/javascriptcore/wasm/self-test/test_BuilderJSON.js new file mode 100644 index 0000000000..bb1b97b19d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_BuilderJSON.js @@ -0,0 +1,673 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +const assertOpThrows = (opFn, message) => { + let f = (new Builder()).Type().End().Code().Function(); + assert.throws(opFn, Error, message, f); +}; + +(function EmptyModule() { + const b = new Builder(); + const j = JSON.parse(b.json()); + assert.isNotUndef(j.preamble); + assert.isNotUndef(j.preamble["magic number"]); + assert.isNotUndef(j.preamble.version); + assert.isNotUndef(j.section); + assert.eq(j.section.length, 0); +})(); + +(function CustomMagicNumber() { + const b = (new Builder()).setPreamble({ "magic number": 1337 }); + const j = JSON.parse(b.json()); + assert.eq(j.preamble["magic number"], 1337); + assert.isNotUndef(j.preamble.version); +})(); + +(function CustomVersion() { + const b = (new Builder()).setPreamble({ "version": 1337 }); + const j = JSON.parse(b.json()); + assert.eq(j.preamble["version"], 1337); + assert.isNotUndef(j.preamble.version); +})(); + +(function CustomSection() { + const b = new Builder(); + b.Unknown("custom section") + .Byte(0x00) + .Byte(0x42) + .Byte(0xFF); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 1); + assert.eq(j.section[0].name, "custom section"); + assert.eq(j.section[0].data.length, 3); + assert.eq(j.section[0].data[0], 0x00); + assert.eq(j.section[0].data[1], 0x42); + assert.eq(j.section[0].data[2], 0xFF); +})(); + +(function CustomSectionAllBytes() { + const b = new Builder(); + let u = b.Unknown("custom section"); + for (let i = 0; i !== 0xFF + 1; ++i) + u.Byte(i); + const j = JSON.parse(b.json()); + assert.eq(j.section[0].data.length, 256); + for (let i = 0; i !== 0xFF + 1; ++i) + assert.eq(j.section[0].data[i], i); +})(); + +(function CustomSectionInvalidByte() { + const u = (new Builder()).Unknown("custom section"); + assert.throws(() => u.Byte(0xFF + 1), Error, `Not the same: "0" and "256": Unknown section expected byte, got: "256"`); +})(); + +(function TwoCustomSections() { + const b = new Builder(); + b.Unknown("custom section") + .Byte(0x00) + .Byte(0x42) + .Byte(0xFF) + .End() + .Unknown("☃") + .Byte(0x11); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 2); + assert.eq(j.section[0].name, "custom section"); + assert.eq(j.section[0].data.length, 3); + assert.eq(j.section[1].name, "☃"); + assert.eq(j.section[1].data.length, 1); + assert.eq(j.section[1].data[0], 0x11); +})(); + +(function SectionsWithSameCustomName() { + const b = (new Builder()).Unknown("foo").Byte(42).End().Unknown("foo").Byte(100).End(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 2); + assert.eq(j.section[0].name, "foo"); + assert.eq(j.section[0].data.length, 1); + assert.eq(j.section[0].data[0], 42); + assert.eq(j.section[1].name, "foo"); + assert.eq(j.section[1].data.length, 1); + assert.eq(j.section[1].data[0], 100); +})(); + +(function EmptyTypeSection() { + const b = (new Builder()).Type().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 1); + assert.eq(j.section[0].name, "Type"); + assert.eq(j.section[0].data.length, 0); +})(); + +(function TwoTypeSections() { + const b = (new Builder()).Type().End(); + assert.throws(() => b.Type(), Error, `Expected falsy: Cannot have two sections with the same name "Type" and ID 1`); +})(); + +(function SimpleTypeSection() { + const b = (new Builder()).Type() + .Func([]) + .Func([], "void") + .Func([], "i32") + .Func([], "i64") + .Func([], "f32") + .Func([], "f64") + .Func(["i32", "i64", "f32", "f64"]) + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[0].data.length, 7); + assert.eq(j.section[0].data[0].params, []); + assert.eq(j.section[0].data[0].ret, "void"); + assert.eq(j.section[0].data[1].params, []); + assert.eq(j.section[0].data[1].ret, "void"); + assert.eq(j.section[0].data[2].params, []); + assert.eq(j.section[0].data[2].ret, "i32"); + assert.eq(j.section[0].data[3].params, []); + assert.eq(j.section[0].data[3].ret, "i64"); + assert.eq(j.section[0].data[4].params, []); + assert.eq(j.section[0].data[4].ret, "f32"); + assert.eq(j.section[0].data[5].params, []); + assert.eq(j.section[0].data[5].ret, "f64"); + assert.eq(j.section[0].data[6].params, ["i32", "i64", "f32", "f64"]); + assert.eq(j.section[0].data[6].ret, "void"); +})(); + +(function EmptyImportSection() { + const b = (new Builder()).Import().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 1); + assert.eq(j.section[0].name, "Import"); + assert.eq(j.section[0].data.length, 0); +})(); + +(function ImportBeforeTypeSections() { + const b = (new Builder()).Import().End(); + assert.throws(() => b.Type(), Error, `Expected: "2" > "1": Bad section ordering: "Import" cannot precede "Type"`); +})(); + +(function ImportFunctionWithoutTypeSection() { + const i = (new Builder()).Import(); + assert.throws(() => i.Function("foo", "bar", 0), Error, `Shouldn't be undefined: Can not use type 0 if a type section is not present`); +})(); + +(function ImportFunctionWithInvalidType() { + const i = (new Builder()).Type().End().Import(); + assert.throws(() => i.Function("foo", "bar", 0), Error, `Shouldn't be undefined: Type 0 does not exist in type section`); +})(); + +(function ImportFunction() { + const b = (new Builder()) + .Type().Func([]).End() + .Import() + .Function("foo", "bar", 0) + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data.length, 1); + assert.eq(j.section[1].data[0].module, "foo"); + assert.eq(j.section[1].data[0].field, "bar"); + assert.eq(j.section[1].data[0].type, 0); + assert.eq(j.section[1].data[0].kind, "Function"); +})(); + +(function ImportFunctionsWithExistingTypes() { + const b = (new Builder()) + .Type() + .Func([]) + .Func([], "i32") + .Func(["i64", "i32"]) + .Func(["i64", "i64"]) + .End() + .Import() + .Function("foo", "bar", { params: [] }) + .Function("foo", "baz", { params: [], ret: "i32" }) + .Function("foo", "boo", { params: ["i64", "i64"] }) + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[0].data.length, 4); + assert.eq(j.section[1].data.length, 3); + assert.eq(j.section[1].data[0].type, 0); + assert.eq(j.section[1].data[1].type, 1); + assert.eq(j.section[1].data[2].type, 3); +})(); + +(function ImportFunctionWithNewType() { + const b = (new Builder()) + .Type().End() + .Import() + .Function("foo", "bar", { params: [] }) + .Function("foo", "baz", { params: [], ret: "i32" }) + .Function("foo", "boo", { params: ["i64", "i64"] }) + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[0].data.length, 3); + assert.eq(j.section[0].data[0].ret, "void"); + assert.eq(j.section[0].data[0].params, []); + assert.eq(j.section[0].data[1].ret, "i32"); + assert.eq(j.section[0].data[1].params, []); + assert.eq(j.section[0].data[2].ret, "void"); + assert.eq(j.section[0].data[2].params, ["i64", "i64"]); +})(); + +(function EmptyExportSection() { + const b = (new Builder()).Export().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 1); + assert.eq(j.section[0].name, "Export"); + assert.eq(j.section[0].data.length, 0); +})(); + +(function ExportFunctionWithoutTypeSection() { + const e = (new Builder()).Export(); + assert.throws(() => e.Function("foo", 0, 0), Error, `Shouldn't be undefined: Can not use type 0 if a type section is not present`); +})(); + +(function ExportFunctionWithInvalidType() { + const e = (new Builder()).Type().End().Export(); + assert.throws(() => e.Function("foo", 0, 0), Error, `Shouldn't be undefined: Type 0 does not exist in type section`); +})(); + +(function ExportAnImport() { + const b = (new Builder()) + .Type().End() + .Import().Function("foo", "bar", { params: [] }).End() + .Export().Function("ExportAnImport", { module: "foo", field: "bar" }).End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[2].name, "Export"); + assert.eq(j.section[2].data.length, 1); + assert.eq(j.section[2].data[0].field, "ExportAnImport"); + assert.eq(j.section[2].data[0].type, 0); + assert.eq(j.section[2].data[0].index, 0); + assert.eq(j.section[2].data[0].kind, "Function"); +})(); + +(function ExportMismatchedImport() { + const e = (new Builder()) + .Type().End() + .Import().Function("foo", "bar", { params: [] }).End() + .Export(); + assert.throws(() => e.Function("foo", 0, { params: ["i32"] }), Error, `Not the same: "1" and "0": Re-exporting import "bar" as "foo" has mismatching type`); +})(); + +(function StartInvalidNumberedFunction() { + const b = (new Builder()) + .Type().End() + .Function().End() + .Start(0).End() + assert.throws(() => b.Code().End(), Error, `Start section refers to non-existant function '0'`); +})(); + +(function StartInvalidNamedFunction() { + const b = (new Builder()) + .Type().End() + .Function().End() + .Start("foo").End(); + assert.throws(() => b.Code().End(), Error, `Start section refers to non-existant function 'foo'`); +})(); + +(function StartNamedFunction() { + const b = (new Builder()) + .Type().End() + .Function().End() + .Start("foo").End() + .Code() + .Function("foo", { params: [] }).End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 4); + assert.eq(j.section[2].name, "Start"); + assert.eq(j.section[2].data.length, 1); + assert.eq(j.section[2].data[0], 0); +})(); + +/* FIXME implement checking of signature https://bugs.webkit.org/show_bug.cgi?id=165658 +(function StartInvalidTypeArg() { + const b = (new Builder()) + .Type().End() + .Function().End() + .Start("foo").End() + assert.throws(() => b.Code().Function("foo", { params: ["i32"] }).End(), Error, `???`); +})(); + +(function StartInvalidTypeReturn() { + const b = (new Builder()) + .Type().End() + .Function().End() + .Start("foo").End() + assert.throws(() => b.Code().Function("foo", { params: [], ret: "i32" }).I32Const(42).Ret().End(), Error, `???`); +})(); +*/ + +// FIXME test start of import or table. https://bugs.webkit.org/show_bug.cgi?id=165658 + +(function EmptyCodeSection() { + const b = new Builder(); + b.Code(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 1); + assert.eq(j.section[0].name, "Code"); + assert.eq(j.section[0].data.length, 0); +})(); + +(function CodeSectionWithEmptyFunction() { + const b = new Builder(); + b.Type().End() + .Code() + .Function(); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 2); + assert.eq(j.section[0].name, "Type"); + assert.eq(j.section[0].data.length, 1); + assert.eq(j.section[0].data[0].params, []); + assert.eq(j.section[0].data[0].ret, "void"); + assert.eq(j.section[1].name, "Code"); + assert.eq(j.section[1].data.length, 1); + assert.eq(j.section[1].data[0].name, undefined); + assert.eq(j.section[1].data[0].type, 0); + assert.eq(j.section[1].data[0].parameterCount, 0); + assert.eq(j.section[1].data[0].locals.length, 0); + assert.eq(j.section[1].data[0].code.length, 0); +})(); + +(function CodeSectionWithEmptyFunctionWithParameters() { + const b = new Builder(); + b.Type().End() + .Code() + .Function({ params: ["i32", "i64", "f32", "f64"] }); + const j = JSON.parse(b.json()); + assert.eq(j.section.length, 2); + assert.eq(j.section[0].data.length, 1); + assert.eq(j.section[0].data[0].params, ["i32", "i64", "f32", "f64"]); + assert.eq(j.section[0].data[0].ret, "void"); + assert.eq(j.section[1].data.length, 1); + assert.eq(j.section[1].data[0].type, 0); + assert.eq(j.section[1].data[0].parameterCount, 4); + assert.eq(j.section[1].data[0].locals[0], "i32"); + assert.eq(j.section[1].data[0].locals[1], "i64"); + assert.eq(j.section[1].data[0].locals[2], "f32"); + assert.eq(j.section[1].data[0].locals[3], "f64"); + assert.eq(j.section[1].data[0].code.length, 0); +})(); + +(function InvalidFunctionParameters() { + for (let invalid of ["", "bool", "any", "struct", 0, 3.14, undefined, [], {}]) { + const c = (new Builder()).Code(); + assert.throws(() => c.Function({ params: [invalid] }), Error, `Expected truthy: Type parameter ${invalid} needs a valid value type`); + } +})(); + +(function SimpleFunction() { + const b = new Builder(); + b.Type().End() + .Code() + .Function() + .Nop() + .Nop() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data.length, 1); + assert.eq(j.section[1].data[0].locals.length, 0); + assert.eq(j.section[1].data[0].code.length, 3); + assert.eq(j.section[1].data[0].code[0].name, "nop"); + assert.eq(j.section[1].data[0].code[1].name, "nop"); + assert.eq(j.section[1].data[0].code[2].name, "end"); +})(); + +(function TwoSimpleFunctions() { + const b = new Builder(); + b.Type().End() + .Code() + .Function() + .Nop() + .Nop() + .End() + .Function() + .Return() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data.length, 2); + assert.eq(j.section[1].data[0].locals.length, 0); + assert.eq(j.section[1].data[0].code.length, 3); + assert.eq(j.section[1].data[0].code[0].name, "nop"); + assert.eq(j.section[1].data[0].code[1].name, "nop"); + assert.eq(j.section[1].data[0].code[2].name, "end"); + assert.eq(j.section[1].data[1].locals.length, 0); + assert.eq(j.section[1].data[1].code.length, 2); + assert.eq(j.section[1].data[1].code[0].name, "return"); + assert.eq(j.section[1].data[1].code[1].name, "end"); +})(); + +(function NamedFunctions() { + const b = new Builder().Type().End().Code() + .Function("hello").End() + .Function("world", { params: ["i32"] }).End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].name, "hello"); + assert.eq(j.section[1].data[0].parameterCount, 0); + assert.eq(j.section[1].data[1].name, "world"); + assert.eq(j.section[1].data[1].parameterCount, 1); +})(); + +(function ExportSimpleFunctions() { + const b = (new Builder()) + .Type().End() + .Export() + .Function("foo", 0, { params: [] }) + .Function("bar") + .Function("betterNameForBar", "bar") + .End() + .Code() + .Function({ params: [] }).Nop().End() + .Function("bar", { params: [] }).Nop().End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[0].data.length, 1); + assert.eq(j.section[0].data[0].ret, "void"); + assert.eq(j.section[0].data[0].params, []); + assert.eq(j.section[1].data.length, 3); + assert.eq(j.section[1].data[0].field, "foo"); + assert.eq(j.section[1].data[0].type, 0); + assert.eq(j.section[1].data[0].index, 0); + assert.eq(j.section[1].data[0].kind, "Function"); + assert.eq(j.section[1].data[1].field, "bar"); + assert.eq(j.section[1].data[1].type, 0); + assert.eq(j.section[1].data[1].index, 1); + assert.eq(j.section[1].data[1].kind, "Function"); + assert.eq(j.section[1].data[2].field, "betterNameForBar"); + assert.eq(j.section[1].data[2].type, 0); + assert.eq(j.section[1].data[2].index, 1); + assert.eq(j.section[1].data[2].kind, "Function"); +})(); + +(function ExportUndefinedFunction() { + const c = (new Builder()).Type().End().Export().Function("foo").End().Code(); + assert.throws(() => c.End(), Error, `Should be number, got undefined: Export section contains undefined function "foo"`); +})(); + +(function TwoBuildersAtTheSameTime() { + const b = [new Builder(), new Builder()]; + const f = b.map(builder => builder.Type().End().Code().Function()); + f[0].Nop(); + f[1].Return().End().End(); + f[0].Nop().End().End(); + const j = b.map(builder => JSON.parse(builder.json())); + assert.eq(j[0].section[1].data[0].code.length, 3); + assert.eq(j[0].section[1].data[0].code[0].name, "nop"); + assert.eq(j[0].section[1].data[0].code[1].name, "nop"); + assert.eq(j[0].section[1].data[0].code[2].name, "end"); + assert.eq(j[1].section[1].data[0].code.length, 2); + assert.eq(j[1].section[1].data[0].code[0].name, "return"); + assert.eq(j[1].section[1].data[0].code[1].name, "end"); +})(); + +(function CheckedOpcodeArgumentsTooMany() { + assertOpThrows(f => f.Nop("uh-oh!"), `Not the same: "1" and "0": "nop" expects exactly 0 immediates, got 1`); +})(); + +(function UncheckedOpcodeArgumentsTooMany() { + (new Builder()).setChecked(false).Type().End().Code().Function().Nop("This is fine.", "I'm OK with the events that are unfolding currently."); +})(); + +(function CheckedOpcodeArgumentsNotEnough() { + assertOpThrows(f => f.I32Const(), `Not the same: "0" and "1": "i32.const" expects exactly 1 immediate, got 0`); +})(); + +(function UncheckedOpcodeArgumentsNotEnough() { + (new Builder()).setChecked(false).Type().End().Code().Function().I32Const(); +})(); + +(function CallNoArguments() { + const b = (new Builder()).Type().End().Code().Function().Call(0).End().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code.length, 2); + assert.eq(j.section[1].data[0].code[0].name, "call"); + assert.eq(j.section[1].data[0].code[0].arguments.length, 0); + assert.eq(j.section[1].data[0].code[0].immediates.length, 1); + assert.eq(j.section[1].data[0].code[0].immediates[0], 0); + assert.eq(j.section[1].data[0].code[1].name, "end"); +})(); + +(function CallInvalid() { + for (let c of [-1, 0x100000000, "0", {}, Infinity, -Infinity, NaN, -NaN, null]) + assertOpThrows(f => f.Call(c), `Expected truthy: Invalid value on call: got "${c}", expected non-negative i32`); +})(); + +(function I32ConstValid() { + for (let c of [-100, -1, 0, 1, 2, 42, 1337, 0xFF, 0xFFFF, 0x7FFFFFFF, 0xFFFFFFFE, 0xFFFFFFFF]) { + const b = (new Builder()).Type().End().Code().Function().I32Const(c).Return().End().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code[0].name, "i32.const"); + assert.eq(j.section[1].data[0].code[0].arguments.length, 0); + assert.eq(j.section[1].data[0].code[0].immediates.length, 1); + assert.eq(j.section[1].data[0].code[0].immediates[0], c); + } +})(); + +(function I32ConstInvalid() { + for (let c of [0x100000000, 0.1, -0.1, "0", {}, Infinity, null]) + assertOpThrows(f => f.I32Const(c), `Expected truthy: Invalid value on i32.const: got "${c}", expected i32`); +})(); + +// FIXME: test i64. https://bugs.webkit.org/show_bug.cgi?id=163420 + +(function F32ConstValid() { + for (let c of [0, -0., 0.2, Math.PI, 0x100000000]) { + const b = (new Builder()).Type().End().Code().Function().F32Const(c).Return().End().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code[0].name, "f32.const"); + assert.eq(j.section[1].data[0].code[0].arguments.length, 0); + assert.eq(j.section[1].data[0].code[0].immediates.length, 1); + assert.eq(j.section[1].data[0].code[0].immediates[0] === "NEGATIVE_ZERO" ? -0.0 : j.section[1].data[0].code[0].immediates[0], c); + } +})(); + +(function F32ConstInvalid() { + for (let c of ["0", {}, Infinity, -Infinity, NaN, -NaN, null]) + assertOpThrows(f => f.F32Const(c), `Expected truthy: Invalid value on f32.const: got "${c}", expected f32`); +})(); + +(function F64ConstValid() { + for (let c of [0, -0., 0.2, Math.PI, 0x100000000]) { + const b = (new Builder()).Type().End().Code().Function().F64Const(c).Return().End().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code[0].name, "f64.const"); + assert.eq(j.section[1].data[0].code[0].arguments.length, 0); + assert.eq(j.section[1].data[0].code[0].immediates.length, 1); + assert.eq(j.section[1].data[0].code[0].immediates[0] === "NEGATIVE_ZERO" ? -0.0 : j.section[1].data[0].code[0].immediates[0], c); + } +})(); + +(function F64ConstInvalid() { + for (let c of ["0", {}, Infinity, -Infinity, NaN, -NaN, null]) + assertOpThrows(f => f.F64Const(c), `Expected truthy: Invalid value on f64.const: got "${c}", expected f64`); +})(); + +(function CallOneFromStack() { + const b = (new Builder()).Type().End().Code() + .Function({ params: ["i32"] }) + .I32Const(42) + .Call(0) + .End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code.length, 3); + assert.eq(j.section[1].data[0].code[0].name, "i32.const"); + assert.eq(j.section[1].data[0].code[0].immediates[0], 42); + assert.eq(j.section[1].data[0].code[1].name, "call"); + // FIXME: assert.eq(j.section[1].data[0].code[1].arguments.length, 1); https://bugs.webkit.org/show_bug.cgi?id=163267 + assert.eq(j.section[1].data[0].code[1].immediates.length, 1); + assert.eq(j.section[1].data[0].code[1].immediates[0], 0); + assert.eq(j.section[1].data[0].code[2].name, "end"); +})(); + +// FIXME https://bugs.webkit.org/show_bug.cgi?id=163267 all of these: +// test too many pops. +// test not enough pops (function has non-empty stack at the end). +// test mismatched pop types. +// test mismatched function signature (calling with wrong arg types). +// test invalid function index. +// test function names (both setting and calling them). + +(function CallManyFromStack() { + const b = (new Builder()).Type().End().Code() + .Function({ params: ["i32", "i32", "i32", "i32"] }) + .I32Const(42).I32Const(1337).I32Const(0xBEEF).I32Const(0xFFFF) + .Call(0) + .End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code.length, 6); + assert.eq(j.section[1].data[0].code[4].name, "call"); + // FIXME: assert.eq(j.section[1].data[0].code[4].arguments.length, 4); https://bugs.webkit.org/show_bug.cgi?id=163267 + assert.eq(j.section[1].data[0].code[4].immediates.length, 1); + assert.eq(j.section[1].data[0].code[4].immediates[0], 0); +})(); + +(function OpcodeAdd() { + const b = (new Builder()).Type().End().Code() + .Function() + .I32Const(42).I32Const(1337) + .I32Add() + .Return() + .End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code.length, 5); + assert.eq(j.section[1].data[0].code[2].name, "i32.add"); + // FIXME: assert.eq(j.section[1].data[0].code[2].arguments.length, 2); https://bugs.webkit.org/show_bug.cgi?id=163267 + assert.eq(j.section[1].data[0].code[3].name, "return"); + // FIXME check return. https://bugs.webkit.org/show_bug.cgi?id=163267 +})(); + +(function OpcodeUnreachable() { + const b = (new Builder()).Type().End().Code().Function().Unreachable().End().End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code.length, 2); + assert.eq(j.section[1].data[0].code[0].name, "unreachable"); +})(); + +(function OpcodeUnreachableCombinations() { + (new Builder()).Type().End().Code().Function().Nop().Unreachable().End().End().json(); + (new Builder()).Type().End().Code().Function().Unreachable().Nop().End().End().json(); + (new Builder()).Type().End().Code().Function().Return().Unreachable().End().End().json(); + (new Builder()).Type().End().Code().Function().Unreachable().Return().End().End().json(); + (new Builder()).Type().End().Code().Function().Call(0).Unreachable().End().End().json(); + (new Builder()).Type().End().Code().Function().Unreachable().Call(0).End().End().json(); +})(); + +(function OpcodeSelect() { + const b = (new Builder()).Type().End().Code().Function() + .I32Const(1).I32Const(2).I32Const(0) + .Select() + .Return() + .End() + .End(); + const j = JSON.parse(b.json()); + assert.eq(j.section[1].data[0].code.length, 6); + assert.eq(j.section[1].data[0].code[3].name, "select"); +})(); +// FIXME test type mismatch with select. https://bugs.webkit.org/show_bug.cgi?id=163267 + +(function MemoryImport() { + const builder = (new Builder()) + .Type().End() + .Import() + .Memory("__module__", "__field__", {initial: 30, maximum: 31}) + .End() + .Code().End(); + + const json = JSON.parse(builder.json()); + assert.eq(json.section.length, 3); + assert.eq(json.section[1].name, "Import"); + assert.eq(json.section[1].data.length, 1); + assert.eq(json.section[1].data[0].module, "__module__"); + assert.eq(json.section[1].data[0].field, "__field__"); + assert.eq(json.section[1].data[0].kind, "Memory"); + assert.eq(json.section[1].data[0].memoryDescription.initial, 30); + assert.eq(json.section[1].data[0].memoryDescription.maximum, 31); +})(); + +(function DataSection() { + const builder = (new Builder()) + .Memory().InitialMaxPages(64, 64).End() + .Data() + .Segment([0xff, 0x2a]).Offset(4).End() + .Segment([0xde, 0xad, 0xbe, 0xef]).Index(0).Offset(24).End() + .End(); + const json = JSON.parse(builder.json()); + assert.eq(json.section.length, 2); + assert.eq(json.section[1].name, "Data"); + assert.eq(json.section[1].data.length, 2); + assert.eq(json.section[1].data[0].index, 0); + assert.eq(json.section[1].data[0].offset, 4); + assert.eq(json.section[1].data[0].data.length, 2); + assert.eq(json.section[1].data[0].data[0], 0xff); + assert.eq(json.section[1].data[0].data[1], 0x2a); + assert.eq(json.section[1].data[1].index, 0); + assert.eq(json.section[1].data[1].offset, 24); + assert.eq(json.section[1].data[1].data.length, 4); + assert.eq(json.section[1].data[1].data[0], 0xde); + assert.eq(json.section[1].data[1].data[1], 0xad); + assert.eq(json.section[1].data[1].data[2], 0xbe); + assert.eq(json.section[1].data[1].data[3], 0xef); +})(); diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_BuilderWebAssembly.js b/implementation-contributed/javascriptcore/wasm/self-test/test_BuilderWebAssembly.js new file mode 100644 index 0000000000..9d6dc1baf2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_BuilderWebAssembly.js @@ -0,0 +1,31 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +(function EmptyModule() { + const builder = new Builder(); + const bin = builder.WebAssembly(); + assert.eq(bin.hexdump().trim(), + "00000000 00 61 73 6d 01 00 00 00 |·asm···· |"); +})(); + +(function EmptyModule() { + const bin = (new Builder()) + .setPreamble({ "magic number": 0x45464F43, version: 0xFFFFFFFF }) + .WebAssembly(); + assert.eq(bin.hexdump().trim(), + "00000000 43 4f 46 45 ff ff ff ff |COFE···· |"); +})(); + +(function CustomSection() { + const bin = (new Builder()) + .Unknown("OHHAI") + .Byte(0xDE) + .Byte(0xAD) + .Byte(0xC0) + .Byte(0xFE) + .End() + .WebAssembly(); + assert.eq(bin.hexdump().trim(), + ["00000000 00 61 73 6d 01 00 00 00 00 0a 05 4f 48 48 41 49 |·asm·······OHHAI|", + "00000010 de ad c0 fe |···· |"].join("\n")); +})(); diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_encode.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_encode.js new file mode 100644 index 0000000000..9f2a4643c4 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_encode.js @@ -0,0 +1,11 @@ +import LowLevelBinary from '../LowLevelBinary.js'; + +let b = new LowLevelBinary(); + +for (let i = 0; i !== 1024 * 3; ++i) + b.uint32(i); +for (let i = 0; i !== 1024 * 3; ++i) { + let v = b.getUint32(i * 4); + if (v !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_string.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_string.js new file mode 100644 index 0000000000..2f635056e5 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_string.js @@ -0,0 +1,20 @@ +import LowLevelBinary from '../LowLevelBinary.js'; + +const values = [ + "", + "0", + "Hello, World!", + "Il dit non avec la tête, mais il dit oui avec le cœur", + "焼きたて!! ジャぱん", + "(╯°□°)╯︵ ┻━┻", + "$¢€𐍈�", + "👨‍❤️‍💋‍👨", +]; + +for (const i of values) { + let b = new LowLevelBinary(); + b.string(i); + const v = b.getString(0); + if (v !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint16.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint16.js new file mode 100644 index 0000000000..ef3499a502 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint16.js @@ -0,0 +1,12 @@ +import LowLevelBinary from '../LowLevelBinary.js'; + +let values = []; +for (let i = 0; i <= 0xFFFF; ++i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.uint16(i); + const v = b.getUint16(0); + if (v !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint24.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint24.js new file mode 100644 index 0000000000..4dfd827f4a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint24.js @@ -0,0 +1,13 @@ +import LowLevelBinary from '../LowLevelBinary.js'; + +let values = []; +for (let i = 0; i <= 0xFFFF; ++i) values.push(i); +for (let i = 0xFFFFFF - 0xFFFF; i <= 0xFFFFFF; ++i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.uint24(i); + const v = b.getUint24(0); + if (v !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint32.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint32.js new file mode 100644 index 0000000000..5c552ef1fd --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint32.js @@ -0,0 +1,13 @@ +import LowLevelBinary from '../LowLevelBinary.js'; + +let values = []; +for (let i = 0; i !== 0xFFFF + 1; ++i) values.push(i); +for (let i = 0xFFFFFFFF; i !== 0xFFFFFFFF - 0xFFFF - 1; --i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.uint32(i); + const v = b.getUint32(0); + if (v !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint8.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint8.js new file mode 100644 index 0000000000..9a544a3ca8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_uint8.js @@ -0,0 +1,12 @@ +import LowLevelBinary from '../LowLevelBinary.js'; + +let values = []; +for (let i = 0; i <= 0xFF; ++i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.uint8(i); + const v = b.getUint8(0); + if (v !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varint32.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varint32.js new file mode 100644 index 0000000000..9b8e6abc87 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varint32.js @@ -0,0 +1,30 @@ +import LowLevelBinary, * as LLB from '../LowLevelBinary.js'; +import * as assert from '../assert.js'; + +let values = []; +for (let i = LLB.varint32Min; i !== LLB.varint32Min + 1024; ++i) values.push(i); +for (let i = -2048; i !== 2048; ++i) values.push(i); +for (let i = LLB.varint32Max; i !== LLB.varint32Max - 1024; --i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.varint32(i); + const v = b.getVarint32(0); + if (v.value !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); + if (v.next !== b.getSize()) + throw new Error(`Size ${v.next}, expected ${b.getSize()}`); +} + +for (let i = 0; i < LLB.varBitsMax + 1; ++i) { + let b = new LowLevelBinary(); + for (let j = 0; j < i; ++j) + b.uint8(0x80); + assert.throws(() => b.getVarint32(0), RangeError, `[${i}, ${i+1}) is out of buffer range [0, ${i})`); +} + +let b = new LowLevelBinary(); +for (let i = 0; i < LLB.varBitsMax; ++i) + b.uint8(0x80); +b.uint8(0x00); +assert.throws(() => b.getVarint32(0), RangeError, `Shifting too much at 6`); diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint1.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint1.js new file mode 100644 index 0000000000..573bd2e3e3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint1.js @@ -0,0 +1,14 @@ +import LowLevelBinary, * as LLB from '../LowLevelBinary.js'; + +let values = []; +for (let i = 0; i <= 1; ++i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.varuint1(i); + const v = b.getVaruint1(0); + if (v.value !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); + if (v.next !== b.getSize()) + throw new Error(`Size ${v.next}, expected ${b.getSize()}`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint32.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint32.js new file mode 100644 index 0000000000..e9c649637b --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint32.js @@ -0,0 +1,29 @@ +import LowLevelBinary, * as LLB from '../LowLevelBinary.js'; +import * as assert from '../assert.js'; + +let values = []; +for (let i = LLB.varuint32Min; i !== LLB.varuint32Min + 1024; ++i) values.push(i); +for (let i = LLB.varuint32Max; i !== LLB.varuint32Max - 1024; --i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.varuint32(i); + const v = b.getVaruint32(0); + if (v.value !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); + if (v.next !== b.getSize()) + throw new Error(`Size ${v.next}, expected ${b.getSize()}`); +} + +for (let i = 0; i < LLB.varBitsMax + 1; ++i) { + let b = new LowLevelBinary(); + for (let j = 0; j < i; ++j) + b.uint8(0x80); + assert.throws(() => b.getVarint32(0), RangeError, `[${i}, ${i+1}) is out of buffer range [0, ${i})`); +} + +let b = new LowLevelBinary(); +for (let i = 0; i < LLB.varBitsMax; ++i) + b.uint8(0x80); +b.uint8(0x00); +assert.throws(() => b.getVarint32(0), RangeError, `Shifting too much at 6`); diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint7.js b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint7.js new file mode 100644 index 0000000000..3079456e21 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_LowLevelBinary_varuint7.js @@ -0,0 +1,14 @@ +import LowLevelBinary, * as LLB from '../LowLevelBinary.js'; + +let values = []; +for (let i = LLB.varuintMin; i <= LLB.varuint7Max; ++i) values.push(i); + +for (const i of values) { + let b = new LowLevelBinary(); + b.varuint7(i); + const v = b.getVaruint7(0); + if (v.value !== i) + throw new Error(`Wrote "${i}" and read back "${v}"`); + if (v.next !== b.getSize()) + throw new Error(`Size ${v.next}, expected ${b.getSize()}`); +} diff --git a/implementation-contributed/javascriptcore/wasm/self-test/test_WASM.js b/implementation-contributed/javascriptcore/wasm/self-test/test_WASM.js new file mode 100644 index 0000000000..11aa0699cf --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/self-test/test_WASM.js @@ -0,0 +1,41 @@ +import * as assert from '../assert.js'; +import * as WASM from '../WASM.js'; + +assert.isNotUndef(WASM.description); +assert.isNotUndef(WASM.type); +assert.ge(WASM.type.length, 7); + +for (const v of WASM.type) + if (!WASM.isValidType(v)) + throw new Error(`Expected value ${v} to be a valid type`); + +const expectedFields = [ + "preamble", + "type", + "external_kind", + "section", + "opcode", +]; +for (const e of expectedFields) { + assert.isNotUndef(WASM.description[e]); + if (typeof(WASM.description[e]) !== "object") + throw new Error(`Expected description to contain field "${e}"`); +} + +const expectedOpFields = [ + "category", + "value", + "return", + "parameter", + "immediate", +]; +for (const op in WASM.description.opcode) + for (const e of expectedOpFields) + assert.isNotUndef(WASM.description.opcode[op][e]); + +// FIXME: test for field "b3op" when all arithmetic/ comparison ops have them. https://bugs.webkit.org/show_bug.cgi?id=146064 + +assert.isNotUndef(WASM.sections); +assert.isNotUndef(WASM.sectionEncodingType); +for (const section of WASM.sections) + assert.eq(WASM.sectionEncodingType, WASM.description.section[section].type); diff --git a/implementation-contributed/javascriptcore/wasm/spec-harness.js b/implementation-contributed/javascriptcore/wasm/spec-harness.js new file mode 100644 index 0000000000..550192ccf8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-harness.js @@ -0,0 +1,33 @@ +"use strict"; + +// This is our nifty way to make modules synchronous. +let assert; +import('assert.js').then((module) => { + assert = module; +}); +drainMicrotasks(); + +function test(func, description) { + try { + func(); + } catch (e) { + print("Unexpected exception:", description); + throw e; + } +} + +function promise_test(func, description) { + assert.asyncTest(func()); +}; + +let assert_equals = assert.eq; +let assert_true = (x) => assert.eq(x,true); +let assert_false = (x) => assert.eq(x,false); +let assert_unreached = () => { + throw new Error("Should have been unreachable"); +}; + +// This is run from the spec-tests directory +load("../spec-harness/index.js"); +load("../spec-harness/wasm-constants.js"); +load("../spec-harness/wasm-module-builder.js"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-harness/index.js b/implementation-contributed/javascriptcore/wasm/spec-harness/index.js new file mode 100644 index 0000000000..bc298d200a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-harness/index.js @@ -0,0 +1,344 @@ +/* + * Copyright 2017 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +'use strict'; + +let testNum = (function() { + let count = 1; + return function() { + return `#${count++} `; + } +})(); + +// WPT's assert_throw uses a list of predefined, hardcoded known errors. Since +// it is not aware of the WebAssembly error types (yet), implement our own +// version. +function assertThrows(func, err) { + let caught = false; + try { + func(); + } catch(e) { + assert_true(e instanceof err, `expected ${err.name}, observed ${e.constructor.name}`); + caught = true; + } + assert_true(caught, testNum() + "assertThrows must catch any error.") +} + +/****************************************************************************** +***************************** WAST HARNESS ************************************ +******************************************************************************/ + +// For assertions internal to our test harness. +function _assert(x) { + if (!x) { + throw new Error(`Assertion failure: ${x}`); + } +} + +// A simple sum type that can either be a valid Value or an Error. +function Result(type, maybeValue) { + this.value = maybeValue; + this.type = type; +}; + +Result.VALUE = 'VALUE'; +Result.ERROR = 'ERROR'; + +function ValueResult(val) { return new Result(Result.VALUE, val); } +function ErrorResult(err) { return new Result(Result.ERROR, err); } + +Result.prototype.isError = function() { return this.type === Result.ERROR; } + +const EXPECT_INVALID = false; + +/* DATA **********************************************************************/ + +let soft_validate = true; + +let $$; + +// Default imports. +var registry = {}; + +// Resets the registry between two different WPT tests. +function reinitializeRegistry() { + if (typeof WebAssembly === 'undefined') + return; + + registry = { + spectest: { + print: print, + global: 666, + table: new WebAssembly.Table({initial: 10, maximum: 20, element: 'anyfunc'}), + memory: new WebAssembly.Memory({initial: 1, maximum: 2}) + } + }; +} + +reinitializeRegistry(); + +/* WAST POLYFILL *************************************************************/ + +function binary(bytes) { + let buffer = new ArrayBuffer(bytes.length); + let view = new Uint8Array(buffer); + for (let i = 0; i < bytes.length; ++i) { + view[i] = bytes.charCodeAt(i); + } + return buffer; +} + +/** + * Returns a compiled module, or throws if there was an error at compilation. + */ +function module(bytes, valid = true) { + let buffer = binary(bytes); + let validated; + + try { + validated = WebAssembly.validate(buffer); + } catch (e) { + throw new Error(`WebAssembly.validate throws ${typeof e}: ${e}${e.stack}`); + } + + if (validated !== valid) { + // Try to get a more precise error message from the WebAssembly.CompileError. + let err = ''; + try { + new WebAssembly.Module(buffer); + } catch (e) { + if (e instanceof WebAssembly.CompileError) + throw new WebAssembly.CompileError(`WebAssembly.validate error: ${e.toString()}${e.stack}\n`); + else + throw new Error(`WebAssembly.validate throws ${typeof e}: ${e}${e.stack}`); + } + throw new Error(`WebAssembly.validate was expected to fail, but didn't`); + } + + let module; + try { + module = new WebAssembly.Module(buffer); + } catch(e) { + if (valid) + throw new Error('WebAssembly.Module ctor unexpectedly throws ${typeof e}: ${e}${e.stack}'); + throw e; + } + + return module; +} + +function uniqueTest(func, desc) { + test(func, testNum() + desc); +} + +function assert_invalid(bytes) { + uniqueTest(() => { + try { + module(bytes, /* valid */ false); + throw new Error('did not fail'); + } catch(e) { + assert_true(e instanceof WebAssembly.CompileError, "expected invalid failure:"); + } + }, "A wast module that should be invalid or malformed."); +} + +const assert_malformed = assert_invalid; + +function assert_soft_invalid(bytes) { + uniqueTest(() => { + try { + module(bytes, /* valid */ soft_validate); + if (soft_validate) + throw new Error('did not fail'); + } catch(e) { + if (soft_validate) + assert_true(e instanceof WebAssembly.CompileError, "expected soft invalid failure:"); + } + }, "A wast module that *could* be invalid under certain engines."); +} + +function instance(bytes, imports = registry, valid = true) { + if (imports instanceof Result) { + if (imports.isError()) + return imports; + imports = imports.value; + } + + let err = null; + + let m, i; + try { + let m = module(bytes); + i = new WebAssembly.Instance(m, imports); + } catch(e) { + err = e; + } + + if (valid) { + uniqueTest(() => { + let instantiated = err === null; + assert_true(instantiated, err); + }, "module successfully instantiated"); + } + + return err !== null ? ErrorResult(err) : ValueResult(i); +} + +function register(name, instance) { + _assert(instance instanceof Result); + + if (instance.isError()) + return; + + registry[name] = instance.value.exports; +} + +function call(instance, name, args) { + _assert(instance instanceof Result); + + if (instance.isError()) + return instance; + + let err = null; + let result; + try { + result = instance.value.exports[name](...args); + } catch(e) { + err = e; + } + + return err !== null ? ErrorResult(err) : ValueResult(result); +}; + +function get(instance, name) { + _assert(instance instanceof Result); + + if (instance.isError()) + return instance; + + return ValueResult(instance.value.exports[name]); +} + +function exports(name, instance) { + _assert(instance instanceof Result); + + if (instance.isError()) + return instance; + + return ValueResult({ [name]: instance.value.exports }); +} + +function run(action) { + let result = action(); + + _assert(result instanceof Result); + + uniqueTest(() => { + if (result.isError()) + throw result.value; + }, "A wast test that runs without any special assertion."); +} + +function assert_unlinkable(bytes) { + let result = instance(bytes, registry, EXPECT_INVALID); + + _assert(result instanceof Result); + + uniqueTest(() => { + assert_true(result.isError(), 'expected error result'); + if (result.isError()) { + let e = result.value; + assert_true(e instanceof WebAssembly.LinkError, `expected link error, observed ${e}:`); + } + }, "A wast module that is unlinkable."); +} + +function assert_uninstantiable(bytes) { + let result = instance(bytes, registry, EXPECT_INVALID); + + _assert(result instanceof Result); + + uniqueTest(() => { + assert_true(result.isError(), 'expected error result'); + if (result.isError()) { + let e = result.value; + assert_true(e instanceof WebAssembly.RuntimeError, `expected runtime error, observed ${e}:`); + } + }, "A wast module that is uninstantiable."); +} + +function assert_trap(action) { + let result = action(); + + _assert(result instanceof Result); + + uniqueTest(() => { + assert_true(result.isError(), 'expected error result'); + if (result.isError()) { + let e = result.value; + assert_true(e instanceof WebAssembly.RuntimeError, `expected runtime error, observed ${e}:`); + } + }, "A wast module that must trap at runtime."); +} + +let StackOverflow; +try { (function f() { 1 + f() })() } catch (e) { StackOverflow = e.constructor } + +function assert_exhaustion(action) { + let result = action(); + + _assert(result instanceof Result); + + uniqueTest(() => { + assert_true(result.isError(), 'expected error result'); + if (result.isError()) { + let e = result.value; + assert_true(e instanceof StackOverflow, `expected stack overflow error, observed ${e}:`); + } + }, "A wast module that must exhaust the stack space."); +} + +function assert_return(action, expected) { + if (expected instanceof Result) { + if (expected.isError()) + return; + expected = expected.value; + } + + let result = action(); + + _assert(result instanceof Result); + + uniqueTest(() => { + assert_true(!result.isError(), `expected success result, got: ${result.value}.`); + if (!result.isError()) { + assert_equals(result.value, expected); + }; + }, "A wast module that must return a particular value."); +}; + +function assert_return_nan(action) { + let result = action(); + + _assert(result instanceof Result); + + uniqueTest(() => { + assert_true(!result.isError(), 'expected success result'); + if (!result.isError()) { + assert_true(Number.isNaN(result.value), `expected NaN, observed ${result.value}.`); + }; + }, "A wast module that must return NaN."); +} diff --git a/implementation-contributed/javascriptcore/wasm/spec-harness/wasm-constants.js b/implementation-contributed/javascriptcore/wasm/spec-harness/wasm-constants.js new file mode 100644 index 0000000000..68c36ef1fd --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-harness/wasm-constants.js @@ -0,0 +1,377 @@ +// Copyright 2015 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Flags: --expose-wasm + +function bytes() { + var buffer = new ArrayBuffer(arguments.length); + var view = new Uint8Array(buffer); + for (var i = 0; i < arguments.length; i++) { + var val = arguments[i]; + if ((typeof val) == "string") val = val.charCodeAt(0); + view[i] = val | 0; + } + return buffer; +} + +// Header declaration constants +var kWasmH0 = 0; +var kWasmH1 = 0x61; +var kWasmH2 = 0x73; +var kWasmH3 = 0x6d; + +var kWasmV0 = 0x1; +var kWasmV1 = 0; +var kWasmV2 = 0; +var kWasmV3 = 0; + +var kHeaderSize = 8; +var kPageSize = 65536; + +function bytesWithHeader() { + var buffer = new ArrayBuffer(kHeaderSize + arguments.length); + var view = new Uint8Array(buffer); + view[0] = kWasmH0; + view[1] = kWasmH1; + view[2] = kWasmH2; + view[3] = kWasmH3; + view[4] = kWasmV0; + view[5] = kWasmV1; + view[6] = kWasmV2; + view[7] = kWasmV3; + for (var i = 0; i < arguments.length; i++) { + var val = arguments[i]; + if ((typeof val) == "string") val = val.charCodeAt(0); + view[kHeaderSize + i] = val | 0; + } + return buffer; +} + +let kDeclNoLocals = 0; + +// Section declaration constants +let kUnknownSectionCode = 0; +let kTypeSectionCode = 1; // Function signature declarations +let kImportSectionCode = 2; // Import declarations +let kFunctionSectionCode = 3; // Function declarations +let kTableSectionCode = 4; // Indirect function table and other tables +let kMemorySectionCode = 5; // Memory attributes +let kGlobalSectionCode = 6; // Global declarations +let kExportSectionCode = 7; // Exports +let kStartSectionCode = 8; // Start function declaration +let kElementSectionCode = 9; // Elements section +let kCodeSectionCode = 10; // Function code +let kDataSectionCode = 11; // Data segments +let kNameSectionCode = 12; // Name section (encoded as string) + +// Name section types +let kModuleNameCode = 0; +let kFunctionNamesCode = 1; +let kLocalNamesCode = 2; + +let kWasmFunctionTypeForm = 0x60; +let kWasmAnyFunctionTypeForm = 0x70; + +let kResizableMaximumFlag = 1; + +// Function declaration flags +let kDeclFunctionName = 0x01; +let kDeclFunctionImport = 0x02; +let kDeclFunctionLocals = 0x04; +let kDeclFunctionExport = 0x08; + +// Local types +let kWasmStmt = 0x40; +let kWasmI32 = 0x7f; +let kWasmI64 = 0x7e; +let kWasmF32 = 0x7d; +let kWasmF64 = 0x7c; +let kWasmS128 = 0x7b; + +let kExternalFunction = 0; +let kExternalTable = 1; +let kExternalMemory = 2; +let kExternalGlobal = 3; + +let kTableZero = 0; +let kMemoryZero = 0; + +// Useful signatures +let kSig_i_i = makeSig([kWasmI32], [kWasmI32]); +let kSig_l_l = makeSig([kWasmI64], [kWasmI64]); +let kSig_i_l = makeSig([kWasmI64], [kWasmI32]); +let kSig_i_ii = makeSig([kWasmI32, kWasmI32], [kWasmI32]); +let kSig_i_iii = makeSig([kWasmI32, kWasmI32, kWasmI32], [kWasmI32]); +let kSig_d_dd = makeSig([kWasmF64, kWasmF64], [kWasmF64]); +let kSig_l_ll = makeSig([kWasmI64, kWasmI64], [kWasmI64]); +let kSig_i_dd = makeSig([kWasmF64, kWasmF64], [kWasmI32]); +let kSig_v_v = makeSig([], []); +let kSig_i_v = makeSig([], [kWasmI32]); +let kSig_l_v = makeSig([], [kWasmI64]); +let kSig_f_v = makeSig([], [kWasmF64]); +let kSig_d_v = makeSig([], [kWasmF64]); +let kSig_v_i = makeSig([kWasmI32], []); +let kSig_v_ii = makeSig([kWasmI32, kWasmI32], []); +let kSig_v_iii = makeSig([kWasmI32, kWasmI32, kWasmI32], []); +let kSig_v_l = makeSig([kWasmI64], []); +let kSig_v_d = makeSig([kWasmF64], []); +let kSig_v_dd = makeSig([kWasmF64, kWasmF64], []); +let kSig_v_ddi = makeSig([kWasmF64, kWasmF64, kWasmI32], []); +let kSig_s_v = makeSig([], [kWasmS128]); + +function makeSig(params, results) { + return {params: params, results: results}; +} + +function makeSig_v_x(x) { + return makeSig([x], []); +} + +function makeSig_v_xx(x) { + return makeSig([x, x], []); +} + +function makeSig_r_v(r) { + return makeSig([], [r]); +} + +function makeSig_r_x(r, x) { + return makeSig([x], [r]); +} + +function makeSig_r_xx(r, x) { + return makeSig([x, x], [r]); +} + +// Opcodes +let kExprUnreachable = 0x00; +let kExprNop = 0x01; +let kExprBlock = 0x02; +let kExprLoop = 0x03; +let kExprIf = 0x04; +let kExprElse = 0x05; +let kExprTry = 0x06; +let kExprCatch = 0x07; +let kExprThrow = 0x08; +let kExprEnd = 0x0b; +let kExprBr = 0x0c; +let kExprBrIf = 0x0d; +let kExprBrTable = 0x0e; +let kExprReturn = 0x0f; +let kExprCallFunction = 0x10; +let kExprCallIndirect = 0x11; +let kExprDrop = 0x1a; +let kExprSelect = 0x1b; +let kExprGetLocal = 0x20; +let kExprSetLocal = 0x21; +let kExprTeeLocal = 0x22; +let kExprGetGlobal = 0x23; +let kExprSetGlobal = 0x24; +let kExprI32Const = 0x41; +let kExprI64Const = 0x42; +let kExprF32Const = 0x43; +let kExprF64Const = 0x44; +let kExprI32LoadMem = 0x28; +let kExprI64LoadMem = 0x29; +let kExprF32LoadMem = 0x2a; +let kExprF64LoadMem = 0x2b; +let kExprI32LoadMem8S = 0x2c; +let kExprI32LoadMem8U = 0x2d; +let kExprI32LoadMem16S = 0x2e; +let kExprI32LoadMem16U = 0x2f; +let kExprI64LoadMem8S = 0x30; +let kExprI64LoadMem8U = 0x31; +let kExprI64LoadMem16S = 0x32; +let kExprI64LoadMem16U = 0x33; +let kExprI64LoadMem32S = 0x34; +let kExprI64LoadMem32U = 0x35; +let kExprI32StoreMem = 0x36; +let kExprI64StoreMem = 0x37; +let kExprF32StoreMem = 0x38; +let kExprF64StoreMem = 0x39; +let kExprI32StoreMem8 = 0x3a; +let kExprI32StoreMem16 = 0x3b; +let kExprI64StoreMem8 = 0x3c; +let kExprI64StoreMem16 = 0x3d; +let kExprI64StoreMem32 = 0x3e; +let kExprMemorySize = 0x3f; +let kExprGrowMemory = 0x40; +let kExprI32Eqz = 0x45; +let kExprI32Eq = 0x46; +let kExprI32Ne = 0x47; +let kExprI32LtS = 0x48; +let kExprI32LtU = 0x49; +let kExprI32GtS = 0x4a; +let kExprI32GtU = 0x4b; +let kExprI32LeS = 0x4c; +let kExprI32LeU = 0x4d; +let kExprI32GeS = 0x4e; +let kExprI32GeU = 0x4f; +let kExprI64Eqz = 0x50; +let kExprI64Eq = 0x51; +let kExprI64Ne = 0x52; +let kExprI64LtS = 0x53; +let kExprI64LtU = 0x54; +let kExprI64GtS = 0x55; +let kExprI64GtU = 0x56; +let kExprI64LeS = 0x57; +let kExprI64LeU = 0x58; +let kExprI64GeS = 0x59; +let kExprI64GeU = 0x5a; +let kExprF32Eq = 0x5b; +let kExprF32Ne = 0x5c; +let kExprF32Lt = 0x5d; +let kExprF32Gt = 0x5e; +let kExprF32Le = 0x5f; +let kExprF32Ge = 0x60; +let kExprF64Eq = 0x61; +let kExprF64Ne = 0x62; +let kExprF64Lt = 0x63; +let kExprF64Gt = 0x64; +let kExprF64Le = 0x65; +let kExprF64Ge = 0x66; +let kExprI32Clz = 0x67; +let kExprI32Ctz = 0x68; +let kExprI32Popcnt = 0x69; +let kExprI32Add = 0x6a; +let kExprI32Sub = 0x6b; +let kExprI32Mul = 0x6c; +let kExprI32DivS = 0x6d; +let kExprI32DivU = 0x6e; +let kExprI32RemS = 0x6f; +let kExprI32RemU = 0x70; +let kExprI32And = 0x71; +let kExprI32Ior = 0x72; +let kExprI32Xor = 0x73; +let kExprI32Shl = 0x74; +let kExprI32ShrS = 0x75; +let kExprI32ShrU = 0x76; +let kExprI32Rol = 0x77; +let kExprI32Ror = 0x78; +let kExprI64Clz = 0x79; +let kExprI64Ctz = 0x7a; +let kExprI64Popcnt = 0x7b; +let kExprI64Add = 0x7c; +let kExprI64Sub = 0x7d; +let kExprI64Mul = 0x7e; +let kExprI64DivS = 0x7f; +let kExprI64DivU = 0x80; +let kExprI64RemS = 0x81; +let kExprI64RemU = 0x82; +let kExprI64And = 0x83; +let kExprI64Ior = 0x84; +let kExprI64Xor = 0x85; +let kExprI64Shl = 0x86; +let kExprI64ShrS = 0x87; +let kExprI64ShrU = 0x88; +let kExprI64Rol = 0x89; +let kExprI64Ror = 0x8a; +let kExprF32Abs = 0x8b; +let kExprF32Neg = 0x8c; +let kExprF32Ceil = 0x8d; +let kExprF32Floor = 0x8e; +let kExprF32Trunc = 0x8f; +let kExprF32NearestInt = 0x90; +let kExprF32Sqrt = 0x91; +let kExprF32Add = 0x92; +let kExprF32Sub = 0x93; +let kExprF32Mul = 0x94; +let kExprF32Div = 0x95; +let kExprF32Min = 0x96; +let kExprF32Max = 0x97; +let kExprF32CopySign = 0x98; +let kExprF64Abs = 0x99; +let kExprF64Neg = 0x9a; +let kExprF64Ceil = 0x9b; +let kExprF64Floor = 0x9c; +let kExprF64Trunc = 0x9d; +let kExprF64NearestInt = 0x9e; +let kExprF64Sqrt = 0x9f; +let kExprF64Add = 0xa0; +let kExprF64Sub = 0xa1; +let kExprF64Mul = 0xa2; +let kExprF64Div = 0xa3; +let kExprF64Min = 0xa4; +let kExprF64Max = 0xa5; +let kExprF64CopySign = 0xa6; +let kExprI32ConvertI64 = 0xa7; +let kExprI32SConvertF32 = 0xa8; +let kExprI32UConvertF32 = 0xa9; +let kExprI32SConvertF64 = 0xaa; +let kExprI32UConvertF64 = 0xab; +let kExprI64SConvertI32 = 0xac; +let kExprI64UConvertI32 = 0xad; +let kExprI64SConvertF32 = 0xae; +let kExprI64UConvertF32 = 0xaf; +let kExprI64SConvertF64 = 0xb0; +let kExprI64UConvertF64 = 0xb1; +let kExprF32SConvertI32 = 0xb2; +let kExprF32UConvertI32 = 0xb3; +let kExprF32SConvertI64 = 0xb4; +let kExprF32UConvertI64 = 0xb5; +let kExprF32ConvertF64 = 0xb6; +let kExprF64SConvertI32 = 0xb7; +let kExprF64UConvertI32 = 0xb8; +let kExprF64SConvertI64 = 0xb9; +let kExprF64UConvertI64 = 0xba; +let kExprF64ConvertF32 = 0xbb; +let kExprI32ReinterpretF32 = 0xbc; +let kExprI64ReinterpretF64 = 0xbd; +let kExprF32ReinterpretI32 = 0xbe; +let kExprF64ReinterpretI64 = 0xbf; + +let kTrapUnreachable = 0; +let kTrapMemOutOfBounds = 1; +let kTrapDivByZero = 2; +let kTrapDivUnrepresentable = 3; +let kTrapRemByZero = 4; +let kTrapFloatUnrepresentable = 5; +let kTrapFuncInvalid = 6; +let kTrapFuncSigMismatch = 7; +let kTrapInvalidIndex = 8; + +let kTrapMsgs = [ + "unreachable", + "memory access out of bounds", + "divide by zero", + "divide result unrepresentable", + "remainder by zero", + "integer result unrepresentable", + "invalid function", + "function signature mismatch", + "invalid index into function table" +]; + +function assertTraps(trap, code) { + try { + if (typeof code === 'function') { + code(); + } else { + eval(code); + } + } catch (e) { + assertEquals('object', typeof e); + assertEquals(kTrapMsgs[trap], e.message); + // Success. + return; + } + throw new MjsUnitAssertionError('Did not trap, expected: ' + kTrapMsgs[trap]); +} + +function assertWasmThrows(value, code) { + assertEquals('number', typeof value); + try { + if (typeof code === 'function') { + code(); + } else { + eval(code); + } + } catch (e) { + assertEquals('number', typeof e); + assertEquals(value, e); + // Success. + return; + } + throw new MjsUnitAssertionError('Did not throw, expected: ' + value); +} diff --git a/implementation-contributed/javascriptcore/wasm/spec-harness/wasm-module-builder.js b/implementation-contributed/javascriptcore/wasm/spec-harness/wasm-module-builder.js new file mode 100644 index 0000000000..68fab8985c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-harness/wasm-module-builder.js @@ -0,0 +1,583 @@ +// Copyright 2016 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// Used for encoding f32 and double constants to bits. +let __buffer = new ArrayBuffer(8); +let byte_view = new Int8Array(__buffer); +let f32_view = new Float32Array(__buffer); +let f64_view = new Float64Array(__buffer); + +class Binary extends Array { + emit_u8(val) { + this.push(val); + } + + emit_u16(val) { + this.push(val & 0xff); + this.push((val >> 8) & 0xff); + } + + emit_u32(val) { + this.push(val & 0xff); + this.push((val >> 8) & 0xff); + this.push((val >> 16) & 0xff); + this.push((val >> 24) & 0xff); + } + + emit_u32v(val) { + while (true) { + let v = val & 0xff; + val = val >>> 7; + if (val == 0) { + this.push(v); + break; + } + this.push(v | 0x80); + } + } + + emit_bytes(data) { + for (let i = 0; i < data.length; i++) { + this.push(data[i] & 0xff); + } + } + + emit_string(string) { + // When testing illegal names, we pass a byte array directly. + if (string instanceof Array) { + this.emit_u32v(string.length); + this.emit_bytes(string); + return; + } + + // This is the hacky way to convert a JavaScript string to a UTF8 encoded + // string only containing single-byte characters. + let string_utf8 = unescape(encodeURIComponent(string)); + this.emit_u32v(string_utf8.length); + for (let i = 0; i < string_utf8.length; i++) { + this.emit_u8(string_utf8.charCodeAt(i)); + } + } + + emit_header() { + this.push(kWasmH0, kWasmH1, kWasmH2, kWasmH3, + kWasmV0, kWasmV1, kWasmV2, kWasmV3); + } + + emit_section(section_code, content_generator) { + // Emit section name. + this.emit_u8(section_code); + // Emit the section to a temporary buffer: its full length isn't know yet. + let section = new Binary; + content_generator(section); + // Emit section length. + this.emit_u32v(section.length); + // Copy the temporary buffer. + for (const sectionByte of section) { + this.push(sectionByte); + } + } +} + +class WasmFunctionBuilder { + constructor(module, name, type_index) { + this.module = module; + this.name = name; + this.type_index = type_index; + this.body = []; + } + + exportAs(name) { + this.module.addExport(name, this.index); + return this; + } + + exportFunc() { + this.exportAs(this.name); + return this; + } + + addBody(body) { + for (let b of body) { + if (typeof b != 'number') + throw new Error('invalid body (entries have to be numbers): ' + body); + } + this.body = body.slice(); + // Automatically add the end for the function block to the body. + this.body.push(kExprEnd); + return this; + } + + addLocals(locals) { + this.locals = locals; + return this; + } + + end() { + this.body.push(kExprEnd); + return this.module; + } +} + +class WasmGlobalBuilder { + constructor(module, type, mutable) { + this.module = module; + this.type = type; + this.mutable = mutable; + this.init = 0; + } + + exportAs(name) { + this.module.exports.push({name: name, kind: kExternalGlobal, + index: this.index}); + return this; + } +} + +class WasmModuleBuilder { + constructor() { + this.types = []; + this.imports = []; + this.exports = []; + this.globals = []; + this.functions = []; + this.function_table = []; + this.function_table_length = 0; + this.function_table_inits = []; + this.segments = []; + this.explicit = []; + this.num_imported_funcs = 0; + this.num_imported_globals = 0; + return this; + } + + addStart(start_index) { + this.start_index = start_index; + return this; + } + + addMemory(min, max, exp) { + this.memory = {min: min, max: max, exp: exp}; + return this; + } + + addExplicitSection(bytes) { + this.explicit.push(bytes); + return this; + } + + stringToBytes(name) { + var result = new Binary(); + result.emit_u32v(name.length); + for (var i = 0; i < name.length; i++) { + result.emit_u8(name.charCodeAt(i)); + } + return result; + } + + addCustomSection(name, bytes) { + name = this.stringToBytes(name); + var length = new Binary(); + length.emit_u32v(name.length + bytes.length); + this.explicit.push([0, ...length, ...name, ...bytes]); + } + + addType(type) { + // TODO: canonicalize types? + this.types.push(type); + return this.types.length - 1; + } + + addGlobal(local_type, mutable) { + let glob = new WasmGlobalBuilder(this, local_type, mutable); + glob.index = this.globals.length + this.num_imported_globals; + this.globals.push(glob); + return glob; + } + + addFunction(name, type) { + let type_index = (typeof type) == "number" ? type : this.addType(type); + let func = new WasmFunctionBuilder(this, name, type_index); + func.index = this.functions.length + this.num_imported_funcs; + this.functions.push(func); + return func; + } + + addImport(module = "", name, type) { + let type_index = (typeof type) == "number" ? type : this.addType(type); + this.imports.push({module: module, name: name, kind: kExternalFunction, + type: type_index}); + return this.num_imported_funcs++; + } + + addImportedGlobal(module = "", name, type) { + let o = {module: module, name: name, kind: kExternalGlobal, type: type, + mutable: false} + this.imports.push(o); + return this.num_imported_globals++; + } + + addImportedMemory(module = "", name, initial = 0, maximum) { + let o = {module: module, name: name, kind: kExternalMemory, + initial: initial, maximum: maximum}; + this.imports.push(o); + return this; + } + + addImportedTable(module = "", name, initial, maximum) { + let o = {module: module, name: name, kind: kExternalTable, initial: initial, + maximum: maximum}; + this.imports.push(o); + } + + addExport(name, index) { + this.exports.push({name: name, kind: kExternalFunction, index: index}); + return this; + } + + addExportOfKind(name, kind, index) { + this.exports.push({name: name, kind: kind, index: index}); + return this; + } + + addDataSegment(addr, data, is_global = false) { + this.segments.push({addr: addr, data: data, is_global: is_global}); + return this.segments.length - 1; + } + + exportMemoryAs(name) { + this.exports.push({name: name, kind: kExternalMemory, index: 0}); + } + + addFunctionTableInit(base, is_global, array, is_import = false) { + this.function_table_inits.push({base: base, is_global: is_global, + array: array}); + if (!is_global) { + var length = base + array.length; + if (length > this.function_table_length && !is_import) { + this.function_table_length = length; + } + } + return this; + } + + appendToTable(array) { + for (let n of array) { + if (typeof n != 'number') + throw new Error('invalid table (entries have to be numbers): ' + array); + } + return this.addFunctionTableInit(this.function_table.length, false, array); + } + + setFunctionTableLength(length) { + this.function_table_length = length; + return this; + } + + toArray(debug = false) { + let binary = new Binary; + let wasm = this; + + // Add header + binary.emit_header(); + + // Add type section + if (wasm.types.length > 0) { + if (debug) print("emitting types @ " + binary.length); + binary.emit_section(kTypeSectionCode, section => { + section.emit_u32v(wasm.types.length); + for (let type of wasm.types) { + section.emit_u8(kWasmFunctionTypeForm); + section.emit_u32v(type.params.length); + for (let param of type.params) { + section.emit_u8(param); + } + section.emit_u32v(type.results.length); + for (let result of type.results) { + section.emit_u8(result); + } + } + }); + } + + // Add imports section + if (wasm.imports.length > 0) { + if (debug) print("emitting imports @ " + binary.length); + binary.emit_section(kImportSectionCode, section => { + section.emit_u32v(wasm.imports.length); + for (let imp of wasm.imports) { + section.emit_string(imp.module); + section.emit_string(imp.name || ''); + section.emit_u8(imp.kind); + if (imp.kind == kExternalFunction) { + section.emit_u32v(imp.type); + } else if (imp.kind == kExternalGlobal) { + section.emit_u32v(imp.type); + section.emit_u8(imp.mutable); + } else if (imp.kind == kExternalMemory) { + var has_max = (typeof imp.maximum) != "undefined"; + section.emit_u8(has_max ? 1 : 0); // flags + section.emit_u32v(imp.initial); // initial + if (has_max) section.emit_u32v(imp.maximum); // maximum + } else if (imp.kind == kExternalTable) { + section.emit_u8(kWasmAnyFunctionTypeForm); + var has_max = (typeof imp.maximum) != "undefined"; + section.emit_u8(has_max ? 1 : 0); // flags + section.emit_u32v(imp.initial); // initial + if (has_max) section.emit_u32v(imp.maximum); // maximum + } else { + throw new Error("unknown/unsupported import kind " + imp.kind); + } + } + }); + } + + // Add functions declarations + let num_function_names = 0; + let names = false; + if (wasm.functions.length > 0) { + if (debug) print("emitting function decls @ " + binary.length); + binary.emit_section(kFunctionSectionCode, section => { + section.emit_u32v(wasm.functions.length); + for (let func of wasm.functions) { + if (func.name !== undefined) { + ++num_function_names; + } + section.emit_u32v(func.type_index); + } + }); + } + + // Add function_table. + if (wasm.function_table_length > 0) { + if (debug) print("emitting table @ " + binary.length); + binary.emit_section(kTableSectionCode, section => { + section.emit_u8(1); // one table entry + section.emit_u8(kWasmAnyFunctionTypeForm); + section.emit_u8(1); + section.emit_u32v(wasm.function_table_length); + section.emit_u32v(wasm.function_table_length); + }); + } + + // Add memory section + if (wasm.memory !== undefined) { + if (debug) print("emitting memory @ " + binary.length); + binary.emit_section(kMemorySectionCode, section => { + section.emit_u8(1); // one memory entry + const has_max = wasm.memory.max !== undefined; + section.emit_u32v(has_max ? kResizableMaximumFlag : 0); + section.emit_u32v(wasm.memory.min); + if (has_max) section.emit_u32v(wasm.memory.max); + }); + } + + // Add global section. + if (wasm.globals.length > 0) { + if (debug) print ("emitting globals @ " + binary.length); + binary.emit_section(kGlobalSectionCode, section => { + section.emit_u32v(wasm.globals.length); + for (let global of wasm.globals) { + section.emit_u8(global.type); + section.emit_u8(global.mutable); + if ((typeof global.init_index) == "undefined") { + // Emit a constant initializer. + switch (global.type) { + case kWasmI32: + section.emit_u8(kExprI32Const); + section.emit_u32v(global.init); + break; + case kWasmI64: + section.emit_u8(kExprI64Const); + section.emit_u32v(global.init); + break; + case kWasmF32: + section.emit_u8(kExprF32Const); + f32_view[0] = global.init; + section.emit_u8(byte_view[0]); + section.emit_u8(byte_view[1]); + section.emit_u8(byte_view[2]); + section.emit_u8(byte_view[3]); + break; + case kWasmF64: + section.emit_u8(kExprF64Const); + f64_view[0] = global.init; + section.emit_u8(byte_view[0]); + section.emit_u8(byte_view[1]); + section.emit_u8(byte_view[2]); + section.emit_u8(byte_view[3]); + section.emit_u8(byte_view[4]); + section.emit_u8(byte_view[5]); + section.emit_u8(byte_view[6]); + section.emit_u8(byte_view[7]); + break; + } + } else { + // Emit a global-index initializer. + section.emit_u8(kExprGetGlobal); + section.emit_u32v(global.init_index); + } + section.emit_u8(kExprEnd); // end of init expression + } + }); + } + + // Add export table. + var mem_export = (wasm.memory !== undefined && wasm.memory.exp); + var exports_count = wasm.exports.length + (mem_export ? 1 : 0); + if (exports_count > 0) { + if (debug) print("emitting exports @ " + binary.length); + binary.emit_section(kExportSectionCode, section => { + section.emit_u32v(exports_count); + for (let exp of wasm.exports) { + section.emit_string(exp.name); + section.emit_u8(exp.kind); + section.emit_u32v(exp.index); + } + if (mem_export) { + section.emit_string("memory"); + section.emit_u8(kExternalMemory); + section.emit_u8(0); + } + }); + } + + // Add start function section. + if (wasm.start_index !== undefined) { + if (debug) print("emitting start function @ " + binary.length); + binary.emit_section(kStartSectionCode, section => { + section.emit_u32v(wasm.start_index); + }); + } + + // Add table elements. + if (wasm.function_table_inits.length > 0) { + if (debug) print("emitting table @ " + binary.length); + binary.emit_section(kElementSectionCode, section => { + var inits = wasm.function_table_inits; + section.emit_u32v(inits.length); + + for (let init of inits) { + section.emit_u8(0); // table index + if (init.is_global) { + section.emit_u8(kExprGetGlobal); + } else { + section.emit_u8(kExprI32Const); + } + section.emit_u32v(init.base); + section.emit_u8(kExprEnd); + section.emit_u32v(init.array.length); + for (let index of init.array) { + section.emit_u32v(index); + } + } + }); + } + + // Add function bodies. + if (wasm.functions.length > 0) { + // emit function bodies + if (debug) print("emitting code @ " + binary.length); + binary.emit_section(kCodeSectionCode, section => { + section.emit_u32v(wasm.functions.length); + for (let func of wasm.functions) { + // Function body length will be patched later. + let local_decls = []; + let l = func.locals; + if (l !== undefined) { + let local_decls_count = 0; + if (l.i32_count > 0) { + local_decls.push({count: l.i32_count, type: kWasmI32}); + } + if (l.i64_count > 0) { + local_decls.push({count: l.i64_count, type: kWasmI64}); + } + if (l.f32_count > 0) { + local_decls.push({count: l.f32_count, type: kWasmF32}); + } + if (l.f64_count > 0) { + local_decls.push({count: l.f64_count, type: kWasmF64}); + } + } + + let header = new Binary; + header.emit_u32v(local_decls.length); + for (let decl of local_decls) { + header.emit_u32v(decl.count); + header.emit_u8(decl.type); + } + + section.emit_u32v(header.length + func.body.length); + section.emit_bytes(header); + section.emit_bytes(func.body); + } + }); + } + + // Add data segments. + if (wasm.segments.length > 0) { + if (debug) print("emitting data segments @ " + binary.length); + binary.emit_section(kDataSectionCode, section => { + section.emit_u32v(wasm.segments.length); + for (let seg of wasm.segments) { + section.emit_u8(0); // linear memory index 0 + if (seg.is_global) { + // initializer is a global variable + section.emit_u8(kExprGetGlobal); + section.emit_u32v(seg.addr); + } else { + // initializer is a constant + section.emit_u8(kExprI32Const); + section.emit_u32v(seg.addr); + } + section.emit_u8(kExprEnd); + section.emit_u32v(seg.data.length); + section.emit_bytes(seg.data); + } + }); + } + + // Add any explicitly added sections + for (let exp of wasm.explicit) { + if (debug) print("emitting explicit @ " + binary.length); + binary.emit_bytes(exp); + } + + // Add function names. + if (num_function_names > 0) { + if (debug) print('emitting names @ ' + binary.length); + binary.emit_section(kUnknownSectionCode, section => { + section.emit_string('name'); + section.emit_section(kFunctionNamesCode, name_section => { + name_section.emit_u32v(num_function_names); + for (let func of wasm.functions) { + if (func.name === undefined) continue; + name_section.emit_u32v(func.index); + name_section.emit_string(func.name); + } + }); + }); + } + + return binary; + } + + toBuffer(debug = false) { + let bytes = this.toArray(debug); + let buffer = new ArrayBuffer(bytes.length); + let view = new Uint8Array(buffer); + for (let i = 0; i < bytes.length; i++) { + let val = bytes[i]; + if ((typeof val) == "string") val = val.charCodeAt(0); + view[i] = val | 0; + } + return buffer; + } + + instantiate(ffi) { + let module = new WebAssembly.Module(this.toBuffer()); + let instance = new WebAssembly.Instance(module, ffi); + return instance; + } +} diff --git a/implementation-contributed/javascriptcore/wasm/spec-harness/wast.js b/implementation-contributed/javascriptcore/wasm/spec-harness/wast.js new file mode 100644 index 0000000000..5d329c102f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-harness/wast.js @@ -0,0 +1,29777 @@ +// DO NOT EDIT. Generated from WebAssembly spec interpreter + +let WebAssemblyText = (function() { +  let _registry = {__proto__: null}; + function normalize(file) { + return file.split('/').reverse()[0].split('.')[0]; + } +  function require(file) { +    let name = normalize(file); + if (!(name in _registry)) { + throw new Error('missing module: ' + name) +    } else if (typeof _registry[name] === 'function') { + + +      let f = _registry[name]; +      _registry[name] = function() { throw new Error('cyclic module: ' + name) }; +      _registry[name] = f(); +    } +    return _registry[name]; +  } + + + _registry['arrange'] = function() { +    let exports = {}; +//////// start of arrange.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var F32 = require("./f32"); +var F64 = require("./f64"); +var I32 = require("./i32"); +var I64 = require("./i64"); +var Lib = require("./lib"); +var List = require("bs-platform/lib/js/list"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Types = require("./types"); +var Buffer = require("bs-platform/lib/js/buffer"); +var Decode = require("./decode"); +var Encode = require("./encode"); +var Printf = require("bs-platform/lib/js/printf"); +var Source = require("./source"); +var $$String = require("bs-platform/lib/js/string"); +var Values = require("./values"); +var Caml_int32 = require("bs-platform/lib/js/caml_int32"); +var Pervasives = require("bs-platform/lib/js/pervasives"); +var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions"); + +function add_hex_char(buf, c) { + return Curry._1(Printf.bprintf(buf, /* Format */[ + /* Char_literal */Block.__(12, [ + /* "\\" */92, + /* Int */Block.__(4, [ + /* Int_x */6, + /* Lit_padding */Block.__(0, [ + /* Zeros */2, + 2 + ]), + /* No_precision */0, + /* End_of_format */0 + ]) + ]), + "\\%02x" + ]), c); +} + +function add_char(buf, c) { + if (c < /* " " */32 || c >= /* "\127" */127) { + return add_hex_char(buf, c); + } + else { + if (c === /* "\"" */34 || c === /* "\\" */92) { + Buffer.add_char(buf, /* "\\" */92); + } + return Buffer.add_char(buf, c); + } +} + +function string_with(add_char, s) { + var buf = Buffer.create(Caml_int32.imul(3, s.length) + 2 | 0); + Buffer.add_char(buf, /* "\"" */34); + $$String.iter(Curry._1(add_char, buf), s); + Buffer.add_char(buf, /* "\"" */34); + return Buffer.contents(buf); +} + +function list_of_opt(param) { + if (param) { + return /* :: */[ + param[0], + /* [] */0 + ]; + } + else { + return /* [] */0; + } +} + +function break_bytes(s) { + var ss = Curry._2(Lib.$$String[/* breakup */0], s, 16); + var f = function (param) { + return /* Atom */Block.__(0, [string_with(add_hex_char, param)]); + }; + return List.map(f, ss); +} + +function decls(kind, ts) { + var head = kind; + var f = function (param) { + return /* Atom */Block.__(0, [Types.string_of_value_type(param)]); + }; + var xs = ts; + if (xs) { + return /* :: */[ + /* Node */Block.__(1, [ + head, + List.map(f, xs) + ]), + /* [] */0 + ]; + } + else { + return /* [] */0; + } +} + +function func_type(param) { + return /* Node */Block.__(1, [ + "func", + Pervasives.$at(decls("param", param[0]), decls("result", param[1])) + ]); +} + +function limits(nat, param) { + var xs = list_of_opt(param[/* max */1]); + return $$String.concat(" ", /* :: */[ + Curry._1(nat, param[/* min */0]), + List.map(nat, xs) + ]); +} + +function global_type(param) { + var t = param[0]; + if (param[1] !== 0) { + return /* Node */Block.__(1, [ + "mut", + /* :: */[ + /* Atom */Block.__(0, [Types.string_of_value_type(t)]), + /* [] */0 + ] + ]); + } + else { + return /* Atom */Block.__(0, [Types.string_of_value_type(t)]); + } +} + +function testop(_, _$1) { + return "eqz"; +} + +function relop(_, param) { + switch (param) { + case 0 : + return "eq"; + case 1 : + return "ne"; + case 2 : + return "lt_s"; + case 3 : + return "lt_u"; + case 4 : + return "gt_s"; + case 5 : + return "gt_u"; + case 6 : + return "le_s"; + case 7 : + return "le_u"; + case 8 : + return "ge_s"; + case 9 : + return "ge_u"; + + } +} + +function unop(_, param) { + switch (param) { + case 0 : + return "clz"; + case 1 : + return "ctz"; + case 2 : + return "popcnt"; + + } +} + +function binop(_, param) { + switch (param) { + case 0 : + return "add"; + case 1 : + return "sub"; + case 2 : + return "mul"; + case 3 : + return "div_s"; + case 4 : + return "div_u"; + case 5 : + return "rem_s"; + case 6 : + return "rem_u"; + case 7 : + return "and"; + case 8 : + return "or"; + case 9 : + return "xor"; + case 10 : + return "shl"; + case 11 : + return "shr_s"; + case 12 : + return "shr_u"; + case 13 : + return "rotl"; + case 14 : + return "rotr"; + + } +} + +function cvtop(xx, param) { + switch (param) { + case 0 : + return "extend_s/i32"; + case 1 : + return "extend_u/i32"; + case 2 : + return "wrap/i64"; + case 3 : + return "trunc_s/f32"; + case 4 : + return "trunc_u/f32"; + case 5 : + return "trunc_s/f64"; + case 6 : + return "trunc_u/f64"; + case 7 : + return "reinterpret/f" + xx; + + } +} + +function testop$1(_, _$1) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/arrange.ml", + 128, + 27 + ] + ]; +} + +function relop$1(_, param) { + switch (param) { + case 0 : + return "eq"; + case 1 : + return "ne"; + case 2 : + return "lt"; + case 3 : + return "gt"; + case 4 : + return "le"; + case 5 : + return "ge"; + + } +} + +function unop$1(_, param) { + switch (param) { + case 0 : + return "neg"; + case 1 : + return "abs"; + case 2 : + return "ceil"; + case 3 : + return "floor"; + case 4 : + return "trunc"; + case 5 : + return "nearest"; + case 6 : + return "sqrt"; + + } +} + +function binop$1(_, param) { + switch (param) { + case 0 : + return "add"; + case 1 : + return "sub"; + case 2 : + return "mul"; + case 3 : + return "div"; + case 4 : + return "min"; + case 5 : + return "max"; + case 6 : + return "copysign"; + + } +} + +function cvtop$1(xx, param) { + switch (param) { + case 0 : + return "convert_s/i32"; + case 1 : + return "convert_u/i32"; + case 2 : + return "convert_s/i64"; + case 3 : + return "convert_u/i64"; + case 4 : + return "promote/f32"; + case 5 : + return "demote/f64"; + case 6 : + return "reinterpret/i" + xx; + + } +} + +function oper(param, op) { + var floatop = param[1]; + var intop = param[0]; + var $js; + switch (op.tag | 0) { + case 0 : + $js = Curry._2(intop, "32", op[0]); + break; + case 1 : + $js = Curry._2(intop, "64", op[0]); + break; + case 2 : + $js = Curry._2(floatop, "32", op[0]); + break; + case 3 : + $js = Curry._2(floatop, "64", op[0]); + break; + + } + return Types.string_of_value_type(Values.type_of(op)) + ("." + $js); +} + +var partial_arg = /* tuple */[ + unop, + unop$1 +]; + +function unop$2(param) { + return oper(partial_arg, param); +} + +var partial_arg$1 = /* tuple */[ + binop, + binop$1 +]; + +function binop$2(param) { + return oper(partial_arg$1, param); +} + +var partial_arg$2 = /* tuple */[ + testop, + testop$1 +]; + +function testop$2(param) { + return oper(partial_arg$2, param); +} + +var partial_arg$3 = /* tuple */[ + relop, + relop$1 +]; + +function relop$2(param) { + return oper(partial_arg$3, param); +} + +var partial_arg$4 = /* tuple */[ + cvtop, + cvtop$1 +]; + +function cvtop$2(param) { + return oper(partial_arg$4, param); +} + +function mem_size(param) { + switch (param) { + case 0 : + return "8"; + case 1 : + return "16"; + case 2 : + return "32"; + + } +} + +function extension(param) { + if (param !== 0) { + return "_u"; + } + else { + return "_s"; + } +} + +function memop(name, param) { + var offset = param[/* offset */2]; + var align = param[/* align */1]; + var ty = param[/* ty */0]; + return Types.string_of_value_type(ty) + ("." + (name + (( + offset ? " offset=" + Curry._1(I32.to_string_u, offset) : "" + ) + ( + (1 << align) === Types.size(ty) ? "" : " align=" + Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, (1 << align))) + )))); +} + +function loadop(op) { + var match = op[/* sz */3]; + if (match) { + var match$1 = match[0]; + return memop("load" + (mem_size(match$1[0]) + extension(match$1[1])), op); + } + else { + return memop("load", op); + } +} + +function storeop(op) { + var match = op[/* sz */3]; + if (match) { + return memop("store" + mem_size(match[0]), op); + } + else { + return memop("store", op); + } +} + +function $$var(x) { + return Curry._1(I32.to_string_u, x[/* it */1]); +} + +function constop(v) { + return Types.string_of_value_type(Values.type_of(v[/* it */1])) + ".const"; +} + +function instr(e) { + var match = e[/* it */1]; + var match$1; + if (typeof match === "number") { + switch (match) { + case 0 : + match$1 = /* tuple */[ + "unreachable", + /* [] */0 + ]; + break; + case 1 : + match$1 = /* tuple */[ + "nop", + /* [] */0 + ]; + break; + case 2 : + match$1 = /* tuple */[ + "return", + /* [] */0 + ]; + break; + case 3 : + match$1 = /* tuple */[ + "drop", + /* [] */0 + ]; + break; + case 4 : + match$1 = /* tuple */[ + "select", + /* [] */0 + ]; + break; + case 5 : + match$1 = /* tuple */[ + "current_memory", + /* [] */0 + ]; + break; + case 6 : + match$1 = /* tuple */[ + "grow_memory", + /* [] */0 + ]; + break; + + } + } + else { + switch (match.tag | 0) { + case 0 : + var f = function (param) { + return /* Atom */Block.__(0, [Types.string_of_value_type(param)]); + }; + match$1 = /* tuple */[ + "block", + Pervasives.$at(List.map(f, match[0]), List.map(instr, match[1])) + ]; + break; + case 1 : + var f$1 = function (param) { + return /* Atom */Block.__(0, [Types.string_of_value_type(param)]); + }; + match$1 = /* tuple */[ + "loop", + Pervasives.$at(List.map(f$1, match[0]), List.map(instr, match[1])) + ]; + break; + case 2 : + var f$2 = function (param) { + return /* Atom */Block.__(0, [Types.string_of_value_type(param)]); + }; + match$1 = /* tuple */[ + "if", + Pervasives.$at(List.map(f$2, match[0]), /* :: */[ + /* Node */Block.__(1, [ + "then", + List.map(instr, match[1]) + ]), + /* :: */[ + /* Node */Block.__(1, [ + "else", + List.map(instr, match[2]) + ]), + /* [] */0 + ] + ]) + ]; + break; + case 3 : + match$1 = /* tuple */[ + "br " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 4 : + match$1 = /* tuple */[ + "br_if " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 5 : + var xs = Pervasives.$at(match[0], /* :: */[ + match[1], + /* [] */0 + ]); + match$1 = /* tuple */[ + "br_table " + $$String.concat(" ", List.map($$var, xs)), + /* [] */0 + ]; + break; + case 6 : + match$1 = /* tuple */[ + "call " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 7 : + match$1 = /* tuple */[ + "call_indirect " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 8 : + match$1 = /* tuple */[ + "get_local " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 9 : + match$1 = /* tuple */[ + "set_local " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 10 : + match$1 = /* tuple */[ + "tee_local " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 11 : + match$1 = /* tuple */[ + "get_global " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 12 : + match$1 = /* tuple */[ + "set_global " + Curry._1(I32.to_string_u, match[0][/* it */1]), + /* [] */0 + ]; + break; + case 13 : + match$1 = /* tuple */[ + loadop(match[0]), + /* [] */0 + ]; + break; + case 14 : + match$1 = /* tuple */[ + storeop(match[0]), + /* [] */0 + ]; + break; + case 15 : + var lit = match[0]; + match$1 = /* tuple */[ + constop(lit) + (" " + Values.string_of_value(lit[/* it */1])), + /* [] */0 + ]; + break; + case 16 : + match$1 = /* tuple */[ + Curry._1(testop$2, match[0]), + /* [] */0 + ]; + break; + case 17 : + match$1 = /* tuple */[ + Curry._1(relop$2, match[0]), + /* [] */0 + ]; + break; + case 18 : + match$1 = /* tuple */[ + Curry._1(unop$2, match[0]), + /* [] */0 + ]; + break; + case 19 : + match$1 = /* tuple */[ + Curry._1(binop$2, match[0]), + /* [] */0 + ]; + break; + case 20 : + match$1 = /* tuple */[ + Curry._1(cvtop$2, match[0]), + /* [] */0 + ]; + break; + + } + } + return /* Node */Block.__(1, [ + match$1[0], + match$1[1] + ]); +} + +function func_with_name(name, f) { + var match = f[/* it */1]; + return /* Node */Block.__(1, [ + "func" + name, + Pervasives.$at(/* :: */[ + /* Node */Block.__(1, [ + "type " + Curry._1(I32.to_string_u, match[/* ftype */0][/* it */1]), + /* [] */0 + ]), + /* [] */0 + ], Pervasives.$at(decls("local", match[/* locals */1]), List.map(instr, match[/* body */2]))) + ]); +} + +function func(f) { + return func_with_name("", f); +} + +function start(x) { + return /* Node */Block.__(1, [ + "start " + Curry._1(I32.to_string_u, x[/* it */1]), + /* [] */0 + ]); +} + +function table(off, i, tab) { + var match = tab[/* it */1]; + var match$1 = match[/* ttype */0]; + return /* Node */Block.__(1, [ + "table $" + (Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, off + i | 0)) + (" " + limits(I32.to_string_u, match$1[0]))), + /* :: */[ + /* Atom */Block.__(0, [Types.string_of_elem_type(match$1[1])]), + /* [] */0 + ] + ]); +} + +function memory(off, i, mem) { + var match = mem[/* it */1]; + return /* Node */Block.__(1, [ + "memory $" + (Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, off + i | 0)) + (" " + limits(I32.to_string_u, match[/* mtype */0][0]))), + /* [] */0 + ]); +} + +function segment(head, dat, seg) { + var match = seg[/* it */1]; + return /* Node */Block.__(1, [ + head, + /* :: */[ + /* Atom */Block.__(0, [Curry._1(I32.to_string_u, match[/* index */0][/* it */1])]), + /* :: */[ + /* Node */Block.__(1, [ + "offset", + List.map(instr, match[/* offset */1][/* it */1]) + ]), + Curry._1(dat, match[/* init */2]) + ] + ] + ]); +} + +function elems(seg) { + return segment("elem", function (param) { + return List.map(function (param) { + return /* Atom */Block.__(0, [Curry._1(I32.to_string_u, param[/* it */1])]); + }, param); + }, seg); +} + +function data(seg) { + return segment("data", break_bytes, seg); +} + +function typedef(i, t) { + return /* Node */Block.__(1, [ + "type $" + Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, i)), + /* :: */[ + func_type(t), + /* [] */0 + ] + ]); +} + +function import_kind(i, k) { + var match = k[/* it */1]; + switch (match.tag | 0) { + case 0 : + return /* Node */Block.__(1, [ + "func $" + Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, i)), + /* :: */[ + /* Node */Block.__(1, [ + "type", + /* :: */[ + /* Atom */Block.__(0, [Curry._1(I32.to_string_u, match[0][/* it */1])]), + /* [] */0 + ] + ]), + /* [] */0 + ] + ]); + case 1 : + return table(0, i, Source.$at$at(/* record */[/* ttype */match[0]], k[/* at */0])); + case 2 : + return memory(0, i, Source.$at$at(/* record */[/* mtype */match[0]], k[/* at */0])); + case 3 : + return /* Node */Block.__(1, [ + "global $" + Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, i)), + /* :: */[ + global_type(match[0]), + /* [] */0 + ] + ]); + + } +} + +function $$import(i, im) { + var match = im[/* it */1]; + return /* Node */Block.__(1, [ + "import", + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match[/* module_name */0])]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match[/* item_name */1])]), + /* :: */[ + import_kind(i, match[/* ikind */2]), + /* [] */0 + ] + ] + ] + ]); +} + +function export_kind(k) { + var match = k[/* it */1]; + switch (match) { + case 0 : + return "func"; + case 1 : + return "table"; + case 2 : + return "memory"; + case 3 : + return "global"; + + } +} + +function $$export(ex) { + var match = ex[/* it */1]; + return /* Node */Block.__(1, [ + "export", + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match[/* name */0])]), + /* :: */[ + /* Node */Block.__(1, [ + export_kind(match[/* ekind */1]), + /* :: */[ + /* Atom */Block.__(0, [Curry._1(I32.to_string_u, match[/* item */2][/* it */1])]), + /* [] */0 + ] + ]), + /* [] */0 + ] + ] + ]); +} + +function var_opt(param) { + if (param) { + return " " + param[0][/* it */1]; + } + else { + return ""; + } +} + +function is_func_import(im) { + var match = im[/* it */1][/* ikind */2][/* it */1]; + if (match.tag) { + return /* false */0; + } + else { + return /* true */1; + } +} + +function is_table_import(im) { + var match = im[/* it */1][/* ikind */2][/* it */1]; + if (match.tag === 1) { + return /* true */1; + } + else { + return /* false */0; + } +} + +function is_memory_import(im) { + var match = im[/* it */1][/* ikind */2][/* it */1]; + if (match.tag === 2) { + return /* true */1; + } + else { + return /* false */0; + } +} + +function is_global_import(im) { + var match = im[/* it */1][/* ikind */2][/* it */1]; + if (match.tag === 3) { + return /* true */1; + } + else { + return /* false */0; + } +} + +function module_with_var_opt(x_opt, m) { + var func_imports = List.filter(is_func_import)(m[/* it */1][/* imports */8]); + var table_imports = List.filter(is_table_import)(m[/* it */1][/* imports */8]); + var memory_imports = List.filter(is_memory_import)(m[/* it */1][/* imports */8]); + var global_imports = List.filter(is_global_import)(m[/* it */1][/* imports */8]); + var partial_arg = List.length(table_imports); + var f = function (param, param$1) { + return table(partial_arg, param, param$1); + }; + var partial_arg$1 = List.length(memory_imports); + var f$1 = function (param, param$1) { + return memory(partial_arg$1, param, param$1); + }; + var partial_arg$2 = List.length(global_imports); + var f$2 = function (param, param$1) { + var off = partial_arg$2; + var i = param; + var g = param$1; + var match = g[/* it */1]; + return /* Node */Block.__(1, [ + "global $" + Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, off + i | 0)), + /* :: */[ + global_type(match[/* gtype */0]), + List.map(instr, match[/* value */1][/* it */1]) + ] + ]); + }; + var partial_arg$3 = List.length(func_imports); + var f$3 = function (param, param$1) { + var off = partial_arg$3; + var i = param; + var f$4 = param$1; + return func_with_name(" $" + Curry._1(I32.to_string_u, Curry._1(I32.of_int_u, off + i | 0)), f$4); + }; + var xs = list_of_opt(m[/* it */1][/* start */5]); + return /* Node */Block.__(1, [ + "module" + var_opt(x_opt), + Pervasives.$at(List.mapi(typedef, m[/* it */1][/* types */0]), Pervasives.$at(List.mapi($$import, table_imports), Pervasives.$at(List.mapi($$import, memory_imports), Pervasives.$at(List.mapi($$import, global_imports), Pervasives.$at(List.mapi($$import, func_imports), Pervasives.$at(List.mapi(f, m[/* it */1][/* tables */2]), Pervasives.$at(List.mapi(f$1, m[/* it */1][/* memories */3]), Pervasives.$at(List.mapi(f$2, m[/* it */1][/* globals */1]), Pervasives.$at(List.mapi(f$3, m[/* it */1][/* funcs */4]), Pervasives.$at(List.map($$export, m[/* it */1][/* exports */9]), Pervasives.$at(List.map(start, xs), Pervasives.$at(List.map(elems, m[/* it */1][/* elems */6]), List.map(data, m[/* it */1][/* data */7]))))))))))))) + ]); +} + +function module_(param) { + return module_with_var_opt(/* None */0, param); +} + +function literal(lit) { + var match = lit[/* it */1]; + switch (match.tag | 0) { + case 0 : + return /* Node */Block.__(1, [ + "i32.const " + Curry._1(I32.to_string_s, match[0]), + /* [] */0 + ]); + case 1 : + return /* Node */Block.__(1, [ + "i64.const " + Curry._1(I64.to_string_s, match[0]), + /* [] */0 + ]); + case 2 : + return /* Node */Block.__(1, [ + "f32.const " + Curry._1(F32.to_string, match[0]), + /* [] */0 + ]); + case 3 : + return /* Node */Block.__(1, [ + "f64.const " + Curry._1(F64.to_string, match[0]), + /* [] */0 + ]); + + } +} + +function definition(mode, x_opt, def) { + var match = def[/* it */1]; + var exit = 0; + exit = mode !== 564146209 && !(mode >= 983167089 && match.tag) ? 1 : 2; + switch (exit) { + case 1 : + var match$1 = def[/* it */1]; + var m; + m = match$1.tag ? Decode.decode("", match$1[1]) : match$1[0]; + return module_with_var_opt(x_opt, m); + case 2 : + var match$2 = def[/* it */1]; + var bs; + bs = match$2.tag ? match$2[1] : Encode.encode(match$2[0]); + var x_opt$1 = x_opt; + var bs$1 = bs; + return /* Node */Block.__(1, [ + "module" + var_opt(x_opt$1), + break_bytes(bs$1) + ]); + + } +} + +function access(x_opt, name) { + return $$String.concat(" ", /* :: */[ + var_opt(x_opt), + /* :: */[ + string_with(add_char, name), + /* [] */0 + ] + ]); +} + +function action(act) { + var match = act[/* it */1]; + if (match.tag) { + return /* Node */Block.__(1, [ + "get" + access(match[0], match[1]), + /* [] */0 + ]); + } + else { + return /* Node */Block.__(1, [ + "invoke" + access(match[0], match[1]), + List.map(literal, match[2]) + ]); + } +} + +function script(mode, scr) { + return List.map(function (param) { + var mode$1 = mode; + var cmd = param; + var match = cmd[/* it */1]; + switch (match.tag | 0) { + case 0 : + return definition(mode$1, match[0], match[1]); + case 1 : + return /* Node */Block.__(1, [ + "register " + (string_with(add_char, match[0]) + var_opt(match[1])), + /* [] */0 + ]); + case 2 : + return action(match[0]); + case 3 : + var mode$2 = mode$1; + var ass = match[0]; + var match$1 = ass[/* it */1]; + switch (match$1.tag | 0) { + case 0 : + return /* Node */Block.__(1, [ + "assert_malformed", + /* :: */[ + definition(/* Original */983167089, /* None */0, match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + case 1 : + return /* Node */Block.__(1, [ + "assert_invalid", + /* :: */[ + definition(mode$2, /* None */0, match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + case 2 : + return /* Node */Block.__(1, [ + "assert_soft_invalid", + /* :: */[ + definition(mode$2, /* None */0, match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + case 3 : + return /* Node */Block.__(1, [ + "assert_unlinkable", + /* :: */[ + definition(mode$2, /* None */0, match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + case 4 : + return /* Node */Block.__(1, [ + "assert_trap", + /* :: */[ + definition(mode$2, /* None */0, match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + case 5 : + return /* Node */Block.__(1, [ + "assert_return", + /* :: */[ + action(match$1[0]), + List.map(literal, match$1[1]) + ] + ]); + case 6 : + return /* Node */Block.__(1, [ + "assert_return_nan", + /* :: */[ + action(match$1[0]), + /* [] */0 + ] + ]); + case 7 : + return /* Node */Block.__(1, [ + "assert_trap", + /* :: */[ + action(match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + case 8 : + return /* Node */Block.__(1, [ + "assert_exhaustion", + /* :: */[ + action(match$1[0]), + /* :: */[ + /* Atom */Block.__(0, [string_with(add_char, match$1[1])]), + /* [] */0 + ] + ] + ]); + + } + case 4 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/arrange.ml", + 435, + 14 + ] + ]; + + } + }, scr); +} + +exports.instr = instr; +exports.func = func; +exports.module_ = module_; +exports.script = script; +/* F32 Not a pure module */ +//////// end of arrange.js //////// +    return exports; +  }; + + + _registry['array'] = function() { +    let exports = {}; +//////// start of array.js //////// +'use strict'; + +var Curry = require("./curry"); +var Caml_array = require("./caml_array"); +var Caml_exceptions = require("./caml_exceptions"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function init(l, f) { + if (l) { + if (l < 0) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Array.init" + ]; + } + else { + var res = Caml_array.caml_make_vect(l, Curry._1(f, 0)); + for(var i = 1 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ + res[i] = Curry._1(f, i); + } + return res; + } + } + else { + return /* array */[]; + } +} + +function make_matrix(sx, sy, init) { + var res = Caml_array.caml_make_vect(sx, /* array */[]); + for(var x = 0 ,x_finish = sx - 1 | 0; x <= x_finish; ++x){ + res[x] = Caml_array.caml_make_vect(sy, init); + } + return res; +} + +function copy(a) { + var l = a.length; + if (l) { + return Caml_array.caml_array_sub(a, 0, l); + } + else { + return /* array */[]; + } +} + +function append(a1, a2) { + var l1 = a1.length; + if (l1) { + if (a2.length) { + return a1.concat(a2); + } + else { + return Caml_array.caml_array_sub(a1, 0, l1); + } + } + else { + return copy(a2); + } +} + +function sub(a, ofs, len) { + if (len < 0 || ofs > (a.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Array.sub" + ]; + } + else { + return Caml_array.caml_array_sub(a, ofs, len); + } +} + +function fill(a, ofs, len, v) { + if (ofs < 0 || len < 0 || ofs > (a.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Array.fill" + ]; + } + else { + for(var i = ofs ,i_finish = (ofs + len | 0) - 1 | 0; i <= i_finish; ++i){ + a[i] = v; + } + return /* () */0; + } +} + +function blit(a1, ofs1, a2, ofs2, len) { + if (len < 0 || ofs1 < 0 || ofs1 > (a1.length - len | 0) || ofs2 < 0 || ofs2 > (a2.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Array.blit" + ]; + } + else { + return Caml_array.caml_array_blit(a1, ofs1, a2, ofs2, len); + } +} + +function iter(f, a) { + for(var i = 0 ,i_finish = a.length - 1 | 0; i <= i_finish; ++i){ + Curry._1(f, a[i]); + } + return /* () */0; +} + +function map(f, a) { + var l = a.length; + if (l) { + var r = Caml_array.caml_make_vect(l, Curry._1(f, a[0])); + for(var i = 1 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ + r[i] = Curry._1(f, a[i]); + } + return r; + } + else { + return /* array */[]; + } +} + +function iteri(f, a) { + for(var i = 0 ,i_finish = a.length - 1 | 0; i <= i_finish; ++i){ + Curry._2(f, i, a[i]); + } + return /* () */0; +} + +function mapi(f, a) { + var l = a.length; + if (l) { + var r = Caml_array.caml_make_vect(l, Curry._2(f, 0, a[0])); + for(var i = 1 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ + r[i] = Curry._2(f, i, a[i]); + } + return r; + } + else { + return /* array */[]; + } +} + +function to_list(a) { + var _i = a.length - 1 | 0; + var _res = /* [] */0; + while(true) { + var res = _res; + var i = _i; + if (i < 0) { + return res; + } + else { + _res = /* :: */[ + a[i], + res + ]; + _i = i - 1 | 0; + continue ; + + } + }; +} + +function list_length(_accu, _param) { + while(true) { + var param = _param; + var accu = _accu; + if (param) { + _param = param[1]; + _accu = accu + 1 | 0; + continue ; + + } + else { + return accu; + } + }; +} + +function of_list(l) { + if (l) { + var a = Caml_array.caml_make_vect(list_length(0, l), l[0]); + var _i = 1; + var _param = l[1]; + while(true) { + var param = _param; + var i = _i; + if (param) { + a[i] = param[0]; + _param = param[1]; + _i = i + 1 | 0; + continue ; + + } + else { + return a; + } + }; + } + else { + return /* array */[]; + } +} + +function fold_left(f, x, a) { + var r = x; + for(var i = 0 ,i_finish = a.length - 1 | 0; i <= i_finish; ++i){ + r = Curry._2(f, r, a[i]); + } + return r; +} + +function fold_right(f, a, x) { + var r = x; + for(var i = a.length - 1 | 0; i >= 0; --i){ + r = Curry._2(f, a[i], r); + } + return r; +} + +var Bottom = Caml_exceptions.create("Array.Bottom"); + +function sort(cmp, a) { + var maxson = function (l, i) { + var i31 = ((i + i | 0) + i | 0) + 1 | 0; + var x = i31; + if ((i31 + 2 | 0) < l) { + if (Curry._2(cmp, a[i31], a[i31 + 1 | 0]) < 0) { + x = i31 + 1 | 0; + } + if (Curry._2(cmp, a[x], a[i31 + 2 | 0]) < 0) { + x = i31 + 2 | 0; + } + return x; + } + else if ((i31 + 1 | 0) < l && Curry._2(cmp, a[i31], a[i31 + 1 | 0]) < 0) { + return i31 + 1 | 0; + } + else if (i31 < l) { + return i31; + } + else { + throw [ + Bottom, + i + ]; + } + }; + var trickle = function (l, i, e) { + try { + var l$1 = l; + var _i = i; + var e$1 = e; + while(true) { + var i$1 = _i; + var j = maxson(l$1, i$1); + if (Curry._2(cmp, a[j], e$1) > 0) { + a[i$1] = a[j]; + _i = j; + continue ; + + } + else { + a[i$1] = e$1; + return /* () */0; + } + }; + } + catch (exn){ + if (exn[0] === Bottom) { + a[exn[1]] = e; + return /* () */0; + } + else { + throw exn; + } + } + }; + var bubble = function (l, i) { + try { + var l$1 = l; + var _i = i; + while(true) { + var i$1 = _i; + var j = maxson(l$1, i$1); + a[i$1] = a[j]; + _i = j; + continue ; + + }; + } + catch (exn){ + if (exn[0] === Bottom) { + return exn[1]; + } + else { + throw exn; + } + } + }; + var trickleup = function (_i, e) { + while(true) { + var i = _i; + var father = (i - 1 | 0) / 3 | 0; + if (i === father) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "array.ml", + 168, + 4 + ] + ]; + } + if (Curry._2(cmp, a[father], e) < 0) { + a[i] = a[father]; + if (father > 0) { + _i = father; + continue ; + + } + else { + a[0] = e; + return /* () */0; + } + } + else { + a[i] = e; + return /* () */0; + } + }; + }; + var l = a.length; + for(var i = ((l + 1 | 0) / 3 | 0) - 1 | 0; i >= 0; --i){ + trickle(l, i, a[i]); + } + for(var i$1 = l - 1 | 0; i$1 >= 2; --i$1){ + var e = a[i$1]; + a[i$1] = a[0]; + trickleup(bubble(i$1, 0), e); + } + if (l > 1) { + var e$1 = a[1]; + a[1] = a[0]; + a[0] = e$1; + return /* () */0; + } + else { + return 0; + } +} + +function stable_sort(cmp, a) { + var merge = function (src1ofs, src1len, src2, src2ofs, src2len, dst, dstofs) { + var src1r = src1ofs + src1len | 0; + var src2r = src2ofs + src2len | 0; + var _i1 = src1ofs; + var _s1 = a[src1ofs]; + var _i2 = src2ofs; + var _s2 = src2[src2ofs]; + var _d = dstofs; + while(true) { + var d = _d; + var s2 = _s2; + var i2 = _i2; + var s1 = _s1; + var i1 = _i1; + if (Curry._2(cmp, s1, s2) <= 0) { + dst[d] = s1; + var i1$1 = i1 + 1 | 0; + if (i1$1 < src1r) { + _d = d + 1 | 0; + _s1 = a[i1$1]; + _i1 = i1$1; + continue ; + + } + else { + return blit(src2, i2, dst, d + 1 | 0, src2r - i2 | 0); + } + } + else { + dst[d] = s2; + var i2$1 = i2 + 1 | 0; + if (i2$1 < src2r) { + _d = d + 1 | 0; + _s2 = src2[i2$1]; + _i2 = i2$1; + continue ; + + } + else { + return blit(a, i1, dst, d + 1 | 0, src1r - i1 | 0); + } + } + }; + }; + var isortto = function (srcofs, dst, dstofs, len) { + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + var e = a[srcofs + i | 0]; + var j = (dstofs + i | 0) - 1 | 0; + while(j >= dstofs && Curry._2(cmp, dst[j], e) > 0) { + dst[j + 1 | 0] = dst[j]; + j = j - 1 | 0; + }; + dst[j + 1 | 0] = e; + } + return /* () */0; + }; + var sortto = function (srcofs, dst, dstofs, len) { + if (len <= 5) { + return isortto(srcofs, dst, dstofs, len); + } + else { + var l1 = len / 2 | 0; + var l2 = len - l1 | 0; + sortto(srcofs + l1 | 0, dst, dstofs + l1 | 0, l2); + sortto(srcofs, a, srcofs + l2 | 0, l1); + return merge(srcofs + l2 | 0, l1, dst, dstofs + l1 | 0, l2, dst, dstofs); + } + }; + var l = a.length; + if (l <= 5) { + return isortto(0, a, 0, l); + } + else { + var l1 = l / 2 | 0; + var l2 = l - l1 | 0; + var t = Caml_array.caml_make_vect(l2, a[0]); + sortto(l1, t, 0, l2); + sortto(0, a, l2, l1); + return merge(l2, l1, t, 0, l2, a, 0); + } +} + +var create_matrix = make_matrix; + +var concat = Caml_array.caml_array_concat; + +var fast_sort = stable_sort; + +exports.init = init; +exports.make_matrix = make_matrix; +exports.create_matrix = create_matrix; +exports.append = append; +exports.concat = concat; +exports.sub = sub; +exports.copy = copy; +exports.fill = fill; +exports.blit = blit; +exports.to_list = to_list; +exports.of_list = of_list; +exports.iter = iter; +exports.map = map; +exports.iteri = iteri; +exports.mapi = mapi; +exports.fold_left = fold_left; +exports.fold_right = fold_right; +exports.sort = sort; +exports.stable_sort = stable_sort; +exports.fast_sort = fast_sort; +/* No side effect */ +//////// end of array.js //////// +    return exports; +  }; + + + _registry['ast'] = function() { +    let exports = {}; +//////// start of ast.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Lib = require("./lib"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); + +var IntOp = /* module */[]; + +var FloatOp = /* module */[]; + +function export_kind_of_import_kind(param) { + switch (param.tag | 0) { + case 0 : + return /* FuncExport */0; + case 1 : + return /* TableExport */1; + case 2 : + return /* MemoryExport */2; + case 3 : + return /* GlobalExport */3; + + } +} + +function import_type(m, im) { + var match = im[/* it */1]; + var match$1 = match[/* ikind */2][/* it */1]; + switch (match$1.tag | 0) { + case 0 : + return /* ExternalFuncType */Block.__(0, [Curry._2(Lib.List32[/* nth */1], m[/* it */1][/* types */0], match$1[0][/* it */1])]); + case 1 : + return /* ExternalTableType */Block.__(1, [match$1[0]]); + case 2 : + return /* ExternalMemoryType */Block.__(2, [match$1[0]]); + case 3 : + return /* ExternalGlobalType */Block.__(3, [match$1[0]]); + + } +} + +function export_type(m, ex) { + var match = ex[/* it */1]; + var ekind = match[/* ekind */1]; + var _i = match[/* item */2][/* it */1]; + var _param = m[/* it */1][/* imports */8]; + while(true) { + var param = _param; + var i = _i; + if (param) { + var ims = param[1]; + var im = param[0]; + if (Caml_obj.caml_equal(export_kind_of_import_kind(im[/* it */1][/* ikind */2][/* it */1]), ekind[/* it */1])) { + if (i) { + _param = ims; + _i = i - 1 | 0; + continue ; + + } + else { + return import_type(m, im); + } + } + else { + _param = ims; + continue ; + + } + } + else { + var match$1 = ekind[/* it */1]; + switch (match$1) { + case 0 : + return /* ExternalFuncType */Block.__(0, [Curry._2(Lib.List32[/* nth */1], m[/* it */1][/* types */0], Curry._2(Lib.List32[/* nth */1], m[/* it */1][/* funcs */4], i)[/* it */1][/* ftype */0][/* it */1])]); + case 1 : + return /* ExternalTableType */Block.__(1, [Curry._2(Lib.List32[/* nth */1], m[/* it */1][/* tables */2], i)[/* it */1][/* ttype */0]]); + case 2 : + return /* ExternalMemoryType */Block.__(2, [Curry._2(Lib.List32[/* nth */1], m[/* it */1][/* memories */3], i)[/* it */1][/* mtype */0]]); + case 3 : + return /* ExternalGlobalType */Block.__(3, [Curry._2(Lib.List32[/* nth */1], m[/* it */1][/* globals */1], i)[/* it */1][/* gtype */0]]); + + } + } + }; +} + +var I32Op = 0; + +var I64Op = 0; + +var F32Op = 0; + +var F64Op = 0; + +var empty_module = /* record */[ + /* types : [] */0, + /* globals : [] */0, + /* tables : [] */0, + /* memories : [] */0, + /* funcs : [] */0, + /* start : None */0, + /* elems : [] */0, + /* data : [] */0, + /* imports : [] */0, + /* exports : [] */0 +]; + +exports.IntOp = IntOp; +exports.FloatOp = FloatOp; +exports.I32Op = I32Op; +exports.I64Op = I64Op; +exports.F32Op = F32Op; +exports.F64Op = F64Op; +exports.empty_module = empty_module; +exports.export_kind_of_import_kind = export_kind_of_import_kind; +exports.import_type = import_type; +exports.export_type = export_type; +/* Lib Not a pure module */ +//////// end of ast.js //////// +    return exports; +  }; + + + _registry['bigarray'] = function() { +    let exports = {}; +//////// start of bigarray.js //////// +'use strict'; + +var Caml_array = require("./caml_array"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function dims() { + var n = function () { + throw "caml_ba_num_dims not implemented by bucklescript yet\n"; + }(); + var d = Caml_array.caml_make_vect(n, 0); + for(var i = 0 ,i_finish = n - 1 | 0; i <= i_finish; ++i){ + d[i] = function () { + throw "caml_ba_dim not implemented by bucklescript yet\n"; + }(); + } + return d; +} + +function map_file(_, $staropt$star, _$1, _$2, _$3, _$4) { + $staropt$star ? $staropt$star[0] : /* int64 */[ + /* hi */0, + /* lo */0 + ]; + return function () { + throw "caml_ba_map_file_bytecode not implemented by bucklescript yet\n"; + }(); +} + +var Genarray = /* module */[ + /* dims */dims, + /* map_file */map_file +]; + +function create(_, _$1, _$2) { + return function () { + throw "caml_ba_create not implemented by bucklescript yet\n"; + }(); +} + +function of_array(kind, layout, data) { + var ba = create(kind, layout, data.length); + layout !== 0 ? 1 : 0; + for(var i = 0 ,i_finish = data.length - 1 | 0; i <= i_finish; ++i){ + (function () { + throw "caml_ba_set_1 not implemented by bucklescript yet\n"; + }()); + } + return ba; +} + +function map_file$1(fd, pos, kind, layout, shared, dim) { + return map_file(fd, pos, kind, layout, shared, /* int array */[dim]); +} + +var Array1 = /* module */[ + /* create */create, + /* of_array */of_array, + /* map_file */map_file$1 +]; + +function create$1(_, _$1, _$2, _$3) { + return function () { + throw "caml_ba_create not implemented by bucklescript yet\n"; + }(); +} + +function slice_left(_, _$1) { + return function () { + throw "caml_ba_slice not implemented by bucklescript yet\n"; + }(); +} + +function slice_right(_, _$1) { + return function () { + throw "caml_ba_slice not implemented by bucklescript yet\n"; + }(); +} + +function of_array$1(kind, layout, data) { + var dim1 = data.length; + var dim2 = dim1 ? data[0].length : 0; + var ba = create$1(kind, layout, dim1, dim2); + layout !== 0 ? 1 : 0; + for(var i = 0 ,i_finish = dim1 - 1 | 0; i <= i_finish; ++i){ + var row = data[i]; + if (row.length !== dim2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.Array2.of_array: non-rectangular data" + ]; + } + for(var j = 0 ,j_finish = dim2 - 1 | 0; j <= j_finish; ++j){ + (function () { + throw "caml_ba_set_2 not implemented by bucklescript yet\n"; + }()); + } + } + return ba; +} + +function map_file$2(fd, pos, kind, layout, shared, dim1, dim2) { + return map_file(fd, pos, kind, layout, shared, /* int array */[ + dim1, + dim2 + ]); +} + +var Array2 = /* module */[ + /* create */create$1, + /* slice_left */slice_left, + /* slice_right */slice_right, + /* of_array */of_array$1, + /* map_file */map_file$2 +]; + +function create$2(_, _$1, _$2, _$3, _$4) { + return function () { + throw "caml_ba_create not implemented by bucklescript yet\n"; + }(); +} + +function slice_left_1(_, _$1, _$2) { + return function () { + throw "caml_ba_slice not implemented by bucklescript yet\n"; + }(); +} + +function slice_right_1(_, _$1, _$2) { + return function () { + throw "caml_ba_slice not implemented by bucklescript yet\n"; + }(); +} + +function slice_left_2(_, _$1) { + return function () { + throw "caml_ba_slice not implemented by bucklescript yet\n"; + }(); +} + +function slice_right_2(_, _$1) { + return function () { + throw "caml_ba_slice not implemented by bucklescript yet\n"; + }(); +} + +function of_array$2(kind, layout, data) { + var dim1 = data.length; + var dim2 = dim1 ? data[0].length : 0; + var dim3 = dim2 ? data[0][0].length : 0; + var ba = create$2(kind, layout, dim1, dim2, dim3); + layout !== 0 ? 1 : 0; + for(var i = 0 ,i_finish = dim1 - 1 | 0; i <= i_finish; ++i){ + var row = data[i]; + if (row.length !== dim2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.Array3.of_array: non-cubic data" + ]; + } + for(var j = 0 ,j_finish = dim2 - 1 | 0; j <= j_finish; ++j){ + var col = row[j]; + if (col.length !== dim3) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.Array3.of_array: non-cubic data" + ]; + } + for(var k = 0 ,k_finish = dim3 - 1 | 0; k <= k_finish; ++k){ + (function () { + throw "caml_ba_set_3 not implemented by bucklescript yet\n"; + }()); + } + } + } + return ba; +} + +function map_file$3(fd, pos, kind, layout, shared, dim1, dim2, dim3) { + return map_file(fd, pos, kind, layout, shared, /* int array */[ + dim1, + dim2, + dim3 + ]); +} + +var Array3 = /* module */[ + /* create */create$2, + /* slice_left_1 */slice_left_1, + /* slice_right_1 */slice_right_1, + /* slice_left_2 */slice_left_2, + /* slice_right_2 */slice_right_2, + /* of_array */of_array$2, + /* map_file */map_file$3 +]; + +function array1_of_genarray(a) { + if (function () { + throw "caml_ba_num_dims not implemented by bucklescript yet\n"; + }() === 1) { + return a; + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.array1_of_genarray" + ]; + } +} + +function array2_of_genarray(a) { + if (function () { + throw "caml_ba_num_dims not implemented by bucklescript yet\n"; + }() === 2) { + return a; + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.array2_of_genarray" + ]; + } +} + +function array3_of_genarray(a) { + if (function () { + throw "caml_ba_num_dims not implemented by bucklescript yet\n"; + }() === 3) { + return a; + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.array3_of_genarray" + ]; + } +} + +function reshape_1(_, _$1) { + return function () { + throw "caml_ba_reshape not implemented by bucklescript yet\n"; + }(); +} + +function reshape_2(_, _$1, _$2) { + return function () { + throw "caml_ba_reshape not implemented by bucklescript yet\n"; + }(); +} + +function reshape_3(_, _$1, _$2, _$3) { + return function () { + throw "caml_ba_reshape not implemented by bucklescript yet\n"; + }(); +} + +var float32 = /* Float32 */0; + +var float64 = /* Float64 */1; + +var complex32 = /* Complex32 */10; + +var complex64 = /* Complex64 */11; + +var int8_signed = /* Int8_signed */2; + +var int8_unsigned = /* Int8_unsigned */3; + +var int16_signed = /* Int16_signed */4; + +var int16_unsigned = /* Int16_unsigned */5; + +var $$int = /* Int */8; + +var int32 = /* Int32 */6; + +var int64 = /* Int64 */7; + +var nativeint = /* Nativeint */9; + +var $$char = /* Char */12; + +var c_layout = /* C_layout */0; + +var fortran_layout = /* Fortran_layout */1; + +function reshape(_, _$1) { + return function () { + throw "caml_ba_reshape not implemented by bucklescript yet\n"; + }(); +} + +exports.float32 = float32; +exports.float64 = float64; +exports.complex32 = complex32; +exports.complex64 = complex64; +exports.int8_signed = int8_signed; +exports.int8_unsigned = int8_unsigned; +exports.int16_signed = int16_signed; +exports.int16_unsigned = int16_unsigned; +exports.$$int = $$int; +exports.int32 = int32; +exports.int64 = int64; +exports.nativeint = nativeint; +exports.$$char = $$char; +exports.c_layout = c_layout; +exports.fortran_layout = fortran_layout; +exports.Genarray = Genarray; +exports.Array1 = Array1; +exports.Array2 = Array2; +exports.Array3 = Array3; +exports.array1_of_genarray = array1_of_genarray; +exports.array2_of_genarray = array2_of_genarray; +exports.array3_of_genarray = array3_of_genarray; +exports.reshape = reshape; +exports.reshape_1 = reshape_1; +exports.reshape_2 = reshape_2; +exports.reshape_3 = reshape_3; +/* Not a pure module */ +//////// end of bigarray.js //////// +    return exports; +  }; + + + _registry['block'] = function() { +    let exports = {}; +//////// start of block.js //////// +'use strict'; + + +function __(tag, block) { + block.tag = tag; + return block; +} + +exports.__ = __; +/* No side effect */ +//////// end of block.js //////// +    return exports; +  }; + + + _registry['buffer'] = function() { +    let exports = {}; +//////// start of buffer.js //////// +'use strict'; + +var Sys = require("./sys"); +var Bytes = require("./bytes"); +var Curry = require("./curry"); +var $$String = require("./string"); +var Pervasives = require("./pervasives"); +var Caml_string = require("./caml_string"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function create(n) { + var n$1 = n < 1 ? 1 : n; + var n$2 = n$1 > Sys.max_string_length ? Sys.max_string_length : n$1; + var s = Caml_string.caml_create_string(n$2); + return /* record */[ + /* buffer */s, + /* position */0, + /* length */n$2, + /* initial_buffer */s + ]; +} + +function contents(b) { + return Bytes.sub_string(b[/* buffer */0], 0, b[/* position */1]); +} + +function to_bytes(b) { + return Bytes.sub(b[/* buffer */0], 0, b[/* position */1]); +} + +function sub(b, ofs, len) { + if (ofs < 0 || len < 0 || ofs > (b[/* position */1] - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Buffer.sub" + ]; + } + else { + return Bytes.sub_string(b[/* buffer */0], ofs, len); + } +} + +function blit(src, srcoff, dst, dstoff, len) { + if (len < 0 || srcoff < 0 || srcoff > (src[/* position */1] - len | 0) || dstoff < 0 || dstoff > (dst.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Buffer.blit" + ]; + } + else { + return Bytes.blit(src[/* buffer */0], srcoff, dst, dstoff, len); + } +} + +function nth(b, ofs) { + if (ofs < 0 || ofs >= b[/* position */1]) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Buffer.nth" + ]; + } + else { + return b[/* buffer */0][ofs]; + } +} + +function length(b) { + return b[/* position */1]; +} + +function clear(b) { + b[/* position */1] = 0; + return /* () */0; +} + +function reset(b) { + b[/* position */1] = 0; + b[/* buffer */0] = b[/* initial_buffer */3]; + b[/* length */2] = b[/* buffer */0].length; + return /* () */0; +} + +function resize(b, more) { + var len = b[/* length */2]; + var new_len = len; + while((b[/* position */1] + more | 0) > new_len) { + new_len = (new_len << 1); + }; + if (new_len > Sys.max_string_length) { + if ((b[/* position */1] + more | 0) <= Sys.max_string_length) { + new_len = Sys.max_string_length; + } + else { + throw [ + Caml_builtin_exceptions.failure, + "Buffer.add: cannot grow buffer" + ]; + } + } + var new_buffer = Caml_string.caml_create_string(new_len); + Bytes.blit(b[/* buffer */0], 0, new_buffer, 0, b[/* position */1]); + b[/* buffer */0] = new_buffer; + b[/* length */2] = new_len; + return /* () */0; +} + +function add_char(b, c) { + var pos = b[/* position */1]; + if (pos >= b[/* length */2]) { + resize(b, 1); + } + b[/* buffer */0][pos] = c; + b[/* position */1] = pos + 1 | 0; + return /* () */0; +} + +function add_substring(b, s, offset, len) { + if (offset < 0 || len < 0 || (offset + len | 0) > s.length) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Buffer.add_substring/add_subbytes" + ]; + } + var new_position = b[/* position */1] + len | 0; + if (new_position > b[/* length */2]) { + resize(b, len); + } + Bytes.blit_string(s, offset, b[/* buffer */0], b[/* position */1], len); + b[/* position */1] = new_position; + return /* () */0; +} + +function add_subbytes(b, s, offset, len) { + return add_substring(b, Caml_string.bytes_to_string(s), offset, len); +} + +function add_string(b, s) { + var len = s.length; + var new_position = b[/* position */1] + len | 0; + if (new_position > b[/* length */2]) { + resize(b, len); + } + Bytes.blit_string(s, 0, b[/* buffer */0], b[/* position */1], len); + b[/* position */1] = new_position; + return /* () */0; +} + +function add_bytes(b, s) { + return add_string(b, Caml_string.bytes_to_string(s)); +} + +function add_buffer(b, bs) { + return add_subbytes(b, bs[/* buffer */0], 0, bs[/* position */1]); +} + +function add_channel(b, ic, len) { + if (len < 0 || len > Sys.max_string_length) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Buffer.add_channel" + ]; + } + if ((b[/* position */1] + len | 0) > b[/* length */2]) { + resize(b, len); + } + Pervasives.really_input(ic, b[/* buffer */0], b[/* position */1], len); + b[/* position */1] = b[/* position */1] + len | 0; + return /* () */0; +} + +function output_buffer(oc, b) { + return Pervasives.output(oc, b[/* buffer */0], 0, b[/* position */1]); +} + +function closing(param) { + if (param !== 40) { + if (param !== 123) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "buffer.ml", + 115, + 9 + ] + ]; + } + else { + return /* "}" */125; + } + } + else { + return /* ")" */41; + } +} + +function advance_to_closing(opening, closing, k, s, start) { + var _k = k; + var _i = start; + var lim = s.length; + while(true) { + var i = _i; + var k$1 = _k; + if (i >= lim) { + throw Caml_builtin_exceptions.not_found; + } + else if (Caml_string.get(s, i) === opening) { + _i = i + 1 | 0; + _k = k$1 + 1 | 0; + continue ; + + } + else if (Caml_string.get(s, i) === closing) { + if (k$1) { + _i = i + 1 | 0; + _k = k$1 - 1 | 0; + continue ; + + } + else { + return i; + } + } + else { + _i = i + 1 | 0; + continue ; + + } + }; +} + +function advance_to_non_alpha(s, start) { + var _i = start; + var lim = s.length; + while(true) { + var i = _i; + if (i >= lim) { + return lim; + } + else { + var match = Caml_string.get(s, i); + var exit = 0; + if (match >= 91) { + if (match >= 97) { + if (match >= 123) { + return i; + } + else { + exit = 1; + } + } + else if (match !== 95) { + return i; + } + else { + exit = 1; + } + } + else if (match >= 58) { + if (match >= 65) { + exit = 1; + } + else { + return i; + } + } + else if (match >= 48) { + exit = 1; + } + else { + return i; + } + if (exit === 1) { + _i = i + 1 | 0; + continue ; + + } + + } + }; +} + +function find_ident(s, start, lim) { + if (start >= lim) { + throw Caml_builtin_exceptions.not_found; + } + else { + var c = Caml_string.get(s, start); + var exit = 0; + if (c !== 40) { + if (c !== 123) { + var stop = advance_to_non_alpha(s, start + 1 | 0); + return /* tuple */[ + $$String.sub(s, start, stop - start | 0), + stop + ]; + } + else { + exit = 1; + } + } + else { + exit = 1; + } + if (exit === 1) { + var new_start = start + 1 | 0; + var stop$1 = advance_to_closing(c, closing(c), 0, s, new_start); + return /* tuple */[ + $$String.sub(s, new_start, (stop$1 - start | 0) - 1 | 0), + stop$1 + 1 | 0 + ]; + } + + } +} + +function add_substitute(b, f, s) { + var lim = s.length; + var _previous = /* " " */32; + var _i = 0; + while(true) { + var i = _i; + var previous = _previous; + if (i < lim) { + var current = Caml_string.get(s, i); + if (current !== 36) { + if (previous === /* "\\" */92) { + add_char(b, /* "\\" */92); + add_char(b, current); + _i = i + 1 | 0; + _previous = /* " " */32; + continue ; + + } + else if (current !== 92) { + add_char(b, current); + _i = i + 1 | 0; + _previous = current; + continue ; + + } + else { + _i = i + 1 | 0; + _previous = current; + continue ; + + } + } + else if (previous === /* "\\" */92) { + add_char(b, current); + _i = i + 1 | 0; + _previous = /* " " */32; + continue ; + + } + else { + var j = i + 1 | 0; + var match = find_ident(s, j, lim); + add_string(b, Curry._1(f, match[0])); + _i = match[1]; + _previous = /* " " */32; + continue ; + + } + } + else if (previous === /* "\\" */92) { + return add_char(b, previous); + } + else { + return 0; + } + }; +} + +exports.create = create; +exports.contents = contents; +exports.to_bytes = to_bytes; +exports.sub = sub; +exports.blit = blit; +exports.nth = nth; +exports.length = length; +exports.clear = clear; +exports.reset = reset; +exports.add_char = add_char; +exports.add_string = add_string; +exports.add_bytes = add_bytes; +exports.add_substring = add_substring; +exports.add_subbytes = add_subbytes; +exports.add_substitute = add_substitute; +exports.add_buffer = add_buffer; +exports.add_channel = add_channel; +exports.output_buffer = output_buffer; +/* No side effect */ +//////// end of buffer.js //////// +    return exports; +  }; + + + _registry['bytes'] = function() { +    let exports = {}; +//////// start of bytes.js //////// +'use strict'; + +var Char = require("./char"); +var List = require("./list"); +var Curry = require("./curry"); +var Caml_obj = require("./caml_obj"); +var Caml_int32 = require("./caml_int32"); +var Pervasives = require("./pervasives"); +var Caml_string = require("./caml_string"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function make(n, c) { + var s = Caml_string.caml_create_string(n); + Caml_string.caml_fill_string(s, 0, n, c); + return s; +} + +function init(n, f) { + var s = Caml_string.caml_create_string(n); + for(var i = 0 ,i_finish = n - 1 | 0; i <= i_finish; ++i){ + s[i] = Curry._1(f, i); + } + return s; +} + +var empty = []; + +function copy(s) { + var len = s.length; + var r = Caml_string.caml_create_string(len); + Caml_string.caml_blit_bytes(s, 0, r, 0, len); + return r; +} + +function to_string(b) { + return Caml_string.bytes_to_string(copy(b)); +} + +function of_string(s) { + return copy(Caml_string.bytes_of_string(s)); +} + +function sub(s, ofs, len) { + if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.sub / Bytes.sub" + ]; + } + else { + var r = Caml_string.caml_create_string(len); + Caml_string.caml_blit_bytes(s, ofs, r, 0, len); + return r; + } +} + +function sub_string(b, ofs, len) { + return Caml_string.bytes_to_string(sub(b, ofs, len)); +} + +function extend(s, left, right) { + var len = (s.length + left | 0) + right | 0; + var r = Caml_string.caml_create_string(len); + var match = left < 0 ? /* tuple */[ + -left | 0, + 0 + ] : /* tuple */[ + 0, + left + ]; + var dstoff = match[1]; + var srcoff = match[0]; + var cpylen = Pervasives.min(s.length - srcoff | 0, len - dstoff | 0); + if (cpylen > 0) { + Caml_string.caml_blit_bytes(s, srcoff, r, dstoff, cpylen); + } + return r; +} + +function fill(s, ofs, len, c) { + if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.fill / Bytes.fill" + ]; + } + else { + return Caml_string.caml_fill_string(s, ofs, len, c); + } +} + +function blit(s1, ofs1, s2, ofs2, len) { + if (len < 0 || ofs1 < 0 || ofs1 > (s1.length - len | 0) || ofs2 < 0 || ofs2 > (s2.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bytes.blit" + ]; + } + else { + return Caml_string.caml_blit_bytes(s1, ofs1, s2, ofs2, len); + } +} + +function blit_string(s1, ofs1, s2, ofs2, len) { + if (len < 0 || ofs1 < 0 || ofs1 > (s1.length - len | 0) || ofs2 < 0 || ofs2 > (s2.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.blit / Bytes.blit_string" + ]; + } + else { + return Caml_string.caml_blit_string(s1, ofs1, s2, ofs2, len); + } +} + +function iter(f, a) { + for(var i = 0 ,i_finish = a.length - 1 | 0; i <= i_finish; ++i){ + Curry._1(f, a[i]); + } + return /* () */0; +} + +function iteri(f, a) { + for(var i = 0 ,i_finish = a.length - 1 | 0; i <= i_finish; ++i){ + Curry._2(f, i, a[i]); + } + return /* () */0; +} + +function concat(sep, l) { + if (l) { + var hd = l[0]; + var num = [0]; + var len = [0]; + List.iter(function (s) { + num[0] = num[0] + 1 | 0; + len[0] = len[0] + s.length | 0; + return /* () */0; + }, l); + var r = Caml_string.caml_create_string(len[0] + Caml_int32.imul(sep.length, num[0] - 1 | 0) | 0); + Caml_string.caml_blit_bytes(hd, 0, r, 0, hd.length); + var pos = [hd.length]; + List.iter(function (s) { + Caml_string.caml_blit_bytes(sep, 0, r, pos[0], sep.length); + pos[0] = pos[0] + sep.length | 0; + Caml_string.caml_blit_bytes(s, 0, r, pos[0], s.length); + pos[0] = pos[0] + s.length | 0; + return /* () */0; + }, l[1]); + return r; + } + else { + return empty; + } +} + +function cat(a, b) { + return a.concat(b); +} + +function is_space(param) { + var switcher = param - 9 | 0; + if (switcher > 4 || switcher < 0) { + if (switcher !== 23) { + return /* false */0; + } + else { + return /* true */1; + } + } + else if (switcher !== 2) { + return /* true */1; + } + else { + return /* false */0; + } +} + +function trim(s) { + var len = s.length; + var i = 0; + while(i < len && is_space(s[i])) { + i = i + 1 | 0; + }; + var j = len - 1 | 0; + while(j >= i && is_space(s[j])) { + j = j - 1 | 0; + }; + if (j >= i) { + return sub(s, i, (j - i | 0) + 1 | 0); + } + else { + return empty; + } +} + +function escaped(s) { + var n = 0; + for(var i = 0 ,i_finish = s.length - 1 | 0; i <= i_finish; ++i){ + var match = s[i]; + var $js; + if (match >= 32) { + var switcher = match - 34 | 0; + $js = switcher > 58 || switcher < 0 ? ( + switcher >= 93 ? 4 : 1 + ) : ( + switcher > 57 || switcher < 1 ? 2 : 1 + ); + } + else { + $js = match >= 11 ? ( + match !== 13 ? 4 : 2 + ) : ( + match >= 8 ? 2 : 4 + ); + } + n = n + $js | 0; + } + if (n === s.length) { + return copy(s); + } + else { + var s$prime = Caml_string.caml_create_string(n); + n = 0; + for(var i$1 = 0 ,i_finish$1 = s.length - 1 | 0; i$1 <= i_finish$1; ++i$1){ + var c = s[i$1]; + var exit = 0; + if (c >= 35) { + if (c !== 92) { + if (c >= 127) { + exit = 1; + } + else { + s$prime[n] = c; + } + } + else { + exit = 2; + } + } + else if (c >= 32) { + if (c >= 34) { + exit = 2; + } + else { + s$prime[n] = c; + } + } + else if (c >= 14) { + exit = 1; + } + else { + switch (c) { + case 8 : + s$prime[n] = /* "\\" */92; + n = n + 1 | 0; + s$prime[n] = /* "b" */98; + break; + case 9 : + s$prime[n] = /* "\\" */92; + n = n + 1 | 0; + s$prime[n] = /* "t" */116; + break; + case 10 : + s$prime[n] = /* "\\" */92; + n = n + 1 | 0; + s$prime[n] = /* "n" */110; + break; + case 0 : + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 11 : + case 12 : + exit = 1; + break; + case 13 : + s$prime[n] = /* "\\" */92; + n = n + 1 | 0; + s$prime[n] = /* "r" */114; + break; + + } + } + switch (exit) { + case 1 : + s$prime[n] = /* "\\" */92; + n = n + 1 | 0; + s$prime[n] = 48 + (c / 100 | 0) | 0; + n = n + 1 | 0; + s$prime[n] = 48 + (c / 10 | 0) % 10 | 0; + n = n + 1 | 0; + s$prime[n] = 48 + c % 10 | 0; + break; + case 2 : + s$prime[n] = /* "\\" */92; + n = n + 1 | 0; + s$prime[n] = c; + break; + + } + n = n + 1 | 0; + } + return s$prime; + } +} + +function map(f, s) { + var l = s.length; + if (l) { + var r = Caml_string.caml_create_string(l); + for(var i = 0 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ + r[i] = Curry._1(f, s[i]); + } + return r; + } + else { + return s; + } +} + +function mapi(f, s) { + var l = s.length; + if (l) { + var r = Caml_string.caml_create_string(l); + for(var i = 0 ,i_finish = l - 1 | 0; i <= i_finish; ++i){ + r[i] = Curry._2(f, i, s[i]); + } + return r; + } + else { + return s; + } +} + +function uppercase(s) { + return map(Char.uppercase, s); +} + +function lowercase(s) { + return map(Char.lowercase, s); +} + +function apply1(f, s) { + if (s.length) { + var r = copy(s); + r[0] = Curry._1(f, s[0]); + return r; + } + else { + return s; + } +} + +function capitalize(s) { + return apply1(Char.uppercase, s); +} + +function uncapitalize(s) { + return apply1(Char.lowercase, s); +} + +function index_rec(s, lim, _i, c) { + while(true) { + var i = _i; + if (i >= lim) { + throw Caml_builtin_exceptions.not_found; + } + else if (s[i] === c) { + return i; + } + else { + _i = i + 1 | 0; + continue ; + + } + }; +} + +function index(s, c) { + return index_rec(s, s.length, 0, c); +} + +function index_from(s, i, c) { + var l = s.length; + if (i < 0 || i > l) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.index_from / Bytes.index_from" + ]; + } + else { + return index_rec(s, l, i, c); + } +} + +function rindex_rec(s, _i, c) { + while(true) { + var i = _i; + if (i < 0) { + throw Caml_builtin_exceptions.not_found; + } + else if (s[i] === c) { + return i; + } + else { + _i = i - 1 | 0; + continue ; + + } + }; +} + +function rindex(s, c) { + return rindex_rec(s, s.length - 1 | 0, c); +} + +function rindex_from(s, i, c) { + if (i < -1 || i >= s.length) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.rindex_from / Bytes.rindex_from" + ]; + } + else { + return rindex_rec(s, i, c); + } +} + +function contains_from(s, i, c) { + var l = s.length; + if (i < 0 || i > l) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.contains_from / Bytes.contains_from" + ]; + } + else { + try { + index_rec(s, l, i, c); + return /* true */1; + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + return /* false */0; + } + else { + throw exn; + } + } + } +} + +function contains(s, c) { + return contains_from(s, 0, c); +} + +function rcontains_from(s, i, c) { + if (i < 0 || i >= s.length) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.rcontains_from / Bytes.rcontains_from" + ]; + } + else { + try { + rindex_rec(s, i, c); + return /* true */1; + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + return /* false */0; + } + else { + throw exn; + } + } + } +} + +var compare = Caml_obj.caml_compare; + +var unsafe_to_string = Caml_string.bytes_to_string; + +var unsafe_of_string = Caml_string.bytes_of_string; + +exports.make = make; +exports.init = init; +exports.empty = empty; +exports.copy = copy; +exports.of_string = of_string; +exports.to_string = to_string; +exports.sub = sub; +exports.sub_string = sub_string; +exports.extend = extend; +exports.fill = fill; +exports.blit = blit; +exports.blit_string = blit_string; +exports.concat = concat; +exports.cat = cat; +exports.iter = iter; +exports.iteri = iteri; +exports.map = map; +exports.mapi = mapi; +exports.trim = trim; +exports.escaped = escaped; +exports.index = index; +exports.rindex = rindex; +exports.index_from = index_from; +exports.rindex_from = rindex_from; +exports.contains = contains; +exports.contains_from = contains_from; +exports.rcontains_from = rcontains_from; +exports.uppercase = uppercase; +exports.lowercase = lowercase; +exports.capitalize = capitalize; +exports.uncapitalize = uncapitalize; +exports.compare = compare; +exports.unsafe_to_string = unsafe_to_string; +exports.unsafe_of_string = unsafe_of_string; +/* No side effect */ +//////// end of bytes.js //////// +    return exports; +  }; + + + _registry['caml_array'] = function() { +    let exports = {}; +//////// start of caml_array.js //////// +'use strict'; + + +function caml_array_sub(x, offset, len) { + var result = new Array(len); + var j = 0; + var i = offset; + while(j < len) { + result[j] = x[i]; + j = j + 1 | 0; + i = i + 1 | 0; + }; + return result; +} + +function len(_acc, _l) { + while(true) { + var l = _l; + var acc = _acc; + if (l) { + _l = l[1]; + _acc = l[0].length + acc | 0; + continue ; + + } + else { + return acc; + } + }; +} + +function fill(arr, _i, _l) { + while(true) { + var l = _l; + var i = _i; + if (l) { + var x = l[0]; + var l$1 = x.length; + var k = i; + var j = 0; + while(j < l$1) { + arr[k] = x[j]; + k = k + 1 | 0; + j = j + 1 | 0; + }; + _l = l[1]; + _i = k; + continue ; + + } + else { + return /* () */0; + } + }; +} + +function caml_array_concat(l) { + var v = len(0, l); + var result = new Array(v); + fill(result, 0, l); + return result; +} + +function caml_make_vect(len, init) { + var b = new Array(len); + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + b[i] = init; + } + return b; +} + +function caml_array_blit(a1, i1, a2, i2, len) { + if (i2 <= i1) { + for(var j = 0 ,j_finish = len - 1 | 0; j <= j_finish; ++j){ + a2[j + i2 | 0] = a1[j + i1 | 0]; + } + return /* () */0; + } + else { + for(var j$1 = len - 1 | 0; j$1 >= 0; --j$1){ + a2[j$1 + i2 | 0] = a1[j$1 + i1 | 0]; + } + return /* () */0; + } +} + +exports.caml_array_sub = caml_array_sub; +exports.caml_array_concat = caml_array_concat; +exports.caml_make_vect = caml_make_vect; +exports.caml_array_blit = caml_array_blit; +/* No side effect */ +//////// end of caml_array.js //////// +    return exports; +  }; + + + _registry['caml_builtin_exceptions'] = function() { +    let exports = {}; +//////// start of caml_builtin_exceptions.js //////// +'use strict'; + + +var out_of_memory = /* tuple */[ + "Out_of_memory", + 0 +]; + +var sys_error = /* tuple */[ + "Sys_error", + -1 +]; + +var failure = /* tuple */[ + "Failure", + -2 +]; + +var invalid_argument = /* tuple */[ + "Invalid_argument", + -3 +]; + +var end_of_file = /* tuple */[ + "End_of_file", + -4 +]; + +var division_by_zero = /* tuple */[ + "Division_by_zero", + -5 +]; + +var not_found = /* tuple */[ + "Not_found", + -6 +]; + +var match_failure = /* tuple */[ + "Match_failure", + -7 +]; + +var stack_overflow = /* tuple */[ + "Stack_overflow", + -8 +]; + +var sys_blocked_io = /* tuple */[ + "Sys_blocked_io", + -9 +]; + +var assert_failure = /* tuple */[ + "Assert_failure", + -10 +]; + +var undefined_recursive_module = /* tuple */[ + "Undefined_recursive_module", + -11 +]; + +exports.out_of_memory = out_of_memory; +exports.sys_error = sys_error; +exports.failure = failure; +exports.invalid_argument = invalid_argument; +exports.end_of_file = end_of_file; +exports.division_by_zero = division_by_zero; +exports.not_found = not_found; +exports.match_failure = match_failure; +exports.stack_overflow = stack_overflow; +exports.sys_blocked_io = sys_blocked_io; +exports.assert_failure = assert_failure; +exports.undefined_recursive_module = undefined_recursive_module; +/* No side effect */ +//////// end of caml_builtin_exceptions.js //////// +    return exports; +  }; + + + _registry['caml_bytes'] = function() { +    let exports = {}; +//////// start of caml_bytes.js //////// +'use strict'; + +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function get(s, i) { + if (i < 0 || i >= s.length) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "index out of bounds" + ]; + } + else { + return s[i]; + } +} + +exports.get = get; +/* No side effect */ +//////// end of caml_bytes.js //////// +    return exports; +  }; + + + _registry['caml_exceptions'] = function() { +    let exports = {}; +//////// start of caml_exceptions.js //////// +'use strict'; + + +var id = [0]; + +function caml_set_oo_id(b) { + b[1] = id[0]; + id[0] += 1; + return b; +} + +function get_id() { + id[0] += 1; + return id[0]; +} + +function create(str) { + var v_001 = get_id(/* () */0); + var v = /* tuple */[ + str, + v_001 + ]; + v.tag = 248; + return v; +} + +exports.caml_set_oo_id = caml_set_oo_id; +exports.get_id = get_id; +exports.create = create; +/* No side effect */ +//////// end of caml_exceptions.js //////// +    return exports; +  }; + + + _registry['caml_float'] = function() { +    let exports = {}; +//////// start of caml_float.js //////// +'use strict'; + + +function caml_int32_float_of_bits(x) { + var int32 = new Int32Array(/* array */[x]); + var float32 = new Float32Array(int32.buffer); + return float32[0]; +} + +function caml_int32_bits_of_float(x) { + var float32 = new Float32Array(/* float array */[x]); + return new Int32Array(float32.buffer)[0]; +} + +function caml_classify_float(x) { + if (isFinite(x)) { + if (Math.abs(x) >= 2.2250738585072014e-308) { + return /* FP_normal */0; + } + else if (x !== 0) { + return /* FP_subnormal */1; + } + else { + return /* FP_zero */2; + } + } + else if (isNaN(x)) { + return /* FP_nan */4; + } + else { + return /* FP_infinite */3; + } +} + +function caml_modf_float(x) { + if (isFinite(x)) { + var neg = +(1 / x < 0); + var x$1 = Math.abs(x); + var i = Math.floor(x$1); + var f = x$1 - i; + if (neg) { + return /* tuple */[ + -f, + -i + ]; + } + else { + return /* tuple */[ + f, + i + ]; + } + } + else if (isNaN(x)) { + return /* tuple */[ + NaN, + NaN + ]; + } + else { + return /* tuple */[ + 1 / x, + x + ]; + } +} + +var caml_ldexp_float = ( function (x,exp) { + exp |= 0; + if (exp > 1023) { + exp -= 1023; + x *= Math.pow(2, 1023); + if (exp > 1023) { // in case x is subnormal + exp -= 1023; + x *= Math.pow(2, 1023); + } + } + if (exp < -1023) { + exp += 1023; + x *= Math.pow(2, -1023); + } + x *= Math.pow(2, exp); + return x; +} +); + +var caml_frexp_float = (function (x) { + if ((x == 0) || !isFinite(x)) return [ x, 0]; + var neg = x < 0; + if (neg) x = - x; + var exp = Math.floor(Math.LOG2E*Math.log(x)) + 1; + x *= Math.pow(2,-exp); + if (x < 0.5) { x *= 2; exp -= 1; } + if (neg) x = - x; + return [x, exp]; +} +); + +function caml_float_compare(x, y) { + if (x === y) { + return 0; + } + else if (x < y) { + return -1; + } + else if (x > y || x === x) { + return 1; + } + else if (y === y) { + return -1; + } + else { + return 0; + } +} + +function caml_copysign_float(x, y) { + var x$1 = Math.abs(x); + var y$1 = y === 0 ? 1 / y : y; + if (y$1 < 0) { + return -x$1; + } + else { + return x$1; + } +} + +function caml_expm1_float(x) { + var y = Math.exp(x); + var z = y - 1; + if (Math.abs(x) > 1) { + return z; + } + else if (z === 0) { + return x; + } + else { + return x * z / Math.log(y); + } +} + +var caml_hypot_float = ( function (x, y) { + var x0 = Math.abs(x), y0 = Math.abs(y); + var a = Math.max(x0, y0), b = Math.min(x0,y0) / (a?a:1); + return a * Math.sqrt(1 + b*b); +} +); + +var caml_log10_float = ( function (x) { + return Math.LOG10E * Math.log(x); } +); + +exports.caml_int32_float_of_bits = caml_int32_float_of_bits; +exports.caml_int32_bits_of_float = caml_int32_bits_of_float; +exports.caml_classify_float = caml_classify_float; +exports.caml_modf_float = caml_modf_float; +exports.caml_ldexp_float = caml_ldexp_float; +exports.caml_frexp_float = caml_frexp_float; +exports.caml_float_compare = caml_float_compare; +exports.caml_copysign_float = caml_copysign_float; +exports.caml_expm1_float = caml_expm1_float; +exports.caml_hypot_float = caml_hypot_float; +exports.caml_log10_float = caml_log10_float; +/* caml_ldexp_float Not a pure module */ +//////// end of caml_float.js //////// +    return exports; +  }; + + + _registry['caml_format'] = function() { +    let exports = {}; +//////// start of caml_format.js //////// +'use strict'; + +var Curry = require("./curry"); +var Caml_int32 = require("./caml_int32"); +var Caml_int64 = require("./caml_int64"); +var Caml_utils = require("./caml_utils"); +var Caml_string = require("./caml_string"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function caml_failwith(s) { + throw [ + Caml_builtin_exceptions.failure, + s + ]; +} + +function parse_digit(c) { + if (c >= 65) { + if (c >= 97) { + if (c >= 123) { + return -1; + } + else { + return c - 87 | 0; + } + } + else if (c >= 91) { + return -1; + } + else { + return c - 55 | 0; + } + } + else if (c > 57 || c < 48) { + return -1; + } + else { + return c - /* "0" */48 | 0; + } +} + +function int_of_string_base(param) { + switch (param) { + case 0 : + return 8; + case 1 : + return 16; + case 2 : + return 10; + case 3 : + return 2; + + } +} + +function parse_sign_and_base(s) { + var sign = 1; + var base = /* Dec */2; + var i = 0; + if (s[i] === "-") { + sign = -1; + i = i + 1 | 0; + } + var match = s.charCodeAt(i); + var match$1 = s.charCodeAt(i + 1 | 0); + if (match === 48) { + if (match$1 >= 89) { + if (match$1 !== 98) { + if (match$1 !== 111) { + if (match$1 === 120) { + base = /* Hex */1; + i = i + 2 | 0; + } + + } + else { + base = /* Oct */0; + i = i + 2 | 0; + } + } + else { + base = /* Bin */3; + i = i + 2 | 0; + } + } + else if (match$1 !== 66) { + if (match$1 !== 79) { + if (match$1 >= 88) { + base = /* Hex */1; + i = i + 2 | 0; + } + + } + else { + base = /* Oct */0; + i = i + 2 | 0; + } + } + else { + base = /* Bin */3; + i = i + 2 | 0; + } + } + return /* tuple */[ + i, + sign, + base + ]; +} + +function caml_int_of_string(s) { + var match = parse_sign_and_base(s); + var i = match[0]; + var base = int_of_string_base(match[2]); + var threshold = 4294967295; + var len = s.length; + var c = i < len ? s.charCodeAt(i) : /* "\000" */0; + var d = parse_digit(c); + if (d < 0 || d >= base) { + throw [ + Caml_builtin_exceptions.failure, + "int_of_string" + ]; + } + var aux = function (_acc, _k) { + while(true) { + var k = _k; + var acc = _acc; + if (k === len) { + return acc; + } + else { + var a = s.charCodeAt(k); + if (a === /* "_" */95) { + _k = k + 1 | 0; + continue ; + + } + else { + var v = parse_digit(a); + if (v < 0 || v >= base) { + throw [ + Caml_builtin_exceptions.failure, + "int_of_string" + ]; + } + else { + var acc$1 = base * acc + v; + if (acc$1 > threshold) { + throw [ + Caml_builtin_exceptions.failure, + "int_of_string" + ]; + } + else { + _k = k + 1 | 0; + _acc = acc$1; + continue ; + + } + } + } + } + }; + }; + var res = match[1] * aux(d, i + 1 | 0); + var or_res = res | 0; + if (base === 10 && res !== or_res) { + throw [ + Caml_builtin_exceptions.failure, + "int_of_string" + ]; + } + return or_res; +} + +function caml_int64_of_string(s) { + var match = parse_sign_and_base(s); + var hbase = match[2]; + var i = match[0]; + var base = Caml_int64.of_int32(int_of_string_base(hbase)); + var sign = Caml_int64.of_int32(match[1]); + var threshold; + switch (hbase) { + case 0 : + threshold = /* int64 */[ + /* hi */536870911, + /* lo */4294967295 + ]; + break; + case 1 : + threshold = /* int64 */[ + /* hi */268435455, + /* lo */4294967295 + ]; + break; + case 2 : + threshold = /* int64 */[ + /* hi */429496729, + /* lo */2576980377 + ]; + break; + case 3 : + threshold = /* int64 */[ + /* hi */2147483647, + /* lo */4294967295 + ]; + break; + + } + var len = s.length; + var c = i < len ? s.charCodeAt(i) : /* "\000" */0; + var d = Caml_int64.of_int32(parse_digit(c)); + if (Caml_int64.lt(d, /* int64 */[ + /* hi */0, + /* lo */0 + ]) || Caml_int64.ge(d, base)) { + throw [ + Caml_builtin_exceptions.failure, + "int64_of_string" + ]; + } + var aux = function (_acc, _k) { + while(true) { + var k = _k; + var acc = _acc; + if (k === len) { + return acc; + } + else { + var a = s.charCodeAt(k); + if (a === /* "_" */95) { + _k = k + 1 | 0; + continue ; + + } + else { + var v = Caml_int64.of_int32(parse_digit(a)); + if (Caml_int64.lt(v, /* int64 */[ + /* hi */0, + /* lo */0 + ]) || Caml_int64.ge(v, base)) { + throw [ + Caml_builtin_exceptions.failure, + "int64_of_string" + ]; + } + else { + var acc$1 = Caml_int64.add(Caml_int64.mul(base, acc), v); + if (Caml_int64.gt(acc$1, threshold)) { + throw [ + Caml_builtin_exceptions.failure, + "int64_of_string" + ]; + } + else { + _k = k + 1 | 0; + _acc = acc$1; + continue ; + + } + } + } + } + }; + }; + var res = Caml_int64.mul(sign, aux(d, i + 1 | 0)); + var or_res_000 = /* hi */res[0] | /* hi */0; + var or_res_001 = /* lo */(res[1] >>> 0); + var or_res = /* int64 */[ + or_res_000, + or_res_001 + ]; + if (Caml_int64.eq(base, /* int64 */[ + /* hi */0, + /* lo */10 + ]) && Caml_int64.neq(res, or_res)) { + throw [ + Caml_builtin_exceptions.failure, + "int64_of_string" + ]; + } + return or_res; +} + +function int_of_base(param) { + switch (param) { + case 0 : + return 8; + case 1 : + return 16; + case 2 : + return 10; + + } +} + +function lowercase(c) { + if (c >= /* "A" */65 && c <= /* "Z" */90 || c >= /* "\192" */192 && c <= /* "\214" */214 || c >= /* "\216" */216 && c <= /* "\222" */222) { + return c + 32 | 0; + } + else { + return c; + } +} + +function parse_format(fmt) { + var len = fmt.length; + if (len > 31) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "format_int: format too long" + ]; + } + var f = /* record */[ + /* justify */"+", + /* signstyle */"-", + /* filter */" ", + /* alternate : false */0, + /* base : Dec */2, + /* signedconv : false */0, + /* width */0, + /* uppercase : false */0, + /* sign */1, + /* prec */-1, + /* conv */"f" + ]; + var _i = 0; + while(true) { + var i = _i; + if (i >= len) { + return f; + } + else { + var c = fmt.charCodeAt(i); + var exit = 0; + if (c >= 69) { + if (c >= 88) { + if (c >= 121) { + exit = 1; + } + else { + switch (c - 88 | 0) { + case 0 : + f[/* base */4] = /* Hex */1; + f[/* uppercase */7] = /* true */1; + _i = i + 1 | 0; + continue ; + case 13 : + case 14 : + case 15 : + exit = 5; + break; + case 12 : + case 17 : + exit = 4; + break; + case 23 : + f[/* base */4] = /* Oct */0; + _i = i + 1 | 0; + continue ; + case 29 : + f[/* base */4] = /* Dec */2; + _i = i + 1 | 0; + continue ; + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 16 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 24 : + case 25 : + case 26 : + case 27 : + case 28 : + case 30 : + case 31 : + exit = 1; + break; + case 32 : + f[/* base */4] = /* Hex */1; + _i = i + 1 | 0; + continue ; + + } + } + } + else if (c >= 72) { + exit = 1; + } + else { + f[/* signedconv */5] = /* true */1; + f[/* uppercase */7] = /* true */1; + f[/* conv */10] = String.fromCharCode(lowercase(c)); + _i = i + 1 | 0; + continue ; + + } + } + else { + var switcher = c - 32 | 0; + if (switcher > 25 || switcher < 0) { + exit = 1; + } + else { + switch (switcher) { + case 3 : + f[/* alternate */3] = /* true */1; + _i = i + 1 | 0; + continue ; + case 0 : + case 11 : + exit = 2; + break; + case 13 : + f[/* justify */0] = "-"; + _i = i + 1 | 0; + continue ; + case 14 : + f[/* prec */9] = 0; + var j = i + 1 | 0; + while((function(j){ + return function () { + var w = fmt.charCodeAt(j) - /* "0" */48 | 0; + return +(w >= 0 && w <= 9); + } + }(j))()) { + f[/* prec */9] = (Caml_int32.imul(f[/* prec */9], 10) + fmt.charCodeAt(j) | 0) - /* "0" */48 | 0; + j = j + 1 | 0; + }; + _i = j; + continue ; + case 1 : + case 2 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 12 : + case 15 : + exit = 1; + break; + case 16 : + f[/* filter */2] = "0"; + _i = i + 1 | 0; + continue ; + case 17 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 23 : + case 24 : + case 25 : + exit = 3; + break; + + } + } + } + switch (exit) { + case 1 : + _i = i + 1 | 0; + continue ; + case 2 : + f[/* signstyle */1] = String.fromCharCode(c); + _i = i + 1 | 0; + continue ; + case 3 : + f[/* width */6] = 0; + var j$1 = i; + while((function(j$1){ + return function () { + var w = fmt.charCodeAt(j$1) - /* "0" */48 | 0; + return +(w >= 0 && w <= 9); + } + }(j$1))()) { + f[/* width */6] = (Caml_int32.imul(f[/* width */6], 10) + fmt.charCodeAt(j$1) | 0) - /* "0" */48 | 0; + j$1 = j$1 + 1 | 0; + }; + _i = j$1; + continue ; + case 4 : + f[/* signedconv */5] = /* true */1; + f[/* base */4] = /* Dec */2; + _i = i + 1 | 0; + continue ; + case 5 : + f[/* signedconv */5] = /* true */1; + f[/* conv */10] = String.fromCharCode(c); + _i = i + 1 | 0; + continue ; + + } + } + }; +} + +function finish_formatting(param, rawbuffer) { + var justify = param[/* justify */0]; + var signstyle = param[/* signstyle */1]; + var filter = param[/* filter */2]; + var alternate = param[/* alternate */3]; + var base = param[/* base */4]; + var signedconv = param[/* signedconv */5]; + var width = param[/* width */6]; + var uppercase = param[/* uppercase */7]; + var sign = param[/* sign */8]; + var len = rawbuffer.length; + if (signedconv && (sign < 0 || signstyle !== "-")) { + len = len + 1 | 0; + } + if (alternate) { + if (base) { + if (base === /* Hex */1) { + len = len + 2 | 0; + } + + } + else { + len = len + 1 | 0; + } + } + var buffer = ""; + if (justify === "+" && filter === " ") { + for(var i = len ,i_finish = width - 1 | 0; i <= i_finish; ++i){ + buffer = buffer + filter; + } + } + if (signedconv) { + if (sign < 0) { + buffer = buffer + "-"; + } + else if (signstyle !== "-") { + buffer = buffer + signstyle; + } + + } + if (alternate && base === /* Oct */0) { + buffer = buffer + "0"; + } + if (alternate && base === /* Hex */1) { + buffer = buffer + "0x"; + } + if (justify === "+" && filter === "0") { + for(var i$1 = len ,i_finish$1 = width - 1 | 0; i$1 <= i_finish$1; ++i$1){ + buffer = buffer + filter; + } + } + buffer = uppercase ? buffer + rawbuffer.toUpperCase() : buffer + rawbuffer; + if (justify === "-") { + for(var i$2 = len ,i_finish$2 = width - 1 | 0; i$2 <= i_finish$2; ++i$2){ + buffer = buffer + " "; + } + } + return buffer; +} + +function caml_format_int(fmt, i) { + if (fmt === "%d") { + return "" + i; + } + else { + var f = parse_format(fmt); + var f$1 = f; + var i$1 = i; + var i$2 = i$1 < 0 ? ( + f$1[/* signedconv */5] ? (f$1[/* sign */8] = -1, -i$1) : (i$1 >>> 0) + ) : i$1; + var s = i$2.toString(int_of_base(f$1[/* base */4])); + if (f$1[/* prec */9] >= 0) { + f$1[/* filter */2] = " "; + var n = f$1[/* prec */9] - s.length | 0; + if (n > 0) { + s = Caml_utils.repeat(n, "0") + s; + } + + } + return finish_formatting(f$1, s); + } +} + +function caml_int64_format(fmt, x) { + var f = parse_format(fmt); + var x$1 = f[/* signedconv */5] && Caml_int64.lt(x, /* int64 */[ + /* hi */0, + /* lo */0 + ]) ? (f[/* sign */8] = -1, Caml_int64.neg(x)) : x; + var s = ""; + var match = f[/* base */4]; + switch (match) { + case 0 : + var wbase = /* int64 */[ + /* hi */0, + /* lo */8 + ]; + var cvtbl = "01234567"; + if (Caml_int64.lt(x$1, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + var y = Caml_int64.discard_sign(x$1); + var match$1 = Caml_int64.div_mod(y, wbase); + var quotient = Caml_int64.add(/* int64 */[ + /* hi */268435456, + /* lo */0 + ], match$1[0]); + var modulus = match$1[1]; + s = Caml_string.js_string_of_char(cvtbl.charCodeAt(modulus[1] | 0)) + s; + while(Caml_int64.neq(quotient, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + var match$2 = Caml_int64.div_mod(quotient, wbase); + quotient = match$2[0]; + modulus = match$2[1]; + s = Caml_string.js_string_of_char(cvtbl.charCodeAt(modulus[1] | 0)) + s; + }; + } + else { + var match$3 = Caml_int64.div_mod(x$1, wbase); + var quotient$1 = match$3[0]; + var modulus$1 = match$3[1]; + s = Caml_string.js_string_of_char(cvtbl.charCodeAt(modulus$1[1] | 0)) + s; + while(Caml_int64.neq(quotient$1, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + var match$4 = Caml_int64.div_mod(quotient$1, wbase); + quotient$1 = match$4[0]; + modulus$1 = match$4[1]; + s = Caml_string.js_string_of_char(cvtbl.charCodeAt(modulus$1[1] | 0)) + s; + }; + } + break; + case 1 : + s = Caml_int64.to_hex(x$1) + s; + break; + case 2 : + var wbase$1 = /* int64 */[ + /* hi */0, + /* lo */10 + ]; + var cvtbl$1 = "0123456789"; + if (Caml_int64.lt(x$1, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + var y$1 = Caml_int64.discard_sign(x$1); + var match$5 = Caml_int64.div_mod(y$1, wbase$1); + var match$6 = Caml_int64.div_mod(Caml_int64.add(/* int64 */[ + /* hi */0, + /* lo */8 + ], match$5[1]), wbase$1); + var quotient$2 = Caml_int64.add(Caml_int64.add(/* int64 */[ + /* hi */214748364, + /* lo */3435973836 + ], match$5[0]), match$6[0]); + var modulus$2 = match$6[1]; + s = Caml_string.js_string_of_char(cvtbl$1.charCodeAt(modulus$2[1] | 0)) + s; + while(Caml_int64.neq(quotient$2, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + var match$7 = Caml_int64.div_mod(quotient$2, wbase$1); + quotient$2 = match$7[0]; + modulus$2 = match$7[1]; + s = Caml_string.js_string_of_char(cvtbl$1.charCodeAt(modulus$2[1] | 0)) + s; + }; + } + else { + var match$8 = Caml_int64.div_mod(x$1, wbase$1); + var quotient$3 = match$8[0]; + var modulus$3 = match$8[1]; + s = Caml_string.js_string_of_char(cvtbl$1.charCodeAt(modulus$3[1] | 0)) + s; + while(Caml_int64.neq(quotient$3, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + var match$9 = Caml_int64.div_mod(quotient$3, wbase$1); + quotient$3 = match$9[0]; + modulus$3 = match$9[1]; + s = Caml_string.js_string_of_char(cvtbl$1.charCodeAt(modulus$3[1] | 0)) + s; + }; + } + break; + + } + if (f[/* prec */9] >= 0) { + f[/* filter */2] = " "; + var n = f[/* prec */9] - s.length | 0; + if (n > 0) { + s = Caml_utils.repeat(n, "0") + s; + } + + } + return finish_formatting(f, s); +} + +function caml_format_float(fmt, x) { + var f = parse_format(fmt); + var prec = f[/* prec */9] < 0 ? 6 : f[/* prec */9]; + var x$1 = x < 0 ? (f[/* sign */8] = -1, -x) : x; + var s = ""; + if (isNaN(x$1)) { + s = "nan"; + f[/* filter */2] = " "; + } + else if (isFinite(x$1)) { + var match = f[/* conv */10]; + switch (match) { + case "e" : + s = x$1.toExponential(prec); + var i = s.length; + if (s[i - 3 | 0] === "e") { + s = s.slice(0, i - 1 | 0) + ("0" + s.slice(i - 1 | 0)); + } + break; + case "f" : + s = x$1.toFixed(prec); + break; + case "g" : + var prec$1 = prec !== 0 ? prec : 1; + s = x$1.toExponential(prec$1 - 1 | 0); + var j = s.indexOf("e"); + var exp = +s.slice(j + 1 | 0); + if (exp < -4 || x$1 >= 1e21 || x$1.toFixed(0).length > prec$1) { + var i$1 = j - 1 | 0; + while(s[i$1] === "0") { + i$1 = i$1 - 1 | 0; + }; + if (s[i$1] === ".") { + i$1 = i$1 - 1 | 0; + } + s = s.slice(0, i$1 + 1 | 0) + s.slice(j); + var i$2 = s.length; + if (s[i$2 - 3 | 0] === "e") { + s = s.slice(0, i$2 - 1 | 0) + ("0" + s.slice(i$2 - 1 | 0)); + } + + } + else { + var p = prec$1; + if (exp < 0) { + p = p - (exp + 1 | 0) | 0; + s = x$1.toFixed(p); + } + else { + while(function () { + s = x$1.toFixed(p); + return +(s.length > (prec$1 + 1 | 0)); + }()) { + p = p - 1 | 0; + }; + } + if (p !== 0) { + var k = s.length - 1 | 0; + while(s[k] === "0") { + k = k - 1 | 0; + }; + if (s[k] === ".") { + k = k - 1 | 0; + } + s = s.slice(0, k + 1 | 0); + } + + } + break; + default: + + } + } + else { + s = "inf"; + f[/* filter */2] = " "; + } + return finish_formatting(f, s); +} + +var float_of_string = ( + function (s, caml_failwith) { + var res = +s; + if ((s.length > 0) && (res === res)) + return res; + s = s.replace(/_/g, ""); + res = +s; + if (((s.length > 0) && (res === res)) || /^[+-]?nan$/i.test(s)) { + return res; + } + ; + if (/^ *0x[0-9a-f_]+p[+-]?[0-9_]+/i.test(s)) { + var pidx = s.indexOf('p'); + pidx = (pidx == -1) ? s.indexOf('P') : pidx; + var exp = +s.substring(pidx + 1); + res = +s.substring(0, pidx); + return res * Math.pow(2, exp); + } + if (/^\+?inf(inity)?$/i.test(s)) + return Infinity; + if (/^-inf(inity)?$/i.test(s)) + return -Infinity; + caml_failwith("float_of_string"); +} + +); + +function caml_float_of_string(s) { + return Curry._2(float_of_string, s, caml_failwith); +} + +var caml_nativeint_format = caml_format_int; + +var caml_int32_format = caml_format_int; + +var caml_int32_of_string = caml_int_of_string; + +var caml_nativeint_of_string = caml_int_of_string; + +exports.caml_format_float = caml_format_float; +exports.caml_format_int = caml_format_int; +exports.caml_nativeint_format = caml_nativeint_format; +exports.caml_int32_format = caml_int32_format; +exports.caml_float_of_string = caml_float_of_string; +exports.caml_int64_format = caml_int64_format; +exports.caml_int_of_string = caml_int_of_string; +exports.caml_int32_of_string = caml_int32_of_string; +exports.caml_int64_of_string = caml_int64_of_string; +exports.caml_nativeint_of_string = caml_nativeint_of_string; +/* float_of_string Not a pure module */ +//////// end of caml_format.js //////// +    return exports; +  }; + + + _registry['caml_int32'] = function() { +    let exports = {}; +//////// start of caml_int32.js //////// +'use strict'; + +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function div(x, y) { + if (y === 0) { + throw Caml_builtin_exceptions.division_by_zero; + } + else { + return x / y | 0; + } +} + +function mod_(x, y) { + if (y === 0) { + throw Caml_builtin_exceptions.division_by_zero; + } + else { + return x % y; + } +} + +function caml_bswap16(x) { + return ((x & 255) << 8) | ((x & 65280) >>> 8); +} + +function caml_int32_bswap(x) { + return ((x & 255) << 24) | ((x & 65280) << 8) | ((x & 16711680) >>> 8) | ((x & 4278190080) >>> 24); +} + +var imul = ( Math.imul || function (x,y) { + y |= 0; return ((((x >> 16) * y) << 16) + (x & 0xffff) * y)|0; +} +); + +var caml_nativeint_bswap = caml_int32_bswap; + +exports.div = div; +exports.mod_ = mod_; +exports.caml_bswap16 = caml_bswap16; +exports.caml_int32_bswap = caml_int32_bswap; +exports.caml_nativeint_bswap = caml_nativeint_bswap; +exports.imul = imul; +/* imul Not a pure module */ +//////// end of caml_int32.js //////// +    return exports; +  }; + + + _registry['caml_int64'] = function() { +    let exports = {}; +//////// start of caml_int64.js //////// +'use strict'; + +var Caml_obj = require("./caml_obj"); +var Caml_int32 = require("./caml_int32"); +var Caml_utils = require("./caml_utils"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +var min_int = /* record */[ + /* hi */-2147483648, + /* lo */0 +]; + +var max_int = /* record */[ + /* hi */134217727, + /* lo */1 +]; + +var one = /* record */[ + /* hi */0, + /* lo */1 +]; + +var zero = /* record */[ + /* hi */0, + /* lo */0 +]; + +var neg_one = /* record */[ + /* hi */-1, + /* lo */4294967295 +]; + +function neg_signed(x) { + return +((x & 2147483648) !== 0); +} + +function add(param, param$1) { + var other_low_ = param$1[/* lo */1]; + var this_low_ = param[/* lo */1]; + var lo = this_low_ + other_low_ & 4294967295; + var overflow = neg_signed(this_low_) && (neg_signed(other_low_) || !neg_signed(lo)) || neg_signed(other_low_) && !neg_signed(lo) ? 1 : 0; + var hi = param[/* hi */0] + param$1[/* hi */0] + overflow & 4294967295; + return /* record */[ + /* hi */hi, + /* lo */(lo >>> 0) + ]; +} + +function not(param) { + var hi = param[/* hi */0] ^ -1; + var lo = param[/* lo */1] ^ -1; + return /* record */[ + /* hi */hi, + /* lo */(lo >>> 0) + ]; +} + +function eq(x, y) { + if (x[/* hi */0] === y[/* hi */0]) { + return +(x[/* lo */1] === y[/* lo */1]); + } + else { + return /* false */0; + } +} + +function neg(x) { + if (eq(x, min_int)) { + return min_int; + } + else { + return add(not(x), one); + } +} + +function sub(x, y) { + return add(x, neg(y)); +} + +function lsl_(x, numBits) { + var lo = x[/* lo */1]; + if (numBits) { + if (numBits >= 32) { + return /* record */[ + /* hi */(lo << (numBits - 32 | 0)), + /* lo */0 + ]; + } + else { + var hi = (lo >>> (32 - numBits | 0)) | (x[/* hi */0] << numBits); + return /* record */[ + /* hi */hi, + /* lo */((lo << numBits) >>> 0) + ]; + } + } + else { + return x; + } +} + +function lsr_(x, numBits) { + var hi = x[/* hi */0]; + if (numBits) { + var offset = numBits - 32 | 0; + if (offset) { + if (offset > 0) { + var lo = (hi >>> offset); + return /* record */[ + /* hi */0, + /* lo */(lo >>> 0) + ]; + } + else { + var hi$1 = (hi >>> numBits); + var lo$1 = (hi << (-offset | 0)) | (x[/* lo */1] >>> numBits); + return /* record */[ + /* hi */hi$1, + /* lo */(lo$1 >>> 0) + ]; + } + } + else { + return /* record */[ + /* hi */0, + /* lo */(hi >>> 0) + ]; + } + } + else { + return x; + } +} + +function asr_(x, numBits) { + var hi = x[/* hi */0]; + if (numBits) { + if (numBits < 32) { + var hi$1 = (hi >> numBits); + var lo = (hi << (32 - numBits | 0)) | (x[/* lo */1] >>> numBits); + return /* record */[ + /* hi */hi$1, + /* lo */(lo >>> 0) + ]; + } + else { + var lo$1 = (hi >> (numBits - 32 | 0)); + return /* record */[ + /* hi */hi >= 0 ? 0 : -1, + /* lo */(lo$1 >>> 0) + ]; + } + } + else { + return x; + } +} + +function is_zero(param) { + if (param[/* hi */0] !== 0 || param[/* lo */1] !== 0) { + return /* false */0; + } + else { + return /* true */1; + } +} + +function mul(_this, _other) { + while(true) { + var other = _other; + var $$this = _this; + var exit = 0; + var lo; + var this_hi = $$this[/* hi */0]; + var exit$1 = 0; + var exit$2 = 0; + var exit$3 = 0; + if (this_hi !== 0) { + exit$3 = 4; + } + else if ($$this[/* lo */1] !== 0) { + exit$3 = 4; + } + else { + return zero; + } + if (exit$3 === 4) { + if (other[/* hi */0] !== 0) { + exit$2 = 3; + } + else if (other[/* lo */1] !== 0) { + exit$2 = 3; + } + else { + return zero; + } + } + if (exit$2 === 3) { + if (this_hi !== -2147483648) { + exit$1 = 2; + } + else if ($$this[/* lo */1] !== 0) { + exit$1 = 2; + } + else { + lo = other[/* lo */1]; + exit = 1; + } + } + if (exit$1 === 2) { + var other_hi = other[/* hi */0]; + var lo$1 = $$this[/* lo */1]; + var exit$4 = 0; + if (other_hi !== -2147483648) { + exit$4 = 3; + } + else if (other[/* lo */1] !== 0) { + exit$4 = 3; + } + else { + lo = lo$1; + exit = 1; + } + if (exit$4 === 3) { + var other_lo = other[/* lo */1]; + if (this_hi < 0) { + if (other_hi < 0) { + _other = neg(other); + _this = neg($$this); + continue ; + + } + else { + return neg(mul(neg($$this), other)); + } + } + else if (other_hi < 0) { + return neg(mul($$this, neg(other))); + } + else { + var a48 = (this_hi >>> 16); + var a32 = this_hi & 65535; + var a16 = (lo$1 >>> 16); + var a00 = lo$1 & 65535; + var b48 = (other_hi >>> 16); + var b32 = other_hi & 65535; + var b16 = (other_lo >>> 16); + var b00 = other_lo & 65535; + var c48 = 0; + var c32 = 0; + var c16 = 0; + var c00 = a00 * b00; + c16 = (c00 >>> 16) + a16 * b00; + c32 = (c16 >>> 16); + c16 = (c16 & 65535) + a00 * b16; + c32 = c32 + (c16 >>> 16) + a32 * b00; + c48 = (c32 >>> 16); + c32 = (c32 & 65535) + a16 * b16; + c48 += (c32 >>> 16); + c32 = (c32 & 65535) + a00 * b32; + c48 += (c32 >>> 16); + c32 = c32 & 65535; + c48 = c48 + (a48 * b00 + a32 * b16 + a16 * b32 + a00 * b48) & 65535; + var hi = c32 | (c48 << 16); + var lo$2 = c00 & 65535 | ((c16 & 65535) << 16); + return /* record */[ + /* hi */hi, + /* lo */(lo$2 >>> 0) + ]; + } + } + + } + if (exit === 1) { + if ((lo & 1) === 0) { + return zero; + } + else { + return min_int; + } + } + + }; +} + +function swap(param) { + var hi = Caml_int32.caml_int32_bswap(param[/* lo */1]); + var lo = Caml_int32.caml_int32_bswap(param[/* hi */0]); + return /* record */[ + /* hi */hi, + /* lo */(lo >>> 0) + ]; +} + +function xor(param, param$1) { + return /* record */[ + /* hi */param[/* hi */0] ^ param$1[/* hi */0], + /* lo */((param[/* lo */1] ^ param$1[/* lo */1]) >>> 0) + ]; +} + +function or_(param, param$1) { + return /* record */[ + /* hi */param[/* hi */0] | param$1[/* hi */0], + /* lo */((param[/* lo */1] | param$1[/* lo */1]) >>> 0) + ]; +} + +function and_(param, param$1) { + return /* record */[ + /* hi */param[/* hi */0] & param$1[/* hi */0], + /* lo */((param[/* lo */1] & param$1[/* lo */1]) >>> 0) + ]; +} + +function ge(param, param$1) { + var other_hi = param$1[/* hi */0]; + var hi = param[/* hi */0]; + if (hi > other_hi) { + return /* true */1; + } + else if (hi < other_hi) { + return /* false */0; + } + else { + return +(param[/* lo */1] >= param$1[/* lo */1]); + } +} + +function neq(x, y) { + return 1 - eq(x, y); +} + +function lt(x, y) { + return 1 - ge(x, y); +} + +function gt(x, y) { + if (x[/* hi */0] > y[/* hi */0]) { + return /* true */1; + } + else if (x[/* hi */0] < y[/* hi */0]) { + return /* false */0; + } + else { + return +(x[/* lo */1] > y[/* lo */1]); + } +} + +function le(x, y) { + return 1 - gt(x, y); +} + +function to_float(param) { + return param[/* hi */0] * 4294967296 + param[/* lo */1]; +} + +var two_ptr_32_dbl = Math.pow(2, 32); + +var two_ptr_63_dbl = Math.pow(2, 63); + +var neg_two_ptr_63 = -Math.pow(2, 63); + +function of_float(x) { + if (isNaN(x) || !isFinite(x)) { + return zero; + } + else if (x <= neg_two_ptr_63) { + return min_int; + } + else if (x + 1 >= two_ptr_63_dbl) { + return max_int; + } + else if (x < 0) { + return neg(of_float(-x)); + } + else { + var hi = x / two_ptr_32_dbl | 0; + var lo = x % two_ptr_32_dbl | 0; + return /* record */[ + /* hi */hi, + /* lo */(lo >>> 0) + ]; + } +} + +function div(_self, _other) { + while(true) { + var other = _other; + var self = _self; + var self_hi = self[/* hi */0]; + var exit = 0; + var exit$1 = 0; + if (other[/* hi */0] !== 0) { + exit$1 = 2; + } + else if (other[/* lo */1] !== 0) { + exit$1 = 2; + } + else { + throw Caml_builtin_exceptions.division_by_zero; + } + if (exit$1 === 2) { + if (self_hi !== -2147483648) { + if (self_hi !== 0) { + exit = 1; + } + else if (self[/* lo */1] !== 0) { + exit = 1; + } + else { + return zero; + } + } + else if (self[/* lo */1] !== 0) { + exit = 1; + } + else if (eq(other, one) || eq(other, neg_one)) { + return self; + } + else if (eq(other, min_int)) { + return one; + } + else { + var other_hi = other[/* hi */0]; + var half_this = asr_(self, 1); + var approx = lsl_(div(half_this, other), 1); + var exit$2 = 0; + if (approx[/* hi */0] !== 0) { + exit$2 = 3; + } + else if (approx[/* lo */1] !== 0) { + exit$2 = 3; + } + else if (other_hi < 0) { + return one; + } + else { + return neg(one); + } + if (exit$2 === 3) { + var y = mul(other, approx); + var rem = add(self, neg(y)); + return add(approx, div(rem, other)); + } + + } + } + if (exit === 1) { + var other_hi$1 = other[/* hi */0]; + var exit$3 = 0; + if (other_hi$1 !== -2147483648) { + exit$3 = 2; + } + else if (other[/* lo */1] !== 0) { + exit$3 = 2; + } + else { + return zero; + } + if (exit$3 === 2) { + if (self_hi < 0) { + if (other_hi$1 < 0) { + _other = neg(other); + _self = neg(self); + continue ; + + } + else { + return neg(div(neg(self), other)); + } + } + else if (other_hi$1 < 0) { + return neg(div(self, neg(other))); + } + else { + var res = zero; + var rem$1 = self; + while(ge(rem$1, other)) { + var approx$1 = Math.max(1, Math.floor(to_float(rem$1) / to_float(other))); + var log2 = Math.ceil(Math.log(approx$1) / Math.LN2); + var delta = log2 <= 48 ? 1 : Math.pow(2, log2 - 48); + var approxRes = of_float(approx$1); + var approxRem = mul(approxRes, other); + while(approxRem[/* hi */0] < 0 || gt(approxRem, rem$1)) { + approx$1 -= delta; + approxRes = of_float(approx$1); + approxRem = mul(approxRes, other); + }; + if (is_zero(approxRes)) { + approxRes = one; + } + res = add(res, approxRes); + rem$1 = add(rem$1, neg(approxRem)); + }; + return res; + } + } + + } + + }; +} + +function mod_(self, other) { + var y = mul(div(self, other), other); + return add(self, neg(y)); +} + +function div_mod(self, other) { + var quotient = div(self, other); + var y = mul(quotient, other); + return /* tuple */[ + quotient, + add(self, neg(y)) + ]; +} + +function compare(self, other) { + var v = Caml_obj.caml_nativeint_compare(self[/* hi */0], other[/* hi */0]); + if (v) { + return v; + } + else { + return Caml_obj.caml_nativeint_compare(self[/* lo */1], other[/* lo */1]); + } +} + +function of_int32(lo) { + return /* record */[ + /* hi */lo < 0 ? -1 : 0, + /* lo */(lo >>> 0) + ]; +} + +function to_int32(x) { + return x[/* lo */1] | 0; +} + +function to_hex(x) { + var aux = function (v) { + return (v >>> 0).toString(16); + }; + var match = x[/* hi */0]; + var match$1 = x[/* lo */1]; + var exit = 0; + if (match !== 0) { + exit = 1; + } + else if (match$1 !== 0) { + exit = 1; + } + else { + return "0"; + } + if (exit === 1) { + if (match$1 !== 0) { + if (match !== 0) { + var lo = aux(x[/* lo */1]); + var pad = 8 - lo.length | 0; + if (pad <= 0) { + return aux(x[/* hi */0]) + lo; + } + else { + return aux(x[/* hi */0]) + (Caml_utils.repeat(pad, "0") + lo); + } + } + else { + return aux(x[/* lo */1]); + } + } + else { + return aux(x[/* hi */0]) + "00000000"; + } + } + +} + +function discard_sign(x) { + return /* record */[ + /* hi */2147483647 & x[/* hi */0], + /* lo */x[/* lo */1] + ]; +} + +function float_of_bits(x) { + var int32 = new Int32Array(/* array */[ + x[/* lo */1], + x[/* hi */0] + ]); + return new Float64Array(int32.buffer)[0]; +} + +function bits_of_float(x) { + var to_nat = function (x) { + return x; + }; + var u = new Float64Array(/* float array */[x]); + var int32 = new Int32Array(u.buffer); + var hi = to_nat(int32[1]); + var lo = to_nat(int32[0]); + return /* record */[ + /* hi */hi, + /* lo */(lo >>> 0) + ]; +} + +function get64(s, i) { + var hi = (s.charCodeAt(i + 4 | 0) << 32) | (s.charCodeAt(i + 5 | 0) << 40) | (s.charCodeAt(i + 6 | 0) << 48) | (s.charCodeAt(i + 7 | 0) << 56); + var lo = s.charCodeAt(i) | (s.charCodeAt(i + 1 | 0) << 8) | (s.charCodeAt(i + 2 | 0) << 16) | (s.charCodeAt(i + 3 | 0) << 24); + return /* record */[ + /* hi */hi, + /* lo */(lo >>> 0) + ]; +} + +exports.min_int = min_int; +exports.max_int = max_int; +exports.one = one; +exports.zero = zero; +exports.not = not; +exports.of_int32 = of_int32; +exports.to_int32 = to_int32; +exports.add = add; +exports.neg = neg; +exports.sub = sub; +exports.lsl_ = lsl_; +exports.lsr_ = lsr_; +exports.asr_ = asr_; +exports.is_zero = is_zero; +exports.mul = mul; +exports.xor = xor; +exports.or_ = or_; +exports.and_ = and_; +exports.swap = swap; +exports.ge = ge; +exports.eq = eq; +exports.neq = neq; +exports.lt = lt; +exports.gt = gt; +exports.le = le; +exports.to_float = to_float; +exports.of_float = of_float; +exports.div = div; +exports.mod_ = mod_; +exports.div_mod = div_mod; +exports.compare = compare; +exports.to_hex = to_hex; +exports.discard_sign = discard_sign; +exports.float_of_bits = float_of_bits; +exports.bits_of_float = bits_of_float; +exports.get64 = get64; +/* two_ptr_32_dbl Not a pure module */ +//////// end of caml_int64.js //////// +    return exports; +  }; + + + _registry['camlinternalFormatBasics'] = function() { +    let exports = {}; +//////// start of camlinternalFormatBasics.js //////// +'use strict'; + +var Block = require("./block"); + +function erase_rel(param) { + if (typeof param === "number") { + return /* End_of_fmtty */0; + } + else { + switch (param.tag | 0) { + case 0 : + return /* Char_ty */Block.__(0, [erase_rel(param[0])]); + case 1 : + return /* String_ty */Block.__(1, [erase_rel(param[0])]); + case 2 : + return /* Int_ty */Block.__(2, [erase_rel(param[0])]); + case 3 : + return /* Int32_ty */Block.__(3, [erase_rel(param[0])]); + case 4 : + return /* Nativeint_ty */Block.__(4, [erase_rel(param[0])]); + case 5 : + return /* Int64_ty */Block.__(5, [erase_rel(param[0])]); + case 6 : + return /* Float_ty */Block.__(6, [erase_rel(param[0])]); + case 7 : + return /* Bool_ty */Block.__(7, [erase_rel(param[0])]); + case 8 : + return /* Format_arg_ty */Block.__(8, [ + param[0], + erase_rel(param[1]) + ]); + case 9 : + var ty1 = param[0]; + return /* Format_subst_ty */Block.__(9, [ + ty1, + ty1, + erase_rel(param[2]) + ]); + case 10 : + return /* Alpha_ty */Block.__(10, [erase_rel(param[0])]); + case 11 : + return /* Theta_ty */Block.__(11, [erase_rel(param[0])]); + case 12 : + return /* Any_ty */Block.__(12, [erase_rel(param[0])]); + case 13 : + return /* Reader_ty */Block.__(13, [erase_rel(param[0])]); + case 14 : + return /* Ignored_reader_ty */Block.__(14, [erase_rel(param[0])]); + + } + } +} + +function concat_fmtty(fmtty1, fmtty2) { + if (typeof fmtty1 === "number") { + return fmtty2; + } + else { + switch (fmtty1.tag | 0) { + case 0 : + return /* Char_ty */Block.__(0, [concat_fmtty(fmtty1[0], fmtty2)]); + case 1 : + return /* String_ty */Block.__(1, [concat_fmtty(fmtty1[0], fmtty2)]); + case 2 : + return /* Int_ty */Block.__(2, [concat_fmtty(fmtty1[0], fmtty2)]); + case 3 : + return /* Int32_ty */Block.__(3, [concat_fmtty(fmtty1[0], fmtty2)]); + case 4 : + return /* Nativeint_ty */Block.__(4, [concat_fmtty(fmtty1[0], fmtty2)]); + case 5 : + return /* Int64_ty */Block.__(5, [concat_fmtty(fmtty1[0], fmtty2)]); + case 6 : + return /* Float_ty */Block.__(6, [concat_fmtty(fmtty1[0], fmtty2)]); + case 7 : + return /* Bool_ty */Block.__(7, [concat_fmtty(fmtty1[0], fmtty2)]); + case 8 : + return /* Format_arg_ty */Block.__(8, [ + fmtty1[0], + concat_fmtty(fmtty1[1], fmtty2) + ]); + case 9 : + return /* Format_subst_ty */Block.__(9, [ + fmtty1[0], + fmtty1[1], + concat_fmtty(fmtty1[2], fmtty2) + ]); + case 10 : + return /* Alpha_ty */Block.__(10, [concat_fmtty(fmtty1[0], fmtty2)]); + case 11 : + return /* Theta_ty */Block.__(11, [concat_fmtty(fmtty1[0], fmtty2)]); + case 12 : + return /* Any_ty */Block.__(12, [concat_fmtty(fmtty1[0], fmtty2)]); + case 13 : + return /* Reader_ty */Block.__(13, [concat_fmtty(fmtty1[0], fmtty2)]); + case 14 : + return /* Ignored_reader_ty */Block.__(14, [concat_fmtty(fmtty1[0], fmtty2)]); + + } + } +} + +function concat_fmt(fmt1, fmt2) { + if (typeof fmt1 === "number") { + return fmt2; + } + else { + switch (fmt1.tag | 0) { + case 0 : + return /* Char */Block.__(0, [concat_fmt(fmt1[0], fmt2)]); + case 1 : + return /* Caml_char */Block.__(1, [concat_fmt(fmt1[0], fmt2)]); + case 2 : + return /* String */Block.__(2, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 3 : + return /* Caml_string */Block.__(3, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 4 : + return /* Int */Block.__(4, [ + fmt1[0], + fmt1[1], + fmt1[2], + concat_fmt(fmt1[3], fmt2) + ]); + case 5 : + return /* Int32 */Block.__(5, [ + fmt1[0], + fmt1[1], + fmt1[2], + concat_fmt(fmt1[3], fmt2) + ]); + case 6 : + return /* Nativeint */Block.__(6, [ + fmt1[0], + fmt1[1], + fmt1[2], + concat_fmt(fmt1[3], fmt2) + ]); + case 7 : + return /* Int64 */Block.__(7, [ + fmt1[0], + fmt1[1], + fmt1[2], + concat_fmt(fmt1[3], fmt2) + ]); + case 8 : + return /* Float */Block.__(8, [ + fmt1[0], + fmt1[1], + fmt1[2], + concat_fmt(fmt1[3], fmt2) + ]); + case 9 : + return /* Bool */Block.__(9, [concat_fmt(fmt1[0], fmt2)]); + case 10 : + return /* Flush */Block.__(10, [concat_fmt(fmt1[0], fmt2)]); + case 11 : + return /* String_literal */Block.__(11, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 12 : + return /* Char_literal */Block.__(12, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 13 : + return /* Format_arg */Block.__(13, [ + fmt1[0], + fmt1[1], + concat_fmt(fmt1[2], fmt2) + ]); + case 14 : + return /* Format_subst */Block.__(14, [ + fmt1[0], + fmt1[1], + concat_fmt(fmt1[2], fmt2) + ]); + case 15 : + return /* Alpha */Block.__(15, [concat_fmt(fmt1[0], fmt2)]); + case 16 : + return /* Theta */Block.__(16, [concat_fmt(fmt1[0], fmt2)]); + case 17 : + return /* Formatting_lit */Block.__(17, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 18 : + return /* Formatting_gen */Block.__(18, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 19 : + return /* Reader */Block.__(19, [concat_fmt(fmt1[0], fmt2)]); + case 20 : + return /* Scan_char_set */Block.__(20, [ + fmt1[0], + fmt1[1], + concat_fmt(fmt1[2], fmt2) + ]); + case 21 : + return /* Scan_get_counter */Block.__(21, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 22 : + return /* Scan_next_char */Block.__(22, [concat_fmt(fmt1[0], fmt2)]); + case 23 : + return /* Ignored_param */Block.__(23, [ + fmt1[0], + concat_fmt(fmt1[1], fmt2) + ]); + case 24 : + return /* Custom */Block.__(24, [ + fmt1[0], + fmt1[1], + concat_fmt(fmt1[2], fmt2) + ]); + + } + } +} + +exports.concat_fmtty = concat_fmtty; +exports.erase_rel = erase_rel; +exports.concat_fmt = concat_fmt; +/* No side effect */ +//////// end of camlinternalFormatBasics.js //////// +    return exports; +  }; + + + _registry['camlinternalFormat'] = function() { +    let exports = {}; +//////// start of camlinternalFormat.js //////// +'use strict'; + +var Sys = require("./sys"); +var Char = require("./char"); +var Block = require("./block"); +var Bytes = require("./bytes"); +var Curry = require("./curry"); +var Buffer = require("./buffer"); +var $$String = require("./string"); +var Caml_io = require("./caml_io"); +var Caml_obj = require("./caml_obj"); +var Caml_bytes = require("./caml_bytes"); +var Caml_float = require("./caml_float"); +var Caml_int32 = require("./caml_int32"); +var Pervasives = require("./pervasives"); +var Caml_format = require("./caml_format"); +var Caml_string = require("./caml_string"); +var Caml_exceptions = require("./caml_exceptions"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); +var CamlinternalFormatBasics = require("./camlinternalFormatBasics"); + +function create_char_set() { + return Bytes.make(32, /* "\000" */0); +} + +function add_in_char_set(char_set, c) { + var str_ind = (c >>> 3); + var mask = (1 << (c & 7)); + char_set[str_ind] = Pervasives.char_of_int(Caml_bytes.get(char_set, str_ind) | mask); + return /* () */0; +} + +var freeze_char_set = Bytes.to_string; + +function rev_char_set(char_set) { + var char_set$prime = Bytes.make(32, /* "\000" */0); + for(var i = 0; i <= 31; ++i){ + char_set$prime[i] = Pervasives.char_of_int(Caml_string.get(char_set, i) ^ 255); + } + return Caml_string.bytes_to_string(char_set$prime); +} + +function is_in_char_set(char_set, c) { + var str_ind = (c >>> 3); + var mask = (1 << (c & 7)); + return +((Caml_string.get(char_set, str_ind) & mask) !== 0); +} + +function pad_of_pad_opt(pad_opt) { + if (pad_opt) { + return /* Lit_padding */Block.__(0, [ + /* Right */1, + pad_opt[0] + ]); + } + else { + return /* No_padding */0; + } +} + +function prec_of_prec_opt(prec_opt) { + if (prec_opt) { + return /* Lit_precision */[prec_opt[0]]; + } + else { + return /* No_precision */0; + } +} + +function param_format_of_ignored_format(ign, fmt) { + if (typeof ign === "number") { + switch (ign) { + case 0 : + return /* Param_format_EBB */[/* Char */Block.__(0, [fmt])]; + case 1 : + return /* Param_format_EBB */[/* Caml_char */Block.__(1, [fmt])]; + case 2 : + return /* Param_format_EBB */[/* Bool */Block.__(9, [fmt])]; + case 3 : + return /* Param_format_EBB */[/* Reader */Block.__(19, [fmt])]; + case 4 : + return /* Param_format_EBB */[/* Scan_next_char */Block.__(22, [fmt])]; + + } + } + else { + switch (ign.tag | 0) { + case 0 : + return /* Param_format_EBB */[/* String */Block.__(2, [ + pad_of_pad_opt(ign[0]), + fmt + ])]; + case 1 : + return /* Param_format_EBB */[/* Caml_string */Block.__(3, [ + pad_of_pad_opt(ign[0]), + fmt + ])]; + case 2 : + return /* Param_format_EBB */[/* Int */Block.__(4, [ + ign[0], + pad_of_pad_opt(ign[1]), + /* No_precision */0, + fmt + ])]; + case 3 : + return /* Param_format_EBB */[/* Int32 */Block.__(5, [ + ign[0], + pad_of_pad_opt(ign[1]), + /* No_precision */0, + fmt + ])]; + case 4 : + return /* Param_format_EBB */[/* Nativeint */Block.__(6, [ + ign[0], + pad_of_pad_opt(ign[1]), + /* No_precision */0, + fmt + ])]; + case 5 : + return /* Param_format_EBB */[/* Int64 */Block.__(7, [ + ign[0], + pad_of_pad_opt(ign[1]), + /* No_precision */0, + fmt + ])]; + case 6 : + return /* Param_format_EBB */[/* Float */Block.__(8, [ + /* Float_f */0, + pad_of_pad_opt(ign[0]), + prec_of_prec_opt(ign[1]), + fmt + ])]; + case 7 : + return /* Param_format_EBB */[/* Format_arg */Block.__(13, [ + ign[0], + ign[1], + fmt + ])]; + case 8 : + return /* Param_format_EBB */[/* Format_subst */Block.__(14, [ + ign[0], + ign[1], + fmt + ])]; + case 9 : + return /* Param_format_EBB */[/* Scan_char_set */Block.__(20, [ + ign[0], + ign[1], + fmt + ])]; + case 10 : + return /* Param_format_EBB */[/* Scan_get_counter */Block.__(21, [ + ign[0], + fmt + ])]; + + } + } +} + +function buffer_check_size(buf, overhead) { + var len = buf[/* bytes */1].length; + var min_len = buf[/* ind */0] + overhead | 0; + if (min_len > len) { + var new_len = Pervasives.max((len << 1), min_len); + var new_str = Caml_string.caml_create_string(new_len); + Bytes.blit(buf[/* bytes */1], 0, new_str, 0, len); + buf[/* bytes */1] = new_str; + return /* () */0; + } + else { + return 0; + } +} + +function buffer_add_char(buf, c) { + buffer_check_size(buf, 1); + buf[/* bytes */1][buf[/* ind */0]] = c; + buf[/* ind */0] = buf[/* ind */0] + 1 | 0; + return /* () */0; +} + +function buffer_add_string(buf, s) { + var str_len = s.length; + buffer_check_size(buf, str_len); + $$String.blit(s, 0, buf[/* bytes */1], buf[/* ind */0], str_len); + buf[/* ind */0] = buf[/* ind */0] + str_len | 0; + return /* () */0; +} + +function buffer_contents(buf) { + return Bytes.sub_string(buf[/* bytes */1], 0, buf[/* ind */0]); +} + +function char_of_iconv(iconv) { + switch (iconv) { + case 0 : + case 1 : + case 2 : + return /* "d" */100; + case 3 : + case 4 : + case 5 : + return /* "i" */105; + case 6 : + case 7 : + return /* "x" */120; + case 8 : + case 9 : + return /* "X" */88; + case 10 : + case 11 : + return /* "o" */111; + case 12 : + return /* "u" */117; + + } +} + +function char_of_fconv(fconv) { + switch (fconv) { + case 0 : + case 1 : + case 2 : + return /* "f" */102; + case 3 : + case 4 : + case 5 : + return /* "e" */101; + case 6 : + case 7 : + case 8 : + return /* "E" */69; + case 9 : + case 10 : + case 11 : + return /* "g" */103; + case 12 : + case 13 : + case 14 : + return /* "G" */71; + case 15 : + return /* "F" */70; + + } +} + +function char_of_counter(counter) { + switch (counter) { + case 0 : + return /* "l" */108; + case 1 : + return /* "n" */110; + case 2 : + return /* "N" */78; + + } +} + +function bprint_char_set(buf, char_set) { + var print_char = function (buf, i) { + var c = Pervasives.char_of_int(i); + if (c !== 37) { + if (c !== 64) { + return buffer_add_char(buf, c); + } + else { + buffer_add_char(buf, /* "%" */37); + return buffer_add_char(buf, /* "@" */64); + } + } + else { + buffer_add_char(buf, /* "%" */37); + return buffer_add_char(buf, /* "%" */37); + } + }; + var print_out = function (set, _i) { + while(true) { + var i = _i; + if (i < 256) { + if (is_in_char_set(set, Pervasives.char_of_int(i))) { + var set$1 = set; + var i$1 = i; + var match = Pervasives.char_of_int(i$1); + var switcher = match - 45 | 0; + if (switcher > 48 || switcher < 0) { + if (switcher >= 210) { + return print_char(buf, 255); + } + else { + return print_second(set$1, i$1 + 1 | 0); + } + } + else if (switcher > 47 || switcher < 1) { + return print_out(set$1, i$1 + 1 | 0); + } + else { + return print_second(set$1, i$1 + 1 | 0); + } + } + else { + _i = i + 1 | 0; + continue ; + + } + } + else { + return 0; + } + }; + }; + var print_second = function (set, i) { + if (is_in_char_set(set, Pervasives.char_of_int(i))) { + var match = Pervasives.char_of_int(i); + var exit = 0; + var switcher = match - 45 | 0; + if (switcher > 48 || switcher < 0) { + if (switcher >= 210) { + print_char(buf, 254); + return print_char(buf, 255); + } + else { + exit = 1; + } + } + else if (switcher > 47 || switcher < 1) { + if (is_in_char_set(set, Pervasives.char_of_int(i + 1 | 0))) { + exit = 1; + } + else { + print_char(buf, i - 1 | 0); + return print_out(set, i + 1 | 0); + } + } + else { + exit = 1; + } + if (exit === 1) { + if (is_in_char_set(set, Pervasives.char_of_int(i + 1 | 0))) { + var set$1 = set; + var i$1 = i - 1 | 0; + var _j = i + 2 | 0; + while(true) { + var j = _j; + if (j === 256 || !is_in_char_set(set$1, Pervasives.char_of_int(j))) { + print_char(buf, i$1); + print_char(buf, /* "-" */45); + print_char(buf, j - 1 | 0); + if (j < 256) { + return print_out(set$1, j + 1 | 0); + } + else { + return 0; + } + } + else { + _j = j + 1 | 0; + continue ; + + } + }; + } + else { + print_char(buf, i - 1 | 0); + print_char(buf, i); + return print_out(set, i + 2 | 0); + } + } + + } + else { + print_char(buf, i - 1 | 0); + return print_out(set, i + 1 | 0); + } + }; + var print_start = function (set) { + var is_alone = function (c) { + var match_000 = Char.chr(c - 1 | 0); + var match_001 = Char.chr(c + 1 | 0); + if (is_in_char_set(set, c)) { + return 1 - (is_in_char_set(set, match_000) && is_in_char_set(set, match_001)); + } + else { + return /* false */0; + } + }; + if (is_alone(/* "]" */93)) { + buffer_add_char(buf, /* "]" */93); + } + print_out(set, 1); + if (is_alone(/* "-" */45)) { + return buffer_add_char(buf, /* "-" */45); + } + else { + return 0; + } + }; + buffer_add_char(buf, /* "[" */91); + print_start(is_in_char_set(char_set, /* "\000" */0) ? (buffer_add_char(buf, /* "^" */94), rev_char_set(char_set)) : char_set); + return buffer_add_char(buf, /* "]" */93); +} + +function bprint_padty(buf, padty) { + switch (padty) { + case 0 : + return buffer_add_char(buf, /* "-" */45); + case 1 : + return /* () */0; + case 2 : + return buffer_add_char(buf, /* "0" */48); + + } +} + +function bprint_ignored_flag(buf, ign_flag) { + if (ign_flag) { + return buffer_add_char(buf, /* "_" */95); + } + else { + return 0; + } +} + +function bprint_pad_opt(buf, pad_opt) { + if (pad_opt) { + return buffer_add_string(buf, "" + pad_opt[0]); + } + else { + return /* () */0; + } +} + +function bprint_padding(buf, pad) { + if (typeof pad === "number") { + return /* () */0; + } + else { + bprint_padty(buf, pad[0]); + if (pad.tag) { + return buffer_add_char(buf, /* "*" */42); + } + else { + return buffer_add_string(buf, "" + pad[1]); + } + } +} + +function bprint_precision(buf, prec) { + if (typeof prec === "number") { + if (prec !== 0) { + return buffer_add_string(buf, ".*"); + } + else { + return /* () */0; + } + } + else { + buffer_add_char(buf, /* "." */46); + return buffer_add_string(buf, "" + prec[0]); + } +} + +function bprint_iconv_flag(buf, iconv) { + switch (iconv) { + case 1 : + case 4 : + return buffer_add_char(buf, /* "+" */43); + case 2 : + case 5 : + return buffer_add_char(buf, /* " " */32); + case 7 : + case 9 : + case 11 : + return buffer_add_char(buf, /* "#" */35); + case 0 : + case 3 : + case 6 : + case 8 : + case 10 : + case 12 : + return /* () */0; + + } +} + +function bprint_int_fmt(buf, ign_flag, iconv, pad, prec) { + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_iconv_flag(buf, iconv); + bprint_padding(buf, pad); + bprint_precision(buf, prec); + return buffer_add_char(buf, char_of_iconv(iconv)); +} + +function bprint_altint_fmt(buf, ign_flag, iconv, pad, prec, c) { + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_iconv_flag(buf, iconv); + bprint_padding(buf, pad); + bprint_precision(buf, prec); + buffer_add_char(buf, c); + return buffer_add_char(buf, char_of_iconv(iconv)); +} + +function bprint_fconv_flag(buf, fconv) { + switch (fconv) { + case 1 : + case 4 : + case 7 : + case 10 : + case 13 : + return buffer_add_char(buf, /* "+" */43); + case 2 : + case 5 : + case 8 : + case 11 : + case 14 : + return buffer_add_char(buf, /* " " */32); + case 0 : + case 3 : + case 6 : + case 9 : + case 12 : + case 15 : + return /* () */0; + + } +} + +function bprint_float_fmt(buf, ign_flag, fconv, pad, prec) { + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_fconv_flag(buf, fconv); + bprint_padding(buf, pad); + bprint_precision(buf, prec); + return buffer_add_char(buf, char_of_fconv(fconv)); +} + +function string_of_formatting_lit(formatting_lit) { + if (typeof formatting_lit === "number") { + switch (formatting_lit) { + case 0 : + return "@]"; + case 1 : + return "@}"; + case 2 : + return "@?"; + case 3 : + return "@\n"; + case 4 : + return "@."; + case 5 : + return "@@"; + case 6 : + return "@%"; + + } + } + else { + switch (formatting_lit.tag | 0) { + case 0 : + case 1 : + return formatting_lit[0]; + case 2 : + return "@" + Caml_string.bytes_to_string(Bytes.make(1, formatting_lit[0])); + + } + } +} + +function string_of_formatting_gen(formatting_gen) { + return formatting_gen[0][1]; +} + +function bprint_char_literal(buf, chr) { + if (chr !== 37) { + return buffer_add_char(buf, chr); + } + else { + return buffer_add_string(buf, "%%"); + } +} + +function bprint_string_literal(buf, str) { + for(var i = 0 ,i_finish = str.length - 1 | 0; i <= i_finish; ++i){ + bprint_char_literal(buf, Caml_string.get(str, i)); + } + return /* () */0; +} + +function bprint_fmtty(buf, _fmtty) { + while(true) { + var fmtty = _fmtty; + if (typeof fmtty === "number") { + return /* () */0; + } + else { + switch (fmtty.tag | 0) { + case 0 : + buffer_add_string(buf, "%c"); + _fmtty = fmtty[0]; + continue ; + case 1 : + buffer_add_string(buf, "%s"); + _fmtty = fmtty[0]; + continue ; + case 2 : + buffer_add_string(buf, "%i"); + _fmtty = fmtty[0]; + continue ; + case 3 : + buffer_add_string(buf, "%li"); + _fmtty = fmtty[0]; + continue ; + case 4 : + buffer_add_string(buf, "%ni"); + _fmtty = fmtty[0]; + continue ; + case 5 : + buffer_add_string(buf, "%Li"); + _fmtty = fmtty[0]; + continue ; + case 6 : + buffer_add_string(buf, "%f"); + _fmtty = fmtty[0]; + continue ; + case 7 : + buffer_add_string(buf, "%B"); + _fmtty = fmtty[0]; + continue ; + case 8 : + buffer_add_string(buf, "%{"); + bprint_fmtty(buf, fmtty[0]); + buffer_add_string(buf, "%}"); + _fmtty = fmtty[1]; + continue ; + case 9 : + buffer_add_string(buf, "%("); + bprint_fmtty(buf, fmtty[0]); + buffer_add_string(buf, "%)"); + _fmtty = fmtty[2]; + continue ; + case 10 : + buffer_add_string(buf, "%a"); + _fmtty = fmtty[0]; + continue ; + case 11 : + buffer_add_string(buf, "%t"); + _fmtty = fmtty[0]; + continue ; + case 12 : + buffer_add_string(buf, "%?"); + _fmtty = fmtty[0]; + continue ; + case 13 : + buffer_add_string(buf, "%r"); + _fmtty = fmtty[0]; + continue ; + case 14 : + buffer_add_string(buf, "%_r"); + _fmtty = fmtty[0]; + continue ; + + } + } + }; +} + +function int_of_custom_arity(param) { + if (param) { + return 1 + int_of_custom_arity(param[0]) | 0; + } + else { + return 0; + } +} + +function bprint_fmt(buf, fmt) { + var _fmt = fmt; + var _ign_flag = /* false */0; + while(true) { + var ign_flag = _ign_flag; + var fmt$1 = _fmt; + if (typeof fmt$1 === "number") { + return /* () */0; + } + else { + switch (fmt$1.tag | 0) { + case 0 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "c" */99); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 1 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "C" */67); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 2 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_padding(buf, fmt$1[0]); + buffer_add_char(buf, /* "s" */115); + _ign_flag = /* false */0; + _fmt = fmt$1[1]; + continue ; + case 3 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_padding(buf, fmt$1[0]); + buffer_add_char(buf, /* "S" */83); + _ign_flag = /* false */0; + _fmt = fmt$1[1]; + continue ; + case 4 : + bprint_int_fmt(buf, ign_flag, fmt$1[0], fmt$1[1], fmt$1[2]); + _ign_flag = /* false */0; + _fmt = fmt$1[3]; + continue ; + case 5 : + bprint_altint_fmt(buf, ign_flag, fmt$1[0], fmt$1[1], fmt$1[2], /* "l" */108); + _ign_flag = /* false */0; + _fmt = fmt$1[3]; + continue ; + case 6 : + bprint_altint_fmt(buf, ign_flag, fmt$1[0], fmt$1[1], fmt$1[2], /* "n" */110); + _ign_flag = /* false */0; + _fmt = fmt$1[3]; + continue ; + case 7 : + bprint_altint_fmt(buf, ign_flag, fmt$1[0], fmt$1[1], fmt$1[2], /* "L" */76); + _ign_flag = /* false */0; + _fmt = fmt$1[3]; + continue ; + case 8 : + bprint_float_fmt(buf, ign_flag, fmt$1[0], fmt$1[1], fmt$1[2]); + _ign_flag = /* false */0; + _fmt = fmt$1[3]; + continue ; + case 9 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "B" */66); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 10 : + buffer_add_string(buf, "%!"); + _fmt = fmt$1[0]; + continue ; + case 11 : + bprint_string_literal(buf, fmt$1[0]); + _fmt = fmt$1[1]; + continue ; + case 12 : + bprint_char_literal(buf, fmt$1[0]); + _fmt = fmt$1[1]; + continue ; + case 13 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_pad_opt(buf, fmt$1[0]); + buffer_add_char(buf, /* "{" */123); + bprint_fmtty(buf, fmt$1[1]); + buffer_add_char(buf, /* "%" */37); + buffer_add_char(buf, /* "}" */125); + _ign_flag = /* false */0; + _fmt = fmt$1[2]; + continue ; + case 14 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_pad_opt(buf, fmt$1[0]); + buffer_add_char(buf, /* "(" */40); + bprint_fmtty(buf, fmt$1[1]); + buffer_add_char(buf, /* "%" */37); + buffer_add_char(buf, /* ")" */41); + _ign_flag = /* false */0; + _fmt = fmt$1[2]; + continue ; + case 15 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "a" */97); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 16 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "t" */116); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 17 : + bprint_string_literal(buf, string_of_formatting_lit(fmt$1[0])); + _fmt = fmt$1[1]; + continue ; + case 18 : + bprint_string_literal(buf, "@{"); + bprint_string_literal(buf, string_of_formatting_gen(fmt$1[0])); + _fmt = fmt$1[1]; + continue ; + case 19 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "r" */114); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 20 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_pad_opt(buf, fmt$1[0]); + bprint_char_set(buf, fmt$1[1]); + _ign_flag = /* false */0; + _fmt = fmt$1[2]; + continue ; + case 21 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, char_of_counter(fmt$1[0])); + _ign_flag = /* false */0; + _fmt = fmt$1[1]; + continue ; + case 22 : + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + bprint_string_literal(buf, "0c"); + _ign_flag = /* false */0; + _fmt = fmt$1[0]; + continue ; + case 23 : + var match = param_format_of_ignored_format(fmt$1[0], fmt$1[1]); + _ign_flag = /* true */1; + _fmt = match[0]; + continue ; + case 24 : + for(var _i = 1 ,_i_finish = int_of_custom_arity(fmt$1[0]); _i <= _i_finish; ++_i){ + buffer_add_char(buf, /* "%" */37); + bprint_ignored_flag(buf, ign_flag); + buffer_add_char(buf, /* "?" */63); + } + _ign_flag = /* false */0; + _fmt = fmt$1[2]; + continue ; + + } + } + }; +} + +function string_of_fmt(fmt) { + var buf = /* record */[ + /* ind */0, + /* bytes */new Array(16) + ]; + bprint_fmt(buf, fmt); + return buffer_contents(buf); +} + +function symm(param) { + if (typeof param === "number") { + return /* End_of_fmtty */0; + } + else { + switch (param.tag | 0) { + case 0 : + return /* Char_ty */Block.__(0, [symm(param[0])]); + case 1 : + return /* String_ty */Block.__(1, [symm(param[0])]); + case 2 : + return /* Int_ty */Block.__(2, [symm(param[0])]); + case 3 : + return /* Int32_ty */Block.__(3, [symm(param[0])]); + case 4 : + return /* Nativeint_ty */Block.__(4, [symm(param[0])]); + case 5 : + return /* Int64_ty */Block.__(5, [symm(param[0])]); + case 6 : + return /* Float_ty */Block.__(6, [symm(param[0])]); + case 7 : + return /* Bool_ty */Block.__(7, [symm(param[0])]); + case 8 : + return /* Format_arg_ty */Block.__(8, [ + param[0], + symm(param[1]) + ]); + case 9 : + return /* Format_subst_ty */Block.__(9, [ + param[1], + param[0], + symm(param[2]) + ]); + case 10 : + return /* Alpha_ty */Block.__(10, [symm(param[0])]); + case 11 : + return /* Theta_ty */Block.__(11, [symm(param[0])]); + case 12 : + return /* Any_ty */Block.__(12, [symm(param[0])]); + case 13 : + return /* Reader_ty */Block.__(13, [symm(param[0])]); + case 14 : + return /* Ignored_reader_ty */Block.__(14, [symm(param[0])]); + + } + } +} + +function fmtty_rel_det(param) { + if (typeof param === "number") { + return /* tuple */[ + function () { + return /* Refl */0; + }, + function () { + return /* Refl */0; + }, + function () { + return /* Refl */0; + }, + function () { + return /* Refl */0; + } + ]; + } + else { + switch (param.tag | 0) { + case 0 : + var match = fmtty_rel_det(param[0]); + var af = match[1]; + var fa = match[0]; + return /* tuple */[ + function () { + Curry._1(fa, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af, /* Refl */0); + return /* Refl */0; + }, + match[2], + match[3] + ]; + case 1 : + var match$1 = fmtty_rel_det(param[0]); + var af$1 = match$1[1]; + var fa$1 = match$1[0]; + return /* tuple */[ + function () { + Curry._1(fa$1, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$1, /* Refl */0); + return /* Refl */0; + }, + match$1[2], + match$1[3] + ]; + case 2 : + var match$2 = fmtty_rel_det(param[0]); + var af$2 = match$2[1]; + var fa$2 = match$2[0]; + return /* tuple */[ + function () { + Curry._1(fa$2, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$2, /* Refl */0); + return /* Refl */0; + }, + match$2[2], + match$2[3] + ]; + case 3 : + var match$3 = fmtty_rel_det(param[0]); + var af$3 = match$3[1]; + var fa$3 = match$3[0]; + return /* tuple */[ + function () { + Curry._1(fa$3, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$3, /* Refl */0); + return /* Refl */0; + }, + match$3[2], + match$3[3] + ]; + case 4 : + var match$4 = fmtty_rel_det(param[0]); + var af$4 = match$4[1]; + var fa$4 = match$4[0]; + return /* tuple */[ + function () { + Curry._1(fa$4, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$4, /* Refl */0); + return /* Refl */0; + }, + match$4[2], + match$4[3] + ]; + case 5 : + var match$5 = fmtty_rel_det(param[0]); + var af$5 = match$5[1]; + var fa$5 = match$5[0]; + return /* tuple */[ + function () { + Curry._1(fa$5, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$5, /* Refl */0); + return /* Refl */0; + }, + match$5[2], + match$5[3] + ]; + case 6 : + var match$6 = fmtty_rel_det(param[0]); + var af$6 = match$6[1]; + var fa$6 = match$6[0]; + return /* tuple */[ + function () { + Curry._1(fa$6, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$6, /* Refl */0); + return /* Refl */0; + }, + match$6[2], + match$6[3] + ]; + case 7 : + var match$7 = fmtty_rel_det(param[0]); + var af$7 = match$7[1]; + var fa$7 = match$7[0]; + return /* tuple */[ + function () { + Curry._1(fa$7, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$7, /* Refl */0); + return /* Refl */0; + }, + match$7[2], + match$7[3] + ]; + case 8 : + var match$8 = fmtty_rel_det(param[1]); + var af$8 = match$8[1]; + var fa$8 = match$8[0]; + return /* tuple */[ + function () { + Curry._1(fa$8, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$8, /* Refl */0); + return /* Refl */0; + }, + match$8[2], + match$8[3] + ]; + case 9 : + var match$9 = fmtty_rel_det(param[2]); + var de = match$9[3]; + var ed = match$9[2]; + var af$9 = match$9[1]; + var fa$9 = match$9[0]; + var ty = trans(symm(param[0]), param[1]); + var match$10 = fmtty_rel_det(ty); + var jd = match$10[3]; + var dj = match$10[2]; + var ga = match$10[1]; + var ag = match$10[0]; + return /* tuple */[ + function () { + Curry._1(fa$9, /* Refl */0); + Curry._1(ag, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(ga, /* Refl */0); + Curry._1(af$9, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(ed, /* Refl */0); + Curry._1(dj, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(jd, /* Refl */0); + Curry._1(de, /* Refl */0); + return /* Refl */0; + } + ]; + case 10 : + var match$11 = fmtty_rel_det(param[0]); + var af$10 = match$11[1]; + var fa$10 = match$11[0]; + return /* tuple */[ + function () { + Curry._1(fa$10, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$10, /* Refl */0); + return /* Refl */0; + }, + match$11[2], + match$11[3] + ]; + case 11 : + var match$12 = fmtty_rel_det(param[0]); + var af$11 = match$12[1]; + var fa$11 = match$12[0]; + return /* tuple */[ + function () { + Curry._1(fa$11, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$11, /* Refl */0); + return /* Refl */0; + }, + match$12[2], + match$12[3] + ]; + case 12 : + var match$13 = fmtty_rel_det(param[0]); + var af$12 = match$13[1]; + var fa$12 = match$13[0]; + return /* tuple */[ + function () { + Curry._1(fa$12, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$12, /* Refl */0); + return /* Refl */0; + }, + match$13[2], + match$13[3] + ]; + case 13 : + var match$14 = fmtty_rel_det(param[0]); + var de$1 = match$14[3]; + var ed$1 = match$14[2]; + var af$13 = match$14[1]; + var fa$13 = match$14[0]; + return /* tuple */[ + function () { + Curry._1(fa$13, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$13, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(ed$1, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(de$1, /* Refl */0); + return /* Refl */0; + } + ]; + case 14 : + var match$15 = fmtty_rel_det(param[0]); + var de$2 = match$15[3]; + var ed$2 = match$15[2]; + var af$14 = match$15[1]; + var fa$14 = match$15[0]; + return /* tuple */[ + function () { + Curry._1(fa$14, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(af$14, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(ed$2, /* Refl */0); + return /* Refl */0; + }, + function () { + Curry._1(de$2, /* Refl */0); + return /* Refl */0; + } + ]; + + } + } +} + +function trans(ty1, ty2) { + var exit = 0; + if (typeof ty1 === "number") { + if (typeof ty2 === "number") { + if (ty2) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 816, + 23 + ] + ]; + } + else { + return /* End_of_fmtty */0; + } + } + else { + switch (ty2.tag | 0) { + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 816, + 23 + ] + ]; + } + } + } + else { + switch (ty1.tag | 0) { + case 0 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 0 : + return /* Char_ty */Block.__(0, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 1 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 1 : + return /* String_ty */Block.__(1, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 2 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 2 : + return /* Int_ty */Block.__(2, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 3 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 3 : + return /* Int32_ty */Block.__(3, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 4 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 4 : + return /* Nativeint_ty */Block.__(4, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 5 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 5 : + return /* Int64_ty */Block.__(5, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 6 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 6 : + return /* Float_ty */Block.__(6, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 7 : + if (typeof ty2 === "number") { + exit = 8; + } + else { + switch (ty2.tag | 0) { + case 7 : + return /* Bool_ty */Block.__(7, [trans(ty1[0], ty2[0])]); + case 8 : + exit = 6; + break; + case 9 : + exit = 7; + break; + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + + } + } + break; + case 8 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 802, + 26 + ] + ]; + } + else { + switch (ty2.tag | 0) { + case 8 : + return /* Format_arg_ty */Block.__(8, [ + trans(ty1[0], ty2[0]), + trans(ty1[1], ty2[1]) + ]); + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 802, + 26 + ] + ]; + } + } + break; + case 9 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 812, + 28 + ] + ]; + } + else { + switch (ty2.tag | 0) { + case 8 : + exit = 6; + break; + case 9 : + var ty = trans(symm(ty1[1]), ty2[0]); + var match = fmtty_rel_det(ty); + Curry._1(match[1], /* Refl */0); + Curry._1(match[3], /* Refl */0); + return /* Format_subst_ty */Block.__(9, [ + ty1[0], + ty2[1], + trans(ty1[2], ty2[2]) + ]); + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + exit = 5; + break; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 812, + 28 + ] + ]; + } + } + break; + case 10 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 780, + 21 + ] + ]; + } + else if (ty2.tag === 10) { + return /* Alpha_ty */Block.__(10, [trans(ty1[0], ty2[0])]); + } + else { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 780, + 21 + ] + ]; + } + break; + case 11 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 784, + 21 + ] + ]; + } + else { + switch (ty2.tag | 0) { + case 10 : + exit = 1; + break; + case 11 : + return /* Theta_ty */Block.__(11, [trans(ty1[0], ty2[0])]); + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 784, + 21 + ] + ]; + } + } + break; + case 12 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 788, + 19 + ] + ]; + } + else { + switch (ty2.tag | 0) { + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + return /* Any_ty */Block.__(12, [trans(ty1[0], ty2[0])]); + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 788, + 19 + ] + ]; + } + } + break; + case 13 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 792, + 22 + ] + ]; + } + else { + switch (ty2.tag | 0) { + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + return /* Reader_ty */Block.__(13, [trans(ty1[0], ty2[0])]); + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 792, + 22 + ] + ]; + } + } + break; + case 14 : + if (typeof ty2 === "number") { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 797, + 30 + ] + ]; + } + else { + switch (ty2.tag | 0) { + case 10 : + exit = 1; + break; + case 11 : + exit = 2; + break; + case 12 : + exit = 3; + break; + case 13 : + exit = 4; + break; + case 14 : + return /* Ignored_reader_ty */Block.__(14, [trans(ty1[0], ty2[0])]); + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 797, + 30 + ] + ]; + } + } + break; + + } + } + switch (exit) { + case 1 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 781, + 21 + ] + ]; + case 2 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 785, + 21 + ] + ]; + case 3 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 789, + 19 + ] + ]; + case 4 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 793, + 22 + ] + ]; + case 5 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 798, + 30 + ] + ]; + case 6 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 803, + 26 + ] + ]; + case 7 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 813, + 28 + ] + ]; + case 8 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 817, + 23 + ] + ]; + + } +} + +function fmtty_of_formatting_gen(formatting_gen) { + return fmtty_of_fmt(formatting_gen[0][0]); +} + +function fmtty_of_fmt(_fmtty) { + while(true) { + var fmtty = _fmtty; + if (typeof fmtty === "number") { + return /* End_of_fmtty */0; + } + else { + switch (fmtty.tag | 0) { + case 2 : + case 3 : + return fmtty_of_padding_fmtty(fmtty[0], /* String_ty */Block.__(1, [fmtty_of_fmt(fmtty[1])])); + case 4 : + var ty_rest = fmtty_of_fmt(fmtty[3]); + var prec_ty = fmtty_of_precision_fmtty(fmtty[2], /* Int_ty */Block.__(2, [ty_rest])); + return fmtty_of_padding_fmtty(fmtty[1], prec_ty); + case 5 : + var ty_rest$1 = fmtty_of_fmt(fmtty[3]); + var prec_ty$1 = fmtty_of_precision_fmtty(fmtty[2], /* Int32_ty */Block.__(3, [ty_rest$1])); + return fmtty_of_padding_fmtty(fmtty[1], prec_ty$1); + case 6 : + var ty_rest$2 = fmtty_of_fmt(fmtty[3]); + var prec_ty$2 = fmtty_of_precision_fmtty(fmtty[2], /* Nativeint_ty */Block.__(4, [ty_rest$2])); + return fmtty_of_padding_fmtty(fmtty[1], prec_ty$2); + case 7 : + var ty_rest$3 = fmtty_of_fmt(fmtty[3]); + var prec_ty$3 = fmtty_of_precision_fmtty(fmtty[2], /* Int64_ty */Block.__(5, [ty_rest$3])); + return fmtty_of_padding_fmtty(fmtty[1], prec_ty$3); + case 8 : + var ty_rest$4 = fmtty_of_fmt(fmtty[3]); + var prec_ty$4 = fmtty_of_precision_fmtty(fmtty[2], /* Float_ty */Block.__(6, [ty_rest$4])); + return fmtty_of_padding_fmtty(fmtty[1], prec_ty$4); + case 9 : + return /* Bool_ty */Block.__(7, [fmtty_of_fmt(fmtty[0])]); + case 10 : + _fmtty = fmtty[0]; + continue ; + case 13 : + return /* Format_arg_ty */Block.__(8, [ + fmtty[1], + fmtty_of_fmt(fmtty[2]) + ]); + case 14 : + var ty = fmtty[1]; + return /* Format_subst_ty */Block.__(9, [ + ty, + ty, + fmtty_of_fmt(fmtty[2]) + ]); + case 15 : + return /* Alpha_ty */Block.__(10, [fmtty_of_fmt(fmtty[0])]); + case 16 : + return /* Theta_ty */Block.__(11, [fmtty_of_fmt(fmtty[0])]); + case 11 : + case 12 : + case 17 : + _fmtty = fmtty[1]; + continue ; + case 18 : + return CamlinternalFormatBasics.concat_fmtty(fmtty_of_formatting_gen(fmtty[0]), fmtty_of_fmt(fmtty[1])); + case 19 : + return /* Reader_ty */Block.__(13, [fmtty_of_fmt(fmtty[0])]); + case 20 : + return /* String_ty */Block.__(1, [fmtty_of_fmt(fmtty[2])]); + case 21 : + return /* Int_ty */Block.__(2, [fmtty_of_fmt(fmtty[1])]); + case 0 : + case 1 : + case 22 : + return /* Char_ty */Block.__(0, [fmtty_of_fmt(fmtty[0])]); + case 23 : + var ign = fmtty[0]; + var fmt = fmtty[1]; + if (typeof ign === "number") { + switch (ign) { + case 3 : + return /* Ignored_reader_ty */Block.__(14, [fmtty_of_fmt(fmt)]); + case 0 : + case 1 : + case 2 : + case 4 : + return fmtty_of_fmt(fmt); + + } + } + else { + switch (ign.tag | 0) { + case 8 : + return CamlinternalFormatBasics.concat_fmtty(ign[1], fmtty_of_fmt(fmt)); + case 0 : + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 9 : + case 10 : + return fmtty_of_fmt(fmt); + + } + } + case 24 : + return fmtty_of_custom(fmtty[0], fmtty_of_fmt(fmtty[2])); + + } + } + }; +} + +function fmtty_of_custom(arity, fmtty) { + if (arity) { + return /* Any_ty */Block.__(12, [fmtty_of_custom(arity[0], fmtty)]); + } + else { + return fmtty; + } +} + +function fmtty_of_padding_fmtty(pad, fmtty) { + if (typeof pad === "number" || !pad.tag) { + return fmtty; + } + else { + return /* Int_ty */Block.__(2, [fmtty]); + } +} + +function fmtty_of_precision_fmtty(prec, fmtty) { + if (typeof prec === "number" && prec !== 0) { + return /* Int_ty */Block.__(2, [fmtty]); + } + else { + return fmtty; + } +} + +var Type_mismatch = Caml_exceptions.create("CamlinternalFormat.Type_mismatch"); + +function type_padding(pad, fmtty) { + if (typeof pad === "number") { + return /* Padding_fmtty_EBB */[ + /* No_padding */0, + fmtty + ]; + } + else if (pad.tag) { + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 2) { + return /* Padding_fmtty_EBB */[ + /* Arg_padding */Block.__(1, [pad[0]]), + fmtty[0] + ]; + } + else { + throw Type_mismatch; + } + } + else { + return /* Padding_fmtty_EBB */[ + /* Lit_padding */Block.__(0, [ + pad[0], + pad[1] + ]), + fmtty + ]; + } +} + +function type_padprec(pad, prec, fmtty) { + var match = type_padding(pad, fmtty); + if (typeof prec === "number") { + if (prec !== 0) { + var match$1 = match[1]; + if (typeof match$1 === "number") { + throw Type_mismatch; + } + else if (match$1.tag === 2) { + return /* Padprec_fmtty_EBB */[ + match[0], + /* Arg_precision */1, + match$1[0] + ]; + } + else { + throw Type_mismatch; + } + } + else { + return /* Padprec_fmtty_EBB */[ + match[0], + /* No_precision */0, + match[1] + ]; + } + } + else { + return /* Padprec_fmtty_EBB */[ + match[0], + /* Lit_precision */[prec[0]], + match[1] + ]; + } +} + +function type_ignored_param_one(ign, fmt, fmtty) { + var match = type_format_gen(fmt, fmtty); + return /* Fmt_fmtty_EBB */[ + /* Ignored_param */Block.__(23, [ + ign, + match[0] + ]), + match[1] + ]; +} + +function type_format_gen(fmt, fmtty) { + if (typeof fmt === "number") { + return /* Fmt_fmtty_EBB */[ + /* End_of_format */0, + fmtty + ]; + } + else { + switch (fmt.tag | 0) { + case 0 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag) { + throw Type_mismatch; + } + else { + var match = type_format_gen(fmt[0], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Char */Block.__(0, [match[0]]), + match[1] + ]; + } + break; + case 1 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag) { + throw Type_mismatch; + } + else { + var match$1 = type_format_gen(fmt[0], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Caml_char */Block.__(1, [match$1[0]]), + match$1[1] + ]; + } + break; + case 2 : + var match$2 = type_padding(fmt[0], fmtty); + var match$3 = match$2[1]; + if (typeof match$3 === "number") { + throw Type_mismatch; + } + else if (match$3.tag === 1) { + var match$4 = type_format_gen(fmt[1], match$3[0]); + return /* Fmt_fmtty_EBB */[ + /* String */Block.__(2, [ + match$2[0], + match$4[0] + ]), + match$4[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 3 : + var match$5 = type_padding(fmt[0], fmtty); + var match$6 = match$5[1]; + if (typeof match$6 === "number") { + throw Type_mismatch; + } + else if (match$6.tag === 1) { + var match$7 = type_format_gen(fmt[1], match$6[0]); + return /* Fmt_fmtty_EBB */[ + /* Caml_string */Block.__(3, [ + match$5[0], + match$7[0] + ]), + match$7[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 4 : + var match$8 = type_padprec(fmt[1], fmt[2], fmtty); + var match$9 = match$8[2]; + if (typeof match$9 === "number") { + throw Type_mismatch; + } + else if (match$9.tag === 2) { + var match$10 = type_format_gen(fmt[3], match$9[0]); + return /* Fmt_fmtty_EBB */[ + /* Int */Block.__(4, [ + fmt[0], + match$8[0], + match$8[1], + match$10[0] + ]), + match$10[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 5 : + var match$11 = type_padprec(fmt[1], fmt[2], fmtty); + var match$12 = match$11[2]; + if (typeof match$12 === "number") { + throw Type_mismatch; + } + else if (match$12.tag === 3) { + var match$13 = type_format_gen(fmt[3], match$12[0]); + return /* Fmt_fmtty_EBB */[ + /* Int32 */Block.__(5, [ + fmt[0], + match$11[0], + match$11[1], + match$13[0] + ]), + match$13[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 6 : + var match$14 = type_padprec(fmt[1], fmt[2], fmtty); + var match$15 = match$14[2]; + if (typeof match$15 === "number") { + throw Type_mismatch; + } + else if (match$15.tag === 4) { + var match$16 = type_format_gen(fmt[3], match$15[0]); + return /* Fmt_fmtty_EBB */[ + /* Nativeint */Block.__(6, [ + fmt[0], + match$14[0], + match$14[1], + match$16[0] + ]), + match$16[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 7 : + var match$17 = type_padprec(fmt[1], fmt[2], fmtty); + var match$18 = match$17[2]; + if (typeof match$18 === "number") { + throw Type_mismatch; + } + else if (match$18.tag === 5) { + var match$19 = type_format_gen(fmt[3], match$18[0]); + return /* Fmt_fmtty_EBB */[ + /* Int64 */Block.__(7, [ + fmt[0], + match$17[0], + match$17[1], + match$19[0] + ]), + match$19[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 8 : + var match$20 = type_padprec(fmt[1], fmt[2], fmtty); + var match$21 = match$20[2]; + if (typeof match$21 === "number") { + throw Type_mismatch; + } + else if (match$21.tag === 6) { + var match$22 = type_format_gen(fmt[3], match$21[0]); + return /* Fmt_fmtty_EBB */[ + /* Float */Block.__(8, [ + fmt[0], + match$20[0], + match$20[1], + match$22[0] + ]), + match$22[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 9 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 7) { + var match$23 = type_format_gen(fmt[0], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Bool */Block.__(9, [match$23[0]]), + match$23[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 10 : + var match$24 = type_format_gen(fmt[0], fmtty); + return /* Fmt_fmtty_EBB */[ + /* Flush */Block.__(10, [match$24[0]]), + match$24[1] + ]; + case 11 : + var match$25 = type_format_gen(fmt[1], fmtty); + return /* Fmt_fmtty_EBB */[ + /* String_literal */Block.__(11, [ + fmt[0], + match$25[0] + ]), + match$25[1] + ]; + case 12 : + var match$26 = type_format_gen(fmt[1], fmtty); + return /* Fmt_fmtty_EBB */[ + /* Char_literal */Block.__(12, [ + fmt[0], + match$26[0] + ]), + match$26[1] + ]; + case 13 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 8) { + var sub_fmtty$prime = fmtty[0]; + if (Caml_obj.caml_notequal(/* Fmtty_EBB */[fmt[1]], /* Fmtty_EBB */[sub_fmtty$prime])) { + throw Type_mismatch; + } + var match$27 = type_format_gen(fmt[2], fmtty[1]); + return /* Fmt_fmtty_EBB */[ + /* Format_arg */Block.__(13, [ + fmt[0], + sub_fmtty$prime, + match$27[0] + ]), + match$27[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 14 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 9) { + var sub_fmtty1 = fmtty[0]; + if (Caml_obj.caml_notequal(/* Fmtty_EBB */[CamlinternalFormatBasics.erase_rel(fmt[1])], /* Fmtty_EBB */[CamlinternalFormatBasics.erase_rel(sub_fmtty1)])) { + throw Type_mismatch; + } + var match$28 = type_format_gen(fmt[2], CamlinternalFormatBasics.erase_rel(fmtty[2])); + return /* Fmt_fmtty_EBB */[ + /* Format_subst */Block.__(14, [ + fmt[0], + sub_fmtty1, + match$28[0] + ]), + match$28[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 15 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 10) { + var match$29 = type_format_gen(fmt[0], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Alpha */Block.__(15, [match$29[0]]), + match$29[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 16 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 11) { + var match$30 = type_format_gen(fmt[0], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Theta */Block.__(16, [match$30[0]]), + match$30[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 17 : + var match$31 = type_format_gen(fmt[1], fmtty); + return /* Fmt_fmtty_EBB */[ + /* Formatting_lit */Block.__(17, [ + fmt[0], + match$31[0] + ]), + match$31[1] + ]; + case 18 : + var formatting_gen = fmt[0]; + var fmt0 = fmt[1]; + var fmtty0 = fmtty; + if (formatting_gen.tag) { + var match$32 = formatting_gen[0]; + var match$33 = type_format_gen(match$32[0], fmtty0); + var match$34 = type_format_gen(fmt0, match$33[1]); + return /* Fmt_fmtty_EBB */[ + /* Formatting_gen */Block.__(18, [ + /* Open_box */Block.__(1, [/* Format */[ + match$33[0], + match$32[1] + ]]), + match$34[0] + ]), + match$34[1] + ]; + } + else { + var match$35 = formatting_gen[0]; + var match$36 = type_format_gen(match$35[0], fmtty0); + var match$37 = type_format_gen(fmt0, match$36[1]); + return /* Fmt_fmtty_EBB */[ + /* Formatting_gen */Block.__(18, [ + /* Open_tag */Block.__(0, [/* Format */[ + match$36[0], + match$35[1] + ]]), + match$37[0] + ]), + match$37[1] + ]; + } + case 19 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 13) { + var match$38 = type_format_gen(fmt[0], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Reader */Block.__(19, [match$38[0]]), + match$38[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 20 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 1) { + var match$39 = type_format_gen(fmt[2], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Scan_char_set */Block.__(20, [ + fmt[0], + fmt[1], + match$39[0] + ]), + match$39[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 21 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 2) { + var match$40 = type_format_gen(fmt[1], fmtty[0]); + return /* Fmt_fmtty_EBB */[ + /* Scan_get_counter */Block.__(21, [ + fmt[0], + match$40[0] + ]), + match$40[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 23 : + var ign = fmt[0]; + var fmt$1 = fmt[1]; + var fmtty$1 = fmtty; + if (typeof ign === "number") { + switch (ign) { + case 3 : + if (typeof fmtty$1 === "number") { + throw Type_mismatch; + } + else if (fmtty$1.tag === 14) { + var match$41 = type_format_gen(fmt$1, fmtty$1[0]); + return /* Fmt_fmtty_EBB */[ + /* Ignored_param */Block.__(23, [ + /* Ignored_reader */3, + match$41[0] + ]), + match$41[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 0 : + case 1 : + case 2 : + case 4 : + return type_ignored_param_one(ign, fmt$1, fmtty$1); + + } + } + else { + switch (ign.tag | 0) { + case 7 : + return type_ignored_param_one(/* Ignored_format_arg */Block.__(7, [ + ign[0], + ign[1] + ]), fmt$1, fmtty$1); + case 8 : + var match$42 = type_ignored_format_substitution(ign[1], fmt$1, fmtty$1); + var match$43 = match$42[1]; + return /* Fmt_fmtty_EBB */[ + /* Ignored_param */Block.__(23, [ + /* Ignored_format_subst */Block.__(8, [ + ign[0], + match$42[0] + ]), + match$43[0] + ]), + match$43[1] + ]; + case 0 : + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 9 : + case 10 : + return type_ignored_param_one(ign, fmt$1, fmtty$1); + + } + } + case 22 : + case 24 : + throw Type_mismatch; + + } + } +} + +function type_ignored_format_substitution(sub_fmtty, fmt, fmtty) { + if (typeof sub_fmtty === "number") { + return /* Fmtty_fmt_EBB */[ + /* End_of_fmtty */0, + type_format_gen(fmt, fmtty) + ]; + } + else { + switch (sub_fmtty.tag | 0) { + case 0 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag) { + throw Type_mismatch; + } + else { + var match = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Char_ty */Block.__(0, [match[0]]), + match[1] + ]; + } + break; + case 1 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 1) { + var match$1 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* String_ty */Block.__(1, [match$1[0]]), + match$1[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 2 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 2) { + var match$2 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Int_ty */Block.__(2, [match$2[0]]), + match$2[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 3 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 3) { + var match$3 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Int32_ty */Block.__(3, [match$3[0]]), + match$3[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 4 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 4) { + var match$4 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Nativeint_ty */Block.__(4, [match$4[0]]), + match$4[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 5 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 5) { + var match$5 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Int64_ty */Block.__(5, [match$5[0]]), + match$5[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 6 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 6) { + var match$6 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Float_ty */Block.__(6, [match$6[0]]), + match$6[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 7 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 7) { + var match$7 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Bool_ty */Block.__(7, [match$7[0]]), + match$7[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 8 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 8) { + var sub2_fmtty$prime = fmtty[0]; + if (Caml_obj.caml_notequal(/* Fmtty_EBB */[sub_fmtty[0]], /* Fmtty_EBB */[sub2_fmtty$prime])) { + throw Type_mismatch; + } + var match$8 = type_ignored_format_substitution(sub_fmtty[1], fmt, fmtty[1]); + return /* Fmtty_fmt_EBB */[ + /* Format_arg_ty */Block.__(8, [ + sub2_fmtty$prime, + match$8[0] + ]), + match$8[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 9 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 9) { + var sub2_fmtty$prime$1 = fmtty[1]; + var sub1_fmtty$prime = fmtty[0]; + if (Caml_obj.caml_notequal(/* Fmtty_EBB */[CamlinternalFormatBasics.erase_rel(sub_fmtty[0])], /* Fmtty_EBB */[CamlinternalFormatBasics.erase_rel(sub1_fmtty$prime)])) { + throw Type_mismatch; + } + if (Caml_obj.caml_notequal(/* Fmtty_EBB */[CamlinternalFormatBasics.erase_rel(sub_fmtty[1])], /* Fmtty_EBB */[CamlinternalFormatBasics.erase_rel(sub2_fmtty$prime$1)])) { + throw Type_mismatch; + } + var sub_fmtty$prime = trans(symm(sub1_fmtty$prime), sub2_fmtty$prime$1); + var match$9 = fmtty_rel_det(sub_fmtty$prime); + Curry._1(match$9[1], /* Refl */0); + Curry._1(match$9[3], /* Refl */0); + var match$10 = type_ignored_format_substitution(CamlinternalFormatBasics.erase_rel(sub_fmtty[2]), fmt, fmtty[2]); + return /* Fmtty_fmt_EBB */[ + /* Format_subst_ty */Block.__(9, [ + sub1_fmtty$prime, + sub2_fmtty$prime$1, + symm(match$10[0]) + ]), + match$10[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 10 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 10) { + var match$11 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Alpha_ty */Block.__(10, [match$11[0]]), + match$11[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 11 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 11) { + var match$12 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Theta_ty */Block.__(11, [match$12[0]]), + match$12[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 12 : + throw Type_mismatch; + case 13 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 13) { + var match$13 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Reader_ty */Block.__(13, [match$13[0]]), + match$13[1] + ]; + } + else { + throw Type_mismatch; + } + break; + case 14 : + if (typeof fmtty === "number") { + throw Type_mismatch; + } + else if (fmtty.tag === 14) { + var match$14 = type_ignored_format_substitution(sub_fmtty[0], fmt, fmtty[0]); + return /* Fmtty_fmt_EBB */[ + /* Ignored_reader_ty */Block.__(14, [match$14[0]]), + match$14[1] + ]; + } + else { + throw Type_mismatch; + } + break; + + } + } +} + +function type_format(fmt, fmtty) { + var match = type_format_gen(fmt, fmtty); + if (typeof match[1] === "number") { + return match[0]; + } + else { + throw Type_mismatch; + } +} + +function recast(fmt, fmtty) { + return type_format(fmt, CamlinternalFormatBasics.erase_rel(symm(fmtty))); +} + +function fix_padding(padty, width, str) { + var len = str.length; + var match_000 = Pervasives.abs(width); + var match_001 = width < 0 ? /* Left */0 : padty; + var padty$1 = match_001; + var width$1 = match_000; + if (width$1 <= len) { + return str; + } + else { + var res = Bytes.make(width$1, padty$1 === /* Zeros */2 ? /* "0" */48 : /* " " */32); + switch (padty$1) { + case 0 : + $$String.blit(str, 0, res, 0, len); + break; + case 1 : + $$String.blit(str, 0, res, width$1 - len | 0, len); + break; + case 2 : + if (len > 0 && (Caml_string.get(str, 0) === /* "+" */43 || Caml_string.get(str, 0) === /* "-" */45 || Caml_string.get(str, 0) === /* " " */32)) { + res[0] = Caml_string.get(str, 0); + $$String.blit(str, 1, res, (width$1 - len | 0) + 1 | 0, len - 1 | 0); + } + else if (len > 1 && Caml_string.get(str, 0) === /* "0" */48 && (Caml_string.get(str, 1) === /* "x" */120 || Caml_string.get(str, 1) === /* "X" */88)) { + res[1] = Caml_string.get(str, 1); + $$String.blit(str, 2, res, (width$1 - len | 0) + 2 | 0, len - 2 | 0); + } + else { + $$String.blit(str, 0, res, width$1 - len | 0, len); + } + break; + + } + return Caml_string.bytes_to_string(res); + } +} + +function fix_int_precision(prec, str) { + var prec$1 = Pervasives.abs(prec); + var len = str.length; + var c = Caml_string.get(str, 0); + var exit = 0; + if (c >= 58) { + if (c >= 71) { + if (c > 102 || c < 97) { + return str; + } + else { + exit = 2; + } + } + else if (c >= 65) { + exit = 2; + } + else { + return str; + } + } + else if (c !== 32) { + if (c >= 43) { + switch (c - 43 | 0) { + case 0 : + case 2 : + exit = 1; + break; + case 1 : + case 3 : + case 4 : + return str; + case 5 : + if ((prec$1 + 2 | 0) > len && len > 1 && (Caml_string.get(str, 1) === /* "x" */120 || Caml_string.get(str, 1) === /* "X" */88)) { + var res = Bytes.make(prec$1 + 2 | 0, /* "0" */48); + res[1] = Caml_string.get(str, 1); + $$String.blit(str, 2, res, (prec$1 - len | 0) + 4 | 0, len - 2 | 0); + return Caml_string.bytes_to_string(res); + } + else { + exit = 2; + } + break; + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 12 : + case 13 : + case 14 : + exit = 2; + break; + + } + } + else { + return str; + } + } + else { + exit = 1; + } + switch (exit) { + case 1 : + if ((prec$1 + 1 | 0) > len) { + var res$1 = Bytes.make(prec$1 + 1 | 0, /* "0" */48); + res$1[0] = c; + $$String.blit(str, 1, res$1, (prec$1 - len | 0) + 2 | 0, len - 1 | 0); + return Caml_string.bytes_to_string(res$1); + } + else { + return str; + } + break; + case 2 : + if (prec$1 > len) { + var res$2 = Bytes.make(prec$1, /* "0" */48); + $$String.blit(str, 0, res$2, prec$1 - len | 0, len); + return Caml_string.bytes_to_string(res$2); + } + else { + return str; + } + break; + + } +} + +function string_to_caml_string(str) { + return $$String.concat($$String.escaped(str), /* :: */[ + '"', + /* :: */[ + '"', + /* [] */0 + ] + ]); +} + +function format_of_iconv(iconv) { + switch (iconv) { + case 0 : + return "%d"; + case 1 : + return "%+d"; + case 2 : + return "% d"; + case 3 : + return "%i"; + case 4 : + return "%+i"; + case 5 : + return "% i"; + case 6 : + return "%x"; + case 7 : + return "%#x"; + case 8 : + return "%X"; + case 9 : + return "%#X"; + case 10 : + return "%o"; + case 11 : + return "%#o"; + case 12 : + return "%u"; + + } +} + +function format_of_aconv(iconv, c) { + var seps; + switch (iconv) { + case 0 : + seps = /* :: */[ + "%", + /* :: */[ + "d", + /* [] */0 + ] + ]; + break; + case 1 : + seps = /* :: */[ + "%+", + /* :: */[ + "d", + /* [] */0 + ] + ]; + break; + case 2 : + seps = /* :: */[ + "% ", + /* :: */[ + "d", + /* [] */0 + ] + ]; + break; + case 3 : + seps = /* :: */[ + "%", + /* :: */[ + "i", + /* [] */0 + ] + ]; + break; + case 4 : + seps = /* :: */[ + "%+", + /* :: */[ + "i", + /* [] */0 + ] + ]; + break; + case 5 : + seps = /* :: */[ + "% ", + /* :: */[ + "i", + /* [] */0 + ] + ]; + break; + case 6 : + seps = /* :: */[ + "%", + /* :: */[ + "x", + /* [] */0 + ] + ]; + break; + case 7 : + seps = /* :: */[ + "%#", + /* :: */[ + "x", + /* [] */0 + ] + ]; + break; + case 8 : + seps = /* :: */[ + "%", + /* :: */[ + "X", + /* [] */0 + ] + ]; + break; + case 9 : + seps = /* :: */[ + "%#", + /* :: */[ + "X", + /* [] */0 + ] + ]; + break; + case 10 : + seps = /* :: */[ + "%", + /* :: */[ + "o", + /* [] */0 + ] + ]; + break; + case 11 : + seps = /* :: */[ + "%#", + /* :: */[ + "o", + /* [] */0 + ] + ]; + break; + case 12 : + seps = /* :: */[ + "%", + /* :: */[ + "u", + /* [] */0 + ] + ]; + break; + + } + return $$String.concat(Caml_string.bytes_to_string(Bytes.make(1, c)), seps); +} + +function format_of_fconv(fconv, prec) { + if (fconv === /* Float_F */15) { + return "%.12g"; + } + else { + var prec$1 = Pervasives.abs(prec); + var symb = char_of_fconv(fconv); + var buf = /* record */[ + /* ind */0, + /* bytes */new Array(16) + ]; + buffer_add_char(buf, /* "%" */37); + bprint_fconv_flag(buf, fconv); + buffer_add_char(buf, /* "." */46); + buffer_add_string(buf, "" + prec$1); + buffer_add_char(buf, symb); + return buffer_contents(buf); + } +} + +function convert_int(iconv, n) { + return Caml_format.caml_format_int(format_of_iconv(iconv), n); +} + +function convert_int32(iconv, n) { + return Caml_format.caml_int32_format(format_of_aconv(iconv, /* "l" */108), n); +} + +function convert_nativeint(iconv, n) { + return Caml_format.caml_nativeint_format(format_of_aconv(iconv, /* "n" */110), n); +} + +function convert_int64(iconv, n) { + return Caml_format.caml_int64_format(format_of_aconv(iconv, /* "L" */76), n); +} + +function convert_float(fconv, prec, x) { + var prec$1 = Pervasives.abs(prec); + var str = Caml_format.caml_format_float(format_of_fconv(fconv, prec$1), x); + if (fconv !== /* Float_F */15) { + return str; + } + else { + var len = str.length; + var is_valid = function (_i) { + while(true) { + var i = _i; + if (i === len) { + return /* false */0; + } + else { + var match = Caml_string.get(str, i); + var switcher = match - 46 | 0; + if (switcher > 23 || switcher < 0) { + if (switcher !== 55) { + _i = i + 1 | 0; + continue ; + + } + else { + return /* true */1; + } + } + else if (switcher > 22 || switcher < 1) { + return /* true */1; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + }; + }; + var match = Caml_float.caml_classify_float(x); + if (match !== 3) { + if (match >= 4) { + return "nan"; + } + else if (is_valid(0)) { + return str; + } + else { + return str + "."; + } + } + else if (x < 0.0) { + return "neg_infinity"; + } + else { + return "infinity"; + } + } +} + +function format_caml_char(c) { + return $$String.concat(Char.escaped(c), /* :: */[ + "'", + /* :: */[ + "'", + /* [] */0 + ] + ]); +} + +function string_of_fmtty(fmtty) { + var buf = /* record */[ + /* ind */0, + /* bytes */new Array(16) + ]; + bprint_fmtty(buf, fmtty); + return buffer_contents(buf); +} + +function make_printf(_k, o, _acc, _fmt) { + while(true) { + var fmt = _fmt; + var acc = _acc; + var k = _k; + if (typeof fmt === "number") { + return Curry._2(k, o, acc); + } + else { + switch (fmt.tag | 0) { + case 0 : + var rest = fmt[0]; + return (function(k,acc,rest){ + return function (c) { + var new_acc = /* Acc_data_char */Block.__(5, [ + acc, + c + ]); + return make_printf(k, o, new_acc, rest); + } + }(k,acc,rest)); + case 1 : + var rest$1 = fmt[0]; + return (function(k,acc,rest$1){ + return function (c) { + var new_acc_001 = format_caml_char(c); + var new_acc = /* Acc_data_string */Block.__(4, [ + acc, + new_acc_001 + ]); + return make_printf(k, o, new_acc, rest$1); + } + }(k,acc,rest$1)); + case 2 : + return make_string_padding(k, o, acc, fmt[1], fmt[0], function (str) { + return str; + }); + case 3 : + return make_string_padding(k, o, acc, fmt[1], fmt[0], string_to_caml_string); + case 4 : + return make_int_padding_precision(k, o, acc, fmt[3], fmt[1], fmt[2], convert_int, fmt[0]); + case 5 : + return make_int_padding_precision(k, o, acc, fmt[3], fmt[1], fmt[2], convert_int32, fmt[0]); + case 6 : + return make_int_padding_precision(k, o, acc, fmt[3], fmt[1], fmt[2], convert_nativeint, fmt[0]); + case 7 : + return make_int_padding_precision(k, o, acc, fmt[3], fmt[1], fmt[2], convert_int64, fmt[0]); + case 8 : + var k$1 = k; + var o$1 = o; + var acc$1 = acc; + var fmt$1 = fmt[3]; + var pad = fmt[1]; + var prec = fmt[2]; + var fconv = fmt[0]; + if (typeof pad === "number") { + if (typeof prec === "number") { + if (prec !== 0) { + return (function(k$1,o$1,acc$1,fmt$1,fconv){ + return function (p, x) { + var str = convert_float(fconv, p, x); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv)); + } + else { + return (function(k$1,o$1,acc$1,fmt$1,fconv){ + return function (x) { + var str = convert_float(fconv, 6, x); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv)); + } + } + else { + var p = prec[0]; + return (function(k$1,o$1,acc$1,fmt$1,fconv,p){ + return function (x) { + var str = convert_float(fconv, p, x); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,p)); + } + } + else if (pad.tag) { + var padty = pad[0]; + if (typeof prec === "number") { + if (prec !== 0) { + return (function(k$1,o$1,acc$1,fmt$1,fconv,padty){ + return function (w, p, x) { + var str = fix_padding(padty, w, convert_float(fconv, p, x)); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,padty)); + } + else { + return (function(k$1,o$1,acc$1,fmt$1,fconv,padty){ + return function (w, x) { + var str = convert_float(fconv, 6, x); + var str$prime = fix_padding(padty, w, str); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str$prime + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,padty)); + } + } + else { + var p$1 = prec[0]; + return (function(k$1,o$1,acc$1,fmt$1,fconv,padty,p$1){ + return function (w, x) { + var str = fix_padding(padty, w, convert_float(fconv, p$1, x)); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,padty,p$1)); + } + } + else { + var w = pad[1]; + var padty$1 = pad[0]; + if (typeof prec === "number") { + if (prec !== 0) { + return (function(k$1,o$1,acc$1,fmt$1,fconv,padty$1,w){ + return function (p, x) { + var str = fix_padding(padty$1, w, convert_float(fconv, p, x)); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,padty$1,w)); + } + else { + return (function(k$1,o$1,acc$1,fmt$1,fconv,padty$1,w){ + return function (x) { + var str = convert_float(fconv, 6, x); + var str$prime = fix_padding(padty$1, w, str); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str$prime + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,padty$1,w)); + } + } + else { + var p$2 = prec[0]; + return (function(k$1,o$1,acc$1,fmt$1,fconv,padty$1,w,p$2){ + return function (x) { + var str = fix_padding(padty$1, w, convert_float(fconv, p$2, x)); + return make_printf(k$1, o$1, /* Acc_data_string */Block.__(4, [ + acc$1, + str + ]), fmt$1); + } + }(k$1,o$1,acc$1,fmt$1,fconv,padty$1,w,p$2)); + } + } + case 9 : + var rest$2 = fmt[0]; + return (function(k,acc,rest$2){ + return function (b) { + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + b ? "true" : "false" + ]), rest$2); + } + }(k,acc,rest$2)); + case 10 : + _fmt = fmt[0]; + _acc = /* Acc_flush */Block.__(7, [acc]); + continue ; + case 11 : + _fmt = fmt[1]; + _acc = /* Acc_string_literal */Block.__(2, [ + acc, + fmt[0] + ]); + continue ; + case 12 : + _fmt = fmt[1]; + _acc = /* Acc_char_literal */Block.__(3, [ + acc, + fmt[0] + ]); + continue ; + case 13 : + var rest$3 = fmt[2]; + var ty = string_of_fmtty(fmt[1]); + return (function(k,acc,rest$3,ty){ + return function () { + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + ty + ]), rest$3); + } + }(k,acc,rest$3,ty)); + case 14 : + var rest$4 = fmt[2]; + var fmtty = fmt[1]; + return (function(k,acc,fmtty,rest$4){ + return function (param) { + return make_printf(k, o, acc, CamlinternalFormatBasics.concat_fmt(recast(param[0], fmtty), rest$4)); + } + }(k,acc,fmtty,rest$4)); + case 15 : + var rest$5 = fmt[0]; + return (function(k,acc,rest$5){ + return function (f, x) { + return make_printf(k, o, /* Acc_delay */Block.__(6, [ + acc, + function (o) { + return Curry._2(f, o, x); + } + ]), rest$5); + } + }(k,acc,rest$5)); + case 16 : + var rest$6 = fmt[0]; + return (function(k,acc,rest$6){ + return function (f) { + return make_printf(k, o, /* Acc_delay */Block.__(6, [ + acc, + f + ]), rest$6); + } + }(k,acc,rest$6)); + case 17 : + _fmt = fmt[1]; + _acc = /* Acc_formatting_lit */Block.__(0, [ + acc, + fmt[0] + ]); + continue ; + case 18 : + var match = fmt[0]; + if (match.tag) { + var rest$7 = fmt[1]; + var k$prime = (function(k,acc,rest$7){ + return function k$prime(koc, kacc) { + return make_printf(k, koc, /* Acc_formatting_gen */Block.__(1, [ + acc, + /* Acc_open_box */Block.__(1, [kacc]) + ]), rest$7); + } + }(k,acc,rest$7)); + _fmt = match[0][0]; + _acc = /* End_of_acc */0; + _k = k$prime; + continue ; + + } + else { + var rest$8 = fmt[1]; + var k$prime$1 = (function(k,acc,rest$8){ + return function k$prime$1(koc, kacc) { + return make_printf(k, koc, /* Acc_formatting_gen */Block.__(1, [ + acc, + /* Acc_open_tag */Block.__(0, [kacc]) + ]), rest$8); + } + }(k,acc,rest$8)); + _fmt = match[0][0]; + _acc = /* End_of_acc */0; + _k = k$prime$1; + continue ; + + } + break; + case 19 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 1449, + 4 + ] + ]; + case 20 : + var rest$9 = fmt[2]; + var new_acc = /* Acc_invalid_arg */Block.__(8, [ + acc, + "Printf: bad conversion %[" + ]); + return (function(k,rest$9,new_acc){ + return function () { + return make_printf(k, o, new_acc, rest$9); + } + }(k,rest$9,new_acc)); + case 21 : + var rest$10 = fmt[1]; + return (function(k,acc,rest$10){ + return function (n) { + var new_acc_001 = Caml_format.caml_format_int("%u", n); + var new_acc = /* Acc_data_string */Block.__(4, [ + acc, + new_acc_001 + ]); + return make_printf(k, o, new_acc, rest$10); + } + }(k,acc,rest$10)); + case 22 : + var rest$11 = fmt[0]; + return (function(k,acc,rest$11){ + return function (c) { + var new_acc = /* Acc_data_char */Block.__(5, [ + acc, + c + ]); + return make_printf(k, o, new_acc, rest$11); + } + }(k,acc,rest$11)); + case 23 : + var k$2 = k; + var o$2 = o; + var acc$2 = acc; + var ign = fmt[0]; + var fmt$2 = fmt[1]; + if (typeof ign === "number") { + switch (ign) { + case 3 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 1517, + 39 + ] + ]; + case 0 : + case 1 : + case 2 : + case 4 : + return make_invalid_arg(k$2, o$2, acc$2, fmt$2); + + } + } + else { + switch (ign.tag | 0) { + case 8 : + return make_from_fmtty(k$2, o$2, acc$2, ign[1], fmt$2); + case 0 : + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 9 : + case 10 : + return make_invalid_arg(k$2, o$2, acc$2, fmt$2); + + } + } + case 24 : + return make_custom(k, o, acc, fmt[2], fmt[0], Curry._1(fmt[1], /* () */0)); + + } + } + }; +} + +function make_from_fmtty(k, o, acc, fmtty, fmt) { + if (typeof fmtty === "number") { + return make_invalid_arg(k, o, acc, fmt); + } + else { + switch (fmtty.tag | 0) { + case 0 : + var rest = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest, fmt); + }; + case 1 : + var rest$1 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$1, fmt); + }; + case 2 : + var rest$2 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$2, fmt); + }; + case 3 : + var rest$3 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$3, fmt); + }; + case 4 : + var rest$4 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$4, fmt); + }; + case 5 : + var rest$5 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$5, fmt); + }; + case 6 : + var rest$6 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$6, fmt); + }; + case 7 : + var rest$7 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$7, fmt); + }; + case 8 : + var rest$8 = fmtty[1]; + return function () { + return make_from_fmtty(k, o, acc, rest$8, fmt); + }; + case 9 : + var rest$9 = fmtty[2]; + var ty = trans(symm(fmtty[0]), fmtty[1]); + return function () { + return make_from_fmtty(k, o, acc, CamlinternalFormatBasics.concat_fmtty(ty, rest$9), fmt); + }; + case 10 : + var rest$10 = fmtty[0]; + return function (_, _$1) { + return make_from_fmtty(k, o, acc, rest$10, fmt); + }; + case 11 : + var rest$11 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$11, fmt); + }; + case 12 : + var rest$12 = fmtty[0]; + return function () { + return make_from_fmtty(k, o, acc, rest$12, fmt); + }; + case 13 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 1540, + 31 + ] + ]; + case 14 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 1541, + 31 + ] + ]; + + } + } +} + +function make_invalid_arg(k, o, acc, fmt) { + return make_printf(k, o, /* Acc_invalid_arg */Block.__(8, [ + acc, + "Printf: bad conversion %_" + ]), fmt); +} + +function make_string_padding(k, o, acc, fmt, pad, trans) { + if (typeof pad === "number") { + return function (x) { + var new_acc_001 = Curry._1(trans, x); + var new_acc = /* Acc_data_string */Block.__(4, [ + acc, + new_acc_001 + ]); + return make_printf(k, o, new_acc, fmt); + }; + } + else if (pad.tag) { + var padty = pad[0]; + return function (w, x) { + var new_acc_001 = fix_padding(padty, w, Curry._1(trans, x)); + var new_acc = /* Acc_data_string */Block.__(4, [ + acc, + new_acc_001 + ]); + return make_printf(k, o, new_acc, fmt); + }; + } + else { + var width = pad[1]; + var padty$1 = pad[0]; + return function (x) { + var new_acc_001 = fix_padding(padty$1, width, Curry._1(trans, x)); + var new_acc = /* Acc_data_string */Block.__(4, [ + acc, + new_acc_001 + ]); + return make_printf(k, o, new_acc, fmt); + }; + } +} + +function make_int_padding_precision(k, o, acc, fmt, pad, prec, trans, iconv) { + if (typeof pad === "number") { + if (typeof prec === "number") { + if (prec !== 0) { + return function (p, x) { + var str = fix_int_precision(p, Curry._2(trans, iconv, x)); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + else { + return function (x) { + var str = Curry._2(trans, iconv, x); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + } + else { + var p = prec[0]; + return function (x) { + var str = fix_int_precision(p, Curry._2(trans, iconv, x)); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + } + else if (pad.tag) { + var padty = pad[0]; + if (typeof prec === "number") { + if (prec !== 0) { + return function (w, p, x) { + var str = fix_padding(padty, w, fix_int_precision(p, Curry._2(trans, iconv, x))); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + else { + return function (w, x) { + var str = fix_padding(padty, w, Curry._2(trans, iconv, x)); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + } + else { + var p$1 = prec[0]; + return function (w, x) { + var str = fix_padding(padty, w, fix_int_precision(p$1, Curry._2(trans, iconv, x))); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + } + else { + var w = pad[1]; + var padty$1 = pad[0]; + if (typeof prec === "number") { + if (prec !== 0) { + return function (p, x) { + var str = fix_padding(padty$1, w, fix_int_precision(p, Curry._2(trans, iconv, x))); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + else { + return function (x) { + var str = fix_padding(padty$1, w, Curry._2(trans, iconv, x)); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + } + else { + var p$2 = prec[0]; + return function (x) { + var str = fix_padding(padty$1, w, fix_int_precision(p$2, Curry._2(trans, iconv, x))); + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + str + ]), fmt); + }; + } + } +} + +function make_custom(k, o, acc, rest, arity, f) { + if (arity) { + var arity$1 = arity[0]; + return function (x) { + return make_custom(k, o, acc, rest, arity$1, Curry._1(f, x)); + }; + } + else { + return make_printf(k, o, /* Acc_data_string */Block.__(4, [ + acc, + f + ]), rest); + } +} + +function output_acc(o, _acc) { + while(true) { + var acc = _acc; + var exit = 0; + if (typeof acc === "number") { + return /* () */0; + } + else { + switch (acc.tag | 0) { + case 0 : + var s = string_of_formatting_lit(acc[1]); + output_acc(o, acc[0]); + return Pervasives.output_string(o, s); + case 1 : + var match = acc[1]; + var p = acc[0]; + output_acc(o, p); + if (match.tag) { + Pervasives.output_string(o, "@["); + _acc = match[0]; + continue ; + + } + else { + Pervasives.output_string(o, "@{"); + _acc = match[0]; + continue ; + + } + break; + case 2 : + case 4 : + exit = 1; + break; + case 3 : + case 5 : + exit = 2; + break; + case 6 : + output_acc(o, acc[0]); + return Curry._1(acc[1], o); + case 7 : + output_acc(o, acc[0]); + return Caml_io.caml_ml_flush(o); + case 8 : + output_acc(o, acc[0]); + throw [ + Caml_builtin_exceptions.invalid_argument, + acc[1] + ]; + + } + } + switch (exit) { + case 1 : + output_acc(o, acc[0]); + return Pervasives.output_string(o, acc[1]); + case 2 : + output_acc(o, acc[0]); + return Caml_io.caml_ml_output_char(o, acc[1]); + + } + }; +} + +function bufput_acc(b, _acc) { + while(true) { + var acc = _acc; + var exit = 0; + if (typeof acc === "number") { + return /* () */0; + } + else { + switch (acc.tag | 0) { + case 0 : + var s = string_of_formatting_lit(acc[1]); + bufput_acc(b, acc[0]); + return Buffer.add_string(b, s); + case 1 : + var match = acc[1]; + var p = acc[0]; + bufput_acc(b, p); + if (match.tag) { + Buffer.add_string(b, "@["); + _acc = match[0]; + continue ; + + } + else { + Buffer.add_string(b, "@{"); + _acc = match[0]; + continue ; + + } + break; + case 2 : + case 4 : + exit = 1; + break; + case 3 : + case 5 : + exit = 2; + break; + case 6 : + bufput_acc(b, acc[0]); + return Curry._1(acc[1], b); + case 7 : + _acc = acc[0]; + continue ; + case 8 : + bufput_acc(b, acc[0]); + throw [ + Caml_builtin_exceptions.invalid_argument, + acc[1] + ]; + + } + } + switch (exit) { + case 1 : + bufput_acc(b, acc[0]); + return Buffer.add_string(b, acc[1]); + case 2 : + bufput_acc(b, acc[0]); + return Buffer.add_char(b, acc[1]); + + } + }; +} + +function strput_acc(b, _acc) { + while(true) { + var acc = _acc; + var exit = 0; + if (typeof acc === "number") { + return /* () */0; + } + else { + switch (acc.tag | 0) { + case 0 : + var s = string_of_formatting_lit(acc[1]); + strput_acc(b, acc[0]); + return Buffer.add_string(b, s); + case 1 : + var match = acc[1]; + var p = acc[0]; + strput_acc(b, p); + if (match.tag) { + Buffer.add_string(b, "@["); + _acc = match[0]; + continue ; + + } + else { + Buffer.add_string(b, "@{"); + _acc = match[0]; + continue ; + + } + break; + case 2 : + case 4 : + exit = 1; + break; + case 3 : + case 5 : + exit = 2; + break; + case 6 : + strput_acc(b, acc[0]); + return Buffer.add_string(b, Curry._1(acc[1], /* () */0)); + case 7 : + _acc = acc[0]; + continue ; + case 8 : + strput_acc(b, acc[0]); + throw [ + Caml_builtin_exceptions.invalid_argument, + acc[1] + ]; + + } + } + switch (exit) { + case 1 : + strput_acc(b, acc[0]); + return Buffer.add_string(b, acc[1]); + case 2 : + strput_acc(b, acc[0]); + return Buffer.add_char(b, acc[1]); + + } + }; +} + +function failwith_message(param) { + var buf = Buffer.create(256); + var k = function (_, acc) { + strput_acc(buf, acc); + var s = Buffer.contents(buf); + throw [ + Caml_builtin_exceptions.failure, + s + ]; + }; + return make_printf(k, /* () */0, /* End_of_acc */0, param[0]); +} + +function open_box_of_string(str) { + if (str === "") { + return /* tuple */[ + 0, + /* Pp_box */4 + ]; + } + else { + var len = str.length; + var invalid_box = function () { + return Curry._1(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid box description ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* End_of_format */0 + ]) + ]), + "invalid box description %S" + ]), str); + }; + var parse_spaces = function (_i) { + while(true) { + var i = _i; + if (i === len) { + return i; + } + else { + var match = Caml_string.get(str, i); + if (match !== 9) { + if (match !== 32) { + return i; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + else { + _i = i + 1 | 0; + continue ; + + } + } + }; + }; + var parse_lword = function (_, _j) { + while(true) { + var j = _j; + if (j === len) { + return j; + } + else { + var match = Caml_string.get(str, j); + if (match > 122 || match < 97) { + return j; + } + else { + _j = j + 1 | 0; + continue ; + + } + } + }; + }; + var parse_int = function (_, _j) { + while(true) { + var j = _j; + if (j === len) { + return j; + } + else { + var match = Caml_string.get(str, j); + if (match >= 48) { + if (match >= 58) { + return j; + } + else { + _j = j + 1 | 0; + continue ; + + } + } + else if (match !== 45) { + return j; + } + else { + _j = j + 1 | 0; + continue ; + + } + } + }; + }; + var wstart = parse_spaces(0); + var wend = parse_lword(wstart, wstart); + var box_name = $$String.sub(str, wstart, wend - wstart | 0); + var nstart = parse_spaces(wend); + var nend = parse_int(nstart, nstart); + var indent; + if (nstart === nend) { + indent = 0; + } + else { + try { + indent = Caml_format.caml_int_of_string($$String.sub(str, nstart, nend - nstart | 0)); + } + catch (exn){ + if (exn[0] === Caml_builtin_exceptions.failure) { + indent = invalid_box(/* () */0); + } + else { + throw exn; + } + } + } + var exp_end = parse_spaces(nend); + if (exp_end !== len) { + invalid_box(/* () */0); + } + var box_type; + switch (box_name) { + case "" : + case "b" : + box_type = /* Pp_box */4; + break; + case "h" : + box_type = /* Pp_hbox */0; + break; + case "hov" : + box_type = /* Pp_hovbox */3; + break; + case "hv" : + box_type = /* Pp_hvbox */2; + break; + case "v" : + box_type = /* Pp_vbox */1; + break; + default: + box_type = invalid_box(/* () */0); + } + return /* tuple */[ + indent, + box_type + ]; + } +} + +function make_padding_fmt_ebb(pad, fmt) { + if (typeof pad === "number") { + return /* Padding_fmt_EBB */[ + /* No_padding */0, + fmt + ]; + } + else if (pad.tag) { + return /* Padding_fmt_EBB */[ + /* Arg_padding */Block.__(1, [pad[0]]), + fmt + ]; + } + else { + return /* Padding_fmt_EBB */[ + /* Lit_padding */Block.__(0, [ + pad[0], + pad[1] + ]), + fmt + ]; + } +} + +function make_precision_fmt_ebb(prec, fmt) { + if (typeof prec === "number") { + if (prec !== 0) { + return /* Precision_fmt_EBB */[ + /* Arg_precision */1, + fmt + ]; + } + else { + return /* Precision_fmt_EBB */[ + /* No_precision */0, + fmt + ]; + } + } + else { + return /* Precision_fmt_EBB */[ + /* Lit_precision */[prec[0]], + fmt + ]; + } +} + +function make_padprec_fmt_ebb(pad, prec, fmt) { + var match = make_precision_fmt_ebb(prec, fmt); + var fmt$prime = match[1]; + var prec$1 = match[0]; + if (typeof pad === "number") { + return /* Padprec_fmt_EBB */[ + /* No_padding */0, + prec$1, + fmt$prime + ]; + } + else if (pad.tag) { + return /* Padprec_fmt_EBB */[ + /* Arg_padding */Block.__(1, [pad[0]]), + prec$1, + fmt$prime + ]; + } + else { + return /* Padprec_fmt_EBB */[ + /* Lit_padding */Block.__(0, [ + pad[0], + pad[1] + ]), + prec$1, + fmt$prime + ]; + } +} + +function fmt_ebb_of_string(legacy_behavior, str) { + var legacy_behavior$1 = legacy_behavior ? legacy_behavior[0] : /* true */1; + var invalid_format_message = function (str_ind, msg) { + return Curry._3(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ", ", + /* String */Block.__(2, [ + /* No_padding */0, + /* End_of_format */0 + ]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: at character number %d, %s" + ]), str, str_ind, msg); + }; + var invalid_format_without = function (str_ind, c, s) { + return Curry._4(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ", '", + /* Char */Block.__(0, [/* String_literal */Block.__(11, [ + "' without ", + /* String */Block.__(2, [ + /* No_padding */0, + /* End_of_format */0 + ]) + ])]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: at character number %d, '%c' without %s" + ]), str, str_ind, c, s); + }; + var expected_character = function (str_ind, expected, read) { + return Curry._4(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ", ", + /* String */Block.__(2, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + " expected, read ", + /* Caml_char */Block.__(1, [/* End_of_format */0]) + ]) + ]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: at character number %d, %s expected, read %C" + ]), str, str_ind, expected, read); + }; + var compute_int_conv = function (pct_ind, str_ind, _plus, _sharp, _space, symb) { + while(true) { + var space = _space; + var sharp = _sharp; + var plus = _plus; + var exit = 0; + var exit$1 = 0; + if (plus !== 0) { + if (sharp !== 0) { + exit$1 = 2; + } + else if (space !== 0) { + exit = 1; + } + else if (symb !== 100) { + if (symb !== 105) { + exit = 1; + } + else { + return /* Int_pi */4; + } + } + else { + return /* Int_pd */1; + } + } + else if (sharp !== 0) { + if (space !== 0) { + exit$1 = 2; + } + else if (symb !== 88) { + if (symb !== 111) { + if (symb !== 120) { + exit$1 = 2; + } + else { + return /* Int_Cx */7; + } + } + else { + return /* Int_Co */11; + } + } + else { + return /* Int_CX */9; + } + } + else if (space !== 0) { + if (symb !== 100) { + if (symb !== 105) { + exit = 1; + } + else { + return /* Int_si */5; + } + } + else { + return /* Int_sd */2; + } + } + else { + var switcher = symb - 88 | 0; + if (switcher > 32 || switcher < 0) { + exit = 1; + } + else { + switch (switcher) { + case 0 : + return /* Int_X */8; + case 12 : + return /* Int_d */0; + case 17 : + return /* Int_i */3; + case 23 : + return /* Int_o */10; + case 29 : + return /* Int_u */12; + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 13 : + case 14 : + case 15 : + case 16 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 24 : + case 25 : + case 26 : + case 27 : + case 28 : + case 30 : + case 31 : + exit = 1; + break; + case 32 : + return /* Int_x */6; + + } + } + } + if (exit$1 === 2) { + var exit$2 = 0; + var switcher$1 = symb - 88 | 0; + if (switcher$1 > 32 || switcher$1 < 0) { + exit = 1; + } + else { + switch (switcher$1) { + case 0 : + if (legacy_behavior$1) { + return /* Int_CX */9; + } + else { + exit = 1; + } + break; + case 23 : + if (legacy_behavior$1) { + return /* Int_Co */11; + } + else { + exit = 1; + } + break; + case 12 : + case 17 : + case 29 : + exit$2 = 3; + break; + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 13 : + case 14 : + case 15 : + case 16 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 24 : + case 25 : + case 26 : + case 27 : + case 28 : + case 30 : + case 31 : + exit = 1; + break; + case 32 : + if (legacy_behavior$1) { + return /* Int_Cx */7; + } + else { + exit = 1; + } + break; + + } + } + if (exit$2 === 3) { + if (legacy_behavior$1) { + _sharp = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "'#'"); + } + } + + } + if (exit === 1) { + if (plus !== 0) { + if (space !== 0) { + if (legacy_behavior$1) { + _space = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, /* " " */32, "'+'"); + } + } + else if (legacy_behavior$1) { + _plus = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "'+'"); + } + } + else if (space !== 0) { + if (legacy_behavior$1) { + _space = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "' '"); + } + } + else { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 2716, + 28 + ] + ]; + } + } + + }; + }; + var incompatible_flag = function (pct_ind, str_ind, symb, option) { + var subfmt = $$String.sub(str, pct_ind, str_ind - pct_ind | 0); + return Curry._5(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ", ", + /* String */Block.__(2, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + " is incompatible with '", + /* Char */Block.__(0, [/* String_literal */Block.__(11, [ + "' in sub-format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* End_of_format */0 + ]) + ])]) + ]) + ]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: at character number %d, %s is incompatible with '%c' in sub-format %S" + ]), str, pct_ind, option, symb, subfmt); + }; + var parse_positive = function (_str_ind, end_ind, _acc) { + while(true) { + var acc = _acc; + var str_ind = _str_ind; + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var c = Caml_string.get(str, str_ind); + if (c > 57 || c < 48) { + return /* tuple */[ + str_ind, + acc + ]; + } + else { + var new_acc = Caml_int32.imul(acc, 10) + (c - /* "0" */48 | 0) | 0; + if (new_acc > Sys.max_string_length) { + return Curry._3(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": integer ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + " is greater than the limit ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* End_of_format */0 + ]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: integer %d is greater than the limit %d" + ]), str, new_acc, Sys.max_string_length); + } + else { + _acc = new_acc; + _str_ind = str_ind + 1 | 0; + continue ; + + } + } + }; + }; + var parse_after_precision = function (pct_ind, str_ind, end_ind, minus, plus, sharp, space, ign, pad, prec) { + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var parse_conv = function (padprec) { + return parse_conversion(pct_ind, str_ind + 1 | 0, end_ind, plus, sharp, space, ign, pad, prec, padprec, Caml_string.get(str, str_ind)); + }; + if (typeof pad === "number") { + var exit = 0; + if (typeof prec === "number") { + if (prec !== 0) { + exit = 1; + } + else { + return parse_conv(/* No_padding */0); + } + } + else { + exit = 1; + } + if (exit === 1) { + if (minus !== 0) { + if (typeof prec === "number") { + return parse_conv(/* Arg_padding */Block.__(1, [/* Left */0])); + } + else { + return parse_conv(/* Lit_padding */Block.__(0, [ + /* Left */0, + prec[0] + ])); + } + } + else if (typeof prec === "number") { + return parse_conv(/* Arg_padding */Block.__(1, [/* Right */1])); + } + else { + return parse_conv(/* Lit_padding */Block.__(0, [ + /* Right */1, + prec[0] + ])); + } + } + + } + else { + return parse_conv(pad); + } + }; + var parse_after_padding = function (pct_ind, str_ind, end_ind, minus, plus, sharp, space, ign, pad) { + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var symb = Caml_string.get(str, str_ind); + if (symb !== 46) { + return parse_conversion(pct_ind, str_ind + 1 | 0, end_ind, plus, sharp, space, ign, pad, /* No_precision */0, pad, symb); + } + else { + var pct_ind$1 = pct_ind; + var str_ind$1 = str_ind + 1 | 0; + var end_ind$1 = end_ind; + var minus$1 = minus; + var plus$1 = plus; + var sharp$1 = sharp; + var space$1 = space; + var ign$1 = ign; + var pad$1 = pad; + if (str_ind$1 === end_ind$1) { + invalid_format_message(end_ind$1, "unexpected end of format"); + } + var parse_literal = function (minus, str_ind) { + var match = parse_positive(str_ind, end_ind$1, 0); + return parse_after_precision(pct_ind$1, match[0], end_ind$1, minus, plus$1, sharp$1, space$1, ign$1, pad$1, /* Lit_precision */[match[1]]); + }; + var symb$1 = Caml_string.get(str, str_ind$1); + var exit = 0; + var exit$1 = 0; + if (symb$1 >= 48) { + if (symb$1 >= 58) { + exit = 1; + } + else { + return parse_literal(minus$1, str_ind$1); + } + } + else if (symb$1 >= 42) { + switch (symb$1 - 42 | 0) { + case 0 : + return parse_after_precision(pct_ind$1, str_ind$1 + 1 | 0, end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, pad$1, /* Arg_precision */1); + case 1 : + case 3 : + exit$1 = 2; + break; + case 2 : + case 4 : + case 5 : + exit = 1; + break; + + } + } + else { + exit = 1; + } + if (exit$1 === 2) { + if (legacy_behavior$1) { + return parse_literal(minus$1 || +(symb$1 === /* "-" */45), str_ind$1 + 1 | 0); + } + else { + exit = 1; + } + } + if (exit === 1) { + if (legacy_behavior$1) { + return parse_after_precision(pct_ind$1, str_ind$1, end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, pad$1, /* Lit_precision */[0]); + } + else { + return invalid_format_without(str_ind$1 - 1 | 0, /* "." */46, "precision"); + } + } + + } + }; + var parse_literal = function (lit_start, _str_ind, end_ind) { + while(true) { + var str_ind = _str_ind; + if (str_ind === end_ind) { + return add_literal(lit_start, str_ind, /* End_of_format */0); + } + else { + var match = Caml_string.get(str, str_ind); + if (match !== 37) { + if (match !== 64) { + _str_ind = str_ind + 1 | 0; + continue ; + + } + else { + var match$1 = parse_after_at(str_ind + 1 | 0, end_ind); + return add_literal(lit_start, str_ind, match$1[0]); + } + } + else { + var match$2 = parse_format(str_ind, end_ind); + return add_literal(lit_start, str_ind, match$2[0]); + } + } + }; + }; + var parse_format = function (pct_ind, end_ind) { + var pct_ind$1 = pct_ind; + var str_ind = pct_ind + 1 | 0; + var end_ind$1 = end_ind; + if (str_ind === end_ind$1) { + invalid_format_message(end_ind$1, "unexpected end of format"); + } + var match = Caml_string.get(str, str_ind); + if (match !== 95) { + return parse_flags(pct_ind$1, str_ind, end_ind$1, /* false */0); + } + else { + return parse_flags(pct_ind$1, str_ind + 1 | 0, end_ind$1, /* true */1); + } + }; + var parse_after_at = function (str_ind, end_ind) { + if (str_ind === end_ind) { + return /* Fmt_EBB */[/* Char_literal */Block.__(12, [ + /* "@" */64, + /* End_of_format */0 + ])]; + } + else { + var c = Caml_string.get(str, str_ind); + var exit = 0; + if (c >= 65) { + if (c >= 94) { + var switcher = c - 123 | 0; + if (switcher > 2 || switcher < 0) { + exit = 1; + } + else { + switch (switcher) { + case 0 : + return parse_tag(/* true */1, str_ind + 1 | 0, end_ind); + case 1 : + exit = 1; + break; + case 2 : + var beg_ind = str_ind + 1 | 0; + var match = parse_literal(beg_ind, beg_ind, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Close_tag */1, + match[0] + ])]; + + } + } + } + else if (c >= 91) { + switch (c - 91 | 0) { + case 0 : + return parse_tag(/* false */0, str_ind + 1 | 0, end_ind); + case 1 : + exit = 1; + break; + case 2 : + var beg_ind$1 = str_ind + 1 | 0; + var match$1 = parse_literal(beg_ind$1, beg_ind$1, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Close_box */0, + match$1[0] + ])]; + + } + } + else { + exit = 1; + } + } + else if (c !== 10) { + if (c >= 32) { + switch (c - 32 | 0) { + case 0 : + var beg_ind$2 = str_ind + 1 | 0; + var match$2 = parse_literal(beg_ind$2, beg_ind$2, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Break */Block.__(0, [ + "@ ", + 1, + 0 + ]), + match$2[0] + ])]; + case 5 : + if ((str_ind + 1 | 0) < end_ind && Caml_string.get(str, str_ind + 1 | 0) === /* "%" */37) { + var beg_ind$3 = str_ind + 2 | 0; + var match$3 = parse_literal(beg_ind$3, beg_ind$3, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Escaped_percent */6, + match$3[0] + ])]; + } + else { + var match$4 = parse_literal(str_ind, str_ind, end_ind); + return /* Fmt_EBB */[/* Char_literal */Block.__(12, [ + /* "@" */64, + match$4[0] + ])]; + } + break; + case 12 : + var beg_ind$4 = str_ind + 1 | 0; + var match$5 = parse_literal(beg_ind$4, beg_ind$4, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Break */Block.__(0, [ + "@,", + 0, + 0 + ]), + match$5[0] + ])]; + case 14 : + var beg_ind$5 = str_ind + 1 | 0; + var match$6 = parse_literal(beg_ind$5, beg_ind$5, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Flush_newline */4, + match$6[0] + ])]; + case 27 : + var str_ind$1 = str_ind + 1 | 0; + var end_ind$1 = end_ind; + var match$7; + try { + if (str_ind$1 === end_ind$1 || Caml_string.get(str, str_ind$1) !== /* "<" */60) { + throw Caml_builtin_exceptions.not_found; + } + var str_ind_1 = parse_spaces(str_ind$1 + 1 | 0, end_ind$1); + var match$8 = Caml_string.get(str, str_ind_1); + var exit$1 = 0; + if (match$8 >= 48) { + if (match$8 >= 58) { + throw Caml_builtin_exceptions.not_found; + } + else { + exit$1 = 1; + } + } + else if (match$8 !== 45) { + throw Caml_builtin_exceptions.not_found; + } + else { + exit$1 = 1; + } + if (exit$1 === 1) { + var match$9 = parse_integer(str_ind_1, end_ind$1); + var width = match$9[1]; + var str_ind_3 = parse_spaces(match$9[0], end_ind$1); + var match$10 = Caml_string.get(str, str_ind_3); + var switcher$1 = match$10 - 45 | 0; + if (switcher$1 > 12 || switcher$1 < 0) { + if (switcher$1 !== 17) { + throw Caml_builtin_exceptions.not_found; + } + else { + var s = $$String.sub(str, str_ind$1 - 2 | 0, (str_ind_3 - str_ind$1 | 0) + 3 | 0); + match$7 = /* tuple */[ + str_ind_3 + 1 | 0, + /* Break */Block.__(0, [ + s, + width, + 0 + ]) + ]; + } + } + else if (switcher$1 === 2 || switcher$1 === 1) { + throw Caml_builtin_exceptions.not_found; + } + else { + var match$11 = parse_integer(str_ind_3, end_ind$1); + var str_ind_5 = parse_spaces(match$11[0], end_ind$1); + if (Caml_string.get(str, str_ind_5) !== /* ">" */62) { + throw Caml_builtin_exceptions.not_found; + } + var s$1 = $$String.sub(str, str_ind$1 - 2 | 0, (str_ind_5 - str_ind$1 | 0) + 3 | 0); + match$7 = /* tuple */[ + str_ind_5 + 1 | 0, + /* Break */Block.__(0, [ + s$1, + width, + match$11[1] + ]) + ]; + } + } + + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + match$7 = /* tuple */[ + str_ind$1, + /* Break */Block.__(0, [ + "@;", + 1, + 0 + ]) + ]; + } + else if (exn[0] === Caml_builtin_exceptions.failure) { + match$7 = /* tuple */[ + str_ind$1, + /* Break */Block.__(0, [ + "@;", + 1, + 0 + ]) + ]; + } + else { + throw exn; + } + } + var next_ind = match$7[0]; + var match$12 = parse_literal(next_ind, next_ind, end_ind$1); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + match$7[1], + match$12[0] + ])]; + case 28 : + var str_ind$2 = str_ind + 1 | 0; + var end_ind$2 = end_ind; + var match$13; + try { + var str_ind_1$1 = parse_spaces(str_ind$2, end_ind$2); + var match$14 = Caml_string.get(str, str_ind_1$1); + var exit$2 = 0; + if (match$14 >= 48) { + if (match$14 >= 58) { + match$13 = /* None */0; + } + else { + exit$2 = 1; + } + } + else if (match$14 !== 45) { + match$13 = /* None */0; + } + else { + exit$2 = 1; + } + if (exit$2 === 1) { + var match$15 = parse_integer(str_ind_1$1, end_ind$2); + var str_ind_3$1 = parse_spaces(match$15[0], end_ind$2); + if (Caml_string.get(str, str_ind_3$1) !== /* ">" */62) { + throw Caml_builtin_exceptions.not_found; + } + var s$2 = $$String.sub(str, str_ind$2 - 2 | 0, (str_ind_3$1 - str_ind$2 | 0) + 3 | 0); + match$13 = /* Some */[/* tuple */[ + str_ind_3$1 + 1 | 0, + /* Magic_size */Block.__(1, [ + s$2, + match$15[1] + ]) + ]]; + } + + } + catch (exn$1){ + if (exn$1 === Caml_builtin_exceptions.not_found) { + match$13 = /* None */0; + } + else if (exn$1[0] === Caml_builtin_exceptions.failure) { + match$13 = /* None */0; + } + else { + throw exn$1; + } + } + if (match$13) { + var match$16 = match$13[0]; + var next_ind$1 = match$16[0]; + var match$17 = parse_literal(next_ind$1, next_ind$1, end_ind$2); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + match$16[1], + match$17[0] + ])]; + } + else { + var match$18 = parse_literal(str_ind$2, str_ind$2, end_ind$2); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Scan_indic */Block.__(2, [/* "<" */60]), + match$18[0] + ])]; + } + case 1 : + case 2 : + case 3 : + case 4 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 13 : + case 15 : + case 16 : + case 17 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 23 : + case 24 : + case 25 : + case 26 : + case 29 : + case 30 : + exit = 1; + break; + case 31 : + var beg_ind$6 = str_ind + 1 | 0; + var match$19 = parse_literal(beg_ind$6, beg_ind$6, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* FFlush */2, + match$19[0] + ])]; + case 32 : + var beg_ind$7 = str_ind + 1 | 0; + var match$20 = parse_literal(beg_ind$7, beg_ind$7, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Escaped_at */5, + match$20[0] + ])]; + + } + } + else { + exit = 1; + } + } + else { + var beg_ind$8 = str_ind + 1 | 0; + var match$21 = parse_literal(beg_ind$8, beg_ind$8, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Force_newline */3, + match$21[0] + ])]; + } + if (exit === 1) { + var beg_ind$9 = str_ind + 1 | 0; + var match$22 = parse_literal(beg_ind$9, beg_ind$9, end_ind); + return /* Fmt_EBB */[/* Formatting_lit */Block.__(17, [ + /* Scan_indic */Block.__(2, [c]), + match$22[0] + ])]; + } + + } + }; + var add_literal = function (lit_start, str_ind, fmt) { + var size = str_ind - lit_start | 0; + if (size !== 0) { + if (size !== 1) { + return /* Fmt_EBB */[/* String_literal */Block.__(11, [ + $$String.sub(str, lit_start, size), + fmt + ])]; + } + else { + return /* Fmt_EBB */[/* Char_literal */Block.__(12, [ + Caml_string.get(str, lit_start), + fmt + ])]; + } + } + else { + return /* Fmt_EBB */[fmt]; + } + }; + var parse_spaces = function (_str_ind, end_ind) { + while(true) { + var str_ind = _str_ind; + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + if (Caml_string.get(str, str_ind) === /* " " */32) { + _str_ind = str_ind + 1 | 0; + continue ; + + } + else { + return str_ind; + } + }; + }; + var parse_integer = function (str_ind, end_ind) { + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var match = Caml_string.get(str, str_ind); + if (match >= 48) { + if (match >= 58) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 2621, + 11 + ] + ]; + } + else { + return parse_positive(str_ind, end_ind, 0); + } + } + else if (match !== 45) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 2621, + 11 + ] + ]; + } + else { + if ((str_ind + 1 | 0) === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var c = Caml_string.get(str, str_ind + 1 | 0); + if (c > 57 || c < 48) { + return expected_character(str_ind + 1 | 0, "digit", c); + } + else { + var match$1 = parse_positive(str_ind + 1 | 0, end_ind, 0); + return /* tuple */[ + match$1[0], + -match$1[1] | 0 + ]; + } + } + }; + var compute_float_conv = function (pct_ind, str_ind, _plus, _space, symb) { + while(true) { + var space = _space; + var plus = _plus; + if (plus !== 0) { + if (space !== 0) { + if (legacy_behavior$1) { + _space = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, /* " " */32, "'+'"); + } + } + else { + var exit = 0; + if (symb >= 72) { + var switcher = symb - 101 | 0; + if (switcher > 2 || switcher < 0) { + exit = 1; + } + else { + switch (switcher) { + case 0 : + return /* Float_pe */4; + case 1 : + return /* Float_pf */1; + case 2 : + return /* Float_pg */10; + + } + } + } + else if (symb >= 69) { + switch (symb - 69 | 0) { + case 0 : + return /* Float_pE */7; + case 1 : + exit = 1; + break; + case 2 : + return /* Float_pG */13; + + } + } + else { + exit = 1; + } + if (exit === 1) { + if (legacy_behavior$1) { + _plus = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "'+'"); + } + } + + } + } + else if (space !== 0) { + var exit$1 = 0; + if (symb >= 72) { + var switcher$1 = symb - 101 | 0; + if (switcher$1 > 2 || switcher$1 < 0) { + exit$1 = 1; + } + else { + switch (switcher$1) { + case 0 : + return /* Float_se */5; + case 1 : + return /* Float_sf */2; + case 2 : + return /* Float_sg */11; + + } + } + } + else if (symb >= 69) { + switch (symb - 69 | 0) { + case 0 : + return /* Float_sE */8; + case 1 : + exit$1 = 1; + break; + case 2 : + return /* Float_sG */14; + + } + } + else { + exit$1 = 1; + } + if (exit$1 === 1) { + if (legacy_behavior$1) { + _space = /* false */0; + continue ; + + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "' '"); + } + } + + } + else if (symb >= 72) { + var switcher$2 = symb - 101 | 0; + if (switcher$2 > 2 || switcher$2 < 0) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 2744, + 25 + ] + ]; + } + else { + switch (switcher$2) { + case 0 : + return /* Float_e */3; + case 1 : + return /* Float_f */0; + case 2 : + return /* Float_g */9; + + } + } + } + else if (symb >= 69) { + switch (symb - 69 | 0) { + case 0 : + return /* Float_E */6; + case 1 : + return /* Float_F */15; + case 2 : + return /* Float_G */12; + + } + } + else { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 2744, + 25 + ] + ]; + } + }; + }; + var search_subformat_end = function (_str_ind, end_ind, c) { + while(true) { + var str_ind = _str_ind; + if (str_ind === end_ind) { + Curry._3(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ': unclosed sub-format, expected "', + /* Char_literal */Block.__(12, [ + /* "%" */37, + /* Char */Block.__(0, [/* String_literal */Block.__(11, [ + '" at character number ', + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* End_of_format */0 + ]) + ])]) + ]) + ]) + ]) + ]), + 'invalid format %S: unclosed sub-format, expected "%%%c" at character number %d' + ]), str, c, end_ind); + } + var match = Caml_string.get(str, str_ind); + if (match !== 37) { + _str_ind = str_ind + 1 | 0; + continue ; + + } + else { + if ((str_ind + 1 | 0) === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + if (Caml_string.get(str, str_ind + 1 | 0) === c) { + return str_ind; + } + else { + var match$1 = Caml_string.get(str, str_ind + 1 | 0); + var exit = 0; + if (match$1 >= 95) { + if (match$1 >= 123) { + if (match$1 >= 126) { + exit = 1; + } + else { + switch (match$1 - 123 | 0) { + case 0 : + var sub_end = search_subformat_end(str_ind + 2 | 0, end_ind, /* "}" */125); + _str_ind = sub_end + 2 | 0; + continue ; + case 1 : + exit = 1; + break; + case 2 : + return expected_character(str_ind + 1 | 0, "character ')'", /* "}" */125); + + } + } + } + else if (match$1 >= 96) { + exit = 1; + } + else { + if ((str_ind + 2 | 0) === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var match$2 = Caml_string.get(str, str_ind + 2 | 0); + if (match$2 !== 40) { + if (match$2 !== 123) { + _str_ind = str_ind + 3 | 0; + continue ; + + } + else { + var sub_end$1 = search_subformat_end(str_ind + 3 | 0, end_ind, /* "}" */125); + _str_ind = sub_end$1 + 2 | 0; + continue ; + + } + } + else { + var sub_end$2 = search_subformat_end(str_ind + 3 | 0, end_ind, /* ")" */41); + _str_ind = sub_end$2 + 2 | 0; + continue ; + + } + } + } + else if (match$1 !== 40) { + if (match$1 !== 41) { + exit = 1; + } + else { + return expected_character(str_ind + 1 | 0, "character '}'", /* ")" */41); + } + } + else { + var sub_end$3 = search_subformat_end(str_ind + 2 | 0, end_ind, /* ")" */41); + _str_ind = sub_end$3 + 2 | 0; + continue ; + + } + if (exit === 1) { + _str_ind = str_ind + 2 | 0; + continue ; + + } + + } + } + }; + }; + var parse_conversion = function (pct_ind, str_ind, end_ind, plus, sharp, space, ign, pad, prec, padprec, symb) { + var plus_used = /* false */0; + var sharp_used = /* false */0; + var space_used = /* false */0; + var ign_used = [/* false */0]; + var pad_used = /* false */0; + var prec_used = [/* false */0]; + var check_no_0 = function (symb, pad) { + if (typeof pad === "number") { + return pad; + } + else if (pad.tag) { + if (pad[0] >= 2) { + if (legacy_behavior$1) { + return /* Arg_padding */Block.__(1, [/* Right */1]); + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "0"); + } + } + else { + return pad; + } + } + else if (pad[0] >= 2) { + if (legacy_behavior$1) { + return /* Lit_padding */Block.__(0, [ + /* Right */1, + pad[1] + ]); + } + else { + return incompatible_flag(pct_ind, str_ind, symb, "0"); + } + } + else { + return pad; + } + }; + var opt_of_pad = function (c, pad) { + if (typeof pad === "number") { + return /* None */0; + } + else if (pad.tag) { + return incompatible_flag(pct_ind, str_ind, c, "'*'"); + } + else { + switch (pad[0]) { + case 0 : + if (legacy_behavior$1) { + return /* Some */[pad[1]]; + } + else { + return incompatible_flag(pct_ind, str_ind, c, "'-'"); + } + case 1 : + return /* Some */[pad[1]]; + case 2 : + if (legacy_behavior$1) { + return /* Some */[pad[1]]; + } + else { + return incompatible_flag(pct_ind, str_ind, c, "'0'"); + } + + } + } + }; + var get_prec_opt = function () { + prec_used[0] = /* true */1; + if (typeof prec === "number") { + if (prec !== 0) { + return incompatible_flag(pct_ind, str_ind, /* "_" */95, "'*'"); + } + else { + return /* None */0; + } + } + else { + return /* Some */[prec[0]]; + } + }; + var fmt_result; + var exit = 0; + var exit$1 = 0; + var exit$2 = 0; + if (symb >= 124) { + exit$1 = 6; + } + else { + switch (symb) { + case 33 : + var match = parse_literal(str_ind, str_ind, end_ind); + fmt_result = /* Fmt_EBB */[/* Flush */Block.__(10, [match[0]])]; + break; + case 40 : + var sub_end = search_subformat_end(str_ind, end_ind, /* ")" */41); + var beg_ind = sub_end + 2 | 0; + var match$1 = parse_literal(beg_ind, beg_ind, end_ind); + var fmt_rest = match$1[0]; + var match$2 = parse_literal(str_ind, str_ind, sub_end); + var sub_fmtty = fmtty_of_fmt(match$2[0]); + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_000 = opt_of_pad(/* "_" */95, pad); + var ignored = /* Ignored_format_subst */Block.__(8, [ + ignored_000, + sub_fmtty + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored, + fmt_rest + ])]; + } + else { + pad_used = /* true */1; + fmt_result = /* Fmt_EBB */[/* Format_subst */Block.__(14, [ + opt_of_pad(/* "(" */40, pad), + sub_fmtty, + fmt_rest + ])]; + } + break; + case 44 : + fmt_result = parse_literal(str_ind, str_ind, end_ind); + break; + case 37 : + case 64 : + exit$1 = 4; + break; + case 67 : + var match$3 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$1 = match$3[0]; + fmt_result = (ign_used[0] = /* true */1, ign) ? /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + /* Ignored_caml_char */1, + fmt_rest$1 + ])] : /* Fmt_EBB */[/* Caml_char */Block.__(1, [fmt_rest$1])]; + break; + case 78 : + var match$4 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$2 = match$4[0]; + if (ign_used[0] = /* true */1, ign) { + var ignored$1 = /* Ignored_scan_get_counter */Block.__(10, [/* Token_counter */2]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$1, + fmt_rest$2 + ])]; + } + else { + fmt_result = /* Fmt_EBB */[/* Scan_get_counter */Block.__(21, [ + /* Token_counter */2, + fmt_rest$2 + ])]; + } + break; + case 83 : + pad_used = /* true */1; + var pad$1 = check_no_0(symb, padprec); + var match$5 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$3 = match$5[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored$2 = /* Ignored_caml_string */Block.__(1, [opt_of_pad(/* "_" */95, padprec)]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$2, + fmt_rest$3 + ])]; + } + else { + var match$6 = make_padding_fmt_ebb(pad$1, fmt_rest$3); + fmt_result = /* Fmt_EBB */[/* Caml_string */Block.__(3, [ + match$6[0], + match$6[1] + ])]; + } + break; + case 91 : + var match$7 = parse_char_set(str_ind, end_ind); + var char_set = match$7[1]; + var next_ind = match$7[0]; + var match$8 = parse_literal(next_ind, next_ind, end_ind); + var fmt_rest$4 = match$8[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_000$1 = opt_of_pad(/* "_" */95, pad); + var ignored$3 = /* Ignored_scan_char_set */Block.__(9, [ + ignored_000$1, + char_set + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$3, + fmt_rest$4 + ])]; + } + else { + pad_used = /* true */1; + fmt_result = /* Fmt_EBB */[/* Scan_char_set */Block.__(20, [ + opt_of_pad(/* "[" */91, pad), + char_set, + fmt_rest$4 + ])]; + } + break; + case 32 : + case 35 : + case 43 : + case 45 : + case 95 : + exit$1 = 5; + break; + case 97 : + var match$9 = parse_literal(str_ind, str_ind, end_ind); + fmt_result = /* Fmt_EBB */[/* Alpha */Block.__(15, [match$9[0]])]; + break; + case 66 : + case 98 : + exit$1 = 3; + break; + case 99 : + var char_format = function (fmt_rest) { + if (ign_used[0] = /* true */1, ign) { + return /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + /* Ignored_char */0, + fmt_rest + ])]; + } + else { + return /* Fmt_EBB */[/* Char */Block.__(0, [fmt_rest])]; + } + }; + var scan_format = function (fmt_rest) { + if (ign_used[0] = /* true */1, ign) { + return /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + /* Ignored_scan_next_char */4, + fmt_rest + ])]; + } + else { + return /* Fmt_EBB */[/* Scan_next_char */Block.__(22, [fmt_rest])]; + } + }; + var match$10 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$5 = match$10[0]; + pad_used = /* true */1; + var match$11 = opt_of_pad(/* "c" */99, pad); + fmt_result = match$11 ? ( + match$11[0] !== 0 ? ( + legacy_behavior$1 ? char_format(fmt_rest$5) : invalid_format_message(str_ind, "non-zero widths are unsupported for %c conversions") + ) : scan_format(fmt_rest$5) + ) : char_format(fmt_rest$5); + break; + case 69 : + case 70 : + case 71 : + case 101 : + case 102 : + case 103 : + exit$1 = 2; + break; + case 76 : + case 108 : + case 110 : + exit$2 = 8; + break; + case 114 : + var match$12 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$6 = match$12[0]; + fmt_result = (ign_used[0] = /* true */1, ign) ? /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + /* Ignored_reader */3, + fmt_rest$6 + ])] : /* Fmt_EBB */[/* Reader */Block.__(19, [fmt_rest$6])]; + break; + case 115 : + pad_used = /* true */1; + var pad$2 = check_no_0(symb, padprec); + var match$13 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$7 = match$13[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored$4 = /* Ignored_string */Block.__(0, [opt_of_pad(/* "_" */95, padprec)]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$4, + fmt_rest$7 + ])]; + } + else { + var match$14 = make_padding_fmt_ebb(pad$2, fmt_rest$7); + fmt_result = /* Fmt_EBB */[/* String */Block.__(2, [ + match$14[0], + match$14[1] + ])]; + } + break; + case 116 : + var match$15 = parse_literal(str_ind, str_ind, end_ind); + fmt_result = /* Fmt_EBB */[/* Theta */Block.__(16, [match$15[0]])]; + break; + case 88 : + case 100 : + case 105 : + case 111 : + case 117 : + case 120 : + exit$2 = 7; + break; + case 0 : + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 12 : + case 13 : + case 14 : + case 15 : + case 16 : + case 17 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 23 : + case 24 : + case 25 : + case 26 : + case 27 : + case 28 : + case 29 : + case 30 : + case 31 : + case 34 : + case 36 : + case 38 : + case 39 : + case 41 : + case 42 : + case 46 : + case 47 : + case 48 : + case 49 : + case 50 : + case 51 : + case 52 : + case 53 : + case 54 : + case 55 : + case 56 : + case 57 : + case 58 : + case 59 : + case 60 : + case 61 : + case 62 : + case 63 : + case 65 : + case 68 : + case 72 : + case 73 : + case 74 : + case 75 : + case 77 : + case 79 : + case 80 : + case 81 : + case 82 : + case 84 : + case 85 : + case 86 : + case 87 : + case 89 : + case 90 : + case 92 : + case 93 : + case 94 : + case 96 : + case 104 : + case 106 : + case 107 : + case 109 : + case 112 : + case 113 : + case 118 : + case 119 : + case 121 : + case 122 : + exit$1 = 6; + break; + case 123 : + var sub_end$1 = search_subformat_end(str_ind, end_ind, /* "}" */125); + var match$16 = parse_literal(str_ind, str_ind, sub_end$1); + var beg_ind$1 = sub_end$1 + 2 | 0; + var match$17 = parse_literal(beg_ind$1, beg_ind$1, end_ind); + var fmt_rest$8 = match$17[0]; + var sub_fmtty$1 = fmtty_of_fmt(match$16[0]); + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_000$2 = opt_of_pad(/* "_" */95, pad); + var ignored$5 = /* Ignored_format_arg */Block.__(7, [ + ignored_000$2, + sub_fmtty$1 + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$5, + fmt_rest$8 + ])]; + } + else { + pad_used = /* true */1; + fmt_result = /* Fmt_EBB */[/* Format_arg */Block.__(13, [ + opt_of_pad(/* "{" */123, pad), + sub_fmtty$1, + fmt_rest$8 + ])]; + } + break; + + } + } + switch (exit$2) { + case 7 : + plus_used = /* true */1; + sharp_used = /* true */1; + space_used = /* true */1; + var iconv = compute_int_conv(pct_ind, str_ind, plus, sharp, space, symb); + var match$18 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$9 = match$18[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_001 = opt_of_pad(/* "_" */95, pad); + var ignored$6 = /* Ignored_int */Block.__(2, [ + iconv, + ignored_001 + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$6, + fmt_rest$9 + ])]; + } + else { + pad_used = /* true */1; + prec_used[0] = /* true */1; + var pad$3; + var exit$3 = 0; + if (typeof prec === "number" && prec === 0) { + pad$3 = pad; + } + else { + exit$3 = 9; + } + if (exit$3 === 9) { + pad$3 = typeof pad === "number" ? /* No_padding */0 : ( + pad.tag ? ( + pad[0] >= 2 ? ( + legacy_behavior$1 ? /* Arg_padding */Block.__(1, [/* Right */1]) : incompatible_flag(pct_ind, str_ind, /* "0" */48, "precision") + ) : pad + ) : ( + pad[0] >= 2 ? ( + legacy_behavior$1 ? /* Lit_padding */Block.__(0, [ + /* Right */1, + pad[1] + ]) : incompatible_flag(pct_ind, str_ind, /* "0" */48, "precision") + ) : pad + ) + ); + } + var match$19 = make_padprec_fmt_ebb(pad$3, (prec_used[0] = /* true */1, prec), fmt_rest$9); + fmt_result = /* Fmt_EBB */[/* Int */Block.__(4, [ + iconv, + match$19[0], + match$19[1], + match$19[2] + ])]; + } + break; + case 8 : + if (str_ind === end_ind || !is_int_base(Caml_string.get(str, str_ind))) { + var match$20 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$10 = match$20[0]; + var counter = counter_of_char(symb); + if (ign_used[0] = /* true */1, ign) { + var ignored$7 = /* Ignored_scan_get_counter */Block.__(10, [counter]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$7, + fmt_rest$10 + ])]; + } + else { + fmt_result = /* Fmt_EBB */[/* Scan_get_counter */Block.__(21, [ + counter, + fmt_rest$10 + ])]; + } + } + else { + exit$1 = 6; + } + break; + + } + switch (exit$1) { + case 2 : + plus_used = /* true */1; + space_used = /* true */1; + var fconv = compute_float_conv(pct_ind, str_ind, plus, space, symb); + var match$21 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$11 = match$21[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_000$3 = opt_of_pad(/* "_" */95, pad); + var ignored_001$1 = get_prec_opt(/* () */0); + var ignored$8 = /* Ignored_float */Block.__(6, [ + ignored_000$3, + ignored_001$1 + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$8, + fmt_rest$11 + ])]; + } + else { + pad_used = /* true */1; + var match$22 = make_padprec_fmt_ebb(pad, (prec_used[0] = /* true */1, prec), fmt_rest$11); + fmt_result = /* Fmt_EBB */[/* Float */Block.__(8, [ + fconv, + match$22[0], + match$22[1], + match$22[2] + ])]; + } + break; + case 3 : + var match$23 = parse_literal(str_ind, str_ind, end_ind); + var fmt_rest$12 = match$23[0]; + fmt_result = (ign_used[0] = /* true */1, ign) ? /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + /* Ignored_bool */2, + fmt_rest$12 + ])] : /* Fmt_EBB */[/* Bool */Block.__(9, [fmt_rest$12])]; + break; + case 4 : + var match$24 = parse_literal(str_ind, str_ind, end_ind); + fmt_result = /* Fmt_EBB */[/* Char_literal */Block.__(12, [ + symb, + match$24[0] + ])]; + break; + case 5 : + fmt_result = Curry._3(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ", flag ", + /* Caml_char */Block.__(1, [/* String_literal */Block.__(11, [ + " is only allowed after the '", + /* Char_literal */Block.__(12, [ + /* "%" */37, + /* String_literal */Block.__(11, [ + "', before padding and precision", + /* End_of_format */0 + ]) + ]) + ])]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: at character number %d, flag %C is only allowed after the '%%', before padding and precision" + ]), str, pct_ind, symb); + break; + case 6 : + if (symb >= 108) { + if (symb >= 111) { + exit = 1; + } + else { + switch (symb - 108 | 0) { + case 0 : + plus_used = /* true */1; + sharp_used = /* true */1; + space_used = /* true */1; + var iconv$1 = compute_int_conv(pct_ind, str_ind + 1 | 0, plus, sharp, space, Caml_string.get(str, str_ind)); + var beg_ind$2 = str_ind + 1 | 0; + var match$25 = parse_literal(beg_ind$2, beg_ind$2, end_ind); + var fmt_rest$13 = match$25[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_001$2 = opt_of_pad(/* "_" */95, pad); + var ignored$9 = /* Ignored_int32 */Block.__(3, [ + iconv$1, + ignored_001$2 + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$9, + fmt_rest$13 + ])]; + } + else { + pad_used = /* true */1; + var match$26 = make_padprec_fmt_ebb(pad, (prec_used[0] = /* true */1, prec), fmt_rest$13); + fmt_result = /* Fmt_EBB */[/* Int32 */Block.__(5, [ + iconv$1, + match$26[0], + match$26[1], + match$26[2] + ])]; + } + break; + case 1 : + exit = 1; + break; + case 2 : + plus_used = /* true */1; + sharp_used = /* true */1; + space_used = /* true */1; + var iconv$2 = compute_int_conv(pct_ind, str_ind + 1 | 0, plus, sharp, space, Caml_string.get(str, str_ind)); + var beg_ind$3 = str_ind + 1 | 0; + var match$27 = parse_literal(beg_ind$3, beg_ind$3, end_ind); + var fmt_rest$14 = match$27[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_001$3 = opt_of_pad(/* "_" */95, pad); + var ignored$10 = /* Ignored_nativeint */Block.__(4, [ + iconv$2, + ignored_001$3 + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$10, + fmt_rest$14 + ])]; + } + else { + pad_used = /* true */1; + var match$28 = make_padprec_fmt_ebb(pad, (prec_used[0] = /* true */1, prec), fmt_rest$14); + fmt_result = /* Fmt_EBB */[/* Nativeint */Block.__(6, [ + iconv$2, + match$28[0], + match$28[1], + match$28[2] + ])]; + } + break; + + } + } + } + else if (symb !== 76) { + exit = 1; + } + else { + plus_used = /* true */1; + sharp_used = /* true */1; + space_used = /* true */1; + var iconv$3 = compute_int_conv(pct_ind, str_ind + 1 | 0, plus, sharp, space, Caml_string.get(str, str_ind)); + var beg_ind$4 = str_ind + 1 | 0; + var match$29 = parse_literal(beg_ind$4, beg_ind$4, end_ind); + var fmt_rest$15 = match$29[0]; + if (ign_used[0] = /* true */1, ign) { + pad_used = /* true */1; + var ignored_001$4 = opt_of_pad(/* "_" */95, pad); + var ignored$11 = /* Ignored_int64 */Block.__(5, [ + iconv$3, + ignored_001$4 + ]); + fmt_result = /* Fmt_EBB */[/* Ignored_param */Block.__(23, [ + ignored$11, + fmt_rest$15 + ])]; + } + else { + pad_used = /* true */1; + var match$30 = make_padprec_fmt_ebb(pad, (prec_used[0] = /* true */1, prec), fmt_rest$15); + fmt_result = /* Fmt_EBB */[/* Int64 */Block.__(7, [ + iconv$3, + match$30[0], + match$30[1], + match$30[2] + ])]; + } + } + break; + + } + if (exit === 1) { + fmt_result = Curry._3(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ', invalid conversion "', + /* Char_literal */Block.__(12, [ + /* "%" */37, + /* Char */Block.__(0, [/* Char_literal */Block.__(12, [ + /* "\"" */34, + /* End_of_format */0 + ])]) + ]) + ]) + ]) + ]) + ]) + ]), + 'invalid format %S: at character number %d, invalid conversion "%%%c"' + ]), str, str_ind - 1 | 0, symb); + } + if (!legacy_behavior$1) { + if (!plus_used && plus) { + incompatible_flag(pct_ind, str_ind, symb, "'+'"); + } + if (!sharp_used && sharp) { + incompatible_flag(pct_ind, str_ind, symb, "'#'"); + } + if (!space_used && space) { + incompatible_flag(pct_ind, str_ind, symb, "' '"); + } + if (!pad_used && Caml_obj.caml_notequal(/* Padding_EBB */[pad], /* Padding_EBB */[/* No_padding */0])) { + incompatible_flag(pct_ind, str_ind, symb, "`padding'"); + } + if (!prec_used[0] && Caml_obj.caml_notequal(/* Precision_EBB */[prec], /* Precision_EBB */[/* No_precision */0])) { + incompatible_flag(pct_ind, str_ind, ign ? /* "_" */95 : symb, "`precision'"); + } + if (ign && plus) { + incompatible_flag(pct_ind, str_ind, /* "_" */95, "'+'"); + } + + } + if (!ign_used[0] && ign) { + var exit$4 = 0; + if (symb >= 38) { + if (symb !== 44) { + if (symb !== 64) { + exit$4 = 1; + } + else if (!legacy_behavior$1) { + exit$4 = 1; + } + + } + else if (!legacy_behavior$1) { + exit$4 = 1; + } + + } + else if (symb !== 33) { + if (symb >= 37) { + if (!legacy_behavior$1) { + exit$4 = 1; + } + + } + else { + exit$4 = 1; + } + } + else if (!legacy_behavior$1) { + exit$4 = 1; + } + if (exit$4 === 1) { + incompatible_flag(pct_ind, str_ind, symb, "'_'"); + } + + } + return fmt_result; + }; + var parse_flags = function (pct_ind, str_ind, end_ind, ign) { + var zero = [/* false */0]; + var minus = [/* false */0]; + var plus = [/* false */0]; + var space = [/* false */0]; + var sharp = [/* false */0]; + var set_flag = function (str_ind, flag) { + if (flag[0] && !legacy_behavior$1) { + Curry._3(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": at character number ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* String_literal */Block.__(11, [ + ", duplicate flag ", + /* Caml_char */Block.__(1, [/* End_of_format */0]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: at character number %d, duplicate flag %C" + ]), str, str_ind, Caml_string.get(str, str_ind)); + } + flag[0] = /* true */1; + return /* () */0; + }; + var _str_ind = str_ind; + while(true) { + var str_ind$1 = _str_ind; + if (str_ind$1 === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var match = Caml_string.get(str, str_ind$1); + var exit = 0; + var switcher = match - 32 | 0; + if (switcher > 16 || switcher < 0) { + exit = 1; + } + else { + switch (switcher) { + case 0 : + set_flag(str_ind$1, space); + _str_ind = str_ind$1 + 1 | 0; + continue ; + case 3 : + set_flag(str_ind$1, sharp); + _str_ind = str_ind$1 + 1 | 0; + continue ; + case 11 : + set_flag(str_ind$1, plus); + _str_ind = str_ind$1 + 1 | 0; + continue ; + case 13 : + set_flag(str_ind$1, minus); + _str_ind = str_ind$1 + 1 | 0; + continue ; + case 1 : + case 2 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 12 : + case 14 : + case 15 : + exit = 1; + break; + case 16 : + set_flag(str_ind$1, zero); + _str_ind = str_ind$1 + 1 | 0; + continue ; + + } + } + if (exit === 1) { + var pct_ind$1 = pct_ind; + var str_ind$2 = str_ind$1; + var end_ind$1 = end_ind; + var zero$1 = zero[0]; + var minus$1 = minus[0]; + var plus$1 = plus[0]; + var sharp$1 = sharp[0]; + var space$1 = space[0]; + var ign$1 = ign; + if (str_ind$2 === end_ind$1) { + invalid_format_message(end_ind$1, "unexpected end of format"); + } + var padty = zero$1 !== 0 ? ( + minus$1 !== 0 ? ( + legacy_behavior$1 ? /* Left */0 : incompatible_flag(pct_ind$1, str_ind$2, /* "-" */45, "0") + ) : /* Zeros */2 + ) : ( + minus$1 !== 0 ? /* Left */0 : /* Right */1 + ); + var match$1 = Caml_string.get(str, str_ind$2); + var exit$1 = 0; + if (match$1 >= 48) { + if (match$1 >= 58) { + exit$1 = 1; + } + else { + var match$2 = parse_positive(str_ind$2, end_ind$1, 0); + return parse_after_padding(pct_ind$1, match$2[0], end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, /* Lit_padding */Block.__(0, [ + padty, + match$2[1] + ])); + } + } + else if (match$1 !== 42) { + exit$1 = 1; + } + else { + return parse_after_padding(pct_ind$1, str_ind$2 + 1 | 0, end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, /* Arg_padding */Block.__(1, [padty])); + } + if (exit$1 === 1) { + switch (padty) { + case 0 : + if (!legacy_behavior$1) { + invalid_format_without(str_ind$2 - 1 | 0, /* "-" */45, "padding"); + } + return parse_after_padding(pct_ind$1, str_ind$2, end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, /* No_padding */0); + case 1 : + return parse_after_padding(pct_ind$1, str_ind$2, end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, /* No_padding */0); + case 2 : + return parse_after_padding(pct_ind$1, str_ind$2, end_ind$1, minus$1, plus$1, sharp$1, space$1, ign$1, /* Lit_padding */Block.__(0, [ + /* Right */1, + 0 + ])); + + } + } + + } + + }; + }; + var is_int_base = function (symb) { + var switcher = symb - 88 | 0; + if (switcher > 32 || switcher < 0) { + return /* false */0; + } + else { + switch (switcher) { + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 11 : + case 13 : + case 14 : + case 15 : + case 16 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 24 : + case 25 : + case 26 : + case 27 : + case 28 : + case 30 : + case 31 : + return /* false */0; + case 0 : + case 12 : + case 17 : + case 23 : + case 29 : + case 32 : + return /* true */1; + + } + } + }; + var counter_of_char = function (symb) { + var exit = 0; + if (symb >= 108) { + if (symb >= 111) { + exit = 1; + } + else { + switch (symb - 108 | 0) { + case 0 : + return /* Line_counter */0; + case 1 : + exit = 1; + break; + case 2 : + return /* Char_counter */1; + + } + } + } + else if (symb !== 76) { + exit = 1; + } + else { + return /* Token_counter */2; + } + if (exit === 1) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "camlinternalFormat.ml", + 2683, + 34 + ] + ]; + } + + }; + var parse_char_set = function (str_ind, end_ind) { + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var char_set = Bytes.make(32, /* "\000" */0); + var add_range = function (c, c$prime) { + for(var i = c; i <= c$prime; ++i){ + add_in_char_set(char_set, Pervasives.char_of_int(i)); + } + return /* () */0; + }; + var fail_single_percent = function (str_ind) { + return Curry._2(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "invalid format ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + ": '", + /* Char_literal */Block.__(12, [ + /* "%" */37, + /* String_literal */Block.__(11, [ + "' alone is not accepted in character sets, use ", + /* Char_literal */Block.__(12, [ + /* "%" */37, + /* Char_literal */Block.__(12, [ + /* "%" */37, + /* String_literal */Block.__(11, [ + " instead at position ", + /* Int */Block.__(4, [ + /* Int_d */0, + /* No_padding */0, + /* No_precision */0, + /* Char_literal */Block.__(12, [ + /* "." */46, + /* End_of_format */0 + ]) + ]) + ]) + ]) + ]) + ]) + ]) + ]) + ]) + ]), + "invalid format %S: '%%' alone is not accepted in character sets, use %%%% instead at position %d." + ]), str, str_ind); + }; + var parse_char_set_after_char = function (_str_ind, end_ind, _c) { + while(true) { + var c = _c; + var str_ind = _str_ind; + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var c$prime = Caml_string.get(str, str_ind); + var exit = 0; + var exit$1 = 0; + if (c$prime >= 46) { + if (c$prime !== 64) { + if (c$prime !== 93) { + exit = 1; + } + else { + add_in_char_set(char_set, c); + return str_ind + 1 | 0; + } + } + else { + exit$1 = 2; + } + } + else if (c$prime !== 37) { + if (c$prime >= 45) { + var str_ind$1 = str_ind + 1 | 0; + var end_ind$1 = end_ind; + var c$1 = c; + if (str_ind$1 === end_ind$1) { + invalid_format_message(end_ind$1, "unexpected end of format"); + } + var c$prime$1 = Caml_string.get(str, str_ind$1); + if (c$prime$1 !== 37) { + if (c$prime$1 !== 93) { + add_range(c$1, c$prime$1); + return parse_char_set_content(str_ind$1 + 1 | 0, end_ind$1); + } + else { + add_in_char_set(char_set, c$1); + add_in_char_set(char_set, /* "-" */45); + return str_ind$1 + 1 | 0; + } + } + else { + if ((str_ind$1 + 1 | 0) === end_ind$1) { + invalid_format_message(end_ind$1, "unexpected end of format"); + } + var c$prime$2 = Caml_string.get(str, str_ind$1 + 1 | 0); + var exit$2 = 0; + if (c$prime$2 !== 37) { + if (c$prime$2 !== 64) { + return fail_single_percent(str_ind$1); + } + else { + exit$2 = 1; + } + } + else { + exit$2 = 1; + } + if (exit$2 === 1) { + add_range(c$1, c$prime$2); + return parse_char_set_content(str_ind$1 + 2 | 0, end_ind$1); + } + + } + } + else { + exit = 1; + } + } + else { + exit$1 = 2; + } + if (exit$1 === 2) { + if (c === /* "%" */37) { + add_in_char_set(char_set, c$prime); + return parse_char_set_content(str_ind + 1 | 0, end_ind); + } + else { + exit = 1; + } + } + if (exit === 1) { + if (c === /* "%" */37) { + fail_single_percent(str_ind); + } + add_in_char_set(char_set, c); + _c = c$prime; + _str_ind = str_ind + 1 | 0; + continue ; + + } + + }; + }; + var parse_char_set_content = function (_str_ind, end_ind) { + while(true) { + var str_ind = _str_ind; + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var c = Caml_string.get(str, str_ind); + if (c !== 45) { + if (c !== 93) { + return parse_char_set_after_char(str_ind + 1 | 0, end_ind, c); + } + else { + return str_ind + 1 | 0; + } + } + else { + add_in_char_set(char_set, /* "-" */45); + _str_ind = str_ind + 1 | 0; + continue ; + + } + }; + }; + var parse_char_set_start = function (str_ind, end_ind) { + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var c = Caml_string.get(str, str_ind); + return parse_char_set_after_char(str_ind + 1 | 0, end_ind, c); + }; + if (str_ind === end_ind) { + invalid_format_message(end_ind, "unexpected end of format"); + } + var match = Caml_string.get(str, str_ind); + var match$1 = match !== 94 ? /* tuple */[ + str_ind, + /* false */0 + ] : /* tuple */[ + str_ind + 1 | 0, + /* true */1 + ]; + var next_ind = parse_char_set_start(match$1[0], end_ind); + var char_set$1 = Bytes.to_string(char_set); + return /* tuple */[ + next_ind, + match$1[1] ? rev_char_set(char_set$1) : char_set$1 + ]; + }; + var check_open_box = function (fmt) { + if (typeof fmt === "number") { + return /* () */0; + } + else if (fmt.tag === 11) { + if (typeof fmt[1] === "number") { + try { + open_box_of_string(fmt[0]); + return /* () */0; + } + catch (exn){ + if (exn[0] === Caml_builtin_exceptions.failure) { + return /* () */0; + } + else { + throw exn; + } + } + } + else { + return /* () */0; + } + } + else { + return /* () */0; + } + }; + var parse_tag = function (is_open_tag, str_ind, end_ind) { + try { + if (str_ind === end_ind) { + throw Caml_builtin_exceptions.not_found; + } + var match = Caml_string.get(str, str_ind); + if (match !== 60) { + throw Caml_builtin_exceptions.not_found; + } + else { + var ind = $$String.index_from(str, str_ind + 1 | 0, /* ">" */62); + if (ind >= end_ind) { + throw Caml_builtin_exceptions.not_found; + } + var sub_str = $$String.sub(str, str_ind, (ind - str_ind | 0) + 1 | 0); + var beg_ind = ind + 1 | 0; + var match$1 = parse_literal(beg_ind, beg_ind, end_ind); + var match$2 = parse_literal(str_ind, str_ind, ind + 1 | 0); + var sub_fmt = match$2[0]; + var sub_format = /* Format */[ + sub_fmt, + sub_str + ]; + var formatting = is_open_tag ? /* Open_tag */Block.__(0, [sub_format]) : (check_open_box(sub_fmt), /* Open_box */Block.__(1, [sub_format])); + return /* Fmt_EBB */[/* Formatting_gen */Block.__(18, [ + formatting, + match$1[0] + ])]; + } + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + var match$3 = parse_literal(str_ind, str_ind, end_ind); + var sub_format$1 = /* Format */[ + /* End_of_format */0, + "" + ]; + var formatting$1 = is_open_tag ? /* Open_tag */Block.__(0, [sub_format$1]) : /* Open_box */Block.__(1, [sub_format$1]); + return /* Fmt_EBB */[/* Formatting_gen */Block.__(18, [ + formatting$1, + match$3[0] + ])]; + } + else { + throw exn; + } + } + }; + return parse_literal(0, 0, str.length); +} + +function format_of_string_fmtty(str, fmtty) { + var match = fmt_ebb_of_string(/* None */0, str); + try { + return /* Format */[ + type_format(match[0], fmtty), + str + ]; + } + catch (exn){ + if (exn === Type_mismatch) { + return Curry._2(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "bad input: format type mismatch between ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + " and ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* End_of_format */0 + ]) + ]) + ]) + ]), + "bad input: format type mismatch between %S and %S" + ]), str, string_of_fmtty(fmtty)); + } + else { + throw exn; + } + } +} + +function format_of_string_format(str, param) { + var match = fmt_ebb_of_string(/* None */0, str); + try { + return /* Format */[ + type_format(match[0], fmtty_of_fmt(param[0])), + str + ]; + } + catch (exn){ + if (exn === Type_mismatch) { + return Curry._2(failwith_message(/* Format */[ + /* String_literal */Block.__(11, [ + "bad input: format type mismatch between ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* String_literal */Block.__(11, [ + " and ", + /* Caml_string */Block.__(3, [ + /* No_padding */0, + /* End_of_format */0 + ]) + ]) + ]) + ]), + "bad input: format type mismatch between %S and %S" + ]), str, param[1]); + } + else { + throw exn; + } + } +} + +exports.is_in_char_set = is_in_char_set; +exports.rev_char_set = rev_char_set; +exports.create_char_set = create_char_set; +exports.add_in_char_set = add_in_char_set; +exports.freeze_char_set = freeze_char_set; +exports.param_format_of_ignored_format = param_format_of_ignored_format; +exports.make_printf = make_printf; +exports.output_acc = output_acc; +exports.bufput_acc = bufput_acc; +exports.strput_acc = strput_acc; +exports.type_format = type_format; +exports.fmt_ebb_of_string = fmt_ebb_of_string; +exports.format_of_string_fmtty = format_of_string_fmtty; +exports.format_of_string_format = format_of_string_format; +exports.char_of_iconv = char_of_iconv; +exports.string_of_formatting_lit = string_of_formatting_lit; +exports.string_of_formatting_gen = string_of_formatting_gen; +exports.string_of_fmtty = string_of_fmtty; +exports.string_of_fmt = string_of_fmt; +exports.open_box_of_string = open_box_of_string; +exports.symm = symm; +exports.trans = trans; +exports.recast = recast; +/* No side effect */ +//////// end of camlinternalFormat.js //////// +    return exports; +  }; + + + _registry['caml_io'] = function() { +    let exports = {}; +//////// start of caml_io.js //////// +'use strict'; + +var Curry = require("./curry"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function $caret(prim, prim$1) { + return prim + prim$1; +} + +var stdin = undefined; + +var stdout = /* record */[ + /* buffer */"", + /* output */function (_, s) { + var v = s.length - 1 | 0; + if (( (typeof process !== "undefined") && process.stdout && process.stdout.write)) { + return ( process.stdout.write )(s); + } + else if (s[v] === "\n") { + console.log(s.slice(0, v)); + return /* () */0; + } + else { + console.log(s); + return /* () */0; + } + } +]; + +var stderr = /* record */[ + /* buffer */"", + /* output */function (_, s) { + var v = s.length - 1 | 0; + if (s[v] === "\n") { + console.log(s.slice(0, v)); + return /* () */0; + } + else { + console.log(s); + return /* () */0; + } + } +]; + +function caml_ml_open_descriptor_in() { + throw [ + Caml_builtin_exceptions.failure, + "caml_ml_open_descriptor_in not implemented" + ]; +} + +function caml_ml_open_descriptor_out() { + throw [ + Caml_builtin_exceptions.failure, + "caml_ml_open_descriptor_out not implemented" + ]; +} + +function caml_ml_flush(oc) { + if (oc[/* buffer */0] !== "") { + Curry._2(oc[/* output */1], oc, oc[/* buffer */0]); + oc[/* buffer */0] = ""; + return /* () */0; + } + else { + return 0; + } +} + +var node_std_output = (function (s){ + return (typeof process !== "undefined") && process.stdout && (process.stdout.write(s), true); + } +); + +function caml_ml_output(oc, str, offset, len) { + var str$1 = offset === 0 && len === str.length ? str : str.slice(offset, len); + if (( (typeof process !== "undefined") && process.stdout && process.stdout.write ) && oc === stdout) { + return ( process.stdout.write )(str$1); + } + else { + var id = str$1.lastIndexOf("\n"); + if (id < 0) { + oc[/* buffer */0] = oc[/* buffer */0] + str$1; + return /* () */0; + } + else { + oc[/* buffer */0] = oc[/* buffer */0] + str$1.slice(0, id + 1 | 0); + caml_ml_flush(oc); + oc[/* buffer */0] = oc[/* buffer */0] + str$1.slice(id + 1 | 0); + return /* () */0; + } + } +} + +function caml_ml_output_char(oc, $$char) { + return caml_ml_output(oc, String.fromCharCode($$char), 0, 1); +} + +function caml_ml_input(_, _$1, _$2, _$3) { + throw [ + Caml_builtin_exceptions.failure, + "caml_ml_input ic not implemented" + ]; +} + +function caml_ml_input_char() { + throw [ + Caml_builtin_exceptions.failure, + "caml_ml_input_char not implemnted" + ]; +} + +function caml_ml_out_channels_list() { + return /* :: */[ + stdout, + /* :: */[ + stderr, + /* [] */0 + ] + ]; +} + +exports.$caret = $caret; +exports.stdin = stdin; +exports.stdout = stdout; +exports.stderr = stderr; +exports.caml_ml_open_descriptor_in = caml_ml_open_descriptor_in; +exports.caml_ml_open_descriptor_out = caml_ml_open_descriptor_out; +exports.caml_ml_flush = caml_ml_flush; +exports.node_std_output = node_std_output; +exports.caml_ml_output = caml_ml_output; +exports.caml_ml_output_char = caml_ml_output_char; +exports.caml_ml_input = caml_ml_input; +exports.caml_ml_input_char = caml_ml_input_char; +exports.caml_ml_out_channels_list = caml_ml_out_channels_list; +/* stdin Not a pure module */ +//////// end of caml_io.js //////// +    return exports; +  }; + + + _registry['caml_lexer'] = function() { +    let exports = {}; +//////// start of caml_lexer.js //////// +'use strict'; + +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function fail() { + throw [ + Caml_builtin_exceptions.failure, + "lexing: empty token" + ]; +} + + + +/***********************************************************************/ +/* */ +/* Objective Caml */ +/* */ +/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. All rights reserved. This file is distributed */ +/* under the terms of the GNU Library General Public License, with */ +/* the special exception on linking described in file ../LICENSE. */ +/* */ +/***********************************************************************/ + +/* $Id: lexing.c 6045 2004-01-01 16:42:43Z doligez $ */ + +/* The table-driven automaton for lexers generated by camllex. */ + +function caml_lex_array(s) { + var l = s.length / 2; + var a = new Array(l); + // when s.charCodeAt(2 * i + 1 ) > 128 (0x80) + // a[i] < 0 + // for(var i = 0 ; i <= 0xffff; ++i) { if (i << 16 >> 16 !==i){console.log(i<<16>>16, 'vs',i)}} + // + for (var i = 0; i < l; i++) + a[i] = (s.charCodeAt(2 * i) | (s.charCodeAt(2 * i + 1) << 8)) << 16 >> 16; + return a; +} +/** + * external c_engine : lex_tables -> int -> lexbuf -> int + * lexing.ml + * type lex_tables = { + * lex_base : string; + * lex_backtrk : string; + * lex_default : string; + * lex_trans : string; + * lex_check : string; + * lex_base_code : string; + * lex_backtrk_code : string; + * lex_default_code : string; + * lex_trans_code : string; + * lex_check_code : string; + * lex_code : string; + * } + * + * type lexbuf = { + * refill_buff : lexbuf -> unit ; + * mutable lex_buffer : bytes; + * mutable lex_buffer_len : int; + * mutable lex_abs_pos : int; + * mutable lex_start_pos : int; + * mutable lex_curr_pos : int; + * mutable lex_last_pos : int; + * mutable lex_last_action : int; + * mutable lex_eof_reached : bool; + * mutable lex_mem : int array; + * mutable lex_start_p : position; + * mutable lex_curr_p; + * } + * @param tbl + * @param start_state + * @param lexbuf + * @returns {any} + */ +function $$caml_lex_engine(tbl, start_state, lexbuf) { + // Lexing.lexbuf + var lex_buffer = 1; + var lex_buffer_len = 2; + var lex_start_pos = 4; + var lex_curr_pos = 5; + var lex_last_pos = 6; + var lex_last_action = 7; + var lex_eof_reached = 8; + // Lexing.lex_tables + var lex_base = 0; + var lex_backtrk = 1; + var lex_default = 2; + var lex_trans = 3; + var lex_check = 4; + if (!tbl.lex_default) { + tbl.lex_base = caml_lex_array(tbl[lex_base]); + tbl.lex_backtrk = caml_lex_array(tbl[lex_backtrk]); + tbl.lex_check = caml_lex_array(tbl[lex_check]); + tbl.lex_trans = caml_lex_array(tbl[lex_trans]); + tbl.lex_default = caml_lex_array(tbl[lex_default]); + } + var c; + var state = start_state; + //var buffer = bytes_of_string(lexbuf[lex_buffer]); + var buffer = lexbuf[lex_buffer]; + if (state >= 0) { + /* First entry */ + lexbuf[lex_last_pos] = lexbuf[lex_start_pos] = lexbuf[lex_curr_pos]; + lexbuf[lex_last_action] = -1; + } + else { + /* Reentry after refill */ + state = -state - 1; + } + for (;;) { + /* Lookup base address or action number for current state */ + var base = tbl.lex_base[state]; + if (base < 0) + return -base - 1; + /* See if it's a backtrack point */ + var backtrk = tbl.lex_backtrk[state]; + if (backtrk >= 0) { + lexbuf[lex_last_pos] = lexbuf[lex_curr_pos]; + lexbuf[lex_last_action] = backtrk; + } + /* See if we need a refill */ + if (lexbuf[lex_curr_pos] >= lexbuf[lex_buffer_len]) { + if (lexbuf[lex_eof_reached] === 0) + return -state - 1; + else + c = 256; + } + else { + /* Read next input char */ + c = buffer[lexbuf[lex_curr_pos]]; + lexbuf[lex_curr_pos]++; + } + /* Determine next state */ + if (tbl.lex_check[base + c] === state) { + state = tbl.lex_trans[base + c]; + } + else { + state = tbl.lex_default[state]; + } + /* If no transition on this char, return to last backtrack point */ + if (state < 0) { + lexbuf[lex_curr_pos] = lexbuf[lex_last_pos]; + if (lexbuf[lex_last_action] == -1) + fail(); + else + return lexbuf[lex_last_action]; + } + else { + /* Erase the EOF condition only if the EOF pseudo-character was + consumed by the automaton (i.e. there was no backtrack above) + */ + if (c == 256) + lexbuf[lex_eof_reached] = 0; + } + } +} + +/***********************************************/ +/* New lexer engine, with memory of positions */ +/***********************************************/ + +/** + * s -> Lexing.lex_tables.lex_code + * mem -> Lexing.lexbuf.lex_mem (* int array *) + */ + +function caml_lex_run_mem(s, i, mem, curr_pos) { + for (;;) { + var dst = s.charCodeAt(i); + i++; + if (dst == 0xff) + return; + var src = s.charCodeAt(i); + i++; + if (src == 0xff) + mem[dst] = curr_pos; + else + mem[dst] = mem[src]; + } +} + + +/** + * s -> Lexing.lex_tables.lex_code + * mem -> Lexing.lexbuf.lex_mem (* int array *) + */ + +function caml_lex_run_tag(s, i, mem) { + for (;;) { + var dst = s.charCodeAt(i); + i++; + if (dst == 0xff) + return; + var src = s.charCodeAt(i); + i++; + if (src == 0xff) + mem[dst] = -1; + else + mem[dst] = mem[src]; + } +} +/** + * external c_new_engine : lex_tables -> int -> lexbuf -> int = "caml_new_lex_engine" + * @param tbl + * @param start_state + * @param lexbuf + * @returns {any} + */ +function $$caml_new_lex_engine(tbl, start_state, lexbuf) { + // Lexing.lexbuf + var lex_buffer = 1; + var lex_buffer_len = 2; + var lex_start_pos = 4; + var lex_curr_pos = 5; + var lex_last_pos = 6; + var lex_last_action = 7; + var lex_eof_reached = 8; + var lex_mem = 9; + // Lexing.lex_tables + var lex_base = 0; + var lex_backtrk = 1; + var lex_default = 2; + var lex_trans = 3; + var lex_check = 4; + var lex_base_code = 5; + var lex_backtrk_code = 6; + var lex_default_code = 7; + var lex_trans_code = 8; + var lex_check_code = 9; + var lex_code = 10; + if (!tbl.lex_default) { + tbl.lex_base = caml_lex_array(tbl[lex_base]); + tbl.lex_backtrk = caml_lex_array(tbl[lex_backtrk]); + tbl.lex_check = caml_lex_array(tbl[lex_check]); + tbl.lex_trans = caml_lex_array(tbl[lex_trans]); + tbl.lex_default = caml_lex_array(tbl[lex_default]); + } + if (!tbl.lex_default_code) { + tbl.lex_base_code = caml_lex_array(tbl[lex_base_code]); + tbl.lex_backtrk_code = caml_lex_array(tbl[lex_backtrk_code]); + tbl.lex_check_code = caml_lex_array(tbl[lex_check_code]); + tbl.lex_trans_code = caml_lex_array(tbl[lex_trans_code]); + tbl.lex_default_code = caml_lex_array(tbl[lex_default_code]); + } + if (tbl.lex_code == null) { + //tbl.lex_code = caml_bytes_of_string(tbl[lex_code]); + tbl.lex_code = (tbl[lex_code]); + } + var c, state = start_state; + //var buffer = caml_bytes_of_string(lexbuf[lex_buffer]); + var buffer = lexbuf[lex_buffer]; + if (state >= 0) { + /* First entry */ + lexbuf[lex_last_pos] = lexbuf[lex_start_pos] = lexbuf[lex_curr_pos]; + lexbuf[lex_last_action] = -1; + } + else { + /* Reentry after refill */ + state = -state - 1; + } + for (;;) { + /* Lookup base address or action number for current state */ + var base = tbl.lex_base[state]; + if (base < 0) { + var pc_off = tbl.lex_base_code[state]; + caml_lex_run_tag(tbl.lex_code, pc_off, lexbuf[lex_mem]); + return -base - 1; + } + /* See if it's a backtrack point */ + var backtrk = tbl.lex_backtrk[state]; + if (backtrk >= 0) { + var pc_off = tbl.lex_backtrk_code[state]; + caml_lex_run_tag(tbl.lex_code, pc_off, lexbuf[lex_mem]); + lexbuf[lex_last_pos] = lexbuf[lex_curr_pos]; + lexbuf[lex_last_action] = backtrk; + } + /* See if we need a refill */ + if (lexbuf[lex_curr_pos] >= lexbuf[lex_buffer_len]) { + if (lexbuf[lex_eof_reached] == 0) + return -state - 1; + else + c = 256; + } + else { + /* Read next input char */ + c = buffer[lexbuf[lex_curr_pos]]; + lexbuf[lex_curr_pos]++; + } + /* Determine next state */ + var pstate = state; + if (tbl.lex_check[base + c] == state) + state = tbl.lex_trans[base + c]; + else + state = tbl.lex_default[state]; + /* If no transition on this char, return to last backtrack point */ + if (state < 0) { + lexbuf[lex_curr_pos] = lexbuf[lex_last_pos]; + if (lexbuf[lex_last_action] == -1) + fail(); + else + return lexbuf[lex_last_action]; + } + else { + /* If some transition, get and perform memory moves */ + var base_code = tbl.lex_base_code[pstate], pc_off; + if (tbl.lex_check_code[base_code + c] == pstate) + pc_off = tbl.lex_trans_code[base_code + c]; + else + pc_off = tbl.lex_default_code[pstate]; + if (pc_off > 0) + caml_lex_run_mem(tbl.lex_code, pc_off, lexbuf[lex_mem], lexbuf[lex_curr_pos]); + /* Erase the EOF condition only if the EOF pseudo-character was + consumed by the automaton (i.e. there was no backtrack above) + */ + if (c == 256) + lexbuf[lex_eof_reached] = 0; + } + } +} + +; + +function caml_lex_engine(prim, prim$1, prim$2) { + return $$caml_lex_engine(prim, prim$1, prim$2); +} + +function caml_new_lex_engine(prim, prim$1, prim$2) { + return $$caml_new_lex_engine(prim, prim$1, prim$2); +} + +exports.fail = fail; +exports.caml_lex_engine = caml_lex_engine; +exports.caml_new_lex_engine = caml_new_lex_engine; +/* Not a pure module */ +//////// end of caml_lexer.js //////// +    return exports; +  }; + + + _registry['caml_obj'] = function() { +    let exports = {}; +//////// start of caml_obj.js //////// +'use strict'; + +var Block = require("./block"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function caml_obj_dup(x) { + var len = x.length; + var v = new Array(len); + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + v[i] = x[i]; + } + v.tag = x.tag | 0; + return v; +} + +function caml_obj_truncate(x, new_size) { + var len = x.length; + if (new_size <= 0 || new_size > len) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Obj.truncate" + ]; + } + else if (len !== new_size) { + for(var i = new_size ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + x[i] = 0; + } + x.length = new_size; + return /* () */0; + } + else { + return 0; + } +} + +function caml_lazy_make_forward(x) { + return Block.__(250, [x]); +} + +function caml_update_dummy(x, y) { + var len = y.length; + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + x[i] = y[i]; + } + var y_tag = y.tag | 0; + if (y_tag !== 0) { + x.tag = y_tag; + return /* () */0; + } + else { + return 0; + } +} + +function caml_int_compare(x, y) { + if (x < y) { + return -1; + } + else if (x === y) { + return 0; + } + else { + return 1; + } +} + +function caml_compare(_a, _b) { + while(true) { + var b = _b; + var a = _a; + if (typeof a === "string") { + var x = a; + var y = b; + if (x < y) { + return -1; + } + else if (x === y) { + return 0; + } + else { + return 1; + } + } + else if (typeof a === "number") { + return caml_int_compare(a, b); + } + else if (typeof a === "boolean" || typeof a === "null" || typeof a === "undefined") { + var x$1 = a; + var y$1 = b; + if (x$1 === y$1) { + return 0; + } + else if (x$1 < y$1) { + return -1; + } + else { + return 1; + } + } + else { + var tag_a = a.tag | 0; + var tag_b = b.tag | 0; + if (tag_a === 250) { + _a = a[0]; + continue ; + + } + else if (tag_b === 250) { + _b = b[0]; + continue ; + + } + else if (tag_a === 248) { + return caml_int_compare(a[1], b[1]); + } + else if (tag_a === 251) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "equal: abstract value" + ]; + } + else if (tag_a !== tag_b) { + if (tag_a < tag_b) { + return -1; + } + else { + return 1; + } + } + else { + var len_a = a.length; + var len_b = b.length; + if (len_a === len_b) { + var a$1 = a; + var b$1 = b; + var _i = 0; + var same_length = len_a; + while(true) { + var i = _i; + if (i === same_length) { + return 0; + } + else { + var res = caml_compare(a$1[i], b$1[i]); + if (res !== 0) { + return res; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + }; + } + else if (len_a < len_b) { + var a$2 = a; + var b$2 = b; + var _i$1 = 0; + var short_length = len_a; + while(true) { + var i$1 = _i$1; + if (i$1 === short_length) { + return -1; + } + else { + var res$1 = caml_compare(a$2[i$1], b$2[i$1]); + if (res$1 !== 0) { + return res$1; + } + else { + _i$1 = i$1 + 1 | 0; + continue ; + + } + } + }; + } + else { + var a$3 = a; + var b$3 = b; + var _i$2 = 0; + var short_length$1 = len_b; + while(true) { + var i$2 = _i$2; + if (i$2 === short_length$1) { + return 1; + } + else { + var res$2 = caml_compare(a$3[i$2], b$3[i$2]); + if (res$2 !== 0) { + return res$2; + } + else { + _i$2 = i$2 + 1 | 0; + continue ; + + } + } + }; + } + } + } + }; +} + +function caml_equal(_a, _b) { + while(true) { + var b = _b; + var a = _a; + if (a === b) { + return /* true */1; + } + else if (typeof a === "string" || typeof a === "number" || typeof a === "boolean" || typeof a === "undefined" || typeof a === "null") { + return /* false */0; + } + else { + var tag_a = a.tag | 0; + var tag_b = b.tag | 0; + if (tag_a === 250) { + _a = a[0]; + continue ; + + } + else if (tag_b === 250) { + _b = b[0]; + continue ; + + } + else if (tag_a === 248) { + return +(a[1] === b[1]); + } + else if (tag_a === 251) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "equal: abstract value" + ]; + } + else if (tag_a !== tag_b) { + return /* false */0; + } + else { + var len_a = a.length; + var len_b = b.length; + if (len_a === len_b) { + var a$1 = a; + var b$1 = b; + var _i = 0; + var same_length = len_a; + while(true) { + var i = _i; + if (i === same_length) { + return /* true */1; + } + else if (caml_equal(a$1[i], b$1[i])) { + _i = i + 1 | 0; + continue ; + + } + else { + return /* false */0; + } + }; + } + else { + return /* false */0; + } + } + } + }; +} + +function caml_notequal(a, b) { + return 1 - caml_equal(a, b); +} + +function caml_greaterequal(a, b) { + return +(caml_compare(a, b) >= 0); +} + +function caml_greaterthan(a, b) { + return +(caml_compare(a, b) > 0); +} + +function caml_lessequal(a, b) { + return +(caml_compare(a, b) <= 0); +} + +function caml_lessthan(a, b) { + return +(caml_compare(a, b) < 0); +} + +var caml_int32_compare = caml_int_compare; + +var caml_nativeint_compare = caml_int_compare; + +exports.caml_obj_dup = caml_obj_dup; +exports.caml_obj_truncate = caml_obj_truncate; +exports.caml_lazy_make_forward = caml_lazy_make_forward; +exports.caml_update_dummy = caml_update_dummy; +exports.caml_int_compare = caml_int_compare; +exports.caml_int32_compare = caml_int32_compare; +exports.caml_nativeint_compare = caml_nativeint_compare; +exports.caml_compare = caml_compare; +exports.caml_equal = caml_equal; +exports.caml_notequal = caml_notequal; +exports.caml_greaterequal = caml_greaterequal; +exports.caml_greaterthan = caml_greaterthan; +exports.caml_lessthan = caml_lessthan; +exports.caml_lessequal = caml_lessequal; +/* No side effect */ +//////// end of caml_obj.js //////// +    return exports; +  }; + + + _registry['caml_oo'] = function() { +    let exports = {}; +//////// start of caml_oo.js //////// +'use strict'; + +var Caml_array = require("./caml_array"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +var caml_methods_cache = Caml_array.caml_make_vect(1000, 0); + +function caml_get_public_method(obj, tag, cacheid) { + var meths = obj[0]; + var offs = caml_methods_cache[cacheid]; + if (meths[offs] === tag) { + return meths[offs - 1 | 0]; + } + else { + var aux = function (_i) { + while(true) { + var i = _i; + if (i < 3) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "caml_oo.ml", + 54, + 20 + ] + ]; + } + else if (meths[i] === tag) { + caml_methods_cache[cacheid] = i; + return i; + } + else { + _i = i - 2 | 0; + continue ; + + } + }; + }; + return meths[aux((meths[0] << 1) + 1 | 0) - 1 | 0]; + } +} + +exports.caml_get_public_method = caml_get_public_method; +/* No side effect */ +//////// end of caml_oo.js //////// +    return exports; +  }; + + + _registry['caml_parser'] = function() { +    let exports = {}; +//////// start of caml_parser.js //////// +'use strict'; + + + + +/***********************************************************************/ +/* */ +/* Objective Caml */ +/* */ +/* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ +/* */ +/* Copyright 1996 Institut National de Recherche en Informatique et */ +/* en Automatique. All rights reserved. This file is distributed */ +/* under the terms of the GNU Library General Public License, with */ +/* the special exception on linking described in file ../LICENSE. */ +/* */ +/***********************************************************************/ + +/* $Id: parsing.c 8983 2008-08-06 09:38:25Z xleroy $ */ + +/* The PDA automaton for parsers generated by camlyacc */ + +/* The pushdown automata */ + +/** + * caml_lex_array("abcd") + * [25185, 25699] + * @param s + * @returns {any[]} + * TODO: duplicated with module {!Caml_lex} + */ +function caml_lex_array(s) { + var l = s.length / 2; + var a = new Array(l); + for (var i = 0; i < l; i++) + a[i] = (s.charCodeAt(2 * i) | (s.charCodeAt(2 * i + 1) << 8)) << 16 >> 16; + return a; +} +/** + * Note that TS enum is not friendly to Closure compiler + * @enum{number} + */ +var Automata = { + START: 0, + LOOP: 6, + TOKEN_READ: 1, + TEST_SHIFT: 7, + ERROR_DETECTED: 5, + SHIFT: 8, + SHIFT_RECOVER: 9, + STACK_GROWN_1: 2, + REDUCE: 10, + STACK_GROWN_2: 3, + SEMANTIC_ACTION_COMPUTED: 4 +}; +/** + * @enum{number} + */ +var Result = { + READ_TOKEN: 0, + RAISE_PARSE_ERROR: 1, + GROW_STACKS_1: 2, + GROW_STACKS_2: 3, + COMPUTE_SEMANTIC_ACTION: 4, + CALL_ERROR_FUNCTION: 5 +}; +var PARSER_TRACE = false; +/** + * external parse_engine : parse_tables -> parser_env -> parser_input -> Obj.t -> parser_output + * parsing.ml + * + * type parse_tables = { + * actions : (parser_env -> Obj.t) array + * transl_const : int array; + * transl_block : int array; + * lhs : string; + * len : string; + * defred : string; + * dgoto : string; + * sindex : string; + * rindex : string; + * gindex : string; + * tablesize : int; + * table : string; + * check : string; + * error_function : string -> unit; + * names_const : string; + * names_block : string + * } + * + * type parser_env = + * { mutable s_stack : int array; (* States *) + * mutable v_stack : Obj.t array; (* Semantic attributes *) + * mutable symb_start_stack : position array; (* Start positions *) + * mutable symb_end_stack : position array; (* End positions *) + * mutable stacksize : int; (* Size of the stacks *) + * mutable stackbase : int; (* Base sp for current parse *) + * mutable curr_char : int; (* Last token read *) + * mutable lval : Obj.t; (* Its semantic attribute *) + * mutable symb_start : position; (* Start pos. of the current symbol*) + * mutable symb_end : position; (* End pos. of the current symbol *) + * mutable asp : int; (* The stack pointer for attributes *) + * mutable rule_len : int; (* Number of rhs items in the rule *) + * mutable rule_number : int; (* Rule number to reduce by *) + * mutable sp : int; (* Saved sp for parse_engine *) + * mutable state : int; (* Saved state for parse_engine *) + * mutable errflag : int } (* Saved error flag for parse_engine *) + * + * type parser_input = + * | Start + * | Token_read + * | Stacks_grown_1 + * | Stacks_grown_2 + * | Semantic_action_computed + * | Error_detected + + * @param tables + * @param env + * @param cmd + * @param arg + * @returns {number} + */ +function $$caml_parse_engine(tables /* parser_table */, env /* parser_env */, cmd /* parser_input*/, arg /* Obj.t*/) { + var ERRCODE = 256; + //var START = 0; + //var TOKEN_READ = 1; + //var STACKS_GROWN_1 = 2; + //var STACKS_GROWN_2 = 3; + //var SEMANTIC_ACTION_COMPUTED = 4; + //var ERROR_DETECTED = 5; + //var loop = 6; + //var testshift = 7; + //var shift = 8; + //var shift_recover = 9; + //var reduce = 10; + // Parsing.parser_env + var env_s_stack = 0; // array + var env_v_stack = 1; // array + var env_symb_start_stack = 2; // array + var env_symb_end_stack = 3; // array + var env_stacksize = 4; + var env_stackbase = 5; + var env_curr_char = 6; + var env_lval = 7; // Obj.t + var env_symb_start = 8; // position + var env_symb_end = 9; // position + var env_asp = 10; + var env_rule_len = 11; + var env_rule_number = 12; + var env_sp = 13; + var env_state = 14; + var env_errflag = 15; + // Parsing.parse_tables + // var _tbl_actions = 1; + var tbl_transl_const = 1; // array + var tbl_transl_block = 2; // array + var tbl_lhs = 3; + var tbl_len = 4; + var tbl_defred = 5; + var tbl_dgoto = 6; + var tbl_sindex = 7; + var tbl_rindex = 8; + var tbl_gindex = 9; + var tbl_tablesize = 10; + var tbl_table = 11; + var tbl_check = 12; + // var _tbl_error_function = 14; + // var _tbl_names_const = 15; + // var _tbl_names_block = 16; + if (!tables.dgoto) { + tables.defred = caml_lex_array(tables[tbl_defred]); + tables.sindex = caml_lex_array(tables[tbl_sindex]); + tables.check = caml_lex_array(tables[tbl_check]); + tables.rindex = caml_lex_array(tables[tbl_rindex]); + tables.table = caml_lex_array(tables[tbl_table]); + tables.len = caml_lex_array(tables[tbl_len]); + tables.lhs = caml_lex_array(tables[tbl_lhs]); + tables.gindex = caml_lex_array(tables[tbl_gindex]); + tables.dgoto = caml_lex_array(tables[tbl_dgoto]); + } + var res; + var n, n1, n2, state1; + // RESTORE + var sp = env[env_sp]; + var state = env[env_state]; + var errflag = env[env_errflag]; + exit: for (;;) { + //console.error("State", Automata[cmd]); + switch (cmd) { + case Automata.START: + state = 0; + errflag = 0; + // Fall through + case Automata.LOOP: + n = tables.defred[state]; + if (n != 0) { + cmd = Automata.REDUCE; + break; + } + if (env[env_curr_char] >= 0) { + cmd = Automata.TEST_SHIFT; + break; + } + res = Result.READ_TOKEN; + break exit; + /* The ML code calls the lexer and updates */ + /* symb_start and symb_end */ + case Automata.TOKEN_READ: + if (typeof arg !== 'number') { + env[env_curr_char] = tables[tbl_transl_block][arg.tag | 0 /* + 1 */]; + env[env_lval] = arg[0]; + } + else { + env[env_curr_char] = tables[tbl_transl_const][arg /* + 1 */]; + env[env_lval] = 0; + } + if (PARSER_TRACE) { + console.error("State %d, read token", state, arg); + } + // Fall through + case Automata.TEST_SHIFT: + n1 = tables.sindex[state]; + n2 = n1 + env[env_curr_char]; + if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && + tables.check[n2] == env[env_curr_char]) { + cmd = Automata.SHIFT; + break; + } + n1 = tables.rindex[state]; + n2 = n1 + env[env_curr_char]; + if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && + tables.check[n2] == env[env_curr_char]) { + n = tables.table[n2]; + cmd = Automata.REDUCE; + break; + } + if (errflag <= 0) { + res = Result.CALL_ERROR_FUNCTION; + break exit; + } + // Fall through + /* The ML code calls the error function */ + case Automata.ERROR_DETECTED: + if (errflag < 3) { + errflag = 3; + for (;;) { + state1 = env[env_s_stack][sp /* + 1*/]; + n1 = tables.sindex[state1]; + n2 = n1 + ERRCODE; + if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && + tables.check[n2] == ERRCODE) { + cmd = Automata.SHIFT_RECOVER; + break; + } + else { + if (sp <= env[env_stackbase]) + return Result.RAISE_PARSE_ERROR; + /* The ML code raises Parse_error */ + sp--; + } + } + } + else { + if (env[env_curr_char] == 0) + return Result.RAISE_PARSE_ERROR; + /* The ML code raises Parse_error */ + env[env_curr_char] = -1; + cmd = Automata.LOOP; + break; + } + // Fall through + case Automata.SHIFT: + env[env_curr_char] = -1; + if (errflag > 0) + errflag--; + // Fall through + case Automata.SHIFT_RECOVER: + if (PARSER_TRACE) { + console.error("State %d: shift to state %d", state, tables.table[n2]); + } + state = tables.table[n2]; + sp++; + if (sp >= env[env_stacksize]) { + res = Result.GROW_STACKS_1; + break exit; + } + // Fall through + /* The ML code resizes the stacks */ + case Automata.STACK_GROWN_1: + env[env_s_stack][sp /* + 1 */] = state; + env[env_v_stack][sp /* + 1 */] = env[env_lval]; + env[env_symb_start_stack][sp /* + 1 */] = env[env_symb_start]; + env[env_symb_end_stack][sp /* + 1 */] = env[env_symb_end]; + cmd = Automata.LOOP; + break; + case Automata.REDUCE: + if (PARSER_TRACE) { + console.error("State %d : reduce by rule %d", state, n); + } + var m = tables.len[n]; + env[env_asp] = sp; + env[env_rule_number] = n; + env[env_rule_len] = m; + sp = sp - m + 1; + m = tables.lhs[n]; + state1 = env[env_s_stack][sp - 1]; // + n1 = tables.gindex[m]; + n2 = n1 + state1; + if (n1 != 0 && n2 >= 0 && n2 <= tables[tbl_tablesize] && + tables.check[n2] == state1) + state = tables.table[n2]; + else + state = tables.dgoto[m]; + if (sp >= env[env_stacksize]) { + res = Result.GROW_STACKS_2; + break exit; + } + // Fall through + /* The ML code resizes the stacks */ + case Automata.STACK_GROWN_2: + res = Result.COMPUTE_SEMANTIC_ACTION; + break exit; + /* The ML code calls the semantic action */ + case Automata.SEMANTIC_ACTION_COMPUTED: + env[env_s_stack][sp /* + 1 */] = state; + env[env_v_stack][sp /* + 1*/] = arg; + var asp = env[env_asp]; + env[env_symb_end_stack][sp /* + 1*/] = env[env_symb_end_stack][asp /* + 1*/]; + if (sp > asp) { + /* This is an epsilon production. Take symb_start equal to symb_end. */ + env[env_symb_start_stack][sp /* + 1*/] = env[env_symb_end_stack][asp /*+ 1*/]; + } + cmd = Automata.LOOP; + break; + /* Should not happen */ + default: + return Result.RAISE_PARSE_ERROR; + } + } + // SAVE + env[env_sp] = sp; + env[env_state] = state; + env[env_errflag] = errflag; + return res; +} + +/** + * external set_trace: bool -> bool = "caml_set_parser_trace" + * parsing.ml + * @param {boolean} + * @returns {boolean} + */ +function $$caml_set_parser_trace(v) { + var old = PARSER_TRACE; + PARSER_TRACE = v; + return old; +} + + +; + +function caml_parse_engine(prim, prim$1, prim$2, prim$3) { + return $$caml_parse_engine(prim, prim$1, prim$2, prim$3); +} + +function caml_set_parser_trace(prim) { + return $$caml_set_parser_trace(prim); +} + +exports.caml_parse_engine = caml_parse_engine; +exports.caml_set_parser_trace = caml_set_parser_trace; +/* Not a pure module */ +//////// end of caml_parser.js //////// +    return exports; +  }; + + + _registry['caml_string'] = function() { +    let exports = {}; +//////// start of caml_string.js //////// +'use strict'; + +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function js_string_of_char(prim) { + return String.fromCharCode(prim); +} + +function caml_string_get(s, i) { + if (i >= s.length || i < 0) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "index out of bounds" + ]; + } + else { + return s.charCodeAt(i); + } +} + +function caml_create_string(len) { + if (len < 0) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "String.create" + ]; + } + else { + return new Array(len); + } +} + +function caml_string_compare(s1, s2) { + if (s1 === s2) { + return 0; + } + else if (s1 < s2) { + return -1; + } + else { + return 1; + } +} + +function caml_fill_string(s, i, l, c) { + if (l > 0) { + for(var k = i ,k_finish = (l + i | 0) - 1 | 0; k <= k_finish; ++k){ + s[k] = c; + } + return /* () */0; + } + else { + return 0; + } +} + +function caml_blit_string(s1, i1, s2, i2, len) { + if (len > 0) { + var off1 = s1.length - i1 | 0; + if (len <= off1) { + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + s2[i2 + i | 0] = s1.charCodeAt(i1 + i | 0); + } + return /* () */0; + } + else { + for(var i$1 = 0 ,i_finish$1 = off1 - 1 | 0; i$1 <= i_finish$1; ++i$1){ + s2[i2 + i$1 | 0] = s1.charCodeAt(i1 + i$1 | 0); + } + for(var i$2 = off1 ,i_finish$2 = len - 1 | 0; i$2 <= i_finish$2; ++i$2){ + s2[i2 + i$2 | 0] = /* "\000" */0; + } + return /* () */0; + } + } + else { + return 0; + } +} + +function caml_blit_bytes(s1, i1, s2, i2, len) { + if (len > 0) { + if (s1 === s2) { + var s1$1 = s1; + var i1$1 = i1; + var i2$1 = i2; + var len$1 = len; + if (i1$1 < i2$1) { + var range_a = (s1$1.length - i2$1 | 0) - 1 | 0; + var range_b = len$1 - 1 | 0; + var range = range_a > range_b ? range_b : range_a; + for(var j = range; j >= 0; --j){ + s1$1[i2$1 + j | 0] = s1$1[i1$1 + j | 0]; + } + return /* () */0; + } + else if (i1$1 > i2$1) { + var range_a$1 = (s1$1.length - i1$1 | 0) - 1 | 0; + var range_b$1 = len$1 - 1 | 0; + var range$1 = range_a$1 > range_b$1 ? range_b$1 : range_a$1; + for(var k = 0; k <= range$1; ++k){ + s1$1[i2$1 + k | 0] = s1$1[i1$1 + k | 0]; + } + return /* () */0; + } + else { + return 0; + } + } + else { + var off1 = s1.length - i1 | 0; + if (len <= off1) { + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + s2[i2 + i | 0] = s1[i1 + i | 0]; + } + return /* () */0; + } + else { + for(var i$1 = 0 ,i_finish$1 = off1 - 1 | 0; i$1 <= i_finish$1; ++i$1){ + s2[i2 + i$1 | 0] = s1[i1 + i$1 | 0]; + } + for(var i$2 = off1 ,i_finish$2 = len - 1 | 0; i$2 <= i_finish$2; ++i$2){ + s2[i2 + i$2 | 0] = /* "\000" */0; + } + return /* () */0; + } + } + } + else { + return 0; + } +} + +function bytes_of_string(s) { + var len = s.length; + var res = new Array(len); + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + res[i] = s.charCodeAt(i); + } + return res; +} + +function bytes_to_string(a) { + var bytes = a; + var i = 0; + var len = a.length; + var s = ""; + var s_len = len; + if (i === 0 && len <= 4096 && len === bytes.length) { + return String.fromCharCode.apply(null,bytes); + } + else { + var offset = 0; + while(s_len > 0) { + var next = s_len < 1024 ? s_len : 1024; + var tmp_bytes = new Array(next); + caml_blit_bytes(bytes, offset, tmp_bytes, 0, next); + s = s + String.fromCharCode.apply(null,tmp_bytes); + s_len = s_len - next | 0; + offset = offset + next | 0; + }; + return s; + } +} + +function caml_string_of_char_array(chars) { + var len = chars.length; + var bytes = new Array(len); + for(var i = 0 ,i_finish = len - 1 | 0; i <= i_finish; ++i){ + bytes[i] = chars[i]; + } + return bytes_to_string(bytes); +} + +function caml_is_printable(c) { + if (c > 31) { + return +(c < 127); + } + else { + return /* false */0; + } +} + +function caml_string_get16(s, i) { + return s.charCodeAt(i) + (s.charCodeAt(i + 1 | 0) << 8) | 0; +} + +function caml_string_get32(s, i) { + return ((s.charCodeAt(i) + (s.charCodeAt(i + 1 | 0) << 8) | 0) + (s.charCodeAt(i + 2 | 0) << 16) | 0) + (s.charCodeAt(i + 3 | 0) << 24) | 0; +} + +function get(s, i) { + if (i < 0 || i >= s.length) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "index out of bounds" + ]; + } + else { + return s.charCodeAt(i); + } +} + +exports.bytes_of_string = bytes_of_string; +exports.bytes_to_string = bytes_to_string; +exports.caml_is_printable = caml_is_printable; +exports.caml_string_of_char_array = caml_string_of_char_array; +exports.caml_string_get = caml_string_get; +exports.caml_string_compare = caml_string_compare; +exports.caml_create_string = caml_create_string; +exports.caml_fill_string = caml_fill_string; +exports.caml_blit_string = caml_blit_string; +exports.caml_blit_bytes = caml_blit_bytes; +exports.caml_string_get16 = caml_string_get16; +exports.caml_string_get32 = caml_string_get32; +exports.js_string_of_char = js_string_of_char; +exports.get = get; +/* No side effect */ +//////// end of caml_string.js //////// +    return exports; +  }; + + + _registry['caml_utils'] = function() { +    let exports = {}; +//////// start of caml_utils.js //////// +'use strict'; + + +var repeat = ( (String.prototype.repeat && function (count,self){return self.repeat(count)}) || + function(count , self) { + if (self.length == 0 || count == 0) { + return ''; + } + // Ensuring count is a 31-bit integer allows us to heavily optimize the + // main part. But anyway, most current (August 2014) browsers can't handle + // strings 1 << 28 chars or longer, so: + if (self.length * count >= 1 << 28) { + throw new RangeError('repeat count must not overflow maximum string size'); + } + var rpt = ''; + for (;;) { + if ((count & 1) == 1) { + rpt += self; + } + count >>>= 1; + if (count == 0) { + break; + } + self += self; + } + return rpt; + } +); + +exports.repeat = repeat; +/* repeat Not a pure module */ +//////// end of caml_utils.js //////// +    return exports; +  }; + + + _registry['char'] = function() { +    let exports = {}; +//////// start of char.js //////// +'use strict'; + +var Caml_string = require("./caml_string"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function chr(n) { + if (n < 0 || n > 255) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Char.chr" + ]; + } + else { + return n; + } +} + +function escaped(c) { + var exit = 0; + if (c >= 40) { + if (c !== 92) { + exit = c >= 127 ? 1 : 2; + } + else { + return "\\\\"; + } + } + else if (c >= 32) { + if (c >= 39) { + return "\\'"; + } + else { + exit = 2; + } + } + else if (c >= 14) { + exit = 1; + } + else { + switch (c) { + case 8 : + return "\\b"; + case 9 : + return "\\t"; + case 10 : + return "\\n"; + case 0 : + case 1 : + case 2 : + case 3 : + case 4 : + case 5 : + case 6 : + case 7 : + case 11 : + case 12 : + exit = 1; + break; + case 13 : + return "\\r"; + + } + } + switch (exit) { + case 1 : + var s = new Array(4); + s[0] = /* "\\" */92; + s[1] = 48 + (c / 100 | 0) | 0; + s[2] = 48 + (c / 10 | 0) % 10 | 0; + s[3] = 48 + c % 10 | 0; + return Caml_string.bytes_to_string(s); + case 2 : + var s$1 = new Array(1); + s$1[0] = c; + return Caml_string.bytes_to_string(s$1); + + } +} + +function lowercase(c) { + if (c >= /* "A" */65 && c <= /* "Z" */90 || c >= /* "\192" */192 && c <= /* "\214" */214 || c >= /* "\216" */216 && c <= /* "\222" */222) { + return c + 32 | 0; + } + else { + return c; + } +} + +function uppercase(c) { + if (c >= /* "a" */97 && c <= /* "z" */122 || c >= /* "\224" */224 && c <= /* "\246" */246 || c >= /* "\248" */248 && c <= /* "\254" */254) { + return c - 32 | 0; + } + else { + return c; + } +} + +function compare(c1, c2) { + return c1 - c2 | 0; +} + +exports.chr = chr; +exports.escaped = escaped; +exports.lowercase = lowercase; +exports.uppercase = uppercase; +exports.compare = compare; +/* No side effect */ +//////// end of char.js //////// +    return exports; +  }; + + + _registry['curry'] = function() { +    let exports = {}; +//////// start of curry.js //////// +'use strict'; + +var Caml_oo = require("./caml_oo"); +var Caml_array = require("./caml_array"); + +function app(_f, _args) { + while(true) { + var args = _args; + var f = _f; + var arity = f.length; + var arity$1 = arity ? arity : 1; + var len = args.length; + var d = arity$1 - len | 0; + if (d) { + if (d < 0) { + _args = Caml_array.caml_array_sub(args, arity$1, -d | 0); + _f = f.apply(null, Caml_array.caml_array_sub(args, 0, arity$1)); + continue ; + + } + else { + return (function(f,args){ + return function (x) { + return app(f, args.concat(/* array */[x])); + } + }(f,args)); + } + } + else { + return f.apply(null, args); + } + }; +} + +function js(label, cacheid, obj, args) { + var meth = Caml_oo.caml_get_public_method(obj, label, cacheid); + return app(meth, args); +} + +function curry_1(o, a0, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[a0]); + } + else { + switch (arity) { + case 0 : + case 1 : + return o(a0); + case 2 : + return function (param) { + return o(a0, param); + }; + case 3 : + return function (param, param$1) { + return o(a0, param, param$1); + }; + case 4 : + return function (param, param$1, param$2) { + return o(a0, param, param$1, param$2); + }; + case 5 : + return function (param, param$1, param$2, param$3) { + return o(a0, param, param$1, param$2, param$3); + }; + case 6 : + return function (param, param$1, param$2, param$3, param$4) { + return o(a0, param, param$1, param$2, param$3, param$4); + }; + case 7 : + return function (param, param$1, param$2, param$3, param$4, param$5) { + return o(a0, param, param$1, param$2, param$3, param$4, param$5); + }; + + } + } +} + +function _1(o, a0) { + var arity = o.length; + if (arity === 1) { + return o(a0); + } + else { + return curry_1(o, a0, arity); + } +} + +function js1(label, cacheid, a0) { + return _1(Caml_oo.caml_get_public_method(a0, label, cacheid), a0); +} + +function __1(o) { + var arity = o.length; + if (arity === 1) { + return o; + } + else { + return function (a0) { + return _1(o, a0); + }; + } +} + +function curry_2(o, a0, a1, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[a1]); + case 2 : + return o(a0, a1); + case 3 : + return function (param) { + return o(a0, a1, param); + }; + case 4 : + return function (param, param$1) { + return o(a0, a1, param, param$1); + }; + case 5 : + return function (param, param$1, param$2) { + return o(a0, a1, param, param$1, param$2); + }; + case 6 : + return function (param, param$1, param$2, param$3) { + return o(a0, a1, param, param$1, param$2, param$3); + }; + case 7 : + return function (param, param$1, param$2, param$3, param$4) { + return o(a0, a1, param, param$1, param$2, param$3, param$4); + }; + + } + } +} + +function _2(o, a0, a1) { + var arity = o.length; + if (arity === 2) { + return o(a0, a1); + } + else { + return curry_2(o, a0, a1, arity); + } +} + +function js2(label, cacheid, a0, a1) { + return _2(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1); +} + +function __2(o) { + var arity = o.length; + if (arity === 2) { + return o; + } + else { + return function (a0, a1) { + return _2(o, a0, a1); + }; + } +} + +function curry_3(o, a0, a1, a2, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1, + a2 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[ + a1, + a2 + ]); + case 2 : + return app(o(a0, a1), /* array */[a2]); + case 3 : + return o(a0, a1, a2); + case 4 : + return function (param) { + return o(a0, a1, a2, param); + }; + case 5 : + return function (param, param$1) { + return o(a0, a1, a2, param, param$1); + }; + case 6 : + return function (param, param$1, param$2) { + return o(a0, a1, a2, param, param$1, param$2); + }; + case 7 : + return function (param, param$1, param$2, param$3) { + return o(a0, a1, a2, param, param$1, param$2, param$3); + }; + + } + } +} + +function _3(o, a0, a1, a2) { + var arity = o.length; + if (arity === 3) { + return o(a0, a1, a2); + } + else { + return curry_3(o, a0, a1, a2, arity); + } +} + +function js3(label, cacheid, a0, a1, a2) { + return _3(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1, a2); +} + +function __3(o) { + var arity = o.length; + if (arity === 3) { + return o; + } + else { + return function (a0, a1, a2) { + return _3(o, a0, a1, a2); + }; + } +} + +function curry_4(o, a0, a1, a2, a3, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1, + a2, + a3 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[ + a1, + a2, + a3 + ]); + case 2 : + return app(o(a0, a1), /* array */[ + a2, + a3 + ]); + case 3 : + return app(o(a0, a1, a2), /* array */[a3]); + case 4 : + return o(a0, a1, a2, a3); + case 5 : + return function (param) { + return o(a0, a1, a2, a3, param); + }; + case 6 : + return function (param, param$1) { + return o(a0, a1, a2, a3, param, param$1); + }; + case 7 : + return function (param, param$1, param$2) { + return o(a0, a1, a2, a3, param, param$1, param$2); + }; + + } + } +} + +function _4(o, a0, a1, a2, a3) { + var arity = o.length; + if (arity === 4) { + return o(a0, a1, a2, a3); + } + else { + return curry_4(o, a0, a1, a2, a3, arity); + } +} + +function js4(label, cacheid, a0, a1, a2, a3) { + return _4(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1, a2, a3); +} + +function __4(o) { + var arity = o.length; + if (arity === 4) { + return o; + } + else { + return function (a0, a1, a2, a3) { + return _4(o, a0, a1, a2, a3); + }; + } +} + +function curry_5(o, a0, a1, a2, a3, a4, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1, + a2, + a3, + a4 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[ + a1, + a2, + a3, + a4 + ]); + case 2 : + return app(o(a0, a1), /* array */[ + a2, + a3, + a4 + ]); + case 3 : + return app(o(a0, a1, a2), /* array */[ + a3, + a4 + ]); + case 4 : + return app(o(a0, a1, a2, a3), /* array */[a4]); + case 5 : + return o(a0, a1, a2, a3, a4); + case 6 : + return function (param) { + return o(a0, a1, a2, a3, a4, param); + }; + case 7 : + return function (param, param$1) { + return o(a0, a1, a2, a3, a4, param, param$1); + }; + + } + } +} + +function _5(o, a0, a1, a2, a3, a4) { + var arity = o.length; + if (arity === 5) { + return o(a0, a1, a2, a3, a4); + } + else { + return curry_5(o, a0, a1, a2, a3, a4, arity); + } +} + +function js5(label, cacheid, a0, a1, a2, a3, a4) { + return _5(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1, a2, a3, a4); +} + +function __5(o) { + var arity = o.length; + if (arity === 5) { + return o; + } + else { + return function (a0, a1, a2, a3, a4) { + return _5(o, a0, a1, a2, a3, a4); + }; + } +} + +function curry_6(o, a0, a1, a2, a3, a4, a5, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1, + a2, + a3, + a4, + a5 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[ + a1, + a2, + a3, + a4, + a5 + ]); + case 2 : + return app(o(a0, a1), /* array */[ + a2, + a3, + a4, + a5 + ]); + case 3 : + return app(o(a0, a1, a2), /* array */[ + a3, + a4, + a5 + ]); + case 4 : + return app(o(a0, a1, a2, a3), /* array */[ + a4, + a5 + ]); + case 5 : + return app(o(a0, a1, a2, a3, a4), /* array */[a5]); + case 6 : + return o(a0, a1, a2, a3, a4, a5); + case 7 : + return function (param) { + return o(a0, a1, a2, a3, a4, a5, param); + }; + + } + } +} + +function _6(o, a0, a1, a2, a3, a4, a5) { + var arity = o.length; + if (arity === 6) { + return o(a0, a1, a2, a3, a4, a5); + } + else { + return curry_6(o, a0, a1, a2, a3, a4, a5, arity); + } +} + +function js6(label, cacheid, a0, a1, a2, a3, a4, a5) { + return _6(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1, a2, a3, a4, a5); +} + +function __6(o) { + var arity = o.length; + if (arity === 6) { + return o; + } + else { + return function (a0, a1, a2, a3, a4, a5) { + return _6(o, a0, a1, a2, a3, a4, a5); + }; + } +} + +function curry_7(o, a0, a1, a2, a3, a4, a5, a6, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1, + a2, + a3, + a4, + a5, + a6 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[ + a1, + a2, + a3, + a4, + a5, + a6 + ]); + case 2 : + return app(o(a0, a1), /* array */[ + a2, + a3, + a4, + a5, + a6 + ]); + case 3 : + return app(o(a0, a1, a2), /* array */[ + a3, + a4, + a5, + a6 + ]); + case 4 : + return app(o(a0, a1, a2, a3), /* array */[ + a4, + a5, + a6 + ]); + case 5 : + return app(o(a0, a1, a2, a3, a4), /* array */[ + a5, + a6 + ]); + case 6 : + return app(o(a0, a1, a2, a3, a4, a5), /* array */[a6]); + case 7 : + return o(a0, a1, a2, a3, a4, a5, a6); + + } + } +} + +function _7(o, a0, a1, a2, a3, a4, a5, a6) { + var arity = o.length; + if (arity === 7) { + return o(a0, a1, a2, a3, a4, a5, a6); + } + else { + return curry_7(o, a0, a1, a2, a3, a4, a5, a6, arity); + } +} + +function js7(label, cacheid, a0, a1, a2, a3, a4, a5, a6) { + return _7(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1, a2, a3, a4, a5, a6); +} + +function __7(o) { + var arity = o.length; + if (arity === 7) { + return o; + } + else { + return function (a0, a1, a2, a3, a4, a5, a6) { + return _7(o, a0, a1, a2, a3, a4, a5, a6); + }; + } +} + +function curry_8(o, a0, a1, a2, a3, a4, a5, a6, a7, arity) { + if (arity > 7 || arity < 0) { + return app(o, /* array */[ + a0, + a1, + a2, + a3, + a4, + a5, + a6, + a7 + ]); + } + else { + switch (arity) { + case 0 : + case 1 : + return app(o(a0), /* array */[ + a1, + a2, + a3, + a4, + a5, + a6, + a7 + ]); + case 2 : + return app(o(a0, a1), /* array */[ + a2, + a3, + a4, + a5, + a6, + a7 + ]); + case 3 : + return app(o(a0, a1, a2), /* array */[ + a3, + a4, + a5, + a6, + a7 + ]); + case 4 : + return app(o(a0, a1, a2, a3), /* array */[ + a4, + a5, + a6, + a7 + ]); + case 5 : + return app(o(a0, a1, a2, a3, a4), /* array */[ + a5, + a6, + a7 + ]); + case 6 : + return app(o(a0, a1, a2, a3, a4, a5), /* array */[ + a6, + a7 + ]); + case 7 : + return app(o(a0, a1, a2, a3, a4, a5, a6), /* array */[a7]); + + } + } +} + +function _8(o, a0, a1, a2, a3, a4, a5, a6, a7) { + var arity = o.length; + if (arity === 8) { + return o(a0, a1, a2, a3, a4, a5, a6, a7); + } + else { + return curry_8(o, a0, a1, a2, a3, a4, a5, a6, a7, arity); + } +} + +function js8(label, cacheid, a0, a1, a2, a3, a4, a5, a6, a7) { + return _8(Caml_oo.caml_get_public_method(a0, label, cacheid), a0, a1, a2, a3, a4, a5, a6, a7); +} + +function __8(o) { + var arity = o.length; + if (arity === 8) { + return o; + } + else { + return function (a0, a1, a2, a3, a4, a5, a6, a7) { + return _8(o, a0, a1, a2, a3, a4, a5, a6, a7); + }; + } +} + +exports.app = app; +exports.js = js; +exports.curry_1 = curry_1; +exports._1 = _1; +exports.js1 = js1; +exports.__1 = __1; +exports.curry_2 = curry_2; +exports._2 = _2; +exports.js2 = js2; +exports.__2 = __2; +exports.curry_3 = curry_3; +exports._3 = _3; +exports.js3 = js3; +exports.__3 = __3; +exports.curry_4 = curry_4; +exports._4 = _4; +exports.js4 = js4; +exports.__4 = __4; +exports.curry_5 = curry_5; +exports._5 = _5; +exports.js5 = js5; +exports.__5 = __5; +exports.curry_6 = curry_6; +exports._6 = _6; +exports.js6 = js6; +exports.__6 = __6; +exports.curry_7 = curry_7; +exports._7 = _7; +exports.js7 = js7; +exports.__7 = __7; +exports.curry_8 = curry_8; +exports._8 = _8; +exports.js8 = js8; +exports.__8 = __8; +/* No side effect */ +//////// end of curry.js //////// +    return exports; +  }; + + + _registry['decode'] = function() { +    let exports = {}; +//////// start of decode.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var F32 = require("./f32"); +var F64 = require("./f64"); +var I32 = require("./i32"); +var Lib = require("./lib"); +var List = require("bs-platform/lib/js/list"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var $$Error = require("./error"); +var Encode = require("./encode"); +var Printf = require("bs-platform/lib/js/printf"); +var Source = require("./source"); +var $$String = require("bs-platform/lib/js/string"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Operators = require("./operators"); +var Caml_int64 = require("bs-platform/lib/js/caml_int64"); +var Caml_string = require("bs-platform/lib/js/caml_string"); +var Caml_exceptions = require("bs-platform/lib/js/caml_exceptions"); + +var EOS = Caml_exceptions.create("Decode.EOS"); + +function stream(name, bs) { + return /* record */[ + /* name */name, + /* bytes */bs, + /* pos */[0] + ]; +} + +function eos(s) { + return +(s[/* pos */2][0] === s[/* bytes */1].length); +} + +function check(n, s) { + if ((s[/* pos */2][0] + n | 0) > s[/* bytes */1].length) { + throw EOS; + } + else { + return 0; + } +} + +function skip(n, s) { + check(n, s); + s[/* pos */2][0] = s[/* pos */2][0] + n | 0; + return /* () */0; +} + +function read(s) { + return Caml_string.get(s[/* bytes */1], s[/* pos */2][0]); +} + +function peek(s) { + if (eos(s)) { + return /* None */0; + } + else { + return /* Some */[read(s)]; + } +} + +function get(s) { + check(1, s); + var b = read(s); + skip(1, s); + return b; +} + +var Code = $$Error.Make(/* module */[]); + +var Code$1 = Code[/* Error */0]; + +function string_of_byte(b) { + return Curry._1(Printf.sprintf(/* Format */[ + /* Int */Block.__(4, [ + /* Int_x */6, + /* Lit_padding */Block.__(0, [ + /* Zeros */2, + 2 + ]), + /* No_precision */0, + /* End_of_format */0 + ]), + "%02x" + ]), b); +} + +function position(s, pos) { + return /* record */[ + /* file */s[/* name */0], + /* line */-1, + /* column */pos + ]; +} + +function region(s, left, right) { + return /* record */[ + /* left */position(s, left), + /* right */position(s, right) + ]; +} + +function error(s, pos, msg) { + throw [ + Code$1, + region(s, pos, pos), + msg + ]; +} + +function $$require(b, s, pos, msg) { + if (b) { + return 0; + } + else { + return error(s, pos, msg); + } +} + +function guard(f, s) { + try { + return Curry._1(f, s); + } + catch (exn){ + if (exn === EOS) { + return error(s, s[/* bytes */1].length, "unexpected end of binary or function"); + } + else { + throw exn; + } + } +} + +function get$1(param) { + return guard(get, param); +} + +function expect(b, s, msg) { + return $$require(+(guard(get$1, s) === b), s, s[/* pos */2][0] - 1 | 0, msg); +} + +function illegal(s, pos, b) { + return error(s, pos, "illegal opcode " + string_of_byte(b)); +} + +function at(f, s) { + var left = s[/* pos */2][0]; + var x = Curry._1(f, s); + var right = s[/* pos */2][0]; + return Source.$at$at(x, region(s, left, right)); +} + +function u16(s) { + var lo = guard(get, s); + var hi = guard(get, s); + return (hi << 8) + lo | 0; +} + +function u32(s) { + var lo = u16(s); + var hi = u16(s); + return lo + (hi << 16) | 0; +} + +function u64(s) { + var lo = Caml_int64.of_int32(u32(s)); + var hi = Caml_int64.of_int32(u32(s)); + return Caml_int64.add(lo, Caml_int64.lsl_(hi, 32)); +} + +function vuN(n, s) { + $$require(+(n > 0), s, s[/* pos */2][0], "integer representation too long"); + var b = guard(get, s); + $$require(+(n >= 7 || (b & 127) < (1 << n)), s, s[/* pos */2][0] - 1 | 0, "integer too large"); + var x = Caml_int64.of_int32(b & 127); + if (b & 128) { + return Caml_int64.or_(x, Caml_int64.lsl_(vuN(n - 7 | 0, s), 7)); + } + else { + return x; + } +} + +function vsN(n, s) { + $$require(+(n > 0), s, s[/* pos */2][0], "integer representation too long"); + var b = guard(get, s); + var mask = (-1 << n) & 127; + $$require(+(n >= 7 || (b & mask) === 0 || (b & mask) === mask), s, s[/* pos */2][0] - 1 | 0, "integer too large"); + var x = Caml_int64.of_int32(b & 127); + if (b & 128) { + return Caml_int64.or_(x, Caml_int64.lsl_(vsN(n - 7 | 0, s), 7)); + } + else if (b & 64) { + return /* int64 */[ + /* hi */x[0] | /* hi */-1, + /* lo */((x[1] | /* lo */4294967168) >>> 0) + ]; + } + else { + return x; + } +} + +function vu32(s) { + return vuN(32, s)[1] | 0; +} + +function vs32(s) { + return vsN(32, s)[1] | 0; +} + +function vs64(s) { + return vsN(64, s); +} + +function f32(s) { + return Curry._1(F32.of_bits, u32(s)); +} + +function f64(s) { + return Curry._1(F64.of_bits, u64(s)); +} + +function len32(s) { + var pos = s[/* pos */2][0]; + var n = vuN(32, s)[1] | 0; + if (n <= s[/* bytes */1].length) { + return n; + } + else { + return error(s, pos, "length out of bounds"); + } +} + +function string(s) { + var n = len32(s); + return guard(function (param) { + var n$1 = n; + var s = param; + var i = s[/* pos */2][0]; + skip(n$1, s); + return $$String.sub(s[/* bytes */1], i, n$1); + }, s); +} + +function list(f, n, s) { + if (n) { + var x = Curry._1(f, s); + return /* :: */[ + x, + list(f, n - 1 | 0, s) + ]; + } + else { + return /* [] */0; + } +} + +function opt(f, b, s) { + if (b) { + return /* Some */[Curry._1(f, s)]; + } + else { + return /* None */0; + } +} + +function vec(f, s) { + var n = len32(s); + return list(f, n, s); +} + +function sized(f, s) { + var size = len32(s); + var start = s[/* pos */2][0]; + var x = Curry._2(f, size, s); + $$require(+(s[/* pos */2][0] === (start + size | 0)), s, start, "section size mismatch"); + return x; +} + +function value_type(s) { + var match = vsN(7, s)[1] | 0; + var switcher = match + 4 | 0; + if (switcher > 3 || switcher < 0) { + return error(s, s[/* pos */2][0] - 1 | 0, "invalid value type"); + } + else { + switch (switcher) { + case 0 : + return /* F64Type */3; + case 1 : + return /* F32Type */2; + case 2 : + return /* I64Type */1; + case 3 : + return /* I32Type */0; + + } + } +} + +function elem_type(s) { + var match = vsN(7, s)[1] | 0; + if (match !== -16) { + return error(s, s[/* pos */2][0] - 1 | 0, "invalid element type"); + } + else { + return /* AnyFuncType */0; + } +} + +function stack_type(s) { + var match = peek(s); + if (match) { + if (match[0] !== 64) { + return /* :: */[ + value_type(s), + /* [] */0 + ]; + } + else { + guard(function (param) { + return skip(1, param); + }, s); + return /* [] */0; + } + } + else { + return /* :: */[ + value_type(s), + /* [] */0 + ]; + } +} + +function func_type(s) { + var match = vsN(7, s)[1] | 0; + if (match !== -32) { + return error(s, s[/* pos */2][0] - 1 | 0, "invalid function type"); + } + else { + var ins = vec(value_type, s); + var out = vec(value_type, s); + return /* FuncType */[ + ins, + out + ]; + } +} + +function limits(vu, s) { + var has_max = +((vuN(1, s)[1] | 0) === 1); + var min = Curry._1(vu, s); + var max = opt(vu, has_max, s); + return /* record */[ + /* min */min, + /* max */max + ]; +} + +function table_type(s) { + var t = elem_type(s); + var lim = limits(vu32, s); + return /* TableType */[ + lim, + t + ]; +} + +function memory_type(s) { + var lim = limits(vu32, s); + return /* MemoryType */[lim]; +} + +function mutability(s) { + var match = guard(get, s); + if (match !== 0) { + if (match !== 1) { + return error(s, s[/* pos */2][0] - 1 | 0, "invalid mutability"); + } + else { + return /* Mutable */1; + } + } + else { + return /* Immutable */0; + } +} + +function global_type(s) { + var t = value_type(s); + var mut = mutability(s); + return /* GlobalType */[ + t, + mut + ]; +} + +function $$var(s) { + return vuN(32, s)[1] | 0; +} + +function memop(s) { + var align = vuN(32, s)[1] | 0; + $$require(Curry._2(I32.le_u, align, 32), s, s[/* pos */2][0] - 1 | 0, "invalid memop flags"); + var offset = vuN(32, s)[1] | 0; + return /* tuple */[ + align, + offset + ]; +} + +function instr(s) { + var pos = s[/* pos */2][0]; + var b = guard(get, s); + if (b > 191 || b < 0) { + return illegal(s, pos, b); + } + else { + switch (b) { + case 0 : + return Operators.unreachable; + case 1 : + return Operators.nop; + case 2 : + var ts = stack_type(s); + var es$prime = List.rev(instr_block$prime(s, /* [] */0)); + expect(11, s, "END opcode expected"); + return Operators.block(ts, es$prime); + case 3 : + var ts$1 = stack_type(s); + var es$prime$1 = List.rev(instr_block$prime(s, /* [] */0)); + expect(11, s, "END opcode expected"); + return Operators.loop(ts$1, es$prime$1); + case 4 : + var ts$2 = stack_type(s); + var es1 = List.rev(instr_block$prime(s, /* [] */0)); + if (Caml_obj.caml_equal(peek(s), /* Some */[5])) { + expect(5, s, "ELSE or END opcode expected"); + var es2 = List.rev(instr_block$prime(s, /* [] */0)); + expect(11, s, "END opcode expected"); + return Operators.if_(ts$2, es1, es2); + } + else { + expect(11, s, "END opcode expected"); + return Operators.if_(ts$2, es1, /* [] */0); + } + break; + case 5 : + return error(s, pos, "misplaced ELSE opcode"); + case 11 : + return error(s, pos, "misplaced END opcode"); + case 12 : + return Operators.br(at($$var, s)); + case 13 : + return Operators.br_if(at($$var, s)); + case 14 : + var xs = vec(function (param) { + return at($$var, param); + }, s); + var x = at($$var, s); + return Operators.br_table(xs, x); + case 15 : + return Operators.$$return; + case 16 : + return Operators.call(at($$var, s)); + case 17 : + var x$1 = at($$var, s); + expect(0, s, "zero flag expected"); + return Operators.call_indirect(x$1); + case 26 : + return Operators.drop; + case 27 : + return Operators.select; + case 32 : + return Operators.get_local(at($$var, s)); + case 33 : + return Operators.set_local(at($$var, s)); + case 34 : + return Operators.tee_local(at($$var, s)); + case 35 : + return Operators.get_global(at($$var, s)); + case 36 : + return Operators.set_global(at($$var, s)); + case 6 : + case 7 : + case 8 : + case 9 : + case 10 : + case 18 : + case 19 : + case 20 : + case 21 : + case 22 : + case 23 : + case 24 : + case 25 : + case 28 : + case 29 : + case 30 : + case 31 : + case 37 : + case 38 : + case 39 : + return illegal(s, pos, b); + case 40 : + var match = memop(s); + return Operators.i32_load(match[0], match[1]); + case 41 : + var match$1 = memop(s); + return Operators.i64_load(match$1[0], match$1[1]); + case 42 : + var match$2 = memop(s); + return Operators.f32_load(match$2[0], match$2[1]); + case 43 : + var match$3 = memop(s); + return Operators.f64_load(match$3[0], match$3[1]); + case 44 : + var match$4 = memop(s); + return Operators.i32_load8_s(match$4[0], match$4[1]); + case 45 : + var match$5 = memop(s); + return Operators.i32_load8_u(match$5[0], match$5[1]); + case 46 : + var match$6 = memop(s); + return Operators.i32_load16_s(match$6[0], match$6[1]); + case 47 : + var match$7 = memop(s); + return Operators.i32_load16_u(match$7[0], match$7[1]); + case 48 : + var match$8 = memop(s); + return Operators.i64_load8_s(match$8[0], match$8[1]); + case 49 : + var match$9 = memop(s); + return Operators.i64_load8_u(match$9[0], match$9[1]); + case 50 : + var match$10 = memop(s); + return Operators.i64_load16_s(match$10[0], match$10[1]); + case 51 : + var match$11 = memop(s); + return Operators.i64_load16_u(match$11[0], match$11[1]); + case 52 : + var match$12 = memop(s); + return Operators.i64_load32_s(match$12[0], match$12[1]); + case 53 : + var match$13 = memop(s); + return Operators.i64_load32_u(match$13[0], match$13[1]); + case 54 : + var match$14 = memop(s); + return Operators.i32_store(match$14[0], match$14[1]); + case 55 : + var match$15 = memop(s); + return Operators.i64_store(match$15[0], match$15[1]); + case 56 : + var match$16 = memop(s); + return Operators.f32_store(match$16[0], match$16[1]); + case 57 : + var match$17 = memop(s); + return Operators.f64_store(match$17[0], match$17[1]); + case 58 : + var match$18 = memop(s); + return Operators.i32_store8(match$18[0], match$18[1]); + case 59 : + var match$19 = memop(s); + return Operators.i32_store16(match$19[0], match$19[1]); + case 60 : + var match$20 = memop(s); + return Operators.i64_store8(match$20[0], match$20[1]); + case 61 : + var match$21 = memop(s); + return Operators.i64_store16(match$21[0], match$21[1]); + case 62 : + var match$22 = memop(s); + return Operators.i64_store32(match$22[0], match$22[1]); + case 63 : + expect(0, s, "zero flag expected"); + return Operators.current_memory; + case 64 : + expect(0, s, "zero flag expected"); + return Operators.grow_memory; + case 65 : + return Operators.i32_const(at(vs32, s)); + case 66 : + return Operators.i64_const(at(vs64, s)); + case 67 : + return Operators.f32_const(at(f32, s)); + case 68 : + return Operators.f64_const(at(f64, s)); + case 69 : + return Operators.i32_eqz; + case 70 : + return Operators.i32_eq; + case 71 : + return Operators.i32_ne; + case 72 : + return Operators.i32_lt_s; + case 73 : + return Operators.i32_lt_u; + case 74 : + return Operators.i32_gt_s; + case 75 : + return Operators.i32_gt_u; + case 76 : + return Operators.i32_le_s; + case 77 : + return Operators.i32_le_u; + case 78 : + return Operators.i32_ge_s; + case 79 : + return Operators.i32_ge_u; + case 80 : + return Operators.i64_eqz; + case 81 : + return Operators.i64_eq; + case 82 : + return Operators.i64_ne; + case 83 : + return Operators.i64_lt_s; + case 84 : + return Operators.i64_lt_u; + case 85 : + return Operators.i64_gt_s; + case 86 : + return Operators.i64_gt_u; + case 87 : + return Operators.i64_le_s; + case 88 : + return Operators.i64_le_u; + case 89 : + return Operators.i64_ge_s; + case 90 : + return Operators.i64_ge_u; + case 91 : + return Operators.f32_eq; + case 92 : + return Operators.f32_ne; + case 93 : + return Operators.f32_lt; + case 94 : + return Operators.f32_gt; + case 95 : + return Operators.f32_le; + case 96 : + return Operators.f32_ge; + case 97 : + return Operators.f64_eq; + case 98 : + return Operators.f64_ne; + case 99 : + return Operators.f64_lt; + case 100 : + return Operators.f64_gt; + case 101 : + return Operators.f64_le; + case 102 : + return Operators.f64_ge; + case 103 : + return Operators.i32_clz; + case 104 : + return Operators.i32_ctz; + case 105 : + return Operators.i32_popcnt; + case 106 : + return Operators.i32_add; + case 107 : + return Operators.i32_sub; + case 108 : + return Operators.i32_mul; + case 109 : + return Operators.i32_div_s; + case 110 : + return Operators.i32_div_u; + case 111 : + return Operators.i32_rem_s; + case 112 : + return Operators.i32_rem_u; + case 113 : + return Operators.i32_and; + case 114 : + return Operators.i32_or; + case 115 : + return Operators.i32_xor; + case 116 : + return Operators.i32_shl; + case 117 : + return Operators.i32_shr_s; + case 118 : + return Operators.i32_shr_u; + case 119 : + return Operators.i32_rotl; + case 120 : + return Operators.i32_rotr; + case 121 : + return Operators.i64_clz; + case 122 : + return Operators.i64_ctz; + case 123 : + return Operators.i64_popcnt; + case 124 : + return Operators.i64_add; + case 125 : + return Operators.i64_sub; + case 126 : + return Operators.i64_mul; + case 127 : + return Operators.i64_div_s; + case 128 : + return Operators.i64_div_u; + case 129 : + return Operators.i64_rem_s; + case 130 : + return Operators.i64_rem_u; + case 131 : + return Operators.i64_and; + case 132 : + return Operators.i64_or; + case 133 : + return Operators.i64_xor; + case 134 : + return Operators.i64_shl; + case 135 : + return Operators.i64_shr_s; + case 136 : + return Operators.i64_shr_u; + case 137 : + return Operators.i64_rotl; + case 138 : + return Operators.i64_rotr; + case 139 : + return Operators.f32_abs; + case 140 : + return Operators.f32_neg; + case 141 : + return Operators.f32_ceil; + case 142 : + return Operators.f32_floor; + case 143 : + return Operators.f32_trunc; + case 144 : + return Operators.f32_nearest; + case 145 : + return Operators.f32_sqrt; + case 146 : + return Operators.f32_add; + case 147 : + return Operators.f32_sub; + case 148 : + return Operators.f32_mul; + case 149 : + return Operators.f32_div; + case 150 : + return Operators.f32_min; + case 151 : + return Operators.f32_max; + case 152 : + return Operators.f32_copysign; + case 153 : + return Operators.f64_abs; + case 154 : + return Operators.f64_neg; + case 155 : + return Operators.f64_ceil; + case 156 : + return Operators.f64_floor; + case 157 : + return Operators.f64_trunc; + case 158 : + return Operators.f64_nearest; + case 159 : + return Operators.f64_sqrt; + case 160 : + return Operators.f64_add; + case 161 : + return Operators.f64_sub; + case 162 : + return Operators.f64_mul; + case 163 : + return Operators.f64_div; + case 164 : + return Operators.f64_min; + case 165 : + return Operators.f64_max; + case 166 : + return Operators.f64_copysign; + case 167 : + return Operators.i32_wrap_i64; + case 168 : + return Operators.i32_trunc_s_f32; + case 169 : + return Operators.i32_trunc_u_f32; + case 170 : + return Operators.i32_trunc_s_f64; + case 171 : + return Operators.i32_trunc_u_f64; + case 172 : + return Operators.i64_extend_s_i32; + case 173 : + return Operators.i64_extend_u_i32; + case 174 : + return Operators.i64_trunc_s_f32; + case 175 : + return Operators.i64_trunc_u_f32; + case 176 : + return Operators.i64_trunc_s_f64; + case 177 : + return Operators.i64_trunc_u_f64; + case 178 : + return Operators.f32_convert_s_i32; + case 179 : + return Operators.f32_convert_u_i32; + case 180 : + return Operators.f32_convert_s_i64; + case 181 : + return Operators.f32_convert_u_i64; + case 182 : + return Operators.f32_demote_f64; + case 183 : + return Operators.f64_convert_s_i32; + case 184 : + return Operators.f64_convert_u_i32; + case 185 : + return Operators.f64_convert_s_i64; + case 186 : + return Operators.f64_convert_u_i64; + case 187 : + return Operators.f64_promote_f32; + case 188 : + return Operators.i32_reinterpret_f32; + case 189 : + return Operators.i64_reinterpret_f64; + case 190 : + return Operators.f32_reinterpret_i32; + case 191 : + return Operators.f64_reinterpret_i64; + + } + } +} + +function instr_block$prime(s, _es) { + while(true) { + var es = _es; + var match = peek(s); + if (match) { + var match$1 = match[0]; + if (match$1 !== 5) { + if (match$1 !== 11) { + var pos = s[/* pos */2][0]; + var e$prime = instr(s); + _es = /* :: */[ + Source.$at$at(e$prime, region(s, pos, pos)), + es + ]; + continue ; + + } + else { + return es; + } + } + else { + return es; + } + } + else { + return es; + } + }; +} + +function instr_block(s) { + return List.rev(instr_block$prime(s, /* [] */0)); +} + +function $$const(s) { + var c = at(instr_block, s); + expect(11, s, "END opcode expected"); + return c; +} + +function id(s) { + var bo = peek(s); + return Curry._2(Lib.Option[/* map */1], function (param) { + if (param > 11 || param < 0) { + return error(s, s[/* pos */2][0], "invalid section id"); + } + else { + switch (param) { + case 0 : + return /* CustomSection */-808010220; + case 1 : + return /* TypeSection */836501035; + case 2 : + return /* ImportSection */696517344; + case 3 : + return /* FuncSection */205556449; + case 4 : + return /* TableSection */1031864215; + case 5 : + return /* MemorySection */-840203068; + case 6 : + return /* GlobalSection */-872313182; + case 7 : + return /* ExportSection */-440679759; + case 8 : + return /* StartSection */395720131; + case 9 : + return /* ElemSection */440380662; + case 10 : + return /* CodeSection */1021133848; + case 11 : + return /* DataSection */66447547; + + } + } + }, bo); +} + +function section_with_size(tag, f, $$default, s) { + var match = id(s); + if (match && Caml_obj.caml_equal(match[0], tag)) { + guard(get, s); + return sized(f, s); + } + else { + return $$default; + } +} + +function section(tag, f, $$default, s) { + return section_with_size(tag, function () { + return f; + }, $$default, s); +} + +function type_section(s) { + return section(/* TypeSection */836501035, function (param) { + return vec(func_type, param); + }, /* [] */0, s); +} + +function import_kind(s) { + var match = guard(get, s); + if (match > 3 || match < 0) { + return error(s, s[/* pos */2][0] - 1 | 0, "invalid import kind"); + } + else { + switch (match) { + case 0 : + return /* FuncImport */Block.__(0, [at($$var, s)]); + case 1 : + return /* TableImport */Block.__(1, [table_type(s)]); + case 2 : + return /* MemoryImport */Block.__(2, [memory_type(s)]); + case 3 : + return /* GlobalImport */Block.__(3, [global_type(s)]); + + } + } +} + +function $$import(s) { + var module_name = string(s); + var item_name = string(s); + var ikind = at(import_kind, s); + return /* record */[ + /* module_name */module_name, + /* item_name */item_name, + /* ikind */ikind + ]; +} + +function import_section(s) { + return section(/* ImportSection */696517344, function (param) { + return vec(function (param) { + return at($$import, param); + }, param); + }, /* [] */0, s); +} + +function func_section(s) { + return section(/* FuncSection */205556449, function (param) { + return vec(function (param) { + return at($$var, param); + }, param); + }, /* [] */0, s); +} + +function table(s) { + var ttype = table_type(s); + return /* record */[/* ttype */ttype]; +} + +function table_section(s) { + return section(/* TableSection */1031864215, function (param) { + return vec(function (param) { + return at(table, param); + }, param); + }, /* [] */0, s); +} + +function memory(s) { + var mtype = memory_type(s); + return /* record */[/* mtype */mtype]; +} + +function memory_section(s) { + return section(/* MemorySection */-840203068, function (param) { + return vec(function (param) { + return at(memory, param); + }, param); + }, /* [] */0, s); +} + +function global(s) { + var gtype = global_type(s); + var value = $$const(s); + return /* record */[ + /* gtype */gtype, + /* value */value + ]; +} + +function global_section(s) { + return section(/* GlobalSection */-872313182, function (param) { + return vec(function (param) { + return at(global, param); + }, param); + }, /* [] */0, s); +} + +function export_kind(s) { + var match = guard(get, s); + if (match > 3 || match < 0) { + return error(s, s[/* pos */2][0] - 1 | 0, "invalid export kind"); + } + else { + switch (match) { + case 0 : + return /* FuncExport */0; + case 1 : + return /* TableExport */1; + case 2 : + return /* MemoryExport */2; + case 3 : + return /* GlobalExport */3; + + } + } +} + +function $$export(s) { + var name = string(s); + var ekind = at(export_kind, s); + var item = at($$var, s); + return /* record */[ + /* name */name, + /* ekind */ekind, + /* item */item + ]; +} + +function export_section(s) { + return section(/* ExportSection */-440679759, function (param) { + return vec(function (param) { + return at($$export, param); + }, param); + }, /* [] */0, s); +} + +function start_section(s) { + return section(/* StartSection */395720131, function (param) { + return /* Some */[at($$var, param)]; + }, /* None */0, s); +} + +function local(s) { + var n = len32(s); + var t = value_type(s); + return Curry._2(Lib.List[/* make */0], n, t); +} + +function code(_, s) { + var locals = List.flatten(vec(local, s)); + var body = List.rev(instr_block$prime(s, /* [] */0)); + expect(11, s, "END opcode expected"); + return /* record */[ + /* ftype */Source.$at$at(-1, Source.no_region), + /* locals */locals, + /* body */body + ]; +} + +function code_section(s) { + return section(/* CodeSection */1021133848, function (param) { + return vec(function (param) { + return at(function (param) { + return sized(code, param); + }, param); + }, param); + }, /* [] */0, s); +} + +function segment(dat, s) { + var index = at($$var, s); + var offset = $$const(s); + var init = Curry._1(dat, s); + return /* record */[ + /* index */index, + /* offset */offset, + /* init */init + ]; +} + +function table_segment(s) { + return segment(function (param) { + return vec(function (param) { + return at($$var, param); + }, param); + }, s); +} + +function elem_section(s) { + return section(/* ElemSection */440380662, function (param) { + return vec(function (param) { + return at(table_segment, param); + }, param); + }, /* [] */0, s); +} + +function memory_segment(s) { + return segment(string, s); +} + +function data_section(s) { + return section(/* DataSection */66447547, function (param) { + return vec(function (param) { + return at(memory_segment, param); + }, param); + }, /* [] */0, s); +} + +function custom(size, s) { + var start = s[/* pos */2][0]; + string(s); + var partial_arg = size - (s[/* pos */2][0] - start | 0) | 0; + var partial_arg$1 = function (param) { + return skip(partial_arg, param); + }; + (function (param) { + return guard(partial_arg$1, param); + }(s)); + return /* true */1; +} + +function custom_section(s) { + return section_with_size(/* CustomSection */-808010220, custom, /* false */0, s); +} + +function iterate(f, s) { + while(true) { + if (Curry._1(f, s)) { + continue ; + + } + else { + return 0; + } + }; +} + +function module_(s) { + var magic = u32(s); + $$require(+(magic === 1836278016), s, 0, "magic header not detected"); + var version = u32(s); + $$require(+(version === Encode.version), s, 4, "unknown binary version"); + iterate(custom_section, s); + var types = type_section(s); + iterate(custom_section, s); + var imports = import_section(s); + iterate(custom_section, s); + var func_types = func_section(s); + iterate(custom_section, s); + var tables = table_section(s); + iterate(custom_section, s); + var memories = memory_section(s); + iterate(custom_section, s); + var globals = global_section(s); + iterate(custom_section, s); + var $$exports = export_section(s); + iterate(custom_section, s); + var start = start_section(s); + iterate(custom_section, s); + var elems = elem_section(s); + iterate(custom_section, s); + var func_bodies = code_section(s); + iterate(custom_section, s); + var data = data_section(s); + iterate(custom_section, s); + $$require(+(s[/* pos */2][0] === s[/* bytes */1].length), s, s[/* bytes */1].length, "junk after last section"); + $$require(+(List.length(func_types) === List.length(func_bodies)), s, s[/* bytes */1].length, "function and code section have inconsistent lengths"); + var funcs = List.map2(function (t, f) { + var init = f[/* it */1]; + return Source.$at$at(/* record */[ + /* ftype */t, + /* locals */init[/* locals */1], + /* body */init[/* body */2] + ], f[/* at */0]); + }, func_types, func_bodies); + return /* record */[ + /* types */types, + /* globals */globals, + /* tables */tables, + /* memories */memories, + /* funcs */funcs, + /* start */start, + /* elems */elems, + /* data */data, + /* imports */imports, + /* exports */$$exports + ]; +} + +function decode(name, bs) { + return at(module_, stream(name, bs)); +} + +exports.Code = Code$1; +exports.decode = decode; +/* Code Not a pure module */ +//////// end of decode.js //////// +    return exports; +  }; + + + _registry['encode'] = function() { +    let exports = {}; +//////// start of encode.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var F32 = require("./f32"); +var F64 = require("./f64"); +var Lib = require("./lib"); +var Char = require("bs-platform/lib/js/char"); +var List = require("bs-platform/lib/js/list"); +var Bytes = require("bs-platform/lib/js/bytes"); +var Curry = require("bs-platform/lib/js/curry"); +var $$Error = require("./error"); +var Buffer = require("bs-platform/lib/js/buffer"); +var Source = require("./source"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Caml_int64 = require("bs-platform/lib/js/caml_int64"); +var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions"); + +var Code = $$Error.Make(/* module */[]); + +var Code$1 = Code[/* Error */0]; + +function stream() { + return /* record */[ + /* buf */Buffer.create(8192), + /* patches */[/* [] */0] + ]; +} + +function patch(s, pos, b) { + s[/* patches */1][0] = /* :: */[ + /* tuple */[ + pos, + b + ], + s[/* patches */1][0] + ]; + return /* () */0; +} + +function encode(m) { + var s = stream(/* () */0); + var u8 = function (i) { + var b = Char.chr(i & 255); + return Buffer.add_char(s[/* buf */0], b); + }; + var u16 = function (i) { + u8(i & 255); + return u8((i >>> 8)); + }; + var u32 = function (i) { + u16(i & 65535); + return u16((i >> 16)); + }; + var vu64 = function (_i) { + while(true) { + var i = _i; + var b = i[1] & /* lo */127 | 0; + if (Caml_int64.le(/* int64 */[ + /* hi */0, + /* lo */0 + ], i) && Caml_int64.lt(i, /* int64 */[ + /* hi */0, + /* lo */128 + ])) { + return u8(b); + } + else { + u8(b | 128); + _i = Caml_int64.lsr_(i, 7); + continue ; + + } + }; + }; + var vs64 = function (_i) { + while(true) { + var i = _i; + var b = i[1] & /* lo */127 | 0; + if (Caml_int64.le(/* int64 */[ + /* hi */-1, + /* lo */4294967232 + ], i) && Caml_int64.lt(i, /* int64 */[ + /* hi */0, + /* lo */64 + ])) { + return u8(b); + } + else { + u8(b | 128); + _i = Caml_int64.asr_(i, 7); + continue ; + + } + }; + }; + var vu32 = function (i) { + return vu64(Caml_int64.and_(Caml_int64.of_int32(i), /* int64 */[ + /* hi */0, + /* lo */4294967295 + ])); + }; + var len = function (i) { + if (i !== i) { + Curry._2(Code[/* error */2], Source.no_region, "cannot encode length with more than 32 bit"); + } + return vu32(i); + }; + var bool = function (b) { + var i = b ? 1 : 0; + return vu64(Caml_int64.and_(Caml_int64.of_int32(i), /* int64 */[ + /* hi */0, + /* lo */1 + ])); + }; + var string = function (bs) { + len(bs.length); + return Buffer.add_string(s[/* buf */0], bs); + }; + var vec = function (f, xs) { + len(List.length(xs)); + return List.iter(f, xs); + }; + var gap32 = function () { + var p = Buffer.length(s[/* buf */0]); + u32(0); + u8(0); + return p; + }; + var patch_gap32 = function (p, n) { + if (n > 268435455) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 80, + 6 + ] + ]; + } + patch(s, p, Char.chr((n | 128) & 255)); + patch(s, p + 1 | 0, Char.chr(((n >>> 7) | 128) & 255)); + patch(s, p + 2 | 0, Char.chr(((n >>> 14) | 128) & 255)); + patch(s, p + 3 | 0, Char.chr(((n >>> 21) | 128) & 255)); + return patch(s, p + 4 | 0, Char.chr((n >>> 28) & 255)); + }; + var value_type = function (param) { + switch (param) { + case 0 : + return vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967295 + ]); + case 1 : + return vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967294 + ]); + case 2 : + return vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967293 + ]); + case 3 : + return vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967292 + ]); + + } + }; + var stack_type = function (param) { + if (param) { + if (param[1]) { + return Curry._2(Code[/* error */2], Source.no_region, "cannot encode stack type with arity > 1 (yet)"); + } + else { + return value_type(param[0]); + } + } + else { + return vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967232 + ]); + } + }; + var func_type = function (param) { + vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967264 + ]); + vec(value_type, param[0]); + return vec(value_type, param[1]); + }; + var limits = function (vu, param) { + var max = param[/* max */1]; + bool(+(max !== /* None */0)); + Curry._1(vu, param[/* min */0]); + return Curry._2(Lib.Option[/* app */2], vu, max); + }; + var table_type = function (param) { + vs64(/* int64 */[ + /* hi */-1, + /* lo */4294967280 + ]); + return limits(vu32, param[0]); + }; + var memory_type = function (param) { + return limits(vu32, param[0]); + }; + var global_type = function (param) { + value_type(param[0]); + var param$1 = param[1]; + if (param$1 !== 0) { + return u8(1); + } + else { + return u8(0); + } + }; + var memop = function (param) { + vu32(param[/* align */1]); + return vu32(param[/* offset */2]); + }; + var $$var = function (x) { + return vu32(x[/* it */1]); + }; + var instr = function (e) { + var match = e[/* it */1]; + if (typeof match === "number") { + switch (match) { + case 0 : + return u8(0); + case 1 : + return u8(1); + case 2 : + return u8(15); + case 3 : + return u8(26); + case 4 : + return u8(27); + case 5 : + u8(63); + return u8(0); + case 6 : + u8(64); + return u8(0); + + } + } + else { + switch (match.tag | 0) { + case 0 : + u8(2); + stack_type(match[0]); + List.iter(instr, match[1]); + return u8(11); + case 1 : + u8(3); + stack_type(match[0]); + List.iter(instr, match[1]); + return u8(11); + case 2 : + var es2 = match[2]; + u8(4); + stack_type(match[0]); + List.iter(instr, match[1]); + if (es2 !== /* [] */0) { + u8(5); + } + List.iter(instr, es2); + return u8(11); + case 3 : + u8(12); + return vu32(match[0][/* it */1]); + case 4 : + u8(13); + return vu32(match[0][/* it */1]); + case 5 : + u8(14); + vec($$var, match[0]); + return vu32(match[1][/* it */1]); + case 6 : + u8(16); + return vu32(match[0][/* it */1]); + case 7 : + u8(17); + vu32(match[0][/* it */1]); + return u8(0); + case 8 : + u8(32); + return vu32(match[0][/* it */1]); + case 9 : + u8(33); + return vu32(match[0][/* it */1]); + case 10 : + u8(34); + return vu32(match[0][/* it */1]); + case 11 : + u8(35); + return vu32(match[0][/* it */1]); + case 12 : + u8(36); + return vu32(match[0][/* it */1]); + case 13 : + var mo = match[0]; + switch (mo[/* ty */0]) { + case 0 : + var match$1 = mo[/* sz */3]; + if (match$1) { + var match$2 = match$1[0]; + switch (match$2[0]) { + case 0 : + if (match$2[1] !== 0) { + u8(45); + return memop(mo); + } + else { + u8(44); + return memop(mo); + } + case 1 : + if (match$2[1] !== 0) { + u8(47); + return memop(mo); + } + else { + u8(46); + return memop(mo); + } + case 2 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 182, + 8 + ] + ]; + + } + } + else { + u8(40); + return memop(mo); + } + break; + case 1 : + var match$3 = mo[/* sz */3]; + if (match$3) { + var match$4 = match$3[0]; + switch (match$4[0]) { + case 0 : + if (match$4[1] !== 0) { + u8(49); + return memop(mo); + } + else { + u8(48); + return memop(mo); + } + case 1 : + if (match$4[1] !== 0) { + u8(51); + return memop(mo); + } + else { + u8(50); + return memop(mo); + } + case 2 : + if (match$4[1] !== 0) { + u8(53); + return memop(mo); + } + else { + u8(52); + return memop(mo); + } + + } + } + else { + u8(41); + return memop(mo); + } + break; + case 2 : + if (mo[/* sz */3]) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 196, + 8 + ] + ]; + } + else { + u8(42); + return memop(mo); + } + break; + case 3 : + if (mo[/* sz */3]) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 196, + 8 + ] + ]; + } + else { + u8(43); + return memop(mo); + } + break; + + } + break; + case 14 : + var mo$1 = match[0]; + switch (mo$1[/* ty */0]) { + case 0 : + var match$5 = mo$1[/* sz */3]; + if (match$5) { + switch (match$5[0]) { + case 0 : + u8(58); + return memop(mo$1); + case 1 : + u8(59); + return memop(mo$1); + case 2 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 204, + 52 + ] + ]; + + } + } + else { + u8(54); + return memop(mo$1); + } + break; + case 1 : + var match$6 = mo$1[/* sz */3]; + if (match$6) { + switch (match$6[0]) { + case 0 : + u8(60); + return memop(mo$1); + case 1 : + u8(61); + return memop(mo$1); + case 2 : + u8(62); + return memop(mo$1); + + } + } + else { + u8(55); + return memop(mo$1); + } + break; + case 2 : + if (mo$1[/* sz */3]) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 208, + 58 + ] + ]; + } + else { + u8(56); + return memop(mo$1); + } + break; + case 3 : + if (mo$1[/* sz */3]) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 208, + 58 + ] + ]; + } + else { + u8(57); + return memop(mo$1); + } + break; + + } + break; + case 15 : + var match$7 = match[0][/* it */1]; + switch (match$7.tag | 0) { + case 0 : + u8(65); + return vs64(Caml_int64.of_int32(match$7[0])); + case 1 : + u8(66); + return vs64(match$7[0]); + case 2 : + u8(67); + return u32(Curry._1(F32.to_bits, match$7[0])); + case 3 : + u8(68); + var i = Curry._1(F64.to_bits, match$7[0]); + u32(i[1] & /* lo */4294967295 | 0); + return u32(Caml_int64.asr_(i, 32)[1] | 0); + + } + break; + case 16 : + switch (match[0].tag | 0) { + case 0 : + return u8(69); + case 1 : + return u8(80); + case 2 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 220, + 24 + ] + ]; + case 3 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 221, + 24 + ] + ]; + + } + break; + case 17 : + var match$8 = match[0]; + switch (match$8.tag | 0) { + case 0 : + switch (match$8[0]) { + case 0 : + return u8(70); + case 1 : + return u8(71); + case 2 : + return u8(72); + case 3 : + return u8(73); + case 4 : + return u8(74); + case 5 : + return u8(75); + case 6 : + return u8(76); + case 7 : + return u8(77); + case 8 : + return u8(78); + case 9 : + return u8(79); + + } + break; + case 1 : + switch (match$8[0]) { + case 0 : + return u8(81); + case 1 : + return u8(82); + case 2 : + return u8(83); + case 3 : + return u8(84); + case 4 : + return u8(85); + case 5 : + return u8(86); + case 6 : + return u8(87); + case 7 : + return u8(88); + case 8 : + return u8(89); + case 9 : + return u8(90); + + } + break; + case 2 : + switch (match$8[0]) { + case 0 : + return u8(91); + case 1 : + return u8(92); + case 2 : + return u8(93); + case 3 : + return u8(94); + case 4 : + return u8(95); + case 5 : + return u8(96); + + } + break; + case 3 : + switch (match$8[0]) { + case 0 : + return u8(97); + case 1 : + return u8(98); + case 2 : + return u8(99); + case 3 : + return u8(100); + case 4 : + return u8(101); + case 5 : + return u8(102); + + } + break; + + } + break; + case 18 : + var match$9 = match[0]; + switch (match$9.tag | 0) { + case 0 : + switch (match$9[0]) { + case 0 : + return u8(103); + case 1 : + return u8(104); + case 2 : + return u8(105); + + } + break; + case 1 : + switch (match$9[0]) { + case 0 : + return u8(121); + case 1 : + return u8(122); + case 2 : + return u8(123); + + } + break; + case 2 : + switch (match$9[0]) { + case 0 : + return u8(140); + case 1 : + return u8(139); + case 2 : + return u8(141); + case 3 : + return u8(142); + case 4 : + return u8(143); + case 5 : + return u8(144); + case 6 : + return u8(145); + + } + break; + case 3 : + switch (match$9[0]) { + case 0 : + return u8(154); + case 1 : + return u8(153); + case 2 : + return u8(155); + case 3 : + return u8(156); + case 4 : + return u8(157); + case 5 : + return u8(158); + case 6 : + return u8(159); + + } + break; + + } + break; + case 19 : + var match$10 = match[0]; + switch (match$10.tag | 0) { + case 0 : + switch (match$10[0]) { + case 0 : + return u8(106); + case 1 : + return u8(107); + case 2 : + return u8(108); + case 3 : + return u8(109); + case 4 : + return u8(110); + case 5 : + return u8(111); + case 6 : + return u8(112); + case 7 : + return u8(113); + case 8 : + return u8(114); + case 9 : + return u8(115); + case 10 : + return u8(116); + case 11 : + return u8(117); + case 12 : + return u8(118); + case 13 : + return u8(119); + case 14 : + return u8(120); + + } + break; + case 1 : + switch (match$10[0]) { + case 0 : + return u8(124); + case 1 : + return u8(125); + case 2 : + return u8(126); + case 3 : + return u8(127); + case 4 : + return u8(128); + case 5 : + return u8(129); + case 6 : + return u8(130); + case 7 : + return u8(131); + case 8 : + return u8(132); + case 9 : + return u8(133); + case 10 : + return u8(134); + case 11 : + return u8(135); + case 12 : + return u8(136); + case 13 : + return u8(137); + case 14 : + return u8(138); + + } + break; + case 2 : + switch (match$10[0]) { + case 0 : + return u8(146); + case 1 : + return u8(147); + case 2 : + return u8(148); + case 3 : + return u8(149); + case 4 : + return u8(150); + case 5 : + return u8(151); + case 6 : + return u8(152); + + } + break; + case 3 : + switch (match$10[0]) { + case 0 : + return u8(160); + case 1 : + return u8(161); + case 2 : + return u8(162); + case 3 : + return u8(163); + case 4 : + return u8(164); + case 5 : + return u8(165); + case 6 : + return u8(166); + + } + break; + + } + break; + case 20 : + var match$11 = match[0]; + switch (match$11.tag | 0) { + case 0 : + switch (match$11[0]) { + case 0 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 331, + 42 + ] + ]; + case 1 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 332, + 42 + ] + ]; + case 2 : + return u8(167); + case 3 : + return u8(168); + case 4 : + return u8(169); + case 5 : + return u8(170); + case 6 : + return u8(171); + case 7 : + return u8(188); + + } + break; + case 1 : + switch (match$11[0]) { + case 0 : + return u8(172); + case 1 : + return u8(173); + case 2 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 342, + 39 + ] + ]; + case 3 : + return u8(174); + case 4 : + return u8(175); + case 5 : + return u8(176); + case 6 : + return u8(177); + case 7 : + return u8(189); + + } + break; + case 2 : + switch (match$11[0]) { + case 0 : + return u8(178); + case 1 : + return u8(179); + case 2 : + return u8(180); + case 3 : + return u8(181); + case 4 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 353, + 42 + ] + ]; + case 5 : + return u8(182); + case 6 : + return u8(190); + + } + break; + case 3 : + switch (match$11[0]) { + case 0 : + return u8(183); + case 1 : + return u8(184); + case 2 : + return u8(185); + case 3 : + return u8(186); + case 4 : + return u8(187); + case 5 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "/usr/local/google/home/rossberg/wasm/spec/interpreter/_build/jslib/src/encode.ml", + 362, + 41 + ] + ]; + case 6 : + return u8(191); + + } + break; + + } + break; + + } + } + }; + var $$const = function (c) { + List.iter(instr, c[/* it */1]); + return u8(11); + }; + var section = function (id, f, x, needed) { + if (needed) { + u8(id); + var g = gap32(/* () */0); + var p = Buffer.length(s[/* buf */0]); + Curry._1(f, x); + return patch_gap32(g, Buffer.length(s[/* buf */0]) - p | 0); + } + else { + return 0; + } + }; + var type_section = function (ts) { + return section(1, function (param) { + return vec(func_type, param); + }, ts, +(ts !== /* [] */0)); + }; + var $$import = function (im) { + var match = im[/* it */1]; + string(match[/* module_name */0]); + string(match[/* item_name */1]); + var k = match[/* ikind */2]; + var match$1 = k[/* it */1]; + switch (match$1.tag | 0) { + case 0 : + u8(0); + return vu32(match$1[0][/* it */1]); + case 1 : + u8(1); + return table_type(match$1[0]); + case 2 : + u8(2); + return memory_type(match$1[0]); + case 3 : + u8(3); + return global_type(match$1[0]); + + } + }; + var import_section = function (ims) { + return section(2, function (param) { + return vec($$import, param); + }, ims, +(ims !== /* [] */0)); + }; + var func = function (f) { + return vu32(f[/* it */1][/* ftype */0][/* it */1]); + }; + var func_section = function (fs) { + return section(3, function (param) { + return vec(func, param); + }, fs, +(fs !== /* [] */0)); + }; + var table = function (tab) { + var match = tab[/* it */1]; + return table_type(match[/* ttype */0]); + }; + var table_section = function (tabs) { + return section(4, function (param) { + return vec(table, param); + }, tabs, +(tabs !== /* [] */0)); + }; + var memory = function (mem) { + var match = mem[/* it */1]; + return memory_type(match[/* mtype */0]); + }; + var memory_section = function (mems) { + return section(5, function (param) { + return vec(memory, param); + }, mems, +(mems !== /* [] */0)); + }; + var global = function (g) { + var match = g[/* it */1]; + global_type(match[/* gtype */0]); + return $$const(match[/* value */1]); + }; + var global_section = function (gs) { + return section(6, function (param) { + return vec(global, param); + }, gs, +(gs !== /* [] */0)); + }; + var export_kind = function (k) { + var match = k[/* it */1]; + switch (match) { + case 0 : + return u8(0); + case 1 : + return u8(1); + case 2 : + return u8(2); + case 3 : + return u8(3); + + } + }; + var $$export = function (ex) { + var match = ex[/* it */1]; + string(match[/* name */0]); + export_kind(match[/* ekind */1]); + return vu32(match[/* item */2][/* it */1]); + }; + var export_section = function (exs) { + return section(7, function (param) { + return vec($$export, param); + }, exs, +(exs !== /* [] */0)); + }; + var start_section = function (xo) { + return section(8, function (param) { + return Curry._2(Lib.Option[/* app */2], $$var, param); + }, xo, +(xo !== /* None */0)); + }; + var compress = function (ts) { + var combine = function (t, ts) { + if (ts) { + var match = ts[0]; + if (Caml_obj.caml_equal(t, match[0])) { + return /* :: */[ + /* tuple */[ + t, + match[1] + 1 | 0 + ], + ts[1] + ]; + } + else { + return /* :: */[ + /* tuple */[ + t, + 1 + ], + ts + ]; + } + } + else { + return /* :: */[ + /* tuple */[ + t, + 1 + ], + ts + ]; + } + }; + return List.fold_right(combine, ts, /* [] */0); + }; + var local = function (param) { + len(param[1]); + return value_type(param[0]); + }; + var code = function (f) { + var match = f[/* it */1]; + var g = gap32(/* () */0); + var p = Buffer.length(s[/* buf */0]); + vec(local, compress(match[/* locals */1])); + List.iter(instr, match[/* body */2]); + u8(11); + return patch_gap32(g, Buffer.length(s[/* buf */0]) - p | 0); + }; + var code_section = function (fs) { + return section(10, function (param) { + return vec(code, param); + }, fs, +(fs !== /* [] */0)); + }; + var segment = function (dat, seg) { + var match = seg[/* it */1]; + vu32(match[/* index */0][/* it */1]); + $$const(match[/* offset */1]); + return Curry._1(dat, match[/* init */2]); + }; + var table_segment = function (seg) { + return segment(function (param) { + return vec($$var, param); + }, seg); + }; + var elem_section = function (elems) { + return section(9, function (param) { + return vec(table_segment, param); + }, elems, +(elems !== /* [] */0)); + }; + var memory_segment = function (seg) { + return segment(string, seg); + }; + var module_ = function (m) { + u32(1836278016); + u32(13); + type_section(m[/* it */1][/* types */0]); + import_section(m[/* it */1][/* imports */8]); + func_section(m[/* it */1][/* funcs */4]); + table_section(m[/* it */1][/* tables */2]); + memory_section(m[/* it */1][/* memories */3]); + global_section(m[/* it */1][/* globals */1]); + export_section(m[/* it */1][/* exports */9]); + start_section(m[/* it */1][/* start */5]); + elem_section(m[/* it */1][/* elems */6]); + code_section(m[/* it */1][/* funcs */4]); + var data = m[/* it */1][/* data */7]; + return section(11, function (param) { + return vec(memory_segment, param); + }, data, +(data !== /* [] */0)); + }; + module_(m); + var s$1 = s; + var bs = Buffer.to_bytes(s$1[/* buf */0]); + List.iter(function (param) { + bs[param[0]] = param[1]; + return /* () */0; + }, s$1[/* patches */1][0]); + return Bytes.to_string(bs); +} + +var version = 13; + +exports.Code = Code$1; +exports.version = version; +exports.encode = encode; +/* Code Not a pure module */ +//////// end of encode.js //////// +    return exports; +  }; + + + _registry['error'] = function() { +    let exports = {}; +//////// start of error.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Source = require("./source"); +var Caml_exceptions = require("bs-platform/lib/js/caml_exceptions"); + +function Make() { + var $$Error = Caml_exceptions.create("Error.Make(*).Error"); + var warn = function (at, m) { + console.error(Source.string_of_region(at) + (": warning: " + m)); + return /* () */0; + }; + var error = function (at, m) { + throw [ + $$Error, + at, + m + ]; + }; + return /* module */[ + /* Error */$$Error, + /* warn */warn, + /* error */error + ]; +} + +exports.Make = Make; +/* No side effect */ +//////// end of error.js //////// +    return exports; +  }; + + + _registry['f32'] = function() { +    let exports = {}; +//////// start of f32.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Float = require("./float"); +var Int32 = require("bs-platform/lib/js/int32"); +var Printf = require("bs-platform/lib/js/printf"); +var Caml_float = require("bs-platform/lib/js/caml_float"); +var Caml_format = require("bs-platform/lib/js/caml_format"); + +function print_nan_significand_digits(a) { + return Curry._1(Printf.sprintf(/* Format */[ + /* Int32 */Block.__(5, [ + /* Int_x */6, + /* No_padding */0, + /* No_precision */0, + /* End_of_format */0 + ]), + "%lx" + ]), Int32.abs(2139095040 ^ a)); +} + +var include = Float.Make(/* module */[ + /* pos_nan */2143289344, + /* neg_nan */-4194304, + /* caml_int32_bits_of_float */Caml_float.caml_int32_bits_of_float, + /* caml_int32_float_of_bits */Caml_float.caml_int32_float_of_bits, + /* caml_int32_of_string */Caml_format.caml_int32_of_string, + /* to_string */Int32.to_string, + /* %int32_and */function (prim, prim$1) { + return prim & prim$1; + }, + /* %int32_or */function (prim, prim$1) { + return prim | prim$1; + }, + /* %int32_xor */function (prim, prim$1) { + return prim ^ prim$1; + }, + /* min_int */Int32.min_int, + /* max_int */Int32.max_int, + /* zero */Int32.zero, + /* bare_nan */2139095040, + /* print_nan_significand_digits */print_nan_significand_digits + ]); + +var pos_nan = include[0]; + +var neg_nan = include[1]; + +var of_float = include[2]; + +var to_float = include[3]; + +var of_string = include[4]; + +var to_string = include[5]; + +var of_bits = include[6]; + +var to_bits = include[7]; + +var add = include[8]; + +var sub = include[9]; + +var mul = include[10]; + +var div = include[11]; + +var sqrt = include[12]; + +var min = include[13]; + +var max = include[14]; + +var ceil = include[15]; + +var floor = include[16]; + +var trunc = include[17]; + +var nearest = include[18]; + +var abs = include[19]; + +var neg = include[20]; + +var copysign = include[21]; + +var eq = include[22]; + +var ne = include[23]; + +var lt = include[24]; + +var le = include[25]; + +var gt = include[26]; + +var ge = include[27]; + +var zero = include[28]; + +exports.pos_nan = pos_nan; +exports.neg_nan = neg_nan; +exports.of_float = of_float; +exports.to_float = to_float; +exports.of_string = of_string; +exports.to_string = to_string; +exports.of_bits = of_bits; +exports.to_bits = to_bits; +exports.add = add; +exports.sub = sub; +exports.mul = mul; +exports.div = div; +exports.sqrt = sqrt; +exports.min = min; +exports.max = max; +exports.ceil = ceil; +exports.floor = floor; +exports.trunc = trunc; +exports.nearest = nearest; +exports.abs = abs; +exports.neg = neg; +exports.copysign = copysign; +exports.eq = eq; +exports.ne = ne; +exports.lt = lt; +exports.le = le; +exports.gt = gt; +exports.ge = ge; +exports.zero = zero; +/* include Not a pure module */ +//////// end of f32.js //////// +    return exports; +  }; + + + _registry['f64'] = function() { +    let exports = {}; +//////// start of f64.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Float = require("./float"); +var Int64 = require("bs-platform/lib/js/int64"); +var Printf = require("bs-platform/lib/js/printf"); +var Caml_int64 = require("bs-platform/lib/js/caml_int64"); +var Caml_format = require("bs-platform/lib/js/caml_format"); + +var bare_nan = /* int64 */[ + /* hi */2146435072, + /* lo */0 +]; + +function print_nan_significand_digits(a) { + return Curry._1(Printf.sprintf(/* Format */[ + /* Int64 */Block.__(7, [ + /* Int_x */6, + /* No_padding */0, + /* No_precision */0, + /* End_of_format */0 + ]), + "%Lx" + ]), Int64.abs(/* int64 */[ + /* hi *//* hi */2146435072 ^ a[0], + /* lo */((/* lo */0 ^ a[1]) >>> 0) + ])); +} + +var include = Float.Make(/* module */[ + /* pos_nan : int64 */[ + /* hi */2146959360, + /* lo */0 + ], + /* neg_nan : int64 */[ + /* hi */-524288, + /* lo */0 + ], + /* caml_int64_bits_of_float */Caml_int64.bits_of_float, + /* caml_int64_float_of_bits */Caml_int64.float_of_bits, + /* caml_int64_of_string */Caml_format.caml_int64_of_string, + /* to_string */Int64.to_string, + /* %int64_and */function (prim, prim$1) { + return /* int64 */[ + /* hi */prim[0] & prim$1[0], + /* lo */((prim[1] & prim$1[1]) >>> 0) + ]; + }, + /* %int64_or */function (prim, prim$1) { + return /* int64 */[ + /* hi */prim[0] | prim$1[0], + /* lo */((prim[1] | prim$1[1]) >>> 0) + ]; + }, + /* %int64_xor */function (prim, prim$1) { + return /* int64 */[ + /* hi */prim[0] ^ prim$1[0], + /* lo */((prim[1] ^ prim$1[1]) >>> 0) + ]; + }, + /* min_int */Int64.min_int, + /* max_int */Int64.max_int, + /* zero */Int64.zero, + /* bare_nan */bare_nan, + /* print_nan_significand_digits */print_nan_significand_digits + ]); + +var pos_nan = include[0]; + +var neg_nan = include[1]; + +var of_float = include[2]; + +var to_float = include[3]; + +var of_string = include[4]; + +var to_string = include[5]; + +var of_bits = include[6]; + +var to_bits = include[7]; + +var add = include[8]; + +var sub = include[9]; + +var mul = include[10]; + +var div = include[11]; + +var sqrt = include[12]; + +var min = include[13]; + +var max = include[14]; + +var ceil = include[15]; + +var floor = include[16]; + +var trunc = include[17]; + +var nearest = include[18]; + +var abs = include[19]; + +var neg = include[20]; + +var copysign = include[21]; + +var eq = include[22]; + +var ne = include[23]; + +var lt = include[24]; + +var le = include[25]; + +var gt = include[26]; + +var ge = include[27]; + +var zero = include[28]; + +exports.pos_nan = pos_nan; +exports.neg_nan = neg_nan; +exports.of_float = of_float; +exports.to_float = to_float; +exports.of_string = of_string; +exports.to_string = to_string; +exports.of_bits = of_bits; +exports.to_bits = to_bits; +exports.add = add; +exports.sub = sub; +exports.mul = mul; +exports.div = div; +exports.sqrt = sqrt; +exports.min = min; +exports.max = max; +exports.ceil = ceil; +exports.floor = floor; +exports.trunc = trunc; +exports.nearest = nearest; +exports.abs = abs; +exports.neg = neg; +exports.copysign = copysign; +exports.eq = eq; +exports.ne = ne; +exports.lt = lt; +exports.le = le; +exports.gt = gt; +exports.ge = ge; +exports.zero = zero; +/* include Not a pure module */ +//////// end of f64.js //////// +    return exports; +  }; + + + _registry['float'] = function() { +    let exports = {}; +//////// start of float.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Curry = require("bs-platform/lib/js/curry"); +var $$String = require("bs-platform/lib/js/string"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Pervasives = require("bs-platform/lib/js/pervasives"); +var Caml_format = require("bs-platform/lib/js/caml_format"); +var Caml_string = require("bs-platform/lib/js/caml_string"); +var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions"); + +function Make(Rep) { + var pos_nan = Rep[/* pos_nan */0]; + var neg_nan = Rep[/* neg_nan */1]; + var bare_nan = Rep[/* bare_nan */12]; + var of_float = Rep[/* bits_of_float */2]; + var to_float = Rep[/* float_of_bits */3]; + var of_bits = function (x) { + return x; + }; + var to_bits = function (x) { + return x; + }; + var is_nan = function (x) { + var xf = Curry._1(Rep[/* float_of_bits */3], x); + return +(xf !== xf); + }; + var canonicalize_nan = function (x) { + return Curry._2(Rep[/* logor */7], x, Rep[/* pos_nan */0]); + }; + var determine_binary_nan = function (x, y) { + return canonicalize_nan(is_nan(x) ? x : ( + is_nan(y) ? y : Rep[/* pos_nan */0] + )); + }; + var determine_unary_nan = function (x) { + return canonicalize_nan(is_nan(x) ? x : Rep[/* pos_nan */0]); + }; + var binary = function (x, op, y) { + var xf = Curry._1(to_float, x); + var yf = Curry._1(to_float, y); + var t = Curry._2(op, xf, yf); + if (t === t) { + return Curry._1(of_float, t); + } + else { + return determine_binary_nan(x, y); + } + }; + var unary = function (op, x) { + var t = Curry._1(op, Curry._1(to_float, x)); + if (t === t) { + return Curry._1(of_float, t); + } + else { + return determine_unary_nan(x); + } + }; + var zero = Curry._1(of_float, 0.0); + var add = function (x, y) { + return binary(x, function (prim, prim$1) { + return prim + prim$1; + }, y); + }; + var sub = function (x, y) { + return binary(x, function (prim, prim$1) { + return prim - prim$1; + }, y); + }; + var mul = function (x, y) { + return binary(x, function (prim, prim$1) { + return prim * prim$1; + }, y); + }; + var div = function (x, y) { + return binary(x, function (prim, prim$1) { + return prim / prim$1; + }, y); + }; + var sqrt = function (x) { + return unary(function (prim) { + return Math.sqrt(prim); + }, x); + }; + var ceil = function (x) { + return unary(function (prim) { + return Math.ceil(prim); + }, x); + }; + var floor = function (x) { + return unary(function (prim) { + return Math.floor(prim); + }, x); + }; + var trunc = function (x) { + var xf = Curry._1(to_float, x); + if (xf === 0.0) { + return x; + } + else { + var f = xf < 0.0 ? Math.ceil(xf) : Math.floor(xf); + var result = Curry._1(of_float, f); + if (is_nan(result)) { + return determine_unary_nan(result); + } + else { + return result; + } + } + }; + var nearest = function (x) { + var xf = Curry._1(to_float, x); + if (xf === 0.0) { + return x; + } + else { + var u = Math.ceil(xf); + var d = Math.floor(xf); + var um = Math.abs(xf - u); + var dm = Math.abs(xf - d); + var h = u / 2; + var u_or_d = +(um < dm || um === dm && Math.floor(h) === h); + var f = u_or_d ? u : d; + var result = Curry._1(of_float, f); + if (is_nan(result)) { + return determine_unary_nan(result); + } + else { + return result; + } + } + }; + var min = function (x, y) { + var xf = Curry._1(to_float, x); + var yf = Curry._1(to_float, y); + if (xf === yf) { + return Curry._2(Rep[/* logor */7], x, y); + } + else if (xf < yf) { + return x; + } + else if (xf > yf) { + return y; + } + else { + return determine_binary_nan(x, y); + } + }; + var max = function (x, y) { + var xf = Curry._1(to_float, x); + var yf = Curry._1(to_float, y); + if (xf === yf) { + return Curry._2(Rep[/* logand */6], x, y); + } + else if (xf > yf) { + return x; + } + else if (xf < yf) { + return y; + } + else { + return determine_binary_nan(x, y); + } + }; + var abs = function (x) { + return Curry._2(Rep[/* logand */6], x, Rep[/* max_int */10]); + }; + var neg = function (x) { + return Curry._2(Rep[/* logxor */8], x, Rep[/* min_int */9]); + }; + var copysign = function (x, y) { + return Curry._2(Rep[/* logor */7], abs(x), Curry._2(Rep[/* logand */6], y, Rep[/* min_int */9])); + }; + var eq = function (x, y) { + return +(Curry._1(to_float, x) === Curry._1(to_float, y)); + }; + var ne = function (x, y) { + return +(Curry._1(to_float, x) !== Curry._1(to_float, y)); + }; + var lt = function (x, y) { + return +(Curry._1(to_float, x) < Curry._1(to_float, y)); + }; + var gt = function (x, y) { + return +(Curry._1(to_float, x) > Curry._1(to_float, y)); + }; + var le = function (x, y) { + return +(Curry._1(to_float, x) <= Curry._1(to_float, y)); + }; + var ge = function (x, y) { + return +(Curry._1(to_float, x) >= Curry._1(to_float, y)); + }; + var of_signless_string = function (x, len) { + if (x !== "nan" && len > 6 && $$String.sub(x, 0, 6) === "nan:0x") { + var s = Curry._1(Rep[/* of_string */4], $$String.sub(x, 4, len - 4 | 0)); + if (Caml_obj.caml_equal(s, Rep[/* zero */11])) { + throw [ + Caml_builtin_exceptions.failure, + "nan payload must not be zero" + ]; + } + else if (Caml_obj.caml_notequal(Curry._2(Rep[/* logand */6], s, bare_nan), Rep[/* zero */11])) { + throw [ + Caml_builtin_exceptions.failure, + "nan payload must not overlap with exponent bits" + ]; + } + else if (Caml_obj.caml_lessthan(s, Rep[/* zero */11])) { + throw [ + Caml_builtin_exceptions.failure, + "nan payload must not overlap with sign bit" + ]; + } + else { + return Curry._2(Rep[/* logor */7], s, bare_nan); + } + } + else { + return Curry._1(of_float, Caml_format.caml_float_of_string(x)); + } + }; + var of_string = function (x) { + var len = x.length; + if (len > 0 && Caml_string.get(x, 0) === /* "-" */45) { + return neg(of_signless_string($$String.sub(x, 1, len - 1 | 0), len - 1 | 0)); + } + else if (len > 0 && Caml_string.get(x, 0) === /* "+" */43) { + return of_signless_string($$String.sub(x, 1, len - 1 | 0), len - 1 | 0); + } + else { + return of_signless_string(x, len); + } + }; + var to_string = function (x) { + var a = abs(x); + return ( + Caml_obj.caml_lessthan(x, Rep[/* zero */11]) ? "-" : "" + ) + ( + is_nan(a) ? "nan:0x" + Curry._1(Rep[/* print_nan_significand_digits */13], a) : Pervasives.string_of_float(Curry._1(to_float, a)) + ); + }; + return /* module */[ + /* pos_nan */pos_nan, + /* neg_nan */neg_nan, + /* of_float */of_float, + /* to_float */to_float, + /* of_string */of_string, + /* to_string */to_string, + /* of_bits */of_bits, + /* to_bits */to_bits, + /* add */add, + /* sub */sub, + /* mul */mul, + /* div */div, + /* sqrt */sqrt, + /* min */min, + /* max */max, + /* ceil */ceil, + /* floor */floor, + /* trunc */trunc, + /* nearest */nearest, + /* abs */abs, + /* neg */neg, + /* copysign */copysign, + /* eq */eq, + /* ne */ne, + /* lt */lt, + /* le */le, + /* gt */gt, + /* ge */ge, + /* zero */zero + ]; +} + +exports.Make = Make; +/* No side effect */ +//////// end of float.js //////// +    return exports; +  }; + + + _registry['format'] = function() { +    let exports = {}; +//////// start of format.js //////// +'use strict'; + +var Block = require("./block"); +var Bytes = require("./bytes"); +var Curry = require("./curry"); +var Buffer = require("./buffer"); +var $$String = require("./string"); +var Caml_io = require("./caml_io"); +var Caml_obj = require("./caml_obj"); +var Pervasives = require("./pervasives"); +var Caml_string = require("./caml_string"); +var Caml_exceptions = require("./caml_exceptions"); +var CamlinternalFormat = require("./camlinternalFormat"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function add_queue(x, q) { + var c = /* Cons */[/* record */[ + /* head */x, + /* tail : Nil */0 + ]]; + var match = q[/* insert */0]; + if (match) { + q[/* insert */0] = c; + match[0][/* tail */1] = c; + return /* () */0; + } + else { + q[/* insert */0] = c; + q[/* body */1] = c; + return /* () */0; + } +} + +var Empty_queue = Caml_exceptions.create("Format.Empty_queue"); + +function peek_queue(param) { + var match = param[/* body */1]; + if (match) { + return match[0][/* head */0]; + } + else { + throw Empty_queue; + } +} + +function take_queue(q) { + var match = q[/* body */1]; + if (match) { + var match$1 = match[0]; + var x = match$1[/* head */0]; + var tl = match$1[/* tail */1]; + q[/* body */1] = tl; + if (!tl) { + q[/* insert */0] = /* Nil */0; + } + return x; + } + else { + throw Empty_queue; + } +} + +function pp_enqueue(state, token) { + state[/* pp_right_total */12] = state[/* pp_right_total */12] + token[/* length */2] | 0; + return add_queue(token, state[/* pp_queue */26]); +} + +function pp_clear_queue(state) { + state[/* pp_left_total */11] = 1; + state[/* pp_right_total */12] = 1; + var q = state[/* pp_queue */26]; + q[/* insert */0] = /* Nil */0; + q[/* body */1] = /* Nil */0; + return /* () */0; +} + +function pp_output_string(state, s) { + return Curry._3(state[/* pp_out_string */16], s, 0, s.length); +} + +function break_new_line(state, offset, width) { + Curry._1(state[/* pp_out_newline */18], /* () */0); + state[/* pp_is_new_line */10] = /* true */1; + var indent = (state[/* pp_margin */5] - width | 0) + offset | 0; + var real_indent = Pervasives.min(state[/* pp_max_indent */7], indent); + state[/* pp_current_indent */9] = real_indent; + state[/* pp_space_left */8] = state[/* pp_margin */5] - state[/* pp_current_indent */9] | 0; + return Curry._1(state[/* pp_out_spaces */19], state[/* pp_current_indent */9]); +} + +function break_same_line(state, width) { + state[/* pp_space_left */8] = state[/* pp_space_left */8] - width | 0; + return Curry._1(state[/* pp_out_spaces */19], width); +} + +function pp_force_break_line(state) { + var match = state[/* pp_format_stack */1]; + if (match) { + var match$1 = match[0]; + var width = match$1[1]; + var bl_ty = match$1[0]; + if (width > state[/* pp_space_left */8] && bl_ty !== 0 && bl_ty < 5) { + return break_new_line(state, 0, width); + } + else { + return 0; + } + } + else { + return Curry._1(state[/* pp_out_newline */18], /* () */0); + } +} + +function format_pp_token(state, size, param) { + if (typeof param === "number") { + switch (param) { + case 0 : + var match = state[/* pp_tbox_stack */2]; + if (match) { + var tabs = match[0][0]; + var add_tab = function (n, ls) { + if (ls) { + var x = ls[0]; + if (Caml_obj.caml_lessthan(n, x)) { + return /* :: */[ + n, + ls + ]; + } + else { + return /* :: */[ + x, + add_tab(n, ls[1]) + ]; + } + } + else { + return /* :: */[ + n, + /* [] */0 + ]; + } + }; + tabs[0] = add_tab(state[/* pp_margin */5] - state[/* pp_space_left */8] | 0, tabs[0]); + return /* () */0; + } + else { + return /* () */0; + } + break; + case 1 : + var match$1 = state[/* pp_format_stack */1]; + if (match$1) { + state[/* pp_format_stack */1] = match$1[1]; + return /* () */0; + } + else { + return /* () */0; + } + case 2 : + var match$2 = state[/* pp_tbox_stack */2]; + if (match$2) { + state[/* pp_tbox_stack */2] = match$2[1]; + return /* () */0; + } + else { + return /* () */0; + } + case 3 : + var match$3 = state[/* pp_format_stack */1]; + if (match$3) { + return break_new_line(state, 0, match$3[0][1]); + } + else { + return Curry._1(state[/* pp_out_newline */18], /* () */0); + } + case 4 : + if (state[/* pp_current_indent */9] !== (state[/* pp_margin */5] - state[/* pp_space_left */8] | 0)) { + var state$1 = state; + var match$4 = take_queue(state$1[/* pp_queue */26]); + var size$1 = match$4[/* elem_size */0]; + state$1[/* pp_left_total */11] = state$1[/* pp_left_total */11] - match$4[/* length */2] | 0; + state$1[/* pp_space_left */8] = state$1[/* pp_space_left */8] + size$1 | 0; + return /* () */0; + } + else { + return 0; + } + case 5 : + var match$5 = state[/* pp_mark_stack */4]; + if (match$5) { + var marker = Curry._1(state[/* pp_mark_close_tag */23], match$5[0]); + pp_output_string(state, marker); + state[/* pp_mark_stack */4] = match$5[1]; + return /* () */0; + } + else { + return /* () */0; + } + break; + + } + } + else { + switch (param.tag | 0) { + case 0 : + state[/* pp_space_left */8] = state[/* pp_space_left */8] - size | 0; + pp_output_string(state, param[0]); + state[/* pp_is_new_line */10] = /* false */0; + return /* () */0; + case 1 : + var off = param[1]; + var n = param[0]; + var match$6 = state[/* pp_format_stack */1]; + if (match$6) { + var match$7 = match$6[0]; + var width = match$7[1]; + switch (match$7[0]) { + case 1 : + case 2 : + return break_new_line(state, off, width); + case 3 : + if (size > state[/* pp_space_left */8]) { + return break_new_line(state, off, width); + } + else { + return break_same_line(state, n); + } + case 4 : + if (state[/* pp_is_new_line */10] || !(size > state[/* pp_space_left */8] || state[/* pp_current_indent */9] > ((state[/* pp_margin */5] - width | 0) + off | 0))) { + return break_same_line(state, n); + } + else { + return break_new_line(state, off, width); + } + case 0 : + case 5 : + return break_same_line(state, n); + + } + } + else { + return /* () */0; + } + break; + case 2 : + var insertion_point = state[/* pp_margin */5] - state[/* pp_space_left */8] | 0; + var match$8 = state[/* pp_tbox_stack */2]; + if (match$8) { + var tabs$1 = match$8[0][0]; + var find = function (n, _param) { + while(true) { + var param = _param; + if (param) { + var x = param[0]; + if (Caml_obj.caml_greaterequal(x, n)) { + return x; + } + else { + _param = param[1]; + continue ; + + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; + }; + var match$9 = tabs$1[0]; + var tab; + if (match$9) { + try { + tab = find(insertion_point, tabs$1[0]); + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + tab = match$9[0]; + } + else { + throw exn; + } + } + } + else { + tab = insertion_point; + } + var offset = tab - insertion_point | 0; + if (offset >= 0) { + return break_same_line(state, offset + param[0] | 0); + } + else { + return break_new_line(state, tab + param[1] | 0, state[/* pp_margin */5]); + } + } + else { + return /* () */0; + } + break; + case 3 : + var ty = param[1]; + var insertion_point$1 = state[/* pp_margin */5] - state[/* pp_space_left */8] | 0; + if (insertion_point$1 > state[/* pp_max_indent */7]) { + pp_force_break_line(state); + } + var offset$1 = state[/* pp_space_left */8] - param[0] | 0; + var bl_type = ty !== 1 ? ( + size > state[/* pp_space_left */8] ? ty : /* Pp_fits */5 + ) : /* Pp_vbox */1; + state[/* pp_format_stack */1] = /* :: */[ + /* Format_elem */[ + bl_type, + offset$1 + ], + state[/* pp_format_stack */1] + ]; + return /* () */0; + case 4 : + state[/* pp_tbox_stack */2] = /* :: */[ + param[0], + state[/* pp_tbox_stack */2] + ]; + return /* () */0; + case 5 : + var tag_name = param[0]; + var marker$1 = Curry._1(state[/* pp_mark_open_tag */22], tag_name); + pp_output_string(state, marker$1); + state[/* pp_mark_stack */4] = /* :: */[ + tag_name, + state[/* pp_mark_stack */4] + ]; + return /* () */0; + + } + } +} + +function advance_left(state) { + try { + var state$1 = state; + while(true) { + var match = peek_queue(state$1[/* pp_queue */26]); + var size = match[/* elem_size */0]; + if (size < 0 && (state$1[/* pp_right_total */12] - state$1[/* pp_left_total */11] | 0) < state$1[/* pp_space_left */8]) { + return 0; + } + else { + take_queue(state$1[/* pp_queue */26]); + format_pp_token(state$1, size < 0 ? 1000000010 : size, match[/* token */1]); + state$1[/* pp_left_total */11] = match[/* length */2] + state$1[/* pp_left_total */11] | 0; + continue ; + + } + }; + } + catch (exn){ + if (exn === Empty_queue) { + return /* () */0; + } + else { + throw exn; + } + } +} + +function enqueue_advance(state, tok) { + pp_enqueue(state, tok); + return advance_left(state); +} + +function enqueue_string_as(state, size, s) { + return enqueue_advance(state, /* record */[ + /* elem_size */size, + /* token : Pp_text */Block.__(0, [s]), + /* length */size + ]); +} + +var q_elem = /* record */[ + /* elem_size */-1, + /* token : Pp_text */Block.__(0, [""]), + /* length */0 +]; + +var scan_stack_bottom_000 = /* Scan_elem */[ + -1, + q_elem +]; + +var scan_stack_bottom = /* :: */[ + scan_stack_bottom_000, + /* [] */0 +]; + +function set_size(state, ty) { + var match = state[/* pp_scan_stack */0]; + if (match) { + var match$1 = match[0]; + var queue_elem = match$1[1]; + var size = queue_elem[/* elem_size */0]; + var t = match[1]; + if (match$1[0] < state[/* pp_left_total */11]) { + state[/* pp_scan_stack */0] = scan_stack_bottom; + return /* () */0; + } + else { + var exit = 0; + var $js = queue_elem[/* token */1]; + if (typeof $js === "number") { + return /* () */0; + } + else { + switch ($js.tag | 0) { + case 1 : + case 2 : + exit = 1; + break; + case 3 : + if (ty) { + return 0; + } + else { + queue_elem[/* elem_size */0] = state[/* pp_right_total */12] + size | 0; + state[/* pp_scan_stack */0] = t; + return /* () */0; + } + default: + return /* () */0; + } + } + if (exit === 1) { + if (ty) { + queue_elem[/* elem_size */0] = state[/* pp_right_total */12] + size | 0; + state[/* pp_scan_stack */0] = t; + return /* () */0; + } + else { + return 0; + } + } + + } + } + else { + return /* () */0; + } +} + +function scan_push(state, b, tok) { + pp_enqueue(state, tok); + if (b) { + set_size(state, /* true */1); + } + state[/* pp_scan_stack */0] = /* :: */[ + /* Scan_elem */[ + state[/* pp_right_total */12], + tok + ], + state[/* pp_scan_stack */0] + ]; + return /* () */0; +} + +function pp_open_box_gen(state, indent, br_ty) { + state[/* pp_curr_depth */13] = state[/* pp_curr_depth */13] + 1 | 0; + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + var elem = /* record */[ + /* elem_size */-state[/* pp_right_total */12] | 0, + /* token : Pp_begin */Block.__(3, [ + indent, + br_ty + ]), + /* length */0 + ]; + return scan_push(state, /* false */0, elem); + } + else if (state[/* pp_curr_depth */13] === state[/* pp_max_boxes */14]) { + var state$1 = state; + var s = state[/* pp_ellipsis */15]; + var len = s.length; + return enqueue_string_as(state$1, len, s); + } + else { + return 0; + } +} + +function pp_close_box(state, _) { + if (state[/* pp_curr_depth */13] > 1) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + pp_enqueue(state, /* record */[ + /* elem_size */0, + /* token : Pp_end */1, + /* length */0 + ]); + set_size(state, /* true */1); + set_size(state, /* false */0); + } + state[/* pp_curr_depth */13] = state[/* pp_curr_depth */13] - 1 | 0; + return /* () */0; + } + else { + return 0; + } +} + +function pp_open_tag(state, tag_name) { + if (state[/* pp_print_tags */20]) { + state[/* pp_tag_stack */3] = /* :: */[ + tag_name, + state[/* pp_tag_stack */3] + ]; + Curry._1(state[/* pp_print_open_tag */24], tag_name); + } + if (state[/* pp_mark_tags */21]) { + return pp_enqueue(state, /* record */[ + /* elem_size */0, + /* token : Pp_open_tag */Block.__(5, [tag_name]), + /* length */0 + ]); + } + else { + return 0; + } +} + +function pp_close_tag(state, _) { + if (state[/* pp_mark_tags */21]) { + pp_enqueue(state, /* record */[ + /* elem_size */0, + /* token : Pp_close_tag */5, + /* length */0 + ]); + } + if (state[/* pp_print_tags */20]) { + var match = state[/* pp_tag_stack */3]; + if (match) { + Curry._1(state[/* pp_print_close_tag */25], match[0]); + state[/* pp_tag_stack */3] = match[1]; + return /* () */0; + } + else { + return /* () */0; + } + } + else { + return 0; + } +} + +function pp_set_print_tags(state, b) { + state[/* pp_print_tags */20] = b; + return /* () */0; +} + +function pp_set_mark_tags(state, b) { + state[/* pp_mark_tags */21] = b; + return /* () */0; +} + +function pp_get_print_tags(state, _) { + return state[/* pp_print_tags */20]; +} + +function pp_get_mark_tags(state, _) { + return state[/* pp_mark_tags */21]; +} + +function pp_set_tags(state, b) { + state[/* pp_print_tags */20] = b; + state[/* pp_mark_tags */21] = b; + return /* () */0; +} + +function pp_get_formatter_tag_functions(state, _) { + return /* record */[ + /* mark_open_tag */state[/* pp_mark_open_tag */22], + /* mark_close_tag */state[/* pp_mark_close_tag */23], + /* print_open_tag */state[/* pp_print_open_tag */24], + /* print_close_tag */state[/* pp_print_close_tag */25] + ]; +} + +function pp_set_formatter_tag_functions(state, param) { + state[/* pp_mark_open_tag */22] = param[/* mark_open_tag */0]; + state[/* pp_mark_close_tag */23] = param[/* mark_close_tag */1]; + state[/* pp_print_open_tag */24] = param[/* print_open_tag */2]; + state[/* pp_print_close_tag */25] = param[/* print_close_tag */3]; + return /* () */0; +} + +function pp_rinit(state) { + pp_clear_queue(state); + state[/* pp_scan_stack */0] = scan_stack_bottom; + state[/* pp_format_stack */1] = /* [] */0; + state[/* pp_tbox_stack */2] = /* [] */0; + state[/* pp_tag_stack */3] = /* [] */0; + state[/* pp_mark_stack */4] = /* [] */0; + state[/* pp_current_indent */9] = 0; + state[/* pp_curr_depth */13] = 0; + state[/* pp_space_left */8] = state[/* pp_margin */5]; + return pp_open_box_gen(state, 0, /* Pp_hovbox */3); +} + +function pp_flush_queue(state, b) { + while(state[/* pp_curr_depth */13] > 1) { + pp_close_box(state, /* () */0); + }; + state[/* pp_right_total */12] = 1000000010; + advance_left(state); + if (b) { + Curry._1(state[/* pp_out_newline */18], /* () */0); + } + return pp_rinit(state); +} + +function pp_print_as_size(state, size, s) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + return enqueue_string_as(state, size, s); + } + else { + return 0; + } +} + +var pp_print_as = pp_print_as_size; + +function pp_print_string(state, s) { + return pp_print_as(state, s.length, s); +} + +function pp_print_int(state, i) { + return pp_print_string(state, "" + i); +} + +function pp_print_float(state, f) { + return pp_print_string(state, Pervasives.string_of_float(f)); +} + +function pp_print_bool(state, b) { + return pp_print_string(state, b ? "true" : "false"); +} + +function pp_print_char(state, c) { + return pp_print_as(state, 1, Caml_string.bytes_to_string(Bytes.make(1, c))); +} + +function pp_open_hbox(state, _) { + return pp_open_box_gen(state, 0, /* Pp_hbox */0); +} + +function pp_open_vbox(state, indent) { + return pp_open_box_gen(state, indent, /* Pp_vbox */1); +} + +function pp_open_hvbox(state, indent) { + return pp_open_box_gen(state, indent, /* Pp_hvbox */2); +} + +function pp_open_hovbox(state, indent) { + return pp_open_box_gen(state, indent, /* Pp_hovbox */3); +} + +function pp_open_box(state, indent) { + return pp_open_box_gen(state, indent, /* Pp_box */4); +} + +function pp_print_newline(state, _) { + pp_flush_queue(state, /* true */1); + return Curry._1(state[/* pp_out_flush */17], /* () */0); +} + +function pp_print_flush(state, _) { + pp_flush_queue(state, /* false */0); + return Curry._1(state[/* pp_out_flush */17], /* () */0); +} + +function pp_force_newline(state, _) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + return enqueue_advance(state, /* record */[ + /* elem_size */0, + /* token : Pp_newline */3, + /* length */0 + ]); + } + else { + return 0; + } +} + +function pp_print_if_newline(state, _) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + return enqueue_advance(state, /* record */[ + /* elem_size */0, + /* token : Pp_if_newline */4, + /* length */0 + ]); + } + else { + return 0; + } +} + +function pp_print_break(state, width, offset) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + var elem = /* record */[ + /* elem_size */-state[/* pp_right_total */12] | 0, + /* token : Pp_break */Block.__(1, [ + width, + offset + ]), + /* length */width + ]; + return scan_push(state, /* true */1, elem); + } + else { + return 0; + } +} + +function pp_print_space(state, _) { + return pp_print_break(state, 1, 0); +} + +function pp_print_cut(state, _) { + return pp_print_break(state, 0, 0); +} + +function pp_open_tbox(state, _) { + state[/* pp_curr_depth */13] = state[/* pp_curr_depth */13] + 1 | 0; + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + var elem = /* record */[ + /* elem_size */0, + /* token : Pp_tbegin */Block.__(4, [/* Pp_tbox */[[/* [] */0]]]), + /* length */0 + ]; + return enqueue_advance(state, elem); + } + else { + return 0; + } +} + +function pp_close_tbox(state, _) { + if (state[/* pp_curr_depth */13] > 1) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + var elem = /* record */[ + /* elem_size */0, + /* token : Pp_tend */2, + /* length */0 + ]; + enqueue_advance(state, elem); + state[/* pp_curr_depth */13] = state[/* pp_curr_depth */13] - 1 | 0; + return /* () */0; + } + else { + return 0; + } + } + else { + return 0; + } +} + +function pp_print_tbreak(state, width, offset) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + var elem = /* record */[ + /* elem_size */-state[/* pp_right_total */12] | 0, + /* token : Pp_tbreak */Block.__(2, [ + width, + offset + ]), + /* length */width + ]; + return scan_push(state, /* true */1, elem); + } + else { + return 0; + } +} + +function pp_print_tab(state, _) { + return pp_print_tbreak(state, 0, 0); +} + +function pp_set_tab(state, _) { + if (state[/* pp_curr_depth */13] < state[/* pp_max_boxes */14]) { + var elem = /* record */[ + /* elem_size */0, + /* token : Pp_stab */0, + /* length */0 + ]; + return enqueue_advance(state, elem); + } + else { + return 0; + } +} + +function pp_print_list(_$staropt$star, pp_v, ppf, _param) { + while(true) { + var param = _param; + var $staropt$star = _$staropt$star; + var pp_sep = $staropt$star ? $staropt$star[0] : pp_print_cut; + if (param) { + var vs = param[1]; + var v = param[0]; + if (vs) { + Curry._2(pp_v, ppf, v); + Curry._2(pp_sep, ppf, /* () */0); + _param = vs; + _$staropt$star = /* Some */[pp_sep]; + continue ; + + } + else { + return Curry._2(pp_v, ppf, v); + } + } + else { + return /* () */0; + } + }; +} + +function pp_print_text(ppf, s) { + var len = s.length; + var left = [0]; + var right = [0]; + var flush = function () { + pp_print_string(ppf, $$String.sub(s, left[0], right[0] - left[0] | 0)); + right[0] = right[0] + 1 | 0; + left[0] = right[0]; + return /* () */0; + }; + while(right[0] !== len) { + var match = Caml_string.get(s, right[0]); + if (match !== 10) { + if (match !== 32) { + right[0] = right[0] + 1 | 0; + } + else { + flush(/* () */0); + pp_print_break(ppf, 1, 0); + } + } + else { + flush(/* () */0); + pp_force_newline(ppf, /* () */0); + } + }; + if (left[0] !== len) { + return flush(/* () */0); + } + else { + return 0; + } +} + +function pp_set_max_boxes(state, n) { + if (n > 1) { + state[/* pp_max_boxes */14] = n; + return /* () */0; + } + else { + return 0; + } +} + +function pp_get_max_boxes(state, _) { + return state[/* pp_max_boxes */14]; +} + +function pp_over_max_boxes(state, _) { + return +(state[/* pp_curr_depth */13] === state[/* pp_max_boxes */14]); +} + +function pp_set_ellipsis_text(state, s) { + state[/* pp_ellipsis */15] = s; + return /* () */0; +} + +function pp_get_ellipsis_text(state, _) { + return state[/* pp_ellipsis */15]; +} + +function pp_limit(n) { + if (n < 1000000010) { + return n; + } + else { + return 1000000009; + } +} + +function pp_set_max_indent(state, n) { + var state$1 = state; + var n$1 = state[/* pp_margin */5] - n | 0; + if (n$1 >= 1) { + var n$2 = pp_limit(n$1); + state$1[/* pp_min_space_left */6] = n$2; + state$1[/* pp_max_indent */7] = state$1[/* pp_margin */5] - state$1[/* pp_min_space_left */6] | 0; + return pp_rinit(state$1); + } + else { + return 0; + } +} + +function pp_get_max_indent(state, _) { + return state[/* pp_max_indent */7]; +} + +function pp_set_margin(state, n) { + if (n >= 1) { + var n$1 = pp_limit(n); + state[/* pp_margin */5] = n$1; + var new_max_indent = state[/* pp_max_indent */7] <= state[/* pp_margin */5] ? state[/* pp_max_indent */7] : Pervasives.max(Pervasives.max(state[/* pp_margin */5] - state[/* pp_min_space_left */6] | 0, state[/* pp_margin */5] / 2 | 0), 1); + return pp_set_max_indent(state, new_max_indent); + } + else { + return 0; + } +} + +function pp_get_margin(state, _) { + return state[/* pp_margin */5]; +} + +function pp_set_formatter_out_functions(state, param) { + state[/* pp_out_string */16] = param[/* out_string */0]; + state[/* pp_out_flush */17] = param[/* out_flush */1]; + state[/* pp_out_newline */18] = param[/* out_newline */2]; + state[/* pp_out_spaces */19] = param[/* out_spaces */3]; + return /* () */0; +} + +function pp_get_formatter_out_functions(state, _) { + return /* record */[ + /* out_string */state[/* pp_out_string */16], + /* out_flush */state[/* pp_out_flush */17], + /* out_newline */state[/* pp_out_newline */18], + /* out_spaces */state[/* pp_out_spaces */19] + ]; +} + +function pp_set_formatter_output_functions(state, f, g) { + state[/* pp_out_string */16] = f; + state[/* pp_out_flush */17] = g; + return /* () */0; +} + +function pp_get_formatter_output_functions(state, _) { + return /* tuple */[ + state[/* pp_out_string */16], + state[/* pp_out_flush */17] + ]; +} + +function pp_set_all_formatter_output_functions(state, f, g, h, i) { + pp_set_formatter_output_functions(state, f, g); + state[/* pp_out_newline */18] = h; + state[/* pp_out_spaces */19] = i; + return /* () */0; +} + +function pp_get_all_formatter_output_functions(state, _) { + return /* tuple */[ + state[/* pp_out_string */16], + state[/* pp_out_flush */17], + state[/* pp_out_newline */18], + state[/* pp_out_spaces */19] + ]; +} + +function display_newline(state, _) { + return Curry._3(state[/* pp_out_string */16], "\n", 0, 1); +} + +var blank_line = Caml_string.bytes_to_string(Bytes.make(80, /* " " */32)); + +function display_blanks(state, _n) { + while(true) { + var n = _n; + if (n > 0) { + if (n <= 80) { + return Curry._3(state[/* pp_out_string */16], blank_line, 0, n); + } + else { + Curry._3(state[/* pp_out_string */16], blank_line, 0, 80); + _n = n - 80 | 0; + continue ; + + } + } + else { + return 0; + } + }; +} + +function pp_set_formatter_out_channel(state, os) { + state[/* pp_out_string */16] = function (param, param$1, param$2) { + return Pervasives.output_substring(os, param, param$1, param$2); + }; + state[/* pp_out_flush */17] = function () { + return Caml_io.caml_ml_flush(os); + }; + state[/* pp_out_newline */18] = function (param) { + return display_newline(state, param); + }; + state[/* pp_out_spaces */19] = function (param) { + return display_blanks(state, param); + }; + return /* () */0; +} + +function default_pp_mark_open_tag(s) { + return "<" + (s + ">"); +} + +function default_pp_mark_close_tag(s) { + return ""); +} + +function default_pp_print_open_tag() { + return /* () */0; +} + +function default_pp_print_close_tag() { + return /* () */0; +} + +function pp_make_formatter(f, g, h, i) { + var pp_q = /* record */[ + /* insert : Nil */0, + /* body : Nil */0 + ]; + var sys_tok = /* record */[ + /* elem_size */-1, + /* token : Pp_begin */Block.__(3, [ + 0, + /* Pp_hovbox */3 + ]), + /* length */0 + ]; + add_queue(sys_tok, pp_q); + var sys_scan_stack_000 = /* Scan_elem */[ + 1, + sys_tok + ]; + var sys_scan_stack = /* :: */[ + sys_scan_stack_000, + scan_stack_bottom + ]; + return /* record */[ + /* pp_scan_stack */sys_scan_stack, + /* pp_format_stack : [] */0, + /* pp_tbox_stack : [] */0, + /* pp_tag_stack : [] */0, + /* pp_mark_stack : [] */0, + /* pp_margin */78, + /* pp_min_space_left */10, + /* pp_max_indent */68, + /* pp_space_left */78, + /* pp_current_indent */0, + /* pp_is_new_line : true */1, + /* pp_left_total */1, + /* pp_right_total */1, + /* pp_curr_depth */1, + /* pp_max_boxes */Pervasives.max_int, + /* pp_ellipsis */".", + /* pp_out_string */f, + /* pp_out_flush */g, + /* pp_out_newline */h, + /* pp_out_spaces */i, + /* pp_print_tags : false */0, + /* pp_mark_tags : false */0, + /* pp_mark_open_tag */default_pp_mark_open_tag, + /* pp_mark_close_tag */default_pp_mark_close_tag, + /* pp_print_open_tag */default_pp_print_open_tag, + /* pp_print_close_tag */default_pp_print_close_tag, + /* pp_queue */pp_q + ]; +} + +function make_formatter(output, flush) { + var ppf = pp_make_formatter(output, flush, function () { + return /* () */0; + }, function () { + return /* () */0; + }); + ppf[/* pp_out_newline */18] = function (param) { + return display_newline(ppf, param); + }; + ppf[/* pp_out_spaces */19] = function (param) { + return display_blanks(ppf, param); + }; + return ppf; +} + +function formatter_of_out_channel(oc) { + return make_formatter(function (param, param$1, param$2) { + return Pervasives.output_substring(oc, param, param$1, param$2); + }, function () { + return Caml_io.caml_ml_flush(oc); + }); +} + +function formatter_of_buffer(b) { + return make_formatter(function (param, param$1, param$2) { + return Buffer.add_substring(b, param, param$1, param$2); + }, function () { + return /* () */0; + }); +} + +var stdbuf = Buffer.create(512); + +var std_formatter = formatter_of_out_channel(Pervasives.stdout); + +var err_formatter = formatter_of_out_channel(Pervasives.stderr); + +var str_formatter = formatter_of_buffer(stdbuf); + +function flush_str_formatter() { + pp_flush_queue(str_formatter, /* false */0); + var s = Buffer.contents(stdbuf); + Buffer.reset(stdbuf); + return s; +} + +function flush_buf_formatter(buf, ppf) { + pp_flush_queue(ppf, /* false */0); + var s = Buffer.contents(buf); + Buffer.reset(buf); + return s; +} + +function open_hbox(param) { + return pp_open_hbox(std_formatter, param); +} + +function open_vbox(param) { + return pp_open_vbox(std_formatter, param); +} + +function open_hvbox(param) { + return pp_open_hvbox(std_formatter, param); +} + +function open_hovbox(param) { + return pp_open_hovbox(std_formatter, param); +} + +function open_box(param) { + return pp_open_box(std_formatter, param); +} + +function close_box(param) { + return pp_close_box(std_formatter, param); +} + +function open_tag(param) { + return pp_open_tag(std_formatter, param); +} + +function close_tag(param) { + return pp_close_tag(std_formatter, param); +} + +function print_as(param, param$1) { + return pp_print_as(std_formatter, param, param$1); +} + +function print_string(param) { + return pp_print_string(std_formatter, param); +} + +function print_int(param) { + return pp_print_string(std_formatter, "" + param); +} + +function print_float(param) { + return pp_print_string(std_formatter, Pervasives.string_of_float(param)); +} + +function print_char(param) { + return pp_print_char(std_formatter, param); +} + +function print_bool(param) { + return pp_print_string(std_formatter, param ? "true" : "false"); +} + +function print_break(param, param$1) { + return pp_print_break(std_formatter, param, param$1); +} + +function print_cut() { + return pp_print_break(std_formatter, 0, 0); +} + +function print_space() { + return pp_print_break(std_formatter, 1, 0); +} + +function force_newline(param) { + return pp_force_newline(std_formatter, param); +} + +function print_flush(param) { + return pp_print_flush(std_formatter, param); +} + +function print_newline(param) { + return pp_print_newline(std_formatter, param); +} + +function print_if_newline(param) { + return pp_print_if_newline(std_formatter, param); +} + +function open_tbox(param) { + return pp_open_tbox(std_formatter, param); +} + +function close_tbox(param) { + return pp_close_tbox(std_formatter, param); +} + +function print_tbreak(param, param$1) { + return pp_print_tbreak(std_formatter, param, param$1); +} + +function set_tab(param) { + return pp_set_tab(std_formatter, param); +} + +function print_tab() { + return pp_print_tbreak(std_formatter, 0, 0); +} + +function set_margin(param) { + return pp_set_margin(std_formatter, param); +} + +function get_margin() { + return std_formatter[/* pp_margin */5]; +} + +function set_max_indent(param) { + return pp_set_max_indent(std_formatter, param); +} + +function get_max_indent() { + return std_formatter[/* pp_max_indent */7]; +} + +function set_max_boxes(param) { + return pp_set_max_boxes(std_formatter, param); +} + +function get_max_boxes() { + return std_formatter[/* pp_max_boxes */14]; +} + +function over_max_boxes(param) { + return pp_over_max_boxes(std_formatter, param); +} + +function set_ellipsis_text(param) { + std_formatter[/* pp_ellipsis */15] = param; + return /* () */0; +} + +function get_ellipsis_text() { + return std_formatter[/* pp_ellipsis */15]; +} + +function set_formatter_out_channel(param) { + return pp_set_formatter_out_channel(std_formatter, param); +} + +function set_formatter_out_functions(param) { + return pp_set_formatter_out_functions(std_formatter, param); +} + +function get_formatter_out_functions(param) { + return pp_get_formatter_out_functions(std_formatter, param); +} + +function set_formatter_output_functions(param, param$1) { + return pp_set_formatter_output_functions(std_formatter, param, param$1); +} + +function get_formatter_output_functions(param) { + return pp_get_formatter_output_functions(std_formatter, param); +} + +function set_all_formatter_output_functions(param, param$1, param$2, param$3) { + return pp_set_all_formatter_output_functions(std_formatter, param, param$1, param$2, param$3); +} + +function get_all_formatter_output_functions(param) { + return pp_get_all_formatter_output_functions(std_formatter, param); +} + +function set_formatter_tag_functions(param) { + return pp_set_formatter_tag_functions(std_formatter, param); +} + +function get_formatter_tag_functions(param) { + return pp_get_formatter_tag_functions(std_formatter, param); +} + +function set_print_tags(param) { + std_formatter[/* pp_print_tags */20] = param; + return /* () */0; +} + +function get_print_tags() { + return std_formatter[/* pp_print_tags */20]; +} + +function set_mark_tags(param) { + std_formatter[/* pp_mark_tags */21] = param; + return /* () */0; +} + +function get_mark_tags() { + return std_formatter[/* pp_mark_tags */21]; +} + +function set_tags(param) { + return pp_set_tags(std_formatter, param); +} + +function compute_tag(output, tag_acc) { + var buf = Buffer.create(16); + var ppf = formatter_of_buffer(buf); + Curry._2(output, ppf, tag_acc); + pp_print_flush(ppf, /* () */0); + var len = buf[/* position */1]; + if (len < 2) { + return Buffer.contents(buf); + } + else { + return Buffer.sub(buf, 1, len - 2 | 0); + } +} + +function output_formatting_lit(ppf, fmting_lit) { + if (typeof fmting_lit === "number") { + switch (fmting_lit) { + case 0 : + return pp_close_box(ppf, /* () */0); + case 1 : + return pp_close_tag(ppf, /* () */0); + case 2 : + return pp_print_flush(ppf, /* () */0); + case 3 : + return pp_force_newline(ppf, /* () */0); + case 4 : + return pp_print_newline(ppf, /* () */0); + case 5 : + return pp_print_char(ppf, /* "@" */64); + case 6 : + return pp_print_char(ppf, /* "%" */37); + + } + } + else { + switch (fmting_lit.tag | 0) { + case 0 : + return pp_print_break(ppf, fmting_lit[1], fmting_lit[2]); + case 1 : + return /* () */0; + case 2 : + pp_print_char(ppf, /* "@" */64); + return pp_print_char(ppf, fmting_lit[0]); + + } + } +} + +function output_acc(ppf, acc) { + var exit = 0; + var p; + var size; + var s; + var p$1; + var size$1; + var c; + if (typeof acc === "number") { + return /* () */0; + } + else { + switch (acc.tag | 0) { + case 0 : + output_acc(ppf, acc[0]); + return output_formatting_lit(ppf, acc[1]); + case 1 : + var match = acc[1]; + var p$2 = acc[0]; + output_acc(ppf, p$2); + if (match.tag) { + var match$1 = CamlinternalFormat.open_box_of_string(compute_tag(output_acc, match[0])); + return pp_open_box_gen(ppf, match$1[0], match$1[1]); + } + else { + return pp_open_tag(ppf, compute_tag(output_acc, match[0])); + } + break; + case 2 : + var p$3 = acc[0]; + var exit$1 = 0; + if (typeof p$3 === "number") { + exit$1 = 3; + } + else if (p$3.tag) { + exit$1 = 3; + } + else { + var match$2 = p$3[1]; + if (typeof match$2 === "number") { + exit$1 = 3; + } + else if (match$2.tag === 1) { + p = p$3[0]; + size = match$2[1]; + s = acc[1]; + exit = 1; + } + else { + exit$1 = 3; + } + } + if (exit$1 === 3) { + output_acc(ppf, p$3); + return pp_print_string(ppf, acc[1]); + } + break; + case 3 : + var p$4 = acc[0]; + var exit$2 = 0; + if (typeof p$4 === "number") { + exit$2 = 3; + } + else if (p$4.tag) { + exit$2 = 3; + } + else { + var match$3 = p$4[1]; + if (typeof match$3 === "number") { + exit$2 = 3; + } + else if (match$3.tag === 1) { + p$1 = p$4[0]; + size$1 = match$3[1]; + c = acc[1]; + exit = 2; + } + else { + exit$2 = 3; + } + } + if (exit$2 === 3) { + output_acc(ppf, p$4); + return pp_print_char(ppf, acc[1]); + } + break; + case 4 : + var p$5 = acc[0]; + var exit$3 = 0; + if (typeof p$5 === "number") { + exit$3 = 3; + } + else if (p$5.tag) { + exit$3 = 3; + } + else { + var match$4 = p$5[1]; + if (typeof match$4 === "number") { + exit$3 = 3; + } + else if (match$4.tag === 1) { + p = p$5[0]; + size = match$4[1]; + s = acc[1]; + exit = 1; + } + else { + exit$3 = 3; + } + } + if (exit$3 === 3) { + output_acc(ppf, p$5); + return pp_print_string(ppf, acc[1]); + } + break; + case 5 : + var p$6 = acc[0]; + var exit$4 = 0; + if (typeof p$6 === "number") { + exit$4 = 3; + } + else if (p$6.tag) { + exit$4 = 3; + } + else { + var match$5 = p$6[1]; + if (typeof match$5 === "number") { + exit$4 = 3; + } + else if (match$5.tag === 1) { + p$1 = p$6[0]; + size$1 = match$5[1]; + c = acc[1]; + exit = 2; + } + else { + exit$4 = 3; + } + } + if (exit$4 === 3) { + output_acc(ppf, p$6); + return pp_print_char(ppf, acc[1]); + } + break; + case 6 : + output_acc(ppf, acc[0]); + return Curry._1(acc[1], ppf); + case 7 : + output_acc(ppf, acc[0]); + return pp_print_flush(ppf, /* () */0); + case 8 : + output_acc(ppf, acc[0]); + throw [ + Caml_builtin_exceptions.invalid_argument, + acc[1] + ]; + + } + } + switch (exit) { + case 1 : + output_acc(ppf, p); + return pp_print_as_size(ppf, size, s); + case 2 : + output_acc(ppf, p$1); + return pp_print_as_size(ppf, size$1, Caml_string.bytes_to_string(Bytes.make(1, c))); + + } +} + +function strput_acc(ppf, acc) { + var exit = 0; + var p; + var size; + var s; + var p$1; + var size$1; + var c; + if (typeof acc === "number") { + return /* () */0; + } + else { + switch (acc.tag | 0) { + case 0 : + strput_acc(ppf, acc[0]); + return output_formatting_lit(ppf, acc[1]); + case 1 : + var match = acc[1]; + var p$2 = acc[0]; + strput_acc(ppf, p$2); + if (match.tag) { + var match$1 = CamlinternalFormat.open_box_of_string(compute_tag(strput_acc, match[0])); + return pp_open_box_gen(ppf, match$1[0], match$1[1]); + } + else { + return pp_open_tag(ppf, compute_tag(strput_acc, match[0])); + } + break; + case 2 : + var p$3 = acc[0]; + var exit$1 = 0; + if (typeof p$3 === "number") { + exit$1 = 3; + } + else if (p$3.tag) { + exit$1 = 3; + } + else { + var match$2 = p$3[1]; + if (typeof match$2 === "number") { + exit$1 = 3; + } + else if (match$2.tag === 1) { + p = p$3[0]; + size = match$2[1]; + s = acc[1]; + exit = 1; + } + else { + exit$1 = 3; + } + } + if (exit$1 === 3) { + strput_acc(ppf, p$3); + return pp_print_string(ppf, acc[1]); + } + break; + case 3 : + var p$4 = acc[0]; + var exit$2 = 0; + if (typeof p$4 === "number") { + exit$2 = 3; + } + else if (p$4.tag) { + exit$2 = 3; + } + else { + var match$3 = p$4[1]; + if (typeof match$3 === "number") { + exit$2 = 3; + } + else if (match$3.tag === 1) { + p$1 = p$4[0]; + size$1 = match$3[1]; + c = acc[1]; + exit = 2; + } + else { + exit$2 = 3; + } + } + if (exit$2 === 3) { + strput_acc(ppf, p$4); + return pp_print_char(ppf, acc[1]); + } + break; + case 4 : + var p$5 = acc[0]; + var exit$3 = 0; + if (typeof p$5 === "number") { + exit$3 = 3; + } + else if (p$5.tag) { + exit$3 = 3; + } + else { + var match$4 = p$5[1]; + if (typeof match$4 === "number") { + exit$3 = 3; + } + else if (match$4.tag === 1) { + p = p$5[0]; + size = match$4[1]; + s = acc[1]; + exit = 1; + } + else { + exit$3 = 3; + } + } + if (exit$3 === 3) { + strput_acc(ppf, p$5); + return pp_print_string(ppf, acc[1]); + } + break; + case 5 : + var p$6 = acc[0]; + var exit$4 = 0; + if (typeof p$6 === "number") { + exit$4 = 3; + } + else if (p$6.tag) { + exit$4 = 3; + } + else { + var match$5 = p$6[1]; + if (typeof match$5 === "number") { + exit$4 = 3; + } + else if (match$5.tag === 1) { + p$1 = p$6[0]; + size$1 = match$5[1]; + c = acc[1]; + exit = 2; + } + else { + exit$4 = 3; + } + } + if (exit$4 === 3) { + strput_acc(ppf, p$6); + return pp_print_char(ppf, acc[1]); + } + break; + case 6 : + var p$7 = acc[0]; + var exit$5 = 0; + if (typeof p$7 === "number") { + exit$5 = 3; + } + else if (p$7.tag) { + exit$5 = 3; + } + else { + var match$6 = p$7[1]; + if (typeof match$6 === "number") { + exit$5 = 3; + } + else if (match$6.tag === 1) { + strput_acc(ppf, p$7[0]); + return pp_print_as_size(ppf, match$6[1], Curry._1(acc[1], /* () */0)); + } + else { + exit$5 = 3; + } + } + if (exit$5 === 3) { + strput_acc(ppf, p$7); + return pp_print_string(ppf, Curry._1(acc[1], /* () */0)); + } + break; + case 7 : + strput_acc(ppf, acc[0]); + return pp_print_flush(ppf, /* () */0); + case 8 : + strput_acc(ppf, acc[0]); + throw [ + Caml_builtin_exceptions.invalid_argument, + acc[1] + ]; + + } + } + switch (exit) { + case 1 : + strput_acc(ppf, p); + return pp_print_as_size(ppf, size, s); + case 2 : + strput_acc(ppf, p$1); + return pp_print_as_size(ppf, size$1, Caml_string.bytes_to_string(Bytes.make(1, c))); + + } +} + +function kfprintf(k, o, param) { + return CamlinternalFormat.make_printf(function (o, acc) { + output_acc(o, acc); + return Curry._1(k, o); + }, o, /* End_of_acc */0, param[0]); +} + +function ikfprintf(k, x, param) { + return CamlinternalFormat.make_printf(function (_, _$1) { + return Curry._1(k, x); + }, x, /* End_of_acc */0, param[0]); +} + +function fprintf(ppf, fmt) { + return kfprintf(function () { + return /* () */0; + }, ppf, fmt); +} + +function ifprintf(ppf, fmt) { + return ikfprintf(function () { + return /* () */0; + }, ppf, fmt); +} + +function printf(fmt) { + return fprintf(std_formatter, fmt); +} + +function eprintf(fmt) { + return fprintf(err_formatter, fmt); +} + +function ksprintf(k, param) { + var b = Buffer.create(512); + var ppf = formatter_of_buffer(b); + var k$prime = function (_, acc) { + strput_acc(ppf, acc); + return Curry._1(k, flush_buf_formatter(b, ppf)); + }; + return CamlinternalFormat.make_printf(k$prime, /* () */0, /* End_of_acc */0, param[0]); +} + +function sprintf(fmt) { + return ksprintf(function (s) { + return s; + }, fmt); +} + +function asprintf(param) { + var b = Buffer.create(512); + var ppf = formatter_of_buffer(b); + var k$prime = function (ppf, acc) { + output_acc(ppf, acc); + pp_flush_queue(ppf, /* false */0); + return flush_buf_formatter(b, ppf); + }; + return CamlinternalFormat.make_printf(k$prime, ppf, /* End_of_acc */0, param[0]); +} + +function bprintf(b, param) { + var k = function (ppf, acc) { + output_acc(ppf, acc); + return pp_flush_queue(ppf, /* false */0); + }; + return CamlinternalFormat.make_printf(k, formatter_of_buffer(b), /* End_of_acc */0, param[0]); +} + +Pervasives.at_exit(print_flush); + +var kprintf = ksprintf; + +exports.open_box = open_box; +exports.close_box = close_box; +exports.print_string = print_string; +exports.print_as = print_as; +exports.print_int = print_int; +exports.print_float = print_float; +exports.print_char = print_char; +exports.print_bool = print_bool; +exports.print_space = print_space; +exports.print_cut = print_cut; +exports.print_break = print_break; +exports.print_flush = print_flush; +exports.print_newline = print_newline; +exports.force_newline = force_newline; +exports.print_if_newline = print_if_newline; +exports.set_margin = set_margin; +exports.get_margin = get_margin; +exports.set_max_indent = set_max_indent; +exports.get_max_indent = get_max_indent; +exports.set_max_boxes = set_max_boxes; +exports.get_max_boxes = get_max_boxes; +exports.over_max_boxes = over_max_boxes; +exports.open_hbox = open_hbox; +exports.open_vbox = open_vbox; +exports.open_hvbox = open_hvbox; +exports.open_hovbox = open_hovbox; +exports.open_tbox = open_tbox; +exports.close_tbox = close_tbox; +exports.print_tbreak = print_tbreak; +exports.set_tab = set_tab; +exports.print_tab = print_tab; +exports.set_ellipsis_text = set_ellipsis_text; +exports.get_ellipsis_text = get_ellipsis_text; +exports.open_tag = open_tag; +exports.close_tag = close_tag; +exports.set_tags = set_tags; +exports.set_print_tags = set_print_tags; +exports.set_mark_tags = set_mark_tags; +exports.get_print_tags = get_print_tags; +exports.get_mark_tags = get_mark_tags; +exports.set_formatter_out_channel = set_formatter_out_channel; +exports.set_formatter_output_functions = set_formatter_output_functions; +exports.get_formatter_output_functions = get_formatter_output_functions; +exports.set_formatter_out_functions = set_formatter_out_functions; +exports.get_formatter_out_functions = get_formatter_out_functions; +exports.set_formatter_tag_functions = set_formatter_tag_functions; +exports.get_formatter_tag_functions = get_formatter_tag_functions; +exports.formatter_of_out_channel = formatter_of_out_channel; +exports.std_formatter = std_formatter; +exports.err_formatter = err_formatter; +exports.formatter_of_buffer = formatter_of_buffer; +exports.stdbuf = stdbuf; +exports.str_formatter = str_formatter; +exports.flush_str_formatter = flush_str_formatter; +exports.make_formatter = make_formatter; +exports.pp_open_hbox = pp_open_hbox; +exports.pp_open_vbox = pp_open_vbox; +exports.pp_open_hvbox = pp_open_hvbox; +exports.pp_open_hovbox = pp_open_hovbox; +exports.pp_open_box = pp_open_box; +exports.pp_close_box = pp_close_box; +exports.pp_open_tag = pp_open_tag; +exports.pp_close_tag = pp_close_tag; +exports.pp_print_string = pp_print_string; +exports.pp_print_as = pp_print_as; +exports.pp_print_int = pp_print_int; +exports.pp_print_float = pp_print_float; +exports.pp_print_char = pp_print_char; +exports.pp_print_bool = pp_print_bool; +exports.pp_print_break = pp_print_break; +exports.pp_print_cut = pp_print_cut; +exports.pp_print_space = pp_print_space; +exports.pp_force_newline = pp_force_newline; +exports.pp_print_flush = pp_print_flush; +exports.pp_print_newline = pp_print_newline; +exports.pp_print_if_newline = pp_print_if_newline; +exports.pp_open_tbox = pp_open_tbox; +exports.pp_close_tbox = pp_close_tbox; +exports.pp_print_tbreak = pp_print_tbreak; +exports.pp_set_tab = pp_set_tab; +exports.pp_print_tab = pp_print_tab; +exports.pp_set_tags = pp_set_tags; +exports.pp_set_print_tags = pp_set_print_tags; +exports.pp_set_mark_tags = pp_set_mark_tags; +exports.pp_get_print_tags = pp_get_print_tags; +exports.pp_get_mark_tags = pp_get_mark_tags; +exports.pp_set_margin = pp_set_margin; +exports.pp_get_margin = pp_get_margin; +exports.pp_set_max_indent = pp_set_max_indent; +exports.pp_get_max_indent = pp_get_max_indent; +exports.pp_set_max_boxes = pp_set_max_boxes; +exports.pp_get_max_boxes = pp_get_max_boxes; +exports.pp_over_max_boxes = pp_over_max_boxes; +exports.pp_set_ellipsis_text = pp_set_ellipsis_text; +exports.pp_get_ellipsis_text = pp_get_ellipsis_text; +exports.pp_set_formatter_out_channel = pp_set_formatter_out_channel; +exports.pp_set_formatter_output_functions = pp_set_formatter_output_functions; +exports.pp_get_formatter_output_functions = pp_get_formatter_output_functions; +exports.pp_set_formatter_tag_functions = pp_set_formatter_tag_functions; +exports.pp_get_formatter_tag_functions = pp_get_formatter_tag_functions; +exports.pp_set_formatter_out_functions = pp_set_formatter_out_functions; +exports.pp_get_formatter_out_functions = pp_get_formatter_out_functions; +exports.pp_print_list = pp_print_list; +exports.pp_print_text = pp_print_text; +exports.fprintf = fprintf; +exports.printf = printf; +exports.eprintf = eprintf; +exports.sprintf = sprintf; +exports.asprintf = asprintf; +exports.ifprintf = ifprintf; +exports.kfprintf = kfprintf; +exports.ikfprintf = ikfprintf; +exports.ksprintf = ksprintf; +exports.bprintf = bprintf; +exports.kprintf = kprintf; +exports.set_all_formatter_output_functions = set_all_formatter_output_functions; +exports.get_all_formatter_output_functions = get_all_formatter_output_functions; +exports.pp_set_all_formatter_output_functions = pp_set_all_formatter_output_functions; +exports.pp_get_all_formatter_output_functions = pp_get_all_formatter_output_functions; +/* blank_line Not a pure module */ +//////// end of format.js //////// +    return exports; +  }; + + + _registry['i32'] = function() { +    let exports = {}; +//////// start of i32.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Int = require("./int"); +var Int32 = require("bs-platform/lib/js/int32"); +var Caml_int32 = require("bs-platform/lib/js/caml_int32"); + +var include = Int.Make(/* module */[ + /* zero */Int32.zero, + /* one */Int32.one, + /* minus_one */Int32.minus_one, + /* max_int */Int32.max_int, + /* min_int */Int32.min_int, + /* %int32_neg */function (prim) { + return -prim | 0; + }, + /* %int32_add */function (prim, prim$1) { + return prim + prim$1 | 0; + }, + /* %int32_sub */function (prim, prim$1) { + return prim - prim$1 | 0; + }, + /* %int32_mul */Caml_int32.imul, + /* %int32_div */Caml_int32.div, + /* %int32_mod */Caml_int32.mod_, + /* %int32_and */function (prim, prim$1) { + return prim & prim$1; + }, + /* lognot */Int32.lognot, + /* %int32_or */function (prim, prim$1) { + return prim | prim$1; + }, + /* %int32_xor */function (prim, prim$1) { + return prim ^ prim$1; + }, + /* %int32_lsl */function (prim, prim$1) { + return (prim << prim$1); + }, + /* %int32_asr */function (prim, prim$1) { + return (prim >> prim$1); + }, + /* %int32_lsr */function (prim, prim$1) { + return (prim >>> prim$1) | 0; + }, + /* %int32_of_int */function (prim) { + return prim; + }, + /* %int32_to_int */function (prim) { + return prim; + }, + /* to_string */Int32.to_string, + /* bitwidth */32 + ]); + +var of_bits = include[0]; + +var to_bits = include[1]; + +var zero = include[2]; + +var add = include[3]; + +var sub = include[4]; + +var mul = include[5]; + +var div_s = include[6]; + +var div_u = include[7]; + +var rem_s = include[8]; + +var rem_u = include[9]; + +var and_ = include[10]; + +var or_ = include[11]; + +var xor = include[12]; + +var shl = include[13]; + +var shr_s = include[14]; + +var shr_u = include[15]; + +var rotl = include[16]; + +var rotr = include[17]; + +var clz = include[18]; + +var ctz = include[19]; + +var popcnt = include[20]; + +var eqz = include[21]; + +var eq = include[22]; + +var ne = include[23]; + +var lt_s = include[24]; + +var lt_u = include[25]; + +var le_s = include[26]; + +var le_u = include[27]; + +var gt_s = include[28]; + +var gt_u = include[29]; + +var ge_s = include[30]; + +var ge_u = include[31]; + +var of_int_s = include[32]; + +var of_int_u = include[33]; + +var of_string_s = include[34]; + +var of_string_u = include[35]; + +var of_string = include[36]; + +var to_string_s = include[37]; + +var to_string_u = include[38]; + +exports.of_bits = of_bits; +exports.to_bits = to_bits; +exports.zero = zero; +exports.add = add; +exports.sub = sub; +exports.mul = mul; +exports.div_s = div_s; +exports.div_u = div_u; +exports.rem_s = rem_s; +exports.rem_u = rem_u; +exports.and_ = and_; +exports.or_ = or_; +exports.xor = xor; +exports.shl = shl; +exports.shr_s = shr_s; +exports.shr_u = shr_u; +exports.rotl = rotl; +exports.rotr = rotr; +exports.clz = clz; +exports.ctz = ctz; +exports.popcnt = popcnt; +exports.eqz = eqz; +exports.eq = eq; +exports.ne = ne; +exports.lt_s = lt_s; +exports.lt_u = lt_u; +exports.le_s = le_s; +exports.le_u = le_u; +exports.gt_s = gt_s; +exports.gt_u = gt_u; +exports.ge_s = ge_s; +exports.ge_u = ge_u; +exports.of_int_s = of_int_s; +exports.of_int_u = of_int_u; +exports.of_string_s = of_string_s; +exports.of_string_u = of_string_u; +exports.of_string = of_string; +exports.to_string_s = to_string_s; +exports.to_string_u = to_string_u; +/* include Not a pure module */ +//////// end of i32.js //////// +    return exports; +  }; + + + _registry['i64'] = function() { +    let exports = {}; +//////// start of i64.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Int = require("./int"); +var Int64 = require("bs-platform/lib/js/int64"); +var Caml_int64 = require("bs-platform/lib/js/caml_int64"); + +var include = Int.Make(/* module */[ + /* zero */Int64.zero, + /* one */Int64.one, + /* minus_one */Int64.minus_one, + /* max_int */Int64.max_int, + /* min_int */Int64.min_int, + /* %int64_neg */Caml_int64.neg, + /* %int64_add */Caml_int64.add, + /* %int64_sub */Caml_int64.sub, + /* %int64_mul */Caml_int64.mul, + /* %int64_div */Caml_int64.div, + /* %int64_mod */Caml_int64.mod_, + /* %int64_and */function (prim, prim$1) { + return /* int64 */[ + /* hi */prim[0] & prim$1[0], + /* lo */((prim[1] & prim$1[1]) >>> 0) + ]; + }, + /* lognot */Int64.lognot, + /* %int64_or */function (prim, prim$1) { + return /* int64 */[ + /* hi */prim[0] | prim$1[0], + /* lo */((prim[1] | prim$1[1]) >>> 0) + ]; + }, + /* %int64_xor */function (prim, prim$1) { + return /* int64 */[ + /* hi */prim[0] ^ prim$1[0], + /* lo */((prim[1] ^ prim$1[1]) >>> 0) + ]; + }, + /* %int64_lsl */Caml_int64.lsl_, + /* %int64_asr */Caml_int64.asr_, + /* %int64_lsr */Caml_int64.lsr_, + /* %int64_of_int */Caml_int64.of_int32, + /* %int64_to_int */function (prim) { + return prim[1] | 0; + }, + /* to_string */Int64.to_string, + /* bitwidth */64 + ]); + +var of_bits = include[0]; + +var to_bits = include[1]; + +var zero = include[2]; + +var add = include[3]; + +var sub = include[4]; + +var mul = include[5]; + +var div_s = include[6]; + +var div_u = include[7]; + +var rem_s = include[8]; + +var rem_u = include[9]; + +var and_ = include[10]; + +var or_ = include[11]; + +var xor = include[12]; + +var shl = include[13]; + +var shr_s = include[14]; + +var shr_u = include[15]; + +var rotl = include[16]; + +var rotr = include[17]; + +var clz = include[18]; + +var ctz = include[19]; + +var popcnt = include[20]; + +var eqz = include[21]; + +var eq = include[22]; + +var ne = include[23]; + +var lt_s = include[24]; + +var lt_u = include[25]; + +var le_s = include[26]; + +var le_u = include[27]; + +var gt_s = include[28]; + +var gt_u = include[29]; + +var ge_s = include[30]; + +var ge_u = include[31]; + +var of_int_s = include[32]; + +var of_int_u = include[33]; + +var of_string_s = include[34]; + +var of_string_u = include[35]; + +var of_string = include[36]; + +var to_string_s = include[37]; + +var to_string_u = include[38]; + +exports.of_bits = of_bits; +exports.to_bits = to_bits; +exports.zero = zero; +exports.add = add; +exports.sub = sub; +exports.mul = mul; +exports.div_s = div_s; +exports.div_u = div_u; +exports.rem_s = rem_s; +exports.rem_u = rem_u; +exports.and_ = and_; +exports.or_ = or_; +exports.xor = xor; +exports.shl = shl; +exports.shr_s = shr_s; +exports.shr_u = shr_u; +exports.rotl = rotl; +exports.rotr = rotr; +exports.clz = clz; +exports.ctz = ctz; +exports.popcnt = popcnt; +exports.eqz = eqz; +exports.eq = eq; +exports.ne = ne; +exports.lt_s = lt_s; +exports.lt_u = lt_u; +exports.le_s = le_s; +exports.le_u = le_u; +exports.gt_s = gt_s; +exports.gt_u = gt_u; +exports.ge_s = ge_s; +exports.ge_u = ge_u; +exports.of_int_s = of_int_s; +exports.of_int_u = of_int_u; +exports.of_string_s = of_string_s; +exports.of_string_u = of_string_u; +exports.of_string = of_string; +exports.to_string_s = to_string_s; +exports.to_string_u = to_string_u; +/* include Not a pure module */ +//////// end of i64.js //////// +    return exports; +  }; + + + _registry['int32'] = function() { +    let exports = {}; +//////// start of int32.js //////// +'use strict'; + +var Caml_obj = require("./caml_obj"); +var Caml_format = require("./caml_format"); + +function succ(n) { + return n + 1 | 0; +} + +function pred(n) { + return n - 1 | 0; +} + +function abs(n) { + if (n >= 0) { + return n; + } + else { + return -n | 0; + } +} + +function lognot(n) { + return n ^ -1; +} + +function to_string(n) { + return Caml_format.caml_int32_format("%d", n); +} + +var compare = Caml_obj.caml_int32_compare; + +var zero = 0; + +var one = 1; + +var minus_one = -1; + +var max_int = 2147483647; + +var min_int = -2147483648; + +exports.zero = zero; +exports.one = one; +exports.minus_one = minus_one; +exports.succ = succ; +exports.pred = pred; +exports.abs = abs; +exports.max_int = max_int; +exports.min_int = min_int; +exports.lognot = lognot; +exports.to_string = to_string; +exports.compare = compare; +/* No side effect */ +//////// end of int32.js //////// +    return exports; +  }; + + + _registry['int64'] = function() { +    let exports = {}; +//////// start of int64.js //////// +'use strict'; + +var Caml_int64 = require("./caml_int64"); +var Caml_format = require("./caml_format"); + +function succ(n) { + return Caml_int64.add(n, /* int64 */[ + /* hi */0, + /* lo */1 + ]); +} + +function pred(n) { + return Caml_int64.sub(n, /* int64 */[ + /* hi */0, + /* lo */1 + ]); +} + +function abs(n) { + if (Caml_int64.ge(n, /* int64 */[ + /* hi */0, + /* lo */0 + ])) { + return n; + } + else { + return Caml_int64.neg(n); + } +} + +function lognot(n) { + return /* int64 */[ + /* hi */n[0] ^ /* hi */-1, + /* lo */((n[1] ^ /* lo */4294967295) >>> 0) + ]; +} + +function to_string(n) { + return Caml_format.caml_int64_format("%d", n); +} + +var compare = Caml_int64.compare; + +var zero = /* int64 */[ + /* hi */0, + /* lo */0 +]; + +var one = /* int64 */[ + /* hi */0, + /* lo */1 +]; + +var minus_one = /* int64 */[ + /* hi */-1, + /* lo */4294967295 +]; + +var max_int = /* int64 */[ + /* hi */2147483647, + /* lo */4294967295 +]; + +var min_int = /* int64 */[ + /* hi */-2147483648, + /* lo */0 +]; + +exports.zero = zero; +exports.one = one; +exports.minus_one = minus_one; +exports.succ = succ; +exports.pred = pred; +exports.abs = abs; +exports.max_int = max_int; +exports.min_int = min_int; +exports.lognot = lognot; +exports.to_string = to_string; +exports.compare = compare; +/* No side effect */ +//////// end of int64.js //////// +    return exports; +  }; + + + _registry['int'] = function() { +    let exports = {}; +//////// start of int.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Curry = require("bs-platform/lib/js/curry"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Pervasives = require("bs-platform/lib/js/pervasives"); +var Caml_string = require("bs-platform/lib/js/caml_string"); +var Numeric_error = require("./numeric_error"); + +function Make(Rep) { + var cmp_u = function (x, op, y) { + return Curry._2(op, Curry._2(Rep[/* add */6], x, Rep[/* min_int */4]), Curry._2(Rep[/* add */6], y, Rep[/* min_int */4])); + }; + var divrem_u = function (n, d) { + if (Caml_obj.caml_equal(d, Rep[/* zero */0])) { + throw Numeric_error.IntegerDivideByZero; + } + else { + var t = Curry._2(Rep[/* shift_right */16], d, Rep[/* bitwidth */21] - 1 | 0); + var n$prime = Curry._2(Rep[/* logand */11], n, Curry._1(Rep[/* lognot */12], t)); + var q = Curry._2(Rep[/* shift_left */15], Curry._2(Rep[/* div */9], Curry._2(Rep[/* shift_right_logical */17], n$prime, 1), d), 1); + var r = Curry._2(Rep[/* sub */7], n, Curry._2(Rep[/* mul */8], q, d)); + if (cmp_u(r, Caml_obj.caml_lessthan, d)) { + return /* tuple */[ + q, + r + ]; + } + else { + return /* tuple */[ + Curry._2(Rep[/* add */6], q, Rep[/* one */1]), + Curry._2(Rep[/* sub */7], r, d) + ]; + } + } + }; + var of_bits = function (x) { + return x; + }; + var to_bits = function (x) { + return x; + }; + var zero = Rep[/* zero */0]; + var one = Rep[/* one */1]; + var ten = Curry._1(Rep[/* of_int */18], 10); + var add = Rep[/* add */6]; + var sub = Rep[/* sub */7]; + var mul = Rep[/* mul */8]; + var div_s = function (x, y) { + if (Caml_obj.caml_equal(y, Rep[/* zero */0])) { + throw Numeric_error.IntegerDivideByZero; + } + else if (Caml_obj.caml_equal(x, Rep[/* min_int */4]) && Caml_obj.caml_equal(y, Rep[/* minus_one */2])) { + throw Numeric_error.IntegerOverflow; + } + else { + return Curry._2(Rep[/* div */9], x, y); + } + }; + var div_u = function (x, y) { + return divrem_u(x, y)[0]; + }; + var rem_s = function (x, y) { + if (Caml_obj.caml_equal(y, Rep[/* zero */0])) { + throw Numeric_error.IntegerDivideByZero; + } + else { + return Curry._2(Rep[/* rem */10], x, y); + } + }; + var rem_u = function (x, y) { + return divrem_u(x, y)[1]; + }; + var and_ = Rep[/* logand */11]; + var or_ = Rep[/* logor */13]; + var xor = Rep[/* logxor */14]; + var shift = function (f, x, y) { + return Curry._2(f, x, Curry._1(Rep[/* to_int */19], Curry._2(Rep[/* logand */11], y, Curry._1(Rep[/* of_int */18], Rep[/* bitwidth */21] - 1 | 0)))); + }; + var shl = function (x, y) { + return shift(Rep[/* shift_left */15], x, y); + }; + var shr_s = function (x, y) { + return shift(Rep[/* shift_right */16], x, y); + }; + var shr_u = function (x, y) { + return shift(Rep[/* shift_right_logical */17], x, y); + }; + var clamp_rotate_count = function (n) { + return Curry._1(Rep[/* to_int */19], Curry._2(Rep[/* logand */11], n, Curry._1(Rep[/* of_int */18], Rep[/* bitwidth */21] - 1 | 0))); + }; + var rotl = function (x, y) { + var n = clamp_rotate_count(y); + return Curry._2(or_, Curry._2(Rep[/* shift_left */15], x, n), Curry._2(Rep[/* shift_right_logical */17], x, Rep[/* bitwidth */21] - n | 0)); + }; + var rotr = function (x, y) { + var n = clamp_rotate_count(y); + return Curry._2(or_, Curry._2(Rep[/* shift_right_logical */17], x, n), Curry._2(Rep[/* shift_left */15], x, Rep[/* bitwidth */21] - n | 0)); + }; + var clz = function (x) { + var loop = function (_acc, _n) { + while(true) { + var n = _n; + var acc = _acc; + if (Caml_obj.caml_equal(n, Rep[/* zero */0])) { + return Rep[/* bitwidth */21]; + } + else if (Caml_obj.caml_equal(Curry._2(and_, n, Curry._2(Rep[/* shift_left */15], Rep[/* one */1], Rep[/* bitwidth */21] - 1 | 0)), Rep[/* zero */0])) { + _n = Curry._2(Rep[/* shift_left */15], n, 1); + _acc = 1 + acc | 0; + continue ; + + } + else { + return acc; + } + }; + }; + return Curry._1(Rep[/* of_int */18], loop(0, x)); + }; + var ctz = function (x) { + var loop = function (_acc, _n) { + while(true) { + var n = _n; + var acc = _acc; + if (Caml_obj.caml_equal(n, Rep[/* zero */0])) { + return Rep[/* bitwidth */21]; + } + else if (Caml_obj.caml_equal(Curry._2(and_, n, Rep[/* one */1]), Rep[/* one */1])) { + return acc; + } + else { + _n = Curry._2(Rep[/* shift_right_logical */17], n, 1); + _acc = 1 + acc | 0; + continue ; + + } + }; + }; + return Curry._1(Rep[/* of_int */18], loop(0, x)); + }; + var popcnt = function (x) { + var loop = function (_acc, _i, _n) { + while(true) { + var n = _n; + var i = _i; + var acc = _acc; + if (Caml_obj.caml_equal(n, Rep[/* zero */0])) { + return acc; + } + else { + var acc$prime = Caml_obj.caml_equal(Curry._2(and_, n, Rep[/* one */1]), Rep[/* one */1]) ? acc + 1 | 0 : acc; + _n = Curry._2(Rep[/* shift_right_logical */17], n, 1); + _i = i - 1 | 0; + _acc = acc$prime; + continue ; + + } + }; + }; + return Curry._1(Rep[/* of_int */18], loop(0, Rep[/* bitwidth */21], x)); + }; + var eqz = function (x) { + return Caml_obj.caml_equal(x, Rep[/* zero */0]); + }; + var eq = Caml_obj.caml_equal; + var ne = Caml_obj.caml_notequal; + var lt_s = Caml_obj.caml_lessthan; + var lt_u = function (x, y) { + return cmp_u(x, Caml_obj.caml_lessthan, y); + }; + var le_s = Caml_obj.caml_lessequal; + var le_u = function (x, y) { + return cmp_u(x, Caml_obj.caml_lessequal, y); + }; + var gt_s = Caml_obj.caml_greaterthan; + var gt_u = function (x, y) { + return cmp_u(x, Caml_obj.caml_greaterthan, y); + }; + var ge_s = Caml_obj.caml_greaterequal; + var ge_u = function (x, y) { + return cmp_u(x, Caml_obj.caml_greaterequal, y); + }; + var of_int_s = Rep[/* of_int */18]; + var of_int_u = function (i) { + return Curry._2(and_, Curry._1(Rep[/* of_int */18], i), Curry._2(or_, shl(Curry._1(Rep[/* of_int */18], Pervasives.max_int), one), one)); + }; + var to_string_s = Rep[/* to_string */20]; + var to_string_u = function (i) { + if (Caml_obj.caml_greaterequal(i, Rep[/* zero */0])) { + return Curry._1(to_string_s, i); + } + else { + return Curry._1(to_string_s, div_u(i, ten)) + Curry._1(to_string_s, rem_u(i, ten)); + } + }; + var $$require = function (b) { + if (b) { + return 0; + } + else { + return Pervasives.failwith("of_string"); + } + }; + var dec_digit = function (c) { + if (c > 57 || c < 48) { + return Pervasives.failwith("of_string"); + } + else { + return c - /* "0" */48 | 0; + } + }; + var hex_digit = function (c) { + if (c >= 65) { + if (c >= 97) { + if (c >= 103) { + return Pervasives.failwith("of_string"); + } + else { + return (10 + c | 0) - /* "a" */97 | 0; + } + } + else if (c >= 71) { + return Pervasives.failwith("of_string"); + } + else { + return (10 + c | 0) - /* "A" */65 | 0; + } + } + else if (c > 57 || c < 48) { + return Pervasives.failwith("of_string"); + } + else { + return c - /* "0" */48 | 0; + } + }; + var match = divrem_u(Rep[/* minus_one */2], ten); + var max_lower = match[1]; + var max_upper = match[0]; + var of_string = function (s) { + var len = s.length; + var parse_int = function (i) { + $$require(+((len - i | 0) > 0)); + if ((i + 2 | 0) <= len && Caml_string.get(s, i) === /* "0" */48 && Caml_string.get(s, i + 1 | 0) === /* "x" */120) { + var _i = i + 2 | 0; + var _num = Rep[/* zero */0]; + while(true) { + var num = _num; + var i$1 = _i; + if (i$1 === len) { + return num; + } + else { + var digit = Curry._1(Rep[/* of_int */18], hex_digit(Caml_string.get(s, i$1))); + $$require(le_u(num, shr_u(Rep[/* minus_one */2], Curry._1(Rep[/* of_int */18], 4)))); + _num = Curry._2(Rep[/* logor */13], Curry._2(Rep[/* shift_left */15], num, 4), digit); + _i = i$1 + 1 | 0; + continue ; + + } + }; + } + else { + var _i$1 = i; + var _num$1 = Rep[/* zero */0]; + while(true) { + var num$1 = _num$1; + var i$2 = _i$1; + if (i$2 === len) { + return num$1; + } + else { + var digit$1 = Curry._1(Rep[/* of_int */18], dec_digit(Caml_string.get(s, i$2))); + $$require(lt_u(num$1, max_upper) || Caml_obj.caml_equal(num$1, max_upper) && le_u(digit$1, max_lower)); + _num$1 = Curry._2(Rep[/* add */6], Curry._2(Rep[/* mul */8], num$1, ten), digit$1); + _i$1 = i$2 + 1 | 0; + continue ; + + } + }; + } + }; + $$require(+(len > 0)); + var match = Caml_string.get(s, 0); + var switcher = match - 43 | 0; + if (switcher > 2 || switcher < 0) { + return parse_int(0); + } + else { + switch (switcher) { + case 0 : + return parse_int(1); + case 1 : + return parse_int(0); + case 2 : + var n = parse_int(1); + $$require(Caml_obj.caml_greaterequal(Curry._2(Rep[/* sub */7], n, Rep[/* one */1]), Rep[/* minus_one */2])); + return Curry._1(Rep[/* neg */5], n); + + } + } + }; + var of_string_s = function (s) { + var n = of_string(s); + $$require(+(Caml_string.get(s, 0) === /* "-" */45) || Caml_obj.caml_greaterequal(n, Rep[/* zero */0])); + return n; + }; + var of_string_u = function (s) { + var n = of_string(s); + $$require(+(Caml_string.get(s, 0) !== /* "+" */43 && Caml_string.get(s, 0) !== /* "-" */45)); + return n; + }; + return /* module */[ + /* of_bits */of_bits, + /* to_bits */to_bits, + /* zero */zero, + /* add */add, + /* sub */sub, + /* mul */mul, + /* div_s */div_s, + /* div_u */div_u, + /* rem_s */rem_s, + /* rem_u */rem_u, + /* and_ */and_, + /* or_ */or_, + /* xor */xor, + /* shl */shl, + /* shr_s */shr_s, + /* shr_u */shr_u, + /* rotl */rotl, + /* rotr */rotr, + /* clz */clz, + /* ctz */ctz, + /* popcnt */popcnt, + /* eqz */eqz, + /* eq */eq, + /* ne */ne, + /* lt_s */lt_s, + /* lt_u */lt_u, + /* le_s */le_s, + /* le_u */le_u, + /* gt_s */gt_s, + /* gt_u */gt_u, + /* ge_s */ge_s, + /* ge_u */ge_u, + /* of_int_s */of_int_s, + /* of_int_u */of_int_u, + /* of_string_s */of_string_s, + /* of_string_u */of_string_u, + /* of_string */of_string, + /* to_string_s */to_string_s, + /* to_string_u */to_string_u + ]; +} + +exports.Make = Make; +/* No side effect */ +//////// end of int.js //////// +    return exports; +  }; + + + _registry['lexer'] = function() { +    let exports = {}; +//////// start of lexer.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var F32 = require("./f32"); +var F64 = require("./f64"); +var I32 = require("./i32"); +var I64 = require("./i64"); +var Lib = require("./lib"); +var Char = require("bs-platform/lib/js/char"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Buffer = require("bs-platform/lib/js/buffer"); +var Lexing = require("bs-platform/lib/js/lexing"); +var Script = require("./script"); +var Source = require("./source"); +var $$String = require("bs-platform/lib/js/string"); +var Operators = require("./operators"); +var Caml_format = require("bs-platform/lib/js/caml_format"); +var Caml_string = require("bs-platform/lib/js/caml_string"); +var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions"); + +function convert_pos(pos) { + return /* record */[ + /* file */pos[/* pos_fname */0], + /* line */pos[/* pos_lnum */1], + /* column */pos[/* pos_cnum */3] - pos[/* pos_bol */2] | 0 + ]; +} + +function region(lexbuf) { + var left = convert_pos(Lexing.lexeme_start_p(lexbuf)); + var right = convert_pos(Lexing.lexeme_end_p(lexbuf)); + return /* record */[ + /* left */left, + /* right */right + ]; +} + +function error(lexbuf, msg) { + throw [ + Script.Syntax, + region(lexbuf), + msg + ]; +} + +function error_nest(start, lexbuf, msg) { + lexbuf[/* lex_start_p */10] = start; + return error(lexbuf, msg); +} + +function text(s) { + var b = Buffer.create(s.length); + var i = 1; + while(i < (s.length - 1 | 0)) { + var c; + if (Caml_string.get(s, i) !== /* "\\" */92) { + c = Caml_string.get(s, i); + } + else { + i = i + 1 | 0; + var d = Caml_string.get(s, i); + var exit = 0; + if (d >= 92) { + if (d !== 110) { + if (d !== 116) { + if (d >= 93) { + exit = 1; + } + else { + c = /* "\\" */92; + } + } + else { + c = /* "\t" */9; + } + } + else { + c = /* "\n" */10; + } + } + else if (d !== 34) { + if (d !== 39) { + exit = 1; + } + else { + c = /* "'" */39; + } + } + else { + c = /* "\"" */34; + } + if (exit === 1) { + i = i + 1 | 0; + c = Char.chr(Caml_format.caml_int_of_string("0x" + ($$String.make(1, d) + $$String.make(1, Caml_string.get(s, i))))); + } + + } + Buffer.add_char(b, c); + i = i + 1 | 0; + }; + return Buffer.contents(b); +} + +function value_type(param) { + switch (param) { + case "f32" : + return /* F32Type */2; + case "f64" : + return /* F64Type */3; + case "i32" : + return /* I32Type */0; + case "i64" : + return /* I64Type */1; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 45, + 9 + ] + ]; + } +} + +function intop(t, i32, i64) { + switch (t) { + case "i32" : + return i32; + case "i64" : + return i64; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 51, + 9 + ] + ]; + } +} + +function floatop(t, f32, f64) { + switch (t) { + case "f32" : + return f32; + case "f64" : + return f64; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 57, + 9 + ] + ]; + } +} + +function numop(t, i32, i64, f32, f64) { + switch (t) { + case "f32" : + return f32; + case "f64" : + return f64; + case "i32" : + return i32; + case "i64" : + return i64; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 65, + 9 + ] + ]; + } +} + +function memsz(sz, m8, m16, m32) { + switch (sz) { + case "16" : + return m16; + case "32" : + return m32; + case "8" : + return m8; + default: + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 72, + 9 + ] + ]; + } +} + +function ext(e, s, u) { + var switcher = e - 115 | 0; + if (switcher > 2 || switcher < 0) { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 78, + 9 + ] + ]; + } + else { + switch (switcher) { + case 0 : + return s; + case 1 : + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "text/lexer.mll", + 78, + 9 + ] + ]; + case 2 : + return u; + + } + } +} + +var opt = Lib.Option[/* get */0]; + +var __ocaml_lex_tables = /* record */[ + /* lex_base */"\0\0o\xffp\xffq\xffr\xff\x01\0U\0\x07\0\x1b\0\x05\0o\0o\0t\0\x06\0j\0\x0e\0k\0y\0\x10\0y\0s\0\xb4\0\x01\x01z\0\xbe\0\xc5\0\x04\x01\x1a\x01\xfe\xff\x02\0s\xff\x13\0<\x01R\x01x\x01\"\0\x8f\x01\xd5\x01\x0e\x01\xee\x01/\x02>\x02U\x02\x96\x02\xa0\x02O\0D\0\xac\x02\xc2\x02\xe7\x02\0\x03&\x03L\x03z\0|\0~\0\x86\0|\0y\0\xfb\xff\x85\0\0\0\x0f\0\x87\0r\x03\x98\x03\xb1\0\xe8\xff\r\0\x10\0\xee\0\xad\0\xb6\0\xbb\0\xc2\0\x82\xff\xb4\0x\xff\0\0\x9c\x02\xb8\0\xbb\0\xf1\0\xca\0\xbf\0\xc2\0\xe3\0\xf2\0\xef\0\xe4\0\xf8\0\xeb\0\xf3\0*\x01\n\x01\xe6\0\xe8\0\xf5\0\xf7\0\xf7\0\xf5\xff\xd7\xff\xd6\xff\0\0\x01\0\x16\x01\x14\x01j\x01\x1c\0\x1a\0\x1b\x01\b\x01\xdb\xff\x19\x01\xb3\xff\xb4\xff'\x01\xb1\xff\xb2\xff3\x01\x1a\x01\x1e\x01\x1e\x01,\x01\xae\x01\x1f\0&\0\xda\xff\xcc\xffA\x01\xc3\xffV\x01\xc1\xff\xc2\xff3\x01A\x019\x01>\x01\xd5\xfff\x01h\x01\xcd\xff\xc6\xffa\x01\xcb\xffX\x01p\x01c\x01\xc9\xff\xca\xffc\x01w\x01t\x01\x84\x01r\x01\xc7\xff\xc8\xffu\x01\x85\x01y\x01|\x01{\x01\x89\x01{\x01\0\0\x90\x01*\0,\0\x97\xff\x8b\x01\xbf\xff\xc0\xff\xc5\xff\x86\x01\xc4\xff\x7f\x01\xb7\xff\xb5\xff\x9b\x01\x9c\x01\x89\x01\xaf\xff\xb0\xff\x9c\x01\xad\xff\xae\xff\xa3\x01\xa0\x01\xe3\x01\xaa\x01\xde\x01\xe1\x01\xa6\xff\xa8\x01\xba\x01\xc6\x01\xcb\x01\xb8\x01\xfd\x01\xff\x01\xcf\x01\t\x02\t\x02\f\x02\xa1\xff\x9f\xff\xda\x01\x0e\x02\x0e\x02\x11\x02\xa0\xff\x9e\xff\x18\x02~\x03\xd6\x01\xe6\x01\xdf\x01\xdb\x01\xd6\x01\xe8\x01\xe4\x01\xe7\x01\xe6\x01\xf4\x01\xe6\x01,\x02\xf6\x01'\x026\x02\x96\xff\xf8\x01\b\x02\n\x02\x15\x02\x1b\x02\b\x02M\x02O\x02&\x02]\x02_\x02\xa5\xff)\x02`\x02b\x02\xa4\xff&\x02*\x02)\x02\x86\xff.\x02\xf2\xff\xf8\xff\xf9\xff\xfa\xff\xd1\x03F\x04\xf7\xff9\x04\xa4\x047\x02r\x02u\x02z\x02\xb7\x03D\x02H\x029\x02F\x02K\x02>\x02E\x02Q\x02M\x02M\x02\xbd\x03\x97\x02T\x02x\x02F\x02t\x02^\x02R\x02g\x02\x8a\x02x\x02\xbd\x02\xbf\x02\x86\x02\xcf\x02\xca\x02\xd2\x02\x9d\xff\x9b\xff\xa4\x02\xdf\x02\xe2\x02\xef\x02\x9c\xff\x9a\xff\xaf\x02\xba\x02\xbd\x02\xb7\x02\xb8\xff\xba\x02\xd1\xff\xa9\xff\xaa\xff\xce\x02\xd7\x02\xdd\xff\xda\x02\xcb\x02\xcf\x02\xcd\x02\xdb\x02\xdc\xff\xd3\x02\xd2\xff\xbd\xff\xee\x02\xdc\x02\xd4\xff\xeb\x02\xdf\x02\xec\x02\xce\xff\t\x03\xfb\x02\xd3\xff\xbe\xff\0\x03\x02\x03\0\x03\xd0\xff\xfe\x02\x06\x03\x12\x03\xcf\xff\xfe\x02\t\x03\f\x03\xbc\xff\xba\xff\xb9\xff\f\x03\x05\x03\xbb\xff\x17\x03\x1f\x03/\x03f\x031\x03b\x03e\x03\xa3\xff\xac\xff\xa7\xff\xa8\xff1\x03-\x03(\x038\x03,\x03/\x03.\x03<\x038\x03\x8a\x03Q\x03\x88\x03\x8b\x03\x99\xff\x90\x03\x1f\x04Z\x03N\x03X\x03S\x03V\x03U\x03Q\x03a\x03\x98\x03l\x03\xad\x03\xb2\x03\xa2\xff}\x03y\x03t\x03\x84\x03}\x03\x84\x03\x83\x03\x92\x03\x8b\x03\xd1\x03\xa2\x03\xd6\x03\xd9\x03\x98\xff\xab\x03\x92\xff\x9c\x03\xa7\x03\x98\x03\xb3\x03\xaa\x03\xb2\x03\xbe\x03\xf4\xff\xbf\x03\xb9\x03\xeb\x03\x97\x04\xa2\x04\xac\x04\xb6\x04\xdc\x04\xc9\x03\xbd\x03\xbc\x03\xd9\x03\xc0\x04\xc1\x03\xc8\x03\xd6\x03\xce\x03\xce\x03\xd0\x03\xdf\x03\xd5\x03\xdc\x03\xd4\x03\xd2\x03\xf9\x03\x02\x04\x0f\x04\x80\xff\xfe\x03\x14\x04\n\x04\x0e\x04\x14\x04\x7f\xff\x13\x04\r\x04(\x04\x1f\x04\x1b\x04\x14\x04-\x04$\x04+\x041\x04~\xff*\x04.\x04*\x04.\x04?\x04?\x047\x04_\x04}\xff|\x04|\x04\x80\x04\x85\x04\x95\x04\x87\x04\x95\x04\x8f\x04{\xff\x9d\x04\x8f\x04z\xff\x99\x04\xa1\x04\x8e\x04\x91\x04\x91\x04\x9d\x04\x98\x04\x9a\x04y\xff\x9c\x04\xa6\x04\x97\x04\xf3\xff\xa1\x04\xba\x04\xc2\x04\x8c\xff\xb9\x04\xb8\x04\xb2\x04\x8a\xff\xba\x04\xc9\x04\xce\x04\xcd\x04\xc9\x04\xd5\x04\xd5\x04\xcc\x04\xd4\x04\xf1\xff\xc6\x04\xcc\x04\xcc\x04\xf0\xff\xe2\x04\x88\xff\xe5\x04\xd6\x04\xe4\x04\xdd\x04\xef\xff\xe0\x04\xe9\x04\xe5\x04\xeb\xff\xea\x04\xe1\x04\xe9\x04\xea\xff\xec\x04\xef\x04\xe1\x04\xee\xff\xe6\x04\x8e\xff\xe3\x04\xf0\x04\xf2\x04\xed\xff\xea\x04\xf3\x04\xe6\xff\x89\xff\xea\x04\xe8\x04\xe8\x04\x85\xff\xf6\x04\xf5\x04\xea\x04\xeb\x04\xef\x04\xf4\x04\xe9\xff\xf8\x04\xf1\x04\x8f\xff\xf3\x04\xf3\x04\x03\x05\xf9\x04\x83\xff\n\x05\xfd\x04\t\x05\n\x05\x02\x05\xe7\xff\x12\x05\x06\x05\x04\x05\x11\x05\x14\x05\n\x05\xe0\xff\x12\x05\x93\xff\f\x05\x14\x05\x8b\xff\b\x05\x1a\x05\x10\x05\x1e\x05\x19\x05\x1c\x05\f\x05\xe5\xff\x1a\x05\x16\x05\x14\x05\"\x05&\x05\x1c\x05\xe1\xff\x1a\x05(\x05*\x05 \x05\xde\xff\x1b\x05\x1a\x05\x91\xff&\x05 \x05\x1d\x05\x84\xff \x05'\x05(\x056\x05-\x05)\x054\x050\x05(\x056\x059\x05)\x05\xe3\xff,\x05:\x052\x05-\x05C\x056\x05@\x059\x058\x056\x050\x05\x95\xff;\x05<\x058\x05N\x05G\x05C\x05A\x05N\x05Q\x05H\x05\xe2\xffF\x05T\x05V\x05L\x05\xdf\xffB\x05[\x05N\x05W\x05P\x05O\x05M\x05G\x05\x94\xff_\x05a\x05W\x05\x8d\xffP\x05_\x05S\x05b\x05T\x05\x8c\x05\x9a\x05\xa4\x05\xae\x05\xb8\x05\xcf\x05\x82\x05~\x05\x80\x05w\xff\x83\x05\x95\x05\x8a\x05\x90\xff\x15\x06\xee\x05t\xffu\xff\x02\x06\xfb\xff\xfc\xff\xfd\xff\xce\x05\x01\0\xff\xff\xfe\xff", + /* lex_backtrk */"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x90\0\x02\0\x02\0\xff\xff\0\0\xff\xff\xff\xff\x04\0\xff\xff\x02\0\xff\xff\xff\xff\x02\0\xff\xff\x02\0\x04\0\xff\xff\x04\0\x04\0\xff\xff\xff\xff\xff\xff\x03\0\x03\0\xff\xff\x03\0\x03\0\x03\0\xff\xff\x04\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\0\xff\xff\xff\xff\xff\xff\x04\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\t\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\"\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff#\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffI\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\t\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\b\0\b\0\xff\xff\xff\xff\xff\xff\t\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffT\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\t\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'\0'\0\xff\xff'\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x83\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x13\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x1b\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff~\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffx\0\xff\xff&\0&\0\xff\xff&\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x89\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x04\0\x04\0\xff\xff\xff\xff", + /* lex_default */"\x01\0\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\0\0\x01\x01\0\x01\0\0\xff\xff\0\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\xff\xff\xa9\x02\0\0\0\0\xad\x02\0\0\0\0\0\0\xff\xff\xff\xff\0\0\0\0", + /* lex_trans */'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x04\0\0\0\x16\0\0\0\x06\0\0\0\0\0\0\0\x1d\0\x1c\0\xb2\x02\x19\0\0\0\x19\0O\0\xa5\0\x1b\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0>\0\x05\0\xa9\x02\x1e\0,\0?\0,\0\xd4\0N\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0&\0n\0&\0n\0\x7f\0(\0(\0(\0(\0(\0(\0(\0(\0(\0(\0\x7f\0\xa7\0\xa8\0t\0q\0\x14\0\x10\0\n\0\x11\0\x0e\0\x15\0\t\0\xa4\x02\x18\0z\x02#\x02\x0f\0\x13\0\x17\0\b\0\x07\0x\x02\r\0\x0b\0\f\0\x12\0\xa8\x02y\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\x11\x02\xf4\x01\xa8\x02\xa8\x02\x96\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\x95\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02<\0\xa8\x025\0\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02`\x02\xa8\x02D\x02\xa8\x02F\x022\x02\x18\x02\x05\x02\x19\x024\x02\xfe\x01<\x005\x02\x04\x02\xe8\x01\x96\x016\0\x97\x01\x17\x02E\x02_\x027\0\x95\x01\x06\x01\xe9\x01\xfa\0\x05\x01\xff\x018\x003\x02\xea\x019\0:\0E\0;\0=\0D\x000\0/\0/\0/\0/\0/\0/\0/\0/\0/\0@\0\x02\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfd\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xf6\0L\0\xfe\0C\0I\0J\0K\0M\0\x04\x01\xc1\0B\0F\0\xba\0.\0\xb1\0\xaf\0\xad\0 \0-\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0(\0(\0(\0(\0(\0(\0(\0(\0(\0(\0 \0\x1f\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\x006\0\xac\0\xb2\0\x97\0\x91\0\x8f\0\x86\0w\0\x8c\0\xff\0G\0\x1f\0f\0\x96\0e\0b\0H\0\xb3\0\x8b\0y\0x\0\x1f\0c\0d\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0`\0j\0k\0a\0o\0p\0\x80\0p\0_\0\x1f\0\xfc\0\x1f\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0s\0z\0r\0g\0{\0|\0!\0"\0"\0"\0"\0"\0"\0i\0v\0m\0u\0l\0h\0\x82\0\x83\0\x1f\0n\0\x87\0\x88\0\x81\0$\0\x89\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0\x8a\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0%\0"\0$\0$\0$\0$\0$\0$\0$\0$\0$\0$\0\x85\0\x8e\0\x84\0\x8d\0\x90\0\x92\0\x93\0$\0$\0$\0$\0)\0$\0\x95\0\xa9\0\x94\0"\0"\0"\0"\0%\0"\0~\0\x98\0}\0\x9d\0\x9a\0\x99\0\x9c\0\x7f\0\x9b\0#\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0$\0$\0$\0$\0)\0$\0\xa6\0\xab\0\xae\0\xb0\0\xb7\0\xb4\0\xb6\0\xaa\0\xb5\0#\0&\0\xfd\0&\0$\0\xbb\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\xb9\0\xbc\0\xb8\0\xbd\0\xbe\0\xbf\0\xc0\0"\0"\0"\0"\0%\0"\0$\0\xc2\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\'\0\xc3\0\xc4\0\xc5\0\xc7\0\xce\0\xc6\0\xc8\0"\0"\0"\0"\0%\0"\0\xc9\0"\0"\0"\0"\0%\0"\0\xcb\0\xcd\0\xcc\0\xca\0\xcf\0\xd1\0\xd3\0\xd2\0\xd0\0#\0\xd5\0\xaf\0\xd9\0\xda\0\xdb\0\xd8\0\x99\0\xdc\0\xe6\0"\0"\0"\0"\0%\0"\0\x96\0\xdd\0\xde\0\xdf\0\xe0\0\xe1\0\xe2\0\xe3\0\xe4\0#\0(\0(\0(\0(\0(\0(\0(\0(\0(\0(\0&\0\xe5\0&\0\xe7\0\xe8\0*\0*\0*\0*\0*\0*\0*\0*\0*\0*\0\xe9\0\xea\0\xeb\0\xed\0\xf2\0\xec\0\xee\0$\0$\0$\0$\0)\0$\0*\0*\0*\0*\0*\0*\0*\0*\0*\0*\0\xef\0\xf0\0\xf1\0\xf3\0\xf4\0\xf5\0\xf7\0$\0$\0$\0$\0)\0$\0\xf8\0\xf9\0\xfb\0$\0$\0$\0$\0)\0$\0\x93\x01v\x01\x07\x01\b\x01h\x01e\x01Z\x01T\x01f\x01#\0[\x01P\x01L\x01A\x01I\x01U\x01H\x01$\0$\0$\0$\0)\0$\0g\x011\x019\x01,\x01V\x01:\x018\x01\x1a\x01\x1b\x01#\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0 \0\x1c\x01/\0/\0/\0/\0/\0/\0/\0/\0/\0/\0\x18\x01c\0\x17\x01\x1d\x01\x19\x01\x1f\x01&\x01\x1e\x01 \x01!\x01 \0\x1f\0/\0/\0/\0/\0/\0/\0/\0/\0/\0/\0\x15\x01Z\0%\x01^\0X\0T\0#\x01R\0$\x01"\x01\x16\x01\x1f\0]\0Y\0S\0V\0[\0\'\x01W\0\\\0P\0\x1f\0)\x01Q\0U\0(\x01+\x012\x002\x002\x002\x002\x002\x002\x002\x002\x002\0*\x01-\x01.\x01/\x010\x012\x01\x1f\x002\x002\x002\x002\x002\x002\0$\x006\x012\x002\x002\x002\x002\x002\x002\x002\x002\x002\x001\x007\x01@\x01>\x01;\x01<\x01=\x012\x002\x002\x002\x003\x002\0?\x012\x002\x002\x002\x002\x002\0D\x01B\x01E\x01&\0F\x01&\0$\0C\x014\x004\x004\x004\x004\x004\x004\x004\x004\x004\0G\x012\x002\x002\x002\x003\x002\x002\x002\x002\x002\x003\x002\0K\x01J\x01M\x01#\0N\x01O\x01Q\x01R\x01S\x01Y\x01X\x01W\x01]\x01$\0\\\x014\x004\x004\x004\x004\x004\x004\x004\x004\x004\0^\x012\x002\x002\x002\x003\x002\x002\x002\x002\x002\x003\x002\0_\x01`\x01a\x01#\0b\x01c\x01d\x01i\x01j\x01k\x01l\x01m\x01n\x01o\x01p\x01A\0A\0A\0A\0A\0A\0A\0A\0A\0A\0q\x012\x002\x002\x002\x003\x002\0A\0A\0A\0A\0A\0A\0r\x01s\x01t\x01#\0u\x01w\x01\x85\x01{\x01[\x01|\x01}\x01~\x01\x7f\x01\x80\x01\x81\x01A\0A\0A\0A\0A\0A\0A\0A\0A\0A\0\x82\x01A\0A\0A\0A\0A\0A\0A\0A\0A\0A\0A\0A\0Z\0\x83\x01^\0X\0\xd6\0\x84\x01R\0\x86\x01\x87\x01\x88\x01\x89\x01]\0Y\0S\0V\0[\0\x8a\x01\xd7\0\\\0P\0\x03\x01\x8b\x01\x8c\x01U\0\x8d\x01\x03\x01A\0A\0A\0A\0A\0A\0\x8e\x01\x8f\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x90\x01\x91\x01\x92\x01\x94\x01\xa5\x01\x9d\x01\x98\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x10\x01\x99\x01\x14\x01\f\x01\x0b\x01\x0f\x01\n\x01\x9a\x01\x9b\x01\x9c\x013\x01\x13\x01\r\x01\x11\x01\x9e\x01\x9f\x01\xa0\x01\t\x01\x12\x01\x0e\x015\x01\x03\x01\xa6\x01\xa7\x01\xa8\x014\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\xa9\x01\xdf\x01\xdc\x01\xd3\x01\xca\x01\xbf\x01\xb9\x01\x03\x01\xb1\x01\xb2\x01\xb3\x01\xb4\x01\xb5\x01\x03\x01\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfd\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xb6\x01\xb7\x01\xfe\0\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\xb8\x01\xba\x01\xbb\x01\xbc\x01\xbd\x01\xbe\x01\xc0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\x10\x01\xc1\x01\x14\x01z\x01\x0b\x01\x0f\x01\n\x01\xc2\x01\xc3\x01\xc4\x01\xc5\x01\x13\x01\r\x01\x11\x01\xc6\x01y\x01\xc7\x01x\x01\x12\x01\x0e\x01\xc8\x01\xc9\x01\xcb\x01\xcc\x01\xcd\x01\xce\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\xcf\x01\xd0\x01\xff\0\xd1\x01\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfd\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xfc\0\xd2\x01\xfc\0\xfe\0\xa2\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xff\xff\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xd4\x01\xd5\x01\xd6\x01\xd7\x01\xd8\x01\xd9\x01\xda\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xdb\x01\xdd\x01\xde\x01\xff\0\xe0\x01\xe1\x01\xe2\x01\xe3\x01\xe4\x01\xe5\x01\xe6\x01\xe7\x01\xf0\x01\xec\x01\xeb\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xed\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xfc\0\xa3\x01\xaa\x01\xee\x01\xef\x01\xf1\x01\xaf\x01\xf2\x01\xf3\x01\xf5\x01\xb0\x01\xf6\x01\xf7\x01\xf8\x01\xf9\x01\xac\x01\xae\x01\xab\x01\xad\x01\xfa\x01\xfb\x01\xfc\x01\xfd\x01\x02\x02\0\x02\x01\x02\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\x03\x02\t\x02\x06\x02\xfd\0\x07\x02\b\x02\x0b\x02\r\x02\f\x02\x0e\x02\x0f\x02\x10\x02\x12\x02\x15\x02\x14\x02\x16\x02\x1f\x02\n\x02\x1b\x02\x1a\x02\x1e\x02\x1d\x02 \x02!\x02\x13\x02"\x02$\x02-\x02*\x02\'\x02(\x02)\x02\x1c\x02+\x02,\x02.\x02/\x020\x02%\x02&\x021\x02A\x02?\x028\x026\x027\x029\x02:\x02;\x02<\x02=\x02>\x02@\x02B\x02C\x02[\x02X\x02H\x02L\x02I\x02J\x02K\x02M\x02S\x02O\x02G\x02P\x02N\x02Q\x02R\x02T\x02U\x02V\x02W\x02Y\x02Z\x02\\\x02]\x02^\x02l\x02a\x02b\x02c\x02d\x02e\x02f\x02g\x02h\x02i\x02j\x02k\x02m\x02n\x02o\x02p\x02q\x02r\x02\xfd\0s\x02t\x02u\x02v\x02w\x02\x91\x02\x88\x02{\x02|\x02}\x02\x83\x02\x7f\x02\x80\x02\x81\x02~\x02\x82\x02\x84\x02\x85\x02\x86\x02\x87\x02\x89\x02\x8a\x02\x8b\x02\x8c\x02\x8d\x02\x8e\x02\x8f\x02\x90\x02\x92\x02\x93\x02\x94\x02\xa0\x02\x97\x02\x98\x02\x99\x02\x9a\x02\x9b\x02\x9d\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\xa1\x02\xa2\x02\xa3\x02\xa5\x02\xa6\x02\xa7\x02\xaa\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\xb3\x02\0\0\0\0\xaf\x02\0\0\0\0\0\0\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\0\0\0\0\0\0\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9e\x02\0\0\0\0\0\0\xb0\x02\0\0\0\0\0\0\0\0\0\0\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\xa8\x02\0\0\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xb1\x02\0\0\xa8\x02\xa8\x02\0\0\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\0\0\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\0\0\xa8\x02\0\0\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\0\0\xa8\x02\0\0\xa8\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xab\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xae\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0', + /* lex_check */"\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\0\0\xff\xff\0\0\xff\xff\0\0\xff\xff\xff\xff\xff\xff\0\0\0\0\xb1\x02\0\0\xff\xff\0\0N\0\xa4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=\0\0\0\x05\0\x1d\0\x1f\0>\0\x1f\0D\0E\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0#\0l\0#\0m\0}\0#\0#\0#\0#\0#\0#\0#\0#\0#\0#\0~\0\xa6\0\xa7\0g\0h\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x07\0\0\0\t\0\r\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\0\0\0\0\0\0\x06\0\t\0\x06\0\x06\0\x06\0\x06\0\x06\0\x0f\0\x12\0\x06\0\x06\0\b\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\b\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0-\0\x06\0.\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\n\0\x06\0\x0b\0\x06\0\x0b\0\f\0\x0e\0\x10\0\x0e\0\f\0\x11\0\x17\0\f\0\x10\0\x13\0\x14\x005\0\x14\0\x0e\0\x0b\0\n\x006\0\x14\0\x15\0\x13\0\x17\0\x15\0\x11\x007\0\f\0\x13\x008\x009\0\x18\0:\0<\0\x18\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0?\0\0\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0\x16\0B\0G\0\x16\0\x18\0H\0I\0J\0L\0\x15\0P\0\x18\0\x18\0Q\0\x19\0S\0T\0U\0\x1a\0\x19\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0\x1a\0&\0&\0&\0&\0&\0&\0&\0&\0&\0&\0\x1b\0\x1a\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0\x1b\0F\0V\0R\0W\0X\0Y\0[\0\\\0Z\0\x16\0F\0\x1b\0_\0W\0`\0a\0F\0R\0Z\0\\\0\\\0\x1a\0b\0c\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0^\0i\0j\0^\0n\0o\0x\0o\0^\0\x1b\0\x16\0 \0!\0!\0!\0!\0!\0!\0!\0!\0!\0!\0q\0y\0q\0]\0z\0{\0\x1b\0!\0!\0!\0!\0!\0!\0]\0t\0k\0t\0k\0]\0w\0\x81\0 \0k\0\x86\0\x87\0w\0\"\0\x88\0\"\0\"\0\"\0\"\0\"\0\"\0\"\0\"\0\"\0\"\0\x89\0!\0!\0!\0!\0!\0!\0\"\0\"\0\"\0\"\0\"\0\"\0$\0$\0$\0$\0$\0$\0$\0$\0$\0$\0\x83\0\x8b\0\x83\0\x8c\0\x8f\0\x91\0\x92\0$\0$\0$\0$\0$\0$\0\x93\0\x96\0\x93\0\"\0\"\0\"\0\"\0\"\0\"\0|\0\x97\0|\0\x98\0\x99\0\x97\0\x9a\0|\0\x9a\0\"\0\x9d\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0$\0$\0$\0$\0$\0$\0\xa5\0\xa9\0\xad\0\xaf\0\xb2\0\xb3\0\xb4\0\xa9\0\xb4\0$\0%\0\x16\0%\0%\0\xba\0%\0%\0%\0%\0%\0%\0%\0%\0%\0%\0\xb7\0\xbb\0\xb7\0\xbc\0\xbd\0\xbe\0\xbf\0%\0%\0%\0%\0%\0%\0'\0\xc1\0'\0'\0'\0'\0'\0'\0'\0'\0'\0'\0\xc2\0\xc3\0\xc4\0\xc5\0\xc6\0\xc5\0\xc7\0'\0'\0'\0'\0'\0'\0\xc8\0%\0%\0%\0%\0%\0%\0\xc9\0\xca\0\xcb\0\xc9\0\xce\0\xcf\0\xd0\0\xd1\0\xcf\0%\0\xd4\0\xd6\0\xd8\0\xd9\0\xda\0\xd7\0\xd8\0\xdb\0\xd6\0'\0'\0'\0'\0'\0'\0\xd7\0\xdc\0\xdd\0\xde\0\xdf\0\xe0\0\xe1\0\xe2\0\xe3\0'\0(\0(\0(\0(\0(\0(\0(\0(\0(\0(\0)\0\xe4\0)\0\xe6\0\xe7\0)\0)\0)\0)\0)\0)\0)\0)\0)\0)\0\xe8\0\xe9\0\xea\0\xeb\0\xec\0\xeb\0\xed\0)\0)\0)\0)\0)\0)\0*\0*\0*\0*\0*\0*\0*\0*\0*\0*\0\xee\0\xef\0\xf0\0\xf2\0\xf3\0\xf4\0\xf6\0*\0*\0*\0*\0*\0*\0\xf7\0\xf8\0\xfa\0)\0)\0)\0)\0)\0)\0\x04\x01\x05\x01\x06\x01\x07\x01\t\x01\x0b\x01\f\x01\r\x01\n\x01)\0\f\x01\x0e\x01\x0f\x01\x11\x01\x10\x01\r\x01\x10\x01*\0*\0*\0*\0*\0*\0\n\x01\x15\x01\x12\x01\x17\x01\r\x01\x12\x01\x12\x01\x19\x01\x1a\x01*\0+\0+\0+\0+\0+\0+\0+\0+\0+\0+\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0/\0\x1b\x01/\0/\0/\0/\0/\0/\0/\0/\0/\0/\0\x16\x01\x18\x01\x16\x01\x1c\x01\x18\x01\x1d\x01\x1e\x01\x1d\x01\x1f\x01 \x010\0/\x000\x000\x000\x000\x000\x000\x000\x000\x000\x000\0\x14\x01O\0\"\x01O\0O\0O\0!\x01O\0#\x01!\x01\x14\x010\0O\0O\0O\0O\0O\0&\x01O\0O\0O\0/\0'\x01O\0O\0'\x01(\x011\x001\x001\x001\x001\x001\x001\x001\x001\x001\0)\x01,\x01-\x01.\x01/\x011\x010\x001\x001\x001\x001\x001\x001\x002\x005\x012\x002\x002\x002\x002\x002\x002\x002\x002\x002\x000\x006\x018\x019\x01:\x01;\x01<\x012\x002\x002\x002\x002\x002\0>\x011\x001\x001\x001\x001\x001\0B\x01A\x01D\x013\0E\x013\x003\0A\x013\x003\x003\x003\x003\x003\x003\x003\x003\x003\0F\x012\x002\x002\x002\x002\x002\x003\x003\x003\x003\x003\x003\0H\x01I\x01L\x012\0M\x01N\x01P\x01Q\x01R\x01T\x01U\x01V\x01Z\x014\0[\x014\x004\x004\x004\x004\x004\x004\x004\x004\x004\0]\x013\x003\x003\x003\x003\x003\x004\x004\x004\x004\x004\x004\0^\x01_\x01`\x013\0a\x01b\x01c\x01h\x01i\x01j\x01k\x01l\x01m\x01n\x01o\x01@\0@\0@\0@\0@\0@\0@\0@\0@\0@\0p\x014\x004\x004\x004\x004\x004\0@\0@\0@\0@\0@\0@\0q\x01r\x01s\x014\0t\x01v\x01x\x01y\x01z\x01{\x01|\x01}\x01~\x01\x7f\x01\x80\x01A\0A\0A\0A\0A\0A\0A\0A\0A\0A\0\x81\x01@\0@\0@\0@\0@\0@\0A\0A\0A\0A\0A\0A\0\xd5\0\x82\x01\xd5\0\xd5\0\xd5\0\x83\x01\xd5\0\x85\x01\x86\x01\x87\x01\x88\x01\xd5\0\xd5\0\xd5\0\xd5\0\xd5\0\x89\x01\xd5\0\xd5\0\xd5\0\xff\0\x8a\x01\x8b\x01\xd5\0\x8c\x01\xff\0A\0A\0A\0A\0A\0A\0\x8d\x01\x8e\x01\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\x8f\x01\x90\x01\x91\x01\x93\x01\x95\x01\x96\x01\x97\x01\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\b\x01\x98\x01\b\x01\b\x01\b\x01\b\x01\b\x01\x99\x01\x9a\x01\x9b\x01\x13\x01\b\x01\b\x01\b\x01\x9d\x01\x9e\x01\x9f\x01\b\x01\b\x01\b\x01\x13\x01\xff\0\xa5\x01\xa6\x01\xa7\x01\x13\x01\xff\0\xff\0\xff\0\xff\0\xff\0\xff\0\xa8\x01\xaa\x01\xab\x01\xac\x01\xad\x01\xae\x01\xaf\x01\xff\0\xb0\x01\xb1\x01\xb2\x01\xb3\x01\xb4\x01\xff\0\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\xb5\x01\xb6\x01\0\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\xb7\x01\xb9\x01\xba\x01\xbb\x01\xbc\x01\xbd\x01\xbf\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01w\x01\xc0\x01w\x01w\x01w\x01w\x01w\x01\xc1\x01\xc2\x01\xc3\x01\xc4\x01w\x01w\x01w\x01\xc5\x01w\x01\xc6\x01w\x01w\x01w\x01\xc7\x01\xc8\x01\xca\x01\xcb\x01\xcc\x01\xcd\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\x02\x01\xce\x01\xcf\x01\0\x01\xd0\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\x03\x01\xd1\x01\0\x01\x03\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xa0\x01\xff\0\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa1\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa2\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xd3\x01\xd4\x01\xd5\x01\xd6\x01\xd7\x01\xd8\x01\xd9\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xda\x01\xdc\x01\xdd\x01\x03\x01\xdf\x01\xe0\x01\xe1\x01\xe2\x01\xe3\x01\xe4\x01\xe5\x01\xe6\x01\xe8\x01\xe9\x01\xea\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xec\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa3\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\x03\x01\xa2\x01\xa9\x01\xed\x01\xee\x01\xf0\x01\xa9\x01\xf1\x01\xf2\x01\xf4\x01\xa9\x01\xf5\x01\xf6\x01\xf7\x01\xf8\x01\xa9\x01\xa9\x01\xa9\x01\xa9\x01\xf9\x01\xfa\x01\xfb\x01\xfc\x01\xfe\x01\xff\x01\0\x02\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\xa4\x01\x02\x02\x04\x02\x05\x02\0\x01\x06\x02\x07\x02\t\x02\n\x02\x0b\x02\r\x02\x0e\x02\x0f\x02\x11\x02\x12\x02\x13\x02\x15\x02\x17\x02\t\x02\x18\x02\x19\x02\x1b\x02\x1c\x02\x1f\x02 \x02\x11\x02!\x02#\x02$\x02%\x02&\x02'\x02(\x02\x18\x02*\x02+\x02-\x02.\x02/\x02#\x02#\x020\x022\x023\x024\x025\x026\x028\x029\x02:\x02;\x02<\x02=\x02?\x02A\x02B\x02D\x02E\x02F\x02G\x02H\x02I\x02J\x02L\x02M\x02N\x02F\x02O\x02L\x02P\x02Q\x02S\x02T\x02U\x02V\x02X\x02Y\x02[\x02\\\x02]\x02_\x02`\x02a\x02b\x02c\x02d\x02e\x02f\x02g\x02h\x02i\x02j\x02l\x02m\x02n\x02o\x02p\x02q\x02\x03\x01r\x02s\x02t\x02u\x02v\x02x\x02y\x02z\x02{\x02|\x02}\x02~\x02\x7f\x02\x80\x02|\x02\x81\x02\x83\x02\x84\x02\x85\x02\x86\x02\x88\x02\x89\x02\x8a\x02\x8b\x02\x8c\x02\x8d\x02\x8e\x02\x8f\x02\x91\x02\x92\x02\x93\x02\x95\x02\x96\x02\x97\x02\x98\x02\x99\x02\x9a\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9b\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9c\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9d\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\xa0\x02\xa1\x02\xa2\x02\xa4\x02\xa5\x02\xa6\x02\xa9\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\xb0\x02\xff\xff\xff\xff\xac\x02\xff\xff\xff\xff\xff\xff\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\xff\xff\xff\xff\xff\xff\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\x9e\x02\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9d\x02\xff\xff\xff\xff\xff\xff\xac\x02\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\x9f\x02\xa8\x02\xff\xff\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xac\x02\xff\xff\xa8\x02\xa8\x02\xff\xff\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xff\xff\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xff\xff\xa8\x02\xff\xff\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xa8\x02\xff\xff\xa8\x02\xff\xff\xa8\x02\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xa9\x02\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xac\x02\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff", + /* lex_base_code */"", + /* lex_backtrk_code */"", + /* lex_default_code */"", + /* lex_trans_code */"", + /* lex_check_code */"", + /* lex_code */"" +]; + +function token(lexbuf) { + var lexbuf$1 = lexbuf; + var ___ocaml_lex_state = 0; + while(true) { + var __ocaml_lex_state = ___ocaml_lex_state; + var __ocaml_lex_state$1 = Lexing.engine(__ocaml_lex_tables, __ocaml_lex_state, lexbuf$1); + if (__ocaml_lex_state$1 > 144 || __ocaml_lex_state$1 < 0) { + Curry._1(lexbuf$1[/* refill_buff */0], lexbuf$1); + ___ocaml_lex_state = __ocaml_lex_state$1; + continue ; + + } + else { + switch (__ocaml_lex_state$1) { + case 0 : + return /* LPAR */2; + case 1 : + return /* RPAR */3; + case 2 : + var s = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); + return /* NAT */Block.__(0, [s]); + case 3 : + var s$1 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); + return /* INT */Block.__(1, [s$1]); + case 4 : + var s$2 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); + return /* FLOAT */Block.__(2, [s$2]); + case 5 : + var s$3 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); + return /* TEXT */Block.__(3, [text(s$3)]); + case 6 : + return error(lexbuf$1, "unclosed text literal"); + case 7 : + return error(lexbuf$1, "illegal control character in text literal"); + case 8 : + return error_nest(Lexing.lexeme_end_p(lexbuf$1), lexbuf$1, "illegal escape"); + case 9 : + var t = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* VALUE_TYPE */Block.__(5, [value_type(t)]); + case 10 : + var t$1 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONST */Block.__(10, [numop(t$1, function (s) { + var n = Curry._1(I32.of_string, s[/* it */1]); + return /* tuple */[ + Operators.i32_const(Source.$at$at(n, s[/* at */0])), + /* I32 */Block.__(0, [n]) + ]; + }, function (s) { + var n = Curry._1(I64.of_string, s[/* it */1]); + return /* tuple */[ + Operators.i64_const(Source.$at$at(n, s[/* at */0])), + /* I64 */Block.__(1, [n]) + ]; + }, function (s) { + var n = Curry._1(F32.of_string, s[/* it */1]); + return /* tuple */[ + Operators.f32_const(Source.$at$at(n, s[/* at */0])), + /* F32 */Block.__(2, [n]) + ]; + }, function (s) { + var n = Curry._1(F64.of_string, s[/* it */1]); + return /* tuple */[ + Operators.f64_const(Source.$at$at(n, s[/* at */0])), + /* F64 */Block.__(3, [n]) + ]; + })]); + case 11 : + return /* ANYFUNC */0; + case 12 : + return /* MUT */1; + case 13 : + return /* NOP */4; + case 14 : + return /* UNREACHABLE */24; + case 15 : + return /* DROP */5; + case 16 : + return /* BLOCK */6; + case 17 : + return /* LOOP */12; + case 18 : + return /* END */7; + case 19 : + return /* BR */13; + case 20 : + return /* BR_IF */14; + case 21 : + return /* BR_TABLE */15; + case 22 : + return /* RETURN */18; + case 23 : + return /* IF */8; + case 24 : + return /* THEN */9; + case 25 : + return /* ELSE */10; + case 26 : + return /* SELECT */11; + case 27 : + return /* CALL */16; + case 28 : + return /* CALL_INDIRECT */17; + case 29 : + return /* GET_LOCAL */19; + case 30 : + return /* SET_LOCAL */20; + case 31 : + return /* TEE_LOCAL */21; + case 32 : + return /* GET_GLOBAL */22; + case 33 : + return /* SET_GLOBAL */23; + case 34 : + var t$2 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* LOAD */Block.__(6, [(function(t$2){ + return function (a, o) { + var partial_arg = Curry._2(opt, a, 2); + var partial_arg$1 = Curry._2(opt, a, 3); + var partial_arg$2 = Curry._2(opt, a, 2); + var partial_arg$3 = Curry._2(opt, a, 3); + return Curry._1(numop(t$2, function (param) { + return Operators.i32_load(partial_arg, param); + }, function (param) { + return Operators.i64_load(partial_arg$1, param); + }, function (param) { + return Operators.f32_load(partial_arg$2, param); + }, function (param) { + return Operators.f64_load(partial_arg$3, param); + }), o); + } + }(t$2))]); + case 35 : + var t$3 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* STORE */Block.__(7, [(function(t$3){ + return function (a, o) { + var partial_arg = Curry._2(opt, a, 2); + var partial_arg$1 = Curry._2(opt, a, 3); + var partial_arg$2 = Curry._2(opt, a, 2); + var partial_arg$3 = Curry._2(opt, a, 3); + return Curry._1(numop(t$3, function (param) { + return Operators.i32_store(partial_arg, param); + }, function (param) { + return Operators.i64_store(partial_arg$1, param); + }, function (param) { + return Operators.f32_store(partial_arg$2, param); + }, function (param) { + return Operators.f64_store(partial_arg$3, param); + }), o); + } + }(t$3))]); + case 36 : + var t$4 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + var sz = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 8 | 0, lexbuf$1[/* lex_curr_pos */5] - 2 | 0); + var s$4 = Lexing.sub_lexeme_char(lexbuf$1, lexbuf$1[/* lex_curr_pos */5] - 1 | 0); + if (t$4 === "i32" && sz === "32") { + error(lexbuf$1, "unknown operator"); + } + return /* LOAD */Block.__(6, [(function(t$4,sz,s$4){ + return function (a, o) { + return intop(t$4, Curry._1(memsz(sz, Curry._1(ext(s$4, Operators.i32_load8_s, Operators.i32_load8_u), Curry._2(opt, a, 0)), Curry._1(ext(s$4, Operators.i32_load16_s, Operators.i32_load16_u), Curry._2(opt, a, 1)), function () { + return Operators.unreachable; + }), o), Curry._1(memsz(sz, Curry._1(ext(s$4, Operators.i64_load8_s, Operators.i64_load8_u), Curry._2(opt, a, 0)), Curry._1(ext(s$4, Operators.i64_load16_s, Operators.i64_load16_u), Curry._2(opt, a, 1)), Curry._1(ext(s$4, Operators.i64_load32_s, Operators.i64_load32_u), Curry._2(opt, a, 2))), o)); + } + }(t$4,sz,s$4))]); + case 37 : + var t$5 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + var sz$1 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 9 | 0, lexbuf$1[/* lex_curr_pos */5]); + if (t$5 === "i32" && sz$1 === "32") { + error(lexbuf$1, "unknown operator"); + } + return /* STORE */Block.__(7, [(function(t$5,sz$1){ + return function (a, o) { + var partial_arg = Curry._2(opt, a, 0); + var partial_arg$1 = Curry._2(opt, a, 1); + var partial_arg$2 = Curry._2(opt, a, 0); + var partial_arg$3 = Curry._2(opt, a, 1); + var partial_arg$4 = Curry._2(opt, a, 2); + return intop(t$5, Curry._1(memsz(sz$1, function (param) { + return Operators.i32_store8(partial_arg, param); + }, function (param) { + return Operators.i32_store16(partial_arg$1, param); + }, function () { + return Operators.unreachable; + }), o), Curry._1(memsz(sz$1, function (param) { + return Operators.i64_store8(partial_arg$2, param); + }, function (param) { + return Operators.i64_store16(partial_arg$3, param); + }, function (param) { + return Operators.i64_store32(partial_arg$4, param); + }), o)); + } + }(t$5,sz$1))]); + case 38 : + var s$5 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 7 | 0, lexbuf$1[/* lex_curr_pos */5]); + return /* OFFSET_EQ_NAT */Block.__(8, [s$5]); + case 39 : + var s$6 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4] + 6 | 0, lexbuf$1[/* lex_curr_pos */5]); + return /* ALIGN_EQ_NAT */Block.__(9, [s$6]); + case 40 : + var t$6 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [intop(t$6, Operators.i32_clz, Operators.i64_clz)]); + case 41 : + var t$7 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [intop(t$7, Operators.i32_ctz, Operators.i64_ctz)]); + case 42 : + var t$8 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [intop(t$8, Operators.i32_popcnt, Operators.i64_popcnt)]); + case 43 : + var t$9 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$9, Operators.f32_neg, Operators.f64_neg)]); + case 44 : + var t$10 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$10, Operators.f32_abs, Operators.f64_abs)]); + case 45 : + var t$11 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$11, Operators.f32_sqrt, Operators.f64_sqrt)]); + case 46 : + var t$12 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$12, Operators.f32_ceil, Operators.f64_ceil)]); + case 47 : + var t$13 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$13, Operators.f32_floor, Operators.f64_floor)]); + case 48 : + var t$14 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$14, Operators.f32_trunc, Operators.f64_trunc)]); + case 49 : + var t$15 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* UNARY */Block.__(11, [floatop(t$15, Operators.f32_nearest, Operators.f64_nearest)]); + case 50 : + var t$16 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$16, Operators.i32_add, Operators.i64_add)]); + case 51 : + var t$17 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$17, Operators.i32_sub, Operators.i64_sub)]); + case 52 : + var t$18 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$18, Operators.i32_mul, Operators.i64_mul)]); + case 53 : + var t$19 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$19, Operators.i32_div_s, Operators.i64_div_s)]); + case 54 : + var t$20 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$20, Operators.i32_div_u, Operators.i64_div_u)]); + case 55 : + var t$21 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$21, Operators.i32_rem_s, Operators.i64_rem_s)]); + case 56 : + var t$22 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$22, Operators.i32_rem_u, Operators.i64_rem_u)]); + case 57 : + var t$23 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$23, Operators.i32_and, Operators.i64_and)]); + case 58 : + var t$24 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$24, Operators.i32_or, Operators.i64_or)]); + case 59 : + var t$25 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$25, Operators.i32_xor, Operators.i64_xor)]); + case 60 : + var t$26 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$26, Operators.i32_shl, Operators.i64_shl)]); + case 61 : + var t$27 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$27, Operators.i32_shr_s, Operators.i64_shr_s)]); + case 62 : + var t$28 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$28, Operators.i32_shr_u, Operators.i64_shr_u)]); + case 63 : + var t$29 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$29, Operators.i32_rotl, Operators.i64_rotl)]); + case 64 : + var t$30 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [intop(t$30, Operators.i32_rotr, Operators.i64_rotr)]); + case 65 : + var t$31 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$31, Operators.f32_add, Operators.f64_add)]); + case 66 : + var t$32 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$32, Operators.f32_sub, Operators.f64_sub)]); + case 67 : + var t$33 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$33, Operators.f32_mul, Operators.f64_mul)]); + case 68 : + var t$34 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$34, Operators.f32_div, Operators.f64_div)]); + case 69 : + var t$35 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$35, Operators.f32_min, Operators.f64_min)]); + case 70 : + var t$36 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$36, Operators.f32_max, Operators.f64_max)]); + case 71 : + var t$37 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* BINARY */Block.__(12, [floatop(t$37, Operators.f32_copysign, Operators.f64_copysign)]); + case 72 : + var t$38 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* TEST */Block.__(15, [intop(t$38, Operators.i32_eqz, Operators.i64_eqz)]); + case 73 : + var t$39 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$39, Operators.i32_eq, Operators.i64_eq)]); + case 74 : + var t$40 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$40, Operators.i32_ne, Operators.i64_ne)]); + case 75 : + var t$41 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$41, Operators.i32_lt_s, Operators.i64_lt_s)]); + case 76 : + var t$42 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$42, Operators.i32_lt_u, Operators.i64_lt_u)]); + case 77 : + var t$43 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$43, Operators.i32_le_s, Operators.i64_le_s)]); + case 78 : + var t$44 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$44, Operators.i32_le_u, Operators.i64_le_u)]); + case 79 : + var t$45 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$45, Operators.i32_gt_s, Operators.i64_gt_s)]); + case 80 : + var t$46 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$46, Operators.i32_gt_u, Operators.i64_gt_u)]); + case 81 : + var t$47 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$47, Operators.i32_ge_s, Operators.i64_ge_s)]); + case 82 : + var t$48 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [intop(t$48, Operators.i32_ge_u, Operators.i64_ge_u)]); + case 83 : + var t$49 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [floatop(t$49, Operators.f32_eq, Operators.f64_eq)]); + case 84 : + var t$50 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [floatop(t$50, Operators.f32_ne, Operators.f64_ne)]); + case 85 : + var t$51 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [floatop(t$51, Operators.f32_lt, Operators.f64_lt)]); + case 86 : + var t$52 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [floatop(t$52, Operators.f32_le, Operators.f64_le)]); + case 87 : + var t$53 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [floatop(t$53, Operators.f32_gt, Operators.f64_gt)]); + case 88 : + var t$54 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* COMPARE */Block.__(13, [floatop(t$54, Operators.f32_ge, Operators.f64_ge)]); + case 89 : + return /* CONVERT */Block.__(14, [Operators.i32_wrap_i64]); + case 90 : + return /* CONVERT */Block.__(14, [Operators.i64_extend_s_i32]); + case 91 : + return /* CONVERT */Block.__(14, [Operators.i64_extend_u_i32]); + case 92 : + return /* CONVERT */Block.__(14, [Operators.f32_demote_f64]); + case 93 : + return /* CONVERT */Block.__(14, [Operators.f64_promote_f32]); + case 94 : + var t$55 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [intop(t$55, Operators.i32_trunc_s_f32, Operators.i64_trunc_s_f32)]); + case 95 : + var t$56 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [intop(t$56, Operators.i32_trunc_u_f32, Operators.i64_trunc_u_f32)]); + case 96 : + var t$57 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [intop(t$57, Operators.i32_trunc_s_f64, Operators.i64_trunc_s_f64)]); + case 97 : + var t$58 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [intop(t$58, Operators.i32_trunc_u_f64, Operators.i64_trunc_u_f64)]); + case 98 : + var t$59 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [floatop(t$59, Operators.f32_convert_s_i32, Operators.f64_convert_s_i32)]); + case 99 : + var t$60 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [floatop(t$60, Operators.f32_convert_u_i32, Operators.f64_convert_u_i32)]); + case 100 : + var t$61 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [floatop(t$61, Operators.f32_convert_s_i64, Operators.f64_convert_s_i64)]); + case 101 : + var t$62 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_start_pos */4] + 3 | 0); + return /* CONVERT */Block.__(14, [floatop(t$62, Operators.f32_convert_u_i64, Operators.f64_convert_u_i64)]); + case 102 : + return /* CONVERT */Block.__(14, [Operators.f32_reinterpret_i32]); + case 103 : + return /* CONVERT */Block.__(14, [Operators.f64_reinterpret_i64]); + case 104 : + return /* CONVERT */Block.__(14, [Operators.i32_reinterpret_f32]); + case 105 : + return /* CONVERT */Block.__(14, [Operators.i64_reinterpret_f64]); + case 106 : + return /* CURRENT_MEMORY */25; + case 107 : + return /* GROW_MEMORY */26; + case 108 : + return /* TYPE */29; + case 109 : + return /* FUNC */27; + case 110 : + return /* START */28; + case 111 : + return /* PARAM */30; + case 112 : + return /* RESULT */31; + case 113 : + return /* LOCAL */32; + case 114 : + return /* GLOBAL */33; + case 115 : + return /* MODULE */34; + case 116 : + return /* TABLE */35; + case 117 : + return /* MEMORY */37; + case 118 : + return /* ELEM */36; + case 119 : + return /* DATA */38; + case 120 : + return /* OFFSET */39; + case 121 : + return /* IMPORT */40; + case 122 : + return /* EXPORT */41; + case 123 : + return /* SCRIPT */42; + case 124 : + return /* REGISTER */43; + case 125 : + return /* INVOKE */44; + case 126 : + return /* GET */45; + case 127 : + return /* ASSERT_MALFORMED */46; + case 128 : + return /* ASSERT_INVALID */47; + case 129 : + return /* ASSERT_SOFT_INVALID */48; + case 130 : + return /* ASSERT_UNLINKABLE */49; + case 131 : + return /* ASSERT_RETURN */50; + case 132 : + return /* ASSERT_RETURN_NAN */51; + case 133 : + return /* ASSERT_TRAP */52; + case 134 : + return /* ASSERT_EXHAUSTION */53; + case 135 : + return /* INPUT */54; + case 136 : + return /* OUTPUT */55; + case 137 : + var s$7 = Lexing.sub_lexeme(lexbuf$1, lexbuf$1[/* lex_start_pos */4], lexbuf$1[/* lex_curr_pos */5]); + return /* VAR */Block.__(4, [s$7]); + case 140 : + __ocaml_lex_comment_rec(Lexing.lexeme_start_p(lexbuf$1), lexbuf$1, 684); + return token(lexbuf$1); + case 141 : + return token(lexbuf$1); + case 139 : + case 142 : + Lexing.new_line(lexbuf$1); + return token(lexbuf$1); + case 138 : + case 143 : + return /* EOF */56; + case 144 : + return error(lexbuf$1, "unknown operator"); + + } + } + }; +} + +function __ocaml_lex_comment_rec(start, lexbuf, ___ocaml_lex_state) { + while(true) { + var __ocaml_lex_state = ___ocaml_lex_state; + var __ocaml_lex_state$1 = Lexing.engine(__ocaml_lex_tables, __ocaml_lex_state, lexbuf); + if (__ocaml_lex_state$1 > 4 || __ocaml_lex_state$1 < 0) { + Curry._1(lexbuf[/* refill_buff */0], lexbuf); + ___ocaml_lex_state = __ocaml_lex_state$1; + continue ; + + } + else { + switch (__ocaml_lex_state$1) { + case 0 : + return /* () */0; + case 1 : + __ocaml_lex_comment_rec(Lexing.lexeme_start_p(lexbuf), lexbuf, 684); + ___ocaml_lex_state = 684; + continue ; + case 2 : + Lexing.new_line(lexbuf); + ___ocaml_lex_state = 684; + continue ; + case 3 : + return error_nest(start, lexbuf, "unclosed comment"); + case 4 : + ___ocaml_lex_state = 684; + continue ; + + } + } + }; +} + +exports.convert_pos = convert_pos; +exports.token = token; +/* F32 Not a pure module */ +//////// end of lexer.js //////// +    return exports; +  }; + + + _registry['lexing'] = function() { +    let exports = {}; +//////// start of lexing.js //////// +'use strict'; + +var Sys = require("./sys"); +var Bytes = require("./bytes"); +var Curry = require("./curry"); +var Caml_bytes = require("./caml_bytes"); +var Caml_lexer = require("./caml_lexer"); +var Pervasives = require("./pervasives"); +var Caml_string = require("./caml_string"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function engine(tbl, state, buf) { + var result = Caml_lexer.caml_lex_engine(tbl, state, buf); + if (result >= 0) { + buf[/* lex_start_p */10] = buf[/* lex_curr_p */11]; + var init = buf[/* lex_curr_p */11]; + buf[/* lex_curr_p */11] = /* record */[ + /* pos_fname */init[/* pos_fname */0], + /* pos_lnum */init[/* pos_lnum */1], + /* pos_bol */init[/* pos_bol */2], + /* pos_cnum */buf[/* lex_abs_pos */3] + buf[/* lex_curr_pos */5] | 0 + ]; + } + return result; +} + +function new_engine(tbl, state, buf) { + var result = Caml_lexer.caml_new_lex_engine(tbl, state, buf); + if (result >= 0) { + buf[/* lex_start_p */10] = buf[/* lex_curr_p */11]; + var init = buf[/* lex_curr_p */11]; + buf[/* lex_curr_p */11] = /* record */[ + /* pos_fname */init[/* pos_fname */0], + /* pos_lnum */init[/* pos_lnum */1], + /* pos_bol */init[/* pos_bol */2], + /* pos_cnum */buf[/* lex_abs_pos */3] + buf[/* lex_curr_pos */5] | 0 + ]; + } + return result; +} + +var zero_pos = /* record */[ + /* pos_fname */"", + /* pos_lnum */1, + /* pos_bol */0, + /* pos_cnum */0 +]; + +function from_function(f) { + var partial_arg = new Array(512); + return /* record */[ + /* refill_buff */function (param) { + var read_fun = f; + var aux_buffer = partial_arg; + var lexbuf = param; + var read = Curry._2(read_fun, aux_buffer, aux_buffer.length); + var n = read > 0 ? read : (lexbuf[/* lex_eof_reached */8] = /* true */1, 0); + if ((lexbuf[/* lex_buffer_len */2] + n | 0) > lexbuf[/* lex_buffer */1].length) { + if (((lexbuf[/* lex_buffer_len */2] - lexbuf[/* lex_start_pos */4] | 0) + n | 0) <= lexbuf[/* lex_buffer */1].length) { + Bytes.blit(lexbuf[/* lex_buffer */1], lexbuf[/* lex_start_pos */4], lexbuf[/* lex_buffer */1], 0, lexbuf[/* lex_buffer_len */2] - lexbuf[/* lex_start_pos */4] | 0); + } + else { + var newlen = Pervasives.min((lexbuf[/* lex_buffer */1].length << 1), Sys.max_string_length); + if (((lexbuf[/* lex_buffer_len */2] - lexbuf[/* lex_start_pos */4] | 0) + n | 0) > newlen) { + throw [ + Caml_builtin_exceptions.failure, + "Lexing.lex_refill: cannot grow buffer" + ]; + } + var newbuf = Caml_string.caml_create_string(newlen); + Bytes.blit(lexbuf[/* lex_buffer */1], lexbuf[/* lex_start_pos */4], newbuf, 0, lexbuf[/* lex_buffer_len */2] - lexbuf[/* lex_start_pos */4] | 0); + lexbuf[/* lex_buffer */1] = newbuf; + } + var s = lexbuf[/* lex_start_pos */4]; + lexbuf[/* lex_abs_pos */3] = lexbuf[/* lex_abs_pos */3] + s | 0; + lexbuf[/* lex_curr_pos */5] = lexbuf[/* lex_curr_pos */5] - s | 0; + lexbuf[/* lex_start_pos */4] = 0; + lexbuf[/* lex_last_pos */6] = lexbuf[/* lex_last_pos */6] - s | 0; + lexbuf[/* lex_buffer_len */2] = lexbuf[/* lex_buffer_len */2] - s | 0; + var t = lexbuf[/* lex_mem */9]; + for(var i = 0 ,i_finish = t.length - 1 | 0; i <= i_finish; ++i){ + var v = t[i]; + if (v >= 0) { + t[i] = v - s | 0; + } + + } + } + Bytes.blit(aux_buffer, 0, lexbuf[/* lex_buffer */1], lexbuf[/* lex_buffer_len */2], n); + lexbuf[/* lex_buffer_len */2] = lexbuf[/* lex_buffer_len */2] + n | 0; + return /* () */0; + }, + /* lex_buffer */new Array(1024), + /* lex_buffer_len */0, + /* lex_abs_pos */0, + /* lex_start_pos */0, + /* lex_curr_pos */0, + /* lex_last_pos */0, + /* lex_last_action */0, + /* lex_eof_reached : false */0, + /* lex_mem : int array */[], + /* lex_start_p */zero_pos, + /* lex_curr_p */zero_pos + ]; +} + +function from_channel(ic) { + return from_function(function (buf, n) { + return Pervasives.input(ic, buf, 0, n); + }); +} + +function from_string(s) { + return /* record */[ + /* refill_buff */function (lexbuf) { + lexbuf[/* lex_eof_reached */8] = /* true */1; + return /* () */0; + }, + /* lex_buffer */Bytes.of_string(s), + /* lex_buffer_len */s.length, + /* lex_abs_pos */0, + /* lex_start_pos */0, + /* lex_curr_pos */0, + /* lex_last_pos */0, + /* lex_last_action */0, + /* lex_eof_reached : true */1, + /* lex_mem : int array */[], + /* lex_start_p */zero_pos, + /* lex_curr_p */zero_pos + ]; +} + +function lexeme(lexbuf) { + var len = lexbuf[/* lex_curr_pos */5] - lexbuf[/* lex_start_pos */4] | 0; + return Bytes.sub_string(lexbuf[/* lex_buffer */1], lexbuf[/* lex_start_pos */4], len); +} + +function sub_lexeme(lexbuf, i1, i2) { + var len = i2 - i1 | 0; + return Bytes.sub_string(lexbuf[/* lex_buffer */1], i1, len); +} + +function sub_lexeme_opt(lexbuf, i1, i2) { + if (i1 >= 0) { + var len = i2 - i1 | 0; + return /* Some */[Bytes.sub_string(lexbuf[/* lex_buffer */1], i1, len)]; + } + else { + return /* None */0; + } +} + +function sub_lexeme_char(lexbuf, i) { + return Caml_bytes.get(lexbuf[/* lex_buffer */1], i); +} + +function sub_lexeme_char_opt(lexbuf, i) { + if (i >= 0) { + return /* Some */[Caml_bytes.get(lexbuf[/* lex_buffer */1], i)]; + } + else { + return /* None */0; + } +} + +function lexeme_char(lexbuf, i) { + return Caml_bytes.get(lexbuf[/* lex_buffer */1], lexbuf[/* lex_start_pos */4] + i | 0); +} + +function lexeme_start(lexbuf) { + return lexbuf[/* lex_start_p */10][/* pos_cnum */3]; +} + +function lexeme_end(lexbuf) { + return lexbuf[/* lex_curr_p */11][/* pos_cnum */3]; +} + +function lexeme_start_p(lexbuf) { + return lexbuf[/* lex_start_p */10]; +} + +function lexeme_end_p(lexbuf) { + return lexbuf[/* lex_curr_p */11]; +} + +function new_line(lexbuf) { + var lcp = lexbuf[/* lex_curr_p */11]; + lexbuf[/* lex_curr_p */11] = /* record */[ + /* pos_fname */lcp[/* pos_fname */0], + /* pos_lnum */lcp[/* pos_lnum */1] + 1 | 0, + /* pos_bol */lcp[/* pos_cnum */3], + /* pos_cnum */lcp[/* pos_cnum */3] + ]; + return /* () */0; +} + +function flush_input(lb) { + lb[/* lex_curr_pos */5] = 0; + lb[/* lex_abs_pos */3] = 0; + var init = lb[/* lex_curr_p */11]; + lb[/* lex_curr_p */11] = /* record */[ + /* pos_fname */init[/* pos_fname */0], + /* pos_lnum */init[/* pos_lnum */1], + /* pos_bol */init[/* pos_bol */2], + /* pos_cnum */0 + ]; + lb[/* lex_buffer_len */2] = 0; + return /* () */0; +} + +var dummy_pos = /* record */[ + /* pos_fname */"", + /* pos_lnum */0, + /* pos_bol */0, + /* pos_cnum */-1 +]; + +exports.dummy_pos = dummy_pos; +exports.from_channel = from_channel; +exports.from_string = from_string; +exports.from_function = from_function; +exports.lexeme = lexeme; +exports.lexeme_char = lexeme_char; +exports.lexeme_start = lexeme_start; +exports.lexeme_end = lexeme_end; +exports.lexeme_start_p = lexeme_start_p; +exports.lexeme_end_p = lexeme_end_p; +exports.new_line = new_line; +exports.flush_input = flush_input; +exports.sub_lexeme = sub_lexeme; +exports.sub_lexeme_opt = sub_lexeme_opt; +exports.sub_lexeme_char = sub_lexeme_char; +exports.sub_lexeme_char_opt = sub_lexeme_char_opt; +exports.engine = engine; +exports.new_engine = new_engine; +/* No side effect */ +//////// end of lexing.js //////// +    return exports; +  }; + + + _registry['lib'] = function() { +    let exports = {}; +//////// start of lib.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var $$Array = require("bs-platform/lib/js/array"); +var Curry = require("bs-platform/lib/js/curry"); +var Int32 = require("bs-platform/lib/js/int32"); +var $$String = require("bs-platform/lib/js/string"); +var Bigarray = require("bs-platform/lib/js/bigarray"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Caml_array = require("bs-platform/lib/js/caml_array"); +var Caml_int64 = require("bs-platform/lib/js/caml_int64"); +var Pervasives = require("bs-platform/lib/js/pervasives"); +var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions"); + +function repeat(_n, f, x) { + while(true) { + var n = _n; + if (n) { + Curry._1(f, x); + _n = n - 1 | 0; + continue ; + + } + else { + return /* () */0; + } + }; +} + +var Fun = /* module */[/* repeat */repeat]; + +function make(n, x) { + if (n) { + return /* :: */[ + x, + make(n - 1 | 0, x) + ]; + } + else { + return /* [] */0; + } +} + +function table$prime(i, n, f) { + if (i === n) { + return /* [] */0; + } + else { + return /* :: */[ + Curry._1(f, i), + table$prime(i + 1 | 0, n, f) + ]; + } +} + +function table(n, f) { + return table$prime(0, n, f); +} + +function take(n, xs) { + if (n !== 0) { + if (xs) { + if (n > 0) { + return /* :: */[ + xs[0], + take(n - 1 | 0, xs[1]) + ]; + } + else { + return Pervasives.failwith("take"); + } + } + else { + return Pervasives.failwith("take"); + } + } + else { + return /* [] */0; + } +} + +function drop(_n, _xs) { + while(true) { + var xs = _xs; + var n = _n; + if (n !== 0) { + if (xs) { + if (n > 0) { + _xs = xs[1]; + _n = n - 1 | 0; + continue ; + + } + else { + return Pervasives.failwith("drop"); + } + } + else { + return Pervasives.failwith("drop"); + } + } + else { + return xs; + } + }; +} + +function last(_param) { + while(true) { + var param = _param; + if (param) { + var xs = param[1]; + if (xs) { + _param = xs; + continue ; + + } + else { + return param[0]; + } + } + else { + return Pervasives.failwith("last"); + } + }; +} + +function split_last(param) { + if (param) { + var xs = param[1]; + var x = param[0]; + if (xs) { + var match = split_last(xs); + return /* tuple */[ + /* :: */[ + x, + match[0] + ], + match[1] + ]; + } + else { + return /* tuple */[ + /* [] */0, + x + ]; + } + } + else { + return Pervasives.failwith("split_last"); + } +} + +function index_of(x, xs) { + var x$1 = x; + var _xs = xs; + var _i = 0; + while(true) { + var i = _i; + var xs$1 = _xs; + if (xs$1) { + if (Caml_obj.caml_equal(x$1, xs$1[0])) { + return /* Some */[i]; + } + else { + _i = i + 1 | 0; + _xs = xs$1[1]; + continue ; + + } + } + else { + return /* None */0; + } + }; +} + +function length(xs) { + var _xs = xs; + var _n = 0; + while(true) { + var n = _n; + var xs$1 = _xs; + if (xs$1) { + if (n < Int32.max_int) { + _n = n + 1 | 0; + _xs = xs$1[1]; + continue ; + + } + else { + return Pervasives.failwith("length"); + } + } + else { + return n; + } + }; +} + +function nth(_xs, _n) { + while(true) { + var n = _n; + var xs = _xs; + if (n !== 0) { + if (xs) { + if (n > 0) { + _n = n - 1 | 0; + _xs = xs[1]; + continue ; + + } + else { + return Pervasives.failwith("nth"); + } + } + else { + return Pervasives.failwith("nth"); + } + } + else if (xs) { + return xs[0]; + } + else { + return Pervasives.failwith("nth"); + } + }; +} + +function take$1(n, xs) { + if (n !== 0) { + if (xs) { + if (n > 0) { + return /* :: */[ + xs[0], + take$1(n - 1 | 0, xs[1]) + ]; + } + else { + return Pervasives.failwith("take"); + } + } + else { + return Pervasives.failwith("take"); + } + } + else { + return /* [] */0; + } +} + +function drop$1(_n, _xs) { + while(true) { + var xs = _xs; + var n = _n; + if (n !== 0) { + if (xs) { + if (n > 0) { + _xs = xs[1]; + _n = n - 1 | 0; + continue ; + + } + else { + return Pervasives.failwith("drop"); + } + } + else { + return Pervasives.failwith("drop"); + } + } + else { + return xs; + } + }; +} + +function make$1(n, x) { + if (n < 0 || Caml_int64.gt(Caml_int64.of_int32(n), Caml_int64.of_int32(Pervasives.max_int))) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Array32.make" + ]; + } + return Caml_array.caml_make_vect(n, x); +} + +function length$1(a) { + return a.length; +} + +function index_of_int32(i) { + if (i < 0 || Caml_int64.gt(Caml_int64.of_int32(i), Caml_int64.of_int32(Pervasives.max_int))) { + return -1; + } + else { + return i; + } +} + +function get(a, i) { + return a[index_of_int32(i)]; +} + +function set(a, i, x) { + a[index_of_int32(i)] = x; + return /* () */0; +} + +function blit(a1, i1, a2, i2, n) { + return $$Array.blit(a1, index_of_int32(i1), a2, index_of_int32(i2), index_of_int32(n)); +} + +function create(kind, layout, n) { + if (Caml_int64.lt(n, /* int64 */[ + /* hi */0, + /* lo */0 + ]) || Caml_int64.gt(n, Caml_int64.of_int32(Pervasives.max_int))) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Bigarray.Array1_64.create" + ]; + } + return Curry._3(Bigarray.Array1[/* create */0], kind, layout, n[1] | 0); +} + +function dim() { + return Caml_int64.of_int32(function () { + throw "caml_ba_dim_1 not implemented by bucklescript yet\n"; + }()); +} + +function get$1(_, _$1) { + return function () { + throw "caml_ba_get_1 not implemented by bucklescript yet\n"; + }(); +} + +function set$1(_, _$1, _$2) { + return function () { + throw "caml_ba_set_1 not implemented by bucklescript yet\n"; + }(); +} + +function sub(_, _$1, _$2) { + return function () { + throw "caml_ba_sub not implemented by bucklescript yet\n"; + }(); +} + +function get$2(o, x) { + if (o) { + return o[0]; + } + else { + return x; + } +} + +function map(f, param) { + if (param) { + return /* Some */[Curry._1(f, param[0])]; + } + else { + return /* None */0; + } +} + +function app(f, param) { + if (param) { + return Curry._1(f, param[0]); + } + else { + return /* () */0; + } +} + +var Option = /* module */[ + /* get */get$2, + /* map */map, + /* app */app +]; + +function log2(n) { + if (n <= 0) { + Pervasives.failwith("log2"); + } + var _acc = 0; + var _n = n; + while(true) { + var n$1 = _n; + var acc = _acc; + if (n$1 === 1) { + return acc; + } + else { + _n = (n$1 >>> 1); + _acc = acc + 1 | 0; + continue ; + + } + }; +} + +function is_power_of_two(n) { + if (n < 0) { + Pervasives.failwith("is_power_of_two"); + } + if (n !== 0) { + return +((n & (n - 1 | 0)) === 0); + } + else { + return /* false */0; + } +} + +var Int = /* module */[ + /* log2 */log2, + /* is_power_of_two */is_power_of_two +]; + +function breakup(s, n) { + var loop = function (i) { + var len = Pervasives.min(n, s.length - i | 0); + if (len) { + return /* :: */[ + $$String.sub(s, i, len), + loop(i + len | 0) + ]; + } + else { + return /* [] */0; + } + }; + return loop(0); +} + +var $$String$1 = /* module */[/* breakup */breakup]; + +var List = [ + make, + table, + take, + drop, + last, + split_last, + index_of +]; + +var List32 = [ + length, + nth, + take$1, + drop$1 +]; + +var Array32 = [ + make$1, + length$1, + get, + set, + blit +]; + +var Bigarray$1 = [[ + create, + dim, + get$1, + set$1, + sub + ]]; + +exports.Fun = Fun; +exports.List = List; +exports.List32 = List32; +exports.Array32 = Array32; +exports.Bigarray = Bigarray$1; +exports.Option = Option; +exports.Int = Int; +exports.$$String = $$String$1; +/* Bigarray Not a pure module */ +//////// end of lib.js //////// +    return exports; +  }; + + + _registry['list'] = function() { +    let exports = {}; +//////// start of list.js //////// +'use strict'; + +var Curry = require("./curry"); +var Caml_obj = require("./caml_obj"); +var Pervasives = require("./pervasives"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function length(l) { + var _len = 0; + var _param = l; + while(true) { + var param = _param; + var len = _len; + if (param) { + _param = param[1]; + _len = len + 1 | 0; + continue ; + + } + else { + return len; + } + }; +} + +function hd(param) { + if (param) { + return param[0]; + } + else { + throw [ + Caml_builtin_exceptions.failure, + "hd" + ]; + } +} + +function tl(param) { + if (param) { + return param[1]; + } + else { + throw [ + Caml_builtin_exceptions.failure, + "tl" + ]; + } +} + +function nth(l, n) { + if (n < 0) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.nth" + ]; + } + else { + var _l = l; + var _n = n; + while(true) { + var n$1 = _n; + var l$1 = _l; + if (l$1) { + if (n$1) { + _n = n$1 - 1 | 0; + _l = l$1[1]; + continue ; + + } + else { + return l$1[0]; + } + } + else { + throw [ + Caml_builtin_exceptions.failure, + "nth" + ]; + } + }; + } +} + +function rev_append(_l1, _l2) { + while(true) { + var l2 = _l2; + var l1 = _l1; + if (l1) { + _l2 = /* :: */[ + l1[0], + l2 + ]; + _l1 = l1[1]; + continue ; + + } + else { + return l2; + } + }; +} + +function rev(l) { + return rev_append(l, /* [] */0); +} + +function flatten(param) { + if (param) { + return Pervasives.$at(param[0], flatten(param[1])); + } + else { + return /* [] */0; + } +} + +function map(f, param) { + if (param) { + var r = Curry._1(f, param[0]); + return /* :: */[ + r, + map(f, param[1]) + ]; + } + else { + return /* [] */0; + } +} + +function mapi(i, f, param) { + if (param) { + var r = Curry._2(f, i, param[0]); + return /* :: */[ + r, + mapi(i + 1 | 0, f, param[1]) + ]; + } + else { + return /* [] */0; + } +} + +function mapi$1(f, l) { + return mapi(0, f, l); +} + +function rev_map(f, l) { + var _accu = /* [] */0; + var _param = l; + while(true) { + var param = _param; + var accu = _accu; + if (param) { + _param = param[1]; + _accu = /* :: */[ + Curry._1(f, param[0]), + accu + ]; + continue ; + + } + else { + return accu; + } + }; +} + +function iter(f, _param) { + while(true) { + var param = _param; + if (param) { + Curry._1(f, param[0]); + _param = param[1]; + continue ; + + } + else { + return /* () */0; + } + }; +} + +function iteri(f, l) { + var _i = 0; + var f$1 = f; + var _param = l; + while(true) { + var param = _param; + var i = _i; + if (param) { + Curry._2(f$1, i, param[0]); + _param = param[1]; + _i = i + 1 | 0; + continue ; + + } + else { + return /* () */0; + } + }; +} + +function fold_left(f, _accu, _l) { + while(true) { + var l = _l; + var accu = _accu; + if (l) { + _l = l[1]; + _accu = Curry._2(f, accu, l[0]); + continue ; + + } + else { + return accu; + } + }; +} + +function fold_right(f, l, accu) { + if (l) { + return Curry._2(f, l[0], fold_right(f, l[1], accu)); + } + else { + return accu; + } +} + +function map2(f, l1, l2) { + if (l1) { + if (l2) { + var r = Curry._2(f, l1[0], l2[0]); + return /* :: */[ + r, + map2(f, l1[1], l2[1]) + ]; + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.map2" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.map2" + ]; + } + else { + return /* [] */0; + } +} + +function rev_map2(f, l1, l2) { + var _accu = /* [] */0; + var _l1 = l1; + var _l2 = l2; + while(true) { + var l2$1 = _l2; + var l1$1 = _l1; + var accu = _accu; + if (l1$1) { + if (l2$1) { + _l2 = l2$1[1]; + _l1 = l1$1[1]; + _accu = /* :: */[ + Curry._2(f, l1$1[0], l2$1[0]), + accu + ]; + continue ; + + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.rev_map2" + ]; + } + } + else if (l2$1) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.rev_map2" + ]; + } + else { + return accu; + } + }; +} + +function iter2(f, _l1, _l2) { + while(true) { + var l2 = _l2; + var l1 = _l1; + if (l1) { + if (l2) { + Curry._2(f, l1[0], l2[0]); + _l2 = l2[1]; + _l1 = l1[1]; + continue ; + + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.iter2" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.iter2" + ]; + } + else { + return /* () */0; + } + }; +} + +function fold_left2(f, _accu, _l1, _l2) { + while(true) { + var l2 = _l2; + var l1 = _l1; + var accu = _accu; + if (l1) { + if (l2) { + _l2 = l2[1]; + _l1 = l1[1]; + _accu = Curry._3(f, accu, l1[0], l2[0]); + continue ; + + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.fold_left2" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.fold_left2" + ]; + } + else { + return accu; + } + }; +} + +function fold_right2(f, l1, l2, accu) { + if (l1) { + if (l2) { + return Curry._3(f, l1[0], l2[0], fold_right2(f, l1[1], l2[1], accu)); + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.fold_right2" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.fold_right2" + ]; + } + else { + return accu; + } +} + +function for_all(p, _param) { + while(true) { + var param = _param; + if (param) { + if (Curry._1(p, param[0])) { + _param = param[1]; + continue ; + + } + else { + return /* false */0; + } + } + else { + return /* true */1; + } + }; +} + +function exists(p, _param) { + while(true) { + var param = _param; + if (param) { + if (Curry._1(p, param[0])) { + return /* true */1; + } + else { + _param = param[1]; + continue ; + + } + } + else { + return /* false */0; + } + }; +} + +function for_all2(p, _l1, _l2) { + while(true) { + var l2 = _l2; + var l1 = _l1; + if (l1) { + if (l2) { + if (Curry._2(p, l1[0], l2[0])) { + _l2 = l2[1]; + _l1 = l1[1]; + continue ; + + } + else { + return /* false */0; + } + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.for_all2" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.for_all2" + ]; + } + else { + return /* true */1; + } + }; +} + +function exists2(p, _l1, _l2) { + while(true) { + var l2 = _l2; + var l1 = _l1; + if (l1) { + if (l2) { + if (Curry._2(p, l1[0], l2[0])) { + return /* true */1; + } + else { + _l2 = l2[1]; + _l1 = l1[1]; + continue ; + + } + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.exists2" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.exists2" + ]; + } + else { + return /* false */0; + } + }; +} + +function mem(x, _param) { + while(true) { + var param = _param; + if (param) { + if (Caml_obj.caml_compare(param[0], x)) { + _param = param[1]; + continue ; + + } + else { + return /* true */1; + } + } + else { + return /* false */0; + } + }; +} + +function memq(x, _param) { + while(true) { + var param = _param; + if (param) { + if (param[0] === x) { + return /* true */1; + } + else { + _param = param[1]; + continue ; + + } + } + else { + return /* false */0; + } + }; +} + +function assoc(x, _param) { + while(true) { + var param = _param; + if (param) { + var match = param[0]; + if (Caml_obj.caml_compare(match[0], x)) { + _param = param[1]; + continue ; + + } + else { + return match[1]; + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; +} + +function assq(x, _param) { + while(true) { + var param = _param; + if (param) { + var match = param[0]; + if (match[0] === x) { + return match[1]; + } + else { + _param = param[1]; + continue ; + + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; +} + +function mem_assoc(x, _param) { + while(true) { + var param = _param; + if (param) { + if (Caml_obj.caml_compare(param[0][0], x)) { + _param = param[1]; + continue ; + + } + else { + return /* true */1; + } + } + else { + return /* false */0; + } + }; +} + +function mem_assq(x, _param) { + while(true) { + var param = _param; + if (param) { + if (param[0][0] === x) { + return /* true */1; + } + else { + _param = param[1]; + continue ; + + } + } + else { + return /* false */0; + } + }; +} + +function remove_assoc(x, param) { + if (param) { + var l = param[1]; + var pair = param[0]; + if (Caml_obj.caml_compare(pair[0], x)) { + return /* :: */[ + pair, + remove_assoc(x, l) + ]; + } + else { + return l; + } + } + else { + return /* [] */0; + } +} + +function remove_assq(x, param) { + if (param) { + var l = param[1]; + var pair = param[0]; + if (pair[0] === x) { + return l; + } + else { + return /* :: */[ + pair, + remove_assq(x, l) + ]; + } + } + else { + return /* [] */0; + } +} + +function find(p, _param) { + while(true) { + var param = _param; + if (param) { + var x = param[0]; + if (Curry._1(p, x)) { + return x; + } + else { + _param = param[1]; + continue ; + + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; +} + +function find_all(p) { + return function (param) { + var _accu = /* [] */0; + var _param = param; + while(true) { + var param$1 = _param; + var accu = _accu; + if (param$1) { + var l = param$1[1]; + var x = param$1[0]; + if (Curry._1(p, x)) { + _param = l; + _accu = /* :: */[ + x, + accu + ]; + continue ; + + } + else { + _param = l; + continue ; + + } + } + else { + return rev_append(accu, /* [] */0); + } + }; + }; +} + +function partition(p, l) { + var _yes = /* [] */0; + var _no = /* [] */0; + var _param = l; + while(true) { + var param = _param; + var no = _no; + var yes = _yes; + if (param) { + var l$1 = param[1]; + var x = param[0]; + if (Curry._1(p, x)) { + _param = l$1; + _yes = /* :: */[ + x, + yes + ]; + continue ; + + } + else { + _param = l$1; + _no = /* :: */[ + x, + no + ]; + continue ; + + } + } + else { + return /* tuple */[ + rev_append(yes, /* [] */0), + rev_append(no, /* [] */0) + ]; + } + }; +} + +function split(param) { + if (param) { + var match = param[0]; + var match$1 = split(param[1]); + return /* tuple */[ + /* :: */[ + match[0], + match$1[0] + ], + /* :: */[ + match[1], + match$1[1] + ] + ]; + } + else { + return /* tuple */[ + /* [] */0, + /* [] */0 + ]; + } +} + +function combine(l1, l2) { + if (l1) { + if (l2) { + return /* :: */[ + /* tuple */[ + l1[0], + l2[0] + ], + combine(l1[1], l2[1]) + ]; + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.combine" + ]; + } + } + else if (l2) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "List.combine" + ]; + } + else { + return /* [] */0; + } +} + +function merge(cmp, l1, l2) { + if (l1) { + if (l2) { + var h2 = l2[0]; + var h1 = l1[0]; + if (Curry._2(cmp, h1, h2) <= 0) { + return /* :: */[ + h1, + merge(cmp, l1[1], l2) + ]; + } + else { + return /* :: */[ + h2, + merge(cmp, l1, l2[1]) + ]; + } + } + else { + return l1; + } + } + else { + return l2; + } +} + +function chop(_k, _l) { + while(true) { + var l = _l; + var k = _k; + if (k) { + if (l) { + _l = l[1]; + _k = k - 1 | 0; + continue ; + + } + else { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "list.ml", + 223, + 11 + ] + ]; + } + } + else { + return l; + } + }; +} + +function stable_sort(cmp, l) { + var sort = function (n, l) { + var exit = 0; + if (n !== 2) { + if (n !== 3) { + exit = 1; + } + else if (l) { + var match = l[1]; + if (match) { + var match$1 = match[1]; + if (match$1) { + var x3 = match$1[0]; + var x2 = match[0]; + var x1 = l[0]; + if (Curry._2(cmp, x1, x2) <= 0) { + if (Curry._2(cmp, x2, x3) <= 0) { + return /* :: */[ + x1, + /* :: */[ + x2, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else if (Curry._2(cmp, x1, x3) <= 0) { + return /* :: */[ + x1, + /* :: */[ + x3, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + } + else if (Curry._2(cmp, x1, x3) <= 0) { + return /* :: */[ + x2, + /* :: */[ + x1, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else if (Curry._2(cmp, x2, x3) <= 0) { + return /* :: */[ + x2, + /* :: */[ + x3, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else if (l) { + var match$2 = l[1]; + if (match$2) { + var x2$1 = match$2[0]; + var x1$1 = l[0]; + if (Curry._2(cmp, x1$1, x2$1) <= 0) { + return /* :: */[ + x1$1, + /* :: */[ + x2$1, + /* [] */0 + ] + ]; + } + else { + return /* :: */[ + x2$1, + /* :: */[ + x1$1, + /* [] */0 + ] + ]; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + if (exit === 1) { + var n1 = (n >> 1); + var n2 = n - n1 | 0; + var l2 = chop(n1, l); + var s1 = rev_sort(n1, l); + var s2 = rev_sort(n2, l2); + var _l1 = s1; + var _l2 = s2; + var _accu = /* [] */0; + while(true) { + var accu = _accu; + var l2$1 = _l2; + var l1 = _l1; + if (l1) { + if (l2$1) { + var h2 = l2$1[0]; + var h1 = l1[0]; + if (Curry._2(cmp, h1, h2) > 0) { + _accu = /* :: */[ + h1, + accu + ]; + _l1 = l1[1]; + continue ; + + } + else { + _accu = /* :: */[ + h2, + accu + ]; + _l2 = l2$1[1]; + continue ; + + } + } + else { + return rev_append(l1, accu); + } + } + else { + return rev_append(l2$1, accu); + } + }; + } + + }; + var rev_sort = function (n, l) { + var exit = 0; + if (n !== 2) { + if (n !== 3) { + exit = 1; + } + else if (l) { + var match = l[1]; + if (match) { + var match$1 = match[1]; + if (match$1) { + var x3 = match$1[0]; + var x2 = match[0]; + var x1 = l[0]; + if (Curry._2(cmp, x1, x2) > 0) { + if (Curry._2(cmp, x2, x3) > 0) { + return /* :: */[ + x1, + /* :: */[ + x2, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else if (Curry._2(cmp, x1, x3) > 0) { + return /* :: */[ + x1, + /* :: */[ + x3, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + } + else if (Curry._2(cmp, x1, x3) > 0) { + return /* :: */[ + x2, + /* :: */[ + x1, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else if (Curry._2(cmp, x2, x3) > 0) { + return /* :: */[ + x2, + /* :: */[ + x3, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else if (l) { + var match$2 = l[1]; + if (match$2) { + var x2$1 = match$2[0]; + var x1$1 = l[0]; + if (Curry._2(cmp, x1$1, x2$1) > 0) { + return /* :: */[ + x1$1, + /* :: */[ + x2$1, + /* [] */0 + ] + ]; + } + else { + return /* :: */[ + x2$1, + /* :: */[ + x1$1, + /* [] */0 + ] + ]; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + if (exit === 1) { + var n1 = (n >> 1); + var n2 = n - n1 | 0; + var l2 = chop(n1, l); + var s1 = sort(n1, l); + var s2 = sort(n2, l2); + var _l1 = s1; + var _l2 = s2; + var _accu = /* [] */0; + while(true) { + var accu = _accu; + var l2$1 = _l2; + var l1 = _l1; + if (l1) { + if (l2$1) { + var h2 = l2$1[0]; + var h1 = l1[0]; + if (Curry._2(cmp, h1, h2) <= 0) { + _accu = /* :: */[ + h1, + accu + ]; + _l1 = l1[1]; + continue ; + + } + else { + _accu = /* :: */[ + h2, + accu + ]; + _l2 = l2$1[1]; + continue ; + + } + } + else { + return rev_append(l1, accu); + } + } + else { + return rev_append(l2$1, accu); + } + }; + } + + }; + var len = length(l); + if (len < 2) { + return l; + } + else { + return sort(len, l); + } +} + +function sort_uniq(cmp, l) { + var sort = function (n, l) { + var exit = 0; + if (n !== 2) { + if (n !== 3) { + exit = 1; + } + else if (l) { + var match = l[1]; + if (match) { + var match$1 = match[1]; + if (match$1) { + var x3 = match$1[0]; + var x2 = match[0]; + var x1 = l[0]; + var c = Curry._2(cmp, x1, x2); + if (c) { + if (c < 0) { + var c$1 = Curry._2(cmp, x2, x3); + if (c$1) { + if (c$1 < 0) { + return /* :: */[ + x1, + /* :: */[ + x2, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else { + var c$2 = Curry._2(cmp, x1, x3); + if (c$2) { + if (c$2 < 0) { + return /* :: */[ + x1, + /* :: */[ + x3, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + } + else { + return /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ]; + } + } + } + else { + return /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ]; + } + } + else { + var c$3 = Curry._2(cmp, x1, x3); + if (c$3) { + if (c$3 < 0) { + return /* :: */[ + x2, + /* :: */[ + x1, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else { + var c$4 = Curry._2(cmp, x2, x3); + if (c$4) { + if (c$4 < 0) { + return /* :: */[ + x2, + /* :: */[ + x3, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + } + else { + return /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ]; + } + } + } + else { + return /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ]; + } + } + } + else { + var c$5 = Curry._2(cmp, x2, x3); + if (c$5) { + if (c$5 < 0) { + return /* :: */[ + x2, + /* :: */[ + x3, + /* [] */0 + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x2, + /* [] */0 + ] + ]; + } + } + else { + return /* :: */[ + x2, + /* [] */0 + ]; + } + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else if (l) { + var match$2 = l[1]; + if (match$2) { + var x2$1 = match$2[0]; + var x1$1 = l[0]; + var c$6 = Curry._2(cmp, x1$1, x2$1); + if (c$6) { + if (c$6 < 0) { + return /* :: */[ + x1$1, + /* :: */[ + x2$1, + /* [] */0 + ] + ]; + } + else { + return /* :: */[ + x2$1, + /* :: */[ + x1$1, + /* [] */0 + ] + ]; + } + } + else { + return /* :: */[ + x1$1, + /* [] */0 + ]; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + if (exit === 1) { + var n1 = (n >> 1); + var n2 = n - n1 | 0; + var l2 = chop(n1, l); + var s1 = rev_sort(n1, l); + var s2 = rev_sort(n2, l2); + var _l1 = s1; + var _l2 = s2; + var _accu = /* [] */0; + while(true) { + var accu = _accu; + var l2$1 = _l2; + var l1 = _l1; + if (l1) { + if (l2$1) { + var t2 = l2$1[1]; + var h2 = l2$1[0]; + var t1 = l1[1]; + var h1 = l1[0]; + var c$7 = Curry._2(cmp, h1, h2); + if (c$7) { + if (c$7 > 0) { + _accu = /* :: */[ + h1, + accu + ]; + _l1 = t1; + continue ; + + } + else { + _accu = /* :: */[ + h2, + accu + ]; + _l2 = t2; + continue ; + + } + } + else { + _accu = /* :: */[ + h1, + accu + ]; + _l2 = t2; + _l1 = t1; + continue ; + + } + } + else { + return rev_append(l1, accu); + } + } + else { + return rev_append(l2$1, accu); + } + }; + } + + }; + var rev_sort = function (n, l) { + var exit = 0; + if (n !== 2) { + if (n !== 3) { + exit = 1; + } + else if (l) { + var match = l[1]; + if (match) { + var match$1 = match[1]; + if (match$1) { + var x3 = match$1[0]; + var x2 = match[0]; + var x1 = l[0]; + var c = Curry._2(cmp, x1, x2); + if (c) { + if (c > 0) { + var c$1 = Curry._2(cmp, x2, x3); + if (c$1) { + if (c$1 > 0) { + return /* :: */[ + x1, + /* :: */[ + x2, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else { + var c$2 = Curry._2(cmp, x1, x3); + if (c$2) { + if (c$2 > 0) { + return /* :: */[ + x1, + /* :: */[ + x3, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ] + ]; + } + } + else { + return /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ]; + } + } + } + else { + return /* :: */[ + x1, + /* :: */[ + x2, + /* [] */0 + ] + ]; + } + } + else { + var c$3 = Curry._2(cmp, x1, x3); + if (c$3) { + if (c$3 > 0) { + return /* :: */[ + x2, + /* :: */[ + x1, + /* :: */[ + x3, + /* [] */0 + ] + ] + ]; + } + else { + var c$4 = Curry._2(cmp, x2, x3); + if (c$4) { + if (c$4 > 0) { + return /* :: */[ + x2, + /* :: */[ + x3, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ] + ]; + } + } + else { + return /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ]; + } + } + } + else { + return /* :: */[ + x2, + /* :: */[ + x1, + /* [] */0 + ] + ]; + } + } + } + else { + var c$5 = Curry._2(cmp, x2, x3); + if (c$5) { + if (c$5 > 0) { + return /* :: */[ + x2, + /* :: */[ + x3, + /* [] */0 + ] + ]; + } + else { + return /* :: */[ + x3, + /* :: */[ + x2, + /* [] */0 + ] + ]; + } + } + else { + return /* :: */[ + x2, + /* [] */0 + ]; + } + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + } + else if (l) { + var match$2 = l[1]; + if (match$2) { + var x2$1 = match$2[0]; + var x1$1 = l[0]; + var c$6 = Curry._2(cmp, x1$1, x2$1); + if (c$6) { + if (c$6 > 0) { + return /* :: */[ + x1$1, + /* :: */[ + x2$1, + /* [] */0 + ] + ]; + } + else { + return /* :: */[ + x2$1, + /* :: */[ + x1$1, + /* [] */0 + ] + ]; + } + } + else { + return /* :: */[ + x1$1, + /* [] */0 + ]; + } + } + else { + exit = 1; + } + } + else { + exit = 1; + } + if (exit === 1) { + var n1 = (n >> 1); + var n2 = n - n1 | 0; + var l2 = chop(n1, l); + var s1 = sort(n1, l); + var s2 = sort(n2, l2); + var _l1 = s1; + var _l2 = s2; + var _accu = /* [] */0; + while(true) { + var accu = _accu; + var l2$1 = _l2; + var l1 = _l1; + if (l1) { + if (l2$1) { + var t2 = l2$1[1]; + var h2 = l2$1[0]; + var t1 = l1[1]; + var h1 = l1[0]; + var c$7 = Curry._2(cmp, h1, h2); + if (c$7) { + if (c$7 < 0) { + _accu = /* :: */[ + h1, + accu + ]; + _l1 = t1; + continue ; + + } + else { + _accu = /* :: */[ + h2, + accu + ]; + _l2 = t2; + continue ; + + } + } + else { + _accu = /* :: */[ + h1, + accu + ]; + _l2 = t2; + _l1 = t1; + continue ; + + } + } + else { + return rev_append(l1, accu); + } + } + else { + return rev_append(l2$1, accu); + } + }; + } + + }; + var len = length(l); + if (len < 2) { + return l; + } + else { + return sort(len, l); + } +} + +var append = Pervasives.$at; + +var concat = flatten; + +var filter = find_all; + +var sort = stable_sort; + +var fast_sort = stable_sort; + +exports.length = length; +exports.hd = hd; +exports.tl = tl; +exports.nth = nth; +exports.rev = rev; +exports.append = append; +exports.rev_append = rev_append; +exports.concat = concat; +exports.flatten = flatten; +exports.iter = iter; +exports.iteri = iteri; +exports.map = map; +exports.mapi = mapi$1; +exports.rev_map = rev_map; +exports.fold_left = fold_left; +exports.fold_right = fold_right; +exports.iter2 = iter2; +exports.map2 = map2; +exports.rev_map2 = rev_map2; +exports.fold_left2 = fold_left2; +exports.fold_right2 = fold_right2; +exports.for_all = for_all; +exports.exists = exists; +exports.for_all2 = for_all2; +exports.exists2 = exists2; +exports.mem = mem; +exports.memq = memq; +exports.find = find; +exports.filter = filter; +exports.find_all = find_all; +exports.partition = partition; +exports.assoc = assoc; +exports.assq = assq; +exports.mem_assoc = mem_assoc; +exports.mem_assq = mem_assq; +exports.remove_assoc = remove_assoc; +exports.remove_assq = remove_assq; +exports.split = split; +exports.combine = combine; +exports.sort = sort; +exports.stable_sort = stable_sort; +exports.fast_sort = fast_sort; +exports.sort_uniq = sort_uniq; +exports.merge = merge; +/* No side effect */ +//////// end of list.js //////// +    return exports; +  }; + + + _registry['map'] = function() { +    let exports = {}; +//////// start of map.js //////// +'use strict'; + +var Curry = require("./curry"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function Make(funarg) { + var height = function (param) { + if (param) { + return param[4]; + } + else { + return 0; + } + }; + var create = function (l, x, d, r) { + var hl = height(l); + var hr = height(r); + return /* Node */[ + l, + x, + d, + r, + hl >= hr ? hl + 1 | 0 : hr + 1 | 0 + ]; + }; + var singleton = function (x, d) { + return /* Node */[ + /* Empty */0, + x, + d, + /* Empty */0, + 1 + ]; + }; + var bal = function (l, x, d, r) { + var hl = l ? l[4] : 0; + var hr = r ? r[4] : 0; + if (hl > (hr + 2 | 0)) { + if (l) { + var lr = l[3]; + var ld = l[2]; + var lv = l[1]; + var ll = l[0]; + if (height(ll) >= height(lr)) { + return create(ll, lv, ld, create(lr, x, d, r)); + } + else if (lr) { + return create(create(ll, lv, ld, lr[0]), lr[1], lr[2], create(lr[3], x, d, r)); + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Map.bal" + ]; + } + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Map.bal" + ]; + } + } + else if (hr > (hl + 2 | 0)) { + if (r) { + var rr = r[3]; + var rd = r[2]; + var rv = r[1]; + var rl = r[0]; + if (height(rr) >= height(rl)) { + return create(create(l, x, d, rl), rv, rd, rr); + } + else if (rl) { + return create(create(l, x, d, rl[0]), rl[1], rl[2], create(rl[3], rv, rd, rr)); + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Map.bal" + ]; + } + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Map.bal" + ]; + } + } + else { + return /* Node */[ + l, + x, + d, + r, + hl >= hr ? hl + 1 | 0 : hr + 1 | 0 + ]; + } + }; + var is_empty = function (param) { + if (param) { + return /* false */0; + } + else { + return /* true */1; + } + }; + var add = function (x, data, param) { + if (param) { + var r = param[3]; + var d = param[2]; + var v = param[1]; + var l = param[0]; + var c = Curry._2(funarg[/* compare */0], x, v); + if (c) { + if (c < 0) { + return bal(add(x, data, l), v, d, r); + } + else { + return bal(l, v, d, add(x, data, r)); + } + } + else { + return /* Node */[ + l, + x, + data, + r, + param[4] + ]; + } + } + else { + return /* Node */[ + /* Empty */0, + x, + data, + /* Empty */0, + 1 + ]; + } + }; + var find = function (x, _param) { + while(true) { + var param = _param; + if (param) { + var c = Curry._2(funarg[/* compare */0], x, param[1]); + if (c) { + _param = c < 0 ? param[0] : param[3]; + continue ; + + } + else { + return param[2]; + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; + }; + var mem = function (x, _param) { + while(true) { + var param = _param; + if (param) { + var c = Curry._2(funarg[/* compare */0], x, param[1]); + if (c) { + _param = c < 0 ? param[0] : param[3]; + continue ; + + } + else { + return /* true */1; + } + } + else { + return /* false */0; + } + }; + }; + var min_binding = function (_param) { + while(true) { + var param = _param; + if (param) { + var l = param[0]; + if (l) { + _param = l; + continue ; + + } + else { + return /* tuple */[ + param[1], + param[2] + ]; + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; + }; + var max_binding = function (_param) { + while(true) { + var param = _param; + if (param) { + var r = param[3]; + if (r) { + _param = r; + continue ; + + } + else { + return /* tuple */[ + param[1], + param[2] + ]; + } + } + else { + throw Caml_builtin_exceptions.not_found; + } + }; + }; + var remove_min_binding = function (param) { + if (param) { + var l = param[0]; + if (l) { + return bal(remove_min_binding(l), param[1], param[2], param[3]); + } + else { + return param[3]; + } + } + else { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Map.remove_min_elt" + ]; + } + }; + var remove = function (x, param) { + if (param) { + var r = param[3]; + var d = param[2]; + var v = param[1]; + var l = param[0]; + var c = Curry._2(funarg[/* compare */0], x, v); + if (c) { + if (c < 0) { + return bal(remove(x, l), v, d, r); + } + else { + return bal(l, v, d, remove(x, r)); + } + } + else { + var t1 = l; + var t2 = r; + if (t1) { + if (t2) { + var match = min_binding(t2); + return bal(t1, match[0], match[1], remove_min_binding(t2)); + } + else { + return t1; + } + } + else { + return t2; + } + } + } + else { + return /* Empty */0; + } + }; + var iter = function (f, _param) { + while(true) { + var param = _param; + if (param) { + iter(f, param[0]); + Curry._2(f, param[1], param[2]); + _param = param[3]; + continue ; + + } + else { + return /* () */0; + } + }; + }; + var map = function (f, param) { + if (param) { + var l$prime = map(f, param[0]); + var d$prime = Curry._1(f, param[2]); + var r$prime = map(f, param[3]); + return /* Node */[ + l$prime, + param[1], + d$prime, + r$prime, + param[4] + ]; + } + else { + return /* Empty */0; + } + }; + var mapi = function (f, param) { + if (param) { + var v = param[1]; + var l$prime = mapi(f, param[0]); + var d$prime = Curry._2(f, v, param[2]); + var r$prime = mapi(f, param[3]); + return /* Node */[ + l$prime, + v, + d$prime, + r$prime, + param[4] + ]; + } + else { + return /* Empty */0; + } + }; + var fold = function (f, _m, _accu) { + while(true) { + var accu = _accu; + var m = _m; + if (m) { + _accu = Curry._3(f, m[1], m[2], fold(f, m[0], accu)); + _m = m[3]; + continue ; + + } + else { + return accu; + } + }; + }; + var for_all = function (p, _param) { + while(true) { + var param = _param; + if (param) { + if (Curry._2(p, param[1], param[2])) { + if (for_all(p, param[0])) { + _param = param[3]; + continue ; + + } + else { + return /* false */0; + } + } + else { + return /* false */0; + } + } + else { + return /* true */1; + } + }; + }; + var exists = function (p, _param) { + while(true) { + var param = _param; + if (param) { + if (Curry._2(p, param[1], param[2])) { + return /* true */1; + } + else if (exists(p, param[0])) { + return /* true */1; + } + else { + _param = param[3]; + continue ; + + } + } + else { + return /* false */0; + } + }; + }; + var add_min_binding = function (k, v, param) { + if (param) { + return bal(add_min_binding(k, v, param[0]), param[1], param[2], param[3]); + } + else { + return singleton(k, v); + } + }; + var add_max_binding = function (k, v, param) { + if (param) { + return bal(param[0], param[1], param[2], add_max_binding(k, v, param[3])); + } + else { + return singleton(k, v); + } + }; + var join = function (l, v, d, r) { + if (l) { + if (r) { + var rh = r[4]; + var lh = l[4]; + if (lh > (rh + 2 | 0)) { + return bal(l[0], l[1], l[2], join(l[3], v, d, r)); + } + else if (rh > (lh + 2 | 0)) { + return bal(join(l, v, d, r[0]), r[1], r[2], r[3]); + } + else { + return create(l, v, d, r); + } + } + else { + return add_max_binding(v, d, l); + } + } + else { + return add_min_binding(v, d, r); + } + }; + var concat = function (t1, t2) { + if (t1) { + if (t2) { + var match = min_binding(t2); + return join(t1, match[0], match[1], remove_min_binding(t2)); + } + else { + return t1; + } + } + else { + return t2; + } + }; + var concat_or_join = function (t1, v, d, t2) { + if (d) { + return join(t1, v, d[0], t2); + } + else { + return concat(t1, t2); + } + }; + var split = function (x, param) { + if (param) { + var r = param[3]; + var d = param[2]; + var v = param[1]; + var l = param[0]; + var c = Curry._2(funarg[/* compare */0], x, v); + if (c) { + if (c < 0) { + var match = split(x, l); + return /* tuple */[ + match[0], + match[1], + join(match[2], v, d, r) + ]; + } + else { + var match$1 = split(x, r); + return /* tuple */[ + join(l, v, d, match$1[0]), + match$1[1], + match$1[2] + ]; + } + } + else { + return /* tuple */[ + l, + /* Some */[d], + r + ]; + } + } + else { + return /* tuple */[ + /* Empty */0, + /* None */0, + /* Empty */0 + ]; + } + }; + var merge = function (f, s1, s2) { + var exit = 0; + if (s1) { + var v1 = s1[1]; + if (s1[4] >= height(s2)) { + var match = split(v1, s2); + return concat_or_join(merge(f, s1[0], match[0]), v1, Curry._3(f, v1, /* Some */[s1[2]], match[1]), merge(f, s1[3], match[2])); + } + else { + exit = 1; + } + } + else if (s2) { + exit = 1; + } + else { + return /* Empty */0; + } + if (exit === 1) { + if (s2) { + var v2 = s2[1]; + var match$1 = split(v2, s1); + return concat_or_join(merge(f, match$1[0], s2[0]), v2, Curry._3(f, v2, match$1[1], /* Some */[s2[2]]), merge(f, match$1[2], s2[3])); + } + else { + throw [ + Caml_builtin_exceptions.assert_failure, + [ + "map.ml", + 270, + 10 + ] + ]; + } + } + + }; + var filter = function (p, param) { + if (param) { + var d = param[2]; + var v = param[1]; + var l$prime = filter(p, param[0]); + var pvd = Curry._2(p, v, d); + var r$prime = filter(p, param[3]); + if (pvd) { + return join(l$prime, v, d, r$prime); + } + else { + return concat(l$prime, r$prime); + } + } + else { + return /* Empty */0; + } + }; + var partition = function (p, param) { + if (param) { + var d = param[2]; + var v = param[1]; + var match = partition(p, param[0]); + var lf = match[1]; + var lt = match[0]; + var pvd = Curry._2(p, v, d); + var match$1 = partition(p, param[3]); + var rf = match$1[1]; + var rt = match$1[0]; + if (pvd) { + return /* tuple */[ + join(lt, v, d, rt), + concat(lf, rf) + ]; + } + else { + return /* tuple */[ + concat(lt, rt), + join(lf, v, d, rf) + ]; + } + } + else { + return /* tuple */[ + /* Empty */0, + /* Empty */0 + ]; + } + }; + var cons_enum = function (_m, _e) { + while(true) { + var e = _e; + var m = _m; + if (m) { + _e = /* More */[ + m[1], + m[2], + m[3], + e + ]; + _m = m[0]; + continue ; + + } + else { + return e; + } + }; + }; + var compare = function (cmp, m1, m2) { + var _e1 = cons_enum(m1, /* End */0); + var _e2 = cons_enum(m2, /* End */0); + while(true) { + var e2 = _e2; + var e1 = _e1; + if (e1) { + if (e2) { + var c = Curry._2(funarg[/* compare */0], e1[0], e2[0]); + if (c !== 0) { + return c; + } + else { + var c$1 = Curry._2(cmp, e1[1], e2[1]); + if (c$1 !== 0) { + return c$1; + } + else { + _e2 = cons_enum(e2[2], e2[3]); + _e1 = cons_enum(e1[2], e1[3]); + continue ; + + } + } + } + else { + return 1; + } + } + else if (e2) { + return -1; + } + else { + return 0; + } + }; + }; + var equal = function (cmp, m1, m2) { + var _e1 = cons_enum(m1, /* End */0); + var _e2 = cons_enum(m2, /* End */0); + while(true) { + var e2 = _e2; + var e1 = _e1; + if (e1) { + if (e2) { + if (Curry._2(funarg[/* compare */0], e1[0], e2[0])) { + return /* false */0; + } + else if (Curry._2(cmp, e1[1], e2[1])) { + _e2 = cons_enum(e2[2], e2[3]); + _e1 = cons_enum(e1[2], e1[3]); + continue ; + + } + else { + return /* false */0; + } + } + else { + return /* false */0; + } + } + else if (e2) { + return /* false */0; + } + else { + return /* true */1; + } + }; + }; + var cardinal = function (param) { + if (param) { + return (cardinal(param[0]) + 1 | 0) + cardinal(param[3]) | 0; + } + else { + return 0; + } + }; + var bindings_aux = function (_accu, _param) { + while(true) { + var param = _param; + var accu = _accu; + if (param) { + _param = param[0]; + _accu = /* :: */[ + /* tuple */[ + param[1], + param[2] + ], + bindings_aux(accu, param[3]) + ]; + continue ; + + } + else { + return accu; + } + }; + }; + var bindings = function (s) { + return bindings_aux(/* [] */0, s); + }; + return [ + /* Empty */0, + is_empty, + mem, + add, + singleton, + remove, + merge, + compare, + equal, + iter, + fold, + for_all, + exists, + filter, + partition, + cardinal, + bindings, + min_binding, + max_binding, + min_binding, + split, + find, + map, + mapi + ]; +} + +exports.Make = Make; +/* No side effect */ +//////// end of map.js //////// +    return exports; +  }; + + + _registry['numeric_error'] = function() { +    let exports = {}; +//////// start of numeric_error.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Caml_exceptions = require("bs-platform/lib/js/caml_exceptions"); + +var IntegerOverflow = Caml_exceptions.create("Numeric_error.IntegerOverflow"); + +var IntegerDivideByZero = Caml_exceptions.create("Numeric_error.IntegerDivideByZero"); + +var InvalidConversionToInteger = Caml_exceptions.create("Numeric_error.InvalidConversionToInteger"); + +exports.IntegerOverflow = IntegerOverflow; +exports.IntegerDivideByZero = IntegerDivideByZero; +exports.InvalidConversionToInteger = InvalidConversionToInteger; +/* No side effect */ +//////// end of numeric_error.js //////// +    return exports; +  }; + + + _registry['obj'] = function() { +    let exports = {}; +//////// start of obj.js //////// +'use strict'; + +var Marshal = require("./marshal"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); + +function double_field(x, i) { + return x[i]; +} + +function set_double_field(x, i, v) { + x[i] = v; + return /* () */0; +} + +function marshal() { + return function () { + throw "caml_output_value_to_string not implemented by bucklescript yet\n"; + }(); +} + +function unmarshal(str, pos) { + return /* tuple */[ + Marshal.from_bytes(str, pos), + pos + Marshal.total_size(str, pos) | 0 + ]; +} + +function extension_slot(x) { + var slot = x.length !== undefined && (x.tag | 0) !== 248 && x.length >= 1 ? x[0] : x; + var name; + if (slot.length !== undefined && slot.tag === 248) { + name = slot[0]; + } + else { + throw Caml_builtin_exceptions.not_found; + } + if (name.tag === 252) { + return slot; + } + else { + throw Caml_builtin_exceptions.not_found; + } +} + +function extension_name(x) { + try { + var slot = extension_slot(x); + return slot[0]; + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Obj.extension_name" + ]; + } + else { + throw exn; + } + } +} + +function extension_id(x) { + try { + var slot = extension_slot(x); + return slot[1]; + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Obj.extension_id" + ]; + } + else { + throw exn; + } + } +} + +function extension_slot$1(x) { + try { + return extension_slot(x); + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "Obj.extension_slot" + ]; + } + else { + throw exn; + } + } +} + +var first_non_constant_constructor_tag = 0; + +var last_non_constant_constructor_tag = 245; + +var lazy_tag = 246; + +var closure_tag = 247; + +var object_tag = 248; + +var infix_tag = 249; + +var forward_tag = 250; + +var no_scan_tag = 251; + +var abstract_tag = 251; + +var string_tag = 252; + +var double_tag = 253; + +var double_array_tag = 254; + +var custom_tag = 255; + +var final_tag = 255; + +var int_tag = 1000; + +var out_of_heap_tag = 1001; + +var unaligned_tag = 1002; + +exports.double_field = double_field; +exports.set_double_field = set_double_field; +exports.first_non_constant_constructor_tag = first_non_constant_constructor_tag; +exports.last_non_constant_constructor_tag = last_non_constant_constructor_tag; +exports.lazy_tag = lazy_tag; +exports.closure_tag = closure_tag; +exports.object_tag = object_tag; +exports.infix_tag = infix_tag; +exports.forward_tag = forward_tag; +exports.no_scan_tag = no_scan_tag; +exports.abstract_tag = abstract_tag; +exports.string_tag = string_tag; +exports.double_tag = double_tag; +exports.double_array_tag = double_array_tag; +exports.custom_tag = custom_tag; +exports.final_tag = final_tag; +exports.int_tag = int_tag; +exports.out_of_heap_tag = out_of_heap_tag; +exports.unaligned_tag = unaligned_tag; +exports.extension_name = extension_name; +exports.extension_id = extension_id; +exports.extension_slot = extension_slot$1; +exports.marshal = marshal; +exports.unmarshal = unmarshal; +/* No side effect */ +//////// end of obj.js //////// +    return exports; +  }; + + + _registry['oo'] = function() { +    let exports = {}; +//////// start of oo.js //////// +'use strict'; + +var CamlinternalOO = require("./camlinternalOO"); + +var copy = CamlinternalOO.copy; + +var new_method = CamlinternalOO.public_method_label; + +var public_method_label = CamlinternalOO.public_method_label; + +exports.copy = copy; +exports.new_method = new_method; +exports.public_method_label = public_method_label; +/* No side effect */ +//////// end of oo.js //////// +    return exports; +  }; + + + _registry['operators'] = function() { +    let exports = {}; +//////// start of operators.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Block = require("bs-platform/lib/js/block"); +var Source = require("./source"); + +function i32_const(n) { + return /* Const */Block.__(15, [Source.$at$at(/* I32 */Block.__(0, [n[/* it */1]]), n[/* at */0])]); +} + +function i64_const(n) { + return /* Const */Block.__(15, [Source.$at$at(/* I64 */Block.__(1, [n[/* it */1]]), n[/* at */0])]); +} + +function f32_const(n) { + return /* Const */Block.__(15, [Source.$at$at(/* F32 */Block.__(2, [n[/* it */1]]), n[/* at */0])]); +} + +function f64_const(n) { + return /* Const */Block.__(15, [Source.$at$at(/* F64 */Block.__(3, [n[/* it */1]]), n[/* at */0])]); +} + +function block(ts, es) { + return /* Block */Block.__(0, [ + ts, + es + ]); +} + +function loop(ts, es) { + return /* Loop */Block.__(1, [ + ts, + es + ]); +} + +function br(x) { + return /* Br */Block.__(3, [x]); +} + +function br_if(x) { + return /* BrIf */Block.__(4, [x]); +} + +function br_table(xs, x) { + return /* BrTable */Block.__(5, [ + xs, + x + ]); +} + +function if_(ts, es1, es2) { + return /* If */Block.__(2, [ + ts, + es1, + es2 + ]); +} + +function call(x) { + return /* Call */Block.__(6, [x]); +} + +function call_indirect(x) { + return /* CallIndirect */Block.__(7, [x]); +} + +function get_local(x) { + return /* GetLocal */Block.__(8, [x]); +} + +function set_local(x) { + return /* SetLocal */Block.__(9, [x]); +} + +function tee_local(x) { + return /* TeeLocal */Block.__(10, [x]); +} + +function get_global(x) { + return /* GetGlobal */Block.__(11, [x]); +} + +function set_global(x) { + return /* SetGlobal */Block.__(12, [x]); +} + +function i32_load(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function i64_load(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function f32_load(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : F32Type */2, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function f64_load(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : F64Type */3, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function i32_load8_s(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem8 */0, + /* SX */0 + ]] + ]]); +} + +function i32_load8_u(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem8 */0, + /* ZX */1 + ]] + ]]); +} + +function i32_load16_s(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem16 */1, + /* SX */0 + ]] + ]]); +} + +function i32_load16_u(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem16 */1, + /* ZX */1 + ]] + ]]); +} + +function i64_load8_s(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem8 */0, + /* SX */0 + ]] + ]]); +} + +function i64_load8_u(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem8 */0, + /* ZX */1 + ]] + ]]); +} + +function i64_load16_s(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem16 */1, + /* SX */0 + ]] + ]]); +} + +function i64_load16_u(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem16 */1, + /* ZX */1 + ]] + ]]); +} + +function i64_load32_s(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem32 */2, + /* SX */0 + ]] + ]]); +} + +function i64_load32_u(align, offset) { + return /* Load */Block.__(13, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* tuple */[ + /* Mem32 */2, + /* ZX */1 + ]] + ]]); +} + +function i32_store(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function i64_store(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function f32_store(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : F32Type */2, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function f64_store(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : F64Type */3, + /* align */align, + /* offset */offset, + /* sz : None */0 + ]]); +} + +function i32_store8(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : Some */[/* Mem8 */0] + ]]); +} + +function i32_store16(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I32Type */0, + /* align */align, + /* offset */offset, + /* sz : Some */[/* Mem16 */1] + ]]); +} + +function i64_store8(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* Mem8 */0] + ]]); +} + +function i64_store16(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* Mem16 */1] + ]]); +} + +function i64_store32(align, offset) { + return /* Store */Block.__(14, [/* record */[ + /* ty : I64Type */1, + /* align */align, + /* offset */offset, + /* sz : Some */[/* Mem32 */2] + ]]); +} + +var unreachable = /* Unreachable */0; + +var nop = /* Nop */1; + +var drop = /* Drop */3; + +var $$return = /* Return */2; + +var select = /* Select */4; + +var i32_clz = /* Unary */Block.__(18, [/* I32 */Block.__(0, [/* Clz */0])]); + +var i32_ctz = /* Unary */Block.__(18, [/* I32 */Block.__(0, [/* Ctz */1])]); + +var i32_popcnt = /* Unary */Block.__(18, [/* I32 */Block.__(0, [/* Popcnt */2])]); + +var i64_clz = /* Unary */Block.__(18, [/* I64 */Block.__(1, [/* Clz */0])]); + +var i64_ctz = /* Unary */Block.__(18, [/* I64 */Block.__(1, [/* Ctz */1])]); + +var i64_popcnt = /* Unary */Block.__(18, [/* I64 */Block.__(1, [/* Popcnt */2])]); + +var f32_neg = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Neg */0])]); + +var f32_abs = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Abs */1])]); + +var f32_sqrt = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Sqrt */6])]); + +var f32_ceil = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Ceil */2])]); + +var f32_floor = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Floor */3])]); + +var f32_trunc = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Trunc */4])]); + +var f32_nearest = /* Unary */Block.__(18, [/* F32 */Block.__(2, [/* Nearest */5])]); + +var f64_neg = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Neg */0])]); + +var f64_abs = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Abs */1])]); + +var f64_sqrt = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Sqrt */6])]); + +var f64_ceil = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Ceil */2])]); + +var f64_floor = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Floor */3])]); + +var f64_trunc = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Trunc */4])]); + +var f64_nearest = /* Unary */Block.__(18, [/* F64 */Block.__(3, [/* Nearest */5])]); + +var i32_add = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Add */0])]); + +var i32_sub = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Sub */1])]); + +var i32_mul = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Mul */2])]); + +var i32_div_s = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* DivS */3])]); + +var i32_div_u = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* DivU */4])]); + +var i32_rem_s = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* RemS */5])]); + +var i32_rem_u = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* RemU */6])]); + +var i32_and = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* And */7])]); + +var i32_or = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Or */8])]); + +var i32_xor = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Xor */9])]); + +var i32_shl = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Shl */10])]); + +var i32_shr_s = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* ShrS */11])]); + +var i32_shr_u = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* ShrU */12])]); + +var i32_rotl = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Rotl */13])]); + +var i32_rotr = /* Binary */Block.__(19, [/* I32 */Block.__(0, [/* Rotr */14])]); + +var i64_add = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Add */0])]); + +var i64_sub = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Sub */1])]); + +var i64_mul = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Mul */2])]); + +var i64_div_s = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* DivS */3])]); + +var i64_div_u = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* DivU */4])]); + +var i64_rem_s = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* RemS */5])]); + +var i64_rem_u = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* RemU */6])]); + +var i64_and = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* And */7])]); + +var i64_or = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Or */8])]); + +var i64_xor = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Xor */9])]); + +var i64_shl = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Shl */10])]); + +var i64_shr_s = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* ShrS */11])]); + +var i64_shr_u = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* ShrU */12])]); + +var i64_rotl = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Rotl */13])]); + +var i64_rotr = /* Binary */Block.__(19, [/* I64 */Block.__(1, [/* Rotr */14])]); + +var f32_add = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* Add */0])]); + +var f32_sub = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* Sub */1])]); + +var f32_mul = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* Mul */2])]); + +var f32_div = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* Div */3])]); + +var f32_min = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* Min */4])]); + +var f32_max = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* Max */5])]); + +var f32_copysign = /* Binary */Block.__(19, [/* F32 */Block.__(2, [/* CopySign */6])]); + +var f64_add = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* Add */0])]); + +var f64_sub = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* Sub */1])]); + +var f64_mul = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* Mul */2])]); + +var f64_div = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* Div */3])]); + +var f64_min = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* Min */4])]); + +var f64_max = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* Max */5])]); + +var f64_copysign = /* Binary */Block.__(19, [/* F64 */Block.__(3, [/* CopySign */6])]); + +var i32_eqz = /* Test */Block.__(16, [/* I32 */Block.__(0, [/* Eqz */0])]); + +var i64_eqz = /* Test */Block.__(16, [/* I64 */Block.__(1, [/* Eqz */0])]); + +var i32_eq = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* Eq */0])]); + +var i32_ne = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* Ne */1])]); + +var i32_lt_s = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* LtS */2])]); + +var i32_lt_u = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* LtU */3])]); + +var i32_le_s = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* LeS */6])]); + +var i32_le_u = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* LeU */7])]); + +var i32_gt_s = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* GtS */4])]); + +var i32_gt_u = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* GtU */5])]); + +var i32_ge_s = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* GeS */8])]); + +var i32_ge_u = /* Compare */Block.__(17, [/* I32 */Block.__(0, [/* GeU */9])]); + +var i64_eq = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* Eq */0])]); + +var i64_ne = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* Ne */1])]); + +var i64_lt_s = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* LtS */2])]); + +var i64_lt_u = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* LtU */3])]); + +var i64_le_s = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* LeS */6])]); + +var i64_le_u = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* LeU */7])]); + +var i64_gt_s = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* GtS */4])]); + +var i64_gt_u = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* GtU */5])]); + +var i64_ge_s = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* GeS */8])]); + +var i64_ge_u = /* Compare */Block.__(17, [/* I64 */Block.__(1, [/* GeU */9])]); + +var f32_eq = /* Compare */Block.__(17, [/* F32 */Block.__(2, [/* Eq */0])]); + +var f32_ne = /* Compare */Block.__(17, [/* F32 */Block.__(2, [/* Ne */1])]); + +var f32_lt = /* Compare */Block.__(17, [/* F32 */Block.__(2, [/* Lt */2])]); + +var f32_le = /* Compare */Block.__(17, [/* F32 */Block.__(2, [/* Le */4])]); + +var f32_gt = /* Compare */Block.__(17, [/* F32 */Block.__(2, [/* Gt */3])]); + +var f32_ge = /* Compare */Block.__(17, [/* F32 */Block.__(2, [/* Ge */5])]); + +var f64_eq = /* Compare */Block.__(17, [/* F64 */Block.__(3, [/* Eq */0])]); + +var f64_ne = /* Compare */Block.__(17, [/* F64 */Block.__(3, [/* Ne */1])]); + +var f64_lt = /* Compare */Block.__(17, [/* F64 */Block.__(3, [/* Lt */2])]); + +var f64_le = /* Compare */Block.__(17, [/* F64 */Block.__(3, [/* Le */4])]); + +var f64_gt = /* Compare */Block.__(17, [/* F64 */Block.__(3, [/* Gt */3])]); + +var f64_ge = /* Compare */Block.__(17, [/* F64 */Block.__(3, [/* Ge */5])]); + +var i32_wrap_i64 = /* Convert */Block.__(20, [/* I32 */Block.__(0, [/* WrapI64 */2])]); + +var i32_trunc_s_f32 = /* Convert */Block.__(20, [/* I32 */Block.__(0, [/* TruncSF32 */3])]); + +var i32_trunc_u_f32 = /* Convert */Block.__(20, [/* I32 */Block.__(0, [/* TruncUF32 */4])]); + +var i32_trunc_s_f64 = /* Convert */Block.__(20, [/* I32 */Block.__(0, [/* TruncSF64 */5])]); + +var i32_trunc_u_f64 = /* Convert */Block.__(20, [/* I32 */Block.__(0, [/* TruncUF64 */6])]); + +var i64_extend_s_i32 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* ExtendSI32 */0])]); + +var i64_extend_u_i32 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* ExtendUI32 */1])]); + +var i64_trunc_s_f32 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* TruncSF32 */3])]); + +var i64_trunc_u_f32 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* TruncUF32 */4])]); + +var i64_trunc_s_f64 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* TruncSF64 */5])]); + +var i64_trunc_u_f64 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* TruncUF64 */6])]); + +var f32_convert_s_i32 = /* Convert */Block.__(20, [/* F32 */Block.__(2, [/* ConvertSI32 */0])]); + +var f32_convert_u_i32 = /* Convert */Block.__(20, [/* F32 */Block.__(2, [/* ConvertUI32 */1])]); + +var f32_convert_s_i64 = /* Convert */Block.__(20, [/* F32 */Block.__(2, [/* ConvertSI64 */2])]); + +var f32_convert_u_i64 = /* Convert */Block.__(20, [/* F32 */Block.__(2, [/* ConvertUI64 */3])]); + +var f32_demote_f64 = /* Convert */Block.__(20, [/* F32 */Block.__(2, [/* DemoteF64 */5])]); + +var f64_convert_s_i32 = /* Convert */Block.__(20, [/* F64 */Block.__(3, [/* ConvertSI32 */0])]); + +var f64_convert_u_i32 = /* Convert */Block.__(20, [/* F64 */Block.__(3, [/* ConvertUI32 */1])]); + +var f64_convert_s_i64 = /* Convert */Block.__(20, [/* F64 */Block.__(3, [/* ConvertSI64 */2])]); + +var f64_convert_u_i64 = /* Convert */Block.__(20, [/* F64 */Block.__(3, [/* ConvertUI64 */3])]); + +var f64_promote_f32 = /* Convert */Block.__(20, [/* F64 */Block.__(3, [/* PromoteF32 */4])]); + +var i32_reinterpret_f32 = /* Convert */Block.__(20, [/* I32 */Block.__(0, [/* ReinterpretFloat */7])]); + +var i64_reinterpret_f64 = /* Convert */Block.__(20, [/* I64 */Block.__(1, [/* ReinterpretFloat */7])]); + +var f32_reinterpret_i32 = /* Convert */Block.__(20, [/* F32 */Block.__(2, [/* ReinterpretInt */6])]); + +var f64_reinterpret_i64 = /* Convert */Block.__(20, [/* F64 */Block.__(3, [/* ReinterpretInt */6])]); + +var current_memory = /* CurrentMemory */5; + +var grow_memory = /* GrowMemory */6; + +exports.i32_const = i32_const; +exports.i64_const = i64_const; +exports.f32_const = f32_const; +exports.f64_const = f64_const; +exports.unreachable = unreachable; +exports.nop = nop; +exports.drop = drop; +exports.block = block; +exports.loop = loop; +exports.br = br; +exports.br_if = br_if; +exports.br_table = br_table; +exports.$$return = $$return; +exports.if_ = if_; +exports.select = select; +exports.call = call; +exports.call_indirect = call_indirect; +exports.get_local = get_local; +exports.set_local = set_local; +exports.tee_local = tee_local; +exports.get_global = get_global; +exports.set_global = set_global; +exports.i32_load = i32_load; +exports.i64_load = i64_load; +exports.f32_load = f32_load; +exports.f64_load = f64_load; +exports.i32_load8_s = i32_load8_s; +exports.i32_load8_u = i32_load8_u; +exports.i32_load16_s = i32_load16_s; +exports.i32_load16_u = i32_load16_u; +exports.i64_load8_s = i64_load8_s; +exports.i64_load8_u = i64_load8_u; +exports.i64_load16_s = i64_load16_s; +exports.i64_load16_u = i64_load16_u; +exports.i64_load32_s = i64_load32_s; +exports.i64_load32_u = i64_load32_u; +exports.i32_store = i32_store; +exports.i64_store = i64_store; +exports.f32_store = f32_store; +exports.f64_store = f64_store; +exports.i32_store8 = i32_store8; +exports.i32_store16 = i32_store16; +exports.i64_store8 = i64_store8; +exports.i64_store16 = i64_store16; +exports.i64_store32 = i64_store32; +exports.i32_clz = i32_clz; +exports.i32_ctz = i32_ctz; +exports.i32_popcnt = i32_popcnt; +exports.i64_clz = i64_clz; +exports.i64_ctz = i64_ctz; +exports.i64_popcnt = i64_popcnt; +exports.f32_neg = f32_neg; +exports.f32_abs = f32_abs; +exports.f32_sqrt = f32_sqrt; +exports.f32_ceil = f32_ceil; +exports.f32_floor = f32_floor; +exports.f32_trunc = f32_trunc; +exports.f32_nearest = f32_nearest; +exports.f64_neg = f64_neg; +exports.f64_abs = f64_abs; +exports.f64_sqrt = f64_sqrt; +exports.f64_ceil = f64_ceil; +exports.f64_floor = f64_floor; +exports.f64_trunc = f64_trunc; +exports.f64_nearest = f64_nearest; +exports.i32_add = i32_add; +exports.i32_sub = i32_sub; +exports.i32_mul = i32_mul; +exports.i32_div_s = i32_div_s; +exports.i32_div_u = i32_div_u; +exports.i32_rem_s = i32_rem_s; +exports.i32_rem_u = i32_rem_u; +exports.i32_and = i32_and; +exports.i32_or = i32_or; +exports.i32_xor = i32_xor; +exports.i32_shl = i32_shl; +exports.i32_shr_s = i32_shr_s; +exports.i32_shr_u = i32_shr_u; +exports.i32_rotl = i32_rotl; +exports.i32_rotr = i32_rotr; +exports.i64_add = i64_add; +exports.i64_sub = i64_sub; +exports.i64_mul = i64_mul; +exports.i64_div_s = i64_div_s; +exports.i64_div_u = i64_div_u; +exports.i64_rem_s = i64_rem_s; +exports.i64_rem_u = i64_rem_u; +exports.i64_and = i64_and; +exports.i64_or = i64_or; +exports.i64_xor = i64_xor; +exports.i64_shl = i64_shl; +exports.i64_shr_s = i64_shr_s; +exports.i64_shr_u = i64_shr_u; +exports.i64_rotl = i64_rotl; +exports.i64_rotr = i64_rotr; +exports.f32_add = f32_add; +exports.f32_sub = f32_sub; +exports.f32_mul = f32_mul; +exports.f32_div = f32_div; +exports.f32_min = f32_min; +exports.f32_max = f32_max; +exports.f32_copysign = f32_copysign; +exports.f64_add = f64_add; +exports.f64_sub = f64_sub; +exports.f64_mul = f64_mul; +exports.f64_div = f64_div; +exports.f64_min = f64_min; +exports.f64_max = f64_max; +exports.f64_copysign = f64_copysign; +exports.i32_eqz = i32_eqz; +exports.i64_eqz = i64_eqz; +exports.i32_eq = i32_eq; +exports.i32_ne = i32_ne; +exports.i32_lt_s = i32_lt_s; +exports.i32_lt_u = i32_lt_u; +exports.i32_le_s = i32_le_s; +exports.i32_le_u = i32_le_u; +exports.i32_gt_s = i32_gt_s; +exports.i32_gt_u = i32_gt_u; +exports.i32_ge_s = i32_ge_s; +exports.i32_ge_u = i32_ge_u; +exports.i64_eq = i64_eq; +exports.i64_ne = i64_ne; +exports.i64_lt_s = i64_lt_s; +exports.i64_lt_u = i64_lt_u; +exports.i64_le_s = i64_le_s; +exports.i64_le_u = i64_le_u; +exports.i64_gt_s = i64_gt_s; +exports.i64_gt_u = i64_gt_u; +exports.i64_ge_s = i64_ge_s; +exports.i64_ge_u = i64_ge_u; +exports.f32_eq = f32_eq; +exports.f32_ne = f32_ne; +exports.f32_lt = f32_lt; +exports.f32_le = f32_le; +exports.f32_gt = f32_gt; +exports.f32_ge = f32_ge; +exports.f64_eq = f64_eq; +exports.f64_ne = f64_ne; +exports.f64_lt = f64_lt; +exports.f64_le = f64_le; +exports.f64_gt = f64_gt; +exports.f64_ge = f64_ge; +exports.i32_wrap_i64 = i32_wrap_i64; +exports.i32_trunc_s_f32 = i32_trunc_s_f32; +exports.i32_trunc_u_f32 = i32_trunc_u_f32; +exports.i32_trunc_s_f64 = i32_trunc_s_f64; +exports.i32_trunc_u_f64 = i32_trunc_u_f64; +exports.i64_extend_s_i32 = i64_extend_s_i32; +exports.i64_extend_u_i32 = i64_extend_u_i32; +exports.i64_trunc_s_f32 = i64_trunc_s_f32; +exports.i64_trunc_u_f32 = i64_trunc_u_f32; +exports.i64_trunc_s_f64 = i64_trunc_s_f64; +exports.i64_trunc_u_f64 = i64_trunc_u_f64; +exports.f32_convert_s_i32 = f32_convert_s_i32; +exports.f32_convert_u_i32 = f32_convert_u_i32; +exports.f32_convert_s_i64 = f32_convert_s_i64; +exports.f32_convert_u_i64 = f32_convert_u_i64; +exports.f32_demote_f64 = f32_demote_f64; +exports.f64_convert_s_i32 = f64_convert_s_i32; +exports.f64_convert_u_i32 = f64_convert_u_i32; +exports.f64_convert_s_i64 = f64_convert_s_i64; +exports.f64_convert_u_i64 = f64_convert_u_i64; +exports.f64_promote_f32 = f64_promote_f32; +exports.i32_reinterpret_f32 = i32_reinterpret_f32; +exports.i64_reinterpret_f64 = i64_reinterpret_f64; +exports.f32_reinterpret_i32 = f32_reinterpret_i32; +exports.f64_reinterpret_i64 = f64_reinterpret_i64; +exports.current_memory = current_memory; +exports.grow_memory = grow_memory; +/* No side effect */ +//////// end of operators.js //////// +    return exports; +  }; + + + _registry['parse'] = function() { +    let exports = {}; +//////// start of parse.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Curry = require("bs-platform/lib/js/curry"); +var Lexer = require("./lexer"); +var Lexing = require("bs-platform/lib/js/lexing"); +var Parser = require("./parser"); +var Script = require("./script"); +var Source = require("./source"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); + +function parse$prime(name, lexbuf, start) { + var init = lexbuf[/* lex_curr_p */11]; + lexbuf[/* lex_curr_p */11] = /* record */[ + /* pos_fname */name, + /* pos_lnum */init[/* pos_lnum */1], + /* pos_bol */init[/* pos_bol */2], + /* pos_cnum */init[/* pos_cnum */3] + ]; + try { + return Curry._2(start, Lexer.token, lexbuf); + } + catch (exn){ + if (exn[0] === Script.Syntax) { + var region = exn[1]; + var region$prime = Caml_obj.caml_notequal(region, Source.no_region) ? region : /* record */[ + /* left */Lexer.convert_pos(lexbuf[/* lex_start_p */10]), + /* right */Lexer.convert_pos(lexbuf[/* lex_curr_p */11]) + ]; + throw [ + Script.Syntax, + region$prime, + exn[2] + ]; + } + else { + throw exn; + } + } +} + +function parse(name, lexbuf, param) { + switch (param) { + case 0 : + return parse$prime(name, lexbuf, Parser.module1); + case 1 : + return parse$prime(name, lexbuf, Parser.script); + case 2 : + return parse$prime(name, lexbuf, Parser.script1); + + } +} + +function string_to(start, s) { + var lexbuf = Lexing.from_string(s); + return parse("string", lexbuf, start); +} + +function string_to_script(s) { + return string_to(/* Script */1, s); +} + +function string_to_module(s) { + return string_to(/* Module */0, s); +} + +var Syntax = Script.Syntax; + +exports.Syntax = Syntax; +exports.parse = parse; +exports.string_to_script = string_to_script; +exports.string_to_module = string_to_module; +/* Lexer Not a pure module */ +//////// end of parse.js //////// +    return exports; +  }; + + + _registry['parser'] = function() { +    let exports = {}; +//////// start of parser.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Ast = require("./ast"); +var I32 = require("./i32"); +var Lib = require("./lib"); +var $$Map = require("bs-platform/lib/js/map"); +var List = require("bs-platform/lib/js/list"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Script = require("./script"); +var Source = require("./source"); +var $$String = require("bs-platform/lib/js/string"); +var Parsing = require("bs-platform/lib/js/parsing"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Operators = require("./operators"); +var Pervasives = require("bs-platform/lib/js/pervasives"); +var Caml_format = require("bs-platform/lib/js/caml_format"); +var Caml_builtin_exceptions = require("bs-platform/lib/js/caml_builtin_exceptions"); + +function parse_error(msg) { + var msg$1 = msg === "syntax error" ? "unexpected token" : msg; + throw [ + Script.Syntax, + Source.no_region, + msg$1 + ]; +} + +function position_to_pos(position) { + return /* record */[ + /* file */position[/* pos_fname */0], + /* line */position[/* pos_lnum */1], + /* column */position[/* pos_cnum */3] - position[/* pos_bol */2] | 0 + ]; +} + +function positions_to_region(position1, position2) { + return /* record */[ + /* left */position_to_pos(position1), + /* right */position_to_pos(position2) + ]; +} + +function at() { + return positions_to_region(Parsing.symbol_start_pos(/* () */0), Parsing.symbol_end_pos(/* () */0)); +} + +function ati(i) { + return positions_to_region(Parsing.rhs_start_pos(i), Parsing.rhs_end_pos(i)); +} + +function literal(f, s) { + try { + return Curry._1(f, s); + } + catch (exn){ + if (exn[0] === Caml_builtin_exceptions.failure) { + throw [ + Script.Syntax, + s[/* at */0], + "constant out of range" + ]; + } + else { + throw exn; + } + } +} + +function nat(s, at) { + try { + var n = Caml_format.caml_int_of_string(s); + if (n >= 0) { + return n; + } + else { + throw [ + Caml_builtin_exceptions.failure, + "" + ]; + } + } + catch (exn){ + if (exn[0] === Caml_builtin_exceptions.failure) { + throw [ + Script.Syntax, + at, + "integer constant out of range" + ]; + } + else { + throw exn; + } + } +} + +function nat32(s, at) { + try { + return Curry._1(I32.of_string_u, s); + } + catch (exn){ + if (exn[0] === Caml_builtin_exceptions.failure) { + throw [ + Script.Syntax, + at, + "i32 constant out of range" + ]; + } + else { + throw exn; + } + } +} + +var VarMap = $$Map.Make([$$String.compare]); + +function empty_context() { + return /* record */[ + /* types : record */[ + /* tmap */VarMap[/* empty */0], + /* tlist : [] */0 + ], + /* tables : record */[ + /* map */VarMap[/* empty */0], + /* count */0 + ], + /* memories : record */[ + /* map */VarMap[/* empty */0], + /* count */0 + ], + /* funcs : record */[ + /* map */VarMap[/* empty */0], + /* count */0 + ], + /* locals : record */[ + /* map */VarMap[/* empty */0], + /* count */0 + ], + /* globals : record */[ + /* map */VarMap[/* empty */0], + /* count */0 + ], + /* labels */VarMap[/* empty */0] + ]; +} + +function enter_func(c) { + return /* record */[ + /* types */c[/* types */0], + /* tables */c[/* tables */1], + /* memories */c[/* memories */2], + /* funcs */c[/* funcs */3], + /* locals : record */[ + /* map */VarMap[/* empty */0], + /* count */0 + ], + /* globals */c[/* globals */5], + /* labels */VarMap[/* empty */0] + ]; +} + +function type_(c, x) { + try { + return Curry._2(VarMap[/* find */21], x[/* it */1], c[/* types */0][/* tmap */0]); + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + throw [ + Script.Syntax, + x[/* at */0], + "unknown type " + x[/* it */1] + ]; + } + else { + throw exn; + } + } +} + +function lookup(category, space, x) { + try { + return Curry._2(VarMap[/* find */21], x[/* it */1], space[/* map */0]); + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + throw [ + Script.Syntax, + x[/* at */0], + "unknown " + (category + (" " + x[/* it */1])) + ]; + } + else { + throw exn; + } + } +} + +function func(c, x) { + return lookup("function", c[/* funcs */3], x); +} + +function local(c, x) { + return lookup("local", c[/* locals */4], x); +} + +function global(c, x) { + return lookup("global", c[/* globals */5], x); +} + +function table(c, x) { + return lookup("table", c[/* tables */1], x); +} + +function memory(c, x) { + return lookup("memory", c[/* memories */2], x); +} + +function label(c, x) { + try { + return Curry._2(VarMap[/* find */21], x[/* it */1], c[/* labels */6]); + } + catch (exn){ + if (exn === Caml_builtin_exceptions.not_found) { + throw [ + Script.Syntax, + x[/* at */0], + "unknown label " + x[/* it */1] + ]; + } + else { + throw exn; + } + } +} + +function anon_type(c, ty) { + c[/* types */0][/* tlist */1] = Pervasives.$at(c[/* types */0][/* tlist */1], /* :: */[ + ty, + /* [] */0 + ]); + return /* () */0; +} + +function bind(category, space, x) { + if (Curry._2(VarMap[/* mem */2], x[/* it */1], space[/* map */0])) { + throw [ + Script.Syntax, + x[/* at */0], + "duplicate " + (category + (" " + x[/* it */1])) + ]; + } + space[/* map */0] = Curry._3(VarMap[/* add */3], x[/* it */1], space[/* count */1], space[/* map */0]); + space[/* count */1] = space[/* count */1] + 1 | 0; + if (space[/* count */1]) { + return 0; + } + else { + throw [ + Script.Syntax, + x[/* at */0], + "too many " + (category + " bindings") + ]; + } +} + +function bind_func(c, x) { + return bind("function", c[/* funcs */3], x); +} + +function bind_local(c, x) { + return bind("local", c[/* locals */4], x); +} + +function bind_global(c, x) { + return bind("global", c[/* globals */5], x); +} + +function bind_table(c, x) { + return bind("table", c[/* tables */1], x); +} + +function bind_memory(c, x) { + return bind("memory", c[/* memories */2], x); +} + +function anon(category, space, n) { + space[/* count */1] = space[/* count */1] + n | 0; + if (Curry._2(I32.lt_u, space[/* count */1], n)) { + throw [ + Script.Syntax, + Source.no_region, + "too many " + (category + " bindings") + ]; + } + else { + return 0; + } +} + +function anon_func(c) { + return anon("function", c[/* funcs */3], 1); +} + +function anon_locals(c, ts) { + return anon("local", c[/* locals */4], Curry._1(Lib.List32[/* length */0], ts)); +} + +function anon_global(c) { + return anon("global", c[/* globals */5], 1); +} + +function anon_table(c) { + return anon("table", c[/* tables */1], 1); +} + +function anon_memory(c) { + return anon("memory", c[/* memories */2], 1); +} + +function anon_label(c) { + var newrecord = c.slice(); + newrecord[/* labels */6] = Curry._2(VarMap[/* map */22], function (param) { + return 1 + param | 0; + }, c[/* labels */6]); + return newrecord; +} + +var empty_type = /* FuncType */[ + /* [] */0, + /* [] */0 +]; + +function explicit_sig(c, var_sem, ty, at) { + var x = Curry._2(var_sem, c, type_); + if (x[/* it */1] < Curry._1(Lib.List32[/* length */0], c[/* types */0][/* tlist */1]) && Caml_obj.caml_notequal(ty, empty_type) && Caml_obj.caml_notequal(ty, Curry._2(Lib.List32[/* nth */1], c[/* types */0][/* tlist */1], x[/* it */1]))) { + throw [ + Script.Syntax, + at, + "signature mismatch" + ]; + } + return x; +} + +function inline_type(c, ty, at) { + var match = Curry._2(Lib.List[/* index_of */6], ty, c[/* types */0][/* tlist */1]); + if (match) { + return Source.$at$at(match[0], at); + } + else { + var i = Curry._1(Lib.List32[/* length */0], c[/* types */0][/* tlist */1]); + anon_type(c, ty); + return Source.$at$at(i, at); + } +} + +var yytransl_const = /* array */[ + 263, + 264, + 265, + 266, + 267, + 268, + 269, + 270, + 271, + 272, + 273, + 274, + 275, + 276, + 277, + 278, + 279, + 280, + 281, + 282, + 283, + 284, + 285, + 286, + 296, + 297, + 298, + 299, + 300, + 301, + 302, + 303, + 304, + 305, + 306, + 307, + 308, + 309, + 310, + 311, + 312, + 313, + 314, + 315, + 316, + 317, + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 0, + 0 +]; + +var yytransl_block = /* array */[ + 257, + 258, + 259, + 260, + 261, + 262, + 287, + 288, + 289, + 290, + 291, + 292, + 293, + 294, + 295, + 328, + 0 +]; + +var yyact = /* array */[ + function () { + return Pervasives.failwith("parser"); + }, + function () { + return ""; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return _1 + _2; + }, + function () { + return /* [] */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return /* :: */[ + _1, + _2 + ]; + }, + function () { + return /* AnyFuncType */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* GlobalType */[ + _1, + /* Immutable */0 + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return /* GlobalType */[ + _3, + /* Mutable */1 + ]; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 1); + }, + function () { + return /* FuncType */[ + /* [] */0, + /* [] */0 + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + var ins = _5[0]; + if (ins !== /* [] */0) { + var at$1 = at(/* () */0); + throw [ + Script.Syntax, + at$1, + "result before parameter" + ]; + } + return /* FuncType */[ + ins, + Pervasives.$at(_3, _5[1]) + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + return /* FuncType */[ + Pervasives.$at(_3, _5[0]), + _5[1] + ]; + }, + function (__caml_parser_env) { + Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _6 = Parsing.peek_val(__caml_parser_env, 0); + return /* FuncType */[ + /* :: */[ + _4, + _6[0] + ], + _6[1] + ]; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return /* TableType */[ + _1, + _2 + ]; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* MemoryType */[_1]; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* record */[ + /* min */nat32(_1, ati(1)), + /* max : None */0 + ]; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return /* record */[ + /* min */nat32(_1, ati(1)), + /* max : Some */[nat32(_2, ati(2))] + ]; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 1); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(_1, at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(_1, at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(_1, at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var at$1 = at(/* () */0); + return function (_, _$1) { + return Source.$at$at(nat32(_1, at$1), at$1); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var at$1 = at(/* () */0); + return function (c, lookup) { + return Source.$at$at(Curry._2(lookup, c, Source.$at$at(_1, at$1)), at$1); + }; + }, + function () { + return function (_, _$1) { + return /* [] */0; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c, lookup) { + return /* :: */[ + Curry._2(_1, c, lookup), + Curry._2(_2, c, lookup) + ]; + }; + }, + function () { + return function (c, anon, _) { + return Curry._1(anon, c); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function (c, _, bind) { + return Curry._2(bind, c, _1); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(_1, at(/* () */0)); + }, + function () { + return function (c, xs) { + List.iter(function (x) { + throw [ + Script.Syntax, + x[/* at */0], + "mismatching label" + ]; + }, xs); + return anon_label(c); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function (c, xs) { + List.iter(function (x) { + if (x[/* it */1] !== _1[/* it */1]) { + throw [ + Script.Syntax, + x[/* at */0], + "mismatching label" + ]; + } + else { + return 0; + } + }, xs); + var c$1 = c; + var x = _1; + var newrecord = c$1.slice(); + newrecord[/* labels */6] = Curry._3(VarMap[/* add */3], x[/* it */1], 0, Curry._2(VarMap[/* map */22], function (param) { + return 1 + param | 0; + }, c$1[/* labels */6])); + return newrecord; + }; + }, + function () { + return /* [] */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* :: */[ + _1, + /* [] */0 + ]; + }, + function () { + return 0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return nat32(_1, at(/* () */0)); + }, + function () { + return /* None */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var n = nat(_1, at(/* () */0)); + if (!Curry._1(Lib.Int[/* is_power_of_two */1], n)) { + var at$1 = at(/* () */0); + throw [ + Script.Syntax, + at$1, + "alignment must be a power of two" + ]; + } + return /* Some */[Curry._1(Lib.Int[/* log2 */0], n)]; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var at$1 = at(/* () */0); + return function (c) { + return /* :: */[ + Source.$at$at(Curry._1(_1, c), at$1), + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var at$1 = at(/* () */0); + return function (c) { + return /* :: */[ + Source.$at$at(Curry._1(_1, c), at$1), + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 0); + }, + function () { + return function () { + return Operators.unreachable; + }; + }, + function () { + return function () { + return Operators.nop; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.br(Curry._2(_2, c, label)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.br_if(Curry._2(_2, c, label)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var _3 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var match = Curry._1(Lib.List[/* split_last */5], /* :: */[ + Curry._2(_2, c, label), + Curry._2(_3, c, label) + ]); + return Operators.br_table(match[0], match[1]); + }; + }, + function () { + return function () { + return Operators.$$return; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.call(Curry._2(_2, c, func)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.call_indirect(Curry._2(_2, c, type_)); + }; + }, + function () { + return function () { + return Operators.drop; + }; + }, + function () { + return function () { + return Operators.select; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.get_local(Curry._2(_2, c, local)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.set_local(Curry._2(_2, c, local)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.tee_local(Curry._2(_2, c, local)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.get_global(Curry._2(_2, c, global)); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Operators.set_global(Curry._2(_2, c, global)); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 2); + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var _3 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return Curry._2(_1, _3, _2); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 2); + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var _3 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return Curry._2(_1, _3, _2); + }; + }, + function () { + return function () { + return Operators.current_memory; + }; + }, + function () { + return function () { + return Operators.grow_memory; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return literal(_1, _2)[0]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return _1; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return _1; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return _1; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return _1; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return function () { + return _1; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 3); + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, _5); + var match = Curry._1(_3, c$prime); + return Operators.block(match[0], match[1]); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 3); + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, _5); + var match = Curry._1(_3, c$prime); + return Operators.loop(match[0], match[1]); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 3); + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, _5); + var match = Curry._1(_3, c$prime); + return Operators.if_(match[0], match[1], /* [] */0); + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 6); + var _3 = Parsing.peek_val(__caml_parser_env, 5); + var _5 = Parsing.peek_val(__caml_parser_env, 3); + var _6 = Parsing.peek_val(__caml_parser_env, 2); + var _8 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, Pervasives.$at(_5, _8)); + var match = Curry._1(_3, c$prime); + return Operators.if_(match[0], match[1], Curry._1(_6, c$prime)); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return /* tuple */[ + _1, + Curry._1(_2, c) + ]; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + var match = Curry._1(_2, c); + return Pervasives.$at(match[0], /* :: */[ + Source.$at$at(match[1], at$1), + /* [] */0 + ]); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return /* tuple */[ + Curry._1(_2, c)[1], + Curry._1(_1, c) + ]; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var _3 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, /* [] */0); + var match = Curry._1(_3, c$prime); + return /* tuple */[ + /* [] */0, + Operators.block(match[0], match[1]) + ]; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var _3 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, /* [] */0); + var match = Curry._1(_3, c$prime); + return /* tuple */[ + /* [] */0, + Operators.loop(match[0], match[1]) + ]; + }; + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 2); + var _3 = Parsing.peek_val(__caml_parser_env, 1); + var _4 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var c$prime = Curry._2(_2, c, /* [] */0); + var match = Curry._2(_4, c, c$prime); + return /* tuple */[ + match[0], + Operators.if_(_3, match[1], match[2]) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 5); + var _7 = Parsing.peek_val(__caml_parser_env, 1); + return function (_, c$prime) { + return /* tuple */[ + /* [] */0, + Curry._1(_3, c$prime), + Curry._1(_7, c$prime) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (_, c$prime) { + return /* tuple */[ + /* [] */0, + Curry._1(_3, c$prime), + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 8); + var _4 = Parsing.peek_val(__caml_parser_env, 5); + var _8 = Parsing.peek_val(__caml_parser_env, 1); + return function (c, c$prime) { + return /* tuple */[ + Curry._1(_1, c), + Curry._1(_4, c$prime), + Curry._1(_8, c$prime) + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 4); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return function (c, c$prime) { + return /* tuple */[ + Curry._1(_1, c), + Curry._1(_4, c$prime), + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 2); + var _2 = Parsing.peek_val(__caml_parser_env, 1); + var _3 = Parsing.peek_val(__caml_parser_env, 0); + return function (c, c$prime) { + return /* tuple */[ + Curry._1(_1, c), + Curry._1(_2, c$prime), + Curry._1(_3, c$prime) + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c, c$prime) { + return /* tuple */[ + Curry._1(_1, c), + Curry._1(_2, c$prime), + /* [] */0 + ]; + }; + }, + function () { + return function () { + return /* [] */0; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + return Pervasives.$at(Curry._1(_1, c), Curry._1(_2, c)); + }; + }, + function () { + return function () { + return /* tuple */[ + 0, + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var es1 = Curry._1(_1, c); + var match = Curry._1(_2, c); + return /* tuple */[ + match[0] + 1 | 0, + Pervasives.$at(es1, match[1]) + ]; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var at$1 = at(/* () */0); + return function (c) { + return Source.$at$at(Curry._1(_1, c), at$1); + }; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 0); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + var match = _5[0]; + return /* tuple */[ + /* FuncType */[ + match[0], + Pervasives.$at(_3, match[1]) + ], + function (c) { + return Curry._1(_5[1], c); + } + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + var match = _5[0]; + return /* tuple */[ + /* FuncType */[ + Pervasives.$at(_3, match[0]), + match[1] + ], + function (c) { + anon_locals(c, _3); + return Curry._1(_5[1], c); + } + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _6 = Parsing.peek_val(__caml_parser_env, 0); + var match = _6[0]; + return /* tuple */[ + /* FuncType */[ + /* :: */[ + _4, + match[0] + ], + match[1] + ], + function (c) { + bind_local(c, _3); + return Curry._1(_6[1], c); + } + ]; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* tuple */[ + empty_type, + function (c) { + var c$prime = anon_label(c); + return /* record */[ + /* ftype */Source.$at$at(-1, at(/* () */0)), + /* locals : [] */0, + /* body */Curry._1(_1, c$prime) + ]; + } + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 0); + return /* tuple */[ + _5[0], + function (c) { + anon_locals(c, _3); + var f = Curry._1(_5[1], c); + return /* record */[ + /* ftype */f[/* ftype */0], + /* locals */Pervasives.$at(_3, f[/* locals */1]), + /* body */f[/* body */2] + ]; + } + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _6 = Parsing.peek_val(__caml_parser_env, 0); + return /* tuple */[ + _6[0], + function (c) { + bind_local(c, _3); + var f = Curry._1(_6[1], c); + return /* record */[ + /* ftype */f[/* ftype */0], + /* locals : :: */[ + _4, + f[/* locals */1] + ], + /* body */f[/* body */2] + ]; + } + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 4); + var _4 = Parsing.peek_val(__caml_parser_env, 3); + var _5 = Parsing.peek_val(__caml_parser_env, 2); + var _6 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + var t = explicit_sig(c, _5, _6[0], at$1); + return /* tuple */[ + function () { + var init = Curry._1(_6[1], enter_func(c)); + return Source.$at$at(/* record */[ + /* ftype */t, + /* locals */init[/* locals */1], + /* body */init[/* body */2] + ], at$1); + }, + Curry._3(_4, /* FuncExport */0, c[/* funcs */3][/* count */1], c) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + var t = explicit_sig(c, _4, _5[0], at$1); + return /* tuple */[ + function () { + var init = Curry._1(_5[1], enter_func(c)); + return Source.$at$at(/* record */[ + /* ftype */t, + /* locals */init[/* locals */1], + /* body */init[/* body */2] + ], at$1); + }, + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + var t = inline_type(c, _5[0], at$1); + return /* tuple */[ + function () { + var init = Curry._1(_5[1], enter_func(c)); + return Source.$at$at(/* record */[ + /* ftype */t, + /* locals */init[/* locals */1], + /* body */init[/* body */2] + ], at$1); + }, + Curry._3(_4, /* FuncExport */0, c[/* funcs */3][/* count */1], c) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + var t = inline_type(c, _4[0], at$1); + return /* tuple */[ + function () { + var init = Curry._1(_4[1], enter_func(c)); + return Source.$at$at(/* record */[ + /* ftype */t, + /* locals */init[/* locals */1], + /* body */init[/* body */2] + ], at$1); + }, + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 1); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + var at$1 = at(/* () */0); + return function (c) { + return Source.$at$at(Curry._1(_1, c), at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + return Source.$at$at(/* record */[ + /* index */Curry._2(_3, c, table), + /* offset */Curry._1(_4, c), + /* init */Curry._2(_5, c, func) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + return Source.$at$at(/* record */[ + /* index */Source.$at$at(0, at$1), + /* offset */Curry._1(_3, c), + /* init */Curry._2(_4, c, func) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_table, bind_table); + return function () { + return /* tuple */[ + Source.$at$at(/* record */[/* ttype */_5], at$1), + /* [] */0, + Curry._3(_4, /* TableExport */1, c[/* tables */1][/* count */1], c) + ]; + }; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 7); + var _4 = Parsing.peek_val(__caml_parser_env, 6); + var _5 = Parsing.peek_val(__caml_parser_env, 5); + var _8 = Parsing.peek_val(__caml_parser_env, 2); + var at$1 = at(/* () */0); + return function (c) { + var i = c[/* tables */1][/* count */1]; + Curry._3(_3, c, anon_table, bind_table); + return function () { + var init = Curry._2(_8, c, func); + var size = List.length(init); + return /* tuple */[ + Source.$at$at(/* record */[/* ttype : TableType */[ + /* record */[ + /* min */size, + /* max : Some */[size] + ], + _5 + ]], at$1), + /* :: */[ + Source.$at$at(/* record */[ + /* index */Source.$at$at(i, at$1), + /* offset */Source.$at$at(/* :: */[ + Source.$at$at(Operators.i32_const(Source.$at$at(0, at$1)), at$1), + /* [] */0 + ], at$1), + /* init */init + ], at$1), + /* [] */0 + ], + Curry._3(_4, /* TableExport */1, c[/* tables */1][/* count */1], c) + ]; + }; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + return Source.$at$at(/* record */[ + /* index */Curry._2(_3, c, memory), + /* offset */Curry._1(_4, c), + /* init */_5 + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + return Source.$at$at(/* record */[ + /* index */Source.$at$at(0, at$1), + /* offset */Curry._1(_3, c), + /* init */_4 + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_memory, bind_memory); + return /* tuple */[ + Source.$at$at(/* record */[/* mtype */_5], at$1), + /* [] */0, + Curry._3(_4, /* MemoryExport */2, c[/* memories */2][/* count */1], c) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 6); + var _4 = Parsing.peek_val(__caml_parser_env, 5); + var _7 = Parsing.peek_val(__caml_parser_env, 2); + var at$1 = at(/* () */0); + return function (c) { + var i = c[/* memories */2][/* count */1]; + Curry._3(_3, c, anon_memory, bind_memory); + var size = (_7.length + 65535 | 0) / 65536 | 0; + return /* tuple */[ + Source.$at$at(/* record */[/* mtype : MemoryType */[/* record */[ + /* min */size, + /* max : Some */[size] + ]]], at$1), + /* :: */[ + Source.$at$at(/* record */[ + /* index */Source.$at$at(i, at$1), + /* offset */Source.$at$at(/* :: */[ + Source.$at$at(Operators.i32_const(Source.$at$at(0, at$1)), at$1), + /* [] */0 + ], at$1), + /* init */_7 + ], at$1), + /* [] */0 + ], + Curry._3(_4, /* MemoryExport */2, c[/* memories */2][/* count */1], c) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 5); + var _6 = Parsing.peek_val(__caml_parser_env, 2); + var at$1 = at(/* () */0); + return function (c) { + var i = c[/* memories */2][/* count */1]; + Curry._3(_3, c, anon_memory, bind_memory); + var size = (_6.length + 65535 | 0) / 65536 | 0; + return /* tuple */[ + Source.$at$at(/* record */[/* mtype : MemoryType */[/* record */[ + /* min */size, + /* max : Some */[size] + ]]], at$1), + /* :: */[ + Source.$at$at(/* record */[ + /* index */Source.$at$at(i, at$1), + /* offset */Source.$at$at(/* :: */[ + Source.$at$at(Operators.i32_const(Source.$at$at(0, at$1)), at$1), + /* [] */0 + ], at$1), + /* init */_6 + ], at$1), + /* [] */0 + ], + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 4); + var _4 = Parsing.peek_val(__caml_parser_env, 3); + var _5 = Parsing.peek_val(__caml_parser_env, 2); + var _6 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_global, bind_global); + return /* tuple */[ + function () { + return Source.$at$at(/* record */[ + /* gtype */_5, + /* value */Curry._1(_6, c) + ], at$1); + }, + Curry._3(_4, /* GlobalExport */3, c[/* globals */5][/* count */1], c) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_global, bind_global); + return /* tuple */[ + function () { + return Source.$at$at(/* record */[ + /* gtype */_4, + /* value */Curry._1(_5, c) + ], at$1); + }, + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + return /* FuncImport */Block.__(0, [Curry._2(_4, c, type_)]); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + var at4 = ati(4); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + return /* FuncImport */Block.__(0, [inline_type(c, _4, at4)]); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + Curry._3(_3, c, anon_table, bind_table); + return /* TableImport */Block.__(1, [_4]); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + Curry._3(_3, c, anon_memory, bind_memory); + return /* MemoryImport */Block.__(2, [_4]); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + Curry._3(_3, c, anon_global, bind_global); + return /* GlobalImport */Block.__(3, [_4]); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + var at5 = ati(5); + return function (c) { + return Source.$at$at(/* record */[ + /* module_name */_3, + /* item_name */_4, + /* ikind */Source.$at$at(Curry._1(_5, c), at5) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + return Source.$at$at(/* record */[ + /* module_name */_4[0], + /* item_name */_4[1], + /* ikind */Source.$at$at(/* FuncImport */Block.__(0, [Curry._2(_5, c, type_)]), at$1) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + var at5 = ati(5); + return function (c) { + Curry._3(_3, c, anon_func, bind_func); + return Source.$at$at(/* record */[ + /* module_name */_4[0], + /* item_name */_4[1], + /* ikind */Source.$at$at(/* FuncImport */Block.__(0, [inline_type(c, _5, at5)]), at$1) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_table, bind_table); + return Source.$at$at(/* record */[ + /* module_name */_4[0], + /* item_name */_4[1], + /* ikind */Source.$at$at(/* TableImport */Block.__(1, [_5]), at$1) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_memory, bind_memory); + return Source.$at$at(/* record */[ + /* module_name */_4[0], + /* item_name */_4[1], + /* ikind */Source.$at$at(/* MemoryImport */Block.__(2, [_5]), at$1) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (c) { + Curry._3(_3, c, anon_global, bind_global); + return Source.$at$at(/* record */[ + /* module_name */_4[0], + /* item_name */_4[1], + /* ikind */Source.$at$at(/* GlobalImport */Block.__(3, [_5]), at$1) + ], at$1); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return /* tuple */[ + _3, + _4 + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + return /* tuple */[ + /* FuncExport */0, + Curry._2(_3, c, func) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + return /* tuple */[ + /* TableExport */1, + Curry._2(_3, c, table) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + return /* tuple */[ + /* MemoryExport */2, + Curry._2(_3, c, memory) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + return /* tuple */[ + /* GlobalExport */3, + Curry._2(_3, c, global) + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + var at4 = ati(4); + return function (c) { + var match = Curry._1(_4, c); + return Source.$at$at(/* record */[ + /* name */_3, + /* ekind */Source.$at$at(match[0], at4), + /* item */match[1] + ], at$1); + }; + }, + function () { + return function (_, _$1, _$2) { + return /* [] */0; + }; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 0); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + var at$1 = at(/* () */0); + return function (k, count, _) { + return /* :: */[ + Source.$at$at(/* record */[ + /* name */_3, + /* ekind */Source.$at$at(k, at$1), + /* item */Source.$at$at(count - 1 | 0, at$1) + ], at$1), + /* [] */0 + ]; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + return anon_type(c, _3); + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + var c$1 = c; + var x = _3; + var ty = _4; + if (Curry._2(VarMap[/* mem */2], x[/* it */1], c$1[/* types */0][/* tmap */0])) { + throw [ + Script.Syntax, + x[/* at */0], + "duplicate type " + x[/* it */1] + ]; + } + c$1[/* types */0][/* tmap */0] = Curry._3(VarMap[/* add */3], x[/* it */1], Curry._1(Lib.List32[/* length */0], c$1[/* types */0][/* tlist */1]), c$1[/* types */0][/* tmap */0]); + c$1[/* types */0][/* tlist */1] = Pervasives.$at(c$1[/* types */0][/* tlist */1], /* :: */[ + ty, + /* [] */0 + ]); + return /* () */0; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return function (c) { + return Curry._2(_3, c, func); + }; + }, + function () { + return function (c) { + var newrecord = Ast.empty_module.slice(); + newrecord[/* types */0] = c[/* types */0][/* tlist */1]; + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + Curry._1(_1, c); + return Curry._1(_2, c); + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var match = Curry._1(_1, c); + var m = Curry._1(_2, c); + if (m[/* imports */8] !== /* [] */0) { + var at = List.hd(m[/* imports */8])[/* at */0]; + throw [ + Script.Syntax, + at, + "import after global definition" + ]; + } + var newrecord = m.slice(); + newrecord[/* globals */1] = /* :: */[ + Curry._1(match[0], /* () */0), + m[/* globals */1] + ]; + newrecord[/* exports */9] = Pervasives.$at(match[1], m[/* exports */9]); + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var t = Curry._1(_1, c); + var m = Curry._1(_2, c); + var match = Curry._1(t, /* () */0); + if (m[/* imports */8] !== /* [] */0) { + var at = List.hd(m[/* imports */8])[/* at */0]; + throw [ + Script.Syntax, + at, + "import after table definition" + ]; + } + var newrecord = m.slice(); + newrecord[/* tables */2] = /* :: */[ + match[0], + m[/* tables */2] + ]; + newrecord[/* elems */6] = Pervasives.$at(match[1], m[/* elems */6]); + newrecord[/* exports */9] = Pervasives.$at(match[2], m[/* exports */9]); + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var match = Curry._1(_1, c); + var m = Curry._1(_2, c); + if (m[/* imports */8] !== /* [] */0) { + var at = List.hd(m[/* imports */8])[/* at */0]; + throw [ + Script.Syntax, + at, + "import after memory definition" + ]; + } + var newrecord = m.slice(); + newrecord[/* memories */3] = /* :: */[ + match[0], + m[/* memories */3] + ]; + newrecord[/* data */7] = Pervasives.$at(match[1], m[/* data */7]); + newrecord[/* exports */9] = Pervasives.$at(match[2], m[/* exports */9]); + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var match = Curry._1(_1, c); + var m = Curry._1(_2, c); + var func = Curry._1(match[0], /* () */0); + if (m[/* imports */8] !== /* [] */0) { + var at = List.hd(m[/* imports */8])[/* at */0]; + throw [ + Script.Syntax, + at, + "import after function definition" + ]; + } + var newrecord = m.slice(); + newrecord[/* funcs */4] = /* :: */[ + func, + m[/* funcs */4] + ]; + newrecord[/* exports */9] = Pervasives.$at(match[1], m[/* exports */9]); + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var m = Curry._1(_2, c); + var newrecord = m.slice(); + newrecord[/* elems */6] = /* :: */[ + Curry._1(_1, c), + m[/* elems */6] + ]; + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var m = Curry._1(_2, c); + var newrecord = m.slice(); + newrecord[/* data */7] = /* :: */[ + Curry._1(_1, c), + m[/* data */7] + ]; + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var m = Curry._1(_2, c); + var x = Curry._1(_1, c); + var match = m[/* start */5]; + if (match) { + throw [ + Script.Syntax, + x[/* at */0], + "multiple start sections" + ]; + } + else { + var newrecord = m.slice(); + newrecord[/* start */5] = /* Some */[x]; + return newrecord; + } + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var i = Curry._1(_1, c); + var m = Curry._1(_2, c); + var newrecord = m.slice(); + newrecord[/* imports */8] = /* :: */[ + i, + m[/* imports */8] + ]; + return newrecord; + }; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return function (c) { + var m = Curry._1(_2, c); + var newrecord = m.slice(); + newrecord[/* exports */9] = /* :: */[ + Curry._1(_1, c), + m[/* exports */9] + ]; + return newrecord; + }; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return /* tuple */[ + _3, + Source.$at$at(/* Textual */Block.__(0, [Source.$at$at(Curry._1(_4, empty_context(/* () */0)), at(/* () */0))]), at(/* () */0)) + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + return /* tuple */[ + _3, + Source.$at$at(/* Encoded */Block.__(1, [ + "binary", + _4 + _5 + ]), at(/* () */0)) + ]; + }, + function () { + return /* None */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* Some */[Source.$at$at(_1, at(/* () */0))]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 3); + var _4 = Parsing.peek_val(__caml_parser_env, 2); + var _5 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Invoke */Block.__(0, [ + _3, + _4, + _5 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Get */Block.__(1, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertMalformed */Block.__(0, [ + _3[1], + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertInvalid */Block.__(1, [ + _3[1], + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertSoftInvalid */Block.__(2, [ + _3[1], + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertUnlinkable */Block.__(3, [ + _3[1], + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertUninstantiable */Block.__(4, [ + _3[1], + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertReturn */Block.__(5, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertReturnNaN */Block.__(6, [_3]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertTrap */Block.__(7, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* AssertExhaustion */Block.__(8, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(/* Action */Block.__(2, [_1]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(/* Assertion */Block.__(3, [_1]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(/* Module */Block.__(0, [ + _1[0], + _1[1] + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Register */Block.__(1, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return Source.$at$at(/* Meta */Block.__(4, [_1]), at(/* () */0)); + }, + function () { + return /* [] */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return /* :: */[ + _1, + _2 + ]; + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Script */Block.__(2, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Input */Block.__(0, [ + _3, + _4 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 2); + var _4 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Output */Block.__(1, [ + _3, + /* Some */[_4] + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(/* Output */Block.__(1, [ + _3, + /* None */0 + ]), at(/* () */0)); + }, + function (__caml_parser_env) { + var _2 = Parsing.peek_val(__caml_parser_env, 2); + var _3 = Parsing.peek_val(__caml_parser_env, 1); + return Source.$at$at(literal(_2, _3)[1], ati(3)); + }, + function () { + return /* [] */0; + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 1); + var _2 = Parsing.peek_val(__caml_parser_env, 0); + return /* :: */[ + _1, + _2 + ]; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 1); + }, + function (__caml_parser_env) { + var _1 = Parsing.peek_val(__caml_parser_env, 0); + return /* :: */[ + _1, + /* [] */0 + ]; + }, + function (__caml_parser_env) { + return Parsing.peek_val(__caml_parser_env, 1)[1]; + }, + function (__caml_parser_env) { + throw [ + Parsing.YYexit, + Parsing.peek_val(__caml_parser_env, 0) + ]; + }, + function (__caml_parser_env) { + throw [ + Parsing.YYexit, + Parsing.peek_val(__caml_parser_env, 0) + ]; + }, + function (__caml_parser_env) { + throw [ + Parsing.YYexit, + Parsing.peek_val(__caml_parser_env, 0) + ]; + } +]; + +var yytables = /* record */[ + /* actions */yyact, + /* transl_const */yytransl_const, + /* transl_block */yytransl_block, + /* lhs */'\xff\xff\x04\0\x04\0\x05\0\x05\0\x06\0\x07\0\x07\0\b\0\t\0\t\0\t\0\t\0\x0b\0\r\0\f\0\f\0\x0e\0\x10\0\x10\0\x10\0\x0f\0\x0f\0\x11\0\x11\0\x12\0\x12\0\n\0\x13\0\x13\0\x14\0\x14\0\x15\0\x15\0\x16\0\x16\0\x17\0\x17\0\x17\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x18\0\x19\0\x19\0\x19\0\x19\0\x1b\0\x1a\0\x1d\0\x1d\0\x1d\0\x1d\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1f\0\x1c\0\x1c\0\x1e\0\x1e\0 \0!\0!\0!\0!\0"\0"\0"\0#\0#\0#\0#\0%\0%\0&\0&\0\'\0\'\0)\0)\0*\0*\0*\0+\0+\0,\0,\0,\0,\0,\0-\0-\0-\0-\0-\0-\0.\0/\0/\0/\0/\x000\0(\0(\0$\x001\x001\x002\x003\x003\x003\x003\x003\x003\x003\x003\x003\x003\x003\x004\x004\x005\x005\x006\x006\x008\x008\x008\x008\x008\x008\x008\x008\x008\x009\x009\x009\x009\x009\0;\0;\0:\0:\0:\0:\0<\x007\x007\0\x01\0\x02\0\x03\0\0\0\0\0\0\0', + /* len */"\x02\0\0\0\x02\0\0\0\x02\0\x01\0\x01\0\x04\0\x04\0\0\0\x05\0\x05\0\x06\0\x02\0\x01\0\x01\0\x02\0\x04\0\x01\0\x01\0\x01\0\x01\0\x01\0\0\0\x02\0\0\0\x01\0\x01\0\0\0\x01\0\0\0\x01\0\0\0\x01\0\0\0\x01\0\x01\0\x01\0\x01\0\x01\0\x01\0\x02\0\x02\0\x03\0\x01\0\x02\0\x02\0\x01\0\x01\0\x02\0\x02\0\x02\0\x02\0\x02\0\x03\0\x03\0\x01\0\x01\0\x02\0\x01\0\x01\0\x01\0\x01\0\x01\0\x05\0\x05\0\x05\0\b\0\x02\0\x03\0\x02\0\x03\0\x03\0\x04\0\b\0\x04\0\t\0\x05\0\x03\0\x02\0\0\0\x02\0\0\0\x02\0\x01\0\x01\0\x05\0\x05\0\x06\0\x01\0\x05\0\x06\0\x07\0\x06\0\x06\0\x05\0\x04\0\x01\0\x06\0\x05\0\x06\0\n\0\x06\0\x05\0\x06\0\t\0\b\0\x07\0\x06\0\x05\0\x05\0\x05\0\x05\0\x05\0\x06\0\x06\0\x06\0\x06\0\x06\0\x06\0\x05\0\x04\0\x04\0\x04\0\x04\0\x05\0\0\0\x01\0\x04\0\x04\0\x05\0\x04\0\0\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x02\0\x05\0\x06\0\0\0\x01\0\x06\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x05\0\x04\0\x05\0\x05\0\x01\0\x01\0\x01\0\x05\0\x01\0\0\0\x02\0\x05\0\x05\0\x05\0\x04\0\x04\0\0\0\x02\0\x02\0\x01\0\x02\0\x02\0\x02\0\x02\0", + /* defred */"\0\0\0\0\0\0\0\0\0\0\0\0\xaf\0\xa0\0\x9e\0\x9f\0\0\0\xa2\0\0\0\xb0\0\xad\0\0\0\xb1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xa4\0\xac\0\xae\0\x92\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9b\0\0\0\0\0\0\0\0\0\0\0\xa8\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x89\0\x8a\0\x87\0\x8b\0\x88\0\x86\0\x8d\0\x8e\0\x85\0\x8c\0\x8f\0\xa5\0\xa1\0\0\0\x94\0\x95\0\x96\0\x97\0\x98\0\0\0\x9a\0\xab\0\x99\0\x9c\0\x9d\0\xa6\0\xa7\0\x02\0\x90\0\x1b\0\x1a\0\0\0\x15\0\x16\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0a\0\0\0\0\0\0\0\x01\0\0\0\0\0\x93\0\x12\0\x13\0\x14\0\0\0\0\0(\0/\0\0\0\0\x000\0\0\0\0\0\0\0\0\0\0\0\0\0,\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0=\0>\0<\0?\0'\x008\x009\0;\0\0\0\0\0$\0%\0&\0Y\0\0\0U\0\0\0\0\0\x83\0\0\0\x81\0\0\0\x06\0\0\0\0\0\0\0\0\0\0\0\x7f\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\xa9\0\0\0\0\0\0\0\0\0\0\0\0\0\x1d\0\0\0\0\0\0\0)\0*\0\0\0-\0.\x001\x002\x003\x004\x005\0!\0\0\0\0\0:\0\0\0\0\0\0\0Q\0_\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x82\0\0\0T\0\0\0\0\0\0\0\0\0\0\0\x05\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0F\0E\0\0\0\x18\0c\0\x01\0\0\0\x0e\0\0\0\0\0\0\0g\0\0\0\0\0\0\0\0\0\0\0\0\0}\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0+\0#\x006\x007\0]\0\0\0^\0\0\0\0\0t\0s\0\b\0\0\0l\0\0\0w\0\x10\0\0\0d\0\r\0u\0G\0\0\0H\0`\0S\0b\0\0\0\x01\0h\0v\0f\0\0\0\0\0\0\0\0\0r\0\0\0\0\0\0\0\0\0\x11\0\x04\0\0\0\0\0\0\0\0\0\0\0\0\0\x80\0D\0\0\0\0\0\0\0\0\0\\\0\0\0\0\0\0\0\x07\0k\0\0\0\0\0\0\0I\0\0\0\0\0\0\0\0\0\0\0\0\0y\0|\0z\0{\0W\0\0\0\0\0V\0Z\0\0\0x\0\x1f\0@\0B\0\0\0A\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0j\0\0\0\0\0\0\0\0\0\0\0\0\0X\0[\0\0\0\x0b\0\0\0\n\0\0\0\0\0\0\0N\0i\0n\0m\0q\0o\0p\0\0\0\f\0e\0\0\0\0\0C\0\0\0\0\0\0\0\0\0\0\0\0\0J\0\0\0L\0", + /* dgoto */'\x04\0\x06\0\r\0\x10\0V\x001\x01\f\x01\xc4\0\x85\0\xff\0\x7f\0\r\x01\x0e\x01\x1d\x01\xb4\0\xd2\0\x96\0\xd3\0\x80\0\xe5\0\x88\x01\xf3\x007\x01\xb5\0\xb6\0\xb7\0\xb8\x002\x01\xb9\0\xd0\0\x15\x01u\x01\x06\x01\xba\0\xbb\x009\0\xbc\0\x8c\0:\0;\0\xc9\0<\0=\0>\0"\x01?\0\xbd\0\xdc\0@\0A\0B\0C\0\x07\0%\0\b\0M\0\t\0\n\0\x0b\0\f\0N\0', + /* sindex */'\xd4\0\x17\xff\x17\xff.\xff\0\0a\xff\0\0\0\0\0\0\0\0\x17\xff\0\0@\0\0\0\0\0"\xff\0\0l\0i\xffi\xffw\xffi\xffi\xff.\xff.\xff.\xff.\xffp\xffp\xff~\xffp\xffi\xffi\xff\0\0\0\0\0\0\0\0\xab\xff\x17\xffi\xff\x92\xff\xac\xff\xc9\xff\xd9\xff\xf6\xff\xf9\xff\f\xff\xa1\xff\xaf\xff\xfc\xfe\xfb\xff\xfe\xff\x15\0\x1c\x001\xff\0\0\x17\0\x1d\0\x1d\0\x1d\0\x1d\0\x1d\0\x1d\0\x1d\0\x1d\0\x1d\0\x1d\0\xb1\xff\xb6\xff\x11\0\xa1\xff-\x007\0=\0?\0D\0/\0J\0\xa1\xff\0\0K\0S\0d\0e\0n\0\0\0[\xffR\0\xb7\xff\xc6\xffR\0R\0\x8f\xffR\0\x8f\xffv\0w\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0y\0\0\0\0\0\0\0\0\0\0\0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x16\x02\0\0\0\0z\0V\0\x8a\0\x95\0\xe9\xff\x97\0W\x03\x98\0\0\0\xb7\xff\x99\0\x98\0\0\0\x9b\0\xa1\0\0\0\0\0\0\0\0\0\xbb\0\xd4\x02\0\0\0\0R\0R\0\0\0R\0\xb7\xff\xb7\xff\xb7\xff\xb7\xff\xb7\xff\0\0\xb7\xff\xb7\xff\xb7\xff\xb7\xff\xb7\xff\xa5\0\xa5\0\x0b\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<\x02b\x02\0\0\0\0\0\0\0\0\xbd\0\0\0\x88\x02\xbf\0\0\0\xc7\0\0\0\xd7\0\0\0\r\xffb\x02\xed\xff\xed\xff\xcd\xff\0\0u\xff\xea\0R\0R\0R\0b\x02\xe3\0\xe4\0\xb7\xff\xb7\xff\xec\0\x98\xff\xfe\0\xea\0\xea\0\0\0\x7f\xff\b\x01\xfe\xfe\t\x01\0\0\xb7\xff\x12\0\xe7\0\x12\0\x0e\x01\x10\x01\0\0\xe7\0\xe7\0\xe7\0\0\0\0\0\xb7\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xfa\0\xfa\0\0\x001\x03#\x01\xef\x03\0\0\0\0\x0b\x03<\x02-\x01\xe7\xff.\x01/\x01\x99\xff0\x01\0\0<\x01\0\0I\x01U\x01b\x02T\x01^\x01\0\0W\x01o\x01[\x01y\x01\xe7\0\xe7\0\xe7\0z\x01\xe3\0\0\0\0\0{\x01\0\0\0\0\0\0P\x01\0\0\x82\x01\x84\x01\xa9\xff\0\0d\xff\x85\x01\xb7\xff\xb7\xff\xb7\xff\xb7\xff\0\0\x95\x01\xe7\0\x9f\x01b\x01\xa0\x01\xa1\x01\xa6\x01\xaa\x01\xab\x01b\x02\xb7\x01\xe6\xff\xc1\x01\0\0\0\0\0\0\0\0\0\0\xc6\x01\0\0\x12\0\xe7\0\0\0\0\0\0\0\xc7\x01\0\0\xc8\x01\0\0\0\0\x80\x01\0\0\0\0\0\0\0\0\xcf\x01\0\0\0\0\0\0\0\0\xad\xff\0\0\0\0\0\0\0\0R\0R\0R\0R\0\0\0\xd0\x01\xd1\x01\xe1\x01\xeb\x01\0\0\0\0<\x02\xec\x01\xae\x02\xae\x02\xed\x01\xee\x01\0\0\0\0R\0R\0R\0R\0\0\0\xf6\x01\xf4\x01\xf7\x01\0\0\0\0\xb7\xff}\x03\b\x02\0\0\x11\x02\xbb\xff\xbf\0\xed\xff\xea\0\xea\0\0\0\0\0\0\0\0\0\0\0<\x02\xa3\x03\0\0\0\0\xae\x02\0\0\0\0\0\0\0\0b\x02\0\0\xc7\0\x12\x02\xc7\0\x13\x02b\x02\xc9\x03\xe3\0\0\0\x14\x02\x1a\x02\x1c\x02\x1d\x02-\x027\x02\0\0\0\x004\x02\0\0\xc7\0\0\x009\x02:\x02b\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0R\0\0\0\0\0\x17\x02@\x02\0\x005\x02C\x02b\x02L\x02]\x02b\x02\0\0^\x02\0\0', + /* rindex */"\0\0M\x03\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0O\xff\x14\0\0\0w\0w\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0w\0\xc2\xff\0\0\0\0\0\0\0\0_\x02`\x02f\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0h\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0_\x02_\x02_\x02_\x02_\x02_\x02_\x02_\x02_\x02_\x02\0\0\0\0\0\0h\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0h\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0~\x01\0\0\0\0\xf2\xffh\xff\0\0)\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\xff\0\0\0\0\0\0y\x02k\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0M\0\x16\0\0\0M\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x9a\0\x9a\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x02t\xff\0\0\0\0\0\0\0\0\0\0\0\0i\x02\x83\x02\0\0\x83\x02\0\0\0\0\0\0\0\0i\x02\0\0\0\0\0\0\0\0\0\0\0\0s\0\xf3\xffs\0i\x02\x84\x02\0\0y\x02\xc0\0\0\0\0\0\x8e\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86\x02\x86\x02\x86\x02\0\0\0\0\0\0\xa4\x01X\x01\xa4\x01\0\0\0\0\xc0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe6\0\xe6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x02\0\0\xf7\xff\0\0\0\0\0\0\0\0\0\0\xca\x01\x89\x02\xca\x01\0\0\x84\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\x01\0\0\0\0\0\0\0\0\0\0\0\0\0\0t\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x86\x02\x86\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<\0\xf2\xff\x95\x02\x95\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x02\0\0i\x02i\x02\0\0\0\0\0\0\0\x002\x012\x01\xf0\x012\x01\0\0\0\0\0\0\0\0\0\0\0\0y\x02\0\0\0\0\0\0\0\0\0\0\x83\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0i\x02\0\0\0\0\0\0i\x02\0\0\0\0\0\0\0\0\x8a\x02\0\0\x83\x02\0\0\x83\x02\0\0i\x02\0\0\xaf\xff\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x83\x02\0\0\0\0\0\0i\x02\0\0\0\0\0\0\0\0\0\0\0\0\0\x002\x01\0\0\0\0\x8f\x02\0\0\0\0\0\0\x9f\x02i\x02\0\0\0\0i\x02\0\0\0\0\0\0", + /* gindex */"\0\0\0\0\0\0\0\0x\xffD\xff\xa5\x02Q\xff.\x03F\xff\xa7\xffG\xffH\xff3\xffL\xff\xbc\xff\n\x03P\xff\xb2\xff\x80\xff\xbd\xfe\f\x03\xc4\x02\0\0\x82\xff\0\0\xa6\xffV\xffN\xff\0\0\xa8\x02\0\0B\xffR\xff\xca\xfe\0\0\xca\xff\xb5\xff\0\0\0\x002\x03\0\0\0\0\0\0\0\0\0\0\xe3\xff\0\0\0\0\0\0\0\0\xac\0t\0\x96\0\xbe\0\xf0\xff\0\0\xbc\x03\0\0!\0\0\0", + /* tablesize */1335, + /* table */'\x86\0\xa3\0\x8b\0\xf9\0\x8b\0\x02\x01\xf7\0\xd9\0\xfc\0\0\x01\x1e\x01\xcf\0\x87\0\x88\0\xfd\0\x8d\0\x13\x01\x0f\x01\x05\x01\x8f\0\x83\0\x04\x01\b\x01\t\x01\x8a\0\xcf\0\x8e\0\xe6\0\x05\x01\xe7\0\x1c\x01\x1c\x01\x05\0\x17\x01\x18\x01*\x01,\x01-\x01\x89\x01\x8a\x01\x8b\x01#\x01\x19\0!\0\x83\x01\x84\x01\x12\0$\x01\x8b\0%\x01\x19\0&\x01\x8b\0T\0n\0\x0f\0\x15\0\x16\x005\x01U\x003\x014\x01v\0\xd1\0"\0\xe4\0\xe4\0\xd8\0\xe4\0\xe2\0\xe3\0D\0\x15\0\x16\0C\x01\x10\x01\x11\x01\x12\x01:\x01\x9b\x01\x1f\x01\xc5\0\xc8\0\x91\0\x12\0K\x01\x05\x01\xd5\0\x91\0\x91\0\xe8\0\xe9\0\xea\0\xeb\0\xec\0|\0\xed\0\xee\0\xef\0\xf0\0\xf1\0}\0J\x01\xaf\x01L\x01\x19\0\xc6\0\xca\0#\0_\x01$\0\x19\0\xd7\0\x19\0\xe4\0\xe4\0\xe4\0\x14\x01\n\x01\x11\0\xcf\0.\0\xcf\0\'\0\x0b\x01\xcf\0P\0g\x01m\x01o\x01P\0|\0~\0P\0+\x011\0.\x01 \x01~\0*\0+\0,\0-\0U\x01\x81\x002\0P\x01\x12\0\x82\0V\x01F\0W\x01\x89\0X\x01(\x01\x13\0\x14\0\x15\0\x16\0\x17\0\x18\0\x19\0\x1a\0\x1b\0\x1c\0\x1d\0\x1e\0\x1f\0 \0&\0L\0(\0)\0|\0\x99\x017\0G\0|\0\x80\x01T\x018\x005\x006\0v\x01\x81\0O\0\x14\x01k\0\x82\0E\0\x95\x01|\0l\0\x98\x01\x8f\x01\x1c\x01\x96\x01\x94\x01\x91\0<\x01=\x01w\x01\x97\x01~\0\x91\0H\0\x1a\x01\x84\0\xe2\0\xe3\0\x9d\x01\x9a\x01\x9f\x01\x01\0\x02\0\x03\0\x9c\x01/\x000\x003\x004\0I\0\xa1\x01Z\x01[\x01\\\x01]\x01n\x01\xab\x01a\0b\0c\0d\0e\0f\0g\0h\0i\0j\0\xc2\0\xae\x01t\x01\xc3\0\xc2\0i\x01\xcf\0\x07\x01j\x01\x19\0\x1c\0J\0\x19\0\x1c\0K\0\x0f\0P\0\xb4\x01\x0f\0Q\0\xb7\x01\xcf\0\xe2\0\xe3\0x\x01y\x01z\x01{\x01\xa3\0\x93\0\x94\0\x95\0\x87\x01\x87\x01\x87\x01\x87\x01\xcf\0\xde\0<\x01=\x01~\0)\x01R\0\x92\x01m\0\x1c\0\x91\0\x91\0\x1c\0S\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\x008\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0o\0\xa3\x01\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0p\0W\0X\0Y\0\x19\0\x19\0q\0Z\0r\0[\0\\\0]\0^\0s\0_\0`\0\x87\x01t\0\x1c\0u\0w\0\x1c\0~\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0x\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0y\0z\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0{\0\x1c\0\x90\0\x91\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\xbf\0\x1c\0\x92\0\xbe\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\xc0\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x1c\0\x84\0\xda\0\xc7\0\x89\0\xd4\0 \0 \0 \0 \0 \0 \0 \0\xdb\0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0\x1c\0 \0 \0 \0 \0 \0 \0 \0 \0 \0\xdd\0\xf2\0\xfa\0\xfe\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x01\x01\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x03\x01 \0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\x17\0\n\x01\xf8\0)\x01\x16\x01"\0"\0"\0"\0"\0"\0"\0\x19\x01"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0"\0\x1b\x01\x17\0"\0"\0"\0"\0"\0"\0"\0"\0!\x01/\x01\'\x010\x01\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\x006\x01\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\x009\x01"\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0;\x01>\x01?\x01@\x01\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0A\x01\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0B\x01\x03\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x04\x01D\x01E\x01F\x01\x03\0\x0b\x01\x03\0\x03\0\x03\0\x03\0\x03\0a\x01\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0G\x01\x1e\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0I\x01M\x01O\x01Q\x01\x19\0\x19\0\x19\0\x19\0\x19\0R\x01\x19\0S\x01Y\x01\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0^\x01\x03\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0\x19\0`\x01b\x01c\x01d\x01\x03\0e\x01\x03\0\x03\0\x03\0\x03\0\x03\0r\x01f\x01\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0h\x01\x19\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0k\x01l\x01p\x01q\x01\x03\0\x03\0\x03\0\x03\0\x03\0s\x01\x03\0|\x01}\x01\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0~\x01\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x03\0\x7f\x01\x81\x01\x85\x01\x86\x01\x1e\0\x8d\x01\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x8c\x01\x8e\x01\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x91\x01\x03\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x1e\0\x93\x01\x9e\x01\xa0\x01\xa4\x01\x97\0\xb0\x01\x98\0\x99\0\x9a\0\xa5\x01\x9b\0\xa6\x01\xa7\x01\x9c\0\x9d\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\xa8\x01\x1e\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\xa9\x01\xaa\x01\xac\x01\xad\x01\xf6\0\xb2\x01\x98\0\x99\0\x9a\0\xb1\x01\x9b\0\xb3\x01\xa3\0\x9c\0\x9d\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\xb5\x01\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\xb6\x01\xb8\x01\x84\0\xa3\0\xf8\0~\0\x98\0\x99\0\x9a\0\x91\0\x9b\0\xaa\0P\0\x9c\0\x9d\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\x17\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\t\0R\0\x7f\0\x03\0\xfb\0\x03\0\x98\0\x99\0\x9a\0\x19\0\x9b\0P\0K\0\x9c\0\x9d\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0M\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0H\x01\xc1\0\xf5\0\xf4\0\x82\x018\x01\x98\0\x99\0\x9a\0N\x01\x9b\0\x0e\0\xd6\0\x9c\0\x9d\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\0\x99\0\xcb\0\0\0\xcc\0\0\0\0\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\xde\0\xdf\0\xe0\0\xe1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xe2\0\xe3\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\0\x99\0\xcb\0\0\0\xcc\0\0\0\xb3\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\0\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\xde\0\xdf\0\xe0\0\xe1\0\x98\0\x99\0\xcb\0\0\0\xcc\0\0\0\0\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\xdf\0\xe0\0\xe1\0\x98\0\x99\0\xcb\0\0\0\xcc\0\0\0\0\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\0\x99\0\xcb\0\0\0\xcc\0\x90\x01\xce\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\0\x99\0\xcb\0\0\0\xcc\0\0\0\0\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\0\0\0\0\xe1\0\x98\0\x99\0\xcb\0\0\0\xcc\0\xa2\x01\0\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\0\0\0\0\0\0\x98\0\x99\0\xcb\0\0\0\xcc\0\0\0\0\0\x9c\0\xcd\0\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\xa3\0\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\xa9\0\xaa\0\0\0\xb3\0\xab\0\xac\0\xad\0\xae\0\xaf\0\xb0\0\xb1\0\xb2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\xb3\0', + /* check */"Y\0\0\0\\\0\xb5\0^\0\xbf\0\xb4\0\x8f\0\xbc\0\xbd\0\xd7\0\x89\0Z\0[\0\xbc\0]\0\xce\0\xca\0\xc4\0^\0X\0\b\x01\xc5\0\xc6\0\\\0\x97\0^\0\x9b\0\xce\0\x9d\0\xd6\0\xd7\0\t\x01\xd1\0\xd2\0\xdf\0\xe0\0\xe1\0i\x01j\x01k\x01+\x01\x01\x01\n\0b\x01c\x012\x011\x01\x8a\x003\x01\t\x015\x01\x8e\0\x04\x01F\0\t\x01<\x01=\x01\xea\0\n\x01\xe6\0\xe7\0N\0\x8a\0\0\0\x9a\0\x9b\0\x8e\0\x9d\x008\x019\x01&\0<\x01=\x01\b\x01\xcb\0\xcc\0\xcd\0\xfc\0\x85\x01\xd8\0\x87\0\x88\0\x04\x012\x01\x11\x01\b\x01\x8d\0\t\x01\n\x01\x9e\0\x9f\0\xa0\0\xa1\0\xa2\0\x04\x01\xa4\0\xa5\0\xa6\0\xa7\0\xa8\0\n\x01\x10\x01\xaa\x01\x12\x01\x01\x01\x87\0\x88\0\0\0)\x01\x05\x01\x07\x01\x8d\0\t\x01\xcb\0\xcc\0\xcd\0\xcf\0\x01\x01\x03\0\xf6\0\t\x01\xf8\0\x04\x01\x07\x01\xfb\0\n\x011\x01<\x01=\x01\x0e\x01\x04\x01\x01\x01\x11\x01\xdf\0\t\x01\xe1\0\n\x01\x07\x01\x17\0\x18\0\x19\0\x1a\0+\x01\x01\x01\x1d\0\x1a\x012\x01\x05\x011\x01\x04\x013\x01\t\x015\x01\xde\0:\x01;\x01<\x01=\x01>\x01?\x01@\x01A\x01B\x01C\x01D\x01E\x01F\x01G\x01\x13\0\t\x01\x15\0\x16\0\x04\x01{\x01\x04\x01\x04\x01\x04\x01`\x01\n\x01\t\x01\x1f\0 \0\n\x01\x01\x01\n\x01\x14\x01\n\x01\x05\x01'\0x\x01\x04\x01\n\x01z\x01r\x01{\x01x\x01\n\x01\x04\x01.\x01/\x01Q\x01y\x01\x05\x01\n\x01\x04\x016\x01\t\x018\x019\x01\x8c\x01\x81\x01\x8e\x01\x01\0\x02\0\x03\0\x8a\x01\x1b\0\x1c\0\x1d\0\x1e\0\x04\x01\x90\x01#\x01$\x01%\x01&\x01<\x01\x9e\x019\0:\0;\0<\0=\0>\0?\0@\0A\0B\0\x06\x01\xa2\x01K\x01\t\x01\x06\x01\x0e\x01s\x01\t\x01\x11\x01\x06\x01\x06\x01\x04\x01\t\x01\t\x01\x04\x01\x07\x01\x04\x01\xb2\x01\n\x01\x04\x01\xb5\x01\x82\x018\x019\x01U\x01V\x01W\x01X\x01\n\x01\x01\x01\x02\x01\x03\x01h\x01i\x01j\x01k\x01\x91\x01-\x01.\x01/\x01\x05\x01\x06\x01\x04\x01t\x01\n\x01\x06\x01\t\x01\n\x01\t\x01\x04\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\t\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01\x92\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01+\x01,\x01-\x01\t\x01\n\x01\n\x011\x01\n\x013\x014\x015\x016\x01\n\x018\x019\x01\xaa\x01#\x01\x06\x01\n\x01\n\x01\t\x01\x05\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\n\x01H\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01\n\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\x06\x01\x04\x01\x04\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01+\x01\x0f\x01\n\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\t\x01\x04\x01\t\x01\t\x01\t\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\t\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01H\x01\"\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01!\x01\n\x01\t\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\t\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\x01\x01\t\x01\x06\x01\n\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\n\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\t\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\t\x01\x04\x01\n\x01\x04\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\"\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\n\x01\n\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\x06\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\b\x01\n\x01\x01\x01\t\x01\t\x01\x07\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\x06\x01\x11\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\n\x016\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\n\x01\x0f\x01\n\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\n\x01\x06\x01\t\x01\x04\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x014\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\x0e\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\x0e\x01\n\x01\n\x01\n\x01\t\x01\n\x01\x0b\x01\f\x01\r\x01\t\x01\x0f\x01\n\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\n\x01\n\x01\t\x01\x06\x01\x0b\x01\f\x01\r\x01\x0e\x01\x0f\x01\n\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\t\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\n\x01\n\x01\t\x01\t\x01\x0b\x01\f\x01\r\x01\n\x01\x0f\x01\n\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\x0e\x01\n\x01\n\x01\t\x01\x11\x01\x0b\x01\f\x01\r\x01\n\x01\x0f\x01\t\x01\0\0\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\x11\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\n\x01\n\x01\t\x01\x01\x01\x0b\x01\f\x01\r\x01\n\x01\x0f\x01\n\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\n\x01\n\x01\x01\x01\n\x01\t\x01\t\x01\x0b\x01\f\x01\r\x01\x01\x01\x0f\x01\x0e\x01\n\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\n\x01H\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\x0e\x01\x86\0\xab\0\xaa\0\t\x01\xf4\0\x0b\x01\f\x01\r\x01\x14\x01\x0f\x01\x02\0\x8d\0\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\xff\xff\xff\xff\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff-\x01.\x01/\x010\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff8\x019\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\xff\xffH\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xff\xff\xff#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff-\x01.\x01/\x010\x01\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\xff\xff\xff\xff\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff.\x01/\x010\x01\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\xff\xff\xff\xff\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\x10\x017\x01\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\xff\xff\xff\xff\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff0\x01\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\x10\x01\xff\xff\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x0b\x01\f\x01\r\x01\xff\xff\x0f\x01\xff\xff\xff\xff\x12\x01\x13\x01\x14\x01\x15\x01\x16\x01\x17\x01\x18\x01\x19\x01\x1a\x01\x1b\x01\x1c\x01\x1d\x01\x1e\x01\x1f\x01 \x01\xff\xffH\x01#\x01$\x01%\x01&\x01'\x01(\x01)\x01*\x01\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xffH\x01", + /* error_function */parse_error, + /* names_const */"ANYFUNC\0MUT\0LPAR\0RPAR\0NOP\0DROP\0BLOCK\0END\0IF\0THEN\0ELSE\0SELECT\0LOOP\0BR\0BR_IF\0BR_TABLE\0CALL\0CALL_INDIRECT\0RETURN\0GET_LOCAL\0SET_LOCAL\0TEE_LOCAL\0GET_GLOBAL\0SET_GLOBAL\0UNREACHABLE\0CURRENT_MEMORY\0GROW_MEMORY\0FUNC\0START\0TYPE\0PARAM\0RESULT\0LOCAL\0GLOBAL\0MODULE\0TABLE\0ELEM\0MEMORY\0DATA\0OFFSET\0IMPORT\0EXPORT\0SCRIPT\0REGISTER\0INVOKE\0GET\0ASSERT_MALFORMED\0ASSERT_INVALID\0ASSERT_SOFT_INVALID\0ASSERT_UNLINKABLE\0ASSERT_RETURN\0ASSERT_RETURN_NAN\0ASSERT_TRAP\0ASSERT_EXHAUSTION\0INPUT\0OUTPUT\0EOF\0", + /* names_block */"NAT\0INT\0FLOAT\0TEXT\0VAR\0VALUE_TYPE\0LOAD\0STORE\0OFFSET_EQ_NAT\0ALIGN_EQ_NAT\0CONST\0UNARY\0BINARY\0COMPARE\0CONVERT\0TEST\0" +]; + +function script(lexfun, lexbuf) { + return Parsing.yyparse(yytables, 1, lexfun, lexbuf); +} + +function script1(lexfun, lexbuf) { + return Parsing.yyparse(yytables, 2, lexfun, lexbuf); +} + +function module1(lexfun, lexbuf) { + return Parsing.yyparse(yytables, 3, lexfun, lexbuf); +} + +exports.script = script; +exports.script1 = script1; +exports.module1 = module1; +/* VarMap Not a pure module */ +//////// end of parser.js //////// +    return exports; +  }; + + + _registry['parsing'] = function() { +    let exports = {}; +//////// start of parsing.js //////// +'use strict'; + +var $$Array = require("./array"); +var Curry = require("./curry"); +var Lexing = require("./lexing"); +var Caml_obj = require("./caml_obj"); +var Caml_array = require("./caml_array"); +var Caml_parser = require("./caml_parser"); +var Caml_exceptions = require("./caml_exceptions"); + +var YYexit = Caml_exceptions.create("Parsing.YYexit"); + +var Parse_error = Caml_exceptions.create("Parsing.Parse_error"); + +var env = /* record */[ + /* s_stack */Caml_array.caml_make_vect(100, 0), + /* v_stack */Caml_array.caml_make_vect(100, /* () */0), + /* symb_start_stack */Caml_array.caml_make_vect(100, Lexing.dummy_pos), + /* symb_end_stack */Caml_array.caml_make_vect(100, Lexing.dummy_pos), + /* stacksize */100, + /* stackbase */0, + /* curr_char */0, + /* lval : () */0, + /* symb_start */Lexing.dummy_pos, + /* symb_end */Lexing.dummy_pos, + /* asp */0, + /* rule_len */0, + /* rule_number */0, + /* sp */0, + /* state */0, + /* errflag */0 +]; + +function grow_stacks() { + var oldsize = env[/* stacksize */4]; + var newsize = (oldsize << 1); + var new_s = Caml_array.caml_make_vect(newsize, 0); + var new_v = Caml_array.caml_make_vect(newsize, /* () */0); + var new_start = Caml_array.caml_make_vect(newsize, Lexing.dummy_pos); + var new_end = Caml_array.caml_make_vect(newsize, Lexing.dummy_pos); + $$Array.blit(env[/* s_stack */0], 0, new_s, 0, oldsize); + env[/* s_stack */0] = new_s; + $$Array.blit(env[/* v_stack */1], 0, new_v, 0, oldsize); + env[/* v_stack */1] = new_v; + $$Array.blit(env[/* symb_start_stack */2], 0, new_start, 0, oldsize); + env[/* symb_start_stack */2] = new_start; + $$Array.blit(env[/* symb_end_stack */3], 0, new_end, 0, oldsize); + env[/* symb_end_stack */3] = new_end; + env[/* stacksize */4] = newsize; + return /* () */0; +} + +function clear_parser() { + $$Array.fill(env[/* v_stack */1], 0, env[/* stacksize */4], /* () */0); + env[/* lval */7] = /* () */0; + return /* () */0; +} + +var current_lookahead_fun = [function () { + return /* false */0; + }]; + +function yyparse(tables, start, lexer, lexbuf) { + var init_asp = env[/* asp */10]; + var init_sp = env[/* sp */13]; + var init_stackbase = env[/* stackbase */5]; + var init_state = env[/* state */14]; + var init_curr_char = env[/* curr_char */6]; + var init_lval = env[/* lval */7]; + var init_errflag = env[/* errflag */15]; + env[/* stackbase */5] = env[/* sp */13] + 1 | 0; + env[/* curr_char */6] = start; + env[/* symb_end */9] = lexbuf[/* lex_curr_p */11]; + try { + var _cmd = /* Start */0; + var _arg = /* () */0; + while(true) { + var arg = _arg; + var cmd = _cmd; + var match = Caml_parser.caml_parse_engine(tables, env, cmd, arg); + switch (match) { + case 0 : + var t = Curry._1(lexer, lexbuf); + env[/* symb_start */8] = lexbuf[/* lex_start_p */10]; + env[/* symb_end */9] = lexbuf[/* lex_curr_p */11]; + _arg = t; + _cmd = /* Token_read */1; + continue ; + case 1 : + throw Parse_error; + case 2 : + grow_stacks(/* () */0); + _arg = /* () */0; + _cmd = /* Stacks_grown_1 */2; + continue ; + case 3 : + grow_stacks(/* () */0); + _arg = /* () */0; + _cmd = /* Stacks_grown_2 */3; + continue ; + case 4 : + var match$1; + try { + match$1 = /* tuple */[ + /* Semantic_action_computed */4, + Curry._1(tables[/* actions */0][env[/* rule_number */12]], env) + ]; + } + catch (exn){ + if (exn === Parse_error) { + match$1 = /* tuple */[ + /* Error_detected */5, + /* () */0 + ]; + } + else { + throw exn; + } + } + _arg = match$1[1]; + _cmd = match$1[0]; + continue ; + case 5 : + Curry._1(tables[/* error_function */13], "syntax error"); + _arg = /* () */0; + _cmd = /* Error_detected */5; + continue ; + + } + }; + } + catch (exn$1){ + var curr_char = env[/* curr_char */6]; + env[/* asp */10] = init_asp; + env[/* sp */13] = init_sp; + env[/* stackbase */5] = init_stackbase; + env[/* state */14] = init_state; + env[/* curr_char */6] = init_curr_char; + env[/* lval */7] = init_lval; + env[/* errflag */15] = init_errflag; + if (exn$1[0] === YYexit) { + return exn$1[1]; + } + else { + current_lookahead_fun[0] = function (tok) { + if (tok.length !== undefined) { + return +(tables[/* transl_block */2][tok.tag | 0] === curr_char); + } + else { + return +(tables[/* transl_const */1][tok] === curr_char); + } + }; + throw exn$1; + } + } +} + +function peek_val(env, n) { + return env[/* v_stack */1][env[/* asp */10] - n | 0]; +} + +function symbol_start_pos() { + var _i = env[/* rule_len */11]; + while(true) { + var i = _i; + if (i <= 0) { + return env[/* symb_end_stack */3][env[/* asp */10]]; + } + else { + var st = env[/* symb_start_stack */2][(env[/* asp */10] - i | 0) + 1 | 0]; + var en = env[/* symb_end_stack */3][(env[/* asp */10] - i | 0) + 1 | 0]; + if (Caml_obj.caml_notequal(st, en)) { + return st; + } + else { + _i = i - 1 | 0; + continue ; + + } + } + }; +} + +function symbol_end_pos() { + return env[/* symb_end_stack */3][env[/* asp */10]]; +} + +function rhs_start_pos(n) { + return env[/* symb_start_stack */2][env[/* asp */10] - (env[/* rule_len */11] - n | 0) | 0]; +} + +function rhs_end_pos(n) { + return env[/* symb_end_stack */3][env[/* asp */10] - (env[/* rule_len */11] - n | 0) | 0]; +} + +function symbol_start() { + return symbol_start_pos(/* () */0)[/* pos_cnum */3]; +} + +function symbol_end() { + return symbol_end_pos(/* () */0)[/* pos_cnum */3]; +} + +function rhs_start(n) { + return rhs_start_pos(n)[/* pos_cnum */3]; +} + +function rhs_end(n) { + return rhs_end_pos(n)[/* pos_cnum */3]; +} + +function is_current_lookahead(tok) { + return Curry._1(current_lookahead_fun[0], tok); +} + +function parse_error() { + return /* () */0; +} + +var set_trace = Caml_parser.caml_set_parser_trace; + +exports.symbol_start = symbol_start; +exports.symbol_end = symbol_end; +exports.rhs_start = rhs_start; +exports.rhs_end = rhs_end; +exports.symbol_start_pos = symbol_start_pos; +exports.symbol_end_pos = symbol_end_pos; +exports.rhs_start_pos = rhs_start_pos; +exports.rhs_end_pos = rhs_end_pos; +exports.clear_parser = clear_parser; +exports.Parse_error = Parse_error; +exports.set_trace = set_trace; +exports.YYexit = YYexit; +exports.yyparse = yyparse; +exports.peek_val = peek_val; +exports.is_current_lookahead = is_current_lookahead; +exports.parse_error = parse_error; +/* No side effect */ +//////// end of parsing.js //////// +    return exports; +  }; + + + _registry['pervasives'] = function() { +    let exports = {}; +//////// start of pervasives.js //////// +'use strict'; + +var Curry = require("./curry"); +var Caml_io = require("./caml_io"); +var Caml_obj = require("./caml_obj"); +var Caml_format = require("./caml_format"); +var Caml_string = require("./caml_string"); +var Caml_exceptions = require("./caml_exceptions"); +var Caml_builtin_exceptions = require("./caml_builtin_exceptions"); +var CamlinternalFormatBasics = require("./camlinternalFormatBasics"); + +function failwith(s) { + throw [ + Caml_builtin_exceptions.failure, + s + ]; +} + +function invalid_arg(s) { + throw [ + Caml_builtin_exceptions.invalid_argument, + s + ]; +} + +var Exit = Caml_exceptions.create("Pervasives.Exit"); + +function min(x, y) { + if (Caml_obj.caml_lessequal(x, y)) { + return x; + } + else { + return y; + } +} + +function max(x, y) { + if (Caml_obj.caml_greaterequal(x, y)) { + return x; + } + else { + return y; + } +} + +function abs(x) { + if (x >= 0) { + return x; + } + else { + return -x | 0; + } +} + +function lnot(x) { + return x ^ -1; +} + +var min_int = -2147483648; + +function $caret(a, b) { + return a + b; +} + +function char_of_int(n) { + if (n < 0 || n > 255) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "char_of_int" + ]; + } + else { + return n; + } +} + +function string_of_bool(b) { + if (b) { + return "true"; + } + else { + return "false"; + } +} + +function bool_of_string(param) { + switch (param) { + case "false" : + return /* false */0; + case "true" : + return /* true */1; + default: + throw [ + Caml_builtin_exceptions.invalid_argument, + "bool_of_string" + ]; + } +} + +function string_of_int(param) { + return "" + param; +} + +function valid_float_lexem(s) { + var l = s.length; + var _i = 0; + while(true) { + var i = _i; + if (i >= l) { + return $caret(s, "."); + } + else { + var match = Caml_string.get(s, i); + if (match >= 48) { + if (match >= 58) { + return s; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + else if (match !== 45) { + return s; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + }; +} + +function string_of_float(f) { + return valid_float_lexem(Caml_format.caml_format_float("%.12g", f)); +} + +function $at(l1, l2) { + if (l1) { + return /* :: */[ + l1[0], + $at(l1[1], l2) + ]; + } + else { + return l2; + } +} + +var stdin = Caml_io.stdin; + +var stdout = Caml_io.stdout; + +var stderr = Caml_io.stderr; + +function open_out_gen(_, _$1, _$2) { + return Caml_io.caml_ml_open_descriptor_out(function () { + throw "caml_sys_open not implemented by bucklescript yet\n"; + }()); +} + +function open_out(name) { + return open_out_gen(/* :: */[ + /* Open_wronly */1, + /* :: */[ + /* Open_creat */3, + /* :: */[ + /* Open_trunc */4, + /* :: */[ + /* Open_text */7, + /* [] */0 + ] + ] + ] + ], 438, name); +} + +function open_out_bin(name) { + return open_out_gen(/* :: */[ + /* Open_wronly */1, + /* :: */[ + /* Open_creat */3, + /* :: */[ + /* Open_trunc */4, + /* :: */[ + /* Open_binary */6, + /* [] */0 + ] + ] + ] + ], 438, name); +} + +function flush_all() { + var _param = Caml_io.caml_ml_out_channels_list(/* () */0); + while(true) { + var param = _param; + if (param) { + try { + Caml_io.caml_ml_flush(param[0]); + } + catch (exn){ + + } + _param = param[1]; + continue ; + + } + else { + return /* () */0; + } + }; +} + +function output_bytes(oc, s) { + return Caml_io.caml_ml_output(oc, s, 0, s.length); +} + +function output_string(oc, s) { + return Caml_io.caml_ml_output(oc, s, 0, s.length); +} + +function output(oc, s, ofs, len) { + if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "output" + ]; + } + else { + return Caml_io.caml_ml_output(oc, s, ofs, len); + } +} + +function output_substring(oc, s, ofs, len) { + if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "output_substring" + ]; + } + else { + return Caml_io.caml_ml_output(oc, s, ofs, len); + } +} + +function output_value(_, _$1) { + return function () { + throw "caml_output_value not implemented by bucklescript yet\n"; + }(); +} + +function close_out(oc) { + Caml_io.caml_ml_flush(oc); + return function () { + throw "caml_ml_close_channel not implemented by bucklescript yet\n"; + }(); +} + +function close_out_noerr(oc) { + try { + Caml_io.caml_ml_flush(oc); + } + catch (exn){ + + } + try { + return function () { + throw "caml_ml_close_channel not implemented by bucklescript yet\n"; + }(); + } + catch (exn$1){ + return /* () */0; + } +} + +function open_in_gen(_, _$1, _$2) { + return Caml_io.caml_ml_open_descriptor_in(function () { + throw "caml_sys_open not implemented by bucklescript yet\n"; + }()); +} + +function open_in(name) { + return open_in_gen(/* :: */[ + /* Open_rdonly */0, + /* :: */[ + /* Open_text */7, + /* [] */0 + ] + ], 0, name); +} + +function open_in_bin(name) { + return open_in_gen(/* :: */[ + /* Open_rdonly */0, + /* :: */[ + /* Open_binary */6, + /* [] */0 + ] + ], 0, name); +} + +function input(_, s, ofs, len) { + if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "input" + ]; + } + else { + return function () { + throw "caml_ml_input not implemented by bucklescript yet\n"; + }(); + } +} + +function unsafe_really_input(_, _$1, _ofs, _len) { + while(true) { + var len = _len; + var ofs = _ofs; + if (len <= 0) { + return /* () */0; + } + else { + var r = function () { + throw "caml_ml_input not implemented by bucklescript yet\n"; + }(); + if (r) { + _len = len - r | 0; + _ofs = ofs + r | 0; + continue ; + + } + else { + throw Caml_builtin_exceptions.end_of_file; + } + } + }; +} + +function really_input(ic, s, ofs, len) { + if (ofs < 0 || len < 0 || ofs > (s.length - len | 0)) { + throw [ + Caml_builtin_exceptions.invalid_argument, + "really_input" + ]; + } + else { + return unsafe_really_input(ic, s, ofs, len); + } +} + +function really_input_string(ic, len) { + var s = Caml_string.caml_create_string(len); + really_input(ic, s, 0, len); + return Caml_string.bytes_to_string(s); +} + +function input_line(chan) { + var build_result = function (buf, _pos, _param) { + while(true) { + var param = _param; + var pos = _pos; + if (param) { + var hd = param[0]; + var len = hd.length; + Caml_string.caml_blit_bytes(hd, 0, buf, pos - len | 0, len); + _param = param[1]; + _pos = pos - len | 0; + continue ; + + } + else { + return buf; + } + }; + }; + var scan = function (_accu, _len) { + while(true) { + var len = _len; + var accu = _accu; + var n = function () { + throw "caml_ml_input_scan_line not implemented by bucklescript yet\n"; + }(); + if (n) { + if (n > 0) { + var res = Caml_string.caml_create_string(n - 1 | 0); + (function () { + throw "caml_ml_input not implemented by bucklescript yet\n"; + }()); + Caml_io.caml_ml_input_char(chan); + if (accu) { + var len$1 = (len + n | 0) - 1 | 0; + return build_result(Caml_string.caml_create_string(len$1), len$1, /* :: */[ + res, + accu + ]); + } + else { + return res; + } + } + else { + var beg = Caml_string.caml_create_string(-n | 0); + (function () { + throw "caml_ml_input not implemented by bucklescript yet\n"; + }()); + _len = len - n | 0; + _accu = /* :: */[ + beg, + accu + ]; + continue ; + + } + } + else if (accu) { + return build_result(Caml_string.caml_create_string(len), len, accu); + } + else { + throw Caml_builtin_exceptions.end_of_file; + } + }; + }; + return Caml_string.bytes_to_string(scan(/* [] */0, 0)); +} + +function close_in_noerr() { + try { + return function () { + throw "caml_ml_close_channel not implemented by bucklescript yet\n"; + }(); + } + catch (exn){ + return /* () */0; + } +} + +function print_char(c) { + return Caml_io.caml_ml_output_char(stdout, c); +} + +function print_string(s) { + return output_string(stdout, s); +} + +function print_bytes(s) { + return output_bytes(stdout, s); +} + +function print_int(i) { + return output_string(stdout, "" + i); +} + +function print_float(f) { + return output_string(stdout, valid_float_lexem(Caml_format.caml_format_float("%.12g", f))); +} + +function print_endline(param) { + console.log(param); + return 0; +} + +function print_newline() { + Caml_io.caml_ml_output_char(stdout, /* "\n" */10); + return Caml_io.caml_ml_flush(stdout); +} + +function prerr_char(c) { + return Caml_io.caml_ml_output_char(stderr, c); +} + +function prerr_string(s) { + return output_string(stderr, s); +} + +function prerr_bytes(s) { + return output_bytes(stderr, s); +} + +function prerr_int(i) { + return output_string(stderr, "" + i); +} + +function prerr_float(f) { + return output_string(stderr, valid_float_lexem(Caml_format.caml_format_float("%.12g", f))); +} + +function prerr_endline(param) { + console.error(param); + return 0; +} + +function prerr_newline() { + Caml_io.caml_ml_output_char(stderr, /* "\n" */10); + return Caml_io.caml_ml_flush(stderr); +} + +function read_line() { + Caml_io.caml_ml_flush(stdout); + return input_line(stdin); +} + +function read_int() { + return Caml_format.caml_int_of_string((Caml_io.caml_ml_flush(stdout), input_line(stdin))); +} + +function read_float() { + return Caml_format.caml_float_of_string((Caml_io.caml_ml_flush(stdout), input_line(stdin))); +} + +function string_of_format(param) { + return param[1]; +} + +function $caret$caret(param, param$1) { + return /* Format */[ + CamlinternalFormatBasics.concat_fmt(param[0], param$1[0]), + $caret(param[1], $caret("%,", param$1[1])) + ]; +} + +var exit_function = [flush_all]; + +function at_exit(f) { + var g = exit_function[0]; + exit_function[0] = function () { + Curry._1(f, /* () */0); + return Curry._1(g, /* () */0); + }; + return /* () */0; +} + +function do_at_exit() { + return Curry._1(exit_function[0], /* () */0); +} + +function exit() { + do_at_exit(/* () */0); + return function () { + throw "caml_sys_exit not implemented by bucklescript yet\n"; + }(); +} + +var max_int = 2147483647; + +var infinity = Infinity; + +var neg_infinity = -Infinity; + +var nan = NaN; + +var max_float = Number.MAX_VALUE; + +var min_float = Number.MIN_VALUE; + +var epsilon_float = 2.220446049250313e-16; + +var flush = Caml_io.caml_ml_flush; + +var output_char = Caml_io.caml_ml_output_char; + +var output_byte = Caml_io.caml_ml_output_char; + +function output_binary_int(_, _$1) { + return function () { + throw "caml_ml_output_int not implemented by bucklescript yet\n"; + }(); +} + +function seek_out(_, _$1) { + return function () { + throw "caml_ml_seek_out not implemented by bucklescript yet\n"; + }(); +} + +function pos_out() { + return function () { + throw "caml_ml_pos_out not implemented by bucklescript yet\n"; + }(); +} + +function out_channel_length() { + return function () { + throw "caml_ml_channel_size not implemented by bucklescript yet\n"; + }(); +} + +function set_binary_mode_out(_, _$1) { + return function () { + throw "caml_ml_set_binary_mode not implemented by bucklescript yet\n"; + }(); +} + +var input_char = Caml_io.caml_ml_input_char; + +var input_byte = Caml_io.caml_ml_input_char; + +function input_binary_int() { + return function () { + throw "caml_ml_input_int not implemented by bucklescript yet\n"; + }(); +} + +function input_value() { + return function () { + throw "caml_input_value not implemented by bucklescript yet\n"; + }(); +} + +function seek_in(_, _$1) { + return function () { + throw "caml_ml_seek_in not implemented by bucklescript yet\n"; + }(); +} + +function pos_in() { + return function () { + throw "caml_ml_pos_in not implemented by bucklescript yet\n"; + }(); +} + +function in_channel_length() { + return function () { + throw "caml_ml_channel_size not implemented by bucklescript yet\n"; + }(); +} + +function close_in() { + return function () { + throw "caml_ml_close_channel not implemented by bucklescript yet\n"; + }(); +} + +function set_binary_mode_in(_, _$1) { + return function () { + throw "caml_ml_set_binary_mode not implemented by bucklescript yet\n"; + }(); +} + +function LargeFile_000(_, _$1) { + return function () { + throw "caml_ml_seek_out_64 not implemented by bucklescript yet\n"; + }(); +} + +function LargeFile_001() { + return function () { + throw "caml_ml_pos_out_64 not implemented by bucklescript yet\n"; + }(); +} + +function LargeFile_002() { + return function () { + throw "caml_ml_channel_size_64 not implemented by bucklescript yet\n"; + }(); +} + +function LargeFile_003(_, _$1) { + return function () { + throw "caml_ml_seek_in_64 not implemented by bucklescript yet\n"; + }(); +} + +function LargeFile_004() { + return function () { + throw "caml_ml_pos_in_64 not implemented by bucklescript yet\n"; + }(); +} + +function LargeFile_005() { + return function () { + throw "caml_ml_channel_size_64 not implemented by bucklescript yet\n"; + }(); +} + +var LargeFile = [ + LargeFile_000, + LargeFile_001, + LargeFile_002, + LargeFile_003, + LargeFile_004, + LargeFile_005 +]; + +exports.invalid_arg = invalid_arg; +exports.failwith = failwith; +exports.Exit = Exit; +exports.min = min; +exports.max = max; +exports.abs = abs; +exports.max_int = max_int; +exports.min_int = min_int; +exports.lnot = lnot; +exports.infinity = infinity; +exports.neg_infinity = neg_infinity; +exports.nan = nan; +exports.max_float = max_float; +exports.min_float = min_float; +exports.epsilon_float = epsilon_float; +exports.$caret = $caret; +exports.char_of_int = char_of_int; +exports.string_of_bool = string_of_bool; +exports.bool_of_string = bool_of_string; +exports.string_of_int = string_of_int; +exports.string_of_float = string_of_float; +exports.$at = $at; +exports.stdin = stdin; +exports.stdout = stdout; +exports.stderr = stderr; +exports.print_char = print_char; +exports.print_string = print_string; +exports.print_bytes = print_bytes; +exports.print_int = print_int; +exports.print_float = print_float; +exports.print_endline = print_endline; +exports.print_newline = print_newline; +exports.prerr_char = prerr_char; +exports.prerr_string = prerr_string; +exports.prerr_bytes = prerr_bytes; +exports.prerr_int = prerr_int; +exports.prerr_float = prerr_float; +exports.prerr_endline = prerr_endline; +exports.prerr_newline = prerr_newline; +exports.read_line = read_line; +exports.read_int = read_int; +exports.read_float = read_float; +exports.open_out = open_out; +exports.open_out_bin = open_out_bin; +exports.open_out_gen = open_out_gen; +exports.flush = flush; +exports.flush_all = flush_all; +exports.output_char = output_char; +exports.output_string = output_string; +exports.output_bytes = output_bytes; +exports.output = output; +exports.output_substring = output_substring; +exports.output_byte = output_byte; +exports.output_binary_int = output_binary_int; +exports.output_value = output_value; +exports.seek_out = seek_out; +exports.pos_out = pos_out; +exports.out_channel_length = out_channel_length; +exports.close_out = close_out; +exports.close_out_noerr = close_out_noerr; +exports.set_binary_mode_out = set_binary_mode_out; +exports.open_in = open_in; +exports.open_in_bin = open_in_bin; +exports.open_in_gen = open_in_gen; +exports.input_char = input_char; +exports.input_line = input_line; +exports.input = input; +exports.really_input = really_input; +exports.really_input_string = really_input_string; +exports.input_byte = input_byte; +exports.input_binary_int = input_binary_int; +exports.input_value = input_value; +exports.seek_in = seek_in; +exports.pos_in = pos_in; +exports.in_channel_length = in_channel_length; +exports.close_in = close_in; +exports.close_in_noerr = close_in_noerr; +exports.set_binary_mode_in = set_binary_mode_in; +exports.LargeFile = LargeFile; +exports.string_of_format = string_of_format; +exports.$caret$caret = $caret$caret; +exports.exit = exit; +exports.at_exit = at_exit; +exports.valid_float_lexem = valid_float_lexem; +exports.unsafe_really_input = unsafe_really_input; +exports.do_at_exit = do_at_exit; +/* No side effect */ +//////// end of pervasives.js //////// +    return exports; +  }; + + + _registry['printf'] = function() { +    let exports = {}; +//////// start of printf.js //////// +'use strict'; + +var Curry = require("./curry"); +var Buffer = require("./buffer"); +var Pervasives = require("./pervasives"); +var CamlinternalFormat = require("./camlinternalFormat"); + +function kfprintf(k, o, param) { + return CamlinternalFormat.make_printf(function (o, acc) { + CamlinternalFormat.output_acc(o, acc); + return Curry._1(k, o); + }, o, /* End_of_acc */0, param[0]); +} + +function kbprintf(k, b, param) { + return CamlinternalFormat.make_printf(function (b, acc) { + CamlinternalFormat.bufput_acc(b, acc); + return Curry._1(k, b); + }, b, /* End_of_acc */0, param[0]); +} + +function ikfprintf(k, oc, param) { + return CamlinternalFormat.make_printf(function (oc, _) { + return Curry._1(k, oc); + }, oc, /* End_of_acc */0, param[0]); +} + +function fprintf(oc, fmt) { + return kfprintf(function () { + return /* () */0; + }, oc, fmt); +} + +function bprintf(b, fmt) { + return kbprintf(function () { + return /* () */0; + }, b, fmt); +} + +function ifprintf(oc, fmt) { + return ikfprintf(function () { + return /* () */0; + }, oc, fmt); +} + +function printf(fmt) { + return fprintf(Pervasives.stdout, fmt); +} + +function eprintf(fmt) { + return fprintf(Pervasives.stderr, fmt); +} + +function ksprintf(k, param) { + var k$prime = function (_, acc) { + var buf = Buffer.create(64); + CamlinternalFormat.strput_acc(buf, acc); + return Curry._1(k, Buffer.contents(buf)); + }; + return CamlinternalFormat.make_printf(k$prime, /* () */0, /* End_of_acc */0, param[0]); +} + +function sprintf(fmt) { + return ksprintf(function (s) { + return s; + }, fmt); +} + +var kprintf = ksprintf; + +exports.fprintf = fprintf; +exports.printf = printf; +exports.eprintf = eprintf; +exports.sprintf = sprintf; +exports.bprintf = bprintf; +exports.ifprintf = ifprintf; +exports.kfprintf = kfprintf; +exports.ikfprintf = ikfprintf; +exports.ksprintf = ksprintf; +exports.kbprintf = kbprintf; +exports.kprintf = kprintf; +/* No side effect */ +//////// end of printf.js //////// +    return exports; +  }; + + + _registry['print'] = function() { +    let exports = {}; +//////// start of print.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var List = require("bs-platform/lib/js/list"); +var Sexpr = require("./sexpr"); +var Arrange = require("./arrange"); + +function instr(oc, width, e) { + return Sexpr.output(oc, width, Arrange.instr(e)); +} + +function func(oc, width, f) { + return Sexpr.output(oc, width, Arrange.func(f)); +} + +function module_(oc, width, m) { + return Sexpr.output(oc, width, Arrange.module_(m)); +} + +function script(oc, width, mode, s) { + return List.iter(function (param) { + return Sexpr.output(oc, width, param); + }, Arrange.script(mode, s)); +} + +exports.instr = instr; +exports.func = func; +exports.module_ = module_; +exports.script = script; +/* Arrange Not a pure module */ +//////// end of print.js //////// +    return exports; +  }; + + + _registry['script'] = function() { +    let exports = {}; +//////// start of script.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Caml_exceptions = require("bs-platform/lib/js/caml_exceptions"); + +var Syntax = Caml_exceptions.create("Script.Syntax"); + +exports.Syntax = Syntax; +/* No side effect */ +//////// end of script.js //////// +    return exports; +  }; + + + _registry['sexpr'] = function() { +    let exports = {}; +//////// start of sexpr.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var List = require("bs-platform/lib/js/list"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var $$String = require("bs-platform/lib/js/string"); +var Pervasives = require("bs-platform/lib/js/pervasives"); + +function $caret$plus(s, r) { + return /* Concat */Block.__(1, [/* :: */[ + /* Leaf */Block.__(0, [s]), + /* :: */[ + r, + /* [] */0 + ] + ]]); +} + +function $plus$caret(r, s) { + return /* Concat */Block.__(1, [/* :: */[ + r, + /* :: */[ + /* Leaf */Block.__(0, [s]), + /* [] */0 + ] + ]]); +} + +function iter(f, param) { + if (param.tag) { + return List.iter(function (param) { + return iter(f, param); + }, param[0]); + } + else { + return Curry._1(f, param[0]); + } +} + +function concat(param) { + if (param.tag) { + return $$String.concat("", List.map(concat, param[0])); + } + else { + return param[0]; + } +} + +function pp(off, width, param) { + if (param.tag) { + var s = param[0]; + var partial_arg = off + 2 | 0; + var match = List.split(List.map(function (param) { + return pp(partial_arg, width, param); + }, param[1])); + var rs = match[1]; + var len = (s.length + List.length(rs) | 0) + List.fold_left(function (prim, prim$1) { + return prim + prim$1 | 0; + }, 2, match[0]) | 0; + var match$1; + if ((off + len | 0) <= width) { + match$1 = /* tuple */[ + " ", + "" + ]; + } + else { + var indent = $$String.make(off, /* " " */32); + match$1 = /* tuple */[ + "\n " + indent, + "\n" + indent + ]; + } + var sep = match$1[0]; + return /* tuple */[ + len, + $caret$plus("(", $caret$plus(s, $plus$caret($plus$caret(/* Concat */Block.__(1, [List.map(function (r) { + return $caret$plus(sep, r); + }, rs)]), match$1[1]), ")"))) + ]; + } + else { + var s$1 = param[0]; + return /* tuple */[ + s$1.length, + /* Leaf */Block.__(0, [s$1]) + ]; + } +} + +function output(oc, width, x) { + iter(function (param) { + return Pervasives.output_string(oc, param); + }, pp(0, width, x)[1]); + Pervasives.output_string(oc, "\n"); + return Curry._1(Pervasives.flush, oc); +} + +function print(param, param$1) { + return output(Pervasives.stdout, param, param$1); +} + +function to_string(width, x) { + return concat(pp(0, width, x)[1]) + "\n"; +} + +exports.output = output; +exports.print = print; +exports.to_string = to_string; +/* No side effect */ +//////// end of sexpr.js //////// +    return exports; +  }; + + + _registry['source'] = function() { +    let exports = {}; +//////// start of source.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var Printf = require("bs-platform/lib/js/printf"); +var Caml_obj = require("bs-platform/lib/js/caml_obj"); +var Pervasives = require("bs-platform/lib/js/pervasives"); + +function $at$at(x, region) { + return /* record */[ + /* at */region, + /* it */x + ]; +} + +var no_pos = /* record */[ + /* file */"", + /* line */0, + /* column */0 +]; + +var no_region = /* record */[ + /* left */no_pos, + /* right */no_pos +]; + +function string_of_pos(pos) { + if (pos[/* line */1] === -1) { + return Curry._1(Printf.sprintf(/* Format */[ + /* String_literal */Block.__(11, [ + "0x", + /* Int */Block.__(4, [ + /* Int_x */6, + /* No_padding */0, + /* No_precision */0, + /* End_of_format */0 + ]) + ]), + "0x%x" + ]), pos[/* column */2]); + } + else { + return Pervasives.string_of_int(pos[/* line */1]) + ("." + Pervasives.string_of_int(pos[/* column */2] + 1 | 0)); + } +} + +function string_of_region(r) { + return r[/* left */0][/* file */0] + (":" + (string_of_pos(r[/* left */0]) + ( + Caml_obj.caml_equal(r[/* right */1], r[/* left */0]) ? "" : "-" + string_of_pos(r[/* right */1]) + ))); +} + +exports.no_pos = no_pos; +exports.no_region = no_region; +exports.string_of_pos = string_of_pos; +exports.string_of_region = string_of_region; +exports.$at$at = $at$at; +/* No side effect */ +//////// end of source.js //////// +    return exports; +  }; + + + _registry['string'] = function() { +    let exports = {}; +//////// start of string.js //////// +'use strict'; + +var List = require("./list"); +var Bytes = require("./bytes"); +var Caml_int32 = require("./caml_int32"); +var Caml_string = require("./caml_string"); + +function make(n, c) { + return Caml_string.bytes_to_string(Bytes.make(n, c)); +} + +function init(n, f) { + return Caml_string.bytes_to_string(Bytes.init(n, f)); +} + +function copy(s) { + return Caml_string.bytes_to_string(Bytes.copy(Caml_string.bytes_of_string(s))); +} + +function sub(s, ofs, len) { + return Caml_string.bytes_to_string(Bytes.sub(Caml_string.bytes_of_string(s), ofs, len)); +} + +function concat(sep, l) { + if (l) { + var hd = l[0]; + var num = [0]; + var len = [0]; + List.iter(function (s) { + num[0] = num[0] + 1 | 0; + len[0] = len[0] + s.length | 0; + return /* () */0; + }, l); + var r = Caml_string.caml_create_string(len[0] + Caml_int32.imul(sep.length, num[0] - 1 | 0) | 0); + Caml_string.caml_blit_string(hd, 0, r, 0, hd.length); + var pos = [hd.length]; + List.iter(function (s) { + Caml_string.caml_blit_string(sep, 0, r, pos[0], sep.length); + pos[0] = pos[0] + sep.length | 0; + Caml_string.caml_blit_string(s, 0, r, pos[0], s.length); + pos[0] = pos[0] + s.length | 0; + return /* () */0; + }, l[1]); + return Caml_string.bytes_to_string(r); + } + else { + return ""; + } +} + +function iter(f, s) { + return Bytes.iter(f, Caml_string.bytes_of_string(s)); +} + +function iteri(f, s) { + return Bytes.iteri(f, Caml_string.bytes_of_string(s)); +} + +function map(f, s) { + return Caml_string.bytes_to_string(Bytes.map(f, Caml_string.bytes_of_string(s))); +} + +function mapi(f, s) { + return Caml_string.bytes_to_string(Bytes.mapi(f, Caml_string.bytes_of_string(s))); +} + +function is_space(param) { + var switcher = param - 9 | 0; + if (switcher > 4 || switcher < 0) { + if (switcher !== 23) { + return /* false */0; + } + else { + return /* true */1; + } + } + else if (switcher !== 2) { + return /* true */1; + } + else { + return /* false */0; + } +} + +function trim(s) { + if (s === "" || !(is_space(s.charCodeAt(0)) || is_space(s.charCodeAt(s.length - 1 | 0)))) { + return s; + } + else { + return Caml_string.bytes_to_string(Bytes.trim(Caml_string.bytes_of_string(s))); + } +} + +function escaped(s) { + var needs_escape = function (_i) { + while(true) { + var i = _i; + if (i >= s.length) { + return /* false */0; + } + else { + var match = s.charCodeAt(i); + if (match >= 32) { + var switcher = match - 34 | 0; + if (switcher > 58 || switcher < 0) { + if (switcher >= 93) { + return /* true */1; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + else if (switcher > 57 || switcher < 1) { + return /* true */1; + } + else { + _i = i + 1 | 0; + continue ; + + } + } + else { + return /* true */1; + } + } + }; + }; + if (needs_escape(0)) { + return Caml_string.bytes_to_string(Bytes.escaped(Caml_string.bytes_of_string(s))); + } + else { + return s; + } +} + +function index(s, c) { + return Bytes.index(Caml_string.bytes_of_string(s), c); +} + +function rindex(s, c) { + return Bytes.rindex(Caml_string.bytes_of_string(s), c); +} + +function index_from(s, i, c) { + return Bytes.index_from(Caml_string.bytes_of_string(s), i, c); +} + +function rindex_from(s, i, c) { + return Bytes.rindex_from(Caml_string.bytes_of_string(s), i, c); +} + +function contains(s, c) { + return Bytes.contains(Caml_string.bytes_of_string(s), c); +} + +function contains_from(s, i, c) { + return Bytes.contains_from(Caml_string.bytes_of_string(s), i, c); +} + +function rcontains_from(s, i, c) { + return Bytes.rcontains_from(Caml_string.bytes_of_string(s), i, c); +} + +function uppercase(s) { + return Caml_string.bytes_to_string(Bytes.uppercase(Caml_string.bytes_of_string(s))); +} + +function lowercase(s) { + return Caml_string.bytes_to_string(Bytes.lowercase(Caml_string.bytes_of_string(s))); +} + +function capitalize(s) { + return Caml_string.bytes_to_string(Bytes.capitalize(Caml_string.bytes_of_string(s))); +} + +function uncapitalize(s) { + return Caml_string.bytes_to_string(Bytes.uncapitalize(Caml_string.bytes_of_string(s))); +} + +var compare = Caml_string.caml_string_compare; + +var fill = Bytes.fill; + +var blit = Bytes.blit_string; + +exports.make = make; +exports.init = init; +exports.copy = copy; +exports.sub = sub; +exports.fill = fill; +exports.blit = blit; +exports.concat = concat; +exports.iter = iter; +exports.iteri = iteri; +exports.map = map; +exports.mapi = mapi; +exports.trim = trim; +exports.escaped = escaped; +exports.index = index; +exports.rindex = rindex; +exports.index_from = index_from; +exports.rindex_from = rindex_from; +exports.contains = contains; +exports.contains_from = contains_from; +exports.rcontains_from = rcontains_from; +exports.uppercase = uppercase; +exports.lowercase = lowercase; +exports.capitalize = capitalize; +exports.uncapitalize = uncapitalize; +exports.compare = compare; +/* No side effect */ +//////// end of string.js //////// +    return exports; +  }; + + + _registry['sys'] = function() { +    let exports = {}; +//////// start of sys.js //////// +'use strict'; + +var Caml_exceptions = require("./caml_exceptions"); + +var is_js = /* true */1; + +var match_001 = /* array */[]; + +var big_endian = /* false */0; + +var unix = /* true */1; + +var win32 = /* false */0; + +var cygwin = /* false */0; + +var max_array_length = 2147483647; + +var max_string_length = 2147483647; + +var interactive = [/* false */0]; + +function set_signal(_, _$1) { + return /* () */0; +} + +var Break = Caml_exceptions.create("Sys.Break"); + +function catch_break() { + return /* () */0; +} + +var argv = match_001; + +var executable_name = "cmd"; + +var os_type = "Unix"; + +var word_size = 32; + +var sigabrt = -1; + +var sigalrm = -2; + +var sigfpe = -3; + +var sighup = -4; + +var sigill = -5; + +var sigint = -6; + +var sigkill = -7; + +var sigpipe = -8; + +var sigquit = -9; + +var sigsegv = -10; + +var sigterm = -11; + +var sigusr1 = -12; + +var sigusr2 = -13; + +var sigchld = -14; + +var sigcont = -15; + +var sigstop = -16; + +var sigtstp = -17; + +var sigttin = -18; + +var sigttou = -19; + +var sigvtalrm = -20; + +var sigprof = -21; + +var ocaml_version = "4.02.3+dev1-2015-07-10"; + +exports.argv = argv; +exports.executable_name = executable_name; +exports.interactive = interactive; +exports.os_type = os_type; +exports.unix = unix; +exports.win32 = win32; +exports.cygwin = cygwin; +exports.word_size = word_size; +exports.big_endian = big_endian; +exports.is_js = is_js; +exports.max_string_length = max_string_length; +exports.max_array_length = max_array_length; +exports.set_signal = set_signal; +exports.sigabrt = sigabrt; +exports.sigalrm = sigalrm; +exports.sigfpe = sigfpe; +exports.sighup = sighup; +exports.sigill = sigill; +exports.sigint = sigint; +exports.sigkill = sigkill; +exports.sigpipe = sigpipe; +exports.sigquit = sigquit; +exports.sigsegv = sigsegv; +exports.sigterm = sigterm; +exports.sigusr1 = sigusr1; +exports.sigusr2 = sigusr2; +exports.sigchld = sigchld; +exports.sigcont = sigcont; +exports.sigstop = sigstop; +exports.sigtstp = sigtstp; +exports.sigttin = sigttin; +exports.sigttou = sigttou; +exports.sigvtalrm = sigvtalrm; +exports.sigprof = sigprof; +exports.Break = Break; +exports.catch_break = catch_break; +exports.ocaml_version = ocaml_version; +/* No side effect */ +//////// end of sys.js //////// +    return exports; +  }; + + + _registry['types'] = function() { +    let exports = {}; +//////// start of types.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var I32 = require("./i32"); +var List = require("bs-platform/lib/js/list"); +var Curry = require("bs-platform/lib/js/curry"); +var $$String = require("bs-platform/lib/js/string"); + +function size(param) { + if (param !== 1 && param < 3) { + return 4; + } + else { + return 8; + } +} + +function string_of_value_type(param) { + switch (param) { + case 0 : + return "i32"; + case 1 : + return "i64"; + case 2 : + return "f32"; + case 3 : + return "f64"; + + } +} + +function string_of_value_types(ts) { + var exit = 0; + if (ts) { + if (ts[1]) { + exit = 1; + } + else { + return string_of_value_type(ts[0]); + } + } + else { + exit = 1; + } + if (exit === 1) { + return "[" + ($$String.concat(" ", List.map(string_of_value_type, ts)) + "]"); + } + +} + +function string_of_elem_type() { + return "anyfunc"; +} + +function string_of_limits(param) { + var max = param[/* max */1]; + return Curry._1(I32.to_string_u, param[/* min */0]) + ( + max ? " " + Curry._1(I32.to_string_u, max[0]) : "" + ); +} + +function string_of_memory_type(param) { + return string_of_limits(param[0]); +} + +function string_of_table_type(param) { + return string_of_limits(param[0]) + " anyfunc"; +} + +function string_of_global_type(param) { + var t = param[0]; + if (param[1] !== 0) { + return "(mut " + (string_of_value_type(t) + ")"); + } + else { + return string_of_value_type(t); + } +} + +function string_of_stack_type(ts) { + return "[" + ($$String.concat(" ", List.map(string_of_value_type, ts)) + "]"); +} + +function string_of_func_type(param) { + return string_of_stack_type(param[0]) + (" -> " + string_of_stack_type(param[1])); +} + +exports.size = size; +exports.string_of_value_type = string_of_value_type; +exports.string_of_value_types = string_of_value_types; +exports.string_of_elem_type = string_of_elem_type; +exports.string_of_limits = string_of_limits; +exports.string_of_memory_type = string_of_memory_type; +exports.string_of_table_type = string_of_table_type; +exports.string_of_global_type = string_of_global_type; +exports.string_of_stack_type = string_of_stack_type; +exports.string_of_func_type = string_of_func_type; +/* I32 Not a pure module */ +//////// end of types.js //////// +    return exports; +  }; + + + _registry['values'] = function() { +    let exports = {}; +//////// start of values.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var F32 = require("./f32"); +var F64 = require("./f64"); +var I32 = require("./i32"); +var I64 = require("./i64"); +var List = require("bs-platform/lib/js/list"); +var Block = require("bs-platform/lib/js/block"); +var Curry = require("bs-platform/lib/js/curry"); +var $$String = require("bs-platform/lib/js/string"); +var Caml_exceptions = require("bs-platform/lib/js/caml_exceptions"); + +function type_of(param) { + switch (param.tag | 0) { + case 0 : + return /* I32Type */0; + case 1 : + return /* I64Type */1; + case 2 : + return /* F32Type */2; + case 3 : + return /* F64Type */3; + + } +} + +function default_value(param) { + switch (param) { + case 0 : + return /* I32 */Block.__(0, [I32.zero]); + case 1 : + return /* I64 */Block.__(1, [I64.zero]); + case 2 : + return /* F32 */Block.__(2, [F32.zero]); + case 3 : + return /* F64 */Block.__(3, [F64.zero]); + + } +} + +function value_of_bool(b) { + return /* I32 */Block.__(0, [b ? 1 : 0]); +} + +function string_of_value(param) { + switch (param.tag | 0) { + case 0 : + return Curry._1(I32.to_string_s, param[0]); + case 1 : + return Curry._1(I64.to_string_s, param[0]); + case 2 : + return Curry._1(F32.to_string, param[0]); + case 3 : + return Curry._1(F64.to_string, param[0]); + + } +} + +function string_of_values(vs) { + var exit = 0; + if (vs) { + if (vs[1]) { + exit = 1; + } + else { + return string_of_value(vs[0]); + } + } + else { + exit = 1; + } + if (exit === 1) { + return "[" + ($$String.concat(" ", List.map(string_of_value, vs)) + "]"); + } + +} + +var Value = Caml_exceptions.create("Values.Value"); + +function to_value(i) { + return /* I32 */Block.__(0, [i]); +} + +function of_value(param) { + if (param.tag) { + throw [ + Value, + /* I32Type */0 + ]; + } + else { + return param[0]; + } +} + +var I32Value = /* module */[ + /* to_value */to_value, + /* of_value */of_value +]; + +function to_value$1(i) { + return /* I64 */Block.__(1, [i]); +} + +function of_value$1(param) { + if (param.tag === 1) { + return param[0]; + } + else { + throw [ + Value, + /* I64Type */1 + ]; + } +} + +var I64Value = /* module */[ + /* to_value */to_value$1, + /* of_value */of_value$1 +]; + +function to_value$2(i) { + return /* F32 */Block.__(2, [i]); +} + +function of_value$2(param) { + if (param.tag === 2) { + return param[0]; + } + else { + throw [ + Value, + /* F32Type */2 + ]; + } +} + +var F32Value = /* module */[ + /* to_value */to_value$2, + /* of_value */of_value$2 +]; + +function to_value$3(i) { + return /* F64 */Block.__(3, [i]); +} + +function of_value$3(param) { + if (param.tag === 3) { + return param[0]; + } + else { + throw [ + Value, + /* F64Type */3 + ]; + } +} + +var F64Value = /* module */[ + /* to_value */to_value$3, + /* of_value */of_value$3 +]; + +exports.type_of = type_of; +exports.default_value = default_value; +exports.value_of_bool = value_of_bool; +exports.string_of_value = string_of_value; +exports.string_of_values = string_of_values; +exports.Value = Value; +exports.I32Value = I32Value; +exports.I64Value = I64Value; +exports.F32Value = F32Value; +exports.F64Value = F64Value; +/* F32 Not a pure module */ +//////// end of values.js //////// +    return exports; +  }; + + + _registry['wasm'] = function() { +    let exports = {}; +//////// start of wasm.js //////// +// Generated by BUCKLESCRIPT VERSION 1.4.3 , PLEASE EDIT WITH CARE +'use strict'; + +var Parse = require("./parse"); +var Sexpr = require("./sexpr"); +var Decode = require("./decode"); +var Encode = require("./encode"); +var Arrange = require("./arrange"); +var Caml_int64 = require("bs-platform/lib/js/caml_int64"); +var Pervasives = require("bs-platform/lib/js/pervasives"); + +function encode(s) { + var def = Parse.string_to_module(s); + var match = def[/* it */1]; + if (match.tag) { + return match[1]; + } + else { + return Encode.encode(match[0]); + } +} + +function decode(s, width) { + var m = Decode.decode("(decode)", s); + return Sexpr.to_string(width, Arrange.module_(m)); +} + +function f(x) { + Pervasives.print_string("f"); + return x; +} + +function g(x) { + return Caml_int64.or_(x, (Pervasives.print_string("f"), x)); +} + +exports.encode = encode; +exports.decode = decode; +exports.f = f; +exports.g = g; +/* Parse Not a pure module */ +//////// end of wasm.js //////// +    return exports; +  }; + + + function binary(bytes) { + let buffer = new ArrayBuffer(bytes.length); + let view = new Uint8Array(buffer); + for (let i = 0; i < bytes.length; ++i) { + view[i] = bytes.charCodeAt(i); + } + return buffer; + } + function bytes(buffer) { + let string = ''; + let view = new Uint8Array(buffer); + for (let i = 0; i < view.length; ++i) { + string += String.fromCodePoint(view[i]); + } + return string; + } +  let Wasm = require('wasm'); + return { + encode(s) { return binary(Wasm.encode(s)) }, + decode(b, w = 80) { return Wasm.decode(bytes(b), w) } + }; +})(); + + diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/address.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/address.wast.js new file mode 100644 index 0000000000..9dcc2d57cc --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/address.wast.js @@ -0,0 +1,21 @@ + +// address.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x8e\x80\x80\x80\x00\x02\x04\x67\x6f\x6f\x64\x00\x01\x03\x62\x61\x64\x00\x02\x0a\xf4\x80\x80\x80\x00\x02\xdd\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x10\x00\x20\x00\x2d\x00\x01\x10\x00\x20\x00\x2d\x00\x02\x10\x00\x20\x00\x2d\x00\x19\x10\x00\x20\x00\x2f\x01\x00\x10\x00\x20\x00\x2f\x00\x00\x10\x00\x20\x00\x2f\x00\x01\x10\x00\x20\x00\x2f\x01\x02\x10\x00\x20\x00\x2f\x00\x19\x10\x00\x20\x00\x28\x02\x00\x10\x00\x20\x00\x28\x00\x01\x10\x00\x20\x00\x28\x01\x02\x10\x00\x20\x00\x28\x00\x19\x10\x00\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x28\x02\xff\xff\xff\xff\x0f\x1a\x0b\x0b\xa0\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x1a\x61\x62\x63\x64\x65\x66\x67\x68\x69\x6a\x6b\x6c\x6d\x6e\x6f\x70\x71\x72\x73\x74\x75\x76\x77\x78\x79\x7a"); + +// address.wast:30 +run(() => call($1, "good", [0])); + +// address.wast:31 +run(() => call($1, "good", [65507])); + +// address.wast:32 +assert_trap(() => call($1, "good", [65508])); + +// address.wast:33 +assert_trap(() => call($1, "bad", [0])); + +// address.wast:34 +assert_trap(() => call($1, "bad", [1])); + +// address.wast:36 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/align.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/align.wast.js new file mode 100644 index 0000000000..11f2bacf30 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/align.wast.js @@ -0,0 +1,18 @@ + +// align.wast:1 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// align.wast:7 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// align.wast:13 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x29\x04\x00\x1a\x0b"); + +// align.wast:18 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// align.wast:24 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// align.wast:30 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x00\x37\x04\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/binary.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/binary.wast.js new file mode 100644 index 0000000000..7751b4791f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/binary.wast.js @@ -0,0 +1,98 @@ + +// binary.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:2 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:3 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); +let $M1 = $3; + +// binary.wast:4 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); +let $M2 = $4; + +// binary.wast:6 +assert_malformed(""); + +// binary.wast:7 +assert_malformed("\x01"); + +// binary.wast:8 +assert_malformed("\x00\x61\x73"); + +// binary.wast:9 +assert_malformed("\x61\x73\x6d\x00"); + +// binary.wast:10 +assert_malformed("\x6d\x73\x61\x00"); + +// binary.wast:11 +assert_malformed("\x6d\x73\x61\x00\x01\x00\x00\x00"); + +// binary.wast:12 +assert_malformed("\x6d\x73\x61\x00\x00\x00\x00\x01"); + +// binary.wast:13 +assert_malformed("\x61\x73\x6d\x01\x00\x00\x00\x00"); + +// binary.wast:14 +assert_malformed("\x77\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:15 +assert_malformed("\x7f\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:16 +assert_malformed("\x80\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:17 +assert_malformed("\x82\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:18 +assert_malformed("\xff\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:21 +assert_malformed("\x00\x00\x00\x01\x6d\x73\x61\x00"); + +// binary.wast:24 +assert_malformed("\x61\x00\x6d\x73\x00\x01\x00\x00"); + +// binary.wast:25 +assert_malformed("\x73\x6d\x00\x61\x00\x00\x01\x00"); + +// binary.wast:28 +assert_malformed("\x00\x41\x53\x4d\x01\x00\x00\x00"); + +// binary.wast:31 +assert_malformed("\x00\x81\xa2\x94\x01\x00\x00\x00"); + +// binary.wast:34 +assert_malformed("\xef\xbb\xbf\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// binary.wast:36 +assert_malformed("\x00\x61\x73\x6d"); + +// binary.wast:37 +assert_malformed("\x00\x61\x73\x6d\x01"); + +// binary.wast:38 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00"); + +// binary.wast:39 +assert_malformed("\x00\x61\x73\x6d\x00\x00\x00\x00"); + +// binary.wast:40 +assert_malformed("\x00\x61\x73\x6d\x0d\x00\x00\x00"); + +// binary.wast:41 +assert_malformed("\x00\x61\x73\x6d\x0e\x00\x00\x00"); + +// binary.wast:42 +assert_malformed("\x00\x61\x73\x6d\x00\x01\x00\x00"); + +// binary.wast:43 +assert_malformed("\x00\x61\x73\x6d\x00\x00\x01\x00"); + +// binary.wast:44 +assert_malformed("\x00\x61\x73\x6d\x00\x00\x00\x01"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/block.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/block.wast.js new file mode 100644 index 0000000000..a4f0864071 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/block.wast.js @@ -0,0 +1,117 @@ + +// block.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7f\x03\x90\x80\x80\x80\x00\x0f\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\xbe\x81\x80\x80\x00\x0e\x05\x65\x6d\x70\x74\x79\x00\x01\x08\x73\x69\x6e\x67\x75\x6c\x61\x72\x00\x02\x05\x6d\x75\x6c\x74\x69\x00\x03\x06\x6e\x65\x73\x74\x65\x64\x00\x04\x04\x64\x65\x65\x70\x00\x05\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x06\x11\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x07\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x08\x12\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x09\x0a\x62\x72\x65\x61\x6b\x2d\x62\x61\x72\x65\x00\x0a\x0b\x62\x72\x65\x61\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0b\x0e\x62\x72\x65\x61\x6b\x2d\x72\x65\x70\x65\x61\x74\x65\x64\x00\x0c\x0b\x62\x72\x65\x61\x6b\x2d\x69\x6e\x6e\x65\x72\x00\x0d\x07\x65\x66\x66\x65\x63\x74\x73\x00\x0e\x0a\x99\x84\x80\x80\x00\x0f\x82\x80\x80\x80\x00\x00\x0b\x88\x80\x80\x80\x00\x00\x02\x40\x0b\x02\x40\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x40\x01\x0b\x02\x7f\x41\x07\x0b\x0b\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x10\x00\x10\x00\x10\x00\x0b\x02\x7f\x10\x00\x10\x00\x10\x00\x41\x08\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x02\x40\x10\x00\x02\x40\x0b\x01\x0b\x02\x7f\x10\x00\x41\x09\x0b\x0b\x0b\xf9\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x10\x00\x41\x96\x01\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\x0d\x0b\x68\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\x03\x0b\x02\x7f\x10\x00\x41\x04\x0b\x6c\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\x0d\x0b\x45\x0b\x97\x80\x80\x80\x00\x00\x02\x7d\x10\x00\x43\x00\x00\x40\x40\x0b\x02\x7d\x10\x00\x43\x00\x00\x40\x40\x0b\x5e\x0b\xa6\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x00\x0b\x02\x40\x41\x01\x0d\x00\x00\x0b\x02\x40\x41\x00\x0e\x00\x00\x00\x0b\x02\x40\x41\x01\x0e\x02\x00\x00\x00\x00\x0b\x41\x13\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x12\x0c\x00\x41\x13\x0b\x0b\xb1\x80\x80\x80\x00\x00\x02\x7f\x41\x12\x0c\x00\x41\x13\x0c\x00\x41\x14\x41\x00\x0d\x00\x1a\x41\x14\x41\x01\x0d\x00\x1a\x41\x15\x0c\x00\x41\x16\x41\x04\x0e\x00\x00\x41\x17\x41\x01\x0e\x02\x00\x00\x00\x41\x15\x0b\x0b\xc5\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x20\x00\x02\x7f\x02\x7f\x41\x01\x0c\x01\x0b\x0b\x6a\x21\x00\x20\x00\x02\x7f\x02\x40\x0c\x00\x0b\x41\x02\x0b\x6a\x21\x00\x20\x00\x02\x7f\x41\x04\x0c\x00\x68\x0b\x6a\x21\x00\x20\x00\x02\x7f\x02\x7f\x41\x08\x0c\x01\x0b\x68\x0b\x6a\x21\x00\x20\x00\x0b\xaf\x80\x80\x80\x00\x01\x01\x7f\x02\x40\x41\x01\x21\x00\x20\x00\x41\x03\x6c\x21\x00\x20\x00\x41\x05\x6b\x21\x00\x20\x00\x41\x07\x6c\x21\x00\x0c\x00\x20\x00\x41\xe4\x00\x6c\x21\x00\x0b\x20\x00\x41\x72\x46\x0b"); + +// block.wast:140 +assert_return(() => call($1, "empty", [])); + +// block.wast:141 +assert_return(() => call($1, "singular", []), 7); + +// block.wast:142 +assert_return(() => call($1, "multi", []), 8); + +// block.wast:143 +assert_return(() => call($1, "nested", []), 9); + +// block.wast:144 +assert_return(() => call($1, "deep", []), 150); + +// block.wast:146 +assert_return(() => call($1, "as-unary-operand", []), 0); + +// block.wast:147 +assert_return(() => call($1, "as-binary-operand", []), 12); + +// block.wast:148 +assert_return(() => call($1, "as-test-operand", []), 0); + +// block.wast:149 +assert_return(() => call($1, "as-compare-operand", []), 0); + +// block.wast:151 +assert_return(() => call($1, "break-bare", []), 19); + +// block.wast:152 +assert_return(() => call($1, "break-value", []), 18); + +// block.wast:153 +assert_return(() => call($1, "break-repeated", []), 18); + +// block.wast:154 +assert_return(() => call($1, "break-inner", []), 15); + +// block.wast:156 +assert_return(() => call($1, "effects", []), 1); + +// block.wast:158 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x02\x40\x0b\x0b"); + +// block.wast:162 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x02\x40\x0b\x0b"); + +// block.wast:166 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x02\x40\x0b\x0b"); + +// block.wast:170 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x02\x40\x0b\x0b"); + +// block.wast:175 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0b\x0b"); + +// block.wast:181 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x02\x7f\x0b\x0b"); + +// block.wast:187 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x02\x7f\x01\x0b\x0b"); + +// block.wast:193 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x0b\x0b"); + +// block.wast:199 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x7e\x00\x00\x00\x1b\x0b\x0b"); + +// block.wast:206 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x02\x7f\x0c\x00\x0b\x0b"); + +// block.wast:212 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x7f\x0c\x00\x41\x01\x0b\x0b"); + +// block.wast:219 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x7f\x01\x0c\x00\x41\x01\x0b\x0b"); + +// block.wast:225 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x7f\x42\x01\x0c\x00\x41\x01\x0b\x0b"); + +// block.wast:231 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x7f\x01\x0c\x00\x41\x01\x0c\x00\x0b\x0b"); + +// block.wast:237 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x7f\x42\x01\x0c\x00\x41\x01\x0c\x00\x0b\x0b"); + +// block.wast:244 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x41\x01\x0c\x01\x0b\x0c\x00\x0b\x0b"); + +// block.wast:250 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x02\x40\x0c\x01\x0b\x41\x01\x0c\x00\x0b\x0b"); + +// block.wast:257 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x01\x0c\x01\x0b\x41\x01\x0c\x00\x0b\x0b"); + +// block.wast:263 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x42\x01\x0c\x01\x0b\x41\x01\x0c\x00\x0b\x0b"); + +// block.wast:272 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x0b\x68\x0b"); + +// block.wast:278 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x01\x0c\x00\x0b\x7a\x0b"); + +// block.wast:284 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x42\x09\x0c\x00\x0b\x7a\x0b"); + +// block.wast:292 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// block.wast:296 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/br.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/br.wast.js new file mode 100644 index 0000000000..3f07eb647b --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/br.wast.js @@ -0,0 +1,207 @@ + +// br.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa8\x80\x80\x80\x00\x08\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x02\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x01\x7f\x03\xbc\x80\x80\x80\x00\x3b\x00\x00\x00\x00\x00\x01\x02\x03\x04\x00\x00\x00\x01\x01\x01\x01\x01\x00\x01\x01\x00\x01\x01\x02\x01\x05\x05\x05\x05\x01\x06\x01\x01\x01\x01\x01\x01\x01\x01\x03\x02\x01\x01\x01\x01\x03\x01\x02\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x04\x85\x80\x80\x80\x00\x01\x70\x01\x01\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x8a\x88\x80\x80\x00\x39\x08\x74\x79\x70\x65\x2d\x69\x33\x32\x00\x01\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x02\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x03\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x04\x0e\x74\x79\x70\x65\x2d\x69\x33\x32\x2d\x76\x61\x6c\x75\x65\x00\x05\x0e\x74\x79\x70\x65\x2d\x69\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x06\x0e\x74\x79\x70\x65\x2d\x66\x33\x32\x2d\x76\x61\x6c\x75\x65\x00\x07\x0e\x74\x79\x70\x65\x2d\x66\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x08\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x00\x09\x0c\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x00\x0a\x0d\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x00\x0b\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0c\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x66\x69\x72\x73\x74\x00\x0d\x0b\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6d\x69\x64\x00\x0e\x0c\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6c\x61\x73\x74\x00\x0f\x0b\x61\x73\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x10\x0d\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x63\x6f\x6e\x64\x00\x11\x0e\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x12\x13\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x13\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x69\x6e\x64\x65\x78\x00\x14\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x15\x17\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x16\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x17\x0a\x61\x73\x2d\x69\x66\x2d\x63\x6f\x6e\x64\x00\x18\x0a\x61\x73\x2d\x69\x66\x2d\x74\x68\x65\x6e\x00\x19\x0a\x61\x73\x2d\x69\x66\x2d\x65\x6c\x73\x65\x00\x1a\x0f\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x1b\x10\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x73\x65\x63\x6f\x6e\x64\x00\x1c\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x63\x6f\x6e\x64\x00\x1d\x0d\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x66\x69\x72\x73\x74\x00\x1f\x0b\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6d\x69\x64\x00\x20\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6c\x61\x73\x74\x00\x21\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x75\x6e\x63\x00\x22\x16\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x23\x14\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6d\x69\x64\x00\x24\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6c\x61\x73\x74\x00\x25\x12\x61\x73\x2d\x73\x65\x74\x5f\x6c\x6f\x63\x61\x6c\x2d\x76\x61\x6c\x75\x65\x00\x26\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x27\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x28\x10\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x29\x0e\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x76\x61\x6c\x75\x65\x00\x2a\x11\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2b\x0f\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x76\x61\x6c\x75\x65\x00\x2c\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x2d\x0e\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6c\x65\x66\x74\x00\x2e\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x2f\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x30\x0f\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6c\x65\x66\x74\x00\x31\x10\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x72\x69\x67\x68\x74\x00\x32\x12\x61\x73\x2d\x63\x6f\x6e\x76\x65\x72\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x33\x13\x61\x73\x2d\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x2d\x73\x69\x7a\x65\x00\x34\x12\x6e\x65\x73\x74\x65\x64\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x35\x0f\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x36\x12\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x37\x17\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x38\x15\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x39\x1b\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x3a\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x1e\x0a\x84\x89\x80\x80\x00\x3b\x82\x80\x80\x80\x00\x00\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x68\x1a\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x7a\x1a\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x8c\x1a\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x9a\x1a\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x0c\x00\x68\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7e\x42\x02\x0c\x00\x7a\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7d\x43\x00\x00\x40\x40\x0c\x00\x8c\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7c\x44\x00\x00\x00\x00\x00\x00\x10\x40\x0c\x00\x9a\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x10\x00\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0c\x00\x10\x00\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x40\x01\x10\x00\x0c\x00\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x01\x10\x00\x41\x02\x0c\x00\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x41\x03\x0c\x01\x41\x02\x0b\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x10\x00\x41\x04\x0c\x01\x41\x02\x0b\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x01\x10\x00\x41\x05\x0c\x01\x0b\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x09\x0c\x00\x0c\x00\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x0d\x00\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x08\x0c\x00\x41\x01\x0d\x00\x1a\x41\x07\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x41\x09\x0c\x00\x0d\x00\x1a\x41\x07\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x0e\x02\x00\x00\x00\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x0a\x0c\x00\x41\x01\x0e\x02\x00\x00\x00\x41\x07\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x41\x0b\x0c\x00\x0e\x01\x00\x00\x41\x07\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7e\x42\x07\x0c\x00\x0f\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x41\x02\x0c\x00\x04\x7f\x41\x00\x05\x41\x01\x0b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x04\x7f\x41\x03\x0c\x01\x05\x20\x01\x0b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x04\x7f\x20\x01\x05\x41\x04\x0c\x01\x0b\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x05\x0c\x00\x20\x00\x20\x01\x1b\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x41\x06\x0c\x00\x20\x01\x1b\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x01\x41\x07\x0c\x00\x1b\x0b\x0b\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x0c\x0c\x00\x41\x02\x41\x03\x10\x1e\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x41\x0d\x0c\x00\x41\x03\x10\x1e\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x41\x02\x41\x0e\x0c\x00\x10\x1e\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x14\x0c\x00\x41\x01\x41\x02\x41\x03\x11\x07\x00\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x15\x0c\x00\x41\x02\x41\x03\x11\x07\x00\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x01\x41\x16\x0c\x00\x41\x03\x11\x07\x00\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x01\x41\x02\x41\x17\x0c\x00\x11\x07\x00\x0b\x0b\x8f\x80\x80\x80\x00\x01\x01\x7d\x02\x7f\x41\x11\x0c\x00\x21\x00\x41\x7f\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7d\x43\x9a\x99\xd9\x3f\x0c\x00\x2a\x02\x00\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7e\x42\x1e\x0c\x00\x30\x00\x00\x0b\x0b\x97\x80\x80\x80\x00\x00\x02\x7f\x41\x1e\x0c\x00\x44\x00\x00\x00\x00\x00\x00\x1c\x40\x39\x03\x00\x41\x7f\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x02\x41\x1f\x0c\x00\x37\x03\x00\x41\x7f\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x20\x0c\x00\x41\x07\x3a\x00\x00\x41\x7f\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x02\x41\x21\x0c\x00\x3d\x01\x00\x41\x7f\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7d\x43\x9a\x99\x59\x40\x0c\x00\x8c\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x0c\x00\x41\x0a\x6a\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7e\x42\x0a\x42\x2d\x0c\x00\x7d\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x41\x2c\x0c\x00\x45\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x2b\x0c\x00\x44\x00\x00\x00\x00\x00\x00\x24\x40\x65\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x20\x41\x41\x2a\x0c\x00\x5c\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x41\x29\x0c\x00\xa7\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x28\x0c\x00\x40\x00\x0b\x0b\x91\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x10\x00\x41\x04\x41\x08\x0c\x00\x6a\x0b\x6a\x0b\x9a\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x04\x1a\x41\x08\x0c\x01\x0c\x00\x0b\x1a\x41\x10\x0b\x6a\x0b\x9f\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x04\x1a\x41\x08\x0c\x01\x41\x01\x0d\x00\x1a\x41\x20\x0b\x1a\x41\x10\x0b\x6a\x0b\x96\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x41\x08\x0c\x00\x0d\x00\x1a\x41\x10\x0b\x6a\x0b\x9d\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x04\x1a\x41\x08\x0c\x01\x41\x01\x0e\x00\x00\x0b\x1a\x41\x10\x0b\x6a\x0b\x96\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x41\x08\x0c\x00\x0e\x00\x00\x41\x10\x0b\x6a\x0b"); + +// br.wast:327 +assert_return(() => call($1, "type-i32", [])); + +// br.wast:328 +assert_return(() => call($1, "type-i64", [])); + +// br.wast:329 +assert_return(() => call($1, "type-f32", [])); + +// br.wast:330 +assert_return(() => call($1, "type-f64", [])); + +// br.wast:332 +assert_return(() => call($1, "type-i32-value", []), 1); + +// br.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x69\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-i64-value", []), int64("2")) + +// br.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x33\x32\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x40\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f32-value", []), 3.) + +// br.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f64-value", []), 4.) + +// br.wast:337 +assert_return(() => call($1, "as-block-first", [])); + +// br.wast:338 +assert_return(() => call($1, "as-block-mid", [])); + +// br.wast:339 +assert_return(() => call($1, "as-block-last", [])); + +// br.wast:340 +assert_return(() => call($1, "as-block-value", []), 2); + +// br.wast:342 +assert_return(() => call($1, "as-loop-first", []), 3); + +// br.wast:343 +assert_return(() => call($1, "as-loop-mid", []), 4); + +// br.wast:344 +assert_return(() => call($1, "as-loop-last", []), 5); + +// br.wast:346 +assert_return(() => call($1, "as-br-value", []), 9); + +// br.wast:348 +assert_return(() => call($1, "as-br_if-cond", [])); + +// br.wast:349 +assert_return(() => call($1, "as-br_if-value", []), 8); + +// br.wast:350 +assert_return(() => call($1, "as-br_if-value-cond", []), 9); + +// br.wast:352 +assert_return(() => call($1, "as-br_table-index", [])); + +// br.wast:353 +assert_return(() => call($1, "as-br_table-value", []), 10); + +// br.wast:354 +assert_return(() => call($1, "as-br_table-value-index", []), 11); + +// br.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-return-value", []), int64("7")) + +// br.wast:358 +assert_return(() => call($1, "as-if-cond", []), 2); + +// br.wast:359 +assert_return(() => call($1, "as-if-then", [1, 6]), 3); + +// br.wast:360 +assert_return(() => call($1, "as-if-then", [0, 6]), 6); + +// br.wast:361 +assert_return(() => call($1, "as-if-else", [0, 6]), 4); + +// br.wast:362 +assert_return(() => call($1, "as-if-else", [1, 6]), 6); + +// br.wast:364 +assert_return(() => call($1, "as-select-first", [0, 6]), 5); + +// br.wast:365 +assert_return(() => call($1, "as-select-first", [1, 6]), 5); + +// br.wast:366 +assert_return(() => call($1, "as-select-second", [0, 6]), 6); + +// br.wast:367 +assert_return(() => call($1, "as-select-second", [1, 6]), 6); + +// br.wast:368 +assert_return(() => call($1, "as-select-cond", []), 7); + +// br.wast:370 +assert_return(() => call($1, "as-call-first", []), 12); + +// br.wast:371 +assert_return(() => call($1, "as-call-mid", []), 13); + +// br.wast:372 +assert_return(() => call($1, "as-call-last", []), 14); + +// br.wast:374 +assert_return(() => call($1, "as-call_indirect-func", []), 20); + +// br.wast:375 +assert_return(() => call($1, "as-call_indirect-first", []), 21); + +// br.wast:376 +assert_return(() => call($1, "as-call_indirect-mid", []), 22); + +// br.wast:377 +assert_return(() => call($1, "as-call_indirect-last", []), 23); + +// br.wast:379 +assert_return(() => call($1, "as-set_local-value", []), 17); + +// br.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x9a\x99\xd9\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-load-address", []), 1.70000004768) + +// br.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x1e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-loadN-address", []), int64("30")) + +// br.wast:384 +assert_return(() => call($1, "as-store-address", []), 30); + +// br.wast:385 +assert_return(() => call($1, "as-store-value", []), 31); + +// br.wast:386 +assert_return(() => call($1, "as-storeN-address", []), 32); + +// br.wast:387 +assert_return(() => call($1, "as-storeN-value", []), 33); + +// br.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x9a\x99\x59\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-unary-operand", []), 3.40000009537) + +// br.wast:391 +assert_return(() => call($1, "as-binary-left", []), 3); + +// br.wast:392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x2d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-binary-right", []), int64("45")) + +// br.wast:394 +assert_return(() => call($1, "as-test-operand", []), 44); + +// br.wast:396 +assert_return(() => call($1, "as-compare-left", []), 43); + +// br.wast:397 +assert_return(() => call($1, "as-compare-right", []), 42); + +// br.wast:399 +assert_return(() => call($1, "as-convert-operand", []), 41); + +// br.wast:401 +assert_return(() => call($1, "as-grow_memory-size", []), 40); + +// br.wast:403 +assert_return(() => call($1, "nested-block-value", []), 9); + +// br.wast:404 +assert_return(() => call($1, "nested-br-value", []), 9); + +// br.wast:405 +assert_return(() => call($1, "nested-br_if-value", []), 9); + +// br.wast:406 +assert_return(() => call($1, "nested-br_if-value-cond", []), 9); + +// br.wast:407 +assert_return(() => call($1, "nested-br_table-value", []), 9); + +// br.wast:408 +assert_return(() => call($1, "nested-br_table-value-index", []), 9); + +// br.wast:410 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x7f\x0c\x00\x41\x01\x0b\x0b"); + +// br.wast:417 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x7f\x01\x0c\x00\x41\x01\x0b\x0b"); + +// br.wast:423 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x02\x40\x0c\x01\x0b\x0b\x0b"); + +// br.wast:429 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x7f\x42\x01\x0c\x00\x41\x01\x0b\x0b"); + +// br.wast:436 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x0c\x01\x0b"); + +// br.wast:440 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x02\x40\x0c\x05\x0b\x0b\x0b"); + +// br.wast:444 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x0c\x81\x80\x80\x80\x01\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/br_if.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/br_if.wast.js new file mode 100644 index 0000000000..f97edc6e7f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/br_if.wast.js @@ -0,0 +1,177 @@ + +// br_if.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x92\x80\x80\x80\x00\x04\x60\x00\x00\x60\x01\x7f\x01\x7f\x60\x01\x7f\x00\x60\x02\x7f\x7f\x00\x03\x93\x80\x80\x80\x00\x12\x00\x01\x01\x02\x01\x01\x01\x01\x01\x02\x03\x03\x01\x01\x01\x01\x01\x01\x07\xc6\x82\x80\x80\x00\x11\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x00\x01\x0c\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x00\x02\x0d\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x00\x03\x14\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x2d\x76\x61\x6c\x75\x65\x00\x04\x12\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x2d\x76\x61\x6c\x75\x65\x00\x05\x13\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x2d\x76\x61\x6c\x75\x65\x00\x06\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x66\x69\x72\x73\x74\x00\x07\x0b\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6d\x69\x64\x00\x08\x0c\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6c\x61\x73\x74\x00\x09\x0a\x61\x73\x2d\x69\x66\x2d\x74\x68\x65\x6e\x00\x0a\x0a\x61\x73\x2d\x69\x66\x2d\x65\x6c\x73\x65\x00\x0b\x12\x6e\x65\x73\x74\x65\x64\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0c\x0f\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x0d\x12\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x0e\x17\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x0f\x15\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x10\x1b\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x11\x0a\xb5\x83\x80\x80\x00\x12\x82\x80\x80\x80\x00\x00\x0b\x8e\x80\x80\x80\x00\x00\x02\x40\x20\x00\x0d\x00\x41\x02\x0f\x0b\x41\x03\x0b\x90\x80\x80\x80\x00\x00\x02\x40\x10\x00\x20\x00\x0d\x00\x41\x02\x0f\x0b\x41\x03\x0b\x8d\x80\x80\x80\x00\x00\x02\x40\x10\x00\x10\x00\x20\x00\x0d\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x0a\x20\x00\x0d\x00\x1a\x41\x0b\x0f\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\x14\x20\x00\x0d\x00\x1a\x41\x15\x0f\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x10\x00\x41\x0b\x20\x00\x0d\x00\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x40\x03\x40\x20\x00\x0d\x01\x41\x02\x0f\x0b\x0b\x41\x03\x0b\x93\x80\x80\x80\x00\x00\x02\x40\x03\x40\x10\x00\x20\x00\x0d\x01\x41\x02\x0f\x0b\x0b\x41\x04\x0b\x8b\x80\x80\x80\x00\x00\x03\x40\x10\x00\x20\x00\x0d\x01\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x40\x20\x00\x04\x40\x20\x01\x0d\x01\x05\x10\x00\x0b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x40\x20\x00\x04\x40\x10\x00\x05\x20\x01\x0d\x01\x0b\x0b\x0b\x9a\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x02\x7f\x41\x08\x20\x00\x0d\x01\x1a\x41\x10\x0b\x6a\x0b\x6a\x0b\x9b\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x08\x20\x00\x0d\x01\x1a\x41\x04\x0b\x0c\x00\x41\x10\x0b\x6a\x0b\x9e\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x08\x20\x00\x0d\x01\x1a\x41\x04\x0b\x41\x01\x0d\x00\x1a\x41\x10\x0b\x6a\x0b\x9e\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x02\x7f\x41\x08\x20\x00\x0d\x01\x1a\x41\x01\x0b\x0d\x00\x1a\x41\x10\x0b\x6a\x0b\x9e\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x08\x20\x00\x0d\x01\x1a\x41\x04\x0b\x41\x01\x0e\x00\x00\x41\x10\x0b\x6a\x0b\x9e\x80\x80\x80\x00\x00\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x02\x7f\x41\x08\x20\x00\x0d\x01\x1a\x41\x01\x0b\x0e\x00\x00\x41\x10\x0b\x6a\x0b"); + +// br_if.wast:152 +assert_return(() => call($1, "as-block-first", [0]), 2); + +// br_if.wast:153 +assert_return(() => call($1, "as-block-first", [1]), 3); + +// br_if.wast:154 +assert_return(() => call($1, "as-block-mid", [0]), 2); + +// br_if.wast:155 +assert_return(() => call($1, "as-block-mid", [1]), 3); + +// br_if.wast:156 +assert_return(() => call($1, "as-block-last", [0])); + +// br_if.wast:157 +assert_return(() => call($1, "as-block-last", [1])); + +// br_if.wast:158 +assert_return(() => call($1, "as-block-last-value", [0]), 11); + +// br_if.wast:159 +assert_return(() => call($1, "as-block-last-value", [1]), 11); + +// br_if.wast:161 +assert_return(() => call($1, "as-loop-first", [0]), 2); + +// br_if.wast:162 +assert_return(() => call($1, "as-loop-first", [1]), 3); + +// br_if.wast:163 +assert_return(() => call($1, "as-loop-mid", [0]), 2); + +// br_if.wast:164 +assert_return(() => call($1, "as-loop-mid", [1]), 4); + +// br_if.wast:165 +assert_return(() => call($1, "as-loop-last", [0])); + +// br_if.wast:166 +assert_return(() => call($1, "as-loop-last", [1])); + +// br_if.wast:168 +assert_return(() => call($1, "as-if-then", [0, 0])); + +// br_if.wast:169 +assert_return(() => call($1, "as-if-then", [4, 0])); + +// br_if.wast:170 +assert_return(() => call($1, "as-if-then", [0, 1])); + +// br_if.wast:171 +assert_return(() => call($1, "as-if-then", [4, 1])); + +// br_if.wast:172 +assert_return(() => call($1, "as-if-else", [0, 0])); + +// br_if.wast:173 +assert_return(() => call($1, "as-if-else", [3, 0])); + +// br_if.wast:174 +assert_return(() => call($1, "as-if-else", [0, 1])); + +// br_if.wast:175 +assert_return(() => call($1, "as-if-else", [3, 1])); + +// br_if.wast:177 +assert_return(() => call($1, "nested-block-value", [0]), 21); + +// br_if.wast:178 +assert_return(() => call($1, "nested-block-value", [1]), 9); + +// br_if.wast:179 +assert_return(() => call($1, "nested-br-value", [0]), 5); + +// br_if.wast:180 +assert_return(() => call($1, "nested-br-value", [1]), 9); + +// br_if.wast:181 +assert_return(() => call($1, "nested-br_if-value", [0]), 5); + +// br_if.wast:182 +assert_return(() => call($1, "nested-br_if-value", [1]), 9); + +// br_if.wast:183 +assert_return(() => call($1, "nested-br_if-value-cond", [0]), 5); + +// br_if.wast:184 +assert_return(() => call($1, "nested-br_if-value-cond", [1]), 9); + +// br_if.wast:185 +assert_return(() => call($1, "nested-br_table-value", [0]), 5); + +// br_if.wast:186 +assert_return(() => call($1, "nested-br_table-value", [1]), 9); + +// br_if.wast:187 +assert_return(() => call($1, "nested-br_table-value-index", [0]), 5); + +// br_if.wast:188 +assert_return(() => call($1, "nested-br_table-value-index", [1]), 9); + +// br_if.wast:190 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0d\x00\x68\x0b\x0b"); + +// br_if.wast:194 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0d\x00\x7a\x0b\x0b"); + +// br_if.wast:198 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0d\x00\x8c\x0b\x0b"); + +// br_if.wast:202 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0d\x00\x9a\x0b\x0b"); + +// br_if.wast:207 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0d\x00\x68\x0b\x0b"); + +// br_if.wast:211 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x42\x01\x0d\x00\x7a\x0b\x0b"); + +// br_if.wast:215 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x0d\x00\x8c\x0b\x0b"); + +// br_if.wast:219 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x42\x01\x0d\x00\x9a\x0b\x0b"); + +// br_if.wast:224 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x0d\x00\x41\x01\x0b\x0b"); + +// br_if.wast:230 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x0d\x00\x41\x01\x0b\x0b"); + +// br_if.wast:236 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x00\x0d\x00\x0b\x0b"); + +// br_if.wast:242 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x01\x0d\x00\x0b\x0b"); + +// br_if.wast:249 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x7f\x01\x41\x00\x0d\x00\x41\x01\x0b\x0b"); + +// br_if.wast:255 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x7f\x01\x41\x01\x0d\x00\x41\x01\x0b\x0b"); + +// br_if.wast:261 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x42\x01\x41\x00\x0d\x00\x1a\x41\x01\x0b\x0b"); + +// br_if.wast:269 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x42\x01\x41\x00\x0d\x00\x1a\x41\x01\x0b\x0b"); + +// br_if.wast:278 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x02\x40\x01\x0d\x00\x0b\x0b"); + +// br_if.wast:284 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x42\x00\x0d\x00\x0b\x0b"); + +// br_if.wast:290 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x01\x0d\x00\x41\x01\x0b\x0b"); + +// br_if.wast:296 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x02\x40\x41\x01\x0d\x01\x0b\x0b\x0b"); + +// br_if.wast:302 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x42\x00\x0d\x00\x41\x01\x0b\x0b"); + +// br_if.wast:309 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x41\x01\x0d\x01\x0b"); + +// br_if.wast:313 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x02\x40\x41\x01\x0d\x05\x0b\x0b\x0b"); + +// br_if.wast:317 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x01\x0d\x81\x80\x80\x80\x01\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/br_table.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/br_table.wast.js new file mode 100644 index 0000000000..0c97cc54cf --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/br_table.wast.js @@ -0,0 +1,480 @@ + +// br_table.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xad\x80\x80\x80\x00\x09\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x01\x7f\x01\x7f\x60\x02\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x01\x7f\x03\xc4\x80\x80\x80\x00\x43\x00\x00\x00\x00\x00\x01\x02\x03\x04\x05\x05\x05\x05\x05\x05\x05\x00\x00\x00\x01\x01\x01\x01\x01\x00\x01\x01\x00\x01\x01\x02\x01\x06\x06\x06\x06\x01\x07\x01\x01\x01\x01\x01\x01\x01\x01\x03\x02\x01\x01\x01\x01\x03\x01\x02\x01\x01\x01\x01\x01\x05\x05\x05\x05\x05\x05\x05\x04\x85\x80\x80\x80\x00\x01\x70\x01\x01\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xff\x88\x80\x80\x00\x41\x08\x74\x79\x70\x65\x2d\x69\x33\x32\x00\x01\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x02\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x03\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x04\x0e\x74\x79\x70\x65\x2d\x69\x33\x32\x2d\x76\x61\x6c\x75\x65\x00\x05\x0e\x74\x79\x70\x65\x2d\x69\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x06\x0e\x74\x79\x70\x65\x2d\x66\x33\x32\x2d\x76\x61\x6c\x75\x65\x00\x07\x0e\x74\x79\x70\x65\x2d\x66\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x08\x05\x65\x6d\x70\x74\x79\x00\x09\x0b\x65\x6d\x70\x74\x79\x2d\x76\x61\x6c\x75\x65\x00\x0a\x09\x73\x69\x6e\x67\x6c\x65\x74\x6f\x6e\x00\x0b\x0f\x73\x69\x6e\x67\x6c\x65\x74\x6f\x6e\x2d\x76\x61\x6c\x75\x65\x00\x0c\x08\x6d\x75\x6c\x74\x69\x70\x6c\x65\x00\x0d\x0e\x6d\x75\x6c\x74\x69\x70\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x0e\x05\x6c\x61\x72\x67\x65\x00\x0f\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x00\x10\x0c\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x00\x11\x0d\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x00\x12\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x13\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x66\x69\x72\x73\x74\x00\x14\x0b\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6d\x69\x64\x00\x15\x0c\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6c\x61\x73\x74\x00\x16\x0b\x61\x73\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x17\x0d\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x63\x6f\x6e\x64\x00\x18\x0e\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x19\x13\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x1a\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x69\x6e\x64\x65\x78\x00\x1b\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x1c\x17\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x1d\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x1e\x0a\x61\x73\x2d\x69\x66\x2d\x63\x6f\x6e\x64\x00\x1f\x0a\x61\x73\x2d\x69\x66\x2d\x74\x68\x65\x6e\x00\x20\x0a\x61\x73\x2d\x69\x66\x2d\x65\x6c\x73\x65\x00\x21\x0f\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x22\x10\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x73\x65\x63\x6f\x6e\x64\x00\x23\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x63\x6f\x6e\x64\x00\x24\x0d\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x66\x69\x72\x73\x74\x00\x26\x0b\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6d\x69\x64\x00\x27\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6c\x61\x73\x74\x00\x28\x16\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x29\x14\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6d\x69\x64\x00\x2a\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6c\x61\x73\x74\x00\x2b\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x75\x6e\x63\x00\x2c\x12\x61\x73\x2d\x73\x65\x74\x5f\x6c\x6f\x63\x61\x6c\x2d\x76\x61\x6c\x75\x65\x00\x2d\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2e\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2f\x10\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x30\x0e\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x76\x61\x6c\x75\x65\x00\x31\x11\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x32\x0f\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x76\x61\x6c\x75\x65\x00\x33\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x34\x0e\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6c\x65\x66\x74\x00\x35\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x36\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x37\x0f\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6c\x65\x66\x74\x00\x38\x10\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x72\x69\x67\x68\x74\x00\x39\x12\x61\x73\x2d\x63\x6f\x6e\x76\x65\x72\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x3a\x13\x61\x73\x2d\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x2d\x73\x69\x7a\x65\x00\x3b\x12\x6e\x65\x73\x74\x65\x64\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x3c\x0f\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x3d\x12\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x3e\x17\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x3f\x15\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x40\x1b\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x41\x1a\x6e\x65\x73\x74\x65\x64\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x6c\x6f\x6f\x70\x2d\x62\x6c\x6f\x63\x6b\x00\x42\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x25\x0a\xb8\xcd\x81\x80\x00\x43\x82\x80\x80\x80\x00\x00\x0b\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x01\x00\x00\x68\x1a\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x01\x00\x00\x7a\x1a\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x01\x00\x00\x8c\x1a\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x01\x00\x00\x9a\x1a\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x41\x00\x0e\x01\x00\x00\x68\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7e\x42\x02\x41\x00\x0e\x01\x00\x00\x7a\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7d\x43\x00\x00\x40\x40\x41\x00\x0e\x01\x00\x00\x8c\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7c\x44\x00\x00\x00\x00\x00\x00\x10\x40\x41\x00\x0e\x01\x00\x00\x9a\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x40\x20\x00\x0e\x00\x00\x41\x15\x0f\x0b\x41\x16\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x21\x20\x00\x0e\x00\x00\x41\x1f\x0b\x0b\x96\x80\x80\x80\x00\x00\x02\x40\x02\x40\x20\x00\x0e\x01\x01\x00\x41\x15\x0f\x0b\x41\x14\x0f\x0b\x41\x16\x0b\x96\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x41\x21\x20\x00\x0e\x01\x00\x01\x41\x1f\x0f\x0b\x1a\x41\x20\x0b\x0b\xb1\x80\x80\x80\x00\x00\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x20\x00\x0e\x04\x03\x02\x01\x00\x04\x41\xe3\x00\x0f\x0b\x41\xe4\x00\x0f\x0b\x41\xe5\x00\x0f\x0b\x41\xe6\x00\x0f\x0b\x41\xe7\x00\x0f\x0b\x41\xe8\x00\x0b\xcd\x80\x80\x80\x00\x01\x01\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x02\x7f\x41\xc8\x01\x20\x00\x0e\x04\x03\x02\x01\x00\x04\x20\x01\x41\xe3\x00\x6a\x0f\x0b\x21\x01\x20\x01\x41\x0a\x6a\x0f\x0b\x21\x01\x20\x01\x41\x0b\x6a\x0f\x0b\x21\x01\x20\x01\x41\x0c\x6a\x0f\x0b\x21\x01\x20\x01\x41\x0d\x6a\x0f\x0b\x21\x01\x20\x01\x41\x0e\x6a\x0b\xbf\xc0\x81\x80\x00\x00\x02\x40\x02\x40\x20\x00\x0e\xa7\xc0\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x00\x01\x41\x7f\x0f\x0b\x41\x00\x0f\x0b\x41\x01\x0f\x0b\x8e\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x02\x00\x00\x00\x10\x00\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x40\x10\x00\x41\x00\x0e\x02\x00\x00\x00\x10\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x40\x01\x10\x00\x41\x00\x0e\x02\x00\x00\x00\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x01\x10\x00\x41\x02\x41\x00\x0e\x02\x00\x00\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x03\x7f\x41\x03\x41\x00\x0e\x01\x01\x01\x41\x01\x0b\x0b\x92\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x41\x04\x41\x7f\x0e\x02\x01\x01\x01\x41\x02\x0b\x0b\x91\x80\x80\x80\x00\x00\x03\x7f\x01\x10\x00\x41\x05\x41\x01\x0e\x02\x01\x01\x01\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x09\x0c\x00\x0c\x00\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x02\x00\x00\x00\x0d\x00\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x08\x41\x00\x0e\x00\x00\x41\x01\x0d\x00\x1a\x41\x07\x0b\x0b\x94\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x41\x09\x41\x00\x0e\x01\x00\x00\x0d\x00\x1a\x41\x07\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x00\x00\x0e\x02\x00\x00\x00\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x41\x0a\x41\x00\x0e\x00\x00\x41\x01\x0e\x02\x00\x00\x00\x41\x07\x0b\x0b\x94\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x41\x0b\x41\x01\x0e\x00\x00\x0e\x01\x00\x00\x41\x07\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7e\x42\x07\x41\x00\x0e\x00\x00\x0f\x0b\x0b\x94\x80\x80\x80\x00\x00\x02\x7f\x41\x02\x41\x00\x0e\x00\x00\x04\x7f\x41\x00\x05\x41\x01\x0b\x0b\x0b\x94\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x04\x7f\x41\x03\x41\x00\x0e\x00\x01\x05\x20\x01\x0b\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x04\x7f\x20\x01\x05\x41\x04\x41\x00\x0e\x01\x01\x00\x0b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x41\x05\x41\x00\x0e\x00\x00\x20\x00\x20\x01\x1b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x41\x06\x41\x01\x0e\x00\x00\x20\x01\x1b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x01\x41\x07\x41\x01\x0e\x00\x00\x1b\x0b\x0b\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x0c\x41\x01\x0e\x00\x00\x41\x02\x41\x03\x10\x25\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x41\x0d\x41\x01\x0e\x00\x00\x41\x03\x10\x25\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x41\x02\x41\x0e\x41\x01\x0e\x00\x00\x10\x25\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x41\x14\x41\x01\x0e\x00\x00\x41\x01\x41\x02\x41\x03\x11\x08\x00\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x15\x41\x01\x0e\x00\x00\x41\x02\x41\x03\x11\x08\x00\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x01\x41\x16\x41\x01\x0e\x00\x00\x41\x03\x11\x08\x00\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x41\x01\x41\x02\x41\x17\x41\x01\x0e\x00\x00\x11\x08\x00\x0b\x0b\x92\x80\x80\x80\x00\x01\x01\x7d\x02\x7f\x41\x11\x41\x01\x0e\x00\x00\x21\x00\x41\x7f\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7d\x43\x9a\x99\xd9\x3f\x41\x01\x0e\x00\x00\x2a\x02\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7e\x42\x1e\x41\x01\x0e\x00\x00\x30\x00\x00\x0b\x0b\x9a\x80\x80\x80\x00\x00\x02\x7f\x41\x1e\x41\x01\x0e\x00\x00\x44\x00\x00\x00\x00\x00\x00\x1c\x40\x39\x03\x00\x41\x7f\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x02\x41\x1f\x41\x01\x0e\x00\x00\x37\x03\x00\x41\x7f\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x20\x41\x00\x0e\x00\x00\x41\x07\x3a\x00\x00\x41\x7f\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x02\x41\x21\x41\x00\x0e\x00\x00\x3d\x01\x00\x41\x7f\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7d\x43\x9a\x99\x59\x40\x41\x00\x0e\x00\x00\x8c\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x41\x00\x0e\x01\x00\x00\x41\x0a\x6a\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7e\x42\x0a\x42\x2d\x41\x00\x0e\x00\x00\x7d\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x2c\x41\x00\x0e\x00\x00\x45\x0b\x0b\x97\x80\x80\x80\x00\x00\x02\x7f\x41\x2b\x41\x00\x0e\x01\x00\x00\x44\x00\x00\x00\x00\x00\x00\x24\x40\x65\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x20\x41\x41\x2a\x41\x00\x0e\x00\x00\x5c\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x29\x41\x00\x0e\x00\x00\xa7\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x28\x41\x00\x0e\x00\x00\x40\x00\x0b\x0b\xa3\x80\x80\x80\x00\x00\x02\x7f\x41\x7f\x1a\x41\x01\x02\x7f\x41\x02\x02\x7f\x41\x04\x1a\x41\x08\x41\x10\x20\x00\x0e\x02\x00\x01\x02\x6a\x0b\x6a\x0b\x6a\x0b\x0b\xa2\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x04\x1a\x41\x08\x20\x00\x0e\x02\x02\x01\x00\x0c\x00\x0b\x1a\x41\x10\x0b\x6a\x0b\x0b\xa7\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x04\x1a\x41\x08\x20\x00\x0e\x02\x00\x01\x02\x41\x01\x0d\x00\x1a\x41\x20\x0b\x1a\x41\x10\x0b\x6a\x0b\x0b\x9e\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x41\x08\x20\x00\x0e\x02\x00\x01\x00\x0d\x00\x1a\x41\x10\x0b\x6a\x0b\x0b\xa7\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x02\x7f\x41\x02\x1a\x02\x7f\x41\x04\x1a\x41\x08\x20\x00\x0e\x02\x00\x01\x02\x41\x01\x0e\x00\x00\x41\x20\x0b\x1a\x41\x10\x0b\x6a\x0b\x0b\x9e\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x02\x7f\x41\x02\x1a\x41\x04\x41\x08\x20\x00\x0e\x02\x00\x01\x00\x0e\x00\x00\x41\x10\x0b\x6a\x0b\x0b\xa2\x80\x80\x80\x00\x00\x03\x7f\x02\x40\x20\x00\x0e\x02\x01\x00\x00\x0b\x41\x00\x0b\x21\x00\x03\x7f\x02\x40\x20\x00\x0e\x02\x00\x01\x01\x0b\x41\x03\x0b\x0b"); + +// br_table.wast:1233 +assert_return(() => call($1, "type-i32", [])); + +// br_table.wast:1234 +assert_return(() => call($1, "type-i64", [])); + +// br_table.wast:1235 +assert_return(() => call($1, "type-f32", [])); + +// br_table.wast:1236 +assert_return(() => call($1, "type-f64", [])); + +// br_table.wast:1238 +assert_return(() => call($1, "type-i32-value", []), 1); + +// br_table.wast:1239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x69\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-i64-value", []), int64("2")) + +// br_table.wast:1240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x33\x32\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x40\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f32-value", []), 3.) + +// br_table.wast:1241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x36\x34\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f64-value", []), 4.) + +// br_table.wast:1243 +assert_return(() => call($1, "empty", [0]), 22); + +// br_table.wast:1244 +assert_return(() => call($1, "empty", [1]), 22); + +// br_table.wast:1245 +assert_return(() => call($1, "empty", [11]), 22); + +// br_table.wast:1246 +assert_return(() => call($1, "empty", [-1]), 22); + +// br_table.wast:1247 +assert_return(() => call($1, "empty", [-100]), 22); + +// br_table.wast:1248 +assert_return(() => call($1, "empty", [-1]), 22); + +// br_table.wast:1250 +assert_return(() => call($1, "empty-value", [0]), 33); + +// br_table.wast:1251 +assert_return(() => call($1, "empty-value", [1]), 33); + +// br_table.wast:1252 +assert_return(() => call($1, "empty-value", [11]), 33); + +// br_table.wast:1253 +assert_return(() => call($1, "empty-value", [-1]), 33); + +// br_table.wast:1254 +assert_return(() => call($1, "empty-value", [-100]), 33); + +// br_table.wast:1255 +assert_return(() => call($1, "empty-value", [-1]), 33); + +// br_table.wast:1257 +assert_return(() => call($1, "singleton", [0]), 22); + +// br_table.wast:1258 +assert_return(() => call($1, "singleton", [1]), 20); + +// br_table.wast:1259 +assert_return(() => call($1, "singleton", [11]), 20); + +// br_table.wast:1260 +assert_return(() => call($1, "singleton", [-1]), 20); + +// br_table.wast:1261 +assert_return(() => call($1, "singleton", [-100]), 20); + +// br_table.wast:1262 +assert_return(() => call($1, "singleton", [-1]), 20); + +// br_table.wast:1264 +assert_return(() => call($1, "singleton-value", [0]), 32); + +// br_table.wast:1265 +assert_return(() => call($1, "singleton-value", [1]), 33); + +// br_table.wast:1266 +assert_return(() => call($1, "singleton-value", [11]), 33); + +// br_table.wast:1267 +assert_return(() => call($1, "singleton-value", [-1]), 33); + +// br_table.wast:1268 +assert_return(() => call($1, "singleton-value", [-100]), 33); + +// br_table.wast:1269 +assert_return(() => call($1, "singleton-value", [-1]), 33); + +// br_table.wast:1271 +assert_return(() => call($1, "multiple", [0]), 103); + +// br_table.wast:1272 +assert_return(() => call($1, "multiple", [1]), 102); + +// br_table.wast:1273 +assert_return(() => call($1, "multiple", [2]), 101); + +// br_table.wast:1274 +assert_return(() => call($1, "multiple", [3]), 100); + +// br_table.wast:1275 +assert_return(() => call($1, "multiple", [4]), 104); + +// br_table.wast:1276 +assert_return(() => call($1, "multiple", [5]), 104); + +// br_table.wast:1277 +assert_return(() => call($1, "multiple", [6]), 104); + +// br_table.wast:1278 +assert_return(() => call($1, "multiple", [10]), 104); + +// br_table.wast:1279 +assert_return(() => call($1, "multiple", [-1]), 104); + +// br_table.wast:1280 +assert_return(() => call($1, "multiple", [-1]), 104); + +// br_table.wast:1282 +assert_return(() => call($1, "multiple-value", [0]), 213); + +// br_table.wast:1283 +assert_return(() => call($1, "multiple-value", [1]), 212); + +// br_table.wast:1284 +assert_return(() => call($1, "multiple-value", [2]), 211); + +// br_table.wast:1285 +assert_return(() => call($1, "multiple-value", [3]), 210); + +// br_table.wast:1286 +assert_return(() => call($1, "multiple-value", [4]), 214); + +// br_table.wast:1287 +assert_return(() => call($1, "multiple-value", [5]), 214); + +// br_table.wast:1288 +assert_return(() => call($1, "multiple-value", [6]), 214); + +// br_table.wast:1289 +assert_return(() => call($1, "multiple-value", [10]), 214); + +// br_table.wast:1290 +assert_return(() => call($1, "multiple-value", [-1]), 214); + +// br_table.wast:1291 +assert_return(() => call($1, "multiple-value", [-1]), 214); + +// br_table.wast:1293 +assert_return(() => call($1, "large", [0]), 0); + +// br_table.wast:1294 +assert_return(() => call($1, "large", [1]), 1); + +// br_table.wast:1295 +assert_return(() => call($1, "large", [100]), 0); + +// br_table.wast:1296 +assert_return(() => call($1, "large", [101]), 1); + +// br_table.wast:1297 +assert_return(() => call($1, "large", [10000]), 0); + +// br_table.wast:1298 +assert_return(() => call($1, "large", [10001]), 1); + +// br_table.wast:1299 +assert_return(() => call($1, "large", [1000000]), 1); + +// br_table.wast:1300 +assert_return(() => call($1, "large", [1000001]), 1); + +// br_table.wast:1302 +assert_return(() => call($1, "as-block-first", [])); + +// br_table.wast:1303 +assert_return(() => call($1, "as-block-mid", [])); + +// br_table.wast:1304 +assert_return(() => call($1, "as-block-last", [])); + +// br_table.wast:1305 +assert_return(() => call($1, "as-block-value", []), 2); + +// br_table.wast:1307 +assert_return(() => call($1, "as-loop-first", []), 3); + +// br_table.wast:1308 +assert_return(() => call($1, "as-loop-mid", []), 4); + +// br_table.wast:1309 +assert_return(() => call($1, "as-loop-last", []), 5); + +// br_table.wast:1311 +assert_return(() => call($1, "as-br-value", []), 9); + +// br_table.wast:1313 +assert_return(() => call($1, "as-br_if-cond", [])); + +// br_table.wast:1314 +assert_return(() => call($1, "as-br_if-value", []), 8); + +// br_table.wast:1315 +assert_return(() => call($1, "as-br_if-value-cond", []), 9); + +// br_table.wast:1317 +assert_return(() => call($1, "as-br_table-index", [])); + +// br_table.wast:1318 +assert_return(() => call($1, "as-br_table-value", []), 10); + +// br_table.wast:1319 +assert_return(() => call($1, "as-br_table-value-index", []), 11); + +// br_table.wast:1321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-return-value", []), int64("7")) + +// br_table.wast:1323 +assert_return(() => call($1, "as-if-cond", []), 2); + +// br_table.wast:1324 +assert_return(() => call($1, "as-if-then", [1, 6]), 3); + +// br_table.wast:1325 +assert_return(() => call($1, "as-if-then", [0, 6]), 6); + +// br_table.wast:1326 +assert_return(() => call($1, "as-if-else", [0, 6]), 4); + +// br_table.wast:1327 +assert_return(() => call($1, "as-if-else", [1, 6]), 6); + +// br_table.wast:1329 +assert_return(() => call($1, "as-select-first", [0, 6]), 5); + +// br_table.wast:1330 +assert_return(() => call($1, "as-select-first", [1, 6]), 5); + +// br_table.wast:1331 +assert_return(() => call($1, "as-select-second", [0, 6]), 6); + +// br_table.wast:1332 +assert_return(() => call($1, "as-select-second", [1, 6]), 6); + +// br_table.wast:1333 +assert_return(() => call($1, "as-select-cond", []), 7); + +// br_table.wast:1335 +assert_return(() => call($1, "as-call-first", []), 12); + +// br_table.wast:1336 +assert_return(() => call($1, "as-call-mid", []), 13); + +// br_table.wast:1337 +assert_return(() => call($1, "as-call-last", []), 14); + +// br_table.wast:1339 +assert_return(() => call($1, "as-call_indirect-first", []), 20); + +// br_table.wast:1340 +assert_return(() => call($1, "as-call_indirect-mid", []), 21); + +// br_table.wast:1341 +assert_return(() => call($1, "as-call_indirect-last", []), 22); + +// br_table.wast:1342 +assert_return(() => call($1, "as-call_indirect-func", []), 23); + +// br_table.wast:1344 +assert_return(() => call($1, "as-set_local-value", []), 17); + +// br_table.wast:1346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x9a\x99\xd9\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-load-address", []), 1.70000004768) + +// br_table.wast:1347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x1e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-loadN-address", []), int64("30")) + +// br_table.wast:1349 +assert_return(() => call($1, "as-store-address", []), 30); + +// br_table.wast:1350 +assert_return(() => call($1, "as-store-value", []), 31); + +// br_table.wast:1351 +assert_return(() => call($1, "as-storeN-address", []), 32); + +// br_table.wast:1352 +assert_return(() => call($1, "as-storeN-value", []), 33); + +// br_table.wast:1354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x9a\x99\x59\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-unary-operand", []), 3.40000009537) + +// br_table.wast:1356 +assert_return(() => call($1, "as-binary-left", []), 3); + +// br_table.wast:1357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x2d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-binary-right", []), int64("45")) + +// br_table.wast:1359 +assert_return(() => call($1, "as-test-operand", []), 44); + +// br_table.wast:1361 +assert_return(() => call($1, "as-compare-left", []), 43); + +// br_table.wast:1362 +assert_return(() => call($1, "as-compare-right", []), 42); + +// br_table.wast:1364 +assert_return(() => call($1, "as-convert-operand", []), 41); + +// br_table.wast:1366 +assert_return(() => call($1, "as-grow_memory-size", []), 40); + +// br_table.wast:1368 +assert_return(() => call($1, "nested-block-value", [0]), 19); + +// br_table.wast:1369 +assert_return(() => call($1, "nested-block-value", [1]), 17); + +// br_table.wast:1370 +assert_return(() => call($1, "nested-block-value", [2]), 16); + +// br_table.wast:1371 +assert_return(() => call($1, "nested-block-value", [10]), 16); + +// br_table.wast:1372 +assert_return(() => call($1, "nested-block-value", [-1]), 16); + +// br_table.wast:1373 +assert_return(() => call($1, "nested-block-value", [100000]), 16); + +// br_table.wast:1375 +assert_return(() => call($1, "nested-br-value", [0]), 8); + +// br_table.wast:1376 +assert_return(() => call($1, "nested-br-value", [1]), 9); + +// br_table.wast:1377 +assert_return(() => call($1, "nested-br-value", [2]), 17); + +// br_table.wast:1378 +assert_return(() => call($1, "nested-br-value", [11]), 17); + +// br_table.wast:1379 +assert_return(() => call($1, "nested-br-value", [-4]), 17); + +// br_table.wast:1380 +assert_return(() => call($1, "nested-br-value", [10213210]), 17); + +// br_table.wast:1382 +assert_return(() => call($1, "nested-br_if-value", [0]), 17); + +// br_table.wast:1383 +assert_return(() => call($1, "nested-br_if-value", [1]), 9); + +// br_table.wast:1384 +assert_return(() => call($1, "nested-br_if-value", [2]), 8); + +// br_table.wast:1385 +assert_return(() => call($1, "nested-br_if-value", [9]), 8); + +// br_table.wast:1386 +assert_return(() => call($1, "nested-br_if-value", [-9]), 8); + +// br_table.wast:1387 +assert_return(() => call($1, "nested-br_if-value", [999999]), 8); + +// br_table.wast:1389 +assert_return(() => call($1, "nested-br_if-value-cond", [0]), 9); + +// br_table.wast:1390 +assert_return(() => call($1, "nested-br_if-value-cond", [1]), 8); + +// br_table.wast:1391 +assert_return(() => call($1, "nested-br_if-value-cond", [2]), 9); + +// br_table.wast:1392 +assert_return(() => call($1, "nested-br_if-value-cond", [3]), 9); + +// br_table.wast:1393 +assert_return(() => call($1, "nested-br_if-value-cond", [-1000000]), 9); + +// br_table.wast:1394 +assert_return(() => call($1, "nested-br_if-value-cond", [9423975]), 9); + +// br_table.wast:1396 +assert_return(() => call($1, "nested-br_table-value", [0]), 17); + +// br_table.wast:1397 +assert_return(() => call($1, "nested-br_table-value", [1]), 9); + +// br_table.wast:1398 +assert_return(() => call($1, "nested-br_table-value", [2]), 8); + +// br_table.wast:1399 +assert_return(() => call($1, "nested-br_table-value", [9]), 8); + +// br_table.wast:1400 +assert_return(() => call($1, "nested-br_table-value", [-9]), 8); + +// br_table.wast:1401 +assert_return(() => call($1, "nested-br_table-value", [999999]), 8); + +// br_table.wast:1403 +assert_return(() => call($1, "nested-br_table-value-index", [0]), 9); + +// br_table.wast:1404 +assert_return(() => call($1, "nested-br_table-value-index", [1]), 8); + +// br_table.wast:1405 +assert_return(() => call($1, "nested-br_table-value-index", [2]), 9); + +// br_table.wast:1406 +assert_return(() => call($1, "nested-br_table-value-index", [3]), 9); + +// br_table.wast:1407 +assert_return(() => call($1, "nested-br_table-value-index", [-1000000]), 9); + +// br_table.wast:1408 +assert_return(() => call($1, "nested-br_table-value-index", [9423975]), 9); + +// br_table.wast:1410 +assert_return(() => call($1, "nested-br_table-loop-block", [1]), 3); + +// br_table.wast:1412 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x00\x00\x41\x01\x0b\x0b"); + +// br_table.wast:1419 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x7f\x01\x41\x01\x0e\x00\x00\x41\x01\x0b\x0b"); + +// br_table.wast:1425 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x7f\x42\x01\x41\x01\x0e\x02\x00\x00\x00\x41\x01\x0b\x0b"); + +// br_table.wast:1433 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x02\x7d\x43\x00\x00\x00\x00\x41\x00\x0e\x01\x00\x01\x0b\x1a\x0b\x0b"); + +// br_table.wast:1445 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x01\x0e\x02\x00\x00\x00\x0b\x0b"); + +// br_table.wast:1451 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x02\x40\x42\x00\x0e\x00\x00\x0b\x0b"); + +// br_table.wast:1457 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x01\x0e\x01\x00\x00\x41\x01\x0b\x0b"); + +// br_table.wast:1463 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x02\x40\x41\x00\x0e\x00\x01\x0b\x0b\x0b"); + +// br_table.wast:1469 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x00\x42\x00\x0e\x01\x00\x00\x41\x01\x0b\x0b"); + +// br_table.wast:1478 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x01\x02\x01\x0b\x0b"); + +// br_table.wast:1484 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x02\x40\x41\x01\x0e\x01\x00\x05\x0b\x0b\x0b"); + +// br_table.wast:1490 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x02\x00\x81\x80\x80\x80\x01\x00\x0b\x0b"); + +// br_table.wast:1497 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x01\x01\x02\x0b\x0b"); + +// br_table.wast:1503 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x02\x40\x41\x01\x0e\x01\x00\x05\x0b\x0b\x0b"); + +// br_table.wast:1509 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0e\x02\x00\x00\x81\x80\x80\x80\x01\x0b\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/break-drop.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/break-drop.wast.js new file mode 100644 index 0000000000..c32853107e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/break-drop.wast.js @@ -0,0 +1,12 @@ + +// break-drop.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x84\x80\x80\x80\x00\x03\x00\x00\x00\x07\x99\x80\x80\x80\x00\x03\x02\x62\x72\x00\x00\x05\x62\x72\x5f\x69\x66\x00\x01\x08\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x02\x0a\xaa\x80\x80\x80\x00\x03\x87\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0d\x00\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x00\x00\x0b\x0b"); + +// break-drop.wast:7 +assert_return(() => call($1, "br", [])); + +// break-drop.wast:8 +assert_return(() => call($1, "br_if", [])); + +// break-drop.wast:9 +assert_return(() => call($1, "br_table", [])); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/call.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/call.wast.js new file mode 100644 index 0000000000..f9177e9ced --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/call.wast.js @@ -0,0 +1,144 @@ + +// call.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xcb\x80\x80\x80\x00\x0f\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x60\x02\x7d\x7f\x01\x7f\x60\x02\x7f\x7e\x01\x7e\x60\x02\x7c\x7d\x01\x7d\x60\x02\x7e\x7c\x01\x7c\x60\x02\x7e\x7e\x01\x7e\x60\x01\x7e\x01\x7f\x60\x00\x00\x03\xa1\x80\x80\x80\x00\x20\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x00\x01\x02\x03\x00\x01\x02\x03\x00\x01\x02\x03\x05\x0c\x05\x0d\x0d\x0e\x0e\x0e\x07\xf7\x81\x80\x80\x00\x13\x08\x74\x79\x70\x65\x2d\x69\x33\x32\x00\x0c\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x0d\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x0e\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x0f\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x69\x33\x32\x00\x10\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x11\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x12\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x13\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x33\x32\x00\x14\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x15\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x16\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x17\x03\x66\x61\x63\x00\x18\x07\x66\x61\x63\x2d\x61\x63\x63\x00\x19\x03\x66\x69\x62\x00\x1a\x04\x65\x76\x65\x6e\x00\x1b\x03\x6f\x64\x64\x00\x1c\x07\x72\x75\x6e\x61\x77\x61\x79\x00\x1d\x0e\x6d\x75\x74\x75\x61\x6c\x2d\x72\x75\x6e\x61\x77\x61\x79\x00\x1e\x0a\xbf\x83\x80\x80\x00\x20\x85\x80\x80\x80\x00\x00\x41\xb2\x02\x0b\x85\x80\x80\x80\x00\x00\x42\xe4\x02\x0b\x87\x80\x80\x80\x00\x00\x43\x00\x20\x73\x45\x0b\x8b\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\xc8\xae\x40\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x10\x00\x0b\x84\x80\x80\x80\x00\x00\x10\x01\x0b\x84\x80\x80\x80\x00\x00\x10\x02\x0b\x84\x80\x80\x80\x00\x00\x10\x03\x0b\x86\x80\x80\x80\x00\x00\x41\x20\x10\x04\x0b\x87\x80\x80\x80\x00\x00\x42\xc0\x00\x10\x05\x0b\x89\x80\x80\x80\x00\x00\x43\xc3\xf5\xa8\x3f\x10\x06\x0b\x8d\x80\x80\x80\x00\x00\x44\x3d\x0a\xd7\xa3\x70\x3d\xfa\x3f\x10\x07\x0b\x8b\x80\x80\x80\x00\x00\x43\x66\x66\x00\x42\x41\x20\x10\x08\x0b\x89\x80\x80\x80\x00\x00\x41\x20\x42\xc0\x00\x10\x09\x0b\x92\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x50\x40\x43\x00\x00\x00\x42\x10\x0a\x0b\x90\x80\x80\x80\x00\x00\x42\xc0\x00\x44\x66\x66\x66\x66\x66\x06\x50\x40\x10\x0b\x0b\x95\x80\x80\x80\x00\x00\x20\x00\x50\x04\x7e\x42\x01\x05\x20\x00\x20\x00\x42\x01\x7d\x10\x18\x7e\x0b\x0b\x97\x80\x80\x80\x00\x00\x20\x00\x50\x04\x7e\x20\x01\x05\x20\x00\x42\x01\x7d\x20\x00\x20\x01\x7e\x10\x19\x0b\x0b\x9c\x80\x80\x80\x00\x00\x20\x00\x42\x01\x58\x04\x7e\x42\x01\x05\x20\x00\x42\x02\x7d\x10\x1a\x20\x00\x42\x01\x7d\x10\x1a\x7c\x0b\x0b\x92\x80\x80\x80\x00\x00\x20\x00\x50\x04\x7f\x41\x2c\x05\x20\x00\x42\x01\x7d\x10\x1c\x0b\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x50\x04\x7f\x41\xe3\x00\x05\x20\x00\x42\x01\x7d\x10\x1b\x0b\x0b\x84\x80\x80\x80\x00\x00\x10\x1d\x0b\x84\x80\x80\x80\x00\x00\x10\x1f\x0b\x84\x80\x80\x80\x00\x00\x10\x1e\x0b"); + +// call.wast:111 +assert_return(() => call($1, "type-i32", []), 306); + +// call.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xe4\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-i64", []), int64("356")) + +// call.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x20\x73\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f32", []), 3890.) + +// call.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\xc8\xae\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f64", []), 3940.) + +// call.wast:116 +assert_return(() => call($1, "type-first-i32", []), 32); + +// call.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-first-i64", []), int64("64")) + +// call.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\xc3\xf5\xa8\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-first-f32", []), 1.32000005245) + +// call.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x3d\x0a\xd7\xa3\x70\x3d\xfa\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-first-f64", []), 1.64) + +// call.wast:121 +assert_return(() => call($1, "type-second-i32", []), 32); + +// call.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-second-i64", []), int64("64")) + +// call.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-second-f32", []), 32.) + +// call.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x66\x66\x66\x66\x66\x06\x50\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-second-f64", []), 64.1) + +// call.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("0")]), int64("1")) + +// call.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("1")]), int64("1")) + +// call.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x05\x10\x00\x01\x42\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("5")]), int64("120")) + +// call.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("25")]), int64("7034535277573963776")) + +// call.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x61\x63\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-acc", [int64("0"), int64("1")]), int64("1")) + +// call.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x61\x63\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-acc", [int64("1"), int64("1")]), int64("1")) + +// call.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x61\x63\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x01\x10\x00\x01\x42\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-acc", [int64("5"), int64("1")]), int64("120")) + +// call.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x61\x63\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x19\x42\x01\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-acc", [int64("25"), int64("1")]), int64("7034535277573963776")) + +// call.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("0")]), int64("1")) + +// call.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("1")]), int64("1")) + +// call.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("2")]), int64("2")) + +// call.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x05\x10\x00\x01\x42\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("5")]), int64("8")) + +// call.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x14\x10\x00\x01\x42\xc2\xd5\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("20")]), int64("10946")) + +// call.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x76\x65\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x41\x2c\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "even", [int64("0")]), 44) + +// call.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x76\x65\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x41\xe3\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "even", [int64("1")]), 99) + +// call.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x76\x65\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xe4\x00\x10\x00\x01\x41\x2c\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "even", [int64("100")]), 44) + +// call.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x76\x65\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\xcd\x00\x10\x00\x01\x41\xe3\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "even", [int64("77")]), 99) + +// call.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6f\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x41\xe3\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "odd", [int64("0")]), 99) + +// call.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6f\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x41\x2c\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "odd", [int64("1")]), 44) + +// call.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6f\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\xc8\x01\x10\x00\x01\x41\xe3\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "odd", [int64("200")]), 99) + +// call.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6f\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xcd\x00\x10\x00\x01\x41\x2c\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "odd", [int64("77")]), 44) + +// call.wast:153 +assert_exhaustion(() => call($1, "runaway", [])); + +// call.wast:154 +assert_exhaustion(() => call($1, "mutual-runaway", [])); + +// call.wast:159 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x0a\x92\x80\x80\x80\x00\x02\x85\x80\x80\x80\x00\x00\x10\x01\x45\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:166 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x94\x80\x80\x80\x00\x02\x85\x80\x80\x80\x00\x00\x10\x01\x45\x0b\x84\x80\x80\x80\x00\x00\x42\x01\x0b"); + +// call.wast:174 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x91\x80\x80\x80\x00\x02\x84\x80\x80\x80\x00\x00\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:181 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x91\x80\x80\x80\x00\x02\x84\x80\x80\x80\x00\x00\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:188 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x0a\x93\x80\x80\x80\x00\x02\x86\x80\x80\x80\x00\x00\x41\x01\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:195 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x0a\x9c\x80\x80\x80\x00\x02\x8f\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x40\x41\x01\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:203 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x94\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x01\x41\x01\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:210 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x94\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x41\x01\x01\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:217 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x9c\x80\x80\x80\x00\x02\x8f\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x01\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:224 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7f\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x9c\x80\x80\x80\x00\x02\x8f\x80\x80\x80\x00\x00\x41\x01\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x01\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// call.wast:235 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x10\x01\x0b"); + +// call.wast:239 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x10\x94\x98\xdb\xe2\x03\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/call_indirect.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/call_indirect.wast.js new file mode 100644 index 0000000000..b10e8f3a30 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/call_indirect.wast.js @@ -0,0 +1,204 @@ + +// call_indirect.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xd9\x80\x80\x80\x00\x12\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x60\x02\x7d\x7f\x01\x7f\x60\x02\x7f\x7e\x01\x7e\x60\x02\x7c\x7d\x01\x7d\x60\x02\x7e\x7c\x01\x7c\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x60\x01\x7f\x01\x7e\x03\xa7\x80\x80\x80\x00\x26\x01\x02\x03\x04\x05\x06\x07\x08\x0a\x0c\x09\x0b\x0d\x0e\x0f\x10\x01\x02\x03\x04\x02\x01\x02\x03\x04\x01\x02\x03\x04\x0a\x11\x06\x06\x05\x05\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x17\x17\x07\x9b\x82\x80\x80\x00\x15\x08\x74\x79\x70\x65\x2d\x69\x33\x32\x00\x10\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x11\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x12\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x13\x0a\x74\x79\x70\x65\x2d\x69\x6e\x64\x65\x78\x00\x14\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x69\x33\x32\x00\x15\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x16\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x17\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x18\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x33\x32\x00\x19\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x1a\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x1b\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x1c\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x1d\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x1e\x03\x66\x61\x63\x00\x1f\x03\x66\x69\x62\x00\x20\x04\x65\x76\x65\x6e\x00\x21\x03\x6f\x64\x64\x00\x22\x07\x72\x75\x6e\x61\x77\x61\x79\x00\x23\x0e\x6d\x75\x74\x75\x61\x6c\x2d\x72\x75\x6e\x61\x77\x61\x79\x00\x24\x09\x9d\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x17\x00\x01\x02\x03\x04\x05\x06\x07\x0a\x08\x0b\x09\x1f\x20\x21\x22\x23\x24\x25\x0c\x0d\x0e\x0f\x0a\xae\x84\x80\x80\x00\x26\x85\x80\x80\x80\x00\x00\x41\xb2\x02\x0b\x85\x80\x80\x80\x00\x00\x42\xe4\x02\x0b\x87\x80\x80\x80\x00\x00\x43\x00\x20\x73\x45\x0b\x8b\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\xc8\xae\x40\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x00\x11\x01\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x01\x11\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x02\x11\x03\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x03\x11\x04\x00\x0b\x8a\x80\x80\x80\x00\x00\x42\xe4\x00\x41\x05\x11\x06\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x20\x41\x04\x11\x05\x00\x0b\x8a\x80\x80\x80\x00\x00\x42\xc0\x00\x41\x05\x11\x06\x00\x0b\x8c\x80\x80\x80\x00\x00\x43\xc3\xf5\xa8\x3f\x41\x06\x11\x07\x00\x0b\x90\x80\x80\x80\x00\x00\x44\x3d\x0a\xd7\xa3\x70\x3d\xfa\x3f\x41\x07\x11\x08\x00\x0b\x8e\x80\x80\x80\x00\x00\x43\x66\x66\x00\x42\x41\x20\x41\x08\x11\x09\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x20\x42\xc0\x00\x41\x09\x11\x0a\x00\x0b\x95\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x50\x40\x43\x00\x00\x00\x42\x41\x0a\x11\x0b\x00\x0b\x93\x80\x80\x80\x00\x00\x42\xc0\x00\x44\x66\x66\x66\x66\x66\x06\x50\x40\x41\x0b\x11\x0c\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x01\x20\x00\x11\x06\x00\x0b\x89\x80\x80\x80\x00\x00\x42\x09\x20\x00\x11\x0e\x00\x0b\x98\x80\x80\x80\x00\x00\x20\x00\x50\x04\x7e\x42\x01\x05\x20\x00\x20\x00\x42\x01\x7d\x41\x0c\x11\x06\x00\x7e\x0b\x0b\xa2\x80\x80\x80\x00\x00\x20\x00\x42\x01\x58\x04\x7e\x42\x01\x05\x20\x00\x42\x02\x7d\x41\x0d\x11\x06\x00\x20\x00\x42\x01\x7d\x41\x0d\x11\x06\x00\x7c\x0b\x0b\x95\x80\x80\x80\x00\x00\x20\x00\x45\x04\x7f\x41\x2c\x05\x20\x00\x41\x01\x6b\x41\x0f\x11\x05\x00\x0b\x0b\x96\x80\x80\x80\x00\x00\x20\x00\x45\x04\x7f\x41\xe3\x00\x05\x20\x00\x41\x01\x6b\x41\x0e\x11\x05\x00\x0b\x0b\x87\x80\x80\x80\x00\x00\x41\x10\x11\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x12\x11\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x11\x11\x00\x00\x0b"); + +// call_indirect.wast:175 +assert_return(() => call($1, "type-i32", []), 306); + +// call_indirect.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xe4\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-i64", []), int64("356")) + +// call_indirect.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x20\x73\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f32", []), 3890.) + +// call_indirect.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\xc8\xae\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-f64", []), 3940.) + +// call_indirect.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x74\x79\x70\x65\x2d\x69\x6e\x64\x65\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xe4\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-index", []), int64("100")) + +// call_indirect.wast:182 +assert_return(() => call($1, "type-first-i32", []), 32); + +// call_indirect.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-first-i64", []), int64("64")) + +// call_indirect.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\xc3\xf5\xa8\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-first-f32", []), 1.32000005245) + +// call_indirect.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x3d\x0a\xd7\xa3\x70\x3d\xfa\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-first-f64", []), 1.64) + +// call_indirect.wast:187 +assert_return(() => call($1, "type-second-i32", []), 32); + +// call_indirect.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-second-i64", []), int64("64")) + +// call_indirect.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-second-f32", []), 32.) + +// call_indirect.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x79\x70\x65\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x66\x66\x66\x66\x66\x06\x50\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-second-f64", []), 64.1) + +// call_indirect.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x41\x05\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch", [5, int64("2")]), int64("2")) + +// call_indirect.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x41\x05\x42\x05\x10\x00\x01\x42\x05\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch", [5, int64("5")]), int64("5")) + +// call_indirect.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x0c\x42\x05\x10\x00\x01\x42\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch", [12, int64("5")]), int64("120")) + +// call_indirect.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x41\x0d\x42\x05\x10\x00\x01\x42\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch", [13, int64("5")]), int64("8")) + +// call_indirect.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x41\x14\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch", [20, int64("2")]), int64("2")) + +// call_indirect.wast:197 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x42\x02\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch", [0, int64("2")])) + +// call_indirect.wast:198 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x0f\x42\x02\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch", [15, int64("2")])) + +// call_indirect.wast:199 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x17\x42\x02\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch", [23, int64("2")])) + +// call_indirect.wast:200 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x42\x02\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch", [-1, int64("2")])) + +// call_indirect.wast:201 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x64\x69\x73\x70\x61\x74\x63\x68\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x41\xe7\x84\xce\xc2\x04\x42\x02\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch", [1213432423, int64("2")])) + +// call_indirect.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x05\x10\x00\x01\x42\x09\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch-structural", [5]), int64("9")) + +// call_indirect.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x05\x10\x00\x01\x42\x09\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch-structural", [5]), int64("9")) + +// call_indirect.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x41\x0c\x10\x00\x01\x42\x80\x93\x16\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch-structural", [12]), int64("362880")) + +// call_indirect.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x14\x10\x00\x01\x42\x09\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "dispatch-structural", [20]), int64("9")) + +// call_indirect.wast:207 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x0b\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch-structural", [11])) + +// call_indirect.wast:208 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x64\x69\x73\x70\x61\x74\x63\x68\x2d\x73\x74\x72\x75\x63\x74\x75\x72\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x16\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "dispatch-structural", [22])) + +// call_indirect.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("0")]), int64("1")) + +// call_indirect.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("1")]), int64("1")) + +// call_indirect.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x05\x10\x00\x01\x42\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("5")]), int64("120")) + +// call_indirect.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x61\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac", [int64("25")]), int64("7034535277573963776")) + +// call_indirect.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("0")]), int64("1")) + +// call_indirect.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("1")]), int64("1")) + +// call_indirect.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("2")]), int64("2")) + +// call_indirect.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x05\x10\x00\x01\x42\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("5")]), int64("8")) + +// call_indirect.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x69\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x14\x10\x00\x01\x42\xc2\xd5\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fib", [int64("20")]), int64("10946")) + +// call_indirect.wast:221 +assert_return(() => call($1, "even", [0]), 44); + +// call_indirect.wast:222 +assert_return(() => call($1, "even", [1]), 99); + +// call_indirect.wast:223 +assert_return(() => call($1, "even", [100]), 44); + +// call_indirect.wast:224 +assert_return(() => call($1, "even", [77]), 99); + +// call_indirect.wast:225 +assert_return(() => call($1, "odd", [0]), 99); + +// call_indirect.wast:226 +assert_return(() => call($1, "odd", [1]), 44); + +// call_indirect.wast:227 +assert_return(() => call($1, "odd", [200]), 99); + +// call_indirect.wast:228 +assert_return(() => call($1, "odd", [77]), 44); + +// call_indirect.wast:230 +assert_exhaustion(() => call($1, "runaway", [])); + +// call_indirect.wast:231 +assert_exhaustion(() => call($1, "mutual-runaway", [])); + +// call_indirect.wast:236 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:244 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x11\x00\x00\x45\x0b"); + +// call_indirect.wast:252 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x01\x7e\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x11\x00\x00\x45\x0b"); + +// call_indirect.wast:261 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:269 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x02\x7c\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:277 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x01\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:285 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x40\x41\x01\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:296 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x01\x01\x11\x00\x00\x0b"); + +// call_indirect.wast:304 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x01\x11\x00\x00\x0b"); + +// call_indirect.wast:313 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x02\x7f\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x01\x41\x01\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:323 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x02\x7f\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x01\x01\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:333 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x02\x7f\x7c\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x01\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:343 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x02\x7c\x7f\x00\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x41\x01\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x00\x11\x00\x00\x0b"); + +// call_indirect.wast:357 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x11\x01\x00\x0b"); + +// call_indirect.wast:364 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x11\x94\x98\xdb\xe2\x03\x00\x0b"); + +// call_indirect.wast:375 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x02\x02\x09\x88\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x02\x00\x00"); + +// call_indirect.wast:383 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x09\x87\x80\x80\x80\x00\x01\x00\x41\x0a\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// call_indirect.wast:392 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x09\x87\x80\x80\x80\x00\x01\x00\x41\x7f\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// call_indirect.wast:401 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x09\x87\x80\x80\x80\x00\x01\x00\x41\x76\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/comments.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/comments.wast.js new file mode 100644 index 0000000000..3827b003db --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/comments.wast.js @@ -0,0 +1,12 @@ + +// comments.wast:9 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// comments.wast:51 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// comments.wast:62 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// comments.wast:71 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/const.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/const.wast.js new file mode 100644 index 0000000000..ce3147f692 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/const.wast.js @@ -0,0 +1,156 @@ + +// const.wast:5 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x7f\x1a\x0b"); + +// const.wast:6 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x80\x80\x80\x80\x78\x1a\x0b"); + +// const.wast:7 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:11 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:16 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x7f\x1a\x0b"); + +// const.wast:17 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x80\x80\x80\x80\x78\x1a\x0b"); + +// const.wast:18 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:22 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:27 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x7f\x1a\x0b"); + +// const.wast:28 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x1a\x0b"); + +// const.wast:29 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:33 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:38 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x7f\x1a\x0b"); + +// const.wast:39 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x1a\x0b"); + +// const.wast:40 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:44 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:49 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x7f\x1a\x0b"); + +// const.wast:50 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\xff\x1a\x0b"); + +// const.wast:51 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x7f\x1a\x0b"); + +// const.wast:52 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\xff\x1a\x0b"); + +// const.wast:53 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x7f\x1a\x0b"); + +// const.wast:54 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\xff\x1a\x0b"); + +// const.wast:55 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:59 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:63 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:67 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:72 +let $15 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x99\x76\x96\x7e\x1a\x0b"); + +// const.wast:73 +let $16 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x99\x76\x96\xfe\x1a\x0b"); + +// const.wast:74 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:78 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:83 +let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x7f\x1a\x0b"); + +// const.wast:84 +let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\xff\x1a\x0b"); + +// const.wast:85 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:89 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:94 +let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x7f\x1a\x0b"); + +// const.wast:95 +let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xff\x1a\x0b"); + +// const.wast:96 +let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x1a\x0b"); + +// const.wast:97 +let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x1a\x0b"); + +// const.wast:98 +let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x1a\x0b"); + +// const.wast:99 +let $24 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x1a\x0b"); + +// const.wast:100 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:104 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:108 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:112 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:117 +let $25 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xa0\xc8\xeb\x85\xf3\xcc\xe1\x7f\x1a\x0b"); + +// const.wast:118 +let $26 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xa0\xc8\xeb\x85\xf3\xcc\xe1\xff\x1a\x0b"); + +// const.wast:119 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:123 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:128 +let $27 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x1a\x0b"); + +// const.wast:129 +let $28 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x1a\x0b"); + +// const.wast:130 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// const.wast:134 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/conversions.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/conversions.wast.js new file mode 100644 index 0000000000..76f8dd4440 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/conversions.wast.js @@ -0,0 +1,1206 @@ + +// conversions.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xbd\x80\x80\x80\x00\x0c\x60\x01\x7f\x01\x7e\x60\x01\x7e\x01\x7f\x60\x01\x7d\x01\x7f\x60\x01\x7c\x01\x7f\x60\x01\x7d\x01\x7e\x60\x01\x7c\x01\x7e\x60\x01\x7f\x01\x7d\x60\x01\x7e\x01\x7d\x60\x01\x7f\x01\x7c\x60\x01\x7e\x01\x7c\x60\x01\x7d\x01\x7c\x60\x01\x7c\x01\x7d\x03\x9a\x80\x80\x80\x00\x19\x00\x00\x01\x02\x02\x03\x03\x04\x04\x05\x05\x06\x07\x08\x09\x06\x07\x08\x09\x0a\x0b\x06\x09\x02\x05\x07\xe1\x83\x80\x80\x00\x19\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x00\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x02\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x03\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x04\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x05\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x06\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x07\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x08\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x09\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x0a\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x0b\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x0c\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x0d\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x0e\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x0f\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x10\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x11\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x12\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x13\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x14\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x15\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x16\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x17\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x18\x0a\xfb\x81\x80\x80\x00\x19\x85\x80\x80\x80\x00\x00\x20\x00\xac\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xad\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xa7\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xa8\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xa9\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xaa\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xab\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xae\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xaf\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb0\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb1\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb2\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb4\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb7\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb9\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb3\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb5\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb8\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xba\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xbb\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xb6\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xbe\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xbf\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xbc\x0b\x85\x80\x80\x80\x00\x00\x20\x00\xbd\x0b"); + +// conversions.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_s_i32", [0]), int64("0")) + +// conversions.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\x90\xce\x00\x10\x00\x01\x42\x90\xce\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_s_i32", [10000]), int64("10000")) + +// conversions.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\xf0\xb1\x7f\x10\x00\x01\x42\xf0\xb1\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_s_i32", [-10000]), int64("-10000")) + +// conversions.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_s_i32", [-1]), int64("-1")) + +// conversions.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\xff\x07\x10\x00\x01\x42\xff\xff\xff\xff\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_s_i32", [2147483647]), int64("2147483647")) + +// conversions.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\x01\x42\x80\x80\x80\x80\x78\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_s_i32", [-2147483648]), int64("-2147483648")) + +// conversions.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_u_i32", [0]), int64("0")) + +// conversions.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\x90\xce\x00\x10\x00\x01\x42\x90\xce\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_u_i32", [10000]), int64("10000")) + +// conversions.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\xf0\xb1\x7f\x10\x00\x01\x42\xf0\xb1\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_u_i32", [-10000]), int64("4294957296")) + +// conversions.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x01\x42\xff\xff\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_u_i32", [-1]), int64("4294967295")) + +// conversions.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\xff\x07\x10\x00\x01\x42\xff\xff\xff\xff\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_u_i32", [2147483647]), int64("2147483647")) + +// conversions.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x69\x36\x34\x2e\x65\x78\x74\x65\x6e\x64\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\x01\x42\x80\x80\x80\x80\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.extend_u_i32", [-2147483648]), int64("2147483648")) + +// conversions.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("-1")]), -1) + +// conversions.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xe0\xf2\x79\x10\x00\x01\x41\xe0\xf2\x79\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("-100000")]), -100000) + +// conversions.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x08\x10\x00\x01\x41\x80\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("2147483648")]), -2147483648) + +// conversions.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\x77\x10\x00\x01\x41\xff\xff\xff\xff\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("-2147483649")]), 2147483647) + +// conversions.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x70\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("-4294967296")]), 0) + +// conversions.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\x6f\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("-4294967297")]), -1) + +// conversions.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x70\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("-4294967295")]), 1) + +// conversions.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("0")]), 0) + +// conversions.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xf0\xbd\xf3\xd5\x89\xcf\x95\x9a\x12\x10\x00\x01\x41\xf0\xbd\xf3\xd5\x79\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("1311768467463790320")]), -1698898192) + +// conversions.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\x0f\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("4294967295")]), -1) + +// conversions.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x10\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("4294967296")]), 0) + +// conversions.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x33\x32\x2e\x77\x72\x61\x70\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x10\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.wrap_i64", [int64("4294967297")]), 1) + +// conversions.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [0.]), 0) + +// conversions.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-0.]), 0) + +// conversions.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [1.40129846432e-45]), 0) + +// conversions.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-1.40129846432e-45]), 0) + +// conversions.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [1.]), 1) + +// conversions.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [1.10000002384]), 1) + +// conversions.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [1.5]), 1) + +// conversions.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-1.]), -1) + +// conversions.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-1.10000002384]), -1) + +// conversions.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-1.5]), -1) + +// conversions.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x33\x33\xf3\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-1.89999997616]), -1) + +// conversions.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xc0\x10\x00\x01\x41\x7e\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-2.]), -2) + +// conversions.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x4e\x10\x00\x01\x41\x80\xff\xff\xff\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [2147483520.]), 2147483520) + +// conversions.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xcf\x10\x00\x01\x41\x80\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f32", [-2147483648.]), -2147483648) + +// conversions.wast:70 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x4f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [2147483648.])) + +// conversions.wast:71 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\xcf\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [-2147483904.])) + +// conversions.wast:72 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [Infinity])) + +// conversions.wast:73 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [-Infinity])) + +// conversions.wast:74 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [NaN])) + +// conversions.wast:75 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [NaN])) + +// conversions.wast:76 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [NaN])) + +// conversions.wast:77 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f32", [NaN])) + +// conversions.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [0.]), 0) + +// conversions.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [-0.]), 0) + +// conversions.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [1.40129846432e-45]), 0) + +// conversions.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [-1.40129846432e-45]), 0) + +// conversions.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [1.]), 1) + +// conversions.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [1.10000002384]), 1) + +// conversions.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [1.5]), 1) + +// conversions.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x33\x33\xf3\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [1.89999997616]), 1) + +// conversions.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x02\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [2.]), 2) + +// conversions.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x4f\x10\x00\x01\x41\x80\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [2147483648.]), -2147483648) + +// conversions.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x4f\x10\x00\x01\x41\x80\x7e\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [4294967040.]), -256) + +// conversions.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x66\x66\x66\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [-0.899999976158]), 0) + +// conversions.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f32", [-0.999999940395]), 0) + +// conversions.wast:92 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x4f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [4294967296.])) + +// conversions.wast:93 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [-1.])) + +// conversions.wast:94 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [Infinity])) + +// conversions.wast:95 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [-Infinity])) + +// conversions.wast:96 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [NaN])) + +// conversions.wast:97 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [NaN])) + +// conversions.wast:98 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [NaN])) + +// conversions.wast:99 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f32", [NaN])) + +// conversions.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [0.]), 0) + +// conversions.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-0.]), 0) + +// conversions.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [4.94065645841e-324]), 0) + +// conversions.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-4.94065645841e-324]), 0) + +// conversions.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [1.]), 1) + +// conversions.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [1.1]), 1) + +// conversions.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [1.5]), 1) + +// conversions.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-1.]), -1) + +// conversions.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-1.1]), -1) + +// conversions.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-1.5]), -1) + +// conversions.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x66\x66\x66\x66\x66\x66\xfe\xbf\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-1.9]), -1) + +// conversions.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\xc0\x10\x00\x01\x41\x7e\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-2.]), -2) + +// conversions.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\xc0\xff\xff\xff\xdf\x41\x10\x00\x01\x41\xff\xff\xff\xff\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [2147483647.]), 2147483647) + +// conversions.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xc1\x10\x00\x01\x41\x80\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_s_f64", [-2147483648.]), -2147483648) + +// conversions.wast:115 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x41\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [2147483648.])) + +// conversions.wast:116 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x20\x00\x00\x00\xe0\xc1\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [-2147483649.])) + +// conversions.wast:117 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [Infinity])) + +// conversions.wast:118 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [-Infinity])) + +// conversions.wast:119 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [NaN])) + +// conversions.wast:120 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [NaN])) + +// conversions.wast:121 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [NaN])) + +// conversions.wast:122 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_s_f64", [NaN])) + +// conversions.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [0.]), 0) + +// conversions.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [-0.]), 0) + +// conversions.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [4.94065645841e-324]), 0) + +// conversions.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [-4.94065645841e-324]), 0) + +// conversions.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [1.]), 1) + +// conversions.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [1.1]), 1) + +// conversions.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [1.5]), 1) + +// conversions.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x66\x66\x66\x66\x66\x66\xfe\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [1.9]), 1) + +// conversions.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x02\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [2.]), 2) + +// conversions.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x41\x10\x00\x01\x41\x80\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [2147483648.]), -2147483648) + +// conversions.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\xe0\xff\xff\xff\xef\x41\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [4294967295.]), -1) + +// conversions.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\xcd\xcc\xcc\xcc\xcc\xcc\xec\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [-0.9]), 0) + +// conversions.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [-1.]), 0) + +// conversions.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x84\xd7\x97\x41\x10\x00\x01\x41\x80\xc2\xd7\x2f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.trunc_u_f64", [100000000.]), 100000000) + +// conversions.wast:138 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x41\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [4294967296.])) + +// conversions.wast:139 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [-1.])) + +// conversions.wast:140 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x80\xe0\x37\x79\xc3\x41\x43\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [1e+16])) + +// conversions.wast:141 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\xea\x8c\xa0\x39\x59\x3e\x29\x46\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [1e+30])) + +// conversions.wast:142 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x43\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [9.22337203685e+18])) + +// conversions.wast:143 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [Infinity])) + +// conversions.wast:144 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [-Infinity])) + +// conversions.wast:145 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [NaN])) + +// conversions.wast:146 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [NaN])) + +// conversions.wast:147 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [NaN])) + +// conversions.wast:148 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i32.trunc_u_f64", [NaN])) + +// conversions.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [0.]), int64("0")) + +// conversions.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-0.]), int64("0")) + +// conversions.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [1.40129846432e-45]), int64("0")) + +// conversions.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-1.40129846432e-45]), int64("0")) + +// conversions.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [1.]), int64("1")) + +// conversions.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [1.10000002384]), int64("1")) + +// conversions.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [1.5]), int64("1")) + +// conversions.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-1.]), int64("-1")) + +// conversions.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-1.10000002384]), int64("-1")) + +// conversions.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-1.5]), int64("-1")) + +// conversions.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x33\x33\xf3\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-1.89999997616]), int64("-1")) + +// conversions.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xc0\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-2.]), int64("-2")) + +// conversions.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x4f\x10\x00\x01\x42\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [4294967296.]), int64("4294967296")) + +// conversions.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xcf\x10\x00\x01\x42\x80\x80\x80\x80\x70\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-4294967296.]), int64("-4294967296")) + +// conversions.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x5e\x10\x00\x01\x42\x80\x80\x80\x80\x80\xf0\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [9.2233714871e+18]), int64("9223371487098961920")) + +// conversions.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xdf\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f32", [-9.22337203685e+18]), int64("-9223372036854775808")) + +// conversions.wast:166 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x5f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [9.22337203685e+18])) + +// conversions.wast:167 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\xdf\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [-9.22337313637e+18])) + +// conversions.wast:168 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [Infinity])) + +// conversions.wast:169 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [-Infinity])) + +// conversions.wast:170 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [NaN])) + +// conversions.wast:171 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [NaN])) + +// conversions.wast:172 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [NaN])) + +// conversions.wast:173 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f32", [NaN])) + +// conversions.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [0.]), int64("0")) + +// conversions.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [-0.]), int64("0")) + +// conversions.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [1.40129846432e-45]), int64("0")) + +// conversions.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [-1.40129846432e-45]), int64("0")) + +// conversions.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [1.]), int64("1")) + +// conversions.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [1.10000002384]), int64("1")) + +// conversions.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [1.5]), int64("1")) + +// conversions.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x4f\x10\x00\x01\x42\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [4294967296.]), int64("4294967296")) + +// conversions.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x5f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x60\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [1.84467429742e+19]), int64("-1099511627776")) + +// conversions.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x66\x66\x66\xbf\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [-0.899999976158]), int64("0")) + +// conversions.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xbf\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f32", [-0.999999940395]), int64("0")) + +// conversions.wast:186 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x5f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [1.84467440737e+19])) + +// conversions.wast:187 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [-1.])) + +// conversions.wast:188 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [Infinity])) + +// conversions.wast:189 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [-Infinity])) + +// conversions.wast:190 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [NaN])) + +// conversions.wast:191 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [NaN])) + +// conversions.wast:192 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [NaN])) + +// conversions.wast:193 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f32", [NaN])) + +// conversions.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [0.]), int64("0")) + +// conversions.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-0.]), int64("0")) + +// conversions.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [4.94065645841e-324]), int64("0")) + +// conversions.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-4.94065645841e-324]), int64("0")) + +// conversions.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [1.]), int64("1")) + +// conversions.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [1.1]), int64("1")) + +// conversions.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [1.5]), int64("1")) + +// conversions.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-1.]), int64("-1")) + +// conversions.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-1.1]), int64("-1")) + +// conversions.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-1.5]), int64("-1")) + +// conversions.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x66\x66\x66\x66\x66\x66\xfe\xbf\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-1.9]), int64("-1")) + +// conversions.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\xc0\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-2.]), int64("-2")) + +// conversions.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x41\x10\x00\x01\x42\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [4294967296.]), int64("4294967296")) + +// conversions.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xc1\x10\x00\x01\x42\x80\x80\x80\x80\x70\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-4294967296.]), int64("-4294967296")) + +// conversions.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xdf\x43\x10\x00\x01\x42\x80\xf8\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [9.22337203685e+18]), int64("9223372036854774784")) + +// conversions.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xc3\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_s_f64", [-9.22337203685e+18]), int64("-9223372036854775808")) + +// conversions.wast:211 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x43\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [9.22337203685e+18])) + +// conversions.wast:212 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xe0\xc3\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [-9.22337203685e+18])) + +// conversions.wast:213 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [Infinity])) + +// conversions.wast:214 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [-Infinity])) + +// conversions.wast:215 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [NaN])) + +// conversions.wast:216 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [NaN])) + +// conversions.wast:217 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [NaN])) + +// conversions.wast:218 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_s_f64", [NaN])) + +// conversions.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [0.]), int64("0")) + +// conversions.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [-0.]), int64("0")) + +// conversions.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [4.94065645841e-324]), int64("0")) + +// conversions.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [-4.94065645841e-324]), int64("0")) + +// conversions.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [1.]), int64("1")) + +// conversions.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [1.1]), int64("1")) + +// conversions.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [1.5]), int64("1")) + +// conversions.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\xe0\xff\xff\xff\xef\x41\x10\x00\x01\x42\xff\xff\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [4294967295.]), int64("4294967295")) + +// conversions.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x41\x10\x00\x01\x42\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [4294967296.]), int64("4294967296")) + +// conversions.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x43\x10\x00\x01\x42\x80\x70\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [1.84467440737e+19]), int64("-2048")) + +// conversions.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\xcd\xcc\xcc\xcc\xcc\xcc\xec\xbf\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [-0.9]), int64("0")) + +// conversions.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xbf\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [-1.]), int64("0")) + +// conversions.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x84\xd7\x97\x41\x10\x00\x01\x42\x80\xc2\xd7\x2f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [100000000.]), int64("100000000")) + +// conversions.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x80\xe0\x37\x79\xc3\x41\x43\x10\x00\x01\x42\x80\x80\x84\xfe\xa6\xde\xe1\x11\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [1e+16]), int64("10000000000000000")) + +// conversions.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x43\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.trunc_u_f64", [9.22337203685e+18]), int64("-9223372036854775808")) + +// conversions.wast:235 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x43\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [1.84467440737e+19])) + +// conversions.wast:236 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [-1.])) + +// conversions.wast:237 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [Infinity])) + +// conversions.wast:238 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [-Infinity])) + +// conversions.wast:239 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [NaN])) + +// conversions.wast:240 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [NaN])) + +// conversions.wast:241 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [NaN])) + +// conversions.wast:242 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "i64.trunc_u_f64", [NaN])) + +// conversions.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x01\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [1]), 1.) + +// conversions.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [-1]), -1.) + +// conversions.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [0]), 0.) + +// conversions.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\xff\x07\x10\x00\xbc\x43\x00\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [2147483647]), 2147483648.) + +// conversions.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\xbc\x43\x00\x00\x00\xcf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [-2147483648]), -2147483648.) + +// conversions.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\xd2\x85\xd8\xcc\x04\x10\x00\xbc\x43\x06\x2c\x93\x4e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [1234567890]), 1234567936.) + +// conversions.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x81\x80\x80\x08\x10\x00\xbc\x43\x00\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [16777217]), 16777216.) + +// conversions.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\x77\x10\x00\xbc\x43\x00\x00\x80\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [-16777217]), -16777216.) + +// conversions.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x83\x80\x80\x08\x10\x00\xbc\x43\x02\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [16777219]), 16777220.) + +// conversions.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\xff\x77\x10\x00\xbc\x43\x02\x00\x80\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i32", [-16777219]), -16777220.) + +// conversions.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("1")]), 1.) + +// conversions.wast:257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("-1")]), -1.) + +// conversions.wast:258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("0")]), 0.) + +// conversions.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\xbc\x43\x00\x00\x00\x5f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("9223372036854775807")]), 9.22337203685e+18) + +// conversions.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\xdf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("-9223372036854775808")]), -9.22337203685e+18) + +// conversions.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\x83\xc9\xa8\xbb\x9e\xb7\xc7\x00\x10\x00\xbc\x43\xf4\xdc\x8e\x57\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("314159265358979")]), 3.1415927518e+14) + +// conversions.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x08\x10\x00\xbc\x43\x00\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("16777217")]), 16777216.) + +// conversions.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\x77\x10\x00\xbc\x43\x00\x00\x80\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("-16777217")]), -16777216.) + +// conversions.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\x83\x80\x80\x08\x10\x00\xbc\x43\x02\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("16777219")]), 16777220.) + +// conversions.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xfd\xff\xff\x77\x10\x00\xbc\x43\x02\x00\x80\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_s_i64", [int64("-16777219")]), -16777220.) + +// conversions.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i32", [1]), 1.) + +// conversions.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i32", [-1]), -1.) + +// conversions.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i32", [0]), 0.) + +// conversions.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\xff\x07\x10\x00\xbd\x44\x00\x00\xc0\xff\xff\xff\xdf\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i32", [2147483647]), 2147483647.) + +// conversions.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xc1\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i32", [-2147483648]), -2147483648.) + +// conversions.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\xb1\xd1\xf9\xd6\x03\x10\x00\xbd\x44\x00\x00\x80\x58\x34\x6f\xcd\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i32", [987654321]), 987654321.) + +// conversions.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("1")]), 1.) + +// conversions.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("-1")]), -1.) + +// conversions.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("0")]), 0.) + +// conversions.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("9223372036854775807")]), 9.22337203685e+18) + +// conversions.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("-9223372036854775808")]), -9.22337203685e+18) + +// conversions.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x8e\xad\xae\xba\xd3\xd3\xa5\x08\x10\x00\xbd\x44\x8e\x96\x4b\x37\x9d\x96\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("4669201609102990")]), 4.6692016091e+15) + +// conversions.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x10\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("9007199254740993")]), 9.00719925474e+15) + +// conversions.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\x6f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x40\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("-9007199254740993")]), -9.00719925474e+15) + +// conversions.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x83\x80\x80\x80\x80\x80\x80\x10\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("9007199254740995")]), 9.00719925474e+15) + +// conversions.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\xfd\xff\xff\xff\xff\xff\xff\x6f\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x40\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_s_i64", [int64("-9007199254740995")]), -9.00719925474e+15) + +// conversions.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x01\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [1]), 1.) + +// conversions.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [0]), 0.) + +// conversions.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\xff\x07\x10\x00\xbc\x43\x00\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [2147483647]), 2147483648.) + +// conversions.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\xbc\x43\x00\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-2147483648]), 2147483648.) + +// conversions.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\xf8\xac\xd1\x91\x01\x10\x00\xbc\x43\xb4\xa2\x91\x4d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [305419896]), 305419904.) + +// conversions.wast:292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\xbc\x43\x00\x00\x80\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-1]), 4294967296.) + +// conversions.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x81\x80\x80\x78\x10\x00\xbc\x43\x00\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-2147483520]), 2147483648.) + +// conversions.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x81\x81\x80\x80\x78\x10\x00\xbc\x43\x01\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-2147483519]), 2147483904.) + +// conversions.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x82\x81\x80\x80\x78\x10\x00\xbc\x43\x01\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-2147483518]), 2147483904.) + +// conversions.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\x80\x7d\x10\x00\xbc\x43\xfe\xff\x7f\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-384]), 4294966784.) + +// conversions.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\x81\x7d\x10\x00\xbc\x43\xff\xff\x7f\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-383]), 4294967040.) + +// conversions.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x41\x82\x7d\x10\x00\xbc\x43\xff\xff\x7f\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [-382]), 4294967040.) + +// conversions.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x81\x80\x80\x08\x10\x00\xbc\x43\x00\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [16777217]), 16777216.) + +// conversions.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x83\x80\x80\x08\x10\x00\xbc\x43\x02\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i32", [16777219]), 16777220.) + +// conversions.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("1")]), 1.) + +// conversions.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("0")]), 0.) + +// conversions.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\xbc\x43\x00\x00\x00\x5f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("9223372036854775807")]), 9.22337203685e+18) + +// conversions.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x5f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("-9223372036854775808")]), 9.22337203685e+18) + +// conversions.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\xbc\x43\x00\x00\x80\x5f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("-1")]), 1.84467440737e+19) + +// conversions.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x08\x10\x00\xbc\x43\x00\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("16777217")]), 16777216.) + +// conversions.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x33\x32\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\x83\x80\x80\x08\x10\x00\xbc\x43\x02\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.convert_u_i64", [int64("16777219")]), 16777220.) + +// conversions.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i32", [1]), 1.) + +// conversions.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i32", [0]), 0.) + +// conversions.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\xff\xff\x07\x10\x00\xbd\x44\x00\x00\xc0\xff\xff\xff\xdf\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i32", [2147483647]), 2147483647.) + +// conversions.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i32", [-2147483648]), 2147483648.) + +// conversions.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\xbd\x44\x00\x00\xe0\xff\xff\xff\xef\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i32", [-1]), 4294967295.) + +// conversions.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("1")]), 1.) + +// conversions.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("0")]), 0.) + +// conversions.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("9223372036854775807")]), 9.22337203685e+18) + +// conversions.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854775808")]), 9.22337203685e+18) + +// conversions.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-1")]), 1.84467440737e+19) + +// conversions.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774784")]), 9.22337203685e+18) + +// conversions.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x81\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774783")]), 9.22337203685e+18) + +// conversions.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x82\x88\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-9223372036854774782")]), 9.22337203685e+18) + +// conversions.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x80\x68\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3072")]), 1.84467440737e+19) + +// conversions.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x81\x68\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3071")]), 1.84467440737e+19) + +// conversions.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x82\x68\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("-3070")]), 1.84467440737e+19) + +// conversions.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x10\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("9007199254740993")]), 9.00719925474e+15) + +// conversions.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x83\x80\x80\x80\x80\x80\x80\x10\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.convert_u_i64", [int64("9007199254740995")]), 9.00719925474e+15) + +// conversions.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [0.]), 0.) + +// conversions.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [-0.]), -0.) + +// conversions.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xa0\x36\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [1.40129846432e-45]), 1.40129846432e-45) + +// conversions.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xa0\xb6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [-1.40129846432e-45]), -1.40129846432e-45) + +// conversions.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [1.]), 1.) + +// conversions.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [-1.]), -1.) + +// conversions.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbd\x44\x00\x00\x00\xe0\xff\xff\xef\xc7\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [-3.40282346639e+38]), -3.40282346639e+38) + +// conversions.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbd\x44\x00\x00\x00\xe0\xff\xff\xef\x47\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [3.40282346639e+38]), 3.40282346639e+38) + +// conversions.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x04\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x80\x38\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [1.50463276905e-36]), 1.50463276905e-36) + +// conversions.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x3f\xc3\x47\x7e\x10\x00\xbd\x44\x00\x00\x00\xe0\x67\xf8\xc8\x47\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [6.63825367101e+37]), 6.63825367101e+37) + +// conversions.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [Infinity]), Infinity) + +// conversions.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.promote_f32", [-Infinity]), -Infinity) + +// conversions.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "f64.promote_f32", [NaN])) + +// conversions.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "f64.promote_f32", [NaN])) + +// conversions.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "f64.promote_f32", [NaN])) + +// conversions.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x66\x36\x34\x2e\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "f64.promote_f32", [NaN])) + +// conversions.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [0.]), 0.) + +// conversions.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-0.]), -0.) + +// conversions.wast:354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [4.94065645841e-324]), 0.) + +// conversions.wast:355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-4.94065645841e-324]), -0.) + +// conversions.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.]), 1.) + +// conversions.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-1.]), -1.) + +// conversions.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xe0\xff\xff\x0f\x38\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.17549428076e-38]), 1.17549435082e-38) + +// conversions.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xe0\xff\xff\x0f\xb8\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-1.17549428076e-38]), -1.17549435082e-38) + +// conversions.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xdf\xff\xff\x0f\x38\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.17549428076e-38]), 1.17549421069e-38) + +// conversions.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xdf\xff\xff\x0f\xb8\x10\x00\xbc\x43\xff\xff\x7f\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-1.17549428076e-38]), -1.17549421069e-38) + +// conversions.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xa0\x36\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.40129846432e-45]), 1.40129846432e-45) + +// conversions.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xa0\xb6\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-1.40129846432e-45]), -1.40129846432e-45) + +// conversions.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xd0\xff\xff\xef\x47\x10\x00\xbc\x43\xfe\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [3.40282336497e+38]), 3.40282326356e+38) + +// conversions.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xd0\xff\xff\xef\xc7\x10\x00\xbc\x43\xfe\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-3.40282336497e+38]), -3.40282326356e+38) + +// conversions.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\xd0\xff\xff\xef\x47\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [3.40282336497e+38]), 3.40282346639e+38) + +// conversions.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\xd0\xff\xff\xef\xc7\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-3.40282336497e+38]), -3.40282346639e+38) + +// conversions.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xe0\xff\xff\xef\x47\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [3.40282346639e+38]), 3.40282346639e+38) + +// conversions.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xe0\xff\xff\xef\xc7\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-3.40282346639e+38]), -3.40282346639e+38) + +// conversions.wast:370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xef\xff\xff\xef\x47\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [3.4028235678e+38]), 3.40282346639e+38) + +// conversions.wast:371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xef\xff\xff\xef\xc7\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-3.4028235678e+38]), -3.40282346639e+38) + +// conversions.wast:372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xf0\xff\xff\xef\x47\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [3.4028235678e+38]), Infinity) + +// conversions.wast:373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xf0\xff\xff\xef\xc7\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-3.4028235678e+38]), -Infinity) + +// conversions.wast:374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x80\x38\x10\x00\xbc\x43\x00\x00\x00\x04\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.50463276905e-36]), 1.50463276905e-36) + +// conversions.wast:375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xe0\x67\xf8\xc8\x47\x10\x00\xbc\x43\x3f\xc3\x47\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [6.63825367101e+37]), 6.63825367101e+37) + +// conversions.wast:376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [Infinity]), Infinity) + +// conversions.wast:377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-Infinity]), -Infinity) + +// conversions.wast:378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.]), 1.) + +// conversions.wast:379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.]), 1.) + +// conversions.wast:380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x10\x00\x00\xf0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.0000000596]), 1.) + +// conversions.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x10\x00\x00\xf0\x3f\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.0000000596]), 1.00000011921) + +// conversions.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\x2f\x00\x00\xf0\x3f\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.00000017881]), 1.00000011921) + +// conversions.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x30\x00\x00\xf0\x3f\x10\x00\xbc\x43\x02\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.00000017881]), 1.00000023842) + +// conversions.wast:384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x50\x00\x00\xf0\x3f\x10\x00\xbc\x43\x02\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.00000029802]), 1.00000023842) + +// conversions.wast:385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x10\x00\x00\x70\x41\x10\x00\xbc\x43\x00\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [16777217.]), 16777216.) + +// conversions.wast:386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x10\x00\x00\x70\x41\x10\x00\xbc\x43\x01\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [16777217.]), 16777218.) + +// conversions.wast:387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\x2f\x00\x00\x70\x41\x10\x00\xbc\x43\x01\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [16777219.]), 16777218.) + +// conversions.wast:388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x30\x00\x00\x70\x41\x10\x00\xbc\x43\x02\x00\x80\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [16777219.]), 16777220.) + +// conversions.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x70\x4c\x02\xf7\xe4\xea\xb4\x46\x10\x00\xbc\x43\x28\x57\xa7\x75\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [4.24258443299e+32]), 4.24258454169e+32) + +// conversions.wast:390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x85\x86\x35\x1e\xe7\x12\xea\x38\x10\x00\xbc\x43\x39\x97\x50\x07\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.56926210784e-34]), 1.56926211427e-34) + +// conversions.wast:391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xff\x21\xd5\x54\x83\xb9\x0c\x38\x10\x00\xbc\x43\x0d\xe6\x72\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [1.05517736886e-38]), 1.05517732325e-38) + +// conversions.wast:392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x62\xb5\xcf\x30\x2b\x97\x06\xc0\x10\x00\xbc\x43\x5a\xb9\x34\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-2.82381284841]), -2.82381296158) + +// conversions.wast:393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\xc4\xd4\x19\x48\xbe\xed\xfb\xc6\x10\x00\xbc\x43\xf2\x6d\xdf\xf7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-9.0633763701e+33]), -9.0633762134e+33) + +// conversions.wast:394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "f32.demote_f64", [NaN])) + +// conversions.wast:395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "f32.demote_f64", [NaN])) + +// conversions.wast:396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "f32.demote_f64", [NaN])) + +// conversions.wast:397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "f32.demote_f64", [NaN])) + +// conversions.wast:398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [2.22507385851e-308]), 0.) + +// conversions.wast:399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-2.22507385851e-308]), -0.) + +// conversions.wast:400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x90\x36\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [7.00649232162e-46]), 0.) + +// conversions.wast:401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x90\xb6\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-7.00649232162e-46]), -0.) + +// conversions.wast:402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x90\x36\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [7.00649232162e-46]), 1.40129846432e-45) + +// conversions.wast:403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x33\x32\x2e\x64\x65\x6d\x6f\x74\x65\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x90\xb6\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.demote_f64", [-7.00649232162e-46]), -1.40129846432e-45) + +// conversions.wast:405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [0]), 0.) + +// conversions.wast:406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x80\x78\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [-2147483648]), -0.) + +// conversions.wast:407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x01\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [1]), 1.40129846432e-45) + +// conversions.wast:408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\xbc\x43\xff\xff\xff\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [-1]), NaN) + +// conversions.wast:409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x95\x9a\xef\x3a\x10\x00\xbc\x43\x15\xcd\x5b\x07\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [123456789]), 1.65359970134e-34) + +// conversions.wast:410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x81\x80\x80\x80\x78\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [-2147483647]), -1.40129846432e-45) + +// conversions.wast:411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\xfc\x07\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [2139095040]), Infinity) + +// conversions.wast:412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x7c\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [-8388608]), -Infinity) + +// conversions.wast:413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\xfe\x07\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [2143289344]), NaN) + +// conversions.wast:414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x7e\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [-4194304]), NaN) + +// conversions.wast:415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\xfd\x07\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [2141192192]), NaN) + +// conversions.wast:416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x80\x7d\x10\x00\xbc\x43\x00\x00\xa0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.reinterpret_i32", [-6291456]), NaN) + +// conversions.wast:418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("0")]), 0.) + +// conversions.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("1")]), 4.94065645841e-324) + +// conversions.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xff\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("-1")]), NaN) + +// conversions.wast:421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("-9223372036854775808")]), -0.) + +// conversions.wast:422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\xd2\x85\xd8\xcc\x04\x10\x00\xbd\x44\xd2\x02\x96\x49\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("1234567890")]), 6.09957581908e-315) + +// conversions.wast:423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("-9223372036854775807")]), -4.94065645841e-324) + +// conversions.wast:424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xf8\xff\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("9218868437227405312")]), Infinity) + +// conversions.wast:425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x78\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("-4503599627370496")]), -Infinity) + +// conversions.wast:426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("9221120237041090560")]), NaN) + +// conversions.wast:427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("-2251799813685248")]), NaN) + +// conversions.wast:428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("9219994337134247936")]), NaN) + +// conversions.wast:429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x66\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x7a\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.reinterpret_i64", [int64("-3377699720527872")]), NaN) + +// conversions.wast:431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [0.]), 0) + +// conversions.wast:432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x80\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [-0.]), -2147483648) + +// conversions.wast:433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [1.40129846432e-45]), 1) + +// conversions.wast:434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\xff\x10\x00\x01\x41\x7f\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [NaN]), -1) + +// conversions.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x81\x80\x80\x80\x78\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [-1.40129846432e-45]), -2147483647) + +// conversions.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x80\x80\x80\xfc\x03\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [1.]), 1065353216) + +// conversions.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\xda\x0f\x49\x40\x10\x00\x01\x41\xda\x9f\xa4\x82\x04\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [3.14159250259]), 1078530010) + +// conversions.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\xff\xff\xff\xfb\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [3.40282346639e+38]), 2139095039) + +// conversions.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\xff\xff\xff\x7b\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [-3.40282346639e+38]), -8388609) + +// conversions.wast:440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x80\x80\x80\xfc\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [Infinity]), 2139095040) + +// conversions.wast:441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x80\x80\x80\x7c\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [-Infinity]), -8388608) + +// conversions.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x80\x80\x80\xfe\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [NaN]), 2143289344) + +// conversions.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x80\x80\x80\x7e\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [NaN]), -4194304) + +// conversions.wast:444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x80\x80\x80\xfd\x07\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [NaN]), 2141192192) + +// conversions.wast:445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x33\x32\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x80\x80\x80\x7d\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i32.reinterpret_f32", [NaN]), -6291456) + +// conversions.wast:447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [0.]), int64("0")) + +// conversions.wast:448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [-0.]), int64("-9223372036854775808")) + +// conversions.wast:449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [4.94065645841e-324]), int64("1")) + +// conversions.wast:450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xff\xff\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [NaN]), int64("-1")) + +// conversions.wast:451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [-4.94065645841e-324]), int64("-9223372036854775807")) + +// conversions.wast:452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xf8\x3f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [1.]), int64("4607182418800017408")) + +// conversions.wast:453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x11\x2d\x44\x54\xfb\x21\x09\x40\x10\x00\x01\x42\x91\xda\x90\xa2\xb5\xbf\xc8\x84\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [3.14159265359]), int64("4614256656552045841")) + +// conversions.wast:454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xf7\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [1.79769313486e+308]), int64("9218868437227405311")) + +// conversions.wast:455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\x77\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [-1.79769313486e+308]), int64("-4503599627370497")) + +// conversions.wast:456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xf8\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [Infinity]), int64("9218868437227405312")) + +// conversions.wast:457 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x78\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [-Infinity]), int64("-4503599627370496")) + +// conversions.wast:458 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [NaN]), int64("9221120237041090560")) + +// conversions.wast:459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [NaN]), int64("-2251799813685248")) + +// conversions.wast:460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [NaN]), int64("9219994337134247936")) + +// conversions.wast:461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7e\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x31\x13\x69\x36\x34\x2e\x72\x65\x69\x6e\x74\x65\x72\x70\x72\x65\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x7a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.reinterpret_f64", [NaN]), int64("-3377699720527872")) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/custom_section.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/custom_section.wast.js new file mode 100644 index 0000000000..ea783288cf --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/custom_section.wast.js @@ -0,0 +1,27 @@ + +// custom_section.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x24\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x20\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x74\x68\x69\x73\x20\x69\x73\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x11\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x00\x10\x00\x74\x68\x69\x73\x20\x69\x73\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x01\x00\x00\x24\x10\x00\x00\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x00\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x24\x10\xef\xbb\xbf\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x24\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\xe2\x8c\xa3\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x1f\x16\x6d\x6f\x64\x75\x6c\x65\x20\x77\x69\x74\x68\x69\x6e\x20\x61\x20\x6d\x6f\x64\x75\x6c\x65\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// custom_section.wast:14 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x01\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x02\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x03\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x04\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x05\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x06\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x07\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x09\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x0a\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x0b\x01\x00\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64\x00\x0e\x06\x63\x75\x73\x74\x6f\x6d\x70\x61\x79\x6c\x6f\x61\x64"); + +// custom_section.wast:50 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x07\x01\x60\x02\x7f\x7f\x01\x7f\x00\x1a\x06\x63\x75\x73\x74\x6f\x6d\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x03\x02\x01\x00\x07\x0a\x01\x06\x61\x64\x64\x54\x77\x6f\x00\x00\x0a\x09\x01\x07\x00\x20\x00\x20\x01\x6a\x0b\x00\x1b\x07\x63\x75\x73\x74\x6f\x6d\x32\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64"); + +// custom_section.wast:60 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00"); + +// custom_section.wast:68 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x00"); + +// custom_section.wast:76 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x26\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64"); + +// custom_section.wast:84 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x25\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x00\x24\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64"); + +// custom_section.wast:93 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x07\x01\x60\x02\x7f\x7f\x01\x7f\x00\x25\x10\x61\x20\x63\x75\x73\x74\x6f\x6d\x20\x73\x65\x63\x74\x69\x6f\x6e\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64\x03\x02\x01\x00\x0a\x09\x01\x07\x00\x20\x00\x20\x01\x6a\x0b\x00\x1b\x07\x63\x75\x73\x74\x6f\x6d\x32\x74\x68\x69\x73\x20\x69\x73\x20\x74\x68\x65\x20\x70\x61\x79\x6c\x6f\x61\x64"); + +// custom_section.wast:106 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x61\x73\x6d\x01\x00\x00\x00"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/endianness.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/endianness.wast.js new file mode 100644 index 0000000000..4e9de161eb --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/endianness.wast.js @@ -0,0 +1,207 @@ + +// endianness.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa4\x80\x80\x80\x00\x07\x60\x02\x7f\x7f\x00\x60\x02\x7f\x7e\x00\x60\x01\x7f\x01\x7f\x60\x01\x7f\x01\x7e\x60\x01\x7e\x01\x7e\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x98\x80\x80\x80\x00\x17\x00\x00\x01\x02\x02\x03\x02\x02\x02\x04\x04\x04\x04\x04\x05\x06\x02\x02\x04\x04\x04\x05\x06\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xe1\x81\x80\x80\x00\x11\x0c\x69\x33\x32\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x06\x0c\x69\x33\x32\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x07\x08\x69\x33\x32\x5f\x6c\x6f\x61\x64\x00\x08\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x09\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x0a\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x0b\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x0c\x08\x69\x36\x34\x5f\x6c\x6f\x61\x64\x00\x0d\x08\x66\x33\x32\x5f\x6c\x6f\x61\x64\x00\x0e\x08\x66\x36\x34\x5f\x6c\x6f\x61\x64\x00\x0f\x0b\x69\x33\x32\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x10\x09\x69\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x11\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x12\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x33\x32\x00\x13\x09\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x14\x09\x66\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x15\x09\x66\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x16\x0a\xd2\x83\x80\x80\x00\x17\x96\x80\x80\x80\x00\x00\x20\x00\x20\x01\x3a\x00\x00\x20\x00\x41\x01\x6a\x20\x01\x41\x08\x76\x3a\x00\x00\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x20\x01\x10\x00\x20\x00\x41\x02\x6a\x20\x01\x41\x10\x76\x10\x00\x0b\x96\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa7\x10\x01\x20\x00\x41\x04\x6a\x20\x01\x42\x20\x88\xa7\x10\x01\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x20\x00\x41\x01\x6a\x2d\x00\x00\x41\x08\x74\x72\x0b\x91\x80\x80\x80\x00\x00\x20\x00\x10\x03\x20\x00\x41\x02\x6a\x10\x03\x41\x10\x74\x72\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x10\x04\xad\x20\x00\x41\x04\x6a\x10\x04\xad\x42\x20\x86\x84\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x10\x00\x41\x00\x2e\x01\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x10\x00\x41\x00\x2f\x01\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x10\x01\x41\x00\x28\x02\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\xa7\x10\x00\x41\x00\x32\x01\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\xa7\x10\x00\x41\x00\x33\x01\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\xa7\x10\x01\x41\x00\x34\x02\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\xa7\x10\x01\x41\x00\x35\x02\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x10\x02\x41\x00\x29\x03\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\xbc\x10\x01\x41\x00\x2a\x02\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\xbd\x10\x02\x41\x00\x2b\x03\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x3b\x01\x00\x41\x00\x10\x03\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x36\x02\x00\x41\x00\x10\x04\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\x3d\x01\x00\x41\x00\x10\x03\xad\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\x3e\x02\x00\x41\x00\x10\x04\xad\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x20\x00\x37\x03\x00\x41\x00\x10\x05\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\x38\x02\x00\x41\x00\x10\x04\xbe\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x20\x00\x39\x03\x00\x41\x00\x10\x05\xbf\x0b"); + +// endianness.wast:133 +assert_return(() => call($1, "i32_load16_s", [-1]), -1); + +// endianness.wast:134 +assert_return(() => call($1, "i32_load16_s", [-4242]), -4242); + +// endianness.wast:135 +assert_return(() => call($1, "i32_load16_s", [42]), 42); + +// endianness.wast:136 +assert_return(() => call($1, "i32_load16_s", [12816]), 12816); + +// endianness.wast:138 +assert_return(() => call($1, "i32_load16_u", [-1]), 65535); + +// endianness.wast:139 +assert_return(() => call($1, "i32_load16_u", [-4242]), 61294); + +// endianness.wast:140 +assert_return(() => call($1, "i32_load16_u", [42]), 42); + +// endianness.wast:141 +assert_return(() => call($1, "i32_load16_u", [51966]), 51966); + +// endianness.wast:143 +assert_return(() => call($1, "i32_load", [-1]), -1); + +// endianness.wast:144 +assert_return(() => call($1, "i32_load", [-42424242]), -42424242); + +// endianness.wast:145 +assert_return(() => call($1, "i32_load", [42424242]), 42424242); + +// endianness.wast:146 +assert_return(() => call($1, "i32_load", [-1414717974]), -1414717974); + +// endianness.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_s", [int64("-1")]), int64("-1")) + +// endianness.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\xee\x5e\x10\x00\x01\x42\xee\x5e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_s", [int64("-4242")]), int64("-4242")) + +// endianness.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x2a\x10\x00\x01\x42\x2a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_s", [int64("42")]), int64("42")) + +// endianness.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x90\xe4\x00\x10\x00\x01\x42\x90\xe4\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_s", [int64("12816")]), int64("12816")) + +// endianness.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\xff\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_u", [int64("-1")]), int64("65535")) + +// endianness.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\xee\x5e\x10\x00\x01\x42\xee\xde\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_u", [int64("-4242")]), int64("61294")) + +// endianness.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x2a\x10\x00\x01\x42\x2a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_u", [int64("42")]), int64("42")) + +// endianness.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xfe\x95\x03\x10\x00\x01\x42\xfe\x95\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load16_u", [int64("51966")]), int64("51966")) + +// endianness.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_s", [int64("-1")]), int64("-1")) + +// endianness.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xce\xd0\xe2\x6b\x10\x00\x01\x42\xce\xd0\xe2\x6b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_s", [int64("-42424242")]), int64("-42424242")) + +// endianness.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xb2\xaf\x9d\x14\x10\x00\x01\x42\xb2\xaf\x9d\x14\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_s", [int64("42424242")]), int64("42424242")) + +// endianness.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xf8\xac\xd1\x91\x01\x10\x00\x01\x42\xf8\xac\xd1\x91\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_s", [int64("305419896")]), int64("305419896")) + +// endianness.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\xff\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_u", [int64("-1")]), int64("4294967295")) + +// endianness.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x42\xce\xd0\xe2\x6b\x10\x00\x01\x42\xce\xd0\xe2\xeb\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_u", [int64("-42424242")]), int64("4252543054")) + +// endianness.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xb2\xaf\x9d\x14\x10\x00\x01\x42\xb2\xaf\x9d\x14\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_u", [int64("42424242")]), int64("42424242")) + +// endianness.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xea\xbb\xb4\xdd\x0a\x10\x00\x01\x42\xea\xbb\xb4\xdd\x0a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load32_u", [int64("2880249322")]), int64("2880249322")) + +// endianness.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load", [int64("-1")]), int64("-1")) + +// endianness.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xce\xd0\xe2\x6b\x10\x00\x01\x42\xce\xd0\xe2\x6b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load", [int64("-42424242")]), int64("-42424242")) + +// endianness.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xea\xbb\xb4\xdd\x0a\x10\x00\x01\x42\xea\xbb\xb4\xdd\x0a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load", [int64("2880249322")]), int64("2880249322")) + +// endianness.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\xea\xbb\xb4\xf5\xed\xdf\xf2\xd6\xab\x7f\x10\x00\x01\x42\xea\xbb\xb4\xf5\xed\xdf\xf2\xd6\xab\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_load", [int64("-6075977126246539798")]), int64("-6075977126246539798")) + +// endianness.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_load", [-1.]), -1.) + +// endianness.wast:174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xb6\x2d\x4a\x3c\x10\x00\xbc\x43\xb6\x2d\x4a\x3c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_load", [0.0123399998993]), 0.0123399998993) + +// endianness.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x65\x93\x84\x45\x10\x00\xbc\x43\x65\x93\x84\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_load", [4242.42431641]), 4242.42431641) + +// endianness.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_load", [3.40282346639e+38]), 3.40282346639e+38) + +// endianness.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_load", [-1.]), -1.) + +// endianness.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xe7\xc6\xf4\x84\x45\x4a\x93\x40\x10\x00\xbd\x44\xe7\xc6\xf4\x84\x45\x4a\x93\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_load", [1234.56789]), 1234.56789) + +// endianness.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xae\x7e\x6c\xb2\xc9\xe4\x19\x41\x10\x00\xbd\x44\xae\x7e\x6c\xb2\xc9\xe4\x19\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_load", [424242.424242]), 424242.424242) + +// endianness.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x5f\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_load", [1.79769313486e+308]), 1.79769313486e+308) + +// endianness.wast:184 +assert_return(() => call($1, "i32_store16", [-1]), 65535); + +// endianness.wast:185 +assert_return(() => call($1, "i32_store16", [-4242]), 61294); + +// endianness.wast:186 +assert_return(() => call($1, "i32_store16", [42]), 42); + +// endianness.wast:187 +assert_return(() => call($1, "i32_store16", [51966]), 51966); + +// endianness.wast:189 +assert_return(() => call($1, "i32_store", [-1]), -1); + +// endianness.wast:190 +assert_return(() => call($1, "i32_store", [-4242]), -4242); + +// endianness.wast:191 +assert_return(() => call($1, "i32_store", [42424242]), 42424242); + +// endianness.wast:192 +assert_return(() => call($1, "i32_store", [-559035650]), -559035650); + +// endianness.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\xff\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store16", [int64("-1")]), int64("65535")) + +// endianness.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\xee\x5e\x10\x00\x01\x42\xee\xde\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store16", [int64("-4242")]), int64("61294")) + +// endianness.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x2a\x10\x00\x01\x42\x2a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store16", [int64("42")]), int64("42")) + +// endianness.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xfe\x95\x03\x10\x00\x01\x42\xfe\x95\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store16", [int64("51966")]), int64("51966")) + +// endianness.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\xff\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store32", [int64("-1")]), int64("4294967295")) + +// endianness.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x42\xee\x5e\x10\x00\x01\x42\xee\xde\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store32", [int64("-4242")]), int64("4294963054")) + +// endianness.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xb2\xaf\x9d\x14\x10\x00\x01\x42\xb2\xaf\x9d\x14\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store32", [int64("42424242")]), int64("42424242")) + +// endianness.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xfe\x95\xb7\xf5\x0d\x10\x00\x01\x42\xfe\x95\xb7\xf5\x0d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store32", [int64("3735931646")]), int64("3735931646")) + +// endianness.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store", [int64("-1")]), int64("-1")) + +// endianness.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x42\xce\xd0\xe2\x6b\x10\x00\x01\x42\xce\xd0\xe2\x6b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store", [int64("-42424242")]), int64("-42424242")) + +// endianness.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xea\xbb\xb4\xdd\x0a\x10\x00\x01\x42\xea\xbb\xb4\xdd\x0a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store", [int64("2880249322")]), int64("2880249322")) + +// endianness.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\xea\xbb\xb4\xf5\xed\xdf\xf2\xd6\xab\x7f\x10\x00\x01\x42\xea\xbb\xb4\xf5\xed\xdf\xf2\xd6\xab\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64_store", [int64("-6075977126246539798")]), int64("-6075977126246539798")) + +// endianness.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_store", [-1.]), -1.) + +// endianness.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xb6\x2d\x4a\x3c\x10\x00\xbc\x43\xb6\x2d\x4a\x3c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_store", [0.0123399998993]), 0.0123399998993) + +// endianness.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x65\x93\x84\x45\x10\x00\xbc\x43\x65\x93\x84\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_store", [4242.42431641]), 4242.42431641) + +// endianness.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32_store", [3.40282346639e+38]), 3.40282346639e+38) + +// endianness.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_store", [-1.]), -1.) + +// endianness.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xe7\xc6\xf4\x84\x45\x4a\x93\x40\x10\x00\xbd\x44\xe7\xc6\xf4\x84\x45\x4a\x93\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_store", [1234.56789]), 1234.56789) + +// endianness.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xae\x7e\x6c\xb2\xc9\xe4\x19\x41\x10\x00\xbd\x44\xae\x7e\x6c\xb2\xc9\xe4\x19\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_store", [424242.424242]), 424242.424242) + +// endianness.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_store", [1.79769313486e+308]), 1.79769313486e+308) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/exports.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/exports.wast.js new file mode 100644 index 0000000000..126b81125b --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/exports.wast.js @@ -0,0 +1,250 @@ + +// exports.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:4 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x62\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:5 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x62\x00\x01\x0a\x8f\x80\x80\x80\x00\x02\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:7 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:8 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x8d\x80\x80\x80\x00\x03\x01\x61\x00\x00\x01\x62\x00\x00\x01\x63\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:9 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x62\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:10 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:11 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:12 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:13 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:14 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:16 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x65\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x20\x00\x41\x01\x6a\x0f\x0b"); +let $Func = $12; + +// exports.wast:22 +assert_return(() => call($12, "e", [42]), 43); + +// exports.wast:23 +assert_return(() => call($Func, "e", [42]), 43); + +// exports.wast:24 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// exports.wast:25 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); +let $Other1 = $14; + +// exports.wast:26 +assert_return(() => call($Func, "e", [42]), 43); + +// exports.wast:28 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x00\x01\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:32 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:36 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x61\x00\x01\x0a\x8f\x80\x80\x80\x00\x02\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:40 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x61\x03\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:44 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x61\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:48 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x00\x00\x01\x61\x02\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:56 +let $15 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:57 +let $16 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x62\x03\x00"); + +// exports.wast:58 +let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x8b\x80\x80\x80\x00\x02\x7f\x00\x41\x00\x0b\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x62\x03\x01"); + +// exports.wast:60 +let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:61 +let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:62 +let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:63 +let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:64 +let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:65 +let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// exports.wast:67 +let $24 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x2a\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x65\x03\x00"); +let $Global = $24; + +// exports.wast:71 +assert_return(() => get($24, "e"), 42); + +// exports.wast:72 +assert_return(() => get($Global, "e"), 42); + +// exports.wast:73 +let $25 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); + +// exports.wast:74 +let $26 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00"); +let $Other2 = $26; + +// exports.wast:75 +assert_return(() => get($Global, "e"), 42); + +// exports.wast:77 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x01"); + +// exports.wast:81 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x61\x03\x00"); + +// exports.wast:85 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x8b\x80\x80\x80\x00\x02\x7f\x00\x41\x00\x0b\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x61\x03\x01"); + +// exports.wast:89 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:93 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x61\x01\x00"); + +// exports.wast:97 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x03\x00\x01\x61\x02\x00"); + +// exports.wast:105 +let $27 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:106 +let $28 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x01\x00\x01\x62\x01\x00"); + +// exports.wast:110 +let $29 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:111 +let $30 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:112 +let $31 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:113 +let $32 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:114 +let $33 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:115 +let $34 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:116 +let $35 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:117 +let $36 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:118 +let $37 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:119 +let $38 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:120 +let $39 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:121 +let $40 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x00"); + +// exports.wast:125 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x01\x01"); + +// exports.wast:129 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x01\x00\x01\x61\x01\x00"); + +// exports.wast:138 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x01\x00\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:142 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x01\x00\x01\x61\x03\x00"); + +// exports.wast:146 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x01\x00\x01\x61\x02\x00"); + +// exports.wast:154 +let $41 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:155 +let $42 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x02\x00\x01\x62\x02\x00"); + +// exports.wast:159 +let $43 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:160 +let $44 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:161 +let $45 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:162 +let $46 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:163 +let $47 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:164 +let $48 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:165 +let $49 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:166 +let $50 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:167 +let $51 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:168 +let $52 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:169 +let $53 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:170 +let $54 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x00"); + +// exports.wast:174 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x61\x02\x01"); + +// exports.wast:178 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x02\x00\x01\x61\x02\x00"); + +// exports.wast:187 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x02\x00\x01\x61\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// exports.wast:191 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b\x07\x89\x80\x80\x80\x00\x02\x01\x61\x02\x00\x01\x61\x03\x00"); + +// exports.wast:195 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x89\x80\x80\x80\x00\x02\x01\x61\x02\x00\x01\x61\x01\x00"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/f32.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/f32.wast.js new file mode 100644 index 0000000000..db1e7218c5 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/f32.wast.js @@ -0,0 +1,7503 @@ + +// f32.wast:5 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x01\x7d\x01\x7d\x03\x8c\x80\x80\x80\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x01\x01\x01\x01\x07\xcd\x80\x80\x80\x00\x0b\x03\x61\x64\x64\x00\x00\x03\x73\x75\x62\x00\x01\x03\x6d\x75\x6c\x00\x02\x03\x64\x69\x76\x00\x03\x04\x73\x71\x72\x74\x00\x04\x03\x6d\x69\x6e\x00\x05\x03\x6d\x61\x78\x00\x06\x04\x63\x65\x69\x6c\x00\x07\x05\x66\x6c\x6f\x6f\x72\x00\x08\x05\x74\x72\x75\x6e\x63\x00\x09\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x0a\x0a\xfb\x80\x80\x80\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x93\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x91\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x96\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x97\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8d\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8e\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8f\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x90\x0b"); + +// f32.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -0.]), -0.) + +// f32.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 0.]), 0.) + +// f32.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -0.]), 0.) + +// f32.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 0.]), 0.) + +// f32.wast:23 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:24 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -0.5]), -0.5) + +// f32.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 0.5]), 0.5) + +// f32.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -0.5]), -0.5) + +// f32.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 0.5]), 0.5) + +// f32.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -1.]), -1.) + +// f32.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 1.]), 1.) + +// f32.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -1.]), -1.) + +// f32.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 1.]), 1.) + +// f32.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -6.28318548203]), -6.28318548203) + +// f32.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 6.28318548203]), 6.28318548203) + +// f32.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -6.28318548203]), -6.28318548203) + +// f32.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 6.28318548203]), 6.28318548203) + +// f32.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -Infinity]), -Infinity) + +// f32.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., Infinity]), Infinity) + +// f32.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -Infinity]), -Infinity) + +// f32.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., Infinity]), Infinity) + +// f32.wast:51 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0., NaN])) + +// f32.wast:52 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0., NaN])) + +// f32.wast:53 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0., NaN])) + +// f32.wast:54 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0., NaN])) + +// f32.wast:55 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0., NaN])) + +// f32.wast:56 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0., NaN])) + +// f32.wast:57 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0., NaN])) + +// f32.wast:58 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0., NaN])) + +// f32.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -0.]), -1.40129846432e-45) + +// f32.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 0.]), -1.40129846432e-45) + +// f32.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -0.]), 1.40129846432e-45) + +// f32.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 0.]), 1.40129846432e-45) + +// f32.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x02\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -1.40129846432e-45]), -2.80259692865e-45) + +// f32.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 1.40129846432e-45]), 0.) + +// f32.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -1.40129846432e-45]), 0.) + +// f32.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x02\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 1.40129846432e-45]), 2.80259692865e-45) + +// f32.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x01\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -1.17549435082e-38]), -1.17549449095e-38) + +// f32.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 1.17549435082e-38]), 1.17549421069e-38) + +// f32.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -1.17549435082e-38]), -1.17549421069e-38) + +// f32.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x01\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 1.17549435082e-38]), 1.17549449095e-38) + +// f32.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -0.5]), -0.5) + +// f32.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 0.5]), 0.5) + +// f32.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -0.5]), -0.5) + +// f32.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 0.5]), 0.5) + +// f32.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -1.]), -1.) + +// f32.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 1.]), 1.) + +// f32.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -1.]), -1.) + +// f32.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 1.]), 1.) + +// f32.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -6.28318548203]), -6.28318548203) + +// f32.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 6.28318548203]), 6.28318548203) + +// f32.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -6.28318548203]), -6.28318548203) + +// f32.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 6.28318548203]), 6.28318548203) + +// f32.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, -Infinity]), -Infinity) + +// f32.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.40129846432e-45, Infinity]), Infinity) + +// f32.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, -Infinity]), -Infinity) + +// f32.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.40129846432e-45, Infinity]), Infinity) + +// f32.wast:91 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1.40129846432e-45, NaN])) + +// f32.wast:92 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1.40129846432e-45, NaN])) + +// f32.wast:93 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1.40129846432e-45, NaN])) + +// f32.wast:94 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1.40129846432e-45, NaN])) + +// f32.wast:95 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1.40129846432e-45, NaN])) + +// f32.wast:96 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1.40129846432e-45, NaN])) + +// f32.wast:97 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1.40129846432e-45, NaN])) + +// f32.wast:98 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1.40129846432e-45, NaN])) + +// f32.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -0.]), -1.17549435082e-38) + +// f32.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 0.]), -1.17549435082e-38) + +// f32.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -0.]), 1.17549435082e-38) + +// f32.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 0.]), 1.17549435082e-38) + +// f32.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -1.40129846432e-45]), -1.17549449095e-38) + +// f32.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 1.40129846432e-45]), -1.17549421069e-38) + +// f32.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -1.40129846432e-45]), 1.17549421069e-38) + +// f32.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 1.40129846432e-45]), 1.17549449095e-38) + +// f32.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -1.17549435082e-38]), -2.35098870164e-38) + +// f32.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 1.17549435082e-38]), 0.) + +// f32.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -1.17549435082e-38]), 0.) + +// f32.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 1.17549435082e-38]), 2.35098870164e-38) + +// f32.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -0.5]), -0.5) + +// f32.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 0.5]), 0.5) + +// f32.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -0.5]), -0.5) + +// f32.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 0.5]), 0.5) + +// f32.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -1.]), -1.) + +// f32.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 1.]), 1.) + +// f32.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -1.]), -1.) + +// f32.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 1.]), 1.) + +// f32.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -6.28318548203]), -6.28318548203) + +// f32.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 6.28318548203]), 6.28318548203) + +// f32.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -6.28318548203]), -6.28318548203) + +// f32.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 6.28318548203]), 6.28318548203) + +// f32.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, -Infinity]), -Infinity) + +// f32.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.17549435082e-38, Infinity]), Infinity) + +// f32.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, -Infinity]), -Infinity) + +// f32.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.17549435082e-38, Infinity]), Infinity) + +// f32.wast:131 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1.17549435082e-38, NaN])) + +// f32.wast:132 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1.17549435082e-38, NaN])) + +// f32.wast:133 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1.17549435082e-38, NaN])) + +// f32.wast:134 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1.17549435082e-38, NaN])) + +// f32.wast:135 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1.17549435082e-38, NaN])) + +// f32.wast:136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1.17549435082e-38, NaN])) + +// f32.wast:137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1.17549435082e-38, NaN])) + +// f32.wast:138 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1.17549435082e-38, NaN])) + +// f32.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -0.]), -0.5) + +// f32.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 0.]), -0.5) + +// f32.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -0.]), 0.5) + +// f32.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 0.]), 0.5) + +// f32.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -1.40129846432e-45]), -0.5) + +// f32.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 1.40129846432e-45]), -0.5) + +// f32.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -1.40129846432e-45]), 0.5) + +// f32.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 1.40129846432e-45]), 0.5) + +// f32.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -1.17549435082e-38]), -0.5) + +// f32.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 1.17549435082e-38]), -0.5) + +// f32.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -1.17549435082e-38]), 0.5) + +// f32.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 1.17549435082e-38]), 0.5) + +// f32.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -0.5]), -1.) + +// f32.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 0.5]), 0.) + +// f32.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -0.5]), 0.) + +// f32.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 0.5]), 1.) + +// f32.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\xc0\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -1.]), -1.5) + +// f32.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 1.]), 0.5) + +// f32.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -1.]), -0.5) + +// f32.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\xc0\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 1.]), 1.5) + +// f32.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xd9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -6.28318548203]), -6.78318548203) + +// f32.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xb9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 6.28318548203]), 5.78318548203) + +// f32.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xb9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -6.28318548203]), -5.78318548203) + +// f32.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xd9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 6.28318548203]), 6.78318548203) + +// f32.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -Infinity]), -Infinity) + +// f32.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, Infinity]), Infinity) + +// f32.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -Infinity]), -Infinity) + +// f32.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, Infinity]), Infinity) + +// f32.wast:171 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0.5, NaN])) + +// f32.wast:172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0.5, NaN])) + +// f32.wast:173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0.5, NaN])) + +// f32.wast:174 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0.5, NaN])) + +// f32.wast:175 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0.5, NaN])) + +// f32.wast:176 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0.5, NaN])) + +// f32.wast:177 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0.5, NaN])) + +// f32.wast:178 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0.5, NaN])) + +// f32.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -0.]), -1.) + +// f32.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 0.]), -1.) + +// f32.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -0.]), 1.) + +// f32.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 0.]), 1.) + +// f32.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -1.40129846432e-45]), -1.) + +// f32.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 1.40129846432e-45]), -1.) + +// f32.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -1.40129846432e-45]), 1.) + +// f32.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 1.40129846432e-45]), 1.) + +// f32.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -1.17549435082e-38]), -1.) + +// f32.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 1.17549435082e-38]), -1.) + +// f32.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -1.17549435082e-38]), 1.) + +// f32.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 1.17549435082e-38]), 1.) + +// f32.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\xc0\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -0.5]), -1.5) + +// f32.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 0.5]), -0.5) + +// f32.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -0.5]), 0.5) + +// f32.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\xc0\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 0.5]), 1.5) + +// f32.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -1.]), -2.) + +// f32.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 1.]), 0.) + +// f32.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -1.]), 0.) + +// f32.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 1.]), 2.) + +// f32.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xe9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -6.28318548203]), -7.28318548203) + +// f32.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xa9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 6.28318548203]), 5.28318548203) + +// f32.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xa9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -6.28318548203]), -5.28318548203) + +// f32.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xe9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 6.28318548203]), 7.28318548203) + +// f32.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -Infinity]), -Infinity) + +// f32.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., Infinity]), Infinity) + +// f32.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -Infinity]), -Infinity) + +// f32.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., Infinity]), Infinity) + +// f32.wast:211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1., NaN])) + +// f32.wast:212 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1., NaN])) + +// f32.wast:213 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1., NaN])) + +// f32.wast:214 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1., NaN])) + +// f32.wast:215 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1., NaN])) + +// f32.wast:216 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1., NaN])) + +// f32.wast:217 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1., NaN])) + +// f32.wast:218 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1., NaN])) + +// f32.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -0.]), -6.28318548203) + +// f32.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 0.]), -6.28318548203) + +// f32.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -0.]), 6.28318548203) + +// f32.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 0.]), 6.28318548203) + +// f32.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -1.40129846432e-45]), -6.28318548203) + +// f32.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 1.40129846432e-45]), -6.28318548203) + +// f32.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -1.40129846432e-45]), 6.28318548203) + +// f32.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 1.40129846432e-45]), 6.28318548203) + +// f32.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -1.17549435082e-38]), -6.28318548203) + +// f32.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 1.17549435082e-38]), -6.28318548203) + +// f32.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -1.17549435082e-38]), 6.28318548203) + +// f32.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 1.17549435082e-38]), 6.28318548203) + +// f32.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xd9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -0.5]), -6.78318548203) + +// f32.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xb9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 0.5]), -5.78318548203) + +// f32.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xb9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -0.5]), 5.78318548203) + +// f32.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xd9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 0.5]), 6.78318548203) + +// f32.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xe9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -1.]), -7.28318548203) + +// f32.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xa9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 1.]), -5.28318548203) + +// f32.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xa9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -1.]), 5.28318548203) + +// f32.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xe9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 1.]), 7.28318548203) + +// f32.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\x49\xc1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -6.28318548203]), -12.5663709641) + +// f32.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 6.28318548203]), 0.) + +// f32.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -6.28318548203]), 0.) + +// f32.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\x49\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 6.28318548203]), 12.5663709641) + +// f32.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, -Infinity]), -Infinity) + +// f32.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318548203, Infinity]), Infinity) + +// f32.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, -Infinity]), -Infinity) + +// f32.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318548203, Infinity]), Infinity) + +// f32.wast:251 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-6.28318548203, NaN])) + +// f32.wast:252 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-6.28318548203, NaN])) + +// f32.wast:253 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-6.28318548203, NaN])) + +// f32.wast:254 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-6.28318548203, NaN])) + +// f32.wast:255 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [6.28318548203, NaN])) + +// f32.wast:256 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [6.28318548203, NaN])) + +// f32.wast:257 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [6.28318548203, NaN])) + +// f32.wast:258 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [6.28318548203, NaN])) + +// f32.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -0.]), -3.40282346639e+38) + +// f32.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 0.]), -3.40282346639e+38) + +// f32.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -0.]), 3.40282346639e+38) + +// f32.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 0.]), 3.40282346639e+38) + +// f32.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -1.40129846432e-45]), -3.40282346639e+38) + +// f32.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 1.40129846432e-45]), -3.40282346639e+38) + +// f32.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -1.40129846432e-45]), 3.40282346639e+38) + +// f32.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 1.40129846432e-45]), 3.40282346639e+38) + +// f32.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -1.17549435082e-38]), -3.40282346639e+38) + +// f32.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 1.17549435082e-38]), -3.40282346639e+38) + +// f32.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -1.17549435082e-38]), 3.40282346639e+38) + +// f32.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 1.17549435082e-38]), 3.40282346639e+38) + +// f32.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -0.5]), -3.40282346639e+38) + +// f32.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 0.5]), -3.40282346639e+38) + +// f32.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -0.5]), 3.40282346639e+38) + +// f32.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 0.5]), 3.40282346639e+38) + +// f32.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 1.]), -3.40282346639e+38) + +// f32.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -1.]), 3.40282346639e+38) + +// f32.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -6.28318548203]), -3.40282346639e+38) + +// f32.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 6.28318548203]), -3.40282346639e+38) + +// f32.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -6.28318548203]), 3.40282346639e+38) + +// f32.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 6.28318548203]), 3.40282346639e+38) + +// f32.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -3.40282346639e+38]), -Infinity) + +// f32.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, 3.40282346639e+38]), 0.) + +// f32.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -3.40282346639e+38]), 0.) + +// f32.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, 3.40282346639e+38]), Infinity) + +// f32.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, -Infinity]), -Infinity) + +// f32.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-3.40282346639e+38, Infinity]), Infinity) + +// f32.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, -Infinity]), -Infinity) + +// f32.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [3.40282346639e+38, Infinity]), Infinity) + +// f32.wast:291 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-3.40282346639e+38, NaN])) + +// f32.wast:292 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-3.40282346639e+38, NaN])) + +// f32.wast:293 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-3.40282346639e+38, NaN])) + +// f32.wast:294 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-3.40282346639e+38, NaN])) + +// f32.wast:295 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [3.40282346639e+38, NaN])) + +// f32.wast:296 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [3.40282346639e+38, NaN])) + +// f32.wast:297 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [3.40282346639e+38, NaN])) + +// f32.wast:298 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [3.40282346639e+38, NaN])) + +// f32.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -0.]), -Infinity) + +// f32.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 0.]), -Infinity) + +// f32.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -0.]), Infinity) + +// f32.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 0.]), Infinity) + +// f32.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -1.40129846432e-45]), -Infinity) + +// f32.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 1.40129846432e-45]), -Infinity) + +// f32.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -1.40129846432e-45]), Infinity) + +// f32.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 1.40129846432e-45]), Infinity) + +// f32.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -1.17549435082e-38]), -Infinity) + +// f32.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 1.17549435082e-38]), -Infinity) + +// f32.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -1.17549435082e-38]), Infinity) + +// f32.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 1.17549435082e-38]), Infinity) + +// f32.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -0.5]), -Infinity) + +// f32.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 0.5]), -Infinity) + +// f32.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -0.5]), Infinity) + +// f32.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 0.5]), Infinity) + +// f32.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -1.]), -Infinity) + +// f32.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 1.]), -Infinity) + +// f32.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -1.]), Infinity) + +// f32.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 1.]), Infinity) + +// f32.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -6.28318548203]), -Infinity) + +// f32.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 6.28318548203]), -Infinity) + +// f32.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -6.28318548203]), Infinity) + +// f32.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 6.28318548203]), Infinity) + +// f32.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -3.40282346639e+38]), -Infinity) + +// f32.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 3.40282346639e+38]), -Infinity) + +// f32.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -3.40282346639e+38]), Infinity) + +// f32.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 3.40282346639e+38]), Infinity) + +// f32.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -Infinity]), -Infinity) + +// f32.wast:328 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-Infinity, Infinity])) + +// f32.wast:329 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [Infinity, -Infinity])) + +// f32.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, Infinity]), Infinity) + +// f32.wast:331 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-Infinity, NaN])) + +// f32.wast:332 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-Infinity, NaN])) + +// f32.wast:333 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-Infinity, NaN])) + +// f32.wast:334 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-Infinity, NaN])) + +// f32.wast:335 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [Infinity, NaN])) + +// f32.wast:336 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [Infinity, NaN])) + +// f32.wast:337 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [Infinity, NaN])) + +// f32.wast:338 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [Infinity, NaN])) + +// f32.wast:339 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.])) + +// f32.wast:340 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.])) + +// f32.wast:341 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.])) + +// f32.wast:342 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.])) + +// f32.wast:343 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.])) + +// f32.wast:344 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.])) + +// f32.wast:345 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.])) + +// f32.wast:346 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.])) + +// f32.wast:347 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.40129846432e-45])) + +// f32.wast:348 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.40129846432e-45])) + +// f32.wast:349 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.40129846432e-45])) + +// f32.wast:350 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.40129846432e-45])) + +// f32.wast:351 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.40129846432e-45])) + +// f32.wast:352 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.40129846432e-45])) + +// f32.wast:353 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.40129846432e-45])) + +// f32.wast:354 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.40129846432e-45])) + +// f32.wast:355 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.17549435082e-38])) + +// f32.wast:356 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.17549435082e-38])) + +// f32.wast:357 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.17549435082e-38])) + +// f32.wast:358 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.17549435082e-38])) + +// f32.wast:359 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.17549435082e-38])) + +// f32.wast:360 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.17549435082e-38])) + +// f32.wast:361 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.17549435082e-38])) + +// f32.wast:362 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.17549435082e-38])) + +// f32.wast:363 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.5])) + +// f32.wast:364 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.5])) + +// f32.wast:365 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.5])) + +// f32.wast:366 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.5])) + +// f32.wast:367 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.5])) + +// f32.wast:368 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.5])) + +// f32.wast:369 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.5])) + +// f32.wast:370 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.5])) + +// f32.wast:371 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.])) + +// f32.wast:372 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.])) + +// f32.wast:373 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.])) + +// f32.wast:374 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.])) + +// f32.wast:375 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.])) + +// f32.wast:376 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.])) + +// f32.wast:377 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.])) + +// f32.wast:378 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.])) + +// f32.wast:379 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -6.28318548203])) + +// f32.wast:380 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -6.28318548203])) + +// f32.wast:381 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 6.28318548203])) + +// f32.wast:382 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 6.28318548203])) + +// f32.wast:383 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -6.28318548203])) + +// f32.wast:384 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -6.28318548203])) + +// f32.wast:385 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 6.28318548203])) + +// f32.wast:386 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 6.28318548203])) + +// f32.wast:387 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -3.40282346639e+38])) + +// f32.wast:388 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -3.40282346639e+38])) + +// f32.wast:389 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 3.40282346639e+38])) + +// f32.wast:390 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 3.40282346639e+38])) + +// f32.wast:391 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -3.40282346639e+38])) + +// f32.wast:392 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -3.40282346639e+38])) + +// f32.wast:393 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 3.40282346639e+38])) + +// f32.wast:394 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 3.40282346639e+38])) + +// f32.wast:395 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -Infinity])) + +// f32.wast:396 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -Infinity])) + +// f32.wast:397 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, Infinity])) + +// f32.wast:398 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, Infinity])) + +// f32.wast:399 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -Infinity])) + +// f32.wast:400 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -Infinity])) + +// f32.wast:401 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, Infinity])) + +// f32.wast:402 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, Infinity])) + +// f32.wast:403 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:404 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:405 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:406 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:407 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:408 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:409 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:410 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:414 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:415 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:416 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:417 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f32.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -0.]), 0.) + +// f32.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 0.]), -0.) + +// f32.wast:421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -0.]), 0.) + +// f32.wast:422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 0.]), 0.) + +// f32.wast:423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -0.5]), 0.5) + +// f32.wast:432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 0.5]), -0.5) + +// f32.wast:433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -0.5]), 0.5) + +// f32.wast:434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 0.5]), -0.5) + +// f32.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -1.]), 1.) + +// f32.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 1.]), -1.) + +// f32.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -1.]), 1.) + +// f32.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 1.]), -1.) + +// f32.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -6.28318548203]), 6.28318548203) + +// f32.wast:440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 6.28318548203]), -6.28318548203) + +// f32.wast:441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -6.28318548203]), 6.28318548203) + +// f32.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 6.28318548203]), -6.28318548203) + +// f32.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -Infinity]), Infinity) + +// f32.wast:448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., Infinity]), -Infinity) + +// f32.wast:449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -Infinity]), Infinity) + +// f32.wast:450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., Infinity]), -Infinity) + +// f32.wast:451 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0., NaN])) + +// f32.wast:452 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0., NaN])) + +// f32.wast:453 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0., NaN])) + +// f32.wast:454 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0., NaN])) + +// f32.wast:455 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0., NaN])) + +// f32.wast:456 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0., NaN])) + +// f32.wast:457 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0., NaN])) + +// f32.wast:458 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0., NaN])) + +// f32.wast:459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -0.]), -1.40129846432e-45) + +// f32.wast:460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 0.]), -1.40129846432e-45) + +// f32.wast:461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -0.]), 1.40129846432e-45) + +// f32.wast:462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 0.]), 1.40129846432e-45) + +// f32.wast:463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -1.40129846432e-45]), 0.) + +// f32.wast:464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x02\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 1.40129846432e-45]), -2.80259692865e-45) + +// f32.wast:465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x02\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -1.40129846432e-45]), 2.80259692865e-45) + +// f32.wast:466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 1.40129846432e-45]), 0.) + +// f32.wast:467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -1.17549435082e-38]), 1.17549421069e-38) + +// f32.wast:468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x01\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 1.17549435082e-38]), -1.17549449095e-38) + +// f32.wast:469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x01\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -1.17549435082e-38]), 1.17549449095e-38) + +// f32.wast:470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 1.17549435082e-38]), -1.17549421069e-38) + +// f32.wast:471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -0.5]), 0.5) + +// f32.wast:472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 0.5]), -0.5) + +// f32.wast:473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -0.5]), 0.5) + +// f32.wast:474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 0.5]), -0.5) + +// f32.wast:475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -1.]), 1.) + +// f32.wast:476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 1.]), -1.) + +// f32.wast:477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -1.]), 1.) + +// f32.wast:478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 1.]), -1.) + +// f32.wast:479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -6.28318548203]), 6.28318548203) + +// f32.wast:480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 6.28318548203]), -6.28318548203) + +// f32.wast:481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -6.28318548203]), 6.28318548203) + +// f32.wast:482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 6.28318548203]), -6.28318548203) + +// f32.wast:483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, -Infinity]), Infinity) + +// f32.wast:488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.40129846432e-45, Infinity]), -Infinity) + +// f32.wast:489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, -Infinity]), Infinity) + +// f32.wast:490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.40129846432e-45, Infinity]), -Infinity) + +// f32.wast:491 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1.40129846432e-45, NaN])) + +// f32.wast:492 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1.40129846432e-45, NaN])) + +// f32.wast:493 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1.40129846432e-45, NaN])) + +// f32.wast:494 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1.40129846432e-45, NaN])) + +// f32.wast:495 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1.40129846432e-45, NaN])) + +// f32.wast:496 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1.40129846432e-45, NaN])) + +// f32.wast:497 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1.40129846432e-45, NaN])) + +// f32.wast:498 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1.40129846432e-45, NaN])) + +// f32.wast:499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -0.]), -1.17549435082e-38) + +// f32.wast:500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 0.]), -1.17549435082e-38) + +// f32.wast:501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -0.]), 1.17549435082e-38) + +// f32.wast:502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 0.]), 1.17549435082e-38) + +// f32.wast:503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -1.40129846432e-45]), -1.17549421069e-38) + +// f32.wast:504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 1.40129846432e-45]), -1.17549449095e-38) + +// f32.wast:505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -1.40129846432e-45]), 1.17549449095e-38) + +// f32.wast:506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 1.40129846432e-45]), 1.17549421069e-38) + +// f32.wast:507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -1.17549435082e-38]), 0.) + +// f32.wast:508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 1.17549435082e-38]), -2.35098870164e-38) + +// f32.wast:509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -1.17549435082e-38]), 2.35098870164e-38) + +// f32.wast:510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 1.17549435082e-38]), 0.) + +// f32.wast:511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -0.5]), 0.5) + +// f32.wast:512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 0.5]), -0.5) + +// f32.wast:513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -0.5]), 0.5) + +// f32.wast:514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 0.5]), -0.5) + +// f32.wast:515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -1.]), 1.) + +// f32.wast:516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 1.]), -1.) + +// f32.wast:517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -1.]), 1.) + +// f32.wast:518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 1.]), -1.) + +// f32.wast:519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -6.28318548203]), 6.28318548203) + +// f32.wast:520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 6.28318548203]), -6.28318548203) + +// f32.wast:521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -6.28318548203]), 6.28318548203) + +// f32.wast:522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 6.28318548203]), -6.28318548203) + +// f32.wast:523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, -Infinity]), Infinity) + +// f32.wast:528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.17549435082e-38, Infinity]), -Infinity) + +// f32.wast:529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, -Infinity]), Infinity) + +// f32.wast:530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.17549435082e-38, Infinity]), -Infinity) + +// f32.wast:531 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1.17549435082e-38, NaN])) + +// f32.wast:532 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1.17549435082e-38, NaN])) + +// f32.wast:533 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1.17549435082e-38, NaN])) + +// f32.wast:534 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1.17549435082e-38, NaN])) + +// f32.wast:535 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1.17549435082e-38, NaN])) + +// f32.wast:536 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1.17549435082e-38, NaN])) + +// f32.wast:537 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1.17549435082e-38, NaN])) + +// f32.wast:538 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1.17549435082e-38, NaN])) + +// f32.wast:539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -0.]), -0.5) + +// f32.wast:540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 0.]), -0.5) + +// f32.wast:541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -0.]), 0.5) + +// f32.wast:542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 0.]), 0.5) + +// f32.wast:543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -1.40129846432e-45]), -0.5) + +// f32.wast:544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 1.40129846432e-45]), -0.5) + +// f32.wast:545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -1.40129846432e-45]), 0.5) + +// f32.wast:546 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 1.40129846432e-45]), 0.5) + +// f32.wast:547 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -1.17549435082e-38]), -0.5) + +// f32.wast:548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 1.17549435082e-38]), -0.5) + +// f32.wast:549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -1.17549435082e-38]), 0.5) + +// f32.wast:550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 1.17549435082e-38]), 0.5) + +// f32.wast:551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -0.5]), 0.) + +// f32.wast:552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 0.5]), -1.) + +// f32.wast:553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -0.5]), 1.) + +// f32.wast:554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 0.5]), 0.) + +// f32.wast:555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -1.]), 0.5) + +// f32.wast:556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\xc0\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 1.]), -1.5) + +// f32.wast:557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\xc0\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -1.]), 1.5) + +// f32.wast:558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 1.]), -0.5) + +// f32.wast:559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xb9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -6.28318548203]), 5.78318548203) + +// f32.wast:560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xd9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 6.28318548203]), -6.78318548203) + +// f32.wast:561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xd9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -6.28318548203]), 6.78318548203) + +// f32.wast:562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xb9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 6.28318548203]), -5.78318548203) + +// f32.wast:563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -Infinity]), Infinity) + +// f32.wast:568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, Infinity]), -Infinity) + +// f32.wast:569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -Infinity]), Infinity) + +// f32.wast:570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, Infinity]), -Infinity) + +// f32.wast:571 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0.5, NaN])) + +// f32.wast:572 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0.5, NaN])) + +// f32.wast:573 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0.5, NaN])) + +// f32.wast:574 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0.5, NaN])) + +// f32.wast:575 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0.5, NaN])) + +// f32.wast:576 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0.5, NaN])) + +// f32.wast:577 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0.5, NaN])) + +// f32.wast:578 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0.5, NaN])) + +// f32.wast:579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -0.]), -1.) + +// f32.wast:580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 0.]), -1.) + +// f32.wast:581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -0.]), 1.) + +// f32.wast:582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 0.]), 1.) + +// f32.wast:583 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -1.40129846432e-45]), -1.) + +// f32.wast:584 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 1.40129846432e-45]), -1.) + +// f32.wast:585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -1.40129846432e-45]), 1.) + +// f32.wast:586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 1.40129846432e-45]), 1.) + +// f32.wast:587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -1.17549435082e-38]), -1.) + +// f32.wast:588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 1.17549435082e-38]), -1.) + +// f32.wast:589 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -1.17549435082e-38]), 1.) + +// f32.wast:590 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 1.17549435082e-38]), 1.) + +// f32.wast:591 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -0.5]), -0.5) + +// f32.wast:592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\xc0\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 0.5]), -1.5) + +// f32.wast:593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\xc0\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -0.5]), 1.5) + +// f32.wast:594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 0.5]), 0.5) + +// f32.wast:595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -1.]), 0.) + +// f32.wast:596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 1.]), -2.) + +// f32.wast:597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -1.]), 2.) + +// f32.wast:598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 1.]), 0.) + +// f32.wast:599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xa9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -6.28318548203]), 5.28318548203) + +// f32.wast:600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xe9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 6.28318548203]), -7.28318548203) + +// f32.wast:601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xe9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -6.28318548203]), 7.28318548203) + +// f32.wast:602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xa9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 6.28318548203]), -5.28318548203) + +// f32.wast:603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -Infinity]), Infinity) + +// f32.wast:608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., Infinity]), -Infinity) + +// f32.wast:609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -Infinity]), Infinity) + +// f32.wast:610 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., Infinity]), -Infinity) + +// f32.wast:611 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1., NaN])) + +// f32.wast:612 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1., NaN])) + +// f32.wast:613 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1., NaN])) + +// f32.wast:614 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1., NaN])) + +// f32.wast:615 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1., NaN])) + +// f32.wast:616 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1., NaN])) + +// f32.wast:617 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1., NaN])) + +// f32.wast:618 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1., NaN])) + +// f32.wast:619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -0.]), -6.28318548203) + +// f32.wast:620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 0.]), -6.28318548203) + +// f32.wast:621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -0.]), 6.28318548203) + +// f32.wast:622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 0.]), 6.28318548203) + +// f32.wast:623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -1.40129846432e-45]), -6.28318548203) + +// f32.wast:624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 1.40129846432e-45]), -6.28318548203) + +// f32.wast:625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -1.40129846432e-45]), 6.28318548203) + +// f32.wast:626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 1.40129846432e-45]), 6.28318548203) + +// f32.wast:627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -1.17549435082e-38]), -6.28318548203) + +// f32.wast:628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 1.17549435082e-38]), -6.28318548203) + +// f32.wast:629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -1.17549435082e-38]), 6.28318548203) + +// f32.wast:630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 1.17549435082e-38]), 6.28318548203) + +// f32.wast:631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xb9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -0.5]), -5.78318548203) + +// f32.wast:632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xd9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 0.5]), -6.78318548203) + +// f32.wast:633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xd9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -0.5]), 6.78318548203) + +// f32.wast:634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xb9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 0.5]), 5.78318548203) + +// f32.wast:635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xa9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -1.]), -5.28318548203) + +// f32.wast:636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xe9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 1.]), -7.28318548203) + +// f32.wast:637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xe9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -1.]), 7.28318548203) + +// f32.wast:638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xa9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 1.]), 5.28318548203) + +// f32.wast:639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -6.28318548203]), 0.) + +// f32.wast:640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\x49\xc1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 6.28318548203]), -12.5663709641) + +// f32.wast:641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\x49\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -6.28318548203]), 12.5663709641) + +// f32.wast:642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 6.28318548203]), 0.) + +// f32.wast:643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, -Infinity]), Infinity) + +// f32.wast:648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318548203, Infinity]), -Infinity) + +// f32.wast:649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, -Infinity]), Infinity) + +// f32.wast:650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318548203, Infinity]), -Infinity) + +// f32.wast:651 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-6.28318548203, NaN])) + +// f32.wast:652 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-6.28318548203, NaN])) + +// f32.wast:653 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-6.28318548203, NaN])) + +// f32.wast:654 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-6.28318548203, NaN])) + +// f32.wast:655 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [6.28318548203, NaN])) + +// f32.wast:656 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [6.28318548203, NaN])) + +// f32.wast:657 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [6.28318548203, NaN])) + +// f32.wast:658 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [6.28318548203, NaN])) + +// f32.wast:659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -0.]), -3.40282346639e+38) + +// f32.wast:660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 0.]), -3.40282346639e+38) + +// f32.wast:661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -0.]), 3.40282346639e+38) + +// f32.wast:662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 0.]), 3.40282346639e+38) + +// f32.wast:663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -1.40129846432e-45]), -3.40282346639e+38) + +// f32.wast:664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 1.40129846432e-45]), -3.40282346639e+38) + +// f32.wast:665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -1.40129846432e-45]), 3.40282346639e+38) + +// f32.wast:666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 1.40129846432e-45]), 3.40282346639e+38) + +// f32.wast:667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -1.17549435082e-38]), -3.40282346639e+38) + +// f32.wast:668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 1.17549435082e-38]), -3.40282346639e+38) + +// f32.wast:669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -1.17549435082e-38]), 3.40282346639e+38) + +// f32.wast:670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 1.17549435082e-38]), 3.40282346639e+38) + +// f32.wast:671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -0.5]), -3.40282346639e+38) + +// f32.wast:672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 0.5]), -3.40282346639e+38) + +// f32.wast:673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -0.5]), 3.40282346639e+38) + +// f32.wast:674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 0.5]), 3.40282346639e+38) + +// f32.wast:675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32.wast:676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 1.]), -3.40282346639e+38) + +// f32.wast:677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -1.]), 3.40282346639e+38) + +// f32.wast:678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32.wast:679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -6.28318548203]), -3.40282346639e+38) + +// f32.wast:680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 6.28318548203]), -3.40282346639e+38) + +// f32.wast:681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -6.28318548203]), 3.40282346639e+38) + +// f32.wast:682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 6.28318548203]), 3.40282346639e+38) + +// f32.wast:683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -3.40282346639e+38]), 0.) + +// f32.wast:684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, 3.40282346639e+38]), -Infinity) + +// f32.wast:685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -3.40282346639e+38]), Infinity) + +// f32.wast:686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, 3.40282346639e+38]), 0.) + +// f32.wast:687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, -Infinity]), Infinity) + +// f32.wast:688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-3.40282346639e+38, Infinity]), -Infinity) + +// f32.wast:689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, -Infinity]), Infinity) + +// f32.wast:690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [3.40282346639e+38, Infinity]), -Infinity) + +// f32.wast:691 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-3.40282346639e+38, NaN])) + +// f32.wast:692 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-3.40282346639e+38, NaN])) + +// f32.wast:693 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-3.40282346639e+38, NaN])) + +// f32.wast:694 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-3.40282346639e+38, NaN])) + +// f32.wast:695 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [3.40282346639e+38, NaN])) + +// f32.wast:696 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [3.40282346639e+38, NaN])) + +// f32.wast:697 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [3.40282346639e+38, NaN])) + +// f32.wast:698 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [3.40282346639e+38, NaN])) + +// f32.wast:699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -0.]), -Infinity) + +// f32.wast:700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 0.]), -Infinity) + +// f32.wast:701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -0.]), Infinity) + +// f32.wast:702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 0.]), Infinity) + +// f32.wast:703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -1.40129846432e-45]), -Infinity) + +// f32.wast:704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 1.40129846432e-45]), -Infinity) + +// f32.wast:705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -1.40129846432e-45]), Infinity) + +// f32.wast:706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 1.40129846432e-45]), Infinity) + +// f32.wast:707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -1.17549435082e-38]), -Infinity) + +// f32.wast:708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 1.17549435082e-38]), -Infinity) + +// f32.wast:709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -1.17549435082e-38]), Infinity) + +// f32.wast:710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 1.17549435082e-38]), Infinity) + +// f32.wast:711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -0.5]), -Infinity) + +// f32.wast:712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 0.5]), -Infinity) + +// f32.wast:713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -0.5]), Infinity) + +// f32.wast:714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 0.5]), Infinity) + +// f32.wast:715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -1.]), -Infinity) + +// f32.wast:716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 1.]), -Infinity) + +// f32.wast:717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -1.]), Infinity) + +// f32.wast:718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 1.]), Infinity) + +// f32.wast:719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -6.28318548203]), -Infinity) + +// f32.wast:720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 6.28318548203]), -Infinity) + +// f32.wast:721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -6.28318548203]), Infinity) + +// f32.wast:722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 6.28318548203]), Infinity) + +// f32.wast:723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -3.40282346639e+38]), -Infinity) + +// f32.wast:724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 3.40282346639e+38]), -Infinity) + +// f32.wast:725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -3.40282346639e+38]), Infinity) + +// f32.wast:726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 3.40282346639e+38]), Infinity) + +// f32.wast:727 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-Infinity, -Infinity])) + +// f32.wast:728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, Infinity]), -Infinity) + +// f32.wast:729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -Infinity]), Infinity) + +// f32.wast:730 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [Infinity, Infinity])) + +// f32.wast:731 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f32.wast:732 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f32.wast:733 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f32.wast:734 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f32.wast:735 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [Infinity, NaN])) + +// f32.wast:736 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [Infinity, NaN])) + +// f32.wast:737 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [Infinity, NaN])) + +// f32.wast:738 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [Infinity, NaN])) + +// f32.wast:739 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.])) + +// f32.wast:740 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.])) + +// f32.wast:741 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.])) + +// f32.wast:742 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.])) + +// f32.wast:743 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.])) + +// f32.wast:744 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.])) + +// f32.wast:745 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.])) + +// f32.wast:746 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.])) + +// f32.wast:747 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.40129846432e-45])) + +// f32.wast:748 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.40129846432e-45])) + +// f32.wast:749 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.40129846432e-45])) + +// f32.wast:750 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.40129846432e-45])) + +// f32.wast:751 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.40129846432e-45])) + +// f32.wast:752 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.40129846432e-45])) + +// f32.wast:753 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.40129846432e-45])) + +// f32.wast:754 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.40129846432e-45])) + +// f32.wast:755 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.17549435082e-38])) + +// f32.wast:756 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.17549435082e-38])) + +// f32.wast:757 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.17549435082e-38])) + +// f32.wast:758 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.17549435082e-38])) + +// f32.wast:759 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.17549435082e-38])) + +// f32.wast:760 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.17549435082e-38])) + +// f32.wast:761 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.17549435082e-38])) + +// f32.wast:762 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.17549435082e-38])) + +// f32.wast:763 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.5])) + +// f32.wast:764 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.5])) + +// f32.wast:765 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.5])) + +// f32.wast:766 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.5])) + +// f32.wast:767 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.5])) + +// f32.wast:768 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.5])) + +// f32.wast:769 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.5])) + +// f32.wast:770 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.5])) + +// f32.wast:771 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.])) + +// f32.wast:772 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.])) + +// f32.wast:773 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.])) + +// f32.wast:774 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.])) + +// f32.wast:775 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.])) + +// f32.wast:776 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.])) + +// f32.wast:777 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.])) + +// f32.wast:778 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.])) + +// f32.wast:779 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -6.28318548203])) + +// f32.wast:780 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -6.28318548203])) + +// f32.wast:781 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 6.28318548203])) + +// f32.wast:782 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 6.28318548203])) + +// f32.wast:783 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -6.28318548203])) + +// f32.wast:784 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -6.28318548203])) + +// f32.wast:785 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 6.28318548203])) + +// f32.wast:786 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 6.28318548203])) + +// f32.wast:787 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -3.40282346639e+38])) + +// f32.wast:788 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -3.40282346639e+38])) + +// f32.wast:789 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 3.40282346639e+38])) + +// f32.wast:790 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 3.40282346639e+38])) + +// f32.wast:791 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -3.40282346639e+38])) + +// f32.wast:792 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -3.40282346639e+38])) + +// f32.wast:793 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 3.40282346639e+38])) + +// f32.wast:794 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 3.40282346639e+38])) + +// f32.wast:795 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f32.wast:796 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f32.wast:797 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, Infinity])) + +// f32.wast:798 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, Infinity])) + +// f32.wast:799 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f32.wast:800 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f32.wast:801 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, Infinity])) + +// f32.wast:802 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, Infinity])) + +// f32.wast:803 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:804 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:805 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:806 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:807 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:808 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:809 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:810 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:811 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:812 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:813 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:814 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:815 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:816 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:817 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:818 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f32.wast:819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -0.]), 0.) + +// f32.wast:820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 0.]), -0.) + +// f32.wast:821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -0.]), -0.) + +// f32.wast:822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 0.]), 0.) + +// f32.wast:823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -1.40129846432e-45]), 0.) + +// f32.wast:824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 1.40129846432e-45]), -0.) + +// f32.wast:825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -1.40129846432e-45]), -0.) + +// f32.wast:826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 1.40129846432e-45]), 0.) + +// f32.wast:827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -1.17549435082e-38]), 0.) + +// f32.wast:828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 1.17549435082e-38]), -0.) + +// f32.wast:829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -1.17549435082e-38]), -0.) + +// f32.wast:830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 1.17549435082e-38]), 0.) + +// f32.wast:831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -0.5]), 0.) + +// f32.wast:832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 0.5]), -0.) + +// f32.wast:833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -0.5]), -0.) + +// f32.wast:834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 0.5]), 0.) + +// f32.wast:835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -1.]), 0.) + +// f32.wast:836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 1.]), -0.) + +// f32.wast:837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -1.]), -0.) + +// f32.wast:838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 1.]), 0.) + +// f32.wast:839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -6.28318548203]), 0.) + +// f32.wast:840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 6.28318548203]), -0.) + +// f32.wast:841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -6.28318548203]), -0.) + +// f32.wast:842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 6.28318548203]), 0.) + +// f32.wast:843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -3.40282346639e+38]), 0.) + +// f32.wast:844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 3.40282346639e+38]), -0.) + +// f32.wast:845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -3.40282346639e+38]), -0.) + +// f32.wast:846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 3.40282346639e+38]), 0.) + +// f32.wast:847 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., -Infinity])) + +// f32.wast:848 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., Infinity])) + +// f32.wast:849 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., -Infinity])) + +// f32.wast:850 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., Infinity])) + +// f32.wast:851 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., NaN])) + +// f32.wast:852 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0., NaN])) + +// f32.wast:853 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., NaN])) + +// f32.wast:854 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0., NaN])) + +// f32.wast:855 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., NaN])) + +// f32.wast:856 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0., NaN])) + +// f32.wast:857 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., NaN])) + +// f32.wast:858 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0., NaN])) + +// f32.wast:859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -0.]), 0.) + +// f32.wast:860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 0.]), -0.) + +// f32.wast:861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -0.]), -0.) + +// f32.wast:862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 0.]), 0.) + +// f32.wast:863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -1.40129846432e-45]), 0.) + +// f32.wast:864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 1.40129846432e-45]), -0.) + +// f32.wast:865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -1.40129846432e-45]), -0.) + +// f32.wast:866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 1.40129846432e-45]), 0.) + +// f32.wast:867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -1.17549435082e-38]), 0.) + +// f32.wast:868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 1.17549435082e-38]), -0.) + +// f32.wast:869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -1.17549435082e-38]), -0.) + +// f32.wast:870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 1.17549435082e-38]), 0.) + +// f32.wast:871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -0.5]), 0.) + +// f32.wast:872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 0.5]), -0.) + +// f32.wast:873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -0.5]), -0.) + +// f32.wast:874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 0.5]), 0.) + +// f32.wast:875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -1.]), 1.40129846432e-45) + +// f32.wast:876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 1.]), -1.40129846432e-45) + +// f32.wast:877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -1.]), -1.40129846432e-45) + +// f32.wast:878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 1.]), 1.40129846432e-45) + +// f32.wast:879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x06\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -6.28318548203]), 8.40779078595e-45) + +// f32.wast:880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x06\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 6.28318548203]), -8.40779078595e-45) + +// f32.wast:881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x06\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -6.28318548203]), -8.40779078595e-45) + +// f32.wast:882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x06\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 6.28318548203]), 8.40779078595e-45) + +// f32.wast:883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\xff\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -3.40282346639e+38]), 4.76837129781e-07) + +// f32.wast:884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\xff\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, 3.40282346639e+38]), -4.76837129781e-07) + +// f32.wast:885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\xff\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -3.40282346639e+38]), -4.76837129781e-07) + +// f32.wast:886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\xff\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, 3.40282346639e+38]), 4.76837129781e-07) + +// f32.wast:887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, -Infinity]), Infinity) + +// f32.wast:888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.40129846432e-45, Infinity]), -Infinity) + +// f32.wast:889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, -Infinity]), -Infinity) + +// f32.wast:890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.40129846432e-45, Infinity]), Infinity) + +// f32.wast:891 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1.40129846432e-45, NaN])) + +// f32.wast:892 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1.40129846432e-45, NaN])) + +// f32.wast:893 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1.40129846432e-45, NaN])) + +// f32.wast:894 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1.40129846432e-45, NaN])) + +// f32.wast:895 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1.40129846432e-45, NaN])) + +// f32.wast:896 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1.40129846432e-45, NaN])) + +// f32.wast:897 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1.40129846432e-45, NaN])) + +// f32.wast:898 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1.40129846432e-45, NaN])) + +// f32.wast:899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -0.]), 0.) + +// f32.wast:900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 0.]), -0.) + +// f32.wast:901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -0.]), -0.) + +// f32.wast:902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 0.]), 0.) + +// f32.wast:903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -1.40129846432e-45]), 0.) + +// f32.wast:904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 1.40129846432e-45]), -0.) + +// f32.wast:905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -1.40129846432e-45]), -0.) + +// f32.wast:906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 1.40129846432e-45]), 0.) + +// f32.wast:907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -1.17549435082e-38]), 0.) + +// f32.wast:908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 1.17549435082e-38]), -0.) + +// f32.wast:909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -1.17549435082e-38]), -0.) + +// f32.wast:910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 1.17549435082e-38]), 0.) + +// f32.wast:911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x40\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -0.5]), 5.87747175411e-39) + +// f32.wast:912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x40\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 0.5]), -5.87747175411e-39) + +// f32.wast:913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x40\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -0.5]), -5.87747175411e-39) + +// f32.wast:914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x40\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 0.5]), 5.87747175411e-39) + +// f32.wast:915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -1.]), 1.17549435082e-38) + +// f32.wast:916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 1.]), -1.17549435082e-38) + +// f32.wast:917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -1.]), -1.17549435082e-38) + +// f32.wast:918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 1.]), 1.17549435082e-38) + +// f32.wast:919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -6.28318548203]), 7.38584903929e-38) + +// f32.wast:920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 6.28318548203]), -7.38584903929e-38) + +// f32.wast:921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -6.28318548203]), -7.38584903929e-38) + +// f32.wast:922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 6.28318548203]), 7.38584903929e-38) + +// f32.wast:923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -3.40282346639e+38]), 3.99999976158) + +// f32.wast:924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, 3.40282346639e+38]), -3.99999976158) + +// f32.wast:925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -3.40282346639e+38]), -3.99999976158) + +// f32.wast:926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, 3.40282346639e+38]), 3.99999976158) + +// f32.wast:927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, -Infinity]), Infinity) + +// f32.wast:928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.17549435082e-38, Infinity]), -Infinity) + +// f32.wast:929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, -Infinity]), -Infinity) + +// f32.wast:930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.17549435082e-38, Infinity]), Infinity) + +// f32.wast:931 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1.17549435082e-38, NaN])) + +// f32.wast:932 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1.17549435082e-38, NaN])) + +// f32.wast:933 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1.17549435082e-38, NaN])) + +// f32.wast:934 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1.17549435082e-38, NaN])) + +// f32.wast:935 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1.17549435082e-38, NaN])) + +// f32.wast:936 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1.17549435082e-38, NaN])) + +// f32.wast:937 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1.17549435082e-38, NaN])) + +// f32.wast:938 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1.17549435082e-38, NaN])) + +// f32.wast:939 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -0.]), 0.) + +// f32.wast:940 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 0.]), -0.) + +// f32.wast:941 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -0.]), -0.) + +// f32.wast:942 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 0.]), 0.) + +// f32.wast:943 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -1.40129846432e-45]), 0.) + +// f32.wast:944 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 1.40129846432e-45]), -0.) + +// f32.wast:945 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -1.40129846432e-45]), -0.) + +// f32.wast:946 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 1.40129846432e-45]), 0.) + +// f32.wast:947 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x40\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -1.17549435082e-38]), 5.87747175411e-39) + +// f32.wast:948 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x40\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 1.17549435082e-38]), -5.87747175411e-39) + +// f32.wast:949 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x40\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -1.17549435082e-38]), -5.87747175411e-39) + +// f32.wast:950 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x40\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 1.17549435082e-38]), 5.87747175411e-39) + +// f32.wast:951 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -0.5]), 0.25) + +// f32.wast:952 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xbe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 0.5]), -0.25) + +// f32.wast:953 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -0.5]), -0.25) + +// f32.wast:954 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 0.5]), 0.25) + +// f32.wast:955 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -1.]), 0.5) + +// f32.wast:956 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 1.]), -0.5) + +// f32.wast:957 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -1.]), -0.5) + +// f32.wast:958 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 1.]), 0.5) + +// f32.wast:959 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\x49\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -6.28318548203]), 3.14159274101) + +// f32.wast:960 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\x49\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 6.28318548203]), -3.14159274101) + +// f32.wast:961 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\x49\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -6.28318548203]), -3.14159274101) + +// f32.wast:962 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\x49\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 6.28318548203]), 3.14159274101) + +// f32.wast:963 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\xff\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -3.40282346639e+38]), 1.70141173319e+38) + +// f32.wast:964 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\xff\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 3.40282346639e+38]), -1.70141173319e+38) + +// f32.wast:965 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\xff\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -3.40282346639e+38]), -1.70141173319e+38) + +// f32.wast:966 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\xff\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 3.40282346639e+38]), 1.70141173319e+38) + +// f32.wast:967 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -Infinity]), Infinity) + +// f32.wast:968 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, Infinity]), -Infinity) + +// f32.wast:969 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -Infinity]), -Infinity) + +// f32.wast:970 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, Infinity]), Infinity) + +// f32.wast:971 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0.5, NaN])) + +// f32.wast:972 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0.5, NaN])) + +// f32.wast:973 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0.5, NaN])) + +// f32.wast:974 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0.5, NaN])) + +// f32.wast:975 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0.5, NaN])) + +// f32.wast:976 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0.5, NaN])) + +// f32.wast:977 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0.5, NaN])) + +// f32.wast:978 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0.5, NaN])) + +// f32.wast:979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -0.]), 0.) + +// f32.wast:980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 0.]), -0.) + +// f32.wast:981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -0.]), -0.) + +// f32.wast:982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 0.]), 0.) + +// f32.wast:983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -0.5]), 0.5) + +// f32.wast:992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 0.5]), -0.5) + +// f32.wast:993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -0.5]), -0.5) + +// f32.wast:994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 0.5]), 0.5) + +// f32.wast:995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -1.]), 1.) + +// f32.wast:996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 1.]), -1.) + +// f32.wast:997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -1.]), -1.) + +// f32.wast:998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 1.]), 1.) + +// f32.wast:999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -6.28318548203]), 6.28318548203) + +// f32.wast:1000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 6.28318548203]), -6.28318548203) + +// f32.wast:1001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -6.28318548203]), -6.28318548203) + +// f32.wast:1002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 6.28318548203]), 6.28318548203) + +// f32.wast:1003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:1004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1005 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1006 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:1007 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -Infinity]), Infinity) + +// f32.wast:1008 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., Infinity]), -Infinity) + +// f32.wast:1009 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -Infinity]), -Infinity) + +// f32.wast:1010 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., Infinity]), Infinity) + +// f32.wast:1011 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1., NaN])) + +// f32.wast:1012 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1., NaN])) + +// f32.wast:1013 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1., NaN])) + +// f32.wast:1014 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1., NaN])) + +// f32.wast:1015 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1., NaN])) + +// f32.wast:1016 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1., NaN])) + +// f32.wast:1017 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1., NaN])) + +// f32.wast:1018 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1., NaN])) + +// f32.wast:1019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -0.]), 0.) + +// f32.wast:1020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 0.]), -0.) + +// f32.wast:1021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -0.]), -0.) + +// f32.wast:1022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 0.]), 0.) + +// f32.wast:1023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x06\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -1.40129846432e-45]), 8.40779078595e-45) + +// f32.wast:1024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x06\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 1.40129846432e-45]), -8.40779078595e-45) + +// f32.wast:1025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x06\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -1.40129846432e-45]), -8.40779078595e-45) + +// f32.wast:1026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x06\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 1.40129846432e-45]), 8.40779078595e-45) + +// f32.wast:1027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -1.17549435082e-38]), 7.38584903929e-38) + +// f32.wast:1028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 1.17549435082e-38]), -7.38584903929e-38) + +// f32.wast:1029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -1.17549435082e-38]), -7.38584903929e-38) + +// f32.wast:1030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 1.17549435082e-38]), 7.38584903929e-38) + +// f32.wast:1031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\x49\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -0.5]), 3.14159274101) + +// f32.wast:1032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\x49\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 0.5]), -3.14159274101) + +// f32.wast:1033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\x49\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -0.5]), -3.14159274101) + +// f32.wast:1034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\x49\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 0.5]), 3.14159274101) + +// f32.wast:1035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -1.]), 6.28318548203) + +// f32.wast:1036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 1.]), -6.28318548203) + +// f32.wast:1037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -1.]), -6.28318548203) + +// f32.wast:1038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 1.]), 6.28318548203) + +// f32.wast:1039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xe7\xe9\x1d\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -6.28318548203]), 39.4784202576) + +// f32.wast:1040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xe7\xe9\x1d\xc2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 6.28318548203]), -39.4784202576) + +// f32.wast:1041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xe7\xe9\x1d\xc2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -6.28318548203]), -39.4784202576) + +// f32.wast:1042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xe7\xe9\x1d\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 6.28318548203]), 39.4784202576) + +// f32.wast:1043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -3.40282346639e+38]), Infinity) + +// f32.wast:1044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, 3.40282346639e+38]), -Infinity) + +// f32.wast:1045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -3.40282346639e+38]), -Infinity) + +// f32.wast:1046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, 3.40282346639e+38]), Infinity) + +// f32.wast:1047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, -Infinity]), Infinity) + +// f32.wast:1048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318548203, Infinity]), -Infinity) + +// f32.wast:1049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, -Infinity]), -Infinity) + +// f32.wast:1050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318548203, Infinity]), Infinity) + +// f32.wast:1051 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-6.28318548203, NaN])) + +// f32.wast:1052 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-6.28318548203, NaN])) + +// f32.wast:1053 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-6.28318548203, NaN])) + +// f32.wast:1054 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-6.28318548203, NaN])) + +// f32.wast:1055 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [6.28318548203, NaN])) + +// f32.wast:1056 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [6.28318548203, NaN])) + +// f32.wast:1057 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [6.28318548203, NaN])) + +// f32.wast:1058 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [6.28318548203, NaN])) + +// f32.wast:1059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -0.]), 0.) + +// f32.wast:1060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 0.]), -0.) + +// f32.wast:1061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -0.]), -0.) + +// f32.wast:1062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 0.]), 0.) + +// f32.wast:1063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\xff\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -1.40129846432e-45]), 4.76837129781e-07) + +// f32.wast:1064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\xff\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 1.40129846432e-45]), -4.76837129781e-07) + +// f32.wast:1065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\xff\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -1.40129846432e-45]), -4.76837129781e-07) + +// f32.wast:1066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\xff\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 1.40129846432e-45]), 4.76837129781e-07) + +// f32.wast:1067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -1.17549435082e-38]), 3.99999976158) + +// f32.wast:1068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 1.17549435082e-38]), -3.99999976158) + +// f32.wast:1069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -1.17549435082e-38]), -3.99999976158) + +// f32.wast:1070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 1.17549435082e-38]), 3.99999976158) + +// f32.wast:1071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\xff\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -0.5]), 1.70141173319e+38) + +// f32.wast:1072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\xff\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 0.5]), -1.70141173319e+38) + +// f32.wast:1073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\xff\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -0.5]), -1.70141173319e+38) + +// f32.wast:1074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\xff\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 0.5]), 1.70141173319e+38) + +// f32.wast:1075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -1.]), 3.40282346639e+38) + +// f32.wast:1076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 1.]), -3.40282346639e+38) + +// f32.wast:1077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32.wast:1078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32.wast:1079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -6.28318548203]), Infinity) + +// f32.wast:1080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 6.28318548203]), -Infinity) + +// f32.wast:1081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -6.28318548203]), -Infinity) + +// f32.wast:1082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 6.28318548203]), Infinity) + +// f32.wast:1083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -3.40282346639e+38]), Infinity) + +// f32.wast:1084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, 3.40282346639e+38]), -Infinity) + +// f32.wast:1085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -3.40282346639e+38]), -Infinity) + +// f32.wast:1086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, 3.40282346639e+38]), Infinity) + +// f32.wast:1087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, -Infinity]), Infinity) + +// f32.wast:1088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-3.40282346639e+38, Infinity]), -Infinity) + +// f32.wast:1089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, -Infinity]), -Infinity) + +// f32.wast:1090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [3.40282346639e+38, Infinity]), Infinity) + +// f32.wast:1091 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-3.40282346639e+38, NaN])) + +// f32.wast:1092 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-3.40282346639e+38, NaN])) + +// f32.wast:1093 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-3.40282346639e+38, NaN])) + +// f32.wast:1094 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-3.40282346639e+38, NaN])) + +// f32.wast:1095 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [3.40282346639e+38, NaN])) + +// f32.wast:1096 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [3.40282346639e+38, NaN])) + +// f32.wast:1097 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [3.40282346639e+38, NaN])) + +// f32.wast:1098 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [3.40282346639e+38, NaN])) + +// f32.wast:1099 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, -0.])) + +// f32.wast:1100 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, 0.])) + +// f32.wast:1101 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, -0.])) + +// f32.wast:1102 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, 0.])) + +// f32.wast:1103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -1.40129846432e-45]), Infinity) + +// f32.wast:1104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 1.40129846432e-45]), -Infinity) + +// f32.wast:1105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -1.40129846432e-45]), -Infinity) + +// f32.wast:1106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 1.40129846432e-45]), Infinity) + +// f32.wast:1107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -1.17549435082e-38]), Infinity) + +// f32.wast:1108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 1.17549435082e-38]), -Infinity) + +// f32.wast:1109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -1.17549435082e-38]), -Infinity) + +// f32.wast:1110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 1.17549435082e-38]), Infinity) + +// f32.wast:1111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -0.5]), Infinity) + +// f32.wast:1112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 0.5]), -Infinity) + +// f32.wast:1113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -0.5]), -Infinity) + +// f32.wast:1114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 0.5]), Infinity) + +// f32.wast:1115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -1.]), Infinity) + +// f32.wast:1116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 1.]), -Infinity) + +// f32.wast:1117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -1.]), -Infinity) + +// f32.wast:1118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 1.]), Infinity) + +// f32.wast:1119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -6.28318548203]), Infinity) + +// f32.wast:1120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 6.28318548203]), -Infinity) + +// f32.wast:1121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -6.28318548203]), -Infinity) + +// f32.wast:1122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 6.28318548203]), Infinity) + +// f32.wast:1123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -3.40282346639e+38]), Infinity) + +// f32.wast:1124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 3.40282346639e+38]), -Infinity) + +// f32.wast:1125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -3.40282346639e+38]), -Infinity) + +// f32.wast:1126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 3.40282346639e+38]), Infinity) + +// f32.wast:1127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -Infinity]), Infinity) + +// f32.wast:1128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, Infinity]), -Infinity) + +// f32.wast:1129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -Infinity]), -Infinity) + +// f32.wast:1130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, Infinity]), Infinity) + +// f32.wast:1131 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f32.wast:1132 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f32.wast:1133 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f32.wast:1134 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f32.wast:1135 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, NaN])) + +// f32.wast:1136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [Infinity, NaN])) + +// f32.wast:1137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, NaN])) + +// f32.wast:1138 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [Infinity, NaN])) + +// f32.wast:1139 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.])) + +// f32.wast:1140 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.])) + +// f32.wast:1141 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.])) + +// f32.wast:1142 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.])) + +// f32.wast:1143 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.])) + +// f32.wast:1144 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.])) + +// f32.wast:1145 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.])) + +// f32.wast:1146 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.])) + +// f32.wast:1147 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.40129846432e-45])) + +// f32.wast:1148 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.40129846432e-45])) + +// f32.wast:1149 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.40129846432e-45])) + +// f32.wast:1150 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.40129846432e-45])) + +// f32.wast:1151 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.40129846432e-45])) + +// f32.wast:1152 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.40129846432e-45])) + +// f32.wast:1153 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.40129846432e-45])) + +// f32.wast:1154 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.40129846432e-45])) + +// f32.wast:1155 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.17549435082e-38])) + +// f32.wast:1156 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.17549435082e-38])) + +// f32.wast:1157 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.17549435082e-38])) + +// f32.wast:1158 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.17549435082e-38])) + +// f32.wast:1159 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.17549435082e-38])) + +// f32.wast:1160 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.17549435082e-38])) + +// f32.wast:1161 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.17549435082e-38])) + +// f32.wast:1162 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.17549435082e-38])) + +// f32.wast:1163 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.5])) + +// f32.wast:1164 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.5])) + +// f32.wast:1165 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.5])) + +// f32.wast:1166 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.5])) + +// f32.wast:1167 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.5])) + +// f32.wast:1168 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.5])) + +// f32.wast:1169 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.5])) + +// f32.wast:1170 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.5])) + +// f32.wast:1171 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.])) + +// f32.wast:1172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.])) + +// f32.wast:1173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.])) + +// f32.wast:1174 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.])) + +// f32.wast:1175 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.])) + +// f32.wast:1176 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.])) + +// f32.wast:1177 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.])) + +// f32.wast:1178 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.])) + +// f32.wast:1179 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -6.28318548203])) + +// f32.wast:1180 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -6.28318548203])) + +// f32.wast:1181 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 6.28318548203])) + +// f32.wast:1182 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 6.28318548203])) + +// f32.wast:1183 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -6.28318548203])) + +// f32.wast:1184 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -6.28318548203])) + +// f32.wast:1185 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 6.28318548203])) + +// f32.wast:1186 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 6.28318548203])) + +// f32.wast:1187 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -3.40282346639e+38])) + +// f32.wast:1188 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -3.40282346639e+38])) + +// f32.wast:1189 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 3.40282346639e+38])) + +// f32.wast:1190 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 3.40282346639e+38])) + +// f32.wast:1191 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -3.40282346639e+38])) + +// f32.wast:1192 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -3.40282346639e+38])) + +// f32.wast:1193 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 3.40282346639e+38])) + +// f32.wast:1194 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 3.40282346639e+38])) + +// f32.wast:1195 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f32.wast:1196 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f32.wast:1197 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, Infinity])) + +// f32.wast:1198 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, Infinity])) + +// f32.wast:1199 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f32.wast:1200 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f32.wast:1201 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, Infinity])) + +// f32.wast:1202 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, Infinity])) + +// f32.wast:1203 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1204 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1205 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1206 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1207 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1208 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1209 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1210 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1212 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1213 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1214 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1215 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1216 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1217 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1218 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f32.wast:1219 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., -0.])) + +// f32.wast:1220 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., 0.])) + +// f32.wast:1221 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., -0.])) + +// f32.wast:1222 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., 0.])) + +// f32.wast:1223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -1.40129846432e-45]), 0.) + +// f32.wast:1224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 1.40129846432e-45]), -0.) + +// f32.wast:1225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -1.40129846432e-45]), -0.) + +// f32.wast:1226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 1.40129846432e-45]), 0.) + +// f32.wast:1227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -1.17549435082e-38]), 0.) + +// f32.wast:1228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 1.17549435082e-38]), -0.) + +// f32.wast:1229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -1.17549435082e-38]), -0.) + +// f32.wast:1230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 1.17549435082e-38]), 0.) + +// f32.wast:1231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -0.5]), 0.) + +// f32.wast:1232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 0.5]), -0.) + +// f32.wast:1233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -0.5]), -0.) + +// f32.wast:1234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 0.5]), 0.) + +// f32.wast:1235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -1.]), 0.) + +// f32.wast:1236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 1.]), -0.) + +// f32.wast:1237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -1.]), -0.) + +// f32.wast:1238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 1.]), 0.) + +// f32.wast:1239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -6.28318548203]), 0.) + +// f32.wast:1240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 6.28318548203]), -0.) + +// f32.wast:1241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -6.28318548203]), -0.) + +// f32.wast:1242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 6.28318548203]), 0.) + +// f32.wast:1243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -3.40282346639e+38]), 0.) + +// f32.wast:1244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 3.40282346639e+38]), -0.) + +// f32.wast:1245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -3.40282346639e+38]), -0.) + +// f32.wast:1246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 3.40282346639e+38]), 0.) + +// f32.wast:1247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -Infinity]), 0.) + +// f32.wast:1248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., Infinity]), -0.) + +// f32.wast:1249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -Infinity]), -0.) + +// f32.wast:1250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., Infinity]), 0.) + +// f32.wast:1251 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., NaN])) + +// f32.wast:1252 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0., NaN])) + +// f32.wast:1253 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., NaN])) + +// f32.wast:1254 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0., NaN])) + +// f32.wast:1255 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., NaN])) + +// f32.wast:1256 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0., NaN])) + +// f32.wast:1257 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., NaN])) + +// f32.wast:1258 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0., NaN])) + +// f32.wast:1259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -0.]), Infinity) + +// f32.wast:1260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 0.]), -Infinity) + +// f32.wast:1261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -0.]), -Infinity) + +// f32.wast:1262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 0.]), Infinity) + +// f32.wast:1263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -1.40129846432e-45]), 1.) + +// f32.wast:1264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 1.40129846432e-45]), -1.) + +// f32.wast:1265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -1.40129846432e-45]), -1.) + +// f32.wast:1266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 1.40129846432e-45]), 1.) + +// f32.wast:1267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -1.17549435082e-38]), 1.19209289551e-07) + +// f32.wast:1268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 1.17549435082e-38]), -1.19209289551e-07) + +// f32.wast:1269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -1.17549435082e-38]), -1.19209289551e-07) + +// f32.wast:1270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 1.17549435082e-38]), 1.19209289551e-07) + +// f32.wast:1271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x02\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -0.5]), 2.80259692865e-45) + +// f32.wast:1272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x02\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 0.5]), -2.80259692865e-45) + +// f32.wast:1273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x02\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -0.5]), -2.80259692865e-45) + +// f32.wast:1274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x02\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 0.5]), 2.80259692865e-45) + +// f32.wast:1275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -1.]), 1.40129846432e-45) + +// f32.wast:1276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 1.]), -1.40129846432e-45) + +// f32.wast:1277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -1.]), -1.40129846432e-45) + +// f32.wast:1278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 1.]), 1.40129846432e-45) + +// f32.wast:1279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -6.28318548203]), 0.) + +// f32.wast:1280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 6.28318548203]), -0.) + +// f32.wast:1281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -6.28318548203]), -0.) + +// f32.wast:1282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 6.28318548203]), 0.) + +// f32.wast:1283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -3.40282346639e+38]), 0.) + +// f32.wast:1284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, 3.40282346639e+38]), -0.) + +// f32.wast:1285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -3.40282346639e+38]), -0.) + +// f32.wast:1286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, 3.40282346639e+38]), 0.) + +// f32.wast:1287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, -Infinity]), 0.) + +// f32.wast:1288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.40129846432e-45, Infinity]), -0.) + +// f32.wast:1289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, -Infinity]), -0.) + +// f32.wast:1290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.40129846432e-45, Infinity]), 0.) + +// f32.wast:1291 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1.40129846432e-45, NaN])) + +// f32.wast:1292 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1.40129846432e-45, NaN])) + +// f32.wast:1293 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1.40129846432e-45, NaN])) + +// f32.wast:1294 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1.40129846432e-45, NaN])) + +// f32.wast:1295 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1.40129846432e-45, NaN])) + +// f32.wast:1296 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1.40129846432e-45, NaN])) + +// f32.wast:1297 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1.40129846432e-45, NaN])) + +// f32.wast:1298 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1.40129846432e-45, NaN])) + +// f32.wast:1299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -0.]), Infinity) + +// f32.wast:1300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 0.]), -Infinity) + +// f32.wast:1301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -0.]), -Infinity) + +// f32.wast:1302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 0.]), Infinity) + +// f32.wast:1303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -1.40129846432e-45]), 8388608.) + +// f32.wast:1304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 1.40129846432e-45]), -8388608.) + +// f32.wast:1305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -1.40129846432e-45]), -8388608.) + +// f32.wast:1306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 1.40129846432e-45]), 8388608.) + +// f32.wast:1307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -1.17549435082e-38]), 1.) + +// f32.wast:1308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 1.17549435082e-38]), -1.) + +// f32.wast:1309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -1.17549435082e-38]), -1.) + +// f32.wast:1310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 1.17549435082e-38]), 1.) + +// f32.wast:1311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -0.5]), 2.35098870164e-38) + +// f32.wast:1312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 0.5]), -2.35098870164e-38) + +// f32.wast:1313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x81\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -0.5]), -2.35098870164e-38) + +// f32.wast:1314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 0.5]), 2.35098870164e-38) + +// f32.wast:1315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -1.]), 1.17549435082e-38) + +// f32.wast:1316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 1.]), -1.17549435082e-38) + +// f32.wast:1317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -1.]), -1.17549435082e-38) + +// f32.wast:1318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 1.]), 1.17549435082e-38) + +// f32.wast:1319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x30\x5f\x14\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -6.28318548203]), 1.87085676414e-39) + +// f32.wast:1320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x30\x5f\x14\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 6.28318548203]), -1.87085676414e-39) + +// f32.wast:1321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x30\x5f\x14\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -6.28318548203]), -1.87085676414e-39) + +// f32.wast:1322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x30\x5f\x14\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 6.28318548203]), 1.87085676414e-39) + +// f32.wast:1323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -3.40282346639e+38]), 0.) + +// f32.wast:1324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, 3.40282346639e+38]), -0.) + +// f32.wast:1325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -3.40282346639e+38]), -0.) + +// f32.wast:1326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, 3.40282346639e+38]), 0.) + +// f32.wast:1327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, -Infinity]), 0.) + +// f32.wast:1328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.17549435082e-38, Infinity]), -0.) + +// f32.wast:1329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, -Infinity]), -0.) + +// f32.wast:1330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.17549435082e-38, Infinity]), 0.) + +// f32.wast:1331 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1.17549435082e-38, NaN])) + +// f32.wast:1332 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1.17549435082e-38, NaN])) + +// f32.wast:1333 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1.17549435082e-38, NaN])) + +// f32.wast:1334 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1.17549435082e-38, NaN])) + +// f32.wast:1335 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1.17549435082e-38, NaN])) + +// f32.wast:1336 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1.17549435082e-38, NaN])) + +// f32.wast:1337 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1.17549435082e-38, NaN])) + +// f32.wast:1338 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1.17549435082e-38, NaN])) + +// f32.wast:1339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -0.]), Infinity) + +// f32.wast:1340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 0.]), -Infinity) + +// f32.wast:1341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -0.]), -Infinity) + +// f32.wast:1342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 0.]), Infinity) + +// f32.wast:1343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -1.40129846432e-45]), Infinity) + +// f32.wast:1344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 1.40129846432e-45]), -Infinity) + +// f32.wast:1345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -1.40129846432e-45]), -Infinity) + +// f32.wast:1346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 1.40129846432e-45]), Infinity) + +// f32.wast:1347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -1.17549435082e-38]), 4.25352958651e+37) + +// f32.wast:1348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 1.17549435082e-38]), -4.25352958651e+37) + +// f32.wast:1349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -1.17549435082e-38]), -4.25352958651e+37) + +// f32.wast:1350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 1.17549435082e-38]), 4.25352958651e+37) + +// f32.wast:1351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -0.5]), 1.) + +// f32.wast:1352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 0.5]), -1.) + +// f32.wast:1353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -0.5]), -1.) + +// f32.wast:1354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 0.5]), 1.) + +// f32.wast:1355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -1.]), 0.5) + +// f32.wast:1356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 1.]), -0.5) + +// f32.wast:1357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -1.]), -0.5) + +// f32.wast:1358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 1.]), 0.5) + +// f32.wast:1359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x83\xf9\xa2\x3d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -6.28318548203]), 0.0795774683356) + +// f32.wast:1360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x83\xf9\xa2\xbd\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 6.28318548203]), -0.0795774683356) + +// f32.wast:1361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x83\xf9\xa2\xbd\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -6.28318548203]), -0.0795774683356) + +// f32.wast:1362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x83\xf9\xa2\x3d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 6.28318548203]), 0.0795774683356) + +// f32.wast:1363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x10\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -3.40282346639e+38]), 1.46936793853e-39) + +// f32.wast:1364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x10\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 3.40282346639e+38]), -1.46936793853e-39) + +// f32.wast:1365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x10\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -3.40282346639e+38]), -1.46936793853e-39) + +// f32.wast:1366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x10\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 3.40282346639e+38]), 1.46936793853e-39) + +// f32.wast:1367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -Infinity]), 0.) + +// f32.wast:1368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, Infinity]), -0.) + +// f32.wast:1369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -Infinity]), -0.) + +// f32.wast:1370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, Infinity]), 0.) + +// f32.wast:1371 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0.5, NaN])) + +// f32.wast:1372 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0.5, NaN])) + +// f32.wast:1373 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0.5, NaN])) + +// f32.wast:1374 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0.5, NaN])) + +// f32.wast:1375 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0.5, NaN])) + +// f32.wast:1376 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0.5, NaN])) + +// f32.wast:1377 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0.5, NaN])) + +// f32.wast:1378 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0.5, NaN])) + +// f32.wast:1379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -0.]), Infinity) + +// f32.wast:1380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 0.]), -Infinity) + +// f32.wast:1381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -0.]), -Infinity) + +// f32.wast:1382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 0.]), Infinity) + +// f32.wast:1383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -1.40129846432e-45]), Infinity) + +// f32.wast:1384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 1.40129846432e-45]), -Infinity) + +// f32.wast:1385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -1.40129846432e-45]), -Infinity) + +// f32.wast:1386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 1.40129846432e-45]), Infinity) + +// f32.wast:1387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -1.17549435082e-38]), 8.50705917302e+37) + +// f32.wast:1388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 1.17549435082e-38]), -8.50705917302e+37) + +// f32.wast:1389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -1.17549435082e-38]), -8.50705917302e+37) + +// f32.wast:1390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 1.17549435082e-38]), 8.50705917302e+37) + +// f32.wast:1391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -0.5]), 2.) + +// f32.wast:1392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 0.5]), -2.) + +// f32.wast:1393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -0.5]), -2.) + +// f32.wast:1394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 0.5]), 2.) + +// f32.wast:1395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -1.]), 1.) + +// f32.wast:1396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 1.]), -1.) + +// f32.wast:1397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -1.]), -1.) + +// f32.wast:1398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 1.]), 1.) + +// f32.wast:1399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x83\xf9\x22\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -6.28318548203]), 0.159154936671) + +// f32.wast:1400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x83\xf9\x22\xbe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 6.28318548203]), -0.159154936671) + +// f32.wast:1401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x83\xf9\x22\xbe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -6.28318548203]), -0.159154936671) + +// f32.wast:1402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x83\xf9\x22\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 6.28318548203]), 0.159154936671) + +// f32.wast:1403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x20\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -3.40282346639e+38]), 2.93873587706e-39) + +// f32.wast:1404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x20\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 3.40282346639e+38]), -2.93873587706e-39) + +// f32.wast:1405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x20\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -3.40282346639e+38]), -2.93873587706e-39) + +// f32.wast:1406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x20\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 3.40282346639e+38]), 2.93873587706e-39) + +// f32.wast:1407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -Infinity]), 0.) + +// f32.wast:1408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., Infinity]), -0.) + +// f32.wast:1409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -Infinity]), -0.) + +// f32.wast:1410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., Infinity]), 0.) + +// f32.wast:1411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1., NaN])) + +// f32.wast:1412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1., NaN])) + +// f32.wast:1413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1., NaN])) + +// f32.wast:1414 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1., NaN])) + +// f32.wast:1415 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1., NaN])) + +// f32.wast:1416 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1., NaN])) + +// f32.wast:1417 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1., NaN])) + +// f32.wast:1418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1., NaN])) + +// f32.wast:1419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -0.]), Infinity) + +// f32.wast:1420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 0.]), -Infinity) + +// f32.wast:1421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -0.]), -Infinity) + +// f32.wast:1422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 0.]), Infinity) + +// f32.wast:1423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -1.40129846432e-45]), Infinity) + +// f32.wast:1424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 1.40129846432e-45]), -Infinity) + +// f32.wast:1425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -1.40129846432e-45]), -Infinity) + +// f32.wast:1426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 1.40129846432e-45]), Infinity) + +// f32.wast:1427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -1.17549435082e-38]), Infinity) + +// f32.wast:1428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 1.17549435082e-38]), -Infinity) + +// f32.wast:1429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -1.17549435082e-38]), -Infinity) + +// f32.wast:1430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 1.17549435082e-38]), Infinity) + +// f32.wast:1431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\x49\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -0.5]), 12.5663709641) + +// f32.wast:1432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\x49\xc1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 0.5]), -12.5663709641) + +// f32.wast:1433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\x49\xc1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -0.5]), -12.5663709641) + +// f32.wast:1434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\x49\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 0.5]), 12.5663709641) + +// f32.wast:1435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -1.]), 6.28318548203) + +// f32.wast:1436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 1.]), -6.28318548203) + +// f32.wast:1437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -1.]), -6.28318548203) + +// f32.wast:1438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 1.]), 6.28318548203) + +// f32.wast:1439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -6.28318548203]), 1.) + +// f32.wast:1440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 6.28318548203]), -1.) + +// f32.wast:1441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -6.28318548203]), -1.) + +// f32.wast:1442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 6.28318548203]), 1.) + +// f32.wast:1443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xdc\x0f\xc9\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -3.40282346639e+38]), 1.84646239995e-38) + +// f32.wast:1444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xdc\x0f\xc9\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, 3.40282346639e+38]), -1.84646239995e-38) + +// f32.wast:1445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xdc\x0f\xc9\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -3.40282346639e+38]), -1.84646239995e-38) + +// f32.wast:1446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xdc\x0f\xc9\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, 3.40282346639e+38]), 1.84646239995e-38) + +// f32.wast:1447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, -Infinity]), 0.) + +// f32.wast:1448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318548203, Infinity]), -0.) + +// f32.wast:1449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, -Infinity]), -0.) + +// f32.wast:1450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318548203, Infinity]), 0.) + +// f32.wast:1451 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-6.28318548203, NaN])) + +// f32.wast:1452 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-6.28318548203, NaN])) + +// f32.wast:1453 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-6.28318548203, NaN])) + +// f32.wast:1454 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-6.28318548203, NaN])) + +// f32.wast:1455 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [6.28318548203, NaN])) + +// f32.wast:1456 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [6.28318548203, NaN])) + +// f32.wast:1457 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [6.28318548203, NaN])) + +// f32.wast:1458 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [6.28318548203, NaN])) + +// f32.wast:1459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -0.]), Infinity) + +// f32.wast:1460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 0.]), -Infinity) + +// f32.wast:1461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -0.]), -Infinity) + +// f32.wast:1462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 0.]), Infinity) + +// f32.wast:1463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -1.40129846432e-45]), Infinity) + +// f32.wast:1464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 1.40129846432e-45]), -Infinity) + +// f32.wast:1465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -1.40129846432e-45]), -Infinity) + +// f32.wast:1466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 1.40129846432e-45]), Infinity) + +// f32.wast:1467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -1.17549435082e-38]), Infinity) + +// f32.wast:1468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 1.17549435082e-38]), -Infinity) + +// f32.wast:1469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -1.17549435082e-38]), -Infinity) + +// f32.wast:1470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 1.17549435082e-38]), Infinity) + +// f32.wast:1471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -0.5]), Infinity) + +// f32.wast:1472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 0.5]), -Infinity) + +// f32.wast:1473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -0.5]), -Infinity) + +// f32.wast:1474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 0.5]), Infinity) + +// f32.wast:1475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -1.]), 3.40282346639e+38) + +// f32.wast:1476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 1.]), -3.40282346639e+38) + +// f32.wast:1477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32.wast:1478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32.wast:1479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x82\xf9\x22\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -6.28318548203]), 5.4157613487e+37) + +// f32.wast:1480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x82\xf9\x22\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 6.28318548203]), -5.4157613487e+37) + +// f32.wast:1481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x82\xf9\x22\xfe\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -6.28318548203]), -5.4157613487e+37) + +// f32.wast:1482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x82\xf9\x22\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 6.28318548203]), 5.4157613487e+37) + +// f32.wast:1483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -3.40282346639e+38]), 1.) + +// f32.wast:1484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, 3.40282346639e+38]), -1.) + +// f32.wast:1485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -3.40282346639e+38]), -1.) + +// f32.wast:1486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, 3.40282346639e+38]), 1.) + +// f32.wast:1487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, -Infinity]), 0.) + +// f32.wast:1488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-3.40282346639e+38, Infinity]), -0.) + +// f32.wast:1489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, -Infinity]), -0.) + +// f32.wast:1490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [3.40282346639e+38, Infinity]), 0.) + +// f32.wast:1491 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-3.40282346639e+38, NaN])) + +// f32.wast:1492 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-3.40282346639e+38, NaN])) + +// f32.wast:1493 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-3.40282346639e+38, NaN])) + +// f32.wast:1494 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-3.40282346639e+38, NaN])) + +// f32.wast:1495 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [3.40282346639e+38, NaN])) + +// f32.wast:1496 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [3.40282346639e+38, NaN])) + +// f32.wast:1497 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [3.40282346639e+38, NaN])) + +// f32.wast:1498 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [3.40282346639e+38, NaN])) + +// f32.wast:1499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -0.]), Infinity) + +// f32.wast:1500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 0.]), -Infinity) + +// f32.wast:1501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -0.]), -Infinity) + +// f32.wast:1502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 0.]), Infinity) + +// f32.wast:1503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -1.40129846432e-45]), Infinity) + +// f32.wast:1504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 1.40129846432e-45]), -Infinity) + +// f32.wast:1505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -1.40129846432e-45]), -Infinity) + +// f32.wast:1506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 1.40129846432e-45]), Infinity) + +// f32.wast:1507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -1.17549435082e-38]), Infinity) + +// f32.wast:1508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 1.17549435082e-38]), -Infinity) + +// f32.wast:1509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -1.17549435082e-38]), -Infinity) + +// f32.wast:1510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 1.17549435082e-38]), Infinity) + +// f32.wast:1511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -0.5]), Infinity) + +// f32.wast:1512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 0.5]), -Infinity) + +// f32.wast:1513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -0.5]), -Infinity) + +// f32.wast:1514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 0.5]), Infinity) + +// f32.wast:1515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -1.]), Infinity) + +// f32.wast:1516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 1.]), -Infinity) + +// f32.wast:1517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -1.]), -Infinity) + +// f32.wast:1518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 1.]), Infinity) + +// f32.wast:1519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -6.28318548203]), Infinity) + +// f32.wast:1520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 6.28318548203]), -Infinity) + +// f32.wast:1521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -6.28318548203]), -Infinity) + +// f32.wast:1522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 6.28318548203]), Infinity) + +// f32.wast:1523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -3.40282346639e+38]), Infinity) + +// f32.wast:1524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 3.40282346639e+38]), -Infinity) + +// f32.wast:1525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -3.40282346639e+38]), -Infinity) + +// f32.wast:1526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 3.40282346639e+38]), Infinity) + +// f32.wast:1527 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, -Infinity])) + +// f32.wast:1528 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, Infinity])) + +// f32.wast:1529 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, -Infinity])) + +// f32.wast:1530 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, Infinity])) + +// f32.wast:1531 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, NaN])) + +// f32.wast:1532 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-Infinity, NaN])) + +// f32.wast:1533 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, NaN])) + +// f32.wast:1534 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-Infinity, NaN])) + +// f32.wast:1535 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, NaN])) + +// f32.wast:1536 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [Infinity, NaN])) + +// f32.wast:1537 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, NaN])) + +// f32.wast:1538 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [Infinity, NaN])) + +// f32.wast:1539 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.])) + +// f32.wast:1540 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.])) + +// f32.wast:1541 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.])) + +// f32.wast:1542 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.])) + +// f32.wast:1543 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.])) + +// f32.wast:1544 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.])) + +// f32.wast:1545 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.])) + +// f32.wast:1546 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.])) + +// f32.wast:1547 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.40129846432e-45])) + +// f32.wast:1548 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.40129846432e-45])) + +// f32.wast:1549 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.40129846432e-45])) + +// f32.wast:1550 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.40129846432e-45])) + +// f32.wast:1551 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.40129846432e-45])) + +// f32.wast:1552 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.40129846432e-45])) + +// f32.wast:1553 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.40129846432e-45])) + +// f32.wast:1554 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.40129846432e-45])) + +// f32.wast:1555 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.17549435082e-38])) + +// f32.wast:1556 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.17549435082e-38])) + +// f32.wast:1557 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.17549435082e-38])) + +// f32.wast:1558 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.17549435082e-38])) + +// f32.wast:1559 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.17549435082e-38])) + +// f32.wast:1560 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.17549435082e-38])) + +// f32.wast:1561 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.17549435082e-38])) + +// f32.wast:1562 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.17549435082e-38])) + +// f32.wast:1563 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.5])) + +// f32.wast:1564 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.5])) + +// f32.wast:1565 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.5])) + +// f32.wast:1566 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.5])) + +// f32.wast:1567 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.5])) + +// f32.wast:1568 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.5])) + +// f32.wast:1569 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.5])) + +// f32.wast:1570 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.5])) + +// f32.wast:1571 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.])) + +// f32.wast:1572 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.])) + +// f32.wast:1573 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.])) + +// f32.wast:1574 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.])) + +// f32.wast:1575 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.])) + +// f32.wast:1576 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.])) + +// f32.wast:1577 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.])) + +// f32.wast:1578 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.])) + +// f32.wast:1579 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -6.28318548203])) + +// f32.wast:1580 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -6.28318548203])) + +// f32.wast:1581 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 6.28318548203])) + +// f32.wast:1582 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 6.28318548203])) + +// f32.wast:1583 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -6.28318548203])) + +// f32.wast:1584 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -6.28318548203])) + +// f32.wast:1585 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 6.28318548203])) + +// f32.wast:1586 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 6.28318548203])) + +// f32.wast:1587 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -3.40282346639e+38])) + +// f32.wast:1588 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -3.40282346639e+38])) + +// f32.wast:1589 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 3.40282346639e+38])) + +// f32.wast:1590 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 3.40282346639e+38])) + +// f32.wast:1591 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -3.40282346639e+38])) + +// f32.wast:1592 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -3.40282346639e+38])) + +// f32.wast:1593 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 3.40282346639e+38])) + +// f32.wast:1594 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 3.40282346639e+38])) + +// f32.wast:1595 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -Infinity])) + +// f32.wast:1596 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -Infinity])) + +// f32.wast:1597 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, Infinity])) + +// f32.wast:1598 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, Infinity])) + +// f32.wast:1599 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -Infinity])) + +// f32.wast:1600 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -Infinity])) + +// f32.wast:1601 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, Infinity])) + +// f32.wast:1602 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, Infinity])) + +// f32.wast:1603 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1604 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1605 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1606 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1607 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1608 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1609 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1610 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1611 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1612 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1613 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1614 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1615 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1616 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1617 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1618 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f32.wast:1619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -0.]), -0.) + +// f32.wast:1620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 0.]), -0.) + +// f32.wast:1621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -0.]), -0.) + +// f32.wast:1622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 0.]), 0.) + +// f32.wast:1623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 1.40129846432e-45]), -0.) + +// f32.wast:1625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 1.40129846432e-45]), 0.) + +// f32.wast:1627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 1.17549435082e-38]), -0.) + +// f32.wast:1629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 1.17549435082e-38]), 0.) + +// f32.wast:1631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -0.5]), -0.5) + +// f32.wast:1632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 0.5]), -0.) + +// f32.wast:1633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -0.5]), -0.5) + +// f32.wast:1634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 0.5]), 0.) + +// f32.wast:1635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -1.]), -1.) + +// f32.wast:1636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 1.]), -0.) + +// f32.wast:1637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -1.]), -1.) + +// f32.wast:1638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 1.]), 0.) + +// f32.wast:1639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -6.28318548203]), -6.28318548203) + +// f32.wast:1640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 6.28318548203]), -0.) + +// f32.wast:1641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -6.28318548203]), -6.28318548203) + +// f32.wast:1642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 6.28318548203]), 0.) + +// f32.wast:1643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 3.40282346639e+38]), -0.) + +// f32.wast:1645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 3.40282346639e+38]), 0.) + +// f32.wast:1647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -Infinity]), -Infinity) + +// f32.wast:1648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., Infinity]), -0.) + +// f32.wast:1649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -Infinity]), -Infinity) + +// f32.wast:1650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., Infinity]), 0.) + +// f32.wast:1651 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0., NaN])) + +// f32.wast:1652 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0., NaN])) + +// f32.wast:1653 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0., NaN])) + +// f32.wast:1654 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0., NaN])) + +// f32.wast:1655 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0., NaN])) + +// f32.wast:1656 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0., NaN])) + +// f32.wast:1657 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0., NaN])) + +// f32.wast:1658 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0., NaN])) + +// f32.wast:1659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -0.]), -1.40129846432e-45) + +// f32.wast:1660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 0.]), -1.40129846432e-45) + +// f32.wast:1661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -0.]), -0.) + +// f32.wast:1662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 0.]), 0.) + +// f32.wast:1663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 1.17549435082e-38]), -1.40129846432e-45) + +// f32.wast:1669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 1.17549435082e-38]), 1.40129846432e-45) + +// f32.wast:1671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -0.5]), -0.5) + +// f32.wast:1672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 0.5]), -1.40129846432e-45) + +// f32.wast:1673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -0.5]), -0.5) + +// f32.wast:1674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 0.5]), 1.40129846432e-45) + +// f32.wast:1675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -1.]), -1.) + +// f32.wast:1676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 1.]), -1.40129846432e-45) + +// f32.wast:1677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -1.]), -1.) + +// f32.wast:1678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 1.]), 1.40129846432e-45) + +// f32.wast:1679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -6.28318548203]), -6.28318548203) + +// f32.wast:1680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 6.28318548203]), -1.40129846432e-45) + +// f32.wast:1681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -6.28318548203]), -6.28318548203) + +// f32.wast:1682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 6.28318548203]), 1.40129846432e-45) + +// f32.wast:1683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, 3.40282346639e+38]), -1.40129846432e-45) + +// f32.wast:1685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, 3.40282346639e+38]), 1.40129846432e-45) + +// f32.wast:1687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, -Infinity]), -Infinity) + +// f32.wast:1688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.40129846432e-45, Infinity]), -1.40129846432e-45) + +// f32.wast:1689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, -Infinity]), -Infinity) + +// f32.wast:1690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.40129846432e-45, Infinity]), 1.40129846432e-45) + +// f32.wast:1691 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1.40129846432e-45, NaN])) + +// f32.wast:1692 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1.40129846432e-45, NaN])) + +// f32.wast:1693 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1.40129846432e-45, NaN])) + +// f32.wast:1694 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1.40129846432e-45, NaN])) + +// f32.wast:1695 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1.40129846432e-45, NaN])) + +// f32.wast:1696 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1.40129846432e-45, NaN])) + +// f32.wast:1697 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1.40129846432e-45, NaN])) + +// f32.wast:1698 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1.40129846432e-45, NaN])) + +// f32.wast:1699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -0.]), -1.17549435082e-38) + +// f32.wast:1700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 0.]), -1.17549435082e-38) + +// f32.wast:1701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -0.]), -0.) + +// f32.wast:1702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 0.]), 0.) + +// f32.wast:1703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -1.40129846432e-45]), -1.17549435082e-38) + +// f32.wast:1704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 1.40129846432e-45]), -1.17549435082e-38) + +// f32.wast:1705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:1711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -0.5]), -0.5) + +// f32.wast:1712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 0.5]), -1.17549435082e-38) + +// f32.wast:1713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -0.5]), -0.5) + +// f32.wast:1714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 0.5]), 1.17549435082e-38) + +// f32.wast:1715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -1.]), -1.) + +// f32.wast:1716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 1.]), -1.17549435082e-38) + +// f32.wast:1717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -1.]), -1.) + +// f32.wast:1718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 1.]), 1.17549435082e-38) + +// f32.wast:1719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -6.28318548203]), -6.28318548203) + +// f32.wast:1720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 6.28318548203]), -1.17549435082e-38) + +// f32.wast:1721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -6.28318548203]), -6.28318548203) + +// f32.wast:1722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 6.28318548203]), 1.17549435082e-38) + +// f32.wast:1723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, 3.40282346639e+38]), -1.17549435082e-38) + +// f32.wast:1725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, 3.40282346639e+38]), 1.17549435082e-38) + +// f32.wast:1727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, -Infinity]), -Infinity) + +// f32.wast:1728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.17549435082e-38, Infinity]), -1.17549435082e-38) + +// f32.wast:1729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, -Infinity]), -Infinity) + +// f32.wast:1730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.17549435082e-38, Infinity]), 1.17549435082e-38) + +// f32.wast:1731 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1.17549435082e-38, NaN])) + +// f32.wast:1732 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1.17549435082e-38, NaN])) + +// f32.wast:1733 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1.17549435082e-38, NaN])) + +// f32.wast:1734 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1.17549435082e-38, NaN])) + +// f32.wast:1735 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1.17549435082e-38, NaN])) + +// f32.wast:1736 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1.17549435082e-38, NaN])) + +// f32.wast:1737 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1.17549435082e-38, NaN])) + +// f32.wast:1738 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1.17549435082e-38, NaN])) + +// f32.wast:1739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -0.]), -0.5) + +// f32.wast:1740 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 0.]), -0.5) + +// f32.wast:1741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -0.]), -0.) + +// f32.wast:1742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 0.]), 0.) + +// f32.wast:1743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -1.40129846432e-45]), -0.5) + +// f32.wast:1744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 1.40129846432e-45]), -0.5) + +// f32.wast:1745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -1.17549435082e-38]), -0.5) + +// f32.wast:1748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 1.17549435082e-38]), -0.5) + +// f32.wast:1749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:1751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -0.5]), -0.5) + +// f32.wast:1752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 0.5]), -0.5) + +// f32.wast:1753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -0.5]), -0.5) + +// f32.wast:1754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 0.5]), 0.5) + +// f32.wast:1755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -1.]), -1.) + +// f32.wast:1756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 1.]), -0.5) + +// f32.wast:1757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -1.]), -1.) + +// f32.wast:1758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 1.]), 0.5) + +// f32.wast:1759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -6.28318548203]), -6.28318548203) + +// f32.wast:1760 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 6.28318548203]), -0.5) + +// f32.wast:1761 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -6.28318548203]), -6.28318548203) + +// f32.wast:1762 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 6.28318548203]), 0.5) + +// f32.wast:1763 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1764 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 3.40282346639e+38]), -0.5) + +// f32.wast:1765 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1766 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 3.40282346639e+38]), 0.5) + +// f32.wast:1767 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -Infinity]), -Infinity) + +// f32.wast:1768 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, Infinity]), -0.5) + +// f32.wast:1769 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -Infinity]), -Infinity) + +// f32.wast:1770 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, Infinity]), 0.5) + +// f32.wast:1771 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0.5, NaN])) + +// f32.wast:1772 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0.5, NaN])) + +// f32.wast:1773 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0.5, NaN])) + +// f32.wast:1774 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0.5, NaN])) + +// f32.wast:1775 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0.5, NaN])) + +// f32.wast:1776 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0.5, NaN])) + +// f32.wast:1777 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0.5, NaN])) + +// f32.wast:1778 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0.5, NaN])) + +// f32.wast:1779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -0.]), -1.) + +// f32.wast:1780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 0.]), -1.) + +// f32.wast:1781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -0.]), -0.) + +// f32.wast:1782 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 0.]), 0.) + +// f32.wast:1783 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -1.40129846432e-45]), -1.) + +// f32.wast:1784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 1.40129846432e-45]), -1.) + +// f32.wast:1785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -1.17549435082e-38]), -1.) + +// f32.wast:1788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 1.17549435082e-38]), -1.) + +// f32.wast:1789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:1791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -0.5]), -1.) + +// f32.wast:1792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 0.5]), -1.) + +// f32.wast:1793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -0.5]), -0.5) + +// f32.wast:1794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 0.5]), 0.5) + +// f32.wast:1795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -1.]), -1.) + +// f32.wast:1796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 1.]), -1.) + +// f32.wast:1797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -1.]), -1.) + +// f32.wast:1798 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 1.]), 1.) + +// f32.wast:1799 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -6.28318548203]), -6.28318548203) + +// f32.wast:1800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 6.28318548203]), -1.) + +// f32.wast:1801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -6.28318548203]), -6.28318548203) + +// f32.wast:1802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 6.28318548203]), 1.) + +// f32.wast:1803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1804 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 3.40282346639e+38]), -1.) + +// f32.wast:1805 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1806 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 3.40282346639e+38]), 1.) + +// f32.wast:1807 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -Infinity]), -Infinity) + +// f32.wast:1808 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., Infinity]), -1.) + +// f32.wast:1809 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -Infinity]), -Infinity) + +// f32.wast:1810 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., Infinity]), 1.) + +// f32.wast:1811 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1., NaN])) + +// f32.wast:1812 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1., NaN])) + +// f32.wast:1813 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1., NaN])) + +// f32.wast:1814 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1., NaN])) + +// f32.wast:1815 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1., NaN])) + +// f32.wast:1816 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1., NaN])) + +// f32.wast:1817 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1., NaN])) + +// f32.wast:1818 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1., NaN])) + +// f32.wast:1819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -0.]), -6.28318548203) + +// f32.wast:1820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 0.]), -6.28318548203) + +// f32.wast:1821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -0.]), -0.) + +// f32.wast:1822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 0.]), 0.) + +// f32.wast:1823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -1.40129846432e-45]), -6.28318548203) + +// f32.wast:1824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 1.40129846432e-45]), -6.28318548203) + +// f32.wast:1825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -1.17549435082e-38]), -6.28318548203) + +// f32.wast:1828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 1.17549435082e-38]), -6.28318548203) + +// f32.wast:1829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:1831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -0.5]), -6.28318548203) + +// f32.wast:1832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 0.5]), -6.28318548203) + +// f32.wast:1833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -0.5]), -0.5) + +// f32.wast:1834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 0.5]), 0.5) + +// f32.wast:1835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -1.]), -6.28318548203) + +// f32.wast:1836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 1.]), -6.28318548203) + +// f32.wast:1837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -1.]), -1.) + +// f32.wast:1838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 1.]), 1.) + +// f32.wast:1839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -6.28318548203]), -6.28318548203) + +// f32.wast:1840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 6.28318548203]), -6.28318548203) + +// f32.wast:1841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -6.28318548203]), -6.28318548203) + +// f32.wast:1842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 6.28318548203]), 6.28318548203) + +// f32.wast:1843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, 3.40282346639e+38]), -6.28318548203) + +// f32.wast:1845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, 3.40282346639e+38]), 6.28318548203) + +// f32.wast:1847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, -Infinity]), -Infinity) + +// f32.wast:1848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318548203, Infinity]), -6.28318548203) + +// f32.wast:1849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, -Infinity]), -Infinity) + +// f32.wast:1850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318548203, Infinity]), 6.28318548203) + +// f32.wast:1851 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-6.28318548203, NaN])) + +// f32.wast:1852 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-6.28318548203, NaN])) + +// f32.wast:1853 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-6.28318548203, NaN])) + +// f32.wast:1854 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-6.28318548203, NaN])) + +// f32.wast:1855 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [6.28318548203, NaN])) + +// f32.wast:1856 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [6.28318548203, NaN])) + +// f32.wast:1857 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [6.28318548203, NaN])) + +// f32.wast:1858 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [6.28318548203, NaN])) + +// f32.wast:1859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -0.]), -3.40282346639e+38) + +// f32.wast:1860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 0.]), -3.40282346639e+38) + +// f32.wast:1861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -0.]), -0.) + +// f32.wast:1862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 0.]), 0.) + +// f32.wast:1863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -1.40129846432e-45]), -3.40282346639e+38) + +// f32.wast:1864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 1.40129846432e-45]), -3.40282346639e+38) + +// f32.wast:1865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -1.17549435082e-38]), -3.40282346639e+38) + +// f32.wast:1868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 1.17549435082e-38]), -3.40282346639e+38) + +// f32.wast:1869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:1871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -0.5]), -3.40282346639e+38) + +// f32.wast:1872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 0.5]), -3.40282346639e+38) + +// f32.wast:1873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -0.5]), -0.5) + +// f32.wast:1874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 0.5]), 0.5) + +// f32.wast:1875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32.wast:1876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 1.]), -3.40282346639e+38) + +// f32.wast:1877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -1.]), -1.) + +// f32.wast:1878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 1.]), 1.) + +// f32.wast:1879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -6.28318548203]), -3.40282346639e+38) + +// f32.wast:1880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 6.28318548203]), -3.40282346639e+38) + +// f32.wast:1881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -6.28318548203]), -6.28318548203) + +// f32.wast:1882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 6.28318548203]), 6.28318548203) + +// f32.wast:1883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, 3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:1887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, -Infinity]), -Infinity) + +// f32.wast:1888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-3.40282346639e+38, Infinity]), -3.40282346639e+38) + +// f32.wast:1889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, -Infinity]), -Infinity) + +// f32.wast:1890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [3.40282346639e+38, Infinity]), 3.40282346639e+38) + +// f32.wast:1891 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-3.40282346639e+38, NaN])) + +// f32.wast:1892 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-3.40282346639e+38, NaN])) + +// f32.wast:1893 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-3.40282346639e+38, NaN])) + +// f32.wast:1894 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-3.40282346639e+38, NaN])) + +// f32.wast:1895 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [3.40282346639e+38, NaN])) + +// f32.wast:1896 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [3.40282346639e+38, NaN])) + +// f32.wast:1897 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [3.40282346639e+38, NaN])) + +// f32.wast:1898 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [3.40282346639e+38, NaN])) + +// f32.wast:1899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -0.]), -Infinity) + +// f32.wast:1900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 0.]), -Infinity) + +// f32.wast:1901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -0.]), -0.) + +// f32.wast:1902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 0.]), 0.) + +// f32.wast:1903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -1.40129846432e-45]), -Infinity) + +// f32.wast:1904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 1.40129846432e-45]), -Infinity) + +// f32.wast:1905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:1906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:1907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -1.17549435082e-38]), -Infinity) + +// f32.wast:1908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 1.17549435082e-38]), -Infinity) + +// f32.wast:1909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:1910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:1911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -0.5]), -Infinity) + +// f32.wast:1912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 0.5]), -Infinity) + +// f32.wast:1913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -0.5]), -0.5) + +// f32.wast:1914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 0.5]), 0.5) + +// f32.wast:1915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -1.]), -Infinity) + +// f32.wast:1916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 1.]), -Infinity) + +// f32.wast:1917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -1.]), -1.) + +// f32.wast:1918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 1.]), 1.) + +// f32.wast:1919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -6.28318548203]), -Infinity) + +// f32.wast:1920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 6.28318548203]), -Infinity) + +// f32.wast:1921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -6.28318548203]), -6.28318548203) + +// f32.wast:1922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 6.28318548203]), 6.28318548203) + +// f32.wast:1923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -3.40282346639e+38]), -Infinity) + +// f32.wast:1924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 3.40282346639e+38]), -Infinity) + +// f32.wast:1925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:1926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:1927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -Infinity]), -Infinity) + +// f32.wast:1928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, Infinity]), -Infinity) + +// f32.wast:1929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -Infinity]), -Infinity) + +// f32.wast:1930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, Infinity]), Infinity) + +// f32.wast:1931 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-Infinity, NaN])) + +// f32.wast:1932 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-Infinity, NaN])) + +// f32.wast:1933 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-Infinity, NaN])) + +// f32.wast:1934 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-Infinity, NaN])) + +// f32.wast:1935 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [Infinity, NaN])) + +// f32.wast:1936 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [Infinity, NaN])) + +// f32.wast:1937 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [Infinity, NaN])) + +// f32.wast:1938 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [Infinity, NaN])) + +// f32.wast:1939 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.])) + +// f32.wast:1940 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.])) + +// f32.wast:1941 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.])) + +// f32.wast:1942 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.])) + +// f32.wast:1943 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.])) + +// f32.wast:1944 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.])) + +// f32.wast:1945 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.])) + +// f32.wast:1946 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.])) + +// f32.wast:1947 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.40129846432e-45])) + +// f32.wast:1948 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.40129846432e-45])) + +// f32.wast:1949 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.40129846432e-45])) + +// f32.wast:1950 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.40129846432e-45])) + +// f32.wast:1951 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.40129846432e-45])) + +// f32.wast:1952 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.40129846432e-45])) + +// f32.wast:1953 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.40129846432e-45])) + +// f32.wast:1954 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.40129846432e-45])) + +// f32.wast:1955 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.17549435082e-38])) + +// f32.wast:1956 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.17549435082e-38])) + +// f32.wast:1957 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.17549435082e-38])) + +// f32.wast:1958 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.17549435082e-38])) + +// f32.wast:1959 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.17549435082e-38])) + +// f32.wast:1960 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.17549435082e-38])) + +// f32.wast:1961 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.17549435082e-38])) + +// f32.wast:1962 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.17549435082e-38])) + +// f32.wast:1963 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.5])) + +// f32.wast:1964 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.5])) + +// f32.wast:1965 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.5])) + +// f32.wast:1966 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.5])) + +// f32.wast:1967 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.5])) + +// f32.wast:1968 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.5])) + +// f32.wast:1969 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.5])) + +// f32.wast:1970 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.5])) + +// f32.wast:1971 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.])) + +// f32.wast:1972 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.])) + +// f32.wast:1973 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.])) + +// f32.wast:1974 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.])) + +// f32.wast:1975 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.])) + +// f32.wast:1976 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.])) + +// f32.wast:1977 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.])) + +// f32.wast:1978 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.])) + +// f32.wast:1979 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -6.28318548203])) + +// f32.wast:1980 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -6.28318548203])) + +// f32.wast:1981 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 6.28318548203])) + +// f32.wast:1982 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 6.28318548203])) + +// f32.wast:1983 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -6.28318548203])) + +// f32.wast:1984 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -6.28318548203])) + +// f32.wast:1985 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 6.28318548203])) + +// f32.wast:1986 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 6.28318548203])) + +// f32.wast:1987 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -3.40282346639e+38])) + +// f32.wast:1988 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -3.40282346639e+38])) + +// f32.wast:1989 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 3.40282346639e+38])) + +// f32.wast:1990 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 3.40282346639e+38])) + +// f32.wast:1991 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -3.40282346639e+38])) + +// f32.wast:1992 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -3.40282346639e+38])) + +// f32.wast:1993 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 3.40282346639e+38])) + +// f32.wast:1994 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 3.40282346639e+38])) + +// f32.wast:1995 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -Infinity])) + +// f32.wast:1996 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -Infinity])) + +// f32.wast:1997 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, Infinity])) + +// f32.wast:1998 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, Infinity])) + +// f32.wast:1999 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -Infinity])) + +// f32.wast:2000 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -Infinity])) + +// f32.wast:2001 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, Infinity])) + +// f32.wast:2002 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, Infinity])) + +// f32.wast:2003 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2004 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2005 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2006 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2007 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2008 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2009 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2010 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2011 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2012 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2013 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2014 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2015 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2016 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2017 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2018 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f32.wast:2019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -0.]), -0.) + +// f32.wast:2020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 0.]), 0.) + +// f32.wast:2021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -0.]), 0.) + +// f32.wast:2022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 0.]), 0.) + +// f32.wast:2023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -1.40129846432e-45]), -0.) + +// f32.wast:2024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -1.40129846432e-45]), 0.) + +// f32.wast:2026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -1.17549435082e-38]), -0.) + +// f32.wast:2028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -1.17549435082e-38]), 0.) + +// f32.wast:2030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -0.5]), -0.) + +// f32.wast:2032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 0.5]), 0.5) + +// f32.wast:2033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -0.5]), 0.) + +// f32.wast:2034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 0.5]), 0.5) + +// f32.wast:2035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -1.]), -0.) + +// f32.wast:2036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 1.]), 1.) + +// f32.wast:2037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -1.]), 0.) + +// f32.wast:2038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 1.]), 1.) + +// f32.wast:2039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -6.28318548203]), -0.) + +// f32.wast:2040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 6.28318548203]), 6.28318548203) + +// f32.wast:2041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -6.28318548203]), 0.) + +// f32.wast:2042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 6.28318548203]), 6.28318548203) + +// f32.wast:2043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -3.40282346639e+38]), -0.) + +// f32.wast:2044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -3.40282346639e+38]), 0.) + +// f32.wast:2046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -Infinity]), -0.) + +// f32.wast:2048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., Infinity]), Infinity) + +// f32.wast:2049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -Infinity]), 0.) + +// f32.wast:2050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., Infinity]), Infinity) + +// f32.wast:2051 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0., NaN])) + +// f32.wast:2052 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0., NaN])) + +// f32.wast:2053 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0., NaN])) + +// f32.wast:2054 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0., NaN])) + +// f32.wast:2055 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0., NaN])) + +// f32.wast:2056 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0., NaN])) + +// f32.wast:2057 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0., NaN])) + +// f32.wast:2058 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0., NaN])) + +// f32.wast:2059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -0.]), -0.) + +// f32.wast:2060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 0.]), 0.) + +// f32.wast:2061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -0.]), 1.40129846432e-45) + +// f32.wast:2062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 0.]), 1.40129846432e-45) + +// f32.wast:2063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -1.17549435082e-38]), -1.40129846432e-45) + +// f32.wast:2068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -1.17549435082e-38]), 1.40129846432e-45) + +// f32.wast:2070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -0.5]), -1.40129846432e-45) + +// f32.wast:2072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 0.5]), 0.5) + +// f32.wast:2073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -0.5]), 1.40129846432e-45) + +// f32.wast:2074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 0.5]), 0.5) + +// f32.wast:2075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -1.]), -1.40129846432e-45) + +// f32.wast:2076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 1.]), 1.) + +// f32.wast:2077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -1.]), 1.40129846432e-45) + +// f32.wast:2078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 1.]), 1.) + +// f32.wast:2079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -6.28318548203]), -1.40129846432e-45) + +// f32.wast:2080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 6.28318548203]), 6.28318548203) + +// f32.wast:2081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -6.28318548203]), 1.40129846432e-45) + +// f32.wast:2082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 6.28318548203]), 6.28318548203) + +// f32.wast:2083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -3.40282346639e+38]), -1.40129846432e-45) + +// f32.wast:2084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -3.40282346639e+38]), 1.40129846432e-45) + +// f32.wast:2086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, -Infinity]), -1.40129846432e-45) + +// f32.wast:2088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.40129846432e-45, Infinity]), Infinity) + +// f32.wast:2089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, -Infinity]), 1.40129846432e-45) + +// f32.wast:2090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.40129846432e-45, Infinity]), Infinity) + +// f32.wast:2091 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1.40129846432e-45, NaN])) + +// f32.wast:2092 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1.40129846432e-45, NaN])) + +// f32.wast:2093 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1.40129846432e-45, NaN])) + +// f32.wast:2094 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1.40129846432e-45, NaN])) + +// f32.wast:2095 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1.40129846432e-45, NaN])) + +// f32.wast:2096 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1.40129846432e-45, NaN])) + +// f32.wast:2097 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1.40129846432e-45, NaN])) + +// f32.wast:2098 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1.40129846432e-45, NaN])) + +// f32.wast:2099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -0.]), -0.) + +// f32.wast:2100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 0.]), 0.) + +// f32.wast:2101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -0.]), 1.17549435082e-38) + +// f32.wast:2102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 0.]), 1.17549435082e-38) + +// f32.wast:2103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -1.40129846432e-45]), 1.17549435082e-38) + +// f32.wast:2106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 1.40129846432e-45]), 1.17549435082e-38) + +// f32.wast:2107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:2108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -0.5]), -1.17549435082e-38) + +// f32.wast:2112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 0.5]), 0.5) + +// f32.wast:2113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -0.5]), 1.17549435082e-38) + +// f32.wast:2114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 0.5]), 0.5) + +// f32.wast:2115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -1.]), -1.17549435082e-38) + +// f32.wast:2116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 1.]), 1.) + +// f32.wast:2117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -1.]), 1.17549435082e-38) + +// f32.wast:2118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 1.]), 1.) + +// f32.wast:2119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -6.28318548203]), -1.17549435082e-38) + +// f32.wast:2120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 6.28318548203]), 6.28318548203) + +// f32.wast:2121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -6.28318548203]), 1.17549435082e-38) + +// f32.wast:2122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 6.28318548203]), 6.28318548203) + +// f32.wast:2123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -3.40282346639e+38]), -1.17549435082e-38) + +// f32.wast:2124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -3.40282346639e+38]), 1.17549435082e-38) + +// f32.wast:2126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, -Infinity]), -1.17549435082e-38) + +// f32.wast:2128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.17549435082e-38, Infinity]), Infinity) + +// f32.wast:2129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, -Infinity]), 1.17549435082e-38) + +// f32.wast:2130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.17549435082e-38, Infinity]), Infinity) + +// f32.wast:2131 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1.17549435082e-38, NaN])) + +// f32.wast:2132 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1.17549435082e-38, NaN])) + +// f32.wast:2133 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1.17549435082e-38, NaN])) + +// f32.wast:2134 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1.17549435082e-38, NaN])) + +// f32.wast:2135 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1.17549435082e-38, NaN])) + +// f32.wast:2136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1.17549435082e-38, NaN])) + +// f32.wast:2137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1.17549435082e-38, NaN])) + +// f32.wast:2138 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1.17549435082e-38, NaN])) + +// f32.wast:2139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -0.]), -0.) + +// f32.wast:2140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 0.]), 0.) + +// f32.wast:2141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -0.]), 0.5) + +// f32.wast:2142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 0.]), 0.5) + +// f32.wast:2143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -1.40129846432e-45]), 0.5) + +// f32.wast:2146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 1.40129846432e-45]), 0.5) + +// f32.wast:2147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:2148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -1.17549435082e-38]), 0.5) + +// f32.wast:2150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 1.17549435082e-38]), 0.5) + +// f32.wast:2151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -0.5]), -0.5) + +// f32.wast:2152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 0.5]), 0.5) + +// f32.wast:2153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -0.5]), 0.5) + +// f32.wast:2154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 0.5]), 0.5) + +// f32.wast:2155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -1.]), -0.5) + +// f32.wast:2156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 1.]), 1.) + +// f32.wast:2157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -1.]), 0.5) + +// f32.wast:2158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 1.]), 1.) + +// f32.wast:2159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -6.28318548203]), -0.5) + +// f32.wast:2160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 6.28318548203]), 6.28318548203) + +// f32.wast:2161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -6.28318548203]), 0.5) + +// f32.wast:2162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 6.28318548203]), 6.28318548203) + +// f32.wast:2163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -3.40282346639e+38]), -0.5) + +// f32.wast:2164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -3.40282346639e+38]), 0.5) + +// f32.wast:2166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -Infinity]), -0.5) + +// f32.wast:2168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, Infinity]), Infinity) + +// f32.wast:2169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -Infinity]), 0.5) + +// f32.wast:2170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, Infinity]), Infinity) + +// f32.wast:2171 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0.5, NaN])) + +// f32.wast:2172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0.5, NaN])) + +// f32.wast:2173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0.5, NaN])) + +// f32.wast:2174 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0.5, NaN])) + +// f32.wast:2175 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0.5, NaN])) + +// f32.wast:2176 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0.5, NaN])) + +// f32.wast:2177 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0.5, NaN])) + +// f32.wast:2178 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0.5, NaN])) + +// f32.wast:2179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -0.]), -0.) + +// f32.wast:2180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 0.]), 0.) + +// f32.wast:2181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -0.]), 1.) + +// f32.wast:2182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 0.]), 1.) + +// f32.wast:2183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -1.40129846432e-45]), 1.) + +// f32.wast:2186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 1.40129846432e-45]), 1.) + +// f32.wast:2187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:2188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -1.17549435082e-38]), 1.) + +// f32.wast:2190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 1.17549435082e-38]), 1.) + +// f32.wast:2191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -0.5]), -0.5) + +// f32.wast:2192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 0.5]), 0.5) + +// f32.wast:2193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -0.5]), 1.) + +// f32.wast:2194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 0.5]), 1.) + +// f32.wast:2195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -1.]), -1.) + +// f32.wast:2196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 1.]), 1.) + +// f32.wast:2197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -1.]), 1.) + +// f32.wast:2198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 1.]), 1.) + +// f32.wast:2199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -6.28318548203]), -1.) + +// f32.wast:2200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 6.28318548203]), 6.28318548203) + +// f32.wast:2201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -6.28318548203]), 1.) + +// f32.wast:2202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 6.28318548203]), 6.28318548203) + +// f32.wast:2203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -3.40282346639e+38]), -1.) + +// f32.wast:2204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -3.40282346639e+38]), 1.) + +// f32.wast:2206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -Infinity]), -1.) + +// f32.wast:2208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., Infinity]), Infinity) + +// f32.wast:2209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -Infinity]), 1.) + +// f32.wast:2210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., Infinity]), Infinity) + +// f32.wast:2211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1., NaN])) + +// f32.wast:2212 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1., NaN])) + +// f32.wast:2213 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1., NaN])) + +// f32.wast:2214 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1., NaN])) + +// f32.wast:2215 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1., NaN])) + +// f32.wast:2216 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1., NaN])) + +// f32.wast:2217 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1., NaN])) + +// f32.wast:2218 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1., NaN])) + +// f32.wast:2219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -0.]), -0.) + +// f32.wast:2220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 0.]), 0.) + +// f32.wast:2221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -0.]), 6.28318548203) + +// f32.wast:2222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 0.]), 6.28318548203) + +// f32.wast:2223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -1.40129846432e-45]), 6.28318548203) + +// f32.wast:2226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 1.40129846432e-45]), 6.28318548203) + +// f32.wast:2227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:2228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -1.17549435082e-38]), 6.28318548203) + +// f32.wast:2230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 1.17549435082e-38]), 6.28318548203) + +// f32.wast:2231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -0.5]), -0.5) + +// f32.wast:2232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 0.5]), 0.5) + +// f32.wast:2233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -0.5]), 6.28318548203) + +// f32.wast:2234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 0.5]), 6.28318548203) + +// f32.wast:2235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -1.]), -1.) + +// f32.wast:2236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 1.]), 1.) + +// f32.wast:2237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -1.]), 6.28318548203) + +// f32.wast:2238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 1.]), 6.28318548203) + +// f32.wast:2239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -6.28318548203]), -6.28318548203) + +// f32.wast:2240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 6.28318548203]), 6.28318548203) + +// f32.wast:2241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -6.28318548203]), 6.28318548203) + +// f32.wast:2242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 6.28318548203]), 6.28318548203) + +// f32.wast:2243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -3.40282346639e+38]), -6.28318548203) + +// f32.wast:2244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -3.40282346639e+38]), 6.28318548203) + +// f32.wast:2246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, -Infinity]), -6.28318548203) + +// f32.wast:2248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318548203, Infinity]), Infinity) + +// f32.wast:2249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, -Infinity]), 6.28318548203) + +// f32.wast:2250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318548203, Infinity]), Infinity) + +// f32.wast:2251 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-6.28318548203, NaN])) + +// f32.wast:2252 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-6.28318548203, NaN])) + +// f32.wast:2253 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-6.28318548203, NaN])) + +// f32.wast:2254 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-6.28318548203, NaN])) + +// f32.wast:2255 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [6.28318548203, NaN])) + +// f32.wast:2256 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [6.28318548203, NaN])) + +// f32.wast:2257 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [6.28318548203, NaN])) + +// f32.wast:2258 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [6.28318548203, NaN])) + +// f32.wast:2259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -0.]), -0.) + +// f32.wast:2260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 0.]), 0.) + +// f32.wast:2261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -0.]), 3.40282346639e+38) + +// f32.wast:2262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 0.]), 3.40282346639e+38) + +// f32.wast:2263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -1.40129846432e-45]), 3.40282346639e+38) + +// f32.wast:2266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 1.40129846432e-45]), 3.40282346639e+38) + +// f32.wast:2267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:2268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -1.17549435082e-38]), 3.40282346639e+38) + +// f32.wast:2270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 1.17549435082e-38]), 3.40282346639e+38) + +// f32.wast:2271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -0.5]), -0.5) + +// f32.wast:2272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 0.5]), 0.5) + +// f32.wast:2273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -0.5]), 3.40282346639e+38) + +// f32.wast:2274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 0.5]), 3.40282346639e+38) + +// f32.wast:2275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -1.]), -1.) + +// f32.wast:2276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 1.]), 1.) + +// f32.wast:2277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -1.]), 3.40282346639e+38) + +// f32.wast:2278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32.wast:2279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -6.28318548203]), -6.28318548203) + +// f32.wast:2280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 6.28318548203]), 6.28318548203) + +// f32.wast:2281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -6.28318548203]), 3.40282346639e+38) + +// f32.wast:2282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 6.28318548203]), 3.40282346639e+38) + +// f32.wast:2283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:2284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, -Infinity]), -3.40282346639e+38) + +// f32.wast:2288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-3.40282346639e+38, Infinity]), Infinity) + +// f32.wast:2289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, -Infinity]), 3.40282346639e+38) + +// f32.wast:2290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [3.40282346639e+38, Infinity]), Infinity) + +// f32.wast:2291 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-3.40282346639e+38, NaN])) + +// f32.wast:2292 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-3.40282346639e+38, NaN])) + +// f32.wast:2293 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-3.40282346639e+38, NaN])) + +// f32.wast:2294 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-3.40282346639e+38, NaN])) + +// f32.wast:2295 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [3.40282346639e+38, NaN])) + +// f32.wast:2296 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [3.40282346639e+38, NaN])) + +// f32.wast:2297 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [3.40282346639e+38, NaN])) + +// f32.wast:2298 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [3.40282346639e+38, NaN])) + +// f32.wast:2299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -0.]), -0.) + +// f32.wast:2300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 0.]), 0.) + +// f32.wast:2301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -0.]), Infinity) + +// f32.wast:2302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 0.]), Infinity) + +// f32.wast:2303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -1.40129846432e-45]), -1.40129846432e-45) + +// f32.wast:2304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 1.40129846432e-45]), 1.40129846432e-45) + +// f32.wast:2305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -1.40129846432e-45]), Infinity) + +// f32.wast:2306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 1.40129846432e-45]), Infinity) + +// f32.wast:2307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -1.17549435082e-38]), -1.17549435082e-38) + +// f32.wast:2308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 1.17549435082e-38]), 1.17549435082e-38) + +// f32.wast:2309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -1.17549435082e-38]), Infinity) + +// f32.wast:2310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 1.17549435082e-38]), Infinity) + +// f32.wast:2311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -0.5]), -0.5) + +// f32.wast:2312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 0.5]), 0.5) + +// f32.wast:2313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -0.5]), Infinity) + +// f32.wast:2314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 0.5]), Infinity) + +// f32.wast:2315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -1.]), -1.) + +// f32.wast:2316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 1.]), 1.) + +// f32.wast:2317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -1.]), Infinity) + +// f32.wast:2318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 1.]), Infinity) + +// f32.wast:2319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -6.28318548203]), -6.28318548203) + +// f32.wast:2320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 6.28318548203]), 6.28318548203) + +// f32.wast:2321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -6.28318548203]), Infinity) + +// f32.wast:2322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 6.28318548203]), Infinity) + +// f32.wast:2323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:2324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -3.40282346639e+38]), Infinity) + +// f32.wast:2326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 3.40282346639e+38]), Infinity) + +// f32.wast:2327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -Infinity]), -Infinity) + +// f32.wast:2328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, Infinity]), Infinity) + +// f32.wast:2329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -Infinity]), Infinity) + +// f32.wast:2330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, Infinity]), Infinity) + +// f32.wast:2331 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-Infinity, NaN])) + +// f32.wast:2332 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-Infinity, NaN])) + +// f32.wast:2333 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-Infinity, NaN])) + +// f32.wast:2334 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-Infinity, NaN])) + +// f32.wast:2335 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [Infinity, NaN])) + +// f32.wast:2336 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [Infinity, NaN])) + +// f32.wast:2337 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [Infinity, NaN])) + +// f32.wast:2338 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [Infinity, NaN])) + +// f32.wast:2339 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.])) + +// f32.wast:2340 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.])) + +// f32.wast:2341 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.])) + +// f32.wast:2342 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.])) + +// f32.wast:2343 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.])) + +// f32.wast:2344 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.])) + +// f32.wast:2345 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.])) + +// f32.wast:2346 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.])) + +// f32.wast:2347 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.40129846432e-45])) + +// f32.wast:2348 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.40129846432e-45])) + +// f32.wast:2349 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.40129846432e-45])) + +// f32.wast:2350 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.40129846432e-45])) + +// f32.wast:2351 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.40129846432e-45])) + +// f32.wast:2352 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.40129846432e-45])) + +// f32.wast:2353 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.40129846432e-45])) + +// f32.wast:2354 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.40129846432e-45])) + +// f32.wast:2355 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.17549435082e-38])) + +// f32.wast:2356 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.17549435082e-38])) + +// f32.wast:2357 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.17549435082e-38])) + +// f32.wast:2358 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.17549435082e-38])) + +// f32.wast:2359 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.17549435082e-38])) + +// f32.wast:2360 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.17549435082e-38])) + +// f32.wast:2361 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.17549435082e-38])) + +// f32.wast:2362 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.17549435082e-38])) + +// f32.wast:2363 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.5])) + +// f32.wast:2364 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.5])) + +// f32.wast:2365 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.5])) + +// f32.wast:2366 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.5])) + +// f32.wast:2367 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.5])) + +// f32.wast:2368 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.5])) + +// f32.wast:2369 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.5])) + +// f32.wast:2370 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.5])) + +// f32.wast:2371 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.])) + +// f32.wast:2372 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.])) + +// f32.wast:2373 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.])) + +// f32.wast:2374 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.])) + +// f32.wast:2375 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.])) + +// f32.wast:2376 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.])) + +// f32.wast:2377 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.])) + +// f32.wast:2378 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.])) + +// f32.wast:2379 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -6.28318548203])) + +// f32.wast:2380 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -6.28318548203])) + +// f32.wast:2381 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 6.28318548203])) + +// f32.wast:2382 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 6.28318548203])) + +// f32.wast:2383 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -6.28318548203])) + +// f32.wast:2384 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -6.28318548203])) + +// f32.wast:2385 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 6.28318548203])) + +// f32.wast:2386 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 6.28318548203])) + +// f32.wast:2387 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -3.40282346639e+38])) + +// f32.wast:2388 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -3.40282346639e+38])) + +// f32.wast:2389 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 3.40282346639e+38])) + +// f32.wast:2390 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 3.40282346639e+38])) + +// f32.wast:2391 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -3.40282346639e+38])) + +// f32.wast:2392 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -3.40282346639e+38])) + +// f32.wast:2393 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 3.40282346639e+38])) + +// f32.wast:2394 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 3.40282346639e+38])) + +// f32.wast:2395 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -Infinity])) + +// f32.wast:2396 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -Infinity])) + +// f32.wast:2397 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, Infinity])) + +// f32.wast:2398 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, Infinity])) + +// f32.wast:2399 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -Infinity])) + +// f32.wast:2400 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -Infinity])) + +// f32.wast:2401 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, Infinity])) + +// f32.wast:2402 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, Infinity])) + +// f32.wast:2403 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2404 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2405 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2406 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2407 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2408 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2409 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2410 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2414 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2415 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2416 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2417 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f32.wast:2419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [-0.]), -0.) + +// f32.wast:2420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [0.]), 0.) + +// f32.wast:2421 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-1.40129846432e-45])) + +// f32.wast:2422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xf3\x04\x35\x1a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [1.40129846432e-45]), 3.74339206651e-23) + +// f32.wast:2423 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-1.17549435082e-38])) + +// f32.wast:2424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x20\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [1.17549435082e-38]), 1.08420217249e-19) + +// f32.wast:2425 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-0.5])) + +// f32.wast:2426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xf3\x04\x35\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [0.5]), 0.707106769085) + +// f32.wast:2427 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-1.])) + +// f32.wast:2428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [1.]), 1.) + +// f32.wast:2429 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-6.28318548203])) + +// f32.wast:2430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x99\x6c\x20\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [6.28318548203]), 2.50662827492) + +// f32.wast:2431 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-3.40282346639e+38])) + +// f32.wast:2432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x5f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [3.40282346639e+38]), 1.84467429742e+19) + +// f32.wast:2433 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-Infinity])) + +// f32.wast:2434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [Infinity]), Infinity) + +// f32.wast:2435 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [NaN])) + +// f32.wast:2436 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sqrt", [NaN])) + +// f32.wast:2437 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [NaN])) + +// f32.wast:2438 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sqrt", [NaN])) + +// f32.wast:2439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-0.]), -0.) + +// f32.wast:2440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [0.]), 0.) + +// f32.wast:2441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-1.40129846432e-45]), -1.) + +// f32.wast:2442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [1.40129846432e-45]), 0.) + +// f32.wast:2443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-1.17549435082e-38]), -1.) + +// f32.wast:2444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [1.17549435082e-38]), 0.) + +// f32.wast:2445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-0.5]), -1.) + +// f32.wast:2446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [0.5]), 0.) + +// f32.wast:2447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-1.]), -1.) + +// f32.wast:2448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [1.]), 1.) + +// f32.wast:2449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\xe0\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-6.28318548203]), -7.) + +// f32.wast:2450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\xc0\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [6.28318548203]), 6.) + +// f32.wast:2451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:2452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-Infinity]), -Infinity) + +// f32.wast:2454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [Infinity]), Infinity) + +// f32.wast:2455 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "floor", [NaN])) + +// f32.wast:2456 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "floor", [NaN])) + +// f32.wast:2457 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "floor", [NaN])) + +// f32.wast:2458 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "floor", [NaN])) + +// f32.wast:2459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-0.]), -0.) + +// f32.wast:2460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [0.]), 0.) + +// f32.wast:2461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-1.40129846432e-45]), -0.) + +// f32.wast:2462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [1.40129846432e-45]), 1.) + +// f32.wast:2463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-1.17549435082e-38]), -0.) + +// f32.wast:2464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [1.17549435082e-38]), 1.) + +// f32.wast:2465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-0.5]), -0.) + +// f32.wast:2466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [0.5]), 1.) + +// f32.wast:2467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-1.]), -1.) + +// f32.wast:2468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [1.]), 1.) + +// f32.wast:2469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\xc0\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-6.28318548203]), -6.) + +// f32.wast:2470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\xe0\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [6.28318548203]), 7.) + +// f32.wast:2471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:2472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-Infinity]), -Infinity) + +// f32.wast:2474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [Infinity]), Infinity) + +// f32.wast:2475 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "ceil", [NaN])) + +// f32.wast:2476 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "ceil", [NaN])) + +// f32.wast:2477 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "ceil", [NaN])) + +// f32.wast:2478 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "ceil", [NaN])) + +// f32.wast:2479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-0.]), -0.) + +// f32.wast:2480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [0.]), 0.) + +// f32.wast:2481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-1.40129846432e-45]), -0.) + +// f32.wast:2482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [1.40129846432e-45]), 0.) + +// f32.wast:2483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-1.17549435082e-38]), -0.) + +// f32.wast:2484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [1.17549435082e-38]), 0.) + +// f32.wast:2485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-0.5]), -0.) + +// f32.wast:2486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [0.5]), 0.) + +// f32.wast:2487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-1.]), -1.) + +// f32.wast:2488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [1.]), 1.) + +// f32.wast:2489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\xc0\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-6.28318548203]), -6.) + +// f32.wast:2490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\xc0\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [6.28318548203]), 6.) + +// f32.wast:2491 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:2492 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2493 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-Infinity]), -Infinity) + +// f32.wast:2494 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [Infinity]), Infinity) + +// f32.wast:2495 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "trunc", [NaN])) + +// f32.wast:2496 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "trunc", [NaN])) + +// f32.wast:2497 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "trunc", [NaN])) + +// f32.wast:2498 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "trunc", [NaN])) + +// f32.wast:2499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-0.]), -0.) + +// f32.wast:2500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [0.]), 0.) + +// f32.wast:2501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-1.40129846432e-45]), -0.) + +// f32.wast:2502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [1.40129846432e-45]), 0.) + +// f32.wast:2503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-1.17549435082e-38]), -0.) + +// f32.wast:2504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [1.17549435082e-38]), 0.) + +// f32.wast:2505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-0.5]), -0.) + +// f32.wast:2506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [0.5]), 0.) + +// f32.wast:2507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-1.]), -1.) + +// f32.wast:2508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [1.]), 1.) + +// f32.wast:2509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\xc0\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-6.28318548203]), -6.) + +// f32.wast:2510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\xc0\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [6.28318548203]), 6.) + +// f32.wast:2511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-3.40282346639e+38]), -3.40282346639e+38) + +// f32.wast:2512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [3.40282346639e+38]), 3.40282346639e+38) + +// f32.wast:2513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-Infinity]), -Infinity) + +// f32.wast:2514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [Infinity]), Infinity) + +// f32.wast:2515 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "nearest", [NaN])) + +// f32.wast:2516 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "nearest", [NaN])) + +// f32.wast:2517 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "nearest", [NaN])) + +// f32.wast:2518 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "nearest", [NaN]))! diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/f32_bitwise.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/f32_bitwise.wast.js new file mode 100644 index 0000000000..abf2769cfb --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/f32_bitwise.wast.js @@ -0,0 +1,1083 @@ + +// f32_bitwise.wast:4 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x02\x7d\x7d\x01\x7d\x03\x84\x80\x80\x80\x00\x03\x00\x00\x01\x07\x98\x80\x80\x80\x00\x03\x03\x61\x62\x73\x00\x00\x03\x6e\x65\x67\x00\x01\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x02\x0a\xa1\x80\x80\x80\x00\x03\x85\x80\x80\x80\x00\x00\x20\x00\x8b\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x98\x0b"); + +// f32_bitwise.wast:10 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -0.]), -0.) + +// f32_bitwise.wast:11 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 0.]), 0.) + +// f32_bitwise.wast:12 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -0.]), -0.) + +// f32_bitwise.wast:13 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 0.]), 0.) + +// f32_bitwise.wast:14 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -1.40129846432e-45]), -0.) + +// f32_bitwise.wast:15 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 1.40129846432e-45]), 0.) + +// f32_bitwise.wast:16 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -1.40129846432e-45]), -0.) + +// f32_bitwise.wast:17 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 1.40129846432e-45]), 0.) + +// f32_bitwise.wast:18 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -1.17549435082e-38]), -0.) + +// f32_bitwise.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 1.17549435082e-38]), 0.) + +// f32_bitwise.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -1.17549435082e-38]), -0.) + +// f32_bitwise.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 1.17549435082e-38]), 0.) + +// f32_bitwise.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -0.5]), -0.) + +// f32_bitwise.wast:23 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 0.5]), 0.) + +// f32_bitwise.wast:24 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -0.5]), -0.) + +// f32_bitwise.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 0.5]), 0.) + +// f32_bitwise.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -1.]), -0.) + +// f32_bitwise.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 1.]), 0.) + +// f32_bitwise.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -1.]), -0.) + +// f32_bitwise.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 1.]), 0.) + +// f32_bitwise.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -6.28318548203]), -0.) + +// f32_bitwise.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 6.28318548203]), 0.) + +// f32_bitwise.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -6.28318548203]), -0.) + +// f32_bitwise.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 6.28318548203]), 0.) + +// f32_bitwise.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -3.40282346639e+38]), -0.) + +// f32_bitwise.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 3.40282346639e+38]), 0.) + +// f32_bitwise.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -3.40282346639e+38]), -0.) + +// f32_bitwise.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 3.40282346639e+38]), 0.) + +// f32_bitwise.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -Infinity]), -0.) + +// f32_bitwise.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., Infinity]), 0.) + +// f32_bitwise.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -Infinity]), -0.) + +// f32_bitwise.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., Infinity]), 0.) + +// f32_bitwise.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., NaN]), -0.) + +// f32_bitwise.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., NaN]), 0.) + +// f32_bitwise.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., NaN]), -0.) + +// f32_bitwise.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., NaN]), 0.) + +// f32_bitwise.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -0.]), -1.40129846432e-45) + +// f32_bitwise.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 0.]), 1.40129846432e-45) + +// f32_bitwise.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -0.]), -1.40129846432e-45) + +// f32_bitwise.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 0.]), 1.40129846432e-45) + +// f32_bitwise.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -1.40129846432e-45]), -1.40129846432e-45) + +// f32_bitwise.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 1.40129846432e-45]), 1.40129846432e-45) + +// f32_bitwise.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -1.40129846432e-45]), -1.40129846432e-45) + +// f32_bitwise.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 1.40129846432e-45]), 1.40129846432e-45) + +// f32_bitwise.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -1.17549435082e-38]), -1.40129846432e-45) + +// f32_bitwise.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 1.17549435082e-38]), 1.40129846432e-45) + +// f32_bitwise.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -1.17549435082e-38]), -1.40129846432e-45) + +// f32_bitwise.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 1.17549435082e-38]), 1.40129846432e-45) + +// f32_bitwise.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -0.5]), -1.40129846432e-45) + +// f32_bitwise.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 0.5]), 1.40129846432e-45) + +// f32_bitwise.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -0.5]), -1.40129846432e-45) + +// f32_bitwise.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 0.5]), 1.40129846432e-45) + +// f32_bitwise.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -1.]), -1.40129846432e-45) + +// f32_bitwise.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 1.]), 1.40129846432e-45) + +// f32_bitwise.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -1.]), -1.40129846432e-45) + +// f32_bitwise.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 1.]), 1.40129846432e-45) + +// f32_bitwise.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -6.28318548203]), -1.40129846432e-45) + +// f32_bitwise.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 6.28318548203]), 1.40129846432e-45) + +// f32_bitwise.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -6.28318548203]), -1.40129846432e-45) + +// f32_bitwise.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 6.28318548203]), 1.40129846432e-45) + +// f32_bitwise.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -3.40282346639e+38]), -1.40129846432e-45) + +// f32_bitwise.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, 3.40282346639e+38]), 1.40129846432e-45) + +// f32_bitwise.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -3.40282346639e+38]), -1.40129846432e-45) + +// f32_bitwise.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, 3.40282346639e+38]), 1.40129846432e-45) + +// f32_bitwise.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, -Infinity]), -1.40129846432e-45) + +// f32_bitwise.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, Infinity]), 1.40129846432e-45) + +// f32_bitwise.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, -Infinity]), -1.40129846432e-45) + +// f32_bitwise.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, Infinity]), 1.40129846432e-45) + +// f32_bitwise.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, NaN]), -1.40129846432e-45) + +// f32_bitwise.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.40129846432e-45, NaN]), 1.40129846432e-45) + +// f32_bitwise.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, NaN]), -1.40129846432e-45) + +// f32_bitwise.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.40129846432e-45, NaN]), 1.40129846432e-45) + +// f32_bitwise.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -0.]), -1.17549435082e-38) + +// f32_bitwise.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 0.]), 1.17549435082e-38) + +// f32_bitwise.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -0.]), -1.17549435082e-38) + +// f32_bitwise.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 0.]), 1.17549435082e-38) + +// f32_bitwise.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -1.40129846432e-45]), -1.17549435082e-38) + +// f32_bitwise.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 1.40129846432e-45]), 1.17549435082e-38) + +// f32_bitwise.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -1.40129846432e-45]), -1.17549435082e-38) + +// f32_bitwise.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 1.40129846432e-45]), 1.17549435082e-38) + +// f32_bitwise.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32_bitwise.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32_bitwise.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -1.17549435082e-38]), -1.17549435082e-38) + +// f32_bitwise.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 1.17549435082e-38]), 1.17549435082e-38) + +// f32_bitwise.wast:94 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -0.5]), -1.17549435082e-38) + +// f32_bitwise.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 0.5]), 1.17549435082e-38) + +// f32_bitwise.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -0.5]), -1.17549435082e-38) + +// f32_bitwise.wast:97 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 0.5]), 1.17549435082e-38) + +// f32_bitwise.wast:98 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -1.]), -1.17549435082e-38) + +// f32_bitwise.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 1.]), 1.17549435082e-38) + +// f32_bitwise.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -1.]), -1.17549435082e-38) + +// f32_bitwise.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 1.]), 1.17549435082e-38) + +// f32_bitwise.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -6.28318548203]), -1.17549435082e-38) + +// f32_bitwise.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 6.28318548203]), 1.17549435082e-38) + +// f32_bitwise.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -6.28318548203]), -1.17549435082e-38) + +// f32_bitwise.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 6.28318548203]), 1.17549435082e-38) + +// f32_bitwise.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -3.40282346639e+38]), -1.17549435082e-38) + +// f32_bitwise.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, 3.40282346639e+38]), 1.17549435082e-38) + +// f32_bitwise.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -3.40282346639e+38]), -1.17549435082e-38) + +// f32_bitwise.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, 3.40282346639e+38]), 1.17549435082e-38) + +// f32_bitwise.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, -Infinity]), -1.17549435082e-38) + +// f32_bitwise.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, Infinity]), 1.17549435082e-38) + +// f32_bitwise.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, -Infinity]), -1.17549435082e-38) + +// f32_bitwise.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, Infinity]), 1.17549435082e-38) + +// f32_bitwise.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, NaN]), -1.17549435082e-38) + +// f32_bitwise.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.17549435082e-38, NaN]), 1.17549435082e-38) + +// f32_bitwise.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, NaN]), -1.17549435082e-38) + +// f32_bitwise.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.17549435082e-38, NaN]), 1.17549435082e-38) + +// f32_bitwise.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -0.]), -0.5) + +// f32_bitwise.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 0.]), 0.5) + +// f32_bitwise.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -0.]), -0.5) + +// f32_bitwise.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 0.]), 0.5) + +// f32_bitwise.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -1.40129846432e-45]), -0.5) + +// f32_bitwise.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 1.40129846432e-45]), 0.5) + +// f32_bitwise.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -1.40129846432e-45]), -0.5) + +// f32_bitwise.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 1.40129846432e-45]), 0.5) + +// f32_bitwise.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -1.17549435082e-38]), -0.5) + +// f32_bitwise.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 1.17549435082e-38]), 0.5) + +// f32_bitwise.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -1.17549435082e-38]), -0.5) + +// f32_bitwise.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 1.17549435082e-38]), 0.5) + +// f32_bitwise.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -0.5]), -0.5) + +// f32_bitwise.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 0.5]), 0.5) + +// f32_bitwise.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -0.5]), -0.5) + +// f32_bitwise.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 0.5]), 0.5) + +// f32_bitwise.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -1.]), -0.5) + +// f32_bitwise.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 1.]), 0.5) + +// f32_bitwise.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -1.]), -0.5) + +// f32_bitwise.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 1.]), 0.5) + +// f32_bitwise.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -6.28318548203]), -0.5) + +// f32_bitwise.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 6.28318548203]), 0.5) + +// f32_bitwise.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -6.28318548203]), -0.5) + +// f32_bitwise.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 6.28318548203]), 0.5) + +// f32_bitwise.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -3.40282346639e+38]), -0.5) + +// f32_bitwise.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 3.40282346639e+38]), 0.5) + +// f32_bitwise.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -3.40282346639e+38]), -0.5) + +// f32_bitwise.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 3.40282346639e+38]), 0.5) + +// f32_bitwise.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -Infinity]), -0.5) + +// f32_bitwise.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, Infinity]), 0.5) + +// f32_bitwise.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -Infinity]), -0.5) + +// f32_bitwise.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, Infinity]), 0.5) + +// f32_bitwise.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, NaN]), -0.5) + +// f32_bitwise.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, NaN]), 0.5) + +// f32_bitwise.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, NaN]), -0.5) + +// f32_bitwise.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, NaN]), 0.5) + +// f32_bitwise.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -0.]), -1.) + +// f32_bitwise.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 0.]), 1.) + +// f32_bitwise.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -0.]), -1.) + +// f32_bitwise.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 0.]), 1.) + +// f32_bitwise.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -1.40129846432e-45]), -1.) + +// f32_bitwise.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 1.40129846432e-45]), 1.) + +// f32_bitwise.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -1.40129846432e-45]), -1.) + +// f32_bitwise.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 1.40129846432e-45]), 1.) + +// f32_bitwise.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -1.17549435082e-38]), -1.) + +// f32_bitwise.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 1.17549435082e-38]), 1.) + +// f32_bitwise.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -1.17549435082e-38]), -1.) + +// f32_bitwise.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 1.17549435082e-38]), 1.) + +// f32_bitwise.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -0.5]), -1.) + +// f32_bitwise.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 0.5]), 1.) + +// f32_bitwise.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -0.5]), -1.) + +// f32_bitwise.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 0.5]), 1.) + +// f32_bitwise.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -1.]), -1.) + +// f32_bitwise.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 1.]), 1.) + +// f32_bitwise.wast:172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -1.]), -1.) + +// f32_bitwise.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 1.]), 1.) + +// f32_bitwise.wast:174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -6.28318548203]), -1.) + +// f32_bitwise.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 6.28318548203]), 1.) + +// f32_bitwise.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -6.28318548203]), -1.) + +// f32_bitwise.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 6.28318548203]), 1.) + +// f32_bitwise.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -3.40282346639e+38]), -1.) + +// f32_bitwise.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 3.40282346639e+38]), 1.) + +// f32_bitwise.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -3.40282346639e+38]), -1.) + +// f32_bitwise.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 3.40282346639e+38]), 1.) + +// f32_bitwise.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -Infinity]), -1.) + +// f32_bitwise.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., Infinity]), 1.) + +// f32_bitwise.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -Infinity]), -1.) + +// f32_bitwise.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., Infinity]), 1.) + +// f32_bitwise.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., NaN]), -1.) + +// f32_bitwise.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., NaN]), 1.) + +// f32_bitwise.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., NaN]), -1.) + +// f32_bitwise.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., NaN]), 1.) + +// f32_bitwise.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -0.]), -6.28318548203) + +// f32_bitwise.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 0.]), 6.28318548203) + +// f32_bitwise.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -0.]), -6.28318548203) + +// f32_bitwise.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 0.]), 6.28318548203) + +// f32_bitwise.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -1.40129846432e-45]), -6.28318548203) + +// f32_bitwise.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 1.40129846432e-45]), 6.28318548203) + +// f32_bitwise.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -1.40129846432e-45]), -6.28318548203) + +// f32_bitwise.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 1.40129846432e-45]), 6.28318548203) + +// f32_bitwise.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -1.17549435082e-38]), -6.28318548203) + +// f32_bitwise.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 1.17549435082e-38]), 6.28318548203) + +// f32_bitwise.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -1.17549435082e-38]), -6.28318548203) + +// f32_bitwise.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 1.17549435082e-38]), 6.28318548203) + +// f32_bitwise.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -0.5]), -6.28318548203) + +// f32_bitwise.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 0.5]), 6.28318548203) + +// f32_bitwise.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -0.5]), -6.28318548203) + +// f32_bitwise.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 0.5]), 6.28318548203) + +// f32_bitwise.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -1.]), -6.28318548203) + +// f32_bitwise.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 1.]), 6.28318548203) + +// f32_bitwise.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -1.]), -6.28318548203) + +// f32_bitwise.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 1.]), 6.28318548203) + +// f32_bitwise.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -6.28318548203]), -6.28318548203) + +// f32_bitwise.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 6.28318548203]), 6.28318548203) + +// f32_bitwise.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -6.28318548203]), -6.28318548203) + +// f32_bitwise.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 6.28318548203]), 6.28318548203) + +// f32_bitwise.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -3.40282346639e+38]), -6.28318548203) + +// f32_bitwise.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, 3.40282346639e+38]), 6.28318548203) + +// f32_bitwise.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -3.40282346639e+38]), -6.28318548203) + +// f32_bitwise.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, 3.40282346639e+38]), 6.28318548203) + +// f32_bitwise.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, -Infinity]), -6.28318548203) + +// f32_bitwise.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, Infinity]), 6.28318548203) + +// f32_bitwise.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, -Infinity]), -6.28318548203) + +// f32_bitwise.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, Infinity]), 6.28318548203) + +// f32_bitwise.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, NaN]), -6.28318548203) + +// f32_bitwise.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318548203, NaN]), 6.28318548203) + +// f32_bitwise.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, NaN]), -6.28318548203) + +// f32_bitwise.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318548203, NaN]), 6.28318548203) + +// f32_bitwise.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -0.]), -3.40282346639e+38) + +// f32_bitwise.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 0.]), 3.40282346639e+38) + +// f32_bitwise.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -0.]), -3.40282346639e+38) + +// f32_bitwise.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 0.]), 3.40282346639e+38) + +// f32_bitwise.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -1.40129846432e-45]), -3.40282346639e+38) + +// f32_bitwise.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 1.40129846432e-45]), 3.40282346639e+38) + +// f32_bitwise.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -1.40129846432e-45]), -3.40282346639e+38) + +// f32_bitwise.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 1.40129846432e-45]), 3.40282346639e+38) + +// f32_bitwise.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -1.17549435082e-38]), -3.40282346639e+38) + +// f32_bitwise.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 1.17549435082e-38]), 3.40282346639e+38) + +// f32_bitwise.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -1.17549435082e-38]), -3.40282346639e+38) + +// f32_bitwise.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 1.17549435082e-38]), 3.40282346639e+38) + +// f32_bitwise.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -0.5]), -3.40282346639e+38) + +// f32_bitwise.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 0.5]), 3.40282346639e+38) + +// f32_bitwise.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -0.5]), -3.40282346639e+38) + +// f32_bitwise.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 0.5]), 3.40282346639e+38) + +// f32_bitwise.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32_bitwise.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32_bitwise.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -1.]), -3.40282346639e+38) + +// f32_bitwise.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 1.]), 3.40282346639e+38) + +// f32_bitwise.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -6.28318548203]), -3.40282346639e+38) + +// f32_bitwise.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 6.28318548203]), 3.40282346639e+38) + +// f32_bitwise.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -6.28318548203]), -3.40282346639e+38) + +// f32_bitwise.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 6.28318548203]), 3.40282346639e+38) + +// f32_bitwise.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32_bitwise.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32_bitwise.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -3.40282346639e+38]), -3.40282346639e+38) + +// f32_bitwise.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, 3.40282346639e+38]), 3.40282346639e+38) + +// f32_bitwise.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, -Infinity]), -3.40282346639e+38) + +// f32_bitwise.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, Infinity]), 3.40282346639e+38) + +// f32_bitwise.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, -Infinity]), -3.40282346639e+38) + +// f32_bitwise.wast:257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, Infinity]), 3.40282346639e+38) + +// f32_bitwise.wast:258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, NaN]), -3.40282346639e+38) + +// f32_bitwise.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-3.40282346639e+38, NaN]), 3.40282346639e+38) + +// f32_bitwise.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, NaN]), -3.40282346639e+38) + +// f32_bitwise.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [3.40282346639e+38, NaN]), 3.40282346639e+38) + +// f32_bitwise.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -0.]), -Infinity) + +// f32_bitwise.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 0.]), Infinity) + +// f32_bitwise.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -0.]), -Infinity) + +// f32_bitwise.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 0.]), Infinity) + +// f32_bitwise.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -1.40129846432e-45]), -Infinity) + +// f32_bitwise.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 1.40129846432e-45]), Infinity) + +// f32_bitwise.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -1.40129846432e-45]), -Infinity) + +// f32_bitwise.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 1.40129846432e-45]), Infinity) + +// f32_bitwise.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -1.17549435082e-38]), -Infinity) + +// f32_bitwise.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 1.17549435082e-38]), Infinity) + +// f32_bitwise.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -1.17549435082e-38]), -Infinity) + +// f32_bitwise.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 1.17549435082e-38]), Infinity) + +// f32_bitwise.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -0.5]), -Infinity) + +// f32_bitwise.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 0.5]), Infinity) + +// f32_bitwise.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -0.5]), -Infinity) + +// f32_bitwise.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 0.5]), Infinity) + +// f32_bitwise.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -1.]), -Infinity) + +// f32_bitwise.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 1.]), Infinity) + +// f32_bitwise.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -1.]), -Infinity) + +// f32_bitwise.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 1.]), Infinity) + +// f32_bitwise.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -6.28318548203]), -Infinity) + +// f32_bitwise.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 6.28318548203]), Infinity) + +// f32_bitwise.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -6.28318548203]), -Infinity) + +// f32_bitwise.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 6.28318548203]), Infinity) + +// f32_bitwise.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -3.40282346639e+38]), -Infinity) + +// f32_bitwise.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 3.40282346639e+38]), Infinity) + +// f32_bitwise.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -3.40282346639e+38]), -Infinity) + +// f32_bitwise.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 3.40282346639e+38]), Infinity) + +// f32_bitwise.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -Infinity]), -Infinity) + +// f32_bitwise.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, Infinity]), Infinity) + +// f32_bitwise.wast:292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -Infinity]), -Infinity) + +// f32_bitwise.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, Infinity]), Infinity) + +// f32_bitwise.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, NaN]), -Infinity) + +// f32_bitwise.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, NaN]), Infinity) + +// f32_bitwise.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, NaN]), -Infinity) + +// f32_bitwise.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, NaN]), Infinity) + +// f32_bitwise.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.]), NaN) + +// f32_bitwise.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.]), NaN) + +// f32_bitwise.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.]), NaN) + +// f32_bitwise.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.]), NaN) + +// f32_bitwise.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.40129846432e-45]), NaN) + +// f32_bitwise.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.40129846432e-45]), NaN) + +// f32_bitwise.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.40129846432e-45]), NaN) + +// f32_bitwise.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.40129846432e-45]), NaN) + +// f32_bitwise.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.17549435082e-38]), NaN) + +// f32_bitwise.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.17549435082e-38]), NaN) + +// f32_bitwise.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.17549435082e-38]), NaN) + +// f32_bitwise.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.17549435082e-38]), NaN) + +// f32_bitwise.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.5]), NaN) + +// f32_bitwise.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.5]), NaN) + +// f32_bitwise.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.5]), NaN) + +// f32_bitwise.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.5]), NaN) + +// f32_bitwise.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.]), NaN) + +// f32_bitwise.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.]), NaN) + +// f32_bitwise.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.]), NaN) + +// f32_bitwise.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.]), NaN) + +// f32_bitwise.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -6.28318548203]), NaN) + +// f32_bitwise.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 6.28318548203]), NaN) + +// f32_bitwise.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -6.28318548203]), NaN) + +// f32_bitwise.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 6.28318548203]), NaN) + +// f32_bitwise.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -3.40282346639e+38]), NaN) + +// f32_bitwise.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 3.40282346639e+38]), NaN) + +// f32_bitwise.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -3.40282346639e+38]), NaN) + +// f32_bitwise.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 3.40282346639e+38]), NaN) + +// f32_bitwise.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -Infinity]), NaN) + +// f32_bitwise.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, Infinity]), NaN) + +// f32_bitwise.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -Infinity]), NaN) + +// f32_bitwise.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, Infinity]), NaN) + +// f32_bitwise.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f32_bitwise.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f32_bitwise.wast:332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f32_bitwise.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f32_bitwise.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-0.]), 0.) + +// f32_bitwise.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [0.]), 0.) + +// f32_bitwise.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-1.40129846432e-45]), 1.40129846432e-45) + +// f32_bitwise.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [1.40129846432e-45]), 1.40129846432e-45) + +// f32_bitwise.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-1.17549435082e-38]), 1.17549435082e-38) + +// f32_bitwise.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [1.17549435082e-38]), 1.17549435082e-38) + +// f32_bitwise.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-0.5]), 0.5) + +// f32_bitwise.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [0.5]), 0.5) + +// f32_bitwise.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-1.]), 1.) + +// f32_bitwise.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [1.]), 1.) + +// f32_bitwise.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-6.28318548203]), 6.28318548203) + +// f32_bitwise.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [6.28318548203]), 6.28318548203) + +// f32_bitwise.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-3.40282346639e+38]), 3.40282346639e+38) + +// f32_bitwise.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [3.40282346639e+38]), 3.40282346639e+38) + +// f32_bitwise.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-Infinity]), Infinity) + +// f32_bitwise.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [Infinity]), Infinity) + +// f32_bitwise.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [NaN]), NaN) + +// f32_bitwise.wast:351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [NaN]), NaN) + +// f32_bitwise.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-0.]), 0.) + +// f32_bitwise.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [0.]), -0.) + +// f32_bitwise.wast:354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-1.40129846432e-45]), 1.40129846432e-45) + +// f32_bitwise.wast:355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [1.40129846432e-45]), -1.40129846432e-45) + +// f32_bitwise.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-1.17549435082e-38]), 1.17549435082e-38) + +// f32_bitwise.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [1.17549435082e-38]), -1.17549435082e-38) + +// f32_bitwise.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-0.5]), 0.5) + +// f32_bitwise.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [0.5]), -0.5) + +// f32_bitwise.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-1.]), 1.) + +// f32_bitwise.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [1.]), -1.) + +// f32_bitwise.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x10\x00\xbc\x43\xdb\x0f\xc9\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-6.28318548203]), 6.28318548203) + +// f32_bitwise.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x10\x00\xbc\x43\xdb\x0f\xc9\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [6.28318548203]), -6.28318548203) + +// f32_bitwise.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-3.40282346639e+38]), 3.40282346639e+38) + +// f32_bitwise.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [3.40282346639e+38]), -3.40282346639e+38) + +// f32_bitwise.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-Infinity]), Infinity) + +// f32_bitwise.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [Infinity]), -Infinity) + +// f32_bitwise.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [NaN]), NaN) + +// f32_bitwise.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [NaN]), NaN) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/f32_cmp.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/f32_cmp.wast.js new file mode 100644 index 0000000000..c87b76ace7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/f32_cmp.wast.js @@ -0,0 +1,7203 @@ + +// f32_cmp.wast:4 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7d\x7d\x01\x7f\x03\x87\x80\x80\x80\x00\x06\x00\x00\x00\x00\x00\x00\x07\x9f\x80\x80\x80\x00\x06\x02\x65\x71\x00\x00\x02\x6e\x65\x00\x01\x02\x6c\x74\x00\x02\x02\x6c\x65\x00\x03\x02\x67\x74\x00\x04\x02\x67\x65\x00\x05\x0a\xc9\x80\x80\x80\x00\x06\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5b\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x60\x0b"); + +// f32_cmp.wast:13 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -0.]), 1) + +// f32_cmp.wast:14 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 0.]), 1) + +// f32_cmp.wast:15 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -0.]), 1) + +// f32_cmp.wast:16 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 0.]), 1) + +// f32_cmp.wast:17 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -1.40129846432e-45]), 0) + +// f32_cmp.wast:18 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 1.40129846432e-45]), 0) + +// f32_cmp.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -1.40129846432e-45]), 0) + +// f32_cmp.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 1.40129846432e-45]), 0) + +// f32_cmp.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -1.17549435082e-38]), 0) + +// f32_cmp.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 1.17549435082e-38]), 0) + +// f32_cmp.wast:23 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -1.17549435082e-38]), 0) + +// f32_cmp.wast:24 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 1.17549435082e-38]), 0) + +// f32_cmp.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -0.5]), 0) + +// f32_cmp.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 0.5]), 0) + +// f32_cmp.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -0.5]), 0) + +// f32_cmp.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 0.5]), 0) + +// f32_cmp.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -1.]), 0) + +// f32_cmp.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 1.]), 0) + +// f32_cmp.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -1.]), 0) + +// f32_cmp.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 1.]), 0) + +// f32_cmp.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -6.28318548203]), 0) + +// f32_cmp.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 6.28318548203]), 0) + +// f32_cmp.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -6.28318548203]), 0) + +// f32_cmp.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 6.28318548203]), 0) + +// f32_cmp.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -3.40282346639e+38]), 0) + +// f32_cmp.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 3.40282346639e+38]), 0) + +// f32_cmp.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -3.40282346639e+38]), 0) + +// f32_cmp.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 3.40282346639e+38]), 0) + +// f32_cmp.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -Infinity]), 0) + +// f32_cmp.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., Infinity]), 0) + +// f32_cmp.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -Infinity]), 0) + +// f32_cmp.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., Infinity]), 0) + +// f32_cmp.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f32_cmp.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f32_cmp.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f32_cmp.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f32_cmp.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f32_cmp.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f32_cmp.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f32_cmp.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f32_cmp.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -0.]), 0) + +// f32_cmp.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 0.]), 0) + +// f32_cmp.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -0.]), 0) + +// f32_cmp.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 0.]), 0) + +// f32_cmp.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -1.40129846432e-45]), 1) + +// f32_cmp.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 1.40129846432e-45]), 0) + +// f32_cmp.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -1.40129846432e-45]), 0) + +// f32_cmp.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 1.40129846432e-45]), 1) + +// f32_cmp.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -1.17549435082e-38]), 0) + +// f32_cmp.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 1.17549435082e-38]), 0) + +// f32_cmp.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -1.17549435082e-38]), 0) + +// f32_cmp.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 1.17549435082e-38]), 0) + +// f32_cmp.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -0.5]), 0) + +// f32_cmp.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 0.5]), 0) + +// f32_cmp.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -0.5]), 0) + +// f32_cmp.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 0.5]), 0) + +// f32_cmp.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -1.]), 0) + +// f32_cmp.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 1.]), 0) + +// f32_cmp.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -1.]), 0) + +// f32_cmp.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 1.]), 0) + +// f32_cmp.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -6.28318548203]), 0) + +// f32_cmp.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 6.28318548203]), 0) + +// f32_cmp.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -6.28318548203]), 0) + +// f32_cmp.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 6.28318548203]), 0) + +// f32_cmp.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -3.40282346639e+38]), 0) + +// f32_cmp.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, 3.40282346639e+38]), 0) + +// f32_cmp.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -3.40282346639e+38]), 0) + +// f32_cmp.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, 3.40282346639e+38]), 0) + +// f32_cmp.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, -Infinity]), 0) + +// f32_cmp.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, Infinity]), 0) + +// f32_cmp.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, -Infinity]), 0) + +// f32_cmp.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, Infinity]), 0) + +// f32_cmp.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -0.]), 0) + +// f32_cmp.wast:94 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 0.]), 0) + +// f32_cmp.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -0.]), 0) + +// f32_cmp.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 0.]), 0) + +// f32_cmp.wast:97 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:98 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -0.5]), 0) + +// f32_cmp.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 0.5]), 0) + +// f32_cmp.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -0.5]), 0) + +// f32_cmp.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 0.5]), 0) + +// f32_cmp.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -1.]), 0) + +// f32_cmp.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 1.]), 0) + +// f32_cmp.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -1.]), 0) + +// f32_cmp.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 1.]), 0) + +// f32_cmp.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -6.28318548203]), 0) + +// f32_cmp.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 6.28318548203]), 0) + +// f32_cmp.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -6.28318548203]), 0) + +// f32_cmp.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 6.28318548203]), 0) + +// f32_cmp.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, -Infinity]), 0) + +// f32_cmp.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, Infinity]), 0) + +// f32_cmp.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, -Infinity]), 0) + +// f32_cmp.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, Infinity]), 0) + +// f32_cmp.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -0.]), 0) + +// f32_cmp.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 0.]), 0) + +// f32_cmp.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -0.]), 0) + +// f32_cmp.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 0.]), 0) + +// f32_cmp.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -1.40129846432e-45]), 0) + +// f32_cmp.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 1.40129846432e-45]), 0) + +// f32_cmp.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -1.40129846432e-45]), 0) + +// f32_cmp.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 1.40129846432e-45]), 0) + +// f32_cmp.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -1.17549435082e-38]), 0) + +// f32_cmp.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 1.17549435082e-38]), 0) + +// f32_cmp.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -1.17549435082e-38]), 0) + +// f32_cmp.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 1.17549435082e-38]), 0) + +// f32_cmp.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -0.5]), 1) + +// f32_cmp.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 0.5]), 0) + +// f32_cmp.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -0.5]), 0) + +// f32_cmp.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 0.5]), 1) + +// f32_cmp.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -1.]), 0) + +// f32_cmp.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 1.]), 0) + +// f32_cmp.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -1.]), 0) + +// f32_cmp.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 1.]), 0) + +// f32_cmp.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -6.28318548203]), 0) + +// f32_cmp.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 6.28318548203]), 0) + +// f32_cmp.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -6.28318548203]), 0) + +// f32_cmp.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 6.28318548203]), 0) + +// f32_cmp.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -3.40282346639e+38]), 0) + +// f32_cmp.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 3.40282346639e+38]), 0) + +// f32_cmp.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -3.40282346639e+38]), 0) + +// f32_cmp.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 3.40282346639e+38]), 0) + +// f32_cmp.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -Infinity]), 0) + +// f32_cmp.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, Infinity]), 0) + +// f32_cmp.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -Infinity]), 0) + +// f32_cmp.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, Infinity]), 0) + +// f32_cmp.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f32_cmp.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f32_cmp.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f32_cmp.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f32_cmp.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f32_cmp.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f32_cmp.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f32_cmp.wast:172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f32_cmp.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -0.]), 0) + +// f32_cmp.wast:174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 0.]), 0) + +// f32_cmp.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -0.]), 0) + +// f32_cmp.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 0.]), 0) + +// f32_cmp.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -1.40129846432e-45]), 0) + +// f32_cmp.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 1.40129846432e-45]), 0) + +// f32_cmp.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -1.40129846432e-45]), 0) + +// f32_cmp.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 1.40129846432e-45]), 0) + +// f32_cmp.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -1.17549435082e-38]), 0) + +// f32_cmp.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 1.17549435082e-38]), 0) + +// f32_cmp.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -1.17549435082e-38]), 0) + +// f32_cmp.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 1.17549435082e-38]), 0) + +// f32_cmp.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -0.5]), 0) + +// f32_cmp.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 0.5]), 0) + +// f32_cmp.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -0.5]), 0) + +// f32_cmp.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 0.5]), 0) + +// f32_cmp.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -1.]), 1) + +// f32_cmp.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 1.]), 0) + +// f32_cmp.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -1.]), 0) + +// f32_cmp.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 1.]), 1) + +// f32_cmp.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -6.28318548203]), 0) + +// f32_cmp.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 6.28318548203]), 0) + +// f32_cmp.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -6.28318548203]), 0) + +// f32_cmp.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 6.28318548203]), 0) + +// f32_cmp.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -3.40282346639e+38]), 0) + +// f32_cmp.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 3.40282346639e+38]), 0) + +// f32_cmp.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -3.40282346639e+38]), 0) + +// f32_cmp.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 3.40282346639e+38]), 0) + +// f32_cmp.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -Infinity]), 0) + +// f32_cmp.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., Infinity]), 0) + +// f32_cmp.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -Infinity]), 0) + +// f32_cmp.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., Infinity]), 0) + +// f32_cmp.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f32_cmp.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f32_cmp.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f32_cmp.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f32_cmp.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f32_cmp.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f32_cmp.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f32_cmp.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f32_cmp.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -0.]), 0) + +// f32_cmp.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 0.]), 0) + +// f32_cmp.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -0.]), 0) + +// f32_cmp.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 0.]), 0) + +// f32_cmp.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -1.40129846432e-45]), 0) + +// f32_cmp.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 1.40129846432e-45]), 0) + +// f32_cmp.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -1.40129846432e-45]), 0) + +// f32_cmp.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 1.40129846432e-45]), 0) + +// f32_cmp.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -1.17549435082e-38]), 0) + +// f32_cmp.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 1.17549435082e-38]), 0) + +// f32_cmp.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -1.17549435082e-38]), 0) + +// f32_cmp.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 1.17549435082e-38]), 0) + +// f32_cmp.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -0.5]), 0) + +// f32_cmp.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 0.5]), 0) + +// f32_cmp.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -0.5]), 0) + +// f32_cmp.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 0.5]), 0) + +// f32_cmp.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -1.]), 0) + +// f32_cmp.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 1.]), 0) + +// f32_cmp.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -1.]), 0) + +// f32_cmp.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 1.]), 0) + +// f32_cmp.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -6.28318548203]), 1) + +// f32_cmp.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 6.28318548203]), 0) + +// f32_cmp.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -6.28318548203]), 0) + +// f32_cmp.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 6.28318548203]), 1) + +// f32_cmp.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -3.40282346639e+38]), 0) + +// f32_cmp.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, 3.40282346639e+38]), 0) + +// f32_cmp.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -3.40282346639e+38]), 0) + +// f32_cmp.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, 3.40282346639e+38]), 0) + +// f32_cmp.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, -Infinity]), 0) + +// f32_cmp.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, Infinity]), 0) + +// f32_cmp.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, -Infinity]), 0) + +// f32_cmp.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, Infinity]), 0) + +// f32_cmp.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -0.]), 0) + +// f32_cmp.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 0.]), 0) + +// f32_cmp.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -0.]), 0) + +// f32_cmp.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 0.]), 0) + +// f32_cmp.wast:257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -0.5]), 0) + +// f32_cmp.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 0.5]), 0) + +// f32_cmp.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -0.5]), 0) + +// f32_cmp.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 0.5]), 0) + +// f32_cmp.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -1.]), 0) + +// f32_cmp.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 1.]), 0) + +// f32_cmp.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -1.]), 0) + +// f32_cmp.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 1.]), 0) + +// f32_cmp.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -6.28318548203]), 0) + +// f32_cmp.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 6.28318548203]), 0) + +// f32_cmp.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -6.28318548203]), 0) + +// f32_cmp.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 6.28318548203]), 0) + +// f32_cmp.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, -Infinity]), 0) + +// f32_cmp.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, Infinity]), 0) + +// f32_cmp.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, -Infinity]), 0) + +// f32_cmp.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, Infinity]), 0) + +// f32_cmp.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -0.]), 0) + +// f32_cmp.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 0.]), 0) + +// f32_cmp.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -0.]), 0) + +// f32_cmp.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 0.]), 0) + +// f32_cmp.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -1.40129846432e-45]), 0) + +// f32_cmp.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 1.40129846432e-45]), 0) + +// f32_cmp.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -1.40129846432e-45]), 0) + +// f32_cmp.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 1.40129846432e-45]), 0) + +// f32_cmp.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -1.17549435082e-38]), 0) + +// f32_cmp.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 1.17549435082e-38]), 0) + +// f32_cmp.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -1.17549435082e-38]), 0) + +// f32_cmp.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 1.17549435082e-38]), 0) + +// f32_cmp.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -0.5]), 0) + +// f32_cmp.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 0.5]), 0) + +// f32_cmp.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -0.5]), 0) + +// f32_cmp.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 0.5]), 0) + +// f32_cmp.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -1.]), 0) + +// f32_cmp.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 1.]), 0) + +// f32_cmp.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -1.]), 0) + +// f32_cmp.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 1.]), 0) + +// f32_cmp.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -6.28318548203]), 0) + +// f32_cmp.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 6.28318548203]), 0) + +// f32_cmp.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -6.28318548203]), 0) + +// f32_cmp.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 6.28318548203]), 0) + +// f32_cmp.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -3.40282346639e+38]), 0) + +// f32_cmp.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 3.40282346639e+38]), 0) + +// f32_cmp.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -3.40282346639e+38]), 0) + +// f32_cmp.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 3.40282346639e+38]), 0) + +// f32_cmp.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -Infinity]), 1) + +// f32_cmp.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, Infinity]), 0) + +// f32_cmp.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -Infinity]), 0) + +// f32_cmp.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, Infinity]), 1) + +// f32_cmp.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f32_cmp.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f32_cmp.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f32_cmp.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f32_cmp.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f32_cmp.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f32_cmp.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f32_cmp.wast:332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f32_cmp.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f32_cmp.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f32_cmp.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f32_cmp.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f32_cmp.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f32_cmp.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f32_cmp.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f32_cmp.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f32_cmp.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f32_cmp.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f32_cmp.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f32_cmp.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f32_cmp.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f32_cmp.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f32_cmp.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f32_cmp.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f32_cmp.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f32_cmp.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f32_cmp.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f32_cmp.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f32_cmp.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f32_cmp.wast:370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f32_cmp.wast:371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f32_cmp.wast:372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f32_cmp.wast:373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f32_cmp.wast:390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f32_cmp.wast:391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f32_cmp.wast:392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f32_cmp.wast:393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f32_cmp.wast:394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f32_cmp.wast:395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f32_cmp.wast:396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f32_cmp.wast:397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f32_cmp.wast:413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -0.]), 0) + +// f32_cmp.wast:414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 0.]), 0) + +// f32_cmp.wast:415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -0.]), 0) + +// f32_cmp.wast:416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 0.]), 0) + +// f32_cmp.wast:417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -1.40129846432e-45]), 1) + +// f32_cmp.wast:418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 1.40129846432e-45]), 1) + +// f32_cmp.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -1.40129846432e-45]), 1) + +// f32_cmp.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 1.40129846432e-45]), 1) + +// f32_cmp.wast:421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -1.17549435082e-38]), 1) + +// f32_cmp.wast:422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 1.17549435082e-38]), 1) + +// f32_cmp.wast:423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -1.17549435082e-38]), 1) + +// f32_cmp.wast:424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 1.17549435082e-38]), 1) + +// f32_cmp.wast:425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -0.5]), 1) + +// f32_cmp.wast:426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 0.5]), 1) + +// f32_cmp.wast:427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -0.5]), 1) + +// f32_cmp.wast:428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 0.5]), 1) + +// f32_cmp.wast:429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -1.]), 1) + +// f32_cmp.wast:430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 1.]), 1) + +// f32_cmp.wast:431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -1.]), 1) + +// f32_cmp.wast:432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 1.]), 1) + +// f32_cmp.wast:433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -6.28318548203]), 1) + +// f32_cmp.wast:434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 6.28318548203]), 1) + +// f32_cmp.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -6.28318548203]), 1) + +// f32_cmp.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 6.28318548203]), 1) + +// f32_cmp.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -3.40282346639e+38]), 1) + +// f32_cmp.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 3.40282346639e+38]), 1) + +// f32_cmp.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -3.40282346639e+38]), 1) + +// f32_cmp.wast:440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 3.40282346639e+38]), 1) + +// f32_cmp.wast:441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -Infinity]), 1) + +// f32_cmp.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., Infinity]), 1) + +// f32_cmp.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -Infinity]), 1) + +// f32_cmp.wast:444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., Infinity]), 1) + +// f32_cmp.wast:445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f32_cmp.wast:446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f32_cmp.wast:447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f32_cmp.wast:448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f32_cmp.wast:449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f32_cmp.wast:450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f32_cmp.wast:451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f32_cmp.wast:452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f32_cmp.wast:453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -0.]), 1) + +// f32_cmp.wast:454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 0.]), 1) + +// f32_cmp.wast:455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -0.]), 1) + +// f32_cmp.wast:456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 0.]), 1) + +// f32_cmp.wast:457 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -1.40129846432e-45]), 0) + +// f32_cmp.wast:458 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 1.40129846432e-45]), 1) + +// f32_cmp.wast:459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -1.40129846432e-45]), 1) + +// f32_cmp.wast:460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 1.40129846432e-45]), 0) + +// f32_cmp.wast:461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -1.17549435082e-38]), 1) + +// f32_cmp.wast:462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 1.17549435082e-38]), 1) + +// f32_cmp.wast:463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -1.17549435082e-38]), 1) + +// f32_cmp.wast:464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 1.17549435082e-38]), 1) + +// f32_cmp.wast:465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -0.5]), 1) + +// f32_cmp.wast:466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 0.5]), 1) + +// f32_cmp.wast:467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -0.5]), 1) + +// f32_cmp.wast:468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 0.5]), 1) + +// f32_cmp.wast:469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -1.]), 1) + +// f32_cmp.wast:470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 1.]), 1) + +// f32_cmp.wast:471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -1.]), 1) + +// f32_cmp.wast:472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 1.]), 1) + +// f32_cmp.wast:473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -6.28318548203]), 1) + +// f32_cmp.wast:474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 6.28318548203]), 1) + +// f32_cmp.wast:475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -6.28318548203]), 1) + +// f32_cmp.wast:476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 6.28318548203]), 1) + +// f32_cmp.wast:477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -3.40282346639e+38]), 1) + +// f32_cmp.wast:478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, 3.40282346639e+38]), 1) + +// f32_cmp.wast:479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -3.40282346639e+38]), 1) + +// f32_cmp.wast:480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, 3.40282346639e+38]), 1) + +// f32_cmp.wast:481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, -Infinity]), 1) + +// f32_cmp.wast:482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, Infinity]), 1) + +// f32_cmp.wast:483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, -Infinity]), 1) + +// f32_cmp.wast:484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, Infinity]), 1) + +// f32_cmp.wast:485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:491 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:492 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.40129846432e-45, NaN]), 1) + +// f32_cmp.wast:493 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -0.]), 1) + +// f32_cmp.wast:494 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 0.]), 1) + +// f32_cmp.wast:495 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -0.]), 1) + +// f32_cmp.wast:496 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 0.]), 1) + +// f32_cmp.wast:497 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:498 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -0.5]), 1) + +// f32_cmp.wast:506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 0.5]), 1) + +// f32_cmp.wast:507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -0.5]), 1) + +// f32_cmp.wast:508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 0.5]), 1) + +// f32_cmp.wast:509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -1.]), 1) + +// f32_cmp.wast:510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 1.]), 1) + +// f32_cmp.wast:511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -1.]), 1) + +// f32_cmp.wast:512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 1.]), 1) + +// f32_cmp.wast:513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -6.28318548203]), 1) + +// f32_cmp.wast:514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 6.28318548203]), 1) + +// f32_cmp.wast:515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -6.28318548203]), 1) + +// f32_cmp.wast:516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 6.28318548203]), 1) + +// f32_cmp.wast:517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, -Infinity]), 1) + +// f32_cmp.wast:522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, Infinity]), 1) + +// f32_cmp.wast:523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, -Infinity]), 1) + +// f32_cmp.wast:524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, Infinity]), 1) + +// f32_cmp.wast:525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:531 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:532 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.17549435082e-38, NaN]), 1) + +// f32_cmp.wast:533 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -0.]), 1) + +// f32_cmp.wast:534 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 0.]), 1) + +// f32_cmp.wast:535 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -0.]), 1) + +// f32_cmp.wast:536 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 0.]), 1) + +// f32_cmp.wast:537 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -1.40129846432e-45]), 1) + +// f32_cmp.wast:538 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 1.40129846432e-45]), 1) + +// f32_cmp.wast:539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -1.40129846432e-45]), 1) + +// f32_cmp.wast:540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 1.40129846432e-45]), 1) + +// f32_cmp.wast:541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -1.17549435082e-38]), 1) + +// f32_cmp.wast:542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 1.17549435082e-38]), 1) + +// f32_cmp.wast:543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -1.17549435082e-38]), 1) + +// f32_cmp.wast:544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 1.17549435082e-38]), 1) + +// f32_cmp.wast:545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -0.5]), 0) + +// f32_cmp.wast:546 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 0.5]), 1) + +// f32_cmp.wast:547 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -0.5]), 1) + +// f32_cmp.wast:548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 0.5]), 0) + +// f32_cmp.wast:549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -1.]), 1) + +// f32_cmp.wast:550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 1.]), 1) + +// f32_cmp.wast:551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -1.]), 1) + +// f32_cmp.wast:552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 1.]), 1) + +// f32_cmp.wast:553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -6.28318548203]), 1) + +// f32_cmp.wast:554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 6.28318548203]), 1) + +// f32_cmp.wast:555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -6.28318548203]), 1) + +// f32_cmp.wast:556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 6.28318548203]), 1) + +// f32_cmp.wast:557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -3.40282346639e+38]), 1) + +// f32_cmp.wast:558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 3.40282346639e+38]), 1) + +// f32_cmp.wast:559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -3.40282346639e+38]), 1) + +// f32_cmp.wast:560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 3.40282346639e+38]), 1) + +// f32_cmp.wast:561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -Infinity]), 1) + +// f32_cmp.wast:562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, Infinity]), 1) + +// f32_cmp.wast:563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -Infinity]), 1) + +// f32_cmp.wast:564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, Infinity]), 1) + +// f32_cmp.wast:565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f32_cmp.wast:566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f32_cmp.wast:567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f32_cmp.wast:568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f32_cmp.wast:569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f32_cmp.wast:570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f32_cmp.wast:571 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f32_cmp.wast:572 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f32_cmp.wast:573 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -0.]), 1) + +// f32_cmp.wast:574 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 0.]), 1) + +// f32_cmp.wast:575 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -0.]), 1) + +// f32_cmp.wast:576 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 0.]), 1) + +// f32_cmp.wast:577 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -1.40129846432e-45]), 1) + +// f32_cmp.wast:578 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 1.40129846432e-45]), 1) + +// f32_cmp.wast:579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -1.40129846432e-45]), 1) + +// f32_cmp.wast:580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 1.40129846432e-45]), 1) + +// f32_cmp.wast:581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -1.17549435082e-38]), 1) + +// f32_cmp.wast:582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 1.17549435082e-38]), 1) + +// f32_cmp.wast:583 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -1.17549435082e-38]), 1) + +// f32_cmp.wast:584 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 1.17549435082e-38]), 1) + +// f32_cmp.wast:585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -0.5]), 1) + +// f32_cmp.wast:586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 0.5]), 1) + +// f32_cmp.wast:587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -0.5]), 1) + +// f32_cmp.wast:588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 0.5]), 1) + +// f32_cmp.wast:589 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -1.]), 0) + +// f32_cmp.wast:590 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 1.]), 1) + +// f32_cmp.wast:591 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -1.]), 1) + +// f32_cmp.wast:592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 1.]), 0) + +// f32_cmp.wast:593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -6.28318548203]), 1) + +// f32_cmp.wast:594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 6.28318548203]), 1) + +// f32_cmp.wast:595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -6.28318548203]), 1) + +// f32_cmp.wast:596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 6.28318548203]), 1) + +// f32_cmp.wast:597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -3.40282346639e+38]), 1) + +// f32_cmp.wast:598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 3.40282346639e+38]), 1) + +// f32_cmp.wast:599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -3.40282346639e+38]), 1) + +// f32_cmp.wast:600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 3.40282346639e+38]), 1) + +// f32_cmp.wast:601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -Infinity]), 1) + +// f32_cmp.wast:602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., Infinity]), 1) + +// f32_cmp.wast:603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -Infinity]), 1) + +// f32_cmp.wast:604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., Infinity]), 1) + +// f32_cmp.wast:605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f32_cmp.wast:606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f32_cmp.wast:607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f32_cmp.wast:608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f32_cmp.wast:609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f32_cmp.wast:610 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f32_cmp.wast:611 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f32_cmp.wast:612 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f32_cmp.wast:613 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -0.]), 1) + +// f32_cmp.wast:614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 0.]), 1) + +// f32_cmp.wast:615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -0.]), 1) + +// f32_cmp.wast:616 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 0.]), 1) + +// f32_cmp.wast:617 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -1.40129846432e-45]), 1) + +// f32_cmp.wast:618 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 1.40129846432e-45]), 1) + +// f32_cmp.wast:619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -1.40129846432e-45]), 1) + +// f32_cmp.wast:620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 1.40129846432e-45]), 1) + +// f32_cmp.wast:621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -1.17549435082e-38]), 1) + +// f32_cmp.wast:622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 1.17549435082e-38]), 1) + +// f32_cmp.wast:623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -1.17549435082e-38]), 1) + +// f32_cmp.wast:624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 1.17549435082e-38]), 1) + +// f32_cmp.wast:625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -0.5]), 1) + +// f32_cmp.wast:626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 0.5]), 1) + +// f32_cmp.wast:627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -0.5]), 1) + +// f32_cmp.wast:628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 0.5]), 1) + +// f32_cmp.wast:629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -1.]), 1) + +// f32_cmp.wast:630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 1.]), 1) + +// f32_cmp.wast:631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -1.]), 1) + +// f32_cmp.wast:632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 1.]), 1) + +// f32_cmp.wast:633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -6.28318548203]), 0) + +// f32_cmp.wast:634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 6.28318548203]), 1) + +// f32_cmp.wast:635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -6.28318548203]), 1) + +// f32_cmp.wast:636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 6.28318548203]), 0) + +// f32_cmp.wast:637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -3.40282346639e+38]), 1) + +// f32_cmp.wast:638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, 3.40282346639e+38]), 1) + +// f32_cmp.wast:639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -3.40282346639e+38]), 1) + +// f32_cmp.wast:640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, 3.40282346639e+38]), 1) + +// f32_cmp.wast:641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, -Infinity]), 1) + +// f32_cmp.wast:642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, Infinity]), 1) + +// f32_cmp.wast:643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, -Infinity]), 1) + +// f32_cmp.wast:644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, Infinity]), 1) + +// f32_cmp.wast:645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, NaN]), 1) + +// f32_cmp.wast:646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, NaN]), 1) + +// f32_cmp.wast:647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, NaN]), 1) + +// f32_cmp.wast:648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318548203, NaN]), 1) + +// f32_cmp.wast:649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, NaN]), 1) + +// f32_cmp.wast:650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, NaN]), 1) + +// f32_cmp.wast:651 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, NaN]), 1) + +// f32_cmp.wast:652 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318548203, NaN]), 1) + +// f32_cmp.wast:653 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -0.]), 1) + +// f32_cmp.wast:654 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 0.]), 1) + +// f32_cmp.wast:655 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -0.]), 1) + +// f32_cmp.wast:656 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 0.]), 1) + +// f32_cmp.wast:657 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:658 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -0.5]), 1) + +// f32_cmp.wast:666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 0.5]), 1) + +// f32_cmp.wast:667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -0.5]), 1) + +// f32_cmp.wast:668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 0.5]), 1) + +// f32_cmp.wast:669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -1.]), 1) + +// f32_cmp.wast:670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 1.]), 1) + +// f32_cmp.wast:671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -1.]), 1) + +// f32_cmp.wast:672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 1.]), 1) + +// f32_cmp.wast:673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -6.28318548203]), 1) + +// f32_cmp.wast:674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 6.28318548203]), 1) + +// f32_cmp.wast:675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -6.28318548203]), 1) + +// f32_cmp.wast:676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 6.28318548203]), 1) + +// f32_cmp.wast:677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, -Infinity]), 1) + +// f32_cmp.wast:682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, Infinity]), 1) + +// f32_cmp.wast:683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, -Infinity]), 1) + +// f32_cmp.wast:684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, Infinity]), 1) + +// f32_cmp.wast:685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:691 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:692 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [3.40282346639e+38, NaN]), 1) + +// f32_cmp.wast:693 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -0.]), 1) + +// f32_cmp.wast:694 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 0.]), 1) + +// f32_cmp.wast:695 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -0.]), 1) + +// f32_cmp.wast:696 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 0.]), 1) + +// f32_cmp.wast:697 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -1.40129846432e-45]), 1) + +// f32_cmp.wast:698 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 1.40129846432e-45]), 1) + +// f32_cmp.wast:699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -1.40129846432e-45]), 1) + +// f32_cmp.wast:700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 1.40129846432e-45]), 1) + +// f32_cmp.wast:701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -1.17549435082e-38]), 1) + +// f32_cmp.wast:702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 1.17549435082e-38]), 1) + +// f32_cmp.wast:703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -1.17549435082e-38]), 1) + +// f32_cmp.wast:704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 1.17549435082e-38]), 1) + +// f32_cmp.wast:705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -0.5]), 1) + +// f32_cmp.wast:706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 0.5]), 1) + +// f32_cmp.wast:707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -0.5]), 1) + +// f32_cmp.wast:708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 0.5]), 1) + +// f32_cmp.wast:709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -1.]), 1) + +// f32_cmp.wast:710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 1.]), 1) + +// f32_cmp.wast:711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -1.]), 1) + +// f32_cmp.wast:712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 1.]), 1) + +// f32_cmp.wast:713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -6.28318548203]), 1) + +// f32_cmp.wast:714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 6.28318548203]), 1) + +// f32_cmp.wast:715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -6.28318548203]), 1) + +// f32_cmp.wast:716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 6.28318548203]), 1) + +// f32_cmp.wast:717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -3.40282346639e+38]), 1) + +// f32_cmp.wast:718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 3.40282346639e+38]), 1) + +// f32_cmp.wast:719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -3.40282346639e+38]), 1) + +// f32_cmp.wast:720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 3.40282346639e+38]), 1) + +// f32_cmp.wast:721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -Infinity]), 0) + +// f32_cmp.wast:722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, Infinity]), 1) + +// f32_cmp.wast:723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -Infinity]), 1) + +// f32_cmp.wast:724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, Infinity]), 0) + +// f32_cmp.wast:725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f32_cmp.wast:726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f32_cmp.wast:727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f32_cmp.wast:728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f32_cmp.wast:729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f32_cmp.wast:730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f32_cmp.wast:731 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f32_cmp.wast:732 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f32_cmp.wast:733 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f32_cmp.wast:734 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f32_cmp.wast:735 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f32_cmp.wast:736 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f32_cmp.wast:737 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f32_cmp.wast:738 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f32_cmp.wast:739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f32_cmp.wast:740 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f32_cmp.wast:741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.40129846432e-45]), 1) + +// f32_cmp.wast:742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.40129846432e-45]), 1) + +// f32_cmp.wast:743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.40129846432e-45]), 1) + +// f32_cmp.wast:744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.40129846432e-45]), 1) + +// f32_cmp.wast:745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.40129846432e-45]), 1) + +// f32_cmp.wast:746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.40129846432e-45]), 1) + +// f32_cmp.wast:747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.40129846432e-45]), 1) + +// f32_cmp.wast:748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.40129846432e-45]), 1) + +// f32_cmp.wast:749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.17549435082e-38]), 1) + +// f32_cmp.wast:750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.17549435082e-38]), 1) + +// f32_cmp.wast:751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.17549435082e-38]), 1) + +// f32_cmp.wast:752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.17549435082e-38]), 1) + +// f32_cmp.wast:753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.17549435082e-38]), 1) + +// f32_cmp.wast:754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.17549435082e-38]), 1) + +// f32_cmp.wast:755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.17549435082e-38]), 1) + +// f32_cmp.wast:756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.17549435082e-38]), 1) + +// f32_cmp.wast:757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f32_cmp.wast:758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f32_cmp.wast:759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f32_cmp.wast:760 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f32_cmp.wast:761 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f32_cmp.wast:762 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f32_cmp.wast:763 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f32_cmp.wast:764 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f32_cmp.wast:765 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f32_cmp.wast:766 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f32_cmp.wast:767 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f32_cmp.wast:768 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f32_cmp.wast:769 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f32_cmp.wast:770 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f32_cmp.wast:771 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f32_cmp.wast:772 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f32_cmp.wast:773 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318548203]), 1) + +// f32_cmp.wast:774 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318548203]), 1) + +// f32_cmp.wast:775 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318548203]), 1) + +// f32_cmp.wast:776 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318548203]), 1) + +// f32_cmp.wast:777 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318548203]), 1) + +// f32_cmp.wast:778 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318548203]), 1) + +// f32_cmp.wast:779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318548203]), 1) + +// f32_cmp.wast:780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318548203]), 1) + +// f32_cmp.wast:781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -3.40282346639e+38]), 1) + +// f32_cmp.wast:782 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -3.40282346639e+38]), 1) + +// f32_cmp.wast:783 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 3.40282346639e+38]), 1) + +// f32_cmp.wast:784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 3.40282346639e+38]), 1) + +// f32_cmp.wast:785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -3.40282346639e+38]), 1) + +// f32_cmp.wast:786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -3.40282346639e+38]), 1) + +// f32_cmp.wast:787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 3.40282346639e+38]), 1) + +// f32_cmp.wast:788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 3.40282346639e+38]), 1) + +// f32_cmp.wast:789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f32_cmp.wast:790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f32_cmp.wast:791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f32_cmp.wast:792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f32_cmp.wast:793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f32_cmp.wast:794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f32_cmp.wast:795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f32_cmp.wast:796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f32_cmp.wast:797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:798 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:799 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:804 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:805 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:806 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:807 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:808 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:809 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:810 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:811 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:812 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f32_cmp.wast:813 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -0.]), 0) + +// f32_cmp.wast:814 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 0.]), 0) + +// f32_cmp.wast:815 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -0.]), 0) + +// f32_cmp.wast:816 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 0.]), 0) + +// f32_cmp.wast:817 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -1.40129846432e-45]), 0) + +// f32_cmp.wast:818 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 1.40129846432e-45]), 1) + +// f32_cmp.wast:819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -1.40129846432e-45]), 0) + +// f32_cmp.wast:820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 1.40129846432e-45]), 1) + +// f32_cmp.wast:821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -1.17549435082e-38]), 0) + +// f32_cmp.wast:822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 1.17549435082e-38]), 1) + +// f32_cmp.wast:823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -1.17549435082e-38]), 0) + +// f32_cmp.wast:824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 1.17549435082e-38]), 1) + +// f32_cmp.wast:825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -0.5]), 0) + +// f32_cmp.wast:826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 0.5]), 1) + +// f32_cmp.wast:827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -0.5]), 0) + +// f32_cmp.wast:828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 0.5]), 1) + +// f32_cmp.wast:829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -1.]), 0) + +// f32_cmp.wast:830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 1.]), 1) + +// f32_cmp.wast:831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -1.]), 0) + +// f32_cmp.wast:832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 1.]), 1) + +// f32_cmp.wast:833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -6.28318548203]), 0) + +// f32_cmp.wast:834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 6.28318548203]), 1) + +// f32_cmp.wast:835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -6.28318548203]), 0) + +// f32_cmp.wast:836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 6.28318548203]), 1) + +// f32_cmp.wast:837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -3.40282346639e+38]), 0) + +// f32_cmp.wast:838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 3.40282346639e+38]), 1) + +// f32_cmp.wast:839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -3.40282346639e+38]), 0) + +// f32_cmp.wast:840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 3.40282346639e+38]), 1) + +// f32_cmp.wast:841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -Infinity]), 0) + +// f32_cmp.wast:842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., Infinity]), 1) + +// f32_cmp.wast:843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -Infinity]), 0) + +// f32_cmp.wast:844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., Infinity]), 1) + +// f32_cmp.wast:845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f32_cmp.wast:846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f32_cmp.wast:847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f32_cmp.wast:848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f32_cmp.wast:849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f32_cmp.wast:850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f32_cmp.wast:851 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f32_cmp.wast:852 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f32_cmp.wast:853 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -0.]), 1) + +// f32_cmp.wast:854 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 0.]), 1) + +// f32_cmp.wast:855 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -0.]), 0) + +// f32_cmp.wast:856 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 0.]), 0) + +// f32_cmp.wast:857 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -1.40129846432e-45]), 0) + +// f32_cmp.wast:858 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 1.40129846432e-45]), 1) + +// f32_cmp.wast:859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -1.40129846432e-45]), 0) + +// f32_cmp.wast:860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 1.40129846432e-45]), 0) + +// f32_cmp.wast:861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -1.17549435082e-38]), 0) + +// f32_cmp.wast:862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 1.17549435082e-38]), 1) + +// f32_cmp.wast:863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -1.17549435082e-38]), 0) + +// f32_cmp.wast:864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 1.17549435082e-38]), 1) + +// f32_cmp.wast:865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -0.5]), 0) + +// f32_cmp.wast:866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 0.5]), 1) + +// f32_cmp.wast:867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -0.5]), 0) + +// f32_cmp.wast:868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 0.5]), 1) + +// f32_cmp.wast:869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -1.]), 0) + +// f32_cmp.wast:870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 1.]), 1) + +// f32_cmp.wast:871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -1.]), 0) + +// f32_cmp.wast:872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 1.]), 1) + +// f32_cmp.wast:873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -6.28318548203]), 0) + +// f32_cmp.wast:874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 6.28318548203]), 1) + +// f32_cmp.wast:875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -6.28318548203]), 0) + +// f32_cmp.wast:876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 6.28318548203]), 1) + +// f32_cmp.wast:877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -3.40282346639e+38]), 0) + +// f32_cmp.wast:878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, 3.40282346639e+38]), 1) + +// f32_cmp.wast:879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -3.40282346639e+38]), 0) + +// f32_cmp.wast:880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, 3.40282346639e+38]), 1) + +// f32_cmp.wast:881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, -Infinity]), 0) + +// f32_cmp.wast:882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, Infinity]), 1) + +// f32_cmp.wast:883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, -Infinity]), 0) + +// f32_cmp.wast:884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, Infinity]), 1) + +// f32_cmp.wast:885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:891 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:892 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:893 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -0.]), 1) + +// f32_cmp.wast:894 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 0.]), 1) + +// f32_cmp.wast:895 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -0.]), 0) + +// f32_cmp.wast:896 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 0.]), 0) + +// f32_cmp.wast:897 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:898 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -0.5]), 0) + +// f32_cmp.wast:906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 0.5]), 1) + +// f32_cmp.wast:907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -0.5]), 0) + +// f32_cmp.wast:908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 0.5]), 1) + +// f32_cmp.wast:909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -1.]), 0) + +// f32_cmp.wast:910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 1.]), 1) + +// f32_cmp.wast:911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -1.]), 0) + +// f32_cmp.wast:912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 1.]), 1) + +// f32_cmp.wast:913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -6.28318548203]), 0) + +// f32_cmp.wast:914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 6.28318548203]), 1) + +// f32_cmp.wast:915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -6.28318548203]), 0) + +// f32_cmp.wast:916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 6.28318548203]), 1) + +// f32_cmp.wast:917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, -Infinity]), 0) + +// f32_cmp.wast:922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, Infinity]), 1) + +// f32_cmp.wast:923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, -Infinity]), 0) + +// f32_cmp.wast:924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, Infinity]), 1) + +// f32_cmp.wast:925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:931 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:932 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:933 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -0.]), 1) + +// f32_cmp.wast:934 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 0.]), 1) + +// f32_cmp.wast:935 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -0.]), 0) + +// f32_cmp.wast:936 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 0.]), 0) + +// f32_cmp.wast:937 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -1.40129846432e-45]), 1) + +// f32_cmp.wast:938 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 1.40129846432e-45]), 1) + +// f32_cmp.wast:939 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -1.40129846432e-45]), 0) + +// f32_cmp.wast:940 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 1.40129846432e-45]), 0) + +// f32_cmp.wast:941 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -1.17549435082e-38]), 1) + +// f32_cmp.wast:942 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 1.17549435082e-38]), 1) + +// f32_cmp.wast:943 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -1.17549435082e-38]), 0) + +// f32_cmp.wast:944 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 1.17549435082e-38]), 0) + +// f32_cmp.wast:945 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -0.5]), 0) + +// f32_cmp.wast:946 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 0.5]), 1) + +// f32_cmp.wast:947 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -0.5]), 0) + +// f32_cmp.wast:948 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 0.5]), 0) + +// f32_cmp.wast:949 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -1.]), 0) + +// f32_cmp.wast:950 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 1.]), 1) + +// f32_cmp.wast:951 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -1.]), 0) + +// f32_cmp.wast:952 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 1.]), 1) + +// f32_cmp.wast:953 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -6.28318548203]), 0) + +// f32_cmp.wast:954 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 6.28318548203]), 1) + +// f32_cmp.wast:955 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -6.28318548203]), 0) + +// f32_cmp.wast:956 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 6.28318548203]), 1) + +// f32_cmp.wast:957 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -3.40282346639e+38]), 0) + +// f32_cmp.wast:958 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 3.40282346639e+38]), 1) + +// f32_cmp.wast:959 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -3.40282346639e+38]), 0) + +// f32_cmp.wast:960 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 3.40282346639e+38]), 1) + +// f32_cmp.wast:961 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -Infinity]), 0) + +// f32_cmp.wast:962 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, Infinity]), 1) + +// f32_cmp.wast:963 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -Infinity]), 0) + +// f32_cmp.wast:964 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, Infinity]), 1) + +// f32_cmp.wast:965 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f32_cmp.wast:966 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f32_cmp.wast:967 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f32_cmp.wast:968 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f32_cmp.wast:969 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f32_cmp.wast:970 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f32_cmp.wast:971 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f32_cmp.wast:972 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f32_cmp.wast:973 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -0.]), 1) + +// f32_cmp.wast:974 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 0.]), 1) + +// f32_cmp.wast:975 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -0.]), 0) + +// f32_cmp.wast:976 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 0.]), 0) + +// f32_cmp.wast:977 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -1.40129846432e-45]), 1) + +// f32_cmp.wast:978 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 1.40129846432e-45]), 1) + +// f32_cmp.wast:979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -1.40129846432e-45]), 0) + +// f32_cmp.wast:980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 1.40129846432e-45]), 0) + +// f32_cmp.wast:981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -1.17549435082e-38]), 1) + +// f32_cmp.wast:982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 1.17549435082e-38]), 1) + +// f32_cmp.wast:983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -1.17549435082e-38]), 0) + +// f32_cmp.wast:984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 1.17549435082e-38]), 0) + +// f32_cmp.wast:985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -0.5]), 1) + +// f32_cmp.wast:986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 0.5]), 1) + +// f32_cmp.wast:987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -0.5]), 0) + +// f32_cmp.wast:988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 0.5]), 0) + +// f32_cmp.wast:989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -1.]), 0) + +// f32_cmp.wast:990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 1.]), 1) + +// f32_cmp.wast:991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -1.]), 0) + +// f32_cmp.wast:992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 1.]), 0) + +// f32_cmp.wast:993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -6.28318548203]), 0) + +// f32_cmp.wast:994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 6.28318548203]), 1) + +// f32_cmp.wast:995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -6.28318548203]), 0) + +// f32_cmp.wast:996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 6.28318548203]), 1) + +// f32_cmp.wast:997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -3.40282346639e+38]), 0) + +// f32_cmp.wast:998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 3.40282346639e+38]), 1) + +// f32_cmp.wast:999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -3.40282346639e+38]), 0) + +// f32_cmp.wast:1000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 3.40282346639e+38]), 1) + +// f32_cmp.wast:1001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -Infinity]), 0) + +// f32_cmp.wast:1002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., Infinity]), 1) + +// f32_cmp.wast:1003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -Infinity]), 0) + +// f32_cmp.wast:1004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., Infinity]), 1) + +// f32_cmp.wast:1005 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f32_cmp.wast:1006 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f32_cmp.wast:1007 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f32_cmp.wast:1008 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f32_cmp.wast:1009 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f32_cmp.wast:1010 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f32_cmp.wast:1011 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f32_cmp.wast:1012 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f32_cmp.wast:1013 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -0.]), 1) + +// f32_cmp.wast:1014 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 0.]), 1) + +// f32_cmp.wast:1015 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -0.]), 0) + +// f32_cmp.wast:1016 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 0.]), 0) + +// f32_cmp.wast:1017 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1018 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -0.5]), 1) + +// f32_cmp.wast:1026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 0.5]), 1) + +// f32_cmp.wast:1027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -0.5]), 0) + +// f32_cmp.wast:1028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 0.5]), 0) + +// f32_cmp.wast:1029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -1.]), 1) + +// f32_cmp.wast:1030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 1.]), 1) + +// f32_cmp.wast:1031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -1.]), 0) + +// f32_cmp.wast:1032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 1.]), 0) + +// f32_cmp.wast:1033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -6.28318548203]), 0) + +// f32_cmp.wast:1034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 6.28318548203]), 1) + +// f32_cmp.wast:1035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -6.28318548203]), 0) + +// f32_cmp.wast:1036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 6.28318548203]), 0) + +// f32_cmp.wast:1037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, -Infinity]), 0) + +// f32_cmp.wast:1042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, Infinity]), 1) + +// f32_cmp.wast:1043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, -Infinity]), 0) + +// f32_cmp.wast:1044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, Infinity]), 1) + +// f32_cmp.wast:1045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1051 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1052 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1053 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -0.]), 1) + +// f32_cmp.wast:1054 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 0.]), 1) + +// f32_cmp.wast:1055 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -0.]), 0) + +// f32_cmp.wast:1056 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 0.]), 0) + +// f32_cmp.wast:1057 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1058 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -0.5]), 1) + +// f32_cmp.wast:1066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 0.5]), 1) + +// f32_cmp.wast:1067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -0.5]), 0) + +// f32_cmp.wast:1068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 0.5]), 0) + +// f32_cmp.wast:1069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -1.]), 1) + +// f32_cmp.wast:1070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 1.]), 1) + +// f32_cmp.wast:1071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -1.]), 0) + +// f32_cmp.wast:1072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 1.]), 0) + +// f32_cmp.wast:1073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -6.28318548203]), 1) + +// f32_cmp.wast:1074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 6.28318548203]), 1) + +// f32_cmp.wast:1075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -6.28318548203]), 0) + +// f32_cmp.wast:1076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 6.28318548203]), 0) + +// f32_cmp.wast:1077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, -Infinity]), 0) + +// f32_cmp.wast:1082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, Infinity]), 1) + +// f32_cmp.wast:1083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, -Infinity]), 0) + +// f32_cmp.wast:1084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, Infinity]), 1) + +// f32_cmp.wast:1085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1091 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1092 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1093 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -0.]), 1) + +// f32_cmp.wast:1094 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 0.]), 1) + +// f32_cmp.wast:1095 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -0.]), 0) + +// f32_cmp.wast:1096 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 0.]), 0) + +// f32_cmp.wast:1097 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1098 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -0.5]), 1) + +// f32_cmp.wast:1106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 0.5]), 1) + +// f32_cmp.wast:1107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -0.5]), 0) + +// f32_cmp.wast:1108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 0.5]), 0) + +// f32_cmp.wast:1109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -1.]), 1) + +// f32_cmp.wast:1110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 1.]), 1) + +// f32_cmp.wast:1111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -1.]), 0) + +// f32_cmp.wast:1112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 1.]), 0) + +// f32_cmp.wast:1113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -6.28318548203]), 1) + +// f32_cmp.wast:1114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 6.28318548203]), 1) + +// f32_cmp.wast:1115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -6.28318548203]), 0) + +// f32_cmp.wast:1116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 6.28318548203]), 0) + +// f32_cmp.wast:1117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -Infinity]), 0) + +// f32_cmp.wast:1122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, Infinity]), 1) + +// f32_cmp.wast:1123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -Infinity]), 0) + +// f32_cmp.wast:1124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, Infinity]), 0) + +// f32_cmp.wast:1125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f32_cmp.wast:1134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f32_cmp.wast:1135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f32_cmp.wast:1136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f32_cmp.wast:1137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f32_cmp.wast:1138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f32_cmp.wast:1139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f32_cmp.wast:1140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f32_cmp.wast:1141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f32_cmp.wast:1166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f32_cmp.wast:1167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f32_cmp.wast:1168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f32_cmp.wast:1169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f32_cmp.wast:1170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f32_cmp.wast:1171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f32_cmp.wast:1172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f32_cmp.wast:1173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f32_cmp.wast:1213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -0.]), 1) + +// f32_cmp.wast:1214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 0.]), 1) + +// f32_cmp.wast:1215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -0.]), 1) + +// f32_cmp.wast:1216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 0.]), 1) + +// f32_cmp.wast:1217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -1.40129846432e-45]), 0) + +// f32_cmp.wast:1218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 1.40129846432e-45]), 1) + +// f32_cmp.wast:1219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -1.40129846432e-45]), 0) + +// f32_cmp.wast:1220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 1.40129846432e-45]), 1) + +// f32_cmp.wast:1221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -1.17549435082e-38]), 0) + +// f32_cmp.wast:1222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 1.17549435082e-38]), 1) + +// f32_cmp.wast:1223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -1.17549435082e-38]), 0) + +// f32_cmp.wast:1224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 1.17549435082e-38]), 1) + +// f32_cmp.wast:1225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -0.5]), 0) + +// f32_cmp.wast:1226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 0.5]), 1) + +// f32_cmp.wast:1227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -0.5]), 0) + +// f32_cmp.wast:1228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 0.5]), 1) + +// f32_cmp.wast:1229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -1.]), 0) + +// f32_cmp.wast:1230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 1.]), 1) + +// f32_cmp.wast:1231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -1.]), 0) + +// f32_cmp.wast:1232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 1.]), 1) + +// f32_cmp.wast:1233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -6.28318548203]), 0) + +// f32_cmp.wast:1234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 6.28318548203]), 1) + +// f32_cmp.wast:1235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -6.28318548203]), 0) + +// f32_cmp.wast:1236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 6.28318548203]), 1) + +// f32_cmp.wast:1237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -3.40282346639e+38]), 0) + +// f32_cmp.wast:1238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 3.40282346639e+38]), 1) + +// f32_cmp.wast:1239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -3.40282346639e+38]), 0) + +// f32_cmp.wast:1240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 3.40282346639e+38]), 1) + +// f32_cmp.wast:1241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -Infinity]), 0) + +// f32_cmp.wast:1242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., Infinity]), 1) + +// f32_cmp.wast:1243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -Infinity]), 0) + +// f32_cmp.wast:1244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., Infinity]), 1) + +// f32_cmp.wast:1245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f32_cmp.wast:1246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f32_cmp.wast:1247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f32_cmp.wast:1248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f32_cmp.wast:1249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f32_cmp.wast:1250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f32_cmp.wast:1251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f32_cmp.wast:1252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f32_cmp.wast:1253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -0.]), 1) + +// f32_cmp.wast:1254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 0.]), 1) + +// f32_cmp.wast:1255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -0.]), 0) + +// f32_cmp.wast:1256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 0.]), 0) + +// f32_cmp.wast:1257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -0.5]), 0) + +// f32_cmp.wast:1266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 0.5]), 1) + +// f32_cmp.wast:1267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -0.5]), 0) + +// f32_cmp.wast:1268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 0.5]), 1) + +// f32_cmp.wast:1269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -1.]), 0) + +// f32_cmp.wast:1270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 1.]), 1) + +// f32_cmp.wast:1271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -1.]), 0) + +// f32_cmp.wast:1272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 1.]), 1) + +// f32_cmp.wast:1273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -6.28318548203]), 0) + +// f32_cmp.wast:1274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 6.28318548203]), 1) + +// f32_cmp.wast:1275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -6.28318548203]), 0) + +// f32_cmp.wast:1276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 6.28318548203]), 1) + +// f32_cmp.wast:1277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, -Infinity]), 0) + +// f32_cmp.wast:1282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, Infinity]), 1) + +// f32_cmp.wast:1283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, -Infinity]), 0) + +// f32_cmp.wast:1284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, Infinity]), 1) + +// f32_cmp.wast:1285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -0.]), 1) + +// f32_cmp.wast:1294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 0.]), 1) + +// f32_cmp.wast:1295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -0.]), 0) + +// f32_cmp.wast:1296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 0.]), 0) + +// f32_cmp.wast:1297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -0.5]), 0) + +// f32_cmp.wast:1306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 0.5]), 1) + +// f32_cmp.wast:1307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -0.5]), 0) + +// f32_cmp.wast:1308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 0.5]), 1) + +// f32_cmp.wast:1309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -1.]), 0) + +// f32_cmp.wast:1310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 1.]), 1) + +// f32_cmp.wast:1311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -1.]), 0) + +// f32_cmp.wast:1312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 1.]), 1) + +// f32_cmp.wast:1313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -6.28318548203]), 0) + +// f32_cmp.wast:1314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 6.28318548203]), 1) + +// f32_cmp.wast:1315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -6.28318548203]), 0) + +// f32_cmp.wast:1316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 6.28318548203]), 1) + +// f32_cmp.wast:1317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, -Infinity]), 0) + +// f32_cmp.wast:1322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, Infinity]), 1) + +// f32_cmp.wast:1323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, -Infinity]), 0) + +// f32_cmp.wast:1324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, Infinity]), 1) + +// f32_cmp.wast:1325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -0.]), 1) + +// f32_cmp.wast:1334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 0.]), 1) + +// f32_cmp.wast:1335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -0.]), 0) + +// f32_cmp.wast:1336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 0.]), 0) + +// f32_cmp.wast:1337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -0.5]), 1) + +// f32_cmp.wast:1346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 0.5]), 1) + +// f32_cmp.wast:1347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -0.5]), 0) + +// f32_cmp.wast:1348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 0.5]), 1) + +// f32_cmp.wast:1349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -1.]), 0) + +// f32_cmp.wast:1350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 1.]), 1) + +// f32_cmp.wast:1351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -1.]), 0) + +// f32_cmp.wast:1352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 1.]), 1) + +// f32_cmp.wast:1353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -6.28318548203]), 0) + +// f32_cmp.wast:1354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 6.28318548203]), 1) + +// f32_cmp.wast:1355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -6.28318548203]), 0) + +// f32_cmp.wast:1356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 6.28318548203]), 1) + +// f32_cmp.wast:1357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -Infinity]), 0) + +// f32_cmp.wast:1362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, Infinity]), 1) + +// f32_cmp.wast:1363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -Infinity]), 0) + +// f32_cmp.wast:1364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, Infinity]), 1) + +// f32_cmp.wast:1365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f32_cmp.wast:1366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f32_cmp.wast:1367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f32_cmp.wast:1368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f32_cmp.wast:1369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f32_cmp.wast:1370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f32_cmp.wast:1371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f32_cmp.wast:1372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f32_cmp.wast:1373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -0.]), 1) + +// f32_cmp.wast:1374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 0.]), 1) + +// f32_cmp.wast:1375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -0.]), 0) + +// f32_cmp.wast:1376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 0.]), 0) + +// f32_cmp.wast:1377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -1.40129846432e-45]), 1) + +// f32_cmp.wast:1378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 1.40129846432e-45]), 1) + +// f32_cmp.wast:1379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -1.40129846432e-45]), 0) + +// f32_cmp.wast:1380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 1.40129846432e-45]), 0) + +// f32_cmp.wast:1381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -1.17549435082e-38]), 1) + +// f32_cmp.wast:1382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 1.17549435082e-38]), 1) + +// f32_cmp.wast:1383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -1.17549435082e-38]), 0) + +// f32_cmp.wast:1384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 1.17549435082e-38]), 0) + +// f32_cmp.wast:1385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -0.5]), 1) + +// f32_cmp.wast:1386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 0.5]), 1) + +// f32_cmp.wast:1387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -0.5]), 0) + +// f32_cmp.wast:1388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 0.5]), 0) + +// f32_cmp.wast:1389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -1.]), 1) + +// f32_cmp.wast:1390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 1.]), 1) + +// f32_cmp.wast:1391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -1.]), 0) + +// f32_cmp.wast:1392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 1.]), 1) + +// f32_cmp.wast:1393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -6.28318548203]), 0) + +// f32_cmp.wast:1394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 6.28318548203]), 1) + +// f32_cmp.wast:1395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -6.28318548203]), 0) + +// f32_cmp.wast:1396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 6.28318548203]), 1) + +// f32_cmp.wast:1397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -3.40282346639e+38]), 0) + +// f32_cmp.wast:1398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 3.40282346639e+38]), 1) + +// f32_cmp.wast:1399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -3.40282346639e+38]), 0) + +// f32_cmp.wast:1400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 3.40282346639e+38]), 1) + +// f32_cmp.wast:1401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -Infinity]), 0) + +// f32_cmp.wast:1402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., Infinity]), 1) + +// f32_cmp.wast:1403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -Infinity]), 0) + +// f32_cmp.wast:1404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., Infinity]), 1) + +// f32_cmp.wast:1405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f32_cmp.wast:1406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f32_cmp.wast:1407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f32_cmp.wast:1408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f32_cmp.wast:1409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f32_cmp.wast:1410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f32_cmp.wast:1411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f32_cmp.wast:1412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f32_cmp.wast:1413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -0.]), 1) + +// f32_cmp.wast:1414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 0.]), 1) + +// f32_cmp.wast:1415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -0.]), 0) + +// f32_cmp.wast:1416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 0.]), 0) + +// f32_cmp.wast:1417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -0.5]), 1) + +// f32_cmp.wast:1426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 0.5]), 1) + +// f32_cmp.wast:1427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -0.5]), 0) + +// f32_cmp.wast:1428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 0.5]), 0) + +// f32_cmp.wast:1429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -1.]), 1) + +// f32_cmp.wast:1430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 1.]), 1) + +// f32_cmp.wast:1431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -1.]), 0) + +// f32_cmp.wast:1432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 1.]), 0) + +// f32_cmp.wast:1433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -6.28318548203]), 1) + +// f32_cmp.wast:1434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 6.28318548203]), 1) + +// f32_cmp.wast:1435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -6.28318548203]), 0) + +// f32_cmp.wast:1436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 6.28318548203]), 1) + +// f32_cmp.wast:1437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, -Infinity]), 0) + +// f32_cmp.wast:1442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, Infinity]), 1) + +// f32_cmp.wast:1443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, -Infinity]), 0) + +// f32_cmp.wast:1444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, Infinity]), 1) + +// f32_cmp.wast:1445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -0.]), 1) + +// f32_cmp.wast:1454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 0.]), 1) + +// f32_cmp.wast:1455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -0.]), 0) + +// f32_cmp.wast:1456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 0.]), 0) + +// f32_cmp.wast:1457 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1458 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -0.5]), 1) + +// f32_cmp.wast:1466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 0.5]), 1) + +// f32_cmp.wast:1467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -0.5]), 0) + +// f32_cmp.wast:1468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 0.5]), 0) + +// f32_cmp.wast:1469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -1.]), 1) + +// f32_cmp.wast:1470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 1.]), 1) + +// f32_cmp.wast:1471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -1.]), 0) + +// f32_cmp.wast:1472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 1.]), 0) + +// f32_cmp.wast:1473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -6.28318548203]), 1) + +// f32_cmp.wast:1474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 6.28318548203]), 1) + +// f32_cmp.wast:1475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -6.28318548203]), 0) + +// f32_cmp.wast:1476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 6.28318548203]), 0) + +// f32_cmp.wast:1477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, -Infinity]), 0) + +// f32_cmp.wast:1482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, Infinity]), 1) + +// f32_cmp.wast:1483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, -Infinity]), 0) + +// f32_cmp.wast:1484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, Infinity]), 1) + +// f32_cmp.wast:1485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1491 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1492 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1493 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -0.]), 1) + +// f32_cmp.wast:1494 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 0.]), 1) + +// f32_cmp.wast:1495 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -0.]), 0) + +// f32_cmp.wast:1496 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 0.]), 0) + +// f32_cmp.wast:1497 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1498 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -0.5]), 1) + +// f32_cmp.wast:1506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 0.5]), 1) + +// f32_cmp.wast:1507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -0.5]), 0) + +// f32_cmp.wast:1508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 0.5]), 0) + +// f32_cmp.wast:1509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -1.]), 1) + +// f32_cmp.wast:1510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 1.]), 1) + +// f32_cmp.wast:1511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -1.]), 0) + +// f32_cmp.wast:1512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 1.]), 0) + +// f32_cmp.wast:1513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -6.28318548203]), 1) + +// f32_cmp.wast:1514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 6.28318548203]), 1) + +// f32_cmp.wast:1515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -6.28318548203]), 0) + +// f32_cmp.wast:1516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 6.28318548203]), 0) + +// f32_cmp.wast:1517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -Infinity]), 1) + +// f32_cmp.wast:1522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, Infinity]), 1) + +// f32_cmp.wast:1523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -Infinity]), 0) + +// f32_cmp.wast:1524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, Infinity]), 1) + +// f32_cmp.wast:1525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f32_cmp.wast:1530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f32_cmp.wast:1531 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f32_cmp.wast:1532 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f32_cmp.wast:1533 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f32_cmp.wast:1534 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f32_cmp.wast:1535 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f32_cmp.wast:1536 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f32_cmp.wast:1537 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f32_cmp.wast:1538 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f32_cmp.wast:1539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f32_cmp.wast:1540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f32_cmp.wast:1541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1546 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1547 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f32_cmp.wast:1558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f32_cmp.wast:1559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f32_cmp.wast:1560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f32_cmp.wast:1561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f32_cmp.wast:1562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f32_cmp.wast:1563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f32_cmp.wast:1564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f32_cmp.wast:1565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f32_cmp.wast:1566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f32_cmp.wast:1567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f32_cmp.wast:1568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f32_cmp.wast:1569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f32_cmp.wast:1570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f32_cmp.wast:1571 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f32_cmp.wast:1572 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f32_cmp.wast:1573 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1574 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1575 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1576 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1577 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1578 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1583 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1584 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1589 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1590 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1591 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f32_cmp.wast:1592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f32_cmp.wast:1593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f32_cmp.wast:1596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f32_cmp.wast:1597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1610 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1611 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1612 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f32_cmp.wast:1613 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -0.]), 0) + +// f32_cmp.wast:1614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 0.]), 0) + +// f32_cmp.wast:1615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -0.]), 0) + +// f32_cmp.wast:1616 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 0.]), 0) + +// f32_cmp.wast:1617 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -1.40129846432e-45]), 1) + +// f32_cmp.wast:1618 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 1.40129846432e-45]), 0) + +// f32_cmp.wast:1619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -1.40129846432e-45]), 1) + +// f32_cmp.wast:1620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 1.40129846432e-45]), 0) + +// f32_cmp.wast:1621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -1.17549435082e-38]), 1) + +// f32_cmp.wast:1622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 1.17549435082e-38]), 0) + +// f32_cmp.wast:1623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -1.17549435082e-38]), 1) + +// f32_cmp.wast:1624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 1.17549435082e-38]), 0) + +// f32_cmp.wast:1625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -0.5]), 1) + +// f32_cmp.wast:1626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 0.5]), 0) + +// f32_cmp.wast:1627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -0.5]), 1) + +// f32_cmp.wast:1628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 0.5]), 0) + +// f32_cmp.wast:1629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -1.]), 1) + +// f32_cmp.wast:1630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 1.]), 0) + +// f32_cmp.wast:1631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -1.]), 1) + +// f32_cmp.wast:1632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 1.]), 0) + +// f32_cmp.wast:1633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -6.28318548203]), 1) + +// f32_cmp.wast:1634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 6.28318548203]), 0) + +// f32_cmp.wast:1635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -6.28318548203]), 1) + +// f32_cmp.wast:1636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 6.28318548203]), 0) + +// f32_cmp.wast:1637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -3.40282346639e+38]), 1) + +// f32_cmp.wast:1638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 3.40282346639e+38]), 0) + +// f32_cmp.wast:1639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -3.40282346639e+38]), 1) + +// f32_cmp.wast:1640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 3.40282346639e+38]), 0) + +// f32_cmp.wast:1641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -Infinity]), 1) + +// f32_cmp.wast:1642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., Infinity]), 0) + +// f32_cmp.wast:1643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -Infinity]), 1) + +// f32_cmp.wast:1644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., Infinity]), 0) + +// f32_cmp.wast:1645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f32_cmp.wast:1646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f32_cmp.wast:1647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f32_cmp.wast:1648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f32_cmp.wast:1649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f32_cmp.wast:1650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f32_cmp.wast:1651 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f32_cmp.wast:1652 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f32_cmp.wast:1653 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -0.]), 0) + +// f32_cmp.wast:1654 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 0.]), 0) + +// f32_cmp.wast:1655 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -0.]), 1) + +// f32_cmp.wast:1656 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 0.]), 1) + +// f32_cmp.wast:1657 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1658 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -0.5]), 1) + +// f32_cmp.wast:1666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 0.5]), 0) + +// f32_cmp.wast:1667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -0.5]), 1) + +// f32_cmp.wast:1668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 0.5]), 0) + +// f32_cmp.wast:1669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -1.]), 1) + +// f32_cmp.wast:1670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 1.]), 0) + +// f32_cmp.wast:1671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -1.]), 1) + +// f32_cmp.wast:1672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 1.]), 0) + +// f32_cmp.wast:1673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -6.28318548203]), 1) + +// f32_cmp.wast:1674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 6.28318548203]), 0) + +// f32_cmp.wast:1675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -6.28318548203]), 1) + +// f32_cmp.wast:1676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 6.28318548203]), 0) + +// f32_cmp.wast:1677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, -Infinity]), 1) + +// f32_cmp.wast:1682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, Infinity]), 0) + +// f32_cmp.wast:1683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, -Infinity]), 1) + +// f32_cmp.wast:1684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, Infinity]), 0) + +// f32_cmp.wast:1685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1691 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1692 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:1693 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -0.]), 0) + +// f32_cmp.wast:1694 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 0.]), 0) + +// f32_cmp.wast:1695 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -0.]), 1) + +// f32_cmp.wast:1696 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 0.]), 1) + +// f32_cmp.wast:1697 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1698 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -0.5]), 1) + +// f32_cmp.wast:1706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 0.5]), 0) + +// f32_cmp.wast:1707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -0.5]), 1) + +// f32_cmp.wast:1708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 0.5]), 0) + +// f32_cmp.wast:1709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -1.]), 1) + +// f32_cmp.wast:1710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 1.]), 0) + +// f32_cmp.wast:1711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -1.]), 1) + +// f32_cmp.wast:1712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 1.]), 0) + +// f32_cmp.wast:1713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -6.28318548203]), 1) + +// f32_cmp.wast:1714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 6.28318548203]), 0) + +// f32_cmp.wast:1715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -6.28318548203]), 1) + +// f32_cmp.wast:1716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 6.28318548203]), 0) + +// f32_cmp.wast:1717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, -Infinity]), 1) + +// f32_cmp.wast:1722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, Infinity]), 0) + +// f32_cmp.wast:1723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, -Infinity]), 1) + +// f32_cmp.wast:1724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, Infinity]), 0) + +// f32_cmp.wast:1725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1731 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1732 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:1733 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -0.]), 0) + +// f32_cmp.wast:1734 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 0.]), 0) + +// f32_cmp.wast:1735 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -0.]), 1) + +// f32_cmp.wast:1736 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 0.]), 1) + +// f32_cmp.wast:1737 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1738 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1740 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -0.5]), 0) + +// f32_cmp.wast:1746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 0.5]), 0) + +// f32_cmp.wast:1747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -0.5]), 1) + +// f32_cmp.wast:1748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 0.5]), 0) + +// f32_cmp.wast:1749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -1.]), 1) + +// f32_cmp.wast:1750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 1.]), 0) + +// f32_cmp.wast:1751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -1.]), 1) + +// f32_cmp.wast:1752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 1.]), 0) + +// f32_cmp.wast:1753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -6.28318548203]), 1) + +// f32_cmp.wast:1754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 6.28318548203]), 0) + +// f32_cmp.wast:1755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -6.28318548203]), 1) + +// f32_cmp.wast:1756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 6.28318548203]), 0) + +// f32_cmp.wast:1757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1760 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1761 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -Infinity]), 1) + +// f32_cmp.wast:1762 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, Infinity]), 0) + +// f32_cmp.wast:1763 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -Infinity]), 1) + +// f32_cmp.wast:1764 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, Infinity]), 0) + +// f32_cmp.wast:1765 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f32_cmp.wast:1766 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f32_cmp.wast:1767 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f32_cmp.wast:1768 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f32_cmp.wast:1769 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f32_cmp.wast:1770 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f32_cmp.wast:1771 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f32_cmp.wast:1772 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f32_cmp.wast:1773 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -0.]), 0) + +// f32_cmp.wast:1774 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 0.]), 0) + +// f32_cmp.wast:1775 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -0.]), 1) + +// f32_cmp.wast:1776 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 0.]), 1) + +// f32_cmp.wast:1777 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -1.40129846432e-45]), 0) + +// f32_cmp.wast:1778 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 1.40129846432e-45]), 0) + +// f32_cmp.wast:1779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -1.40129846432e-45]), 1) + +// f32_cmp.wast:1780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 1.40129846432e-45]), 1) + +// f32_cmp.wast:1781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -1.17549435082e-38]), 0) + +// f32_cmp.wast:1782 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 1.17549435082e-38]), 0) + +// f32_cmp.wast:1783 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -1.17549435082e-38]), 1) + +// f32_cmp.wast:1784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 1.17549435082e-38]), 1) + +// f32_cmp.wast:1785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -0.5]), 0) + +// f32_cmp.wast:1786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 0.5]), 0) + +// f32_cmp.wast:1787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -0.5]), 1) + +// f32_cmp.wast:1788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 0.5]), 1) + +// f32_cmp.wast:1789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -1.]), 0) + +// f32_cmp.wast:1790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 1.]), 0) + +// f32_cmp.wast:1791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -1.]), 1) + +// f32_cmp.wast:1792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 1.]), 0) + +// f32_cmp.wast:1793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -6.28318548203]), 1) + +// f32_cmp.wast:1794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 6.28318548203]), 0) + +// f32_cmp.wast:1795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -6.28318548203]), 1) + +// f32_cmp.wast:1796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 6.28318548203]), 0) + +// f32_cmp.wast:1797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -3.40282346639e+38]), 1) + +// f32_cmp.wast:1798 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 3.40282346639e+38]), 0) + +// f32_cmp.wast:1799 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -3.40282346639e+38]), 1) + +// f32_cmp.wast:1800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 3.40282346639e+38]), 0) + +// f32_cmp.wast:1801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -Infinity]), 1) + +// f32_cmp.wast:1802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., Infinity]), 0) + +// f32_cmp.wast:1803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -Infinity]), 1) + +// f32_cmp.wast:1804 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., Infinity]), 0) + +// f32_cmp.wast:1805 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f32_cmp.wast:1806 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f32_cmp.wast:1807 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f32_cmp.wast:1808 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f32_cmp.wast:1809 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f32_cmp.wast:1810 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f32_cmp.wast:1811 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f32_cmp.wast:1812 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f32_cmp.wast:1813 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -0.]), 0) + +// f32_cmp.wast:1814 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 0.]), 0) + +// f32_cmp.wast:1815 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -0.]), 1) + +// f32_cmp.wast:1816 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 0.]), 1) + +// f32_cmp.wast:1817 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1818 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -0.5]), 0) + +// f32_cmp.wast:1826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 0.5]), 0) + +// f32_cmp.wast:1827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -0.5]), 1) + +// f32_cmp.wast:1828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 0.5]), 1) + +// f32_cmp.wast:1829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -1.]), 0) + +// f32_cmp.wast:1830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 1.]), 0) + +// f32_cmp.wast:1831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -1.]), 1) + +// f32_cmp.wast:1832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 1.]), 1) + +// f32_cmp.wast:1833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -6.28318548203]), 0) + +// f32_cmp.wast:1834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 6.28318548203]), 0) + +// f32_cmp.wast:1835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -6.28318548203]), 1) + +// f32_cmp.wast:1836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 6.28318548203]), 0) + +// f32_cmp.wast:1837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, -Infinity]), 1) + +// f32_cmp.wast:1842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, Infinity]), 0) + +// f32_cmp.wast:1843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, -Infinity]), 1) + +// f32_cmp.wast:1844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, Infinity]), 0) + +// f32_cmp.wast:1845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:1849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1851 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1852 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:1853 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -0.]), 0) + +// f32_cmp.wast:1854 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 0.]), 0) + +// f32_cmp.wast:1855 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -0.]), 1) + +// f32_cmp.wast:1856 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 0.]), 1) + +// f32_cmp.wast:1857 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1858 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -0.5]), 0) + +// f32_cmp.wast:1866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 0.5]), 0) + +// f32_cmp.wast:1867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -0.5]), 1) + +// f32_cmp.wast:1868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 0.5]), 1) + +// f32_cmp.wast:1869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -1.]), 0) + +// f32_cmp.wast:1870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 1.]), 0) + +// f32_cmp.wast:1871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -1.]), 1) + +// f32_cmp.wast:1872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 1.]), 1) + +// f32_cmp.wast:1873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -6.28318548203]), 0) + +// f32_cmp.wast:1874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 6.28318548203]), 0) + +// f32_cmp.wast:1875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -6.28318548203]), 1) + +// f32_cmp.wast:1876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 6.28318548203]), 1) + +// f32_cmp.wast:1877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, -Infinity]), 1) + +// f32_cmp.wast:1882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, Infinity]), 0) + +// f32_cmp.wast:1883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, -Infinity]), 1) + +// f32_cmp.wast:1884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, Infinity]), 0) + +// f32_cmp.wast:1885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1891 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1892 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:1893 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -0.]), 0) + +// f32_cmp.wast:1894 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 0.]), 0) + +// f32_cmp.wast:1895 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -0.]), 1) + +// f32_cmp.wast:1896 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 0.]), 1) + +// f32_cmp.wast:1897 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1898 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -1.40129846432e-45]), 1) + +// f32_cmp.wast:1900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 1.40129846432e-45]), 1) + +// f32_cmp.wast:1901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -1.17549435082e-38]), 1) + +// f32_cmp.wast:1904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 1.17549435082e-38]), 1) + +// f32_cmp.wast:1905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -0.5]), 0) + +// f32_cmp.wast:1906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 0.5]), 0) + +// f32_cmp.wast:1907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -0.5]), 1) + +// f32_cmp.wast:1908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 0.5]), 1) + +// f32_cmp.wast:1909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -1.]), 0) + +// f32_cmp.wast:1910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 1.]), 0) + +// f32_cmp.wast:1911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -1.]), 1) + +// f32_cmp.wast:1912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 1.]), 1) + +// f32_cmp.wast:1913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -6.28318548203]), 0) + +// f32_cmp.wast:1914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 6.28318548203]), 0) + +// f32_cmp.wast:1915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -6.28318548203]), 1) + +// f32_cmp.wast:1916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 6.28318548203]), 1) + +// f32_cmp.wast:1917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -3.40282346639e+38]), 1) + +// f32_cmp.wast:1920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 3.40282346639e+38]), 1) + +// f32_cmp.wast:1921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -Infinity]), 0) + +// f32_cmp.wast:1922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, Infinity]), 0) + +// f32_cmp.wast:1923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -Infinity]), 1) + +// f32_cmp.wast:1924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, Infinity]), 0) + +// f32_cmp.wast:1925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f32_cmp.wast:1929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1931 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1932 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f32_cmp.wast:1933 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f32_cmp.wast:1934 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f32_cmp.wast:1935 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f32_cmp.wast:1936 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f32_cmp.wast:1937 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f32_cmp.wast:1938 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f32_cmp.wast:1939 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f32_cmp.wast:1940 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f32_cmp.wast:1941 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1942 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1943 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1944 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1945 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1946 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:1947 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1948 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:1949 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1950 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1951 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1952 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1953 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1954 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:1955 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1956 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:1957 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1958 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1959 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1960 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1961 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1962 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f32_cmp.wast:1963 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1964 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f32_cmp.wast:1965 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f32_cmp.wast:1966 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f32_cmp.wast:1967 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f32_cmp.wast:1968 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f32_cmp.wast:1969 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f32_cmp.wast:1970 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f32_cmp.wast:1971 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f32_cmp.wast:1972 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f32_cmp.wast:1973 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1974 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1975 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1976 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1977 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1978 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:1979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:1981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:1987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:1989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f32_cmp.wast:1995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f32_cmp.wast:1997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:1998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:1999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2005 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2006 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2007 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2008 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2009 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2010 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2011 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2012 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f32_cmp.wast:2013 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -0.]), 1) + +// f32_cmp.wast:2014 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 0.]), 1) + +// f32_cmp.wast:2015 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -0.]), 1) + +// f32_cmp.wast:2016 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 0.]), 1) + +// f32_cmp.wast:2017 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -1.40129846432e-45]), 1) + +// f32_cmp.wast:2018 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 1.40129846432e-45]), 0) + +// f32_cmp.wast:2019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -1.40129846432e-45]), 1) + +// f32_cmp.wast:2020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 1.40129846432e-45]), 0) + +// f32_cmp.wast:2021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -1.17549435082e-38]), 1) + +// f32_cmp.wast:2022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 1.17549435082e-38]), 0) + +// f32_cmp.wast:2023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -1.17549435082e-38]), 1) + +// f32_cmp.wast:2024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 1.17549435082e-38]), 0) + +// f32_cmp.wast:2025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -0.5]), 1) + +// f32_cmp.wast:2026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 0.5]), 0) + +// f32_cmp.wast:2027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -0.5]), 1) + +// f32_cmp.wast:2028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 0.5]), 0) + +// f32_cmp.wast:2029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -1.]), 1) + +// f32_cmp.wast:2030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 1.]), 0) + +// f32_cmp.wast:2031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -1.]), 1) + +// f32_cmp.wast:2032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 1.]), 0) + +// f32_cmp.wast:2033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -6.28318548203]), 1) + +// f32_cmp.wast:2034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 6.28318548203]), 0) + +// f32_cmp.wast:2035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -6.28318548203]), 1) + +// f32_cmp.wast:2036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 6.28318548203]), 0) + +// f32_cmp.wast:2037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -3.40282346639e+38]), 1) + +// f32_cmp.wast:2038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 3.40282346639e+38]), 0) + +// f32_cmp.wast:2039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -3.40282346639e+38]), 1) + +// f32_cmp.wast:2040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 3.40282346639e+38]), 0) + +// f32_cmp.wast:2041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -Infinity]), 1) + +// f32_cmp.wast:2042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., Infinity]), 0) + +// f32_cmp.wast:2043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -Infinity]), 1) + +// f32_cmp.wast:2044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., Infinity]), 0) + +// f32_cmp.wast:2045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f32_cmp.wast:2046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f32_cmp.wast:2047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f32_cmp.wast:2048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f32_cmp.wast:2049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f32_cmp.wast:2050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f32_cmp.wast:2051 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f32_cmp.wast:2052 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f32_cmp.wast:2053 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -0.]), 0) + +// f32_cmp.wast:2054 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 0.]), 0) + +// f32_cmp.wast:2055 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -0.]), 1) + +// f32_cmp.wast:2056 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 0.]), 1) + +// f32_cmp.wast:2057 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2058 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 1.40129846432e-45]), 1) + +// f32_cmp.wast:2061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -0.5]), 1) + +// f32_cmp.wast:2066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 0.5]), 0) + +// f32_cmp.wast:2067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -0.5]), 1) + +// f32_cmp.wast:2068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 0.5]), 0) + +// f32_cmp.wast:2069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -1.]), 1) + +// f32_cmp.wast:2070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 1.]), 0) + +// f32_cmp.wast:2071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -1.]), 1) + +// f32_cmp.wast:2072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 1.]), 0) + +// f32_cmp.wast:2073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -6.28318548203]), 1) + +// f32_cmp.wast:2074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 6.28318548203]), 0) + +// f32_cmp.wast:2075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -6.28318548203]), 1) + +// f32_cmp.wast:2076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 6.28318548203]), 0) + +// f32_cmp.wast:2077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, -Infinity]), 1) + +// f32_cmp.wast:2082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, Infinity]), 0) + +// f32_cmp.wast:2083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, -Infinity]), 1) + +// f32_cmp.wast:2084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, Infinity]), 0) + +// f32_cmp.wast:2085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2091 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2092 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.40129846432e-45, NaN]), 0) + +// f32_cmp.wast:2093 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -0.]), 0) + +// f32_cmp.wast:2094 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 0.]), 0) + +// f32_cmp.wast:2095 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -0.]), 1) + +// f32_cmp.wast:2096 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 0.]), 1) + +// f32_cmp.wast:2097 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2098 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:2101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:2105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -0.5]), 1) + +// f32_cmp.wast:2106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 0.5]), 0) + +// f32_cmp.wast:2107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -0.5]), 1) + +// f32_cmp.wast:2108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 0.5]), 0) + +// f32_cmp.wast:2109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -1.]), 1) + +// f32_cmp.wast:2110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 1.]), 0) + +// f32_cmp.wast:2111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -1.]), 1) + +// f32_cmp.wast:2112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 1.]), 0) + +// f32_cmp.wast:2113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -6.28318548203]), 1) + +// f32_cmp.wast:2114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 6.28318548203]), 0) + +// f32_cmp.wast:2115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -6.28318548203]), 1) + +// f32_cmp.wast:2116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 6.28318548203]), 0) + +// f32_cmp.wast:2117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, -Infinity]), 1) + +// f32_cmp.wast:2122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, Infinity]), 0) + +// f32_cmp.wast:2123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, -Infinity]), 1) + +// f32_cmp.wast:2124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, Infinity]), 0) + +// f32_cmp.wast:2125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.17549435082e-38, NaN]), 0) + +// f32_cmp.wast:2133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -0.]), 0) + +// f32_cmp.wast:2134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 0.]), 0) + +// f32_cmp.wast:2135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -0.]), 1) + +// f32_cmp.wast:2136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 0.]), 1) + +// f32_cmp.wast:2137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 1.40129846432e-45]), 1) + +// f32_cmp.wast:2141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 1.17549435082e-38]), 1) + +// f32_cmp.wast:2145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -0.5]), 1) + +// f32_cmp.wast:2146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 0.5]), 0) + +// f32_cmp.wast:2147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -0.5]), 1) + +// f32_cmp.wast:2148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 0.5]), 1) + +// f32_cmp.wast:2149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -1.]), 1) + +// f32_cmp.wast:2150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 1.]), 0) + +// f32_cmp.wast:2151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -1.]), 1) + +// f32_cmp.wast:2152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 1.]), 0) + +// f32_cmp.wast:2153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -6.28318548203]), 1) + +// f32_cmp.wast:2154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 6.28318548203]), 0) + +// f32_cmp.wast:2155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -6.28318548203]), 1) + +// f32_cmp.wast:2156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 6.28318548203]), 0) + +// f32_cmp.wast:2157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -Infinity]), 1) + +// f32_cmp.wast:2162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, Infinity]), 0) + +// f32_cmp.wast:2163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -Infinity]), 1) + +// f32_cmp.wast:2164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, Infinity]), 0) + +// f32_cmp.wast:2165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f32_cmp.wast:2166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f32_cmp.wast:2167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f32_cmp.wast:2168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f32_cmp.wast:2169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f32_cmp.wast:2170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f32_cmp.wast:2171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f32_cmp.wast:2172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f32_cmp.wast:2173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -0.]), 0) + +// f32_cmp.wast:2174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 0.]), 0) + +// f32_cmp.wast:2175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -0.]), 1) + +// f32_cmp.wast:2176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 0.]), 1) + +// f32_cmp.wast:2177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -1.40129846432e-45]), 0) + +// f32_cmp.wast:2178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 1.40129846432e-45]), 0) + +// f32_cmp.wast:2179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -1.40129846432e-45]), 1) + +// f32_cmp.wast:2180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 1.40129846432e-45]), 1) + +// f32_cmp.wast:2181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -1.17549435082e-38]), 0) + +// f32_cmp.wast:2182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 1.17549435082e-38]), 0) + +// f32_cmp.wast:2183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -1.17549435082e-38]), 1) + +// f32_cmp.wast:2184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 1.17549435082e-38]), 1) + +// f32_cmp.wast:2185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -0.5]), 0) + +// f32_cmp.wast:2186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 0.5]), 0) + +// f32_cmp.wast:2187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -0.5]), 1) + +// f32_cmp.wast:2188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 0.5]), 1) + +// f32_cmp.wast:2189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -1.]), 1) + +// f32_cmp.wast:2190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 1.]), 0) + +// f32_cmp.wast:2191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -1.]), 1) + +// f32_cmp.wast:2192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 1.]), 1) + +// f32_cmp.wast:2193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -6.28318548203]), 1) + +// f32_cmp.wast:2194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 6.28318548203]), 0) + +// f32_cmp.wast:2195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -6.28318548203]), 1) + +// f32_cmp.wast:2196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 6.28318548203]), 0) + +// f32_cmp.wast:2197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -3.40282346639e+38]), 1) + +// f32_cmp.wast:2198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 3.40282346639e+38]), 0) + +// f32_cmp.wast:2199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -3.40282346639e+38]), 1) + +// f32_cmp.wast:2200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 3.40282346639e+38]), 0) + +// f32_cmp.wast:2201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -Infinity]), 1) + +// f32_cmp.wast:2202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., Infinity]), 0) + +// f32_cmp.wast:2203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -Infinity]), 1) + +// f32_cmp.wast:2204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., Infinity]), 0) + +// f32_cmp.wast:2205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f32_cmp.wast:2206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f32_cmp.wast:2207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f32_cmp.wast:2208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f32_cmp.wast:2209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f32_cmp.wast:2210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f32_cmp.wast:2211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f32_cmp.wast:2212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f32_cmp.wast:2213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -0.]), 0) + +// f32_cmp.wast:2214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 0.]), 0) + +// f32_cmp.wast:2215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -0.]), 1) + +// f32_cmp.wast:2216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 0.]), 1) + +// f32_cmp.wast:2217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 1.40129846432e-45]), 1) + +// f32_cmp.wast:2221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 1.17549435082e-38]), 1) + +// f32_cmp.wast:2225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -0.5]), 0) + +// f32_cmp.wast:2226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 0.5]), 0) + +// f32_cmp.wast:2227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -0.5]), 1) + +// f32_cmp.wast:2228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 0.5]), 1) + +// f32_cmp.wast:2229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -1.]), 0) + +// f32_cmp.wast:2230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 1.]), 0) + +// f32_cmp.wast:2231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -1.]), 1) + +// f32_cmp.wast:2232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 1.]), 1) + +// f32_cmp.wast:2233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -6.28318548203]), 1) + +// f32_cmp.wast:2234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 6.28318548203]), 0) + +// f32_cmp.wast:2235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -6.28318548203]), 1) + +// f32_cmp.wast:2236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 6.28318548203]), 1) + +// f32_cmp.wast:2237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, -Infinity]), 1) + +// f32_cmp.wast:2242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, Infinity]), 0) + +// f32_cmp.wast:2243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, -Infinity]), 1) + +// f32_cmp.wast:2244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, Infinity]), 0) + +// f32_cmp.wast:2245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:2246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:2247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:2248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\xc0\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318548203, NaN]), 0) + +// f32_cmp.wast:2249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:2250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:2251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:2252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x0f\xc9\x40\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318548203, NaN]), 0) + +// f32_cmp.wast:2253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -0.]), 0) + +// f32_cmp.wast:2254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 0.]), 0) + +// f32_cmp.wast:2255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -0.]), 1) + +// f32_cmp.wast:2256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 0.]), 1) + +// f32_cmp.wast:2257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 1.40129846432e-45]), 1) + +// f32_cmp.wast:2261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 1.17549435082e-38]), 1) + +// f32_cmp.wast:2265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -0.5]), 0) + +// f32_cmp.wast:2266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 0.5]), 0) + +// f32_cmp.wast:2267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -0.5]), 1) + +// f32_cmp.wast:2268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 0.5]), 1) + +// f32_cmp.wast:2269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -1.]), 0) + +// f32_cmp.wast:2270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 1.]), 0) + +// f32_cmp.wast:2271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -1.]), 1) + +// f32_cmp.wast:2272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 1.]), 1) + +// f32_cmp.wast:2273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -6.28318548203]), 0) + +// f32_cmp.wast:2274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 6.28318548203]), 0) + +// f32_cmp.wast:2275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -6.28318548203]), 1) + +// f32_cmp.wast:2276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 6.28318548203]), 1) + +// f32_cmp.wast:2277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, 3.40282346639e+38]), 1) + +// f32_cmp.wast:2281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, -Infinity]), 1) + +// f32_cmp.wast:2282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, Infinity]), 0) + +// f32_cmp.wast:2283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, -Infinity]), 1) + +// f32_cmp.wast:2284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, Infinity]), 0) + +// f32_cmp.wast:2285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [3.40282346639e+38, NaN]), 0) + +// f32_cmp.wast:2293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -0.]), 0) + +// f32_cmp.wast:2294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 0.]), 0) + +// f32_cmp.wast:2295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -0.]), 1) + +// f32_cmp.wast:2296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 0.]), 1) + +// f32_cmp.wast:2297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -1.40129846432e-45]), 1) + +// f32_cmp.wast:2300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 1.40129846432e-45]), 1) + +// f32_cmp.wast:2301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -1.17549435082e-38]), 1) + +// f32_cmp.wast:2304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 1.17549435082e-38]), 1) + +// f32_cmp.wast:2305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -0.5]), 0) + +// f32_cmp.wast:2306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 0.5]), 0) + +// f32_cmp.wast:2307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -0.5]), 1) + +// f32_cmp.wast:2308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 0.5]), 1) + +// f32_cmp.wast:2309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -1.]), 0) + +// f32_cmp.wast:2310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 1.]), 0) + +// f32_cmp.wast:2311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -1.]), 1) + +// f32_cmp.wast:2312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 1.]), 1) + +// f32_cmp.wast:2313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -6.28318548203]), 0) + +// f32_cmp.wast:2314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 6.28318548203]), 0) + +// f32_cmp.wast:2315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -6.28318548203]), 1) + +// f32_cmp.wast:2316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 6.28318548203]), 1) + +// f32_cmp.wast:2317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -3.40282346639e+38]), 0) + +// f32_cmp.wast:2318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -3.40282346639e+38]), 1) + +// f32_cmp.wast:2320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 3.40282346639e+38]), 1) + +// f32_cmp.wast:2321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -Infinity]), 1) + +// f32_cmp.wast:2322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, Infinity]), 0) + +// f32_cmp.wast:2323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -Infinity]), 1) + +// f32_cmp.wast:2324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, Infinity]), 1) + +// f32_cmp.wast:2325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f32_cmp.wast:2326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f32_cmp.wast:2327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f32_cmp.wast:2328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f32_cmp.wast:2329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f32_cmp.wast:2330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f32_cmp.wast:2331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f32_cmp.wast:2332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f32_cmp.wast:2333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f32_cmp.wast:2334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f32_cmp.wast:2335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f32_cmp.wast:2336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f32_cmp.wast:2337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f32_cmp.wast:2338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f32_cmp.wast:2339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f32_cmp.wast:2340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f32_cmp.wast:2341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.40129846432e-45]), 0) + +// f32_cmp.wast:2347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x01\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.40129846432e-45]), 0) + +// f32_cmp.wast:2349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.17549435082e-38]), 0) + +// f32_cmp.wast:2355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.17549435082e-38]), 0) + +// f32_cmp.wast:2357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f32_cmp.wast:2358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f32_cmp.wast:2359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f32_cmp.wast:2360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f32_cmp.wast:2361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f32_cmp.wast:2362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f32_cmp.wast:2363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f32_cmp.wast:2364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x00\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f32_cmp.wast:2365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f32_cmp.wast:2366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f32_cmp.wast:2367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f32_cmp.wast:2368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f32_cmp.wast:2369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f32_cmp.wast:2370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f32_cmp.wast:2371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f32_cmp.wast:2372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f32_cmp.wast:2373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:2374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:2375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:2376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:2377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:2378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318548203]), 0) + +// f32_cmp.wast:2379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:2380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xdb\x0f\xc9\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318548203]), 0) + +// f32_cmp.wast:2381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:2382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:2383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:2386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -3.40282346639e+38]), 0) + +// f32_cmp.wast:2387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\xff\xff\x7f\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 3.40282346639e+38]), 0) + +// f32_cmp.wast:2389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f32_cmp.wast:2390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f32_cmp.wast:2391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f32_cmp.wast:2392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f32_cmp.wast:2393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f32_cmp.wast:2394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f32_cmp.wast:2395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f32_cmp.wast:2396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f32_cmp.wast:2397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\xff\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f32_cmp.wast:2412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x43\x00\x00\xa0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/f64.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/f64.wast.js new file mode 100644 index 0000000000..ed504ddc26 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/f64.wast.js @@ -0,0 +1,7503 @@ + +// f64.wast:5 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x02\x7c\x7c\x01\x7c\x60\x01\x7c\x01\x7c\x03\x8c\x80\x80\x80\x00\x0b\x00\x00\x00\x00\x01\x00\x00\x01\x01\x01\x01\x07\xcd\x80\x80\x80\x00\x0b\x03\x61\x64\x64\x00\x00\x03\x73\x75\x62\x00\x01\x03\x6d\x75\x6c\x00\x02\x03\x64\x69\x76\x00\x03\x04\x73\x71\x72\x74\x00\x04\x03\x6d\x69\x6e\x00\x05\x03\x6d\x61\x78\x00\x06\x04\x63\x65\x69\x6c\x00\x07\x05\x66\x6c\x6f\x6f\x72\x00\x08\x05\x74\x72\x75\x6e\x63\x00\x09\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x0a\x0a\xfb\x80\x80\x80\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa1\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa4\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa5\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9b\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9c\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9d\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9e\x0b"); + +// f64.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -0.]), -0.) + +// f64.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 0.]), 0.) + +// f64.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -0.]), 0.) + +// f64.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 0.]), 0.) + +// f64.wast:23 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:24 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -0.5]), -0.5) + +// f64.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 0.5]), 0.5) + +// f64.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -0.5]), -0.5) + +// f64.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 0.5]), 0.5) + +// f64.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -1.]), -1.) + +// f64.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 1.]), 1.) + +// f64.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -1.]), -1.) + +// f64.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 1.]), 1.) + +// f64.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -6.28318530718]), -6.28318530718) + +// f64.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 6.28318530718]), 6.28318530718) + +// f64.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -6.28318530718]), -6.28318530718) + +// f64.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 6.28318530718]), 6.28318530718) + +// f64.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., -Infinity]), -Infinity) + +// f64.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0., Infinity]), Infinity) + +// f64.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., -Infinity]), -Infinity) + +// f64.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0., Infinity]), Infinity) + +// f64.wast:51 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0., NaN])) + +// f64.wast:52 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0., NaN])) + +// f64.wast:53 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0., NaN])) + +// f64.wast:54 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0., NaN])) + +// f64.wast:55 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0., NaN])) + +// f64.wast:56 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0., NaN])) + +// f64.wast:57 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0., NaN])) + +// f64.wast:58 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0., NaN])) + +// f64.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -0.]), -4.94065645841e-324) + +// f64.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 0.]), -4.94065645841e-324) + +// f64.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -0.]), 4.94065645841e-324) + +// f64.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 0.]), 4.94065645841e-324) + +// f64.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -4.94065645841e-324]), -9.88131291682e-324) + +// f64.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 4.94065645841e-324]), 0.) + +// f64.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -4.94065645841e-324]), 0.) + +// f64.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 4.94065645841e-324]), 9.88131291682e-324) + +// f64.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -0.5]), -0.5) + +// f64.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 0.5]), 0.5) + +// f64.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -0.5]), -0.5) + +// f64.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 0.5]), 0.5) + +// f64.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -1.]), -1.) + +// f64.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 1.]), 1.) + +// f64.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -1.]), -1.) + +// f64.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 1.]), 1.) + +// f64.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -6.28318530718]), -6.28318530718) + +// f64.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 6.28318530718]), 6.28318530718) + +// f64.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -6.28318530718]), -6.28318530718) + +// f64.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 6.28318530718]), 6.28318530718) + +// f64.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, -Infinity]), -Infinity) + +// f64.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-4.94065645841e-324, Infinity]), Infinity) + +// f64.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, -Infinity]), -Infinity) + +// f64.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [4.94065645841e-324, Infinity]), Infinity) + +// f64.wast:91 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-4.94065645841e-324, NaN])) + +// f64.wast:92 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-4.94065645841e-324, NaN])) + +// f64.wast:93 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-4.94065645841e-324, NaN])) + +// f64.wast:94 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-4.94065645841e-324, NaN])) + +// f64.wast:95 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [4.94065645841e-324, NaN])) + +// f64.wast:96 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [4.94065645841e-324, NaN])) + +// f64.wast:97 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [4.94065645841e-324, NaN])) + +// f64.wast:98 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [4.94065645841e-324, NaN])) + +// f64.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -0.]), -2.22507385851e-308) + +// f64.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 0.]), -2.22507385851e-308) + +// f64.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -0.]), 2.22507385851e-308) + +// f64.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 0.]), 2.22507385851e-308) + +// f64.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -4.94065645841e-324]), -2.22507385851e-308) + +// f64.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 4.94065645841e-324]), -2.22507385851e-308) + +// f64.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -4.94065645841e-324]), 2.22507385851e-308) + +// f64.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 4.94065645841e-324]), 2.22507385851e-308) + +// f64.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -2.22507385851e-308]), -4.45014771701e-308) + +// f64.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 2.22507385851e-308]), 0.) + +// f64.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -2.22507385851e-308]), 0.) + +// f64.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 2.22507385851e-308]), 4.45014771701e-308) + +// f64.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -0.5]), -0.5) + +// f64.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 0.5]), 0.5) + +// f64.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -0.5]), -0.5) + +// f64.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 0.5]), 0.5) + +// f64.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -1.]), -1.) + +// f64.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 1.]), 1.) + +// f64.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -1.]), -1.) + +// f64.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 1.]), 1.) + +// f64.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -6.28318530718]), -6.28318530718) + +// f64.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 6.28318530718]), 6.28318530718) + +// f64.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -6.28318530718]), -6.28318530718) + +// f64.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 6.28318530718]), 6.28318530718) + +// f64.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, -Infinity]), -Infinity) + +// f64.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-2.22507385851e-308, Infinity]), Infinity) + +// f64.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, -Infinity]), -Infinity) + +// f64.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [2.22507385851e-308, Infinity]), Infinity) + +// f64.wast:131 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-2.22507385851e-308, NaN])) + +// f64.wast:132 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-2.22507385851e-308, NaN])) + +// f64.wast:133 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-2.22507385851e-308, NaN])) + +// f64.wast:134 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-2.22507385851e-308, NaN])) + +// f64.wast:135 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [2.22507385851e-308, NaN])) + +// f64.wast:136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [2.22507385851e-308, NaN])) + +// f64.wast:137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [2.22507385851e-308, NaN])) + +// f64.wast:138 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [2.22507385851e-308, NaN])) + +// f64.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -0.]), -0.5) + +// f64.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 0.]), -0.5) + +// f64.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -0.]), 0.5) + +// f64.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 0.]), 0.5) + +// f64.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -4.94065645841e-324]), -0.5) + +// f64.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 4.94065645841e-324]), -0.5) + +// f64.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -4.94065645841e-324]), 0.5) + +// f64.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 4.94065645841e-324]), 0.5) + +// f64.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -2.22507385851e-308]), -0.5) + +// f64.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 2.22507385851e-308]), -0.5) + +// f64.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -2.22507385851e-308]), 0.5) + +// f64.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 2.22507385851e-308]), 0.5) + +// f64.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -0.5]), -1.) + +// f64.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 0.5]), 0.) + +// f64.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -0.5]), 0.) + +// f64.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 0.5]), 1.) + +// f64.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -1.]), -1.5) + +// f64.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 1.]), 0.5) + +// f64.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -1.]), -0.5) + +// f64.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 1.]), 1.5) + +// f64.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -6.28318530718]), -6.78318530718) + +// f64.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 6.28318530718]), 5.78318530718) + +// f64.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -6.28318530718]), -5.78318530718) + +// f64.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 6.28318530718]), 6.78318530718) + +// f64.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, -Infinity]), -Infinity) + +// f64.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-0.5, Infinity]), Infinity) + +// f64.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, -Infinity]), -Infinity) + +// f64.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [0.5, Infinity]), Infinity) + +// f64.wast:171 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0.5, NaN])) + +// f64.wast:172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0.5, NaN])) + +// f64.wast:173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-0.5, NaN])) + +// f64.wast:174 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-0.5, NaN])) + +// f64.wast:175 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0.5, NaN])) + +// f64.wast:176 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0.5, NaN])) + +// f64.wast:177 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [0.5, NaN])) + +// f64.wast:178 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [0.5, NaN])) + +// f64.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -0.]), -1.) + +// f64.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 0.]), -1.) + +// f64.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -0.]), 1.) + +// f64.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 0.]), 1.) + +// f64.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -4.94065645841e-324]), -1.) + +// f64.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 4.94065645841e-324]), -1.) + +// f64.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -4.94065645841e-324]), 1.) + +// f64.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 4.94065645841e-324]), 1.) + +// f64.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -2.22507385851e-308]), -1.) + +// f64.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 2.22507385851e-308]), -1.) + +// f64.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -2.22507385851e-308]), 1.) + +// f64.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 2.22507385851e-308]), 1.) + +// f64.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -0.5]), -1.5) + +// f64.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 0.5]), -0.5) + +// f64.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -0.5]), 0.5) + +// f64.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 0.5]), 1.5) + +// f64.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -1.]), -2.) + +// f64.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 1.]), 0.) + +// f64.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -1.]), 0.) + +// f64.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 1.]), 2.) + +// f64.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -6.28318530718]), -7.28318530718) + +// f64.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 6.28318530718]), 5.28318530718) + +// f64.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -6.28318530718]), -5.28318530718) + +// f64.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 6.28318530718]), 7.28318530718) + +// f64.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., -Infinity]), -Infinity) + +// f64.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1., Infinity]), Infinity) + +// f64.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., -Infinity]), -Infinity) + +// f64.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1., Infinity]), Infinity) + +// f64.wast:211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1., NaN])) + +// f64.wast:212 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1., NaN])) + +// f64.wast:213 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1., NaN])) + +// f64.wast:214 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1., NaN])) + +// f64.wast:215 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1., NaN])) + +// f64.wast:216 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1., NaN])) + +// f64.wast:217 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1., NaN])) + +// f64.wast:218 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1., NaN])) + +// f64.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -0.]), -6.28318530718) + +// f64.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 0.]), -6.28318530718) + +// f64.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -0.]), 6.28318530718) + +// f64.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 0.]), 6.28318530718) + +// f64.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -4.94065645841e-324]), -6.28318530718) + +// f64.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 4.94065645841e-324]), -6.28318530718) + +// f64.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -4.94065645841e-324]), 6.28318530718) + +// f64.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 4.94065645841e-324]), 6.28318530718) + +// f64.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -2.22507385851e-308]), -6.28318530718) + +// f64.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 2.22507385851e-308]), -6.28318530718) + +// f64.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -2.22507385851e-308]), 6.28318530718) + +// f64.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 2.22507385851e-308]), 6.28318530718) + +// f64.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -0.5]), -6.78318530718) + +// f64.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 0.5]), -5.78318530718) + +// f64.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -0.5]), 5.78318530718) + +// f64.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 0.5]), 6.78318530718) + +// f64.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -1.]), -7.28318530718) + +// f64.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 1.]), -5.28318530718) + +// f64.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -1.]), 5.28318530718) + +// f64.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 1.]), 7.28318530718) + +// f64.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -6.28318530718]), -12.5663706144) + +// f64.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 6.28318530718]), 0.) + +// f64.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -6.28318530718]), 0.) + +// f64.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 6.28318530718]), 12.5663706144) + +// f64.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, -Infinity]), -Infinity) + +// f64.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-6.28318530718, Infinity]), Infinity) + +// f64.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, -Infinity]), -Infinity) + +// f64.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [6.28318530718, Infinity]), Infinity) + +// f64.wast:251 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-6.28318530718, NaN])) + +// f64.wast:252 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-6.28318530718, NaN])) + +// f64.wast:253 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-6.28318530718, NaN])) + +// f64.wast:254 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-6.28318530718, NaN])) + +// f64.wast:255 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [6.28318530718, NaN])) + +// f64.wast:256 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [6.28318530718, NaN])) + +// f64.wast:257 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [6.28318530718, NaN])) + +// f64.wast:258 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [6.28318530718, NaN])) + +// f64.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -0.]), -1.79769313486e+308) + +// f64.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 0.]), -1.79769313486e+308) + +// f64.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -0.]), 1.79769313486e+308) + +// f64.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 0.]), 1.79769313486e+308) + +// f64.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -4.94065645841e-324]), -1.79769313486e+308) + +// f64.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 4.94065645841e-324]), -1.79769313486e+308) + +// f64.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -4.94065645841e-324]), 1.79769313486e+308) + +// f64.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 4.94065645841e-324]), 1.79769313486e+308) + +// f64.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -2.22507385851e-308]), -1.79769313486e+308) + +// f64.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 2.22507385851e-308]), -1.79769313486e+308) + +// f64.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -2.22507385851e-308]), 1.79769313486e+308) + +// f64.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 2.22507385851e-308]), 1.79769313486e+308) + +// f64.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -0.5]), -1.79769313486e+308) + +// f64.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 0.5]), -1.79769313486e+308) + +// f64.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -0.5]), 1.79769313486e+308) + +// f64.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 0.5]), 1.79769313486e+308) + +// f64.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 1.]), -1.79769313486e+308) + +// f64.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -1.]), 1.79769313486e+308) + +// f64.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -6.28318530718]), -1.79769313486e+308) + +// f64.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 6.28318530718]), -1.79769313486e+308) + +// f64.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -6.28318530718]), 1.79769313486e+308) + +// f64.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 6.28318530718]), 1.79769313486e+308) + +// f64.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -1.79769313486e+308]), -Infinity) + +// f64.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, 1.79769313486e+308]), 0.) + +// f64.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -1.79769313486e+308]), 0.) + +// f64.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, 1.79769313486e+308]), Infinity) + +// f64.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, -Infinity]), -Infinity) + +// f64.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-1.79769313486e+308, Infinity]), Infinity) + +// f64.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, -Infinity]), -Infinity) + +// f64.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [1.79769313486e+308, Infinity]), Infinity) + +// f64.wast:291 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1.79769313486e+308, NaN])) + +// f64.wast:292 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1.79769313486e+308, NaN])) + +// f64.wast:293 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-1.79769313486e+308, NaN])) + +// f64.wast:294 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-1.79769313486e+308, NaN])) + +// f64.wast:295 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1.79769313486e+308, NaN])) + +// f64.wast:296 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1.79769313486e+308, NaN])) + +// f64.wast:297 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [1.79769313486e+308, NaN])) + +// f64.wast:298 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [1.79769313486e+308, NaN])) + +// f64.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -0.]), -Infinity) + +// f64.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 0.]), -Infinity) + +// f64.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -0.]), Infinity) + +// f64.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 0.]), Infinity) + +// f64.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -4.94065645841e-324]), -Infinity) + +// f64.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 4.94065645841e-324]), -Infinity) + +// f64.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -4.94065645841e-324]), Infinity) + +// f64.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 4.94065645841e-324]), Infinity) + +// f64.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -2.22507385851e-308]), -Infinity) + +// f64.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 2.22507385851e-308]), -Infinity) + +// f64.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -2.22507385851e-308]), Infinity) + +// f64.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 2.22507385851e-308]), Infinity) + +// f64.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -0.5]), -Infinity) + +// f64.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 0.5]), -Infinity) + +// f64.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -0.5]), Infinity) + +// f64.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 0.5]), Infinity) + +// f64.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -1.]), -Infinity) + +// f64.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 1.]), -Infinity) + +// f64.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -1.]), Infinity) + +// f64.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 1.]), Infinity) + +// f64.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -6.28318530718]), -Infinity) + +// f64.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 6.28318530718]), -Infinity) + +// f64.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -6.28318530718]), Infinity) + +// f64.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 6.28318530718]), Infinity) + +// f64.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -1.79769313486e+308]), -Infinity) + +// f64.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, 1.79769313486e+308]), -Infinity) + +// f64.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, -1.79769313486e+308]), Infinity) + +// f64.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, 1.79769313486e+308]), Infinity) + +// f64.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [-Infinity, -Infinity]), -Infinity) + +// f64.wast:328 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-Infinity, Infinity])) + +// f64.wast:329 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [Infinity, -Infinity])) + +// f64.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [Infinity, Infinity]), Infinity) + +// f64.wast:331 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-Infinity, NaN])) + +// f64.wast:332 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-Infinity, NaN])) + +// f64.wast:333 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [-Infinity, NaN])) + +// f64.wast:334 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [-Infinity, NaN])) + +// f64.wast:335 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [Infinity, NaN])) + +// f64.wast:336 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [Infinity, NaN])) + +// f64.wast:337 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [Infinity, NaN])) + +// f64.wast:338 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [Infinity, NaN])) + +// f64.wast:339 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.])) + +// f64.wast:340 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.])) + +// f64.wast:341 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.])) + +// f64.wast:342 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.])) + +// f64.wast:343 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.])) + +// f64.wast:344 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.])) + +// f64.wast:345 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.])) + +// f64.wast:346 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.])) + +// f64.wast:347 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -4.94065645841e-324])) + +// f64.wast:348 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -4.94065645841e-324])) + +// f64.wast:349 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 4.94065645841e-324])) + +// f64.wast:350 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 4.94065645841e-324])) + +// f64.wast:351 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -4.94065645841e-324])) + +// f64.wast:352 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -4.94065645841e-324])) + +// f64.wast:353 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 4.94065645841e-324])) + +// f64.wast:354 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 4.94065645841e-324])) + +// f64.wast:355 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -2.22507385851e-308])) + +// f64.wast:356 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -2.22507385851e-308])) + +// f64.wast:357 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 2.22507385851e-308])) + +// f64.wast:358 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 2.22507385851e-308])) + +// f64.wast:359 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -2.22507385851e-308])) + +// f64.wast:360 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -2.22507385851e-308])) + +// f64.wast:361 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 2.22507385851e-308])) + +// f64.wast:362 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 2.22507385851e-308])) + +// f64.wast:363 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.5])) + +// f64.wast:364 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.5])) + +// f64.wast:365 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.5])) + +// f64.wast:366 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.5])) + +// f64.wast:367 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -0.5])) + +// f64.wast:368 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -0.5])) + +// f64.wast:369 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 0.5])) + +// f64.wast:370 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 0.5])) + +// f64.wast:371 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.])) + +// f64.wast:372 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.])) + +// f64.wast:373 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.])) + +// f64.wast:374 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.])) + +// f64.wast:375 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.])) + +// f64.wast:376 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.])) + +// f64.wast:377 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.])) + +// f64.wast:378 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.])) + +// f64.wast:379 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -6.28318530718])) + +// f64.wast:380 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -6.28318530718])) + +// f64.wast:381 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 6.28318530718])) + +// f64.wast:382 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 6.28318530718])) + +// f64.wast:383 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -6.28318530718])) + +// f64.wast:384 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -6.28318530718])) + +// f64.wast:385 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 6.28318530718])) + +// f64.wast:386 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 6.28318530718])) + +// f64.wast:387 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.79769313486e+308])) + +// f64.wast:388 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.79769313486e+308])) + +// f64.wast:389 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.79769313486e+308])) + +// f64.wast:390 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.79769313486e+308])) + +// f64.wast:391 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -1.79769313486e+308])) + +// f64.wast:392 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -1.79769313486e+308])) + +// f64.wast:393 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, 1.79769313486e+308])) + +// f64.wast:394 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, 1.79769313486e+308])) + +// f64.wast:395 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -Infinity])) + +// f64.wast:396 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -Infinity])) + +// f64.wast:397 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, Infinity])) + +// f64.wast:398 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, Infinity])) + +// f64.wast:399 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, -Infinity])) + +// f64.wast:400 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, -Infinity])) + +// f64.wast:401 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, Infinity])) + +// f64.wast:402 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, Infinity])) + +// f64.wast:403 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:404 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:405 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:406 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:407 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:408 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:409 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:410 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:414 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:415 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:416 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:417 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "add", [NaN, NaN])) + +// f64.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -0.]), 0.) + +// f64.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 0.]), -0.) + +// f64.wast:421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -0.]), 0.) + +// f64.wast:422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 0.]), 0.) + +// f64.wast:423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -0.5]), 0.5) + +// f64.wast:432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 0.5]), -0.5) + +// f64.wast:433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -0.5]), 0.5) + +// f64.wast:434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 0.5]), -0.5) + +// f64.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -1.]), 1.) + +// f64.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 1.]), -1.) + +// f64.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -1.]), 1.) + +// f64.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 1.]), -1.) + +// f64.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -6.28318530718]), 6.28318530718) + +// f64.wast:440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 6.28318530718]), -6.28318530718) + +// f64.wast:441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -6.28318530718]), 6.28318530718) + +// f64.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 6.28318530718]), -6.28318530718) + +// f64.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., -Infinity]), Infinity) + +// f64.wast:448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0., Infinity]), -Infinity) + +// f64.wast:449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., -Infinity]), Infinity) + +// f64.wast:450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0., Infinity]), -Infinity) + +// f64.wast:451 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0., NaN])) + +// f64.wast:452 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0., NaN])) + +// f64.wast:453 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0., NaN])) + +// f64.wast:454 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0., NaN])) + +// f64.wast:455 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0., NaN])) + +// f64.wast:456 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0., NaN])) + +// f64.wast:457 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0., NaN])) + +// f64.wast:458 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0., NaN])) + +// f64.wast:459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -0.]), -4.94065645841e-324) + +// f64.wast:460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 0.]), -4.94065645841e-324) + +// f64.wast:461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -0.]), 4.94065645841e-324) + +// f64.wast:462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 0.]), 4.94065645841e-324) + +// f64.wast:463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -4.94065645841e-324]), 0.) + +// f64.wast:464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 4.94065645841e-324]), -9.88131291682e-324) + +// f64.wast:465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -4.94065645841e-324]), 9.88131291682e-324) + +// f64.wast:466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 4.94065645841e-324]), 0.) + +// f64.wast:467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -0.5]), 0.5) + +// f64.wast:472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 0.5]), -0.5) + +// f64.wast:473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -0.5]), 0.5) + +// f64.wast:474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 0.5]), -0.5) + +// f64.wast:475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -1.]), 1.) + +// f64.wast:476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 1.]), -1.) + +// f64.wast:477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -1.]), 1.) + +// f64.wast:478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 1.]), -1.) + +// f64.wast:479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -6.28318530718]), 6.28318530718) + +// f64.wast:480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 6.28318530718]), -6.28318530718) + +// f64.wast:481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -6.28318530718]), 6.28318530718) + +// f64.wast:482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 6.28318530718]), -6.28318530718) + +// f64.wast:483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, -Infinity]), Infinity) + +// f64.wast:488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-4.94065645841e-324, Infinity]), -Infinity) + +// f64.wast:489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, -Infinity]), Infinity) + +// f64.wast:490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [4.94065645841e-324, Infinity]), -Infinity) + +// f64.wast:491 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-4.94065645841e-324, NaN])) + +// f64.wast:492 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-4.94065645841e-324, NaN])) + +// f64.wast:493 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-4.94065645841e-324, NaN])) + +// f64.wast:494 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-4.94065645841e-324, NaN])) + +// f64.wast:495 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [4.94065645841e-324, NaN])) + +// f64.wast:496 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [4.94065645841e-324, NaN])) + +// f64.wast:497 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [4.94065645841e-324, NaN])) + +// f64.wast:498 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [4.94065645841e-324, NaN])) + +// f64.wast:499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -0.]), -2.22507385851e-308) + +// f64.wast:500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 0.]), -2.22507385851e-308) + +// f64.wast:501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -0.]), 2.22507385851e-308) + +// f64.wast:502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 0.]), 2.22507385851e-308) + +// f64.wast:503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -4.94065645841e-324]), -2.22507385851e-308) + +// f64.wast:504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 4.94065645841e-324]), -2.22507385851e-308) + +// f64.wast:505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -4.94065645841e-324]), 2.22507385851e-308) + +// f64.wast:506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 4.94065645841e-324]), 2.22507385851e-308) + +// f64.wast:507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -2.22507385851e-308]), 0.) + +// f64.wast:508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 2.22507385851e-308]), -4.45014771701e-308) + +// f64.wast:509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -2.22507385851e-308]), 4.45014771701e-308) + +// f64.wast:510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 2.22507385851e-308]), 0.) + +// f64.wast:511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -0.5]), 0.5) + +// f64.wast:512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 0.5]), -0.5) + +// f64.wast:513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -0.5]), 0.5) + +// f64.wast:514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 0.5]), -0.5) + +// f64.wast:515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -1.]), 1.) + +// f64.wast:516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 1.]), -1.) + +// f64.wast:517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -1.]), 1.) + +// f64.wast:518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 1.]), -1.) + +// f64.wast:519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -6.28318530718]), 6.28318530718) + +// f64.wast:520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 6.28318530718]), -6.28318530718) + +// f64.wast:521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -6.28318530718]), 6.28318530718) + +// f64.wast:522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 6.28318530718]), -6.28318530718) + +// f64.wast:523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, -Infinity]), Infinity) + +// f64.wast:528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-2.22507385851e-308, Infinity]), -Infinity) + +// f64.wast:529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, -Infinity]), Infinity) + +// f64.wast:530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [2.22507385851e-308, Infinity]), -Infinity) + +// f64.wast:531 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-2.22507385851e-308, NaN])) + +// f64.wast:532 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-2.22507385851e-308, NaN])) + +// f64.wast:533 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-2.22507385851e-308, NaN])) + +// f64.wast:534 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-2.22507385851e-308, NaN])) + +// f64.wast:535 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [2.22507385851e-308, NaN])) + +// f64.wast:536 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [2.22507385851e-308, NaN])) + +// f64.wast:537 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [2.22507385851e-308, NaN])) + +// f64.wast:538 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [2.22507385851e-308, NaN])) + +// f64.wast:539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -0.]), -0.5) + +// f64.wast:540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 0.]), -0.5) + +// f64.wast:541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -0.]), 0.5) + +// f64.wast:542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 0.]), 0.5) + +// f64.wast:543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -4.94065645841e-324]), -0.5) + +// f64.wast:544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 4.94065645841e-324]), -0.5) + +// f64.wast:545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -4.94065645841e-324]), 0.5) + +// f64.wast:546 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 4.94065645841e-324]), 0.5) + +// f64.wast:547 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -2.22507385851e-308]), -0.5) + +// f64.wast:548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 2.22507385851e-308]), -0.5) + +// f64.wast:549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -2.22507385851e-308]), 0.5) + +// f64.wast:550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 2.22507385851e-308]), 0.5) + +// f64.wast:551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -0.5]), 0.) + +// f64.wast:552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 0.5]), -1.) + +// f64.wast:553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -0.5]), 1.) + +// f64.wast:554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 0.5]), 0.) + +// f64.wast:555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -1.]), 0.5) + +// f64.wast:556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 1.]), -1.5) + +// f64.wast:557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -1.]), 1.5) + +// f64.wast:558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 1.]), -0.5) + +// f64.wast:559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -6.28318530718]), 5.78318530718) + +// f64.wast:560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 6.28318530718]), -6.78318530718) + +// f64.wast:561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -6.28318530718]), 6.78318530718) + +// f64.wast:562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 6.28318530718]), -5.78318530718) + +// f64.wast:563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, -Infinity]), Infinity) + +// f64.wast:568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-0.5, Infinity]), -Infinity) + +// f64.wast:569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, -Infinity]), Infinity) + +// f64.wast:570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [0.5, Infinity]), -Infinity) + +// f64.wast:571 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0.5, NaN])) + +// f64.wast:572 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0.5, NaN])) + +// f64.wast:573 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-0.5, NaN])) + +// f64.wast:574 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-0.5, NaN])) + +// f64.wast:575 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0.5, NaN])) + +// f64.wast:576 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0.5, NaN])) + +// f64.wast:577 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [0.5, NaN])) + +// f64.wast:578 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [0.5, NaN])) + +// f64.wast:579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -0.]), -1.) + +// f64.wast:580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 0.]), -1.) + +// f64.wast:581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -0.]), 1.) + +// f64.wast:582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 0.]), 1.) + +// f64.wast:583 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -4.94065645841e-324]), -1.) + +// f64.wast:584 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 4.94065645841e-324]), -1.) + +// f64.wast:585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -4.94065645841e-324]), 1.) + +// f64.wast:586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 4.94065645841e-324]), 1.) + +// f64.wast:587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -2.22507385851e-308]), -1.) + +// f64.wast:588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 2.22507385851e-308]), -1.) + +// f64.wast:589 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -2.22507385851e-308]), 1.) + +// f64.wast:590 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 2.22507385851e-308]), 1.) + +// f64.wast:591 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -0.5]), -0.5) + +// f64.wast:592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 0.5]), -1.5) + +// f64.wast:593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -0.5]), 1.5) + +// f64.wast:594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 0.5]), 0.5) + +// f64.wast:595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -1.]), 0.) + +// f64.wast:596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 1.]), -2.) + +// f64.wast:597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -1.]), 2.) + +// f64.wast:598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 1.]), 0.) + +// f64.wast:599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -6.28318530718]), 5.28318530718) + +// f64.wast:600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 6.28318530718]), -7.28318530718) + +// f64.wast:601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -6.28318530718]), 7.28318530718) + +// f64.wast:602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 6.28318530718]), -5.28318530718) + +// f64.wast:603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., -Infinity]), Infinity) + +// f64.wast:608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1., Infinity]), -Infinity) + +// f64.wast:609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., -Infinity]), Infinity) + +// f64.wast:610 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1., Infinity]), -Infinity) + +// f64.wast:611 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1., NaN])) + +// f64.wast:612 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1., NaN])) + +// f64.wast:613 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1., NaN])) + +// f64.wast:614 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1., NaN])) + +// f64.wast:615 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1., NaN])) + +// f64.wast:616 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1., NaN])) + +// f64.wast:617 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1., NaN])) + +// f64.wast:618 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1., NaN])) + +// f64.wast:619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -0.]), -6.28318530718) + +// f64.wast:620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 0.]), -6.28318530718) + +// f64.wast:621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -0.]), 6.28318530718) + +// f64.wast:622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 0.]), 6.28318530718) + +// f64.wast:623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -4.94065645841e-324]), -6.28318530718) + +// f64.wast:624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 4.94065645841e-324]), -6.28318530718) + +// f64.wast:625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -4.94065645841e-324]), 6.28318530718) + +// f64.wast:626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 4.94065645841e-324]), 6.28318530718) + +// f64.wast:627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -2.22507385851e-308]), -6.28318530718) + +// f64.wast:628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 2.22507385851e-308]), -6.28318530718) + +// f64.wast:629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -2.22507385851e-308]), 6.28318530718) + +// f64.wast:630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 2.22507385851e-308]), 6.28318530718) + +// f64.wast:631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -0.5]), -5.78318530718) + +// f64.wast:632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 0.5]), -6.78318530718) + +// f64.wast:633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1b\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -0.5]), 6.78318530718) + +// f64.wast:634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x17\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 0.5]), 5.78318530718) + +// f64.wast:635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -1.]), -5.28318530718) + +// f64.wast:636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 1.]), -7.28318530718) + +// f64.wast:637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x1d\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -1.]), 7.28318530718) + +// f64.wast:638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x15\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 1.]), 5.28318530718) + +// f64.wast:639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -6.28318530718]), 0.) + +// f64.wast:640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 6.28318530718]), -12.5663706144) + +// f64.wast:641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -6.28318530718]), 12.5663706144) + +// f64.wast:642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 6.28318530718]), 0.) + +// f64.wast:643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, -Infinity]), Infinity) + +// f64.wast:648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-6.28318530718, Infinity]), -Infinity) + +// f64.wast:649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, -Infinity]), Infinity) + +// f64.wast:650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [6.28318530718, Infinity]), -Infinity) + +// f64.wast:651 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-6.28318530718, NaN])) + +// f64.wast:652 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-6.28318530718, NaN])) + +// f64.wast:653 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-6.28318530718, NaN])) + +// f64.wast:654 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-6.28318530718, NaN])) + +// f64.wast:655 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [6.28318530718, NaN])) + +// f64.wast:656 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [6.28318530718, NaN])) + +// f64.wast:657 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [6.28318530718, NaN])) + +// f64.wast:658 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [6.28318530718, NaN])) + +// f64.wast:659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -0.]), -1.79769313486e+308) + +// f64.wast:660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 0.]), -1.79769313486e+308) + +// f64.wast:661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -0.]), 1.79769313486e+308) + +// f64.wast:662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 0.]), 1.79769313486e+308) + +// f64.wast:663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -4.94065645841e-324]), -1.79769313486e+308) + +// f64.wast:664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 4.94065645841e-324]), -1.79769313486e+308) + +// f64.wast:665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -4.94065645841e-324]), 1.79769313486e+308) + +// f64.wast:666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 4.94065645841e-324]), 1.79769313486e+308) + +// f64.wast:667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -2.22507385851e-308]), -1.79769313486e+308) + +// f64.wast:668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 2.22507385851e-308]), -1.79769313486e+308) + +// f64.wast:669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -2.22507385851e-308]), 1.79769313486e+308) + +// f64.wast:670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 2.22507385851e-308]), 1.79769313486e+308) + +// f64.wast:671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -0.5]), -1.79769313486e+308) + +// f64.wast:672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 0.5]), -1.79769313486e+308) + +// f64.wast:673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -0.5]), 1.79769313486e+308) + +// f64.wast:674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 0.5]), 1.79769313486e+308) + +// f64.wast:675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64.wast:676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 1.]), -1.79769313486e+308) + +// f64.wast:677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -1.]), 1.79769313486e+308) + +// f64.wast:678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64.wast:679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -6.28318530718]), -1.79769313486e+308) + +// f64.wast:680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 6.28318530718]), -1.79769313486e+308) + +// f64.wast:681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -6.28318530718]), 1.79769313486e+308) + +// f64.wast:682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 6.28318530718]), 1.79769313486e+308) + +// f64.wast:683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -1.79769313486e+308]), 0.) + +// f64.wast:684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, 1.79769313486e+308]), -Infinity) + +// f64.wast:685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -1.79769313486e+308]), Infinity) + +// f64.wast:686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, 1.79769313486e+308]), 0.) + +// f64.wast:687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, -Infinity]), Infinity) + +// f64.wast:688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-1.79769313486e+308, Infinity]), -Infinity) + +// f64.wast:689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, -Infinity]), Infinity) + +// f64.wast:690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [1.79769313486e+308, Infinity]), -Infinity) + +// f64.wast:691 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1.79769313486e+308, NaN])) + +// f64.wast:692 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1.79769313486e+308, NaN])) + +// f64.wast:693 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-1.79769313486e+308, NaN])) + +// f64.wast:694 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-1.79769313486e+308, NaN])) + +// f64.wast:695 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1.79769313486e+308, NaN])) + +// f64.wast:696 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1.79769313486e+308, NaN])) + +// f64.wast:697 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [1.79769313486e+308, NaN])) + +// f64.wast:698 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [1.79769313486e+308, NaN])) + +// f64.wast:699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -0.]), -Infinity) + +// f64.wast:700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 0.]), -Infinity) + +// f64.wast:701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -0.]), Infinity) + +// f64.wast:702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 0.]), Infinity) + +// f64.wast:703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -4.94065645841e-324]), -Infinity) + +// f64.wast:704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 4.94065645841e-324]), -Infinity) + +// f64.wast:705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -4.94065645841e-324]), Infinity) + +// f64.wast:706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 4.94065645841e-324]), Infinity) + +// f64.wast:707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -2.22507385851e-308]), -Infinity) + +// f64.wast:708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 2.22507385851e-308]), -Infinity) + +// f64.wast:709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -2.22507385851e-308]), Infinity) + +// f64.wast:710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 2.22507385851e-308]), Infinity) + +// f64.wast:711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -0.5]), -Infinity) + +// f64.wast:712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 0.5]), -Infinity) + +// f64.wast:713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -0.5]), Infinity) + +// f64.wast:714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 0.5]), Infinity) + +// f64.wast:715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -1.]), -Infinity) + +// f64.wast:716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 1.]), -Infinity) + +// f64.wast:717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -1.]), Infinity) + +// f64.wast:718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 1.]), Infinity) + +// f64.wast:719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -6.28318530718]), -Infinity) + +// f64.wast:720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 6.28318530718]), -Infinity) + +// f64.wast:721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -6.28318530718]), Infinity) + +// f64.wast:722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 6.28318530718]), Infinity) + +// f64.wast:723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, -1.79769313486e+308]), -Infinity) + +// f64.wast:724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, 1.79769313486e+308]), -Infinity) + +// f64.wast:725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -1.79769313486e+308]), Infinity) + +// f64.wast:726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, 1.79769313486e+308]), Infinity) + +// f64.wast:727 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-Infinity, -Infinity])) + +// f64.wast:728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [-Infinity, Infinity]), -Infinity) + +// f64.wast:729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [Infinity, -Infinity]), Infinity) + +// f64.wast:730 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [Infinity, Infinity])) + +// f64.wast:731 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f64.wast:732 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f64.wast:733 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f64.wast:734 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [-Infinity, NaN])) + +// f64.wast:735 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [Infinity, NaN])) + +// f64.wast:736 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [Infinity, NaN])) + +// f64.wast:737 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [Infinity, NaN])) + +// f64.wast:738 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [Infinity, NaN])) + +// f64.wast:739 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.])) + +// f64.wast:740 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.])) + +// f64.wast:741 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.])) + +// f64.wast:742 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.])) + +// f64.wast:743 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.])) + +// f64.wast:744 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.])) + +// f64.wast:745 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.])) + +// f64.wast:746 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.])) + +// f64.wast:747 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -4.94065645841e-324])) + +// f64.wast:748 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -4.94065645841e-324])) + +// f64.wast:749 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 4.94065645841e-324])) + +// f64.wast:750 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 4.94065645841e-324])) + +// f64.wast:751 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -4.94065645841e-324])) + +// f64.wast:752 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -4.94065645841e-324])) + +// f64.wast:753 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 4.94065645841e-324])) + +// f64.wast:754 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 4.94065645841e-324])) + +// f64.wast:755 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -2.22507385851e-308])) + +// f64.wast:756 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -2.22507385851e-308])) + +// f64.wast:757 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 2.22507385851e-308])) + +// f64.wast:758 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 2.22507385851e-308])) + +// f64.wast:759 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -2.22507385851e-308])) + +// f64.wast:760 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -2.22507385851e-308])) + +// f64.wast:761 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 2.22507385851e-308])) + +// f64.wast:762 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 2.22507385851e-308])) + +// f64.wast:763 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.5])) + +// f64.wast:764 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.5])) + +// f64.wast:765 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.5])) + +// f64.wast:766 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.5])) + +// f64.wast:767 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -0.5])) + +// f64.wast:768 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -0.5])) + +// f64.wast:769 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 0.5])) + +// f64.wast:770 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 0.5])) + +// f64.wast:771 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.])) + +// f64.wast:772 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.])) + +// f64.wast:773 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.])) + +// f64.wast:774 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.])) + +// f64.wast:775 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.])) + +// f64.wast:776 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.])) + +// f64.wast:777 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.])) + +// f64.wast:778 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.])) + +// f64.wast:779 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -6.28318530718])) + +// f64.wast:780 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -6.28318530718])) + +// f64.wast:781 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 6.28318530718])) + +// f64.wast:782 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 6.28318530718])) + +// f64.wast:783 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -6.28318530718])) + +// f64.wast:784 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -6.28318530718])) + +// f64.wast:785 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 6.28318530718])) + +// f64.wast:786 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 6.28318530718])) + +// f64.wast:787 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.79769313486e+308])) + +// f64.wast:788 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.79769313486e+308])) + +// f64.wast:789 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.79769313486e+308])) + +// f64.wast:790 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.79769313486e+308])) + +// f64.wast:791 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -1.79769313486e+308])) + +// f64.wast:792 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -1.79769313486e+308])) + +// f64.wast:793 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, 1.79769313486e+308])) + +// f64.wast:794 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, 1.79769313486e+308])) + +// f64.wast:795 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f64.wast:796 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f64.wast:797 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, Infinity])) + +// f64.wast:798 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, Infinity])) + +// f64.wast:799 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f64.wast:800 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, -Infinity])) + +// f64.wast:801 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, Infinity])) + +// f64.wast:802 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, Infinity])) + +// f64.wast:803 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:804 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:805 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:806 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:807 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:808 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:809 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:810 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:811 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:812 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:813 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:814 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:815 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:816 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:817 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:818 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sub", [NaN, NaN])) + +// f64.wast:819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -0.]), 0.) + +// f64.wast:820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 0.]), -0.) + +// f64.wast:821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -0.]), -0.) + +// f64.wast:822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 0.]), 0.) + +// f64.wast:823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -4.94065645841e-324]), 0.) + +// f64.wast:824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 4.94065645841e-324]), -0.) + +// f64.wast:825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -4.94065645841e-324]), -0.) + +// f64.wast:826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 4.94065645841e-324]), 0.) + +// f64.wast:827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -2.22507385851e-308]), 0.) + +// f64.wast:828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 2.22507385851e-308]), -0.) + +// f64.wast:829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -2.22507385851e-308]), -0.) + +// f64.wast:830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 2.22507385851e-308]), 0.) + +// f64.wast:831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -0.5]), 0.) + +// f64.wast:832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 0.5]), -0.) + +// f64.wast:833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -0.5]), -0.) + +// f64.wast:834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 0.5]), 0.) + +// f64.wast:835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -1.]), 0.) + +// f64.wast:836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 1.]), -0.) + +// f64.wast:837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -1.]), -0.) + +// f64.wast:838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 1.]), 0.) + +// f64.wast:839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -6.28318530718]), 0.) + +// f64.wast:840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 6.28318530718]), -0.) + +// f64.wast:841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -6.28318530718]), -0.) + +// f64.wast:842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 6.28318530718]), 0.) + +// f64.wast:843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., -1.79769313486e+308]), 0.) + +// f64.wast:844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0., 1.79769313486e+308]), -0.) + +// f64.wast:845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., -1.79769313486e+308]), -0.) + +// f64.wast:846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0., 1.79769313486e+308]), 0.) + +// f64.wast:847 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., -Infinity])) + +// f64.wast:848 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., Infinity])) + +// f64.wast:849 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., -Infinity])) + +// f64.wast:850 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., Infinity])) + +// f64.wast:851 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., NaN])) + +// f64.wast:852 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0., NaN])) + +// f64.wast:853 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0., NaN])) + +// f64.wast:854 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0., NaN])) + +// f64.wast:855 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., NaN])) + +// f64.wast:856 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0., NaN])) + +// f64.wast:857 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0., NaN])) + +// f64.wast:858 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0., NaN])) + +// f64.wast:859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -0.]), 0.) + +// f64.wast:860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 0.]), -0.) + +// f64.wast:861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -0.]), -0.) + +// f64.wast:862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 0.]), 0.) + +// f64.wast:863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -4.94065645841e-324]), 0.) + +// f64.wast:864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 4.94065645841e-324]), -0.) + +// f64.wast:865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -4.94065645841e-324]), -0.) + +// f64.wast:866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 4.94065645841e-324]), 0.) + +// f64.wast:867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -2.22507385851e-308]), 0.) + +// f64.wast:868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 2.22507385851e-308]), -0.) + +// f64.wast:869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -2.22507385851e-308]), -0.) + +// f64.wast:870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 2.22507385851e-308]), 0.) + +// f64.wast:871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -0.5]), 0.) + +// f64.wast:872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 0.5]), -0.) + +// f64.wast:873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -0.5]), -0.) + +// f64.wast:874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 0.5]), 0.) + +// f64.wast:875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -1.]), 4.94065645841e-324) + +// f64.wast:876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 1.]), -4.94065645841e-324) + +// f64.wast:877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -1.]), -4.94065645841e-324) + +// f64.wast:878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 1.]), 4.94065645841e-324) + +// f64.wast:879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -6.28318530718]), 2.96439387505e-323) + +// f64.wast:880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 6.28318530718]), -2.96439387505e-323) + +// f64.wast:881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -6.28318530718]), -2.96439387505e-323) + +// f64.wast:882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 6.28318530718]), 2.96439387505e-323) + +// f64.wast:883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -1.79769313486e+308]), 8.881784197e-16) + +// f64.wast:884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, 1.79769313486e+308]), -8.881784197e-16) + +// f64.wast:885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -1.79769313486e+308]), -8.881784197e-16) + +// f64.wast:886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, 1.79769313486e+308]), 8.881784197e-16) + +// f64.wast:887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, -Infinity]), Infinity) + +// f64.wast:888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-4.94065645841e-324, Infinity]), -Infinity) + +// f64.wast:889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, -Infinity]), -Infinity) + +// f64.wast:890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [4.94065645841e-324, Infinity]), Infinity) + +// f64.wast:891 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-4.94065645841e-324, NaN])) + +// f64.wast:892 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-4.94065645841e-324, NaN])) + +// f64.wast:893 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-4.94065645841e-324, NaN])) + +// f64.wast:894 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-4.94065645841e-324, NaN])) + +// f64.wast:895 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [4.94065645841e-324, NaN])) + +// f64.wast:896 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [4.94065645841e-324, NaN])) + +// f64.wast:897 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [4.94065645841e-324, NaN])) + +// f64.wast:898 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [4.94065645841e-324, NaN])) + +// f64.wast:899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -0.]), 0.) + +// f64.wast:900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 0.]), -0.) + +// f64.wast:901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -0.]), -0.) + +// f64.wast:902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 0.]), 0.) + +// f64.wast:903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -4.94065645841e-324]), 0.) + +// f64.wast:904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 4.94065645841e-324]), -0.) + +// f64.wast:905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -4.94065645841e-324]), -0.) + +// f64.wast:906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 4.94065645841e-324]), 0.) + +// f64.wast:907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -2.22507385851e-308]), 0.) + +// f64.wast:908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 2.22507385851e-308]), -0.) + +// f64.wast:909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -2.22507385851e-308]), -0.) + +// f64.wast:910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 2.22507385851e-308]), 0.) + +// f64.wast:911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -0.5]), 1.11253692925e-308) + +// f64.wast:912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 0.5]), -1.11253692925e-308) + +// f64.wast:913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -0.5]), -1.11253692925e-308) + +// f64.wast:914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 0.5]), 1.11253692925e-308) + +// f64.wast:915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -1.]), 2.22507385851e-308) + +// f64.wast:916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 1.]), -2.22507385851e-308) + +// f64.wast:917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -1.]), -2.22507385851e-308) + +// f64.wast:918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 1.]), 2.22507385851e-308) + +// f64.wast:919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -6.28318530718]), 1.39805513752e-307) + +// f64.wast:920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 6.28318530718]), -1.39805513752e-307) + +// f64.wast:921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -6.28318530718]), -1.39805513752e-307) + +// f64.wast:922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 6.28318530718]), 1.39805513752e-307) + +// f64.wast:923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -1.79769313486e+308]), 4.) + +// f64.wast:924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, 1.79769313486e+308]), -4.) + +// f64.wast:925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -1.79769313486e+308]), -4.) + +// f64.wast:926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, 1.79769313486e+308]), 4.) + +// f64.wast:927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, -Infinity]), Infinity) + +// f64.wast:928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-2.22507385851e-308, Infinity]), -Infinity) + +// f64.wast:929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, -Infinity]), -Infinity) + +// f64.wast:930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [2.22507385851e-308, Infinity]), Infinity) + +// f64.wast:931 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-2.22507385851e-308, NaN])) + +// f64.wast:932 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-2.22507385851e-308, NaN])) + +// f64.wast:933 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-2.22507385851e-308, NaN])) + +// f64.wast:934 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-2.22507385851e-308, NaN])) + +// f64.wast:935 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [2.22507385851e-308, NaN])) + +// f64.wast:936 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [2.22507385851e-308, NaN])) + +// f64.wast:937 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [2.22507385851e-308, NaN])) + +// f64.wast:938 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [2.22507385851e-308, NaN])) + +// f64.wast:939 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -0.]), 0.) + +// f64.wast:940 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 0.]), -0.) + +// f64.wast:941 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -0.]), -0.) + +// f64.wast:942 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 0.]), 0.) + +// f64.wast:943 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -4.94065645841e-324]), 0.) + +// f64.wast:944 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 4.94065645841e-324]), -0.) + +// f64.wast:945 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -4.94065645841e-324]), -0.) + +// f64.wast:946 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 4.94065645841e-324]), 0.) + +// f64.wast:947 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -2.22507385851e-308]), 1.11253692925e-308) + +// f64.wast:948 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 2.22507385851e-308]), -1.11253692925e-308) + +// f64.wast:949 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -2.22507385851e-308]), -1.11253692925e-308) + +// f64.wast:950 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 2.22507385851e-308]), 1.11253692925e-308) + +// f64.wast:951 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -0.5]), 0.25) + +// f64.wast:952 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 0.5]), -0.25) + +// f64.wast:953 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -0.5]), -0.25) + +// f64.wast:954 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 0.5]), 0.25) + +// f64.wast:955 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -1.]), 0.5) + +// f64.wast:956 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 1.]), -0.5) + +// f64.wast:957 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -1.]), -0.5) + +// f64.wast:958 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 1.]), 0.5) + +// f64.wast:959 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -6.28318530718]), 3.14159265359) + +// f64.wast:960 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 6.28318530718]), -3.14159265359) + +// f64.wast:961 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -6.28318530718]), -3.14159265359) + +// f64.wast:962 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 6.28318530718]), 3.14159265359) + +// f64.wast:963 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -1.79769313486e+308]), 8.98846567431e+307) + +// f64.wast:964 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, 1.79769313486e+308]), -8.98846567431e+307) + +// f64.wast:965 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -1.79769313486e+308]), -8.98846567431e+307) + +// f64.wast:966 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, 1.79769313486e+308]), 8.98846567431e+307) + +// f64.wast:967 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, -Infinity]), Infinity) + +// f64.wast:968 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-0.5, Infinity]), -Infinity) + +// f64.wast:969 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, -Infinity]), -Infinity) + +// f64.wast:970 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [0.5, Infinity]), Infinity) + +// f64.wast:971 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0.5, NaN])) + +// f64.wast:972 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0.5, NaN])) + +// f64.wast:973 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-0.5, NaN])) + +// f64.wast:974 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-0.5, NaN])) + +// f64.wast:975 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0.5, NaN])) + +// f64.wast:976 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0.5, NaN])) + +// f64.wast:977 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [0.5, NaN])) + +// f64.wast:978 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [0.5, NaN])) + +// f64.wast:979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -0.]), 0.) + +// f64.wast:980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 0.]), -0.) + +// f64.wast:981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -0.]), -0.) + +// f64.wast:982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 0.]), 0.) + +// f64.wast:983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -0.5]), 0.5) + +// f64.wast:992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 0.5]), -0.5) + +// f64.wast:993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -0.5]), -0.5) + +// f64.wast:994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 0.5]), 0.5) + +// f64.wast:995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -1.]), 1.) + +// f64.wast:996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 1.]), -1.) + +// f64.wast:997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -1.]), -1.) + +// f64.wast:998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 1.]), 1.) + +// f64.wast:999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -6.28318530718]), 6.28318530718) + +// f64.wast:1000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 6.28318530718]), -6.28318530718) + +// f64.wast:1001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -6.28318530718]), -6.28318530718) + +// f64.wast:1002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 6.28318530718]), 6.28318530718) + +// f64.wast:1003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:1004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1005 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1006 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:1007 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., -Infinity]), Infinity) + +// f64.wast:1008 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1., Infinity]), -Infinity) + +// f64.wast:1009 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., -Infinity]), -Infinity) + +// f64.wast:1010 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1., Infinity]), Infinity) + +// f64.wast:1011 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1., NaN])) + +// f64.wast:1012 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1., NaN])) + +// f64.wast:1013 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1., NaN])) + +// f64.wast:1014 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1., NaN])) + +// f64.wast:1015 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1., NaN])) + +// f64.wast:1016 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1., NaN])) + +// f64.wast:1017 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1., NaN])) + +// f64.wast:1018 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1., NaN])) + +// f64.wast:1019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -0.]), 0.) + +// f64.wast:1020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 0.]), -0.) + +// f64.wast:1021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -0.]), -0.) + +// f64.wast:1022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 0.]), 0.) + +// f64.wast:1023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -4.94065645841e-324]), 2.96439387505e-323) + +// f64.wast:1024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 4.94065645841e-324]), -2.96439387505e-323) + +// f64.wast:1025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -4.94065645841e-324]), -2.96439387505e-323) + +// f64.wast:1026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x06\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 4.94065645841e-324]), 2.96439387505e-323) + +// f64.wast:1027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -2.22507385851e-308]), 1.39805513752e-307) + +// f64.wast:1028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 2.22507385851e-308]), -1.39805513752e-307) + +// f64.wast:1029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -2.22507385851e-308]), -1.39805513752e-307) + +// f64.wast:1030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x39\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 2.22507385851e-308]), 1.39805513752e-307) + +// f64.wast:1031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -0.5]), 3.14159265359) + +// f64.wast:1032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 0.5]), -3.14159265359) + +// f64.wast:1033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -0.5]), -3.14159265359) + +// f64.wast:1034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 0.5]), 3.14159265359) + +// f64.wast:1035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -1.]), 6.28318530718) + +// f64.wast:1036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 1.]), -6.28318530718) + +// f64.wast:1037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -1.]), -6.28318530718) + +// f64.wast:1038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 1.]), 6.28318530718) + +// f64.wast:1039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xde\x45\xbe\xc9\x3c\xbd\x43\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -6.28318530718]), 39.4784176044) + +// f64.wast:1040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xde\x45\xbe\xc9\x3c\xbd\x43\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 6.28318530718]), -39.4784176044) + +// f64.wast:1041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xde\x45\xbe\xc9\x3c\xbd\x43\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -6.28318530718]), -39.4784176044) + +// f64.wast:1042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xde\x45\xbe\xc9\x3c\xbd\x43\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 6.28318530718]), 39.4784176044) + +// f64.wast:1043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -1.79769313486e+308]), Infinity) + +// f64.wast:1044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, 1.79769313486e+308]), -Infinity) + +// f64.wast:1045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -1.79769313486e+308]), -Infinity) + +// f64.wast:1046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, 1.79769313486e+308]), Infinity) + +// f64.wast:1047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, -Infinity]), Infinity) + +// f64.wast:1048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-6.28318530718, Infinity]), -Infinity) + +// f64.wast:1049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, -Infinity]), -Infinity) + +// f64.wast:1050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [6.28318530718, Infinity]), Infinity) + +// f64.wast:1051 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-6.28318530718, NaN])) + +// f64.wast:1052 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-6.28318530718, NaN])) + +// f64.wast:1053 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-6.28318530718, NaN])) + +// f64.wast:1054 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-6.28318530718, NaN])) + +// f64.wast:1055 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [6.28318530718, NaN])) + +// f64.wast:1056 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [6.28318530718, NaN])) + +// f64.wast:1057 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [6.28318530718, NaN])) + +// f64.wast:1058 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [6.28318530718, NaN])) + +// f64.wast:1059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -0.]), 0.) + +// f64.wast:1060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 0.]), -0.) + +// f64.wast:1061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -0.]), -0.) + +// f64.wast:1062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 0.]), 0.) + +// f64.wast:1063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -4.94065645841e-324]), 8.881784197e-16) + +// f64.wast:1064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 4.94065645841e-324]), -8.881784197e-16) + +// f64.wast:1065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -4.94065645841e-324]), -8.881784197e-16) + +// f64.wast:1066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xcf\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 4.94065645841e-324]), 8.881784197e-16) + +// f64.wast:1067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -2.22507385851e-308]), 4.) + +// f64.wast:1068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 2.22507385851e-308]), -4.) + +// f64.wast:1069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -2.22507385851e-308]), -4.) + +// f64.wast:1070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 2.22507385851e-308]), 4.) + +// f64.wast:1071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -0.5]), 8.98846567431e+307) + +// f64.wast:1072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 0.5]), -8.98846567431e+307) + +// f64.wast:1073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -0.5]), -8.98846567431e+307) + +// f64.wast:1074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xdf\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 0.5]), 8.98846567431e+307) + +// f64.wast:1075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -1.]), 1.79769313486e+308) + +// f64.wast:1076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 1.]), -1.79769313486e+308) + +// f64.wast:1077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64.wast:1078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64.wast:1079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -6.28318530718]), Infinity) + +// f64.wast:1080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 6.28318530718]), -Infinity) + +// f64.wast:1081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -6.28318530718]), -Infinity) + +// f64.wast:1082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 6.28318530718]), Infinity) + +// f64.wast:1083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -1.79769313486e+308]), Infinity) + +// f64.wast:1084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, 1.79769313486e+308]), -Infinity) + +// f64.wast:1085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -1.79769313486e+308]), -Infinity) + +// f64.wast:1086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, 1.79769313486e+308]), Infinity) + +// f64.wast:1087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, -Infinity]), Infinity) + +// f64.wast:1088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-1.79769313486e+308, Infinity]), -Infinity) + +// f64.wast:1089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, -Infinity]), -Infinity) + +// f64.wast:1090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [1.79769313486e+308, Infinity]), Infinity) + +// f64.wast:1091 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1.79769313486e+308, NaN])) + +// f64.wast:1092 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1.79769313486e+308, NaN])) + +// f64.wast:1093 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-1.79769313486e+308, NaN])) + +// f64.wast:1094 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-1.79769313486e+308, NaN])) + +// f64.wast:1095 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1.79769313486e+308, NaN])) + +// f64.wast:1096 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1.79769313486e+308, NaN])) + +// f64.wast:1097 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [1.79769313486e+308, NaN])) + +// f64.wast:1098 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [1.79769313486e+308, NaN])) + +// f64.wast:1099 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, -0.])) + +// f64.wast:1100 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, 0.])) + +// f64.wast:1101 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, -0.])) + +// f64.wast:1102 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, 0.])) + +// f64.wast:1103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -4.94065645841e-324]), Infinity) + +// f64.wast:1104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 4.94065645841e-324]), -Infinity) + +// f64.wast:1105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -4.94065645841e-324]), -Infinity) + +// f64.wast:1106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 4.94065645841e-324]), Infinity) + +// f64.wast:1107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -2.22507385851e-308]), Infinity) + +// f64.wast:1108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 2.22507385851e-308]), -Infinity) + +// f64.wast:1109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -2.22507385851e-308]), -Infinity) + +// f64.wast:1110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 2.22507385851e-308]), Infinity) + +// f64.wast:1111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -0.5]), Infinity) + +// f64.wast:1112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 0.5]), -Infinity) + +// f64.wast:1113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -0.5]), -Infinity) + +// f64.wast:1114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 0.5]), Infinity) + +// f64.wast:1115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -1.]), Infinity) + +// f64.wast:1116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 1.]), -Infinity) + +// f64.wast:1117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -1.]), -Infinity) + +// f64.wast:1118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 1.]), Infinity) + +// f64.wast:1119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -6.28318530718]), Infinity) + +// f64.wast:1120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 6.28318530718]), -Infinity) + +// f64.wast:1121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -6.28318530718]), -Infinity) + +// f64.wast:1122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 6.28318530718]), Infinity) + +// f64.wast:1123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -1.79769313486e+308]), Infinity) + +// f64.wast:1124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, 1.79769313486e+308]), -Infinity) + +// f64.wast:1125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -1.79769313486e+308]), -Infinity) + +// f64.wast:1126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, 1.79769313486e+308]), Infinity) + +// f64.wast:1127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, -Infinity]), Infinity) + +// f64.wast:1128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [-Infinity, Infinity]), -Infinity) + +// f64.wast:1129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, -Infinity]), -Infinity) + +// f64.wast:1130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [Infinity, Infinity]), Infinity) + +// f64.wast:1131 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f64.wast:1132 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f64.wast:1133 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f64.wast:1134 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [-Infinity, NaN])) + +// f64.wast:1135 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, NaN])) + +// f64.wast:1136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [Infinity, NaN])) + +// f64.wast:1137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [Infinity, NaN])) + +// f64.wast:1138 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [Infinity, NaN])) + +// f64.wast:1139 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.])) + +// f64.wast:1140 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.])) + +// f64.wast:1141 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.])) + +// f64.wast:1142 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.])) + +// f64.wast:1143 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.])) + +// f64.wast:1144 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.])) + +// f64.wast:1145 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.])) + +// f64.wast:1146 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.])) + +// f64.wast:1147 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -4.94065645841e-324])) + +// f64.wast:1148 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -4.94065645841e-324])) + +// f64.wast:1149 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 4.94065645841e-324])) + +// f64.wast:1150 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 4.94065645841e-324])) + +// f64.wast:1151 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -4.94065645841e-324])) + +// f64.wast:1152 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -4.94065645841e-324])) + +// f64.wast:1153 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 4.94065645841e-324])) + +// f64.wast:1154 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 4.94065645841e-324])) + +// f64.wast:1155 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -2.22507385851e-308])) + +// f64.wast:1156 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -2.22507385851e-308])) + +// f64.wast:1157 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 2.22507385851e-308])) + +// f64.wast:1158 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 2.22507385851e-308])) + +// f64.wast:1159 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -2.22507385851e-308])) + +// f64.wast:1160 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -2.22507385851e-308])) + +// f64.wast:1161 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 2.22507385851e-308])) + +// f64.wast:1162 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 2.22507385851e-308])) + +// f64.wast:1163 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.5])) + +// f64.wast:1164 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.5])) + +// f64.wast:1165 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.5])) + +// f64.wast:1166 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.5])) + +// f64.wast:1167 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -0.5])) + +// f64.wast:1168 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -0.5])) + +// f64.wast:1169 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 0.5])) + +// f64.wast:1170 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 0.5])) + +// f64.wast:1171 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.])) + +// f64.wast:1172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.])) + +// f64.wast:1173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.])) + +// f64.wast:1174 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.])) + +// f64.wast:1175 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.])) + +// f64.wast:1176 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.])) + +// f64.wast:1177 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.])) + +// f64.wast:1178 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.])) + +// f64.wast:1179 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -6.28318530718])) + +// f64.wast:1180 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -6.28318530718])) + +// f64.wast:1181 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 6.28318530718])) + +// f64.wast:1182 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 6.28318530718])) + +// f64.wast:1183 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -6.28318530718])) + +// f64.wast:1184 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -6.28318530718])) + +// f64.wast:1185 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 6.28318530718])) + +// f64.wast:1186 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 6.28318530718])) + +// f64.wast:1187 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.79769313486e+308])) + +// f64.wast:1188 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.79769313486e+308])) + +// f64.wast:1189 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.79769313486e+308])) + +// f64.wast:1190 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.79769313486e+308])) + +// f64.wast:1191 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -1.79769313486e+308])) + +// f64.wast:1192 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -1.79769313486e+308])) + +// f64.wast:1193 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, 1.79769313486e+308])) + +// f64.wast:1194 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, 1.79769313486e+308])) + +// f64.wast:1195 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f64.wast:1196 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f64.wast:1197 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, Infinity])) + +// f64.wast:1198 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, Infinity])) + +// f64.wast:1199 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f64.wast:1200 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, -Infinity])) + +// f64.wast:1201 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, Infinity])) + +// f64.wast:1202 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, Infinity])) + +// f64.wast:1203 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1204 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1205 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1206 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1207 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1208 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1209 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1210 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1212 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1213 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1214 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1215 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1216 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1217 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1218 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "mul", [NaN, NaN])) + +// f64.wast:1219 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., -0.])) + +// f64.wast:1220 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., 0.])) + +// f64.wast:1221 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., -0.])) + +// f64.wast:1222 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., 0.])) + +// f64.wast:1223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -4.94065645841e-324]), 0.) + +// f64.wast:1224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 4.94065645841e-324]), -0.) + +// f64.wast:1225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -4.94065645841e-324]), -0.) + +// f64.wast:1226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 4.94065645841e-324]), 0.) + +// f64.wast:1227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -2.22507385851e-308]), 0.) + +// f64.wast:1228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 2.22507385851e-308]), -0.) + +// f64.wast:1229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -2.22507385851e-308]), -0.) + +// f64.wast:1230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 2.22507385851e-308]), 0.) + +// f64.wast:1231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -0.5]), 0.) + +// f64.wast:1232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 0.5]), -0.) + +// f64.wast:1233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -0.5]), -0.) + +// f64.wast:1234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 0.5]), 0.) + +// f64.wast:1235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -1.]), 0.) + +// f64.wast:1236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 1.]), -0.) + +// f64.wast:1237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -1.]), -0.) + +// f64.wast:1238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 1.]), 0.) + +// f64.wast:1239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -6.28318530718]), 0.) + +// f64.wast:1240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 6.28318530718]), -0.) + +// f64.wast:1241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -6.28318530718]), -0.) + +// f64.wast:1242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 6.28318530718]), 0.) + +// f64.wast:1243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -1.79769313486e+308]), 0.) + +// f64.wast:1244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., 1.79769313486e+308]), -0.) + +// f64.wast:1245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -1.79769313486e+308]), -0.) + +// f64.wast:1246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., 1.79769313486e+308]), 0.) + +// f64.wast:1247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., -Infinity]), 0.) + +// f64.wast:1248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0., Infinity]), -0.) + +// f64.wast:1249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., -Infinity]), -0.) + +// f64.wast:1250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0., Infinity]), 0.) + +// f64.wast:1251 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., NaN])) + +// f64.wast:1252 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0., NaN])) + +// f64.wast:1253 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0., NaN])) + +// f64.wast:1254 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0., NaN])) + +// f64.wast:1255 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., NaN])) + +// f64.wast:1256 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0., NaN])) + +// f64.wast:1257 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0., NaN])) + +// f64.wast:1258 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0., NaN])) + +// f64.wast:1259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -0.]), Infinity) + +// f64.wast:1260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 0.]), -Infinity) + +// f64.wast:1261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -0.]), -Infinity) + +// f64.wast:1262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 0.]), Infinity) + +// f64.wast:1263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -4.94065645841e-324]), 1.) + +// f64.wast:1264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 4.94065645841e-324]), -1.) + +// f64.wast:1265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -4.94065645841e-324]), -1.) + +// f64.wast:1266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 4.94065645841e-324]), 1.) + +// f64.wast:1267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -2.22507385851e-308]), 2.22044604925e-16) + +// f64.wast:1268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 2.22507385851e-308]), -2.22044604925e-16) + +// f64.wast:1269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -2.22507385851e-308]), -2.22044604925e-16) + +// f64.wast:1270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 2.22507385851e-308]), 2.22044604925e-16) + +// f64.wast:1271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -0.5]), 9.88131291682e-324) + +// f64.wast:1272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 0.5]), -9.88131291682e-324) + +// f64.wast:1273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -0.5]), -9.88131291682e-324) + +// f64.wast:1274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 0.5]), 9.88131291682e-324) + +// f64.wast:1275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -1.]), 4.94065645841e-324) + +// f64.wast:1276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 1.]), -4.94065645841e-324) + +// f64.wast:1277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -1.]), -4.94065645841e-324) + +// f64.wast:1278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 1.]), 4.94065645841e-324) + +// f64.wast:1279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -6.28318530718]), 0.) + +// f64.wast:1280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 6.28318530718]), -0.) + +// f64.wast:1281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -6.28318530718]), -0.) + +// f64.wast:1282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 6.28318530718]), 0.) + +// f64.wast:1283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -1.79769313486e+308]), 0.) + +// f64.wast:1284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, 1.79769313486e+308]), -0.) + +// f64.wast:1285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -1.79769313486e+308]), -0.) + +// f64.wast:1286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, 1.79769313486e+308]), 0.) + +// f64.wast:1287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, -Infinity]), 0.) + +// f64.wast:1288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-4.94065645841e-324, Infinity]), -0.) + +// f64.wast:1289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, -Infinity]), -0.) + +// f64.wast:1290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [4.94065645841e-324, Infinity]), 0.) + +// f64.wast:1291 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-4.94065645841e-324, NaN])) + +// f64.wast:1292 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-4.94065645841e-324, NaN])) + +// f64.wast:1293 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-4.94065645841e-324, NaN])) + +// f64.wast:1294 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-4.94065645841e-324, NaN])) + +// f64.wast:1295 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [4.94065645841e-324, NaN])) + +// f64.wast:1296 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [4.94065645841e-324, NaN])) + +// f64.wast:1297 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [4.94065645841e-324, NaN])) + +// f64.wast:1298 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [4.94065645841e-324, NaN])) + +// f64.wast:1299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -0.]), Infinity) + +// f64.wast:1300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 0.]), -Infinity) + +// f64.wast:1301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -0.]), -Infinity) + +// f64.wast:1302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 0.]), Infinity) + +// f64.wast:1303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -4.94065645841e-324]), 4.50359962737e+15) + +// f64.wast:1304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 4.94065645841e-324]), -4.50359962737e+15) + +// f64.wast:1305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -4.94065645841e-324]), -4.50359962737e+15) + +// f64.wast:1306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 4.94065645841e-324]), 4.50359962737e+15) + +// f64.wast:1307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -2.22507385851e-308]), 1.) + +// f64.wast:1308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 2.22507385851e-308]), -1.) + +// f64.wast:1309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -2.22507385851e-308]), -1.) + +// f64.wast:1310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 2.22507385851e-308]), 1.) + +// f64.wast:1311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -0.5]), 4.45014771701e-308) + +// f64.wast:1312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 0.5]), -4.45014771701e-308) + +// f64.wast:1313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -0.5]), -4.45014771701e-308) + +// f64.wast:1314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 0.5]), 4.45014771701e-308) + +// f64.wast:1315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -1.]), 2.22507385851e-308) + +// f64.wast:1316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 1.]), -2.22507385851e-308) + +// f64.wast:1317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -1.]), -2.22507385851e-308) + +// f64.wast:1318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 1.]), 2.22507385851e-308) + +// f64.wast:1319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x10\x39\xb9\x0d\xe6\x8b\x02\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -6.28318530718]), 3.54131503326e-309) + +// f64.wast:1320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x10\x39\xb9\x0d\xe6\x8b\x02\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 6.28318530718]), -3.54131503326e-309) + +// f64.wast:1321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x10\x39\xb9\x0d\xe6\x8b\x02\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -6.28318530718]), -3.54131503326e-309) + +// f64.wast:1322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x10\x39\xb9\x0d\xe6\x8b\x02\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 6.28318530718]), 3.54131503326e-309) + +// f64.wast:1323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -1.79769313486e+308]), 0.) + +// f64.wast:1324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, 1.79769313486e+308]), -0.) + +// f64.wast:1325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -1.79769313486e+308]), -0.) + +// f64.wast:1326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, 1.79769313486e+308]), 0.) + +// f64.wast:1327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, -Infinity]), 0.) + +// f64.wast:1328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-2.22507385851e-308, Infinity]), -0.) + +// f64.wast:1329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, -Infinity]), -0.) + +// f64.wast:1330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [2.22507385851e-308, Infinity]), 0.) + +// f64.wast:1331 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-2.22507385851e-308, NaN])) + +// f64.wast:1332 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-2.22507385851e-308, NaN])) + +// f64.wast:1333 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-2.22507385851e-308, NaN])) + +// f64.wast:1334 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-2.22507385851e-308, NaN])) + +// f64.wast:1335 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [2.22507385851e-308, NaN])) + +// f64.wast:1336 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [2.22507385851e-308, NaN])) + +// f64.wast:1337 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [2.22507385851e-308, NaN])) + +// f64.wast:1338 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [2.22507385851e-308, NaN])) + +// f64.wast:1339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -0.]), Infinity) + +// f64.wast:1340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 0.]), -Infinity) + +// f64.wast:1341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -0.]), -Infinity) + +// f64.wast:1342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 0.]), Infinity) + +// f64.wast:1343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -4.94065645841e-324]), Infinity) + +// f64.wast:1344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 4.94065645841e-324]), -Infinity) + +// f64.wast:1345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -4.94065645841e-324]), -Infinity) + +// f64.wast:1346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 4.94065645841e-324]), Infinity) + +// f64.wast:1347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xc0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -2.22507385851e-308]), 2.24711641858e+307) + +// f64.wast:1348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xc0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 2.22507385851e-308]), -2.24711641858e+307) + +// f64.wast:1349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xc0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -2.22507385851e-308]), -2.24711641858e+307) + +// f64.wast:1350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xc0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 2.22507385851e-308]), 2.24711641858e+307) + +// f64.wast:1351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -0.5]), 1.) + +// f64.wast:1352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 0.5]), -1.) + +// f64.wast:1353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -0.5]), -1.) + +// f64.wast:1354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 0.5]), 1.) + +// f64.wast:1355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -1.]), 0.5) + +// f64.wast:1356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 1.]), -0.5) + +// f64.wast:1357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -1.]), -0.5) + +// f64.wast:1358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 1.]), 0.5) + +// f64.wast:1359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xb4\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -6.28318530718]), 0.0795774715459) + +// f64.wast:1360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xb4\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 6.28318530718]), -0.0795774715459) + +// f64.wast:1361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xb4\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -6.28318530718]), -0.0795774715459) + +// f64.wast:1362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xb4\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 6.28318530718]), 0.0795774715459) + +// f64.wast:1363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x02\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -1.79769313486e+308]), 2.78134232313e-309) + +// f64.wast:1364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x02\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, 1.79769313486e+308]), -2.78134232313e-309) + +// f64.wast:1365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x02\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -1.79769313486e+308]), -2.78134232313e-309) + +// f64.wast:1366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x02\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, 1.79769313486e+308]), 2.78134232313e-309) + +// f64.wast:1367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, -Infinity]), 0.) + +// f64.wast:1368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-0.5, Infinity]), -0.) + +// f64.wast:1369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, -Infinity]), -0.) + +// f64.wast:1370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [0.5, Infinity]), 0.) + +// f64.wast:1371 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0.5, NaN])) + +// f64.wast:1372 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0.5, NaN])) + +// f64.wast:1373 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-0.5, NaN])) + +// f64.wast:1374 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-0.5, NaN])) + +// f64.wast:1375 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0.5, NaN])) + +// f64.wast:1376 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0.5, NaN])) + +// f64.wast:1377 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [0.5, NaN])) + +// f64.wast:1378 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [0.5, NaN])) + +// f64.wast:1379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -0.]), Infinity) + +// f64.wast:1380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 0.]), -Infinity) + +// f64.wast:1381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -0.]), -Infinity) + +// f64.wast:1382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 0.]), Infinity) + +// f64.wast:1383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -4.94065645841e-324]), Infinity) + +// f64.wast:1384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 4.94065645841e-324]), -Infinity) + +// f64.wast:1385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -4.94065645841e-324]), -Infinity) + +// f64.wast:1386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 4.94065645841e-324]), Infinity) + +// f64.wast:1387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -2.22507385851e-308]), 4.49423283716e+307) + +// f64.wast:1388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 2.22507385851e-308]), -4.49423283716e+307) + +// f64.wast:1389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -2.22507385851e-308]), -4.49423283716e+307) + +// f64.wast:1390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xd0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 2.22507385851e-308]), 4.49423283716e+307) + +// f64.wast:1391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -0.5]), 2.) + +// f64.wast:1392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 0.5]), -2.) + +// f64.wast:1393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -0.5]), -2.) + +// f64.wast:1394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 0.5]), 2.) + +// f64.wast:1395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -1.]), 1.) + +// f64.wast:1396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 1.]), -1.) + +// f64.wast:1397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -1.]), -1.) + +// f64.wast:1398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 1.]), 1.) + +// f64.wast:1399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xc4\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -6.28318530718]), 0.159154943092) + +// f64.wast:1400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xc4\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 6.28318530718]), -0.159154943092) + +// f64.wast:1401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xc4\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -6.28318530718]), -0.159154943092) + +// f64.wast:1402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x83\xc8\xc9\x6d\x30\x5f\xc4\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 6.28318530718]), 0.159154943092) + +// f64.wast:1403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x04\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -1.79769313486e+308]), 5.56268464627e-309) + +// f64.wast:1404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x04\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., 1.79769313486e+308]), -5.56268464627e-309) + +// f64.wast:1405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x04\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -1.79769313486e+308]), -5.56268464627e-309) + +// f64.wast:1406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x04\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., 1.79769313486e+308]), 5.56268464627e-309) + +// f64.wast:1407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., -Infinity]), 0.) + +// f64.wast:1408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1., Infinity]), -0.) + +// f64.wast:1409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., -Infinity]), -0.) + +// f64.wast:1410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1., Infinity]), 0.) + +// f64.wast:1411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1., NaN])) + +// f64.wast:1412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1., NaN])) + +// f64.wast:1413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1., NaN])) + +// f64.wast:1414 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1., NaN])) + +// f64.wast:1415 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1., NaN])) + +// f64.wast:1416 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1., NaN])) + +// f64.wast:1417 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1., NaN])) + +// f64.wast:1418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1., NaN])) + +// f64.wast:1419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -0.]), Infinity) + +// f64.wast:1420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 0.]), -Infinity) + +// f64.wast:1421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -0.]), -Infinity) + +// f64.wast:1422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 0.]), Infinity) + +// f64.wast:1423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -4.94065645841e-324]), Infinity) + +// f64.wast:1424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 4.94065645841e-324]), -Infinity) + +// f64.wast:1425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -4.94065645841e-324]), -Infinity) + +// f64.wast:1426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 4.94065645841e-324]), Infinity) + +// f64.wast:1427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -2.22507385851e-308]), Infinity) + +// f64.wast:1428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 2.22507385851e-308]), -Infinity) + +// f64.wast:1429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -2.22507385851e-308]), -Infinity) + +// f64.wast:1430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 2.22507385851e-308]), Infinity) + +// f64.wast:1431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -0.5]), 12.5663706144) + +// f64.wast:1432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 0.5]), -12.5663706144) + +// f64.wast:1433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -0.5]), -12.5663706144) + +// f64.wast:1434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x29\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 0.5]), 12.5663706144) + +// f64.wast:1435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -1.]), 6.28318530718) + +// f64.wast:1436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 1.]), -6.28318530718) + +// f64.wast:1437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -1.]), -6.28318530718) + +// f64.wast:1438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 1.]), 6.28318530718) + +// f64.wast:1439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -6.28318530718]), 1.) + +// f64.wast:1440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 6.28318530718]), -1.) + +// f64.wast:1441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -6.28318530718]), -1.) + +// f64.wast:1442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 6.28318530718]), 1.) + +// f64.wast:1443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x19\x2d\x44\x54\xfb\x21\x19\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -1.79769313486e+308]), 3.49513784379e-308) + +// f64.wast:1444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x19\x2d\x44\x54\xfb\x21\x19\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, 1.79769313486e+308]), -3.49513784379e-308) + +// f64.wast:1445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x19\x2d\x44\x54\xfb\x21\x19\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -1.79769313486e+308]), -3.49513784379e-308) + +// f64.wast:1446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x19\x2d\x44\x54\xfb\x21\x19\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, 1.79769313486e+308]), 3.49513784379e-308) + +// f64.wast:1447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, -Infinity]), 0.) + +// f64.wast:1448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-6.28318530718, Infinity]), -0.) + +// f64.wast:1449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, -Infinity]), -0.) + +// f64.wast:1450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [6.28318530718, Infinity]), 0.) + +// f64.wast:1451 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-6.28318530718, NaN])) + +// f64.wast:1452 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-6.28318530718, NaN])) + +// f64.wast:1453 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-6.28318530718, NaN])) + +// f64.wast:1454 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-6.28318530718, NaN])) + +// f64.wast:1455 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [6.28318530718, NaN])) + +// f64.wast:1456 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [6.28318530718, NaN])) + +// f64.wast:1457 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [6.28318530718, NaN])) + +// f64.wast:1458 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [6.28318530718, NaN])) + +// f64.wast:1459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -0.]), Infinity) + +// f64.wast:1460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 0.]), -Infinity) + +// f64.wast:1461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -0.]), -Infinity) + +// f64.wast:1462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 0.]), Infinity) + +// f64.wast:1463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -4.94065645841e-324]), Infinity) + +// f64.wast:1464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 4.94065645841e-324]), -Infinity) + +// f64.wast:1465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -4.94065645841e-324]), -Infinity) + +// f64.wast:1466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 4.94065645841e-324]), Infinity) + +// f64.wast:1467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -2.22507385851e-308]), Infinity) + +// f64.wast:1468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 2.22507385851e-308]), -Infinity) + +// f64.wast:1469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -2.22507385851e-308]), -Infinity) + +// f64.wast:1470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 2.22507385851e-308]), Infinity) + +// f64.wast:1471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -0.5]), Infinity) + +// f64.wast:1472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 0.5]), -Infinity) + +// f64.wast:1473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -0.5]), -Infinity) + +// f64.wast:1474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 0.5]), Infinity) + +// f64.wast:1475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -1.]), 1.79769313486e+308) + +// f64.wast:1476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 1.]), -1.79769313486e+308) + +// f64.wast:1477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64.wast:1478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64.wast:1479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x82\xc8\xc9\x6d\x30\x5f\xc4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -6.28318530718]), 2.86111748576e+307) + +// f64.wast:1480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x82\xc8\xc9\x6d\x30\x5f\xc4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 6.28318530718]), -2.86111748576e+307) + +// f64.wast:1481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x82\xc8\xc9\x6d\x30\x5f\xc4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -6.28318530718]), -2.86111748576e+307) + +// f64.wast:1482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x82\xc8\xc9\x6d\x30\x5f\xc4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 6.28318530718]), 2.86111748576e+307) + +// f64.wast:1483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -1.79769313486e+308]), 1.) + +// f64.wast:1484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, 1.79769313486e+308]), -1.) + +// f64.wast:1485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -1.79769313486e+308]), -1.) + +// f64.wast:1486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, 1.79769313486e+308]), 1.) + +// f64.wast:1487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, -Infinity]), 0.) + +// f64.wast:1488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-1.79769313486e+308, Infinity]), -0.) + +// f64.wast:1489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, -Infinity]), -0.) + +// f64.wast:1490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [1.79769313486e+308, Infinity]), 0.) + +// f64.wast:1491 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1.79769313486e+308, NaN])) + +// f64.wast:1492 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1.79769313486e+308, NaN])) + +// f64.wast:1493 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-1.79769313486e+308, NaN])) + +// f64.wast:1494 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-1.79769313486e+308, NaN])) + +// f64.wast:1495 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1.79769313486e+308, NaN])) + +// f64.wast:1496 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1.79769313486e+308, NaN])) + +// f64.wast:1497 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [1.79769313486e+308, NaN])) + +// f64.wast:1498 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [1.79769313486e+308, NaN])) + +// f64.wast:1499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -0.]), Infinity) + +// f64.wast:1500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 0.]), -Infinity) + +// f64.wast:1501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -0.]), -Infinity) + +// f64.wast:1502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 0.]), Infinity) + +// f64.wast:1503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -4.94065645841e-324]), Infinity) + +// f64.wast:1504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 4.94065645841e-324]), -Infinity) + +// f64.wast:1505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -4.94065645841e-324]), -Infinity) + +// f64.wast:1506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 4.94065645841e-324]), Infinity) + +// f64.wast:1507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -2.22507385851e-308]), Infinity) + +// f64.wast:1508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 2.22507385851e-308]), -Infinity) + +// f64.wast:1509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -2.22507385851e-308]), -Infinity) + +// f64.wast:1510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 2.22507385851e-308]), Infinity) + +// f64.wast:1511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -0.5]), Infinity) + +// f64.wast:1512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 0.5]), -Infinity) + +// f64.wast:1513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -0.5]), -Infinity) + +// f64.wast:1514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 0.5]), Infinity) + +// f64.wast:1515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -1.]), Infinity) + +// f64.wast:1516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 1.]), -Infinity) + +// f64.wast:1517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -1.]), -Infinity) + +// f64.wast:1518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 1.]), Infinity) + +// f64.wast:1519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -6.28318530718]), Infinity) + +// f64.wast:1520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 6.28318530718]), -Infinity) + +// f64.wast:1521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -6.28318530718]), -Infinity) + +// f64.wast:1522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 6.28318530718]), Infinity) + +// f64.wast:1523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, -1.79769313486e+308]), Infinity) + +// f64.wast:1524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [-Infinity, 1.79769313486e+308]), -Infinity) + +// f64.wast:1525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, -1.79769313486e+308]), -Infinity) + +// f64.wast:1526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div", [Infinity, 1.79769313486e+308]), Infinity) + +// f64.wast:1527 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, -Infinity])) + +// f64.wast:1528 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, Infinity])) + +// f64.wast:1529 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, -Infinity])) + +// f64.wast:1530 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, Infinity])) + +// f64.wast:1531 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, NaN])) + +// f64.wast:1532 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-Infinity, NaN])) + +// f64.wast:1533 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [-Infinity, NaN])) + +// f64.wast:1534 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [-Infinity, NaN])) + +// f64.wast:1535 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, NaN])) + +// f64.wast:1536 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [Infinity, NaN])) + +// f64.wast:1537 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [Infinity, NaN])) + +// f64.wast:1538 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [Infinity, NaN])) + +// f64.wast:1539 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.])) + +// f64.wast:1540 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.])) + +// f64.wast:1541 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.])) + +// f64.wast:1542 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.])) + +// f64.wast:1543 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.])) + +// f64.wast:1544 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.])) + +// f64.wast:1545 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.])) + +// f64.wast:1546 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.])) + +// f64.wast:1547 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -4.94065645841e-324])) + +// f64.wast:1548 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -4.94065645841e-324])) + +// f64.wast:1549 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 4.94065645841e-324])) + +// f64.wast:1550 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 4.94065645841e-324])) + +// f64.wast:1551 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -4.94065645841e-324])) + +// f64.wast:1552 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -4.94065645841e-324])) + +// f64.wast:1553 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 4.94065645841e-324])) + +// f64.wast:1554 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 4.94065645841e-324])) + +// f64.wast:1555 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -2.22507385851e-308])) + +// f64.wast:1556 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -2.22507385851e-308])) + +// f64.wast:1557 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 2.22507385851e-308])) + +// f64.wast:1558 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 2.22507385851e-308])) + +// f64.wast:1559 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -2.22507385851e-308])) + +// f64.wast:1560 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -2.22507385851e-308])) + +// f64.wast:1561 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 2.22507385851e-308])) + +// f64.wast:1562 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 2.22507385851e-308])) + +// f64.wast:1563 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.5])) + +// f64.wast:1564 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.5])) + +// f64.wast:1565 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.5])) + +// f64.wast:1566 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.5])) + +// f64.wast:1567 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -0.5])) + +// f64.wast:1568 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -0.5])) + +// f64.wast:1569 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 0.5])) + +// f64.wast:1570 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 0.5])) + +// f64.wast:1571 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.])) + +// f64.wast:1572 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.])) + +// f64.wast:1573 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.])) + +// f64.wast:1574 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.])) + +// f64.wast:1575 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.])) + +// f64.wast:1576 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.])) + +// f64.wast:1577 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.])) + +// f64.wast:1578 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.])) + +// f64.wast:1579 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -6.28318530718])) + +// f64.wast:1580 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -6.28318530718])) + +// f64.wast:1581 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 6.28318530718])) + +// f64.wast:1582 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 6.28318530718])) + +// f64.wast:1583 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -6.28318530718])) + +// f64.wast:1584 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -6.28318530718])) + +// f64.wast:1585 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 6.28318530718])) + +// f64.wast:1586 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 6.28318530718])) + +// f64.wast:1587 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.79769313486e+308])) + +// f64.wast:1588 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.79769313486e+308])) + +// f64.wast:1589 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.79769313486e+308])) + +// f64.wast:1590 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.79769313486e+308])) + +// f64.wast:1591 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -1.79769313486e+308])) + +// f64.wast:1592 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -1.79769313486e+308])) + +// f64.wast:1593 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, 1.79769313486e+308])) + +// f64.wast:1594 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, 1.79769313486e+308])) + +// f64.wast:1595 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -Infinity])) + +// f64.wast:1596 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -Infinity])) + +// f64.wast:1597 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, Infinity])) + +// f64.wast:1598 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, Infinity])) + +// f64.wast:1599 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, -Infinity])) + +// f64.wast:1600 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, -Infinity])) + +// f64.wast:1601 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, Infinity])) + +// f64.wast:1602 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, Infinity])) + +// f64.wast:1603 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1604 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1605 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1606 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1607 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1608 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1609 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1610 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1611 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1612 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1613 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1614 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1615 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1616 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1617 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1618 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "div", [NaN, NaN])) + +// f64.wast:1619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -0.]), -0.) + +// f64.wast:1620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 0.]), -0.) + +// f64.wast:1621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -0.]), -0.) + +// f64.wast:1622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 0.]), 0.) + +// f64.wast:1623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 4.94065645841e-324]), -0.) + +// f64.wast:1625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 4.94065645841e-324]), 0.) + +// f64.wast:1627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 2.22507385851e-308]), -0.) + +// f64.wast:1629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 2.22507385851e-308]), 0.) + +// f64.wast:1631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -0.5]), -0.5) + +// f64.wast:1632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 0.5]), -0.) + +// f64.wast:1633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -0.5]), -0.5) + +// f64.wast:1634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 0.5]), 0.) + +// f64.wast:1635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -1.]), -1.) + +// f64.wast:1636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 1.]), -0.) + +// f64.wast:1637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -1.]), -1.) + +// f64.wast:1638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 1.]), 0.) + +// f64.wast:1639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -6.28318530718]), -6.28318530718) + +// f64.wast:1640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 6.28318530718]), -0.) + +// f64.wast:1641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -6.28318530718]), -6.28318530718) + +// f64.wast:1642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 6.28318530718]), 0.) + +// f64.wast:1643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., 1.79769313486e+308]), -0.) + +// f64.wast:1645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., 1.79769313486e+308]), 0.) + +// f64.wast:1647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., -Infinity]), -Infinity) + +// f64.wast:1648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0., Infinity]), -0.) + +// f64.wast:1649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., -Infinity]), -Infinity) + +// f64.wast:1650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0., Infinity]), 0.) + +// f64.wast:1651 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0., NaN])) + +// f64.wast:1652 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0., NaN])) + +// f64.wast:1653 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0., NaN])) + +// f64.wast:1654 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0., NaN])) + +// f64.wast:1655 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0., NaN])) + +// f64.wast:1656 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0., NaN])) + +// f64.wast:1657 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0., NaN])) + +// f64.wast:1658 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0., NaN])) + +// f64.wast:1659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -0.]), -4.94065645841e-324) + +// f64.wast:1660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 0.]), -4.94065645841e-324) + +// f64.wast:1661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -0.]), -0.) + +// f64.wast:1662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 0.]), 0.) + +// f64.wast:1663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 2.22507385851e-308]), -4.94065645841e-324) + +// f64.wast:1669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 2.22507385851e-308]), 4.94065645841e-324) + +// f64.wast:1671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -0.5]), -0.5) + +// f64.wast:1672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 0.5]), -4.94065645841e-324) + +// f64.wast:1673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -0.5]), -0.5) + +// f64.wast:1674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 0.5]), 4.94065645841e-324) + +// f64.wast:1675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -1.]), -1.) + +// f64.wast:1676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 1.]), -4.94065645841e-324) + +// f64.wast:1677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -1.]), -1.) + +// f64.wast:1678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 1.]), 4.94065645841e-324) + +// f64.wast:1679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -6.28318530718]), -6.28318530718) + +// f64.wast:1680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 6.28318530718]), -4.94065645841e-324) + +// f64.wast:1681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -6.28318530718]), -6.28318530718) + +// f64.wast:1682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 6.28318530718]), 4.94065645841e-324) + +// f64.wast:1683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, 1.79769313486e+308]), -4.94065645841e-324) + +// f64.wast:1685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, 1.79769313486e+308]), 4.94065645841e-324) + +// f64.wast:1687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, -Infinity]), -Infinity) + +// f64.wast:1688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-4.94065645841e-324, Infinity]), -4.94065645841e-324) + +// f64.wast:1689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, -Infinity]), -Infinity) + +// f64.wast:1690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [4.94065645841e-324, Infinity]), 4.94065645841e-324) + +// f64.wast:1691 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-4.94065645841e-324, NaN])) + +// f64.wast:1692 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-4.94065645841e-324, NaN])) + +// f64.wast:1693 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-4.94065645841e-324, NaN])) + +// f64.wast:1694 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-4.94065645841e-324, NaN])) + +// f64.wast:1695 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [4.94065645841e-324, NaN])) + +// f64.wast:1696 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [4.94065645841e-324, NaN])) + +// f64.wast:1697 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [4.94065645841e-324, NaN])) + +// f64.wast:1698 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [4.94065645841e-324, NaN])) + +// f64.wast:1699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -0.]), -2.22507385851e-308) + +// f64.wast:1700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 0.]), -2.22507385851e-308) + +// f64.wast:1701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -0.]), -0.) + +// f64.wast:1702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 0.]), 0.) + +// f64.wast:1703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -4.94065645841e-324]), -2.22507385851e-308) + +// f64.wast:1704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 4.94065645841e-324]), -2.22507385851e-308) + +// f64.wast:1705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:1711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -0.5]), -0.5) + +// f64.wast:1712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 0.5]), -2.22507385851e-308) + +// f64.wast:1713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -0.5]), -0.5) + +// f64.wast:1714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 0.5]), 2.22507385851e-308) + +// f64.wast:1715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -1.]), -1.) + +// f64.wast:1716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 1.]), -2.22507385851e-308) + +// f64.wast:1717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -1.]), -1.) + +// f64.wast:1718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 1.]), 2.22507385851e-308) + +// f64.wast:1719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -6.28318530718]), -6.28318530718) + +// f64.wast:1720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 6.28318530718]), -2.22507385851e-308) + +// f64.wast:1721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -6.28318530718]), -6.28318530718) + +// f64.wast:1722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 6.28318530718]), 2.22507385851e-308) + +// f64.wast:1723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, 1.79769313486e+308]), -2.22507385851e-308) + +// f64.wast:1725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, 1.79769313486e+308]), 2.22507385851e-308) + +// f64.wast:1727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, -Infinity]), -Infinity) + +// f64.wast:1728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-2.22507385851e-308, Infinity]), -2.22507385851e-308) + +// f64.wast:1729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, -Infinity]), -Infinity) + +// f64.wast:1730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [2.22507385851e-308, Infinity]), 2.22507385851e-308) + +// f64.wast:1731 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-2.22507385851e-308, NaN])) + +// f64.wast:1732 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-2.22507385851e-308, NaN])) + +// f64.wast:1733 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-2.22507385851e-308, NaN])) + +// f64.wast:1734 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-2.22507385851e-308, NaN])) + +// f64.wast:1735 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [2.22507385851e-308, NaN])) + +// f64.wast:1736 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [2.22507385851e-308, NaN])) + +// f64.wast:1737 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [2.22507385851e-308, NaN])) + +// f64.wast:1738 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [2.22507385851e-308, NaN])) + +// f64.wast:1739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -0.]), -0.5) + +// f64.wast:1740 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 0.]), -0.5) + +// f64.wast:1741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -0.]), -0.) + +// f64.wast:1742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 0.]), 0.) + +// f64.wast:1743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -4.94065645841e-324]), -0.5) + +// f64.wast:1744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 4.94065645841e-324]), -0.5) + +// f64.wast:1745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -2.22507385851e-308]), -0.5) + +// f64.wast:1748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 2.22507385851e-308]), -0.5) + +// f64.wast:1749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:1751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -0.5]), -0.5) + +// f64.wast:1752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 0.5]), -0.5) + +// f64.wast:1753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -0.5]), -0.5) + +// f64.wast:1754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 0.5]), 0.5) + +// f64.wast:1755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -1.]), -1.) + +// f64.wast:1756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 1.]), -0.5) + +// f64.wast:1757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -1.]), -1.) + +// f64.wast:1758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 1.]), 0.5) + +// f64.wast:1759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -6.28318530718]), -6.28318530718) + +// f64.wast:1760 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 6.28318530718]), -0.5) + +// f64.wast:1761 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -6.28318530718]), -6.28318530718) + +// f64.wast:1762 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 6.28318530718]), 0.5) + +// f64.wast:1763 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1764 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, 1.79769313486e+308]), -0.5) + +// f64.wast:1765 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1766 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, 1.79769313486e+308]), 0.5) + +// f64.wast:1767 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, -Infinity]), -Infinity) + +// f64.wast:1768 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-0.5, Infinity]), -0.5) + +// f64.wast:1769 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, -Infinity]), -Infinity) + +// f64.wast:1770 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [0.5, Infinity]), 0.5) + +// f64.wast:1771 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0.5, NaN])) + +// f64.wast:1772 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0.5, NaN])) + +// f64.wast:1773 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-0.5, NaN])) + +// f64.wast:1774 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-0.5, NaN])) + +// f64.wast:1775 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0.5, NaN])) + +// f64.wast:1776 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0.5, NaN])) + +// f64.wast:1777 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [0.5, NaN])) + +// f64.wast:1778 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [0.5, NaN])) + +// f64.wast:1779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -0.]), -1.) + +// f64.wast:1780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 0.]), -1.) + +// f64.wast:1781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -0.]), -0.) + +// f64.wast:1782 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 0.]), 0.) + +// f64.wast:1783 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -4.94065645841e-324]), -1.) + +// f64.wast:1784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 4.94065645841e-324]), -1.) + +// f64.wast:1785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -2.22507385851e-308]), -1.) + +// f64.wast:1788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 2.22507385851e-308]), -1.) + +// f64.wast:1789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:1791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -0.5]), -1.) + +// f64.wast:1792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 0.5]), -1.) + +// f64.wast:1793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -0.5]), -0.5) + +// f64.wast:1794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 0.5]), 0.5) + +// f64.wast:1795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -1.]), -1.) + +// f64.wast:1796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 1.]), -1.) + +// f64.wast:1797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -1.]), -1.) + +// f64.wast:1798 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 1.]), 1.) + +// f64.wast:1799 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -6.28318530718]), -6.28318530718) + +// f64.wast:1800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 6.28318530718]), -1.) + +// f64.wast:1801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -6.28318530718]), -6.28318530718) + +// f64.wast:1802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 6.28318530718]), 1.) + +// f64.wast:1803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1804 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., 1.79769313486e+308]), -1.) + +// f64.wast:1805 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1806 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., 1.79769313486e+308]), 1.) + +// f64.wast:1807 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., -Infinity]), -Infinity) + +// f64.wast:1808 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1., Infinity]), -1.) + +// f64.wast:1809 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., -Infinity]), -Infinity) + +// f64.wast:1810 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1., Infinity]), 1.) + +// f64.wast:1811 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1., NaN])) + +// f64.wast:1812 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1., NaN])) + +// f64.wast:1813 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1., NaN])) + +// f64.wast:1814 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1., NaN])) + +// f64.wast:1815 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1., NaN])) + +// f64.wast:1816 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1., NaN])) + +// f64.wast:1817 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1., NaN])) + +// f64.wast:1818 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1., NaN])) + +// f64.wast:1819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -0.]), -6.28318530718) + +// f64.wast:1820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 0.]), -6.28318530718) + +// f64.wast:1821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -0.]), -0.) + +// f64.wast:1822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 0.]), 0.) + +// f64.wast:1823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -4.94065645841e-324]), -6.28318530718) + +// f64.wast:1824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 4.94065645841e-324]), -6.28318530718) + +// f64.wast:1825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -2.22507385851e-308]), -6.28318530718) + +// f64.wast:1828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 2.22507385851e-308]), -6.28318530718) + +// f64.wast:1829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:1831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -0.5]), -6.28318530718) + +// f64.wast:1832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 0.5]), -6.28318530718) + +// f64.wast:1833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -0.5]), -0.5) + +// f64.wast:1834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 0.5]), 0.5) + +// f64.wast:1835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -1.]), -6.28318530718) + +// f64.wast:1836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 1.]), -6.28318530718) + +// f64.wast:1837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -1.]), -1.) + +// f64.wast:1838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 1.]), 1.) + +// f64.wast:1839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -6.28318530718]), -6.28318530718) + +// f64.wast:1840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 6.28318530718]), -6.28318530718) + +// f64.wast:1841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -6.28318530718]), -6.28318530718) + +// f64.wast:1842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 6.28318530718]), 6.28318530718) + +// f64.wast:1843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, 1.79769313486e+308]), -6.28318530718) + +// f64.wast:1845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, 1.79769313486e+308]), 6.28318530718) + +// f64.wast:1847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, -Infinity]), -Infinity) + +// f64.wast:1848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-6.28318530718, Infinity]), -6.28318530718) + +// f64.wast:1849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, -Infinity]), -Infinity) + +// f64.wast:1850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [6.28318530718, Infinity]), 6.28318530718) + +// f64.wast:1851 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-6.28318530718, NaN])) + +// f64.wast:1852 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-6.28318530718, NaN])) + +// f64.wast:1853 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-6.28318530718, NaN])) + +// f64.wast:1854 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-6.28318530718, NaN])) + +// f64.wast:1855 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [6.28318530718, NaN])) + +// f64.wast:1856 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [6.28318530718, NaN])) + +// f64.wast:1857 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [6.28318530718, NaN])) + +// f64.wast:1858 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [6.28318530718, NaN])) + +// f64.wast:1859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -0.]), -1.79769313486e+308) + +// f64.wast:1860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 0.]), -1.79769313486e+308) + +// f64.wast:1861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -0.]), -0.) + +// f64.wast:1862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 0.]), 0.) + +// f64.wast:1863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -4.94065645841e-324]), -1.79769313486e+308) + +// f64.wast:1864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 4.94065645841e-324]), -1.79769313486e+308) + +// f64.wast:1865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -2.22507385851e-308]), -1.79769313486e+308) + +// f64.wast:1868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 2.22507385851e-308]), -1.79769313486e+308) + +// f64.wast:1869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:1871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -0.5]), -1.79769313486e+308) + +// f64.wast:1872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 0.5]), -1.79769313486e+308) + +// f64.wast:1873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -0.5]), -0.5) + +// f64.wast:1874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 0.5]), 0.5) + +// f64.wast:1875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64.wast:1876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 1.]), -1.79769313486e+308) + +// f64.wast:1877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -1.]), -1.) + +// f64.wast:1878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 1.]), 1.) + +// f64.wast:1879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -6.28318530718]), -1.79769313486e+308) + +// f64.wast:1880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 6.28318530718]), -1.79769313486e+308) + +// f64.wast:1881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -6.28318530718]), -6.28318530718) + +// f64.wast:1882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 6.28318530718]), 6.28318530718) + +// f64.wast:1883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, 1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:1887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, -Infinity]), -Infinity) + +// f64.wast:1888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-1.79769313486e+308, Infinity]), -1.79769313486e+308) + +// f64.wast:1889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, -Infinity]), -Infinity) + +// f64.wast:1890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [1.79769313486e+308, Infinity]), 1.79769313486e+308) + +// f64.wast:1891 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1.79769313486e+308, NaN])) + +// f64.wast:1892 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1.79769313486e+308, NaN])) + +// f64.wast:1893 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-1.79769313486e+308, NaN])) + +// f64.wast:1894 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-1.79769313486e+308, NaN])) + +// f64.wast:1895 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1.79769313486e+308, NaN])) + +// f64.wast:1896 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1.79769313486e+308, NaN])) + +// f64.wast:1897 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [1.79769313486e+308, NaN])) + +// f64.wast:1898 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [1.79769313486e+308, NaN])) + +// f64.wast:1899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -0.]), -Infinity) + +// f64.wast:1900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 0.]), -Infinity) + +// f64.wast:1901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -0.]), -0.) + +// f64.wast:1902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 0.]), 0.) + +// f64.wast:1903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -4.94065645841e-324]), -Infinity) + +// f64.wast:1904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 4.94065645841e-324]), -Infinity) + +// f64.wast:1905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:1906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:1907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -2.22507385851e-308]), -Infinity) + +// f64.wast:1908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 2.22507385851e-308]), -Infinity) + +// f64.wast:1909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:1910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:1911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -0.5]), -Infinity) + +// f64.wast:1912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 0.5]), -Infinity) + +// f64.wast:1913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -0.5]), -0.5) + +// f64.wast:1914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 0.5]), 0.5) + +// f64.wast:1915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -1.]), -Infinity) + +// f64.wast:1916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 1.]), -Infinity) + +// f64.wast:1917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -1.]), -1.) + +// f64.wast:1918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 1.]), 1.) + +// f64.wast:1919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -6.28318530718]), -Infinity) + +// f64.wast:1920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 6.28318530718]), -Infinity) + +// f64.wast:1921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -6.28318530718]), -6.28318530718) + +// f64.wast:1922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 6.28318530718]), 6.28318530718) + +// f64.wast:1923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -1.79769313486e+308]), -Infinity) + +// f64.wast:1924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, 1.79769313486e+308]), -Infinity) + +// f64.wast:1925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:1926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:1927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, -Infinity]), -Infinity) + +// f64.wast:1928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [-Infinity, Infinity]), -Infinity) + +// f64.wast:1929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, -Infinity]), -Infinity) + +// f64.wast:1930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "min", [Infinity, Infinity]), Infinity) + +// f64.wast:1931 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-Infinity, NaN])) + +// f64.wast:1932 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-Infinity, NaN])) + +// f64.wast:1933 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [-Infinity, NaN])) + +// f64.wast:1934 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [-Infinity, NaN])) + +// f64.wast:1935 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [Infinity, NaN])) + +// f64.wast:1936 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [Infinity, NaN])) + +// f64.wast:1937 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [Infinity, NaN])) + +// f64.wast:1938 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [Infinity, NaN])) + +// f64.wast:1939 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.])) + +// f64.wast:1940 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.])) + +// f64.wast:1941 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.])) + +// f64.wast:1942 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.])) + +// f64.wast:1943 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.])) + +// f64.wast:1944 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.])) + +// f64.wast:1945 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.])) + +// f64.wast:1946 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.])) + +// f64.wast:1947 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -4.94065645841e-324])) + +// f64.wast:1948 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -4.94065645841e-324])) + +// f64.wast:1949 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 4.94065645841e-324])) + +// f64.wast:1950 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 4.94065645841e-324])) + +// f64.wast:1951 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -4.94065645841e-324])) + +// f64.wast:1952 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -4.94065645841e-324])) + +// f64.wast:1953 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 4.94065645841e-324])) + +// f64.wast:1954 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 4.94065645841e-324])) + +// f64.wast:1955 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -2.22507385851e-308])) + +// f64.wast:1956 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -2.22507385851e-308])) + +// f64.wast:1957 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 2.22507385851e-308])) + +// f64.wast:1958 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 2.22507385851e-308])) + +// f64.wast:1959 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -2.22507385851e-308])) + +// f64.wast:1960 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -2.22507385851e-308])) + +// f64.wast:1961 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 2.22507385851e-308])) + +// f64.wast:1962 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 2.22507385851e-308])) + +// f64.wast:1963 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.5])) + +// f64.wast:1964 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.5])) + +// f64.wast:1965 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.5])) + +// f64.wast:1966 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.5])) + +// f64.wast:1967 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -0.5])) + +// f64.wast:1968 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -0.5])) + +// f64.wast:1969 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 0.5])) + +// f64.wast:1970 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 0.5])) + +// f64.wast:1971 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.])) + +// f64.wast:1972 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.])) + +// f64.wast:1973 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.])) + +// f64.wast:1974 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.])) + +// f64.wast:1975 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.])) + +// f64.wast:1976 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.])) + +// f64.wast:1977 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.])) + +// f64.wast:1978 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.])) + +// f64.wast:1979 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -6.28318530718])) + +// f64.wast:1980 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -6.28318530718])) + +// f64.wast:1981 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 6.28318530718])) + +// f64.wast:1982 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 6.28318530718])) + +// f64.wast:1983 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -6.28318530718])) + +// f64.wast:1984 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -6.28318530718])) + +// f64.wast:1985 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 6.28318530718])) + +// f64.wast:1986 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 6.28318530718])) + +// f64.wast:1987 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.79769313486e+308])) + +// f64.wast:1988 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.79769313486e+308])) + +// f64.wast:1989 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.79769313486e+308])) + +// f64.wast:1990 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.79769313486e+308])) + +// f64.wast:1991 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -1.79769313486e+308])) + +// f64.wast:1992 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -1.79769313486e+308])) + +// f64.wast:1993 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, 1.79769313486e+308])) + +// f64.wast:1994 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, 1.79769313486e+308])) + +// f64.wast:1995 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -Infinity])) + +// f64.wast:1996 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -Infinity])) + +// f64.wast:1997 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, Infinity])) + +// f64.wast:1998 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, Infinity])) + +// f64.wast:1999 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, -Infinity])) + +// f64.wast:2000 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, -Infinity])) + +// f64.wast:2001 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, Infinity])) + +// f64.wast:2002 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, Infinity])) + +// f64.wast:2003 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2004 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2005 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2006 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2007 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2008 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2009 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2010 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2011 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2012 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2013 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2014 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2015 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2016 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2017 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2018 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "min", [NaN, NaN])) + +// f64.wast:2019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -0.]), -0.) + +// f64.wast:2020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 0.]), 0.) + +// f64.wast:2021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -0.]), 0.) + +// f64.wast:2022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 0.]), 0.) + +// f64.wast:2023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -4.94065645841e-324]), -0.) + +// f64.wast:2024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -4.94065645841e-324]), 0.) + +// f64.wast:2026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -2.22507385851e-308]), -0.) + +// f64.wast:2028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -2.22507385851e-308]), 0.) + +// f64.wast:2030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -0.5]), -0.) + +// f64.wast:2032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 0.5]), 0.5) + +// f64.wast:2033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -0.5]), 0.) + +// f64.wast:2034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 0.5]), 0.5) + +// f64.wast:2035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -1.]), -0.) + +// f64.wast:2036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 1.]), 1.) + +// f64.wast:2037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -1.]), 0.) + +// f64.wast:2038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 1.]), 1.) + +// f64.wast:2039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -6.28318530718]), -0.) + +// f64.wast:2040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 6.28318530718]), 6.28318530718) + +// f64.wast:2041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -6.28318530718]), 0.) + +// f64.wast:2042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 6.28318530718]), 6.28318530718) + +// f64.wast:2043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -1.79769313486e+308]), -0.) + +// f64.wast:2044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -1.79769313486e+308]), 0.) + +// f64.wast:2046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., -Infinity]), -0.) + +// f64.wast:2048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0., Infinity]), Infinity) + +// f64.wast:2049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., -Infinity]), 0.) + +// f64.wast:2050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0., Infinity]), Infinity) + +// f64.wast:2051 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0., NaN])) + +// f64.wast:2052 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0., NaN])) + +// f64.wast:2053 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0., NaN])) + +// f64.wast:2054 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0., NaN])) + +// f64.wast:2055 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0., NaN])) + +// f64.wast:2056 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0., NaN])) + +// f64.wast:2057 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0., NaN])) + +// f64.wast:2058 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0., NaN])) + +// f64.wast:2059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -0.]), -0.) + +// f64.wast:2060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 0.]), 0.) + +// f64.wast:2061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -0.]), 4.94065645841e-324) + +// f64.wast:2062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 0.]), 4.94065645841e-324) + +// f64.wast:2063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -2.22507385851e-308]), -4.94065645841e-324) + +// f64.wast:2068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -2.22507385851e-308]), 4.94065645841e-324) + +// f64.wast:2070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -0.5]), -4.94065645841e-324) + +// f64.wast:2072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 0.5]), 0.5) + +// f64.wast:2073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -0.5]), 4.94065645841e-324) + +// f64.wast:2074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 0.5]), 0.5) + +// f64.wast:2075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -1.]), -4.94065645841e-324) + +// f64.wast:2076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 1.]), 1.) + +// f64.wast:2077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -1.]), 4.94065645841e-324) + +// f64.wast:2078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 1.]), 1.) + +// f64.wast:2079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -6.28318530718]), -4.94065645841e-324) + +// f64.wast:2080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 6.28318530718]), 6.28318530718) + +// f64.wast:2081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -6.28318530718]), 4.94065645841e-324) + +// f64.wast:2082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 6.28318530718]), 6.28318530718) + +// f64.wast:2083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -1.79769313486e+308]), -4.94065645841e-324) + +// f64.wast:2084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -1.79769313486e+308]), 4.94065645841e-324) + +// f64.wast:2086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, -Infinity]), -4.94065645841e-324) + +// f64.wast:2088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-4.94065645841e-324, Infinity]), Infinity) + +// f64.wast:2089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, -Infinity]), 4.94065645841e-324) + +// f64.wast:2090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [4.94065645841e-324, Infinity]), Infinity) + +// f64.wast:2091 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-4.94065645841e-324, NaN])) + +// f64.wast:2092 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-4.94065645841e-324, NaN])) + +// f64.wast:2093 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-4.94065645841e-324, NaN])) + +// f64.wast:2094 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-4.94065645841e-324, NaN])) + +// f64.wast:2095 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [4.94065645841e-324, NaN])) + +// f64.wast:2096 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [4.94065645841e-324, NaN])) + +// f64.wast:2097 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [4.94065645841e-324, NaN])) + +// f64.wast:2098 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [4.94065645841e-324, NaN])) + +// f64.wast:2099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -0.]), -0.) + +// f64.wast:2100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 0.]), 0.) + +// f64.wast:2101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -0.]), 2.22507385851e-308) + +// f64.wast:2102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 0.]), 2.22507385851e-308) + +// f64.wast:2103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -4.94065645841e-324]), 2.22507385851e-308) + +// f64.wast:2106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 4.94065645841e-324]), 2.22507385851e-308) + +// f64.wast:2107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:2108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -0.5]), -2.22507385851e-308) + +// f64.wast:2112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 0.5]), 0.5) + +// f64.wast:2113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -0.5]), 2.22507385851e-308) + +// f64.wast:2114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 0.5]), 0.5) + +// f64.wast:2115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -1.]), -2.22507385851e-308) + +// f64.wast:2116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 1.]), 1.) + +// f64.wast:2117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -1.]), 2.22507385851e-308) + +// f64.wast:2118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 1.]), 1.) + +// f64.wast:2119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -6.28318530718]), -2.22507385851e-308) + +// f64.wast:2120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 6.28318530718]), 6.28318530718) + +// f64.wast:2121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -6.28318530718]), 2.22507385851e-308) + +// f64.wast:2122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 6.28318530718]), 6.28318530718) + +// f64.wast:2123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -1.79769313486e+308]), -2.22507385851e-308) + +// f64.wast:2124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -1.79769313486e+308]), 2.22507385851e-308) + +// f64.wast:2126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, -Infinity]), -2.22507385851e-308) + +// f64.wast:2128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-2.22507385851e-308, Infinity]), Infinity) + +// f64.wast:2129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, -Infinity]), 2.22507385851e-308) + +// f64.wast:2130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [2.22507385851e-308, Infinity]), Infinity) + +// f64.wast:2131 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-2.22507385851e-308, NaN])) + +// f64.wast:2132 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-2.22507385851e-308, NaN])) + +// f64.wast:2133 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-2.22507385851e-308, NaN])) + +// f64.wast:2134 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-2.22507385851e-308, NaN])) + +// f64.wast:2135 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [2.22507385851e-308, NaN])) + +// f64.wast:2136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [2.22507385851e-308, NaN])) + +// f64.wast:2137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [2.22507385851e-308, NaN])) + +// f64.wast:2138 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [2.22507385851e-308, NaN])) + +// f64.wast:2139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -0.]), -0.) + +// f64.wast:2140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 0.]), 0.) + +// f64.wast:2141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -0.]), 0.5) + +// f64.wast:2142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 0.]), 0.5) + +// f64.wast:2143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -4.94065645841e-324]), 0.5) + +// f64.wast:2146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 4.94065645841e-324]), 0.5) + +// f64.wast:2147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:2148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -2.22507385851e-308]), 0.5) + +// f64.wast:2150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 2.22507385851e-308]), 0.5) + +// f64.wast:2151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -0.5]), -0.5) + +// f64.wast:2152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 0.5]), 0.5) + +// f64.wast:2153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -0.5]), 0.5) + +// f64.wast:2154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 0.5]), 0.5) + +// f64.wast:2155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -1.]), -0.5) + +// f64.wast:2156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 1.]), 1.) + +// f64.wast:2157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -1.]), 0.5) + +// f64.wast:2158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 1.]), 1.) + +// f64.wast:2159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -6.28318530718]), -0.5) + +// f64.wast:2160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 6.28318530718]), 6.28318530718) + +// f64.wast:2161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -6.28318530718]), 0.5) + +// f64.wast:2162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 6.28318530718]), 6.28318530718) + +// f64.wast:2163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -1.79769313486e+308]), -0.5) + +// f64.wast:2164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -1.79769313486e+308]), 0.5) + +// f64.wast:2166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, -Infinity]), -0.5) + +// f64.wast:2168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-0.5, Infinity]), Infinity) + +// f64.wast:2169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, -Infinity]), 0.5) + +// f64.wast:2170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [0.5, Infinity]), Infinity) + +// f64.wast:2171 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0.5, NaN])) + +// f64.wast:2172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0.5, NaN])) + +// f64.wast:2173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-0.5, NaN])) + +// f64.wast:2174 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-0.5, NaN])) + +// f64.wast:2175 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0.5, NaN])) + +// f64.wast:2176 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0.5, NaN])) + +// f64.wast:2177 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [0.5, NaN])) + +// f64.wast:2178 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [0.5, NaN])) + +// f64.wast:2179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -0.]), -0.) + +// f64.wast:2180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 0.]), 0.) + +// f64.wast:2181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -0.]), 1.) + +// f64.wast:2182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 0.]), 1.) + +// f64.wast:2183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -4.94065645841e-324]), 1.) + +// f64.wast:2186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 4.94065645841e-324]), 1.) + +// f64.wast:2187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:2188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -2.22507385851e-308]), 1.) + +// f64.wast:2190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 2.22507385851e-308]), 1.) + +// f64.wast:2191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -0.5]), -0.5) + +// f64.wast:2192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 0.5]), 0.5) + +// f64.wast:2193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -0.5]), 1.) + +// f64.wast:2194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 0.5]), 1.) + +// f64.wast:2195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -1.]), -1.) + +// f64.wast:2196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 1.]), 1.) + +// f64.wast:2197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -1.]), 1.) + +// f64.wast:2198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 1.]), 1.) + +// f64.wast:2199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -6.28318530718]), -1.) + +// f64.wast:2200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 6.28318530718]), 6.28318530718) + +// f64.wast:2201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -6.28318530718]), 1.) + +// f64.wast:2202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 6.28318530718]), 6.28318530718) + +// f64.wast:2203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -1.79769313486e+308]), -1.) + +// f64.wast:2204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -1.79769313486e+308]), 1.) + +// f64.wast:2206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., -Infinity]), -1.) + +// f64.wast:2208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1., Infinity]), Infinity) + +// f64.wast:2209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., -Infinity]), 1.) + +// f64.wast:2210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1., Infinity]), Infinity) + +// f64.wast:2211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1., NaN])) + +// f64.wast:2212 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1., NaN])) + +// f64.wast:2213 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1., NaN])) + +// f64.wast:2214 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1., NaN])) + +// f64.wast:2215 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1., NaN])) + +// f64.wast:2216 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1., NaN])) + +// f64.wast:2217 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1., NaN])) + +// f64.wast:2218 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1., NaN])) + +// f64.wast:2219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -0.]), -0.) + +// f64.wast:2220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 0.]), 0.) + +// f64.wast:2221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -0.]), 6.28318530718) + +// f64.wast:2222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 0.]), 6.28318530718) + +// f64.wast:2223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -4.94065645841e-324]), 6.28318530718) + +// f64.wast:2226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 4.94065645841e-324]), 6.28318530718) + +// f64.wast:2227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:2228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -2.22507385851e-308]), 6.28318530718) + +// f64.wast:2230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 2.22507385851e-308]), 6.28318530718) + +// f64.wast:2231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -0.5]), -0.5) + +// f64.wast:2232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 0.5]), 0.5) + +// f64.wast:2233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -0.5]), 6.28318530718) + +// f64.wast:2234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 0.5]), 6.28318530718) + +// f64.wast:2235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -1.]), -1.) + +// f64.wast:2236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 1.]), 1.) + +// f64.wast:2237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -1.]), 6.28318530718) + +// f64.wast:2238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 1.]), 6.28318530718) + +// f64.wast:2239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -6.28318530718]), -6.28318530718) + +// f64.wast:2240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 6.28318530718]), 6.28318530718) + +// f64.wast:2241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -6.28318530718]), 6.28318530718) + +// f64.wast:2242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 6.28318530718]), 6.28318530718) + +// f64.wast:2243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -1.79769313486e+308]), -6.28318530718) + +// f64.wast:2244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -1.79769313486e+308]), 6.28318530718) + +// f64.wast:2246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, -Infinity]), -6.28318530718) + +// f64.wast:2248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-6.28318530718, Infinity]), Infinity) + +// f64.wast:2249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, -Infinity]), 6.28318530718) + +// f64.wast:2250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [6.28318530718, Infinity]), Infinity) + +// f64.wast:2251 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-6.28318530718, NaN])) + +// f64.wast:2252 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-6.28318530718, NaN])) + +// f64.wast:2253 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-6.28318530718, NaN])) + +// f64.wast:2254 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-6.28318530718, NaN])) + +// f64.wast:2255 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [6.28318530718, NaN])) + +// f64.wast:2256 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [6.28318530718, NaN])) + +// f64.wast:2257 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [6.28318530718, NaN])) + +// f64.wast:2258 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [6.28318530718, NaN])) + +// f64.wast:2259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -0.]), -0.) + +// f64.wast:2260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 0.]), 0.) + +// f64.wast:2261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -0.]), 1.79769313486e+308) + +// f64.wast:2262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 0.]), 1.79769313486e+308) + +// f64.wast:2263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -4.94065645841e-324]), 1.79769313486e+308) + +// f64.wast:2266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 4.94065645841e-324]), 1.79769313486e+308) + +// f64.wast:2267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:2268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -2.22507385851e-308]), 1.79769313486e+308) + +// f64.wast:2270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 2.22507385851e-308]), 1.79769313486e+308) + +// f64.wast:2271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -0.5]), -0.5) + +// f64.wast:2272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 0.5]), 0.5) + +// f64.wast:2273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -0.5]), 1.79769313486e+308) + +// f64.wast:2274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 0.5]), 1.79769313486e+308) + +// f64.wast:2275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -1.]), -1.) + +// f64.wast:2276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 1.]), 1.) + +// f64.wast:2277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -1.]), 1.79769313486e+308) + +// f64.wast:2278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64.wast:2279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -6.28318530718]), -6.28318530718) + +// f64.wast:2280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 6.28318530718]), 6.28318530718) + +// f64.wast:2281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -6.28318530718]), 1.79769313486e+308) + +// f64.wast:2282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 6.28318530718]), 1.79769313486e+308) + +// f64.wast:2283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:2284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, -Infinity]), -1.79769313486e+308) + +// f64.wast:2288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-1.79769313486e+308, Infinity]), Infinity) + +// f64.wast:2289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, -Infinity]), 1.79769313486e+308) + +// f64.wast:2290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [1.79769313486e+308, Infinity]), Infinity) + +// f64.wast:2291 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1.79769313486e+308, NaN])) + +// f64.wast:2292 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1.79769313486e+308, NaN])) + +// f64.wast:2293 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-1.79769313486e+308, NaN])) + +// f64.wast:2294 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-1.79769313486e+308, NaN])) + +// f64.wast:2295 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1.79769313486e+308, NaN])) + +// f64.wast:2296 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1.79769313486e+308, NaN])) + +// f64.wast:2297 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [1.79769313486e+308, NaN])) + +// f64.wast:2298 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [1.79769313486e+308, NaN])) + +// f64.wast:2299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -0.]), -0.) + +// f64.wast:2300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 0.]), 0.) + +// f64.wast:2301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -0.]), Infinity) + +// f64.wast:2302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 0.]), Infinity) + +// f64.wast:2303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -4.94065645841e-324]), -4.94065645841e-324) + +// f64.wast:2304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 4.94065645841e-324]), 4.94065645841e-324) + +// f64.wast:2305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -4.94065645841e-324]), Infinity) + +// f64.wast:2306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 4.94065645841e-324]), Infinity) + +// f64.wast:2307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -2.22507385851e-308]), -2.22507385851e-308) + +// f64.wast:2308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 2.22507385851e-308]), 2.22507385851e-308) + +// f64.wast:2309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -2.22507385851e-308]), Infinity) + +// f64.wast:2310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 2.22507385851e-308]), Infinity) + +// f64.wast:2311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -0.5]), -0.5) + +// f64.wast:2312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 0.5]), 0.5) + +// f64.wast:2313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -0.5]), Infinity) + +// f64.wast:2314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 0.5]), Infinity) + +// f64.wast:2315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -1.]), -1.) + +// f64.wast:2316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 1.]), 1.) + +// f64.wast:2317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -1.]), Infinity) + +// f64.wast:2318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 1.]), Infinity) + +// f64.wast:2319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -6.28318530718]), -6.28318530718) + +// f64.wast:2320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 6.28318530718]), 6.28318530718) + +// f64.wast:2321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -6.28318530718]), Infinity) + +// f64.wast:2322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 6.28318530718]), Infinity) + +// f64.wast:2323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:2324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, 1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -1.79769313486e+308]), Infinity) + +// f64.wast:2326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, 1.79769313486e+308]), Infinity) + +// f64.wast:2327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, -Infinity]), -Infinity) + +// f64.wast:2328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [-Infinity, Infinity]), Infinity) + +// f64.wast:2329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, -Infinity]), Infinity) + +// f64.wast:2330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "max", [Infinity, Infinity]), Infinity) + +// f64.wast:2331 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-Infinity, NaN])) + +// f64.wast:2332 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-Infinity, NaN])) + +// f64.wast:2333 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [-Infinity, NaN])) + +// f64.wast:2334 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [-Infinity, NaN])) + +// f64.wast:2335 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [Infinity, NaN])) + +// f64.wast:2336 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [Infinity, NaN])) + +// f64.wast:2337 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [Infinity, NaN])) + +// f64.wast:2338 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [Infinity, NaN])) + +// f64.wast:2339 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.])) + +// f64.wast:2340 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.])) + +// f64.wast:2341 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.])) + +// f64.wast:2342 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.])) + +// f64.wast:2343 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.])) + +// f64.wast:2344 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.])) + +// f64.wast:2345 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.])) + +// f64.wast:2346 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.])) + +// f64.wast:2347 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -4.94065645841e-324])) + +// f64.wast:2348 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -4.94065645841e-324])) + +// f64.wast:2349 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 4.94065645841e-324])) + +// f64.wast:2350 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 4.94065645841e-324])) + +// f64.wast:2351 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -4.94065645841e-324])) + +// f64.wast:2352 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -4.94065645841e-324])) + +// f64.wast:2353 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 4.94065645841e-324])) + +// f64.wast:2354 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 4.94065645841e-324])) + +// f64.wast:2355 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -2.22507385851e-308])) + +// f64.wast:2356 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -2.22507385851e-308])) + +// f64.wast:2357 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 2.22507385851e-308])) + +// f64.wast:2358 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 2.22507385851e-308])) + +// f64.wast:2359 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -2.22507385851e-308])) + +// f64.wast:2360 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -2.22507385851e-308])) + +// f64.wast:2361 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 2.22507385851e-308])) + +// f64.wast:2362 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 2.22507385851e-308])) + +// f64.wast:2363 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.5])) + +// f64.wast:2364 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.5])) + +// f64.wast:2365 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.5])) + +// f64.wast:2366 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.5])) + +// f64.wast:2367 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -0.5])) + +// f64.wast:2368 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -0.5])) + +// f64.wast:2369 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 0.5])) + +// f64.wast:2370 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 0.5])) + +// f64.wast:2371 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.])) + +// f64.wast:2372 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.])) + +// f64.wast:2373 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.])) + +// f64.wast:2374 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.])) + +// f64.wast:2375 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.])) + +// f64.wast:2376 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.])) + +// f64.wast:2377 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.])) + +// f64.wast:2378 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.])) + +// f64.wast:2379 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -6.28318530718])) + +// f64.wast:2380 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -6.28318530718])) + +// f64.wast:2381 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 6.28318530718])) + +// f64.wast:2382 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 6.28318530718])) + +// f64.wast:2383 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -6.28318530718])) + +// f64.wast:2384 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -6.28318530718])) + +// f64.wast:2385 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 6.28318530718])) + +// f64.wast:2386 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 6.28318530718])) + +// f64.wast:2387 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.79769313486e+308])) + +// f64.wast:2388 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.79769313486e+308])) + +// f64.wast:2389 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.79769313486e+308])) + +// f64.wast:2390 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.79769313486e+308])) + +// f64.wast:2391 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -1.79769313486e+308])) + +// f64.wast:2392 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -1.79769313486e+308])) + +// f64.wast:2393 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, 1.79769313486e+308])) + +// f64.wast:2394 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, 1.79769313486e+308])) + +// f64.wast:2395 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -Infinity])) + +// f64.wast:2396 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -Infinity])) + +// f64.wast:2397 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, Infinity])) + +// f64.wast:2398 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, Infinity])) + +// f64.wast:2399 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, -Infinity])) + +// f64.wast:2400 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, -Infinity])) + +// f64.wast:2401 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, Infinity])) + +// f64.wast:2402 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, Infinity])) + +// f64.wast:2403 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2404 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2405 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2406 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2407 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2408 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2409 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2410 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2414 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2415 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2416 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2417 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "max", [NaN, NaN])) + +// f64.wast:2419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [-0.]), -0.) + +// f64.wast:2420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [0.]), 0.) + +// f64.wast:2421 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-4.94065645841e-324])) + +// f64.wast:2422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x60\x1e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [4.94065645841e-324]), 2.22275874949e-162) + +// f64.wast:2423 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-2.22507385851e-308])) + +// f64.wast:2424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x20\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [2.22507385851e-308]), 1.49166814624e-154) + +// f64.wast:2425 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-0.5])) + +// f64.wast:2426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xcd\x3b\x7f\x66\x9e\xa0\xe6\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [0.5]), 0.707106781187) + +// f64.wast:2427 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-1.])) + +// f64.wast:2428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [1.]), 1.) + +// f64.wast:2429 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-6.28318530718])) + +// f64.wast:2430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x05\x27\xf6\x1f\x93\x0d\x04\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [6.28318530718]), 2.50662827463) + +// f64.wast:2431 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-1.79769313486e+308])) + +// f64.wast:2432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x5f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [1.79769313486e+308]), 1.34078079299e+154) + +// f64.wast:2433 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [-Infinity])) + +// f64.wast:2434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sqrt", [Infinity]), Infinity) + +// f64.wast:2435 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [NaN])) + +// f64.wast:2436 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sqrt", [NaN])) + +// f64.wast:2437 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "sqrt", [NaN])) + +// f64.wast:2438 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "sqrt", [NaN])) + +// f64.wast:2439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-0.]), -0.) + +// f64.wast:2440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [0.]), 0.) + +// f64.wast:2441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-4.94065645841e-324]), -1.) + +// f64.wast:2442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [4.94065645841e-324]), 0.) + +// f64.wast:2443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-2.22507385851e-308]), -1.) + +// f64.wast:2444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [2.22507385851e-308]), 0.) + +// f64.wast:2445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-0.5]), -1.) + +// f64.wast:2446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [0.5]), 0.) + +// f64.wast:2447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-1.]), -1.) + +// f64.wast:2448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [1.]), 1.) + +// f64.wast:2449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x1c\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-6.28318530718]), -7.) + +// f64.wast:2450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [6.28318530718]), 6.) + +// f64.wast:2451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:2452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [-Infinity]), -Infinity) + +// f64.wast:2454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "floor", [Infinity]), Infinity) + +// f64.wast:2455 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "floor", [NaN])) + +// f64.wast:2456 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "floor", [NaN])) + +// f64.wast:2457 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "floor", [NaN])) + +// f64.wast:2458 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "floor", [NaN])) + +// f64.wast:2459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-0.]), -0.) + +// f64.wast:2460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [0.]), 0.) + +// f64.wast:2461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-4.94065645841e-324]), -0.) + +// f64.wast:2462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [4.94065645841e-324]), 1.) + +// f64.wast:2463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-2.22507385851e-308]), -0.) + +// f64.wast:2464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [2.22507385851e-308]), 1.) + +// f64.wast:2465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-0.5]), -0.) + +// f64.wast:2466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [0.5]), 1.) + +// f64.wast:2467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-1.]), -1.) + +// f64.wast:2468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [1.]), 1.) + +// f64.wast:2469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-6.28318530718]), -6.) + +// f64.wast:2470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x1c\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [6.28318530718]), 7.) + +// f64.wast:2471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:2472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [-Infinity]), -Infinity) + +// f64.wast:2474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ceil", [Infinity]), Infinity) + +// f64.wast:2475 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "ceil", [NaN])) + +// f64.wast:2476 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "ceil", [NaN])) + +// f64.wast:2477 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "ceil", [NaN])) + +// f64.wast:2478 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "ceil", [NaN])) + +// f64.wast:2479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-0.]), -0.) + +// f64.wast:2480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [0.]), 0.) + +// f64.wast:2481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-4.94065645841e-324]), -0.) + +// f64.wast:2482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [4.94065645841e-324]), 0.) + +// f64.wast:2483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-2.22507385851e-308]), -0.) + +// f64.wast:2484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [2.22507385851e-308]), 0.) + +// f64.wast:2485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-0.5]), -0.) + +// f64.wast:2486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [0.5]), 0.) + +// f64.wast:2487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-1.]), -1.) + +// f64.wast:2488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [1.]), 1.) + +// f64.wast:2489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-6.28318530718]), -6.) + +// f64.wast:2490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [6.28318530718]), 6.) + +// f64.wast:2491 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:2492 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2493 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [-Infinity]), -Infinity) + +// f64.wast:2494 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "trunc", [Infinity]), Infinity) + +// f64.wast:2495 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "trunc", [NaN])) + +// f64.wast:2496 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "trunc", [NaN])) + +// f64.wast:2497 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "trunc", [NaN])) + +// f64.wast:2498 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "trunc", [NaN])) + +// f64.wast:2499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-0.]), -0.) + +// f64.wast:2500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [0.]), 0.) + +// f64.wast:2501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-4.94065645841e-324]), -0.) + +// f64.wast:2502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [4.94065645841e-324]), 0.) + +// f64.wast:2503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-2.22507385851e-308]), -0.) + +// f64.wast:2504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [2.22507385851e-308]), 0.) + +// f64.wast:2505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-0.5]), -0.) + +// f64.wast:2506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [0.5]), 0.) + +// f64.wast:2507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-1.]), -1.) + +// f64.wast:2508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [1.]), 1.) + +// f64.wast:2509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-6.28318530718]), -6.) + +// f64.wast:2510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [6.28318530718]), 6.) + +// f64.wast:2511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-1.79769313486e+308]), -1.79769313486e+308) + +// f64.wast:2512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [1.79769313486e+308]), 1.79769313486e+308) + +// f64.wast:2513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [-Infinity]), -Infinity) + +// f64.wast:2514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nearest", [Infinity]), Infinity) + +// f64.wast:2515 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "nearest", [NaN])) + +// f64.wast:2516 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "nearest", [NaN])) + +// f64.wast:2517 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "nearest", [NaN])) + +// f64.wast:2518 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_arithmetic_nan(() => call($1, "nearest", [NaN]))! diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/f64_bitwise.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/f64_bitwise.wast.js new file mode 100644 index 0000000000..2653107cc7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/f64_bitwise.wast.js @@ -0,0 +1,1083 @@ + +// f64_bitwise.wast:4 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x01\x7c\x01\x7c\x60\x02\x7c\x7c\x01\x7c\x03\x84\x80\x80\x80\x00\x03\x00\x00\x01\x07\x98\x80\x80\x80\x00\x03\x03\x61\x62\x73\x00\x00\x03\x6e\x65\x67\x00\x01\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x02\x0a\xa1\x80\x80\x80\x00\x03\x85\x80\x80\x80\x00\x00\x20\x00\x99\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9a\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa6\x0b"); + +// f64_bitwise.wast:10 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -0.]), -0.) + +// f64_bitwise.wast:11 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 0.]), 0.) + +// f64_bitwise.wast:12 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -0.]), -0.) + +// f64_bitwise.wast:13 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 0.]), 0.) + +// f64_bitwise.wast:14 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -4.94065645841e-324]), -0.) + +// f64_bitwise.wast:15 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 4.94065645841e-324]), 0.) + +// f64_bitwise.wast:16 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -4.94065645841e-324]), -0.) + +// f64_bitwise.wast:17 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 4.94065645841e-324]), 0.) + +// f64_bitwise.wast:18 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -2.22507385851e-308]), -0.) + +// f64_bitwise.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 2.22507385851e-308]), 0.) + +// f64_bitwise.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -2.22507385851e-308]), -0.) + +// f64_bitwise.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 2.22507385851e-308]), 0.) + +// f64_bitwise.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -0.5]), -0.) + +// f64_bitwise.wast:23 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 0.5]), 0.) + +// f64_bitwise.wast:24 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -0.5]), -0.) + +// f64_bitwise.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 0.5]), 0.) + +// f64_bitwise.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -1.]), -0.) + +// f64_bitwise.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 1.]), 0.) + +// f64_bitwise.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -1.]), -0.) + +// f64_bitwise.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 1.]), 0.) + +// f64_bitwise.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -6.28318530718]), -0.) + +// f64_bitwise.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 6.28318530718]), 0.) + +// f64_bitwise.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -6.28318530718]), -0.) + +// f64_bitwise.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 6.28318530718]), 0.) + +// f64_bitwise.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -1.79769313486e+308]), -0.) + +// f64_bitwise.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., 1.79769313486e+308]), 0.) + +// f64_bitwise.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -1.79769313486e+308]), -0.) + +// f64_bitwise.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., 1.79769313486e+308]), 0.) + +// f64_bitwise.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., -Infinity]), -0.) + +// f64_bitwise.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., Infinity]), 0.) + +// f64_bitwise.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., -Infinity]), -0.) + +// f64_bitwise.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., Infinity]), 0.) + +// f64_bitwise.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., NaN]), -0.) + +// f64_bitwise.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0., NaN]), 0.) + +// f64_bitwise.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., NaN]), -0.) + +// f64_bitwise.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0., NaN]), 0.) + +// f64_bitwise.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -0.]), -4.94065645841e-324) + +// f64_bitwise.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 0.]), 4.94065645841e-324) + +// f64_bitwise.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -0.]), -4.94065645841e-324) + +// f64_bitwise.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 0.]), 4.94065645841e-324) + +// f64_bitwise.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -4.94065645841e-324]), -4.94065645841e-324) + +// f64_bitwise.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 4.94065645841e-324]), 4.94065645841e-324) + +// f64_bitwise.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -4.94065645841e-324]), -4.94065645841e-324) + +// f64_bitwise.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 4.94065645841e-324]), 4.94065645841e-324) + +// f64_bitwise.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -2.22507385851e-308]), -4.94065645841e-324) + +// f64_bitwise.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 2.22507385851e-308]), 4.94065645841e-324) + +// f64_bitwise.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -2.22507385851e-308]), -4.94065645841e-324) + +// f64_bitwise.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 2.22507385851e-308]), 4.94065645841e-324) + +// f64_bitwise.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -0.5]), -4.94065645841e-324) + +// f64_bitwise.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 0.5]), 4.94065645841e-324) + +// f64_bitwise.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -0.5]), -4.94065645841e-324) + +// f64_bitwise.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 0.5]), 4.94065645841e-324) + +// f64_bitwise.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -1.]), -4.94065645841e-324) + +// f64_bitwise.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 1.]), 4.94065645841e-324) + +// f64_bitwise.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -1.]), -4.94065645841e-324) + +// f64_bitwise.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 1.]), 4.94065645841e-324) + +// f64_bitwise.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -6.28318530718]), -4.94065645841e-324) + +// f64_bitwise.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 6.28318530718]), 4.94065645841e-324) + +// f64_bitwise.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -6.28318530718]), -4.94065645841e-324) + +// f64_bitwise.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 6.28318530718]), 4.94065645841e-324) + +// f64_bitwise.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -1.79769313486e+308]), -4.94065645841e-324) + +// f64_bitwise.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, 1.79769313486e+308]), 4.94065645841e-324) + +// f64_bitwise.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -1.79769313486e+308]), -4.94065645841e-324) + +// f64_bitwise.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, 1.79769313486e+308]), 4.94065645841e-324) + +// f64_bitwise.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, -Infinity]), -4.94065645841e-324) + +// f64_bitwise.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, Infinity]), 4.94065645841e-324) + +// f64_bitwise.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, -Infinity]), -4.94065645841e-324) + +// f64_bitwise.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, Infinity]), 4.94065645841e-324) + +// f64_bitwise.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, NaN]), -4.94065645841e-324) + +// f64_bitwise.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-4.94065645841e-324, NaN]), 4.94065645841e-324) + +// f64_bitwise.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, NaN]), -4.94065645841e-324) + +// f64_bitwise.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [4.94065645841e-324, NaN]), 4.94065645841e-324) + +// f64_bitwise.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -0.]), -2.22507385851e-308) + +// f64_bitwise.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 0.]), 2.22507385851e-308) + +// f64_bitwise.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -0.]), -2.22507385851e-308) + +// f64_bitwise.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 0.]), 2.22507385851e-308) + +// f64_bitwise.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -4.94065645841e-324]), -2.22507385851e-308) + +// f64_bitwise.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 4.94065645841e-324]), 2.22507385851e-308) + +// f64_bitwise.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -4.94065645841e-324]), -2.22507385851e-308) + +// f64_bitwise.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 4.94065645841e-324]), 2.22507385851e-308) + +// f64_bitwise.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64_bitwise.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64_bitwise.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -2.22507385851e-308]), -2.22507385851e-308) + +// f64_bitwise.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 2.22507385851e-308]), 2.22507385851e-308) + +// f64_bitwise.wast:94 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -0.5]), -2.22507385851e-308) + +// f64_bitwise.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 0.5]), 2.22507385851e-308) + +// f64_bitwise.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -0.5]), -2.22507385851e-308) + +// f64_bitwise.wast:97 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 0.5]), 2.22507385851e-308) + +// f64_bitwise.wast:98 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -1.]), -2.22507385851e-308) + +// f64_bitwise.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 1.]), 2.22507385851e-308) + +// f64_bitwise.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -1.]), -2.22507385851e-308) + +// f64_bitwise.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 1.]), 2.22507385851e-308) + +// f64_bitwise.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -6.28318530718]), -2.22507385851e-308) + +// f64_bitwise.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 6.28318530718]), 2.22507385851e-308) + +// f64_bitwise.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -6.28318530718]), -2.22507385851e-308) + +// f64_bitwise.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 6.28318530718]), 2.22507385851e-308) + +// f64_bitwise.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -1.79769313486e+308]), -2.22507385851e-308) + +// f64_bitwise.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, 1.79769313486e+308]), 2.22507385851e-308) + +// f64_bitwise.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -1.79769313486e+308]), -2.22507385851e-308) + +// f64_bitwise.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, 1.79769313486e+308]), 2.22507385851e-308) + +// f64_bitwise.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, -Infinity]), -2.22507385851e-308) + +// f64_bitwise.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, Infinity]), 2.22507385851e-308) + +// f64_bitwise.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, -Infinity]), -2.22507385851e-308) + +// f64_bitwise.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, Infinity]), 2.22507385851e-308) + +// f64_bitwise.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, NaN]), -2.22507385851e-308) + +// f64_bitwise.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-2.22507385851e-308, NaN]), 2.22507385851e-308) + +// f64_bitwise.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, NaN]), -2.22507385851e-308) + +// f64_bitwise.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [2.22507385851e-308, NaN]), 2.22507385851e-308) + +// f64_bitwise.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -0.]), -0.5) + +// f64_bitwise.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 0.]), 0.5) + +// f64_bitwise.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -0.]), -0.5) + +// f64_bitwise.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 0.]), 0.5) + +// f64_bitwise.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -4.94065645841e-324]), -0.5) + +// f64_bitwise.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 4.94065645841e-324]), 0.5) + +// f64_bitwise.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -4.94065645841e-324]), -0.5) + +// f64_bitwise.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 4.94065645841e-324]), 0.5) + +// f64_bitwise.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -2.22507385851e-308]), -0.5) + +// f64_bitwise.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 2.22507385851e-308]), 0.5) + +// f64_bitwise.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -2.22507385851e-308]), -0.5) + +// f64_bitwise.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 2.22507385851e-308]), 0.5) + +// f64_bitwise.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -0.5]), -0.5) + +// f64_bitwise.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 0.5]), 0.5) + +// f64_bitwise.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -0.5]), -0.5) + +// f64_bitwise.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 0.5]), 0.5) + +// f64_bitwise.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -1.]), -0.5) + +// f64_bitwise.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 1.]), 0.5) + +// f64_bitwise.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -1.]), -0.5) + +// f64_bitwise.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 1.]), 0.5) + +// f64_bitwise.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -6.28318530718]), -0.5) + +// f64_bitwise.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 6.28318530718]), 0.5) + +// f64_bitwise.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -6.28318530718]), -0.5) + +// f64_bitwise.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 6.28318530718]), 0.5) + +// f64_bitwise.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -1.79769313486e+308]), -0.5) + +// f64_bitwise.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, 1.79769313486e+308]), 0.5) + +// f64_bitwise.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -1.79769313486e+308]), -0.5) + +// f64_bitwise.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, 1.79769313486e+308]), 0.5) + +// f64_bitwise.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, -Infinity]), -0.5) + +// f64_bitwise.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, Infinity]), 0.5) + +// f64_bitwise.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, -Infinity]), -0.5) + +// f64_bitwise.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, Infinity]), 0.5) + +// f64_bitwise.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, NaN]), -0.5) + +// f64_bitwise.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-0.5, NaN]), 0.5) + +// f64_bitwise.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, NaN]), -0.5) + +// f64_bitwise.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [0.5, NaN]), 0.5) + +// f64_bitwise.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -0.]), -1.) + +// f64_bitwise.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 0.]), 1.) + +// f64_bitwise.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -0.]), -1.) + +// f64_bitwise.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 0.]), 1.) + +// f64_bitwise.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -4.94065645841e-324]), -1.) + +// f64_bitwise.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 4.94065645841e-324]), 1.) + +// f64_bitwise.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -4.94065645841e-324]), -1.) + +// f64_bitwise.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 4.94065645841e-324]), 1.) + +// f64_bitwise.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -2.22507385851e-308]), -1.) + +// f64_bitwise.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 2.22507385851e-308]), 1.) + +// f64_bitwise.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -2.22507385851e-308]), -1.) + +// f64_bitwise.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 2.22507385851e-308]), 1.) + +// f64_bitwise.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -0.5]), -1.) + +// f64_bitwise.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 0.5]), 1.) + +// f64_bitwise.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -0.5]), -1.) + +// f64_bitwise.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 0.5]), 1.) + +// f64_bitwise.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -1.]), -1.) + +// f64_bitwise.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 1.]), 1.) + +// f64_bitwise.wast:172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -1.]), -1.) + +// f64_bitwise.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 1.]), 1.) + +// f64_bitwise.wast:174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -6.28318530718]), -1.) + +// f64_bitwise.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 6.28318530718]), 1.) + +// f64_bitwise.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -6.28318530718]), -1.) + +// f64_bitwise.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 6.28318530718]), 1.) + +// f64_bitwise.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -1.79769313486e+308]), -1.) + +// f64_bitwise.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., 1.79769313486e+308]), 1.) + +// f64_bitwise.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -1.79769313486e+308]), -1.) + +// f64_bitwise.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., 1.79769313486e+308]), 1.) + +// f64_bitwise.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., -Infinity]), -1.) + +// f64_bitwise.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., Infinity]), 1.) + +// f64_bitwise.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., -Infinity]), -1.) + +// f64_bitwise.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., Infinity]), 1.) + +// f64_bitwise.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., NaN]), -1.) + +// f64_bitwise.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1., NaN]), 1.) + +// f64_bitwise.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., NaN]), -1.) + +// f64_bitwise.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1., NaN]), 1.) + +// f64_bitwise.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -0.]), -6.28318530718) + +// f64_bitwise.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 0.]), 6.28318530718) + +// f64_bitwise.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -0.]), -6.28318530718) + +// f64_bitwise.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 0.]), 6.28318530718) + +// f64_bitwise.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -4.94065645841e-324]), -6.28318530718) + +// f64_bitwise.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 4.94065645841e-324]), 6.28318530718) + +// f64_bitwise.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -4.94065645841e-324]), -6.28318530718) + +// f64_bitwise.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 4.94065645841e-324]), 6.28318530718) + +// f64_bitwise.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -2.22507385851e-308]), -6.28318530718) + +// f64_bitwise.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 2.22507385851e-308]), 6.28318530718) + +// f64_bitwise.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -2.22507385851e-308]), -6.28318530718) + +// f64_bitwise.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 2.22507385851e-308]), 6.28318530718) + +// f64_bitwise.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -0.5]), -6.28318530718) + +// f64_bitwise.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 0.5]), 6.28318530718) + +// f64_bitwise.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -0.5]), -6.28318530718) + +// f64_bitwise.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 0.5]), 6.28318530718) + +// f64_bitwise.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -1.]), -6.28318530718) + +// f64_bitwise.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 1.]), 6.28318530718) + +// f64_bitwise.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -1.]), -6.28318530718) + +// f64_bitwise.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 1.]), 6.28318530718) + +// f64_bitwise.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -6.28318530718]), -6.28318530718) + +// f64_bitwise.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 6.28318530718]), 6.28318530718) + +// f64_bitwise.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -6.28318530718]), -6.28318530718) + +// f64_bitwise.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 6.28318530718]), 6.28318530718) + +// f64_bitwise.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -1.79769313486e+308]), -6.28318530718) + +// f64_bitwise.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, 1.79769313486e+308]), 6.28318530718) + +// f64_bitwise.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -1.79769313486e+308]), -6.28318530718) + +// f64_bitwise.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, 1.79769313486e+308]), 6.28318530718) + +// f64_bitwise.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, -Infinity]), -6.28318530718) + +// f64_bitwise.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, Infinity]), 6.28318530718) + +// f64_bitwise.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, -Infinity]), -6.28318530718) + +// f64_bitwise.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, Infinity]), 6.28318530718) + +// f64_bitwise.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, NaN]), -6.28318530718) + +// f64_bitwise.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-6.28318530718, NaN]), 6.28318530718) + +// f64_bitwise.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, NaN]), -6.28318530718) + +// f64_bitwise.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [6.28318530718, NaN]), 6.28318530718) + +// f64_bitwise.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -0.]), -1.79769313486e+308) + +// f64_bitwise.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 0.]), 1.79769313486e+308) + +// f64_bitwise.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -0.]), -1.79769313486e+308) + +// f64_bitwise.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 0.]), 1.79769313486e+308) + +// f64_bitwise.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -4.94065645841e-324]), -1.79769313486e+308) + +// f64_bitwise.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 4.94065645841e-324]), 1.79769313486e+308) + +// f64_bitwise.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -4.94065645841e-324]), -1.79769313486e+308) + +// f64_bitwise.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 4.94065645841e-324]), 1.79769313486e+308) + +// f64_bitwise.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -2.22507385851e-308]), -1.79769313486e+308) + +// f64_bitwise.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 2.22507385851e-308]), 1.79769313486e+308) + +// f64_bitwise.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -2.22507385851e-308]), -1.79769313486e+308) + +// f64_bitwise.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 2.22507385851e-308]), 1.79769313486e+308) + +// f64_bitwise.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -0.5]), -1.79769313486e+308) + +// f64_bitwise.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 0.5]), 1.79769313486e+308) + +// f64_bitwise.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -0.5]), -1.79769313486e+308) + +// f64_bitwise.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 0.5]), 1.79769313486e+308) + +// f64_bitwise.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64_bitwise.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64_bitwise.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -1.]), -1.79769313486e+308) + +// f64_bitwise.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 1.]), 1.79769313486e+308) + +// f64_bitwise.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -6.28318530718]), -1.79769313486e+308) + +// f64_bitwise.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 6.28318530718]), 1.79769313486e+308) + +// f64_bitwise.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -6.28318530718]), -1.79769313486e+308) + +// f64_bitwise.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 6.28318530718]), 1.79769313486e+308) + +// f64_bitwise.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64_bitwise.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64_bitwise.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -1.79769313486e+308]), -1.79769313486e+308) + +// f64_bitwise.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, 1.79769313486e+308]), 1.79769313486e+308) + +// f64_bitwise.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, -Infinity]), -1.79769313486e+308) + +// f64_bitwise.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, Infinity]), 1.79769313486e+308) + +// f64_bitwise.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, -Infinity]), -1.79769313486e+308) + +// f64_bitwise.wast:257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, Infinity]), 1.79769313486e+308) + +// f64_bitwise.wast:258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, NaN]), -1.79769313486e+308) + +// f64_bitwise.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-1.79769313486e+308, NaN]), 1.79769313486e+308) + +// f64_bitwise.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, NaN]), -1.79769313486e+308) + +// f64_bitwise.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [1.79769313486e+308, NaN]), 1.79769313486e+308) + +// f64_bitwise.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -0.]), -Infinity) + +// f64_bitwise.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 0.]), Infinity) + +// f64_bitwise.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -0.]), -Infinity) + +// f64_bitwise.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 0.]), Infinity) + +// f64_bitwise.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -4.94065645841e-324]), -Infinity) + +// f64_bitwise.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 4.94065645841e-324]), Infinity) + +// f64_bitwise.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -4.94065645841e-324]), -Infinity) + +// f64_bitwise.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 4.94065645841e-324]), Infinity) + +// f64_bitwise.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -2.22507385851e-308]), -Infinity) + +// f64_bitwise.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 2.22507385851e-308]), Infinity) + +// f64_bitwise.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -2.22507385851e-308]), -Infinity) + +// f64_bitwise.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 2.22507385851e-308]), Infinity) + +// f64_bitwise.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -0.5]), -Infinity) + +// f64_bitwise.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 0.5]), Infinity) + +// f64_bitwise.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -0.5]), -Infinity) + +// f64_bitwise.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 0.5]), Infinity) + +// f64_bitwise.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -1.]), -Infinity) + +// f64_bitwise.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 1.]), Infinity) + +// f64_bitwise.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -1.]), -Infinity) + +// f64_bitwise.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 1.]), Infinity) + +// f64_bitwise.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -6.28318530718]), -Infinity) + +// f64_bitwise.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 6.28318530718]), Infinity) + +// f64_bitwise.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -6.28318530718]), -Infinity) + +// f64_bitwise.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 6.28318530718]), Infinity) + +// f64_bitwise.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -1.79769313486e+308]), -Infinity) + +// f64_bitwise.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, 1.79769313486e+308]), Infinity) + +// f64_bitwise.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -1.79769313486e+308]), -Infinity) + +// f64_bitwise.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, 1.79769313486e+308]), Infinity) + +// f64_bitwise.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, -Infinity]), -Infinity) + +// f64_bitwise.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, Infinity]), Infinity) + +// f64_bitwise.wast:292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, -Infinity]), -Infinity) + +// f64_bitwise.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, Infinity]), Infinity) + +// f64_bitwise.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, NaN]), -Infinity) + +// f64_bitwise.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [-Infinity, NaN]), Infinity) + +// f64_bitwise.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, NaN]), -Infinity) + +// f64_bitwise.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [Infinity, NaN]), Infinity) + +// f64_bitwise.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.]), NaN) + +// f64_bitwise.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.]), NaN) + +// f64_bitwise.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.]), NaN) + +// f64_bitwise.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.]), NaN) + +// f64_bitwise.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -4.94065645841e-324]), NaN) + +// f64_bitwise.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 4.94065645841e-324]), NaN) + +// f64_bitwise.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -4.94065645841e-324]), NaN) + +// f64_bitwise.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 4.94065645841e-324]), NaN) + +// f64_bitwise.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -2.22507385851e-308]), NaN) + +// f64_bitwise.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 2.22507385851e-308]), NaN) + +// f64_bitwise.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -2.22507385851e-308]), NaN) + +// f64_bitwise.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 2.22507385851e-308]), NaN) + +// f64_bitwise.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.5]), NaN) + +// f64_bitwise.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.5]), NaN) + +// f64_bitwise.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -0.5]), NaN) + +// f64_bitwise.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 0.5]), NaN) + +// f64_bitwise.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.]), NaN) + +// f64_bitwise.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.]), NaN) + +// f64_bitwise.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.]), NaN) + +// f64_bitwise.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.]), NaN) + +// f64_bitwise.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -6.28318530718]), NaN) + +// f64_bitwise.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 6.28318530718]), NaN) + +// f64_bitwise.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -6.28318530718]), NaN) + +// f64_bitwise.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 6.28318530718]), NaN) + +// f64_bitwise.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.79769313486e+308]), NaN) + +// f64_bitwise.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.79769313486e+308]), NaN) + +// f64_bitwise.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -1.79769313486e+308]), NaN) + +// f64_bitwise.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, 1.79769313486e+308]), NaN) + +// f64_bitwise.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -Infinity]), NaN) + +// f64_bitwise.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, Infinity]), NaN) + +// f64_bitwise.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, -Infinity]), NaN) + +// f64_bitwise.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, Infinity]), NaN) + +// f64_bitwise.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f64_bitwise.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f64_bitwise.wast:332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f64_bitwise.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "copysign", [NaN, NaN]), NaN) + +// f64_bitwise.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-0.]), 0.) + +// f64_bitwise.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [0.]), 0.) + +// f64_bitwise.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-4.94065645841e-324]), 4.94065645841e-324) + +// f64_bitwise.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [4.94065645841e-324]), 4.94065645841e-324) + +// f64_bitwise.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-2.22507385851e-308]), 2.22507385851e-308) + +// f64_bitwise.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [2.22507385851e-308]), 2.22507385851e-308) + +// f64_bitwise.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-0.5]), 0.5) + +// f64_bitwise.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [0.5]), 0.5) + +// f64_bitwise.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-1.]), 1.) + +// f64_bitwise.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [1.]), 1.) + +// f64_bitwise.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-6.28318530718]), 6.28318530718) + +// f64_bitwise.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [6.28318530718]), 6.28318530718) + +// f64_bitwise.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-1.79769313486e+308]), 1.79769313486e+308) + +// f64_bitwise.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [1.79769313486e+308]), 1.79769313486e+308) + +// f64_bitwise.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [-Infinity]), Infinity) + +// f64_bitwise.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [Infinity]), Infinity) + +// f64_bitwise.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [NaN]), NaN) + +// f64_bitwise.wast:351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "abs", [NaN]), NaN) + +// f64_bitwise.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-0.]), 0.) + +// f64_bitwise.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [0.]), -0.) + +// f64_bitwise.wast:354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-4.94065645841e-324]), 4.94065645841e-324) + +// f64_bitwise.wast:355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [4.94065645841e-324]), -4.94065645841e-324) + +// f64_bitwise.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-2.22507385851e-308]), 2.22507385851e-308) + +// f64_bitwise.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [2.22507385851e-308]), -2.22507385851e-308) + +// f64_bitwise.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-0.5]), 0.5) + +// f64_bitwise.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [0.5]), -0.5) + +// f64_bitwise.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-1.]), 1.) + +// f64_bitwise.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [1.]), -1.) + +// f64_bitwise.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-6.28318530718]), 6.28318530718) + +// f64_bitwise.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [6.28318530718]), -6.28318530718) + +// f64_bitwise.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-1.79769313486e+308]), 1.79769313486e+308) + +// f64_bitwise.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [1.79769313486e+308]), -1.79769313486e+308) + +// f64_bitwise.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [-Infinity]), Infinity) + +// f64_bitwise.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [Infinity]), -Infinity) + +// f64_bitwise.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [NaN]), NaN) + +// f64_bitwise.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "neg", [NaN]), NaN) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/f64_cmp.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/f64_cmp.wast.js new file mode 100644 index 0000000000..2ef29efafc --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/f64_cmp.wast.js @@ -0,0 +1,7203 @@ + +// f64_cmp.wast:4 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7c\x7c\x01\x7f\x03\x87\x80\x80\x80\x00\x06\x00\x00\x00\x00\x00\x00\x07\x9f\x80\x80\x80\x00\x06\x02\x65\x71\x00\x00\x02\x6e\x65\x00\x01\x02\x6c\x74\x00\x02\x02\x6c\x65\x00\x03\x02\x67\x74\x00\x04\x02\x67\x65\x00\x05\x0a\xc9\x80\x80\x80\x00\x06\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x61\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x62\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x63\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x65\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x64\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x66\x0b"); + +// f64_cmp.wast:13 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -0.]), 1) + +// f64_cmp.wast:14 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 0.]), 1) + +// f64_cmp.wast:15 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -0.]), 1) + +// f64_cmp.wast:16 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 0.]), 1) + +// f64_cmp.wast:17 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -4.94065645841e-324]), 0) + +// f64_cmp.wast:18 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 4.94065645841e-324]), 0) + +// f64_cmp.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -4.94065645841e-324]), 0) + +// f64_cmp.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 4.94065645841e-324]), 0) + +// f64_cmp.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -2.22507385851e-308]), 0) + +// f64_cmp.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 2.22507385851e-308]), 0) + +// f64_cmp.wast:23 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -2.22507385851e-308]), 0) + +// f64_cmp.wast:24 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 2.22507385851e-308]), 0) + +// f64_cmp.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -0.5]), 0) + +// f64_cmp.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 0.5]), 0) + +// f64_cmp.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -0.5]), 0) + +// f64_cmp.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 0.5]), 0) + +// f64_cmp.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -1.]), 0) + +// f64_cmp.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 1.]), 0) + +// f64_cmp.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -1.]), 0) + +// f64_cmp.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 1.]), 0) + +// f64_cmp.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -6.28318530718]), 0) + +// f64_cmp.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 6.28318530718]), 0) + +// f64_cmp.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -6.28318530718]), 0) + +// f64_cmp.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 6.28318530718]), 0) + +// f64_cmp.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -1.79769313486e+308]), 0) + +// f64_cmp.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., 1.79769313486e+308]), 0) + +// f64_cmp.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -1.79769313486e+308]), 0) + +// f64_cmp.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., 1.79769313486e+308]), 0) + +// f64_cmp.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., -Infinity]), 0) + +// f64_cmp.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., Infinity]), 0) + +// f64_cmp.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., -Infinity]), 0) + +// f64_cmp.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., Infinity]), 0) + +// f64_cmp.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f64_cmp.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f64_cmp.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f64_cmp.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0., NaN]), 0) + +// f64_cmp.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f64_cmp.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f64_cmp.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f64_cmp.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0., NaN]), 0) + +// f64_cmp.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -0.]), 0) + +// f64_cmp.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 0.]), 0) + +// f64_cmp.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -0.]), 0) + +// f64_cmp.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 0.]), 0) + +// f64_cmp.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -4.94065645841e-324]), 1) + +// f64_cmp.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 4.94065645841e-324]), 0) + +// f64_cmp.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -4.94065645841e-324]), 0) + +// f64_cmp.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 4.94065645841e-324]), 1) + +// f64_cmp.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -2.22507385851e-308]), 0) + +// f64_cmp.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 2.22507385851e-308]), 0) + +// f64_cmp.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -2.22507385851e-308]), 0) + +// f64_cmp.wast:64 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 2.22507385851e-308]), 0) + +// f64_cmp.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -0.5]), 0) + +// f64_cmp.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 0.5]), 0) + +// f64_cmp.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -0.5]), 0) + +// f64_cmp.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 0.5]), 0) + +// f64_cmp.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -1.]), 0) + +// f64_cmp.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 1.]), 0) + +// f64_cmp.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -1.]), 0) + +// f64_cmp.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 1.]), 0) + +// f64_cmp.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -6.28318530718]), 0) + +// f64_cmp.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 6.28318530718]), 0) + +// f64_cmp.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -6.28318530718]), 0) + +// f64_cmp.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 6.28318530718]), 0) + +// f64_cmp.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -1.79769313486e+308]), 0) + +// f64_cmp.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, 1.79769313486e+308]), 0) + +// f64_cmp.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -1.79769313486e+308]), 0) + +// f64_cmp.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, 1.79769313486e+308]), 0) + +// f64_cmp.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, -Infinity]), 0) + +// f64_cmp.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, Infinity]), 0) + +// f64_cmp.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, -Infinity]), 0) + +// f64_cmp.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, Infinity]), 0) + +// f64_cmp.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -0.]), 0) + +// f64_cmp.wast:94 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 0.]), 0) + +// f64_cmp.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -0.]), 0) + +// f64_cmp.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 0.]), 0) + +// f64_cmp.wast:97 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:98 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -0.5]), 0) + +// f64_cmp.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 0.5]), 0) + +// f64_cmp.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -0.5]), 0) + +// f64_cmp.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 0.5]), 0) + +// f64_cmp.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -1.]), 0) + +// f64_cmp.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 1.]), 0) + +// f64_cmp.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -1.]), 0) + +// f64_cmp.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 1.]), 0) + +// f64_cmp.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -6.28318530718]), 0) + +// f64_cmp.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 6.28318530718]), 0) + +// f64_cmp.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -6.28318530718]), 0) + +// f64_cmp.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 6.28318530718]), 0) + +// f64_cmp.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, -Infinity]), 0) + +// f64_cmp.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, Infinity]), 0) + +// f64_cmp.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, -Infinity]), 0) + +// f64_cmp.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, Infinity]), 0) + +// f64_cmp.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -0.]), 0) + +// f64_cmp.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 0.]), 0) + +// f64_cmp.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -0.]), 0) + +// f64_cmp.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 0.]), 0) + +// f64_cmp.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -4.94065645841e-324]), 0) + +// f64_cmp.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 4.94065645841e-324]), 0) + +// f64_cmp.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -4.94065645841e-324]), 0) + +// f64_cmp.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 4.94065645841e-324]), 0) + +// f64_cmp.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -2.22507385851e-308]), 0) + +// f64_cmp.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 2.22507385851e-308]), 0) + +// f64_cmp.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -2.22507385851e-308]), 0) + +// f64_cmp.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 2.22507385851e-308]), 0) + +// f64_cmp.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -0.5]), 1) + +// f64_cmp.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 0.5]), 0) + +// f64_cmp.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -0.5]), 0) + +// f64_cmp.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 0.5]), 1) + +// f64_cmp.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -1.]), 0) + +// f64_cmp.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 1.]), 0) + +// f64_cmp.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -1.]), 0) + +// f64_cmp.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 1.]), 0) + +// f64_cmp.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -6.28318530718]), 0) + +// f64_cmp.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 6.28318530718]), 0) + +// f64_cmp.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -6.28318530718]), 0) + +// f64_cmp.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 6.28318530718]), 0) + +// f64_cmp.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -1.79769313486e+308]), 0) + +// f64_cmp.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, 1.79769313486e+308]), 0) + +// f64_cmp.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -1.79769313486e+308]), 0) + +// f64_cmp.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, 1.79769313486e+308]), 0) + +// f64_cmp.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, -Infinity]), 0) + +// f64_cmp.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, Infinity]), 0) + +// f64_cmp.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, -Infinity]), 0) + +// f64_cmp.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, Infinity]), 0) + +// f64_cmp.wast:165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f64_cmp.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f64_cmp.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f64_cmp.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-0.5, NaN]), 0) + +// f64_cmp.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f64_cmp.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f64_cmp.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f64_cmp.wast:172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [0.5, NaN]), 0) + +// f64_cmp.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -0.]), 0) + +// f64_cmp.wast:174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 0.]), 0) + +// f64_cmp.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -0.]), 0) + +// f64_cmp.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 0.]), 0) + +// f64_cmp.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -4.94065645841e-324]), 0) + +// f64_cmp.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 4.94065645841e-324]), 0) + +// f64_cmp.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -4.94065645841e-324]), 0) + +// f64_cmp.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 4.94065645841e-324]), 0) + +// f64_cmp.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -2.22507385851e-308]), 0) + +// f64_cmp.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 2.22507385851e-308]), 0) + +// f64_cmp.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -2.22507385851e-308]), 0) + +// f64_cmp.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 2.22507385851e-308]), 0) + +// f64_cmp.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -0.5]), 0) + +// f64_cmp.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 0.5]), 0) + +// f64_cmp.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -0.5]), 0) + +// f64_cmp.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 0.5]), 0) + +// f64_cmp.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -1.]), 1) + +// f64_cmp.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 1.]), 0) + +// f64_cmp.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -1.]), 0) + +// f64_cmp.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 1.]), 1) + +// f64_cmp.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -6.28318530718]), 0) + +// f64_cmp.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 6.28318530718]), 0) + +// f64_cmp.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -6.28318530718]), 0) + +// f64_cmp.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 6.28318530718]), 0) + +// f64_cmp.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -1.79769313486e+308]), 0) + +// f64_cmp.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., 1.79769313486e+308]), 0) + +// f64_cmp.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -1.79769313486e+308]), 0) + +// f64_cmp.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., 1.79769313486e+308]), 0) + +// f64_cmp.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., -Infinity]), 0) + +// f64_cmp.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., Infinity]), 0) + +// f64_cmp.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., -Infinity]), 0) + +// f64_cmp.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., Infinity]), 0) + +// f64_cmp.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f64_cmp.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f64_cmp.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f64_cmp.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1., NaN]), 0) + +// f64_cmp.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f64_cmp.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f64_cmp.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f64_cmp.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1., NaN]), 0) + +// f64_cmp.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -0.]), 0) + +// f64_cmp.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 0.]), 0) + +// f64_cmp.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -0.]), 0) + +// f64_cmp.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 0.]), 0) + +// f64_cmp.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -4.94065645841e-324]), 0) + +// f64_cmp.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 4.94065645841e-324]), 0) + +// f64_cmp.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -4.94065645841e-324]), 0) + +// f64_cmp.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 4.94065645841e-324]), 0) + +// f64_cmp.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -2.22507385851e-308]), 0) + +// f64_cmp.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 2.22507385851e-308]), 0) + +// f64_cmp.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -2.22507385851e-308]), 0) + +// f64_cmp.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 2.22507385851e-308]), 0) + +// f64_cmp.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -0.5]), 0) + +// f64_cmp.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 0.5]), 0) + +// f64_cmp.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -0.5]), 0) + +// f64_cmp.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 0.5]), 0) + +// f64_cmp.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -1.]), 0) + +// f64_cmp.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 1.]), 0) + +// f64_cmp.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -1.]), 0) + +// f64_cmp.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 1.]), 0) + +// f64_cmp.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -6.28318530718]), 1) + +// f64_cmp.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 6.28318530718]), 0) + +// f64_cmp.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -6.28318530718]), 0) + +// f64_cmp.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 6.28318530718]), 1) + +// f64_cmp.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -1.79769313486e+308]), 0) + +// f64_cmp.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, 1.79769313486e+308]), 0) + +// f64_cmp.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -1.79769313486e+308]), 0) + +// f64_cmp.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, 1.79769313486e+308]), 0) + +// f64_cmp.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, -Infinity]), 0) + +// f64_cmp.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, Infinity]), 0) + +// f64_cmp.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, -Infinity]), 0) + +// f64_cmp.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, Infinity]), 0) + +// f64_cmp.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -0.]), 0) + +// f64_cmp.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 0.]), 0) + +// f64_cmp.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -0.]), 0) + +// f64_cmp.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 0.]), 0) + +// f64_cmp.wast:257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -0.5]), 0) + +// f64_cmp.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 0.5]), 0) + +// f64_cmp.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -0.5]), 0) + +// f64_cmp.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 0.5]), 0) + +// f64_cmp.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -1.]), 0) + +// f64_cmp.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 1.]), 0) + +// f64_cmp.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -1.]), 0) + +// f64_cmp.wast:272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 1.]), 0) + +// f64_cmp.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -6.28318530718]), 0) + +// f64_cmp.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 6.28318530718]), 0) + +// f64_cmp.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -6.28318530718]), 0) + +// f64_cmp.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 6.28318530718]), 0) + +// f64_cmp.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, -Infinity]), 0) + +// f64_cmp.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, Infinity]), 0) + +// f64_cmp.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, -Infinity]), 0) + +// f64_cmp.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, Infinity]), 0) + +// f64_cmp.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -0.]), 0) + +// f64_cmp.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 0.]), 0) + +// f64_cmp.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -0.]), 0) + +// f64_cmp.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 0.]), 0) + +// f64_cmp.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -4.94065645841e-324]), 0) + +// f64_cmp.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 4.94065645841e-324]), 0) + +// f64_cmp.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -4.94065645841e-324]), 0) + +// f64_cmp.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 4.94065645841e-324]), 0) + +// f64_cmp.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -2.22507385851e-308]), 0) + +// f64_cmp.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 2.22507385851e-308]), 0) + +// f64_cmp.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -2.22507385851e-308]), 0) + +// f64_cmp.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 2.22507385851e-308]), 0) + +// f64_cmp.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -0.5]), 0) + +// f64_cmp.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 0.5]), 0) + +// f64_cmp.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -0.5]), 0) + +// f64_cmp.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 0.5]), 0) + +// f64_cmp.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -1.]), 0) + +// f64_cmp.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 1.]), 0) + +// f64_cmp.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -1.]), 0) + +// f64_cmp.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 1.]), 0) + +// f64_cmp.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -6.28318530718]), 0) + +// f64_cmp.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 6.28318530718]), 0) + +// f64_cmp.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -6.28318530718]), 0) + +// f64_cmp.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 6.28318530718]), 0) + +// f64_cmp.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -1.79769313486e+308]), 0) + +// f64_cmp.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, 1.79769313486e+308]), 0) + +// f64_cmp.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -1.79769313486e+308]), 0) + +// f64_cmp.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, 1.79769313486e+308]), 0) + +// f64_cmp.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, -Infinity]), 1) + +// f64_cmp.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, Infinity]), 0) + +// f64_cmp.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, -Infinity]), 0) + +// f64_cmp.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, Infinity]), 1) + +// f64_cmp.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f64_cmp.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f64_cmp.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f64_cmp.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [-Infinity, NaN]), 0) + +// f64_cmp.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f64_cmp.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f64_cmp.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f64_cmp.wast:332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [Infinity, NaN]), 0) + +// f64_cmp.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f64_cmp.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f64_cmp.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f64_cmp.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f64_cmp.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f64_cmp.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.]), 0) + +// f64_cmp.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f64_cmp.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.]), 0) + +// f64_cmp.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f64_cmp.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f64_cmp.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f64_cmp.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f64_cmp.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f64_cmp.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -0.5]), 0) + +// f64_cmp.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f64_cmp.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 0.5]), 0) + +// f64_cmp.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f64_cmp.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f64_cmp.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f64_cmp.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f64_cmp.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f64_cmp.wast:370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.]), 0) + +// f64_cmp.wast:371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f64_cmp.wast:372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.]), 0) + +// f64_cmp.wast:373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f64_cmp.wast:390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f64_cmp.wast:391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f64_cmp.wast:392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f64_cmp.wast:393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f64_cmp.wast:394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, -Infinity]), 0) + +// f64_cmp.wast:395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f64_cmp.wast:396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, Infinity]), 0) + +// f64_cmp.wast:397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [NaN, NaN]), 0) + +// f64_cmp.wast:413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -0.]), 0) + +// f64_cmp.wast:414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 0.]), 0) + +// f64_cmp.wast:415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -0.]), 0) + +// f64_cmp.wast:416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 0.]), 0) + +// f64_cmp.wast:417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -4.94065645841e-324]), 1) + +// f64_cmp.wast:418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 4.94065645841e-324]), 1) + +// f64_cmp.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -4.94065645841e-324]), 1) + +// f64_cmp.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 4.94065645841e-324]), 1) + +// f64_cmp.wast:421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -2.22507385851e-308]), 1) + +// f64_cmp.wast:422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 2.22507385851e-308]), 1) + +// f64_cmp.wast:423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -2.22507385851e-308]), 1) + +// f64_cmp.wast:424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 2.22507385851e-308]), 1) + +// f64_cmp.wast:425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -0.5]), 1) + +// f64_cmp.wast:426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 0.5]), 1) + +// f64_cmp.wast:427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -0.5]), 1) + +// f64_cmp.wast:428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 0.5]), 1) + +// f64_cmp.wast:429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -1.]), 1) + +// f64_cmp.wast:430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 1.]), 1) + +// f64_cmp.wast:431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -1.]), 1) + +// f64_cmp.wast:432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 1.]), 1) + +// f64_cmp.wast:433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -6.28318530718]), 1) + +// f64_cmp.wast:434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 6.28318530718]), 1) + +// f64_cmp.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -6.28318530718]), 1) + +// f64_cmp.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 6.28318530718]), 1) + +// f64_cmp.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -1.79769313486e+308]), 1) + +// f64_cmp.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., 1.79769313486e+308]), 1) + +// f64_cmp.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -1.79769313486e+308]), 1) + +// f64_cmp.wast:440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., 1.79769313486e+308]), 1) + +// f64_cmp.wast:441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., -Infinity]), 1) + +// f64_cmp.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., Infinity]), 1) + +// f64_cmp.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., -Infinity]), 1) + +// f64_cmp.wast:444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., Infinity]), 1) + +// f64_cmp.wast:445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f64_cmp.wast:446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f64_cmp.wast:447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f64_cmp.wast:448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0., NaN]), 1) + +// f64_cmp.wast:449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f64_cmp.wast:450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f64_cmp.wast:451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f64_cmp.wast:452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0., NaN]), 1) + +// f64_cmp.wast:453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -0.]), 1) + +// f64_cmp.wast:454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 0.]), 1) + +// f64_cmp.wast:455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -0.]), 1) + +// f64_cmp.wast:456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 0.]), 1) + +// f64_cmp.wast:457 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -4.94065645841e-324]), 0) + +// f64_cmp.wast:458 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 4.94065645841e-324]), 1) + +// f64_cmp.wast:459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -4.94065645841e-324]), 1) + +// f64_cmp.wast:460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 4.94065645841e-324]), 0) + +// f64_cmp.wast:461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -2.22507385851e-308]), 1) + +// f64_cmp.wast:462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 2.22507385851e-308]), 1) + +// f64_cmp.wast:463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -2.22507385851e-308]), 1) + +// f64_cmp.wast:464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 2.22507385851e-308]), 1) + +// f64_cmp.wast:465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -0.5]), 1) + +// f64_cmp.wast:466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 0.5]), 1) + +// f64_cmp.wast:467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -0.5]), 1) + +// f64_cmp.wast:468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 0.5]), 1) + +// f64_cmp.wast:469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -1.]), 1) + +// f64_cmp.wast:470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 1.]), 1) + +// f64_cmp.wast:471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -1.]), 1) + +// f64_cmp.wast:472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 1.]), 1) + +// f64_cmp.wast:473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -6.28318530718]), 1) + +// f64_cmp.wast:474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 6.28318530718]), 1) + +// f64_cmp.wast:475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -6.28318530718]), 1) + +// f64_cmp.wast:476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 6.28318530718]), 1) + +// f64_cmp.wast:477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -1.79769313486e+308]), 1) + +// f64_cmp.wast:478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, 1.79769313486e+308]), 1) + +// f64_cmp.wast:479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -1.79769313486e+308]), 1) + +// f64_cmp.wast:480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, 1.79769313486e+308]), 1) + +// f64_cmp.wast:481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, -Infinity]), 1) + +// f64_cmp.wast:482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, Infinity]), 1) + +// f64_cmp.wast:483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, -Infinity]), 1) + +// f64_cmp.wast:484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, Infinity]), 1) + +// f64_cmp.wast:485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:491 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:492 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [4.94065645841e-324, NaN]), 1) + +// f64_cmp.wast:493 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -0.]), 1) + +// f64_cmp.wast:494 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 0.]), 1) + +// f64_cmp.wast:495 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -0.]), 1) + +// f64_cmp.wast:496 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 0.]), 1) + +// f64_cmp.wast:497 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:498 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -0.5]), 1) + +// f64_cmp.wast:506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 0.5]), 1) + +// f64_cmp.wast:507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -0.5]), 1) + +// f64_cmp.wast:508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 0.5]), 1) + +// f64_cmp.wast:509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -1.]), 1) + +// f64_cmp.wast:510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 1.]), 1) + +// f64_cmp.wast:511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -1.]), 1) + +// f64_cmp.wast:512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 1.]), 1) + +// f64_cmp.wast:513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -6.28318530718]), 1) + +// f64_cmp.wast:514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 6.28318530718]), 1) + +// f64_cmp.wast:515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -6.28318530718]), 1) + +// f64_cmp.wast:516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 6.28318530718]), 1) + +// f64_cmp.wast:517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, -Infinity]), 1) + +// f64_cmp.wast:522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, Infinity]), 1) + +// f64_cmp.wast:523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, -Infinity]), 1) + +// f64_cmp.wast:524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, Infinity]), 1) + +// f64_cmp.wast:525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:531 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:532 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [2.22507385851e-308, NaN]), 1) + +// f64_cmp.wast:533 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -0.]), 1) + +// f64_cmp.wast:534 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 0.]), 1) + +// f64_cmp.wast:535 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -0.]), 1) + +// f64_cmp.wast:536 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 0.]), 1) + +// f64_cmp.wast:537 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -4.94065645841e-324]), 1) + +// f64_cmp.wast:538 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 4.94065645841e-324]), 1) + +// f64_cmp.wast:539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -4.94065645841e-324]), 1) + +// f64_cmp.wast:540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 4.94065645841e-324]), 1) + +// f64_cmp.wast:541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -2.22507385851e-308]), 1) + +// f64_cmp.wast:542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 2.22507385851e-308]), 1) + +// f64_cmp.wast:543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -2.22507385851e-308]), 1) + +// f64_cmp.wast:544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 2.22507385851e-308]), 1) + +// f64_cmp.wast:545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -0.5]), 0) + +// f64_cmp.wast:546 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 0.5]), 1) + +// f64_cmp.wast:547 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -0.5]), 1) + +// f64_cmp.wast:548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 0.5]), 0) + +// f64_cmp.wast:549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -1.]), 1) + +// f64_cmp.wast:550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 1.]), 1) + +// f64_cmp.wast:551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -1.]), 1) + +// f64_cmp.wast:552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 1.]), 1) + +// f64_cmp.wast:553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -6.28318530718]), 1) + +// f64_cmp.wast:554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 6.28318530718]), 1) + +// f64_cmp.wast:555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -6.28318530718]), 1) + +// f64_cmp.wast:556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 6.28318530718]), 1) + +// f64_cmp.wast:557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -1.79769313486e+308]), 1) + +// f64_cmp.wast:558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, 1.79769313486e+308]), 1) + +// f64_cmp.wast:559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -1.79769313486e+308]), 1) + +// f64_cmp.wast:560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, 1.79769313486e+308]), 1) + +// f64_cmp.wast:561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, -Infinity]), 1) + +// f64_cmp.wast:562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, Infinity]), 1) + +// f64_cmp.wast:563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, -Infinity]), 1) + +// f64_cmp.wast:564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, Infinity]), 1) + +// f64_cmp.wast:565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f64_cmp.wast:566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f64_cmp.wast:567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f64_cmp.wast:568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-0.5, NaN]), 1) + +// f64_cmp.wast:569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f64_cmp.wast:570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f64_cmp.wast:571 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f64_cmp.wast:572 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [0.5, NaN]), 1) + +// f64_cmp.wast:573 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -0.]), 1) + +// f64_cmp.wast:574 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 0.]), 1) + +// f64_cmp.wast:575 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -0.]), 1) + +// f64_cmp.wast:576 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 0.]), 1) + +// f64_cmp.wast:577 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -4.94065645841e-324]), 1) + +// f64_cmp.wast:578 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 4.94065645841e-324]), 1) + +// f64_cmp.wast:579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -4.94065645841e-324]), 1) + +// f64_cmp.wast:580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 4.94065645841e-324]), 1) + +// f64_cmp.wast:581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -2.22507385851e-308]), 1) + +// f64_cmp.wast:582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 2.22507385851e-308]), 1) + +// f64_cmp.wast:583 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -2.22507385851e-308]), 1) + +// f64_cmp.wast:584 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 2.22507385851e-308]), 1) + +// f64_cmp.wast:585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -0.5]), 1) + +// f64_cmp.wast:586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 0.5]), 1) + +// f64_cmp.wast:587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -0.5]), 1) + +// f64_cmp.wast:588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 0.5]), 1) + +// f64_cmp.wast:589 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -1.]), 0) + +// f64_cmp.wast:590 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 1.]), 1) + +// f64_cmp.wast:591 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -1.]), 1) + +// f64_cmp.wast:592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 1.]), 0) + +// f64_cmp.wast:593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -6.28318530718]), 1) + +// f64_cmp.wast:594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 6.28318530718]), 1) + +// f64_cmp.wast:595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -6.28318530718]), 1) + +// f64_cmp.wast:596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 6.28318530718]), 1) + +// f64_cmp.wast:597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -1.79769313486e+308]), 1) + +// f64_cmp.wast:598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., 1.79769313486e+308]), 1) + +// f64_cmp.wast:599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -1.79769313486e+308]), 1) + +// f64_cmp.wast:600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., 1.79769313486e+308]), 1) + +// f64_cmp.wast:601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., -Infinity]), 1) + +// f64_cmp.wast:602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., Infinity]), 1) + +// f64_cmp.wast:603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., -Infinity]), 1) + +// f64_cmp.wast:604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., Infinity]), 1) + +// f64_cmp.wast:605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f64_cmp.wast:606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f64_cmp.wast:607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f64_cmp.wast:608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1., NaN]), 1) + +// f64_cmp.wast:609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f64_cmp.wast:610 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f64_cmp.wast:611 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f64_cmp.wast:612 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1., NaN]), 1) + +// f64_cmp.wast:613 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -0.]), 1) + +// f64_cmp.wast:614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 0.]), 1) + +// f64_cmp.wast:615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -0.]), 1) + +// f64_cmp.wast:616 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 0.]), 1) + +// f64_cmp.wast:617 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -4.94065645841e-324]), 1) + +// f64_cmp.wast:618 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 4.94065645841e-324]), 1) + +// f64_cmp.wast:619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -4.94065645841e-324]), 1) + +// f64_cmp.wast:620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 4.94065645841e-324]), 1) + +// f64_cmp.wast:621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -2.22507385851e-308]), 1) + +// f64_cmp.wast:622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 2.22507385851e-308]), 1) + +// f64_cmp.wast:623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -2.22507385851e-308]), 1) + +// f64_cmp.wast:624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 2.22507385851e-308]), 1) + +// f64_cmp.wast:625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -0.5]), 1) + +// f64_cmp.wast:626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 0.5]), 1) + +// f64_cmp.wast:627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -0.5]), 1) + +// f64_cmp.wast:628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 0.5]), 1) + +// f64_cmp.wast:629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -1.]), 1) + +// f64_cmp.wast:630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 1.]), 1) + +// f64_cmp.wast:631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -1.]), 1) + +// f64_cmp.wast:632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 1.]), 1) + +// f64_cmp.wast:633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -6.28318530718]), 0) + +// f64_cmp.wast:634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 6.28318530718]), 1) + +// f64_cmp.wast:635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -6.28318530718]), 1) + +// f64_cmp.wast:636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 6.28318530718]), 0) + +// f64_cmp.wast:637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -1.79769313486e+308]), 1) + +// f64_cmp.wast:638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, 1.79769313486e+308]), 1) + +// f64_cmp.wast:639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -1.79769313486e+308]), 1) + +// f64_cmp.wast:640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, 1.79769313486e+308]), 1) + +// f64_cmp.wast:641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, -Infinity]), 1) + +// f64_cmp.wast:642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, Infinity]), 1) + +// f64_cmp.wast:643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, -Infinity]), 1) + +// f64_cmp.wast:644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, Infinity]), 1) + +// f64_cmp.wast:645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, NaN]), 1) + +// f64_cmp.wast:646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, NaN]), 1) + +// f64_cmp.wast:647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, NaN]), 1) + +// f64_cmp.wast:648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-6.28318530718, NaN]), 1) + +// f64_cmp.wast:649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, NaN]), 1) + +// f64_cmp.wast:650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, NaN]), 1) + +// f64_cmp.wast:651 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, NaN]), 1) + +// f64_cmp.wast:652 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [6.28318530718, NaN]), 1) + +// f64_cmp.wast:653 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -0.]), 1) + +// f64_cmp.wast:654 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 0.]), 1) + +// f64_cmp.wast:655 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -0.]), 1) + +// f64_cmp.wast:656 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 0.]), 1) + +// f64_cmp.wast:657 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:658 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -0.5]), 1) + +// f64_cmp.wast:666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 0.5]), 1) + +// f64_cmp.wast:667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -0.5]), 1) + +// f64_cmp.wast:668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 0.5]), 1) + +// f64_cmp.wast:669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -1.]), 1) + +// f64_cmp.wast:670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 1.]), 1) + +// f64_cmp.wast:671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -1.]), 1) + +// f64_cmp.wast:672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 1.]), 1) + +// f64_cmp.wast:673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -6.28318530718]), 1) + +// f64_cmp.wast:674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 6.28318530718]), 1) + +// f64_cmp.wast:675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -6.28318530718]), 1) + +// f64_cmp.wast:676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 6.28318530718]), 1) + +// f64_cmp.wast:677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, -Infinity]), 1) + +// f64_cmp.wast:682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, Infinity]), 1) + +// f64_cmp.wast:683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, -Infinity]), 1) + +// f64_cmp.wast:684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, Infinity]), 1) + +// f64_cmp.wast:685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:691 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:692 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [1.79769313486e+308, NaN]), 1) + +// f64_cmp.wast:693 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -0.]), 1) + +// f64_cmp.wast:694 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 0.]), 1) + +// f64_cmp.wast:695 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -0.]), 1) + +// f64_cmp.wast:696 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 0.]), 1) + +// f64_cmp.wast:697 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -4.94065645841e-324]), 1) + +// f64_cmp.wast:698 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 4.94065645841e-324]), 1) + +// f64_cmp.wast:699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -4.94065645841e-324]), 1) + +// f64_cmp.wast:700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 4.94065645841e-324]), 1) + +// f64_cmp.wast:701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -2.22507385851e-308]), 1) + +// f64_cmp.wast:702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 2.22507385851e-308]), 1) + +// f64_cmp.wast:703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -2.22507385851e-308]), 1) + +// f64_cmp.wast:704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 2.22507385851e-308]), 1) + +// f64_cmp.wast:705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -0.5]), 1) + +// f64_cmp.wast:706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 0.5]), 1) + +// f64_cmp.wast:707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -0.5]), 1) + +// f64_cmp.wast:708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 0.5]), 1) + +// f64_cmp.wast:709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -1.]), 1) + +// f64_cmp.wast:710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 1.]), 1) + +// f64_cmp.wast:711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -1.]), 1) + +// f64_cmp.wast:712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 1.]), 1) + +// f64_cmp.wast:713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -6.28318530718]), 1) + +// f64_cmp.wast:714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 6.28318530718]), 1) + +// f64_cmp.wast:715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -6.28318530718]), 1) + +// f64_cmp.wast:716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 6.28318530718]), 1) + +// f64_cmp.wast:717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -1.79769313486e+308]), 1) + +// f64_cmp.wast:718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, 1.79769313486e+308]), 1) + +// f64_cmp.wast:719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -1.79769313486e+308]), 1) + +// f64_cmp.wast:720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, 1.79769313486e+308]), 1) + +// f64_cmp.wast:721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, -Infinity]), 0) + +// f64_cmp.wast:722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, Infinity]), 1) + +// f64_cmp.wast:723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, -Infinity]), 1) + +// f64_cmp.wast:724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, Infinity]), 0) + +// f64_cmp.wast:725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f64_cmp.wast:726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f64_cmp.wast:727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f64_cmp.wast:728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [-Infinity, NaN]), 1) + +// f64_cmp.wast:729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f64_cmp.wast:730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f64_cmp.wast:731 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f64_cmp.wast:732 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [Infinity, NaN]), 1) + +// f64_cmp.wast:733 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f64_cmp.wast:734 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f64_cmp.wast:735 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f64_cmp.wast:736 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f64_cmp.wast:737 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f64_cmp.wast:738 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.]), 1) + +// f64_cmp.wast:739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f64_cmp.wast:740 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.]), 1) + +// f64_cmp.wast:741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -4.94065645841e-324]), 1) + +// f64_cmp.wast:742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -4.94065645841e-324]), 1) + +// f64_cmp.wast:743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 4.94065645841e-324]), 1) + +// f64_cmp.wast:744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 4.94065645841e-324]), 1) + +// f64_cmp.wast:745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -4.94065645841e-324]), 1) + +// f64_cmp.wast:746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -4.94065645841e-324]), 1) + +// f64_cmp.wast:747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 4.94065645841e-324]), 1) + +// f64_cmp.wast:748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 4.94065645841e-324]), 1) + +// f64_cmp.wast:749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -2.22507385851e-308]), 1) + +// f64_cmp.wast:750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -2.22507385851e-308]), 1) + +// f64_cmp.wast:751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 2.22507385851e-308]), 1) + +// f64_cmp.wast:752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 2.22507385851e-308]), 1) + +// f64_cmp.wast:753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -2.22507385851e-308]), 1) + +// f64_cmp.wast:754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -2.22507385851e-308]), 1) + +// f64_cmp.wast:755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 2.22507385851e-308]), 1) + +// f64_cmp.wast:756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 2.22507385851e-308]), 1) + +// f64_cmp.wast:757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f64_cmp.wast:758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f64_cmp.wast:759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f64_cmp.wast:760 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f64_cmp.wast:761 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f64_cmp.wast:762 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -0.5]), 1) + +// f64_cmp.wast:763 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f64_cmp.wast:764 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 0.5]), 1) + +// f64_cmp.wast:765 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f64_cmp.wast:766 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f64_cmp.wast:767 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f64_cmp.wast:768 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f64_cmp.wast:769 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f64_cmp.wast:770 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.]), 1) + +// f64_cmp.wast:771 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f64_cmp.wast:772 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.]), 1) + +// f64_cmp.wast:773 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318530718]), 1) + +// f64_cmp.wast:774 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318530718]), 1) + +// f64_cmp.wast:775 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318530718]), 1) + +// f64_cmp.wast:776 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318530718]), 1) + +// f64_cmp.wast:777 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318530718]), 1) + +// f64_cmp.wast:778 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -6.28318530718]), 1) + +// f64_cmp.wast:779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318530718]), 1) + +// f64_cmp.wast:780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 6.28318530718]), 1) + +// f64_cmp.wast:781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.79769313486e+308]), 1) + +// f64_cmp.wast:782 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.79769313486e+308]), 1) + +// f64_cmp.wast:783 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.79769313486e+308]), 1) + +// f64_cmp.wast:784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.79769313486e+308]), 1) + +// f64_cmp.wast:785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.79769313486e+308]), 1) + +// f64_cmp.wast:786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -1.79769313486e+308]), 1) + +// f64_cmp.wast:787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.79769313486e+308]), 1) + +// f64_cmp.wast:788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, 1.79769313486e+308]), 1) + +// f64_cmp.wast:789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f64_cmp.wast:790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f64_cmp.wast:791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f64_cmp.wast:792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f64_cmp.wast:793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f64_cmp.wast:794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, -Infinity]), 1) + +// f64_cmp.wast:795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f64_cmp.wast:796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, Infinity]), 1) + +// f64_cmp.wast:797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:798 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:799 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:804 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:805 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:806 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:807 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:808 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:809 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:810 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:811 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:812 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [NaN, NaN]), 1) + +// f64_cmp.wast:813 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -0.]), 0) + +// f64_cmp.wast:814 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 0.]), 0) + +// f64_cmp.wast:815 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -0.]), 0) + +// f64_cmp.wast:816 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 0.]), 0) + +// f64_cmp.wast:817 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -4.94065645841e-324]), 0) + +// f64_cmp.wast:818 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 4.94065645841e-324]), 1) + +// f64_cmp.wast:819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -4.94065645841e-324]), 0) + +// f64_cmp.wast:820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 4.94065645841e-324]), 1) + +// f64_cmp.wast:821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -2.22507385851e-308]), 0) + +// f64_cmp.wast:822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 2.22507385851e-308]), 1) + +// f64_cmp.wast:823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -2.22507385851e-308]), 0) + +// f64_cmp.wast:824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 2.22507385851e-308]), 1) + +// f64_cmp.wast:825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -0.5]), 0) + +// f64_cmp.wast:826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 0.5]), 1) + +// f64_cmp.wast:827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -0.5]), 0) + +// f64_cmp.wast:828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 0.5]), 1) + +// f64_cmp.wast:829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -1.]), 0) + +// f64_cmp.wast:830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 1.]), 1) + +// f64_cmp.wast:831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -1.]), 0) + +// f64_cmp.wast:832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 1.]), 1) + +// f64_cmp.wast:833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -6.28318530718]), 0) + +// f64_cmp.wast:834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 6.28318530718]), 1) + +// f64_cmp.wast:835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -6.28318530718]), 0) + +// f64_cmp.wast:836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 6.28318530718]), 1) + +// f64_cmp.wast:837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -1.79769313486e+308]), 0) + +// f64_cmp.wast:838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., 1.79769313486e+308]), 1) + +// f64_cmp.wast:839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -1.79769313486e+308]), 0) + +// f64_cmp.wast:840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., 1.79769313486e+308]), 1) + +// f64_cmp.wast:841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., -Infinity]), 0) + +// f64_cmp.wast:842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., Infinity]), 1) + +// f64_cmp.wast:843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., -Infinity]), 0) + +// f64_cmp.wast:844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., Infinity]), 1) + +// f64_cmp.wast:845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f64_cmp.wast:846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f64_cmp.wast:847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f64_cmp.wast:848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0., NaN]), 0) + +// f64_cmp.wast:849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f64_cmp.wast:850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f64_cmp.wast:851 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f64_cmp.wast:852 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0., NaN]), 0) + +// f64_cmp.wast:853 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -0.]), 1) + +// f64_cmp.wast:854 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 0.]), 1) + +// f64_cmp.wast:855 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -0.]), 0) + +// f64_cmp.wast:856 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 0.]), 0) + +// f64_cmp.wast:857 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -4.94065645841e-324]), 0) + +// f64_cmp.wast:858 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 4.94065645841e-324]), 1) + +// f64_cmp.wast:859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -4.94065645841e-324]), 0) + +// f64_cmp.wast:860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 4.94065645841e-324]), 0) + +// f64_cmp.wast:861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -2.22507385851e-308]), 0) + +// f64_cmp.wast:862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 2.22507385851e-308]), 1) + +// f64_cmp.wast:863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -2.22507385851e-308]), 0) + +// f64_cmp.wast:864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 2.22507385851e-308]), 1) + +// f64_cmp.wast:865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -0.5]), 0) + +// f64_cmp.wast:866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 0.5]), 1) + +// f64_cmp.wast:867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -0.5]), 0) + +// f64_cmp.wast:868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 0.5]), 1) + +// f64_cmp.wast:869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -1.]), 0) + +// f64_cmp.wast:870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 1.]), 1) + +// f64_cmp.wast:871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -1.]), 0) + +// f64_cmp.wast:872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 1.]), 1) + +// f64_cmp.wast:873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -6.28318530718]), 0) + +// f64_cmp.wast:874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 6.28318530718]), 1) + +// f64_cmp.wast:875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -6.28318530718]), 0) + +// f64_cmp.wast:876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 6.28318530718]), 1) + +// f64_cmp.wast:877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -1.79769313486e+308]), 0) + +// f64_cmp.wast:878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, 1.79769313486e+308]), 1) + +// f64_cmp.wast:879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -1.79769313486e+308]), 0) + +// f64_cmp.wast:880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, 1.79769313486e+308]), 1) + +// f64_cmp.wast:881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, -Infinity]), 0) + +// f64_cmp.wast:882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, Infinity]), 1) + +// f64_cmp.wast:883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, -Infinity]), 0) + +// f64_cmp.wast:884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, Infinity]), 1) + +// f64_cmp.wast:885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:891 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:892 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:893 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -0.]), 1) + +// f64_cmp.wast:894 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 0.]), 1) + +// f64_cmp.wast:895 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -0.]), 0) + +// f64_cmp.wast:896 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 0.]), 0) + +// f64_cmp.wast:897 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:898 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -0.5]), 0) + +// f64_cmp.wast:906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 0.5]), 1) + +// f64_cmp.wast:907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -0.5]), 0) + +// f64_cmp.wast:908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 0.5]), 1) + +// f64_cmp.wast:909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -1.]), 0) + +// f64_cmp.wast:910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 1.]), 1) + +// f64_cmp.wast:911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -1.]), 0) + +// f64_cmp.wast:912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 1.]), 1) + +// f64_cmp.wast:913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -6.28318530718]), 0) + +// f64_cmp.wast:914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 6.28318530718]), 1) + +// f64_cmp.wast:915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -6.28318530718]), 0) + +// f64_cmp.wast:916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 6.28318530718]), 1) + +// f64_cmp.wast:917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, -Infinity]), 0) + +// f64_cmp.wast:922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, Infinity]), 1) + +// f64_cmp.wast:923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, -Infinity]), 0) + +// f64_cmp.wast:924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, Infinity]), 1) + +// f64_cmp.wast:925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:931 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:932 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:933 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -0.]), 1) + +// f64_cmp.wast:934 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 0.]), 1) + +// f64_cmp.wast:935 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -0.]), 0) + +// f64_cmp.wast:936 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 0.]), 0) + +// f64_cmp.wast:937 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -4.94065645841e-324]), 1) + +// f64_cmp.wast:938 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 4.94065645841e-324]), 1) + +// f64_cmp.wast:939 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -4.94065645841e-324]), 0) + +// f64_cmp.wast:940 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 4.94065645841e-324]), 0) + +// f64_cmp.wast:941 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -2.22507385851e-308]), 1) + +// f64_cmp.wast:942 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 2.22507385851e-308]), 1) + +// f64_cmp.wast:943 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -2.22507385851e-308]), 0) + +// f64_cmp.wast:944 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 2.22507385851e-308]), 0) + +// f64_cmp.wast:945 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -0.5]), 0) + +// f64_cmp.wast:946 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 0.5]), 1) + +// f64_cmp.wast:947 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -0.5]), 0) + +// f64_cmp.wast:948 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 0.5]), 0) + +// f64_cmp.wast:949 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -1.]), 0) + +// f64_cmp.wast:950 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 1.]), 1) + +// f64_cmp.wast:951 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -1.]), 0) + +// f64_cmp.wast:952 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 1.]), 1) + +// f64_cmp.wast:953 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -6.28318530718]), 0) + +// f64_cmp.wast:954 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 6.28318530718]), 1) + +// f64_cmp.wast:955 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -6.28318530718]), 0) + +// f64_cmp.wast:956 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 6.28318530718]), 1) + +// f64_cmp.wast:957 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -1.79769313486e+308]), 0) + +// f64_cmp.wast:958 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, 1.79769313486e+308]), 1) + +// f64_cmp.wast:959 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -1.79769313486e+308]), 0) + +// f64_cmp.wast:960 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, 1.79769313486e+308]), 1) + +// f64_cmp.wast:961 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, -Infinity]), 0) + +// f64_cmp.wast:962 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, Infinity]), 1) + +// f64_cmp.wast:963 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, -Infinity]), 0) + +// f64_cmp.wast:964 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, Infinity]), 1) + +// f64_cmp.wast:965 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f64_cmp.wast:966 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f64_cmp.wast:967 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f64_cmp.wast:968 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-0.5, NaN]), 0) + +// f64_cmp.wast:969 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f64_cmp.wast:970 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f64_cmp.wast:971 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f64_cmp.wast:972 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [0.5, NaN]), 0) + +// f64_cmp.wast:973 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -0.]), 1) + +// f64_cmp.wast:974 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 0.]), 1) + +// f64_cmp.wast:975 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -0.]), 0) + +// f64_cmp.wast:976 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 0.]), 0) + +// f64_cmp.wast:977 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -4.94065645841e-324]), 1) + +// f64_cmp.wast:978 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 4.94065645841e-324]), 1) + +// f64_cmp.wast:979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -4.94065645841e-324]), 0) + +// f64_cmp.wast:980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 4.94065645841e-324]), 0) + +// f64_cmp.wast:981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -2.22507385851e-308]), 1) + +// f64_cmp.wast:982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 2.22507385851e-308]), 1) + +// f64_cmp.wast:983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -2.22507385851e-308]), 0) + +// f64_cmp.wast:984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 2.22507385851e-308]), 0) + +// f64_cmp.wast:985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -0.5]), 1) + +// f64_cmp.wast:986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 0.5]), 1) + +// f64_cmp.wast:987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -0.5]), 0) + +// f64_cmp.wast:988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 0.5]), 0) + +// f64_cmp.wast:989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -1.]), 0) + +// f64_cmp.wast:990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 1.]), 1) + +// f64_cmp.wast:991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -1.]), 0) + +// f64_cmp.wast:992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 1.]), 0) + +// f64_cmp.wast:993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -6.28318530718]), 0) + +// f64_cmp.wast:994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 6.28318530718]), 1) + +// f64_cmp.wast:995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -6.28318530718]), 0) + +// f64_cmp.wast:996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 6.28318530718]), 1) + +// f64_cmp.wast:997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -1.79769313486e+308]), 0) + +// f64_cmp.wast:998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., 1.79769313486e+308]), 1) + +// f64_cmp.wast:999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -1.79769313486e+308]), 0) + +// f64_cmp.wast:1000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., 1.79769313486e+308]), 1) + +// f64_cmp.wast:1001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., -Infinity]), 0) + +// f64_cmp.wast:1002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., Infinity]), 1) + +// f64_cmp.wast:1003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., -Infinity]), 0) + +// f64_cmp.wast:1004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., Infinity]), 1) + +// f64_cmp.wast:1005 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f64_cmp.wast:1006 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f64_cmp.wast:1007 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f64_cmp.wast:1008 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1., NaN]), 0) + +// f64_cmp.wast:1009 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f64_cmp.wast:1010 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f64_cmp.wast:1011 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f64_cmp.wast:1012 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1., NaN]), 0) + +// f64_cmp.wast:1013 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -0.]), 1) + +// f64_cmp.wast:1014 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 0.]), 1) + +// f64_cmp.wast:1015 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -0.]), 0) + +// f64_cmp.wast:1016 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 0.]), 0) + +// f64_cmp.wast:1017 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1018 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -0.5]), 1) + +// f64_cmp.wast:1026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 0.5]), 1) + +// f64_cmp.wast:1027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -0.5]), 0) + +// f64_cmp.wast:1028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 0.5]), 0) + +// f64_cmp.wast:1029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -1.]), 1) + +// f64_cmp.wast:1030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 1.]), 1) + +// f64_cmp.wast:1031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -1.]), 0) + +// f64_cmp.wast:1032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 1.]), 0) + +// f64_cmp.wast:1033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -6.28318530718]), 0) + +// f64_cmp.wast:1034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 6.28318530718]), 1) + +// f64_cmp.wast:1035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -6.28318530718]), 0) + +// f64_cmp.wast:1036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 6.28318530718]), 0) + +// f64_cmp.wast:1037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, -Infinity]), 0) + +// f64_cmp.wast:1042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, Infinity]), 1) + +// f64_cmp.wast:1043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, -Infinity]), 0) + +// f64_cmp.wast:1044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, Infinity]), 1) + +// f64_cmp.wast:1045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1051 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1052 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1053 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -0.]), 1) + +// f64_cmp.wast:1054 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 0.]), 1) + +// f64_cmp.wast:1055 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -0.]), 0) + +// f64_cmp.wast:1056 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 0.]), 0) + +// f64_cmp.wast:1057 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1058 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -0.5]), 1) + +// f64_cmp.wast:1066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 0.5]), 1) + +// f64_cmp.wast:1067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -0.5]), 0) + +// f64_cmp.wast:1068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 0.5]), 0) + +// f64_cmp.wast:1069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -1.]), 1) + +// f64_cmp.wast:1070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 1.]), 1) + +// f64_cmp.wast:1071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -1.]), 0) + +// f64_cmp.wast:1072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 1.]), 0) + +// f64_cmp.wast:1073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -6.28318530718]), 1) + +// f64_cmp.wast:1074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 6.28318530718]), 1) + +// f64_cmp.wast:1075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -6.28318530718]), 0) + +// f64_cmp.wast:1076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 6.28318530718]), 0) + +// f64_cmp.wast:1077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, -Infinity]), 0) + +// f64_cmp.wast:1082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, Infinity]), 1) + +// f64_cmp.wast:1083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, -Infinity]), 0) + +// f64_cmp.wast:1084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, Infinity]), 1) + +// f64_cmp.wast:1085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1091 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1092 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1093 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -0.]), 1) + +// f64_cmp.wast:1094 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 0.]), 1) + +// f64_cmp.wast:1095 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -0.]), 0) + +// f64_cmp.wast:1096 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 0.]), 0) + +// f64_cmp.wast:1097 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1098 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -0.5]), 1) + +// f64_cmp.wast:1106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 0.5]), 1) + +// f64_cmp.wast:1107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -0.5]), 0) + +// f64_cmp.wast:1108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 0.5]), 0) + +// f64_cmp.wast:1109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -1.]), 1) + +// f64_cmp.wast:1110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 1.]), 1) + +// f64_cmp.wast:1111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -1.]), 0) + +// f64_cmp.wast:1112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 1.]), 0) + +// f64_cmp.wast:1113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -6.28318530718]), 1) + +// f64_cmp.wast:1114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 6.28318530718]), 1) + +// f64_cmp.wast:1115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -6.28318530718]), 0) + +// f64_cmp.wast:1116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 6.28318530718]), 0) + +// f64_cmp.wast:1117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, -Infinity]), 0) + +// f64_cmp.wast:1122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, Infinity]), 1) + +// f64_cmp.wast:1123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, -Infinity]), 0) + +// f64_cmp.wast:1124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, Infinity]), 0) + +// f64_cmp.wast:1125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f64_cmp.wast:1134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f64_cmp.wast:1135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f64_cmp.wast:1136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f64_cmp.wast:1137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f64_cmp.wast:1138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.]), 0) + +// f64_cmp.wast:1139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f64_cmp.wast:1140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.]), 0) + +// f64_cmp.wast:1141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f64_cmp.wast:1166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f64_cmp.wast:1167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f64_cmp.wast:1168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f64_cmp.wast:1169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f64_cmp.wast:1170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.]), 0) + +// f64_cmp.wast:1171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f64_cmp.wast:1172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.]), 0) + +// f64_cmp.wast:1173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt", [NaN, NaN]), 0) + +// f64_cmp.wast:1213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -0.]), 1) + +// f64_cmp.wast:1214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 0.]), 1) + +// f64_cmp.wast:1215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -0.]), 1) + +// f64_cmp.wast:1216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 0.]), 1) + +// f64_cmp.wast:1217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -4.94065645841e-324]), 0) + +// f64_cmp.wast:1218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 4.94065645841e-324]), 1) + +// f64_cmp.wast:1219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -4.94065645841e-324]), 0) + +// f64_cmp.wast:1220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 4.94065645841e-324]), 1) + +// f64_cmp.wast:1221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -2.22507385851e-308]), 0) + +// f64_cmp.wast:1222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 2.22507385851e-308]), 1) + +// f64_cmp.wast:1223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -2.22507385851e-308]), 0) + +// f64_cmp.wast:1224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 2.22507385851e-308]), 1) + +// f64_cmp.wast:1225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -0.5]), 0) + +// f64_cmp.wast:1226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 0.5]), 1) + +// f64_cmp.wast:1227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -0.5]), 0) + +// f64_cmp.wast:1228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 0.5]), 1) + +// f64_cmp.wast:1229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -1.]), 0) + +// f64_cmp.wast:1230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 1.]), 1) + +// f64_cmp.wast:1231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -1.]), 0) + +// f64_cmp.wast:1232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 1.]), 1) + +// f64_cmp.wast:1233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -6.28318530718]), 0) + +// f64_cmp.wast:1234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 6.28318530718]), 1) + +// f64_cmp.wast:1235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -6.28318530718]), 0) + +// f64_cmp.wast:1236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 6.28318530718]), 1) + +// f64_cmp.wast:1237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -1.79769313486e+308]), 0) + +// f64_cmp.wast:1238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., 1.79769313486e+308]), 1) + +// f64_cmp.wast:1239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -1.79769313486e+308]), 0) + +// f64_cmp.wast:1240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., 1.79769313486e+308]), 1) + +// f64_cmp.wast:1241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., -Infinity]), 0) + +// f64_cmp.wast:1242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., Infinity]), 1) + +// f64_cmp.wast:1243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., -Infinity]), 0) + +// f64_cmp.wast:1244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., Infinity]), 1) + +// f64_cmp.wast:1245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f64_cmp.wast:1246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f64_cmp.wast:1247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f64_cmp.wast:1248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0., NaN]), 0) + +// f64_cmp.wast:1249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f64_cmp.wast:1250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f64_cmp.wast:1251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f64_cmp.wast:1252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0., NaN]), 0) + +// f64_cmp.wast:1253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -0.]), 1) + +// f64_cmp.wast:1254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 0.]), 1) + +// f64_cmp.wast:1255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -0.]), 0) + +// f64_cmp.wast:1256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 0.]), 0) + +// f64_cmp.wast:1257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -0.5]), 0) + +// f64_cmp.wast:1266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 0.5]), 1) + +// f64_cmp.wast:1267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -0.5]), 0) + +// f64_cmp.wast:1268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 0.5]), 1) + +// f64_cmp.wast:1269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -1.]), 0) + +// f64_cmp.wast:1270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 1.]), 1) + +// f64_cmp.wast:1271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -1.]), 0) + +// f64_cmp.wast:1272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 1.]), 1) + +// f64_cmp.wast:1273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -6.28318530718]), 0) + +// f64_cmp.wast:1274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 6.28318530718]), 1) + +// f64_cmp.wast:1275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -6.28318530718]), 0) + +// f64_cmp.wast:1276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 6.28318530718]), 1) + +// f64_cmp.wast:1277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, -Infinity]), 0) + +// f64_cmp.wast:1282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, Infinity]), 1) + +// f64_cmp.wast:1283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, -Infinity]), 0) + +// f64_cmp.wast:1284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, Infinity]), 1) + +// f64_cmp.wast:1285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -0.]), 1) + +// f64_cmp.wast:1294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 0.]), 1) + +// f64_cmp.wast:1295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -0.]), 0) + +// f64_cmp.wast:1296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 0.]), 0) + +// f64_cmp.wast:1297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -0.5]), 0) + +// f64_cmp.wast:1306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 0.5]), 1) + +// f64_cmp.wast:1307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -0.5]), 0) + +// f64_cmp.wast:1308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 0.5]), 1) + +// f64_cmp.wast:1309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -1.]), 0) + +// f64_cmp.wast:1310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 1.]), 1) + +// f64_cmp.wast:1311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -1.]), 0) + +// f64_cmp.wast:1312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 1.]), 1) + +// f64_cmp.wast:1313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -6.28318530718]), 0) + +// f64_cmp.wast:1314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 6.28318530718]), 1) + +// f64_cmp.wast:1315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -6.28318530718]), 0) + +// f64_cmp.wast:1316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 6.28318530718]), 1) + +// f64_cmp.wast:1317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, -Infinity]), 0) + +// f64_cmp.wast:1322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, Infinity]), 1) + +// f64_cmp.wast:1323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, -Infinity]), 0) + +// f64_cmp.wast:1324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, Infinity]), 1) + +// f64_cmp.wast:1325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -0.]), 1) + +// f64_cmp.wast:1334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 0.]), 1) + +// f64_cmp.wast:1335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -0.]), 0) + +// f64_cmp.wast:1336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 0.]), 0) + +// f64_cmp.wast:1337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -0.5]), 1) + +// f64_cmp.wast:1346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 0.5]), 1) + +// f64_cmp.wast:1347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -0.5]), 0) + +// f64_cmp.wast:1348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 0.5]), 1) + +// f64_cmp.wast:1349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -1.]), 0) + +// f64_cmp.wast:1350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 1.]), 1) + +// f64_cmp.wast:1351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -1.]), 0) + +// f64_cmp.wast:1352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 1.]), 1) + +// f64_cmp.wast:1353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -6.28318530718]), 0) + +// f64_cmp.wast:1354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 6.28318530718]), 1) + +// f64_cmp.wast:1355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -6.28318530718]), 0) + +// f64_cmp.wast:1356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 6.28318530718]), 1) + +// f64_cmp.wast:1357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, -Infinity]), 0) + +// f64_cmp.wast:1362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, Infinity]), 1) + +// f64_cmp.wast:1363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, -Infinity]), 0) + +// f64_cmp.wast:1364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, Infinity]), 1) + +// f64_cmp.wast:1365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f64_cmp.wast:1366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f64_cmp.wast:1367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f64_cmp.wast:1368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-0.5, NaN]), 0) + +// f64_cmp.wast:1369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f64_cmp.wast:1370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f64_cmp.wast:1371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f64_cmp.wast:1372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [0.5, NaN]), 0) + +// f64_cmp.wast:1373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -0.]), 1) + +// f64_cmp.wast:1374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 0.]), 1) + +// f64_cmp.wast:1375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -0.]), 0) + +// f64_cmp.wast:1376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 0.]), 0) + +// f64_cmp.wast:1377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -4.94065645841e-324]), 1) + +// f64_cmp.wast:1378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 4.94065645841e-324]), 1) + +// f64_cmp.wast:1379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -4.94065645841e-324]), 0) + +// f64_cmp.wast:1380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 4.94065645841e-324]), 0) + +// f64_cmp.wast:1381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -2.22507385851e-308]), 1) + +// f64_cmp.wast:1382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 2.22507385851e-308]), 1) + +// f64_cmp.wast:1383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -2.22507385851e-308]), 0) + +// f64_cmp.wast:1384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 2.22507385851e-308]), 0) + +// f64_cmp.wast:1385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -0.5]), 1) + +// f64_cmp.wast:1386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 0.5]), 1) + +// f64_cmp.wast:1387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -0.5]), 0) + +// f64_cmp.wast:1388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 0.5]), 0) + +// f64_cmp.wast:1389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -1.]), 1) + +// f64_cmp.wast:1390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 1.]), 1) + +// f64_cmp.wast:1391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -1.]), 0) + +// f64_cmp.wast:1392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 1.]), 1) + +// f64_cmp.wast:1393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -6.28318530718]), 0) + +// f64_cmp.wast:1394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 6.28318530718]), 1) + +// f64_cmp.wast:1395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -6.28318530718]), 0) + +// f64_cmp.wast:1396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 6.28318530718]), 1) + +// f64_cmp.wast:1397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -1.79769313486e+308]), 0) + +// f64_cmp.wast:1398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., 1.79769313486e+308]), 1) + +// f64_cmp.wast:1399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -1.79769313486e+308]), 0) + +// f64_cmp.wast:1400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., 1.79769313486e+308]), 1) + +// f64_cmp.wast:1401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., -Infinity]), 0) + +// f64_cmp.wast:1402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., Infinity]), 1) + +// f64_cmp.wast:1403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., -Infinity]), 0) + +// f64_cmp.wast:1404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., Infinity]), 1) + +// f64_cmp.wast:1405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f64_cmp.wast:1406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f64_cmp.wast:1407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f64_cmp.wast:1408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1., NaN]), 0) + +// f64_cmp.wast:1409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f64_cmp.wast:1410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f64_cmp.wast:1411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f64_cmp.wast:1412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1., NaN]), 0) + +// f64_cmp.wast:1413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -0.]), 1) + +// f64_cmp.wast:1414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 0.]), 1) + +// f64_cmp.wast:1415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -0.]), 0) + +// f64_cmp.wast:1416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 0.]), 0) + +// f64_cmp.wast:1417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1422 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -0.5]), 1) + +// f64_cmp.wast:1426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 0.5]), 1) + +// f64_cmp.wast:1427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -0.5]), 0) + +// f64_cmp.wast:1428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 0.5]), 0) + +// f64_cmp.wast:1429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -1.]), 1) + +// f64_cmp.wast:1430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 1.]), 1) + +// f64_cmp.wast:1431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -1.]), 0) + +// f64_cmp.wast:1432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 1.]), 0) + +// f64_cmp.wast:1433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -6.28318530718]), 1) + +// f64_cmp.wast:1434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 6.28318530718]), 1) + +// f64_cmp.wast:1435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -6.28318530718]), 0) + +// f64_cmp.wast:1436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 6.28318530718]), 1) + +// f64_cmp.wast:1437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, -Infinity]), 0) + +// f64_cmp.wast:1442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, Infinity]), 1) + +// f64_cmp.wast:1443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, -Infinity]), 0) + +// f64_cmp.wast:1444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, Infinity]), 1) + +// f64_cmp.wast:1445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1448 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1449 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -0.]), 1) + +// f64_cmp.wast:1454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 0.]), 1) + +// f64_cmp.wast:1455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -0.]), 0) + +// f64_cmp.wast:1456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 0.]), 0) + +// f64_cmp.wast:1457 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1458 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1460 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1461 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -0.5]), 1) + +// f64_cmp.wast:1466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 0.5]), 1) + +// f64_cmp.wast:1467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -0.5]), 0) + +// f64_cmp.wast:1468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 0.5]), 0) + +// f64_cmp.wast:1469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -1.]), 1) + +// f64_cmp.wast:1470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 1.]), 1) + +// f64_cmp.wast:1471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -1.]), 0) + +// f64_cmp.wast:1472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 1.]), 0) + +// f64_cmp.wast:1473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -6.28318530718]), 1) + +// f64_cmp.wast:1474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 6.28318530718]), 1) + +// f64_cmp.wast:1475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -6.28318530718]), 0) + +// f64_cmp.wast:1476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 6.28318530718]), 0) + +// f64_cmp.wast:1477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1479 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1480 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, -Infinity]), 0) + +// f64_cmp.wast:1482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, Infinity]), 1) + +// f64_cmp.wast:1483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, -Infinity]), 0) + +// f64_cmp.wast:1484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, Infinity]), 1) + +// f64_cmp.wast:1485 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1491 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1492 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1493 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -0.]), 1) + +// f64_cmp.wast:1494 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 0.]), 1) + +// f64_cmp.wast:1495 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -0.]), 0) + +// f64_cmp.wast:1496 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 0.]), 0) + +// f64_cmp.wast:1497 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1498 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1499 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -0.5]), 1) + +// f64_cmp.wast:1506 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 0.5]), 1) + +// f64_cmp.wast:1507 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -0.5]), 0) + +// f64_cmp.wast:1508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 0.5]), 0) + +// f64_cmp.wast:1509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -1.]), 1) + +// f64_cmp.wast:1510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 1.]), 1) + +// f64_cmp.wast:1511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -1.]), 0) + +// f64_cmp.wast:1512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 1.]), 0) + +// f64_cmp.wast:1513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -6.28318530718]), 1) + +// f64_cmp.wast:1514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 6.28318530718]), 1) + +// f64_cmp.wast:1515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -6.28318530718]), 0) + +// f64_cmp.wast:1516 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 6.28318530718]), 0) + +// f64_cmp.wast:1517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, -Infinity]), 1) + +// f64_cmp.wast:1522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, Infinity]), 1) + +// f64_cmp.wast:1523 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, -Infinity]), 0) + +// f64_cmp.wast:1524 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, Infinity]), 1) + +// f64_cmp.wast:1525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f64_cmp.wast:1530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f64_cmp.wast:1531 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f64_cmp.wast:1532 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [Infinity, NaN]), 0) + +// f64_cmp.wast:1533 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f64_cmp.wast:1534 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f64_cmp.wast:1535 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f64_cmp.wast:1536 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f64_cmp.wast:1537 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f64_cmp.wast:1538 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.]), 0) + +// f64_cmp.wast:1539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f64_cmp.wast:1540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.]), 0) + +// f64_cmp.wast:1541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1546 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1547 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f64_cmp.wast:1558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f64_cmp.wast:1559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f64_cmp.wast:1560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f64_cmp.wast:1561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f64_cmp.wast:1562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -0.5]), 0) + +// f64_cmp.wast:1563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f64_cmp.wast:1564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 0.5]), 0) + +// f64_cmp.wast:1565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f64_cmp.wast:1566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f64_cmp.wast:1567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f64_cmp.wast:1568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f64_cmp.wast:1569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f64_cmp.wast:1570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.]), 0) + +// f64_cmp.wast:1571 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f64_cmp.wast:1572 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.]), 0) + +// f64_cmp.wast:1573 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1574 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1575 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1576 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1577 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1578 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1583 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1584 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1589 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1590 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1591 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f64_cmp.wast:1592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f64_cmp.wast:1593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f64_cmp.wast:1596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, Infinity]), 0) + +// f64_cmp.wast:1597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1610 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1611 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1612 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le", [NaN, NaN]), 0) + +// f64_cmp.wast:1613 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -0.]), 0) + +// f64_cmp.wast:1614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 0.]), 0) + +// f64_cmp.wast:1615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -0.]), 0) + +// f64_cmp.wast:1616 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 0.]), 0) + +// f64_cmp.wast:1617 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -4.94065645841e-324]), 1) + +// f64_cmp.wast:1618 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 4.94065645841e-324]), 0) + +// f64_cmp.wast:1619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -4.94065645841e-324]), 1) + +// f64_cmp.wast:1620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 4.94065645841e-324]), 0) + +// f64_cmp.wast:1621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -2.22507385851e-308]), 1) + +// f64_cmp.wast:1622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 2.22507385851e-308]), 0) + +// f64_cmp.wast:1623 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -2.22507385851e-308]), 1) + +// f64_cmp.wast:1624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 2.22507385851e-308]), 0) + +// f64_cmp.wast:1625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -0.5]), 1) + +// f64_cmp.wast:1626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 0.5]), 0) + +// f64_cmp.wast:1627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -0.5]), 1) + +// f64_cmp.wast:1628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 0.5]), 0) + +// f64_cmp.wast:1629 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -1.]), 1) + +// f64_cmp.wast:1630 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 1.]), 0) + +// f64_cmp.wast:1631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -1.]), 1) + +// f64_cmp.wast:1632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 1.]), 0) + +// f64_cmp.wast:1633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -6.28318530718]), 1) + +// f64_cmp.wast:1634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 6.28318530718]), 0) + +// f64_cmp.wast:1635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -6.28318530718]), 1) + +// f64_cmp.wast:1636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 6.28318530718]), 0) + +// f64_cmp.wast:1637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -1.79769313486e+308]), 1) + +// f64_cmp.wast:1638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., 1.79769313486e+308]), 0) + +// f64_cmp.wast:1639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -1.79769313486e+308]), 1) + +// f64_cmp.wast:1640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., 1.79769313486e+308]), 0) + +// f64_cmp.wast:1641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., -Infinity]), 1) + +// f64_cmp.wast:1642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., Infinity]), 0) + +// f64_cmp.wast:1643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., -Infinity]), 1) + +// f64_cmp.wast:1644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., Infinity]), 0) + +// f64_cmp.wast:1645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f64_cmp.wast:1646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f64_cmp.wast:1647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f64_cmp.wast:1648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0., NaN]), 0) + +// f64_cmp.wast:1649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f64_cmp.wast:1650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f64_cmp.wast:1651 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f64_cmp.wast:1652 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0., NaN]), 0) + +// f64_cmp.wast:1653 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -0.]), 0) + +// f64_cmp.wast:1654 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 0.]), 0) + +// f64_cmp.wast:1655 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -0.]), 1) + +// f64_cmp.wast:1656 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 0.]), 1) + +// f64_cmp.wast:1657 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1658 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -0.5]), 1) + +// f64_cmp.wast:1666 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 0.5]), 0) + +// f64_cmp.wast:1667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -0.5]), 1) + +// f64_cmp.wast:1668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 0.5]), 0) + +// f64_cmp.wast:1669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -1.]), 1) + +// f64_cmp.wast:1670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 1.]), 0) + +// f64_cmp.wast:1671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -1.]), 1) + +// f64_cmp.wast:1672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 1.]), 0) + +// f64_cmp.wast:1673 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -6.28318530718]), 1) + +// f64_cmp.wast:1674 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 6.28318530718]), 0) + +// f64_cmp.wast:1675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -6.28318530718]), 1) + +// f64_cmp.wast:1676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 6.28318530718]), 0) + +// f64_cmp.wast:1677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1679 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, -Infinity]), 1) + +// f64_cmp.wast:1682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, Infinity]), 0) + +// f64_cmp.wast:1683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, -Infinity]), 1) + +// f64_cmp.wast:1684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, Infinity]), 0) + +// f64_cmp.wast:1685 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1691 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1692 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:1693 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -0.]), 0) + +// f64_cmp.wast:1694 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 0.]), 0) + +// f64_cmp.wast:1695 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -0.]), 1) + +// f64_cmp.wast:1696 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 0.]), 1) + +// f64_cmp.wast:1697 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1698 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1699 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1700 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1701 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1702 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -0.5]), 1) + +// f64_cmp.wast:1706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 0.5]), 0) + +// f64_cmp.wast:1707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -0.5]), 1) + +// f64_cmp.wast:1708 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 0.5]), 0) + +// f64_cmp.wast:1709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -1.]), 1) + +// f64_cmp.wast:1710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 1.]), 0) + +// f64_cmp.wast:1711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -1.]), 1) + +// f64_cmp.wast:1712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 1.]), 0) + +// f64_cmp.wast:1713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -6.28318530718]), 1) + +// f64_cmp.wast:1714 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 6.28318530718]), 0) + +// f64_cmp.wast:1715 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -6.28318530718]), 1) + +// f64_cmp.wast:1716 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 6.28318530718]), 0) + +// f64_cmp.wast:1717 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1718 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1719 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1720 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1721 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, -Infinity]), 1) + +// f64_cmp.wast:1722 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, Infinity]), 0) + +// f64_cmp.wast:1723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, -Infinity]), 1) + +// f64_cmp.wast:1724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, Infinity]), 0) + +// f64_cmp.wast:1725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1731 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1732 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:1733 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -0.]), 0) + +// f64_cmp.wast:1734 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 0.]), 0) + +// f64_cmp.wast:1735 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -0.]), 1) + +// f64_cmp.wast:1736 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 0.]), 1) + +// f64_cmp.wast:1737 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1738 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1740 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -0.5]), 0) + +// f64_cmp.wast:1746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 0.5]), 0) + +// f64_cmp.wast:1747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -0.5]), 1) + +// f64_cmp.wast:1748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 0.5]), 0) + +// f64_cmp.wast:1749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -1.]), 1) + +// f64_cmp.wast:1750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 1.]), 0) + +// f64_cmp.wast:1751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -1.]), 1) + +// f64_cmp.wast:1752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 1.]), 0) + +// f64_cmp.wast:1753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -6.28318530718]), 1) + +// f64_cmp.wast:1754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 6.28318530718]), 0) + +// f64_cmp.wast:1755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -6.28318530718]), 1) + +// f64_cmp.wast:1756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 6.28318530718]), 0) + +// f64_cmp.wast:1757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1760 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1761 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, -Infinity]), 1) + +// f64_cmp.wast:1762 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, Infinity]), 0) + +// f64_cmp.wast:1763 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, -Infinity]), 1) + +// f64_cmp.wast:1764 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, Infinity]), 0) + +// f64_cmp.wast:1765 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f64_cmp.wast:1766 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f64_cmp.wast:1767 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f64_cmp.wast:1768 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-0.5, NaN]), 0) + +// f64_cmp.wast:1769 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f64_cmp.wast:1770 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f64_cmp.wast:1771 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f64_cmp.wast:1772 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [0.5, NaN]), 0) + +// f64_cmp.wast:1773 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -0.]), 0) + +// f64_cmp.wast:1774 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 0.]), 0) + +// f64_cmp.wast:1775 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -0.]), 1) + +// f64_cmp.wast:1776 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 0.]), 1) + +// f64_cmp.wast:1777 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -4.94065645841e-324]), 0) + +// f64_cmp.wast:1778 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 4.94065645841e-324]), 0) + +// f64_cmp.wast:1779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -4.94065645841e-324]), 1) + +// f64_cmp.wast:1780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 4.94065645841e-324]), 1) + +// f64_cmp.wast:1781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -2.22507385851e-308]), 0) + +// f64_cmp.wast:1782 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 2.22507385851e-308]), 0) + +// f64_cmp.wast:1783 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -2.22507385851e-308]), 1) + +// f64_cmp.wast:1784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 2.22507385851e-308]), 1) + +// f64_cmp.wast:1785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -0.5]), 0) + +// f64_cmp.wast:1786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 0.5]), 0) + +// f64_cmp.wast:1787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -0.5]), 1) + +// f64_cmp.wast:1788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 0.5]), 1) + +// f64_cmp.wast:1789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -1.]), 0) + +// f64_cmp.wast:1790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 1.]), 0) + +// f64_cmp.wast:1791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -1.]), 1) + +// f64_cmp.wast:1792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 1.]), 0) + +// f64_cmp.wast:1793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -6.28318530718]), 1) + +// f64_cmp.wast:1794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 6.28318530718]), 0) + +// f64_cmp.wast:1795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -6.28318530718]), 1) + +// f64_cmp.wast:1796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 6.28318530718]), 0) + +// f64_cmp.wast:1797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -1.79769313486e+308]), 1) + +// f64_cmp.wast:1798 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., 1.79769313486e+308]), 0) + +// f64_cmp.wast:1799 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -1.79769313486e+308]), 1) + +// f64_cmp.wast:1800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., 1.79769313486e+308]), 0) + +// f64_cmp.wast:1801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., -Infinity]), 1) + +// f64_cmp.wast:1802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., Infinity]), 0) + +// f64_cmp.wast:1803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., -Infinity]), 1) + +// f64_cmp.wast:1804 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., Infinity]), 0) + +// f64_cmp.wast:1805 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f64_cmp.wast:1806 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f64_cmp.wast:1807 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f64_cmp.wast:1808 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1., NaN]), 0) + +// f64_cmp.wast:1809 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f64_cmp.wast:1810 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f64_cmp.wast:1811 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f64_cmp.wast:1812 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1., NaN]), 0) + +// f64_cmp.wast:1813 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -0.]), 0) + +// f64_cmp.wast:1814 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 0.]), 0) + +// f64_cmp.wast:1815 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -0.]), 1) + +// f64_cmp.wast:1816 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 0.]), 1) + +// f64_cmp.wast:1817 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1818 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -0.5]), 0) + +// f64_cmp.wast:1826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 0.5]), 0) + +// f64_cmp.wast:1827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -0.5]), 1) + +// f64_cmp.wast:1828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 0.5]), 1) + +// f64_cmp.wast:1829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -1.]), 0) + +// f64_cmp.wast:1830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 1.]), 0) + +// f64_cmp.wast:1831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -1.]), 1) + +// f64_cmp.wast:1832 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 1.]), 1) + +// f64_cmp.wast:1833 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -6.28318530718]), 0) + +// f64_cmp.wast:1834 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 6.28318530718]), 0) + +// f64_cmp.wast:1835 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -6.28318530718]), 1) + +// f64_cmp.wast:1836 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 6.28318530718]), 0) + +// f64_cmp.wast:1837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, -Infinity]), 1) + +// f64_cmp.wast:1842 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, Infinity]), 0) + +// f64_cmp.wast:1843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, -Infinity]), 1) + +// f64_cmp.wast:1844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, Infinity]), 0) + +// f64_cmp.wast:1845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:1849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1851 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1852 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:1853 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -0.]), 0) + +// f64_cmp.wast:1854 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 0.]), 0) + +// f64_cmp.wast:1855 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -0.]), 1) + +// f64_cmp.wast:1856 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 0.]), 1) + +// f64_cmp.wast:1857 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1858 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -0.5]), 0) + +// f64_cmp.wast:1866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 0.5]), 0) + +// f64_cmp.wast:1867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -0.5]), 1) + +// f64_cmp.wast:1868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 0.5]), 1) + +// f64_cmp.wast:1869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -1.]), 0) + +// f64_cmp.wast:1870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 1.]), 0) + +// f64_cmp.wast:1871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -1.]), 1) + +// f64_cmp.wast:1872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 1.]), 1) + +// f64_cmp.wast:1873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -6.28318530718]), 0) + +// f64_cmp.wast:1874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 6.28318530718]), 0) + +// f64_cmp.wast:1875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -6.28318530718]), 1) + +// f64_cmp.wast:1876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 6.28318530718]), 1) + +// f64_cmp.wast:1877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1879 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1880 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1881 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, -Infinity]), 1) + +// f64_cmp.wast:1882 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, Infinity]), 0) + +// f64_cmp.wast:1883 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, -Infinity]), 1) + +// f64_cmp.wast:1884 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, Infinity]), 0) + +// f64_cmp.wast:1885 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1886 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1887 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1888 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1891 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1892 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:1893 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -0.]), 0) + +// f64_cmp.wast:1894 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 0.]), 0) + +// f64_cmp.wast:1895 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -0.]), 1) + +// f64_cmp.wast:1896 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 0.]), 1) + +// f64_cmp.wast:1897 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1898 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -4.94065645841e-324]), 1) + +// f64_cmp.wast:1900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 4.94065645841e-324]), 1) + +// f64_cmp.wast:1901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -2.22507385851e-308]), 1) + +// f64_cmp.wast:1904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 2.22507385851e-308]), 1) + +// f64_cmp.wast:1905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -0.5]), 0) + +// f64_cmp.wast:1906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 0.5]), 0) + +// f64_cmp.wast:1907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -0.5]), 1) + +// f64_cmp.wast:1908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 0.5]), 1) + +// f64_cmp.wast:1909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -1.]), 0) + +// f64_cmp.wast:1910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 1.]), 0) + +// f64_cmp.wast:1911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -1.]), 1) + +// f64_cmp.wast:1912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 1.]), 1) + +// f64_cmp.wast:1913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -6.28318530718]), 0) + +// f64_cmp.wast:1914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 6.28318530718]), 0) + +// f64_cmp.wast:1915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -6.28318530718]), 1) + +// f64_cmp.wast:1916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 6.28318530718]), 1) + +// f64_cmp.wast:1917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -1.79769313486e+308]), 1) + +// f64_cmp.wast:1920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, 1.79769313486e+308]), 1) + +// f64_cmp.wast:1921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, -Infinity]), 0) + +// f64_cmp.wast:1922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, Infinity]), 0) + +// f64_cmp.wast:1923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, -Infinity]), 1) + +// f64_cmp.wast:1924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, Infinity]), 0) + +// f64_cmp.wast:1925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1926 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1927 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1928 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [-Infinity, NaN]), 0) + +// f64_cmp.wast:1929 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1930 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1931 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1932 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [Infinity, NaN]), 0) + +// f64_cmp.wast:1933 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f64_cmp.wast:1934 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f64_cmp.wast:1935 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f64_cmp.wast:1936 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f64_cmp.wast:1937 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f64_cmp.wast:1938 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.]), 0) + +// f64_cmp.wast:1939 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f64_cmp.wast:1940 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.]), 0) + +// f64_cmp.wast:1941 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1942 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1943 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1944 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1945 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1946 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:1947 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1948 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:1949 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1950 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1951 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1952 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1953 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1954 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:1955 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1956 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:1957 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1958 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1959 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1960 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1961 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1962 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -0.5]), 0) + +// f64_cmp.wast:1963 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1964 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 0.5]), 0) + +// f64_cmp.wast:1965 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f64_cmp.wast:1966 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f64_cmp.wast:1967 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f64_cmp.wast:1968 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f64_cmp.wast:1969 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f64_cmp.wast:1970 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.]), 0) + +// f64_cmp.wast:1971 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f64_cmp.wast:1972 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.]), 0) + +// f64_cmp.wast:1973 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1974 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1975 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1976 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1977 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1978 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:1979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:1981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:1987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:1989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, -Infinity]), 0) + +// f64_cmp.wast:1995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, Infinity]), 0) + +// f64_cmp.wast:1997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:1998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:1999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2005 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2006 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2007 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2008 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2009 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2010 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2011 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2012 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt", [NaN, NaN]), 0) + +// f64_cmp.wast:2013 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -0.]), 1) + +// f64_cmp.wast:2014 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 0.]), 1) + +// f64_cmp.wast:2015 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -0.]), 1) + +// f64_cmp.wast:2016 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 0.]), 1) + +// f64_cmp.wast:2017 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -4.94065645841e-324]), 1) + +// f64_cmp.wast:2018 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 4.94065645841e-324]), 0) + +// f64_cmp.wast:2019 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -4.94065645841e-324]), 1) + +// f64_cmp.wast:2020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 4.94065645841e-324]), 0) + +// f64_cmp.wast:2021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -2.22507385851e-308]), 1) + +// f64_cmp.wast:2022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 2.22507385851e-308]), 0) + +// f64_cmp.wast:2023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -2.22507385851e-308]), 1) + +// f64_cmp.wast:2024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 2.22507385851e-308]), 0) + +// f64_cmp.wast:2025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -0.5]), 1) + +// f64_cmp.wast:2026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 0.5]), 0) + +// f64_cmp.wast:2027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -0.5]), 1) + +// f64_cmp.wast:2028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 0.5]), 0) + +// f64_cmp.wast:2029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -1.]), 1) + +// f64_cmp.wast:2030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 1.]), 0) + +// f64_cmp.wast:2031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -1.]), 1) + +// f64_cmp.wast:2032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 1.]), 0) + +// f64_cmp.wast:2033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -6.28318530718]), 1) + +// f64_cmp.wast:2034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 6.28318530718]), 0) + +// f64_cmp.wast:2035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -6.28318530718]), 1) + +// f64_cmp.wast:2036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 6.28318530718]), 0) + +// f64_cmp.wast:2037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -1.79769313486e+308]), 1) + +// f64_cmp.wast:2038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., 1.79769313486e+308]), 0) + +// f64_cmp.wast:2039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -1.79769313486e+308]), 1) + +// f64_cmp.wast:2040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., 1.79769313486e+308]), 0) + +// f64_cmp.wast:2041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., -Infinity]), 1) + +// f64_cmp.wast:2042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., Infinity]), 0) + +// f64_cmp.wast:2043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., -Infinity]), 1) + +// f64_cmp.wast:2044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., Infinity]), 0) + +// f64_cmp.wast:2045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f64_cmp.wast:2046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f64_cmp.wast:2047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f64_cmp.wast:2048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0., NaN]), 0) + +// f64_cmp.wast:2049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f64_cmp.wast:2050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f64_cmp.wast:2051 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f64_cmp.wast:2052 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0., NaN]), 0) + +// f64_cmp.wast:2053 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -0.]), 0) + +// f64_cmp.wast:2054 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 0.]), 0) + +// f64_cmp.wast:2055 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -0.]), 1) + +// f64_cmp.wast:2056 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 0.]), 1) + +// f64_cmp.wast:2057 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2058 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2059 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2060 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 4.94065645841e-324]), 1) + +// f64_cmp.wast:2061 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2062 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2063 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2064 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2065 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -0.5]), 1) + +// f64_cmp.wast:2066 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 0.5]), 0) + +// f64_cmp.wast:2067 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -0.5]), 1) + +// f64_cmp.wast:2068 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 0.5]), 0) + +// f64_cmp.wast:2069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -1.]), 1) + +// f64_cmp.wast:2070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 1.]), 0) + +// f64_cmp.wast:2071 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -1.]), 1) + +// f64_cmp.wast:2072 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 1.]), 0) + +// f64_cmp.wast:2073 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -6.28318530718]), 1) + +// f64_cmp.wast:2074 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 6.28318530718]), 0) + +// f64_cmp.wast:2075 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -6.28318530718]), 1) + +// f64_cmp.wast:2076 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 6.28318530718]), 0) + +// f64_cmp.wast:2077 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2078 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2079 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2080 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2081 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, -Infinity]), 1) + +// f64_cmp.wast:2082 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, Infinity]), 0) + +// f64_cmp.wast:2083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, -Infinity]), 1) + +// f64_cmp.wast:2084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, Infinity]), 0) + +// f64_cmp.wast:2085 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2086 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2087 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2088 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2089 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2090 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2091 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2092 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [4.94065645841e-324, NaN]), 0) + +// f64_cmp.wast:2093 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -0.]), 0) + +// f64_cmp.wast:2094 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 0.]), 0) + +// f64_cmp.wast:2095 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -0.]), 1) + +// f64_cmp.wast:2096 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 0.]), 1) + +// f64_cmp.wast:2097 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2098 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:2101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:2105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -0.5]), 1) + +// f64_cmp.wast:2106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 0.5]), 0) + +// f64_cmp.wast:2107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -0.5]), 1) + +// f64_cmp.wast:2108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 0.5]), 0) + +// f64_cmp.wast:2109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -1.]), 1) + +// f64_cmp.wast:2110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 1.]), 0) + +// f64_cmp.wast:2111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -1.]), 1) + +// f64_cmp.wast:2112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 1.]), 0) + +// f64_cmp.wast:2113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -6.28318530718]), 1) + +// f64_cmp.wast:2114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 6.28318530718]), 0) + +// f64_cmp.wast:2115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -6.28318530718]), 1) + +// f64_cmp.wast:2116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 6.28318530718]), 0) + +// f64_cmp.wast:2117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, -Infinity]), 1) + +// f64_cmp.wast:2122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, Infinity]), 0) + +// f64_cmp.wast:2123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, -Infinity]), 1) + +// f64_cmp.wast:2124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, Infinity]), 0) + +// f64_cmp.wast:2125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [2.22507385851e-308, NaN]), 0) + +// f64_cmp.wast:2133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -0.]), 0) + +// f64_cmp.wast:2134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 0.]), 0) + +// f64_cmp.wast:2135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -0.]), 1) + +// f64_cmp.wast:2136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 0.]), 1) + +// f64_cmp.wast:2137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 4.94065645841e-324]), 1) + +// f64_cmp.wast:2141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 2.22507385851e-308]), 1) + +// f64_cmp.wast:2145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -0.5]), 1) + +// f64_cmp.wast:2146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 0.5]), 0) + +// f64_cmp.wast:2147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -0.5]), 1) + +// f64_cmp.wast:2148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 0.5]), 1) + +// f64_cmp.wast:2149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -1.]), 1) + +// f64_cmp.wast:2150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 1.]), 0) + +// f64_cmp.wast:2151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -1.]), 1) + +// f64_cmp.wast:2152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 1.]), 0) + +// f64_cmp.wast:2153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -6.28318530718]), 1) + +// f64_cmp.wast:2154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 6.28318530718]), 0) + +// f64_cmp.wast:2155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -6.28318530718]), 1) + +// f64_cmp.wast:2156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 6.28318530718]), 0) + +// f64_cmp.wast:2157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, -Infinity]), 1) + +// f64_cmp.wast:2162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, Infinity]), 0) + +// f64_cmp.wast:2163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, -Infinity]), 1) + +// f64_cmp.wast:2164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, Infinity]), 0) + +// f64_cmp.wast:2165 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f64_cmp.wast:2166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f64_cmp.wast:2167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f64_cmp.wast:2168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-0.5, NaN]), 0) + +// f64_cmp.wast:2169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f64_cmp.wast:2170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f64_cmp.wast:2171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f64_cmp.wast:2172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [0.5, NaN]), 0) + +// f64_cmp.wast:2173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -0.]), 0) + +// f64_cmp.wast:2174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 0.]), 0) + +// f64_cmp.wast:2175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -0.]), 1) + +// f64_cmp.wast:2176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 0.]), 1) + +// f64_cmp.wast:2177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -4.94065645841e-324]), 0) + +// f64_cmp.wast:2178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 4.94065645841e-324]), 0) + +// f64_cmp.wast:2179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -4.94065645841e-324]), 1) + +// f64_cmp.wast:2180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 4.94065645841e-324]), 1) + +// f64_cmp.wast:2181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -2.22507385851e-308]), 0) + +// f64_cmp.wast:2182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 2.22507385851e-308]), 0) + +// f64_cmp.wast:2183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -2.22507385851e-308]), 1) + +// f64_cmp.wast:2184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 2.22507385851e-308]), 1) + +// f64_cmp.wast:2185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -0.5]), 0) + +// f64_cmp.wast:2186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 0.5]), 0) + +// f64_cmp.wast:2187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -0.5]), 1) + +// f64_cmp.wast:2188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 0.5]), 1) + +// f64_cmp.wast:2189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -1.]), 1) + +// f64_cmp.wast:2190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 1.]), 0) + +// f64_cmp.wast:2191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -1.]), 1) + +// f64_cmp.wast:2192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 1.]), 1) + +// f64_cmp.wast:2193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -6.28318530718]), 1) + +// f64_cmp.wast:2194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 6.28318530718]), 0) + +// f64_cmp.wast:2195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -6.28318530718]), 1) + +// f64_cmp.wast:2196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 6.28318530718]), 0) + +// f64_cmp.wast:2197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -1.79769313486e+308]), 1) + +// f64_cmp.wast:2198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., 1.79769313486e+308]), 0) + +// f64_cmp.wast:2199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -1.79769313486e+308]), 1) + +// f64_cmp.wast:2200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., 1.79769313486e+308]), 0) + +// f64_cmp.wast:2201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., -Infinity]), 1) + +// f64_cmp.wast:2202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., Infinity]), 0) + +// f64_cmp.wast:2203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., -Infinity]), 1) + +// f64_cmp.wast:2204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., Infinity]), 0) + +// f64_cmp.wast:2205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f64_cmp.wast:2206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f64_cmp.wast:2207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f64_cmp.wast:2208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1., NaN]), 0) + +// f64_cmp.wast:2209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f64_cmp.wast:2210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f64_cmp.wast:2211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f64_cmp.wast:2212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1., NaN]), 0) + +// f64_cmp.wast:2213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -0.]), 0) + +// f64_cmp.wast:2214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 0.]), 0) + +// f64_cmp.wast:2215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -0.]), 1) + +// f64_cmp.wast:2216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 0.]), 1) + +// f64_cmp.wast:2217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 4.94065645841e-324]), 1) + +// f64_cmp.wast:2221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 2.22507385851e-308]), 1) + +// f64_cmp.wast:2225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -0.5]), 0) + +// f64_cmp.wast:2226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 0.5]), 0) + +// f64_cmp.wast:2227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -0.5]), 1) + +// f64_cmp.wast:2228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 0.5]), 1) + +// f64_cmp.wast:2229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -1.]), 0) + +// f64_cmp.wast:2230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 1.]), 0) + +// f64_cmp.wast:2231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -1.]), 1) + +// f64_cmp.wast:2232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 1.]), 1) + +// f64_cmp.wast:2233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -6.28318530718]), 1) + +// f64_cmp.wast:2234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 6.28318530718]), 0) + +// f64_cmp.wast:2235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -6.28318530718]), 1) + +// f64_cmp.wast:2236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 6.28318530718]), 1) + +// f64_cmp.wast:2237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, -Infinity]), 1) + +// f64_cmp.wast:2242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, Infinity]), 0) + +// f64_cmp.wast:2243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, -Infinity]), 1) + +// f64_cmp.wast:2244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, Infinity]), 0) + +// f64_cmp.wast:2245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:2246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:2247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:2248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-6.28318530718, NaN]), 0) + +// f64_cmp.wast:2249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:2250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:2251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:2252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [6.28318530718, NaN]), 0) + +// f64_cmp.wast:2253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -0.]), 0) + +// f64_cmp.wast:2254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 0.]), 0) + +// f64_cmp.wast:2255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -0.]), 1) + +// f64_cmp.wast:2256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 0.]), 1) + +// f64_cmp.wast:2257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 4.94065645841e-324]), 1) + +// f64_cmp.wast:2261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 2.22507385851e-308]), 1) + +// f64_cmp.wast:2265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -0.5]), 0) + +// f64_cmp.wast:2266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 0.5]), 0) + +// f64_cmp.wast:2267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -0.5]), 1) + +// f64_cmp.wast:2268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 0.5]), 1) + +// f64_cmp.wast:2269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -1.]), 0) + +// f64_cmp.wast:2270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 1.]), 0) + +// f64_cmp.wast:2271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -1.]), 1) + +// f64_cmp.wast:2272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 1.]), 1) + +// f64_cmp.wast:2273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -6.28318530718]), 0) + +// f64_cmp.wast:2274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 6.28318530718]), 0) + +// f64_cmp.wast:2275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -6.28318530718]), 1) + +// f64_cmp.wast:2276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 6.28318530718]), 1) + +// f64_cmp.wast:2277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, 1.79769313486e+308]), 1) + +// f64_cmp.wast:2281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, -Infinity]), 1) + +// f64_cmp.wast:2282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, Infinity]), 0) + +// f64_cmp.wast:2283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, -Infinity]), 1) + +// f64_cmp.wast:2284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, Infinity]), 0) + +// f64_cmp.wast:2285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [1.79769313486e+308, NaN]), 0) + +// f64_cmp.wast:2293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -0.]), 0) + +// f64_cmp.wast:2294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 0.]), 0) + +// f64_cmp.wast:2295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -0.]), 1) + +// f64_cmp.wast:2296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 0.]), 1) + +// f64_cmp.wast:2297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -4.94065645841e-324]), 1) + +// f64_cmp.wast:2300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 4.94065645841e-324]), 1) + +// f64_cmp.wast:2301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -2.22507385851e-308]), 1) + +// f64_cmp.wast:2304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 2.22507385851e-308]), 1) + +// f64_cmp.wast:2305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -0.5]), 0) + +// f64_cmp.wast:2306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 0.5]), 0) + +// f64_cmp.wast:2307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -0.5]), 1) + +// f64_cmp.wast:2308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 0.5]), 1) + +// f64_cmp.wast:2309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -1.]), 0) + +// f64_cmp.wast:2310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 1.]), 0) + +// f64_cmp.wast:2311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -1.]), 1) + +// f64_cmp.wast:2312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 1.]), 1) + +// f64_cmp.wast:2313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -6.28318530718]), 0) + +// f64_cmp.wast:2314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 6.28318530718]), 0) + +// f64_cmp.wast:2315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -6.28318530718]), 1) + +// f64_cmp.wast:2316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 6.28318530718]), 1) + +// f64_cmp.wast:2317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -1.79769313486e+308]), 0) + +// f64_cmp.wast:2318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -1.79769313486e+308]), 1) + +// f64_cmp.wast:2320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, 1.79769313486e+308]), 1) + +// f64_cmp.wast:2321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, -Infinity]), 1) + +// f64_cmp.wast:2322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, Infinity]), 0) + +// f64_cmp.wast:2323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, -Infinity]), 1) + +// f64_cmp.wast:2324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, Infinity]), 1) + +// f64_cmp.wast:2325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f64_cmp.wast:2326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f64_cmp.wast:2327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f64_cmp.wast:2328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [-Infinity, NaN]), 0) + +// f64_cmp.wast:2329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f64_cmp.wast:2330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f64_cmp.wast:2331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f64_cmp.wast:2332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [Infinity, NaN]), 0) + +// f64_cmp.wast:2333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f64_cmp.wast:2334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f64_cmp.wast:2335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f64_cmp.wast:2336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f64_cmp.wast:2337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f64_cmp.wast:2338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.]), 0) + +// f64_cmp.wast:2339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f64_cmp.wast:2340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.]), 0) + +// f64_cmp.wast:2341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -4.94065645841e-324]), 0) + +// f64_cmp.wast:2347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x01\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 4.94065645841e-324]), 0) + +// f64_cmp.wast:2349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x80\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -2.22507385851e-308]), 0) + +// f64_cmp.wast:2355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 2.22507385851e-308]), 0) + +// f64_cmp.wast:2357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f64_cmp.wast:2358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f64_cmp.wast:2359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f64_cmp.wast:2360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f64_cmp.wast:2361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f64_cmp.wast:2362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -0.5]), 0) + +// f64_cmp.wast:2363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f64_cmp.wast:2364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 0.5]), 0) + +// f64_cmp.wast:2365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f64_cmp.wast:2366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f64_cmp.wast:2367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f64_cmp.wast:2368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f64_cmp.wast:2369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f64_cmp.wast:2370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.]), 0) + +// f64_cmp.wast:2371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f64_cmp.wast:2372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.]), 0) + +// f64_cmp.wast:2373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:2374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:2375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:2376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:2377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:2378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\xc0\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -6.28318530718]), 0) + +// f64_cmp.wast:2379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:2380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 6.28318530718]), 0) + +// f64_cmp.wast:2381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:2382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:2383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:2386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -1.79769313486e+308]), 0) + +// f64_cmp.wast:2387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, 1.79769313486e+308]), 0) + +// f64_cmp.wast:2389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f64_cmp.wast:2390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f64_cmp.wast:2391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f64_cmp.wast:2392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f64_cmp.wast:2393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f64_cmp.wast:2394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, -Infinity]), 0) + +// f64_cmp.wast:2395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f64_cmp.wast:2396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, Infinity]), 0) + +// f64_cmp.wast:2397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\xff\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) + +// f64_cmp.wast:2412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge", [NaN, NaN]), 0) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/fac.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/fac.wast.js new file mode 100644 index 0000000000..f62b93e1e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/fac.wast.js @@ -0,0 +1,21 @@ + +// fac.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x86\x80\x80\x80\x00\x05\x00\x00\x00\x00\x00\x07\xc1\x80\x80\x80\x00\x05\x07\x66\x61\x63\x2d\x72\x65\x63\x00\x00\x0d\x66\x61\x63\x2d\x72\x65\x63\x2d\x6e\x61\x6d\x65\x64\x00\x01\x08\x66\x61\x63\x2d\x69\x74\x65\x72\x00\x02\x0e\x66\x61\x63\x2d\x69\x74\x65\x72\x2d\x6e\x61\x6d\x65\x64\x00\x03\x07\x66\x61\x63\x2d\x6f\x70\x74\x00\x04\x0a\xd2\x81\x80\x80\x00\x05\x97\x80\x80\x80\x00\x00\x20\x00\x42\x00\x51\x04\x7e\x42\x01\x05\x20\x00\x20\x00\x42\x01\x7d\x10\x00\x7e\x0b\x0b\x97\x80\x80\x80\x00\x00\x20\x00\x42\x00\x51\x04\x7e\x42\x01\x05\x20\x00\x20\x00\x42\x01\x7d\x10\x01\x7e\x0b\x0b\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b\xac\x80\x80\x80\x00\x01\x01\x7e\x42\x01\x21\x01\x02\x40\x20\x00\x42\x02\x53\x0d\x00\x03\x40\x20\x01\x20\x00\x7e\x21\x01\x20\x00\x42\x7f\x7c\x21\x00\x20\x00\x42\x01\x55\x0d\x00\x0b\x0b\x20\x01\x0b"); + +// fac.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x72\x65\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-rec", [int64("25")]), int64("7034535277573963776")) + +// fac.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x61\x63\x2d\x69\x74\x65\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-iter", [int64("25")]), int64("7034535277573963776")) + +// fac.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x02\x24\x31\x0d\x66\x61\x63\x2d\x72\x65\x63\x2d\x6e\x61\x6d\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-rec-named", [int64("25")]), int64("7034535277573963776")) + +// fac.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x61\x63\x2d\x69\x74\x65\x72\x2d\x6e\x61\x6d\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-iter-named", [int64("25")]), int64("7034535277573963776")) + +// fac.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x6f\x70\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-opt", [int64("25")]), int64("7034535277573963776")) + +// fac.wast:89 +assert_exhaustion(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x61\x63\x2d\x72\x65\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_exhaustion(() => call($1, "fac-rec", [int64("1073741824")])) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/float_exprs.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/float_exprs.wast.js new file mode 100644 index 0000000000..80809cc803 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/float_exprs.wast.js @@ -0,0 +1,2700 @@ + +// float_exprs.wast:6 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x01\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x07\x96\x80\x80\x80\x00\x01\x12\x66\x36\x34\x2e\x6e\x6f\x5f\x63\x6f\x6e\x74\x72\x61\x63\x74\x69\x6f\x6e\x00\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa0\x0b"); + +// float_exprs.wast:11 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x2e\x6e\x6f\x5f\x63\x6f\x6e\x74\x72\x61\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xaf\x73\x42\xe1\x7c\xe8\x89\xb9\x44\x3e\xb6\x1d\xd3\x5a\x51\x72\x69\x44\x85\x61\x5e\x68\xc6\x68\x48\x61\x10\x00\xbd\x44\x93\x14\xb1\x85\x48\xa9\x0d\xe3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.no_contraction", [-1.59671336041e-31, 8.76335216083e+199, 4.28965762049e+160]), -1.39925614343e+169) + +// float_exprs.wast:12 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x2e\x6e\x6f\x5f\x63\x6f\x6e\x74\x72\x61\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x44\x6f\x0a\x46\x1c\xa2\x3d\x43\x44\x4a\x71\xe7\xd2\x59\x08\xe6\x2b\x44\xe1\x60\xb6\xb7\xf1\x63\x1e\x2d\x10\x00\xbd\x44\x94\x17\x6d\x25\x2f\x67\x34\x2f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.no_contraction", [8.34101664248e+15, 3.22342496592e-97, 2.33108357417e-91]), 2.68866412888e-81) + +// float_exprs.wast:13 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x2e\x6e\x6f\x5f\x63\x6f\x6e\x74\x72\x61\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xc0\x27\xf3\x43\xaf\x3e\xdf\x9a\x44\x57\x6b\x90\x09\xc0\xfc\x4d\x61\x44\xa1\x20\xc5\x03\x4e\x98\x75\x39\x10\x00\xbd\x44\x66\xb1\x3d\xfb\x97\x47\x3d\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.no_contraction", [-3.01190452905e-179, 5.26993364392e+160, 6.65445478134e-32]), -1.58725370099e-18) + +// float_exprs.wast:14 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x2e\x6e\x6f\x5f\x63\x6f\x6e\x74\x72\x61\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xe2\xb2\x2c\x77\x6c\xab\xad\x3b\x44\x84\x9a\x67\x63\x16\x76\xad\xb9\x44\x26\x32\x84\x2c\xf9\x22\x5f\x32\x10\x00\xbd\x44\x68\xef\xfc\x2d\xd7\x50\x6b\xb5\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.no_contraction", [3.14139361168e-21, -7.26276603571e-31, 4.61968489423e-66]), -2.28152068277e-51) + +// float_exprs.wast:15 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x2e\x6e\x6f\x5f\x63\x6f\x6e\x74\x72\x61\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x3d\x4d\x1e\xef\x5d\x7c\x98\x84\x44\x7f\x20\xb2\xda\xd5\x0c\x65\xfa\x44\x5d\x8c\xda\xd0\x9b\x62\x9e\x3c\x10\x00\xbd\x44\xa7\x78\x4e\xeb\x6f\x1b\x10\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.no_contraction", [-1.60804642174e-286, -3.82103410227e+281, 1.05419805042e-16]), 6.14440021551e-05) + +// float_exprs.wast:19 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\x9b\x80\x80\x80\x00\x02\x0a\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x00\x0a\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x02\x92\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa0\x0b"); + +// float_exprs.wast:26 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x01\xc2\xd3\x7d\x43\xa4\xc2\x67\x34\x43\x6d\x95\x4c\x75\x10\x00\xbc\x43\x16\x93\x52\x75\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f32.no_fma", [3.51843041229e+37, 2.15843613205e-07, 2.59340643077e+32]), 2.66934960333e+32) + +// float_exprs.wast:27 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xd2\x8a\xf6\x31\x43\x39\x9e\xb0\xa6\x43\xd8\xab\xa3\x13\x10\x00\xbc\x43\x5c\x03\x2a\x99\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f32.no_fma", [7.1753243347e-09, -1.22553396078e-15, 4.13164358366e-27]), -8.78947242875e-24) + +// float_exprs.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xd1\x31\x57\x52\x43\xcd\xd2\x59\x39\x43\x8c\xb4\xe0\x44\x10\x00\xbc\x43\x2e\x1c\x37\x4c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f32.no_fma", [231063437312., 0.000207732620765, 1797.64208984]), 48001208.) + +// float_exprs.wast:29 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xfd\x3b\x95\x3b\x43\xab\xb9\xdd\xca\x43\x15\x5f\x19\xc0\x10\x00\xbc\x43\x6a\x43\x01\xc7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f32.no_fma", [0.00455427030101, -7265493.5, -2.39642834663]), -33091.4140625) + +// float_exprs.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xdb\xc7\x94\x7e\x43\x06\x84\x81\x9c\x43\xf3\xc6\xa0\xd0\x10\x00\xbc\x43\xe3\x8a\x96\xdb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f32.no_fma", [9.88817261494e+37, -8.57063118027e-22, -21579143168.]), -8.47479081376e+16) + +// float_exprs.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xd4\xee\x46\xff\x57\xc3\xca\x62\x44\x97\x72\x5e\x1a\xc0\x52\xd8\x5a\x44\x8a\xda\x4e\x70\x95\x59\xa0\xfd\x10\x00\xbd\x44\xe0\x38\xd3\x05\xd9\x55\xa8\x7d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.no_fma", [7.89084284375e+167, 4.21502005212e+129, -1.33660108113e+297]), 1.98940500032e+297) + +// float_exprs.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x0c\x01\x32\xbf\xd6\x2f\xce\x6e\x44\xe4\x05\xd4\x38\x22\x1c\xd0\x37\x44\x94\x9f\x4b\xdb\xc0\xec\xc2\x63\x10\x00\xbd\x44\xbc\x63\xe0\x07\xeb\x64\xae\x66\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.no_fma", [5.58682234801e+225, 7.39730200568e-40, 3.6567834172e+172]), 4.13274121603e+186) + +// float_exprs.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xe3\xed\x39\x74\x7c\x2b\xe9\x12\x44\xe6\x3d\x6d\x58\x97\xaa\x26\xff\x44\x8a\x35\xf6\x23\x48\xde\xc8\x4e\x10\x00\xbd\x44\xcd\x0e\xd2\x9f\x13\xd4\x21\xd2\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.no_fma", [1.42604778223e-217, -3.10876320366e+304, 3.43269235524e+71]), -4.43324487205e+87) + +// float_exprs.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x53\xb4\xdd\x0b\xd3\x66\xd4\xa7\x44\xaa\xc7\x39\xd7\xa4\x85\xa1\xdb\x44\x7b\xfc\xfb\x36\xc4\xf9\x65\x43\x10\x00\xbd\x44\x1a\xcc\x0f\x35\x1a\xd6\x8b\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.no_fma", [-8.09034701735e-117, -2.48744178507e+133, 4.94847651385e+16]), 2.50727437405e+17) + +// float_exprs.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x99\xa7\x58\x40\xc4\xe2\x37\x43\x44\xb2\xb8\x65\x17\xb7\x73\xcc\x6a\x44\x08\xb1\xf0\x1d\x64\x6c\x11\xeb\x10\x00\xbd\x44\xd1\x0b\xde\x53\xcb\x3c\x15\x6e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.no_fma", [6.72325698536e+15, 2.85456566693e+206, -5.59383947005e+207]), 1.91919785604e+222) + +// float_exprs.wast:40 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x7a\x65\x72\x6f\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x7a\x65\x72\x6f\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x00\x92\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x0b"); + +// float_exprs.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x33\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f32.no_fold_add_zero", [-0.]), 0.) + +// float_exprs.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x33\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f64.no_fold_add_zero", [-0.]), 0.) + +// float_exprs.wast:49 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x33\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return_arithmetic_nan(() => call($3, "f32.no_fold_add_zero", [NaN])) + +// float_exprs.wast:50 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x33\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return_arithmetic_nan(() => call($3, "f64.no_fold_add_zero", [NaN])) + +// float_exprs.wast:54 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x73\x75\x62\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x73\x75\x62\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x20\x00\x93\x0b\x8e\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\xa1\x0b"); + +// float_exprs.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x34\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f32.no_fold_zero_sub", [0.]), 0.) + +// float_exprs.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x34\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f64.no_fold_zero_sub", [0.]), 0.) + +// float_exprs.wast:63 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x34\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return_arithmetic_nan(() => call($4, "f32.no_fold_zero_sub", [NaN])) + +// float_exprs.wast:64 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x34\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return_arithmetic_nan(() => call($4, "f64.no_fold_zero_sub", [NaN])) + +// float_exprs.wast:68 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x00\x93\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xa1\x0b"); + +// float_exprs.wast:75 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return_arithmetic_nan(() => call($5, "f32.no_fold_sub_zero", [NaN])) + +// float_exprs.wast:76 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return_arithmetic_nan(() => call($5, "f64.no_fold_sub_zero", [NaN])) + +// float_exprs.wast:80 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x00\x94\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xa2\x0b"); + +// float_exprs.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f32.no_fold_mul_zero", [-0.]), -0.) + +// float_exprs.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f32.no_fold_mul_zero", [-1.]), -0.) + +// float_exprs.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xc0\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f32.no_fold_mul_zero", [-2.]), -0.) + +// float_exprs.wast:90 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return_arithmetic_nan(() => call($6, "f32.no_fold_mul_zero", [NaN])) + +// float_exprs.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.no_fold_mul_zero", [-0.]), -0.) + +// float_exprs.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.no_fold_mul_zero", [-1.]), -0.) + +// float_exprs.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.no_fold_mul_zero", [-2.]), -0.) + +// float_exprs.wast:94 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return_arithmetic_nan(() => call($6, "f64.no_fold_mul_zero", [NaN])) + +// float_exprs.wast:99 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x80\x3f\x94\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa2\x0b"); + +// float_exprs.wast:106 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x37\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$7", $7)), "run", [])); // assert_return_arithmetic_nan(() => call($7, "f32.no_fold_mul_one", [NaN])) + +// float_exprs.wast:107 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x37\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$7", $7)), "run", [])); // assert_return_arithmetic_nan(() => call($7, "f64.no_fold_mul_one", [NaN])) + +// float_exprs.wast:111 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x20\x00\x95\x0b\x8e\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\xa3\x0b"); + +// float_exprs.wast:118 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_canonical_nan(() => call($8, "f32.no_fold_zero_div", [0.])) + +// float_exprs.wast:119 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_canonical_nan(() => call($8, "f32.no_fold_zero_div", [-0.])) + +// float_exprs.wast:120 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_canonical_nan(() => call($8, "f32.no_fold_zero_div", [NaN])) + +// float_exprs.wast:121 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_arithmetic_nan(() => call($8, "f32.no_fold_zero_div", [NaN])) + +// float_exprs.wast:122 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_canonical_nan(() => call($8, "f64.no_fold_zero_div", [0.])) + +// float_exprs.wast:123 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_canonical_nan(() => call($8, "f64.no_fold_zero_div", [-0.])) + +// float_exprs.wast:124 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_canonical_nan(() => call($8, "f64.no_fold_zero_div", [NaN])) + +// float_exprs.wast:125 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x7a\x65\x72\x6f\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_return_arithmetic_nan(() => call($8, "f64.no_fold_zero_div", [NaN])) + +// float_exprs.wast:129 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x80\x3f\x95\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa3\x0b"); + +// float_exprs.wast:136 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x39\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$9", $9)), "run", [])); // assert_return_arithmetic_nan(() => call($9, "f32.no_fold_div_one", [NaN])) + +// float_exprs.wast:137 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9a\x80\x80\x80\x00\x01\x02\x24\x39\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$9", $9)), "run", [])); // assert_return_arithmetic_nan(() => call($9, "f64.no_fold_div_one", [NaN])) + +// float_exprs.wast:141 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x80\xbf\x95\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xa3\x0b"); + +// float_exprs.wast:148 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x30\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$10", $10)), "run", [])); // assert_return_arithmetic_nan(() => call($10, "f32.no_fold_div_neg1", [NaN])) + +// float_exprs.wast:149 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x30\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$10", $10)), "run", [])); // assert_return_arithmetic_nan(() => call($10, "f64.no_fold_div_neg1", [NaN])) + +// float_exprs.wast:153 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x80\x20\x00\x93\x0b\x8e\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x20\x00\xa1\x0b"); + +// float_exprs.wast:160 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x31\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$11", $11)), "run", [])); // assert_return_arithmetic_nan(() => call($11, "f32.no_fold_neg0_sub", [NaN])) + +// float_exprs.wast:161 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x31\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$11", $11)), "run", [])); // assert_return_arithmetic_nan(() => call($11, "f64.no_fold_neg0_sub", [NaN])) + +// float_exprs.wast:165 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x80\xbf\x20\x00\x94\x0b\x8e\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x20\x00\xa2\x0b"); + +// float_exprs.wast:172 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x32\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$12", $12)), "run", [])); // assert_return_arithmetic_nan(() => call($12, "f32.no_fold_neg1_mul", [NaN])) + +// float_exprs.wast:173 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x32\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$12", $12)), "run", [])); // assert_return_arithmetic_nan(() => call($12, "f64.no_fold_neg1_mul", [NaN])) + +// float_exprs.wast:177 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7f\x60\x01\x7c\x01\x7f\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x65\x71\x5f\x73\x65\x6c\x66\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x65\x71\x5f\x73\x65\x6c\x66\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x5b\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x61\x0b"); + +// float_exprs.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x31\x33\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x65\x71\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$13", $13)), "run", [])); // assert_return(() => call($13, "f32.no_fold_eq_self", [NaN]), 0) + +// float_exprs.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x31\x33\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x65\x71\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$13", $13)), "run", [])); // assert_return(() => call($13, "f64.no_fold_eq_self", [NaN]), 0) + +// float_exprs.wast:189 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7f\x60\x01\x7c\x01\x7f\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x5f\x73\x65\x6c\x66\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x5f\x73\x65\x6c\x66\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x5c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x62\x0b"); + +// float_exprs.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7f\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x31\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$14", $14)), "run", [])); // assert_return(() => call($14, "f32.no_fold_ne_self", [NaN]), 1) + +// float_exprs.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7f\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x31\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$14", $14)), "run", [])); // assert_return(() => call($14, "f64.no_fold_ne_self", [NaN]), 1) + +// float_exprs.wast:201 +let $15 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x73\x65\x6c\x66\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x73\x65\x6c\x66\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x93\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa1\x0b"); + +// float_exprs.wast:208 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return_canonical_nan(() => call($15, "f32.no_fold_sub_self", [Infinity])) + +// float_exprs.wast:209 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return_canonical_nan(() => call($15, "f32.no_fold_sub_self", [NaN])) + +// float_exprs.wast:210 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return_canonical_nan(() => call($15, "f64.no_fold_sub_self", [Infinity])) + +// float_exprs.wast:211 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return_canonical_nan(() => call($15, "f64.no_fold_sub_self", [NaN])) + +// float_exprs.wast:215 +let $16 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x95\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa3\x0b"); + +// float_exprs.wast:222 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f32.no_fold_div_self", [Infinity])) + +// float_exprs.wast:223 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f32.no_fold_div_self", [NaN])) + +// float_exprs.wast:224 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f32.no_fold_div_self", [0.])) + +// float_exprs.wast:225 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f32.no_fold_div_self", [-0.])) + +// float_exprs.wast:226 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f64.no_fold_div_self", [Infinity])) + +// float_exprs.wast:227 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f64.no_fold_div_self", [NaN])) + +// float_exprs.wast:228 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f64.no_fold_div_self", [0.])) + +// float_exprs.wast:229 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return_canonical_nan(() => call($16, "f64.no_fold_div_self", [-0.])) + +// float_exprs.wast:233 +let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa9\x80\x80\x80\x00\x02\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x00\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x40\x40\x95\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x08\x40\xa3\x0b"); + +// float_exprs.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x13\xce\x9a\xd8\x10\x00\xbc\x43\x19\x68\xce\xd7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f32.no_fold_div_3", [-1.36167898166e+15]), -4.53892982702e+14) + +// float_exprs.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x23\x2b\x72\xee\x10\x00\xbc\x43\x17\x72\xa1\xed\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f32.no_fold_div_3", [-1.87368803675e+28]), -6.24562659239e+27) + +// float_exprs.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x8b\x1c\x15\x96\x10\x00\xbc\x43\xb9\xd0\x46\x95\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f32.no_fold_div_3", [-1.20451307204e-25]), -4.01504347074e-26) + +// float_exprs.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x9c\xc5\x8f\x81\x10\x00\xbc\x43\x25\xb2\xbf\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f32.no_fold_div_3", [-5.28134593492e-38]), -1.76044859826e-38) + +// float_exprs.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xb2\x27\xeb\xa3\x10\x00\xbc\x43\x21\xc5\x1c\xa3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f32.no_fold_div_3", [-2.54955626722e-17]), -8.498520615e-18) + +// float_exprs.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xc3\x2c\x9e\xd2\x88\x8a\x7a\xe7\x10\x00\xbd\x44\x2d\x73\x69\x8c\xb0\xb1\x61\xe7\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f64.no_fold_div_3", [-2.9563579574e+190]), -9.85452652466e+189) + +// float_exprs.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x72\x09\x95\xdc\x52\xcf\x8b\xb5\x10\x00\xbd\x44\xf7\xb0\xb8\x3d\x37\x8a\x72\xb5\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f64.no_fold_div_3", [-9.29115092145e-51]), -3.09705030715e-51) + +// float_exprs.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xa4\xf7\x89\xd9\xc0\xd3\x5b\x09\x10\x00\xbd\x44\xc3\x4f\xb1\x3b\x2b\x8d\x42\x09\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f64.no_fold_div_3", [1.38080615436e-263]), 4.60268718119e-264) + +// float_exprs.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x3c\xa5\x30\xf5\x8b\x13\xe0\xfe\x10\x00\xbd\x44\xfb\x86\xeb\x46\x65\x6f\xc5\xfe\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f64.no_fold_div_3", [-1.37807616347e+303]), -4.59358721156e+302) + +// float_exprs.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x37\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x4d\x79\x9d\x7f\xb8\x52\xe0\x59\x10\x00\xbd\x44\x67\x4c\x27\xaa\xa0\xc3\xc5\x59\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "f64.no_fold_div_3", [8.63240080883e+124]), 2.87746693628e+124) + +// float_exprs.wast:253 +let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa1\x80\x80\x80\x00\x02\x0d\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x00\x0d\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\x94\x20\x01\x20\x02\x94\x92\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\xa2\x20\x01\x20\x02\xa2\xa0\x0b"); + +// float_exprs.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xa9\x11\xa7\xd3\x43\x16\x17\x42\xd8\x43\x01\x53\x77\x5d\x10\x00\xbc\x43\xe8\xd3\x3b\xf6\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f32.no_factor", [-1.43511165338e+12, -8.5361763654e+14, 1.11384932812e+18]), -9.52399884674e+32) + +// float_exprs.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xfb\x73\xda\xbc\x43\x86\x4c\x46\x3d\x43\x01\x66\x38\xbb\x10\x00\xbc\x43\xa1\x51\x80\xb8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f32.no_factor", [-0.0266666319221, 0.0484128221869, -0.0028136970941]), -6.11872019363e-05) + +// float_exprs.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x17\x39\x03\xab\x43\xe7\x69\xf7\x1f\x43\xac\x2a\x2e\x7d\x10\x00\xbc\x43\x57\x8d\xb2\xe8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f32.no_factor", [-4.6619777266e-13, 1.04783769717e-19, 1.44692022693e+37]), -6.74550795101e+24) + +// float_exprs.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x52\x63\xfc\x9f\x43\x03\x64\x04\x16\x43\x66\xe7\xda\x7a\x10\x00\xbc\x43\xa8\xd0\x57\xdb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f32.no_factor", [-1.06890463028e-19, 1.06944332177e-25, 5.68307016526e+35]), -6.07465399659e+16) + +// float_exprs.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x0f\x55\x9d\x95\x43\xf7\x6a\x63\x1c\x43\x92\x94\xc6\x49\x10\x00\xbc\x43\xe7\x64\xb0\x26\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f32.no_factor", [-6.35459938038e-26, 7.52462484401e-22, 1626770.25]), 1.2239802906e-15) + +// float_exprs.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x77\x49\x14\xa9\xed\xad\x73\x25\x44\xe1\x49\x70\x88\xaf\x15\x1c\x23\x44\x78\x47\x4c\x9c\x17\x05\xe9\xb1\x10\x00\xbd\x44\x1a\x7b\xb8\xbc\x06\xc6\x6e\x97\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f64.no_factor", [2.839055471e-128, 1.47398125065e-139, -2.90012298466e-68]), -8.2336100262e-196) + +// float_exprs.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x48\xd3\xc1\x21\x48\xc8\x93\x16\x44\x37\xd0\x7a\xc7\xd4\xff\xe4\x80\x44\x40\x6f\x5c\x33\x75\xd2\x2d\x84\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f64.no_factor", [6.46101550592e-200, -2.3923242803e-304, -1.53007387986e-288]), 0.) + +// float_exprs.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x51\x70\x34\x72\xf3\x74\x10\xab\x44\x96\x4c\x1f\x66\xef\xae\x5a\xae\x44\x6d\x69\xe8\xab\x34\xbd\xe9\xdd\x10\x00\xbd\x44\x20\x3e\x59\x29\x70\x76\x55\x4c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f64.no_factor", [-2.93905629208e-101, -2.14615674346e-85, -2.51096722313e+144]), 5.38892923854e+59) + +// float_exprs.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x89\xf3\xa6\x58\xed\x4d\xec\xad\x44\xc9\x59\x5d\xef\xfd\xa6\xbb\x2f\x44\x05\x02\x47\xc0\x01\x12\x2c\xb0\x10\x00\xbd\x44\x84\xf1\xe0\xa2\xad\x41\xf8\x9f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f64.no_factor", [-1.77854667717e-87, 9.3285167754e-79, -1.21210090449e-76]), -1.13071035994e-154) + +// float_exprs.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0d\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x61\x63\x74\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x5a\x37\x8e\x8f\x68\xd3\xf9\x19\x44\x56\x82\x58\x11\x13\xf9\xcb\x1b\x44\xf8\x5f\x5d\x6b\x5a\x60\x81\xde\x10\x00\xbd\x44\x53\xaf\x76\xca\x18\x61\x5e\xba\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "f64.no_factor", [1.51948590632e-183, 8.83589921438e-175, -1.73583001947e+147]), -1.53376191317e-27) + +// float_exprs.wast:273 +let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa9\x80\x80\x80\x00\x02\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x00\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x20\x02\x94\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x20\x02\xa2\x0b"); + +// float_exprs.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xa9\x11\xa7\xd3\x43\x16\x17\x42\xd8\x43\x01\x53\x77\x5d\x10\x00\xbc\x43\xe9\xd3\x3b\xf6\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f32.no_distribute", [-1.43511165338e+12, -8.5361763654e+14, 1.11384932812e+18]), -9.52399962045e+32) + +// float_exprs.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xfb\x73\xda\xbc\x43\x86\x4c\x46\x3d\x43\x01\x66\x38\xbb\x10\x00\xbc\x43\xa0\x51\x80\xb8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f32.no_distribute", [-0.0266666319221, 0.0484128221869, -0.0028136970941]), -6.11871946603e-05) + +// float_exprs.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x17\x39\x03\xab\x43\xe7\x69\xf7\x1f\x43\xac\x2a\x2e\x7d\x10\x00\xbc\x43\x58\x8d\xb2\xe8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f32.no_distribute", [-4.6619777266e-13, 1.04783769717e-19, 1.44692022693e+37]), -6.74550852747e+24) + +// float_exprs.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x52\x63\xfc\x9f\x43\x03\x64\x04\x16\x43\x66\xe7\xda\x7a\x10\x00\xbc\x43\xa7\xd0\x57\xdb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f32.no_distribute", [-1.06890463028e-19, 1.06944332177e-25, 5.68307016526e+35]), -6.07465356709e+16) + +// float_exprs.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x0f\x55\x9d\x95\x43\xf7\x6a\x63\x1c\x43\x92\x94\xc6\x49\x10\x00\xbc\x43\xe6\x64\xb0\x26\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f32.no_distribute", [-6.35459938038e-26, 7.52462484401e-22, 1626770.25]), 1.22398018472e-15) + +// float_exprs.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x77\x49\x14\xa9\xed\xad\x73\x25\x44\xe1\x49\x70\x88\xaf\x15\x1c\x23\x44\x78\x47\x4c\x9c\x17\x05\xe9\xb1\x10\x00\xbd\x44\x1b\x7b\xb8\xbc\x06\xc6\x6e\x97\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f64.no_distribute", [2.839055471e-128, 1.47398125065e-139, -2.90012298466e-68]), -8.2336100262e-196) + +// float_exprs.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x48\xd3\xc1\x21\x48\xc8\x93\x16\x44\x37\xd0\x7a\xc7\xd4\xff\xe4\x80\x44\x40\x6f\x5c\x33\x75\xd2\x2d\x84\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f64.no_distribute", [6.46101550592e-200, -2.3923242803e-304, -1.53007387986e-288]), -0.) + +// float_exprs.wast:287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x51\x70\x34\x72\xf3\x74\x10\xab\x44\x96\x4c\x1f\x66\xef\xae\x5a\xae\x44\x6d\x69\xe8\xab\x34\xbd\xe9\xdd\x10\x00\xbd\x44\x1f\x3e\x59\x29\x70\x76\x55\x4c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f64.no_distribute", [-2.93905629208e-101, -2.14615674346e-85, -2.51096722313e+144]), 5.38892923854e+59) + +// float_exprs.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x89\xf3\xa6\x58\xed\x4d\xec\xad\x44\xc9\x59\x5d\xef\xfd\xa6\xbb\x2f\x44\x05\x02\x47\xc0\x01\x12\x2c\xb0\x10\x00\xbd\x44\x83\xf1\xe0\xa2\xad\x41\xf8\x9f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f64.no_distribute", [-1.77854667717e-87, 9.3285167754e-79, -1.21210090449e-76]), -1.13071035994e-154) + +// float_exprs.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x31\x39\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x5a\x37\x8e\x8f\x68\xd3\xf9\x19\x44\x56\x82\x58\x11\x13\xf9\xcb\x1b\x44\xf8\x5f\x5d\x6b\x5a\x60\x81\xde\x10\x00\xbd\x44\x52\xaf\x76\xca\x18\x61\x5e\xba\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_return(() => call($19, "f64.no_distribute", [1.51948590632e-183, 8.83589921438e-175, -1.73583001947e+147]), -1.53376191317e-27) + +// float_exprs.wast:293 +let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb3\x80\x80\x80\x00\x02\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x00\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x95\x94\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xa3\xa2\x0b"); + +// float_exprs.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x53\x8a\x16\x86\x43\x36\xad\xab\x9f\x43\x07\x77\xae\x05\x10\x00\xbc\x43\x65\x22\x14\x20\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f32.no_regroup_div_mul", [-2.83134890058e-35, -7.2707870449e-20, 1.64066051041e-35]), 1.25474678151e-19) + +// float_exprs.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x9c\xa3\x22\xed\x43\x33\x45\x59\x86\x43\x84\x9c\xfa\xe3\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f32.no_regroup_div_mul", [-3.1458976993e+27, -4.08640034173e-35, -9.24592831559e+21]), -0.) + +// float_exprs.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xb7\xf2\xb5\xc7\x43\xe3\x37\x5a\xb5\x43\xfb\x8e\x52\x82\x10\x00\xbc\x43\x2c\x91\xbc\xfa\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f32.no_regroup_div_mul", [-93157.4296875, -8.12926543858e-07, -1.54693967367e-37]), -4.89548122418e+35) + +// float_exprs.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xfc\xa1\xe1\x90\x43\x83\x6c\x72\x64\x43\xfc\x34\xdf\x61\x10\x00\xbc\x43\xf9\x0e\x75\x93\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f32.no_regroup_div_mul", [-8.8996428284e-29, 1.78877246369e+22, 5.14680231878e+20]), -3.09307295741e-27) + +// float_exprs.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x3b\x57\xe3\x77\x43\x9e\x4a\xfe\x4b\x43\xf4\x59\x30\xe3\x10\x00\xbc\x43\x75\xe8\xa3\xe0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f32.no_regroup_div_mul", [9.22203617957e+33, 33330492., -3.25310876274e+21]), -9.44865493251e+19) + +// float_exprs.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xb0\x30\x5e\x81\x4b\xc0\x83\x25\x44\x27\x81\xd9\x6f\x64\x79\x83\xb8\x44\x31\x60\x50\x58\xb1\xdd\xdb\x17\x10\x00\xbd\x44\x2d\xdd\xf2\x01\x33\x9b\x2b\xc6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f64.no_regroup_div_mul", [5.69881141255e-128, -1.83134391329e-36, 9.543270551e-194]), -1.09359611441e+30) + +// float_exprs.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xd5\x86\x2f\x40\x3a\x6b\x04\x55\x44\x8d\x79\xe1\xb9\xf1\xfb\x06\x24\x44\x06\x6a\x5a\x4a\x70\xd9\xcb\xf1\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f64.no_regroup_div_mul", [3.57289288426e+101, 3.95276084454e-135, -1.45078124125e+240]), -0.) + +// float_exprs.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x7f\x34\xb4\x5b\x76\xc9\x06\x22\x44\x41\xa1\x34\x2e\xf4\x4a\x5a\x78\x44\xf9\x68\xeb\x70\xde\x2d\xfd\x23\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f64.no_regroup_div_mul", [9.1242783835e-145, 5.55613452771e+271, 2.50908269403e-135]), Infinity) + +// float_exprs.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x72\xbe\x45\x36\x02\x06\xf7\xdd\x44\x1d\x10\xd9\xf7\x29\xc2\x26\xe6\x44\x9e\x3d\x8d\xa6\x0f\xd5\x34\xf4\x10\x00\xbd\x44\x51\xc6\xac\x3c\xfa\x26\xe9\xcf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f64.no_regroup_div_mul", [-4.49209300035e+144, -1.2087878984e+184, -5.96613380626e+251]), -9.10135078034e+76) + +// float_exprs.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x30\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xc7\xf4\xca\xd8\x63\xcc\x88\x1a\x44\x53\x57\xc3\xc4\x1a\x67\x18\x09\x44\x59\xe6\x95\x16\x5b\xf3\x9e\x8b\x10\x00\xbd\x44\xd0\x06\x64\xf5\x55\x8d\x03\x98\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$20", $20)), "run", [])); // assert_return(() => call($20, "f64.no_regroup_div_mul", [7.47026915863e-181, 7.56802632978e-265, -1.05538968397e-252]), -5.3568074941e-193) + +// float_exprs.wast:313 +let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb3\x80\x80\x80\x00\x02\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x00\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x02\x95\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa3\x0b"); + +// float_exprs.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x53\x8a\x16\x86\x43\x36\xad\xab\x9f\x43\x07\x77\xae\x05\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f32.no_regroup_mul_div", [-2.83134890058e-35, -7.2707870449e-20, 1.64066051041e-35]), 0.) + +// float_exprs.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x9c\xa3\x22\xed\x43\x33\x45\x59\x86\x43\x84\x9c\xfa\xe3\x10\x00\xbc\x43\x74\x00\x8d\x8f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f32.no_regroup_mul_div", [-3.1458976993e+27, -4.08640034173e-35, -9.24592831559e+21]), -1.39038479919e-29) + +// float_exprs.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xb7\xf2\xb5\xc7\x43\xe3\x37\x5a\xb5\x43\xfb\x8e\x52\x82\x10\x00\xbc\x43\x2d\x91\xbc\xfa\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f32.no_regroup_mul_div", [-93157.4296875, -8.12926543858e-07, -1.54693967367e-37]), -4.89548162032e+35) + +// float_exprs.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xfc\xa1\xe1\x90\x43\x83\x6c\x72\x64\x43\xfc\x34\xdf\x61\x10\x00\xbc\x43\xfa\x0e\x75\x93\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f32.no_regroup_mul_div", [-8.8996428284e-29, 1.78877246369e+22, 5.14680231878e+20]), -3.09307315001e-27) + +// float_exprs.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x3b\x57\xe3\x77\x43\x9e\x4a\xfe\x4b\x43\xf4\x59\x30\xe3\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f32.no_regroup_mul_div", [9.22203617957e+33, 33330492., -3.25310876274e+21]), -Infinity) + +// float_exprs.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xb0\x30\x5e\x81\x4b\xc0\x83\x25\x44\x27\x81\xd9\x6f\x64\x79\x83\xb8\x44\x31\x60\x50\x58\xb1\xdd\xdb\x17\x10\x00\xbd\x44\x2e\xdd\xf2\x01\x33\x9b\x2b\xc6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f64.no_regroup_mul_div", [5.69881141255e-128, -1.83134391329e-36, 9.543270551e-194]), -1.09359611441e+30) + +// float_exprs.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xd5\x86\x2f\x40\x3a\x6b\x04\x55\x44\x8d\x79\xe1\xb9\xf1\xfb\x06\x24\x44\x06\x6a\x5a\x4a\x70\xd9\xcb\xf1\x10\x00\xbd\x44\x90\xe0\x28\x63\x0b\xda\x40\x87\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f64.no_regroup_mul_div", [3.57289288426e+101, 3.95276084454e-135, -1.45078124125e+240]), -9.73461104473e-274) + +// float_exprs.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x7f\x34\xb4\x5b\x76\xc9\x06\x22\x44\x41\xa1\x34\x2e\xf4\x4a\x5a\x78\x44\xf9\x68\xeb\x70\xde\x2d\xfd\x23\x10\x00\xbd\x44\x79\x9a\x9a\x6d\x6b\x88\x64\x76\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f64.no_regroup_mul_div", [9.1242783835e-145, 5.55613452771e+271, 2.50908269403e-135]), 2.02048813647e+262) + +// float_exprs.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x72\xbe\x45\x36\x02\x06\xf7\xdd\x44\x1d\x10\xd9\xf7\x29\xc2\x26\xe6\x44\x9e\x3d\x8d\xa6\x0f\xd5\x34\xf4\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f64.no_regroup_mul_div", [-4.49209300035e+144, -1.2087878984e+184, -5.96613380626e+251]), -Infinity) + +// float_exprs.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x31\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x67\x72\x6f\x75\x70\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xc7\xf4\xca\xd8\x63\xcc\x88\x1a\x44\x53\x57\xc3\xc4\x1a\x67\x18\x09\x44\x59\xe6\x95\x16\x5b\xf3\x9e\x8b\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$21", $21)), "run", [])); // assert_return(() => call($21, "f64.no_regroup_mul_div", [7.47026915863e-181, 7.56802632978e-265, -1.05538968397e-252]), -0.) + +// float_exprs.wast:333 +let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x91\x80\x80\x80\x00\x02\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb3\x80\x80\x80\x00\x02\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x00\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x20\x02\x92\x20\x03\x92\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x20\x02\xa0\x20\x03\xa0\x0b"); + +// float_exprs.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xee\xbe\xaf\xd5\x43\x08\xa7\xc2\x50\x43\x46\x03\x59\xd7\x43\x49\x4b\x10\xd4\x10\x00\xbc\x43\x3b\x36\x71\xd7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f32.no_reassociate_add", [-2.41543214531e+13, 26125811712., -2.38608082534e+14, -2.47895346381e+12]), -2.65215220384e+14) + +// float_exprs.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xbc\x1d\x6d\x3b\x43\x7d\x89\x21\xbc\x43\xf3\xca\x81\x3d\x43\x53\xaf\x36\xbc\x10\x00\xbc\x43\x8d\x59\x3c\x3d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f32.no_reassociate_add", [0.00361810531467, -0.00985943991691, 0.0633753761649, -0.0111501989886]), 0.0459838397801) + +// float_exprs.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x9d\xdc\xfe\xd0\x43\x73\x7e\x5b\xd4\x43\xec\x98\xe0\x55\x43\xdb\x1a\xc4\x52\x10\x00\xbc\x43\xd1\xf9\xc7\x55\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f32.no_reassociate_add", [-34206967808., -3.77087721472e+12, 3.08684248842e+13, 421132075008.]), 2.74844709028e+13) + +// float_exprs.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xfe\x9c\x0b\x57\x43\xc3\x58\x52\x58\x43\x1e\x31\x06\xd1\x43\x81\x50\x0b\x59\x10\x00\xbc\x43\xfb\x9f\x48\x59\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f32.no_reassociate_add", [1.53506392572e+14, 9.25114682049e+14, -36021854208., 2.45084604649e+15]), 3.52943098298e+15) + +// float_exprs.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x7d\x9e\xb9\x75\x43\x86\x69\x9c\xf5\x43\x2a\xac\x17\x74\x43\x2c\x58\xe6\xee\x10\x00\xbc\x43\x8b\x9b\xc0\x74\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f32.no_reassociate_add", [4.70600313997e+32, -3.96552040778e+32, 4.80669389449e+31, -3.56440727576e+28]), 1.2207956336e+32) + +// float_exprs.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\xa6\x19\xff\xd9\xa4\x97\x86\xf4\x44\x97\x83\x23\x66\x54\x30\xeb\x74\x44\x72\x4e\xfb\x9b\x2d\x0b\x6e\x75\x44\xbb\x06\x2b\xae\xf3\xe1\x86\xf5\x10\x00\xbd\x44\x7a\x08\x6f\x93\xe5\xb0\x7e\xf5\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f64.no_reassociate_add", [-2.07046529277e+253, 1.59468970438e+255, 4.51106636559e+257, -1.37433350919e+258]), -9.21652887576e+257) + +// float_exprs.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\xe1\x30\x6b\x74\xf6\x0e\x00\x1e\x44\xe1\x3f\xdf\xaf\xcf\xc1\xfc\x1d\x44\xa6\xcb\x3e\xdf\x26\x77\x0f\x9e\x44\x07\xd3\x99\x5f\x69\x26\xdb\x9a\x10\x00\xbd\x44\x76\xad\x3f\x2e\x89\x74\xc0\x9d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f64.no_reassociate_add", [3.48574765821e-164, 3.12109573913e-164, -6.83008546432e-164, -2.61717734713e-179]), -2.23242066972e-165) + +// float_exprs.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x54\xd8\xd6\x3b\x7b\x80\x7e\xdb\x44\xf0\xc5\xc2\x26\xae\xed\x6c\x59\x44\x41\x25\x44\xe1\xb6\x0a\x40\xdb\x44\xbd\x97\x59\xa5\x38\x85\xc2\x58\x10\x00\xbd\x44\xeb\x71\xf8\x0b\xe9\x40\x80\xdb\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f64.no_reassociate_add", [-5.41258492112e+132, 5.9760365617e+122, -3.55830077793e+131, 3.73627259958e+119]), -5.76841499832e+132) + +// float_exprs.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x02\x24\x5a\xf3\xb6\xa2\x2b\xac\x44\x9e\xcd\xa7\xfe\xc3\xd1\xca\x2c\x44\x61\x12\xbf\xe2\xac\x3a\x99\xaf\x44\x7e\x84\x72\xe4\xdb\xfd\xb9\x2f\x10\x00\xbd\x44\x1b\xc0\xc2\xab\x30\xaf\xb3\x2f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f64.no_reassociate_add", [-6.46904771419e-96, 6.42865849747e-93, -2.12776980723e-79, 8.76828727319e-79]), 6.64051746596e-79) + +// float_exprs.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x32\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x1d\xfb\x92\x60\x9c\xcb\x0c\xe8\x44\x44\x82\x10\x8c\xc2\xb7\x54\xe6\x44\xe1\xbd\xf4\xfe\xce\xa7\x58\x68\x44\x82\xb4\x08\x8b\xb2\x01\x39\xe8\x10\x00\xbd\x44\x26\x41\x19\x79\x05\x81\x51\x68\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$22", $22)), "run", [])); // assert_return(() => call($22, "f64.no_reassociate_add", [-1.64221370864e+193, -8.80321379398e+184, 4.49957059783e+194, -1.14091267166e+194]), 3.19443655442e+194) + +// float_exprs.wast:353 +let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x91\x80\x80\x80\x00\x02\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb3\x80\x80\x80\x00\x02\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x00\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x02\x94\x20\x03\x94\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa2\x20\x03\xa2\x0b"); + +// float_exprs.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xd4\x85\xca\x05\x43\x67\xed\x77\x2f\x43\xe0\xcd\xaf\xf2\x43\x84\x22\xf8\x23\x10\x00\xbc\x43\xb7\x9a\x7f\x8d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f32.no_reassociate_mul", [1.90451493983e-35, 2.25488613892e-10, -6.9643218332e+30, 2.69028318134e-17]), -7.876417295e-31) + +// float_exprs.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x57\xc8\xac\x23\x43\x82\xfd\xbe\xf2\x43\xa5\xbb\x27\x81\x43\xf3\xaf\xac\xe2\x10\x00\xbc\x43\x7e\xe4\xe3\xbb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f32.no_reassociate_mul", [1.87331245909e-17, -7.56590387278e+30, -3.08076840654e-38, -1.59275922903e+21]), -0.00695472862571) + +// float_exprs.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xd2\x6c\xb5\x27\x43\x55\x9c\x48\xdb\x43\xa7\x3b\xa5\xab\x43\x40\xf8\x8f\x65\x10\x00\xbc\x43\x76\x6c\xce\x55\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f32.no_reassociate_mul", [5.03555750835e-15, -5.64668842283e+16, -1.17405119914e-12, 8.49847264083e+22]), 2.83706539377e+13) + +// float_exprs.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x76\xe5\x70\x0b\x43\xe9\x86\x57\x66\x43\x70\xb7\x80\xdb\x43\x6b\xb8\x55\xdd\x10\x00\xbc\x43\x87\x43\x2a\x6c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f32.no_reassociate_mul", [4.63949458882e-32, 2.54449361736e+23, -7.24609773664e+16, -9.62511035846e+17]), 8.23345112797e+26) + +// float_exprs.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xe0\x8e\x1d\x8e\x43\x1a\x2d\x27\x27\x43\x2d\x5d\x1c\xc1\x43\x77\xdc\x3f\x5d\x10\x00\xbc\x43\xcc\xdf\x2d\x15\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f32.no_reassociate_mul", [-1.94205358914e-30, 2.32003552451e-15, -9.77274799347, 8.64065987375e+17]), 3.51136163758e-26) + +// float_exprs.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x00\x81\x71\xab\x42\x78\x4e\x96\x44\xaf\xce\xee\x0c\xf4\xab\xdf\xfd\x44\x1a\xb0\x5a\x82\x8a\xa3\x71\xa8\x44\x4f\xb1\x69\xa4\x8e\x7e\x72\xe9\x10\x00\xbd\x44\xf3\xf4\x8a\x42\xeb\x36\x43\x66\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f64.no_reassociate_mul", [-3.10986865441e-201, -2.07131904877e+298, -7.16261284552e-114, -8.8478253296e+199]), 4.08222618133e+184) + +// float_exprs.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\xbc\xac\xa6\x92\x22\xca\x54\x5c\x44\x9a\x08\x50\xb8\xba\xff\xb6\x1f\x44\x93\x5b\x1f\x2e\xc3\x47\xc5\x87\x44\x75\x83\x38\xd9\x71\x75\xbc\xe1\x10\x00\xbd\x44\x10\xfc\x54\x69\x79\xac\xc1\x25\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f64.no_reassociate_mul", [6.0442716413e+136, 6.70054501511e-156, -3.14696642758e-271, -6.40167729564e+162]), 8.15905744756e-127) + +// float_exprs.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x01\x04\x2e\xa5\x81\x38\xa7\x20\x44\xa7\xb1\xef\xd9\x8d\xb6\x31\xf1\x44\x7c\xb2\x3e\x6a\x5e\x1c\x5d\x10\x44\x6f\x54\xc7\xfc\xb2\x6c\x75\xc5\x10\x00\xbd\x44\xef\x34\x2c\xb9\x8d\x50\xdf\x27\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f64.no_reassociate_mul", [2.21680772045e-151, -1.80223418654e+237, 7.50028377852e-230, -4.14412152434e+26]), 1.2417936273e-116) + +// float_exprs.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x7c\x98\x59\x78\xa8\xef\x32\x6b\x44\x00\x41\xe2\x73\x43\x8e\x86\x25\x44\x57\x3a\x38\xfb\xd0\xe2\xe4\x4d\x44\x7b\x73\x5c\x26\xd3\x01\x83\xbe\x10\x00\xbd\x44\x0c\xf3\x93\xc3\xb6\xb2\x54\xdd\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f64.no_reassociate_mul", [2.43180659663e+208, 6.50801407579e-128, 1.75964212872e+67, -1.41614140131e-07]), -3.94374191853e+141) + +// float_exprs.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x32\x33\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x72\x65\x61\x73\x73\x6f\x63\x69\x61\x74\x65\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x5f\xb9\x98\x74\x3f\x01\x51\x31\x44\x38\xf1\xff\x36\x1c\x2d\x7d\x0e\x44\xfd\x7b\xea\x24\x18\xbf\x7c\xed\x44\x6d\x83\x8b\x9c\xda\x40\x84\x9a\x10\x00\xbd\x44\x91\x1c\x88\x12\x65\xa1\x01\x08\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$23", $23)), "run", [])); // assert_return(() => call($23, "f64.no_reassociate_mul", [3.84976715696e-71, 7.00087549432e-239, -2.53688782522e+219, -6.10111451886e-181]), 4.17154812638e-270) + +// float_exprs.wast:373 +let $24 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa9\x80\x80\x80\x00\x02\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x00\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x00\x95\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xa3\x0b"); + +// float_exprs.wast:380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f32.no_fold_div_0", [1.]), Infinity) + +// float_exprs.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f32.no_fold_div_0", [-1.]), -Infinity) + +// float_exprs.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f32.no_fold_div_0", [Infinity]), Infinity) + +// float_exprs.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f32.no_fold_div_0", [-Infinity]), -Infinity) + +// float_exprs.wast:384 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_canonical_nan(() => call($24, "f32.no_fold_div_0", [0.])) + +// float_exprs.wast:385 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_canonical_nan(() => call($24, "f32.no_fold_div_0", [-0.])) + +// float_exprs.wast:386 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_arithmetic_nan(() => call($24, "f32.no_fold_div_0", [NaN])) + +// float_exprs.wast:387 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_canonical_nan(() => call($24, "f32.no_fold_div_0", [NaN])) + +// float_exprs.wast:388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f64.no_fold_div_0", [1.]), Infinity) + +// float_exprs.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f64.no_fold_div_0", [-1.]), -Infinity) + +// float_exprs.wast:390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f64.no_fold_div_0", [Infinity]), Infinity) + +// float_exprs.wast:391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "f64.no_fold_div_0", [-Infinity]), -Infinity) + +// float_exprs.wast:392 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_canonical_nan(() => call($24, "f64.no_fold_div_0", [0.])) + +// float_exprs.wast:393 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_canonical_nan(() => call($24, "f64.no_fold_div_0", [-0.])) + +// float_exprs.wast:394 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_canonical_nan(() => call($24, "f64.no_fold_div_0", [NaN])) + +// float_exprs.wast:395 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x32\x34\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return_arithmetic_nan(() => call($24, "f64.no_fold_div_0", [NaN])) + +// float_exprs.wast:399 +let $25 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x0a\xa3\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x80\x95\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\xa3\x0b"); + +// float_exprs.wast:406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f32.no_fold_div_neg0", [1.]), -Infinity) + +// float_exprs.wast:407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f32.no_fold_div_neg0", [-1.]), Infinity) + +// float_exprs.wast:408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f32.no_fold_div_neg0", [Infinity]), -Infinity) + +// float_exprs.wast:409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f32.no_fold_div_neg0", [-Infinity]), Infinity) + +// float_exprs.wast:410 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_canonical_nan(() => call($25, "f32.no_fold_div_neg0", [0.])) + +// float_exprs.wast:411 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_canonical_nan(() => call($25, "f32.no_fold_div_neg0", [-0.])) + +// float_exprs.wast:412 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_arithmetic_nan(() => call($25, "f32.no_fold_div_neg0", [NaN])) + +// float_exprs.wast:413 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_canonical_nan(() => call($25, "f32.no_fold_div_neg0", [NaN])) + +// float_exprs.wast:414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f64.no_fold_div_neg0", [1.]), -Infinity) + +// float_exprs.wast:415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f64.no_fold_div_neg0", [-1.]), Infinity) + +// float_exprs.wast:416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f64.no_fold_div_neg0", [Infinity]), -Infinity) + +// float_exprs.wast:417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return(() => call($25, "f64.no_fold_div_neg0", [-Infinity]), Infinity) + +// float_exprs.wast:418 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_canonical_nan(() => call($25, "f64.no_fold_div_neg0", [0.])) + +// float_exprs.wast:419 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_canonical_nan(() => call($25, "f64.no_fold_div_neg0", [-0.])) + +// float_exprs.wast:420 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_canonical_nan(() => call($25, "f64.no_fold_div_neg0", [NaN])) + +// float_exprs.wast:421 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x35\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$25", $25)), "run", [])); // assert_return_arithmetic_nan(() => call($25, "f64.no_fold_div_neg0", [NaN])) + +// float_exprs.wast:425 +let $26 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x0a\xa7\x80\x80\x80\x00\x02\x8e\x80\x80\x80\x00\x00\x20\x00\x20\x00\x94\x20\x01\x20\x01\x94\x92\x91\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa2\x20\x01\x20\x01\xa2\xa0\x9f\x0b"); + +// float_exprs.wast:434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x9c\x79\x61\x17\x43\xaf\x0d\xa0\x1d\x10\x00\xbc\x43\x66\x0e\xa0\x1d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f32.no_fold_to_hypot", [7.28549136358e-25, 4.2365795867e-21]), 4.23665349982e-21) + +// float_exprs.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x88\xc6\x61\x9c\x43\xe8\xce\x1a\x8a\x10\x00\xbc\x43\x31\xb5\x61\x1c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f32.no_fold_to_hypot", [-7.47028507563e-22, -7.45374502637e-33]), 7.46804395335e-22) + +// float_exprs.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x65\xf0\xcc\x86\x43\x36\x86\x76\x9d\x10\x00\xbc\x43\x24\x87\x76\x1d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f32.no_fold_to_hypot", [-7.70894992385e-35, -3.26272143385e-21]), 3.26276949757e-21) + +// float_exprs.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x75\xb6\x0d\xc2\x43\x5f\x20\x2a\x48\x10\x00\xbc\x43\x60\x20\x2a\x48\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f32.no_fold_to_hypot", [-35.4281806946, 174209.484375]), 174209.5) + +// float_exprs.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xcf\x80\xc7\x19\x43\x84\x11\x0c\x9c\x10\x00\xbc\x43\x5e\xf1\x0b\x1c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f32.no_fold_to_hypot", [2.0628143114e-23, -4.63447527177e-22]), 4.63032018361e-22) + +// float_exprs.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x11\x87\x7c\x4f\xac\xa0\x31\x18\x44\x51\xf5\xff\xba\x2e\x37\x91\x1e\x10\x00\xbd\x44\x4e\x01\x37\xfa\x63\x34\x91\x1e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f64.no_fold_to_hypot", [3.86364025899e-192, 1.91330147526e-161]), 1.91208937532e-161) + +// float_exprs.wast:440 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x99\x74\x16\x12\x35\x79\xab\x58\x44\x36\x4c\xaf\x52\xbc\x1c\x91\xd9\x10\x00\xbd\x44\xa2\x83\x07\x53\xbc\x1c\x91\x59\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f64.no_fold_to_hypot", [1.3856123895e+119, -2.82803851593e+123]), 2.82803851932e+123) + +// float_exprs.wast:441 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x0b\xf4\x4f\xf4\x77\x67\x77\x1e\x44\xb0\x1f\xdc\xe4\x96\x38\x1c\x90\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x78\x1e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f64.no_fold_to_hypot", [6.50272909664e-162, -4.54439993315e-231]), 6.66827624846e-162) + +// float_exprs.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x5d\x6b\xcc\x72\xac\x89\x68\x9f\x44\x3b\x9f\x65\x4e\x08\xd7\x28\x12\x10\x00\xbd\x44\x3a\x84\xca\x72\xac\x89\x68\x1f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f64.no_fold_to_hypot", [-2.23402320242e-157, 3.43592971414e-221]), 2.23402320238e-157) + +// float_exprs.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x32\x36\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x6f\x5f\x68\x79\x70\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x08\xcb\x02\x8c\x58\xee\x15\x16\x44\xec\xd9\x88\x57\xe2\x5c\xd0\x9f\x10\x00\xbd\x44\xdf\xd9\x88\x57\xe2\x5c\xd0\x1f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$26", $26)), "run", [])); // assert_return(() => call($26, "f64.no_fold_to_hypot", [2.79796399863e-202, -1.90686799686e-155]), 1.90686799686e-155) + +// float_exprs.wast:447 +let $27 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\xa1\x80\x80\x80\x00\x01\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x20\x00\x95\x0b"); + +// float_exprs.wast:452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x32\x37\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x5b\x80\x94\xba\x10\x00\xbc\x43\x6a\xa8\x5c\xc4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$27", $27)), "run", [])); // assert_return(() => call($27, "f32.no_approximate_reciprocal", [-0.00113297568168]), -882.631469727) + +// float_exprs.wast:453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x32\x37\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x90\x90\x73\x7f\x10\x00\xbc\x43\x3f\xa2\x21\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$27", $27)), "run", [])); // assert_return(() => call($27, "f32.no_approximate_reciprocal", [3.2375301439e+38]), 3.08877430493e-39) + +// float_exprs.wast:454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x32\x37\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x33\x52\x21\x91\x10\x00\xbc\x43\x73\x1f\xcb\xed\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$27", $27)), "run", [])); // assert_return(() => call($27, "f32.no_approximate_reciprocal", [-1.27259901639e-28]), -7.85793459579e+27) + +// float_exprs.wast:455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x32\x37\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x19\x86\xae\x65\x10\x00\xbc\x43\xb1\xc1\x3b\x19\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$27", $27)), "run", [])); // assert_return(() => call($27, "f32.no_approximate_reciprocal", [1.03020679146e+23]), 9.7067890772e-24) + +// float_exprs.wast:456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x32\x37\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xf1\x0e\xb0\x96\x10\x00\xbc\x43\xbf\x1e\x3a\xe8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$27", $27)), "run", [])); // assert_return(() => call($27, "f32.no_approximate_reciprocal", [-2.84437629095e-25]), -3.51570932455e+24) + +// float_exprs.wast:460 +let $28 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xc4\x80\x80\x80\x00\x02\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x00\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x75\x73\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8b\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x20\x00\x91\x95\x0b\x8f\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x20\x00\x9f\xa3\x0b"); + +// float_exprs.wast:467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x38\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x95\x78\x35\x2a\x10\x00\xbc\x43\x6a\x07\x18\x4a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f32.no_approximate_reciprocal_sqrt", [1.61178646927e-13]), 2490842.5) + +// float_exprs.wast:468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x38\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xe3\x17\xf4\x3b\x10\x00\xbc\x43\xbb\x61\x39\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f32.no_approximate_reciprocal_sqrt", [0.00744913658127]), 11.5863599777) + +// float_exprs.wast:469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x38\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x4e\xfd\xdc\x1e\x10\x00\xbc\x43\xdd\xd4\xc2\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f32.no_approximate_reciprocal_sqrt", [2.33981704128e-20]), 6537460224.) + +// float_exprs.wast:470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x38\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xa3\x7a\xfa\x29\x10\x00\xbc\x43\xe1\x00\x37\x4a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f32.no_approximate_reciprocal_sqrt", [1.11235043258e-13]), 2998328.25) + +// float_exprs.wast:471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x38\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xd5\xd3\xae\x14\x10\x00\xbc\x43\x65\x0c\xdb\x54\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f32.no_approximate_reciprocal_sqrt", [1.7653063085e-26]), 7.52644626842e+12) + +// float_exprs.wast:473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x32\x38\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x75\x73\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xa3\x5f\xb5\x63\x8a\x56\x81\x77\x10\x00\xbd\x44\x20\x95\xc9\x74\x9c\xbc\x25\x24\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f64.no_fuse_reciprocal_sqrt", [4.47245925277e+267]), 1.49529473359e-134) + +// float_exprs.wast:474 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x32\x38\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x75\x73\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xaf\x9c\x93\xd0\xfc\x39\x62\x53\x10\x00\xbd\x44\x18\x48\x2b\x92\x4a\x33\x35\x36\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f64.no_fuse_reciprocal_sqrt", [4.75239226001e+93]), 1.4505872639e-47) + +// float_exprs.wast:475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x32\x38\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x75\x73\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x54\x10\xe1\x24\x6a\xe3\x76\x46\x10\x00\xbd\x44\x29\x7f\x97\x20\x3f\xc1\xaa\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f64.no_fuse_reciprocal_sqrt", [2.90144158854e+31]), 1.85649200848e-16) + +// float_exprs.wast:476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x32\x38\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x75\x73\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x83\x9f\x21\x73\xe1\x3e\xb2\x69\x10\x00\xbd\x44\x2d\x86\x55\xe0\x53\xf7\x0d\x2b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f64.no_fuse_reciprocal_sqrt", [1.3966125077e+201]), 2.67585167511e-101) + +// float_exprs.wast:477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x32\x38\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x75\x73\x65\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x5f\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xab\x9b\xaf\x4c\xf7\x30\x1b\x49\x10\x00\xbd\x44\xa9\x64\x17\x3d\xfc\x8b\x58\x3b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$28", $28)), "run", [])); // assert_return(() => call($28, "f64.no_fuse_reciprocal_sqrt", [1.51596415441e+44]), 8.12186064948e-23) + +// float_exprs.wast:481 +let $29 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\xa6\x80\x80\x80\x00\x01\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x73\x71\x72\x74\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x20\x00\x95\x91\x0b"); + +// float_exprs.wast:486 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x39\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x73\x71\x72\x74\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xc3\x64\xd2\x5d\x10\x00\xbc\x43\x63\xad\x47\x30\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$29", $29)), "run", [])); // assert_return(() => call($29, "f32.no_approximate_sqrt_reciprocal", [1.8950570813e+18]), 7.26421756081e-10) + +// float_exprs.wast:487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x39\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x73\x71\x72\x74\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x8f\x28\x28\x3b\x10\x00\xbc\x43\xa3\xee\x9d\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$29", $29)), "run", [])); // assert_return(() => call($29, "f32.no_approximate_sqrt_reciprocal", [0.00256589404307]), 19.7415218353) + +// float_exprs.wast:488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x39\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x73\x71\x72\x74\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x61\x2f\x09\x62\x10\x00\xbc\x43\xb9\xda\x2e\x2e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$29", $29)), "run", [])); // assert_return(() => call($29, "f32.no_approximate_sqrt_reciprocal", [6.32654487023e+20]), 3.97572842703e-11) + +// float_exprs.wast:489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x39\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x73\x71\x72\x74\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x28\x26\x5d\x46\x10\x00\xbc\x43\x8b\xb7\x09\x3c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$29", $29)), "run", [])); // assert_return(() => call($29, "f32.no_approximate_sqrt_reciprocal", [14153.5390625]), 0.00840557646006) + +// float_exprs.wast:490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xaa\x80\x80\x80\x00\x01\x03\x24\x32\x39\x22\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x70\x70\x72\x6f\x78\x69\x6d\x61\x74\x65\x5f\x73\x71\x72\x74\x5f\x72\x65\x63\x69\x70\x72\x6f\x63\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xf1\x2d\xa5\x73\x10\x00\xbc\x43\xd8\x5a\x61\x25\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$29", $29)), "run", [])); // assert_return(() => call($29, "f32.no_approximate_sqrt_reciprocal", [2.61737299828e+31]), 1.95464181645e-16) + +// float_exprs.wast:494 +let $30 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xd1\x80\x80\x80\x00\x04\x11\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x33\x32\x5f\x73\x00\x00\x11\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x33\x32\x5f\x75\x00\x01\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x73\x00\x02\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x75\x00\x03\x0a\xad\x80\x80\x80\x00\x04\x86\x80\x80\x80\x00\x00\x20\x00\xb2\xa8\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb3\xa9\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb9\xb0\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xba\xb1\x0b"); + +// float_exprs.wast:505 +assert_return(() => call($30, "i32.no_fold_f32_s", [16777216]), 16777216); + +// float_exprs.wast:506 +assert_return(() => call($30, "i32.no_fold_f32_s", [16777217]), 16777216); + +// float_exprs.wast:507 +assert_return(() => call($30, "i32.no_fold_f32_s", [-268435440]), -268435440); + +// float_exprs.wast:509 +assert_return(() => call($30, "i32.no_fold_f32_u", [16777216]), 16777216); + +// float_exprs.wast:510 +assert_return(() => call($30, "i32.no_fold_f32_u", [16777217]), 16777216); + +// float_exprs.wast:511 +assert_return(() => call($30, "i32.no_fold_f32_u", [-268435440]), -268435456); + +// float_exprs.wast:513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x03\x24\x33\x30\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x10\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$30", $30)), "run", [])); // assert_return(() => call($30, "i64.no_fold_f64_s", [int64("9007199254740992")]), int64("9007199254740992")) + +// float_exprs.wast:514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x03\x24\x33\x30\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x10\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$30", $30)), "run", [])); // assert_return(() => call($30, "i64.no_fold_f64_s", [int64("9007199254740993")]), int64("9007199254740992")) + +// float_exprs.wast:515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x03\x24\x33\x30\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x88\x80\x80\x80\x80\x80\x80\x70\x10\x00\x01\x42\x80\x88\x80\x80\x80\x80\x80\x80\x70\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$30", $30)), "run", [])); // assert_return(() => call($30, "i64.no_fold_f64_s", [int64("-1152921504606845952")]), int64("-1152921504606845952")) + +// float_exprs.wast:517 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x03\x24\x33\x30\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x10\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$30", $30)), "run", [])); // assert_return(() => call($30, "i64.no_fold_f64_u", [int64("9007199254740992")]), int64("9007199254740992")) + +// float_exprs.wast:518 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x03\x24\x33\x30\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x10\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$30", $30)), "run", [])); // assert_return(() => call($30, "i64.no_fold_f64_u", [int64("9007199254740993")]), int64("9007199254740992")) + +// float_exprs.wast:519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x03\x24\x33\x30\x11\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x66\x36\x34\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x88\x80\x80\x80\x80\x80\x80\x70\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x70\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$30", $30)), "run", [])); // assert_return(() => call($30, "i64.no_fold_f64_u", [int64("-1152921504606845952")]), int64("-1152921504606846976")) + +// float_exprs.wast:523 +let $31 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x20\x01\x93\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x20\x01\xa1\x0b"); + +// float_exprs.wast:530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf2\xa9\x5a\x28\x43\x96\xed\xb3\xb2\x10\x00\xbc\x43\x00\x00\x60\x28\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f32.no_fold_add_sub", [1.21382819838e-14, -2.09463841827e-08]), 1.24344978758e-14) + +// float_exprs.wast:531 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x68\x42\x54\xb4\x43\x0f\x57\x79\x36\x10\x00\xbc\x43\x70\x42\x54\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f32.no_fold_add_sub", [-1.97681970349e-07, 3.71545661437e-06]), -1.97682084035e-07) + +// float_exprs.wast:532 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x78\x02\xfe\xe8\x43\x1d\xa0\x32\xf2\x10\x00\xbc\x43\x00\x00\x00\xe9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f32.no_fold_add_sub", [-9.59621301639e+24, -3.53804139699e+30]), -9.67140655692e+24) + +// float_exprs.wast:533 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd1\x87\xc3\x18\x43\x8b\xa4\xe2\x23\x10\x00\xbc\x43\x00\x00\xc0\x18\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f32.no_fold_add_sub", [5.05434581015e-24, 2.45726557561e-17]), 4.96308367532e-24) + +// float_exprs.wast:534 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xb3\xf4\x8b\x89\x43\x0d\xd3\xaf\x95\x10\x00\xbc\x43\x00\x00\x00\x8a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f32.no_fold_add_sub", [-3.36931468232e-33, -7.10149165285e-26]), -6.16297582204e-33) + +// float_exprs.wast:536 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa8\xdb\x72\xa1\x3e\x05\x51\x89\x44\xc8\x8a\x40\x13\xc4\x13\x61\x0a\x10\x00\xbd\x44\x00\x00\x72\xa1\x3e\x05\x51\x89\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f64.no_fold_add_sub", [-8.44570265197e-264, 1.11068438983e-258]), -8.44570265187e-264) + +// float_exprs.wast:537 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x72\x79\x80\x54\x7d\x37\xde\x1d\x44\x70\xff\xd1\xa4\xa0\x40\x10\x1f\x10\x00\xbd\x44\x00\x00\x80\x54\x7d\x37\xde\x1d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f64.no_fold_add_sub", [8.19879871593e-165, 4.62403560611e-159]), 8.1987987159e-165) + +// float_exprs.wast:538 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x62\x6b\x92\xcd\x53\x5f\x17\xbe\x44\xb5\x2b\x60\x6e\x17\x6b\xc6\xbf\x10\x00\xbd\x44\x00\x00\x00\xd0\x53\x5f\x17\xbe\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f64.no_fold_add_sub", [-1.36045113221e-09, -0.175143174071]), -1.36045114063e-09) + +// float_exprs.wast:539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa0\x32\x83\xf2\x0f\x45\xac\xaa\x44\xae\x3b\x02\x55\x58\x5a\xe1\x2c\x10\x00\xbd\x44\x00\x00\x00\x00\x10\x45\xac\xaa\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f64.no_fold_add_sub", [-3.94433543787e-103, 1.66380974132e-92]), -3.94433555003e-103) + +// float_exprs.wast:540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x31\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa8\x3e\x6d\x59\x4a\xad\x41\x99\x44\xa8\x0e\x1c\xa4\x81\x7d\x31\x9b\x10\x00\xbd\x44\x00\x00\x00\x80\x4a\xad\x41\x99\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$31", $31)), "run", [])); // assert_return(() => call($31, "f64.no_fold_add_sub", [-5.07830981887e-187, -1.07904316445e-177]), -5.07831047938e-187) + +// float_exprs.wast:544 +let $32 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x93\x20\x01\x92\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa1\x20\x01\xa0\x0b"); + +// float_exprs.wast:551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x5c\x1e\x29\xc4\x43\xb6\x84\xc9\x43\x10\x00\xbc\x43\x5d\x1e\x29\xc4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f32.no_fold_sub_add", [-676.474365234, 403.036804199]), -676.47442627) + +// float_exprs.wast:552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x08\x8d\x51\x88\x43\x78\x2f\x3a\x10\x10\x00\xbc\x43\x00\x00\x52\x88\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f32.no_fold_sub_add", [-6.30594311841e-34, 3.67186006876e-29]), -6.31945763002e-34) + +// float_exprs.wast:553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x94\xa9\x9e\x4c\x43\x38\x2b\x2c\x51\x10\x00\xbc\x43\x00\xaa\x9e\x4c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f32.no_fold_sub_add", [83184800., 46216216576.]), 83185664.) + +// float_exprs.wast:554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x13\xa7\x1b\x2c\x43\x80\x52\x33\xb2\x10\x00\xbc\x43\x00\xa0\x1b\x2c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f32.no_fold_sub_add", [2.21195696308e-12, -1.04379296317e-08]), 2.21156426505e-12) + +// float_exprs.wast:555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd6\x07\x19\x3e\x43\x4d\x03\xd6\xc6\x10\x00\xbc\x43\x00\x00\x1a\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f32.no_fold_sub_add", [0.149443954229, -27393.6503906]), 0.150390625) + +// float_exprs.wast:557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8d\x9b\x2c\xad\x2a\xf9\xe8\x4f\x44\xcb\x66\x22\x99\xd4\x8c\x20\xd0\x10\x00\xbd\x44\x90\x9b\x2c\xad\x2a\xf9\xe8\x4f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f64.no_fold_sub_add", [9.03659826179e+76, -9.58186427536e+77]), 9.03659826179e+76) + +// float_exprs.wast:558 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8b\x2c\x74\x55\xff\xaa\x55\x16\x44\x6d\xf4\x81\x71\xf4\xf5\x88\x17\x10\x00\xbd\x44\x00\x00\x78\x55\xff\xaa\x55\x16\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f64.no_fold_sub_add", [4.42304035647e-201, 2.67134910494e-195]), 4.42304035665e-201) + +// float_exprs.wast:559 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8d\xa9\x67\x29\xc5\x1b\xa2\x4f\x44\x84\x08\x2d\xa3\xfa\xcf\xbf\xd2\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xa2\x4f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f64.no_fold_sub_add", [4.09534845278e+75, -4.05019001958e+90]), 4.07081563725e+75) + +// float_exprs.wast:560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x74\x73\xf4\x61\x83\xc7\x59\x3e\x44\x1c\xc6\xed\xf4\x69\x9d\x26\xbf\x10\x00\xbd\x44\x00\x80\xf4\x61\x83\xc7\x59\x3e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f64.no_fold_sub_add", [2.40088892076e-08, -0.000172537979292]), 2.40088892076e-08) + +// float_exprs.wast:561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x32\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb2\xfa\x4a\x8e\xe6\xdb\x04\x29\x44\x02\xcd\x39\x5b\x4e\xc2\x6d\xa9\x10\x00\xbd\x44\xc0\xfa\x4a\x8e\xe6\xdb\x04\x29\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$32", $32)), "run", [])); // assert_return(() => call($32, "f64.no_fold_sub_add", [4.33675429183e-111, -3.95977067082e-109]), 4.33675429183e-111) + +// float_exprs.wast:565 +let $33 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x01\x95\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x01\xa3\x0b"); + +// float_exprs.wast:572 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xc2\xe6\xda\x43\x9b\x54\x36\x28\x10\x00\xbc\x43\xcc\xc2\xe6\xda\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f32.no_fold_mul_div", [-3.24767151838e+16, 1.01213754107e-14]), -3.24767130363e+16) + +// float_exprs.wast:573 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x5c\xab\x85\xb2\x43\x26\x13\xa4\x0a\x10\x00\xbc\x43\x52\xab\x85\xb2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f32.no_fold_mul_div", [-1.55611630248e-08, 1.57998283856e-32]), -1.55611452612e-08) + +// float_exprs.wast:574 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xae\xaa\xf3\xa7\x43\xe0\xb0\xc8\xd7\x10\x00\xbc\x43\xad\xaa\xf3\xa7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f32.no_fold_mul_div", [-6.7631100034e-15, -4.41323995791e+14]), -6.76310957988e-15) + +// float_exprs.wast:575 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x87\x52\xd5\x59\x43\xcf\xd9\xef\xdd\x10\x00\xbc\x43\x86\x52\xd5\x59\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f32.no_fold_mul_div", [7.50561372668e+15, -2.16038408049e+18]), 7.50561318981e+15) + +// float_exprs.wast:576 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xfd\xbe\x95\x91\x43\x53\x26\x3e\xad\x10\x00\xbc\x43\xff\xbe\x95\x91\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f32.no_fold_mul_div", [-2.36257605915e-28, -1.08087592696e-11]), -2.36257654064e-28) + +// float_exprs.wast:578 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x1a\x8a\x11\xf4\x9f\xd7\xa3\x8b\x44\x8c\x80\x31\xda\x5d\x8b\x2b\xb3\x10\x00\xbd\x44\x3e\x26\x12\xf4\x9f\xd7\xa3\x8b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f64.no_fold_mul_div", [-1.35321037136e-252, -3.34783646756e-62]), -1.35321037137e-252) + +// float_exprs.wast:579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa4\xb3\xe6\x1e\x4d\x89\xff\x57\x44\x8a\xd5\x03\x6d\x60\xc2\x88\x64\x10\x00\xbd\x44\xa5\xb3\xe6\x1e\x4d\x89\xff\x57\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f64.no_fold_mul_div", [7.76621743132e+115, 1.95959155607e+176]), 7.76621743132e+115) + +// float_exprs.wast:580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x93\xc9\xac\x60\x22\x02\xda\xce\x44\x3c\x8e\xfc\x28\xc1\xfb\x75\x9d\x10\x00\xbd\x44\x92\xc9\xac\x60\x22\x02\xda\xce\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f64.no_fold_mul_div", [-7.1801178119e+71, -9.32003604262e-167]), -7.1801178119e+71) + +// float_exprs.wast:581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x54\x4f\x17\xed\xb8\xd4\x99\x35\x44\xc6\xea\xae\x67\xd4\xe3\x5e\x07\x10\x00\xbd\x44\x2b\x3b\x05\x5a\xc9\xdc\x98\x35\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f64.no_fold_mul_div", [1.72600107247e-50, 3.56879242813e-273]), 1.66128679924e-50) + +// float_exprs.wast:582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x33\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xd4\xdc\x7c\x89\xea\x95\x3e\xe9\x44\x2e\x5f\x08\xdf\xd5\x54\x88\xab\x10\x00\xbd\x44\xd5\xdc\x7c\x89\xea\x95\x3e\xe9\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$33", $33)), "run", [])); // assert_return(() => call($33, "f64.no_fold_mul_div", [-9.14522304583e+198, -5.56209403434e-99]), -9.14522304583e+198) + +// float_exprs.wast:586 +let $34 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x20\x01\x94\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x20\x01\xa2\x0b"); + +// float_exprs.wast:593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xb2\x31\xee\xd2\x43\x76\x18\x6b\x4e\x10\x00\xbc\x43\xb1\x31\xee\xd2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f32.no_fold_div_mul", [-511517982720., 986062208.]), -511517949952.) + +// float_exprs.wast:594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x1b\xcc\x8f\xa5\x43\x72\x62\x8b\xb6\x10\x00\xbc\x43\x1c\xcc\x8f\xa5\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f32.no_fold_div_mul", [-2.49448529519e-16, -4.15398335463e-06]), -2.49448555988e-16) + +// float_exprs.wast:595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x96\xcb\xe2\x00\x43\xcf\x32\x6b\xc3\x10\x00\xbc\x43\x07\xcc\xe2\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f32.no_fold_div_mul", [2.08278550051e-38, -235.198471069]), 2.08280133518e-38) + +// float_exprs.wast:596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x4f\x1d\x97\x9a\x43\xca\x9c\x1a\xdd\x10\x00\xbc\x43\x20\x1d\x97\x9a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f32.no_fold_div_mul", [-6.24994868347e-23, -6.96312604972e+17]), -6.2499190223e-23) + +// float_exprs.wast:597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc1\xb5\xec\x0e\x43\x84\xec\x4a\x4d\x10\x00\xbc\x43\xc2\xb5\xec\x0e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f32.no_fold_div_mul", [5.83535144053e-30, 212781120.]), 5.83535181669e-30) + +// float_exprs.wast:599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x81\x24\xa5\x13\xf9\x01\x3d\x09\x44\x44\x83\xb2\x68\x06\xcd\x72\xcb\x10\x00\xbd\x44\xc0\xcd\x71\xaf\x0d\x02\x3d\x09\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f64.no_fold_div_mul", [3.59846442599e-264, -2.8812263298e+55]), 3.59850343566e-264) + +// float_exprs.wast:600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8d\x91\x00\xd4\xb7\x1c\x58\x93\x44\x6e\x6d\x58\x43\xa6\xca\xa7\x3c\x10\x00\xbd\x44\x8e\x91\x00\xd4\xb7\x1c\x58\x93\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f64.no_fold_div_mul", [-1.74863670475e-215, 1.65087384548e-16]), -1.74863670475e-215) + +// float_exprs.wast:601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8e\x5c\x7b\xc9\x04\x69\xe6\xb6\x44\x4c\xad\x92\x15\x48\xc3\xb5\x5a\x10\x00\xbd\x44\x8d\x5c\x7b\xc9\x04\x69\xe6\xb6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f64.no_fold_div_mul", [-3.14034198954e-44, 9.42829809082e+128]), -3.14034198954e-44) + +// float_exprs.wast:602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x65\x07\x2f\x9d\x85\x75\x9e\xae\x44\xf9\x97\xb4\x6a\x9b\xf1\xa5\xd1\x10\x00\xbd\x44\x64\x07\x2f\x9d\x85\x75\x9e\xae\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f64.no_fold_div_mul", [-3.91974542853e-84, -2.13147471797e+85]), -3.91974542853e-84) + +// float_exprs.wast:603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x50\x5f\x3b\x9c\xfe\x15\xb5\xe6\x44\x7a\x9f\xc9\x69\xe8\x6b\xc3\x7d\x10\x00\xbd\x44\x4f\x5f\x3b\x9c\xfe\x15\xb5\xe6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$34", $34)), "run", [])); // assert_return(() => call($34, "f64.no_fold_div_mul", [-5.73416000379e+186, 6.35080584361e+297]), -5.73416000379e+186) + +// float_exprs.wast:607 +let $35 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb1\x80\x80\x80\x00\x02\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x32\x5f\x6d\x75\x6c\x32\x00\x00\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x32\x5f\x6d\x75\x6c\x32\x00\x01\x0a\xb3\x80\x80\x80\x00\x02\x90\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x40\x95\x43\x00\x00\x00\x40\x94\x0b\x98\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x40\xa3\x44\x00\x00\x00\x00\x00\x00\x00\x40\xa2\x0b"); + +// float_exprs.wast:614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x33\x35\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x32\x5f\x6d\x75\x6c\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x00\x10\x00\xbc\x43\x00\x00\x00\x01\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$35", $35)), "run", [])); // assert_return(() => call($35, "f32.no_fold_div2_mul2", [2.35098856151e-38]), 2.35098870164e-38) + +// float_exprs.wast:615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x33\x35\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x32\x5f\x6d\x75\x6c\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x1f\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x20\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$35", $35)), "run", [])); // assert_return(() => call($35, "f64.no_fold_div2_mul2", [4.45014771701e-308]), 4.45014771701e-308) + +// float_exprs.wast:619 +let $36 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7c\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x07\x9a\x80\x80\x80\x00\x01\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\xb6\xbb\x0b"); + +// float_exprs.wast:624 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x36\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x5d\x0f\x39\x72\xe2\xec\xad\xb7\x10\x00\xbd\x44\x00\x00\x00\x00\xe0\xec\xad\xb7\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$36", $36)), "run", [])); // assert_return(() => call($36, "no_fold_demote_promote", [-1.71762972206e-40]), -1.71762757966e-40) + +// float_exprs.wast:625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x36\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x6f\x8a\x93\x79\x6c\x9e\xa1\xba\x10\x00\xbd\x44\x00\x00\x00\x80\x6c\x9e\xa1\xba\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$36", $36)), "run", [])); // assert_return(() => call($36, "no_fold_demote_promote", [-2.84647755733e-26]), -2.84647761919e-26) + +// float_exprs.wast:626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x36\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xc1\x4d\xc4\x7e\x29\x9b\xa4\x46\x10\x00\xbd\x44\x00\x00\x00\x80\x29\x9b\xa4\x46\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$36", $36)), "run", [])); // assert_return(() => call($36, "no_fold_demote_promote", [2.089706997e+32]), 2.08970700445e+32) + +// float_exprs.wast:627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x36\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x30\x16\x65\xd8\x5b\x4f\x77\xba\x10\x00\xbd\x44\x00\x00\x00\xe0\x5b\x4f\x77\xba\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$36", $36)), "run", [])); // assert_return(() => call($36, "no_fold_demote_promote", [-4.70741604161e-27]), -4.70741613316e-27) + +// float_exprs.wast:628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x36\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x7e\x36\x62\x56\x67\x6d\x72\x46\x10\x00\xbd\x44\x00\x00\x00\x60\x67\x6d\x72\x46\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$36", $36)), "run", [])); // assert_return(() => call($36, "no_fold_demote_promote", [2.3359451498e+31]), 2.33594522245e+31) + +// float_exprs.wast:633 +let $37 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x9a\x80\x80\x80\x00\x01\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\xbb\xb6\x0b"); + +// float_exprs.wast:638 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x41\x80\x80\x80\xfe\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return_arithmetic_nan(() => call($37, "no_fold_promote_demote", [NaN])) + +// float_exprs.wast:639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [0.]), 0.) + +// float_exprs.wast:640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [-0.]), -0.) + +// float_exprs.wast:641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [1.40129846432e-45]), 1.40129846432e-45) + +// float_exprs.wast:642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x80\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [-1.40129846432e-45]), -1.40129846432e-45) + +// float_exprs.wast:643 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x00\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [1.17549421069e-38]), 1.17549421069e-38) + +// float_exprs.wast:644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x80\x10\x00\xbc\x43\xff\xff\x7f\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [-1.17549421069e-38]), -1.17549421069e-38) + +// float_exprs.wast:645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [1.17549435082e-38]), 1.17549435082e-38) + +// float_exprs.wast:646 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x80\x10\x00\xbc\x43\x00\x00\x80\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [-1.17549435082e-38]), -1.17549435082e-38) + +// float_exprs.wast:647 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [3.40282346639e+38]), 3.40282346639e+38) + +// float_exprs.wast:648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xff\x10\x00\xbc\x43\xff\xff\x7f\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [-3.40282346639e+38]), -3.40282346639e+38) + +// float_exprs.wast:649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [Infinity]), Infinity) + +// float_exprs.wast:650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x33\x37\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$37", $37)), "run", [])); // assert_return(() => call($37, "no_fold_promote_demote", [-Infinity]), -Infinity) + +// float_exprs.wast:654 +let $38 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7c\x7d\x01\x7d\x60\x02\x7d\x7c\x01\x7d\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb6\x80\x80\x80\x00\x02\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x00\x00\x1c\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x5f\x63\x6f\x6d\x6d\x75\x74\x65\x64\x00\x01\x0a\x9d\x80\x80\x80\x00\x02\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\xbb\xa0\xb6\x0b\x89\x80\x80\x80\x00\x00\x20\x00\xbb\x20\x01\xa0\xb6\x0b"); + +// float_exprs.wast:661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x38\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\xf9\x54\x48\xd0\xa9\x51\x0f\x3a\x43\x4e\xa7\x1f\x04\x10\x00\xbc\x43\x4f\x8d\x7a\x10\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add", [4.94126652791e-29, 1.8767182723e-36]), 4.94126667572e-29) + +// float_exprs.wast:662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x38\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\xd0\xd8\x1a\xd8\xb3\x65\x40\x42\x43\x6c\xc6\xba\x52\x10\x00\xbc\x43\x3b\x5d\xfc\x52\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add", [140851523638., 401096441856.]), 541947953152.) + +// float_exprs.wast:663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x38\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\x17\xbd\x63\x09\xc8\x26\x86\x38\x43\xc3\xdf\x4d\x83\x10\x00\xbc\x43\x9f\x7c\xfb\x03\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add", [2.08311609142e-36, -6.05009513354e-37]), 1.47810657028e-36) + +// float_exprs.wast:664 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x38\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\xbb\x85\x33\x0e\x11\xd5\xb0\xbe\x43\xa5\xb7\x04\x31\x10\x00\xbc\x43\x2d\x66\x86\xb5\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add", [-1.00328275537e-06, 1.93129179316e-09]), -1.0013515066e-06) + +// float_exprs.wast:665 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x38\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\x75\x50\x4e\xdb\x52\x38\xb7\xbe\x43\x3a\x72\x12\xab\x10\x00\xbc\x43\x9b\xc2\xb9\xb5\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add", [-1.38402070358e-06, -5.20281409101e-13]), -1.384021175e-06) + +// float_exprs.wast:667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7c\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x33\x38\x1c\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x5f\x63\x6f\x6d\x6d\x75\x74\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x43\x4e\xa7\x1f\x04\x44\xf9\x54\x48\xd0\xa9\x51\x0f\x3a\x10\x00\xbc\x43\x4f\x8d\x7a\x10\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add_commuted", [1.8767182723e-36, 4.94126652791e-29]), 4.94126667572e-29) + +// float_exprs.wast:668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7c\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x33\x38\x1c\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x5f\x63\x6f\x6d\x6d\x75\x74\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x43\x6c\xc6\xba\x52\x44\xd0\xd8\x1a\xd8\xb3\x65\x40\x42\x10\x00\xbc\x43\x3b\x5d\xfc\x52\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add_commuted", [401096441856., 140851523638.]), 541947953152.) + +// float_exprs.wast:669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7c\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x33\x38\x1c\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x5f\x63\x6f\x6d\x6d\x75\x74\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x43\xc3\xdf\x4d\x83\x44\x17\xbd\x63\x09\xc8\x26\x86\x38\x10\x00\xbc\x43\x9f\x7c\xfb\x03\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add_commuted", [-6.05009513354e-37, 2.08311609142e-36]), 1.47810657028e-36) + +// float_exprs.wast:670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7c\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x33\x38\x1c\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x5f\x63\x6f\x6d\x6d\x75\x74\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x43\xa5\xb7\x04\x31\x44\xbb\x85\x33\x0e\x11\xd5\xb0\xbe\x10\x00\xbc\x43\x2d\x66\x86\xb5\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add_commuted", [1.93129179316e-09, -1.00328275537e-06]), -1.0013515066e-06) + +// float_exprs.wast:671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7c\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x33\x38\x1c\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x61\x64\x64\x5f\x63\x6f\x6d\x6d\x75\x74\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x43\x3a\x72\x12\xab\x44\x75\x50\x4e\xdb\x52\x38\xb7\xbe\x10\x00\xbc\x43\x9b\xc2\xb9\xb5\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$38", $38)), "run", [])); // assert_return(() => call($38, "no_demote_mixed_add_commuted", [-5.20281409101e-13, -1.38402070358e-06]), -1.384021175e-06) + +// float_exprs.wast:675 +let $39 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7c\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x97\x80\x80\x80\x00\x01\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x73\x75\x62\x00\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\xbb\xa1\xb6\x0b"); + +// float_exprs.wast:680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x39\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\xb1\xe9\x20\x32\x18\x0a\x1a\x45\x43\x7c\xd6\x62\x5e\x10\x00\xbc\x43\xba\x50\xd0\x68\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$39", $39)), "run", [])); // assert_return(() => call($39, "no_demote_mixed_sub", [7.8699353272e+24, 4.08634705926e+18]), 7.8699309654e+24) + +// float_exprs.wast:681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x39\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\x3e\xf6\x39\xac\xc5\xe2\xd6\xc1\x43\x52\x46\x6a\x48\x10\x00\xbc\x43\x80\x1d\xb7\xce\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$39", $39)), "run", [])); // assert_return(() => call($39, "no_demote_mixed_sub", [-1535841968.91, 239897.28125]), -1536081920.) + +// float_exprs.wast:682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x39\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\x6a\xde\x0d\x35\x74\x8c\x59\xc0\x43\xde\xb4\xce\x39\x10\x00\xbc\x43\xd5\x63\xcc\xc2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$39", $39)), "run", [])); // assert_return(() => call($39, "no_demote_mixed_sub", [-102.194592727, 0.000394261383917]), -102.194984436) + +// float_exprs.wast:683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x39\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\xbf\x1d\x09\x34\x9f\x45\x90\x3c\x43\x84\xd6\x30\x1c\x10\x00\xbc\x43\xa1\x2c\x82\x24\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$39", $39)), "run", [])); // assert_return(() => call($39, "no_demote_mixed_sub", [5.64547037557e-17, 5.85107700707e-22]), 5.64541172772e-17) + +// float_exprs.wast:684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x33\x39\x13\x6e\x6f\x5f\x64\x65\x6d\x6f\x74\x65\x5f\x6d\x69\x78\x65\x64\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\xb7\xfd\xa3\xdc\x98\x74\xda\x40\x43\xe4\x90\x76\x47\x10\x00\xbc\x43\x81\xbe\x0c\xc7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$39", $39)), "run", [])); // assert_return(() => call($39, "no_demote_mixed_sub", [27090.3884668, 63120.890625]), -36030.5039062) + +// float_exprs.wast:688 +let $40 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x91\x80\x80\x80\x00\x10\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00\x00\x01\x01\x01\x01\x07\xc1\x84\x80\x80\x00\x10\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x00\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x02\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x03\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x04\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x05\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x06\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x07\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x08\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x09\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x0a\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x0b\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x0c\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x0d\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x0e\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x0f\x0a\xb1\x81\x80\x80\x00\x10\x86\x80\x80\x80\x00\x00\x20\x00\xa8\xb2\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xa9\xb2\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xa8\xb3\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xa9\xb3\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xaa\xb7\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xab\xb7\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xaa\xb8\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xab\xb8\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xae\xb4\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xaf\xb4\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xae\xb5\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xaf\xb5\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb0\xb9\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb1\xb9\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb0\xba\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb1\xba\x0b"); + +// float_exprs.wast:723 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_s_convert_s", [1.5]), 1.) + +// float_exprs.wast:724 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_s_convert_s", [-1.5]), -1.) + +// float_exprs.wast:725 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_u_convert_s", [1.5]), 1.) + +// float_exprs.wast:726 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_u_convert_s", [-0.5]), 0.) + +// float_exprs.wast:727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_s_convert_u", [1.5]), 1.) + +// float_exprs.wast:728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xbf\x10\x00\xbc\x43\x00\x00\x80\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_s_convert_u", [-1.5]), 4294967296.) + +// float_exprs.wast:729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_u_convert_u", [1.5]), 1.) + +// float_exprs.wast:730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i32.no_fold_trunc_u_convert_u", [-0.5]), 0.) + +// float_exprs.wast:732 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_s_convert_s", [1.5]), 1.) + +// float_exprs.wast:733 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_s_convert_s", [-1.5]), -1.) + +// float_exprs.wast:734 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_u_convert_s", [1.5]), 1.) + +// float_exprs.wast:735 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_u_convert_s", [-0.5]), 0.) + +// float_exprs.wast:736 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_s_convert_u", [1.5]), 1.) + +// float_exprs.wast:737 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\x10\x00\xbd\x44\x00\x00\xe0\xff\xff\xff\xef\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_s_convert_u", [-1.5]), 4294967295.) + +// float_exprs.wast:738 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_u_convert_u", [1.5]), 1.) + +// float_exprs.wast:739 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i32.no_fold_trunc_u_convert_u", [-0.5]), 0.) + +// float_exprs.wast:741 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_s_convert_s", [1.5]), 1.) + +// float_exprs.wast:742 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_s_convert_s", [-1.5]), -1.) + +// float_exprs.wast:743 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_u_convert_s", [1.5]), 1.) + +// float_exprs.wast:744 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_u_convert_s", [-0.5]), 0.) + +// float_exprs.wast:745 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_s_convert_u", [1.5]), 1.) + +// float_exprs.wast:746 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xbf\x10\x00\xbc\x43\x00\x00\x80\x5f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_s_convert_u", [-1.5]), 1.84467440737e+19) + +// float_exprs.wast:747 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_u_convert_u", [1.5]), 1.) + +// float_exprs.wast:748 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x33\x32\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\xbf\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f32.i64.no_fold_trunc_u_convert_u", [-0.5]), 0.) + +// float_exprs.wast:750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_s_convert_s", [1.5]), 1.) + +// float_exprs.wast:751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_s_convert_s", [-1.5]), -1.) + +// float_exprs.wast:752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_u_convert_s", [1.5]), 1.) + +// float_exprs.wast:753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_u_convert_s", [-0.5]), 0.) + +// float_exprs.wast:754 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_s_convert_u", [1.5]), 1.) + +// float_exprs.wast:755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x73\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_s_convert_u", [-1.5]), 1.84467440737e+19) + +// float_exprs.wast:756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_u_convert_u", [1.5]), 1.) + +// float_exprs.wast:757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa9\x80\x80\x80\x00\x01\x03\x24\x34\x30\x21\x66\x36\x34\x2e\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x74\x72\x75\x6e\x63\x5f\x75\x5f\x63\x6f\x6e\x76\x65\x72\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$40", $40)), "run", [])); // assert_return(() => call($40, "f64.i64.no_fold_trunc_u_convert_u", [-0.5]), 0.) + +// float_exprs.wast:763 +let $41 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x02\x7f\x7d\x00\x60\x01\x7f\x01\x7d\x03\x84\x80\x80\x80\x00\x03\x00\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x96\x80\x80\x80\x00\x03\x04\x69\x6e\x69\x74\x00\x00\x03\x72\x75\x6e\x00\x01\x05\x63\x68\x65\x63\x6b\x00\x02\x0a\xc5\x80\x80\x80\x00\x03\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x38\x02\x00\x0b\xa5\x80\x80\x80\x00\x01\x01\x7f\x02\x40\x03\x40\x20\x02\x20\x02\x2a\x02\x00\x20\x01\x95\x38\x02\x00\x20\x02\x41\x04\x6a\x21\x02\x20\x02\x20\x00\x49\x0d\x00\x0b\x0b\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2a\x02\x00\x0b"); + +// float_exprs.wast:784 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x31\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x00\x43\x9a\x99\x71\x41\x10\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // run(() => call($41, "init", [0, 15.1000003815])) + +// float_exprs.wast:785 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x31\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x04\x43\x33\x33\x73\x41\x10\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // run(() => call($41, "init", [4, 15.1999998093])) + +// float_exprs.wast:786 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x31\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x08\x43\xcd\xcc\x74\x41\x10\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // run(() => call($41, "init", [8, 15.3000001907])) + +// float_exprs.wast:787 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x31\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x0c\x43\x66\x66\x76\x41\x10\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // run(() => call($41, "init", [12, 15.3999996185])) + +// float_exprs.wast:788 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbc\x43\x9a\x99\x71\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [0]), 15.1000003815) + +// float_exprs.wast:789 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x04\x10\x00\xbc\x43\x33\x33\x73\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [4]), 15.1999998093) + +// float_exprs.wast:790 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x08\x10\x00\xbc\x43\xcd\xcc\x74\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [8]), 15.3000001907) + +// float_exprs.wast:791 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x0c\x10\x00\xbc\x43\x66\x66\x76\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [12]), 15.3999996185) + +// float_exprs.wast:792 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x8b\x80\x80\x80\x00\x01\x03\x24\x34\x31\x03\x72\x75\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x10\x43\x00\x00\x40\x40\x10\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // run(() => call($41, "run", [16, 3.])) + +// float_exprs.wast:793 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbc\x43\x11\x11\xa1\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [0]), 5.03333330154) + +// float_exprs.wast:794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x04\x10\x00\xbc\x43\x22\x22\xa2\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [4]), 5.06666660309) + +// float_exprs.wast:795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x08\x10\x00\xbc\x43\x33\x33\xa3\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [8]), 5.09999990463) + +// float_exprs.wast:796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x31\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x0c\x10\x00\xbc\x43\x44\x44\xa4\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$41", $41)), "run", [])); // assert_return(() => call($41, "check", [12]), 5.13333320618) + +// float_exprs.wast:798 +let $42 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x02\x7f\x7c\x00\x60\x01\x7f\x01\x7c\x03\x84\x80\x80\x80\x00\x03\x00\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x96\x80\x80\x80\x00\x03\x04\x69\x6e\x69\x74\x00\x00\x03\x72\x75\x6e\x00\x01\x05\x63\x68\x65\x63\x6b\x00\x02\x0a\xc5\x80\x80\x80\x00\x03\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x39\x03\x00\x0b\xa5\x80\x80\x80\x00\x01\x01\x7f\x02\x40\x03\x40\x20\x02\x20\x02\x2b\x03\x00\x20\x01\xa3\x39\x03\x00\x20\x02\x41\x08\x6a\x21\x02\x20\x02\x20\x00\x49\x0d\x00\x0b\x0b\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2b\x03\x00\x0b"); + +// float_exprs.wast:819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x32\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x00\x44\x33\x33\x33\x33\x33\x33\x2e\x40\x10\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // run(() => call($42, "init", [0, 15.1])) + +// float_exprs.wast:820 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x32\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x08\x44\x66\x66\x66\x66\x66\x66\x2e\x40\x10\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // run(() => call($42, "init", [8, 15.2])) + +// float_exprs.wast:821 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x32\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x10\x44\x9a\x99\x99\x99\x99\x99\x2e\x40\x10\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // run(() => call($42, "init", [16, 15.3])) + +// float_exprs.wast:822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x34\x32\x04\x69\x6e\x69\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x18\x44\xcd\xcc\xcc\xcc\xcc\xcc\x2e\x40\x10\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // run(() => call($42, "init", [24, 15.4])) + +// float_exprs.wast:823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbd\x44\x33\x33\x33\x33\x33\x33\x2e\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [0]), 15.1) + +// float_exprs.wast:824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x08\x10\x00\xbd\x44\x66\x66\x66\x66\x66\x66\x2e\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [8]), 15.2) + +// float_exprs.wast:825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x10\x10\x00\xbd\x44\x9a\x99\x99\x99\x99\x99\x2e\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [16]), 15.3) + +// float_exprs.wast:826 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x18\x10\x00\xbd\x44\xcd\xcc\xcc\xcc\xcc\xcc\x2e\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [24]), 15.4) + +// float_exprs.wast:827 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x8b\x80\x80\x80\x00\x01\x03\x24\x34\x32\x03\x72\x75\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x20\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // run(() => call($42, "run", [32, 3.])) + +// float_exprs.wast:828 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\xbd\x44\x22\x22\x22\x22\x22\x22\x14\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [0]), 5.03333333333) + +// float_exprs.wast:829 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x08\x10\x00\xbd\x44\x44\x44\x44\x44\x44\x44\x14\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [8]), 5.06666666667) + +// float_exprs.wast:830 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x10\x10\x00\xbd\x44\x67\x66\x66\x66\x66\x66\x14\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [16]), 5.1) + +// float_exprs.wast:831 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x03\x24\x34\x32\x05\x63\x68\x65\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x18\x10\x00\xbd\x44\x89\x88\x88\x88\x88\x88\x14\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$42", $42)), "run", [])); // assert_return(() => call($42, "check", [24]), 5.13333333333) + +// float_exprs.wast:835 +let $43 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7f\x60\x02\x7c\x7c\x01\x7f\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xd1\x80\x80\x80\x00\x08\x07\x66\x33\x32\x2e\x75\x6c\x74\x00\x00\x07\x66\x33\x32\x2e\x75\x6c\x65\x00\x01\x07\x66\x33\x32\x2e\x75\x67\x74\x00\x02\x07\x66\x33\x32\x2e\x75\x67\x65\x00\x03\x07\x66\x36\x34\x2e\x75\x6c\x74\x00\x04\x07\x66\x36\x34\x2e\x75\x6c\x65\x00\x05\x07\x66\x36\x34\x2e\x75\x67\x74\x00\x06\x07\x66\x36\x34\x2e\x75\x67\x65\x00\x07\x0a\xe9\x80\x80\x80\x00\x08\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x60\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5e\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5f\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5d\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x66\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x64\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x65\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x63\x45\x0b"); + +// float_exprs.wast:847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ult", [3., 2.]), 0) + +// float_exprs.wast:848 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ult", [2., 2.]), 0) + +// float_exprs.wast:849 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ult", [2., 3.]), 1) + +// float_exprs.wast:850 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ult", [2., NaN]), 1) + +// float_exprs.wast:851 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ule", [3., 2.]), 0) + +// float_exprs.wast:852 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ule", [2., 2.]), 1) + +// float_exprs.wast:853 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ule", [2., 3.]), 1) + +// float_exprs.wast:854 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ule", [2., NaN]), 1) + +// float_exprs.wast:855 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ugt", [3., 2.]), 1) + +// float_exprs.wast:856 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ugt", [2., 2.]), 0) + +// float_exprs.wast:857 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ugt", [2., 3.]), 0) + +// float_exprs.wast:858 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.ugt", [2., NaN]), 1) + +// float_exprs.wast:859 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.uge", [3., 2.]), 1) + +// float_exprs.wast:860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.uge", [2., 2.]), 1) + +// float_exprs.wast:861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.uge", [2., 3.]), 0) + +// float_exprs.wast:862 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x33\x32\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f32.uge", [2., NaN]), 1) + +// float_exprs.wast:863 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ult", [3., 2.]), 0) + +// float_exprs.wast:864 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ult", [2., 2.]), 0) + +// float_exprs.wast:865 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ult", [2., 3.]), 1) + +// float_exprs.wast:866 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ult", [2., NaN]), 1) + +// float_exprs.wast:867 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ule", [3., 2.]), 0) + +// float_exprs.wast:868 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ule", [2., 2.]), 1) + +// float_exprs.wast:869 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ule", [2., 3.]), 1) + +// float_exprs.wast:870 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ule", [2., NaN]), 1) + +// float_exprs.wast:871 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ugt", [3., 2.]), 1) + +// float_exprs.wast:872 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ugt", [2., 2.]), 0) + +// float_exprs.wast:873 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ugt", [2., 3.]), 0) + +// float_exprs.wast:874 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.ugt", [2., NaN]), 1) + +// float_exprs.wast:875 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.uge", [3., 2.]), 1) + +// float_exprs.wast:876 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.uge", [2., 2.]), 1) + +// float_exprs.wast:877 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.uge", [2., 3.]), 0) + +// float_exprs.wast:878 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x34\x33\x07\x66\x36\x34\x2e\x75\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$43", $43)), "run", [])); // assert_return(() => call($43, "f64.uge", [2., NaN]), 1) + +// float_exprs.wast:882 +let $44 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xc1\x81\x80\x80\x00\x08\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x00\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x02\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x03\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x04\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x05\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x06\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x07\x0a\x89\x81\x80\x80\x00\x08\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x5d\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x5f\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x5e\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x60\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x63\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x65\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x64\x1b\x0b\x8c\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x00\x20\x01\x66\x1b\x0b"); + +// float_exprs.wast:894 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_lt_select", [0., NaN]), NaN) + +// float_exprs.wast:895 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_lt_select", [NaN, 0.]), 0.) + +// float_exprs.wast:896 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_lt_select", [0., -0.]), -0.) + +// float_exprs.wast:897 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_lt_select", [-0., 0.]), 0.) + +// float_exprs.wast:898 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_le_select", [0., NaN]), NaN) + +// float_exprs.wast:899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_le_select", [NaN, 0.]), 0.) + +// float_exprs.wast:900 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_le_select", [0., -0.]), 0.) + +// float_exprs.wast:901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_le_select", [-0., 0.]), -0.) + +// float_exprs.wast:902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_gt_select", [0., NaN]), NaN) + +// float_exprs.wast:903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_gt_select", [NaN, 0.]), 0.) + +// float_exprs.wast:904 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_gt_select", [0., -0.]), -0.) + +// float_exprs.wast:905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_gt_select", [-0., 0.]), 0.) + +// float_exprs.wast:906 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_ge_select", [0., NaN]), NaN) + +// float_exprs.wast:907 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_ge_select", [NaN, 0.]), 0.) + +// float_exprs.wast:908 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_ge_select", [0., -0.]), 0.) + +// float_exprs.wast:909 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f32.no_fold_ge_select", [-0., 0.]), -0.) + +// float_exprs.wast:910 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_lt_select", [0., NaN]), NaN) + +// float_exprs.wast:911 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_lt_select", [NaN, 0.]), 0.) + +// float_exprs.wast:912 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_lt_select", [0., -0.]), -0.) + +// float_exprs.wast:913 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_lt_select", [-0., 0.]), 0.) + +// float_exprs.wast:914 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_le_select", [0., NaN]), NaN) + +// float_exprs.wast:915 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_le_select", [NaN, 0.]), 0.) + +// float_exprs.wast:916 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_le_select", [0., -0.]), 0.) + +// float_exprs.wast:917 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_le_select", [-0., 0.]), -0.) + +// float_exprs.wast:918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_gt_select", [0., NaN]), NaN) + +// float_exprs.wast:919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_gt_select", [NaN, 0.]), 0.) + +// float_exprs.wast:920 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_gt_select", [0., -0.]), -0.) + +// float_exprs.wast:921 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_gt_select", [-0., 0.]), 0.) + +// float_exprs.wast:922 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_ge_select", [0., NaN]), NaN) + +// float_exprs.wast:923 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_ge_select", [NaN, 0.]), 0.) + +// float_exprs.wast:924 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_ge_select", [0., -0.]), 0.) + +// float_exprs.wast:925 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x34\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$44", $44)), "run", [])); // assert_return(() => call($44, "f64.no_fold_ge_select", [-0., 0.]), -0.) + +// float_exprs.wast:929 +let $45 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xa1\x81\x80\x80\x00\x08\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x00\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x02\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x03\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x04\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x05\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x06\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x07\x0a\xa1\x81\x80\x80\x00\x08\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5d\x04\x7d\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5f\x04\x7d\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5e\x04\x7d\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x60\x04\x7d\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x63\x04\x7c\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x65\x04\x7c\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x64\x04\x7c\x20\x00\x05\x20\x01\x0b\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x20\x01\x66\x04\x7c\x20\x00\x05\x20\x01\x0b\x0b"); + +// float_exprs.wast:973 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_lt_if", [0., NaN]), NaN) + +// float_exprs.wast:974 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_lt_if", [NaN, 0.]), 0.) + +// float_exprs.wast:975 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_lt_if", [0., -0.]), -0.) + +// float_exprs.wast:976 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_lt_if", [-0., 0.]), 0.) + +// float_exprs.wast:977 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_le_if", [0., NaN]), NaN) + +// float_exprs.wast:978 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_le_if", [NaN, 0.]), 0.) + +// float_exprs.wast:979 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_le_if", [0., -0.]), 0.) + +// float_exprs.wast:980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_le_if", [-0., 0.]), -0.) + +// float_exprs.wast:981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_gt_if", [0., NaN]), NaN) + +// float_exprs.wast:982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_gt_if", [NaN, 0.]), 0.) + +// float_exprs.wast:983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_gt_if", [0., -0.]), -0.) + +// float_exprs.wast:984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_gt_if", [-0., 0.]), 0.) + +// float_exprs.wast:985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_ge_if", [0., NaN]), NaN) + +// float_exprs.wast:986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_ge_if", [NaN, 0.]), 0.) + +// float_exprs.wast:987 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_ge_if", [0., -0.]), 0.) + +// float_exprs.wast:988 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f32.no_fold_ge_if", [-0., 0.]), -0.) + +// float_exprs.wast:989 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_lt_if", [0., NaN]), NaN) + +// float_exprs.wast:990 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_lt_if", [NaN, 0.]), 0.) + +// float_exprs.wast:991 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_lt_if", [0., -0.]), -0.) + +// float_exprs.wast:992 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_lt_if", [-0., 0.]), 0.) + +// float_exprs.wast:993 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_le_if", [0., NaN]), NaN) + +// float_exprs.wast:994 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_le_if", [NaN, 0.]), 0.) + +// float_exprs.wast:995 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_le_if", [0., -0.]), 0.) + +// float_exprs.wast:996 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_le_if", [-0., 0.]), -0.) + +// float_exprs.wast:997 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_gt_if", [0., NaN]), NaN) + +// float_exprs.wast:998 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_gt_if", [NaN, 0.]), 0.) + +// float_exprs.wast:999 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_gt_if", [0., -0.]), -0.) + +// float_exprs.wast:1000 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_gt_if", [-0., 0.]), 0.) + +// float_exprs.wast:1001 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_ge_if", [0., NaN]), NaN) + +// float_exprs.wast:1002 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_ge_if", [NaN, 0.]), 0.) + +// float_exprs.wast:1003 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_ge_if", [0., -0.]), 0.) + +// float_exprs.wast:1004 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x34\x35\x11\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$45", $45)), "run", [])); // assert_return(() => call($45, "f64.no_fold_ge_if", [-0., 0.]), -0.) + +// float_exprs.wast:1008 +let $46 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xf9\x81\x80\x80\x00\x08\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x00\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x02\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x03\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x04\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x05\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x06\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x07\x0a\xb9\x81\x80\x80\x00\x08\x90\x80\x80\x80\x00\x00\x20\x00\x8c\x20\x00\x20\x00\x43\x00\x00\x00\x00\x5d\x1b\x0b\x90\x80\x80\x80\x00\x00\x20\x00\x8c\x20\x00\x20\x00\x43\x00\x00\x00\x80\x5f\x1b\x0b\x90\x80\x80\x80\x00\x00\x20\x00\x20\x00\x8c\x20\x00\x43\x00\x00\x00\x80\x5e\x1b\x0b\x90\x80\x80\x80\x00\x00\x20\x00\x20\x00\x8c\x20\x00\x43\x00\x00\x00\x00\x60\x1b\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x9a\x20\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x63\x1b\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x9a\x20\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x65\x1b\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x20\x00\x9a\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x64\x1b\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x20\x00\x9a\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x66\x1b\x0b"); + +// float_exprs.wast:1020 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_lt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1021 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_lt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1022 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_lt_select_to_abs", [0.]), 0.) + +// float_exprs.wast:1023 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_lt_select_to_abs", [-0.]), -0.) + +// float_exprs.wast:1024 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_le_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1025 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_le_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1026 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_le_select_to_abs", [0.]), -0.) + +// float_exprs.wast:1027 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_le_select_to_abs", [-0.]), 0.) + +// float_exprs.wast:1028 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_gt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1029 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_gt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1030 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_gt_select_to_abs", [0.]), -0.) + +// float_exprs.wast:1031 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_gt_select_to_abs", [-0.]), 0.) + +// float_exprs.wast:1032 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_ge_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1033 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_ge_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1034 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_ge_select_to_abs", [0.]), 0.) + +// float_exprs.wast:1035 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f32.no_fold_ge_select_to_abs", [-0.]), -0.) + +// float_exprs.wast:1036 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_lt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1037 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_lt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1038 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_lt_select_to_abs", [0.]), 0.) + +// float_exprs.wast:1039 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_lt_select_to_abs", [-0.]), -0.) + +// float_exprs.wast:1040 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_le_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1041 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_le_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1042 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_le_select_to_abs", [0.]), -0.) + +// float_exprs.wast:1043 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_le_select_to_abs", [-0.]), 0.) + +// float_exprs.wast:1044 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_gt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1045 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_gt_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1046 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_gt_select_to_abs", [0.]), -0.) + +// float_exprs.wast:1047 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_gt_select_to_abs", [-0.]), 0.) + +// float_exprs.wast:1048 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_ge_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1049 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_ge_select_to_abs", [NaN]), NaN) + +// float_exprs.wast:1050 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_ge_select_to_abs", [0.]), 0.) + +// float_exprs.wast:1051 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x34\x36\x1c\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x73\x65\x6c\x65\x63\x74\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$46", $46)), "run", [])); // assert_return(() => call($46, "f64.no_fold_ge_select_to_abs", [-0.]), -0.) + +// float_exprs.wast:1055 +let $47 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xd9\x81\x80\x80\x00\x08\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x00\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x02\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x03\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x04\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x05\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x06\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x07\x0a\xd1\x81\x80\x80\x00\x08\x93\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x00\x5d\x04\x7d\x20\x00\x8c\x05\x20\x00\x0b\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x80\x5f\x04\x7d\x20\x00\x8c\x05\x20\x00\x0b\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x80\x5e\x04\x7d\x20\x00\x05\x20\x00\x8c\x0b\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x00\x00\x60\x04\x7d\x20\x00\x05\x20\x00\x8c\x0b\x0b\x97\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x63\x04\x7c\x20\x00\x9a\x05\x20\x00\x0b\x0b\x97\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x65\x04\x7c\x20\x00\x9a\x05\x20\x00\x0b\x0b\x97\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x64\x04\x7c\x20\x00\x05\x20\x00\x9a\x0b\x0b\x97\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x66\x04\x7c\x20\x00\x05\x20\x00\x9a\x0b\x0b"); + +// float_exprs.wast:1099 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_lt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_lt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_lt_if_to_abs", [0.]), 0.) + +// float_exprs.wast:1102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_lt_if_to_abs", [-0.]), -0.) + +// float_exprs.wast:1103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_le_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_le_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_le_if_to_abs", [0.]), -0.) + +// float_exprs.wast:1106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_le_if_to_abs", [-0.]), 0.) + +// float_exprs.wast:1107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_gt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_gt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_gt_if_to_abs", [0.]), -0.) + +// float_exprs.wast:1110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_gt_if_to_abs", [-0.]), 0.) + +// float_exprs.wast:1111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x7f\x10\x00\xbc\x43\x00\x00\xa0\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_ge_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_ge_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_ge_if_to_abs", [0.]), 0.) + +// float_exprs.wast:1114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f32.no_fold_ge_if_to_abs", [-0.]), -0.) + +// float_exprs.wast:1115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_lt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_lt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_lt_if_to_abs", [0.]), 0.) + +// float_exprs.wast:1118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_lt_if_to_abs", [-0.]), -0.) + +// float_exprs.wast:1119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_le_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_le_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_le_if_to_abs", [0.]), -0.) + +// float_exprs.wast:1122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6c\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_le_if_to_abs", [-0.]), 0.) + +// float_exprs.wast:1123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_gt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_gt_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_gt_if_to_abs", [0.]), -0.) + +// float_exprs.wast:1126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x74\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_gt_if_to_abs", [-0.]), 0.) + +// float_exprs.wast:1127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_ge_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_ge_if_to_abs", [NaN]), NaN) + +// float_exprs.wast:1129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_ge_if_to_abs", [0.]), 0.) + +// float_exprs.wast:1130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x37\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x67\x65\x5f\x69\x66\x5f\x74\x6f\x5f\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$47", $47)), "run", [])); // assert_return(() => call($47, "f64.no_fold_ge_if_to_abs", [-0.]), -0.) + +// float_exprs.wast:1135 +let $48 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x01\x7d\x60\x00\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb7\x80\x80\x80\x00\x02\x18\x66\x33\x32\x2e\x69\x6e\x63\x6f\x72\x72\x65\x63\x74\x5f\x63\x6f\x72\x72\x65\x63\x74\x69\x6f\x6e\x00\x00\x18\x66\x36\x34\x2e\x69\x6e\x63\x6f\x72\x72\x65\x63\x74\x5f\x63\x6f\x72\x72\x65\x63\x74\x69\x6f\x6e\x00\x01\x0a\xcd\x80\x80\x80\x00\x02\x99\x80\x80\x80\x00\x00\x43\xbe\x9f\xaa\x3f\x43\xcd\xcc\x9c\x3f\x92\x43\xbe\x9f\xaa\x3f\x93\x43\xcd\xcc\x9c\x3f\x93\x0b\xa9\x80\x80\x80\x00\x00\x44\x87\x16\xd9\xce\xf7\x53\xf5\x3f\x44\x9a\x99\x99\x99\x99\x99\xf3\x3f\xa0\x44\x87\x16\xd9\xce\xf7\x53\xf5\x3f\xa1\x44\x9a\x99\x99\x99\x99\x99\xf3\x3f\xa1\x0b"); + +// float_exprs.wast:1144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x38\x18\x66\x33\x32\x2e\x69\x6e\x63\x6f\x72\x72\x65\x63\x74\x5f\x63\x6f\x72\x72\x65\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$48", $48)), "run", [])); // assert_return(() => call($48, "f32.incorrect_correction", []), 1.19209289551e-07) + +// float_exprs.wast:1145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x34\x38\x18\x66\x36\x34\x2e\x69\x6e\x63\x6f\x72\x72\x65\x63\x74\x5f\x63\x6f\x72\x72\x65\x63\x74\x69\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$48", $48)), "run", [])); // assert_return(() => call($48, "f64.incorrect_correction", []), -2.22044604925e-16) + +// float_exprs.wast:1150 +let $49 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x8d\x80\x80\x80\x00\x01\x09\x63\x61\x6c\x63\x75\x6c\x61\x74\x65\x00\x00\x0a\xce\x80\x80\x80\x00\x01\xc8\x80\x80\x80\x00\x01\x05\x7d\x43\x00\x40\x1c\x43\x21\x00\x43\x55\x55\x50\x43\x21\x01\x43\x15\xc7\xe3\x3f\x21\x02\x20\x01\x8c\x20\x00\x94\x20\x00\x20\x02\x94\x20\x01\x93\x95\x21\x03\x20\x01\x8c\x20\x00\x94\x20\x00\x20\x02\x94\x20\x01\x93\x95\x21\x04\x02\x40\x20\x03\x20\x04\x5b\x0d\x00\x00\x0b\x20\x04\x0b"); + +// float_exprs.wast:1167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x03\x24\x34\x39\x09\x63\x61\x6c\x63\x75\x6c\x61\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\xa3\x76\xe9\xc3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$49", $49)), "run", [])); // assert_return(() => call($49, "calculate", []), -466.926849365) + +// float_exprs.wast:1169 +let $50 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x07\x8d\x80\x80\x80\x00\x01\x09\x63\x61\x6c\x63\x75\x6c\x61\x74\x65\x00\x00\x0a\xda\x80\x80\x80\x00\x01\xd4\x80\x80\x80\x00\x01\x05\x7c\x44\x00\x00\x00\x00\x00\x88\x63\x40\x21\x00\x44\x4b\x06\xab\xaa\xaa\x0a\x6a\x40\x21\x01\x44\x96\xd0\xe3\xaa\xe2\x78\xfc\x3f\x21\x02\x20\x01\x9a\x20\x00\xa2\x20\x00\x20\x02\xa2\x20\x01\xa1\xa3\x21\x03\x20\x01\x9a\x20\x00\xa2\x20\x00\x20\x02\xa2\x20\x01\xa1\xa3\x21\x04\x02\x40\x20\x03\x20\x04\x61\x0d\x00\x00\x0b\x20\x04\x0b"); + +// float_exprs.wast:1186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x03\x24\x35\x30\x09\x63\x61\x6c\x63\x75\x6c\x61\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x93\x8c\x21\xd0\xd4\x2e\x7d\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$50", $50)), "run", [])); // assert_return(() => call($50, "calculate", []), -466.926956302) + +// float_exprs.wast:1191 +let $51 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x90\x80\x80\x80\x00\x01\x0c\x6c\x6c\x76\x6d\x5f\x70\x72\x32\x36\x37\x34\x36\x00\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x20\x00\x93\x93\x0b"); + +// float_exprs.wast:1197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x94\x80\x80\x80\x00\x01\x03\x24\x35\x31\x0c\x6c\x6c\x76\x6d\x5f\x70\x72\x32\x36\x37\x34\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$51", $51)), "run", [])); // assert_return(() => call($51, "llvm_pr26746", [-0.]), 0.) + +// float_exprs.wast:1202 +let $52 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x90\x80\x80\x80\x00\x01\x0c\x6c\x6c\x76\x6d\x5f\x70\x72\x32\x37\x31\x35\x33\x00\x00\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x20\x00\x41\xff\xff\xff\xff\x00\x71\xb2\x43\x00\x00\x00\xcb\x92\x0b"); + +// float_exprs.wast:1208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x94\x80\x80\x80\x00\x01\x03\x24\x35\x32\x0c\x6c\x6c\x76\x6d\x5f\x70\x72\x32\x37\x31\x35\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x82\x80\x80\x10\x10\x00\xbc\x43\x00\x00\xc0\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$52", $52)), "run", [])); // assert_return(() => call($52, "llvm_pr27153", [33554434]), 25165824.) + +// float_exprs.wast:1213 +let $53 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7f\x7f\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x90\x80\x80\x80\x00\x01\x0c\x6c\x6c\x76\x6d\x5f\x70\x72\x32\x37\x30\x33\x36\x00\x00\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x20\x00\x41\xcb\xff\x87\x74\x72\xb2\x20\x01\x41\x80\x80\x90\x07\x71\xb2\x92\x0b"); + +// float_exprs.wast:1220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x01\x7d\x02\x94\x80\x80\x80\x00\x01\x03\x24\x35\x33\x0c\x6c\x6c\x76\x6d\x5f\x70\x72\x32\x37\x30\x33\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\xcb\xff\x87\x74\x41\x80\x80\x90\x07\x10\x00\xbc\x43\x34\x00\x1a\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$53", $53)), "run", [])); // assert_return(() => call($53, "llvm_pr27036", [-25034805, 14942208]), -10092596.) + +// float_exprs.wast:1230 +let $54 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x97\x80\x80\x80\x00\x03\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x60\x03\x7c\x7c\x7c\x01\x7c\x60\x03\x7d\x7d\x7d\x01\x7d\x03\x84\x80\x80\x80\x00\x03\x00\x01\x02\x07\xa2\x80\x80\x80\x00\x03\x08\x74\x68\x65\x70\x61\x73\x74\x30\x00\x00\x08\x74\x68\x65\x70\x61\x73\x74\x31\x00\x01\x08\x74\x68\x65\x70\x61\x73\x74\x32\x00\x02\x0a\xb1\x80\x80\x80\x00\x03\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\x20\x03\xa2\xa3\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa1\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x02\x94\x0b"); + +// float_exprs.wast:1244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x35\x34\x08\x74\x68\x65\x70\x61\x73\x74\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x20\x00\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x1f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$54", $54)), "run", [])); // assert_return(() => call($54, "thepast0", [4.45014771701e-308, 1., 2., 0.5]), 4.45014771701e-308) + +// float_exprs.wast:1245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x35\x34\x08\x74\x68\x65\x70\x61\x73\x74\x31\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x90\x3c\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x44\x00\x00\x00\x00\x00\x00\x90\x3c\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x40\xb9\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$54", $54)), "run", [])); // assert_return(() => call($54, "thepast1", [5.55111512313e-17, 1., 5.55111512313e-17]), -6.16297582204e-33) + +// float_exprs.wast:1246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x35\x34\x08\x74\x68\x65\x70\x61\x73\x74\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x01\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$54", $54)), "run", [])); // assert_return(() => call($54, "thepast2", [2.35098870164e-38, 0.5, 1.]), 1.17549435082e-38) + +// float_exprs.wast:1251 +let $55 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x07\x8b\x80\x80\x80\x00\x01\x07\x69\x6e\x76\x65\x72\x73\x65\x00\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x20\x00\x95\x0b"); + +// float_exprs.wast:1257 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x03\x24\x35\x35\x07\x69\x6e\x76\x65\x72\x73\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x42\x10\x00\xbc\x43\xab\xaa\x2a\x3c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$55", $55)), "run", [])); // assert_return(() => call($55, "inverse", [96.]), 0.0104166669771) + +// float_exprs.wast:1262 +let $56 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa7\x80\x80\x80\x00\x02\x10\x66\x33\x32\x5f\x73\x71\x72\x74\x5f\x6d\x69\x6e\x75\x73\x5f\x32\x00\x00\x10\x66\x36\x34\x5f\x73\x71\x72\x74\x5f\x6d\x69\x6e\x75\x73\x5f\x32\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8b\x80\x80\x80\x00\x00\x20\x00\x91\x43\x00\x00\x00\x40\x93\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\x9f\x44\x00\x00\x00\x00\x00\x00\x00\x40\xa1\x0b"); + +// float_exprs.wast:1272 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x35\x36\x10\x66\x33\x32\x5f\x73\x71\x72\x74\x5f\x6d\x69\x6e\x75\x73\x5f\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$56", $56)), "run", [])); // assert_return(() => call($56, "f32_sqrt_minus_2", [4.]), 0.) + +// float_exprs.wast:1273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x35\x36\x10\x66\x36\x34\x5f\x73\x71\x72\x74\x5f\x6d\x69\x6e\x75\x73\x5f\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$56", $56)), "run", [])); // assert_return(() => call($56, "f64_sqrt_minus_2", [4.]), 0.) + +// float_exprs.wast:1277 +let $57 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb5\x80\x80\x80\x00\x02\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x00\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x0a\xb3\x80\x80\x80\x00\x02\x90\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x20\x00\x95\x95\x0b\x98\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x20\x00\xa3\xa3\x0b"); + +// float_exprs.wast:1285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x8c\x5f\x74\xe0\x10\x00\xbc\x43\x8b\x5f\x74\xe0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [-7.04357879987e+19]), -7.04357836006e+19) + +// float_exprs.wast:1286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x24\x21\x71\x19\x10\x00\xbc\x43\x23\x21\x71\x19\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [1.24661006725e-23]), 1.24660998836e-23) + +// float_exprs.wast:1287 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x74\x78\xe5\x1f\x10\x00\xbc\x43\x75\x78\xe5\x1f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [9.71845454401e-20]), 9.71845519024e-20) + +// float_exprs.wast:1288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xc1\x34\xf3\xc1\x10\x00\xbc\x43\xc2\x34\xf3\xc1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [-30.4007587433]), -30.4007606506) + +// float_exprs.wast:1289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x8b\xcc\xfc\x62\x10\x00\xbc\x43\x8a\xcc\xfc\x62\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [2.33165919039e+21]), 2.33165904965e+21) + +// float_exprs.wast:1291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [-0.]), -0.) + +// float_exprs.wast:1292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [0.]), 0.) + +// float_exprs.wast:1293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [-Infinity]), -Infinity) + +// float_exprs.wast:1294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f32.no_fold_recip_recip", [Infinity]), Infinity) + +// float_exprs.wast:1296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xd0\x63\xda\x8d\x24\x81\x3d\xc9\x10\x00\xbd\x44\xd1\x63\xda\x8d\x24\x81\x3d\xc9\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [-6.57971534363e+44]), -6.57971534363e+44) + +// float_exprs.wast:1297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xe3\x39\x20\x31\x50\x47\x1f\xc4\x10\x00\xbd\x44\xe2\x39\x20\x31\x50\x47\x1f\xc4\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [-1.44246931869e+20]), -1.44246931869e+20) + +// float_exprs.wast:1298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xf6\xc7\xee\x30\x06\xa5\x5f\x4a\x10\x00\xbd\x44\xf5\xc7\xee\x30\x06\xa5\x5f\x4a\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [1.84994689206e+50]), 1.84994689206e+50) + +// float_exprs.wast:1299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x92\xba\x17\x86\x59\xb0\x1d\x15\x10\x00\xbd\x44\x91\xba\x17\x86\x59\xb0\x1d\x15\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [5.77958428801e-207]), 5.77958428801e-207) + +// float_exprs.wast:1300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x2b\xc8\xa0\x38\x16\x5f\x58\x78\x10\x00\xbd\x44\x2a\xc8\xa0\x38\x16\x5f\x58\x78\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [5.15011786961e+271]), 5.15011786961e+271) + +// float_exprs.wast:1302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [-0.]), -0.) + +// float_exprs.wast:1303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [0.]), 0.) + +// float_exprs.wast:1304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [-Infinity]), -Infinity) + +// float_exprs.wast:1305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x35\x37\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x63\x69\x70\x5f\x72\x65\x63\x69\x70\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$57", $57)), "run", [])); // assert_return(() => call($57, "f64.no_fold_recip_recip", [Infinity]), Infinity) + +// float_exprs.wast:1309 +let $58 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xbb\x80\x80\x80\x00\x02\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x00\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x20\x00\x20\x01\x93\x94\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x20\x00\x20\x01\xa1\xa2\x0b"); + +// float_exprs.wast:1319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc7\xb3\x77\xa4\x43\x5c\xb0\xe0\x24\x10\x00\xbc\x43\x01\x4a\x09\x8a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f32.no_algebraic_factoring", [-5.37118646541e-17, 9.74432790571e-17]), -6.61022864732e-33) + +// float_exprs.wast:1320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x5e\xbb\x96\xcb\x43\x4e\x04\xfa\x4b\x10\x00\xbc\x43\x4d\x6c\x1b\xd8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f32.no_algebraic_factoring", [-19756732., 32770204.]), -6.83557802476e+14) + +// float_exprs.wast:1321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x59\x51\x3e\x56\x43\x9e\x28\x04\xd7\x10\x00\xbc\x43\x6f\x88\x6d\xee\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f32.no_algebraic_factoring", [5.23141487002e+13, -1.45309984358e+14]), -1.83782213555e+28) + +// float_exprs.wast:1322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x18\xaf\x3e\x48\x43\xda\xc1\x63\xc3\x10\x00\xbc\x43\x53\x08\x0e\x51\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f32.no_algebraic_factoring", [195260.375, -227.757232666]), 38126563328.) + +// float_exprs.wast:1323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xb0\x7c\x6d\xc3\x43\x58\x63\x6d\xc9\x10\x00\xbc\x43\x17\x21\x5c\xd3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f32.no_algebraic_factoring", [-237.487060547, -972341.5]), -945447960576.) + +// float_exprs.wast:1325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb5\xc6\x2a\xa0\xc0\x17\x3e\x22\x44\x14\xdc\xfc\xf1\x13\x8f\x0e\x23\x10\x00\xbd\x44\x63\x28\xf6\x18\xc5\x2e\x2d\x86\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f64.no_algebraic_factoring", [9.63972033595e-144, 8.01917544361e-140]), -6.43071738661e-279) + +// float_exprs.wast:1326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa3\xe3\x57\x5a\xb5\x71\x69\x28\x44\x27\x1b\x3c\x23\xb4\xde\x0e\x27\x10\x00\xbd\x44\x8b\x25\xfb\x69\x3f\x3b\xe4\x10\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f64.no_algebraic_factoring", [5.16606659039e-114, 1.49433331589e-120]), 2.66882440164e-227) + +// float_exprs.wast:1327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfa\x72\x24\xc0\x9d\x3b\x5c\xa8\x44\x14\xff\xba\xae\x9f\x4e\xe7\xa8\x10\x00\xbd\x44\x25\xaa\x8c\x7e\xc0\xf9\xe0\x91\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f64.no_algebraic_factoring", [-2.86613587052e-114, -1.21143552543e-111]), -1.46756781753e-222) + +// float_exprs.wast:1328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x19\xd0\x8e\x68\xf4\xfa\x2a\xcb\x44\x94\x9e\xb4\x1c\x17\x07\xbb\x4b\x10\x00\xbd\x44\xf7\xbc\xbe\xe2\xf2\xd3\x86\xd7\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f64.no_algebraic_factoring", [-1.29209928101e+54, 6.62717187728e+56]), -4.3919240139e+113) + +// float_exprs.wast:1329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x38\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x12\x8f\x94\x98\x7a\x37\x14\x47\x44\x97\x4c\xd2\x5b\xc0\x00\x95\xc5\x10\x00\xbd\x44\x72\xbf\xf7\xdb\x72\x8b\x39\x4e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$58", $58)), "run", [])); // assert_return(() => call($58, "f64.no_algebraic_factoring", [2.6242795689e+34, -1.62502339861e+27]), 6.88684325575e+68) + +// float_exprs.wast:1333 +let $59 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xbb\x80\x80\x80\x00\x02\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x00\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x00\x94\x20\x01\x20\x01\x94\x93\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa2\x20\x01\x20\x01\xa2\xa1\x0b"); + +// float_exprs.wast:1343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x0a\x16\xc7\x28\x43\xcd\x6a\x5d\x2c\x10\x00\xbc\x43\x28\x7f\x3f\x99\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f32.no_algebraic_factoring", [2.21029961098e-14, 3.14652752638e-12]), -9.90014756254e-24) + +// float_exprs.wast:1344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc9\x78\x3f\xd4\x43\x25\x8c\x6d\xd0\x10\x00\xbc\x43\x99\x34\x0f\x69\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f32.no_algebraic_factoring", [-3.28946076877e+12, -15941538816.]), 1.08202986009e+25) + +// float_exprs.wast:1345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x2c\x5a\xbf\x39\x43\x4c\x62\x29\xb9\x10\x00\xbc\x43\xe3\x05\xe6\x33\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f32.no_algebraic_factoring", [0.000364975421689, -0.000161537143867]), 1.0711280396e-07) + +// float_exprs.wast:1346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe3\x3a\x93\x29\x43\x8d\xe9\xf6\xa8\x10\x00\xbc\x43\xa6\x94\x8b\x13\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f32.no_algebraic_factoring", [6.53832660214e-14, -2.74127729115e-14]), 3.52351117404e-27) + +// float_exprs.wast:1347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x33\x32\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc9\x2f\x4d\x59\x43\x4c\x80\x95\xd9\x10\x00\xbc\x43\xd3\xc4\x38\xf3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f32.no_algebraic_factoring", [3.60968191004e+15, -5.26010442947e+15]), -1.46388960479e+31) + +// float_exprs.wast:1349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x69\x8f\xf1\x28\xa1\x49\x37\x56\x44\xe1\x54\x13\xee\x97\xbc\x00\xd5\x10\x00\xbd\x44\x74\x8d\x51\x15\x81\xf2\x80\x6c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f64.no_algebraic_factoring", [2.1364045435e+107, -2.92858755839e+101]), 4.56422437347e+214) + +// float_exprs.wast:1350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xea\x15\x22\x1b\xb0\xda\x42\xd3\x44\xbd\xf2\xbf\x88\xb2\x12\xae\xd4\x10\x00\xbd\x44\x01\xd2\x25\xad\x19\x43\x6c\xe9\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f64.no_algebraic_factoring", [-1.22901711592e+93, -8.22215891902e+99]), -6.76038972896e+199) + +// float_exprs.wast:1351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x02\xe1\x31\x84\x89\xed\x93\x42\x44\xe6\x92\xfa\x83\x91\x40\x6c\xc2\x10\x00\xbd\x44\x1d\xc7\x03\x11\x61\x0a\x38\x45\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f64.no_algebraic_factoring", [5.47773382975e+12, -970738900949.]), 2.90632338958e+25) + +// float_exprs.wast:1352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb2\xe4\xc0\xe4\x63\xe6\x5b\xcb\x44\x25\x0d\x76\x03\x57\xa8\x5d\xca\x10\x00\xbd\x44\xfe\x2f\x1a\x4f\x43\x53\xc8\x56\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f64.no_algebraic_factoring", [-1.06891417449e+55, -1.73378393594e+50]), 1.14257751213e+110) + +// float_exprs.wast:1353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa2\x80\x80\x80\x00\x01\x03\x24\x35\x39\x1a\x66\x36\x34\x2e\x6e\x6f\x5f\x61\x6c\x67\x65\x62\x72\x61\x69\x63\x5f\x66\x61\x63\x74\x6f\x72\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x1c\xdf\x52\x99\xe0\x30\x32\xb1\x44\xc9\xad\xdf\x2a\x75\xa2\x2f\xb1\x10\x00\xbd\x44\xb8\xd1\x6b\x15\x43\x2e\x54\x22\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$59", $59)), "run", [])); // assert_return(() => call($59, "f64.no_algebraic_factoring", [-1.0295699877e-71, -8.95227463781e-72]), 2.5858214767e-143) + +// float_exprs.wast:1358 +let $60 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x00\x60\x01\x7f\x01\x7d\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xa0\x80\x80\x80\x00\x02\x11\x66\x33\x32\x2e\x73\x69\x6d\x70\x6c\x65\x5f\x78\x34\x5f\x73\x75\x6d\x00\x00\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x0a\xf6\x80\x80\x80\x00\x02\xe4\x80\x80\x80\x00\x01\x08\x7d\x20\x00\x2a\x02\x00\x21\x03\x20\x00\x2a\x02\x04\x21\x04\x20\x00\x2a\x02\x08\x21\x05\x20\x00\x2a\x02\x0c\x21\x06\x20\x01\x2a\x02\x00\x21\x07\x20\x01\x2a\x02\x04\x21\x08\x20\x01\x2a\x02\x08\x21\x09\x20\x01\x2a\x02\x0c\x21\x0a\x20\x02\x20\x03\x20\x07\x92\x38\x02\x00\x20\x02\x20\x04\x20\x08\x92\x38\x02\x04\x20\x02\x20\x05\x20\x09\x92\x38\x02\x08\x20\x02\x20\x06\x20\x0a\x92\x38\x02\x0c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2a\x02\x00\x0b\x0b\xb6\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x30\x01\x00\x00\x00\x01\x00\x00\x80\x01\x00\x00\x00\x01\x00\x00\x80\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); + +// float_exprs.wast:1391 +assert_return(() => call($60, "f32.simple_x4_sum", [0, 16, 32])); + +// float_exprs.wast:1392 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x30\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x20\x10\x00\xbc\x43\x02\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$60", $60)), "run", [])); // assert_return(() => call($60, "f32.load", [32]), 2.80259692865e-45) + +// float_exprs.wast:1393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x30\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x24\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$60", $60)), "run", [])); // assert_return(() => call($60, "f32.load", [36]), 0.) + +// float_exprs.wast:1394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x30\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x28\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$60", $60)), "run", [])); // assert_return(() => call($60, "f32.load", [40]), 1.40129846432e-45) + +// float_exprs.wast:1395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x30\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x2c\x10\x00\xbc\x43\x01\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$60", $60)), "run", [])); // assert_return(() => call($60, "f32.load", [44]), -1.40129846432e-45) + +// float_exprs.wast:1397 +let $61 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x03\x7f\x7f\x7f\x00\x60\x01\x7f\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xa0\x80\x80\x80\x00\x02\x11\x66\x36\x34\x2e\x73\x69\x6d\x70\x6c\x65\x5f\x78\x34\x5f\x73\x75\x6d\x00\x00\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x0a\xf6\x80\x80\x80\x00\x02\xe4\x80\x80\x80\x00\x01\x08\x7c\x20\x00\x2b\x03\x00\x21\x03\x20\x00\x2b\x03\x08\x21\x04\x20\x00\x2b\x03\x10\x21\x05\x20\x00\x2b\x03\x18\x21\x06\x20\x01\x2b\x03\x00\x21\x07\x20\x01\x2b\x03\x08\x21\x08\x20\x01\x2b\x03\x10\x21\x09\x20\x01\x2b\x03\x18\x21\x0a\x20\x02\x20\x03\x20\x07\xa0\x39\x03\x00\x20\x02\x20\x04\x20\x08\xa0\x39\x03\x08\x20\x02\x20\x05\x20\x09\xa0\x39\x03\x10\x20\x02\x20\x06\x20\x0a\xa0\x39\x03\x18\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2b\x03\x00\x0b\x0b\xe6\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x60\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x80\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"); + +// float_exprs.wast:1430 +assert_return(() => call($61, "f64.simple_x4_sum", [0, 32, 64])); + +// float_exprs.wast:1431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x31\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\xc0\x00\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$61", $61)), "run", [])); // assert_return(() => call($61, "f64.load", [64]), 9.88131291682e-324) + +// float_exprs.wast:1432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x31\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\xc8\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$61", $61)), "run", [])); // assert_return(() => call($61, "f64.load", [72]), 0.) + +// float_exprs.wast:1433 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x31\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\xd0\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$61", $61)), "run", [])); // assert_return(() => call($61, "f64.load", [80]), 4.94065645841e-324) + +// float_exprs.wast:1434 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x36\x31\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x41\xd8\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$61", $61)), "run", [])); // assert_return(() => call($61, "f64.load", [88]), -4.94065645841e-324) + +// float_exprs.wast:1439 +let $62 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7f\x7f\x01\x7d\x03\x83\x80\x80\x80\x00\x02\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xa1\x80\x80\x80\x00\x02\x0d\x66\x33\x32\x2e\x6b\x61\x68\x61\x6e\x5f\x73\x75\x6d\x00\x00\x0d\x66\x33\x32\x2e\x70\x6c\x61\x69\x6e\x5f\x73\x75\x6d\x00\x01\x0a\xea\x80\x80\x80\x00\x02\xb7\x80\x80\x80\x00\x01\x03\x7d\x02\x40\x03\x40\x20\x03\x20\x00\x2a\x02\x00\x20\x04\x93\x22\x04\x92\x22\x02\x20\x03\x93\x20\x04\x93\x21\x04\x20\x00\x41\x04\x6a\x21\x00\x20\x02\x21\x03\x20\x01\x41\x7f\x6a\x22\x01\x0d\x00\x0b\x0b\x20\x02\x0b\xa8\x80\x80\x80\x00\x01\x01\x7d\x02\x40\x03\x40\x20\x02\x20\x00\x2a\x02\x00\x92\x21\x02\x20\x00\x41\x04\x6a\x21\x00\x20\x01\x41\x7f\x6a\x21\x01\x20\x01\x0d\x00\x0b\x0b\x20\x02\x0b\x0b\x87\x88\x80\x80\x00\x01\x00\x41\x00\x0b\x80\x08\xc4\xc5\x57\x24\xa5\x84\xc8\x0b\x6d\xb8\x4b\x2e\xf2\x76\x17\x1c\xca\x4a\x56\x1e\x1b\x6e\x71\x22\x5d\x17\x1e\x6e\xbf\xcd\x14\x5c\xc7\x21\x55\x51\x39\x9c\x1f\xb2\x51\xf0\xa3\x93\xd7\xc1\x2c\xae\x7e\xa8\x28\x3a\x01\x21\xf4\x0a\x58\x93\xf8\x42\x77\x9f\x83\x39\x6a\x5f\xba\xf7\x0a\xd8\x51\x6a\x34\xca\xad\xc6\x34\x0e\xd8\x26\xdc\x4c\x33\x1c\xed\x29\x90\xa8\x78\x0f\xd1\xce\x76\x31\x23\x83\xb8\x35\xe8\xf2\x44\xb0\xd3\xa1\xfc\xbb\x32\xe1\xb0\xba\x69\x44\x09\xd6\xd9\x7d\xff\x2e\xc0\x5a\x36\x14\x33\x14\x3e\xa9\xfa\x87\x6d\x8b\xbc\xce\x9d\xa7\xfd\xc4\xe9\x85\x3f\xdd\xd7\xe1\x18\xa6\x50\x26\x72\x6e\x3f\x73\x0f\xf8\x12\x93\x23\x34\x61\x76\x12\x48\xc0\x9b\x05\x93\xeb\xac\x86\xde\x94\x3e\x55\xe8\x8c\xe8\xdd\xe4\xfc\x95\x47\xbe\x56\x03\x21\x20\x4c\xe6\xbf\x7b\xf6\x7f\xd5\xba\x73\x1c\xc1\x14\x8f\xc4\x27\x96\xb3\xbd\x33\xff\x78\x41\x5f\xc0\x5a\xce\xf6\x67\x6e\x73\x9a\x17\x66\x70\x03\xf8\xce\x27\xa3\x52\xb2\x9f\x3b\xbf\xfb\xae\xed\xd3\x5a\xf8\x37\x57\xf0\xf5\x6e\xef\xb1\x4d\x70\x3d\x54\xa7\x01\x9a\x85\x08\x48\x91\xf5\x9d\x0c\x60\x87\x5b\xd9\x54\x1e\x51\x6d\x88\x8e\x08\x8c\xa5\x71\x3a\x56\x08\x67\x46\x8f\x8f\x13\x2a\x2c\xec\x2c\x1f\xb4\x62\x2b\x6f\x41\x0a\xc4\x65\x42\xa2\x31\x6b\x2c\x7d\x3e\xbb\x75\xac\x86\x97\x30\xd9\x48\xcd\x9a\x1f\x56\xc4\xc6\xe4\x12\xc0\x9d\xfb\xee\x02\x8c\xce\x1c\xf2\x1e\xa1\x78\x23\xdb\xc4\x1e\x49\x03\xd3\x71\xcc\x08\x50\xc5\xd8\x5c\xed\xd5\xb5\x65\xac\xb5\xc9\x21\xd2\xc9\x29\x76\xde\xf0\x30\x1a\x5b\x3c\xf2\x3b\xdb\x3a\x39\x82\x3a\x16\x08\x6f\xa8\xf1\xbe\x69\x69\x99\x71\xa6\x05\xd3\x14\x93\x2a\x16\xf2\x2f\x11\xc7\x7e\x20\xbb\x91\x44\xee\xf8\xe4\x01\x53\xc0\xb9\x7f\xf0\xbf\xf0\x03\x9c\x6d\xb1\xdf\xa2\x44\x01\x6d\x6b\x71\x2b\x5c\xb3\x21\x19\x46\x5e\x8f\xdb\x91\xd3\x7c\x78\x6b\xb7\x12\x00\x8f\xeb\xbd\x8a\xf5\xd4\x2e\xc4\xc1\x1e\xdf\x73\x63\x59\x47\x49\x03\x0a\xb7\xcf\x24\xcf\x9c\x0e\x44\x7a\x9e\x14\xfb\x42\xbf\x9d\x39\x30\x9e\xa0\xab\x2f\xd1\xae\x9e\x6a\x83\x43\xe3\x55\x7d\x85\xbf\x63\x8a\xf8\x96\x10\x1f\xfe\x6d\xe7\x22\x1b\xe1\x69\x46\x8a\x44\xc8\xc8\xf9\x0c\x2b\x19\x07\xa5\x02\x3e\xf2\x30\x10\x9a\x85\x8a\x5f\xef\x81\x45\xa0\x77\xb1\x03\x10\x73\x4b\xae\x98\x9d\x47\xbf\x9a\x2d\x3a\xd5\x0f\x03\x66\xe3\x3d\x53\xd9\x40\xce\x1f\x6f\x32\x2f\x21\x2b\x23\x21\x6c\x62\xd4\xa7\x3e\xa8\xce\x28\x31\x2d\x00\x3d\x67\x5e\xaf\xa0\xcf\x2e\xd2\xb9\x6b\x84\xeb\x69\x08\x3c\x62\x36\xbe\x12\xfd\x36\x7f\x88\x3e\xad\xbc\x0b\xc0\x41\xc4\x50\xb6\xe3\x50\x31\xe8\xce\xe2\x96\x65\x55\x9c\x16\x46\xe6\xb0\x2d\x3a\xe8\x81\x05\xb0\xbf\x34\xf7\xbc\x10\x1c\xfb\xcc\x3c\xf1\x85\x97\x42\x9f\xeb\x14\x8d\x3c\xbf\xd7\x17\x88\x49\x9d\x8b\x2b\xb2\x3a\x83\xd1\x4f\x04\x9e\xa1\x0f\xad\x08\x9d\x54\xaf\xd1\x82\xc3\xec\x32\x2f\x02\x8f\x05\x21\x2d\xa2\xb7\xe4\xf4\x6f\x2e\x81\x2b\x0b\x9c\xfc\xcb\xfe\x74\x02\xf9\xdb\xf4\xf3\xea\x00\xa8\xec\xd1\x99\x74\x26\xdd\xd6\x34\xd5\x25\xb1\x46\xdd\x9c\xaa\x71\xf5\x60\xb0\x88\xc8\xe0\x0b\x59\x5a\x25\x4f\x29\x66\xf9\xe3\x2e\xfe\xe9\xda\xe5\x18\x4f\x27\x62\xf4\xce\xa4\x21\x95\x74\xc7\x57\x64\x27\x9a\x4c\xfd\x54\x7d\x61\xce\xc3\xac\x87\x46\x9c\xfa\xff\x09\xca\x79\x97\x67\x24\x74\xca\xd4\x21\x83\x26\x25\x19\x12\x37\x64\x19\xe5\x65\xe0\x74\x75\x8e\xdd\xc8\xef\x74\xc7\xd8\x21\x2b\x79\x04\x51\x46\x65\x60\x03\x5d\xfa\xd8\xf4\x65\xa4\x9e\x5d\x23\xda\xd7\x8a\x92\x80\xa4\xde\x78\x3c\xf1\x57\x42\x6d\xcd\xc9\x2f\xd5\xa4\x9e\xab\x40\xf4\xcb\x1b\xd7\xa3\xca\xfc\xeb\xa7\x01\xb2\x9a\x69\x4e\x46\x9b\x18\x4e\xdd\x79\xa7\xaa\xa6\x52\x39\x1e\xef\x30\xcc\x9b\xbd\x5b\xee\x4c\x21\x6d\x30\x00\x72\xb0\x46\x5f\x08\xcf\xc5\xb9\xe0\x3e\xc2\xb3\x0c\xdc\x8e\x64\xde\x19\x42\x79\xcf\x43\xea\x43\x5d\x8e\x88\xf7\xab\x15\xdc\x3f\xc8\x67\x20\xdb\xb8\x64\xb1\x47\x1f\xde\xf2\xcb\x3f\x59\x9f\xd8\x46\x90\xdc\xae\x2f\x22\xf9\xe2\x31\x89\xd9\x9c\x1c\x4c\xd3\xa9\x4a\x57\x84\x9c\x9f\xea\x2c\x3c\xae\x3c\xc3\x1e\x8b\xe5\x4e\x17\x01\x25\xdb\x34\x46\x5f\x15\xea\x05\x0c\x7c\xd9\x45\x8c\x19\xd0\x73\x8a\x96\x16\xdd\x44\xf9\x05\xb7\x5b\x71\xb0\xe6\x21\x36\x5f\x75\x89\x91\x73\x75\xab\x7d\xae\xd3\x73\xec\x37\xc6\xea\x55\x75\xef\xea\xab\x8b\x7b\x11\xdc\x6d\x1a\xb2\x6a\xc4\x25\xcf\xaa\xe3\x9f\x49\x49\x89\xcb\x37\x9b\x0a\xa7\x01\x60\x70\xdc\xb7\xc8\x83\xe1\x42\xf5\xbe\xad\x62\x94\xad\x8d\xa1"); + +// float_exprs.wast:1530 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x36\x32\x0d\x66\x33\x32\x2e\x6b\x61\x68\x61\x6e\x5f\x73\x75\x6d\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x80\x02\x10\x00\xbc\x43\x0d\x0d\x88\xf3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$62", $62)), "run", [])); // assert_return(() => call($62, "f32.kahan_sum", [0, 256]), -2.15581382462e+31) + +// float_exprs.wast:1531 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x03\x24\x36\x32\x0d\x66\x33\x32\x2e\x70\x6c\x61\x69\x6e\x5f\x73\x75\x6d\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x80\x02\x10\x00\xbc\x43\x1d\x1a\x50\xf3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$62", $62)), "run", [])); // assert_return(() => call($62, "f32.plain_sum", [0, 256]), -1.64875394721e+31) + +// float_exprs.wast:1533 +let $63 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7f\x7f\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xa1\x80\x80\x80\x00\x02\x0d\x66\x36\x34\x2e\x6b\x61\x68\x61\x6e\x5f\x73\x75\x6d\x00\x00\x0d\x66\x36\x34\x2e\x70\x6c\x61\x69\x6e\x5f\x73\x75\x6d\x00\x01\x0a\xea\x80\x80\x80\x00\x02\xb7\x80\x80\x80\x00\x01\x03\x7c\x02\x40\x03\x40\x20\x03\x20\x00\x2b\x03\x00\x20\x04\xa1\x22\x04\xa0\x22\x02\x20\x03\xa1\x20\x04\xa1\x21\x04\x20\x00\x41\x08\x6a\x21\x00\x20\x02\x21\x03\x20\x01\x41\x7f\x6a\x22\x01\x0d\x00\x0b\x0b\x20\x02\x0b\xa8\x80\x80\x80\x00\x01\x01\x7c\x02\x40\x03\x40\x20\x02\x20\x00\x2b\x03\x00\xa0\x21\x02\x20\x00\x41\x08\x6a\x21\x00\x20\x01\x41\x7f\x6a\x21\x01\x20\x01\x0d\x00\x0b\x0b\x20\x02\x0b\x0b\x87\x90\x80\x80\x00\x01\x00\x41\x00\x0b\x80\x10\x13\x05\x84\x42\x5d\xa2\x2c\xc6\x43\xdb\x55\xa9\xcd\xda\x55\xe3\x73\xfc\x58\xd6\xba\xd5\x00\xfd\x83\x35\x42\x88\x8b\x13\x5d\x38\x4a\x47\x0d\x72\x73\xa1\x1a\xef\xc4\x45\x17\x57\xd8\xc9\x46\xe0\x8d\x6c\xe1\x37\x70\xc8\x83\x5b\x55\x5e\x5a\x2d\x73\x1e\x56\xc8\xe1\x6d\x69\x14\x78\x0a\x8a\x5a\x64\x3a\x09\xc7\xa8\x87\xc5\xf0\xd3\x5d\xe6\x03\xfc\x93\xbe\x26\xca\xd6\xa9\x91\x60\xbd\xb0\xed\xae\xf7\x30\x7e\x92\x3a\x6f\xa7\x59\x8e\xaa\x7d\xbf\x67\x58\x2a\x54\xf8\x4e\xfe\xed\x35\x58\xa6\x51\xbf\x42\xe5\x4b\x66\x27\x24\x6d\x7f\x42\x2d\x28\x92\x18\xec\x08\xae\xe7\x55\xda\xb1\xa6\x65\xa5\x72\x50\x47\x1b\xb8\xa9\x54\xd7\xa6\x06\x5b\x0f\x42\x58\x83\x8a\x17\x82\xc6\x10\x43\xa0\xc0\x2e\x6d\xbc\x5a\x85\x53\x72\x7f\xad\x44\xbc\x30\x3c\x55\xb2\x24\x9a\x74\x3a\x9e\xe1\xd8\x0f\x70\xfc\xa9\x3a\xcd\x93\x4b\xec\xe3\x7e\xdd\x5d\x27\xcd\xf8\xa0\x9d\x1c\x11\xc0\x57\x2e\xfd\xc8\x13\x32\xcc\x3a\x1a\x7d\xa3\x41\x55\xed\xc3\x82\x49\x2a\x04\x1e\xef\x73\xb9\x2e\x2e\xe3\x5f\xf4\xdf\xe6\xb2\x33\x0c\x39\x3f\x6f\x44\x6a\x03\xc1\x42\xb9\xfa\xb1\xc8\xed\xa5\x58\x99\x7f\xed\xb4\x72\x9e\x79\xeb\xfb\x43\x82\x45\xaa\xbb\x95\xd2\xff\x28\x9e\xf6\xa1\xad\x95\xd6\x55\x95\x0d\x6f\x60\x11\xc7\x78\x3e\x49\xf2\x7e\x48\xf4\xa2\x71\xd0\x13\x8e\xb3\xde\x99\x52\xe3\x45\x74\xea\x76\x0e\x1b\x2a\xc8\xee\x14\x01\xc4\x50\x5b\x36\x3c\xef\xba\x72\xa2\xa6\x08\xf8\x7b\x36\x9d\xf9\xef\x0b\xc7\x56\x2d\x5c\xf0\x9d\x5d\xde\xfc\xb8\xad\x0f\x64\x0e\x97\x15\x32\x26\xc2\x31\xe6\x05\x1e\xef\xcb\x17\x1b\x6d\x15\x0b\x74\x5d\xd3\x2e\xf8\x6b\x86\xb4\xba\x73\x52\x53\x99\xa9\x76\x20\x45\xc9\x40\x80\x6b\x14\xed\xa1\xfa\x80\x46\xe6\x26\xd2\xe6\x98\xc4\x57\xbf\xc4\x1c\xa4\x90\x7a\x36\x94\x14\xba\x15\x89\x6e\xe6\x9c\x37\x8c\xf4\xde\x12\x22\x5d\xa1\x79\x50\x67\x0d\x3d\x7a\xe9\xd4\xaa\x2e\x7f\x2a\x7a\x30\x3d\xea\x5d\x12\x48\xfe\xe1\x18\xcd\xa4\x57\xa2\x87\x3e\xb6\x9a\x8b\xdb\xda\x9d\x78\x9c\xcf\x8d\xb1\x4f\x90\xb4\x34\xe0\x9d\xf6\xca\xfe\x4c\x3b\x78\x6d\x0a\x5c\x18\x9f\x61\xb9\xdd\xb4\xe0\x0f\x76\xe0\x1b\x69\x0d\x5e\x58\x73\x70\x5e\x0e\x2d\xa1\x7d\xff\x20\xeb\x91\x34\x92\xac\x38\x72\x2a\x1f\x8e\x71\x2e\x6a\xf1\xaf\xc7\x27\x70\xd9\xc4\x57\xf7\xd2\x3c\x1d\xb8\xf0\xf0\x64\xcf\xdc\xae\xbe\xa3\xcc\x3e\x22\x7d\x4e\x69\x21\x63\x17\xed\x03\x02\x54\x9a\x0f\x50\x4e\x13\x5a\x35\xa1\x22\xa4\xdf\x86\xc2\x74\x79\x16\xb8\x69\x69\xa0\x52\x5d\x11\x64\xbd\x5b\x93\xfc\x69\xa0\xf4\x13\xd0\x81\x51\xdd\xfa\x0c\x15\xc3\x7a\xc9\x62\x7a\xa9\x1d\xc9\xe6\x5a\xb3\x5b\x97\x02\x3c\x64\x22\x12\x3c\x22\x90\x64\x2d\x30\x54\x4c\xb4\xa1\x22\x09\x57\x22\x5e\x8e\x38\x2b\x02\xa8\xae\xf6\xbe\x0d\x2b\xf2\x03\xad\xfa\x10\x01\x71\x77\x2a\x30\x02\x95\xf6\x00\x3e\xd0\xc4\x8d\x34\x19\x50\x21\x0a\xbc\x50\xda\x3c\x30\xd6\x3a\x31\x94\x8d\x3a\xfe\xef\x14\x57\x9d\x4b\x93\x00\x96\x24\x0c\x6f\xfd\xbc\x23\x76\x02\x6c\xeb\x52\x72\x80\x11\x7e\x80\x3a\x13\x12\x38\x1d\x38\x49\x95\x40\x27\x8a\x44\x7b\xe8\xdc\x6d\x8c\x8c\x8e\x3c\xb5\xb3\x18\x0e\xf6\x08\x1a\x84\x41\x35\xff\x8b\xb8\x93\x40\xea\xe1\x51\x1d\x89\xa5\x8d\x42\x68\x29\xea\x2f\xc1\x7a\x52\xeb\x90\x5d\x4d\xd6\x80\xe3\xd7\x75\x48\xce\xed\xd3\x01\x1c\x8d\x5b\xa5\x94\x0d\x78\xcf\xf1\x06\x13\x2f\x98\x02\xa4\x6d\x2e\x6c\xf2\xd5\x74\x29\x89\x4c\xf9\x03\xf5\xc7\x18\xad\x7a\xf0\x68\xf8\x5c\xd6\x59\x87\x6e\xd6\x3f\x06\xbe\x86\x20\xe3\x41\x91\x22\xf3\x6e\x8b\xf0\x68\x1c\x57\xa7\xfc\xb0\x7c\x9e\x99\x0b\x96\x1a\x89\x5f\xe6\x0d\x7c\x08\x51\xa0\xa2\x67\x9a\x47\x00\x93\x6b\xf9\x28\xf0\x68\xdb\x62\xf1\xe0\x65\x2c\x53\x33\xe0\xa7\xca\x11\x42\x30\xf6\xaf\x01\xc1\x65\x3d\x32\x01\x6f\xab\x2e\xbe\xd3\x8b\xbe\x14\xc3\xff\xec\xfb\xf0\xf9\xc5\x0c\x05\x6f\x01\x09\x6b\xe3\x34\x31\x0c\x1f\x66\xa6\x42\xbc\x1a\x87\x49\x16\x16\x8c\xb0\x90\x0d\x34\x8c\x0a\xe1\x09\x5e\x10\xa4\x6b\x56\xcc\xf0\xc9\xbb\xdc\xb8\x5c\xce\xf6\xcc\x8d\x75\x7e\xb3\x07\x88\x04\x2f\xb4\x5e\xc9\xe3\x4a\x23\x73\x19\x62\x6c\x9a\x03\x76\x44\x86\x9c\x60\xfc\xdb\x72\x8f\x27\xa0\xdd\xb3\xc5\xda\xff\xf9\xec\x6a\xb1\x7b\xd3\xcf\x50\x37\xc9\x7a\x78\x0c\xe4\x3a\xb6\xf5\xe6\xf4\x98\x6e\x42\x7d\x35\x73\x8b\x45\xc0\x56\x97\xcd\x6d\xce\xcf\xad\x31\xb3\xc3\x54\xfa\xef\xd5\xc0\xf4\x6a\x5f\x54\xe7\x49\x3e\x33\x0a\x30\x38\xfd\xd9\x05\xff\xa5\x3f\x57\x46\x14\xb5\x91\x17\xca\x6b\x98\x23\x7a\x65\xb3\x6c\x02\xb4\xcc\x79\x5d\x58\xd8\xb3\xd5\x94\xae\xf4\x6d\x75\x65\xf7\x92\xbf\x7e\x47\x4c\x3c\xee\xdb\xac\xf1\x32\x5d\xfb\x6f\x41\x1c\x34\xc8\x83\x4f\xc2\x58\x01\xbe\x05\x3e\x66\x16\xa6\x04\x6d\x5d\x4f\x86\x09\x27\x82\x25\x12\xcd\x3a\xcd\xce\x6b\xbc\xca\xac\x28\x9b\xee\x6a\x25\x86\x9e\x45\x70\xc6\xd2\xbd\x3b\x7d\x42\xe5\x27\xaf\xc7\x1d\xf4\x81\xc8\xb3\x76\x8a\xa8\x36\xa3\xae\x2a\xe6\x18\xe1\x36\x22\xad\xf6\x25\x72\xb0\x39\x8b\x01\x9a\x22\x7b\x84\xc3\x2d\x5f\x72\xa4\x98\xac\x15\x70\xe7\xd4\x18\xe2\x7d\xd2\x30\x7c\x33\x08\xcd\xca\xc4\x22\x85\x88\x75\x81\xc6\x4a\x74\x58\x8d\xe0\xe8\xac\xc5\xab\x75\x5a\xf4\x28\x12\xf0\x18\x45\x52\xf2\x97\xb2\x93\x41\x6f\x8d\x7f\xdb\x70\xfb\xa3\x5d\x1f\xa7\x8d\x98\x20\x2b\x22\x9f\x3a\x01\xb5\x8b\x1b\xd2\xcb\x14\x03\x0e\x14\x14\xd2\x19\x5a\x1f\xce\x5e\xcd\x81\x79\x15\x01\xca\xde\x73\x74\x8c\x56\x20\x9f\x77\x2d\x25\x16\xf6\x61\x51\x1d\xa4\x8e\x9b\x98\xa5\xc6\xec\xa8\x45\x57\x82\x59\x78\x0d\x90\xb4\xdf\x51\xb0\xc3\x82\x94\xcc\xb3\x53\x09\x15\x6d\x96\x6c\x3a\x40\x47\xb7\x4a\x7a\x05\x2f\xa1\x1e\x8c\x9d\xa0\x20\x88\xfb\x52\xb7\x9f\xf3\xf3\xbb\x5f\xe7\x8a\x61\xa7\x21\xb1\xac\xfa\x09\xaa\xa4\x6c\xbc\x24\x80\xba\x2a\xe9\x65\xff\x70\xff\xcc\xfa\x65\x87\x76\xf3\xc5\x15\xce\xcb\xe8\x42\x31\x00\x0c\x91\x57\xd9\xe0\x9d\x35\x54\x24\xad\xa4\xd8\xf9\x08\x67\x63\xc8\xcf\x81\xdd\x90\xa2\xd7\xc4\x07\x4a\xe6\x10\x6f\x67\xe7\x27\xd4\x23\x59\x18\xf2\xa8\x9d\x5f\xd8\x94\x30\xaa\x54\x86\x4f\x87\x9d\x82\xb5\x26\xca\xa6\x96\xbf\xcf\x55\xf9\x9d\x37\x01\x19\x48\x43\xc5\x94\x6c\xf3\x74\x97\x58\x4c\x3c\x9d\x08\xe8\x04\xc2\x58\x30\x76\xe1\xa0\xf8\xea\xe9\xc5\xae\xcf\x78\x9e\xa9\x0c\xac\xb3\x44\x42\xe0\xbc\x5d\x1b\x9c\x49\x58\x4a\x1c\x19\x49\xc1\x3a\xea\xf5\xeb\x3b\x81\xa9\x4b\x70\x0c\xcc\x9e\x1a\xd3\x2f\xb7\x52\x2f\x20\x3b\xeb\x64\x51\x1d\xa0\x2d\xb2\x3e\xbe\x13\x85\x48\x92\x32\x2e\xdb\x5c\xa1\xe7\x8c\x45\x91\x35\x01\x0a\x93\xc2\xeb\x09\xce\xf3\xd2\x22\x24\xd0\x8c\xcc\x1d\x9d\x38\xc8\x4d\xe3\x82\xcc\x64\x15\x06\x2d\xe7\x01\x2f\xab\xbb\xb5\x04\x4c\x92\x1c\x7a\xd6\x3f\xe8\x5f\x31\x15\x0c\xdc\xe4\x31\xb4\xc4\x25\x3e\x2a\xaa\x00\x9e\xc8\xe5\x21\x7a\x7f\x29\xf1\xc0\xaf\x1d\x5e\xe8\x63\x39\xad\xf8\x7e\x6c\xc8\xc5\x7f\xc2\xa8\x97\x27\x0a\xd9\xf4\x21\x6a\xea\x03\x09\xfb\xf7\x96\x3b\x83\x79\x5f\x7c\x4b\x30\x9f\x56\x35\xde\xb4\x73\xd4\x95\xf0\x14\xc3\x74\x2f\x0d\xa3\x1d\x4e\x8d\x31\x24\xb3\x1a\x84\x85\x62\x5a\x7b\x3c\x14\x39\x17\xe6\x6d\xeb\x37\xc2\x00\x58\x5b\x0b\xe3\x3c\x8a\x62\xe1\xf8\x35\x4b\x56\xe2\x87\x60\x8b\xbe\xa7\x38\x91\x77\x54\xa9\x5a\x24\x25\x90\x9f\xa5\x42\x77\xf3\x5c\x39\xdf\xff\x74\x07\x76\xa1\xcd\x1f\x62\x0b\x81\x81\x68\xaf\x05\xc1\xc0\x7f\x26\xee\xc0\x91\xa3\x6a\x7d\x29\x61\x45\x27\xe5\x57\x88\xdc\x0d\x97\x04\x1a\x33\xa9\x44\x8a\xda\x02\x10\x45\x3f\x8e\x55\xa6\x76\x8c\x4d\xe3\xf1\x89\x83\xc8\xd0\xf8\x9b\x50\x77\x9f\x47\xdf\x4c\x9c\x66\x0d\xaa\x18\xb8\x5f\x4f\xc4\x01\xce\xdc\x84\xac\x46\x9e\x69\xe1\x76\x45\x6b\x61\x89\xe4\x5d\x94\xbb\x11\x83\x9f\x78\xd8\x0a\xd2\xf5\x7e\x5d\x43\xea\xbc\x10\xf1\x3a\xc9\xe2\x64\xfb\x53\x65\xd0\xc7\xb4\xa7\xfb\xd4\x05\x53\x25\xd0\xcd\x29\x88\x00\x56\x25\x24\x7d\x5d\xb4\xf3\x41\x9f\xe9\xb5\xf7\xae\x64\x2c\xe3\xc9\x6d\xd5\x84\x3a\x72\x12\xb8\x7a\xd9\x1b\x09\xe8\x38\xda\x26\x4f\x04\xce\x03\x71\x6e\x8a\x44\x7b\x5c\x81\x59\x9c\xd2\xe4\xc3\xba\x59\xa6\xe5\x28\xa7\x8f\x9a\xe4\xd5\x4e\xb9\xca\x7f\xcb\x75\xb8\x2b\x43\x3e\xb3\x15\x46\xb1\xa5\xbc\x9d\x9e\x38\x15\xf1\xbd\x1b\x21\xaa\xf1\x82\x00\x95\xfc\xa7\x77\x47\x39\xa7\x33\x43\x92\xd7\x52\x40\x4b\x06\x81\x8a\xa0\xbd\xf1\x6b\x99\x84\x42\x5b\xe2\x3b\xc5\x5e\x12\x5c\x28\x4d\xb6\x0e\x4e\xc8\x5c\xe8\x01\x8a\xc5\xe7\xe4\x9d\x42\xee\x5d\x9c\xc4\xeb\xeb\x68\x09\x27\x92\x95\x9a\x11\x54\x73\xc4\x12\x80\xfb\x7d\xfe\xc5\x08\x60\x7f\x36\x41\xe0\x10\xba\xd6\x2b\x6c\xf1\xb4\x17\xfe\x26\x34\xe3\x4b\xf8\xa8\xe3\x91\xbe\x4f\x2a\xfc\xda\x81\xb8\xe7\xfe\xd5\x26\x50\x47\xf3\x1a\x65\x32\x81\xe0\x05\xb8\x4f\x32\x31\x26\x00\x4a\x53\x97\xc2\xc3\x0e\x2e\xa1\x26\x54\xab\x05\x8e\x56\x2f\x7d\xaf\x22\x84\x68\xa5\x8b\x97\xf6\xa4\xfd\xa8\xcc\x75\x41\x96\x86\xfd\x27\x3d\x29\x86\x8d\x7f\x4c\xd4\x8e\x73\x41\xf4\x1e\xe2\xdd\x58\x27\x97\xce\x9c\x94\xcf\x7a\x04\x2f\xdc\xed"); + +// float_exprs.wast:1581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x36\x33\x0d\x66\x36\x34\x2e\x6b\x61\x68\x61\x6e\x5f\x73\x75\x6d\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x80\x02\x10\x00\xbd\x44\x88\xfc\x5f\x2a\xcb\xd7\x5d\x7e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$63", $63)), "run", [])); // assert_return(() => call($63, "f64.kahan_sum", [0, 256]), 4.99640174314e+300) + +// float_exprs.wast:1582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7f\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x03\x24\x36\x33\x0d\x66\x36\x34\x2e\x70\x6c\x61\x69\x6e\x5f\x73\x75\x6d\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x80\x02\x10\x00\xbd\x44\x87\xfc\x63\x2a\xcb\xd7\x5d\x7e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$63", $63)), "run", [])); // assert_return(() => call($63, "f64.plain_sum", [0, 256]), 4.9964017433e+300) + +// float_exprs.wast:1586 +let $64 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x0a\x9b\x80\x80\x80\x00\x02\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x93\x8c\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa1\x9a\x0b"); + +// float_exprs.wast:1594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f32.no_fold_neg_sub", [-0., -0.]), -0.) + +// float_exprs.wast:1595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f32.no_fold_neg_sub", [0., -0.]), -0.) + +// float_exprs.wast:1596 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f32.no_fold_neg_sub", [-0., 0.]), 0.) + +// float_exprs.wast:1597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f32.no_fold_neg_sub", [0., 0.]), -0.) + +// float_exprs.wast:1599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f64.no_fold_neg_sub", [-0., -0.]), -0.) + +// float_exprs.wast:1600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f64.no_fold_neg_sub", [0., -0.]), -0.) + +// float_exprs.wast:1601 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f64.no_fold_neg_sub", [-0., 0.]), 0.) + +// float_exprs.wast:1602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x34\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$64", $64)), "run", [])); // assert_return(() => call($64, "f64.no_fold_neg_sub", [0., 0.]), -0.) + +// float_exprs.wast:1606 +let $65 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x0a\x9b\x80\x80\x80\x00\x02\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x8c\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x9a\x0b"); + +// float_exprs.wast:1614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f32.no_fold_neg_add", [-0., -0.]), 0.) + +// float_exprs.wast:1615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f32.no_fold_neg_add", [0., -0.]), -0.) + +// float_exprs.wast:1616 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f32.no_fold_neg_add", [-0., 0.]), -0.) + +// float_exprs.wast:1617 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f32.no_fold_neg_add", [0., 0.]), -0.) + +// float_exprs.wast:1619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f64.no_fold_neg_add", [-0., -0.]), 0.) + +// float_exprs.wast:1620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f64.no_fold_neg_add", [0., -0.]), -0.) + +// float_exprs.wast:1621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f64.no_fold_neg_add", [-0., 0.]), -0.) + +// float_exprs.wast:1622 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x35\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$65", $65)), "run", [])); // assert_return(() => call($65, "f64.no_fold_neg_add", [0., 0.]), -0.) + +// float_exprs.wast:1626 +let $66 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb5\x80\x80\x80\x00\x02\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x00\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x0a\x9d\x80\x80\x80\x00\x02\x89\x80\x80\x80\x00\x00\x20\x00\x8c\x20\x01\x8c\x92\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x9a\x20\x01\x9a\xa0\x0b"); + +// float_exprs.wast:1634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f32.no_fold_add_neg_neg", [-0., -0.]), 0.) + +// float_exprs.wast:1635 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f32.no_fold_add_neg_neg", [0., -0.]), 0.) + +// float_exprs.wast:1636 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f32.no_fold_add_neg_neg", [-0., 0.]), 0.) + +// float_exprs.wast:1637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f32.no_fold_add_neg_neg", [0., 0.]), -0.) + +// float_exprs.wast:1639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f64.no_fold_add_neg_neg", [-0., -0.]), 0.) + +// float_exprs.wast:1640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f64.no_fold_add_neg_neg", [0., -0.]), 0.) + +// float_exprs.wast:1641 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f64.no_fold_add_neg_neg", [-0., 0.]), 0.) + +// float_exprs.wast:1642 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x36\x36\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$66", $66)), "run", [])); // assert_return(() => call($66, "f64.no_fold_add_neg_neg", [0., 0.]), -0.) + +// float_exprs.wast:1646 +let $67 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x0a\x9b\x80\x80\x80\x00\x02\x88\x80\x80\x80\x00\x00\x20\x00\x8c\x20\x00\x92\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x9a\x20\x00\xa0\x0b"); + +// float_exprs.wast:1654 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return(() => call($67, "f32.no_fold_add_neg", [0.]), 0.) + +// float_exprs.wast:1655 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return(() => call($67, "f32.no_fold_add_neg", [-0.]), 0.) + +// float_exprs.wast:1656 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return_canonical_nan(() => call($67, "f32.no_fold_add_neg", [Infinity])) + +// float_exprs.wast:1657 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return_canonical_nan(() => call($67, "f32.no_fold_add_neg", [-Infinity])) + +// float_exprs.wast:1659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return(() => call($67, "f64.no_fold_add_neg", [0.]), 0.) + +// float_exprs.wast:1660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return(() => call($67, "f64.no_fold_add_neg", [-0.]), 0.) + +// float_exprs.wast:1661 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return_canonical_nan(() => call($67, "f64.no_fold_add_neg", [Infinity])) + +// float_exprs.wast:1662 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x37\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$67", $67)), "run", [])); // assert_return_canonical_nan(() => call($67, "f64.no_fold_add_neg", [-Infinity])) + +// float_exprs.wast:1666 +let $68 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb3\x80\x80\x80\x00\x02\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x00\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x0a\xb1\x80\x80\x80\x00\x02\x93\x80\x80\x80\x00\x00\x20\x00\x20\x00\x92\x20\x00\x92\x20\x00\x92\x20\x00\x92\x20\x00\x92\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa0\x20\x00\xa0\x20\x00\xa0\x20\x00\xa0\x20\x00\xa0\x0b"); + +// float_exprs.wast:1680 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x06\xc5\x2c\xf1\x10\x00\xbc\x43\xc5\x93\x81\xf2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f32.no_fold_6x_via_add", [-8.55513734559e+29]), -5.13308270959e+30) + +// float_exprs.wast:1681 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xd6\xf3\x69\x99\x10\x00\xbc\x43\xe1\x76\xaf\x9a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f32.no_fold_6x_via_add", [-1.20950599457e-23]), -7.25703628298e-23) + +// float_exprs.wast:1682 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x7d\x00\x19\x10\x00\xbc\x43\x81\xbb\x40\x1a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f32.no_fold_6x_via_add", [6.64268923825e-24]), 3.98561338518e-23) + +// float_exprs.wast:1683 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x1a\xfa\x28\xb0\x10\x00\xbc\x43\x26\x77\x7d\xb1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f32.no_fold_6x_via_add", [-6.1473459656e-10]), -3.68840735732e-09) + +// float_exprs.wast:1684 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x45\x19\x80\xe7\x10\x00\xbc\x43\xe7\x25\xc0\xe8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f32.no_fold_6x_via_add", [-1.20985810077e+24]), -7.25914831637e+24) + +// float_exprs.wast:1686 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xe6\xff\xca\x5a\xe1\x10\x33\xc4\x10\x00\xbd\x44\xda\x7f\x30\x08\x52\x99\x5c\xc4\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f64.no_fold_6x_via_add", [-3.51704490603e+20]), -2.11022694362e+21) + +// float_exprs.wast:1687 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xb4\xa9\x8f\xc7\x62\xad\x8a\x9e\x10\x00\xbd\x44\x46\xbf\xab\x15\x0a\x02\xb4\x9e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f64.no_fold_6x_via_add", [-1.48242941099e-161]), -8.89457646592e-161) + +// float_exprs.wast:1688 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xb2\x6a\x4f\xa9\xbf\x8f\xef\xd0\x10\x00\xbd\x44\x05\x90\xfb\xbe\xcf\xab\x17\xd1\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f64.no_fold_6x_via_add", [-7.48456783878e+81]), -4.49074070327e+82) + +// float_exprs.wast:1689 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x8e\x0a\x83\xc2\xcc\x56\xe7\x6e\x10\x00\xbd\x44\xeb\x47\xe2\x91\x19\x81\x11\x6f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f64.no_fold_6x_via_add", [1.72778681929e+226]), 1.03667209158e+227) + +// float_exprs.wast:1690 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x36\x38\x16\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x36\x78\x5f\x76\x69\x61\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x2a\x40\xd2\xb1\x1a\xfd\x98\xce\x10\x00\xbd\x44\x1f\xb0\x5d\x05\xd4\xbd\xc2\xce\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$68", $68)), "run", [])); // assert_return(() => call($68, "f64.no_fold_6x_via_add", [-4.31163975252e+70]), -2.58698385151e+71) + +// float_exprs.wast:1695 +let $69 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x00\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x20\x02\x95\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x20\x02\xa3\x0b"); + +// float_exprs.wast:1703 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x14\x81\xfb\xe6\x43\x09\xe3\xfd\xb7\x43\xc8\x1b\xc6\xc4\x10\x00\xbc\x43\x1e\xda\x23\xe9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f32.no_fold_div_div", [-5.93847529169e+23, -3.02656717395e-05, -1584.86816406]), -1.23803086183e+25) + +// float_exprs.wast:1704 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x97\x4e\xe9\x1c\x43\xbf\xd0\xf9\x76\x43\x08\x6a\xb2\x87\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f32.no_fold_div_div", [1.54389616165e-21, 2.53342928037e+33, -2.68447828568e-34]), -0.) + +// float_exprs.wast:1705 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xcc\x3f\x43\x55\x43\x7e\x56\x18\x0b\x43\x6c\x08\x71\x74\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f32.no_fold_div_div", [1.34174233068e+13, 2.93392046445e-32, 7.638637444e+31]), Infinity) + +// float_exprs.wast:1706 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x0d\x00\xe2\xb8\x43\xb6\xf5\xcd\xfd\x43\xa6\x79\x3a\xaa\x10\x00\xbc\x43\x3a\xcc\xc0\x8f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f32.no_fold_div_div", [-0.000107765292341, -3.42209429081e+37, -1.65623238865e-13]), -1.90113269357e-29) + +// float_exprs.wast:1707 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x37\x87\xed\x56\x43\x51\xf7\xaa\x5b\x43\xa0\x89\xf9\xfd\x10\x00\xbc\x43\x38\x5b\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f32.no_fold_div_div", [1.30582499557e+14, 9.62453466104e+16, -4.14615451007e+37]), -3.27231217389e-41) + +// float_exprs.wast:1709 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x77\x77\x3c\xec\xc8\x4d\x0b\x55\x44\x30\x86\xd1\xc2\x5a\xf9\x79\x64\x44\x1e\x34\xba\xab\x18\x43\x1d\x8f\x10\x00\xbd\x44\x02\x7e\xd8\x59\x91\x64\x52\xe1\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f64.no_fold_div_div", [4.77762874671e+101, 1.0278672042e+176, -7.18999894989e-236]), -6.46467301188e+160) + +// float_exprs.wast:1710 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x5f\x44\xeb\xf5\x3a\xc5\x6a\xf1\x44\x13\xeb\x4c\x0a\x9c\x54\x28\x3e\x44\x01\xc8\x03\x40\x38\x4e\xb6\x53\x10\x00\xbd\x44\x91\xae\xcb\xdc\x7c\x41\x69\xdf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f64.no_fold_div_div", [-2.17902367839e+238, 2.83244368446e-09, 1.8611076826e+95]), -4.13360680799e+151) + +// float_exprs.wast:1711 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x27\x73\xb2\xaf\x85\x26\x1d\xc0\x44\xeb\xdb\xd3\xee\x1e\xbb\xfa\xf6\x44\xa3\x68\x69\x2e\x3e\x54\x9a\x4a\x10\x00\xbd\x44\x5f\x9a\xa6\x02\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f64.no_fold_div_div", [-7.28761934783, -1.34676073167e+265, 2.46271900701e+51]), 2.19725454007e-316) + +// float_exprs.wast:1712 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x1c\xad\x78\xde\xde\x7d\x84\xf3\x44\x67\xa3\x70\xd0\x32\xd9\xa6\x0c\x44\x00\x4f\xc6\x8c\xf1\x9c\x07\x7c\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f64.no_fold_div_div", [-2.86552397863e+248, 1.02119803706e-247, 2.87645864833e+289]), -Infinity) + +// float_exprs.wast:1713 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x36\x39\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x79\x93\x9a\x97\xd4\x73\x7f\x88\x44\x88\x77\xe9\x53\x3b\xd8\xb4\x1a\x44\x5b\x3b\x60\xc9\x86\x8f\x4f\xb7\x10\x00\xbd\x44\x6c\x58\x9c\xd8\x7b\x7a\x58\x36\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$69", $69)), "run", [])); // assert_return(() => call($69, "f64.no_fold_div_div", [-9.52573560266e-268, 5.02339488166e-180, -2.83045702282e-42]), 6.69953467497e-47) + +// float_exprs.wast:1719 +let $70 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x91\x80\x80\x80\x00\x02\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x20\x02\x20\x03\x95\x94\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x20\x02\x20\x03\xa3\xa2\x0b"); + +// float_exprs.wast:1727 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xdf\x41\x62\x89\x43\x1e\x0e\xf7\x11\x43\xab\x03\xc0\x13\x43\xb9\xdc\xca\xc1\x10\x00\xbc\x43\x86\xe9\xdd\x08\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f32.no_fold_mul_divs", [-2.72347329039e-33, 3.89784291064e-28, 4.84712309132e-27, -25.3577747345]), 1.33558547747e-33) + +// float_exprs.wast:1728 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x31\xa1\x87\xf2\x43\x4c\x42\x12\x4c\x43\x3e\x35\x7b\x37\x43\xe4\xbf\x44\x3e\x10\x00\xbc\x43\x52\x8d\x17\xdf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f32.no_fold_mul_divs", [-5.37284413169e+30, 38340912., 1.49731622514e-05, 0.192138254642]), -1.09204748314e+19) + +// float_exprs.wast:1729 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x91\xaf\x6f\xd0\x43\x1f\x77\x7e\xd3\x43\x8a\x54\x4f\xce\x43\x98\x26\x96\xc4\x10\x00\xbc\x43\x8e\x7a\x26\x46\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f32.no_fold_mul_divs", [-16085042176., -1.0929202135e+12, -869606016., -1201.20605469]), 10654.6386719) + +// float_exprs.wast:1730 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x5e\xb4\x7a\xf6\x43\x18\xcb\xec\x2e\x43\x3d\xd4\x9b\x37\x43\x25\xa9\xd0\x66\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f32.no_fold_mul_divs", [-1.27122314044e+33, 1.07681141781e-10, 1.85762710316e-05, 4.92686197158e+23]), -Infinity) + +// float_exprs.wast:1731 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\xc9\xea\x1e\x25\x43\x11\x96\x99\x9f\x43\x32\x08\x58\x12\x43\x9d\x5d\xc9\x2d\x10\x00\xbc\x43\xd8\x16\x8e\xa9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f32.no_fold_mul_divs", [1.37838637654e-16, -6.50462845086e-20, 6.81676837137e-28, 2.28926270301e-11]), -6.31002953881e-14) + +// float_exprs.wast:1733 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x12\x7b\x4f\x76\xd6\x63\xc3\x8c\x44\x5f\x0b\x66\x1f\x47\xd5\xfe\xa2\x44\x20\xa4\xf3\xa7\xb0\x71\x26\xe2\x44\xf2\xa1\x4b\xe3\x3b\x63\x90\x4b\x10\x00\xbd\x44\xeb\xae\x6b\xb7\xa2\x8f\x4b\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f64.no_fold_mul_divs", [-3.46649980523e-247, -4.04556751225e-140, -6.46234107061e+164, 1.00455895334e+56]), -55.1221532131) + +// float_exprs.wast:1734 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\xa8\x0f\x2e\x18\x80\x78\x23\xc7\x44\x47\x61\x57\x31\x26\x84\x7f\x06\x44\x56\xd1\x31\x22\x37\x99\x99\xd6\x44\x54\x95\xab\x81\xb4\x5d\x2d\xdd\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f64.no_fold_mul_divs", [-5.05488390764e+34, 2.222378165e-277, -1.50297903711e+109, -6.99412375954e+140]), -Infinity) + +// float_exprs.wast:1735 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x41\xb5\xd4\xc8\x47\xa7\x39\xd3\x44\xc8\xbd\x6b\xad\x92\x90\xf9\xcb\x44\x01\x01\xc2\x55\x37\xb2\x3c\xb7\x44\x6a\x0b\x6b\x6f\x71\xe8\xbd\xed\x10\x00\xbd\x44\xa5\x66\x84\x4c\x58\xcf\xae\x10\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f64.no_fold_mul_divs", [-8.36111653634e+92, -1.00295288761e+58, -1.2867801766e-42, -4.22302777469e+220]), 2.54017810056e-228) + +// float_exprs.wast:1736 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x3d\x90\xce\x2e\x4b\x42\x0c\xc8\x44\x7f\xb3\x1d\x28\xce\x68\x45\xaa\x44\xd0\xd3\x9f\xb9\x00\x39\x25\x04\x44\xad\x4d\x25\x52\x39\xc3\xe5\x4d\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f64.no_fold_mul_divs", [-1.20200321164e+39, -4.66740977134e-105, 1.08886523765e-288, 1.83349486665e+67]), 0.) + +// float_exprs.wast:1737 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x30\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\xa9\x32\xcb\xce\xc2\x8e\xda\x3e\x44\x51\x18\x05\xb0\xca\x8a\xa5\x2e\x44\x7f\x7f\x07\xc9\x87\x5e\x33\x19\x44\x86\xb3\xff\x37\xee\x25\xf9\xd5\x10\x00\xbd\x44\xbf\x31\x0b\x97\x86\x62\x5e\x93\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$70", $70)), "run", [])); // assert_return(() => call($70, "f64.no_fold_mul_divs", [6.33183956884e-06, 5.54447424191e-84, 2.78224724804e-187, -1.44193210819e+106]), -2.20353747707e-215) + +// float_exprs.wast:1741 +let $71 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x00\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x0a\xa5\x80\x80\x80\x00\x02\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\x95\x20\x01\x20\x02\x95\x92\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\xa3\x20\x01\x20\x02\xa3\xa0\x0b"); + +// float_exprs.wast:1749 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x38\xaf\xbc\x43\x43\xf7\x52\x24\xbd\x43\x26\x12\xcd\xfe\x10\x00\xbc\x43\xdb\x84\x6b\x84\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f32.no_fold_add_divs", [377.368896484, -0.0401181839406, -1.36292985605e+38]), -2.76851214838e-36) + +// float_exprs.wast:1750 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xf4\x44\x57\xa0\x43\x1f\xc8\x74\xa7\x43\x46\x85\x1b\xd7\x10\x00\xbc\x43\xfb\x79\xc9\x0f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f32.no_fold_add_divs", [-1.82340230412e-19, -3.39702881134e-15, -1.70996707361e+14]), 1.98671154112e-29) + +// float_exprs.wast:1751 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x04\x32\xb1\xa8\x43\xd9\x72\x97\x1f\x43\xd5\x77\xf6\xd7\x10\x00\xbc\x43\x32\x0c\x38\x10\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f32.no_fold_add_divs", [-1.96726383556e-14, 6.4140987027e-20, -5.41989070176e+14]), 3.62969965672e-29) + +// float_exprs.wast:1752 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x98\x0e\x03\x8d\x43\x49\x1a\x9c\x0e\x43\x69\xc9\x8e\xeb\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f32.no_fold_add_divs", [-4.03850582219e-31, 3.84822808143e-30, -3.45237197913e+26]), 0.) + +// float_exprs.wast:1753 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\xcf\x51\x8f\x3a\x43\xff\xff\x53\x3e\x43\xba\xe2\x37\x02\x10\x00\xbc\x43\x6f\x59\x94\x7b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f32.no_fold_add_divs", [0.00109344150405, 0.207031235099, 1.35097839699e-37]), 1.54054772769e+36) + +// float_exprs.wast:1755 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x36\xb1\x73\x32\xcc\x5f\xdc\xda\x44\x6f\x8f\xed\x9e\xa0\x92\x18\x5b\x44\x97\x43\xe6\x71\x8b\x25\xe8\x78\x10\x00\xbd\x44\x82\xad\x06\x97\xeb\x36\x1e\x22\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f64.no_fold_add_divs", [-4.91701943214e+129, 6.8132156322e+130, 2.61254101002e+274]), 2.41968017525e-144) + +// float_exprs.wast:1756 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xb3\xb5\x61\x40\x5d\x21\x42\xc3\x44\x7c\xf2\x97\x4d\x18\xb6\x4f\x40\x44\xeb\xc0\xac\x9d\xb5\x3b\x2f\x84\x10\x00\xbd\x44\xe3\x8b\x11\xb0\x4e\x93\x02\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f64.no_fold_add_divs", [-1.02064679532e+16, 63.4226166717, -1.60247478698e-288]), 6.36919097645e+303) + +// float_exprs.wast:1757 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x8e\x1d\x74\x33\x45\x7a\x8e\x83\x44\x02\xb8\xfe\xb7\x9b\x51\xfa\x02\x44\x1a\xe5\x54\x34\xa4\xf8\x71\x5f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f64.no_fold_add_divs", [-1.52705696331e-291, 2.57555033292e-294, 5.88269391642e+151]), 0.) + +// float_exprs.wast:1758 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\xb4\xe2\x93\xcf\xc6\x91\x89\x53\x44\x11\x8d\x69\x32\x74\x2f\x8f\xd4\x44\x17\x36\x45\xb2\xc1\xd8\x10\x38\x10\x00\xbd\x44\xd4\xd1\xdd\x84\x1d\x9e\x6d\xdc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f64.no_fold_add_divs", [2.66679648744e+94, -2.13156925249e+99, 1.23770045187e-38]), -1.72217969325e+137) + +// float_exprs.wast:1759 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x37\x31\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x64\x69\x76\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x71\x12\xdc\x49\x68\x43\x7d\x92\x44\x2d\xe5\x50\x14\x1c\x9d\xc1\x10\x44\xfe\x06\xea\x69\xbe\xa1\x9f\x3b\x10\x00\xbd\x44\x23\x56\x2f\x1c\x9b\x9a\xcd\x96\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$71", $71)), "run", [])); // assert_return(() => call($71, "f64.no_fold_add_divs", [-1.29528883773e-219, 5.8087692599e-228, 1.67457416994e-21]), -7.73503410699e-199) + +// float_exprs.wast:1763 +let $72 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb5\x80\x80\x80\x00\x02\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x00\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x0a\x9b\x80\x80\x80\x00\x02\x88\x80\x80\x80\x00\x00\x20\x00\x20\x00\x94\x91\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa2\x9f\x0b"); + +// float_exprs.wast:1771 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x8b\x59\xae\x9e\x10\x00\xbc\x43\x91\x59\xae\x1e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f32.no_fold_sqrt_square", [-1.84600007067e-20]), 1.84600104002e-20) + +// float_exprs.wast:1772 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xf2\x7c\x58\x9b\x10\x00\xbc\x43\xd9\x08\x59\x1b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f32.no_fold_sqrt_square", [-1.7907473239e-22]), 1.79526781243e-22) + +// float_exprs.wast:1773 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xbe\x20\x6f\x9c\x10\x00\xbc\x43\xdc\x32\x6f\x1c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f32.no_fold_sqrt_square", [-7.91207848456e-22]), 7.91442007616e-22) + +// float_exprs.wast:1774 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x39\x64\xb2\x14\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f32.no_fold_sqrt_square", [1.80129377322e-26]), 0.) + +// float_exprs.wast:1775 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xf2\xcc\xf0\x75\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f32.no_fold_sqrt_square", [6.10501968175e+32]), Infinity) + +// float_exprs.wast:1777 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xfd\x03\x72\x65\x9d\x75\xe1\x1e\x10\x00\xbd\x44\xf3\x45\x75\xd5\x9d\x75\xe1\x1e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f64.no_fold_sqrt_square", [6.20929716775e-160]), 6.20929954218e-160) + +// float_exprs.wast:1778 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x83\x8d\xc7\xe1\x8d\xc6\xd4\x9f\x10\x00\xbd\x44\x81\x8d\xc7\xe1\x8d\xc6\xd4\x1f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f64.no_fold_sqrt_square", [-2.42111753037e-155]), 2.42111753037e-155) + +// float_exprs.wast:1779 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x1e\x6e\xdb\x6e\x73\x14\x62\x9f\x10\x00\xbd\x44\x8d\xcf\xd9\x6e\x73\x14\x62\x1f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f64.no_fold_sqrt_square", [-1.64606876119e-157]), 1.64606876115e-157) + +// float_exprs.wast:1780 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x70\x45\x68\x9f\x4b\x86\x70\x99\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f64.no_fold_sqrt_square", [-3.79781161338e-186]), 0.) + +// float_exprs.wast:1781 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x32\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x71\x72\x74\x5f\x73\x71\x75\x61\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xba\x5a\x99\x55\x98\x2a\x7b\x75\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$72", $72)), "run", [])); // assert_return(() => call($72, "f64.no_fold_sqrt_square", [8.15808428461e+257]), Infinity) + +// float_exprs.wast:1785 +let $73 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb1\x80\x80\x80\x00\x02\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x00\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x0a\x9d\x80\x80\x80\x00\x02\x89\x80\x80\x80\x00\x00\x20\x00\x91\x20\x01\x91\x94\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x9f\x20\x01\x9f\xa2\x0b"); + +// float_exprs.wast:1793 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xd4\xee\x6e\x01\x43\x15\xe9\x12\x96\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return_canonical_nan(() => call($73, "f32.no_fold_mul_sqrts", [4.38850469474e-38, -1.18673337983e-25])) + +// float_exprs.wast:1794 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x8a\xc6\xa0\x11\x43\xae\x29\xe3\x2f\x10\x00\xbc\x43\x9d\x1b\xbf\x20\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f32.no_fold_mul_sqrts", [2.53659081113e-28, 4.13206746597e-10]), 3.23749315218e-19) + +// float_exprs.wast:1795 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf0\xf3\xa6\x13\x43\x8c\x7f\xc2\x42\x10\x00\xbc\x43\x34\x33\x34\x2b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f32.no_fold_mul_sqrts", [4.21448322317e-27, 97.2491149902]), 6.40199048288e-13) + +// float_exprs.wast:1796 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x8f\x04\x3c\x72\x43\x5c\xff\x40\x3b\x10\x00\xbc\x43\xcc\x7d\xbe\x56\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f32.no_fold_mul_sqrts", [3.72407634228e+30, 0.00294490810484]), 1.04723751371e+14) + +// float_exprs.wast:1797 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x1d\xac\x23\x43\x15\x5d\x0a\x3b\x10\x00\xbc\x43\x47\x3d\x5a\x2f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f32.no_fold_mul_sqrts", [1.86605593445e-17, 0.00211126101203]), 1.98487545844e-10) + +// float_exprs.wast:1799 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\xbe\xcd\x28\xcc\x44\x11\x4d\x98\x44\x6a\x3b\x3d\x37\xbc\xf9\x7b\xbf\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return_canonical_nan(() => call($73, "f64.no_fold_mul_sqrts", [-1.27420643698e-191, -0.0068299629382])) + +// float_exprs.wast:1800 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xc9\xeb\x6b\x97\xeb\xa7\xc5\x17\x44\xca\xa4\x65\x88\xcb\x30\xbf\x26\x10\x00\xbd\x44\x76\x6e\x2d\x03\xa1\x60\x42\x1f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f64.no_fold_mul_sqrts", [3.70825692695e-194, 4.7183002857e-122]), 4.18290206889e-158) + +// float_exprs.wast:1801 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x35\x79\x70\xc1\xa0\x11\x67\x3a\x44\xd3\x20\x1a\xe5\x5d\xfb\xe6\x06\x10\x00\xbd\x44\xec\x31\x8e\xa2\x7c\x06\xa7\x20\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f64.no_fold_mul_sqrts", [2.32935950592e-27, 2.07433996428e-275]), 2.19815457016e-151) + +// float_exprs.wast:1802 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x76\xb0\x33\xea\xbb\xb0\x4f\x29\x44\x58\x41\x89\x34\x3b\x96\x2d\x1c\x10\x00\xbd\x44\xaf\x24\xa6\x1f\xdc\x9e\xbe\x22\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f64.no_fold_mul_sqrts", [1.05418993363e-109, 5.98123819873e-173]), 2.51104780913e-141) + +// float_exprs.wast:1803 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x33\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x0d\x4d\x7a\xab\x6e\x67\x78\x41\x44\xa5\xa7\x1b\x23\x58\x5a\x07\x60\x10\x00\xbd\x44\xb3\x03\xe2\xeb\x6a\xe1\xc0\x50\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$73", $73)), "run", [])); // assert_return(() => call($73, "f64.no_fold_mul_sqrts", [25589482.7174, 3.91389120712e+154]), 1.00077195905e+81) + +// float_exprs.wast:1807 +let $74 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb1\x80\x80\x80\x00\x02\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x00\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x0a\x9d\x80\x80\x80\x00\x02\x89\x80\x80\x80\x00\x00\x20\x00\x91\x20\x01\x91\x95\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x9f\x20\x01\x9f\xa3\x0b"); + +// float_exprs.wast:1815 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x43\xdd\x54\x5f\xcc\x43\xb7\xbb\xed\xa2\x10\x00\xbc\x41\xff\xff\xff\xff\x07\x71\x41\x80\x80\x80\xfe\x07\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return_canonical_nan(() => call($74, "f32.no_fold_div_sqrts", [-58545012., -6.44377295414e-18])) + +// float_exprs.wast:1816 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\xc1\xdc\x4f\x43\x8f\x0f\x48\x4d\x10\x00\xbc\x43\xfb\x26\xbe\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f32.no_fold_div_sqrts", [7407384064., 209778928.]), 5.942258358) + +// float_exprs.wast:1817 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x39\x2f\xea\x03\x43\xe6\xa4\x55\x47\x10\x00\xbc\x43\x82\x85\xbd\x1d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f32.no_fold_div_sqrts", [1.37641256948e-36, 54692.8984375]), 5.01659272899e-21) + +// float_exprs.wast:1818 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x22\x72\x59\x5d\x43\x8b\xc5\xad\x30\x10\x00\xbc\x43\x54\x7e\xca\x55\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f32.no_fold_div_sqrts", [9.79288964811e+17, 1.26435517611e-09]), 2.7830490497e+13) + +// float_exprs.wast:1819 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x53\xad\xc1\x07\x43\x94\xb8\x68\x0c\x10\x00\xbc\x43\x40\x23\x25\x3d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f32.no_fold_div_sqrts", [2.91412832627e-34, 1.7928174343e-31]), 0.0403168201447) + +// float_exprs.wast:1821 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xbd\x80\x80\x80\x00\x01\xb7\x80\x80\x80\x00\x00\x02\x40\x44\x67\x11\x41\x16\xfc\x09\x85\x93\x44\x17\x65\x5d\x5f\x25\xc4\x49\xb4\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return_canonical_nan(() => call($74, "f64.no_fold_div_sqrts", [-1.22061373199e-214, -8.20958344968e-57])) + +// float_exprs.wast:1822 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x60\xc7\xda\xbd\x97\x68\x4b\x1b\x44\xf3\x91\x4c\x8b\x57\x04\xc1\x61\x10\x00\xbd\x44\xc9\x6c\xf2\x21\x4f\x4e\xb4\x1c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f64.no_fold_div_sqrts", [3.38188524623e-177, 7.65578397632e+162]), 2.10176714257e-170) + +// float_exprs.wast:1823 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x89\x89\xb0\x51\x34\xc8\xaa\x60\x44\xb8\x12\x6d\x5c\x57\xda\x28\x39\x10\x00\xbd\x44\x17\xce\x91\x39\x00\x9c\xb0\x53\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f64.no_fold_div_sqrts", [4.59633356706e+157, 2.39324678469e-33]), 1.38583660173e+95) + +// float_exprs.wast:1824 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x17\x64\x45\x36\x78\xab\x5b\x0d\x44\x07\xa6\x3b\xd0\x60\xff\x21\x52\x10\x00\xbd\x44\x57\xf6\x3b\x83\x6c\x0e\x8c\x1d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f64.no_fold_div_sqrts", [2.53273409787e-244, 4.47530512996e+87]), 2.37893991413e-166) + +// float_exprs.wast:1825 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x9d\x80\x80\x80\x00\x01\x03\x24\x37\x34\x15\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x71\x72\x74\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x15\x95\xad\x16\x78\x95\xaa\x0e\x44\xb1\x2a\x22\x3a\x8a\xc1\x08\x7b\x10\x00\xbd\x44\x92\x1e\x78\x39\x85\x94\xc0\x09\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$74", $74)), "run", [])); // assert_return(() => call($74, "f64.no_fold_div_sqrts", [5.1030701602e-238, 4.60157669098e+284]), 1.05308260099e-261) + +// float_exprs.wast:1829 +let $75 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb7\x80\x80\x80\x00\x02\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x00\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x0a\xa1\x80\x80\x80\x00\x02\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x91\x94\x20\x01\x95\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x9f\xa2\x20\x01\xa3\x0b"); + +// float_exprs.wast:1837 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe5\x53\x7a\xe8\x43\x6f\x4d\xe0\x6d\x10\x00\xbc\x43\x00\x00\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f32.no_fold_mul_sqrt_div", [-4.72855680666e+24, 8.67728170885e+27]), -Infinity) + +// float_exprs.wast:1838 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x8e\x5f\xc8\x83\x43\x44\xdf\x46\x0f\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f32.no_fold_mul_sqrt_div", [-1.17768817886e-36, 9.80515309738e-30]), -0.) + +// float_exprs.wast:1839 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x74\xb8\x42\x4e\x43\xa6\x2f\x24\x00\x10\x00\xbc\x43\x8d\x1c\x37\x6e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f32.no_fold_mul_sqrt_div", [816717056., 3.32317090036e-39]), 1.41675681435e+28) + +// float_exprs.wast:1840 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x29\xa3\x2d\xd5\x43\x8e\xeb\xd4\x77\x10\x00\xbc\x43\x1d\xa1\x06\xb9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f32.no_fold_mul_sqrt_div", [-1.19322674463e+13, 8.63706680207e+33]), -0.000128392552142) + +// float_exprs.wast:1841 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x02\x83\xc8\xc3\x43\x89\x54\x06\x43\x10\x00\xbc\x43\xf6\x66\x0a\xc2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f32.no_fold_mul_sqrt_div", [-401.023498535, 134.330215454]), -34.6005477905) + +// float_exprs.wast:1843 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x5f\x30\x57\xb8\xde\xdc\x91\x6b\x44\xb9\x0e\xc4\x71\x61\x06\x5a\x6f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f64.no_fold_mul_sqrt_div", [1.46813462291e+210, 2.46607458229e+228]), Infinity) + +// float_exprs.wast:1844 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xab\xe2\x18\xc2\xf1\xb4\x48\x8c\x44\x0b\x3b\x95\x65\xee\xe1\x25\x16\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f64.no_fold_mul_sqrt_div", [-1.72540220168e-249, 5.58355407471e-202]), -0.) + +// float_exprs.wast:1845 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x38\xba\xdd\x31\xe5\x4e\x67\x25\x44\xf3\x57\x88\x75\x0f\x37\xff\x62\x10\x00\xbd\x44\x3e\x58\x69\x42\xf3\xaf\xe0\x13\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f64.no_fold_mul_sqrt_div", [1.6812810256e-128, 7.36278360244e+168]), 6.19611248619e-213) + +// float_exprs.wast:1846 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xc5\xa6\x0d\x6b\x21\x7f\xf2\xd5\x44\x7e\xfd\xb9\xe0\xb4\xe0\xc8\x21\x10\x00\xbd\x44\x4e\x51\xad\x8a\x55\xfa\x04\xe5\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f64.no_fold_mul_sqrt_div", [-1.06054837299e+106, 6.22591783694e-146]), -4.25039008222e+178) + +// float_exprs.wast:1847 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x37\x35\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x73\x71\x72\x74\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x2b\x91\xf9\x5d\x95\xc6\x74\x46\x44\x1e\x37\x9d\x2c\xa4\xcc\x90\x74\x10\x00\xbd\x44\x94\x42\xf5\x72\x80\x46\x24\x2c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$75", $75)), "run", [])); // assert_return(() => call($75, "f64.no_fold_mul_sqrt_div", [2.63363496954e+31, 3.07914132859e+253]), 4.74614244751e-96) + +// float_exprs.wast:1852 +let $76 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xcd\x80\x80\x80\x00\x02\x23\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6c\x75\x73\x68\x5f\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x00\x23\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6c\x75\x73\x68\x5f\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x02\x94\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa2\x0b"); + +// float_exprs.wast:1860 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\xab\x80\x80\x80\x00\x01\x03\x24\x37\x36\x23\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6c\x75\x73\x68\x5f\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x34\x43\x00\x00\x00\x4b\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$76", $76)), "run", [])); // assert_return(() => call($76, "f32.no_flush_intermediate_subnormal", [1.17549435082e-38, 1.19209289551e-07, 8388608.]), 1.17549435082e-38) + +// float_exprs.wast:1861 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\xab\x80\x80\x80\x00\x01\x03\x24\x37\x36\x23\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6c\x75\x73\x68\x5f\x69\x6e\x74\x65\x72\x6d\x65\x64\x69\x61\x74\x65\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\x44\x00\x00\x00\x00\x00\x00\x30\x43\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$76", $76)), "run", [])); // assert_return(() => call($76, "f64.no_flush_intermediate_subnormal", [2.22507385851e-308, 2.22044604925e-16, 4.50359962737e+15]), 2.22507385851e-308) + +// float_exprs.wast:1866 +let $77 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x93\x80\x80\x80\x00\x03\x60\x02\x7d\x7d\x01\x7f\x60\x02\x7c\x7c\x01\x7f\x60\x02\x7c\x7d\x01\x7d\x03\x88\x80\x80\x80\x00\x07\x00\x00\x00\x01\x01\x01\x02\x07\xff\x80\x80\x80\x00\x07\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x65\x71\x00\x00\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x65\x00\x01\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x74\x00\x02\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x65\x71\x00\x03\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x65\x00\x04\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x74\x00\x05\x0f\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x64\x65\x6d\x6f\x74\x65\x00\x06\x0a\xe8\x80\x80\x80\x00\x07\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x00\x5b\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x00\x5f\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x00\x5d\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x00\x61\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x00\x65\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x00\x63\x0b\x88\x80\x80\x80\x00\x00\x20\x00\xb6\x20\x01\x94\x0b"); + +// float_exprs.wast:1889 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x40\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f32.recoding_eq", [-Infinity, 3.]), 1) + +// float_exprs.wast:1890 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x40\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f32.recoding_le", [-Infinity, 3.]), 1) + +// float_exprs.wast:1891 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\xff\x43\x00\x00\x40\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f32.recoding_lt", [-Infinity, 3.]), 0) + +// float_exprs.wast:1893 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f32.recoding_eq", [0., 1.]), 1) + +// float_exprs.wast:1894 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f32.recoding_le", [0., 1.]), 1) + +// float_exprs.wast:1895 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x33\x32\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x80\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f32.recoding_lt", [0., 1.]), 0) + +// float_exprs.wast:1897 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f64.recoding_eq", [-Infinity, 3.]), 1) + +// float_exprs.wast:1898 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f64.recoding_le", [-Infinity, 3.]), 1) + +// float_exprs.wast:1899 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f64.recoding_lt", [-Infinity, 3.]), 0) + +// float_exprs.wast:1901 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f64.recoding_eq", [0., 1.]), 1) + +// float_exprs.wast:1902 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f64.recoding_le", [0., 1.]), 1) + +// float_exprs.wast:1903 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x66\x36\x34\x2e\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "f64.recoding_lt", [0., 1.]), 0) + +// float_exprs.wast:1905 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7d\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x03\x24\x37\x37\x0f\x72\x65\x63\x6f\x64\x69\x6e\x67\x5f\x64\x65\x6d\x6f\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa8\x80\x80\x80\x00\x01\xa2\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\xf8\xc8\xb4\x37\x43\x00\xa0\x98\x44\x10\x00\xbc\x43\x0e\x45\xc6\x02\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$77", $77)), "run", [])); // assert_return(() => call($77, "recoding_demote", [2.38600490819e-40, 1221.]), 2.91331206297e-37) + +// float_exprs.wast:1910 +let $78 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7f\x60\x03\x7c\x7c\x7c\x01\x7f\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xc1\x80\x80\x80\x00\x02\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x65\x78\x74\x65\x6e\x64\x65\x64\x5f\x70\x72\x65\x63\x69\x73\x69\x6f\x6e\x5f\x64\x69\x76\x00\x00\x1d\x66\x36\x34\x2e\x6e\x6f\x5f\x65\x78\x74\x65\x6e\x64\x65\x64\x5f\x70\x72\x65\x63\x69\x73\x69\x6f\x6e\x5f\x64\x69\x76\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x20\x02\x5b\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x20\x02\x61\x0b"); + +// float_exprs.wast:1918 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7f\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x37\x38\x1d\x66\x33\x32\x2e\x6e\x6f\x5f\x65\x78\x74\x65\x6e\x64\x65\x64\x5f\x70\x72\x65\x63\x69\x73\x69\x6f\x6e\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\xe0\x40\x43\xb7\x6d\xdb\x3e\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$78", $78)), "run", [])); // assert_return(() => call($78, "f32.no_extended_precision_div", [3., 7., 0.428571432829]), 1) + +// float_exprs.wast:1919 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7f\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x37\x38\x1d\x66\x36\x34\x2e\x6e\x6f\x5f\x65\x78\x74\x65\x6e\x64\x65\x64\x5f\x70\x72\x65\x63\x69\x73\x69\x6f\x6e\x5f\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x1c\x40\x44\xdb\xb6\x6d\xdb\xb6\x6d\xdb\x3f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$78", $78)), "run", [])); // assert_return(() => call($78, "f64.no_extended_precision_div", [3., 7., 0.428571428571]), 1) + +// float_exprs.wast:1926 +let $79 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb5\x80\x80\x80\x00\x02\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x5f\x65\x78\x61\x63\x74\x00\x00\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x5f\x65\x78\x61\x63\x74\x00\x01\x0a\xb9\x80\x80\x80\x00\x02\x93\x80\x80\x80\x00\x00\x43\x00\x00\x00\xc1\x20\x00\x94\x43\x00\x00\x00\x41\x20\x00\x94\x92\x0b\x9b\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x20\xc0\x20\x00\xa2\x44\x00\x00\x00\x00\x00\x00\x20\x40\x20\x00\xa2\xa0\x0b"); + +// float_exprs.wast:1934 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x39\x17\x66\x33\x32\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x5f\x65\x78\x61\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$79", $79)), "run", [])); // assert_return(() => call($79, "f32.no_distribute_exact", [-0.]), 0.) + +// float_exprs.wast:1935 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x9f\x80\x80\x80\x00\x01\x03\x24\x37\x39\x17\x66\x36\x34\x2e\x6e\x6f\x5f\x64\x69\x73\x74\x72\x69\x62\x75\x74\x65\x5f\x65\x78\x61\x63\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$79", $79)), "run", [])); // assert_return(() => call($79, "f64.no_distribute_exact", [-0.]), 0.) + +// float_exprs.wast:1940 +let $80 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa9\x80\x80\x80\x00\x06\x60\x01\x7d\x01\x7d\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x8b\x80\x80\x80\x00\x0a\x00\x01\x02\x02\x01\x03\x04\x05\x05\x04\x07\xb5\x81\x80\x80\x00\x0a\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x00\x0f\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x32\x00\x01\x0f\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x33\x00\x02\x0f\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x35\x00\x03\x16\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x62\x65\x74\x74\x65\x72\x5f\x73\x71\x72\x74\x5f\x35\x00\x04\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x05\x0f\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x32\x00\x06\x0f\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x33\x00\x07\x0f\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x35\x00\x08\x16\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x62\x65\x74\x74\x65\x72\x5f\x73\x71\x72\x74\x5f\x35\x00\x09\x0a\xb1\x81\x80\x80\x00\x0a\x85\x80\x80\x80\x00\x00\x20\x00\x91\x0b\x90\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x20\x02\x20\x03\x20\x02\x93\x95\x92\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x20\x02\x95\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x20\x02\x20\x00\x95\x92\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x94\x92\x20\x03\x20\x01\x20\x02\x94\x93\x95\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9f\x0b\x90\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x20\x02\x20\x03\x20\x02\xa1\xa3\xa0\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x20\x02\xa3\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x20\x02\x20\x00\xa3\xa0\x0b\x93\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xa2\xa0\x20\x03\x20\x01\x20\x02\xa2\xa1\xa3\x0b"); + +// float_exprs.wast:1972 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x38\x30\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x10\x00\xbc\x43\xf3\x04\xb5\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.sqrt", [2.]), 1.41421353817) + +// float_exprs.wast:1973 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x03\x24\x38\x30\x0f\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\xa0\x40\x43\xdb\x0f\x49\x40\x43\x00\x00\xe0\x40\x10\x00\xbc\x43\x2a\x05\xb5\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.xkcd_sqrt_2", [3., 5., 3.14159274101, 7.]), 1.41422009468) + +// float_exprs.wast:1974 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x38\x30\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\xd7\xb3\xdd\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.sqrt", [3.]), 1.73205077648) + +// float_exprs.wast:1975 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x03\x24\x38\x30\x0f\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x54\xf8\x2d\x40\x43\xdb\x0f\x49\x40\x10\x00\xbc\x43\x6a\x81\xdd\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.xkcd_sqrt_3", [2., 2.71828174591, 3.14159274101]), 1.73051190376) + +// float_exprs.wast:1976 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x03\x24\x38\x30\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x40\x10\x00\xbc\x43\xbd\x1b\x0f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.sqrt", [5.]), 2.23606801033) + +// float_exprs.wast:1977 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x03\x24\x38\x30\x0f\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x54\xf8\x2d\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\xac\x16\x0f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.xkcd_sqrt_5", [2., 2.71828174591, 3.]), 2.23575878143) + +// float_exprs.wast:1978 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7d\x7d\x7d\x7d\x01\x7d\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x38\x30\x16\x66\x33\x32\x2e\x78\x6b\x63\x64\x5f\x62\x65\x74\x74\x65\x72\x5f\x73\x71\x72\x74\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x50\x41\x43\x00\x00\x80\x40\x43\xdb\x0f\x49\x40\x43\x00\x00\xc0\x41\x10\x00\xbc\x43\xbd\x1b\x0f\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f32.xkcd_better_sqrt_5", [13., 4., 3.14159274101, 24.]), 2.23606801033) + +// float_exprs.wast:1980 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x38\x30\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\xbd\x44\xcd\x3b\x7f\x66\x9e\xa0\xf6\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.sqrt", [2.]), 1.41421356237) + +// float_exprs.wast:1981 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x97\x80\x80\x80\x00\x01\x03\x24\x38\x30\x0f\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x14\x40\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\x44\x00\x00\x00\x00\x00\x00\x1c\x40\x10\x00\xbd\x44\x5f\x05\x2b\x36\xa5\xa0\xf6\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.xkcd_sqrt_2", [3., 5., 3.14159265359, 7.]), 1.41422005805) + +// float_exprs.wast:1982 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x38\x30\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\xaa\x4c\x58\xe8\x7a\xb6\xfb\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.sqrt", [3.]), 1.73205080757) + +// float_exprs.wast:1983 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x97\x80\x80\x80\x00\x01\x03\x24\x38\x30\x0f\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x69\x57\x14\x8b\x0a\xbf\x05\x40\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\x10\x00\xbd\x44\x95\x8f\xca\x4e\x2d\xb0\xfb\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.xkcd_sqrt_3", [2., 2.71828182846, 3.14159265359]), 1.73051195886) + +// float_exprs.wast:1984 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x03\x24\x38\x30\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x14\x40\x10\x00\xbd\x44\xa8\xf4\x97\x9b\x77\xe3\x01\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.sqrt", [5.]), 2.2360679775) + +// float_exprs.wast:1985 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x97\x80\x80\x80\x00\x01\x03\x24\x38\x30\x0f\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x73\x71\x72\x74\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x69\x57\x14\x8b\x0a\xbf\x05\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\xce\x3b\x8b\x8d\xd5\xe2\x01\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.xkcd_sqrt_5", [2., 2.71828182846, 3.]), 2.23575888234) + +// float_exprs.wast:1986 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x04\x7c\x7c\x7c\x7c\x01\x7c\x02\x9e\x80\x80\x80\x00\x01\x03\x24\x38\x30\x16\x66\x36\x34\x2e\x78\x6b\x63\x64\x5f\x62\x65\x74\x74\x65\x72\x5f\x73\x71\x72\x74\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xc2\x80\x80\x80\x00\x01\xbc\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x2a\x40\x44\x00\x00\x00\x00\x00\x00\x10\x40\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\x44\x00\x00\x00\x00\x00\x00\x38\x40\x10\x00\xbd\x44\xa3\xa5\x09\x85\x77\xe3\x01\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$80", $80)), "run", [])); // assert_return(() => call($80, "f64.xkcd_better_sqrt_5", [13., 4., 3.14159265359, 24.]), 2.23606780945) + +// float_exprs.wast:1991 +let $81 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa9\x80\x80\x80\x00\x02\x11\x66\x33\x32\x2e\x63\x6f\x6d\x70\x75\x74\x65\x5f\x72\x61\x64\x69\x78\x00\x00\x11\x66\x36\x34\x2e\x63\x6f\x6d\x70\x75\x74\x65\x5f\x72\x61\x64\x69\x78\x00\x01\x0a\xa5\x81\x80\x80\x00\x02\xc3\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x00\x92\x22\x00\x43\x00\x00\x80\x3f\x92\x20\x00\x93\x43\x00\x00\x80\xbf\x92\x43\x00\x00\x00\x00\x5b\x0d\x00\x0b\x03\x40\x20\x00\x20\x01\x43\x00\x00\x80\x3f\x92\x22\x01\x92\x20\x00\x93\x20\x01\x93\x43\x00\x00\x00\x00\x5c\x0d\x00\x0b\x20\x01\x0b\xd7\x80\x80\x80\x00\x00\x03\x40\x20\x00\x20\x00\xa0\x22\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\x20\x00\xa1\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xa0\x44\x00\x00\x00\x00\x00\x00\x00\x00\x61\x0d\x00\x0b\x03\x40\x20\x00\x20\x01\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\x22\x01\xa0\x20\x00\xa1\x20\x01\xa1\x44\x00\x00\x00\x00\x00\x00\x00\x00\x62\x0d\x00\x0b\x20\x01\x0b"); + +// float_exprs.wast:2069 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x99\x80\x80\x80\x00\x01\x03\x24\x38\x31\x11\x66\x33\x32\x2e\x63\x6f\x6d\x70\x75\x74\x65\x5f\x72\x61\x64\x69\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$81", $81)), "run", [])); // assert_return(() => call($81, "f32.compute_radix", [1., 1.]), 2.) + +// float_exprs.wast:2070 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x99\x80\x80\x80\x00\x01\x03\x24\x38\x31\x11\x66\x36\x34\x2e\x63\x6f\x6d\x70\x75\x74\x65\x5f\x72\x61\x64\x69\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$81", $81)), "run", [])); // assert_return(() => call($81, "f64.compute_radix", [1., 1.]), 2.) + +// float_exprs.wast:2075 +let $82 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xb7\x80\x80\x80\x00\x02\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x31\x5f\x6d\x75\x6c\x5f\x61\x64\x64\x00\x00\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x31\x5f\x6d\x75\x6c\x5f\x61\x64\x64\x00\x01\x0a\xaf\x80\x80\x80\x00\x02\x90\x80\x80\x80\x00\x00\x20\x00\x43\x00\x00\x80\x3f\x93\x20\x01\x94\x20\x01\x92\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa1\x20\x01\xa2\x20\x01\xa0\x0b"); + +// float_exprs.wast:2083 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x38\x32\x18\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x31\x5f\x6d\x75\x6c\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x2f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$82", $82)), "run", [])); // assert_return(() => call($82, "f32.no_fold_sub1_mul_add", [2.32830643654e-10, 1.]), 0.) + +// float_exprs.wast:2084 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x38\x32\x18\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x31\x5f\x6d\x75\x6c\x5f\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3b\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$82", $82)), "run", [])); // assert_return(() => call($82, "f64.no_fold_sub1_mul_add", [5.42101086243e-20, 1.]), 0.) + +// float_exprs.wast:2089 +let $83 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7f\x60\x03\x7c\x7c\x7c\x01\x7f\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\x89\x81\x80\x80\x00\x04\x1f\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6c\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x00\x1f\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x67\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x01\x1f\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6c\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x02\x1f\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x67\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x03\x0a\xc9\x80\x80\x80\x00\x04\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\x92\x20\x01\x20\x02\x92\x5f\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\x92\x20\x01\x20\x02\x92\x60\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\xa0\x20\x01\x20\x02\xa0\x65\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x02\xa0\x20\x01\x20\x02\xa0\x66\x0b"); + +// float_exprs.wast:2103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7f\x02\xa7\x80\x80\x80\x00\x01\x03\x24\x38\x33\x1f\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6c\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$83", $83)), "run", [])); // assert_return(() => call($83, "f32.no_fold_add_le_monotonicity", [0., 0., NaN]), 0) + +// float_exprs.wast:2104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7f\x02\xa7\x80\x80\x80\x00\x01\x03\x24\x38\x33\x1f\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6c\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x7f\x43\x00\x00\x80\xff\x43\x00\x00\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$83", $83)), "run", [])); // assert_return(() => call($83, "f32.no_fold_add_le_monotonicity", [Infinity, -Infinity, Infinity]), 0) + +// float_exprs.wast:2105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7f\x02\xa7\x80\x80\x80\x00\x01\x03\x24\x38\x33\x1f\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6c\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$83", $83)), "run", [])); // assert_return(() => call($83, "f64.no_fold_add_le_monotonicity", [0., 0., NaN]), 0) + +// float_exprs.wast:2106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7f\x02\xa7\x80\x80\x80\x00\x01\x03\x24\x38\x33\x1f\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x61\x64\x64\x5f\x6c\x65\x5f\x6d\x6f\x6e\x6f\x74\x6f\x6e\x69\x63\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$83", $83)), "run", [])); // assert_return(() => call($83, "f64.no_fold_add_le_monotonicity", [Infinity, -Infinity, Infinity]), 0) + +// float_exprs.wast:2110 +let $84 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7f\x60\x02\x7c\x7c\x01\x7f\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xe9\x80\x80\x80\x00\x08\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x6c\x74\x00\x00\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x6c\x65\x00\x01\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x67\x74\x00\x02\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x67\x65\x00\x03\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x6c\x74\x00\x04\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x6c\x65\x00\x05\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x67\x74\x00\x06\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x67\x65\x00\x07\x0a\xe9\x80\x80\x80\x00\x08\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5d\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5f\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5e\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x60\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x63\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x65\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x64\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x66\x45\x0b"); + +// float_exprs.wast:2136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f32.not_lt", [NaN, 0.]), 1) + +// float_exprs.wast:2137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f32.not_le", [NaN, 0.]), 1) + +// float_exprs.wast:2138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f32.not_gt", [NaN, 0.]), 1) + +// float_exprs.wast:2139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x33\x32\x2e\x6e\x6f\x74\x5f\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f32.not_ge", [NaN, 0.]), 1) + +// float_exprs.wast:2140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f64.not_lt", [NaN, 0.]), 1) + +// float_exprs.wast:2141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f64.not_le", [NaN, 0.]), 1) + +// float_exprs.wast:2142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f64.not_gt", [NaN, 0.]), 1) + +// float_exprs.wast:2143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x38\x34\x0a\x66\x36\x34\x2e\x6e\x6f\x74\x5f\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$84", $84)), "run", [])); // assert_return(() => call($84, "f64.not_ge", [NaN, 0.]), 1) + +// float_exprs.wast:2149 +let $85 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x01\x7d\x60\x00\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\x9d\x80\x80\x80\x00\x02\x0b\x66\x33\x32\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x00\x0b\x66\x36\x34\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x01\x0a\xdd\x80\x80\x80\x00\x02\x9f\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x43\x00\x00\x40\x40\x43\x00\x00\x80\x40\x43\x00\x00\x40\x40\x95\x43\x00\x00\x80\x3f\x93\x94\x93\x0b\xb3\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x10\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\xa3\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa1\xa2\xa1\x0b"); + +// float_exprs.wast:2157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x93\x80\x80\x80\x00\x01\x03\x24\x38\x35\x0b\x66\x33\x32\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\xb4\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$85", $85)), "run", [])); // assert_return(() => call($85, "f32.epsilon", []), -1.19209289551e-07) + +// float_exprs.wast:2158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x93\x80\x80\x80\x00\x01\x03\x24\x38\x35\x0b\x66\x36\x34\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$85", $85)), "run", [])); // assert_return(() => call($85, "f64.epsilon", []), 2.22044604925e-16) + +// float_exprs.wast:2164 +let $86 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x01\x7d\x60\x00\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\x9d\x80\x80\x80\x00\x02\x0b\x66\x33\x32\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x00\x0b\x66\x36\x34\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x01\x0a\xef\x80\x80\x80\x00\x02\xaa\x80\x80\x80\x00\x01\x02\x7d\x43\x00\x00\x80\x3f\x21\x00\x03\x40\x20\x00\x22\x01\x43\x00\x00\x00\x3f\x94\x22\x00\x43\x00\x00\x80\x3f\x92\x43\x00\x00\x80\x3f\x5e\x0d\x00\x0b\x20\x01\x0b\xba\x80\x80\x80\x00\x01\x02\x7c\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x21\x00\x03\x40\x20\x00\x22\x01\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\xa2\x22\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x64\x0d\x00\x0b\x20\x01\x0b"); + +// float_exprs.wast:2212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x93\x80\x80\x80\x00\x01\x03\x24\x38\x36\x0b\x66\x33\x32\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$86", $86)), "run", [])); // assert_return(() => call($86, "f32.epsilon", []), 1.19209289551e-07) + +// float_exprs.wast:2213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x93\x80\x80\x80\x00\x01\x03\x24\x38\x36\x0b\x66\x36\x34\x2e\x65\x70\x73\x69\x6c\x6f\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$86", $86)), "run", [])); // assert_return(() => call($86, "f64.epsilon", []), 2.22044604925e-16) + +// float_exprs.wast:2218 +let $87 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7f\x60\x02\x7c\x7c\x01\x7f\x03\x89\x80\x80\x80\x00\x08\x00\x00\x00\x00\x01\x01\x01\x01\x07\xb9\x81\x80\x80\x00\x08\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x74\x00\x00\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x65\x00\x01\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x74\x00\x02\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x65\x00\x03\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x74\x00\x04\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x65\x00\x05\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x74\x00\x06\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x65\x00\x07\x0a\x91\x81\x80\x80\x00\x08\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5d\x20\x00\x20\x01\x60\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5f\x20\x00\x20\x01\x5e\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5e\x20\x00\x20\x01\x5f\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x60\x20\x00\x20\x01\x5d\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x63\x20\x00\x20\x01\x66\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x65\x20\x00\x20\x01\x64\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x64\x20\x00\x20\x01\x65\x72\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x20\x01\x66\x20\x00\x20\x01\x63\x72\x0b"); + +// float_exprs.wast:2238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f32.no_trichotomy_lt", [0., NaN]), 0) + +// float_exprs.wast:2239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f32.no_trichotomy_le", [0., NaN]), 0) + +// float_exprs.wast:2240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f32.no_trichotomy_gt", [0., NaN]), 0) + +// float_exprs.wast:2241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xc0\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f32.no_trichotomy_ge", [0., NaN]), 0) + +// float_exprs.wast:2242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f64.no_trichotomy_lt", [0., NaN]), 0) + +// float_exprs.wast:2243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f64.no_trichotomy_le", [0., NaN]), 0) + +// float_exprs.wast:2244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f64.no_trichotomy_gt", [0., NaN]), 0) + +// float_exprs.wast:2245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x37\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x74\x72\x69\x63\x68\x6f\x74\x6f\x6d\x79\x5f\x67\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$87", $87)), "run", [])); // assert_return(() => call($87, "f64.no_trichotomy_ge", [0., NaN]), 0) + +// float_exprs.wast:2250 +let $88 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x97\x80\x80\x80\x00\x04\x60\x02\x7f\x7f\x01\x7f\x60\x01\x7f\x01\x7f\x60\x02\x7e\x7e\x01\x7e\x60\x01\x7e\x01\x7e\x03\x94\x80\x80\x80\x00\x13\x00\x00\x01\x02\x02\x03\x01\x01\x01\x01\x01\x01\x03\x03\x03\x03\x03\x03\x01\x07\xee\x83\x80\x80\x00\x13\x1d\x66\x33\x32\x2e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x00\x1c\x66\x33\x32\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x20\x66\x33\x32\x2e\x6e\x6f\x6e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x02\x1d\x66\x36\x34\x2e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x03\x1c\x66\x36\x34\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x04\x20\x66\x36\x34\x2e\x6e\x6f\x6e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x05\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x06\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x07\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x08\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x09\x13\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x0a\x14\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x0b\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x0c\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x0d\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x0e\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x0f\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x10\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x11\x16\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x70\x72\x6f\x6d\x6f\x74\x65\x5f\x64\x65\x6d\x6f\x74\x65\x00\x12\x0a\xe5\x83\x80\x80\x00\x13\x91\x80\x80\x80\x00\x00\x20\x00\xbe\x20\x01\xbe\x95\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x91\x80\x80\x80\x00\x00\x20\x00\xbe\x20\x01\xbe\x95\xbc\x41\xff\xff\xff\xff\x07\x71\x0b\x87\x80\x80\x80\x00\x00\x20\x00\xbe\x8c\xbc\x0b\x96\x80\x80\x80\x00\x00\x20\x00\xbf\x20\x01\xbf\xa3\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x96\x80\x80\x80\x00\x00\x20\x00\xbf\x20\x01\xbf\xa3\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x0b\x87\x80\x80\x80\x00\x00\x20\x00\xbf\x9a\xbd\x0b\x93\x80\x80\x80\x00\x00\x20\x00\xbe\x43\x00\x00\x00\x00\x93\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x93\x80\x80\x80\x00\x00\x43\x00\x00\x00\x80\x20\x00\xbe\x93\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x93\x80\x80\x80\x00\x00\x20\x00\xbe\x43\x00\x00\x80\x3f\x94\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x93\x80\x80\x80\x00\x00\x43\x00\x00\x80\xbf\x20\x00\xbe\x94\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x93\x80\x80\x80\x00\x00\x20\x00\xbe\x43\x00\x00\x80\x3f\x95\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x93\x80\x80\x80\x00\x00\x20\x00\xbe\x43\x00\x00\x80\xbf\x95\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b\x9c\x80\x80\x80\x00\x00\x20\x00\xbf\x44\x00\x00\x00\x00\x00\x00\x00\x00\xa1\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x9c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\x20\x00\xbf\xa1\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x9c\x80\x80\x80\x00\x00\x20\x00\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa2\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x9c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x20\x00\xbf\xa2\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x9c\x80\x80\x80\x00\x00\x20\x00\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa3\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x9c\x80\x80\x80\x00\x00\x20\x00\xbf\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xa3\xbd\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x83\x0b\x8f\x80\x80\x80\x00\x00\x20\x00\xbe\xbb\xb6\xbc\x41\x80\x80\x80\xfe\x07\x71\x0b"); + +// float_exprs.wast:2329 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.arithmetic_nan_bitpattern", [2139107856, 2139107856]), 2143289344); + +// float_exprs.wast:2330 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.canonical_nan_bitpattern", [0, 0]), 2143289344); + +// float_exprs.wast:2331 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.canonical_nan_bitpattern", [2143289344, 2143289344]), 2143289344); + +// float_exprs.wast:2332 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.canonical_nan_bitpattern", [-4194304, 2143289344]), 2143289344); + +// float_exprs.wast:2333 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.canonical_nan_bitpattern", [2143289344, -4194304]), 2143289344); + +// float_exprs.wast:2334 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.canonical_nan_bitpattern", [-4194304, -4194304]), 2143289344); + +// float_exprs.wast:2335 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.nonarithmetic_nan_bitpattern", [2143302160]), -4181488); + +// float_exprs.wast:2336 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.nonarithmetic_nan_bitpattern", [-4181488]), 2143302160); + +// float_exprs.wast:2337 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.nonarithmetic_nan_bitpattern", [2139107856]), -8375792); + +// float_exprs.wast:2338 +// FIXME: NaN test temporarily disabled: assert_return(() => call($88, "f32.nonarithmetic_nan_bitpattern", [-8375792]), 2139107856); + +// float_exprs.wast:2339 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\xa5\x80\x80\x80\x00\x01\x03\x24\x38\x38\x1d\x66\x36\x34\x2e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb6\x80\x80\x80\x00\x01\xb0\x80\x80\x80\x00\x00\x02\x40\x42\x90\xe4\x80\x80\x80\x80\x80\xf8\xff\x00\x42\x90\xe4\x80\x80\x80\x80\x80\xf8\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.arithmetic_nan_bitpattern", [int64("9218868437227418128"), int64("9218868437227418128")]), int64("9221120237041090560")) + +// float_exprs.wast:2340 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x38\x38\x1c\x66\x36\x34\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.canonical_nan_bitpattern", [int64("0"), int64("0")]), int64("9221120237041090560")) + +// float_exprs.wast:2341 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x38\x38\x1c\x66\x36\x34\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb6\x80\x80\x80\x00\x01\xb0\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.canonical_nan_bitpattern", [int64("9221120237041090560"), int64("9221120237041090560")]), int64("9221120237041090560")) + +// float_exprs.wast:2342 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x38\x38\x1c\x66\x36\x34\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.canonical_nan_bitpattern", [int64("-2251799813685248"), int64("9221120237041090560")]), int64("9221120237041090560")) + +// float_exprs.wast:2343 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x38\x38\x1c\x66\x36\x34\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.canonical_nan_bitpattern", [int64("9221120237041090560"), int64("-2251799813685248")]), int64("9221120237041090560")) + +// float_exprs.wast:2344 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x38\x38\x1c\x66\x36\x34\x2e\x63\x61\x6e\x6f\x6e\x69\x63\x61\x6c\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.canonical_nan_bitpattern", [int64("-2251799813685248"), int64("-2251799813685248")]), int64("9221120237041090560")) + +// float_exprs.wast:2345 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa8\x80\x80\x80\x00\x01\x03\x24\x38\x38\x20\x66\x36\x34\x2e\x6e\x6f\x6e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x90\xe4\x80\x80\x80\x80\x80\xfc\xff\x00\x10\x00\x01\x42\x90\xe4\x80\x80\x80\x80\x80\x7c\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.nonarithmetic_nan_bitpattern", [int64("9221120237041103376")]), int64("-2251799813672432")) + +// float_exprs.wast:2346 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa8\x80\x80\x80\x00\x01\x03\x24\x38\x38\x20\x66\x36\x34\x2e\x6e\x6f\x6e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x90\xe4\x80\x80\x80\x80\x80\x7c\x10\x00\x01\x42\x90\xe4\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.nonarithmetic_nan_bitpattern", [int64("-2251799813672432")]), int64("9221120237041103376")) + +// float_exprs.wast:2347 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa8\x80\x80\x80\x00\x01\x03\x24\x38\x38\x20\x66\x36\x34\x2e\x6e\x6f\x6e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x90\xe4\x80\x80\x80\x80\x80\xf8\xff\x00\x10\x00\x01\x42\x90\xe4\x80\x80\x80\x80\x80\x78\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.nonarithmetic_nan_bitpattern", [int64("9218868437227418128")]), int64("-4503599627357680")) + +// float_exprs.wast:2348 +// FIXME: NaN test temporarily disabled: run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa8\x80\x80\x80\x00\x01\x03\x24\x38\x38\x20\x66\x36\x34\x2e\x6e\x6f\x6e\x61\x72\x69\x74\x68\x6d\x65\x74\x69\x63\x5f\x6e\x61\x6e\x5f\x62\x69\x74\x70\x61\x74\x74\x65\x72\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x90\xe4\x80\x80\x80\x80\x80\x78\x10\x00\x01\x42\x90\xe4\x80\x80\x80\x80\x80\xf8\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.nonarithmetic_nan_bitpattern", [int64("-4503599627357680")]), int64("9218868437227418128"))! + +// float_exprs.wast:2349 +assert_return(() => call($88, "f32.no_fold_sub_zero", [2141192192]), 2143289344); + +// float_exprs.wast:2350 +assert_return(() => call($88, "f32.no_fold_neg0_sub", [2141192192]), 2143289344); + +// float_exprs.wast:2351 +assert_return(() => call($88, "f32.no_fold_mul_one", [2141192192]), 2143289344); + +// float_exprs.wast:2352 +assert_return(() => call($88, "f32.no_fold_neg1_mul", [2141192192]), 2143289344); + +// float_exprs.wast:2353 +assert_return(() => call($88, "f32.no_fold_div_one", [2141192192]), 2143289344); + +// float_exprs.wast:2354 +assert_return(() => call($88, "f32.no_fold_div_neg1", [2141192192]), 2143289344); + +// float_exprs.wast:2355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x75\x62\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.no_fold_sub_zero", [int64("9219994337134247936")]), int64("9221120237041090560")) + +// float_exprs.wast:2356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x30\x5f\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.no_fold_neg0_sub", [int64("9219994337134247936")]), int64("9221120237041090560")) + +// float_exprs.wast:2357 +// run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x38\x38\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x6f\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.no_fold_mul_one", [int64("9219994337134247936")]), int64("9221120237041090560")) + +// float_exprs.wast:2358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6e\x65\x67\x31\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.no_fold_neg1_mul", [int64("9219994337134247936")]), int64("9221120237041090560")) + +// float_exprs.wast:2359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x38\x38\x13\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6f\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.no_fold_div_one", [int64("9219994337134247936")]), int64("9221120237041090560")) + +// float_exprs.wast:2360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x38\x38\x14\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$88", $88)), "run", [])); // assert_return(() => call($88, "f64.no_fold_div_neg1", [int64("9219994337134247936")]), int64("9221120237041090560")) + +// float_exprs.wast:2361 +// assert_return(() => call($88, "no_fold_promote_demote", [2141192192]), 2143289344); + +// float_exprs.wast:2366 +let $89 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x01\x60\x08\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x00\x07\xb2\x80\x80\x80\x00\x02\x13\x64\x6f\x74\x5f\x70\x72\x6f\x64\x75\x63\x74\x5f\x65\x78\x61\x6d\x70\x6c\x65\x00\x00\x18\x77\x69\x74\x68\x5f\x62\x69\x6e\x61\x72\x79\x5f\x73\x75\x6d\x5f\x63\x6f\x6c\x6c\x61\x70\x73\x65\x00\x01\x0a\xbd\x80\x80\x80\x00\x02\x99\x80\x80\x80\x00\x00\x20\x00\x20\x04\xa2\x20\x01\x20\x05\xa2\xa0\x20\x02\x20\x06\xa2\xa0\x20\x03\x20\x07\xa2\xa0\x0b\x99\x80\x80\x80\x00\x00\x20\x00\x20\x04\xa2\x20\x01\x20\x05\xa2\xa0\x20\x02\x20\x06\xa2\x20\x03\x20\x07\xa2\xa0\xa0\x0b"); + +// float_exprs.wast:2389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x02\x60\x00\x00\x60\x08\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x01\x7c\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x38\x39\x13\x64\x6f\x74\x5f\x70\x72\x6f\x64\x75\x63\x74\x5f\x65\x78\x61\x6d\x70\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xe6\x80\x80\x80\x00\x01\xe0\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x80\x84\x7e\x41\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\xd0\x12\x93\x41\x44\x00\x00\x00\x00\xd0\x12\x83\x41\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x80\x84\x6e\xc1\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$89", $89)), "run", [])); // assert_return(() => call($89, "dot_product_example", [32000000., 1., -1., 80000000., 40000000., 1., -1., -16000000.]), 2.) + +// float_exprs.wast:2393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x90\x80\x80\x80\x00\x02\x60\x00\x00\x60\x08\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x7c\x01\x7c\x02\xa0\x80\x80\x80\x00\x01\x03\x24\x38\x39\x18\x77\x69\x74\x68\x5f\x62\x69\x6e\x61\x72\x79\x5f\x73\x75\x6d\x5f\x63\x6f\x6c\x6c\x61\x70\x73\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xe6\x80\x80\x80\x00\x01\xe0\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x80\x84\x7e\x41\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\xd0\x12\x93\x41\x44\x00\x00\x00\x00\xd0\x12\x83\x41\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x44\x00\x00\x00\x00\x80\x84\x6e\xc1\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$89", $89)), "run", [])); // assert_return(() => call($89, "with_binary_sum_collapse", [32000000., 1., -1., 80000000., 40000000., 1., -1., -16000000.]), 2.) + +// float_exprs.wast:2400 +let $90 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa7\x80\x80\x80\x00\x02\x10\x66\x33\x32\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x00\x10\x66\x36\x34\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x0a\xa7\x80\x80\x80\x00\x02\x8e\x80\x80\x80\x00\x00\x20\x00\x20\x00\x94\x20\x01\x20\x01\x94\x93\x91\x0b\x8e\x80\x80\x80\x00\x00\x20\x00\x20\x00\xa2\x20\x01\x20\x01\xa2\xa1\x9f\x0b"); + +// float_exprs.wast:2411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x30\x10\x66\x33\x32\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$90", $90)), "run", [])); // assert_return(() => call($90, "f32.contract2fma", [1., 1.]), 0.) + +// float_exprs.wast:2412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x30\x10\x66\x33\x32\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x3f\x43\xcd\xcc\x8c\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$90", $90)), "run", [])); // assert_return(() => call($90, "f32.contract2fma", [1.10000002384, 1.10000002384]), 0.) + +// float_exprs.wast:2413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x30\x10\x66\x33\x32\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x99\x99\x99\x3f\x43\x99\x99\x99\x3f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$90", $90)), "run", [])); // assert_return(() => call($90, "f32.contract2fma", [1.19999992847, 1.19999992847]), 0.) + +// float_exprs.wast:2414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x30\x10\x66\x36\x34\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$90", $90)), "run", [])); // assert_return(() => call($90, "f64.contract2fma", [1., 1.]), 0.) + +// float_exprs.wast:2415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x30\x10\x66\x36\x34\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x9a\x99\x99\x99\x99\x99\xf1\x3f\x44\x9a\x99\x99\x99\x99\x99\xf1\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$90", $90)), "run", [])); // assert_return(() => call($90, "f64.contract2fma", [1.1, 1.1]), 0.) + +// float_exprs.wast:2416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x30\x10\x66\x36\x34\x2e\x63\x6f\x6e\x74\x72\x61\x63\x74\x32\x66\x6d\x61\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x33\x33\x33\x33\x33\x33\xf3\x3f\x44\x33\x33\x33\x33\x33\x33\xf3\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$90", $90)), "run", [])); // assert_return(() => call($90, "f64.contract2fma", [1.2, 1.2]), 0.) + +// float_exprs.wast:2421 +let $91 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xbf\x80\x80\x80\x00\x02\x1c\x66\x33\x32\x2e\x64\x69\x76\x69\x73\x69\x6f\x6e\x5f\x62\x79\x5f\x73\x6d\x61\x6c\x6c\x5f\x6e\x75\x6d\x62\x65\x72\x00\x00\x1c\x66\x36\x34\x2e\x64\x69\x76\x69\x73\x69\x6f\x6e\x5f\x62\x79\x5f\x73\x6d\x61\x6c\x6c\x5f\x6e\x75\x6d\x62\x65\x72\x00\x01\x0a\x9f\x80\x80\x80\x00\x02\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x95\x93\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\xa3\xa1\x0b"); + +// float_exprs.wast:2430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x39\x31\x1c\x66\x33\x32\x2e\x64\x69\x76\x69\x73\x69\x6f\x6e\x5f\x62\x79\x5f\x73\x6d\x61\x6c\x6c\x5f\x6e\x75\x6d\x62\x65\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x80\x9f\xd5\x4c\x43\x00\x50\xc3\x47\x43\xfa\xed\x6b\x3a\x10\x00\xbc\x43\x80\x03\x59\x49\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$91", $91)), "run", [])); // assert_return(() => call($91, "f32.division_by_small_number", [112000000., 100000., 0.00089999998454]), 888888.) + +// float_exprs.wast:2431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\xa4\x80\x80\x80\x00\x01\x03\x24\x39\x31\x1c\x66\x36\x34\x2e\x64\x69\x76\x69\x73\x69\x6f\x6e\x5f\x62\x79\x5f\x73\x6d\x61\x6c\x6c\x5f\x6e\x75\x6d\x62\x65\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\xf0\xb3\x9a\x41\x44\x00\x00\x00\x00\x00\x6a\xf8\x40\x44\x92\xcb\x7f\x48\xbf\x7d\x4d\x3f\x10\x00\xbd\x44\x80\x71\x1c\xc7\x71\x20\x2b\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$91", $91)), "run", [])); // assert_return(() => call($91, "f64.division_by_small_number", [112000000., 100000., 0.0009]), 888888.888889) + +// float_exprs.wast:2436 +let $92 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x02\x60\x03\x7d\x7d\x7d\x01\x7d\x60\x03\x7c\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa7\x80\x80\x80\x00\x02\x10\x66\x33\x32\x2e\x67\x6f\x6c\x64\x65\x6e\x5f\x72\x61\x74\x69\x6f\x00\x00\x10\x66\x36\x34\x2e\x67\x6f\x6c\x64\x65\x6e\x5f\x72\x61\x74\x69\x6f\x00\x01\x0a\xa1\x80\x80\x80\x00\x02\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x91\x92\x94\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x9f\xa0\xa2\x0b"); + +// float_exprs.wast:2443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x32\x10\x66\x33\x32\x2e\x67\x6f\x6c\x64\x65\x6e\x5f\x72\x61\x74\x69\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x3f\x43\x00\x00\x80\x3f\x43\x00\x00\xa0\x40\x10\x00\xbc\x43\xbd\x1b\xcf\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$92", $92)), "run", [])); // assert_return(() => call($92, "f32.golden_ratio", [0.5, 1., 5.]), 1.61803400517) + +// float_exprs.wast:2444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x32\x10\x66\x36\x34\x2e\x67\x6f\x6c\x64\x65\x6e\x5f\x72\x61\x74\x69\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb9\x80\x80\x80\x00\x01\xb3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x14\x40\x10\x00\xbd\x44\xa8\xf4\x97\x9b\x77\xe3\xf9\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$92", $92)), "run", [])); // assert_return(() => call($92, "f64.golden_ratio", [0.5, 1., 5.]), 1.61803398875) + +// float_exprs.wast:2449 +let $93 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xa7\x80\x80\x80\x00\x02\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x00\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x0a\xc1\x80\x80\x80\x00\x02\x97\x80\x80\x80\x00\x00\x43\x00\x00\x00\x3f\x20\x00\x20\x00\x20\x00\x94\x43\x00\x00\x80\x40\x92\x91\x92\x94\x0b\x9f\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x20\x00\x20\x00\x20\x00\xa2\x44\x00\x00\x00\x00\x00\x00\x10\x40\xa0\x9f\xa0\xa2\x0b"); + +// float_exprs.wast:2462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f32.silver_means", [0.]), 1.) + +// float_exprs.wast:2463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\xbd\x1b\xcf\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f32.silver_means", [1.]), 1.61803400517) + +// float_exprs.wast:2464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x10\x00\xbc\x43\x7a\x82\x1a\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f32.silver_means", [2.]), 2.41421365738) + +// float_exprs.wast:2465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\xad\x60\x53\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f32.silver_means", [3.]), 3.30277562141) + +// float_exprs.wast:2466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x40\x10\x00\xbc\x43\xde\x8d\x87\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f32.silver_means", [4.]), 4.23606777191) + +// float_exprs.wast:2467 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x33\x32\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xa0\x40\x10\x00\xbc\x43\xa2\x29\xa6\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f32.silver_means", [5.]), 5.19258213043) + +// float_exprs.wast:2468 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f64.silver_means", [0.]), 1.) + +// float_exprs.wast:2469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xa8\xf4\x97\x9b\x77\xe3\xf9\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f64.silver_means", [1.]), 1.61803398875) + +// float_exprs.wast:2470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\xbd\x44\xe6\x9d\x3f\x33\x4f\x50\x03\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f64.silver_means", [2.]), 2.41421356237) + +// float_exprs.wast:2471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\xfa\xac\x30\xa2\x15\x6c\x0a\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f64.silver_means", [3.]), 3.30277563773) + +// float_exprs.wast:2472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x40\x10\x00\xbd\x44\x54\xfa\xcb\xcd\xbb\xf1\x10\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f64.silver_means", [4.]), 4.2360679775) + +// float_exprs.wast:2473 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x98\x80\x80\x80\x00\x01\x03\x24\x39\x33\x10\x66\x36\x34\x2e\x73\x69\x6c\x76\x65\x72\x5f\x6d\x65\x61\x6e\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x14\x40\x10\x00\xbd\x44\xfa\x6c\x54\x52\x34\xc5\x14\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$93", $93)), "run", [])); // assert_return(() => call($93, "f64.silver_means", [5.]), 5.19258240357) + +// float_exprs.wast:2478 +let $94 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x87\x80\x80\x80\x00\x01\x60\x02\x7c\x7c\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x07\x8e\x80\x80\x80\x00\x01\x0a\x70\x6f\x69\x6e\x74\x5f\x66\x6f\x75\x72\x00\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x44\x9a\x99\x99\x99\x99\x99\xd9\x3f\x63\x0b"); + +// float_exprs.wast:2483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x03\x24\x39\x34\x0a\x70\x6f\x69\x6e\x74\x5f\x66\x6f\x75\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x40\x44\x00\x00\x00\x00\x00\x00\x24\x40\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$94", $94)), "run", [])); // assert_return(() => call($94, "point_four", [4., 10.]), 0) + +// float_exprs.wast:2488 +let $95 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x74\x61\x75\x00\x00\x0a\xce\x81\x80\x80\x00\x01\xc8\x81\x80\x80\x00\x01\x04\x7c\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x01\x02\x40\x20\x00\x41\x01\x48\x0d\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x21\x02\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x03\x03\x40\x20\x01\x20\x02\x44\x00\x00\x00\x00\x00\x00\x20\x40\x20\x03\x44\x00\x00\x00\x00\x00\x00\x20\x40\xa2\x22\x04\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\xa3\x44\x00\x00\x00\x00\x00\x00\x10\x40\x20\x04\x44\x00\x00\x00\x00\x00\x00\x10\x40\xa0\xa3\xa1\x44\x00\x00\x00\x00\x00\x00\x00\x40\x20\x04\x44\x00\x00\x00\x00\x00\x00\x14\x40\xa0\xa3\xa1\x44\x00\x00\x00\x00\x00\x00\x00\x40\x20\x04\x44\x00\x00\x00\x00\x00\x00\x18\x40\xa0\xa3\xa1\xa2\xa0\x21\x01\x20\x03\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\x21\x03\x20\x02\x44\x00\x00\x00\x00\x00\x00\xb0\x3f\xa2\x21\x02\x20\x00\x41\x7f\x6a\x22\x00\x0d\x00\x0b\x0b\x20\x01\x0b"); + +// float_exprs.wast:2553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x03\x24\x39\x35\x03\x74\x61\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x0a\x10\x00\xbd\x44\x14\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$95", $95)), "run", [])); // assert_return(() => call($95, "tau", [10]), 6.28318530718) + +// float_exprs.wast:2554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x03\x24\x39\x35\x03\x74\x61\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x41\x0b\x10\x00\xbd\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$95", $95)), "run", [])); // assert_return(() => call($95, "tau", [11]), 6.28318530718) + +// float_exprs.wast:2558 +let $96 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xbd\x80\x80\x80\x00\x02\x1b\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x61\x6c\x5f\x69\x6e\x63\x00\x00\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x61\x6c\x5f\x69\x6e\x63\x00\x01\x0a\xbd\x80\x80\x80\x00\x02\x95\x80\x80\x80\x00\x00\x20\x00\x20\x00\x43\x00\x00\x80\x3f\x92\x20\x01\x43\x00\x00\x00\x00\x5d\x1b\x0b\x9d\x80\x80\x80\x00\x00\x20\x00\x20\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\x20\x01\x44\x00\x00\x00\x00\x00\x00\x00\x00\x63\x1b\x0b"); + +// float_exprs.wast:2569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x39\x36\x1b\x66\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x61\x6c\x5f\x69\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x80\x43\x00\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$96", $96)), "run", [])); // assert_return(() => call($96, "f32.no_fold_conditional_inc", [-0., -1.]), -0.) + +// float_exprs.wast:2570 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\xa3\x80\x80\x80\x00\x01\x03\x24\x39\x36\x1b\x66\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x61\x6c\x5f\x69\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x80\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$96", $96)), "run", [])); // assert_return(() => call($96, "f64.no_fold_conditional_inc", [-0., -1.]), -0.) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/float_literals.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/float_literals.wast.js new file mode 100644 index 0000000000..3daa01ca97 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/float_literals.wast.js @@ -0,0 +1,183 @@ + +// float_literals.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x00\x01\x7e\x03\xbd\x80\x80\x80\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\x9d\x89\x80\x80\x00\x3c\x07\x66\x33\x32\x2e\x6e\x61\x6e\x00\x00\x10\x66\x33\x32\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x01\x10\x66\x33\x32\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x02\x0d\x66\x33\x32\x2e\x70\x6c\x61\x69\x6e\x5f\x6e\x61\x6e\x00\x03\x22\x66\x33\x32\x2e\x69\x6e\x66\x6f\x72\x6d\x61\x6c\x6c\x79\x5f\x6b\x6e\x6f\x77\x6e\x5f\x61\x73\x5f\x70\x6c\x61\x69\x6e\x5f\x73\x6e\x61\x6e\x00\x04\x10\x66\x33\x32\x2e\x61\x6c\x6c\x5f\x6f\x6e\x65\x73\x5f\x6e\x61\x6e\x00\x05\x0c\x66\x33\x32\x2e\x6d\x69\x73\x63\x5f\x6e\x61\x6e\x00\x06\x15\x66\x33\x32\x2e\x6d\x69\x73\x63\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x07\x15\x66\x33\x32\x2e\x6d\x69\x73\x63\x5f\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x08\x0c\x66\x33\x32\x2e\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x09\x15\x66\x33\x32\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x0a\x15\x66\x33\x32\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x0b\x08\x66\x33\x32\x2e\x7a\x65\x72\x6f\x00\x0c\x11\x66\x33\x32\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x0d\x11\x66\x33\x32\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x0e\x08\x66\x33\x32\x2e\x6d\x69\x73\x63\x00\x0f\x10\x66\x33\x32\x2e\x6d\x69\x6e\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x00\x10\x0e\x66\x33\x32\x2e\x6d\x69\x6e\x5f\x6e\x6f\x72\x6d\x61\x6c\x00\x11\x0e\x66\x33\x32\x2e\x6d\x61\x78\x5f\x66\x69\x6e\x69\x74\x65\x00\x12\x11\x66\x33\x32\x2e\x6d\x61\x78\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x13\x10\x66\x33\x32\x2e\x74\x72\x61\x69\x6c\x69\x6e\x67\x5f\x64\x6f\x74\x00\x14\x0c\x66\x33\x32\x5f\x64\x65\x63\x2e\x7a\x65\x72\x6f\x00\x15\x15\x66\x33\x32\x5f\x64\x65\x63\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x16\x15\x66\x33\x32\x5f\x64\x65\x63\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x17\x0c\x66\x33\x32\x5f\x64\x65\x63\x2e\x6d\x69\x73\x63\x00\x18\x14\x66\x33\x32\x5f\x64\x65\x63\x2e\x6d\x69\x6e\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x00\x19\x12\x66\x33\x32\x5f\x64\x65\x63\x2e\x6d\x69\x6e\x5f\x6e\x6f\x72\x6d\x61\x6c\x00\x1a\x15\x66\x33\x32\x5f\x64\x65\x63\x2e\x6d\x61\x78\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x1b\x12\x66\x33\x32\x5f\x64\x65\x63\x2e\x6d\x61\x78\x5f\x66\x69\x6e\x69\x74\x65\x00\x1c\x14\x66\x33\x32\x5f\x64\x65\x63\x2e\x74\x72\x61\x69\x6c\x69\x6e\x67\x5f\x64\x6f\x74\x00\x1d\x07\x66\x36\x34\x2e\x6e\x61\x6e\x00\x1e\x10\x66\x36\x34\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x1f\x10\x66\x36\x34\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x20\x0d\x66\x36\x34\x2e\x70\x6c\x61\x69\x6e\x5f\x6e\x61\x6e\x00\x21\x22\x66\x36\x34\x2e\x69\x6e\x66\x6f\x72\x6d\x61\x6c\x6c\x79\x5f\x6b\x6e\x6f\x77\x6e\x5f\x61\x73\x5f\x70\x6c\x61\x69\x6e\x5f\x73\x6e\x61\x6e\x00\x22\x10\x66\x36\x34\x2e\x61\x6c\x6c\x5f\x6f\x6e\x65\x73\x5f\x6e\x61\x6e\x00\x23\x0c\x66\x36\x34\x2e\x6d\x69\x73\x63\x5f\x6e\x61\x6e\x00\x24\x15\x66\x36\x34\x2e\x6d\x69\x73\x63\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x25\x15\x66\x36\x34\x2e\x6d\x69\x73\x63\x5f\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x26\x0c\x66\x36\x34\x2e\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x27\x15\x66\x36\x34\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x28\x15\x66\x36\x34\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x29\x08\x66\x36\x34\x2e\x7a\x65\x72\x6f\x00\x2a\x11\x66\x36\x34\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x2b\x11\x66\x36\x34\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x2c\x08\x66\x36\x34\x2e\x6d\x69\x73\x63\x00\x2d\x10\x66\x36\x34\x2e\x6d\x69\x6e\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x00\x2e\x0e\x66\x36\x34\x2e\x6d\x69\x6e\x5f\x6e\x6f\x72\x6d\x61\x6c\x00\x2f\x11\x66\x36\x34\x2e\x6d\x61\x78\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x30\x0e\x66\x36\x34\x2e\x6d\x61\x78\x5f\x66\x69\x6e\x69\x74\x65\x00\x31\x10\x66\x36\x34\x2e\x74\x72\x61\x69\x6c\x69\x6e\x67\x5f\x64\x6f\x74\x00\x32\x0c\x66\x36\x34\x5f\x64\x65\x63\x2e\x7a\x65\x72\x6f\x00\x33\x15\x66\x36\x34\x5f\x64\x65\x63\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x34\x15\x66\x36\x34\x5f\x64\x65\x63\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x35\x0c\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x69\x73\x63\x00\x36\x14\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x69\x6e\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x00\x37\x12\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x69\x6e\x5f\x6e\x6f\x72\x6d\x61\x6c\x00\x38\x15\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x61\x78\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x39\x12\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x61\x78\x5f\x66\x69\x6e\x69\x74\x65\x00\x3a\x14\x66\x36\x34\x5f\x64\x65\x63\x2e\x74\x72\x61\x69\x6c\x69\x6e\x67\x5f\x64\x6f\x74\x00\x3b\x0a\x85\x87\x80\x80\x00\x3c\x88\x80\x80\x80\x00\x00\x43\x00\x00\xc0\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\xc0\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\xc0\xff\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\xc0\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\xa0\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xff\xff\xff\xff\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x45\x23\x81\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x50\x40\xb0\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xde\xbc\xaa\xff\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x80\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x80\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x80\xff\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x80\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xdb\x0f\xc9\x40\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x01\x00\x00\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x80\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x80\x44\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x80\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xdb\x0f\xc9\x40\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x01\x00\x00\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\x00\x00\x80\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x00\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xff\xff\x7f\x7f\xbc\x0b\x88\x80\x80\x80\x00\x00\x43\xf9\x02\x15\x50\xbc\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\xff\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xff\xff\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\xbc\x9a\x78\x56\x34\x12\xf0\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x09\x08\x07\x06\x05\x04\xf3\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x45\x23\x01\xef\xcd\xab\xf2\xff\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x30\x46\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x18\x2d\x44\x54\xfb\x21\x19\x40\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x0b\x8c\x80\x80\x80\x00\x00\x44\x7d\xc3\x94\x25\xad\x49\xb2\x54\xbd\x0b"); + +// float_literals.wast:77 +assert_return(() => call($1, "f32.nan", []), 2143289344); + +// float_literals.wast:78 +assert_return(() => call($1, "f32.positive_nan", []), 2143289344); + +// float_literals.wast:79 +assert_return(() => call($1, "f32.negative_nan", []), -4194304); + +// float_literals.wast:80 +assert_return(() => call($1, "f32.plain_nan", []), 2143289344); + +// float_literals.wast:81 +assert_return(() => call($1, "f32.informally_known_as_plain_snan", []), 2141192192); + +// float_literals.wast:82 +assert_return(() => call($1, "f32.all_ones_nan", []), -1); + +// float_literals.wast:83 +assert_return(() => call($1, "f32.misc_nan", []), 2139169605); + +// float_literals.wast:84 +assert_return(() => call($1, "f32.misc_positive_nan", []), 2142257232); + +// float_literals.wast:85 +assert_return(() => call($1, "f32.misc_negative_nan", []), -5587746); + +// float_literals.wast:86 +assert_return(() => call($1, "f32.infinity", []), 2139095040); + +// float_literals.wast:87 +assert_return(() => call($1, "f32.positive_infinity", []), 2139095040); + +// float_literals.wast:88 +assert_return(() => call($1, "f32.negative_infinity", []), -8388608); + +// float_literals.wast:89 +assert_return(() => call($1, "f32.zero", []), 0); + +// float_literals.wast:90 +assert_return(() => call($1, "f32.positive_zero", []), 0); + +// float_literals.wast:91 +assert_return(() => call($1, "f32.negative_zero", []), -2147483648); + +// float_literals.wast:92 +assert_return(() => call($1, "f32.misc", []), 1086918619); + +// float_literals.wast:93 +assert_return(() => call($1, "f32.min_positive", []), 1); + +// float_literals.wast:94 +assert_return(() => call($1, "f32.min_normal", []), 8388608); + +// float_literals.wast:95 +assert_return(() => call($1, "f32.max_subnormal", []), 8388607); + +// float_literals.wast:96 +assert_return(() => call($1, "f32.max_finite", []), 2139095039); + +// float_literals.wast:97 +assert_return(() => call($1, "f32.trailing_dot", []), 1149239296); + +// float_literals.wast:98 +assert_return(() => call($1, "f32_dec.zero", []), 0); + +// float_literals.wast:99 +assert_return(() => call($1, "f32_dec.positive_zero", []), 0); + +// float_literals.wast:100 +assert_return(() => call($1, "f32_dec.negative_zero", []), -2147483648); + +// float_literals.wast:101 +assert_return(() => call($1, "f32_dec.misc", []), 1086918619); + +// float_literals.wast:102 +assert_return(() => call($1, "f32_dec.min_positive", []), 1); + +// float_literals.wast:103 +assert_return(() => call($1, "f32_dec.min_normal", []), 8388608); + +// float_literals.wast:104 +assert_return(() => call($1, "f32_dec.max_subnormal", []), 8388607); + +// float_literals.wast:105 +assert_return(() => call($1, "f32_dec.max_finite", []), 2139095039); + +// float_literals.wast:106 +assert_return(() => call($1, "f32_dec.trailing_dot", []), 1343554297); + +// float_literals.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nan", []), int64("9221120237041090560")) + +// float_literals.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x66\x36\x34\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.positive_nan", []), int64("9221120237041090560")) + +// float_literals.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x66\x36\x34\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x7c\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.negative_nan", []), int64("-2251799813685248")) + +// float_literals.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x02\x24\x31\x0d\x66\x36\x34\x2e\x70\x6c\x61\x69\x6e\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.plain_nan", []), int64("9221120237041090560")) + +// float_literals.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\xa9\x80\x80\x80\x00\x01\x02\x24\x31\x22\x66\x36\x34\x2e\x69\x6e\x66\x6f\x72\x6d\x61\x6c\x6c\x79\x5f\x6b\x6e\x6f\x77\x6e\x5f\x61\x73\x5f\x70\x6c\x61\x69\x6e\x5f\x73\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.informally_known_as_plain_snan", []), int64("9219994337134247936")) + +// float_literals.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x66\x36\x34\x2e\x61\x6c\x6c\x5f\x6f\x6e\x65\x73\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.all_ones_nan", []), int64("-1")) + +// float_literals.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x2e\x6d\x69\x73\x63\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xbc\xb5\xe2\xb3\xc5\xc6\x84\xf8\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.misc_nan", []), int64("9218888453225749180")) + +// float_literals.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x2e\x6d\x69\x73\x63\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x89\x90\x9c\xb0\xd0\x80\xc1\xf9\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.misc_positive_nan", []), int64("9219717281780008969")) + +// float_literals.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x2e\x6d\x69\x73\x63\x5f\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x6e\x61\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xc5\xc6\x84\xf8\xde\xf9\xaa\x79\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.misc_negative_nan", []), int64("-3751748707474619")) + +// float_literals.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x2e\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xf8\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.infinity", []), int64("9218868437227405312")) + +// float_literals.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xf8\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.positive_infinity", []), int64("9218868437227405312")) + +// float_literals.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x69\x6e\x66\x69\x6e\x69\x74\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x78\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.negative_infinity", []), int64("-4503599627370496")) + +// float_literals.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.zero", []), int64("0")) + +// float_literals.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.positive_zero", []), int64("0")) + +// float_literals.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.negative_zero", []), int64("-9223372036854775808")) + +// float_literals.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x6d\x69\x73\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x98\xda\x90\xa2\xb5\xbf\xc8\x8c\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.misc", []), int64("4618760256179416344")) + +// float_literals.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x66\x36\x34\x2e\x6d\x69\x6e\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.min_positive", []), int64("1")) + +// float_literals.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x36\x34\x2e\x6d\x69\x6e\x5f\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.min_normal", []), int64("4503599627370496")) + +// float_literals.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x66\x36\x34\x2e\x6d\x61\x78\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.max_subnormal", []), int64("4503599627370495")) + +// float_literals.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x66\x36\x34\x2e\x6d\x61\x78\x5f\x66\x69\x6e\x69\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xf7\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.max_finite", []), int64("9218868437227405311")) + +// float_literals.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x66\x36\x34\x2e\x74\x72\x61\x69\x6c\x69\x6e\x67\x5f\x64\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x98\xc6\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.trailing_dot", []), int64("5057542381537067008")) + +// float_literals.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x5f\x64\x65\x63\x2e\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.zero", []), int64("0")) + +// float_literals.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x5f\x64\x65\x63\x2e\x70\x6f\x73\x69\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.positive_zero", []), int64("0")) + +// float_literals.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x5f\x64\x65\x63\x2e\x6e\x65\x67\x61\x74\x69\x76\x65\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.negative_zero", []), int64("-9223372036854775808")) + +// float_literals.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x69\x73\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x98\xda\x90\xa2\xb5\xbf\xc8\x8c\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.misc", []), int64("4618760256179416344")) + +// float_literals.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x31\x14\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x69\x6e\x5f\x70\x6f\x73\x69\x74\x69\x76\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.min_positive", []), int64("1")) + +// float_literals.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x69\x6e\x5f\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.min_normal", []), int64("4503599627370496")) + +// float_literals.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x31\x15\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x61\x78\x5f\x73\x75\x62\x6e\x6f\x72\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.max_subnormal", []), int64("4503599627370495")) + +// float_literals.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x99\x80\x80\x80\x00\x01\x02\x24\x31\x12\x66\x36\x34\x5f\x64\x65\x63\x2e\x6d\x61\x78\x5f\x66\x69\x6e\x69\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xf7\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.max_finite", []), int64("9218868437227405311")) + +// float_literals.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x31\x14\x66\x36\x34\x5f\x64\x65\x63\x2e\x74\x72\x61\x69\x6c\x69\x6e\x67\x5f\x64\x6f\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xfd\x86\xd3\xac\xd2\xb5\x92\xd9\xd4\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64_dec.trailing_dot", []), int64("6103021453049119613")) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/float_memory.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/float_memory.wast.js new file mode 100644 index 0000000000..43ce3423ac --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/float_memory.wast.js @@ -0,0 +1,270 @@ + +// float_memory.wast:5 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x03\x60\x00\x01\x7d\x60\x00\x01\x7f\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x01\x02\x02\x02\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xb7\x80\x80\x80\x00\x05\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x02\x09\x69\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x03\x05\x72\x65\x73\x65\x74\x00\x04\x0a\xca\x80\x80\x80\x00\x05\x87\x80\x80\x80\x00\x00\x41\x00\x2a\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x00\x28\x02\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\xa0\x7f\x38\x02\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x41\x80\x80\x80\xfd\x07\x36\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x00\x41\x00\x36\x02\x00\x0b\x0b\x8a\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x04\x00\x00\xa0\x7f"); + +// float_memory.wast:15 +assert_return(() => call($1, "i32.load", []), 2141192192); + +// float_memory.wast:16 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.load", []), NaN) + +// float_memory.wast:17 +run(() => call($1, "reset", [])); + +// float_memory.wast:18 +assert_return(() => call($1, "i32.load", []), 0); + +// float_memory.wast:19 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.load", []), 0.) + +// float_memory.wast:20 +run(() => call($1, "f32.store", [])); + +// float_memory.wast:21 +assert_return(() => call($1, "i32.load", []), 2141192192); + +// float_memory.wast:22 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.load", []), NaN) + +// float_memory.wast:23 +run(() => call($1, "reset", [])); + +// float_memory.wast:24 +assert_return(() => call($1, "i32.load", []), 0); + +// float_memory.wast:25 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.load", []), 0.) + +// float_memory.wast:26 +run(() => call($1, "i32.store", [])); + +// float_memory.wast:27 +assert_return(() => call($1, "i32.load", []), 2141192192); + +// float_memory.wast:28 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.load", []), NaN) + +// float_memory.wast:30 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x03\x60\x00\x01\x7c\x60\x00\x01\x7e\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x01\x02\x02\x02\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xb7\x80\x80\x80\x00\x05\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x02\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x03\x05\x72\x65\x73\x65\x74\x00\x04\x0a\xd3\x80\x80\x80\x00\x05\x87\x80\x80\x80\x00\x00\x41\x00\x2b\x03\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x00\x29\x03\x00\x0b\x90\x80\x80\x80\x00\x00\x41\x00\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x39\x03\x00\x0b\x92\x80\x80\x80\x00\x00\x41\x00\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x37\x03\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x00\x42\x00\x37\x03\x00\x0b\x0b\x8e\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x08\x00\x00\x00\x00\x00\x00\xf4\x7f"); + +// float_memory.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", []), int64("9219994337134247936")) + +// float_memory.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.load", []), NaN) + +// float_memory.wast:42 +run(() => call($2, "reset", [])); + +// float_memory.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", []), int64("0")) + +// float_memory.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.load", []), 0.) + +// float_memory.wast:45 +run(() => call($2, "f64.store", [])); + +// float_memory.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", []), int64("9219994337134247936")) + +// float_memory.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.load", []), NaN) + +// float_memory.wast:48 +run(() => call($2, "reset", [])); + +// float_memory.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", []), int64("0")) + +// float_memory.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.load", []), 0.) + +// float_memory.wast:51 +run(() => call($2, "i64.store", [])); + +// float_memory.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", []), int64("9219994337134247936")) + +// float_memory.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "f64.load", []), NaN) + +// float_memory.wast:57 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x03\x60\x00\x01\x7d\x60\x00\x01\x7f\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x01\x02\x02\x02\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xb7\x80\x80\x80\x00\x05\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x02\x09\x69\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x03\x05\x72\x65\x73\x65\x74\x00\x04\x0a\xca\x80\x80\x80\x00\x05\x87\x80\x80\x80\x00\x00\x41\x01\x2a\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x01\x28\x02\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x01\x43\x00\x00\xa0\x7f\x38\x02\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x01\x41\x80\x80\x80\xfd\x07\x36\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x01\x41\x00\x36\x02\x00\x0b\x0b\x8b\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x05\x00\x00\x00\xa0\x7f"); + +// float_memory.wast:67 +assert_return(() => call($3, "i32.load", []), 2141192192); + +// float_memory.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x33\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f32.load", []), NaN) + +// float_memory.wast:69 +run(() => call($3, "reset", [])); + +// float_memory.wast:70 +assert_return(() => call($3, "i32.load", []), 0); + +// float_memory.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x33\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f32.load", []), 0.) + +// float_memory.wast:72 +run(() => call($3, "f32.store", [])); + +// float_memory.wast:73 +assert_return(() => call($3, "i32.load", []), 2141192192); + +// float_memory.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x33\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f32.load", []), NaN) + +// float_memory.wast:75 +run(() => call($3, "reset", [])); + +// float_memory.wast:76 +assert_return(() => call($3, "i32.load", []), 0); + +// float_memory.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x33\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f32.load", []), 0.) + +// float_memory.wast:78 +run(() => call($3, "i32.store", [])); + +// float_memory.wast:79 +assert_return(() => call($3, "i32.load", []), 2141192192); + +// float_memory.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x33\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\xa0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "f32.load", []), NaN) + +// float_memory.wast:82 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x03\x60\x00\x01\x7c\x60\x00\x01\x7e\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x01\x02\x02\x02\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xb7\x80\x80\x80\x00\x05\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x02\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x03\x05\x72\x65\x73\x65\x74\x00\x04\x0a\xd3\x80\x80\x80\x00\x05\x87\x80\x80\x80\x00\x00\x41\x01\x2b\x03\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x01\x29\x03\x00\x0b\x90\x80\x80\x80\x00\x00\x41\x01\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\x39\x03\x00\x0b\x92\x80\x80\x80\x00\x00\x41\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x37\x03\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x01\x42\x00\x37\x03\x00\x0b\x0b\x8f\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x09\x00\x00\x00\x00\x00\x00\x00\xf4\x7f"); + +// float_memory.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.load", []), int64("9219994337134247936")) + +// float_memory.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f64.load", []), NaN) + +// float_memory.wast:94 +run(() => call($4, "reset", [])); + +// float_memory.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.load", []), int64("0")) + +// float_memory.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f64.load", []), 0.) + +// float_memory.wast:97 +run(() => call($4, "f64.store", [])); + +// float_memory.wast:98 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.load", []), int64("9219994337134247936")) + +// float_memory.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f64.load", []), NaN) + +// float_memory.wast:100 +run(() => call($4, "reset", [])); + +// float_memory.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.load", []), int64("0")) + +// float_memory.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f64.load", []), 0.) + +// float_memory.wast:103 +run(() => call($4, "i64.store", [])); + +// float_memory.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\xfa\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.load", []), int64("9219994337134247936")) + +// float_memory.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x34\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf4\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "f64.load", []), NaN) + +// float_memory.wast:109 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x03\x60\x00\x01\x7d\x60\x00\x01\x7f\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x01\x02\x02\x02\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xb7\x80\x80\x80\x00\x05\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x02\x09\x69\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x03\x05\x72\x65\x73\x65\x74\x00\x04\x0a\xca\x80\x80\x80\x00\x05\x87\x80\x80\x80\x00\x00\x41\x00\x2a\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x00\x28\x02\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x01\x00\xd0\x7f\x38\x02\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x00\x41\x81\x80\xc0\xfe\x07\x36\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x00\x41\x00\x36\x02\x00\x0b\x0b\x8a\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x04\x01\x00\xd0\x7f"); + +// float_memory.wast:119 +assert_return(() => call($5, "i32.load", []), 2144337921); + +// float_memory.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x35\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x01\x00\xd0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "f32.load", []), NaN) + +// float_memory.wast:121 +run(() => call($5, "reset", [])); + +// float_memory.wast:122 +assert_return(() => call($5, "i32.load", []), 0); + +// float_memory.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x35\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "f32.load", []), 0.) + +// float_memory.wast:124 +run(() => call($5, "f32.store", [])); + +// float_memory.wast:125 +assert_return(() => call($5, "i32.load", []), 2144337921); + +// float_memory.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x35\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x01\x00\xd0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "f32.load", []), NaN) + +// float_memory.wast:127 +run(() => call($5, "reset", [])); + +// float_memory.wast:128 +assert_return(() => call($5, "i32.load", []), 0); + +// float_memory.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x35\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "f32.load", []), 0.) + +// float_memory.wast:130 +run(() => call($5, "i32.store", [])); + +// float_memory.wast:131 +assert_return(() => call($5, "i32.load", []), 2144337921); + +// float_memory.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x35\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x01\x00\xd0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "f32.load", []), NaN) + +// float_memory.wast:134 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x03\x60\x00\x01\x7c\x60\x00\x01\x7e\x60\x00\x00\x03\x86\x80\x80\x80\x00\x05\x00\x01\x02\x02\x02\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xb7\x80\x80\x80\x00\x05\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x02\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x03\x05\x72\x65\x73\x65\x74\x00\x04\x0a\xd3\x80\x80\x80\x00\x05\x87\x80\x80\x80\x00\x00\x41\x00\x2b\x03\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x00\x29\x03\x00\x0b\x90\x80\x80\x80\x00\x00\x41\x00\x44\x01\x00\x00\x00\x00\x00\xfc\x7f\x39\x03\x00\x0b\x92\x80\x80\x80\x00\x00\x41\x00\x42\x81\x80\x80\x80\x80\x80\x80\xfe\xff\x00\x37\x03\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x00\x42\x00\x37\x03\x00\x0b\x0b\x8e\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x08\x01\x00\x00\x00\x00\x00\xfc\x7f"); + +// float_memory.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\xfe\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.load", []), int64("9222246136947933185")) + +// float_memory.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xfc\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.load", []), NaN) + +// float_memory.wast:146 +run(() => call($6, "reset", [])); + +// float_memory.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.load", []), int64("0")) + +// float_memory.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.load", []), 0.) + +// float_memory.wast:149 +run(() => call($6, "f64.store", [])); + +// float_memory.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\xfe\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.load", []), int64("9222246136947933185")) + +// float_memory.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xfc\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.load", []), NaN) + +// float_memory.wast:152 +run(() => call($6, "reset", [])); + +// float_memory.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.load", []), int64("0")) + +// float_memory.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.load", []), 0.) + +// float_memory.wast:155 +run(() => call($6, "i64.store", [])); + +// float_memory.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\xfe\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.load", []), int64("9222246136947933185")) + +// float_memory.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x36\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xfc\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "f64.load", []), NaN) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/float_misc.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/float_misc.wast.js new file mode 100644 index 0000000000..f65d348497 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/float_misc.wast.js @@ -0,0 +1,1323 @@ + +// float_misc.wast:17 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x97\x80\x80\x80\x00\x04\x60\x02\x7d\x7d\x01\x7d\x60\x01\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x60\x01\x7c\x01\x7c\x03\x9d\x80\x80\x80\x00\x1c\x00\x00\x00\x00\x01\x01\x01\x00\x01\x01\x01\x01\x00\x00\x02\x02\x02\x02\x03\x03\x03\x02\x03\x03\x03\x03\x02\x02\x07\xb7\x82\x80\x80\x00\x1c\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x00\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x02\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x03\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x04\x07\x66\x33\x32\x2e\x61\x62\x73\x00\x05\x07\x66\x33\x32\x2e\x6e\x65\x67\x00\x06\x0c\x66\x33\x32\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x07\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x08\x09\x66\x33\x32\x2e\x66\x6c\x6f\x6f\x72\x00\x09\x09\x66\x33\x32\x2e\x74\x72\x75\x6e\x63\x00\x0a\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x0b\x07\x66\x33\x32\x2e\x6d\x69\x6e\x00\x0c\x07\x66\x33\x32\x2e\x6d\x61\x78\x00\x0d\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x0e\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x0f\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x10\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x11\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x12\x07\x66\x36\x34\x2e\x61\x62\x73\x00\x13\x07\x66\x36\x34\x2e\x6e\x65\x67\x00\x14\x0c\x66\x36\x34\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x15\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x16\x09\x66\x36\x34\x2e\x66\x6c\x6f\x6f\x72\x00\x17\x09\x66\x36\x34\x2e\x74\x72\x75\x6e\x63\x00\x18\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x19\x07\x66\x36\x34\x2e\x6d\x69\x6e\x00\x1a\x07\x66\x36\x34\x2e\x6d\x61\x78\x00\x1b\x0a\xb5\x82\x80\x80\x00\x1c\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x92\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x93\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x94\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x95\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x91\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8b\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x98\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8d\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8e\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x8f\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x90\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x96\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x97\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa0\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa1\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa2\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa3\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9f\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x99\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9a\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa6\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9b\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9c\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9d\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x9e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa4\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\xa5\x0b"); + +// float_misc.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x6f\xcd\x8f\x3f\x43\x16\xbc\x07\x2f\x10\x00\xbc\x43\x6f\xcd\x8f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [1.12345683575, 1.23450000222e-10]), 1.12345683575) + +// float_misc.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x36\x96\x73\xd3\xad\xf9\xf1\x3f\x44\x3f\xc8\x7c\xbf\x82\xf7\xe0\x3d\x10\x00\xbd\x44\xf7\x11\x7c\xd3\xad\xf9\xf1\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.123456789, 1.2345e-10]), 1.12345678912) + +// float_misc.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x33\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [1., 5.96046447754e-08]), 1.) + +// float_misc.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x80\x33\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [1., 5.96046518808e-08]), 1.00000011921) + +// float_misc.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xa0\x3c\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1., 1.11022302463e-16]), 1.) + +// float_misc.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\xa0\x3c\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1., 1.11022302463e-16]), 1.) + +// float_misc.wast:61 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x00\x43\xff\xff\x7f\x00\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [1.40129846432e-45, 1.17549421069e-38]), 1.17549435082e-38) + +// float_misc.wast:62 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x00\x00\x44\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.94065645841e-324, 2.22507385851e-308]), 2.22507385851e-308) + +// float_misc.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x4f\x43\x00\x08\x80\x44\x10\x00\xbc\x43\x04\x00\x00\x4f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [2147483648., 1024.25]), 2147484672.) + +// float_misc.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xe0\x43\x44\x00\x00\x00\x00\x00\x01\x90\x40\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xe0\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [9.22337203685e+18, 1024.25]), 9.22337203685e+18) + +// float_misc.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x80\x44\x16\x17\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-3.64556100978e-304, 2.91992796692e-320]), -3.64556100978e-304) + +// float_misc.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x40\x43\x44\x72\xc4\x5a\x7c\x0a\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [9.00719925474e+15, 1.00001]), 9.00719925474e+15) + +// float_misc.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x40\x43\x44\x00\x00\x00\x00\xe0\xff\xef\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [9.00719925474e+15, 0.999984741211]), 9.00719925474e+15) + +// float_misc.wast:81 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x4b\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x00\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [8388608., 0.5]), 8388608.) + +// float_misc.wast:82 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x4b\x43\x00\x00\x00\x3f\x10\x00\xbc\x43\x02\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [8388609., 0.5]), 8388610.) + +// float_misc.wast:83 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x30\x43\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.50359962737e+15, 0.5]), 4.50359962737e+15) + +// float_misc.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x30\x43\x44\x00\x00\x00\x00\x00\x00\xe0\x3f\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.50359962737e+15, 0.5]), 4.50359962737e+15) + +// float_misc.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xad\xb3\x9c\xf2\x43\xa6\x64\x3b\x0e\x10\x00\xbc\x43\xad\xb3\x9c\xf2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-6.20760015658e+30, 2.30979900343e-30]), -6.20760015658e+30) + +// float_misc.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x92\x07\x36\x61\x43\x68\xc9\x95\xd9\x10\x00\xbc\x43\x66\x06\x36\x61\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [2.09865807495e+20, -5.27015250546e+15]), 2.09860529839e+20) + +// float_misc.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x8c\x11\x73\x16\x43\x5f\xa5\x7b\x01\x10\x00\xbc\x43\x8c\x11\x73\x16\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [1.96349204943e-25, 4.62200670123e-38]), 1.96349204943e-25) + +// float_misc.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xea\x38\x15\x53\x43\x86\xf8\x64\xdb\x10\x00\xbc\x43\xf1\xf7\x64\xdb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [640904986624., -6.44495490993e+16]), -6.44489091492e+16) + +// float_misc.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x9b\x7b\x7c\x38\x43\x2f\xea\xbd\x74\x10\x00\xbc\x43\x2f\xea\xbd\x74\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [6.0196598497e-05, 1.20372792216e+32]), 1.20372792216e+32) + +// float_misc.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xaa\x27\xca\xfb\xe1\x33\x2f\x26\x44\x10\xd6\x1e\x89\x92\xb1\x86\xcf\x10\x00\xbd\x44\x10\xd6\x1e\x89\x92\xb1\x86\xcf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [9.218993827e-125, -1.28307824388e+75]), -1.28307824388e+75) + +// float_misc.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb1\xee\x30\xd1\x75\x6f\xb4\xc4\x44\xac\xa4\xf7\xd6\x75\x52\x72\x34\x10\x00\xbd\x44\xb1\xee\x30\xd1\x75\x6f\xb4\xc4\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-9.65034078701e+22, 4.67020898848e-56]), -9.65034078701e+22) + +// float_misc.wast:94 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x31\xa7\x65\x92\xec\x4d\xb0\x36\x44\x7c\x12\x8c\x4e\xed\x1e\x31\xbf\x10\x00\xbd\x44\x7c\x12\x8c\x4e\xed\x1e\x31\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [2.85591476754e-45, -0.000261242805707]), -0.000261242805707) + +// float_misc.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x0a\x6b\x16\xb7\x73\x57\x00\x5f\x44\x7b\xa3\x2d\x2f\x02\x34\x11\x44\x10\x00\xbd\x44\x0a\x6b\x16\xb7\x73\x57\x00\x5f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.17909928165e+149, 7.93355647415e+19]), 4.17909928165e+149) + +// float_misc.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x82\x2a\x28\x94\xf7\xf4\x0e\x54\x44\xe0\xad\x6b\x26\x82\x4a\x91\x58\x10\x00\xbd\x44\xe0\xad\x6b\x26\x82\x4a\x91\x58\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [8.26544286875e+96, 4.3603327839e+118]), 4.3603327839e+118) + +// float_misc.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xbb\xfc\x8d\x63\x43\x34\xac\xbf\xc9\x10\x00\xbc\x43\xbb\xfc\x8d\x63\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [5.23840412782e+21, -1570182.5]), 5.23840412782e+21) + +// float_misc.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x36\xce\x3f\x29\x43\x87\xdd\xdc\x98\x10\x00\xbc\x43\x36\xce\x3f\x29\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [4.25893790178e-14, -5.7092352567e-24]), 4.25893790178e-14) + +// float_misc.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xde\x68\x99\xaa\x43\x0a\xe9\x7b\x7e\x10\x00\xbc\x43\x0a\xe9\x7b\x7e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-2.72510258716e-13, 8.37115587335e+37]), 8.37115587335e+37) + +// float_misc.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x07\x2e\xc7\xa9\x43\x26\x7d\x9d\x8a\x10\x00\xbc\x43\x07\x2e\xc7\xa9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-8.84535974739e-14, -1.51656256735e-32]), -8.84535974739e-14) + +// float_misc.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xbc\xe6\x89\x3a\x43\x8b\x79\x1d\x8a\x10\x00\xbc\x43\xbc\xe6\x89\x3a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [0.00105210347101, -7.58213472342e-33]), 0.00105210347101) + +// float_misc.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x4a\x7d\xa9\x5c\xd1\x8d\x2f\x4b\x44\xbf\xe8\x1f\x7d\x31\x67\x03\x9f\x10\x00\xbd\x44\x4a\x7d\xa9\x5c\xd1\x8d\x2f\x4b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.51113522819e+54, -2.7602181006e-159]), 1.51113522819e+54) + +// float_misc.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8c\x22\x39\xd7\x08\xdb\xa5\x49\x44\xcb\x7d\x14\xfa\x16\xb3\x2f\xbc\x10\x00\xbd\x44\x8c\x22\x39\xd7\x08\xdb\xa5\x49\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [6.23867197604e+46, -8.59218548884e-19]), 6.23867197604e+46) + +// float_misc.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x07\x5c\xb8\x3c\x40\xbb\xbb\x26\x44\xf3\xbb\xb8\x46\x40\xe4\xc7\x82\x10\x00\xbd\x44\x07\x5c\xb8\x3c\x40\xbb\xbb\x26\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.19502284844e-122, -2.92253420226e-295]), 4.19502284844e-122) + +// float_misc.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x31\x18\x29\xaf\x38\x4d\x23\xc9\x44\x53\x99\x43\x47\x0b\x89\xa9\xc8\x10\x00\xbd\x44\xca\x5b\x70\xba\xc1\x66\x23\xc9\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-2.15220546715e+44, -1.11222041205e+42]), -2.16332767127e+44) + +// float_misc.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x06\x03\x4e\xdf\xde\x61\x2b\xc0\x44\x4a\x3c\x77\x31\x2f\x9e\x10\x52\x10\x00\xbd\x44\x4a\x3c\x77\x31\x2f\x9e\x10\x52\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-13.6911535056, 2.06611789892e+87]), 2.06611789892e+87) + +// float_misc.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xec\x4d\x09\x85\x43\x09\xa8\x63\x2a\x10\x00\xbc\x43\x09\xa8\x63\x2a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-6.45602103061e-36, 2.02199490333e-13]), 2.02199490333e-13) + +// float_misc.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x51\x02\xe1\xb7\x43\x99\x58\x40\x32\x10\x00\xbc\x43\x46\xea\xe0\xb7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-2.68231688096e-05, 1.11960156701e-08]), -2.68119729299e-05) + +// float_misc.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x0e\x66\xef\xd1\x43\x6d\x44\x63\x09\x10\x00\xbc\x43\x0e\x66\xef\xd1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-128526172160., 2.73563047337e-33]), -128526172160.) + +// float_misc.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x35\xe7\xb0\x04\x43\x49\x94\xbb\xce\x10\x00\xbc\x43\x49\x94\xbb\xce\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [4.15897312732e-36, -1573528704.]), -1573528704.) + +// float_misc.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x13\xe4\x9e\x83\x43\xb3\x1f\x7e\x6f\x10\x00\xbc\x43\xb3\x1f\x7e\x6f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-9.3387686441e-37, 7.86475144986e+28]), 7.86475144986e+28) + +// float_misc.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x0f\x3a\x26\xcc\x8a\xf6\x6b\x0f\x44\xa6\xe5\x65\x29\x35\xf9\xb5\xfe\x10\x00\xbd\x44\xa6\xe5\x65\x29\x35\xf9\xb5\xfe\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [2.19865966507e-234, -2.35447594845e+302]), -2.35447594845e+302) + +// float_misc.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x51\x1f\x91\x70\xaa\x6e\x37\xe0\x44\x7a\xe4\x4c\x32\x46\xd7\xc2\xde\x10\x00\xbd\x44\xb6\xab\x3f\x96\xaa\x6e\x37\xe0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-3.14175619594e+155, -3.01140985146e+148]), -3.14175649708e+155) + +// float_misc.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x7a\x5a\xc1\x82\x7d\x63\x8b\x83\x44\x52\x41\xab\xcc\x54\xc6\x4c\x2e\x10\x00\xbd\x44\x52\x41\xab\xcc\x54\xc6\x4c\x2e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-1.37228583677e-291, 1.15718427497e-85]), 1.15718427497e-85) + +// float_misc.wast:119 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6e\x84\x6e\xb6\x1f\x5b\x2a\xa0\x44\xcc\xb5\x0b\x6f\xd3\xbd\x34\x0a\x10\x00\xbd\x44\x6e\x84\x6e\xb6\x1f\x5b\x2a\xa0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-9.82858375655e-154, 1.68625815748e-259]), -9.82858375655e-154) + +// float_misc.wast:120 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x9e\x0f\x88\xda\x08\x41\x51\xfc\x44\x9f\xe8\x01\x57\xf3\x17\xf4\x71\x10\x00\xbd\x44\x9e\x0f\x88\xda\x08\x41\x51\xfc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-6.72584203522e+290, 8.37400793097e+240]), -6.72584203522e+290) + +// float_misc.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xbc\xfe\x1f\xf2\xca\xa0\x3f\xf2\x44\xf9\x89\xff\xdc\x8f\xca\x94\x73\x10\x00\xbd\x44\x31\x5e\x7c\x5e\x8f\xca\x94\x73\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-2.10896605328e+242, 5.81483233421e+248]), 5.81483022525e+248) + +// float_misc.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x38\xfd\xbd\xfc\xf1\x16\xf0\x70\x44\x2c\x9a\xbc\xfc\xdf\x75\x93\x6e\x10\x00\xbd\x44\x0f\x4b\xbe\xfc\xf1\x16\xf0\x70\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.02315792667e+236, 4.50204300797e+224]), 1.02315792667e+236) + +// float_misc.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x3a\xff\x5b\x6d\xda\xff\xfd\xe6\x44\x82\xf7\xdf\xc2\x8c\x9e\x1f\x6a\x10\x00\xbd\x44\x7b\xf7\xdf\xc2\x8c\x9e\x1f\x6a\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-1.30529978571e+188, 1.5489943422e+203]), 1.5489943422e+203) + +// float_misc.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfb\x7d\x68\x43\x4b\xff\xef\x5c\x44\x09\xa8\xc4\x17\x56\xfd\x40\x60\x10\x00\xbd\x44\x09\xa8\xc4\x17\x56\xfd\x40\x60\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.76299974347e+139, 4.55586451058e+155]), 4.55586451058e+155) + +// float_misc.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa2\x5d\x03\x80\xd3\x35\xc5\x01\x44\x3b\xb7\xdb\xdd\x37\xce\xcc\x03\x10\x00\xbd\x44\x0f\xed\xf0\xdd\x37\xce\xcc\x03\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [3.95895251656e-300, 2.30924607101e-290]), 2.3092460714e-290) + +// float_misc.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6f\xc6\xc0\x3f\xcd\x91\xfd\xee\x44\x34\x97\x22\x80\x8c\xe1\x74\xfb\x10\x00\xbd\x44\x34\x97\x22\x80\x8c\xe1\x74\xfb\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-4.37805584754e+226, -4.96807593474e+286]), -4.96807593474e+286) + +// float_misc.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x72\xe3\x36\xfd\x70\xfc\x0a\x4c\x44\x46\x7b\x37\x9b\x0a\xd1\x0b\xd1\x10\x00\xbd\x44\x46\x7b\x37\x9b\x0a\xd1\x0b\xd1\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [2.11743111685e+58, -2.63859284746e+82]), -2.63859284746e+82) + +// float_misc.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb2\x78\xb0\x70\xd5\xab\xd2\xd2\x44\x5b\xcb\x59\xd7\x1a\x3c\x8b\x25\x10\x00\xbd\x44\xb2\x78\xb0\x70\xd5\xab\xd2\xd2\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-9.5084895617e+90, 7.85806823573e-128]), -9.5084895617e+90) + +// float_misc.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6c\x68\xc0\x84\xae\xb2\x25\xac\x44\x23\x28\x02\x1c\x7a\xba\x1d\xdd\x10\x00\xbd\x44\x23\x28\x02\x1c\x7a\xba\x1d\xdd\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-5.07914492855e-96, -3.54021720742e+140]), -3.54021720742e+140) + +// float_misc.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x38\xbf\x7c\xbd\x27\xc6\x9a\xb3\x44\x59\x8d\x5b\x26\x2e\x31\x12\x02\x10\x00\xbd\x44\x38\xbf\x7c\xbd\x27\xc6\x9a\xb3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-4.16538210399e-60, 1.08659422835e-298]), -4.16538210399e-60) + +// float_misc.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd0\xc8\x95\x79\x43\xa9\xe6\x65\x7f\x10\x00\xbc\x43\x62\xf9\x65\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [9.72156491625e+34, 3.05590867039e+38]), 3.05688080629e+38) + +// float_misc.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc9\x79\x4b\x7f\x43\xf6\x9f\x35\xf5\x10\x00\xbc\x43\xbe\x79\x4b\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [2.70465627829e+38, -2.30236846838e+32]), 2.70465404722e+38) + +// float_misc.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x8e\x97\x89\x7a\x43\x19\xeb\x31\xff\x10\x00\xbc\x43\x4d\xa6\x31\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [3.57209281934e+35, -2.36494052076e+38]), -2.36136838278e+38) + +// float_misc.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x32\xed\x8e\xfb\x43\x70\x81\x77\xff\x10\x00\xbc\x43\x4a\x9f\x78\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-1.48423409279e+36, -3.28991392884e+38]), -3.30475619053e+38) + +// float_misc.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x6d\x6c\x25\xff\x43\x41\x70\x75\xfe\x10\x00\xbc\x43\x7d\xc8\x62\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-2.19885598148e+38, -8.1560928643e+37]), -3.0144652172e+38) + +// float_misc.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8b\x4b\x2a\x9f\x09\x17\xe0\x7f\x44\x54\x54\xf0\x28\x3b\xf6\x41\x7d\x10\x00\xbd\x44\x09\x50\x2a\x9f\x09\x17\xe0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [9.03902049395e+307, 2.2943337422e+295]), 9.03902049396e+307) + +// float_misc.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xef\x84\x49\xc7\xb6\x88\xed\x7f\x44\xbc\xea\x75\x47\x44\x3b\xd3\x7d\x10\x00\xbd\x44\x91\x22\x53\xc7\xb6\x88\xed\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.65916059736e+308, 1.25773493314e+298]), 1.65916059749e+308) + +// float_misc.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x50\xdf\x2f\x42\x76\x45\xe8\xff\x44\x9c\xfb\x12\xaa\xe6\x0e\x36\x7f\x10\x00\xbd\x44\xf1\x9c\x5a\x65\xb4\x42\xe8\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-1.36351292561e+308, 6.05070306039e+304]), -1.36290785531e+308) + +// float_misc.wast:145 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x7d\x9f\xe7\xe3\xac\xaa\x89\xfe\x44\xb6\x5c\x29\xaf\x68\x40\xee\x7f\x10\x00\xbd\x44\x26\xa9\x7e\x48\x68\x40\xee\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-3.43776132582e+301, 1.69947152759e+308]), 1.69947118381e+308) + +// float_misc.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb9\x27\x9f\xe7\xda\x6c\xe0\x7f\x44\x75\xf9\x96\x0c\xcb\x05\xee\xfd\x10\x00\xbd\x44\xee\x21\x81\xe7\xda\x6c\xe0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [9.22734270086e+307, -3.9269416451e+298]), 9.22734269694e+307) + +// float_misc.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x88\x86\x5a\x00\x43\x6f\x02\x00\x00\x10\x00\xbc\x43\xf7\x88\x5a\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [8.31345537333e-39, 8.73008943274e-43]), 8.31432838227e-39) + +// float_misc.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x25\x00\x00\x00\x43\x02\x00\x00\x80\x10\x00\xbc\x43\x23\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [5.184804318e-44, -2.80259692865e-45]), 4.90454462514e-44) + +// float_misc.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x08\x00\x00\x80\x43\x40\x79\x38\x00\x10\x00\xbc\x43\x38\x79\x38\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-1.12103877146e-44, 5.18628408918e-39]), 5.18627287879e-39) + +// float_misc.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x14\x00\x00\x80\x43\x29\x20\xa1\x02\x10\x00\xbc\x43\x28\x20\xa1\x02\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [-2.80259692865e-44, 2.36752828347e-37]), 2.36752805926e-37) + +// float_misc.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc5\x01\x00\x00\x43\xbe\x5c\x00\x80\x10\x00\xbc\x43\xf9\x5a\x00\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [6.34788204339e-43, -3.326962814e-41]), -3.26348399357e-41) + +// float_misc.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x21\x1e\x1d\x68\x4c\x77\x14\x00\x44\xca\x58\x9f\x8e\xe5\x71\x22\x80\x10\x00\xbd\x44\x73\x93\x21\xb5\x7e\x6c\x10\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [2.84614893759e-308, -5.1301606086e-308]), -2.28401167101e-308) + +// float_misc.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x16\x19\xe3\x75\x3a\x0b\x21\x00\x44\xa7\x68\xe8\xb0\x82\xfb\x2f\x80\x10\x00\xbd\x44\x22\x9f\x0a\x76\x90\xe0\x1d\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [4.74048113548e-308, -8.8954177765e-308]), -4.15493664103e-308) + +// float_misc.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8a\x09\xb8\x48\x84\xb5\x06\x80\x44\xbe\x4c\xd0\x6e\x79\x79\x15\x80\x10\x00\xbd\x44\x48\x56\x88\xb7\xfd\x2e\x1c\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-9.33008200125e-309, -2.98639806094e-308]), -3.91940626107e-308) + +// float_misc.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xd1\xe8\xaa\x7b\x9e\xeb\x39\x00\x44\xee\xc6\xf8\x36\xe1\x58\x3d\x80\x10\x00\xbd\x44\x74\x78\x37\xed\x0a\xb5\x0d\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.44186938845e-307, -1.63249143778e-307]), -1.90622049327e-308) + +// float_misc.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x0b\xfa\xea\xde\x15\x11\x1f\x80\x44\x29\xca\x7d\xc8\xb1\x21\x12\x00\x10\x00\xbd\x44\xe2\x2f\x6d\x16\x64\xef\x0c\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [-4.32036193623e-308, 2.5215119664e-308]), -1.79884996983e-308) + +// float_misc.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xfe\xff\x7f\x7f\x43\x00\x00\x80\x73\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [3.40282326356e+38, 2.02824096037e+31]), 3.40282346639e+38) + +// float_misc.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfe\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\xa0\x7c\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.79769313486e+308, 1.99584030953e+292]), 1.79769313486e+308) + +// float_misc.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x00\x40\x10\x00\xbc\x43\x00\x00\x80\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [2., 2.]), 4.) + +// float_misc.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [2., 2.]), 4.) + +// float_misc.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\xff\x72\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [3.40282346639e+38, 1.01412041974e+31]), 3.40282346639e+38) + +// float_misc.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x73\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.add", [3.40282346639e+38, 1.01412048018e+31]), Infinity) + +// float_misc.wast:172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\x8f\x7c\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.79769313486e+308, 9.97920154767e+291]), 1.79769313486e+308) + +// float_misc.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x90\x7c\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.add", [1.79769313486e+308, 9.97920154767e+291]), Infinity) + +// float_misc.wast:177 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x47\x43\x00\x00\x00\x2d\x10\x00\xbc\x43\x00\x00\x80\x47\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [65536., 7.27595761418e-12]), 65536.) + +// float_misc.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x40\x44\x00\x00\x00\x00\x00\x00\xa0\x3d\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [65536., 7.27595761418e-12]), 65536.) + +// float_misc.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x33\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1., 2.98023223877e-08]), 1.) + +// float_misc.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x00\x33\x10\x00\xbc\x43\xff\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1., 2.98023259404e-08]), 0.999999940395) + +// float_misc.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x90\x3c\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1., 5.55111512313e-17]), 1.) + +// float_misc.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x90\x3c\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1., 5.55111512313e-17]), 1.) + +// float_misc.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x33\x12\xf7\x0a\x43\xbf\x13\x0b\xfb\x10\x00\xbc\x43\xbf\x13\x0b\x7b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [2.37920805984e-32, -7.22129761698e+35]), 7.22129761698e+35) + +// float_misc.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xcf\x37\x22\xfb\x43\x52\xcb\x21\xd5\x10\x00\xbc\x43\xcf\x37\x22\xfb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-8.4228402384e+35, -1.11184141353e+13]), -8.4228402384e+35) + +// float_misc.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x9e\x3b\xba\x3f\x43\x89\x2a\xd1\x96\x10\x00\xbc\x43\x9e\x3b\xba\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1.45494437218, -3.37926145558e-25]), 1.45494437218) + +// float_misc.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xa2\x49\x05\x43\x61\xc9\xb3\x19\x10\x00\xbc\x43\x61\xc9\xb3\x99\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [9.48089142841e-36, 1.85895024984e-23]), -1.85895024984e-23) + +// float_misc.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd2\x67\xcf\x36\x43\xa2\x25\x43\x8a\x10\x00\xbc\x43\xd2\x67\xcf\x36\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [6.18116700934e-06, -9.39598642425e-33]), 6.18116700934e-06) + +// float_misc.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x45\x78\x5e\x87\x98\xb7\x25\xab\x44\xfe\x52\x74\x11\x47\x51\x8b\x87\x10\x00\xbd\x44\x45\x78\x5e\x87\x98\xb7\x25\xab\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-7.75701650124e-101, -2.52484508212e-272]), -7.75701650124e-101) + +// float_misc.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x2d\xd7\xb6\xae\x7b\xc8\x76\xe2\x44\x71\x55\x4b\x5d\xb3\x4f\x16\xb6\x10\x00\xbd\x44\x2d\xd7\xb6\xae\x7b\xc8\x76\xe2\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-2.09918710648e+166, -3.81650797784e-48]), -2.09918710648e+166) + +// float_misc.wast:195 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb0\x74\xcf\x9f\x36\x3d\x2b\x23\x44\x93\xec\x0d\x8c\x66\xa1\xae\x8b\x10\x00\xbd\x44\xb0\x74\xcf\x9f\x36\x3d\x2b\x23\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [2.85920309642e-139, -2.08894651943e-252]), 2.85920309642e-139) + +// float_misc.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xad\x3e\x35\x49\xd4\xab\x20\x01\x44\xe9\x2e\xe8\xa3\x2e\x42\x90\xc9\x10\x00\xbd\x44\xe9\x2e\xe8\xa3\x2e\x42\x90\x49\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [3.03879528931e-303, -2.3204941114e+46]), 2.3204941114e+46) + +// float_misc.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x3d\xcc\x43\x6b\xbc\xad\x0a\xb7\x44\x58\xee\xf1\x2e\x92\x7f\x4e\x9e\x10\x00\xbd\x44\x3d\xcc\x43\x6b\xbc\xad\x0a\xb7\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-1.4953904039e-43, -1.05922526956e-162]), -1.4953904039e-43) + +// float_misc.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x31\xf1\xb0\xf5\x43\xf2\x79\xdd\xf7\x10\x00\xbc\x43\xdf\x6a\xd2\x77\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-4.48601655272e+32, -8.98414805089e+33]), 8.5355464343e+33) + +// float_misc.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x7b\x61\x31\xf6\x43\xa5\x28\xb7\x42\x10\x00\xbc\x43\x7b\x61\x31\xf6\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-8.99427424567e+32, 91.5793838501]), -8.99427424567e+32) + +// float_misc.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x4a\x3e\x14\x96\x43\xce\x97\x87\x33\x10\x00\xbc\x43\xce\x97\x87\xb3\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-1.19749997533e-25, 6.31404049045e-08]), -6.31404049045e-08) + +// float_misc.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x2e\x41\x64\x99\x43\x6b\x75\xa5\xb9\x10\x00\xbc\x43\x6b\x75\xa5\x39\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-1.18004866619e-23, -0.000315587356454]), 0.000315587356454) + +// float_misc.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x52\xbb\x14\xf1\x43\xdc\x71\x63\x22\x10\x00\xbc\x43\x52\xbb\x14\xf1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-7.36483805054e+29, 3.08245132955e-18]), -7.36483805054e+29) + +// float_misc.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x45\xc0\xe6\x8a\xb2\x6c\x97\xcc\x44\xb9\xe9\xf4\x2a\x1f\x61\x40\xf8\x10\x00\xbd\x44\xb9\xe9\xf4\x2a\x1f\x61\x40\x78\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-9.4104699642e+60, -1.73062756914e+271]), 1.73062756914e+271) + +// float_misc.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x9e\x2e\xf2\xef\x35\xaf\xfb\x28\x44\xec\x73\xcf\x8e\xe0\xc3\xc5\x23\x10\x00\xbd\x44\x9e\x2e\xf2\xef\x35\xaf\xfb\x28\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [2.87790856423e-111, 2.33944878599e-136]), 2.87790856423e-111) + +// float_misc.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x1f\x6f\x37\x4b\x35\xfd\x78\xb3\x44\xff\x86\xf3\x60\xc8\x13\x35\x20\x10\x00\xbd\x44\x1f\x6f\x37\x4b\x35\xfd\x78\xb3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-9.71921978353e-61, 1.57201508231e-153]), -9.71921978353e-61) + +// float_misc.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xe6\x0a\x23\x47\xd4\x60\xf7\x81\x44\x3e\xae\x38\x84\x78\x6f\x71\xab\x10\x00\xbd\x44\x3e\xae\x38\x84\x78\x6f\x71\x2b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-3.49088960318e-299, -1.99284797213e-99]), 1.99284797213e-99) + +// float_misc.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa0\xc7\xcf\x4f\xab\x3a\xf7\xc6\x44\x84\xb8\x90\xf9\x89\xc5\xa7\x4a\x10\x00\xbd\x44\x84\xb8\x90\xf9\x89\xc5\xa7\xca\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-7.53829876373e+33, 4.44701258019e+51]), -4.44701258019e+51) + +// float_misc.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x26\x13\x75\x6f\x43\xc4\x94\x42\x38\x10\x00\xbc\x43\x26\x13\x75\x6f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [7.58469764467e+28, 4.63917531306e-05]), 7.58469764467e+28) + +// float_misc.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x3e\x76\x0a\xc9\x43\xff\x69\x05\xae\x10\x00\xbc\x43\x3e\x76\x0a\xc9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-567139.875, -3.0334842277e-11]), -567139.875) + +// float_misc.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xed\x28\x99\xad\x43\xbf\xe4\xa4\xa3\x10\x00\xbc\x43\xe3\x28\x99\xad\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-1.74122608693e-11, -1.78777933677e-17]), -1.7412243522e-11) + +// float_misc.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x2f\xab\x89\xb8\x43\xd4\xc4\x17\x39\x10\x00\xbc\x43\x6c\x9a\x5c\xb9\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-6.56455449644e-05, 0.000144738063682]), -0.000210383615922) + +// float_misc.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x5b\x19\x30\xaf\x43\xcb\xa8\xdd\x8b\x10\x00\xbc\x43\x5b\x19\x30\xaf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [-1.60161148233e-10, -8.53800749739e-32]), -1.60161148233e-10) + +// float_misc.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x10\x49\xaf\x97\x07\x5b\x2b\xb6\x44\xe8\x89\x81\x34\xb8\x94\x16\xed\x10\x00\xbd\x44\xe8\x89\x81\x34\xb8\x94\x16\x6d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-9.35872526718e-48, -3.11371473387e+217]), 3.11371473387e+217) + +// float_misc.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x73\xed\x26\x28\x14\x2b\x67\xef\x44\xbd\xaf\xc9\x7b\x47\x10\x60\xf8\x10\x00\xbd\x44\xbd\xaf\xc9\x7b\x47\x10\x60\x78\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-4.39076759677e+228, -6.7890457159e+271]), 6.7890457159e+271) + +// float_misc.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xcf\x94\xbb\xb6\x73\x32\x38\x0e\x44\xbb\x2a\x8a\x94\x3f\xa9\x41\x4b\x10\x00\xbd\x44\xbb\x2a\x8a\x94\x3f\xa9\x41\xcb\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [3.62882810108e-240, 3.38319968325e+54]), -3.38319968325e+54) + +// float_misc.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x20\xbf\x6c\x15\xe7\x07\x22\x9c\x44\x4d\x81\xd3\x2f\xf1\xf3\xfc\x1d\x10\x00\xbd\x44\x86\xc0\x63\x30\xf1\xf3\xfc\x9d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-3.64509775181e-173, 3.14234909697e-164]), -3.14234910061e-164) + +// float_misc.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x18\x17\x4f\x84\xe6\x37\x08\x9d\x44\xab\x98\x7f\x75\x9b\xc2\x11\xbf\x10\x00\xbd\x44\xab\x98\x7f\x75\x9b\xc2\x11\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-8.02152963899e-169, -6.77497276907e-05]), 6.77497276907e-05) + +// float_misc.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6c\x9b\x70\x1a\x15\x21\x1c\x3b\x44\xf6\x10\x89\xff\x2f\xa1\xc0\x38\x10\x00\xbd\x44\x63\x16\x70\x1a\x15\x21\x1c\x3b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [5.81698806579e-24, 2.50214992415e-35]), 5.81698806577e-24) + +// float_misc.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x64\x2f\xae\x2a\x91\x57\x9c\x02\x44\xcf\xb7\x00\x48\xbd\xbf\xdd\x00\x10\x00\xbd\x44\x8f\x33\xd2\x28\x91\x57\x9c\x02\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [4.33366833048e-296, 1.69455826075e-304]), 4.33366831354e-296) + +// float_misc.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xc6\xf9\x9a\x39\xf4\xfe\x1f\x30\x44\xb1\xa8\xae\xdf\x96\xdb\x7e\x33\x10\x00\xbd\x44\xb1\xa8\xae\xdf\x96\xdb\x7e\xb3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [6.90805267632e-77, 1.20017737348e-60]), -1.20017737348e-60) + +// float_misc.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xe2\xcd\x91\xe3\xee\x63\x83\xbd\x44\x5f\x26\x00\x20\x46\x65\xaa\xbb\x10\x00\xbd\x44\xc9\x38\x28\xe3\xee\x63\x83\xbd\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-2.20442915474e-12, -2.79474299256e-21]), -2.20442915195e-12) + +// float_misc.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa1\x02\xa0\xdb\x16\x90\x65\x3e\x44\xcc\x4c\x12\x4f\x37\xd4\xc5\x3f\x10\x00\xbd\x44\x5d\xf1\xd1\xf8\x36\xd4\xc5\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [4.01639356912e-08, 0.170538819894]), -0.17053877973) + +// float_misc.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xcf\x05\xa0\xbc\x96\x81\x11\x8d\x44\x2f\xf5\xe3\x1c\xb0\xb7\x1d\x90\x10\x00\xbd\x44\x1d\xf5\xe3\x1c\xb0\xb7\x1d\x10\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-1.00151068987e-245, -4.78537595894e-231]), 4.78537595894e-231) + +// float_misc.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x90\x21\x8d\x52\xb3\x17\x0d\xc2\x44\x0a\x22\xea\xd4\x39\xd7\xef\x56\x10\x00\xbd\x44\x0a\x22\xea\xd4\x39\xd7\xef\xd6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [-15618959953.6, 5.98234410621e+110]), -5.98234410621e+110) + +// float_misc.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x19\xe3\x4d\x99\x46\xea\x1d\x47\x44\xd3\xc7\x55\xcd\x19\x5b\x1b\x1b\x10\x00\xbd\x44\x19\xe3\x4d\x99\x46\xea\x1d\x47\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [3.88320715404e+34, 4.21922792743e-178]), 3.88320715404e+34) + +// float_misc.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xec\xd9\xfb\xb2\xf9\x60\x6b\x21\x44\x8e\x5b\xec\x59\x1c\xf8\x96\x94\x10\x00\xbd\x44\xec\xd9\xfb\xb2\xf9\x60\x6b\x21\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1.07059868908e-147, -1.74666077347e-209]), 1.07059868908e-147) + +// float_misc.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xf4\x71\x85\xfe\x23\xe4\x65\x3c\x44\xdf\x62\xc1\xd7\x4e\x62\x59\x19\x10\x00\xbd\x44\xf4\x71\x85\xfe\x23\xe4\x65\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [9.49378346262e-18, 1.4584885435e-186]), 9.49378346262e-18) + +// float_misc.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x23\x20\xb9\x41\x43\xdb\x0f\x49\x40\x10\x00\xbc\x43\x28\xfe\x9f\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [23.1406917572, 3.14159274101]), 19.9990997314) + +// float_misc.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x3a\x93\xb0\x6e\x04\x24\x37\x40\x44\x18\x2d\x44\x54\xfb\x21\x09\x40\x10\x00\xbd\x44\x97\x0d\x28\x04\xc5\xff\x33\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [23.1406926328, 3.14159265359]), 19.9990999792) + +// float_misc.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xfc\x1a\x37\x4a\x43\xf8\x1a\x37\x4a\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [2999999., 2999998.]), 1.) + +// float_misc.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf8\x23\xf4\x49\x43\xd8\x23\xf4\x49\x10\x00\xbc\x43\x00\x00\x80\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1999999., 1999995.]), 4.) + +// float_misc.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf8\x23\xf4\x49\x43\xc8\x23\xf4\x49\x10\x00\xbc\x43\x00\x00\xc0\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1999999., 1999993.]), 6.) + +// float_misc.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x40\x50\xc3\x48\x43\x20\x50\xc3\x48\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [400002., 400001.]), 1.) + +// float_misc.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x40\x50\xc3\x48\x43\x00\x50\xc3\x48\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [400002., 400000.]), 2.) + +// float_misc.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfe\xff\xa6\xdc\xf7\x50\x25\x43\x44\xfc\xff\xa6\xdc\xf7\x50\x25\x43\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [3e+15, 3e+15]), 1.) + +// float_misc.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfc\xff\x33\x26\xf5\x6b\x1c\x43\x44\xec\xff\x33\x26\xf5\x6b\x1c\x43\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [2e+15, 2e+15]), 4.) + +// float_misc.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfc\xff\x33\x26\xf5\x6b\x1c\x43\x44\xe4\xff\x33\x26\xf5\x6b\x1c\x43\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x18\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [2e+15, 2e+15]), 6.) + +// float_misc.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x20\x00\x90\x1e\xc4\xbc\xf6\x42\x44\x10\x00\x90\x1e\xc4\xbc\xf6\x42\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [4e+14, 4e+14]), 1.) + +// float_misc.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x20\x00\x90\x1e\xc4\xbc\xf6\x42\x44\x00\x00\x90\x1e\xc4\xbc\xf6\x42\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [4e+14, 4e+14]), 2.) + +// float_misc.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x00\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1.17549435082e-38, 1.17549421069e-38]), 1.40129846432e-45) + +// float_misc.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [2.22507385851e-308, 2.22507385851e-308]), 4.94065645841e-324) + +// float_misc.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\x00\x00\x40\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1.00000011921, 0.999999940395]), 1.78813934326e-07) + +// float_misc.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x34\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1.00000011921, 1.]), 1.19209289551e-07) + +// float_misc.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\x00\x00\x80\x33\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [1., 0.999999940395]), 5.96046447754e-08) + +// float_misc.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb8\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1., 1.]), 3.33066907388e-16) + +// float_misc.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1., 1.]), 2.22044604925e-16) + +// float_misc.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xa0\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1., 1.]), 1.11022302463e-16) + +// float_misc.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\xff\xff\xff\x72\x10\x00\xbc\x43\xff\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [3.40282346639e+38, 1.01412041974e+31]), 3.40282346639e+38) + +// float_misc.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x7f\x43\x00\x00\x00\x73\x10\x00\xbc\x43\xfe\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sub", [3.40282346639e+38, 1.01412048018e+31]), 3.40282326356e+38) + +// float_misc.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\xff\xff\xff\xff\xff\xff\x8f\x7c\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1.79769313486e+308, 9.97920154767e+291]), 1.79769313486e+308) + +// float_misc.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x44\x00\x00\x00\x00\x00\x00\x90\x7c\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sub", [1.79769313486e+308, 9.97920154767e+291]), 1.79769313486e+308) + +// float_misc.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xa9\x5f\x63\x58\x43\xa9\x5f\x63\x58\x10\x00\xbc\x43\xc9\xf2\x49\x71\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [9.99999986991e+14, 9.99999986991e+14]), 9.9999993949e+29) + +// float_misc.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xec\x78\xad\x60\x43\xec\x78\xad\x60\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.00000002004e+20, 1.00000002004e+20]), Infinity) + +// float_misc.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x51\x59\x04\x69\x43\x51\x59\x04\x69\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [9.99999956202e+24, 9.99999956202e+24]), Infinity) + +// float_misc.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x34\x26\xf5\x6b\x0c\x43\x44\x00\x00\x34\x26\xf5\x6b\x0c\x43\x10\x00\xbd\x44\xea\x8c\xa0\x39\x59\x3e\x29\x46\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1e+15, 1e+15]), 1e+30) + +// float_misc.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x40\x8c\xb5\x78\x1d\xaf\x15\x44\x44\x40\x8c\xb5\x78\x1d\xaf\x15\x44\x10\x00\xbd\x44\xa5\x5c\xc3\xf1\x29\x63\x3d\x48\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1e+20, 1e+20]), 1e+40) + +// float_misc.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x91\x02\x28\x2c\x2a\x8b\x20\x45\x44\x91\x02\x28\x2c\x2a\x8b\x20\x45\x10\x00\xbd\x44\x9b\x64\x7e\xc5\x0e\x1b\x51\x4a\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1e+25, 1e+25]), 1e+50) + +// float_misc.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x2f\x67\xdc\x4e\x43\x4f\xac\x94\x50\x10\x00\xbc\x43\x01\x00\x00\x60\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1848874880., 19954563072.]), 3.68934925455e+19) + +// float_misc.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\xc0\xd7\xe5\x8c\xdb\x41\x44\x00\x00\x7c\xd2\x89\x95\x12\x42\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x44\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1848874847., 19954562207.]), 3.68934881474e+19) + +// float_misc.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x33\x33\x9a\x42\x43\x00\x80\x54\x44\x10\x00\xbc\x43\x00\xff\x7f\x47\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [77.0999984741, 850.]), 65535.) + +// float_misc.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x66\x66\x66\x66\x66\x46\x53\x40\x44\x00\x00\x00\x00\x00\x90\x8a\x40\x10\x00\xbd\x44\xff\xff\xff\xff\xdf\xff\xef\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [77.1, 850.]), 65535.) + +// float_misc.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x97\x6f\x0a\xde\x43\x3c\x44\xba\x2d\x10\x00\xbc\x43\xf4\x73\x49\xcc\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-2.49383943148e+18, 2.11760539659e-11]), -52809680.) + +// float_misc.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf1\x14\xab\xf2\x43\x09\x98\xe1\x8c\x10\x00\xbc\x43\x02\xc3\x16\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-6.77724842063e+30, -3.47582418302e-31]), 2.35565233231) + +// float_misc.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x4a\xbb\xd8\xed\x43\xb5\x5a\x72\x8f\x10\x00\xbc\x43\xd7\x2d\xcd\x3d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-8.3843975881e+27, -1.19489907302e-29]), 0.100185088813) + +// float_misc.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x53\x13\x0b\xe7\x43\xb8\xbe\x62\x9a\x10\x00\xbc\x43\x57\x5d\xf6\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-6.56765410037e+23, -4.68897659886e-23]), 30.7955760956) + +// float_misc.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xb9\x67\x3d\x5a\x43\xd6\x44\x36\x42\x10\x00\xbc\x43\xab\xda\x06\x5d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.33282037162e+16, 45.5672225952]), 6.07329197656e+17) + +// float_misc.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xe4\x37\x6f\x3f\x29\x5c\x82\xda\x44\xd8\xc6\x41\xfa\xd4\x5f\x0f\x7b\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-9.94262260933e+127, 5.83177241514e+284]), -Infinity) + +// float_misc.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x5b\xfc\xff\x79\xae\xc1\x5c\x82\x44\xa6\x1c\x86\xc2\xcc\x36\x4c\xb2\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-2.7481558243e-297, -2.09303543778e-66]), 0.) + +// float_misc.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x56\x4b\xe6\xb3\x32\x02\xdc\x65\x44\xaa\xff\x3a\xcf\x39\x69\x9f\xc6\x10\x00\xbd\x44\xd3\x90\xf1\xed\x3a\x7e\x8b\xec\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [4.64888257371e+182, -1.59272886487e+32]), -7.40440946456e+214) + +// float_misc.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x71\xb2\x66\x99\x28\x0f\x66\xac\x44\x59\xc2\xf0\x97\x54\x8a\x62\x64\x10\x00\xbd\x44\x59\xc2\xce\x0b\xc5\x8f\xd9\xd0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-8.26192776417e-95, 3.66847441905e+175]), -3.03086706549e+81) + +// float_misc.wast:302 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa2\xaf\xd3\x12\xab\x7d\xa3\x71\x44\xf1\x93\xd3\x6b\x15\x1e\x58\x0a\x10\x00\xbd\x44\x98\x82\x4b\x55\x26\x61\x0d\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [2.53838958332e+239, 7.84289288181e-259]), 1.99083175943e-19) + +// float_misc.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd1\xab\x1f\x93\x43\xb4\x0e\x82\xed\x10\x00\xbc\x43\xd8\x3c\x22\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-2.01533334574e-27, -5.03135328303e+27]), 10.1398544312) + +// float_misc.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc1\x82\x26\x64\x43\x1d\x02\x37\x49\x10\x00\xbc\x43\xb0\x11\xee\x6d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.22863253125e+22, 749601.8125]), 9.20985190161e+27) + +// float_misc.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\xed\x97\xaf\x43\x8e\xb9\xf0\xe4\x10\x00\xbc\x43\x4f\xdc\x0e\x55\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-2.76351386219e-10, -3.55247136163e+22]), 9.81730433434e+12) + +// float_misc.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x7f\xe4\x3d\x61\x43\xc9\x6a\x1d\xc7\x10\x00\xbc\x43\xaf\x88\xe9\xe8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [2.18931219293e+20, -40298.7851562]), -8.82266206225e+24) + +// float_misc.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xa1\xb3\xc9\x4e\x43\xc8\xd0\xd3\xe0\x10\x00\xbc\x43\x8d\xe3\x26\xf0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1691996288., -1.22103352316e+20]), -2.0659841458e+29) + +// float_misc.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x13\x3b\xca\xb4\x37\xa7\x0b\x98\x44\x38\x74\x85\x09\x33\x92\x58\x2c\x10\x00\xbd\x44\x37\xaa\x7b\xd0\xc0\x3b\x75\x84\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-7.57631607645e-193, 4.60135587951e-95]), -3.48613265234e-287) + +// float_misc.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x19\x02\x61\x2e\x93\xc1\xb7\x2e\x44\x9f\x48\x46\xb6\x5d\x60\x42\x98\x10\x00\xbd\x44\xe3\x2a\x0d\x2b\xda\x48\x0b\x87\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1.22286160814e-83, -8.05552618518e-192]), -9.85079370526e-275) + +// float_misc.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x80\x10\xb2\xf3\xcd\x43\x8e\xd4\x44\xd1\x61\xbd\xab\x96\x9d\x29\xf4\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-2.06865124604e+99, -3.66801071583e+251]), Infinity) + +// float_misc.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa3\x1d\x55\x66\x94\xc1\x24\x7b\x44\xe9\x46\x76\x6c\xcd\xbd\x80\x24\x10\x00\xbd\x44\x8a\x63\x3f\x8c\xcd\xb7\xb5\x5f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1.54323883561e+285, 7.37062138579e-133]), 1.13746291651e+153) + +// float_misc.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xdf\xe3\x26\x17\xda\xf1\x2f\x55\x44\x58\xb1\x52\x4f\xc4\x43\x80\xca\x10\x00\xbd\x44\x5c\x58\xbb\x64\x93\x3c\xc0\xdf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [2.23587656624e+102, -7.6066900592e+50]), -1.700762005e+153) + +// float_misc.wast:317 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x45\x3f\xc8\xd6\x43\x34\x9b\x2e\xef\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-1.10087033061e+14, -5.4038020774e+28]), Infinity) + +// float_misc.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xba\x4f\x46\xbe\x43\x29\x5a\x71\x0e\x10\x00\xbc\x43\xe6\xf6\x3a\x8d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-0.1936635077, 2.97489539984e-30]), -5.76128683287e-31) + +// float_misc.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x2d\x30\x66\xb6\x43\x0d\x19\x76\x74\x10\x00\xbc\x43\xd2\x48\x5d\xeb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-3.43007127412e-06, 7.79915232792e+31]), -2.67516490338e+26) + +// float_misc.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xbd\xdd\xaf\xdb\x43\x2f\x4b\xd4\x0f\x10\x00\xbc\x43\x47\xd7\x11\xac\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-9.90038494858e+16, 2.09337736553e-29]), -2.07252422689e-12) + +// float_misc.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x89\xbf\xfd\xc7\x43\x0d\x38\x1d\x04\x10\x00\xbc\x43\x06\xd6\x9b\x8c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-129919.070312, 1.84809985644e-36]), -2.40103419814e-31) + +// float_misc.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\xc2\x54\x64\x26\xb0\xf5\xa0\x44\x99\x03\x3e\x7e\x78\xf5\x0a\xdb\x10\x00\xbd\x44\x0b\x9e\x94\x81\x7d\x45\x12\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-6.62557220084e-150, -3.73740206817e+130]), 2.47624272463e-19) + +// float_misc.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x45\x3d\x39\x82\x4a\xd5\xd0\x5d\x44\xae\xce\x07\x08\x76\x25\x34\x90\x10\x00\xbd\x44\x5d\x0d\x8d\x8c\x06\x32\x15\xae\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [8.21076848562e+143, -1.29765523286e-230]), -1.06547466911e-86) + +// float_misc.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x60\x78\x81\xf9\x2a\x53\xbb\xca\x44\x6f\xa3\x5b\x08\x95\xda\x6a\x56\x10\x00\xbd\x44\x64\x18\xe0\xc1\x38\xee\x36\xe1\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-1.02234492949e+52, 1.97085558333e+108]), -2.01489421238e+160) + +// float_misc.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xce\xd1\x49\x4d\x2f\x13\xfe\x6f\x44\x64\xd8\xa7\xe9\xaf\x75\x5a\xd7\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [2.91824308012e+231, -6.36331709417e+112]), -Infinity) + +// float_misc.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x0a\xf9\xff\x1c\xbf\x8b\x06\x45\x44\x50\x2c\x65\x7d\xd1\x9c\x50\x44\x10\x00\xbd\x44\x40\x79\x7d\xd6\xb8\x68\x67\x49\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [3.4070377988e+24, 1.22579142397e+21]), 4.17631771492e+45) + +// float_misc.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb7\x89\x2c\x60\xfb\x99\xaf\x2a\x44\x2e\x1a\xa3\x46\xab\xca\x06\x1c\x10\x00\xbd\x44\xd7\xe9\x86\xf9\x01\x82\xc6\x06\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [4.40919272844e-103, 1.15188407023e-173]), 5.07887886646e-276) + +// float_misc.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x79\xe3\xee\xc5\x99\x69\x68\xbf\x44\x0d\x3e\xd5\xe0\xb9\xe3\x26\x6d\x10\x00\xbd\x44\xf5\x35\xef\xa0\x54\x76\xa1\xec\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-0.00298004182647, 6.31254129932e+217]), -1.88116371033e+215) + +// float_misc.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x90\x6f\x17\x1b\x57\x69\xe0\xd6\x44\xe3\xa0\xb0\x6a\x8b\x24\x3e\x97\x10\x00\xbd\x44\x1d\xae\x5c\x57\xff\xea\x2e\x2e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-3.08344578081e+110, -1.0081049555e-196]), 3.10843697166e-86) + +// float_misc.wast:332 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xd2\x7d\x77\x45\x76\x21\x6c\x70\x44\x46\xd6\x5d\x71\xf5\x93\xbd\x43\x10\x00\xbd\x44\x0d\x92\x1d\xaa\x64\x00\x3a\x74\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [3.49387501316e+233, 2.13131691593e+18]), 7.44655491769e+251) + +// float_misc.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x4a\x69\x6e\x1b\x98\x48\xb8\xae\x44\x19\x0d\x4a\xb6\xac\x5a\xff\x77\x10\x00\xbd\x44\xe5\xc2\xe6\x96\x22\xcb\xc7\xe6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-1.25001080051e-83, 1.03526570416e+270]), -1.2940933116e+187) + +// float_misc.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x44\x69\x28\x2a\xbd\xb3\x8d\x1a\x44\xca\x55\x1d\xaf\x10\xe9\x6c\x25\x10\x00\xbd\x44\x39\x8a\x53\xdd\xcc\x6a\x0d\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [8.94746166176e-181, 2.08538441413e-128]), 1.86588970955e-308) + +// float_misc.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x20\x01\x16\x39\x22\xca\x6a\xbc\x44\x28\xd2\x8d\x95\xb4\xb2\x92\x83\x10\x00\xbd\x44\x15\x56\xae\xcc\x4e\xa7\x0f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-1.16181303733e-17, -1.87370381356e-291]), 2.17689351869e-308) + +// float_misc.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\x6c\xf1\xde\x62\xd0\x7b\xa1\x44\x0e\x4c\x0c\x1a\xd9\xdd\x77\x9e\x10\x00\xbd\x44\x0d\xd9\x69\x77\x4d\x5f\x0a\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-2.17523267684e-147, -6.63121006807e-162]), 1.4424424827e-308) + +// float_misc.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xe0\x9c\x9e\x16\x56\x6a\xbc\x8f\x44\x22\x41\x47\x5a\xd5\x17\x05\x30\x10\x00\xbd\x44\x77\xfb\x0a\x26\xaf\x2b\x01\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-7.14951815744e-233, 2.27704450624e-77]), -1.62797710426e-309) + +// float_misc.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x05\x17\xb4\xb0\x51\x89\xb0\x9f\x44\x09\x8d\x16\x27\xdc\x02\x41\xa0\x10\x00\xbd\x44\x2b\x59\x3f\xbf\x6d\xca\x08\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-4.81773930215e-156, -2.53750230497e-153]), 1.2225024584e-308) + +// float_misc.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x9b\x8c\x0c\xa5\xde\xd0\x38\x75\x44\x24\x7a\xd8\x31\xac\x1c\xe2\x08\x10\x00\xbd\x44\x73\xcd\xf7\x11\x73\x17\x2c\x3e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [4.65764416295e+256, 7.02134489353e-266]), 3.27029260594e-09) + +// float_misc.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x63\x30\x8e\x11\x49\x80\x89\x3f\x44\x58\x1b\x15\x25\x25\x36\xa6\x36\x10\x00\xbd\x44\xf9\x03\x41\x51\x58\xb3\x41\x36\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [0.0124517162783, 1.94530917785e-45]), 2.42224379562e-47) + +// float_misc.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x23\x13\x63\xb0\x5c\xa6\x0e\xc0\x44\x9b\xa1\x01\x32\x68\xce\x6f\x3d\x10\x00\xbd\x44\x67\x36\x22\x8c\xdc\x76\x8e\xbd\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-3.83123147776, 9.03988774174e-13]), -3.46339024716e-12) + +// float_misc.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x43\xd5\x61\x59\x23\x4d\xae\x28\x44\x48\x9a\xef\x20\x6f\xc5\x2b\x33\x10\x00\xbd\x44\xd6\x71\xcb\xef\x09\x4c\xea\x1b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [9.84358263885e-113, 3.37540565478e-62]), 3.32260845024e-174) + +// float_misc.wast:347 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa8\xab\x6f\xe6\x12\x96\xcb\xc4\x44\x73\x22\x78\xaa\xc6\x2b\x3e\x2a\x10\x00\xbd\x44\xb1\x1d\xf8\xa4\x6e\x02\x1a\xaf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [-2.60544537095e+23, 3.28875281858e-105]), -8.56866580735e-82) + +// float_misc.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x1a\x43\x00\x00\x00\x1a\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [2.64697796017e-23, 2.64697796017e-23]), 0.) + +// float_misc.wast:351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x1a\x43\x01\x00\x00\x1a\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [2.64697827571e-23, 2.64697827571e-23]), 1.40129846432e-45) + +// float_misc.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xcc\x3b\x7f\x66\x9e\xa0\x56\x1e\x44\xcc\x3b\x7f\x66\x9e\xa0\x56\x1e\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1.5717277847e-162, 1.5717277847e-162]), 0.) + +// float_misc.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xcd\x3b\x7f\x66\x9e\xa0\x56\x1e\x44\xcd\x3b\x7f\x66\x9e\xa0\x56\x1e\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1.5717277847e-162, 1.5717277847e-162]), 4.94065645841e-324) + +// float_misc.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x5f\x43\xff\xff\x7f\x5f\x10\x00\xbc\x43\xfe\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.84467429742e+19, 1.84467429742e+19]), 3.40282326356e+38) + +// float_misc.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x5f\x43\x00\x00\x80\x5f\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.84467440737e+19, 1.84467440737e+19]), Infinity) + +// float_misc.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x5f\x44\xff\xff\xff\xff\xff\xff\xef\x5f\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1.34078079299e+154, 1.34078079299e+154]), 1.79769313486e+308) + +// float_misc.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x5f\x44\x00\x00\x00\x00\x00\x00\xf0\x5f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1.34078079299e+154, 1.34078079299e+154]), Infinity) + +// float_misc.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x43\x01\x00\x80\x3f\x10\x00\xbc\x43\x02\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.00000011921, 1.00000011921]), 1.00000023842) + +// float_misc.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x3f\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\xfe\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [0.999999940395, 0.999999940395]), 0.999999880791) + +// float_misc.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1., 1.]), 1.) + +// float_misc.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1., 1.]), 1.) + +// float_misc.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.00000011921, 0.999999940395]), 1.) + +// float_misc.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x02\x00\x80\x3f\x43\xfe\xff\x7f\x3f\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.00000023842, 0.999999880791]), 1.00000011921) + +// float_misc.wast:370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1., 1.]), 1.) + +// float_misc.wast:371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x02\x00\x00\x00\x00\x00\xf0\x3f\x44\xfe\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [1., 1.]), 1.) + +// float_misc.wast:375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\x00\x00\x00\x34\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [1.17549435082e-38, 1.19209289551e-07]), 1.40129846432e-45) + +// float_misc.wast:376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\x00\x00\x00\x00\x00\x00\xb0\x3c\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.mul", [2.22507385851e-308, 2.22044604925e-16]), 4.94065645841e-324) + +// float_misc.wast:379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x03\x80\xc1\x43\x00\x40\x03\x00\x10\x00\xbc\x43\x38\x01\x34\x80\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.mul", [-16.0014648438, 2.98465362513e-40]), -4.77588300534e-39) + +// float_misc.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x6f\xcd\x8f\x3f\x43\x00\x00\xc8\x42\x10\x00\xbc\x43\x32\x11\x38\x3c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.12345683575, 100.]), 0.011234568432) + +// float_misc.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf3\x0b\x00\x4b\x43\xf9\xff\x3f\x4b\x10\x00\xbc\x43\xa0\xba\x2a\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [8391667., 12582905.]), 0.666910171509) + +// float_misc.wast:384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x47\x43\x00\x00\x00\x2d\x10\x00\xbc\x43\x00\x00\x00\x5a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [65536., 7.27595761418e-12]), 9.00719925474e+15) + +// float_misc.wast:385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xb5\x5f\xee\x3f\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\xed\x97\x3b\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.8622957468, 3.40282346639e+38]), 5.47279497449e-39) + +// float_misc.wast:386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\xab\xaa\xaa\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [4., 3.]), 1.33333337307) + +// float_misc.wast:387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x36\x96\x73\xd3\xad\xf9\xf1\x3f\x44\x00\x00\x00\x00\x00\x00\x59\x40\x10\x00\xbd\x44\x45\xc0\x60\x2d\x26\x02\x87\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1.123456789, 100.]), 0.01123456789) + +// float_misc.wast:388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x60\x7e\x01\x60\x41\x44\x00\x00\x00\x20\xff\xff\x67\x41\x10\x00\xbd\x44\x27\xba\xd9\xf1\x53\x57\xe5\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [8391667., 12582905.]), 0.666910145153) + +// float_misc.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x40\x44\x00\x00\x00\x00\x00\x00\xa0\x3d\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x40\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [65536., 7.27595761418e-12]), 9.00719925474e+15) + +// float_misc.wast:390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xa0\xf6\xcb\xfd\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\xa8\xfd\x72\x07\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1.8622957468, 1.79769313486e+308]), 1.03593639576e-308) + +// float_misc.wast:391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\x55\x55\x55\x55\x55\x55\xf5\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4., 3.]), 1.33333333333) + +// float_misc.wast:395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf6\x0b\x80\x4a\x43\xfc\xff\x3f\x4a\x10\x00\xbc\x43\xa1\xba\xaa\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [4195835., 3145727.]), 1.33382046223) + +// float_misc.wast:396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\xc0\x7e\x01\x50\x41\x44\x00\x00\x00\x80\xff\xff\x47\x41\x10\x00\xbd\x44\x43\x6b\x7c\x1c\x54\x57\xf5\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4195835., 3145727.]), 1.33382044914) + +// float_misc.wast:399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x2d\x36\xb5\x27\x43\xb8\x05\x7d\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [5.0296329364e-15, 3.36324376381e+38]), 0.) + +// float_misc.wast:400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd9\xb7\x30\x14\x43\xb9\x90\x99\x61\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [8.92198679354e-27, 3.54097526211e+20]), 0.) + +// float_misc.wast:401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xbc\x73\xcb\xc7\x43\x2b\x86\xf5\x17\x10\x00\xbc\x43\x05\x22\x54\xef\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-104167.46875, 1.5866622669e-24]), -6.56519491718e+28) + +// float_misc.wast:402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x20\x31\xf1\x99\x43\xb7\x91\xf6\x82\x10\x00\xbc\x43\xc2\x6a\x7a\x56\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-2.49386573826e-23, -3.62300875064e-37]), 6.88341070643e+13) + +// float_misc.wast:403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xa7\x1b\x71\xd4\x43\x6e\xfe\xb8\x17\x10\x00\xbc\x43\x83\xd3\x26\xfc\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-4.14220419072e+12, 1.19549483882e-24]), -3.46484498333e+36) + +// float_misc.wast:404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xc1\x38\x0c\x9d\xc0\x63\x21\x49\x44\xe6\x48\x73\x73\xcc\x04\xee\x4d\x10\x00\xbd\x44\x23\xed\xae\x1c\x92\x89\x22\x3b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1.93901163824e+44, 2.52907423573e+67]), 7.66688304696e-24) + +// float_misc.wast:405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xa9\xe0\x41\xe7\x67\x68\xdd\x18\x44\xe4\xaa\xa9\x19\xeb\x35\x33\x03\x10\x00\xbd\x44\x19\xf5\x11\x2d\x34\x7e\x98\x55\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [6.60033214975e-189, 3.00791515347e-293]), 2.19432125342e+104) + +// float_misc.wast:406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x98\xeb\x8a\x64\xdf\x5e\x9d\xd2\x44\x55\x93\x07\x5b\xa1\xdd\xf0\x67\x10\x00\xbd\x44\x5c\x4b\x73\xf9\xea\xdc\x9b\xaa\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-9.34827517366e+89, 4.80930952904e+192]), -1.94378738096e-103) + +// float_misc.wast:407 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xda\xae\x34\x39\x3e\x68\x2b\xeb\x44\xff\x0d\xf0\x1d\x4e\x36\x5c\x4f\x10\x00\xbd\x44\x3b\xfe\x7a\x6e\x45\x16\xbf\xdb\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-1.75983390884e+208, 1.99386072581e+74]), -8.82626296844e+133) + +// float_misc.wast:408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x51\xc8\x9c\x53\xa7\x4c\xb4\xe1\x44\xfe\x58\xcc\xbc\x01\x85\x45\x5c\x10\x00\xbd\x44\x4e\x92\xe0\x57\x86\x2f\x5e\xc5\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-4.56626887784e+162, 3.12824958223e+136]), -1.45968816036e+26) + +// float_misc.wast:411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xa5\x62\x61\xe2\x43\xa1\x68\x80\x94\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-1.03940637604e+21, -1.2965965898e-26]), Infinity) + +// float_misc.wast:412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x5f\xad\xf1\x28\x43\xf8\x4e\xe3\x55\x10\x00\xbc\x43\x5a\x17\x88\x12\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [2.68315626201e-14, 3.1241038463e+13]), 8.58856325341e-28) + +// float_misc.wast:413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x95\xff\xa2\x3f\x43\xaa\x43\x0f\xec\x10\x00\xbc\x43\xa7\xa1\x11\x93\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.27342474461, -6.92783706823e+26]), -1.838127376e-27) + +// float_misc.wast:414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc5\xd8\x46\x26\x43\xcf\xf8\x28\x00\x10\x00\xbc\x43\xcb\x4d\x1b\x66\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [6.89888271446e-16, 3.762675552e-39]), 1.83350457958e+23) + +// float_misc.wast:415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xc8\x2c\xbc\x6c\x43\xa2\xa0\x29\x6b\x10\x00\xbc\x43\xee\xfe\x0d\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.81991622049e+27, 2.05067030525e+26]), 8.87473869324) + +// float_misc.wast:416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x51\xeb\x47\x4f\x1c\x33\x0f\x00\x44\x3a\xf0\xf6\x5b\xf4\x7f\x9c\xd6\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [2.11377159244e-308, -1.67332616129e+109]), -0.) + +// float_misc.wast:417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x9c\xd1\xb9\x07\x87\xfc\x40\x82\x44\x63\xa5\xf4\xd5\x24\x75\x77\x1e\x10\x00\xbd\x44\x10\x23\x7d\x93\x1a\x2c\xb7\xa3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-8.11664494802e-298, 6.517571349e-162]), -1.24534807728e-136) + +// float_misc.wast:418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x38\xb3\x4b\xa6\x3a\xdb\xce\xa6\x44\x40\x0e\x32\x64\xc1\xc7\xc1\xc2\x10\x00\xbd\x44\x63\xae\xc5\xc1\x4c\xc4\xfb\x23\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-9.33547691226e-122, -3.90992814664e+13]), 2.38763388025e-135) + +// float_misc.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x68\xe8\x34\x4b\x53\xf6\xc4\x44\xc3\xe3\x59\xfc\xa7\x34\x8c\x0e\x10\x00\xbd\x44\x66\x1b\x29\xbf\x21\x54\x59\xf6\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-1.68685698549e+24, 1.35359938611e-238]), -1.24620105683e+262) + +// float_misc.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x37\x12\xed\xd7\x58\x1f\xb9\xce\x44\xc8\x83\x83\x80\x0d\x19\x6f\xc3\x10\x00\xbd\x44\x06\xf9\x36\x08\xeb\xd9\x39\x4b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-1.73388773325e+71, -7.00261604752e+16]), 2.47605712134e+54) + +// float_misc.wast:423 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x52\x59\xb2\x4c\x43\xa9\xab\x74\x04\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [93506192., 2.87608846382e-36]), Infinity) + +// float_misc.wast:424 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xdb\xe4\x29\xe6\x43\xd0\x44\x6b\x4d\x10\x00\xbc\x43\x52\xdd\x38\xd8\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-2.00575393467e+23, 246697216.]), -8.1304281206e+14) + +// float_misc.wast:425 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x45\x25\xb3\x52\x43\xd1\xed\xac\xef\x10\x00\xbc\x43\xfa\x99\x84\xa2\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [384712212480., -1.07037848166e+29]), -3.59417007189e-18) + +// float_misc.wast:426 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x7d\xf0\x4c\xf7\x43\xd4\x5a\x61\xc4\x10\x00\xbc\x43\xf3\xce\x68\x72\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-4.15666500377e+33, -901.419189453]), 4.61124534608e+30) + +// float_misc.wast:427 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xad\x40\xad\xed\x43\x05\xc1\x5a\xc6\x10\x00\xbc\x43\x5c\xc0\xca\x66\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-6.70238686512e+27, -14000.2548828]), 4.7873321685e+23) + +// float_misc.wast:428 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xeb\x7b\xaf\xe2\xd1\x1f\x08\x97\x44\x6c\x53\xae\x4e\xfc\xde\xce\x14\x10\x00\xbd\x44\x61\xb6\x91\xdd\xab\x01\x29\xc2\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-1.00852695989e-197, 1.87803740329e-208]), -53701111496.9) + +// float_misc.wast:429 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x43\x3c\x95\x32\xf9\x7c\xd4\xf0\x44\xa1\xf2\xb1\x96\x04\xc4\x6b\x9d\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-3.2571664563e+235, -5.88573851921e-167]), Infinity) + +// float_misc.wast:430 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xd7\xca\xbd\x8f\x2e\xbd\x52\x91\x44\x6e\x47\xcc\x74\x56\x11\xeb\x3b\x10\x00\xbd\x44\x81\xfa\x19\xbf\x52\x27\x56\x95\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-3.16409468612e-225, 4.58545105565e-20]), -6.90029104601e-206) + +// float_misc.wast:431 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xfe\x9e\xea\x3f\x3e\x92\xcf\xd3\x44\x39\x7a\xd2\x74\x4c\x04\x38\x9b\x10\x00\xbd\x44\x86\x71\xcc\x18\x65\x08\x85\x78\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-5.26842242947e+95, -1.48169070715e-177]), 3.5556829803e+272) + +// float_misc.wast:432 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xbb\xd6\x51\x20\xed\x16\x45\x4b\x44\xee\xc2\xb9\x5e\x45\x9f\x5c\xcd\x10\x00\xbd\x44\x89\x28\x7f\xd6\x14\x94\xd7\xbd\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4.03995627002e+54, -4.70978819719e+64]), -8.57778757955e-11) + +// float_misc.wast:435 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x66\xd3\xae\x26\x27\xc5\x89\xe4\x44\x0f\x66\x75\x8c\x56\xd0\x27\xcc\x10\x00\xbd\x44\x23\x5f\xa6\xa2\x7c\x50\x51\x58\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-2.03959560468e+176, -7.47408873946e+58]), 2.7288886656e+117) + +// float_misc.wast:436 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x67\x16\x46\x2f\x67\x22\x15\xe2\x44\x71\x9f\x2c\x57\x36\x6d\x93\xd4\x10\x00\xbd\x44\x19\x06\x37\x69\x13\x68\x71\x4d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-3.04261712295e+164, -2.65567923266e+99]), 1.1457020432e+65) + +// float_misc.wast:437 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x61\xcd\xe8\xb4\x51\x10\x80\x4b\x44\xeb\x33\x3d\xca\xb5\xcb\x42\xfc\x10\x00\xbd\x44\xf3\xa2\x98\x15\x47\x59\x2b\x8f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4.92352405125e+55, -3.6634082831e+290]), -1.34397360894e-235) + +// float_misc.wast:438 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xcb\xc2\x0f\xb8\x3b\xf9\x85\x4d\x44\xed\xf0\xe9\xaa\x51\xe0\xa7\x5a\x10\x00\xbd\x44\x4f\xba\x26\xa9\x2f\x73\xcd\x32\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [2.89260843556e+65, 5.17194875837e+128]), 5.59287914614e-64) + +// float_misc.wast:439 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xcc\x63\x21\x76\x1d\x25\x8e\xf3\x44\x96\x17\x1e\x58\x63\xee\xc3\x55\x10\x00\xbd\x44\x07\x0a\xd9\x77\x00\x33\xb8\xdd\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-4.21542582344e+248, 1.42850585467e+105]), -2.95093352937e+143) + +// float_misc.wast:442 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6d\x00\x10\x9f\xf6\xcb\xfd\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x1b\x00\xc4\xa7\xfd\x72\x07\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1.86229574331, 1.79769313486e+308]), 1.03593639381e-308) + +// float_misc.wast:443 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xca\xfb\x42\x94\x16\x14\xce\x00\x44\x7d\xff\x62\x1d\x45\x05\xb5\x40\x10\x00\xbd\x44\x39\x8b\xf3\x85\x7e\x72\x0b\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [8.56663248078e-305, 5381.26997966]), 1.59193508469e-308) + +// float_misc.wast:444 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x64\xc9\x6e\x72\xbe\x3e\xfd\xb6\x44\x08\x36\xb8\xc0\xbf\xa7\xf4\xf6\x10\x00\xbd\x44\x87\xbf\x0c\xc5\xd8\xa9\x05\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-8.1962209195e-44, -1.04065570865e+265]), 7.8760159113e-309) + +// float_misc.wast:445 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xe1\xae\x70\xf7\xde\xc3\x66\xa7\x44\x98\x75\x34\x24\x47\xb8\x68\xe7\x10\x00\xbd\x44\xc7\xd0\xfc\x07\x07\xaf\x03\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-7.05280186645e-119, -1.37674294058e+190]), 5.12281680085e-309) + +// float_misc.wast:446 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xb3\x3c\xbb\xa1\xbd\x6a\x71\x0a\x44\xe6\xb1\x8e\x19\xc7\xc9\x56\x4a\x10\x00\xbd\x44\x49\x16\x74\xd6\x8f\x3a\x0c\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [2.26556217342e-258, 1.33219932963e+50]), 1.7006180104e-308) + +// float_misc.wast:447 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xca\x53\xb5\x6a\x7d\x05\x27\x01\x44\xeb\x60\x86\xe9\xf1\xab\x62\xc1\x10\x00\xbd\x44\xcd\x01\xec\xd8\xe8\x4e\x00\x80\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4.19630410655e-303, -9789327.29765]), -4.28661130531e-310) + +// float_misc.wast:450 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xd5\xd4\x56\x6c\x43\x26\xc4\xb4\x54\x10\x00\xbc\x43\x17\x1f\x18\x57\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.03886078499e+27, 6.21107950387e+12]), 1.67259297284e+14) + +// float_misc.wast:451 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe4\x40\xc1\x6c\x43\x1e\x44\xb1\xf4\x10\x00\xbc\x43\x4e\x8b\x8b\xb7\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.86903296399e+27, -1.12355728108e+32]), -1.66349600477e-05) + +// float_misc.wast:452 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xf1\x35\x2e\x68\x43\xff\x0e\x68\x3f\x10\x00\xbc\x43\x19\x2f\x40\x68\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [3.29074724534e+24, 0.906478822231]), 3.63025265249e+24) + +// float_misc.wast:453 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x29\xe9\x5d\xc9\x43\xa8\xd4\x7d\xd0\x10\x00\xbc\x43\xab\xce\x5f\x38\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-908946.5625, -17034289152.]), 5.33598176844e-05) + +// float_misc.wast:454 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xeb\xa0\x87\xaa\x43\xdf\x96\x9f\xdb\x10\x00\xbc\x43\x6c\x90\x59\x0e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [-2.40924766031e-13, -8.98408116377e+16]), 2.68168516711e-30) + +// float_misc.wast:455 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x99\x18\xc8\xa1\x48\x23\xcb\x43\x44\xd3\x3d\x90\xad\x8a\xa5\x24\x8a\x10\x00\xbd\x44\x35\x1b\xa4\xe2\xc1\x07\x95\xf9\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [3.91097304579e+18, -8.3927307339e-260]), -4.65995296381e+277) + +// float_misc.wast:456 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x8a\x91\x7a\x13\xa5\x3f\xd2\x37\x44\x63\x12\x95\xb1\x8d\x26\x67\x9f\x10\x00\xbd\x44\xbe\x96\xd8\xe0\x65\x39\x59\xd8\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [8.37935196673e-40, -2.1077277802e-157]), -3.97553803932e+117) + +// float_misc.wast:457 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xee\x2d\xd8\x15\x39\xcb\xcd\x69\x44\x19\x6b\xdc\xa1\xaa\x0c\xd5\x67\x10\x00\xbd\x44\x9d\xb0\x14\xc8\x8e\xa5\xe6\x41\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4.56114201785e+201, 1.50057806774e+192]), 3039589952.65) + +// float_misc.wast:458 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x46\xcc\xc0\x78\xe3\x46\x50\xcb\x44\x2b\x92\x9a\x00\x25\xc9\x4a\x70\x10\x00\xbd\x44\x18\xab\x4d\xa9\x0a\x72\xf3\x9a\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-6.23607240183e+54, 8.31706325046e+232]), -7.4979259073e-179) + +// float_misc.wast:459 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x11\x8e\x9d\xd6\x5f\x94\x88\x89\x44\x9a\x80\xaf\x70\x78\xa3\x90\x97\x10\x00\xbd\x44\x82\x23\xc6\x86\xe2\xa2\xe7\x31\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [-9.75727133047e-263, -3.56138122435e-195]), 2.73974357582e-68) + +// float_misc.wast:462 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xf3\xa1\x0e\xaf\x02\x20\x68\x3c\x44\x39\xa3\x2f\x0c\x9b\x0a\xfd\x3f\x10\x00\xbd\x44\x7c\xc1\x1f\xbd\x2f\x95\x5a\x3c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1.04625687245e-17, 1.81508927117]), 5.76421716039e-18) + +// float_misc.wast:463 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x71\xb4\x5d\x51\x2b\xe1\x91\x39\x44\x50\xba\x4f\xc9\xc3\x1f\x54\xbd\x10\x00\xbd\x44\xb6\x7c\xcb\xcc\x50\x6e\x2c\xbc\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [2.20382681066e-31, -2.85980394394e-13]), -7.70621641853e-19) + +// float_misc.wast:464 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x83\xf5\xd6\xdc\x5a\xba\x6a\x3d\x44\x0f\xce\x39\xc6\xfa\x7d\xf1\x38\x10\x00\xbd\x44\x26\xc3\x08\xa0\xb0\x72\x68\x44\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [7.59653998844e-13, 2.10553588313e-34]), 3.60788911236e+21) + +// float_misc.wast:465 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\xae\xd0\x10\x25\xf8\x8c\x45\x44\x53\x80\x49\x86\x7d\x20\x00\x46\x10\x00\xbd\x44\x14\xcf\xe2\x04\xc8\xbd\x7c\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1.1206961145e+27, 1.59713233803e+29]), 0.00701692707496) + +// float_misc.wast:466 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x21\x8e\x50\xbb\x2c\xc8\x44\x3f\x44\xd5\xd5\xc2\x08\x72\xb5\x36\xc3\x10\x00\xbd\x44\x9a\x12\x69\xb3\xe8\x48\xfd\xbb\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [0.00063421425023, -6.39195086552e+15]), -9.92207642977e-20) + +// float_misc.wast:469 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x00\x43\xff\xff\x7f\x00\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.17549435082e-38, 1.17549421069e-38]), 1.00000011921) + +// float_misc.wast:470 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x00\x43\x00\x00\x80\x00\x10\x00\xbc\x43\xfe\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.17549421069e-38, 1.17549435082e-38]), 0.999999880791) + +// float_misc.wast:471 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x10\x00\x44\xff\xff\xff\xff\xff\xff\x0f\x00\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [2.22507385851e-308, 2.22507385851e-308]), 1.) + +// float_misc.wast:472 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x0f\x00\x44\x00\x00\x00\x00\x00\x00\x10\x00\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [2.22507385851e-308, 2.22507385851e-308]), 1.) + +// float_misc.wast:475 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x34\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [2.38418564891e-07, 3.40282346639e+38]), 0.) + +// float_misc.wast:476 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x34\x43\xff\xff\x7f\x7f\x10\x00\xbc\x43\x01\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [2.38418579102e-07, 3.40282346639e+38]), 1.40129846432e-45) + +// float_misc.wast:477 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xbf\x3c\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4.4408920985e-16, 1.79769313486e+308]), 0.) + +// float_misc.wast:478 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xc0\x3c\x44\xff\xff\xff\xff\xff\xff\xef\x7f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [4.4408920985e-16, 1.79769313486e+308]), 4.94065645841e-324) + +// float_misc.wast:481 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x20\x00\x10\x00\xbc\x43\x00\x00\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 2.93873587706e-39]), Infinity) + +// float_misc.wast:482 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x20\x00\x10\x00\xbc\x43\xf8\xff\x7f\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 2.93873727835e-39]), 3.40282204662e+38) + +// float_misc.wast:483 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x04\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 5.56268464627e-309]), Infinity) + +// float_misc.wast:484 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\x04\x00\x10\x00\xbd\x44\xf8\xff\xff\xff\xff\xff\xef\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 5.56268464627e-309]), 1.79769313486e+308) + +// float_misc.wast:487 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x80\x7e\x10\x00\xbc\x43\xff\xff\x7f\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 8.50706018714e+37]), 1.17549421069e-38) + +// float_misc.wast:488 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x7e\x10\x00\xbc\x43\x00\x00\x80\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 8.50705917302e+37]), 1.17549435082e-38) + +// float_misc.wast:489 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\xd0\x7f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x0f\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 4.49423283716e+307]), 2.22507385851e-308) + +// float_misc.wast:490 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\xd0\x7f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 4.49423283716e+307]), 2.22507385851e-308) + +// float_misc.wast:500 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x40\x40\x10\x00\xbc\x43\xab\xaa\xaa\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 3.]), 0.333333343267) + +// float_misc.wast:501 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\x10\x41\x10\x00\xbc\x43\xab\xaa\xaa\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [3., 9.]), 0.333333343267) + +// float_misc.wast:502 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x10\x41\x43\x00\x00\xd8\x41\x10\x00\xbc\x43\xab\xaa\xaa\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [9., 27.]), 0.333333343267) + +// float_misc.wast:503 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\x55\x55\x55\x55\x55\x55\xd5\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 3.]), 0.333333333333) + +// float_misc.wast:504 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x44\x00\x00\x00\x00\x00\x00\x22\x40\x10\x00\xbd\x44\x55\x55\x55\x55\x55\x55\xd5\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [3., 9.]), 0.333333333333) + +// float_misc.wast:505 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x22\x40\x44\x00\x00\x00\x00\x00\x00\x3b\x40\x10\x00\xbd\x44\x55\x55\x55\x55\x55\x55\xd5\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [9., 27.]), 0.333333333333) + +// float_misc.wast:508 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\x02\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1.00000011921, 0.999999940395]), 1.00000023842) + +// float_misc.wast:509 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x3f\x43\x01\x00\x80\x3f\x10\x00\xbc\x43\xfd\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [0.999999940395, 1.00000011921]), 0.999999821186) + +// float_misc.wast:510 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 0.999999940395]), 1.00000011921) + +// float_misc.wast:511 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x01\x00\x80\x3f\x10\x00\xbc\x43\xfe\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.div", [1., 1.00000011921]), 0.999999880791) + +// float_misc.wast:512 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 1.]), 1.) + +// float_misc.wast:513 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xfd\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 1.]), 1.) + +// float_misc.wast:514 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 1.]), 1.) + +// float_misc.wast:515 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x64\x69\x76\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.div", [1., 1.]), 1.) + +// float_misc.wast:519 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x2b\x43\x10\x00\xbc\x43\x26\x3a\x51\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [171.]), 13.0766963959) + +// float_misc.wast:520 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xfe\xa6\x2c\x34\x10\x00\xbc\x43\x4e\x3c\xd2\x39\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [1.60794996873e-07]), 0.000400992517825) + +// float_misc.wast:521 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x60\x65\x40\x10\x00\xbd\x44\xf5\x74\x96\xce\x44\x27\x2a\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [171.]), 13.0766968306) + +// float_misc.wast:522 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x05\xa1\x0a\xc7\xdf\x94\x85\x3e\x10\x00\xbd\x44\x99\x7f\xe3\xc0\x89\x47\x3a\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.60795e-07]), 0.000400992518633) + +// float_misc.wast:525 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x59\xf2\x94\xcc\x3f\x26\xb0\x35\x10\x00\xbd\x44\x9f\x57\xde\x85\x14\x13\xd0\x3a\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [4.31635758035e-50]), 2.07758455432e-25) + +// float_misc.wast:526 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x3d\xc4\x78\xa2\xdf\x52\x13\x55\x10\x00\xbd\x44\x17\x54\xac\x7d\x60\x95\x81\x4a\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [6.7625330048e+101]), 8.22346216918e+50) + +// float_misc.wast:527 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xfa\x24\x39\xa2\xda\x15\x1b\x59\x10\x00\xbd\x44\x93\x14\x56\xdb\x43\xd1\x84\x4c\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.74852966249e+121]), 4.18154237392e+60) + +// float_misc.wast:528 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x53\xb7\x8c\xe6\xc8\x18\xa5\x3d\x10\x00\xbd\x44\xfd\x5b\xad\xf1\x8e\xfb\xc9\x3e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [9.5937209606e-12]), 3.0973732356e-06) + +// float_misc.wast:529 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x8e\x07\x18\x65\x8b\x6d\xd8\x28\x10\x00\xbd\x44\xad\xfc\x48\x2a\x14\xc5\x63\x34\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [6.34845289872e-112]), 2.51961364076e-56) + +// float_misc.wast:533 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.]), 1.) + +// float_misc.wast:536 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x32\xc0\x04\x3e\x10\x00\xbc\x43\x18\x59\xb8\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [0.129639416933]), 0.360054731369) + +// float_misc.wast:537 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x78\xdf\xec\x71\x10\x00\xbc\x43\x29\x20\xae\x58\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [2.34587582271e+30]), 1.53162520042e+15) + +// float_misc.wast:538 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xdb\x5a\xa1\x3d\x10\x00\xbc\x43\x87\xb6\x8f\x3e\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [0.0787865743041]), 0.280689448118) + +// float_misc.wast:539 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x68\x42\x1b\x1c\x10\x00\xbc\x43\x71\x5d\xc7\x2d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [5.13710260448e-22]), 2.26651770269e-11) + +// float_misc.wast:540 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x27\x5e\x6c\x3a\x10\x00\xbc\x43\xf5\xfc\xf5\x3c\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [0.000901671533938]), 0.0300278458744) + +// float_misc.wast:541 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x04\x57\x0d\x22\x9f\xc3\x35\x06\x10\x00\xbd\x44\xe9\xea\x4c\xc2\x2b\xa9\x12\x23\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [9.59192276083e-279]), 9.79383620489e-140) + +// float_misc.wast:542 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x5c\x74\x35\xa6\x21\x35\x65\x6d\x10\x00\xbd\x44\xf1\x8f\xef\xc4\xfd\x0c\xaa\x56\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [9.35787535216e+218]), 3.05906445701e+109) + +// float_misc.wast:543 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x78\x46\x9f\xbc\x5b\xfd\x0d\x58\x10\x00\xbd\x44\x4c\xc9\x17\x71\x81\xfa\xfe\x4b\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.47706699783e+116]), 1.21534645177e+58) + +// float_misc.wast:544 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xd4\x1c\x81\x40\x96\x3f\x83\x46\x10\x00\xbd\x44\xa3\xba\x43\x92\x7c\xd1\x38\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [4.880045718e+31]), 6.98573240112e+15) + +// float_misc.wast:545 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x45\xff\x67\x02\xef\xc0\x66\x7e\x10\x00\xbd\x44\x40\x2b\x3f\xae\xcf\xfb\x2a\x5f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [7.61897768717e+300]), 2.76024956973e+150) + +// float_misc.wast:548 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x17\x53\x13\x4d\x10\x00\xbc\x43\x28\x34\x42\x46\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [154481008.]), 12429.0390625) + +// float_misc.wast:549 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x30\x0b\x07\x10\x00\xbc\x43\xb1\xc3\x3c\x23\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [1.04713048251e-34]), 1.02329396885e-17) + +// float_misc.wast:550 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xa8\xfd\x1e\x38\x10\x00\xbc\x43\x1c\xbf\xc9\x3b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [3.79063712899e-05]), 0.00615681521595) + +// float_misc.wast:551 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x96\x75\x98\x03\x10\x00\xbc\x43\x03\xb2\x8b\x21\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [8.96075347353e-37]), 9.46612568309e-19) + +// float_misc.wast:552 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x2e\xb8\x65\x02\x10\x00\xbc\x43\x05\x81\xf2\x20\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [1.68771198742e-37]), 4.1081772611e-19) + +// float_misc.wast:553 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x30\x54\xa0\xae\xe8\xda\x6e\x6b\x10\x00\xbd\x44\xd2\x8d\xfc\xa4\x1e\x6c\xaf\x55\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [3.16996264379e+209]), 5.6302421296e+104) + +// float_misc.wast:554 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xc3\xc9\xa5\xbd\xe4\x7e\x4f\x10\x10\x00\xbd\x44\xc5\x11\xaf\xbd\x30\xbf\x1f\x28\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [4.05736692718e-230]), 2.01429067594e-115) + +// float_misc.wast:555 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xd1\x6a\x26\x48\xf3\x48\x1a\x3e\x10\x00\xbd\x44\xf7\xba\x40\x75\xee\x81\x04\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.52998616606e-09]), 3.9115037595e-05) + +// float_misc.wast:556 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x9c\xed\xe3\x1c\x5a\xeb\xdf\x30\x10\x00\xbd\x44\x46\x0d\xc2\x60\x50\x99\x66\x38\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [2.82276692895e-73]), 5.31297179453e-37) + +// float_misc.wast:557 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x34\x38\x6e\x79\xd9\x57\x19\x7a\x10\x00\xbd\x44\xba\x57\x31\x21\x05\x23\x04\x5d\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.4375957727e+280]), 1.19899782014e+140) + +// float_misc.wast:560 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x3e\xbc\xb2\x7a\x10\x00\xbc\x43\x52\x41\x17\x5d\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [4.64023422985e+35]), 6.81192670823e+17) + +// float_misc.wast:561 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x22\xb0\x39\x47\x10\x00\xbc\x43\x20\x07\x5a\x43\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [47536.1328125]), 218.027832031) + +// float_misc.wast:562 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x68\x07\x50\x3f\x10\x00\xbc\x43\x76\xc5\x66\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [0.812613010406]), 0.901450514793) + +// float_misc.wast:563 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x40\x26\x3d\x14\x10\x00\xbc\x43\xf2\x0c\xdc\x29\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [9.54960499196e-27]), 9.77220827045e-14) + +// float_misc.wast:564 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x6a\x92\xae\x10\x10\x00\xbc\x43\xaf\x7b\x15\x28\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [6.8856485336e-29]), 8.29798113767e-15) + +// float_misc.wast:565 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x74\xd2\xea\x48\x89\x00\x1a\x6e\x10\x00\xbd\x44\x19\x9b\xc3\x37\x9b\x65\x04\x57\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [2.3497689175e+222]), 1.53289559902e+111) + +// float_misc.wast:566 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xf5\x21\xed\x99\x61\x0f\x27\x28\x10\x00\xbd\x44\x0d\x30\xf3\xdd\x2b\x2a\x0b\x34\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [2.92625747434e-115]), 5.40948932372e-58) + +// float_misc.wast:567 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x52\xa3\xf2\x49\x1d\x5c\x43\x7c\x10\x00\xbd\x44\x16\x97\x1a\xf0\xd9\xe3\x18\x5e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [3.77335087484e+290]), 1.94251148641e+145) + +// float_misc.wast:568 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x15\x2a\x2b\xfb\xdc\xfb\x23\x3d\x10\x00\xbd\x44\x2a\xa4\xec\x4f\xba\x49\x89\x3e\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [3.54984320239e-14]), 1.88410275792e-07) + +// float_misc.wast:569 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x45\x71\x75\x94\x1b\x20\x3c\x21\x10\x00\xbd\x44\x67\x29\xbf\xe6\x9e\x36\x95\x30\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.37474193362e-148]), 1.17249389492e-74) + +// float_misc.wast:572 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x44\xd0\x2a\x03\xd0\xe8\x60\xc3\x83\x10\x00\xbd\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x83\x42\x80\x80\x80\x80\x80\x80\x80\xfc\xff\x00\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return_canonical_nan(() => call($1, "f64.sqrt", [-1.55351526633e-290])) + +// float_misc.wast:573 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x03\x05\xef\x5e\x6f\x9a\x6d\x46\x10\x00\xbd\x44\xf6\x66\xc1\x56\x3f\xc7\x2e\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.8763296348e+31]), 4.33166207685e+15) + +// float_misc.wast:574 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x27\xec\xc4\xa5\x51\xa0\x7a\x10\x10\x00\xbd\x44\x49\x51\xff\x71\xe7\xa3\x34\x28\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [2.74405777036e-229]), 5.23837548326e-115) + +// float_misc.wast:575 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xbe\xba\x41\xa7\x22\x55\xbe\x2e\x10\x00\xbd\x44\x7d\xeb\x6f\x2b\xae\x07\x56\x37\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.56138599529e-83]), 3.95143770708e-42) + +// float_misc.wast:576 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x61\xc0\xc0\xad\x2b\x83\x64\x63\x10\x00\xbd\x44\xb2\x39\x41\x93\xc7\x9e\xa9\x51\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [6.19303768945e+170]), 2.48858146128e+85) + +// float_misc.wast:579 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [1.00000011921]), 1.) + +// float_misc.wast:580 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x02\x00\x80\x3f\x10\x00\xbc\x43\x01\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [1.00000023842]), 1.00000011921) + +// float_misc.wast:581 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.]), 1.) + +// float_misc.wast:582 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x02\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.]), 1.) + +// float_misc.wast:585 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xfe\xff\x7f\x3f\x10\x00\xbc\x43\xff\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [0.999999880791]), 0.999999940395) + +// float_misc.wast:586 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xfd\xff\x7f\x3f\x10\x00\xbc\x43\xfe\xff\x7f\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.sqrt", [0.999999821186]), 0.999999880791) + +// float_misc.wast:587 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xfe\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.]), 1.) + +// float_misc.wast:588 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x73\x71\x72\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xfd\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\xef\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.sqrt", [1.]), 1.) + +// float_misc.wast:592 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\x7f\x10\x00\xbc\x43\xe2\xf1\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.abs", [NaN]), NaN) + +// float_misc.wast:593 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\xff\x10\x00\xbc\x43\xe2\xf1\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.abs", [NaN]), NaN) + +// float_misc.wast:594 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.abs", [NaN]), NaN) + +// float_misc.wast:595 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x61\x62\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.abs", [NaN]), NaN) + +// float_misc.wast:597 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\x7f\x10\x00\xbc\x43\xe2\xf1\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.neg", [NaN]), NaN) + +// float_misc.wast:598 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x33\x32\x2e\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\xff\x10\x00\xbc\x43\xe2\xf1\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.neg", [NaN]), NaN) + +// float_misc.wast:599 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.neg", [NaN]), NaN) + +// float_misc.wast:600 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x66\x36\x34\x2e\x6e\x65\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.neg", [NaN]), NaN) + +// float_misc.wast:602 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x33\x32\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\x7f\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\xe2\xf1\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:603 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x33\x32\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\x7f\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\xe2\xf1\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:604 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x33\x32\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\xff\x43\x00\x00\xc0\x7f\x10\x00\xbc\x43\xe2\xf1\x80\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:605 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x33\x32\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\xe2\xf1\x80\xff\x43\x00\x00\xc0\xff\x10\x00\xbc\x43\xe2\xf1\x80\xff\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:606 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:607 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:608 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:609 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x66\x36\x34\x2e\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\x44\x00\x00\x00\x00\x00\x00\xf8\xff\x10\x00\xbd\x44\x6b\x7a\xe2\xf1\x00\x00\xf0\xff\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.copysign", [NaN, NaN]), NaN) + +// float_misc.wast:612 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.ceil", [0.999999940395]), 1.) + +// float_misc.wast:613 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.ceil", [1.00000011921]), 2.) + +// float_misc.wast:614 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.ceil", [1.]), 1.) + +// float_misc.wast:615 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.ceil", [1.]), 2.) + +// float_misc.wast:618 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x4a\x10\x00\xbc\x43\x00\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.ceil", [8388607.5]), 8388608.) + +// float_misc.wast:619 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\xca\x10\x00\xbc\x43\xfe\xff\xff\xca\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.ceil", [-8388607.5]), -8388607.) + +// float_misc.wast:620 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\x43\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.ceil", [4.50359962737e+15]), 4.50359962737e+15) + +// float_misc.wast:621 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\xc3\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\x2f\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.ceil", [-4.50359962737e+15]), -4.50359962737e+15) + +// float_misc.wast:625 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x4b\x10\x00\xbc\x43\xff\xff\x7f\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.ceil", [16777215.]), 16777215.) + +// float_misc.wast:626 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x33\x32\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xcb\x10\x00\xbc\x43\xff\xff\x7f\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.ceil", [-16777215.]), -16777215.) + +// float_misc.wast:627 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x3f\x43\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x3f\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.ceil", [9.00719925474e+15]), 9.00719925474e+15) + +// float_misc.wast:628 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x36\x34\x2e\x63\x65\x69\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x3f\xc3\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x3f\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.ceil", [-9.00719925474e+15]), -9.00719925474e+15) + +// float_misc.wast:631 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\xbf\x10\x00\xbc\x43\x00\x00\x80\xbf\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.floor", [-0.999999940395]), -1.) + +// float_misc.wast:632 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x80\xbf\x10\x00\xbc\x43\x00\x00\x00\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.floor", [-1.00000011921]), -2.) + +// float_misc.wast:633 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xef\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\xbf\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.floor", [-1.]), -1.) + +// float_misc.wast:634 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\xf0\xbf\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.floor", [-1.]), -2.) + +// float_misc.wast:637 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\xca\x10\x00\xbc\x43\x00\x00\x00\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.floor", [-8388607.5]), -8388608.) + +// float_misc.wast:638 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x4a\x10\x00\xbc\x43\xfe\xff\xff\x4a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.floor", [8388607.5]), 8388607.) + +// float_misc.wast:639 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\xc3\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.floor", [-4.50359962737e+15]), -4.50359962737e+15) + +// float_misc.wast:640 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\x43\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\x2f\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.floor", [4.50359962737e+15]), 4.50359962737e+15) + +// float_misc.wast:644 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x80\x0f\xad\x47\x10\x00\xbc\x43\x80\x0f\xad\x47\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.floor", [88607.]), 88607.) + +// float_misc.wast:645 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x66\x6c\x6f\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\xf0\xa1\xf5\x40\x10\x00\xbd\x44\x00\x00\x00\x00\xf0\xa1\xf5\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.floor", [88607.]), 88607.) + +// float_misc.wast:648 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\xca\x10\x00\xbc\x43\xfe\xff\xff\xca\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.trunc", [-8388607.5]), -8388607.) + +// float_misc.wast:649 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x33\x32\x2e\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x4a\x10\x00\xbc\x43\xfe\xff\xff\x4a\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.trunc", [8388607.5]), 8388607.) + +// float_misc.wast:650 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\xc3\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\x2f\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.trunc", [-4.50359962737e+15]), -4.50359962737e+15) + +// float_misc.wast:651 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x36\x34\x2e\x74\x72\x75\x6e\x63\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\x43\x10\x00\xbd\x44\xfe\xff\xff\xff\xff\xff\x2f\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.trunc", [4.50359962737e+15]), 4.50359962737e+15) + +// float_misc.wast:656 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x01\x00\x00\x4b\x10\x00\xbc\x43\x01\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [8388609.]), 8388609.) + +// float_misc.wast:657 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x02\x00\x00\x4b\x10\x00\xbc\x43\x02\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [8388610.]), 8388610.) + +// float_misc.wast:658 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x3e\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [0.499999970198]), 0.) + +// float_misc.wast:659 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\x7f\x57\x10\x00\xbc\x43\xff\xff\x7f\x57\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [2.81474959933e+14]), 2.81474959933e+14) + +// float_misc.wast:660 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x01\x00\x00\x00\x00\x00\x30\x43\x10\x00\xbd\x44\x01\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [4.50359962737e+15]), 4.50359962737e+15) + +// float_misc.wast:661 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x02\x00\x00\x00\x00\x00\x30\x43\x10\x00\xbd\x44\x02\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [4.50359962737e+15]), 4.50359962737e+15) + +// float_misc.wast:662 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\xdf\x3f\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [0.5]), 0.) + +// float_misc.wast:663 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x8f\x46\x10\x00\xbd\x44\xff\xff\xff\xff\xff\xff\x8f\x46\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [8.11296384146e+31]), 8.11296384146e+31) + +// float_misc.wast:667 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x90\x40\x10\x00\xbc\x43\x00\x00\x80\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [4.5]), 4.) + +// float_misc.wast:668 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x90\xc0\x10\x00\xbc\x43\x00\x00\x80\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [-4.5]), -4.) + +// float_misc.wast:669 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x60\xc0\x10\x00\xbc\x43\x00\x00\x80\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [-3.5]), -4.) + +// float_misc.wast:670 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x12\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [4.5]), 4.) + +// float_misc.wast:671 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x12\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [-4.5]), -4.) + +// float_misc.wast:672 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x0c\xc0\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [-3.5]), -4.) + +// float_misc.wast:675 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\xca\x10\x00\xbc\x43\x00\x00\x00\xcb\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [-8388607.5]), -8388608.) + +// float_misc.wast:676 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x33\x32\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xff\xff\xff\x4a\x10\x00\xbc\x43\x00\x00\x00\x4b\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f32.nearest", [8388607.5]), 8388608.) + +// float_misc.wast:677 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\xc3\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\xc3\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [-4.50359962737e+15]), -4.50359962737e+15) + +// float_misc.wast:678 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x66\x36\x34\x2e\x6e\x65\x61\x72\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\xff\xff\xff\xff\xff\xff\x2f\x43\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x30\x43\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "f64.nearest", [4.50359962737e+15]), 4.50359962737e+15) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/forward.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/forward.wast.js new file mode 100644 index 0000000000..4c935a24e2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/forward.wast.js @@ -0,0 +1,15 @@ + +// forward.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x83\x80\x80\x80\x00\x02\x00\x00\x07\x8e\x80\x80\x80\x00\x02\x04\x65\x76\x65\x6e\x00\x00\x03\x6f\x64\x64\x00\x01\x0a\xb3\x80\x80\x80\x00\x02\x94\x80\x80\x80\x00\x00\x20\x00\x41\x00\x46\x04\x7f\x41\x01\x05\x20\x00\x41\x01\x6b\x10\x01\x0b\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x41\x00\x46\x04\x7f\x41\x00\x05\x20\x00\x41\x01\x6b\x10\x00\x0b\x0b"); + +// forward.wast:17 +assert_return(() => call($1, "even", [13]), 0); + +// forward.wast:18 +assert_return(() => call($1, "even", [20]), 1); + +// forward.wast:19 +assert_return(() => call($1, "odd", [13]), 1); + +// forward.wast:20 +assert_return(() => call($1, "odd", [20]), 0); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/func.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/func.wast.js new file mode 100644 index 0000000000..a9f3667318 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/func.wast.js @@ -0,0 +1,309 @@ + +// func.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xf3\x80\x80\x80\x00\x13\x60\x00\x00\x60\x01\x7f\x00\x60\x03\x7f\x7c\x7e\x00\x60\x02\x7f\x7c\x00\x60\x05\x7f\x7d\x7e\x7f\x7c\x00\x60\x00\x01\x7f\x60\x04\x7f\x7d\x7e\x7f\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x02\x7f\x7f\x01\x7f\x60\x02\x7e\x7e\x01\x7e\x60\x02\x7d\x7d\x01\x7d\x60\x02\x7c\x7c\x01\x7c\x60\x06\x7d\x7f\x7e\x7f\x7c\x7f\x01\x7c\x60\x01\x7f\x01\x7f\x60\x08\x7c\x7e\x7c\x7e\x7c\x7e\x7d\x7f\x00\x60\x00\x00\x60\x08\x7c\x7e\x7c\x7e\x7c\x7e\x7d\x7f\x00\x03\xd1\x80\x80\x80\x00\x50\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x02\x03\x04\x05\x00\x06\x00\x05\x07\x08\x09\x05\x07\x08\x09\x09\x0a\x0b\x0c\x0d\x0a\x0b\x0c\x0d\x0e\x00\x00\x05\x07\x08\x09\x00\x05\x00\x05\x07\x08\x09\x05\x00\x05\x07\x08\x09\x05\x01\x0f\x01\x0f\x01\x0f\x05\x07\x08\x09\x00\x10\x00\x10\x10\x00\x00\x00\x00\x04\x85\x80\x80\x80\x00\x01\x70\x01\x05\x05\x07\xa3\x87\x80\x80\x00\x36\x01\x66\x00\x02\x01\x67\x00\x04\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x69\x33\x32\x00\x17\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x18\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x19\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x1a\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x33\x32\x00\x1b\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x1c\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x1d\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x1e\x0b\x6c\x6f\x63\x61\x6c\x2d\x6d\x69\x78\x65\x64\x00\x1f\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x69\x33\x32\x00\x20\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x21\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x22\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x23\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x33\x32\x00\x24\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x25\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x26\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x27\x0b\x70\x61\x72\x61\x6d\x2d\x6d\x69\x78\x65\x64\x00\x28\x05\x65\x6d\x70\x74\x79\x00\x29\x0a\x76\x61\x6c\x75\x65\x2d\x76\x6f\x69\x64\x00\x2a\x09\x76\x61\x6c\x75\x65\x2d\x69\x33\x32\x00\x2b\x09\x76\x61\x6c\x75\x65\x2d\x69\x36\x34\x00\x2c\x09\x76\x61\x6c\x75\x65\x2d\x66\x33\x32\x00\x2d\x09\x76\x61\x6c\x75\x65\x2d\x66\x36\x34\x00\x2e\x10\x76\x61\x6c\x75\x65\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x6f\x69\x64\x00\x2f\x0f\x76\x61\x6c\x75\x65\x2d\x62\x6c\x6f\x63\x6b\x2d\x69\x33\x32\x00\x30\x0c\x72\x65\x74\x75\x72\x6e\x2d\x65\x6d\x70\x74\x79\x00\x31\x0a\x72\x65\x74\x75\x72\x6e\x2d\x69\x33\x32\x00\x32\x0a\x72\x65\x74\x75\x72\x6e\x2d\x69\x36\x34\x00\x33\x0a\x72\x65\x74\x75\x72\x6e\x2d\x66\x33\x32\x00\x34\x0a\x72\x65\x74\x75\x72\x6e\x2d\x66\x36\x34\x00\x35\x10\x72\x65\x74\x75\x72\x6e\x2d\x62\x6c\x6f\x63\x6b\x2d\x69\x33\x32\x00\x36\x0b\x62\x72\x65\x61\x6b\x2d\x65\x6d\x70\x74\x79\x00\x37\x09\x62\x72\x65\x61\x6b\x2d\x69\x33\x32\x00\x38\x09\x62\x72\x65\x61\x6b\x2d\x69\x36\x34\x00\x39\x09\x62\x72\x65\x61\x6b\x2d\x66\x33\x32\x00\x3a\x09\x62\x72\x65\x61\x6b\x2d\x66\x36\x34\x00\x3b\x0f\x62\x72\x65\x61\x6b\x2d\x62\x6c\x6f\x63\x6b\x2d\x69\x33\x32\x00\x3c\x11\x62\x72\x65\x61\x6b\x2d\x62\x72\x5f\x69\x66\x2d\x65\x6d\x70\x74\x79\x00\x3d\x0f\x62\x72\x65\x61\x6b\x2d\x62\x72\x5f\x69\x66\x2d\x6e\x75\x6d\x00\x3e\x14\x62\x72\x65\x61\x6b\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x65\x6d\x70\x74\x79\x00\x3f\x12\x62\x72\x65\x61\x6b\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x6e\x75\x6d\x00\x40\x1b\x62\x72\x65\x61\x6b\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x6e\x65\x73\x74\x65\x64\x2d\x65\x6d\x70\x74\x79\x00\x41\x19\x62\x72\x65\x61\x6b\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x6e\x65\x73\x74\x65\x64\x2d\x6e\x75\x6d\x00\x42\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x33\x32\x00\x43\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x44\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x45\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x46\x19\x73\x69\x67\x6e\x61\x74\x75\x72\x65\x2d\x65\x78\x70\x6c\x69\x63\x69\x74\x2d\x72\x65\x75\x73\x65\x64\x00\x4c\x19\x73\x69\x67\x6e\x61\x74\x75\x72\x65\x2d\x69\x6d\x70\x6c\x69\x63\x69\x74\x2d\x72\x65\x75\x73\x65\x64\x00\x4d\x1c\x73\x69\x67\x6e\x61\x74\x75\x72\x65\x2d\x65\x78\x70\x6c\x69\x63\x69\x74\x2d\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x00\x4e\x1c\x73\x69\x67\x6e\x61\x74\x75\x72\x65\x2d\x69\x6d\x70\x6c\x69\x63\x69\x74\x2d\x64\x75\x70\x6c\x69\x63\x61\x74\x65\x00\x4f\x09\x8b\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x05\x4b\x49\x48\x4b\x47\x0a\xd1\x88\x80\x80\x00\x50\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x84\x80\x80\x80\x00\x01\x01\x7f\x0b\x84\x80\x80\x80\x00\x01\x01\x7f\x0b\x88\x80\x80\x80\x00\x03\x01\x7f\x01\x7c\x01\x7e\x0b\x86\x80\x80\x80\x00\x02\x01\x7f\x01\x7c\x0b\x8c\x80\x80\x80\x00\x05\x01\x7f\x01\x7d\x01\x7e\x01\x7f\x01\x7c\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x83\x80\x80\x80\x00\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x90\x80\x80\x80\x00\x06\x01\x7d\x01\x7f\x01\x7e\x01\x7f\x01\x7c\x01\x7f\x00\x00\x0b\x90\x80\x80\x80\x00\x06\x01\x7d\x01\x7f\x01\x7e\x01\x7f\x01\x7c\x01\x7f\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x02\x7f\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x02\x7d\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x02\x7c\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x02\x7f\x20\x01\x0b\x86\x80\x80\x80\x00\x01\x02\x7e\x20\x01\x0b\x86\x80\x80\x80\x00\x01\x02\x7d\x20\x01\x0b\x86\x80\x80\x80\x00\x01\x02\x7c\x20\x01\x0b\xa8\x80\x80\x80\x00\x06\x01\x7d\x01\x7f\x01\x7e\x01\x7f\x01\x7c\x01\x7f\x20\x00\x8c\x1a\x20\x01\x45\x1a\x20\x02\x50\x1a\x20\x03\x45\x1a\x20\x04\x9a\x1a\x20\x05\x45\x1a\x20\x04\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x84\x80\x80\x80\x00\x00\x20\x01\x0b\x9c\x80\x80\x80\x00\x00\x20\x00\x8c\x1a\x20\x01\x45\x1a\x20\x02\x50\x1a\x20\x03\x45\x1a\x20\x04\x9a\x1a\x20\x05\x45\x1a\x20\x04\x0b\x82\x80\x80\x80\x00\x00\x0b\x84\x80\x80\x80\x00\x00\x10\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xcd\x00\x0b\x85\x80\x80\x80\x00\x00\x42\xe1\x3c\x0b\x87\x80\x80\x80\x00\x00\x43\x66\x66\x9b\x42\x0b\x8b\x80\x80\x80\x00\x00\x44\xe1\x7a\x14\xae\x47\x71\x53\x40\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x10\x00\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\xcd\x00\x0b\x0b\x83\x80\x80\x80\x00\x00\x0f\x0b\x86\x80\x80\x80\x00\x00\x41\xce\x00\x0f\x0b\x86\x80\x80\x80\x00\x00\x42\xc6\x3d\x0f\x0b\x88\x80\x80\x80\x00\x00\x43\x66\x66\x9d\x42\x0f\x0b\x8c\x80\x80\x80\x00\x00\x44\x52\xb8\x1e\x85\xeb\xb1\x53\x40\x0f\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\xcd\x00\x0b\x0f\x0b\x84\x80\x80\x80\x00\x00\x0c\x00\x0b\x87\x80\x80\x80\x00\x00\x41\xcf\x00\x0c\x00\x0b\x87\x80\x80\x80\x00\x00\x42\xab\x3e\x0c\x00\x0b\x89\x80\x80\x80\x00\x00\x43\xcd\xcc\x9f\x42\x0c\x00\x0b\x8d\x80\x80\x80\x00\x00\x44\xc3\xf5\x28\x5c\x8f\xf2\x53\x40\x0c\x00\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\xcd\x00\x0b\x0c\x00\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x0d\x00\x0b\x8b\x80\x80\x80\x00\x00\x41\x32\x20\x00\x0d\x00\x1a\x41\x33\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x0e\x02\x00\x00\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x32\x20\x00\x0e\x01\x00\x00\x41\x33\x0b\x8c\x80\x80\x80\x00\x00\x02\x40\x20\x00\x0e\x02\x00\x01\x00\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x32\x20\x00\x0e\x02\x00\x01\x00\x41\x33\x0b\x41\x02\x6a\x0b\x86\x80\x80\x80\x00\x01\x01\x7f\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x01\x7e\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x01\x7d\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x01\x7c\x20\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x01\x11\x00\x00\x41\x04\x11\x00\x00\x0b\x89\x81\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x43\x00\x00\x00\x00\x41\x00\x41\x00\x11\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x43\x00\x00\x00\x00\x41\x00\x41\x02\x11\x10\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x43\x00\x00\x00\x00\x41\x00\x41\x03\x11\x10\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x01\x11\x11\x00\x0b\xaf\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x43\x00\x00\x00\x00\x41\x00\x41\x00\x11\x12\x00\x0b"); + +// func.wast:207 +assert_return(() => call($1, "local-first-i32", []), 0); + +// func.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-first-i64", []), int64("0")) + +// func.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-first-f32", []), 0.) + +// func.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x6c\x6f\x63\x61\x6c\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-first-f64", []), 0.) + +// func.wast:211 +assert_return(() => call($1, "local-second-i32", []), 0); + +// func.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-second-i64", []), int64("0")) + +// func.wast:213 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-second-f32", []), 0.) + +// func.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x6c\x6f\x63\x61\x6c\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-second-f64", []), 0.) + +// func.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x6c\x6f\x63\x61\x6c\x2d\x6d\x69\x78\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "local-mixed", []), 0.) + +// func.wast:217 +assert_return(() => call($1, "param-first-i32", [2, 3]), 2); + +// func.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x02\x42\x03\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-first-i64", [int64("2"), int64("3")]), int64("2")) + +// func.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-first-f32", [2., 3.]), 2.) + +// func.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x70\x61\x72\x61\x6d\x2d\x66\x69\x72\x73\x74\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-first-f64", [2., 3.]), 2.) + +// func.wast:229 +assert_return(() => call($1, "param-second-i32", [2, 3]), 3); + +// func.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x02\x42\x03\x10\x00\x01\x42\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-second-i64", [int64("2"), int64("3")]), int64("3")) + +// func.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\x00\x00\x40\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-second-f32", [2., 3.]), 3.) + +// func.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7c\x7c\x01\x7c\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x70\x61\x72\x61\x6d\x2d\x73\x65\x63\x6f\x6e\x64\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb0\x80\x80\x80\x00\x01\xaa\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\x08\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-second-f64", [2., 3.]), 3.) + +// func.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x02\x60\x00\x00\x60\x06\x7d\x7f\x7e\x7f\x7c\x7f\x01\x7c\x02\x92\x80\x80\x80\x00\x01\x02\x24\x31\x0b\x70\x61\x72\x61\x6d\x2d\x6d\x69\x78\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb4\x80\x80\x80\x00\x01\xae\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x41\x02\x42\x03\x41\x04\x44\x00\x00\x00\x00\x00\x00\x16\x40\x41\x06\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x16\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "param-mixed", [1., 2, int64("3"), 4, 5.5, 6]), 5.5) + +// func.wast:250 +assert_return(() => call($1, "empty", [])); + +// func.wast:251 +assert_return(() => call($1, "value-void", [])); + +// func.wast:252 +assert_return(() => call($1, "value-i32", []), 77); + +// func.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x76\x61\x6c\x75\x65\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xe1\x3c\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "value-i64", []), int64("7777")) + +// func.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x76\x61\x6c\x75\x65\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x66\x66\x9b\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "value-f32", []), 77.6999969482) + +// func.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x76\x61\x6c\x75\x65\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\xe1\x7a\x14\xae\x47\x71\x53\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "value-f64", []), 77.77) + +// func.wast:256 +assert_return(() => call($1, "value-block-void", [])); + +// func.wast:257 +assert_return(() => call($1, "value-block-i32", []), 77); + +// func.wast:259 +assert_return(() => call($1, "return-empty", [])); + +// func.wast:260 +assert_return(() => call($1, "return-i32", []), 78); + +// func.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x72\x65\x74\x75\x72\x6e\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xc6\x3d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "return-i64", []), int64("7878")) + +// func.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x72\x65\x74\x75\x72\x6e\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x66\x66\x9d\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "return-f32", []), 78.6999969482) + +// func.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x72\x65\x74\x75\x72\x6e\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x52\xb8\x1e\x85\xeb\xb1\x53\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "return-f64", []), 78.78) + +// func.wast:264 +assert_return(() => call($1, "return-block-i32", []), 77); + +// func.wast:266 +assert_return(() => call($1, "break-empty", [])); + +// func.wast:267 +assert_return(() => call($1, "break-i32", []), 79); + +// func.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x62\x72\x65\x61\x6b\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xab\x3e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "break-i64", []), int64("7979")) + +// func.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x62\x72\x65\x61\x6b\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\xcd\xcc\x9f\x42\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "break-f32", []), 79.9000015259) + +// func.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x62\x72\x65\x61\x6b\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\xc3\xf5\x28\x5c\x8f\xf2\x53\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "break-f64", []), 79.79) + +// func.wast:271 +assert_return(() => call($1, "break-block-i32", []), 77); + +// func.wast:273 +assert_return(() => call($1, "break-br_if-empty", [0])); + +// func.wast:274 +assert_return(() => call($1, "break-br_if-empty", [2])); + +// func.wast:275 +assert_return(() => call($1, "break-br_if-num", [0]), 51); + +// func.wast:276 +assert_return(() => call($1, "break-br_if-num", [1]), 50); + +// func.wast:278 +assert_return(() => call($1, "break-br_table-empty", [0])); + +// func.wast:279 +assert_return(() => call($1, "break-br_table-empty", [1])); + +// func.wast:280 +assert_return(() => call($1, "break-br_table-empty", [5])); + +// func.wast:281 +assert_return(() => call($1, "break-br_table-empty", [-1])); + +// func.wast:282 +assert_return(() => call($1, "break-br_table-num", [0]), 50); + +// func.wast:283 +assert_return(() => call($1, "break-br_table-num", [1]), 50); + +// func.wast:284 +assert_return(() => call($1, "break-br_table-num", [10]), 50); + +// func.wast:285 +assert_return(() => call($1, "break-br_table-num", [-100]), 50); + +// func.wast:286 +assert_return(() => call($1, "break-br_table-nested-empty", [0])); + +// func.wast:287 +assert_return(() => call($1, "break-br_table-nested-empty", [1])); + +// func.wast:288 +assert_return(() => call($1, "break-br_table-nested-empty", [3])); + +// func.wast:289 +assert_return(() => call($1, "break-br_table-nested-empty", [-2])); + +// func.wast:290 +assert_return(() => call($1, "break-br_table-nested-num", [0]), 52); + +// func.wast:293 +assert_return(() => call($1, "break-br_table-nested-num", [1]), 50); + +// func.wast:296 +assert_return(() => call($1, "break-br_table-nested-num", [2]), 52); + +// func.wast:299 +assert_return(() => call($1, "break-br_table-nested-num", [-3]), 52); + +// func.wast:303 +assert_return(() => call($1, "init-local-i32", []), 0); + +// func.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "init-local-i64", []), int64("0")) + +// func.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "init-local-f32", []), 0.) + +// func.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x69\x6e\x69\x74\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "init-local-f64", []), 0.) + +// func.wast:308 +assert_return(() => call($1, "signature-explicit-reused", [])); + +// func.wast:309 +assert_return(() => call($1, "signature-implicit-reused", [])); + +// func.wast:310 +assert_return(() => call($1, "signature-explicit-duplicate", [])); + +// func.wast:311 +assert_return(() => call($1, "signature-implicit-duplicate", [])); + +// func.wast:316 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x01\x01\x7f\x20\x00\x0b"); + +// func.wast:320 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x01\x01\x7d\x20\x00\x45\x0b"); + +// func.wast:324 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x20\x01\x9a\x0b"); + +// func.wast:332 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x00\x0b"); + +// func.wast:336 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x00\x45\x0b"); + +// func.wast:340 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7c\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x01\x9a\x0b"); + +// func.wast:348 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x00\x02\x7f\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x00\x0b"); + +// func.wast:352 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x00\x02\x7f\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x00\x0b"); + +// func.wast:361 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// func.wast:365 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// func.wast:369 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// func.wast:373 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// func.wast:378 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x01\x0b"); + +// func.wast:384 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x41\x00\x0b"); + +// func.wast:390 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x0b"); + +// func.wast:397 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x0f\x0b"); + +// func.wast:403 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x01\x0f\x0b"); + +// func.wast:409 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x0f\x0b"); + +// func.wast:416 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x0f\x41\x01\x0b"); + +// func.wast:422 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x01\x0f\x41\x01\x0b"); + +// func.wast:428 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x42\x01\x0f\x41\x01\x0b"); + +// func.wast:434 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x42\x01\x0f\x41\x01\x0f\x0b"); + +// func.wast:441 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x0c\x00\x0b"); + +// func.wast:447 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x0c\x00\x0b"); + +// func.wast:453 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x0c\x00\x41\x01\x0b"); + +// func.wast:459 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x42\x01\x0c\x00\x41\x01\x0b"); + +// func.wast:465 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x01\x0c\x00\x41\x01\x0c\x00\x0b"); + +// func.wast:472 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x0c\x01\x0b\x41\x01\x0c\x00\x0b"); + +// func.wast:478 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x01\x0c\x01\x0b\x41\x01\x0c\x00\x0b"); + +// func.wast:484 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x0c\x01\x0b\x41\x01\x0c\x00\x0b"); + +// func.wast:494 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// func.wast:498 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// func.wast:502 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// func.wast:506 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// func.wast:510 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// func.wast:514 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/func_ptrs.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/func_ptrs.wast.js new file mode 100644 index 0000000000..e4b15a1c8d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/func_ptrs.wast.js @@ -0,0 +1,108 @@ + +// func_ptrs.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x9b\x80\x80\x80\x00\x07\x60\x00\x00\x60\x00\x00\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x60\x01\x7f\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x06\x03\x87\x80\x80\x80\x00\x06\x00\x01\x04\x05\x05\x06\x07\x9c\x80\x80\x80\x00\x04\x03\x6f\x6e\x65\x00\x03\x03\x74\x77\x6f\x00\x04\x05\x74\x68\x72\x65\x65\x00\x05\x04\x66\x6f\x75\x72\x00\x06\x0a\xbb\x80\x80\x80\x00\x06\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x0d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x01\x6a\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x02\x6b\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x10\x00\x0b"); + +// func_ptrs.wast:26 +assert_return(() => call($1, "one", []), 13); + +// func_ptrs.wast:27 +assert_return(() => call($1, "two", [13]), 14); + +// func_ptrs.wast:28 +assert_return(() => call($1, "three", [13]), 11); + +// func_ptrs.wast:29 +run(() => call($1, "four", [83])); + +// func_ptrs.wast:31 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x09\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// func_ptrs.wast:32 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// func_ptrs.wast:34 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x09\x86\x80\x80\x80\x00\x01\x00\x42\x00\x0b\x00"); + +// func_ptrs.wast:38 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x68\x0b\x00"); + +// func_ptrs.wast:42 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x01\x09\x85\x80\x80\x80\x00\x01\x00\x01\x0b\x00"); + +// func_ptrs.wast:47 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x03\x82\x80\x80\x80\x00\x01\x2a\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// func_ptrs.wast:48 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x2b"); + +// func_ptrs.wast:50 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8e\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x03\x88\x80\x80\x80\x00\x07\x00\x00\x00\x01\x01\x02\x02\x04\x85\x80\x80\x80\x00\x01\x70\x01\x07\x07\x07\x91\x80\x80\x80\x00\x02\x05\x63\x61\x6c\x6c\x74\x00\x05\x05\x63\x61\x6c\x6c\x75\x00\x06\x09\x8d\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x07\x00\x01\x02\x03\x04\x00\x02\x0a\xc6\x80\x80\x80\x00\x07\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x84\x80\x80\x80\x00\x00\x41\x03\x0b\x84\x80\x80\x80\x00\x00\x41\x04\x0b\x84\x80\x80\x80\x00\x00\x41\x05\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x01\x00\x0b"); + +// func_ptrs.wast:70 +assert_return(() => call($2, "callt", [0]), 1); + +// func_ptrs.wast:71 +assert_return(() => call($2, "callt", [1]), 2); + +// func_ptrs.wast:72 +assert_return(() => call($2, "callt", [2]), 3); + +// func_ptrs.wast:73 +assert_return(() => call($2, "callt", [3]), 4); + +// func_ptrs.wast:74 +assert_return(() => call($2, "callt", [4]), 5); + +// func_ptrs.wast:75 +assert_return(() => call($2, "callt", [5]), 1); + +// func_ptrs.wast:76 +assert_return(() => call($2, "callt", [6]), 3); + +// func_ptrs.wast:77 +assert_trap(() => call($2, "callt", [7])); + +// func_ptrs.wast:78 +assert_trap(() => call($2, "callt", [100])); + +// func_ptrs.wast:79 +assert_trap(() => call($2, "callt", [-1])); + +// func_ptrs.wast:81 +assert_return(() => call($2, "callu", [0]), 1); + +// func_ptrs.wast:82 +assert_return(() => call($2, "callu", [1]), 2); + +// func_ptrs.wast:83 +assert_return(() => call($2, "callu", [2]), 3); + +// func_ptrs.wast:84 +assert_return(() => call($2, "callu", [3]), 4); + +// func_ptrs.wast:85 +assert_return(() => call($2, "callu", [4]), 5); + +// func_ptrs.wast:86 +assert_return(() => call($2, "callu", [5]), 1); + +// func_ptrs.wast:87 +assert_return(() => call($2, "callu", [6]), 3); + +// func_ptrs.wast:88 +assert_trap(() => call($2, "callu", [7])); + +// func_ptrs.wast:89 +assert_trap(() => call($2, "callu", [100])); + +// func_ptrs.wast:90 +assert_trap(() => call($2, "callu", [-1])); + +// func_ptrs.wast:92 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x03\x84\x80\x80\x80\x00\x03\x00\x00\x01\x04\x85\x80\x80\x80\x00\x01\x70\x01\x02\x02\x07\x89\x80\x80\x80\x00\x01\x05\x63\x61\x6c\x6c\x74\x00\x02\x09\x88\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x02\x00\x01\x0a\x9f\x80\x80\x80\x00\x03\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b"); + +// func_ptrs.wast:104 +assert_return(() => call($3, "callt", [0]), 1); + +// func_ptrs.wast:105 +assert_return(() => call($3, "callt", [1]), 2); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/get_local.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/get_local.wast.js new file mode 100644 index 0000000000..be44981482 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/get_local.wast.js @@ -0,0 +1,69 @@ + +// get_local.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xb6\x80\x80\x80\x00\x0a\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x60\x05\x7e\x7d\x7c\x7f\x7f\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7c\x03\x8b\x80\x80\x80\x00\x0a\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x07\x9d\x81\x80\x80\x00\x0a\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x33\x32\x00\x00\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x01\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x02\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x03\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x33\x32\x00\x04\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x36\x34\x00\x05\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x33\x32\x00\x06\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x36\x34\x00\x07\x0a\x74\x79\x70\x65\x2d\x6d\x69\x78\x65\x64\x00\x08\x04\x72\x65\x61\x64\x00\x09\x0a\xc6\x81\x80\x80\x00\x0a\x86\x80\x80\x80\x00\x01\x01\x7f\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x01\x7e\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x01\x7d\x20\x00\x0b\x86\x80\x80\x80\x00\x01\x01\x7c\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\xac\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x20\x00\x50\x1a\x20\x01\x8c\x1a\x20\x02\x9a\x1a\x20\x03\x45\x1a\x20\x04\x45\x1a\x20\x05\x8c\x1a\x20\x06\x50\x1a\x20\x07\x50\x1a\x20\x08\x9a\x1a\x0b\xbf\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x43\x00\x00\xb0\x40\x21\x05\x42\x06\x21\x06\x44\x00\x00\x00\x00\x00\x00\x20\x40\x21\x08\x20\x00\xba\x20\x01\xbb\x20\x02\x20\x03\xb8\x20\x04\xb7\x20\x05\xbb\x20\x06\xba\x20\x07\xba\x20\x08\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\x0b"); + +// get_local.wast:64 +assert_return(() => call($1, "type-local-i32", []), 0); + +// get_local.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-local-i64", []), int64("0")) + +// get_local.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-local-f32", []), 0.) + +// get_local.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-local-f64", []), 0.) + +// get_local.wast:69 +assert_return(() => call($1, "type-param-i32", [2]), 2); + +// get_local.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x03\x10\x00\x01\x42\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-i64", [int64("3")]), int64("3")) + +// get_local.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x40\x10\x00\xbc\x43\xcd\xcc\x8c\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-f32", [4.40000009537]), 4.40000009537) + +// get_local.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x16\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x16\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-f64", [5.5]), 5.5) + +// get_local.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x00\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x74\x79\x70\x65\x2d\x6d\x69\x78\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x43\xcd\xcc\x0c\x40\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x41\x04\x41\x05\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-mixed", [int64("1"), 2.20000004768, 3.3, 4, 5])) + +// get_local.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7c\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x65\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x42\x01\x43\x00\x00\x00\x40\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x41\x04\x41\x05\x10\x00\xbd\x44\x66\x66\x66\x66\x66\x66\x41\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "read", [int64("1"), 2., 3.3, 4, 5]), 34.8) + +// get_local.wast:90 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x01\x01\x7f\x20\x00\x0b"); + +// get_local.wast:94 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x01\x01\x7d\x20\x00\x45\x0b"); + +// get_local.wast:98 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x20\x01\x9a\x0b"); + +// get_local.wast:106 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x00\x0b"); + +// get_local.wast:110 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x00\x45\x0b"); + +// get_local.wast:114 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7c\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x01\x9a\x0b"); + +// get_local.wast:122 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\x03\x0b"); + +// get_local.wast:126 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xa4\xea\x06\x0b"); + +// get_local.wast:131 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7f\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x02\x0b"); + +// get_local.wast:135 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xf2\xce\xd4\x02\x0b"); + +// get_local.wast:140 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\x03\x0b"); + +// get_local.wast:144 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xa8\x99\x66\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/globals.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/globals.wast.js new file mode 100644 index 0000000000..663b3e75e3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/globals.wast.js @@ -0,0 +1,114 @@ + +// globals.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa1\x80\x80\x80\x00\x08\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x01\x7f\x00\x60\x01\x7e\x00\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x01\x7d\x00\x60\x01\x7c\x00\x03\x8d\x80\x80\x80\x00\x0c\x00\x01\x00\x01\x02\x03\x04\x05\x04\x05\x06\x07\x06\xbd\x80\x80\x80\x00\x08\x7f\x00\x41\x7e\x0b\x7d\x00\x43\x00\x00\x40\xc0\x0b\x7c\x00\x44\x00\x00\x00\x00\x00\x00\x10\xc0\x0b\x7e\x00\x42\x7b\x0b\x7f\x01\x41\x74\x0b\x7d\x01\x43\x00\x00\x50\xc1\x0b\x7c\x01\x44\x00\x00\x00\x00\x00\x00\x2c\xc0\x0b\x7e\x01\x42\x71\x0b\x07\xe1\x80\x80\x80\x00\x0c\x05\x67\x65\x74\x2d\x61\x00\x00\x05\x67\x65\x74\x2d\x62\x00\x01\x05\x67\x65\x74\x2d\x78\x00\x02\x05\x67\x65\x74\x2d\x79\x00\x03\x05\x73\x65\x74\x2d\x78\x00\x04\x05\x73\x65\x74\x2d\x79\x00\x05\x05\x67\x65\x74\x2d\x31\x00\x06\x05\x67\x65\x74\x2d\x32\x00\x07\x05\x67\x65\x74\x2d\x35\x00\x08\x05\x67\x65\x74\x2d\x36\x00\x09\x05\x73\x65\x74\x2d\x35\x00\x0a\x05\x73\x65\x74\x2d\x36\x00\x0b\x0a\xf5\x80\x80\x80\x00\x0c\x84\x80\x80\x80\x00\x00\x23\x00\x0b\x84\x80\x80\x80\x00\x00\x23\x03\x0b\x84\x80\x80\x80\x00\x00\x23\x04\x0b\x84\x80\x80\x80\x00\x00\x23\x07\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x24\x04\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x24\x07\x0b\x84\x80\x80\x80\x00\x00\x23\x01\x0b\x84\x80\x80\x80\x00\x00\x23\x02\x0b\x84\x80\x80\x80\x00\x00\x23\x05\x0b\x84\x80\x80\x80\x00\x00\x23\x06\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x24\x05\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x24\x06\x0b"); + +// globals.wast:29 +assert_return(() => call($1, "get-a", []), -2); + +// globals.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x7b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-b", []), int64("-5")) + +// globals.wast:31 +assert_return(() => call($1, "get-x", []), -12); + +// globals.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x71\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-y", []), int64("-15")) + +// globals.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x31\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x40\xc0\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-1", []), -3.) + +// globals.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x10\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-2", []), -4.) + +// globals.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x50\xc1\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-5", []), -13.) + +// globals.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x2c\xc0\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-6", []), -14.) + +// globals.wast:39 +assert_return(() => call($1, "set-x", [6])); + +// globals.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x00\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x65\x74\x2d\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x07\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "set-y", [int64("7")])) + +// globals.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x00\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x65\x74\x2d\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x41\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "set-5", [8.])) + +// globals.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x00\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x65\x74\x2d\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x22\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "set-6", [9.])) + +// globals.wast:44 +assert_return(() => call($1, "get-x", []), 6); + +// globals.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-y", []), int64("7")) + +// globals.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-5", []), 8.) + +// globals.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x67\x65\x74\x2d\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x22\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "get-6", []), 9.) + +// globals.wast:49 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x06\x89\x80\x80\x80\x00\x01\x7d\x00\x43\x00\x00\x00\x00\x0b\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x41\x01\x24\x00\x0b"); + +// globals.wast:54 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x88\x80\x80\x80\x00\x01\x01\x6d\x01\x61\x03\x7f\x01"); + +// globals.wast:59 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x88\x80\x80\x80\x00\x01\x01\x6d\x01\x61\x03\x7f\x01"); + +// globals.wast:64 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x89\x80\x80\x80\x00\x01\x7d\x01\x43\x00\x00\x00\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// globals.wast:69 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x89\x80\x80\x80\x00\x01\x7d\x01\x43\x00\x00\x00\x00\x0b\x07\x85\x80\x80\x80\x00\x01\x01\x61\x03\x00"); + +// globals.wast:74 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x8a\x80\x80\x80\x00\x01\x7d\x00\x43\x00\x00\x00\x00\x8c\x0b"); + +// globals.wast:79 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7d\x00\x20\x00\x0b"); + +// globals.wast:84 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x8a\x80\x80\x80\x00\x01\x7d\x00\x43\x00\x00\x80\x3f\x8c\x0b"); + +// globals.wast:89 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x87\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x01\x0b"); + +// globals.wast:94 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x85\x80\x80\x80\x00\x01\x7f\x00\x01\x0b"); + +// globals.wast:99 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x89\x80\x80\x80\x00\x01\x7f\x00\x43\x00\x00\x00\x00\x0b"); + +// globals.wast:104 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x88\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x41\x00\x0b"); + +// globals.wast:109 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x84\x80\x80\x80\x00\x01\x7f\x00\x0b"); + +// globals.wast:114 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x23\x00\x0b"); + +// globals.wast:119 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x8b\x80\x80\x80\x00\x02\x7f\x00\x23\x01\x0b\x7f\x00\x41\x00\x0b"); + +// globals.wast:124 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00"); + +// globals.wast:127 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x02"); + +// globals.wast:140 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\xff"); + +// globals.wast:154 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x00\x0b"); + +// globals.wast:157 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x02\x41\x00\x0b"); + +// globals.wast:169 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x06\x86\x80\x80\x80\x00\x01\x7f\xff\x41\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/i32.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/i32.wast.js new file mode 100644 index 0000000000..f5c9acec88 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/i32.wast.js @@ -0,0 +1,1080 @@ + +// i32.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x02\x7f\x7f\x01\x7f\x60\x01\x7f\x01\x7f\x03\x9e\x80\x80\x80\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xc5\x81\x80\x80\x00\x1d\x03\x61\x64\x64\x00\x00\x03\x73\x75\x62\x00\x01\x03\x6d\x75\x6c\x00\x02\x05\x64\x69\x76\x5f\x73\x00\x03\x05\x64\x69\x76\x5f\x75\x00\x04\x05\x72\x65\x6d\x5f\x73\x00\x05\x05\x72\x65\x6d\x5f\x75\x00\x06\x03\x61\x6e\x64\x00\x07\x02\x6f\x72\x00\x08\x03\x78\x6f\x72\x00\x09\x03\x73\x68\x6c\x00\x0a\x05\x73\x68\x72\x5f\x73\x00\x0b\x05\x73\x68\x72\x5f\x75\x00\x0c\x04\x72\x6f\x74\x6c\x00\x0d\x04\x72\x6f\x74\x72\x00\x0e\x03\x63\x6c\x7a\x00\x0f\x03\x63\x74\x7a\x00\x10\x06\x70\x6f\x70\x63\x6e\x74\x00\x11\x03\x65\x71\x7a\x00\x12\x02\x65\x71\x00\x13\x02\x6e\x65\x00\x14\x04\x6c\x74\x5f\x73\x00\x15\x04\x6c\x74\x5f\x75\x00\x16\x04\x6c\x65\x5f\x73\x00\x17\x04\x6c\x65\x5f\x75\x00\x18\x04\x67\x74\x5f\x73\x00\x19\x04\x67\x74\x5f\x75\x00\x1a\x04\x67\x65\x5f\x73\x00\x1b\x04\x67\x65\x5f\x75\x00\x1c\x0a\xd5\x82\x80\x80\x00\x1d\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6a\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6b\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x70\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x71\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x72\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x73\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x74\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x75\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x76\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x77\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x78\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x67\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x68\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x69\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x45\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x46\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x47\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x48\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x49\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x4c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x4d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x4a\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x4b\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x4e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x4f\x0b"); + +// i32.wast:35 +assert_return(() => call($1, "add", [1, 1]), 2); + +// i32.wast:36 +assert_return(() => call($1, "add", [1, 0]), 1); + +// i32.wast:37 +assert_return(() => call($1, "add", [-1, -1]), -2); + +// i32.wast:38 +assert_return(() => call($1, "add", [-1, 1]), 0); + +// i32.wast:39 +assert_return(() => call($1, "add", [2147483647, 1]), -2147483648); + +// i32.wast:40 +assert_return(() => call($1, "add", [-2147483648, -1]), 2147483647); + +// i32.wast:41 +assert_return(() => call($1, "add", [-2147483648, -2147483648]), 0); + +// i32.wast:42 +assert_return(() => call($1, "add", [1073741823, 1]), 1073741824); + +// i32.wast:44 +assert_return(() => call($1, "sub", [1, 1]), 0); + +// i32.wast:45 +assert_return(() => call($1, "sub", [1, 0]), 1); + +// i32.wast:46 +assert_return(() => call($1, "sub", [-1, -1]), 0); + +// i32.wast:47 +assert_return(() => call($1, "sub", [2147483647, -1]), -2147483648); + +// i32.wast:48 +assert_return(() => call($1, "sub", [-2147483648, 1]), 2147483647); + +// i32.wast:49 +assert_return(() => call($1, "sub", [-2147483648, -2147483648]), 0); + +// i32.wast:50 +assert_return(() => call($1, "sub", [1073741823, -1]), 1073741824); + +// i32.wast:52 +assert_return(() => call($1, "mul", [1, 1]), 1); + +// i32.wast:53 +assert_return(() => call($1, "mul", [1, 0]), 0); + +// i32.wast:54 +assert_return(() => call($1, "mul", [-1, -1]), 1); + +// i32.wast:55 +assert_return(() => call($1, "mul", [268435456, 4096]), 0); + +// i32.wast:56 +assert_return(() => call($1, "mul", [-2147483648, 0]), 0); + +// i32.wast:57 +assert_return(() => call($1, "mul", [-2147483648, -1]), -2147483648); + +// i32.wast:58 +assert_return(() => call($1, "mul", [2147483647, -1]), -2147483647); + +// i32.wast:59 +assert_return(() => call($1, "mul", [19088743, 1985229328]), 898528368); + +// i32.wast:60 +assert_return(() => call($1, "mul", [2147483647, 2147483647]), 1); + +// i32.wast:62 +assert_trap(() => call($1, "div_s", [1, 0])); + +// i32.wast:63 +assert_trap(() => call($1, "div_s", [0, 0])); + +// i32.wast:64 +assert_trap(() => call($1, "div_s", [-2147483648, -1])); + +// i32.wast:65 +assert_return(() => call($1, "div_s", [1, 1]), 1); + +// i32.wast:66 +assert_return(() => call($1, "div_s", [0, 1]), 0); + +// i32.wast:67 +assert_return(() => call($1, "div_s", [0, -1]), 0); + +// i32.wast:68 +assert_return(() => call($1, "div_s", [-1, -1]), 1); + +// i32.wast:69 +assert_return(() => call($1, "div_s", [-2147483648, 2]), -1073741824); + +// i32.wast:70 +assert_return(() => call($1, "div_s", [-2147483647, 1000]), -2147483); + +// i32.wast:71 +assert_return(() => call($1, "div_s", [5, 2]), 2); + +// i32.wast:72 +assert_return(() => call($1, "div_s", [-5, 2]), -2); + +// i32.wast:73 +assert_return(() => call($1, "div_s", [5, -2]), -2); + +// i32.wast:74 +assert_return(() => call($1, "div_s", [-5, -2]), 2); + +// i32.wast:75 +assert_return(() => call($1, "div_s", [7, 3]), 2); + +// i32.wast:76 +assert_return(() => call($1, "div_s", [-7, 3]), -2); + +// i32.wast:77 +assert_return(() => call($1, "div_s", [7, -3]), -2); + +// i32.wast:78 +assert_return(() => call($1, "div_s", [-7, -3]), 2); + +// i32.wast:79 +assert_return(() => call($1, "div_s", [11, 5]), 2); + +// i32.wast:80 +assert_return(() => call($1, "div_s", [17, 7]), 2); + +// i32.wast:82 +assert_trap(() => call($1, "div_u", [1, 0])); + +// i32.wast:83 +assert_trap(() => call($1, "div_u", [0, 0])); + +// i32.wast:84 +assert_return(() => call($1, "div_u", [1, 1]), 1); + +// i32.wast:85 +assert_return(() => call($1, "div_u", [0, 1]), 0); + +// i32.wast:86 +assert_return(() => call($1, "div_u", [-1, -1]), 1); + +// i32.wast:87 +assert_return(() => call($1, "div_u", [-2147483648, -1]), 0); + +// i32.wast:88 +assert_return(() => call($1, "div_u", [-2147483648, 2]), 1073741824); + +// i32.wast:89 +assert_return(() => call($1, "div_u", [-1880092688, 65537]), 36847); + +// i32.wast:90 +assert_return(() => call($1, "div_u", [-2147483647, 1000]), 2147483); + +// i32.wast:91 +assert_return(() => call($1, "div_u", [5, 2]), 2); + +// i32.wast:92 +assert_return(() => call($1, "div_u", [-5, 2]), 2147483645); + +// i32.wast:93 +assert_return(() => call($1, "div_u", [5, -2]), 0); + +// i32.wast:94 +assert_return(() => call($1, "div_u", [-5, -2]), 0); + +// i32.wast:95 +assert_return(() => call($1, "div_u", [7, 3]), 2); + +// i32.wast:96 +assert_return(() => call($1, "div_u", [11, 5]), 2); + +// i32.wast:97 +assert_return(() => call($1, "div_u", [17, 7]), 2); + +// i32.wast:99 +assert_trap(() => call($1, "rem_s", [1, 0])); + +// i32.wast:100 +assert_trap(() => call($1, "rem_s", [0, 0])); + +// i32.wast:101 +assert_return(() => call($1, "rem_s", [2147483647, -1]), 0); + +// i32.wast:102 +assert_return(() => call($1, "rem_s", [1, 1]), 0); + +// i32.wast:103 +assert_return(() => call($1, "rem_s", [0, 1]), 0); + +// i32.wast:104 +assert_return(() => call($1, "rem_s", [0, -1]), 0); + +// i32.wast:105 +assert_return(() => call($1, "rem_s", [-1, -1]), 0); + +// i32.wast:106 +assert_return(() => call($1, "rem_s", [-2147483648, -1]), 0); + +// i32.wast:107 +assert_return(() => call($1, "rem_s", [-2147483648, 2]), 0); + +// i32.wast:108 +assert_return(() => call($1, "rem_s", [-2147483647, 1000]), -647); + +// i32.wast:109 +assert_return(() => call($1, "rem_s", [5, 2]), 1); + +// i32.wast:110 +assert_return(() => call($1, "rem_s", [-5, 2]), -1); + +// i32.wast:111 +assert_return(() => call($1, "rem_s", [5, -2]), 1); + +// i32.wast:112 +assert_return(() => call($1, "rem_s", [-5, -2]), -1); + +// i32.wast:113 +assert_return(() => call($1, "rem_s", [7, 3]), 1); + +// i32.wast:114 +assert_return(() => call($1, "rem_s", [-7, 3]), -1); + +// i32.wast:115 +assert_return(() => call($1, "rem_s", [7, -3]), 1); + +// i32.wast:116 +assert_return(() => call($1, "rem_s", [-7, -3]), -1); + +// i32.wast:117 +assert_return(() => call($1, "rem_s", [11, 5]), 1); + +// i32.wast:118 +assert_return(() => call($1, "rem_s", [17, 7]), 3); + +// i32.wast:120 +assert_trap(() => call($1, "rem_u", [1, 0])); + +// i32.wast:121 +assert_trap(() => call($1, "rem_u", [0, 0])); + +// i32.wast:122 +assert_return(() => call($1, "rem_u", [1, 1]), 0); + +// i32.wast:123 +assert_return(() => call($1, "rem_u", [0, 1]), 0); + +// i32.wast:124 +assert_return(() => call($1, "rem_u", [-1, -1]), 0); + +// i32.wast:125 +assert_return(() => call($1, "rem_u", [-2147483648, -1]), -2147483648); + +// i32.wast:126 +assert_return(() => call($1, "rem_u", [-2147483648, 2]), 0); + +// i32.wast:127 +assert_return(() => call($1, "rem_u", [-1880092688, 65537]), 32769); + +// i32.wast:128 +assert_return(() => call($1, "rem_u", [-2147483647, 1000]), 649); + +// i32.wast:129 +assert_return(() => call($1, "rem_u", [5, 2]), 1); + +// i32.wast:130 +assert_return(() => call($1, "rem_u", [-5, 2]), 1); + +// i32.wast:131 +assert_return(() => call($1, "rem_u", [5, -2]), 5); + +// i32.wast:132 +assert_return(() => call($1, "rem_u", [-5, -2]), -5); + +// i32.wast:133 +assert_return(() => call($1, "rem_u", [7, 3]), 1); + +// i32.wast:134 +assert_return(() => call($1, "rem_u", [11, 5]), 1); + +// i32.wast:135 +assert_return(() => call($1, "rem_u", [17, 7]), 3); + +// i32.wast:137 +assert_return(() => call($1, "and", [1, 0]), 0); + +// i32.wast:138 +assert_return(() => call($1, "and", [0, 1]), 0); + +// i32.wast:139 +assert_return(() => call($1, "and", [1, 1]), 1); + +// i32.wast:140 +assert_return(() => call($1, "and", [0, 0]), 0); + +// i32.wast:141 +assert_return(() => call($1, "and", [2147483647, -2147483648]), 0); + +// i32.wast:142 +assert_return(() => call($1, "and", [2147483647, -1]), 2147483647); + +// i32.wast:143 +assert_return(() => call($1, "and", [-252641281, -3856]), -252645136); + +// i32.wast:144 +assert_return(() => call($1, "and", [-1, -1]), -1); + +// i32.wast:146 +assert_return(() => call($1, "or", [1, 0]), 1); + +// i32.wast:147 +assert_return(() => call($1, "or", [0, 1]), 1); + +// i32.wast:148 +assert_return(() => call($1, "or", [1, 1]), 1); + +// i32.wast:149 +assert_return(() => call($1, "or", [0, 0]), 0); + +// i32.wast:150 +assert_return(() => call($1, "or", [2147483647, -2147483648]), -1); + +// i32.wast:151 +assert_return(() => call($1, "or", [-2147483648, 0]), -2147483648); + +// i32.wast:152 +assert_return(() => call($1, "or", [-252641281, -3856]), -1); + +// i32.wast:153 +assert_return(() => call($1, "or", [-1, -1]), -1); + +// i32.wast:155 +assert_return(() => call($1, "xor", [1, 0]), 1); + +// i32.wast:156 +assert_return(() => call($1, "xor", [0, 1]), 1); + +// i32.wast:157 +assert_return(() => call($1, "xor", [1, 1]), 0); + +// i32.wast:158 +assert_return(() => call($1, "xor", [0, 0]), 0); + +// i32.wast:159 +assert_return(() => call($1, "xor", [2147483647, -2147483648]), -1); + +// i32.wast:160 +assert_return(() => call($1, "xor", [-2147483648, 0]), -2147483648); + +// i32.wast:161 +assert_return(() => call($1, "xor", [-1, -2147483648]), 2147483647); + +// i32.wast:162 +assert_return(() => call($1, "xor", [-1, 2147483647]), -2147483648); + +// i32.wast:163 +assert_return(() => call($1, "xor", [-252641281, -3856]), 252645135); + +// i32.wast:164 +assert_return(() => call($1, "xor", [-1, -1]), 0); + +// i32.wast:166 +assert_return(() => call($1, "shl", [1, 1]), 2); + +// i32.wast:167 +assert_return(() => call($1, "shl", [1, 0]), 1); + +// i32.wast:168 +assert_return(() => call($1, "shl", [2147483647, 1]), -2); + +// i32.wast:169 +assert_return(() => call($1, "shl", [-1, 1]), -2); + +// i32.wast:170 +assert_return(() => call($1, "shl", [-2147483648, 1]), 0); + +// i32.wast:171 +assert_return(() => call($1, "shl", [1073741824, 1]), -2147483648); + +// i32.wast:172 +assert_return(() => call($1, "shl", [1, 31]), -2147483648); + +// i32.wast:173 +assert_return(() => call($1, "shl", [1, 32]), 1); + +// i32.wast:174 +assert_return(() => call($1, "shl", [1, 33]), 2); + +// i32.wast:175 +assert_return(() => call($1, "shl", [1, -1]), -2147483648); + +// i32.wast:176 +assert_return(() => call($1, "shl", [1, 2147483647]), -2147483648); + +// i32.wast:178 +assert_return(() => call($1, "shr_s", [1, 1]), 0); + +// i32.wast:179 +assert_return(() => call($1, "shr_s", [1, 0]), 1); + +// i32.wast:180 +assert_return(() => call($1, "shr_s", [-1, 1]), -1); + +// i32.wast:181 +assert_return(() => call($1, "shr_s", [2147483647, 1]), 1073741823); + +// i32.wast:182 +assert_return(() => call($1, "shr_s", [-2147483648, 1]), -1073741824); + +// i32.wast:183 +assert_return(() => call($1, "shr_s", [1073741824, 1]), 536870912); + +// i32.wast:184 +assert_return(() => call($1, "shr_s", [1, 32]), 1); + +// i32.wast:185 +assert_return(() => call($1, "shr_s", [1, 33]), 0); + +// i32.wast:186 +assert_return(() => call($1, "shr_s", [1, -1]), 0); + +// i32.wast:187 +assert_return(() => call($1, "shr_s", [1, 2147483647]), 0); + +// i32.wast:188 +assert_return(() => call($1, "shr_s", [1, -2147483648]), 1); + +// i32.wast:189 +assert_return(() => call($1, "shr_s", [-2147483648, 31]), -1); + +// i32.wast:190 +assert_return(() => call($1, "shr_s", [-1, 32]), -1); + +// i32.wast:191 +assert_return(() => call($1, "shr_s", [-1, 33]), -1); + +// i32.wast:192 +assert_return(() => call($1, "shr_s", [-1, -1]), -1); + +// i32.wast:193 +assert_return(() => call($1, "shr_s", [-1, 2147483647]), -1); + +// i32.wast:194 +assert_return(() => call($1, "shr_s", [-1, -2147483648]), -1); + +// i32.wast:196 +assert_return(() => call($1, "shr_u", [1, 1]), 0); + +// i32.wast:197 +assert_return(() => call($1, "shr_u", [1, 0]), 1); + +// i32.wast:198 +assert_return(() => call($1, "shr_u", [-1, 1]), 2147483647); + +// i32.wast:199 +assert_return(() => call($1, "shr_u", [2147483647, 1]), 1073741823); + +// i32.wast:200 +assert_return(() => call($1, "shr_u", [-2147483648, 1]), 1073741824); + +// i32.wast:201 +assert_return(() => call($1, "shr_u", [1073741824, 1]), 536870912); + +// i32.wast:202 +assert_return(() => call($1, "shr_u", [1, 32]), 1); + +// i32.wast:203 +assert_return(() => call($1, "shr_u", [1, 33]), 0); + +// i32.wast:204 +assert_return(() => call($1, "shr_u", [1, -1]), 0); + +// i32.wast:205 +assert_return(() => call($1, "shr_u", [1, 2147483647]), 0); + +// i32.wast:206 +assert_return(() => call($1, "shr_u", [1, -2147483648]), 1); + +// i32.wast:207 +assert_return(() => call($1, "shr_u", [-2147483648, 31]), 1); + +// i32.wast:208 +assert_return(() => call($1, "shr_u", [-1, 32]), -1); + +// i32.wast:209 +assert_return(() => call($1, "shr_u", [-1, 33]), 2147483647); + +// i32.wast:210 +assert_return(() => call($1, "shr_u", [-1, -1]), 1); + +// i32.wast:211 +assert_return(() => call($1, "shr_u", [-1, 2147483647]), 1); + +// i32.wast:212 +assert_return(() => call($1, "shr_u", [-1, -2147483648]), -1); + +// i32.wast:214 +assert_return(() => call($1, "rotl", [1, 1]), 2); + +// i32.wast:215 +assert_return(() => call($1, "rotl", [1, 0]), 1); + +// i32.wast:216 +assert_return(() => call($1, "rotl", [-1, 1]), -1); + +// i32.wast:217 +assert_return(() => call($1, "rotl", [1, 32]), 1); + +// i32.wast:218 +assert_return(() => call($1, "rotl", [-1412589450, 1]), 1469788397); + +// i32.wast:219 +assert_return(() => call($1, "rotl", [-33498112, 4]), -535969777); + +// i32.wast:220 +assert_return(() => call($1, "rotl", [-1329474845, 5]), 406477942); + +// i32.wast:221 +assert_return(() => call($1, "rotl", [32768, 37]), 1048576); + +// i32.wast:222 +assert_return(() => call($1, "rotl", [-1329474845, 65285]), 406477942); + +// i32.wast:223 +assert_return(() => call($1, "rotl", [1989852383, -19]), 1469837011); + +// i32.wast:224 +assert_return(() => call($1, "rotl", [1989852383, -2147483635]), 1469837011); + +// i32.wast:225 +assert_return(() => call($1, "rotl", [1, 31]), -2147483648); + +// i32.wast:226 +assert_return(() => call($1, "rotl", [-2147483648, 1]), 1); + +// i32.wast:228 +assert_return(() => call($1, "rotr", [1, 1]), -2147483648); + +// i32.wast:229 +assert_return(() => call($1, "rotr", [1, 0]), 1); + +// i32.wast:230 +assert_return(() => call($1, "rotr", [-1, 1]), -1); + +// i32.wast:231 +assert_return(() => call($1, "rotr", [1, 32]), 1); + +// i32.wast:232 +assert_return(() => call($1, "rotr", [-16724992, 1]), 2139121152); + +// i32.wast:233 +assert_return(() => call($1, "rotr", [524288, 4]), 32768); + +// i32.wast:234 +assert_return(() => call($1, "rotr", [-1329474845, 5]), 495324823); + +// i32.wast:235 +assert_return(() => call($1, "rotr", [32768, 37]), 1024); + +// i32.wast:236 +assert_return(() => call($1, "rotr", [-1329474845, 65285]), 495324823); + +// i32.wast:237 +assert_return(() => call($1, "rotr", [1989852383, -19]), -419711787); + +// i32.wast:238 +assert_return(() => call($1, "rotr", [1989852383, -2147483635]), -419711787); + +// i32.wast:239 +assert_return(() => call($1, "rotr", [1, 31]), 2); + +// i32.wast:240 +assert_return(() => call($1, "rotr", [-2147483648, 31]), 1); + +// i32.wast:242 +assert_return(() => call($1, "clz", [-1]), 0); + +// i32.wast:243 +assert_return(() => call($1, "clz", [0]), 32); + +// i32.wast:244 +assert_return(() => call($1, "clz", [32768]), 16); + +// i32.wast:245 +assert_return(() => call($1, "clz", [255]), 24); + +// i32.wast:246 +assert_return(() => call($1, "clz", [-2147483648]), 0); + +// i32.wast:247 +assert_return(() => call($1, "clz", [1]), 31); + +// i32.wast:248 +assert_return(() => call($1, "clz", [2]), 30); + +// i32.wast:249 +assert_return(() => call($1, "clz", [2147483647]), 1); + +// i32.wast:251 +assert_return(() => call($1, "ctz", [-1]), 0); + +// i32.wast:252 +assert_return(() => call($1, "ctz", [0]), 32); + +// i32.wast:253 +assert_return(() => call($1, "ctz", [32768]), 15); + +// i32.wast:254 +assert_return(() => call($1, "ctz", [65536]), 16); + +// i32.wast:255 +assert_return(() => call($1, "ctz", [-2147483648]), 31); + +// i32.wast:256 +assert_return(() => call($1, "ctz", [2147483647]), 0); + +// i32.wast:258 +assert_return(() => call($1, "popcnt", [-1]), 32); + +// i32.wast:259 +assert_return(() => call($1, "popcnt", [0]), 0); + +// i32.wast:260 +assert_return(() => call($1, "popcnt", [32768]), 1); + +// i32.wast:261 +assert_return(() => call($1, "popcnt", [-2147450880]), 2); + +// i32.wast:262 +assert_return(() => call($1, "popcnt", [2147483647]), 31); + +// i32.wast:263 +assert_return(() => call($1, "popcnt", [-1431655766]), 16); + +// i32.wast:264 +assert_return(() => call($1, "popcnt", [1431655765]), 16); + +// i32.wast:265 +assert_return(() => call($1, "popcnt", [-559038737]), 24); + +// i32.wast:267 +assert_return(() => call($1, "eqz", [0]), 1); + +// i32.wast:268 +assert_return(() => call($1, "eqz", [1]), 0); + +// i32.wast:269 +assert_return(() => call($1, "eqz", [-2147483648]), 0); + +// i32.wast:270 +assert_return(() => call($1, "eqz", [2147483647]), 0); + +// i32.wast:271 +assert_return(() => call($1, "eqz", [-1]), 0); + +// i32.wast:273 +assert_return(() => call($1, "eq", [0, 0]), 1); + +// i32.wast:274 +assert_return(() => call($1, "eq", [1, 1]), 1); + +// i32.wast:275 +assert_return(() => call($1, "eq", [-1, 1]), 0); + +// i32.wast:276 +assert_return(() => call($1, "eq", [-2147483648, -2147483648]), 1); + +// i32.wast:277 +assert_return(() => call($1, "eq", [2147483647, 2147483647]), 1); + +// i32.wast:278 +assert_return(() => call($1, "eq", [-1, -1]), 1); + +// i32.wast:279 +assert_return(() => call($1, "eq", [1, 0]), 0); + +// i32.wast:280 +assert_return(() => call($1, "eq", [0, 1]), 0); + +// i32.wast:281 +assert_return(() => call($1, "eq", [-2147483648, 0]), 0); + +// i32.wast:282 +assert_return(() => call($1, "eq", [0, -2147483648]), 0); + +// i32.wast:283 +assert_return(() => call($1, "eq", [-2147483648, -1]), 0); + +// i32.wast:284 +assert_return(() => call($1, "eq", [-1, -2147483648]), 0); + +// i32.wast:285 +assert_return(() => call($1, "eq", [-2147483648, 2147483647]), 0); + +// i32.wast:286 +assert_return(() => call($1, "eq", [2147483647, -2147483648]), 0); + +// i32.wast:288 +assert_return(() => call($1, "ne", [0, 0]), 0); + +// i32.wast:289 +assert_return(() => call($1, "ne", [1, 1]), 0); + +// i32.wast:290 +assert_return(() => call($1, "ne", [-1, 1]), 1); + +// i32.wast:291 +assert_return(() => call($1, "ne", [-2147483648, -2147483648]), 0); + +// i32.wast:292 +assert_return(() => call($1, "ne", [2147483647, 2147483647]), 0); + +// i32.wast:293 +assert_return(() => call($1, "ne", [-1, -1]), 0); + +// i32.wast:294 +assert_return(() => call($1, "ne", [1, 0]), 1); + +// i32.wast:295 +assert_return(() => call($1, "ne", [0, 1]), 1); + +// i32.wast:296 +assert_return(() => call($1, "ne", [-2147483648, 0]), 1); + +// i32.wast:297 +assert_return(() => call($1, "ne", [0, -2147483648]), 1); + +// i32.wast:298 +assert_return(() => call($1, "ne", [-2147483648, -1]), 1); + +// i32.wast:299 +assert_return(() => call($1, "ne", [-1, -2147483648]), 1); + +// i32.wast:300 +assert_return(() => call($1, "ne", [-2147483648, 2147483647]), 1); + +// i32.wast:301 +assert_return(() => call($1, "ne", [2147483647, -2147483648]), 1); + +// i32.wast:303 +assert_return(() => call($1, "lt_s", [0, 0]), 0); + +// i32.wast:304 +assert_return(() => call($1, "lt_s", [1, 1]), 0); + +// i32.wast:305 +assert_return(() => call($1, "lt_s", [-1, 1]), 1); + +// i32.wast:306 +assert_return(() => call($1, "lt_s", [-2147483648, -2147483648]), 0); + +// i32.wast:307 +assert_return(() => call($1, "lt_s", [2147483647, 2147483647]), 0); + +// i32.wast:308 +assert_return(() => call($1, "lt_s", [-1, -1]), 0); + +// i32.wast:309 +assert_return(() => call($1, "lt_s", [1, 0]), 0); + +// i32.wast:310 +assert_return(() => call($1, "lt_s", [0, 1]), 1); + +// i32.wast:311 +assert_return(() => call($1, "lt_s", [-2147483648, 0]), 1); + +// i32.wast:312 +assert_return(() => call($1, "lt_s", [0, -2147483648]), 0); + +// i32.wast:313 +assert_return(() => call($1, "lt_s", [-2147483648, -1]), 1); + +// i32.wast:314 +assert_return(() => call($1, "lt_s", [-1, -2147483648]), 0); + +// i32.wast:315 +assert_return(() => call($1, "lt_s", [-2147483648, 2147483647]), 1); + +// i32.wast:316 +assert_return(() => call($1, "lt_s", [2147483647, -2147483648]), 0); + +// i32.wast:318 +assert_return(() => call($1, "lt_u", [0, 0]), 0); + +// i32.wast:319 +assert_return(() => call($1, "lt_u", [1, 1]), 0); + +// i32.wast:320 +assert_return(() => call($1, "lt_u", [-1, 1]), 0); + +// i32.wast:321 +assert_return(() => call($1, "lt_u", [-2147483648, -2147483648]), 0); + +// i32.wast:322 +assert_return(() => call($1, "lt_u", [2147483647, 2147483647]), 0); + +// i32.wast:323 +assert_return(() => call($1, "lt_u", [-1, -1]), 0); + +// i32.wast:324 +assert_return(() => call($1, "lt_u", [1, 0]), 0); + +// i32.wast:325 +assert_return(() => call($1, "lt_u", [0, 1]), 1); + +// i32.wast:326 +assert_return(() => call($1, "lt_u", [-2147483648, 0]), 0); + +// i32.wast:327 +assert_return(() => call($1, "lt_u", [0, -2147483648]), 1); + +// i32.wast:328 +assert_return(() => call($1, "lt_u", [-2147483648, -1]), 1); + +// i32.wast:329 +assert_return(() => call($1, "lt_u", [-1, -2147483648]), 0); + +// i32.wast:330 +assert_return(() => call($1, "lt_u", [-2147483648, 2147483647]), 0); + +// i32.wast:331 +assert_return(() => call($1, "lt_u", [2147483647, -2147483648]), 1); + +// i32.wast:333 +assert_return(() => call($1, "le_s", [0, 0]), 1); + +// i32.wast:334 +assert_return(() => call($1, "le_s", [1, 1]), 1); + +// i32.wast:335 +assert_return(() => call($1, "le_s", [-1, 1]), 1); + +// i32.wast:336 +assert_return(() => call($1, "le_s", [-2147483648, -2147483648]), 1); + +// i32.wast:337 +assert_return(() => call($1, "le_s", [2147483647, 2147483647]), 1); + +// i32.wast:338 +assert_return(() => call($1, "le_s", [-1, -1]), 1); + +// i32.wast:339 +assert_return(() => call($1, "le_s", [1, 0]), 0); + +// i32.wast:340 +assert_return(() => call($1, "le_s", [0, 1]), 1); + +// i32.wast:341 +assert_return(() => call($1, "le_s", [-2147483648, 0]), 1); + +// i32.wast:342 +assert_return(() => call($1, "le_s", [0, -2147483648]), 0); + +// i32.wast:343 +assert_return(() => call($1, "le_s", [-2147483648, -1]), 1); + +// i32.wast:344 +assert_return(() => call($1, "le_s", [-1, -2147483648]), 0); + +// i32.wast:345 +assert_return(() => call($1, "le_s", [-2147483648, 2147483647]), 1); + +// i32.wast:346 +assert_return(() => call($1, "le_s", [2147483647, -2147483648]), 0); + +// i32.wast:348 +assert_return(() => call($1, "le_u", [0, 0]), 1); + +// i32.wast:349 +assert_return(() => call($1, "le_u", [1, 1]), 1); + +// i32.wast:350 +assert_return(() => call($1, "le_u", [-1, 1]), 0); + +// i32.wast:351 +assert_return(() => call($1, "le_u", [-2147483648, -2147483648]), 1); + +// i32.wast:352 +assert_return(() => call($1, "le_u", [2147483647, 2147483647]), 1); + +// i32.wast:353 +assert_return(() => call($1, "le_u", [-1, -1]), 1); + +// i32.wast:354 +assert_return(() => call($1, "le_u", [1, 0]), 0); + +// i32.wast:355 +assert_return(() => call($1, "le_u", [0, 1]), 1); + +// i32.wast:356 +assert_return(() => call($1, "le_u", [-2147483648, 0]), 0); + +// i32.wast:357 +assert_return(() => call($1, "le_u", [0, -2147483648]), 1); + +// i32.wast:358 +assert_return(() => call($1, "le_u", [-2147483648, -1]), 1); + +// i32.wast:359 +assert_return(() => call($1, "le_u", [-1, -2147483648]), 0); + +// i32.wast:360 +assert_return(() => call($1, "le_u", [-2147483648, 2147483647]), 0); + +// i32.wast:361 +assert_return(() => call($1, "le_u", [2147483647, -2147483648]), 1); + +// i32.wast:363 +assert_return(() => call($1, "gt_s", [0, 0]), 0); + +// i32.wast:364 +assert_return(() => call($1, "gt_s", [1, 1]), 0); + +// i32.wast:365 +assert_return(() => call($1, "gt_s", [-1, 1]), 0); + +// i32.wast:366 +assert_return(() => call($1, "gt_s", [-2147483648, -2147483648]), 0); + +// i32.wast:367 +assert_return(() => call($1, "gt_s", [2147483647, 2147483647]), 0); + +// i32.wast:368 +assert_return(() => call($1, "gt_s", [-1, -1]), 0); + +// i32.wast:369 +assert_return(() => call($1, "gt_s", [1, 0]), 1); + +// i32.wast:370 +assert_return(() => call($1, "gt_s", [0, 1]), 0); + +// i32.wast:371 +assert_return(() => call($1, "gt_s", [-2147483648, 0]), 0); + +// i32.wast:372 +assert_return(() => call($1, "gt_s", [0, -2147483648]), 1); + +// i32.wast:373 +assert_return(() => call($1, "gt_s", [-2147483648, -1]), 0); + +// i32.wast:374 +assert_return(() => call($1, "gt_s", [-1, -2147483648]), 1); + +// i32.wast:375 +assert_return(() => call($1, "gt_s", [-2147483648, 2147483647]), 0); + +// i32.wast:376 +assert_return(() => call($1, "gt_s", [2147483647, -2147483648]), 1); + +// i32.wast:378 +assert_return(() => call($1, "gt_u", [0, 0]), 0); + +// i32.wast:379 +assert_return(() => call($1, "gt_u", [1, 1]), 0); + +// i32.wast:380 +assert_return(() => call($1, "gt_u", [-1, 1]), 1); + +// i32.wast:381 +assert_return(() => call($1, "gt_u", [-2147483648, -2147483648]), 0); + +// i32.wast:382 +assert_return(() => call($1, "gt_u", [2147483647, 2147483647]), 0); + +// i32.wast:383 +assert_return(() => call($1, "gt_u", [-1, -1]), 0); + +// i32.wast:384 +assert_return(() => call($1, "gt_u", [1, 0]), 1); + +// i32.wast:385 +assert_return(() => call($1, "gt_u", [0, 1]), 0); + +// i32.wast:386 +assert_return(() => call($1, "gt_u", [-2147483648, 0]), 1); + +// i32.wast:387 +assert_return(() => call($1, "gt_u", [0, -2147483648]), 0); + +// i32.wast:388 +assert_return(() => call($1, "gt_u", [-2147483648, -1]), 0); + +// i32.wast:389 +assert_return(() => call($1, "gt_u", [-1, -2147483648]), 1); + +// i32.wast:390 +assert_return(() => call($1, "gt_u", [-2147483648, 2147483647]), 1); + +// i32.wast:391 +assert_return(() => call($1, "gt_u", [2147483647, -2147483648]), 0); + +// i32.wast:393 +assert_return(() => call($1, "ge_s", [0, 0]), 1); + +// i32.wast:394 +assert_return(() => call($1, "ge_s", [1, 1]), 1); + +// i32.wast:395 +assert_return(() => call($1, "ge_s", [-1, 1]), 0); + +// i32.wast:396 +assert_return(() => call($1, "ge_s", [-2147483648, -2147483648]), 1); + +// i32.wast:397 +assert_return(() => call($1, "ge_s", [2147483647, 2147483647]), 1); + +// i32.wast:398 +assert_return(() => call($1, "ge_s", [-1, -1]), 1); + +// i32.wast:399 +assert_return(() => call($1, "ge_s", [1, 0]), 1); + +// i32.wast:400 +assert_return(() => call($1, "ge_s", [0, 1]), 0); + +// i32.wast:401 +assert_return(() => call($1, "ge_s", [-2147483648, 0]), 0); + +// i32.wast:402 +assert_return(() => call($1, "ge_s", [0, -2147483648]), 1); + +// i32.wast:403 +assert_return(() => call($1, "ge_s", [-2147483648, -1]), 0); + +// i32.wast:404 +assert_return(() => call($1, "ge_s", [-1, -2147483648]), 1); + +// i32.wast:405 +assert_return(() => call($1, "ge_s", [-2147483648, 2147483647]), 0); + +// i32.wast:406 +assert_return(() => call($1, "ge_s", [2147483647, -2147483648]), 1); + +// i32.wast:408 +assert_return(() => call($1, "ge_u", [0, 0]), 1); + +// i32.wast:409 +assert_return(() => call($1, "ge_u", [1, 1]), 1); + +// i32.wast:410 +assert_return(() => call($1, "ge_u", [-1, 1]), 1); + +// i32.wast:411 +assert_return(() => call($1, "ge_u", [-2147483648, -2147483648]), 1); + +// i32.wast:412 +assert_return(() => call($1, "ge_u", [2147483647, 2147483647]), 1); + +// i32.wast:413 +assert_return(() => call($1, "ge_u", [-1, -1]), 1); + +// i32.wast:414 +assert_return(() => call($1, "ge_u", [1, 0]), 1); + +// i32.wast:415 +assert_return(() => call($1, "ge_u", [0, 1]), 0); + +// i32.wast:416 +assert_return(() => call($1, "ge_u", [-2147483648, 0]), 1); + +// i32.wast:417 +assert_return(() => call($1, "ge_u", [0, -2147483648]), 0); + +// i32.wast:418 +assert_return(() => call($1, "ge_u", [-2147483648, -1]), 0); + +// i32.wast:419 +assert_return(() => call($1, "ge_u", [-1, -2147483648]), 1); + +// i32.wast:420 +assert_return(() => call($1, "ge_u", [-2147483648, 2147483647]), 1); + +// i32.wast:421 +assert_return(() => call($1, "ge_u", [2147483647, -2147483648]), 0); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/i64.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/i64.wast.js new file mode 100644 index 0000000000..92d7106474 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/i64.wast.js @@ -0,0 +1,1080 @@ + +// i64.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x97\x80\x80\x80\x00\x04\x60\x02\x7e\x7e\x01\x7e\x60\x01\x7e\x01\x7e\x60\x01\x7e\x01\x7f\x60\x02\x7e\x7e\x01\x7f\x03\x9e\x80\x80\x80\x00\x1d\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x07\xc5\x81\x80\x80\x00\x1d\x03\x61\x64\x64\x00\x00\x03\x73\x75\x62\x00\x01\x03\x6d\x75\x6c\x00\x02\x05\x64\x69\x76\x5f\x73\x00\x03\x05\x64\x69\x76\x5f\x75\x00\x04\x05\x72\x65\x6d\x5f\x73\x00\x05\x05\x72\x65\x6d\x5f\x75\x00\x06\x03\x61\x6e\x64\x00\x07\x02\x6f\x72\x00\x08\x03\x78\x6f\x72\x00\x09\x03\x73\x68\x6c\x00\x0a\x05\x73\x68\x72\x5f\x73\x00\x0b\x05\x73\x68\x72\x5f\x75\x00\x0c\x04\x72\x6f\x74\x6c\x00\x0d\x04\x72\x6f\x74\x72\x00\x0e\x03\x63\x6c\x7a\x00\x0f\x03\x63\x74\x7a\x00\x10\x06\x70\x6f\x70\x63\x6e\x74\x00\x11\x03\x65\x71\x7a\x00\x12\x02\x65\x71\x00\x13\x02\x6e\x65\x00\x14\x04\x6c\x74\x5f\x73\x00\x15\x04\x6c\x74\x5f\x75\x00\x16\x04\x6c\x65\x5f\x73\x00\x17\x04\x6c\x65\x5f\x75\x00\x18\x04\x67\x74\x5f\x73\x00\x19\x04\x67\x74\x5f\x75\x00\x1a\x04\x67\x65\x5f\x73\x00\x1b\x04\x67\x65\x5f\x75\x00\x1c\x0a\xd5\x82\x80\x80\x00\x1d\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x7c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x7d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x7e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x7f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x80\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x81\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x82\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x83\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x84\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x85\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x86\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x87\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x88\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x89\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x8a\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x79\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x7a\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x7b\x0b\x85\x80\x80\x80\x00\x00\x20\x00\x50\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x51\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x52\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x53\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x54\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x57\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x58\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x55\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x56\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x59\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x01\x5a\x0b"); + +// i64.wast:35 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("1"), int64("1")]), int64("2")) + +// i64.wast:36 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:37 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("-1"), int64("-1")]), int64("-2")) + +// i64.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("-1"), int64("1")]), int64("0")) + +// i64.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("9223372036854775807"), int64("1")]), int64("-9223372036854775808")) + +// i64.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("-9223372036854775808"), int64("-1")]), int64("9223372036854775807")) + +// i64.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("-9223372036854775808"), int64("-9223372036854775808")]), int64("0")) + +// i64.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x64\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\x03\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x04\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "add", [int64("1073741823"), int64("1")]), int64("1073741824")) + +// i64.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("1"), int64("1")]), int64("0")) + +// i64.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("-1"), int64("-1")]), int64("0")) + +// i64.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("9223372036854775807"), int64("-1")]), int64("-9223372036854775808")) + +// i64.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x01\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("-9223372036854775808"), int64("1")]), int64("9223372036854775807")) + +// i64.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("-9223372036854775808"), int64("-9223372036854775808")]), int64("0")) + +// i64.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x75\x62\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\x03\x42\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x04\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "sub", [int64("1073741823"), int64("-1")]), int64("1073741824")) + +// i64.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("1"), int64("1")]), int64("1")) + +// i64.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("1"), int64("0")]), int64("0")) + +// i64.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("-1"), int64("-1")]), int64("1")) + +// i64.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x10\x42\x80\x20\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("1152921504606846976"), int64("4096")]), int64("0")) + +// i64.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("-9223372036854775808"), int64("0")]), int64("0")) + +// i64.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("-9223372036854775808"), int64("-1")]), int64("-9223372036854775808")) + +// i64.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x7f\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("9223372036854775807"), int64("-1")]), int64("-9223372036854775807")) + +// i64.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb3\x80\x80\x80\x00\x01\xad\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xaf\xcd\xf8\xac\xd1\x91\x01\x42\x90\xe4\xd0\xb2\x87\xd3\xae\xee\x7e\x10\x00\x01\x42\xf0\x99\x86\xab\xfe\x91\xb6\x9b\x22\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("81985529216486895"), int64("-81985529216486896")]), int64("2465395958572223728")) + +// i64.wast:60 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "mul", [int64("9223372036854775807"), int64("9223372036854775807")]), int64("1")) + +// i64.wast:62 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "div_s", [int64("1"), int64("0")])) + +// i64.wast:63 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "div_s", [int64("0"), int64("0")])) + +// i64.wast:64 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "div_s", [int64("-9223372036854775808"), int64("-1")])) + +// i64.wast:65 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("1"), int64("1")]), int64("1")) + +// i64.wast:66 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("0"), int64("1")]), int64("0")) + +// i64.wast:67 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("0"), int64("-1")]), int64("0")) + +// i64.wast:68 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-1"), int64("-1")]), int64("1")) + +// i64.wast:69 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x02\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x40\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-9223372036854775808"), int64("2")]), int64("-4611686018427387904")) + +// i64.wast:70 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xe8\x07\x10\x00\x01\x42\x89\xd8\xf2\xd0\xc5\xec\xce\x6f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-9223372036854775807"), int64("1000")]), int64("-9223372036854775")) + +// i64.wast:71 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("5"), int64("2")]), int64("2")) + +// i64.wast:72 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x02\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-5"), int64("2")]), int64("-2")) + +// i64.wast:73 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x7e\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("5"), int64("-2")]), int64("-2")) + +// i64.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x7e\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-5"), int64("-2")]), int64("2")) + +// i64.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x07\x42\x03\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("7"), int64("3")]), int64("2")) + +// i64.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x79\x42\x03\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-7"), int64("3")]), int64("-2")) + +// i64.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x07\x42\x7d\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("7"), int64("-3")]), int64("-2")) + +// i64.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x79\x42\x7d\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("-7"), int64("-3")]), int64("2")) + +// i64.wast:79 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x0b\x42\x05\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("11"), int64("5")]), int64("2")) + +// i64.wast:80 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x11\x42\x07\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_s", [int64("17"), int64("7")]), int64("2")) + +// i64.wast:82 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "div_u", [int64("1"), int64("0")])) + +// i64.wast:83 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "div_u", [int64("0"), int64("0")])) + +// i64.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("1"), int64("1")]), int64("1")) + +// i64.wast:85 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("0"), int64("1")]), int64("0")) + +// i64.wast:86 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-1"), int64("-1")]), int64("1")) + +// i64.wast:87 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-9223372036854775808"), int64("-1")]), int64("0")) + +// i64.wast:88 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x02\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-9223372036854775808"), int64("2")]), int64("4611686018427387904")) + +// i64.wast:89 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\xf0\x9f\xc0\xff\x80\xfe\x83\xf8\x8f\x7f\x42\x81\x80\x80\x80\x10\x10\x00\x01\x42\xef\x9f\xc0\xff\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-8074936608141340688"), int64("4294967297")]), int64("2414874607")) + +// i64.wast:90 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xe8\x07\x10\x00\x01\x42\xf7\xa7\x8d\xaf\xba\x93\xb1\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-9223372036854775807"), int64("1000")]), int64("9223372036854775")) + +// i64.wast:91 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("5"), int64("2")]), int64("2")) + +// i64.wast:92 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x02\x10\x00\x01\x42\xfd\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-5"), int64("2")]), int64("9223372036854775805")) + +// i64.wast:93 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x7e\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("5"), int64("-2")]), int64("0")) + +// i64.wast:94 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x7e\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("-5"), int64("-2")]), int64("0")) + +// i64.wast:95 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x07\x42\x03\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("7"), int64("3")]), int64("2")) + +// i64.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x0b\x42\x05\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("11"), int64("5")]), int64("2")) + +// i64.wast:97 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x11\x42\x07\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "div_u", [int64("17"), int64("7")]), int64("2")) + +// i64.wast:99 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "rem_s", [int64("1"), int64("0")])) + +// i64.wast:100 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "rem_s", [int64("0"), int64("0")])) + +// i64.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("9223372036854775807"), int64("-1")]), int64("0")) + +// i64.wast:102 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("1"), int64("1")]), int64("0")) + +// i64.wast:103 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("0"), int64("1")]), int64("0")) + +// i64.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("0"), int64("-1")]), int64("0")) + +// i64.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-1"), int64("-1")]), int64("0")) + +// i64.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-9223372036854775808"), int64("-1")]), int64("0")) + +// i64.wast:107 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x02\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-9223372036854775808"), int64("2")]), int64("0")) + +// i64.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xe8\x07\x10\x00\x01\x42\xd9\x79\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-9223372036854775807"), int64("1000")]), int64("-807")) + +// i64.wast:109 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x02\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("5"), int64("2")]), int64("1")) + +// i64.wast:110 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x02\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-5"), int64("2")]), int64("-1")) + +// i64.wast:111 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x7e\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("5"), int64("-2")]), int64("1")) + +// i64.wast:112 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x7e\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-5"), int64("-2")]), int64("-1")) + +// i64.wast:113 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x07\x42\x03\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("7"), int64("3")]), int64("1")) + +// i64.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x79\x42\x03\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-7"), int64("3")]), int64("-1")) + +// i64.wast:115 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x07\x42\x7d\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("7"), int64("-3")]), int64("1")) + +// i64.wast:116 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x79\x42\x7d\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("-7"), int64("-3")]), int64("-1")) + +// i64.wast:117 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x0b\x42\x05\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("11"), int64("5")]), int64("1")) + +// i64.wast:118 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x11\x42\x07\x10\x00\x01\x42\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_s", [int64("17"), int64("7")]), int64("3")) + +// i64.wast:120 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "rem_u", [int64("1"), int64("0")])) + +// i64.wast:121 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "rem_u", [int64("0"), int64("0")])) + +// i64.wast:122 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("1"), int64("1")]), int64("0")) + +// i64.wast:123 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("0"), int64("1")]), int64("0")) + +// i64.wast:124 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-1"), int64("-1")]), int64("0")) + +// i64.wast:125 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-9223372036854775808"), int64("-1")]), int64("-9223372036854775808")) + +// i64.wast:126 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x02\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-9223372036854775808"), int64("2")]), int64("0")) + +// i64.wast:127 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\xf0\x9f\xc0\xff\x80\xfe\x83\xf8\x8f\x7f\x42\x81\x80\x80\x80\x10\x10\x00\x01\x42\x81\x80\x80\x80\x08\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-8074936608141340688"), int64("4294967297")]), int64("2147483649")) + +// i64.wast:128 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xe8\x07\x10\x00\x01\x42\xa9\x06\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-9223372036854775807"), int64("1000")]), int64("809")) + +// i64.wast:129 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x02\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("5"), int64("2")]), int64("1")) + +// i64.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x02\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-5"), int64("2")]), int64("1")) + +// i64.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x05\x42\x7e\x10\x00\x01\x42\x05\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("5"), int64("-2")]), int64("5")) + +// i64.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7b\x42\x7e\x10\x00\x01\x42\x7b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("-5"), int64("-2")]), int64("-5")) + +// i64.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x07\x42\x03\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("7"), int64("3")]), int64("1")) + +// i64.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x0b\x42\x05\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("11"), int64("5")]), int64("1")) + +// i64.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x11\x42\x07\x10\x00\x01\x42\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rem_u", [int64("17"), int64("7")]), int64("3")) + +// i64.wast:137 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("1"), int64("0")]), int64("0")) + +// i64.wast:138 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("0"), int64("1")]), int64("0")) + +// i64.wast:139 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("1"), int64("1")]), int64("1")) + +// i64.wast:140 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("0"), int64("0")]), int64("0")) + +// i64.wast:141 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("9223372036854775807"), int64("-9223372036854775808")]), int64("0")) + +// i64.wast:142 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x7f\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("9223372036854775807"), int64("-1")]), int64("9223372036854775807")) + +// i64.wast:143 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xc3\x87\x0f\x42\xf0\xe1\xff\xff\x0f\x10\x00\x01\x42\xf0\xe1\xc3\x87\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("4042326015"), int64("4294963440")]), int64("4042322160")) + +// i64.wast:144 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "and", [int64("-1"), int64("-1")]), int64("-1")) + +// i64.wast:146 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:147 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("0"), int64("1")]), int64("1")) + +// i64.wast:148 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("1"), int64("1")]), int64("1")) + +// i64.wast:149 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("0"), int64("0")]), int64("0")) + +// i64.wast:150 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("9223372036854775807"), int64("-9223372036854775808")]), int64("-1")) + +// i64.wast:151 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("-9223372036854775808"), int64("0")]), int64("-9223372036854775808")) + +// i64.wast:152 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xc3\x87\x0f\x42\xf0\xe1\xff\xff\x0f\x10\x00\x01\x42\xff\xff\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("4042326015"), int64("4294963440")]), int64("4294967295")) + +// i64.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "or", [int64("-1"), int64("-1")]), int64("-1")) + +// i64.wast:155 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:156 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("0"), int64("1")]), int64("1")) + +// i64.wast:157 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("1"), int64("1")]), int64("0")) + +// i64.wast:158 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("0"), int64("0")]), int64("0")) + +// i64.wast:159 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("9223372036854775807"), int64("-9223372036854775808")]), int64("-1")) + +// i64.wast:160 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("-9223372036854775808"), int64("0")]), int64("-9223372036854775808")) + +// i64.wast:161 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("-1"), int64("-9223372036854775808")]), int64("9223372036854775807")) + +// i64.wast:162 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("-1"), int64("9223372036854775807")]), int64("-9223372036854775808")) + +// i64.wast:163 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xc3\x87\x0f\x42\xf0\xe1\xff\xff\x0f\x10\x00\x01\x42\x8f\x9e\xbc\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("4042326015"), int64("4294963440")]), int64("252645135")) + +// i64.wast:164 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x78\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "xor", [int64("-1"), int64("-1")]), int64("0")) + +// i64.wast:166 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("1")]), int64("2")) + +// i64.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:168 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x01\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("9223372036854775807"), int64("1")]), int64("-2")) + +// i64.wast:169 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("-1"), int64("1")]), int64("-2")) + +// i64.wast:170 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("-9223372036854775808"), int64("1")]), int64("0")) + +// i64.wast:171 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xc0\x00\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("4611686018427387904"), int64("1")]), int64("-9223372036854775808")) + +// i64.wast:172 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x3f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("63")]), int64("-9223372036854775808")) + +// i64.wast:173 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc0\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("64")]), int64("1")) + +// i64.wast:174 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc1\x00\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("65")]), int64("2")) + +// i64.wast:175 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("-1")]), int64("-9223372036854775808")) + +// i64.wast:176 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shl", [int64("1"), int64("9223372036854775807")]), int64("-9223372036854775808")) + +// i64.wast:178 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("1")]), int64("0")) + +// i64.wast:179 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-1"), int64("1")]), int64("-1")) + +// i64.wast:181 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x01\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("9223372036854775807"), int64("1")]), int64("4611686018427387903")) + +// i64.wast:182 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x40\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-9223372036854775808"), int64("1")]), int64("-4611686018427387904")) + +// i64.wast:183 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xc0\x00\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x20\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("4611686018427387904"), int64("1")]), int64("2305843009213693952")) + +// i64.wast:184 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc0\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("64")]), int64("1")) + +// i64.wast:185 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc1\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("65")]), int64("0")) + +// i64.wast:186 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("-1")]), int64("0")) + +// i64.wast:187 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("9223372036854775807")]), int64("0")) + +// i64.wast:188 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("1"), int64("-9223372036854775808")]), int64("1")) + +// i64.wast:189 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x3f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-9223372036854775808"), int64("63")]), int64("-1")) + +// i64.wast:190 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xc0\x00\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-1"), int64("64")]), int64("-1")) + +// i64.wast:191 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xc1\x00\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-1"), int64("65")]), int64("-1")) + +// i64.wast:192 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-1"), int64("-1")]), int64("-1")) + +// i64.wast:193 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-1"), int64("9223372036854775807")]), int64("-1")) + +// i64.wast:194 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_s", [int64("-1"), int64("-9223372036854775808")]), int64("-1")) + +// i64.wast:196 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("1")]), int64("0")) + +// i64.wast:197 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:198 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-1"), int64("1")]), int64("9223372036854775807")) + +// i64.wast:199 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x01\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\x3f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("9223372036854775807"), int64("1")]), int64("4611686018427387903")) + +// i64.wast:200 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-9223372036854775808"), int64("1")]), int64("4611686018427387904")) + +// i64.wast:201 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xc0\x00\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x20\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("4611686018427387904"), int64("1")]), int64("2305843009213693952")) + +// i64.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc0\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("64")]), int64("1")) + +// i64.wast:203 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc1\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("65")]), int64("0")) + +// i64.wast:204 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("-1")]), int64("0")) + +// i64.wast:205 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("9223372036854775807")]), int64("0")) + +// i64.wast:206 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("1"), int64("-9223372036854775808")]), int64("1")) + +// i64.wast:207 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-9223372036854775808"), int64("63")]), int64("1")) + +// i64.wast:208 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xc0\x00\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-1"), int64("64")]), int64("-1")) + +// i64.wast:209 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xc1\x00\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-1"), int64("65")]), int64("9223372036854775807")) + +// i64.wast:210 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-1"), int64("-1")]), int64("1")) + +// i64.wast:211 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-1"), int64("9223372036854775807")]), int64("1")) + +// i64.wast:212 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "shr_u", [int64("-1"), int64("-9223372036854775808")]), int64("-1")) + +// i64.wast:214 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("1"), int64("1")]), int64("2")) + +// i64.wast:215 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:216 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-1"), int64("1")]), int64("-1")) + +// i64.wast:217 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc0\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("1"), int64("64")]), int64("1")) + +// i64.wast:218 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xce\x95\x9a\x92\xe0\x8e\xe6\xe6\xab\x7f\x42\x01\x10\x00\x01\x42\x9d\xab\xb4\xa4\xc0\x9d\xcc\xcd\xd7\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-6067025490386449714"), int64("1")]), int64("6312693092936652189")) + +// i64.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\xe0\x8d\x80\x80\x80\x7e\x42\x04\x10\x00\x01\x42\x8f\x80\x80\x80\xdc\x81\x80\x80\x60\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-144115184384868352"), int64("4")]), int64("-2305842950157893617")) + +// i64.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x89\xf0\xd9\xfa\xce\xc6\xc4\xe6\xab\x7f\x42\x35\x10\x00\x01\x42\xcf\xd5\xf7\xb4\xa4\xb4\xde\x9a\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-6067173104435169271"), int64("53")]), int64("87109505680009935")) + +// i64.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x9c\x81\x9e\xab\xef\xe9\xc8\xe8\xab\x7f\x42\x3f\x10\x00\x01\x42\xce\x80\xcf\xd5\xf7\xb4\xa4\xf4\xd5\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-6066028401059725156"), int64("63")]), int64("6190357836324913230")) + +// i64.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x89\xf0\xd9\xfa\xce\xc6\xc4\xe6\xab\x7f\x42\xf5\x01\x10\x00\x01\x42\xcf\xd5\xf7\xb4\xa4\xb4\xde\x9a\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-6067173104435169271"), int64("245")]), int64("87109505680009935")) + +// i64.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xac\x80\x80\x80\x00\x01\xa6\x80\x80\x80\x00\x00\x02\x40\x42\x89\xf0\xd9\xfa\xce\xd2\xdc\xe6\xab\x7f\x42\x6d\x10\x00\x01\x42\xea\xbb\xca\xf2\x9a\xaf\xcd\x80\x4f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-6067067139002042359"), int64("-19")]), int64("-3530481836149793302")) + +// i64.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb6\x80\x80\x80\x00\x01\xb0\x80\x80\x80\x00\x00\x02\x40\x42\x9c\x81\x9e\xab\xef\xe9\xc8\xe8\xab\x7f\x42\xbf\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\xce\x80\xcf\xd5\xf7\xb4\xa4\xf4\xd5\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-6066028401059725156"), int64("-9223372036854775745")]), int64("6190357836324913230")) + +// i64.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x3f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("1"), int64("63")]), int64("-9223372036854775808")) + +// i64.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotl", [int64("-9223372036854775808"), int64("1")]), int64("1")) + +// i64.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("1"), int64("1")]), int64("-9223372036854775808")) + +// i64.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("1"), int64("0")]), int64("1")) + +// i64.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-1"), int64("1")]), int64("-1")) + +// i64.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\xc0\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("1"), int64("64")]), int64("1")) + +// i64.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xce\x95\x9a\x92\xe0\x8e\xe6\xe6\xab\x7f\x42\x01\x10\x00\x01\x42\xe7\x8a\x8d\x89\xb0\x87\xb3\xf3\xd5\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-6067025490386449714"), int64("1")]), int64("6189859291661550951")) + +// i64.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\xe0\x8d\x80\x80\x80\x7e\x42\x04\x10\x00\x01\x42\x80\x80\x80\xee\x80\x80\x80\xf0\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-144115184384868352"), int64("4")]), int64("1143914305582792704")) + +// i64.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x89\xf0\xd9\xfa\xce\xc6\xc4\xe6\xab\x7f\x42\x35\x10\x00\x01\x42\xde\x9a\x81\x9e\xab\xef\xe9\xc8\xe8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-6067173104435169271"), int64("53")]), int64("7534987797011123550")) + +// i64.wast:235 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x9c\x81\x9e\xab\xef\xe9\xc8\xe8\xab\x7f\x42\x3f\x10\x00\x01\x42\xb9\x82\xbc\xd6\xde\xd3\x91\xd1\xd7\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-6066028401059725156"), int64("63")]), int64("6314687271590101305")) + +// i64.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xae\x80\x80\x80\x00\x01\xa8\x80\x80\x80\x00\x00\x02\x40\x42\x89\xf0\xd9\xfa\xce\xc6\xc4\xe6\xab\x7f\x42\xf5\x01\x10\x00\x01\x42\xde\x9a\x81\x9e\xab\xef\xe9\xc8\xe8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-6067173104435169271"), int64("245")]), int64("7534987797011123550")) + +// i64.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x89\xf0\xd9\xfa\xce\xd2\xdc\xe6\xab\x7f\x42\x6d\x10\x00\x01\x42\xeb\xbc\xb5\x82\xbc\xd6\xde\xd3\x94\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-6067067139002042359"), int64("-19")]), int64("-7735078922541506965")) + +// i64.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb6\x80\x80\x80\x00\x01\xb0\x80\x80\x80\x00\x00\x02\x40\x42\x9c\x81\x9e\xab\xef\xe9\xc8\xe8\xab\x7f\x42\xbf\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\xb9\x82\xbc\xd6\xde\xd3\x91\xd1\xd7\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-6066028401059725156"), int64("-9223372036854775745")]), int64("6314687271590101305")) + +// i64.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x3f\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("1"), int64("63")]), int64("2")) + +// i64.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x72\x6f\x74\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x3f\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "rotr", [int64("-9223372036854775808"), int64("63")]), int64("1")) + +// i64.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("-1")]), int64("0")) + +// i64.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("0")]), int64("64")) + +// i64.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x02\x10\x00\x01\x42\x30\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("32768")]), int64("48")) + +// i64.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xff\x01\x10\x00\x01\x42\x38\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("255")]), int64("56")) + +// i64.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("-9223372036854775808")]), int64("0")) + +// i64.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x3f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("1")]), int64("63")) + +// i64.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x02\x10\x00\x01\x42\x3e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("2")]), int64("62")) + +// i64.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x6c\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "clz", [int64("9223372036854775807")]), int64("1")) + +// i64.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x74\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ctz", [int64("-1")]), int64("0")) + +// i64.wast:252 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x74\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ctz", [int64("0")]), int64("64")) + +// i64.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x74\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x02\x10\x00\x01\x42\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ctz", [int64("32768")]), int64("15")) + +// i64.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x74\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x04\x10\x00\x01\x42\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ctz", [int64("65536")]), int64("16")) + +// i64.wast:255 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x74\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x3f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ctz", [int64("-9223372036854775808")]), int64("63")) + +// i64.wast:256 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x63\x74\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ctz", [int64("9223372036854775807")]), int64("0")) + +// i64.wast:258 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("-1")]), int64("64")) + +// i64.wast:259 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("0")]), int64("0")) + +// i64.wast:260 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x02\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("32768")]), int64("1")) + +// i64.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x82\x80\x88\x80\xa0\x80\x80\x7f\x10\x00\x01\x42\x04\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("-9223231297218904064")]), int64("4")) + +// i64.wast:262 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x42\x3f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("9223372036854775807")]), int64("63")) + +// i64.wast:263 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xd5\xaa\xd5\xaa\xa5\xd5\xaa\xd5\xaa\x7f\x10\x00\x01\x42\x20\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("-6148914692668172971")]), int64("32")) + +// i64.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xaa\xd5\xaa\xd5\x9a\xb3\xe6\xcc\x99\x7f\x10\x00\x01\x42\x20\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("-7378697629197489494")]), int64("32")) + +// i64.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x70\x6f\x70\x63\x6e\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xef\xfd\xb6\xf5\xfd\xdd\xef\xd6\x5e\x10\x00\x01\x42\x30\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "popcnt", [int64("-2401053088876216593")]), int64("48")) + +// i64.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x65\x71\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eqz", [int64("0")]), 1) + +// i64.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x65\x71\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eqz", [int64("1")]), 0) + +// i64.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x65\x71\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eqz", [int64("-9223372036854775808")]), 0) + +// i64.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x65\x71\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eqz", [int64("9223372036854775807")]), 0) + +// i64.wast:271 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7f\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x65\x71\x7a\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eqz", [int64("-1")]), 0) + +// i64.wast:273 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("0"), int64("0")]), 1) + +// i64.wast:274 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("1"), int64("1")]), 1) + +// i64.wast:275 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-1"), int64("1")]), 0) + +// i64.wast:276 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 1) + +// i64.wast:277 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("9223372036854775807"), int64("9223372036854775807")]), 1) + +// i64.wast:278 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-1"), int64("-1")]), 1) + +// i64.wast:279 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("1"), int64("0")]), 0) + +// i64.wast:280 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("0"), int64("1")]), 0) + +// i64.wast:281 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-9223372036854775808"), int64("0")]), 0) + +// i64.wast:282 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("0"), int64("-9223372036854775808")]), 0) + +// i64.wast:283 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-9223372036854775808"), int64("-1")]), 0) + +// i64.wast:284 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-1"), int64("-9223372036854775808")]), 0) + +// i64.wast:285 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("-9223372036854775808"), int64("9223372036854775807")]), 0) + +// i64.wast:286 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x65\x71\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "eq", [int64("9223372036854775807"), int64("-9223372036854775808")]), 0) + +// i64.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("0"), int64("0")]), 0) + +// i64.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("1"), int64("1")]), 0) + +// i64.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-1"), int64("1")]), 1) + +// i64.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 0) + +// i64.wast:292 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("9223372036854775807"), int64("9223372036854775807")]), 0) + +// i64.wast:293 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-1"), int64("-1")]), 0) + +// i64.wast:294 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("1"), int64("0")]), 1) + +// i64.wast:295 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("0"), int64("1")]), 1) + +// i64.wast:296 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-9223372036854775808"), int64("0")]), 1) + +// i64.wast:297 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("0"), int64("-9223372036854775808")]), 1) + +// i64.wast:298 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-9223372036854775808"), int64("-1")]), 1) + +// i64.wast:299 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-1"), int64("-9223372036854775808")]), 1) + +// i64.wast:300 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("-9223372036854775808"), int64("9223372036854775807")]), 1) + +// i64.wast:301 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x89\x80\x80\x80\x00\x01\x02\x24\x31\x02\x6e\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ne", [int64("9223372036854775807"), int64("-9223372036854775808")]), 1) + +// i64.wast:303 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("0"), int64("0")]), 0) + +// i64.wast:304 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("1"), int64("1")]), 0) + +// i64.wast:305 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-1"), int64("1")]), 1) + +// i64.wast:306 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 0) + +// i64.wast:307 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("9223372036854775807"), int64("9223372036854775807")]), 0) + +// i64.wast:308 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-1"), int64("-1")]), 0) + +// i64.wast:309 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("1"), int64("0")]), 0) + +// i64.wast:310 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("0"), int64("1")]), 1) + +// i64.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-9223372036854775808"), int64("0")]), 1) + +// i64.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("0"), int64("-9223372036854775808")]), 0) + +// i64.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-9223372036854775808"), int64("-1")]), 1) + +// i64.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-1"), int64("-9223372036854775808")]), 0) + +// i64.wast:315 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("-9223372036854775808"), int64("9223372036854775807")]), 1) + +// i64.wast:316 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_s", [int64("9223372036854775807"), int64("-9223372036854775808")]), 0) + +// i64.wast:318 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("0"), int64("0")]), 0) + +// i64.wast:319 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("1"), int64("1")]), 0) + +// i64.wast:320 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-1"), int64("1")]), 0) + +// i64.wast:321 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 0) + +// i64.wast:322 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("9223372036854775807"), int64("9223372036854775807")]), 0) + +// i64.wast:323 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-1"), int64("-1")]), 0) + +// i64.wast:324 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("1"), int64("0")]), 0) + +// i64.wast:325 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("0"), int64("1")]), 1) + +// i64.wast:326 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-9223372036854775808"), int64("0")]), 0) + +// i64.wast:327 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("0"), int64("-9223372036854775808")]), 1) + +// i64.wast:328 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-9223372036854775808"), int64("-1")]), 1) + +// i64.wast:329 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-1"), int64("-9223372036854775808")]), 0) + +// i64.wast:330 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("-9223372036854775808"), int64("9223372036854775807")]), 0) + +// i64.wast:331 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "lt_u", [int64("9223372036854775807"), int64("-9223372036854775808")]), 1) + +// i64.wast:333 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("0"), int64("0")]), 1) + +// i64.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("1"), int64("1")]), 1) + +// i64.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-1"), int64("1")]), 1) + +// i64.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 1) + +// i64.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("9223372036854775807"), int64("9223372036854775807")]), 1) + +// i64.wast:338 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-1"), int64("-1")]), 1) + +// i64.wast:339 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("1"), int64("0")]), 0) + +// i64.wast:340 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("0"), int64("1")]), 1) + +// i64.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-9223372036854775808"), int64("0")]), 1) + +// i64.wast:342 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("0"), int64("-9223372036854775808")]), 0) + +// i64.wast:343 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-9223372036854775808"), int64("-1")]), 1) + +// i64.wast:344 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-1"), int64("-9223372036854775808")]), 0) + +// i64.wast:345 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("-9223372036854775808"), int64("9223372036854775807")]), 1) + +// i64.wast:346 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_s", [int64("9223372036854775807"), int64("-9223372036854775808")]), 0) + +// i64.wast:348 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("0"), int64("0")]), 1) + +// i64.wast:349 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("1"), int64("1")]), 1) + +// i64.wast:350 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-1"), int64("1")]), 0) + +// i64.wast:351 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 1) + +// i64.wast:352 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("9223372036854775807"), int64("9223372036854775807")]), 1) + +// i64.wast:353 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-1"), int64("-1")]), 1) + +// i64.wast:354 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("1"), int64("0")]), 0) + +// i64.wast:355 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("0"), int64("1")]), 1) + +// i64.wast:356 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-9223372036854775808"), int64("0")]), 0) + +// i64.wast:357 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("0"), int64("-9223372036854775808")]), 1) + +// i64.wast:358 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-9223372036854775808"), int64("-1")]), 1) + +// i64.wast:359 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-1"), int64("-9223372036854775808")]), 0) + +// i64.wast:360 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("-9223372036854775808"), int64("9223372036854775807")]), 0) + +// i64.wast:361 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x6c\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "le_u", [int64("9223372036854775807"), int64("-9223372036854775808")]), 1) + +// i64.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("0"), int64("0")]), 0) + +// i64.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("1"), int64("1")]), 0) + +// i64.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-1"), int64("1")]), 0) + +// i64.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 0) + +// i64.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("9223372036854775807"), int64("9223372036854775807")]), 0) + +// i64.wast:368 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-1"), int64("-1")]), 0) + +// i64.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("1"), int64("0")]), 1) + +// i64.wast:370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("0"), int64("1")]), 0) + +// i64.wast:371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-9223372036854775808"), int64("0")]), 0) + +// i64.wast:372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("0"), int64("-9223372036854775808")]), 1) + +// i64.wast:373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-9223372036854775808"), int64("-1")]), 0) + +// i64.wast:374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-1"), int64("-9223372036854775808")]), 1) + +// i64.wast:375 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("-9223372036854775808"), int64("9223372036854775807")]), 0) + +// i64.wast:376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_s", [int64("9223372036854775807"), int64("-9223372036854775808")]), 1) + +// i64.wast:378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("0"), int64("0")]), 0) + +// i64.wast:379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("1"), int64("1")]), 0) + +// i64.wast:380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-1"), int64("1")]), 1) + +// i64.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 0) + +// i64.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("9223372036854775807"), int64("9223372036854775807")]), 0) + +// i64.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-1"), int64("-1")]), 0) + +// i64.wast:384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("1"), int64("0")]), 1) + +// i64.wast:385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("0"), int64("1")]), 0) + +// i64.wast:386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-9223372036854775808"), int64("0")]), 1) + +// i64.wast:387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("0"), int64("-9223372036854775808")]), 0) + +// i64.wast:388 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-9223372036854775808"), int64("-1")]), 0) + +// i64.wast:389 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-1"), int64("-9223372036854775808")]), 1) + +// i64.wast:390 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("-9223372036854775808"), int64("9223372036854775807")]), 1) + +// i64.wast:391 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x74\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "gt_u", [int64("9223372036854775807"), int64("-9223372036854775808")]), 0) + +// i64.wast:393 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("0"), int64("0")]), 1) + +// i64.wast:394 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("1"), int64("1")]), 1) + +// i64.wast:395 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-1"), int64("1")]), 0) + +// i64.wast:396 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 1) + +// i64.wast:397 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("9223372036854775807"), int64("9223372036854775807")]), 1) + +// i64.wast:398 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-1"), int64("-1")]), 1) + +// i64.wast:399 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("1"), int64("0")]), 1) + +// i64.wast:400 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("0"), int64("1")]), 0) + +// i64.wast:401 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-9223372036854775808"), int64("0")]), 0) + +// i64.wast:402 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("0"), int64("-9223372036854775808")]), 1) + +// i64.wast:403 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-9223372036854775808"), int64("-1")]), 0) + +// i64.wast:404 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-1"), int64("-9223372036854775808")]), 1) + +// i64.wast:405 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("-9223372036854775808"), int64("9223372036854775807")]), 0) + +// i64.wast:406 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_s", [int64("9223372036854775807"), int64("-9223372036854775808")]), 1) + +// i64.wast:408 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("0"), int64("0")]), 1) + +// i64.wast:409 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("1"), int64("1")]), 1) + +// i64.wast:410 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x01\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-1"), int64("1")]), 1) + +// i64.wast:411 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-9223372036854775808"), int64("-9223372036854775808")]), 1) + +// i64.wast:412 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("9223372036854775807"), int64("9223372036854775807")]), 1) + +// i64.wast:413 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-1"), int64("-1")]), 1) + +// i64.wast:414 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("1"), int64("0")]), 1) + +// i64.wast:415 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x01\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("0"), int64("1")]), 0) + +// i64.wast:416 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-9223372036854775808"), int64("0")]), 1) + +// i64.wast:417 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("0"), int64("-9223372036854775808")]), 0) + +// i64.wast:418 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-9223372036854775808"), int64("-1")]), 0) + +// i64.wast:419 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-1"), int64("-9223372036854775808")]), 1) + +// i64.wast:420 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("-9223372036854775808"), int64("9223372036854775807")]), 1) + +// i64.wast:421 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x67\x65\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xad\x80\x80\x80\x00\x01\xa7\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x41\x00\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "ge_u", [int64("9223372036854775807"), int64("-9223372036854775808")]), 0) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/if.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/if.wast.js new file mode 100644 index 0000000000..652dd82f88 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/if.wast.js @@ -0,0 +1,249 @@ + +// if.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x97\x80\x80\x80\x00\x05\x60\x00\x00\x60\x01\x7f\x00\x60\x01\x7f\x01\x7f\x60\x02\x7f\x7f\x01\x7f\x60\x00\x01\x7f\x03\x8d\x80\x80\x80\x00\x0c\x00\x01\x02\x02\x03\x02\x03\x02\x03\x04\x02\x02\x07\x98\x81\x80\x80\x00\x0b\x05\x65\x6d\x70\x74\x79\x00\x01\x08\x73\x69\x6e\x67\x75\x6c\x61\x72\x00\x02\x05\x6d\x75\x6c\x74\x69\x00\x03\x06\x6e\x65\x73\x74\x65\x64\x00\x04\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x05\x11\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x06\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x07\x12\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x08\x0a\x62\x72\x65\x61\x6b\x2d\x62\x61\x72\x65\x00\x09\x0b\x62\x72\x65\x61\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0a\x07\x65\x66\x66\x65\x63\x74\x73\x00\x0b\x0a\xa4\x84\x80\x80\x00\x0c\x82\x80\x80\x80\x00\x00\x0b\x96\x80\x80\x80\x00\x00\x20\x00\x04\x40\x0b\x20\x00\x04\x40\x0b\x20\x00\x04\x40\x0b\x20\x00\x04\x40\x0b\x0b\x9a\x80\x80\x80\x00\x00\x20\x00\x04\x40\x01\x0b\x20\x00\x04\x40\x01\x05\x01\x0b\x20\x00\x04\x7f\x41\x07\x05\x41\x08\x0b\x0b\xab\x80\x80\x80\x00\x00\x20\x00\x04\x40\x10\x00\x10\x00\x10\x00\x0b\x20\x00\x04\x40\x05\x10\x00\x10\x00\x10\x00\x0b\x20\x00\x04\x7f\x10\x00\x10\x00\x41\x08\x05\x10\x00\x10\x00\x41\x09\x0b\x0b\xd2\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x20\x01\x04\x40\x10\x00\x02\x40\x0b\x01\x0b\x20\x01\x04\x40\x05\x10\x00\x02\x40\x0b\x01\x0b\x20\x01\x04\x7f\x10\x00\x41\x09\x05\x10\x00\x41\x0a\x0b\x05\x20\x01\x04\x40\x10\x00\x02\x40\x0b\x01\x0b\x20\x01\x04\x40\x05\x10\x00\x02\x40\x0b\x01\x0b\x20\x01\x04\x7f\x10\x00\x41\x0a\x05\x10\x00\x41\x0b\x0b\x0b\x0b\x91\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x10\x00\x41\x0d\x05\x10\x00\x41\x73\x0b\x68\x0b\x9f\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x10\x00\x41\x03\x05\x10\x00\x41\x7d\x0b\x20\x01\x04\x7f\x10\x00\x41\x04\x05\x10\x00\x41\x7b\x0b\x6c\x0b\x91\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x10\x00\x41\x0d\x05\x10\x00\x41\x00\x0b\x45\x0b\xab\x80\x80\x80\x00\x00\x20\x00\x04\x7d\x10\x00\x43\x00\x00\x40\x40\x05\x10\x00\x43\x00\x00\x40\xc0\x0b\x20\x01\x04\x7d\x10\x00\x43\x00\x00\x80\x40\x05\x10\x00\x43\x00\x00\x80\xc0\x0b\x5e\x0b\xe7\x80\x80\x80\x00\x00\x41\x01\x04\x40\x0c\x00\x00\x0b\x41\x01\x04\x40\x0c\x00\x00\x05\x00\x0b\x41\x00\x04\x40\x00\x05\x0c\x00\x00\x0b\x41\x01\x04\x40\x41\x01\x0d\x00\x00\x0b\x41\x01\x04\x40\x41\x01\x0d\x00\x00\x05\x00\x0b\x41\x00\x04\x40\x00\x05\x41\x01\x0d\x00\x00\x0b\x41\x01\x04\x40\x41\x00\x0e\x00\x00\x00\x0b\x41\x01\x04\x40\x41\x00\x0e\x00\x00\x00\x05\x00\x0b\x41\x00\x04\x40\x00\x05\x41\x00\x0e\x00\x00\x00\x0b\x41\x13\x0b\x94\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x41\x12\x0c\x00\x41\x13\x05\x41\x15\x0c\x00\x41\x14\x0b\x0b\xd1\x80\x80\x80\x00\x01\x01\x7f\x02\x7f\x41\x01\x21\x01\x20\x00\x0b\x04\x40\x20\x01\x41\x03\x6c\x21\x01\x20\x01\x41\x05\x6b\x21\x01\x20\x01\x41\x07\x6c\x21\x01\x0c\x00\x20\x01\x41\xe4\x00\x6c\x21\x01\x05\x20\x01\x41\x05\x6c\x21\x01\x20\x01\x41\x07\x6b\x21\x01\x20\x01\x41\x03\x6c\x21\x01\x0c\x00\x20\x01\x41\xe8\x07\x6c\x21\x01\x0b\x20\x01\x0b"); + +// if.wast:134 +assert_return(() => call($1, "empty", [0])); + +// if.wast:135 +assert_return(() => call($1, "empty", [1])); + +// if.wast:136 +assert_return(() => call($1, "empty", [100])); + +// if.wast:137 +assert_return(() => call($1, "empty", [-2])); + +// if.wast:139 +assert_return(() => call($1, "singular", [0]), 8); + +// if.wast:140 +assert_return(() => call($1, "singular", [1]), 7); + +// if.wast:141 +assert_return(() => call($1, "singular", [10]), 7); + +// if.wast:142 +assert_return(() => call($1, "singular", [-10]), 7); + +// if.wast:144 +assert_return(() => call($1, "multi", [0]), 9); + +// if.wast:145 +assert_return(() => call($1, "multi", [1]), 8); + +// if.wast:146 +assert_return(() => call($1, "multi", [13]), 8); + +// if.wast:147 +assert_return(() => call($1, "multi", [-5]), 8); + +// if.wast:149 +assert_return(() => call($1, "nested", [0, 0]), 11); + +// if.wast:150 +assert_return(() => call($1, "nested", [1, 0]), 10); + +// if.wast:151 +assert_return(() => call($1, "nested", [0, 1]), 10); + +// if.wast:152 +assert_return(() => call($1, "nested", [3, 2]), 9); + +// if.wast:153 +assert_return(() => call($1, "nested", [0, -100]), 10); + +// if.wast:154 +assert_return(() => call($1, "nested", [10, 10]), 9); + +// if.wast:155 +assert_return(() => call($1, "nested", [0, -1]), 10); + +// if.wast:156 +assert_return(() => call($1, "nested", [-111, -2]), 9); + +// if.wast:158 +assert_return(() => call($1, "as-unary-operand", [0]), 0); + +// if.wast:159 +assert_return(() => call($1, "as-unary-operand", [1]), 0); + +// if.wast:160 +assert_return(() => call($1, "as-unary-operand", [-1]), 0); + +// if.wast:162 +assert_return(() => call($1, "as-binary-operand", [0, 0]), 15); + +// if.wast:163 +assert_return(() => call($1, "as-binary-operand", [0, 1]), -12); + +// if.wast:164 +assert_return(() => call($1, "as-binary-operand", [1, 0]), -15); + +// if.wast:165 +assert_return(() => call($1, "as-binary-operand", [1, 1]), 12); + +// if.wast:167 +assert_return(() => call($1, "as-test-operand", [0]), 1); + +// if.wast:168 +assert_return(() => call($1, "as-test-operand", [1]), 0); + +// if.wast:170 +assert_return(() => call($1, "as-compare-operand", [0, 0]), 1); + +// if.wast:171 +assert_return(() => call($1, "as-compare-operand", [0, 1]), 0); + +// if.wast:172 +assert_return(() => call($1, "as-compare-operand", [1, 0]), 1); + +// if.wast:173 +assert_return(() => call($1, "as-compare-operand", [1, 1]), 0); + +// if.wast:175 +assert_return(() => call($1, "break-bare", []), 19); + +// if.wast:176 +assert_return(() => call($1, "break-value", [1]), 18); + +// if.wast:177 +assert_return(() => call($1, "break-value", [0]), 21); + +// if.wast:179 +assert_return(() => call($1, "effects", [1]), -14); + +// if.wast:180 +assert_return(() => call($1, "effects", [0]), -6); + +// if.wast:182 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:186 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:190 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:194 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:199 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:203 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:207 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:211 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x04\x40\x0b\x0b"); + +// if.wast:216 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x01\x04\x40\x41\x01\x0b\x0b"); + +// if.wast:222 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x01\x04\x40\x41\x01\x0b\x0b"); + +// if.wast:228 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x01\x04\x40\x05\x41\x01\x0b\x0b"); + +// if.wast:234 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x01\x04\x40\x41\x01\x05\x41\x01\x0b\x0b"); + +// if.wast:241 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x05\x41\x00\x0b\x0b"); + +// if.wast:247 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x00\x0b\x0b"); + +// if.wast:253 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x0b\x0b"); + +// if.wast:259 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x01\x0b\x0b"); + +// if.wast:266 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x01\x05\x41\x00\x0b\x0b"); + +// if.wast:272 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x00\x05\x01\x0b\x0b"); + +// if.wast:278 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x01\x05\x01\x0b\x0b"); + +// if.wast:285 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x42\x01\x05\x41\x01\x0b\x0b"); + +// if.wast:291 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x01\x05\x42\x01\x0b\x0b"); + +// if.wast:297 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x42\x01\x05\x42\x01\x0b\x0b"); + +// if.wast:303 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x42\x01\x05\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x0b\x0b"); + +// if.wast:310 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x00\x04\x7e\x00\x00\x00\x1b\x05\x42\x00\x0b\x0b"); + +// if.wast:320 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x01\x04\x7e\x42\x00\x05\x00\x00\x00\x1b\x0b\x0b"); + +// if.wast:330 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x01\x04\x7e\x00\x00\x00\x1b\x05\x00\x00\x00\x1b\x0b\x0b"); + +// if.wast:341 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x0c\x00\x05\x41\x01\x0b\x0b"); + +// if.wast:347 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x01\x05\x0c\x00\x0b\x0b"); + +// if.wast:353 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x0c\x00\x41\x01\x05\x41\x01\x0b\x0b"); + +// if.wast:362 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x01\x05\x0c\x00\x41\x01\x0b\x0b"); + +// if.wast:371 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x01\x0c\x00\x41\x01\x05\x41\x01\x0b\x0b"); + +// if.wast:380 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x01\x05\x01\x0c\x00\x41\x01\x0b\x0b"); + +// if.wast:390 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x42\x01\x0c\x00\x41\x01\x05\x41\x01\x0b\x0b"); + +// if.wast:399 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x01\x04\x7f\x41\x01\x05\x42\x01\x0c\x00\x41\x01\x0b\x0b"); + +// if.wast:410 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:414 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:418 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:422 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:426 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:430 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:434 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:438 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:442 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// if.wast:446 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/imports.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/imports.wast.js new file mode 100644 index 0000000000..48d140966a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/imports.wast.js @@ -0,0 +1,435 @@ + +// imports.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x9e\x80\x80\x80\x00\x07\x60\x00\x00\x60\x01\x7f\x00\x60\x01\x7d\x00\x60\x00\x01\x7f\x60\x00\x01\x7d\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x88\x80\x80\x80\x00\x07\x00\x01\x02\x03\x04\x05\x06\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x05\x83\x80\x80\x80\x00\x01\x00\x02\x06\x8e\x80\x80\x80\x00\x02\x7f\x00\x41\x37\x0b\x7d\x00\x43\x00\x00\x30\x42\x0b\x07\x8e\x81\x80\x80\x00\x0b\x04\x66\x75\x6e\x63\x00\x00\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x01\x08\x66\x75\x6e\x63\x2d\x66\x33\x32\x00\x02\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x03\x09\x66\x75\x6e\x63\x2d\x3e\x66\x33\x32\x00\x04\x0d\x66\x75\x6e\x63\x2d\x69\x33\x32\x2d\x3e\x69\x33\x32\x00\x05\x0d\x66\x75\x6e\x63\x2d\x69\x36\x34\x2d\x3e\x69\x36\x34\x00\x06\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x69\x33\x32\x03\x00\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x66\x33\x32\x03\x01\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x01\x00\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x02\x00\x0a\xbd\x80\x80\x80\x00\x07\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x16\x0b\x87\x80\x80\x80\x00\x00\x43\x00\x00\x30\x41\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x20\x00\x0b"); + +// imports.wast:19 +register("test", $1) + +// imports.wast:24 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa0\x80\x80\x80\x00\x07\x60\x01\x7f\x00\x60\x01\x7e\x00\x60\x01\x7d\x00\x60\x01\x7c\x00\x60\x02\x7f\x7d\x00\x60\x02\x7c\x7c\x00\x60\x01\x7e\x01\x7e\x02\xf3\x81\x80\x80\x00\x0e\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x02\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x03\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x04\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x05\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x03\x04\x74\x65\x73\x74\x0d\x66\x75\x6e\x63\x2d\x69\x36\x34\x2d\x3e\x69\x36\x34\x00\x06\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x04\x85\x80\x80\x80\x00\x01\x70\x01\x02\x02\x07\xb3\x80\x80\x80\x00\x08\x02\x70\x31\x00\x09\x02\x70\x32\x00\x0a\x02\x70\x33\x00\x0b\x02\x70\x34\x00\x0b\x02\x70\x35\x00\x0c\x02\x70\x36\x00\x0d\x07\x70\x72\x69\x6e\x74\x33\x32\x00\x0e\x07\x70\x72\x69\x6e\x74\x36\x34\x00\x0f\x09\x88\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x02\x01\x03\x0a\xe8\x80\x80\x80\x00\x02\xac\x80\x80\x80\x00\x01\x01\x7d\x20\x00\xb2\x21\x01\x20\x00\x10\x00\x20\x00\x41\x01\x6a\x43\x00\x00\x28\x42\x10\x04\x20\x00\x10\x01\x20\x00\x10\x06\x20\x01\x10\x02\x20\x00\x41\x00\x11\x00\x00\x0b\xb1\x80\x80\x80\x00\x01\x01\x7c\x20\x00\x10\x08\xb9\x21\x01\x20\x01\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xa0\x44\x00\x00\x00\x00\x00\x80\x4a\x40\x10\x05\x20\x01\x10\x03\x20\x01\x10\x07\x20\x01\x41\x01\x11\x03\x00\x0b"); + +// imports.wast:83 +assert_return(() => call($2, "print32", [13])); + +// imports.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x00\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x32\x07\x70\x72\x69\x6e\x74\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x18\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "print64", [int64("24")])) + +// imports.wast:86 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x8d\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x04\x66\x75\x6e\x63\x00\x00"); + +// imports.wast:87 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:88 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x66\x33\x32\x00\x00"); + +// imports.wast:89 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:90 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x66\x33\x32\x00\x00"); + +// imports.wast:91 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0d\x66\x75\x6e\x63\x2d\x69\x33\x32\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:92 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0d\x66\x75\x6e\x63\x2d\x69\x36\x34\x2d\x3e\x69\x36\x34\x00\x00"); + +// imports.wast:94 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x90\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x00\x00"); + +// imports.wast:98 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x00\x00"); + +// imports.wast:103 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x02\x8d\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x04\x66\x75\x6e\x63\x00\x00"); + +// imports.wast:107 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x8d\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x04\x66\x75\x6e\x63\x00\x00"); + +// imports.wast:111 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x8d\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x04\x66\x75\x6e\x63\x00\x00"); + +// imports.wast:115 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:119 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:123 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:127 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:131 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:135 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:139 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:143 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:147 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:151 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x09\x66\x75\x6e\x63\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:155 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0d\x66\x75\x6e\x63\x2d\x69\x33\x32\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:159 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0d\x66\x75\x6e\x63\x2d\x69\x33\x32\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:163 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0d\x66\x75\x6e\x63\x2d\x69\x33\x32\x2d\x3e\x69\x33\x32\x00\x00"); + +// imports.wast:168 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x93\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x69\x33\x32\x00\x00"); + +// imports.wast:172 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x95\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x00\x00"); + +// imports.wast:176 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x95\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x00\x00"); + +// imports.wast:180 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x93\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x00\x00"); + +// imports.wast:184 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x00\x00"); + +// imports.wast:188 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x93\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x00\x00"); + +// imports.wast:196 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\xf3\x80\x80\x80\x00\x06\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7d\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7c\x00\x03\x85\x80\x80\x80\x00\x04\x00\x00\x00\x00\x07\xa1\x80\x80\x80\x00\x04\x05\x67\x65\x74\x2d\x30\x00\x00\x05\x67\x65\x74\x2d\x31\x00\x01\x05\x67\x65\x74\x2d\x78\x00\x02\x05\x67\x65\x74\x2d\x79\x00\x03\x0a\xa5\x80\x80\x80\x00\x04\x84\x80\x80\x80\x00\x00\x23\x00\x0b\x84\x80\x80\x80\x00\x00\x23\x01\x0b\x84\x80\x80\x80\x00\x00\x23\x02\x0b\x84\x80\x80\x80\x00\x00\x23\x03\x0b"); + +// imports.wast:214 +assert_return(() => call($10, "get-0", []), 666); + +// imports.wast:215 +assert_return(() => call($10, "get-1", []), 666); + +// imports.wast:216 +assert_return(() => call($10, "get-x", []), 666); + +// imports.wast:217 +assert_return(() => call($10, "get-y", []), 666); + +// imports.wast:219 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x69\x33\x32\x03\x7f\x00"); + +// imports.wast:220 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x66\x33\x32\x03\x7d\x00"); + +// imports.wast:222 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x03\x7f\x00"); + +// imports.wast:226 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x03\x7f\x00"); + +// imports.wast:231 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8e\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x04\x66\x75\x6e\x63\x03\x7f\x00"); + +// imports.wast:235 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x03\x7f\x00"); + +// imports.wast:239 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x03\x7f\x00"); + +// imports.wast:243 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x93\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x03\x7f\x00"); + +// imports.wast:247 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x93\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x03\x7f\x00"); + +// imports.wast:251 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x03\x7f\x00"); + +// imports.wast:259 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x0a\x14\x03\x84\x80\x80\x80\x00\x03\x01\x00\x00\x07\x88\x80\x80\x80\x00\x01\x04\x63\x61\x6c\x6c\x00\x00\x09\x88\x80\x80\x80\x00\x01\x00\x41\x01\x0b\x02\x01\x02\x0a\x9f\x80\x80\x80\x00\x03\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x0b\x0b\x84\x80\x80\x80\x00\x00\x41\x16\x0b"); + +// imports.wast:269 +assert_trap(() => call($13, "call", [0])); + +// imports.wast:270 +assert_return(() => call($13, "call", [1]), 11); + +// imports.wast:271 +assert_return(() => call($13, "call", [2]), 22); + +// imports.wast:272 +assert_trap(() => call($13, "call", [3])); + +// imports.wast:273 +assert_trap(() => call($13, "call", [100])); + +// imports.wast:276 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x0a\x14\x03\x84\x80\x80\x80\x00\x03\x01\x00\x00\x07\x88\x80\x80\x80\x00\x01\x04\x63\x61\x6c\x6c\x00\x00\x09\x88\x80\x80\x80\x00\x01\x00\x41\x01\x0b\x02\x01\x02\x0a\x9f\x80\x80\x80\x00\x03\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x0b\x0b\x84\x80\x80\x80\x00\x00\x41\x16\x0b"); + +// imports.wast:286 +assert_trap(() => call($14, "call", [0])); + +// imports.wast:287 +assert_return(() => call($14, "call", [1]), 11); + +// imports.wast:288 +assert_return(() => call($14, "call", [2]), 22); + +// imports.wast:289 +assert_trap(() => call($14, "call", [3])); + +// imports.wast:290 +assert_trap(() => call($14, "call", [100])); + +// imports.wast:293 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8d\x80\x80\x80\x00\x02\x00\x00\x01\x70\x00\x0a\x00\x00\x01\x70\x00\x0a"); + +// imports.wast:297 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x87\x80\x80\x80\x00\x01\x00\x00\x01\x70\x00\x0a\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a"); + +// imports.wast:301 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x04\x87\x80\x80\x80\x00\x02\x70\x00\x0a\x70\x00\x0a"); + +// imports.wast:306 +let $15 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x97\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x01\x70\x00\x0a"); + +// imports.wast:307 +let $16 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x97\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x01\x70\x00\x05"); + +// imports.wast:308 +let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x97\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x01\x70\x00\x00"); + +// imports.wast:309 +let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x00\x0a"); + +// imports.wast:310 +let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x00\x05"); + +// imports.wast:311 +let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x00\x00"); + +// imports.wast:312 +let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x0a\x14"); + +// imports.wast:313 +let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x05\x14"); + +// imports.wast:314 +let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x00\x14"); + +// imports.wast:315 +let $24 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x0a\x19"); + +// imports.wast:316 +let $25 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x05\x19"); + +// imports.wast:318 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x01\x70\x00\x0a"); + +// imports.wast:322 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x01\x70\x00\x0a"); + +// imports.wast:327 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x97\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x01\x70\x00\x0c"); + +// imports.wast:331 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x98\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x01\x70\x01\x0a\x14"); + +// imports.wast:335 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x00\x0c"); + +// imports.wast:339 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x01\x70\x01\x0a\x0f"); + +// imports.wast:344 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8f\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x04\x66\x75\x6e\x63\x01\x70\x00\x0a"); + +// imports.wast:348 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x69\x33\x32\x01\x70\x00\x0a"); + +// imports.wast:352 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x97\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x01\x70\x00\x0a"); + +// imports.wast:356 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x01\x70\x00\x0a"); + +// imports.wast:365 +let $26 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x01\x02\x03\x82\x80\x80\x80\x00\x01\x00\x07\x88\x80\x80\x80\x00\x01\x04\x6c\x6f\x61\x64\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x20\x00\x28\x02\x00\x0b\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x0a\x0b\x01\x10"); + +// imports.wast:372 +assert_return(() => call($26, "load", [0]), 0); + +// imports.wast:373 +assert_return(() => call($26, "load", [10]), 16); + +// imports.wast:374 +assert_return(() => call($26, "load", [8]), 1048576); + +// imports.wast:375 +assert_trap(() => call($26, "load", [1000000])); + +// imports.wast:377 +let $27 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x01\x02\x03\x82\x80\x80\x80\x00\x01\x00\x07\x88\x80\x80\x80\x00\x01\x04\x6c\x6f\x61\x64\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x20\x00\x28\x02\x00\x0b\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x0a\x0b\x01\x10"); + +// imports.wast:383 +assert_return(() => call($27, "load", [0]), 0); + +// imports.wast:384 +assert_return(() => call($27, "load", [10]), 16); + +// imports.wast:385 +assert_return(() => call($27, "load", [8]), 1048576); + +// imports.wast:386 +assert_trap(() => call($27, "load", [1000000])); + +// imports.wast:388 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8b\x80\x80\x80\x00\x02\x00\x00\x02\x00\x01\x00\x00\x02\x00\x01"); + +// imports.wast:392 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x86\x80\x80\x80\x00\x01\x00\x00\x02\x00\x01\x05\x83\x80\x80\x80\x00\x01\x00\x00"); + +// imports.wast:396 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x85\x80\x80\x80\x00\x02\x00\x00\x00\x00"); + +// imports.wast:401 +let $28 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x02\x00\x02"); + +// imports.wast:402 +let $29 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x02\x00\x01"); + +// imports.wast:403 +let $30 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x02\x00\x00"); + +// imports.wast:404 +let $31 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x00\x01"); + +// imports.wast:405 +let $32 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x00\x00"); + +// imports.wast:406 +let $33 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x01\x02"); + +// imports.wast:407 +let $34 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x00\x02"); + +// imports.wast:408 +let $35 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x01\x03"); + +// imports.wast:409 +let $36 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x00\x03"); + +// imports.wast:411 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x91\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x02\x00\x01"); + +// imports.wast:415 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x07\x75\x6e\x6b\x6e\x6f\x77\x6e\x02\x00\x01"); + +// imports.wast:420 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x02\x00\x03"); + +// imports.wast:424 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x97\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x6d\x65\x6d\x6f\x72\x79\x2d\x32\x2d\x69\x6e\x66\x02\x01\x02\x03"); + +// imports.wast:428 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x00\x02"); + +// imports.wast:432 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x01\x01"); + +// imports.wast:437 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x92\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x08\x66\x75\x6e\x63\x2d\x69\x33\x32\x02\x00\x01"); + +// imports.wast:441 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0a\x67\x6c\x6f\x62\x61\x6c\x2d\x69\x33\x32\x02\x00\x01"); + +// imports.wast:445 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x96\x80\x80\x80\x00\x01\x04\x74\x65\x73\x74\x0c\x74\x61\x62\x6c\x65\x2d\x31\x30\x2d\x69\x6e\x66\x02\x00\x01"); + +// imports.wast:449 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x93\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x02\x00\x01"); + +// imports.wast:453 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x02\x00\x01"); + +// imports.wast:457 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x93\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x74\x61\x62\x6c\x65\x02\x00\x01"); + +// imports.wast:462 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x00\x02"); + +// imports.wast:466 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x01\x01"); + +// imports.wast:471 +let $37 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x95\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x01\x00\x03\x03\x82\x80\x80\x80\x00\x01\x00\x07\x88\x80\x80\x80\x00\x01\x04\x67\x72\x6f\x77\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\x40\x00\x0b"); + +// imports.wast:475 +assert_return(() => call($37, "grow", [0]), 1); + +// imports.wast:476 +assert_return(() => call($37, "grow", [1]), 1); + +// imports.wast:477 +assert_return(() => call($37, "grow", [0]), 2); + +// imports.wast:478 +assert_return(() => call($37, "grow", [1]), -1); + +// imports.wast:479 +assert_return(() => call($37, "grow", [0]), 2); + +// imports.wast:484 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:488 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:492 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:496 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:501 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:505 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:509 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:513 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:518 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:522 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:526 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:530 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:535 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:539 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:543 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// imports.wast:547 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/inline-module.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/inline-module.wast.js new file mode 100644 index 0000000000..3752b9d452 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/inline-module.wast.js @@ -0,0 +1,3 @@ + +// inline-module.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x85\x80\x80\x80\x00\x01\x01\x66\x00\x01\x0a\x8f\x80\x80\x80\x00\x02\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/int_exprs.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/int_exprs.wast.js new file mode 100644 index 0000000000..c8181117e6 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/int_exprs.wast.js @@ -0,0 +1,324 @@ + +// int_exprs.wast:6 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x02\x7f\x7f\x01\x7f\x60\x02\x7e\x7e\x01\x7f\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xed\x80\x80\x80\x00\x04\x18\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6d\x70\x5f\x73\x5f\x6f\x66\x66\x73\x65\x74\x00\x00\x18\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6d\x70\x5f\x75\x5f\x6f\x66\x66\x73\x65\x74\x00\x01\x18\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6d\x70\x5f\x73\x5f\x6f\x66\x66\x73\x65\x74\x00\x02\x18\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6d\x70\x5f\x75\x5f\x6f\x66\x66\x73\x65\x74\x00\x03\x0a\xc9\x80\x80\x80\x00\x04\x8d\x80\x80\x80\x00\x00\x20\x00\x41\x01\x6a\x20\x01\x41\x01\x6a\x48\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x41\x01\x6a\x20\x01\x41\x01\x6a\x49\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x42\x01\x7c\x20\x01\x42\x01\x7c\x53\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x42\x01\x7c\x20\x01\x42\x01\x7c\x54\x0b"); + +// int_exprs.wast:18 +assert_return(() => call($1, "i32.no_fold_cmp_s_offset", [2147483647, 0]), 1); + +// int_exprs.wast:19 +assert_return(() => call($1, "i32.no_fold_cmp_u_offset", [-1, 0]), 1); + +// int_exprs.wast:20 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x9f\x80\x80\x80\x00\x01\x02\x24\x31\x18\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6d\x70\x5f\x73\x5f\x6f\x66\x66\x73\x65\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.no_fold_cmp_s_offset", [int64("9223372036854775807"), int64("0")]), 1) + +// int_exprs.wast:21 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x01\x7f\x02\x9f\x80\x80\x80\x00\x01\x02\x24\x31\x18\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x63\x6d\x70\x5f\x75\x5f\x6f\x66\x66\x73\x65\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x42\x00\x10\x00\x01\x41\x01\x01\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.no_fold_cmp_u_offset", [int64("-1"), int64("0")]), 1) + +// int_exprs.wast:25 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x07\x9d\x80\x80\x80\x00\x01\x19\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x77\x72\x61\x70\x5f\x65\x78\x74\x65\x6e\x64\x5f\x73\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\xa7\xac\x0b"); + +// int_exprs.wast:30 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa0\x80\x80\x80\x00\x01\x02\x24\x32\x19\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x77\x72\x61\x70\x5f\x65\x78\x74\x65\x6e\x64\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\xf0\xc0\xc1\x82\x84\x86\x88\x08\x10\x00\x01\x42\xf0\xc0\xc1\x82\x04\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.no_fold_wrap_extend_s", [int64("4538991236898928")]), int64("1079009392")) + +// int_exprs.wast:31 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa0\x80\x80\x80\x00\x01\x02\x24\x32\x19\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x77\x72\x61\x70\x5f\x65\x78\x74\x65\x6e\x64\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xa0\xe1\x83\x87\x8d\x98\xac\xd0\x00\x10\x00\x01\x42\xa0\xe1\x83\x87\x7d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.no_fold_wrap_extend_s", [int64("45230338458316960")]), int64("-790564704")) + +// int_exprs.wast:35 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x07\x9d\x80\x80\x80\x00\x01\x19\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x77\x72\x61\x70\x5f\x65\x78\x74\x65\x6e\x64\x5f\x75\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\xa7\xad\x0b"); + +// int_exprs.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\xa0\x80\x80\x80\x00\x01\x02\x24\x33\x19\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x77\x72\x61\x70\x5f\x65\x78\x74\x65\x6e\x64\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x42\xf0\xc0\xc1\x82\x84\x86\x88\x08\x10\x00\x01\x42\xf0\xc0\xc1\x82\x04\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_return(() => call($3, "i64.no_fold_wrap_extend_u", [int64("4538991236898928")]), int64("1079009392")) + +// int_exprs.wast:44 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xe1\x80\x80\x80\x00\x04\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x6c\x5f\x73\x68\x72\x5f\x73\x00\x00\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x6c\x5f\x73\x68\x72\x5f\x75\x00\x01\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x6c\x5f\x73\x68\x72\x5f\x73\x00\x02\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x6c\x5f\x73\x68\x72\x5f\x75\x00\x03\x0a\xbd\x80\x80\x80\x00\x04\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x01\x74\x41\x01\x75\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x01\x74\x41\x01\x76\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x01\x86\x42\x01\x87\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x01\x86\x42\x01\x88\x0b"); + +// int_exprs.wast:56 +assert_return(() => call($4, "i32.no_fold_shl_shr_s", [-2147483648]), 0); + +// int_exprs.wast:57 +assert_return(() => call($4, "i32.no_fold_shl_shr_u", [-2147483648]), 0); + +// int_exprs.wast:58 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x34\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x6c\x5f\x73\x68\x72\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.no_fold_shl_shr_s", [int64("-9223372036854775808")]), int64("0")) + +// int_exprs.wast:59 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x34\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x6c\x5f\x73\x68\x72\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$4", $4)), "run", [])); // assert_return(() => call($4, "i64.no_fold_shl_shr_u", [int64("-9223372036854775808")]), int64("0")) + +// int_exprs.wast:63 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xe1\x80\x80\x80\x00\x04\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x72\x5f\x73\x5f\x73\x68\x6c\x00\x00\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x72\x5f\x75\x5f\x73\x68\x6c\x00\x01\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x72\x5f\x73\x5f\x73\x68\x6c\x00\x02\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x72\x5f\x75\x5f\x73\x68\x6c\x00\x03\x0a\xbd\x80\x80\x80\x00\x04\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x01\x75\x41\x01\x74\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x01\x76\x41\x01\x74\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x01\x87\x42\x01\x86\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x01\x88\x42\x01\x86\x0b"); + +// int_exprs.wast:75 +assert_return(() => call($5, "i32.no_fold_shr_s_shl", [1]), 0); + +// int_exprs.wast:76 +assert_return(() => call($5, "i32.no_fold_shr_u_shl", [1]), 0); + +// int_exprs.wast:77 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x35\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x72\x5f\x73\x5f\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "i64.no_fold_shr_s_shl", [int64("1")]), int64("0")) + +// int_exprs.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x35\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x73\x68\x72\x5f\x75\x5f\x73\x68\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$5", $5)), "run", [])); // assert_return(() => call($5, "i64.no_fold_shr_u_shl", [int64("1")]), int64("0")) + +// int_exprs.wast:82 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xe1\x80\x80\x80\x00\x04\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x6d\x75\x6c\x00\x00\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x75\x5f\x6d\x75\x6c\x00\x01\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x6d\x75\x6c\x00\x02\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x75\x5f\x6d\x75\x6c\x00\x03\x0a\xbd\x80\x80\x80\x00\x04\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x06\x6d\x41\x06\x6c\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x06\x6e\x41\x06\x6c\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x06\x7f\x42\x06\x7e\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x06\x80\x42\x06\x7e\x0b"); + +// int_exprs.wast:94 +assert_return(() => call($6, "i32.no_fold_div_s_mul", [1]), 0); + +// int_exprs.wast:95 +assert_return(() => call($6, "i32.no_fold_div_u_mul", [1]), 0); + +// int_exprs.wast:96 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x36\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.no_fold_div_s_mul", [int64("1")]), int64("0")) + +// int_exprs.wast:97 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x36\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x75\x5f\x6d\x75\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$6", $6)), "run", [])); // assert_return(() => call($6, "i64.no_fold_div_u_mul", [int64("1")]), int64("0")) + +// int_exprs.wast:101 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xe5\x80\x80\x80\x00\x04\x16\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x73\x65\x6c\x66\x00\x00\x16\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x75\x5f\x73\x65\x6c\x66\x00\x01\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x73\x65\x6c\x66\x00\x02\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x75\x5f\x73\x65\x6c\x66\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x6e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x7f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x80\x0b"); + +// int_exprs.wast:113 +assert_trap(() => call($7, "i32.no_fold_div_s_self", [0])); + +// int_exprs.wast:114 +assert_trap(() => call($7, "i32.no_fold_div_u_self", [0])); + +// int_exprs.wast:115 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x37\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$7", $7)), "run", [])); // assert_trap(() => call($7, "i64.no_fold_div_s_self", [int64("0")])) + +// int_exprs.wast:116 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x37\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x75\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$7", $7)), "run", [])); // assert_trap(() => call($7, "i64.no_fold_div_u_self", [int64("0")])) + +// int_exprs.wast:120 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xe5\x80\x80\x80\x00\x04\x16\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x73\x5f\x73\x65\x6c\x66\x00\x00\x16\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x75\x5f\x73\x65\x6c\x66\x00\x01\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x73\x5f\x73\x65\x6c\x66\x00\x02\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x75\x5f\x73\x65\x6c\x66\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x6f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x70\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x81\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x20\x00\x82\x0b"); + +// int_exprs.wast:132 +assert_trap(() => call($8, "i32.no_fold_rem_s_self", [0])); + +// int_exprs.wast:133 +assert_trap(() => call($8, "i32.no_fold_rem_u_self", [0])); + +// int_exprs.wast:134 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x38\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x73\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_trap(() => call($8, "i64.no_fold_rem_s_self", [int64("0")])) + +// int_exprs.wast:135 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x38\x16\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x75\x5f\x73\x65\x6c\x66\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$8", $8)), "run", [])); // assert_trap(() => call($8, "i64.no_fold_rem_u_self", [int64("0")])) + +// int_exprs.wast:139 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xe1\x80\x80\x80\x00\x04\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x5f\x73\x00\x00\x15\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x5f\x75\x00\x01\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x5f\x73\x00\x02\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x5f\x75\x00\x03\x0a\xbd\x80\x80\x80\x00\x04\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x06\x6c\x41\x06\x6d\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x06\x6c\x41\x06\x6e\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x06\x7e\x42\x06\x7f\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x42\x06\x7e\x42\x06\x80\x0b"); + +// int_exprs.wast:151 +assert_return(() => call($9, "i32.no_fold_mul_div_s", [-2147483648]), 0); + +// int_exprs.wast:152 +assert_return(() => call($9, "i32.no_fold_mul_div_u", [-2147483648]), 0); + +// int_exprs.wast:153 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x39\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$9", $9)), "run", [])); // assert_return(() => call($9, "i64.no_fold_mul_div_s", [int64("-9223372036854775808")]), int64("0")) + +// int_exprs.wast:154 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x02\x24\x39\x15\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x6d\x75\x6c\x5f\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$9", $9)), "run", [])); // assert_return(() => call($9, "i64.no_fold_mul_div_u", [int64("-9223372036854775808")]), int64("0")) + +// int_exprs.wast:158 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x32\x00\x00\x13\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x32\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x41\x02\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x02\x7f\x0b"); + +// int_exprs.wast:166 +assert_return(() => call($10, "i32.no_fold_div_s_2", [-11]), -5); + +// int_exprs.wast:167 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x31\x30\x13\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x73\x5f\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x75\x10\x00\x01\x42\x7b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$10", $10)), "run", [])); // assert_return(() => call($10, "i64.no_fold_div_s_2", [int64("-11")]), int64("-5")) + +// int_exprs.wast:171 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xad\x80\x80\x80\x00\x02\x13\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x73\x5f\x32\x00\x00\x13\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x73\x5f\x32\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x41\x02\x6f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x02\x81\x0b"); + +// int_exprs.wast:179 +assert_return(() => call($11, "i32.no_fold_rem_s_2", [-11]), -1); + +// int_exprs.wast:180 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x03\x24\x31\x31\x13\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x72\x65\x6d\x5f\x73\x5f\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x75\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$11", $11)), "run", [])); // assert_return(() => call($11, "i64.no_fold_rem_s_2", [int64("-11")]), int64("-1")) + +// int_exprs.wast:184 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x73\x5f\x30\x00\x00\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x75\x5f\x30\x00\x01\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x30\x00\x02\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x30\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x00\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x00\x6e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x00\x7f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x00\x80\x0b"); + +// int_exprs.wast:196 +assert_trap(() => call($12, "i32.div_s_0", [71])); + +// int_exprs.wast:197 +assert_trap(() => call($12, "i32.div_u_0", [71])); + +// int_exprs.wast:198 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x32\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x0f\x0b\x00\x0b", exports("$12", $12)), "run", [])); // assert_trap(() => call($12, "i64.div_s_0", [int64("71")])) + +// int_exprs.wast:199 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x32\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x30\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x0f\x0b\x00\x0b", exports("$12", $12)), "run", [])); // assert_trap(() => call($12, "i64.div_u_0", [int64("71")])) + +// int_exprs.wast:203 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x73\x5f\x33\x00\x00\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x75\x5f\x33\x00\x01\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x33\x00\x02\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x33\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x03\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x03\x6e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x03\x7f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x03\x80\x0b"); + +// int_exprs.wast:215 +assert_return(() => call($13, "i32.div_s_3", [71]), 23); + +// int_exprs.wast:216 +assert_return(() => call($13, "i32.div_s_3", [1610612736]), 536870912); + +// int_exprs.wast:217 +assert_return(() => call($13, "i32.div_u_3", [71]), 23); + +// int_exprs.wast:218 +assert_return(() => call($13, "i32.div_u_3", [-1073741824]), 1073741824); + +// int_exprs.wast:219 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x33\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x17\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$13", $13)), "run", [])); // assert_return(() => call($13, "i64.div_s_3", [int64("71")]), int64("23")) + +// int_exprs.wast:220 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x33\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x30\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$13", $13)), "run", [])); // assert_return(() => call($13, "i64.div_s_3", [int64("3458764513820540928")]), int64("1152921504606846976")) + +// int_exprs.wast:221 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x33\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x17\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$13", $13)), "run", [])); // assert_return(() => call($13, "i64.div_u_3", [int64("71")]), int64("23")) + +// int_exprs.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x33\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\xc0\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$13", $13)), "run", [])); // assert_return(() => call($13, "i64.div_u_3", [int64("-4611686018427387904")]), int64("4611686018427387904")) + +// int_exprs.wast:226 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x73\x5f\x35\x00\x00\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x75\x5f\x35\x00\x01\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x35\x00\x02\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x35\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x05\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x05\x6e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x05\x7f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x05\x80\x0b"); + +// int_exprs.wast:238 +assert_return(() => call($14, "i32.div_s_5", [71]), 14); + +// int_exprs.wast:239 +assert_return(() => call($14, "i32.div_s_5", [1342177280]), 268435456); + +// int_exprs.wast:240 +assert_return(() => call($14, "i32.div_u_5", [71]), 14); + +// int_exprs.wast:241 +assert_return(() => call($14, "i32.div_u_5", [-1610612736]), 536870912); + +// int_exprs.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x34\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x0e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$14", $14)), "run", [])); // assert_return(() => call($14, "i64.div_s_5", [int64("71")]), int64("14")) + +// int_exprs.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x34\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xd0\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$14", $14)), "run", [])); // assert_return(() => call($14, "i64.div_s_5", [int64("5764607523034234880")]), int64("1152921504606846976")) + +// int_exprs.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x34\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x0e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$14", $14)), "run", [])); // assert_return(() => call($14, "i64.div_u_5", [int64("71")]), int64("14")) + +// int_exprs.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x34\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xa0\x7f\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x20\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$14", $14)), "run", [])); // assert_return(() => call($14, "i64.div_u_5", [int64("-6917529027641081856")]), int64("2305843009213693952")) + +// int_exprs.wast:249 +let $15 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x73\x5f\x37\x00\x00\x0b\x69\x33\x32\x2e\x64\x69\x76\x5f\x75\x5f\x37\x00\x01\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x37\x00\x02\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x37\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x07\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x07\x6e\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x07\x7f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x07\x80\x0b"); + +// int_exprs.wast:261 +assert_return(() => call($15, "i32.div_s_7", [71]), 10); + +// int_exprs.wast:262 +assert_return(() => call($15, "i32.div_s_7", [1879048192]), 268435456); + +// int_exprs.wast:263 +assert_return(() => call($15, "i32.div_u_7", [71]), 10); + +// int_exprs.wast:264 +assert_return(() => call($15, "i32.div_u_7", [-536870912]), 536870912); + +// int_exprs.wast:265 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x35\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x0a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return(() => call($15, "i64.div_s_7", [int64("71")]), int64("10")) + +// int_exprs.wast:266 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x35\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xaa\x80\x80\x80\x00\x01\xa4\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xf0\x00\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x10\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return(() => call($15, "i64.div_s_7", [int64("8070450532247928832")]), int64("1152921504606846976")) + +// int_exprs.wast:267 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x35\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x0a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return(() => call($15, "i64.div_u_7", [int64("71")]), int64("10")) + +// int_exprs.wast:268 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x35\x0b\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa9\x80\x80\x80\x00\x01\xa3\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x60\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x20\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$15", $15)), "run", [])); // assert_return(() => call($15, "i64.div_u_7", [int64("-2305843009213693952")]), int64("2305843009213693952")) + +// int_exprs.wast:272 +let $16 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x72\x65\x6d\x5f\x73\x5f\x33\x00\x00\x0b\x69\x33\x32\x2e\x72\x65\x6d\x5f\x75\x5f\x33\x00\x01\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x33\x00\x02\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x33\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x03\x6f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x03\x70\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x03\x81\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x03\x82\x0b"); + +// int_exprs.wast:284 +assert_return(() => call($16, "i32.rem_s_3", [71]), 2); + +// int_exprs.wast:285 +assert_return(() => call($16, "i32.rem_s_3", [1610612736]), 0); + +// int_exprs.wast:286 +assert_return(() => call($16, "i32.rem_u_3", [71]), 2); + +// int_exprs.wast:287 +assert_return(() => call($16, "i32.rem_u_3", [-1073741824]), 0); + +// int_exprs.wast:288 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x36\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return(() => call($16, "i64.rem_s_3", [int64("71")]), int64("2")) + +// int_exprs.wast:289 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x36\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x30\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return(() => call($16, "i64.rem_s_3", [int64("3458764513820540928")]), int64("0")) + +// int_exprs.wast:290 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x36\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return(() => call($16, "i64.rem_u_3", [int64("71")]), int64("2")) + +// int_exprs.wast:291 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x36\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x33\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$16", $16)), "run", [])); // assert_return(() => call($16, "i64.rem_u_3", [int64("-4611686018427387904")]), int64("0")) + +// int_exprs.wast:295 +let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x72\x65\x6d\x5f\x73\x5f\x35\x00\x00\x0b\x69\x33\x32\x2e\x72\x65\x6d\x5f\x75\x5f\x35\x00\x01\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x35\x00\x02\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x35\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x05\x6f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x05\x70\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x05\x81\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x05\x82\x0b"); + +// int_exprs.wast:307 +assert_return(() => call($17, "i32.rem_s_5", [71]), 1); + +// int_exprs.wast:308 +assert_return(() => call($17, "i32.rem_s_5", [1342177280]), 0); + +// int_exprs.wast:309 +assert_return(() => call($17, "i32.rem_u_5", [71]), 1); + +// int_exprs.wast:310 +assert_return(() => call($17, "i32.rem_u_5", [-1610612736]), 0); + +// int_exprs.wast:311 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x37\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "i64.rem_s_5", [int64("71")]), int64("1")) + +// int_exprs.wast:312 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x37\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xd0\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "i64.rem_s_5", [int64("5764607523034234880")]), int64("0")) + +// int_exprs.wast:313 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x37\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "i64.rem_u_5", [int64("71")]), int64("1")) + +// int_exprs.wast:314 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x37\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x35\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xa0\x7f\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$17", $17)), "run", [])); // assert_return(() => call($17, "i64.rem_u_5", [int64("-6917529027641081856")]), int64("0")) + +// int_exprs.wast:318 +let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xb9\x80\x80\x80\x00\x04\x0b\x69\x33\x32\x2e\x72\x65\x6d\x5f\x73\x5f\x37\x00\x00\x0b\x69\x33\x32\x2e\x72\x65\x6d\x5f\x75\x5f\x37\x00\x01\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x37\x00\x02\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x37\x00\x03\x0a\xb1\x80\x80\x80\x00\x04\x87\x80\x80\x80\x00\x00\x20\x00\x41\x07\x6f\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x41\x07\x70\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x07\x81\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x07\x82\x0b"); + +// int_exprs.wast:330 +assert_return(() => call($18, "i32.rem_s_7", [71]), 1); + +// int_exprs.wast:331 +assert_return(() => call($18, "i32.rem_s_7", [1879048192]), 0); + +// int_exprs.wast:332 +assert_return(() => call($18, "i32.rem_u_7", [71]), 1); + +// int_exprs.wast:333 +assert_return(() => call($18, "i32.rem_u_7", [-536870912]), 0); + +// int_exprs.wast:334 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "i64.rem_s_7", [int64("71")]), int64("1")) + +// int_exprs.wast:335 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\xf0\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "i64.rem_s_7", [int64("8070450532247928832")]), int64("0")) + +// int_exprs.wast:336 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\xc7\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "i64.rem_u_7", [int64("71")]), int64("1")) + +// int_exprs.wast:337 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x31\x38\x0b\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x5f\x37\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x60\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$18", $18)), "run", [])); // assert_return(() => call($18, "i64.rem_u_7", [int64("-2305843009213693952")]), int64("0")) + +// int_exprs.wast:341 +let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\xaf\x80\x80\x80\x00\x02\x14\x69\x33\x32\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x00\x14\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x01\x0a\x99\x80\x80\x80\x00\x02\x87\x80\x80\x80\x00\x00\x20\x00\x41\x7f\x6d\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x42\x7f\x7f\x0b"); + +// int_exprs.wast:349 +assert_trap(() => call($19, "i32.no_fold_div_neg1", [-2147483648])); + +// int_exprs.wast:350 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x9c\x80\x80\x80\x00\x01\x03\x24\x31\x39\x14\x69\x36\x34\x2e\x6e\x6f\x5f\x66\x6f\x6c\x64\x5f\x64\x69\x76\x5f\x6e\x65\x67\x31\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$19", $19)), "run", [])); // assert_trap(() => call($19, "i64.no_fold_div_neg1", [int64("-9223372036854775808")])) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/int_literals.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/int_literals.wast.js new file mode 100644 index 0000000000..60ae9db615 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/int_literals.wast.js @@ -0,0 +1,69 @@ + +// int_literals.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x00\x01\x7e\x03\x97\x80\x80\x80\x00\x16\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\xbf\x82\x80\x80\x00\x16\x08\x69\x33\x32\x2e\x74\x65\x73\x74\x00\x00\x08\x69\x33\x32\x2e\x75\x6d\x61\x78\x00\x01\x08\x69\x33\x32\x2e\x73\x6d\x61\x78\x00\x02\x0c\x69\x33\x32\x2e\x6e\x65\x67\x5f\x73\x6d\x61\x78\x00\x03\x08\x69\x33\x32\x2e\x73\x6d\x69\x6e\x00\x04\x0c\x69\x33\x32\x2e\x61\x6c\x74\x5f\x73\x6d\x69\x6e\x00\x05\x0c\x69\x33\x32\x2e\x69\x6e\x63\x5f\x73\x6d\x69\x6e\x00\x06\x0c\x69\x33\x32\x2e\x6e\x65\x67\x5f\x7a\x65\x72\x6f\x00\x07\x0d\x69\x33\x32\x2e\x6e\x6f\x74\x5f\x6f\x63\x74\x61\x6c\x00\x08\x14\x69\x33\x32\x2e\x75\x6e\x73\x69\x67\x6e\x65\x64\x5f\x64\x65\x63\x69\x6d\x61\x6c\x00\x09\x0d\x69\x33\x32\x2e\x70\x6c\x75\x73\x5f\x73\x69\x67\x6e\x00\x0a\x08\x69\x36\x34\x2e\x74\x65\x73\x74\x00\x0b\x08\x69\x36\x34\x2e\x75\x6d\x61\x78\x00\x0c\x08\x69\x36\x34\x2e\x73\x6d\x61\x78\x00\x0d\x0c\x69\x36\x34\x2e\x6e\x65\x67\x5f\x73\x6d\x61\x78\x00\x0e\x08\x69\x36\x34\x2e\x73\x6d\x69\x6e\x00\x0f\x0c\x69\x36\x34\x2e\x61\x6c\x74\x5f\x73\x6d\x69\x6e\x00\x10\x0c\x69\x36\x34\x2e\x69\x6e\x63\x5f\x73\x6d\x69\x6e\x00\x11\x0c\x69\x36\x34\x2e\x6e\x65\x67\x5f\x7a\x65\x72\x6f\x00\x12\x0d\x69\x36\x34\x2e\x6e\x6f\x74\x5f\x6f\x63\x74\x61\x6c\x00\x13\x14\x69\x36\x34\x2e\x75\x6e\x73\x69\x67\x6e\x65\x64\x5f\x64\x65\x63\x69\x6d\x61\x6c\x00\x14\x0d\x69\x36\x34\x2e\x70\x6c\x75\x73\x5f\x73\x69\x67\x6e\x00\x15\x0a\xb0\x82\x80\x80\x00\x16\x89\x80\x80\x80\x00\x00\x41\x8d\xa0\xb7\xdd\x00\x0f\x0b\x85\x80\x80\x80\x00\x00\x41\x7f\x0f\x0b\x89\x80\x80\x80\x00\x00\x41\xff\xff\xff\xff\x07\x0f\x0b\x89\x80\x80\x80\x00\x00\x41\x81\x80\x80\x80\x78\x0f\x0b\x89\x80\x80\x80\x00\x00\x41\x80\x80\x80\x80\x78\x0f\x0b\x89\x80\x80\x80\x00\x00\x41\x80\x80\x80\x80\x78\x0f\x0b\x8c\x80\x80\x80\x00\x00\x41\x80\x80\x80\x80\x78\x41\x01\x6a\x0f\x0b\x85\x80\x80\x80\x00\x00\x41\x00\x0f\x0b\x85\x80\x80\x80\x00\x00\x41\x0a\x0f\x0b\x85\x80\x80\x80\x00\x00\x41\x7f\x0f\x0b\x85\x80\x80\x80\x00\x00\x41\x2a\x0f\x0b\x8d\x80\x80\x80\x00\x00\x42\xee\xd4\x99\xdd\xe0\xcd\xee\xd5\x0c\x0f\x0b\x85\x80\x80\x80\x00\x00\x42\x7f\x0f\x0b\x8e\x80\x80\x80\x00\x00\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x0f\x0b\x8e\x80\x80\x80\x00\x00\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x0f\x0b\x8e\x80\x80\x80\x00\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x0f\x0b\x8e\x80\x80\x80\x00\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x0f\x0b\x91\x80\x80\x80\x00\x00\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x42\x01\x7c\x0f\x0b\x85\x80\x80\x80\x00\x00\x42\x00\x0f\x0b\x85\x80\x80\x80\x00\x00\x42\x0a\x0f\x0b\x85\x80\x80\x80\x00\x00\x42\x7f\x0f\x0b\x85\x80\x80\x80\x00\x00\x42\x2a\x0f\x0b"); + +// int_literals.wast:27 +assert_return(() => call($1, "i32.test", []), 195940365); + +// int_literals.wast:28 +assert_return(() => call($1, "i32.umax", []), -1); + +// int_literals.wast:29 +assert_return(() => call($1, "i32.smax", []), 2147483647); + +// int_literals.wast:30 +assert_return(() => call($1, "i32.neg_smax", []), -2147483647); + +// int_literals.wast:31 +assert_return(() => call($1, "i32.smin", []), -2147483648); + +// int_literals.wast:32 +assert_return(() => call($1, "i32.alt_smin", []), -2147483648); + +// int_literals.wast:33 +assert_return(() => call($1, "i32.inc_smin", []), -2147483647); + +// int_literals.wast:34 +assert_return(() => call($1, "i32.neg_zero", []), 0); + +// int_literals.wast:35 +assert_return(() => call($1, "i32.not_octal", []), 10); + +// int_literals.wast:36 +assert_return(() => call($1, "i32.unsigned_decimal", []), -1); + +// int_literals.wast:37 +assert_return(() => call($1, "i32.plus_sign", []), 42); + +// int_literals.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x2e\x74\x65\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xee\xd4\x99\xdd\xe0\xcd\xee\xd5\x0c\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.test", []), int64("913028331277281902")) + +// int_literals.wast:40 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x2e\x75\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.umax", []), int64("-1")) + +// int_literals.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x2e\x73\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.smax", []), int64("9223372036854775807")) + +// int_literals.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x2e\x6e\x65\x67\x5f\x73\x6d\x61\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.neg_smax", []), int64("-9223372036854775807")) + +// int_literals.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x69\x36\x34\x2e\x73\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.smin", []), int64("-9223372036854775808")) + +// int_literals.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x2e\x61\x6c\x74\x5f\x73\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x80\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.alt_smin", []), int64("-9223372036854775808")) + +// int_literals.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x2e\x69\x6e\x63\x5f\x73\x6d\x69\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa0\x80\x80\x80\x00\x01\x9a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x81\x80\x80\x80\x80\x80\x80\x80\x80\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.inc_smin", []), int64("-9223372036854775807")) + +// int_literals.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x31\x0c\x69\x36\x34\x2e\x6e\x65\x67\x5f\x7a\x65\x72\x6f\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.neg_zero", []), int64("0")) + +// int_literals.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x02\x24\x31\x0d\x69\x36\x34\x2e\x6e\x6f\x74\x5f\x6f\x63\x74\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x0a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.not_octal", []), int64("10")) + +// int_literals.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x9b\x80\x80\x80\x00\x01\x02\x24\x31\x14\x69\x36\x34\x2e\x75\x6e\x73\x69\x67\x6e\x65\x64\x5f\x64\x65\x63\x69\x6d\x61\x6c\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.unsigned_decimal", []), int64("-1")) + +// int_literals.wast:49 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x02\x24\x31\x0d\x69\x36\x34\x2e\x70\x6c\x75\x73\x5f\x73\x69\x67\x6e\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x2a\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "i64.plus_sign", []), int64("42")) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/jsapi.js b/implementation-contributed/javascriptcore/wasm/spec-tests/jsapi.js new file mode 100644 index 0000000000..179e4fe975 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/jsapi.js @@ -0,0 +1,792 @@ +/* + * Copyright 2017 WebAssembly Community Group participants + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +(function testJSAPI() { + +const WasmPage = 64 * 1024; + +const emptyModuleBinary = new WasmModuleBuilder().toBuffer(); + +const importingModuleBinary = (() => { + let builder = new WasmModuleBuilder(); + + builder.addImport('', 'f', kSig_v_v); + + return builder.toBuffer(); +})(); + +const complexImportingModuleBinary = (() => { + let builder = new WasmModuleBuilder(); + + builder.addImport('a', 'b', kSig_v_v); + builder.addImportedMemory('c', 'd', 1); + builder.addImportedTable('e', 'f', 1); + builder.addImportedGlobal('g', '⚡', kWasmI32); + + return builder.toBuffer(); +})(); + +const exportingModuleBinary = (() => { + let builder = new WasmModuleBuilder(); + + builder + .addFunction('f', kSig_i_v) + .addBody([ + kExprI32Const, + 42 + ]) + .exportFunc(); + + return builder.toBuffer(); +})(); + +const complexExportingModuleBinary = (() => { + let builder = new WasmModuleBuilder(); + + builder + .addFunction('a', kSig_v_v) + .addBody([]) + .exportFunc(); + + builder.addMemory(1, 1, /* exported */ false); + builder.exportMemoryAs('b'); + + builder.setFunctionTableLength(1); + builder.addExportOfKind('c', kExternalTable, 0); + + // Default init for global values is 0. Keep that. + builder.addGlobal(kWasmI32, /* mutable */ false) + .exportAs("⚡"); + + return builder.toBuffer(); +})(); + +const moduleBinaryImporting2Memories = (() => { + var builder = new WasmModuleBuilder(); + builder.addImportedMemory("", "memory1"); + builder.addImportedMemory("", "memory2"); + return builder.toBuffer(); +})(); + +const moduleBinaryWithMemSectionAndMemImport = (() => { + var builder = new WasmModuleBuilder(); + builder.addMemory(1, 1, false); + builder.addImportedMemory("", "memory1"); + return builder.toBuffer(); +})(); + +let Module; +let Instance; +let CompileError; +let LinkError; +let RuntimeError; +let Memory; +let instanceProto; +let memoryProto; +let mem1; +let Table; +let tbl1; +let tableProto; + +let emptyModule; +let exportingModule; +let exportingInstance; +let exportsObj; +let importingModule; + +// Start of tests. + +test(() => { + const wasmDesc = Object.getOwnPropertyDescriptor(this, 'WebAssembly'); + assert_equals(typeof wasmDesc.value, "object"); + assert_true(wasmDesc.writable); + assert_false(wasmDesc.enumerable); + assert_true(wasmDesc.configurable); +}, "'WebAssembly' data property on global object"); + +test(() => { + const wasmDesc = Object.getOwnPropertyDescriptor(this, 'WebAssembly'); + assert_equals(WebAssembly, wasmDesc.value); + assert_equals(String(WebAssembly), "[object WebAssembly]"); +}, "'WebAssembly' object"); + +test(() => { + const compileErrorDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'CompileError'); + const linkErrorDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'LinkError'); + const runtimeErrorDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'RuntimeError'); + assert_equals(typeof compileErrorDesc.value, "function"); + assert_equals(typeof linkErrorDesc.value, "function"); + assert_equals(typeof runtimeErrorDesc.value, "function"); + assert_equals(compileErrorDesc.writable, true); + assert_equals(linkErrorDesc.writable, true); + assert_equals(runtimeErrorDesc.writable, true); + assert_equals(compileErrorDesc.enumerable, false); + assert_equals(linkErrorDesc.enumerable, false); + assert_equals(runtimeErrorDesc.enumerable, false); + assert_equals(compileErrorDesc.configurable, true); + assert_equals(linkErrorDesc.configurable, true); + assert_equals(runtimeErrorDesc.configurable, true); + + CompileError = WebAssembly.CompileError; + LinkError = WebAssembly.LinkError; + RuntimeError = WebAssembly.RuntimeError; +}, "'WebAssembly.(Compile|Link|Runtime)Error' data property"); + +test(() => { + const compileErrorDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'CompileError'); + const linkErrorDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'LinkError'); + const runtimeErrorDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'RuntimeError'); + assert_equals(CompileError, compileErrorDesc.value); + assert_equals(LinkError, linkErrorDesc.value); + assert_equals(RuntimeError, runtimeErrorDesc.value); + assert_equals(CompileError.length, 1); + assert_equals(LinkError.length, 1); + assert_equals(RuntimeError.length, 1); + assert_equals(CompileError.name, "CompileError"); + assert_equals(LinkError.name, "LinkError"); + assert_equals(RuntimeError.name, "RuntimeError"); +}, "'WebAssembly.(Compile|Runtime)Error' constructor function"); + +test(() => { + const compileError = new CompileError; + const runtimeError = new RuntimeError; + assert_equals(compileError instanceof CompileError, true); + assert_equals(runtimeError instanceof RuntimeError, true); + assert_equals(compileError instanceof Error, true); + assert_equals(runtimeError instanceof Error, true); + assert_equals(compileError instanceof TypeError, false); + assert_equals(runtimeError instanceof TypeError, false); + assert_equals(compileError.message, ""); + assert_equals(runtimeError.message, ""); +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173159 assert_equals(new CompileError("hi").message, "hi"); +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173159 assert_equals(new RuntimeError("hi").message, "hi"); +}, "'WebAssembly.(Compile|Runtime)Error' instance objects"); + +test(() => { + const moduleDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Module'); + assert_equals(typeof moduleDesc.value, "function"); + assert_equals(moduleDesc.writable, true); + assert_equals(moduleDesc.enumerable, false); + assert_equals(moduleDesc.configurable, true); + Module = WebAssembly.Module; +}, "'WebAssembly.Module' data property"); + +test(() => { + const moduleDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Module'); + assert_equals(Module, moduleDesc.value); + assert_equals(Module.length, 1); + assert_equals(Module.name, "Module"); + assertThrows(() => Module(), TypeError); + assertThrows(() => new Module(), TypeError); + assertThrows(() => new Module(undefined), TypeError); + assertThrows(() => new Module(1), TypeError); + assertThrows(() => new Module({}), TypeError); + assertThrows(() => new Module(new Uint8Array()), CompileError); + assertThrows(() => new Module(new ArrayBuffer()), CompileError); + assert_equals(new Module(emptyModuleBinary) instanceof Module, true); + assert_equals(new Module(new Uint8Array(emptyModuleBinary)) instanceof Module, true); +}, "'WebAssembly.Module' constructor function"); + +test(() => { + const moduleProtoDesc = Object.getOwnPropertyDescriptor(Module, 'prototype'); + assert_equals(typeof moduleProtoDesc.value, "object"); + assert_equals(moduleProtoDesc.writable, false); + assert_equals(moduleProtoDesc.enumerable, false); + assert_equals(moduleProtoDesc.configurable, false); +}, "'WebAssembly.Module.prototype' data property"); + +test(() => { + const moduleProtoDesc = Object.getOwnPropertyDescriptor(Module, 'prototype'); + const moduleProto = Module.prototype; + assert_equals(moduleProto, moduleProtoDesc.value); + assert_equals(String(moduleProto), "[object WebAssembly.Module]"); + assert_equals(Object.getPrototypeOf(moduleProto), Object.prototype); +}, "'WebAssembly.Module.prototype' object"); + +test(() => { + const moduleProto = Module.prototype; + emptyModule = new Module(emptyModuleBinary); + exportingModule = new Module(exportingModuleBinary); + importingModule = new Module(importingModuleBinary); + assert_equals(typeof emptyModule, "object"); + assert_equals(String(emptyModule), "[object WebAssembly.Module]"); + assert_equals(Object.getPrototypeOf(emptyModule), moduleProto); +}, "'WebAssembly.Module' instance objects"); + +test(() => { + const moduleImportsDesc = Object.getOwnPropertyDescriptor(Module, 'imports'); + assert_equals(typeof moduleImportsDesc.value, "function"); + assert_equals(moduleImportsDesc.writable, true); + assert_equals(moduleImportsDesc.enumerable, false); + assert_equals(moduleImportsDesc.configurable, true); +}, "'WebAssembly.Module.imports' data property"); + +test(() => { + const moduleImportsDesc = Object.getOwnPropertyDescriptor(Module, 'imports'); + const moduleImports = moduleImportsDesc.value; + assert_equals(moduleImports.length, 1); + assertThrows(() => moduleImports(), TypeError); + assertThrows(() => moduleImports(undefined), TypeError); + assertThrows(() => moduleImports({}), TypeError); + var arr = moduleImports(emptyModule); + assert_equals(arr instanceof Array, true); + assert_equals(arr.length, 0); + var arr = moduleImports(new Module(complexImportingModuleBinary)); + assert_equals(arr instanceof Array, true); + assert_equals(arr.length, 4); + assert_equals(arr[0].kind, "function"); + assert_equals(arr[0].module, "a"); + assert_equals(arr[0].name, "b"); + assert_equals(arr[1].kind, "memory"); + assert_equals(arr[1].module, "c"); + assert_equals(arr[1].name, "d"); + assert_equals(arr[2].kind, "table"); + assert_equals(arr[2].module, "e"); + assert_equals(arr[2].name, "f"); + assert_equals(arr[3].kind, "global"); + assert_equals(arr[3].module, "g"); + assert_equals(arr[3].name, "⚡"); +}, "'WebAssembly.Module.imports' method"); + +test(() => { + const moduleExportsDesc = Object.getOwnPropertyDescriptor(Module, 'exports'); + assert_equals(typeof moduleExportsDesc.value, "function"); + assert_equals(moduleExportsDesc.writable, true); + assert_equals(moduleExportsDesc.enumerable, false); + assert_equals(moduleExportsDesc.configurable, true); +}, "'WebAssembly.Module.exports' data property"); + +test(() => { + const moduleExportsDesc = Object.getOwnPropertyDescriptor(Module, 'exports'); + const moduleExports = moduleExportsDesc.value; + assert_equals(moduleExports.length, 1); + assertThrows(() => moduleExports(), TypeError); + assertThrows(() => moduleExports(undefined), TypeError); + assertThrows(() => moduleExports({}), TypeError); + var arr = moduleExports(emptyModule); + assert_equals(arr instanceof Array, true); + assert_equals(arr.length, 0); + var arr = moduleExports(new Module(complexExportingModuleBinary)); + assert_equals(arr instanceof Array, true); + assert_equals(arr.length, 4); + assert_equals(arr[0].kind, "function"); + assert_equals(arr[0].name, "a"); + assert_equals(arr[1].kind, "memory"); + assert_equals(arr[1].name, "b"); + assert_equals(arr[2].kind, "table"); + assert_equals(arr[2].name, "c"); + assert_equals(arr[3].kind, "global"); + assert_equals(arr[3].name, "⚡"); +}, "'WebAssembly.Module.exports' method"); + +test(() => { + const customSectionsDesc = Object.getOwnPropertyDescriptor(Module, 'customSections'); + assert_equals(typeof customSectionsDesc.value, "function"); + assert_equals(customSectionsDesc.writable, true); + assert_equals(customSectionsDesc.enumerable, false); + assert_equals(customSectionsDesc.configurable, true); +}, "'WebAssembly.Module.customSections' data property"); + +test(() => { + const customSectionsDesc = Object.getOwnPropertyDescriptor(Module, 'customSections'); + const moduleCustomSections = customSectionsDesc.value; + assert_equals(moduleCustomSections.length, 2); + assertThrows(() => moduleCustomSections(), TypeError); + assertThrows(() => moduleCustomSections(undefined), TypeError); + assertThrows(() => moduleCustomSections({}), TypeError); + var arr = moduleCustomSections(emptyModule); + assert_equals(arr instanceof Array, true); + assert_equals(arr.length, 0); +}, "'WebAssembly.Module.customSections' method"); + +test(() => { + const instanceDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Instance'); + assert_equals(typeof instanceDesc.value, "function"); + assert_equals(instanceDesc.writable, true); + assert_equals(instanceDesc.enumerable, false); + assert_equals(instanceDesc.configurable, true); + Instance = WebAssembly.Instance; +}, "'WebAssembly.Instance' data property"); + +test(() => { + const instanceDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Instance'); + assert_equals(Instance, instanceDesc.value); + assert_equals(Instance.length, 1); + assert_equals(Instance.name, "Instance"); + assertThrows(() => Instance(), TypeError); + assertThrows(() => new Instance(1), TypeError); + assertThrows(() => new Instance({}), TypeError); + assertThrows(() => new Instance(emptyModule, null), TypeError); + assertThrows(() => new Instance(importingModule, null), TypeError); + assertThrows(() => new Instance(importingModule, undefined), TypeError); + assertThrows(() => new Instance(importingModule, {}), TypeError); + assertThrows(() => new Instance(importingModule, {"":{g:()=>{}}}), LinkError); + assertThrows(() => new Instance(importingModule, {t:{f:()=>{}}}), TypeError); + assert_equals(new Instance(emptyModule) instanceof Instance, true); + assert_equals(new Instance(emptyModule, {}) instanceof Instance, true); +}, "'WebAssembly.Instance' constructor function"); + +test(() => { + const instanceProtoDesc = Object.getOwnPropertyDescriptor(Instance, 'prototype'); + assert_equals(typeof instanceProtoDesc.value, "object"); + assert_equals(instanceProtoDesc.writable, false); + assert_equals(instanceProtoDesc.enumerable, false); + assert_equals(instanceProtoDesc.configurable, false); +}, "'WebAssembly.Instance.prototype' data property"); + +test(() => { + instanceProto = Instance.prototype; + const instanceProtoDesc = Object.getOwnPropertyDescriptor(Instance, 'prototype'); + assert_equals(instanceProto, instanceProtoDesc.value); + assert_equals(String(instanceProto), "[object WebAssembly.Instance]"); + assert_equals(Object.getPrototypeOf(instanceProto), Object.prototype); +}, "'WebAssembly.Instance.prototype' object"); + +test(() => { + const instanceProto = Instance.prototype; + exportingInstance = new Instance(exportingModule); + assert_equals(typeof exportingInstance, "object"); + assert_equals(String(exportingInstance), "[object WebAssembly.Instance]"); + assert_equals(Object.getPrototypeOf(exportingInstance), instanceProto); +}, "'WebAssembly.Instance' instance objects"); + +test(() => { + const exportsDesc = Object.getOwnPropertyDescriptor(instanceProto, 'exports'); + assert_equals(typeof exportsDesc.get, "function"); + assert_equals(exportsDesc.set, undefined); + assert_equals(exportsDesc.enumerable, false); + assert_equals(exportsDesc.configurable, true); + const exportsGetter = exportsDesc.get; + assertThrows(() => exportsGetter.call(), TypeError); + assertThrows(() => exportsGetter.call({}), TypeError); + assert_equals(typeof exportsGetter.call(exportingInstance), "object"); +}, "'WebAssembly.Instance.prototype.exports' accessor property"); + +test(() => { + exportsObj = exportingInstance.exports; + assert_equals(typeof exportsObj, "object"); + assert_equals(Object.isExtensible(exportsObj), false); + assert_equals(Object.getPrototypeOf(exportsObj), null); + assert_equals(Object.keys(exportsObj).join(), "f"); + exportsObj.g = 1; + assert_equals(Object.keys(exportsObj).join(), "f"); + assertThrows(() => Object.setPrototypeOf(exportsObj, {}), TypeError); + assert_equals(Object.getPrototypeOf(exportsObj), null); + assertThrows(() => Object.defineProperty(exportsObj, 'g', {}), TypeError); + assert_equals(Object.keys(exportsObj).join(), "f"); +}, "exports object"); + +test(() => { + const f = exportsObj.f; + assert_equals(f instanceof Function, true); + assert_equals(f.length, 0); + assert_equals('name' in f, true); + assert_equals(Function.prototype.call.call(f), 42); + assertThrows(() => new f(), TypeError); +}, "Exported WebAssembly functions"); + +test(() => { + const memoryDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Memory'); + assert_equals(typeof memoryDesc.value, "function"); + assert_equals(memoryDesc.writable, true); + assert_equals(memoryDesc.enumerable, false); + assert_equals(memoryDesc.configurable, true); + Memory = WebAssembly.Memory; +}, "'WebAssembly.Memory' data property"); + +test(() => { + const memoryDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Memory'); + assert_equals(Memory, memoryDesc.value); + assert_equals(Memory.length, 1); + assert_equals(Memory.name, "Memory"); + assertThrows(() => Memory(), TypeError); + assertThrows(() => new Memory(1), TypeError); + assertThrows(() => new Memory({initial:{valueOf() { throw new Error("here")}}}), Error); + assertThrows(() => new Memory({initial:-1}), RangeError); + assertThrows(() => new Memory({initial:Math.pow(2,32)}), RangeError); + assertThrows(() => new Memory({initial:1, maximum: Math.pow(2,32)/Math.pow(2,14) }), RangeError); + assertThrows(() => new Memory({initial:2, maximum:1 }), RangeError); + assertThrows(() => new Memory({maximum: -1 }), RangeError); + assert_equals(new Memory({initial:1}) instanceof Memory, true); + assert_equals(new Memory({initial:1.5}).buffer.byteLength, WasmPage); +}, "'WebAssembly.Memory' constructor function"); + +test(() => { + const memoryProtoDesc = Object.getOwnPropertyDescriptor(Memory, 'prototype'); + assert_equals(typeof memoryProtoDesc.value, "object"); + assert_equals(memoryProtoDesc.writable, false); + assert_equals(memoryProtoDesc.enumerable, false); + assert_equals(memoryProtoDesc.configurable, false); +}, "'WebAssembly.Memory.prototype' data property"); + +test(() => { + memoryProto = Memory.prototype; + const memoryProtoDesc = Object.getOwnPropertyDescriptor(Memory, 'prototype'); + assert_equals(memoryProto, memoryProtoDesc.value); + assert_equals(String(memoryProto), "[object WebAssembly.Memory]"); + assert_equals(Object.getPrototypeOf(memoryProto), Object.prototype); +}, "'WebAssembly.Memory.prototype' object"); + +test(() => { + mem1 = new Memory({initial:1}); + assert_equals(typeof mem1, "object"); + assert_equals(String(mem1), "[object WebAssembly.Memory]"); + assert_equals(Object.getPrototypeOf(mem1), memoryProto); +}, "'WebAssembly.Memory' instance objects"); + +test(() => { + const bufferDesc = Object.getOwnPropertyDescriptor(memoryProto, 'buffer'); + assert_equals(typeof bufferDesc.get, "function"); + assert_equals(bufferDesc.set, undefined); + assert_equals(bufferDesc.enumerable, false); + assert_equals(bufferDesc.configurable, true); +}, "'WebAssembly.Memory.prototype.buffer' accessor property"); + +test(() => { + const bufferDesc = Object.getOwnPropertyDescriptor(memoryProto, 'buffer'); + const bufferGetter = bufferDesc.get; + assertThrows(() => bufferGetter.call(), TypeError); + assertThrows(() => bufferGetter.call({}), TypeError); + assert_equals(bufferGetter.call(mem1) instanceof ArrayBuffer, true); + assert_equals(bufferGetter.call(mem1).byteLength, WasmPage); +}, "'WebAssembly.Memory.prototype.buffer' getter"); + +test(() => { + const memGrowDesc = Object.getOwnPropertyDescriptor(memoryProto, 'grow'); + assert_equals(typeof memGrowDesc.value, "function"); + assert_equals(memGrowDesc.enumerable, false); + assert_equals(memGrowDesc.configurable, true); +}, "'WebAssembly.Memory.prototype.grow' data property"); + +test(() => { + const memGrowDesc = Object.getOwnPropertyDescriptor(memoryProto, 'grow'); + const memGrow = memGrowDesc.value; + assert_equals(memGrow.length, 1); + assertThrows(() => memGrow.call(), TypeError); + assertThrows(() => memGrow.call({}), TypeError); + assertThrows(() => memGrow.call(mem1, -1), RangeError); + assertThrows(() => memGrow.call(mem1, Math.pow(2,32)), RangeError); + var mem = new Memory({initial:1, maximum:2}); + var buf = mem.buffer; + assert_equals(buf.byteLength, WasmPage); + assert_equals(mem.grow(0), 1); + assert_equals(buf !== mem.buffer, true); + assert_equals(buf.byteLength, 0); + buf = mem.buffer; + assert_equals(buf.byteLength, WasmPage); + assert_equals(mem.grow(1), 1); + assert_equals(buf !== mem.buffer, true); + assert_equals(buf.byteLength, 0); + buf = mem.buffer; + assert_equals(buf.byteLength, 2 * WasmPage); + assertThrows(() => mem.grow(1), Error); + assert_equals(buf, mem.buffer); +}, "'WebAssembly.Memory.prototype.grow' method"); + +test(() => { + const tableDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Table'); + assert_equals(typeof tableDesc.value, "function"); + assert_equals(tableDesc.writable, true); + assert_equals(tableDesc.enumerable, false); + assert_equals(tableDesc.configurable, true); + Table = WebAssembly.Table; +}, "'WebAssembly.Table' data property"); + +test(() => { + const tableDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'Table'); + assert_equals(Table, tableDesc.value); + assert_equals(Table.length, 1); + assert_equals(Table.name, "Table"); + assertThrows(() => Table(), TypeError); + assertThrows(() => new Table(1), TypeError); + assertThrows(() => new Table({initial:1, element:1}), TypeError); + assertThrows(() => new Table({initial:1, element:"any"}), TypeError); + assertThrows(() => new Table({initial:1, element:{valueOf() { return "anyfunc" }}}), TypeError); + assertThrows(() => new Table({initial:{valueOf() { throw new Error("here")}}, element:"anyfunc"}), Error); + assertThrows(() => new Table({initial:-1, element:"anyfunc"}), RangeError); + assertThrows(() => new Table({initial:Math.pow(2,32), element:"anyfunc"}), RangeError); + assertThrows(() => new Table({initial:2, maximum:1, element:"anyfunc"}), RangeError); + assertThrows(() => new Table({initial:2, maximum:Math.pow(2,32), element:"anyfunc"}), RangeError); + assert_equals(new Table({initial:1, element:"anyfunc"}) instanceof Table, true); + assert_equals(new Table({initial:1.5, element:"anyfunc"}) instanceof Table, true); + assert_equals(new Table({initial:1, maximum:1.5, element:"anyfunc"}) instanceof Table, true); + assert_equals(new Table({initial:1, maximum:Math.pow(2,32)-1, element:"anyfunc"}) instanceof Table, true); +}, "'WebAssembly.Table' constructor function"); + +test(() => { + const tableProtoDesc = Object.getOwnPropertyDescriptor(Table, 'prototype'); + assert_equals(typeof tableProtoDesc.value, "object"); + assert_equals(tableProtoDesc.writable, false); + assert_equals(tableProtoDesc.enumerable, false); + assert_equals(tableProtoDesc.configurable, false); +}, "'WebAssembly.Table.prototype' data property"); + +test(() => { + const tableProtoDesc = Object.getOwnPropertyDescriptor(Table, 'prototype'); + tableProto = Table.prototype; + assert_equals(tableProto, tableProtoDesc.value); + assert_equals(String(tableProto), "[object WebAssembly.Table]"); + assert_equals(Object.getPrototypeOf(tableProto), Object.prototype); +}, "'WebAssembly.Table.prototype' object"); + +test(() => { + tbl1 = new Table({initial:2, element:"anyfunc"}); + assert_equals(typeof tbl1, "object"); + assert_equals(String(tbl1), "[object WebAssembly.Table]"); + assert_equals(Object.getPrototypeOf(tbl1), tableProto); +}, "'WebAssembly.Table' instance objects"); + +test(() => { + const lengthDesc = Object.getOwnPropertyDescriptor(tableProto, 'length'); + assert_equals(typeof lengthDesc.get, "function"); + assert_equals(lengthDesc.set, undefined); + assert_equals(lengthDesc.enumerable, false); + assert_equals(lengthDesc.configurable, true); +}, "'WebAssembly.Table.prototype.length' accessor data property"); + +test(() => { + const lengthDesc = Object.getOwnPropertyDescriptor(tableProto, 'length'); + const lengthGetter = lengthDesc.get; + assert_equals(lengthGetter.length, 0); + assertThrows(() => lengthGetter.call(), TypeError); + assertThrows(() => lengthGetter.call({}), TypeError); + assert_equals(typeof lengthGetter.call(tbl1), "number"); + assert_equals(lengthGetter.call(tbl1), 2); +}, "'WebAssembly.Table.prototype.length' getter"); + +test(() => { + const getDesc = Object.getOwnPropertyDescriptor(tableProto, 'get'); + assert_equals(typeof getDesc.value, "function"); + assert_equals(getDesc.enumerable, false); + assert_equals(getDesc.configurable, true); +}, "'WebAssembly.Table.prototype.get' data property"); + +test(() => { + const getDesc = Object.getOwnPropertyDescriptor(tableProto, 'get'); + const get = getDesc.value; + assert_equals(get.length, 1); + assertThrows(() => get.call(), TypeError); + assertThrows(() => get.call({}), TypeError); + assert_equals(get.call(tbl1, 0), null); + assert_equals(get.call(tbl1, 1), null); + assert_equals(get.call(tbl1, 1.5), null); + assertThrows(() => get.call(tbl1, 2), RangeError); + assertThrows(() => get.call(tbl1, 2.5), RangeError); + assertThrows(() => get.call(tbl1, -1), RangeError); + assertThrows(() => get.call(tbl1, Math.pow(2,33)), RangeError); + assertThrows(() => get.call(tbl1, {valueOf() { throw new Error("hi") }}), Error); +}, "'WebAssembly.Table.prototype.get' method"); + +test(() => { + const setDesc = Object.getOwnPropertyDescriptor(tableProto, 'set'); + assert_equals(typeof setDesc.value, "function"); + assert_equals(setDesc.enumerable, false); + assert_equals(setDesc.configurable, true); +}, "'WebAssembly.Table.prototype.set' data property"); + +test(() => { + const setDesc = Object.getOwnPropertyDescriptor(tableProto, 'set'); + const set = setDesc.value; + assert_equals(set.length, 2); + assertThrows(() => set.call(), TypeError); + assertThrows(() => set.call({}), TypeError); + assertThrows(() => set.call(tbl1, 0), TypeError); + assertThrows(() => set.call(tbl1, 2, null), RangeError); + assertThrows(() => set.call(tbl1, -1, null), RangeError); + assertThrows(() => set.call(tbl1, Math.pow(2,33), null), RangeError); + assertThrows(() => set.call(tbl1, 0, undefined), TypeError); + assertThrows(() => set.call(tbl1, 0, {}), TypeError); + assertThrows(() => set.call(tbl1, 0, function() {}), TypeError); + assertThrows(() => set.call(tbl1, 0, Math.sin), TypeError); + assertThrows(() => set.call(tbl1, {valueOf() { throw Error("hai") }}, null), Error); + assert_equals(set.call(tbl1, 0, null), undefined); + assert_equals(set.call(tbl1, 1, null), undefined); +}, "'WebAssembly.Table.prototype.set' method"); + +test(() => { + const tblGrowDesc = Object.getOwnPropertyDescriptor(tableProto, 'grow'); + assert_equals(typeof tblGrowDesc.value, "function"); + assert_equals(tblGrowDesc.enumerable, false); + assert_equals(tblGrowDesc.configurable, true); +}, "'WebAssembly.Table.prototype.grow' data property"); + +test(() => { + const tblGrowDesc = Object.getOwnPropertyDescriptor(tableProto, 'grow'); + const tblGrow = tblGrowDesc.value; + assert_equals(tblGrow.length, 1); + assertThrows(() => tblGrow.call(), TypeError); + assertThrows(() => tblGrow.call({}), TypeError); + assertThrows(() => tblGrow.call(tbl1, -1), RangeError); + assertThrows(() => tblGrow.call(tbl1, Math.pow(2,32)), RangeError); + var tbl = new Table({element:"anyfunc", initial:1, maximum:2}); + assert_equals(tbl.length, 1); + assert_equals(tbl.grow(0), 1); + assert_equals(tbl.length, 1); + assert_equals(tbl.grow(1), 1); + assert_equals(tbl.length, 2); + assertThrows(() => tbl.grow(1), Error); +}, "'WebAssembly.Table.prototype.grow' method"); + +test(() => { + assertThrows(() => WebAssembly.validate(), TypeError); + assertThrows(() => WebAssembly.validate("hi"), TypeError); + assert_true(WebAssembly.validate(emptyModuleBinary)); + assert_true(WebAssembly.validate(complexImportingModuleBinary)); + assert_false(WebAssembly.validate(moduleBinaryImporting2Memories)); + assert_false(WebAssembly.validate(moduleBinaryWithMemSectionAndMemImport)); +}, "'WebAssembly.validate' method"); + +/* FIXME https://bugs.webkit.org/show_bug.cgi?id=173180 +test(() => { + const compileDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'compile'); + assert_equals(typeof compileDesc.value, "function"); + assert_equals(compileDesc.writable, true); + assert_equals(compileDesc.enumerable, false); + assert_equals(compileDesc.configurable, true); +}, "'WebAssembly.compile' data property"); + +test(() => { + const compile = WebAssembly.compile; + const compileDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'compile'); + + assert_equals(compile, compileDesc.value); + assert_equals(compile.length, 1); + assert_equals(compile.name, "compile"); +}, "'WebAssembly.compile' function"); */ + +var num_tests = 1; +function assertCompileError(args, err) { + promise_test(() => { + return WebAssembly.compile(...args) + .then(_ => { + throw null; + }) + .catch(error => { + assert_equals(error instanceof err, true); + return Promise.resolve() + }); + }, `assertCompileError ${num_tests++}`); +} + +assertCompileError([], TypeError); +assertCompileError([undefined], TypeError); +assertCompileError([1], TypeError); +assertCompileError([{}], TypeError); +assertCompileError([new Uint8Array()], CompileError); +assertCompileError([new ArrayBuffer()], CompileError); +// FIXME: https://github.com/WebAssembly/spec/pull/503 +//assertCompileError([new Uint8Array("hi!")], CompileError); +//assertCompileError([new ArrayBuffer("hi!")], CompileError); + +num_tests = 1; +function assertCompileSuccess(bytes) { + promise_test(() => { + return WebAssembly.compile(bytes) + .then(module => { + assert_equals(module instanceof Module, true); + }); + }, `assertCompileSuccess ${num_tests++}`); +} + +assertCompileSuccess(emptyModuleBinary); +assertCompileSuccess(new Uint8Array(emptyModuleBinary)); + +/* FIXME https://bugs.webkit.org/show_bug.cgi?id=173180 +test(() => { + const instantiateDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'instantiate'); + assert_equals(typeof instantiateDesc.value, "function"); + assert_equals(instantiateDesc.writable, true); + assert_equals(instantiateDesc.enumerable, false); + assert_equals(instantiateDesc.configurable, true); +}, "'WebAssembly.instantiate' data property");*/ + +test(() => { + const instantiateDesc = Object.getOwnPropertyDescriptor(WebAssembly, 'instantiate'); + const instantiate = WebAssembly.instantiate; +/* FIXME https://bugs.webkit.org/show_bug.cgi?id=173180 + assert_equals(instantiate, instantiateDesc.value); + assert_equals(instantiate.length, 1); + assert_equals(instantiate.name, "instantiate");*/ + function assertInstantiateError(args, err) { + promise_test(() => { + return instantiate(...args) + .then(m => { + throw null; + }) + .catch(error => { + assert_equals(error instanceof err, true); + }) + }, 'unexpected success in assertInstantiateError'); + } + var scratch_memory = new WebAssembly.Memory({initial:1}); + var scratch_table = new WebAssembly.Table({element:"anyfunc", initial:1, maximum:1}); + assertInstantiateError([], TypeError); + assertInstantiateError([undefined], TypeError); + assertInstantiateError([1], TypeError); + assertInstantiateError([{}], TypeError); + assertInstantiateError([new Uint8Array()], CompileError); + assertInstantiateError([new ArrayBuffer()], CompileError); +// FIXME: https://github.com/WebAssembly/spec/pull/503 +// assertInstantiateError([new Uint8Array("hi!")], CompileError); +// assertInstantiateError([new ArrayBuffer("hi!")], CompileError); + assertInstantiateError([importingModule], TypeError); + assertInstantiateError([importingModule, null], TypeError); + assertInstantiateError([importingModuleBinary, null], TypeError); + assertInstantiateError([emptyModule, null], TypeError); + assertInstantiateError([importingModuleBinary, null], TypeError); + assertInstantiateError([importingModuleBinary, undefined], TypeError); + assertInstantiateError([importingModuleBinary, {}], TypeError); + assertInstantiateError([importingModuleBinary, {"":{g:()=>{}}}], LinkError); + assertInstantiateError([importingModuleBinary, {t:{f:()=>{}}}], TypeError); + assertInstantiateError([complexImportingModuleBinary, null], TypeError); + assertInstantiateError([complexImportingModuleBinary, undefined], TypeError); + assertInstantiateError([complexImportingModuleBinary, {}], TypeError); + assertInstantiateError([complexImportingModuleBinary, {"c": {"d": scratch_memory}}], TypeError); + + function assertInstantiateSuccess(module, imports) { + promise_test(()=> { + return instantiate(module, imports) + .then(result => { + if (module instanceof Module) { + assert_equals(result instanceof Instance, true); + } else { + assert_equals(result.module instanceof Module, true); + assert_equals(result.instance instanceof Instance, true); + var desc = Object.getOwnPropertyDescriptor(result, 'module'); + assert_equals(desc.writable, true); + assert_equals(desc.enumerable, true); + assert_equals(desc.configurable, true); + desc = Object.getOwnPropertyDescriptor(result, 'instance'); + assert_equals(desc.writable, true); + assert_equals(desc.enumerable, true); + assert_equals(desc.configurable, true); + } + })}, 'unexpected failure in assertInstantiateSuccess'); + } + assertInstantiateSuccess(emptyModule); + assertInstantiateSuccess(emptyModuleBinary); + assertInstantiateSuccess(new Uint8Array(emptyModuleBinary)); + assertInstantiateSuccess(importingModule, {"":{f:()=>{}}}); + assertInstantiateSuccess(importingModuleBinary, {"":{f:()=>{}}}); + assertInstantiateSuccess(new Uint8Array(importingModuleBinary), {"":{f:()=>{}}}); + assertInstantiateSuccess(complexImportingModuleBinary, { + a:{b:()=>{}}, + c:{d:scratch_memory}, + e:{f:scratch_table}, + g:{'⚡':1}}); +}, "'WebAssembly.instantiate' function"); + +})(); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/labels.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/labels.wast.js new file mode 100644 index 0000000000..6b4e68b8af --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/labels.wast.js @@ -0,0 +1,84 @@ + +// labels.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x03\x92\x80\x80\x80\x00\x11\x00\x00\x00\x00\x01\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x07\x92\x81\x80\x80\x00\x11\x05\x62\x6c\x6f\x63\x6b\x00\x00\x05\x6c\x6f\x6f\x70\x31\x00\x01\x05\x6c\x6f\x6f\x70\x32\x00\x02\x05\x6c\x6f\x6f\x70\x33\x00\x03\x05\x6c\x6f\x6f\x70\x34\x00\x04\x05\x6c\x6f\x6f\x70\x35\x00\x05\x02\x69\x66\x00\x06\x03\x69\x66\x32\x00\x07\x06\x73\x77\x69\x74\x63\x68\x00\x08\x06\x72\x65\x74\x75\x72\x6e\x00\x09\x06\x62\x72\x5f\x69\x66\x30\x00\x0a\x06\x62\x72\x5f\x69\x66\x31\x00\x0b\x06\x62\x72\x5f\x69\x66\x32\x00\x0c\x06\x62\x72\x5f\x69\x66\x33\x00\x0d\x02\x62\x72\x00\x0e\x09\x73\x68\x61\x64\x6f\x77\x69\x6e\x67\x00\x0f\x0c\x72\x65\x64\x65\x66\x69\x6e\x69\x74\x69\x6f\x6e\x00\x10\x0a\xb6\x86\x80\x80\x00\x11\x8b\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x0c\x00\x41\x00\x0b\x0b\xa3\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x02\x7f\x03\x7f\x20\x00\x41\x01\x6a\x21\x00\x20\x00\x41\x05\x46\x04\x40\x20\x00\x0c\x02\x0b\x0c\x00\x0b\x0b\x0b\xb4\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x02\x7f\x03\x7f\x20\x00\x41\x01\x6a\x21\x00\x20\x00\x41\x05\x46\x04\x40\x0c\x01\x0b\x20\x00\x41\x08\x46\x04\x40\x20\x00\x0c\x02\x0b\x20\x00\x41\x01\x6a\x21\x00\x0c\x00\x0b\x0b\x0b\xa3\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x02\x7f\x03\x7f\x20\x00\x41\x01\x6a\x21\x00\x20\x00\x41\x05\x46\x04\x40\x20\x00\x0c\x02\x0b\x20\x00\x0b\x0b\x0b\xa3\x80\x80\x80\x00\x01\x01\x7f\x41\x01\x21\x01\x02\x7f\x03\x7f\x20\x01\x20\x01\x6a\x21\x01\x20\x01\x20\x00\x4b\x04\x40\x20\x01\x0c\x02\x0b\x0c\x00\x0b\x0b\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x41\x01\x0b\x41\x01\x6a\x0b\x84\x81\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x02\x40\x41\x01\x04\x40\x0c\x00\x41\x9a\x05\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x01\x04\x40\x0c\x00\x41\x9a\x05\x21\x00\x05\x41\xf8\x06\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x01\x04\x40\x0c\x00\x41\x9a\x05\x21\x00\x05\x41\xf8\x06\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x00\x04\x40\x41\xf8\x06\x21\x00\x05\x0c\x00\x41\x9a\x05\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x00\x04\x40\x41\xf8\x06\x21\x00\x05\x0c\x00\x41\x9a\x05\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x0b\x20\x00\x0b\x84\x81\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x02\x40\x41\x01\x04\x40\x0c\x00\x41\x9a\x05\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x01\x04\x40\x0c\x00\x41\x9a\x05\x21\x00\x05\x41\xf8\x06\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x01\x04\x40\x0c\x00\x41\x9a\x05\x21\x00\x05\x41\xf8\x06\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x00\x04\x40\x41\xf8\x06\x21\x00\x05\x0c\x00\x41\x9a\x05\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x41\x00\x04\x40\x41\xf8\x06\x21\x00\x05\x0c\x00\x41\x9a\x05\x21\x00\x0b\x20\x00\x41\x01\x6a\x21\x00\x0b\x20\x00\x0b\xad\x80\x80\x80\x00\x00\x02\x7f\x41\x0a\x02\x7f\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x20\x00\x0e\x04\x04\x00\x01\x02\x03\x0b\x0b\x41\x02\x0c\x03\x0b\x41\x03\x0c\x03\x0b\x0b\x41\x05\x0b\x6c\x0b\x0b\x98\x80\x80\x80\x00\x00\x02\x40\x02\x40\x02\x40\x20\x00\x0e\x01\x00\x01\x0c\x02\x0b\x41\x00\x0f\x0b\x0b\x41\x02\x0b\xd6\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x02\x7f\x02\x40\x41\x00\x0d\x00\x20\x00\x41\x01\x72\x21\x00\x41\x01\x0d\x00\x20\x00\x41\x02\x72\x21\x00\x0b\x02\x7f\x20\x00\x41\x04\x72\x21\x00\x20\x00\x0b\x41\x00\x0d\x00\x1a\x20\x00\x41\x08\x72\x21\x00\x02\x7f\x20\x00\x41\x10\x72\x21\x00\x20\x00\x0b\x41\x01\x0d\x00\x1a\x20\x00\x41\x20\x72\x21\x00\x20\x00\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x41\x01\x0c\x00\x0b\x41\x01\x0d\x00\x1a\x41\x01\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x04\x40\x02\x7f\x41\x01\x0c\x00\x0b\x0c\x01\x0b\x41\x01\x0b\x0b\xa4\x80\x80\x80\x00\x01\x01\x7f\x02\x7f\x02\x7f\x41\x01\x21\x00\x20\x00\x0b\x02\x7f\x41\x02\x21\x00\x20\x00\x0b\x0d\x00\x1a\x41\x00\x0b\x41\x00\x6a\x1a\x20\x00\x0b\xa1\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x04\x40\x02\x7f\x41\x01\x0c\x00\x0b\x0c\x01\x05\x02\x40\x02\x7f\x41\x01\x0c\x00\x0b\x1a\x0b\x0b\x41\x01\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x0c\x00\x41\x02\x73\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x41\x02\x0b\x02\x7f\x41\x03\x0c\x00\x0b\x6a\x0b\x0b"); + +// labels.wast:277 +assert_return(() => call($1, "block", []), 1); + +// labels.wast:278 +assert_return(() => call($1, "loop1", []), 5); + +// labels.wast:279 +assert_return(() => call($1, "loop2", []), 8); + +// labels.wast:280 +assert_return(() => call($1, "loop3", []), 1); + +// labels.wast:281 +assert_return(() => call($1, "loop4", [8]), 16); + +// labels.wast:282 +assert_return(() => call($1, "loop5", []), 2); + +// labels.wast:283 +assert_return(() => call($1, "if", []), 5); + +// labels.wast:284 +assert_return(() => call($1, "if2", []), 5); + +// labels.wast:285 +assert_return(() => call($1, "switch", [0]), 50); + +// labels.wast:286 +assert_return(() => call($1, "switch", [1]), 20); + +// labels.wast:287 +assert_return(() => call($1, "switch", [2]), 20); + +// labels.wast:288 +assert_return(() => call($1, "switch", [3]), 3); + +// labels.wast:289 +assert_return(() => call($1, "switch", [4]), 50); + +// labels.wast:290 +assert_return(() => call($1, "switch", [5]), 50); + +// labels.wast:291 +assert_return(() => call($1, "return", [0]), 0); + +// labels.wast:292 +assert_return(() => call($1, "return", [1]), 2); + +// labels.wast:293 +assert_return(() => call($1, "return", [2]), 2); + +// labels.wast:294 +assert_return(() => call($1, "br_if0", []), 29); + +// labels.wast:295 +assert_return(() => call($1, "br_if1", []), 1); + +// labels.wast:296 +assert_return(() => call($1, "br_if2", []), 1); + +// labels.wast:297 +assert_return(() => call($1, "br_if3", []), 2); + +// labels.wast:298 +assert_return(() => call($1, "br", []), 1); + +// labels.wast:299 +assert_return(() => call($1, "shadowing", []), 1); + +// labels.wast:300 +assert_return(() => call($1, "redefinition", []), 5); + +// labels.wast:302 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x01\x0d\x00\x8c\x01\x0b\x0b"); + +// labels.wast:306 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x41\x01\x0d\x00\x0b\x0b"); + +// labels.wast:310 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x41\x01\x0d\x00\x0b\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/left-to-right.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/left-to-right.wast.js new file mode 100644 index 0000000000..6a3522dc03 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/left-to-right.wast.js @@ -0,0 +1,288 @@ + +// left-to-right.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xc0\x80\x80\x80\x00\x0d\x60\x02\x7f\x7f\x01\x7f\x60\x02\x7e\x7e\x01\x7f\x60\x02\x7d\x7d\x01\x7f\x60\x02\x7c\x7c\x01\x7f\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x02\x7f\x7f\x00\x60\x02\x7e\x7e\x00\x60\x02\x7d\x7d\x00\x60\x02\x7c\x7c\x00\x03\x84\x81\x80\x80\x00\x82\x01\x00\x00\x01\x01\x02\x02\x03\x03\x04\x04\x05\x05\x05\x05\x05\x05\x06\x06\x06\x05\x05\x07\x07\x07\x05\x05\x08\x08\x08\x05\x05\x09\x0a\x0b\x0c\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x05\x04\x85\x80\x80\x80\x00\x01\x70\x01\x08\x08\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xaa\x88\x80\x80\x00\x5f\x07\x69\x33\x32\x5f\x61\x64\x64\x00\x23\x07\x69\x33\x32\x5f\x73\x75\x62\x00\x24\x07\x69\x33\x32\x5f\x6d\x75\x6c\x00\x25\x09\x69\x33\x32\x5f\x64\x69\x76\x5f\x73\x00\x26\x09\x69\x33\x32\x5f\x64\x69\x76\x5f\x75\x00\x27\x09\x69\x33\x32\x5f\x72\x65\x6d\x5f\x73\x00\x28\x09\x69\x33\x32\x5f\x72\x65\x6d\x5f\x75\x00\x29\x07\x69\x33\x32\x5f\x61\x6e\x64\x00\x2a\x06\x69\x33\x32\x5f\x6f\x72\x00\x2b\x07\x69\x33\x32\x5f\x78\x6f\x72\x00\x2c\x07\x69\x33\x32\x5f\x73\x68\x6c\x00\x2d\x09\x69\x33\x32\x5f\x73\x68\x72\x5f\x75\x00\x2e\x09\x69\x33\x32\x5f\x73\x68\x72\x5f\x73\x00\x2f\x06\x69\x33\x32\x5f\x65\x71\x00\x30\x06\x69\x33\x32\x5f\x6e\x65\x00\x31\x08\x69\x33\x32\x5f\x6c\x74\x5f\x73\x00\x32\x08\x69\x33\x32\x5f\x6c\x65\x5f\x73\x00\x33\x08\x69\x33\x32\x5f\x6c\x74\x5f\x75\x00\x34\x08\x69\x33\x32\x5f\x6c\x65\x5f\x75\x00\x35\x08\x69\x33\x32\x5f\x67\x74\x5f\x73\x00\x36\x08\x69\x33\x32\x5f\x67\x65\x5f\x73\x00\x37\x08\x69\x33\x32\x5f\x67\x74\x5f\x75\x00\x38\x08\x69\x33\x32\x5f\x67\x65\x5f\x75\x00\x39\x09\x69\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x3a\x0a\x69\x33\x32\x5f\x73\x74\x6f\x72\x65\x38\x00\x3b\x0b\x69\x33\x32\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x3c\x08\x69\x33\x32\x5f\x63\x61\x6c\x6c\x00\x3d\x11\x69\x33\x32\x5f\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x00\x3e\x0a\x69\x33\x32\x5f\x73\x65\x6c\x65\x63\x74\x00\x3f\x07\x69\x36\x34\x5f\x61\x64\x64\x00\x40\x07\x69\x36\x34\x5f\x73\x75\x62\x00\x41\x07\x69\x36\x34\x5f\x6d\x75\x6c\x00\x42\x09\x69\x36\x34\x5f\x64\x69\x76\x5f\x73\x00\x43\x09\x69\x36\x34\x5f\x64\x69\x76\x5f\x75\x00\x44\x09\x69\x36\x34\x5f\x72\x65\x6d\x5f\x73\x00\x45\x09\x69\x36\x34\x5f\x72\x65\x6d\x5f\x75\x00\x46\x07\x69\x36\x34\x5f\x61\x6e\x64\x00\x47\x06\x69\x36\x34\x5f\x6f\x72\x00\x48\x07\x69\x36\x34\x5f\x78\x6f\x72\x00\x49\x07\x69\x36\x34\x5f\x73\x68\x6c\x00\x4a\x09\x69\x36\x34\x5f\x73\x68\x72\x5f\x75\x00\x4b\x09\x69\x36\x34\x5f\x73\x68\x72\x5f\x73\x00\x4c\x06\x69\x36\x34\x5f\x65\x71\x00\x4d\x06\x69\x36\x34\x5f\x6e\x65\x00\x4e\x08\x69\x36\x34\x5f\x6c\x74\x5f\x73\x00\x4f\x08\x69\x36\x34\x5f\x6c\x65\x5f\x73\x00\x50\x08\x69\x36\x34\x5f\x6c\x74\x5f\x75\x00\x51\x08\x69\x36\x34\x5f\x6c\x65\x5f\x75\x00\x52\x08\x69\x36\x34\x5f\x67\x74\x5f\x73\x00\x53\x08\x69\x36\x34\x5f\x67\x65\x5f\x73\x00\x54\x08\x69\x36\x34\x5f\x67\x74\x5f\x75\x00\x55\x08\x69\x36\x34\x5f\x67\x65\x5f\x75\x00\x56\x09\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x57\x0a\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x38\x00\x58\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x31\x36\x00\x59\x0b\x69\x36\x34\x5f\x73\x74\x6f\x72\x65\x33\x32\x00\x5a\x08\x69\x36\x34\x5f\x63\x61\x6c\x6c\x00\x5b\x11\x69\x36\x34\x5f\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x00\x5c\x0a\x69\x36\x34\x5f\x73\x65\x6c\x65\x63\x74\x00\x5d\x07\x66\x33\x32\x5f\x61\x64\x64\x00\x5e\x07\x66\x33\x32\x5f\x73\x75\x62\x00\x5f\x07\x66\x33\x32\x5f\x6d\x75\x6c\x00\x60\x07\x66\x33\x32\x5f\x64\x69\x76\x00\x61\x0c\x66\x33\x32\x5f\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x62\x06\x66\x33\x32\x5f\x65\x71\x00\x63\x06\x66\x33\x32\x5f\x6e\x65\x00\x64\x06\x66\x33\x32\x5f\x6c\x74\x00\x65\x06\x66\x33\x32\x5f\x6c\x65\x00\x66\x06\x66\x33\x32\x5f\x67\x74\x00\x67\x06\x66\x33\x32\x5f\x67\x65\x00\x68\x07\x66\x33\x32\x5f\x6d\x69\x6e\x00\x69\x07\x66\x33\x32\x5f\x6d\x61\x78\x00\x6a\x09\x66\x33\x32\x5f\x73\x74\x6f\x72\x65\x00\x6b\x08\x66\x33\x32\x5f\x63\x61\x6c\x6c\x00\x6c\x11\x66\x33\x32\x5f\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x00\x6d\x0a\x66\x33\x32\x5f\x73\x65\x6c\x65\x63\x74\x00\x6e\x07\x66\x36\x34\x5f\x61\x64\x64\x00\x6f\x07\x66\x36\x34\x5f\x73\x75\x62\x00\x70\x07\x66\x36\x34\x5f\x6d\x75\x6c\x00\x71\x07\x66\x36\x34\x5f\x64\x69\x76\x00\x72\x0c\x66\x36\x34\x5f\x63\x6f\x70\x79\x73\x69\x67\x6e\x00\x73\x06\x66\x36\x34\x5f\x65\x71\x00\x74\x06\x66\x36\x34\x5f\x6e\x65\x00\x75\x06\x66\x36\x34\x5f\x6c\x74\x00\x76\x06\x66\x36\x34\x5f\x6c\x65\x00\x77\x06\x66\x36\x34\x5f\x67\x74\x00\x78\x06\x66\x36\x34\x5f\x67\x65\x00\x79\x07\x66\x36\x34\x5f\x6d\x69\x6e\x00\x7a\x07\x66\x36\x34\x5f\x6d\x61\x78\x00\x7b\x09\x66\x36\x34\x5f\x73\x74\x6f\x72\x65\x00\x7c\x08\x66\x36\x34\x5f\x63\x61\x6c\x6c\x00\x7d\x11\x66\x36\x34\x5f\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x00\x7e\x0a\x66\x36\x34\x5f\x73\x65\x6c\x65\x63\x74\x00\x7f\x05\x62\x72\x5f\x69\x66\x00\x80\x01\x08\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x81\x01\x09\x8e\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x08\x00\x01\x02\x03\x04\x05\x06\x07\x0a\xb2\x91\x80\x80\x00\x82\x01\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x84\x80\x80\x80\x00\x00\x41\x7e\x0b\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x84\x80\x80\x80\x00\x00\x41\x7e\x0b\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x84\x80\x80\x80\x00\x00\x41\x7e\x0b\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x84\x80\x80\x80\x00\x00\x41\x7e\x0b\x89\x80\x80\x80\x00\x00\x41\x08\x41\x00\x36\x02\x00\x0b\xa7\x80\x80\x80\x00\x00\x41\x0b\x41\x0a\x2d\x00\x00\x3a\x00\x00\x41\x0a\x41\x09\x2d\x00\x00\x3a\x00\x00\x41\x09\x41\x08\x2d\x00\x00\x3a\x00\x00\x41\x08\x41\x7d\x3a\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x41\x08\x28\x02\x00\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x01\x3a\x00\x00\x41\x00\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x02\x3a\x00\x00\x41\x01\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x03\x3a\x00\x00\x41\x01\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x04\x3a\x00\x00\x41\x00\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x05\x3a\x00\x00\x41\x00\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x01\x3a\x00\x00\x42\x00\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x02\x3a\x00\x00\x42\x01\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x03\x3a\x00\x00\x42\x01\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x04\x3a\x00\x00\x41\x02\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x05\x3a\x00\x00\x41\x00\x0b\x90\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x01\x3a\x00\x00\x43\x00\x00\x00\x00\x0b\x90\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x02\x3a\x00\x00\x43\x00\x00\x80\x3f\x0b\x90\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x03\x3a\x00\x00\x43\x00\x00\x80\x3f\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x04\x3a\x00\x00\x41\x04\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x05\x3a\x00\x00\x41\x00\x0b\x94\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x01\x3a\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x94\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x02\x3a\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x0b\x94\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x03\x3a\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x04\x3a\x00\x00\x41\x06\x0b\x8d\x80\x80\x80\x00\x00\x10\x09\x41\x08\x41\x05\x3a\x00\x00\x41\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x6a\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x6b\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x6c\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x6d\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x6e\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x6f\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x70\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x71\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x72\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x73\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x74\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x76\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x75\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x46\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x47\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x48\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x4c\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x49\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x4d\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x4a\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x4e\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x4b\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x4f\x1a\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x36\x02\x00\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x3a\x00\x00\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x3b\x01\x00\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x10\x1f\x10\x0a\x0b\x90\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x10\x0e\x11\x00\x00\x1a\x10\x0a\x0b\x8e\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x0c\x10\x0f\x1b\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x7c\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x7d\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x7e\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x7f\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x80\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x81\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x82\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x83\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x84\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x85\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x86\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x88\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x87\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x51\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x52\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x53\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x57\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x54\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x58\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x55\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x59\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x56\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x5a\x1a\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x11\x37\x03\x00\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x11\x3c\x00\x00\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x11\x3d\x01\x00\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x11\x3e\x02\x00\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x10\x20\x10\x0a\x0b\x90\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x10\x13\x11\x01\x00\x1a\x10\x0a\x0b\x8e\x80\x80\x80\x00\x00\x10\x08\x10\x10\x10\x11\x10\x14\x1b\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x92\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x93\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x94\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x95\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x98\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x5b\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x5c\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x5d\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x5f\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x5e\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x60\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x96\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x97\x1a\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x16\x38\x02\x00\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x10\x21\x10\x0a\x0b\x90\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x10\x18\x11\x02\x00\x1a\x10\x0a\x0b\x8e\x80\x80\x80\x00\x00\x10\x08\x10\x15\x10\x16\x10\x19\x1b\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa0\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa1\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa2\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa3\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa6\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x61\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x62\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x63\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x65\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x64\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x66\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa4\x1a\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\xa5\x1a\x10\x0a\x0b\x8d\x80\x80\x80\x00\x00\x10\x08\x10\x0b\x10\x1b\x39\x03\x00\x10\x0a\x0b\x8c\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x10\x22\x10\x0a\x0b\x90\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x10\x1d\x11\x03\x00\x1a\x10\x0a\x0b\x8e\x80\x80\x80\x00\x00\x10\x08\x10\x1a\x10\x1b\x10\x1e\x1b\x1a\x10\x0a\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x10\x08\x10\x0b\x10\x0c\x41\x00\x71\x0d\x00\x1a\x10\x0a\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x10\x08\x02\x7f\x10\x0b\x10\x0c\x0e\x01\x01\x00\x0b\x1a\x10\x0a\x0b\x0b"); + +// left-to-right.wast:181 +assert_return(() => call($1, "i32_add", []), 258); + +// left-to-right.wast:181 +assert_return(() => call($1, "i64_add", []), 258); + +// left-to-right.wast:182 +assert_return(() => call($1, "i32_sub", []), 258); + +// left-to-right.wast:182 +assert_return(() => call($1, "i64_sub", []), 258); + +// left-to-right.wast:183 +assert_return(() => call($1, "i32_mul", []), 258); + +// left-to-right.wast:183 +assert_return(() => call($1, "i64_mul", []), 258); + +// left-to-right.wast:184 +assert_return(() => call($1, "i32_div_s", []), 258); + +// left-to-right.wast:184 +assert_return(() => call($1, "i64_div_s", []), 258); + +// left-to-right.wast:185 +assert_return(() => call($1, "i32_div_u", []), 258); + +// left-to-right.wast:185 +assert_return(() => call($1, "i64_div_u", []), 258); + +// left-to-right.wast:186 +assert_return(() => call($1, "i32_rem_s", []), 258); + +// left-to-right.wast:186 +assert_return(() => call($1, "i64_rem_s", []), 258); + +// left-to-right.wast:187 +assert_return(() => call($1, "i32_rem_u", []), 258); + +// left-to-right.wast:187 +assert_return(() => call($1, "i64_rem_u", []), 258); + +// left-to-right.wast:188 +assert_return(() => call($1, "i32_and", []), 258); + +// left-to-right.wast:188 +assert_return(() => call($1, "i64_and", []), 258); + +// left-to-right.wast:189 +assert_return(() => call($1, "i32_or", []), 258); + +// left-to-right.wast:189 +assert_return(() => call($1, "i64_or", []), 258); + +// left-to-right.wast:190 +assert_return(() => call($1, "i32_xor", []), 258); + +// left-to-right.wast:190 +assert_return(() => call($1, "i64_xor", []), 258); + +// left-to-right.wast:191 +assert_return(() => call($1, "i32_shl", []), 258); + +// left-to-right.wast:191 +assert_return(() => call($1, "i64_shl", []), 258); + +// left-to-right.wast:192 +assert_return(() => call($1, "i32_shr_u", []), 258); + +// left-to-right.wast:192 +assert_return(() => call($1, "i64_shr_u", []), 258); + +// left-to-right.wast:193 +assert_return(() => call($1, "i32_shr_s", []), 258); + +// left-to-right.wast:193 +assert_return(() => call($1, "i64_shr_s", []), 258); + +// left-to-right.wast:194 +assert_return(() => call($1, "i32_eq", []), 258); + +// left-to-right.wast:194 +assert_return(() => call($1, "i64_eq", []), 258); + +// left-to-right.wast:195 +assert_return(() => call($1, "i32_ne", []), 258); + +// left-to-right.wast:195 +assert_return(() => call($1, "i64_ne", []), 258); + +// left-to-right.wast:196 +assert_return(() => call($1, "i32_lt_s", []), 258); + +// left-to-right.wast:196 +assert_return(() => call($1, "i64_lt_s", []), 258); + +// left-to-right.wast:197 +assert_return(() => call($1, "i32_le_s", []), 258); + +// left-to-right.wast:197 +assert_return(() => call($1, "i64_le_s", []), 258); + +// left-to-right.wast:198 +assert_return(() => call($1, "i32_lt_u", []), 258); + +// left-to-right.wast:198 +assert_return(() => call($1, "i64_lt_u", []), 258); + +// left-to-right.wast:199 +assert_return(() => call($1, "i32_le_u", []), 258); + +// left-to-right.wast:199 +assert_return(() => call($1, "i64_le_u", []), 258); + +// left-to-right.wast:200 +assert_return(() => call($1, "i32_gt_s", []), 258); + +// left-to-right.wast:200 +assert_return(() => call($1, "i64_gt_s", []), 258); + +// left-to-right.wast:201 +assert_return(() => call($1, "i32_ge_s", []), 258); + +// left-to-right.wast:201 +assert_return(() => call($1, "i64_ge_s", []), 258); + +// left-to-right.wast:202 +assert_return(() => call($1, "i32_gt_u", []), 258); + +// left-to-right.wast:202 +assert_return(() => call($1, "i64_gt_u", []), 258); + +// left-to-right.wast:203 +assert_return(() => call($1, "i32_ge_u", []), 258); + +// left-to-right.wast:203 +assert_return(() => call($1, "i64_ge_u", []), 258); + +// left-to-right.wast:204 +assert_return(() => call($1, "i32_store", []), 258); + +// left-to-right.wast:204 +assert_return(() => call($1, "i64_store", []), 258); + +// left-to-right.wast:205 +assert_return(() => call($1, "i32_store8", []), 258); + +// left-to-right.wast:205 +assert_return(() => call($1, "i64_store8", []), 258); + +// left-to-right.wast:206 +assert_return(() => call($1, "i32_store16", []), 258); + +// left-to-right.wast:206 +assert_return(() => call($1, "i64_store16", []), 258); + +// left-to-right.wast:207 +assert_return(() => call($1, "i64_store32", []), 258); + +// left-to-right.wast:208 +assert_return(() => call($1, "i32_call", []), 258); + +// left-to-right.wast:208 +assert_return(() => call($1, "i64_call", []), 258); + +// left-to-right.wast:209 +assert_return(() => call($1, "i32_call_indirect", []), 66052); + +// left-to-right.wast:210 +assert_return(() => call($1, "i64_call_indirect", []), 66052); + +// left-to-right.wast:211 +assert_return(() => call($1, "i32_select", []), 66053); + +// left-to-right.wast:211 +assert_return(() => call($1, "i64_select", []), 66053); + +// left-to-right.wast:213 +assert_return(() => call($1, "f32_add", []), 258); + +// left-to-right.wast:213 +assert_return(() => call($1, "f64_add", []), 258); + +// left-to-right.wast:214 +assert_return(() => call($1, "f32_sub", []), 258); + +// left-to-right.wast:214 +assert_return(() => call($1, "f64_sub", []), 258); + +// left-to-right.wast:215 +assert_return(() => call($1, "f32_mul", []), 258); + +// left-to-right.wast:215 +assert_return(() => call($1, "f64_mul", []), 258); + +// left-to-right.wast:216 +assert_return(() => call($1, "f32_div", []), 258); + +// left-to-right.wast:216 +assert_return(() => call($1, "f64_div", []), 258); + +// left-to-right.wast:217 +assert_return(() => call($1, "f32_copysign", []), 258); + +// left-to-right.wast:217 +assert_return(() => call($1, "f64_copysign", []), 258); + +// left-to-right.wast:218 +assert_return(() => call($1, "f32_eq", []), 258); + +// left-to-right.wast:218 +assert_return(() => call($1, "f64_eq", []), 258); + +// left-to-right.wast:219 +assert_return(() => call($1, "f32_ne", []), 258); + +// left-to-right.wast:219 +assert_return(() => call($1, "f64_ne", []), 258); + +// left-to-right.wast:220 +assert_return(() => call($1, "f32_lt", []), 258); + +// left-to-right.wast:220 +assert_return(() => call($1, "f64_lt", []), 258); + +// left-to-right.wast:221 +assert_return(() => call($1, "f32_le", []), 258); + +// left-to-right.wast:221 +assert_return(() => call($1, "f64_le", []), 258); + +// left-to-right.wast:222 +assert_return(() => call($1, "f32_gt", []), 258); + +// left-to-right.wast:222 +assert_return(() => call($1, "f64_gt", []), 258); + +// left-to-right.wast:223 +assert_return(() => call($1, "f32_ge", []), 258); + +// left-to-right.wast:223 +assert_return(() => call($1, "f64_ge", []), 258); + +// left-to-right.wast:224 +assert_return(() => call($1, "f32_min", []), 258); + +// left-to-right.wast:224 +assert_return(() => call($1, "f64_min", []), 258); + +// left-to-right.wast:225 +assert_return(() => call($1, "f32_max", []), 258); + +// left-to-right.wast:225 +assert_return(() => call($1, "f64_max", []), 258); + +// left-to-right.wast:226 +assert_return(() => call($1, "f32_store", []), 258); + +// left-to-right.wast:226 +assert_return(() => call($1, "f64_store", []), 258); + +// left-to-right.wast:227 +assert_return(() => call($1, "f32_call", []), 258); + +// left-to-right.wast:227 +assert_return(() => call($1, "f64_call", []), 258); + +// left-to-right.wast:228 +assert_return(() => call($1, "f32_call_indirect", []), 66052); + +// left-to-right.wast:229 +assert_return(() => call($1, "f64_call_indirect", []), 66052); + +// left-to-right.wast:230 +assert_return(() => call($1, "f32_select", []), 66053); + +// left-to-right.wast:230 +assert_return(() => call($1, "f64_select", []), 66053); + +// left-to-right.wast:232 +assert_return(() => call($1, "br_if", []), 258); + +// left-to-right.wast:233 +assert_return(() => call($1, "br_table", []), 258); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/linking.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/linking.wast.js new file mode 100644 index 0000000000..9d5023f0da --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/linking.wast.js @@ -0,0 +1,305 @@ + +// linking.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x83\x80\x80\x80\x00\x02\x00\x00\x07\x88\x80\x80\x80\x00\x01\x04\x63\x61\x6c\x6c\x00\x00\x0a\x93\x80\x80\x80\x00\x02\x84\x80\x80\x80\x00\x00\x10\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b"); +let $Mf = $1; + +// linking.wast:7 +register("Mf", $Mf) + +// linking.wast:9 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x66\x04\x63\x61\x6c\x6c\x00\x00\x03\x84\x80\x80\x80\x00\x03\x00\x00\x00\x07\xa1\x80\x80\x80\x00\x03\x07\x4d\x66\x2e\x63\x61\x6c\x6c\x00\x00\x0c\x63\x61\x6c\x6c\x20\x4d\x66\x2e\x63\x61\x6c\x6c\x00\x01\x04\x63\x61\x6c\x6c\x00\x02\x0a\x9c\x80\x80\x80\x00\x03\x84\x80\x80\x80\x00\x00\x10\x00\x0b\x84\x80\x80\x80\x00\x00\x10\x03\x0b\x84\x80\x80\x80\x00\x00\x41\x03\x0b"); +let $Nf = $2; + +// linking.wast:17 +assert_return(() => call($Mf, "call", []), 2); + +// linking.wast:18 +assert_return(() => call($Nf, "Mf.call", []), 2); + +// linking.wast:19 +assert_return(() => call($Nf, "call", []), 3); + +// linking.wast:20 +assert_return(() => call($Nf, "call Mf.call", []), 2); + +// linking.wast:22 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x07\x89\x80\x80\x80\x00\x01\x05\x70\x72\x69\x6e\x74\x00\x00"); + +// linking.wast:26 +register("reexport_f", $3) + +// linking.wast:27 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x02\x94\x80\x80\x80\x00\x01\x0a\x72\x65\x65\x78\x70\x6f\x72\x74\x5f\x66\x05\x70\x72\x69\x6e\x74\x00\x00"); + +// linking.wast:31 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x94\x80\x80\x80\x00\x01\x0a\x72\x65\x65\x78\x70\x6f\x72\x74\x5f\x66\x05\x70\x72\x69\x6e\x74\x00\x00"); + +// linking.wast:39 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x2a\x0b\x07\x8e\x80\x80\x80\x00\x02\x04\x67\x6c\x6f\x62\x03\x00\x03\x67\x65\x74\x00\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x23\x00\x0b"); +let $Mg = $4; + +// linking.wast:43 +register("Mg", $Mg) + +// linking.wast:45 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x95\x80\x80\x80\x00\x02\x02\x4d\x67\x04\x67\x6c\x6f\x62\x03\x7f\x00\x02\x4d\x67\x03\x67\x65\x74\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x06\x86\x80\x80\x80\x00\x01\x7f\x00\x41\x2b\x0b\x07\xa1\x80\x80\x80\x00\x04\x07\x4d\x67\x2e\x67\x6c\x6f\x62\x03\x00\x06\x4d\x67\x2e\x67\x65\x74\x00\x00\x04\x67\x6c\x6f\x62\x03\x01\x03\x67\x65\x74\x00\x01\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x23\x01\x0b"); +let $Ng = $5; + +// linking.wast:54 +assert_return(() => get($Mg, "glob"), 42); + +// linking.wast:55 +assert_return(() => get($Ng, "Mg.glob"), 42); + +// linking.wast:56 +assert_return(() => get($Ng, "glob"), 43); + +// linking.wast:57 +assert_return(() => call($Mg, "get", []), 42); + +// linking.wast:58 +assert_return(() => call($Ng, "Mg.get", []), 42); + +// linking.wast:59 +assert_return(() => call($Ng, "get", []), 43); + +// linking.wast:64 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x00\x00\x60\x01\x7f\x01\x7f\x03\x84\x80\x80\x80\x00\x03\x00\x00\x02\x04\x84\x80\x80\x80\x00\x01\x70\x00\x0a\x07\x92\x80\x80\x80\x00\x03\x03\x74\x61\x62\x01\x00\x01\x68\x00\x01\x04\x63\x61\x6c\x6c\x00\x02\x09\x8a\x80\x80\x80\x00\x01\x00\x41\x02\x0b\x04\x00\x00\x00\x00\x0a\x9f\x80\x80\x80\x00\x03\x84\x80\x80\x80\x00\x00\x41\x04\x0b\x84\x80\x80\x80\x00\x00\x41\x7c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b"); +let $Mt = $6; + +// linking.wast:77 +register("Mt", $Mt) + +// linking.wast:79 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x03\x60\x00\x00\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x02\x92\x80\x80\x80\x00\x02\x02\x4d\x74\x04\x63\x61\x6c\x6c\x00\x02\x02\x4d\x74\x01\x68\x00\x01\x03\x84\x80\x80\x80\x00\x03\x01\x02\x02\x04\x85\x80\x80\x80\x00\x01\x70\x01\x05\x05\x07\xa1\x80\x80\x80\x00\x03\x07\x4d\x74\x2e\x63\x61\x6c\x6c\x00\x00\x0c\x63\x61\x6c\x6c\x20\x4d\x74\x2e\x63\x61\x6c\x6c\x00\x03\x04\x63\x61\x6c\x6c\x00\x04\x09\x8b\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x05\x02\x02\x02\x01\x00\x0a\xa1\x80\x80\x80\x00\x03\x84\x80\x80\x80\x00\x00\x41\x05\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x10\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x01\x00\x0b"); +let $Nt = $7; + +// linking.wast:98 +assert_return(() => call($Mt, "call", [2]), 4); + +// linking.wast:99 +assert_return(() => call($Nt, "Mt.call", [2]), 4); + +// linking.wast:100 +assert_return(() => call($Nt, "call", [2]), 5); + +// linking.wast:101 +assert_return(() => call($Nt, "call Mt.call", [2]), 4); + +// linking.wast:103 +assert_trap(() => call($Mt, "call", [1])); + +// linking.wast:104 +assert_trap(() => call($Nt, "Mt.call", [1])); + +// linking.wast:105 +assert_return(() => call($Nt, "call", [1]), 5); + +// linking.wast:106 +assert_trap(() => call($Nt, "call Mt.call", [1])); + +// linking.wast:108 +assert_trap(() => call($Mt, "call", [0])); + +// linking.wast:109 +assert_trap(() => call($Nt, "Mt.call", [0])); + +// linking.wast:110 +assert_return(() => call($Nt, "call", [0]), 5); + +// linking.wast:111 +assert_trap(() => call($Nt, "call Mt.call", [0])); + +// linking.wast:113 +assert_trap(() => call($Mt, "call", [20])); + +// linking.wast:114 +assert_trap(() => call($Nt, "Mt.call", [20])); + +// linking.wast:115 +assert_trap(() => call($Nt, "call", [7])); + +// linking.wast:116 +assert_trap(() => call($Nt, "call Mt.call", [20])); + +// linking.wast:118 +assert_return(() => call($Nt, "call", [3]), -4); + +// linking.wast:119 +assert_trap(() => call($Nt, "call", [4])); + +// linking.wast:121 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x02\x93\x80\x80\x80\x00\x02\x02\x4d\x74\x01\x68\x00\x00\x02\x4d\x74\x03\x74\x61\x62\x01\x70\x00\x05\x03\x83\x80\x80\x80\x00\x02\x00\x01\x07\x88\x80\x80\x80\x00\x01\x04\x63\x61\x6c\x6c\x00\x02\x09\x88\x80\x80\x80\x00\x01\x00\x41\x01\x0b\x02\x01\x00\x0a\x96\x80\x80\x80\x00\x02\x84\x80\x80\x80\x00\x00\x41\x06\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x11\x00\x00\x0b"); +let $Ot = $8; + +// linking.wast:134 +assert_return(() => call($Mt, "call", [3]), 4); + +// linking.wast:135 +assert_return(() => call($Nt, "Mt.call", [3]), 4); + +// linking.wast:136 +assert_return(() => call($Nt, "call Mt.call", [3]), 4); + +// linking.wast:137 +assert_return(() => call($Ot, "call", [3]), 4); + +// linking.wast:139 +assert_return(() => call($Mt, "call", [2]), -4); + +// linking.wast:140 +assert_return(() => call($Nt, "Mt.call", [2]), -4); + +// linking.wast:141 +assert_return(() => call($Nt, "call", [2]), 5); + +// linking.wast:142 +assert_return(() => call($Nt, "call Mt.call", [2]), -4); + +// linking.wast:143 +assert_return(() => call($Ot, "call", [2]), -4); + +// linking.wast:145 +assert_return(() => call($Mt, "call", [1]), 6); + +// linking.wast:146 +assert_return(() => call($Nt, "Mt.call", [1]), 6); + +// linking.wast:147 +assert_return(() => call($Nt, "call", [1]), 5); + +// linking.wast:148 +assert_return(() => call($Nt, "call Mt.call", [1]), 6); + +// linking.wast:149 +assert_return(() => call($Ot, "call", [1]), 6); + +// linking.wast:151 +assert_trap(() => call($Mt, "call", [0])); + +// linking.wast:152 +assert_trap(() => call($Nt, "Mt.call", [0])); + +// linking.wast:153 +assert_return(() => call($Nt, "call", [0]), 5); + +// linking.wast:154 +assert_trap(() => call($Nt, "call Mt.call", [0])); + +// linking.wast:155 +assert_trap(() => call($Ot, "call", [0])); + +// linking.wast:157 +assert_trap(() => call($Ot, "call", [20])); + +// linking.wast:159 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x8c\x80\x80\x80\x00\x01\x02\x4d\x74\x03\x74\x61\x62\x01\x70\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x09\x87\x80\x80\x80\x00\x01\x00\x41\x09\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// linking.wast:165 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x8c\x80\x80\x80\x00\x01\x02\x4d\x74\x03\x74\x61\x62\x01\x70\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x09\x87\x80\x80\x80\x00\x01\x00\x41\x0a\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// linking.wast:174 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x96\x80\x80\x80\x00\x02\x02\x4d\x74\x03\x74\x61\x62\x01\x70\x00\x0a\x02\x4d\x74\x03\x6d\x65\x6d\x02\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x09\x8d\x80\x80\x80\x00\x02\x00\x41\x07\x0b\x01\x00\x00\x41\x09\x0b\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x41\x00\x0b"); + +// linking.wast:184 +assert_trap(() => call($Mt, "call", [7])); + +// linking.wast:186 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x8c\x80\x80\x80\x00\x01\x02\x4d\x74\x03\x74\x61\x62\x01\x70\x00\x0a\x03\x82\x80\x80\x80\x00\x01\x00\x09\x8d\x80\x80\x80\x00\x02\x00\x41\x07\x0b\x01\x00\x00\x41\x0c\x0b\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x41\x00\x0b"); + +// linking.wast:195 +assert_trap(() => call($Mt, "call", [7])); + +// linking.wast:197 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x02\x8c\x80\x80\x80\x00\x01\x02\x4d\x74\x03\x74\x61\x62\x01\x70\x00\x0a\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x09\x87\x80\x80\x80\x00\x01\x00\x41\x07\x0b\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x41\x00\x0b\x0b\x89\x80\x80\x80\x00\x01\x00\x41\x80\x80\x04\x0b\x01\x64"); + +// linking.wast:207 +assert_trap(() => call($Mt, "call", [7])); + +// linking.wast:212 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x05\x07\x8e\x80\x80\x80\x00\x02\x03\x6d\x65\x6d\x02\x00\x04\x6c\x6f\x61\x64\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x0b\x0b\x90\x80\x80\x80\x00\x01\x00\x41\x0a\x0b\x0a\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09"); +let $Mm = $10; + +// linking.wast:220 +register("Mm", $Mm) + +// linking.wast:222 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x6d\x04\x6c\x6f\x61\x64\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x92\x80\x80\x80\x00\x02\x07\x4d\x6d\x2e\x6c\x6f\x61\x64\x00\x00\x04\x6c\x6f\x61\x64\x00\x01\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x0b\x0b\x8c\x80\x80\x80\x00\x01\x00\x41\x0a\x0b\x06\xf0\xf1\xf2\xf3\xf4\xf5"); +let $Nm = $11; + +// linking.wast:234 +assert_return(() => call($Mm, "load", [12]), 2); + +// linking.wast:235 +assert_return(() => call($Nm, "Mm.load", [12]), 2); + +// linking.wast:236 +assert_return(() => call($Nm, "load", [12]), 242); + +// linking.wast:238 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x88\x80\x80\x80\x00\x01\x04\x6c\x6f\x61\x64\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x0b\x0b\x8e\x80\x80\x80\x00\x01\x00\x41\x05\x0b\x08\xa0\xa1\xa2\xa3\xa4\xa5\xa6\xa7"); +let $Om = $12; + +// linking.wast:247 +assert_return(() => call($Mm, "load", [12]), 167); + +// linking.wast:248 +assert_return(() => call($Nm, "Mm.load", [12]), 167); + +// linking.wast:249 +assert_return(() => call($Nm, "load", [12]), 242); + +// linking.wast:250 +assert_return(() => call($Om, "load", [12]), 167); + +// linking.wast:252 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x00\x00\x0b\x89\x80\x80\x80\x00\x01\x00\x41\xff\xff\x03\x0b\x01\x61"); + +// linking.wast:257 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x00\x00\x0b\x89\x80\x80\x80\x00\x01\x00\x41\x80\x80\x04\x0b\x01\x61"); + +// linking.wast:265 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x02\x8c\x80\x80\x80\x00\x01\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x01\x01\x08\x03\x82\x80\x80\x80\x00\x01\x00\x07\x88\x80\x80\x80\x00\x01\x04\x67\x72\x6f\x77\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\x40\x00\x0b"); +let $Pm = $14; + +// linking.wast:273 +assert_return(() => call($Pm, "grow", [0]), 1); + +// linking.wast:274 +assert_return(() => call($Pm, "grow", [2]), 1); + +// linking.wast:275 +assert_return(() => call($Pm, "grow", [0]), 3); + +// linking.wast:276 +assert_return(() => call($Pm, "grow", [1]), 3); + +// linking.wast:277 +assert_return(() => call($Pm, "grow", [1]), 4); + +// linking.wast:278 +assert_return(() => call($Pm, "grow", [0]), 5); + +// linking.wast:279 +assert_return(() => call($Pm, "grow", [1]), -1); + +// linking.wast:280 +assert_return(() => call($Pm, "grow", [0]), 5); + +// linking.wast:282 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\xa7\x80\x80\x80\x00\x03\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x00\x01\x02\x4d\x6d\x03\x74\x61\x62\x01\x70\x00\x00\x0b\x89\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x03\x61\x62\x63"); + +// linking.wast:291 +assert_return(() => call($Mm, "load", [0]), 0); + +// linking.wast:293 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x00\x01\x0b\x91\x80\x80\x80\x00\x02\x00\x41\x00\x0b\x03\x61\x62\x63\x00\x41\x80\x80\x14\x0b\x01\x64"); + +// linking.wast:301 +assert_return(() => call($Mm, "load", [0]), 0); + +// linking.wast:303 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x8b\x80\x80\x80\x00\x01\x02\x4d\x6d\x03\x6d\x65\x6d\x02\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b\x0b\x89\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x03\x61\x62\x63"); + +// linking.wast:313 +assert_return(() => call($Mm, "load", [0]), 0); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/loop.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/loop.wast.js new file mode 100644 index 0000000000..3051b62dc7 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/loop.wast.js @@ -0,0 +1,162 @@ + +// loop.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x93\x80\x80\x80\x00\x04\x60\x00\x00\x60\x00\x01\x7f\x60\x01\x7e\x01\x7e\x60\x02\x7d\x7d\x01\x7d\x03\x94\x80\x80\x80\x00\x13\x00\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x02\x02\x03\x07\xe3\x81\x80\x80\x00\x12\x05\x65\x6d\x70\x74\x79\x00\x01\x08\x73\x69\x6e\x67\x75\x6c\x61\x72\x00\x02\x05\x6d\x75\x6c\x74\x69\x00\x03\x06\x6e\x65\x73\x74\x65\x64\x00\x04\x04\x64\x65\x65\x70\x00\x05\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x06\x11\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x07\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x08\x12\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x09\x0a\x62\x72\x65\x61\x6b\x2d\x62\x61\x72\x65\x00\x0a\x0b\x62\x72\x65\x61\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0b\x0e\x62\x72\x65\x61\x6b\x2d\x72\x65\x70\x65\x61\x74\x65\x64\x00\x0c\x0b\x62\x72\x65\x61\x6b\x2d\x69\x6e\x6e\x65\x72\x00\x0d\x0a\x63\x6f\x6e\x74\x2d\x69\x6e\x6e\x65\x72\x00\x0e\x07\x65\x66\x66\x65\x63\x74\x73\x00\x0f\x05\x77\x68\x69\x6c\x65\x00\x10\x03\x66\x6f\x72\x00\x11\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x12\x0a\xc7\x86\x80\x80\x00\x13\x82\x80\x80\x80\x00\x00\x0b\x88\x80\x80\x80\x00\x00\x03\x40\x0b\x03\x40\x0b\x0b\x8b\x80\x80\x80\x00\x00\x03\x40\x01\x0b\x03\x7f\x41\x07\x0b\x0b\x98\x80\x80\x80\x00\x00\x03\x40\x10\x00\x10\x00\x10\x00\x10\x00\x0b\x03\x7f\x10\x00\x10\x00\x10\x00\x41\x08\x0b\x0b\x95\x80\x80\x80\x00\x00\x03\x7f\x03\x40\x10\x00\x02\x40\x0b\x01\x0b\x03\x7f\x10\x00\x41\x09\x0b\x0b\x0b\xff\x80\x80\x80\x00\x00\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x02\x7f\x10\x00\x41\x96\x01\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x41\x0d\x0b\x68\x0b\x91\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x41\x03\x0b\x03\x7f\x10\x00\x41\x04\x0b\x6c\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x41\x0d\x0b\x45\x0b\x97\x80\x80\x80\x00\x00\x03\x7d\x10\x00\x43\x00\x00\x40\x40\x0b\x03\x7d\x10\x00\x43\x00\x00\x40\x40\x0b\x5e\x0b\xb4\x80\x80\x80\x00\x00\x02\x40\x03\x40\x0c\x01\x0c\x00\x00\x0b\x0b\x02\x40\x03\x40\x41\x01\x0d\x01\x00\x0b\x0b\x02\x40\x03\x40\x41\x00\x0e\x00\x01\x00\x0b\x0b\x02\x40\x03\x40\x41\x01\x0e\x02\x01\x01\x01\x00\x0b\x0b\x41\x13\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x41\x12\x0c\x01\x0c\x00\x41\x13\x0b\x0b\x0b\xb4\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x41\x12\x0c\x01\x41\x13\x0c\x01\x41\x14\x41\x00\x0d\x01\x1a\x41\x14\x41\x01\x0d\x01\x1a\x41\x15\x0c\x01\x41\x16\x41\x00\x0e\x00\x01\x41\x17\x41\x01\x0e\x02\x01\x01\x01\x41\x15\x0b\x0b\x0b\xe6\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x20\x00\x02\x7f\x03\x7f\x02\x7f\x41\x01\x0c\x02\x0b\x0b\x0b\x6a\x21\x00\x20\x00\x02\x7f\x03\x7f\x03\x7f\x41\x02\x0c\x02\x0b\x0b\x0b\x6a\x21\x00\x20\x00\x02\x7f\x03\x7f\x02\x7f\x03\x7f\x41\x04\x0c\x01\x0b\x0b\x0b\x0b\x6a\x21\x00\x20\x00\x02\x7f\x03\x7f\x41\x08\x0c\x01\x68\x0b\x0b\x6a\x21\x00\x20\x00\x02\x7f\x03\x7f\x03\x7f\x41\x10\x0c\x02\x0b\x68\x0b\x0b\x6a\x21\x00\x20\x00\x0b\xb0\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x20\x00\x03\x7f\x03\x7f\x0c\x01\x0b\x0b\x6a\x21\x00\x20\x00\x03\x7f\x0c\x00\x68\x0b\x6a\x21\x00\x20\x00\x03\x7f\x03\x7f\x0c\x01\x0b\x68\x0b\x6a\x21\x00\x20\x00\x0b\xb2\x80\x80\x80\x00\x01\x01\x7f\x02\x40\x03\x40\x41\x01\x21\x00\x20\x00\x41\x03\x6c\x21\x00\x20\x00\x41\x05\x6b\x21\x00\x20\x00\x41\x07\x6c\x21\x00\x0c\x01\x20\x00\x41\xe4\x00\x6c\x21\x00\x0b\x0b\x20\x00\x41\x72\x46\x0b\xa5\x80\x80\x80\x00\x01\x01\x7e\x42\x01\x21\x01\x02\x40\x03\x40\x20\x00\x50\x0d\x01\x20\x00\x20\x01\x7e\x21\x01\x20\x00\x42\x01\x7d\x21\x00\x0c\x00\x0b\x0b\x20\x01\x0b\xab\x80\x80\x80\x00\x01\x02\x7e\x42\x01\x21\x01\x42\x02\x21\x02\x02\x40\x03\x40\x20\x02\x20\x00\x56\x0d\x01\x20\x01\x20\x02\x7e\x21\x01\x20\x02\x42\x01\x7c\x21\x02\x0c\x00\x0b\x0b\x20\x01\x0b\xda\x80\x80\x80\x00\x01\x02\x7d\x02\x40\x03\x40\x20\x00\x43\x00\x00\x00\x00\x5b\x0d\x01\x20\x01\x21\x02\x02\x40\x03\x40\x20\x02\x43\x00\x00\x00\x00\x5b\x0d\x01\x20\x02\x43\x00\x00\x00\x00\x5d\x0d\x03\x20\x03\x20\x02\x92\x21\x03\x20\x02\x43\x00\x00\x00\x40\x93\x21\x02\x0c\x00\x0b\x0b\x20\x03\x20\x00\x95\x21\x03\x20\x00\x43\x00\x00\x80\x3f\x93\x21\x00\x0c\x00\x0b\x0b\x20\x03\x0b"); + +// loop.wast:204 +assert_return(() => call($1, "empty", [])); + +// loop.wast:205 +assert_return(() => call($1, "singular", []), 7); + +// loop.wast:206 +assert_return(() => call($1, "multi", []), 8); + +// loop.wast:207 +assert_return(() => call($1, "nested", []), 9); + +// loop.wast:208 +assert_return(() => call($1, "deep", []), 150); + +// loop.wast:210 +assert_return(() => call($1, "as-unary-operand", []), 0); + +// loop.wast:211 +assert_return(() => call($1, "as-binary-operand", []), 12); + +// loop.wast:212 +assert_return(() => call($1, "as-test-operand", []), 0); + +// loop.wast:213 +assert_return(() => call($1, "as-compare-operand", []), 0); + +// loop.wast:215 +assert_return(() => call($1, "break-bare", []), 19); + +// loop.wast:216 +assert_return(() => call($1, "break-value", []), 18); + +// loop.wast:217 +assert_return(() => call($1, "break-repeated", []), 18); + +// loop.wast:218 +assert_return(() => call($1, "break-inner", []), 31); + +// loop.wast:220 +assert_return(() => call($1, "effects", []), 1); + +// loop.wast:222 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x68\x69\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "while", [int64("0")]), int64("1")) + +// loop.wast:223 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x68\x69\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "while", [int64("1")]), int64("1")) + +// loop.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x68\x69\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "while", [int64("2")]), int64("2")) + +// loop.wast:225 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x68\x69\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x03\x10\x00\x01\x42\x06\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "while", [int64("3")]), int64("6")) + +// loop.wast:226 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x68\x69\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x05\x10\x00\x01\x42\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "while", [int64("5")]), int64("120")) + +// loop.wast:227 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x68\x69\x6c\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x14\x10\x00\x01\x42\x80\x80\xd0\x95\xc8\xef\xd9\xe1\x21\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "while", [int64("20")]), int64("2432902008176640000")) + +// loop.wast:229 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "for", [int64("0")]), int64("1")) + +// loop.wast:230 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "for", [int64("1")]), int64("1")) + +// loop.wast:231 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x02\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "for", [int64("2")]), int64("2")) + +// loop.wast:232 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x03\x10\x00\x01\x42\x06\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "for", [int64("3")]), int64("6")) + +// loop.wast:233 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x05\x10\x00\x01\x42\xf8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "for", [int64("5")]), int64("120")) + +// loop.wast:234 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8a\x80\x80\x80\x00\x01\x02\x24\x31\x03\x66\x6f\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x14\x10\x00\x01\x42\x80\x80\xd0\x95\xc8\xef\xd9\xe1\x21\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "for", [int64("20")]), int64("2432902008176640000")) + +// loop.wast:236 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x43\x00\x00\xe0\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [0., 7.]), 0.) + +// loop.wast:237 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xe0\x40\x43\x00\x00\x00\x00\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [7., 0.]), 0.) + +// loop.wast:238 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [1., 1.]), 1.) + +// loop.wast:239 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x40\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [1., 2.]), 2.) + +// loop.wast:240 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x40\x40\x10\x00\xbc\x43\x00\x00\x80\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [1., 3.]), 4.) + +// loop.wast:241 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x80\x40\x10\x00\xbc\x43\x00\x00\xc0\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [1., 4.]), 6.) + +// loop.wast:242 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xc8\x42\x10\x00\xbc\x43\x00\x60\x1f\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [1., 100.]), 2550.) + +// loop.wast:243 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\xca\x42\x10\x00\xbc\x43\x00\x90\x22\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [1., 101.]), 2601.) + +// loop.wast:244 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [2., 1.]), 1.) + +// loop.wast:245 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x40\x40\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [3., 1.]), 1.) + +// loop.wast:246 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x20\x41\x43\x00\x00\x80\x3f\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [10., 1.]), 1.) + +// loop.wast:247 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x00\x40\x10\x00\xbc\x43\x00\x00\x40\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [2., 2.]), 3.) + +// loop.wast:248 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\x40\x40\x10\x00\xbc\x43\x00\x00\x80\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [2., 3.]), 4.) + +// loop.wast:249 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xe0\x40\x43\x00\x00\x80\x40\x10\x00\xbc\x43\xcf\xf3\x24\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [7., 4.]), 10.3095235825) + +// loop.wast:250 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xe0\x40\x43\x00\x00\xc8\x42\x10\x00\xbc\x43\x62\xec\x88\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [7., 100.]), 4381.54785156) + +// loop.wast:251 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7d\x7d\x01\x7d\x02\x8e\x80\x80\x80\x00\x01\x02\x24\x31\x07\x6e\x65\x73\x74\x69\x6e\x67\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xe0\x40\x43\x00\x00\xca\x42\x10\x00\xbc\x43\x00\x90\x22\x45\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "nesting", [7., 101.]), 2601.) + +// loop.wast:253 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x03\x40\x0b\x0b"); + +// loop.wast:257 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x03\x40\x0b\x0b"); + +// loop.wast:261 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x03\x40\x0b\x0b"); + +// loop.wast:265 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x03\x40\x0b\x0b"); + +// loop.wast:270 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x03\x40\x41\x01\x0b\x0b"); + +// loop.wast:276 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x03\x7f\x0b\x0b"); + +// loop.wast:282 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x03\x7f\x01\x0b\x0b"); + +// loop.wast:288 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x03\x7f\x43\x00\x00\x00\x00\x0b\x0b"); + +// loop.wast:294 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x03\x7e\x00\x00\x00\x1b\x0b\x0b"); + +// loop.wast:302 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// loop.wast:306 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/memory.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/memory.wast.js new file mode 100644 index 0000000000..ec2b7a3df1 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/memory.wast.js @@ -0,0 +1,390 @@ + +// memory.wast:2 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00"); + +// memory.wast:3 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01"); + +// memory.wast:4 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x85\x80\x80\x80\x00\x01\x01\x01\x80\x02"); + +// memory.wast:5 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x86\x80\x80\x80\x00\x01\x01\x00\x80\x80\x04"); + +// memory.wast:6 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:7 +let $6 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:8 +let $7 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x61"); + +// memory.wast:9 +let $8 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x8f\x80\x80\x80\x00\x02\x00\x41\x00\x0b\x01\x61\x00\x41\xff\xff\x03\x0b\x01\x62"); + +// memory.wast:10 +let $9 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x93\x80\x80\x80\x00\x03\x00\x41\x00\x0b\x01\x61\x00\x41\x01\x0b\x01\x62\x00\x41\x02\x0b\x01\x63"); + +// memory.wast:13 +let $10 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0b\x87\x80\x80\x80\x00\x01\x00\x23\x00\x0b\x01\x61"); + +// memory.wast:14 +let $11 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0b\x87\x80\x80\x80\x00\x01\x00\x23\x00\x0b\x01\x61"); + +// memory.wast:19 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x85\x80\x80\x80\x00\x02\x00\x00\x00\x00"); + +// memory.wast:20 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x6d\x65\x6d\x6f\x72\x79\x02\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00"); + +// memory.wast:22 +let $12 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x07\x8b\x80\x80\x80\x00\x01\x07\x6d\x65\x6d\x73\x69\x7a\x65\x00\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x3f\x00\x0b\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:23 +assert_return(() => call($12, "memsize", []), 0); + +// memory.wast:24 +let $13 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x07\x8b\x80\x80\x80\x00\x01\x07\x6d\x65\x6d\x73\x69\x7a\x65\x00\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x3f\x00\x0b\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:25 +assert_return(() => call($13, "memsize", []), 0); + +// memory.wast:26 +let $14 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x8b\x80\x80\x80\x00\x01\x07\x6d\x65\x6d\x73\x69\x7a\x65\x00\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x3f\x00\x0b\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x78"); + +// memory.wast:27 +assert_return(() => call($14, "memsize", []), 1); + +// memory.wast:29 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:30 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:31 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x78"); + +// memory.wast:33 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2a\x02\x00\x1a\x0b"); + +// memory.wast:37 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x41\x00\x38\x02\x00\x0b"); + +// memory.wast:41 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2c\x00\x00\x1a\x0b"); + +// memory.wast:45 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x00\x3a\x00\x00\x0b"); + +// memory.wast:49 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x3f\x00\x1a\x0b"); + +// memory.wast:53 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x40\x00\x1a\x0b"); + +// memory.wast:58 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0b\x86\x80\x80\x80\x00\x01\x00\x42\x00\x0b\x00"); + +// memory.wast:62 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x68\x0b\x00"); + +// memory.wast:66 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0b\x85\x80\x80\x80\x00\x01\x00\x01\x0b\x00"); + +// memory.wast:76 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x61"); + +// memory.wast:80 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x01\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x61"); + +// memory.wast:84 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x7f\x0b\x01\x61"); + +// memory.wast:88 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x88\x80\x80\x80\x00\x01\x00\x41\x98\x78\x0b\x01\x61"); + +// memory.wast:92 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x8f\x80\x80\x80\x00\x02\x00\x41\x00\x0b\x01\x61\x00\x41\x80\x80\x06\x0b\x01\x62"); + +// memory.wast:96 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x01\x0b\x00"); + +// memory.wast:100 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0b\x88\x80\x80\x80\x00\x01\x00\x41\x80\xc0\x04\x0b\x00"); + +// memory.wast:104 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x7f\x0b\x00"); + +// memory.wast:113 +assert_unlinkable("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x94\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x06\x67\x6c\x6f\x62\x61\x6c\x03\x7f\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0b\x87\x80\x80\x80\x00\x01\x00\x23\x00\x0b\x01\x61"); + +// memory.wast:121 +let $15 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x00\x0b\x86\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x00"); + +// memory.wast:122 +let $16 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x0b\x88\x80\x80\x80\x00\x01\x00\x41\x80\x80\x04\x0b\x00"); + +// memory.wast:123 +let $17 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x91\x80\x80\x80\x00\x02\x00\x41\x00\x0b\x03\x61\x62\x63\x00\x41\x00\x0b\x03\x64\x65\x66"); + +// memory.wast:124 +let $18 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x8f\x80\x80\x80\x00\x02\x00\x41\x03\x0b\x02\x61\x62\x00\x41\x00\x0b\x02\x64\x65"); + +// memory.wast:125 +let $19 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x02\x0b\x93\x80\x80\x80\x00\x03\x00\x41\x00\x0b\x01\x61\x00\x41\x02\x0b\x01\x62\x00\x41\x01\x0b\x01\x63"); + +// memory.wast:130 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x00"); + +// memory.wast:134 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x85\x80\x80\x80\x00\x01\x00\x81\x80\x04"); + +// memory.wast:138 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x87\x80\x80\x80\x00\x01\x00\x80\x80\x80\x80\x08"); + +// memory.wast:142 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x87\x80\x80\x80\x00\x01\x00\xff\xff\xff\xff\x0f"); + +// memory.wast:146 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x86\x80\x80\x80\x00\x01\x01\x00\x81\x80\x04"); + +// memory.wast:150 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x88\x80\x80\x80\x00\x01\x01\x00\x80\x80\x80\x80\x08"); + +// memory.wast:154 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x05\x88\x80\x80\x80\x00\x01\x01\x00\xff\xff\xff\xff\x0f"); + +// memory.wast:160 +let $20 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2d\x00\x00\x1a\x0b"); + +// memory.wast:161 +let $21 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2f\x01\x00\x1a\x0b"); + +// memory.wast:162 +let $22 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x28\x02\x00\x1a\x0b"); + +// memory.wast:163 +let $23 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2a\x02\x00\x1a\x0b"); + +// memory.wast:165 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x29\x04\x00\x1a\x0b"); + +// memory.wast:169 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x29\x05\x00\x1a\x0b"); + +// memory.wast:173 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x28\x03\x00\x1a\x0b"); + +// memory.wast:177 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2f\x02\x00\x1a\x0b"); + +// memory.wast:181 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x2d\x01\x00\x1a\x0b"); + +// memory.wast:185 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x00\x3a\x01\x00\x0b"); + +// memory.wast:189 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x2f\x02\x00\x0b"); + +// memory.wast:193 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x2d\x01\x00\x0b"); + +// memory.wast:197 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x00\x3a\x01\x00\x0b"); + +// memory.wast:202 +let $24 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x93\x80\x80\x80\x00\x04\x60\x00\x01\x7f\x60\x00\x01\x7c\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x03\x8f\x80\x80\x80\x00\x0e\x00\x00\x00\x01\x02\x02\x02\x02\x03\x03\x03\x03\x03\x03\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xb7\x81\x80\x80\x00\x0e\x04\x64\x61\x74\x61\x00\x00\x07\x61\x6c\x69\x67\x6e\x65\x64\x00\x01\x09\x75\x6e\x61\x6c\x69\x67\x6e\x65\x64\x00\x02\x04\x63\x61\x73\x74\x00\x03\x0b\x69\x33\x32\x5f\x6c\x6f\x61\x64\x38\x5f\x73\x00\x04\x0b\x69\x33\x32\x5f\x6c\x6f\x61\x64\x38\x5f\x75\x00\x05\x0c\x69\x33\x32\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x06\x0c\x69\x33\x32\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x07\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x73\x00\x08\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x75\x00\x09\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x0a\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x0b\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x0c\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x0d\x0a\xdf\x83\x80\x80\x00\x0e\xce\x80\x80\x80\x00\x00\x41\x00\x2d\x00\x00\x41\xc1\x00\x46\x41\x03\x2d\x00\x00\x41\xa7\x01\x46\x71\x41\x06\x2d\x00\x00\x41\x00\x46\x41\x13\x2d\x00\x00\x41\x00\x46\x71\x71\x41\x14\x2d\x00\x00\x41\xd7\x00\x46\x41\x17\x2d\x00\x00\x41\xcd\x00\x46\x71\x41\x18\x2d\x00\x00\x41\x00\x46\x41\xff\x07\x2d\x00\x00\x41\x00\x46\x71\x71\x71\x0b\xc3\x80\x80\x80\x00\x01\x03\x7f\x41\x0a\x21\x00\x02\x40\x03\x40\x20\x00\x41\x00\x46\x04\x40\x0c\x02\x0b\x20\x00\x41\x04\x6c\x21\x02\x20\x02\x20\x00\x36\x02\x00\x20\x02\x28\x02\x00\x21\x01\x20\x00\x20\x01\x47\x04\x40\x41\x00\x0f\x0b\x20\x00\x41\x01\x6b\x21\x00\x0c\x00\x0b\x0b\x41\x01\x0b\xc3\x80\x80\x80\x00\x02\x01\x7f\x02\x7c\x41\x0a\x21\x00\x02\x40\x03\x40\x20\x00\x41\x00\x46\x04\x40\x0c\x02\x0b\x20\x00\xb7\x21\x02\x20\x00\x20\x02\x39\x00\x00\x20\x00\x2b\x00\x00\x21\x01\x20\x02\x20\x01\x62\x04\x40\x41\x00\x0f\x0b\x20\x00\x41\x01\x6b\x21\x00\x0c\x00\x0b\x0b\x41\x01\x0b\xb8\x80\x80\x80\x00\x00\x41\x08\x42\xc7\x9f\x7f\x37\x03\x00\x41\x08\x2b\x03\x00\x42\xc7\x9f\x7f\xbf\x61\x04\x40\x44\x00\x00\x00\x00\x00\x00\x00\x00\x0f\x0b\x41\x09\x42\x00\x37\x00\x00\x41\x0f\x41\xc5\x80\x01\x3b\x00\x00\x41\x09\x2b\x00\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3a\x00\x00\x41\x08\x2c\x00\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3a\x00\x00\x41\x08\x2d\x00\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3b\x01\x00\x41\x08\x2e\x01\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3b\x01\x00\x41\x08\x2f\x01\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3c\x00\x00\x41\x08\x30\x00\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3c\x00\x00\x41\x08\x31\x00\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3d\x01\x00\x41\x08\x32\x01\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3d\x01\x00\x41\x08\x33\x01\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3e\x02\x00\x41\x08\x34\x02\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x08\x20\x00\x3e\x02\x00\x41\x08\x35\x02\x00\x0b\x0b\x94\x80\x80\x80\x00\x02\x00\x41\x00\x0b\x05\x41\x42\x43\xa7\x44\x00\x41\x14\x0b\x04\x57\x41\x53\x4d"); + +// memory.wast:338 +assert_return(() => call($24, "data", []), 1); + +// memory.wast:339 +assert_return(() => call($24, "aligned", []), 1); + +// memory.wast:340 +assert_return(() => call($24, "unaligned", []), 1); + +// memory.wast:341 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x03\x24\x32\x34\x04\x63\x61\x73\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x45\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "cast", []), 42.) + +// memory.wast:343 +assert_return(() => call($24, "i32_load8_s", [-1]), -1); + +// memory.wast:344 +assert_return(() => call($24, "i32_load8_u", [-1]), 255); + +// memory.wast:345 +assert_return(() => call($24, "i32_load16_s", [-1]), -1); + +// memory.wast:346 +assert_return(() => call($24, "i32_load16_u", [-1]), 65535); + +// memory.wast:348 +assert_return(() => call($24, "i32_load8_s", [100]), 100); + +// memory.wast:349 +assert_return(() => call($24, "i32_load8_u", [200]), 200); + +// memory.wast:350 +assert_return(() => call($24, "i32_load16_s", [20000]), 20000); + +// memory.wast:351 +assert_return(() => call($24, "i32_load16_u", [40000]), 40000); + +// memory.wast:353 +assert_return(() => call($24, "i32_load8_s", [-19110589]), 67); + +// memory.wast:354 +assert_return(() => call($24, "i32_load8_s", [878104047]), -17); + +// memory.wast:355 +assert_return(() => call($24, "i32_load8_u", [-19110589]), 67); + +// memory.wast:356 +assert_return(() => call($24, "i32_load8_u", [878104047]), 239); + +// memory.wast:357 +assert_return(() => call($24, "i32_load16_s", [-19110589]), 25923); + +// memory.wast:358 +assert_return(() => call($24, "i32_load16_s", [878104047]), -12817); + +// memory.wast:359 +assert_return(() => call($24, "i32_load16_u", [-19110589]), 25923); + +// memory.wast:360 +assert_return(() => call($24, "i32_load16_u", [878104047]), 52719); + +// memory.wast:362 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_s", [int64("-1")]), int64("-1")) + +// memory.wast:363 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_u", [int64("-1")]), int64("255")) + +// memory.wast:364 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_s", [int64("-1")]), int64("-1")) + +// memory.wast:365 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\xff\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_u", [int64("-1")]), int64("65535")) + +// memory.wast:366 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_s", [int64("-1")]), int64("-1")) + +// memory.wast:367 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x10\x00\x01\x42\xff\xff\xff\xff\x0f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_u", [int64("-1")]), int64("4294967295")) + +// memory.wast:369 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\xe4\x00\x10\x00\x01\x42\xe4\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_s", [int64("100")]), int64("100")) + +// memory.wast:370 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9b\x80\x80\x80\x00\x01\x95\x80\x80\x80\x00\x00\x02\x40\x42\xc8\x01\x10\x00\x01\x42\xc8\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_u", [int64("200")]), int64("200")) + +// memory.wast:371 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xa0\x9c\x01\x10\x00\x01\x42\xa0\x9c\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_s", [int64("20000")]), int64("20000")) + +// memory.wast:372 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xc0\xb8\x02\x10\x00\x01\x42\xc0\xb8\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_u", [int64("40000")]), int64("40000")) + +// memory.wast:373 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xa0\x9c\x01\x10\x00\x01\x42\xa0\x9c\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_s", [int64("20000")]), int64("20000")) + +// memory.wast:374 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\xc0\xb8\x02\x10\x00\x01\x42\xc0\xb8\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_u", [int64("40000")]), int64("40000")) + +// memory.wast:376 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xc3\xca\xd1\xb1\x85\xd3\xae\xee\x7e\x10\x00\x01\x42\xc3\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_s", [int64("-81985529755441853")]), int64("67")) + +// memory.wast:377 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xeb\xc5\xd9\xec\x90\xab\x34\x10\x00\x01\x42\x6f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_s", [int64("3771275841602506223")]), int64("-17")) + +// memory.wast:378 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xc3\xca\xd1\xb1\x85\xd3\xae\xee\x7e\x10\x00\x01\x42\xc3\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_u", [int64("-81985529755441853")]), int64("67")) + +// memory.wast:379 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0b\x69\x36\x34\x5f\x6c\x6f\x61\x64\x38\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xeb\xc5\xd9\xec\x90\xab\x34\x10\x00\x01\x42\xef\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load8_u", [int64("3771275841602506223")]), int64("239")) + +// memory.wast:380 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\xc3\xca\xd1\xb1\x85\xd3\xae\xee\x7e\x10\x00\x01\x42\xc3\xca\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_s", [int64("-81985529755441853")]), int64("25923")) + +// memory.wast:381 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xeb\xc5\xd9\xec\x90\xab\x34\x10\x00\x01\x42\xef\x9b\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_s", [int64("3771275841602506223")]), int64("-12817")) + +// memory.wast:382 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\xc3\xca\xd1\xb1\x85\xd3\xae\xee\x7e\x10\x00\x01\x42\xc3\xca\x01\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_u", [int64("-81985529755441853")]), int64("25923")) + +// memory.wast:383 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xeb\xc5\xd9\xec\x90\xab\x34\x10\x00\x01\x42\xef\x9b\x03\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load16_u", [int64("3771275841602506223")]), int64("52719")) + +// memory.wast:384 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xc3\xca\xd1\xb1\x85\xd3\xae\xee\x7e\x10\x00\x01\x42\xc3\xca\xd1\xb1\x05\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_s", [int64("-81985529755441853")]), int64("1446274371")) + +// memory.wast:385 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xeb\xc5\xd9\xec\x90\xab\x34\x10\x00\x01\x42\xef\x9b\xeb\xc5\x79\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_s", [int64("3771275841602506223")]), int64("-1732588049")) + +// memory.wast:386 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xc3\xca\xd1\xb1\x85\xd3\xae\xee\x7e\x10\x00\x01\x42\xc3\xca\xd1\xb1\x05\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_u", [int64("-81985529755441853")]), int64("1446274371")) + +// memory.wast:387 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x94\x80\x80\x80\x00\x01\x03\x24\x32\x34\x0c\x69\x36\x34\x5f\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa5\x80\x80\x80\x00\x01\x9f\x80\x80\x80\x00\x00\x02\x40\x42\xef\x9b\xeb\xc5\xd9\xec\x90\xab\x34\x10\x00\x01\x42\xef\x9b\xeb\xc5\x09\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$24", $24)), "run", [])); // assert_return(() => call($24, "i64_load32_u", [int64("3771275841602506223")]), int64("2562379247")) + +// memory.wast:389 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:396 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:403 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:410 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:417 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:424 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:431 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:438 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:446 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:453 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:460 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:467 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:475 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:482 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:489 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:496 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:504 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:511 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:518 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// memory.wast:525 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/memory_redundancy.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/memory_redundancy.wast.js new file mode 100644 index 0000000000..23e06646b0 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/memory_redundancy.wast.js @@ -0,0 +1,24 @@ + +// memory_redundancy.wast:5 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x91\x80\x80\x80\x00\x04\x60\x00\x00\x60\x00\x01\x7f\x60\x00\x01\x7d\x60\x01\x7f\x01\x7f\x03\x87\x80\x80\x80\x00\x06\x00\x01\x01\x02\x03\x01\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\xeb\x80\x80\x80\x00\x06\x0f\x7a\x65\x72\x6f\x5f\x65\x76\x65\x72\x79\x74\x68\x69\x6e\x67\x00\x00\x12\x74\x65\x73\x74\x5f\x73\x74\x6f\x72\x65\x5f\x74\x6f\x5f\x6c\x6f\x61\x64\x00\x01\x13\x74\x65\x73\x74\x5f\x72\x65\x64\x75\x6e\x64\x61\x6e\x74\x5f\x6c\x6f\x61\x64\x00\x02\x0f\x74\x65\x73\x74\x5f\x64\x65\x61\x64\x5f\x73\x74\x6f\x72\x65\x00\x03\x06\x6d\x61\x6c\x6c\x6f\x63\x00\x04\x0f\x6d\x61\x6c\x6c\x6f\x63\x5f\x61\x6c\x69\x61\x73\x69\x6e\x67\x00\x05\x0a\xbd\x81\x80\x80\x00\x06\x9e\x80\x80\x80\x00\x00\x41\x00\x41\x00\x36\x02\x00\x41\x04\x41\x00\x36\x02\x00\x41\x08\x41\x00\x36\x02\x00\x41\x0c\x41\x00\x36\x02\x00\x0b\x98\x80\x80\x80\x00\x00\x41\x08\x41\x00\x36\x02\x00\x41\x05\x43\x00\x00\x00\x80\x38\x02\x00\x41\x08\x28\x02\x00\x0b\xa2\x80\x80\x80\x00\x01\x02\x7f\x41\x08\x28\x02\x00\x21\x00\x41\x05\x41\x80\x80\x80\x80\x78\x36\x02\x00\x41\x08\x28\x02\x00\x21\x01\x20\x00\x20\x01\x6a\x0b\x9f\x80\x80\x80\x00\x01\x01\x7d\x41\x08\x41\xa3\xc6\x8c\x99\x02\x36\x02\x00\x41\x0b\x2a\x02\x00\x21\x00\x41\x08\x41\x00\x36\x02\x00\x20\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x10\x0b\xa3\x80\x80\x80\x00\x01\x02\x7f\x41\x04\x10\x04\x21\x00\x41\x04\x10\x04\x21\x01\x20\x00\x41\x2a\x36\x02\x00\x20\x01\x41\x2b\x36\x02\x00\x20\x00\x28\x02\x00\x0b"); + +// memory_redundancy.wast:59 +assert_return(() => call($1, "test_store_to_load", []), 128); + +// memory_redundancy.wast:60 +run(() => call($1, "zero_everything", [])); + +// memory_redundancy.wast:61 +assert_return(() => call($1, "test_redundant_load", []), 128); + +// memory_redundancy.wast:62 +run(() => call($1, "zero_everything", [])); + +// memory_redundancy.wast:63 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x74\x65\x73\x74\x5f\x64\x65\x61\x64\x5f\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x23\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "test_dead_store", []), 4.90454462514e-44) + +// memory_redundancy.wast:64 +run(() => call($1, "zero_everything", [])); + +// memory_redundancy.wast:65 +assert_return(() => call($1, "malloc_aliasing", []), 43); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/memory_trap.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/memory_trap.wast.js new file mode 100644 index 0000000000..e52a63694f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/memory_trap.wast.js @@ -0,0 +1,519 @@ + +// memory_trap.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x02\x7f\x7f\x00\x60\x01\x7f\x01\x7f\x03\x85\x80\x80\x80\x00\x04\x00\x01\x02\x02\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x9e\x80\x80\x80\x00\x03\x05\x73\x74\x6f\x72\x65\x00\x01\x04\x6c\x6f\x61\x64\x00\x02\x0b\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x00\x03\x0a\xba\x80\x80\x80\x00\x04\x89\x80\x80\x80\x00\x00\x3f\x00\x41\x80\x80\x04\x6c\x0b\x8c\x80\x80\x80\x00\x00\x10\x00\x20\x00\x6a\x20\x01\x36\x02\x00\x0b\x8a\x80\x80\x80\x00\x00\x10\x00\x20\x00\x6a\x28\x02\x00\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x40\x00\x0b"); + +// memory_trap.wast:21 +assert_return(() => call($1, "store", [-4, 42])); + +// memory_trap.wast:22 +assert_return(() => call($1, "load", [-4]), 42); + +// memory_trap.wast:23 +assert_trap(() => call($1, "store", [-3, 13])); + +// memory_trap.wast:24 +assert_trap(() => call($1, "load", [-3])); + +// memory_trap.wast:25 +assert_trap(() => call($1, "store", [-2, 13])); + +// memory_trap.wast:26 +assert_trap(() => call($1, "load", [-2])); + +// memory_trap.wast:27 +assert_trap(() => call($1, "store", [-1, 13])); + +// memory_trap.wast:28 +assert_trap(() => call($1, "load", [-1])); + +// memory_trap.wast:29 +assert_trap(() => call($1, "store", [0, 13])); + +// memory_trap.wast:30 +assert_trap(() => call($1, "load", [0])); + +// memory_trap.wast:31 +assert_trap(() => call($1, "store", [-2147483648, 13])); + +// memory_trap.wast:32 +assert_trap(() => call($1, "load", [-2147483648])); + +// memory_trap.wast:33 +assert_return(() => call($1, "grow_memory", [65537]), -1); + +// memory_trap.wast:35 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa9\x80\x80\x80\x00\x08\x60\x01\x7f\x01\x7f\x60\x01\x7f\x01\x7e\x60\x01\x7f\x01\x7d\x60\x01\x7f\x01\x7c\x60\x02\x7f\x7f\x00\x60\x02\x7f\x7e\x00\x60\x02\x7f\x7d\x00\x60\x02\x7f\x7c\x00\x03\x98\x80\x80\x80\x00\x17\x00\x01\x02\x03\x00\x00\x00\x00\x01\x01\x01\x01\x01\x01\x04\x05\x06\x07\x04\x04\x05\x05\x05\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xb3\x82\x80\x80\x00\x17\x08\x69\x33\x32\x2e\x6c\x6f\x61\x64\x00\x00\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x02\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x03\x0b\x69\x33\x32\x2e\x6c\x6f\x61\x64\x38\x5f\x73\x00\x04\x0b\x69\x33\x32\x2e\x6c\x6f\x61\x64\x38\x5f\x75\x00\x05\x0c\x69\x33\x32\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x06\x0c\x69\x33\x32\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x07\x0b\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x73\x00\x08\x0b\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x75\x00\x09\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x0a\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x0b\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x0c\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x0d\x09\x69\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x0e\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x0f\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x10\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x11\x0a\x69\x33\x32\x2e\x73\x74\x6f\x72\x65\x38\x00\x12\x0b\x69\x33\x32\x2e\x73\x74\x6f\x72\x65\x31\x36\x00\x13\x0a\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x38\x00\x14\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x31\x36\x00\x15\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x16\x0a\xa7\x82\x80\x80\x00\x17\x87\x80\x80\x80\x00\x00\x20\x00\x28\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x29\x03\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2a\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2b\x03\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2c\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2e\x01\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x2f\x01\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x30\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x31\x00\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x32\x01\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x33\x01\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x34\x02\x00\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x35\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x36\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x37\x03\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x38\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x39\x03\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x3a\x00\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x3b\x01\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x3c\x00\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x3d\x01\x00\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x3e\x02\x00\x0b\x0b\x9d\x80\x80\x80\x00\x02\x00\x41\x00\x0b\x08\x61\x62\x63\x64\x65\x66\x67\x68\x00\x41\xf8\xff\x03\x0b\x08\x61\x62\x63\x64\x65\x66\x67\x68"); + +// memory_trap.wast:111 +assert_trap(() => call($2, "i32.store", [65536, 0])); + +// memory_trap.wast:112 +assert_trap(() => call($2, "i32.store", [65535, 0])); + +// memory_trap.wast:113 +assert_trap(() => call($2, "i32.store", [65534, 0])); + +// memory_trap.wast:114 +assert_trap(() => call($2, "i32.store", [65533, 0])); + +// memory_trap.wast:115 +assert_trap(() => call($2, "i32.store", [-1, 0])); + +// memory_trap.wast:116 +assert_trap(() => call($2, "i32.store", [-2, 0])); + +// memory_trap.wast:117 +assert_trap(() => call($2, "i32.store", [-3, 0])); + +// memory_trap.wast:118 +assert_trap(() => call($2, "i32.store", [-4, 0])); + +// memory_trap.wast:119 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65536, int64("0")])) + +// memory_trap.wast:120 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65535, int64("0")])) + +// memory_trap.wast:121 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65534, int64("0")])) + +// memory_trap.wast:122 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65533, int64("0")])) + +// memory_trap.wast:123 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfc\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65532, int64("0")])) + +// memory_trap.wast:124 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfb\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65531, int64("0")])) + +// memory_trap.wast:125 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfa\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65530, int64("0")])) + +// memory_trap.wast:126 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xf9\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [65529, int64("0")])) + +// memory_trap.wast:127 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-1, int64("0")])) + +// memory_trap.wast:128 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-2, int64("0")])) + +// memory_trap.wast:129 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-3, int64("0")])) + +// memory_trap.wast:130 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-4, int64("0")])) + +// memory_trap.wast:131 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7b\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-5, int64("0")])) + +// memory_trap.wast:132 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7a\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-6, int64("0")])) + +// memory_trap.wast:133 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x79\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-7, int64("0")])) + +// memory_trap.wast:134 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x78\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store", [-8, int64("0")])) + +// memory_trap.wast:135 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [65536, 0.])) + +// memory_trap.wast:136 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [65535, 0.])) + +// memory_trap.wast:137 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [65534, 0.])) + +// memory_trap.wast:138 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [65533, 0.])) + +// memory_trap.wast:139 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [-1, 0.])) + +// memory_trap.wast:140 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [-2, 0.])) + +// memory_trap.wast:141 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [-3, 0.])) + +// memory_trap.wast:142 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7d\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x33\x32\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x43\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.store", [-4, 0.])) + +// memory_trap.wast:143 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65536, 0.])) + +// memory_trap.wast:144 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65535, 0.])) + +// memory_trap.wast:145 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65534, 0.])) + +// memory_trap.wast:146 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65533, 0.])) + +// memory_trap.wast:147 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xfc\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65532, 0.])) + +// memory_trap.wast:148 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xfb\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65531, 0.])) + +// memory_trap.wast:149 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xfa\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65530, 0.])) + +// memory_trap.wast:150 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9c\x80\x80\x80\x00\x01\x96\x80\x80\x80\x00\x00\x02\x40\x41\xf9\xff\x03\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [65529, 0.])) + +// memory_trap.wast:151 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-1, 0.])) + +// memory_trap.wast:152 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-2, 0.])) + +// memory_trap.wast:153 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-3, 0.])) + +// memory_trap.wast:154 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-4, 0.])) + +// memory_trap.wast:155 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x7b\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-5, 0.])) + +// memory_trap.wast:156 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x7a\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-6, 0.])) + +// memory_trap.wast:157 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x79\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-7, 0.])) + +// memory_trap.wast:158 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7c\x00\x02\x90\x80\x80\x80\x00\x01\x02\x24\x32\x09\x66\x36\x34\x2e\x73\x74\x6f\x72\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x41\x78\x44\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.store", [-8, 0.])) + +// memory_trap.wast:159 +assert_trap(() => call($2, "i32.store8", [65536, 0])); + +// memory_trap.wast:160 +assert_trap(() => call($2, "i32.store8", [-1, 0])); + +// memory_trap.wast:161 +assert_trap(() => call($2, "i32.store16", [65536, 0])); + +// memory_trap.wast:162 +assert_trap(() => call($2, "i32.store16", [65535, 0])); + +// memory_trap.wast:163 +assert_trap(() => call($2, "i32.store16", [-1, 0])); + +// memory_trap.wast:164 +assert_trap(() => call($2, "i32.store16", [-2, 0])); + +// memory_trap.wast:165 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x38\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store8", [65536, int64("0")])) + +// memory_trap.wast:166 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x91\x80\x80\x80\x00\x01\x02\x24\x32\x0a\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x38\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store8", [-1, int64("0")])) + +// memory_trap.wast:167 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store16", [65536, int64("0")])) + +// memory_trap.wast:168 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store16", [65535, int64("0")])) + +// memory_trap.wast:169 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store16", [-1, int64("0")])) + +// memory_trap.wast:170 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x31\x36\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store16", [-2, int64("0")])) + +// memory_trap.wast:171 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [65536, int64("0")])) + +// memory_trap.wast:172 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [65535, int64("0")])) + +// memory_trap.wast:173 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [65534, int64("0")])) + +// memory_trap.wast:174 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [65533, int64("0")])) + +// memory_trap.wast:175 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [-1, int64("0")])) + +// memory_trap.wast:176 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [-2, int64("0")])) + +// memory_trap.wast:177 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [-3, int64("0")])) + +// memory_trap.wast:178 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7f\x7e\x00\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x73\x74\x6f\x72\x65\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.store32", [-4, int64("0")])) + +// memory_trap.wast:179 +assert_trap(() => call($2, "i32.load", [65536])); + +// memory_trap.wast:180 +assert_trap(() => call($2, "i32.load", [65535])); + +// memory_trap.wast:181 +assert_trap(() => call($2, "i32.load", [65534])); + +// memory_trap.wast:182 +assert_trap(() => call($2, "i32.load", [65533])); + +// memory_trap.wast:183 +assert_trap(() => call($2, "i32.load", [-1])); + +// memory_trap.wast:184 +assert_trap(() => call($2, "i32.load", [-2])); + +// memory_trap.wast:185 +assert_trap(() => call($2, "i32.load", [-3])); + +// memory_trap.wast:186 +assert_trap(() => call($2, "i32.load", [-4])); + +// memory_trap.wast:187 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65536])) + +// memory_trap.wast:188 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65535])) + +// memory_trap.wast:189 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65534])) + +// memory_trap.wast:190 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65533])) + +// memory_trap.wast:191 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfc\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65532])) + +// memory_trap.wast:192 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfb\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65531])) + +// memory_trap.wast:193 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfa\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65530])) + +// memory_trap.wast:194 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xf9\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [65529])) + +// memory_trap.wast:195 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-1])) + +// memory_trap.wast:196 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-2])) + +// memory_trap.wast:197 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-3])) + +// memory_trap.wast:198 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-4])) + +// memory_trap.wast:199 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7b\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-5])) + +// memory_trap.wast:200 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7a\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-6])) + +// memory_trap.wast:201 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x79\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-7])) + +// memory_trap.wast:202 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x78\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load", [-8])) + +// memory_trap.wast:203 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [65536])) + +// memory_trap.wast:204 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [65535])) + +// memory_trap.wast:205 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [65534])) + +// memory_trap.wast:206 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [65533])) + +// memory_trap.wast:207 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [-1])) + +// memory_trap.wast:208 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [-2])) + +// memory_trap.wast:209 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [-3])) + +// memory_trap.wast:210 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7d\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f32.load", [-4])) + +// memory_trap.wast:211 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65536])) + +// memory_trap.wast:212 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65535])) + +// memory_trap.wast:213 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65534])) + +// memory_trap.wast:214 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65533])) + +// memory_trap.wast:215 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfc\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65532])) + +// memory_trap.wast:216 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfb\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65531])) + +// memory_trap.wast:217 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfa\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65530])) + +// memory_trap.wast:218 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xf9\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [65529])) + +// memory_trap.wast:219 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-1])) + +// memory_trap.wast:220 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-2])) + +// memory_trap.wast:221 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-3])) + +// memory_trap.wast:222 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-4])) + +// memory_trap.wast:223 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7b\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-5])) + +// memory_trap.wast:224 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7a\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-6])) + +// memory_trap.wast:225 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x79\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-7])) + +// memory_trap.wast:226 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x78\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "f64.load", [-8])) + +// memory_trap.wast:227 +assert_trap(() => call($2, "i32.load8_s", [65536])); + +// memory_trap.wast:228 +assert_trap(() => call($2, "i32.load8_s", [-1])); + +// memory_trap.wast:229 +assert_trap(() => call($2, "i32.load8_u", [65536])); + +// memory_trap.wast:230 +assert_trap(() => call($2, "i32.load8_u", [-1])); + +// memory_trap.wast:231 +assert_trap(() => call($2, "i32.load16_s", [65536])); + +// memory_trap.wast:232 +assert_trap(() => call($2, "i32.load16_s", [65535])); + +// memory_trap.wast:233 +assert_trap(() => call($2, "i32.load16_s", [-1])); + +// memory_trap.wast:234 +assert_trap(() => call($2, "i32.load16_s", [-2])); + +// memory_trap.wast:235 +assert_trap(() => call($2, "i32.load16_u", [65536])); + +// memory_trap.wast:236 +assert_trap(() => call($2, "i32.load16_u", [65535])); + +// memory_trap.wast:237 +assert_trap(() => call($2, "i32.load16_u", [-1])); + +// memory_trap.wast:238 +assert_trap(() => call($2, "i32.load16_u", [-2])); + +// memory_trap.wast:239 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load8_s", [65536])) + +// memory_trap.wast:240 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load8_s", [-1])) + +// memory_trap.wast:241 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load8_u", [65536])) + +// memory_trap.wast:242 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x92\x80\x80\x80\x00\x01\x02\x24\x32\x0b\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load8_u", [-1])) + +// memory_trap.wast:243 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_s", [65536])) + +// memory_trap.wast:244 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_s", [65535])) + +// memory_trap.wast:245 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_s", [-1])) + +// memory_trap.wast:246 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_s", [-2])) + +// memory_trap.wast:247 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_u", [65536])) + +// memory_trap.wast:248 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_u", [65535])) + +// memory_trap.wast:249 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_u", [-1])) + +// memory_trap.wast:250 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load16_u", [-2])) + +// memory_trap.wast:251 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [65536])) + +// memory_trap.wast:252 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [65535])) + +// memory_trap.wast:253 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [65534])) + +// memory_trap.wast:254 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [65533])) + +// memory_trap.wast:255 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [-1])) + +// memory_trap.wast:256 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [-2])) + +// memory_trap.wast:257 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [-3])) + +// memory_trap.wast:258 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_s", [-4])) + +// memory_trap.wast:259 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x80\x80\x04\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [65536])) + +// memory_trap.wast:260 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xff\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [65535])) + +// memory_trap.wast:261 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfe\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [65534])) + +// memory_trap.wast:262 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x41\xfd\xff\x03\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [65533])) + +// memory_trap.wast:263 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [-1])) + +// memory_trap.wast:264 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7e\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [-2])) + +// memory_trap.wast:265 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7d\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [-3])) + +// memory_trap.wast:266 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x93\x80\x80\x80\x00\x01\x02\x24\x32\x0c\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x7c\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "i64.load32_u", [-4])) + +// memory_trap.wast:269 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa4\x80\x80\x80\x00\x01\x9e\x80\x80\x80\x00\x00\x02\x40\x41\xf8\xff\x03\x10\x00\x01\x42\xe1\xc4\x8d\xa3\xd6\xcc\xd9\xb3\xe8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", [65528]), int64("7523094288207667809")) + +// memory_trap.wast:270 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7f\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x32\x08\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x41\x00\x10\x00\x01\x42\xe1\xc4\x8d\xa3\xd6\xcc\xd9\xb3\xe8\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_return(() => call($2, "i64.load", [0]), int64("7523094288207667809")) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/names.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/names.wast.js new file mode 100644 index 0000000000..f5eda4e93d --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/names.wast.js @@ -0,0 +1,1437 @@ + +// names.wast:4 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x66\x6f\x6f\x00\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x41\x00\x0b"); + +// names.wast:8 +assert_return(() => call($1, "foo", []), 0); + +// names.wast:12 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x66\x6f\x6f\x00\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x41\x01\x0b"); + +// names.wast:16 +assert_return(() => call($2, "foo", []), 1); + +// names.wast:19 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\xda\x83\x80\x80\x00\xd8\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\xfc\xa0\x80\x80\x00\xd8\x03\x00\x00\x00\x01\x30\x00\x01\x02\x2d\x30\x00\x02\x01\x5f\x00\x03\x01\x24\x00\x04\x01\x40\x00\x05\x21\x7e\x21\x40\x23\x24\x25\x5e\x26\x2a\x28\x29\x5f\x2b\x60\x2d\x3d\x7b\x7d\x7c\x5b\x5d\x5c\x3a\x22\x3b\x27\x3c\x3e\x3f\x2c\x2e\x2f\x20\x00\x06\x03\x4e\x61\x4e\x00\x07\x08\x49\x6e\x66\x69\x6e\x69\x74\x79\x00\x08\x02\x69\x66\x00\x09\x06\x6d\x61\x6c\x6c\x6f\x63\x00\x0a\x07\x5f\x6d\x61\x6c\x6c\x6f\x63\x00\x0b\x08\x5f\x5f\x6d\x61\x6c\x6c\x6f\x63\x00\x0c\x01\x61\x00\x0d\x01\x41\x00\x0e\x03\xef\xbb\xbf\x00\x0f\x02\xc3\x85\x00\x10\x03\x41\xcc\x8a\x00\x11\x03\xe2\x84\xab\x00\x12\x03\xef\xac\x83\x00\x13\x04\x66\xef\xac\x81\x00\x14\x03\x66\x66\x69\x00\x15\x10\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x00\x16\x10\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f\x00\x17\x02\x20\x7f\x00\x18\x20\xc2\x80\xc2\x81\xc2\x82\xc2\x83\xc2\x84\xc2\x85\xc2\x86\xc2\x87\xc2\x88\xc2\x89\xc2\x8a\xc2\x8b\xc2\x8c\xc2\x8d\xc2\x8e\xc2\x8f\x00\x19\x20\xc2\x90\xc2\x91\xc2\x92\xc2\x93\xc2\x94\xc2\x95\xc2\x96\xc2\x97\xc2\x98\xc2\x99\xc2\x9a\xc2\x9b\xc2\x9c\xc2\x9d\xc2\x9e\xc2\x9f\x00\x1a\x18\xef\xbf\xb0\xef\xbf\xb1\xef\xbf\xb2\xef\xbf\xb3\xef\xbf\xb4\xef\xbf\xb5\xef\xbf\xb6\xef\xbf\xb7\x00\x1b\x18\xef\xbf\xb8\xef\xbf\xb9\xef\xbf\xba\xef\xbf\xbb\xef\xbf\xbc\xef\xbf\xbd\xef\xbf\xbe\xef\xbf\xbf\x00\x1c\x30\xe2\x90\x80\xe2\x90\x81\xe2\x90\x82\xe2\x90\x83\xe2\x90\x84\xe2\x90\x85\xe2\x90\x86\xe2\x90\x87\xe2\x90\x88\xe2\x90\x89\xe2\x90\x8a\xe2\x90\x8b\xe2\x90\x8c\xe2\x90\x8d\xe2\x90\x8e\xe2\x90\x8f\x00\x1d\x30\xe2\x90\x90\xe2\x90\x91\xe2\x90\x92\xe2\x90\x93\xe2\x90\x94\xe2\x90\x95\xe2\x90\x96\xe2\x90\x97\xe2\x90\x98\xe2\x90\x99\xe2\x90\x9a\xe2\x90\x9b\xe2\x90\x9c\xe2\x90\x9d\xe2\x90\x9e\xe2\x90\x9f\x00\x1e\x06\xe2\x90\xa0\xe2\x90\xa1\x00\x1f\x2a\xef\xbf\xb0\xef\xbf\xb1\xef\xbf\xb2\xef\xbf\xb3\xef\xbf\xb4\xef\xbf\xb5\xef\xbf\xb6\xef\xbf\xb7\xef\xbf\xb8\xef\xbf\xb9\xef\xbf\xba\xef\xbf\xbb\xef\xbf\xbc\xef\xbf\xbd\x00\x20\x03\xe2\x80\x8d\x00\x21\x03\xe2\x80\x8c\x00\x22\x02\xcd\x8f\x00\x23\x03\xe2\x81\xa0\x00\x24\x03\xe2\xb5\xbf\x00\x25\x04\xf0\x91\x81\xbf\x00\x26\x03\xe1\xa0\x8e\x00\x27\x16\xef\xbf\xaf\xe2\x80\x8b\xc2\xa0\xc2\xad\xe2\x81\xa0\xe1\x9a\x80\xe2\x80\xae\xe2\x80\xad\x00\x28\x27\xe2\x80\x8e\xe2\x80\x8f\xe2\x80\x91\xe2\x80\xa8\xe2\x80\xa9\xe2\x80\xaa\xe2\x80\xab\xe2\x80\xac\xe2\x80\xaf\xe2\x81\xa6\xe2\x81\xa7\xe2\x81\xa8\xe2\x81\xa9\x00\x29\x12\xe2\x81\xaa\xe2\x81\xab\xe2\x81\xac\xe2\x81\xad\xe2\x81\xae\xe2\x81\xaf\x00\x2a\x0c\xe2\x81\xa1\xe2\x81\xa2\xe2\x81\xa3\xe2\x81\xa4\x00\x2b\x0c\xf0\x90\x80\x80\xf3\x9f\xbf\xbf\xf4\x8f\xbf\xbf\x00\x2c\x81\x02\x5a\xcc\x8f\xcd\x86\xcc\x86\xcd\x9b\xcd\x8c\xcc\xb4\xcd\x98\xcd\x9e\xcd\x87\xcc\xab\xcc\xa5\xcc\xaa\xcd\x93\xcd\x88\xcd\x94\xcd\x8e\xcc\x97\xcc\x9e\xcc\xba\xcc\xaf\xcc\xb1\xcc\x9e\xcc\x99\xcc\xb1\xcc\x9c\xcc\x96\xcc\xa0\x61\xcd\x97\xcd\xa8\xcc\x8e\xcc\x84\xcc\x86\xcd\x97\xcc\xbf\xcd\xa1\xcd\x9f\xcd\x80\xcc\xb6\xcd\x81\xcc\xa5\xcc\xb0\xcc\xb3\xcc\xad\xcd\x99\xcc\xb2\xcc\xb1\xcc\xb9\xcc\x9d\xcd\x8e\xcc\xbc\x6c\xcd\x84\xcd\x8a\xcc\x9a\xcd\x97\xcd\xa6\xcd\x84\xcd\xab\xcc\x87\xcd\x81\xcc\xb6\xcc\xb7\xcd\x89\xcc\xa9\xcc\xb9\xcc\xab\xcc\x9d\xcd\x96\xcd\x85\xcc\x99\xcc\xb2\xcc\xbc\xcd\x87\xcd\x9a\xcd\x8d\xcc\xae\xcd\x8e\xcc\xa5\xcd\x85\xcc\x9e\x67\xcd\x83\xcc\x90\xcc\x85\xcd\xae\xcc\x94\xcc\x90\xcc\x8e\xcc\x82\xcc\x8f\xcc\xbe\xcd\x8a\xcc\x8d\xcd\x8b\xcd\x8a\xcd\xa7\xcc\x81\xcc\x86\xcd\xa6\xcd\x9e\xcc\xb6\xcd\x95\xcd\x94\xcd\x9a\xcc\xa9\x6f\xcd\x8b\xcc\x94\xcd\x90\xcd\xaa\xcd\xa9\xcc\xa1\xcd\x8f\xcc\xa2\xcc\xa7\xcd\x81\xcc\xab\xcc\x99\xcc\xa4\xcc\xae\xcd\x96\xcd\x99\xcd\x93\xcc\xba\xcc\x9c\xcc\xa9\xcc\xbc\xcc\x98\xcc\xa0\x00\x2d\x0c\xe1\x85\x9f\xe1\x85\xa0\xe3\x85\xa4\xef\xbe\xa0\x00\x2e\x03\xef\xb8\x80\x00\x2f\x03\xef\xb8\x84\x00\x30\x04\xf3\xa0\x84\x80\x00\x31\x04\xf3\xa0\x87\xaf\x00\x32\x02\xcc\x88\x00\x33\x01\x0a\x00\x34\x03\xe2\x90\xa4\x00\x35\x03\xe2\x80\xa8\x00\x36\x01\x0d\x00\x37\x02\x0d\x0a\x00\x38\x02\x0a\x0d\x00\x39\x01\x1e\x00\x3a\x01\x0b\x00\x3b\x01\x0c\x00\x3c\x02\xc2\x85\x00\x3d\x03\xe2\x80\xa9\x00\x3e\x03\xe2\x80\xa6\x00\x3f\x03\xe2\x8f\x8e\x00\x40\x02\xc2\x8b\x00\x41\x02\xc2\x8c\x00\x42\x02\xc2\x8d\x00\x43\x03\xe2\x86\xb5\x00\x44\x03\xe2\x86\xa9\x00\x45\x03\xe2\x8c\xa4\x00\x46\x03\xe2\xa4\xb6\x00\x47\x03\xe2\x86\xb2\x00\x48\x03\xe2\xae\xa8\x00\x49\x03\xe2\xae\xb0\x00\x4a\x03\xef\xbf\xbd\x00\x4b\x03\xef\xb7\x90\x00\x4c\x03\xef\xb7\x91\x00\x4d\x03\xef\xb7\x92\x00\x4e\x03\xef\xb7\x93\x00\x4f\x03\xef\xb7\x94\x00\x50\x03\xef\xb7\x95\x00\x51\x03\xef\xb7\x96\x00\x52\x03\xef\xb7\x97\x00\x53\x03\xef\xb7\x98\x00\x54\x03\xef\xb7\x99\x00\x55\x03\xef\xb7\x9a\x00\x56\x03\xef\xb7\x9b\x00\x57\x03\xef\xb7\x9c\x00\x58\x03\xef\xb7\x9d\x00\x59\x03\xef\xb7\x9e\x00\x5a\x03\xef\xb7\x9f\x00\x5b\x03\xef\xb7\xa0\x00\x5c\x03\xef\xb7\xa1\x00\x5d\x03\xef\xb7\xa2\x00\x5e\x03\xef\xb7\xa3\x00\x5f\x03\xef\xb7\xa4\x00\x60\x03\xef\xb7\xa5\x00\x61\x03\xef\xb7\xa6\x00\x62\x03\xef\xb7\xa7\x00\x63\x03\xef\xb7\xa8\x00\x64\x03\xef\xb7\xa9\x00\x65\x03\xef\xb7\xaa\x00\x66\x03\xef\xb7\xab\x00\x67\x03\xef\xb7\xac\x00\x68\x03\xef\xb7\xad\x00\x69\x03\xef\xb7\xae\x00\x6a\x03\xef\xb7\xaf\x00\x6b\x03\xef\xbf\xbe\x00\x6c\x03\xef\xbf\xbf\x00\x6d\x04\xf0\x9f\xbf\xbe\x00\x6e\x04\xf0\x9f\xbf\xbf\x00\x6f\x04\xf0\xaf\xbf\xbe\x00\x70\x04\xf0\xaf\xbf\xbf\x00\x71\x04\xf0\xbf\xbf\xbe\x00\x72\x04\xf0\xbf\xbf\xbf\x00\x73\x04\xf1\x8f\xbf\xbe\x00\x74\x04\xf1\x8f\xbf\xbf\x00\x75\x04\xf1\x9f\xbf\xbe\x00\x76\x04\xf1\x9f\xbf\xbf\x00\x77\x04\xf1\xaf\xbf\xbe\x00\x78\x04\xf1\xaf\xbf\xbf\x00\x79\x04\xf1\xbf\xbf\xbe\x00\x7a\x04\xf1\xbf\xbf\xbf\x00\x7b\x04\xf2\x8f\xbf\xbe\x00\x7c\x04\xf2\x8f\xbf\xbf\x00\x7d\x04\xf2\x9f\xbf\xbe\x00\x7e\x04\xf2\x9f\xbf\xbf\x00\x7f\x04\xf2\xaf\xbf\xbe\x00\x80\x01\x04\xf2\xaf\xbf\xbf\x00\x81\x01\x04\xf2\xbf\xbf\xbe\x00\x82\x01\x04\xf2\xbf\xbf\xbf\x00\x83\x01\x04\xf3\x8f\xbf\xbe\x00\x84\x01\x04\xf3\x8f\xbf\xbf\x00\x85\x01\x04\xf3\x9f\xbf\xbe\x00\x86\x01\x04\xf3\x9f\xbf\xbf\x00\x87\x01\x04\xf3\xaf\xbf\xbe\x00\x88\x01\x04\xf3\xaf\xbf\xbf\x00\x89\x01\x04\xf3\xbf\xbf\xbe\x00\x8a\x01\x04\xf3\xbf\xbf\xbf\x00\x8b\x01\x04\xf4\x8f\xbf\xbe\x00\x8c\x01\x04\xf4\x8f\xbf\xbf\x00\x8d\x01\x09\xcc\x88\xe2\x80\xbd\xcc\x88\xcc\x89\x00\x8e\x01\x03\x61\x62\x63\x00\x8f\x01\x06\xe2\x80\xad\x61\x62\x63\x00\x90\x01\x06\xe2\x80\xae\x63\x62\x61\x00\x91\x01\x09\xe2\x80\xad\x61\x62\x63\xe2\x80\xae\x00\x92\x01\x09\xe2\x80\xae\x63\x62\x61\xe2\x80\xad\x00\x93\x01\x04\xf0\x9d\x91\xa8\x00\x94\x01\x04\xf0\x9d\x90\xb4\x00\x95\x01\x04\xf0\x9d\x98\x88\x00\x96\x01\x04\xf0\x9d\x98\xbc\x00\x97\x01\x04\xf0\x9d\x90\x80\x00\x98\x01\x04\xf0\x9d\x93\x90\x00\x99\x01\x04\xf0\x9d\x95\xac\x00\x9a\x01\x04\xf0\x9d\x97\x94\x00\x9b\x01\x04\xf0\x9d\x92\x9c\x00\x9c\x01\x04\xf0\x9d\x94\x84\x00\x9d\x01\x04\xf0\x9d\x94\xb8\x00\x9e\x01\x04\xf0\x9d\x96\xa0\x00\x9f\x01\x04\xf0\x9d\x99\xb0\x00\xa0\x01\x03\xe1\xb4\x80\x00\xa1\x01\x03\xe1\xb4\xac\x00\xa2\x01\x03\xe2\x92\xb6\x00\xa3\x01\x03\xef\xbc\xa1\x00\xa4\x01\x04\xf0\x9f\x84\x90\x00\xa5\x01\x04\xf0\x9f\x84\xb0\x00\xa6\x01\x04\xf3\xa0\x81\x81\x00\xa7\x01\x06\x55\x2b\x30\x30\x34\x31\x00\xa8\x01\x04\x41\xe2\x80\x8b\x00\xa9\x01\x02\xd0\x90\x00\xaa\x01\x03\xea\x99\x96\x00\xab\x01\x03\xe2\xb7\xbc\x00\xac\x01\x03\xe2\xb7\xb6\x00\xad\x01\x03\xe2\xb1\xaf\x00\xae\x01\x04\xf0\x9f\x85\x90\x00\xaf\x01\x04\xf0\x9f\x85\xb0\x00\xb0\x01\x03\xe2\xb0\xad\x00\xb1\x01\x04\xf0\x90\x90\x82\x00\xb2\x01\x04\xf0\x90\x90\x88\x00\xb3\x01\x04\xf0\x90\x92\xb0\x00\xb4\x01\x02\xc3\x80\x00\xb5\x01\x02\xc3\x81\x00\xb6\x01\x02\xc3\x82\x00\xb7\x01\x02\xc3\x83\x00\xb8\x01\x02\xc3\x84\x00\xb9\x01\x02\xc4\x80\x00\xba\x01\x02\xc4\x82\x00\xbb\x01\x02\xc4\x84\x00\xbc\x01\x02\xc7\x8d\x00\xbd\x01\x02\xc7\x9e\x00\xbe\x01\x02\xc7\xa0\x00\xbf\x01\x02\xc7\xba\x00\xc0\x01\x02\xc8\x80\x00\xc1\x01\x02\xc8\x82\x00\xc2\x01\x02\xc8\xa6\x00\xc3\x01\x02\xc8\xba\x00\xc4\x01\x02\xd3\x90\x00\xc5\x01\x02\xd3\x92\x00\xc6\x01\x02\xdf\x8a\x00\xc7\x01\x03\xe0\xa0\xa1\x00\xc8\x01\x03\xe0\xa0\xa2\x00\xc9\x01\x03\xe0\xa0\xa3\x00\xca\x01\x03\xe0\xa0\xa4\x00\xcb\x01\x03\xe0\xa0\xa5\x00\xcc\x01\x03\xe0\xa4\x84\x00\xcd\x01\x03\xe0\xa4\x85\x00\xce\x01\x03\xe0\xa5\xb2\x00\xcf\x01\x03\xe0\xa6\x85\x00\xd0\x01\x03\xe0\xa8\x85\x00\xd1\x01\x03\xe0\xaa\x85\x00\xd2\x01\x03\xe0\xac\x85\x00\xd3\x01\x03\xe0\xae\x85\x00\xd4\x01\x03\xe0\xb0\x85\x00\xd5\x01\x03\xe0\xb2\x85\x00\xd6\x01\x03\xe0\xb4\x85\x00\xd7\x01\x03\xe0\xb8\xb0\x00\xd8\x01\x03\xe0\xba\xb0\x00\xd9\x01\x03\xe0\xbc\x81\x00\xda\x01\x03\xe0\xbd\xa8\x00\xdb\x01\x03\xe0\xbe\xb8\x00\xdc\x01\x03\xe1\x80\xa1\x00\xdd\x01\x03\xe1\x80\xa2\x00\xde\x01\x03\xe1\x82\x9c\x00\xdf\x01\x03\xe1\x85\xa1\x00\xe0\x01\x03\xe1\x8a\xa0\x00\xe1\x01\x03\xe1\x8b\x90\x00\xe2\x01\x03\xe1\x8e\xa0\x00\xe3\x01\x03\xe1\x90\x8a\x00\xe4\x01\x03\xe1\x96\xb3\x00\xe5\x01\x03\xe1\x9a\xa8\x00\xe6\x01\x03\xe1\x9a\xaa\x00\xe7\x01\x03\xe1\x9b\x86\x00\xe8\x01\x03\xe1\x9c\x80\x00\xe9\x01\x03\xe1\x9c\xa0\x00\xea\x01\x03\xe1\x9d\x80\x00\xeb\x01\x03\xe1\x9d\xa0\x00\xec\x01\x03\xe1\xa0\xa0\x00\xed\x01\x03\xe1\xa2\x87\x00\xee\x01\x03\xe1\xa4\xa0\x00\xef\x01\x03\xe1\xa5\xa3\x00\xf0\x01\x03\xe1\xa8\x95\x00\xf1\x01\x03\xe1\xa9\x8b\x00\xf2\x01\x03\xe1\xa9\xa1\x00\xf3\x01\x03\xe1\xae\x83\x00\xf4\x01\x03\xe1\xaf\x80\x00\xf5\x01\x03\xe1\xaf\x81\x00\xf6\x01\x03\xe1\xb0\xa3\x00\xf7\x01\x03\xe1\xb8\x80\x00\xf8\x01\x03\xe1\xba\xa0\x00\xf9\x01\x03\xe1\xba\xa2\x00\xfa\x01\x03\xe1\xba\xa4\x00\xfb\x01\x03\xe1\xba\xa6\x00\xfc\x01\x03\xe1\xba\xa8\x00\xfd\x01\x03\xe1\xba\xaa\x00\xfe\x01\x03\xe1\xba\xac\x00\xff\x01\x03\xe1\xba\xae\x00\x80\x02\x03\xe1\xba\xb0\x00\x81\x02\x03\xe1\xba\xb2\x00\x82\x02\x03\xe1\xba\xb4\x00\x83\x02\x03\xe1\xba\xb6\x00\x84\x02\x03\xe3\x81\x82\x00\x85\x02\x03\xe3\x82\xa2\x00\x86\x02\x03\xe3\x84\x9a\x00\x87\x02\x03\xe3\x85\x8f\x00\x88\x02\x03\xe3\x88\x8e\x00\x89\x02\x03\xe3\x88\x8f\x00\x8a\x02\x03\xe3\x88\x90\x00\x8b\x02\x03\xe3\x88\x91\x00\x8c\x02\x03\xe3\x88\x92\x00\x8d\x02\x03\xe3\x88\x93\x00\x8e\x02\x03\xe3\x88\x94\x00\x8f\x02\x03\xe3\x88\x95\x00\x90\x02\x03\xe3\x88\x96\x00\x91\x02\x03\xe3\x88\x97\x00\x92\x02\x03\xe3\x88\x98\x00\x93\x02\x03\xe3\x88\x99\x00\x94\x02\x03\xe3\x88\x9a\x00\x95\x02\x03\xe3\x88\x9b\x00\x96\x02\x03\xe3\x89\xae\x00\x97\x02\x03\xe3\x89\xaf\x00\x98\x02\x03\xe3\x89\xb0\x00\x99\x02\x03\xe3\x89\xb1\x00\x9a\x02\x03\xe3\x89\xb2\x00\x9b\x02\x03\xe3\x89\xb3\x00\x9c\x02\x03\xe3\x89\xb4\x00\x9d\x02\x03\xe3\x89\xb5\x00\x9e\x02\x03\xe3\x89\xb6\x00\x9f\x02\x03\xe3\x89\xb7\x00\xa0\x02\x03\xe3\x89\xb8\x00\xa1\x02\x03\xe3\x89\xb9\x00\xa2\x02\x03\xe3\x89\xba\x00\xa3\x02\x03\xe3\x89\xbb\x00\xa4\x02\x03\xe3\x8b\x90\x00\xa5\x02\x03\xea\x80\x8a\x00\xa6\x02\x03\xea\x93\xae\x00\xa7\x02\x03\xea\x95\x89\x00\xa8\x02\x03\xea\x9a\xa0\x00\xa9\x02\x03\xea\xa0\x80\x00\xaa\x02\x03\xea\xa0\xa3\x00\xab\x02\x03\xea\xa1\x9d\x00\xac\x02\x03\xea\xa2\x82\x00\xad\x02\x03\xea\xa3\xaa\x00\xae\x02\x03\xea\xa4\xa2\x00\xaf\x02\x03\xea\xa5\x86\x00\xb0\x02\x03\xea\xa6\x84\x00\xb1\x02\x03\xea\xa8\x80\x00\xb2\x02\x03\xef\xbd\xb1\x00\xb3\x02\x03\xef\xbf\x82\x00\xb4\x02\x04\xf0\x90\x80\x80\x00\xb5\x02\x04\xf0\x90\x8a\x80\x00\xb6\x02\x04\xf0\x90\x8a\xa0\x00\xb7\x02\x04\xf0\x90\x8c\x80\x00\xb8\x02\x04\xf0\x90\x8e\xa0\x00\xb9\x02\x04\xf0\x90\x92\x96\x00\xba\x02\x04\xf0\x90\x94\x80\x00\xbb\x02\x04\xf0\x90\x9d\x80\x00\xbc\x02\x04\xf0\x90\xa0\x80\x00\xbd\x02\x04\xf0\x90\xa4\xa0\x00\xbe\x02\x04\xf0\x90\xa6\x80\x00\xbf\x02\x04\xf0\x90\xa6\xa0\x00\xc0\x02\x04\xf0\x90\xa8\x80\x00\xc1\x02\x04\xf0\x90\xac\x80\x00\xc2\x02\x04\xf0\x90\xb0\x80\x00\xc3\x02\x04\xf0\x90\xb0\x81\x00\xc4\x02\x04\xf0\x90\xb2\x80\x00\xc5\x02\x04\xf0\x91\x80\x85\x00\xc6\x02\x04\xf0\x91\x82\x83\x00\xc7\x02\x04\xf0\x91\x84\xa7\x00\xc8\x02\x04\xf0\x91\x85\x90\x00\xc9\x02\x04\xf0\x91\x86\x83\x00\xca\x02\x04\xf0\x91\x88\x80\x00\xcb\x02\x04\xf0\x91\x8a\x80\x00\xcc\x02\x04\xf0\x91\x8a\xb0\x00\xcd\x02\x04\xf0\x91\x8c\x85\x00\xce\x02\x04\xf0\x91\x8d\xb0\x00\xcf\x02\x04\xf0\x91\x90\x80\x00\xd0\x02\x04\xf0\x91\x92\x81\x00\xd1\x02\x04\xf0\x91\x96\x80\x00\xd2\x02\x04\xf0\x91\x98\x80\x00\xd3\x02\x04\xf0\x91\x9a\x80\x00\xd4\x02\x04\xf0\x91\x9c\x92\x00\xd5\x02\x04\xf0\x91\x9c\xa0\x00\xd6\x02\x04\xf0\x91\xa2\xa1\x00\xd7\x02\x04\xf0\x91\xab\x95\x00\xd8\x02\x04\xf0\x91\xb0\x80\x00\xd9\x02\x04\xf0\x91\xb2\x8f\x00\xda\x02\x04\xf0\x91\xb2\xaf\x00\xdb\x02\x04\xf0\x92\x80\x80\x00\xdc\x02\x04\xf0\x96\xa7\x95\x00\xdd\x02\x04\xf0\x96\xa9\x86\x00\xde\x02\x04\xf0\x96\xab\xa7\x00\xdf\x02\x04\xf0\x96\xbd\x94\x00\xe0\x02\x04\xf0\x9b\xb1\x81\x00\xe1\x02\x04\xf0\x9b\xb1\xa4\x00\xe2\x02\x04\xf0\x9e\xa0\xa3\x00\xe3\x02\x04\xf0\x9f\x87\xa6\x00\xe4\x02\x03\xe2\xb1\xad\x00\xe5\x02\x02\xce\x9b\x00\xe6\x02\x03\xe2\xb1\xb0\x00\xe7\x02\x02\xc2\xaa\x00\xe8\x02\x03\xe2\x88\x80\x00\xe9\x02\x03\xe2\x82\xb3\x00\xea\x02\x04\xf0\x90\xa4\x80\x00\xeb\x02\x03\xe2\xb2\x80\x00\xec\x02\x04\xf0\x90\x8c\xb0\x00\xed\x02\x02\xce\x86\x00\xee\x02\x02\xce\x91\x00\xef\x02\x03\xe1\xbc\x88\x00\xf0\x02\x03\xe1\xbc\x89\x00\xf1\x02\x03\xe1\xbc\x8a\x00\xf2\x02\x03\xe1\xbc\x8b\x00\xf3\x02\x03\xe1\xbc\x8c\x00\xf4\x02\x03\xe1\xbc\x8d\x00\xf5\x02\x03\xe1\xbc\x8e\x00\xf6\x02\x03\xe1\xbc\x8f\x00\xf7\x02\x03\xe1\xbe\x88\x00\xf8\x02\x03\xe1\xbe\x89\x00\xf9\x02\x03\xe1\xbe\x8a\x00\xfa\x02\x03\xe1\xbe\x8b\x00\xfb\x02\x03\xe1\xbe\x8c\x00\xfc\x02\x03\xe1\xbe\x8d\x00\xfd\x02\x03\xe1\xbe\x8e\x00\xfe\x02\x03\xe1\xbe\x8f\x00\xff\x02\x03\xe1\xbe\xb8\x00\x80\x03\x03\xe1\xbe\xb9\x00\x81\x03\x03\xe1\xbe\xba\x00\x82\x03\x03\xe1\xbe\xbb\x00\x83\x03\x03\xe1\xbe\xbc\x00\x84\x03\x04\xf0\x9d\x9a\xa8\x00\x85\x03\x04\xf0\x9d\x9b\xa2\x00\x86\x03\x04\xf0\x9d\x9c\x9c\x00\x87\x03\x04\xf0\x9d\x9d\x96\x00\x88\x03\x04\xf0\x9d\x9e\x90\x00\x89\x03\x03\xe2\x8d\xb6\x00\x8a\x03\x03\xe2\x8d\xba\x00\x8b\x03\x03\xe2\xa9\x9c\x00\x8c\x03\x03\xe1\x97\x85\x00\x8d\x03\x03\xe1\x8e\xaa\x00\x8e\x03\x9c\x01\x29\xcb\xba\xcb\xbc\xf0\x94\x97\x8f\xf0\x9d\x85\xb4\xf0\x9d\x85\xb6\xf0\x9d\x85\xb8\xf0\x9d\x85\xba\xe2\x81\xbe\xe2\x82\x8e\xe2\x9d\xa9\xe2\x9d\xab\xe2\x9f\xaf\xef\xb4\xbf\xef\xb8\xb6\xef\xb9\x9a\xef\xbc\x89\xef\xbd\xa0\xf3\xa0\x80\xa9\xe2\x9d\xb3\xe2\x9d\xb5\xe2\x9f\xa7\xe2\x9f\xa9\xe2\x9f\xab\xe2\x9f\xad\xe2\xa6\x88\xe2\xa6\x8a\xe2\xa6\x96\xe2\xb8\xa3\xe2\xb8\xa5\xef\xb8\x98\xef\xb8\xb8\xef\xb8\xba\xef\xb8\xbc\xef\xb8\xbe\xef\xb9\x80\xef\xb9\x82\xef\xb9\x84\xef\xb9\x88\xef\xb9\x9c\xef\xb9\x9e\xef\xbc\xbd\xef\xbd\x9d\xef\xbd\xa3\xf3\xa0\x81\x9d\xf3\xa0\x81\xbd\xc2\xbb\xe2\x80\x99\xe2\x80\x9d\xe2\x80\xba\xe2\x9d\xaf\x00\x8f\x03\x9c\x01\x28\xcb\xb9\xcb\xbb\xf0\x94\x97\x8e\xf0\x9d\x85\xb3\xf0\x9d\x85\xb5\xf0\x9d\x85\xb7\xf0\x9d\x85\xb9\xe2\x81\xbd\xe2\x82\x8d\xe2\x9d\xa8\xe2\x9d\xaa\xe2\x9f\xae\xef\xb4\xbe\xef\xb8\xb5\xef\xb9\x99\xef\xbc\x88\xef\xbd\x9f\xf3\xa0\x80\xa8\xe2\x9d\xb2\xe2\x9d\xb4\xe2\x9f\xa6\xe2\x9f\xa8\xe2\x9f\xaa\xe2\x9f\xac\xe2\xa6\x87\xe2\xa6\x89\xe2\xa6\x95\xe2\xb8\xa2\xe2\xb8\xa4\xef\xb8\x97\xef\xb8\xb7\xef\xb8\xb9\xef\xb8\xbb\xef\xb8\xbd\xef\xb8\xbf\xef\xb9\x81\xef\xb9\x83\xef\xb9\x87\xef\xb9\x9b\xef\xb9\x9d\xef\xbc\xbb\xef\xbd\x9b\xef\xbd\xa2\xf3\xa0\x81\x9b\xf3\xa0\x81\xbb\xc2\xab\xe2\x80\x98\xe2\x80\x9c\xe2\x80\xb9\xe2\x9d\xae\x00\x90\x03\x08\xf0\x9d\xaa\x8b\xf0\x9d\xaa\xa4\x00\x91\x03\x04\xf0\x9d\xaa\x8b\x00\x92\x03\x02\xc2\xbd\x00\x93\x03\x05\x31\xe2\x81\x84\x32\x00\x94\x03\x03\x31\x2f\x32\x00\x95\x03\x03\xe0\xad\xb3\x00\x96\x03\x03\xe0\xb5\xb4\x00\x97\x03\x03\xe2\xb3\xbd\x00\x98\x03\x03\xea\xa0\xb1\x00\x99\x03\x04\xf0\x90\x85\x81\x00\x9a\x03\x04\xf0\x90\x85\xb5\x00\x9b\x03\x04\xf0\x90\x85\xb6\x00\x9c\x03\x04\xf0\x90\xa6\xbd\x00\x9d\x03\x04\xf0\x90\xb9\xbb\x00\x9e\x03\x03\xef\xbc\x82\x00\x9f\x03\x01\x7f\x00\xa0\x03\x01\x08\x00\xa1\x03\x03\xe2\x8c\xab\x00\xa2\x03\x03\xe2\x8c\xa6\x00\xa3\x03\x03\xe2\x90\x88\x00\xa4\x03\x03\xe2\x90\xa1\x00\xa5\x03\x03\xe1\xb7\xbb\x00\xa6\x03\x01\x0f\x00\xa7\x03\x03\xe2\x86\x90\x00\xa8\x03\x03\xe2\x8c\xa7\x00\xa9\x03\x03\xe2\x8d\x92\x00\xaa\x03\x03\xe2\x8d\x94\x00\xab\x03\x03\xe2\x8d\xa2\x00\xac\x03\x03\xe2\x8d\xab\x00\xad\x03\x01\x1a\x00\xae\x03\x03\xe2\x90\xa6\x00\xaf\x03\x03\xe2\x90\x9a\x00\xb0\x03\x03\xef\xbf\xbc\x00\xb1\x03\x01\x3f\x00\xb2\x03\x02\xc2\xbf\x00\xb3\x03\x03\xe1\xa5\x85\x00\xb4\x03\x02\xcd\xbe\x00\xb5\x03\x02\xd5\x9e\x00\xb6\x03\x02\xd8\x9f\x00\xb7\x03\x03\xe1\x8d\xa7\x00\xb8\x03\x03\xe2\x81\x87\x00\xb9\x03\x03\xe2\x8d\xb0\x00\xba\x03\x03\xe2\x9d\x93\x00\xbb\x03\x03\xe2\x9d\x94\x00\xbc\x03\x03\xe2\xb3\xba\x00\xbd\x03\x03\xe2\xb3\xbb\x00\xbe\x03\x03\xe2\xb8\xae\x00\xbf\x03\x03\xe3\x89\x84\x00\xc0\x03\x03\xea\x98\x8f\x00\xc1\x03\x03\xea\x9b\xb7\x00\xc2\x03\x03\xef\xb8\x96\x00\xc3\x03\x03\xef\xb9\x96\x00\xc4\x03\x03\xef\xbc\x9f\x00\xc5\x03\x04\xf0\x91\x85\x83\x00\xc6\x03\x04\xf0\x9e\xa5\x9f\x00\xc7\x03\x04\xf3\xa0\x80\xbf\x00\xc8\x03\x04\xf0\x96\xa1\x84\x00\xc9\x03\x03\xe2\xaf\x91\x00\xca\x03\x02\xc2\xb6\x00\xcb\x03\x03\xe2\x81\x8b\x00\xcc\x03\x02\xdc\x80\x00\xcd\x03\x03\xe1\x83\xbb\x00\xce\x03\x03\xe1\x8d\xa8\x00\xcf\x03\x03\xe3\x80\xb7\x00\xd0\x03\x03\xe2\x9d\xa1\x00\xd1\x03\x03\xe2\xb8\x8f\x00\xd2\x03\x03\xe2\xb8\x90\x00\xd3\x03\x03\xe2\xb8\x91\x00\xd4\x03\x03\xe2\xb8\x8e\x00\xd5\x03\x01\x14\x00\xd6\x03\x03\xe2\x98\x99\x00\xd7\x03\x0a\xb2\xa4\x80\x80\x00\xd8\x03\x84\x80\x80\x80\x00\x00\x41\x00\x0b\x84\x80\x80\x80\x00\x00\x41\x01\x0b\x84\x80\x80\x80\x00\x00\x41\x02\x0b\x84\x80\x80\x80\x00\x00\x41\x03\x0b\x84\x80\x80\x80\x00\x00\x41\x04\x0b\x84\x80\x80\x80\x00\x00\x41\x05\x0b\x84\x80\x80\x80\x00\x00\x41\x06\x0b\x84\x80\x80\x80\x00\x00\x41\x07\x0b\x84\x80\x80\x80\x00\x00\x41\x08\x0b\x84\x80\x80\x80\x00\x00\x41\x09\x0b\x84\x80\x80\x80\x00\x00\x41\x0a\x0b\x84\x80\x80\x80\x00\x00\x41\x0b\x0b\x84\x80\x80\x80\x00\x00\x41\x0c\x0b\x84\x80\x80\x80\x00\x00\x41\x0d\x0b\x84\x80\x80\x80\x00\x00\x41\x0e\x0b\x84\x80\x80\x80\x00\x00\x41\x0f\x0b\x84\x80\x80\x80\x00\x00\x41\x10\x0b\x84\x80\x80\x80\x00\x00\x41\x11\x0b\x84\x80\x80\x80\x00\x00\x41\x12\x0b\x84\x80\x80\x80\x00\x00\x41\x13\x0b\x84\x80\x80\x80\x00\x00\x41\x14\x0b\x84\x80\x80\x80\x00\x00\x41\x15\x0b\x84\x80\x80\x80\x00\x00\x41\x16\x0b\x84\x80\x80\x80\x00\x00\x41\x17\x0b\x84\x80\x80\x80\x00\x00\x41\x18\x0b\x84\x80\x80\x80\x00\x00\x41\x19\x0b\x84\x80\x80\x80\x00\x00\x41\x1a\x0b\x84\x80\x80\x80\x00\x00\x41\x1b\x0b\x84\x80\x80\x80\x00\x00\x41\x1c\x0b\x84\x80\x80\x80\x00\x00\x41\x1d\x0b\x84\x80\x80\x80\x00\x00\x41\x1e\x0b\x84\x80\x80\x80\x00\x00\x41\x1f\x0b\x84\x80\x80\x80\x00\x00\x41\x20\x0b\x84\x80\x80\x80\x00\x00\x41\x21\x0b\x84\x80\x80\x80\x00\x00\x41\x22\x0b\x84\x80\x80\x80\x00\x00\x41\x23\x0b\x84\x80\x80\x80\x00\x00\x41\x24\x0b\x84\x80\x80\x80\x00\x00\x41\x25\x0b\x84\x80\x80\x80\x00\x00\x41\x26\x0b\x84\x80\x80\x80\x00\x00\x41\x27\x0b\x84\x80\x80\x80\x00\x00\x41\x28\x0b\x84\x80\x80\x80\x00\x00\x41\x29\x0b\x84\x80\x80\x80\x00\x00\x41\x2a\x0b\x84\x80\x80\x80\x00\x00\x41\x2b\x0b\x84\x80\x80\x80\x00\x00\x41\x2c\x0b\x84\x80\x80\x80\x00\x00\x41\x2d\x0b\x84\x80\x80\x80\x00\x00\x41\x2e\x0b\x84\x80\x80\x80\x00\x00\x41\x2f\x0b\x84\x80\x80\x80\x00\x00\x41\x30\x0b\x84\x80\x80\x80\x00\x00\x41\x31\x0b\x84\x80\x80\x80\x00\x00\x41\x32\x0b\x84\x80\x80\x80\x00\x00\x41\x33\x0b\x84\x80\x80\x80\x00\x00\x41\x34\x0b\x84\x80\x80\x80\x00\x00\x41\x35\x0b\x84\x80\x80\x80\x00\x00\x41\x36\x0b\x84\x80\x80\x80\x00\x00\x41\x37\x0b\x84\x80\x80\x80\x00\x00\x41\x38\x0b\x84\x80\x80\x80\x00\x00\x41\x39\x0b\x84\x80\x80\x80\x00\x00\x41\x3a\x0b\x84\x80\x80\x80\x00\x00\x41\x3b\x0b\x84\x80\x80\x80\x00\x00\x41\x3c\x0b\x84\x80\x80\x80\x00\x00\x41\x3d\x0b\x84\x80\x80\x80\x00\x00\x41\x3e\x0b\x84\x80\x80\x80\x00\x00\x41\x3f\x0b\x85\x80\x80\x80\x00\x00\x41\xc0\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc1\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc2\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc3\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc4\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc5\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc6\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc7\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc8\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xc9\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xca\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xcb\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xcc\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xcd\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xce\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xcf\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd0\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd1\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd2\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd3\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd4\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd5\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd6\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd7\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd8\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xd9\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xda\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xdb\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xdc\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xdd\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xde\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xdf\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe0\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe1\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe2\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe3\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe4\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe5\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe6\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe7\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe8\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xe9\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xea\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xeb\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xec\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xed\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xee\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xef\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf0\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf1\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf2\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf3\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf4\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf5\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf6\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf7\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf8\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xf9\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xfa\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xfb\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xfc\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xfd\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xfe\x00\x0b\x85\x80\x80\x80\x00\x00\x41\xff\x00\x0b\x85\x80\x80\x80\x00\x00\x41\x80\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x81\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x82\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x83\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x84\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x85\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x86\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x87\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x88\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x89\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x8a\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x8b\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x8c\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x8d\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x8e\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x8f\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x90\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x91\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x92\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x93\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x94\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x95\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x96\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x97\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x98\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x99\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x9a\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x9b\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x9c\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x9d\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x9e\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x9f\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa0\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa1\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa2\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa3\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa4\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa5\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa6\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa7\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa8\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xa9\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xaa\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xab\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xac\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xad\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xae\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xaf\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb0\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb1\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb2\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb3\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb4\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb5\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb6\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb7\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb8\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xb9\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xba\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xbb\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xbc\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xbd\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xbe\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xbf\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc0\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc1\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc2\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc3\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc4\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc5\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc6\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc7\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc8\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xc9\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xca\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xcb\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xcc\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xcd\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xce\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xcf\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd0\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd1\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd2\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd3\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd4\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd5\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd6\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd7\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd8\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xd9\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xda\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xdb\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xdc\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xdd\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xde\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xdf\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe0\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe1\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe2\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe3\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe4\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe5\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe6\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe7\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe8\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xe9\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xea\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xeb\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xec\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xed\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xee\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xef\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf0\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf1\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf2\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf3\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf4\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf5\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf6\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf7\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf8\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xf9\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xfa\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xfb\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xfc\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xfd\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xfe\x01\x0b\x85\x80\x80\x80\x00\x00\x41\xff\x01\x0b\x85\x80\x80\x80\x00\x00\x41\x80\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x81\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x82\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x83\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x84\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x85\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x86\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x87\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x88\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x89\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x8a\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x8b\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x8c\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x8d\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x8e\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x8f\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x90\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x91\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x92\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x93\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x94\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x95\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x96\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x97\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x98\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x99\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x9a\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x9b\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x9c\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x9d\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x9e\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x9f\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa0\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa1\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa2\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa3\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa4\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa5\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa6\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa7\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa8\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xa9\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xaa\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xab\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xac\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xad\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xae\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xaf\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb0\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb1\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb2\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb3\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb4\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb5\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb6\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb7\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb8\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xb9\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xba\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xbb\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xbc\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xbd\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xbe\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xbf\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc0\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc1\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc2\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc3\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc4\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc5\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc6\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc7\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc8\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xc9\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xca\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xcb\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xcc\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xcd\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xce\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xcf\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd0\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd1\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd2\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd3\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd4\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd5\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd6\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd7\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd8\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xd9\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xda\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xdb\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xdc\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xdd\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xde\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xdf\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe0\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe1\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe2\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe3\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe4\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe5\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe6\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe7\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe8\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xe9\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xea\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xeb\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xec\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xed\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xee\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xef\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf0\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf1\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf2\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf3\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf4\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf5\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf6\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf7\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf8\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xf9\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xfa\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xfb\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xfc\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xfd\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xfe\x02\x0b\x85\x80\x80\x80\x00\x00\x41\xff\x02\x0b\x85\x80\x80\x80\x00\x00\x41\x80\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x81\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x82\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x83\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x84\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x85\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x86\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x87\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x88\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x89\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x8a\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x8b\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x8c\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x8d\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x8e\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x8f\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x90\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x91\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x92\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x93\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x94\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x95\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x96\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x97\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x98\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x99\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x9a\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x9b\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x9c\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x9d\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x9e\x03\x0b\x85\x80\x80\x80\x00\x00\x41\x9f\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa0\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa1\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa2\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa3\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa4\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa5\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa6\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa7\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa8\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xa9\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xaa\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xab\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xac\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xad\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xae\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xaf\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb0\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb1\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb2\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb3\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb4\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb5\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb6\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb7\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb8\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xb9\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xba\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xbb\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xbc\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xbd\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xbe\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xbf\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc0\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc1\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc2\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc3\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc4\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc5\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc6\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc7\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc8\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xc9\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xca\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xcb\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xcc\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xcd\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xce\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xcf\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd0\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd1\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd2\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd3\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd4\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd5\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd6\x03\x0b\x85\x80\x80\x80\x00\x00\x41\xd7\x03\x0b"); + +// names.wast:602 +assert_return(() => call($3, "", []), 0); + +// names.wast:603 +assert_return(() => call($3, "0", []), 1); + +// names.wast:604 +assert_return(() => call($3, "-0", []), 2); + +// names.wast:605 +assert_return(() => call($3, "_", []), 3); + +// names.wast:606 +assert_return(() => call($3, "$", []), 4); + +// names.wast:607 +assert_return(() => call($3, "@", []), 5); + +// names.wast:608 +assert_return(() => call($3, "~!@#$%^&*()_+`-={}|[]\\:\";'<>?,./ ", []), 6); + +// names.wast:609 +assert_return(() => call($3, "NaN", []), 7); + +// names.wast:610 +assert_return(() => call($3, "Infinity", []), 8); + +// names.wast:611 +assert_return(() => call($3, "if", []), 9); + +// names.wast:612 +assert_return(() => call($3, "malloc", []), 10); + +// names.wast:613 +assert_return(() => call($3, "_malloc", []), 11); + +// names.wast:614 +assert_return(() => call($3, "__malloc", []), 12); + +// names.wast:615 +assert_return(() => call($3, "a", []), 13); + +// names.wast:616 +assert_return(() => call($3, "A", []), 14); + +// names.wast:617 +assert_return(() => call($3, "\u{feff}", []), 15); + +// names.wast:618 +assert_return(() => call($3, "\u{c5}", []), 16); + +// names.wast:619 +assert_return(() => call($3, "A\u{30a}", []), 17); + +// names.wast:620 +assert_return(() => call($3, "\u{212b}", []), 18); + +// names.wast:621 +assert_return(() => call($3, "\u{fb03}", []), 19); + +// names.wast:622 +assert_return(() => call($3, "f\u{fb01}", []), 20); + +// names.wast:623 +assert_return(() => call($3, "ffi", []), 21); + +// names.wast:624 +assert_return(() => call($3, "\u{00}\u{01}\u{02}\u{03}\u{04}\u{05}\u{06}\u{07}\u{08}\u{09}\u{0a}\u{0b}\u{0c}\u{0d}\u{0e}\u{0f}", []), 22); + +// names.wast:625 +assert_return(() => call($3, "\u{10}\u{11}\u{12}\u{13}\u{14}\u{15}\u{16}\u{17}\u{18}\u{19}\u{1a}\u{1b}\u{1c}\u{1d}\u{1e}\u{1f}", []), 23); + +// names.wast:626 +assert_return(() => call($3, " \u{7f}", []), 24); + +// names.wast:627 +assert_return(() => call($3, "\u{80}\u{81}\u{82}\u{83}\u{84}\u{85}\u{86}\u{87}\u{88}\u{89}\u{8a}\u{8b}\u{8c}\u{8d}\u{8e}\u{8f}", []), 25); + +// names.wast:628 +assert_return(() => call($3, "\u{90}\u{91}\u{92}\u{93}\u{94}\u{95}\u{96}\u{97}\u{98}\u{99}\u{9a}\u{9b}\u{9c}\u{9d}\u{9e}\u{9f}", []), 26); + +// names.wast:629 +assert_return(() => call($3, "\u{fff0}\u{fff1}\u{fff2}\u{fff3}\u{fff4}\u{fff5}\u{fff6}\u{fff7}", []), 27); + +// names.wast:630 +assert_return(() => call($3, "\u{fff8}\u{fff9}\u{fffa}\u{fffb}\u{fffc}\u{fffd}\u{fffe}\u{ffff}", []), 28); + +// names.wast:631 +assert_return(() => call($3, "\u{2400}\u{2401}\u{2402}\u{2403}\u{2404}\u{2405}\u{2406}\u{2407}\u{2408}\u{2409}\u{240a}\u{240b}\u{240c}\u{240d}\u{240e}\u{240f}", []), 29); + +// names.wast:632 +assert_return(() => call($3, "\u{2410}\u{2411}\u{2412}\u{2413}\u{2414}\u{2415}\u{2416}\u{2417}\u{2418}\u{2419}\u{241a}\u{241b}\u{241c}\u{241d}\u{241e}\u{241f}", []), 30); + +// names.wast:633 +assert_return(() => call($3, "\u{2420}\u{2421}", []), 31); + +// names.wast:634 +assert_return(() => call($3, "\u{fff0}\u{fff1}\u{fff2}\u{fff3}\u{fff4}\u{fff5}\u{fff6}\u{fff7}\u{fff8}\u{fff9}\u{fffa}\u{fffb}\u{fffc}\u{fffd}", []), 32); + +// names.wast:635 +assert_return(() => call($3, "\u{200d}", []), 33); + +// names.wast:636 +assert_return(() => call($3, "\u{200c}", []), 34); + +// names.wast:637 +assert_return(() => call($3, "\u{34f}", []), 35); + +// names.wast:638 +assert_return(() => call($3, "\u{2060}", []), 36); + +// names.wast:639 +assert_return(() => call($3, "\u{2d7f}", []), 37); + +// names.wast:640 +assert_return(() => call($3, "\u{1107f}", []), 38); + +// names.wast:641 +assert_return(() => call($3, "\u{180e}", []), 39); + +// names.wast:642 +assert_return(() => call($3, "\u{ffef}\u{200b}\u{a0}\u{ad}\u{2060}\u{1680}\u{202e}\u{202d}", []), 40); + +// names.wast:643 +assert_return(() => call($3, "\u{200e}\u{200f}\u{2011}\u{2028}\u{2029}\u{202a}\u{202b}\u{202c}\u{202f}\u{2066}\u{2067}\u{2068}\u{2069}", []), 41); + +// names.wast:644 +assert_return(() => call($3, "\u{206a}\u{206b}\u{206c}\u{206d}\u{206e}\u{206f}", []), 42); + +// names.wast:645 +assert_return(() => call($3, "\u{2061}\u{2062}\u{2063}\u{2064}", []), 43); + +// names.wast:646 +assert_return(() => call($3, "\u{10000}\u{dffff}\u{10ffff}", []), 44); + +// names.wast:647 +assert_return(() => call($3, "Z\u{30f}\u{346}\u{306}\u{35b}\u{34c}\u{334}\u{358}\u{35e}\u{347}\u{32b}\u{325}\u{32a}\u{353}\u{348}\u{354}\u{34e}\u{317}\u{31e}\u{33a}\u{32f}\u{331}\u{31e}\u{319}\u{331}\u{31c}\u{316}\u{320}a\u{357}\u{368}\u{30e}\u{304}\u{306}\u{357}\u{33f}\u{361}\u{35f}\u{340}\u{336}\u{341}\u{325}\u{330}\u{333}\u{32d}\u{359}\u{332}\u{331}\u{339}\u{31d}\u{34e}\u{33c}l\u{344}\u{34a}\u{31a}\u{357}\u{366}\u{344}\u{36b}\u{307}\u{341}\u{336}\u{337}\u{349}\u{329}\u{339}\u{32b}\u{31d}\u{356}\u{345}\u{319}\u{332}\u{33c}\u{347}\u{35a}\u{34d}\u{32e}\u{34e}\u{325}\u{345}\u{31e}g\u{343}\u{310}\u{305}\u{36e}\u{314}\u{310}\u{30e}\u{302}\u{30f}\u{33e}\u{34a}\u{30d}\u{34b}\u{34a}\u{367}\u{301}\u{306}\u{366}\u{35e}\u{336}\u{355}\u{354}\u{35a}\u{329}o\u{34b}\u{314}\u{350}\u{36a}\u{369}\u{321}\u{34f}\u{322}\u{327}\u{341}\u{32b}\u{319}\u{324}\u{32e}\u{356}\u{359}\u{353}\u{33a}\u{31c}\u{329}\u{33c}\u{318}\u{320}", []), 45); + +// names.wast:648 +assert_return(() => call($3, "\u{115f}\u{1160}\u{3164}\u{ffa0}", []), 46); + +// names.wast:649 +assert_return(() => call($3, "\u{fe00}", []), 47); + +// names.wast:650 +assert_return(() => call($3, "\u{fe04}", []), 48); + +// names.wast:651 +assert_return(() => call($3, "\u{e0100}", []), 49); + +// names.wast:652 +assert_return(() => call($3, "\u{e01ef}", []), 50); + +// names.wast:653 +assert_return(() => call($3, "\u{308}", []), 51); + +// names.wast:654 +assert_return(() => call($3, "\u{0a}", []), 52); + +// names.wast:655 +assert_return(() => call($3, "\u{2424}", []), 53); + +// names.wast:656 +assert_return(() => call($3, "\u{2028}", []), 54); + +// names.wast:657 +assert_return(() => call($3, "\u{0d}", []), 55); + +// names.wast:658 +assert_return(() => call($3, "\u{0d}\u{0a}", []), 56); + +// names.wast:659 +assert_return(() => call($3, "\u{0a}\u{0d}", []), 57); + +// names.wast:660 +assert_return(() => call($3, "\u{1e}", []), 58); + +// names.wast:661 +assert_return(() => call($3, "\u{0b}", []), 59); + +// names.wast:662 +assert_return(() => call($3, "\u{0c}", []), 60); + +// names.wast:663 +assert_return(() => call($3, "\u{85}", []), 61); + +// names.wast:664 +assert_return(() => call($3, "\u{2029}", []), 62); + +// names.wast:665 +assert_return(() => call($3, "\u{2026}", []), 63); + +// names.wast:666 +assert_return(() => call($3, "\u{23ce}", []), 64); + +// names.wast:667 +assert_return(() => call($3, "\u{8b}", []), 65); + +// names.wast:668 +assert_return(() => call($3, "\u{8c}", []), 66); + +// names.wast:669 +assert_return(() => call($3, "\u{8d}", []), 67); + +// names.wast:670 +assert_return(() => call($3, "\u{21b5}", []), 68); + +// names.wast:671 +assert_return(() => call($3, "\u{21a9}", []), 69); + +// names.wast:672 +assert_return(() => call($3, "\u{2324}", []), 70); + +// names.wast:673 +assert_return(() => call($3, "\u{2936}", []), 71); + +// names.wast:674 +assert_return(() => call($3, "\u{21b2}", []), 72); + +// names.wast:675 +assert_return(() => call($3, "\u{2ba8}", []), 73); + +// names.wast:676 +assert_return(() => call($3, "\u{2bb0}", []), 74); + +// names.wast:677 +assert_return(() => call($3, "\u{fffd}", []), 75); + +// names.wast:678 +assert_return(() => call($3, "\u{fdd0}", []), 76); + +// names.wast:679 +assert_return(() => call($3, "\u{fdd1}", []), 77); + +// names.wast:680 +assert_return(() => call($3, "\u{fdd2}", []), 78); + +// names.wast:681 +assert_return(() => call($3, "\u{fdd3}", []), 79); + +// names.wast:682 +assert_return(() => call($3, "\u{fdd4}", []), 80); + +// names.wast:683 +assert_return(() => call($3, "\u{fdd5}", []), 81); + +// names.wast:684 +assert_return(() => call($3, "\u{fdd6}", []), 82); + +// names.wast:685 +assert_return(() => call($3, "\u{fdd7}", []), 83); + +// names.wast:686 +assert_return(() => call($3, "\u{fdd8}", []), 84); + +// names.wast:687 +assert_return(() => call($3, "\u{fdd9}", []), 85); + +// names.wast:688 +assert_return(() => call($3, "\u{fdda}", []), 86); + +// names.wast:689 +assert_return(() => call($3, "\u{fddb}", []), 87); + +// names.wast:690 +assert_return(() => call($3, "\u{fddc}", []), 88); + +// names.wast:691 +assert_return(() => call($3, "\u{fddd}", []), 89); + +// names.wast:692 +assert_return(() => call($3, "\u{fdde}", []), 90); + +// names.wast:693 +assert_return(() => call($3, "\u{fddf}", []), 91); + +// names.wast:694 +assert_return(() => call($3, "\u{fde0}", []), 92); + +// names.wast:695 +assert_return(() => call($3, "\u{fde1}", []), 93); + +// names.wast:696 +assert_return(() => call($3, "\u{fde2}", []), 94); + +// names.wast:697 +assert_return(() => call($3, "\u{fde3}", []), 95); + +// names.wast:698 +assert_return(() => call($3, "\u{fde4}", []), 96); + +// names.wast:699 +assert_return(() => call($3, "\u{fde5}", []), 97); + +// names.wast:700 +assert_return(() => call($3, "\u{fde6}", []), 98); + +// names.wast:701 +assert_return(() => call($3, "\u{fde7}", []), 99); + +// names.wast:702 +assert_return(() => call($3, "\u{fde8}", []), 100); + +// names.wast:703 +assert_return(() => call($3, "\u{fde9}", []), 101); + +// names.wast:704 +assert_return(() => call($3, "\u{fdea}", []), 102); + +// names.wast:705 +assert_return(() => call($3, "\u{fdeb}", []), 103); + +// names.wast:706 +assert_return(() => call($3, "\u{fdec}", []), 104); + +// names.wast:707 +assert_return(() => call($3, "\u{fded}", []), 105); + +// names.wast:708 +assert_return(() => call($3, "\u{fdee}", []), 106); + +// names.wast:709 +assert_return(() => call($3, "\u{fdef}", []), 107); + +// names.wast:710 +assert_return(() => call($3, "\u{fffe}", []), 108); + +// names.wast:711 +assert_return(() => call($3, "\u{ffff}", []), 109); + +// names.wast:712 +assert_return(() => call($3, "\u{1fffe}", []), 110); + +// names.wast:713 +assert_return(() => call($3, "\u{1ffff}", []), 111); + +// names.wast:714 +assert_return(() => call($3, "\u{2fffe}", []), 112); + +// names.wast:715 +assert_return(() => call($3, "\u{2ffff}", []), 113); + +// names.wast:716 +assert_return(() => call($3, "\u{3fffe}", []), 114); + +// names.wast:717 +assert_return(() => call($3, "\u{3ffff}", []), 115); + +// names.wast:718 +assert_return(() => call($3, "\u{4fffe}", []), 116); + +// names.wast:719 +assert_return(() => call($3, "\u{4ffff}", []), 117); + +// names.wast:720 +assert_return(() => call($3, "\u{5fffe}", []), 118); + +// names.wast:721 +assert_return(() => call($3, "\u{5ffff}", []), 119); + +// names.wast:722 +assert_return(() => call($3, "\u{6fffe}", []), 120); + +// names.wast:723 +assert_return(() => call($3, "\u{6ffff}", []), 121); + +// names.wast:724 +assert_return(() => call($3, "\u{7fffe}", []), 122); + +// names.wast:725 +assert_return(() => call($3, "\u{7ffff}", []), 123); + +// names.wast:726 +assert_return(() => call($3, "\u{8fffe}", []), 124); + +// names.wast:727 +assert_return(() => call($3, "\u{8ffff}", []), 125); + +// names.wast:728 +assert_return(() => call($3, "\u{9fffe}", []), 126); + +// names.wast:729 +assert_return(() => call($3, "\u{9ffff}", []), 127); + +// names.wast:730 +assert_return(() => call($3, "\u{afffe}", []), 128); + +// names.wast:731 +assert_return(() => call($3, "\u{affff}", []), 129); + +// names.wast:732 +assert_return(() => call($3, "\u{bfffe}", []), 130); + +// names.wast:733 +assert_return(() => call($3, "\u{bffff}", []), 131); + +// names.wast:734 +assert_return(() => call($3, "\u{cfffe}", []), 132); + +// names.wast:735 +assert_return(() => call($3, "\u{cffff}", []), 133); + +// names.wast:736 +assert_return(() => call($3, "\u{dfffe}", []), 134); + +// names.wast:737 +assert_return(() => call($3, "\u{dffff}", []), 135); + +// names.wast:738 +assert_return(() => call($3, "\u{efffe}", []), 136); + +// names.wast:739 +assert_return(() => call($3, "\u{effff}", []), 137); + +// names.wast:740 +assert_return(() => call($3, "\u{ffffe}", []), 138); + +// names.wast:741 +assert_return(() => call($3, "\u{fffff}", []), 139); + +// names.wast:742 +assert_return(() => call($3, "\u{10fffe}", []), 140); + +// names.wast:743 +assert_return(() => call($3, "\u{10ffff}", []), 141); + +// names.wast:744 +assert_return(() => call($3, "\u{308}\u{203d}\u{308}\u{309}", []), 142); + +// names.wast:745 +assert_return(() => call($3, "abc", []), 143); + +// names.wast:746 +assert_return(() => call($3, "\u{202d}abc", []), 144); + +// names.wast:747 +assert_return(() => call($3, "\u{202e}cba", []), 145); + +// names.wast:748 +assert_return(() => call($3, "\u{202d}abc\u{202e}", []), 146); + +// names.wast:749 +assert_return(() => call($3, "\u{202e}cba\u{202d}", []), 147); + +// names.wast:750 +assert_return(() => call($3, "\u{1d468}", []), 148); + +// names.wast:751 +assert_return(() => call($3, "\u{1d434}", []), 149); + +// names.wast:752 +assert_return(() => call($3, "\u{1d608}", []), 150); + +// names.wast:753 +assert_return(() => call($3, "\u{1d63c}", []), 151); + +// names.wast:754 +assert_return(() => call($3, "\u{1d400}", []), 152); + +// names.wast:755 +assert_return(() => call($3, "\u{1d4d0}", []), 153); + +// names.wast:756 +assert_return(() => call($3, "\u{1d56c}", []), 154); + +// names.wast:757 +assert_return(() => call($3, "\u{1d5d4}", []), 155); + +// names.wast:758 +assert_return(() => call($3, "\u{1d49c}", []), 156); + +// names.wast:759 +assert_return(() => call($3, "\u{1d504}", []), 157); + +// names.wast:760 +assert_return(() => call($3, "\u{1d538}", []), 158); + +// names.wast:761 +assert_return(() => call($3, "\u{1d5a0}", []), 159); + +// names.wast:762 +assert_return(() => call($3, "\u{1d670}", []), 160); + +// names.wast:763 +assert_return(() => call($3, "\u{1d00}", []), 161); + +// names.wast:764 +assert_return(() => call($3, "\u{1d2c}", []), 162); + +// names.wast:765 +assert_return(() => call($3, "\u{24b6}", []), 163); + +// names.wast:766 +assert_return(() => call($3, "\u{ff21}", []), 164); + +// names.wast:767 +assert_return(() => call($3, "\u{1f110}", []), 165); + +// names.wast:768 +assert_return(() => call($3, "\u{1f130}", []), 166); + +// names.wast:769 +assert_return(() => call($3, "\u{e0041}", []), 167); + +// names.wast:770 +assert_return(() => call($3, "U+0041", []), 168); + +// names.wast:771 +assert_return(() => call($3, "A\u{200b}", []), 169); + +// names.wast:772 +assert_return(() => call($3, "\u{410}", []), 170); + +// names.wast:773 +assert_return(() => call($3, "\u{a656}", []), 171); + +// names.wast:774 +assert_return(() => call($3, "\u{2dfc}", []), 172); + +// names.wast:775 +assert_return(() => call($3, "\u{2df6}", []), 173); + +// names.wast:776 +assert_return(() => call($3, "\u{2c6f}", []), 174); + +// names.wast:777 +assert_return(() => call($3, "\u{1f150}", []), 175); + +// names.wast:778 +assert_return(() => call($3, "\u{1f170}", []), 176); + +// names.wast:779 +assert_return(() => call($3, "\u{2c2d}", []), 177); + +// names.wast:780 +assert_return(() => call($3, "\u{10402}", []), 178); + +// names.wast:781 +assert_return(() => call($3, "\u{10408}", []), 179); + +// names.wast:782 +assert_return(() => call($3, "\u{104b0}", []), 180); + +// names.wast:783 +assert_return(() => call($3, "\u{c0}", []), 181); + +// names.wast:784 +assert_return(() => call($3, "\u{c1}", []), 182); + +// names.wast:785 +assert_return(() => call($3, "\u{c2}", []), 183); + +// names.wast:786 +assert_return(() => call($3, "\u{c3}", []), 184); + +// names.wast:787 +assert_return(() => call($3, "\u{c4}", []), 185); + +// names.wast:788 +assert_return(() => call($3, "\u{100}", []), 186); + +// names.wast:789 +assert_return(() => call($3, "\u{102}", []), 187); + +// names.wast:790 +assert_return(() => call($3, "\u{104}", []), 188); + +// names.wast:791 +assert_return(() => call($3, "\u{1cd}", []), 189); + +// names.wast:792 +assert_return(() => call($3, "\u{1de}", []), 190); + +// names.wast:793 +assert_return(() => call($3, "\u{1e0}", []), 191); + +// names.wast:794 +assert_return(() => call($3, "\u{1fa}", []), 192); + +// names.wast:795 +assert_return(() => call($3, "\u{200}", []), 193); + +// names.wast:796 +assert_return(() => call($3, "\u{202}", []), 194); + +// names.wast:797 +assert_return(() => call($3, "\u{226}", []), 195); + +// names.wast:798 +assert_return(() => call($3, "\u{23a}", []), 196); + +// names.wast:799 +assert_return(() => call($3, "\u{4d0}", []), 197); + +// names.wast:800 +assert_return(() => call($3, "\u{4d2}", []), 198); + +// names.wast:801 +assert_return(() => call($3, "\u{7ca}", []), 199); + +// names.wast:802 +assert_return(() => call($3, "\u{821}", []), 200); + +// names.wast:803 +assert_return(() => call($3, "\u{822}", []), 201); + +// names.wast:804 +assert_return(() => call($3, "\u{823}", []), 202); + +// names.wast:805 +assert_return(() => call($3, "\u{824}", []), 203); + +// names.wast:806 +assert_return(() => call($3, "\u{825}", []), 204); + +// names.wast:807 +assert_return(() => call($3, "\u{904}", []), 205); + +// names.wast:808 +assert_return(() => call($3, "\u{905}", []), 206); + +// names.wast:809 +assert_return(() => call($3, "\u{972}", []), 207); + +// names.wast:810 +assert_return(() => call($3, "\u{985}", []), 208); + +// names.wast:811 +assert_return(() => call($3, "\u{a05}", []), 209); + +// names.wast:812 +assert_return(() => call($3, "\u{a85}", []), 210); + +// names.wast:813 +assert_return(() => call($3, "\u{b05}", []), 211); + +// names.wast:814 +assert_return(() => call($3, "\u{b85}", []), 212); + +// names.wast:815 +assert_return(() => call($3, "\u{c05}", []), 213); + +// names.wast:816 +assert_return(() => call($3, "\u{c85}", []), 214); + +// names.wast:817 +assert_return(() => call($3, "\u{d05}", []), 215); + +// names.wast:818 +assert_return(() => call($3, "\u{e30}", []), 216); + +// names.wast:819 +assert_return(() => call($3, "\u{eb0}", []), 217); + +// names.wast:820 +assert_return(() => call($3, "\u{f01}", []), 218); + +// names.wast:821 +assert_return(() => call($3, "\u{f68}", []), 219); + +// names.wast:822 +assert_return(() => call($3, "\u{fb8}", []), 220); + +// names.wast:823 +assert_return(() => call($3, "\u{1021}", []), 221); + +// names.wast:824 +assert_return(() => call($3, "\u{1022}", []), 222); + +// names.wast:825 +assert_return(() => call($3, "\u{109c}", []), 223); + +// names.wast:826 +assert_return(() => call($3, "\u{1161}", []), 224); + +// names.wast:827 +assert_return(() => call($3, "\u{12a0}", []), 225); + +// names.wast:828 +assert_return(() => call($3, "\u{12d0}", []), 226); + +// names.wast:829 +assert_return(() => call($3, "\u{13a0}", []), 227); + +// names.wast:830 +assert_return(() => call($3, "\u{140a}", []), 228); + +// names.wast:831 +assert_return(() => call($3, "\u{15b3}", []), 229); + +// names.wast:832 +assert_return(() => call($3, "\u{16a8}", []), 230); + +// names.wast:833 +assert_return(() => call($3, "\u{16aa}", []), 231); + +// names.wast:834 +assert_return(() => call($3, "\u{16c6}", []), 232); + +// names.wast:835 +assert_return(() => call($3, "\u{1700}", []), 233); + +// names.wast:836 +assert_return(() => call($3, "\u{1720}", []), 234); + +// names.wast:837 +assert_return(() => call($3, "\u{1740}", []), 235); + +// names.wast:838 +assert_return(() => call($3, "\u{1760}", []), 236); + +// names.wast:839 +assert_return(() => call($3, "\u{1820}", []), 237); + +// names.wast:840 +assert_return(() => call($3, "\u{1887}", []), 238); + +// names.wast:841 +assert_return(() => call($3, "\u{1920}", []), 239); + +// names.wast:842 +assert_return(() => call($3, "\u{1963}", []), 240); + +// names.wast:843 +assert_return(() => call($3, "\u{1a15}", []), 241); + +// names.wast:844 +assert_return(() => call($3, "\u{1a4b}", []), 242); + +// names.wast:845 +assert_return(() => call($3, "\u{1a61}", []), 243); + +// names.wast:846 +assert_return(() => call($3, "\u{1b83}", []), 244); + +// names.wast:847 +assert_return(() => call($3, "\u{1bc0}", []), 245); + +// names.wast:848 +assert_return(() => call($3, "\u{1bc1}", []), 246); + +// names.wast:849 +assert_return(() => call($3, "\u{1c23}", []), 247); + +// names.wast:850 +assert_return(() => call($3, "\u{1e00}", []), 248); + +// names.wast:851 +assert_return(() => call($3, "\u{1ea0}", []), 249); + +// names.wast:852 +assert_return(() => call($3, "\u{1ea2}", []), 250); + +// names.wast:853 +assert_return(() => call($3, "\u{1ea4}", []), 251); + +// names.wast:854 +assert_return(() => call($3, "\u{1ea6}", []), 252); + +// names.wast:855 +assert_return(() => call($3, "\u{1ea8}", []), 253); + +// names.wast:856 +assert_return(() => call($3, "\u{1eaa}", []), 254); + +// names.wast:857 +assert_return(() => call($3, "\u{1eac}", []), 255); + +// names.wast:858 +assert_return(() => call($3, "\u{1eae}", []), 256); + +// names.wast:859 +assert_return(() => call($3, "\u{1eb0}", []), 257); + +// names.wast:860 +assert_return(() => call($3, "\u{1eb2}", []), 258); + +// names.wast:861 +assert_return(() => call($3, "\u{1eb4}", []), 259); + +// names.wast:862 +assert_return(() => call($3, "\u{1eb6}", []), 260); + +// names.wast:863 +assert_return(() => call($3, "\u{3042}", []), 261); + +// names.wast:864 +assert_return(() => call($3, "\u{30a2}", []), 262); + +// names.wast:865 +assert_return(() => call($3, "\u{311a}", []), 263); + +// names.wast:866 +assert_return(() => call($3, "\u{314f}", []), 264); + +// names.wast:867 +assert_return(() => call($3, "\u{320e}", []), 265); + +// names.wast:868 +assert_return(() => call($3, "\u{320f}", []), 266); + +// names.wast:869 +assert_return(() => call($3, "\u{3210}", []), 267); + +// names.wast:870 +assert_return(() => call($3, "\u{3211}", []), 268); + +// names.wast:871 +assert_return(() => call($3, "\u{3212}", []), 269); + +// names.wast:872 +assert_return(() => call($3, "\u{3213}", []), 270); + +// names.wast:873 +assert_return(() => call($3, "\u{3214}", []), 271); + +// names.wast:874 +assert_return(() => call($3, "\u{3215}", []), 272); + +// names.wast:875 +assert_return(() => call($3, "\u{3216}", []), 273); + +// names.wast:876 +assert_return(() => call($3, "\u{3217}", []), 274); + +// names.wast:877 +assert_return(() => call($3, "\u{3218}", []), 275); + +// names.wast:878 +assert_return(() => call($3, "\u{3219}", []), 276); + +// names.wast:879 +assert_return(() => call($3, "\u{321a}", []), 277); + +// names.wast:880 +assert_return(() => call($3, "\u{321b}", []), 278); + +// names.wast:881 +assert_return(() => call($3, "\u{326e}", []), 279); + +// names.wast:882 +assert_return(() => call($3, "\u{326f}", []), 280); + +// names.wast:883 +assert_return(() => call($3, "\u{3270}", []), 281); + +// names.wast:884 +assert_return(() => call($3, "\u{3271}", []), 282); + +// names.wast:885 +assert_return(() => call($3, "\u{3272}", []), 283); + +// names.wast:886 +assert_return(() => call($3, "\u{3273}", []), 284); + +// names.wast:887 +assert_return(() => call($3, "\u{3274}", []), 285); + +// names.wast:888 +assert_return(() => call($3, "\u{3275}", []), 286); + +// names.wast:889 +assert_return(() => call($3, "\u{3276}", []), 287); + +// names.wast:890 +assert_return(() => call($3, "\u{3277}", []), 288); + +// names.wast:891 +assert_return(() => call($3, "\u{3278}", []), 289); + +// names.wast:892 +assert_return(() => call($3, "\u{3279}", []), 290); + +// names.wast:893 +assert_return(() => call($3, "\u{327a}", []), 291); + +// names.wast:894 +assert_return(() => call($3, "\u{327b}", []), 292); + +// names.wast:895 +assert_return(() => call($3, "\u{32d0}", []), 293); + +// names.wast:896 +assert_return(() => call($3, "\u{a00a}", []), 294); + +// names.wast:897 +assert_return(() => call($3, "\u{a4ee}", []), 295); + +// names.wast:898 +assert_return(() => call($3, "\u{a549}", []), 296); + +// names.wast:899 +assert_return(() => call($3, "\u{a6a0}", []), 297); + +// names.wast:900 +assert_return(() => call($3, "\u{a800}", []), 298); + +// names.wast:901 +assert_return(() => call($3, "\u{a823}", []), 299); + +// names.wast:902 +assert_return(() => call($3, "\u{a85d}", []), 300); + +// names.wast:903 +assert_return(() => call($3, "\u{a882}", []), 301); + +// names.wast:904 +assert_return(() => call($3, "\u{a8ea}", []), 302); + +// names.wast:905 +assert_return(() => call($3, "\u{a922}", []), 303); + +// names.wast:906 +assert_return(() => call($3, "\u{a946}", []), 304); + +// names.wast:907 +assert_return(() => call($3, "\u{a984}", []), 305); + +// names.wast:908 +assert_return(() => call($3, "\u{aa00}", []), 306); + +// names.wast:909 +assert_return(() => call($3, "\u{ff71}", []), 307); + +// names.wast:910 +assert_return(() => call($3, "\u{ffc2}", []), 308); + +// names.wast:911 +assert_return(() => call($3, "\u{10000}", []), 309); + +// names.wast:912 +assert_return(() => call($3, "\u{10280}", []), 310); + +// names.wast:913 +assert_return(() => call($3, "\u{102a0}", []), 311); + +// names.wast:914 +assert_return(() => call($3, "\u{10300}", []), 312); + +// names.wast:915 +assert_return(() => call($3, "\u{103a0}", []), 313); + +// names.wast:916 +assert_return(() => call($3, "\u{10496}", []), 314); + +// names.wast:917 +assert_return(() => call($3, "\u{10500}", []), 315); + +// names.wast:918 +assert_return(() => call($3, "\u{10740}", []), 316); + +// names.wast:919 +assert_return(() => call($3, "\u{10800}", []), 317); + +// names.wast:920 +assert_return(() => call($3, "\u{10920}", []), 318); + +// names.wast:921 +assert_return(() => call($3, "\u{10980}", []), 319); + +// names.wast:922 +assert_return(() => call($3, "\u{109a0}", []), 320); + +// names.wast:923 +assert_return(() => call($3, "\u{10a00}", []), 321); + +// names.wast:924 +assert_return(() => call($3, "\u{10b00}", []), 322); + +// names.wast:925 +assert_return(() => call($3, "\u{10c00}", []), 323); + +// names.wast:926 +assert_return(() => call($3, "\u{10c01}", []), 324); + +// names.wast:927 +assert_return(() => call($3, "\u{10c80}", []), 325); + +// names.wast:928 +assert_return(() => call($3, "\u{11005}", []), 326); + +// names.wast:929 +assert_return(() => call($3, "\u{11083}", []), 327); + +// names.wast:930 +assert_return(() => call($3, "\u{11127}", []), 328); + +// names.wast:931 +assert_return(() => call($3, "\u{11150}", []), 329); + +// names.wast:932 +assert_return(() => call($3, "\u{11183}", []), 330); + +// names.wast:933 +assert_return(() => call($3, "\u{11200}", []), 331); + +// names.wast:934 +assert_return(() => call($3, "\u{11280}", []), 332); + +// names.wast:935 +assert_return(() => call($3, "\u{112b0}", []), 333); + +// names.wast:936 +assert_return(() => call($3, "\u{11305}", []), 334); + +// names.wast:937 +assert_return(() => call($3, "\u{11370}", []), 335); + +// names.wast:938 +assert_return(() => call($3, "\u{11400}", []), 336); + +// names.wast:939 +assert_return(() => call($3, "\u{11481}", []), 337); + +// names.wast:940 +assert_return(() => call($3, "\u{11580}", []), 338); + +// names.wast:941 +assert_return(() => call($3, "\u{11600}", []), 339); + +// names.wast:942 +assert_return(() => call($3, "\u{11680}", []), 340); + +// names.wast:943 +assert_return(() => call($3, "\u{11712}", []), 341); + +// names.wast:944 +assert_return(() => call($3, "\u{11720}", []), 342); + +// names.wast:945 +assert_return(() => call($3, "\u{118a1}", []), 343); + +// names.wast:946 +assert_return(() => call($3, "\u{11ad5}", []), 344); + +// names.wast:947 +assert_return(() => call($3, "\u{11c00}", []), 345); + +// names.wast:948 +assert_return(() => call($3, "\u{11c8f}", []), 346); + +// names.wast:949 +assert_return(() => call($3, "\u{11caf}", []), 347); + +// names.wast:950 +assert_return(() => call($3, "\u{12000}", []), 348); + +// names.wast:951 +assert_return(() => call($3, "\u{169d5}", []), 349); + +// names.wast:952 +assert_return(() => call($3, "\u{16a46}", []), 350); + +// names.wast:953 +assert_return(() => call($3, "\u{16ae7}", []), 351); + +// names.wast:954 +assert_return(() => call($3, "\u{16f54}", []), 352); + +// names.wast:955 +assert_return(() => call($3, "\u{1bc41}", []), 353); + +// names.wast:956 +assert_return(() => call($3, "\u{1bc64}", []), 354); + +// names.wast:957 +assert_return(() => call($3, "\u{1e823}", []), 355); + +// names.wast:958 +assert_return(() => call($3, "\u{1f1e6}", []), 356); + +// names.wast:959 +assert_return(() => call($3, "\u{2c6d}", []), 357); + +// names.wast:960 +assert_return(() => call($3, "\u{39b}", []), 358); + +// names.wast:961 +assert_return(() => call($3, "\u{2c70}", []), 359); + +// names.wast:962 +assert_return(() => call($3, "\u{aa}", []), 360); + +// names.wast:963 +assert_return(() => call($3, "\u{2200}", []), 361); + +// names.wast:964 +assert_return(() => call($3, "\u{20b3}", []), 362); + +// names.wast:965 +assert_return(() => call($3, "\u{10900}", []), 363); + +// names.wast:966 +assert_return(() => call($3, "\u{2c80}", []), 364); + +// names.wast:967 +assert_return(() => call($3, "\u{10330}", []), 365); + +// names.wast:968 +assert_return(() => call($3, "\u{386}", []), 366); + +// names.wast:969 +assert_return(() => call($3, "\u{391}", []), 367); + +// names.wast:970 +assert_return(() => call($3, "\u{1f08}", []), 368); + +// names.wast:971 +assert_return(() => call($3, "\u{1f09}", []), 369); + +// names.wast:972 +assert_return(() => call($3, "\u{1f0a}", []), 370); + +// names.wast:973 +assert_return(() => call($3, "\u{1f0b}", []), 371); + +// names.wast:974 +assert_return(() => call($3, "\u{1f0c}", []), 372); + +// names.wast:975 +assert_return(() => call($3, "\u{1f0d}", []), 373); + +// names.wast:976 +assert_return(() => call($3, "\u{1f0e}", []), 374); + +// names.wast:977 +assert_return(() => call($3, "\u{1f0f}", []), 375); + +// names.wast:978 +assert_return(() => call($3, "\u{1f88}", []), 376); + +// names.wast:979 +assert_return(() => call($3, "\u{1f89}", []), 377); + +// names.wast:980 +assert_return(() => call($3, "\u{1f8a}", []), 378); + +// names.wast:981 +assert_return(() => call($3, "\u{1f8b}", []), 379); + +// names.wast:982 +assert_return(() => call($3, "\u{1f8c}", []), 380); + +// names.wast:983 +assert_return(() => call($3, "\u{1f8d}", []), 381); + +// names.wast:984 +assert_return(() => call($3, "\u{1f8e}", []), 382); + +// names.wast:985 +assert_return(() => call($3, "\u{1f8f}", []), 383); + +// names.wast:986 +assert_return(() => call($3, "\u{1fb8}", []), 384); + +// names.wast:987 +assert_return(() => call($3, "\u{1fb9}", []), 385); + +// names.wast:988 +assert_return(() => call($3, "\u{1fba}", []), 386); + +// names.wast:989 +assert_return(() => call($3, "\u{1fbb}", []), 387); + +// names.wast:990 +assert_return(() => call($3, "\u{1fbc}", []), 388); + +// names.wast:991 +assert_return(() => call($3, "\u{1d6a8}", []), 389); + +// names.wast:992 +assert_return(() => call($3, "\u{1d6e2}", []), 390); + +// names.wast:993 +assert_return(() => call($3, "\u{1d71c}", []), 391); + +// names.wast:994 +assert_return(() => call($3, "\u{1d756}", []), 392); + +// names.wast:995 +assert_return(() => call($3, "\u{1d790}", []), 393); + +// names.wast:996 +assert_return(() => call($3, "\u{2376}", []), 394); + +// names.wast:997 +assert_return(() => call($3, "\u{237a}", []), 395); + +// names.wast:998 +assert_return(() => call($3, "\u{2a5c}", []), 396); + +// names.wast:999 +assert_return(() => call($3, "\u{15c5}", []), 397); + +// names.wast:1000 +assert_return(() => call($3, "\u{13aa}", []), 398); + +// names.wast:1001 +assert_return(() => call($3, ")\u{2fa}\u{2fc}\u{145cf}\u{1d174}\u{1d176}\u{1d178}\u{1d17a}\u{207e}\u{208e}\u{2769}\u{276b}\u{27ef}\u{fd3f}\u{fe36}\u{fe5a}\u{ff09}\u{ff60}\u{e0029}\u{2773}\u{2775}\u{27e7}\u{27e9}\u{27eb}\u{27ed}\u{2988}\u{298a}\u{2996}\u{2e23}\u{2e25}\u{fe18}\u{fe38}\u{fe3a}\u{fe3c}\u{fe3e}\u{fe40}\u{fe42}\u{fe44}\u{fe48}\u{fe5c}\u{fe5e}\u{ff3d}\u{ff5d}\u{ff63}\u{e005d}\u{e007d}\u{bb}\u{2019}\u{201d}\u{203a}\u{276f}", []), 399); + +// names.wast:1002 +assert_return(() => call($3, "(\u{2f9}\u{2fb}\u{145ce}\u{1d173}\u{1d175}\u{1d177}\u{1d179}\u{207d}\u{208d}\u{2768}\u{276a}\u{27ee}\u{fd3e}\u{fe35}\u{fe59}\u{ff08}\u{ff5f}\u{e0028}\u{2772}\u{2774}\u{27e6}\u{27e8}\u{27ea}\u{27ec}\u{2987}\u{2989}\u{2995}\u{2e22}\u{2e24}\u{fe17}\u{fe37}\u{fe39}\u{fe3b}\u{fe3d}\u{fe3f}\u{fe41}\u{fe43}\u{fe47}\u{fe5b}\u{fe5d}\u{ff3b}\u{ff5b}\u{ff62}\u{e005b}\u{e007b}\u{ab}\u{2018}\u{201c}\u{2039}\u{276e}", []), 400); + +// names.wast:1003 +assert_return(() => call($3, "\u{1da8b}\u{1daa4}", []), 401); + +// names.wast:1004 +assert_return(() => call($3, "\u{1da8b}", []), 402); + +// names.wast:1005 +assert_return(() => call($3, "\u{bd}", []), 403); + +// names.wast:1006 +assert_return(() => call($3, "1\u{2044}2", []), 404); + +// names.wast:1007 +assert_return(() => call($3, "1/2", []), 405); + +// names.wast:1008 +assert_return(() => call($3, "\u{b73}", []), 406); + +// names.wast:1009 +assert_return(() => call($3, "\u{d74}", []), 407); + +// names.wast:1010 +assert_return(() => call($3, "\u{2cfd}", []), 408); + +// names.wast:1011 +assert_return(() => call($3, "\u{a831}", []), 409); + +// names.wast:1012 +assert_return(() => call($3, "\u{10141}", []), 410); + +// names.wast:1013 +assert_return(() => call($3, "\u{10175}", []), 411); + +// names.wast:1014 +assert_return(() => call($3, "\u{10176}", []), 412); + +// names.wast:1015 +assert_return(() => call($3, "\u{109bd}", []), 413); + +// names.wast:1016 +assert_return(() => call($3, "\u{10e7b}", []), 414); + +// names.wast:1017 +assert_return(() => call($3, "\u{ff02}", []), 415); + +// names.wast:1018 +assert_return(() => call($3, "\u{7f}", []), 416); + +// names.wast:1019 +assert_return(() => call($3, "\u{08}", []), 417); + +// names.wast:1020 +assert_return(() => call($3, "\u{232b}", []), 418); + +// names.wast:1021 +assert_return(() => call($3, "\u{2326}", []), 419); + +// names.wast:1022 +assert_return(() => call($3, "\u{2408}", []), 420); + +// names.wast:1023 +assert_return(() => call($3, "\u{2421}", []), 421); + +// names.wast:1024 +assert_return(() => call($3, "\u{1dfb}", []), 422); + +// names.wast:1025 +assert_return(() => call($3, "\u{0f}", []), 423); + +// names.wast:1026 +assert_return(() => call($3, "\u{2190}", []), 424); + +// names.wast:1027 +assert_return(() => call($3, "\u{2327}", []), 425); + +// names.wast:1028 +assert_return(() => call($3, "\u{2352}", []), 426); + +// names.wast:1029 +assert_return(() => call($3, "\u{2354}", []), 427); + +// names.wast:1030 +assert_return(() => call($3, "\u{2362}", []), 428); + +// names.wast:1031 +assert_return(() => call($3, "\u{236b}", []), 429); + +// names.wast:1032 +assert_return(() => call($3, "\u{1a}", []), 430); + +// names.wast:1033 +assert_return(() => call($3, "\u{2426}", []), 431); + +// names.wast:1034 +assert_return(() => call($3, "\u{241a}", []), 432); + +// names.wast:1035 +assert_return(() => call($3, "\u{fffc}", []), 433); + +// names.wast:1036 +assert_return(() => call($3, "?", []), 434); + +// names.wast:1037 +assert_return(() => call($3, "\u{bf}", []), 435); + +// names.wast:1038 +assert_return(() => call($3, "\u{1945}", []), 436); + +// names.wast:1039 +assert_return(() => call($3, "\u{37e}", []), 437); + +// names.wast:1040 +assert_return(() => call($3, "\u{55e}", []), 438); + +// names.wast:1041 +assert_return(() => call($3, "\u{61f}", []), 439); + +// names.wast:1042 +assert_return(() => call($3, "\u{1367}", []), 440); + +// names.wast:1043 +assert_return(() => call($3, "\u{2047}", []), 441); + +// names.wast:1044 +assert_return(() => call($3, "\u{2370}", []), 442); + +// names.wast:1045 +assert_return(() => call($3, "\u{2753}", []), 443); + +// names.wast:1046 +assert_return(() => call($3, "\u{2754}", []), 444); + +// names.wast:1047 +assert_return(() => call($3, "\u{2cfa}", []), 445); + +// names.wast:1048 +assert_return(() => call($3, "\u{2cfb}", []), 446); + +// names.wast:1049 +assert_return(() => call($3, "\u{2e2e}", []), 447); + +// names.wast:1050 +assert_return(() => call($3, "\u{3244}", []), 448); + +// names.wast:1051 +assert_return(() => call($3, "\u{a60f}", []), 449); + +// names.wast:1052 +assert_return(() => call($3, "\u{a6f7}", []), 450); + +// names.wast:1053 +assert_return(() => call($3, "\u{fe16}", []), 451); + +// names.wast:1054 +assert_return(() => call($3, "\u{fe56}", []), 452); + +// names.wast:1055 +assert_return(() => call($3, "\u{ff1f}", []), 453); + +// names.wast:1056 +assert_return(() => call($3, "\u{11143}", []), 454); + +// names.wast:1057 +assert_return(() => call($3, "\u{1e95f}", []), 455); + +// names.wast:1058 +assert_return(() => call($3, "\u{e003f}", []), 456); + +// names.wast:1059 +assert_return(() => call($3, "\u{16844}", []), 457); + +// names.wast:1060 +assert_return(() => call($3, "\u{2bd1}", []), 458); + +// names.wast:1061 +assert_return(() => call($3, "\u{b6}", []), 459); + +// names.wast:1062 +assert_return(() => call($3, "\u{204b}", []), 460); + +// names.wast:1063 +assert_return(() => call($3, "\u{700}", []), 461); + +// names.wast:1064 +assert_return(() => call($3, "\u{10fb}", []), 462); + +// names.wast:1065 +assert_return(() => call($3, "\u{1368}", []), 463); + +// names.wast:1066 +assert_return(() => call($3, "\u{3037}", []), 464); + +// names.wast:1067 +assert_return(() => call($3, "\u{2761}", []), 465); + +// names.wast:1068 +assert_return(() => call($3, "\u{2e0f}", []), 466); + +// names.wast:1069 +assert_return(() => call($3, "\u{2e10}", []), 467); + +// names.wast:1070 +assert_return(() => call($3, "\u{2e11}", []), 468); + +// names.wast:1071 +assert_return(() => call($3, "\u{2e0e}", []), 469); + +// names.wast:1072 +assert_return(() => call($3, "\u{14}", []), 470); + +// names.wast:1073 +assert_return(() => call($3, "\u{2619}", []), 471); + +// names.wast:1075 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8a\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x02\x7f\x7f\x00\x02\xa3\x80\x80\x80\x00\x02\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x07\x8b\x80\x80\x80\x00\x01\x07\x70\x72\x69\x6e\x74\x33\x32\x00\x02\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x20\x00\x10\x00\x20\x01\x10\x01\x0b"); + +// names.wast:1087 +run(() => call($4, "print32", [42, 123])); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/nop.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/nop.wast.js new file mode 100644 index 0000000000..d61291f4a3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/nop.wast.js @@ -0,0 +1,165 @@ + +// nop.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x98\x80\x80\x80\x00\x05\x60\x00\x00\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x00\x01\x7f\x60\x01\x7f\x00\x60\x01\x7f\x01\x7f\x03\xb2\x80\x80\x80\x00\x31\x00\x01\x02\x02\x02\x02\x03\x03\x04\x04\x04\x04\x02\x02\x02\x02\x02\x02\x02\x02\x03\x03\x03\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x01\x01\x01\x01\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x04\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xd1\x86\x80\x80\x00\x2f\x0d\x61\x73\x2d\x66\x75\x6e\x63\x2d\x66\x69\x72\x73\x74\x00\x02\x0b\x61\x73\x2d\x66\x75\x6e\x63\x2d\x6d\x69\x64\x00\x03\x0c\x61\x73\x2d\x66\x75\x6e\x63\x2d\x6c\x61\x73\x74\x00\x04\x12\x61\x73\x2d\x66\x75\x6e\x63\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x05\x0c\x61\x73\x2d\x64\x72\x6f\x70\x2d\x6c\x61\x73\x74\x00\x06\x12\x61\x73\x2d\x64\x72\x6f\x70\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x07\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x6d\x69\x64\x31\x00\x08\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x6d\x69\x64\x32\x00\x09\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x6c\x61\x73\x74\x00\x0a\x14\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x0b\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x00\x0c\x0c\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x00\x0d\x0d\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x00\x0e\x13\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x0f\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x66\x69\x72\x73\x74\x00\x10\x0b\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6d\x69\x64\x00\x11\x0c\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6c\x61\x73\x74\x00\x12\x12\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x13\x0f\x61\x73\x2d\x69\x66\x2d\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x00\x14\x0a\x61\x73\x2d\x69\x66\x2d\x74\x68\x65\x6e\x00\x15\x0a\x61\x73\x2d\x69\x66\x2d\x65\x6c\x73\x65\x00\x16\x0a\x61\x73\x2d\x62\x72\x2d\x6c\x61\x73\x74\x00\x17\x10\x61\x73\x2d\x62\x72\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x18\x0c\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x6d\x69\x64\x00\x19\x0d\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x6c\x61\x73\x74\x00\x1a\x13\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x1b\x0f\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x6d\x69\x64\x00\x1c\x10\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x6c\x61\x73\x74\x00\x1d\x16\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x1e\x0e\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x6c\x61\x73\x74\x00\x1f\x14\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x20\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6d\x69\x64\x31\x00\x21\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6d\x69\x64\x32\x00\x22\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6c\x61\x73\x74\x00\x23\x12\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x24\x0d\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6c\x61\x73\x74\x00\x25\x13\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x26\x0d\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6d\x69\x64\x00\x27\x0e\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6c\x61\x73\x74\x00\x28\x14\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x29\x0c\x61\x73\x2d\x74\x65\x73\x74\x2d\x6c\x61\x73\x74\x00\x2a\x12\x61\x73\x2d\x74\x65\x73\x74\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x2b\x0e\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6d\x69\x64\x00\x2c\x0f\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6c\x61\x73\x74\x00\x2d\x15\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x2e\x13\x61\x73\x2d\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x2d\x6c\x61\x73\x74\x00\x2f\x19\x61\x73\x2d\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x2d\x65\x76\x65\x72\x79\x77\x68\x65\x72\x65\x00\x30\x0a\xea\x85\x80\x80\x00\x31\x82\x80\x80\x80\x00\x00\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x6b\x6a\x0b\x85\x80\x80\x80\x00\x00\x01\x41\x01\x0b\x87\x80\x80\x80\x00\x00\x10\x00\x01\x41\x02\x0b\x87\x80\x80\x80\x00\x00\x10\x00\x41\x03\x01\x0b\x8b\x80\x80\x80\x00\x00\x01\x01\x10\x00\x01\x41\x04\x01\x01\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x01\x1a\x0b\x89\x80\x80\x80\x00\x00\x01\x01\x20\x00\x01\x01\x1a\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x01\x20\x00\x20\x00\x1b\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x00\x01\x20\x00\x1b\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x20\x00\x20\x00\x01\x1b\x0b\x90\x80\x80\x80\x00\x00\x01\x20\x00\x01\x01\x20\x00\x01\x01\x20\x00\x01\x01\x1b\x0b\x88\x80\x80\x80\x00\x00\x02\x7f\x01\x41\x02\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x01\x41\x02\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x01\x10\x00\x41\x03\x01\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x01\x01\x10\x00\x01\x41\x04\x01\x01\x0b\x0b\x88\x80\x80\x80\x00\x00\x03\x7f\x01\x41\x02\x0b\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x01\x41\x02\x0b\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x41\x03\x01\x0b\x0b\x8e\x80\x80\x80\x00\x00\x03\x7f\x01\x01\x10\x00\x01\x41\x04\x01\x01\x0b\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x01\x04\x40\x10\x00\x0b\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x04\x40\x01\x05\x10\x00\x0b\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x04\x40\x10\x00\x05\x01\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x01\x0c\x00\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x01\x01\x20\x00\x01\x01\x0c\x00\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x01\x20\x00\x0d\x00\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x20\x00\x01\x0d\x00\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x01\x01\x20\x00\x01\x01\x20\x00\x01\x01\x0d\x00\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x01\x20\x00\x0e\x01\x00\x00\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x20\x00\x20\x00\x01\x0e\x01\x00\x00\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x01\x01\x20\x00\x01\x01\x20\x00\x01\x01\x0e\x01\x00\x00\x0b\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x01\x0f\x0b\x89\x80\x80\x80\x00\x00\x01\x01\x20\x00\x01\x01\x0f\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x01\x20\x01\x20\x02\x10\x01\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x01\x20\x02\x10\x01\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x01\x10\x01\x0b\x92\x80\x80\x80\x00\x00\x01\x01\x20\x00\x01\x01\x20\x01\x01\x01\x20\x02\x01\x01\x10\x01\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x01\x68\x0b\x89\x80\x80\x80\x00\x00\x01\x01\x20\x00\x01\x01\x68\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x01\x20\x00\x6a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x00\x01\x6a\x0b\x8c\x80\x80\x80\x00\x00\x01\x20\x00\x01\x01\x20\x00\x01\x01\x6a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x01\x45\x0b\x89\x80\x80\x80\x00\x00\x01\x01\x20\x00\x01\x01\x45\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x01\x20\x00\x47\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x00\x01\x49\x0b\x8c\x80\x80\x80\x00\x00\x01\x20\x00\x01\x01\x20\x00\x01\x01\x4c\x0b\x87\x80\x80\x80\x00\x00\x20\x00\x01\x40\x00\x0b\x8a\x80\x80\x80\x00\x00\x01\x01\x20\x00\x01\x01\x40\x00\x0b"); + +// nop.wast:183 +assert_return(() => call($1, "as-func-first", []), 1); + +// nop.wast:184 +assert_return(() => call($1, "as-func-mid", []), 2); + +// nop.wast:185 +assert_return(() => call($1, "as-func-last", []), 3); + +// nop.wast:186 +assert_return(() => call($1, "as-func-everywhere", []), 4); + +// nop.wast:188 +assert_return(() => call($1, "as-drop-last", [0])); + +// nop.wast:189 +assert_return(() => call($1, "as-drop-everywhere", [0])); + +// nop.wast:191 +assert_return(() => call($1, "as-select-mid1", [3]), 3); + +// nop.wast:192 +assert_return(() => call($1, "as-select-mid2", [3]), 3); + +// nop.wast:193 +assert_return(() => call($1, "as-select-last", [3]), 3); + +// nop.wast:194 +assert_return(() => call($1, "as-select-everywhere", [3]), 3); + +// nop.wast:196 +assert_return(() => call($1, "as-block-first", []), 2); + +// nop.wast:197 +assert_return(() => call($1, "as-block-mid", []), 2); + +// nop.wast:198 +assert_return(() => call($1, "as-block-last", []), 3); + +// nop.wast:199 +assert_return(() => call($1, "as-block-everywhere", []), 4); + +// nop.wast:201 +assert_return(() => call($1, "as-loop-first", []), 2); + +// nop.wast:202 +assert_return(() => call($1, "as-loop-mid", []), 2); + +// nop.wast:203 +assert_return(() => call($1, "as-loop-last", []), 3); + +// nop.wast:204 +assert_return(() => call($1, "as-loop-everywhere", []), 4); + +// nop.wast:206 +assert_return(() => call($1, "as-if-condition", [0])); + +// nop.wast:207 +assert_return(() => call($1, "as-if-condition", [-1])); + +// nop.wast:208 +assert_return(() => call($1, "as-if-then", [0])); + +// nop.wast:209 +assert_return(() => call($1, "as-if-then", [4])); + +// nop.wast:210 +assert_return(() => call($1, "as-if-else", [0])); + +// nop.wast:211 +assert_return(() => call($1, "as-if-else", [3])); + +// nop.wast:213 +assert_return(() => call($1, "as-br-last", [6]), 6); + +// nop.wast:214 +assert_return(() => call($1, "as-br-everywhere", [7]), 7); + +// nop.wast:216 +assert_return(() => call($1, "as-br_if-mid", [5]), 5); + +// nop.wast:217 +assert_return(() => call($1, "as-br_if-last", [6]), 6); + +// nop.wast:218 +assert_return(() => call($1, "as-br_if-everywhere", [7]), 7); + +// nop.wast:220 +assert_return(() => call($1, "as-br_table-mid", [5]), 5); + +// nop.wast:221 +assert_return(() => call($1, "as-br_table-last", [6]), 6); + +// nop.wast:222 +assert_return(() => call($1, "as-br_table-everywhere", [7]), 7); + +// nop.wast:224 +assert_return(() => call($1, "as-return-last", [6]), 6); + +// nop.wast:225 +assert_return(() => call($1, "as-return-everywhere", [7]), 7); + +// nop.wast:227 +assert_return(() => call($1, "as-call-mid1", [3, 1, 2]), 2); + +// nop.wast:228 +assert_return(() => call($1, "as-call-mid2", [0, 3, 1]), 2); + +// nop.wast:229 +assert_return(() => call($1, "as-call-last", [10, 9, -1]), 20); + +// nop.wast:230 +assert_return(() => call($1, "as-call-everywhere", [2, 1, 5]), -2); + +// nop.wast:232 +assert_return(() => call($1, "as-unary-last", [30]), 1); + +// nop.wast:233 +assert_return(() => call($1, "as-unary-everywhere", [12]), 2); + +// nop.wast:235 +assert_return(() => call($1, "as-binary-mid", [3]), 6); + +// nop.wast:236 +assert_return(() => call($1, "as-binary-last", [3]), 6); + +// nop.wast:237 +assert_return(() => call($1, "as-binary-everywhere", [3]), 6); + +// nop.wast:239 +assert_return(() => call($1, "as-test-last", [0]), 1); + +// nop.wast:240 +assert_return(() => call($1, "as-test-everywhere", [0]), 1); + +// nop.wast:242 +assert_return(() => call($1, "as-compare-mid", [3]), 0); + +// nop.wast:243 +assert_return(() => call($1, "as-compare-last", [3]), 0); + +// nop.wast:244 +assert_return(() => call($1, "as-compare-everywhere", [3]), 1); + +// nop.wast:246 +assert_return(() => call($1, "as-grow_memory-last", [2]), 1); + +// nop.wast:247 +assert_return(() => call($1, "as-grow_memory-everywhere", [12]), 3); + +// nop.wast:249 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x01\x0b"); + +// nop.wast:253 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x01\x0b"); + +// nop.wast:257 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x01\x0b"); + +// nop.wast:261 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x01\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/resizing.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/resizing.wast.js new file mode 100644 index 0000000000..892f31f8fe --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/resizing.wast.js @@ -0,0 +1,111 @@ + +// resizing.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x03\x60\x00\x01\x7f\x60\x00\x00\x60\x01\x7f\x01\x7f\x03\x87\x80\x80\x80\x00\x06\x00\x01\x00\x01\x02\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\xd7\x80\x80\x80\x00\x06\x0c\x6c\x6f\x61\x64\x5f\x61\x74\x5f\x7a\x65\x72\x6f\x00\x00\x0d\x73\x74\x6f\x72\x65\x5f\x61\x74\x5f\x7a\x65\x72\x6f\x00\x01\x11\x6c\x6f\x61\x64\x5f\x61\x74\x5f\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\x00\x02\x12\x73\x74\x6f\x72\x65\x5f\x61\x74\x5f\x70\x61\x67\x65\x5f\x73\x69\x7a\x65\x00\x03\x04\x67\x72\x6f\x77\x00\x04\x04\x73\x69\x7a\x65\x00\x05\x0a\xcd\x80\x80\x80\x00\x06\x87\x80\x80\x80\x00\x00\x41\x00\x28\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x00\x41\x02\x36\x02\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x80\x80\x04\x28\x02\x00\x0b\x8b\x80\x80\x80\x00\x00\x41\x80\x80\x04\x41\x03\x36\x02\x00\x0b\x86\x80\x80\x80\x00\x00\x20\x00\x40\x00\x0b\x84\x80\x80\x80\x00\x00\x3f\x00\x0b"); + +// resizing.wast:14 +assert_return(() => call($1, "size", []), 0); + +// resizing.wast:15 +assert_trap(() => call($1, "store_at_zero", [])); + +// resizing.wast:16 +assert_trap(() => call($1, "load_at_zero", [])); + +// resizing.wast:17 +assert_trap(() => call($1, "store_at_page_size", [])); + +// resizing.wast:18 +assert_trap(() => call($1, "load_at_page_size", [])); + +// resizing.wast:19 +assert_return(() => call($1, "grow", [1]), 0); + +// resizing.wast:20 +assert_return(() => call($1, "size", []), 1); + +// resizing.wast:21 +assert_return(() => call($1, "load_at_zero", []), 0); + +// resizing.wast:22 +assert_return(() => call($1, "store_at_zero", [])); + +// resizing.wast:23 +assert_return(() => call($1, "load_at_zero", []), 2); + +// resizing.wast:24 +assert_trap(() => call($1, "store_at_page_size", [])); + +// resizing.wast:25 +assert_trap(() => call($1, "load_at_page_size", [])); + +// resizing.wast:26 +assert_return(() => call($1, "grow", [4]), 1); + +// resizing.wast:27 +assert_return(() => call($1, "size", []), 5); + +// resizing.wast:28 +assert_return(() => call($1, "load_at_zero", []), 2); + +// resizing.wast:29 +assert_return(() => call($1, "store_at_zero", [])); + +// resizing.wast:30 +assert_return(() => call($1, "load_at_zero", []), 2); + +// resizing.wast:31 +assert_return(() => call($1, "load_at_page_size", []), 0); + +// resizing.wast:32 +assert_return(() => call($1, "store_at_page_size", [])); + +// resizing.wast:33 +assert_return(() => call($1, "load_at_page_size", []), 3); + +// resizing.wast:36 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x00\x07\x88\x80\x80\x80\x00\x01\x04\x67\x72\x6f\x77\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\x40\x00\x0b"); + +// resizing.wast:41 +assert_return(() => call($2, "grow", [0]), 0); + +// resizing.wast:42 +assert_return(() => call($2, "grow", [1]), 0); + +// resizing.wast:43 +assert_return(() => call($2, "grow", [0]), 1); + +// resizing.wast:44 +assert_return(() => call($2, "grow", [2]), 1); + +// resizing.wast:45 +assert_return(() => call($2, "grow", [800]), 3); + +// resizing.wast:46 +assert_return(() => call($2, "grow", [65536]), -1); + +// resizing.wast:48 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x00\x0a\x07\x88\x80\x80\x80\x00\x01\x04\x67\x72\x6f\x77\x00\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x20\x00\x40\x00\x0b"); + +// resizing.wast:53 +assert_return(() => call($3, "grow", [0]), 0); + +// resizing.wast:54 +assert_return(() => call($3, "grow", [1]), 0); + +// resizing.wast:55 +assert_return(() => call($3, "grow", [1]), 1); + +// resizing.wast:56 +assert_return(() => call($3, "grow", [2]), 2); + +// resizing.wast:57 +assert_return(() => call($3, "grow", [6]), 4); + +// resizing.wast:58 +assert_return(() => call($3, "grow", [0]), 10); + +// resizing.wast:59 +assert_return(() => call($3, "grow", [1]), -1); + +// resizing.wast:60 +assert_return(() => call($3, "grow", [65536]), -1); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/return.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/return.wast.js new file mode 100644 index 0000000000..11de54ebe3 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/return.wast.js @@ -0,0 +1,183 @@ + +// return.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa8\x80\x80\x80\x00\x08\x60\x00\x00\x60\x00\x01\x7c\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x02\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x00\x01\x7d\x03\xb8\x80\x80\x80\x00\x37\x00\x00\x00\x00\x00\x00\x01\x02\x02\x00\x02\x00\x00\x00\x02\x02\x02\x02\x02\x00\x02\x02\x03\x02\x02\x03\x02\x04\x04\x04\x04\x02\x05\x02\x02\x02\x02\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\x07\x02\x03\x02\x02\x02\x02\x02\x04\x85\x80\x80\x80\x00\x01\x70\x01\x01\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x89\x87\x80\x80\x00\x35\x08\x74\x79\x70\x65\x2d\x69\x33\x32\x00\x01\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x02\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x03\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x04\x07\x6e\x75\x6c\x6c\x61\x72\x79\x00\x05\x05\x75\x6e\x61\x72\x79\x00\x06\x0d\x61\x73\x2d\x66\x75\x6e\x63\x2d\x66\x69\x72\x73\x74\x00\x07\x0b\x61\x73\x2d\x66\x75\x6e\x63\x2d\x6d\x69\x64\x00\x08\x0c\x61\x73\x2d\x66\x75\x6e\x63\x2d\x6c\x61\x73\x74\x00\x09\x0d\x61\x73\x2d\x66\x75\x6e\x63\x2d\x76\x61\x6c\x75\x65\x00\x0a\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x00\x0b\x0c\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x00\x0c\x0d\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x00\x0d\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0e\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x66\x69\x72\x73\x74\x00\x0f\x0b\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6d\x69\x64\x00\x10\x0c\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6c\x61\x73\x74\x00\x11\x0b\x61\x73\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x12\x0d\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x63\x6f\x6e\x64\x00\x13\x0e\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x14\x13\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x15\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x69\x6e\x64\x65\x78\x00\x16\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x17\x17\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x18\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x19\x0a\x61\x73\x2d\x69\x66\x2d\x63\x6f\x6e\x64\x00\x1a\x0a\x61\x73\x2d\x69\x66\x2d\x74\x68\x65\x6e\x00\x1b\x0a\x61\x73\x2d\x69\x66\x2d\x65\x6c\x73\x65\x00\x1c\x0f\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x1d\x10\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x73\x65\x63\x6f\x6e\x64\x00\x1e\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x63\x6f\x6e\x64\x00\x1f\x0d\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x66\x69\x72\x73\x74\x00\x21\x0b\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6d\x69\x64\x00\x22\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6c\x61\x73\x74\x00\x23\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x75\x6e\x63\x00\x24\x16\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x25\x14\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6d\x69\x64\x00\x26\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6c\x61\x73\x74\x00\x27\x12\x61\x73\x2d\x73\x65\x74\x5f\x6c\x6f\x63\x61\x6c\x2d\x76\x61\x6c\x75\x65\x00\x28\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x29\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2a\x10\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2b\x0e\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x76\x61\x6c\x75\x65\x00\x2c\x11\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2d\x0f\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x76\x61\x6c\x75\x65\x00\x2e\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x2f\x0e\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6c\x65\x66\x74\x00\x30\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x31\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x32\x0f\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6c\x65\x66\x74\x00\x33\x10\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x72\x69\x67\x68\x74\x00\x34\x12\x61\x73\x2d\x63\x6f\x6e\x76\x65\x72\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x35\x13\x61\x73\x2d\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x2d\x73\x69\x7a\x65\x00\x36\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x20\x0a\xc1\x86\x80\x80\x00\x37\x82\x80\x80\x80\x00\x00\x0b\x85\x80\x80\x80\x00\x00\x0f\x68\x1a\x0b\x85\x80\x80\x80\x00\x00\x0f\x7a\x1a\x0b\x85\x80\x80\x80\x00\x00\x0f\x8c\x1a\x0b\x85\x80\x80\x80\x00\x00\x0f\x9a\x1a\x0b\x83\x80\x80\x80\x00\x00\x0f\x0b\x8c\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x08\x40\x0f\x0b\x87\x80\x80\x80\x00\x00\x41\x01\x0f\x41\x02\x0b\x89\x80\x80\x80\x00\x00\x10\x00\x41\x02\x0f\x41\x03\x0b\x86\x80\x80\x80\x00\x00\x01\x10\x00\x0f\x0b\x88\x80\x80\x80\x00\x00\x01\x10\x00\x41\x03\x0f\x0b\x88\x80\x80\x80\x00\x00\x02\x40\x0f\x10\x00\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x10\x00\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x01\x10\x00\x0f\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x01\x10\x00\x41\x02\x0f\x0b\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x41\x03\x0f\x41\x02\x0b\x0b\x8c\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x41\x04\x0f\x41\x02\x0b\x0b\x8b\x80\x80\x80\x00\x00\x03\x7f\x01\x10\x00\x41\x05\x0f\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x41\x09\x0f\x0c\x00\x0b\x0b\x88\x80\x80\x80\x00\x00\x02\x40\x0f\x0d\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x08\x0f\x41\x01\x0d\x00\x1a\x41\x07\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x41\x09\x0f\x0d\x00\x1a\x41\x07\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x40\x42\x09\x0f\x0e\x02\x00\x00\x00\x0b\x42\x7f\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x41\x0a\x0f\x41\x01\x0e\x02\x00\x00\x00\x41\x07\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x41\x0b\x0f\x0e\x01\x00\x00\x41\x07\x0b\x0b\x86\x80\x80\x80\x00\x00\x42\x07\x0f\x0f\x0b\x8d\x80\x80\x80\x00\x00\x41\x02\x0f\x04\x7f\x41\x00\x05\x41\x01\x0b\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x41\x03\x0f\x05\x20\x01\x0b\x0b\x8d\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x20\x01\x05\x41\x04\x0f\x0b\x0b\x8a\x80\x80\x80\x00\x00\x41\x05\x0f\x20\x00\x20\x01\x1b\x0b\x8a\x80\x80\x80\x00\x00\x20\x00\x41\x06\x0f\x20\x01\x1b\x0b\x8a\x80\x80\x80\x00\x00\x41\x00\x41\x01\x41\x07\x0f\x1b\x0b\x84\x80\x80\x80\x00\x00\x41\x7f\x0b\x8b\x80\x80\x80\x00\x00\x41\x0c\x0f\x41\x02\x41\x03\x10\x20\x0b\x8b\x80\x80\x80\x00\x00\x41\x01\x41\x0d\x0f\x41\x03\x10\x20\x0b\x8b\x80\x80\x80\x00\x00\x41\x01\x41\x02\x41\x0e\x0f\x10\x20\x0b\x8e\x80\x80\x80\x00\x00\x41\x14\x0f\x41\x01\x41\x02\x41\x03\x11\x06\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x15\x0f\x41\x02\x41\x03\x11\x06\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x01\x41\x16\x0f\x41\x03\x11\x06\x00\x0b\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x01\x41\x02\x41\x17\x0f\x11\x06\x00\x0b\x8b\x80\x80\x80\x00\x01\x01\x7d\x41\x11\x0f\x21\x00\x41\x7f\x0b\x8b\x80\x80\x80\x00\x00\x43\x9a\x99\xd9\x3f\x0f\x2a\x02\x00\x0b\x88\x80\x80\x80\x00\x00\x42\x1e\x0f\x30\x00\x00\x0b\x93\x80\x80\x80\x00\x00\x41\x1e\x0f\x44\x00\x00\x00\x00\x00\x00\x1c\x40\x39\x03\x00\x41\x7f\x0b\x8c\x80\x80\x80\x00\x00\x41\x02\x41\x1f\x0f\x37\x03\x00\x41\x7f\x0b\x8c\x80\x80\x80\x00\x00\x41\x20\x0f\x41\x07\x3a\x00\x00\x41\x7f\x0b\x8c\x80\x80\x80\x00\x00\x41\x02\x41\x21\x0f\x3d\x01\x00\x41\x7f\x0b\x89\x80\x80\x80\x00\x00\x43\x9a\x99\x59\x40\x0f\x8c\x0b\x88\x80\x80\x80\x00\x00\x41\x03\x0f\x41\x0a\x6a\x0b\x88\x80\x80\x80\x00\x00\x42\x0a\x42\x2d\x0f\x7d\x0b\x86\x80\x80\x80\x00\x00\x41\x2c\x0f\x45\x0b\x8f\x80\x80\x80\x00\x00\x41\x2b\x0f\x44\x00\x00\x00\x00\x00\x00\x24\x40\x65\x0b\x8b\x80\x80\x80\x00\x00\x43\x00\x00\x20\x41\x41\x2a\x0f\x5c\x0b\x86\x80\x80\x80\x00\x00\x41\x29\x0f\xa7\x0b\x87\x80\x80\x80\x00\x00\x41\x28\x0f\x40\x00\x0b"); + +// return.wast:196 +assert_return(() => call($1, "type-i32", [])); + +// return.wast:197 +assert_return(() => call($1, "type-i64", [])); + +// return.wast:198 +assert_return(() => call($1, "type-f32", [])); + +// return.wast:199 +assert_return(() => call($1, "type-f64", [])); + +// return.wast:201 +assert_return(() => call($1, "nullary", [])); + +// return.wast:202 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x75\x6e\x61\x72\x79\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x08\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "unary", []), 3.) + +// return.wast:204 +assert_return(() => call($1, "as-func-first", []), 1); + +// return.wast:205 +assert_return(() => call($1, "as-func-mid", []), 2); + +// return.wast:206 +assert_return(() => call($1, "as-func-last", [])); + +// return.wast:207 +assert_return(() => call($1, "as-func-value", []), 3); + +// return.wast:209 +assert_return(() => call($1, "as-block-first", [])); + +// return.wast:210 +assert_return(() => call($1, "as-block-mid", [])); + +// return.wast:211 +assert_return(() => call($1, "as-block-last", [])); + +// return.wast:212 +assert_return(() => call($1, "as-block-value", []), 2); + +// return.wast:214 +assert_return(() => call($1, "as-loop-first", []), 3); + +// return.wast:215 +assert_return(() => call($1, "as-loop-mid", []), 4); + +// return.wast:216 +assert_return(() => call($1, "as-loop-last", []), 5); + +// return.wast:218 +assert_return(() => call($1, "as-br-value", []), 9); + +// return.wast:220 +assert_return(() => call($1, "as-br_if-cond", [])); + +// return.wast:221 +assert_return(() => call($1, "as-br_if-value", []), 8); + +// return.wast:222 +assert_return(() => call($1, "as-br_if-value-cond", []), 9); + +// return.wast:224 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x98\x80\x80\x80\x00\x01\x02\x24\x31\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x69\x6e\x64\x65\x78\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x09\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-br_table-index", []), int64("9")) + +// return.wast:225 +assert_return(() => call($1, "as-br_table-value", []), 10); + +// return.wast:226 +assert_return(() => call($1, "as-br_table-value-index", []), 11); + +// return.wast:228 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x07\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-return-value", []), int64("7")) + +// return.wast:230 +assert_return(() => call($1, "as-if-cond", []), 2); + +// return.wast:231 +assert_return(() => call($1, "as-if-then", [1, 6]), 3); + +// return.wast:232 +assert_return(() => call($1, "as-if-then", [0, 6]), 6); + +// return.wast:233 +assert_return(() => call($1, "as-if-else", [0, 6]), 4); + +// return.wast:234 +assert_return(() => call($1, "as-if-else", [1, 6]), 6); + +// return.wast:236 +assert_return(() => call($1, "as-select-first", [0, 6]), 5); + +// return.wast:237 +assert_return(() => call($1, "as-select-first", [1, 6]), 5); + +// return.wast:238 +assert_return(() => call($1, "as-select-second", [0, 6]), 6); + +// return.wast:239 +assert_return(() => call($1, "as-select-second", [1, 6]), 6); + +// return.wast:240 +assert_return(() => call($1, "as-select-cond", []), 7); + +// return.wast:242 +assert_return(() => call($1, "as-call-first", []), 12); + +// return.wast:243 +assert_return(() => call($1, "as-call-mid", []), 13); + +// return.wast:244 +assert_return(() => call($1, "as-call-last", []), 14); + +// return.wast:246 +assert_return(() => call($1, "as-call_indirect-func", []), 20); + +// return.wast:247 +assert_return(() => call($1, "as-call_indirect-first", []), 21); + +// return.wast:248 +assert_return(() => call($1, "as-call_indirect-mid", []), 22); + +// return.wast:249 +assert_return(() => call($1, "as-call_indirect-last", []), 23); + +// return.wast:251 +assert_return(() => call($1, "as-set_local-value", []), 17); + +// return.wast:253 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x9a\x99\xd9\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-load-address", []), 1.70000004768) + +// return.wast:254 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x1e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-loadN-address", []), int64("30")) + +// return.wast:256 +assert_return(() => call($1, "as-store-address", []), 30); + +// return.wast:257 +assert_return(() => call($1, "as-store-value", []), 31); + +// return.wast:258 +assert_return(() => call($1, "as-storeN-address", []), 32); + +// return.wast:259 +assert_return(() => call($1, "as-storeN-value", []), 33); + +// return.wast:261 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x9a\x99\x59\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-unary-operand", []), 3.40000009537) + +// return.wast:263 +assert_return(() => call($1, "as-binary-left", []), 3); + +// return.wast:264 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x2d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "as-binary-right", []), int64("45")) + +// return.wast:266 +assert_return(() => call($1, "as-test-operand", []), 44); + +// return.wast:268 +assert_return(() => call($1, "as-compare-left", []), 43); + +// return.wast:269 +assert_return(() => call($1, "as-compare-right", []), 42); + +// return.wast:271 +assert_return(() => call($1, "as-convert-operand", []), 41); + +// return.wast:273 +assert_return(() => call($1, "as-grow_memory-size", []), 40); + +// return.wast:275 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x0f\x0b"); + +// return.wast:279 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x01\x0f\x0b"); + +// return.wast:283 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x01\x0f\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/select.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/select.wast.js new file mode 100644 index 0000000000..d00492005f --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/select.wast.js @@ -0,0 +1,90 @@ + +// select.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa5\x80\x80\x80\x00\x06\x60\x03\x7f\x7f\x7f\x01\x7f\x60\x03\x7e\x7e\x7f\x01\x7e\x60\x03\x7d\x7d\x7f\x01\x7d\x60\x03\x7c\x7c\x7f\x01\x7c\x60\x01\x7f\x01\x7f\x60\x00\x00\x03\x88\x80\x80\x80\x00\x07\x00\x01\x02\x03\x04\x04\x05\x07\xe8\x80\x80\x80\x00\x07\x0a\x73\x65\x6c\x65\x63\x74\x5f\x69\x33\x32\x00\x00\x0a\x73\x65\x6c\x65\x63\x74\x5f\x69\x36\x34\x00\x01\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x02\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x03\x0d\x73\x65\x6c\x65\x63\x74\x5f\x74\x72\x61\x70\x5f\x6c\x00\x04\x0d\x73\x65\x6c\x65\x63\x74\x5f\x74\x72\x61\x70\x5f\x72\x00\x05\x10\x73\x65\x6c\x65\x63\x74\x5f\x75\x6e\x72\x65\x61\x63\x68\x65\x64\x00\x06\x0a\xf0\x80\x80\x80\x00\x07\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x1b\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x1b\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x1b\x0b\x89\x80\x80\x80\x00\x00\x20\x00\x20\x01\x20\x02\x1b\x0b\x88\x80\x80\x80\x00\x00\x00\x41\x00\x20\x00\x1b\x0b\x88\x80\x80\x80\x00\x00\x41\x00\x00\x20\x00\x1b\x0b\x98\x80\x80\x80\x00\x00\x00\x1b\x00\x41\x00\x1b\x00\x41\x00\x41\x00\x1b\x00\x43\x00\x00\x00\x00\x41\x00\x1b\x00\x0b"); + +// select.wast:31 +assert_return(() => call($1, "select_i32", [1, 2, 1]), 1); + +// select.wast:32 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7e\x7e\x7f\x01\x7e\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x02\x42\x01\x41\x01\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_i64", [int64("2"), int64("1"), 1]), int64("2")) + +// select.wast:33 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x80\x3f\x43\x00\x00\x00\x40\x41\x01\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [1., 2., 1]), 1.) + +// select.wast:34 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x44\x00\x00\x00\x00\x00\x00\x00\x40\x41\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [1., 2., 1]), 1.) + +// select.wast:36 +assert_return(() => call($1, "select_i32", [1, 2, 0]), 2); + +// select.wast:37 +assert_return(() => call($1, "select_i32", [2, 1, 0]), 1); + +// select.wast:38 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7e\x7e\x7f\x01\x7e\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9d\x80\x80\x80\x00\x01\x97\x80\x80\x80\x00\x00\x02\x40\x42\x02\x42\x01\x41\x7f\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_i64", [int64("2"), int64("1"), -1]), int64("2")) + +// select.wast:39 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7e\x7e\x7f\x01\x7e\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x40\x42\x02\x42\x01\x41\xf0\xe1\xc3\x87\x7f\x10\x00\x01\x42\x02\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_i64", [int64("2"), int64("1"), -252645136]), int64("2")) + +// select.wast:41 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x41\x01\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [NaN, 1., 1]), NaN) + +// select.wast:42 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x04\x03\x82\x7f\x43\x00\x00\x80\x3f\x41\x01\x10\x00\xbc\x43\x04\x03\x82\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [NaN, 1., 1]), NaN) + +// select.wast:43 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x43\x00\x00\x80\x3f\x41\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [NaN, 1., 0]), 1.) + +// select.wast:44 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x04\x03\x82\x7f\x43\x00\x00\x80\x3f\x41\x00\x10\x00\xbc\x43\x00\x00\x80\x3f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [NaN, 1., 0]), 1.) + +// select.wast:45 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\xc0\x7f\x41\x01\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [2., NaN, 1]), 2.) + +// select.wast:46 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x04\x03\x82\x7f\x41\x01\x10\x00\xbc\x43\x00\x00\x00\x40\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [2., NaN, 1]), 2.) + +// select.wast:47 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x00\x00\xc0\x7f\x41\x00\x10\x00\xbc\x43\x00\x00\xc0\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [2., NaN, 0]), NaN) + +// select.wast:48 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7d\x7d\x7f\x01\x7d\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa6\x80\x80\x80\x00\x01\xa0\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x40\x43\x04\x03\x82\x7f\x41\x00\x10\x00\xbc\x43\x04\x03\x82\x7f\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f32", [2., NaN, 0]), NaN) + +// select.wast:50 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [NaN, 1., 1]), NaN) + +// select.wast:51 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x04\x03\x02\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x01\x10\x00\xbd\x44\x04\x03\x02\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [NaN, 1., 1]), NaN) + +// select.wast:52 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [NaN, 1., 0]), 1.) + +// select.wast:53 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x04\x03\x02\x00\x00\x00\xf0\x7f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [NaN, 1., 0]), 1.) + +// select.wast:54 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x41\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [2., NaN, 1]), 2.) + +// select.wast:55 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x04\x03\x02\x00\x00\x00\xf0\x7f\x41\x01\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [2., NaN, 1]), 2.) + +// select.wast:56 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x41\x00\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [2., NaN, 0]), NaN) + +// select.wast:57 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x00\x00\x60\x03\x7c\x7c\x7f\x01\x7c\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x73\x65\x6c\x65\x63\x74\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x00\x40\x44\x04\x03\x02\x00\x00\x00\xf0\x7f\x41\x00\x10\x00\xbd\x44\x04\x03\x02\x00\x00\x00\xf0\x7f\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "select_f64", [2., NaN, 0]), NaN) + +// select.wast:59 +assert_trap(() => call($1, "select_trap_l", [1])); + +// select.wast:60 +assert_trap(() => call($1, "select_trap_l", [0])); + +// select.wast:61 +assert_trap(() => call($1, "select_trap_r", [1])); + +// select.wast:62 +assert_trap(() => call($1, "select_trap_r", [0])); + +// select.wast:64 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x01\x01\x41\x01\x1b\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/set_local.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/set_local.wast.js new file mode 100644 index 0000000000..fb7152af1c --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/set_local.wast.js @@ -0,0 +1,102 @@ + +// set_local.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa5\x80\x80\x80\x00\x07\x60\x00\x00\x60\x01\x7f\x00\x60\x01\x7e\x00\x60\x01\x7d\x00\x60\x01\x7c\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7e\x03\x8b\x80\x80\x80\x00\x0a\x00\x00\x00\x00\x01\x02\x03\x04\x05\x06\x07\x9e\x81\x80\x80\x00\x0a\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x33\x32\x00\x00\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x01\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x02\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x03\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x33\x32\x00\x04\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x36\x34\x00\x05\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x33\x32\x00\x06\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x36\x34\x00\x07\x0a\x74\x79\x70\x65\x2d\x6d\x69\x78\x65\x64\x00\x08\x05\x77\x72\x69\x74\x65\x00\x09\x0a\x8e\x82\x80\x80\x00\x0a\x88\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x0b\x88\x80\x80\x80\x00\x01\x01\x7e\x42\x00\x21\x00\x0b\x8b\x80\x80\x80\x00\x01\x01\x7d\x43\x00\x00\x00\x00\x21\x00\x0b\x8f\x80\x80\x80\x00\x01\x01\x7c\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x0b\x86\x80\x80\x80\x00\x00\x41\x0a\x21\x00\x0b\x86\x80\x80\x80\x00\x00\x42\x0b\x21\x00\x0b\x89\x80\x80\x80\x00\x00\x43\x9a\x99\x31\x41\x21\x00\x0b\x8d\x80\x80\x80\x00\x00\x44\x66\x66\x66\x66\x66\x66\x28\x40\x21\x00\x0b\xc0\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x42\x00\x21\x00\x43\x00\x00\x00\x00\x21\x01\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x02\x41\x00\x21\x03\x41\x00\x21\x04\x43\x00\x00\x00\x00\x21\x05\x42\x00\x21\x06\x42\x00\x21\x07\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x08\x0b\xcf\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x43\x9a\x99\x99\xbe\x21\x01\x41\x28\x21\x03\x41\x79\x21\x04\x43\x00\x00\xb0\x40\x21\x05\x42\x06\x21\x06\x44\x00\x00\x00\x00\x00\x00\x20\x40\x21\x08\x20\x00\xba\x20\x01\xbb\x20\x02\x20\x03\xb8\x20\x04\xb7\x20\x05\xbb\x20\x06\xba\x20\x07\xba\x20\x08\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xb0\x0b"); + +// set_local.wast:68 +assert_return(() => call($1, "type-local-i32", [])); + +// set_local.wast:69 +assert_return(() => call($1, "type-local-i64", [])); + +// set_local.wast:70 +assert_return(() => call($1, "type-local-f32", [])); + +// set_local.wast:71 +assert_return(() => call($1, "type-local-f64", [])); + +// set_local.wast:73 +assert_return(() => call($1, "type-param-i32", [2])); + +// set_local.wast:74 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x00\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x42\x03\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-i64", [int64("3")])) + +// set_local.wast:75 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x00\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-f32", [4.40000009537])) + +// set_local.wast:76 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x00\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x16\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-f64", [5.5])) + +// set_local.wast:78 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x00\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x74\x79\x70\x65\x2d\x6d\x69\x78\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x43\xcd\xcc\x0c\x40\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x41\x04\x41\x05\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-mixed", [int64("1"), 2.20000004768, 3.3, 4, 5])) + +// set_local.wast:84 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x72\x69\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x01\x43\x00\x00\x00\x40\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x41\x04\x41\x05\x10\x00\x01\x42\x38\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "write", [int64("1"), 2., 3.3, 4, 5]), int64("56")) + +// set_local.wast:94 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x21\x00\x0b"); + +// set_local.wast:100 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x01\x01\x7d\x43\x00\x00\x00\x00\x21\x00\x45\x0b"); + +// set_local.wast:106 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x42\x00\x21\x01\x9a\x0b"); + +// set_local.wast:113 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x01\x01\x7f\x01\x21\x00\x0b"); + +// set_local.wast:117 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7f\x43\x00\x00\x00\x00\x21\x00\x0b"); + +// set_local.wast:121 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x01\x01\x7d\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x0b"); + +// set_local.wast:125 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x01\x0b"); + +// set_local.wast:133 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x00\x0b"); + +// set_local.wast:137 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x00\x45\x0b"); + +// set_local.wast:141 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7c\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x01\x9a\x0b"); + +// set_local.wast:146 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x01\x21\x00\x0b"); + +// set_local.wast:150 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x21\x00\x0b"); + +// set_local.wast:154 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x00\x0b"); + +// set_local.wast:158 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7c\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x21\x01\x0b"); + +// set_local.wast:166 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\x03\x0b"); + +// set_local.wast:170 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xa4\xea\x06\x0b"); + +// set_local.wast:175 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7f\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x02\x0b"); + +// set_local.wast:179 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xf2\xce\xd4\x02\x0b"); + +// set_local.wast:184 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\x03\x0b"); + +// set_local.wast:188 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xa8\x99\x66\x0b"); + +// set_local.wast:193 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7f\x43\x00\x00\x00\x00\x21\x01\x0b"); + +// set_local.wast:197 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7e\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7d\x43\x00\x00\x00\x00\x21\x01\x0b"); + +// set_local.wast:201 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x42\x00\x21\x01\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/skip-stack-guard-page.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/skip-stack-guard-page.wast.js new file mode 100644 index 0000000000..cef7eb7d87 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/skip-stack-guard-page.wast.js @@ -0,0 +1,33 @@ + +// skip-stack-guard-page.wast:2 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\x98\x80\x80\x80\x00\x01\x14\x74\x65\x73\x74\x2d\x67\x75\x61\x72\x64\x2d\x70\x61\x67\x65\x2d\x73\x6b\x69\x70\x00\x00\x0a\xe6\x90\x81\x80\x00\x02\x94\x80\x80\x80\x00\x00\x20\x00\x41\x00\x46\x04\x40\x10\x01\x05\x20\x00\x41\x01\x6b\x10\x00\x0b\x0b\xc7\x90\x81\x80\x00\x01\xa0\x08\x7e\x10\x01\x41\x00\x29\x00\x00\x21\x00\x41\x00\x29\x00\x01\x21\x01\x41\x00\x29\x00\x02\x21\x02\x41\x00\x29\x00\x03\x21\x03\x41\x00\x29\x00\x04\x21\x04\x41\x00\x29\x00\x05\x21\x05\x41\x00\x29\x00\x06\x21\x06\x41\x00\x29\x00\x07\x21\x07\x41\x00\x29\x00\x08\x21\x08\x41\x00\x29\x00\x09\x21\x09\x41\x00\x29\x00\x0a\x21\x0a\x41\x00\x29\x00\x0b\x21\x0b\x41\x00\x29\x00\x0c\x21\x0c\x41\x00\x29\x00\x0d\x21\x0d\x41\x00\x29\x00\x0e\x21\x0e\x41\x00\x29\x00\x0f\x21\x0f\x41\x00\x29\x00\x10\x21\x10\x41\x00\x29\x00\x11\x21\x11\x41\x00\x29\x00\x12\x21\x12\x41\x00\x29\x00\x13\x21\x13\x41\x00\x29\x00\x14\x21\x14\x41\x00\x29\x00\x15\x21\x15\x41\x00\x29\x00\x16\x21\x16\x41\x00\x29\x00\x17\x21\x17\x41\x00\x29\x00\x18\x21\x18\x41\x00\x29\x00\x19\x21\x19\x41\x00\x29\x00\x1a\x21\x1a\x41\x00\x29\x00\x1b\x21\x1b\x41\x00\x29\x00\x1c\x21\x1c\x41\x00\x29\x00\x1d\x21\x1d\x41\x00\x29\x00\x1e\x21\x1e\x41\x00\x29\x00\x1f\x21\x1f\x41\x00\x29\x00\x20\x21\x20\x41\x00\x29\x00\x21\x21\x21\x41\x00\x29\x00\x22\x21\x22\x41\x00\x29\x00\x23\x21\x23\x41\x00\x29\x00\x24\x21\x24\x41\x00\x29\x00\x25\x21\x25\x41\x00\x29\x00\x26\x21\x26\x41\x00\x29\x00\x27\x21\x27\x41\x00\x29\x00\x28\x21\x28\x41\x00\x29\x00\x29\x21\x29\x41\x00\x29\x00\x2a\x21\x2a\x41\x00\x29\x00\x2b\x21\x2b\x41\x00\x29\x00\x2c\x21\x2c\x41\x00\x29\x00\x2d\x21\x2d\x41\x00\x29\x00\x2e\x21\x2e\x41\x00\x29\x00\x2f\x21\x2f\x41\x00\x29\x00\x30\x21\x30\x41\x00\x29\x00\x31\x21\x31\x41\x00\x29\x00\x32\x21\x32\x41\x00\x29\x00\x33\x21\x33\x41\x00\x29\x00\x34\x21\x34\x41\x00\x29\x00\x35\x21\x35\x41\x00\x29\x00\x36\x21\x36\x41\x00\x29\x00\x37\x21\x37\x41\x00\x29\x00\x38\x21\x38\x41\x00\x29\x00\x39\x21\x39\x41\x00\x29\x00\x3a\x21\x3a\x41\x00\x29\x00\x3b\x21\x3b\x41\x00\x29\x00\x3c\x21\x3c\x41\x00\x29\x00\x3d\x21\x3d\x41\x00\x29\x00\x3e\x21\x3e\x41\x00\x29\x00\x3f\x21\x3f\x41\x00\x29\x00\x40\x21\x40\x41\x00\x29\x00\x41\x21\x41\x41\x00\x29\x00\x42\x21\x42\x41\x00\x29\x00\x43\x21\x43\x41\x00\x29\x00\x44\x21\x44\x41\x00\x29\x00\x45\x21\x45\x41\x00\x29\x00\x46\x21\x46\x41\x00\x29\x00\x47\x21\x47\x41\x00\x29\x00\x48\x21\x48\x41\x00\x29\x00\x49\x21\x49\x41\x00\x29\x00\x4a\x21\x4a\x41\x00\x29\x00\x4b\x21\x4b\x41\x00\x29\x00\x4c\x21\x4c\x41\x00\x29\x00\x4d\x21\x4d\x41\x00\x29\x00\x4e\x21\x4e\x41\x00\x29\x00\x4f\x21\x4f\x41\x00\x29\x00\x50\x21\x50\x41\x00\x29\x00\x51\x21\x51\x41\x00\x29\x00\x52\x21\x52\x41\x00\x29\x00\x53\x21\x53\x41\x00\x29\x00\x54\x21\x54\x41\x00\x29\x00\x55\x21\x55\x41\x00\x29\x00\x56\x21\x56\x41\x00\x29\x00\x57\x21\x57\x41\x00\x29\x00\x58\x21\x58\x41\x00\x29\x00\x59\x21\x59\x41\x00\x29\x00\x5a\x21\x5a\x41\x00\x29\x00\x5b\x21\x5b\x41\x00\x29\x00\x5c\x21\x5c\x41\x00\x29\x00\x5d\x21\x5d\x41\x00\x29\x00\x5e\x21\x5e\x41\x00\x29\x00\x5f\x21\x5f\x41\x00\x29\x00\x60\x21\x60\x41\x00\x29\x00\x61\x21\x61\x41\x00\x29\x00\x62\x21\x62\x41\x00\x29\x00\x63\x21\x63\x41\x00\x29\x00\x64\x21\x64\x41\x00\x29\x00\x65\x21\x65\x41\x00\x29\x00\x66\x21\x66\x41\x00\x29\x00\x67\x21\x67\x41\x00\x29\x00\x68\x21\x68\x41\x00\x29\x00\x69\x21\x69\x41\x00\x29\x00\x6a\x21\x6a\x41\x00\x29\x00\x6b\x21\x6b\x41\x00\x29\x00\x6c\x21\x6c\x41\x00\x29\x00\x6d\x21\x6d\x41\x00\x29\x00\x6e\x21\x6e\x41\x00\x29\x00\x6f\x21\x6f\x41\x00\x29\x00\x70\x21\x70\x41\x00\x29\x00\x71\x21\x71\x41\x00\x29\x00\x72\x21\x72\x41\x00\x29\x00\x73\x21\x73\x41\x00\x29\x00\x74\x21\x74\x41\x00\x29\x00\x75\x21\x75\x41\x00\x29\x00\x76\x21\x76\x41\x00\x29\x00\x77\x21\x77\x41\x00\x29\x00\x78\x21\x78\x41\x00\x29\x00\x79\x21\x79\x41\x00\x29\x00\x7a\x21\x7a\x41\x00\x29\x00\x7b\x21\x7b\x41\x00\x29\x00\x7c\x21\x7c\x41\x00\x29\x00\x7d\x21\x7d\x41\x00\x29\x00\x7e\x21\x7e\x41\x00\x29\x00\x7f\x21\x7f\x41\x00\x29\x00\x80\x01\x21\x80\x01\x41\x00\x29\x00\x81\x01\x21\x81\x01\x41\x00\x29\x00\x82\x01\x21\x82\x01\x41\x00\x29\x00\x83\x01\x21\x83\x01\x41\x00\x29\x00\x84\x01\x21\x84\x01\x41\x00\x29\x00\x85\x01\x21\x85\x01\x41\x00\x29\x00\x86\x01\x21\x86\x01\x41\x00\x29\x00\x87\x01\x21\x87\x01\x41\x00\x29\x00\x88\x01\x21\x88\x01\x41\x00\x29\x00\x89\x01\x21\x89\x01\x41\x00\x29\x00\x8a\x01\x21\x8a\x01\x41\x00\x29\x00\x8b\x01\x21\x8b\x01\x41\x00\x29\x00\x8c\x01\x21\x8c\x01\x41\x00\x29\x00\x8d\x01\x21\x8d\x01\x41\x00\x29\x00\x8e\x01\x21\x8e\x01\x41\x00\x29\x00\x8f\x01\x21\x8f\x01\x41\x00\x29\x00\x90\x01\x21\x90\x01\x41\x00\x29\x00\x91\x01\x21\x91\x01\x41\x00\x29\x00\x92\x01\x21\x92\x01\x41\x00\x29\x00\x93\x01\x21\x93\x01\x41\x00\x29\x00\x94\x01\x21\x94\x01\x41\x00\x29\x00\x95\x01\x21\x95\x01\x41\x00\x29\x00\x96\x01\x21\x96\x01\x41\x00\x29\x00\x97\x01\x21\x97\x01\x41\x00\x29\x00\x98\x01\x21\x98\x01\x41\x00\x29\x00\x99\x01\x21\x99\x01\x41\x00\x29\x00\x9a\x01\x21\x9a\x01\x41\x00\x29\x00\x9b\x01\x21\x9b\x01\x41\x00\x29\x00\x9c\x01\x21\x9c\x01\x41\x00\x29\x00\x9d\x01\x21\x9d\x01\x41\x00\x29\x00\x9e\x01\x21\x9e\x01\x41\x00\x29\x00\x9f\x01\x21\x9f\x01\x41\x00\x29\x00\xa0\x01\x21\xa0\x01\x41\x00\x29\x00\xa1\x01\x21\xa1\x01\x41\x00\x29\x00\xa2\x01\x21\xa2\x01\x41\x00\x29\x00\xa3\x01\x21\xa3\x01\x41\x00\x29\x00\xa4\x01\x21\xa4\x01\x41\x00\x29\x00\xa5\x01\x21\xa5\x01\x41\x00\x29\x00\xa6\x01\x21\xa6\x01\x41\x00\x29\x00\xa7\x01\x21\xa7\x01\x41\x00\x29\x00\xa8\x01\x21\xa8\x01\x41\x00\x29\x00\xa9\x01\x21\xa9\x01\x41\x00\x29\x00\xaa\x01\x21\xaa\x01\x41\x00\x29\x00\xab\x01\x21\xab\x01\x41\x00\x29\x00\xac\x01\x21\xac\x01\x41\x00\x29\x00\xad\x01\x21\xad\x01\x41\x00\x29\x00\xae\x01\x21\xae\x01\x41\x00\x29\x00\xaf\x01\x21\xaf\x01\x41\x00\x29\x00\xb0\x01\x21\xb0\x01\x41\x00\x29\x00\xb1\x01\x21\xb1\x01\x41\x00\x29\x00\xb2\x01\x21\xb2\x01\x41\x00\x29\x00\xb3\x01\x21\xb3\x01\x41\x00\x29\x00\xb4\x01\x21\xb4\x01\x41\x00\x29\x00\xb5\x01\x21\xb5\x01\x41\x00\x29\x00\xb6\x01\x21\xb6\x01\x41\x00\x29\x00\xb7\x01\x21\xb7\x01\x41\x00\x29\x00\xb8\x01\x21\xb8\x01\x41\x00\x29\x00\xb9\x01\x21\xb9\x01\x41\x00\x29\x00\xba\x01\x21\xba\x01\x41\x00\x29\x00\xbb\x01\x21\xbb\x01\x41\x00\x29\x00\xbc\x01\x21\xbc\x01\x41\x00\x29\x00\xbd\x01\x21\xbd\x01\x41\x00\x29\x00\xbe\x01\x21\xbe\x01\x41\x00\x29\x00\xbf\x01\x21\xbf\x01\x41\x00\x29\x00\xc0\x01\x21\xc0\x01\x41\x00\x29\x00\xc1\x01\x21\xc1\x01\x41\x00\x29\x00\xc2\x01\x21\xc2\x01\x41\x00\x29\x00\xc3\x01\x21\xc3\x01\x41\x00\x29\x00\xc4\x01\x21\xc4\x01\x41\x00\x29\x00\xc5\x01\x21\xc5\x01\x41\x00\x29\x00\xc6\x01\x21\xc6\x01\x41\x00\x29\x00\xc7\x01\x21\xc7\x01\x41\x00\x29\x00\xc8\x01\x21\xc8\x01\x41\x00\x29\x00\xc9\x01\x21\xc9\x01\x41\x00\x29\x00\xca\x01\x21\xca\x01\x41\x00\x29\x00\xcb\x01\x21\xcb\x01\x41\x00\x29\x00\xcc\x01\x21\xcc\x01\x41\x00\x29\x00\xcd\x01\x21\xcd\x01\x41\x00\x29\x00\xce\x01\x21\xce\x01\x41\x00\x29\x00\xcf\x01\x21\xcf\x01\x41\x00\x29\x00\xd0\x01\x21\xd0\x01\x41\x00\x29\x00\xd1\x01\x21\xd1\x01\x41\x00\x29\x00\xd2\x01\x21\xd2\x01\x41\x00\x29\x00\xd3\x01\x21\xd3\x01\x41\x00\x29\x00\xd4\x01\x21\xd4\x01\x41\x00\x29\x00\xd5\x01\x21\xd5\x01\x41\x00\x29\x00\xd6\x01\x21\xd6\x01\x41\x00\x29\x00\xd7\x01\x21\xd7\x01\x41\x00\x29\x00\xd8\x01\x21\xd8\x01\x41\x00\x29\x00\xd9\x01\x21\xd9\x01\x41\x00\x29\x00\xda\x01\x21\xda\x01\x41\x00\x29\x00\xdb\x01\x21\xdb\x01\x41\x00\x29\x00\xdc\x01\x21\xdc\x01\x41\x00\x29\x00\xdd\x01\x21\xdd\x01\x41\x00\x29\x00\xde\x01\x21\xde\x01\x41\x00\x29\x00\xdf\x01\x21\xdf\x01\x41\x00\x29\x00\xe0\x01\x21\xe0\x01\x41\x00\x29\x00\xe1\x01\x21\xe1\x01\x41\x00\x29\x00\xe2\x01\x21\xe2\x01\x41\x00\x29\x00\xe3\x01\x21\xe3\x01\x41\x00\x29\x00\xe4\x01\x21\xe4\x01\x41\x00\x29\x00\xe5\x01\x21\xe5\x01\x41\x00\x29\x00\xe6\x01\x21\xe6\x01\x41\x00\x29\x00\xe7\x01\x21\xe7\x01\x41\x00\x29\x00\xe8\x01\x21\xe8\x01\x41\x00\x29\x00\xe9\x01\x21\xe9\x01\x41\x00\x29\x00\xea\x01\x21\xea\x01\x41\x00\x29\x00\xeb\x01\x21\xeb\x01\x41\x00\x29\x00\xec\x01\x21\xec\x01\x41\x00\x29\x00\xed\x01\x21\xed\x01\x41\x00\x29\x00\xee\x01\x21\xee\x01\x41\x00\x29\x00\xef\x01\x21\xef\x01\x41\x00\x29\x00\xf0\x01\x21\xf0\x01\x41\x00\x29\x00\xf1\x01\x21\xf1\x01\x41\x00\x29\x00\xf2\x01\x21\xf2\x01\x41\x00\x29\x00\xf3\x01\x21\xf3\x01\x41\x00\x29\x00\xf4\x01\x21\xf4\x01\x41\x00\x29\x00\xf5\x01\x21\xf5\x01\x41\x00\x29\x00\xf6\x01\x21\xf6\x01\x41\x00\x29\x00\xf7\x01\x21\xf7\x01\x41\x00\x29\x00\xf8\x01\x21\xf8\x01\x41\x00\x29\x00\xf9\x01\x21\xf9\x01\x41\x00\x29\x00\xfa\x01\x21\xfa\x01\x41\x00\x29\x00\xfb\x01\x21\xfb\x01\x41\x00\x29\x00\xfc\x01\x21\xfc\x01\x41\x00\x29\x00\xfd\x01\x21\xfd\x01\x41\x00\x29\x00\xfe\x01\x21\xfe\x01\x41\x00\x29\x00\xff\x01\x21\xff\x01\x41\x00\x29\x00\x80\x02\x21\x80\x02\x41\x00\x29\x00\x81\x02\x21\x81\x02\x41\x00\x29\x00\x82\x02\x21\x82\x02\x41\x00\x29\x00\x83\x02\x21\x83\x02\x41\x00\x29\x00\x84\x02\x21\x84\x02\x41\x00\x29\x00\x85\x02\x21\x85\x02\x41\x00\x29\x00\x86\x02\x21\x86\x02\x41\x00\x29\x00\x87\x02\x21\x87\x02\x41\x00\x29\x00\x88\x02\x21\x88\x02\x41\x00\x29\x00\x89\x02\x21\x89\x02\x41\x00\x29\x00\x8a\x02\x21\x8a\x02\x41\x00\x29\x00\x8b\x02\x21\x8b\x02\x41\x00\x29\x00\x8c\x02\x21\x8c\x02\x41\x00\x29\x00\x8d\x02\x21\x8d\x02\x41\x00\x29\x00\x8e\x02\x21\x8e\x02\x41\x00\x29\x00\x8f\x02\x21\x8f\x02\x41\x00\x29\x00\x90\x02\x21\x90\x02\x41\x00\x29\x00\x91\x02\x21\x91\x02\x41\x00\x29\x00\x92\x02\x21\x92\x02\x41\x00\x29\x00\x93\x02\x21\x93\x02\x41\x00\x29\x00\x94\x02\x21\x94\x02\x41\x00\x29\x00\x95\x02\x21\x95\x02\x41\x00\x29\x00\x96\x02\x21\x96\x02\x41\x00\x29\x00\x97\x02\x21\x97\x02\x41\x00\x29\x00\x98\x02\x21\x98\x02\x41\x00\x29\x00\x99\x02\x21\x99\x02\x41\x00\x29\x00\x9a\x02\x21\x9a\x02\x41\x00\x29\x00\x9b\x02\x21\x9b\x02\x41\x00\x29\x00\x9c\x02\x21\x9c\x02\x41\x00\x29\x00\x9d\x02\x21\x9d\x02\x41\x00\x29\x00\x9e\x02\x21\x9e\x02\x41\x00\x29\x00\x9f\x02\x21\x9f\x02\x41\x00\x29\x00\xa0\x02\x21\xa0\x02\x41\x00\x29\x00\xa1\x02\x21\xa1\x02\x41\x00\x29\x00\xa2\x02\x21\xa2\x02\x41\x00\x29\x00\xa3\x02\x21\xa3\x02\x41\x00\x29\x00\xa4\x02\x21\xa4\x02\x41\x00\x29\x00\xa5\x02\x21\xa5\x02\x41\x00\x29\x00\xa6\x02\x21\xa6\x02\x41\x00\x29\x00\xa7\x02\x21\xa7\x02\x41\x00\x29\x00\xa8\x02\x21\xa8\x02\x41\x00\x29\x00\xa9\x02\x21\xa9\x02\x41\x00\x29\x00\xaa\x02\x21\xaa\x02\x41\x00\x29\x00\xab\x02\x21\xab\x02\x41\x00\x29\x00\xac\x02\x21\xac\x02\x41\x00\x29\x00\xad\x02\x21\xad\x02\x41\x00\x29\x00\xae\x02\x21\xae\x02\x41\x00\x29\x00\xaf\x02\x21\xaf\x02\x41\x00\x29\x00\xb0\x02\x21\xb0\x02\x41\x00\x29\x00\xb1\x02\x21\xb1\x02\x41\x00\x29\x00\xb2\x02\x21\xb2\x02\x41\x00\x29\x00\xb3\x02\x21\xb3\x02\x41\x00\x29\x00\xb4\x02\x21\xb4\x02\x41\x00\x29\x00\xb5\x02\x21\xb5\x02\x41\x00\x29\x00\xb6\x02\x21\xb6\x02\x41\x00\x29\x00\xb7\x02\x21\xb7\x02\x41\x00\x29\x00\xb8\x02\x21\xb8\x02\x41\x00\x29\x00\xb9\x02\x21\xb9\x02\x41\x00\x29\x00\xba\x02\x21\xba\x02\x41\x00\x29\x00\xbb\x02\x21\xbb\x02\x41\x00\x29\x00\xbc\x02\x21\xbc\x02\x41\x00\x29\x00\xbd\x02\x21\xbd\x02\x41\x00\x29\x00\xbe\x02\x21\xbe\x02\x41\x00\x29\x00\xbf\x02\x21\xbf\x02\x41\x00\x29\x00\xc0\x02\x21\xc0\x02\x41\x00\x29\x00\xc1\x02\x21\xc1\x02\x41\x00\x29\x00\xc2\x02\x21\xc2\x02\x41\x00\x29\x00\xc3\x02\x21\xc3\x02\x41\x00\x29\x00\xc4\x02\x21\xc4\x02\x41\x00\x29\x00\xc5\x02\x21\xc5\x02\x41\x00\x29\x00\xc6\x02\x21\xc6\x02\x41\x00\x29\x00\xc7\x02\x21\xc7\x02\x41\x00\x29\x00\xc8\x02\x21\xc8\x02\x41\x00\x29\x00\xc9\x02\x21\xc9\x02\x41\x00\x29\x00\xca\x02\x21\xca\x02\x41\x00\x29\x00\xcb\x02\x21\xcb\x02\x41\x00\x29\x00\xcc\x02\x21\xcc\x02\x41\x00\x29\x00\xcd\x02\x21\xcd\x02\x41\x00\x29\x00\xce\x02\x21\xce\x02\x41\x00\x29\x00\xcf\x02\x21\xcf\x02\x41\x00\x29\x00\xd0\x02\x21\xd0\x02\x41\x00\x29\x00\xd1\x02\x21\xd1\x02\x41\x00\x29\x00\xd2\x02\x21\xd2\x02\x41\x00\x29\x00\xd3\x02\x21\xd3\x02\x41\x00\x29\x00\xd4\x02\x21\xd4\x02\x41\x00\x29\x00\xd5\x02\x21\xd5\x02\x41\x00\x29\x00\xd6\x02\x21\xd6\x02\x41\x00\x29\x00\xd7\x02\x21\xd7\x02\x41\x00\x29\x00\xd8\x02\x21\xd8\x02\x41\x00\x29\x00\xd9\x02\x21\xd9\x02\x41\x00\x29\x00\xda\x02\x21\xda\x02\x41\x00\x29\x00\xdb\x02\x21\xdb\x02\x41\x00\x29\x00\xdc\x02\x21\xdc\x02\x41\x00\x29\x00\xdd\x02\x21\xdd\x02\x41\x00\x29\x00\xde\x02\x21\xde\x02\x41\x00\x29\x00\xdf\x02\x21\xdf\x02\x41\x00\x29\x00\xe0\x02\x21\xe0\x02\x41\x00\x29\x00\xe1\x02\x21\xe1\x02\x41\x00\x29\x00\xe2\x02\x21\xe2\x02\x41\x00\x29\x00\xe3\x02\x21\xe3\x02\x41\x00\x29\x00\xe4\x02\x21\xe4\x02\x41\x00\x29\x00\xe5\x02\x21\xe5\x02\x41\x00\x29\x00\xe6\x02\x21\xe6\x02\x41\x00\x29\x00\xe7\x02\x21\xe7\x02\x41\x00\x29\x00\xe8\x02\x21\xe8\x02\x41\x00\x29\x00\xe9\x02\x21\xe9\x02\x41\x00\x29\x00\xea\x02\x21\xea\x02\x41\x00\x29\x00\xeb\x02\x21\xeb\x02\x41\x00\x29\x00\xec\x02\x21\xec\x02\x41\x00\x29\x00\xed\x02\x21\xed\x02\x41\x00\x29\x00\xee\x02\x21\xee\x02\x41\x00\x29\x00\xef\x02\x21\xef\x02\x41\x00\x29\x00\xf0\x02\x21\xf0\x02\x41\x00\x29\x00\xf1\x02\x21\xf1\x02\x41\x00\x29\x00\xf2\x02\x21\xf2\x02\x41\x00\x29\x00\xf3\x02\x21\xf3\x02\x41\x00\x29\x00\xf4\x02\x21\xf4\x02\x41\x00\x29\x00\xf5\x02\x21\xf5\x02\x41\x00\x29\x00\xf6\x02\x21\xf6\x02\x41\x00\x29\x00\xf7\x02\x21\xf7\x02\x41\x00\x29\x00\xf8\x02\x21\xf8\x02\x41\x00\x29\x00\xf9\x02\x21\xf9\x02\x41\x00\x29\x00\xfa\x02\x21\xfa\x02\x41\x00\x29\x00\xfb\x02\x21\xfb\x02\x41\x00\x29\x00\xfc\x02\x21\xfc\x02\x41\x00\x29\x00\xfd\x02\x21\xfd\x02\x41\x00\x29\x00\xfe\x02\x21\xfe\x02\x41\x00\x29\x00\xff\x02\x21\xff\x02\x41\x00\x29\x00\x80\x03\x21\x80\x03\x41\x00\x29\x00\x81\x03\x21\x81\x03\x41\x00\x29\x00\x82\x03\x21\x82\x03\x41\x00\x29\x00\x83\x03\x21\x83\x03\x41\x00\x29\x00\x84\x03\x21\x84\x03\x41\x00\x29\x00\x85\x03\x21\x85\x03\x41\x00\x29\x00\x86\x03\x21\x86\x03\x41\x00\x29\x00\x87\x03\x21\x87\x03\x41\x00\x29\x00\x88\x03\x21\x88\x03\x41\x00\x29\x00\x89\x03\x21\x89\x03\x41\x00\x29\x00\x8a\x03\x21\x8a\x03\x41\x00\x29\x00\x8b\x03\x21\x8b\x03\x41\x00\x29\x00\x8c\x03\x21\x8c\x03\x41\x00\x29\x00\x8d\x03\x21\x8d\x03\x41\x00\x29\x00\x8e\x03\x21\x8e\x03\x41\x00\x29\x00\x8f\x03\x21\x8f\x03\x41\x00\x29\x00\x90\x03\x21\x90\x03\x41\x00\x29\x00\x91\x03\x21\x91\x03\x41\x00\x29\x00\x92\x03\x21\x92\x03\x41\x00\x29\x00\x93\x03\x21\x93\x03\x41\x00\x29\x00\x94\x03\x21\x94\x03\x41\x00\x29\x00\x95\x03\x21\x95\x03\x41\x00\x29\x00\x96\x03\x21\x96\x03\x41\x00\x29\x00\x97\x03\x21\x97\x03\x41\x00\x29\x00\x98\x03\x21\x98\x03\x41\x00\x29\x00\x99\x03\x21\x99\x03\x41\x00\x29\x00\x9a\x03\x21\x9a\x03\x41\x00\x29\x00\x9b\x03\x21\x9b\x03\x41\x00\x29\x00\x9c\x03\x21\x9c\x03\x41\x00\x29\x00\x9d\x03\x21\x9d\x03\x41\x00\x29\x00\x9e\x03\x21\x9e\x03\x41\x00\x29\x00\x9f\x03\x21\x9f\x03\x41\x00\x29\x00\xa0\x03\x21\xa0\x03\x41\x00\x29\x00\xa1\x03\x21\xa1\x03\x41\x00\x29\x00\xa2\x03\x21\xa2\x03\x41\x00\x29\x00\xa3\x03\x21\xa3\x03\x41\x00\x29\x00\xa4\x03\x21\xa4\x03\x41\x00\x29\x00\xa5\x03\x21\xa5\x03\x41\x00\x29\x00\xa6\x03\x21\xa6\x03\x41\x00\x29\x00\xa7\x03\x21\xa7\x03\x41\x00\x29\x00\xa8\x03\x21\xa8\x03\x41\x00\x29\x00\xa9\x03\x21\xa9\x03\x41\x00\x29\x00\xaa\x03\x21\xaa\x03\x41\x00\x29\x00\xab\x03\x21\xab\x03\x41\x00\x29\x00\xac\x03\x21\xac\x03\x41\x00\x29\x00\xad\x03\x21\xad\x03\x41\x00\x29\x00\xae\x03\x21\xae\x03\x41\x00\x29\x00\xaf\x03\x21\xaf\x03\x41\x00\x29\x00\xb0\x03\x21\xb0\x03\x41\x00\x29\x00\xb1\x03\x21\xb1\x03\x41\x00\x29\x00\xb2\x03\x21\xb2\x03\x41\x00\x29\x00\xb3\x03\x21\xb3\x03\x41\x00\x29\x00\xb4\x03\x21\xb4\x03\x41\x00\x29\x00\xb5\x03\x21\xb5\x03\x41\x00\x29\x00\xb6\x03\x21\xb6\x03\x41\x00\x29\x00\xb7\x03\x21\xb7\x03\x41\x00\x29\x00\xb8\x03\x21\xb8\x03\x41\x00\x29\x00\xb9\x03\x21\xb9\x03\x41\x00\x29\x00\xba\x03\x21\xba\x03\x41\x00\x29\x00\xbb\x03\x21\xbb\x03\x41\x00\x29\x00\xbc\x03\x21\xbc\x03\x41\x00\x29\x00\xbd\x03\x21\xbd\x03\x41\x00\x29\x00\xbe\x03\x21\xbe\x03\x41\x00\x29\x00\xbf\x03\x21\xbf\x03\x41\x00\x29\x00\xc0\x03\x21\xc0\x03\x41\x00\x29\x00\xc1\x03\x21\xc1\x03\x41\x00\x29\x00\xc2\x03\x21\xc2\x03\x41\x00\x29\x00\xc3\x03\x21\xc3\x03\x41\x00\x29\x00\xc4\x03\x21\xc4\x03\x41\x00\x29\x00\xc5\x03\x21\xc5\x03\x41\x00\x29\x00\xc6\x03\x21\xc6\x03\x41\x00\x29\x00\xc7\x03\x21\xc7\x03\x41\x00\x29\x00\xc8\x03\x21\xc8\x03\x41\x00\x29\x00\xc9\x03\x21\xc9\x03\x41\x00\x29\x00\xca\x03\x21\xca\x03\x41\x00\x29\x00\xcb\x03\x21\xcb\x03\x41\x00\x29\x00\xcc\x03\x21\xcc\x03\x41\x00\x29\x00\xcd\x03\x21\xcd\x03\x41\x00\x29\x00\xce\x03\x21\xce\x03\x41\x00\x29\x00\xcf\x03\x21\xcf\x03\x41\x00\x29\x00\xd0\x03\x21\xd0\x03\x41\x00\x29\x00\xd1\x03\x21\xd1\x03\x41\x00\x29\x00\xd2\x03\x21\xd2\x03\x41\x00\x29\x00\xd3\x03\x21\xd3\x03\x41\x00\x29\x00\xd4\x03\x21\xd4\x03\x41\x00\x29\x00\xd5\x03\x21\xd5\x03\x41\x00\x29\x00\xd6\x03\x21\xd6\x03\x41\x00\x29\x00\xd7\x03\x21\xd7\x03\x41\x00\x29\x00\xd8\x03\x21\xd8\x03\x41\x00\x29\x00\xd9\x03\x21\xd9\x03\x41\x00\x29\x00\xda\x03\x21\xda\x03\x41\x00\x29\x00\xdb\x03\x21\xdb\x03\x41\x00\x29\x00\xdc\x03\x21\xdc\x03\x41\x00\x29\x00\xdd\x03\x21\xdd\x03\x41\x00\x29\x00\xde\x03\x21\xde\x03\x41\x00\x29\x00\xdf\x03\x21\xdf\x03\x41\x00\x29\x00\xe0\x03\x21\xe0\x03\x41\x00\x29\x00\xe1\x03\x21\xe1\x03\x41\x00\x29\x00\xe2\x03\x21\xe2\x03\x41\x00\x29\x00\xe3\x03\x21\xe3\x03\x41\x00\x29\x00\xe4\x03\x21\xe4\x03\x41\x00\x29\x00\xe5\x03\x21\xe5\x03\x41\x00\x29\x00\xe6\x03\x21\xe6\x03\x41\x00\x29\x00\xe7\x03\x21\xe7\x03\x41\x00\x29\x00\xe8\x03\x21\xe8\x03\x41\x00\x29\x00\xe9\x03\x21\xe9\x03\x41\x00\x29\x00\xea\x03\x21\xea\x03\x41\x00\x29\x00\xeb\x03\x21\xeb\x03\x41\x00\x29\x00\xec\x03\x21\xec\x03\x41\x00\x29\x00\xed\x03\x21\xed\x03\x41\x00\x29\x00\xee\x03\x21\xee\x03\x41\x00\x29\x00\xef\x03\x21\xef\x03\x41\x00\x29\x00\xf0\x03\x21\xf0\x03\x41\x00\x29\x00\xf1\x03\x21\xf1\x03\x41\x00\x29\x00\xf2\x03\x21\xf2\x03\x41\x00\x29\x00\xf3\x03\x21\xf3\x03\x41\x00\x29\x00\xf4\x03\x21\xf4\x03\x41\x00\x29\x00\xf5\x03\x21\xf5\x03\x41\x00\x29\x00\xf6\x03\x21\xf6\x03\x41\x00\x29\x00\xf7\x03\x21\xf7\x03\x41\x00\x29\x00\xf8\x03\x21\xf8\x03\x41\x00\x29\x00\xf9\x03\x21\xf9\x03\x41\x00\x29\x00\xfa\x03\x21\xfa\x03\x41\x00\x29\x00\xfb\x03\x21\xfb\x03\x41\x00\x29\x00\xfc\x03\x21\xfc\x03\x41\x00\x29\x00\xfd\x03\x21\xfd\x03\x41\x00\x29\x00\xfe\x03\x21\xfe\x03\x41\x00\x29\x00\xff\x03\x21\xff\x03\x41\x00\x29\x00\x80\x04\x21\x80\x04\x41\x00\x29\x00\x81\x04\x21\x81\x04\x41\x00\x29\x00\x82\x04\x21\x82\x04\x41\x00\x29\x00\x83\x04\x21\x83\x04\x41\x00\x29\x00\x84\x04\x21\x84\x04\x41\x00\x29\x00\x85\x04\x21\x85\x04\x41\x00\x29\x00\x86\x04\x21\x86\x04\x41\x00\x29\x00\x87\x04\x21\x87\x04\x41\x00\x29\x00\x88\x04\x21\x88\x04\x41\x00\x29\x00\x89\x04\x21\x89\x04\x41\x00\x29\x00\x8a\x04\x21\x8a\x04\x41\x00\x29\x00\x8b\x04\x21\x8b\x04\x41\x00\x29\x00\x8c\x04\x21\x8c\x04\x41\x00\x29\x00\x8d\x04\x21\x8d\x04\x41\x00\x29\x00\x8e\x04\x21\x8e\x04\x41\x00\x29\x00\x8f\x04\x21\x8f\x04\x41\x00\x29\x00\x90\x04\x21\x90\x04\x41\x00\x29\x00\x91\x04\x21\x91\x04\x41\x00\x29\x00\x92\x04\x21\x92\x04\x41\x00\x29\x00\x93\x04\x21\x93\x04\x41\x00\x29\x00\x94\x04\x21\x94\x04\x41\x00\x29\x00\x95\x04\x21\x95\x04\x41\x00\x29\x00\x96\x04\x21\x96\x04\x41\x00\x29\x00\x97\x04\x21\x97\x04\x41\x00\x29\x00\x98\x04\x21\x98\x04\x41\x00\x29\x00\x99\x04\x21\x99\x04\x41\x00\x29\x00\x9a\x04\x21\x9a\x04\x41\x00\x29\x00\x9b\x04\x21\x9b\x04\x41\x00\x29\x00\x9c\x04\x21\x9c\x04\x41\x00\x29\x00\x9d\x04\x21\x9d\x04\x41\x00\x29\x00\x9e\x04\x21\x9e\x04\x41\x00\x29\x00\x9f\x04\x21\x9f\x04\x41\x00\x29\x00\xa0\x04\x21\xa0\x04\x41\x00\x29\x00\xa1\x04\x21\xa1\x04\x41\x00\x29\x00\xa2\x04\x21\xa2\x04\x41\x00\x29\x00\xa3\x04\x21\xa3\x04\x41\x00\x29\x00\xa4\x04\x21\xa4\x04\x41\x00\x29\x00\xa5\x04\x21\xa5\x04\x41\x00\x29\x00\xa6\x04\x21\xa6\x04\x41\x00\x29\x00\xa7\x04\x21\xa7\x04\x41\x00\x29\x00\xa8\x04\x21\xa8\x04\x41\x00\x29\x00\xa9\x04\x21\xa9\x04\x41\x00\x29\x00\xaa\x04\x21\xaa\x04\x41\x00\x29\x00\xab\x04\x21\xab\x04\x41\x00\x29\x00\xac\x04\x21\xac\x04\x41\x00\x29\x00\xad\x04\x21\xad\x04\x41\x00\x29\x00\xae\x04\x21\xae\x04\x41\x00\x29\x00\xaf\x04\x21\xaf\x04\x41\x00\x29\x00\xb0\x04\x21\xb0\x04\x41\x00\x29\x00\xb1\x04\x21\xb1\x04\x41\x00\x29\x00\xb2\x04\x21\xb2\x04\x41\x00\x29\x00\xb3\x04\x21\xb3\x04\x41\x00\x29\x00\xb4\x04\x21\xb4\x04\x41\x00\x29\x00\xb5\x04\x21\xb5\x04\x41\x00\x29\x00\xb6\x04\x21\xb6\x04\x41\x00\x29\x00\xb7\x04\x21\xb7\x04\x41\x00\x29\x00\xb8\x04\x21\xb8\x04\x41\x00\x29\x00\xb9\x04\x21\xb9\x04\x41\x00\x29\x00\xba\x04\x21\xba\x04\x41\x00\x29\x00\xbb\x04\x21\xbb\x04\x41\x00\x29\x00\xbc\x04\x21\xbc\x04\x41\x00\x29\x00\xbd\x04\x21\xbd\x04\x41\x00\x29\x00\xbe\x04\x21\xbe\x04\x41\x00\x29\x00\xbf\x04\x21\xbf\x04\x41\x00\x29\x00\xc0\x04\x21\xc0\x04\x41\x00\x29\x00\xc1\x04\x21\xc1\x04\x41\x00\x29\x00\xc2\x04\x21\xc2\x04\x41\x00\x29\x00\xc3\x04\x21\xc3\x04\x41\x00\x29\x00\xc4\x04\x21\xc4\x04\x41\x00\x29\x00\xc5\x04\x21\xc5\x04\x41\x00\x29\x00\xc6\x04\x21\xc6\x04\x41\x00\x29\x00\xc7\x04\x21\xc7\x04\x41\x00\x29\x00\xc8\x04\x21\xc8\x04\x41\x00\x29\x00\xc9\x04\x21\xc9\x04\x41\x00\x29\x00\xca\x04\x21\xca\x04\x41\x00\x29\x00\xcb\x04\x21\xcb\x04\x41\x00\x29\x00\xcc\x04\x21\xcc\x04\x41\x00\x29\x00\xcd\x04\x21\xcd\x04\x41\x00\x29\x00\xce\x04\x21\xce\x04\x41\x00\x29\x00\xcf\x04\x21\xcf\x04\x41\x00\x29\x00\xd0\x04\x21\xd0\x04\x41\x00\x29\x00\xd1\x04\x21\xd1\x04\x41\x00\x29\x00\xd2\x04\x21\xd2\x04\x41\x00\x29\x00\xd3\x04\x21\xd3\x04\x41\x00\x29\x00\xd4\x04\x21\xd4\x04\x41\x00\x29\x00\xd5\x04\x21\xd5\x04\x41\x00\x29\x00\xd6\x04\x21\xd6\x04\x41\x00\x29\x00\xd7\x04\x21\xd7\x04\x41\x00\x29\x00\xd8\x04\x21\xd8\x04\x41\x00\x29\x00\xd9\x04\x21\xd9\x04\x41\x00\x29\x00\xda\x04\x21\xda\x04\x41\x00\x29\x00\xdb\x04\x21\xdb\x04\x41\x00\x29\x00\xdc\x04\x21\xdc\x04\x41\x00\x29\x00\xdd\x04\x21\xdd\x04\x41\x00\x29\x00\xde\x04\x21\xde\x04\x41\x00\x29\x00\xdf\x04\x21\xdf\x04\x41\x00\x29\x00\xe0\x04\x21\xe0\x04\x41\x00\x29\x00\xe1\x04\x21\xe1\x04\x41\x00\x29\x00\xe2\x04\x21\xe2\x04\x41\x00\x29\x00\xe3\x04\x21\xe3\x04\x41\x00\x29\x00\xe4\x04\x21\xe4\x04\x41\x00\x29\x00\xe5\x04\x21\xe5\x04\x41\x00\x29\x00\xe6\x04\x21\xe6\x04\x41\x00\x29\x00\xe7\x04\x21\xe7\x04\x41\x00\x29\x00\xe8\x04\x21\xe8\x04\x41\x00\x29\x00\xe9\x04\x21\xe9\x04\x41\x00\x29\x00\xea\x04\x21\xea\x04\x41\x00\x29\x00\xeb\x04\x21\xeb\x04\x41\x00\x29\x00\xec\x04\x21\xec\x04\x41\x00\x29\x00\xed\x04\x21\xed\x04\x41\x00\x29\x00\xee\x04\x21\xee\x04\x41\x00\x29\x00\xef\x04\x21\xef\x04\x41\x00\x29\x00\xf0\x04\x21\xf0\x04\x41\x00\x29\x00\xf1\x04\x21\xf1\x04\x41\x00\x29\x00\xf2\x04\x21\xf2\x04\x41\x00\x29\x00\xf3\x04\x21\xf3\x04\x41\x00\x29\x00\xf4\x04\x21\xf4\x04\x41\x00\x29\x00\xf5\x04\x21\xf5\x04\x41\x00\x29\x00\xf6\x04\x21\xf6\x04\x41\x00\x29\x00\xf7\x04\x21\xf7\x04\x41\x00\x29\x00\xf8\x04\x21\xf8\x04\x41\x00\x29\x00\xf9\x04\x21\xf9\x04\x41\x00\x29\x00\xfa\x04\x21\xfa\x04\x41\x00\x29\x00\xfb\x04\x21\xfb\x04\x41\x00\x29\x00\xfc\x04\x21\xfc\x04\x41\x00\x29\x00\xfd\x04\x21\xfd\x04\x41\x00\x29\x00\xfe\x04\x21\xfe\x04\x41\x00\x29\x00\xff\x04\x21\xff\x04\x41\x00\x29\x00\x80\x05\x21\x80\x05\x41\x00\x29\x00\x81\x05\x21\x81\x05\x41\x00\x29\x00\x82\x05\x21\x82\x05\x41\x00\x29\x00\x83\x05\x21\x83\x05\x41\x00\x29\x00\x84\x05\x21\x84\x05\x41\x00\x29\x00\x85\x05\x21\x85\x05\x41\x00\x29\x00\x86\x05\x21\x86\x05\x41\x00\x29\x00\x87\x05\x21\x87\x05\x41\x00\x29\x00\x88\x05\x21\x88\x05\x41\x00\x29\x00\x89\x05\x21\x89\x05\x41\x00\x29\x00\x8a\x05\x21\x8a\x05\x41\x00\x29\x00\x8b\x05\x21\x8b\x05\x41\x00\x29\x00\x8c\x05\x21\x8c\x05\x41\x00\x29\x00\x8d\x05\x21\x8d\x05\x41\x00\x29\x00\x8e\x05\x21\x8e\x05\x41\x00\x29\x00\x8f\x05\x21\x8f\x05\x41\x00\x29\x00\x90\x05\x21\x90\x05\x41\x00\x29\x00\x91\x05\x21\x91\x05\x41\x00\x29\x00\x92\x05\x21\x92\x05\x41\x00\x29\x00\x93\x05\x21\x93\x05\x41\x00\x29\x00\x94\x05\x21\x94\x05\x41\x00\x29\x00\x95\x05\x21\x95\x05\x41\x00\x29\x00\x96\x05\x21\x96\x05\x41\x00\x29\x00\x97\x05\x21\x97\x05\x41\x00\x29\x00\x98\x05\x21\x98\x05\x41\x00\x29\x00\x99\x05\x21\x99\x05\x41\x00\x29\x00\x9a\x05\x21\x9a\x05\x41\x00\x29\x00\x9b\x05\x21\x9b\x05\x41\x00\x29\x00\x9c\x05\x21\x9c\x05\x41\x00\x29\x00\x9d\x05\x21\x9d\x05\x41\x00\x29\x00\x9e\x05\x21\x9e\x05\x41\x00\x29\x00\x9f\x05\x21\x9f\x05\x41\x00\x29\x00\xa0\x05\x21\xa0\x05\x41\x00\x29\x00\xa1\x05\x21\xa1\x05\x41\x00\x29\x00\xa2\x05\x21\xa2\x05\x41\x00\x29\x00\xa3\x05\x21\xa3\x05\x41\x00\x29\x00\xa4\x05\x21\xa4\x05\x41\x00\x29\x00\xa5\x05\x21\xa5\x05\x41\x00\x29\x00\xa6\x05\x21\xa6\x05\x41\x00\x29\x00\xa7\x05\x21\xa7\x05\x41\x00\x29\x00\xa8\x05\x21\xa8\x05\x41\x00\x29\x00\xa9\x05\x21\xa9\x05\x41\x00\x29\x00\xaa\x05\x21\xaa\x05\x41\x00\x29\x00\xab\x05\x21\xab\x05\x41\x00\x29\x00\xac\x05\x21\xac\x05\x41\x00\x29\x00\xad\x05\x21\xad\x05\x41\x00\x29\x00\xae\x05\x21\xae\x05\x41\x00\x29\x00\xaf\x05\x21\xaf\x05\x41\x00\x29\x00\xb0\x05\x21\xb0\x05\x41\x00\x29\x00\xb1\x05\x21\xb1\x05\x41\x00\x29\x00\xb2\x05\x21\xb2\x05\x41\x00\x29\x00\xb3\x05\x21\xb3\x05\x41\x00\x29\x00\xb4\x05\x21\xb4\x05\x41\x00\x29\x00\xb5\x05\x21\xb5\x05\x41\x00\x29\x00\xb6\x05\x21\xb6\x05\x41\x00\x29\x00\xb7\x05\x21\xb7\x05\x41\x00\x29\x00\xb8\x05\x21\xb8\x05\x41\x00\x29\x00\xb9\x05\x21\xb9\x05\x41\x00\x29\x00\xba\x05\x21\xba\x05\x41\x00\x29\x00\xbb\x05\x21\xbb\x05\x41\x00\x29\x00\xbc\x05\x21\xbc\x05\x41\x00\x29\x00\xbd\x05\x21\xbd\x05\x41\x00\x29\x00\xbe\x05\x21\xbe\x05\x41\x00\x29\x00\xbf\x05\x21\xbf\x05\x41\x00\x29\x00\xc0\x05\x21\xc0\x05\x41\x00\x29\x00\xc1\x05\x21\xc1\x05\x41\x00\x29\x00\xc2\x05\x21\xc2\x05\x41\x00\x29\x00\xc3\x05\x21\xc3\x05\x41\x00\x29\x00\xc4\x05\x21\xc4\x05\x41\x00\x29\x00\xc5\x05\x21\xc5\x05\x41\x00\x29\x00\xc6\x05\x21\xc6\x05\x41\x00\x29\x00\xc7\x05\x21\xc7\x05\x41\x00\x29\x00\xc8\x05\x21\xc8\x05\x41\x00\x29\x00\xc9\x05\x21\xc9\x05\x41\x00\x29\x00\xca\x05\x21\xca\x05\x41\x00\x29\x00\xcb\x05\x21\xcb\x05\x41\x00\x29\x00\xcc\x05\x21\xcc\x05\x41\x00\x29\x00\xcd\x05\x21\xcd\x05\x41\x00\x29\x00\xce\x05\x21\xce\x05\x41\x00\x29\x00\xcf\x05\x21\xcf\x05\x41\x00\x29\x00\xd0\x05\x21\xd0\x05\x41\x00\x29\x00\xd1\x05\x21\xd1\x05\x41\x00\x29\x00\xd2\x05\x21\xd2\x05\x41\x00\x29\x00\xd3\x05\x21\xd3\x05\x41\x00\x29\x00\xd4\x05\x21\xd4\x05\x41\x00\x29\x00\xd5\x05\x21\xd5\x05\x41\x00\x29\x00\xd6\x05\x21\xd6\x05\x41\x00\x29\x00\xd7\x05\x21\xd7\x05\x41\x00\x29\x00\xd8\x05\x21\xd8\x05\x41\x00\x29\x00\xd9\x05\x21\xd9\x05\x41\x00\x29\x00\xda\x05\x21\xda\x05\x41\x00\x29\x00\xdb\x05\x21\xdb\x05\x41\x00\x29\x00\xdc\x05\x21\xdc\x05\x41\x00\x29\x00\xdd\x05\x21\xdd\x05\x41\x00\x29\x00\xde\x05\x21\xde\x05\x41\x00\x29\x00\xdf\x05\x21\xdf\x05\x41\x00\x29\x00\xe0\x05\x21\xe0\x05\x41\x00\x29\x00\xe1\x05\x21\xe1\x05\x41\x00\x29\x00\xe2\x05\x21\xe2\x05\x41\x00\x29\x00\xe3\x05\x21\xe3\x05\x41\x00\x29\x00\xe4\x05\x21\xe4\x05\x41\x00\x29\x00\xe5\x05\x21\xe5\x05\x41\x00\x29\x00\xe6\x05\x21\xe6\x05\x41\x00\x29\x00\xe7\x05\x21\xe7\x05\x41\x00\x29\x00\xe8\x05\x21\xe8\x05\x41\x00\x29\x00\xe9\x05\x21\xe9\x05\x41\x00\x29\x00\xea\x05\x21\xea\x05\x41\x00\x29\x00\xeb\x05\x21\xeb\x05\x41\x00\x29\x00\xec\x05\x21\xec\x05\x41\x00\x29\x00\xed\x05\x21\xed\x05\x41\x00\x29\x00\xee\x05\x21\xee\x05\x41\x00\x29\x00\xef\x05\x21\xef\x05\x41\x00\x29\x00\xf0\x05\x21\xf0\x05\x41\x00\x29\x00\xf1\x05\x21\xf1\x05\x41\x00\x29\x00\xf2\x05\x21\xf2\x05\x41\x00\x29\x00\xf3\x05\x21\xf3\x05\x41\x00\x29\x00\xf4\x05\x21\xf4\x05\x41\x00\x29\x00\xf5\x05\x21\xf5\x05\x41\x00\x29\x00\xf6\x05\x21\xf6\x05\x41\x00\x29\x00\xf7\x05\x21\xf7\x05\x41\x00\x29\x00\xf8\x05\x21\xf8\x05\x41\x00\x29\x00\xf9\x05\x21\xf9\x05\x41\x00\x29\x00\xfa\x05\x21\xfa\x05\x41\x00\x29\x00\xfb\x05\x21\xfb\x05\x41\x00\x29\x00\xfc\x05\x21\xfc\x05\x41\x00\x29\x00\xfd\x05\x21\xfd\x05\x41\x00\x29\x00\xfe\x05\x21\xfe\x05\x41\x00\x29\x00\xff\x05\x21\xff\x05\x41\x00\x29\x00\x80\x06\x21\x80\x06\x41\x00\x29\x00\x81\x06\x21\x81\x06\x41\x00\x29\x00\x82\x06\x21\x82\x06\x41\x00\x29\x00\x83\x06\x21\x83\x06\x41\x00\x29\x00\x84\x06\x21\x84\x06\x41\x00\x29\x00\x85\x06\x21\x85\x06\x41\x00\x29\x00\x86\x06\x21\x86\x06\x41\x00\x29\x00\x87\x06\x21\x87\x06\x41\x00\x29\x00\x88\x06\x21\x88\x06\x41\x00\x29\x00\x89\x06\x21\x89\x06\x41\x00\x29\x00\x8a\x06\x21\x8a\x06\x41\x00\x29\x00\x8b\x06\x21\x8b\x06\x41\x00\x29\x00\x8c\x06\x21\x8c\x06\x41\x00\x29\x00\x8d\x06\x21\x8d\x06\x41\x00\x29\x00\x8e\x06\x21\x8e\x06\x41\x00\x29\x00\x8f\x06\x21\x8f\x06\x41\x00\x29\x00\x90\x06\x21\x90\x06\x41\x00\x29\x00\x91\x06\x21\x91\x06\x41\x00\x29\x00\x92\x06\x21\x92\x06\x41\x00\x29\x00\x93\x06\x21\x93\x06\x41\x00\x29\x00\x94\x06\x21\x94\x06\x41\x00\x29\x00\x95\x06\x21\x95\x06\x41\x00\x29\x00\x96\x06\x21\x96\x06\x41\x00\x29\x00\x97\x06\x21\x97\x06\x41\x00\x29\x00\x98\x06\x21\x98\x06\x41\x00\x29\x00\x99\x06\x21\x99\x06\x41\x00\x29\x00\x9a\x06\x21\x9a\x06\x41\x00\x29\x00\x9b\x06\x21\x9b\x06\x41\x00\x29\x00\x9c\x06\x21\x9c\x06\x41\x00\x29\x00\x9d\x06\x21\x9d\x06\x41\x00\x29\x00\x9e\x06\x21\x9e\x06\x41\x00\x29\x00\x9f\x06\x21\x9f\x06\x41\x00\x29\x00\xa0\x06\x21\xa0\x06\x41\x00\x29\x00\xa1\x06\x21\xa1\x06\x41\x00\x29\x00\xa2\x06\x21\xa2\x06\x41\x00\x29\x00\xa3\x06\x21\xa3\x06\x41\x00\x29\x00\xa4\x06\x21\xa4\x06\x41\x00\x29\x00\xa5\x06\x21\xa5\x06\x41\x00\x29\x00\xa6\x06\x21\xa6\x06\x41\x00\x29\x00\xa7\x06\x21\xa7\x06\x41\x00\x29\x00\xa8\x06\x21\xa8\x06\x41\x00\x29\x00\xa9\x06\x21\xa9\x06\x41\x00\x29\x00\xaa\x06\x21\xaa\x06\x41\x00\x29\x00\xab\x06\x21\xab\x06\x41\x00\x29\x00\xac\x06\x21\xac\x06\x41\x00\x29\x00\xad\x06\x21\xad\x06\x41\x00\x29\x00\xae\x06\x21\xae\x06\x41\x00\x29\x00\xaf\x06\x21\xaf\x06\x41\x00\x29\x00\xb0\x06\x21\xb0\x06\x41\x00\x29\x00\xb1\x06\x21\xb1\x06\x41\x00\x29\x00\xb2\x06\x21\xb2\x06\x41\x00\x29\x00\xb3\x06\x21\xb3\x06\x41\x00\x29\x00\xb4\x06\x21\xb4\x06\x41\x00\x29\x00\xb5\x06\x21\xb5\x06\x41\x00\x29\x00\xb6\x06\x21\xb6\x06\x41\x00\x29\x00\xb7\x06\x21\xb7\x06\x41\x00\x29\x00\xb8\x06\x21\xb8\x06\x41\x00\x29\x00\xb9\x06\x21\xb9\x06\x41\x00\x29\x00\xba\x06\x21\xba\x06\x41\x00\x29\x00\xbb\x06\x21\xbb\x06\x41\x00\x29\x00\xbc\x06\x21\xbc\x06\x41\x00\x29\x00\xbd\x06\x21\xbd\x06\x41\x00\x29\x00\xbe\x06\x21\xbe\x06\x41\x00\x29\x00\xbf\x06\x21\xbf\x06\x41\x00\x29\x00\xc0\x06\x21\xc0\x06\x41\x00\x29\x00\xc1\x06\x21\xc1\x06\x41\x00\x29\x00\xc2\x06\x21\xc2\x06\x41\x00\x29\x00\xc3\x06\x21\xc3\x06\x41\x00\x29\x00\xc4\x06\x21\xc4\x06\x41\x00\x29\x00\xc5\x06\x21\xc5\x06\x41\x00\x29\x00\xc6\x06\x21\xc6\x06\x41\x00\x29\x00\xc7\x06\x21\xc7\x06\x41\x00\x29\x00\xc8\x06\x21\xc8\x06\x41\x00\x29\x00\xc9\x06\x21\xc9\x06\x41\x00\x29\x00\xca\x06\x21\xca\x06\x41\x00\x29\x00\xcb\x06\x21\xcb\x06\x41\x00\x29\x00\xcc\x06\x21\xcc\x06\x41\x00\x29\x00\xcd\x06\x21\xcd\x06\x41\x00\x29\x00\xce\x06\x21\xce\x06\x41\x00\x29\x00\xcf\x06\x21\xcf\x06\x41\x00\x29\x00\xd0\x06\x21\xd0\x06\x41\x00\x29\x00\xd1\x06\x21\xd1\x06\x41\x00\x29\x00\xd2\x06\x21\xd2\x06\x41\x00\x29\x00\xd3\x06\x21\xd3\x06\x41\x00\x29\x00\xd4\x06\x21\xd4\x06\x41\x00\x29\x00\xd5\x06\x21\xd5\x06\x41\x00\x29\x00\xd6\x06\x21\xd6\x06\x41\x00\x29\x00\xd7\x06\x21\xd7\x06\x41\x00\x29\x00\xd8\x06\x21\xd8\x06\x41\x00\x29\x00\xd9\x06\x21\xd9\x06\x41\x00\x29\x00\xda\x06\x21\xda\x06\x41\x00\x29\x00\xdb\x06\x21\xdb\x06\x41\x00\x29\x00\xdc\x06\x21\xdc\x06\x41\x00\x29\x00\xdd\x06\x21\xdd\x06\x41\x00\x29\x00\xde\x06\x21\xde\x06\x41\x00\x29\x00\xdf\x06\x21\xdf\x06\x41\x00\x29\x00\xe0\x06\x21\xe0\x06\x41\x00\x29\x00\xe1\x06\x21\xe1\x06\x41\x00\x29\x00\xe2\x06\x21\xe2\x06\x41\x00\x29\x00\xe3\x06\x21\xe3\x06\x41\x00\x29\x00\xe4\x06\x21\xe4\x06\x41\x00\x29\x00\xe5\x06\x21\xe5\x06\x41\x00\x29\x00\xe6\x06\x21\xe6\x06\x41\x00\x29\x00\xe7\x06\x21\xe7\x06\x41\x00\x29\x00\xe8\x06\x21\xe8\x06\x41\x00\x29\x00\xe9\x06\x21\xe9\x06\x41\x00\x29\x00\xea\x06\x21\xea\x06\x41\x00\x29\x00\xeb\x06\x21\xeb\x06\x41\x00\x29\x00\xec\x06\x21\xec\x06\x41\x00\x29\x00\xed\x06\x21\xed\x06\x41\x00\x29\x00\xee\x06\x21\xee\x06\x41\x00\x29\x00\xef\x06\x21\xef\x06\x41\x00\x29\x00\xf0\x06\x21\xf0\x06\x41\x00\x29\x00\xf1\x06\x21\xf1\x06\x41\x00\x29\x00\xf2\x06\x21\xf2\x06\x41\x00\x29\x00\xf3\x06\x21\xf3\x06\x41\x00\x29\x00\xf4\x06\x21\xf4\x06\x41\x00\x29\x00\xf5\x06\x21\xf5\x06\x41\x00\x29\x00\xf6\x06\x21\xf6\x06\x41\x00\x29\x00\xf7\x06\x21\xf7\x06\x41\x00\x29\x00\xf8\x06\x21\xf8\x06\x41\x00\x29\x00\xf9\x06\x21\xf9\x06\x41\x00\x29\x00\xfa\x06\x21\xfa\x06\x41\x00\x29\x00\xfb\x06\x21\xfb\x06\x41\x00\x29\x00\xfc\x06\x21\xfc\x06\x41\x00\x29\x00\xfd\x06\x21\xfd\x06\x41\x00\x29\x00\xfe\x06\x21\xfe\x06\x41\x00\x29\x00\xff\x06\x21\xff\x06\x41\x00\x29\x00\x80\x07\x21\x80\x07\x41\x00\x29\x00\x81\x07\x21\x81\x07\x41\x00\x29\x00\x82\x07\x21\x82\x07\x41\x00\x29\x00\x83\x07\x21\x83\x07\x41\x00\x29\x00\x84\x07\x21\x84\x07\x41\x00\x29\x00\x85\x07\x21\x85\x07\x41\x00\x29\x00\x86\x07\x21\x86\x07\x41\x00\x29\x00\x87\x07\x21\x87\x07\x41\x00\x29\x00\x88\x07\x21\x88\x07\x41\x00\x29\x00\x89\x07\x21\x89\x07\x41\x00\x29\x00\x8a\x07\x21\x8a\x07\x41\x00\x29\x00\x8b\x07\x21\x8b\x07\x41\x00\x29\x00\x8c\x07\x21\x8c\x07\x41\x00\x29\x00\x8d\x07\x21\x8d\x07\x41\x00\x29\x00\x8e\x07\x21\x8e\x07\x41\x00\x29\x00\x8f\x07\x21\x8f\x07\x41\x00\x29\x00\x90\x07\x21\x90\x07\x41\x00\x29\x00\x91\x07\x21\x91\x07\x41\x00\x29\x00\x92\x07\x21\x92\x07\x41\x00\x29\x00\x93\x07\x21\x93\x07\x41\x00\x29\x00\x94\x07\x21\x94\x07\x41\x00\x29\x00\x95\x07\x21\x95\x07\x41\x00\x29\x00\x96\x07\x21\x96\x07\x41\x00\x29\x00\x97\x07\x21\x97\x07\x41\x00\x29\x00\x98\x07\x21\x98\x07\x41\x00\x29\x00\x99\x07\x21\x99\x07\x41\x00\x29\x00\x9a\x07\x21\x9a\x07\x41\x00\x29\x00\x9b\x07\x21\x9b\x07\x41\x00\x29\x00\x9c\x07\x21\x9c\x07\x41\x00\x29\x00\x9d\x07\x21\x9d\x07\x41\x00\x29\x00\x9e\x07\x21\x9e\x07\x41\x00\x29\x00\x9f\x07\x21\x9f\x07\x41\x00\x29\x00\xa0\x07\x21\xa0\x07\x41\x00\x29\x00\xa1\x07\x21\xa1\x07\x41\x00\x29\x00\xa2\x07\x21\xa2\x07\x41\x00\x29\x00\xa3\x07\x21\xa3\x07\x41\x00\x29\x00\xa4\x07\x21\xa4\x07\x41\x00\x29\x00\xa5\x07\x21\xa5\x07\x41\x00\x29\x00\xa6\x07\x21\xa6\x07\x41\x00\x29\x00\xa7\x07\x21\xa7\x07\x41\x00\x29\x00\xa8\x07\x21\xa8\x07\x41\x00\x29\x00\xa9\x07\x21\xa9\x07\x41\x00\x29\x00\xaa\x07\x21\xaa\x07\x41\x00\x29\x00\xab\x07\x21\xab\x07\x41\x00\x29\x00\xac\x07\x21\xac\x07\x41\x00\x29\x00\xad\x07\x21\xad\x07\x41\x00\x29\x00\xae\x07\x21\xae\x07\x41\x00\x29\x00\xaf\x07\x21\xaf\x07\x41\x00\x29\x00\xb0\x07\x21\xb0\x07\x41\x00\x29\x00\xb1\x07\x21\xb1\x07\x41\x00\x29\x00\xb2\x07\x21\xb2\x07\x41\x00\x29\x00\xb3\x07\x21\xb3\x07\x41\x00\x29\x00\xb4\x07\x21\xb4\x07\x41\x00\x29\x00\xb5\x07\x21\xb5\x07\x41\x00\x29\x00\xb6\x07\x21\xb6\x07\x41\x00\x29\x00\xb7\x07\x21\xb7\x07\x41\x00\x29\x00\xb8\x07\x21\xb8\x07\x41\x00\x29\x00\xb9\x07\x21\xb9\x07\x41\x00\x29\x00\xba\x07\x21\xba\x07\x41\x00\x29\x00\xbb\x07\x21\xbb\x07\x41\x00\x29\x00\xbc\x07\x21\xbc\x07\x41\x00\x29\x00\xbd\x07\x21\xbd\x07\x41\x00\x29\x00\xbe\x07\x21\xbe\x07\x41\x00\x29\x00\xbf\x07\x21\xbf\x07\x41\x00\x29\x00\xc0\x07\x21\xc0\x07\x41\x00\x29\x00\xc1\x07\x21\xc1\x07\x41\x00\x29\x00\xc2\x07\x21\xc2\x07\x41\x00\x29\x00\xc3\x07\x21\xc3\x07\x41\x00\x29\x00\xc4\x07\x21\xc4\x07\x41\x00\x29\x00\xc5\x07\x21\xc5\x07\x41\x00\x29\x00\xc6\x07\x21\xc6\x07\x41\x00\x29\x00\xc7\x07\x21\xc7\x07\x41\x00\x29\x00\xc8\x07\x21\xc8\x07\x41\x00\x29\x00\xc9\x07\x21\xc9\x07\x41\x00\x29\x00\xca\x07\x21\xca\x07\x41\x00\x29\x00\xcb\x07\x21\xcb\x07\x41\x00\x29\x00\xcc\x07\x21\xcc\x07\x41\x00\x29\x00\xcd\x07\x21\xcd\x07\x41\x00\x29\x00\xce\x07\x21\xce\x07\x41\x00\x29\x00\xcf\x07\x21\xcf\x07\x41\x00\x29\x00\xd0\x07\x21\xd0\x07\x41\x00\x29\x00\xd1\x07\x21\xd1\x07\x41\x00\x29\x00\xd2\x07\x21\xd2\x07\x41\x00\x29\x00\xd3\x07\x21\xd3\x07\x41\x00\x29\x00\xd4\x07\x21\xd4\x07\x41\x00\x29\x00\xd5\x07\x21\xd5\x07\x41\x00\x29\x00\xd6\x07\x21\xd6\x07\x41\x00\x29\x00\xd7\x07\x21\xd7\x07\x41\x00\x29\x00\xd8\x07\x21\xd8\x07\x41\x00\x29\x00\xd9\x07\x21\xd9\x07\x41\x00\x29\x00\xda\x07\x21\xda\x07\x41\x00\x29\x00\xdb\x07\x21\xdb\x07\x41\x00\x29\x00\xdc\x07\x21\xdc\x07\x41\x00\x29\x00\xdd\x07\x21\xdd\x07\x41\x00\x29\x00\xde\x07\x21\xde\x07\x41\x00\x29\x00\xdf\x07\x21\xdf\x07\x41\x00\x29\x00\xe0\x07\x21\xe0\x07\x41\x00\x29\x00\xe1\x07\x21\xe1\x07\x41\x00\x29\x00\xe2\x07\x21\xe2\x07\x41\x00\x29\x00\xe3\x07\x21\xe3\x07\x41\x00\x29\x00\xe4\x07\x21\xe4\x07\x41\x00\x29\x00\xe5\x07\x21\xe5\x07\x41\x00\x29\x00\xe6\x07\x21\xe6\x07\x41\x00\x29\x00\xe7\x07\x21\xe7\x07\x41\x00\x29\x00\xe8\x07\x21\xe8\x07\x41\x00\x29\x00\xe9\x07\x21\xe9\x07\x41\x00\x29\x00\xea\x07\x21\xea\x07\x41\x00\x29\x00\xeb\x07\x21\xeb\x07\x41\x00\x29\x00\xec\x07\x21\xec\x07\x41\x00\x29\x00\xed\x07\x21\xed\x07\x41\x00\x29\x00\xee\x07\x21\xee\x07\x41\x00\x29\x00\xef\x07\x21\xef\x07\x41\x00\x29\x00\xf0\x07\x21\xf0\x07\x41\x00\x29\x00\xf1\x07\x21\xf1\x07\x41\x00\x29\x00\xf2\x07\x21\xf2\x07\x41\x00\x29\x00\xf3\x07\x21\xf3\x07\x41\x00\x29\x00\xf4\x07\x21\xf4\x07\x41\x00\x29\x00\xf5\x07\x21\xf5\x07\x41\x00\x29\x00\xf6\x07\x21\xf6\x07\x41\x00\x29\x00\xf7\x07\x21\xf7\x07\x41\x00\x29\x00\xf8\x07\x21\xf8\x07\x41\x00\x29\x00\xf9\x07\x21\xf9\x07\x41\x00\x29\x00\xfa\x07\x21\xfa\x07\x41\x00\x29\x00\xfb\x07\x21\xfb\x07\x41\x00\x29\x00\xfc\x07\x21\xfc\x07\x41\x00\x29\x00\xfd\x07\x21\xfd\x07\x41\x00\x29\x00\xfe\x07\x21\xfe\x07\x41\x00\x29\x00\xff\x07\x21\xff\x07\x41\x00\x29\x00\x80\x08\x21\x80\x08\x41\x00\x29\x00\x81\x08\x21\x81\x08\x41\x00\x29\x00\x82\x08\x21\x82\x08\x41\x00\x29\x00\x83\x08\x21\x83\x08\x41\x00\x29\x00\x84\x08\x21\x84\x08\x41\x00\x29\x00\x85\x08\x21\x85\x08\x41\x00\x29\x00\x86\x08\x21\x86\x08\x41\x00\x29\x00\x87\x08\x21\x87\x08\x41\x00\x29\x00\x88\x08\x21\x88\x08\x41\x00\x29\x00\x89\x08\x21\x89\x08\x41\x00\x29\x00\x8a\x08\x21\x8a\x08\x41\x00\x29\x00\x8b\x08\x21\x8b\x08\x41\x00\x29\x00\x8c\x08\x21\x8c\x08\x41\x00\x29\x00\x8d\x08\x21\x8d\x08\x41\x00\x29\x00\x8e\x08\x21\x8e\x08\x41\x00\x29\x00\x8f\x08\x21\x8f\x08\x41\x00\x29\x00\x90\x08\x21\x90\x08\x41\x00\x29\x00\x91\x08\x21\x91\x08\x41\x00\x29\x00\x92\x08\x21\x92\x08\x41\x00\x29\x00\x93\x08\x21\x93\x08\x41\x00\x29\x00\x94\x08\x21\x94\x08\x41\x00\x29\x00\x95\x08\x21\x95\x08\x41\x00\x29\x00\x96\x08\x21\x96\x08\x41\x00\x29\x00\x97\x08\x21\x97\x08\x41\x00\x29\x00\x98\x08\x21\x98\x08\x41\x00\x29\x00\x99\x08\x21\x99\x08\x41\x00\x29\x00\x9a\x08\x21\x9a\x08\x41\x00\x29\x00\x9b\x08\x21\x9b\x08\x41\x00\x29\x00\x9c\x08\x21\x9c\x08\x41\x00\x29\x00\x9d\x08\x21\x9d\x08\x41\x00\x29\x00\x9e\x08\x21\x9e\x08\x41\x00\x29\x00\x9f\x08\x21\x9f\x08\x41\x00\x20\x00\x37\x00\x00\x41\x00\x20\x01\x37\x00\x01\x41\x00\x20\x02\x37\x00\x02\x41\x00\x20\x03\x37\x00\x03\x41\x00\x20\x04\x37\x00\x04\x41\x00\x20\x05\x37\x00\x05\x41\x00\x20\x06\x37\x00\x06\x41\x00\x20\x07\x37\x00\x07\x41\x00\x20\x08\x37\x00\x08\x41\x00\x20\x09\x37\x00\x09\x41\x00\x20\x0a\x37\x00\x0a\x41\x00\x20\x0b\x37\x00\x0b\x41\x00\x20\x0c\x37\x00\x0c\x41\x00\x20\x0d\x37\x00\x0d\x41\x00\x20\x0e\x37\x00\x0e\x41\x00\x20\x0f\x37\x00\x0f\x41\x00\x20\x10\x37\x00\x10\x41\x00\x20\x11\x37\x00\x11\x41\x00\x20\x12\x37\x00\x12\x41\x00\x20\x13\x37\x00\x13\x41\x00\x20\x14\x37\x00\x14\x41\x00\x20\x15\x37\x00\x15\x41\x00\x20\x16\x37\x00\x16\x41\x00\x20\x17\x37\x00\x17\x41\x00\x20\x18\x37\x00\x18\x41\x00\x20\x19\x37\x00\x19\x41\x00\x20\x1a\x37\x00\x1a\x41\x00\x20\x1b\x37\x00\x1b\x41\x00\x20\x1c\x37\x00\x1c\x41\x00\x20\x1d\x37\x00\x1d\x41\x00\x20\x1e\x37\x00\x1e\x41\x00\x20\x1f\x37\x00\x1f\x41\x00\x20\x20\x37\x00\x20\x41\x00\x20\x21\x37\x00\x21\x41\x00\x20\x22\x37\x00\x22\x41\x00\x20\x23\x37\x00\x23\x41\x00\x20\x24\x37\x00\x24\x41\x00\x20\x25\x37\x00\x25\x41\x00\x20\x26\x37\x00\x26\x41\x00\x20\x27\x37\x00\x27\x41\x00\x20\x28\x37\x00\x28\x41\x00\x20\x29\x37\x00\x29\x41\x00\x20\x2a\x37\x00\x2a\x41\x00\x20\x2b\x37\x00\x2b\x41\x00\x20\x2c\x37\x00\x2c\x41\x00\x20\x2d\x37\x00\x2d\x41\x00\x20\x2e\x37\x00\x2e\x41\x00\x20\x2f\x37\x00\x2f\x41\x00\x20\x30\x37\x00\x30\x41\x00\x20\x31\x37\x00\x31\x41\x00\x20\x32\x37\x00\x32\x41\x00\x20\x33\x37\x00\x33\x41\x00\x20\x34\x37\x00\x34\x41\x00\x20\x35\x37\x00\x35\x41\x00\x20\x36\x37\x00\x36\x41\x00\x20\x37\x37\x00\x37\x41\x00\x20\x38\x37\x00\x38\x41\x00\x20\x39\x37\x00\x39\x41\x00\x20\x3a\x37\x00\x3a\x41\x00\x20\x3b\x37\x00\x3b\x41\x00\x20\x3c\x37\x00\x3c\x41\x00\x20\x3d\x37\x00\x3d\x41\x00\x20\x3e\x37\x00\x3e\x41\x00\x20\x3f\x37\x00\x3f\x41\x00\x20\x40\x37\x00\x40\x41\x00\x20\x41\x37\x00\x41\x41\x00\x20\x42\x37\x00\x42\x41\x00\x20\x43\x37\x00\x43\x41\x00\x20\x44\x37\x00\x44\x41\x00\x20\x45\x37\x00\x45\x41\x00\x20\x46\x37\x00\x46\x41\x00\x20\x47\x37\x00\x47\x41\x00\x20\x48\x37\x00\x48\x41\x00\x20\x49\x37\x00\x49\x41\x00\x20\x4a\x37\x00\x4a\x41\x00\x20\x4b\x37\x00\x4b\x41\x00\x20\x4c\x37\x00\x4c\x41\x00\x20\x4d\x37\x00\x4d\x41\x00\x20\x4e\x37\x00\x4e\x41\x00\x20\x4f\x37\x00\x4f\x41\x00\x20\x50\x37\x00\x50\x41\x00\x20\x51\x37\x00\x51\x41\x00\x20\x52\x37\x00\x52\x41\x00\x20\x53\x37\x00\x53\x41\x00\x20\x54\x37\x00\x54\x41\x00\x20\x55\x37\x00\x55\x41\x00\x20\x56\x37\x00\x56\x41\x00\x20\x57\x37\x00\x57\x41\x00\x20\x58\x37\x00\x58\x41\x00\x20\x59\x37\x00\x59\x41\x00\x20\x5a\x37\x00\x5a\x41\x00\x20\x5b\x37\x00\x5b\x41\x00\x20\x5c\x37\x00\x5c\x41\x00\x20\x5d\x37\x00\x5d\x41\x00\x20\x5e\x37\x00\x5e\x41\x00\x20\x5f\x37\x00\x5f\x41\x00\x20\x60\x37\x00\x60\x41\x00\x20\x61\x37\x00\x61\x41\x00\x20\x62\x37\x00\x62\x41\x00\x20\x63\x37\x00\x63\x41\x00\x20\x64\x37\x00\x64\x41\x00\x20\x65\x37\x00\x65\x41\x00\x20\x66\x37\x00\x66\x41\x00\x20\x67\x37\x00\x67\x41\x00\x20\x68\x37\x00\x68\x41\x00\x20\x69\x37\x00\x69\x41\x00\x20\x6a\x37\x00\x6a\x41\x00\x20\x6b\x37\x00\x6b\x41\x00\x20\x6c\x37\x00\x6c\x41\x00\x20\x6d\x37\x00\x6d\x41\x00\x20\x6e\x37\x00\x6e\x41\x00\x20\x6f\x37\x00\x6f\x41\x00\x20\x70\x37\x00\x70\x41\x00\x20\x71\x37\x00\x71\x41\x00\x20\x72\x37\x00\x72\x41\x00\x20\x73\x37\x00\x73\x41\x00\x20\x74\x37\x00\x74\x41\x00\x20\x75\x37\x00\x75\x41\x00\x20\x76\x37\x00\x76\x41\x00\x20\x77\x37\x00\x77\x41\x00\x20\x78\x37\x00\x78\x41\x00\x20\x79\x37\x00\x79\x41\x00\x20\x7a\x37\x00\x7a\x41\x00\x20\x7b\x37\x00\x7b\x41\x00\x20\x7c\x37\x00\x7c\x41\x00\x20\x7d\x37\x00\x7d\x41\x00\x20\x7e\x37\x00\x7e\x41\x00\x20\x7f\x37\x00\x7f\x41\x00\x20\x80\x01\x37\x00\x80\x01\x41\x00\x20\x81\x01\x37\x00\x81\x01\x41\x00\x20\x82\x01\x37\x00\x82\x01\x41\x00\x20\x83\x01\x37\x00\x83\x01\x41\x00\x20\x84\x01\x37\x00\x84\x01\x41\x00\x20\x85\x01\x37\x00\x85\x01\x41\x00\x20\x86\x01\x37\x00\x86\x01\x41\x00\x20\x87\x01\x37\x00\x87\x01\x41\x00\x20\x88\x01\x37\x00\x88\x01\x41\x00\x20\x89\x01\x37\x00\x89\x01\x41\x00\x20\x8a\x01\x37\x00\x8a\x01\x41\x00\x20\x8b\x01\x37\x00\x8b\x01\x41\x00\x20\x8c\x01\x37\x00\x8c\x01\x41\x00\x20\x8d\x01\x37\x00\x8d\x01\x41\x00\x20\x8e\x01\x37\x00\x8e\x01\x41\x00\x20\x8f\x01\x37\x00\x8f\x01\x41\x00\x20\x90\x01\x37\x00\x90\x01\x41\x00\x20\x91\x01\x37\x00\x91\x01\x41\x00\x20\x92\x01\x37\x00\x92\x01\x41\x00\x20\x93\x01\x37\x00\x93\x01\x41\x00\x20\x94\x01\x37\x00\x94\x01\x41\x00\x20\x95\x01\x37\x00\x95\x01\x41\x00\x20\x96\x01\x37\x00\x96\x01\x41\x00\x20\x97\x01\x37\x00\x97\x01\x41\x00\x20\x98\x01\x37\x00\x98\x01\x41\x00\x20\x99\x01\x37\x00\x99\x01\x41\x00\x20\x9a\x01\x37\x00\x9a\x01\x41\x00\x20\x9b\x01\x37\x00\x9b\x01\x41\x00\x20\x9c\x01\x37\x00\x9c\x01\x41\x00\x20\x9d\x01\x37\x00\x9d\x01\x41\x00\x20\x9e\x01\x37\x00\x9e\x01\x41\x00\x20\x9f\x01\x37\x00\x9f\x01\x41\x00\x20\xa0\x01\x37\x00\xa0\x01\x41\x00\x20\xa1\x01\x37\x00\xa1\x01\x41\x00\x20\xa2\x01\x37\x00\xa2\x01\x41\x00\x20\xa3\x01\x37\x00\xa3\x01\x41\x00\x20\xa4\x01\x37\x00\xa4\x01\x41\x00\x20\xa5\x01\x37\x00\xa5\x01\x41\x00\x20\xa6\x01\x37\x00\xa6\x01\x41\x00\x20\xa7\x01\x37\x00\xa7\x01\x41\x00\x20\xa8\x01\x37\x00\xa8\x01\x41\x00\x20\xa9\x01\x37\x00\xa9\x01\x41\x00\x20\xaa\x01\x37\x00\xaa\x01\x41\x00\x20\xab\x01\x37\x00\xab\x01\x41\x00\x20\xac\x01\x37\x00\xac\x01\x41\x00\x20\xad\x01\x37\x00\xad\x01\x41\x00\x20\xae\x01\x37\x00\xae\x01\x41\x00\x20\xaf\x01\x37\x00\xaf\x01\x41\x00\x20\xb0\x01\x37\x00\xb0\x01\x41\x00\x20\xb1\x01\x37\x00\xb1\x01\x41\x00\x20\xb2\x01\x37\x00\xb2\x01\x41\x00\x20\xb3\x01\x37\x00\xb3\x01\x41\x00\x20\xb4\x01\x37\x00\xb4\x01\x41\x00\x20\xb5\x01\x37\x00\xb5\x01\x41\x00\x20\xb6\x01\x37\x00\xb6\x01\x41\x00\x20\xb7\x01\x37\x00\xb7\x01\x41\x00\x20\xb8\x01\x37\x00\xb8\x01\x41\x00\x20\xb9\x01\x37\x00\xb9\x01\x41\x00\x20\xba\x01\x37\x00\xba\x01\x41\x00\x20\xbb\x01\x37\x00\xbb\x01\x41\x00\x20\xbc\x01\x37\x00\xbc\x01\x41\x00\x20\xbd\x01\x37\x00\xbd\x01\x41\x00\x20\xbe\x01\x37\x00\xbe\x01\x41\x00\x20\xbf\x01\x37\x00\xbf\x01\x41\x00\x20\xc0\x01\x37\x00\xc0\x01\x41\x00\x20\xc1\x01\x37\x00\xc1\x01\x41\x00\x20\xc2\x01\x37\x00\xc2\x01\x41\x00\x20\xc3\x01\x37\x00\xc3\x01\x41\x00\x20\xc4\x01\x37\x00\xc4\x01\x41\x00\x20\xc5\x01\x37\x00\xc5\x01\x41\x00\x20\xc6\x01\x37\x00\xc6\x01\x41\x00\x20\xc7\x01\x37\x00\xc7\x01\x41\x00\x20\xc8\x01\x37\x00\xc8\x01\x41\x00\x20\xc9\x01\x37\x00\xc9\x01\x41\x00\x20\xca\x01\x37\x00\xca\x01\x41\x00\x20\xcb\x01\x37\x00\xcb\x01\x41\x00\x20\xcc\x01\x37\x00\xcc\x01\x41\x00\x20\xcd\x01\x37\x00\xcd\x01\x41\x00\x20\xce\x01\x37\x00\xce\x01\x41\x00\x20\xcf\x01\x37\x00\xcf\x01\x41\x00\x20\xd0\x01\x37\x00\xd0\x01\x41\x00\x20\xd1\x01\x37\x00\xd1\x01\x41\x00\x20\xd2\x01\x37\x00\xd2\x01\x41\x00\x20\xd3\x01\x37\x00\xd3\x01\x41\x00\x20\xd4\x01\x37\x00\xd4\x01\x41\x00\x20\xd5\x01\x37\x00\xd5\x01\x41\x00\x20\xd6\x01\x37\x00\xd6\x01\x41\x00\x20\xd7\x01\x37\x00\xd7\x01\x41\x00\x20\xd8\x01\x37\x00\xd8\x01\x41\x00\x20\xd9\x01\x37\x00\xd9\x01\x41\x00\x20\xda\x01\x37\x00\xda\x01\x41\x00\x20\xdb\x01\x37\x00\xdb\x01\x41\x00\x20\xdc\x01\x37\x00\xdc\x01\x41\x00\x20\xdd\x01\x37\x00\xdd\x01\x41\x00\x20\xde\x01\x37\x00\xde\x01\x41\x00\x20\xdf\x01\x37\x00\xdf\x01\x41\x00\x20\xe0\x01\x37\x00\xe0\x01\x41\x00\x20\xe1\x01\x37\x00\xe1\x01\x41\x00\x20\xe2\x01\x37\x00\xe2\x01\x41\x00\x20\xe3\x01\x37\x00\xe3\x01\x41\x00\x20\xe4\x01\x37\x00\xe4\x01\x41\x00\x20\xe5\x01\x37\x00\xe5\x01\x41\x00\x20\xe6\x01\x37\x00\xe6\x01\x41\x00\x20\xe7\x01\x37\x00\xe7\x01\x41\x00\x20\xe8\x01\x37\x00\xe8\x01\x41\x00\x20\xe9\x01\x37\x00\xe9\x01\x41\x00\x20\xea\x01\x37\x00\xea\x01\x41\x00\x20\xeb\x01\x37\x00\xeb\x01\x41\x00\x20\xec\x01\x37\x00\xec\x01\x41\x00\x20\xed\x01\x37\x00\xed\x01\x41\x00\x20\xee\x01\x37\x00\xee\x01\x41\x00\x20\xef\x01\x37\x00\xef\x01\x41\x00\x20\xf0\x01\x37\x00\xf0\x01\x41\x00\x20\xf1\x01\x37\x00\xf1\x01\x41\x00\x20\xf2\x01\x37\x00\xf2\x01\x41\x00\x20\xf3\x01\x37\x00\xf3\x01\x41\x00\x20\xf4\x01\x37\x00\xf4\x01\x41\x00\x20\xf5\x01\x37\x00\xf5\x01\x41\x00\x20\xf6\x01\x37\x00\xf6\x01\x41\x00\x20\xf7\x01\x37\x00\xf7\x01\x41\x00\x20\xf8\x01\x37\x00\xf8\x01\x41\x00\x20\xf9\x01\x37\x00\xf9\x01\x41\x00\x20\xfa\x01\x37\x00\xfa\x01\x41\x00\x20\xfb\x01\x37\x00\xfb\x01\x41\x00\x20\xfc\x01\x37\x00\xfc\x01\x41\x00\x20\xfd\x01\x37\x00\xfd\x01\x41\x00\x20\xfe\x01\x37\x00\xfe\x01\x41\x00\x20\xff\x01\x37\x00\xff\x01\x41\x00\x20\x80\x02\x37\x00\x80\x02\x41\x00\x20\x81\x02\x37\x00\x81\x02\x41\x00\x20\x82\x02\x37\x00\x82\x02\x41\x00\x20\x83\x02\x37\x00\x83\x02\x41\x00\x20\x84\x02\x37\x00\x84\x02\x41\x00\x20\x85\x02\x37\x00\x85\x02\x41\x00\x20\x86\x02\x37\x00\x86\x02\x41\x00\x20\x87\x02\x37\x00\x87\x02\x41\x00\x20\x88\x02\x37\x00\x88\x02\x41\x00\x20\x89\x02\x37\x00\x89\x02\x41\x00\x20\x8a\x02\x37\x00\x8a\x02\x41\x00\x20\x8b\x02\x37\x00\x8b\x02\x41\x00\x20\x8c\x02\x37\x00\x8c\x02\x41\x00\x20\x8d\x02\x37\x00\x8d\x02\x41\x00\x20\x8e\x02\x37\x00\x8e\x02\x41\x00\x20\x8f\x02\x37\x00\x8f\x02\x41\x00\x20\x90\x02\x37\x00\x90\x02\x41\x00\x20\x91\x02\x37\x00\x91\x02\x41\x00\x20\x92\x02\x37\x00\x92\x02\x41\x00\x20\x93\x02\x37\x00\x93\x02\x41\x00\x20\x94\x02\x37\x00\x94\x02\x41\x00\x20\x95\x02\x37\x00\x95\x02\x41\x00\x20\x96\x02\x37\x00\x96\x02\x41\x00\x20\x97\x02\x37\x00\x97\x02\x41\x00\x20\x98\x02\x37\x00\x98\x02\x41\x00\x20\x99\x02\x37\x00\x99\x02\x41\x00\x20\x9a\x02\x37\x00\x9a\x02\x41\x00\x20\x9b\x02\x37\x00\x9b\x02\x41\x00\x20\x9c\x02\x37\x00\x9c\x02\x41\x00\x20\x9d\x02\x37\x00\x9d\x02\x41\x00\x20\x9e\x02\x37\x00\x9e\x02\x41\x00\x20\x9f\x02\x37\x00\x9f\x02\x41\x00\x20\xa0\x02\x37\x00\xa0\x02\x41\x00\x20\xa1\x02\x37\x00\xa1\x02\x41\x00\x20\xa2\x02\x37\x00\xa2\x02\x41\x00\x20\xa3\x02\x37\x00\xa3\x02\x41\x00\x20\xa4\x02\x37\x00\xa4\x02\x41\x00\x20\xa5\x02\x37\x00\xa5\x02\x41\x00\x20\xa6\x02\x37\x00\xa6\x02\x41\x00\x20\xa7\x02\x37\x00\xa7\x02\x41\x00\x20\xa8\x02\x37\x00\xa8\x02\x41\x00\x20\xa9\x02\x37\x00\xa9\x02\x41\x00\x20\xaa\x02\x37\x00\xaa\x02\x41\x00\x20\xab\x02\x37\x00\xab\x02\x41\x00\x20\xac\x02\x37\x00\xac\x02\x41\x00\x20\xad\x02\x37\x00\xad\x02\x41\x00\x20\xae\x02\x37\x00\xae\x02\x41\x00\x20\xaf\x02\x37\x00\xaf\x02\x41\x00\x20\xb0\x02\x37\x00\xb0\x02\x41\x00\x20\xb1\x02\x37\x00\xb1\x02\x41\x00\x20\xb2\x02\x37\x00\xb2\x02\x41\x00\x20\xb3\x02\x37\x00\xb3\x02\x41\x00\x20\xb4\x02\x37\x00\xb4\x02\x41\x00\x20\xb5\x02\x37\x00\xb5\x02\x41\x00\x20\xb6\x02\x37\x00\xb6\x02\x41\x00\x20\xb7\x02\x37\x00\xb7\x02\x41\x00\x20\xb8\x02\x37\x00\xb8\x02\x41\x00\x20\xb9\x02\x37\x00\xb9\x02\x41\x00\x20\xba\x02\x37\x00\xba\x02\x41\x00\x20\xbb\x02\x37\x00\xbb\x02\x41\x00\x20\xbc\x02\x37\x00\xbc\x02\x41\x00\x20\xbd\x02\x37\x00\xbd\x02\x41\x00\x20\xbe\x02\x37\x00\xbe\x02\x41\x00\x20\xbf\x02\x37\x00\xbf\x02\x41\x00\x20\xc0\x02\x37\x00\xc0\x02\x41\x00\x20\xc1\x02\x37\x00\xc1\x02\x41\x00\x20\xc2\x02\x37\x00\xc2\x02\x41\x00\x20\xc3\x02\x37\x00\xc3\x02\x41\x00\x20\xc4\x02\x37\x00\xc4\x02\x41\x00\x20\xc5\x02\x37\x00\xc5\x02\x41\x00\x20\xc6\x02\x37\x00\xc6\x02\x41\x00\x20\xc7\x02\x37\x00\xc7\x02\x41\x00\x20\xc8\x02\x37\x00\xc8\x02\x41\x00\x20\xc9\x02\x37\x00\xc9\x02\x41\x00\x20\xca\x02\x37\x00\xca\x02\x41\x00\x20\xcb\x02\x37\x00\xcb\x02\x41\x00\x20\xcc\x02\x37\x00\xcc\x02\x41\x00\x20\xcd\x02\x37\x00\xcd\x02\x41\x00\x20\xce\x02\x37\x00\xce\x02\x41\x00\x20\xcf\x02\x37\x00\xcf\x02\x41\x00\x20\xd0\x02\x37\x00\xd0\x02\x41\x00\x20\xd1\x02\x37\x00\xd1\x02\x41\x00\x20\xd2\x02\x37\x00\xd2\x02\x41\x00\x20\xd3\x02\x37\x00\xd3\x02\x41\x00\x20\xd4\x02\x37\x00\xd4\x02\x41\x00\x20\xd5\x02\x37\x00\xd5\x02\x41\x00\x20\xd6\x02\x37\x00\xd6\x02\x41\x00\x20\xd7\x02\x37\x00\xd7\x02\x41\x00\x20\xd8\x02\x37\x00\xd8\x02\x41\x00\x20\xd9\x02\x37\x00\xd9\x02\x41\x00\x20\xda\x02\x37\x00\xda\x02\x41\x00\x20\xdb\x02\x37\x00\xdb\x02\x41\x00\x20\xdc\x02\x37\x00\xdc\x02\x41\x00\x20\xdd\x02\x37\x00\xdd\x02\x41\x00\x20\xde\x02\x37\x00\xde\x02\x41\x00\x20\xdf\x02\x37\x00\xdf\x02\x41\x00\x20\xe0\x02\x37\x00\xe0\x02\x41\x00\x20\xe1\x02\x37\x00\xe1\x02\x41\x00\x20\xe2\x02\x37\x00\xe2\x02\x41\x00\x20\xe3\x02\x37\x00\xe3\x02\x41\x00\x20\xe4\x02\x37\x00\xe4\x02\x41\x00\x20\xe5\x02\x37\x00\xe5\x02\x41\x00\x20\xe6\x02\x37\x00\xe6\x02\x41\x00\x20\xe7\x02\x37\x00\xe7\x02\x41\x00\x20\xe8\x02\x37\x00\xe8\x02\x41\x00\x20\xe9\x02\x37\x00\xe9\x02\x41\x00\x20\xea\x02\x37\x00\xea\x02\x41\x00\x20\xeb\x02\x37\x00\xeb\x02\x41\x00\x20\xec\x02\x37\x00\xec\x02\x41\x00\x20\xed\x02\x37\x00\xed\x02\x41\x00\x20\xee\x02\x37\x00\xee\x02\x41\x00\x20\xef\x02\x37\x00\xef\x02\x41\x00\x20\xf0\x02\x37\x00\xf0\x02\x41\x00\x20\xf1\x02\x37\x00\xf1\x02\x41\x00\x20\xf2\x02\x37\x00\xf2\x02\x41\x00\x20\xf3\x02\x37\x00\xf3\x02\x41\x00\x20\xf4\x02\x37\x00\xf4\x02\x41\x00\x20\xf5\x02\x37\x00\xf5\x02\x41\x00\x20\xf6\x02\x37\x00\xf6\x02\x41\x00\x20\xf7\x02\x37\x00\xf7\x02\x41\x00\x20\xf8\x02\x37\x00\xf8\x02\x41\x00\x20\xf9\x02\x37\x00\xf9\x02\x41\x00\x20\xfa\x02\x37\x00\xfa\x02\x41\x00\x20\xfb\x02\x37\x00\xfb\x02\x41\x00\x20\xfc\x02\x37\x00\xfc\x02\x41\x00\x20\xfd\x02\x37\x00\xfd\x02\x41\x00\x20\xfe\x02\x37\x00\xfe\x02\x41\x00\x20\xff\x02\x37\x00\xff\x02\x41\x00\x20\x80\x03\x37\x00\x80\x03\x41\x00\x20\x81\x03\x37\x00\x81\x03\x41\x00\x20\x82\x03\x37\x00\x82\x03\x41\x00\x20\x83\x03\x37\x00\x83\x03\x41\x00\x20\x84\x03\x37\x00\x84\x03\x41\x00\x20\x85\x03\x37\x00\x85\x03\x41\x00\x20\x86\x03\x37\x00\x86\x03\x41\x00\x20\x87\x03\x37\x00\x87\x03\x41\x00\x20\x88\x03\x37\x00\x88\x03\x41\x00\x20\x89\x03\x37\x00\x89\x03\x41\x00\x20\x8a\x03\x37\x00\x8a\x03\x41\x00\x20\x8b\x03\x37\x00\x8b\x03\x41\x00\x20\x8c\x03\x37\x00\x8c\x03\x41\x00\x20\x8d\x03\x37\x00\x8d\x03\x41\x00\x20\x8e\x03\x37\x00\x8e\x03\x41\x00\x20\x8f\x03\x37\x00\x8f\x03\x41\x00\x20\x90\x03\x37\x00\x90\x03\x41\x00\x20\x91\x03\x37\x00\x91\x03\x41\x00\x20\x92\x03\x37\x00\x92\x03\x41\x00\x20\x93\x03\x37\x00\x93\x03\x41\x00\x20\x94\x03\x37\x00\x94\x03\x41\x00\x20\x95\x03\x37\x00\x95\x03\x41\x00\x20\x96\x03\x37\x00\x96\x03\x41\x00\x20\x97\x03\x37\x00\x97\x03\x41\x00\x20\x98\x03\x37\x00\x98\x03\x41\x00\x20\x99\x03\x37\x00\x99\x03\x41\x00\x20\x9a\x03\x37\x00\x9a\x03\x41\x00\x20\x9b\x03\x37\x00\x9b\x03\x41\x00\x20\x9c\x03\x37\x00\x9c\x03\x41\x00\x20\x9d\x03\x37\x00\x9d\x03\x41\x00\x20\x9e\x03\x37\x00\x9e\x03\x41\x00\x20\x9f\x03\x37\x00\x9f\x03\x41\x00\x20\xa0\x03\x37\x00\xa0\x03\x41\x00\x20\xa1\x03\x37\x00\xa1\x03\x41\x00\x20\xa2\x03\x37\x00\xa2\x03\x41\x00\x20\xa3\x03\x37\x00\xa3\x03\x41\x00\x20\xa4\x03\x37\x00\xa4\x03\x41\x00\x20\xa5\x03\x37\x00\xa5\x03\x41\x00\x20\xa6\x03\x37\x00\xa6\x03\x41\x00\x20\xa7\x03\x37\x00\xa7\x03\x41\x00\x20\xa8\x03\x37\x00\xa8\x03\x41\x00\x20\xa9\x03\x37\x00\xa9\x03\x41\x00\x20\xaa\x03\x37\x00\xaa\x03\x41\x00\x20\xab\x03\x37\x00\xab\x03\x41\x00\x20\xac\x03\x37\x00\xac\x03\x41\x00\x20\xad\x03\x37\x00\xad\x03\x41\x00\x20\xae\x03\x37\x00\xae\x03\x41\x00\x20\xaf\x03\x37\x00\xaf\x03\x41\x00\x20\xb0\x03\x37\x00\xb0\x03\x41\x00\x20\xb1\x03\x37\x00\xb1\x03\x41\x00\x20\xb2\x03\x37\x00\xb2\x03\x41\x00\x20\xb3\x03\x37\x00\xb3\x03\x41\x00\x20\xb4\x03\x37\x00\xb4\x03\x41\x00\x20\xb5\x03\x37\x00\xb5\x03\x41\x00\x20\xb6\x03\x37\x00\xb6\x03\x41\x00\x20\xb7\x03\x37\x00\xb7\x03\x41\x00\x20\xb8\x03\x37\x00\xb8\x03\x41\x00\x20\xb9\x03\x37\x00\xb9\x03\x41\x00\x20\xba\x03\x37\x00\xba\x03\x41\x00\x20\xbb\x03\x37\x00\xbb\x03\x41\x00\x20\xbc\x03\x37\x00\xbc\x03\x41\x00\x20\xbd\x03\x37\x00\xbd\x03\x41\x00\x20\xbe\x03\x37\x00\xbe\x03\x41\x00\x20\xbf\x03\x37\x00\xbf\x03\x41\x00\x20\xc0\x03\x37\x00\xc0\x03\x41\x00\x20\xc1\x03\x37\x00\xc1\x03\x41\x00\x20\xc2\x03\x37\x00\xc2\x03\x41\x00\x20\xc3\x03\x37\x00\xc3\x03\x41\x00\x20\xc4\x03\x37\x00\xc4\x03\x41\x00\x20\xc5\x03\x37\x00\xc5\x03\x41\x00\x20\xc6\x03\x37\x00\xc6\x03\x41\x00\x20\xc7\x03\x37\x00\xc7\x03\x41\x00\x20\xc8\x03\x37\x00\xc8\x03\x41\x00\x20\xc9\x03\x37\x00\xc9\x03\x41\x00\x20\xca\x03\x37\x00\xca\x03\x41\x00\x20\xcb\x03\x37\x00\xcb\x03\x41\x00\x20\xcc\x03\x37\x00\xcc\x03\x41\x00\x20\xcd\x03\x37\x00\xcd\x03\x41\x00\x20\xce\x03\x37\x00\xce\x03\x41\x00\x20\xcf\x03\x37\x00\xcf\x03\x41\x00\x20\xd0\x03\x37\x00\xd0\x03\x41\x00\x20\xd1\x03\x37\x00\xd1\x03\x41\x00\x20\xd2\x03\x37\x00\xd2\x03\x41\x00\x20\xd3\x03\x37\x00\xd3\x03\x41\x00\x20\xd4\x03\x37\x00\xd4\x03\x41\x00\x20\xd5\x03\x37\x00\xd5\x03\x41\x00\x20\xd6\x03\x37\x00\xd6\x03\x41\x00\x20\xd7\x03\x37\x00\xd7\x03\x41\x00\x20\xd8\x03\x37\x00\xd8\x03\x41\x00\x20\xd9\x03\x37\x00\xd9\x03\x41\x00\x20\xda\x03\x37\x00\xda\x03\x41\x00\x20\xdb\x03\x37\x00\xdb\x03\x41\x00\x20\xdc\x03\x37\x00\xdc\x03\x41\x00\x20\xdd\x03\x37\x00\xdd\x03\x41\x00\x20\xde\x03\x37\x00\xde\x03\x41\x00\x20\xdf\x03\x37\x00\xdf\x03\x41\x00\x20\xe0\x03\x37\x00\xe0\x03\x41\x00\x20\xe1\x03\x37\x00\xe1\x03\x41\x00\x20\xe2\x03\x37\x00\xe2\x03\x41\x00\x20\xe3\x03\x37\x00\xe3\x03\x41\x00\x20\xe4\x03\x37\x00\xe4\x03\x41\x00\x20\xe5\x03\x37\x00\xe5\x03\x41\x00\x20\xe6\x03\x37\x00\xe6\x03\x41\x00\x20\xe7\x03\x37\x00\xe7\x03\x41\x00\x20\xe8\x03\x37\x00\xe8\x03\x41\x00\x20\xe9\x03\x37\x00\xe9\x03\x41\x00\x20\xea\x03\x37\x00\xea\x03\x41\x00\x20\xeb\x03\x37\x00\xeb\x03\x41\x00\x20\xec\x03\x37\x00\xec\x03\x41\x00\x20\xed\x03\x37\x00\xed\x03\x41\x00\x20\xee\x03\x37\x00\xee\x03\x41\x00\x20\xef\x03\x37\x00\xef\x03\x41\x00\x20\xf0\x03\x37\x00\xf0\x03\x41\x00\x20\xf1\x03\x37\x00\xf1\x03\x41\x00\x20\xf2\x03\x37\x00\xf2\x03\x41\x00\x20\xf3\x03\x37\x00\xf3\x03\x41\x00\x20\xf4\x03\x37\x00\xf4\x03\x41\x00\x20\xf5\x03\x37\x00\xf5\x03\x41\x00\x20\xf6\x03\x37\x00\xf6\x03\x41\x00\x20\xf7\x03\x37\x00\xf7\x03\x41\x00\x20\xf8\x03\x37\x00\xf8\x03\x41\x00\x20\xf9\x03\x37\x00\xf9\x03\x41\x00\x20\xfa\x03\x37\x00\xfa\x03\x41\x00\x20\xfb\x03\x37\x00\xfb\x03\x41\x00\x20\xfc\x03\x37\x00\xfc\x03\x41\x00\x20\xfd\x03\x37\x00\xfd\x03\x41\x00\x20\xfe\x03\x37\x00\xfe\x03\x41\x00\x20\xff\x03\x37\x00\xff\x03\x41\x00\x20\x80\x04\x37\x00\x80\x04\x41\x00\x20\x81\x04\x37\x00\x81\x04\x41\x00\x20\x82\x04\x37\x00\x82\x04\x41\x00\x20\x83\x04\x37\x00\x83\x04\x41\x00\x20\x84\x04\x37\x00\x84\x04\x41\x00\x20\x85\x04\x37\x00\x85\x04\x41\x00\x20\x86\x04\x37\x00\x86\x04\x41\x00\x20\x87\x04\x37\x00\x87\x04\x41\x00\x20\x88\x04\x37\x00\x88\x04\x41\x00\x20\x89\x04\x37\x00\x89\x04\x41\x00\x20\x8a\x04\x37\x00\x8a\x04\x41\x00\x20\x8b\x04\x37\x00\x8b\x04\x41\x00\x20\x8c\x04\x37\x00\x8c\x04\x41\x00\x20\x8d\x04\x37\x00\x8d\x04\x41\x00\x20\x8e\x04\x37\x00\x8e\x04\x41\x00\x20\x8f\x04\x37\x00\x8f\x04\x41\x00\x20\x90\x04\x37\x00\x90\x04\x41\x00\x20\x91\x04\x37\x00\x91\x04\x41\x00\x20\x92\x04\x37\x00\x92\x04\x41\x00\x20\x93\x04\x37\x00\x93\x04\x41\x00\x20\x94\x04\x37\x00\x94\x04\x41\x00\x20\x95\x04\x37\x00\x95\x04\x41\x00\x20\x96\x04\x37\x00\x96\x04\x41\x00\x20\x97\x04\x37\x00\x97\x04\x41\x00\x20\x98\x04\x37\x00\x98\x04\x41\x00\x20\x99\x04\x37\x00\x99\x04\x41\x00\x20\x9a\x04\x37\x00\x9a\x04\x41\x00\x20\x9b\x04\x37\x00\x9b\x04\x41\x00\x20\x9c\x04\x37\x00\x9c\x04\x41\x00\x20\x9d\x04\x37\x00\x9d\x04\x41\x00\x20\x9e\x04\x37\x00\x9e\x04\x41\x00\x20\x9f\x04\x37\x00\x9f\x04\x41\x00\x20\xa0\x04\x37\x00\xa0\x04\x41\x00\x20\xa1\x04\x37\x00\xa1\x04\x41\x00\x20\xa2\x04\x37\x00\xa2\x04\x41\x00\x20\xa3\x04\x37\x00\xa3\x04\x41\x00\x20\xa4\x04\x37\x00\xa4\x04\x41\x00\x20\xa5\x04\x37\x00\xa5\x04\x41\x00\x20\xa6\x04\x37\x00\xa6\x04\x41\x00\x20\xa7\x04\x37\x00\xa7\x04\x41\x00\x20\xa8\x04\x37\x00\xa8\x04\x41\x00\x20\xa9\x04\x37\x00\xa9\x04\x41\x00\x20\xaa\x04\x37\x00\xaa\x04\x41\x00\x20\xab\x04\x37\x00\xab\x04\x41\x00\x20\xac\x04\x37\x00\xac\x04\x41\x00\x20\xad\x04\x37\x00\xad\x04\x41\x00\x20\xae\x04\x37\x00\xae\x04\x41\x00\x20\xaf\x04\x37\x00\xaf\x04\x41\x00\x20\xb0\x04\x37\x00\xb0\x04\x41\x00\x20\xb1\x04\x37\x00\xb1\x04\x41\x00\x20\xb2\x04\x37\x00\xb2\x04\x41\x00\x20\xb3\x04\x37\x00\xb3\x04\x41\x00\x20\xb4\x04\x37\x00\xb4\x04\x41\x00\x20\xb5\x04\x37\x00\xb5\x04\x41\x00\x20\xb6\x04\x37\x00\xb6\x04\x41\x00\x20\xb7\x04\x37\x00\xb7\x04\x41\x00\x20\xb8\x04\x37\x00\xb8\x04\x41\x00\x20\xb9\x04\x37\x00\xb9\x04\x41\x00\x20\xba\x04\x37\x00\xba\x04\x41\x00\x20\xbb\x04\x37\x00\xbb\x04\x41\x00\x20\xbc\x04\x37\x00\xbc\x04\x41\x00\x20\xbd\x04\x37\x00\xbd\x04\x41\x00\x20\xbe\x04\x37\x00\xbe\x04\x41\x00\x20\xbf\x04\x37\x00\xbf\x04\x41\x00\x20\xc0\x04\x37\x00\xc0\x04\x41\x00\x20\xc1\x04\x37\x00\xc1\x04\x41\x00\x20\xc2\x04\x37\x00\xc2\x04\x41\x00\x20\xc3\x04\x37\x00\xc3\x04\x41\x00\x20\xc4\x04\x37\x00\xc4\x04\x41\x00\x20\xc5\x04\x37\x00\xc5\x04\x41\x00\x20\xc6\x04\x37\x00\xc6\x04\x41\x00\x20\xc7\x04\x37\x00\xc7\x04\x41\x00\x20\xc8\x04\x37\x00\xc8\x04\x41\x00\x20\xc9\x04\x37\x00\xc9\x04\x41\x00\x20\xca\x04\x37\x00\xca\x04\x41\x00\x20\xcb\x04\x37\x00\xcb\x04\x41\x00\x20\xcc\x04\x37\x00\xcc\x04\x41\x00\x20\xcd\x04\x37\x00\xcd\x04\x41\x00\x20\xce\x04\x37\x00\xce\x04\x41\x00\x20\xcf\x04\x37\x00\xcf\x04\x41\x00\x20\xd0\x04\x37\x00\xd0\x04\x41\x00\x20\xd1\x04\x37\x00\xd1\x04\x41\x00\x20\xd2\x04\x37\x00\xd2\x04\x41\x00\x20\xd3\x04\x37\x00\xd3\x04\x41\x00\x20\xd4\x04\x37\x00\xd4\x04\x41\x00\x20\xd5\x04\x37\x00\xd5\x04\x41\x00\x20\xd6\x04\x37\x00\xd6\x04\x41\x00\x20\xd7\x04\x37\x00\xd7\x04\x41\x00\x20\xd8\x04\x37\x00\xd8\x04\x41\x00\x20\xd9\x04\x37\x00\xd9\x04\x41\x00\x20\xda\x04\x37\x00\xda\x04\x41\x00\x20\xdb\x04\x37\x00\xdb\x04\x41\x00\x20\xdc\x04\x37\x00\xdc\x04\x41\x00\x20\xdd\x04\x37\x00\xdd\x04\x41\x00\x20\xde\x04\x37\x00\xde\x04\x41\x00\x20\xdf\x04\x37\x00\xdf\x04\x41\x00\x20\xe0\x04\x37\x00\xe0\x04\x41\x00\x20\xe1\x04\x37\x00\xe1\x04\x41\x00\x20\xe2\x04\x37\x00\xe2\x04\x41\x00\x20\xe3\x04\x37\x00\xe3\x04\x41\x00\x20\xe4\x04\x37\x00\xe4\x04\x41\x00\x20\xe5\x04\x37\x00\xe5\x04\x41\x00\x20\xe6\x04\x37\x00\xe6\x04\x41\x00\x20\xe7\x04\x37\x00\xe7\x04\x41\x00\x20\xe8\x04\x37\x00\xe8\x04\x41\x00\x20\xe9\x04\x37\x00\xe9\x04\x41\x00\x20\xea\x04\x37\x00\xea\x04\x41\x00\x20\xeb\x04\x37\x00\xeb\x04\x41\x00\x20\xec\x04\x37\x00\xec\x04\x41\x00\x20\xed\x04\x37\x00\xed\x04\x41\x00\x20\xee\x04\x37\x00\xee\x04\x41\x00\x20\xef\x04\x37\x00\xef\x04\x41\x00\x20\xf0\x04\x37\x00\xf0\x04\x41\x00\x20\xf1\x04\x37\x00\xf1\x04\x41\x00\x20\xf2\x04\x37\x00\xf2\x04\x41\x00\x20\xf3\x04\x37\x00\xf3\x04\x41\x00\x20\xf4\x04\x37\x00\xf4\x04\x41\x00\x20\xf5\x04\x37\x00\xf5\x04\x41\x00\x20\xf6\x04\x37\x00\xf6\x04\x41\x00\x20\xf7\x04\x37\x00\xf7\x04\x41\x00\x20\xf8\x04\x37\x00\xf8\x04\x41\x00\x20\xf9\x04\x37\x00\xf9\x04\x41\x00\x20\xfa\x04\x37\x00\xfa\x04\x41\x00\x20\xfb\x04\x37\x00\xfb\x04\x41\x00\x20\xfc\x04\x37\x00\xfc\x04\x41\x00\x20\xfd\x04\x37\x00\xfd\x04\x41\x00\x20\xfe\x04\x37\x00\xfe\x04\x41\x00\x20\xff\x04\x37\x00\xff\x04\x41\x00\x20\x80\x05\x37\x00\x80\x05\x41\x00\x20\x81\x05\x37\x00\x81\x05\x41\x00\x20\x82\x05\x37\x00\x82\x05\x41\x00\x20\x83\x05\x37\x00\x83\x05\x41\x00\x20\x84\x05\x37\x00\x84\x05\x41\x00\x20\x85\x05\x37\x00\x85\x05\x41\x00\x20\x86\x05\x37\x00\x86\x05\x41\x00\x20\x87\x05\x37\x00\x87\x05\x41\x00\x20\x88\x05\x37\x00\x88\x05\x41\x00\x20\x89\x05\x37\x00\x89\x05\x41\x00\x20\x8a\x05\x37\x00\x8a\x05\x41\x00\x20\x8b\x05\x37\x00\x8b\x05\x41\x00\x20\x8c\x05\x37\x00\x8c\x05\x41\x00\x20\x8d\x05\x37\x00\x8d\x05\x41\x00\x20\x8e\x05\x37\x00\x8e\x05\x41\x00\x20\x8f\x05\x37\x00\x8f\x05\x41\x00\x20\x90\x05\x37\x00\x90\x05\x41\x00\x20\x91\x05\x37\x00\x91\x05\x41\x00\x20\x92\x05\x37\x00\x92\x05\x41\x00\x20\x93\x05\x37\x00\x93\x05\x41\x00\x20\x94\x05\x37\x00\x94\x05\x41\x00\x20\x95\x05\x37\x00\x95\x05\x41\x00\x20\x96\x05\x37\x00\x96\x05\x41\x00\x20\x97\x05\x37\x00\x97\x05\x41\x00\x20\x98\x05\x37\x00\x98\x05\x41\x00\x20\x99\x05\x37\x00\x99\x05\x41\x00\x20\x9a\x05\x37\x00\x9a\x05\x41\x00\x20\x9b\x05\x37\x00\x9b\x05\x41\x00\x20\x9c\x05\x37\x00\x9c\x05\x41\x00\x20\x9d\x05\x37\x00\x9d\x05\x41\x00\x20\x9e\x05\x37\x00\x9e\x05\x41\x00\x20\x9f\x05\x37\x00\x9f\x05\x41\x00\x20\xa0\x05\x37\x00\xa0\x05\x41\x00\x20\xa1\x05\x37\x00\xa1\x05\x41\x00\x20\xa2\x05\x37\x00\xa2\x05\x41\x00\x20\xa3\x05\x37\x00\xa3\x05\x41\x00\x20\xa4\x05\x37\x00\xa4\x05\x41\x00\x20\xa5\x05\x37\x00\xa5\x05\x41\x00\x20\xa6\x05\x37\x00\xa6\x05\x41\x00\x20\xa7\x05\x37\x00\xa7\x05\x41\x00\x20\xa8\x05\x37\x00\xa8\x05\x41\x00\x20\xa9\x05\x37\x00\xa9\x05\x41\x00\x20\xaa\x05\x37\x00\xaa\x05\x41\x00\x20\xab\x05\x37\x00\xab\x05\x41\x00\x20\xac\x05\x37\x00\xac\x05\x41\x00\x20\xad\x05\x37\x00\xad\x05\x41\x00\x20\xae\x05\x37\x00\xae\x05\x41\x00\x20\xaf\x05\x37\x00\xaf\x05\x41\x00\x20\xb0\x05\x37\x00\xb0\x05\x41\x00\x20\xb1\x05\x37\x00\xb1\x05\x41\x00\x20\xb2\x05\x37\x00\xb2\x05\x41\x00\x20\xb3\x05\x37\x00\xb3\x05\x41\x00\x20\xb4\x05\x37\x00\xb4\x05\x41\x00\x20\xb5\x05\x37\x00\xb5\x05\x41\x00\x20\xb6\x05\x37\x00\xb6\x05\x41\x00\x20\xb7\x05\x37\x00\xb7\x05\x41\x00\x20\xb8\x05\x37\x00\xb8\x05\x41\x00\x20\xb9\x05\x37\x00\xb9\x05\x41\x00\x20\xba\x05\x37\x00\xba\x05\x41\x00\x20\xbb\x05\x37\x00\xbb\x05\x41\x00\x20\xbc\x05\x37\x00\xbc\x05\x41\x00\x20\xbd\x05\x37\x00\xbd\x05\x41\x00\x20\xbe\x05\x37\x00\xbe\x05\x41\x00\x20\xbf\x05\x37\x00\xbf\x05\x41\x00\x20\xc0\x05\x37\x00\xc0\x05\x41\x00\x20\xc1\x05\x37\x00\xc1\x05\x41\x00\x20\xc2\x05\x37\x00\xc2\x05\x41\x00\x20\xc3\x05\x37\x00\xc3\x05\x41\x00\x20\xc4\x05\x37\x00\xc4\x05\x41\x00\x20\xc5\x05\x37\x00\xc5\x05\x41\x00\x20\xc6\x05\x37\x00\xc6\x05\x41\x00\x20\xc7\x05\x37\x00\xc7\x05\x41\x00\x20\xc8\x05\x37\x00\xc8\x05\x41\x00\x20\xc9\x05\x37\x00\xc9\x05\x41\x00\x20\xca\x05\x37\x00\xca\x05\x41\x00\x20\xcb\x05\x37\x00\xcb\x05\x41\x00\x20\xcc\x05\x37\x00\xcc\x05\x41\x00\x20\xcd\x05\x37\x00\xcd\x05\x41\x00\x20\xce\x05\x37\x00\xce\x05\x41\x00\x20\xcf\x05\x37\x00\xcf\x05\x41\x00\x20\xd0\x05\x37\x00\xd0\x05\x41\x00\x20\xd1\x05\x37\x00\xd1\x05\x41\x00\x20\xd2\x05\x37\x00\xd2\x05\x41\x00\x20\xd3\x05\x37\x00\xd3\x05\x41\x00\x20\xd4\x05\x37\x00\xd4\x05\x41\x00\x20\xd5\x05\x37\x00\xd5\x05\x41\x00\x20\xd6\x05\x37\x00\xd6\x05\x41\x00\x20\xd7\x05\x37\x00\xd7\x05\x41\x00\x20\xd8\x05\x37\x00\xd8\x05\x41\x00\x20\xd9\x05\x37\x00\xd9\x05\x41\x00\x20\xda\x05\x37\x00\xda\x05\x41\x00\x20\xdb\x05\x37\x00\xdb\x05\x41\x00\x20\xdc\x05\x37\x00\xdc\x05\x41\x00\x20\xdd\x05\x37\x00\xdd\x05\x41\x00\x20\xde\x05\x37\x00\xde\x05\x41\x00\x20\xdf\x05\x37\x00\xdf\x05\x41\x00\x20\xe0\x05\x37\x00\xe0\x05\x41\x00\x20\xe1\x05\x37\x00\xe1\x05\x41\x00\x20\xe2\x05\x37\x00\xe2\x05\x41\x00\x20\xe3\x05\x37\x00\xe3\x05\x41\x00\x20\xe4\x05\x37\x00\xe4\x05\x41\x00\x20\xe5\x05\x37\x00\xe5\x05\x41\x00\x20\xe6\x05\x37\x00\xe6\x05\x41\x00\x20\xe7\x05\x37\x00\xe7\x05\x41\x00\x20\xe8\x05\x37\x00\xe8\x05\x41\x00\x20\xe9\x05\x37\x00\xe9\x05\x41\x00\x20\xea\x05\x37\x00\xea\x05\x41\x00\x20\xeb\x05\x37\x00\xeb\x05\x41\x00\x20\xec\x05\x37\x00\xec\x05\x41\x00\x20\xed\x05\x37\x00\xed\x05\x41\x00\x20\xee\x05\x37\x00\xee\x05\x41\x00\x20\xef\x05\x37\x00\xef\x05\x41\x00\x20\xf0\x05\x37\x00\xf0\x05\x41\x00\x20\xf1\x05\x37\x00\xf1\x05\x41\x00\x20\xf2\x05\x37\x00\xf2\x05\x41\x00\x20\xf3\x05\x37\x00\xf3\x05\x41\x00\x20\xf4\x05\x37\x00\xf4\x05\x41\x00\x20\xf5\x05\x37\x00\xf5\x05\x41\x00\x20\xf6\x05\x37\x00\xf6\x05\x41\x00\x20\xf7\x05\x37\x00\xf7\x05\x41\x00\x20\xf8\x05\x37\x00\xf8\x05\x41\x00\x20\xf9\x05\x37\x00\xf9\x05\x41\x00\x20\xfa\x05\x37\x00\xfa\x05\x41\x00\x20\xfb\x05\x37\x00\xfb\x05\x41\x00\x20\xfc\x05\x37\x00\xfc\x05\x41\x00\x20\xfd\x05\x37\x00\xfd\x05\x41\x00\x20\xfe\x05\x37\x00\xfe\x05\x41\x00\x20\xff\x05\x37\x00\xff\x05\x41\x00\x20\x80\x06\x37\x00\x80\x06\x41\x00\x20\x81\x06\x37\x00\x81\x06\x41\x00\x20\x82\x06\x37\x00\x82\x06\x41\x00\x20\x83\x06\x37\x00\x83\x06\x41\x00\x20\x84\x06\x37\x00\x84\x06\x41\x00\x20\x85\x06\x37\x00\x85\x06\x41\x00\x20\x86\x06\x37\x00\x86\x06\x41\x00\x20\x87\x06\x37\x00\x87\x06\x41\x00\x20\x88\x06\x37\x00\x88\x06\x41\x00\x20\x89\x06\x37\x00\x89\x06\x41\x00\x20\x8a\x06\x37\x00\x8a\x06\x41\x00\x20\x8b\x06\x37\x00\x8b\x06\x41\x00\x20\x8c\x06\x37\x00\x8c\x06\x41\x00\x20\x8d\x06\x37\x00\x8d\x06\x41\x00\x20\x8e\x06\x37\x00\x8e\x06\x41\x00\x20\x8f\x06\x37\x00\x8f\x06\x41\x00\x20\x90\x06\x37\x00\x90\x06\x41\x00\x20\x91\x06\x37\x00\x91\x06\x41\x00\x20\x92\x06\x37\x00\x92\x06\x41\x00\x20\x93\x06\x37\x00\x93\x06\x41\x00\x20\x94\x06\x37\x00\x94\x06\x41\x00\x20\x95\x06\x37\x00\x95\x06\x41\x00\x20\x96\x06\x37\x00\x96\x06\x41\x00\x20\x97\x06\x37\x00\x97\x06\x41\x00\x20\x98\x06\x37\x00\x98\x06\x41\x00\x20\x99\x06\x37\x00\x99\x06\x41\x00\x20\x9a\x06\x37\x00\x9a\x06\x41\x00\x20\x9b\x06\x37\x00\x9b\x06\x41\x00\x20\x9c\x06\x37\x00\x9c\x06\x41\x00\x20\x9d\x06\x37\x00\x9d\x06\x41\x00\x20\x9e\x06\x37\x00\x9e\x06\x41\x00\x20\x9f\x06\x37\x00\x9f\x06\x41\x00\x20\xa0\x06\x37\x00\xa0\x06\x41\x00\x20\xa1\x06\x37\x00\xa1\x06\x41\x00\x20\xa2\x06\x37\x00\xa2\x06\x41\x00\x20\xa3\x06\x37\x00\xa3\x06\x41\x00\x20\xa4\x06\x37\x00\xa4\x06\x41\x00\x20\xa5\x06\x37\x00\xa5\x06\x41\x00\x20\xa6\x06\x37\x00\xa6\x06\x41\x00\x20\xa7\x06\x37\x00\xa7\x06\x41\x00\x20\xa8\x06\x37\x00\xa8\x06\x41\x00\x20\xa9\x06\x37\x00\xa9\x06\x41\x00\x20\xaa\x06\x37\x00\xaa\x06\x41\x00\x20\xab\x06\x37\x00\xab\x06\x41\x00\x20\xac\x06\x37\x00\xac\x06\x41\x00\x20\xad\x06\x37\x00\xad\x06\x41\x00\x20\xae\x06\x37\x00\xae\x06\x41\x00\x20\xaf\x06\x37\x00\xaf\x06\x41\x00\x20\xb0\x06\x37\x00\xb0\x06\x41\x00\x20\xb1\x06\x37\x00\xb1\x06\x41\x00\x20\xb2\x06\x37\x00\xb2\x06\x41\x00\x20\xb3\x06\x37\x00\xb3\x06\x41\x00\x20\xb4\x06\x37\x00\xb4\x06\x41\x00\x20\xb5\x06\x37\x00\xb5\x06\x41\x00\x20\xb6\x06\x37\x00\xb6\x06\x41\x00\x20\xb7\x06\x37\x00\xb7\x06\x41\x00\x20\xb8\x06\x37\x00\xb8\x06\x41\x00\x20\xb9\x06\x37\x00\xb9\x06\x41\x00\x20\xba\x06\x37\x00\xba\x06\x41\x00\x20\xbb\x06\x37\x00\xbb\x06\x41\x00\x20\xbc\x06\x37\x00\xbc\x06\x41\x00\x20\xbd\x06\x37\x00\xbd\x06\x41\x00\x20\xbe\x06\x37\x00\xbe\x06\x41\x00\x20\xbf\x06\x37\x00\xbf\x06\x41\x00\x20\xc0\x06\x37\x00\xc0\x06\x41\x00\x20\xc1\x06\x37\x00\xc1\x06\x41\x00\x20\xc2\x06\x37\x00\xc2\x06\x41\x00\x20\xc3\x06\x37\x00\xc3\x06\x41\x00\x20\xc4\x06\x37\x00\xc4\x06\x41\x00\x20\xc5\x06\x37\x00\xc5\x06\x41\x00\x20\xc6\x06\x37\x00\xc6\x06\x41\x00\x20\xc7\x06\x37\x00\xc7\x06\x41\x00\x20\xc8\x06\x37\x00\xc8\x06\x41\x00\x20\xc9\x06\x37\x00\xc9\x06\x41\x00\x20\xca\x06\x37\x00\xca\x06\x41\x00\x20\xcb\x06\x37\x00\xcb\x06\x41\x00\x20\xcc\x06\x37\x00\xcc\x06\x41\x00\x20\xcd\x06\x37\x00\xcd\x06\x41\x00\x20\xce\x06\x37\x00\xce\x06\x41\x00\x20\xcf\x06\x37\x00\xcf\x06\x41\x00\x20\xd0\x06\x37\x00\xd0\x06\x41\x00\x20\xd1\x06\x37\x00\xd1\x06\x41\x00\x20\xd2\x06\x37\x00\xd2\x06\x41\x00\x20\xd3\x06\x37\x00\xd3\x06\x41\x00\x20\xd4\x06\x37\x00\xd4\x06\x41\x00\x20\xd5\x06\x37\x00\xd5\x06\x41\x00\x20\xd6\x06\x37\x00\xd6\x06\x41\x00\x20\xd7\x06\x37\x00\xd7\x06\x41\x00\x20\xd8\x06\x37\x00\xd8\x06\x41\x00\x20\xd9\x06\x37\x00\xd9\x06\x41\x00\x20\xda\x06\x37\x00\xda\x06\x41\x00\x20\xdb\x06\x37\x00\xdb\x06\x41\x00\x20\xdc\x06\x37\x00\xdc\x06\x41\x00\x20\xdd\x06\x37\x00\xdd\x06\x41\x00\x20\xde\x06\x37\x00\xde\x06\x41\x00\x20\xdf\x06\x37\x00\xdf\x06\x41\x00\x20\xe0\x06\x37\x00\xe0\x06\x41\x00\x20\xe1\x06\x37\x00\xe1\x06\x41\x00\x20\xe2\x06\x37\x00\xe2\x06\x41\x00\x20\xe3\x06\x37\x00\xe3\x06\x41\x00\x20\xe4\x06\x37\x00\xe4\x06\x41\x00\x20\xe5\x06\x37\x00\xe5\x06\x41\x00\x20\xe6\x06\x37\x00\xe6\x06\x41\x00\x20\xe7\x06\x37\x00\xe7\x06\x41\x00\x20\xe8\x06\x37\x00\xe8\x06\x41\x00\x20\xe9\x06\x37\x00\xe9\x06\x41\x00\x20\xea\x06\x37\x00\xea\x06\x41\x00\x20\xeb\x06\x37\x00\xeb\x06\x41\x00\x20\xec\x06\x37\x00\xec\x06\x41\x00\x20\xed\x06\x37\x00\xed\x06\x41\x00\x20\xee\x06\x37\x00\xee\x06\x41\x00\x20\xef\x06\x37\x00\xef\x06\x41\x00\x20\xf0\x06\x37\x00\xf0\x06\x41\x00\x20\xf1\x06\x37\x00\xf1\x06\x41\x00\x20\xf2\x06\x37\x00\xf2\x06\x41\x00\x20\xf3\x06\x37\x00\xf3\x06\x41\x00\x20\xf4\x06\x37\x00\xf4\x06\x41\x00\x20\xf5\x06\x37\x00\xf5\x06\x41\x00\x20\xf6\x06\x37\x00\xf6\x06\x41\x00\x20\xf7\x06\x37\x00\xf7\x06\x41\x00\x20\xf8\x06\x37\x00\xf8\x06\x41\x00\x20\xf9\x06\x37\x00\xf9\x06\x41\x00\x20\xfa\x06\x37\x00\xfa\x06\x41\x00\x20\xfb\x06\x37\x00\xfb\x06\x41\x00\x20\xfc\x06\x37\x00\xfc\x06\x41\x00\x20\xfd\x06\x37\x00\xfd\x06\x41\x00\x20\xfe\x06\x37\x00\xfe\x06\x41\x00\x20\xff\x06\x37\x00\xff\x06\x41\x00\x20\x80\x07\x37\x00\x80\x07\x41\x00\x20\x81\x07\x37\x00\x81\x07\x41\x00\x20\x82\x07\x37\x00\x82\x07\x41\x00\x20\x83\x07\x37\x00\x83\x07\x41\x00\x20\x84\x07\x37\x00\x84\x07\x41\x00\x20\x85\x07\x37\x00\x85\x07\x41\x00\x20\x86\x07\x37\x00\x86\x07\x41\x00\x20\x87\x07\x37\x00\x87\x07\x41\x00\x20\x88\x07\x37\x00\x88\x07\x41\x00\x20\x89\x07\x37\x00\x89\x07\x41\x00\x20\x8a\x07\x37\x00\x8a\x07\x41\x00\x20\x8b\x07\x37\x00\x8b\x07\x41\x00\x20\x8c\x07\x37\x00\x8c\x07\x41\x00\x20\x8d\x07\x37\x00\x8d\x07\x41\x00\x20\x8e\x07\x37\x00\x8e\x07\x41\x00\x20\x8f\x07\x37\x00\x8f\x07\x41\x00\x20\x90\x07\x37\x00\x90\x07\x41\x00\x20\x91\x07\x37\x00\x91\x07\x41\x00\x20\x92\x07\x37\x00\x92\x07\x41\x00\x20\x93\x07\x37\x00\x93\x07\x41\x00\x20\x94\x07\x37\x00\x94\x07\x41\x00\x20\x95\x07\x37\x00\x95\x07\x41\x00\x20\x96\x07\x37\x00\x96\x07\x41\x00\x20\x97\x07\x37\x00\x97\x07\x41\x00\x20\x98\x07\x37\x00\x98\x07\x41\x00\x20\x99\x07\x37\x00\x99\x07\x41\x00\x20\x9a\x07\x37\x00\x9a\x07\x41\x00\x20\x9b\x07\x37\x00\x9b\x07\x41\x00\x20\x9c\x07\x37\x00\x9c\x07\x41\x00\x20\x9d\x07\x37\x00\x9d\x07\x41\x00\x20\x9e\x07\x37\x00\x9e\x07\x41\x00\x20\x9f\x07\x37\x00\x9f\x07\x41\x00\x20\xa0\x07\x37\x00\xa0\x07\x41\x00\x20\xa1\x07\x37\x00\xa1\x07\x41\x00\x20\xa2\x07\x37\x00\xa2\x07\x41\x00\x20\xa3\x07\x37\x00\xa3\x07\x41\x00\x20\xa4\x07\x37\x00\xa4\x07\x41\x00\x20\xa5\x07\x37\x00\xa5\x07\x41\x00\x20\xa6\x07\x37\x00\xa6\x07\x41\x00\x20\xa7\x07\x37\x00\xa7\x07\x41\x00\x20\xa8\x07\x37\x00\xa8\x07\x41\x00\x20\xa9\x07\x37\x00\xa9\x07\x41\x00\x20\xaa\x07\x37\x00\xaa\x07\x41\x00\x20\xab\x07\x37\x00\xab\x07\x41\x00\x20\xac\x07\x37\x00\xac\x07\x41\x00\x20\xad\x07\x37\x00\xad\x07\x41\x00\x20\xae\x07\x37\x00\xae\x07\x41\x00\x20\xaf\x07\x37\x00\xaf\x07\x41\x00\x20\xb0\x07\x37\x00\xb0\x07\x41\x00\x20\xb1\x07\x37\x00\xb1\x07\x41\x00\x20\xb2\x07\x37\x00\xb2\x07\x41\x00\x20\xb3\x07\x37\x00\xb3\x07\x41\x00\x20\xb4\x07\x37\x00\xb4\x07\x41\x00\x20\xb5\x07\x37\x00\xb5\x07\x41\x00\x20\xb6\x07\x37\x00\xb6\x07\x41\x00\x20\xb7\x07\x37\x00\xb7\x07\x41\x00\x20\xb8\x07\x37\x00\xb8\x07\x41\x00\x20\xb9\x07\x37\x00\xb9\x07\x41\x00\x20\xba\x07\x37\x00\xba\x07\x41\x00\x20\xbb\x07\x37\x00\xbb\x07\x41\x00\x20\xbc\x07\x37\x00\xbc\x07\x41\x00\x20\xbd\x07\x37\x00\xbd\x07\x41\x00\x20\xbe\x07\x37\x00\xbe\x07\x41\x00\x20\xbf\x07\x37\x00\xbf\x07\x41\x00\x20\xc0\x07\x37\x00\xc0\x07\x41\x00\x20\xc1\x07\x37\x00\xc1\x07\x41\x00\x20\xc2\x07\x37\x00\xc2\x07\x41\x00\x20\xc3\x07\x37\x00\xc3\x07\x41\x00\x20\xc4\x07\x37\x00\xc4\x07\x41\x00\x20\xc5\x07\x37\x00\xc5\x07\x41\x00\x20\xc6\x07\x37\x00\xc6\x07\x41\x00\x20\xc7\x07\x37\x00\xc7\x07\x41\x00\x20\xc8\x07\x37\x00\xc8\x07\x41\x00\x20\xc9\x07\x37\x00\xc9\x07\x41\x00\x20\xca\x07\x37\x00\xca\x07\x41\x00\x20\xcb\x07\x37\x00\xcb\x07\x41\x00\x20\xcc\x07\x37\x00\xcc\x07\x41\x00\x20\xcd\x07\x37\x00\xcd\x07\x41\x00\x20\xce\x07\x37\x00\xce\x07\x41\x00\x20\xcf\x07\x37\x00\xcf\x07\x41\x00\x20\xd0\x07\x37\x00\xd0\x07\x41\x00\x20\xd1\x07\x37\x00\xd1\x07\x41\x00\x20\xd2\x07\x37\x00\xd2\x07\x41\x00\x20\xd3\x07\x37\x00\xd3\x07\x41\x00\x20\xd4\x07\x37\x00\xd4\x07\x41\x00\x20\xd5\x07\x37\x00\xd5\x07\x41\x00\x20\xd6\x07\x37\x00\xd6\x07\x41\x00\x20\xd7\x07\x37\x00\xd7\x07\x41\x00\x20\xd8\x07\x37\x00\xd8\x07\x41\x00\x20\xd9\x07\x37\x00\xd9\x07\x41\x00\x20\xda\x07\x37\x00\xda\x07\x41\x00\x20\xdb\x07\x37\x00\xdb\x07\x41\x00\x20\xdc\x07\x37\x00\xdc\x07\x41\x00\x20\xdd\x07\x37\x00\xdd\x07\x41\x00\x20\xde\x07\x37\x00\xde\x07\x41\x00\x20\xdf\x07\x37\x00\xdf\x07\x41\x00\x20\xe0\x07\x37\x00\xe0\x07\x41\x00\x20\xe1\x07\x37\x00\xe1\x07\x41\x00\x20\xe2\x07\x37\x00\xe2\x07\x41\x00\x20\xe3\x07\x37\x00\xe3\x07\x41\x00\x20\xe4\x07\x37\x00\xe4\x07\x41\x00\x20\xe5\x07\x37\x00\xe5\x07\x41\x00\x20\xe6\x07\x37\x00\xe6\x07\x41\x00\x20\xe7\x07\x37\x00\xe7\x07\x41\x00\x20\xe8\x07\x37\x00\xe8\x07\x41\x00\x20\xe9\x07\x37\x00\xe9\x07\x41\x00\x20\xea\x07\x37\x00\xea\x07\x41\x00\x20\xeb\x07\x37\x00\xeb\x07\x41\x00\x20\xec\x07\x37\x00\xec\x07\x41\x00\x20\xed\x07\x37\x00\xed\x07\x41\x00\x20\xee\x07\x37\x00\xee\x07\x41\x00\x20\xef\x07\x37\x00\xef\x07\x41\x00\x20\xf0\x07\x37\x00\xf0\x07\x41\x00\x20\xf1\x07\x37\x00\xf1\x07\x41\x00\x20\xf2\x07\x37\x00\xf2\x07\x41\x00\x20\xf3\x07\x37\x00\xf3\x07\x41\x00\x20\xf4\x07\x37\x00\xf4\x07\x41\x00\x20\xf5\x07\x37\x00\xf5\x07\x41\x00\x20\xf6\x07\x37\x00\xf6\x07\x41\x00\x20\xf7\x07\x37\x00\xf7\x07\x41\x00\x20\xf8\x07\x37\x00\xf8\x07\x41\x00\x20\xf9\x07\x37\x00\xf9\x07\x41\x00\x20\xfa\x07\x37\x00\xfa\x07\x41\x00\x20\xfb\x07\x37\x00\xfb\x07\x41\x00\x20\xfc\x07\x37\x00\xfc\x07\x41\x00\x20\xfd\x07\x37\x00\xfd\x07\x41\x00\x20\xfe\x07\x37\x00\xfe\x07\x41\x00\x20\xff\x07\x37\x00\xff\x07\x41\x00\x20\x80\x08\x37\x00\x80\x08\x41\x00\x20\x81\x08\x37\x00\x81\x08\x41\x00\x20\x82\x08\x37\x00\x82\x08\x41\x00\x20\x83\x08\x37\x00\x83\x08\x41\x00\x20\x84\x08\x37\x00\x84\x08\x41\x00\x20\x85\x08\x37\x00\x85\x08\x41\x00\x20\x86\x08\x37\x00\x86\x08\x41\x00\x20\x87\x08\x37\x00\x87\x08\x41\x00\x20\x88\x08\x37\x00\x88\x08\x41\x00\x20\x89\x08\x37\x00\x89\x08\x41\x00\x20\x8a\x08\x37\x00\x8a\x08\x41\x00\x20\x8b\x08\x37\x00\x8b\x08\x41\x00\x20\x8c\x08\x37\x00\x8c\x08\x41\x00\x20\x8d\x08\x37\x00\x8d\x08\x41\x00\x20\x8e\x08\x37\x00\x8e\x08\x41\x00\x20\x8f\x08\x37\x00\x8f\x08\x41\x00\x20\x90\x08\x37\x00\x90\x08\x41\x00\x20\x91\x08\x37\x00\x91\x08\x41\x00\x20\x92\x08\x37\x00\x92\x08\x41\x00\x20\x93\x08\x37\x00\x93\x08\x41\x00\x20\x94\x08\x37\x00\x94\x08\x41\x00\x20\x95\x08\x37\x00\x95\x08\x41\x00\x20\x96\x08\x37\x00\x96\x08\x41\x00\x20\x97\x08\x37\x00\x97\x08\x41\x00\x20\x98\x08\x37\x00\x98\x08\x41\x00\x20\x99\x08\x37\x00\x99\x08\x41\x00\x20\x9a\x08\x37\x00\x9a\x08\x41\x00\x20\x9b\x08\x37\x00\x9b\x08\x41\x00\x20\x9c\x08\x37\x00\x9c\x08\x41\x00\x20\x9d\x08\x37\x00\x9d\x08\x41\x00\x20\x9e\x08\x37\x00\x9e\x08\x41\x00\x20\x9f\x08\x37\x00\x9f\x08\x0b"); + +// skip-stack-guard-page.wast:2275 +assert_exhaustion(() => call($1, "test-guard-page-skip", [0])); + +// skip-stack-guard-page.wast:2276 +assert_exhaustion(() => call($1, "test-guard-page-skip", [100])); + +// skip-stack-guard-page.wast:2277 +assert_exhaustion(() => call($1, "test-guard-page-skip", [200])); + +// skip-stack-guard-page.wast:2278 +assert_exhaustion(() => call($1, "test-guard-page-skip", [300])); + +// skip-stack-guard-page.wast:2279 +assert_exhaustion(() => call($1, "test-guard-page-skip", [400])); + +// skip-stack-guard-page.wast:2280 +assert_exhaustion(() => call($1, "test-guard-page-skip", [500])); + +// skip-stack-guard-page.wast:2281 +assert_exhaustion(() => call($1, "test-guard-page-skip", [600])); + +// skip-stack-guard-page.wast:2282 +assert_exhaustion(() => call($1, "test-guard-page-skip", [700])); + +// skip-stack-guard-page.wast:2283 +assert_exhaustion(() => call($1, "test-guard-page-skip", [800])); + +// skip-stack-guard-page.wast:2284 +assert_exhaustion(() => call($1, "test-guard-page-skip", [900])); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/stack.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/stack.wast.js new file mode 100644 index 0000000000..cb446ac5a2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/stack.wast.js @@ -0,0 +1,12 @@ + +// stack.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x86\x80\x80\x80\x00\x05\x00\x00\x00\x00\x00\x07\xc4\x80\x80\x80\x00\x05\x08\x66\x61\x63\x2d\x65\x78\x70\x72\x00\x00\x09\x66\x61\x63\x2d\x73\x74\x61\x63\x6b\x00\x01\x0d\x66\x61\x63\x2d\x73\x74\x61\x63\x6b\x2d\x72\x61\x77\x00\x02\x09\x66\x61\x63\x2d\x6d\x69\x78\x65\x64\x00\x03\x0d\x66\x61\x63\x2d\x6d\x69\x78\x65\x64\x2d\x72\x61\x77\x00\x04\x0a\x85\x82\x80\x80\x00\x05\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b\xaf\x80\x80\x80\x00\x01\x02\x7e\x20\x00\x21\x01\x42\x01\x21\x02\x02\x40\x03\x40\x20\x01\x42\x00\x51\x04\x40\x0c\x02\x05\x20\x01\x20\x02\x7e\x21\x02\x20\x01\x42\x01\x7d\x21\x01\x0b\x0c\x00\x0b\x0b\x20\x02\x0b"); + +// stack.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x66\x61\x63\x2d\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-expr", [int64("25")]), int64("7034535277573963776")) + +// stack.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x61\x63\x2d\x73\x74\x61\x63\x6b\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-stack", [int64("25")]), int64("7034535277573963776")) + +// stack.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x90\x80\x80\x80\x00\x01\x02\x24\x31\x09\x66\x61\x63\x2d\x6d\x69\x78\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa2\x80\x80\x80\x00\x01\x9c\x80\x80\x80\x00\x00\x02\x40\x42\x19\x10\x00\x01\x42\x80\x80\x80\xde\x87\x92\xec\xcf\xe1\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "fac-mixed", [int64("25")]), int64("7034535277573963776")) diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/start.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/start.wast.js new file mode 100644 index 0000000000..0b6ee547fe --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/start.wast.js @@ -0,0 +1,57 @@ + +// start.wast:1 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x08\x81\x80\x80\x80\x00\x01\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// start.wast:6 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x08\x81\x80\x80\x80\x00\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\x0f\x0b"); + +// start.wast:13 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x08\x81\x80\x80\x80\x00\x00\x0a\x88\x80\x80\x80\x00\x01\x82\x80\x80\x80\x00\x00\x0b"); + +// start.wast:21 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7f\x03\x84\x80\x80\x80\x00\x03\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x8d\x80\x80\x80\x00\x02\x03\x69\x6e\x63\x00\x00\x03\x67\x65\x74\x00\x01\x08\x81\x80\x80\x80\x00\x02\x0a\xaf\x80\x80\x80\x00\x03\x8f\x80\x80\x80\x00\x00\x41\x00\x41\x00\x2d\x00\x00\x41\x01\x6a\x3a\x00\x00\x0b\x88\x80\x80\x80\x00\x00\x41\x00\x2d\x00\x00\x0f\x0b\x88\x80\x80\x80\x00\x00\x10\x00\x10\x00\x10\x00\x0b\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x41"); + +// start.wast:45 +assert_return(() => call($1, "get", []), 68); + +// start.wast:46 +run(() => call($1, "inc", [])); + +// start.wast:47 +assert_return(() => call($1, "get", []), 69); + +// start.wast:48 +run(() => call($1, "inc", [])); + +// start.wast:49 +assert_return(() => call($1, "get", []), 70); + +// start.wast:51 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7f\x03\x84\x80\x80\x80\x00\x03\x00\x01\x00\x05\x84\x80\x80\x80\x00\x01\x01\x01\x01\x07\x8d\x80\x80\x80\x00\x02\x03\x69\x6e\x63\x00\x00\x03\x67\x65\x74\x00\x01\x08\x81\x80\x80\x80\x00\x02\x0a\xaf\x80\x80\x80\x00\x03\x8f\x80\x80\x80\x00\x00\x41\x00\x41\x00\x2d\x00\x00\x41\x01\x6a\x3a\x00\x00\x0b\x88\x80\x80\x80\x00\x00\x41\x00\x2d\x00\x00\x0f\x0b\x88\x80\x80\x80\x00\x00\x10\x00\x10\x00\x10\x00\x0b\x0b\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x41"); + +// start.wast:74 +assert_return(() => call($2, "get", []), 68); + +// start.wast:75 +run(() => call($2, "inc", [])); + +// start.wast:76 +assert_return(() => call($2, "get", []), 69); + +// start.wast:77 +run(() => call($2, "inc", [])); + +// start.wast:78 +assert_return(() => call($2, "get", []), 70); + +// start.wast:80 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x08\x81\x80\x80\x80\x00\x01\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x41\x01\x10\x00\x0b"); + +// start.wast:86 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x03\x82\x80\x80\x80\x00\x01\x01\x08\x81\x80\x80\x80\x00\x01\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x41\x02\x10\x00\x0b"); + +// start.wast:92 +let $5 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x02\x92\x80\x80\x80\x00\x01\x08\x73\x70\x65\x63\x74\x65\x73\x74\x05\x70\x72\x69\x6e\x74\x00\x00\x08\x81\x80\x80\x80\x00\x00"); + +// start.wast:97 +assert_uninstantiable("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x08\x81\x80\x80\x80\x00\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/store_retval.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/store_retval.wast.js new file mode 100644 index 0000000000..679c3818b2 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/store_retval.wast.js @@ -0,0 +1,39 @@ + +// store_retval.wast:1 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x41\x01\x21\x00\x0b"); + +// store_retval.wast:5 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x42\x01\x21\x00\x0b"); + +// store_retval.wast:9 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x43\x00\x00\x80\x3f\x21\x00\x0b"); + +// store_retval.wast:13 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7c\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x21\x00\x0b"); + +// store_retval.wast:18 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x01\x36\x02\x00\x0b"); + +// store_retval.wast:22 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x01\x37\x03\x00\x0b"); + +// store_retval.wast:26 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7d\x01\x7d\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x80\x3f\x38\x02\x00\x0b"); + +// store_retval.wast:30 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7c\x01\x7c\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x39\x03\x00\x0b"); + +// store_retval.wast:35 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x01\x3a\x00\x00\x0b"); + +// store_retval.wast:39 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x01\x3b\x01\x00\x0b"); + +// store_retval.wast:43 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x01\x3c\x00\x00\x0b"); + +// store_retval.wast:47 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x01\x3d\x01\x00\x0b"); + +// store_retval.wast:51 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7e\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x01\x3e\x02\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/switch.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/switch.wast.js new file mode 100644 index 0000000000..25980adcfc --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/switch.wast.js @@ -0,0 +1,84 @@ + +// switch.wast:1 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8f\x80\x80\x80\x00\x03\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x60\x00\x01\x7f\x03\x85\x80\x80\x80\x00\x04\x00\x01\x00\x02\x07\x9e\x80\x80\x80\x00\x04\x04\x73\x74\x6d\x74\x00\x00\x04\x65\x78\x70\x72\x00\x01\x03\x61\x72\x67\x00\x02\x06\x63\x6f\x72\x6e\x65\x72\x00\x03\x0a\xee\x81\x80\x80\x00\x04\xd7\x80\x80\x80\x00\x01\x01\x7f\x41\xe4\x00\x21\x01\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x20\x00\x0e\x08\x00\x01\x02\x03\x04\x05\x06\x08\x07\x0b\x20\x00\x0f\x0b\x01\x0b\x0b\x41\x00\x20\x00\x6b\x21\x01\x0c\x05\x0b\x0c\x04\x0b\x41\xe5\x00\x21\x01\x0c\x03\x0b\x41\xe5\x00\x21\x01\x0b\x41\xe6\x00\x21\x01\x0b\x0b\x20\x01\x0f\x0b\xcc\x80\x80\x80\x00\x01\x01\x7e\x42\xe4\x00\x21\x01\x02\x7e\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x02\x40\x20\x00\xa7\x0e\x08\x00\x01\x02\x03\x06\x05\x04\x08\x07\x0b\x20\x00\x0f\x0b\x01\x0b\x0b\x42\x00\x20\x00\x7d\x0c\x05\x0b\x42\xe5\x00\x21\x01\x0b\x0b\x0b\x20\x01\x0c\x01\x0b\x42\x7b\x0b\x0f\x0b\xaa\x80\x80\x80\x00\x00\x02\x7f\x41\x0a\x02\x7f\x41\xe4\x00\x02\x7f\x41\xe8\x07\x02\x7f\x41\x02\x20\x00\x6c\x41\x03\x20\x00\x71\x0e\x03\x01\x02\x03\x00\x0b\x6a\x0b\x6a\x0b\x6a\x0b\x0f\x0b\x8c\x80\x80\x80\x00\x00\x02\x40\x41\x00\x0e\x00\x00\x0b\x41\x01\x0b"); + +// switch.wast:120 +assert_return(() => call($1, "stmt", [0]), 0); + +// switch.wast:121 +assert_return(() => call($1, "stmt", [1]), -1); + +// switch.wast:122 +assert_return(() => call($1, "stmt", [2]), -2); + +// switch.wast:123 +assert_return(() => call($1, "stmt", [3]), -3); + +// switch.wast:124 +assert_return(() => call($1, "stmt", [4]), 100); + +// switch.wast:125 +assert_return(() => call($1, "stmt", [5]), 101); + +// switch.wast:126 +assert_return(() => call($1, "stmt", [6]), 102); + +// switch.wast:127 +assert_return(() => call($1, "stmt", [7]), 100); + +// switch.wast:128 +assert_return(() => call($1, "stmt", [-10]), 102); + +// switch.wast:130 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x00\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("0")]), int64("0")) + +// switch.wast:131 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x01\x10\x00\x01\x42\x7f\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("1")]), int64("-1")) + +// switch.wast:132 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x02\x10\x00\x01\x42\x7e\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("2")]), int64("-2")) + +// switch.wast:133 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x03\x10\x00\x01\x42\x7d\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("3")]), int64("-3")) + +// switch.wast:134 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x06\x10\x00\x01\x42\xe5\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("6")]), int64("101")) + +// switch.wast:135 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x07\x10\x00\x01\x42\x7b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("7")]), int64("-5")) + +// switch.wast:136 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x8b\x80\x80\x80\x00\x01\x02\x24\x31\x04\x65\x78\x70\x72\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x42\x76\x10\x00\x01\x42\xe4\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "expr", [int64("-10")]), int64("100")) + +// switch.wast:138 +assert_return(() => call($1, "arg", [0]), 110); + +// switch.wast:139 +assert_return(() => call($1, "arg", [1]), 12); + +// switch.wast:140 +assert_return(() => call($1, "arg", [2]), 4); + +// switch.wast:141 +assert_return(() => call($1, "arg", [3]), 1116); + +// switch.wast:142 +assert_return(() => call($1, "arg", [4]), 118); + +// switch.wast:143 +assert_return(() => call($1, "arg", [5]), 20); + +// switch.wast:144 +assert_return(() => call($1, "arg", [6]), 12); + +// switch.wast:145 +assert_return(() => call($1, "arg", [7]), 1124); + +// switch.wast:146 +assert_return(() => call($1, "arg", [8]), 126); + +// switch.wast:148 +assert_return(() => call($1, "corner", []), 1); + +// switch.wast:150 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x41\x00\x0e\x00\x03\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/tee_local.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/tee_local.wast.js new file mode 100644 index 0000000000..8ed22dad3a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/tee_local.wast.js @@ -0,0 +1,105 @@ + +// tee_local.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xbf\x80\x80\x80\x00\x0b\x60\x00\x01\x7f\x60\x00\x01\x7e\x60\x00\x01\x7d\x60\x00\x01\x7c\x60\x01\x7f\x01\x7f\x60\x01\x7e\x01\x7e\x60\x01\x7d\x01\x7d\x60\x01\x7c\x01\x7c\x60\x05\x7e\x7d\x7c\x7f\x7f\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7e\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7c\x03\x8c\x80\x80\x80\x00\x0b\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x07\xa7\x81\x80\x80\x00\x0b\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x33\x32\x00\x00\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x01\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x02\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x03\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x33\x32\x00\x04\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x36\x34\x00\x05\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x33\x32\x00\x06\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x36\x34\x00\x07\x0a\x74\x79\x70\x65\x2d\x6d\x69\x78\x65\x64\x00\x08\x05\x77\x72\x69\x74\x65\x00\x09\x06\x72\x65\x73\x75\x6c\x74\x00\x0a\x0a\xfa\x82\x80\x80\x00\x0b\x88\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x22\x00\x0b\x88\x80\x80\x80\x00\x01\x01\x7e\x42\x00\x22\x00\x0b\x8b\x80\x80\x80\x00\x01\x01\x7d\x43\x00\x00\x00\x00\x22\x00\x0b\x8f\x80\x80\x80\x00\x01\x01\x7c\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x0b\x86\x80\x80\x80\x00\x00\x41\x0a\x22\x00\x0b\x86\x80\x80\x80\x00\x00\x42\x0b\x22\x00\x0b\x89\x80\x80\x80\x00\x00\x43\x9a\x99\x31\x41\x22\x00\x0b\x8d\x80\x80\x80\x00\x00\x44\x66\x66\x66\x66\x66\x66\x28\x40\x22\x00\x0b\xd2\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x42\x00\x22\x00\x50\x1a\x43\x00\x00\x00\x00\x22\x01\x8c\x1a\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x02\x9a\x1a\x41\x00\x22\x03\x45\x1a\x41\x00\x22\x04\x45\x1a\x43\x00\x00\x00\x00\x22\x05\x8c\x1a\x42\x00\x22\x06\x50\x1a\x42\x00\x22\x07\x50\x1a\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x08\x9a\x1a\x0b\xd5\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x43\x9a\x99\x99\xbe\x22\x01\x1a\x41\x28\x22\x03\x1a\x41\x79\x22\x04\x1a\x43\x00\x00\xb0\x40\x22\x05\x1a\x42\x06\x22\x06\x1a\x44\x00\x00\x00\x00\x00\x00\x20\x40\x22\x08\x1a\x20\x00\xba\x20\x01\xbb\x20\x02\x20\x03\xb8\x20\x04\xb7\x20\x05\xbb\x20\x06\xba\x20\x07\xba\x20\x08\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xb0\x0b\xcf\x80\x80\x80\x00\x03\x01\x7d\x02\x7e\x01\x7c\x42\x01\x22\x00\xba\x43\x00\x00\x00\x40\x22\x01\xbb\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x22\x02\x41\x04\x22\x03\xb8\x41\x05\x22\x04\xb7\x43\x00\x00\xb0\x40\x22\x05\xbb\x42\x06\x22\x06\xba\x42\x00\x22\x07\xba\x44\x00\x00\x00\x00\x00\x00\x20\x40\x22\x08\xa0\xa0\xa0\xa0\xa0\xa0\xa0\xa0\x0b"); + +// tee_local.wast:98 +assert_return(() => call($1, "type-local-i32", []), 0); + +// tee_local.wast:99 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x10\x00\x01\x42\x00\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-local-i64", []), int64("0")) + +// tee_local.wast:100 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbc\x43\x00\x00\x00\x00\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-local-f32", []), 0.) + +// tee_local.wast:101 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x6c\x6f\x63\x61\x6c\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9e\x80\x80\x80\x00\x01\x98\x80\x80\x80\x00\x00\x02\x40\x10\x00\xbd\x44\x00\x00\x00\x00\x00\x00\x00\x00\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-local-f64", []), 0.) + +// tee_local.wast:103 +assert_return(() => call($1, "type-param-i32", [2]), 10); + +// tee_local.wast:104 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7e\x01\x7e\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x69\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x42\x03\x10\x00\x01\x42\x0b\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-i64", [int64("3")]), int64("11")) + +// tee_local.wast:105 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x01\x7d\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x9f\x80\x80\x80\x00\x01\x99\x80\x80\x80\x00\x00\x02\x40\x43\xcd\xcc\x8c\x40\x10\x00\xbc\x43\x9a\x99\x31\x41\xbc\x46\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-f32", [4.40000009537]), 11.1000003815) + +// tee_local.wast:106 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x01\x7c\x02\x95\x80\x80\x80\x00\x01\x02\x24\x31\x0e\x74\x79\x70\x65\x2d\x70\x61\x72\x61\x6d\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa7\x80\x80\x80\x00\x01\xa1\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\x16\x40\x10\x00\xbd\x44\x66\x66\x66\x66\x66\x66\x28\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-param-f64", [5.5]), 12.2) + +// tee_local.wast:108 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8c\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x00\x02\x91\x80\x80\x80\x00\x01\x02\x24\x31\x0a\x74\x79\x70\x65\x2d\x6d\x69\x78\x65\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xa3\x80\x80\x80\x00\x01\x9d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x43\xcd\xcc\x0c\x40\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x41\x04\x41\x05\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "type-mixed", [int64("1"), 2.20000004768, 3.3, 4, 5])) + +// tee_local.wast:114 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7e\x02\x8c\x80\x80\x80\x00\x01\x02\x24\x31\x05\x77\x72\x69\x74\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xab\x80\x80\x80\x00\x01\xa5\x80\x80\x80\x00\x00\x02\x40\x42\x01\x43\x00\x00\x00\x40\x44\x66\x66\x66\x66\x66\x66\x0a\x40\x41\x04\x41\x05\x10\x00\x01\x42\x38\x01\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "write", [int64("1"), 2., 3.3, 4, 5]), int64("56")) + +// tee_local.wast:121 +run(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8d\x80\x80\x80\x00\x02\x60\x00\x00\x60\x05\x7e\x7d\x7c\x7f\x7f\x01\x7c\x02\x8d\x80\x80\x80\x00\x01\x02\x24\x31\x06\x72\x65\x73\x75\x6c\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\xb2\x80\x80\x80\x00\x01\xac\x80\x80\x80\x00\x00\x02\x40\x42\x7f\x43\x00\x00\x00\xc0\x44\x66\x66\x66\x66\x66\x66\x0a\xc0\x41\x7c\x41\x7b\x10\x00\xbd\x44\x66\x66\x66\x66\x66\x66\x41\x40\xbd\x51\x45\x0d\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_return(() => call($1, "result", [int64("-1"), -2., -3.3, -4, -5]), 34.8) + +// tee_local.wast:131 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x01\x01\x7f\x41\x00\x22\x00\x0b"); + +// tee_local.wast:135 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x01\x01\x7d\x43\x00\x00\x00\x00\x22\x00\x45\x0b"); + +// tee_local.wast:139 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x42\x00\x22\x01\x9a\x0b"); + +// tee_local.wast:144 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x01\x01\x7f\x01\x22\x00\x0b"); + +// tee_local.wast:148 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7f\x43\x00\x00\x00\x00\x22\x00\x0b"); + +// tee_local.wast:152 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x01\x01\x7d\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x0b"); + +// tee_local.wast:156 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x01\x0b"); + +// tee_local.wast:164 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x01\x7f\x01\x7e\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x00\x0b"); + +// tee_local.wast:168 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x00\x45\x0b"); + +// tee_local.wast:172 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7c\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x20\x01\x9a\x0b"); + +// tee_local.wast:177 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x01\x22\x00\x0b"); + +// tee_local.wast:181 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x22\x00\x0b"); + +// tee_local.wast:185 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x0b"); + +// tee_local.wast:189 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7c\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x22\x01\x0b"); + +// tee_local.wast:197 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\x03\x0b"); + +// tee_local.wast:201 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xa4\xea\x06\x0b"); + +// tee_local.wast:206 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7f\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x20\x02\x0b"); + +// tee_local.wast:210 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xf2\xce\xd4\x02\x0b"); + +// tee_local.wast:215 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\x03\x0b"); + +// tee_local.wast:219 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x02\x01\x7f\x01\x7e\x20\xf7\xa8\x99\x66\x0b"); + +// tee_local.wast:224 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7d\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7f\x43\x00\x00\x00\x00\x22\x01\x0b"); + +// tee_local.wast:228 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x02\x7e\x7f\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7d\x43\x00\x00\x00\x00\x22\x01\x0b"); + +// tee_local.wast:232 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7e\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x02\x01\x7c\x01\x7e\x42\x00\x22\x01\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/token.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/token.wast.js new file mode 100644 index 0000000000..38f64359b4 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/token.wast.js @@ -0,0 +1,6 @@ + +// token.wast:3 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// token.wast:7 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/traps.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/traps.wast.js new file mode 100644 index 0000000000..c7198f4fbb --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/traps.wast.js @@ -0,0 +1,102 @@ + +// traps.wast:5 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x02\x7f\x7f\x00\x60\x02\x7e\x7e\x00\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xcd\x80\x80\x80\x00\x04\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x64\x69\x76\x5f\x73\x00\x00\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x64\x69\x76\x5f\x75\x00\x01\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x00\x02\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x00\x03\x0a\xb5\x80\x80\x80\x00\x04\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6d\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6e\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x7f\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x80\x1a\x0b"); + +// traps.wast:16 +assert_trap(() => call($1, "no_dce.i32.div_s", [1, 0])); + +// traps.wast:17 +assert_trap(() => call($1, "no_dce.i32.div_u", [1, 0])); + +// traps.wast:18 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x00\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x64\x69\x76\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "no_dce.i64.div_s", [int64("1"), int64("0")])) + +// traps.wast:19 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x00\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x64\x69\x76\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "no_dce.i64.div_u", [int64("1"), int64("0")])) + +// traps.wast:21 +let $2 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x8b\x80\x80\x80\x00\x02\x60\x02\x7f\x7f\x00\x60\x02\x7e\x7e\x00\x03\x85\x80\x80\x80\x00\x04\x00\x00\x01\x01\x07\xcd\x80\x80\x80\x00\x04\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x72\x65\x6d\x5f\x73\x00\x00\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x72\x65\x6d\x5f\x75\x00\x01\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x00\x02\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x00\x03\x0a\xb5\x80\x80\x80\x00\x04\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x6f\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x70\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x81\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x20\x01\x82\x1a\x0b"); + +// traps.wast:32 +assert_trap(() => call($2, "no_dce.i32.rem_s", [1, 0])); + +// traps.wast:33 +assert_trap(() => call($2, "no_dce.i32.rem_u", [1, 0])); + +// traps.wast:34 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x00\x02\x97\x80\x80\x80\x00\x01\x02\x24\x32\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x72\x65\x6d\x5f\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "no_dce.i64.rem_s", [int64("1"), int64("0")])) + +// traps.wast:35 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x00\x00\x60\x02\x7e\x7e\x00\x02\x97\x80\x80\x80\x00\x01\x02\x24\x32\x10\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x72\x65\x6d\x5f\x75\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x42\x01\x42\x00\x10\x00\x0f\x0b\x00\x0b", exports("$2", $2)), "run", [])); // assert_trap(() => call($2, "no_dce.i64.rem_u", [int64("1"), int64("0")])) + +// traps.wast:37 +let $3 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x89\x80\x80\x80\x00\x02\x60\x01\x7d\x00\x60\x01\x7c\x00\x03\x89\x80\x80\x80\x00\x08\x00\x00\x01\x01\x00\x00\x01\x01\x07\xc9\x81\x80\x80\x00\x08\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x00\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x02\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x03\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x04\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x05\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x06\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x07\x0a\xd9\x80\x80\x80\x00\x08\x86\x80\x80\x80\x00\x00\x20\x00\xa8\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xa9\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xaa\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xab\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xae\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xaf\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb0\x1a\x0b\x86\x80\x80\x80\x00\x00\x20\x00\xb1\x1a\x0b"); + +// traps.wast:48 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i32.trunc_s_f32", [NaN])) + +// traps.wast:49 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i32.trunc_u_f32", [NaN])) + +// traps.wast:50 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i32.trunc_s_f64", [NaN])) + +// traps.wast:51 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i32.trunc_u_f64", [NaN])) + +// traps.wast:52 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i64.trunc_s_f32", [NaN])) + +// traps.wast:53 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7d\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\xc0\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i64.trunc_u_f32", [NaN])) + +// traps.wast:54 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x73\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i64.trunc_s_f64", [NaN])) + +// traps.wast:55 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x01\x7c\x00\x02\x9d\x80\x80\x80\x00\x01\x02\x24\x33\x16\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x74\x72\x75\x6e\x63\x5f\x75\x5f\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x02\x40\x44\x00\x00\x00\x00\x00\x00\xf8\x7f\x10\x00\x0f\x0b\x00\x0b", exports("$3", $3)), "run", [])); // assert_trap(() => call($3, "no_dce.i64.trunc_u_f64", [NaN])) + +// traps.wast:57 +let $4 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x01\x7f\x00\x03\x8f\x80\x80\x80\x00\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xa1\x82\x80\x80\x00\x0e\x0f\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x6c\x6f\x61\x64\x00\x00\x13\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x01\x13\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x02\x12\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x6c\x6f\x61\x64\x38\x5f\x73\x00\x03\x12\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x33\x32\x2e\x6c\x6f\x61\x64\x38\x5f\x75\x00\x04\x0f\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x00\x05\x13\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x73\x00\x06\x13\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x33\x32\x5f\x75\x00\x07\x13\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x73\x00\x08\x13\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x31\x36\x5f\x75\x00\x09\x12\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x73\x00\x0a\x12\x6e\x6f\x5f\x64\x63\x65\x2e\x69\x36\x34\x2e\x6c\x6f\x61\x64\x38\x5f\x75\x00\x0b\x0f\x6e\x6f\x5f\x64\x63\x65\x2e\x66\x33\x32\x2e\x6c\x6f\x61\x64\x00\x0c\x0f\x6e\x6f\x5f\x64\x63\x65\x2e\x66\x36\x34\x2e\x6c\x6f\x61\x64\x00\x0d\x0a\xb7\x81\x80\x80\x00\x0e\x88\x80\x80\x80\x00\x00\x20\x00\x28\x02\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x2e\x01\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x2f\x01\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x2c\x00\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x2d\x00\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x29\x03\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x34\x02\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x35\x02\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x32\x01\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x33\x01\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x30\x00\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x31\x00\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x2a\x02\x00\x1a\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x2b\x03\x00\x1a\x0b"); + +// traps.wast:76 +assert_trap(() => call($4, "no_dce.i32.load", [65536])); + +// traps.wast:77 +assert_trap(() => call($4, "no_dce.i32.load16_s", [65536])); + +// traps.wast:78 +assert_trap(() => call($4, "no_dce.i32.load16_u", [65536])); + +// traps.wast:79 +assert_trap(() => call($4, "no_dce.i32.load8_s", [65536])); + +// traps.wast:80 +assert_trap(() => call($4, "no_dce.i32.load8_u", [65536])); + +// traps.wast:81 +assert_trap(() => call($4, "no_dce.i64.load", [65536])); + +// traps.wast:82 +assert_trap(() => call($4, "no_dce.i64.load32_s", [65536])); + +// traps.wast:83 +assert_trap(() => call($4, "no_dce.i64.load32_u", [65536])); + +// traps.wast:84 +assert_trap(() => call($4, "no_dce.i64.load16_s", [65536])); + +// traps.wast:85 +assert_trap(() => call($4, "no_dce.i64.load16_u", [65536])); + +// traps.wast:86 +assert_trap(() => call($4, "no_dce.i64.load8_s", [65536])); + +// traps.wast:87 +assert_trap(() => call($4, "no_dce.i64.load8_u", [65536])); + +// traps.wast:88 +assert_trap(() => call($4, "no_dce.f32.load", [65536])); + +// traps.wast:89 +assert_trap(() => call($4, "no_dce.f64.load", [65536])); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/type.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/type.wast.js new file mode 100644 index 0000000000..acc8e69472 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/type.wast.js @@ -0,0 +1,15 @@ + +// type.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xc5\x80\x80\x80\x00\x0e\x60\x00\x00\x60\x00\x00\x60\x01\x7f\x00\x60\x01\x7f\x00\x60\x00\x01\x7f\x60\x01\x7f\x01\x7f\x60\x01\x7f\x01\x7f\x60\x02\x7d\x7c\x00\x60\x02\x7d\x7c\x00\x60\x02\x7d\x7c\x00\x60\x02\x7d\x7c\x00\x60\x02\x7d\x7c\x00\x60\x06\x7d\x7c\x7f\x7c\x7f\x7f\x00\x60\x03\x7d\x7c\x7f\x00"); + +// type.wast:43 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// type.wast:47 +assert_malformed("\x3c\x6d\x61\x6c\x66\x6f\x72\x6d\x65\x64\x20\x71\x75\x6f\x74\x65\x3e"); + +// type.wast:51 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x00\x02\x7f\x7f"); + +// type.wast:55 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x86\x80\x80\x80\x00\x01\x60\x00\x02\x7f\x7f"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/typecheck.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/typecheck.wast.js new file mode 100644 index 0000000000..a76a8e2db6 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/typecheck.wast.js @@ -0,0 +1,579 @@ + +// typecheck.wast:3 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x45\x1a\x0b"); + +// typecheck.wast:9 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x02\x40\x45\x1a\x0b\x0b"); + +// typecheck.wast:16 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x03\x40\x45\x1a\x0b\x0b"); + +// typecheck.wast:23 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x40\x45\x1a\x0b\x0b"); + +// typecheck.wast:30 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x7f\x41\x00\x05\x45\x0b\x1a\x0b"); + +// typecheck.wast:38 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x6a\x1a\x0b"); + +// typecheck.wast:44 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x41\x00\x6a\x1a\x0b"); + +// typecheck.wast:50 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x41\x00\x02\x40\x6a\x1a\x0b\x0b"); + +// typecheck.wast:57 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x02\x40\x41\x00\x6a\x1a\x0b\x0b"); + +// typecheck.wast:64 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x41\x00\x03\x40\x6a\x1a\x0b\x0b"); + +// typecheck.wast:71 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x03\x40\x41\x00\x6a\x1a\x0b\x0b"); + +// typecheck.wast:78 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\x6a\x04\x40\x1a\x0b\x0b"); + +// typecheck.wast:85 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\x04\x40\x6a\x05\x1a\x0b\x0b"); + +// typecheck.wast:92 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x41\x00\x41\x00\x41\x00\x04\x7f\x41\x00\x05\x6a\x41\x00\x0b\x1a\x1a\x0b"); + +// typecheck.wast:100 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x7f\x41\x00\x05\x6a\x0b\x1a\x0b"); + +// typecheck.wast:109 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x04\x40\x0b\x0b"); + +// typecheck.wast:115 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x02\x40\x04\x40\x0b\x0b\x0b"); + +// typecheck.wast:122 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x03\x40\x04\x40\x0b\x0b\x0b"); + +// typecheck.wast:129 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x40\x04\x40\x0b\x0b\x0b"); + +// typecheck.wast:136 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x98\x80\x80\x80\x00\x01\x92\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x7f\x41\x00\x05\x04\x40\x0b\x41\x00\x0b\x1a\x0b"); + +// typecheck.wast:145 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x7f\x0c\x00\x0b\x45\x1a\x0b"); + +// typecheck.wast:152 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x02\x7f\x0c\x00\x0b\x45\x1a\x0b"); + +// typecheck.wast:160 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x00\x04\x7f\x0c\x00\x0b\x0b\x45\x1a\x0b"); + +// typecheck.wast:170 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x02\x40\x41\x00\x41\x00\x04\x7f\x41\x00\x05\x0c\x00\x0b\x0b\x45\x1a\x0b"); + +// typecheck.wast:181 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x89\x80\x80\x80\x00\x01\x83\x80\x80\x80\x00\x00\x0f\x0b"); + +// typecheck.wast:187 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x02\x40\x0f\x0b\x0b"); + +// typecheck.wast:194 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x41\x00\x03\x40\x0f\x0b\x0b"); + +// typecheck.wast:201 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x40\x0f\x0b\x0b"); + +// typecheck.wast:208 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x00\x41\x00\x04\x7f\x41\x00\x05\x0f\x0b\x1a\x0b"); + +// typecheck.wast:219 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x04\x40\x0b\x0b"); + +// typecheck.wast:222 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x0d\x00\x0b\x0b"); + +// typecheck.wast:225 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x43\x00\x00\x00\x00\x0e\x00\x00\x0b\x0b"); + +// typecheck.wast:230 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x0a\x96\x80\x80\x80\x00\x02\x82\x80\x80\x80\x00\x00\x0b\x89\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x10\x00\x0b"); + +// typecheck.wast:231 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x01\x7f\x00\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x01\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x99\x80\x80\x80\x00\x02\x82\x80\x80\x80\x00\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x11\x00\x00\x0b"); + +// typecheck.wast:241 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x83\x80\x80\x80\x00\x02\x00\x00\x04\x84\x80\x80\x80\x00\x01\x70\x00\x00\x0a\x97\x80\x80\x80\x00\x02\x82\x80\x80\x80\x00\x00\x0b\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x11\x00\x00\x0b"); + +// typecheck.wast:250 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x0f\x0b"); + +// typecheck.wast:253 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x01\x01\x7f\x43\x00\x00\x00\x00\x21\x00\x0b"); + +// typecheck.wast:256 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x28\x02\x00\x0b"); + +// typecheck.wast:257 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x2c\x00\x00\x0b"); + +// typecheck.wast:258 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x2d\x00\x00\x0b"); + +// typecheck.wast:259 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x2e\x01\x00\x0b"); + +// typecheck.wast:260 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x2f\x01\x00\x0b"); + +// typecheck.wast:261 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x29\x03\x00\x0b"); + +// typecheck.wast:262 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x30\x00\x00\x0b"); + +// typecheck.wast:263 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x31\x00\x00\x0b"); + +// typecheck.wast:264 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x32\x01\x00\x0b"); + +// typecheck.wast:265 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x33\x01\x00\x0b"); + +// typecheck.wast:266 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x34\x02\x00\x0b"); + +// typecheck.wast:267 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x35\x02\x00\x0b"); + +// typecheck.wast:268 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x2a\x02\x00\x0b"); + +// typecheck.wast:269 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x2b\x03\x00\x0b"); + +// typecheck.wast:272 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x41\x00\x36\x02\x00\x0b"); + +// typecheck.wast:273 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x41\x00\x3a\x00\x00\x0b"); + +// typecheck.wast:274 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x41\x00\x3b\x01\x00\x0b"); + +// typecheck.wast:275 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x41\x00\x37\x03\x00\x0b"); + +// typecheck.wast:276 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x42\x00\x3c\x00\x00\x0b"); + +// typecheck.wast:277 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x42\x00\x3d\x01\x00\x0b"); + +// typecheck.wast:278 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x42\x00\x3e\x02\x00\x0b"); + +// typecheck.wast:279 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x43\x00\x00\x00\x00\x38\x02\x00\x0b"); + +// typecheck.wast:280 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x99\x80\x80\x80\x00\x01\x93\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x39\x03\x00\x0b"); + +// typecheck.wast:283 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x36\x02\x00\x0b"); + +// typecheck.wast:284 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x3a\x00\x00\x0b"); + +// typecheck.wast:285 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x3b\x01\x00\x0b"); + +// typecheck.wast:286 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x37\x03\x00\x0b"); + +// typecheck.wast:287 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x0b"); + +// typecheck.wast:288 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x3d\x01\x00\x0b"); + +// typecheck.wast:289 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x3e\x02\x00\x0b"); + +// typecheck.wast:290 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x41\x00\x38\x02\x00\x0b"); + +// typecheck.wast:291 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x42\x00\x39\x03\x00\x0b"); + +// typecheck.wast:294 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x6a\x0b"); + +// typecheck.wast:295 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x71\x0b"); + +// typecheck.wast:296 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x6d\x0b"); + +// typecheck.wast:297 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x6e\x0b"); + +// typecheck.wast:298 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x6c\x0b"); + +// typecheck.wast:299 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x72\x0b"); + +// typecheck.wast:300 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x6f\x0b"); + +// typecheck.wast:301 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x70\x0b"); + +// typecheck.wast:302 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x77\x0b"); + +// typecheck.wast:303 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x78\x0b"); + +// typecheck.wast:304 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x74\x0b"); + +// typecheck.wast:305 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x75\x0b"); + +// typecheck.wast:306 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x76\x0b"); + +// typecheck.wast:307 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x6b\x0b"); + +// typecheck.wast:308 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x73\x0b"); + +// typecheck.wast:309 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x7c\x0b"); + +// typecheck.wast:310 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x83\x0b"); + +// typecheck.wast:311 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x7f\x0b"); + +// typecheck.wast:312 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x80\x0b"); + +// typecheck.wast:313 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x7e\x0b"); + +// typecheck.wast:314 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x84\x0b"); + +// typecheck.wast:315 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x81\x0b"); + +// typecheck.wast:316 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x82\x0b"); + +// typecheck.wast:317 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x89\x0b"); + +// typecheck.wast:318 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x8a\x0b"); + +// typecheck.wast:319 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x86\x0b"); + +// typecheck.wast:320 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x87\x0b"); + +// typecheck.wast:321 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x88\x0b"); + +// typecheck.wast:322 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x7d\x0b"); + +// typecheck.wast:323 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x85\x0b"); + +// typecheck.wast:324 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x92\x0b"); + +// typecheck.wast:325 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x98\x0b"); + +// typecheck.wast:326 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x95\x0b"); + +// typecheck.wast:327 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x97\x0b"); + +// typecheck.wast:328 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x96\x0b"); + +// typecheck.wast:329 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x94\x0b"); + +// typecheck.wast:330 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x93\x0b"); + +// typecheck.wast:331 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa0\x0b"); + +// typecheck.wast:332 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa6\x0b"); + +// typecheck.wast:333 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa3\x0b"); + +// typecheck.wast:334 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa5\x0b"); + +// typecheck.wast:335 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa4\x0b"); + +// typecheck.wast:336 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa2\x0b"); + +// typecheck.wast:337 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\xa1\x0b"); + +// typecheck.wast:340 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x45\x0b"); + +// typecheck.wast:341 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x67\x0b"); + +// typecheck.wast:342 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x68\x0b"); + +// typecheck.wast:343 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x69\x0b"); + +// typecheck.wast:344 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\x50\x0b"); + +// typecheck.wast:345 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\x79\x0b"); + +// typecheck.wast:346 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\x7a\x0b"); + +// typecheck.wast:347 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\x7b\x0b"); + +// typecheck.wast:348 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x8b\x0b"); + +// typecheck.wast:349 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x8d\x0b"); + +// typecheck.wast:350 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x8e\x0b"); + +// typecheck.wast:351 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x90\x0b"); + +// typecheck.wast:352 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x8c\x0b"); + +// typecheck.wast:353 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x91\x0b"); + +// typecheck.wast:354 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x8f\x0b"); + +// typecheck.wast:355 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x99\x0b"); + +// typecheck.wast:356 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x9b\x0b"); + +// typecheck.wast:357 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x9c\x0b"); + +// typecheck.wast:358 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x9e\x0b"); + +// typecheck.wast:359 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x9a\x0b"); + +// typecheck.wast:360 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x9f\x0b"); + +// typecheck.wast:361 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\x9d\x0b"); + +// typecheck.wast:364 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x46\x0b"); + +// typecheck.wast:365 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x4e\x0b"); + +// typecheck.wast:366 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x4f\x0b"); + +// typecheck.wast:367 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x4a\x0b"); + +// typecheck.wast:368 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x4b\x0b"); + +// typecheck.wast:369 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x4c\x0b"); + +// typecheck.wast:370 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x4d\x0b"); + +// typecheck.wast:371 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x48\x0b"); + +// typecheck.wast:372 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x49\x0b"); + +// typecheck.wast:373 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x47\x0b"); + +// typecheck.wast:374 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x51\x0b"); + +// typecheck.wast:375 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x59\x0b"); + +// typecheck.wast:376 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x5a\x0b"); + +// typecheck.wast:377 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x55\x0b"); + +// typecheck.wast:378 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x56\x0b"); + +// typecheck.wast:379 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x57\x0b"); + +// typecheck.wast:380 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x58\x0b"); + +// typecheck.wast:381 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x53\x0b"); + +// typecheck.wast:382 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x54\x0b"); + +// typecheck.wast:383 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x43\x00\x00\x00\x00\x52\x0b"); + +// typecheck.wast:384 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x0b"); + +// typecheck.wast:385 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x60\x0b"); + +// typecheck.wast:386 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x5e\x0b"); + +// typecheck.wast:387 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x0b"); + +// typecheck.wast:388 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x0b"); + +// typecheck.wast:389 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x42\x00\x44\x00\x00\x00\x00\x00\x00\x00\x00\x5c\x0b"); + +// typecheck.wast:390 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x61\x0b"); + +// typecheck.wast:391 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x66\x0b"); + +// typecheck.wast:392 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x64\x0b"); + +// typecheck.wast:393 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x65\x0b"); + +// typecheck.wast:394 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x63\x0b"); + +// typecheck.wast:395 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x42\x00\x43\x00\x00\x00\x00\x62\x0b"); + +// typecheck.wast:398 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xa7\x0b"); + +// typecheck.wast:399 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xa8\x0b"); + +// typecheck.wast:400 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xa9\x0b"); + +// typecheck.wast:401 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xaa\x0b"); + +// typecheck.wast:402 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xab\x0b"); + +// typecheck.wast:403 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xbc\x0b"); + +// typecheck.wast:404 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xac\x0b"); + +// typecheck.wast:405 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\xad\x0b"); + +// typecheck.wast:406 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xae\x0b"); + +// typecheck.wast:407 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xaf\x0b"); + +// typecheck.wast:408 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xb0\x0b"); + +// typecheck.wast:409 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xb1\x0b"); + +// typecheck.wast:410 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xbd\x0b"); + +// typecheck.wast:411 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xb2\x0b"); + +// typecheck.wast:412 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xb3\x0b"); + +// typecheck.wast:413 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xb4\x0b"); + +// typecheck.wast:414 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xb5\x0b"); + +// typecheck.wast:415 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xb6\x0b"); + +// typecheck.wast:416 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xbe\x0b"); + +// typecheck.wast:417 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xb7\x0b"); + +// typecheck.wast:418 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x42\x00\xb8\x0b"); + +// typecheck.wast:419 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xb9\x0b"); + +// typecheck.wast:420 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xba\x0b"); + +// typecheck.wast:421 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xbb\x0b"); + +// typecheck.wast:422 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x41\x00\xbf\x0b"); + +// typecheck.wast:425 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x05\x83\x80\x80\x80\x00\x01\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x40\x00\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/unreachable.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/unreachable.wast.js new file mode 100644 index 0000000000..936a0422ce --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/unreachable.wast.js @@ -0,0 +1,180 @@ + +// unreachable.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\xa6\x80\x80\x80\x00\x08\x60\x00\x00\x60\x03\x7f\x7f\x7f\x00\x60\x00\x01\x7f\x60\x00\x01\x7c\x60\x00\x01\x7e\x60\x02\x7f\x7f\x01\x7f\x60\x03\x7f\x7f\x7f\x00\x60\x00\x01\x7d\x03\xba\x80\x80\x80\x00\x39\x00\x01\x02\x02\x03\x03\x02\x02\x00\x02\x02\x02\x00\x02\x02\x02\x02\x00\x02\x02\x00\x02\x02\x00\x02\x02\x02\x02\x04\x02\x05\x05\x05\x05\x02\x00\x00\x00\x00\x00\x00\x00\x00\x07\x04\x00\x00\x00\x00\x07\x02\x04\x02\x02\x02\x02\x02\x04\x85\x80\x80\x80\x00\x01\x70\x01\x01\x01\x05\x83\x80\x80\x80\x00\x01\x00\x01\x07\xcc\x87\x80\x80\x00\x37\x08\x74\x79\x70\x65\x2d\x69\x33\x32\x00\x02\x08\x74\x79\x70\x65\x2d\x69\x36\x34\x00\x03\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x04\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x05\x0d\x61\x73\x2d\x66\x75\x6e\x63\x2d\x66\x69\x72\x73\x74\x00\x06\x0b\x61\x73\x2d\x66\x75\x6e\x63\x2d\x6d\x69\x64\x00\x07\x0c\x61\x73\x2d\x66\x75\x6e\x63\x2d\x6c\x61\x73\x74\x00\x08\x0d\x61\x73\x2d\x66\x75\x6e\x63\x2d\x76\x61\x6c\x75\x65\x00\x09\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x66\x69\x72\x73\x74\x00\x0a\x0c\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6d\x69\x64\x00\x0b\x0d\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x6c\x61\x73\x74\x00\x0c\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x00\x0d\x0e\x61\x73\x2d\x62\x6c\x6f\x63\x6b\x2d\x62\x72\x6f\x6b\x65\x00\x0e\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x66\x69\x72\x73\x74\x00\x0f\x0b\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6d\x69\x64\x00\x10\x0c\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x6c\x61\x73\x74\x00\x11\x0d\x61\x73\x2d\x6c\x6f\x6f\x70\x2d\x62\x72\x6f\x6b\x65\x00\x12\x0b\x61\x73\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x13\x0d\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x63\x6f\x6e\x64\x00\x14\x0e\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x00\x15\x13\x61\x73\x2d\x62\x72\x5f\x69\x66\x2d\x76\x61\x6c\x75\x65\x2d\x63\x6f\x6e\x64\x00\x16\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x69\x6e\x64\x65\x78\x00\x17\x11\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x18\x13\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x32\x00\x19\x17\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x69\x6e\x64\x65\x78\x00\x1a\x1b\x61\x73\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x2d\x61\x6e\x64\x2d\x69\x6e\x64\x65\x78\x00\x1b\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x1c\x0a\x61\x73\x2d\x69\x66\x2d\x63\x6f\x6e\x64\x00\x1d\x0a\x61\x73\x2d\x69\x66\x2d\x74\x68\x65\x6e\x00\x1e\x0a\x61\x73\x2d\x69\x66\x2d\x65\x6c\x73\x65\x00\x1f\x0f\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x20\x10\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x73\x65\x63\x6f\x6e\x64\x00\x21\x0e\x61\x73\x2d\x73\x65\x6c\x65\x63\x74\x2d\x63\x6f\x6e\x64\x00\x22\x0d\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x66\x69\x72\x73\x74\x00\x23\x0b\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6d\x69\x64\x00\x24\x0c\x61\x73\x2d\x63\x61\x6c\x6c\x2d\x6c\x61\x73\x74\x00\x25\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x75\x6e\x63\x00\x26\x16\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x66\x69\x72\x73\x74\x00\x27\x14\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6d\x69\x64\x00\x28\x15\x61\x73\x2d\x63\x61\x6c\x6c\x5f\x69\x6e\x64\x69\x72\x65\x63\x74\x2d\x6c\x61\x73\x74\x00\x29\x12\x61\x73\x2d\x73\x65\x74\x5f\x6c\x6f\x63\x61\x6c\x2d\x76\x61\x6c\x75\x65\x00\x2a\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2b\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2c\x10\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2d\x0e\x61\x73\x2d\x73\x74\x6f\x72\x65\x2d\x76\x61\x6c\x75\x65\x00\x2e\x11\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x2f\x0f\x61\x73\x2d\x73\x74\x6f\x72\x65\x4e\x2d\x76\x61\x6c\x75\x65\x00\x30\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x31\x0e\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x6c\x65\x66\x74\x00\x32\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x33\x0f\x61\x73\x2d\x74\x65\x73\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x34\x0f\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x6c\x65\x66\x74\x00\x35\x10\x61\x73\x2d\x63\x6f\x6d\x70\x61\x72\x65\x2d\x72\x69\x67\x68\x74\x00\x36\x12\x61\x73\x2d\x63\x6f\x6e\x76\x65\x72\x74\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x37\x13\x61\x73\x2d\x67\x72\x6f\x77\x5f\x6d\x65\x6d\x6f\x72\x79\x2d\x73\x69\x7a\x65\x00\x38\x09\x87\x80\x80\x80\x00\x01\x00\x41\x00\x0b\x01\x01\x0a\x80\x86\x80\x80\x00\x39\x82\x80\x80\x80\x00\x00\x0b\x82\x80\x80\x80\x00\x00\x0b\x83\x80\x80\x80\x00\x00\x00\x0b\x83\x80\x80\x80\x00\x00\x00\x0b\x83\x80\x80\x80\x00\x00\x00\x0b\x83\x80\x80\x80\x00\x00\x00\x0b\x85\x80\x80\x80\x00\x00\x00\x41\x7f\x0b\x87\x80\x80\x80\x00\x00\x10\x00\x00\x41\x7f\x0b\x85\x80\x80\x80\x00\x00\x10\x00\x00\x0b\x85\x80\x80\x80\x00\x00\x10\x00\x00\x0b\x88\x80\x80\x80\x00\x00\x02\x7f\x00\x41\x02\x0b\x0b\x8a\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x00\x41\x02\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x40\x01\x10\x00\x00\x0b\x0b\x89\x80\x80\x80\x00\x00\x02\x7f\x01\x10\x00\x00\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x10\x00\x41\x01\x0c\x00\x00\x0b\x0b\x88\x80\x80\x80\x00\x00\x03\x7f\x00\x41\x02\x0b\x0b\x8a\x80\x80\x80\x00\x00\x03\x7f\x10\x00\x00\x41\x02\x0b\x0b\x89\x80\x80\x80\x00\x00\x03\x40\x01\x10\x00\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x10\x00\x41\x01\x0c\x01\x00\x0b\x0b\x0b\x88\x80\x80\x80\x00\x00\x02\x7f\x00\x0c\x00\x0b\x0b\x88\x80\x80\x80\x00\x00\x02\x40\x00\x0d\x00\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x00\x41\x01\x0d\x00\x1a\x41\x07\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x00\x0d\x00\x1a\x41\x07\x0b\x0b\x8b\x80\x80\x80\x00\x00\x02\x40\x00\x0e\x02\x00\x00\x00\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x00\x41\x01\x0e\x02\x00\x00\x00\x41\x07\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x02\x7f\x00\x41\x01\x0e\x01\x00\x01\x0b\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x06\x00\x0e\x01\x00\x00\x41\x07\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x00\x0e\x01\x00\x00\x41\x08\x0b\x0b\x84\x80\x80\x80\x00\x00\x00\x0f\x0b\x8b\x80\x80\x80\x00\x00\x00\x04\x7f\x41\x00\x05\x41\x01\x0b\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x00\x05\x20\x01\x0b\x0b\x8b\x80\x80\x80\x00\x00\x20\x00\x04\x7f\x20\x01\x05\x00\x0b\x0b\x88\x80\x80\x80\x00\x00\x00\x20\x00\x20\x01\x1b\x0b\x88\x80\x80\x80\x00\x00\x20\x00\x00\x20\x01\x1b\x0b\x88\x80\x80\x80\x00\x00\x41\x00\x41\x01\x00\x1b\x0b\x89\x80\x80\x80\x00\x00\x00\x41\x02\x41\x03\x10\x01\x0b\x89\x80\x80\x80\x00\x00\x41\x01\x00\x41\x03\x10\x01\x0b\x89\x80\x80\x80\x00\x00\x41\x01\x41\x02\x00\x10\x01\x0b\x8c\x80\x80\x80\x00\x00\x00\x41\x01\x41\x02\x41\x03\x11\x06\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x00\x41\x02\x41\x03\x11\x06\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x01\x00\x41\x03\x11\x06\x00\x0b\x8c\x80\x80\x80\x00\x00\x41\x00\x41\x01\x41\x02\x00\x11\x06\x00\x0b\x87\x80\x80\x80\x00\x01\x01\x7d\x00\x21\x00\x0b\x86\x80\x80\x80\x00\x00\x00\x2a\x02\x00\x0b\x86\x80\x80\x80\x00\x00\x00\x30\x00\x00\x0b\x8f\x80\x80\x80\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x1c\x40\x39\x03\x00\x0b\x88\x80\x80\x80\x00\x00\x41\x02\x00\x37\x03\x00\x0b\x88\x80\x80\x80\x00\x00\x00\x41\x07\x3a\x00\x00\x0b\x88\x80\x80\x80\x00\x00\x41\x02\x00\x3d\x01\x00\x0b\x84\x80\x80\x80\x00\x00\x00\x8c\x0b\x86\x80\x80\x80\x00\x00\x00\x41\x0a\x6a\x0b\x86\x80\x80\x80\x00\x00\x42\x0a\x00\x7d\x0b\x84\x80\x80\x80\x00\x00\x00\x45\x0b\x8d\x80\x80\x80\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\x24\x40\x65\x0b\x89\x80\x80\x80\x00\x00\x43\x00\x00\x20\x41\x00\x5c\x0b\x84\x80\x80\x80\x00\x00\x00\xa7\x0b\x85\x80\x80\x80\x00\x00\x00\x40\x00\x0b"); + +// unreachable.wast:203 +assert_trap(() => call($1, "type-i32", [])); + +// unreachable.wast:204 +assert_trap(() => call($1, "type-i64", [])); + +// unreachable.wast:205 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x66\x33\x32\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "type-f32", [])) + +// unreachable.wast:206 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7c\x02\x8f\x80\x80\x80\x00\x01\x02\x24\x31\x08\x74\x79\x70\x65\x2d\x66\x36\x34\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "type-f64", [])) + +// unreachable.wast:208 +assert_trap(() => call($1, "as-func-first", [])); + +// unreachable.wast:209 +assert_trap(() => call($1, "as-func-mid", [])); + +// unreachable.wast:210 +assert_trap(() => call($1, "as-func-last", [])); + +// unreachable.wast:211 +assert_trap(() => call($1, "as-func-value", [])); + +// unreachable.wast:213 +assert_trap(() => call($1, "as-block-first", [])); + +// unreachable.wast:214 +assert_trap(() => call($1, "as-block-mid", [])); + +// unreachable.wast:215 +assert_trap(() => call($1, "as-block-last", [])); + +// unreachable.wast:216 +assert_trap(() => call($1, "as-block-value", [])); + +// unreachable.wast:217 +assert_return(() => call($1, "as-block-broke", []), 1); + +// unreachable.wast:219 +assert_trap(() => call($1, "as-loop-first", [])); + +// unreachable.wast:220 +assert_trap(() => call($1, "as-loop-mid", [])); + +// unreachable.wast:221 +assert_trap(() => call($1, "as-loop-last", [])); + +// unreachable.wast:222 +assert_return(() => call($1, "as-loop-broke", []), 1); + +// unreachable.wast:224 +assert_trap(() => call($1, "as-br-value", [])); + +// unreachable.wast:226 +assert_trap(() => call($1, "as-br_if-cond", [])); + +// unreachable.wast:227 +assert_trap(() => call($1, "as-br_if-value", [])); + +// unreachable.wast:228 +assert_trap(() => call($1, "as-br_if-value-cond", [])); + +// unreachable.wast:230 +assert_trap(() => call($1, "as-br_table-index", [])); + +// unreachable.wast:231 +assert_trap(() => call($1, "as-br_table-value", [])); + +// unreachable.wast:232 +assert_trap(() => call($1, "as-br_table-value-2", [])); + +// unreachable.wast:233 +assert_trap(() => call($1, "as-br_table-value-index", [])); + +// unreachable.wast:234 +assert_trap(() => call($1, "as-br_table-value-and-index", [])); + +// unreachable.wast:236 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x72\x65\x74\x75\x72\x6e\x2d\x76\x61\x6c\x75\x65\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "as-return-value", [])) + +// unreachable.wast:238 +assert_trap(() => call($1, "as-if-cond", [])); + +// unreachable.wast:239 +assert_trap(() => call($1, "as-if-then", [1, 6])); + +// unreachable.wast:240 +assert_return(() => call($1, "as-if-then", [0, 6]), 6); + +// unreachable.wast:241 +assert_trap(() => call($1, "as-if-else", [0, 6])); + +// unreachable.wast:242 +assert_return(() => call($1, "as-if-else", [1, 6]), 6); + +// unreachable.wast:244 +assert_trap(() => call($1, "as-select-first", [0, 6])); + +// unreachable.wast:245 +assert_trap(() => call($1, "as-select-first", [1, 6])); + +// unreachable.wast:246 +assert_trap(() => call($1, "as-select-second", [0, 6])); + +// unreachable.wast:247 +assert_trap(() => call($1, "as-select-second", [1, 6])); + +// unreachable.wast:248 +assert_trap(() => call($1, "as-select-cond", [])); + +// unreachable.wast:250 +assert_trap(() => call($1, "as-call-first", [])); + +// unreachable.wast:251 +assert_trap(() => call($1, "as-call-mid", [])); + +// unreachable.wast:252 +assert_trap(() => call($1, "as-call-last", [])); + +// unreachable.wast:254 +assert_trap(() => call($1, "as-call_indirect-func", [])); + +// unreachable.wast:255 +assert_trap(() => call($1, "as-call_indirect-first", [])); + +// unreachable.wast:256 +assert_trap(() => call($1, "as-call_indirect-mid", [])); + +// unreachable.wast:257 +assert_trap(() => call($1, "as-call_indirect-last", [])); + +// unreachable.wast:259 +assert_trap(() => call($1, "as-set_local-value", [])); + +// unreachable.wast:261 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x6c\x6f\x61\x64\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "as-load-address", [])) + +// unreachable.wast:262 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x6c\x6f\x61\x64\x4e\x2d\x61\x64\x64\x72\x65\x73\x73\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "as-loadN-address", [])) + +// unreachable.wast:264 +assert_trap(() => call($1, "as-store-address", [])); + +// unreachable.wast:265 +assert_trap(() => call($1, "as-store-value", [])); + +// unreachable.wast:266 +assert_trap(() => call($1, "as-storeN-address", [])); + +// unreachable.wast:267 +assert_trap(() => call($1, "as-storeN-value", [])); + +// unreachable.wast:269 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7d\x02\x97\x80\x80\x80\x00\x01\x02\x24\x31\x10\x61\x73\x2d\x75\x6e\x61\x72\x79\x2d\x6f\x70\x65\x72\x61\x6e\x64\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "as-unary-operand", [])) + +// unreachable.wast:271 +assert_trap(() => call($1, "as-binary-left", [])); + +// unreachable.wast:272 +assert_trap(() => call(instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7e\x02\x96\x80\x80\x80\x00\x01\x02\x24\x31\x0f\x61\x73\x2d\x62\x69\x6e\x61\x72\x79\x2d\x72\x69\x67\x68\x74\x00\x01\x03\x82\x80\x80\x80\x00\x01\x00\x07\x87\x80\x80\x80\x00\x01\x03\x72\x75\x6e\x00\x01\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x10\x00\x0f\x0b\x00\x0b", exports("$1", $1)), "run", [])); // assert_trap(() => call($1, "as-binary-right", [])) + +// unreachable.wast:274 +assert_trap(() => call($1, "as-test-operand", [])); + +// unreachable.wast:276 +assert_trap(() => call($1, "as-compare-left", [])); + +// unreachable.wast:277 +assert_trap(() => call($1, "as-compare-right", [])); + +// unreachable.wast:279 +assert_trap(() => call($1, "as-convert-operand", [])); + +// unreachable.wast:281 +assert_trap(() => call($1, "as-grow_memory-size", [])); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/unreached-invalid.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/unreached-invalid.wast.js new file mode 100644 index 0000000000..ab2cda05a1 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/unreached-invalid.wast.js @@ -0,0 +1,300 @@ + +// unreached-invalid.wast:3 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x00\x20\x00\x1a\x0b"); + +// unreached-invalid.wast:7 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x00\x23\x00\x1a\x0b"); + +// unreached-invalid.wast:11 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x00\x10\x01\x0b"); + +// unreached-invalid.wast:15 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x00\x0c\x01\x0b"); + +// unreached-invalid.wast:20 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8d\x80\x80\x80\x00\x01\x87\x80\x80\x80\x00\x00\x00\x41\x00\x50\x1a\x0b"); + +// unreached-invalid.wast:26 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x00\x42\x00\x41\x00\x1b\x0b"); + +// unreached-invalid.wast:32 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x00\x42\x00\x41\x00\x1b\x41\x00\x41\x00\x1b\x0b"); + +// unreached-invalid.wast:41 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x00\x41\x00\x0b"); + +// unreached-invalid.wast:45 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x00\x45\x0b"); + +// unreached-invalid.wast:49 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x00\x41\x00\x6a\x0b"); + +// unreached-invalid.wast:55 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8a\x80\x80\x80\x00\x01\x84\x80\x80\x80\x00\x00\x00\x1b\x0b"); + +// unreached-invalid.wast:59 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x00\x41\x00\x1b\x0b"); + +// unreached-invalid.wast:63 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x00\x41\x00\x41\x00\x1b\x0b"); + +// unreached-invalid.wast:70 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x02\x40\x01\x45\x1a\x0b\x0b\x0b"); + +// unreached-invalid.wast:76 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x43\x00\x00\x80\x3f\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:82 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x02\x40\x41\x01\x5b\x1a\x0b\x0b\x0b"); + +// unreached-invalid.wast:88 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x41\x01\x43\x00\x00\x00\x00\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:94 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x0c\x00\x41\x01\x0b\x0b"); + +// unreached-invalid.wast:100 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x0c\x00\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:106 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x03\x40\x0c\x01\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:112 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x03\x7f\x41\x01\x0c\x01\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:118 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8c\x80\x80\x80\x00\x01\x86\x80\x80\x80\x00\x00\x0c\x00\x41\x01\x0b"); + +// unreached-invalid.wast:124 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x01\x0c\x00\x43\x00\x00\x00\x00\x0b"); + +// unreached-invalid.wast:131 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x0f\x02\x40\x01\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:137 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x0f\x43\x00\x00\x80\x3f\x45\x1a\x0b"); + +// unreached-invalid.wast:143 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x0f\x02\x40\x41\x01\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:149 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x0f\x41\x01\x43\x00\x00\x00\x00\x5b\x1a\x0b"); + +// unreached-invalid.wast:155 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x02\x40\x0f\x41\x01\x0b\x0b"); + +// unreached-invalid.wast:161 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x41\x00\x0f\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:167 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x03\x40\x0f\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:173 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x03\x7f\x41\x01\x0f\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:179 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x0f\x41\x01\x0b"); + +// unreached-invalid.wast:185 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x01\x0f\x43\x00\x00\x00\x00\x0b"); + +// unreached-invalid.wast:192 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x00\x02\x40\x01\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:198 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x00\x43\x00\x00\x80\x3f\x45\x1a\x0b"); + +// unreached-invalid.wast:204 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x00\x02\x40\x41\x01\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:210 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x00\x41\x01\x43\x00\x00\x00\x00\x5b\x1a\x0b"); + +// unreached-invalid.wast:216 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x02\x40\x00\x41\x01\x0b\x0b"); + +// unreached-invalid.wast:222 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x00\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:228 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x03\x40\x00\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:234 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x03\x7f\x00\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:240 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8b\x80\x80\x80\x00\x01\x85\x80\x80\x80\x00\x00\x00\x41\x01\x0b"); + +// unreached-invalid.wast:246 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x00\x43\x00\x00\x00\x00\x0b"); + +// unreached-invalid.wast:253 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x00\x0b\x02\x40\x01\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:259 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x00\x0b\x43\x00\x00\x80\x3f\x45\x1a\x0b"); + +// unreached-invalid.wast:265 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x00\x0b\x02\x40\x41\x01\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:271 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x00\x0b\x41\x01\x43\x00\x00\x00\x00\x5b\x1a\x0b"); + +// unreached-invalid.wast:277 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x02\x40\x00\x0b\x41\x01\x0b\x0b"); + +// unreached-invalid.wast:283 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x02\x40\x00\x0b\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:290 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x03\x40\x02\x40\x00\x0b\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:296 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x03\x7f\x02\x40\x00\x0b\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:303 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x02\x40\x00\x0b\x41\x01\x0b"); + +// unreached-invalid.wast:309 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x00\x0b\x43\x00\x00\x00\x00\x0b"); + +// unreached-invalid.wast:317 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x03\x40\x0c\x00\x0b\x02\x40\x01\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:323 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x03\x40\x0c\x00\x0b\x43\x00\x00\x80\x3f\x45\x1a\x0b"); + +// unreached-invalid.wast:329 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x03\x40\x0c\x00\x0b\x02\x40\x41\x01\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:335 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x03\x40\x0c\x00\x0b\x41\x01\x43\x00\x00\x00\x00\x5b\x1a\x0b"); + +// unreached-invalid.wast:341 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x03\x40\x0c\x00\x0b\x41\x01\x0b\x0b"); + +// unreached-invalid.wast:347 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x03\x40\x0c\x00\x0b\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:353 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x03\x40\x03\x40\x0c\x00\x0b\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:359 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x03\x7f\x03\x40\x0c\x00\x0b\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:365 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x03\x40\x0c\x00\x0b\x41\x01\x0b"); + +// unreached-invalid.wast:371 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x03\x40\x0c\x00\x0b\x43\x00\x00\x00\x00\x0b"); + +// unreached-invalid.wast:378 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x90\x80\x80\x80\x00\x01\x8a\x80\x80\x80\x00\x00\x41\x00\x04\x40\x01\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:384 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x41\x00\x04\x40\x43\x00\x00\x80\x3f\x45\x1a\x0b\x0b"); + +// unreached-invalid.wast:390 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x41\x00\x04\x40\x41\x01\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:396 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x41\x00\x04\x40\x41\x01\x43\x00\x00\x00\x00\x5b\x1a\x0b\x0b"); + +// unreached-invalid.wast:402 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x41\x00\x04\x40\x41\x01\x0b\x0b"); + +// unreached-invalid.wast:408 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x04\x7f\x43\x00\x00\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:414 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x04\x40\x02\x40\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:420 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x41\x00\x04\x7f\x02\x7f\x43\x00\x00\x00\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:426 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x41\x00\x04\x40\x03\x40\x41\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:432 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x41\x00\x04\x7f\x03\x7f\x43\x00\x00\x00\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:439 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x41\x01\x0f\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x0f\x0b"); + +// unreached-invalid.wast:446 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x9a\x80\x80\x80\x00\x01\x94\x80\x80\x80\x00\x00\x02\x7f\x41\x01\x0c\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x0c\x00\x0b\x0b"); + +// unreached-invalid.wast:453 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x40\x00\x43\x00\x00\x00\x00\x0d\x00\x0b\x0b"); + +// unreached-invalid.wast:459 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x40\x00\x43\x00\x00\x80\x3f\x0e\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:465 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x7f\x00\x43\x00\x00\x00\x00\x41\x01\x0e\x00\x00\x0b\x0b"); + +// unreached-invalid.wast:471 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x02\x7d\x00\x41\x01\x0e\x02\x00\x01\x00\x0b\x1a\x0b\x0b"); + +// unreached-invalid.wast:483 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\xa1\x80\x80\x80\x00\x01\x9b\x80\x80\x80\x00\x00\x02\x7c\x02\x7d\x00\x41\x01\x0e\x02\x00\x01\x01\x0b\x1a\x44\x00\x00\x00\x00\x00\x00\x00\x00\x0b\x1a\x0b"); + +// unreached-invalid.wast:498 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:504 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x02\x40\x02\x40\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:510 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x7e\x42\x00\x02\x40\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:516 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x42\x01\x00\x0b\x0b\x41\x09\x0b"); + +// unreached-invalid.wast:523 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x0c\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:529 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x92\x80\x80\x80\x00\x01\x8c\x80\x80\x80\x00\x00\x02\x7f\x02\x40\x41\x00\x0c\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:535 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x94\x80\x80\x80\x00\x01\x8e\x80\x80\x80\x00\x00\x02\x7f\x42\x00\x02\x40\x41\x00\x0c\x01\x0b\x0b\x0b"); + +// unreached-invalid.wast:542 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x40\x02\x40\x41\x03\x02\x40\x0c\x02\x0b\x0b\x0b\x0b"); + +// unreached-invalid.wast:548 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x95\x80\x80\x80\x00\x01\x8f\x80\x80\x80\x00\x00\x02\x7f\x02\x40\x02\x40\x41\x00\x0c\x02\x0b\x0b\x0b\x0b"); + +// unreached-invalid.wast:554 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x7f\x02\x7e\x42\x00\x02\x40\x41\x00\x0c\x02\x0b\x0b\x0b\x0b"); + +// unreached-invalid.wast:562 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x96\x80\x80\x80\x00\x01\x90\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x42\x01\x0c\x01\x0b\x0b\x41\x09\x0b"); + +// unreached-invalid.wast:569 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x0f\x0b\x0b\x0b"); + +// unreached-invalid.wast:575 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x02\x40\x02\x40\x41\x00\x0f\x0b\x0b\x0b"); + +// unreached-invalid.wast:581 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x93\x80\x80\x80\x00\x01\x8d\x80\x80\x80\x00\x00\x02\x7e\x42\x00\x02\x40\x41\x00\x0f\x0b\x0b\x0b"); + +// unreached-invalid.wast:587 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x97\x80\x80\x80\x00\x01\x91\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x42\x01\x41\x00\x0f\x0b\x0b\x41\x09\x0b"); + +// unreached-invalid.wast:595 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x84\x80\x80\x80\x00\x01\x60\x00\x00\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x03\x40\x41\x03\x02\x40\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:601 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x03\x40\x02\x40\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:607 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x91\x80\x80\x80\x00\x01\x8b\x80\x80\x80\x00\x00\x03\x7e\x42\x00\x02\x40\x00\x0b\x0b\x0b"); + +// unreached-invalid.wast:614 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8e\x80\x80\x80\x00\x01\x88\x80\x80\x80\x00\x00\x03\x40\x01\x0c\x00\x0b\x0b"); + +// unreached-invalid.wast:620 +assert_invalid("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x85\x80\x80\x80\x00\x01\x60\x00\x01\x7f\x03\x82\x80\x80\x80\x00\x01\x00\x0a\x8f\x80\x80\x80\x00\x01\x89\x80\x80\x80\x00\x00\x03\x40\x41\x00\x0c\x00\x0b\x0b"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/unwind.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/unwind.wast.js new file mode 100644 index 0000000000..e526ef0217 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/unwind.wast.js @@ -0,0 +1,117 @@ + +// unwind.wast:3 +let $1 = instance("\x00\x61\x73\x6d\x01\x00\x00\x00\x01\x88\x80\x80\x80\x00\x02\x60\x00\x00\x60\x00\x01\x7f\x03\xa7\x80\x80\x80\x00\x26\x00\x00\x01\x00\x01\x01\x00\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x01\x07\xf5\x87\x80\x80\x00\x26\x1a\x66\x75\x6e\x63\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x00\x11\x66\x75\x6e\x63\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x00\x01\x17\x66\x75\x6e\x63\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x02\x17\x66\x75\x6e\x63\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x03\x1d\x66\x75\x6e\x63\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x04\x15\x66\x75\x6e\x63\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x72\x65\x74\x75\x72\x6e\x00\x05\x1b\x62\x6c\x6f\x63\x6b\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x06\x12\x62\x6c\x6f\x63\x6b\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x00\x07\x18\x62\x6c\x6f\x63\x6b\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x08\x18\x62\x6c\x6f\x63\x6b\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x09\x1e\x62\x6c\x6f\x63\x6b\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x0a\x16\x62\x6c\x6f\x63\x6b\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x72\x65\x74\x75\x72\x6e\x00\x0b\x22\x62\x6c\x6f\x63\x6b\x2d\x6e\x65\x73\x74\x65\x64\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x0c\x19\x62\x6c\x6f\x63\x6b\x2d\x6e\x65\x73\x74\x65\x64\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x00\x0d\x1f\x62\x6c\x6f\x63\x6b\x2d\x6e\x65\x73\x74\x65\x64\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x2d\x76\x61\x6c\x75\x65\x00\x0e\x1f\x62\x6c\x6f\x63\x6b\x2d\x6e\x65\x73\x74\x65\x64\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x0f\x25\x62\x6c\x6f\x63\x6b\x2d\x6e\x65\x73\x74\x65\x64\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x2d\x76\x61\x6c\x75\x65\x00\x10\x1d\x62\x6c\x6f\x63\x6b\x2d\x6e\x65\x73\x74\x65\x64\x2d\x75\x6e\x77\x69\x6e\x64\x2d\x62\x79\x2d\x72\x65\x74\x75\x72\x6e\x00\x11\x17\x75\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x12\x0e\x75\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x00\x13\x14\x75\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x14\x12\x75\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x72\x65\x74\x75\x72\x6e\x00\x15\x18\x62\x69\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x16\x0f\x62\x69\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x00\x17\x15\x62\x69\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x18\x13\x62\x69\x6e\x61\x72\x79\x2d\x61\x66\x74\x65\x72\x2d\x72\x65\x74\x75\x72\x6e\x00\x19\x18\x73\x65\x6c\x65\x63\x74\x2d\x61\x66\x74\x65\x72\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x1a\x0f\x73\x65\x6c\x65\x63\x74\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x00\x1b\x15\x73\x65\x6c\x65\x63\x74\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x1c\x13\x73\x65\x6c\x65\x63\x74\x2d\x61\x66\x74\x65\x72\x2d\x72\x65\x74\x75\x72\x6e\x00\x1d\x1d\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x1e\x14\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x00\x1f\x1a\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x20\x18\x62\x6c\x6f\x63\x6b\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x72\x65\x74\x75\x72\x6e\x00\x21\x1c\x6c\x6f\x6f\x70\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x75\x6e\x72\x65\x61\x63\x68\x61\x62\x6c\x65\x00\x22\x13\x6c\x6f\x6f\x70\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x00\x23\x19\x6c\x6f\x6f\x70\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x62\x72\x5f\x74\x61\x62\x6c\x65\x00\x24\x17\x6c\x6f\x6f\x70\x2d\x76\x61\x6c\x75\x65\x2d\x61\x66\x74\x65\x72\x2d\x72\x65\x74\x75\x72\x6e\x00\x25\x0a\x93\x86\x80\x80\x00\x26\x87\x80\x80\x80\x00\x00\x41\x03\x42\x01\x00\x0b\x88\x80\x80\x80\x00\x00\x41\x03\x42\x01\x0c\x00\x0b\x8a\x80\x80\x80\x00\x00\x41\x03\x42\x01\x41\x09\x0c\x00\x0b\x8b\x80\x80\x80\x00\x00\x41\x03\x42\x01\x41\x00\x0e\x00\x00\x0b\x8d\x80\x80\x80\x00\x00\x41\x03\x42\x01\x41\x09\x41\x00\x0e\x00\x00\x0b\x89\x80\x80\x80\x00\x00\x41\x03\x42\x01\x41\x09\x0f\x0b\x8a\x80\x80\x80\x00\x00\x02\x40\x41\x03\x42\x01\x00\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x40\x41\x03\x42\x01\x0c\x00\x0b\x41\x09\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x42\x01\x41\x09\x0c\x00\x0b\x0b\x90\x80\x80\x80\x00\x00\x02\x40\x41\x03\x42\x01\x41\x00\x0e\x00\x00\x0b\x41\x09\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x42\x01\x41\x09\x41\x00\x0e\x00\x00\x0b\x0b\x8c\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x42\x01\x41\x09\x0f\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x02\x40\x42\x01\x00\x0b\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x42\x01\x0c\x01\x0b\x1a\x0b\x41\x09\x0b\x90\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x02\x40\x42\x01\x41\x09\x0c\x01\x0b\x0b\x0b\x94\x80\x80\x80\x00\x00\x02\x40\x41\x03\x02\x40\x42\x01\x41\x01\x0e\x00\x01\x0b\x1a\x0b\x41\x09\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x02\x40\x42\x01\x41\x09\x41\x01\x0e\x00\x01\x0b\x0b\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x41\x03\x02\x40\x42\x01\x41\x09\x0f\x0b\x0b\x0b\x89\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x00\x50\x0b\x8f\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x41\x09\x0c\x00\x50\x0b\x0b\x93\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x41\x09\x41\x00\x0e\x01\x00\x00\x50\x0b\x0b\x8b\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x41\x09\x0f\x50\x0b\x92\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x00\x51\x0b\x98\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x09\x0c\x00\x51\x0b\x0b\x9b\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x09\x41\x00\x0e\x00\x00\x51\x0b\x0b\x94\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x41\x09\x0f\x51\x0b\x94\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x42\x00\x00\x1b\x0b\x9a\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x42\x00\x41\x09\x0c\x00\x1b\x0b\x0b\x9d\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x42\x00\x41\x09\x41\x00\x0e\x00\x00\x1b\x0b\x0b\x96\x80\x80\x80\x00\x00\x43\x00\x00\x00\x00\x44\x00\x00\x00\x00\x00\x00\xf0\x3f\x42\x01\x41\x09\x0f\x1b\x0b\x8b\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x00\x0b\x0b\x8e\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x41\x09\x0c\x00\x0b\x0b\x92\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x41\x09\x41\x00\x0e\x01\x00\x00\x0b\x0b\x8d\x80\x80\x80\x00\x00\x02\x7f\x43\x00\x00\x00\x00\x41\x09\x0f\x0b\x0b\x8b\x80\x80\x80\x00\x00\x03\x7f\x43\x00\x00\x00\x00\x00\x0b\x0b\x91\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x43\x00\x00\x00\x00\x41\x09\x0c\x01\x0b\x0b\x0b\x95\x80\x80\x80\x00\x00\x02\x7f\x03\x7f\x43\x00\x00\x00\x00\x41\x09\x41\x00\x0e\x01\x01\x01\x0b\x0b\x0b\x8d\x80\x80\x80\x00\x00\x03\x7f\x43\x00\x00\x00\x00\x41\x09\x0f\x0b\x0b"); + +// unwind.wast:159 +assert_trap(() => call($1, "func-unwind-by-unreachable", [])); + +// unwind.wast:160 +assert_return(() => call($1, "func-unwind-by-br", [])); + +// unwind.wast:161 +assert_return(() => call($1, "func-unwind-by-br-value", []), 9); + +// unwind.wast:162 +assert_return(() => call($1, "func-unwind-by-br_table", [])); + +// unwind.wast:163 +assert_return(() => call($1, "func-unwind-by-br_table-value", []), 9); + +// unwind.wast:164 +assert_return(() => call($1, "func-unwind-by-return", []), 9); + +// unwind.wast:166 +assert_trap(() => call($1, "block-unwind-by-unreachable", [])); + +// unwind.wast:167 +assert_return(() => call($1, "block-unwind-by-br", []), 9); + +// unwind.wast:168 +assert_return(() => call($1, "block-unwind-by-br-value", []), 9); + +// unwind.wast:169 +assert_return(() => call($1, "block-unwind-by-br_table", []), 9); + +// unwind.wast:170 +assert_return(() => call($1, "block-unwind-by-br_table-value", []), 9); + +// unwind.wast:171 +assert_return(() => call($1, "block-unwind-by-return", []), 9); + +// unwind.wast:173 +assert_trap(() => call($1, "block-nested-unwind-by-unreachable", [])); + +// unwind.wast:174 +assert_return(() => call($1, "block-nested-unwind-by-br", []), 9); + +// unwind.wast:175 +assert_return(() => call($1, "block-nested-unwind-by-br-value", []), 9); + +// unwind.wast:176 +assert_return(() => call($1, "block-nested-unwind-by-br_table", []), 9); + +// unwind.wast:177 +assert_return(() => call($1, "block-nested-unwind-by-br_table-value", []), 9); + +// unwind.wast:178 +assert_return(() => call($1, "block-nested-unwind-by-return", []), 9); + +// unwind.wast:180 +assert_trap(() => call($1, "unary-after-unreachable", [])); + +// unwind.wast:181 +assert_return(() => call($1, "unary-after-br", []), 9); + +// unwind.wast:182 +assert_return(() => call($1, "unary-after-br_table", []), 9); + +// unwind.wast:183 +assert_return(() => call($1, "unary-after-return", []), 9); + +// unwind.wast:185 +assert_trap(() => call($1, "binary-after-unreachable", [])); + +// unwind.wast:186 +assert_return(() => call($1, "binary-after-br", []), 9); + +// unwind.wast:187 +assert_return(() => call($1, "binary-after-br_table", []), 9); + +// unwind.wast:188 +assert_return(() => call($1, "binary-after-return", []), 9); + +// unwind.wast:190 +assert_trap(() => call($1, "select-after-unreachable", [])); + +// unwind.wast:191 +assert_return(() => call($1, "select-after-br", []), 9); + +// unwind.wast:192 +assert_return(() => call($1, "select-after-br_table", []), 9); + +// unwind.wast:193 +assert_return(() => call($1, "select-after-return", []), 9); + +// unwind.wast:195 +assert_trap(() => call($1, "block-value-after-unreachable", [])); + +// unwind.wast:196 +assert_return(() => call($1, "block-value-after-br", []), 9); + +// unwind.wast:197 +assert_return(() => call($1, "block-value-after-br_table", []), 9); + +// unwind.wast:198 +assert_return(() => call($1, "block-value-after-return", []), 9); + +// unwind.wast:200 +assert_trap(() => call($1, "loop-value-after-unreachable", [])); + +// unwind.wast:201 +assert_return(() => call($1, "loop-value-after-br", []), 9); + +// unwind.wast:202 +assert_return(() => call($1, "loop-value-after-br_table", []), 9); + +// unwind.wast:203 +assert_return(() => call($1, "loop-value-after-return", []), 9); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-custom-section-id.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-custom-section-id.wast.js new file mode 100644 index 0000000000..3e13182d33 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-custom-section-id.wast.js @@ -0,0 +1,528 @@ + +// utf8-custom-section-id.wast:6 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\x80"); + +// utf8-custom-section-id.wast:16 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\x8f"); + +// utf8-custom-section-id.wast:26 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\x90"); + +// utf8-custom-section-id.wast:36 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\x9f"); + +// utf8-custom-section-id.wast:46 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xa0"); + +// utf8-custom-section-id.wast:56 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xbf"); + +// utf8-custom-section-id.wast:68 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xc2\x80\x80"); + +// utf8-custom-section-id.wast:78 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xc2"); + +// utf8-custom-section-id.wast:88 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc2\x2e"); + +// utf8-custom-section-id.wast:100 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc0\x80"); + +// utf8-custom-section-id.wast:110 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc0\xbf"); + +// utf8-custom-section-id.wast:120 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc1\x80"); + +// utf8-custom-section-id.wast:130 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc1\xbf"); + +// utf8-custom-section-id.wast:140 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc2\x00"); + +// utf8-custom-section-id.wast:150 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc2\x7f"); + +// utf8-custom-section-id.wast:160 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc2\xc0"); + +// utf8-custom-section-id.wast:170 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xc2\xfd"); + +// utf8-custom-section-id.wast:180 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xdf\x00"); + +// utf8-custom-section-id.wast:190 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xdf\x7f"); + +// utf8-custom-section-id.wast:200 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xdf\xc0"); + +// utf8-custom-section-id.wast:210 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xdf\xfd"); + +// utf8-custom-section-id.wast:222 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xe1\x80\x80\x80"); + +// utf8-custom-section-id.wast:232 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xe1\x80"); + +// utf8-custom-section-id.wast:242 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x80\x2e"); + +// utf8-custom-section-id.wast:252 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xe1"); + +// utf8-custom-section-id.wast:262 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xe1\x2e"); + +// utf8-custom-section-id.wast:274 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\x00\xa0"); + +// utf8-custom-section-id.wast:284 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\x7f\xa0"); + +// utf8-custom-section-id.wast:294 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\x80\x80"); + +// utf8-custom-section-id.wast:304 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\x80\xa0"); + +// utf8-custom-section-id.wast:314 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\x9f\xa0"); + +// utf8-custom-section-id.wast:324 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\x9f\xbf"); + +// utf8-custom-section-id.wast:334 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\xc0\xa0"); + +// utf8-custom-section-id.wast:344 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\xfd\xa0"); + +// utf8-custom-section-id.wast:354 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x00\x80"); + +// utf8-custom-section-id.wast:364 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x7f\x80"); + +// utf8-custom-section-id.wast:374 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\xc0\x80"); + +// utf8-custom-section-id.wast:384 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\xfd\x80"); + +// utf8-custom-section-id.wast:394 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\x00\x80"); + +// utf8-custom-section-id.wast:404 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\x7f\x80"); + +// utf8-custom-section-id.wast:414 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\xc0\x80"); + +// utf8-custom-section-id.wast:424 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\xfd\x80"); + +// utf8-custom-section-id.wast:434 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\x00\x80"); + +// utf8-custom-section-id.wast:444 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\x7f\x80"); + +// utf8-custom-section-id.wast:454 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\xa0\x80"); + +// utf8-custom-section-id.wast:464 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\xa0\xbf"); + +// utf8-custom-section-id.wast:474 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\xbf\x80"); + +// utf8-custom-section-id.wast:484 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\xbf\xbf"); + +// utf8-custom-section-id.wast:494 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\xc0\x80"); + +// utf8-custom-section-id.wast:504 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\xfd\x80"); + +// utf8-custom-section-id.wast:514 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\x00\x80"); + +// utf8-custom-section-id.wast:524 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\x7f\x80"); + +// utf8-custom-section-id.wast:534 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\xc0\x80"); + +// utf8-custom-section-id.wast:544 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\xfd\x80"); + +// utf8-custom-section-id.wast:554 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\x00\x80"); + +// utf8-custom-section-id.wast:564 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\x7f\x80"); + +// utf8-custom-section-id.wast:574 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\xc0\x80"); + +// utf8-custom-section-id.wast:584 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\xfd\x80"); + +// utf8-custom-section-id.wast:596 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\xa0\x00"); + +// utf8-custom-section-id.wast:606 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\xa0\x7f"); + +// utf8-custom-section-id.wast:616 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\xa0\xc0"); + +// utf8-custom-section-id.wast:626 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe0\xa0\xfd"); + +// utf8-custom-section-id.wast:636 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x80\x00"); + +// utf8-custom-section-id.wast:646 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x80\x7f"); + +// utf8-custom-section-id.wast:656 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x80\xc0"); + +// utf8-custom-section-id.wast:666 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xe1\x80\xfd"); + +// utf8-custom-section-id.wast:676 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\x80\x00"); + +// utf8-custom-section-id.wast:686 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\x80\x7f"); + +// utf8-custom-section-id.wast:696 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\x80\xc0"); + +// utf8-custom-section-id.wast:706 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xec\x80\xfd"); + +// utf8-custom-section-id.wast:716 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\x80\x00"); + +// utf8-custom-section-id.wast:726 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\x80\x7f"); + +// utf8-custom-section-id.wast:736 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\x80\xc0"); + +// utf8-custom-section-id.wast:746 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xed\x80\xfd"); + +// utf8-custom-section-id.wast:756 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\x80\x00"); + +// utf8-custom-section-id.wast:766 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\x80\x7f"); + +// utf8-custom-section-id.wast:776 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\x80\xc0"); + +// utf8-custom-section-id.wast:786 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xee\x80\xfd"); + +// utf8-custom-section-id.wast:796 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\x80\x00"); + +// utf8-custom-section-id.wast:806 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\x80\x7f"); + +// utf8-custom-section-id.wast:816 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\x80\xc0"); + +// utf8-custom-section-id.wast:826 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xef\x80\xfd"); + +// utf8-custom-section-id.wast:838 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x06\x05\xf1\x80\x80\x80\x80"); + +// utf8-custom-section-id.wast:848 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xf1\x80\x80"); + +// utf8-custom-section-id.wast:858 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x80\x23"); + +// utf8-custom-section-id.wast:868 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xf1\x80"); + +// utf8-custom-section-id.wast:878 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xf1\x80\x23"); + +// utf8-custom-section-id.wast:888 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xf1"); + +// utf8-custom-section-id.wast:898 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xf1\x23"); + +// utf8-custom-section-id.wast:910 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x00\x90\x90"); + +// utf8-custom-section-id.wast:920 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x7f\x90\x90"); + +// utf8-custom-section-id.wast:930 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x80\x80\x80"); + +// utf8-custom-section-id.wast:940 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x80\x90\x90"); + +// utf8-custom-section-id.wast:950 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x8f\x90\x90"); + +// utf8-custom-section-id.wast:960 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x8f\xbf\xbf"); + +// utf8-custom-section-id.wast:970 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\xc0\x90\x90"); + +// utf8-custom-section-id.wast:980 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\xfd\x90\x90"); + +// utf8-custom-section-id.wast:990 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x00\x80\x80"); + +// utf8-custom-section-id.wast:1000 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x7f\x80\x80"); + +// utf8-custom-section-id.wast:1010 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\xc0\x80\x80"); + +// utf8-custom-section-id.wast:1020 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\xfd\x80\x80"); + +// utf8-custom-section-id.wast:1030 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x00\x80\x80"); + +// utf8-custom-section-id.wast:1040 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x7f\x80\x80"); + +// utf8-custom-section-id.wast:1050 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\xc0\x80\x80"); + +// utf8-custom-section-id.wast:1060 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\xfd\x80\x80"); + +// utf8-custom-section-id.wast:1070 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x00\x80\x80"); + +// utf8-custom-section-id.wast:1080 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x7f\x80\x80"); + +// utf8-custom-section-id.wast:1090 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x90\x80\x80"); + +// utf8-custom-section-id.wast:1100 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\xbf\x80\x80"); + +// utf8-custom-section-id.wast:1110 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\xc0\x80\x80"); + +// utf8-custom-section-id.wast:1120 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\xfd\x80\x80"); + +// utf8-custom-section-id.wast:1130 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf5\x80\x80\x80"); + +// utf8-custom-section-id.wast:1140 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf7\x80\x80\x80"); + +// utf8-custom-section-id.wast:1150 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf7\xbf\xbf\xbf"); + +// utf8-custom-section-id.wast:1162 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\x00\x90"); + +// utf8-custom-section-id.wast:1172 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\x7f\x90"); + +// utf8-custom-section-id.wast:1182 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\xc0\x90"); + +// utf8-custom-section-id.wast:1192 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\xfd\x90"); + +// utf8-custom-section-id.wast:1202 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x00\x80"); + +// utf8-custom-section-id.wast:1212 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x7f\x80"); + +// utf8-custom-section-id.wast:1222 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\xc0\x80"); + +// utf8-custom-section-id.wast:1232 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\xfd\x80"); + +// utf8-custom-section-id.wast:1242 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\x00\x80"); + +// utf8-custom-section-id.wast:1252 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\x7f\x80"); + +// utf8-custom-section-id.wast:1262 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\xc0\x80"); + +// utf8-custom-section-id.wast:1272 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\xfd\x80"); + +// utf8-custom-section-id.wast:1282 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\x00\x80"); + +// utf8-custom-section-id.wast:1292 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\x7f\x80"); + +// utf8-custom-section-id.wast:1302 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\xc0\x80"); + +// utf8-custom-section-id.wast:1312 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\xfd\x80"); + +// utf8-custom-section-id.wast:1324 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\x90\x00"); + +// utf8-custom-section-id.wast:1334 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\x90\x7f"); + +// utf8-custom-section-id.wast:1344 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\x90\xc0"); + +// utf8-custom-section-id.wast:1354 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf0\x90\x90\xfd"); + +// utf8-custom-section-id.wast:1364 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x80\x00"); + +// utf8-custom-section-id.wast:1374 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x80\x7f"); + +// utf8-custom-section-id.wast:1384 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x80\xc0"); + +// utf8-custom-section-id.wast:1394 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf1\x80\x80\xfd"); + +// utf8-custom-section-id.wast:1404 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\x80\x00"); + +// utf8-custom-section-id.wast:1414 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\x80\x7f"); + +// utf8-custom-section-id.wast:1424 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\x80\xc0"); + +// utf8-custom-section-id.wast:1434 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf3\x80\x80\xfd"); + +// utf8-custom-section-id.wast:1444 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\x80\x00"); + +// utf8-custom-section-id.wast:1454 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\x80\x7f"); + +// utf8-custom-section-id.wast:1464 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\x80\xc0"); + +// utf8-custom-section-id.wast:1474 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf4\x80\x80\xfd"); + +// utf8-custom-section-id.wast:1486 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x07\x06\xf8\x80\x80\x80\x80\x80"); + +// utf8-custom-section-id.wast:1496 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf8\x80\x80\x80"); + +// utf8-custom-section-id.wast:1506 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x06\x05\xf8\x80\x80\x80\x23"); + +// utf8-custom-section-id.wast:1516 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xf8\x80\x80"); + +// utf8-custom-section-id.wast:1526 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xf8\x80\x80\x23"); + +// utf8-custom-section-id.wast:1536 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xf8\x80"); + +// utf8-custom-section-id.wast:1546 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xf8\x80\x23"); + +// utf8-custom-section-id.wast:1556 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xf8"); + +// utf8-custom-section-id.wast:1566 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xf8\x23"); + +// utf8-custom-section-id.wast:1578 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x06\x05\xf8\x80\x80\x80\x80"); + +// utf8-custom-section-id.wast:1588 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x06\x05\xfb\xbf\xbf\xbf\xbf"); + +// utf8-custom-section-id.wast:1600 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x08\x07\xfc\x80\x80\x80\x80\x80\x80"); + +// utf8-custom-section-id.wast:1610 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x06\x05\xfc\x80\x80\x80\x80"); + +// utf8-custom-section-id.wast:1620 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x07\x06\xfc\x80\x80\x80\x80\x23"); + +// utf8-custom-section-id.wast:1630 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xfc\x80\x80\x80"); + +// utf8-custom-section-id.wast:1640 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x06\x05\xfc\x80\x80\x80\x23"); + +// utf8-custom-section-id.wast:1650 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xfc\x80\x80"); + +// utf8-custom-section-id.wast:1660 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xfc\x80\x80\x23"); + +// utf8-custom-section-id.wast:1670 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xfc\x80"); + +// utf8-custom-section-id.wast:1680 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x04\x03\xfc\x80\x23"); + +// utf8-custom-section-id.wast:1690 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xfc"); + +// utf8-custom-section-id.wast:1700 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xfc\x23"); + +// utf8-custom-section-id.wast:1712 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x07\x06\xfc\x80\x80\x80\x80\x80"); + +// utf8-custom-section-id.wast:1722 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x07\x06\xfd\xbf\xbf\xbf\xbf\xbf"); + +// utf8-custom-section-id.wast:1734 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xfe"); + +// utf8-custom-section-id.wast:1744 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x02\x01\xff"); + +// utf8-custom-section-id.wast:1754 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xfe\xff"); + +// utf8-custom-section-id.wast:1764 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\x00\x00\xfe\xff"); + +// utf8-custom-section-id.wast:1774 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x03\x02\xff\xfe"); + +// utf8-custom-section-id.wast:1784 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x00\x05\x04\xff\xfe\x00\x00"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-field.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-field.wast.js new file mode 100644 index 0000000000..405b74ca70 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-field.wast.js @@ -0,0 +1,528 @@ + +// utf8-import-field.wast:6 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:21 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\x8f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:36 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:51 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\x9f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:66 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:81 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:98 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xc2\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:113 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xc2\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:128 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc2\x2e\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:145 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:160 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc0\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:175 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc1\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:190 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc1\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:205 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc2\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:220 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc2\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:235 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc2\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:250 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xc2\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:265 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xdf\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:280 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xdf\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:295 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xdf\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:310 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xdf\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:327 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xe1\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:342 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xe1\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:357 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x80\x2e\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:372 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xe1\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:387 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xe1\x2e\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:404 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\x00\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:419 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\x7f\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:434 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:449 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\x80\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:464 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\x9f\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:479 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\x9f\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:494 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\xc0\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:509 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\xfd\xa0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:524 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:539 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:554 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:569 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:584 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:599 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:614 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:629 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:644 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:659 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:674 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\xa0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:689 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\xa0\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:704 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\xbf\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:719 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\xbf\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:734 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:749 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:764 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:779 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:794 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:809 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:824 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:839 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:854 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:869 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:886 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\xa0\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:901 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\xa0\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:916 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\xa0\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:931 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe0\xa0\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:946 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:961 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:976 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:991 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xe1\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1006 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1021 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1036 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1051 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xec\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1066 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1081 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1096 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1111 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xed\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1126 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1141 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1156 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1171 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xee\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1186 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1201 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1216 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1231 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xef\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1248 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x05\xf1\x80\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1263 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xf1\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1278 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1293 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xf1\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1308 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xf1\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1323 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xf1\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1338 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xf1\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1355 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x00\x90\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1370 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x7f\x90\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1385 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1400 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x80\x90\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1415 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x8f\x90\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1430 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x8f\xbf\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1445 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\xc0\x90\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1460 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\xfd\x90\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1475 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x00\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1490 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x7f\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1505 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\xc0\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1520 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\xfd\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1535 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x00\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1550 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x7f\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1565 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\xc0\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1580 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\xfd\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1595 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x00\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1610 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x7f\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1625 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x90\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1640 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\xbf\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1655 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\xc0\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1670 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\xfd\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1685 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf5\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1700 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf7\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1715 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf7\xbf\xbf\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1732 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\x00\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1747 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\x7f\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1762 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\xc0\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1777 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\xfd\x90\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1792 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1807 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1822 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1837 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1852 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1867 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1882 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1897 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1912 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\x00\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1927 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\x7f\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1942 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\xc0\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1957 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\xfd\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1974 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\x90\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:1989 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\x90\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2004 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\x90\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2019 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf0\x90\x90\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2034 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2049 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2064 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2079 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf1\x80\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2094 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2109 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2124 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2139 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf3\x80\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2154 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\x80\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2169 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\x80\x7f\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2184 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\x80\xc0\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2199 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf4\x80\x80\xfd\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2216 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x06\xf8\x80\x80\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2231 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf8\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2246 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x05\xf8\x80\x80\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2261 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xf8\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2276 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xf8\x80\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2291 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xf8\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2306 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xf8\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2321 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xf8\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2336 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xf8\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2353 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x05\xf8\x80\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2368 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x05\xfb\xbf\xbf\xbf\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2385 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x11\x01\x07\xfc\x80\x80\x80\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2400 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x05\xfc\x80\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2415 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x06\xfc\x80\x80\x80\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2430 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xfc\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2445 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x05\xfc\x80\x80\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2460 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xfc\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2475 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xfc\x80\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2490 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xfc\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2505 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x03\xfc\x80\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2520 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xfc\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2535 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xfc\x23\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2552 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x06\xfc\x80\x80\x80\x80\x80\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2567 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x06\xfd\xbf\xbf\xbf\xbf\xbf\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2584 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xfe\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2599 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x01\xff\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2614 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xfe\xff\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2629 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x00\x00\xfe\xff\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2644 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x02\xff\xfe\x04\x74\x65\x73\x74\x03\x7f\x00"); + +// utf8-import-field.wast:2659 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\xff\xfe\x00\x00\x04\x74\x65\x73\x74\x03\x7f\x00"); diff --git a/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-module.wast.js b/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-module.wast.js new file mode 100644 index 0000000000..5a04fdfebe --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/spec-tests/utf8-import-module.wast.js @@ -0,0 +1,528 @@ + +// utf8-import-module.wast:6 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\x80\x03\x7f\x00"); + +// utf8-import-module.wast:21 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\x8f\x03\x7f\x00"); + +// utf8-import-module.wast:36 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\x90\x03\x7f\x00"); + +// utf8-import-module.wast:51 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\x9f\x03\x7f\x00"); + +// utf8-import-module.wast:66 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:81 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:98 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xc2\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:113 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xc2\x03\x7f\x00"); + +// utf8-import-module.wast:128 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc2\x2e\x03\x7f\x00"); + +// utf8-import-module.wast:145 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:160 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc0\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:175 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc1\x80\x03\x7f\x00"); + +// utf8-import-module.wast:190 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc1\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:205 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc2\x00\x03\x7f\x00"); + +// utf8-import-module.wast:220 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc2\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:235 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc2\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:250 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xc2\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:265 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xdf\x00\x03\x7f\x00"); + +// utf8-import-module.wast:280 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xdf\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:295 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xdf\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:310 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xdf\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:327 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xe1\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:342 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xe1\x80\x03\x7f\x00"); + +// utf8-import-module.wast:357 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x80\x2e\x03\x7f\x00"); + +// utf8-import-module.wast:372 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xe1\x03\x7f\x00"); + +// utf8-import-module.wast:387 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xe1\x2e\x03\x7f\x00"); + +// utf8-import-module.wast:404 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\x00\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:419 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\x7f\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:434 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:449 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\x80\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:464 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\x9f\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:479 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\x9f\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:494 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\xc0\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:509 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\xfd\xa0\x03\x7f\x00"); + +// utf8-import-module.wast:524 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:539 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:554 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:569 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:584 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:599 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:614 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:629 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:644 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:659 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:674 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\xa0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:689 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\xa0\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:704 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\xbf\x80\x03\x7f\x00"); + +// utf8-import-module.wast:719 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\xbf\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:734 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:749 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:764 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:779 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:794 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:809 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:824 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:839 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:854 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:869 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:886 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\xa0\x00\x03\x7f\x00"); + +// utf8-import-module.wast:901 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\xa0\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:916 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\xa0\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:931 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe0\xa0\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:946 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:961 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:976 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:991 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xe1\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:1006 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:1021 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:1036 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:1051 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xec\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:1066 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:1081 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:1096 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:1111 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xed\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:1126 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:1141 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:1156 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:1171 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xee\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:1186 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:1201 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:1216 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:1231 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xef\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:1248 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x04\x74\x65\x73\x74\x05\xf1\x80\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1263 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xf1\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1278 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:1293 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xf1\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1308 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xf1\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:1323 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xf1\x03\x7f\x00"); + +// utf8-import-module.wast:1338 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xf1\x23\x03\x7f\x00"); + +// utf8-import-module.wast:1355 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x00\x90\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1370 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x7f\x90\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1385 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1400 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x80\x90\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1415 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x8f\x90\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1430 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x8f\xbf\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:1445 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\xc0\x90\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1460 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\xfd\x90\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1475 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x00\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1490 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x7f\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1505 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\xc0\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1520 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\xfd\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1535 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x00\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1550 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x7f\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1565 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\xc0\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1580 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\xfd\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1595 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x00\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1610 +// FIXME https://bugs.webkit.org/show_bug.cgi?id=173285 assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x7f\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1625 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x90\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1640 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\xbf\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1655 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\xc0\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1670 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\xfd\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1685 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf5\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1700 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf7\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1715 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf7\xbf\xbf\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:1732 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\x00\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1747 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\x7f\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1762 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\xc0\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1777 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\xfd\x90\x03\x7f\x00"); + +// utf8-import-module.wast:1792 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1807 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1822 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1837 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1852 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1867 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1882 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1897 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1912 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\x00\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1927 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\x7f\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1942 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\xc0\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1957 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\xfd\x80\x03\x7f\x00"); + +// utf8-import-module.wast:1974 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\x90\x00\x03\x7f\x00"); + +// utf8-import-module.wast:1989 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\x90\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:2004 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\x90\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:2019 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf0\x90\x90\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:2034 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:2049 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:2064 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:2079 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf1\x80\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:2094 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:2109 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:2124 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:2139 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf3\x80\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:2154 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\x80\x00\x03\x7f\x00"); + +// utf8-import-module.wast:2169 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\x80\x7f\x03\x7f\x00"); + +// utf8-import-module.wast:2184 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\x80\xc0\x03\x7f\x00"); + +// utf8-import-module.wast:2199 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf4\x80\x80\xfd\x03\x7f\x00"); + +// utf8-import-module.wast:2216 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x04\x74\x65\x73\x74\x06\xf8\x80\x80\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2231 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf8\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2246 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x04\x74\x65\x73\x74\x05\xf8\x80\x80\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2261 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xf8\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2276 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xf8\x80\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2291 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xf8\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2306 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xf8\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2321 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xf8\x03\x7f\x00"); + +// utf8-import-module.wast:2336 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xf8\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2353 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x04\x74\x65\x73\x74\x05\xf8\x80\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2368 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x04\x74\x65\x73\x74\x05\xfb\xbf\xbf\xbf\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:2385 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x11\x01\x04\x74\x65\x73\x74\x07\xfc\x80\x80\x80\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2400 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x04\x74\x65\x73\x74\x05\xfc\x80\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2415 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x04\x74\x65\x73\x74\x06\xfc\x80\x80\x80\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2430 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xfc\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2445 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0f\x01\x04\x74\x65\x73\x74\x05\xfc\x80\x80\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2460 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xfc\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2475 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xfc\x80\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2490 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xfc\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2505 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0d\x01\x04\x74\x65\x73\x74\x03\xfc\x80\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2520 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xfc\x03\x7f\x00"); + +// utf8-import-module.wast:2535 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xfc\x23\x03\x7f\x00"); + +// utf8-import-module.wast:2552 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x04\x74\x65\x73\x74\x06\xfc\x80\x80\x80\x80\x80\x03\x7f\x00"); + +// utf8-import-module.wast:2567 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x10\x01\x04\x74\x65\x73\x74\x06\xfd\xbf\xbf\xbf\xbf\xbf\x03\x7f\x00"); + +// utf8-import-module.wast:2584 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xfe\x03\x7f\x00"); + +// utf8-import-module.wast:2599 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0b\x01\x04\x74\x65\x73\x74\x01\xff\x03\x7f\x00"); + +// utf8-import-module.wast:2614 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xfe\xff\x03\x7f\x00"); + +// utf8-import-module.wast:2629 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\x00\x00\xfe\xff\x03\x7f\x00"); + +// utf8-import-module.wast:2644 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0c\x01\x04\x74\x65\x73\x74\x02\xff\xfe\x03\x7f\x00"); + +// utf8-import-module.wast:2659 +assert_malformed("\x00\x61\x73\x6d\x01\x00\x00\x00\x02\x0e\x01\x04\x74\x65\x73\x74\x04\xff\xfe\x00\x00\x03\x7f\x00"); diff --git a/implementation-contributed/javascriptcore/wasm/stress/oom.js b/implementation-contributed/javascriptcore/wasm/stress/oom.js new file mode 100644 index 0000000000..c00bc653e1 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/stress/oom.js @@ -0,0 +1,25 @@ +// We don't need N versions of this simultaneously filling up RAM. +//@ skip + +const verbose = false; + +// Use a full 4GiB so that exhaustion is likely to occur faster. We're not +// guaranteed that we'll get that much virtually allocated to the memory so we +// can't actually check that exhaustion occurs at a particular number of +// memories. +const maximumPages = 65536; + +let memories = []; +try { + while (true) { + let m = new WebAssembly.Memory({ initial: 64, maximum: maximumPages }); + memories.push(m); + if (verbose) + print(`${WebAssemblyMemoryMode(m)} ${memories.length}`); + } +} catch (e) { + if (verbose) + print(`Caught: ${e}`); + if (e.message !== "Out of memory") + throw new Error(`Expected an out of memory error, got ${e} of type ${typeof e}`); +} diff --git a/implementation-contributed/javascriptcore/wasm/test.sh b/implementation-contributed/javascriptcore/wasm/test.sh new file mode 100755 index 0000000000..25f85473f8 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/test.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -e +set -u +set -x + +JSSHELL="${JSSHELL:-jsc}" +find . -name "test_*.js" -type f | sort | \ + xargs -n1 -t -I{} "$JSSHELL" -m {} + +echo "All tests passed" diff --git a/implementation-contributed/javascriptcore/wasm/tier-up/js-to-wasm.js b/implementation-contributed/javascriptcore/wasm/tier-up/js-to-wasm.js new file mode 100644 index 0000000000..a93913970a --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/tier-up/js-to-wasm.js @@ -0,0 +1,25 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +async function test() { + let builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: [], ret: "i32" }) + .I32Const(42) + .Return() + .End() + .End(); + + const bin = builder.WebAssembly().get(); + const {instance} = await WebAssembly.instantiate(bin, {}); + + for (let i = 0; i < 1000000; i++) + assert.eq(instance.exports.foo(), 42); +} + +assert.asyncTest(test()); diff --git a/implementation-contributed/javascriptcore/wasm/tier-up/wasm-to-wasm.js b/implementation-contributed/javascriptcore/wasm/tier-up/wasm-to-wasm.js new file mode 100644 index 0000000000..227d90d7f9 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/tier-up/wasm-to-wasm.js @@ -0,0 +1,47 @@ +import * as assert from '../assert.js'; +import Builder from '../Builder.js'; + +async function test() { + let builder = (new Builder()) + .Type().End() + .Function().End() + .Export() + .Function("foo") + .End() + .Code() + .Function("foo", { params: ["i32"], ret: "i32" }, ["i32"]) + .Block("i32") + .Loop("i32", b => + b.GetLocal(1) + .GetLocal(0) + .I32Eqz() + .BrIf(1) + + .Call(1) + .GetLocal(1) + .I32Add() + .SetLocal(1) + .GetLocal(0) + .I32Const(1) + .I32Sub() + .SetLocal(0) + .Br(0) + + ) + .End() + .End() + .Function("bar", { params: [], ret: "i32" }) + .I32Const(42) + .Return() + .End() + .End() + + const bin = builder.WebAssembly().get(); + const {instance} = await WebAssembly.instantiate(bin, {}); + + const iters = 100000 + for (let i = 0; i < 100; i++) + assert.eq(instance.exports.foo(iters), 42 * iters); +} + +assert.asyncTest(test()); diff --git a/implementation-contributed/javascriptcore/wasm/utilities.js b/implementation-contributed/javascriptcore/wasm/utilities.js new file mode 100644 index 0000000000..bc69ad731e --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/utilities.js @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2016 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +// Portable environment: one of ["node", "web", "worker", "shell"]. +const _environment = + ((typeof process === "object" && typeof require === "function") ? "node" + : (typeof window === "object" ? "web" + : (typeof importScripts === "function" ? "worker" + : "shell"))); + +let _global = (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) + ? ((typeof self !== 'undefined') ? self + : (typeof window !== 'undefined') ? window + : (typeof global !== 'undefined') ? global + : Function('return this')()) + : global; + +const _eval = x => eval.call(null, x); + +const _read = filename => { + switch (_environment) { + case "node": return read(filename); + case "web": // fallthrough + case "worker": let xhr = new XMLHttpRequest(); xhr.open("GET", filename, /*async=*/false); return xhr.responseText; + case "shell": return read(filename); + } +} + +const _load = filename => { + switch (_environment) { + case "node": // fallthrough + case "web": // fallthrough + case "shell": return _eval(_read(filename)); + case "worker": return importScripts(filename); + } +} + +const _json = filename => { + switch (_environment) { + case "node": // fallthrough + case "shell": return JSON.parse(_read(filename)); + case "web": // fallthrough + case "worker": let xhr = new XMLHttpRequest(); xhr.overrideMimeType("application/json"); xhr.open("GET", filename, /*async=*/false); return xhr.response; + } +} + +const _dump = (what, name, pad = ' ') => { + const value = v => { + try { return `"${v}"`; } + catch (e) { return `Error: "${e.message}"`; } + }; + let s = `${pad}${name} ${typeof what}: ${value(what)}`; + for (let p in what) { + s += `\n${pad}${pad}${p}: ${value(what[p])} ${typeof v}`; + s += '\n' + _dump(what[p], p, pad + pad); + } + return s; +}; + +export const toJavaScriptName = name => { + const camelCase = name.replace(/([^a-z0-9].)/g, c => c[1].toUpperCase()); + const CamelCase = camelCase.charAt(0).toUpperCase() + camelCase.slice(1); + return CamelCase; +}; + +// Use underscore names to avoid clashing with builtin names. +export { + _dump as dump, + _eval as eval, + _read as read, + _load as load, + _json as json, + _global as global +}; diff --git a/implementation-contributed/javascriptcore/wasm/wasm.json b/implementation-contributed/javascriptcore/wasm/wasm.json new file mode 100644 index 0000000000..c28b495187 --- /dev/null +++ b/implementation-contributed/javascriptcore/wasm/wasm.json @@ -0,0 +1,217 @@ +{ + "comments": ["This file describes the WebAssembly ISA.", + "Scripts in this folder auto-generate C++ code for JavaScriptCore as well as the testing DSL which WebKit's WebAssembly tests use." + ], + "preamble": [ + { "name": "magic number", "type": "uint32", "value": 1836278016, "description": "NULL character followed by 'asm'" }, + { "name": "version", "type": "uint32", "value": 1, "description": "Version number" } + ], + "type" : { + "i32": { "type": "varint7", "value": -1, "b3type": "B3::Int32" }, + "i64": { "type": "varint7", "value": -2, "b3type": "B3::Int64" }, + "f32": { "type": "varint7", "value": -3, "b3type": "B3::Float" }, + "f64": { "type": "varint7", "value": -4, "b3type": "B3::Double" }, + "anyfunc": { "type": "varint7", "value": -16, "b3type": "B3::Void" }, + "func": { "type": "varint7", "value": -32, "b3type": "B3::Void" }, + "void": { "type": "varint7", "value": -64, "b3type": "B3::Void" } + }, + "value_type": ["i32", "i64", "f32", "f64"], + "block_type": ["i32", "i64", "f32", "f64", "void"], + "elem_type": ["anyfunc"], + "external_kind": { + "Function": { "type": "uint8", "value": 0 }, + "Table": { "type": "uint8", "value": 1 }, + "Memory": { "type": "uint8", "value": 2 }, + "Global": { "type": "uint8", "value": 3 } + }, + "section" : { + "Type": { "type": "varuint7", "value": 1, "description": "Function signature declarations" }, + "Import": { "type": "varuint7", "value": 2, "description": "Import declarations" }, + "Function": { "type": "varuint7", "value": 3, "description": "Function declarations" }, + "Table": { "type": "varuint7", "value": 4, "description": "Indirect function table and other tables" }, + "Memory": { "type": "varuint7", "value": 5, "description": "Memory attributes" }, + "Global": { "type": "varuint7", "value": 6, "description": "Global declarations" }, + "Export": { "type": "varuint7", "value": 7, "description": "Exports" }, + "Start": { "type": "varuint7", "value": 8, "description": "Start function declaration" }, + "Element": { "type": "varuint7", "value": 9, "description": "Elements section" }, + "Code": { "type": "varuint7", "value": 10, "description": "Function bodies (code)" }, + "Data": { "type": "varuint7", "value": 11, "description": "Data segments" } + }, + "opcode": { + "unreachable": { "category": "control", "value": 0, "return": [], "parameter": [], "immediate": [], "description": "trap immediately" }, + "block": { "category": "control", "value": 2, "return": ["control"], "parameter": [], "immediate": [{"name": "sig", "type": "block_type"}], "description": "begin a sequence of expressions, yielding 0 or 1 values" }, + "loop": { "category": "control", "value": 3, "return": ["control"], "parameter": [], "immediate": [{"name": "sig", "type": "block_type"}], "description": "begin a block which can also form control flow loops" }, + "if": { "category": "control", "value": 4, "return": ["control"], "parameter": ["bool"], "immediate": [{"name": "sig", "type": "block_type"}], "description": "begin if expression" }, + "else": { "category": "control", "value": 5, "return": ["control"], "parameter": [], "immediate": [], "description": "begin else expression of if" }, + "select": { "category": "control", "value": 27, "return": ["prev"], "parameter": ["any", "prev", "bool"], "immediate": [], "description": "select one of two values based on condition" }, + "br": { "category": "control", "value": 12, "return": [], "parameter": [], "immediate": [{"name": "relative_depth", "type": "varuint32"}], "description": "break that targets an outer nested block" }, + "br_if": { "category": "control", "value": 13, "return": [], "parameter": [], "immediate": [{"name": "relative_depth", "type": "varuint32"}], "description": "conditional break that targets an outer nested block" }, + "br_table": { "category": "control", "value": 14, "return": [], "parameter": [], "immediate": [{"name": "target_count", "type": "varuint32", "description": "number of entries in the target_table"}, + {"name": "target_table", "type": "varuint32*", "description": "target entries that indicate an outer block or loop to which to break"}, + {"name": "default_target", "type": "varuint32", "description": "an outer block or loop to which to break in the default case"}], + "description": "branch table control flow construct" }, + "return": { "category": "control", "value": 15, "return": [], "parameter": [], "immediate": [], "description": "return zero or one value from this function" }, + "drop": { "category": "control", "value": 26, "return": [], "parameter": ["any"], "immediate": [], "description": "ignore value" }, + "nop": { "category": "control", "value": 1, "return": [], "parameter": [], "immediate": [], "description": "no operation" }, + "end": { "category": "control", "value": 11, "return": [], "parameter": [], "immediate": [], "description": "end a block, loop, or if" }, + "i32.const": { "category": "special", "value": 65, "return": ["i32"], "parameter": [], "immediate": [{"name": "value", "type": "varint32"}], "description": "a constant value interpreted as i32" }, + "i64.const": { "category": "special", "value": 66, "return": ["i64"], "parameter": [], "immediate": [{"name": "value", "type": "varint64"}], "description": "a constant value interpreted as i64" }, + "f64.const": { "category": "special", "value": 68, "return": ["f64"], "parameter": [], "immediate": [{"name": "value", "type": "double"}], "description": "a constant value interpreted as f64" }, + "f32.const": { "category": "special", "value": 67, "return": ["f32"], "parameter": [], "immediate": [{"name": "value", "type": "float"}], "description": "a constant value interpreted as f32" }, + "get_local": { "category": "special", "value": 32, "return": ["any"], "parameter": [], "immediate": [{"name": "local_index", "type": "varuint32"}], "description": "read a local variable or parameter" }, + "set_local": { "category": "special", "value": 33, "return": [], "parameter": ["any"], "immediate": [{"name": "local_index", "type": "varuint32"}], "description": "write a local variable or parameter" }, + "tee_local": { "category": "special", "value": 34, "return": ["any"], "parameter": ["any"], "immediate": [{"name": "local_index", "type": "varuint32"}], "description": "write a local variable or parameter and return the same value" }, + "get_global": { "category": "special", "value": 35, "return": ["any"], "parameter": [], "immediate": [{"name": "global_index", "type": "varuint32"}], "description": "read a global variable" }, + "set_global": { "category": "special", "value": 36, "return": [], "parameter": ["any"], "immediate": [{"name": "global_index", "type": "varuint32"}], "description": "write a global variable" }, + "call": { "category": "call", "value": 16, "return": ["call"], "parameter": ["call"], "immediate": [{"name": "function_index", "type": "varuint32"}], "description": "call a function by its index" }, + "call_indirect": { "category": "call", "value": 17, "return": ["call"], "parameter": ["call"], "immediate": [{"name": "type_index", "type": "varuint32"}, {"name": "reserved", "type": "varuint1"}], "description": "call a function indirect with an expected signature" }, + "i32.load8_s": { "category": "memory", "value": 44, "return": ["i32"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i32.load8_u": { "category": "memory", "value": 45, "return": ["i32"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i32.load16_s": { "category": "memory", "value": 46, "return": ["i32"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i32.load16_u": { "category": "memory", "value": 47, "return": ["i32"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load8_s": { "category": "memory", "value": 48, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load8_u": { "category": "memory", "value": 49, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load16_s": { "category": "memory", "value": 50, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load16_u": { "category": "memory", "value": 51, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load32_s": { "category": "memory", "value": 52, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load32_u": { "category": "memory", "value": 53, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i32.load": { "category": "memory", "value": 40, "return": ["i32"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i64.load": { "category": "memory", "value": 41, "return": ["i64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "f32.load": { "category": "memory", "value": 42, "return": ["f32"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "f64.load": { "category": "memory", "value": 43, "return": ["f64"], "parameter": ["addr"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "load from memory" }, + "i32.store8": { "category": "memory", "value": 58, "return": [], "parameter": ["addr", "i32"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "i32.store16": { "category": "memory", "value": 59, "return": [], "parameter": ["addr", "i32"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "i64.store8": { "category": "memory", "value": 60, "return": [], "parameter": ["addr", "i64"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "i64.store16": { "category": "memory", "value": 61, "return": [], "parameter": ["addr", "i64"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "i64.store32": { "category": "memory", "value": 62, "return": [], "parameter": ["addr", "i64"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "i32.store": { "category": "memory", "value": 54, "return": [], "parameter": ["addr", "i32"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "i64.store": { "category": "memory", "value": 55, "return": [], "parameter": ["addr", "i64"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "f32.store": { "category": "memory", "value": 56, "return": [], "parameter": ["addr", "f32"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "f64.store": { "category": "memory", "value": 57, "return": [], "parameter": ["addr", "f64"], "immediate": [{"name": "flags", "type": "varuint32"}, {"name": "offset", "type": "varuint32"}], "description": "store to memory" }, + "current_memory": { "category": "operation", "value": 63, "return": ["size"], "parameter": [], "immediate": [{"name": "flags", "type": "varuint32"}], "description": "query the size of memory" }, + "grow_memory": { "category": "operation", "value": 64, "return": ["size"], "parameter": ["size"], "immediate": [{"name": "flags", "type": "varuint32"}], "description": "grow the size of memory" }, + "i32.add": { "category": "arithmetic", "value": 106, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Add" }, + "i32.sub": { "category": "arithmetic", "value": 107, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Sub" }, + "i32.mul": { "category": "arithmetic", "value": 108, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Mul" }, + "i32.div_s": { "category": "arithmetic", "value": 109, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [] }, + "i32.div_u": { "category": "arithmetic", "value": 110, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [] }, + "i32.rem_s": { "category": "arithmetic", "value": 111, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [] }, + "i32.rem_u": { "category": "arithmetic", "value": 112, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [] }, + "i32.and": { "category": "arithmetic", "value": 113, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "BitAnd" }, + "i32.or": { "category": "arithmetic", "value": 114, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "BitOr" }, + "i32.xor": { "category": "arithmetic", "value": 115, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "BitXor" }, + "i32.shl": { "category": "arithmetic", "value": 116, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Shl" }, + "i32.shr_u": { "category": "arithmetic", "value": 118, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "ZShr" }, + "i32.shr_s": { "category": "arithmetic", "value": 117, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "SShr" }, + "i32.rotr": { "category": "arithmetic", "value": 120, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "RotR" }, + "i32.rotl": { "category": "arithmetic", "value": 119, "return": ["i32"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "RotL" }, + "i32.eq": { "category": "comparison", "value": 70, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Equal" }, + "i32.ne": { "category": "comparison", "value": 71, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "NotEqual" }, + "i32.lt_s": { "category": "comparison", "value": 72, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "LessThan" }, + "i32.le_s": { "category": "comparison", "value": 76, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "LessEqual" }, + "i32.lt_u": { "category": "comparison", "value": 73, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Below" }, + "i32.le_u": { "category": "comparison", "value": 77, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "BelowEqual" }, + "i32.gt_s": { "category": "comparison", "value": 74, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "GreaterThan" }, + "i32.ge_s": { "category": "comparison", "value": 78, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "GreaterEqual" }, + "i32.gt_u": { "category": "comparison", "value": 75, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "Above" }, + "i32.ge_u": { "category": "comparison", "value": 79, "return": ["bool"], "parameter": ["i32", "i32"], "immediate": [], "b3op": "AboveEqual" }, + "i32.clz": { "category": "arithmetic", "value": 103, "return": ["i32"], "parameter": ["i32"], "immediate": [], "b3op": "Clz" }, + "i32.ctz": { "category": "arithmetic", "value": 104, "return": ["i32"], "parameter": ["i32"], "immediate": [] }, + "i32.popcnt": { "category": "arithmetic", "value": 105, "return": ["i32"], "parameter": ["i32"], "immediate": [] }, + "i32.eqz": { "category": "comparison", "value": 69, "return": ["bool"], "parameter": ["i32"], "immediate": [], "b3op": "Equal(i32(0), @0)" }, + "i64.add": { "category": "arithmetic", "value": 124, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Add" }, + "i64.sub": { "category": "arithmetic", "value": 125, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Sub" }, + "i64.mul": { "category": "arithmetic", "value": 126, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Mul" }, + "i64.div_s": { "category": "arithmetic", "value": 127, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [] }, + "i64.div_u": { "category": "arithmetic", "value": 128, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [] }, + "i64.rem_s": { "category": "arithmetic", "value": 129, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [] }, + "i64.rem_u": { "category": "arithmetic", "value": 130, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [] }, + "i64.and": { "category": "arithmetic", "value": 131, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "BitAnd" }, + "i64.or": { "category": "arithmetic", "value": 132, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "BitOr" }, + "i64.xor": { "category": "arithmetic", "value": 133, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "BitXor" }, + "i64.shl": { "category": "arithmetic", "value": 134, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Shl(@0, Trunc(@1))" }, + "i64.shr_u": { "category": "arithmetic", "value": 136, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "ZShr(@0, Trunc(@1))" }, + "i64.shr_s": { "category": "arithmetic", "value": 135, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "SShr(@0, Trunc(@1))" }, + "i64.rotr": { "category": "arithmetic", "value": 138, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "RotR(@0, Trunc(@1))" }, + "i64.rotl": { "category": "arithmetic", "value": 137, "return": ["i64"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "RotL(@0, Trunc(@1))" }, + "i64.eq": { "category": "comparison", "value": 81, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Equal" }, + "i64.ne": { "category": "comparison", "value": 82, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "NotEqual" }, + "i64.lt_s": { "category": "comparison", "value": 83, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "LessThan" }, + "i64.le_s": { "category": "comparison", "value": 87, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "LessEqual" }, + "i64.lt_u": { "category": "comparison", "value": 84, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Below" }, + "i64.le_u": { "category": "comparison", "value": 88, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "BelowEqual" }, + "i64.gt_s": { "category": "comparison", "value": 85, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "GreaterThan" }, + "i64.ge_s": { "category": "comparison", "value": 89, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "GreaterEqual" }, + "i64.gt_u": { "category": "comparison", "value": 86, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "Above" }, + "i64.ge_u": { "category": "comparison", "value": 90, "return": ["bool"], "parameter": ["i64", "i64"], "immediate": [], "b3op": "AboveEqual" }, + "i64.clz": { "category": "arithmetic", "value": 121, "return": ["i64"], "parameter": ["i64"], "immediate": [], "b3op": "Clz" }, + "i64.ctz": { "category": "arithmetic", "value": 122, "return": ["i64"], "parameter": ["i64"], "immediate": [] }, + "i64.popcnt": { "category": "arithmetic", "value": 123, "return": ["i64"], "parameter": ["i64"], "immediate": [] }, + "i64.eqz": { "category": "comparison", "value": 80, "return": ["bool"], "parameter": ["i64"], "immediate": [], "b3op": "Equal(i64(0), @0)" }, + "f32.add": { "category": "arithmetic", "value": 146, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Add" }, + "f32.sub": { "category": "arithmetic", "value": 147, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Sub" }, + "f32.mul": { "category": "arithmetic", "value": 148, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Mul" }, + "f32.div": { "category": "arithmetic", "value": 149, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Div" }, + "f32.min": { "category": "arithmetic", "value": 150, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1))" }, + "f32.max": { "category": "arithmetic", "value": 151, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0))" }, + "f32.abs": { "category": "arithmetic", "value": 139, "return": ["f32"], "parameter": ["f32"], "immediate": [], "b3op": "Abs" }, + "f32.neg": { "category": "arithmetic", "value": 140, "return": ["f32"], "parameter": ["f32"], "immediate": [], "b3op": "Neg" }, + "f32.copysign": { "category": "arithmetic", "value": 152, "return": ["f32"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i32(0x80000000)), BitAnd(BitwiseCast(@0), i32(0x7fffffff))))" }, + "f32.ceil": { "category": "arithmetic", "value": 141, "return": ["f32"], "parameter": ["f32"], "immediate": [], "b3op": "Ceil" }, + "f32.floor": { "category": "arithmetic", "value": 142, "return": ["f32"], "parameter": ["f32"], "immediate": [], "b3op": "Floor" }, + "f32.trunc": { "category": "arithmetic", "value": 143, "return": ["f32"], "parameter": ["f32"], "immediate": [] }, + "f32.nearest": { "category": "arithmetic", "value": 144, "return": ["f32"], "parameter": ["f32"], "immediate": [] }, + "f32.sqrt": { "category": "arithmetic", "value": 145, "return": ["f32"], "parameter": ["f32"], "immediate": [], "b3op": "Sqrt" }, + "f32.eq": { "category": "comparison", "value": 91, "return": ["bool"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "Equal" }, + "f32.ne": { "category": "comparison", "value": 92, "return": ["bool"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "NotEqual" }, + "f32.lt": { "category": "comparison", "value": 93, "return": ["bool"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "LessThan" }, + "f32.le": { "category": "comparison", "value": 95, "return": ["bool"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "LessEqual" }, + "f32.gt": { "category": "comparison", "value": 94, "return": ["bool"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "GreaterThan" }, + "f32.ge": { "category": "comparison", "value": 96, "return": ["bool"], "parameter": ["f32", "f32"], "immediate": [], "b3op": "GreaterEqual" }, + "f64.add": { "category": "arithmetic", "value": 160, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Add" }, + "f64.sub": { "category": "arithmetic", "value": 161, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Sub" }, + "f64.mul": { "category": "arithmetic", "value": 162, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Mul" }, + "f64.div": { "category": "arithmetic", "value": 163, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Div" }, + "f64.min": { "category": "arithmetic", "value": 164, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Select(Equal(@0, @1), BitOr(@0, @1), Select(LessThan(@0, @1), @0, @1))" }, + "f64.max": { "category": "arithmetic", "value": 165, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Select(Equal(@0, @1), BitAnd(@0, @1), Select(LessThan(@0, @1), @1, @0))" }, + "f64.abs": { "category": "arithmetic", "value": 153, "return": ["f64"], "parameter": ["f64"], "immediate": [], "b3op": "Abs" }, + "f64.neg": { "category": "arithmetic", "value": 154, "return": ["f64"], "parameter": ["f64"], "immediate": [], "b3op": "Neg" }, + "f64.copysign": { "category": "arithmetic", "value": 166, "return": ["f64"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "BitwiseCast(BitOr(BitAnd(BitwiseCast(@1), i64(0x8000000000000000)), BitAnd(BitwiseCast(@0), i64(0x7fffffffffffffff))))" }, + "f64.ceil": { "category": "arithmetic", "value": 155, "return": ["f64"], "parameter": ["f64"], "immediate": [], "b3op": "Ceil" }, + "f64.floor": { "category": "arithmetic", "value": 156, "return": ["f64"], "parameter": ["f64"], "immediate": [], "b3op": "Floor" }, + "f64.trunc": { "category": "arithmetic", "value": 157, "return": ["f64"], "parameter": ["f64"], "immediate": [] }, + "f64.nearest": { "category": "arithmetic", "value": 158, "return": ["f64"], "parameter": ["f64"], "immediate": [] }, + "f64.sqrt": { "category": "arithmetic", "value": 159, "return": ["f64"], "parameter": ["f64"], "immediate": [], "b3op": "Sqrt" }, + "f64.eq": { "category": "comparison", "value": 97, "return": ["bool"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "Equal" }, + "f64.ne": { "category": "comparison", "value": 98, "return": ["bool"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "NotEqual" }, + "f64.lt": { "category": "comparison", "value": 99, "return": ["bool"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "LessThan" }, + "f64.le": { "category": "comparison", "value": 101, "return": ["bool"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "LessEqual" }, + "f64.gt": { "category": "comparison", "value": 100, "return": ["bool"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "GreaterThan" }, + "f64.ge": { "category": "comparison", "value": 102, "return": ["bool"], "parameter": ["f64", "f64"], "immediate": [], "b3op": "GreaterEqual" }, + "i32.trunc_s/f32": { "category": "conversion", "value": 168, "return": ["i32"], "parameter": ["f32"], "immediate": [] }, + "i32.trunc_s/f64": { "category": "conversion", "value": 170, "return": ["i32"], "parameter": ["f64"], "immediate": [] }, + "i32.trunc_u/f32": { "category": "conversion", "value": 169, "return": ["i32"], "parameter": ["f32"], "immediate": [] }, + "i32.trunc_u/f64": { "category": "conversion", "value": 171, "return": ["i32"], "parameter": ["f64"], "immediate": [] }, + "i32.wrap/i64": { "category": "conversion", "value": 167, "return": ["i32"], "parameter": ["i64"], "immediate": [], "b3op": "Trunc" }, + "i64.trunc_s/f32": { "category": "conversion", "value": 174, "return": ["i64"], "parameter": ["f32"], "immediate": [] }, + "i64.trunc_s/f64": { "category": "conversion", "value": 176, "return": ["i64"], "parameter": ["f64"], "immediate": [] }, + "i64.trunc_u/f32": { "category": "conversion", "value": 175, "return": ["i64"], "parameter": ["f32"], "immediate": [] }, + "i64.trunc_u/f64": { "category": "conversion", "value": 177, "return": ["i64"], "parameter": ["f64"], "immediate": [] }, + "i64.extend_s/i32": { "category": "conversion", "value": 172, "return": ["i64"], "parameter": ["i32"], "immediate": [], "b3op": "SExt32" }, + "i64.extend_u/i32": { "category": "conversion", "value": 173, "return": ["i64"], "parameter": ["i32"], "immediate": [], "b3op": "ZExt32" }, + "f32.convert_s/i32": { "category": "conversion", "value": 178, "return": ["f32"], "parameter": ["i32"], "immediate": [], "b3op": "IToF" }, + "f32.convert_u/i32": { "category": "conversion", "value": 179, "return": ["f32"], "parameter": ["i32"], "immediate": [], "b3op": "IToF(ZExt32(@0))" }, + "f32.convert_s/i64": { "category": "conversion", "value": 180, "return": ["f32"], "parameter": ["i64"], "immediate": [], "b3op": "IToF" }, + "f32.convert_u/i64": { "category": "conversion", "value": 181, "return": ["f32"], "parameter": ["i64"], "immediate": [] }, + "f32.demote/f64": { "category": "conversion", "value": 182, "return": ["f32"], "parameter": ["f64"], "immediate": [], "b3op": "DoubleToFloat"}, + "f32.reinterpret/i32": { "category": "conversion", "value": 190, "return": ["f32"], "parameter": ["i32"], "immediate": [], "b3op": "BitwiseCast" }, + "f64.convert_s/i32": { "category": "conversion", "value": 183, "return": ["f64"], "parameter": ["i32"], "immediate": [], "b3op": "IToD" }, + "f64.convert_u/i32": { "category": "conversion", "value": 184, "return": ["f64"], "parameter": ["i32"], "immediate": [], "b3op": "IToD(ZExt32(@0))" }, + "f64.convert_s/i64": { "category": "conversion", "value": 185, "return": ["f64"], "parameter": ["i64"], "immediate": [], "b3op": "IToD" }, + "f64.convert_u/i64": { "category": "conversion", "value": 186, "return": ["f64"], "parameter": ["i64"], "immediate": [] }, + "f64.promote/f32": { "category": "conversion", "value": 187, "return": ["f64"], "parameter": ["f32"], "immediate": [], "b3op": "FloatToDouble"}, + "f64.reinterpret/i64": { "category": "conversion", "value": 191, "return": ["f64"], "parameter": ["i64"], "immediate": [], "b3op": "BitwiseCast" }, + "i32.reinterpret/f32": { "category": "conversion", "value": 188, "return": ["i32"], "parameter": ["f32"], "immediate": [], "b3op": "BitwiseCast" }, + "i64.reinterpret/f64": { "category": "conversion", "value": 189, "return": ["i64"], "parameter": ["f64"], "immediate": [], "b3op": "BitwiseCast" } + } +}